diff --git a/Jenkinsfile b/Jenkinsfile index 0d2d74fbc4..7505174cc8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,11 +4,6 @@ pipeline { } stages { - stage('Check for unused asm') { - steps { - sh './tools/find_unused_asm.sh' - } - } stage('Setup') { steps { sh 'cp /usr/local/etc/roms/baserom_oot.z64 baserom_original.z64' diff --git a/Makefile b/Makefile index 4239c18f53..d04ec7fd3b 100644 --- a/Makefile +++ b/Makefile @@ -7,13 +7,16 @@ SHELL = /bin/bash # 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 +COMPARE := 1 # If NON_MATCHING is 1, define the NON_MATCHING C flag when building -NON_MATCHING ?= 0 +NON_MATCHING := 0 # If ORIG_COMPILER is 1, compile with QEMU_IRIX and the original compiler -ORIG_COMPILER ?= 0 +ORIG_COMPILER := 0 # If COMPILER is "gcc", compile with GCC instead of IDO. -COMPILER ?= ido +COMPILER := ido +# Target game version. Currently only the following version is supported: +# gc-eu-mq-dbg GameCube Europe/PAL Master Quest Debug (default) +VERSION := gc-eu-mq-dbg CFLAGS ?= CPPFLAGS ?= @@ -33,7 +36,7 @@ endif # Set prefix to mips binutils binaries (mips-linux-gnu-ld => 'mips-linux-gnu-') - Change at your own risk! # In nearly all cases, not having 'mips-linux-gnu-*' binaries on the PATH is indicative of missing dependencies -MIPS_BINUTILS_PREFIX ?= mips-linux-gnu- +MIPS_BINUTILS_PREFIX := mips-linux-gnu- ifeq ($(NON_MATCHING),1) CFLAGS += -DNON_MATCHING -DAVOID_UB @@ -41,10 +44,19 @@ ifeq ($(NON_MATCHING),1) COMPARE := 0 endif +# Version-specific settings +ifeq ($(VERSION),gc-eu-mq-dbg) + OPTFLAGS := -O2 +else +$(error Unsupported version $(VERSION)) +endif + PROJECT_DIR := $(dir $(realpath $(firstword $(MAKEFILE_LIST)))) +BUILD_DIR := build/$(VERSION) MAKE = make -CPPFLAGS += -fno-dollars-in-identifiers -P +CFLAGS += -DOOT_DEBUG +CPPFLAGS += -DOOT_DEBUG -fno-dollars-in-identifiers -P ifeq ($(OS),Windows_NT) DETECTED_OS=windows @@ -60,7 +72,7 @@ else endif endif -N_THREADS ?= $(shell nproc) +N_THREADS := $(shell nproc) #### Tools #### ifneq ($(shell type $(MIPS_BINUTILS_PREFIX)ld >/dev/null 2>/dev/null; echo $$?), 0) @@ -70,14 +82,12 @@ endif # Detect compiler and set variables appropriately. ifeq ($(COMPILER),gcc) CC := $(MIPS_BINUTILS_PREFIX)gcc -else -ifeq ($(COMPILER),ido) +else ifeq ($(COMPILER),ido) CC := tools/ido_recomp/$(DETECTED_OS)/7.1/cc CC_OLD := tools/ido_recomp/$(DETECTED_OS)/5.3/cc else $(error Unsupported compiler. Please use either ido or gcc as the COMPILER variable.) endif -endif # if ORIG_COMPILER is 1, check that either QEMU_IRIX is set or qemu-irix package installed ifeq ($(ORIG_COMPILER),1) @@ -91,14 +101,14 @@ 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 -EMULATOR ?= -EMU_FLAGS ?= +AS := $(MIPS_BINUTILS_PREFIX)as +LD := $(MIPS_BINUTILS_PREFIX)ld +OBJCOPY := $(MIPS_BINUTILS_PREFIX)objcopy +OBJDUMP := $(MIPS_BINUTILS_PREFIX)objdump -INC := -Iinclude -Iinclude/libc -Isrc -Ibuild -I. +N64_EMULATOR ?= + +INC := -Iinclude -Iinclude/libc -Isrc -I$(BUILD_DIR) -I. # 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 @@ -110,10 +120,12 @@ ELF2ROM := tools/elf2rom ZAPD := tools/ZAPD/ZAPD.out FADO := tools/fado/fado.elf +# Command to replace path variables in the spec file. We can't use the C +# preprocessor for this because it won't substitute inside string literals. +SPEC_REPLACE_VARS := sed -e 's|$$(BUILD_DIR)|$(BUILD_DIR)|g' + ifeq ($(COMPILER),gcc) OPTFLAGS := -Os -ffast-math -fno-unsafe-math-optimizations -else - OPTFLAGS := -O2 endif ASFLAGS := -march=vr4300 -32 -no-pad-sections -Iinclude @@ -147,7 +159,7 @@ OBJDUMP_FLAGS := -d -r -z -Mreg-names=32 #### Files #### # ROM image -ROM := zelda_ocarina_mq_dbg.z64 +ROM := oot-$(VERSION).z64 ELF := $(ROM:.z64=.elf) # description of ROM segments SPEC := spec @@ -162,19 +174,19 @@ ASSET_BIN_DIRS := $(shell find assets/* -type d -not -path "assets/xml*" -not -p ASSET_FILES_XML := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.xml)) ASSET_FILES_BIN := $(foreach dir,$(ASSET_BIN_DIRS),$(wildcard $(dir)/*.bin)) ASSET_FILES_OUT := $(foreach f,$(ASSET_FILES_XML:.xml=.c),$f) \ - $(foreach f,$(ASSET_FILES_BIN:.bin=.bin.inc.c),build/$f) \ - $(foreach f,$(wildcard assets/text/*.c),build/$(f:.c=.o)) + $(foreach f,$(ASSET_FILES_BIN:.bin=.bin.inc.c),$(BUILD_DIR)/$f) \ + $(foreach f,$(wildcard assets/text/*.c),$(BUILD_DIR)/$(f:.c=.o)) UNDECOMPILED_DATA_DIRS := $(shell find data -type d) # source files C_FILES := $(filter-out %.inc.c,$(foreach dir,$(SRC_DIRS) $(ASSET_BIN_DIRS),$(wildcard $(dir)/*.c))) S_FILES := $(foreach dir,$(SRC_DIRS) $(UNDECOMPILED_DATA_DIRS),$(wildcard $(dir)/*.s)) -O_FILES := $(foreach f,$(S_FILES:.s=.o),build/$f) \ - $(foreach f,$(C_FILES:.c=.o),build/$f) \ - $(foreach f,$(wildcard baserom/*),build/$f.o) +O_FILES := $(foreach f,$(S_FILES:.s=.o),$(BUILD_DIR)/$f) \ + $(foreach f,$(C_FILES:.c=.o),$(BUILD_DIR)/$f) \ + $(foreach f,$(wildcard baserom/*),$(BUILD_DIR)/$f.o) -OVL_RELOC_FILES := $(shell $(CPP) $(CPPFLAGS) $(SPEC) | grep -o '[^"]*_reloc.o' ) +OVL_RELOC_FILES := $(shell $(CPP) $(CPPFLAGS) $(SPEC) | $(SPEC_REPLACE_VARS) | grep -o '[^"]*_reloc.o' ) # Automatic dependency files # (Only asm_processor dependencies and reloc dependencies are handled for now) @@ -183,63 +195,63 @@ DEP_FILES := $(O_FILES:.o=.asmproc.d) $(OVL_RELOC_FILES:.o=.d) 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) \ +TEXTURE_FILES_OUT := $(foreach f,$(TEXTURE_FILES_PNG:.png=.inc.c),$(BUILD_DIR)/$f) \ + $(foreach f,$(TEXTURE_FILES_JPG:.jpg=.jpg.inc.c),$(BUILD_DIR)/$f) \ # create build directories -$(shell mkdir -p build/baserom build/assets/text $(foreach dir,$(SRC_DIRS) $(UNDECOMPILED_DATA_DIRS) $(ASSET_BIN_DIRS),build/$(dir))) +$(shell mkdir -p $(BUILD_DIR)/baserom $(BUILD_DIR)/assets/text $(foreach dir,$(SRC_DIRS) $(UNDECOMPILED_DATA_DIRS) $(ASSET_BIN_DIRS),$(BUILD_DIR)/$(dir))) ifeq ($(COMPILER),ido) -build/src/code/fault.o: CFLAGS += -trapuv -build/src/code/fault.o: OPTFLAGS := -O2 -g3 -build/src/code/fault_drawer.o: CFLAGS += -trapuv -build/src/code/fault_drawer.o: OPTFLAGS := -O2 -g3 -build/src/code/ucode_disas.o: OPTFLAGS := -O2 -g3 -build/src/code/fmodf.o: OPTFLAGS := -g -build/src/code/__osMemset.o: OPTFLAGS := -g -build/src/code/__osMemmove.o: OPTFLAGS := -g +$(BUILD_DIR)/src/code/fault.o: CFLAGS += -trapuv +$(BUILD_DIR)/src/code/fault.o: OPTFLAGS := -O2 -g3 +$(BUILD_DIR)/src/code/fault_drawer.o: CFLAGS += -trapuv +$(BUILD_DIR)/src/code/fault_drawer.o: OPTFLAGS := -O2 -g3 +$(BUILD_DIR)/src/code/ucode_disas.o: OPTFLAGS := -O2 -g3 +$(BUILD_DIR)/src/code/fmodf.o: OPTFLAGS := -g +$(BUILD_DIR)/src/code/__osMemset.o: OPTFLAGS := -g +$(BUILD_DIR)/src/code/__osMemmove.o: OPTFLAGS := -g -build/src/audio/%.o: OPTFLAGS := -O2 +$(BUILD_DIR)/src/audio/%.o: OPTFLAGS := -O2 # Use signed chars instead of unsigned for this audio file (needed to match AudioDebug_ScrPrt) -build/src/audio/general.o: CFLAGS += -signed +$(BUILD_DIR)/src/audio/general.o: CFLAGS += -signed # Put string literals in .data for some audio files (needed to match these files with literals) -build/src/audio/sfx.o: CFLAGS += -use_readwrite_const -build/src/audio/sequence.o: CFLAGS += -use_readwrite_const +$(BUILD_DIR)/src/audio/sfx.o: CFLAGS += -use_readwrite_const +$(BUILD_DIR)/src/audio/sequence.o: CFLAGS += -use_readwrite_const -build/src/libultra/libc/absf.o: OPTFLAGS := -O2 -g3 -build/src/libultra/libc/sqrt.o: OPTFLAGS := -O2 -g3 -build/src/libultra/libc/ll.o: OPTFLAGS := -O1 -build/src/libultra/libc/ll.o: MIPS_VERSION := -mips3 -32 -build/src/libultra/libc/llcvt.o: OPTFLAGS := -O1 -build/src/libultra/libc/llcvt.o: MIPS_VERSION := -mips3 -32 +$(BUILD_DIR)/src/libultra/libc/absf.o: OPTFLAGS := -O2 -g3 +$(BUILD_DIR)/src/libultra/libc/sqrt.o: OPTFLAGS := -O2 -g3 +$(BUILD_DIR)/src/libultra/libc/ll.o: OPTFLAGS := -O1 +$(BUILD_DIR)/src/libultra/libc/ll.o: MIPS_VERSION := -mips3 -32 +$(BUILD_DIR)/src/libultra/libc/llcvt.o: OPTFLAGS := -O1 +$(BUILD_DIR)/src/libultra/libc/llcvt.o: MIPS_VERSION := -mips3 -32 -build/src/libultra/os/%.o: OPTFLAGS := -O1 -build/src/libultra/io/%.o: OPTFLAGS := -O2 -build/src/libultra/libc/%.o: OPTFLAGS := -O2 -build/src/libultra/rmon/%.o: OPTFLAGS := -O2 -build/src/libultra/gu/%.o: OPTFLAGS := -O2 +$(BUILD_DIR)/src/libultra/os/%.o: OPTFLAGS := -O1 +$(BUILD_DIR)/src/libultra/io/%.o: OPTFLAGS := -O2 +$(BUILD_DIR)/src/libultra/libc/%.o: OPTFLAGS := -O2 +$(BUILD_DIR)/src/libultra/rmon/%.o: OPTFLAGS := -O2 +$(BUILD_DIR)/src/libultra/gu/%.o: OPTFLAGS := -O2 -build/assets/misc/z_select_static/%.o: CFLAGS += -DF3DEX_GBI +$(BUILD_DIR)/assets/misc/z_select_static/%.o: CFLAGS += -DF3DEX_GBI -build/src/libultra/gu/%.o: CC := $(CC_OLD) -build/src/libultra/io/%.o: CC := $(CC_OLD) -build/src/libultra/libc/%.o: CC := $(CC_OLD) -build/src/libultra/os/%.o: CC := $(CC_OLD) -build/src/libultra/rmon/%.o: CC := $(CC_OLD) +$(BUILD_DIR)/src/libultra/gu/%.o: CC := $(CC_OLD) +$(BUILD_DIR)/src/libultra/io/%.o: CC := $(CC_OLD) +$(BUILD_DIR)/src/libultra/libc/%.o: CC := $(CC_OLD) +$(BUILD_DIR)/src/libultra/os/%.o: CC := $(CC_OLD) +$(BUILD_DIR)/src/libultra/rmon/%.o: CC := $(CC_OLD) -build/src/code/jpegutils.o: CC := $(CC_OLD) -build/src/code/jpegdecoder.o: CC := $(CC_OLD) +$(BUILD_DIR)/src/code/jpegutils.o: CC := $(CC_OLD) +$(BUILD_DIR)/src/code/jpegdecoder.o: CC := $(CC_OLD) -build/src/boot/%.o: CC := python3 tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) -- -build/src/code/%.o: CC := python3 tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) -- -build/src/overlays/%.o: CC := python3 tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) -- +$(BUILD_DIR)/src/boot/%.o: CC := python3 tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) -- +$(BUILD_DIR)/src/code/%.o: CC := python3 tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) -- +$(BUILD_DIR)/src/overlays/%.o: CC := python3 tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) -- -build/assets/%.o: CC := python3 tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) -- +$(BUILD_DIR)/assets/%.o: CC := python3 tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) -- else -build/src/libultra/libc/ll.o: OPTFLAGS := -Ofast -build/src/%.o: CC := $(CC) -fexec-charset=euc-jp +$(BUILD_DIR)/src/libultra/libc/ll.o: OPTFLAGS := -Ofast +$(BUILD_DIR)/src/%.o: CC := $(CC) -fexec-charset=euc-jp endif #### Main Targets ### @@ -251,12 +263,12 @@ ifeq ($(COMPARE),1) endif clean: - $(RM) -r $(ROM) $(ELF) build + $(RM) -r $(ROM) $(ELF) $(BUILD_DIR) assetclean: $(RM) -r $(ASSET_BIN_DIRS) $(RM) -r assets/text/*.h - $(RM) -r build/assets + $(RM) -r $(BUILD_DIR)/assets $(RM) -r .extracted-assets.json distclean: clean assetclean @@ -270,10 +282,10 @@ setup: python3 extract_assets.py -j$(N_THREADS) run: $(ROM) -ifeq ($(EMULATOR),) - $(error Emulator path not set. Set EMULATOR in the Makefile or define it as an environment variable) +ifeq ($(N64_EMULATOR),) + $(error Emulator path not set. Set N64_EMULATOR in the Makefile or define it as an environment variable) endif - $(EMULATOR) $(EMU_FLAGS) $< + $(N64_EMULATOR) $< .PHONY: all clean setup run distclean assetclean @@ -283,8 +295,8 @@ endif $(ROM): $(ELF) $(ELF2ROM) -cic 6105 $< $@ -$(ELF): $(TEXTURE_FILES_OUT) $(ASSET_FILES_OUT) $(O_FILES) $(OVL_RELOC_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/z64.map -o $@ +$(ELF): $(TEXTURE_FILES_OUT) $(ASSET_FILES_OUT) $(O_FILES) $(OVL_RELOC_FILES) $(BUILD_DIR)/ldscript.txt $(BUILD_DIR)/undefined_syms.txt + $(LD) -T $(BUILD_DIR)/undefined_syms.txt -T $(BUILD_DIR)/ldscript.txt --no-check-sections --accept-unknown-input-arch --emit-relocs -Map $(BUILD_DIR)/z64.map -o $@ ## Order-only prerequisites # These ensure e.g. the O_FILES are built before the OVL_RELOC_FILES. @@ -298,84 +310,84 @@ $(O_FILES): | asset_files .PHONY: o_files asset_files -build/$(SPEC): $(SPEC) - $(CPP) $(CPPFLAGS) $< > $@ +$(BUILD_DIR)/$(SPEC): $(SPEC) + $(CPP) $(CPPFLAGS) $< | $(SPEC_REPLACE_VARS) > $@ -build/ldscript.txt: build/$(SPEC) +$(BUILD_DIR)/ldscript.txt: $(BUILD_DIR)/$(SPEC) $(MKLDSCRIPT) $< $@ -build/undefined_syms.txt: undefined_syms.txt +$(BUILD_DIR)/undefined_syms.txt: undefined_syms.txt $(CPP) $(CPPFLAGS) $< > $@ -build/baserom/%.o: baserom/% +$(BUILD_DIR)/baserom/%.o: baserom/% $(OBJCOPY) -I binary -O elf32-big $< $@ -build/data/%.o: data/%.s +$(BUILD_DIR)/data/%.o: data/%.s $(AS) $(ASFLAGS) $< -o $@ -build/assets/text/%.enc.h: assets/text/%.h assets/text/charmap.txt +$(BUILD_DIR)/assets/text/%.enc.h: assets/text/%.h assets/text/charmap.txt python3 tools/msgenc.py assets/text/charmap.txt $< $@ # Dependencies for files including message data headers # TODO remove when full header dependencies are used. -build/assets/text/fra_message_data_static.o: build/assets/text/message_data.enc.h -build/assets/text/ger_message_data_static.o: build/assets/text/message_data.enc.h -build/assets/text/nes_message_data_static.o: build/assets/text/message_data.enc.h -build/assets/text/staff_message_data_static.o: build/assets/text/message_data_staff.enc.h -build/src/code/z_message_PAL.o: build/assets/text/message_data.enc.h build/assets/text/message_data_staff.enc.h +$(BUILD_DIR)/assets/text/fra_message_data_static.o: $(BUILD_DIR)/assets/text/message_data.enc.h +$(BUILD_DIR)/assets/text/ger_message_data_static.o: $(BUILD_DIR)/assets/text/message_data.enc.h +$(BUILD_DIR)/assets/text/nes_message_data_static.o: $(BUILD_DIR)/assets/text/message_data.enc.h +$(BUILD_DIR)/assets/text/staff_message_data_static.o: $(BUILD_DIR)/assets/text/message_data_staff.enc.h +$(BUILD_DIR)/src/code/z_message_PAL.o: $(BUILD_DIR)/assets/text/message_data.enc.h $(BUILD_DIR)/assets/text/message_data_staff.enc.h -build/assets/%.o: assets/%.c +$(BUILD_DIR)/assets/%.o: assets/%.c $(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $< $(OBJCOPY) -O binary $@ $@.bin -build/src/%.o: src/%.s +$(BUILD_DIR)/src/%.o: src/%.s $(CPP) $(CPPFLAGS) -Iinclude $< | $(AS) $(ASFLAGS) -o $@ -build/dmadata_table_spec.h: build/$(SPEC) +$(BUILD_DIR)/dmadata_table_spec.h: $(BUILD_DIR)/$(SPEC) $(MKDMADATA) $< $@ # Dependencies for files that may include the dmadata header automatically generated from the spec file -build/src/boot/z_std_dma.o: build/dmadata_table_spec.h -build/src/dmadata/dmadata.o: build/dmadata_table_spec.h +$(BUILD_DIR)/src/boot/z_std_dma.o: $(BUILD_DIR)/dmadata_table_spec.h +$(BUILD_DIR)/src/dmadata/dmadata.o: $(BUILD_DIR)/dmadata_table_spec.h # Dependencies for files including from include/tables/ # TODO remove when full header dependencies are used. -build/src/code/graph.o: include/tables/gamestate_table.h -build/src/code/object_table.o: include/tables/object_table.h -build/src/code/z_actor.o: include/tables/actor_table.h # so uses of ACTOR_ID_MAX update when the table length changes -build/src/code/z_actor_dlftbls.o: include/tables/actor_table.h -build/src/code/z_effect_soft_sprite_dlftbls.o: include/tables/effect_ss_table.h -build/src/code/z_game_dlftbls.o: include/tables/gamestate_table.h -build/src/code/z_scene_table.o: include/tables/scene_table.h include/tables/entrance_table.h +$(BUILD_DIR)/src/code/graph.o: include/tables/gamestate_table.h +$(BUILD_DIR)/src/code/object_table.o: include/tables/object_table.h +$(BUILD_DIR)/src/code/z_actor.o: include/tables/actor_table.h # so uses of ACTOR_ID_MAX update when the table length changes +$(BUILD_DIR)/src/code/z_actor_dlftbls.o: include/tables/actor_table.h +$(BUILD_DIR)/src/code/z_effect_soft_sprite_dlftbls.o: include/tables/effect_ss_table.h +$(BUILD_DIR)/src/code/z_game_dlftbls.o: include/tables/gamestate_table.h +$(BUILD_DIR)/src/code/z_scene_table.o: include/tables/scene_table.h include/tables/entrance_table.h -build/src/%.o: src/%.c +$(BUILD_DIR)/src/%.o: src/%.c $(CC_CHECK) $< $(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $< @$(OBJDUMP) $(OBJDUMP_FLAGS) $@ > $(@:.o=.s) -build/src/libultra/libc/ll.o: src/libultra/libc/ll.c +$(BUILD_DIR)/src/libultra/libc/ll.o: src/libultra/libc/ll.c $(CC_CHECK) $< $(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $< python3 tools/set_o32abi_bit.py $@ @$(OBJDUMP) $(OBJDUMP_FLAGS) $@ > $(@:.o=.s) -build/src/libultra/libc/llcvt.o: src/libultra/libc/llcvt.c +$(BUILD_DIR)/src/libultra/libc/llcvt.o: src/libultra/libc/llcvt.c $(CC_CHECK) $< $(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $< python3 tools/set_o32abi_bit.py $@ @$(OBJDUMP) $(OBJDUMP_FLAGS) $@ > $(@:.o=.s) -build/src/overlays/%_reloc.o: build/$(SPEC) +$(BUILD_DIR)/src/overlays/%_reloc.o: $(BUILD_DIR)/$(SPEC) $(FADO) $$(tools/reloc_prereq $< $(notdir $*)) -n $(notdir $*) -o $(@:.o=.s) -M $(@:.o=.d) $(AS) $(ASFLAGS) $(@:.o=.s) -o $@ -build/%.inc.c: %.png +$(BUILD_DIR)/%.inc.c: %.png $(ZAPD) btex -eh -tt $(subst .,,$(suffix $*)) -i $< -o $@ -build/assets/%.bin.inc.c: assets/%.bin +$(BUILD_DIR)/assets/%.bin.inc.c: assets/%.bin $(ZAPD) bblb -eh -i $< -o $@ -build/assets/%.jpg.inc.c: assets/%.jpg +$(BUILD_DIR)/assets/%.jpg.inc.c: assets/%.jpg $(ZAPD) bren -eh -i $< -o $@ -include $(DEP_FILES) diff --git a/README.md b/README.md index 6fe29f6b8a..9ed58a7e64 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ The only build currently supported is Master Quest (Debug), but other versions a It builds the following ROM: -* zelda_ocarina_mq_dbg.z64 `md5: f0b7f35375f9cc8ca1b2d59d78e35405` +* oot-gc-eu-mq-dbg.z64 `md5: f0b7f35375f9cc8ca1b2d59d78e35405` **Note: This repository does not include any of the assets necessary to build the ROM. A prior copy of the game is required to extract the needed assets.** @@ -123,16 +123,16 @@ Make sure your path to the project is not too long, otherwise this process may e make ``` -If all goes well, a new ROM called "zelda_ocarina_mq_debug.z64" should be built and the following text should be printed: +If all goes well, a new ROM called "oot-gc-eu-mq-dbg.z64" should be built and the following text should be printed: ```bash -zelda_ocarina_mq_dbg.z64: OK +oot-gc-eu-mq-dbg.z64: OK ``` If you instead see the following: ```bash -zelda_ocarina_mq_dbg.z64: FAILED +oot-gc-eu-mq-dbg.z64: FAILED md5sum: WARNING: 1 computed checksum did NOT match ``` diff --git a/assets/xml/objects/object_brob.xml b/assets/xml/objects/object_brob.xml index 718dcd5617..bef5bbc55f 100644 --- a/assets/xml/objects/object_brob.xml +++ b/assets/xml/objects/object_brob.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_link_child.xml b/assets/xml/objects/object_link_child.xml index fcb630e179..23a07b3855 100644 --- a/assets/xml/objects/object_link_child.xml +++ b/assets/xml/objects/object_link_child.xml @@ -105,7 +105,7 @@ - + diff --git a/assets/xml/objects/object_ma1.xml b/assets/xml/objects/object_ma1.xml index 466670e18a..11509ad6aa 100644 --- a/assets/xml/objects/object_ma1.xml +++ b/assets/xml/objects/object_ma1.xml @@ -1,25 +1,25 @@ - + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_mizu_objects.xml b/assets/xml/objects/object_mizu_objects.xml index f25c29d6c3..5882b20501 100644 --- a/assets/xml/objects/object_mizu_objects.xml +++ b/assets/xml/objects/object_mizu_objects.xml @@ -1,15 +1,15 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/checksum.md5 b/checksum.md5 index 4483a7ce34..016512c1e2 100644 --- a/checksum.md5 +++ b/checksum.md5 @@ -1 +1 @@ -f0b7f35375f9cc8ca1b2d59d78e35405 zelda_ocarina_mq_dbg.z64 \ No newline at end of file +f0b7f35375f9cc8ca1b2d59d78e35405 oot-gc-eu-mq-dbg.z64 diff --git a/diff_settings.py b/diff_settings.py index fb2f1454eb..8e5d595293 100644 --- a/diff_settings.py +++ b/diff_settings.py @@ -1,6 +1,6 @@ def apply(config, args): - config['mapfile'] = 'build/z64.map' - config['myimg'] = 'zelda_ocarina_mq_dbg.z64' + config['mapfile'] = 'build/gc-eu-mq-dbg/z64.map' + config['myimg'] = 'oot-gc-eu-mq-dbg.z64' config['baseimg'] = 'baserom.z64' config['makeflags'] = [] config['source_directories'] = ['src', 'include', 'spec'] diff --git a/docs/tutorial/beginning_decomp.md b/docs/tutorial/beginning_decomp.md index b5c5e85067..49f25784e4 100644 --- a/docs/tutorial/beginning_decomp.md +++ b/docs/tutorial/beginning_decomp.md @@ -772,7 +772,7 @@ Once preliminary cleanup and struct filling is done, most time spent matching fu In order to use `diff.py` with the symbol names, we need a copy of the code to compare against. This is done by copying the `build` directory into a directory called `expected`. Copying in Windows on WSL is very slow, so run ``` $ mkdir expected -cp -r build/ expected/ +cp -r build expected/ ``` from the main directory of the repository. You should end up with the directory structure `expected/build/...`. @@ -914,7 +914,7 @@ It turns out that this is enough to completely fix the diff: Everything *looks* fine, but we only know for sure when we run `make`. Thankfully doing so gives ``` -zelda_ocarina_mq_dbg.z64: OK +oot-gc-eu-mq-dbg.z64: OK ``` which is either a sense of triumph or relief depending on how long you've spent on a function. diff --git a/docs/tutorial/data.md b/docs/tutorial/data.md index 69b04c782d..421bc0fe60 100644 --- a/docs/tutorial/data.md +++ b/docs/tutorial/data.md @@ -118,18 +118,18 @@ Now, open the file called `spec` in the base directory, find the section corresp ``` beginseg name "ovl_En_Tg" - include "build/src/overlays/actors/ovl_En_Tg/z_en_tg.o" - include "build/data/overlays/actors/z_en_tg.data.o" - include "build/data/overlays/actors/z_en_tg.reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Tg/z_en_tg.o" + include "$(BUILD_DIR)/data/overlays/actors/z_en_tg.data.o" + include "$(BUILD_DIR)/data/overlays/actors/z_en_tg.reloc.o" endseg ``` and comment out the .data line, ``` beginseg name "ovl_En_Tg" - include "build/src/overlays/actors/ovl_En_Tg/z_en_tg.o" - //include "build/data/overlays/actors/z_en_tg.data.o" - include "build/data/overlays/actors/z_en_tg.reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Tg/z_en_tg.o" + //include "$(BUILD_DIR)/data/overlays/actors/z_en_tg.data.o" + include "$(BUILD_DIR)/data/overlays/actors/z_en_tg.reloc.o" endseg ``` to tell the compiler not to look for the data in that file any more. Now run `make -j`, and if you did both steps correctly, you should get `OK`. @@ -262,18 +262,18 @@ First, we tell the compiler to ignore the original data file. To do this, open t ``` beginseg name "ovl_En_Jj" - include "build/src/overlays/actors/ovl_En_Jj/z_en_jj.o" - include "build/data/overlays/actors/z_en_jj.data.o" - include "build/data/overlays/actors/z_en_jj.reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Jj/z_en_jj.o" + include "$(BUILD_DIR)/data/overlays/actors/z_en_jj.data.o" + include "$(BUILD_DIR)/data/overlays/actors/z_en_jj.reloc.o" endseg ``` We will eventually remove both of the bottom two lines and replace them with our own reloc file, but for now, just comment out the data line: ``` beginseg name "ovl_En_Jj" - include "build/src/overlays/actors/ovl_En_Jj/z_en_jj.o" - //include "build/data/overlays/actors/z_en_jj.data.o" - include "build/data/overlays/actors/z_en_jj.reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Jj/z_en_jj.o" + //include "$(BUILD_DIR)/data/overlays/actors/z_en_jj.data.o" + include "$(BUILD_DIR)/data/overlays/actors/z_en_jj.reloc.o" endseg ``` @@ -557,7 +557,7 @@ Ignore the first line: `gDmaDataTable` is always different if the ROM is shifted To fix this, we use a binary diff program. A suitable one is `vbindiff`: run it on the baserom and the zelda_whatever one the compiler generates: ``` -vbindiff baserom.z64 zelda_ocarina_mq_dbg.z64 +vbindiff baserom.z64 oot-gc-eu-mq-dbg.z64 ``` In this, press `g` to open up goto position, and paste in the address `0xE3ED10` from the first important line of the `first_diff` output. This gives us the following: @@ -623,7 +623,7 @@ static ColliderCylinderInit sCylinderInit = Running `make -j` again, ``` -zelda_ocarina_mq_dbg.z64: OK +oot-gc-eu-mq-dbg.z64: OK ``` Hooray, we won! diff --git a/docs/tutorial/merging.md b/docs/tutorial/merging.md index 8ba1aa5cb3..fb51b8d585 100644 --- a/docs/tutorial/merging.md +++ b/docs/tutorial/merging.md @@ -26,9 +26,9 @@ Specifically, to use the automatically generated reloc, rather than the original ``` beginseg name "ovl_En_Jj" - include "build/src/overlays/actors/ovl_En_Jj/z_en_jj.o" - //include "build/data/overlays/actors/z_en_jj.data.o" - include "build/data/overlays/actors/z_en_jj.reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Jj/z_en_jj.o" + //include "$(BUILD_DIR)/data/overlays/actors/z_en_jj.data.o" + include "$(BUILD_DIR)/data/overlays/actors/z_en_jj.reloc.o" endseg ``` @@ -37,8 +37,8 @@ and change to use our reloc: ``` beginseg name "ovl_En_Jj" - include "build/src/overlays/actors/ovl_En_Jj/z_en_jj.o" - include "build/src/overlays/actors/ovl_En_Jj/ovl_En_Jj_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Jj/z_en_jj.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Jj/ovl_En_Jj_reloc.o" endseg ``` diff --git a/docs/tutorial/object_decomp.md b/docs/tutorial/object_decomp.md index 480e00cd2f..325239313a 100644 --- a/docs/tutorial/object_decomp.md +++ b/docs/tutorial/object_decomp.md @@ -113,13 +113,13 @@ If in doubt, look at completed objects in the repo, and if still in doubt, ask. Just as when you decomp an actor you have to change the `spec` to tell it to use the new files, you have to do a similar thing for the object. Find the appropriate section for the object you have decompiled, and replace the line ```c -include "build/baserom/object_name.o" +include "$(BUILD_DIR)/baserom/object_name.o" ``` by ```c -include "build/assets/objects/object_name/object_name.o" +include "$(BUILD_DIR)/assets/objects/object_name/object_name.o" number 6 ``` diff --git a/docs/tutorial/object_decomp_example.md b/docs/tutorial/object_decomp_example.md index 38b863c196..f7317bbddb 100644 --- a/docs/tutorial/object_decomp_example.md +++ b/docs/tutorial/object_decomp_example.md @@ -83,7 +83,7 @@ to extract the contents of the object into the new folder, change the spec to us beginseg name "object_bg" romalign 0x1000 - include "build/baserom/object_bg.o" + include "$(BUILD_DIR)/baserom/object_bg.o" endseg ``` @@ -93,7 +93,7 @@ to beginseg name "object_bg" romalign 0x1000 - include "build/assets/objects/object_bg/object_bg.o" + include "$(BUILD_DIR)/assets/objects/object_bg/object_bg.o" number 6 endseg ``` diff --git a/docs/tutorial/other_functions.md b/docs/tutorial/other_functions.md index ec886e175f..9c1916ee60 100644 --- a/docs/tutorial/other_functions.md +++ b/docs/tutorial/other_functions.md @@ -380,7 +380,7 @@ void func_80A87CEC(EnJj *this, PlayState *play) { play->csCtx.script = &D_80A88164; gSaveContext.cutsceneTrigger = (u8)1U; func_8003EBF8(play, &play->colCtx.dyna, (s32) temp_v1->bgId); - func_8005B1A4(play->cameraPtrs[play->activeCamId]); + Camera_SetFinishedFlag(play->cameraPtrs[play->activeCamId]); gSaveContext.unkEDA = (u16) (gSaveContext.unkEDA | 0x400); Sfx_PlaySfxCentered((u16)0x4802U); } @@ -396,7 +396,7 @@ Easy things to sort out: - `play->cameraPtrs[play->activeCamId]` has a macro: it is `GET_ACTIVE_CAM(play)`, so this line can be written as ```C -func_8005B1A4(GET_ACTIVE_CAM(play)); +Camera_SetFinishedFlag(GET_ACTIVE_CAM(play)); ``` - `gSaveContext.unkEDA` we have dealt with before: it is `gSaveContext.save.info.eventChkInf[3]`. This is a flag-setting function; it can be written more compactly as @@ -418,13 +418,13 @@ void func_80A87CEC(EnJj *this, PlayState *play) { play->csCtx.script = &D_80A88164; gSaveContext.cutsceneTrigger = 1; func_8003EBF8(play, &play->colCtx.dyna, child->bgId); - func_8005B1A4(GET_ACTIVE_CAM(play)); + Camera_SetFinishedFlag(GET_ACTIVE_CAM(play)); gSaveContext.save.info.eventChkInf[3] |= 0x400; Sfx_PlaySfxCentered(NA_SE_SY_CORRECT_CHIME); } ``` -matches, but generates a complier warning for `func_8005B1A4`, which it can't find. To fix this, add it to `functions.h`, in as near as possible the correct position in numerical order. Some detective work with VSCode's Search shows that this function lives in `z_camera.c`, and its prototype is `s16 func_8005B1A4(Camera* camera)`, so add this line to `functions.h` at the bottom of the camera functions part. +matches, but generates a complier warning for `Camera_SetFinishedFlag`, which it can't find. To fix this, add it to `functions.h`, in as near as possible the correct position in numerical order. Some detective work with VSCode's Search shows that this function lives in `z_camera.c`, and its prototype is `s16 Camera_SetFinishedFlag(Camera* camera)`, so add this line to `functions.h` at the bottom of the camera functions part. Lastly, we prefer to limit use of early `return`s, and use `else`s instead if possible. That applies here: the function can be rewritten as ```C @@ -437,7 +437,7 @@ void func_80A87CEC(EnJj* this, PlayState* play) { play->csCtx.script = &D_80A88164; gSaveContext.cutsceneTrigger = 1; func_8003EBF8(play, &play->colCtx.dyna, child->bgId); - func_8005B1A4(GET_ACTIVE_CAM(play)); + Camera_SetFinishedFlag(GET_ACTIVE_CAM(play)); gSaveContext.save.info.eventChkInf[3] |= 0x400; Sfx_PlaySfxCentered(NA_SE_SY_CORRECT_CHIME); } diff --git a/docs/vscode.md b/docs/vscode.md index efd8e8b605..6ba1ebcf37 100644 --- a/docs/vscode.md +++ b/docs/vscode.md @@ -50,11 +50,12 @@ You can create a `.vscode/c_cpp_properties.json` file with `C/C++: Edit Configur "includePath": [ // Matches makefile's includes "${workspaceFolder}/**", "src", - "build", + "build/gc-eu-mq-dbg", "include" ], "defines": [ - "_LANGUAGE_C" // For gbi.h + "_LANGUAGE_C", // For gbi.h + "OOT_DEBUG" // If targeting a debug version ], "cStandard": "gnu89", // C89 + some GNU extensions from C99 like C++ comments "cppStandard": "${default}" // Only ZAPD uses C++, so doesn't really matter diff --git a/first_diff.py b/first_diff.py index f956ca26a3..360eb42dc1 100755 --- a/first_diff.py +++ b/first_diff.py @@ -39,15 +39,15 @@ def firstDiffMain(): parser = argparse.ArgumentParser(description="Find the first difference(s) between the built ROM and the base ROM.") parser.add_argument("-c", "--count", type=int, default=5, help="find up to this many instruction difference(s)") - parser.add_argument("-v", "--version", help="Which version should be processed", default="mq_dbg") + parser.add_argument("-v", "--version", help="Which version should be processed", default="gc-eu-mq-dbg") parser.add_argument("-a", "--add-colons", action='store_true', help="Add colon between bytes" ) args = parser.parse_args() - buildFolder = Path("build") + buildFolder = Path("build") / args.version - BUILTROM = Path(f"zelda_ocarina_{args.version}.z64") - BUILTMAP = buildFolder / f"z64.map" + BUILTROM = Path(f"oot-{args.version}.z64") + BUILTMAP = buildFolder / "z64.map" EXPECTEDROM = Path("baserom.z64") EXPECTEDMAP = "expected" / BUILTMAP diff --git a/format.py b/format.py index 51b7b6ac7b..520a2d8078 100755 --- a/format.py +++ b/format.py @@ -29,7 +29,7 @@ APPLY_OPTS = "--format --style=file" # Compiler options used with Clang-Tidy # Normal warnings are disabled with -Wno-everything to focus only on tidying -INCLUDES = "-Iinclude -Isrc -Ibuild -I." +INCLUDES = "-Iinclude -Isrc -Ibuild/gc-eu-mq-dbg -I." DEFINES = "-D_LANGUAGE_C -DNON_MATCHING" COMPILER_OPTS = f"-fno-builtin -std=gnu90 -m32 -Wno-everything {INCLUDES} {DEFINES}" @@ -108,7 +108,7 @@ def format_files(src_files: List[str], extra_files: List[str], nb_jobs: int): if nb_jobs != 1: print(f"Formatting files with {nb_jobs} jobs") else: - print(f"Formatting files with a single job (consider using -j to make this faster)") + print("Formatting files with a single job (consider using -j to make this faster)") # Format files in chunks to improve performance while still utilizing jobs file_chunks = list(list_chunks(src_files, (len(src_files) // nb_jobs) + 1)) diff --git a/include/audiomgr.h b/include/audiomgr.h new file mode 100644 index 0000000000..036192ce7c --- /dev/null +++ b/include/audiomgr.h @@ -0,0 +1,33 @@ +#ifndef AUDIOMGR_H +#define AUDIOMGR_H + +#include "sched.h" +#include "z64audio.h" + +typedef enum { + /* 0 */ AUDIOMGR_DEBUG_LEVEL_NONE, + /* 1 */ AUDIOMGR_DEBUG_LEVEL_NO_RSP, + /* 2 */ AUDIOMGR_DEBUG_LEVEL_NO_UPDATE +} AudioMgrDebugLevel; + +typedef struct { + /* 0x0000 */ IrqMgr* irqMgr; + /* 0x0004 */ Scheduler* sched; + /* 0x0008 */ OSScTask audioTask; + /* 0x0070 */ AudioTask* rspTask; + /* 0x0074 */ OSMesgQueue interruptQueue; + /* 0x008C */ OSMesg interruptMsgBuf[8]; + /* 0x00AC */ OSMesgQueue taskDoneQueue; + /* 0x00C4 */ OSMesg taskDoneMsg; + /* 0x00C8 */ OSMesgQueue initQueue; + /* 0x00E0 */ OSMesg initMsg; + /* 0x00E8 */ OSThread thread; +} AudioMgr; // size = 0x298 + +void AudioMgr_Init(AudioMgr* audioMgr, void* stack, OSPri pri, OSId id, Scheduler* sched, IrqMgr* irqMgr); + +void AudioMgr_WaitForInit(AudioMgr* audioMgr); + +void AudioMgr_StopAllSfx(void); + +#endif diff --git a/include/functions.h b/include/functions.h index 771b666020..7e9cc99ac5 100644 --- a/include/functions.h +++ b/include/functions.h @@ -391,15 +391,15 @@ Hilite* func_8002EABC(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContex Hilite* func_8002EB44(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContext* gfxCtx); void func_8002EBCC(Actor* actor, PlayState* play, s32 flag); void func_8002ED80(Actor* actor, PlayState* play, s32 flag); -PosRot* Actor_GetFocus(PosRot* dest, Actor* actor); -PosRot* Actor_GetWorld(PosRot* dest, Actor* actor); -PosRot* Actor_GetWorldPosShapeRot(PosRot* arg0, Actor* actor); +PosRot Actor_GetFocus(Actor* actor); +PosRot Actor_GetWorld(Actor* actor); +PosRot Actor_GetWorldPosShapeRot(Actor* actor); s32 func_8002F0C8(Actor* actor, Player* player, s32 flag); -u32 Actor_ProcessTalkRequest(Actor* actor, PlayState* play); -s32 func_8002F1C4(Actor* actor, PlayState* play, f32 arg2, f32 arg3, u32 exchangeItemId); -s32 func_8002F298(Actor* actor, PlayState* play, f32 arg2, u32 exchangeItemId); -s32 func_8002F2CC(Actor* actor, PlayState* play, f32 arg2); -s32 func_8002F2F4(Actor* actor, PlayState* play); +s32 Actor_TalkOfferAccepted(Actor* actor, PlayState* play); +s32 Actor_OfferTalkExchange(Actor* actor, PlayState* play, f32 xzRange, f32 yRange, u32 exchangeItemId); +s32 Actor_OfferTalkExchangeEquiCylinder(Actor* actor, PlayState* play, f32 radius, u32 exchangeItemId); +s32 Actor_OfferTalk(Actor* actor, PlayState* play, f32 radius); +s32 Actor_OfferTalkNearColChkInfoCylinder(Actor* actor, PlayState* play); u32 Actor_TextboxIsClosing(Actor* actor, PlayState* play); s8 func_8002F368(PlayState* play); void Actor_GetScreenPos(PlayState* play, Actor* actor, s16* x, s16* y); @@ -494,7 +494,7 @@ void func_8003555C(PlayState* play, Vec3f* pos, Vec3f* velocity, Vec3f* accel); void func_800355B8(PlayState* play, Vec3f* pos); u8 func_800355E4(PlayState* play, Collider* collider); u8 Actor_ApplyDamage(Actor* actor); -void Actor_SetDropFlag(Actor* actor, ColliderInfo* colInfo, s32 freezeFlag); +void Actor_SetDropFlag(Actor* actor, ColliderElement* elem, s32 freezeFlag); void Actor_SetDropFlagJntSph(Actor* actor, ColliderJntSph* jntSph, s32 freezeFlag); void func_80035844(Vec3f* arg0, Vec3f* arg1, Vec3s* arg2, s32 arg3); Actor* func_800358DC(Actor* actor, Vec3f* spawnPos, Vec3s* spawnRot, f32* arg3, s32 timer, s16* unused, @@ -634,12 +634,12 @@ void Camera_InitDataUsingPlayer(Camera* camera, Player* player); s16 Camera_ChangeStatus(Camera* camera, s16 status); Vec3s Camera_Update(Camera* camera); void Camera_Finish(Camera* camera); -s32 Camera_ChangeMode(Camera* camera, s16 mode); +s32 Camera_RequestMode(Camera* camera, s16 mode); s32 Camera_CheckValidMode(Camera* camera, s16 mode); -s32 Camera_ChangeSetting(Camera* camera, s16 setting); -s32 Camera_ChangeBgCamIndex(Camera* camera, s32 bgCamIndex); +s32 Camera_RequestSetting(Camera* camera, s16 setting); +s32 Camera_RequestBgCam(Camera* camera, s32 requestedBgCamIndex); s16 Camera_GetInputDirYaw(Camera* camera); -Vec3s* Camera_GetCamDir(Vec3s* dst, Camera* camera); +Vec3s Camera_GetCamDir(Camera* camera); s16 Camera_GetCamDirPitch(Camera* camera); s16 Camera_GetCamDirYaw(Camera* camera); s32 Camera_RequestQuake(Camera* camera, s32 unused, s16 y, s32 duration); @@ -653,53 +653,52 @@ s32 Camera_SetCSParams(Camera* camera, CutsceneCameraPoint* atPoints, CutsceneCa s32 Camera_ChangeDoorCam(Camera* camera, Actor* doorActor, s16 bgCamIndex, f32 arg3, s16 timer1, s16 timer2, s16 timer3); s32 Camera_Copy(Camera* dstCamera, Camera* srcCamera); -Vec3f* Camera_GetQuakeOffset(Vec3f* quakeOffset, Camera* camera); +Vec3f Camera_GetQuakeOffset(Camera* camera); void Camera_SetCameraData(Camera* camera, s16 setDataFlags, void* data0, void* data1, s16 data2, s16 data3, UNK_TYPE arg6); s32 func_8005B198(void); -s16 func_8005B1A4(Camera* camera); +s16 Camera_SetFinishedFlag(Camera* camera); DamageTable* DamageTable_Get(s32 index); void DamageTable_Clear(DamageTable* table); void Collider_DrawRedPoly(GraphicsContext* gfxCtx, Vec3f* vA, Vec3f* vB, Vec3f* vC); void Collider_DrawPoly(GraphicsContext* gfxCtx, Vec3f* vA, Vec3f* vB, Vec3f* vC, u8 r, u8 g, u8 b); -s32 Collider_InitJntSph(PlayState* play, ColliderJntSph* collider); -s32 Collider_FreeJntSph(PlayState* play, ColliderJntSph* collider); -s32 Collider_DestroyJntSph(PlayState* play, ColliderJntSph* collider); +s32 Collider_InitJntSph(PlayState* play, ColliderJntSph* jntSph); +s32 Collider_FreeJntSph(PlayState* play, ColliderJntSph* jntSph); +s32 Collider_DestroyJntSph(PlayState* play, ColliderJntSph* jntSph); s32 Collider_SetJntSphToActor(PlayState* play, ColliderJntSph* dest, ColliderJntSphInitToActor* src); s32 Collider_SetJntSphAllocType1(PlayState* play, ColliderJntSph* dest, Actor* actor, ColliderJntSphInitType1* src); s32 Collider_SetJntSphAlloc(PlayState* play, ColliderJntSph* dest, Actor* actor, ColliderJntSphInit* src); s32 Collider_SetJntSph(PlayState* play, ColliderJntSph* dest, Actor* actor, ColliderJntSphInit* src, - ColliderJntSphElement* elements); -s32 Collider_ResetJntSphAT(PlayState* play, Collider* collider); -s32 Collider_ResetJntSphAC(PlayState* play, Collider* collider); -s32 Collider_ResetJntSphOC(PlayState* play, Collider* collider); -s32 Collider_InitCylinder(PlayState* play, ColliderCylinder* collider); -s32 Collider_DestroyCylinder(PlayState* play, ColliderCylinder* collider); -s32 Collider_SetCylinderToActor(PlayState* play, ColliderCylinder* collider, ColliderCylinderInitToActor* src); -s32 Collider_SetCylinderType1(PlayState* play, ColliderCylinder* collider, Actor* actor, - ColliderCylinderInitType1* src); -s32 Collider_SetCylinder(PlayState* play, ColliderCylinder* collider, Actor* actor, ColliderCylinderInit* src); -s32 Collider_ResetCylinderAT(PlayState* play, Collider* collider); -s32 Collider_ResetCylinderAC(PlayState* play, Collider* collider); -s32 Collider_ResetCylinderOC(PlayState* play, Collider* collider); + ColliderJntSphElement* jntSphElements); +s32 Collider_ResetJntSphAT(PlayState* play, Collider* col); +s32 Collider_ResetJntSphAC(PlayState* play, Collider* col); +s32 Collider_ResetJntSphOC(PlayState* play, Collider* col); +s32 Collider_InitCylinder(PlayState* play, ColliderCylinder* cyl); +s32 Collider_DestroyCylinder(PlayState* play, ColliderCylinder* cyl); +s32 Collider_SetCylinderToActor(PlayState* play, ColliderCylinder* dest, ColliderCylinderInitToActor* src); +s32 Collider_SetCylinderType1(PlayState* play, ColliderCylinder* dest, Actor* actor, ColliderCylinderInitType1* src); +s32 Collider_SetCylinder(PlayState* play, ColliderCylinder* dest, Actor* actor, ColliderCylinderInit* src); +s32 Collider_ResetCylinderAT(PlayState* play, Collider* col); +s32 Collider_ResetCylinderAC(PlayState* play, Collider* col); +s32 Collider_ResetCylinderOC(PlayState* play, Collider* col); s32 Collider_InitTris(PlayState* play, ColliderTris* tris); s32 Collider_FreeTris(PlayState* play, ColliderTris* tris); s32 Collider_DestroyTris(PlayState* play, ColliderTris* tris); s32 Collider_SetTrisAllocType1(PlayState* play, ColliderTris* dest, Actor* actor, ColliderTrisInitType1* src); s32 Collider_SetTrisAlloc(PlayState* play, ColliderTris* dest, Actor* actor, ColliderTrisInit* src); s32 Collider_SetTris(PlayState* play, ColliderTris* dest, Actor* actor, ColliderTrisInit* src, - ColliderTrisElement* elements); -s32 Collider_ResetTrisAT(PlayState* play, Collider* collider); -s32 Collider_ResetTrisAC(PlayState* play, Collider* collider); -s32 Collider_ResetTrisOC(PlayState* play, Collider* collider); -s32 Collider_InitQuad(PlayState* play, ColliderQuad* collider); -s32 Collider_DestroyQuad(PlayState* play, ColliderQuad* collider); -s32 Collider_SetQuadType1(PlayState* play, ColliderQuad* collider, Actor* actor, ColliderQuadInitType1* src); -s32 Collider_SetQuad(PlayState* play, ColliderQuad* collider, Actor* actor, ColliderQuadInit* src); -s32 Collider_ResetQuadAT(PlayState* play, Collider* collider); -s32 Collider_ResetQuadAC(PlayState* play, Collider* collider); -s32 Collider_ResetQuadOC(PlayState* play, Collider* collider); + ColliderTrisElement* trisElements); +s32 Collider_ResetTrisAT(PlayState* play, Collider* col); +s32 Collider_ResetTrisAC(PlayState* play, Collider* col); +s32 Collider_ResetTrisOC(PlayState* play, Collider* col); +s32 Collider_InitQuad(PlayState* play, ColliderQuad* quad); +s32 Collider_DestroyQuad(PlayState* play, ColliderQuad* quad); +s32 Collider_SetQuadType1(PlayState* play, ColliderQuad* dest, Actor* actor, ColliderQuadInitType1* src); +s32 Collider_SetQuad(PlayState* play, ColliderQuad* dest, Actor* actor, ColliderQuadInit* src); +s32 Collider_ResetQuadAT(PlayState* play, Collider* col); +s32 Collider_ResetQuadAC(PlayState* play, Collider* col); +s32 Collider_ResetQuadOC(PlayState* play, Collider* col); s32 Collider_InitLine(PlayState* play, OcLine* line); s32 Collider_DestroyLine(PlayState* play, OcLine* line); s32 Collider_SetLinePoints(PlayState* play, OcLine* ocLine, Vec3f* a, Vec3f* b); @@ -710,7 +709,7 @@ void CollisionCheck_DestroyContext(PlayState* play, CollisionCheckContext* colCh void CollisionCheck_ClearContext(PlayState* play, CollisionCheckContext* colChkCtx); void CollisionCheck_EnableSAC(PlayState* play, CollisionCheckContext* colChkCtx); void CollisionCheck_DisableSAC(PlayState* play, CollisionCheckContext* colChkCtx); -void Collider_Draw(PlayState* play, Collider* collider); +void Collider_Draw(PlayState* play, Collider* col); void CollisionCheck_DrawCollision(PlayState* play, CollisionCheckContext* colChkCtx); s32 CollisionCheck_SetAT(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider); s32 CollisionCheck_SetAT_SAC(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider, s32 index); @@ -732,12 +731,12 @@ void CollisionCheck_Damage(PlayState* play, CollisionCheckContext* colChkCtx); s32 CollisionCheck_LineOCCheckAll(PlayState* play, CollisionCheckContext* colChkCtx, Vec3f* a, Vec3f* b); s32 CollisionCheck_LineOCCheck(PlayState* play, CollisionCheckContext* colChkCtx, Vec3f* a, Vec3f* b, Actor** exclusions, s32 numExclusions); -void Collider_UpdateCylinder(Actor* actor, ColliderCylinder* collider); -void Collider_SetCylinderPosition(ColliderCylinder* collider, Vec3s* pos); -void Collider_SetQuadVertices(ColliderQuad* collider, Vec3f* a, Vec3f* b, Vec3f* c, Vec3f* d); -void Collider_SetTrisVertices(ColliderTris* collider, s32 index, Vec3f* a, Vec3f* b, Vec3f* c); -void Collider_SetTrisDim(PlayState* play, ColliderTris* collider, s32 index, ColliderTrisElementDimInit* src); -void Collider_UpdateSpheres(s32 limb, ColliderJntSph* collider); +void Collider_UpdateCylinder(Actor* actor, ColliderCylinder* cyl); +void Collider_SetCylinderPosition(ColliderCylinder* cyl, Vec3s* pos); +void Collider_SetQuadVertices(ColliderQuad* quad, Vec3f* a, Vec3f* b, Vec3f* c, Vec3f* d); +void Collider_SetTrisVertices(ColliderTris* tris, s32 elemIndex, Vec3f* a, Vec3f* b, Vec3f* c); +void Collider_SetTrisDim(PlayState* play, ColliderTris* tris, s32 elemIndex, ColliderTrisElementDimInit* src); +void Collider_UpdateSpheres(s32 limb, ColliderJntSph* jntSph); void CollisionCheck_SpawnRedBlood(PlayState* play, Vec3f* v); void CollisionCheck_SpawnWaterDroplets(PlayState* play, Vec3f* v); void CollisionCheck_SpawnShieldParticles(PlayState* play, Vec3f* v); @@ -775,7 +774,7 @@ void SfxSource_UpdateAll(PlayState* play); void SfxSource_PlaySfxAtFixedWorldPos(PlayState* play, Vec3f* worldPos, s32 duration, u16 sfxId); u16 QuestHint_GetSariaTextId(PlayState* play); u16 QuestHint_GetNaviTextId(PlayState* play); -u16 Text_GetFaceReaction(PlayState* play, u32 reactionSet); +u16 MaskReaction_GetTextId(PlayState* play, u32 maskReactionSet); void CutsceneFlags_UnsetAll(PlayState* play); void CutsceneFlags_Set(PlayState* play, s16 flag); void CutsceneFlags_Unset(PlayState* play, s16 flag); @@ -923,12 +922,12 @@ f32 OLib_Vec3fDist(Vec3f* a, Vec3f* b); f32 OLib_Vec3fDistXZ(Vec3f* a, Vec3f* b); f32 OLib_ClampMinDist(f32 val, f32 min); f32 OLib_ClampMaxDist(f32 val, f32 max); -Vec3f* OLib_Vec3fDistNormalize(Vec3f* dest, Vec3f* a, Vec3f* b); -Vec3f* OLib_VecGeoToVec3f(Vec3f* dest, VecGeo* geo); -VecSph* OLib_Vec3fToVecSph(VecSph* dest, Vec3f* vec); -VecGeo* OLib_Vec3fToVecGeo(VecGeo* dest, Vec3f* vec); -VecGeo* OLib_Vec3fDiffToVecGeo(VecGeo* dest, Vec3f* a, Vec3f* b); -Vec3f* OLib_Vec3fDiffRad(Vec3f* dest, Vec3f* a, Vec3f* b); +Vec3f OLib_Vec3fDistNormalize(Vec3f* a, Vec3f* b); +Vec3f OLib_VecGeoToVec3f(VecGeo* geo); +VecSph OLib_Vec3fToVecSph(Vec3f* vec); +VecGeo OLib_Vec3fToVecGeo(Vec3f* vec); +VecGeo OLib_Vec3fDiffToVecGeo(Vec3f* a, Vec3f* b); +Vec3f OLib_Vec3fDiffRad(Vec3f* a, Vec3f* b); s16 OnePointCutscene_Init(PlayState* play, s16 csId, s16 timer, Actor* actor, s16 parentCamId); s16 OnePointCutscene_EndCutscene(PlayState* play, s16 subCamId); s32 OnePointCutscene_Attention(PlayState* play, Actor* actor); @@ -1271,7 +1270,7 @@ s32 Play_SetCameraFov(PlayState* this, s16 camId, f32 fov); s32 Play_SetCameraRoll(PlayState* this, s16 camId, s16 roll); void Play_CopyCamera(PlayState* this, s16 destCamId, s16 srcCamId); s32 Play_InitCameraDataUsingPlayer(PlayState* this, s16 camId, Player* player, s16 setting); -s32 Play_ChangeCameraSetting(PlayState* this, s16 camId, s16 setting); +s32 Play_RequestCameraSetting(PlayState* this, s16 camId, s16 setting); void Play_ReturnToMainCam(PlayState* this, s16 camId, s16 duration); void Play_SaveSceneFlags(PlayState* this); void Play_SetupRespawnPoint(PlayState* this, s32 respawnMode, s32 playerParams); @@ -1295,13 +1294,6 @@ void func_800C213C(PreRender* this, Gfx** gfxP); void PreRender_RestoreFramebuffer(PreRender* this, Gfx** gfxP); void PreRender_CopyImageRegion(PreRender* this, Gfx** gfxP); void PreRender_ApplyFilters(PreRender* this); -void AudioMgr_StopAllSfx(void); -void func_800C3C80(AudioMgr* audioMgr); -void AudioMgr_HandleRetrace(AudioMgr* audioMgr); -void AudioMgr_HandlePreNMI(AudioMgr* audioMgr); -void AudioMgr_ThreadEntry(void* arg0); -void AudioMgr_Unlock(AudioMgr* audioMgr); -void AudioMgr_Init(AudioMgr* audioMgr, void* stack, OSPri pri, OSId id, Scheduler* sched, IrqMgr* irqMgr); void GameState_FaultPrint(void); void GameState_SetFBFilter(Gfx** gfxP); void GameState_DrawInputDisplay(u16 input, Gfx** gfxP); @@ -1437,9 +1429,13 @@ void Matrix_RotateZYX(s16 x, s16 y, s16 z, u8 mode); void Matrix_TranslateRotateZYX(Vec3f* translation, Vec3s* rotation); void Matrix_SetTranslateRotateYXZ(f32 translateX, f32 translateY, f32 translateZ, Vec3s* rot); Mtx* Matrix_MtxFToMtx(MtxF* src, Mtx* dest); +#ifdef OOT_DEBUG Mtx* Matrix_ToMtx(Mtx* dest, char* file, s32 line); Mtx* Matrix_NewMtx(GraphicsContext* gfxCtx, char* file, s32 line); -Mtx* Matrix_MtxFToNewMtx(MtxF* src, GraphicsContext* gfxCtx); +#else +Mtx* Matrix_ToMtx(Mtx* dest); +Mtx* Matrix_NewMtx(GraphicsContext* gfxCtx); +#endif void Matrix_MultVec3f(Vec3f* src, Vec3f* dest); void Matrix_MtxFCopy(MtxF* dest, MtxF* src); void Matrix_MtxToMtxF(Mtx* src, MtxF* dest); diff --git a/include/macros.h b/include/macros.h index 8514a6924e..f391e81ef2 100644 --- a/include/macros.h +++ b/include/macros.h @@ -100,12 +100,15 @@ #define CHECK_FLAG_ALL(flags, mask) (((flags) & (mask)) == (mask)) - +#ifdef OOT_DEBUG #define LOG(exp, value, format, file, line) \ do { \ LogUtils_LogThreadId(file, line); \ osSyncPrintf(exp " = " format "\n", value); \ } while (0) +#else +#define LOG(exp, value, format, file, line) (void)0 +#endif #define LOG_STRING(string, file, line) LOG(#string, string, "%s", file, line) #define LOG_ADDRESS(exp, value, file, line) LOG(exp, value, "%08x", file, line) @@ -141,6 +144,8 @@ extern struct GraphicsContext* __gfxCtx; #define POLY_XLU_DISP __gfxCtx->polyXlu.p #define OVERLAY_DISP __gfxCtx->overlay.p +#ifdef OOT_DEBUG + // __gfxCtx shouldn't be used directly. // Use the DISP macros defined above when writing to display buffers. #define OPEN_DISPS(gfxCtx, file, line) \ @@ -156,6 +161,48 @@ extern struct GraphicsContext* __gfxCtx; } \ (void)0 +#define GRAPH_ALLOC(gfxCtx, size) Graph_Alloc(gfxCtx, size) +#define MATRIX_TO_MTX(gfxCtx, file, line) Matrix_ToMtx(gfxCtx, file, line) +#define MATRIX_NEW(gfxCtx, file, line) Matrix_NewMtx(gfxCtx, file, line) +#define MATRIX_CHECK_FLOATS(mtx, file, line) Matrix_CheckFloats(mtx, file, line) +#define DMA_REQUEST_SYNC(ram, vrom, size, file, line) DmaMgr_RequestSyncDebug(ram, vrom, size, file, line) +#define DMA_REQUEST_ASYNC(req, ram, vrom, size, unk5, queue, msg, file, line) DmaMgr_RequestAsyncDebug(req, ram, vrom, size, unk5, queue, msg, file, line) +#define GAME_STATE_ALLOC(gameState, size, file, line) GameState_Alloc(gameState, size, file, line) +#define SYSTEM_ARENA_MALLOC(size, file, line) SystemArena_MallocDebug(size, file, line) +#define SYSTEM_ARENA_MALLOC_R(size, file, line) SystemArena_MallocRDebug(size, file, line) +#define SYSTEM_ARENA_FREE(size, file, line) SystemArena_FreeDebug(size, file, line) +#define ZELDA_ARENA_MALLOC(size, file, line) ZeldaArena_MallocDebug(size, file, line) +#define ZELDA_ARENA_MALLOC_R(size, file, line) ZeldaArena_MallocRDebug(size, file, line) +#define ZELDA_ARENA_FREE(size, file, line) ZeldaArena_FreeDebug(size, file, line) + +#else + +#define OPEN_DISPS(gfxCtx, file, line) \ + { \ + GraphicsContext* __gfxCtx = gfxCtx; \ + s32 __dispPad + +#define CLOSE_DISPS(gfxCtx, file, line) \ + (void)0; \ + } \ + (void)0 + +#define GRAPH_ALLOC(gfxCtx, size) ((void*)((gfxCtx)->polyOpa.d = (Gfx*)((u8*)(gfxCtx)->polyOpa.d - ALIGN16(size)))) +#define MATRIX_TO_MTX(gfxCtx, file, line) Matrix_ToMtx(gfxCtx) +#define MATRIX_NEW(gfxCtx, file, line) Matrix_NewMtx(gfxCtx) +#define MATRIX_CHECK_FLOATS(mtx, file, line) (mtx) +#define DMA_REQUEST_SYNC(ram, vrom, size, file, line) DmaMgr_RequestSync(ram, vrom, size) +#define DMA_REQUEST_ASYNC(req, ram, vrom, size, unk5, queue, msg, file, line) DmaMgr_RequestAsync(req, ram, vrom, size, unk5, queue, msg) +#define GAME_STATE_ALLOC(gameState, size, file, line) THA_AllocTailAlign16(&(gameState)->tha, size) +#define SYSTEM_ARENA_MALLOC(size, file, line) SystemArena_Malloc(size) +#define SYSTEM_ARENA_MALLOC_R(size, file, line) SystemArena_MallocR(size) +#define SYSTEM_ARENA_FREE(size, file, line) SystemArena_Free(size) +#define ZELDA_ARENA_MALLOC(size, file, line) ZeldaArena_Malloc(size) +#define ZELDA_ARENA_MALLOC_R(size, file, line) ZeldaArena_MallocR(size) +#define ZELDA_ARENA_FREE(size, file, line) ZeldaArena_Free(size) + +#endif /* OOT_DEBUG */ + /** * `x` vertex x * `y` vertex y diff --git a/include/regs.h b/include/regs.h index 8875ae12ca..a1e25389bb 100644 --- a/include/regs.h +++ b/include/regs.h @@ -48,6 +48,7 @@ #define R_ENV_TIME_SPEED_OLD REG(15) // Most likely used during development. Unused in the final game. #define R_RUN_SPEED_LIMIT REG(45) #define R_ENABLE_ARENA_DBG SREG(0) +#define R_AUDIOMGR_DEBUG_LEVEL SREG(20) #define R_ROOM_IMAGE_NODRAW_FLAGS SREG(25) #define R_ROOM_BG2D_FORCE_SCALEBG SREG(26) #define R_UPDATE_RATE SREG(30) diff --git a/include/ultra64/gbi.h b/include/ultra64/gbi.h index 35f68a60ce..51adc6b7fe 100644 --- a/include/ultra64/gbi.h +++ b/include/ultra64/gbi.h @@ -5123,6 +5123,8 @@ _DW({ \ #define gDPNoOpTag(pkt, tag) gDPParam(pkt, G_NOOP, tag) #define gsDPNoOpTag(tag) gsDPParam( G_NOOP, tag) +#ifdef OOT_DEBUG + #define gDPNoOpHere(pkt, file, line) gDma1p(pkt, G_NOOP, file, line, 1) #define gDPNoOpString(pkt, data, n) gDma1p(pkt, G_NOOP, data, n, 2) #define gDPNoOpWord(pkt, data, n) gDma1p(pkt, G_NOOP, data, n, 3) @@ -5134,6 +5136,21 @@ _DW({ \ #define gDPNoOpCloseDisp(pkt, file, line) gDma1p(pkt, G_NOOP, file, line, 8) #define gDPNoOpTag3(pkt, type, data, n) gDma1p(pkt, G_NOOP, data, n, type) +#else + +#define gDPNoOpHere(pkt, file, line) +#define gDPNoOpString(pkt, data, n) +#define gDPNoOpWord(pkt, data, n) +#define gDPNoOpFloat(pkt, data, n) +#define gDPNoOpQuiet(pkt) +#define gDPNoOpVerbose(pkt, n) +#define gDPNoOpCallBack(pkt, callback, arg) +#define gDPNoOpOpenDisp(pkt, file, line) +#define gDPNoOpCloseDisp(pkt, file, line) +#define gDPNoOpTag3(pkt, type, data, n) + +#endif /* OOT_DEBUG */ + #endif #endif diff --git a/include/z64.h b/include/z64.h index 572afb4d1d..09d205d5ee 100644 --- a/include/z64.h +++ b/include/z64.h @@ -4,6 +4,7 @@ #include "ultra64.h" #include "ultra64/gs2dex.h" #include "attributes.h" +#include "audiomgr.h" #include "z64save.h" #include "z64light.h" #include "z64bgcheck.h" @@ -272,6 +273,8 @@ typedef struct { /* 0x74 */ s16 unk_74[2]; // context-specific data used by the current scene draw config } RoomContext; // size = 0x78 +#define SAC_ENABLE (1 << 0) + typedef struct { /* 0x000 */ s16 colATCount; /* 0x002 */ u16 sacFlags; @@ -695,20 +698,6 @@ typedef struct { /* 0x10 */ u8 data[1]; } Yaz0Header; // size = 0x10 ("data" is not part of the header) -typedef struct { - /* 0x0000 */ IrqMgr* irqMgr; - /* 0x0004 */ Scheduler* sched; - /* 0x0008 */ OSScTask audioTask; - /* 0x0070 */ AudioTask* rspTask; - /* 0x0074 */ OSMesgQueue interruptQueue; - /* 0x008C */ OSMesg interruptMsgBuf[8]; - /* 0x00AC */ OSMesgQueue taskQueue; - /* 0x00C4 */ OSMesg taskMsgBuf[1]; - /* 0x00C8 */ OSMesgQueue lockQueue; - /* 0x00E0 */ OSMesg lockMsgBuf[1]; - /* 0x00E8 */ OSThread thread; -} AudioMgr; // size = 0x298 - struct ArenaNode; typedef struct Arena { diff --git a/include/z64actor.h b/include/z64actor.h index 8fdbbf1dbc..fd38b002b2 100644 --- a/include/z64actor.h +++ b/include/z64actor.h @@ -147,7 +147,10 @@ typedef struct { #define ACTOR_FLAG_5 (1 << 5) #define ACTOR_FLAG_6 (1 << 6) #define ACTOR_FLAG_7 (1 << 7) -#define ACTOR_FLAG_8 (1 << 8) +// Signals that player has accepted an offer to talk to an actor +// Player will retain this flag until the player is finished talking +// Actor will retain this flag until `Actor_TalkOfferAccepted` is called or manually turned off by the actor +#define ACTOR_FLAG_TALK (1 << 8) #define ACTOR_FLAG_9 (1 << 9) #define ACTOR_FLAG_10 (1 << 10) #define ACTOR_FLAG_ENKUSA_CUT (1 << 11) diff --git a/include/z64audio.h b/include/z64audio.h index d2f3d6360f..7e6f4e40bf 100644 --- a/include/z64audio.h +++ b/include/z64audio.h @@ -814,13 +814,6 @@ typedef struct { /* 0x10 */ AudioTableEntry entries[1]; // (dynamic size) } AudioTable; // size >= 0x20 -typedef struct { - /* 0x00 */ OSTask task; - /* 0x40 */ OSMesgQueue* msgQueue; - /* 0x44 */ void* unk_44; // probably a message that gets unused. - /* 0x48 */ char unk_48[0x8]; -} AudioTask; // size = 0x50 - typedef struct { /* 0x00 */ u8* ramAddr; /* 0x04 */ u32 devAddr; @@ -831,6 +824,13 @@ typedef struct { /* 0x0E */ u8 ttl; // duration after which the DMA can be discarded } SampleDma; // size = 0x10 +typedef struct { + /* 0x00 */ OSTask task; + /* 0x40 */ OSMesgQueue* msgQueue; + /* 0x44 */ void* unk_44; // probably a message that gets unused. + /* 0x48 */ char unk_48[0x8]; +} AudioTask; // size = 0x50 + typedef struct { /* 0x0000 */ char unk_0000; /* 0x0001 */ s8 numSynthesisReverbs; diff --git a/include/z64camera.h b/include/z64camera.h index f6c4589180..81584c1b68 100644 --- a/include/z64camera.h +++ b/include/z64camera.h @@ -84,33 +84,33 @@ #define CAM_INTERFACE_FIELD(letterboxFlag, hudVisibilityMode, funcFlags) \ (((letterboxFlag) & CAM_LETTERBOX_MASK) | CAM_HUD_VISIBILITY(hudVisibilityMode) | ((funcFlags) & 0xFF)) -// Camera behaviorFlags. Flags specifically for settings, modes, and bgCam -// Used to store current state, only CAM_BEHAVIOR_SETTING_1 and CAM_BEHAVIOR_BG_2 are read from and used in logic +// Camera behaviorFlags. Flags specifically for settings, modes, and bgCam. Reset every frame. +// Used to store current state, only CAM_BEHAVIOR_SETTING_CHECK_PRIORITY and CAM_BEHAVIOR_BG_PROCESSED are read from and used in logic // Setting (0x1, 0x10) -#define CAM_BEHAVIOR_SETTING_1 (1 << 0) -#define CAM_BEHAVIOR_SETTING_2 (1 << 4) +#define CAM_BEHAVIOR_SETTING_CHECK_PRIORITY (1 << 0) +#define CAM_BEHAVIOR_SETTING_VALID (1 << 4) // Set when a valid camera setting is requested // Mode (0x2, 0x20) -#define CAM_BEHAVIOR_MODE_1 (1 << 1) -#define CAM_BEHAVIOR_MODE_2 (1 << 5) +#define CAM_BEHAVIOR_MODE_SUCCESS (1 << 1) // Set when the camera mode is the requested mode +#define CAM_BEHAVIOR_MODE_VALID (1 << 5) // Set when a valid camera mode is requested // bgCam (0x4, 0x40) -#define CAM_BEHAVIOR_BG_1 (1 << 2) -#define CAM_BEHAVIOR_BG_2 (1 << 6) +#define CAM_BEHAVIOR_BG_SUCCESS (1 << 2) +#define CAM_BEHAVIOR_BG_PROCESSED (1 << 6) // Camera stateFlags. Variety of generic flags -#define CAM_STATE_0 (1 << 0) // Must be set for the camera to change settings based on the bg surface -#define CAM_STATE_1 (1 << 1) // Must be set for Camera_UpdateWater to run -#define CAM_STATE_2 (1 << 2) -#define CAM_STATE_3 (1 << 3) // Customizable flag for different functions -#define CAM_STATE_4 (1 << 4) -#define CAM_STATE_5 (1 << 5) -#define CAM_STATE_6 (1 << 6) -#define CAM_STATE_7 (1 << 7) // Set in play, unused -#define CAM_STATE_8 (1 << 8) // Camera (eye) is underwater -#define CAM_STATE_9 (1 << 9) -#define CAM_STATE_10 (1 << 10) // Prevents the camera from changing settings based on the bg surface -#define CAM_STATE_12 (1 << 12) // Set in Camera_Demo7, but Camera_Demo7 is never called -#define CAM_STATE_14 (1 << 14) // isInitialized. Turned on in Camera Init, never used or changed -#define CAM_STATE_15 ((s16)(1 << 15)) +#define CAM_STATE_CHECK_BG_ALT (1 << 0) // Must be set for the camera to change settings based on the bg surface +#define CAM_STATE_CHECK_WATER (1 << 1) // Must be set for Camera_UpdateWater to run +#define CAM_STATE_CHECK_BG (1 << 2) // Must be set for the camera to change settings based on the bg surface +#define CAM_STATE_EXTERNAL_FINISHED (1 << 3) // Signal from the external systems to camera that the current cam-update function is no longer needed +#define CAM_STATE_CAM_FUNC_FINISH (1 << 4) // Signal from camera to player that the cam-update function is finished its primary purpose +#define CAM_STATE_LOCK_MODE (1 << 5) // Prevents camera from changing mode, unless overriden by `forceModeChange` passed to `Camera_RequestModeImpl` +#define CAM_STATE_DISTORTION (1 << 6) // Set when camera distortion is on +#define CAM_STATE_PLAY_INIT (1 << 7) // Set in Play_Init, never used or changed +#define CAM_STATE_CAMERA_IN_WATER (1 << 8) // Camera (eye) is underwater +#define CAM_STATE_PLAYER_IN_WATER (1 << 9) // Player is swimming in water +#define CAM_STATE_BLOCK_BG (1 << 10) // Prevents the camera from changing settings based on the bg surface for 1 frame +#define CAM_STATE_DEMO7 (1 << 12) // Set in Camera_Demo7, but this function is never called +#define CAM_STATE_CAM_INIT (1 << 14) // Set in Camera_Init, never used or changed +#define CAM_STATE_PLAYER_DIVING ((s16)(1 << 15)) // Diving from the surface of the water down // Camera viewFlags. Set params related to view #define CAM_VIEW_AT (1 << 0) // camera->at diff --git a/include/z64collision_check.h b/include/z64collision_check.h index 3e4ae20f32..bf411201d9 100644 --- a/include/z64collision_check.h +++ b/include/z64collision_check.h @@ -8,226 +8,9 @@ struct Actor; -typedef struct { - /* 0x00 */ struct Actor* actor; // Attached actor - /* 0x04 */ struct Actor* at; // Actor attached to what it collided with as an AT collider. - /* 0x08 */ struct Actor* ac; // Actor attached to what it collided with as an AC collider. - /* 0x0C */ struct Actor* oc; // Actor attached to what it collided with as an OC collider. - /* 0x10 */ u8 atFlags; // Information flags for AT collisions. - /* 0x11 */ u8 acFlags; // Information flags for AC collisions. - /* 0x12 */ u8 ocFlags1; // Information flags for OC collisions. - /* 0x13 */ u8 ocFlags2; // Flags related to which colliders it can OC collide with. - /* 0x14 */ u8 colType; // Determines hitmarks and sound effects during AC collisions. - /* 0x15 */ u8 shape; // JntSph, Cylinder, Tris, or Quad -} Collider; // size = 0x18 - -typedef struct { - /* 0x00 */ u8 colType; // Determines hitmarks and sound effects during AC collisions. - /* 0x01 */ u8 atFlags; // Information flags for AT collisions. - /* 0x02 */ u8 acFlags; // Information flags for AC collisions. - /* 0x03 */ u8 ocFlags1; // Information flags for OC collisions. - /* 0x04 */ u8 ocFlags2; // Flags related to which colliders it can OC collide with. - /* 0x05 */ u8 shape; // JntSph, Cylinder, Tris, or Quad -} ColliderInit; // size = 0x06 - -typedef struct { - /* 0x00 */ u8 colType; // Determines hitmarks and sound effects during AC collisions. - /* 0x01 */ u8 atFlags; // Information flags for AT collisions. - /* 0x02 */ u8 acFlags; // Information flags for AC collisions. - /* 0x03 */ u8 ocFlags1; // Information flags for OC collisions. - /* 0x04 */ u8 shape; // JntSph, Cylinder, Tris, or Quad -} ColliderInitType1; // size = 0x05 - -typedef struct { - /* 0x00 */ struct Actor* actor; - /* 0x04 */ u8 atFlags; // Information flags for AT collisions. - /* 0x05 */ u8 acFlags; // Information flags for AC collisions. - /* 0x06 */ u8 ocFlags1; // Information flags for OC collisions. - /* 0x07 */ u8 shape; // JntSph, Cylinder, Tris, or Quad -} ColliderInitToActor; // size = 0x08 - -typedef struct { - /* 0x00 */ u32 dmgFlags; // Toucher damage type flags. - /* 0x04 */ u8 effect; // Damage Effect (Knockback, Fire, etc.) - /* 0x05 */ u8 damage; // Damage or Stun Timer -} ColliderTouch; // size = 0x08 - -typedef struct { - /* 0x00 */ u32 dmgFlags; // Bumper damage type flags. - /* 0x04 */ u8 effect; // Damage Effect (Knockback, Fire, etc.) - /* 0x05 */ u8 defense; // Damage Resistance - /* 0x06 */ Vec3s hitPos; // Point of contact -} ColliderBump; // size = 0x0C - -typedef struct { - /* 0x00 */ u32 dmgFlags; // Bumper exclusion mask - /* 0x04 */ u8 effect; // Damage Effect (Knockback, Fire, etc.) - /* 0x05 */ u8 defense; // Damage Resistance -} ColliderBumpInit; // size = 0x08 - -typedef struct ColliderInfo { - /* 0x00 */ ColliderTouch toucher; // Damage properties when acting as an AT collider - /* 0x08 */ ColliderBump bumper; // Damage properties when acting as an AC collider - /* 0x14 */ u8 elemType; // Affects sfx reaction when attacked by Link and hookability. Full purpose unknown. - /* 0x15 */ u8 toucherFlags; // Information flags for AT collisions - /* 0x16 */ u8 bumperFlags; // Information flags for AC collisions - /* 0x17 */ u8 ocElemFlags; // Information flags for OC collisions - /* 0x18 */ Collider* atHit; // object touching this element's AT collider - /* 0x1C */ Collider* acHit; // object touching this element's AC collider - /* 0x20 */ struct ColliderInfo* atHitInfo; // element that hit the AT collider - /* 0x24 */ struct ColliderInfo* acHitInfo; // element that hit the AC collider -} ColliderInfo; // size = 0x28 - -typedef struct { - /* 0x00 */ u8 elemType; // Affects sfx reaction when attacked by Link and hookability. Full purpose unknown. - /* 0x04 */ ColliderTouch toucher; // Damage properties when acting as an AT collider - /* 0x0C */ ColliderBumpInit bumper; // Damage properties when acting as an AC collider - /* 0x14 */ u8 toucherFlags; // Information flags for AT collisions - /* 0x15 */ u8 bumperFlags; // Information flags for AC collisions - /* 0x16 */ u8 ocElemFlags; // Information flags for OC collisions -} ColliderInfoInit; // size = 0x18 - -typedef struct { - /* 0x00 */ Sphere16 modelSphere; // model space sphere - /* 0x08 */ Sphere16 worldSphere; // world space sphere - /* 0x10 */ f32 scale; // world space sphere = model * scale * 0.01 - /* 0x14 */ u8 limb; // attached limb -} ColliderJntSphElementDim; // size = 0x18 - -typedef struct { - /* 0x00 */ u8 limb; // attached limb - /* 0x02 */ Sphere16 modelSphere; // model space sphere - /* 0x0A */ s16 scale; // world space sphere = model * scale * 0.01 -} ColliderJntSphElementDimInit; // size = 0x0C - -typedef struct { - /* 0x00 */ ColliderInfo info; - /* 0x28 */ ColliderJntSphElementDim dim; -} ColliderJntSphElement; // size = 0x40 - -typedef struct { - /* 0x00 */ ColliderInfoInit info; - /* 0x18 */ ColliderJntSphElementDimInit dim; -} ColliderJntSphElementInit; // size = 0x24 - -typedef struct { - /* 0x00 */ Collider base; - /* 0x18 */ s32 count; - /* 0x1C */ ColliderJntSphElement* elements; -} ColliderJntSph; // size = 0x20 - -typedef struct { - /* 0x00 */ ColliderInit base; - /* 0x08 */ s32 count; - /* 0x0C */ ColliderJntSphElementInit* elements; -} ColliderJntSphInit; // size = 0x10 - -typedef struct { - /* 0x00 */ ColliderInitType1 base; - /* 0x08 */ s32 count; - /* 0x0C */ ColliderJntSphElementInit* elements; -} ColliderJntSphInitType1; // size = 0x10 - -typedef struct { - /* 0x00 */ ColliderInitToActor base; - /* 0x08 */ s32 count; - /* 0x0C */ ColliderJntSphElementInit* elements; -} ColliderJntSphInitToActor; // size = 0x10 - -typedef struct { - /* 0x00 */ Collider base; - /* 0x18 */ ColliderInfo info; - /* 0x40 */ Cylinder16 dim; -} ColliderCylinder; // size = 0x4C - -typedef struct { - /* 0x00 */ ColliderInit base; - /* 0x08 */ ColliderInfoInit info; - /* 0x20 */ Cylinder16 dim; -} ColliderCylinderInit; // size = 0x2C - -typedef struct { - /* 0x00 */ ColliderInitType1 base; - /* 0x08 */ ColliderInfoInit info; - /* 0x20 */ Cylinder16 dim; -} ColliderCylinderInitType1; // size = 0x2C - -typedef struct { - /* 0x00 */ ColliderInitToActor base; - /* 0x08 */ ColliderInfoInit info; - /* 0x20 */ Cylinder16 dim; -} ColliderCylinderInitToActor; // size = 0x2C - -typedef struct { - /* 0x00 */ Vec3f vtx[3]; -} ColliderTrisElementDimInit; // size = 0x24 - -typedef struct { - /* 0x00 */ ColliderInfo info; - /* 0x28 */ TriNorm dim; -} ColliderTrisElement; // size = 0x5C - -typedef struct { - /* 0x00 */ ColliderInfoInit info; - /* 0x18 */ ColliderTrisElementDimInit dim; -} ColliderTrisElementInit; // size = 0x3C - -typedef struct { - /* 0x00 */ Collider base; - /* 0x18 */ s32 count; - /* 0x1C */ ColliderTrisElement* elements; -} ColliderTris; // size = 0x20 - -typedef struct { - /* 0x00 */ ColliderInit base; - /* 0x08 */ s32 count; - /* 0x0C */ ColliderTrisElementInit* elements; -} ColliderTrisInit; // size = 0x10 - -typedef struct { - /* 0x00 */ ColliderInitType1 base; - /* 0x08 */ s32 count; - /* 0x0C */ ColliderTrisElementInit* elements; -} ColliderTrisInitType1; // size = 0x10 - -typedef struct { - /* 0x00 */ Vec3f quad[4]; - /* 0x30 */ Vec3s dcMid; // midpoint of vectors d, c - /* 0x36 */ Vec3s baMid; // midpoint of vectors b, a - /* 0x3C */ f32 acDistSq; // distance to nearest AC collision this frame, squared. -} ColliderQuadDim; // size = 0x40 - -typedef struct { - /* 0x00 */ Vec3f quad[4]; -} ColliderQuadDimInit; // size = 0x30 - -typedef struct { - /* 0x00 */ ColliderInfo info; - /* 0x24 */ ColliderQuadDim dim; -} ColliderQuadElement; // size = 0x68 - -typedef struct { - /* 0x00 */ Collider base; - /* 0x18 */ ColliderInfo info; - /* 0x40 */ ColliderQuadDim dim; -} ColliderQuad; // size = 0x80 - -typedef struct { - /* 0x00 */ ColliderInit base; - /* 0x08 */ ColliderInfoInit info; - /* 0x20 */ ColliderQuadDimInit dim; -} ColliderQuadInit; // size = 0x50 - -typedef struct { - /* 0x00 */ ColliderInitType1 base; - /* 0x08 */ ColliderInfoInit info; - /* 0x20 */ ColliderQuadDimInit dim; -} ColliderQuadInitType1; // size = 0x50 - -typedef struct { - /* 0x00 */ Linef line; - /* 0x18 */ u16 ocFlags; -} OcLine; // size = 0x1C +/* + * Bases for all shapes of colliders + */ typedef enum { /* 0 */ COLTYPE_HIT0, // Blue blood, white hitmark @@ -254,6 +37,63 @@ typedef enum { /* 4 */ COLSHAPE_MAX } ColliderShape; +typedef struct { + /* 0x00 */ struct Actor* actor; // Attached actor + /* 0x04 */ struct Actor* at; // Actor attached to what it collided with as an AT collider. + /* 0x08 */ struct Actor* ac; // Actor attached to what it collided with as an AC collider. + /* 0x0C */ struct Actor* oc; // Actor attached to what it collided with as an OC collider. + /* 0x10 */ u8 atFlags; + /* 0x11 */ u8 acFlags; + /* 0x12 */ u8 ocFlags1; + /* 0x13 */ u8 ocFlags2; // Flags related to which colliders it can OC collide with. + /* 0x14 */ u8 colType; // Determines hitmarks and sound effects during AC collisions. See `ColliderType` enum + /* 0x15 */ u8 shape; // See `ColliderShape` enum +} Collider; // size = 0x18 + +typedef struct { + /* 0x00 */ u8 colType; + /* 0x01 */ u8 atFlags; + /* 0x02 */ u8 acFlags; + /* 0x03 */ u8 ocFlags1; + /* 0x04 */ u8 ocFlags2; + /* 0x05 */ u8 shape; +} ColliderInit; // size = 0x06 + +typedef struct { + /* 0x00 */ u8 colType; + /* 0x01 */ u8 atFlags; + /* 0x02 */ u8 acFlags; + /* 0x03 */ u8 ocFlags1; + /* 0x04 */ u8 shape; +} ColliderInitType1; // size = 0x05 + +typedef struct { + /* 0x00 */ struct Actor* actor; + /* 0x04 */ u8 atFlags; + /* 0x05 */ u8 acFlags; + /* 0x06 */ u8 ocFlags1; + /* 0x07 */ u8 shape; +} ColliderInitToActor; // size = 0x08 + +typedef struct { + /* 0x00 */ u32 dmgFlags; // Toucher damage type flags. + /* 0x04 */ u8 effect; // Damage Effect (Knockback, Fire, etc.) + /* 0x05 */ u8 damage; // Damage or Stun Timer +} ColliderElementTouch; // size = 0x08 + +typedef struct { + /* 0x00 */ u32 dmgFlags; // Bumper damage type flags. + /* 0x04 */ u8 effect; // Damage Effect (Knockback, Fire, etc.) + /* 0x05 */ u8 defense; // Damage Resistance + /* 0x06 */ Vec3s hitPos; // Point of contact +} ColliderElementBump; // size = 0x0C + +typedef struct { + /* 0x00 */ u32 dmgFlags; // Bumper exclusion mask + /* 0x04 */ u8 effect; // Damage Effect (Knockback, Fire, etc.) + /* 0x05 */ u8 defense; // Damage Resistance +} ColliderElementBumpInit; // size = 0x08 + /** * Affects the sound Link's sword makes when hitting it, hookability, * and possibly other things. It's definitely not flags, as all checks @@ -271,7 +111,204 @@ typedef enum { /* 7 */ ELEMTYPE_UNK7 } ElementType; -#define SAC_ENABLE (1 << 0) +typedef struct ColliderElement { + /* 0x00 */ ColliderElementTouch toucher; // Damage properties when acting as an AT collider + /* 0x08 */ ColliderElementBump bumper; // Damage properties when acting as an AC collider + /* 0x14 */ u8 elemType; // Affects sfx reaction when attacked by Link and hookability. Full purpose unknown. + /* 0x15 */ u8 toucherFlags; // Information flags for AT collisions + /* 0x16 */ u8 bumperFlags; // Information flags for AC collisions + /* 0x17 */ u8 ocElemFlags; // Information flags for OC collisions + /* 0x18 */ Collider* atHit; // object touching this element's AT collider + /* 0x1C */ Collider* acHit; // object touching this element's AC collider + /* 0x20 */ struct ColliderElement* atHitElem; // element that hit the AT collider + /* 0x24 */ struct ColliderElement* acHitElem; // element that hit the AC collider +} ColliderElement; // size = 0x28 + +typedef struct { + /* 0x00 */ u8 elemType; // Affects sfx reaction when attacked by Link and hookability. Full purpose unknown. + /* 0x04 */ ColliderElementTouch toucher; // Damage properties when acting as an AT collider + /* 0x0C */ ColliderElementBumpInit bumper; // Damage properties when acting as an AC collider + /* 0x14 */ u8 toucherFlags; // Information flags for AT collisions + /* 0x15 */ u8 bumperFlags; // Information flags for AC collisions + /* 0x16 */ u8 ocElemFlags; // Information flags for OC collisions +} ColliderElementInit; // size = 0x18 + +/* + * JntSph - A collider made of sphere shaped elements. Each sphere can attach to a skeleton joint (limb). + */ + +// collider structs + +typedef struct { + /* 0x00 */ Sphere16 modelSphere; // model space sphere + /* 0x08 */ Sphere16 worldSphere; // world space sphere + /* 0x10 */ f32 scale; // world space sphere = model * scale * 0.01 + /* 0x14 */ u8 limb; // attached limb +} ColliderJntSphElementDim; // size = 0x18 + +typedef struct { + /* 0x00 */ ColliderElement base; + /* 0x28 */ ColliderJntSphElementDim dim; +} ColliderJntSphElement; // size = 0x40 + +typedef struct { + /* 0x00 */ Collider base; + /* 0x18 */ s32 count; + /* 0x1C */ ColliderJntSphElement* elements; +} ColliderJntSph; // size = 0x20 + +// init data structs + +typedef struct { + /* 0x00 */ u8 limb; // attached limb + /* 0x02 */ Sphere16 modelSphere; // model space sphere + /* 0x0A */ s16 scale; // world space sphere = model * scale * 0.01 +} ColliderJntSphElementDimInit; // size = 0x0C + +typedef struct { + /* 0x00 */ ColliderElementInit base; + /* 0x18 */ ColliderJntSphElementDimInit dim; +} ColliderJntSphElementInit; // size = 0x24 + +typedef struct { + /* 0x00 */ ColliderInit base; + /* 0x08 */ s32 count; + /* 0x0C */ ColliderJntSphElementInit* elements; +} ColliderJntSphInit; // size = 0x10 + +typedef struct { + /* 0x00 */ ColliderInitType1 base; + /* 0x08 */ s32 count; + /* 0x0C */ ColliderJntSphElementInit* elements; +} ColliderJntSphInitType1; // size = 0x10 + +typedef struct { + /* 0x00 */ ColliderInitToActor base; + /* 0x08 */ s32 count; + /* 0x0C */ ColliderJntSphElementInit* elements; +} ColliderJntSphInitToActor; // size = 0x10 + +/* + * Cylinder - A single cylinder shaped collider + */ + +// collider structs + +typedef struct { + /* 0x00 */ Collider base; + /* 0x18 */ ColliderElement elem; + /* 0x40 */ Cylinder16 dim; +} ColliderCylinder; // size = 0x4C + +// init data structs + +typedef struct { + /* 0x00 */ ColliderInit base; + /* 0x08 */ ColliderElementInit elem; + /* 0x20 */ Cylinder16 dim; +} ColliderCylinderInit; // size = 0x2C + +typedef struct { + /* 0x00 */ ColliderInitType1 base; + /* 0x08 */ ColliderElementInit elem; + /* 0x20 */ Cylinder16 dim; +} ColliderCylinderInitType1; // size = 0x2C + +typedef struct { + /* 0x00 */ ColliderInitToActor base; + /* 0x08 */ ColliderElementInit elem; + /* 0x20 */ Cylinder16 dim; +} ColliderCylinderInitToActor; // size = 0x2C + +/* + * Tris - A collider made of triangle shaped elements + */ + +// collider structs + +typedef struct { + /* 0x00 */ ColliderElement base; + /* 0x28 */ TriNorm dim; +} ColliderTrisElement; // size = 0x5C + +typedef struct { + /* 0x00 */ Collider base; + /* 0x18 */ s32 count; + /* 0x1C */ ColliderTrisElement* elements; +} ColliderTris; // size = 0x20 + +// init data structs + +typedef struct { + /* 0x00 */ Vec3f vtx[3]; +} ColliderTrisElementDimInit; // size = 0x24 + +typedef struct { + /* 0x00 */ ColliderElementInit base; + /* 0x18 */ ColliderTrisElementDimInit dim; +} ColliderTrisElementInit; // size = 0x3C + +typedef struct { + /* 0x00 */ ColliderInit base; + /* 0x08 */ s32 count; + /* 0x0C */ ColliderTrisElementInit* elements; +} ColliderTrisInit; // size = 0x10 + +typedef struct { + /* 0x00 */ ColliderInitType1 base; + /* 0x08 */ s32 count; + /* 0x0C */ ColliderTrisElementInit* elements; +} ColliderTrisInitType1; // size = 0x10 + +/* + * Quad - A single quad shaped collider + */ + +// collider structs + +typedef struct { + /* 0x00 */ Vec3f quad[4]; + /* 0x30 */ Vec3s dcMid; // midpoint of vectors d, c + /* 0x36 */ Vec3s baMid; // midpoint of vectors b, a + /* 0x3C */ f32 acDistSq; // distance to nearest AC collision this frame, squared. +} ColliderQuadDim; // size = 0x40 + +typedef struct { + /* 0x00 */ Collider base; + /* 0x18 */ ColliderElement elem; + /* 0x40 */ ColliderQuadDim dim; +} ColliderQuad; // size = 0x80 + +// init data structs + +typedef struct { + /* 0x00 */ Vec3f quad[4]; +} ColliderQuadDimInit; // size = 0x30 + +typedef struct { + /* 0x00 */ ColliderInit base; + /* 0x08 */ ColliderElementInit elem; + /* 0x20 */ ColliderQuadDimInit dim; +} ColliderQuadInit; // size = 0x50 + +typedef struct { + /* 0x00 */ ColliderInitType1 base; + /* 0x08 */ ColliderElementInit elem; + /* 0x20 */ ColliderQuadDimInit dim; +} ColliderQuadInitType1; // size = 0x50 + +/* + * Line collider + */ + +typedef struct { + /* 0x00 */ Linef line; + /* 0x18 */ u16 ocFlags; +} OcLine; // size = 0x1C + +/* + * Collider properties, for all shapes + */ #define AT_NONE 0 // No flags set. Cannot have AT collisions when set as AT #define AT_ON (1 << 0) // Can have AT collisions when set as AT diff --git a/include/z64dma.h b/include/z64dma.h index 1e9e87b074..e63e02a309 100755 --- a/include/z64dma.h +++ b/include/z64dma.h @@ -43,10 +43,12 @@ extern size_t gDmaMgrDmaBuffSize; // Standard DMA Requests -s32 DmaMgr_RequestSync(void* ram, uintptr_t vrom, size_t size); -s32 DmaMgr_RequestSyncDebug(void* ram, uintptr_t vrom, size_t size, const char* file, s32 line); s32 DmaMgr_RequestAsync(DmaRequest* req, void* ram, uintptr_t vrom, size_t size, u32 unk5, OSMesgQueue* queue, - OSMesg msg, const char* file, s32 line); + OSMesg msg); +s32 DmaMgr_RequestSync(void* ram, uintptr_t vrom, size_t size); +s32 DmaMgr_RequestAsyncDebug(DmaRequest* req, void* ram, uintptr_t vrom, size_t size, u32 unk5, OSMesgQueue* queue, + OSMesg msg, const char* file, s32 line); +s32 DmaMgr_RequestSyncDebug(void* ram, uintptr_t vrom, size_t size, const char* file, s32 line); // Special-purpose DMA Requests diff --git a/include/z64item.h b/include/z64item.h index 61f0cb3e66..0b2158e60d 100644 --- a/include/z64item.h +++ b/include/z64item.h @@ -308,7 +308,7 @@ typedef enum { /* 0x99 */ ITEM_DEKU_STICK_UPGRADE_30, /* 0x9A */ ITEM_DEKU_NUT_UPGRADE_30, /* 0x9B */ ITEM_DEKU_NUT_UPGRADE_40, - /* 0xFC */ ITEM_LAST_USED = 0xFC, + /* 0xFC */ ITEM_SWORD_CS = 0xFC, /* 0xFE */ ITEM_NONE_FE = 0xFE, /* 0xFF */ ITEM_NONE = 0xFF } ItemID; diff --git a/include/z64message.h b/include/z64message.h index 6c0c91bfcf..9b42e60847 100644 --- a/include/z64message.h +++ b/include/z64message.h @@ -82,6 +82,70 @@ typedef enum { /* 0x37 */ MSGMODE_PAUSED // Causes the message system to do nothing until external code sets a new message mode or calls a public function } MessageMode; +typedef enum MaskReactionSet { + /* 0x00 */ MASK_REACTION_SET_CARPENTER_BOSS, + /* 0x01 */ MASK_REACTION_SET_CARPENTER_1, + /* 0x02 */ MASK_REACTION_SET_CARPENTER_2, + /* 0x03 */ MASK_REACTION_SET_CARPENTER_3, + /* 0x04 */ MASK_REACTION_SET_CARPENTER_4, + /* 0x05 */ MASK_REACTION_SET_HYRULIAN_GUARD, + /* 0x06 */ MASK_REACTION_SET_HEISHI4_1, + /* 0x07 */ MASK_REACTION_SET_HEISHI4_2, + /* 0x08 */ MASK_REACTION_SET_CUCCO_LADY, + /* 0x09 */ MASK_REACTION_SET_CARPENTERS_SON, + /* 0x0A */ MASK_REACTION_SET_KAKARIKO_ROOF_MAN, + /* 0x0B */ MASK_REACTION_SET_WINDMILL_MAN, + /* 0x0C */ MASK_REACTION_SET_12, // Unused + /* 0x0D */ MASK_REACTION_SET_CURSED_SKULLTULA_MAN, + /* 0x0E */ MASK_REACTION_SET_DAMPE, + /* 0x0F */ MASK_REACTION_SET_GRAVEYARD_KID, + /* 0x10 */ MASK_REACTION_SET_SARIA, + /* 0x11 */ MASK_REACTION_SET_MIDO, + /* 0x12 */ MASK_REACTION_SET_FADO, + /* 0x13 */ MASK_REACTION_SET_KOKIRI_1, + /* 0x14 */ MASK_REACTION_SET_KOKIRI_2, + /* 0x15 */ MASK_REACTION_SET_SKULL_KID, + /* 0x16 */ MASK_REACTION_SET_ZELDA, + /* 0x17 */ MASK_REACTION_SET_MALON, + /* 0x18 */ MASK_REACTION_SET_TALON, + /* 0x19 */ MASK_REACTION_SET_INGO, + /* 0x1A */ MASK_REACTION_SET_LAKESIDE_PROFESSOR, + /* 0x1B */ MASK_REACTION_SET_MAGIC_BEAN_SALESMAN, + /* 0x1C */ MASK_REACTION_SET_RUNNING_MAN, + /* 0x1D */ MASK_REACTION_SET_ZORA, + /* 0x1E */ MASK_REACTION_SET_KING_ZORA, + /* 0x1F */ MASK_REACTION_SET_RUTO, + /* 0x20 */ MASK_REACTION_SET_GORON, + /* 0x21 */ MASK_REACTION_SET_DARUNIA, + /* 0x22 */ MASK_REACTION_SET_GERUDO_WHITE, + /* 0x23 */ MASK_REACTION_SET_NABOORU, + /* 0x24 */ MASK_REACTION_SET_DANCING_COUPLE, + /* 0x25 */ MASK_REACTION_SET_37, // ENHY_TYPE_AOB + /* 0x26 */ MASK_REACTION_SET_38, // ENHY_TYPE_COB + /* 0x27 */ MASK_REACTION_SET_39, // ENHY_TYPE_AHG_2 + /* 0x28 */ MASK_REACTION_SET_40, // ENHY_TYPE_BOJ_3 + /* 0x29 */ MASK_REACTION_SET_41, // ENHY_TYPE_AHG_4 + /* 0x2A */ MASK_REACTION_SET_42, // ENHY_TYPE_BOJ_5 + /* 0x2B */ MASK_REACTION_SET_43, // ENHY_TYPE_BBA + /* 0x2C */ MASK_REACTION_SET_44, // ENHY_TYPE_BJI_7 + /* 0x2D */ MASK_REACTION_SET_45, // ENHY_TYPE_CNE_8 + /* 0x2E */ MASK_REACTION_SET_46, // ENHY_TYPE_BOJ_9 + /* 0x2F */ MASK_REACTION_SET_47, // ENHY_TYPE_BOJ_10 + /* 0x30 */ MASK_REACTION_SET_48, // ENHY_TYPE_CNE_11 + /* 0x31 */ MASK_REACTION_SET_49, // ENHY_TYPE_BOJ_12 + /* 0x32 */ MASK_REACTION_SET_50, // ENHY_TYPE_AHG_13 + /* 0x33 */ MASK_REACTION_SET_51, // ENHY_TYPE_BOJ_14 + /* 0x34 */ MASK_REACTION_SET_52, // ENHY_TYPE_BJI_15 + /* 0x35 */ MASK_REACTION_SET_53, // ENHY_TYPE_BOJ_16 + /* 0x36 */ MASK_REACTION_SET_54, // ENHY_TYPE_AHG_17 + /* 0x37 */ MASK_REACTION_SET_55, // ENHY_TYPE_BOB_18 + /* 0x38 */ MASK_REACTION_SET_56, // ENHY_TYPE_BJI_19 + /* 0x39 */ MASK_REACTION_SET_57, // ENHY_TYPE_AHG_20 + /* 0x3A */ MASK_REACTION_SET_HAGGLING_TOWNSPEOPLE_1, + /* 0x3B */ MASK_REACTION_SET_HAGGLING_TOWNSPEOPLE_2, + /* 0x3C */ MASK_REACTION_SET_MAX +} MaskReactionSet; + typedef enum { /* 0 */ TEXT_STATE_NONE, /* 1 */ TEXT_STATE_DONE_HAS_NEXT, diff --git a/include/z64player.h b/include/z64player.h index f5da3c88a6..f47160bdba 100644 --- a/include/z64player.h +++ b/include/z64player.h @@ -71,7 +71,7 @@ typedef enum { typedef enum { /* 0x00 */ PLAYER_IA_NONE, - /* 0x01 */ PLAYER_IA_LAST_USED, + /* 0x01 */ PLAYER_IA_SWORD_CS, // Hold sword without shield in hand. The sword is not useable. /* 0x02 */ PLAYER_IA_FISHING_POLE, /* 0x03 */ PLAYER_IA_SWORD_MASTER, /* 0x04 */ PLAYER_IA_SWORD_KOKIRI, @@ -229,9 +229,9 @@ typedef enum { } PlayerDoorType; typedef enum { - /* 0x00 */ PLAYER_MODELGROUP_0, // unused (except with the `func_80091880` bug) - /* 0x01 */ PLAYER_MODELGROUP_CHILD_HYLIAN_SHIELD, // kokiri/master sword, shield not in hand - /* 0x02 */ PLAYER_MODELGROUP_SWORD, // kokiri/master sword and possibly shield + /* 0x00 */ PLAYER_MODELGROUP_0, // unused (except for a bug in `Player_OverrideLimbDrawPause`) + /* 0x01 */ PLAYER_MODELGROUP_CHILD_HYLIAN_SHIELD, //hold sword only. used for holding sword only as child link with hylian shield equipped + /* 0x02 */ PLAYER_MODELGROUP_SWORD_AND_SHIELD, // hold sword and shield or just sword if no shield is equipped /* 0x03 */ PLAYER_MODELGROUP_DEFAULT, // non-specific models, for items that don't have particular link models /* 0x04 */ PLAYER_MODELGROUP_4, // unused, same as PLAYER_MODELGROUP_DEFAULT /* 0x05 */ PLAYER_MODELGROUP_BGS, // biggoron sword @@ -244,7 +244,7 @@ typedef enum { /* 0x0C */ PLAYER_MODELGROUP_OCARINA, // ocarina /* 0x0D */ PLAYER_MODELGROUP_OOT, // ocarina of time /* 0x0E */ PLAYER_MODELGROUP_BOTTLE, // bottles (drawn separately) - /* 0x0F */ PLAYER_MODELGROUP_15, // "last used" + /* 0x0F */ PLAYER_MODELGROUP_SWORD, // hold sword and no shield, even if one is equipped /* 0x10 */ PLAYER_MODELGROUP_MAX } PlayerModelGroup; @@ -822,7 +822,7 @@ typedef struct Player { /* 0x088E */ u8 unk_88E; /* 0x088F */ u8 unk_88F; /* 0x0890 */ u8 unk_890; - /* 0x0891 */ u8 shockTimer; + /* 0x0891 */ u8 bodyShockTimer; /* 0x0892 */ u8 unk_892; /* 0x0893 */ u8 hoverBootsTimer; /* 0x0894 */ s16 fallStartHeight; // last truncated Y position before falling @@ -842,8 +842,8 @@ typedef struct Player { /* 0x0908 */ Vec3f bodyPartsPos[PLAYER_BODYPART_MAX]; /* 0x09E0 */ MtxF mf_9E0; /* 0x0A20 */ MtxF shieldMf; - /* 0x0A60 */ u8 isBurning; - /* 0x0A61 */ u8 flameTimers[PLAYER_BODYPART_MAX]; // one flame per body part + /* 0x0A60 */ u8 bodyIsBurning; + /* 0x0A61 */ u8 bodyFlameTimers[PLAYER_BODYPART_MAX]; // one flame per body part /* 0x0A73 */ u8 unk_A73; /* 0x0A74 */ PlayerFuncA74 func_A74; /* 0x0A78 */ s8 invincibilityTimer; // prevents damage when nonzero (positive = visible, counts towards zero each frame) diff --git a/include/z64save.h b/include/z64save.h index c5f8b6f64a..9e5cc4fe03 100644 --- a/include/z64save.h +++ b/include/z64save.h @@ -414,13 +414,13 @@ typedef enum { #define EVENTCHKINF_0B 0x0B #define EVENTCHKINF_0C 0x0C #define EVENTCHKINF_0F 0x0F -#define EVENTCHKINF_10 0x10 +#define EVENTCHKINF_TALKED_TO_MALON_FIRST_TIME 0x10 #define EVENTCHKINF_11 0x11 -#define EVENTCHKINF_12 0x12 +#define EVENTCHKINF_RECEIVED_WEIRD_EGG 0x12 #define EVENTCHKINF_TALON_WOKEN_IN_CASTLE 0x13 #define EVENTCHKINF_TALON_RETURNED_FROM_CASTLE 0x14 -#define EVENTCHKINF_15 0x15 -#define EVENTCHKINF_16 0x16 +#define EVENTCHKINF_TALKED_TO_CHILD_MALON_AT_RANCH 0x15 +#define EVENTCHKINF_CAN_LEARN_EPONAS_SONG 0x16 #define EVENTCHKINF_EPONA_OBTAINED 0x18 #define EVENTCHKINF_1B 0x1B #define EVENTCHKINF_1C 0x1C @@ -688,9 +688,9 @@ typedef enum { #define INFTABLE_76 0x76 #define INFTABLE_77 0x77 #define INFTABLE_TALKED_TO_TALON_IN_RANCH_HOUSE 0x7E -#define INFTABLE_84 0x84 -#define INFTABLE_85 0x85 -#define INFTABLE_8B 0x8B +#define INFTABLE_TALKED_TO_MALON_FIRST_TIME 0x84 +#define INFTABLE_TOLD_EPONA_IS_SCARED 0x85 +#define INFTABLE_MALON_SPAWNED_AT_HYRULE_CASTLE 0x8B #define INFTABLE_8C 0x8C #define INFTABLE_8D 0x8D #define INFTABLE_8E 0x8E diff --git a/progress.py b/progress.py index 5c56e4c6c4..6b05f7a648 100755 --- a/progress.py +++ b/progress.py @@ -2,7 +2,6 @@ import argparse import json -import csv import git import os import re @@ -59,10 +58,10 @@ def GetNonMatchingSize(path): return size def IsCFile(objfile): - srcfile = objfile.strip().replace("build/", "").replace(".o", ".c") + srcfile = objfile.strip().replace("build/gc-eu-mq-dbg/", "").replace(".o", ".c") return os.path.isfile(srcfile) -mapFile = ReadAllLines("build/z64.map") +mapFile = ReadAllLines("build/gc-eu-mq-dbg/z64.map") curSegment = None src = 0 code = 0 @@ -86,15 +85,15 @@ for line in mapFile: objFile = lineSplit[3] if (section == ".text" and IsCFile(objFile)): - if (objFile.startswith("build/src")): + if objFile.startswith("build/gc-eu-mq-dbg/src"): src += size - if (objFile.startswith("build/src/code") or (objFile.startswith("build/src/libultra/") and curSegment == "code")): - code += size - elif (objFile.startswith("build/src/boot") or (objFile.startswith("build/src/libultra/") and curSegment == "boot")): - boot += size - elif (objFile.startswith("build/src/overlays")): - ovl += size + if curSegment == "code": + code += size + elif curSegment == "boot": + boot += size + else: + ovl += size nonMatchingASM = GetNonMatchingSize("asm/non_matchings") nonMatchingASMBoot = GetNonMatchingSize("asm/non_matchings/boot") diff --git a/spec b/spec index 7a02ebd18c..846fa3b72c 100644 --- a/spec +++ b/spec @@ -4,10476 +4,10476 @@ beginseg name "makerom" - include "build/src/makerom/rom_header.o" - include "build/src/makerom/ipl3.o" - include "build/src/makerom/entry.o" + include "$(BUILD_DIR)/src/makerom/rom_header.o" + include "$(BUILD_DIR)/src/makerom/ipl3.o" + include "$(BUILD_DIR)/src/makerom/entry.o" endseg beginseg name "boot" address 0x80000460 - include "build/src/boot/boot_main.o" - include "build/data/unk_800093F0.data.o" - include "build/data/unk_80009410.data.o" - include "build/src/boot/idle.o" - include "build/src/boot/viconfig.o" - include "build/src/boot/z_std_dma.o" - include "build/src/boot/yaz0.o" - include "build/src/boot/z_locale.o" - include "build/src/boot/assert.o" - include "build/src/boot/is_debug.o" - include "build/src/libultra/io/driverominit.o" - include "build/src/boot/mio0.o" - include "build/src/boot/stackcheck.o" - include "build/src/boot/logutils.o" - include "build/src/libultra/libc/sprintf.o" - include "build/src/libultra/io/piacs.o" - include "build/src/libultra/os/sendmesg.o" - include "build/src/libultra/os/stopthread.o" - include "build/src/libultra/io/viextendvstart.o" - include "build/src/libultra/io/vimodepallan1.o" - include "build/src/libultra/os/recvmesg.o" - include "build/src/libultra/os/initialize.o" - include "build/src/libultra/libc/ll.o" - include "build/src/libultra/os/exceptasm.o" - include "build/src/libultra/os/thread.o" - include "build/src/libultra/os/destroythread.o" - include "build/src/libultra/libc/bzero.o" - include "build/src/libultra/os/parameters.o" - include "build/src/libultra/os/createthread.o" - include "build/src/libultra/os/setsr.o" - include "build/src/libultra/os/getsr.o" - include "build/src/libultra/os/writebackdcache.o" - include "build/src/libultra/io/vigetnextframebuf.o" - include "build/src/libultra/io/pimgr.o" - include "build/src/libultra/io/devmgr.o" - include "build/src/libultra/io/pirawdma.o" - include "build/src/libultra/os/virtualtophysical.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/os/setintmask.o" - include "build/src/libultra/io/visetmode.o" - include "build/src/libultra/os/probetlb.o" - include "build/src/libultra/os/getmemsize.o" - include "build/src/libultra/os/seteventmesg.o" - include "build/src/libultra/libc/xprintf.o" - include "build/src/libultra/os/unmaptlball.o" - include "build/src/libultra/io/epidma.o" - include "build/src/libultra/libc/string.o" - include "build/src/libultra/os/invalicache.o" - include "build/src/libultra/os/createmesgqueue.o" - include "build/src/libultra/os/invaldcache.o" - include "build/src/libultra/io/si.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/libultra/io/epirawread.o" - include "build/src/libultra/io/viswapbuf.o" - include "build/src/libultra/io/epirawdma.o" - include "build/src/libultra/libc/bcmp.o" - include "build/src/libultra/os/gettime.o" - include "build/src/libultra/os/timerintr.o" - include "build/src/libultra/os/getcount.o" - include "build/src/libultra/os/setglobalintmask.o" - include "build/src/libultra/os/setcompare.o" - include "build/src/libultra/libc/bcopy.o" - include "build/src/libultra/os/resetglobalintmask.o" - include "build/src/libultra/os/interrupt.o" - include "build/src/libultra/io/vimodentsclan1.o" - include "build/src/libultra/io/vimodempallan1.o" - include "build/src/libultra/io/vi.o" - include "build/src/libultra/io/viswapcontext.o" - include "build/src/libultra/io/pigetcmdq.o" - include "build/src/libultra/io/epiread.o" - include "build/src/libultra/io/visetspecial.o" - include "build/src/libultra/io/cartrominit.o" - include "build/src/libultra/io/vimodefpallan1.o" - include "build/src/libultra/os/setfpccsr.o" - include "build/src/libultra/os/getfpccsr.o" - include "build/src/libultra/io/epiwrite.o" - include "build/src/libultra/os/maptlbrdb.o" - include "build/src/libultra/os/yieldthread.o" - include "build/src/libultra/os/getcause.o" - include "build/src/libultra/io/epirawwrite.o" - include "build/src/libultra/libc/xlitob.o" - include "build/src/libultra/libc/ldiv.o" - include "build/src/libultra/libc/xldtob.o" - include "build/src/boot/build.o" - include "build/src/libultra/io/sirawwrite.o" - include "build/src/libultra/io/vimgr.o" - include "build/src/libultra/io/vigetcurrcontext.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/os/sethwintrroutine.o" - include "build/src/libultra/os/gethwintrroutine.o" - include "build/src/libultra/os/setwatchlo.o" - include "build/data/rsp_boot.text.o" + include "$(BUILD_DIR)/src/boot/boot_main.o" + include "$(BUILD_DIR)/data/unk_800093F0.data.o" + include "$(BUILD_DIR)/data/unk_80009410.data.o" + include "$(BUILD_DIR)/src/boot/idle.o" + include "$(BUILD_DIR)/src/boot/viconfig.o" + include "$(BUILD_DIR)/src/boot/z_std_dma.o" + include "$(BUILD_DIR)/src/boot/yaz0.o" + include "$(BUILD_DIR)/src/boot/z_locale.o" + include "$(BUILD_DIR)/src/boot/assert.o" + include "$(BUILD_DIR)/src/boot/is_debug.o" + include "$(BUILD_DIR)/src/libultra/io/driverominit.o" + include "$(BUILD_DIR)/src/boot/mio0.o" + include "$(BUILD_DIR)/src/boot/stackcheck.o" + include "$(BUILD_DIR)/src/boot/logutils.o" + include "$(BUILD_DIR)/src/libultra/libc/sprintf.o" + include "$(BUILD_DIR)/src/libultra/io/piacs.o" + include "$(BUILD_DIR)/src/libultra/os/sendmesg.o" + include "$(BUILD_DIR)/src/libultra/os/stopthread.o" + include "$(BUILD_DIR)/src/libultra/io/viextendvstart.o" + include "$(BUILD_DIR)/src/libultra/io/vimodepallan1.o" + include "$(BUILD_DIR)/src/libultra/os/recvmesg.o" + include "$(BUILD_DIR)/src/libultra/os/initialize.o" + include "$(BUILD_DIR)/src/libultra/libc/ll.o" + include "$(BUILD_DIR)/src/libultra/os/exceptasm.o" + include "$(BUILD_DIR)/src/libultra/os/thread.o" + include "$(BUILD_DIR)/src/libultra/os/destroythread.o" + include "$(BUILD_DIR)/src/libultra/libc/bzero.o" + include "$(BUILD_DIR)/src/libultra/os/parameters.o" + include "$(BUILD_DIR)/src/libultra/os/createthread.o" + include "$(BUILD_DIR)/src/libultra/os/setsr.o" + include "$(BUILD_DIR)/src/libultra/os/getsr.o" + include "$(BUILD_DIR)/src/libultra/os/writebackdcache.o" + include "$(BUILD_DIR)/src/libultra/io/vigetnextframebuf.o" + include "$(BUILD_DIR)/src/libultra/io/pimgr.o" + include "$(BUILD_DIR)/src/libultra/io/devmgr.o" + include "$(BUILD_DIR)/src/libultra/io/pirawdma.o" + include "$(BUILD_DIR)/src/libultra/os/virtualtophysical.o" + include "$(BUILD_DIR)/src/libultra/io/viblack.o" + include "$(BUILD_DIR)/src/libultra/io/sirawread.o" + include "$(BUILD_DIR)/src/libultra/os/getthreadid.o" + include "$(BUILD_DIR)/src/libultra/os/setintmask.o" + include "$(BUILD_DIR)/src/libultra/io/visetmode.o" + include "$(BUILD_DIR)/src/libultra/os/probetlb.o" + include "$(BUILD_DIR)/src/libultra/os/getmemsize.o" + include "$(BUILD_DIR)/src/libultra/os/seteventmesg.o" + include "$(BUILD_DIR)/src/libultra/libc/xprintf.o" + include "$(BUILD_DIR)/src/libultra/os/unmaptlball.o" + include "$(BUILD_DIR)/src/libultra/io/epidma.o" + include "$(BUILD_DIR)/src/libultra/libc/string.o" + include "$(BUILD_DIR)/src/libultra/os/invalicache.o" + include "$(BUILD_DIR)/src/libultra/os/createmesgqueue.o" + include "$(BUILD_DIR)/src/libultra/os/invaldcache.o" + include "$(BUILD_DIR)/src/libultra/io/si.o" + include "$(BUILD_DIR)/src/libultra/os/jammesg.o" + include "$(BUILD_DIR)/src/libultra/os/setthreadpri.o" + include "$(BUILD_DIR)/src/libultra/os/getthreadpri.o" + include "$(BUILD_DIR)/src/libultra/io/epirawread.o" + include "$(BUILD_DIR)/src/libultra/io/viswapbuf.o" + include "$(BUILD_DIR)/src/libultra/io/epirawdma.o" + include "$(BUILD_DIR)/src/libultra/libc/bcmp.o" + include "$(BUILD_DIR)/src/libultra/os/gettime.o" + include "$(BUILD_DIR)/src/libultra/os/timerintr.o" + include "$(BUILD_DIR)/src/libultra/os/getcount.o" + include "$(BUILD_DIR)/src/libultra/os/setglobalintmask.o" + include "$(BUILD_DIR)/src/libultra/os/setcompare.o" + include "$(BUILD_DIR)/src/libultra/libc/bcopy.o" + include "$(BUILD_DIR)/src/libultra/os/resetglobalintmask.o" + include "$(BUILD_DIR)/src/libultra/os/interrupt.o" + include "$(BUILD_DIR)/src/libultra/io/vimodentsclan1.o" + include "$(BUILD_DIR)/src/libultra/io/vimodempallan1.o" + include "$(BUILD_DIR)/src/libultra/io/vi.o" + include "$(BUILD_DIR)/src/libultra/io/viswapcontext.o" + include "$(BUILD_DIR)/src/libultra/io/pigetcmdq.o" + include "$(BUILD_DIR)/src/libultra/io/epiread.o" + include "$(BUILD_DIR)/src/libultra/io/visetspecial.o" + include "$(BUILD_DIR)/src/libultra/io/cartrominit.o" + include "$(BUILD_DIR)/src/libultra/io/vimodefpallan1.o" + include "$(BUILD_DIR)/src/libultra/os/setfpccsr.o" + include "$(BUILD_DIR)/src/libultra/os/getfpccsr.o" + include "$(BUILD_DIR)/src/libultra/io/epiwrite.o" + include "$(BUILD_DIR)/src/libultra/os/maptlbrdb.o" + include "$(BUILD_DIR)/src/libultra/os/yieldthread.o" + include "$(BUILD_DIR)/src/libultra/os/getcause.o" + include "$(BUILD_DIR)/src/libultra/io/epirawwrite.o" + include "$(BUILD_DIR)/src/libultra/libc/xlitob.o" + include "$(BUILD_DIR)/src/libultra/libc/ldiv.o" + include "$(BUILD_DIR)/src/libultra/libc/xldtob.o" + include "$(BUILD_DIR)/src/boot/build.o" + include "$(BUILD_DIR)/src/libultra/io/sirawwrite.o" + include "$(BUILD_DIR)/src/libultra/io/vimgr.o" + include "$(BUILD_DIR)/src/libultra/io/vigetcurrcontext.o" + include "$(BUILD_DIR)/src/libultra/os/startthread.o" + include "$(BUILD_DIR)/src/libultra/io/visetyscale.o" + include "$(BUILD_DIR)/src/libultra/io/visetxscale.o" + include "$(BUILD_DIR)/src/libultra/os/sethwintrroutine.o" + include "$(BUILD_DIR)/src/libultra/os/gethwintrroutine.o" + include "$(BUILD_DIR)/src/libultra/os/setwatchlo.o" + include "$(BUILD_DIR)/data/rsp_boot.text.o" #ifdef COMPILER_GCC - include "build/src/gcc_fix/missing_gcc_functions.o" + include "$(BUILD_DIR)/src/gcc_fix/missing_gcc_functions.o" #endif endseg beginseg name "dmadata" - include "build/src/dmadata/dmadata.o" + include "$(BUILD_DIR)/src/dmadata/dmadata.o" endseg beginseg name "Audiobank" address 0x10 // fake RAM address to avoid map lookup inaccuracies - include "build/baserom/Audiobank.o" + include "$(BUILD_DIR)/baserom/Audiobank.o" endseg beginseg name "Audioseq" - include "build/baserom/Audioseq.o" + include "$(BUILD_DIR)/baserom/Audioseq.o" endseg beginseg name "Audiotable" - include "build/baserom/Audiotable.o" + include "$(BUILD_DIR)/baserom/Audiotable.o" endseg beginseg name "link_animetion" - include "build/assets/misc/link_animetion/link_animetion.o" + include "$(BUILD_DIR)/assets/misc/link_animetion/link_animetion.o" number 7 endseg beginseg name "icon_item_static" romalign 0x1000 - include "build/assets/textures/icon_item_static/icon_item_static.o" + include "$(BUILD_DIR)/assets/textures/icon_item_static/icon_item_static.o" number 8 endseg beginseg name "icon_item_24_static" romalign 0x1000 - include "build/assets/textures/icon_item_24_static/icon_item_24_static.o" + include "$(BUILD_DIR)/assets/textures/icon_item_24_static/icon_item_24_static.o" number 9 endseg beginseg name "icon_item_field_static" romalign 0x1000 - include "build/assets/textures/icon_item_field_static/icon_item_field_static.o" + include "$(BUILD_DIR)/assets/textures/icon_item_field_static/icon_item_field_static.o" number 12 endseg beginseg name "icon_item_dungeon_static" romalign 0x1000 - include "build/assets/textures/icon_item_dungeon_static/icon_item_dungeon_static.o" + include "$(BUILD_DIR)/assets/textures/icon_item_dungeon_static/icon_item_dungeon_static.o" number 12 endseg beginseg name "icon_item_gameover_static" romalign 0x1000 - include "build/assets/textures/icon_item_gameover_static/icon_item_gameover_static.o" + include "$(BUILD_DIR)/assets/textures/icon_item_gameover_static/icon_item_gameover_static.o" number 12 endseg beginseg name "icon_item_nes_static" romalign 0x1000 - include "build/assets/textures/icon_item_nes_static/icon_item_nes_static.o" + include "$(BUILD_DIR)/assets/textures/icon_item_nes_static/icon_item_nes_static.o" number 13 endseg beginseg name "icon_item_ger_static" romalign 0x1000 - include "build/assets/textures/icon_item_ger_static/icon_item_ger_static.o" + include "$(BUILD_DIR)/assets/textures/icon_item_ger_static/icon_item_ger_static.o" number 13 endseg beginseg name "icon_item_fra_static" romalign 0x1000 - include "build/assets/textures/icon_item_fra_static/icon_item_fra_static.o" + include "$(BUILD_DIR)/assets/textures/icon_item_fra_static/icon_item_fra_static.o" number 13 endseg beginseg name "item_name_static" romalign 0x1000 - include "build/assets/textures/item_name_static/item_name_static.o" + include "$(BUILD_DIR)/assets/textures/item_name_static/item_name_static.o" number 10 endseg beginseg name "map_name_static" romalign 0x1000 - include "build/assets/textures/map_name_static/map_name_static.o" + include "$(BUILD_DIR)/assets/textures/map_name_static/map_name_static.o" number 11 endseg beginseg name "do_action_static" romalign 0x1000 - include "build/assets/textures/do_action_static/do_action_static.o" + include "$(BUILD_DIR)/assets/textures/do_action_static/do_action_static.o" number 7 endseg beginseg name "message_static" romalign 0x1000 - include "build/assets/textures/message_static/message_static.o" + include "$(BUILD_DIR)/assets/textures/message_static/message_static.o" number 7 endseg beginseg name "message_texture_static" romalign 0x1000 - include "build/assets/textures/message_texture_static/message_texture_static.o" + include "$(BUILD_DIR)/assets/textures/message_texture_static/message_texture_static.o" number 9 endseg beginseg name "nes_font_static" romalign 0x1000 - include "build/assets/textures/nes_font_static/nes_font_static.o" + include "$(BUILD_DIR)/assets/textures/nes_font_static/nes_font_static.o" number 10 endseg beginseg name "nes_message_data_static" romalign 0x1000 - include "build/assets/text/nes_message_data_static.o" + include "$(BUILD_DIR)/assets/text/nes_message_data_static.o" number 7 endseg beginseg name "ger_message_data_static" romalign 0x1000 - include "build/assets/text/ger_message_data_static.o" + include "$(BUILD_DIR)/assets/text/ger_message_data_static.o" number 7 endseg beginseg name "fra_message_data_static" romalign 0x1000 - include "build/assets/text/fra_message_data_static.o" + include "$(BUILD_DIR)/assets/text/fra_message_data_static.o" number 7 endseg beginseg name "staff_message_data_static" romalign 0x1000 - include "build/assets/text/staff_message_data_static.o" + include "$(BUILD_DIR)/assets/text/staff_message_data_static.o" number 7 endseg beginseg name "map_grand_static" romalign 0x1000 - include "build/assets/textures/map_grand_static/map_grand_static.o" + include "$(BUILD_DIR)/assets/textures/map_grand_static/map_grand_static.o" number 11 endseg beginseg name "map_48x85_static" romalign 0x1000 - include "build/assets/textures/map_48x85_static/map_48x85_static.o" + include "$(BUILD_DIR)/assets/textures/map_48x85_static/map_48x85_static.o" number 11 endseg beginseg name "map_i_static" romalign 0x1000 - include "build/assets/textures/map_i_static/map_i_static.o" + include "$(BUILD_DIR)/assets/textures/map_i_static/map_i_static.o" number 11 endseg beginseg name "code" after "dmadata" - include "build/src/code/z_en_a_keep.o" - include "build/src/code/z_en_item00.o" - include "build/src/code/z_eff_blure.o" - include "build/src/code/z_eff_shield_particle.o" - include "build/src/code/z_eff_spark.o" - include "build/src/code/z_eff_ss_dead.o" - include "build/src/code/z_effect.o" - include "build/src/code/z_effect_soft_sprite.o" - include "build/src/code/z_effect_soft_sprite_old_init.o" - include "build/src/code/z_effect_soft_sprite_dlftbls.o" - include "build/src/code/flg_set.o" - include "build/src/code/z_DLF.o" - include "build/src/code/z_actor.o" - include "build/src/code/z_actor_dlftbls.o" - include "build/src/code/z_bgcheck.o" - include "build/src/code/code_800430A0.o" - include "build/src/code/code_80043480.o" - include "build/src/code/z_camera.o" - include "build/src/code/z_collision_btltbls.o" - include "build/src/code/z_collision_check.o" - include "build/src/code/z_common_data.o" - include "build/src/code/z_debug.o" - include "build/src/code/z_debug_display.o" - include "build/src/code/z_demo.o" - include "build/src/code/code_80069420.o" - include "build/src/code/z_draw.o" - include "build/src/code/z_sfx_source.o" - include "build/src/code/z_elf_message.o" - include "build/src/code/z_face_reaction.o" - include "build/src/code/code_8006C3A0.o" - include "build/src/code/z_fcurve_data.o" - include "build/src/code/z_fcurve_data_skelanime.o" - include "build/src/code/z_game_dlftbls.o" - include "build/src/code/z_horse.o" - include "build/src/code/z_jpeg.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/src/code/z_lib.o" - include "build/src/code/z_lifemeter.o" - include "build/src/code/z_lights.o" - include "build/src/code/z_malloc.o" - include "build/src/code/z_map_mark.o" - include "build/src/code/z_moji.o" - include "build/src/code/z_prenmi_buff.o" - include "build/src/code/z_nulltask.o" - include "build/src/code/z_olib.o" - include "build/src/code/z_onepointdemo.o" - include "build/src/code/z_map_exp.o" - include "build/src/code/z_map_data.o" - include "build/src/code/z_parameter.o" - include "build/src/code/z_path.o" - include "build/src/code/z_frame_advance.o" - include "build/src/code/z_player_lib.o" - include "build/src/code/z_prenmi.o" - include "build/src/code/z_quake.o" - include "build/src/code/z_rcp.o" - include "build/src/code/z_room.o" - include "build/src/code/z_sample.o" - include "build/src/code/code_80097A00.o" - include "build/src/code/z_scene.o" - include "build/src/code/object_table.o" - include "build/src/code/z_scene_table.o" - include "build/src/code/z_skelanime.o" - include "build/src/code/z_skin.o" - include "build/src/code/z_skin_awb.o" - include "build/src/code/z_skin_matrix.o" - include "build/src/code/z_sram.o" - include "build/src/code/z_ss_sram.o" - include "build/src/code/z_rumble.o" - include "build/data/z_text.data.o" - include "build/data/unk_8012ABC0.data.o" - include "build/src/code/z_view.o" - include "build/src/code/z_vimode.o" - include "build/src/code/z_viscvg.o" - include "build/src/code/z_vismono.o" - include "build/src/code/z_viszbuf.o" - include "build/src/code/z_vr_box.o" - include "build/src/code/z_vr_box_draw.o" - include "build/src/code/z_player_call.o" - include "build/src/code/z_fbdemo.o" - include "build/src/code/z_fbdemo_triforce.o" - include "build/src/code/z_fbdemo_wipe1.o" - include "build/src/code/z_fbdemo_circle.o" - include "build/src/code/z_fbdemo_fade.o" - include "build/src/code/shrink_window.o" - include "build/src/code/db_camera.o" - include "build/src/code/code_800BB0A0.o" - include "build/src/code/mempak.o" - include "build/src/code/z_kaleido_manager.o" - include "build/src/code/z_kaleido_scope_call.o" - include "build/src/code/z_play.o" - include "build/src/code/PreRender.o" - include "build/src/code/TwoHeadGfxArena.o" - include "build/src/code/TwoHeadArena.o" - include "build/src/code/audio_stop_all_sfx.o" - include "build/src/code/audio_thread_manager.o" - include "build/src/code/title_setup.o" - include "build/src/code/game.o" - include "build/src/code/gamealloc.o" - include "build/src/code/graph.o" - include "build/src/code/listalloc.o" - include "build/src/code/main.o" - include "build/src/code/padmgr.o" - include "build/src/code/sched.o" - include "build/src/code/speed_meter.o" - include "build/src/code/sys_cfb.o" - include "build/src/code/sys_math.o" - include "build/src/code/sys_math3d.o" - include "build/src/code/sys_math_atan.o" - include "build/src/code/sys_matrix.o" - include "build/src/code/sys_ucode.o" - include "build/src/code/sys_rumble.o" - include "build/src/code/code_800D31A0.o" - include "build/src/code/irqmgr.o" - include "build/src/code/debug_malloc.o" - include "build/src/code/fault.o" - include "build/src/code/fault_drawer.o" + include "$(BUILD_DIR)/src/code/z_en_a_keep.o" + include "$(BUILD_DIR)/src/code/z_en_item00.o" + include "$(BUILD_DIR)/src/code/z_eff_blure.o" + include "$(BUILD_DIR)/src/code/z_eff_shield_particle.o" + include "$(BUILD_DIR)/src/code/z_eff_spark.o" + include "$(BUILD_DIR)/src/code/z_eff_ss_dead.o" + include "$(BUILD_DIR)/src/code/z_effect.o" + include "$(BUILD_DIR)/src/code/z_effect_soft_sprite.o" + include "$(BUILD_DIR)/src/code/z_effect_soft_sprite_old_init.o" + include "$(BUILD_DIR)/src/code/z_effect_soft_sprite_dlftbls.o" + include "$(BUILD_DIR)/src/code/flg_set.o" + include "$(BUILD_DIR)/src/code/z_DLF.o" + include "$(BUILD_DIR)/src/code/z_actor.o" + include "$(BUILD_DIR)/src/code/z_actor_dlftbls.o" + include "$(BUILD_DIR)/src/code/z_bgcheck.o" + include "$(BUILD_DIR)/src/code/code_800430A0.o" + include "$(BUILD_DIR)/src/code/code_80043480.o" + include "$(BUILD_DIR)/src/code/z_camera.o" + include "$(BUILD_DIR)/src/code/z_collision_btltbls.o" + include "$(BUILD_DIR)/src/code/z_collision_check.o" + include "$(BUILD_DIR)/src/code/z_common_data.o" + include "$(BUILD_DIR)/src/code/z_debug.o" + include "$(BUILD_DIR)/src/code/z_debug_display.o" + include "$(BUILD_DIR)/src/code/z_demo.o" + include "$(BUILD_DIR)/src/code/code_80069420.o" + include "$(BUILD_DIR)/src/code/z_draw.o" + include "$(BUILD_DIR)/src/code/z_sfx_source.o" + include "$(BUILD_DIR)/src/code/z_elf_message.o" + include "$(BUILD_DIR)/src/code/z_face_reaction.o" + include "$(BUILD_DIR)/src/code/code_8006C3A0.o" + include "$(BUILD_DIR)/src/code/z_fcurve_data.o" + include "$(BUILD_DIR)/src/code/z_fcurve_data_skelanime.o" + include "$(BUILD_DIR)/src/code/z_game_dlftbls.o" + include "$(BUILD_DIR)/src/code/z_horse.o" + include "$(BUILD_DIR)/src/code/z_jpeg.o" + include "$(BUILD_DIR)/src/code/z_kaleido_setup.o" + include "$(BUILD_DIR)/src/code/z_kanfont.o" + include "$(BUILD_DIR)/src/code/z_kankyo.o" + include "$(BUILD_DIR)/src/code/z_lib.o" + include "$(BUILD_DIR)/src/code/z_lifemeter.o" + include "$(BUILD_DIR)/src/code/z_lights.o" + include "$(BUILD_DIR)/src/code/z_malloc.o" + include "$(BUILD_DIR)/src/code/z_map_mark.o" + include "$(BUILD_DIR)/src/code/z_moji.o" + include "$(BUILD_DIR)/src/code/z_prenmi_buff.o" + include "$(BUILD_DIR)/src/code/z_nulltask.o" + include "$(BUILD_DIR)/src/code/z_olib.o" + include "$(BUILD_DIR)/src/code/z_onepointdemo.o" + include "$(BUILD_DIR)/src/code/z_map_exp.o" + include "$(BUILD_DIR)/src/code/z_map_data.o" + include "$(BUILD_DIR)/src/code/z_parameter.o" + include "$(BUILD_DIR)/src/code/z_path.o" + include "$(BUILD_DIR)/src/code/z_frame_advance.o" + include "$(BUILD_DIR)/src/code/z_player_lib.o" + include "$(BUILD_DIR)/src/code/z_prenmi.o" + include "$(BUILD_DIR)/src/code/z_quake.o" + include "$(BUILD_DIR)/src/code/z_rcp.o" + include "$(BUILD_DIR)/src/code/z_room.o" + include "$(BUILD_DIR)/src/code/z_sample.o" + include "$(BUILD_DIR)/src/code/code_80097A00.o" + include "$(BUILD_DIR)/src/code/z_scene.o" + include "$(BUILD_DIR)/src/code/object_table.o" + include "$(BUILD_DIR)/src/code/z_scene_table.o" + include "$(BUILD_DIR)/src/code/z_skelanime.o" + include "$(BUILD_DIR)/src/code/z_skin.o" + include "$(BUILD_DIR)/src/code/z_skin_awb.o" + include "$(BUILD_DIR)/src/code/z_skin_matrix.o" + include "$(BUILD_DIR)/src/code/z_sram.o" + include "$(BUILD_DIR)/src/code/z_ss_sram.o" + include "$(BUILD_DIR)/src/code/z_rumble.o" + include "$(BUILD_DIR)/data/z_text.data.o" + include "$(BUILD_DIR)/data/unk_8012ABC0.data.o" + include "$(BUILD_DIR)/src/code/z_view.o" + include "$(BUILD_DIR)/src/code/z_vimode.o" + include "$(BUILD_DIR)/src/code/z_viscvg.o" + include "$(BUILD_DIR)/src/code/z_vismono.o" + include "$(BUILD_DIR)/src/code/z_viszbuf.o" + include "$(BUILD_DIR)/src/code/z_vr_box.o" + include "$(BUILD_DIR)/src/code/z_vr_box_draw.o" + include "$(BUILD_DIR)/src/code/z_player_call.o" + include "$(BUILD_DIR)/src/code/z_fbdemo.o" + include "$(BUILD_DIR)/src/code/z_fbdemo_triforce.o" + include "$(BUILD_DIR)/src/code/z_fbdemo_wipe1.o" + include "$(BUILD_DIR)/src/code/z_fbdemo_circle.o" + include "$(BUILD_DIR)/src/code/z_fbdemo_fade.o" + include "$(BUILD_DIR)/src/code/shrink_window.o" + include "$(BUILD_DIR)/src/code/db_camera.o" + include "$(BUILD_DIR)/src/code/code_800BB0A0.o" + include "$(BUILD_DIR)/src/code/mempak.o" + include "$(BUILD_DIR)/src/code/z_kaleido_manager.o" + include "$(BUILD_DIR)/src/code/z_kaleido_scope_call.o" + include "$(BUILD_DIR)/src/code/z_play.o" + include "$(BUILD_DIR)/src/code/PreRender.o" + include "$(BUILD_DIR)/src/code/TwoHeadGfxArena.o" + include "$(BUILD_DIR)/src/code/TwoHeadArena.o" + include "$(BUILD_DIR)/src/code/audio_stop_all_sfx.o" + include "$(BUILD_DIR)/src/code/audio_thread_manager.o" + include "$(BUILD_DIR)/src/code/title_setup.o" + include "$(BUILD_DIR)/src/code/game.o" + include "$(BUILD_DIR)/src/code/gamealloc.o" + include "$(BUILD_DIR)/src/code/graph.o" + include "$(BUILD_DIR)/src/code/listalloc.o" + include "$(BUILD_DIR)/src/code/main.o" + include "$(BUILD_DIR)/src/code/padmgr.o" + include "$(BUILD_DIR)/src/code/sched.o" + include "$(BUILD_DIR)/src/code/speed_meter.o" + include "$(BUILD_DIR)/src/code/sys_cfb.o" + include "$(BUILD_DIR)/src/code/sys_math.o" + include "$(BUILD_DIR)/src/code/sys_math3d.o" + include "$(BUILD_DIR)/src/code/sys_math_atan.o" + include "$(BUILD_DIR)/src/code/sys_matrix.o" + include "$(BUILD_DIR)/src/code/sys_ucode.o" + include "$(BUILD_DIR)/src/code/sys_rumble.o" + include "$(BUILD_DIR)/src/code/code_800D31A0.o" + include "$(BUILD_DIR)/src/code/irqmgr.o" + include "$(BUILD_DIR)/src/code/debug_malloc.o" + include "$(BUILD_DIR)/src/code/fault.o" + include "$(BUILD_DIR)/src/code/fault_drawer.o" #ifndef NON_MATCHING - include "build/data/fault.bss.o" - include "build/data/fault_drawer.bss.o" + include "$(BUILD_DIR)/data/fault.bss.o" + include "$(BUILD_DIR)/data/fault_drawer.bss.o" #endif - include "build/src/code/kanread.o" - include "build/src/code/ucode_disas.o" + include "$(BUILD_DIR)/src/code/kanread.o" + include "$(BUILD_DIR)/src/code/ucode_disas.o" pad_text // audio library aligned to 32 bytes? - include "build/src/audio/lib/data.o" - include "build/src/audio/lib/synthesis.o" - include "build/src/audio/lib/heap.o" - include "build/src/audio/lib/load.o" - include "build/src/audio/lib/thread.o" - include "build/src/audio/lib/dcache.o" - include "build/src/audio/lib/aisetnextbuf.o" - include "build/src/audio/lib/playback.o" - include "build/src/audio/lib/effects.o" - include "build/src/audio/lib/seqplayer.o" - include "build/src/audio/general.o" - include "build/src/audio/sfx_params.o" - include "build/src/audio/sfx.o" - include "build/src/audio/sequence.o" - include "build/src/audio/data.o" - include "build/src/audio/session_config.o" - include "build/src/code/logseverity.o" - include "build/src/code/gfxprint.o" - include "build/src/code/rcp_utils.o" - include "build/src/code/loadfragment2.o" - include "build/src/code/mtxuty-cvt.o" - include "build/src/code/relocation.o" - include "build/src/code/load.o" - include "build/src/code/code_800FC620.o" - include "build/src/code/padutils.o" - include "build/src/code/padsetup.o" - include "build/src/code/code_800FCE80.o" - include "build/src/code/fp.o" - include "build/src/code/system_malloc.o" - include "build/src/code/code_800FD970.o" - include "build/src/code/__osMalloc.o" - include "build/src/code/printutils.o" - include "build/src/code/sleep.o" - include "build/src/code/jpegutils.o" - include "build/src/code/jpegdecoder.o" - include "build/src/libultra/io/pfsfreeblocks.o" - include "build/src/libultra/mgu/scale.o" - include "build/src/libultra/gu/sinf.o" - include "build/src/libultra/gu/sins.o" - include "build/src/libultra/io/sptask.o" - include "build/src/libultra/io/motor.o" - include "build/src/libultra/io/siacs.o" - include "build/src/libultra/io/controller.o" - include "build/src/libultra/io/contreaddata.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/libultra/io/sptaskyield.o" - include "build/src/libultra/io/pfsreadwritefile.o" - include "build/src/libultra/io/pfsgetstatus.o" - include "build/src/libultra/mgu/mtxidentf.o" - include "build/src/libultra/gu/lookat.o" - include "build/src/libultra/io/pfsallocatefile.o" - include "build/src/libultra/os/stoptimer.o" - include "build/src/libultra/io/contpfs.o" - include "build/src/libultra/mgu/mtxl2f.o" - include "build/src/libultra/io/pfsfindfile.o" - include "build/src/libultra/gu/sqrtf.o" - include "build/src/libultra/os/afterprenmi.o" - include "build/src/libultra/io/contquery.o" - include "build/src/libultra/gu/lookathil.o" - include "build/src/libultra/io/sp.o" - include "build/src/libultra/mgu/mtxident.o" - include "build/src/libultra/gu/position.o" - include "build/src/libultra/io/sptaskyielded.o" - include "build/src/libultra/gu/rotate.o" - include "build/src/libultra/io/aisetfreq.o" - include "build/src/libultra/os/getactivequeue.o" - include "build/src/libultra/mgu/normalize.o" - include "build/src/libultra/io/dpgetstat.o" - include "build/src/libultra/io/dpsetstat.o" - include "build/src/libultra/io/pfsdeletefile.o" - include "build/src/libultra/gu/ortho.o" - include "build/src/libultra/gu/cosf.o" - include "build/src/libultra/gu/libm_vals.o" - include "build/src/libultra/gu/coss.o" - include "build/src/libultra/io/visetevent.o" - include "build/src/libultra/io/pfsisplug.o" - include "build/src/libultra/gu/us2dex.o" - include "build/src/libultra/io/pfsselectbank.o" - include "build/src/libultra/io/contsetch.o" - include "build/src/libultra/io/pfsfilestate.o" - include "build/src/libultra/io/pfsinitpak.o" - include "build/src/libultra/io/pfschecker.o" - include "build/src/libultra/io/aigetlen.o" - include "build/src/libultra/mgu/translate.o" - include "build/src/libultra/io/contramwrite.o" - include "build/src/libultra/io/contramread.o" - include "build/src/libultra/io/crc.o" - include "build/src/libultra/os/settimer.o" - include "build/src/libultra/io/spgetstat.o" - include "build/src/libultra/io/spsetstat.o" - include "build/src/libultra/os/writebackdcacheall.o" - include "build/src/libultra/os/getcurrfaultedthread.o" - include "build/src/libultra/mgu/mtxf2l.o" - include "build/src/libultra/libc/llcvt.o" - include "build/src/libultra/io/vigetcurrframebuf.o" - include "build/src/libultra/io/spsetpc.o" - include "build/src/libultra/libc/sqrt.o" - include "build/src/libultra/libc/absf.o" - include "build/src/code/fmodf.o" - include "build/src/code/__osMemset.o" - include "build/src/code/__osMemmove.o" - include_data_with_rodata "build/src/code/z_message_PAL.o" - include "build/src/code/z_game_over.o" - include "build/src/code/z_construct.o" - include "build/data/audio_tables.rodata.o" - include "build/data/rsp.text.o" - include "build/data/rsp.rodata.o" + include "$(BUILD_DIR)/src/audio/lib/data.o" + include "$(BUILD_DIR)/src/audio/lib/synthesis.o" + include "$(BUILD_DIR)/src/audio/lib/heap.o" + include "$(BUILD_DIR)/src/audio/lib/load.o" + include "$(BUILD_DIR)/src/audio/lib/thread.o" + include "$(BUILD_DIR)/src/audio/lib/dcache.o" + include "$(BUILD_DIR)/src/audio/lib/aisetnextbuf.o" + include "$(BUILD_DIR)/src/audio/lib/playback.o" + include "$(BUILD_DIR)/src/audio/lib/effects.o" + include "$(BUILD_DIR)/src/audio/lib/seqplayer.o" + include "$(BUILD_DIR)/src/audio/general.o" + include "$(BUILD_DIR)/src/audio/sfx_params.o" + include "$(BUILD_DIR)/src/audio/sfx.o" + include "$(BUILD_DIR)/src/audio/sequence.o" + include "$(BUILD_DIR)/src/audio/data.o" + include "$(BUILD_DIR)/src/audio/session_config.o" + include "$(BUILD_DIR)/src/code/logseverity.o" + include "$(BUILD_DIR)/src/code/gfxprint.o" + include "$(BUILD_DIR)/src/code/rcp_utils.o" + include "$(BUILD_DIR)/src/code/loadfragment2.o" + include "$(BUILD_DIR)/src/code/mtxuty-cvt.o" + include "$(BUILD_DIR)/src/code/relocation.o" + include "$(BUILD_DIR)/src/code/load.o" + include "$(BUILD_DIR)/src/code/code_800FC620.o" + include "$(BUILD_DIR)/src/code/padutils.o" + include "$(BUILD_DIR)/src/code/padsetup.o" + include "$(BUILD_DIR)/src/code/code_800FCE80.o" + include "$(BUILD_DIR)/src/code/fp.o" + include "$(BUILD_DIR)/src/code/system_malloc.o" + include "$(BUILD_DIR)/src/code/code_800FD970.o" + include "$(BUILD_DIR)/src/code/__osMalloc.o" + include "$(BUILD_DIR)/src/code/printutils.o" + include "$(BUILD_DIR)/src/code/sleep.o" + include "$(BUILD_DIR)/src/code/jpegutils.o" + include "$(BUILD_DIR)/src/code/jpegdecoder.o" + include "$(BUILD_DIR)/src/libultra/io/pfsfreeblocks.o" + include "$(BUILD_DIR)/src/libultra/mgu/scale.o" + include "$(BUILD_DIR)/src/libultra/gu/sinf.o" + include "$(BUILD_DIR)/src/libultra/gu/sins.o" + include "$(BUILD_DIR)/src/libultra/io/sptask.o" + include "$(BUILD_DIR)/src/libultra/io/motor.o" + include "$(BUILD_DIR)/src/libultra/io/siacs.o" + include "$(BUILD_DIR)/src/libultra/io/controller.o" + include "$(BUILD_DIR)/src/libultra/io/contreaddata.o" + include "$(BUILD_DIR)/src/libultra/gu/perspective.o" + include "$(BUILD_DIR)/src/libultra/io/sprawdma.o" + include "$(BUILD_DIR)/src/libultra/io/sirawdma.o" + include "$(BUILD_DIR)/src/libultra/io/sptaskyield.o" + include "$(BUILD_DIR)/src/libultra/io/pfsreadwritefile.o" + include "$(BUILD_DIR)/src/libultra/io/pfsgetstatus.o" + include "$(BUILD_DIR)/src/libultra/mgu/mtxidentf.o" + include "$(BUILD_DIR)/src/libultra/gu/lookat.o" + include "$(BUILD_DIR)/src/libultra/io/pfsallocatefile.o" + include "$(BUILD_DIR)/src/libultra/os/stoptimer.o" + include "$(BUILD_DIR)/src/libultra/io/contpfs.o" + include "$(BUILD_DIR)/src/libultra/mgu/mtxl2f.o" + include "$(BUILD_DIR)/src/libultra/io/pfsfindfile.o" + include "$(BUILD_DIR)/src/libultra/gu/sqrtf.o" + include "$(BUILD_DIR)/src/libultra/os/afterprenmi.o" + include "$(BUILD_DIR)/src/libultra/io/contquery.o" + include "$(BUILD_DIR)/src/libultra/gu/lookathil.o" + include "$(BUILD_DIR)/src/libultra/io/sp.o" + include "$(BUILD_DIR)/src/libultra/mgu/mtxident.o" + include "$(BUILD_DIR)/src/libultra/gu/position.o" + include "$(BUILD_DIR)/src/libultra/io/sptaskyielded.o" + include "$(BUILD_DIR)/src/libultra/gu/rotate.o" + include "$(BUILD_DIR)/src/libultra/io/aisetfreq.o" + include "$(BUILD_DIR)/src/libultra/os/getactivequeue.o" + include "$(BUILD_DIR)/src/libultra/mgu/normalize.o" + include "$(BUILD_DIR)/src/libultra/io/dpgetstat.o" + include "$(BUILD_DIR)/src/libultra/io/dpsetstat.o" + include "$(BUILD_DIR)/src/libultra/io/pfsdeletefile.o" + include "$(BUILD_DIR)/src/libultra/gu/ortho.o" + include "$(BUILD_DIR)/src/libultra/gu/cosf.o" + include "$(BUILD_DIR)/src/libultra/gu/libm_vals.o" + include "$(BUILD_DIR)/src/libultra/gu/coss.o" + include "$(BUILD_DIR)/src/libultra/io/visetevent.o" + include "$(BUILD_DIR)/src/libultra/io/pfsisplug.o" + include "$(BUILD_DIR)/src/libultra/gu/us2dex.o" + include "$(BUILD_DIR)/src/libultra/io/pfsselectbank.o" + include "$(BUILD_DIR)/src/libultra/io/contsetch.o" + include "$(BUILD_DIR)/src/libultra/io/pfsfilestate.o" + include "$(BUILD_DIR)/src/libultra/io/pfsinitpak.o" + include "$(BUILD_DIR)/src/libultra/io/pfschecker.o" + include "$(BUILD_DIR)/src/libultra/io/aigetlen.o" + include "$(BUILD_DIR)/src/libultra/mgu/translate.o" + include "$(BUILD_DIR)/src/libultra/io/contramwrite.o" + include "$(BUILD_DIR)/src/libultra/io/contramread.o" + include "$(BUILD_DIR)/src/libultra/io/crc.o" + include "$(BUILD_DIR)/src/libultra/os/settimer.o" + include "$(BUILD_DIR)/src/libultra/io/spgetstat.o" + include "$(BUILD_DIR)/src/libultra/io/spsetstat.o" + include "$(BUILD_DIR)/src/libultra/os/writebackdcacheall.o" + include "$(BUILD_DIR)/src/libultra/os/getcurrfaultedthread.o" + include "$(BUILD_DIR)/src/libultra/mgu/mtxf2l.o" + include "$(BUILD_DIR)/src/libultra/libc/llcvt.o" + include "$(BUILD_DIR)/src/libultra/io/vigetcurrframebuf.o" + include "$(BUILD_DIR)/src/libultra/io/spsetpc.o" + include "$(BUILD_DIR)/src/libultra/libc/sqrt.o" + include "$(BUILD_DIR)/src/libultra/libc/absf.o" + include "$(BUILD_DIR)/src/code/fmodf.o" + include "$(BUILD_DIR)/src/code/__osMemset.o" + include "$(BUILD_DIR)/src/code/__osMemmove.o" + include_data_with_rodata "$(BUILD_DIR)/src/code/z_message_PAL.o" + include "$(BUILD_DIR)/src/code/z_game_over.o" + include "$(BUILD_DIR)/src/code/z_construct.o" + include "$(BUILD_DIR)/data/audio_tables.rodata.o" + include "$(BUILD_DIR)/data/rsp.text.o" + include "$(BUILD_DIR)/data/rsp.rodata.o" endseg beginseg name "buffers" align 0x40 - include "build/src/buffers/zbuffer.o" - include "build/src/buffers/gfxbuffers.o" - include "build/src/buffers/heaps.o" + include "$(BUILD_DIR)/src/buffers/zbuffer.o" + include "$(BUILD_DIR)/src/buffers/gfxbuffers.o" + include "$(BUILD_DIR)/src/buffers/heaps.o" endseg beginseg name "ovl_title" address 0x80800000 - include "build/src/overlays/gamestates/ovl_title/z_title.o" - include "build/src/overlays/gamestates/ovl_title/ovl_title_reloc.o" + include "$(BUILD_DIR)/src/overlays/gamestates/ovl_title/z_title.o" + include "$(BUILD_DIR)/src/overlays/gamestates/ovl_title/ovl_title_reloc.o" endseg beginseg name "ovl_select" - include "build/src/overlays/gamestates/ovl_select/z_select.o" - include "build/src/overlays/gamestates/ovl_select/ovl_select_reloc.o" + include "$(BUILD_DIR)/src/overlays/gamestates/ovl_select/z_select.o" + include "$(BUILD_DIR)/src/overlays/gamestates/ovl_select/ovl_select_reloc.o" endseg beginseg name "ovl_opening" - include "build/src/overlays/gamestates/ovl_opening/z_opening.o" - include "build/src/overlays/gamestates/ovl_opening/ovl_opening_reloc.o" + include "$(BUILD_DIR)/src/overlays/gamestates/ovl_opening/z_opening.o" + include "$(BUILD_DIR)/src/overlays/gamestates/ovl_opening/ovl_opening_reloc.o" endseg beginseg name "ovl_file_choose" - include "build/src/overlays/gamestates/ovl_file_choose/z_file_nameset_data.o" - include "build/src/overlays/gamestates/ovl_file_choose/z_file_copy_erase.o" - include "build/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.o" - include "build/src/overlays/gamestates/ovl_file_choose/z_file_choose.o" - include "build/src/overlays/gamestates/ovl_file_choose/ovl_file_choose_reloc.o" + include "$(BUILD_DIR)/src/overlays/gamestates/ovl_file_choose/z_file_nameset_data.o" + include "$(BUILD_DIR)/src/overlays/gamestates/ovl_file_choose/z_file_copy_erase.o" + include "$(BUILD_DIR)/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.o" + include "$(BUILD_DIR)/src/overlays/gamestates/ovl_file_choose/z_file_choose.o" + include "$(BUILD_DIR)/src/overlays/gamestates/ovl_file_choose/ovl_file_choose_reloc.o" endseg beginseg name "ovl_kaleido_scope" - include "build/src/overlays/misc/ovl_kaleido_scope/z_kaleido_collect.o" - include "build/src/overlays/misc/ovl_kaleido_scope/z_kaleido_debug.o" - include "build/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.o" - include "build/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.o" - include "build/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map_PAL.o" - include "build/src/overlays/misc/ovl_kaleido_scope/z_kaleido_prompt.o" - include "build/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.o" - include "build/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark.o" - include "build/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark_data.o" - include "build/src/overlays/misc/ovl_kaleido_scope/ovl_kaleido_scope_reloc.o" + include "$(BUILD_DIR)/src/overlays/misc/ovl_kaleido_scope/z_kaleido_collect.o" + include "$(BUILD_DIR)/src/overlays/misc/ovl_kaleido_scope/z_kaleido_debug.o" + include "$(BUILD_DIR)/src/overlays/misc/ovl_kaleido_scope/z_kaleido_equipment.o" + include "$(BUILD_DIR)/src/overlays/misc/ovl_kaleido_scope/z_kaleido_item.o" + include "$(BUILD_DIR)/src/overlays/misc/ovl_kaleido_scope/z_kaleido_map_PAL.o" + include "$(BUILD_DIR)/src/overlays/misc/ovl_kaleido_scope/z_kaleido_prompt.o" + include "$(BUILD_DIR)/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.o" + include "$(BUILD_DIR)/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark.o" + include "$(BUILD_DIR)/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark_data.o" + include "$(BUILD_DIR)/src/overlays/misc/ovl_kaleido_scope/ovl_kaleido_scope_reloc.o" endseg beginseg name "ovl_player_actor" - include "build/src/overlays/actors/ovl_player_actor/z_player.o" - include "build/src/overlays/actors/ovl_player_actor/ovl_player_actor_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_player_actor/z_player.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_player_actor/ovl_player_actor_reloc.o" endseg beginseg name "ovl_map_mark_data" - include "build/src/overlays/misc/ovl_map_mark_data/z_map_mark_data.o" - include "build/src/overlays/misc/ovl_map_mark_data/ovl_map_mark_data_reloc.o" + include "$(BUILD_DIR)/src/overlays/misc/ovl_map_mark_data/z_map_mark_data.o" + include "$(BUILD_DIR)/src/overlays/misc/ovl_map_mark_data/ovl_map_mark_data_reloc.o" endseg beginseg name "ovl_En_Test" - include "build/src/overlays/actors/ovl_En_Test/z_en_test.o" - include "build/src/overlays/actors/ovl_En_Test/ovl_En_Test_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Test/z_en_test.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Test/ovl_En_Test_reloc.o" endseg beginseg name "ovl_Arms_Hook" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Arms_Hook/ovl_Arms_Hook_reloc.o" endseg beginseg name "ovl_Arrow_Fire" - include "build/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.o" - include "build/src/overlays/actors/ovl_Arrow_Fire/ovl_Arrow_Fire_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Arrow_Fire/ovl_Arrow_Fire_reloc.o" endseg beginseg name "ovl_Arrow_Ice" - include "build/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.o" - include "build/src/overlays/actors/ovl_Arrow_Ice/ovl_Arrow_Ice_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Arrow_Ice/ovl_Arrow_Ice_reloc.o" endseg beginseg name "ovl_Arrow_Light" - include "build/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.o" - include "build/src/overlays/actors/ovl_Arrow_Light/ovl_Arrow_Light_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Arrow_Light/ovl_Arrow_Light_reloc.o" endseg beginseg name "ovl_Bg_Bdan_Objects" - include "build/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.o" - include "build/src/overlays/actors/ovl_Bg_Bdan_Objects/ovl_Bg_Bdan_Objects_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Bdan_Objects/ovl_Bg_Bdan_Objects_reloc.o" endseg beginseg name "ovl_Bg_Bdan_Switch" - include "build/src/overlays/actors/ovl_Bg_Bdan_Switch/z_bg_bdan_switch.o" - include "build/src/overlays/actors/ovl_Bg_Bdan_Switch/ovl_Bg_Bdan_Switch_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Bdan_Switch/z_bg_bdan_switch.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Bdan_Switch/ovl_Bg_Bdan_Switch_reloc.o" endseg beginseg name "ovl_Bg_Bom_Guard" - include "build/src/overlays/actors/ovl_Bg_Bom_Guard/z_bg_bom_guard.o" - include "build/src/overlays/actors/ovl_Bg_Bom_Guard/ovl_Bg_Bom_Guard_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Bom_Guard/z_bg_bom_guard.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Bom_Guard/ovl_Bg_Bom_Guard_reloc.o" endseg beginseg name "ovl_Bg_Bombwall" - include "build/src/overlays/actors/ovl_Bg_Bombwall/z_bg_bombwall.o" - include "build/src/overlays/actors/ovl_Bg_Bombwall/ovl_Bg_Bombwall_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Bombwall/z_bg_bombwall.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Bombwall/ovl_Bg_Bombwall_reloc.o" endseg beginseg name "ovl_Bg_Bowl_Wall" - include "build/src/overlays/actors/ovl_Bg_Bowl_Wall/z_bg_bowl_wall.o" - include "build/src/overlays/actors/ovl_Bg_Bowl_Wall/ovl_Bg_Bowl_Wall_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Bowl_Wall/z_bg_bowl_wall.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Bowl_Wall/ovl_Bg_Bowl_Wall_reloc.o" endseg beginseg name "ovl_Bg_Breakwall" - include "build/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.o" - include "build/src/overlays/actors/ovl_Bg_Breakwall/ovl_Bg_Breakwall_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Breakwall/ovl_Bg_Breakwall_reloc.o" endseg beginseg name "ovl_Bg_Ddan_Jd" - include "build/src/overlays/actors/ovl_Bg_Ddan_Jd/z_bg_ddan_jd.o" - include "build/src/overlays/actors/ovl_Bg_Ddan_Jd/ovl_Bg_Ddan_Jd_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ddan_Jd/z_bg_ddan_jd.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ddan_Jd/ovl_Bg_Ddan_Jd_reloc.o" endseg beginseg name "ovl_Bg_Ddan_Kd" - include "build/src/overlays/actors/ovl_Bg_Ddan_Kd/z_bg_ddan_kd.o" - include "build/src/overlays/actors/ovl_Bg_Ddan_Kd/ovl_Bg_Ddan_Kd_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ddan_Kd/z_bg_ddan_kd.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ddan_Kd/ovl_Bg_Ddan_Kd_reloc.o" endseg beginseg name "ovl_Bg_Dodoago" - include "build/src/overlays/actors/ovl_Bg_Dodoago/z_bg_dodoago.o" - include "build/src/overlays/actors/ovl_Bg_Dodoago/ovl_Bg_Dodoago_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Dodoago/z_bg_dodoago.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Dodoago/ovl_Bg_Dodoago_reloc.o" endseg beginseg name "ovl_Bg_Dy_Yoseizo" - include "build/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.o" - include "build/src/overlays/actors/ovl_Bg_Dy_Yoseizo/ovl_Bg_Dy_Yoseizo_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Dy_Yoseizo/ovl_Bg_Dy_Yoseizo_reloc.o" endseg beginseg name "ovl_Bg_Ganon_Otyuka" - include "build/src/overlays/actors/ovl_Bg_Ganon_Otyuka/z_bg_ganon_otyuka.o" - include "build/src/overlays/actors/ovl_Bg_Ganon_Otyuka/ovl_Bg_Ganon_Otyuka_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ganon_Otyuka/z_bg_ganon_otyuka.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ganon_Otyuka/ovl_Bg_Ganon_Otyuka_reloc.o" endseg beginseg name "ovl_Bg_Gate_Shutter" - include "build/src/overlays/actors/ovl_Bg_Gate_Shutter/z_bg_gate_shutter.o" - include "build/src/overlays/actors/ovl_Bg_Gate_Shutter/ovl_Bg_Gate_Shutter_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Gate_Shutter/z_bg_gate_shutter.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Gate_Shutter/ovl_Bg_Gate_Shutter_reloc.o" endseg beginseg name "ovl_Bg_Gjyo_Bridge" - include "build/src/overlays/actors/ovl_Bg_Gjyo_Bridge/z_bg_gjyo_bridge.o" - include "build/src/overlays/actors/ovl_Bg_Gjyo_Bridge/ovl_Bg_Gjyo_Bridge_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Gjyo_Bridge/z_bg_gjyo_bridge.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Gjyo_Bridge/ovl_Bg_Gjyo_Bridge_reloc.o" endseg beginseg name "ovl_Bg_Gnd_Darkmeiro" - include "build/src/overlays/actors/ovl_Bg_Gnd_Darkmeiro/z_bg_gnd_darkmeiro.o" - include "build/src/overlays/actors/ovl_Bg_Gnd_Darkmeiro/ovl_Bg_Gnd_Darkmeiro_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Gnd_Darkmeiro/z_bg_gnd_darkmeiro.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Gnd_Darkmeiro/ovl_Bg_Gnd_Darkmeiro_reloc.o" endseg beginseg name "ovl_Bg_Gnd_Firemeiro" - include "build/src/overlays/actors/ovl_Bg_Gnd_Firemeiro/z_bg_gnd_firemeiro.o" - include "build/src/overlays/actors/ovl_Bg_Gnd_Firemeiro/ovl_Bg_Gnd_Firemeiro_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Gnd_Firemeiro/z_bg_gnd_firemeiro.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Gnd_Firemeiro/ovl_Bg_Gnd_Firemeiro_reloc.o" endseg beginseg name "ovl_Bg_Gnd_Iceblock" - include "build/src/overlays/actors/ovl_Bg_Gnd_Iceblock/z_bg_gnd_iceblock.o" - include "build/src/overlays/actors/ovl_Bg_Gnd_Iceblock/ovl_Bg_Gnd_Iceblock_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Gnd_Iceblock/z_bg_gnd_iceblock.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Gnd_Iceblock/ovl_Bg_Gnd_Iceblock_reloc.o" endseg beginseg name "ovl_Bg_Gnd_Nisekabe" - include "build/src/overlays/actors/ovl_Bg_Gnd_Nisekabe/z_bg_gnd_nisekabe.o" - include "build/src/overlays/actors/ovl_Bg_Gnd_Nisekabe/ovl_Bg_Gnd_Nisekabe_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Gnd_Nisekabe/z_bg_gnd_nisekabe.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Gnd_Nisekabe/ovl_Bg_Gnd_Nisekabe_reloc.o" endseg beginseg name "ovl_Bg_Gnd_Soulmeiro" - include "build/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.o" - include "build/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/ovl_Bg_Gnd_Soulmeiro_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/ovl_Bg_Gnd_Soulmeiro_reloc.o" endseg beginseg name "ovl_Bg_Haka" - include "build/src/overlays/actors/ovl_Bg_Haka/z_bg_haka.o" - include "build/src/overlays/actors/ovl_Bg_Haka/ovl_Bg_Haka_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka/z_bg_haka.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka/ovl_Bg_Haka_reloc.o" endseg beginseg name "ovl_Bg_Haka_Gate" - include "build/src/overlays/actors/ovl_Bg_Haka_Gate/z_bg_haka_gate.o" - include "build/src/overlays/actors/ovl_Bg_Haka_Gate/ovl_Bg_Haka_Gate_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_Gate/z_bg_haka_gate.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_Gate/ovl_Bg_Haka_Gate_reloc.o" endseg beginseg name "ovl_Bg_Haka_Huta" - include "build/src/overlays/actors/ovl_Bg_Haka_Huta/z_bg_haka_huta.o" - include "build/src/overlays/actors/ovl_Bg_Haka_Huta/ovl_Bg_Haka_Huta_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_Huta/z_bg_haka_huta.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_Huta/ovl_Bg_Haka_Huta_reloc.o" endseg beginseg name "ovl_Bg_Haka_Megane" - include "build/src/overlays/actors/ovl_Bg_Haka_Megane/z_bg_haka_megane.o" - include "build/src/overlays/actors/ovl_Bg_Haka_Megane/ovl_Bg_Haka_Megane_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_Megane/z_bg_haka_megane.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_Megane/ovl_Bg_Haka_Megane_reloc.o" endseg beginseg name "ovl_Bg_Haka_MeganeBG" - include "build/src/overlays/actors/ovl_Bg_Haka_MeganeBG/z_bg_haka_meganebg.o" - include "build/src/overlays/actors/ovl_Bg_Haka_MeganeBG/ovl_Bg_Haka_MeganeBG_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_MeganeBG/z_bg_haka_meganebg.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_MeganeBG/ovl_Bg_Haka_MeganeBG_reloc.o" endseg beginseg name "ovl_Bg_Haka_Sgami" - include "build/src/overlays/actors/ovl_Bg_Haka_Sgami/z_bg_haka_sgami.o" - include "build/src/overlays/actors/ovl_Bg_Haka_Sgami/ovl_Bg_Haka_Sgami_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_Sgami/z_bg_haka_sgami.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_Sgami/ovl_Bg_Haka_Sgami_reloc.o" endseg beginseg name "ovl_Bg_Haka_Ship" - include "build/src/overlays/actors/ovl_Bg_Haka_Ship/z_bg_haka_ship.o" - include "build/src/overlays/actors/ovl_Bg_Haka_Ship/ovl_Bg_Haka_Ship_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_Ship/z_bg_haka_ship.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_Ship/ovl_Bg_Haka_Ship_reloc.o" endseg beginseg name "ovl_Bg_Haka_Trap" - include "build/src/overlays/actors/ovl_Bg_Haka_Trap/z_bg_haka_trap.o" - include "build/src/overlays/actors/ovl_Bg_Haka_Trap/ovl_Bg_Haka_Trap_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_Trap/z_bg_haka_trap.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_Trap/ovl_Bg_Haka_Trap_reloc.o" endseg beginseg name "ovl_Bg_Haka_Tubo" - include "build/src/overlays/actors/ovl_Bg_Haka_Tubo/z_bg_haka_tubo.o" - include "build/src/overlays/actors/ovl_Bg_Haka_Tubo/ovl_Bg_Haka_Tubo_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_Tubo/z_bg_haka_tubo.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_Tubo/ovl_Bg_Haka_Tubo_reloc.o" endseg beginseg name "ovl_Bg_Haka_Water" - include "build/src/overlays/actors/ovl_Bg_Haka_Water/z_bg_haka_water.o" - include "build/src/overlays/actors/ovl_Bg_Haka_Water/ovl_Bg_Haka_Water_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_Water/z_bg_haka_water.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_Water/ovl_Bg_Haka_Water_reloc.o" endseg beginseg name "ovl_Bg_Haka_Zou" - include "build/src/overlays/actors/ovl_Bg_Haka_Zou/z_bg_haka_zou.o" - include "build/src/overlays/actors/ovl_Bg_Haka_Zou/ovl_Bg_Haka_Zou_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_Zou/z_bg_haka_zou.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Haka_Zou/ovl_Bg_Haka_Zou_reloc.o" endseg beginseg name "ovl_Bg_Heavy_Block" - include "build/src/overlays/actors/ovl_Bg_Heavy_Block/z_bg_heavy_block.o" - include "build/src/overlays/actors/ovl_Bg_Heavy_Block/ovl_Bg_Heavy_Block_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Heavy_Block/z_bg_heavy_block.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Heavy_Block/ovl_Bg_Heavy_Block_reloc.o" endseg beginseg name "ovl_Bg_Hidan_Curtain" - include "build/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.o" - include "build/src/overlays/actors/ovl_Bg_Hidan_Curtain/ovl_Bg_Hidan_Curtain_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Curtain/ovl_Bg_Hidan_Curtain_reloc.o" endseg beginseg name "ovl_Bg_Hidan_Dalm" - include "build/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.o" - include "build/src/overlays/actors/ovl_Bg_Hidan_Dalm/ovl_Bg_Hidan_Dalm_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Dalm/ovl_Bg_Hidan_Dalm_reloc.o" endseg beginseg name "ovl_Bg_Hidan_Firewall" - include "build/src/overlays/actors/ovl_Bg_Hidan_Firewall/z_bg_hidan_firewall.o" - include "build/src/overlays/actors/ovl_Bg_Hidan_Firewall/ovl_Bg_Hidan_Firewall_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Firewall/z_bg_hidan_firewall.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Firewall/ovl_Bg_Hidan_Firewall_reloc.o" endseg beginseg name "ovl_Bg_Hidan_Fslift" - include "build/src/overlays/actors/ovl_Bg_Hidan_Fslift/z_bg_hidan_fslift.o" - include "build/src/overlays/actors/ovl_Bg_Hidan_Fslift/ovl_Bg_Hidan_Fslift_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Fslift/z_bg_hidan_fslift.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Fslift/ovl_Bg_Hidan_Fslift_reloc.o" endseg beginseg name "ovl_Bg_Hidan_Fwbig" - include "build/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.o" - include "build/src/overlays/actors/ovl_Bg_Hidan_Fwbig/ovl_Bg_Hidan_Fwbig_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Fwbig/ovl_Bg_Hidan_Fwbig_reloc.o" endseg beginseg name "ovl_Bg_Hidan_Hamstep" - include "build/src/overlays/actors/ovl_Bg_Hidan_Hamstep/z_bg_hidan_hamstep.o" - include "build/src/overlays/actors/ovl_Bg_Hidan_Hamstep/ovl_Bg_Hidan_Hamstep_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Hamstep/z_bg_hidan_hamstep.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Hamstep/ovl_Bg_Hidan_Hamstep_reloc.o" endseg beginseg name "ovl_Bg_Hidan_Hrock" - include "build/src/overlays/actors/ovl_Bg_Hidan_Hrock/z_bg_hidan_hrock.o" - include "build/src/overlays/actors/ovl_Bg_Hidan_Hrock/ovl_Bg_Hidan_Hrock_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Hrock/z_bg_hidan_hrock.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Hrock/ovl_Bg_Hidan_Hrock_reloc.o" endseg beginseg name "ovl_Bg_Hidan_Kousi" - include "build/src/overlays/actors/ovl_Bg_Hidan_Kousi/z_bg_hidan_kousi.o" - include "build/src/overlays/actors/ovl_Bg_Hidan_Kousi/ovl_Bg_Hidan_Kousi_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Kousi/z_bg_hidan_kousi.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Kousi/ovl_Bg_Hidan_Kousi_reloc.o" endseg beginseg name "ovl_Bg_Hidan_Kowarerukabe" - include "build/src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.o" - include "build/src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/ovl_Bg_Hidan_Kowarerukabe_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/ovl_Bg_Hidan_Kowarerukabe_reloc.o" endseg beginseg name "ovl_Bg_Hidan_Rock" - include "build/src/overlays/actors/ovl_Bg_Hidan_Rock/z_bg_hidan_rock.o" - include "build/src/overlays/actors/ovl_Bg_Hidan_Rock/ovl_Bg_Hidan_Rock_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Rock/z_bg_hidan_rock.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Rock/ovl_Bg_Hidan_Rock_reloc.o" endseg beginseg name "ovl_Bg_Hidan_Rsekizou" - include "build/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.o" - include "build/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/ovl_Bg_Hidan_Rsekizou_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/ovl_Bg_Hidan_Rsekizou_reloc.o" endseg beginseg name "ovl_Bg_Hidan_Sekizou" - include "build/src/overlays/actors/ovl_Bg_Hidan_Sekizou/z_bg_hidan_sekizou.o" - include "build/src/overlays/actors/ovl_Bg_Hidan_Sekizou/ovl_Bg_Hidan_Sekizou_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Sekizou/z_bg_hidan_sekizou.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Sekizou/ovl_Bg_Hidan_Sekizou_reloc.o" endseg beginseg name "ovl_Bg_Hidan_Sima" - include "build/src/overlays/actors/ovl_Bg_Hidan_Sima/z_bg_hidan_sima.o" - include "build/src/overlays/actors/ovl_Bg_Hidan_Sima/ovl_Bg_Hidan_Sima_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Sima/z_bg_hidan_sima.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Sima/ovl_Bg_Hidan_Sima_reloc.o" endseg beginseg name "ovl_Bg_Hidan_Syoku" - include "build/src/overlays/actors/ovl_Bg_Hidan_Syoku/z_bg_hidan_syoku.o" - include "build/src/overlays/actors/ovl_Bg_Hidan_Syoku/ovl_Bg_Hidan_Syoku_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Syoku/z_bg_hidan_syoku.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Hidan_Syoku/ovl_Bg_Hidan_Syoku_reloc.o" endseg beginseg name "ovl_Bg_Ice_Objects" - include "build/src/overlays/actors/ovl_Bg_Ice_Objects/z_bg_ice_objects.o" - include "build/src/overlays/actors/ovl_Bg_Ice_Objects/ovl_Bg_Ice_Objects_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ice_Objects/z_bg_ice_objects.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ice_Objects/ovl_Bg_Ice_Objects_reloc.o" endseg beginseg name "ovl_Bg_Ice_Shelter" - include "build/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.o" - include "build/src/overlays/actors/ovl_Bg_Ice_Shelter/ovl_Bg_Ice_Shelter_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ice_Shelter/ovl_Bg_Ice_Shelter_reloc.o" endseg beginseg name "ovl_Bg_Ice_Shutter" - include "build/src/overlays/actors/ovl_Bg_Ice_Shutter/z_bg_ice_shutter.o" - include "build/src/overlays/actors/ovl_Bg_Ice_Shutter/ovl_Bg_Ice_Shutter_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ice_Shutter/z_bg_ice_shutter.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ice_Shutter/ovl_Bg_Ice_Shutter_reloc.o" endseg beginseg name "ovl_Bg_Ice_Turara" - include "build/src/overlays/actors/ovl_Bg_Ice_Turara/z_bg_ice_turara.o" - include "build/src/overlays/actors/ovl_Bg_Ice_Turara/ovl_Bg_Ice_Turara_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ice_Turara/z_bg_ice_turara.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ice_Turara/ovl_Bg_Ice_Turara_reloc.o" endseg beginseg name "ovl_Bg_Ingate" - include "build/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.o" - include "build/src/overlays/actors/ovl_Bg_Ingate/ovl_Bg_Ingate_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ingate/ovl_Bg_Ingate_reloc.o" endseg beginseg name "ovl_Bg_Jya_1flift" - include "build/src/overlays/actors/ovl_Bg_Jya_1flift/z_bg_jya_1flift.o" - include "build/src/overlays/actors/ovl_Bg_Jya_1flift/ovl_Bg_Jya_1flift_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_1flift/z_bg_jya_1flift.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_1flift/ovl_Bg_Jya_1flift_reloc.o" endseg beginseg name "ovl_Bg_Jya_Amishutter" - include "build/src/overlays/actors/ovl_Bg_Jya_Amishutter/z_bg_jya_amishutter.o" - include "build/src/overlays/actors/ovl_Bg_Jya_Amishutter/ovl_Bg_Jya_Amishutter_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Amishutter/z_bg_jya_amishutter.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Amishutter/ovl_Bg_Jya_Amishutter_reloc.o" endseg beginseg name "ovl_Bg_Jya_Bigmirror" - include "build/src/overlays/actors/ovl_Bg_Jya_Bigmirror/z_bg_jya_bigmirror.o" - include "build/src/overlays/actors/ovl_Bg_Jya_Bigmirror/ovl_Bg_Jya_Bigmirror_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Bigmirror/z_bg_jya_bigmirror.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Bigmirror/ovl_Bg_Jya_Bigmirror_reloc.o" endseg beginseg name "ovl_Bg_Jya_Block" - include "build/src/overlays/actors/ovl_Bg_Jya_Block/z_bg_jya_block.o" - include "build/src/overlays/actors/ovl_Bg_Jya_Block/ovl_Bg_Jya_Block_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Block/z_bg_jya_block.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Block/ovl_Bg_Jya_Block_reloc.o" endseg beginseg name "ovl_Bg_Jya_Bombchuiwa" - include "build/src/overlays/actors/ovl_Bg_Jya_Bombchuiwa/z_bg_jya_bombchuiwa.o" - include "build/src/overlays/actors/ovl_Bg_Jya_Bombchuiwa/ovl_Bg_Jya_Bombchuiwa_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Bombchuiwa/z_bg_jya_bombchuiwa.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Bombchuiwa/ovl_Bg_Jya_Bombchuiwa_reloc.o" endseg beginseg name "ovl_Bg_Jya_Bombiwa" - include "build/src/overlays/actors/ovl_Bg_Jya_Bombiwa/z_bg_jya_bombiwa.o" - include "build/src/overlays/actors/ovl_Bg_Jya_Bombiwa/ovl_Bg_Jya_Bombiwa_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Bombiwa/z_bg_jya_bombiwa.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Bombiwa/ovl_Bg_Jya_Bombiwa_reloc.o" endseg beginseg name "ovl_Bg_Jya_Cobra" - include "build/src/overlays/actors/ovl_Bg_Jya_Cobra/z_bg_jya_cobra.o" - include "build/src/overlays/actors/ovl_Bg_Jya_Cobra/ovl_Bg_Jya_Cobra_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Cobra/z_bg_jya_cobra.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Cobra/ovl_Bg_Jya_Cobra_reloc.o" endseg beginseg name "ovl_Bg_Jya_Goroiwa" - include "build/src/overlays/actors/ovl_Bg_Jya_Goroiwa/z_bg_jya_goroiwa.o" - include "build/src/overlays/actors/ovl_Bg_Jya_Goroiwa/ovl_Bg_Jya_Goroiwa_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Goroiwa/z_bg_jya_goroiwa.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Goroiwa/ovl_Bg_Jya_Goroiwa_reloc.o" endseg beginseg name "ovl_Bg_Jya_Haheniron" - include "build/src/overlays/actors/ovl_Bg_Jya_Haheniron/z_bg_jya_haheniron.o" - include "build/src/overlays/actors/ovl_Bg_Jya_Haheniron/ovl_Bg_Jya_Haheniron_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Haheniron/z_bg_jya_haheniron.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Haheniron/ovl_Bg_Jya_Haheniron_reloc.o" endseg beginseg name "ovl_Bg_Jya_Ironobj" - include "build/src/overlays/actors/ovl_Bg_Jya_Ironobj/z_bg_jya_ironobj.o" - include "build/src/overlays/actors/ovl_Bg_Jya_Ironobj/ovl_Bg_Jya_Ironobj_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Ironobj/z_bg_jya_ironobj.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Ironobj/ovl_Bg_Jya_Ironobj_reloc.o" endseg beginseg name "ovl_Bg_Jya_Kanaami" - include "build/src/overlays/actors/ovl_Bg_Jya_Kanaami/z_bg_jya_kanaami.o" - include "build/src/overlays/actors/ovl_Bg_Jya_Kanaami/ovl_Bg_Jya_Kanaami_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Kanaami/z_bg_jya_kanaami.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Kanaami/ovl_Bg_Jya_Kanaami_reloc.o" endseg beginseg name "ovl_Bg_Jya_Lift" - include "build/src/overlays/actors/ovl_Bg_Jya_Lift/z_bg_jya_lift.o" - include "build/src/overlays/actors/ovl_Bg_Jya_Lift/ovl_Bg_Jya_Lift_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Lift/z_bg_jya_lift.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Lift/ovl_Bg_Jya_Lift_reloc.o" endseg beginseg name "ovl_Bg_Jya_Megami" - include "build/src/overlays/actors/ovl_Bg_Jya_Megami/z_bg_jya_megami.o" - include "build/src/overlays/actors/ovl_Bg_Jya_Megami/ovl_Bg_Jya_Megami_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Megami/z_bg_jya_megami.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Megami/ovl_Bg_Jya_Megami_reloc.o" endseg beginseg name "ovl_Bg_Jya_Zurerukabe" - include "build/src/overlays/actors/ovl_Bg_Jya_Zurerukabe/z_bg_jya_zurerukabe.o" - include "build/src/overlays/actors/ovl_Bg_Jya_Zurerukabe/ovl_Bg_Jya_Zurerukabe_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Zurerukabe/z_bg_jya_zurerukabe.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Jya_Zurerukabe/ovl_Bg_Jya_Zurerukabe_reloc.o" endseg beginseg name "ovl_Bg_Menkuri_Eye" - include "build/src/overlays/actors/ovl_Bg_Menkuri_Eye/z_bg_menkuri_eye.o" - include "build/src/overlays/actors/ovl_Bg_Menkuri_Eye/ovl_Bg_Menkuri_Eye_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Menkuri_Eye/z_bg_menkuri_eye.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Menkuri_Eye/ovl_Bg_Menkuri_Eye_reloc.o" endseg beginseg name "ovl_Bg_Menkuri_Kaiten" - include "build/src/overlays/actors/ovl_Bg_Menkuri_Kaiten/z_bg_menkuri_kaiten.o" - include "build/src/overlays/actors/ovl_Bg_Menkuri_Kaiten/ovl_Bg_Menkuri_Kaiten_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Menkuri_Kaiten/z_bg_menkuri_kaiten.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Menkuri_Kaiten/ovl_Bg_Menkuri_Kaiten_reloc.o" endseg beginseg name "ovl_Bg_Menkuri_Nisekabe" - include "build/src/overlays/actors/ovl_Bg_Menkuri_Nisekabe/z_bg_menkuri_nisekabe.o" - include "build/src/overlays/actors/ovl_Bg_Menkuri_Nisekabe/ovl_Bg_Menkuri_Nisekabe_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Menkuri_Nisekabe/z_bg_menkuri_nisekabe.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Menkuri_Nisekabe/ovl_Bg_Menkuri_Nisekabe_reloc.o" endseg beginseg name "ovl_Bg_Mizu_Bwall" - include "build/src/overlays/actors/ovl_Bg_Mizu_Bwall/z_bg_mizu_bwall.o" - include "build/src/overlays/actors/ovl_Bg_Mizu_Bwall/ovl_Bg_Mizu_Bwall_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mizu_Bwall/z_bg_mizu_bwall.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mizu_Bwall/ovl_Bg_Mizu_Bwall_reloc.o" endseg beginseg name "ovl_Bg_Mizu_Movebg" - include "build/src/overlays/actors/ovl_Bg_Mizu_Movebg/z_bg_mizu_movebg.o" - include "build/src/overlays/actors/ovl_Bg_Mizu_Movebg/ovl_Bg_Mizu_Movebg_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mizu_Movebg/z_bg_mizu_movebg.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mizu_Movebg/ovl_Bg_Mizu_Movebg_reloc.o" endseg beginseg name "ovl_Bg_Mizu_Shutter" - include "build/src/overlays/actors/ovl_Bg_Mizu_Shutter/z_bg_mizu_shutter.o" - include "build/src/overlays/actors/ovl_Bg_Mizu_Shutter/ovl_Bg_Mizu_Shutter_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mizu_Shutter/z_bg_mizu_shutter.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mizu_Shutter/ovl_Bg_Mizu_Shutter_reloc.o" endseg beginseg name "ovl_Bg_Mizu_Uzu" - include "build/src/overlays/actors/ovl_Bg_Mizu_Uzu/z_bg_mizu_uzu.o" - include "build/src/overlays/actors/ovl_Bg_Mizu_Uzu/ovl_Bg_Mizu_Uzu_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mizu_Uzu/z_bg_mizu_uzu.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mizu_Uzu/ovl_Bg_Mizu_Uzu_reloc.o" endseg beginseg name "ovl_Bg_Mizu_Water" - include "build/src/overlays/actors/ovl_Bg_Mizu_Water/z_bg_mizu_water.o" - include "build/src/overlays/actors/ovl_Bg_Mizu_Water/ovl_Bg_Mizu_Water_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mizu_Water/z_bg_mizu_water.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mizu_Water/ovl_Bg_Mizu_Water_reloc.o" endseg beginseg name "ovl_Bg_Mjin" - include "build/src/overlays/actors/ovl_Bg_Mjin/z_bg_mjin.o" - include "build/src/overlays/actors/ovl_Bg_Mjin/ovl_Bg_Mjin_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mjin/z_bg_mjin.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mjin/ovl_Bg_Mjin_reloc.o" endseg beginseg name "ovl_Bg_Mori_Bigst" - include "build/src/overlays/actors/ovl_Bg_Mori_Bigst/z_bg_mori_bigst.o" - include "build/src/overlays/actors/ovl_Bg_Mori_Bigst/ovl_Bg_Mori_Bigst_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mori_Bigst/z_bg_mori_bigst.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mori_Bigst/ovl_Bg_Mori_Bigst_reloc.o" endseg beginseg name "ovl_Bg_Mori_Elevator" - include "build/src/overlays/actors/ovl_Bg_Mori_Elevator/z_bg_mori_elevator.o" - include "build/src/overlays/actors/ovl_Bg_Mori_Elevator/ovl_Bg_Mori_Elevator_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mori_Elevator/z_bg_mori_elevator.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mori_Elevator/ovl_Bg_Mori_Elevator_reloc.o" endseg beginseg name "ovl_Bg_Mori_Hashigo" - include "build/src/overlays/actors/ovl_Bg_Mori_Hashigo/z_bg_mori_hashigo.o" - include "build/src/overlays/actors/ovl_Bg_Mori_Hashigo/ovl_Bg_Mori_Hashigo_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mori_Hashigo/z_bg_mori_hashigo.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mori_Hashigo/ovl_Bg_Mori_Hashigo_reloc.o" endseg beginseg name "ovl_Bg_Mori_Hashira4" - include "build/src/overlays/actors/ovl_Bg_Mori_Hashira4/z_bg_mori_hashira4.o" - include "build/src/overlays/actors/ovl_Bg_Mori_Hashira4/ovl_Bg_Mori_Hashira4_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mori_Hashira4/z_bg_mori_hashira4.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mori_Hashira4/ovl_Bg_Mori_Hashira4_reloc.o" endseg beginseg name "ovl_Bg_Mori_Hineri" - include "build/src/overlays/actors/ovl_Bg_Mori_Hineri/z_bg_mori_hineri.o" - include "build/src/overlays/actors/ovl_Bg_Mori_Hineri/ovl_Bg_Mori_Hineri_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mori_Hineri/z_bg_mori_hineri.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mori_Hineri/ovl_Bg_Mori_Hineri_reloc.o" endseg beginseg name "ovl_Bg_Mori_Idomizu" - include "build/src/overlays/actors/ovl_Bg_Mori_Idomizu/z_bg_mori_idomizu.o" - include "build/src/overlays/actors/ovl_Bg_Mori_Idomizu/ovl_Bg_Mori_Idomizu_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mori_Idomizu/z_bg_mori_idomizu.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mori_Idomizu/ovl_Bg_Mori_Idomizu_reloc.o" endseg beginseg name "ovl_Bg_Mori_Kaitenkabe" - include "build/src/overlays/actors/ovl_Bg_Mori_Kaitenkabe/z_bg_mori_kaitenkabe.o" - include "build/src/overlays/actors/ovl_Bg_Mori_Kaitenkabe/ovl_Bg_Mori_Kaitenkabe_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mori_Kaitenkabe/z_bg_mori_kaitenkabe.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mori_Kaitenkabe/ovl_Bg_Mori_Kaitenkabe_reloc.o" endseg beginseg name "ovl_Bg_Mori_Rakkatenjo" - include "build/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.o" - include "build/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/ovl_Bg_Mori_Rakkatenjo_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/ovl_Bg_Mori_Rakkatenjo_reloc.o" endseg beginseg name "ovl_Bg_Po_Event" - include "build/src/overlays/actors/ovl_Bg_Po_Event/z_bg_po_event.o" - include "build/src/overlays/actors/ovl_Bg_Po_Event/ovl_Bg_Po_Event_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Po_Event/z_bg_po_event.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Po_Event/ovl_Bg_Po_Event_reloc.o" endseg beginseg name "ovl_Bg_Po_Syokudai" - include "build/src/overlays/actors/ovl_Bg_Po_Syokudai/z_bg_po_syokudai.o" - include "build/src/overlays/actors/ovl_Bg_Po_Syokudai/ovl_Bg_Po_Syokudai_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Po_Syokudai/z_bg_po_syokudai.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Po_Syokudai/ovl_Bg_Po_Syokudai_reloc.o" endseg beginseg name "ovl_Bg_Pushbox" - include "build/src/overlays/actors/ovl_Bg_Pushbox/z_bg_pushbox.o" - include "build/src/overlays/actors/ovl_Bg_Pushbox/ovl_Bg_Pushbox_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Pushbox/z_bg_pushbox.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Pushbox/ovl_Bg_Pushbox_reloc.o" endseg beginseg name "ovl_Bg_Relay_Objects" - include "build/src/overlays/actors/ovl_Bg_Relay_Objects/z_bg_relay_objects.o" - include "build/src/overlays/actors/ovl_Bg_Relay_Objects/ovl_Bg_Relay_Objects_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Relay_Objects/z_bg_relay_objects.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Relay_Objects/ovl_Bg_Relay_Objects_reloc.o" endseg beginseg name "ovl_Bg_Spot00_Break" - include "build/src/overlays/actors/ovl_Bg_Spot00_Break/z_bg_spot00_break.o" - include "build/src/overlays/actors/ovl_Bg_Spot00_Break/ovl_Bg_Spot00_Break_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot00_Break/z_bg_spot00_break.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot00_Break/ovl_Bg_Spot00_Break_reloc.o" endseg beginseg name "ovl_Bg_Spot00_Hanebasi" - include "build/src/overlays/actors/ovl_Bg_Spot00_Hanebasi/z_bg_spot00_hanebasi.o" - include "build/src/overlays/actors/ovl_Bg_Spot00_Hanebasi/ovl_Bg_Spot00_Hanebasi_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot00_Hanebasi/z_bg_spot00_hanebasi.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot00_Hanebasi/ovl_Bg_Spot00_Hanebasi_reloc.o" endseg beginseg name "ovl_Bg_Spot01_Fusya" - include "build/src/overlays/actors/ovl_Bg_Spot01_Fusya/z_bg_spot01_fusya.o" - include "build/src/overlays/actors/ovl_Bg_Spot01_Fusya/ovl_Bg_Spot01_Fusya_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot01_Fusya/z_bg_spot01_fusya.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot01_Fusya/ovl_Bg_Spot01_Fusya_reloc.o" endseg beginseg name "ovl_Bg_Spot01_Idohashira" - include "build/src/overlays/actors/ovl_Bg_Spot01_Idohashira/z_bg_spot01_idohashira.o" - include "build/src/overlays/actors/ovl_Bg_Spot01_Idohashira/ovl_Bg_Spot01_Idohashira_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot01_Idohashira/z_bg_spot01_idohashira.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot01_Idohashira/ovl_Bg_Spot01_Idohashira_reloc.o" endseg beginseg name "ovl_Bg_Spot01_Idomizu" - include "build/src/overlays/actors/ovl_Bg_Spot01_Idomizu/z_bg_spot01_idomizu.o" - include "build/src/overlays/actors/ovl_Bg_Spot01_Idomizu/ovl_Bg_Spot01_Idomizu_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot01_Idomizu/z_bg_spot01_idomizu.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot01_Idomizu/ovl_Bg_Spot01_Idomizu_reloc.o" endseg beginseg name "ovl_Bg_Spot01_Idosoko" - include "build/src/overlays/actors/ovl_Bg_Spot01_Idosoko/z_bg_spot01_idosoko.o" - include "build/src/overlays/actors/ovl_Bg_Spot01_Idosoko/ovl_Bg_Spot01_Idosoko_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot01_Idosoko/z_bg_spot01_idosoko.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot01_Idosoko/ovl_Bg_Spot01_Idosoko_reloc.o" endseg beginseg name "ovl_Bg_Spot01_Objects2" - include "build/src/overlays/actors/ovl_Bg_Spot01_Objects2/z_bg_spot01_objects2.o" - include "build/src/overlays/actors/ovl_Bg_Spot01_Objects2/ovl_Bg_Spot01_Objects2_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot01_Objects2/z_bg_spot01_objects2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot01_Objects2/ovl_Bg_Spot01_Objects2_reloc.o" endseg beginseg name "ovl_Bg_Spot02_Objects" - include "build/src/overlays/actors/ovl_Bg_Spot02_Objects/z_bg_spot02_objects.o" - include "build/src/overlays/actors/ovl_Bg_Spot02_Objects/ovl_Bg_Spot02_Objects_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot02_Objects/z_bg_spot02_objects.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot02_Objects/ovl_Bg_Spot02_Objects_reloc.o" endseg beginseg name "ovl_Bg_Spot03_Taki" - include "build/src/overlays/actors/ovl_Bg_Spot03_Taki/z_bg_spot03_taki.o" - include "build/src/overlays/actors/ovl_Bg_Spot03_Taki/ovl_Bg_Spot03_Taki_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot03_Taki/z_bg_spot03_taki.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot03_Taki/ovl_Bg_Spot03_Taki_reloc.o" endseg beginseg name "ovl_Bg_Spot05_Soko" - include "build/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.o" - include "build/src/overlays/actors/ovl_Bg_Spot05_Soko/ovl_Bg_Spot05_Soko_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot05_Soko/z_bg_spot05_soko.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot05_Soko/ovl_Bg_Spot05_Soko_reloc.o" endseg beginseg name "ovl_Bg_Spot06_Objects" - include "build/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.o" - include "build/src/overlays/actors/ovl_Bg_Spot06_Objects/ovl_Bg_Spot06_Objects_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot06_Objects/ovl_Bg_Spot06_Objects_reloc.o" endseg beginseg name "ovl_Bg_Spot07_Taki" - include "build/src/overlays/actors/ovl_Bg_Spot07_Taki/z_bg_spot07_taki.o" - include "build/src/overlays/actors/ovl_Bg_Spot07_Taki/ovl_Bg_Spot07_Taki_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot07_Taki/z_bg_spot07_taki.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot07_Taki/ovl_Bg_Spot07_Taki_reloc.o" endseg beginseg name "ovl_Bg_Spot08_Bakudankabe" - include "build/src/overlays/actors/ovl_Bg_Spot08_Bakudankabe/z_bg_spot08_bakudankabe.o" - include "build/src/overlays/actors/ovl_Bg_Spot08_Bakudankabe/ovl_Bg_Spot08_Bakudankabe_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot08_Bakudankabe/z_bg_spot08_bakudankabe.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot08_Bakudankabe/ovl_Bg_Spot08_Bakudankabe_reloc.o" endseg beginseg name "ovl_Bg_Spot08_Iceblock" - include "build/src/overlays/actors/ovl_Bg_Spot08_Iceblock/z_bg_spot08_iceblock.o" - include "build/src/overlays/actors/ovl_Bg_Spot08_Iceblock/ovl_Bg_Spot08_Iceblock_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot08_Iceblock/z_bg_spot08_iceblock.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot08_Iceblock/ovl_Bg_Spot08_Iceblock_reloc.o" endseg beginseg name "ovl_Bg_Spot09_Obj" - include "build/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.o" - include "build/src/overlays/actors/ovl_Bg_Spot09_Obj/ovl_Bg_Spot09_Obj_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot09_Obj/ovl_Bg_Spot09_Obj_reloc.o" endseg beginseg name "ovl_Bg_Spot11_Bakudankabe" - include "build/src/overlays/actors/ovl_Bg_Spot11_Bakudankabe/z_bg_spot11_bakudankabe.o" - include "build/src/overlays/actors/ovl_Bg_Spot11_Bakudankabe/ovl_Bg_Spot11_Bakudankabe_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot11_Bakudankabe/z_bg_spot11_bakudankabe.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot11_Bakudankabe/ovl_Bg_Spot11_Bakudankabe_reloc.o" endseg beginseg name "ovl_Bg_Spot11_Oasis" - include "build/src/overlays/actors/ovl_Bg_Spot11_Oasis/z_bg_spot11_oasis.o" - include "build/src/overlays/actors/ovl_Bg_Spot11_Oasis/ovl_Bg_Spot11_Oasis_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot11_Oasis/z_bg_spot11_oasis.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot11_Oasis/ovl_Bg_Spot11_Oasis_reloc.o" endseg beginseg name "ovl_Bg_Spot12_Gate" - include "build/src/overlays/actors/ovl_Bg_Spot12_Gate/z_bg_spot12_gate.o" - include "build/src/overlays/actors/ovl_Bg_Spot12_Gate/ovl_Bg_Spot12_Gate_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot12_Gate/z_bg_spot12_gate.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot12_Gate/ovl_Bg_Spot12_Gate_reloc.o" endseg beginseg name "ovl_Bg_Spot12_Saku" - include "build/src/overlays/actors/ovl_Bg_Spot12_Saku/z_bg_spot12_saku.o" - include "build/src/overlays/actors/ovl_Bg_Spot12_Saku/ovl_Bg_Spot12_Saku_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot12_Saku/z_bg_spot12_saku.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot12_Saku/ovl_Bg_Spot12_Saku_reloc.o" endseg beginseg name "ovl_Bg_Spot15_Rrbox" - include "build/src/overlays/actors/ovl_Bg_Spot15_Rrbox/z_bg_spot15_rrbox.o" - include "build/src/overlays/actors/ovl_Bg_Spot15_Rrbox/ovl_Bg_Spot15_Rrbox_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot15_Rrbox/z_bg_spot15_rrbox.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot15_Rrbox/ovl_Bg_Spot15_Rrbox_reloc.o" endseg beginseg name "ovl_Bg_Spot15_Saku" - include "build/src/overlays/actors/ovl_Bg_Spot15_Saku/z_bg_spot15_saku.o" - include "build/src/overlays/actors/ovl_Bg_Spot15_Saku/ovl_Bg_Spot15_Saku_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot15_Saku/z_bg_spot15_saku.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot15_Saku/ovl_Bg_Spot15_Saku_reloc.o" endseg beginseg name "ovl_Bg_Spot16_Bombstone" - include "build/src/overlays/actors/ovl_Bg_Spot16_Bombstone/z_bg_spot16_bombstone.o" - include "build/src/overlays/actors/ovl_Bg_Spot16_Bombstone/ovl_Bg_Spot16_Bombstone_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot16_Bombstone/z_bg_spot16_bombstone.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot16_Bombstone/ovl_Bg_Spot16_Bombstone_reloc.o" endseg beginseg name "ovl_Bg_Spot16_Doughnut" - include "build/src/overlays/actors/ovl_Bg_Spot16_Doughnut/z_bg_spot16_doughnut.o" - include "build/src/overlays/actors/ovl_Bg_Spot16_Doughnut/ovl_Bg_Spot16_Doughnut_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot16_Doughnut/z_bg_spot16_doughnut.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot16_Doughnut/ovl_Bg_Spot16_Doughnut_reloc.o" endseg beginseg name "ovl_Bg_Spot17_Bakudankabe" - include "build/src/overlays/actors/ovl_Bg_Spot17_Bakudankabe/z_bg_spot17_bakudankabe.o" - include "build/src/overlays/actors/ovl_Bg_Spot17_Bakudankabe/ovl_Bg_Spot17_Bakudankabe_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot17_Bakudankabe/z_bg_spot17_bakudankabe.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot17_Bakudankabe/ovl_Bg_Spot17_Bakudankabe_reloc.o" endseg beginseg name "ovl_Bg_Spot17_Funen" - include "build/src/overlays/actors/ovl_Bg_Spot17_Funen/z_bg_spot17_funen.o" - include "build/src/overlays/actors/ovl_Bg_Spot17_Funen/ovl_Bg_Spot17_Funen_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot17_Funen/z_bg_spot17_funen.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot17_Funen/ovl_Bg_Spot17_Funen_reloc.o" endseg beginseg name "ovl_Bg_Spot18_Basket" - include "build/src/overlays/actors/ovl_Bg_Spot18_Basket/z_bg_spot18_basket.o" - include "build/src/overlays/actors/ovl_Bg_Spot18_Basket/ovl_Bg_Spot18_Basket_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot18_Basket/z_bg_spot18_basket.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot18_Basket/ovl_Bg_Spot18_Basket_reloc.o" endseg beginseg name "ovl_Bg_Spot18_Futa" - include "build/src/overlays/actors/ovl_Bg_Spot18_Futa/z_bg_spot18_futa.o" - include "build/src/overlays/actors/ovl_Bg_Spot18_Futa/ovl_Bg_Spot18_Futa_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot18_Futa/z_bg_spot18_futa.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot18_Futa/ovl_Bg_Spot18_Futa_reloc.o" endseg beginseg name "ovl_Bg_Spot18_Obj" - include "build/src/overlays/actors/ovl_Bg_Spot18_Obj/z_bg_spot18_obj.o" - include "build/src/overlays/actors/ovl_Bg_Spot18_Obj/ovl_Bg_Spot18_Obj_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot18_Obj/z_bg_spot18_obj.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot18_Obj/ovl_Bg_Spot18_Obj_reloc.o" endseg beginseg name "ovl_Bg_Spot18_Shutter" - include "build/src/overlays/actors/ovl_Bg_Spot18_Shutter/z_bg_spot18_shutter.o" - include "build/src/overlays/actors/ovl_Bg_Spot18_Shutter/ovl_Bg_Spot18_Shutter_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot18_Shutter/z_bg_spot18_shutter.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Spot18_Shutter/ovl_Bg_Spot18_Shutter_reloc.o" endseg beginseg name "ovl_Bg_Sst_Floor" - include "build/src/overlays/actors/ovl_Bg_Sst_Floor/z_bg_sst_floor.o" - include "build/src/overlays/actors/ovl_Bg_Sst_Floor/ovl_Bg_Sst_Floor_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Sst_Floor/z_bg_sst_floor.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Sst_Floor/ovl_Bg_Sst_Floor_reloc.o" endseg beginseg name "ovl_Bg_Toki_Hikari" - include "build/src/overlays/actors/ovl_Bg_Toki_Hikari/z_bg_toki_hikari.o" - include "build/src/overlays/actors/ovl_Bg_Toki_Hikari/ovl_Bg_Toki_Hikari_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Toki_Hikari/z_bg_toki_hikari.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Toki_Hikari/ovl_Bg_Toki_Hikari_reloc.o" endseg beginseg name "ovl_Bg_Toki_Swd" - include "build/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_1.o" - include "build/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_2.o" - include "build/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_3.o" - include "build/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.o" - include "build/src/overlays/actors/ovl_Bg_Toki_Swd/ovl_Bg_Toki_Swd_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_1.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_3.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Toki_Swd/ovl_Bg_Toki_Swd_reloc.o" endseg beginseg name "ovl_Bg_Treemouth" - include "build/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth_cutscene_data.o" - include "build/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth.o" - include "build/src/overlays/actors/ovl_Bg_Treemouth/ovl_Bg_Treemouth_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth_cutscene_data.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Treemouth/ovl_Bg_Treemouth_reloc.o" endseg beginseg name "ovl_Bg_Umajump" - include "build/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.o" - include "build/src/overlays/actors/ovl_Bg_Umajump/ovl_Bg_Umajump_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Umajump/ovl_Bg_Umajump_reloc.o" endseg beginseg name "ovl_Bg_Vb_Sima" - include "build/src/overlays/actors/ovl_Bg_Vb_Sima/z_bg_vb_sima.o" - include "build/src/overlays/actors/ovl_Bg_Vb_Sima/ovl_Bg_Vb_Sima_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Vb_Sima/z_bg_vb_sima.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Vb_Sima/ovl_Bg_Vb_Sima_reloc.o" endseg beginseg name "ovl_Bg_Ydan_Hasi" - include "build/src/overlays/actors/ovl_Bg_Ydan_Hasi/z_bg_ydan_hasi.o" - include "build/src/overlays/actors/ovl_Bg_Ydan_Hasi/ovl_Bg_Ydan_Hasi_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ydan_Hasi/z_bg_ydan_hasi.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ydan_Hasi/ovl_Bg_Ydan_Hasi_reloc.o" endseg beginseg name "ovl_Bg_Ydan_Maruta" - include "build/src/overlays/actors/ovl_Bg_Ydan_Maruta/z_bg_ydan_maruta.o" - include "build/src/overlays/actors/ovl_Bg_Ydan_Maruta/ovl_Bg_Ydan_Maruta_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ydan_Maruta/z_bg_ydan_maruta.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ydan_Maruta/ovl_Bg_Ydan_Maruta_reloc.o" endseg beginseg name "ovl_Bg_Ydan_Sp" - include "build/src/overlays/actors/ovl_Bg_Ydan_Sp/z_bg_ydan_sp.o" - include "build/src/overlays/actors/ovl_Bg_Ydan_Sp/ovl_Bg_Ydan_Sp_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ydan_Sp/z_bg_ydan_sp.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Ydan_Sp/ovl_Bg_Ydan_Sp_reloc.o" endseg beginseg name "ovl_Bg_Zg" - include "build/src/overlays/actors/ovl_Bg_Zg/z_bg_zg.o" - include "build/src/overlays/actors/ovl_Bg_Zg/ovl_Bg_Zg_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Zg/z_bg_zg.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Bg_Zg/ovl_Bg_Zg_reloc.o" endseg beginseg name "ovl_Boss_Dodongo" - include "build/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo.o" - include "build/src/overlays/actors/ovl_Boss_Dodongo/ovl_Boss_Dodongo_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Dodongo/ovl_Boss_Dodongo_reloc.o" endseg beginseg name "ovl_Boss_Fd" - include "build/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.o" - include "build/src/overlays/actors/ovl_Boss_Fd/ovl_Boss_Fd_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Fd/ovl_Boss_Fd_reloc.o" endseg beginseg name "ovl_Boss_Fd2" - include "build/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.o" - include "build/src/overlays/actors/ovl_Boss_Fd2/ovl_Boss_Fd2_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Fd2/ovl_Boss_Fd2_reloc.o" endseg beginseg name "ovl_Boss_Ganon" - include "build/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.o" - include "build/src/overlays/actors/ovl_Boss_Ganon/ovl_Boss_Ganon_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Ganon/ovl_Boss_Ganon_reloc.o" endseg beginseg name "ovl_Boss_Ganon2" - include "build/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.o" - include "build/src/overlays/actors/ovl_Boss_Ganon2/ovl_Boss_Ganon2_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Ganon2/ovl_Boss_Ganon2_reloc.o" endseg beginseg name "ovl_Boss_Ganondrof" - include "build/src/overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.o" - include "build/src/overlays/actors/ovl_Boss_Ganondrof/ovl_Boss_Ganondrof_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Ganondrof/ovl_Boss_Ganondrof_reloc.o" endseg beginseg name "ovl_Boss_Goma" - include "build/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.o" - include "build/src/overlays/actors/ovl_Boss_Goma/ovl_Boss_Goma_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Goma/ovl_Boss_Goma_reloc.o" endseg beginseg name "ovl_Boss_Mo" - include "build/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.o" - include "build/src/overlays/actors/ovl_Boss_Mo/ovl_Boss_Mo_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Mo/ovl_Boss_Mo_reloc.o" endseg beginseg name "ovl_Boss_Sst" - include "build/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.o" - include "build/src/overlays/actors/ovl_Boss_Sst/ovl_Boss_Sst_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Sst/ovl_Boss_Sst_reloc.o" endseg beginseg name "ovl_Boss_Tw" - include "build/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.o" - include "build/src/overlays/actors/ovl_Boss_Tw/ovl_Boss_Tw_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Tw/ovl_Boss_Tw_reloc.o" endseg beginseg name "ovl_Boss_Va" - include "build/src/overlays/actors/ovl_Boss_Va/z_boss_va.o" - include "build/src/overlays/actors/ovl_Boss_Va/ovl_Boss_Va_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Va/z_boss_va.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Boss_Va/ovl_Boss_Va_reloc.o" endseg beginseg name "ovl_Demo_6K" - include "build/src/overlays/actors/ovl_Demo_6K/z_demo_6k.o" - include "build/src/overlays/actors/ovl_Demo_6K/ovl_Demo_6K_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_6K/z_demo_6k.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_6K/ovl_Demo_6K_reloc.o" endseg beginseg name "ovl_Demo_Du" - include "build/src/overlays/actors/ovl_Demo_Du/z_demo_du.o" - include "build/src/overlays/actors/ovl_Demo_Du/ovl_Demo_Du_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Du/z_demo_du.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Du/ovl_Demo_Du_reloc.o" endseg beginseg name "ovl_Demo_Ec" - include "build/src/overlays/actors/ovl_Demo_Ec/z_demo_ec.o" - include "build/src/overlays/actors/ovl_Demo_Ec/ovl_Demo_Ec_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Ec/z_demo_ec.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Ec/ovl_Demo_Ec_reloc.o" endseg beginseg name "ovl_Demo_Effect" - include "build/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.o" - include "build/src/overlays/actors/ovl_Demo_Effect/ovl_Demo_Effect_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Effect/ovl_Demo_Effect_reloc.o" endseg beginseg name "ovl_Demo_Ext" - include "build/src/overlays/actors/ovl_Demo_Ext/z_demo_ext.o" - include "build/src/overlays/actors/ovl_Demo_Ext/ovl_Demo_Ext_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Ext/z_demo_ext.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Ext/ovl_Demo_Ext_reloc.o" endseg beginseg name "ovl_Demo_Geff" - include "build/src/overlays/actors/ovl_Demo_Geff/z_demo_geff.o" - include "build/src/overlays/actors/ovl_Demo_Geff/ovl_Demo_Geff_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Geff/z_demo_geff.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Geff/ovl_Demo_Geff_reloc.o" endseg beginseg name "ovl_Demo_Gj" - include "build/src/overlays/actors/ovl_Demo_Gj/z_demo_gj.o" - include "build/src/overlays/actors/ovl_Demo_Gj/ovl_Demo_Gj_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Gj/z_demo_gj.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Gj/ovl_Demo_Gj_reloc.o" endseg beginseg name "ovl_Demo_Go" - include "build/src/overlays/actors/ovl_Demo_Go/z_demo_go.o" - include "build/src/overlays/actors/ovl_Demo_Go/ovl_Demo_Go_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Go/z_demo_go.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Go/ovl_Demo_Go_reloc.o" endseg beginseg name "ovl_Demo_Gt" - include "build/src/overlays/actors/ovl_Demo_Gt/z_demo_gt.o" - include "build/src/overlays/actors/ovl_Demo_Gt/ovl_Demo_Gt_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Gt/z_demo_gt.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Gt/ovl_Demo_Gt_reloc.o" endseg beginseg name "ovl_Demo_Ik" - include "build/src/overlays/actors/ovl_Demo_Ik/z_demo_ik.o" - include "build/src/overlays/actors/ovl_Demo_Ik/ovl_Demo_Ik_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Ik/z_demo_ik.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Ik/ovl_Demo_Ik_reloc.o" endseg beginseg name "ovl_Demo_Im" - include "build/src/overlays/actors/ovl_Demo_Im/z_demo_im.o" - include "build/src/overlays/actors/ovl_Demo_Im/ovl_Demo_Im_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Im/z_demo_im.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Im/ovl_Demo_Im_reloc.o" endseg beginseg name "ovl_Demo_Kankyo" - include "build/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data1.o" - include "build/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data2.o" - include "build/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data3.o" - include "build/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data4.o" - include "build/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data5.o" - include "build/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data6.o" - include "build/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data7.o" - include "build/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data8.o" - include "build/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.o" - include "build/src/overlays/actors/ovl_Demo_Kankyo/ovl_Demo_Kankyo_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data1.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data3.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data4.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data5.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data6.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data7.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data8.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Kankyo/ovl_Demo_Kankyo_reloc.o" endseg beginseg name "ovl_Demo_Kekkai" - include "build/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.o" - include "build/src/overlays/actors/ovl_Demo_Kekkai/ovl_Demo_Kekkai_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Kekkai/ovl_Demo_Kekkai_reloc.o" endseg beginseg name "ovl_Demo_Sa" - include "build/src/overlays/actors/ovl_Demo_Sa/z_demo_sa.o" - include "build/src/overlays/actors/ovl_Demo_Sa/ovl_Demo_Sa_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Sa/z_demo_sa.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Sa/ovl_Demo_Sa_reloc.o" endseg beginseg name "ovl_Demo_Shd" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Shd/z_demo_shd.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Shd/ovl_Demo_Shd_reloc.o" endseg beginseg name "ovl_Demo_Tre_Lgt" - include "build/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.o" - include "build/src/overlays/actors/ovl_Demo_Tre_Lgt/ovl_Demo_Tre_Lgt_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Tre_Lgt/z_demo_tre_lgt.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Demo_Tre_Lgt/ovl_Demo_Tre_Lgt_reloc.o" endseg beginseg name "ovl_Door_Ana" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Door_Ana/z_door_ana.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Door_Ana/ovl_Door_Ana_reloc.o" endseg beginseg name "ovl_Door_Gerudo" - include "build/src/overlays/actors/ovl_Door_Gerudo/z_door_gerudo.o" - include "build/src/overlays/actors/ovl_Door_Gerudo/ovl_Door_Gerudo_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Door_Gerudo/z_door_gerudo.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Door_Gerudo/ovl_Door_Gerudo_reloc.o" endseg beginseg name "ovl_Door_Killer" - include "build/src/overlays/actors/ovl_Door_Killer/z_door_killer.o" - include "build/src/overlays/actors/ovl_Door_Killer/ovl_Door_Killer_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Door_Killer/z_door_killer.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Door_Killer/ovl_Door_Killer_reloc.o" endseg beginseg name "ovl_Door_Shutter" - include "build/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.o" - include "build/src/overlays/actors/ovl_Door_Shutter/ovl_Door_Shutter_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Door_Shutter/ovl_Door_Shutter_reloc.o" endseg beginseg name "ovl_Door_Toki" - include "build/src/overlays/actors/ovl_Door_Toki/z_door_toki.o" - include "build/src/overlays/actors/ovl_Door_Toki/ovl_Door_Toki_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Door_Toki/z_door_toki.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Door_Toki/ovl_Door_Toki_reloc.o" endseg beginseg name "ovl_Door_Warp1" - include "build/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.o" - include "build/src/overlays/actors/ovl_Door_Warp1/ovl_Door_Warp1_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Door_Warp1/ovl_Door_Warp1_reloc.o" endseg beginseg name "ovl_Efc_Erupc" - include "build/src/overlays/actors/ovl_Efc_Erupc/z_efc_erupc.o" - include "build/src/overlays/actors/ovl_Efc_Erupc/ovl_Efc_Erupc_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Efc_Erupc/z_efc_erupc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Efc_Erupc/ovl_Efc_Erupc_reloc.o" endseg beginseg name "ovl_Eff_Dust" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Eff_Dust/ovl_Eff_Dust_reloc.o" endseg beginseg name "ovl_Effect_Ss_Blast" - include "build/src/overlays/effects/ovl_Effect_Ss_Blast/z_eff_ss_blast.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Blast/ovl_Effect_Ss_Blast_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Blast/z_eff_ss_blast.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Blast/ovl_Effect_Ss_Blast_reloc.o" endseg beginseg name "ovl_Effect_Ss_Bomb" - include "build/src/overlays/effects/ovl_Effect_Ss_Bomb/z_eff_ss_bomb.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Bomb/ovl_Effect_Ss_Bomb_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Bomb/z_eff_ss_bomb.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Bomb/ovl_Effect_Ss_Bomb_reloc.o" endseg beginseg name "ovl_Effect_Ss_Bomb2" - include "build/src/overlays/effects/ovl_Effect_Ss_Bomb2/z_eff_ss_bomb2.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Bomb2/ovl_Effect_Ss_Bomb2_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Bomb2/z_eff_ss_bomb2.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Bomb2/ovl_Effect_Ss_Bomb2_reloc.o" endseg beginseg name "ovl_Effect_Ss_Bubble" - include "build/src/overlays/effects/ovl_Effect_Ss_Bubble/z_eff_ss_bubble.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Bubble/ovl_Effect_Ss_Bubble_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Bubble/z_eff_ss_bubble.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Bubble/ovl_Effect_Ss_Bubble_reloc.o" endseg beginseg name "ovl_Effect_Ss_D_Fire" - include "build/src/overlays/effects/ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.o" - include "build/src/overlays/effects/ovl_Effect_Ss_D_Fire/ovl_Effect_Ss_D_Fire_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_D_Fire/z_eff_ss_d_fire.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_D_Fire/ovl_Effect_Ss_D_Fire_reloc.o" endseg beginseg name "ovl_Effect_Ss_Dead_Db" - include "build/src/overlays/effects/ovl_Effect_Ss_Dead_Db/z_eff_ss_dead_db.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Dead_Db/ovl_Effect_Ss_Dead_Db_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Dead_Db/z_eff_ss_dead_db.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Dead_Db/ovl_Effect_Ss_Dead_Db_reloc.o" endseg beginseg name "ovl_Effect_Ss_Dead_Dd" - include "build/src/overlays/effects/ovl_Effect_Ss_Dead_Dd/z_eff_ss_dead_dd.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Dead_Dd/ovl_Effect_Ss_Dead_Dd_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Dead_Dd/z_eff_ss_dead_dd.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Dead_Dd/ovl_Effect_Ss_Dead_Dd_reloc.o" endseg beginseg name "ovl_Effect_Ss_Dead_Ds" - include "build/src/overlays/effects/ovl_Effect_Ss_Dead_Ds/z_eff_ss_dead_ds.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Dead_Ds/ovl_Effect_Ss_Dead_Ds_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Dead_Ds/z_eff_ss_dead_ds.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Dead_Ds/ovl_Effect_Ss_Dead_Ds_reloc.o" endseg beginseg name "ovl_Effect_Ss_Dead_Sound" - include "build/src/overlays/effects/ovl_Effect_Ss_Dead_Sound/z_eff_ss_dead_sound.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Dead_Sound/ovl_Effect_Ss_Dead_Sound_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Dead_Sound/z_eff_ss_dead_sound.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Dead_Sound/ovl_Effect_Ss_Dead_Sound_reloc.o" endseg beginseg name "ovl_Effect_Ss_Dt_Bubble" - include "build/src/overlays/effects/ovl_Effect_Ss_Dt_Bubble/z_eff_ss_dt_bubble.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Dt_Bubble/ovl_Effect_Ss_Dt_Bubble_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Dt_Bubble/z_eff_ss_dt_bubble.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Dt_Bubble/ovl_Effect_Ss_Dt_Bubble_reloc.o" endseg beginseg name "ovl_Effect_Ss_Dust" - include "build/src/overlays/effects/ovl_Effect_Ss_Dust/z_eff_ss_dust.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Dust/ovl_Effect_Ss_Dust_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Dust/z_eff_ss_dust.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Dust/ovl_Effect_Ss_Dust_reloc.o" endseg beginseg name "ovl_Effect_Ss_En_Fire" - include "build/src/overlays/effects/ovl_Effect_Ss_En_Fire/z_eff_ss_en_fire.o" - include "build/src/overlays/effects/ovl_Effect_Ss_En_Fire/ovl_Effect_Ss_En_Fire_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_En_Fire/z_eff_ss_en_fire.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_En_Fire/ovl_Effect_Ss_En_Fire_reloc.o" endseg beginseg name "ovl_Effect_Ss_En_Ice" - include "build/src/overlays/effects/ovl_Effect_Ss_En_Ice/z_eff_ss_en_ice.o" - include "build/src/overlays/effects/ovl_Effect_Ss_En_Ice/ovl_Effect_Ss_En_Ice_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_En_Ice/z_eff_ss_en_ice.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_En_Ice/ovl_Effect_Ss_En_Ice_reloc.o" endseg beginseg name "ovl_Effect_Ss_Extra" - include "build/src/overlays/effects/ovl_Effect_Ss_Extra/z_eff_ss_extra.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Extra/ovl_Effect_Ss_Extra_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Extra/z_eff_ss_extra.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Extra/ovl_Effect_Ss_Extra_reloc.o" endseg beginseg name "ovl_Effect_Ss_Fcircle" - include "build/src/overlays/effects/ovl_Effect_Ss_Fcircle/z_eff_ss_fcircle.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Fcircle/ovl_Effect_Ss_Fcircle_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Fcircle/z_eff_ss_fcircle.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Fcircle/ovl_Effect_Ss_Fcircle_reloc.o" endseg beginseg name "ovl_Effect_Ss_Fhg_Flash" - include "build/src/overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Fhg_Flash/ovl_Effect_Ss_Fhg_Flash_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Fhg_Flash/z_eff_ss_fhg_flash.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Fhg_Flash/ovl_Effect_Ss_Fhg_Flash_reloc.o" endseg beginseg name "ovl_Effect_Ss_Fire_Tail" - include "build/src/overlays/effects/ovl_Effect_Ss_Fire_Tail/z_eff_ss_fire_tail.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Fire_Tail/ovl_Effect_Ss_Fire_Tail_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Fire_Tail/z_eff_ss_fire_tail.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Fire_Tail/ovl_Effect_Ss_Fire_Tail_reloc.o" endseg beginseg name "ovl_Effect_Ss_G_Fire" - include "build/src/overlays/effects/ovl_Effect_Ss_G_Fire/z_eff_ss_g_fire.o" - include "build/src/overlays/effects/ovl_Effect_Ss_G_Fire/ovl_Effect_Ss_G_Fire_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_G_Fire/z_eff_ss_g_fire.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_G_Fire/ovl_Effect_Ss_G_Fire_reloc.o" endseg beginseg name "ovl_Effect_Ss_G_Magma" - include "build/src/overlays/effects/ovl_Effect_Ss_G_Magma/z_eff_ss_g_magma.o" - include "build/src/overlays/effects/ovl_Effect_Ss_G_Magma/ovl_Effect_Ss_G_Magma_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_G_Magma/z_eff_ss_g_magma.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_G_Magma/ovl_Effect_Ss_G_Magma_reloc.o" endseg beginseg name "ovl_Effect_Ss_G_Magma2" - include "build/src/overlays/effects/ovl_Effect_Ss_G_Magma2/z_eff_ss_g_magma2.o" - include "build/src/overlays/effects/ovl_Effect_Ss_G_Magma2/ovl_Effect_Ss_G_Magma2_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_G_Magma2/z_eff_ss_g_magma2.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_G_Magma2/ovl_Effect_Ss_G_Magma2_reloc.o" endseg beginseg name "ovl_Effect_Ss_G_Ripple" - include "build/src/overlays/effects/ovl_Effect_Ss_G_Ripple/z_eff_ss_g_ripple.o" - include "build/src/overlays/effects/ovl_Effect_Ss_G_Ripple/ovl_Effect_Ss_G_Ripple_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_G_Ripple/z_eff_ss_g_ripple.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_G_Ripple/ovl_Effect_Ss_G_Ripple_reloc.o" endseg beginseg name "ovl_Effect_Ss_G_Spk" - include "build/src/overlays/effects/ovl_Effect_Ss_G_Spk/z_eff_ss_g_spk.o" - include "build/src/overlays/effects/ovl_Effect_Ss_G_Spk/ovl_Effect_Ss_G_Spk_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_G_Spk/z_eff_ss_g_spk.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_G_Spk/ovl_Effect_Ss_G_Spk_reloc.o" endseg beginseg name "ovl_Effect_Ss_G_Splash" - include "build/src/overlays/effects/ovl_Effect_Ss_G_Splash/z_eff_ss_g_splash.o" - include "build/src/overlays/effects/ovl_Effect_Ss_G_Splash/ovl_Effect_Ss_G_Splash_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_G_Splash/z_eff_ss_g_splash.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_G_Splash/ovl_Effect_Ss_G_Splash_reloc.o" endseg beginseg name "ovl_Effect_Ss_Hahen" - include "build/src/overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Hahen/ovl_Effect_Ss_Hahen_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Hahen/z_eff_ss_hahen.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Hahen/ovl_Effect_Ss_Hahen_reloc.o" endseg beginseg name "ovl_Effect_Ss_HitMark" - include "build/src/overlays/effects/ovl_Effect_Ss_HitMark/z_eff_ss_hitmark.o" - include "build/src/overlays/effects/ovl_Effect_Ss_HitMark/ovl_Effect_Ss_HitMark_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_HitMark/z_eff_ss_hitmark.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_HitMark/ovl_Effect_Ss_HitMark_reloc.o" endseg beginseg name "ovl_Effect_Ss_Ice_Piece" - include "build/src/overlays/effects/ovl_Effect_Ss_Ice_Piece/z_eff_ss_ice_piece.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Ice_Piece/ovl_Effect_Ss_Ice_Piece_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Ice_Piece/z_eff_ss_ice_piece.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Ice_Piece/ovl_Effect_Ss_Ice_Piece_reloc.o" endseg beginseg name "ovl_Effect_Ss_Ice_Smoke" - include "build/src/overlays/effects/ovl_Effect_Ss_Ice_Smoke/z_eff_ss_ice_smoke.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Ice_Smoke/ovl_Effect_Ss_Ice_Smoke_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Ice_Smoke/z_eff_ss_ice_smoke.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Ice_Smoke/ovl_Effect_Ss_Ice_Smoke_reloc.o" endseg beginseg name "ovl_Effect_Ss_K_Fire" - include "build/src/overlays/effects/ovl_Effect_Ss_K_Fire/z_eff_ss_k_fire.o" - include "build/src/overlays/effects/ovl_Effect_Ss_K_Fire/ovl_Effect_Ss_K_Fire_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_K_Fire/z_eff_ss_k_fire.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_K_Fire/ovl_Effect_Ss_K_Fire_reloc.o" endseg beginseg name "ovl_Effect_Ss_Kakera" - include "build/src/overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Kakera/ovl_Effect_Ss_Kakera_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Kakera/z_eff_ss_kakera.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Kakera/ovl_Effect_Ss_Kakera_reloc.o" endseg beginseg name "ovl_Effect_Ss_KiraKira" - include "build/src/overlays/effects/ovl_Effect_Ss_KiraKira/z_eff_ss_kirakira.o" - include "build/src/overlays/effects/ovl_Effect_Ss_KiraKira/ovl_Effect_Ss_KiraKira_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_KiraKira/z_eff_ss_kirakira.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_KiraKira/ovl_Effect_Ss_KiraKira_reloc.o" endseg beginseg name "ovl_Effect_Ss_Lightning" - include "build/src/overlays/effects/ovl_Effect_Ss_Lightning/z_eff_ss_lightning.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Lightning/ovl_Effect_Ss_Lightning_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Lightning/z_eff_ss_lightning.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Lightning/ovl_Effect_Ss_Lightning_reloc.o" endseg beginseg name "ovl_Effect_Ss_Sibuki" - include "build/src/overlays/effects/ovl_Effect_Ss_Sibuki/z_eff_ss_sibuki.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Sibuki/ovl_Effect_Ss_Sibuki_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Sibuki/z_eff_ss_sibuki.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Sibuki/ovl_Effect_Ss_Sibuki_reloc.o" endseg beginseg name "ovl_Effect_Ss_Sibuki2" - include "build/src/overlays/effects/ovl_Effect_Ss_Sibuki2/z_eff_ss_sibuki2.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Sibuki2/ovl_Effect_Ss_Sibuki2_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Sibuki2/z_eff_ss_sibuki2.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Sibuki2/ovl_Effect_Ss_Sibuki2_reloc.o" endseg beginseg name "ovl_Effect_Ss_Solder_Srch_Ball" - include "build/src/overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/z_eff_ss_solder_srch_ball.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/ovl_Effect_Ss_Solder_Srch_Ball_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/z_eff_ss_solder_srch_ball.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Solder_Srch_Ball/ovl_Effect_Ss_Solder_Srch_Ball_reloc.o" endseg beginseg name "ovl_Effect_Ss_Stick" - include "build/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Stick/ovl_Effect_Ss_Stick_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Stick/ovl_Effect_Ss_Stick_reloc.o" endseg beginseg name "ovl_Effect_Ss_Stone1" - include "build/src/overlays/effects/ovl_Effect_Ss_Stone1/z_eff_ss_stone1.o" - include "build/src/overlays/effects/ovl_Effect_Ss_Stone1/ovl_Effect_Ss_Stone1_reloc.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Stone1/z_eff_ss_stone1.o" + include "$(BUILD_DIR)/src/overlays/effects/ovl_Effect_Ss_Stone1/ovl_Effect_Ss_Stone1_reloc.o" endseg beginseg name "ovl_Elf_Msg" - include "build/src/overlays/actors/ovl_Elf_Msg/z_elf_msg.o" - include "build/src/overlays/actors/ovl_Elf_Msg/ovl_Elf_Msg_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Elf_Msg/z_elf_msg.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Elf_Msg/ovl_Elf_Msg_reloc.o" endseg beginseg name "ovl_Elf_Msg2" - include "build/src/overlays/actors/ovl_Elf_Msg2/z_elf_msg2.o" - include "build/src/overlays/actors/ovl_Elf_Msg2/ovl_Elf_Msg2_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Elf_Msg2/z_elf_msg2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Elf_Msg2/ovl_Elf_Msg2_reloc.o" endseg beginseg name "ovl_En_Am" - include "build/src/overlays/actors/ovl_En_Am/z_en_am.o" - include "build/src/overlays/actors/ovl_En_Am/ovl_En_Am_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Am/z_en_am.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Am/ovl_En_Am_reloc.o" endseg beginseg name "ovl_En_Ani" - include "build/src/overlays/actors/ovl_En_Ani/z_en_ani.o" - include "build/src/overlays/actors/ovl_En_Ani/ovl_En_Ani_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ani/z_en_ani.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ani/ovl_En_Ani_reloc.o" endseg beginseg name "ovl_En_Anubice" - include "build/src/overlays/actors/ovl_En_Anubice/z_en_anubice.o" - include "build/src/overlays/actors/ovl_En_Anubice/ovl_En_Anubice_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Anubice/z_en_anubice.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Anubice/ovl_En_Anubice_reloc.o" endseg beginseg name "ovl_En_Anubice_Fire" - include "build/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.o" - include "build/src/overlays/actors/ovl_En_Anubice_Fire/ovl_En_Anubice_Fire_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Anubice_Fire/ovl_En_Anubice_Fire_reloc.o" endseg beginseg name "ovl_En_Anubice_Tag" - include "build/src/overlays/actors/ovl_En_Anubice_Tag/z_en_anubice_tag.o" - include "build/src/overlays/actors/ovl_En_Anubice_Tag/ovl_En_Anubice_Tag_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Anubice_Tag/z_en_anubice_tag.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Anubice_Tag/ovl_En_Anubice_Tag_reloc.o" endseg beginseg name "ovl_En_Arow_Trap" - include "build/src/overlays/actors/ovl_En_Arow_Trap/z_en_arow_trap.o" - include "build/src/overlays/actors/ovl_En_Arow_Trap/ovl_En_Arow_Trap_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Arow_Trap/z_en_arow_trap.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Arow_Trap/ovl_En_Arow_Trap_reloc.o" endseg beginseg name "ovl_En_Arrow" - include "build/src/overlays/actors/ovl_En_Arrow/z_en_arrow.o" - include "build/src/overlays/actors/ovl_En_Arrow/ovl_En_Arrow_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Arrow/z_en_arrow.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Arrow/ovl_En_Arrow_reloc.o" endseg beginseg name "ovl_En_Attack_Niw" - include "build/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.o" - include "build/src/overlays/actors/ovl_En_Attack_Niw/ovl_En_Attack_Niw_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Attack_Niw/ovl_En_Attack_Niw_reloc.o" endseg beginseg name "ovl_En_Ba" - include "build/src/overlays/actors/ovl_En_Ba/z_en_ba.o" - include "build/src/overlays/actors/ovl_En_Ba/ovl_En_Ba_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ba/z_en_ba.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ba/ovl_En_Ba_reloc.o" endseg beginseg name "ovl_En_Bb" - include "build/src/overlays/actors/ovl_En_Bb/z_en_bb.o" - include "build/src/overlays/actors/ovl_En_Bb/ovl_En_Bb_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bb/z_en_bb.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bb/ovl_En_Bb_reloc.o" endseg beginseg name "ovl_En_Bdfire" - include "build/src/overlays/actors/ovl_En_Bdfire/z_en_bdfire.o" - include "build/src/overlays/actors/ovl_En_Bdfire/ovl_En_Bdfire_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bdfire/z_en_bdfire.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bdfire/ovl_En_Bdfire_reloc.o" endseg beginseg name "ovl_En_Bigokuta" - include "build/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.o" - include "build/src/overlays/actors/ovl_En_Bigokuta/ovl_En_Bigokuta_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bigokuta/ovl_En_Bigokuta_reloc.o" endseg beginseg name "ovl_En_Bili" - include "build/src/overlays/actors/ovl_En_Bili/z_en_bili.o" - include "build/src/overlays/actors/ovl_En_Bili/ovl_En_Bili_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bili/z_en_bili.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bili/ovl_En_Bili_reloc.o" endseg beginseg name "ovl_En_Bird" - include "build/src/overlays/actors/ovl_En_Bird/z_en_bird.o" - include "build/src/overlays/actors/ovl_En_Bird/ovl_En_Bird_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bird/z_en_bird.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bird/ovl_En_Bird_reloc.o" endseg beginseg name "ovl_En_Blkobj" - include "build/src/overlays/actors/ovl_En_Blkobj/z_en_blkobj.o" - include "build/src/overlays/actors/ovl_En_Blkobj/ovl_En_Blkobj_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Blkobj/z_en_blkobj.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Blkobj/ovl_En_Blkobj_reloc.o" endseg beginseg name "ovl_En_Bom" - include "build/src/overlays/actors/ovl_En_Bom/z_en_bom.o" - include "build/src/overlays/actors/ovl_En_Bom/ovl_En_Bom_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bom/z_en_bom.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bom/ovl_En_Bom_reloc.o" endseg beginseg name "ovl_En_Bom_Bowl_Man" - include "build/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.o" - include "build/src/overlays/actors/ovl_En_Bom_Bowl_Man/ovl_En_Bom_Bowl_Man_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bom_Bowl_Man/ovl_En_Bom_Bowl_Man_reloc.o" endseg beginseg name "ovl_En_Bom_Bowl_Pit" - include "build/src/overlays/actors/ovl_En_Bom_Bowl_Pit/z_en_bom_bowl_pit.o" - include "build/src/overlays/actors/ovl_En_Bom_Bowl_Pit/ovl_En_Bom_Bowl_Pit_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bom_Bowl_Pit/z_en_bom_bowl_pit.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bom_Bowl_Pit/ovl_En_Bom_Bowl_Pit_reloc.o" endseg beginseg name "ovl_En_Bom_Chu" - include "build/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.o" - include "build/src/overlays/actors/ovl_En_Bom_Chu/ovl_En_Bom_Chu_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bom_Chu/ovl_En_Bom_Chu_reloc.o" endseg beginseg name "ovl_En_Bombf" - include "build/src/overlays/actors/ovl_En_Bombf/z_en_bombf.o" - include "build/src/overlays/actors/ovl_En_Bombf/ovl_En_Bombf_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bombf/z_en_bombf.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bombf/ovl_En_Bombf_reloc.o" endseg beginseg name "ovl_En_Boom" - include "build/src/overlays/actors/ovl_En_Boom/z_en_boom.o" - include "build/src/overlays/actors/ovl_En_Boom/ovl_En_Boom_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Boom/z_en_boom.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Boom/ovl_En_Boom_reloc.o" endseg beginseg name "ovl_En_Box" - include "build/src/overlays/actors/ovl_En_Box/z_en_box.o" - include "build/src/overlays/actors/ovl_En_Box/ovl_En_Box_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Box/z_en_box.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Box/ovl_En_Box_reloc.o" endseg beginseg name "ovl_En_Brob" - include "build/src/overlays/actors/ovl_En_Brob/z_en_brob.o" - include "build/src/overlays/actors/ovl_En_Brob/ovl_En_Brob_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Brob/z_en_brob.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Brob/ovl_En_Brob_reloc.o" endseg beginseg name "ovl_En_Bubble" - include "build/src/overlays/actors/ovl_En_Bubble/z_en_bubble.o" - include "build/src/overlays/actors/ovl_En_Bubble/ovl_En_Bubble_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bubble/z_en_bubble.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bubble/ovl_En_Bubble_reloc.o" endseg beginseg name "ovl_En_Butte" - include "build/src/overlays/actors/ovl_En_Butte/z_en_butte.o" - include "build/src/overlays/actors/ovl_En_Butte/ovl_En_Butte_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Butte/z_en_butte.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Butte/ovl_En_Butte_reloc.o" endseg beginseg name "ovl_En_Bw" - include "build/src/overlays/actors/ovl_En_Bw/z_en_bw.o" - include "build/src/overlays/actors/ovl_En_Bw/ovl_En_Bw_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bw/z_en_bw.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bw/ovl_En_Bw_reloc.o" endseg beginseg name "ovl_En_Bx" - include "build/src/overlays/actors/ovl_En_Bx/z_en_bx.o" - include "build/src/overlays/actors/ovl_En_Bx/ovl_En_Bx_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bx/z_en_bx.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Bx/ovl_En_Bx_reloc.o" endseg beginseg name "ovl_En_Changer" - include "build/src/overlays/actors/ovl_En_Changer/z_en_changer.o" - include "build/src/overlays/actors/ovl_En_Changer/ovl_En_Changer_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Changer/z_en_changer.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Changer/ovl_En_Changer_reloc.o" endseg beginseg name "ovl_En_Clear_Tag" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Clear_Tag/z_en_clear_tag.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Clear_Tag/ovl_En_Clear_Tag_reloc.o" endseg beginseg name "ovl_En_Cow" - include "build/src/overlays/actors/ovl_En_Cow/z_en_cow.o" - include "build/src/overlays/actors/ovl_En_Cow/ovl_En_Cow_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Cow/z_en_cow.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Cow/ovl_En_Cow_reloc.o" endseg beginseg name "ovl_En_Crow" - include "build/src/overlays/actors/ovl_En_Crow/z_en_crow.o" - include "build/src/overlays/actors/ovl_En_Crow/ovl_En_Crow_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Crow/z_en_crow.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Crow/ovl_En_Crow_reloc.o" endseg beginseg name "ovl_En_Cs" - include "build/src/overlays/actors/ovl_En_Cs/z_en_cs.o" - include "build/src/overlays/actors/ovl_En_Cs/ovl_En_Cs_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Cs/z_en_cs.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Cs/ovl_En_Cs_reloc.o" endseg beginseg name "ovl_En_Daiku" - include "build/src/overlays/actors/ovl_En_Daiku/z_en_daiku.o" - include "build/src/overlays/actors/ovl_En_Daiku/ovl_En_Daiku_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Daiku/z_en_daiku.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Daiku/ovl_En_Daiku_reloc.o" endseg beginseg name "ovl_En_Daiku_Kakariko" - include "build/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.o" - include "build/src/overlays/actors/ovl_En_Daiku_Kakariko/ovl_En_Daiku_Kakariko_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Daiku_Kakariko/ovl_En_Daiku_Kakariko_reloc.o" endseg beginseg name "ovl_En_Dekubaba" - include "build/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.o" - include "build/src/overlays/actors/ovl_En_Dekubaba/ovl_En_Dekubaba_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dekubaba/ovl_En_Dekubaba_reloc.o" endseg beginseg name "ovl_En_Dekunuts" - include "build/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.o" - include "build/src/overlays/actors/ovl_En_Dekunuts/ovl_En_Dekunuts_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dekunuts/ovl_En_Dekunuts_reloc.o" endseg beginseg name "ovl_En_Dh" - include "build/src/overlays/actors/ovl_En_Dh/z_en_dh.o" - include "build/src/overlays/actors/ovl_En_Dh/ovl_En_Dh_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dh/z_en_dh.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dh/ovl_En_Dh_reloc.o" endseg beginseg name "ovl_En_Dha" - include "build/src/overlays/actors/ovl_En_Dha/z_en_dha.o" - include "build/src/overlays/actors/ovl_En_Dha/ovl_En_Dha_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dha/z_en_dha.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dha/ovl_En_Dha_reloc.o" endseg beginseg name "ovl_En_Diving_Game" - include "build/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.o" - include "build/src/overlays/actors/ovl_En_Diving_Game/ovl_En_Diving_Game_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Diving_Game/ovl_En_Diving_Game_reloc.o" endseg beginseg name "ovl_En_Dns" - include "build/src/overlays/actors/ovl_En_Dns/z_en_dns.o" - include "build/src/overlays/actors/ovl_En_Dns/ovl_En_Dns_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dns/z_en_dns.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dns/ovl_En_Dns_reloc.o" endseg beginseg name "ovl_En_Dnt_Demo" - include "build/src/overlays/actors/ovl_En_Dnt_Demo/z_en_dnt_demo.o" - include "build/src/overlays/actors/ovl_En_Dnt_Demo/ovl_En_Dnt_Demo_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dnt_Demo/z_en_dnt_demo.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dnt_Demo/ovl_En_Dnt_Demo_reloc.o" endseg beginseg name "ovl_En_Dnt_Jiji" - include "build/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.o" - include "build/src/overlays/actors/ovl_En_Dnt_Jiji/ovl_En_Dnt_Jiji_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dnt_Jiji/ovl_En_Dnt_Jiji_reloc.o" endseg beginseg name "ovl_En_Dnt_Nomal" - include "build/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.o" - include "build/src/overlays/actors/ovl_En_Dnt_Nomal/ovl_En_Dnt_Nomal_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dnt_Nomal/ovl_En_Dnt_Nomal_reloc.o" endseg beginseg name "ovl_En_Dodojr" - include "build/src/overlays/actors/ovl_En_Dodojr/z_en_dodojr.o" - include "build/src/overlays/actors/ovl_En_Dodojr/ovl_En_Dodojr_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dodojr/z_en_dodojr.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dodojr/ovl_En_Dodojr_reloc.o" endseg beginseg name "ovl_En_Dodongo" - include "build/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.o" - include "build/src/overlays/actors/ovl_En_Dodongo/ovl_En_Dodongo_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dodongo/ovl_En_Dodongo_reloc.o" endseg beginseg name "ovl_En_Dog" - include "build/src/overlays/actors/ovl_En_Dog/z_en_dog.o" - include "build/src/overlays/actors/ovl_En_Dog/ovl_En_Dog_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dog/z_en_dog.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dog/ovl_En_Dog_reloc.o" endseg beginseg name "ovl_En_Door" - include "build/src/overlays/actors/ovl_En_Door/z_en_door.o" - include "build/src/overlays/actors/ovl_En_Door/ovl_En_Door_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Door/z_en_door.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Door/ovl_En_Door_reloc.o" endseg beginseg name "ovl_En_Ds" - include "build/src/overlays/actors/ovl_En_Ds/z_en_ds.o" - include "build/src/overlays/actors/ovl_En_Ds/ovl_En_Ds_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ds/z_en_ds.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ds/ovl_En_Ds_reloc.o" endseg beginseg name "ovl_En_Du" - include "build/src/overlays/actors/ovl_En_Du/z_en_du.o" - include "build/src/overlays/actors/ovl_En_Du/ovl_En_Du_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Du/z_en_du.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Du/ovl_En_Du_reloc.o" endseg beginseg name "ovl_En_Dy_Extra" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Dy_Extra/ovl_En_Dy_Extra_reloc.o" endseg beginseg name "ovl_En_Eg" - include "build/src/overlays/actors/ovl_En_Eg/z_en_eg.o" - include "build/src/overlays/actors/ovl_En_Eg/ovl_En_Eg_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Eg/z_en_eg.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Eg/ovl_En_Eg_reloc.o" endseg beginseg name "ovl_En_Eiyer" - include "build/src/overlays/actors/ovl_En_Eiyer/z_en_eiyer.o" - include "build/src/overlays/actors/ovl_En_Eiyer/ovl_En_Eiyer_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Eiyer/z_en_eiyer.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Eiyer/ovl_En_Eiyer_reloc.o" endseg beginseg name "ovl_En_Elf" - include "build/src/overlays/actors/ovl_En_Elf/z_en_elf.o" - include "build/src/overlays/actors/ovl_En_Elf/ovl_En_Elf_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Elf/z_en_elf.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Elf/ovl_En_Elf_reloc.o" endseg beginseg name "ovl_En_Encount1" - include "build/src/overlays/actors/ovl_En_Encount1/z_en_encount1.o" - include "build/src/overlays/actors/ovl_En_Encount1/ovl_En_Encount1_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Encount1/z_en_encount1.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Encount1/ovl_En_Encount1_reloc.o" endseg beginseg name "ovl_En_Encount2" - include "build/src/overlays/actors/ovl_En_Encount2/z_en_encount2.o" - include "build/src/overlays/actors/ovl_En_Encount2/ovl_En_Encount2_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Encount2/z_en_encount2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Encount2/ovl_En_Encount2_reloc.o" endseg beginseg name "ovl_En_Ex_Item" - include "build/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.o" - include "build/src/overlays/actors/ovl_En_Ex_Item/ovl_En_Ex_Item_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ex_Item/ovl_En_Ex_Item_reloc.o" endseg beginseg name "ovl_En_Ex_Ruppy" - include "build/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.o" - include "build/src/overlays/actors/ovl_En_Ex_Ruppy/ovl_En_Ex_Ruppy_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ex_Ruppy/ovl_En_Ex_Ruppy_reloc.o" endseg beginseg name "ovl_En_Fd" - include "build/src/overlays/actors/ovl_En_Fd/z_en_fd.o" - include "build/src/overlays/actors/ovl_En_Fd/ovl_En_Fd_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Fd/z_en_fd.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Fd/ovl_En_Fd_reloc.o" endseg beginseg name "ovl_En_Fd_Fire" - include "build/src/overlays/actors/ovl_En_Fd_Fire/z_en_fd_fire.o" - include "build/src/overlays/actors/ovl_En_Fd_Fire/ovl_En_Fd_Fire_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Fd_Fire/z_en_fd_fire.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Fd_Fire/ovl_En_Fd_Fire_reloc.o" endseg beginseg name "ovl_En_Fhg_Fire" - include "build/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.o" - include "build/src/overlays/actors/ovl_En_Fhg_Fire/ovl_En_Fhg_Fire_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Fhg_Fire/ovl_En_Fhg_Fire_reloc.o" endseg beginseg name "ovl_En_Fire_Rock" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Fire_Rock/ovl_En_Fire_Rock_reloc.o" endseg beginseg name "ovl_En_Firefly" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Firefly/z_en_firefly.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Firefly/ovl_En_Firefly_reloc.o" endseg beginseg name "ovl_En_Fish" - include "build/src/overlays/actors/ovl_En_Fish/z_en_fish.o" - include "build/src/overlays/actors/ovl_En_Fish/ovl_En_Fish_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Fish/z_en_fish.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Fish/ovl_En_Fish_reloc.o" endseg beginseg name "ovl_En_Floormas" - include "build/src/overlays/actors/ovl_En_Floormas/z_en_floormas.o" - include "build/src/overlays/actors/ovl_En_Floormas/ovl_En_Floormas_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Floormas/z_en_floormas.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Floormas/ovl_En_Floormas_reloc.o" endseg beginseg name "ovl_En_Fr" - include "build/src/overlays/actors/ovl_En_Fr/z_en_fr.o" - include "build/src/overlays/actors/ovl_En_Fr/ovl_En_Fr_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Fr/z_en_fr.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Fr/ovl_En_Fr_reloc.o" endseg beginseg name "ovl_En_Fu" - include "build/src/overlays/actors/ovl_En_Fu/z_en_fu.o" - include "build/src/overlays/actors/ovl_En_Fu/ovl_En_Fu_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Fu/z_en_fu.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Fu/ovl_En_Fu_reloc.o" endseg beginseg name "ovl_En_Fw" - include "build/src/overlays/actors/ovl_En_Fw/z_en_fw.o" - include "build/src/overlays/actors/ovl_En_Fw/ovl_En_Fw_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Fw/z_en_fw.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Fw/ovl_En_Fw_reloc.o" endseg beginseg name "ovl_En_Fz" - include "build/src/overlays/actors/ovl_En_Fz/z_en_fz.o" - include "build/src/overlays/actors/ovl_En_Fz/ovl_En_Fz_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Fz/z_en_fz.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Fz/ovl_En_Fz_reloc.o" endseg beginseg name "ovl_En_G_Switch" - include "build/src/overlays/actors/ovl_En_G_Switch/z_en_g_switch.o" - include "build/src/overlays/actors/ovl_En_G_Switch/ovl_En_G_Switch_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_G_Switch/z_en_g_switch.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_G_Switch/ovl_En_G_Switch_reloc.o" endseg beginseg name "ovl_En_Ganon_Mant" - include "build/src/overlays/actors/ovl_En_Ganon_Mant/z_en_ganon_mant.o" - include "build/src/overlays/actors/ovl_En_Ganon_Mant/ovl_En_Ganon_Mant_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ganon_Mant/z_en_ganon_mant.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ganon_Mant/ovl_En_Ganon_Mant_reloc.o" endseg beginseg name "ovl_En_Ganon_Organ" - include "build/src/overlays/actors/ovl_En_Ganon_Organ/z_en_ganon_organ.o" - include "build/src/overlays/actors/ovl_En_Ganon_Organ/ovl_En_Ganon_Organ_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ganon_Organ/z_en_ganon_organ.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ganon_Organ/ovl_En_Ganon_Organ_reloc.o" endseg beginseg name "ovl_En_Gb" - include "build/src/overlays/actors/ovl_En_Gb/z_en_gb.o" - include "build/src/overlays/actors/ovl_En_Gb/ovl_En_Gb_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Gb/z_en_gb.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Gb/ovl_En_Gb_reloc.o" endseg beginseg name "ovl_En_Ge1" - include "build/src/overlays/actors/ovl_En_Ge1/z_en_ge1.o" - include "build/src/overlays/actors/ovl_En_Ge1/ovl_En_Ge1_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ge1/z_en_ge1.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ge1/ovl_En_Ge1_reloc.o" endseg beginseg name "ovl_En_Ge2" - include "build/src/overlays/actors/ovl_En_Ge2/z_en_ge2.o" - include "build/src/overlays/actors/ovl_En_Ge2/ovl_En_Ge2_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ge2/z_en_ge2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ge2/ovl_En_Ge2_reloc.o" endseg beginseg name "ovl_En_Ge3" - include "build/src/overlays/actors/ovl_En_Ge3/z_en_ge3.o" - include "build/src/overlays/actors/ovl_En_Ge3/ovl_En_Ge3_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ge3/z_en_ge3.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ge3/ovl_En_Ge3_reloc.o" endseg beginseg name "ovl_En_GeldB" - include "build/src/overlays/actors/ovl_En_GeldB/z_en_geldb.o" - include "build/src/overlays/actors/ovl_En_GeldB/ovl_En_GeldB_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_GeldB/z_en_geldb.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_GeldB/ovl_En_GeldB_reloc.o" endseg beginseg name "ovl_En_GirlA" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_GirlA/z_en_girla.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_GirlA/ovl_En_GirlA_reloc.o" endseg beginseg name "ovl_En_Gm" - include "build/src/overlays/actors/ovl_En_Gm/z_en_gm.o" - include "build/src/overlays/actors/ovl_En_Gm/ovl_En_Gm_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Gm/z_en_gm.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Gm/ovl_En_Gm_reloc.o" endseg beginseg name "ovl_En_Go" - include "build/src/overlays/actors/ovl_En_Go/z_en_go.o" - include "build/src/overlays/actors/ovl_En_Go/ovl_En_Go_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Go/z_en_go.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Go/ovl_En_Go_reloc.o" endseg beginseg name "ovl_En_Go2" - include "build/src/overlays/actors/ovl_En_Go2/z_en_go2.o" - include "build/src/overlays/actors/ovl_En_Go2/ovl_En_Go2_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Go2/z_en_go2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Go2/ovl_En_Go2_reloc.o" endseg beginseg name "ovl_En_Goma" - include "build/src/overlays/actors/ovl_En_Goma/z_en_goma.o" - include "build/src/overlays/actors/ovl_En_Goma/ovl_En_Goma_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Goma/z_en_goma.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Goma/ovl_En_Goma_reloc.o" endseg beginseg name "ovl_En_Goroiwa" - include "build/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.o" - include "build/src/overlays/actors/ovl_En_Goroiwa/ovl_En_Goroiwa_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Goroiwa/ovl_En_Goroiwa_reloc.o" endseg beginseg name "ovl_En_Gs" - include "build/src/overlays/actors/ovl_En_Gs/z_en_gs.o" - include "build/src/overlays/actors/ovl_En_Gs/ovl_En_Gs_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Gs/z_en_gs.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Gs/ovl_En_Gs_reloc.o" endseg beginseg name "ovl_En_Guest" - include "build/src/overlays/actors/ovl_En_Guest/z_en_guest.o" - include "build/src/overlays/actors/ovl_En_Guest/ovl_En_Guest_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Guest/z_en_guest.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Guest/ovl_En_Guest_reloc.o" endseg beginseg name "ovl_En_Hata" - include "build/src/overlays/actors/ovl_En_Hata/z_en_hata.o" - include "build/src/overlays/actors/ovl_En_Hata/ovl_En_Hata_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Hata/z_en_hata.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Hata/ovl_En_Hata_reloc.o" endseg beginseg name "ovl_En_Heishi1" - include "build/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.o" - include "build/src/overlays/actors/ovl_En_Heishi1/ovl_En_Heishi1_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Heishi1/ovl_En_Heishi1_reloc.o" endseg beginseg name "ovl_En_Heishi2" - include "build/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.o" - include "build/src/overlays/actors/ovl_En_Heishi2/ovl_En_Heishi2_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Heishi2/ovl_En_Heishi2_reloc.o" endseg beginseg name "ovl_En_Heishi3" - include "build/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.o" - include "build/src/overlays/actors/ovl_En_Heishi3/ovl_En_Heishi3_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Heishi3/ovl_En_Heishi3_reloc.o" endseg beginseg name "ovl_En_Heishi4" - include "build/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.o" - include "build/src/overlays/actors/ovl_En_Heishi4/ovl_En_Heishi4_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Heishi4/ovl_En_Heishi4_reloc.o" endseg beginseg name "ovl_En_Hintnuts" - include "build/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.o" - include "build/src/overlays/actors/ovl_En_Hintnuts/ovl_En_Hintnuts_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Hintnuts/ovl_En_Hintnuts_reloc.o" endseg beginseg name "ovl_En_Holl" - include "build/src/overlays/actors/ovl_En_Holl/z_en_holl.o" - include "build/src/overlays/actors/ovl_En_Holl/ovl_En_Holl_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Holl/z_en_holl.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Holl/ovl_En_Holl_reloc.o" endseg beginseg name "ovl_En_Honotrap" - include "build/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.o" - include "build/src/overlays/actors/ovl_En_Honotrap/ovl_En_Honotrap_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Honotrap/ovl_En_Honotrap_reloc.o" endseg beginseg name "ovl_En_Horse" - include "build/src/overlays/actors/ovl_En_Horse/z_en_horse.o" - include "build/src/overlays/actors/ovl_En_Horse/ovl_En_Horse_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Horse/z_en_horse.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Horse/ovl_En_Horse_reloc.o" endseg beginseg name "ovl_En_Horse_Game_Check" - include "build/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.o" - include "build/src/overlays/actors/ovl_En_Horse_Game_Check/ovl_En_Horse_Game_Check_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Horse_Game_Check/ovl_En_Horse_Game_Check_reloc.o" endseg beginseg name "ovl_En_Horse_Ganon" - include "build/src/overlays/actors/ovl_En_Horse_Ganon/z_en_horse_ganon.o" - include "build/src/overlays/actors/ovl_En_Horse_Ganon/ovl_En_Horse_Ganon_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Horse_Ganon/z_en_horse_ganon.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Horse_Ganon/ovl_En_Horse_Ganon_reloc.o" endseg beginseg name "ovl_En_Horse_Link_Child" - include "build/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.o" - include "build/src/overlays/actors/ovl_En_Horse_Link_Child/ovl_En_Horse_Link_Child_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Horse_Link_Child/z_en_horse_link_child.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Horse_Link_Child/ovl_En_Horse_Link_Child_reloc.o" endseg beginseg name "ovl_En_Horse_Normal" - include "build/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.o" - include "build/src/overlays/actors/ovl_En_Horse_Normal/ovl_En_Horse_Normal_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Horse_Normal/ovl_En_Horse_Normal_reloc.o" endseg beginseg name "ovl_En_Horse_Zelda" - include "build/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.o" - include "build/src/overlays/actors/ovl_En_Horse_Zelda/ovl_En_Horse_Zelda_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Horse_Zelda/ovl_En_Horse_Zelda_reloc.o" endseg beginseg name "ovl_En_Hs" - include "build/src/overlays/actors/ovl_En_Hs/z_en_hs.o" - include "build/src/overlays/actors/ovl_En_Hs/ovl_En_Hs_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Hs/z_en_hs.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Hs/ovl_En_Hs_reloc.o" endseg beginseg name "ovl_En_Hs2" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Hs2/z_en_hs2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Hs2/ovl_En_Hs2_reloc.o" endseg beginseg name "ovl_En_Hy" - include "build/src/overlays/actors/ovl_En_Hy/z_en_hy.o" - include "build/src/overlays/actors/ovl_En_Hy/ovl_En_Hy_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Hy/z_en_hy.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Hy/ovl_En_Hy_reloc.o" endseg beginseg name "ovl_En_Ice_Hono" - include "build/src/overlays/actors/ovl_En_Ice_Hono/z_en_ice_hono.o" - include "build/src/overlays/actors/ovl_En_Ice_Hono/ovl_En_Ice_Hono_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ice_Hono/z_en_ice_hono.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ice_Hono/ovl_En_Ice_Hono_reloc.o" endseg beginseg name "ovl_En_Ik" - include "build/src/overlays/actors/ovl_En_Ik/z_en_ik.o" - include "build/src/overlays/actors/ovl_En_Ik/ovl_En_Ik_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ik/z_en_ik.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ik/ovl_En_Ik_reloc.o" endseg beginseg name "ovl_En_In" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_In/z_en_in.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_In/ovl_En_In_reloc.o" endseg beginseg name "ovl_En_Insect" - include "build/src/overlays/actors/ovl_En_Insect/z_en_insect.o" - include "build/src/overlays/actors/ovl_En_Insect/ovl_En_Insect_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Insect/z_en_insect.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Insect/ovl_En_Insect_reloc.o" endseg beginseg name "ovl_En_Ishi" - include "build/src/overlays/actors/ovl_En_Ishi/z_en_ishi.o" - include "build/src/overlays/actors/ovl_En_Ishi/ovl_En_Ishi_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ishi/z_en_ishi.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ishi/ovl_En_Ishi_reloc.o" endseg beginseg name "ovl_En_It" - include "build/src/overlays/actors/ovl_En_It/z_en_it.o" - include "build/src/overlays/actors/ovl_En_It/ovl_En_It_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_It/z_en_it.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_It/ovl_En_It_reloc.o" endseg beginseg name "ovl_En_Jj" - include "build/src/overlays/actors/ovl_En_Jj/z_en_jj.o" - include "build/src/overlays/actors/ovl_En_Jj/ovl_En_Jj_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Jj/z_en_jj.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Jj/ovl_En_Jj_reloc.o" endseg beginseg name "ovl_En_Js" - include "build/src/overlays/actors/ovl_En_Js/z_en_js.o" - include "build/src/overlays/actors/ovl_En_Js/ovl_En_Js_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Js/z_en_js.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Js/ovl_En_Js_reloc.o" endseg beginseg name "ovl_En_Jsjutan" - include "build/src/overlays/actors/ovl_En_Jsjutan/z_en_jsjutan.o" - include "build/src/overlays/actors/ovl_En_Jsjutan/ovl_En_Jsjutan_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Jsjutan/z_en_jsjutan.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Jsjutan/ovl_En_Jsjutan_reloc.o" endseg beginseg name "ovl_En_Kakasi" - include "build/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.o" - include "build/src/overlays/actors/ovl_En_Kakasi/ovl_En_Kakasi_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Kakasi/ovl_En_Kakasi_reloc.o" endseg beginseg name "ovl_En_Kakasi2" - include "build/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.o" - include "build/src/overlays/actors/ovl_En_Kakasi2/ovl_En_Kakasi2_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Kakasi2/ovl_En_Kakasi2_reloc.o" endseg beginseg name "ovl_En_Kakasi3" - include "build/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.o" - include "build/src/overlays/actors/ovl_En_Kakasi3/ovl_En_Kakasi3_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Kakasi3/ovl_En_Kakasi3_reloc.o" endseg beginseg name "ovl_En_Kanban" - include "build/src/overlays/actors/ovl_En_Kanban/z_en_kanban.o" - include "build/src/overlays/actors/ovl_En_Kanban/ovl_En_Kanban_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Kanban/z_en_kanban.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Kanban/ovl_En_Kanban_reloc.o" endseg beginseg name "ovl_En_Karebaba" - include "build/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.o" - include "build/src/overlays/actors/ovl_En_Karebaba/ovl_En_Karebaba_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Karebaba/ovl_En_Karebaba_reloc.o" endseg beginseg name "ovl_En_Ko" - include "build/src/overlays/actors/ovl_En_Ko/z_en_ko.o" - include "build/src/overlays/actors/ovl_En_Ko/ovl_En_Ko_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ko/z_en_ko.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ko/ovl_En_Ko_reloc.o" endseg beginseg name "ovl_En_Kusa" - include "build/src/overlays/actors/ovl_En_Kusa/z_en_kusa.o" - include "build/src/overlays/actors/ovl_En_Kusa/ovl_En_Kusa_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Kusa/z_en_kusa.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Kusa/ovl_En_Kusa_reloc.o" endseg beginseg name "ovl_En_Kz" - include "build/src/overlays/actors/ovl_En_Kz/z_en_kz.o" - include "build/src/overlays/actors/ovl_En_Kz/ovl_En_Kz_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Kz/z_en_kz.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Kz/ovl_En_Kz_reloc.o" endseg beginseg name "ovl_En_Light" - include "build/src/overlays/actors/ovl_En_Light/z_en_light.o" - include "build/src/overlays/actors/ovl_En_Light/ovl_En_Light_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Light/z_en_light.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Light/ovl_En_Light_reloc.o" endseg beginseg name "ovl_En_Lightbox" - include "build/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.o" - include "build/src/overlays/actors/ovl_En_Lightbox/ovl_En_Lightbox_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Lightbox/ovl_En_Lightbox_reloc.o" endseg beginseg name "ovl_En_M_Fire1" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_M_Fire1/ovl_En_M_Fire1_reloc.o" endseg beginseg name "ovl_En_M_Thunder" - include "build/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.o" - include "build/src/overlays/actors/ovl_En_M_Thunder/ovl_En_M_Thunder_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_M_Thunder/z_en_m_thunder.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_M_Thunder/ovl_En_M_Thunder_reloc.o" endseg beginseg name "ovl_En_Ma1" - include "build/src/overlays/actors/ovl_En_Ma1/z_en_ma1.o" - include "build/src/overlays/actors/ovl_En_Ma1/ovl_En_Ma1_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ma1/z_en_ma1.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ma1/ovl_En_Ma1_reloc.o" endseg beginseg name "ovl_En_Ma2" - include "build/src/overlays/actors/ovl_En_Ma2/z_en_ma2.o" - include "build/src/overlays/actors/ovl_En_Ma2/ovl_En_Ma2_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ma2/z_en_ma2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ma2/ovl_En_Ma2_reloc.o" endseg beginseg name "ovl_En_Ma3" - include "build/src/overlays/actors/ovl_En_Ma3/z_en_ma3.o" - include "build/src/overlays/actors/ovl_En_Ma3/ovl_En_Ma3_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ma3/z_en_ma3.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ma3/ovl_En_Ma3_reloc.o" endseg beginseg name "ovl_En_Mag" - include "build/src/overlays/actors/ovl_En_Mag/z_en_mag.o" - include "build/src/overlays/actors/ovl_En_Mag/ovl_En_Mag_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Mag/z_en_mag.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Mag/ovl_En_Mag_reloc.o" endseg beginseg name "ovl_En_Mb" - include "build/src/overlays/actors/ovl_En_Mb/z_en_mb.o" - include "build/src/overlays/actors/ovl_En_Mb/ovl_En_Mb_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Mb/z_en_mb.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Mb/ovl_En_Mb_reloc.o" endseg beginseg name "ovl_En_Md" - include "build/src/overlays/actors/ovl_En_Md/z_en_md.o" - include "build/src/overlays/actors/ovl_En_Md/ovl_En_Md_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Md/z_en_md.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Md/ovl_En_Md_reloc.o" endseg beginseg name "ovl_En_Mk" - include "build/src/overlays/actors/ovl_En_Mk/z_en_mk.o" - include "build/src/overlays/actors/ovl_En_Mk/ovl_En_Mk_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Mk/z_en_mk.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Mk/ovl_En_Mk_reloc.o" endseg beginseg name "ovl_En_Mm" - include "build/src/overlays/actors/ovl_En_Mm/z_en_mm.o" - include "build/src/overlays/actors/ovl_En_Mm/ovl_En_Mm_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Mm/z_en_mm.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Mm/ovl_En_Mm_reloc.o" endseg beginseg name "ovl_En_Mm2" - include "build/src/overlays/actors/ovl_En_Mm2/z_en_mm2.o" - include "build/src/overlays/actors/ovl_En_Mm2/ovl_En_Mm2_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Mm2/z_en_mm2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Mm2/ovl_En_Mm2_reloc.o" endseg beginseg name "ovl_En_Ms" - include "build/src/overlays/actors/ovl_En_Ms/z_en_ms.o" - include "build/src/overlays/actors/ovl_En_Ms/ovl_En_Ms_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ms/z_en_ms.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ms/ovl_En_Ms_reloc.o" endseg beginseg name "ovl_En_Mu" - include "build/src/overlays/actors/ovl_En_Mu/z_en_mu.o" - include "build/src/overlays/actors/ovl_En_Mu/ovl_En_Mu_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Mu/z_en_mu.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Mu/ovl_En_Mu_reloc.o" endseg beginseg name "ovl_En_Nb" - include "build/src/overlays/actors/ovl_En_Nb/z_en_nb.o" - include "build/src/overlays/actors/ovl_En_Nb/ovl_En_Nb_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Nb/z_en_nb.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Nb/ovl_En_Nb_reloc.o" endseg beginseg name "ovl_En_Niw" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Niw/z_en_niw.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Niw/ovl_En_Niw_reloc.o" endseg beginseg name "ovl_En_Niw_Girl" - include "build/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.o" - include "build/src/overlays/actors/ovl_En_Niw_Girl/ovl_En_Niw_Girl_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Niw_Girl/ovl_En_Niw_Girl_reloc.o" endseg beginseg name "ovl_En_Niw_Lady" - include "build/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.o" - include "build/src/overlays/actors/ovl_En_Niw_Lady/ovl_En_Niw_Lady_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Niw_Lady/ovl_En_Niw_Lady_reloc.o" endseg beginseg name "ovl_En_Nutsball" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Nutsball/ovl_En_Nutsball_reloc.o" endseg beginseg name "ovl_En_Nwc" - include "build/src/overlays/actors/ovl_En_Nwc/z_en_nwc.o" - include "build/src/overlays/actors/ovl_En_Nwc/ovl_En_Nwc_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Nwc/z_en_nwc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Nwc/ovl_En_Nwc_reloc.o" endseg beginseg name "ovl_En_Ny" - include "build/src/overlays/actors/ovl_En_Ny/z_en_ny.o" - include "build/src/overlays/actors/ovl_En_Ny/ovl_En_Ny_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ny/z_en_ny.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ny/ovl_En_Ny_reloc.o" endseg beginseg name "ovl_En_OE2" - include "build/src/overlays/actors/ovl_En_OE2/z_en_oe2.o" - include "build/src/overlays/actors/ovl_En_OE2/ovl_En_OE2_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_OE2/z_en_oe2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_OE2/ovl_En_OE2_reloc.o" endseg beginseg name "ovl_En_Okarina_Effect" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Okarina_Effect/z_en_okarina_effect.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Okarina_Effect/ovl_En_Okarina_Effect_reloc.o" endseg beginseg name "ovl_En_Okarina_Tag" - include "build/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag_cutscene_data.o" - include "build/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.o" - include "build/src/overlays/actors/ovl_En_Okarina_Tag/ovl_En_Okarina_Tag_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag_cutscene_data.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Okarina_Tag/ovl_En_Okarina_Tag_reloc.o" endseg beginseg name "ovl_En_Okuta" - include "build/src/overlays/actors/ovl_En_Okuta/z_en_okuta.o" - include "build/src/overlays/actors/ovl_En_Okuta/ovl_En_Okuta_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Okuta/z_en_okuta.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Okuta/ovl_En_Okuta_reloc.o" endseg beginseg name "ovl_En_Ossan" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ossan/z_en_ossan.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ossan/ovl_En_Ossan_reloc.o" endseg beginseg name "ovl_En_Owl" - include "build/src/overlays/actors/ovl_En_Owl/z_en_owl.o" - include "build/src/overlays/actors/ovl_En_Owl/ovl_En_Owl_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Owl/z_en_owl.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Owl/ovl_En_Owl_reloc.o" endseg beginseg name "ovl_En_Part" - include "build/src/overlays/actors/ovl_En_Part/z_en_part.o" - include "build/src/overlays/actors/ovl_En_Part/ovl_En_Part_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Part/z_en_part.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Part/ovl_En_Part_reloc.o" endseg beginseg name "ovl_En_Peehat" - include "build/src/overlays/actors/ovl_En_Peehat/z_en_peehat.o" - include "build/src/overlays/actors/ovl_En_Peehat/ovl_En_Peehat_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Peehat/z_en_peehat.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Peehat/ovl_En_Peehat_reloc.o" endseg beginseg name "ovl_En_Po_Desert" - include "build/src/overlays/actors/ovl_En_Po_Desert/z_en_po_desert.o" - include "build/src/overlays/actors/ovl_En_Po_Desert/ovl_En_Po_Desert_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Po_Desert/z_en_po_desert.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Po_Desert/ovl_En_Po_Desert_reloc.o" endseg beginseg name "ovl_En_Po_Field" - include "build/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.o" - include "build/src/overlays/actors/ovl_En_Po_Field/ovl_En_Po_Field_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Po_Field/ovl_En_Po_Field_reloc.o" endseg beginseg name "ovl_En_Po_Relay" - include "build/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.o" - include "build/src/overlays/actors/ovl_En_Po_Relay/ovl_En_Po_Relay_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Po_Relay/ovl_En_Po_Relay_reloc.o" endseg beginseg name "ovl_En_Po_Sisters" - include "build/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.o" - include "build/src/overlays/actors/ovl_En_Po_Sisters/ovl_En_Po_Sisters_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Po_Sisters/z_en_po_sisters.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Po_Sisters/ovl_En_Po_Sisters_reloc.o" endseg beginseg name "ovl_En_Poh" - include "build/src/overlays/actors/ovl_En_Poh/z_en_poh.o" - include "build/src/overlays/actors/ovl_En_Poh/ovl_En_Poh_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Poh/z_en_poh.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Poh/ovl_En_Poh_reloc.o" endseg beginseg name "ovl_En_Pu_box" - include "build/src/overlays/actors/ovl_En_Pu_box/z_en_pu_box.o" - include "build/src/overlays/actors/ovl_En_Pu_box/ovl_En_Pu_box_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Pu_box/z_en_pu_box.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Pu_box/ovl_En_Pu_box_reloc.o" endseg beginseg name "ovl_En_Rd" - include "build/src/overlays/actors/ovl_En_Rd/z_en_rd.o" - include "build/src/overlays/actors/ovl_En_Rd/ovl_En_Rd_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Rd/z_en_rd.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Rd/ovl_En_Rd_reloc.o" endseg beginseg name "ovl_En_Reeba" - include "build/src/overlays/actors/ovl_En_Reeba/z_en_reeba.o" - include "build/src/overlays/actors/ovl_En_Reeba/ovl_En_Reeba_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Reeba/z_en_reeba.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Reeba/ovl_En_Reeba_reloc.o" endseg beginseg name "ovl_En_River_Sound" - include "build/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.o" - include "build/src/overlays/actors/ovl_En_River_Sound/ovl_En_River_Sound_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_River_Sound/z_en_river_sound.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_River_Sound/ovl_En_River_Sound_reloc.o" endseg beginseg name "ovl_En_Rl" - include "build/src/overlays/actors/ovl_En_Rl/z_en_rl.o" - include "build/src/overlays/actors/ovl_En_Rl/ovl_En_Rl_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Rl/z_en_rl.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Rl/ovl_En_Rl_reloc.o" endseg beginseg name "ovl_En_Rr" - include "build/src/overlays/actors/ovl_En_Rr/z_en_rr.o" - include "build/src/overlays/actors/ovl_En_Rr/ovl_En_Rr_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Rr/z_en_rr.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Rr/ovl_En_Rr_reloc.o" endseg beginseg name "ovl_En_Ru1" - include "build/src/overlays/actors/ovl_En_Ru1/z_en_ru1.o" - include "build/src/overlays/actors/ovl_En_Ru1/ovl_En_Ru1_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ru1/z_en_ru1.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ru1/ovl_En_Ru1_reloc.o" endseg beginseg name "ovl_En_Ru2" - include "build/src/overlays/actors/ovl_En_Ru2/z_en_ru2.o" - include "build/src/overlays/actors/ovl_En_Ru2/ovl_En_Ru2_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ru2/z_en_ru2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ru2/ovl_En_Ru2_reloc.o" endseg beginseg name "ovl_En_Sa" - include "build/src/overlays/actors/ovl_En_Sa/z_en_sa.o" - include "build/src/overlays/actors/ovl_En_Sa/ovl_En_Sa_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Sa/z_en_sa.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Sa/ovl_En_Sa_reloc.o" endseg beginseg name "ovl_En_Sb" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Sb/z_en_sb.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Sb/ovl_En_Sb_reloc.o" endseg beginseg name "ovl_En_Scene_Change" - include "build/src/overlays/actors/ovl_En_Scene_Change/z_en_scene_change.o" - include "build/src/overlays/actors/ovl_En_Scene_Change/ovl_En_Scene_Change_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Scene_Change/z_en_scene_change.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Scene_Change/ovl_En_Scene_Change_reloc.o" endseg beginseg name "ovl_En_Sda" - include "build/src/overlays/actors/ovl_En_Sda/z_en_sda.o" - include "build/src/overlays/actors/ovl_En_Sda/ovl_En_Sda_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Sda/z_en_sda.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Sda/ovl_En_Sda_reloc.o" endseg beginseg name "ovl_En_Shopnuts" - include "build/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.o" - include "build/src/overlays/actors/ovl_En_Shopnuts/ovl_En_Shopnuts_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Shopnuts/ovl_En_Shopnuts_reloc.o" endseg beginseg name "ovl_En_Si" - include "build/src/overlays/actors/ovl_En_Si/z_en_si.o" - include "build/src/overlays/actors/ovl_En_Si/ovl_En_Si_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Si/z_en_si.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Si/ovl_En_Si_reloc.o" endseg beginseg name "ovl_En_Siofuki" - include "build/src/overlays/actors/ovl_En_Siofuki/z_en_siofuki.o" - include "build/src/overlays/actors/ovl_En_Siofuki/ovl_En_Siofuki_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Siofuki/z_en_siofuki.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Siofuki/ovl_En_Siofuki_reloc.o" endseg beginseg name "ovl_En_Skb" - include "build/src/overlays/actors/ovl_En_Skb/z_en_skb.o" - include "build/src/overlays/actors/ovl_En_Skb/ovl_En_Skb_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Skb/z_en_skb.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Skb/ovl_En_Skb_reloc.o" endseg beginseg name "ovl_En_Skj" - include "build/src/overlays/actors/ovl_En_Skj/z_en_skj.o" - include "build/src/overlays/actors/ovl_En_Skj/ovl_En_Skj_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Skj/z_en_skj.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Skj/ovl_En_Skj_reloc.o" endseg beginseg name "ovl_En_Skjneedle" - include "build/src/overlays/actors/ovl_En_Skjneedle/z_en_skjneedle.o" - include "build/src/overlays/actors/ovl_En_Skjneedle/ovl_En_Skjneedle_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Skjneedle/z_en_skjneedle.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Skjneedle/ovl_En_Skjneedle_reloc.o" endseg beginseg name "ovl_En_Ssh" - include "build/src/overlays/actors/ovl_En_Ssh/z_en_ssh.o" - include "build/src/overlays/actors/ovl_En_Ssh/ovl_En_Ssh_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ssh/z_en_ssh.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ssh/ovl_En_Ssh_reloc.o" endseg beginseg name "ovl_En_St" - include "build/src/overlays/actors/ovl_En_St/z_en_st.o" - include "build/src/overlays/actors/ovl_En_St/ovl_En_St_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_St/z_en_st.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_St/ovl_En_St_reloc.o" endseg beginseg name "ovl_En_Sth" - include "build/src/overlays/actors/ovl_En_Sth/z_en_sth.o" - include "build/src/overlays/actors/ovl_En_Sth/ovl_En_Sth_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Sth/z_en_sth.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Sth/ovl_En_Sth_reloc.o" endseg beginseg name "ovl_En_Stream" - include "build/src/overlays/actors/ovl_En_Stream/z_en_stream.o" - include "build/src/overlays/actors/ovl_En_Stream/ovl_En_Stream_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Stream/z_en_stream.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Stream/ovl_En_Stream_reloc.o" endseg beginseg name "ovl_En_Sw" - include "build/src/overlays/actors/ovl_En_Sw/z_en_sw.o" - include "build/src/overlays/actors/ovl_En_Sw/ovl_En_Sw_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Sw/z_en_sw.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Sw/ovl_En_Sw_reloc.o" endseg beginseg name "ovl_En_Syateki_Itm" - include "build/src/overlays/actors/ovl_En_Syateki_Itm/z_en_syateki_itm.o" - include "build/src/overlays/actors/ovl_En_Syateki_Itm/ovl_En_Syateki_Itm_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Syateki_Itm/z_en_syateki_itm.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Syateki_Itm/ovl_En_Syateki_Itm_reloc.o" endseg beginseg name "ovl_En_Syateki_Man" - include "build/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.o" - include "build/src/overlays/actors/ovl_En_Syateki_Man/ovl_En_Syateki_Man_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Syateki_Man/ovl_En_Syateki_Man_reloc.o" endseg beginseg name "ovl_En_Syateki_Niw" - include "build/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.o" - include "build/src/overlays/actors/ovl_En_Syateki_Niw/ovl_En_Syateki_Niw_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Syateki_Niw/ovl_En_Syateki_Niw_reloc.o" endseg beginseg name "ovl_En_Ta" - include "build/src/overlays/actors/ovl_En_Ta/z_en_ta.o" - include "build/src/overlays/actors/ovl_En_Ta/ovl_En_Ta_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ta/z_en_ta.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Ta/ovl_En_Ta_reloc.o" endseg beginseg name "ovl_En_Takara_Man" - include "build/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.o" - include "build/src/overlays/actors/ovl_En_Takara_Man/ovl_En_Takara_Man_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Takara_Man/ovl_En_Takara_Man_reloc.o" endseg beginseg name "ovl_En_Tana" - include "build/src/overlays/actors/ovl_En_Tana/z_en_tana.o" - include "build/src/overlays/actors/ovl_En_Tana/ovl_En_Tana_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Tana/z_en_tana.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Tana/ovl_En_Tana_reloc.o" endseg beginseg name "ovl_En_Tg" - include "build/src/overlays/actors/ovl_En_Tg/z_en_tg.o" - include "build/src/overlays/actors/ovl_En_Tg/ovl_En_Tg_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Tg/z_en_tg.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Tg/ovl_En_Tg_reloc.o" endseg beginseg name "ovl_En_Tite" - include "build/src/overlays/actors/ovl_En_Tite/z_en_tite.o" - include "build/src/overlays/actors/ovl_En_Tite/ovl_En_Tite_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Tite/z_en_tite.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Tite/ovl_En_Tite_reloc.o" endseg beginseg name "ovl_En_Tk" - include "build/src/overlays/actors/ovl_En_Tk/z_en_tk.o" - include "build/src/overlays/actors/ovl_En_Tk/ovl_En_Tk_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Tk/z_en_tk.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Tk/ovl_En_Tk_reloc.o" endseg beginseg name "ovl_En_Torch" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Torch/z_en_torch.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Torch/ovl_En_Torch_reloc.o" endseg beginseg name "ovl_En_Torch2" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Torch2/z_en_torch2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Torch2/ovl_En_Torch2_reloc.o" endseg beginseg name "ovl_En_Toryo" - include "build/src/overlays/actors/ovl_En_Toryo/z_en_toryo.o" - include "build/src/overlays/actors/ovl_En_Toryo/ovl_En_Toryo_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Toryo/z_en_toryo.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Toryo/ovl_En_Toryo_reloc.o" endseg beginseg name "ovl_En_Tp" - include "build/src/overlays/actors/ovl_En_Tp/z_en_tp.o" - include "build/src/overlays/actors/ovl_En_Tp/ovl_En_Tp_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Tp/z_en_tp.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Tp/ovl_En_Tp_reloc.o" endseg beginseg name "ovl_En_Tr" - include "build/src/overlays/actors/ovl_En_Tr/z_en_tr.o" - include "build/src/overlays/actors/ovl_En_Tr/ovl_En_Tr_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Tr/z_en_tr.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Tr/ovl_En_Tr_reloc.o" endseg beginseg name "ovl_En_Trap" - include "build/src/overlays/actors/ovl_En_Trap/z_en_trap.o" - include "build/src/overlays/actors/ovl_En_Trap/ovl_En_Trap_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Trap/z_en_trap.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Trap/ovl_En_Trap_reloc.o" endseg beginseg name "ovl_En_Tubo_Trap" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Tubo_Trap/ovl_En_Tubo_Trap_reloc.o" endseg beginseg name "ovl_En_Vali" - include "build/src/overlays/actors/ovl_En_Vali/z_en_vali.o" - include "build/src/overlays/actors/ovl_En_Vali/ovl_En_Vali_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Vali/z_en_vali.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Vali/ovl_En_Vali_reloc.o" endseg beginseg name "ovl_En_Vase" - include "build/src/overlays/actors/ovl_En_Vase/z_en_vase.o" - include "build/src/overlays/actors/ovl_En_Vase/ovl_En_Vase_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Vase/z_en_vase.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Vase/ovl_En_Vase_reloc.o" endseg beginseg name "ovl_En_Vb_Ball" - include "build/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.o" - include "build/src/overlays/actors/ovl_En_Vb_Ball/ovl_En_Vb_Ball_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Vb_Ball/ovl_En_Vb_Ball_reloc.o" endseg beginseg name "ovl_En_Viewer" - include "build/src/overlays/actors/ovl_En_Viewer/z_en_viewer.o" - include "build/src/overlays/actors/ovl_En_Viewer/ovl_En_Viewer_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Viewer/z_en_viewer.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Viewer/ovl_En_Viewer_reloc.o" endseg beginseg name "ovl_En_Vm" - include "build/src/overlays/actors/ovl_En_Vm/z_en_vm.o" - include "build/src/overlays/actors/ovl_En_Vm/ovl_En_Vm_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Vm/z_en_vm.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Vm/ovl_En_Vm_reloc.o" endseg beginseg name "ovl_En_Wall_Tubo" - include "build/src/overlays/actors/ovl_En_Wall_Tubo/z_en_wall_tubo.o" - include "build/src/overlays/actors/ovl_En_Wall_Tubo/ovl_En_Wall_Tubo_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Wall_Tubo/z_en_wall_tubo.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Wall_Tubo/ovl_En_Wall_Tubo_reloc.o" endseg beginseg name "ovl_En_Wallmas" - include "build/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.o" - include "build/src/overlays/actors/ovl_En_Wallmas/ovl_En_Wallmas_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Wallmas/ovl_En_Wallmas_reloc.o" endseg beginseg name "ovl_En_Weather_Tag" - include "build/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.o" - include "build/src/overlays/actors/ovl_En_Weather_Tag/ovl_En_Weather_Tag_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Weather_Tag/z_en_weather_tag.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Weather_Tag/ovl_En_Weather_Tag_reloc.o" endseg beginseg name "ovl_En_Weiyer" - include "build/src/overlays/actors/ovl_En_Weiyer/z_en_weiyer.o" - include "build/src/overlays/actors/ovl_En_Weiyer/ovl_En_Weiyer_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Weiyer/z_en_weiyer.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Weiyer/ovl_En_Weiyer_reloc.o" endseg beginseg name "ovl_En_Wf" - include "build/src/overlays/actors/ovl_En_Wf/z_en_wf.o" - include "build/src/overlays/actors/ovl_En_Wf/ovl_En_Wf_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Wf/z_en_wf.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Wf/ovl_En_Wf_reloc.o" endseg beginseg name "ovl_En_Wonder_Item" - include "build/src/overlays/actors/ovl_En_Wonder_Item/z_en_wonder_item.o" - include "build/src/overlays/actors/ovl_En_Wonder_Item/ovl_En_Wonder_Item_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Wonder_Item/z_en_wonder_item.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Wonder_Item/ovl_En_Wonder_Item_reloc.o" endseg beginseg name "ovl_En_Wonder_Talk" - include "build/src/overlays/actors/ovl_En_Wonder_Talk/z_en_wonder_talk.o" - include "build/src/overlays/actors/ovl_En_Wonder_Talk/ovl_En_Wonder_Talk_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Wonder_Talk/z_en_wonder_talk.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Wonder_Talk/ovl_En_Wonder_Talk_reloc.o" endseg beginseg name "ovl_En_Wonder_Talk2" - include "build/src/overlays/actors/ovl_En_Wonder_Talk2/z_en_wonder_talk2.o" - include "build/src/overlays/actors/ovl_En_Wonder_Talk2/ovl_En_Wonder_Talk2_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Wonder_Talk2/z_en_wonder_talk2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Wonder_Talk2/ovl_En_Wonder_Talk2_reloc.o" endseg beginseg name "ovl_En_Wood02" - include "build/src/overlays/actors/ovl_En_Wood02/z_en_wood02.o" - include "build/src/overlays/actors/ovl_En_Wood02/ovl_En_Wood02_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Wood02/z_en_wood02.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Wood02/ovl_En_Wood02_reloc.o" endseg beginseg name "ovl_En_Xc" - include "build/src/overlays/actors/ovl_En_Xc/z_en_xc.o" - include "build/src/overlays/actors/ovl_En_Xc/ovl_En_Xc_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Xc/z_en_xc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Xc/ovl_En_Xc_reloc.o" endseg beginseg name "ovl_En_Yabusame_Mark" - include "build/src/overlays/actors/ovl_En_Yabusame_Mark/z_en_yabusame_mark.o" - include "build/src/overlays/actors/ovl_En_Yabusame_Mark/ovl_En_Yabusame_Mark_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Yabusame_Mark/z_en_yabusame_mark.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Yabusame_Mark/ovl_En_Yabusame_Mark_reloc.o" endseg beginseg name "ovl_En_Yukabyun" - include "build/src/overlays/actors/ovl_En_Yukabyun/z_en_yukabyun.o" - include "build/src/overlays/actors/ovl_En_Yukabyun/ovl_En_Yukabyun_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Yukabyun/z_en_yukabyun.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Yukabyun/ovl_En_Yukabyun_reloc.o" endseg beginseg name "ovl_En_Zf" - include "build/src/overlays/actors/ovl_En_Zf/z_en_zf.o" - include "build/src/overlays/actors/ovl_En_Zf/ovl_En_Zf_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Zf/z_en_zf.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Zf/ovl_En_Zf_reloc.o" endseg beginseg name "ovl_En_Zl1" - include "build/src/overlays/actors/ovl_En_Zl1/z_en_zl1_cutscene_data.o" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Zl1/z_en_zl1_cutscene_data.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Zl1/z_en_zl1.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Zl1/ovl_En_Zl1_reloc.o" endseg beginseg name "ovl_En_Zl2" - include "build/src/overlays/actors/ovl_En_Zl2/z_en_zl2.o" - include "build/src/overlays/actors/ovl_En_Zl2/ovl_En_Zl2_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Zl2/z_en_zl2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Zl2/ovl_En_Zl2_reloc.o" endseg beginseg name "ovl_En_Zl3" - include "build/src/overlays/actors/ovl_En_Zl3/z_en_zl3.o" - include "build/src/overlays/actors/ovl_En_Zl3/ovl_En_Zl3_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Zl3/z_en_zl3.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Zl3/ovl_En_Zl3_reloc.o" endseg beginseg name "ovl_En_Zl4" - include "build/src/overlays/actors/ovl_En_Zl4/z_en_zl4.o" - include "build/src/overlays/actors/ovl_En_Zl4/ovl_En_Zl4_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Zl4/z_en_zl4.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Zl4/ovl_En_Zl4_reloc.o" endseg beginseg name "ovl_En_Zo" - include "build/src/overlays/actors/ovl_En_Zo/z_en_zo.o" - include "build/src/overlays/actors/ovl_En_Zo/ovl_En_Zo_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Zo/z_en_zo.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_Zo/ovl_En_Zo_reloc.o" endseg beginseg name "ovl_En_fHG" - include "build/src/overlays/actors/ovl_En_fHG/z_en_fhg.o" - include "build/src/overlays/actors/ovl_En_fHG/ovl_En_fHG_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_fHG/z_en_fhg.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_En_fHG/ovl_En_fHG_reloc.o" endseg beginseg name "ovl_End_Title" - include "build/src/overlays/actors/ovl_End_Title/z_end_title.o" - include "build/src/overlays/actors/ovl_End_Title/ovl_End_Title_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_End_Title/z_end_title.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_End_Title/ovl_End_Title_reloc.o" endseg beginseg name "ovl_Fishing" - include "build/src/overlays/actors/ovl_Fishing/z_fishing.o" - include "build/src/overlays/actors/ovl_Fishing/ovl_Fishing_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Fishing/z_fishing.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Fishing/ovl_Fishing_reloc.o" endseg beginseg name "ovl_Item_B_Heart" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Item_B_Heart/z_item_b_heart.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Item_B_Heart/ovl_Item_B_Heart_reloc.o" endseg beginseg name "ovl_Item_Etcetera" - include "build/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.o" - include "build/src/overlays/actors/ovl_Item_Etcetera/ovl_Item_Etcetera_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Item_Etcetera/z_item_etcetera.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Item_Etcetera/ovl_Item_Etcetera_reloc.o" endseg beginseg name "ovl_Item_Inbox" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Item_Inbox/z_item_inbox.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Item_Inbox/ovl_Item_Inbox_reloc.o" endseg beginseg name "ovl_Item_Ocarina" - include "build/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.o" - include "build/src/overlays/actors/ovl_Item_Ocarina/ovl_Item_Ocarina_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Item_Ocarina/z_item_ocarina.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Item_Ocarina/ovl_Item_Ocarina_reloc.o" endseg beginseg name "ovl_Item_Shield" - include "build/src/overlays/actors/ovl_Item_Shield/z_item_shield.o" - include "build/src/overlays/actors/ovl_Item_Shield/ovl_Item_Shield_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Item_Shield/z_item_shield.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Item_Shield/ovl_Item_Shield_reloc.o" endseg beginseg name "ovl_Magic_Dark" - include "build/src/overlays/actors/ovl_Magic_Dark/z_magic_dark.o" - include "build/src/overlays/actors/ovl_Magic_Dark/ovl_Magic_Dark_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Magic_Dark/z_magic_dark.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Magic_Dark/ovl_Magic_Dark_reloc.o" endseg beginseg name "ovl_Magic_Fire" - include "build/src/overlays/actors/ovl_Magic_Fire/z_magic_fire.o" - include "build/src/overlays/actors/ovl_Magic_Fire/ovl_Magic_Fire_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Magic_Fire/z_magic_fire.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Magic_Fire/ovl_Magic_Fire_reloc.o" endseg beginseg name "ovl_Magic_Wind" - include "build/src/overlays/actors/ovl_Magic_Wind/z_magic_wind.o" - include "build/src/overlays/actors/ovl_Magic_Wind/ovl_Magic_Wind_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Magic_Wind/z_magic_wind.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Magic_Wind/ovl_Magic_Wind_reloc.o" endseg beginseg name "ovl_Mir_Ray" - include "build/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.o" - include "build/src/overlays/actors/ovl_Mir_Ray/ovl_Mir_Ray_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Mir_Ray/ovl_Mir_Ray_reloc.o" endseg beginseg name "ovl_Obj_Bean" - include "build/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.o" - include "build/src/overlays/actors/ovl_Obj_Bean/ovl_Obj_Bean_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Bean/ovl_Obj_Bean_reloc.o" endseg beginseg name "ovl_Obj_Blockstop" - include "build/src/overlays/actors/ovl_Obj_Blockstop/z_obj_blockstop.o" - include "build/src/overlays/actors/ovl_Obj_Blockstop/ovl_Obj_Blockstop_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Blockstop/z_obj_blockstop.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Blockstop/ovl_Obj_Blockstop_reloc.o" endseg beginseg name "ovl_Obj_Bombiwa" - include "build/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.o" - include "build/src/overlays/actors/ovl_Obj_Bombiwa/ovl_Obj_Bombiwa_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Bombiwa/ovl_Obj_Bombiwa_reloc.o" endseg beginseg name "ovl_Obj_Comb" - include "build/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.o" - include "build/src/overlays/actors/ovl_Obj_Comb/ovl_Obj_Comb_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Comb/ovl_Obj_Comb_reloc.o" endseg beginseg name "ovl_Obj_Dekujr" - include "build/src/overlays/actors/ovl_Obj_Dekujr/z_obj_dekujr.o" - include "build/src/overlays/actors/ovl_Obj_Dekujr/ovl_Obj_Dekujr_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Dekujr/z_obj_dekujr.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Dekujr/ovl_Obj_Dekujr_reloc.o" endseg beginseg name "ovl_Obj_Elevator" - include "build/src/overlays/actors/ovl_Obj_Elevator/z_obj_elevator.o" - include "build/src/overlays/actors/ovl_Obj_Elevator/ovl_Obj_Elevator_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Elevator/z_obj_elevator.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Elevator/ovl_Obj_Elevator_reloc.o" endseg beginseg name "ovl_Obj_Hamishi" - include "build/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.o" - include "build/src/overlays/actors/ovl_Obj_Hamishi/ovl_Obj_Hamishi_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Hamishi/ovl_Obj_Hamishi_reloc.o" endseg beginseg name "ovl_Obj_Hana" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Hana/ovl_Obj_Hana_reloc.o" endseg beginseg name "ovl_Obj_Hsblock" - include "build/src/overlays/actors/ovl_Obj_Hsblock/z_obj_hsblock.o" - include "build/src/overlays/actors/ovl_Obj_Hsblock/ovl_Obj_Hsblock_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Hsblock/z_obj_hsblock.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Hsblock/ovl_Obj_Hsblock_reloc.o" endseg beginseg name "ovl_Obj_Ice_Poly" - include "build/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.o" - include "build/src/overlays/actors/ovl_Obj_Ice_Poly/ovl_Obj_Ice_Poly_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Ice_Poly/ovl_Obj_Ice_Poly_reloc.o" endseg beginseg name "ovl_Obj_Kibako" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Kibako/ovl_Obj_Kibako_reloc.o" endseg beginseg name "ovl_Obj_Kibako2" - include "build/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.o" - include "build/src/overlays/actors/ovl_Obj_Kibako2/ovl_Obj_Kibako2_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Kibako2/ovl_Obj_Kibako2_reloc.o" endseg beginseg name "ovl_Obj_Lift" - include "build/src/overlays/actors/ovl_Obj_Lift/z_obj_lift.o" - include "build/src/overlays/actors/ovl_Obj_Lift/ovl_Obj_Lift_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Lift/z_obj_lift.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Lift/ovl_Obj_Lift_reloc.o" endseg beginseg name "ovl_Obj_Lightswitch" - 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" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Lightswitch/ovl_Obj_Lightswitch_reloc.o" endseg beginseg name "ovl_Obj_Makekinsuta" - include "build/src/overlays/actors/ovl_Obj_Makekinsuta/z_obj_makekinsuta.o" - include "build/src/overlays/actors/ovl_Obj_Makekinsuta/ovl_Obj_Makekinsuta_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Makekinsuta/z_obj_makekinsuta.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Makekinsuta/ovl_Obj_Makekinsuta_reloc.o" endseg beginseg name "ovl_Obj_Makeoshihiki" - include "build/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.o" - include "build/src/overlays/actors/ovl_Obj_Makeoshihiki/ovl_Obj_Makeoshihiki_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Makeoshihiki/ovl_Obj_Makeoshihiki_reloc.o" endseg beginseg name "ovl_Obj_Mure" - include "build/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.o" - include "build/src/overlays/actors/ovl_Obj_Mure/ovl_Obj_Mure_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Mure/z_obj_mure.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Mure/ovl_Obj_Mure_reloc.o" endseg beginseg name "ovl_Obj_Mure2" - include "build/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.o" - include "build/src/overlays/actors/ovl_Obj_Mure2/ovl_Obj_Mure2_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Mure2/z_obj_mure2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Mure2/ovl_Obj_Mure2_reloc.o" endseg beginseg name "ovl_Obj_Mure3" - include "build/src/overlays/actors/ovl_Obj_Mure3/z_obj_mure3.o" - include "build/src/overlays/actors/ovl_Obj_Mure3/ovl_Obj_Mure3_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Mure3/z_obj_mure3.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Mure3/ovl_Obj_Mure3_reloc.o" endseg beginseg name "ovl_Obj_Oshihiki" - include "build/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.o" - include "build/src/overlays/actors/ovl_Obj_Oshihiki/ovl_Obj_Oshihiki_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Oshihiki/ovl_Obj_Oshihiki_reloc.o" endseg beginseg name "ovl_Obj_Roomtimer" - include "build/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.o" - include "build/src/overlays/actors/ovl_Obj_Roomtimer/ovl_Obj_Roomtimer_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Roomtimer/ovl_Obj_Roomtimer_reloc.o" endseg beginseg name "ovl_Obj_Switch" - include "build/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.o" - include "build/src/overlays/actors/ovl_Obj_Switch/ovl_Obj_Switch_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Switch/ovl_Obj_Switch_reloc.o" endseg beginseg name "ovl_Obj_Syokudai" - include "build/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.o" - include "build/src/overlays/actors/ovl_Obj_Syokudai/ovl_Obj_Syokudai_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Syokudai/ovl_Obj_Syokudai_reloc.o" endseg beginseg name "ovl_Obj_Timeblock" - include "build/src/overlays/actors/ovl_Obj_Timeblock/z_obj_timeblock.o" - include "build/src/overlays/actors/ovl_Obj_Timeblock/ovl_Obj_Timeblock_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Timeblock/z_obj_timeblock.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Timeblock/ovl_Obj_Timeblock_reloc.o" endseg beginseg name "ovl_Obj_Tsubo" - include "build/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.o" - include "build/src/overlays/actors/ovl_Obj_Tsubo/ovl_Obj_Tsubo_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Tsubo/ovl_Obj_Tsubo_reloc.o" endseg beginseg name "ovl_Obj_Warp2block" - include "build/src/overlays/actors/ovl_Obj_Warp2block/z_obj_warp2block.o" - include "build/src/overlays/actors/ovl_Obj_Warp2block/ovl_Obj_Warp2block_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Warp2block/z_obj_warp2block.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Obj_Warp2block/ovl_Obj_Warp2block_reloc.o" endseg beginseg name "ovl_Object_Kankyo" - include "build/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.o" - include "build/src/overlays/actors/ovl_Object_Kankyo/ovl_Object_Kankyo_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Object_Kankyo/ovl_Object_Kankyo_reloc.o" endseg beginseg name "ovl_Oceff_Spot" - include "build/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.o" - include "build/src/overlays/actors/ovl_Oceff_Spot/ovl_Oceff_Spot_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Oceff_Spot/ovl_Oceff_Spot_reloc.o" endseg beginseg name "ovl_Oceff_Storm" - include "build/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.o" - include "build/src/overlays/actors/ovl_Oceff_Storm/ovl_Oceff_Storm_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Oceff_Storm/ovl_Oceff_Storm_reloc.o" endseg beginseg name "ovl_Oceff_Wipe" - include "build/src/overlays/actors/ovl_Oceff_Wipe/z_oceff_wipe.o" - include "build/src/overlays/actors/ovl_Oceff_Wipe/ovl_Oceff_Wipe_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Oceff_Wipe/z_oceff_wipe.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Oceff_Wipe/ovl_Oceff_Wipe_reloc.o" endseg beginseg name "ovl_Oceff_Wipe2" - include "build/src/overlays/actors/ovl_Oceff_Wipe2/z_oceff_wipe2.o" - include "build/src/overlays/actors/ovl_Oceff_Wipe2/ovl_Oceff_Wipe2_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Oceff_Wipe2/z_oceff_wipe2.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Oceff_Wipe2/ovl_Oceff_Wipe2_reloc.o" endseg beginseg name "ovl_Oceff_Wipe3" - include "build/src/overlays/actors/ovl_Oceff_Wipe3/z_oceff_wipe3.o" - include "build/src/overlays/actors/ovl_Oceff_Wipe3/ovl_Oceff_Wipe3_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Oceff_Wipe3/z_oceff_wipe3.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Oceff_Wipe3/ovl_Oceff_Wipe3_reloc.o" endseg beginseg name "ovl_Oceff_Wipe4" - include "build/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.o" - include "build/src/overlays/actors/ovl_Oceff_Wipe4/ovl_Oceff_Wipe4_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Oceff_Wipe4/ovl_Oceff_Wipe4_reloc.o" endseg beginseg name "ovl_Shot_Sun" - include "build/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.o" - include "build/src/overlays/actors/ovl_Shot_Sun/ovl_Shot_Sun_reloc.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.o" + include "$(BUILD_DIR)/src/overlays/actors/ovl_Shot_Sun/ovl_Shot_Sun_reloc.o" endseg beginseg name "gameplay_keep" romalign 0x1000 - include "build/assets/objects/gameplay_keep/gameplay_keep.o" + include "$(BUILD_DIR)/assets/objects/gameplay_keep/gameplay_keep.o" number 4 endseg beginseg name "gameplay_field_keep" romalign 0x1000 - include "build/assets/objects/gameplay_field_keep/gameplay_field_keep.o" + include "$(BUILD_DIR)/assets/objects/gameplay_field_keep/gameplay_field_keep.o" number 5 endseg beginseg name "gameplay_dangeon_keep" romalign 0x1000 - include "build/assets/objects/gameplay_dangeon_keep/gameplay_dangeon_keep.o" + include "$(BUILD_DIR)/assets/objects/gameplay_dangeon_keep/gameplay_dangeon_keep.o" number 5 endseg beginseg name "gameplay_object_exchange_static" romalign 0x1000 - include "build/baserom/gameplay_object_exchange_static.o" + include "$(BUILD_DIR)/baserom/gameplay_object_exchange_static.o" endseg beginseg name "object_link_boy" romalign 0x1000 - include "build/assets/objects/object_link_boy/object_link_boy.o" + include "$(BUILD_DIR)/assets/objects/object_link_boy/object_link_boy.o" number 6 endseg beginseg name "object_link_child" romalign 0x1000 - include "build/assets/objects/object_link_child/object_link_child.o" + include "$(BUILD_DIR)/assets/objects/object_link_child/object_link_child.o" number 6 endseg beginseg name "object_box" romalign 0x1000 - include "build/assets/objects/object_box/object_box.o" + include "$(BUILD_DIR)/assets/objects/object_box/object_box.o" number 6 endseg beginseg name "object_human" romalign 0x1000 - include "build/assets/objects/object_human/object_human.o" + include "$(BUILD_DIR)/assets/objects/object_human/object_human.o" number 6 endseg beginseg name "object_okuta" romalign 0x1000 - include "build/assets/objects/object_okuta/object_okuta.o" + include "$(BUILD_DIR)/assets/objects/object_okuta/object_okuta.o" number 6 endseg beginseg name "object_poh" romalign 0x1000 - include "build/assets/objects/object_poh/object_poh.o" + include "$(BUILD_DIR)/assets/objects/object_poh/object_poh.o" number 6 endseg beginseg name "object_wallmaster" romalign 0x1000 - include "build/assets/objects/object_wallmaster/object_wallmaster.o" + include "$(BUILD_DIR)/assets/objects/object_wallmaster/object_wallmaster.o" number 6 endseg beginseg name "object_dy_obj" romalign 0x1000 - include "build/assets/objects/object_dy_obj/object_dy_obj.o" + include "$(BUILD_DIR)/assets/objects/object_dy_obj/object_dy_obj.o" number 6 endseg beginseg name "object_firefly" romalign 0x1000 - include "build/assets/objects/object_firefly/object_firefly.o" + include "$(BUILD_DIR)/assets/objects/object_firefly/object_firefly.o" number 6 endseg beginseg name "object_dodongo" romalign 0x1000 - include "build/assets/objects/object_dodongo/object_dodongo.o" + include "$(BUILD_DIR)/assets/objects/object_dodongo/object_dodongo.o" number 6 endseg beginseg name "object_fire" romalign 0x1000 - include "build/assets/objects/object_fire/object_fire.o" + include "$(BUILD_DIR)/assets/objects/object_fire/object_fire.o" number 6 endseg beginseg name "object_niw" romalign 0x1000 - include "build/assets/objects/object_niw/object_niw.o" + include "$(BUILD_DIR)/assets/objects/object_niw/object_niw.o" number 6 endseg beginseg name "object_tite" romalign 0x1000 - include "build/assets/objects/object_tite/object_tite.o" + include "$(BUILD_DIR)/assets/objects/object_tite/object_tite.o" number 6 endseg beginseg name "object_reeba" romalign 0x1000 - include "build/assets/objects/object_reeba/object_reeba.o" + include "$(BUILD_DIR)/assets/objects/object_reeba/object_reeba.o" number 6 endseg beginseg name "object_peehat" romalign 0x1000 - include "build/assets/objects/object_peehat/object_peehat.o" + include "$(BUILD_DIR)/assets/objects/object_peehat/object_peehat.o" number 6 endseg beginseg name "object_kingdodongo" romalign 0x1000 - include "build/assets/objects/object_kingdodongo/object_kingdodongo.o" + include "$(BUILD_DIR)/assets/objects/object_kingdodongo/object_kingdodongo.o" number 6 endseg beginseg name "object_horse" romalign 0x1000 - include "build/assets/objects/object_horse/object_horse.o" + include "$(BUILD_DIR)/assets/objects/object_horse/object_horse.o" number 6 endseg beginseg name "object_zf" romalign 0x1000 - include "build/assets/objects/object_zf/object_zf.o" + include "$(BUILD_DIR)/assets/objects/object_zf/object_zf.o" number 6 endseg beginseg name "object_goma" romalign 0x1000 - include "build/assets/objects/object_goma/object_goma.o" + include "$(BUILD_DIR)/assets/objects/object_goma/object_goma.o" number 6 endseg beginseg name "object_zl1" romalign 0x1000 - include "build/assets/objects/object_zl1/object_zl1.o" + include "$(BUILD_DIR)/assets/objects/object_zl1/object_zl1.o" number 6 endseg beginseg name "object_gol" romalign 0x1000 - include "build/assets/objects/object_gol/object_gol.o" + include "$(BUILD_DIR)/assets/objects/object_gol/object_gol.o" number 6 endseg beginseg name "object_bubble" romalign 0x1000 - include "build/assets/objects/object_bubble/object_bubble.o" + include "$(BUILD_DIR)/assets/objects/object_bubble/object_bubble.o" number 6 endseg beginseg name "object_dodojr" romalign 0x1000 - include "build/assets/objects/object_dodojr/object_dodojr.o" + include "$(BUILD_DIR)/assets/objects/object_dodojr/object_dodojr.o" number 6 endseg beginseg name "object_torch2" romalign 0x1000 - include "build/assets/objects/object_torch2/object_torch2.o" + include "$(BUILD_DIR)/assets/objects/object_torch2/object_torch2.o" number 6 endseg beginseg name "object_bl" romalign 0x1000 - include "build/assets/objects/object_bl/object_bl.o" + include "$(BUILD_DIR)/assets/objects/object_bl/object_bl.o" number 6 endseg beginseg name "object_tp" romalign 0x1000 - include "build/assets/objects/object_tp/object_tp.o" + include "$(BUILD_DIR)/assets/objects/object_tp/object_tp.o" number 6 endseg beginseg name "object_oA1" romalign 0x1000 - include "build/assets/objects/object_oA1/object_oA1.o" + include "$(BUILD_DIR)/assets/objects/object_oA1/object_oA1.o" number 6 endseg beginseg name "object_st" romalign 0x1000 - include "build/assets/objects/object_st/object_st.o" + include "$(BUILD_DIR)/assets/objects/object_st/object_st.o" number 6 endseg beginseg name "object_bw" romalign 0x1000 - include "build/assets/objects/object_bw/object_bw.o" + include "$(BUILD_DIR)/assets/objects/object_bw/object_bw.o" number 6 endseg beginseg name "object_ei" romalign 0x1000 - include "build/assets/objects/object_ei/object_ei.o" + include "$(BUILD_DIR)/assets/objects/object_ei/object_ei.o" number 6 endseg beginseg name "object_horse_normal" romalign 0x1000 - include "build/assets/objects/object_horse_normal/object_horse_normal.o" + include "$(BUILD_DIR)/assets/objects/object_horse_normal/object_horse_normal.o" number 6 endseg beginseg name "object_oB1" romalign 0x1000 - include "build/assets/objects/object_oB1/object_oB1.o" + include "$(BUILD_DIR)/assets/objects/object_oB1/object_oB1.o" number 6 endseg beginseg name "object_o_anime" romalign 0x1000 - include "build/assets/objects/object_o_anime/object_o_anime.o" + include "$(BUILD_DIR)/assets/objects/object_o_anime/object_o_anime.o" number 6 endseg beginseg name "object_spot04_objects" romalign 0x1000 - include "build/assets/objects/object_spot04_objects/object_spot04_objects.o" + include "$(BUILD_DIR)/assets/objects/object_spot04_objects/object_spot04_objects.o" number 6 endseg beginseg name "object_ddan_objects" romalign 0x1000 - include "build/assets/objects/object_ddan_objects/object_ddan_objects.o" + include "$(BUILD_DIR)/assets/objects/object_ddan_objects/object_ddan_objects.o" number 6 endseg beginseg name "object_hidan_objects" romalign 0x1000 - include "build/assets/objects/object_hidan_objects/object_hidan_objects.o" + include "$(BUILD_DIR)/assets/objects/object_hidan_objects/object_hidan_objects.o" number 6 endseg beginseg name "object_horse_ganon" romalign 0x1000 - include "build/assets/objects/object_horse_ganon/object_horse_ganon.o" + include "$(BUILD_DIR)/assets/objects/object_horse_ganon/object_horse_ganon.o" number 6 endseg beginseg name "object_oA2" romalign 0x1000 - include "build/assets/objects/object_oA2/object_oA2.o" + include "$(BUILD_DIR)/assets/objects/object_oA2/object_oA2.o" number 6 endseg beginseg name "object_spot00_objects" romalign 0x1000 - include "build/assets/objects/object_spot00_objects/object_spot00_objects.o" + include "$(BUILD_DIR)/assets/objects/object_spot00_objects/object_spot00_objects.o" number 6 endseg beginseg name "object_mb" romalign 0x1000 - include "build/assets/objects/object_mb/object_mb.o" + include "$(BUILD_DIR)/assets/objects/object_mb/object_mb.o" number 6 endseg beginseg name "object_bombf" romalign 0x1000 - include "build/assets/objects/object_bombf/object_bombf.o" + include "$(BUILD_DIR)/assets/objects/object_bombf/object_bombf.o" number 6 endseg beginseg name "object_sk2" romalign 0x1000 - include "build/assets/objects/object_sk2/object_sk2.o" + include "$(BUILD_DIR)/assets/objects/object_sk2/object_sk2.o" number 6 endseg beginseg name "object_oE1" romalign 0x1000 - include "build/assets/objects/object_oE1/object_oE1.o" + include "$(BUILD_DIR)/assets/objects/object_oE1/object_oE1.o" number 6 endseg beginseg name "object_oE_anime" romalign 0x1000 - include "build/assets/objects/object_oE_anime/object_oE_anime.o" + include "$(BUILD_DIR)/assets/objects/object_oE_anime/object_oE_anime.o" number 6 endseg beginseg name "object_oE2" romalign 0x1000 - include "build/assets/objects/object_oE2/object_oE2.o" + include "$(BUILD_DIR)/assets/objects/object_oE2/object_oE2.o" number 6 endseg beginseg name "object_ydan_objects" romalign 0x1000 - include "build/assets/objects/object_ydan_objects/object_ydan_objects.o" + include "$(BUILD_DIR)/assets/objects/object_ydan_objects/object_ydan_objects.o" number 6 endseg beginseg name "object_gnd" romalign 0x1000 - include "build/assets/objects/object_gnd/object_gnd.o" + include "$(BUILD_DIR)/assets/objects/object_gnd/object_gnd.o" number 6 endseg beginseg name "object_am" romalign 0x1000 - include "build/assets/objects/object_am/object_am.o" + include "$(BUILD_DIR)/assets/objects/object_am/object_am.o" number 6 endseg beginseg name "object_dekubaba" romalign 0x1000 - include "build/assets/objects/object_dekubaba/object_dekubaba.o" + include "$(BUILD_DIR)/assets/objects/object_dekubaba/object_dekubaba.o" number 6 endseg beginseg name "object_oA3" romalign 0x1000 - include "build/assets/objects/object_oA3/object_oA3.o" + include "$(BUILD_DIR)/assets/objects/object_oA3/object_oA3.o" number 6 endseg beginseg name "object_oA4" romalign 0x1000 - include "build/assets/objects/object_oA4/object_oA4.o" + include "$(BUILD_DIR)/assets/objects/object_oA4/object_oA4.o" number 6 endseg beginseg name "object_oA5" romalign 0x1000 - include "build/assets/objects/object_oA5/object_oA5.o" + include "$(BUILD_DIR)/assets/objects/object_oA5/object_oA5.o" number 6 endseg beginseg name "object_oA6" romalign 0x1000 - include "build/assets/objects/object_oA6/object_oA6.o" + include "$(BUILD_DIR)/assets/objects/object_oA6/object_oA6.o" number 6 endseg beginseg name "object_oA7" romalign 0x1000 - include "build/assets/objects/object_oA7/object_oA7.o" + include "$(BUILD_DIR)/assets/objects/object_oA7/object_oA7.o" number 6 endseg beginseg name "object_jj" romalign 0x1000 - include "build/assets/objects/object_jj/object_jj.o" + include "$(BUILD_DIR)/assets/objects/object_jj/object_jj.o" number 6 endseg beginseg name "object_oA8" romalign 0x1000 - include "build/assets/objects/object_oA8/object_oA8.o" + include "$(BUILD_DIR)/assets/objects/object_oA8/object_oA8.o" number 6 endseg beginseg name "object_oA9" romalign 0x1000 - include "build/assets/objects/object_oA9/object_oA9.o" + include "$(BUILD_DIR)/assets/objects/object_oA9/object_oA9.o" number 6 endseg beginseg name "object_oB2" romalign 0x1000 - include "build/assets/objects/object_oB2/object_oB2.o" + include "$(BUILD_DIR)/assets/objects/object_oB2/object_oB2.o" number 6 endseg beginseg name "object_oB3" romalign 0x1000 - include "build/assets/objects/object_oB3/object_oB3.o" + include "$(BUILD_DIR)/assets/objects/object_oB3/object_oB3.o" number 6 endseg beginseg name "object_oB4" romalign 0x1000 - include "build/assets/objects/object_oB4/object_oB4.o" + include "$(BUILD_DIR)/assets/objects/object_oB4/object_oB4.o" number 6 endseg beginseg name "object_horse_zelda" romalign 0x1000 - include "build/assets/objects/object_horse_zelda/object_horse_zelda.o" + include "$(BUILD_DIR)/assets/objects/object_horse_zelda/object_horse_zelda.o" number 6 endseg beginseg name "object_opening_demo1" romalign 0x1000 - include "build/assets/objects/object_opening_demo1/object_opening_demo1.o" + include "$(BUILD_DIR)/assets/objects/object_opening_demo1/object_opening_demo1.o" number 6 endseg beginseg name "object_warp1" romalign 0x1000 - include "build/assets/objects/object_warp1/object_warp1.o" + include "$(BUILD_DIR)/assets/objects/object_warp1/object_warp1.o" number 6 endseg beginseg name "object_b_heart" romalign 0x1000 - include "build/assets/objects/object_b_heart/object_b_heart.o" + include "$(BUILD_DIR)/assets/objects/object_b_heart/object_b_heart.o" number 6 endseg beginseg name "object_dekunuts" romalign 0x1000 - include "build/assets/objects/object_dekunuts/object_dekunuts.o" + include "$(BUILD_DIR)/assets/objects/object_dekunuts/object_dekunuts.o" number 6 endseg beginseg name "object_oE3" romalign 0x1000 - include "build/assets/objects/object_oE3/object_oE3.o" + include "$(BUILD_DIR)/assets/objects/object_oE3/object_oE3.o" number 6 endseg beginseg name "object_oE4" romalign 0x1000 - include "build/assets/objects/object_oE4/object_oE4.o" + include "$(BUILD_DIR)/assets/objects/object_oE4/object_oE4.o" number 6 endseg beginseg name "object_menkuri_objects" romalign 0x1000 - include "build/assets/objects/object_menkuri_objects/object_menkuri_objects.o" + include "$(BUILD_DIR)/assets/objects/object_menkuri_objects/object_menkuri_objects.o" number 6 endseg beginseg name "object_oE5" romalign 0x1000 - include "build/assets/objects/object_oE5/object_oE5.o" + include "$(BUILD_DIR)/assets/objects/object_oE5/object_oE5.o" number 6 endseg beginseg name "object_oE6" romalign 0x1000 - include "build/assets/objects/object_oE6/object_oE6.o" + include "$(BUILD_DIR)/assets/objects/object_oE6/object_oE6.o" number 6 endseg beginseg name "object_oE7" romalign 0x1000 - include "build/assets/objects/object_oE7/object_oE7.o" + include "$(BUILD_DIR)/assets/objects/object_oE7/object_oE7.o" number 6 endseg beginseg name "object_oE8" romalign 0x1000 - include "build/assets/objects/object_oE8/object_oE8.o" + include "$(BUILD_DIR)/assets/objects/object_oE8/object_oE8.o" number 6 endseg beginseg name "object_oE9" romalign 0x1000 - include "build/assets/objects/object_oE9/object_oE9.o" + include "$(BUILD_DIR)/assets/objects/object_oE9/object_oE9.o" number 6 endseg beginseg name "object_oE10" romalign 0x1000 - include "build/assets/objects/object_oE10/object_oE10.o" + include "$(BUILD_DIR)/assets/objects/object_oE10/object_oE10.o" number 6 endseg beginseg name "object_oE11" romalign 0x1000 - include "build/assets/objects/object_oE11/object_oE11.o" + include "$(BUILD_DIR)/assets/objects/object_oE11/object_oE11.o" number 6 endseg beginseg name "object_oE12" romalign 0x1000 - include "build/assets/objects/object_oE12/object_oE12.o" + include "$(BUILD_DIR)/assets/objects/object_oE12/object_oE12.o" number 6 endseg beginseg name "object_vali" romalign 0x1000 - include "build/assets/objects/object_vali/object_vali.o" + include "$(BUILD_DIR)/assets/objects/object_vali/object_vali.o" number 6 endseg beginseg name "object_oA10" romalign 0x1000 - include "build/assets/objects/object_oA10/object_oA10.o" + include "$(BUILD_DIR)/assets/objects/object_oA10/object_oA10.o" number 6 endseg beginseg name "object_oA11" romalign 0x1000 - include "build/assets/objects/object_oA11/object_oA11.o" + include "$(BUILD_DIR)/assets/objects/object_oA11/object_oA11.o" number 6 endseg beginseg name "object_mizu_objects" romalign 0x1000 - include "build/assets/objects/object_mizu_objects/object_mizu_objects.o" + include "$(BUILD_DIR)/assets/objects/object_mizu_objects/object_mizu_objects.o" number 6 endseg beginseg name "object_fhg" romalign 0x1000 - include "build/assets/objects/object_fhg/object_fhg.o" + include "$(BUILD_DIR)/assets/objects/object_fhg/object_fhg.o" number 6 endseg beginseg name "object_ossan" romalign 0x1000 - include "build/assets/objects/object_ossan/object_ossan.o" + include "$(BUILD_DIR)/assets/objects/object_ossan/object_ossan.o" number 6 endseg beginseg name "object_mori_hineri1" romalign 0x1000 - include "build/assets/objects/object_mori_hineri1/object_mori_hineri1.o" + include "$(BUILD_DIR)/assets/objects/object_mori_hineri1/object_mori_hineri1.o" number 6 endseg beginseg name "object_Bb" romalign 0x1000 - include "build/assets/objects/object_Bb/object_Bb.o" + include "$(BUILD_DIR)/assets/objects/object_Bb/object_Bb.o" number 6 endseg beginseg name "object_toki_objects" romalign 0x1000 - include "build/assets/objects/object_toki_objects/object_toki_objects.o" + include "$(BUILD_DIR)/assets/objects/object_toki_objects/object_toki_objects.o" number 6 endseg beginseg name "object_yukabyun" romalign 0x1000 - include "build/assets/objects/object_yukabyun/object_yukabyun.o" + include "$(BUILD_DIR)/assets/objects/object_yukabyun/object_yukabyun.o" number 6 endseg beginseg name "object_zl2" romalign 0x1000 - include "build/assets/objects/object_zl2/object_zl2.o" + include "$(BUILD_DIR)/assets/objects/object_zl2/object_zl2.o" number 6 endseg beginseg name "object_mjin" romalign 0x1000 - include "build/assets/objects/object_mjin/object_mjin.o" + include "$(BUILD_DIR)/assets/objects/object_mjin/object_mjin.o" number 6 endseg beginseg name "object_mjin_flash" romalign 0x1000 - include "build/assets/objects/object_mjin_flash/object_mjin_flash.o" + include "$(BUILD_DIR)/assets/objects/object_mjin_flash/object_mjin_flash.o" number 6 endseg beginseg name "object_mjin_dark" romalign 0x1000 - include "build/assets/objects/object_mjin_dark/object_mjin_dark.o" + include "$(BUILD_DIR)/assets/objects/object_mjin_dark/object_mjin_dark.o" number 6 endseg beginseg name "object_mjin_flame" romalign 0x1000 - include "build/assets/objects/object_mjin_flame/object_mjin_flame.o" + include "$(BUILD_DIR)/assets/objects/object_mjin_flame/object_mjin_flame.o" number 6 endseg beginseg name "object_mjin_ice" romalign 0x1000 - include "build/assets/objects/object_mjin_ice/object_mjin_ice.o" + include "$(BUILD_DIR)/assets/objects/object_mjin_ice/object_mjin_ice.o" number 6 endseg beginseg name "object_mjin_soul" romalign 0x1000 - include "build/assets/objects/object_mjin_soul/object_mjin_soul.o" + include "$(BUILD_DIR)/assets/objects/object_mjin_soul/object_mjin_soul.o" number 6 endseg beginseg name "object_mjin_wind" romalign 0x1000 - include "build/assets/objects/object_mjin_wind/object_mjin_wind.o" + include "$(BUILD_DIR)/assets/objects/object_mjin_wind/object_mjin_wind.o" number 6 endseg beginseg name "object_mjin_oka" romalign 0x1000 - include "build/assets/objects/object_mjin_oka/object_mjin_oka.o" + include "$(BUILD_DIR)/assets/objects/object_mjin_oka/object_mjin_oka.o" number 6 endseg beginseg name "object_haka_objects" romalign 0x1000 - include "build/assets/objects/object_haka_objects/object_haka_objects.o" + include "$(BUILD_DIR)/assets/objects/object_haka_objects/object_haka_objects.o" number 6 endseg beginseg name "object_spot06_objects" romalign 0x1000 - include "build/assets/objects/object_spot06_objects/object_spot06_objects.o" + include "$(BUILD_DIR)/assets/objects/object_spot06_objects/object_spot06_objects.o" number 6 endseg beginseg name "object_ice_objects" romalign 0x1000 - include "build/assets/objects/object_ice_objects/object_ice_objects.o" + include "$(BUILD_DIR)/assets/objects/object_ice_objects/object_ice_objects.o" number 6 endseg beginseg name "object_relay_objects" romalign 0x1000 - include "build/assets/objects/object_relay_objects/object_relay_objects.o" + include "$(BUILD_DIR)/assets/objects/object_relay_objects/object_relay_objects.o" number 6 endseg beginseg name "object_mori_hineri1a" romalign 0x1000 - include "build/assets/objects/object_mori_hineri1a/object_mori_hineri1a.o" + include "$(BUILD_DIR)/assets/objects/object_mori_hineri1a/object_mori_hineri1a.o" number 6 endseg beginseg name "object_mori_hineri2" romalign 0x1000 - include "build/assets/objects/object_mori_hineri2/object_mori_hineri2.o" + include "$(BUILD_DIR)/assets/objects/object_mori_hineri2/object_mori_hineri2.o" number 6 endseg beginseg name "object_mori_hineri2a" romalign 0x1000 - include "build/assets/objects/object_mori_hineri2a/object_mori_hineri2a.o" + include "$(BUILD_DIR)/assets/objects/object_mori_hineri2a/object_mori_hineri2a.o" number 6 endseg beginseg name "object_mori_objects" romalign 0x1000 - include "build/assets/objects/object_mori_objects/object_mori_objects.o" + include "$(BUILD_DIR)/assets/objects/object_mori_objects/object_mori_objects.o" number 6 endseg beginseg name "object_mori_tex" romalign 0x1000 - include "build/assets/objects/object_mori_tex/object_mori_tex.o" + include "$(BUILD_DIR)/assets/objects/object_mori_tex/object_mori_tex.o" number 8 endseg beginseg name "object_spot08_obj" romalign 0x1000 - include "build/assets/objects/object_spot08_obj/object_spot08_obj.o" + include "$(BUILD_DIR)/assets/objects/object_spot08_obj/object_spot08_obj.o" number 6 endseg beginseg name "object_warp2" romalign 0x1000 - include "build/assets/objects/object_warp2/object_warp2.o" + include "$(BUILD_DIR)/assets/objects/object_warp2/object_warp2.o" number 6 endseg beginseg name "object_hata" romalign 0x1000 - include "build/assets/objects/object_hata/object_hata.o" + include "$(BUILD_DIR)/assets/objects/object_hata/object_hata.o" number 6 endseg beginseg name "object_bird" romalign 0x1000 - include "build/assets/objects/object_bird/object_bird.o" + include "$(BUILD_DIR)/assets/objects/object_bird/object_bird.o" number 6 endseg beginseg name "object_wood02" romalign 0x1000 - include "build/assets/objects/object_wood02/object_wood02.o" + include "$(BUILD_DIR)/assets/objects/object_wood02/object_wood02.o" number 6 endseg beginseg name "object_lightbox" romalign 0x1000 - include "build/assets/objects/object_lightbox/object_lightbox.o" + include "$(BUILD_DIR)/assets/objects/object_lightbox/object_lightbox.o" number 6 endseg beginseg name "object_pu_box" romalign 0x1000 - include "build/assets/objects/object_pu_box/object_pu_box.o" + include "$(BUILD_DIR)/assets/objects/object_pu_box/object_pu_box.o" number 6 endseg beginseg name "object_trap" romalign 0x1000 - include "build/assets/objects/object_trap/object_trap.o" + include "$(BUILD_DIR)/assets/objects/object_trap/object_trap.o" number 6 endseg beginseg name "object_vase" romalign 0x1000 - include "build/assets/objects/object_vase/object_vase.o" + include "$(BUILD_DIR)/assets/objects/object_vase/object_vase.o" number 6 endseg beginseg name "object_im" romalign 0x1000 - include "build/assets/objects/object_im/object_im.o" + include "$(BUILD_DIR)/assets/objects/object_im/object_im.o" number 6 endseg beginseg name "object_ta" romalign 0x1000 - include "build/assets/objects/object_ta/object_ta.o" + include "$(BUILD_DIR)/assets/objects/object_ta/object_ta.o" number 6 endseg beginseg name "object_tk" romalign 0x1000 - include "build/assets/objects/object_tk/object_tk.o" + include "$(BUILD_DIR)/assets/objects/object_tk/object_tk.o" number 6 endseg beginseg name "object_xc" romalign 0x1000 - include "build/assets/objects/object_xc/object_xc.o" + include "$(BUILD_DIR)/assets/objects/object_xc/object_xc.o" number 6 endseg beginseg name "object_vm" romalign 0x1000 - include "build/assets/objects/object_vm/object_vm.o" + include "$(BUILD_DIR)/assets/objects/object_vm/object_vm.o" number 6 endseg beginseg name "object_bv" romalign 0x1000 - include "build/assets/objects/object_bv/object_bv.o" + include "$(BUILD_DIR)/assets/objects/object_bv/object_bv.o" number 6 endseg beginseg name "object_hakach_objects" romalign 0x1000 - include "build/assets/objects/object_hakach_objects/object_hakach_objects.o" + include "$(BUILD_DIR)/assets/objects/object_hakach_objects/object_hakach_objects.o" number 6 endseg beginseg name "object_efc_crystal_light" romalign 0x1000 - include "build/assets/objects/object_efc_crystal_light/object_efc_crystal_light.o" + include "$(BUILD_DIR)/assets/objects/object_efc_crystal_light/object_efc_crystal_light.o" number 6 endseg beginseg name "object_efc_fire_ball" romalign 0x1000 - include "build/assets/objects/object_efc_fire_ball/object_efc_fire_ball.o" + include "$(BUILD_DIR)/assets/objects/object_efc_fire_ball/object_efc_fire_ball.o" number 6 endseg beginseg name "object_efc_flash" romalign 0x1000 - include "build/assets/objects/object_efc_flash/object_efc_flash.o" + include "$(BUILD_DIR)/assets/objects/object_efc_flash/object_efc_flash.o" number 6 endseg beginseg name "object_efc_lgt_shower" romalign 0x1000 - include "build/assets/objects/object_efc_lgt_shower/object_efc_lgt_shower.o" + include "$(BUILD_DIR)/assets/objects/object_efc_lgt_shower/object_efc_lgt_shower.o" number 6 endseg beginseg name "object_efc_star_field" romalign 0x1000 - include "build/assets/objects/object_efc_star_field/object_efc_star_field.o" + include "$(BUILD_DIR)/assets/objects/object_efc_star_field/object_efc_star_field.o" number 6 endseg beginseg name "object_god_lgt" romalign 0x1000 - include "build/assets/objects/object_god_lgt/object_god_lgt.o" + include "$(BUILD_DIR)/assets/objects/object_god_lgt/object_god_lgt.o" number 6 endseg beginseg name "object_light_ring" romalign 0x1000 - include "build/assets/objects/object_light_ring/object_light_ring.o" + include "$(BUILD_DIR)/assets/objects/object_light_ring/object_light_ring.o" number 6 endseg beginseg name "object_triforce_spot" romalign 0x1000 - include "build/assets/objects/object_triforce_spot/object_triforce_spot.o" + include "$(BUILD_DIR)/assets/objects/object_triforce_spot/object_triforce_spot.o" number 6 endseg beginseg name "object_medal" romalign 0x1000 - include "build/assets/objects/object_medal/object_medal.o" + include "$(BUILD_DIR)/assets/objects/object_medal/object_medal.o" number 6 endseg beginseg name "object_bdan_objects" romalign 0x1000 - include "build/assets/objects/object_bdan_objects/object_bdan_objects.o" + include "$(BUILD_DIR)/assets/objects/object_bdan_objects/object_bdan_objects.o" number 6 endseg beginseg name "object_sd" romalign 0x1000 - include "build/assets/objects/object_sd/object_sd.o" + include "$(BUILD_DIR)/assets/objects/object_sd/object_sd.o" number 6 endseg beginseg name "object_rd" romalign 0x1000 - include "build/assets/objects/object_rd/object_rd.o" + include "$(BUILD_DIR)/assets/objects/object_rd/object_rd.o" number 6 endseg beginseg name "object_po_sisters" romalign 0x1000 - include "build/assets/objects/object_po_sisters/object_po_sisters.o" + include "$(BUILD_DIR)/assets/objects/object_po_sisters/object_po_sisters.o" number 6 endseg beginseg name "object_heavy_object" romalign 0x1000 - include "build/assets/objects/object_heavy_object/object_heavy_object.o" + include "$(BUILD_DIR)/assets/objects/object_heavy_object/object_heavy_object.o" number 6 endseg beginseg name "object_gndd" romalign 0x1000 - include "build/assets/objects/object_gndd/object_gndd.o" + include "$(BUILD_DIR)/assets/objects/object_gndd/object_gndd.o" number 6 endseg beginseg name "object_fd" romalign 0x1000 - include "build/assets/objects/object_fd/object_fd.o" + include "$(BUILD_DIR)/assets/objects/object_fd/object_fd.o" number 6 endseg beginseg name "object_du" romalign 0x1000 - include "build/assets/objects/object_du/object_du.o" + include "$(BUILD_DIR)/assets/objects/object_du/object_du.o" number 6 endseg beginseg name "object_fw" romalign 0x1000 - include "build/assets/objects/object_fw/object_fw.o" + include "$(BUILD_DIR)/assets/objects/object_fw/object_fw.o" number 6 endseg beginseg name "object_horse_link_child" romalign 0x1000 - include "build/assets/objects/object_horse_link_child/object_horse_link_child.o" + include "$(BUILD_DIR)/assets/objects/object_horse_link_child/object_horse_link_child.o" number 6 endseg beginseg name "object_spot02_objects" romalign 0x1000 - include "build/assets/objects/object_spot02_objects/object_spot02_objects.o" + include "$(BUILD_DIR)/assets/objects/object_spot02_objects/object_spot02_objects.o" number 6 endseg beginseg name "object_haka" romalign 0x1000 - include "build/assets/objects/object_haka/object_haka.o" + include "$(BUILD_DIR)/assets/objects/object_haka/object_haka.o" number 6 endseg beginseg name "object_ru1" romalign 0x1000 - include "build/assets/objects/object_ru1/object_ru1.o" + include "$(BUILD_DIR)/assets/objects/object_ru1/object_ru1.o" number 6 endseg beginseg name "object_syokudai" romalign 0x1000 - include "build/assets/objects/object_syokudai/object_syokudai.o" + include "$(BUILD_DIR)/assets/objects/object_syokudai/object_syokudai.o" number 6 endseg beginseg name "object_fd2" romalign 0x1000 - include "build/assets/objects/object_fd2/object_fd2.o" + include "$(BUILD_DIR)/assets/objects/object_fd2/object_fd2.o" number 6 endseg beginseg name "object_dh" romalign 0x1000 - include "build/assets/objects/object_dh/object_dh.o" + include "$(BUILD_DIR)/assets/objects/object_dh/object_dh.o" number 6 endseg beginseg name "object_rl" romalign 0x1000 - include "build/assets/objects/object_rl/object_rl.o" + include "$(BUILD_DIR)/assets/objects/object_rl/object_rl.o" number 6 endseg beginseg name "object_efc_tw" romalign 0x1000 - include "build/assets/objects/object_efc_tw/object_efc_tw.o" + include "$(BUILD_DIR)/assets/objects/object_efc_tw/object_efc_tw.o" number 6 endseg beginseg name "object_demo_tre_lgt" romalign 0x1000 - include "build/assets/objects/object_demo_tre_lgt/object_demo_tre_lgt.o" + include "$(BUILD_DIR)/assets/objects/object_demo_tre_lgt/object_demo_tre_lgt.o" number 6 endseg beginseg name "object_gi_key" romalign 0x1000 - include "build/assets/objects/object_gi_key/object_gi_key.o" + include "$(BUILD_DIR)/assets/objects/object_gi_key/object_gi_key.o" number 6 endseg beginseg name "object_mir_ray" romalign 0x1000 - include "build/assets/objects/object_mir_ray/object_mir_ray.o" + include "$(BUILD_DIR)/assets/objects/object_mir_ray/object_mir_ray.o" number 6 endseg beginseg name "object_brob" romalign 0x1000 - include "build/assets/objects/object_brob/object_brob.o" + include "$(BUILD_DIR)/assets/objects/object_brob/object_brob.o" number 6 endseg beginseg name "object_gi_jewel" romalign 0x1000 - include "build/assets/objects/object_gi_jewel/object_gi_jewel.o" + include "$(BUILD_DIR)/assets/objects/object_gi_jewel/object_gi_jewel.o" number 6 endseg beginseg name "object_spot09_obj" romalign 0x1000 - include "build/assets/objects/object_spot09_obj/object_spot09_obj.o" + include "$(BUILD_DIR)/assets/objects/object_spot09_obj/object_spot09_obj.o" number 6 endseg beginseg name "object_spot18_obj" romalign 0x1000 - include "build/assets/objects/object_spot18_obj/object_spot18_obj.o" + include "$(BUILD_DIR)/assets/objects/object_spot18_obj/object_spot18_obj.o" number 6 endseg beginseg name "object_bdoor" romalign 0x1000 - include "build/assets/objects/object_bdoor/object_bdoor.o" + include "$(BUILD_DIR)/assets/objects/object_bdoor/object_bdoor.o" number 6 endseg beginseg name "object_spot17_obj" romalign 0x1000 - include "build/assets/objects/object_spot17_obj/object_spot17_obj.o" + include "$(BUILD_DIR)/assets/objects/object_spot17_obj/object_spot17_obj.o" number 6 endseg beginseg name "object_shop_dungen" romalign 0x1000 - include "build/assets/objects/object_shop_dungen/object_shop_dungen.o" + include "$(BUILD_DIR)/assets/objects/object_shop_dungen/object_shop_dungen.o" number 6 endseg beginseg name "object_nb" romalign 0x1000 - include "build/assets/objects/object_nb/object_nb.o" + include "$(BUILD_DIR)/assets/objects/object_nb/object_nb.o" number 6 endseg beginseg name "object_mo" romalign 0x1000 - include "build/assets/objects/object_mo/object_mo.o" + include "$(BUILD_DIR)/assets/objects/object_mo/object_mo.o" number 6 endseg beginseg name "object_sb" romalign 0x1000 - include "build/assets/objects/object_sb/object_sb.o" + include "$(BUILD_DIR)/assets/objects/object_sb/object_sb.o" number 6 endseg beginseg name "object_gi_melody" romalign 0x1000 - include "build/assets/objects/object_gi_melody/object_gi_melody.o" + include "$(BUILD_DIR)/assets/objects/object_gi_melody/object_gi_melody.o" number 6 endseg beginseg name "object_gi_heart" romalign 0x1000 - include "build/assets/objects/object_gi_heart/object_gi_heart.o" + include "$(BUILD_DIR)/assets/objects/object_gi_heart/object_gi_heart.o" number 6 endseg beginseg name "object_gi_compass" romalign 0x1000 - include "build/assets/objects/object_gi_compass/object_gi_compass.o" + include "$(BUILD_DIR)/assets/objects/object_gi_compass/object_gi_compass.o" number 6 endseg beginseg name "object_gi_bosskey" romalign 0x1000 - include "build/assets/objects/object_gi_bosskey/object_gi_bosskey.o" + include "$(BUILD_DIR)/assets/objects/object_gi_bosskey/object_gi_bosskey.o" number 6 endseg beginseg name "object_gi_medal" romalign 0x1000 - include "build/assets/objects/object_gi_medal/object_gi_medal.o" + include "$(BUILD_DIR)/assets/objects/object_gi_medal/object_gi_medal.o" number 6 endseg beginseg name "object_gi_nuts" romalign 0x1000 - include "build/assets/objects/object_gi_nuts/object_gi_nuts.o" + include "$(BUILD_DIR)/assets/objects/object_gi_nuts/object_gi_nuts.o" number 6 endseg beginseg name "object_sa" romalign 0x1000 - include "build/assets/objects/object_sa/object_sa.o" + include "$(BUILD_DIR)/assets/objects/object_sa/object_sa.o" number 6 endseg beginseg name "object_gi_hearts" romalign 0x1000 - include "build/assets/objects/object_gi_hearts/object_gi_hearts.o" + include "$(BUILD_DIR)/assets/objects/object_gi_hearts/object_gi_hearts.o" number 6 endseg beginseg name "object_gi_arrowcase" romalign 0x1000 - include "build/assets/objects/object_gi_arrowcase/object_gi_arrowcase.o" + include "$(BUILD_DIR)/assets/objects/object_gi_arrowcase/object_gi_arrowcase.o" number 6 endseg beginseg name "object_gi_bombpouch" romalign 0x1000 - include "build/assets/objects/object_gi_bombpouch/object_gi_bombpouch.o" + include "$(BUILD_DIR)/assets/objects/object_gi_bombpouch/object_gi_bombpouch.o" number 6 endseg beginseg name "object_in" romalign 0x1000 - include "build/assets/objects/object_in/object_in.o" + include "$(BUILD_DIR)/assets/objects/object_in/object_in.o" number 6 endseg beginseg name "object_tr" romalign 0x1000 - include "build/assets/objects/object_tr/object_tr.o" + include "$(BUILD_DIR)/assets/objects/object_tr/object_tr.o" number 6 endseg beginseg name "object_spot16_obj" romalign 0x1000 - include "build/assets/objects/object_spot16_obj/object_spot16_obj.o" + include "$(BUILD_DIR)/assets/objects/object_spot16_obj/object_spot16_obj.o" number 6 endseg beginseg name "object_oE1s" romalign 0x1000 - include "build/assets/objects/object_oE1s/object_oE1s.o" + include "$(BUILD_DIR)/assets/objects/object_oE1s/object_oE1s.o" number 6 endseg beginseg name "object_oE4s" romalign 0x1000 - include "build/assets/objects/object_oE4s/object_oE4s.o" + include "$(BUILD_DIR)/assets/objects/object_oE4s/object_oE4s.o" number 6 endseg beginseg name "object_os_anime" romalign 0x1000 - include "build/assets/objects/object_os_anime/object_os_anime.o" + include "$(BUILD_DIR)/assets/objects/object_os_anime/object_os_anime.o" number 6 endseg beginseg name "object_gi_bottle" romalign 0x1000 - include "build/assets/objects/object_gi_bottle/object_gi_bottle.o" + include "$(BUILD_DIR)/assets/objects/object_gi_bottle/object_gi_bottle.o" number 6 endseg beginseg name "object_gi_stick" romalign 0x1000 - include "build/assets/objects/object_gi_stick/object_gi_stick.o" + include "$(BUILD_DIR)/assets/objects/object_gi_stick/object_gi_stick.o" number 6 endseg beginseg name "object_gi_map" romalign 0x1000 - include "build/assets/objects/object_gi_map/object_gi_map.o" + include "$(BUILD_DIR)/assets/objects/object_gi_map/object_gi_map.o" number 6 endseg beginseg name "object_oF1d_map" romalign 0x1000 - include "build/assets/objects/object_oF1d_map/object_oF1d_map.o" + include "$(BUILD_DIR)/assets/objects/object_oF1d_map/object_oF1d_map.o" number 6 endseg beginseg name "object_ru2" romalign 0x1000 - include "build/assets/objects/object_ru2/object_ru2.o" + include "$(BUILD_DIR)/assets/objects/object_ru2/object_ru2.o" number 6 endseg beginseg name "object_gi_shield_1" romalign 0x1000 - include "build/assets/objects/object_gi_shield_1/object_gi_shield_1.o" + include "$(BUILD_DIR)/assets/objects/object_gi_shield_1/object_gi_shield_1.o" number 6 endseg beginseg name "object_dekujr" romalign 0x1000 - include "build/assets/objects/object_dekujr/object_dekujr.o" + include "$(BUILD_DIR)/assets/objects/object_dekujr/object_dekujr.o" number 6 endseg beginseg name "object_gi_magicpot" romalign 0x1000 - include "build/assets/objects/object_gi_magicpot/object_gi_magicpot.o" + include "$(BUILD_DIR)/assets/objects/object_gi_magicpot/object_gi_magicpot.o" number 6 endseg beginseg name "object_gi_bomb_1" romalign 0x1000 - include "build/assets/objects/object_gi_bomb_1/object_gi_bomb_1.o" + include "$(BUILD_DIR)/assets/objects/object_gi_bomb_1/object_gi_bomb_1.o" number 6 endseg beginseg name "object_oF1s" romalign 0x1000 - include "build/assets/objects/object_oF1s/object_oF1s.o" + include "$(BUILD_DIR)/assets/objects/object_oF1s/object_oF1s.o" number 6 endseg beginseg name "object_ma2" romalign 0x1000 - include "build/assets/objects/object_ma2/object_ma2.o" + include "$(BUILD_DIR)/assets/objects/object_ma2/object_ma2.o" number 6 endseg beginseg name "object_gi_purse" romalign 0x1000 - include "build/assets/objects/object_gi_purse/object_gi_purse.o" + include "$(BUILD_DIR)/assets/objects/object_gi_purse/object_gi_purse.o" number 6 endseg beginseg name "object_hni" romalign 0x1000 - include "build/assets/objects/object_hni/object_hni.o" + include "$(BUILD_DIR)/assets/objects/object_hni/object_hni.o" number 6 endseg beginseg name "object_tw" romalign 0x1000 - include "build/assets/objects/object_tw/object_tw.o" + include "$(BUILD_DIR)/assets/objects/object_tw/object_tw.o" number 6 endseg beginseg name "object_rr" romalign 0x1000 - include "build/assets/objects/object_rr/object_rr.o" + include "$(BUILD_DIR)/assets/objects/object_rr/object_rr.o" number 6 endseg beginseg name "object_bxa" romalign 0x1000 - include "build/assets/objects/object_bxa/object_bxa.o" + include "$(BUILD_DIR)/assets/objects/object_bxa/object_bxa.o" number 6 endseg beginseg name "object_anubice" romalign 0x1000 - include "build/assets/objects/object_anubice/object_anubice.o" + include "$(BUILD_DIR)/assets/objects/object_anubice/object_anubice.o" number 6 endseg beginseg name "object_gi_gerudo" romalign 0x1000 - include "build/assets/objects/object_gi_gerudo/object_gi_gerudo.o" + include "$(BUILD_DIR)/assets/objects/object_gi_gerudo/object_gi_gerudo.o" number 6 endseg beginseg name "object_gi_arrow" romalign 0x1000 - include "build/assets/objects/object_gi_arrow/object_gi_arrow.o" + include "$(BUILD_DIR)/assets/objects/object_gi_arrow/object_gi_arrow.o" number 6 endseg beginseg name "object_gi_bomb_2" romalign 0x1000 - include "build/assets/objects/object_gi_bomb_2/object_gi_bomb_2.o" + include "$(BUILD_DIR)/assets/objects/object_gi_bomb_2/object_gi_bomb_2.o" number 6 endseg beginseg name "object_gi_egg" romalign 0x1000 - include "build/assets/objects/object_gi_egg/object_gi_egg.o" + include "$(BUILD_DIR)/assets/objects/object_gi_egg/object_gi_egg.o" number 6 endseg beginseg name "object_gi_scale" romalign 0x1000 - include "build/assets/objects/object_gi_scale/object_gi_scale.o" + include "$(BUILD_DIR)/assets/objects/object_gi_scale/object_gi_scale.o" number 6 endseg beginseg name "object_gi_shield_2" romalign 0x1000 - include "build/assets/objects/object_gi_shield_2/object_gi_shield_2.o" + include "$(BUILD_DIR)/assets/objects/object_gi_shield_2/object_gi_shield_2.o" number 6 endseg beginseg name "object_gi_hookshot" romalign 0x1000 - include "build/assets/objects/object_gi_hookshot/object_gi_hookshot.o" + include "$(BUILD_DIR)/assets/objects/object_gi_hookshot/object_gi_hookshot.o" number 6 endseg beginseg name "object_gi_ocarina" romalign 0x1000 - include "build/assets/objects/object_gi_ocarina/object_gi_ocarina.o" + include "$(BUILD_DIR)/assets/objects/object_gi_ocarina/object_gi_ocarina.o" number 6 endseg beginseg name "object_gi_milk" romalign 0x1000 - include "build/assets/objects/object_gi_milk/object_gi_milk.o" + include "$(BUILD_DIR)/assets/objects/object_gi_milk/object_gi_milk.o" number 6 endseg beginseg name "object_ma1" romalign 0x1000 - include "build/assets/objects/object_ma1/object_ma1.o" + include "$(BUILD_DIR)/assets/objects/object_ma1/object_ma1.o" number 6 endseg beginseg name "object_ganon" romalign 0x1000 - include "build/assets/objects/object_ganon/object_ganon.o" + include "$(BUILD_DIR)/assets/objects/object_ganon/object_ganon.o" number 6 endseg beginseg name "object_sst" romalign 0x1000 - include "build/assets/objects/object_sst/object_sst.o" + include "$(BUILD_DIR)/assets/objects/object_sst/object_sst.o" number 6 endseg beginseg name "object_ny" romalign 0x1000 - include "build/assets/objects/object_ny/object_ny.o" + include "$(BUILD_DIR)/assets/objects/object_ny/object_ny.o" number 6 endseg beginseg name "object_fr" romalign 0x1000 - include "build/assets/objects/object_fr/object_fr.o" + include "$(BUILD_DIR)/assets/objects/object_fr/object_fr.o" number 6 endseg beginseg name "object_gi_pachinko" romalign 0x1000 - include "build/assets/objects/object_gi_pachinko/object_gi_pachinko.o" + include "$(BUILD_DIR)/assets/objects/object_gi_pachinko/object_gi_pachinko.o" number 6 endseg beginseg name "object_gi_boomerang" romalign 0x1000 - include "build/assets/objects/object_gi_boomerang/object_gi_boomerang.o" + include "$(BUILD_DIR)/assets/objects/object_gi_boomerang/object_gi_boomerang.o" number 6 endseg beginseg name "object_gi_bow" romalign 0x1000 - include "build/assets/objects/object_gi_bow/object_gi_bow.o" + include "$(BUILD_DIR)/assets/objects/object_gi_bow/object_gi_bow.o" number 6 endseg beginseg name "object_gi_glasses" romalign 0x1000 - include "build/assets/objects/object_gi_glasses/object_gi_glasses.o" + include "$(BUILD_DIR)/assets/objects/object_gi_glasses/object_gi_glasses.o" number 6 endseg beginseg name "object_gi_liquid" romalign 0x1000 - include "build/assets/objects/object_gi_liquid/object_gi_liquid.o" + include "$(BUILD_DIR)/assets/objects/object_gi_liquid/object_gi_liquid.o" number 6 endseg beginseg name "object_ani" romalign 0x1000 - include "build/assets/objects/object_ani/object_ani.o" + include "$(BUILD_DIR)/assets/objects/object_ani/object_ani.o" number 6 endseg beginseg name "object_demo_6k" romalign 0x1000 - include "build/assets/objects/object_demo_6k/object_demo_6k.o" + include "$(BUILD_DIR)/assets/objects/object_demo_6k/object_demo_6k.o" number 6 endseg beginseg name "object_gi_shield_3" romalign 0x1000 - include "build/assets/objects/object_gi_shield_3/object_gi_shield_3.o" + include "$(BUILD_DIR)/assets/objects/object_gi_shield_3/object_gi_shield_3.o" number 6 endseg beginseg name "object_gi_letter" romalign 0x1000 - include "build/assets/objects/object_gi_letter/object_gi_letter.o" + include "$(BUILD_DIR)/assets/objects/object_gi_letter/object_gi_letter.o" number 6 endseg beginseg name "object_spot15_obj" romalign 0x1000 - include "build/assets/objects/object_spot15_obj/object_spot15_obj.o" + include "$(BUILD_DIR)/assets/objects/object_spot15_obj/object_spot15_obj.o" number 6 endseg beginseg name "object_jya_obj" romalign 0x1000 - include "build/assets/objects/object_jya_obj/object_jya_obj.o" + include "$(BUILD_DIR)/assets/objects/object_jya_obj/object_jya_obj.o" number 6 endseg beginseg name "object_gi_clothes" romalign 0x1000 - include "build/assets/objects/object_gi_clothes/object_gi_clothes.o" + include "$(BUILD_DIR)/assets/objects/object_gi_clothes/object_gi_clothes.o" number 6 endseg beginseg name "object_gi_bean" romalign 0x1000 - include "build/assets/objects/object_gi_bean/object_gi_bean.o" + include "$(BUILD_DIR)/assets/objects/object_gi_bean/object_gi_bean.o" number 6 endseg beginseg name "object_gi_fish" romalign 0x1000 - include "build/assets/objects/object_gi_fish/object_gi_fish.o" + include "$(BUILD_DIR)/assets/objects/object_gi_fish/object_gi_fish.o" number 6 endseg beginseg name "object_gi_saw" romalign 0x1000 - include "build/assets/objects/object_gi_saw/object_gi_saw.o" + include "$(BUILD_DIR)/assets/objects/object_gi_saw/object_gi_saw.o" number 6 endseg beginseg name "object_gi_hammer" romalign 0x1000 - include "build/assets/objects/object_gi_hammer/object_gi_hammer.o" + include "$(BUILD_DIR)/assets/objects/object_gi_hammer/object_gi_hammer.o" number 6 endseg beginseg name "object_gi_grass" romalign 0x1000 - include "build/assets/objects/object_gi_grass/object_gi_grass.o" + include "$(BUILD_DIR)/assets/objects/object_gi_grass/object_gi_grass.o" number 6 endseg beginseg name "object_gi_longsword" romalign 0x1000 - include "build/assets/objects/object_gi_longsword/object_gi_longsword.o" + include "$(BUILD_DIR)/assets/objects/object_gi_longsword/object_gi_longsword.o" number 6 endseg beginseg name "object_spot01_objects" romalign 0x1000 - include "build/assets/objects/object_spot01_objects/object_spot01_objects.o" + include "$(BUILD_DIR)/assets/objects/object_spot01_objects/object_spot01_objects.o" number 6 endseg beginseg name "object_md" romalign 0x1000 - include "build/assets/objects/object_md/object_md.o" + include "$(BUILD_DIR)/assets/objects/object_md/object_md.o" number 6 endseg beginseg name "object_km1" romalign 0x1000 - include "build/assets/objects/object_km1/object_km1.o" + include "$(BUILD_DIR)/assets/objects/object_km1/object_km1.o" number 6 endseg beginseg name "object_kw1" romalign 0x1000 - include "build/assets/objects/object_kw1/object_kw1.o" + include "$(BUILD_DIR)/assets/objects/object_kw1/object_kw1.o" number 6 endseg beginseg name "object_zo" romalign 0x1000 - include "build/assets/objects/object_zo/object_zo.o" + include "$(BUILD_DIR)/assets/objects/object_zo/object_zo.o" number 6 endseg beginseg name "object_kz" romalign 0x1000 - include "build/assets/objects/object_kz/object_kz.o" + include "$(BUILD_DIR)/assets/objects/object_kz/object_kz.o" number 6 endseg beginseg name "object_umajump" romalign 0x1000 - include "build/assets/objects/object_umajump/object_umajump.o" + include "$(BUILD_DIR)/assets/objects/object_umajump/object_umajump.o" number 6 endseg beginseg name "object_masterkokiri" romalign 0x1000 - include "build/assets/objects/object_masterkokiri/object_masterkokiri.o" + include "$(BUILD_DIR)/assets/objects/object_masterkokiri/object_masterkokiri.o" number 6 endseg beginseg name "object_masterkokirihead" romalign 0x1000 - include "build/assets/objects/object_masterkokirihead/object_masterkokirihead.o" + include "$(BUILD_DIR)/assets/objects/object_masterkokirihead/object_masterkokirihead.o" number 6 endseg beginseg name "object_mastergolon" romalign 0x1000 - include "build/assets/objects/object_mastergolon/object_mastergolon.o" + include "$(BUILD_DIR)/assets/objects/object_mastergolon/object_mastergolon.o" number 6 endseg beginseg name "object_masterzoora" romalign 0x1000 - include "build/assets/objects/object_masterzoora/object_masterzoora.o" + include "$(BUILD_DIR)/assets/objects/object_masterzoora/object_masterzoora.o" number 6 endseg beginseg name "object_aob" romalign 0x1000 - include "build/assets/objects/object_aob/object_aob.o" + include "$(BUILD_DIR)/assets/objects/object_aob/object_aob.o" number 6 endseg beginseg name "object_ik" romalign 0x1000 - include "build/assets/objects/object_ik/object_ik.o" + include "$(BUILD_DIR)/assets/objects/object_ik/object_ik.o" number 6 endseg beginseg name "object_ahg" romalign 0x1000 - include "build/assets/objects/object_ahg/object_ahg.o" + include "$(BUILD_DIR)/assets/objects/object_ahg/object_ahg.o" number 6 endseg beginseg name "object_cne" romalign 0x1000 - include "build/assets/objects/object_cne/object_cne.o" + include "$(BUILD_DIR)/assets/objects/object_cne/object_cne.o" number 6 endseg beginseg name "object_gi_niwatori" romalign 0x1000 - include "build/assets/objects/object_gi_niwatori/object_gi_niwatori.o" + include "$(BUILD_DIR)/assets/objects/object_gi_niwatori/object_gi_niwatori.o" number 6 endseg beginseg name "object_skj" romalign 0x1000 - include "build/assets/objects/object_skj/object_skj.o" + include "$(BUILD_DIR)/assets/objects/object_skj/object_skj.o" number 6 endseg beginseg name "object_gi_bottle_letter" romalign 0x1000 - include "build/assets/objects/object_gi_bottle_letter/object_gi_bottle_letter.o" + include "$(BUILD_DIR)/assets/objects/object_gi_bottle_letter/object_gi_bottle_letter.o" number 6 endseg beginseg name "object_bji" romalign 0x1000 - include "build/assets/objects/object_bji/object_bji.o" + include "$(BUILD_DIR)/assets/objects/object_bji/object_bji.o" number 6 endseg beginseg name "object_bba" romalign 0x1000 - include "build/assets/objects/object_bba/object_bba.o" + include "$(BUILD_DIR)/assets/objects/object_bba/object_bba.o" number 6 endseg beginseg name "object_gi_ocarina_0" romalign 0x1000 - include "build/assets/objects/object_gi_ocarina_0/object_gi_ocarina_0.o" + include "$(BUILD_DIR)/assets/objects/object_gi_ocarina_0/object_gi_ocarina_0.o" number 6 endseg beginseg name "object_ds" romalign 0x1000 - include "build/assets/objects/object_ds/object_ds.o" + include "$(BUILD_DIR)/assets/objects/object_ds/object_ds.o" number 6 endseg beginseg name "object_ane" romalign 0x1000 - include "build/assets/objects/object_ane/object_ane.o" + include "$(BUILD_DIR)/assets/objects/object_ane/object_ane.o" number 6 endseg beginseg name "object_boj" romalign 0x1000 - include "build/assets/objects/object_boj/object_boj.o" + include "$(BUILD_DIR)/assets/objects/object_boj/object_boj.o" number 6 endseg beginseg name "object_spot03_object" romalign 0x1000 - include "build/assets/objects/object_spot03_object/object_spot03_object.o" + include "$(BUILD_DIR)/assets/objects/object_spot03_object/object_spot03_object.o" number 6 endseg beginseg name "object_spot07_object" romalign 0x1000 - include "build/assets/objects/object_spot07_object/object_spot07_object.o" + include "$(BUILD_DIR)/assets/objects/object_spot07_object/object_spot07_object.o" number 6 endseg beginseg name "object_fz" romalign 0x1000 - include "build/assets/objects/object_fz/object_fz.o" + include "$(BUILD_DIR)/assets/objects/object_fz/object_fz.o" number 6 endseg beginseg name "object_bob" romalign 0x1000 - include "build/assets/objects/object_bob/object_bob.o" + include "$(BUILD_DIR)/assets/objects/object_bob/object_bob.o" number 6 endseg beginseg name "object_ge1" romalign 0x1000 - include "build/assets/objects/object_ge1/object_ge1.o" + include "$(BUILD_DIR)/assets/objects/object_ge1/object_ge1.o" number 6 endseg beginseg name "object_yabusame_point" romalign 0x1000 - include "build/assets/objects/object_yabusame_point/object_yabusame_point.o" + include "$(BUILD_DIR)/assets/objects/object_yabusame_point/object_yabusame_point.o" number 6 endseg beginseg name "object_gi_boots_2" romalign 0x1000 - include "build/assets/objects/object_gi_boots_2/object_gi_boots_2.o" + include "$(BUILD_DIR)/assets/objects/object_gi_boots_2/object_gi_boots_2.o" number 6 endseg beginseg name "object_gi_seed" romalign 0x1000 - include "build/assets/objects/object_gi_seed/object_gi_seed.o" + include "$(BUILD_DIR)/assets/objects/object_gi_seed/object_gi_seed.o" number 6 endseg beginseg name "object_gnd_magic" romalign 0x1000 - include "build/assets/objects/object_gnd_magic/object_gnd_magic.o" + include "$(BUILD_DIR)/assets/objects/object_gnd_magic/object_gnd_magic.o" number 6 endseg beginseg name "object_d_elevator" romalign 0x1000 - include "build/assets/objects/object_d_elevator/object_d_elevator.o" + include "$(BUILD_DIR)/assets/objects/object_d_elevator/object_d_elevator.o" number 6 endseg beginseg name "object_d_hsblock" romalign 0x1000 - include "build/assets/objects/object_d_hsblock/object_d_hsblock.o" + include "$(BUILD_DIR)/assets/objects/object_d_hsblock/object_d_hsblock.o" number 6 endseg beginseg name "object_d_lift" romalign 0x1000 - include "build/assets/objects/object_d_lift/object_d_lift.o" + include "$(BUILD_DIR)/assets/objects/object_d_lift/object_d_lift.o" number 6 endseg beginseg name "object_mamenoki" romalign 0x1000 - include "build/assets/objects/object_mamenoki/object_mamenoki.o" + include "$(BUILD_DIR)/assets/objects/object_mamenoki/object_mamenoki.o" number 6 endseg beginseg name "object_goroiwa" romalign 0x1000 - include "build/assets/objects/object_goroiwa/object_goroiwa.o" + include "$(BUILD_DIR)/assets/objects/object_goroiwa/object_goroiwa.o" number 6 endseg beginseg name "object_toryo" romalign 0x1000 - include "build/assets/objects/object_toryo/object_toryo.o" + include "$(BUILD_DIR)/assets/objects/object_toryo/object_toryo.o" number 6 endseg beginseg name "object_daiku" romalign 0x1000 - include "build/assets/objects/object_daiku/object_daiku.o" + include "$(BUILD_DIR)/assets/objects/object_daiku/object_daiku.o" number 6 endseg beginseg name "object_nwc" romalign 0x1000 - include "build/assets/objects/object_nwc/object_nwc.o" + include "$(BUILD_DIR)/assets/objects/object_nwc/object_nwc.o" number 6 endseg beginseg name "object_blkobj" romalign 0x1000 - include "build/assets/objects/object_blkobj/object_blkobj.o" + include "$(BUILD_DIR)/assets/objects/object_blkobj/object_blkobj.o" number 6 endseg beginseg name "object_gm" romalign 0x1000 - include "build/assets/objects/object_gm/object_gm.o" + include "$(BUILD_DIR)/assets/objects/object_gm/object_gm.o" number 6 endseg beginseg name "object_ms" romalign 0x1000 - include "build/assets/objects/object_ms/object_ms.o" + include "$(BUILD_DIR)/assets/objects/object_ms/object_ms.o" number 6 endseg beginseg name "object_hs" romalign 0x1000 - include "build/assets/objects/object_hs/object_hs.o" + include "$(BUILD_DIR)/assets/objects/object_hs/object_hs.o" number 6 endseg beginseg name "object_ingate" romalign 0x1000 - include "build/assets/objects/object_ingate/object_ingate.o" + include "$(BUILD_DIR)/assets/objects/object_ingate/object_ingate.o" number 6 endseg beginseg name "object_lightswitch" romalign 0x1000 - include "build/assets/objects/object_lightswitch/object_lightswitch.o" + include "$(BUILD_DIR)/assets/objects/object_lightswitch/object_lightswitch.o" number 6 endseg beginseg name "object_kusa" romalign 0x1000 - include "build/assets/objects/object_kusa/object_kusa.o" + include "$(BUILD_DIR)/assets/objects/object_kusa/object_kusa.o" number 6 endseg beginseg name "object_tsubo" romalign 0x1000 - include "build/assets/objects/object_tsubo/object_tsubo.o" + include "$(BUILD_DIR)/assets/objects/object_tsubo/object_tsubo.o" number 6 endseg beginseg name "object_gi_gloves" romalign 0x1000 - include "build/assets/objects/object_gi_gloves/object_gi_gloves.o" + include "$(BUILD_DIR)/assets/objects/object_gi_gloves/object_gi_gloves.o" number 6 endseg beginseg name "object_gi_coin" romalign 0x1000 - include "build/assets/objects/object_gi_coin/object_gi_coin.o" + include "$(BUILD_DIR)/assets/objects/object_gi_coin/object_gi_coin.o" number 6 endseg beginseg name "object_kanban" romalign 0x1000 - include "build/assets/objects/object_kanban/object_kanban.o" + include "$(BUILD_DIR)/assets/objects/object_kanban/object_kanban.o" number 6 endseg beginseg name "object_gjyo_objects" romalign 0x1000 - include "build/assets/objects/object_gjyo_objects/object_gjyo_objects.o" + include "$(BUILD_DIR)/assets/objects/object_gjyo_objects/object_gjyo_objects.o" number 6 endseg beginseg name "object_owl" romalign 0x1000 - include "build/assets/objects/object_owl/object_owl.o" + include "$(BUILD_DIR)/assets/objects/object_owl/object_owl.o" number 6 endseg beginseg name "object_mk" romalign 0x1000 - include "build/assets/objects/object_mk/object_mk.o" + include "$(BUILD_DIR)/assets/objects/object_mk/object_mk.o" number 6 endseg beginseg name "object_fu" romalign 0x1000 - include "build/assets/objects/object_fu/object_fu.o" + include "$(BUILD_DIR)/assets/objects/object_fu/object_fu.o" number 6 endseg beginseg name "object_gi_ki_tan_mask" romalign 0x1000 - include "build/assets/objects/object_gi_ki_tan_mask/object_gi_ki_tan_mask.o" + include "$(BUILD_DIR)/assets/objects/object_gi_ki_tan_mask/object_gi_ki_tan_mask.o" number 6 endseg beginseg name "object_gi_redead_mask" romalign 0x1000 - include "build/assets/objects/object_gi_redead_mask/object_gi_redead_mask.o" + include "$(BUILD_DIR)/assets/objects/object_gi_redead_mask/object_gi_redead_mask.o" number 6 endseg beginseg name "object_gi_skj_mask" romalign 0x1000 - include "build/assets/objects/object_gi_skj_mask/object_gi_skj_mask.o" + include "$(BUILD_DIR)/assets/objects/object_gi_skj_mask/object_gi_skj_mask.o" number 6 endseg beginseg name "object_gi_rabit_mask" romalign 0x1000 - include "build/assets/objects/object_gi_rabit_mask/object_gi_rabit_mask.o" + include "$(BUILD_DIR)/assets/objects/object_gi_rabit_mask/object_gi_rabit_mask.o" number 6 endseg beginseg name "object_gi_truth_mask" romalign 0x1000 - include "build/assets/objects/object_gi_truth_mask/object_gi_truth_mask.o" + include "$(BUILD_DIR)/assets/objects/object_gi_truth_mask/object_gi_truth_mask.o" number 6 endseg beginseg name "object_ganon_objects" romalign 0x1000 - include "build/assets/objects/object_ganon_objects/object_ganon_objects.o" + include "$(BUILD_DIR)/assets/objects/object_ganon_objects/object_ganon_objects.o" number 6 endseg beginseg name "object_siofuki" romalign 0x1000 - include "build/assets/objects/object_siofuki/object_siofuki.o" + include "$(BUILD_DIR)/assets/objects/object_siofuki/object_siofuki.o" number 6 endseg beginseg name "object_stream" romalign 0x1000 - include "build/assets/objects/object_stream/object_stream.o" + include "$(BUILD_DIR)/assets/objects/object_stream/object_stream.o" number 6 endseg beginseg name "object_mm" romalign 0x1000 - include "build/assets/objects/object_mm/object_mm.o" + include "$(BUILD_DIR)/assets/objects/object_mm/object_mm.o" number 6 endseg beginseg name "object_fa" romalign 0x1000 - include "build/assets/objects/object_fa/object_fa.o" + include "$(BUILD_DIR)/assets/objects/object_fa/object_fa.o" number 6 endseg beginseg name "object_os" romalign 0x1000 - include "build/assets/objects/object_os/object_os.o" + include "$(BUILD_DIR)/assets/objects/object_os/object_os.o" number 6 endseg beginseg name "object_gi_eye_lotion" romalign 0x1000 - include "build/assets/objects/object_gi_eye_lotion/object_gi_eye_lotion.o" + include "$(BUILD_DIR)/assets/objects/object_gi_eye_lotion/object_gi_eye_lotion.o" number 6 endseg beginseg name "object_gi_powder" romalign 0x1000 - include "build/assets/objects/object_gi_powder/object_gi_powder.o" + include "$(BUILD_DIR)/assets/objects/object_gi_powder/object_gi_powder.o" number 6 endseg beginseg name "object_gi_mushroom" romalign 0x1000 - include "build/assets/objects/object_gi_mushroom/object_gi_mushroom.o" + include "$(BUILD_DIR)/assets/objects/object_gi_mushroom/object_gi_mushroom.o" number 6 endseg beginseg name "object_gi_ticketstone" romalign 0x1000 - include "build/assets/objects/object_gi_ticketstone/object_gi_ticketstone.o" + include "$(BUILD_DIR)/assets/objects/object_gi_ticketstone/object_gi_ticketstone.o" number 6 endseg beginseg name "object_gi_brokensword" romalign 0x1000 - include "build/assets/objects/object_gi_brokensword/object_gi_brokensword.o" + include "$(BUILD_DIR)/assets/objects/object_gi_brokensword/object_gi_brokensword.o" number 6 endseg beginseg name "object_js" romalign 0x1000 - include "build/assets/objects/object_js/object_js.o" + include "$(BUILD_DIR)/assets/objects/object_js/object_js.o" number 6 endseg beginseg name "object_cs" romalign 0x1000 - include "build/assets/objects/object_cs/object_cs.o" + include "$(BUILD_DIR)/assets/objects/object_cs/object_cs.o" number 6 endseg beginseg name "object_gi_prescription" romalign 0x1000 - include "build/assets/objects/object_gi_prescription/object_gi_prescription.o" + include "$(BUILD_DIR)/assets/objects/object_gi_prescription/object_gi_prescription.o" number 6 endseg beginseg name "object_gi_bracelet" romalign 0x1000 - include "build/assets/objects/object_gi_bracelet/object_gi_bracelet.o" + include "$(BUILD_DIR)/assets/objects/object_gi_bracelet/object_gi_bracelet.o" number 6 endseg beginseg name "object_gi_soldout" romalign 0x1000 - include "build/assets/objects/object_gi_soldout/object_gi_soldout.o" + include "$(BUILD_DIR)/assets/objects/object_gi_soldout/object_gi_soldout.o" number 6 endseg beginseg name "object_gi_frog" romalign 0x1000 - include "build/assets/objects/object_gi_frog/object_gi_frog.o" + include "$(BUILD_DIR)/assets/objects/object_gi_frog/object_gi_frog.o" number 6 endseg beginseg name "object_mag" romalign 0x1000 - include "build/assets/objects/object_mag/object_mag.o" + include "$(BUILD_DIR)/assets/objects/object_mag/object_mag.o" number 6 endseg beginseg name "object_door_gerudo" romalign 0x1000 - include "build/assets/objects/object_door_gerudo/object_door_gerudo.o" + include "$(BUILD_DIR)/assets/objects/object_door_gerudo/object_door_gerudo.o" number 6 endseg beginseg name "object_gt" romalign 0x1000 - include "build/assets/objects/object_gt/object_gt.o" + include "$(BUILD_DIR)/assets/objects/object_gt/object_gt.o" number 6 endseg beginseg name "object_efc_erupc" romalign 0x1000 - include "build/assets/objects/object_efc_erupc/object_efc_erupc.o" + include "$(BUILD_DIR)/assets/objects/object_efc_erupc/object_efc_erupc.o" number 6 endseg beginseg name "object_zl2_anime1" romalign 0x1000 - include "build/assets/objects/object_zl2_anime1/object_zl2_anime1.o" + include "$(BUILD_DIR)/assets/objects/object_zl2_anime1/object_zl2_anime1.o" number 6 endseg beginseg name "object_zl2_anime2" romalign 0x1000 - include "build/assets/objects/object_zl2_anime2/object_zl2_anime2.o" + include "$(BUILD_DIR)/assets/objects/object_zl2_anime2/object_zl2_anime2.o" number 6 endseg beginseg name "object_gi_golonmask" romalign 0x1000 - include "build/assets/objects/object_gi_golonmask/object_gi_golonmask.o" + include "$(BUILD_DIR)/assets/objects/object_gi_golonmask/object_gi_golonmask.o" number 6 endseg beginseg name "object_gi_zoramask" romalign 0x1000 - include "build/assets/objects/object_gi_zoramask/object_gi_zoramask.o" + include "$(BUILD_DIR)/assets/objects/object_gi_zoramask/object_gi_zoramask.o" number 6 endseg beginseg name "object_gi_gerudomask" romalign 0x1000 - include "build/assets/objects/object_gi_gerudomask/object_gi_gerudomask.o" + include "$(BUILD_DIR)/assets/objects/object_gi_gerudomask/object_gi_gerudomask.o" number 6 endseg beginseg name "object_ganon2" romalign 0x1000 - include "build/assets/objects/object_ganon2/object_ganon2.o" + include "$(BUILD_DIR)/assets/objects/object_ganon2/object_ganon2.o" number 6 endseg beginseg name "object_ka" romalign 0x1000 - include "build/assets/objects/object_ka/object_ka.o" + include "$(BUILD_DIR)/assets/objects/object_ka/object_ka.o" number 6 endseg beginseg name "object_ts" romalign 0x1000 - include "build/assets/objects/object_ts/object_ts.o" + include "$(BUILD_DIR)/assets/objects/object_ts/object_ts.o" number 6 endseg beginseg name "object_zg" romalign 0x1000 - include "build/assets/objects/object_zg/object_zg.o" + include "$(BUILD_DIR)/assets/objects/object_zg/object_zg.o" number 6 endseg beginseg name "object_gi_hoverboots" romalign 0x1000 - include "build/assets/objects/object_gi_hoverboots/object_gi_hoverboots.o" + include "$(BUILD_DIR)/assets/objects/object_gi_hoverboots/object_gi_hoverboots.o" number 6 endseg beginseg name "object_gi_m_arrow" romalign 0x1000 - include "build/assets/objects/object_gi_m_arrow/object_gi_m_arrow.o" + include "$(BUILD_DIR)/assets/objects/object_gi_m_arrow/object_gi_m_arrow.o" number 6 endseg beginseg name "object_ds2" romalign 0x1000 - include "build/assets/objects/object_ds2/object_ds2.o" + include "$(BUILD_DIR)/assets/objects/object_ds2/object_ds2.o" number 6 endseg beginseg name "object_ec" romalign 0x1000 - include "build/assets/objects/object_ec/object_ec.o" + include "$(BUILD_DIR)/assets/objects/object_ec/object_ec.o" number 6 endseg beginseg name "object_fish" romalign 0x1000 - include "build/assets/objects/object_fish/object_fish.o" + include "$(BUILD_DIR)/assets/objects/object_fish/object_fish.o" number 6 endseg beginseg name "object_gi_sutaru" romalign 0x1000 - include "build/assets/objects/object_gi_sutaru/object_gi_sutaru.o" + include "$(BUILD_DIR)/assets/objects/object_gi_sutaru/object_gi_sutaru.o" number 6 endseg beginseg name "object_gi_goddess" romalign 0x1000 - include "build/assets/objects/object_gi_goddess/object_gi_goddess.o" + include "$(BUILD_DIR)/assets/objects/object_gi_goddess/object_gi_goddess.o" number 6 endseg beginseg name "object_ssh" romalign 0x1000 - include "build/assets/objects/object_ssh/object_ssh.o" + include "$(BUILD_DIR)/assets/objects/object_ssh/object_ssh.o" number 6 endseg beginseg name "object_bigokuta" romalign 0x1000 - include "build/assets/objects/object_bigokuta/object_bigokuta.o" + include "$(BUILD_DIR)/assets/objects/object_bigokuta/object_bigokuta.o" number 6 endseg beginseg name "object_bg" romalign 0x1000 - include "build/assets/objects/object_bg/object_bg.o" + include "$(BUILD_DIR)/assets/objects/object_bg/object_bg.o" number 6 endseg beginseg name "object_spot05_objects" romalign 0x1000 - include "build/assets/objects/object_spot05_objects/object_spot05_objects.o" + include "$(BUILD_DIR)/assets/objects/object_spot05_objects/object_spot05_objects.o" number 6 endseg beginseg name "object_spot12_obj" romalign 0x1000 - include "build/assets/objects/object_spot12_obj/object_spot12_obj.o" + include "$(BUILD_DIR)/assets/objects/object_spot12_obj/object_spot12_obj.o" number 6 endseg beginseg name "object_bombiwa" romalign 0x1000 - include "build/assets/objects/object_bombiwa/object_bombiwa.o" + include "$(BUILD_DIR)/assets/objects/object_bombiwa/object_bombiwa.o" number 6 endseg beginseg name "object_hintnuts" romalign 0x1000 - include "build/assets/objects/object_hintnuts/object_hintnuts.o" + include "$(BUILD_DIR)/assets/objects/object_hintnuts/object_hintnuts.o" number 6 endseg beginseg name "object_rs" romalign 0x1000 - include "build/assets/objects/object_rs/object_rs.o" + include "$(BUILD_DIR)/assets/objects/object_rs/object_rs.o" number 6 endseg beginseg name "object_spot00_break" romalign 0x1000 - include "build/assets/objects/object_spot00_break/object_spot00_break.o" + include "$(BUILD_DIR)/assets/objects/object_spot00_break/object_spot00_break.o" number 6 endseg beginseg name "object_gla" romalign 0x1000 - include "build/assets/objects/object_gla/object_gla.o" + include "$(BUILD_DIR)/assets/objects/object_gla/object_gla.o" number 6 endseg beginseg name "object_shopnuts" romalign 0x1000 - include "build/assets/objects/object_shopnuts/object_shopnuts.o" + include "$(BUILD_DIR)/assets/objects/object_shopnuts/object_shopnuts.o" number 6 endseg beginseg name "object_geldb" romalign 0x1000 - include "build/assets/objects/object_geldb/object_geldb.o" + include "$(BUILD_DIR)/assets/objects/object_geldb/object_geldb.o" number 6 endseg beginseg name "object_gr" romalign 0x1000 - include "build/assets/objects/object_gr/object_gr.o" + include "$(BUILD_DIR)/assets/objects/object_gr/object_gr.o" number 6 endseg beginseg name "object_dog" romalign 0x1000 - include "build/assets/objects/object_dog/object_dog.o" + include "$(BUILD_DIR)/assets/objects/object_dog/object_dog.o" number 6 endseg beginseg name "object_jya_iron" romalign 0x1000 - include "build/assets/objects/object_jya_iron/object_jya_iron.o" + include "$(BUILD_DIR)/assets/objects/object_jya_iron/object_jya_iron.o" number 6 endseg beginseg name "object_jya_door" romalign 0x1000 - include "build/assets/objects/object_jya_door/object_jya_door.o" + include "$(BUILD_DIR)/assets/objects/object_jya_door/object_jya_door.o" number 6 endseg beginseg name "object_spot01_objects2" romalign 0x1000 - include "build/assets/objects/object_spot01_objects2/object_spot01_objects2.o" + include "$(BUILD_DIR)/assets/objects/object_spot01_objects2/object_spot01_objects2.o" number 6 endseg beginseg name "object_spot11_obj" romalign 0x1000 - include "build/assets/objects/object_spot11_obj/object_spot11_obj.o" + include "$(BUILD_DIR)/assets/objects/object_spot11_obj/object_spot11_obj.o" number 6 endseg beginseg name "object_kibako2" romalign 0x1000 - include "build/assets/objects/object_kibako2/object_kibako2.o" + include "$(BUILD_DIR)/assets/objects/object_kibako2/object_kibako2.o" number 6 endseg beginseg name "object_dns" romalign 0x1000 - include "build/assets/objects/object_dns/object_dns.o" + include "$(BUILD_DIR)/assets/objects/object_dns/object_dns.o" number 6 endseg beginseg name "object_dnk" romalign 0x1000 - include "build/assets/objects/object_dnk/object_dnk.o" + include "$(BUILD_DIR)/assets/objects/object_dnk/object_dnk.o" number 6 endseg beginseg name "object_gi_fire" romalign 0x1000 - include "build/assets/objects/object_gi_fire/object_gi_fire.o" + include "$(BUILD_DIR)/assets/objects/object_gi_fire/object_gi_fire.o" number 6 endseg beginseg name "object_gi_insect" romalign 0x1000 - include "build/assets/objects/object_gi_insect/object_gi_insect.o" + include "$(BUILD_DIR)/assets/objects/object_gi_insect/object_gi_insect.o" number 6 endseg beginseg name "object_gi_butterfly" romalign 0x1000 - include "build/assets/objects/object_gi_butterfly/object_gi_butterfly.o" + include "$(BUILD_DIR)/assets/objects/object_gi_butterfly/object_gi_butterfly.o" number 6 endseg beginseg name "object_gi_ghost" romalign 0x1000 - include "build/assets/objects/object_gi_ghost/object_gi_ghost.o" + include "$(BUILD_DIR)/assets/objects/object_gi_ghost/object_gi_ghost.o" number 6 endseg beginseg name "object_gi_soul" romalign 0x1000 - include "build/assets/objects/object_gi_soul/object_gi_soul.o" + include "$(BUILD_DIR)/assets/objects/object_gi_soul/object_gi_soul.o" number 6 endseg beginseg name "object_bowl" romalign 0x1000 - include "build/assets/objects/object_bowl/object_bowl.o" + include "$(BUILD_DIR)/assets/objects/object_bowl/object_bowl.o" number 6 endseg beginseg name "object_po_field" romalign 0x1000 - include "build/assets/objects/object_po_field/object_po_field.o" + include "$(BUILD_DIR)/assets/objects/object_po_field/object_po_field.o" number 6 endseg beginseg name "object_demo_kekkai" romalign 0x1000 - include "build/assets/objects/object_demo_kekkai/object_demo_kekkai.o" + include "$(BUILD_DIR)/assets/objects/object_demo_kekkai/object_demo_kekkai.o" number 6 endseg beginseg name "object_efc_doughnut" romalign 0x1000 - include "build/assets/objects/object_efc_doughnut/object_efc_doughnut.o" + include "$(BUILD_DIR)/assets/objects/object_efc_doughnut/object_efc_doughnut.o" number 6 endseg beginseg name "object_gi_dekupouch" romalign 0x1000 - include "build/assets/objects/object_gi_dekupouch/object_gi_dekupouch.o" + include "$(BUILD_DIR)/assets/objects/object_gi_dekupouch/object_gi_dekupouch.o" number 6 endseg beginseg name "object_ganon_anime1" romalign 0x1000 - include "build/assets/objects/object_ganon_anime1/object_ganon_anime1.o" + include "$(BUILD_DIR)/assets/objects/object_ganon_anime1/object_ganon_anime1.o" number 6 endseg beginseg name "object_ganon_anime2" romalign 0x1000 - include "build/assets/objects/object_ganon_anime2/object_ganon_anime2.o" + include "$(BUILD_DIR)/assets/objects/object_ganon_anime2/object_ganon_anime2.o" number 6 endseg beginseg name "object_ganon_anime3" romalign 0x1000 - include "build/assets/objects/object_ganon_anime3/object_ganon_anime3.o" + include "$(BUILD_DIR)/assets/objects/object_ganon_anime3/object_ganon_anime3.o" number 6 endseg beginseg name "object_gi_rupy" romalign 0x1000 - include "build/assets/objects/object_gi_rupy/object_gi_rupy.o" + include "$(BUILD_DIR)/assets/objects/object_gi_rupy/object_gi_rupy.o" number 6 endseg beginseg name "object_spot01_matoya" romalign 0x1000 - include "build/assets/objects/object_spot01_matoya/object_spot01_matoya.o" + include "$(BUILD_DIR)/assets/objects/object_spot01_matoya/object_spot01_matoya.o" number 6 endseg beginseg name "object_spot01_matoyab" romalign 0x1000 - include "build/assets/objects/object_spot01_matoyab/object_spot01_matoyab.o" + include "$(BUILD_DIR)/assets/objects/object_spot01_matoyab/object_spot01_matoyab.o" number 6 endseg beginseg name "object_po_composer" romalign 0x1000 - include "build/assets/objects/object_po_composer/object_po_composer.o" + include "$(BUILD_DIR)/assets/objects/object_po_composer/object_po_composer.o" number 6 endseg beginseg name "object_mu" romalign 0x1000 - include "build/assets/objects/object_mu/object_mu.o" + include "$(BUILD_DIR)/assets/objects/object_mu/object_mu.o" number 6 endseg beginseg name "object_wf" romalign 0x1000 - include "build/assets/objects/object_wf/object_wf.o" + include "$(BUILD_DIR)/assets/objects/object_wf/object_wf.o" number 6 endseg beginseg name "object_skb" romalign 0x1000 - include "build/assets/objects/object_skb/object_skb.o" + include "$(BUILD_DIR)/assets/objects/object_skb/object_skb.o" number 6 endseg beginseg name "object_gj" romalign 0x1000 - include "build/assets/objects/object_gj/object_gj.o" + include "$(BUILD_DIR)/assets/objects/object_gj/object_gj.o" number 6 endseg beginseg name "object_geff" romalign 0x1000 - include "build/assets/objects/object_geff/object_geff.o" + include "$(BUILD_DIR)/assets/objects/object_geff/object_geff.o" number 6 endseg beginseg name "object_haka_door" romalign 0x1000 - include "build/assets/objects/object_haka_door/object_haka_door.o" + include "$(BUILD_DIR)/assets/objects/object_haka_door/object_haka_door.o" number 6 endseg beginseg name "object_gs" romalign 0x1000 - include "build/assets/objects/object_gs/object_gs.o" + include "$(BUILD_DIR)/assets/objects/object_gs/object_gs.o" number 6 endseg beginseg name "object_ps" romalign 0x1000 - include "build/assets/objects/object_ps/object_ps.o" + include "$(BUILD_DIR)/assets/objects/object_ps/object_ps.o" number 6 endseg beginseg name "object_bwall" romalign 0x1000 - include "build/assets/objects/object_bwall/object_bwall.o" + include "$(BUILD_DIR)/assets/objects/object_bwall/object_bwall.o" number 6 endseg beginseg name "object_crow" romalign 0x1000 - include "build/assets/objects/object_crow/object_crow.o" + include "$(BUILD_DIR)/assets/objects/object_crow/object_crow.o" number 6 endseg beginseg name "object_cow" romalign 0x1000 - include "build/assets/objects/object_cow/object_cow.o" + include "$(BUILD_DIR)/assets/objects/object_cow/object_cow.o" number 6 endseg beginseg name "object_cob" romalign 0x1000 - include "build/assets/objects/object_cob/object_cob.o" + include "$(BUILD_DIR)/assets/objects/object_cob/object_cob.o" number 6 endseg beginseg name "object_gi_sword_1" romalign 0x1000 - include "build/assets/objects/object_gi_sword_1/object_gi_sword_1.o" + include "$(BUILD_DIR)/assets/objects/object_gi_sword_1/object_gi_sword_1.o" number 6 endseg beginseg name "object_door_killer" romalign 0x1000 - include "build/assets/objects/object_door_killer/object_door_killer.o" + include "$(BUILD_DIR)/assets/objects/object_door_killer/object_door_killer.o" number 6 endseg beginseg name "object_ouke_haka" romalign 0x1000 - include "build/assets/objects/object_ouke_haka/object_ouke_haka.o" + include "$(BUILD_DIR)/assets/objects/object_ouke_haka/object_ouke_haka.o" number 6 endseg beginseg name "object_timeblock" romalign 0x1000 - include "build/assets/objects/object_timeblock/object_timeblock.o" + include "$(BUILD_DIR)/assets/objects/object_timeblock/object_timeblock.o" number 6 endseg beginseg name "object_zl4" romalign 0x1000 - include "build/assets/objects/object_zl4/object_zl4.o" + include "$(BUILD_DIR)/assets/objects/object_zl4/object_zl4.o" number 6 endseg beginseg name "g_pn_01" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_01.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_01.o" endseg beginseg name "g_pn_02" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_02.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_02.o" endseg beginseg name "g_pn_03" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_03.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_03.o" endseg beginseg name "g_pn_04" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_04.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_04.o" endseg beginseg name "g_pn_05" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_05.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_05.o" endseg beginseg name "g_pn_06" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_06.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_06.o" endseg beginseg name "g_pn_07" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_07.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_07.o" endseg beginseg name "g_pn_08" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_08.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_08.o" endseg beginseg name "g_pn_09" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_09.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_09.o" endseg beginseg name "g_pn_10" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_10.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_10.o" endseg beginseg name "g_pn_11" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_11.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_11.o" endseg beginseg name "g_pn_12" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_12.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_12.o" endseg beginseg name "g_pn_13" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_13.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_13.o" endseg beginseg name "g_pn_14" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_14.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_14.o" endseg beginseg name "g_pn_15" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_15.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_15.o" endseg beginseg name "g_pn_16" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_16.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_16.o" endseg beginseg name "g_pn_17" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_17.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_17.o" endseg beginseg name "g_pn_18" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_18.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_18.o" endseg beginseg name "g_pn_19" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_19.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_19.o" endseg beginseg name "g_pn_20" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_20.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_20.o" endseg beginseg name "g_pn_21" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_21.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_21.o" endseg beginseg name "g_pn_22" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_22.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_22.o" endseg beginseg name "g_pn_23" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_23.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_23.o" endseg beginseg name "g_pn_24" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_24.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_24.o" endseg beginseg name "g_pn_25" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_25.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_25.o" endseg beginseg name "g_pn_26" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_26.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_26.o" endseg beginseg name "g_pn_27" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_27.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_27.o" endseg beginseg name "g_pn_28" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_28.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_28.o" endseg beginseg name "g_pn_29" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_29.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_29.o" endseg beginseg name "g_pn_30" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_30.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_30.o" endseg beginseg name "g_pn_31" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_31.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_31.o" endseg beginseg name "g_pn_32" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_32.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_32.o" endseg beginseg name "g_pn_33" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_33.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_33.o" endseg beginseg name "g_pn_34" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_34.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_34.o" endseg beginseg name "g_pn_35" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_35.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_35.o" endseg beginseg name "g_pn_36" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_36.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_36.o" endseg beginseg name "g_pn_37" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_37.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_37.o" endseg beginseg name "g_pn_38" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_38.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_38.o" endseg beginseg name "g_pn_39" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_39.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_39.o" endseg beginseg name "g_pn_40" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_40.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_40.o" endseg beginseg name "g_pn_41" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_41.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_41.o" endseg beginseg name "g_pn_42" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_42.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_42.o" endseg beginseg name "g_pn_43" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_43.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_43.o" endseg beginseg name "g_pn_44" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_44.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_44.o" endseg beginseg name "g_pn_45" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_45.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_45.o" endseg beginseg name "g_pn_46" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_46.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_46.o" endseg beginseg name "g_pn_47" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_47.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_47.o" endseg beginseg name "g_pn_48" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_48.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_48.o" endseg beginseg name "g_pn_49" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_49.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_49.o" endseg beginseg name "g_pn_50" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_50.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_50.o" endseg beginseg name "g_pn_51" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_51.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_51.o" endseg beginseg name "g_pn_52" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_52.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_52.o" endseg beginseg name "g_pn_53" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_53.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_53.o" endseg beginseg name "g_pn_54" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_54.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_54.o" endseg beginseg name "g_pn_55" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_55.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_55.o" endseg beginseg name "g_pn_56" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_56.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_56.o" endseg beginseg name "g_pn_57" romalign 0x1000 - include "build/assets/textures/place_title_cards/g_pn_57.o" + include "$(BUILD_DIR)/assets/textures/place_title_cards/g_pn_57.o" endseg beginseg name "z_select_static" romalign 0x1000 - include "build/assets/misc/z_select_static/z_select_static.o" + include "$(BUILD_DIR)/assets/misc/z_select_static/z_select_static.o" number 1 endseg beginseg name "nintendo_rogo_static" romalign 0x1000 - include "build/assets/textures/nintendo_rogo_static/nintendo_rogo_static.o" + include "$(BUILD_DIR)/assets/textures/nintendo_rogo_static/nintendo_rogo_static.o" number 1 endseg beginseg name "title_static" romalign 0x1000 - include "build/assets/textures/title_static/title_static.o" + include "$(BUILD_DIR)/assets/textures/title_static/title_static.o" number 1 endseg beginseg name "parameter_static" romalign 0x1000 - include "build/assets/textures/parameter_static/parameter_static.o" + include "$(BUILD_DIR)/assets/textures/parameter_static/parameter_static.o" number 2 endseg beginseg name "vr_fine0_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_fine0_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_fine0_static.o" endseg beginseg name "vr_fine0_pal_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_fine0_pal_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_fine0_pal_static.o" endseg beginseg name "vr_fine1_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_fine1_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_fine1_static.o" endseg beginseg name "vr_fine1_pal_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_fine1_pal_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_fine1_pal_static.o" endseg beginseg name "vr_fine2_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_fine2_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_fine2_static.o" endseg beginseg name "vr_fine2_pal_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_fine2_pal_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_fine2_pal_static.o" endseg beginseg name "vr_fine3_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_fine3_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_fine3_static.o" endseg beginseg name "vr_fine3_pal_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_fine3_pal_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_fine3_pal_static.o" endseg beginseg name "vr_cloud0_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_cloud0_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_cloud0_static.o" endseg beginseg name "vr_cloud0_pal_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_cloud0_pal_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_cloud0_pal_static.o" endseg beginseg name "vr_cloud1_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_cloud1_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_cloud1_static.o" endseg beginseg name "vr_cloud1_pal_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_cloud1_pal_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_cloud1_pal_static.o" endseg beginseg name "vr_cloud2_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_cloud2_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_cloud2_static.o" endseg beginseg name "vr_cloud2_pal_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_cloud2_pal_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_cloud2_pal_static.o" endseg beginseg name "vr_cloud3_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_cloud3_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_cloud3_static.o" endseg beginseg name "vr_cloud3_pal_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_cloud3_pal_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_cloud3_pal_static.o" endseg beginseg name "vr_holy0_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_holy0_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_holy0_static.o" endseg beginseg name "vr_holy0_pal_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_holy0_pal_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_holy0_pal_static.o" endseg beginseg name "vr_holy1_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_holy1_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_holy1_static.o" endseg beginseg name "vr_holy1_pal_static" romalign 0x1000 - include "build/assets/textures/skyboxes/vr_holy1_pal_static.o" + include "$(BUILD_DIR)/assets/textures/skyboxes/vr_holy1_pal_static.o" endseg beginseg name "vr_MDVR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_MDVR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_MDVR_static.o" endseg beginseg name "vr_MDVR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_MDVR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_MDVR_pal_static.o" endseg beginseg name "vr_MNVR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_MNVR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_MNVR_static.o" endseg beginseg name "vr_MNVR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_MNVR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_MNVR_pal_static.o" endseg beginseg name "vr_RUVR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_RUVR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_RUVR_static.o" endseg beginseg name "vr_RUVR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_RUVR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_RUVR_pal_static.o" endseg beginseg name "vr_LHVR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_LHVR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_LHVR_static.o" endseg beginseg name "vr_LHVR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_LHVR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_LHVR_pal_static.o" endseg beginseg name "vr_KHVR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_KHVR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_KHVR_static.o" endseg beginseg name "vr_KHVR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_KHVR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_KHVR_pal_static.o" endseg beginseg name "vr_K3VR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_K3VR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_K3VR_static.o" endseg beginseg name "vr_K3VR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_K3VR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_K3VR_pal_static.o" endseg beginseg name "vr_K4VR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_K4VR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_K4VR_static.o" endseg beginseg name "vr_K4VR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_K4VR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_K4VR_pal_static.o" endseg beginseg name "vr_K5VR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_K5VR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_K5VR_static.o" endseg beginseg name "vr_K5VR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_K5VR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_K5VR_pal_static.o" endseg beginseg name "vr_SP1a_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_SP1a_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_SP1a_static.o" endseg beginseg name "vr_SP1a_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_SP1a_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_SP1a_pal_static.o" endseg beginseg name "vr_MLVR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_MLVR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_MLVR_static.o" endseg beginseg name "vr_MLVR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_MLVR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_MLVR_pal_static.o" endseg beginseg name "vr_KKRVR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_KKRVR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_KKRVR_static.o" endseg beginseg name "vr_KKRVR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_KKRVR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_KKRVR_pal_static.o" endseg beginseg name "vr_KR3VR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_KR3VR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_KR3VR_static.o" endseg beginseg name "vr_KR3VR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_KR3VR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_KR3VR_pal_static.o" endseg beginseg name "vr_IPVR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_IPVR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_IPVR_static.o" endseg beginseg name "vr_IPVR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_IPVR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_IPVR_pal_static.o" endseg beginseg name "vr_KSVR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_KSVR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_KSVR_static.o" endseg beginseg name "vr_KSVR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_KSVR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_KSVR_pal_static.o" endseg beginseg name "vr_GLVR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_GLVR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_GLVR_static.o" endseg beginseg name "vr_GLVR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_GLVR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_GLVR_pal_static.o" endseg beginseg name "vr_ZRVR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_ZRVR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_ZRVR_static.o" endseg beginseg name "vr_ZRVR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_ZRVR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_ZRVR_pal_static.o" endseg beginseg name "vr_DGVR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_DGVR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_DGVR_static.o" endseg beginseg name "vr_DGVR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_DGVR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_DGVR_pal_static.o" endseg beginseg name "vr_ALVR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_ALVR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_ALVR_static.o" endseg beginseg name "vr_ALVR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_ALVR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_ALVR_pal_static.o" endseg beginseg name "vr_NSVR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_NSVR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_NSVR_static.o" endseg beginseg name "vr_NSVR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_NSVR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_NSVR_pal_static.o" endseg beginseg name "vr_LBVR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_LBVR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_LBVR_static.o" endseg beginseg name "vr_LBVR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_LBVR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_LBVR_pal_static.o" endseg beginseg name "vr_TTVR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_TTVR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_TTVR_static.o" endseg beginseg name "vr_TTVR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_TTVR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_TTVR_pal_static.o" endseg beginseg name "vr_FCVR_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_FCVR_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_FCVR_static.o" endseg beginseg name "vr_FCVR_pal_static" romalign 0x1000 - include "build/assets/textures/backgrounds/vr_FCVR_pal_static.o" + include "$(BUILD_DIR)/assets/textures/backgrounds/vr_FCVR_pal_static.o" endseg beginseg name "elf_message_field" romalign 0x1000 - include "build/src/elf_message/elf_message_field.o" + include "$(BUILD_DIR)/src/elf_message/elf_message_field.o" number 0 endseg beginseg name "elf_message_ydan" romalign 0x1000 - include "build/src/elf_message/elf_message_ydan.o" + include "$(BUILD_DIR)/src/elf_message/elf_message_ydan.o" number 0 endseg beginseg name "ydan_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/ydan/ydan_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ydan/ydan_scene.o" number 2 endseg beginseg name "ydan_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/ydan/ydan_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ydan/ydan_room_0.o" number 3 endseg beginseg name "ydan_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/ydan/ydan_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ydan/ydan_room_1.o" number 3 endseg beginseg name "ydan_room_2" romalign 0x1000 - include "build/assets/scenes/dungeons/ydan/ydan_room_2.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ydan/ydan_room_2.o" number 3 endseg beginseg name "ydan_room_3" romalign 0x1000 - include "build/assets/scenes/dungeons/ydan/ydan_room_3.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ydan/ydan_room_3.o" number 3 endseg beginseg name "ydan_room_4" romalign 0x1000 - include "build/assets/scenes/dungeons/ydan/ydan_room_4.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ydan/ydan_room_4.o" number 3 endseg beginseg name "ydan_room_5" romalign 0x1000 - include "build/assets/scenes/dungeons/ydan/ydan_room_5.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ydan/ydan_room_5.o" number 3 endseg beginseg name "ydan_room_6" romalign 0x1000 - include "build/assets/scenes/dungeons/ydan/ydan_room_6.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ydan/ydan_room_6.o" number 3 endseg beginseg name "ydan_room_7" romalign 0x1000 - include "build/assets/scenes/dungeons/ydan/ydan_room_7.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ydan/ydan_room_7.o" number 3 endseg beginseg name "ydan_room_8" romalign 0x1000 - include "build/assets/scenes/dungeons/ydan/ydan_room_8.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ydan/ydan_room_8.o" number 3 endseg beginseg name "ydan_room_9" romalign 0x1000 - include "build/assets/scenes/dungeons/ydan/ydan_room_9.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ydan/ydan_room_9.o" number 3 endseg beginseg name "ydan_room_10" romalign 0x1000 - include "build/assets/scenes/dungeons/ydan/ydan_room_10.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ydan/ydan_room_10.o" number 3 endseg beginseg name "ydan_room_11" romalign 0x1000 - include "build/assets/scenes/dungeons/ydan/ydan_room_11.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ydan/ydan_room_11.o" number 3 endseg beginseg name "ddan_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan/ddan_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan/ddan_scene.o" number 2 endseg beginseg name "ddan_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan/ddan_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan/ddan_room_0.o" number 3 endseg beginseg name "ddan_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan/ddan_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan/ddan_room_1.o" number 3 endseg beginseg name "ddan_room_2" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan/ddan_room_2.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan/ddan_room_2.o" number 3 endseg beginseg name "ddan_room_3" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan/ddan_room_3.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan/ddan_room_3.o" number 3 endseg beginseg name "ddan_room_4" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan/ddan_room_4.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan/ddan_room_4.o" number 3 endseg beginseg name "ddan_room_5" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan/ddan_room_5.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan/ddan_room_5.o" number 3 endseg beginseg name "ddan_room_6" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan/ddan_room_6.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan/ddan_room_6.o" number 3 endseg beginseg name "ddan_room_7" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan/ddan_room_7.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan/ddan_room_7.o" number 3 endseg beginseg name "ddan_room_8" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan/ddan_room_8.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan/ddan_room_8.o" number 3 endseg beginseg name "ddan_room_9" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan/ddan_room_9.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan/ddan_room_9.o" number 3 endseg beginseg name "ddan_room_10" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan/ddan_room_10.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan/ddan_room_10.o" number 3 endseg beginseg name "ddan_room_11" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan/ddan_room_11.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan/ddan_room_11.o" number 3 endseg beginseg name "ddan_room_12" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan/ddan_room_12.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan/ddan_room_12.o" number 3 endseg beginseg name "ddan_room_13" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan/ddan_room_13.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan/ddan_room_13.o" number 3 endseg beginseg name "ddan_room_14" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan/ddan_room_14.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan/ddan_room_14.o" number 3 endseg beginseg name "ddan_room_15" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan/ddan_room_15.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan/ddan_room_15.o" number 3 endseg beginseg name "ddan_room_16" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan/ddan_room_16.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan/ddan_room_16.o" number 3 endseg beginseg name "bdan_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan/bdan_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan/bdan_scene.o" number 2 endseg beginseg name "bdan_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan/bdan_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan/bdan_room_0.o" number 3 endseg beginseg name "bdan_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan/bdan_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan/bdan_room_1.o" number 3 endseg beginseg name "bdan_room_2" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan/bdan_room_2.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan/bdan_room_2.o" number 3 endseg beginseg name "bdan_room_3" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan/bdan_room_3.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan/bdan_room_3.o" number 3 endseg beginseg name "bdan_room_4" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan/bdan_room_4.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan/bdan_room_4.o" number 3 endseg beginseg name "bdan_room_5" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan/bdan_room_5.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan/bdan_room_5.o" number 3 endseg beginseg name "bdan_room_6" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan/bdan_room_6.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan/bdan_room_6.o" number 3 endseg beginseg name "bdan_room_7" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan/bdan_room_7.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan/bdan_room_7.o" number 3 endseg beginseg name "bdan_room_8" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan/bdan_room_8.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan/bdan_room_8.o" number 3 endseg beginseg name "bdan_room_9" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan/bdan_room_9.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan/bdan_room_9.o" number 3 endseg beginseg name "bdan_room_10" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan/bdan_room_10.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan/bdan_room_10.o" number 3 endseg beginseg name "bdan_room_11" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan/bdan_room_11.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan/bdan_room_11.o" number 3 endseg beginseg name "bdan_room_12" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan/bdan_room_12.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan/bdan_room_12.o" number 3 endseg beginseg name "bdan_room_13" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan/bdan_room_13.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan/bdan_room_13.o" number 3 endseg beginseg name "bdan_room_14" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan/bdan_room_14.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan/bdan_room_14.o" number 3 endseg beginseg name "bdan_room_15" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan/bdan_room_15.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan/bdan_room_15.o" number 3 endseg beginseg name "Bmori1_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_scene.o" number 2 endseg beginseg name "Bmori1_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_0.o" number 3 endseg beginseg name "Bmori1_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_1.o" number 3 endseg beginseg name "Bmori1_room_2" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_2.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_2.o" number 3 endseg beginseg name "Bmori1_room_3" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_3.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_3.o" number 3 endseg beginseg name "Bmori1_room_4" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_4.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_4.o" number 3 endseg beginseg name "Bmori1_room_5" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_5.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_5.o" number 3 endseg beginseg name "Bmori1_room_6" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_6.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_6.o" number 3 endseg beginseg name "Bmori1_room_7" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_7.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_7.o" number 3 endseg beginseg name "Bmori1_room_8" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_8.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_8.o" number 3 endseg beginseg name "Bmori1_room_9" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_9.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_9.o" number 3 endseg beginseg name "Bmori1_room_10" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_10.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_10.o" number 3 endseg beginseg name "Bmori1_room_11" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_11.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_11.o" number 3 endseg beginseg name "Bmori1_room_12" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_12.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_12.o" number 3 endseg beginseg name "Bmori1_room_13" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_13.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_13.o" number 3 endseg beginseg name "Bmori1_room_14" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_14.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_14.o" number 3 endseg beginseg name "Bmori1_room_15" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_15.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_15.o" number 3 endseg beginseg name "Bmori1_room_16" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_16.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_16.o" number 3 endseg beginseg name "Bmori1_room_17" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_17.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_17.o" number 3 endseg beginseg name "Bmori1_room_18" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_18.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_18.o" number 3 endseg beginseg name "Bmori1_room_19" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_19.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_19.o" number 3 endseg beginseg name "Bmori1_room_20" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_20.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_20.o" number 3 endseg beginseg name "Bmori1_room_21" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_21.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_21.o" number 3 endseg beginseg name "Bmori1_room_22" romalign 0x1000 - include "build/assets/scenes/dungeons/Bmori1/Bmori1_room_22.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/Bmori1/Bmori1_room_22.o" number 3 endseg beginseg name "HIDAN_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_scene.o" number 2 endseg beginseg name "HIDAN_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_0.o" number 3 endseg beginseg name "HIDAN_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_1.o" number 3 endseg beginseg name "HIDAN_room_2" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_2.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_2.o" number 3 endseg beginseg name "HIDAN_room_3" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_3.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_3.o" number 3 endseg beginseg name "HIDAN_room_4" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_4.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_4.o" number 3 endseg beginseg name "HIDAN_room_5" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_5.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_5.o" number 3 endseg beginseg name "HIDAN_room_6" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_6.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_6.o" number 3 endseg beginseg name "HIDAN_room_7" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_7.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_7.o" number 3 endseg beginseg name "HIDAN_room_8" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_8.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_8.o" number 3 endseg beginseg name "HIDAN_room_9" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_9.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_9.o" number 3 endseg beginseg name "HIDAN_room_10" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_10.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_10.o" number 3 endseg beginseg name "HIDAN_room_11" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_11.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_11.o" number 3 endseg beginseg name "HIDAN_room_12" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_12.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_12.o" number 3 endseg beginseg name "HIDAN_room_13" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_13.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_13.o" number 3 endseg beginseg name "HIDAN_room_14" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_14.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_14.o" number 3 endseg beginseg name "HIDAN_room_15" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_15.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_15.o" number 3 endseg beginseg name "HIDAN_room_16" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_16.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_16.o" number 3 endseg beginseg name "HIDAN_room_17" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_17.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_17.o" number 3 endseg beginseg name "HIDAN_room_18" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_18.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_18.o" number 3 endseg beginseg name "HIDAN_room_19" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_19.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_19.o" number 3 endseg beginseg name "HIDAN_room_20" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_20.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_20.o" number 3 endseg beginseg name "HIDAN_room_21" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_21.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_21.o" number 3 endseg beginseg name "HIDAN_room_22" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_22.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_22.o" number 3 endseg beginseg name "HIDAN_room_23" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_23.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_23.o" number 3 endseg beginseg name "HIDAN_room_24" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_24.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_24.o" number 3 endseg beginseg name "HIDAN_room_25" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_25.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_25.o" number 3 endseg beginseg name "HIDAN_room_26" romalign 0x1000 - include "build/assets/scenes/dungeons/HIDAN/HIDAN_room_26.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HIDAN/HIDAN_room_26.o" number 3 endseg beginseg name "MIZUsin_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_scene.o" number 2 endseg beginseg name "MIZUsin_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_0.o" number 3 endseg beginseg name "MIZUsin_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_1.o" number 3 endseg beginseg name "MIZUsin_room_2" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_2.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_2.o" number 3 endseg beginseg name "MIZUsin_room_3" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_3.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_3.o" number 3 endseg beginseg name "MIZUsin_room_4" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_4.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_4.o" number 3 endseg beginseg name "MIZUsin_room_5" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_5.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_5.o" number 3 endseg beginseg name "MIZUsin_room_6" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_6.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_6.o" number 3 endseg beginseg name "MIZUsin_room_7" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_7.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_7.o" number 3 endseg beginseg name "MIZUsin_room_8" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_8.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_8.o" number 3 endseg beginseg name "MIZUsin_room_9" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_9.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_9.o" number 3 endseg beginseg name "MIZUsin_room_10" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_10.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_10.o" number 3 endseg beginseg name "MIZUsin_room_11" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_11.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_11.o" number 3 endseg beginseg name "MIZUsin_room_12" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_12.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_12.o" number 3 endseg beginseg name "MIZUsin_room_13" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_13.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_13.o" number 3 endseg beginseg name "MIZUsin_room_14" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_14.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_14.o" number 3 endseg beginseg name "MIZUsin_room_15" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_15.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_15.o" number 3 endseg beginseg name "MIZUsin_room_16" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_16.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_16.o" number 3 endseg beginseg name "MIZUsin_room_17" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_17.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_17.o" number 3 endseg beginseg name "MIZUsin_room_18" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_18.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_18.o" number 3 endseg beginseg name "MIZUsin_room_19" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_19.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_19.o" number 3 endseg beginseg name "MIZUsin_room_20" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_20.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_20.o" number 3 endseg beginseg name "MIZUsin_room_21" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_21.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_21.o" number 3 endseg beginseg name "MIZUsin_room_22" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin/MIZUsin_room_22.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin/MIZUsin_room_22.o" number 3 endseg beginseg name "jyasinzou_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_scene.o" number 2 endseg beginseg name "jyasinzou_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_0.o" number 3 endseg beginseg name "jyasinzou_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_1.o" number 3 endseg beginseg name "jyasinzou_room_2" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_2.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_2.o" number 3 endseg beginseg name "jyasinzou_room_3" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_3.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_3.o" number 3 endseg beginseg name "jyasinzou_room_4" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_4.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_4.o" number 3 endseg beginseg name "jyasinzou_room_5" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_5.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_5.o" number 3 endseg beginseg name "jyasinzou_room_6" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_6.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_6.o" number 3 endseg beginseg name "jyasinzou_room_7" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_7.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_7.o" number 3 endseg beginseg name "jyasinzou_room_8" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_8.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_8.o" number 3 endseg beginseg name "jyasinzou_room_9" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_9.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_9.o" number 3 endseg beginseg name "jyasinzou_room_10" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_10.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_10.o" number 3 endseg beginseg name "jyasinzou_room_11" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_11.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_11.o" number 3 endseg beginseg name "jyasinzou_room_12" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_12.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_12.o" number 3 endseg beginseg name "jyasinzou_room_13" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_13.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_13.o" number 3 endseg beginseg name "jyasinzou_room_14" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_14.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_14.o" number 3 endseg beginseg name "jyasinzou_room_15" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_15.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_15.o" number 3 endseg beginseg name "jyasinzou_room_16" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_16.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_16.o" number 3 endseg beginseg name "jyasinzou_room_17" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_17.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_17.o" number 3 endseg beginseg name "jyasinzou_room_18" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_18.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_18.o" number 3 endseg beginseg name "jyasinzou_room_19" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_19.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_19.o" number 3 endseg beginseg name "jyasinzou_room_20" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_20.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_20.o" number 3 endseg beginseg name "jyasinzou_room_21" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_21.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_21.o" number 3 endseg beginseg name "jyasinzou_room_22" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_22.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_22.o" number 3 endseg beginseg name "jyasinzou_room_23" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_23.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_23.o" number 3 endseg beginseg name "jyasinzou_room_24" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_24.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_24.o" number 3 endseg beginseg name "jyasinzou_room_25" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_25.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_25.o" number 3 endseg beginseg name "jyasinzou_room_26" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_26.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_26.o" number 3 endseg beginseg name "jyasinzou_room_27" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_27.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_27.o" number 3 endseg beginseg name "jyasinzou_room_28" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinzou/jyasinzou_room_28.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinzou/jyasinzou_room_28.o" number 3 endseg beginseg name "HAKAdan_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_scene.o" number 2 endseg beginseg name "HAKAdan_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_0.o" number 3 endseg beginseg name "HAKAdan_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_1.o" number 3 endseg beginseg name "HAKAdan_room_2" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_2.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_2.o" number 3 endseg beginseg name "HAKAdan_room_3" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_3.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_3.o" number 3 endseg beginseg name "HAKAdan_room_4" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_4.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_4.o" number 3 endseg beginseg name "HAKAdan_room_5" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_5.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_5.o" number 3 endseg beginseg name "HAKAdan_room_6" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_6.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_6.o" number 3 endseg beginseg name "HAKAdan_room_7" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_7.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_7.o" number 3 endseg beginseg name "HAKAdan_room_8" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_8.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_8.o" number 3 endseg beginseg name "HAKAdan_room_9" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_9.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_9.o" number 3 endseg beginseg name "HAKAdan_room_10" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_10.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_10.o" number 3 endseg beginseg name "HAKAdan_room_11" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_11.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_11.o" number 3 endseg beginseg name "HAKAdan_room_12" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_12.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_12.o" number 3 endseg beginseg name "HAKAdan_room_13" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_13.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_13.o" number 3 endseg beginseg name "HAKAdan_room_14" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_14.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_14.o" number 3 endseg beginseg name "HAKAdan_room_15" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_15.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_15.o" number 3 endseg beginseg name "HAKAdan_room_16" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_16.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_16.o" number 3 endseg beginseg name "HAKAdan_room_17" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_17.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_17.o" number 3 endseg beginseg name "HAKAdan_room_18" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_18.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_18.o" number 3 endseg beginseg name "HAKAdan_room_19" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_19.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_19.o" number 3 endseg beginseg name "HAKAdan_room_20" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_20.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_20.o" number 3 endseg beginseg name "HAKAdan_room_21" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_21.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_21.o" number 3 endseg beginseg name "HAKAdan_room_22" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan/HAKAdan_room_22.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan/HAKAdan_room_22.o" number 3 endseg beginseg name "HAKAdanCH_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdanCH/HAKAdanCH_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdanCH/HAKAdanCH_scene.o" number 2 endseg beginseg name "HAKAdanCH_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdanCH/HAKAdanCH_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdanCH/HAKAdanCH_room_0.o" number 3 endseg beginseg name "HAKAdanCH_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdanCH/HAKAdanCH_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdanCH/HAKAdanCH_room_1.o" number 3 endseg beginseg name "HAKAdanCH_room_2" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdanCH/HAKAdanCH_room_2.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdanCH/HAKAdanCH_room_2.o" number 3 endseg beginseg name "HAKAdanCH_room_3" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdanCH/HAKAdanCH_room_3.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdanCH/HAKAdanCH_room_3.o" number 3 endseg beginseg name "HAKAdanCH_room_4" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdanCH/HAKAdanCH_room_4.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdanCH/HAKAdanCH_room_4.o" number 3 endseg beginseg name "HAKAdanCH_room_5" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdanCH/HAKAdanCH_room_5.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdanCH/HAKAdanCH_room_5.o" number 3 endseg beginseg name "HAKAdanCH_room_6" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdanCH/HAKAdanCH_room_6.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdanCH/HAKAdanCH_room_6.o" number 3 endseg beginseg name "ice_doukutu_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/ice_doukutu/ice_doukutu_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ice_doukutu/ice_doukutu_scene.o" number 2 endseg beginseg name "ice_doukutu_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_0.o" number 3 endseg beginseg name "ice_doukutu_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_1.o" number 3 endseg beginseg name "ice_doukutu_room_2" romalign 0x1000 - include "build/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_2.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_2.o" number 3 endseg beginseg name "ice_doukutu_room_3" romalign 0x1000 - include "build/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_3.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_3.o" number 3 endseg beginseg name "ice_doukutu_room_4" romalign 0x1000 - include "build/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_4.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_4.o" number 3 endseg beginseg name "ice_doukutu_room_5" romalign 0x1000 - include "build/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_5.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_5.o" number 3 endseg beginseg name "ice_doukutu_room_6" romalign 0x1000 - include "build/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_6.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_6.o" number 3 endseg beginseg name "ice_doukutu_room_7" romalign 0x1000 - include "build/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_7.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_7.o" number 3 endseg beginseg name "ice_doukutu_room_8" romalign 0x1000 - include "build/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_8.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_8.o" number 3 endseg beginseg name "ice_doukutu_room_9" romalign 0x1000 - include "build/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_9.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_9.o" number 3 endseg beginseg name "ice_doukutu_room_10" romalign 0x1000 - include "build/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_10.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_10.o" number 3 endseg beginseg name "ice_doukutu_room_11" romalign 0x1000 - include "build/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_11.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ice_doukutu/ice_doukutu_room_11.o" number 3 endseg beginseg name "men_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/men/men_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/men/men_scene.o" number 2 endseg beginseg name "men_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/men/men_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/men/men_room_0.o" number 3 endseg beginseg name "men_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/men/men_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/men/men_room_1.o" number 3 endseg beginseg name "men_room_2" romalign 0x1000 - include "build/assets/scenes/dungeons/men/men_room_2.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/men/men_room_2.o" number 3 endseg beginseg name "men_room_3" romalign 0x1000 - include "build/assets/scenes/dungeons/men/men_room_3.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/men/men_room_3.o" number 3 endseg beginseg name "men_room_4" romalign 0x1000 - include "build/assets/scenes/dungeons/men/men_room_4.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/men/men_room_4.o" number 3 endseg beginseg name "men_room_5" romalign 0x1000 - include "build/assets/scenes/dungeons/men/men_room_5.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/men/men_room_5.o" number 3 endseg beginseg name "men_room_6" romalign 0x1000 - include "build/assets/scenes/dungeons/men/men_room_6.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/men/men_room_6.o" number 3 endseg beginseg name "men_room_7" romalign 0x1000 - include "build/assets/scenes/dungeons/men/men_room_7.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/men/men_room_7.o" number 3 endseg beginseg name "men_room_8" romalign 0x1000 - include "build/assets/scenes/dungeons/men/men_room_8.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/men/men_room_8.o" number 3 endseg beginseg name "men_room_9" romalign 0x1000 - include "build/assets/scenes/dungeons/men/men_room_9.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/men/men_room_9.o" number 3 endseg beginseg name "men_room_10" romalign 0x1000 - include "build/assets/scenes/dungeons/men/men_room_10.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/men/men_room_10.o" number 3 endseg beginseg name "ganontika_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_scene.o" number 2 endseg beginseg name "ganontika_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_0.o" number 3 endseg beginseg name "ganontika_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_1.o" number 3 endseg beginseg name "ganontika_room_2" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_2.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_2.o" number 3 endseg beginseg name "ganontika_room_3" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_3.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_3.o" number 3 endseg beginseg name "ganontika_room_4" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_4.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_4.o" number 3 endseg beginseg name "ganontika_room_5" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_5.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_5.o" number 3 endseg beginseg name "ganontika_room_6" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_6.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_6.o" number 3 endseg beginseg name "ganontika_room_7" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_7.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_7.o" number 3 endseg beginseg name "ganontika_room_8" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_8.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_8.o" number 3 endseg beginseg name "ganontika_room_9" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_9.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_9.o" number 3 endseg beginseg name "ganontika_room_10" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_10.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_10.o" number 3 endseg beginseg name "ganontika_room_11" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_11.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_11.o" number 3 endseg beginseg name "ganontika_room_12" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_12.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_12.o" number 3 endseg beginseg name "ganontika_room_13" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_13.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_13.o" number 3 endseg beginseg name "ganontika_room_14" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_14.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_14.o" number 3 endseg beginseg name "ganontika_room_15" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_15.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_15.o" number 3 endseg beginseg name "ganontika_room_16" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_16.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_16.o" number 3 endseg beginseg name "ganontika_room_17" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_17.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_17.o" number 3 endseg beginseg name "ganontika_room_18" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_18.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_18.o" number 3 endseg beginseg name "ganontika_room_19" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontika/ganontika_room_19.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontika/ganontika_room_19.o" number 3 endseg beginseg name "syotes_scene" romalign 0x1000 - include "build/assets/scenes/test_levels/syotes/syotes_scene.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/syotes/syotes_scene.o" number 2 endseg beginseg name "syotes_room_0" romalign 0x1000 - include "build/assets/scenes/test_levels/syotes/syotes_room_0.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/syotes/syotes_room_0.o" number 3 endseg beginseg name "syotes2_scene" romalign 0x1000 - include "build/assets/scenes/test_levels/syotes2/syotes2_scene.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/syotes2/syotes2_scene.o" number 2 endseg beginseg name "syotes2_room_0" romalign 0x1000 - include "build/assets/scenes/test_levels/syotes2/syotes2_room_0.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/syotes2/syotes2_room_0.o" number 3 endseg beginseg name "depth_test_scene" romalign 0x1000 - include "build/assets/scenes/test_levels/depth_test/depth_test_scene.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/depth_test/depth_test_scene.o" number 2 endseg beginseg name "depth_test_room_0" romalign 0x1000 - include "build/assets/scenes/test_levels/depth_test/depth_test_room_0.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/depth_test/depth_test_room_0.o" number 3 endseg beginseg name "spot00_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot00/spot00_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot00/spot00_scene.o" number 2 endseg beginseg name "spot00_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot00/spot00_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot00/spot00_room_0.o" number 3 endseg beginseg name "spot01_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot01/spot01_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot01/spot01_scene.o" number 2 endseg beginseg name "spot01_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot01/spot01_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot01/spot01_room_0.o" number 3 endseg beginseg name "spot02_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot02/spot02_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot02/spot02_scene.o" number 2 endseg beginseg name "spot02_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot02/spot02_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot02/spot02_room_0.o" number 3 endseg beginseg name "spot02_room_1" romalign 0x1000 - include "build/assets/scenes/overworld/spot02/spot02_room_1.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot02/spot02_room_1.o" number 3 endseg beginseg name "spot03_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot03/spot03_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot03/spot03_scene.o" number 2 endseg beginseg name "spot03_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot03/spot03_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot03/spot03_room_0.o" number 3 endseg beginseg name "spot03_room_1" romalign 0x1000 - include "build/assets/scenes/overworld/spot03/spot03_room_1.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot03/spot03_room_1.o" number 3 endseg beginseg name "spot04_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot04/spot04_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot04/spot04_scene.o" number 2 endseg beginseg name "spot04_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot04/spot04_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot04/spot04_room_0.o" number 3 endseg beginseg name "spot04_room_1" romalign 0x1000 - include "build/assets/scenes/overworld/spot04/spot04_room_1.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot04/spot04_room_1.o" number 3 endseg beginseg name "spot04_room_2" romalign 0x1000 - include "build/assets/scenes/overworld/spot04/spot04_room_2.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot04/spot04_room_2.o" number 3 endseg beginseg name "spot05_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot05/spot05_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot05/spot05_scene.o" number 2 endseg beginseg name "spot05_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot05/spot05_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot05/spot05_room_0.o" number 3 endseg beginseg name "spot06_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot06/spot06_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot06/spot06_scene.o" number 2 endseg beginseg name "spot06_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot06/spot06_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot06/spot06_room_0.o" number 3 endseg beginseg name "spot07_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot07/spot07_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot07/spot07_scene.o" number 2 endseg beginseg name "spot07_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot07/spot07_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot07/spot07_room_0.o" number 3 endseg beginseg name "spot07_room_1" romalign 0x1000 - include "build/assets/scenes/overworld/spot07/spot07_room_1.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot07/spot07_room_1.o" number 3 endseg beginseg name "spot08_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot08/spot08_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot08/spot08_scene.o" number 2 endseg beginseg name "spot08_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot08/spot08_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot08/spot08_room_0.o" number 3 endseg beginseg name "spot09_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot09/spot09_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot09/spot09_scene.o" number 2 endseg beginseg name "spot09_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot09/spot09_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot09/spot09_room_0.o" number 3 endseg beginseg name "spot10_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot10/spot10_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot10/spot10_scene.o" number 2 endseg beginseg name "spot10_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot10/spot10_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot10/spot10_room_0.o" number 3 endseg beginseg name "spot10_room_1" romalign 0x1000 - include "build/assets/scenes/overworld/spot10/spot10_room_1.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot10/spot10_room_1.o" number 3 endseg beginseg name "spot10_room_2" romalign 0x1000 - include "build/assets/scenes/overworld/spot10/spot10_room_2.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot10/spot10_room_2.o" number 3 endseg beginseg name "spot10_room_3" romalign 0x1000 - include "build/assets/scenes/overworld/spot10/spot10_room_3.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot10/spot10_room_3.o" number 3 endseg beginseg name "spot10_room_4" romalign 0x1000 - include "build/assets/scenes/overworld/spot10/spot10_room_4.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot10/spot10_room_4.o" number 3 endseg beginseg name "spot10_room_5" romalign 0x1000 - include "build/assets/scenes/overworld/spot10/spot10_room_5.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot10/spot10_room_5.o" number 3 endseg beginseg name "spot10_room_6" romalign 0x1000 - include "build/assets/scenes/overworld/spot10/spot10_room_6.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot10/spot10_room_6.o" number 3 endseg beginseg name "spot10_room_7" romalign 0x1000 - include "build/assets/scenes/overworld/spot10/spot10_room_7.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot10/spot10_room_7.o" number 3 endseg beginseg name "spot10_room_8" romalign 0x1000 - include "build/assets/scenes/overworld/spot10/spot10_room_8.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot10/spot10_room_8.o" number 3 endseg beginseg name "spot10_room_9" romalign 0x1000 - include "build/assets/scenes/overworld/spot10/spot10_room_9.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot10/spot10_room_9.o" number 3 endseg beginseg name "spot11_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot11/spot11_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot11/spot11_scene.o" number 2 endseg beginseg name "spot11_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot11/spot11_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot11/spot11_room_0.o" number 3 endseg beginseg name "spot12_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot12/spot12_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot12/spot12_scene.o" number 2 endseg beginseg name "spot12_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot12/spot12_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot12/spot12_room_0.o" number 3 endseg beginseg name "spot12_room_1" romalign 0x1000 - include "build/assets/scenes/overworld/spot12/spot12_room_1.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot12/spot12_room_1.o" number 3 endseg beginseg name "spot13_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot13/spot13_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot13/spot13_scene.o" number 2 endseg beginseg name "spot13_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot13/spot13_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot13/spot13_room_0.o" number 3 endseg beginseg name "spot13_room_1" romalign 0x1000 - include "build/assets/scenes/overworld/spot13/spot13_room_1.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot13/spot13_room_1.o" number 3 endseg beginseg name "spot15_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot15/spot15_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot15/spot15_scene.o" number 2 endseg beginseg name "spot15_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot15/spot15_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot15/spot15_room_0.o" number 3 endseg beginseg name "spot16_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot16/spot16_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot16/spot16_scene.o" number 2 endseg beginseg name "spot16_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot16/spot16_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot16/spot16_room_0.o" number 3 endseg beginseg name "spot17_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot17/spot17_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot17/spot17_scene.o" number 2 endseg beginseg name "spot17_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot17/spot17_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot17/spot17_room_0.o" number 3 endseg beginseg name "spot17_room_1" romalign 0x1000 - include "build/assets/scenes/overworld/spot17/spot17_room_1.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot17/spot17_room_1.o" number 3 endseg beginseg name "spot18_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot18/spot18_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot18/spot18_scene.o" number 2 endseg beginseg name "spot18_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot18/spot18_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot18/spot18_room_0.o" number 3 endseg beginseg name "spot18_room_1" romalign 0x1000 - include "build/assets/scenes/overworld/spot18/spot18_room_1.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot18/spot18_room_1.o" number 3 endseg beginseg name "spot18_room_2" romalign 0x1000 - include "build/assets/scenes/overworld/spot18/spot18_room_2.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot18/spot18_room_2.o" number 3 endseg beginseg name "spot18_room_3" romalign 0x1000 - include "build/assets/scenes/overworld/spot18/spot18_room_3.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot18/spot18_room_3.o" number 3 endseg beginseg name "market_day_scene" romalign 0x1000 - include "build/assets/scenes/misc/market_day/market_day_scene.o" + include "$(BUILD_DIR)/assets/scenes/misc/market_day/market_day_scene.o" number 2 endseg beginseg name "market_day_room_0" romalign 0x1000 - include "build/assets/scenes/misc/market_day/market_day_room_0.o" + include "$(BUILD_DIR)/assets/scenes/misc/market_day/market_day_room_0.o" number 3 endseg beginseg name "market_night_scene" romalign 0x1000 - include "build/assets/scenes/misc/market_night/market_night_scene.o" + include "$(BUILD_DIR)/assets/scenes/misc/market_night/market_night_scene.o" number 2 endseg beginseg name "market_night_room_0" romalign 0x1000 - include "build/assets/scenes/misc/market_night/market_night_room_0.o" + include "$(BUILD_DIR)/assets/scenes/misc/market_night/market_night_room_0.o" number 3 endseg beginseg name "testroom_scene" romalign 0x1000 - include "build/assets/scenes/test_levels/testroom/testroom_scene.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/testroom/testroom_scene.o" number 2 endseg beginseg name "testroom_room_0" romalign 0x1000 - include "build/assets/scenes/test_levels/testroom/testroom_room_0.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/testroom/testroom_room_0.o" number 3 endseg beginseg name "testroom_room_1" romalign 0x1000 - include "build/assets/scenes/test_levels/testroom/testroom_room_1.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/testroom/testroom_room_1.o" number 3 endseg beginseg name "testroom_room_2" romalign 0x1000 - include "build/assets/scenes/test_levels/testroom/testroom_room_2.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/testroom/testroom_room_2.o" number 3 endseg beginseg name "testroom_room_3" romalign 0x1000 - include "build/assets/scenes/test_levels/testroom/testroom_room_3.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/testroom/testroom_room_3.o" number 3 endseg beginseg name "testroom_room_4" romalign 0x1000 - include "build/assets/scenes/test_levels/testroom/testroom_room_4.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/testroom/testroom_room_4.o" number 3 endseg beginseg name "kenjyanoma_scene" romalign 0x1000 - include "build/assets/scenes/indoors/kenjyanoma/kenjyanoma_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/kenjyanoma/kenjyanoma_scene.o" number 2 endseg beginseg name "kenjyanoma_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/kenjyanoma/kenjyanoma_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/kenjyanoma/kenjyanoma_room_0.o" number 3 endseg beginseg name "tokinoma_scene" romalign 0x1000 - include "build/assets/scenes/indoors/tokinoma/tokinoma_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/tokinoma/tokinoma_scene.o" number 2 endseg beginseg name "tokinoma_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/tokinoma/tokinoma_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/tokinoma/tokinoma_room_0.o" number 3 endseg beginseg name "tokinoma_room_1" romalign 0x1000 - include "build/assets/scenes/indoors/tokinoma/tokinoma_room_1.o" + include "$(BUILD_DIR)/assets/scenes/indoors/tokinoma/tokinoma_room_1.o" number 3 endseg beginseg name "sutaru_scene" romalign 0x1000 - include "build/assets/scenes/test_levels/sutaru/sutaru_scene.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/sutaru/sutaru_scene.o" number 2 endseg beginseg name "sutaru_room_0" romalign 0x1000 - include "build/assets/scenes/test_levels/sutaru/sutaru_room_0.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/sutaru/sutaru_room_0.o" number 3 endseg beginseg name "link_home_scene" romalign 0x1000 - include "build/assets/scenes/indoors/link_home/link_home_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/link_home/link_home_scene.o" number 2 endseg beginseg name "link_home_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/link_home/link_home_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/link_home/link_home_room_0.o" number 3 endseg beginseg name "kokiri_shop_scene" romalign 0x1000 - include "build/assets/scenes/shops/kokiri_shop/kokiri_shop_scene.o" + include "$(BUILD_DIR)/assets/scenes/shops/kokiri_shop/kokiri_shop_scene.o" number 2 endseg beginseg name "kokiri_shop_room_0" romalign 0x1000 - include "build/assets/scenes/shops/kokiri_shop/kokiri_shop_room_0.o" + include "$(BUILD_DIR)/assets/scenes/shops/kokiri_shop/kokiri_shop_room_0.o" number 3 endseg beginseg name "kokiri_home_scene" romalign 0x1000 - include "build/assets/scenes/indoors/kokiri_home/kokiri_home_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/kokiri_home/kokiri_home_scene.o" number 2 endseg beginseg name "kokiri_home_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/kokiri_home/kokiri_home_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/kokiri_home/kokiri_home_room_0.o" number 3 endseg beginseg name "kakusiana_scene" romalign 0x1000 - include "build/assets/scenes/misc/kakusiana/kakusiana_scene.o" + include "$(BUILD_DIR)/assets/scenes/misc/kakusiana/kakusiana_scene.o" number 2 endseg beginseg name "kakusiana_room_0" romalign 0x1000 - include "build/assets/scenes/misc/kakusiana/kakusiana_room_0.o" + include "$(BUILD_DIR)/assets/scenes/misc/kakusiana/kakusiana_room_0.o" number 3 endseg beginseg name "kakusiana_room_1" romalign 0x1000 - include "build/assets/scenes/misc/kakusiana/kakusiana_room_1.o" + include "$(BUILD_DIR)/assets/scenes/misc/kakusiana/kakusiana_room_1.o" number 3 endseg beginseg name "kakusiana_room_2" romalign 0x1000 - include "build/assets/scenes/misc/kakusiana/kakusiana_room_2.o" + include "$(BUILD_DIR)/assets/scenes/misc/kakusiana/kakusiana_room_2.o" number 3 endseg beginseg name "kakusiana_room_3" romalign 0x1000 - include "build/assets/scenes/misc/kakusiana/kakusiana_room_3.o" + include "$(BUILD_DIR)/assets/scenes/misc/kakusiana/kakusiana_room_3.o" number 3 endseg beginseg name "kakusiana_room_4" romalign 0x1000 - include "build/assets/scenes/misc/kakusiana/kakusiana_room_4.o" + include "$(BUILD_DIR)/assets/scenes/misc/kakusiana/kakusiana_room_4.o" number 3 endseg beginseg name "kakusiana_room_5" romalign 0x1000 - include "build/assets/scenes/misc/kakusiana/kakusiana_room_5.o" + include "$(BUILD_DIR)/assets/scenes/misc/kakusiana/kakusiana_room_5.o" number 3 endseg beginseg name "kakusiana_room_6" romalign 0x1000 - include "build/assets/scenes/misc/kakusiana/kakusiana_room_6.o" + include "$(BUILD_DIR)/assets/scenes/misc/kakusiana/kakusiana_room_6.o" number 3 endseg beginseg name "kakusiana_room_7" romalign 0x1000 - include "build/assets/scenes/misc/kakusiana/kakusiana_room_7.o" + include "$(BUILD_DIR)/assets/scenes/misc/kakusiana/kakusiana_room_7.o" number 3 endseg beginseg name "kakusiana_room_8" romalign 0x1000 - include "build/assets/scenes/misc/kakusiana/kakusiana_room_8.o" + include "$(BUILD_DIR)/assets/scenes/misc/kakusiana/kakusiana_room_8.o" number 3 endseg beginseg name "kakusiana_room_9" romalign 0x1000 - include "build/assets/scenes/misc/kakusiana/kakusiana_room_9.o" + include "$(BUILD_DIR)/assets/scenes/misc/kakusiana/kakusiana_room_9.o" number 3 endseg beginseg name "kakusiana_room_10" romalign 0x1000 - include "build/assets/scenes/misc/kakusiana/kakusiana_room_10.o" + include "$(BUILD_DIR)/assets/scenes/misc/kakusiana/kakusiana_room_10.o" number 3 endseg beginseg name "kakusiana_room_11" romalign 0x1000 - include "build/assets/scenes/misc/kakusiana/kakusiana_room_11.o" + include "$(BUILD_DIR)/assets/scenes/misc/kakusiana/kakusiana_room_11.o" number 3 endseg beginseg name "kakusiana_room_12" romalign 0x1000 - include "build/assets/scenes/misc/kakusiana/kakusiana_room_12.o" + include "$(BUILD_DIR)/assets/scenes/misc/kakusiana/kakusiana_room_12.o" number 3 endseg beginseg name "kakusiana_room_13" romalign 0x1000 - include "build/assets/scenes/misc/kakusiana/kakusiana_room_13.o" + include "$(BUILD_DIR)/assets/scenes/misc/kakusiana/kakusiana_room_13.o" number 3 endseg beginseg name "entra_scene" romalign 0x1000 - include "build/assets/scenes/overworld/entra/entra_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/entra/entra_scene.o" number 2 endseg beginseg name "entra_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/entra/entra_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/entra/entra_room_0.o" number 3 endseg beginseg name "moribossroom_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/moribossroom/moribossroom_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/moribossroom/moribossroom_scene.o" number 2 endseg beginseg name "moribossroom_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/moribossroom/moribossroom_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/moribossroom/moribossroom_room_0.o" number 3 endseg beginseg name "moribossroom_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/moribossroom/moribossroom_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/moribossroom/moribossroom_room_1.o" number 3 endseg beginseg name "syatekijyou_scene" romalign 0x1000 - include "build/assets/scenes/indoors/syatekijyou/syatekijyou_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/syatekijyou/syatekijyou_scene.o" number 2 endseg beginseg name "syatekijyou_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/syatekijyou/syatekijyou_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/syatekijyou/syatekijyou_room_0.o" number 3 endseg beginseg name "shop1_scene" romalign 0x1000 - include "build/assets/scenes/shops/shop1/shop1_scene.o" + include "$(BUILD_DIR)/assets/scenes/shops/shop1/shop1_scene.o" number 2 endseg beginseg name "shop1_room_0" romalign 0x1000 - include "build/assets/scenes/shops/shop1/shop1_room_0.o" + include "$(BUILD_DIR)/assets/scenes/shops/shop1/shop1_room_0.o" number 3 endseg beginseg name "hairal_niwa_scene" romalign 0x1000 - include "build/assets/scenes/indoors/hairal_niwa/hairal_niwa_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/hairal_niwa/hairal_niwa_scene.o" number 2 endseg beginseg name "hairal_niwa_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/hairal_niwa/hairal_niwa_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/hairal_niwa/hairal_niwa_room_0.o" number 3 endseg beginseg name "ganon_tou_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon_tou/ganon_tou_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon_tou/ganon_tou_scene.o" number 2 endseg beginseg name "ganon_tou_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon_tou/ganon_tou_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon_tou/ganon_tou_room_0.o" number 3 endseg beginseg name "sasatest_scene" romalign 0x1000 - include "build/assets/scenes/test_levels/sasatest/sasatest_scene.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/sasatest/sasatest_scene.o" number 2 endseg beginseg name "sasatest_room_0" romalign 0x1000 - include "build/assets/scenes/test_levels/sasatest/sasatest_room_0.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/sasatest/sasatest_room_0.o" number 3 endseg beginseg name "market_alley_scene" romalign 0x1000 - include "build/assets/scenes/misc/market_alley/market_alley_scene.o" + include "$(BUILD_DIR)/assets/scenes/misc/market_alley/market_alley_scene.o" number 2 endseg beginseg name "market_alley_room_0" romalign 0x1000 - include "build/assets/scenes/misc/market_alley/market_alley_room_0.o" + include "$(BUILD_DIR)/assets/scenes/misc/market_alley/market_alley_room_0.o" number 3 endseg beginseg name "spot20_scene" romalign 0x1000 - include "build/assets/scenes/overworld/spot20/spot20_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot20/spot20_scene.o" number 2 endseg beginseg name "spot20_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/spot20/spot20_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/spot20/spot20_room_0.o" number 3 endseg beginseg name "market_ruins_scene" romalign 0x1000 - include "build/assets/scenes/misc/market_ruins/market_ruins_scene.o" + include "$(BUILD_DIR)/assets/scenes/misc/market_ruins/market_ruins_scene.o" number 2 endseg beginseg name "market_ruins_room_0" romalign 0x1000 - include "build/assets/scenes/misc/market_ruins/market_ruins_room_0.o" + include "$(BUILD_DIR)/assets/scenes/misc/market_ruins/market_ruins_room_0.o" number 3 endseg beginseg name "entra_n_scene" romalign 0x1000 - include "build/assets/scenes/misc/entra_n/entra_n_scene.o" + include "$(BUILD_DIR)/assets/scenes/misc/entra_n/entra_n_scene.o" number 2 endseg beginseg name "entra_n_room_0" romalign 0x1000 - include "build/assets/scenes/misc/entra_n/entra_n_room_0.o" + include "$(BUILD_DIR)/assets/scenes/misc/entra_n/entra_n_room_0.o" number 3 endseg beginseg name "enrui_scene" romalign 0x1000 - include "build/assets/scenes/misc/enrui/enrui_scene.o" + include "$(BUILD_DIR)/assets/scenes/misc/enrui/enrui_scene.o" number 2 endseg beginseg name "enrui_room_0" romalign 0x1000 - include "build/assets/scenes/misc/enrui/enrui_room_0.o" + include "$(BUILD_DIR)/assets/scenes/misc/enrui/enrui_room_0.o" number 3 endseg beginseg name "market_alley_n_scene" romalign 0x1000 - include "build/assets/scenes/misc/market_alley_n/market_alley_n_scene.o" + include "$(BUILD_DIR)/assets/scenes/misc/market_alley_n/market_alley_n_scene.o" number 2 endseg beginseg name "market_alley_n_room_0" romalign 0x1000 - include "build/assets/scenes/misc/market_alley_n/market_alley_n_room_0.o" + include "$(BUILD_DIR)/assets/scenes/misc/market_alley_n/market_alley_n_room_0.o" number 3 endseg beginseg name "hiral_demo_scene" romalign 0x1000 - include "build/assets/scenes/misc/hiral_demo/hiral_demo_scene.o" + include "$(BUILD_DIR)/assets/scenes/misc/hiral_demo/hiral_demo_scene.o" number 2 endseg beginseg name "hiral_demo_room_0" romalign 0x1000 - include "build/assets/scenes/misc/hiral_demo/hiral_demo_room_0.o" + include "$(BUILD_DIR)/assets/scenes/misc/hiral_demo/hiral_demo_room_0.o" number 3 endseg beginseg name "kokiri_home3_scene" romalign 0x1000 - include "build/assets/scenes/indoors/kokiri_home3/kokiri_home3_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/kokiri_home3/kokiri_home3_scene.o" number 2 endseg beginseg name "kokiri_home3_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/kokiri_home3/kokiri_home3_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/kokiri_home3/kokiri_home3_room_0.o" number 3 endseg beginseg name "malon_stable_scene" romalign 0x1000 - include "build/assets/scenes/indoors/malon_stable/malon_stable_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/malon_stable/malon_stable_scene.o" number 2 endseg beginseg name "malon_stable_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/malon_stable/malon_stable_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/malon_stable/malon_stable_room_0.o" number 3 endseg beginseg name "kakariko_scene" romalign 0x1000 - include "build/assets/scenes/indoors/kakariko/kakariko_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/kakariko/kakariko_scene.o" number 2 endseg beginseg name "kakariko_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/kakariko/kakariko_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/kakariko/kakariko_room_0.o" number 3 endseg beginseg name "bdan_boss_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan_boss/bdan_boss_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan_boss/bdan_boss_scene.o" number 2 endseg beginseg name "bdan_boss_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan_boss/bdan_boss_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan_boss/bdan_boss_room_0.o" number 3 endseg beginseg name "bdan_boss_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/bdan_boss/bdan_boss_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/bdan_boss/bdan_boss_room_1.o" number 3 endseg beginseg name "FIRE_bs_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/FIRE_bs/FIRE_bs_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/FIRE_bs/FIRE_bs_scene.o" number 2 endseg beginseg name "FIRE_bs_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/FIRE_bs/FIRE_bs_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/FIRE_bs/FIRE_bs_room_0.o" number 3 endseg beginseg name "FIRE_bs_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/FIRE_bs/FIRE_bs_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/FIRE_bs/FIRE_bs_room_1.o" number 3 endseg beginseg name "hut_scene" romalign 0x1000 - include "build/assets/scenes/indoors/hut/hut_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/hut/hut_scene.o" number 2 endseg beginseg name "hut_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/hut/hut_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/hut/hut_room_0.o" number 3 endseg beginseg name "daiyousei_izumi_scene" romalign 0x1000 - include "build/assets/scenes/indoors/daiyousei_izumi/daiyousei_izumi_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/daiyousei_izumi/daiyousei_izumi_scene.o" number 2 endseg beginseg name "daiyousei_izumi_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/daiyousei_izumi/daiyousei_izumi_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/daiyousei_izumi/daiyousei_izumi_room_0.o" number 3 endseg beginseg name "hakaana_scene" romalign 0x1000 - include "build/assets/scenes/misc/hakaana/hakaana_scene.o" + include "$(BUILD_DIR)/assets/scenes/misc/hakaana/hakaana_scene.o" number 2 endseg beginseg name "hakaana_room_0" romalign 0x1000 - include "build/assets/scenes/misc/hakaana/hakaana_room_0.o" + include "$(BUILD_DIR)/assets/scenes/misc/hakaana/hakaana_room_0.o" number 3 endseg beginseg name "yousei_izumi_tate_scene" romalign 0x1000 - include "build/assets/scenes/indoors/yousei_izumi_tate/yousei_izumi_tate_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/yousei_izumi_tate/yousei_izumi_tate_scene.o" number 2 endseg beginseg name "yousei_izumi_tate_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/yousei_izumi_tate/yousei_izumi_tate_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/yousei_izumi_tate/yousei_izumi_tate_room_0.o" number 3 endseg beginseg name "yousei_izumi_yoko_scene" romalign 0x1000 - include "build/assets/scenes/indoors/yousei_izumi_yoko/yousei_izumi_yoko_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/yousei_izumi_yoko/yousei_izumi_yoko_scene.o" number 2 endseg beginseg name "yousei_izumi_yoko_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/yousei_izumi_yoko/yousei_izumi_yoko_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/yousei_izumi_yoko/yousei_izumi_yoko_room_0.o" number 3 endseg beginseg name "golon_scene" romalign 0x1000 - include "build/assets/scenes/shops/golon/golon_scene.o" + include "$(BUILD_DIR)/assets/scenes/shops/golon/golon_scene.o" number 2 endseg beginseg name "golon_room_0" romalign 0x1000 - include "build/assets/scenes/shops/golon/golon_room_0.o" + include "$(BUILD_DIR)/assets/scenes/shops/golon/golon_room_0.o" number 3 endseg beginseg name "zoora_scene" romalign 0x1000 - include "build/assets/scenes/shops/zoora/zoora_scene.o" + include "$(BUILD_DIR)/assets/scenes/shops/zoora/zoora_scene.o" number 2 endseg beginseg name "zoora_room_0" romalign 0x1000 - include "build/assets/scenes/shops/zoora/zoora_room_0.o" + include "$(BUILD_DIR)/assets/scenes/shops/zoora/zoora_room_0.o" number 3 endseg beginseg name "drag_scene" romalign 0x1000 - include "build/assets/scenes/shops/drag/drag_scene.o" + include "$(BUILD_DIR)/assets/scenes/shops/drag/drag_scene.o" number 2 endseg beginseg name "drag_room_0" romalign 0x1000 - include "build/assets/scenes/shops/drag/drag_room_0.o" + include "$(BUILD_DIR)/assets/scenes/shops/drag/drag_room_0.o" number 3 endseg beginseg name "alley_shop_scene" romalign 0x1000 - include "build/assets/scenes/shops/alley_shop/alley_shop_scene.o" + include "$(BUILD_DIR)/assets/scenes/shops/alley_shop/alley_shop_scene.o" number 2 endseg beginseg name "alley_shop_room_0" romalign 0x1000 - include "build/assets/scenes/shops/alley_shop/alley_shop_room_0.o" + include "$(BUILD_DIR)/assets/scenes/shops/alley_shop/alley_shop_room_0.o" number 3 endseg beginseg name "night_shop_scene" romalign 0x1000 - include "build/assets/scenes/shops/night_shop/night_shop_scene.o" + include "$(BUILD_DIR)/assets/scenes/shops/night_shop/night_shop_scene.o" number 2 endseg beginseg name "night_shop_room_0" romalign 0x1000 - include "build/assets/scenes/shops/night_shop/night_shop_room_0.o" + include "$(BUILD_DIR)/assets/scenes/shops/night_shop/night_shop_room_0.o" number 3 endseg beginseg name "impa_scene" romalign 0x1000 - include "build/assets/scenes/indoors/impa/impa_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/impa/impa_scene.o" number 2 endseg beginseg name "impa_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/impa/impa_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/impa/impa_room_0.o" number 3 endseg beginseg name "labo_scene" romalign 0x1000 - include "build/assets/scenes/indoors/labo/labo_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/labo/labo_scene.o" number 2 endseg beginseg name "labo_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/labo/labo_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/labo/labo_room_0.o" number 3 endseg beginseg name "tent_scene" romalign 0x1000 - include "build/assets/scenes/indoors/tent/tent_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/tent/tent_scene.o" number 2 endseg beginseg name "tent_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/tent/tent_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/tent/tent_room_0.o" number 3 endseg beginseg name "nakaniwa_scene" romalign 0x1000 - include "build/assets/scenes/indoors/nakaniwa/nakaniwa_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/nakaniwa/nakaniwa_scene.o" number 2 endseg beginseg name "nakaniwa_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/nakaniwa/nakaniwa_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/nakaniwa/nakaniwa_room_0.o" number 3 endseg beginseg name "ddan_boss_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan_boss/ddan_boss_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan_boss/ddan_boss_scene.o" number 2 endseg beginseg name "ddan_boss_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan_boss/ddan_boss_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan_boss/ddan_boss_room_0.o" number 3 endseg beginseg name "ddan_boss_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/ddan_boss/ddan_boss_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ddan_boss/ddan_boss_room_1.o" number 3 endseg beginseg name "ydan_boss_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/ydan_boss/ydan_boss_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ydan_boss/ydan_boss_scene.o" number 2 endseg beginseg name "ydan_boss_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/ydan_boss/ydan_boss_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ydan_boss/ydan_boss_room_0.o" number 3 endseg beginseg name "ydan_boss_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/ydan_boss/ydan_boss_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ydan_boss/ydan_boss_room_1.o" number 3 endseg beginseg name "HAKAdan_bs_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan_bs/HAKAdan_bs_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan_bs/HAKAdan_bs_scene.o" number 2 endseg beginseg name "HAKAdan_bs_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan_bs/HAKAdan_bs_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan_bs/HAKAdan_bs_room_0.o" number 3 endseg beginseg name "HAKAdan_bs_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/HAKAdan_bs/HAKAdan_bs_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/HAKAdan_bs/HAKAdan_bs_room_1.o" number 3 endseg beginseg name "MIZUsin_bs_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin_bs/MIZUsin_bs_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin_bs/MIZUsin_bs_scene.o" number 2 endseg beginseg name "MIZUsin_bs_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin_bs/MIZUsin_bs_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin_bs/MIZUsin_bs_room_0.o" number 3 endseg beginseg name "MIZUsin_bs_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/MIZUsin_bs/MIZUsin_bs_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/MIZUsin_bs/MIZUsin_bs_room_1.o" number 3 endseg beginseg name "ganon_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon/ganon_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon/ganon_scene.o" number 2 endseg beginseg name "ganon_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon/ganon_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon/ganon_room_0.o" number 3 endseg beginseg name "ganon_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon/ganon_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon/ganon_room_1.o" number 3 endseg beginseg name "ganon_room_2" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon/ganon_room_2.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon/ganon_room_2.o" number 3 endseg beginseg name "ganon_room_3" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon/ganon_room_3.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon/ganon_room_3.o" number 3 endseg beginseg name "ganon_room_4" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon/ganon_room_4.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon/ganon_room_4.o" number 3 endseg beginseg name "ganon_room_5" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon/ganon_room_5.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon/ganon_room_5.o" number 3 endseg beginseg name "ganon_room_6" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon/ganon_room_6.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon/ganon_room_6.o" number 3 endseg beginseg name "ganon_room_7" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon/ganon_room_7.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon/ganon_room_7.o" number 3 endseg beginseg name "ganon_room_8" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon/ganon_room_8.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon/ganon_room_8.o" number 3 endseg beginseg name "ganon_room_9" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon/ganon_room_9.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon/ganon_room_9.o" number 3 endseg beginseg name "ganon_boss_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon_boss/ganon_boss_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon_boss/ganon_boss_scene.o" number 2 endseg beginseg name "ganon_boss_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon_boss/ganon_boss_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon_boss/ganon_boss_room_0.o" number 3 endseg beginseg name "jyasinboss_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinboss/jyasinboss_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinboss/jyasinboss_scene.o" number 2 endseg beginseg name "jyasinboss_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinboss/jyasinboss_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinboss/jyasinboss_room_0.o" number 3 endseg beginseg name "jyasinboss_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinboss/jyasinboss_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinboss/jyasinboss_room_1.o" number 3 endseg beginseg name "jyasinboss_room_2" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinboss/jyasinboss_room_2.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinboss/jyasinboss_room_2.o" number 3 endseg beginseg name "jyasinboss_room_3" romalign 0x1000 - include "build/assets/scenes/dungeons/jyasinboss/jyasinboss_room_3.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/jyasinboss/jyasinboss_room_3.o" number 3 endseg beginseg name "kokiri_home4_scene" romalign 0x1000 - include "build/assets/scenes/indoors/kokiri_home4/kokiri_home4_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/kokiri_home4/kokiri_home4_scene.o" number 2 endseg beginseg name "kokiri_home4_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/kokiri_home4/kokiri_home4_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/kokiri_home4/kokiri_home4_room_0.o" number 3 endseg beginseg name "kokiri_home5_scene" romalign 0x1000 - include "build/assets/scenes/indoors/kokiri_home5/kokiri_home5_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/kokiri_home5/kokiri_home5_scene.o" number 2 endseg beginseg name "kokiri_home5_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/kokiri_home5/kokiri_home5_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/kokiri_home5/kokiri_home5_room_0.o" number 3 endseg beginseg name "ganon_final_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon_final/ganon_final_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon_final/ganon_final_scene.o" number 2 endseg beginseg name "ganon_final_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon_final/ganon_final_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon_final/ganon_final_room_0.o" number 3 endseg beginseg name "kakariko3_scene" romalign 0x1000 - include "build/assets/scenes/misc/kakariko3/kakariko3_scene.o" + include "$(BUILD_DIR)/assets/scenes/misc/kakariko3/kakariko3_scene.o" number 2 endseg beginseg name "kakariko3_room_0" romalign 0x1000 - include "build/assets/scenes/misc/kakariko3/kakariko3_room_0.o" + include "$(BUILD_DIR)/assets/scenes/misc/kakariko3/kakariko3_room_0.o" number 3 endseg beginseg name "hairal_niwa2_scene" romalign 0x1000 - include "build/assets/scenes/indoors/hairal_niwa2/hairal_niwa2_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/hairal_niwa2/hairal_niwa2_scene.o" number 2 endseg beginseg name "hairal_niwa2_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/hairal_niwa2/hairal_niwa2_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/hairal_niwa2/hairal_niwa2_room_0.o" number 3 endseg beginseg name "hakasitarelay_scene" romalign 0x1000 - include "build/assets/scenes/indoors/hakasitarelay/hakasitarelay_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/hakasitarelay/hakasitarelay_scene.o" number 2 endseg beginseg name "hakasitarelay_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/hakasitarelay/hakasitarelay_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/hakasitarelay/hakasitarelay_room_0.o" number 3 endseg beginseg name "hakasitarelay_room_1" romalign 0x1000 - include "build/assets/scenes/indoors/hakasitarelay/hakasitarelay_room_1.o" + include "$(BUILD_DIR)/assets/scenes/indoors/hakasitarelay/hakasitarelay_room_1.o" number 3 endseg beginseg name "hakasitarelay_room_2" romalign 0x1000 - include "build/assets/scenes/indoors/hakasitarelay/hakasitarelay_room_2.o" + include "$(BUILD_DIR)/assets/scenes/indoors/hakasitarelay/hakasitarelay_room_2.o" number 3 endseg beginseg name "hakasitarelay_room_3" romalign 0x1000 - include "build/assets/scenes/indoors/hakasitarelay/hakasitarelay_room_3.o" + include "$(BUILD_DIR)/assets/scenes/indoors/hakasitarelay/hakasitarelay_room_3.o" number 3 endseg beginseg name "hakasitarelay_room_4" romalign 0x1000 - include "build/assets/scenes/indoors/hakasitarelay/hakasitarelay_room_4.o" + include "$(BUILD_DIR)/assets/scenes/indoors/hakasitarelay/hakasitarelay_room_4.o" number 3 endseg beginseg name "hakasitarelay_room_5" romalign 0x1000 - include "build/assets/scenes/indoors/hakasitarelay/hakasitarelay_room_5.o" + include "$(BUILD_DIR)/assets/scenes/indoors/hakasitarelay/hakasitarelay_room_5.o" number 3 endseg beginseg name "hakasitarelay_room_6" romalign 0x1000 - include "build/assets/scenes/indoors/hakasitarelay/hakasitarelay_room_6.o" + include "$(BUILD_DIR)/assets/scenes/indoors/hakasitarelay/hakasitarelay_room_6.o" number 3 endseg beginseg name "shrine_scene" romalign 0x1000 - include "build/assets/scenes/misc/shrine/shrine_scene.o" + include "$(BUILD_DIR)/assets/scenes/misc/shrine/shrine_scene.o" number 2 endseg beginseg name "shrine_room_0" romalign 0x1000 - include "build/assets/scenes/misc/shrine/shrine_room_0.o" + include "$(BUILD_DIR)/assets/scenes/misc/shrine/shrine_room_0.o" number 3 endseg beginseg name "turibori_scene" romalign 0x1000 - include "build/assets/scenes/misc/turibori/turibori_scene.o" + include "$(BUILD_DIR)/assets/scenes/misc/turibori/turibori_scene.o" number 2 endseg beginseg name "turibori_room_0" romalign 0x1000 - include "build/assets/scenes/misc/turibori/turibori_room_0.o" + include "$(BUILD_DIR)/assets/scenes/misc/turibori/turibori_room_0.o" number 3 endseg beginseg name "shrine_n_scene" romalign 0x1000 - include "build/assets/scenes/misc/shrine_n/shrine_n_scene.o" + include "$(BUILD_DIR)/assets/scenes/misc/shrine_n/shrine_n_scene.o" number 2 endseg beginseg name "shrine_n_room_0" romalign 0x1000 - include "build/assets/scenes/misc/shrine_n/shrine_n_room_0.o" + include "$(BUILD_DIR)/assets/scenes/misc/shrine_n/shrine_n_room_0.o" number 3 endseg beginseg name "shrine_r_scene" romalign 0x1000 - include "build/assets/scenes/misc/shrine_r/shrine_r_scene.o" + include "$(BUILD_DIR)/assets/scenes/misc/shrine_r/shrine_r_scene.o" number 2 endseg beginseg name "shrine_r_room_0" romalign 0x1000 - include "build/assets/scenes/misc/shrine_r/shrine_r_room_0.o" + include "$(BUILD_DIR)/assets/scenes/misc/shrine_r/shrine_r_room_0.o" number 3 endseg beginseg name "hakaana2_scene" romalign 0x1000 - include "build/assets/scenes/misc/hakaana2/hakaana2_scene.o" + include "$(BUILD_DIR)/assets/scenes/misc/hakaana2/hakaana2_scene.o" number 2 endseg beginseg name "hakaana2_room_0" romalign 0x1000 - include "build/assets/scenes/misc/hakaana2/hakaana2_room_0.o" + include "$(BUILD_DIR)/assets/scenes/misc/hakaana2/hakaana2_room_0.o" number 3 endseg beginseg name "gerudoway_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/gerudoway/gerudoway_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/gerudoway/gerudoway_scene.o" number 2 endseg beginseg name "gerudoway_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/gerudoway/gerudoway_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/gerudoway/gerudoway_room_0.o" number 3 endseg beginseg name "gerudoway_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/gerudoway/gerudoway_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/gerudoway/gerudoway_room_1.o" number 3 endseg beginseg name "gerudoway_room_2" romalign 0x1000 - include "build/assets/scenes/dungeons/gerudoway/gerudoway_room_2.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/gerudoway/gerudoway_room_2.o" number 3 endseg beginseg name "gerudoway_room_3" romalign 0x1000 - include "build/assets/scenes/dungeons/gerudoway/gerudoway_room_3.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/gerudoway/gerudoway_room_3.o" number 3 endseg beginseg name "gerudoway_room_4" romalign 0x1000 - include "build/assets/scenes/dungeons/gerudoway/gerudoway_room_4.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/gerudoway/gerudoway_room_4.o" number 3 endseg beginseg name "gerudoway_room_5" romalign 0x1000 - include "build/assets/scenes/dungeons/gerudoway/gerudoway_room_5.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/gerudoway/gerudoway_room_5.o" number 3 endseg beginseg name "hairal_niwa_n_scene" romalign 0x1000 - include "build/assets/scenes/indoors/hairal_niwa_n/hairal_niwa_n_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/hairal_niwa_n/hairal_niwa_n_scene.o" number 2 endseg beginseg name "hairal_niwa_n_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/hairal_niwa_n/hairal_niwa_n_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/hairal_niwa_n/hairal_niwa_n_room_0.o" number 3 endseg beginseg name "bowling_scene" romalign 0x1000 - include "build/assets/scenes/indoors/bowling/bowling_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/bowling/bowling_scene.o" number 2 endseg beginseg name "bowling_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/bowling/bowling_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/bowling/bowling_room_0.o" number 3 endseg beginseg name "hakaana_ouke_scene" romalign 0x1000 - include "build/assets/scenes/misc/hakaana_ouke/hakaana_ouke_scene.o" + include "$(BUILD_DIR)/assets/scenes/misc/hakaana_ouke/hakaana_ouke_scene.o" number 2 endseg beginseg name "hakaana_ouke_room_0" romalign 0x1000 - include "build/assets/scenes/misc/hakaana_ouke/hakaana_ouke_room_0.o" + include "$(BUILD_DIR)/assets/scenes/misc/hakaana_ouke/hakaana_ouke_room_0.o" number 3 endseg beginseg name "hakaana_ouke_room_1" romalign 0x1000 - include "build/assets/scenes/misc/hakaana_ouke/hakaana_ouke_room_1.o" + include "$(BUILD_DIR)/assets/scenes/misc/hakaana_ouke/hakaana_ouke_room_1.o" number 3 endseg beginseg name "hakaana_ouke_room_2" romalign 0x1000 - include "build/assets/scenes/misc/hakaana_ouke/hakaana_ouke_room_2.o" + include "$(BUILD_DIR)/assets/scenes/misc/hakaana_ouke/hakaana_ouke_room_2.o" number 3 endseg beginseg name "hylia_labo_scene" romalign 0x1000 - include "build/assets/scenes/indoors/hylia_labo/hylia_labo_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/hylia_labo/hylia_labo_scene.o" number 2 endseg beginseg name "hylia_labo_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/hylia_labo/hylia_labo_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/hylia_labo/hylia_labo_room_0.o" number 3 endseg beginseg name "souko_scene" romalign 0x1000 - include "build/assets/scenes/overworld/souko/souko_scene.o" + include "$(BUILD_DIR)/assets/scenes/overworld/souko/souko_scene.o" number 2 endseg beginseg name "souko_room_0" romalign 0x1000 - include "build/assets/scenes/overworld/souko/souko_room_0.o" + include "$(BUILD_DIR)/assets/scenes/overworld/souko/souko_room_0.o" number 3 endseg beginseg name "souko_room_1" romalign 0x1000 - include "build/assets/scenes/overworld/souko/souko_room_1.o" + include "$(BUILD_DIR)/assets/scenes/overworld/souko/souko_room_1.o" number 3 endseg beginseg name "souko_room_2" romalign 0x1000 - include "build/assets/scenes/overworld/souko/souko_room_2.o" + include "$(BUILD_DIR)/assets/scenes/overworld/souko/souko_room_2.o" number 3 endseg beginseg name "miharigoya_scene" romalign 0x1000 - include "build/assets/scenes/indoors/miharigoya/miharigoya_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/miharigoya/miharigoya_scene.o" number 2 endseg beginseg name "miharigoya_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/miharigoya/miharigoya_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/miharigoya/miharigoya_room_0.o" number 3 endseg beginseg name "mahouya_scene" romalign 0x1000 - include "build/assets/scenes/indoors/mahouya/mahouya_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/mahouya/mahouya_scene.o" number 2 endseg beginseg name "mahouya_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/mahouya/mahouya_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/mahouya/mahouya_room_0.o" number 3 endseg beginseg name "takaraya_scene" romalign 0x1000 - include "build/assets/scenes/indoors/takaraya/takaraya_scene.o" + include "$(BUILD_DIR)/assets/scenes/indoors/takaraya/takaraya_scene.o" number 2 endseg beginseg name "takaraya_room_0" romalign 0x1000 - include "build/assets/scenes/indoors/takaraya/takaraya_room_0.o" + include "$(BUILD_DIR)/assets/scenes/indoors/takaraya/takaraya_room_0.o" number 3 endseg beginseg name "takaraya_room_1" romalign 0x1000 - include "build/assets/scenes/indoors/takaraya/takaraya_room_1.o" + include "$(BUILD_DIR)/assets/scenes/indoors/takaraya/takaraya_room_1.o" number 3 endseg beginseg name "takaraya_room_2" romalign 0x1000 - include "build/assets/scenes/indoors/takaraya/takaraya_room_2.o" + include "$(BUILD_DIR)/assets/scenes/indoors/takaraya/takaraya_room_2.o" number 3 endseg beginseg name "takaraya_room_3" romalign 0x1000 - include "build/assets/scenes/indoors/takaraya/takaraya_room_3.o" + include "$(BUILD_DIR)/assets/scenes/indoors/takaraya/takaraya_room_3.o" number 3 endseg beginseg name "takaraya_room_4" romalign 0x1000 - include "build/assets/scenes/indoors/takaraya/takaraya_room_4.o" + include "$(BUILD_DIR)/assets/scenes/indoors/takaraya/takaraya_room_4.o" number 3 endseg beginseg name "takaraya_room_5" romalign 0x1000 - include "build/assets/scenes/indoors/takaraya/takaraya_room_5.o" + include "$(BUILD_DIR)/assets/scenes/indoors/takaraya/takaraya_room_5.o" number 3 endseg beginseg name "takaraya_room_6" romalign 0x1000 - include "build/assets/scenes/indoors/takaraya/takaraya_room_6.o" + include "$(BUILD_DIR)/assets/scenes/indoors/takaraya/takaraya_room_6.o" number 3 endseg beginseg name "ganon_sonogo_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon_sonogo/ganon_sonogo_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon_sonogo/ganon_sonogo_scene.o" number 2 endseg beginseg name "ganon_sonogo_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon_sonogo/ganon_sonogo_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon_sonogo/ganon_sonogo_room_0.o" number 3 endseg beginseg name "ganon_sonogo_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon_sonogo/ganon_sonogo_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon_sonogo/ganon_sonogo_room_1.o" number 3 endseg beginseg name "ganon_sonogo_room_2" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon_sonogo/ganon_sonogo_room_2.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon_sonogo/ganon_sonogo_room_2.o" number 3 endseg beginseg name "ganon_sonogo_room_3" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon_sonogo/ganon_sonogo_room_3.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon_sonogo/ganon_sonogo_room_3.o" number 3 endseg beginseg name "ganon_sonogo_room_4" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon_sonogo/ganon_sonogo_room_4.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon_sonogo/ganon_sonogo_room_4.o" number 3 endseg beginseg name "ganon_demo_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon_demo/ganon_demo_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon_demo/ganon_demo_scene.o" number 2 endseg beginseg name "ganon_demo_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/ganon_demo/ganon_demo_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganon_demo/ganon_demo_room_0.o" number 3 endseg beginseg name "besitu_scene" romalign 0x1000 - include "build/assets/scenes/test_levels/besitu/besitu_scene.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/besitu/besitu_scene.o" number 2 endseg beginseg name "besitu_room_0" romalign 0x1000 - include "build/assets/scenes/test_levels/besitu/besitu_room_0.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/besitu/besitu_room_0.o" number 3 endseg beginseg name "face_shop_scene" romalign 0x1000 - include "build/assets/scenes/shops/face_shop/face_shop_scene.o" + include "$(BUILD_DIR)/assets/scenes/shops/face_shop/face_shop_scene.o" number 2 endseg beginseg name "face_shop_room_0" romalign 0x1000 - include "build/assets/scenes/shops/face_shop/face_shop_room_0.o" + include "$(BUILD_DIR)/assets/scenes/shops/face_shop/face_shop_room_0.o" number 3 endseg beginseg name "kinsuta_scene" romalign 0x1000 - include "build/assets/scenes/misc/kinsuta/kinsuta_scene.o" + include "$(BUILD_DIR)/assets/scenes/misc/kinsuta/kinsuta_scene.o" number 2 endseg beginseg name "kinsuta_room_0" romalign 0x1000 - include "build/assets/scenes/misc/kinsuta/kinsuta_room_0.o" + include "$(BUILD_DIR)/assets/scenes/misc/kinsuta/kinsuta_room_0.o" number 3 endseg beginseg name "ganontikasonogo_scene" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontikasonogo/ganontikasonogo_scene.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontikasonogo/ganontikasonogo_scene.o" number 2 endseg beginseg name "ganontikasonogo_room_0" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontikasonogo/ganontikasonogo_room_0.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontikasonogo/ganontikasonogo_room_0.o" number 3 endseg beginseg name "ganontikasonogo_room_1" romalign 0x1000 - include "build/assets/scenes/dungeons/ganontikasonogo/ganontikasonogo_room_1.o" + include "$(BUILD_DIR)/assets/scenes/dungeons/ganontikasonogo/ganontikasonogo_room_1.o" number 3 endseg beginseg name "test01_scene" romalign 0x1000 - include "build/assets/scenes/test_levels/test01/test01_scene.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/test01/test01_scene.o" number 2 endseg beginseg name "test01_room_0" romalign 0x1000 - include "build/assets/scenes/test_levels/test01/test01_room_0.o" + include "$(BUILD_DIR)/assets/scenes/test_levels/test01/test01_room_0.o" number 3 endseg beginseg name "bump_texture_static" romalign 0x1000 - include "build/baserom/bump_texture_static.o" + include "$(BUILD_DIR)/baserom/bump_texture_static.o" endseg beginseg name "anime_model_1_static" romalign 0x1000 - include "build/baserom/anime_model_1_static.o" + include "$(BUILD_DIR)/baserom/anime_model_1_static.o" endseg beginseg name "anime_model_2_static" romalign 0x1000 - include "build/baserom/anime_model_2_static.o" + include "$(BUILD_DIR)/baserom/anime_model_2_static.o" endseg beginseg name "anime_model_3_static" romalign 0x1000 - include "build/baserom/anime_model_3_static.o" + include "$(BUILD_DIR)/baserom/anime_model_3_static.o" endseg beginseg name "anime_model_4_static" romalign 0x1000 - include "build/baserom/anime_model_4_static.o" + include "$(BUILD_DIR)/baserom/anime_model_4_static.o" endseg beginseg name "anime_model_5_static" romalign 0x1000 - include "build/baserom/anime_model_5_static.o" + include "$(BUILD_DIR)/baserom/anime_model_5_static.o" endseg beginseg name "anime_model_6_static" romalign 0x1000 - include "build/baserom/anime_model_6_static.o" + include "$(BUILD_DIR)/baserom/anime_model_6_static.o" endseg beginseg name "anime_texture_1_static" romalign 0x1000 - include "build/baserom/anime_texture_1_static.o" + include "$(BUILD_DIR)/baserom/anime_texture_1_static.o" endseg beginseg name "anime_texture_2_static" romalign 0x1000 - include "build/baserom/anime_texture_2_static.o" + include "$(BUILD_DIR)/baserom/anime_texture_2_static.o" endseg beginseg name "anime_texture_3_static" romalign 0x1000 - include "build/baserom/anime_texture_3_static.o" + include "$(BUILD_DIR)/baserom/anime_texture_3_static.o" endseg beginseg name "anime_texture_4_static" romalign 0x1000 - include "build/baserom/anime_texture_4_static.o" + include "$(BUILD_DIR)/baserom/anime_texture_4_static.o" endseg beginseg name "anime_texture_5_static" romalign 0x1000 - include "build/baserom/anime_texture_5_static.o" + include "$(BUILD_DIR)/baserom/anime_texture_5_static.o" endseg beginseg name "anime_texture_6_static" romalign 0x1000 - include "build/baserom/anime_texture_6_static.o" + include "$(BUILD_DIR)/baserom/anime_texture_6_static.o" endseg beginseg name "softsprite_matrix_static" romalign 0x1000 - include "build/baserom/softsprite_matrix_static.o" + include "$(BUILD_DIR)/baserom/softsprite_matrix_static.o" endseg diff --git a/src/audio/lib/effects.c b/src/audio/lib/effects.c index 6844d8ae57..8de03887e9 100644 --- a/src/audio/lib/effects.c +++ b/src/audio/lib/effects.c @@ -269,7 +269,7 @@ f32 Audio_AdsrUpdate(AdsrState* adsr) { adsr->delay = 1; } adsr->target = adsr->envelope[adsr->envIndex].arg / 32767.0f; - adsr->target = adsr->target * adsr->target; + adsr->target = SQ(adsr->target); adsr->velocity = (adsr->target - adsr->current) / adsr->delay; adsr->action.s.state = ADSR_STATE_FADE; adsr->envIndex++; diff --git a/src/audio/lib/heap.c b/src/audio/lib/heap.c index 4b586c8c5e..899cf912b9 100644 --- a/src/audio/lib/heap.c +++ b/src/audio/lib/heap.c @@ -1356,8 +1356,8 @@ void AudioHeap_ChangeStorage(StorageChange* change, Sample* sample) { u32 startAddr = change->oldAddr; u32 endAddr = change->oldAddr + change->size; - if (startAddr <= (u32)sample->sampleAddr && (u32)sample->sampleAddr < endAddr) { - sample->sampleAddr = sample->sampleAddr - startAddr + change->newAddr; + if (((u32)sample->sampleAddr >= startAddr) && ((u32)sample->sampleAddr < endAddr)) { + sample->sampleAddr += -startAddr + change->newAddr; sample->medium = change->newMedium; } } diff --git a/src/audio/lib/load.c b/src/audio/lib/load.c index f30527d971..b7b674a237 100644 --- a/src/audio/lib/load.c +++ b/src/audio/lib/load.c @@ -789,7 +789,7 @@ AudioTable* AudioLoad_GetLoadTable(s32 tableType) { * Also relocate offsets into pointers within this loaded soundFont * * @param fontId index of font being processed - * @param fontData ram address of raw soundfont binary loaded into cache + * @param fontDataStartAddr ram address of raw soundfont binary loaded into cache * @param sampleBankReloc information on the sampleBank containing raw audio samples */ void AudioLoad_RelocateFont(s32 fontId, SoundFontData* fontDataStartAddr, SampleBankRelocInfo* sampleBankReloc) { @@ -811,7 +811,6 @@ void AudioLoad_RelocateFont(s32 fontId, SoundFontData* fontDataStartAddr, Sample // The first u32 in fontData is an offset to a list of offsets to the drums soundListOffset = fontData[0]; - if (1) {} // If the soundFont has drums if ((soundListOffset != 0) && (numDrums != 0)) { @@ -824,20 +823,24 @@ void AudioLoad_RelocateFont(s32 fontId, SoundFontData* fontDataStartAddr, Sample soundOffset = (u32)((Drum**)fontData[0])[i]; // Some drum data entries are empty, represented by an offset of 0 in the list of drum offsets - if (soundOffset != 0) { - soundOffset = RELOC_TO_RAM(soundOffset); - ((Drum**)fontData[0])[i] = drum = (Drum*)soundOffset; - - // The drum may be in the list multiple times and already relocated - if (!drum->isRelocated) { - AudioLoad_RelocateSample(&drum->tunedSample, fontDataStartAddr, sampleBankReloc); - - soundOffset = (u32)drum->envelope; - drum->envelope = (EnvelopePoint*)RELOC_TO_RAM(soundOffset); - - drum->isRelocated = true; - } + if (soundOffset == 0) { + continue; } + + soundOffset = RELOC_TO_RAM(soundOffset); + ((Drum**)fontData[0])[i] = drum = (Drum*)soundOffset; + + // The drum may be in the list multiple times and already relocated + if (drum->isRelocated) { + continue; + } + + AudioLoad_RelocateSample(&drum->tunedSample, fontDataStartAddr, sampleBankReloc); + + soundOffset = (u32)drum->envelope; + drum->envelope = (EnvelopePoint*)RELOC_TO_RAM(soundOffset); + + drum->isRelocated = true; } } @@ -845,7 +848,6 @@ void AudioLoad_RelocateFont(s32 fontId, SoundFontData* fontDataStartAddr, Sample // The second u32 in fontData is an offset to the first sound effect entry soundListOffset = fontData[1]; - if (1) {} // If the soundFont has sound effects if ((soundListOffset != 0) && (numSfx != 0)) { @@ -859,9 +861,11 @@ void AudioLoad_RelocateFont(s32 fontId, SoundFontData* fontDataStartAddr, Sample soundEffect = (SoundEffect*)soundOffset; // Check for NULL (note: the pointer is guaranteed to be in fontData and can never be NULL) - if ((soundEffect != NULL) && ((u32)soundEffect->tunedSample.sample != 0)) { - AudioLoad_RelocateSample(&soundEffect->tunedSample, fontDataStartAddr, sampleBankReloc); + if ((soundEffect == NULL) || ((u32)soundEffect->tunedSample.sample == 0)) { + continue; } + + AudioLoad_RelocateSample(&soundEffect->tunedSample, fontDataStartAddr, sampleBankReloc); } } diff --git a/src/boot/idle.c b/src/boot/idle.c index 30c244876c..c5dd92bd28 100644 --- a/src/boot/idle.c +++ b/src/boot/idle.c @@ -23,8 +23,8 @@ void Main_ThreadEntry(void* arg) { DmaMgr_Init(); osSyncPrintf("codeセグメントロード中..."); time = osGetTime(); - DmaMgr_RequestSyncDebug(_codeSegmentStart, (uintptr_t)_codeSegmentRomStart, - _codeSegmentRomEnd - _codeSegmentRomStart, "../idle.c", 238); + DMA_REQUEST_SYNC(_codeSegmentStart, (uintptr_t)_codeSegmentRomStart, _codeSegmentRomEnd - _codeSegmentRomStart, + "../idle.c", 238); time -= osGetTime(); osSyncPrintf("\rcodeセグメントロード中...完了\n"); osSyncPrintf("転送時間 %6.3f\n"); diff --git a/src/boot/z_std_dma.c b/src/boot/z_std_dma.c index 6097605186..417e7665a6 100644 --- a/src/boot/z_std_dma.c +++ b/src/boot/z_std_dma.c @@ -446,9 +446,11 @@ void DmaMgr_ThreadEntry(void* arg) { } /** - * Submits a DMA request to the DMA manager. For internal use only. + * Submit an asynchronous DMA request. Unlike other DMA requests, this will not block the current thread. Data arrival + * is not immediate however, ensure that the request has completed by awaiting a message sent to `queue` when the DMA + * operation has completed. * - * @param req DMA request, filled out internally. + * @param req DMA request structure, filled out internally. * @param ram Location in DRAM for data to be written. * @param vrom Virtual ROM location for data to be read. * @param size Transfer size. @@ -456,8 +458,8 @@ void DmaMgr_ThreadEntry(void* arg) { * @param msg Message to send to `queue` once the transfer is complete. * @return 0 */ -s32 DmaMgr_SendRequest(DmaRequest* req, void* ram, uintptr_t vrom, size_t size, u32 unk, OSMesgQueue* queue, - OSMesg msg) { +s32 DmaMgr_RequestAsync(DmaRequest* req, void* ram, uintptr_t vrom, size_t size, u32 unk, OSMesgQueue* queue, + OSMesg msg) { static s32 sDmaMgrQueueFullLogged = 0; if ((1 && (ram == NULL)) || (osMemSize < OS_K0_TO_PHYSICAL(ram) + size) || (vrom & 1) || (vrom > 0x4000000) || @@ -504,8 +506,8 @@ s32 DmaMgr_RequestSync(void* ram, uintptr_t vrom, size_t size) { s32 ret; osCreateMesgQueue(&queue, &msg, 1); - ret = DmaMgr_SendRequest(&req, ram, vrom, size, 0, &queue, NULL); - if (ret == -1) { // DmaMgr_SendRequest only returns 0 + ret = DmaMgr_RequestAsync(&req, ram, vrom, size, 0, &queue, NULL); + if (ret == -1) { // DmaMgr_RequestAsync only returns 0 return ret; } @@ -564,25 +566,15 @@ void DmaMgr_Init(void) { } /** - * Submit an asynchronous DMA request. Unlike other DMA requests, this will not block the current thread. Data arrival - * is not immediate however, ensure that the request has completed by awaiting a message sent to `queue` when the DMA - * operation has completed. + * Asynchronous DMA Request with source file and line info for debugging. * - * @param req DMA request structure, filled out internally. - * @param ram Location in DRAM for data to be written. - * @param vrom Virtual ROM location for data to be read. - * @param size Transfer size. - * @param queue Message queue to notify with `msg` once the transfer is complete. - * @param msg Message to send to `queue` once the transfer is complete. - * @param file Debug filename of caller. - * @param line Debug line number of caller. - * @return 0 + * @see DmaMgr_RequestAsync */ -s32 DmaMgr_RequestAsync(DmaRequest* req, void* ram, uintptr_t vrom, size_t size, u32 unk5, OSMesgQueue* queue, - OSMesg msg, const char* file, s32 line) { +s32 DmaMgr_RequestAsyncDebug(DmaRequest* req, void* ram, uintptr_t vrom, size_t size, u32 unk5, OSMesgQueue* queue, + OSMesg msg, const char* file, s32 line) { req->filename = file; req->line = line; - return DmaMgr_SendRequest(req, ram, vrom, size, unk5, queue, msg); + return DmaMgr_RequestAsync(req, ram, vrom, size, unk5, queue, msg); } /** @@ -600,8 +592,8 @@ s32 DmaMgr_RequestSyncDebug(void* ram, uintptr_t vrom, size_t size, const char* req.filename = file; req.line = line; osCreateMesgQueue(&queue, &msg, 1); - ret = DmaMgr_SendRequest(&req, ram, vrom, size, 0, &queue, NULL); - if (ret == -1) { // DmaMgr_SendRequest only returns 0 + ret = DmaMgr_RequestAsync(&req, ram, vrom, size, 0, &queue, NULL); + if (ret == -1) { // DmaMgr_RequestAsync only returns 0 return ret; } diff --git a/src/code/audio_thread_manager.c b/src/code/audio_thread_manager.c index 01bf54397d..1593411537 100644 --- a/src/code/audio_thread_manager.c +++ b/src/code/audio_thread_manager.c @@ -1,82 +1,134 @@ +/** + * @file audio_thread_manager.c + * + * This file implements basic thread features for the audio driver. It manages updating the driver on vertical retrace + * and sending the audio rsp tasks generated by the driver to the task scheduler. + */ + #include "global.h" -void func_800C3C80(AudioMgr* audioMgr) { +void AudioMgr_NotifyTaskDone(AudioMgr* audioMgr) { AudioTask* task = audioMgr->rspTask; + // If the audio rsp task has a message queue to receive task done notifications, post a message to it. if (audioMgr->rspTask->msgQueue != NULL) { osSendMesg(task->msgQueue, NULL, OS_MESG_BLOCK); } } +/** + * Handle retrace event. + * Update the audio driver and schedule audio rsp tasks. + */ void AudioMgr_HandleRetrace(AudioMgr* audioMgr) { AudioTask* rspTask; - if (SREG(20) > 0) { + if (R_AUDIOMGR_DEBUG_LEVEL > AUDIOMGR_DEBUG_LEVEL_NONE) { + // Inhibit audio rsp task processing audioMgr->rspTask = NULL; } + if (audioMgr->rspTask != NULL) { + // Got an rsp task to process, build the OSScTask and forward it to the scheduler to run + audioMgr->audioTask.next = NULL; audioMgr->audioTask.flags = OS_SC_NEEDS_RSP; audioMgr->audioTask.framebuffer = NULL; audioMgr->audioTask.list = audioMgr->rspTask->task; - audioMgr->audioTask.msgQueue = &audioMgr->taskQueue; + audioMgr->audioTask.msgQueue = &audioMgr->taskDoneQueue; audioMgr->audioTask.msg = NULL; osSendMesg(&audioMgr->sched->cmdQueue, (OSMesg)&audioMgr->audioTask, OS_MESG_BLOCK); Sched_Notify(audioMgr->sched); } + // Update the audio driver + gAudioThreadUpdateTimeStart = osGetTime(); - if (SREG(20) >= 2) { + + if (R_AUDIOMGR_DEBUG_LEVEL >= AUDIOMGR_DEBUG_LEVEL_NO_UPDATE) { + // Skip update, no rsp task produced rspTask = NULL; } else { rspTask = func_800E4FE0(); } + gAudioThreadUpdateTimeAcc += osGetTime() - gAudioThreadUpdateTimeStart; gAudioThreadUpdateTimeStart = 0; if (audioMgr->rspTask != NULL) { - osRecvMesg(&audioMgr->taskQueue, NULL, OS_MESG_BLOCK); - func_800C3C80(audioMgr); + // Wait for the audio rsp task scheduled on the previous retrace to complete. This looks like it should wait + // for the task scheduled on the current retrace, earlier in this function, but since the queue is initially + // filled in AudioMgr_Init this osRecvMesg call doesn't wait for the task scheduler to post a message for the + // most recent task as there is already a message waiting. + osRecvMesg(&audioMgr->taskDoneQueue, NULL, OS_MESG_BLOCK); + // Report task done + //! @bug As the above osRecvMesg is waiting for the previous task to complete rather than the current task, + //! the task done notification is sent to the task done queue for the current task as soon as the previous task + //! is completed, without waiting for the current task. + //! In practice, task done notifications are not used by the audio driver so this is inconsequential. + AudioMgr_NotifyTaskDone(audioMgr); } + // Update rsp task to be scheduled on next retrace audioMgr->rspTask = rspTask; } +/** + * Handle Pre-NMI event. + * Implemented by the audio driver. + * + * @see Audio_PreNMI + */ void AudioMgr_HandlePreNMI(AudioMgr* audioMgr) { // "Audio manager received OS_SC_PRE_NMI_MSG" osSyncPrintf("オーディオマネージャが OS_SC_PRE_NMI_MSG を受け取りました\n"); Audio_PreNMI(); } -void AudioMgr_ThreadEntry(void* arg0) { - AudioMgr* audioMgr = (AudioMgr*)arg0; +void AudioMgr_ThreadEntry(void* arg) { + AudioMgr* audioMgr = (AudioMgr*)arg; IrqMgrClient irqClient; s16* msg = NULL; - osSyncPrintf("オーディオマネージャスレッド実行開始\n"); // "Start running audio manager thread" + // "Start running audio manager thread" + osSyncPrintf("オーディオマネージャスレッド実行開始\n"); + + // Initialize audio driver Audio_Init(); AudioLoad_SetDmaHandler(DmaMgr_AudioDmaHandler); Audio_InitSound(); - osSendMesg(&audioMgr->lockQueue, NULL, OS_MESG_BLOCK); + + // Fill init queue to signal that the audio driver is initialized + osSendMesg(&audioMgr->initQueue, NULL, OS_MESG_BLOCK); + IrqMgr_AddClient(audioMgr->irqMgr, &irqClient, &audioMgr->interruptQueue); + // Spin waiting for events while (true) { osRecvMesg(&audioMgr->interruptQueue, (OSMesg*)&msg, OS_MESG_BLOCK); + switch (*msg) { case OS_SC_RETRACE_MSG: AudioMgr_HandleRetrace(audioMgr); + + // Empty the interrupt queue while (!MQ_IS_EMPTY(&audioMgr->interruptQueue)) { osRecvMesg(&audioMgr->interruptQueue, (OSMesg*)&msg, OS_MESG_BLOCK); + switch (*msg) { case OS_SC_RETRACE_MSG: + // Don't process a retrace more than once in quick succession break; + case OS_SC_PRE_NMI_MSG: + // Always handle Pre-NMI AudioMgr_HandlePreNMI(audioMgr); break; } } break; + case OS_SC_PRE_NMI_MSG: AudioMgr_HandlePreNMI(audioMgr); break; @@ -84,8 +136,15 @@ void AudioMgr_ThreadEntry(void* arg0) { } } -void AudioMgr_Unlock(AudioMgr* audioMgr) { - osRecvMesg(&audioMgr->lockQueue, NULL, OS_MESG_BLOCK); +/** + * Stalls the current thread until the audio thread is sufficiently initialized. + * + * Note this function only works once. After the first call the message that the audio thread posted to the init queue + * will have been removed, subsequent calls to this function will block indefinitely as the audio thread does not refill + * the queue. + */ +void AudioMgr_WaitForInit(AudioMgr* audioMgr) { + osRecvMesg(&audioMgr->initQueue, NULL, OS_MESG_BLOCK); } void AudioMgr_Init(AudioMgr* audioMgr, void* stack, OSPri pri, OSId id, Scheduler* sched, IrqMgr* irqMgr) { @@ -95,11 +154,12 @@ void AudioMgr_Init(AudioMgr* audioMgr, void* stack, OSPri pri, OSId id, Schedule audioMgr->irqMgr = irqMgr; audioMgr->rspTask = NULL; - osCreateMesgQueue(&audioMgr->taskQueue, audioMgr->taskMsgBuf, ARRAY_COUNT(audioMgr->taskMsgBuf)); + osCreateMesgQueue(&audioMgr->taskDoneQueue, &audioMgr->taskDoneMsg, 1); osCreateMesgQueue(&audioMgr->interruptQueue, audioMgr->interruptMsgBuf, ARRAY_COUNT(audioMgr->interruptMsgBuf)); - osCreateMesgQueue(&audioMgr->lockQueue, audioMgr->lockMsgBuf, ARRAY_COUNT(audioMgr->lockMsgBuf)); + osCreateMesgQueue(&audioMgr->initQueue, &audioMgr->initMsg, 1); - osSendMesg(&audioMgr->taskQueue, NULL, OS_MESG_BLOCK); + // Send a message to the task done queue so it is initially full + osSendMesg(&audioMgr->taskDoneQueue, NULL, OS_MESG_BLOCK); osCreateThread(&audioMgr->thread, id, AudioMgr_ThreadEntry, audioMgr, stack, pri); osStartThread(&audioMgr->thread); diff --git a/src/code/code_800FC620.c b/src/code/code_800FC620.c index d31d028a9b..deca11a4fa 100644 --- a/src/code/code_800FC620.c +++ b/src/code/code_800FC620.c @@ -13,7 +13,7 @@ typedef struct InitFunc { // .data void* sInitFuncs = NULL; -char sNew[] = { 'n', 'e', 'w' }; +char sNew[] = "new"; char D_80134488[0x18] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x80, 0x00, 0x00, @@ -100,7 +100,7 @@ void func_800FCB34(void) { initFunc = (InitFunc*)((s32)initFunc + nextOffset); if (initFunc->func != NULL) { - (*initFunc->func)(); + initFunc->func(); } nextOffset = initFunc->nextOffset; diff --git a/src/code/code_800FCE80.c b/src/code/code_800FCE80.c index 17b2bc4e57..8ac46833d9 100644 --- a/src/code/code_800FCE80.c +++ b/src/code/code_800FCE80.c @@ -50,8 +50,8 @@ f32 Math_FAtanTaylorQF(f32 x) { if (poly + term == poly) { break; } - poly = poly + term; - exp = exp * sq; + poly += term; + exp *= sq; } return poly; diff --git a/src/code/db_camera.c b/src/code/db_camera.c index 12e400bfeb..05fcd43666 100644 --- a/src/code/db_camera.c +++ b/src/code/db_camera.c @@ -95,25 +95,21 @@ static DebugCam* sDebugCamPtr; static s16 D_8016110C; static DebugCamAnim sDebugCamAnim; -Vec3f* DebugCamera_AddVecGeoToVec3f(Vec3f* dest, Vec3f* a, VecGeo* geo) { +Vec3f DebugCamera_AddVecGeoToVec3f(Vec3f* a, VecGeo* geo) { Vec3f sum; - Vec3f b; - - OLib_VecGeoToVec3f(&b, geo); + Vec3f b = OLib_VecGeoToVec3f(geo); sum.x = a->x + b.x; sum.y = a->y + b.y; sum.z = a->z + b.z; - *dest = sum; - - return dest; + return sum; } /** * Calculates a new Up vector from the pitch, yaw, roll */ -Vec3f* DebugCamera_CalcUpFromPitchYawRoll(Vec3f* viewUp, s16 pitch, s16 yaw, s16 roll) { +Vec3f DebugCamera_CalcUpFromPitchYawRoll(s16 pitch, s16 yaw, s16 roll) { f32 sinP = Math_SinS(pitch); f32 cosP = Math_CosS(pitch); f32 sinY = Math_SinS(yaw); @@ -155,9 +151,7 @@ Vec3f* DebugCamera_CalcUpFromPitchYawRoll(Vec3f* viewUp, s16 pitch, s16 yaw, s16 up.y = DOTXYZ(baseUp, rollMtxRow2); up.z = DOTXYZ(baseUp, rollMtxRow3); - *viewUp = up; - - return viewUp; + return up; } char* DebugCamera_SetTextValue(s16 value, char* str, u8 endIdx) { @@ -221,9 +215,9 @@ void func_800B3F94(PosRot* posRot, Vec3f* vec, Vec3s* out) { VecGeo geo; Vec3f tempVec; - OLib_Vec3fDiffToVecGeo(&geo, &posRot->pos, vec); + geo = OLib_Vec3fDiffToVecGeo(&posRot->pos, vec); geo.yaw -= posRot->rot.y; - OLib_VecGeoToVec3f(&tempVec, &geo); + tempVec = OLib_VecGeoToVec3f(&geo); DebugCamera_Vec3FToS(&tempVec, out); } @@ -232,9 +226,9 @@ void func_800B3FF4(PosRot* posRot, Vec3f* vec, Vec3f* out) { Vec3f tempVec; DebugCamera_CopyVec3f(vec, &tempVec); - OLib_Vec3fToVecGeo(&geo, &tempVec); + geo = OLib_Vec3fToVecGeo(&tempVec); geo.yaw += posRot->rot.y; - DebugCamera_AddVecGeoToVec3f(out, &posRot->pos, &geo); + *out = DebugCamera_AddVecGeoToVec3f(&posRot->pos, &geo); } void func_800B404C(PosRot* posRot, Vec3s* vec, Vec3f* out) { @@ -335,7 +329,7 @@ s32 func_800B4370(DebugCam* debugCam, s16 idx, Camera* cam) { geo.pitch = 0x2000; geo.yaw -= 0x7FFF; geo.r = 250.0f; - DebugCamera_AddVecGeoToVec3f(&debugCam->eye, &debugCam->at, &geo); + debugCam->eye = DebugCamera_AddVecGeoToVec3f(&debugCam->at, &geo); debugCam->roll = lookAt->cameraRoll; debugCam->rollDegrees = debugCam->roll * (360.0f / 256.0f); debugCam->fov = lookAt->viewAngle; @@ -668,9 +662,9 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) { phi_s0 = sp124; if (!D_80161144) { - OLib_Vec3fDiffToVecGeo(&sp104, sp7C, sp80); + sp104 = OLib_Vec3fDiffToVecGeo(sp7C, sp80); } else { - OLib_Vec3fDiffToVecGeo(&sp104, sp80, sp7C); + sp104 = OLib_Vec3fDiffToVecGeo(sp80, sp7C); } if (debugCam->unk_44 > 100) { @@ -706,11 +700,11 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) { spFC.r = temp_f2; if (!D_80161144) { spFC.yaw = sp104.yaw; - DebugCamera_AddVecGeoToVec3f(sp7C, sp7C, &spFC); + *sp7C = DebugCamera_AddVecGeoToVec3f(sp7C, &spFC); } else { spFC.pitch = -spFC.pitch; spFC.yaw = sp104.yaw - 0x7FFF; - DebugCamera_AddVecGeoToVec3f(sp80, sp80, &spFC); + *sp80 = DebugCamera_AddVecGeoToVec3f(sp80, &spFC); } if (debugCam->unk_40 == 0xB) { debugCam->unk_44++; @@ -734,11 +728,11 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) { spFC.r = -temp_f2; if (!D_80161144) { spFC.yaw = sp104.yaw; - DebugCamera_AddVecGeoToVec3f(sp7C, sp7C, &spFC); + *sp7C = DebugCamera_AddVecGeoToVec3f(sp7C, &spFC); } else { spFC.pitch = -spFC.pitch; spFC.yaw = sp104.yaw - 0x7FFF; - DebugCamera_AddVecGeoToVec3f(sp80, sp80, &spFC); + *sp80 = DebugCamera_AddVecGeoToVec3f(sp80, &spFC); } if (debugCam->unk_40 == 0xC) { debugCam->unk_44++; @@ -757,10 +751,10 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) { spFC.pitch = 0; if (!D_80161144) { spFC.yaw = sp104.yaw; - DebugCamera_AddVecGeoToVec3f(sp7C, sp7C, &spFC); + *sp7C = DebugCamera_AddVecGeoToVec3f(sp7C, &spFC); } else { spFC.yaw = sp104.yaw - 0x7FFF; - DebugCamera_AddVecGeoToVec3f(sp80, sp80, &spFC); + *sp80 = DebugCamera_AddVecGeoToVec3f(sp80, &spFC); } if (debugCam->unk_40 == 1) { @@ -775,10 +769,10 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) { spFC.pitch = 0; if (!D_80161144) { spFC.yaw = sp104.yaw; - DebugCamera_AddVecGeoToVec3f(sp7C, sp7C, &spFC); + *sp7C = DebugCamera_AddVecGeoToVec3f(sp7C, &spFC); } else { spFC.yaw = sp104.yaw - 0x7FFF; - DebugCamera_AddVecGeoToVec3f(sp80, sp80, &spFC); + *sp80 = DebugCamera_AddVecGeoToVec3f(sp80, &spFC); } if (debugCam->unk_40 == 2) { debugCam->unk_44++; @@ -792,9 +786,9 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) { spFC.pitch = 0x3FFF; spFC.yaw = sp104.yaw; if (!D_80161144) { - DebugCamera_AddVecGeoToVec3f(sp7C, sp7C, &spFC); + *sp7C = DebugCamera_AddVecGeoToVec3f(sp7C, &spFC); } else { - DebugCamera_AddVecGeoToVec3f(sp80, sp80, &spFC); + *sp80 = DebugCamera_AddVecGeoToVec3f(sp80, &spFC); } if (debugCam->unk_40 == 3) { debugCam->unk_44++; @@ -808,9 +802,9 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) { spFC.pitch = -0x3FFF; spFC.yaw = sp104.yaw; if (!D_80161144) { - DebugCamera_AddVecGeoToVec3f(sp7C, sp7C, &spFC); + *sp7C = DebugCamera_AddVecGeoToVec3f(sp7C, &spFC); } else { - DebugCamera_AddVecGeoToVec3f(sp80, sp80, &spFC); + *sp80 = DebugCamera_AddVecGeoToVec3f(sp80, &spFC); } if (debugCam->unk_40 == 4) { debugCam->unk_44++; @@ -825,10 +819,10 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) { spFC.pitch = 0; if (!D_80161144) { spFC.yaw = sp104.yaw + 0x3FFF; - DebugCamera_AddVecGeoToVec3f(sp7C, sp7C, &spFC); + *sp7C = DebugCamera_AddVecGeoToVec3f(sp7C, &spFC); } else { spFC.yaw = sp104.yaw - 0x3FFF; - DebugCamera_AddVecGeoToVec3f(sp80, sp80, &spFC); + *sp80 = DebugCamera_AddVecGeoToVec3f(sp80, &spFC); } if (debugCam->unk_40 == 5) { debugCam->unk_44++; @@ -843,10 +837,10 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) { spFC.pitch = 0; if (!D_80161144) { spFC.yaw = sp104.yaw - 0x3FFF; - DebugCamera_AddVecGeoToVec3f(sp7C, sp7C, &spFC); + *sp7C = DebugCamera_AddVecGeoToVec3f(sp7C, &spFC); } else { spFC.yaw = sp104.yaw + 0x3FFF; - DebugCamera_AddVecGeoToVec3f(sp80, sp80, &spFC); + *sp80 = DebugCamera_AddVecGeoToVec3f(sp80, &spFC); } if (debugCam->unk_40 == 6) { debugCam->unk_44++; @@ -870,11 +864,11 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) { spFC.r = temp_f2; if (!D_80161144) { spFC.yaw = sp104.yaw; - DebugCamera_AddVecGeoToVec3f(sp7C, sp7C, &spFC); + *sp7C = DebugCamera_AddVecGeoToVec3f(sp7C, &spFC); } else { spFC.pitch = -spFC.pitch; spFC.yaw = sp104.yaw - 0x7FFF; - DebugCamera_AddVecGeoToVec3f(sp80, sp80, &spFC); + *sp80 = DebugCamera_AddVecGeoToVec3f(sp80, &spFC); } if (debugCam->unk_40 == 0xB) { debugCam->unk_44++; @@ -899,11 +893,11 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) { spFC.r = -temp_f2; if (!D_80161144) { spFC.yaw = sp104.yaw; - DebugCamera_AddVecGeoToVec3f(sp7C, sp7C, &spFC); + *sp7C = DebugCamera_AddVecGeoToVec3f(sp7C, &spFC); } else { spFC.pitch = -spFC.pitch; spFC.yaw = sp104.yaw - 0x7FFF; - DebugCamera_AddVecGeoToVec3f(sp80, sp80, &spFC); + *sp80 = DebugCamera_AddVecGeoToVec3f(sp80, &spFC); } if (debugCam->unk_40 == 0xC) { debugCam->unk_44++; @@ -961,20 +955,20 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) { if (!D_80161144) { sp104.pitch += (s16)((temp_f0_5 >= 0.0f) ? pitch : -pitch); sp104.yaw += (s16)((temp_f2_2 >= 0.0f) ? yaw : -yaw); - DebugCamera_AddVecGeoToVec3f(sp80, sp7C, &sp104); + *sp80 = DebugCamera_AddVecGeoToVec3f(sp7C, &sp104); debugCam->sub.unk_104A.x = -sp104.pitch; debugCam->sub.unk_104A.y = sp104.yaw - 0x7FFF; } else { sp104.pitch += (s16)((temp_f0_5 >= 0.0f) ? -pitch : pitch); sp104.yaw += (s16)((temp_f2_2 >= 0.0f) ? -yaw : yaw); - DebugCamera_AddVecGeoToVec3f(sp7C, sp80, &sp104); + *sp7C = DebugCamera_AddVecGeoToVec3f(sp80, &sp104); debugCam->sub.unk_104A.x = sp104.pitch; debugCam->sub.unk_104A.y = sp104.yaw; } - OLib_Vec3fDiffToVecGeo(&spF4, sp80, sp7C); - DebugCamera_CalcUpFromPitchYawRoll(&debugCam->unk_1C, spF4.pitch, spF4.yaw, - CAM_DEG_TO_BINANG(debugCam->rollDegrees)); + spF4 = OLib_Vec3fDiffToVecGeo(sp80, sp7C); + debugCam->unk_1C = + DebugCamera_CalcUpFromPitchYawRoll(spF4.pitch, spF4.yaw, CAM_DEG_TO_BINANG(debugCam->rollDegrees)); if (debugCam->unk_00 == 1) { if (CHECK_BTN_ALL(sPlay->state.input[DEBUG_CAM_CONTROLLER_PORT].cur.button, BTN_CRIGHT)) { cam->inputDir = debugCam->sub.unk_104A; @@ -982,7 +976,7 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) { cam->at = *sp7C; spFC = sp104; spFC.r = new_var2; - DebugCamera_AddVecGeoToVec3f(&cam->eye, &cam->at, &spFC); + cam->eye = DebugCamera_AddVecGeoToVec3f(&cam->at, &spFC); } } } @@ -1380,7 +1374,7 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) { DebugCamera_ScreenTextColored(30, 25, DEBUG_CAM_TEXT_BROWN, &sp110); } else { if (D_8012CEE0[0]) {} - OLib_Vec3fDiffToVecGeo(&spFC, sp90, sp7C); + spFC = OLib_Vec3fDiffToVecGeo(sp90, sp7C); spFC.yaw -= cam->playerPosRot.rot.y; DebugCamera_ScreenTextColored( 3, 22, @@ -1394,7 +1388,7 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) { DebugCamera_ScreenTextColored(3, 24, DEBUG_CAM_TEXT_ORANGE, D_8012D0F8); DebugCamera_SetTextValue(spFC.r, &D_8012D0D4[7], 6); DebugCamera_ScreenTextColored(3, 25, DEBUG_CAM_TEXT_ORANGE, D_8012D0D4); - OLib_Vec3fDiffToVecGeo(&spFC, sp90, sp80); + spFC = OLib_Vec3fDiffToVecGeo(sp90, sp80); spFC.yaw -= cam->playerPosRot.rot.y; DebugCamera_ScreenTextColored(30, 22, ((debugCam->sub.unk_08 == 1) && (debugCam->sub.unk_0A == 4) && D_80161144) @@ -1425,7 +1419,7 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) { func_800B404C(temp_s6, &(debugCam->sub.lookAt + i)->pos, &spB8); func_800B404C(temp_s6, &(debugCam->sub.position + i)->pos, &spAC); } - OLib_Vec3fDiffToVecGeo(&spFC, &spAC, &spB8); + spFC = OLib_Vec3fDiffToVecGeo(&spAC, &spB8); spAA = debugCam->sub.lookAt[i].cameraRoll * 0xB6; if (i == debugCam->sub.unkIdx) { DebugDisplay_AddObject(spAC.x, spAC.y, spAC.z, spFC.pitch * -1, spFC.yaw, spAA, .5f, .5f, .5f, @@ -1496,7 +1490,7 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) { D_8012D110++; D_8012D110 %= 50; - OLib_Vec3fDiffToVecGeo(&spA0, &cam->eye, &cam->at); + spA0 = OLib_Vec3fDiffToVecGeo(&cam->eye, &cam->at); DebugDisplay_AddObject(debugCam->at.x, debugCam->at.y + 1.0f, debugCam->at.z, 0, 0, 0, 0.02f, 2.0f, 0.02f, 0xFF, 0xFF, 0x7F, 0x2D, 0, cam->play->view.gfxCtx); DebugDisplay_AddObject(debugCam->at.x, debugCam->at.y + 1.0f, debugCam->at.z, 0, 0, 0, 2.0f, 0.02f, 0.02f, 0x7F, @@ -1507,7 +1501,7 @@ void DebugCamera_Update(DebugCam* debugCam, Camera* cam) { 0x7F, 0x7F, 0x80, 5, cam->play->view.gfxCtx); DebugDisplay_AddObject(cam->at.x, cam->at.y, cam->at.z, spA0.pitch * -1, spA0.yaw, 0, 1.5f, 2.0f, 1.0f, 0xFF, 0x7F, 0x7F, 0x80, 4, cam->play->view.gfxCtx); - OLib_Vec3fDiffToVecGeo(&spA0, &cam->eyeNext, &cam->at); + spA0 = OLib_Vec3fDiffToVecGeo(&cam->eyeNext, &cam->at); DebugDisplay_AddObject(cam->eyeNext.x, cam->eyeNext.y, cam->eyeNext.z, spA0.pitch * -1, spA0.yaw, 0, .5f, .5f, .5f, 0xFF, 0xC0, 0x7F, 0x50, 5, cam->play->view.gfxCtx); } @@ -2183,9 +2177,9 @@ s32 DebugCamera_UpdateDemoControl(DebugCam* debugCam, Camera* cam) { Audio_PlaySfxGeneral(NA_SE_SY_GET_RUPY, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); } - OLib_Vec3fDiffToVecGeo(&sp5C, &debugCam->eye, &debugCam->at); - DebugCamera_CalcUpFromPitchYawRoll(&debugCam->unk_1C, sp5C.pitch, sp5C.yaw, - CAM_DEG_TO_BINANG(debugCam->rollDegrees)); + sp5C = OLib_Vec3fDiffToVecGeo(&debugCam->eye, &debugCam->at); + debugCam->unk_1C = + DebugCamera_CalcUpFromPitchYawRoll(sp5C.pitch, sp5C.yaw, CAM_DEG_TO_BINANG(debugCam->rollDegrees)); return 2; } diff --git a/src/code/gamealloc.c b/src/code/gamealloc.c index 9a4303ad23..2b1cd04d43 100644 --- a/src/code/gamealloc.c +++ b/src/code/gamealloc.c @@ -29,7 +29,7 @@ void* GameAlloc_MallocDebug(GameAlloc* this, u32 size, const char* file, s32 lin } void* GameAlloc_Malloc(GameAlloc* this, u32 size) { - GameAllocEntry* ptr = SystemArena_MallocDebug(size + sizeof(GameAllocEntry), "../gamealloc.c", 93); + GameAllocEntry* ptr = SYSTEM_ARENA_MALLOC(size + sizeof(GameAllocEntry), "../gamealloc.c", 93); if (ptr != NULL) { ptr->size = size; @@ -54,7 +54,7 @@ void GameAlloc_Free(GameAlloc* this, void* data) { ptr->prev->next = ptr->next; ptr->next->prev = ptr->prev; this->head = this->base.prev; - SystemArena_FreeDebug(ptr, "../gamealloc.c", 125); + SYSTEM_ARENA_FREE(ptr, "../gamealloc.c", 125); } } @@ -65,7 +65,7 @@ void GameAlloc_Cleanup(GameAlloc* this) { while (&this->base != next) { cur = next; next = next->next; - SystemArena_FreeDebug(cur, "../gamealloc.c", 145); + SYSTEM_ARENA_FREE(cur, "../gamealloc.c", 145); } this->head = &this->base; diff --git a/src/code/graph.c b/src/code/graph.c index fd79efac5c..5704c68f59 100644 --- a/src/code/graph.c +++ b/src/code/graph.c @@ -181,7 +181,6 @@ void Graph_TaskSet00(GraphicsContext* gfxCtx) { R_HREG_MODE = HREG_MODE_UCODE_DISAS; R_UCODE_DISAS_TOGGLE = 1; R_UCODE_DISAS_LOG_LEVEL = 2; - sPrevTaskWorkBuffer = sPrevTaskWorkBuffer; Graph_DisassembleUCode(sPrevTaskWorkBuffer); } @@ -426,7 +425,7 @@ void Graph_ThreadEntry(void* arg0) { size = ovl->instanceSize; osSyncPrintf("クラスサイズ=%dバイト\n", size); // "Class size = %d bytes" - gameState = SystemArena_MallocDebug(size, "../graph.c", 1196); + gameState = SYSTEM_ARENA_MALLOC(size, "../graph.c", 1196); if (gameState == NULL) { osSyncPrintf("確保失敗\n"); // "Failure to secure" @@ -443,7 +442,7 @@ void Graph_ThreadEntry(void* arg0) { nextOvl = Graph_GetNextGameState(gameState); GameState_Destroy(gameState); - SystemArena_FreeDebug(gameState, "../graph.c", 1227); + SYSTEM_ARENA_FREE(gameState, "../graph.c", 1227); Overlay_FreeGameState(ovl); } Graph_Destroy(&gfxCtx); diff --git a/src/code/jpegdecoder.c b/src/code/jpegdecoder.c index 3301817d0f..c0c772abd6 100644 --- a/src/code/jpegdecoder.c +++ b/src/code/jpegdecoder.c @@ -154,7 +154,7 @@ s32 JpegDecoder_ParseNextSymbol(JpegHuffmanTable* hTable, s16* outCoeff, s8* out if (sym) { *outCoeff = JpegDecoder_ReadBits(sym); if (*outCoeff < (1 << (sym - 1))) { - *outCoeff += (-1 << sym) + 1; + *outCoeff += (-1U << sym) + 1; } } diff --git a/src/code/listalloc.c b/src/code/listalloc.c index d4d24138cf..7560c20c64 100644 --- a/src/code/listalloc.c +++ b/src/code/listalloc.c @@ -7,7 +7,7 @@ ListAlloc* ListAlloc_Init(ListAlloc* this) { } void* ListAlloc_Alloc(ListAlloc* this, u32 size) { - ListAlloc* ptr = SystemArena_MallocDebug(size + sizeof(ListAlloc), "../listalloc.c", 40); + ListAlloc* ptr = SYSTEM_ARENA_MALLOC(size + sizeof(ListAlloc), "../listalloc.c", 40); ListAlloc* next; if (ptr == NULL) { @@ -49,7 +49,7 @@ void ListAlloc_Free(ListAlloc* this, void* data) { this->next = ptr->prev; } - SystemArena_FreeDebug(ptr, "../listalloc.c", 72); + SYSTEM_ARENA_FREE(ptr, "../listalloc.c", 72); } void ListAlloc_FreeAll(ListAlloc* this) { diff --git a/src/code/loadfragment2.c b/src/code/loadfragment2.c index 97002f9e9e..693ef54250 100644 --- a/src/code/loadfragment2.c +++ b/src/code/loadfragment2.c @@ -1,8 +1,7 @@ #include "global.h" void* Overlay_AllocateAndLoad(uintptr_t vromStart, uintptr_t vromEnd, void* vramStart, void* vramEnd) { - void* allocatedRamAddr = - SystemArena_MallocRDebug((intptr_t)vramEnd - (intptr_t)vramStart, "../loadfragment2.c", 31); + void* allocatedRamAddr = SYSTEM_ARENA_MALLOC_R((intptr_t)vramEnd - (intptr_t)vramStart, "../loadfragment2.c", 31); if (gOverlayLogSeverity >= 3) { osSyncPrintf("OVL:SPEC(%08x-%08x) REAL(%08x-%08x) OFFSET(%08x)\n", vramStart, vramEnd, allocatedRamAddr, diff --git a/src/code/main.c b/src/code/main.c index a1fe35ef38..c1fd17c48f 100644 --- a/src/code/main.c +++ b/src/code/main.c @@ -61,7 +61,7 @@ void Main(void* arg) { debugHeapSize = PHYS_TO_K0(0x600000) - (uintptr_t)debugHeapStart; } else { debugHeapSize = 0x400; - debugHeapStart = SystemArena_MallocDebug(debugHeapSize, "../main.c", 565); + debugHeapStart = SYSTEM_ARENA_MALLOC(debugHeapSize, "../main.c", 565); } osSyncPrintf("debug_InitArena(%08x, %08x)\n", debugHeapStart, debugHeapSize); DebugArena_Init(debugHeapStart, debugHeapSize); @@ -90,7 +90,7 @@ void Main(void* arg) { StackCheck_Init(&sPadMgrStackInfo, sPadMgrStack, STACK_TOP(sPadMgrStack), 0, 0x100, "padmgr"); PadMgr_Init(&gPadMgr, &sSerialEventQueue, &gIrqMgr, THREAD_ID_PADMGR, THREAD_PRI_PADMGR, STACK_TOP(sPadMgrStack)); - AudioMgr_Unlock(&gAudioMgr); + AudioMgr_WaitForInit(&gAudioMgr); StackCheck_Init(&sGraphStackInfo, sGraphStack, STACK_TOP(sGraphStack), 0, 0x100, "graph"); osCreateThread(&sGraphThread, THREAD_ID_GRAPH, Graph_ThreadEntry, arg, STACK_TOP(sGraphStack), THREAD_PRI_GRAPH); diff --git a/src/code/sys_matrix.c b/src/code/sys_matrix.c index f58872d07b..fa038a76cb 100644 --- a/src/code/sys_matrix.c +++ b/src/code/sys_matrix.c @@ -20,7 +20,7 @@ MtxF* sMatrixStack; // "Matrix_stack" MtxF* sCurrentMatrix; // "Matrix_now" void Matrix_Init(GameState* gameState) { - sCurrentMatrix = GameState_Alloc(gameState, 20 * sizeof(MtxF), "../sys_matrix.c", 153); + sCurrentMatrix = GAME_STATE_ALLOC(gameState, 20 * sizeof(MtxF), "../sys_matrix.c", 153); sMatrixStack = sCurrentMatrix; } @@ -603,16 +603,30 @@ Mtx* Matrix_MtxFToMtx(MtxF* src, Mtx* dest) { return dest; } +#ifdef OOT_DEBUG + Mtx* Matrix_ToMtx(Mtx* dest, char* file, s32 line) { - return Matrix_MtxFToMtx(Matrix_CheckFloats(sCurrentMatrix, file, line), dest); + return Matrix_MtxFToMtx(MATRIX_CHECK_FLOATS(sCurrentMatrix, file, line), dest); } Mtx* Matrix_NewMtx(GraphicsContext* gfxCtx, char* file, s32 line) { - return Matrix_ToMtx(Graph_Alloc(gfxCtx, sizeof(Mtx)), file, line); + return Matrix_ToMtx(GRAPH_ALLOC(gfxCtx, sizeof(Mtx)), file, line); } +#else + +Mtx* Matrix_ToMtx(Mtx* dest) { + return Matrix_MtxFToMtx(sCurrentMatrix, dest); +} + +Mtx* Matrix_NewMtx(GraphicsContext* gfxCtx) { + return Matrix_ToMtx(GRAPH_ALLOC(gfxCtx, sizeof(Mtx))); +} + +#endif /* OOT_DEBUG */ + Mtx* Matrix_MtxFToNewMtx(MtxF* src, GraphicsContext* gfxCtx) { - return Matrix_MtxFToMtx(src, Graph_Alloc(gfxCtx, sizeof(Mtx))); + return Matrix_MtxFToMtx(src, GRAPH_ALLOC(gfxCtx, sizeof(Mtx))); } void Matrix_MultVec3f(Vec3f* src, Vec3f* dest) { diff --git a/src/code/z_DLF.c b/src/code/z_DLF.c index 7034f829c0..5da87b7af3 100644 --- a/src/code/z_DLF.c +++ b/src/code/z_DLF.c @@ -104,7 +104,7 @@ void Overlay_FreeGameState(GameStateOverlay* overlayEntry) { overlayEntry->unk_24 = NULL; } - SystemArena_FreeDebug(overlayEntry->loadedRamAddr, "../z_DLF.c", 149); + SYSTEM_ARENA_FREE(overlayEntry->loadedRamAddr, "../z_DLF.c", 149); overlayEntry->loadedRamAddr = NULL; } } diff --git a/src/code/z_actor.c b/src/code/z_actor.c index 091b5d109f..0207725be6 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -54,7 +54,7 @@ void ActorShadow_Draw(Actor* actor, Lights* lights, PlayState* play, Gfx* dlist, temp2 = (1.0f - (temp1 * (1.0f / 350))) * actor->shape.shadowScale; Matrix_Scale(actor->scale.x * temp2, 1.0f, actor->scale.z * temp2, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_actor.c", 1588), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_actor.c", 1588), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, dlist); @@ -94,7 +94,7 @@ void ActorShadow_DrawFoot(PlayState* play, Light* light, MtxF* arg2, s32 arg3, f Matrix_RotateY(sp58, MTXMODE_APPLY); Matrix_Scale(arg5, 1.0f, arg5 * arg6, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_actor.c", 1687), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_actor.c", 1687), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, gFootShadowDL); CLOSE_DISPS(play->state.gfxCtx, "../z_actor.c", 1693); @@ -377,7 +377,7 @@ void func_8002C124(TargetContext* targetCtx, PlayState* play) { Matrix_RotateZ(M_PI / 2, MTXMODE_APPLY); Matrix_Push(); Matrix_Translate(entry->unk_0C, entry->unk_0C, 0.0f, MTXMODE_APPLY); - gSPMatrix(OVERLAY_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_actor.c", 2116), + gSPMatrix(OVERLAY_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_actor.c", 2116), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(OVERLAY_DISP++, gZTargetLockOnTriangleDL); Matrix_Pop(); @@ -404,8 +404,7 @@ void func_8002C124(TargetContext* targetCtx, PlayState* play) { Matrix_Scale((iREG(27) + 35) / 1000.0f, (iREG(28) + 60) / 1000.0f, (iREG(29) + 50) / 1000.0f, MTXMODE_APPLY); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, naviColor->inner.r, naviColor->inner.g, naviColor->inner.b, 255); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_actor.c", 2153), - G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_actor.c", 2153), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, gZTargetArrowDL); } @@ -679,7 +678,7 @@ void TitleCard_InitPlaceName(PlayState* play, TitleCardContext* titleCtx, void* u32 size = loadedScene->titleFile.vromEnd - loadedScene->titleFile.vromStart; if ((size != 0) && (size <= 0x3000)) { - DmaMgr_RequestSyncDebug(texture, loadedScene->titleFile.vromStart, size, "../z_actor.c", 2765); + DMA_REQUEST_SYNC(texture, loadedScene->titleFile.vromStart, size, "../z_actor.c", 2765); } titleCtx->texture = texture; @@ -1039,7 +1038,7 @@ void func_8002DE04(PlayState* play, Actor* actorA, Actor* actorB) { void func_8002DE74(PlayState* play, Player* player) { if ((play->roomCtx.curRoom.behaviorType1 != ROOM_BEHAVIOR_TYPE1_4) && Play_CamIsNotFixed(play)) { - Camera_ChangeSetting(Play_GetCamera(play, CAM_ID_MAIN), CAM_SET_HORSE); + Camera_RequestSetting(Play_GetCamera(play, CAM_ID_MAIN), CAM_SET_HORSE); } } @@ -1363,11 +1362,11 @@ Gfx* func_8002E830(Vec3f* object, Vec3f* eye, Vec3f* lightDir, GraphicsContext* LookAt* lookAt; f32 correctedEyeX; - lookAt = Graph_Alloc(gfxCtx, sizeof(LookAt)); + lookAt = GRAPH_ALLOC(gfxCtx, sizeof(LookAt)); correctedEyeX = (eye->x == object->x) && (eye->z == object->z) ? eye->x + 0.001f : eye->x; - *hilite = Graph_Alloc(gfxCtx, sizeof(Hilite)); + *hilite = GRAPH_ALLOC(gfxCtx, sizeof(Hilite)); if (R_HREG_MODE == HREG_MODE_PRINT_HILITE_INFO) { osSyncPrintf("z_actor.c 3529 eye=[%f(%f) %f %f] object=[%f %f %f] light_direction=[%f %f %f]\n", correctedEyeX, @@ -1426,7 +1425,7 @@ void func_8002EBCC(Actor* actor, PlayState* play, s32 flag) { hilite = func_8002EABC(&actor->world.pos, &play->view.eye, &lightDir, play->state.gfxCtx); if (flag != 0) { - displayList = Graph_Alloc(play->state.gfxCtx, 2 * sizeof(Gfx)); + displayList = GRAPH_ALLOC(play->state.gfxCtx, 2 * sizeof(Gfx)); displayListHead = displayList; OPEN_DISPS(play->state.gfxCtx, "../z_actor.c", 4384); @@ -1452,7 +1451,7 @@ void func_8002ED80(Actor* actor, PlayState* play, s32 flag) { hilite = func_8002EB44(&actor->world.pos, &play->view.eye, &lightDir, play->state.gfxCtx); if (flag != 0) { - displayList = Graph_Alloc(play->state.gfxCtx, 2 * sizeof(Gfx)); + displayList = GRAPH_ALLOC(play->state.gfxCtx, 2 * sizeof(Gfx)); displayListHead = displayList; OPEN_DISPS(play->state.gfxCtx, "../z_actor.c", 4429); @@ -1465,26 +1464,21 @@ void func_8002ED80(Actor* actor, PlayState* play, s32 flag) { } } -PosRot* Actor_GetFocus(PosRot* dest, Actor* actor) { - *dest = actor->focus; - - return dest; +PosRot Actor_GetFocus(Actor* actor) { + return actor->focus; } -PosRot* Actor_GetWorld(PosRot* dest, Actor* actor) { - *dest = actor->world; - - return dest; +PosRot Actor_GetWorld(Actor* actor) { + return actor->world; } -PosRot* Actor_GetWorldPosShapeRot(PosRot* arg0, Actor* actor) { - PosRot sp1C; +PosRot Actor_GetWorldPosShapeRot(Actor* actor) { + PosRot worldPosRot; - Math_Vec3f_Copy(&sp1C.pos, &actor->world.pos); - sp1C.rot = actor->shape.rot; - *arg0 = sp1C; + Math_Vec3f_Copy(&worldPosRot.pos, &actor->world.pos); + worldPosRot.rot = actor->shape.rot; - return arg0; + return worldPosRot; } f32 func_8002EFC0(Actor* actor, Player* player, s16 arg2) { @@ -1549,22 +1543,39 @@ s32 func_8002F0C8(Actor* actor, Player* player, s32 flag) { return false; } -u32 Actor_ProcessTalkRequest(Actor* actor, PlayState* play) { - if (actor->flags & ACTOR_FLAG_8) { - actor->flags &= ~ACTOR_FLAG_8; +/** + * When a given talk offer is accepted, Player will set `ACTOR_FLAG_TALK` for that actor. + * This function serves to acknowledge that the offer was accepted by Player, and notifies the actor + * that it should proceed with its own internal processes for handling dialogue. + * + * @return true if the talk offer was accepted, false otherwise + */ +s32 Actor_TalkOfferAccepted(Actor* actor, PlayState* play) { + if (actor->flags & ACTOR_FLAG_TALK) { + actor->flags &= ~ACTOR_FLAG_TALK; return true; } return false; } -s32 func_8002F1C4(Actor* actor, PlayState* play, f32 arg2, f32 arg3, u32 exchangeItemId) { +/** + * This function covers offering the ability to talk with the player. + * Passing an exchangeItemId (see `ExchangeItemID`) allows the player to also use the item to initiate the + * conversation. + * + * This function carries a talk exchange offer to the player actor if context allows it (e.g. the player is in range + * and not busy with certain things). + * + * @return true If the player actor is capable of accepting the offer. + */ +s32 Actor_OfferTalkExchange(Actor* actor, PlayState* play, f32 xzRange, f32 yRange, u32 exchangeItemId) { Player* player = GET_PLAYER(play); - if ((player->actor.flags & ACTOR_FLAG_8) || ((exchangeItemId != EXCH_ITEM_NONE) && Player_InCsMode(play)) || + if ((player->actor.flags & ACTOR_FLAG_TALK) || ((exchangeItemId != EXCH_ITEM_NONE) && Player_InCsMode(play)) || (!actor->isTargeted && - ((arg3 < fabsf(actor->yDistToPlayer)) || (player->targetActorDistance < actor->xzDistToPlayer) || - (arg2 < actor->xzDistToPlayer)))) { + ((yRange < fabsf(actor->yDistToPlayer)) || (player->targetActorDistance < actor->xzDistToPlayer) || + (xzRange < actor->xzDistToPlayer)))) { return false; } @@ -1575,18 +1586,28 @@ s32 func_8002F1C4(Actor* actor, PlayState* play, f32 arg2, f32 arg3, u32 exchang return true; } -s32 func_8002F298(Actor* actor, PlayState* play, f32 arg2, u32 exchangeItemId) { - return func_8002F1C4(actor, play, arg2, arg2, exchangeItemId); +/** + * Offers a talk exchange request within an equilateral cylinder with the radius specified. + */ +s32 Actor_OfferTalkExchangeEquiCylinder(Actor* actor, PlayState* play, f32 radius, u32 exchangeItemId) { + return Actor_OfferTalkExchange(actor, play, radius, radius, exchangeItemId); } -s32 func_8002F2CC(Actor* actor, PlayState* play, f32 arg2) { - return func_8002F298(actor, play, arg2, EXCH_ITEM_NONE); +/** + * Offers a talk request within an equilateral cylinder with the radius specified. + */ +s32 Actor_OfferTalk(Actor* actor, PlayState* play, f32 radius) { + return Actor_OfferTalkExchangeEquiCylinder(actor, play, radius, EXCH_ITEM_NONE); } -s32 func_8002F2F4(Actor* actor, PlayState* play) { - f32 var1 = 50.0f + actor->colChkInfo.cylRadius; +/** + * Offers a talk request within an equilateral cylinder whose radius is determined by the actor's collision check + * cylinder's radius. + */ +s32 Actor_OfferTalkNearColChkInfoCylinder(Actor* actor, PlayState* play) { + f32 cylRadius = 50.0f + actor->colChkInfo.cylRadius; - return func_8002F2CC(actor, play, var1); + return Actor_OfferTalk(actor, play, cylRadius); } u32 Actor_TextboxIsClosing(Actor* actor, PlayState* play) { @@ -2012,14 +2033,14 @@ void Actor_DrawFaroresWindPointer(PlayState* play) { gDPSetEnvColor(POLY_XLU_DISP++, 100, 200, 0, 255); Matrix_RotateZ(BINANG_TO_RAD_ALT2((play->gameplayFrames * 1500) & 0xFFFF), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_actor.c", 5458), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_actor.c", 5458), G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_NOPUSH); gSPDisplayList(POLY_XLU_DISP++, gEffFlash1DL); Matrix_Pop(); Matrix_RotateZ(BINANG_TO_RAD_ALT2(~((play->gameplayFrames * 1200) & 0xFFFF)), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_actor.c", 5463), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_actor.c", 5463), G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_NOPUSH); gSPDisplayList(POLY_XLU_DISP++, gEffFlash1DL); } @@ -2667,7 +2688,7 @@ void func_80031C3C(ActorContext* actorCtx, PlayState* play) { } if (actorCtx->absoluteSpace != NULL) { - ZeldaArena_FreeDebug(actorCtx->absoluteSpace, "../z_actor.c", 6731); + ZELDA_ARENA_FREE(actorCtx->absoluteSpace, "../z_actor.c", 6731); actorCtx->absoluteSpace = NULL; } @@ -2753,7 +2774,7 @@ void Actor_FreeOverlay(ActorOverlay* actorOverlay) { if (HREG(20) != 0) { osSyncPrintf("オーバーレイ解放します\n"); // "Overlay deallocated" } - ZeldaArena_FreeDebug(actorOverlay->loadedRamAddr, "../z_actor.c", 6834); + ZELDA_ARENA_FREE(actorOverlay->loadedRamAddr, "../z_actor.c", 6834); actorOverlay->loadedRamAddr = NULL; } } @@ -2811,8 +2832,7 @@ Actor* Actor_Spawn(ActorContext* actorCtx, PlayState* play, s16 actorId, f32 pos if (actorCtx->absoluteSpace == NULL) { // "AMF: absolute magic field" - actorCtx->absoluteSpace = - ZeldaArena_MallocRDebug(ACTOROVL_ABSOLUTE_SPACE_SIZE, "AMF:絶対魔法領域", 0); + actorCtx->absoluteSpace = ZELDA_ARENA_MALLOC_R(ACTOROVL_ABSOLUTE_SPACE_SIZE, "AMF:絶対魔法領域", 0); if (HREG(20) != 0) { // "Absolute magic field reservation - %d bytes reserved" osSyncPrintf("絶対魔法領域確保 %d バイト確保\n", ACTOROVL_ABSOLUTE_SPACE_SIZE); @@ -2821,9 +2841,9 @@ Actor* Actor_Spawn(ActorContext* actorCtx, PlayState* play, s16 actorId, f32 pos overlayEntry->loadedRamAddr = actorCtx->absoluteSpace; } else if (overlayEntry->allocType & ACTOROVL_ALLOC_PERSISTENT) { - overlayEntry->loadedRamAddr = ZeldaArena_MallocRDebug(overlaySize, name, 0); + overlayEntry->loadedRamAddr = ZELDA_ARENA_MALLOC_R(overlaySize, name, 0); } else { - overlayEntry->loadedRamAddr = ZeldaArena_MallocDebug(overlaySize, name, 0); + overlayEntry->loadedRamAddr = ZELDA_ARENA_MALLOC(overlaySize, name, 0); } if (overlayEntry->loadedRamAddr == NULL) { @@ -2864,7 +2884,7 @@ Actor* Actor_Spawn(ActorContext* actorCtx, PlayState* play, s16 actorId, f32 pos return NULL; } - actor = ZeldaArena_MallocDebug(actorInit->instanceSize, name, 1); + actor = ZELDA_ARENA_MALLOC(actorInit->instanceSize, name, 1); if (actor == NULL) { // "Actor class cannot be reserved! %s " @@ -2985,7 +3005,7 @@ Actor* Actor_Delete(ActorContext* actorCtx, Actor* actor, PlayState* play) { if ((player != NULL) && (actor == player->unk_664)) { func_8008EDF0(player); - Camera_ChangeMode(Play_GetCamera(play, Play_GetActiveCamId(play)), 0); + Camera_RequestMode(Play_GetCamera(play, Play_GetActiveCamId(play)), CAM_MODE_NORMAL); } if (actor == actorCtx->targetCtx.arrowPointedActor) { @@ -3005,7 +3025,7 @@ Actor* Actor_Delete(ActorContext* actorCtx, Actor* actor, PlayState* play) { newHead = Actor_RemoveFromCategory(play, actorCtx, actor); - ZeldaArena_FreeDebug(actor, "../z_actor.c", 7242); + ZELDA_ARENA_FREE(actor, "../z_actor.c", 7242); if (overlayEntry->vramStart == NULL) { if (HREG(20) != 0) { @@ -3183,15 +3203,15 @@ void BodyBreak_Alloc(BodyBreak* bodyBreak, s32 count, PlayState* play) { u32 objectSlotsSize; matricesSize = (count + 1) * sizeof(*bodyBreak->matrices); - bodyBreak->matrices = ZeldaArena_MallocDebug(matricesSize, "../z_actor.c", 7540); + bodyBreak->matrices = ZELDA_ARENA_MALLOC(matricesSize, "../z_actor.c", 7540); if (bodyBreak->matrices != NULL) { dListsSize = (count + 1) * sizeof(*bodyBreak->dLists); - bodyBreak->dLists = ZeldaArena_MallocDebug(dListsSize, "../z_actor.c", 7543); + bodyBreak->dLists = ZELDA_ARENA_MALLOC(dListsSize, "../z_actor.c", 7543); if (bodyBreak->dLists != NULL) { objectSlotsSize = (count + 1) * sizeof(*bodyBreak->objectSlots); - bodyBreak->objectSlots = ZeldaArena_MallocDebug(objectSlotsSize, "../z_actor.c", 7546); + bodyBreak->objectSlots = ZELDA_ARENA_MALLOC(objectSlotsSize, "../z_actor.c", 7546); if (bodyBreak->objectSlots != NULL) { Lib_MemSet((u8*)bodyBreak->matrices, matricesSize, 0); @@ -3204,15 +3224,15 @@ void BodyBreak_Alloc(BodyBreak* bodyBreak, s32 count, PlayState* play) { } if (bodyBreak->matrices != NULL) { - ZeldaArena_FreeDebug(bodyBreak->matrices, "../z_actor.c", 7558); + ZELDA_ARENA_FREE(bodyBreak->matrices, "../z_actor.c", 7558); } if (bodyBreak->dLists != NULL) { - ZeldaArena_FreeDebug(bodyBreak->dLists, "../z_actor.c", 7561); + ZELDA_ARENA_FREE(bodyBreak->dLists, "../z_actor.c", 7561); } if (bodyBreak->objectSlots != NULL) { - ZeldaArena_FreeDebug(bodyBreak->objectSlots, "../z_actor.c", 7564); + ZELDA_ARENA_FREE(bodyBreak->objectSlots, "../z_actor.c", 7564); } } @@ -3279,9 +3299,9 @@ s32 BodyBreak_SpawnParts(Actor* actor, BodyBreak* bodyBreak, PlayState* play, s1 bodyBreak->val = BODYBREAK_STATUS_FINISHED; - ZeldaArena_FreeDebug(bodyBreak->matrices, "../z_actor.c", 7678); - ZeldaArena_FreeDebug(bodyBreak->dLists, "../z_actor.c", 7679); - ZeldaArena_FreeDebug(bodyBreak->objectSlots, "../z_actor.c", 7680); + ZELDA_ARENA_FREE(bodyBreak->matrices, "../z_actor.c", 7678); + ZELDA_ARENA_FREE(bodyBreak->dLists, "../z_actor.c", 7679); + ZELDA_ARENA_FREE(bodyBreak->objectSlots, "../z_actor.c", 7680); return true; } @@ -3375,6 +3395,12 @@ Actor* func_80033684(PlayState* play, Actor* explosiveActor) { * This is done by moving it to the corresponding category list and setting its category variable accordingly. */ void Actor_ChangeCategory(PlayState* play, ActorContext* actorCtx, Actor* actor, u8 actorCategory) { + //! @bug Calling this function immediately moves an actor from one category list to the other. + //! So, if Actor_ChangeCategory is called during an actor update, the inner loop in + //! Actor_UpdateAll will continue from the next actor in the new category, rather than the next + //! actor in the old category. This will cause any actors after this one in the old category to + //! be skipped over and not updated, and any actors in the new category to be updated more than + //! once. Actor_RemoveFromCategory(play, actorCtx, actor); Actor_AddToCategory(actorCtx, actor, actorCategory); } @@ -3612,7 +3638,7 @@ void func_80033C30(Vec3f* arg0, Vec3f* arg1, u8 alpha, PlayState* play) { Matrix_Scale(arg1->x, 1.0f, arg1->z, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_actor.c", 8149), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_actor.c", 8149), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, gCircleShadowDL); CLOSE_DISPS(play->state.gfxCtx, "../z_actor.c", 8155); @@ -3700,8 +3726,7 @@ void Actor_DrawDoorLock(PlayState* play, s32 frame, s32 type) { Matrix_Scale(entry->chainsScale, entry->chainsScale, entry->chainsScale, MTXMODE_APPLY); } - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_actor.c", 8299), - G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_actor.c", 8299), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, entry->chainDL); if (i % 2) { @@ -3716,7 +3741,7 @@ void Actor_DrawDoorLock(PlayState* play, s32 frame, s32 type) { Matrix_Put(&baseMtxF); Matrix_Scale(frame * 0.1f, frame * 0.1f, frame * 0.1f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_actor.c", 8314), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_actor.c", 8314), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, entry->lockDL); CLOSE_DISPS(play->state.gfxCtx, "../z_actor.c", 8319); @@ -3776,7 +3801,7 @@ s32 Npc_UpdateTalking(PlayState* play, Actor* actor, s16* talkState, f32 interac s16 x; s16 y; - if (Actor_ProcessTalkRequest(actor, play)) { + if (Actor_TalkOfferAccepted(actor, play)) { *talkState = NPC_TALK_STATE_TALKING; return true; } @@ -3792,7 +3817,7 @@ s32 Npc_UpdateTalking(PlayState* play, Actor* actor, s16* talkState, f32 interac return false; } - if (!func_8002F2CC(actor, play, interactRange)) { + if (!Actor_OfferTalk(actor, play, interactRange)) { return false; } @@ -4037,7 +4062,7 @@ void Npc_TrackPoint(Actor* actor, NpcInteractInfo* interactInfo, s16 presetIndex Gfx* func_80034B28(GraphicsContext* gfxCtx) { Gfx* displayList; - displayList = Graph_Alloc(gfxCtx, sizeof(Gfx)); + displayList = GRAPH_ALLOC(gfxCtx, sizeof(Gfx)); gSPEndDisplayList(displayList); return displayList; @@ -4047,7 +4072,7 @@ Gfx* func_80034B54(GraphicsContext* gfxCtx) { Gfx* displayListHead; Gfx* displayList; - displayList = displayListHead = Graph_Alloc(gfxCtx, 2 * sizeof(Gfx)); + displayList = displayListHead = GRAPH_ALLOC(gfxCtx, 2 * sizeof(Gfx)); gDPSetRenderMode(displayListHead++, G_RM_FOG_SHADE_A, AA_EN | Z_CMP | Z_UPD | IM_RD | CLR_ON_CVG | CVG_DST_WRAP | ZMODE_XLU | FORCE_BL | @@ -4269,28 +4294,27 @@ u8 Actor_ApplyDamage(Actor* actor) { return actor->colChkInfo.health; } -void Actor_SetDropFlag(Actor* actor, ColliderInfo* colInfo, s32 freezeFlag) { - if (colInfo->acHitInfo == NULL) { +void Actor_SetDropFlag(Actor* actor, ColliderElement* elem, s32 freezeFlag) { + if (elem->acHitElem == NULL) { actor->dropFlag = 0x00; - } else if (freezeFlag && - (colInfo->acHitInfo->toucher.dmgFlags & (DMG_UNKNOWN_1 | DMG_MAGIC_ICE | DMG_MAGIC_FIRE))) { - actor->freezeTimer = colInfo->acHitInfo->toucher.damage; + } else if (freezeFlag && (elem->acHitElem->toucher.dmgFlags & (DMG_UNKNOWN_1 | DMG_MAGIC_ICE | DMG_MAGIC_FIRE))) { + actor->freezeTimer = elem->acHitElem->toucher.damage; actor->dropFlag = 0x00; - } else if (colInfo->acHitInfo->toucher.dmgFlags & DMG_ARROW_FIRE) { + } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_FIRE) { actor->dropFlag = 0x01; - } else if (colInfo->acHitInfo->toucher.dmgFlags & DMG_ARROW_ICE) { + } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_ICE) { actor->dropFlag = 0x02; - } else if (colInfo->acHitInfo->toucher.dmgFlags & DMG_ARROW_UNK1) { + } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_UNK1) { actor->dropFlag = 0x04; - } else if (colInfo->acHitInfo->toucher.dmgFlags & DMG_ARROW_UNK2) { + } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_UNK2) { actor->dropFlag = 0x08; - } else if (colInfo->acHitInfo->toucher.dmgFlags & DMG_ARROW_UNK3) { + } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_UNK3) { actor->dropFlag = 0x10; - } else if (colInfo->acHitInfo->toucher.dmgFlags & DMG_ARROW_LIGHT) { + } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_LIGHT) { actor->dropFlag = 0x20; - } else if (colInfo->acHitInfo->toucher.dmgFlags & DMG_MAGIC_LIGHT) { + } else if (elem->acHitElem->toucher.dmgFlags & DMG_MAGIC_LIGHT) { if (freezeFlag) { - actor->freezeTimer = colInfo->acHitInfo->toucher.damage; + actor->freezeTimer = elem->acHitElem->toucher.damage; } actor->dropFlag = 0x40; } else { @@ -4299,35 +4323,35 @@ void Actor_SetDropFlag(Actor* actor, ColliderInfo* colInfo, s32 freezeFlag) { } void Actor_SetDropFlagJntSph(Actor* actor, ColliderJntSph* jntSph, s32 freezeFlag) { - ColliderInfo* curColInfo; + ColliderElement* elem; s32 flag; s32 i; actor->dropFlag = 0x00; for (i = jntSph->count - 1; i >= 0; i--) { - curColInfo = &jntSph->elements[i].info; - if (curColInfo->acHitInfo == NULL) { + elem = &jntSph->elements[i].base; + if (elem->acHitElem == NULL) { flag = 0x00; } else if (freezeFlag && - (curColInfo->acHitInfo->toucher.dmgFlags & (DMG_UNKNOWN_1 | DMG_MAGIC_ICE | DMG_MAGIC_FIRE))) { - actor->freezeTimer = curColInfo->acHitInfo->toucher.damage; + (elem->acHitElem->toucher.dmgFlags & (DMG_UNKNOWN_1 | DMG_MAGIC_ICE | DMG_MAGIC_FIRE))) { + actor->freezeTimer = elem->acHitElem->toucher.damage; flag = 0x00; - } else if (curColInfo->acHitInfo->toucher.dmgFlags & DMG_ARROW_FIRE) { + } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_FIRE) { flag = 0x01; - } else if (curColInfo->acHitInfo->toucher.dmgFlags & DMG_ARROW_ICE) { + } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_ICE) { flag = 0x02; - } else if (curColInfo->acHitInfo->toucher.dmgFlags & DMG_ARROW_UNK1) { + } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_UNK1) { flag = 0x04; - } else if (curColInfo->acHitInfo->toucher.dmgFlags & DMG_ARROW_UNK2) { + } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_UNK2) { flag = 0x08; - } else if (curColInfo->acHitInfo->toucher.dmgFlags & DMG_ARROW_UNK3) { + } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_UNK3) { flag = 0x10; - } else if (curColInfo->acHitInfo->toucher.dmgFlags & DMG_ARROW_LIGHT) { + } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_LIGHT) { flag = 0x20; - } else if (curColInfo->acHitInfo->toucher.dmgFlags & DMG_MAGIC_LIGHT) { + } else if (elem->acHitElem->toucher.dmgFlags & DMG_MAGIC_LIGHT) { if (freezeFlag) { - actor->freezeTimer = curColInfo->acHitInfo->toucher.damage; + actor->freezeTimer = elem->acHitElem->toucher.damage; } flag = 0x40; } else { @@ -4754,7 +4778,7 @@ u32 func_80035BFC(PlayState* play, s16 arg1) { Flags_GetEventChkInf(EVENTCHKINF_37)) { retTextId = 0x7006; } else { - if (Flags_GetEventChkInf(EVENTCHKINF_12)) { + if (Flags_GetEventChkInf(EVENTCHKINF_RECEIVED_WEIRD_EGG)) { if (Flags_GetInfTable(INFTABLE_71)) { retTextId = 0x7072; } else { @@ -5116,16 +5140,16 @@ u32 func_80035BFC(PlayState* play, s16 arg1) { } break; case 71: - if (Flags_GetEventChkInf(EVENTCHKINF_16)) { + if (Flags_GetEventChkInf(EVENTCHKINF_CAN_LEARN_EPONAS_SONG)) { retTextId = 0x2049; - } else if (Flags_GetEventChkInf(EVENTCHKINF_15)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_TALKED_TO_CHILD_MALON_AT_RANCH)) { retTextId = 0x2048; } else if (Flags_GetEventChkInf(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) { retTextId = 0x2047; - } else if (Flags_GetEventChkInf(EVENTCHKINF_12) && + } else if (Flags_GetEventChkInf(EVENTCHKINF_RECEIVED_WEIRD_EGG) && !Flags_GetEventChkInf(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) { retTextId = 0x2044; - } else if (Flags_GetEventChkInf(EVENTCHKINF_10)) { + } else if (Flags_GetEventChkInf(EVENTCHKINF_TALKED_TO_MALON_FIRST_TIME)) { if (Flags_GetEventChkInf(EVENTCHKINF_11)) { retTextId = 0x2043; } else { @@ -5417,16 +5441,16 @@ void func_80036E50(u16 textId, s16 arg1) { return; case 71: if (textId == 0x2041) { - Flags_SetEventChkInf(EVENTCHKINF_10); + Flags_SetEventChkInf(EVENTCHKINF_TALKED_TO_MALON_FIRST_TIME); } if (textId == 0x2044) { - Flags_SetEventChkInf(EVENTCHKINF_12); + Flags_SetEventChkInf(EVENTCHKINF_RECEIVED_WEIRD_EGG); } if (textId == 0x2047) { - Flags_SetEventChkInf(EVENTCHKINF_15); + Flags_SetEventChkInf(EVENTCHKINF_TALKED_TO_CHILD_MALON_AT_RANCH); } if (textId == 0x2048) { - Flags_SetEventChkInf(EVENTCHKINF_16); + Flags_SetEventChkInf(EVENTCHKINF_CAN_LEARN_EPONAS_SONG); } return; case 72: @@ -5568,7 +5592,7 @@ s32 func_800374E0(PlayState* play, Actor* actor, u16 textId) { ret = 0; break; case 0x2043: - if (Flags_GetEventChkInf(EVENTCHKINF_12)) { + if (Flags_GetEventChkInf(EVENTCHKINF_RECEIVED_WEIRD_EGG)) { break; } func_80035B18(play, actor, 0x2044); @@ -5674,7 +5698,7 @@ s32 func_80037D98(PlayState* play, Actor* actor, s16 arg2, s32* arg3) { s16 sp2A; s16 abs_var; - if (Actor_ProcessTalkRequest(actor, play)) { + if (Actor_TalkOfferAccepted(actor, play)) { *arg3 = 1; return true; } @@ -5704,11 +5728,11 @@ s32 func_80037D98(PlayState* play, Actor* actor, s16 arg2, s32* arg3) { } if (actor->xyzDistToPlayerSq <= SQ(80.0f)) { - if (func_8002F2CC(actor, play, 80.0f)) { + if (Actor_OfferTalk(actor, play, 80.0f)) { actor->textId = func_80037C30(play, arg2); } } else { - if (func_8002F2F4(actor, play)) { + if (Actor_OfferTalkNearColChkInfoCylinder(actor, play)) { actor->textId = func_80037C30(play, arg2); } } diff --git a/src/code/z_bgcheck.c b/src/code/z_bgcheck.c index 0525c89874..1fbca9e096 100644 --- a/src/code/z_bgcheck.c +++ b/src/code/z_bgcheck.c @@ -2503,7 +2503,7 @@ void SSNodeList_Alloc(PlayState* play, SSNodeList* this, s32 tblMax, s32 numPoly ASSERT(this->tbl != NULL, "this->short_slist_node_tbl != NULL", "../z_bgcheck.c", 5975); - this->polyCheckTbl = GameState_Alloc(&play->state, numPolys, "../z_bgcheck.c", 5979); + this->polyCheckTbl = GAME_STATE_ALLOC(&play->state, numPolys, "../z_bgcheck.c", 5979); ASSERT(this->polyCheckTbl != NULL, "this->polygon_check != NULL", "../z_bgcheck.c", 5981); } diff --git a/src/code/z_camera.c b/src/code/z_camera.c index ef2964d451..8dd3e3e62d 100644 --- a/src/code/z_camera.c +++ b/src/code/z_camera.c @@ -4,8 +4,8 @@ #include "terminal.h" #include "overlays/actors/ovl_En_Horse/z_en_horse.h" -s16 Camera_ChangeSettingFlags(Camera* camera, s16 setting, s16 flags); -s32 Camera_ChangeModeFlags(Camera* camera, s16 mode, u8 flags); +s16 Camera_RequestSettingImpl(Camera* camera, s16 requestedSetting, s16 flags); +s32 Camera_RequestModeImpl(Camera* camera, s16 requestedMode, u8 forceModeChange); s32 Camera_QRegInit(void); s32 Camera_UpdateWater(Camera* camera); @@ -31,6 +31,13 @@ s32 Camera_UpdateWater(Camera* camera); #define DISTORTION_UNDERWATER_STRONG (1 << 3) #define DISTORTION_UNDERWATER_FISHING (1 << 4) +#define CAM_REQUEST_SETTING_FORCE_CHANGE (1 << 0) +// If set, then any other setting requests on the same frame will skip a priority check +// and overwrite the request +#define CAM_REQUEST_SETTING_IGNORE_PRIORITY (1 << 1) +#define CAM_REQUEST_SETTING_PRESERVE_BG_CAM_INDEX (1 << 2) +#define CAM_REQUEST_SETTING_RESTORE_PREV_BG_CAM_INDEX (1 << 3) + #include "z_camera_data.inc.c" /*===============================================================*/ @@ -169,40 +176,34 @@ void func_80043B60(Camera* camera) { camera->fovUpdateRate = 0.001f; } -Vec3f* Camera_Vec3sToVec3f(Vec3f* dest, Vec3s* src) { - Vec3f copy; +Vec3f Camera_Vec3sToVec3f(Vec3s* src) { + Vec3f dest; - copy.x = src->x; - copy.y = src->y; - copy.z = src->z; + dest.x = src->x; + dest.y = src->y; + dest.z = src->z; - *dest = copy; return dest; } -Vec3f* Camera_AddVecGeoToVec3f(Vec3f* dest, Vec3f* a, VecGeo* geo) { +Vec3f Camera_AddVecGeoToVec3f(Vec3f* a, VecGeo* geo) { Vec3f sum; - Vec3f b; - - OLib_VecGeoToVec3f(&b, geo); + Vec3f b = OLib_VecGeoToVec3f(geo); sum.x = a->x + b.x; sum.y = a->y + b.y; sum.z = a->z + b.z; - *dest = sum; - - return dest; + return sum; } -Vec3f* Camera_Vec3fTranslateByUnitVector(Vec3f* dest, Vec3f* src, Vec3f* unitVector, f32 uvScale) { - Vec3f copy; +Vec3f Camera_Vec3fTranslateByUnitVector(Vec3f* src, Vec3f* unitVector, f32 uvScale) { + Vec3f dest; - copy.x = src->x + (unitVector->x * uvScale); - copy.y = src->y + (unitVector->y * uvScale); - copy.z = src->z + (unitVector->z * uvScale); + dest.x = src->x + (unitVector->x * uvScale); + dest.y = src->y + (unitVector->y * uvScale); + dest.z = src->z + (unitVector->z * uvScale); - *dest = copy; return dest; } @@ -219,13 +220,13 @@ s32 Camera_BGCheckInfo(Camera* camera, Vec3f* from, CamColChk* to) { s32 floorBgId; VecGeo fromToOffset; - OLib_Vec3fDiffToVecGeo(&fromToOffset, from, &to->pos); + fromToOffset = OLib_Vec3fDiffToVecGeo(from, &to->pos); fromToOffset.r += 8.0f; - Camera_AddVecGeoToVec3f(&toPoint, from, &fromToOffset); + toPoint = Camera_AddVecGeoToVec3f(from, &fromToOffset); if (!BgCheck_CameraLineTest1(colCtx, from, &toPoint, &toNewPos, &to->poly, 1, 1, 1, -1, &to->bgId)) { // no poly in path. - OLib_Vec3fDistNormalize(&fromToNorm, from, &to->pos); + fromToNorm = OLib_Vec3fDistNormalize(from, &to->pos); to->norm.x = -fromToNorm.x; to->norm.y = -fromToNorm.y; @@ -283,11 +284,11 @@ s32 func_80043F94(Camera* camera, Vec3f* from, CamColChk* to) { s32 bgId; VecGeo fromToGeo; - OLib_Vec3fDiffToVecGeo(&fromToGeo, from, &to->pos); + fromToGeo = OLib_Vec3fDiffToVecGeo(from, &to->pos); fromToGeo.r += 8.0f; - Camera_AddVecGeoToVec3f(&toPos, from, &fromToGeo); + toPos = Camera_AddVecGeoToVec3f(from, &fromToGeo); if (!BgCheck_CameraLineTest1(colCtx, from, &toPos, &toNewPos, &to->poly, 1, 1, 1, -1, &to->bgId)) { - OLib_Vec3fDistNormalize(&fromToNorm, from, &to->pos); + fromToNorm = OLib_Vec3fDistNormalize(from, &to->pos); to->norm.x = -fromToNorm.x; to->norm.y = -fromToNorm.y; to->norm.z = -fromToNorm.z; @@ -327,7 +328,7 @@ s32 func_80043F94(Camera* camera, Vec3f* from, CamColChk* to) { to->pos.y = to->norm.y + toNewPos.y; to->pos.z = to->norm.z + toNewPos.z; } else { - OLib_Vec3fDistNormalize(&fromToNorm, from, &to->pos); + fromToNorm = OLib_Vec3fDistNormalize(from, &to->pos); to->norm.x = -fromToNorm.x; to->norm.y = -fromToNorm.y; to->norm.z = -fromToNorm.z; @@ -467,7 +468,7 @@ s32 Camera_GetBgCamIndex(Camera* camera, s32* bgId, CollisionPoly* poly) { PosRot playerPosRot; s32 ret; - Actor_GetWorldPosShapeRot(&playerPosRot, &camera->player->actor); // unused. + playerPosRot = Actor_GetWorldPosShapeRot(&camera->player->actor); // unused. bgCamIndex = SurfaceType_GetBgCamIndex(&camera->play->colCtx, poly, *bgId); if (BgCheck_GetBgCamSettingImpl(&camera->play->colCtx, bgCamIndex, *bgId) == CAM_SET_NONE) { @@ -489,7 +490,7 @@ Vec3s* Camera_GetBgCamFuncDataUnderPlayer(Camera* camera, u16* bgCamCount) { s32 bgId; PosRot playerPosRot; - Actor_GetWorldPosShapeRot(&playerPosRot, &camera->player->actor); + playerPosRot = Actor_GetWorldPosShapeRot(&camera->player->actor); playerPosRot.pos.y += Player_GetHeight(camera->player); if (BgCheck_EntityRaycastDown3(&camera->play->colCtx, &floorPoly, &bgId, &playerPosRot.pos) == BGCHECK_Y_MIN) { @@ -512,12 +513,12 @@ s32 Camera_GetWaterBoxBgCamIndex(Camera* camera, f32* waterY) { WaterBox* waterBox; s32 bgCamIndex; - Actor_GetWorldPosShapeRot(&playerPosRot, &camera->player->actor); + playerPosRot = Actor_GetWorldPosShapeRot(&camera->player->actor); *waterY = playerPosRot.pos.y; if (!WaterBox_GetSurface1(camera->play, &camera->play->colCtx, playerPosRot.pos.x, playerPosRot.pos.z, waterY, &waterBox)) { - // player's position is not in a water box. + // player's position is not within the x/z boundaries of a water box. *waterY = BGCHECK_Y_MIN; return -1; } @@ -549,7 +550,7 @@ f32 Camera_GetWaterSurface(Camera* camera, Vec3f* chkPos, s32* lightIndex) { f32 waterY; WaterBox* waterBox; - Actor_GetWorldPosShapeRot(&playerPosRot, &camera->player->actor); + playerPosRot = Actor_GetWorldPosShapeRot(&camera->player->actor); waterY = playerPosRot.pos.y; if (!WaterBox_GetSurface1(camera->play, &camera->play->colCtx, chkPos->x, chkPos->z, &waterY, &waterBox)) { @@ -557,8 +558,8 @@ f32 Camera_GetWaterSurface(Camera* camera, Vec3f* chkPos, s32* lightIndex) { return BGCHECK_Y_MIN; } - if (waterY < chkPos->y) { - // the water's y position is below the check position + if (chkPos->y > waterY) { + // the check position is above the water's y position // meaning the position is NOT in the water. return BGCHECK_Y_MIN; } @@ -656,7 +657,7 @@ s16 Camera_GetPitchAdjFromFloorHeightDiffs(Camera* camera, s16 viewYaw, s16 init /** * Calculates a new Up vector from the pitch, yaw, roll */ -Vec3f* Camera_CalcUpFromPitchYawRoll(Vec3f* viewUp, s16 pitch, s16 yaw, s16 roll) { +Vec3f Camera_CalcUpFromPitchYawRoll(s16 pitch, s16 yaw, s16 roll) { f32 sinP = Math_SinS(pitch); f32 cosP = Math_CosS(pitch); f32 sinY = Math_SinS(yaw); @@ -699,9 +700,7 @@ Vec3f* Camera_CalcUpFromPitchYawRoll(Vec3f* viewUp, s16 pitch, s16 yaw, s16 roll up.y = DOTXYZ(baseUp, rollMtxRow2); up.z = DOTXYZ(baseUp, rollMtxRow3); - *viewUp = up; - - return viewUp; + return up; } f32 Camera_ClampLERPScale(Camera* camera, f32 maxLERPScale) { @@ -795,19 +794,16 @@ void Camera_UpdateInterface(s16 interfaceField) { } } -Vec3f* Camera_BGCheckCorner(Vec3f* dst, Vec3f* linePointA, Vec3f* linePointB, CamColChk* pointAColChk, - CamColChk* pointBColChk) { +Vec3f Camera_BGCheckCorner(Vec3f* linePointA, Vec3f* linePointB, CamColChk* pointAColChk, CamColChk* pointBColChk) { Vec3f closestPoint; if (!func_800427B4(pointAColChk->poly, pointBColChk->poly, linePointA, linePointB, &closestPoint)) { osSyncPrintf(VT_COL(YELLOW, BLACK) "camera: corner check no cross point %x %x\n" VT_RST, pointAColChk, pointBColChk); - *dst = pointAColChk->pos; - return dst; + return pointAColChk->pos; } - *dst = closestPoint; - return dst; + return closestPoint; } /** @@ -838,7 +834,7 @@ s32 func_80045508(Camera* camera, VecGeo* diffGeo, CamColChk* eyeChk, CamColChk* // collision found between at->eye atChk->pos = camera->at; - OLib_Vec3fToVecGeo(&eyeChk->geoNorm, &eyeChk->norm); + eyeChk->geoNorm = OLib_Vec3fToVecGeo(&eyeChk->norm); if (eyeChk->geoNorm.pitch >= 0x2EE1) { eyeChk->geoNorm.yaw = diffGeo->yaw; @@ -868,7 +864,7 @@ s32 func_80045508(Camera* camera, VecGeo* diffGeo, CamColChk* eyeChk, CamColChk* return 3; } - OLib_Vec3fToVecGeo(&atChk->geoNorm, &atChk->norm); + atChk->geoNorm = OLib_Vec3fToVecGeo(&atChk->norm); if (atChk->geoNorm.pitch >= 0x2EE1) { atChk->geoNorm.yaw = diffGeo->yaw - 0x7FFF; @@ -898,7 +894,7 @@ f32 Camera_CalcSlopeYAdj(Vec3f* floorNorm, s16 playerYRot, s16 eyeAtYaw, f32 adj f32 tmp; VecGeo floorNormGeo; - OLib_Vec3fToVecGeo(&floorNormGeo, floorNorm); + floorNormGeo = OLib_Vec3fToVecGeo(floorNorm); tmp = Math_CosS(floorNormGeo.pitch) * Math_CosS(playerYRot - floorNormGeo.yaw); return (fabsf(tmp) * adjAmt) * Math_CosS(playerYRot - eyeAtYaw); @@ -1114,7 +1110,7 @@ s32 Camera_CalcAtForLockOn(Camera* camera, VecGeo* eyeAtDir, Vec3f* targetPos, f // tmpPos1 is player's head tmpPos1 = playerPosRot->pos; tmpPos1.y += playerHeight; - OLib_Vec3fDiffToVecGeo(outPlayerToTargetDir, &tmpPos1, targetPos); + *outPlayerToTargetDir = OLib_Vec3fDiffToVecGeo(&tmpPos1, targetPos); playerToTargetDir = *outPlayerToTargetDir; if (distance < playerToTargetDir.r) { playerToTargetDir.r = playerToTargetDir.r * CAM_DATA_SCALED(OREG(38)); @@ -1124,7 +1120,7 @@ s32 Camera_CalcAtForLockOn(Camera* camera, VecGeo* eyeAtDir, Vec3f* targetPos, f playerToTargetDir.r = (playerToTargetDir.r * CAM_DATA_SCALED(OREG(39))) - (((CAM_DATA_SCALED(OREG(39)) - CAM_DATA_SCALED(OREG(38))) * playerToTargetDir.r) * (playerToTargetDir.r / distance)); - playerToTargetDir.r = playerToTargetDir.r - (playerToTargetDir.r * temp_f0_2) * temp_f0_2; + playerToTargetDir.r -= (playerToTargetDir.r * temp_f0_2) * temp_f0_2; } if (flags & CAM_LOCKON_AT_FLAG_OFF_GROUND) { @@ -1132,7 +1128,7 @@ s32 Camera_CalcAtForLockOn(Camera* camera, VecGeo* eyeAtDir, Vec3f* targetPos, f camera->xzOffsetUpdateRate = camera->yOffsetUpdateRate = .01f; } - OLib_VecGeoToVec3f(&lookFromOffset, &playerToTargetDir); + lookFromOffset = OLib_VecGeoToVec3f(&playerToTargetDir); if (PREG(89)) { osSyncPrintf("%f (%f %f %f) %f\n", playerToTargetDir.r / distance, lookFromOffset.x, lookFromOffset.y, @@ -1164,7 +1160,7 @@ s32 Camera_CalcAtForLockOn(Camera* camera, VecGeo* eyeAtDir, Vec3f* targetPos, f *yPosOffset = *yPosOffset + (yPosDelta + temp_f0_2); yPosDelta = -temp_f0_2; } - playerToAtOffsetTarget.y = playerToAtOffsetTarget.y - yPosDelta; + playerToAtOffsetTarget.y -= yPosDelta; } else { yPosDelta = playerPosRot->pos.y - *yPosOffset; temp_f0_2 = Math_FAtan2F(yPosDelta, OLib_Vec3fDistXZ(at, &camera->eye)); @@ -1202,7 +1198,7 @@ s32 Camera_CalcAtForHorse(Camera* camera, VecGeo* eyeAtDir, f32 yOffset, f32* yP Player* player = camera->player; PosRot horsePosRot; - Actor_GetWorldPosShapeRot(&horsePosRot, player->rideActor); + horsePosRot = Actor_GetWorldPosShapeRot(player->rideActor); if (EN_HORSE_CHECK_JUMPING((EnHorse*)player->rideActor)) { horsePosRot.pos.y -= 49.f; @@ -1345,7 +1341,7 @@ void func_80046E20(Camera* camera, VecGeo* eyeAdjustment, f32 minDist, f32 arg3, case 1: case 2: // angle between polys is between 60 and 120 degrees. - Camera_BGCheckCorner(&anim->collisionClosePoint, at, eyeNext, &atEyeColChk, &eyeAtColChk); + anim->collisionClosePoint = Camera_BGCheckCorner(at, eyeNext, &atEyeColChk, &eyeAtColChk); peekAroundPoint.x = anim->collisionClosePoint.x + (atEyeColChk.norm.x + eyeAtColChk.norm.x); peekAroundPoint.y = anim->collisionClosePoint.y + (atEyeColChk.norm.y + eyeAtColChk.norm.y); peekAroundPoint.z = anim->collisionClosePoint.z + (atEyeColChk.norm.z + eyeAtColChk.norm.z); @@ -1356,16 +1352,16 @@ void func_80046E20(Camera* camera, VecGeo* eyeAdjustment, f32 minDist, f32 arg3, anim->swingUpdateRate = CAM_DATA_SCALED(OREG(10)); anim->unk_18 = 1; anim->atEyePoly = eyeAtColChk.poly; - OLib_Vec3fDiffToVecGeo(&newEyeAdjustment, at, &peekAroundPoint); + newEyeAdjustment = OLib_Vec3fDiffToVecGeo(at, &peekAroundPoint); newEyeAdjustment.r = eyeAdjustment->r; - Camera_AddVecGeoToVec3f(eye, at, &newEyeAdjustment); + *eye = Camera_AddVecGeoToVec3f(at, &newEyeAdjustment); newEyeColChk.pos = *eye; if (Camera_BGCheckInfo(camera, at, &newEyeColChk) == 0) { // no collision found between at->newEyePos newEyeAdjustment.yaw += (s16)(eyeAdjustment->yaw - newEyeAdjustment.yaw) >> 1; newEyeAdjustment.pitch += (s16)(eyeAdjustment->pitch - newEyeAdjustment.pitch) >> 1; - Camera_AddVecGeoToVec3f(eye, at, &newEyeAdjustment); + *eye = Camera_AddVecGeoToVec3f(at, &newEyeAdjustment); if (atEyeColChk.geoNorm.pitch < 0x2AA8) { // ~ 60 degrees anim->unk_16 = newEyeAdjustment.yaw; @@ -1377,9 +1373,9 @@ void func_80046E20(Camera* camera, VecGeo* eyeAdjustment, f32 minDist, f32 arg3, peekAroundPoint.x = anim->collisionClosePoint.x - (atEyeColChk.norm.x + eyeAtColChk.norm.x); peekAroundPoint.y = anim->collisionClosePoint.y - (atEyeColChk.norm.y + eyeAtColChk.norm.y); peekAroundPoint.z = anim->collisionClosePoint.z - (atEyeColChk.norm.z + eyeAtColChk.norm.z); - OLib_Vec3fDiffToVecGeo(&newEyeAdjustment, at, &peekAroundPoint); + newEyeAdjustment = OLib_Vec3fDiffToVecGeo(at, &peekAroundPoint); newEyeAdjustment.r = eyeAdjustment->r; - Camera_AddVecGeoToVec3f(eyeNext, at, &newEyeAdjustment); + *eyeNext = Camera_AddVecGeoToVec3f(at, &newEyeAdjustment); break; } @@ -1399,13 +1395,13 @@ void func_80046E20(Camera* camera, VecGeo* eyeAdjustment, f32 minDist, f32 arg3, anim->swingUpdateRate = *arg4 * arg3; - Camera_Vec3fTranslateByUnitVector(eye, &atEyeColChk.pos, &atEyeColChk.norm, 1.0f); + *eye = Camera_Vec3fTranslateByUnitVector(&atEyeColChk.pos, &atEyeColChk.norm, 1.0f); anim->atEyePoly = NULL; if (temp_f0 < OREG(21)) { sp40.yaw = eyeAdjustment->yaw; sp40.pitch = Math_SinS(atEyeColChk.geoNorm.pitch + 0x3FFF) * 16380.0f; sp40.r = (OREG(21) - temp_f0) * CAM_DATA_SCALED(OREG(22)); - Camera_AddVecGeoToVec3f(eye, eye, &sp40); + *eye = Camera_AddVecGeoToVec3f(eye, &sp40); } break; default: @@ -1473,8 +1469,8 @@ s32 Camera_Normal1(Camera* camera) { sCameraInterfaceField = roData->interfaceField; - OLib_Vec3fDiffToVecGeo(&atEyeGeo, at, eye); - OLib_Vec3fDiffToVecGeo(&atEyeNextGeo, at, eyeNext); + atEyeGeo = OLib_Vec3fDiffToVecGeo(at, eye); + atEyeNextGeo = OLib_Vec3fDiffToVecGeo(at, eyeNext); switch (camera->animState) { case 20: @@ -1579,7 +1575,7 @@ s32 Camera_Normal1(Camera* camera) { Camera_CalcAtDefault(camera, &atEyeNextGeo, spA0, roData->interfaceField & NORMAL1_FLAG_0); } - OLib_Vec3fDiffToVecGeo(&eyeAdjustment, at, eyeNext); + eyeAdjustment = OLib_Vec3fDiffToVecGeo(at, eyeNext); camera->dist = eyeAdjustment.r = Camera_ClampDist(camera, eyeAdjustment.r, roData->distMin, roData->distMax, rwData->unk_28); @@ -1609,7 +1605,7 @@ s32 Camera_Normal1(Camera* camera) { eyeAdjustment.pitch = -0x3C8C; } - Camera_AddVecGeoToVec3f(eyeNext, at, &eyeAdjustment); + *eyeNext = Camera_AddVecGeoToVec3f(at, &eyeAdjustment); if ((camera->status == CAM_STAT_ACTIVE) && !(roData->interfaceField & NORMAL1_FLAG_4)) { rwData->swingYawTarget = camera->playerPosRot.rot.y - 0x7FFF; if (rwData->startSwingTimer > 0) { @@ -1637,7 +1633,7 @@ s32 Camera_Normal1(Camera* camera) { camera->inputDir.y = atEyeGeo.yaw - 0x7FFF; camera->inputDir.z = 0; } else { - OLib_Vec3fDiffToVecGeo(&eyeAdjustment, eye, at); + eyeAdjustment = OLib_Vec3fDiffToVecGeo(eye, at); camera->inputDir.x = eyeAdjustment.pitch; camera->inputDir.y = eyeAdjustment.yaw; camera->inputDir.z = 0; @@ -1718,7 +1714,7 @@ s32 Camera_Normal2(Camera* camera) { case 20: case 25: bgCamFuncData = (BgCamFuncData*)Camera_GetBgCamFuncData(camera); - Camera_Vec3sToVec3f(&rwData->unk_00, &bgCamFuncData->pos); + rwData->unk_00 = Camera_Vec3sToVec3f(&bgCamFuncData->pos); rwData->unk_20 = bgCamFuncData->rot.x; rwData->unk_22 = bgCamFuncData->rot.y; rwData->unk_24 = playerPosRot->pos.y; @@ -1734,7 +1730,7 @@ s32 Camera_Normal2(Camera* camera) { sp88.pitch = rwData->unk_20; sp88.yaw = rwData->unk_22 + 0x3FFF; sp88.r = 100.0f; - OLib_VecGeoToVec3f(&rwData->unk_0C, &sp88); + rwData->unk_0C = OLib_VecGeoToVec3f(&sp88); } camera->animState = 1; @@ -1747,8 +1743,8 @@ s32 Camera_Normal2(Camera* camera) { break; } - OLib_Vec3fDiffToVecGeo(&atToEyeDir, at, eye); - OLib_Vec3fDiffToVecGeo(&atToEyeNextDir, at, eyeNext); + atToEyeDir = OLib_Vec3fDiffToVecGeo(at, eye); + atToEyeNextDir = OLib_Vec3fDiffToVecGeo(at, eyeNext); camera->speedRatio *= 0.5f; spA4 = CAM_DATA_SCALED(R_CAM_UPDATE_RATE_STEP_SCALE_XZ) * camera->speedRatio; @@ -1778,8 +1774,8 @@ s32 Camera_Normal2(Camera* camera) { rwData->unk_00.y = playerPosRot->pos.y; - OLib_Vec3fDiffToVecGeo(&sp88, &rwData->unk_00, at); - OLib_Vec3fDiffToVecGeo(&sp90, at, eyeNext); + sp88 = OLib_Vec3fDiffToVecGeo(&rwData->unk_00, at); + sp90 = OLib_Vec3fDiffToVecGeo(at, eyeNext); phi_a1 = (rwData->unk_28 & 2 ? rwData->unk_22 : roData->unk_1C); phi_a0 = sp90.yaw - sp88.yaw; @@ -1810,7 +1806,7 @@ s32 Camera_Normal2(Camera* camera) { } } - Camera_AddVecGeoToVec3f(eyeNext, at, &adjGeo); + *eyeNext = Camera_AddVecGeoToVec3f(at, &adjGeo); if (camera->status == CAM_STAT_ACTIVE) { bgChk.pos = *eyeNext; @@ -1820,7 +1816,7 @@ s32 Camera_Normal2(Camera* camera) { } else { func_80043F94(camera, at, &bgChk); *eye = bgChk.pos; - OLib_Vec3fDiffToVecGeo(&adjGeo, eye, at); + adjGeo = OLib_Vec3fDiffToVecGeo(eye, at); camera->inputDir.x = adjGeo.pitch; camera->inputDir.y = adjGeo.yaw; camera->inputDir.z = 0; @@ -1873,8 +1869,8 @@ s32 Camera_Normal3(Camera* camera) { Camera_CopyPREGToModeValues(camera); } - OLib_Vec3fDiffToVecGeo(&sp7C, at, eye); - OLib_Vec3fDiffToVecGeo(&sp74, at, eyeNext); + sp7C = OLib_Vec3fDiffToVecGeo(at, eye); + sp74 = OLib_Vec3fDiffToVecGeo(at, eyeNext); sUpdateCameraDirection = true; sCameraInterfaceField = roData->interfaceField; @@ -1931,7 +1927,7 @@ s32 Camera_Normal3(Camera* camera) { Camera_CalcAtForHorse(camera, &sp74, roData->yOffset, &rwData->unk_20, true); sp90 = (roData->distMax + roData->distMin) * 0.5f; - OLib_Vec3fDiffToVecGeo(&sp84, at, eyeNext); + sp84 = OLib_Vec3fDiffToVecGeo(at, eyeNext); camera->dist = sp84.r = Camera_ClampDist(camera, sp84.r, roData->distMin, roData->distMax, rwData->distTimer); if (camera->xzSpeed > 0.001f) { sp84.r += (sp90 - sp84.r) * 0.002f; @@ -1969,7 +1965,7 @@ s32 Camera_Normal3(Camera* camera) { rwData->yawTimer--; } - Camera_AddVecGeoToVec3f(eyeNext, at, &sp84); + *eyeNext = Camera_AddVecGeoToVec3f(at, &sp84); if (camera->status == CAM_STAT_ACTIVE) { func_80046E20(camera, &sp84, roData->distMin, roData->yawUpdateSpeed, &sp8C, &rwData->swing); @@ -2034,8 +2030,8 @@ s32 Camera_Parallel1(Camera* camera) { Camera_CopyPREGToModeValues(camera); } - OLib_Vec3fDiffToVecGeo(&atToEyeDir, at, eye); - OLib_Vec3fDiffToVecGeo(&atToEyeNextDir, at, eyeNext); + atToEyeDir = OLib_Vec3fDiffToVecGeo(at, eye); + atToEyeNextDir = OLib_Vec3fDiffToVecGeo(at, eyeNext); switch (camera->animState) { case 0: @@ -2122,7 +2118,7 @@ s32 Camera_Parallel1(Camera* camera) { } if (rwData->animTimer != 0) { - camera->stateFlags |= CAM_STATE_5; + camera->stateFlags |= CAM_STATE_LOCK_MODE; tangle = (((rwData->animTimer + 1) * rwData->animTimer) >> 1); spA8.yaw = atToEyeDir.yaw + (((s16)(rwData->yawTarget - atToEyeDir.yaw) / tangle) * rwData->animTimer); spA8.pitch = atToEyeDir.pitch; @@ -2131,7 +2127,7 @@ s32 Camera_Parallel1(Camera* camera) { } else { rwData->unk_16 = 0; camera->dist = Camera_LERPCeilF(roData->distTarget, camera->dist, 1.0f / camera->rUpdateRateInv, 2.0f); - OLib_Vec3fDiffToVecGeo(&spA8, at, eyeNext); + spA8 = OLib_Vec3fDiffToVecGeo(at, eyeNext); spA8.r = camera->dist; if (roData->interfaceField & PARALLEL1_FLAG_6) { @@ -2156,7 +2152,7 @@ s32 Camera_Parallel1(Camera* camera) { spA8.pitch = R_CAM_MIN_PITCH_1; } } - Camera_AddVecGeoToVec3f(eyeNext, at, &spA8); + *eyeNext = Camera_AddVecGeoToVec3f(at, &spA8); if (camera->status == CAM_STAT_ACTIVE) { sp6C.pos = *eyeNext; if (!camera->play->envCtx.skyboxDisabled || roData->interfaceField & PARALLEL1_FLAG_4) { @@ -2165,7 +2161,7 @@ s32 Camera_Parallel1(Camera* camera) { } else { func_80043F94(camera, at, &sp6C); *eye = sp6C.pos; - OLib_Vec3fDiffToVecGeo(&spA8, eye, at); + spA8 = OLib_Vec3fDiffToVecGeo(eye, at); camera->inputDir.x = spA8.pitch; camera->inputDir.y = spA8.yaw; camera->inputDir.z = 0; @@ -2188,10 +2184,10 @@ s32 Camera_Parallel3(Camera* camera) { sCameraInterfaceField = interfaceField; if (interfaceField & PARALLEL3_FLAG_0) { - camera->stateFlags |= CAM_STATE_10; + camera->stateFlags |= CAM_STATE_BLOCK_BG; } if (interfaceField & PARALLEL3_FLAG_1) { - camera->stateFlags |= CAM_STATE_4; + camera->stateFlags |= CAM_STATE_CAM_FUNC_FINISH; } //! @bug doesn't return } @@ -2247,10 +2243,10 @@ s32 Camera_Jump1(Camera* camera) { } // playerhead never gets used. - Actor_GetFocus(&playerhead, &camera->player->actor); + playerhead = Actor_GetFocus(&camera->player->actor); - OLib_Vec3fDiffToVecGeo(&eyeAtOffset, at, eye); - OLib_Vec3fDiffToVecGeo(&eyeNextAtOffset, at, eyeNext); + eyeAtOffset = OLib_Vec3fDiffToVecGeo(at, eye); + eyeNextAtOffset = OLib_Vec3fDiffToVecGeo(at, eyeNext); sCameraInterfaceField = roData->interfaceField; @@ -2295,7 +2291,7 @@ s32 Camera_Jump1(Camera* camera) { eyeDiffGeo = eyeAtOffset; - OLib_Vec3fDiffToVecGeo(&eyeDiffTarget, at, eye); + eyeDiffTarget = OLib_Vec3fDiffToVecGeo(at, eye); eyeDiffGeo.r = Camera_LERPCeilF(eyeDiffTarget.r, eyeAtOffset.r, CAM_DATA_SCALED(OREG(29)), 1.0f); eyeDiffGeo.pitch = Camera_LERPCeilS(eyeDiffTarget.pitch, eyeAtOffset.pitch, CAM_DATA_SCALED(OREG(29)), 0xA); @@ -2324,7 +2320,7 @@ s32 Camera_Jump1(Camera* camera) { eyeDiffGeo.pitch = R_CAM_MIN_PITCH_2; } - Camera_AddVecGeoToVec3f(&newEye, at, &eyeDiffGeo); + newEye = Camera_AddVecGeoToVec3f(at, &eyeDiffGeo); eyeNext->x = newEye.x; eyeNext->z = newEye.z; eyeNext->y += (newEye.y - eyeNext->y) * CAM_DATA_SCALED(R_CAM_JUMP1_EYE_Y_STEP_SCALE); @@ -2335,7 +2331,7 @@ s32 Camera_Jump1(Camera* camera) { camera->inputDir.y = eyeAtOffset.yaw - 0x7FFF; camera->inputDir.z = 0; } else { - OLib_Vec3fDiffToVecGeo(&eyeDiffGeo, eye, at); + eyeDiffGeo = OLib_Vec3fDiffToVecGeo(eye, at); camera->inputDir.x = eyeDiffGeo.pitch; camera->inputDir.y = eyeDiffGeo.yaw; camera->inputDir.z = 0; @@ -2407,8 +2403,8 @@ s32 Camera_Jump2(Camera* camera) { Camera_CopyPREGToModeValues(camera); } - OLib_Vec3fDiffToVecGeo(&atToEyeDir, at, eye); - OLib_Vec3fDiffToVecGeo(&atToEyeNextDir, at, eyeNext); + atToEyeDir = OLib_Vec3fDiffToVecGeo(at, eye); + atToEyeNextDir = OLib_Vec3fDiffToVecGeo(at, eyeNext); sCameraInterfaceField = roData->interfaceField; @@ -2456,7 +2452,7 @@ s32 Camera_Jump2(Camera* camera) { camera->rUpdateRateInv = OREG(27); Camera_CalcAtDefault(camera, &atToEyeNextDir, roData->atYOffset, false); - OLib_Vec3fDiffToVecGeo(&adjAtToEyeDir, at, eye); + adjAtToEyeDir = OLib_Vec3fDiffToVecGeo(at, eye); temp_f16 = roData->minDist; sp90 = roData->maxDist + (roData->maxDist * roData->minMaxDistFactor); @@ -2516,7 +2512,7 @@ s32 Camera_Jump2(Camera* camera) { adjAtToEyeDir.pitch = -0x2AF8; } - Camera_AddVecGeoToVec3f(eyeNext, at, &adjAtToEyeDir); + *eyeNext = Camera_AddVecGeoToVec3f(at, &adjAtToEyeDir); camBgChk.pos = *eyeNext; if (Camera_BGCheckInfo(camera, at, &camBgChk)) { // Collision detected between at->eyeNext, Check if collision between @@ -2525,7 +2521,7 @@ s32 Camera_Jump2(Camera* camera) { bgChkPara.r = adjAtToEyeDir.r; bgChkPara.pitch = 0; bgChkPara.yaw = adjAtToEyeDir.yaw; - Camera_AddVecGeoToVec3f(&camBgChk.pos, at, &bgChkPara); + camBgChk.pos = Camera_AddVecGeoToVec3f(at, &bgChkPara); if (Camera_BGCheckInfo(camera, at, &camBgChk)) { // Collision found between parallel at->eyeNext, set eye position to // first collision point. @@ -2533,7 +2529,7 @@ s32 Camera_Jump2(Camera* camera) { } else { // no collision found with the parallel at->eye, animate to be parallel adjAtToEyeDir.pitch = Camera_LERPCeilS(0, adjAtToEyeDir.pitch, 0.2f, 0xA); - Camera_AddVecGeoToVec3f(eye, at, &adjAtToEyeDir); + *eye = Camera_AddVecGeoToVec3f(at, &adjAtToEyeDir); // useless? Camera_BGCheck(camera, at, eye); } @@ -2578,7 +2574,7 @@ s32 Camera_Jump3(Camera* camera) { Jump3ReadWriteData* rwData = &camera->paramData.jump3.rwData; playerHeight = Player_GetHeight(camera->player); - Actor_GetFocus(&playerhead, &camera->player->actor); + playerhead = Actor_GetFocus(&camera->player->actor); modeSwitch = false; if (((camera->waterYPos - eye->y) < OREG(44) || (camera->animState == 0))) { @@ -2591,8 +2587,8 @@ s32 Camera_Jump3(Camera* camera) { modeSwitch = true; } - OLib_Vec3fDiffToVecGeo(&eyeAtOffset, at, eye); - OLib_Vec3fDiffToVecGeo(&eyeNextAtOffset, at, eyeNext); + eyeAtOffset = OLib_Vec3fDiffToVecGeo(at, eye); + eyeNextAtOffset = OLib_Vec3fDiffToVecGeo(at, eyeNext); if (RELOAD_PARAMS(camera) || modeSwitch || R_RELOAD_CAM_PARAMS) { values = sCameraSettings[camera->setting].cameraModes[rwData->mode].values; @@ -2667,7 +2663,7 @@ s32 Camera_Jump3(Camera* camera) { camera->speedRatio * 0.05f, 0.1f); Camera_CalcAtDefault(camera, &eyeNextAtOffset, roData->yOffset, roData->interfaceField); - OLib_Vec3fDiffToVecGeo(&eyeDiffGeo, at, eyeNext); + eyeDiffGeo = OLib_Vec3fDiffToVecGeo(at, eyeNext); camera->dist = eyeDiffGeo.r = Camera_ClampDist(camera, eyeDiffGeo.r, roData->distMin, roData->distMax, rwData->animTimer); @@ -2706,7 +2702,7 @@ s32 Camera_Jump3(Camera* camera) { eyeDiffGeo.pitch = R_CAM_MIN_PITCH_1; } - Camera_AddVecGeoToVec3f(eyeNext, at, &eyeDiffGeo); + *eyeNext = Camera_AddVecGeoToVec3f(at, &eyeDiffGeo); if ((camera->status == CAM_STAT_ACTIVE) && !(roData->interfaceField & JUMP3_FLAG_4)) { func_80046E20(camera, &eyeDiffGeo, roData->distMin, roData->swingUpdateRate, &spBC, &rwData->swing); if (roData->interfaceField & JUMP3_FLAG_2) { @@ -2714,7 +2710,7 @@ s32 Camera_Jump3(Camera* camera) { camera->inputDir.y = eyeAtOffset.yaw - 0x7FFF; camera->inputDir.z = 0; } else { - OLib_Vec3fDiffToVecGeo(&eyeDiffGeo, eye, at); + eyeDiffGeo = OLib_Vec3fDiffToVecGeo(eye, at); camera->inputDir.x = eyeDiffGeo.pitch; camera->inputDir.y = eyeDiffGeo.yaw; camera->inputDir.z = 0; @@ -2853,15 +2849,15 @@ s32 Camera_Battle1(Camera* camera) { camera->fovUpdateRate = Camera_LERPCeilF(CAM_DATA_SCALED(R_CAM_FOV_UPDATE_RATE), camera->fovUpdateRate, camera->speedRatio * 0.05f, 0.1f); playerHeight += roData->yOffset; - OLib_Vec3fDiffToVecGeo(&atToEyeDir, at, eye); - OLib_Vec3fDiffToVecGeo(&atToEyeNextDir, at, eyeNext); + atToEyeDir = OLib_Vec3fDiffToVecGeo(at, eye); + atToEyeNextDir = OLib_Vec3fDiffToVecGeo(at, eyeNext); if (camera->target == NULL || camera->target->update == NULL) { if (camera->target == NULL) { osSyncPrintf( VT_COL(YELLOW, BLACK) "camera: warning: battle: target is not valid, change parallel\n" VT_RST); } camera->target = NULL; - Camera_ChangeMode(camera, CAM_MODE_Z_PARALLEL); + Camera_RequestMode(camera, CAM_MODE_Z_PARALLEL); return true; } @@ -2877,7 +2873,7 @@ s32 Camera_Battle1(Camera* camera) { } else { osSyncPrintf("camera: battle: target actor name " VT_COL(RED, WHITE) "%d" VT_RST "\n", rwData->target->id); camera->target = NULL; - Camera_ChangeMode(camera, CAM_MODE_Z_PARALLEL); + Camera_RequestMode(camera, CAM_MODE_Z_PARALLEL); return true; } rwData->animTimer = R_CAM_DEFAULT_ANIM_TIME + OREG(24); @@ -2906,7 +2902,7 @@ s32 Camera_Battle1(Camera* camera) { camera->atLERPStepScale = Camera_ClampLERPScale(camera, isOffGround ? roData->atLERPScaleOffGround : roData->atLERPScaleOnGround); } - Actor_GetFocus(&camera->targetPosRot, camera->target); + camera->targetPosRot = Actor_GetFocus(camera->target); if (rwData->target != camera->target) { osSyncPrintf("camera: battle: change target %d -> " VT_FGCOL(BLUE) "%d" VT_RST "\n", rwData->target->id, camera->target->id); @@ -2923,10 +2919,10 @@ s32 Camera_Battle1(Camera* camera) { tmpAng2 = playerToTargetDir.yaw; playerHead = playerPosRot->pos; playerHead.y += playerHeight; - OLib_Vec3fDiffToVecGeo(&playerToTargetDir, &playerHead, &camera->targetPosRot.pos); + playerToTargetDir = OLib_Vec3fDiffToVecGeo(&playerHead, &camera->targetPosRot.pos); distRatio = playerToTargetDir.r > distance ? 1 : playerToTargetDir.r / distance; targetPos = camera->targetPosRot.pos; - OLib_Vec3fDiffToVecGeo(&atToTargetDir, at, &targetPos); + atToTargetDir = OLib_Vec3fDiffToVecGeo(at, &targetPos); atToTargetDir.r = distance - ((atToTargetDir.r <= distance ? atToTargetDir.r : distance) * 0.5f); swingAngle = roData->swingYawInitial + ((roData->swingYawFinal - roData->swingYawInitial) * (1.1f - distRatio)); spF8 = OREG(13) + swingAngle; @@ -2937,7 +2933,7 @@ s32 Camera_Battle1(Camera* camera) { if (rwData->animTimer != 0) { if (rwData->animTimer >= OREG(24)) { sp86 = rwData->animTimer - OREG(24); - OLib_Vec3fDiffToVecGeo(&playerToTargetDir, at, eye); + playerToTargetDir = OLib_Vec3fDiffToVecGeo(at, eye); playerToTargetDir.yaw = tmpAng2 - 0x7FFF; var2 = 1.0f / R_CAM_DEFAULT_ANIM_TIME; @@ -2983,7 +2979,7 @@ s32 Camera_Battle1(Camera* camera) { } spB4.pitch = Camera_LERPCeilS(tmpAng1, atToEyeNextDir.pitch, rwData->unk_10, 0xA); - Camera_AddVecGeoToVec3f(eyeNext, at, &spB4); + *eyeNext = Camera_AddVecGeoToVec3f(at, &spB4); spBC.pos = *eyeNext; if (camera->status == CAM_STAT_ACTIVE) { if (!camera->play->envCtx.skyboxDisabled || roData->interfaceField & BATTLE1_FLAG_0) { @@ -2991,7 +2987,7 @@ s32 Camera_Battle1(Camera* camera) { } else if (roData->interfaceField & BATTLE1_FLAG_1) { func_80043F94(camera, at, &spBC); } else { - OLib_Vec3fDistNormalize(&sp128, at, &spBC.pos); + sp128 = OLib_Vec3fDistNormalize(at, &spBC.pos); spBC.pos.x -= sp128.x; spBC.pos.y -= sp128.y; spBC.pos.z -= sp128.z; @@ -3055,8 +3051,8 @@ s32 Camera_Battle4(Camera* camera) { Camera_CopyPREGToModeValues(camera); } - OLib_Vec3fDiffToVecGeo(&eyeAtOffset, at, eye); - OLib_Vec3fDiffToVecGeo(&eyeNextAtOffset, at, eyeNext); + eyeAtOffset = OLib_Vec3fDiffToVecGeo(at, eye); + eyeNextAtOffset = OLib_Vec3fDiffToVecGeo(at, eyeNext); sCameraInterfaceField = roData->interfaceField; @@ -3091,7 +3087,7 @@ s32 Camera_Battle4(Camera* camera) { eyeNextOffset.pitch = Camera_LERPCeilS(roData->pitchTarget, eyeAtOffset.pitch, roData->lerpUpdateRate, 2); eyeNextOffset.r = Camera_LERPCeilF(roData->rTarget, eyeAtOffset.r, roData->lerpUpdateRate, 0.001f); } - Camera_AddVecGeoToVec3f(eyeNext, at, &eyeNextOffset); + *eyeNext = Camera_AddVecGeoToVec3f(at, &eyeNextOffset); *eye = *eyeNext; camera->dist = eyeNextOffset.r; camera->fov = Camera_LERPCeilF(roData->fovTarget, camera->fov, roData->lerpUpdateRate, 1.0f); @@ -3147,7 +3143,7 @@ s32 Camera_KeepOn1(Camera* camera) { VT_COL(YELLOW, BLACK) "camera: warning: keepon: target is not valid, change parallel\n" VT_RST); } camera->target = NULL; - Camera_ChangeMode(camera, CAM_MODE_Z_PARALLEL); + Camera_RequestMode(camera, CAM_MODE_Z_PARALLEL); return 1; } @@ -3175,8 +3171,8 @@ s32 Camera_KeepOn1(Camera* camera) { } playerHeight += roData->unk_00; - OLib_Vec3fDiffToVecGeo(&spC0, at, eye); - OLib_Vec3fDiffToVecGeo(&spB8, at, eyeNext); + spC0 = OLib_Vec3fDiffToVecGeo(at, eye); + spB8 = OLib_Vec3fDiffToVecGeo(at, eyeNext); sCameraInterfaceField = roData->interfaceField; if (RELOAD_PARAMS(camera)) { camera->animState++; @@ -3204,15 +3200,15 @@ s32 Camera_KeepOn1(Camera* camera) { if ((camera->player->actor.category == 2) && (camera->player->interactRangeActor == camera->target)) { PosRot sp54; - Actor_GetFocus(&sp54, &camera->player->actor); + sp54 = Actor_GetFocus(&camera->player->actor); spC8.r = 60.0f; spC8.yaw = camera->playerPosRot.rot.y; spC8.pitch = 0x2EE0; - Camera_AddVecGeoToVec3f(&camera->targetPosRot.pos, &sp54.pos, &spC8); + camera->targetPosRot.pos = Camera_AddVecGeoToVec3f(&sp54.pos, &spC8); } else { - Actor_GetFocus(&camera->targetPosRot, camera->target); + camera->targetPosRot = Actor_GetFocus(camera->target); } - Actor_GetFocus(&camera->targetPosRot, camera->target); + camera->targetPosRot = Actor_GetFocus(camera->target); if (rwData->unk_0C != camera->target) { rwData->unk_0C = camera->target; camera->atLERPStepScale = 0.0f; @@ -3242,7 +3238,7 @@ s32 Camera_KeepOn1(Camera* camera) { (isOffGround ? CAM_LOCKON_AT_FLAG_OFF_GROUND : 0) | roData->interfaceField); sp114 = playerPosRot->pos; sp114.y += playerHeight; - OLib_Vec3fDiffToVecGeo(&spC8, &sp114, &camera->targetPosRot.pos); + spC8 = OLib_Vec3fDiffToVecGeo(&sp114, &camera->targetPosRot.pos); sp84 = spC8.r > sp104 ? 1.0f : spC8.r / sp104; break; default: @@ -3251,7 +3247,7 @@ s32 Camera_KeepOn1(Camera* camera) { rwData->unk_0C = NULL; break; } - OLib_Vec3fDiffToVecGeo(&spD8, at, eyeNext); + spD8 = OLib_Vec3fDiffToVecGeo(at, eyeNext); if (spD8.r < roData->unk_04) { sp104 = roData->unk_04; spE8 = R_CAM_R_UPDATE_RATE_INV; @@ -3267,7 +3263,7 @@ s32 Camera_KeepOn1(Camera* camera) { Camera_LERPCeilF(spE8, camera->rUpdateRateInv, CAM_DATA_SCALED(R_CAM_UPDATE_RATE_STEP_SCALE_XZ), 0.1f); spD8.r = spE8 = camera->dist = Camera_LERPCeilF(sp104, camera->dist, 1.0f / camera->rUpdateRateInv, 0.2f); sp108 = camera->targetPosRot.pos; - OLib_Vec3fDiffToVecGeo(&spD0, at, &sp108); + spD0 = OLib_Vec3fDiffToVecGeo(at, &sp108); spD0.r = spE8 - ((spD0.r <= spE8 ? spD0.r : spE8) * 0.5f); spEC = roData->unk_0C + ((roData->unk_10 - roData->unk_0C) * (1.1f - sp84)); spF0 = OREG(13) + spEC; @@ -3278,7 +3274,7 @@ s32 Camera_KeepOn1(Camera* camera) { if (rwData->unk_16 >= OREG(24)) { sp82 = rwData->unk_16 - OREG(24); spE2 = spC8.yaw; - OLib_Vec3fDiffToVecGeo(&spC8, at, eye); + spC8 = OLib_Vec3fDiffToVecGeo(at, eye); spC8.yaw = spE2 - 0x7FFF; t2 = 1.0f / R_CAM_DEFAULT_ANIM_TIME; @@ -3321,7 +3317,7 @@ s32 Camera_KeepOn1(Camera* camera) { } spD8.pitch = Camera_LERPCeilS(spE2, spB8.pitch, CAM_DATA_SCALED(OREG(12)), 0xA); - Camera_AddVecGeoToVec3f(eyeNext, at, &spD8); + *eyeNext = Camera_AddVecGeoToVec3f(at, &spD8); sp8C.pos = *eyeNext; if (camera->status == CAM_STAT_ACTIVE) { if (!camera->play->envCtx.skyboxDisabled || roData->interfaceField & KEEPON1_FLAG_0) { @@ -3329,7 +3325,7 @@ s32 Camera_KeepOn1(Camera* camera) { } else if (roData->interfaceField & KEEPON1_FLAG_1) { func_80043F94(camera, at, &sp8C); } else { - OLib_Vec3fDistNormalize(&sp120, at, &sp8C.pos); + sp120 = OLib_Vec3fDistNormalize(at, &sp8C.pos); sp8C.pos.x -= sp120.x; sp8C.pos.y -= sp120.y; sp8C.pos.z -= sp120.z; @@ -3338,8 +3334,8 @@ s32 Camera_KeepOn1(Camera* camera) { } else { *eye = *eyeNext; } - OLib_Vec3fDistNormalize(&sp120, eye, at); - Camera_Vec3fTranslateByUnitVector(eye, eye, &sp120, OREG(1)); + sp120 = OLib_Vec3fDistNormalize(eye, at); + *eye = Camera_Vec3fTranslateByUnitVector(eye, &sp120, OREG(1)); } camera->fov = Camera_LERPCeilF(roData->unk_20, camera->fov, camera->fovUpdateRate, 1.0f); camera->roll = Camera_LERPCeilS(0, camera->roll, 0.5f, 0xA); @@ -3386,18 +3382,18 @@ s32 Camera_KeepOn3(Camera* camera) { osSyncPrintf(VT_COL(YELLOW, BLACK) "camera: warning: talk: target is not valid, change parallel\n" VT_RST); } camera->target = NULL; - Camera_ChangeMode(camera, CAM_MODE_Z_PARALLEL); + Camera_RequestMode(camera, CAM_MODE_Z_PARALLEL); return 1; } if (RELOAD_PARAMS(camera)) { if (camera->play->view.unk_124 == 0) { - camera->stateFlags |= CAM_STATE_5; + camera->stateFlags |= CAM_STATE_LOCK_MODE; camera->play->view.unk_124 = camera->camId | 0x50; return 1; } - camera->stateFlags &= ~CAM_STATE_5; + camera->stateFlags &= ~CAM_STATE_LOCK_MODE; } - camera->stateFlags &= ~CAM_STATE_4; + camera->stateFlags &= ~CAM_STATE_CAM_FUNC_FINISH; if (RELOAD_PARAMS(camera) || R_RELOAD_CAM_PARAMS) { CameraModeValue* values = sCameraSettings[camera->setting].cameraModes[camera->mode].values; f32 yNormal = @@ -3422,13 +3418,13 @@ s32 Camera_KeepOn3(Camera* camera) { } playerHeight += roData->yOffset; - OLib_Vec3fDiffToVecGeo(&atToEyeDir, at, eye); - OLib_Vec3fDiffToVecGeo(&atToEyeNextDir, at, eyeNext); - Actor_GetFocus(&camera->targetPosRot, camera->target); - Actor_GetFocus(&playerPosRot, &camera->player->actor); + atToEyeDir = OLib_Vec3fDiffToVecGeo(at, eye); + atToEyeNextDir = OLib_Vec3fDiffToVecGeo(at, eyeNext); + camera->targetPosRot = Actor_GetFocus(camera->target); + playerPosRot = Actor_GetFocus(&camera->player->actor); playerHeadPos = camPlayerPosRot->pos; playerHeadPos.y += playerHeight; - OLib_Vec3fDiffToVecGeo(&targetToPlayerDir, &playerHeadPos, &camera->targetPosRot.pos); + targetToPlayerDir = OLib_Vec3fDiffToVecGeo(&playerHeadPos, &camera->targetPosRot.pos); sCameraInterfaceField = roData->interfaceField; if (RELOAD_PARAMS(camera)) { colChkActors[0] = camera->target; @@ -3473,12 +3469,12 @@ s32 Camera_KeepOn3(Camera* camera) { sp82 = atToEyeAdj.pitch; playerHeadPos = camPlayerPosRot->pos; playerHeadPos.y += playerHeight; - Camera_AddVecGeoToVec3f(&rwData->atTarget, &playerHeadPos, &targetToPlayerDir); + rwData->atTarget = Camera_AddVecGeoToVec3f(&playerHeadPos, &targetToPlayerDir); angleCnt = ARRAY_COUNT(D_8011D3B0); i = 0; targetToPlayerDir.r = prevTargetPlayerDist; atToEyeAdj.r = roData->minDist + (targetToPlayerDir.r * (1 - 0.5f)) - atToEyeNextDir.r + atToEyeNextDir.r; - Camera_AddVecGeoToVec3f(&lineChkPointB, &rwData->atTarget, &atToEyeAdj); + lineChkPointB = Camera_AddVecGeoToVec3f(&rwData->atTarget, &atToEyeAdj); if (!(roData->interfaceField & KEEPON3_FLAG_7)) { while (i < angleCnt) { if (!CollisionCheck_LineOCCheck(camera->play, &camera->play->colChkCtx, &rwData->atTarget, @@ -3488,12 +3484,12 @@ s32 Camera_KeepOn3(Camera* camera) { } atToEyeAdj.yaw = sp80 + D_8011D3B0[i]; atToEyeAdj.pitch = sp82 + D_8011D3CC[i]; - Camera_AddVecGeoToVec3f(&lineChkPointB, &rwData->atTarget, &atToEyeAdj); + lineChkPointB = Camera_AddVecGeoToVec3f(&rwData->atTarget, &atToEyeAdj); i++; } } osSyncPrintf("camera: talk: BG&collision check %d time(s)\n", i); - camera->stateFlags &= ~(CAM_STATE_2 | CAM_STATE_3); + camera->stateFlags &= ~(CAM_STATE_CHECK_BG | CAM_STATE_EXTERNAL_FINISHED); pad = ((rwData->animTimer + 1) * rwData->animTimer) >> 1; rwData->eyeToAtTargetYaw = (f32)(s16)(atToEyeAdj.yaw - atToEyeNextDir.yaw) / pad; rwData->eyeToAtTargetPitch = (f32)(s16)(atToEyeAdj.pitch - atToEyeNextDir.pitch) / pad; @@ -3510,7 +3506,7 @@ s32 Camera_KeepOn3(Camera* camera) { atToEyeAdj.r = ((rwData->eyeToAtTargetR * rwData->animTimer) + atToEyeNextDir.r) + 1.0f; atToEyeAdj.yaw = atToEyeNextDir.yaw + (s16)(rwData->eyeToAtTargetYaw * rwData->animTimer); atToEyeAdj.pitch = atToEyeNextDir.pitch + (s16)(rwData->eyeToAtTargetPitch * rwData->animTimer); - Camera_AddVecGeoToVec3f(eyeNext, at, &atToEyeAdj); + *eyeNext = Camera_AddVecGeoToVec3f(at, &atToEyeAdj); *eye = *eyeNext; camera->fov = Camera_LERPCeilF(roData->fovTarget, camera->fov, 0.5, 1.0f); camera->roll = Camera_LERPCeilS(0, camera->roll, 0.5, 0xA); @@ -3518,10 +3514,10 @@ s32 Camera_KeepOn3(Camera* camera) { Camera_BGCheck(camera, at, eye); rwData->animTimer--; } else { - camera->stateFlags |= (CAM_STATE_4 | CAM_STATE_10); + camera->stateFlags |= (CAM_STATE_CAM_FUNC_FINISH | CAM_STATE_BLOCK_BG); } - if (camera->stateFlags & CAM_STATE_3) { + if (camera->stateFlags & CAM_STATE_EXTERNAL_FINISHED) { sCameraInterfaceField = CAM_INTERFACE_FIELD(CAM_LETTERBOX_NONE, CAM_HUD_VISIBILITY_ALL, 0); func_80043B60(camera); camera->atLERPStepScale = 0.0f; @@ -3534,8 +3530,8 @@ s32 Camera_KeepOn3(Camera* camera) { CHECK_BTN_ALL(D_8015BD7C->state.input[0].press.button, BTN_CRIGHT) || CHECK_BTN_ALL(D_8015BD7C->state.input[0].press.button, BTN_R) || CHECK_BTN_ALL(D_8015BD7C->state.input[0].press.button, BTN_Z)) { - camera->stateFlags |= CAM_STATE_2; - camera->stateFlags &= ~CAM_STATE_3; + camera->stateFlags |= CAM_STATE_CHECK_BG; + camera->stateFlags &= ~CAM_STATE_EXTERNAL_FINISHED; } } return 1; @@ -3571,27 +3567,27 @@ s32 Camera_KeepOn4(Camera* camera) { if (RELOAD_PARAMS(camera)) { if (camera->play->view.unk_124 == 0) { - camera->stateFlags |= CAM_STATE_5; - camera->stateFlags &= ~(CAM_STATE_1 | CAM_STATE_2); + camera->stateFlags |= CAM_STATE_LOCK_MODE; + camera->stateFlags &= ~(CAM_STATE_CHECK_WATER | CAM_STATE_CHECK_BG); camera->play->view.unk_124 = camera->camId | 0x50; return 1; } rwData->unk_14 = *temp_s0; - camera->stateFlags &= ~CAM_STATE_5; + camera->stateFlags &= ~CAM_STATE_LOCK_MODE; } if (rwData->unk_14 != *temp_s0) { osSyncPrintf(VT_COL(YELLOW, BLACK) "camera: item: item type changed %d -> %d\n" VT_RST, rwData->unk_14, *temp_s0); camera->animState = 20; - camera->stateFlags |= CAM_STATE_5; - camera->stateFlags &= ~(CAM_STATE_1 | CAM_STATE_2); + camera->stateFlags |= CAM_STATE_LOCK_MODE; + camera->stateFlags &= ~(CAM_STATE_CHECK_WATER | CAM_STATE_CHECK_BG); camera->play->view.unk_124 = camera->camId | 0x50; return 1; } playerHeight = Player_GetHeight(camera->player); - camera->stateFlags &= ~CAM_STATE_4; + camera->stateFlags &= ~CAM_STATE_CAM_FUNC_FINISH; if (RELOAD_PARAMS(camera) || R_RELOAD_CAM_PARAMS) { CameraModeValue* values = sCameraSettings[camera->setting].cameraModes[camera->mode].values; f32 yNormal = 1.0f + t - (68.0f / playerHeight * t); @@ -3720,8 +3716,8 @@ s32 Camera_KeepOn4(Camera* camera) { sUpdateCameraDirection = 1; sCameraInterfaceField = roData->interfaceField; - OLib_Vec3fDiffToVecGeo(&spB0, at, eye); - OLib_Vec3fDiffToVecGeo(&spA8, at, eyeNext); + spB0 = OLib_Vec3fDiffToVecGeo(at, eye); + spA8 = OLib_Vec3fDiffToVecGeo(at, eyeNext); D_8015BD50 = playerPosRot->pos; D_8015BD50.y += playerHeight; temp_f0_2 = BgCheck_CameraRaycastDown2(&camera->play->colCtx, &spC0, &i, &D_8015BD50); @@ -3738,7 +3734,7 @@ s32 Camera_KeepOn4(Camera* camera) { spCC[sp9C] = &camera->player->actor; sp9C++; func_80043ABC(camera); - camera->stateFlags &= ~(CAM_STATE_1 | CAM_STATE_2); + camera->stateFlags &= ~(CAM_STATE_CHECK_WATER | CAM_STATE_CHECK_BG); rwData->unk_10 = roData->unk_1E; rwData->unk_08 = playerPosRot->pos.y - camera->playerPosDelta.y; if (roData->interfaceField & KEEPON4_FLAG_1) { @@ -3752,7 +3748,7 @@ s32 Camera_KeepOn4(Camera* camera) { } else if ((roData->interfaceField & KEEPON4_FLAG_3) && camera->target != NULL) { PosRot sp60; - Actor_GetWorldPosShapeRot(&sp60, camera->target); + sp60 = Actor_GetWorldPosShapeRot(camera->target); spA2 = CAM_DEG_TO_BINANG(roData->unk_08) - sp60.rot.x; spA0 = (s16)((s16)(sp60.rot.y - 0x7FFF) - spA8.yaw) > 0 ? (s16)(sp60.rot.y - 0x7FFF) + CAM_DEG_TO_BINANG(roData->unk_0C) @@ -3762,7 +3758,7 @@ s32 Camera_KeepOn4(Camera* camera) { } else if ((roData->interfaceField & KEEPON4_FLAG_7) && camera->target != NULL) { PosRot sp4C; - Actor_GetWorld(&sp4C, camera->target); + sp4C = Actor_GetWorld(camera->target); spA2 = CAM_DEG_TO_BINANG(roData->unk_08); sp9E = Camera_XZAngle(&sp4C.pos, &playerPosRot->pos); spA0 = ((s16)(sp9E - spA8.yaw) > 0) ? sp9E + CAM_DEG_TO_BINANG(roData->unk_0C) @@ -3780,7 +3776,7 @@ s32 Camera_KeepOn4(Camera* camera) { spB8.pitch = spA2; spB8.yaw = spA0; spB8.r = roData->unk_04; - Camera_AddVecGeoToVec3f(&D_8015BD70, &D_8015BD50, &spB8); + D_8015BD70 = Camera_AddVecGeoToVec3f(&D_8015BD50, &spB8); if (!(roData->interfaceField & KEEPON4_FLAG_0)) { angleCnt = ARRAY_COUNT(D_8011D3B0); for (i = 0; i < angleCnt; i++) { @@ -3791,7 +3787,7 @@ s32 Camera_KeepOn4(Camera* camera) { } spB8.yaw = D_8011D3B0[i] + spA0; spB8.pitch = D_8011D3CC[i] + spA2; - Camera_AddVecGeoToVec3f(&D_8015BD70, &D_8015BD50, &spB8); + D_8015BD70 = Camera_AddVecGeoToVec3f(&D_8015BD50, &spB8); } osSyncPrintf("camera: item: BG&collision check %d time(s)\n", i); } @@ -3815,40 +3811,40 @@ s32 Camera_KeepOn4(Camera* camera) { spB8.r = roData->unk_10; spB8.pitch = 0; spB8.yaw = playerPosRot->rot.y; - Camera_AddVecGeoToVec3f(at, at, &spB8); + *at = Camera_AddVecGeoToVec3f(at, &spB8); } camera->atLERPStepScale = 0.0f; camera->dist = Camera_LERPCeilF(roData->unk_04, camera->dist, 0.25f, 2.0f); spB8.r = camera->dist; if (rwData->unk_10 != 0) { - camera->stateFlags |= CAM_STATE_5; + camera->stateFlags |= CAM_STATE_LOCK_MODE; rwData->unk_0C += (s16)rwData->unk_00; rwData->unk_0E += (s16)rwData->unk_04; rwData->unk_10--; } else if (roData->interfaceField & KEEPON4_FLAG_4) { - camera->stateFlags |= (CAM_STATE_4 | CAM_STATE_10); - camera->stateFlags |= (CAM_STATE_1 | CAM_STATE_2); - camera->stateFlags &= ~CAM_STATE_3; + camera->stateFlags |= (CAM_STATE_CAM_FUNC_FINISH | CAM_STATE_BLOCK_BG); + camera->stateFlags |= (CAM_STATE_CHECK_WATER | CAM_STATE_CHECK_BG); + camera->stateFlags &= ~CAM_STATE_EXTERNAL_FINISHED; if (camera->timer > 0) { camera->timer--; } } else { - camera->stateFlags |= (CAM_STATE_4 | CAM_STATE_10); - if ((camera->stateFlags & CAM_STATE_3) || (roData->interfaceField & KEEPON4_FLAG_7)) { + camera->stateFlags |= (CAM_STATE_CAM_FUNC_FINISH | CAM_STATE_BLOCK_BG); + if ((camera->stateFlags & CAM_STATE_EXTERNAL_FINISHED) || (roData->interfaceField & KEEPON4_FLAG_7)) { sCameraInterfaceField = CAM_INTERFACE_FIELD(CAM_LETTERBOX_NONE, CAM_HUD_VISIBILITY_ALL, 0); - camera->stateFlags |= (CAM_STATE_1 | CAM_STATE_2); - camera->stateFlags &= ~CAM_STATE_3; + camera->stateFlags |= (CAM_STATE_CHECK_WATER | CAM_STATE_CHECK_BG); + camera->stateFlags &= ~CAM_STATE_EXTERNAL_FINISHED; if (camera->prevBgCamIndex < 0) { - Camera_ChangeSettingFlags(camera, camera->prevSetting, 2); + Camera_RequestSettingImpl(camera, camera->prevSetting, CAM_REQUEST_SETTING_IGNORE_PRIORITY); } else { - Camera_ChangeBgCamIndex(camera, camera->prevBgCamIndex); + Camera_RequestBgCam(camera, camera->prevBgCamIndex); camera->prevBgCamIndex = -1; } } } spB8.yaw = Camera_LERPCeilS(rwData->unk_0C, spA8.yaw, roData->unk_14, 4); spB8.pitch = Camera_LERPCeilS(rwData->unk_0E, spA8.pitch, roData->unk_14, 4); - Camera_AddVecGeoToVec3f(eyeNext, at, &spB8); + *eyeNext = Camera_AddVecGeoToVec3f(at, &spB8); *eye = *eyeNext; Camera_BGCheck(camera, at, eye); camera->fov = Camera_LERPCeilF(roData->unk_18, camera->fov, camera->fovUpdateRate, 1.0f); @@ -3871,7 +3867,7 @@ s32 Camera_KeepOn0(Camera* camera) { UNUSED Vec3s bgCamRot; s16 fov; - camera->stateFlags &= ~CAM_STATE_4; + camera->stateFlags &= ~CAM_STATE_CAM_FUNC_FINISH; if (RELOAD_PARAMS(camera) || R_RELOAD_CAM_PARAMS) { CameraModeValue* values = sCameraSettings[camera->setting].cameraModes[camera->mode].values; @@ -3887,7 +3883,7 @@ s32 Camera_KeepOn0(Camera* camera) { } bgCamFuncData = (BgCamFuncData*)Camera_GetBgCamFuncData(camera); - Camera_Vec3sToVec3f(eyeNext, &bgCamFuncData->pos); + *eyeNext = Camera_Vec3sToVec3f(&bgCamFuncData->pos); *eye = *eyeNext; bgCamRot = bgCamFuncData->rot; @@ -3903,14 +3899,14 @@ s32 Camera_KeepOn0(Camera* camera) { VT_COL(YELLOW, BLACK) "camera: warning: talk: target is not valid, change normal camera\n" VT_RST); } camera->target = NULL; - Camera_ChangeMode(camera, CAM_MODE_NORMAL); + Camera_RequestMode(camera, CAM_MODE_NORMAL); return true; } - Actor_GetFocus(&camera->targetPosRot, camera->target); + camera->targetPosRot = Actor_GetFocus(camera->target); - OLib_Vec3fDiffToVecGeo(&eyeAtOffset, eye, at); - OLib_Vec3fDiffToVecGeo(&eyeTargetPosOffset, eye, &camera->targetPosRot.pos); + eyeAtOffset = OLib_Vec3fDiffToVecGeo(eye, at); + eyeTargetPosOffset = OLib_Vec3fDiffToVecGeo(eye, &camera->targetPosRot.pos); sCameraInterfaceField = roData->interfaceField; @@ -3925,10 +3921,10 @@ s32 Camera_KeepOn0(Camera* camera) { if (rwData->animTimer != 0) { eyeAtOffset.yaw += ((s16)(eyeTargetPosOffset.yaw - eyeAtOffset.yaw) / rwData->animTimer) * roData->yawScale; - Camera_AddVecGeoToVec3f(at, eye, &eyeAtOffset); + *at = Camera_AddVecGeoToVec3f(eye, &eyeAtOffset); rwData->animTimer--; } else { - camera->stateFlags |= (CAM_STATE_4 | CAM_STATE_10); + camera->stateFlags |= (CAM_STATE_CAM_FUNC_FINISH | CAM_STATE_BLOCK_BG); } camera->fov = Camera_LERPCeilF(rwData->fovTarget, camera->fov, 0.5f, 10.0f); return true; @@ -3953,7 +3949,7 @@ s32 Camera_Fixed1(Camera* camera) { CameraModeValue* values = sCameraSettings[camera->setting].cameraModes[camera->mode].values; bgCamFuncData = (BgCamFuncData*)Camera_GetBgCamFuncData(camera); - Camera_Vec3sToVec3f(&rwData->eyePosRotTarget.pos, &bgCamFuncData->pos); + rwData->eyePosRotTarget.pos = Camera_Vec3sToVec3f(&bgCamFuncData->pos); rwData->eyePosRotTarget.rot = bgCamFuncData->rot; rwData->fov = bgCamFuncData->fov; @@ -3982,7 +3978,7 @@ s32 Camera_Fixed1(Camera* camera) { } } - OLib_Vec3fDiffToVecGeo(&eyeAtOffset, eye, at); + eyeAtOffset = OLib_Vec3fDiffToVecGeo(eye, at); Camera_LERPCeilVec3f(&rwData->eyePosRotTarget.pos, eye, 0.1f, 0.1f, 0.2f); adjustedPos = playerPosRot->pos; @@ -3993,7 +3989,7 @@ s32 Camera_Fixed1(Camera* camera) { eyeOffset.pitch = Camera_LERPCeilS(-rwData->eyePosRotTarget.rot.x, eyeAtOffset.pitch, roData->lerpStep, 5); eyeOffset.yaw = Camera_LERPCeilS(rwData->eyePosRotTarget.rot.y, eyeAtOffset.yaw, roData->lerpStep, 5); - Camera_AddVecGeoToVec3f(at, eye, &eyeOffset); + *at = Camera_AddVecGeoToVec3f(eye, &eyeOffset); camera->eyeNext = *eye; @@ -4037,7 +4033,7 @@ s32 Camera_Fixed2(Camera* camera) { bgCamFuncData = (BgCamFuncData*)Camera_GetBgCamFuncData(camera); if (bgCamFuncData != NULL) { - Camera_Vec3sToVec3f(&rwData->eye, &bgCamFuncData->pos); + rwData->eye = Camera_Vec3sToVec3f(&bgCamFuncData->pos); if (bgCamFuncData->fov != -1) { rwData->fov = bgCamFuncData->fov; } @@ -4104,13 +4100,13 @@ s32 Camera_Fixed3(Camera* camera) { bgCamFuncData = (BgCamFuncData*)Camera_GetBgCamFuncData(camera); - OLib_Vec3fDiffToVecGeo(&eyeAtOffset, eye, at); + eyeAtOffset = OLib_Vec3fDiffToVecGeo(eye, at); if (RELOAD_PARAMS(camera) || R_RELOAD_CAM_PARAMS) { CameraModeValue* values = sCameraSettings[camera->setting].cameraModes[camera->mode].values; roData->interfaceField = GET_NEXT_RO_DATA(values); - Camera_Vec3sToVec3f(eyeNext, &bgCamFuncData->pos); + *eyeNext = Camera_Vec3sToVec3f(&bgCamFuncData->pos); *eye = *eyeNext; rwData->rot = bgCamFuncData->rot; rwData->fov = bgCamFuncData->fov; @@ -4150,7 +4146,7 @@ s32 Camera_Fixed3(Camera* camera) { atGeo.yaw = rwData->rot.y; atGeo.pitch = -rwData->rot.x; - Camera_AddVecGeoToVec3f(at, eye, &atGeo); + *at = Camera_AddVecGeoToVec3f(eye, &atGeo); sCameraInterfaceField = roData->interfaceField; rwData->fov = R_CAM_DATA(CAM_DATA_FOV); camera->roll = 0; @@ -4194,7 +4190,7 @@ s32 Camera_Fixed4(Camera* camera) { bgCamFuncData = (BgCamFuncData*)Camera_GetBgCamFuncData(camera); if (bgCamFuncData != NULL) { - Camera_Vec3sToVec3f(&rwData->eyeTarget, &bgCamFuncData->pos); + rwData->eyeTarget = Camera_Vec3sToVec3f(&bgCamFuncData->pos); } else { rwData->eyeTarget = *eye; } @@ -4224,15 +4220,15 @@ s32 Camera_Fixed4(Camera* camera) { playerPosWithCamOffset.z = playerPosRot->pos.z + camera->playerToAtOffset.z; VEC3F_LERPIMPDST(&atTarget, at, &playerPosWithCamOffset, 0.5f); - OLib_Vec3fDiffToVecGeo(&atEyeNextOffset, eyeNext, at); - OLib_Vec3fDiffToVecGeo(&atTargetEyeNextOffset, eyeNext, &atTarget); + atEyeNextOffset = OLib_Vec3fDiffToVecGeo(eyeNext, at); + atTargetEyeNextOffset = OLib_Vec3fDiffToVecGeo(eyeNext, &atTarget); atEyeNextOffset.r += (atTargetEyeNextOffset.r - atEyeNextOffset.r) * rwData->followSpeed; atEyeNextOffset.pitch = Camera_LERPCeilS(atTargetEyeNextOffset.pitch, atEyeNextOffset.pitch, rwData->followSpeed * camera->speedRatio, 0xA); atEyeNextOffset.yaw = Camera_LERPCeilS(atTargetEyeNextOffset.yaw, atEyeNextOffset.yaw, rwData->followSpeed * camera->speedRatio, 0xA); - Camera_AddVecGeoToVec3f(at, eyeNext, &atEyeNextOffset); + *at = Camera_AddVecGeoToVec3f(eyeNext, &atEyeNextOffset); camera->dist = OLib_Vec3fDist(at, eye); camera->roll = 0; camera->fov = roData->fov; @@ -4276,7 +4272,7 @@ s32 Camera_Subj3(Camera* camera) { Vec3f* pad2; f32 playerHeight; - Actor_GetFocus(&sp60, &camera->player->actor); + sp60 = Actor_GetFocus(&camera->player->actor); playerHeight = Player_GetHeight(camera->player); if (camera->play->view.unk_124 == 0) { @@ -4302,8 +4298,8 @@ s32 Camera_Subj3(Camera* camera) { sp98 = sp60.pos; sp98.y += roData->eyeNextYOffset; - Camera_AddVecGeoToVec3f(&sp8C, &sp98, &sp84); - OLib_Vec3fDiffToVecGeo(&sp7C, at, eye); + sp8C = Camera_AddVecGeoToVec3f(&sp98, &sp84); + sp7C = OLib_Vec3fDiffToVecGeo(at, eye); sCameraInterfaceField = roData->interfaceField; if (RELOAD_PARAMS(camera)) { @@ -4322,10 +4318,9 @@ s32 Camera_Subj3(Camera* camera) { tGeo.pitch = rwData->pitch; if (rwData->animTimer != 0) { temp_f0_3 = (1.0f / rwData->animTimer); - pad2 = at; - at->x = at->x + (sp98.x - pad2->x) * temp_f0_3; - at->y = at->y + (sp98.y - pad2->y) * temp_f0_3; - at->z = at->z + (sp98.z - pad2->z) * temp_f0_3; + at->x = F32_LERPIMP(at->x, sp98.x, temp_f0_3); + at->y = F32_LERPIMP(at->y, sp98.y, temp_f0_3); + at->z = F32_LERPIMP(at->z, sp98.z, temp_f0_3); temp_f0_3 = (1.0f / R_CAM_DEFAULT_ANIM_TIME); sp58 = (tGeo.r - sp84.r) * temp_f0_3; @@ -4336,7 +4331,7 @@ s32 Camera_Subj3(Camera* camera) { sp7C.yaw = Camera_LERPCeilS(sp84.yaw + (sp52 * rwData->animTimer), sp7C.yaw, CAM_DATA_SCALED(OREG(28)), 0xA); sp7C.pitch = Camera_LERPCeilS(sp84.pitch + (sp50 * rwData->animTimer), sp7C.pitch, CAM_DATA_SCALED(OREG(28)), 0xA); - Camera_AddVecGeoToVec3f(eyeNext, at, &sp7C); + *eyeNext = Camera_AddVecGeoToVec3f(at, &sp7C); *eye = *eyeNext; rwData->animTimer--; @@ -4363,9 +4358,9 @@ s32 Camera_Subj3(Camera* camera) { sp7C.r = roData->eyeNextDist; sp7C.yaw = sp60.rot.y - 0x7FFF; sp7C.pitch = sp60.rot.x; - Camera_AddVecGeoToVec3f(eyeNext, at, &sp7C); + *eyeNext = Camera_AddVecGeoToVec3f(at, &sp7C); sp7C.r = roData->eyeDist; - Camera_AddVecGeoToVec3f(eye, at, &sp7C); + *eye = Camera_AddVecGeoToVec3f(at, &sp7C); } camera->playerToAtOffset.x = camera->at.x - playerPosRot->pos.x; @@ -4431,8 +4426,8 @@ s32 Camera_Subj4(Camera* camera) { return true; } - Actor_GetWorldPosShapeRot(&playerPosRot, &camera->player->actor); - OLib_Vec3fDiffToVecGeo(&atEyeOffset, at, eye); + playerPosRot = Actor_GetWorldPosShapeRot(&camera->player->actor); + atEyeOffset = OLib_Vec3fDiffToVecGeo(at, eye); sCameraInterfaceField = roData->interfaceField; @@ -4440,9 +4435,9 @@ s32 Camera_Subj4(Camera* camera) { if (camera->animState == 0) { crawlspacePoints = (Vec3s*)Camera_GetBgCamFuncDataUnderPlayer(camera, &crawlspaceNumPoints); // Second entry of crawlspacePoints contains the front position - Camera_Vec3sToVec3f(&rwData->crawlspaceLine.point, &crawlspacePoints[1]); + rwData->crawlspaceLine.point = Camera_Vec3sToVec3f(&crawlspacePoints[1]); // Second last entry of crawlspacePoints contains the back position - Camera_Vec3sToVec3f(&vCrawlSpaceBackPos, &crawlspacePoints[crawlspaceNumPoints - 2]); + vCrawlSpaceBackPos = Camera_Vec3sToVec3f(&crawlspacePoints[crawlspaceNumPoints - 2]); targetOffset.r = 10.0f; targetOffset.pitch = 0x238C; // ~50 degrees @@ -4476,7 +4471,7 @@ s32 Camera_Subj4(Camera* camera) { targetOffset.r = 10.0f; targetOffset.pitch = 0x238C; // ~50 degrees targetOffset.yaw = rwData->forwardYaw; - Camera_AddVecGeoToVec3f(&zoomAtTarget, &playerPosRot.pos, &targetOffset); + zoomAtTarget = Camera_AddVecGeoToVec3f(&playerPosRot.pos, &targetOffset); vZoomTimer = rwData->zoomTimer + 1.0f; at->x = F32_LERPIMPINV(at->x, zoomAtTarget.x, vZoomTimer); @@ -4486,7 +4481,7 @@ s32 Camera_Subj4(Camera* camera) { atEyeOffset.r -= (atEyeOffset.r / vZoomTimer); atEyeOffset.yaw = BINANG_LERPIMPINV(atEyeOffset.yaw, (s16)(playerPosRot.rot.y - 0x7FFF), rwData->zoomTimer); atEyeOffset.pitch = BINANG_LERPIMPINV(atEyeOffset.pitch, playerPosRot.rot.x, rwData->zoomTimer); - Camera_AddVecGeoToVec3f(eyeNext, at, &atEyeOffset); + *eyeNext = Camera_AddVecGeoToVec3f(at, &atEyeOffset); *eye = *eyeNext; rwData->zoomTimer--; return false; @@ -4496,7 +4491,7 @@ s32 Camera_Subj4(Camera* camera) { return false; } - Actor_GetWorldPosShapeRot(&playerPosRot, &camera->player->actor); + playerPosRot = Actor_GetWorldPosShapeRot(&camera->player->actor); Math3D_LineClosestToPoint(&rwData->crawlspaceLine, &playerPosRot.pos, eyeNext); // *at is unused before getting overwritten later this function @@ -4510,7 +4505,7 @@ s32 Camera_Subj4(Camera* camera) { targetOffset.r = 5.0f; targetOffset.pitch = 0x238C; // ~50 degrees - Camera_AddVecGeoToVec3f(&vEyeTarget, eyeNext, &targetOffset); + vEyeTarget = Camera_AddVecGeoToVec3f(eyeNext, &targetOffset); rwData->eyeLerpPhase += 0xBB8; eyeLerp = Math_CosS(rwData->eyeLerpPhase); @@ -4598,7 +4593,7 @@ s32 Camera_Data4(Camera* camera) { roData->interfaceField = GET_NEXT_RO_DATA(values); bgCamFuncData = (BgCamFuncData*)Camera_GetBgCamFuncData(camera); - Camera_Vec3sToVec3f(&rwData->eyePosRot.pos, &bgCamFuncData->pos); + rwData->eyePosRot.pos = Camera_Vec3sToVec3f(&bgCamFuncData->pos); rwData->eyePosRot.rot = bgCamFuncData->rot; fov = bgCamFuncData->fov; rwData->fov = fov; @@ -4621,16 +4616,16 @@ s32 Camera_Data4(Camera* camera) { func_80043B60(camera); } - OLib_Vec3fDiffToVecGeo(&eyeNextAtOffset, at, eyeNext); + eyeNextAtOffset = OLib_Vec3fDiffToVecGeo(at, eyeNext); Camera_CalcAtDefault(camera, &eyeNextAtOffset, roData->yOffset, false); - OLib_Vec3fDiffToVecGeo(&eyeAtOffset, eye, at); + eyeAtOffset = OLib_Vec3fDiffToVecGeo(eye, at); atOffset.r = eyeAtOffset.r; atOffset.yaw = (rwData->flags & 1) ? (CAM_DEG_TO_BINANG(camera->data2) + rwData->eyePosRot.rot.y) : eyeAtOffset.yaw; atOffset.pitch = (rwData->flags & 2) ? (CAM_DEG_TO_BINANG(camera->data3) + rwData->eyePosRot.rot.x) : eyeAtOffset.pitch; - Camera_AddVecGeoToVec3f(at, eye, &atOffset); + *at = Camera_AddVecGeoToVec3f(eye, &atOffset); lookAt = camera->playerPosRot.pos; lookAt.y += playerHeight; @@ -4685,8 +4680,8 @@ s32 Camera_Unique1(Camera* camera) { sUpdateCameraDirection = 1; - OLib_Vec3fDiffToVecGeo(&eyeAtOffset, at, eye); - OLib_Vec3fDiffToVecGeo(&eyeNextAtOffset, at, eyeNext); + eyeAtOffset = OLib_Vec3fDiffToVecGeo(at, eye); + eyeNextAtOffset = OLib_Vec3fDiffToVecGeo(at, eyeNext); sCameraInterfaceField = roData->interfaceField; @@ -4695,7 +4690,7 @@ s32 Camera_Unique1(Camera* camera) { rwData->yawTarget = eyeNextAtOffset.yaw; rwData->unk_00 = 0.0f; playerWaistPos = camera->player->bodyPartsPos[PLAYER_BODYPART_WAIST]; - OLib_Vec3fDiffToVecGeo(&unk908PlayerPosOffset, &playerPosRot->pos, &playerWaistPos); + unk908PlayerPosOffset = OLib_Vec3fDiffToVecGeo(&playerPosRot->pos, &playerWaistPos); rwData->timer = R_CAM_DEFAULT_ANIM_TIME; rwData->yawTargetAdj = ABS((s16)(unk908PlayerPosOffset.yaw - eyeAtOffset.yaw)) < 0x3A98 ? 0 @@ -4703,7 +4698,7 @@ s32 Camera_Unique1(Camera* camera) { camera->animState++; } - Actor_GetFocus(&playerhead, &camera->player->actor); // unused + playerhead = Actor_GetFocus(&camera->player->actor); // unused camera->yawUpdateRateInv = Camera_LERPCeilF(100.0f, camera->yawUpdateRateInv, R_CAM_UPDATE_RATE_STEP_SCALE_XZ * 0.01f, 0.1f); @@ -4716,7 +4711,7 @@ s32 Camera_Unique1(Camera* camera) { camera->fovUpdateRate = Camera_LERPCeilF(R_CAM_FOV_UPDATE_RATE * 0.01f, camera->fovUpdateRate, 0.05f, 0.1f); Camera_CalcAtDefault(camera, &eyeNextAtOffset, roData->yOffset, true); - OLib_Vec3fDiffToVecGeo(&sp8C, at, eyeNext); + sp8C = OLib_Vec3fDiffToVecGeo(at, eyeNext); camera->dist = Camera_LERPClampDist(camera, sp8C.r, roData->distMin, roData->distMax); @@ -4736,7 +4731,7 @@ s32 Camera_Unique1(Camera* camera) { } sp8C.yaw = Camera_LERPFloorS(rwData->yawTarget, eyeNextAtOffset.yaw, 0.5f, 0x2710); - Camera_AddVecGeoToVec3f(eyeNext, at, &sp8C); + *eyeNext = Camera_AddVecGeoToVec3f(at, &sp8C); *eye = *eyeNext; Camera_BGCheck(camera, at, eye); camera->fov = Camera_LERPCeilF(roData->fovTarget, camera->fov, camera->fovUpdateRate, 1.0f); @@ -4761,7 +4756,7 @@ s32 Camera_Unique2(Camera* camera) { playerHeight = Player_GetHeight(camera->player); - OLib_Vec3fDiffToVecGeo(&eyeAtOffset, at, eye); + eyeAtOffset = OLib_Vec3fDiffToVecGeo(at, eye); if (RELOAD_PARAMS(camera) || R_RELOAD_CAM_PARAMS) { CameraModeValue* values = sCameraSettings[camera->setting].cameraModes[camera->mode].values; @@ -4789,7 +4784,7 @@ s32 Camera_Unique2(Camera* camera) { func_80043B60(camera); rwData->unk_00 = 200.0f; if (roData->interfaceField & UNIQUE2_FLAG_4) { - camera->stateFlags &= ~CAM_STATE_2; + camera->stateFlags &= ~CAM_STATE_CHECK_BG; } } @@ -4801,17 +4796,17 @@ s32 Camera_Unique2(Camera* camera) { rwData->unk_00 = F32_LERPIMP(rwData->unk_00, 2.0f, 0.05f); // unused. if (roData->interfaceField & UNIQUE2_FLAG_0) { - OLib_Vec3fDiffToVecGeo(&eyeOffset, at, eyeNext); + eyeOffset = OLib_Vec3fDiffToVecGeo(at, eyeNext); eyeOffset.r = roData->distTarget; - Camera_AddVecGeoToVec3f(&playerPos, at, &eyeOffset); + playerPos = Camera_AddVecGeoToVec3f(at, &eyeOffset); Camera_LERPCeilVec3f(&playerPos, eye, 0.25f, 0.25f, 0.2f); } else if (roData->interfaceField & UNIQUE2_FLAG_1) { if (OLib_Vec3fDistXZ(at, eyeNext) < roData->distTarget) { - OLib_Vec3fDiffToVecGeo(&eyeOffset, at, eyeNext); + eyeOffset = OLib_Vec3fDiffToVecGeo(at, eyeNext); eyeOffset.yaw = Camera_LERPCeilS(eyeOffset.yaw, eyeAtOffset.yaw, 0.1f, 0xA); eyeOffset.r = roData->distTarget; eyeOffset.pitch = 0; - Camera_AddVecGeoToVec3f(eye, at, &eyeOffset); + *eye = Camera_AddVecGeoToVec3f(at, &eyeOffset); eye->y = eyeNext->y; } else { Camera_LERPCeilVec3f(eyeNext, eye, 0.25f, 0.25f, 0.2f); @@ -4838,7 +4833,7 @@ s32 Camera_Unique3(Camera* camera) { PosRot* cameraPlayerPosRot = &camera->playerPosRot; playerHeight = Player_GetHeight(camera->player); - camera->stateFlags &= ~CAM_STATE_4; + camera->stateFlags &= ~CAM_STATE_CAM_FUNC_FINISH; if (RELOAD_PARAMS(camera) || R_RELOAD_CAM_PARAMS) { CameraModeValue* values = sCameraSettings[camera->setting].cameraModes[camera->mode].values; @@ -4859,7 +4854,7 @@ s32 Camera_Unique3(Camera* camera) { switch (camera->animState) { case 0: func_80043B60(camera); - camera->stateFlags &= ~(CAM_STATE_2 | CAM_STATE_3); + camera->stateFlags &= ~(CAM_STATE_CHECK_BG | CAM_STATE_EXTERNAL_FINISHED); rwData->initialFov = camera->fov; rwData->initialDist = OLib_Vec3fDist(at, &camera->eye); camera->animState++; @@ -4870,7 +4865,7 @@ s32 Camera_Unique3(Camera* camera) { } bgCamFuncData = (BgCamFuncData*)Camera_GetBgCamFuncData(camera); - Camera_Vec3sToVec3f(&camera->eyeNext, &bgCamFuncData->pos); + camera->eyeNext = Camera_Vec3sToVec3f(&bgCamFuncData->pos); camera->eye = camera->eyeNext; bgCamRot = bgCamFuncData->rot; @@ -4878,7 +4873,7 @@ s32 Camera_Unique3(Camera* camera) { sp60.yaw = bgCamRot.y; sp60.pitch = -bgCamRot.x; - Camera_AddVecGeoToVec3f(at, &camera->eye, &sp60); + *at = Camera_AddVecGeoToVec3f(&camera->eye, &sp60); camera->animState++; FALLTHROUGH; case 2: @@ -4892,8 +4887,8 @@ s32 Camera_Unique3(Camera* camera) { camera->animState++; FALLTHROUGH; case 3: - camera->stateFlags |= (CAM_STATE_4 | CAM_STATE_10); - if (camera->stateFlags & CAM_STATE_3) { + camera->stateFlags |= (CAM_STATE_CAM_FUNC_FINISH | CAM_STATE_BLOCK_BG); + if (camera->stateFlags & CAM_STATE_EXTERNAL_FINISHED) { camera->animState++; } else { break; @@ -4901,9 +4896,9 @@ s32 Camera_Unique3(Camera* camera) { FALLTHROUGH; case 4: if (roData->interfaceField & UNIQUE3_FLAG_1) { - camera->stateFlags |= CAM_STATE_2; - camera->stateFlags &= ~CAM_STATE_3; - Camera_ChangeSettingFlags(camera, CAM_SET_PIVOT_IN_FRONT, 2); + camera->stateFlags |= CAM_STATE_CHECK_BG; + camera->stateFlags &= ~CAM_STATE_EXTERNAL_FINISHED; + Camera_RequestSettingImpl(camera, CAM_SET_PIVOT_IN_FRONT, CAM_REQUEST_SETTING_IGNORE_PRIORITY); break; } doorParams->timer3 = 5; @@ -4922,9 +4917,9 @@ s32 Camera_Unique3(Camera* camera) { FALLTHROUGH; case 5: camera->fov = Camera_LERPCeilF(rwData->initialFov, camera->fov, 0.4f, 0.1f); - OLib_Vec3fDiffToVecGeo(&sp60, at, &camera->eye); + sp60 = OLib_Vec3fDiffToVecGeo(at, &camera->eye); sp60.r = Camera_LERPCeilF(100.0f, sp60.r, 0.4f, 0.1f); - Camera_AddVecGeoToVec3f(&camera->eyeNext, at, &sp60); + camera->eyeNext = Camera_AddVecGeoToVec3f(at, &sp60); camera->eye = camera->eyeNext; if (doorParams->timer3-- > 0) { break; @@ -4932,10 +4927,10 @@ s32 Camera_Unique3(Camera* camera) { camera->animState++; FALLTHROUGH; default: - camera->stateFlags |= CAM_STATE_2; - camera->stateFlags &= ~CAM_STATE_3; + camera->stateFlags |= CAM_STATE_CHECK_BG; + camera->stateFlags &= ~CAM_STATE_EXTERNAL_FINISHED; camera->fov = roData->fov; - Camera_ChangeSettingFlags(camera, camera->prevSetting, 2); + Camera_RequestSettingImpl(camera, camera->prevSetting, CAM_REQUEST_SETTING_IGNORE_PRIORITY); camera->atLERPStepScale = 0.0f; camera->playerToAtOffset.x = camera->at.x - cameraPlayerPosRot->pos.x; camera->playerToAtOffset.y = camera->at.y - cameraPlayerPosRot->pos.y; @@ -4984,10 +4979,10 @@ s32 Camera_Unique0(Camera* camera) { if (camera->animState == 0) { func_80043B60(camera); - camera->stateFlags &= ~CAM_STATE_2; + camera->stateFlags &= ~CAM_STATE_CHECK_BG; bgCamFuncData = (BgCamFuncData*)Camera_GetBgCamFuncData(camera); - Camera_Vec3sToVec3f(&rwData->eyeAndDirection.point, &bgCamFuncData->pos); + rwData->eyeAndDirection.point = Camera_Vec3sToVec3f(&bgCamFuncData->pos); *eye = camera->eyeNext = rwData->eyeAndDirection.point; bgCamRot = bgCamFuncData->rot; @@ -5002,7 +4997,7 @@ s32 Camera_Unique0(Camera* camera) { atPlayerOffset.r = OLib_Vec3fDist(&playerPosWithOffset, eye); atPlayerOffset.yaw = bgCamRot.y; atPlayerOffset.pitch = -bgCamRot.x; - OLib_VecGeoToVec3f(&rwData->eyeAndDirection.dir, &atPlayerOffset); + rwData->eyeAndDirection.dir = OLib_VecGeoToVec3f(&atPlayerOffset); Math3D_LineClosestToPoint(&rwData->eyeAndDirection, &playerPosRot->pos, &camera->at); rwData->initalPos = playerPosRot->pos; camera->animState++; @@ -5031,8 +5026,8 @@ s32 Camera_Unique0(Camera* camera) { camera->playerToAtOffset.y = camera->at.y - playerPosRot->pos.y; camera->playerToAtOffset.z = camera->at.z - playerPosRot->pos.z; camera->atLERPStepScale = 0.0f; - camera->stateFlags |= CAM_STATE_2; - Camera_ChangeSettingFlags(camera, camera->prevSetting, 2); + camera->stateFlags |= CAM_STATE_CHECK_BG; + Camera_RequestSettingImpl(camera, camera->prevSetting, CAM_REQUEST_SETTING_IGNORE_PRIORITY); } } else { if (rwData->animTimer > 0) { @@ -5058,8 +5053,8 @@ s32 Camera_Unique0(Camera* camera) { camera->playerToAtOffset.y = camera->at.y - playerPosRot->pos.y; camera->playerToAtOffset.z = camera->at.z - playerPosRot->pos.z; camera->atLERPStepScale = 0.0f; - Camera_ChangeSettingFlags(camera, camera->prevSetting, 2); - camera->stateFlags |= CAM_STATE_2; + Camera_RequestSettingImpl(camera, camera->prevSetting, CAM_REQUEST_SETTING_IGNORE_PRIORITY); + camera->stateFlags |= CAM_STATE_CHECK_BG; } } return true; @@ -5151,11 +5146,11 @@ s32 Camera_Unique7(Camera* camera) { bgCamFuncData = (BgCamFuncData*)Camera_GetBgCamFuncData(camera); - Camera_Vec3sToVec3f(eyeNext, &bgCamFuncData->pos); + *eyeNext = Camera_Vec3sToVec3f(&bgCamFuncData->pos); *eye = *eyeNext; bgCamRot = bgCamFuncData->rot; - OLib_Vec3fDiffToVecGeo(&playerPosEyeOffset, eye, &playerPosRot->pos); + playerPosEyeOffset = OLib_Vec3fDiffToVecGeo(eye, &playerPosRot->pos); // fov actually goes unused since it's hard set later on. fov = bgCamFuncData->fov; @@ -5182,8 +5177,8 @@ s32 Camera_Unique7(Camera* camera) { // 0x7D0 ~ 10.98 degres. rwData->unk_00.x = Camera_LERPFloorS(playerPosEyeOffset.yaw, rwData->unk_00.x, 0.4f, 0x7D0); playerPosEyeOffset.pitch = -bgCamFuncData->rot.x * Math_CosS(playerPosEyeOffset.yaw - bgCamFuncData->rot.y); - Camera_AddVecGeoToVec3f(at, eye, &playerPosEyeOffset); - camera->stateFlags |= CAM_STATE_10; + *at = Camera_AddVecGeoToVec3f(eye, &playerPosEyeOffset); + camera->stateFlags |= CAM_STATE_BLOCK_BG; return true; } @@ -5232,7 +5227,7 @@ s32 Camera_Unique9(Camera* camera) { sCameraInterfaceField = roData->interfaceField; - Actor_GetWorld(&playerPosRot, &camera->player->actor); + playerPosRot = Actor_GetWorld(&camera->player->actor); if (camera->animState == 0) { camera->animState++; @@ -5302,21 +5297,21 @@ s32 Camera_Unique9(Camera* camera) { } } else if (atFlags == 4 || atFlags == 0x84) { if (camera->target != NULL && camera->target->update != NULL) { - Actor_GetFocus(&targethead, camera->target); - Actor_GetFocus(&playerhead, &camera->player->actor); + targethead = Actor_GetFocus(camera->target); + playerhead = Actor_GetFocus(&camera->player->actor); playerhead.pos.x = playerPosRot.pos.x; playerhead.pos.z = playerPosRot.pos.z; - OLib_Vec3fDiffToVecGeo(&playerTargetOffset, &targethead.pos, &playerhead.pos); + playerTargetOffset = OLib_Vec3fDiffToVecGeo(&targethead.pos, &playerhead.pos); if (atFlags & (s16)0x8080) { scratchGeo.pitch = CAM_DEG_TO_BINANG(rwData->curKeyFrame->atTargetInit.x); scratchGeo.yaw = CAM_DEG_TO_BINANG(rwData->curKeyFrame->atTargetInit.y); scratchGeo.r = rwData->curKeyFrame->atTargetInit.z; } else { - OLib_Vec3fToVecGeo(&scratchGeo, &rwData->curKeyFrame->atTargetInit); + scratchGeo = OLib_Vec3fToVecGeo(&rwData->curKeyFrame->atTargetInit); } scratchGeo.yaw += playerTargetOffset.yaw; scratchGeo.pitch += playerTargetOffset.pitch; - Camera_AddVecGeoToVec3f(&rwData->atTarget, &targethead.pos, &scratchGeo); + rwData->atTarget = Camera_AddVecGeoToVec3f(&targethead.pos, &scratchGeo); } else { if (camera->target == NULL) { osSyncPrintf(VT_COL(YELLOW, BLACK) "camera: warning: demo C: actor is not valid\n" VT_RST); @@ -5338,11 +5333,11 @@ s32 Camera_Unique9(Camera* camera) { if (focusActor != NULL) { if ((atFlags & 0xF) == 1) { - Actor_GetFocus(&atFocusPosRot, focusActor); + atFocusPosRot = Actor_GetFocus(focusActor); } else if ((atFlags & 0xF) == 2) { - Actor_GetWorld(&atFocusPosRot, focusActor); + atFocusPosRot = Actor_GetWorld(focusActor); } else { - Actor_GetWorldPosShapeRot(&atFocusPosRot, focusActor); + atFocusPosRot = Actor_GetWorldPosShapeRot(focusActor); } if (atFlags & (s16)0x8080) { @@ -5350,12 +5345,12 @@ s32 Camera_Unique9(Camera* camera) { scratchGeo.yaw = CAM_DEG_TO_BINANG(rwData->curKeyFrame->atTargetInit.y); scratchGeo.r = rwData->curKeyFrame->atTargetInit.z; } else { - OLib_Vec3fToVecGeo(&scratchGeo, &rwData->curKeyFrame->atTargetInit); + scratchGeo = OLib_Vec3fToVecGeo(&rwData->curKeyFrame->atTargetInit); } scratchGeo.yaw += atFocusPosRot.rot.y; scratchGeo.pitch -= atFocusPosRot.rot.x; - Camera_AddVecGeoToVec3f(&rwData->atTarget, &atFocusPosRot.pos, &scratchGeo); + rwData->atTarget = Camera_AddVecGeoToVec3f(&atFocusPosRot.pos, &scratchGeo); } else { if (camera->target == NULL) { osSyncPrintf(VT_COL(YELLOW, BLACK) "camera: warning: demo C: actor is not valid\n" VT_RST); @@ -5384,11 +5379,11 @@ s32 Camera_Unique9(Camera* camera) { } } else if (eyeFlags == 0x400 || eyeFlags == (s16)0x8400 || eyeFlags == 0x500 || eyeFlags == (s16)0x8500) { if (camera->target != NULL && camera->target->update != NULL) { - Actor_GetFocus(&targethead, camera->target); - Actor_GetFocus(&playerhead, &camera->player->actor); + targethead = Actor_GetFocus(camera->target); + playerhead = Actor_GetFocus(&camera->player->actor); playerhead.pos.x = playerPosRot.pos.x; playerhead.pos.z = playerPosRot.pos.z; - OLib_Vec3fDiffToVecGeo(&playerTargetOffset, &targethead.pos, &playerhead.pos); + playerTargetOffset = OLib_Vec3fDiffToVecGeo(&targethead.pos, &playerhead.pos); if (eyeFlags == 0x400 || eyeFlags == (s16)0x8400) { eyeLookAtPos = targethead.pos; } else { @@ -5400,12 +5395,12 @@ s32 Camera_Unique9(Camera* camera) { scratchGeo.yaw = CAM_DEG_TO_BINANG(rwData->curKeyFrame->eyeTargetInit.y); scratchGeo.r = rwData->curKeyFrame->eyeTargetInit.z; } else { - OLib_Vec3fToVecGeo(&scratchGeo, &rwData->curKeyFrame->eyeTargetInit); + scratchGeo = OLib_Vec3fToVecGeo(&rwData->curKeyFrame->eyeTargetInit); } scratchGeo.yaw += playerTargetOffset.yaw; scratchGeo.pitch += playerTargetOffset.pitch; - Camera_AddVecGeoToVec3f(&rwData->eyeTarget, &eyeLookAtPos, &scratchGeo); + rwData->eyeTarget = Camera_AddVecGeoToVec3f(&eyeLookAtPos, &scratchGeo); } else { if (camera->target == NULL) { osSyncPrintf(VT_COL(YELLOW, BLACK) "camera: warning: demo C: actor is not valid\n" VT_RST); @@ -5427,13 +5422,13 @@ s32 Camera_Unique9(Camera* camera) { if (focusActor != NULL) { if ((eyeFlags & 0xF00) == 0x100) { // head - Actor_GetFocus(&eyeFocusPosRot, focusActor); + eyeFocusPosRot = Actor_GetFocus(focusActor); } else if ((eyeFlags & 0xF00) == 0x200) { // world - Actor_GetWorld(&eyeFocusPosRot, focusActor); + eyeFocusPosRot = Actor_GetWorld(focusActor); } else { // world, shapeRot - Actor_GetWorldPosShapeRot(&eyeFocusPosRot, focusActor); + eyeFocusPosRot = Actor_GetWorldPosShapeRot(focusActor); } if (eyeFlags & (s16)0x8080) { @@ -5441,12 +5436,12 @@ s32 Camera_Unique9(Camera* camera) { scratchGeo.yaw = CAM_DEG_TO_BINANG(rwData->curKeyFrame->eyeTargetInit.y); scratchGeo.r = rwData->curKeyFrame->eyeTargetInit.z; } else { - OLib_Vec3fToVecGeo(&scratchGeo, &rwData->curKeyFrame->eyeTargetInit); + scratchGeo = OLib_Vec3fToVecGeo(&rwData->curKeyFrame->eyeTargetInit); } scratchGeo.yaw += eyeFocusPosRot.rot.y; scratchGeo.pitch -= eyeFocusPosRot.rot.x; - Camera_AddVecGeoToVec3f(&rwData->eyeTarget, &eyeFocusPosRot.pos, &scratchGeo); + rwData->eyeTarget = Camera_AddVecGeoToVec3f(&eyeFocusPosRot.pos, &scratchGeo); } else { if (camera->target == NULL) { osSyncPrintf(VT_COL(YELLOW, BLACK) "camera: warning: demo C: actor is not valid\n" VT_RST); @@ -5478,16 +5473,16 @@ s32 Camera_Unique9(Camera* camera) { *eyeNext = rwData->eyeTarget; camera->fov = rwData->fovTarget; camera->roll = rwData->rollTarget; - camera->stateFlags |= CAM_STATE_10; + camera->stateFlags |= CAM_STATE_BLOCK_BG; break; case ONEPOINT_CS_ACTION_ID_21: // same as 15, but with unk_38 ? if (rwData->unk_38 == 0) { rwData->unk_38 = 1; - } else if (camera->stateFlags & CAM_STATE_3) { + } else if (camera->stateFlags & CAM_STATE_EXTERNAL_FINISHED) { rwData->unk_38 = 0; - camera->stateFlags &= ~CAM_STATE_3; + camera->stateFlags &= ~CAM_STATE_EXTERNAL_FINISHED; } *at = rwData->atTarget; *eyeNext = rwData->eyeTarget; @@ -5496,10 +5491,10 @@ s32 Camera_Unique9(Camera* camera) { break; case ONEPOINT_CS_ACTION_ID_16: - // same as 21, but don't unset CAM_STATE_3 on stateFlags + // same as 21, but don't unset CAM_STATE_EXTERNAL_FINISHED on stateFlags if (rwData->unk_38 == 0) { rwData->unk_38 = 1; - } else if (camera->stateFlags & CAM_STATE_3) { + } else if (camera->stateFlags & CAM_STATE_EXTERNAL_FINISHED) { rwData->unk_38 = 0; } @@ -5511,15 +5506,15 @@ s32 Camera_Unique9(Camera* camera) { case ONEPOINT_CS_ACTION_ID_1: // linear interpolation of eye/at using the geographic coordinates - OLib_Vec3fDiffToVecGeo(&eyeNextAtOffset, at, eyeNext); - OLib_Vec3fDiffToVecGeo(&rwData->atEyeOffsetTarget, &rwData->atTarget, &rwData->eyeTarget); + eyeNextAtOffset = OLib_Vec3fDiffToVecGeo(at, eyeNext); + rwData->atEyeOffsetTarget = OLib_Vec3fDiffToVecGeo(&rwData->atTarget, &rwData->eyeTarget); invKeyFrameTimer = 1.0f / rwData->keyFrameTimer; scratchGeo.r = F32_LERPIMP(eyeNextAtOffset.r, rwData->atEyeOffsetTarget.r, invKeyFrameTimer); scratchGeo.pitch = eyeNextAtOffset.pitch + ((s16)(rwData->atEyeOffsetTarget.pitch - eyeNextAtOffset.pitch) * invKeyFrameTimer); scratchGeo.yaw = eyeNextAtOffset.yaw + ((s16)(rwData->atEyeOffsetTarget.yaw - eyeNextAtOffset.yaw) * invKeyFrameTimer); - Camera_AddVecGeoToVec3f(&eyeTarget, at, &scratchGeo); + eyeTarget = Camera_AddVecGeoToVec3f(at, &scratchGeo); goto setEyeNext; case ONEPOINT_CS_ACTION_ID_2: @@ -5555,15 +5550,15 @@ s32 Camera_Unique9(Camera* camera) { case ONEPOINT_CS_ACTION_ID_4: // linear interpolation of eye/at/fov/roll using the step scale, and spherical coordinates - OLib_Vec3fDiffToVecGeo(&eyeNextAtOffset, at, eyeNext); - OLib_Vec3fDiffToVecGeo(&rwData->atEyeOffsetTarget, &rwData->atTarget, &rwData->eyeTarget); + eyeNextAtOffset = OLib_Vec3fDiffToVecGeo(at, eyeNext); + rwData->atEyeOffsetTarget = OLib_Vec3fDiffToVecGeo(&rwData->atTarget, &rwData->eyeTarget); scratchGeo.r = Camera_LERPCeilF(rwData->atEyeOffsetTarget.r, eyeNextAtOffset.r, rwData->curKeyFrame->lerpStepScale, 0.1f); scratchGeo.pitch = Camera_LERPCeilS(rwData->atEyeOffsetTarget.pitch, eyeNextAtOffset.pitch, rwData->curKeyFrame->lerpStepScale, 1); scratchGeo.yaw = Camera_LERPCeilS(rwData->atEyeOffsetTarget.yaw, eyeNextAtOffset.yaw, rwData->curKeyFrame->lerpStepScale, 1); - Camera_AddVecGeoToVec3f(eyeNext, at, &scratchGeo); + *eyeNext = Camera_AddVecGeoToVec3f(at, &scratchGeo); goto setAtFovRoll; case ONEPOINT_CS_ACTION_ID_3: @@ -5591,7 +5586,7 @@ s32 Camera_Unique9(Camera* camera) { camera->at.x = Camera_LERPCeilF(rwData->atTarget.x, camera->at.x, rwData->curKeyFrame->lerpStepScale, 1.0f); camera->at.y += camera->playerPosDelta.y * rwData->curKeyFrame->lerpStepScale; camera->at.z = Camera_LERPCeilF(rwData->atTarget.z, camera->at.z, rwData->curKeyFrame->lerpStepScale, 1.0f); - OLib_Vec3fDiffToVecGeo(&scratchGeo, at, eyeNext); + scratchGeo = OLib_Vec3fDiffToVecGeo(at, eyeNext); scratchGeo.yaw += CAM_DEG_TO_BINANG(rwData->curKeyFrame->eyeTargetInit.y); // 3A98 ~ 82.40 degrees @@ -5610,7 +5605,7 @@ s32 Camera_Unique9(Camera* camera) { rwData->curKeyFrame->lerpStepScale, 1.0f) : scratchGeo.r; - Camera_AddVecGeoToVec3f(eyeNext, at, &scratchGeo); + *eyeNext = Camera_AddVecGeoToVec3f(at, &scratchGeo); camera->fov = Camera_LERPCeilF(F32_LERPIMPINV(camera->fov, rwData->curKeyFrame->fovTargetInit, rwData->keyFrameTimer), camera->fov, rwData->curKeyFrame->lerpStepScale, 1.0f); @@ -5626,7 +5621,7 @@ s32 Camera_Unique9(Camera* camera) { // Change the parent camera (or default)'s mode to normal s32 camId = camera->parentCamId <= CAM_ID_NONE ? CAM_ID_MAIN : camera->parentCamId; - Camera_ChangeModeFlags(camera->play->cameraPtrs[camId], CAM_MODE_NORMAL, 1); + Camera_RequestModeImpl(camera->play->cameraPtrs[camId], CAM_MODE_NORMAL, true); } FALLTHROUGH; case ONEPOINT_CS_ACTION_ID_18: { @@ -5714,9 +5709,9 @@ void Camera_RotateAroundPoint(PosRot* at, Vec3f* pos, Vec3f* dst) { Vec3f posCopy; Camera_Vec3fCopy(pos, &posCopy); - OLib_Vec3fToVecGeo(&posGeo, &posCopy); + posGeo = OLib_Vec3fToVecGeo(&posCopy); posGeo.yaw += at->rot.y; - Camera_AddVecGeoToVec3f(dst, &at->pos, &posGeo); + *dst = Camera_AddVecGeoToVec3f(&at->pos, &posGeo); } /** @@ -5773,7 +5768,7 @@ s32 Camera_Demo1(Camera* camera) { // if the camera is set to be relative to the player, move the interpolated points // relative to the player's position if (camera->player != NULL && camera->player->actor.update != NULL) { - Actor_GetWorld(&curPlayerPosRot, &camera->player->actor); + curPlayerPosRot = Actor_GetWorld(&camera->player->actor); Camera_RotateAroundPoint(&curPlayerPosRot, &csEyeUpdate, eyeNext); Camera_RotateAroundPoint(&curPlayerPosRot, &csAtUpdate, at); } else { @@ -5821,7 +5816,7 @@ s32 Camera_Demo3(Camera* camera) { Demo3ReadWriteData* rwData = &camera->paramData.demo3.rwData; s32 pad2; - camera->stateFlags &= ~CAM_STATE_4; + camera->stateFlags &= ~CAM_STATE_CAM_FUNC_FINISH; if (RELOAD_PARAMS(camera) || R_RELOAD_CAM_PARAMS) { CameraModeValue* values = sCameraSettings[camera->setting].cameraModes[camera->mode].values; @@ -5835,13 +5830,13 @@ s32 Camera_Demo3(Camera* camera) { Camera_CopyPREGToModeValues(camera); } - OLib_Vec3fDiffToVecGeo(&eyeAtOffset, at, eye); + eyeAtOffset = OLib_Vec3fDiffToVecGeo(at, eye); sCameraInterfaceField = roData->interfaceField; switch (camera->animState) { case 0: - camera->stateFlags &= ~(CAM_STATE_2 | CAM_STATE_3); + camera->stateFlags &= ~(CAM_STATE_CHECK_BG | CAM_STATE_EXTERNAL_FINISHED); func_80043B60(camera); camera->fov = roData->fov; camera->roll = rwData->animFrame = 0; @@ -5866,9 +5861,9 @@ s32 Camera_Demo3(Camera* camera) { if (Camera_BGCheck(camera, &sp68, &sp74)) { rwData->yawDir = -rwData->yawDir; } - OLib_Vec3fToVecGeo(&atOffset, &D_8011D678[0]); + atOffset = OLib_Vec3fToVecGeo(&D_8011D678[0]); atOffset.yaw += camPlayerPosRot->rot.y; - Camera_AddVecGeoToVec3f(at, &rwData->initialAt, &atOffset); + *at = Camera_AddVecGeoToVec3f(&rwData->initialAt, &atOffset); eyeOffset.r = D_8011D658[0].r; eyeOffset.pitch = D_8011D658[0].pitch; eyeOffset.yaw = (D_8011D658[0].yaw * rwData->yawDir) + camPlayerPosRot->rot.y; @@ -5881,9 +5876,9 @@ s32 Camera_Demo3(Camera* camera) { sp5C.y = F32_LERPIMP(D_8011D678[0].y, D_8011D678[1].y, temp_f0); sp5C.z = F32_LERPIMP(D_8011D678[0].z, D_8011D678[1].z, temp_f0); - OLib_Vec3fToVecGeo(&atOffset, &sp5C); + atOffset = OLib_Vec3fToVecGeo(&sp5C); atOffset.yaw = (atOffset.yaw * rwData->yawDir) + camPlayerPosRot->rot.y; - Camera_AddVecGeoToVec3f(at, &rwData->initialAt, &atOffset); + *at = Camera_AddVecGeoToVec3f(&rwData->initialAt, &atOffset); atOffset.r = F32_LERPIMP(D_8011D658[0].r, D_8011D658[1].r, temp_f0); atOffset.pitch = BINANG_LERPIMP(D_8011D658[0].pitch, D_8011D658[1].pitch, temp_f0); @@ -5903,9 +5898,9 @@ s32 Camera_Demo3(Camera* camera) { sp5C.y += yOffset; sp5C.z = F32_LERPIMP(D_8011D678[1].z, D_8011D678[2].z, temp_f0); - OLib_Vec3fToVecGeo(&atOffset, &sp5C); + atOffset = OLib_Vec3fToVecGeo(&sp5C); atOffset.yaw = (atOffset.yaw * rwData->yawDir) + camPlayerPosRot->rot.y; - Camera_AddVecGeoToVec3f(at, &rwData->initialAt, &atOffset); + *at = Camera_AddVecGeoToVec3f(&rwData->initialAt, &atOffset); atOffset.r = F32_LERPIMP(D_8011D658[1].r, D_8011D658[2].r, temp_f0); atOffset.pitch = BINANG_LERPIMP(D_8011D658[1].pitch, D_8011D658[2].pitch, temp_f0); @@ -5924,9 +5919,9 @@ s32 Camera_Demo3(Camera* camera) { sp5C.y += yOffset; sp5C.z = F32_LERPIMP(D_8011D678[2].z, D_8011D678[3].z, temp_f0); - OLib_Vec3fToVecGeo(&atOffset, &sp5C); + atOffset = OLib_Vec3fToVecGeo(&sp5C); atOffset.yaw = (atOffset.yaw * rwData->yawDir) + camPlayerPosRot->rot.y; - Camera_AddVecGeoToVec3f(at, &rwData->initialAt, &atOffset); + *at = Camera_AddVecGeoToVec3f(&rwData->initialAt, &atOffset); atOffset.r = F32_LERPIMP(D_8011D658[2].r, D_8011D658[3].r, temp_f0); atOffset.pitch = BINANG_LERPIMP(D_8011D658[2].pitch, D_8011D658[3].pitch, temp_f0); @@ -5938,8 +5933,8 @@ s32 Camera_Demo3(Camera* camera) { rwData->unk_0C += (4.0f / 45.0f); break; case 30: - camera->stateFlags |= CAM_STATE_10; - if (camera->stateFlags & CAM_STATE_3) { + camera->stateFlags |= CAM_STATE_BLOCK_BG; + if (camera->stateFlags & CAM_STATE_EXTERNAL_FINISHED) { camera->animState = 4; } FALLTHROUGH; @@ -5963,17 +5958,17 @@ s32 Camera_Demo3(Camera* camera) { CHECK_BTN_ALL(D_8015BD7C->state.input[0].press.button, BTN_CRIGHT) || CHECK_BTN_ALL(D_8015BD7C->state.input[0].press.button, BTN_R) || CHECK_BTN_ALL(D_8015BD7C->state.input[0].press.button, BTN_Z)) && - (camera->stateFlags & CAM_STATE_3))) { + (camera->stateFlags & CAM_STATE_EXTERNAL_FINISHED))) { goto skipeyeUpdate; } FALLTHROUGH; default: - camera->stateFlags |= (CAM_STATE_2 | CAM_STATE_4); - camera->stateFlags &= ~CAM_STATE_3; + camera->stateFlags |= (CAM_STATE_CHECK_BG | CAM_STATE_CAM_FUNC_FINISH); + camera->stateFlags &= ~CAM_STATE_EXTERNAL_FINISHED; if (camera->prevBgCamIndex < 0) { - Camera_ChangeSettingFlags(camera, camera->prevSetting, 2); + Camera_RequestSettingImpl(camera, camera->prevSetting, CAM_REQUEST_SETTING_IGNORE_PRIORITY); } else { - Camera_ChangeBgCamIndex(camera, camera->prevBgCamIndex); + Camera_RequestBgCam(camera, camera->prevBgCamIndex); camera->prevBgCamIndex = -1; } sCameraInterfaceField = CAM_INTERFACE_FIELD(CAM_LETTERBOX_NONE, CAM_HUD_VISIBILITY_ALL, 0); @@ -6004,7 +5999,7 @@ s32 Camera_Demo3(Camera* camera) { eyeOffset.r = Camera_LERPCeilF(eyeOffset.r, eyeAtOffset.r, rwData->unk_0C, 2.0f); eyeOffset.pitch = Camera_LERPCeilS(eyeOffset.pitch, eyeAtOffset.pitch, rwData->unk_0C, 0xA); eyeOffset.yaw = Camera_LERPCeilS(eyeOffset.yaw, eyeAtOffset.yaw, rwData->unk_0C, 0xA); - Camera_AddVecGeoToVec3f(eyeNext, at, &eyeOffset); + *eyeNext = Camera_AddVecGeoToVec3f(at, &eyeOffset); *eye = *eyeNext; } @@ -6040,7 +6035,7 @@ s32 Camera_Demo5(Camera* camera) { s16 t; s32 pad2; - Actor_GetFocus(&playerhead, &camera->player->actor); + playerhead = Actor_GetFocus(&camera->player->actor); player = camera->player; sCameraInterfaceField = CAM_INTERFACE_FIELD(CAM_LETTERBOX_LARGE, CAM_HUD_VISIBILITY_NOTHING_ALT, 0); @@ -6052,12 +6047,12 @@ s32 Camera_Demo5(Camera* camera) { return true; } - Actor_GetFocus(&camera->targetPosRot, camera->target); - OLib_Vec3fDiffToVecGeo(&playerTargetGeo, &camera->targetPosRot.pos, &camera->playerPosRot.pos); + camera->targetPosRot = Actor_GetFocus(camera->target); + playerTargetGeo = OLib_Vec3fDiffToVecGeo(&camera->targetPosRot.pos, &camera->playerPosRot.pos); D_8011D3AC = camera->target->category; Actor_GetScreenPos(camera->play, camera->target, &targetScreenPosX, &targetScreenPosY); eyeTargetDist = OLib_Vec3fDist(&camera->targetPosRot.pos, &camera->eye); - OLib_Vec3fDiffToVecGeo(&eyePlayerGeo, &playerhead.pos, &camera->eyeNext); + eyePlayerGeo = OLib_Vec3fDiffToVecGeo(&playerhead.pos, &camera->eyeNext); sp4A = eyePlayerGeo.yaw - playerTargetGeo.yaw; if (camera->target->category == ACTORCAT_PLAYER) { @@ -6170,7 +6165,7 @@ s32 Camera_Demo5(Camera* camera) { temp_v0 = Rand_ZeroOne() * (sp90 * -0.2f); D_8011D954[1].rollTargetInit = temp_v0; D_8011D954[0].rollTargetInit = temp_v0; - Actor_GetFocus(&targethead, camera->target); + targethead = Actor_GetFocus(camera->target); targethead.pos.x += 50.0f * Math_SinS(sp4A - 0x7FFF); targethead.pos.z += 50.0f * Math_CosS(sp4A - 0x7FFF); if (Camera_BGCheck(camera, &playerhead.pos, &targethead.pos)) { @@ -6196,7 +6191,7 @@ s32 Camera_Demo5(Camera* camera) { } Player_GetHeight(camera->player); D_8011D9F4[0].timerInit = camera->timer; - Actor_GetFocus(&targethead, camera->target); + targethead = Actor_GetFocus(camera->target); if (Camera_BGCheck(camera, &playerhead.pos, &targethead.pos)) { D_8011D9F4[1].timerInit = 4; D_8011D9F4[1].actionFlags = ONEPOINT_CS_ACTION(ONEPOINT_CS_ACTION_ID_15, false, true); @@ -6248,7 +6243,8 @@ s32 Camera_Demo5(Camera* camera) { } sDemo5PrevAction12Frame = camera->play->state.frames; - Camera_ChangeSettingFlags(camera, CAM_SET_CS_C, (4 | 1)); + Camera_RequestSettingImpl(camera, CAM_SET_CS_C, + CAM_REQUEST_SETTING_PRESERVE_BG_CAM_INDEX | CAM_REQUEST_SETTING_FORCE_CHANGE); Camera_Unique9(camera); @@ -6290,7 +6286,7 @@ s32 Camera_Demo6(Camera* camera) { // initializes the camera state. rwData->animTimer = 0; camera->fov = 60.0f; - Actor_GetWorld(&focusPosRot, camFocus); + focusPosRot = Actor_GetWorld(camFocus); camera->at.x = focusPosRot.pos.x; camera->at.y = focusPosRot.pos.y + 20.0f; camera->at.z = focusPosRot.pos.z; @@ -6299,14 +6295,14 @@ s32 Camera_Demo6(Camera* camera) { eyeOffset.yaw = Camera_XZAngle(&focusPosRot.pos, &mainCam->playerPosRot.pos) + 0x7D0; // -0x3E8 ~5.49 degrees eyeOffset.pitch = -0x3E8; - Camera_AddVecGeoToVec3f(eyeNext, &camera->at, &eyeOffset); + *eyeNext = Camera_AddVecGeoToVec3f(&camera->at, &eyeOffset); camera->eye = *eyeNext; camera->animState++; FALLTHROUGH; case 1: if (stateTimers[camera->animState] < rwData->animTimer) { Player_SetCsActionWithHaltedActors(camera->play, &camera->player->actor, PLAYER_CSACTION_8); - Actor_GetWorld(&focusPosRot, camFocus); + focusPosRot = Actor_GetWorld(camFocus); rwData->atTarget.x = focusPosRot.pos.x; rwData->atTarget.y = focusPosRot.pos.y - 20.0f; rwData->atTarget.z = focusPosRot.pos.z; @@ -6333,15 +6329,15 @@ s32 Camera_Demo6(Camera* camera) { } rwData->animTimer++; - Actor_GetWorld(&focusPosRot, camFocus); + focusPosRot = Actor_GetWorld(camFocus); return true; } s32 Camera_Demo7(Camera* camera) { if (camera->animState == 0) { - camera->stateFlags &= ~CAM_STATE_2; - camera->stateFlags |= CAM_STATE_12; + camera->stateFlags &= ~CAM_STATE_CHECK_BG; + camera->stateFlags |= CAM_STATE_DEMO7; camera->animState++; } //! @bug doesn't return @@ -6429,13 +6425,13 @@ s32 Camera_Demo9(Camera* camera) { Camera_RotateAroundPoint(mainCamPlayerPosRot, &csAtUpdate, &newAt); } else if (onePointCamData->actionParameters == 4) { // rotate around the current camera's player - Actor_GetWorld(&focusPosRot, &camera->player->actor); + focusPosRot = Actor_GetWorld(&camera->player->actor); Camera_RotateAroundPoint(&focusPosRot, &csEyeUpdate, &newEye); Camera_RotateAroundPoint(&focusPosRot, &csAtUpdate, &newAt); } else if (onePointCamData->actionParameters == 8) { // rotate around the current camera's target if (camera->target != NULL && camera->target->update != NULL) { - Actor_GetWorld(&focusPosRot, camera->target); + focusPosRot = Actor_GetWorld(camera->target); Camera_RotateAroundPoint(&focusPosRot, &csEyeUpdate, &newEye); Camera_RotateAroundPoint(&focusPosRot, &csAtUpdate, &newAt); } else { @@ -6528,7 +6524,7 @@ s32 Camera_Special0(Camera* camera) { return true; } - Actor_GetFocus(&camera->targetPosRot, camera->target); + camera->targetPosRot = Actor_GetFocus(camera->target); Camera_LERPCeilVec3f(&camera->targetPosRot.pos, &camera->at, roData->lerpAtScale, roData->lerpAtScale, 0.1f); camera->playerToAtOffset.x = camera->at.x - playerPosRot->pos.x; @@ -6574,7 +6570,7 @@ s32 Camera_Special4(Camera* camera) { return false; } else { camera->roll = -0x1F4; - Actor_GetWorld(&curTargetPosRot, camera->target); + curTargetPosRot = Actor_GetWorld(camera->target); camera->at = curTargetPosRot.pos; camera->at.y -= 150.0f; @@ -6632,9 +6628,9 @@ s32 Camera_Special5(Camera* camera) { Camera_CopyPREGToModeValues(camera); } - OLib_Vec3fDiffToVecGeo(&sp64, at, eye); - OLib_Vec3fDiffToVecGeo(&sp5C, at, eyeNext); - Actor_GetWorld(&spA8, camera->target); + sp64 = OLib_Vec3fDiffToVecGeo(at, eye); + sp5C = OLib_Vec3fDiffToVecGeo(at, eyeNext); + spA8 = Actor_GetWorld(camera->target); sCameraInterfaceField = roData->interfaceField; @@ -6656,9 +6652,9 @@ s32 Camera_Special5(Camera* camera) { sp6C.yaw = playerPosRot->rot.y; sp6C.pitch = -playerPosRot->rot.x; sp6C.r = 20.0f; - Camera_AddVecGeoToVec3f(&sp7C.pos, &spA8.pos, &sp6C); + sp7C.pos = Camera_AddVecGeoToVec3f(&spA8.pos, &sp6C); Camera_BGCheckInfo(camera, at, &sp7C); - OLib_Vec3fToVecGeo(&sp6C, &sp7C.norm); + sp6C = OLib_Vec3fToVecGeo(&sp7C.norm); spA4 = playerPosRot->rot.y - sp6C.yaw; sp74.r = roData->eyeDist; temp_f0_2 = Rand_ZeroOne(); @@ -6666,7 +6662,7 @@ s32 Camera_Special5(Camera* camera) { (s16)(playerPosRot->rot.y - 0x7FFF) + (s16)(spA4 < 0 ? -(s16)(0x1553 + (s16)(temp_f0_2 * 2730.0f)) : (s16)(0x1553 + (s16)(temp_f0_2 * 2730.0f))); sp74.pitch = roData->pitch; - Camera_AddVecGeoToVec3f(eyeNext, &spA8.pos, &sp74); + *eyeNext = Camera_AddVecGeoToVec3f(&spA8.pos, &sp74); *eye = *eyeNext; Camera_BGCheck(camera, &spA8.pos, eye); } @@ -6785,10 +6781,10 @@ s32 Camera_Special6(Camera* camera) { Camera_CopyPREGToModeValues(camera); } - OLib_Vec3fDiffToVecGeo(&eyeAtOffset, eye, at); + eyeAtOffset = OLib_Vec3fDiffToVecGeo(eye, at); bgCamFuncData = (BgCamFuncData*)Camera_GetBgCamFuncData(camera); - Camera_Vec3sToVec3f(&bgCamPos, &bgCamFuncData->pos); + bgCamPos = Camera_Vec3sToVec3f(&bgCamFuncData->pos); bgCamRot = bgCamFuncData->rot; fov = bgCamFuncData->fov; if (fov == -1) { @@ -6830,7 +6826,7 @@ s32 Camera_Special6(Camera* camera) { atOffset.r = 100.0f; atOffset.yaw = bgCamRot.y; atOffset.pitch = -bgCamRot.x; - Camera_AddVecGeoToVec3f(&atAnim, &eyeAnim, &atOffset); + atAnim = Camera_AddVecGeoToVec3f(&eyeAnim, &atOffset); timerDivisor = 1.0f / timerF; eye->x += (eyeAnim.x - eye->x) * timerDivisor; eye->y += (eyeAnim.y - eye->y) * timerDivisor; @@ -6856,7 +6852,7 @@ s32 Camera_Special6(Camera* camera) { atOffset.r = 100.0f; atOffset.yaw = bgCamRot.y; atOffset.pitch = -bgCamRot.x; - Camera_AddVecGeoToVec3f(at, eye, &atOffset); + *at = Camera_AddVecGeoToVec3f(eye, &atOffset); } return true; } @@ -6885,7 +6881,7 @@ s32 Camera_Special9(Camera* camera) { BgCamFuncData* bgCamFuncData; playerYOffset = Player_GetHeight(camera->player); - camera->stateFlags &= ~CAM_STATE_4; + camera->stateFlags &= ~CAM_STATE_CAM_FUNC_FINISH; yNormal = 1.0f + CAM_DATA_SCALED(R_CAM_YOFFSET_NORM) - (CAM_DATA_SCALED(R_CAM_YOFFSET_NORM) * (68.0f / playerYOffset)); @@ -6902,14 +6898,14 @@ s32 Camera_Special9(Camera* camera) { } if (doorParams->doorActor != NULL) { - Actor_GetWorldPosShapeRot(&referencePosRot, doorParams->doorActor); + referencePosRot = Actor_GetWorldPosShapeRot(doorParams->doorActor); } else { referencePosRot = *playerPosRot; referencePosRot.pos.y += playerYOffset + roData->yOffset; referencePosRot.rot.x = 0; } - OLib_Vec3fDiffToVecGeo(&atEyeOffsetGeo, at, eye); + atEyeOffsetGeo = OLib_Vec3fDiffToVecGeo(at, eye); sCameraInterfaceField = roData->interfaceField; @@ -6917,7 +6913,7 @@ s32 Camera_Special9(Camera* camera) { if (1) {} case 0: - camera->stateFlags &= ~(CAM_STATE_1 | CAM_STATE_2); + camera->stateFlags &= ~(CAM_STATE_CHECK_WATER | CAM_STATE_CHECK_BG); camera->animState++; //! @bug The angle passed to ABS should be cast to s16. @@ -6935,7 +6931,7 @@ s32 Camera_Special9(Camera* camera) { camera->animState++; if (roData->interfaceField & SPECIAL9_FLAG_0) { bgCamFuncData = (BgCamFuncData*)Camera_GetBgCamFuncData(camera); - Camera_Vec3sToVec3f(eyeNext, &bgCamFuncData->pos); + *eyeNext = Camera_Vec3sToVec3f(&bgCamFuncData->pos); spAC = *eye = *eyeNext; } else { s16 yaw; @@ -6946,12 +6942,12 @@ s32 Camera_Special9(Camera* camera) { yaw = 0xAAA * ((camera->play->state.frames & 1) ? 1 : -1); eyeAdjustment.yaw = rwData->targetYaw + yaw; eyeAdjustment.r = 200.0f * yNormal; - Camera_AddVecGeoToVec3f(eyeNext, at, &eyeAdjustment); + *eyeNext = Camera_AddVecGeoToVec3f(at, &eyeAdjustment); spAC = *eye = *eyeNext; if (Camera_CheckOOB(camera, &spAC, &playerPosRot->pos)) { yaw = -yaw; eyeAdjustment.yaw = rwData->targetYaw + yaw; - Camera_AddVecGeoToVec3f(eyeNext, at, &eyeAdjustment); + *eyeNext = Camera_AddVecGeoToVec3f(at, &eyeAdjustment); *eye = *eyeNext; } } @@ -6967,7 +6963,7 @@ s32 Camera_Special9(Camera* camera) { doorParams->timer2--; if (doorParams->timer2 <= 0) { camera->animState++; - rwData->targetYaw = rwData->targetYaw - 0x7FFF; + rwData->targetYaw -= 0x7FFF; } else { break; } @@ -6979,7 +6975,7 @@ s32 Camera_Special9(Camera* camera) { eyeAdjustment.pitch = Camera_LERPCeilS(0xAAA, atEyeOffsetGeo.pitch, 0.3f, 0xA); eyeAdjustment.yaw = Camera_LERPCeilS(rwData->targetYaw, atEyeOffsetGeo.yaw, 0.3f, 0xA); eyeAdjustment.r = Camera_LERPCeilF(60.0f, atEyeOffsetGeo.r, 0.3f, 1.0f); - Camera_AddVecGeoToVec3f(eyeNext, at, &eyeAdjustment); + *eyeNext = Camera_AddVecGeoToVec3f(at, &eyeAdjustment); *eye = *eyeNext; doorParams->timer3--; if (doorParams->timer3 <= 0) { @@ -6992,7 +6988,7 @@ s32 Camera_Special9(Camera* camera) { camera->animState++; FALLTHROUGH; default: - camera->stateFlags |= (CAM_STATE_4 | CAM_STATE_10); + camera->stateFlags |= (CAM_STATE_CAM_FUNC_FINISH | CAM_STATE_BLOCK_BG); sCameraInterfaceField = CAM_INTERFACE_FIELD(CAM_LETTERBOX_NONE, CAM_HUD_VISIBILITY_ALL, 0); if (camera->xzSpeed > 0.001f || CHECK_BTN_ALL(D_8015BD7C->state.input[0].press.button, BTN_A) || @@ -7005,8 +7001,8 @@ s32 Camera_Special9(Camera* camera) { CHECK_BTN_ALL(D_8015BD7C->state.input[0].press.button, BTN_Z) || (roData->interfaceField & SPECIAL9_FLAG_3)) { - Camera_ChangeSettingFlags(camera, camera->prevSetting, 2); - camera->stateFlags |= (CAM_STATE_1 | CAM_STATE_2); + Camera_RequestSettingImpl(camera, camera->prevSetting, CAM_REQUEST_SETTING_IGNORE_PRIORITY); + camera->stateFlags |= (CAM_STATE_CHECK_WATER | CAM_STATE_CHECK_BG); } break; } @@ -7021,7 +7017,7 @@ s32 Camera_Special9(Camera* camera) { } Camera* Camera_Create(View* view, CollisionContext* colCtx, PlayState* play) { - Camera* newCamera = ZeldaArena_MallocDebug(sizeof(*newCamera), "../z_camera.c", 9370); + Camera* newCamera = ZELDA_ARENA_MALLOC(sizeof(*newCamera), "../z_camera.c", 9370); if (newCamera != NULL) { osSyncPrintf(VT_FGCOL(BLUE) "camera: create --- allocate %d byte" VT_RST "\n", sizeof(*newCamera) * 4); @@ -7035,7 +7031,7 @@ Camera* Camera_Create(View* view, CollisionContext* colCtx, PlayState* play) { void Camera_Destroy(Camera* camera) { if (camera != NULL) { osSyncPrintf(VT_FGCOL(BLUE) "camera: destroy ---" VT_RST "\n"); - ZeldaArena_FreeDebug(camera, "../z_camera.c", 9391); + ZELDA_ARENA_FREE(camera, "../z_camera.c", 9391); } else { osSyncPrintf(VT_COL(YELLOW, BLACK) "camera: destroy: already cleared\n" VT_RST); } @@ -7107,7 +7103,7 @@ void Camera_Init(Camera* camera, View* view, CollisionContext* colCtx, PlayState camera->bgId = BGCHECK_SCENE; camera->csId = 0x7FFF; camera->timer = -1; - camera->stateFlags |= CAM_STATE_14; + camera->stateFlags |= CAM_STATE_CAM_INIT; camera->up.y = 1.0f; camera->up.z = camera->up.x = 0.0f; @@ -7122,7 +7118,7 @@ void Camera_Init(Camera* camera, View* view, CollisionContext* colCtx, PlayState void func_80057FC4(Camera* camera) { if (camera != &camera->play->mainCamera) { camera->prevSetting = camera->setting = CAM_SET_FREE0; - camera->stateFlags &= ~CAM_STATE_2; + camera->stateFlags &= ~CAM_STATE_CHECK_BG; } else if (camera->play->roomCtx.curRoom.roomShape->base.type != ROOM_SHAPE_TYPE_IMAGE) { switch (camera->play->roomCtx.curRoom.behaviorType1) { case ROOM_BEHAVIOR_TYPE1_1: @@ -7138,13 +7134,13 @@ void func_80057FC4(Camera* camera) { osSyncPrintf("camera: room type: default set etc (%d)\n", camera->play->roomCtx.curRoom.behaviorType1); Camera_ChangeDoorCam(camera, NULL, -99, 0, 0, 18, 10); camera->prevSetting = camera->setting = CAM_SET_NORMAL0; - camera->stateFlags |= CAM_STATE_2; + camera->stateFlags |= CAM_STATE_CHECK_BG; break; } } else { osSyncPrintf("camera: room type: prerender\n"); camera->prevSetting = camera->setting = CAM_SET_FREE0; - camera->stateFlags &= ~CAM_STATE_2; + camera->stateFlags &= ~CAM_STATE_CHECK_BG; } } @@ -7162,7 +7158,7 @@ void Camera_InitDataUsingPlayer(Camera* camera, Player* player) { Vec3f* at = &camera->at; Vec3f* eyeNext = &camera->eyeNext; - Actor_GetWorldPosShapeRot(&playerPosRot, &player->actor); + playerPosRot = Actor_GetWorldPosShapeRot(&player->actor); playerToAtOffsetY = Player_GetHeight(player); camera->player = player; camera->playerPosRot = playerPosRot; @@ -7181,7 +7177,7 @@ void Camera_InitDataUsingPlayer(Camera* camera, Player* player) { camera->playerToAtOffset.y = playerToAtOffsetY; camera->playerToAtOffset.z = 0; - Camera_AddVecGeoToVec3f(eyeNext, at, &eyeNextAtOffset); + *eyeNext = Camera_AddVecGeoToVec3f(at, &eyeNextAtOffset); *eye = *eyeNext; camera->roll = 0; @@ -7196,7 +7192,7 @@ void Camera_InitDataUsingPlayer(Camera* camera, Player* player) { camera->bgCamIndexBeforeUnderwater = -1; camera->waterCamSetting = -1; - camera->stateFlags |= CAM_STATE_2; + camera->stateFlags |= CAM_STATE_CHECK_BG; if (camera == &camera->play->mainCamera) { sCameraInterfaceField = @@ -7334,24 +7330,29 @@ s32 Camera_UpdateWater(Camera* camera) { Player* player = camera->player; s16 prevBgId; - if (!(camera->stateFlags & CAM_STATE_1) || sCameraSettings[camera->setting].unk_00 & 0x40000000) { + if (!(camera->stateFlags & CAM_STATE_CHECK_WATER) || sCameraSettings[camera->setting].unk_00 & 0x40000000) { return 0; } - if (camera->stateFlags & CAM_STATE_9) { + // Process player diving in water + if (camera->stateFlags & CAM_STATE_PLAYER_IN_WATER) { if (player->stateFlags2 & PLAYER_STATE2_11) { - Camera_ChangeSettingFlags(camera, CAM_SET_PIVOT_WATER_SURFACE, 6); - camera->stateFlags |= CAM_STATE_15; - } else if (camera->stateFlags & CAM_STATE_15) { - Camera_ChangeSettingFlags(camera, *waterCamSetting, 6); - camera->stateFlags &= ~CAM_STATE_15; + Camera_RequestSettingImpl(camera, CAM_SET_PIVOT_WATER_SURFACE, + CAM_REQUEST_SETTING_PRESERVE_BG_CAM_INDEX | CAM_REQUEST_SETTING_IGNORE_PRIORITY); + camera->stateFlags |= CAM_STATE_PLAYER_DIVING; + } else if (camera->stateFlags & CAM_STATE_PLAYER_DIVING) { + Camera_RequestSettingImpl(camera, *waterCamSetting, + CAM_REQUEST_SETTING_PRESERVE_BG_CAM_INDEX | CAM_REQUEST_SETTING_IGNORE_PRIORITY); + camera->stateFlags &= ~CAM_STATE_PLAYER_DIVING; } } - if (!(camera->stateFlags & CAM_STATE_15)) { + + // Process player swimming in water + if (!(camera->stateFlags & CAM_STATE_PLAYER_DIVING)) { if (waterBgCamIndex = Camera_GetWaterBoxBgCamIndex(camera, &waterY), waterBgCamIndex == -2) { - // No camera data index - if (!(camera->stateFlags & CAM_STATE_9)) { - camera->stateFlags |= CAM_STATE_9; + // In a water box that has no bgCamIndex + if (!(camera->stateFlags & CAM_STATE_PLAYER_IN_WATER)) { + camera->stateFlags |= CAM_STATE_PLAYER_IN_WATER; camera->waterYPos = waterY; camera->bgCamIndexBeforeUnderwater = camera->bgCamIndex; *waterQuakeIndex = -1; @@ -7359,15 +7360,15 @@ s32 Camera_UpdateWater(Camera* camera) { if (camera->playerGroundY != camera->playerPosRot.pos.y) { prevBgId = camera->bgId; camera->bgId = BGCHECK_SCENE; - Camera_ChangeSettingFlags(camera, CAM_SET_NORMAL3, 2); + Camera_RequestSettingImpl(camera, CAM_SET_NORMAL3, CAM_REQUEST_SETTING_IGNORE_PRIORITY); *waterCamSetting = camera->setting; camera->bgId = prevBgId; camera->bgCamIndex = -2; } } else if (waterBgCamIndex != -1) { - // player is in a water box - if (!(camera->stateFlags & CAM_STATE_9)) { - camera->stateFlags |= CAM_STATE_9; + // In a water box with a bgCamIndex + if (!(camera->stateFlags & CAM_STATE_PLAYER_IN_WATER)) { + camera->stateFlags |= CAM_STATE_PLAYER_IN_WATER; camera->waterYPos = waterY; camera->bgCamIndexBeforeUnderwater = camera->bgCamIndex; *waterQuakeIndex = -1; @@ -7375,30 +7376,31 @@ s32 Camera_UpdateWater(Camera* camera) { if (camera->playerGroundY != camera->playerPosRot.pos.y) { prevBgId = camera->bgId; camera->bgId = BGCHECK_SCENE; - Camera_ChangeBgCamIndex(camera, waterBgCamIndex); + Camera_RequestBgCam(camera, waterBgCamIndex); *waterCamSetting = camera->setting; camera->bgId = prevBgId; } - } else if (camera->stateFlags & CAM_STATE_9) { - // player is out of a water box. + } else if (camera->stateFlags & CAM_STATE_PLAYER_IN_WATER) { + // player is leaving a water box. osSyncPrintf("camera: water: off\n"); - camera->stateFlags &= ~CAM_STATE_9; + camera->stateFlags &= ~CAM_STATE_PLAYER_IN_WATER; prevBgId = camera->bgId; camera->bgId = BGCHECK_SCENE; if (camera->bgCamIndexBeforeUnderwater < 0) { func_80057FC4(camera); camera->bgCamIndex = -1; } else { - Camera_ChangeBgCamIndex(camera, camera->bgCamIndexBeforeUnderwater); + Camera_RequestBgCam(camera, camera->bgCamIndexBeforeUnderwater); } camera->bgId = prevBgId; } } + // Process camera in water if (waterY = Camera_GetWaterSurface(camera, &camera->eye, &waterLightsIndex), waterY != BGCHECK_Y_MIN) { camera->waterYPos = waterY; - if (!(camera->stateFlags & CAM_STATE_8)) { - camera->stateFlags |= CAM_STATE_8; + if (!(camera->stateFlags & CAM_STATE_CAMERA_IN_WATER)) { + camera->stateFlags |= CAM_STATE_CAMERA_IN_WATER; osSyncPrintf("kankyo changed water, sound on\n"); Environment_EnableUnderwaterLights(camera->play, waterLightsIndex); camera->waterDistortionTimer = 80; @@ -7432,8 +7434,8 @@ s32 Camera_UpdateWater(Camera* camera) { camera->distortionFlags |= DISTORTION_UNDERWATER_WEAK; } } else { - if (camera->stateFlags & CAM_STATE_8) { - camera->stateFlags &= ~CAM_STATE_8; + if (camera->stateFlags & CAM_STATE_CAMERA_IN_WATER) { + camera->stateFlags &= ~CAM_STATE_CAMERA_IN_WATER; osSyncPrintf("kankyo changed water off, sound off\n"); Environment_DisableUnderwaterLights(camera->play); if (*waterQuakeIndex != 0) { @@ -7477,7 +7479,7 @@ s32 Camera_DbgChangeMode(Camera* camera) { } if (changeDir != 0) { sDbgModeIdx = (sDbgModeIdx + changeDir) % 6; - if (Camera_ChangeSetting(camera, D_8011DAFC[sDbgModeIdx]) > 0) { + if (Camera_RequestSetting(camera, D_8011DAFC[sDbgModeIdx]) > 0) { osSyncPrintf("camera: force change SET to %s!\n", sCameraSettingNames[D_8011DAFC[sDbgModeIdx]]); } } @@ -7562,11 +7564,11 @@ void Camera_UpdateDistortion(Camera* camera) { Math_CosS(depthPhase) * (zScale * scaleFactor) + 1.0f); View_SetDistortionSpeed(&camera->play->view, speed * speedFactor); - camera->stateFlags |= CAM_STATE_6; + camera->stateFlags |= CAM_STATE_DISTORTION; - } else if (camera->stateFlags & CAM_STATE_6) { + } else if (camera->stateFlags & CAM_STATE_DISTORTION) { View_ClearDistortion(&camera->play->view); - camera->stateFlags &= ~CAM_STATE_6; + camera->stateFlags &= ~CAM_STATE_DISTORTION; } } @@ -7603,7 +7605,7 @@ Vec3s Camera_Update(Camera* camera) { sUpdateCameraDirection = false; if (camera->player != NULL) { - Actor_GetWorldPosShapeRot(&curPlayerPosRot, &camera->player->actor); + curPlayerPosRot = Actor_GetWorldPosShapeRot(&camera->player->actor); camera->xzSpeed = playerXZSpeed = OLib_Vec3fDistXZ(&curPlayerPosRot.pos, &camera->playerPosRot.pos); camera->speedRatio = @@ -7640,14 +7642,14 @@ Vec3s Camera_Update(Camera* camera) { Camera_UpdateHotRoom(camera); } - if (!(camera->stateFlags & CAM_STATE_2)) { + if (!(camera->stateFlags & CAM_STATE_CHECK_BG)) { camera->nextBgCamIndex = -1; } - if ((camera->stateFlags & CAM_STATE_0) && (camera->stateFlags & CAM_STATE_2) && - !(camera->stateFlags & CAM_STATE_10) && - (!(camera->stateFlags & CAM_STATE_9) || (player->currentBoots == PLAYER_BOOTS_IRON)) && - !(camera->stateFlags & CAM_STATE_15) && (playerGroundY != BGCHECK_Y_MIN)) { + if ((camera->stateFlags & CAM_STATE_CHECK_BG_ALT) && (camera->stateFlags & CAM_STATE_CHECK_BG) && + !(camera->stateFlags & CAM_STATE_BLOCK_BG) && + (!(camera->stateFlags & CAM_STATE_PLAYER_IN_WATER) || (player->currentBoots == PLAYER_BOOTS_IRON)) && + !(camera->stateFlags & CAM_STATE_PLAYER_DIVING) && (playerGroundY != BGCHECK_Y_MIN)) { bgCamIndex = Camera_GetBgCamIndex(camera, &bgId, playerFloorPoly); if (bgCamIndex != -1) { camera->nextBgId = bgId; @@ -7657,10 +7659,10 @@ Vec3s Camera_Update(Camera* camera) { } } - if (camera->nextBgCamIndex != -1 && (fabsf(curPlayerPosRot.pos.y - playerGroundY) < 2.0f) && - (!(camera->stateFlags & CAM_STATE_9) || (player->currentBoots == PLAYER_BOOTS_IRON))) { + if ((camera->nextBgCamIndex != -1) && (fabsf(curPlayerPosRot.pos.y - playerGroundY) < 2.0f) && + (!(camera->stateFlags & CAM_STATE_PLAYER_IN_WATER) || (player->currentBoots == PLAYER_BOOTS_IRON))) { camera->bgId = camera->nextBgId; - Camera_ChangeBgCamIndex(camera, camera->nextBgCamIndex); + Camera_RequestBgCam(camera, camera->nextBgCamIndex); camera->nextBgCamIndex = -1; } } @@ -7676,8 +7678,8 @@ Vec3s Camera_Update(Camera* camera) { } camera->behaviorFlags = 0; - camera->stateFlags &= ~(CAM_STATE_10 | CAM_STATE_5); - camera->stateFlags |= CAM_STATE_4; + camera->stateFlags &= ~(CAM_STATE_BLOCK_BG | CAM_STATE_LOCK_MODE); + camera->stateFlags |= CAM_STATE_CAM_FUNC_FINISH; if (R_DEBUG_CAM_UPDATE) { osSyncPrintf("camera: engine (%d %d %d) %04x \n", camera->setting, camera->mode, @@ -7687,7 +7689,7 @@ Vec3s Camera_Update(Camera* camera) { if (sOOBTimer < 200) { sCameraFunctions[sCameraSettings[camera->setting].cameraModes[camera->mode].funcIdx](camera); } else if (camera->player != NULL) { - OLib_Vec3fDiffToVecGeo(&eyeAtAngle, &camera->at, &camera->eye); + eyeAtAngle = OLib_Vec3fDiffToVecGeo(&camera->at, &camera->eye); Camera_CalcAtDefault(camera, &eyeAtAngle, 0.0f, false); } @@ -7761,15 +7763,15 @@ Vec3s Camera_Update(Camera* camera) { viewEye.y = camera->eye.y + camShake.eyeOffset.y; viewEye.z = camera->eye.z + camShake.eyeOffset.z; - OLib_Vec3fDiffToVecGeo(&eyeAtAngle, &viewEye, &viewAt); - Camera_CalcUpFromPitchYawRoll(&viewUp, eyeAtAngle.pitch + camShake.upPitchOffset, - eyeAtAngle.yaw + camShake.upYawOffset, camera->roll); + eyeAtAngle = OLib_Vec3fDiffToVecGeo(&viewEye, &viewAt); + viewUp = Camera_CalcUpFromPitchYawRoll(eyeAtAngle.pitch + camShake.upPitchOffset, + eyeAtAngle.yaw + camShake.upYawOffset, camera->roll); viewFov = camera->fov + CAM_BINANG_TO_DEG(camShake.fovOffset); } else { viewAt = camera->at; viewEye = camera->eye; - OLib_Vec3fDiffToVecGeo(&eyeAtAngle, &viewEye, &viewAt); - Camera_CalcUpFromPitchYawRoll(&viewUp, eyeAtAngle.pitch, eyeAtAngle.yaw, camera->roll); + eyeAtAngle = OLib_Vec3fDiffToVecGeo(&viewEye, &viewAt); + viewUp = Camera_CalcUpFromPitchYawRoll(eyeAtAngle.pitch, eyeAtAngle.yaw, camera->roll); viewFov = camera->fov; } @@ -7846,7 +7848,7 @@ void Camera_Finish(Camera* camera) { osSyncPrintf("camera: player demo end!!\n"); } - mainCam->stateFlags |= CAM_STATE_3; + mainCam->stateFlags |= CAM_STATE_EXTERNAL_FINISHED; } if (CHILD_CAM(camera)->parentCamId == camera->camId) { @@ -7869,140 +7871,181 @@ void Camera_Finish(Camera* camera) { } } -s32 func_8005A02C(Camera* camera) { - camera->stateFlags |= (CAM_STATE_2 | CAM_STATE_3); - camera->stateFlags &= ~(CAM_STATE_3 | CAM_STATE_12); +s32 Camera_SetNewModeStateFlags(Camera* camera) { + camera->stateFlags |= (CAM_STATE_CHECK_BG | CAM_STATE_EXTERNAL_FINISHED); + camera->stateFlags &= ~(CAM_STATE_EXTERNAL_FINISHED | CAM_STATE_DEMO7); return true; } -s32 Camera_ChangeModeFlags(Camera* camera, s16 mode, u8 flags) { - static s32 modeChangeFlags = 0; +#define CAM_REQUEST_MODE_FORCE_NO_SFX (1 << 0) +#define CAM_REQUEST_MODE_SFX_ATTENTION (1 << 1) +#define CAM_REQUEST_MODE_Z_TARGET_UNFRIENDLY (1 << 2) +#define CAM_REQUEST_MODE_Z_TARGET_FRIENDLY (1 << 3) +#define CAM_REQUEST_MODE_SKIP_ANIM_NORMAL_PARALLEL (1 << 4) // never set to +#define CAM_REQUEST_MODE_SKIP_ANIM_FIRST_PERSON (1 << 5) + +s32 Camera_RequestModeImpl(Camera* camera, s16 requestedMode, u8 forceModeChange) { + static s32 sModeRequestFlags = 0; if (QREG(89)) { - osSyncPrintf("+=+(%d)+=+ recive request -> %s\n", camera->play->state.frames, sCameraModeNames[mode]); + osSyncPrintf("+=+(%d)+=+ recive request -> %s\n", camera->play->state.frames, sCameraModeNames[requestedMode]); } - if ((camera->stateFlags & CAM_STATE_5) && (flags == 0)) { - camera->behaviorFlags |= CAM_BEHAVIOR_MODE_2; + if ((camera->stateFlags & CAM_STATE_LOCK_MODE) && !forceModeChange) { + camera->behaviorFlags |= CAM_BEHAVIOR_MODE_VALID; return -1; } - if (!((sCameraSettings[camera->setting].unk_00 & 0x3FFFFFFF) & (1 << mode))) { - if (mode == CAM_MODE_FIRST_PERSON) { + if (!((sCameraSettings[camera->setting].unk_00 & 0x3FFFFFFF) & (1 << requestedMode))) { + if (requestedMode == CAM_MODE_FIRST_PERSON) { osSyncPrintf("camera: error sound\n"); Sfx_PlaySfxCentered(NA_SE_SY_ERROR); } if (camera->mode != CAM_MODE_NORMAL) { osSyncPrintf(VT_COL(YELLOW, BLACK) "camera: change camera mode: force NORMAL: %s %s refused\n" VT_RST, - sCameraSettingNames[camera->setting], sCameraModeNames[mode]); + sCameraSettingNames[camera->setting], sCameraModeNames[requestedMode]); camera->mode = CAM_MODE_NORMAL; Camera_CopyDataToRegs(camera, camera->mode); - func_8005A02C(camera); - return 0xC0000000 | mode; - } else { - camera->behaviorFlags |= CAM_BEHAVIOR_MODE_2; - camera->behaviorFlags |= CAM_BEHAVIOR_MODE_1; - return 0; - } - } else { - if (mode == camera->mode && flags == 0) { - camera->behaviorFlags |= CAM_BEHAVIOR_MODE_2; - camera->behaviorFlags |= CAM_BEHAVIOR_MODE_1; - return -1; - } - camera->behaviorFlags |= CAM_BEHAVIOR_MODE_2; - camera->behaviorFlags |= CAM_BEHAVIOR_MODE_1; - Camera_CopyDataToRegs(camera, mode); - modeChangeFlags = 0; - switch (mode) { - case CAM_MODE_FIRST_PERSON: - modeChangeFlags = 0x20; - break; - case CAM_MODE_Z_TARGET_UNFRIENDLY: - modeChangeFlags = 4; - break; - case CAM_MODE_Z_TARGET_FRIENDLY: - if (camera->target != NULL && camera->target->id != ACTOR_EN_BOOM) { - modeChangeFlags = 8; - } - break; - case CAM_MODE_Z_PARALLEL: - case CAM_MODE_TALK: - case CAM_MODE_Z_AIM: - case CAM_MODE_Z_LEDGE_HANG: - case CAM_MODE_PUSH_PULL: - modeChangeFlags = 2; - break; + Camera_SetNewModeStateFlags(camera); + return 0xC0000000 | requestedMode; } - switch (camera->mode) { - case CAM_MODE_FIRST_PERSON: - if (modeChangeFlags & 0x20) { - camera->animState = 10; - } - break; - case CAM_MODE_Z_PARALLEL: - if (modeChangeFlags & 0x10) { - camera->animState = 10; - } - modeChangeFlags |= 1; - break; - case CAM_MODE_CHARGE: - modeChangeFlags |= 1; - break; - case CAM_MODE_Z_TARGET_FRIENDLY: - if (modeChangeFlags & 8) { - camera->animState = 10; - } - modeChangeFlags |= 1; - break; - case CAM_MODE_Z_TARGET_UNFRIENDLY: - if (modeChangeFlags & 4) { - camera->animState = 10; - } - modeChangeFlags |= 1; - break; - case CAM_MODE_Z_AIM: - case CAM_MODE_Z_LEDGE_HANG: - case CAM_MODE_PUSH_PULL: - modeChangeFlags |= 1; - break; - case CAM_MODE_NORMAL: - if (modeChangeFlags & 0x10) { - camera->animState = 10; - } - break; - } - modeChangeFlags &= ~0x10; - if (camera->status == CAM_STAT_ACTIVE) { - switch (modeChangeFlags) { - case 1: - Sfx_PlaySfxCentered(0); - break; - case 2: - if (camera->play->roomCtx.curRoom.behaviorType1 == ROOM_BEHAVIOR_TYPE1_1) { - Sfx_PlaySfxCentered(NA_SE_SY_ATTENTION_URGENCY); - } else { - Sfx_PlaySfxCentered(NA_SE_SY_ATTENTION_ON); - } - break; - case 4: - Sfx_PlaySfxCentered(NA_SE_SY_ATTENTION_URGENCY); - break; - case 8: - Sfx_PlaySfxCentered(NA_SE_SY_ATTENTION_ON); - break; - } - } - func_8005A02C(camera); - camera->mode = mode; - return 0x80000000 | mode; + camera->behaviorFlags |= CAM_BEHAVIOR_MODE_VALID; + camera->behaviorFlags |= CAM_BEHAVIOR_MODE_SUCCESS; + return CAM_MODE_NORMAL; } + + if ((requestedMode == camera->mode) && !forceModeChange) { + camera->behaviorFlags |= CAM_BEHAVIOR_MODE_VALID; + camera->behaviorFlags |= CAM_BEHAVIOR_MODE_SUCCESS; + return -1; + } + + camera->behaviorFlags |= CAM_BEHAVIOR_MODE_VALID; + camera->behaviorFlags |= CAM_BEHAVIOR_MODE_SUCCESS; + + Camera_CopyDataToRegs(camera, requestedMode); + + sModeRequestFlags = 0; + + // requested camMode + switch (requestedMode) { + case CAM_MODE_FIRST_PERSON: + sModeRequestFlags = CAM_REQUEST_MODE_SKIP_ANIM_FIRST_PERSON; + break; + + case CAM_MODE_Z_TARGET_UNFRIENDLY: + sModeRequestFlags = CAM_REQUEST_MODE_Z_TARGET_UNFRIENDLY; + break; + + case CAM_MODE_Z_TARGET_FRIENDLY: + if ((camera->target != NULL) && (camera->target->id != ACTOR_EN_BOOM)) { + sModeRequestFlags = CAM_REQUEST_MODE_Z_TARGET_FRIENDLY; + } + break; + + case CAM_MODE_Z_PARALLEL: + case CAM_MODE_TALK: + case CAM_MODE_Z_AIM: + case CAM_MODE_Z_LEDGE_HANG: + case CAM_MODE_PUSH_PULL: + sModeRequestFlags = CAM_REQUEST_MODE_SFX_ATTENTION; + break; + + default: + break; + } + + // If the requested mode is already the same as the current mode, + // then many modes will reset their animState to 10. + switch (camera->mode) { + case CAM_MODE_FIRST_PERSON: + if (sModeRequestFlags & CAM_REQUEST_MODE_SKIP_ANIM_FIRST_PERSON) { + camera->animState = 10; + } + break; + + case CAM_MODE_Z_PARALLEL: + if (sModeRequestFlags & CAM_REQUEST_MODE_SKIP_ANIM_NORMAL_PARALLEL) { + camera->animState = 10; + } + sModeRequestFlags |= CAM_REQUEST_MODE_FORCE_NO_SFX; + break; + + case CAM_MODE_CHARGE: + sModeRequestFlags |= CAM_REQUEST_MODE_FORCE_NO_SFX; + break; + + case CAM_MODE_Z_TARGET_FRIENDLY: + if (sModeRequestFlags & CAM_REQUEST_MODE_Z_TARGET_FRIENDLY) { + camera->animState = 10; + } + sModeRequestFlags |= CAM_REQUEST_MODE_FORCE_NO_SFX; + break; + + case CAM_MODE_Z_TARGET_UNFRIENDLY: + if (sModeRequestFlags & CAM_REQUEST_MODE_Z_TARGET_UNFRIENDLY) { + camera->animState = 10; + } + sModeRequestFlags |= CAM_REQUEST_MODE_FORCE_NO_SFX; + break; + + case CAM_MODE_Z_AIM: + case CAM_MODE_Z_LEDGE_HANG: + case CAM_MODE_PUSH_PULL: + sModeRequestFlags |= CAM_REQUEST_MODE_FORCE_NO_SFX; + break; + + case CAM_MODE_NORMAL: + if (sModeRequestFlags & CAM_REQUEST_MODE_SKIP_ANIM_NORMAL_PARALLEL) { + camera->animState = 10; + } + break; + + default: + break; + } + + sModeRequestFlags &= ~CAM_REQUEST_MODE_SKIP_ANIM_NORMAL_PARALLEL; + + // Choose a sound effect to play. + // Having `CAM_REQUEST_MODE_FORCE_NO_SFX` set often means `default` is taken from two bits being set + if (camera->status == CAM_STAT_ACTIVE) { + switch (sModeRequestFlags) { + case CAM_REQUEST_MODE_FORCE_NO_SFX: + Sfx_PlaySfxCentered(NA_SE_NONE); + break; + + case CAM_REQUEST_MODE_SFX_ATTENTION: + if (camera->play->roomCtx.curRoom.behaviorType1 == ROOM_BEHAVIOR_TYPE1_1) { + Sfx_PlaySfxCentered(NA_SE_SY_ATTENTION_URGENCY); + } else { + Sfx_PlaySfxCentered(NA_SE_SY_ATTENTION_ON); + } + break; + + case CAM_REQUEST_MODE_Z_TARGET_UNFRIENDLY: + Sfx_PlaySfxCentered(NA_SE_SY_ATTENTION_URGENCY); + break; + + case CAM_REQUEST_MODE_Z_TARGET_FRIENDLY: + Sfx_PlaySfxCentered(NA_SE_SY_ATTENTION_ON); + break; + + default: + break; + } + } + + Camera_SetNewModeStateFlags(camera); + camera->mode = requestedMode; + + return requestedMode | 0x80000000; } -s32 Camera_ChangeMode(Camera* camera, s16 mode) { - return Camera_ChangeModeFlags(camera, mode, 0); +s32 Camera_RequestMode(Camera* camera, s16 mode) { + return Camera_RequestModeImpl(camera, mode, false); } s32 Camera_CheckValidMode(Camera* camera, s16 mode) { @@ -8019,144 +8062,144 @@ s32 Camera_CheckValidMode(Camera* camera, s16 mode) { } } -s16 Camera_ChangeSettingFlags(Camera* camera, s16 setting, s16 flags) { - if (camera->behaviorFlags & CAM_BEHAVIOR_SETTING_1) { - if ((u32)((u32)(sCameraSettings[camera->setting].unk_00 & 0xF000000) >> 0x18) >= - (u32)((u32)(sCameraSettings[setting].unk_00 & 0xF000000) >> 0x18)) { - camera->behaviorFlags |= CAM_BEHAVIOR_SETTING_2; +s16 Camera_RequestSettingImpl(Camera* camera, s16 requestedSetting, s16 flags) { + if (camera->behaviorFlags & CAM_BEHAVIOR_SETTING_CHECK_PRIORITY) { + // If a second setting is requested this frame, determine if the setting overwrites the + // current setting through priority + if (((sCameraSettings[camera->setting].unk_00 & 0xF000000) >> 0x18) >= + ((sCameraSettings[requestedSetting].unk_00 & 0xF000000) >> 0x18)) { + camera->behaviorFlags |= CAM_BEHAVIOR_SETTING_VALID; return -2; } } - if (((setting == CAM_SET_MEADOW_BIRDS_EYE) || (setting == CAM_SET_MEADOW_UNUSED)) && LINK_IS_ADULT && - (camera->play->sceneId == SCENE_SACRED_FOREST_MEADOW)) { - camera->behaviorFlags |= CAM_BEHAVIOR_SETTING_2; + + if (((requestedSetting == CAM_SET_MEADOW_BIRDS_EYE) || (requestedSetting == CAM_SET_MEADOW_UNUSED)) && + LINK_IS_ADULT && (camera->play->sceneId == SCENE_SACRED_FOREST_MEADOW)) { + camera->behaviorFlags |= CAM_BEHAVIOR_SETTING_VALID; return -5; } - if (setting == CAM_SET_NONE || setting >= CAM_SET_MAX) { - osSyncPrintf(VT_COL(RED, WHITE) "camera: error: illegal camera set (%d) !!!!\n" VT_RST, setting); + if ((requestedSetting == CAM_SET_NONE) || (requestedSetting >= CAM_SET_MAX)) { + osSyncPrintf(VT_COL(RED, WHITE) "camera: error: illegal camera set (%d) !!!!\n" VT_RST, requestedSetting); return -99; } - if ((setting == camera->setting) && !(flags & 1)) { - camera->behaviorFlags |= CAM_BEHAVIOR_SETTING_2; - if (!(flags & 2)) { - camera->behaviorFlags |= CAM_BEHAVIOR_SETTING_1; + if ((requestedSetting == camera->setting) && !(flags & CAM_REQUEST_SETTING_FORCE_CHANGE)) { + camera->behaviorFlags |= CAM_BEHAVIOR_SETTING_VALID; + if (!(flags & CAM_REQUEST_SETTING_IGNORE_PRIORITY)) { + camera->behaviorFlags |= CAM_BEHAVIOR_SETTING_CHECK_PRIORITY; } return -1; } - camera->behaviorFlags |= CAM_BEHAVIOR_SETTING_2; - if (!(flags & 2)) { - camera->behaviorFlags |= CAM_BEHAVIOR_SETTING_1; + camera->behaviorFlags |= CAM_BEHAVIOR_SETTING_VALID; + + if (!(flags & CAM_REQUEST_SETTING_IGNORE_PRIORITY)) { + camera->behaviorFlags |= CAM_BEHAVIOR_SETTING_CHECK_PRIORITY; } - camera->stateFlags |= (CAM_STATE_2 | CAM_STATE_3); - camera->stateFlags &= ~(CAM_STATE_3 | CAM_STATE_12); + camera->stateFlags |= (CAM_STATE_CHECK_BG | CAM_STATE_EXTERNAL_FINISHED); + camera->stateFlags &= ~(CAM_STATE_EXTERNAL_FINISHED | CAM_STATE_DEMO7); if (!(sCameraSettings[camera->setting].unk_00 & 0x40000000)) { camera->prevSetting = camera->setting; } - if (flags & 8) { + if (flags & CAM_REQUEST_SETTING_RESTORE_PREV_BG_CAM_INDEX) { if (1) {} camera->bgCamIndex = camera->prevBgCamIndex; camera->prevBgCamIndex = -1; - } else if (!(flags & 4)) { + } else if (!(flags & CAM_REQUEST_SETTING_PRESERVE_BG_CAM_INDEX)) { if (!(sCameraSettings[camera->setting].unk_00 & 0x40000000)) { camera->prevBgCamIndex = camera->bgCamIndex; } camera->bgCamIndex = -1; } - camera->setting = setting; + camera->setting = requestedSetting; - if (Camera_ChangeModeFlags(camera, camera->mode, 1) >= 0) { + if (Camera_RequestModeImpl(camera, camera->mode, true) >= 0) { Camera_CopyDataToRegs(camera, camera->mode); } osSyncPrintf(VT_SGR("1") "%06u:" VT_RST " camera: change camera[%d] set %s\n", camera->play->state.frames, camera->camId, sCameraSettingNames[camera->setting]); - return setting; + return requestedSetting; } -s32 Camera_ChangeSetting(Camera* camera, s16 setting) { - return Camera_ChangeSettingFlags(camera, setting, 0); +s32 Camera_RequestSetting(Camera* camera, s16 setting) { + return Camera_RequestSettingImpl(camera, setting, 0); } -s32 Camera_ChangeBgCamIndex(Camera* camera, s32 bgCamIndex) { - s16 newCameraSetting; +s32 Camera_RequestBgCam(Camera* camera, s32 requestedBgCamIndex) { + s16 requestedCamSetting; s16 settingChangeSuccessful; - if (bgCamIndex == -1 || bgCamIndex == camera->bgCamIndex) { - camera->behaviorFlags |= CAM_BEHAVIOR_BG_2; + if ((requestedBgCamIndex == -1) || (requestedBgCamIndex == camera->bgCamIndex)) { + camera->behaviorFlags |= CAM_BEHAVIOR_BG_PROCESSED; return -1; } - if (!(camera->behaviorFlags & CAM_BEHAVIOR_BG_2)) { - newCameraSetting = Camera_GetBgCamSetting(camera, bgCamIndex); - camera->behaviorFlags |= CAM_BEHAVIOR_BG_2; - settingChangeSuccessful = Camera_ChangeSettingFlags(camera, newCameraSetting, 5) >= 0; - if (settingChangeSuccessful || sCameraSettings[camera->setting].unk_00 & 0x80000000) { - camera->bgCamIndex = bgCamIndex; - camera->behaviorFlags |= CAM_BEHAVIOR_BG_1; + if (!(camera->behaviorFlags & CAM_BEHAVIOR_BG_PROCESSED)) { + requestedCamSetting = Camera_GetBgCamSetting(camera, requestedBgCamIndex); + camera->behaviorFlags |= CAM_BEHAVIOR_BG_PROCESSED; + settingChangeSuccessful = Camera_RequestSettingImpl(camera, requestedCamSetting, + CAM_REQUEST_SETTING_PRESERVE_BG_CAM_INDEX | + CAM_REQUEST_SETTING_FORCE_CHANGE) >= 0; + if ((settingChangeSuccessful != CAM_SET_NONE) || (sCameraSettings[camera->setting].unk_00 & 0x80000000)) { + camera->bgCamIndex = requestedBgCamIndex; + camera->behaviorFlags |= CAM_BEHAVIOR_BG_SUCCESS; Camera_CopyDataToRegs(camera, camera->mode); } else if (settingChangeSuccessful < -1) { - //! @bug: This is likely checking the wrong value. The actual return of Camera_ChangeSettingFlags or - // bgCamIndex would make more sense. - osSyncPrintf(VT_COL(RED, WHITE) "camera: error: illegal camera ID (%d) !! (%d|%d|%d)\n" VT_RST, bgCamIndex, - camera->camId, BGCHECK_SCENE, newCameraSetting); + //! @bug: `settingChangeSuccessful` is a bool and is likely checking the wrong value. This can never pass. + // The actual return of Camera_RequestSettingImpl or bgCamIndex would make more sense. + osSyncPrintf(VT_COL(RED, WHITE) "camera: error: illegal camera ID (%d) !! (%d|%d|%d)\n" VT_RST, + requestedBgCamIndex, camera->camId, BGCHECK_SCENE, requestedCamSetting); } - return 0x80000000 | bgCamIndex; + return 0x80000000 | requestedBgCamIndex; } + + //! @note: no return here, but return is unused } -Vec3s* Camera_GetInputDir(Vec3s* dst, Camera* camera) { +Vec3s Camera_GetInputDir(Camera* camera) { if (gDebugCamEnabled) { - *dst = D_8015BD80.sub.unk_104A; - return dst; + return D_8015BD80.sub.unk_104A; } else { - *dst = camera->inputDir; - return dst; + return camera->inputDir; } } s16 Camera_GetInputDirPitch(Camera* camera) { - Vec3s dir; + Vec3s dir = Camera_GetInputDir(camera); - Camera_GetInputDir(&dir, camera); return dir.x; } s16 Camera_GetInputDirYaw(Camera* camera) { - Vec3s dir; + Vec3s dir = Camera_GetInputDir(camera); - Camera_GetInputDir(&dir, camera); return dir.y; } -Vec3s* Camera_GetCamDir(Vec3s* dst, Camera* camera) { +Vec3s Camera_GetCamDir(Camera* camera) { if (gDebugCamEnabled) { - *dst = D_8015BD80.sub.unk_104A; - return dst; + return D_8015BD80.sub.unk_104A; } else { - *dst = camera->camDir; - return dst; + return camera->camDir; } } s16 Camera_GetCamDirPitch(Camera* camera) { - Vec3s camDir; + Vec3s camDir = Camera_GetCamDir(camera); - Camera_GetCamDir(&camDir, camera); return camDir.x; } s16 Camera_GetCamDirYaw(Camera* camera) { - Vec3s camDir; + Vec3s camDir = Camera_GetCamDir(camera); - Camera_GetCamDir(&camDir, camera); return camDir.y; } @@ -8246,7 +8289,7 @@ s32 Camera_SetCSParams(Camera* camera, CutsceneCameraPoint* atPoints, CutsceneCa if (camera->data2 != 0) { camera->player = player; - Actor_GetWorldPosShapeRot(&playerPosRot, &player->actor); + playerPosRot = Actor_GetWorldPosShapeRot(&player->actor); camera->playerPosRot = playerPosRot; camera->nextBgCamIndex = -1; @@ -8292,16 +8335,16 @@ s32 Camera_ChangeDoorCam(Camera* camera, Actor* doorActor, s16 bgCamIndex, f32 a } if (bgCamIndex == -1) { - Camera_ChangeSetting(camera, CAM_SET_DOORC); + Camera_RequestSetting(camera, CAM_SET_DOORC); osSyncPrintf(".... change default door camera (set %d)\n", CAM_SET_DOORC); } else { s32 setting = Camera_GetBgCamSetting(camera, bgCamIndex); - camera->behaviorFlags |= CAM_BEHAVIOR_BG_2; + camera->behaviorFlags |= CAM_BEHAVIOR_BG_PROCESSED; - if (Camera_ChangeSetting(camera, setting) >= 0) { + if (Camera_RequestSetting(camera, setting) >= 0) { camera->bgCamIndex = bgCamIndex; - camera->behaviorFlags |= CAM_BEHAVIOR_BG_1; + camera->behaviorFlags |= CAM_BEHAVIOR_BG_SUCCESS; } osSyncPrintf("....change door camera ID %d (set %d)\n", camera->bgCamIndex, camera->setting); @@ -8328,7 +8371,7 @@ s32 Camera_Copy(Camera* dstCamera, Camera* srcCamera) { func_80043B60(dstCamera); if (dstCamera->player != NULL) { - Actor_GetWorld(&dstCamera->playerPosRot, &dstCamera->player->actor); + dstCamera->playerPosRot = Actor_GetWorld(&dstCamera->player->actor); dstCamera->playerToAtOffset.x = dstCamera->at.x - dstCamera->playerPosRot.pos.x; dstCamera->playerToAtOffset.y = dstCamera->at.y - dstCamera->playerPosRot.pos.y; dstCamera->playerToAtOffset.z = dstCamera->at.z - dstCamera->playerPosRot.pos.z; @@ -8343,9 +8386,8 @@ s32 Camera_IsDebugCamEnabled(void) { return gDebugCamEnabled; } -Vec3f* Camera_GetQuakeOffset(Vec3f* quakeOffset, Camera* camera) { - *quakeOffset = camera->quakeOffset; - return quakeOffset; +Vec3f Camera_GetQuakeOffset(Camera* camera) { + return camera->quakeOffset; } void Camera_SetCameraData(Camera* camera, s16 setDataFlags, void* data0, void* data1, s16 data2, s16 data3, @@ -8410,11 +8452,16 @@ s32 func_8005B198(void) { return D_8011D3AC; } -s16 func_8005B1A4(Camera* camera) { - camera->stateFlags |= CAM_STATE_3; +/** + * Signal to the camera update function through stateFlags that something external has + * finished and is ready for the next camera setting/function + * Different camera update functions will respond differently to this flag being set. + */ +s16 Camera_SetFinishedFlag(Camera* camera) { + camera->stateFlags |= CAM_STATE_EXTERNAL_FINISHED; if ((camera->camId == CAM_ID_MAIN) && (camera->play->activeCamId != CAM_ID_MAIN)) { - GET_ACTIVE_CAM(camera->play)->stateFlags |= CAM_STATE_3; + GET_ACTIVE_CAM(camera->play)->stateFlags |= CAM_STATE_EXTERNAL_FINISHED; return camera->play->activeCamId; } diff --git a/src/code/z_cheap_proc.inc.c b/src/code/z_cheap_proc.inc.c index 70140f0135..db646129f4 100644 --- a/src/code/z_cheap_proc.inc.c +++ b/src/code/z_cheap_proc.inc.c @@ -4,8 +4,7 @@ void Gfx_DrawDListOpa(PlayState* play, Gfx* dlist) { OPEN_DISPS(play->state.gfxCtx, "../z_cheap_proc.c", 214); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_cheap_proc.c", 216), - G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_cheap_proc.c", 216), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, dlist); CLOSE_DISPS(play->state.gfxCtx, "../z_cheap_proc.c", 219); @@ -15,8 +14,7 @@ void Gfx_DrawDListXlu(PlayState* play, Gfx* dlist) { OPEN_DISPS(play->state.gfxCtx, "../z_cheap_proc.c", 228); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_cheap_proc.c", 230), - G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_cheap_proc.c", 230), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, dlist); CLOSE_DISPS(play->state.gfxCtx, "../z_cheap_proc.c", 233); diff --git a/src/code/z_collision_check.c b/src/code/z_collision_check.c index bdf0078893..bf0bafeadf 100644 --- a/src/code/z_collision_check.c +++ b/src/code/z_collision_check.c @@ -3,40 +3,10 @@ #include "overlays/effects/ovl_Effect_Ss_HitMark/z_eff_ss_hitmark.h" typedef s32 (*ColChkResetFunc)(PlayState*, Collider*); -typedef void (*ColChkBloodFunc)(PlayState*, Collider*, Vec3f*); typedef void (*ColChkApplyFunc)(PlayState*, CollisionCheckContext*, Collider*); typedef void (*ColChkVsFunc)(PlayState*, CollisionCheckContext*, Collider*, Collider*); typedef s32 (*ColChkLineFunc)(PlayState*, CollisionCheckContext*, Collider*, Vec3f*, Vec3f*); -typedef struct { - /* 0 */ u8 blood; - /* 1 */ u8 effect; -} HitInfo; // size = 0x2 - -typedef enum { - /* 0 */ BLOOD_NONE, - /* 1 */ BLOOD_BLUE, - /* 2 */ BLOOD_GREEN, - /* 3 */ BLOOD_WATER, - /* 4 */ BLOOD_RED, - /* 5 */ BLOOD_RED2 -} ColChkBloodType; - -typedef enum { - /* 0 */ HIT_WHITE, - /* 1 */ HIT_DUST, - /* 2 */ HIT_RED, - /* 3 */ HIT_SOLID, - /* 4 */ HIT_WOOD, - /* 5 */ HIT_NONE -} ColChkHitType; - -typedef enum { - /* 0 */ MASSTYPE_IMMOVABLE, - /* 1 */ MASSTYPE_HEAVY, - /* 2 */ MASSTYPE_NORMAL -} ColChkMassType; - /** * Draws a red triangle with vertices vA, vB, and vC. */ @@ -69,7 +39,7 @@ void Collider_DrawPoly(GraphicsContext* gfxCtx, Vec3f* vA, Vec3f* vB, Vec3f* vC, gSPSetGeometryMode(POLY_OPA_DISP++, G_LIGHTING); gDPPipeSync(POLY_OPA_DISP++); - vtxTbl = Graph_Alloc(gfxCtx, 3 * sizeof(Vtx)); + vtxTbl = GRAPH_ALLOC(gfxCtx, 3 * sizeof(Vtx)); ASSERT(vtxTbl != NULL, "vtx_tbl != NULL", "../z_collision_check.c", 726); vtxTbl[0].n.ob[0] = vA->x; @@ -100,114 +70,114 @@ void Collider_DrawPoly(GraphicsContext* gfxCtx, Vec3f* vA, Vec3f* vB, Vec3f* vC, CLOSE_DISPS(gfxCtx, "../z_collision_check.c", 757); } -s32 Collider_InitBase(PlayState* play, Collider* collider) { +s32 Collider_InitBase(PlayState* play, Collider* col) { static Collider init = { NULL, NULL, NULL, NULL, AT_NONE, AC_NONE, OC1_NONE, OC2_NONE, COLTYPE_HIT3, COLSHAPE_MAX, }; - *collider = init; + *col = init; return true; } -s32 Collider_DestroyBase(PlayState* play, Collider* collider) { +s32 Collider_DestroyBase(PlayState* play, Collider* col) { return true; } /** * Uses default OC2_TYPE_1 and COLTYPE_HIT0 */ -s32 Collider_SetBaseToActor(PlayState* play, Collider* collider, ColliderInitToActor* src) { - collider->actor = src->actor; - collider->atFlags = src->atFlags; - collider->acFlags = src->acFlags; - collider->ocFlags1 = src->ocFlags1; - collider->ocFlags2 = OC2_TYPE_1; - collider->shape = src->shape; +s32 Collider_SetBaseToActor(PlayState* play, Collider* col, ColliderInitToActor* src) { + col->actor = src->actor; + col->atFlags = src->atFlags; + col->acFlags = src->acFlags; + col->ocFlags1 = src->ocFlags1; + col->ocFlags2 = OC2_TYPE_1; + col->shape = src->shape; return true; } /** * Uses default OC2_TYPE_1 */ -s32 Collider_SetBaseType1(PlayState* play, Collider* collider, Actor* actor, ColliderInitType1* src) { - collider->actor = actor; - collider->colType = src->colType; - collider->atFlags = src->atFlags; - collider->acFlags = src->acFlags; - collider->ocFlags1 = src->ocFlags1; - collider->ocFlags2 = OC2_TYPE_1; - collider->shape = src->shape; +s32 Collider_SetBaseType1(PlayState* play, Collider* col, Actor* actor, ColliderInitType1* src) { + col->actor = actor; + col->colType = src->colType; + col->atFlags = src->atFlags; + col->acFlags = src->acFlags; + col->ocFlags1 = src->ocFlags1; + col->ocFlags2 = OC2_TYPE_1; + col->shape = src->shape; return true; } -s32 Collider_SetBase(PlayState* play, Collider* collider, Actor* actor, ColliderInit* src) { - collider->actor = actor; - collider->colType = src->colType; - collider->atFlags = src->atFlags; - collider->acFlags = src->acFlags; - collider->ocFlags1 = src->ocFlags1; - collider->ocFlags2 = src->ocFlags2; - collider->shape = src->shape; +s32 Collider_SetBase(PlayState* play, Collider* col, Actor* actor, ColliderInit* src) { + col->actor = actor; + col->colType = src->colType; + col->atFlags = src->atFlags; + col->acFlags = src->acFlags; + col->ocFlags1 = src->ocFlags1; + col->ocFlags2 = src->ocFlags2; + col->shape = src->shape; return true; } -void Collider_ResetATBase(PlayState* play, Collider* collider) { - collider->at = NULL; - collider->atFlags &= ~(AT_HIT | AT_BOUNCED); +void Collider_ResetATBase(PlayState* play, Collider* col) { + col->at = NULL; + col->atFlags &= ~(AT_HIT | AT_BOUNCED); } -void Collider_ResetACBase(PlayState* play, Collider* collider) { - collider->ac = NULL; - collider->acFlags &= ~(AC_HIT | AC_BOUNCED); +void Collider_ResetACBase(PlayState* play, Collider* col) { + col->ac = NULL; + col->acFlags &= ~(AC_HIT | AC_BOUNCED); } -void Collider_ResetOCBase(PlayState* play, Collider* collider) { - collider->oc = NULL; - collider->ocFlags1 &= ~OC1_HIT; - collider->ocFlags2 &= ~OC2_HIT_PLAYER; +void Collider_ResetOCBase(PlayState* play, Collider* col) { + col->oc = NULL; + col->ocFlags1 &= ~OC1_HIT; + col->ocFlags2 &= ~OC2_HIT_PLAYER; } -s32 Collider_InitTouch(PlayState* play, ColliderTouch* touch) { - static ColliderTouch init = { 0x00000000, 0, 0 }; +s32 Collider_InitElementTouch(PlayState* play, ColliderElementTouch* touch) { + static ColliderElementTouch init = { 0x00000000, 0, 0 }; *touch = init; return true; } -s32 Collider_DestroyTouch(PlayState* play, ColliderTouch* touch) { +s32 Collider_DestroyElementTouch(PlayState* play, ColliderElementTouch* touch) { return true; } -s32 Collider_SetTouch(PlayState* play, ColliderTouch* dest, ColliderTouch* src) { +s32 Collider_SetElementTouch(PlayState* play, ColliderElementTouch* dest, ColliderElementTouch* src) { dest->dmgFlags = src->dmgFlags; dest->effect = src->effect; dest->damage = src->damage; return true; } -void Collider_ResetATInfo_Unk(PlayState* play, ColliderInfo* info) { +void Collider_ResetATElement_Unk(PlayState* play, ColliderElement* elem) { } -s32 Collider_InitBump(PlayState* play, ColliderBump* bump) { - static ColliderBump init = { 0xFFCFFFFF, 0, 0, { 0, 0, 0 } }; +s32 Collider_InitElementBump(PlayState* play, ColliderElementBump* bump) { + static ColliderElementBump init = { 0xFFCFFFFF, 0, 0, { 0, 0, 0 } }; *bump = init; return true; } -s32 Collider_DestroyBump(PlayState* play, ColliderBump* bump) { +s32 Collider_DestroyElementBump(PlayState* play, ColliderElementBump* bump) { return true; } -s32 Collider_SetBump(PlayState* play, ColliderBump* bump, ColliderBumpInit* init) { +s32 Collider_SetElementBump(PlayState* play, ColliderElementBump* bump, ColliderElementBumpInit* init) { bump->dmgFlags = init->dmgFlags; bump->effect = init->effect; bump->defense = init->defense; return true; } -s32 Collider_InitInfo(PlayState* play, ColliderInfo* info) { - static ColliderInfo init = { +s32 Collider_InitElement(PlayState* play, ColliderElement* elem) { + static ColliderElement init = { { 0, 0, 0 }, { 0xFFCFFFFF, 0, 0, { 0, 0, 0 } }, ELEMTYPE_UNK0, TOUCH_NONE, BUMP_NONE, OCELEM_NONE, @@ -215,46 +185,46 @@ s32 Collider_InitInfo(PlayState* play, ColliderInfo* info) { NULL, NULL, }; - *info = init; - Collider_InitTouch(play, &info->toucher); - Collider_InitBump(play, &info->bumper); + *elem = init; + Collider_InitElementTouch(play, &elem->toucher); + Collider_InitElementBump(play, &elem->bumper); return true; } -s32 Collider_DestroyInfo(PlayState* play, ColliderInfo* info) { - Collider_DestroyTouch(play, &info->toucher); - Collider_DestroyBump(play, &info->bumper); +s32 Collider_DestroyElement(PlayState* play, ColliderElement* elem) { + Collider_DestroyElementTouch(play, &elem->toucher); + Collider_DestroyElementBump(play, &elem->bumper); return true; } -s32 Collider_SetInfo(PlayState* play, ColliderInfo* info, ColliderInfoInit* infoInit) { - info->elemType = infoInit->elemType; - Collider_SetTouch(play, &info->toucher, &infoInit->toucher); - Collider_SetBump(play, &info->bumper, &infoInit->bumper); - info->toucherFlags = infoInit->toucherFlags; - info->bumperFlags = infoInit->bumperFlags; - info->ocElemFlags = infoInit->ocElemFlags; +s32 Collider_SetElement(PlayState* play, ColliderElement* elem, ColliderElementInit* elemInit) { + elem->elemType = elemInit->elemType; + Collider_SetElementTouch(play, &elem->toucher, &elemInit->toucher); + Collider_SetElementBump(play, &elem->bumper, &elemInit->bumper); + elem->toucherFlags = elemInit->toucherFlags; + elem->bumperFlags = elemInit->bumperFlags; + elem->ocElemFlags = elemInit->ocElemFlags; return true; } -void Collider_ResetATInfo(PlayState* play, ColliderInfo* info) { - info->atHit = NULL; - info->atHitInfo = NULL; - info->toucherFlags &= ~TOUCH_HIT; - info->toucherFlags &= ~TOUCH_DREW_HITMARK; - Collider_ResetATInfo_Unk(play, info); +void Collider_ResetATElement(PlayState* play, ColliderElement* elem) { + elem->atHit = NULL; + elem->atHitElem = NULL; + elem->toucherFlags &= ~TOUCH_HIT; + elem->toucherFlags &= ~TOUCH_DREW_HITMARK; + Collider_ResetATElement_Unk(play, elem); } -void Collider_ResetACInfo(PlayState* play, ColliderInfo* info) { - info->bumper.hitPos.x = info->bumper.hitPos.y = info->bumper.hitPos.z = 0; - info->bumperFlags &= ~BUMP_HIT; - info->bumperFlags &= ~BUMP_DRAW_HITMARK; - info->acHit = NULL; - info->acHitInfo = NULL; +void Collider_ResetACElement(PlayState* play, ColliderElement* elem) { + elem->bumper.hitPos.x = elem->bumper.hitPos.y = elem->bumper.hitPos.z = 0; + elem->bumperFlags &= ~BUMP_HIT; + elem->bumperFlags &= ~BUMP_DRAW_HITMARK; + elem->acHit = NULL; + elem->acHitElem = NULL; } -void Collider_ResetOCInfo(PlayState* play, ColliderInfo* info) { - info->ocElemFlags &= ~OCELEM_HIT; +void Collider_ResetOCElement(PlayState* play, ColliderElement* elem) { + elem->ocElemFlags &= ~OCELEM_HIT; } s32 Collider_InitJntSphElementDim(PlayState* play, ColliderJntSphElementDim* dim) { @@ -268,7 +238,7 @@ s32 Collider_InitJntSphElementDim(PlayState* play, ColliderJntSphElementDim* dim return true; } -s32 Collider_DestroyJntSphElementDim(PlayState* play, ColliderJntSphElementDim* element) { +s32 Collider_DestroyJntSphElementDim(PlayState* play, ColliderJntSphElementDim* dim) { return true; } @@ -279,80 +249,80 @@ s32 Collider_SetJntSphElementDim(PlayState* play, ColliderJntSphElementDim* dest return true; } -s32 Collider_InitJntSphElement(PlayState* play, ColliderJntSphElement* element) { - Collider_InitInfo(play, &element->info); - Collider_InitJntSphElementDim(play, &element->dim); +s32 Collider_InitJntSphElement(PlayState* play, ColliderJntSphElement* jntSphElem) { + Collider_InitElement(play, &jntSphElem->base); + Collider_InitJntSphElementDim(play, &jntSphElem->dim); return true; } -s32 Collider_DestroyJntSphElement(PlayState* play, ColliderJntSphElement* element) { - Collider_DestroyInfo(play, &element->info); - Collider_DestroyJntSphElementDim(play, &element->dim); +s32 Collider_DestroyJntSphElement(PlayState* play, ColliderJntSphElement* jntSphElem) { + Collider_DestroyElement(play, &jntSphElem->base); + Collider_DestroyJntSphElementDim(play, &jntSphElem->dim); return true; } s32 Collider_SetJntSphElement(PlayState* play, ColliderJntSphElement* dest, ColliderJntSphElementInit* src) { - Collider_SetInfo(play, &dest->info, &src->info); + Collider_SetElement(play, &dest->base, &src->base); Collider_SetJntSphElementDim(play, &dest->dim, &src->dim); return true; } -s32 Collider_ResetJntSphElementAT(PlayState* play, ColliderJntSphElement* collider) { - Collider_ResetATInfo(play, &collider->info); +s32 Collider_ResetJntSphElementAT(PlayState* play, ColliderJntSphElement* jntSphElem) { + Collider_ResetATElement(play, &jntSphElem->base); return true; } -s32 Collider_ResetJntSphElementAC(PlayState* play, ColliderJntSphElement* collider) { - Collider_ResetACInfo(play, &collider->info); +s32 Collider_ResetJntSphElementAC(PlayState* play, ColliderJntSphElement* jntSphElem) { + Collider_ResetACElement(play, &jntSphElem->base); return true; } -s32 Collider_ResetJntSphElementOC(PlayState* play, ColliderJntSphElement* collider) { - Collider_ResetOCInfo(play, &collider->info); +s32 Collider_ResetJntSphElementOC(PlayState* play, ColliderJntSphElement* jntSphElem) { + Collider_ResetOCElement(play, &jntSphElem->base); return true; } /** * Initializes a ColliderJntSph to default values */ -s32 Collider_InitJntSph(PlayState* play, ColliderJntSph* collider) { - Collider_InitBase(play, &collider->base); - collider->count = 0; - collider->elements = NULL; +s32 Collider_InitJntSph(PlayState* play, ColliderJntSph* jntSph) { + Collider_InitBase(play, &jntSph->base); + jntSph->count = 0; + jntSph->elements = NULL; return true; } /** * Destroys a dynamically allocated ColliderJntSph */ -s32 Collider_FreeJntSph(PlayState* play, ColliderJntSph* collider) { - ColliderJntSphElement* element; +s32 Collider_FreeJntSph(PlayState* play, ColliderJntSph* jntSph) { + ColliderJntSphElement* jntSphElem; - Collider_DestroyBase(play, &collider->base); - for (element = collider->elements; element < collider->elements + collider->count; element++) { - Collider_DestroyJntSphElement(play, element); + Collider_DestroyBase(play, &jntSph->base); + for (jntSphElem = jntSph->elements; jntSphElem < jntSph->elements + jntSph->count; jntSphElem++) { + Collider_DestroyJntSphElement(play, jntSphElem); } - collider->count = 0; - if (collider->elements != NULL) { - ZeldaArena_FreeDebug(collider->elements, "../z_collision_check.c", 1393); + jntSph->count = 0; + if (jntSph->elements != NULL) { + ZELDA_ARENA_FREE(jntSph->elements, "../z_collision_check.c", 1393); } - collider->elements = NULL; + jntSph->elements = NULL; return true; } /** * Destroys a preallocated ColliderJntSph */ -s32 Collider_DestroyJntSph(PlayState* play, ColliderJntSph* collider) { - ColliderJntSphElement* element; +s32 Collider_DestroyJntSph(PlayState* play, ColliderJntSph* jntSph) { + ColliderJntSphElement* jntSphElem; - Collider_DestroyBase(play, &collider->base); - for (element = collider->elements; element < collider->elements + collider->count; element++) { - Collider_DestroyJntSphElement(play, element); + Collider_DestroyBase(play, &jntSph->base); + for (jntSphElem = jntSph->elements; jntSphElem < jntSph->elements + jntSph->count; jntSphElem++) { + Collider_DestroyJntSphElement(play, jntSphElem); } - collider->count = 0; - collider->elements = NULL; + jntSph->count = 0; + jntSph->elements = NULL; return true; } @@ -366,7 +336,7 @@ s32 Collider_SetJntSphToActor(PlayState* play, ColliderJntSph* dest, ColliderJnt Collider_SetBaseToActor(play, &dest->base, &src->base); dest->count = src->count; - dest->elements = ZeldaArena_MallocDebug(src->count * sizeof(ColliderJntSphElement), "../z_collision_check.c", 1443); + dest->elements = ZELDA_ARENA_MALLOC(src->count * sizeof(ColliderJntSphElement), "../z_collision_check.c", 1443); if (dest->elements == NULL) { dest->count = 0; @@ -394,7 +364,7 @@ s32 Collider_SetJntSphAllocType1(PlayState* play, ColliderJntSph* dest, Actor* a Collider_SetBaseType1(play, &dest->base, actor, &src->base); dest->count = src->count; - dest->elements = ZeldaArena_MallocDebug(src->count * sizeof(ColliderJntSphElement), "../z_collision_check.c", 1490); + dest->elements = ZELDA_ARENA_MALLOC(src->count * sizeof(ColliderJntSphElement), "../z_collision_check.c", 1490); if (dest->elements == NULL) { dest->count = 0; @@ -422,7 +392,7 @@ s32 Collider_SetJntSphAlloc(PlayState* play, ColliderJntSph* dest, Actor* actor, Collider_SetBase(play, &dest->base, actor, &src->base); dest->count = src->count; - dest->elements = ZeldaArena_MallocDebug(src->count * sizeof(ColliderJntSphElement), "../z_collision_check.c", 1551); + dest->elements = ZELDA_ARENA_MALLOC(src->count * sizeof(ColliderJntSphElement), "../z_collision_check.c", 1551); if (dest->elements == NULL) { dest->count = 0; @@ -443,13 +413,13 @@ s32 Collider_SetJntSphAlloc(PlayState* play, ColliderJntSph* dest, Actor* actor, * Sets up the ColliderJntSph using the values in src, placing the element array in elements. */ s32 Collider_SetJntSph(PlayState* play, ColliderJntSph* dest, Actor* actor, ColliderJntSphInit* src, - ColliderJntSphElement* elements) { + ColliderJntSphElement* jntSphElements) { ColliderJntSphElement* destElem; ColliderJntSphElementInit* srcElem; Collider_SetBase(play, &dest->base, actor, &src->base); dest->count = src->count; - dest->elements = elements; + dest->elements = jntSphElements; ASSERT(dest->elements != NULL, "pclobj_jntsph->elem_tbl != NULL", "../z_collision_check.c", 1603); for (destElem = dest->elements, srcElem = src->elements; destElem < dest->elements + dest->count; @@ -463,14 +433,14 @@ s32 Collider_SetJntSph(PlayState* play, ColliderJntSph* dest, Actor* actor, Coll /** * Resets the collider's AT collision flags. */ -s32 Collider_ResetJntSphAT(PlayState* play, Collider* collider) { - ColliderJntSphElement* element; - ColliderJntSph* jntSph = (ColliderJntSph*)collider; +s32 Collider_ResetJntSphAT(PlayState* play, Collider* col) { + ColliderJntSphElement* jntSphElem; + ColliderJntSph* jntSph = (ColliderJntSph*)col; Collider_ResetATBase(play, &jntSph->base); - for (element = jntSph->elements; element < jntSph->elements + jntSph->count; element++) { - Collider_ResetJntSphElementAT(play, element); + for (jntSphElem = jntSph->elements; jntSphElem < jntSph->elements + jntSph->count; jntSphElem++) { + Collider_ResetJntSphElementAT(play, jntSphElem); } return true; } @@ -478,14 +448,14 @@ s32 Collider_ResetJntSphAT(PlayState* play, Collider* collider) { /** * Resets the collider's AC collision flags. */ -s32 Collider_ResetJntSphAC(PlayState* play, Collider* collider) { - ColliderJntSphElement* element; - ColliderJntSph* jntSph = (ColliderJntSph*)collider; +s32 Collider_ResetJntSphAC(PlayState* play, Collider* col) { + ColliderJntSphElement* jntSphElem; + ColliderJntSph* jntSph = (ColliderJntSph*)col; Collider_ResetACBase(play, &jntSph->base); - for (element = jntSph->elements; element < jntSph->elements + jntSph->count; element++) { - Collider_ResetJntSphElementAC(play, element); + for (jntSphElem = jntSph->elements; jntSphElem < jntSph->elements + jntSph->count; jntSphElem++) { + Collider_ResetJntSphElementAC(play, jntSphElem); } return true; } @@ -493,14 +463,14 @@ s32 Collider_ResetJntSphAC(PlayState* play, Collider* collider) { /** * Resets the collider's OC collision flags. */ -s32 Collider_ResetJntSphOC(PlayState* play, Collider* collider) { - ColliderJntSphElement* element; - ColliderJntSph* jntSph = (ColliderJntSph*)collider; +s32 Collider_ResetJntSphOC(PlayState* play, Collider* col) { + ColliderJntSphElement* jntSphElem; + ColliderJntSph* jntSph = (ColliderJntSph*)col; Collider_ResetOCBase(play, &jntSph->base); - for (element = jntSph->elements; element < jntSph->elements + jntSph->count; element++) { - Collider_ResetJntSphElementOC(play, element); + for (jntSphElem = jntSph->elements; jntSphElem < jntSph->elements + jntSph->count; jntSphElem++) { + Collider_ResetJntSphElementOC(play, jntSphElem); } return true; } @@ -524,20 +494,20 @@ s32 Collider_SetCylinderDim(PlayState* play, Cylinder16* dest, Cylinder16* src) /** * Initializes a ColliderCylinder to default values */ -s32 Collider_InitCylinder(PlayState* play, ColliderCylinder* collider) { - Collider_InitBase(play, &collider->base); - Collider_InitInfo(play, &collider->info); - Collider_InitCylinderDim(play, &collider->dim); +s32 Collider_InitCylinder(PlayState* play, ColliderCylinder* cyl) { + Collider_InitBase(play, &cyl->base); + Collider_InitElement(play, &cyl->elem); + Collider_InitCylinderDim(play, &cyl->dim); return true; } /** * Destroys a ColliderCylinder */ -s32 Collider_DestroyCylinder(PlayState* play, ColliderCylinder* collider) { - Collider_DestroyBase(play, &collider->base); - Collider_DestroyInfo(play, &collider->info); - Collider_DestroyCylinderDim(play, &collider->dim); +s32 Collider_DestroyCylinder(PlayState* play, ColliderCylinder* cyl) { + Collider_DestroyBase(play, &cyl->base); + Collider_DestroyElement(play, &cyl->elem); + Collider_DestroyCylinderDim(play, &cyl->dim); return true; } @@ -545,64 +515,63 @@ s32 Collider_DestroyCylinder(PlayState* play, ColliderCylinder* collider) { * Sets up the ColliderCylinder using the values in src and sets it to the actor specified in src. Uses default * OC2_TYPE_1 and COLTYPE_0. Used only by DekuJr, who sets it to himself anyways. */ -s32 Collider_SetCylinderToActor(PlayState* play, ColliderCylinder* collider, ColliderCylinderInitToActor* src) { - Collider_SetBaseToActor(play, &collider->base, &src->base); - Collider_SetInfo(play, &collider->info, &src->info); - Collider_SetCylinderDim(play, &collider->dim, &src->dim); +s32 Collider_SetCylinderToActor(PlayState* play, ColliderCylinder* dest, ColliderCylinderInitToActor* src) { + Collider_SetBaseToActor(play, &dest->base, &src->base); + Collider_SetElement(play, &dest->elem, &src->elem); + Collider_SetCylinderDim(play, &dest->dim, &src->dim); return true; } /** * Sets up the ColliderCylinder using the values in src. Uses default OC2_TYPE_1 */ -s32 Collider_SetCylinderType1(PlayState* play, ColliderCylinder* collider, Actor* actor, - ColliderCylinderInitType1* src) { - Collider_SetBaseType1(play, &collider->base, actor, &src->base); - Collider_SetInfo(play, &collider->info, &src->info); - Collider_SetCylinderDim(play, &collider->dim, &src->dim); +s32 Collider_SetCylinderType1(PlayState* play, ColliderCylinder* dest, Actor* actor, ColliderCylinderInitType1* src) { + Collider_SetBaseType1(play, &dest->base, actor, &src->base); + Collider_SetElement(play, &dest->elem, &src->elem); + Collider_SetCylinderDim(play, &dest->dim, &src->dim); return true; } /** * Sets up the ColliderCylinder using the values in src. */ -s32 Collider_SetCylinder(PlayState* play, ColliderCylinder* collider, Actor* actor, ColliderCylinderInit* src) { - Collider_SetBase(play, &collider->base, actor, &src->base); - Collider_SetInfo(play, &collider->info, &src->info); - Collider_SetCylinderDim(play, &collider->dim, &src->dim); +s32 Collider_SetCylinder(PlayState* play, ColliderCylinder* dest, Actor* actor, ColliderCylinderInit* src) { + Collider_SetBase(play, &dest->base, actor, &src->base); + Collider_SetElement(play, &dest->elem, &src->elem); + Collider_SetCylinderDim(play, &dest->dim, &src->dim); return true; } /** * Resets the collider's AT collision flags. */ -s32 Collider_ResetCylinderAT(PlayState* play, Collider* collider) { - ColliderCylinder* cylinder = (ColliderCylinder*)collider; +s32 Collider_ResetCylinderAT(PlayState* play, Collider* col) { + ColliderCylinder* cyl = (ColliderCylinder*)col; - Collider_ResetATBase(play, &cylinder->base); - Collider_ResetATInfo(play, &cylinder->info); + Collider_ResetATBase(play, &cyl->base); + Collider_ResetATElement(play, &cyl->elem); return true; } /** * Resets the collider's AC collision flags. */ -s32 Collider_ResetCylinderAC(PlayState* play, Collider* collider) { - ColliderCylinder* cylinder = (ColliderCylinder*)collider; +s32 Collider_ResetCylinderAC(PlayState* play, Collider* col) { + ColliderCylinder* cyl = (ColliderCylinder*)col; - Collider_ResetACBase(play, &cylinder->base); - Collider_ResetACInfo(play, &cylinder->info); + Collider_ResetACBase(play, &cyl->base); + Collider_ResetACElement(play, &cyl->elem); return true; } /** * Resets the collider's OC collision flags. */ -s32 Collider_ResetCylinderOC(PlayState* play, Collider* collider) { - ColliderCylinder* cylinder = (ColliderCylinder*)collider; +s32 Collider_ResetCylinderOC(PlayState* play, Collider* col) { + ColliderCylinder* cyl = (ColliderCylinder*)col; - Collider_ResetOCBase(play, &cylinder->base); - Collider_ResetOCInfo(play, &cylinder->info); + Collider_ResetOCBase(play, &cyl->base); + Collider_ResetOCElement(play, &cyl->elem); return true; } @@ -641,36 +610,36 @@ s32 Collider_SetTrisElementDim(PlayState* play, TriNorm* dest, ColliderTrisEleme return true; } -s32 Collider_InitTrisElement(PlayState* play, ColliderTrisElement* collider) { - Collider_InitInfo(play, &collider->info); - Collider_InitTrisElementDim(play, &collider->dim); +s32 Collider_InitTrisElement(PlayState* play, ColliderTrisElement* trisElem) { + Collider_InitElement(play, &trisElem->base); + Collider_InitTrisElementDim(play, &trisElem->dim); return true; } -s32 Collider_DestroyTrisElement(PlayState* play, ColliderTrisElement* collider) { - Collider_DestroyInfo(play, &collider->info); - Collider_DestroyTrisElementDim(play, &collider->dim); +s32 Collider_DestroyTrisElement(PlayState* play, ColliderTrisElement* trisElem) { + Collider_DestroyElement(play, &trisElem->base); + Collider_DestroyTrisElementDim(play, &trisElem->dim); return true; } s32 Collider_SetTrisElement(PlayState* play, ColliderTrisElement* dest, ColliderTrisElementInit* src) { - Collider_SetInfo(play, &dest->info, &src->info); + Collider_SetElement(play, &dest->base, &src->base); Collider_SetTrisElementDim(play, &dest->dim, &src->dim); return true; } -s32 Collider_ResetTrisElementAT(PlayState* play, ColliderTrisElement* element) { - Collider_ResetATInfo(play, &element->info); +s32 Collider_ResetTrisElementAT(PlayState* play, ColliderTrisElement* trisElem) { + Collider_ResetATElement(play, &trisElem->base); return true; } -s32 Collider_ResetTrisElementAC(PlayState* play, ColliderTrisElement* element) { - Collider_ResetACInfo(play, &element->info); +s32 Collider_ResetTrisElementAC(PlayState* play, ColliderTrisElement* trisElem) { + Collider_ResetACElement(play, &trisElem->base); return true; } -s32 Collider_ResetTrisElementOC(PlayState* play, ColliderTrisElement* element) { - Collider_ResetOCInfo(play, &element->info); +s32 Collider_ResetTrisElementOC(PlayState* play, ColliderTrisElement* trisElem) { + Collider_ResetOCElement(play, &trisElem->base); return true; } @@ -689,16 +658,16 @@ s32 Collider_InitTris(PlayState* play, ColliderTris* tris) { * Unused */ s32 Collider_FreeTris(PlayState* play, ColliderTris* tris) { - ColliderTrisElement* element; + ColliderTrisElement* trisElem; Collider_DestroyBase(play, &tris->base); - for (element = tris->elements; element < tris->elements + tris->count; element++) { - Collider_DestroyTrisElement(play, element); + for (trisElem = tris->elements; trisElem < tris->elements + tris->count; trisElem++) { + Collider_DestroyTrisElement(play, trisElem); } tris->count = 0; if (tris->elements != NULL) { - ZeldaArena_FreeDebug(tris->elements, "../z_collision_check.c", 2099); + ZELDA_ARENA_FREE(tris->elements, "../z_collision_check.c", 2099); } tris->elements = NULL; return true; @@ -708,11 +677,11 @@ s32 Collider_FreeTris(PlayState* play, ColliderTris* tris) { * Destroys a preallocated ColliderTris */ s32 Collider_DestroyTris(PlayState* play, ColliderTris* tris) { - ColliderTrisElement* element; + ColliderTrisElement* trisElem; Collider_DestroyBase(play, &tris->base); - for (element = tris->elements; element < tris->elements + tris->count; element++) { - Collider_DestroyTrisElement(play, element); + for (trisElem = tris->elements; trisElem < tris->elements + tris->count; trisElem++) { + Collider_DestroyTrisElement(play, trisElem); } tris->count = 0; @@ -730,7 +699,7 @@ s32 Collider_SetTrisAllocType1(PlayState* play, ColliderTris* dest, Actor* actor Collider_SetBaseType1(play, &dest->base, actor, &src->base); dest->count = src->count; - dest->elements = ZeldaArena_MallocDebug(dest->count * sizeof(ColliderTrisElement), "../z_collision_check.c", 2156); + dest->elements = ZELDA_ARENA_MALLOC(dest->count * sizeof(ColliderTrisElement), "../z_collision_check.c", 2156); if (dest->elements == NULL) { dest->count = 0; osSyncPrintf(VT_FGCOL(RED)); @@ -756,7 +725,7 @@ s32 Collider_SetTrisAlloc(PlayState* play, ColliderTris* dest, Actor* actor, Col Collider_SetBase(play, &dest->base, actor, &src->base); dest->count = src->count; - dest->elements = ZeldaArena_MallocDebug(dest->count * sizeof(ColliderTrisElement), "../z_collision_check.c", 2207); + dest->elements = ZELDA_ARENA_MALLOC(dest->count * sizeof(ColliderTrisElement), "../z_collision_check.c", 2207); if (dest->elements == NULL) { osSyncPrintf(VT_FGCOL(RED)); @@ -778,13 +747,13 @@ s32 Collider_SetTrisAlloc(PlayState* play, ColliderTris* dest, Actor* actor, Col * Sets up the ColliderTris using the values in src, placing the element array in elements. */ s32 Collider_SetTris(PlayState* play, ColliderTris* dest, Actor* actor, ColliderTrisInit* src, - ColliderTrisElement* elements) { + ColliderTrisElement* trisElements) { ColliderTrisElement* destElem; ColliderTrisElementInit* srcElem; Collider_SetBase(play, &dest->base, actor, &src->base); dest->count = src->count; - dest->elements = elements; + dest->elements = trisElements; ASSERT(dest->elements != NULL, "pclobj_tris->elem_tbl != NULL", "../z_collision_check.c", 2258); for (destElem = dest->elements, srcElem = src->elements; destElem < dest->elements + dest->count; @@ -798,13 +767,13 @@ s32 Collider_SetTris(PlayState* play, ColliderTris* dest, Actor* actor, Collider /** * Resets the collider's AT collision flags. */ -s32 Collider_ResetTrisAT(PlayState* play, Collider* collider) { - ColliderTrisElement* element; - ColliderTris* tris = (ColliderTris*)collider; +s32 Collider_ResetTrisAT(PlayState* play, Collider* col) { + ColliderTrisElement* trisElem; + ColliderTris* tris = (ColliderTris*)col; Collider_ResetATBase(play, &tris->base); - for (element = tris->elements; element < tris->elements + tris->count; element++) { - Collider_ResetTrisElementAT(play, element); + for (trisElem = tris->elements; trisElem < tris->elements + tris->count; trisElem++) { + Collider_ResetTrisElementAT(play, trisElem); } return true; } @@ -812,13 +781,13 @@ s32 Collider_ResetTrisAT(PlayState* play, Collider* collider) { /** * Resets the collider's AC collision flags. */ -s32 Collider_ResetTrisAC(PlayState* play, Collider* collider) { - ColliderTrisElement* element; - ColliderTris* tris = (ColliderTris*)collider; +s32 Collider_ResetTrisAC(PlayState* play, Collider* col) { + ColliderTrisElement* trisElem; + ColliderTris* tris = (ColliderTris*)col; Collider_ResetACBase(play, &tris->base); - for (element = tris->elements; element < tris->elements + tris->count; element++) { - Collider_ResetTrisElementAC(play, element); + for (trisElem = tris->elements; trisElem < tris->elements + tris->count; trisElem++) { + Collider_ResetTrisElementAC(play, trisElem); } return true; } @@ -826,13 +795,13 @@ s32 Collider_ResetTrisAC(PlayState* play, Collider* collider) { /** * Resets the collider's OC collision flags. */ -s32 Collider_ResetTrisOC(PlayState* play, Collider* collider) { - ColliderTrisElement* element; - ColliderTris* tris = (ColliderTris*)collider; +s32 Collider_ResetTrisOC(PlayState* play, Collider* col) { + ColliderTrisElement* trisElem; + ColliderTris* tris = (ColliderTris*)col; Collider_ResetOCBase(play, &tris->base); - for (element = tris->elements; element < tris->elements + tris->count; element++) { - Collider_ResetTrisElementOC(play, element); + for (trisElem = tris->elements; trisElem < tris->elements + tris->count; trisElem++) { + Collider_ResetTrisElementOC(play, trisElem); } return true; } @@ -879,51 +848,51 @@ s32 Collider_SetQuadDim(PlayState* play, ColliderQuadDim* dest, ColliderQuadDimI /** * Initializes a ColliderQuad to default values. */ -s32 Collider_InitQuad(PlayState* play, ColliderQuad* collider) { - Collider_InitBase(play, &collider->base); - Collider_InitInfo(play, &collider->info); - Collider_InitQuadDim(play, &collider->dim); +s32 Collider_InitQuad(PlayState* play, ColliderQuad* quad) { + Collider_InitBase(play, &quad->base); + Collider_InitElement(play, &quad->elem); + Collider_InitQuadDim(play, &quad->dim); return true; } /** * Destroys a ColliderQuad. */ -s32 Collider_DestroyQuad(PlayState* play, ColliderQuad* collider) { - Collider_DestroyBase(play, &collider->base); - Collider_DestroyInfo(play, &collider->info); - Collider_DestroyQuadDim(play, &collider->dim); +s32 Collider_DestroyQuad(PlayState* play, ColliderQuad* quad) { + Collider_DestroyBase(play, &quad->base); + Collider_DestroyElement(play, &quad->elem); + Collider_DestroyQuadDim(play, &quad->dim); return true; } /** * Sets up the ColliderQuad using the values in src. Uses the default OC2_TYPE_1 */ -s32 Collider_SetQuadType1(PlayState* play, ColliderQuad* collider, Actor* actor, ColliderQuadInitType1* src) { - Collider_SetBaseType1(play, &collider->base, actor, &src->base); - Collider_SetInfo(play, &collider->info, &src->info); - Collider_SetQuadDim(play, &collider->dim, &src->dim); +s32 Collider_SetQuadType1(PlayState* play, ColliderQuad* dest, Actor* actor, ColliderQuadInitType1* src) { + Collider_SetBaseType1(play, &dest->base, actor, &src->base); + Collider_SetElement(play, &dest->elem, &src->elem); + Collider_SetQuadDim(play, &dest->dim, &src->dim); return true; } /** * Sets up the ColliderQuad using the values in src. */ -s32 Collider_SetQuad(PlayState* play, ColliderQuad* collider, Actor* actor, ColliderQuadInit* src) { - Collider_SetBase(play, &collider->base, actor, &src->base); - Collider_SetInfo(play, &collider->info, &src->info); - Collider_SetQuadDim(play, &collider->dim, &src->dim); +s32 Collider_SetQuad(PlayState* play, ColliderQuad* dest, Actor* actor, ColliderQuadInit* src) { + Collider_SetBase(play, &dest->base, actor, &src->base); + Collider_SetElement(play, &dest->elem, &src->elem); + Collider_SetQuadDim(play, &dest->dim, &src->dim); return true; } /** * Resets the collider's AT collision flags. */ -s32 Collider_ResetQuadAT(PlayState* play, Collider* collider) { - ColliderQuad* quad = (ColliderQuad*)collider; +s32 Collider_ResetQuadAT(PlayState* play, Collider* col) { + ColliderQuad* quad = (ColliderQuad*)col; Collider_ResetATBase(play, &quad->base); - Collider_ResetATInfo(play, &quad->info); + Collider_ResetATElement(play, &quad->elem); Collider_ResetQuadACDist(play, &quad->dim); return true; } @@ -931,22 +900,22 @@ s32 Collider_ResetQuadAT(PlayState* play, Collider* collider) { /** * Resets the collider's AC collision flags. */ -s32 Collider_ResetQuadAC(PlayState* play, Collider* collider) { - ColliderQuad* quad = (ColliderQuad*)collider; +s32 Collider_ResetQuadAC(PlayState* play, Collider* col) { + ColliderQuad* quad = (ColliderQuad*)col; Collider_ResetACBase(play, &quad->base); - Collider_ResetACInfo(play, &quad->info); + Collider_ResetACElement(play, &quad->elem); return true; } /** * Resets the collider's OC collision flags. */ -s32 Collider_ResetQuadOC(PlayState* play, Collider* collider) { - ColliderQuad* quad = (ColliderQuad*)collider; +s32 Collider_ResetQuadOC(PlayState* play, Collider* col) { + ColliderQuad* quad = (ColliderQuad*)col; Collider_ResetOCBase(play, &quad->base); - Collider_ResetOCInfo(play, &quad->info); + Collider_ResetOCElement(play, &quad->elem); return true; } @@ -958,18 +927,18 @@ s32 Collider_QuadSetNearestAC(PlayState* play, ColliderQuad* quad, Vec3f* hitPos f32 acDistSq; Vec3f dcMid; - if (!(quad->info.toucherFlags & TOUCH_NEAREST)) { + if (!(quad->elem.toucherFlags & TOUCH_NEAREST)) { return true; } Math_Vec3s_ToVec3f(&dcMid, &quad->dim.dcMid); acDistSq = Math3D_Vec3fDistSq(&dcMid, hitPos); if (acDistSq < quad->dim.acDistSq) { quad->dim.acDistSq = acDistSq; - if (quad->info.atHit != NULL) { - Collider_ResetACBase(play, quad->info.atHit); + if (quad->elem.atHit != NULL) { + Collider_ResetACBase(play, quad->elem.atHit); } - if (quad->info.atHitInfo != NULL) { - Collider_ResetACInfo(play, quad->info.atHitInfo); + if (quad->elem.atHitElem != NULL) { + Collider_ResetACElement(play, quad->elem.atHitElem); } return true; } @@ -1043,28 +1012,28 @@ void CollisionCheck_DestroyContext(PlayState* play, CollisionCheckContext* colCh * Clears all collider lists in CollisionCheckContext when not in SAC mode. */ void CollisionCheck_ClearContext(PlayState* play, CollisionCheckContext* colChkCtx) { - Collider** col; - OcLine** line; + Collider** colP; + OcLine** lineP; if (!(colChkCtx->sacFlags & SAC_ENABLE)) { colChkCtx->colATCount = 0; colChkCtx->colACCount = 0; colChkCtx->colOCCount = 0; colChkCtx->colLineCount = 0; - for (col = colChkCtx->colAT; col < colChkCtx->colAT + COLLISION_CHECK_AT_MAX; col++) { - *col = NULL; + for (colP = colChkCtx->colAT; colP < colChkCtx->colAT + COLLISION_CHECK_AT_MAX; colP++) { + *colP = NULL; } - for (col = colChkCtx->colAC; col < colChkCtx->colAC + COLLISION_CHECK_AC_MAX; col++) { - *col = NULL; + for (colP = colChkCtx->colAC; colP < colChkCtx->colAC + COLLISION_CHECK_AC_MAX; colP++) { + *colP = NULL; } - for (col = colChkCtx->colOC; col < colChkCtx->colOC + COLLISION_CHECK_OC_MAX; col++) { - *col = NULL; + for (colP = colChkCtx->colOC; colP < colChkCtx->colOC + COLLISION_CHECK_OC_MAX; colP++) { + *colP = NULL; } - for (line = colChkCtx->colLine; line < colChkCtx->colLine + COLLISION_CHECK_OC_LINE_MAX; line++) { - *line = NULL; + for (lineP = colChkCtx->colLine; lineP < colChkCtx->colLine + COLLISION_CHECK_OC_LINE_MAX; lineP++) { + *lineP = NULL; } } } @@ -1087,36 +1056,39 @@ void CollisionCheck_DisableSAC(PlayState* play, CollisionCheckContext* colChkCtx * Draws a collider of any shape. * Math3D_DrawSphere and Math3D_DrawCylinder are noops, so JntSph and Cylinder are not drawn. */ -void Collider_Draw(PlayState* play, Collider* collider) { +void Collider_Draw(PlayState* play, Collider* col) { ColliderJntSph* jntSph; - ColliderCylinder* cylinder; + ColliderCylinder* cyl; ColliderTris* tris; ColliderQuad* quad; s32 i; - if (collider == NULL) { + if (col == NULL) { return; } - switch (collider->shape) { + switch (col->shape) { case COLSHAPE_JNTSPH: - jntSph = (ColliderJntSph*)collider; + jntSph = (ColliderJntSph*)col; for (i = 0; i < jntSph->count; i++) { Math3D_DrawSphere(play, &jntSph->elements[i].dim.worldSphere); } break; + case COLSHAPE_CYLINDER: - cylinder = (ColliderCylinder*)collider; - Math3D_DrawCylinder(play, &cylinder->dim); + cyl = (ColliderCylinder*)col; + Math3D_DrawCylinder(play, &cyl->dim); break; + case COLSHAPE_TRIS: - tris = (ColliderTris*)collider; + tris = (ColliderTris*)col; for (i = 0; i < tris->count; i++) { Collider_DrawRedPoly(play->state.gfxCtx, &tris->elements[i].dim.vtx[0], &tris->elements[i].dim.vtx[1], &tris->elements[i].dim.vtx[2]); } break; + case COLSHAPE_QUAD: - quad = (ColliderQuad*)collider; + quad = (ColliderQuad*)col; Collider_DrawRedPoly(play->state.gfxCtx, &quad->dim.quad[2], &quad->dim.quad[3], &quad->dim.quad[1]); Collider_DrawRedPoly(play->state.gfxCtx, &quad->dim.quad[1], &quad->dim.quad[0], &quad->dim.quad[2]); break; @@ -1128,7 +1100,7 @@ void Collider_Draw(PlayState* play, Collider* collider) { * AREG(23) draws OC colliders, AREG(24) draws dynapolys, and AREG(25) draws bg polys */ void CollisionCheck_DrawCollision(PlayState* play, CollisionCheckContext* colChkCtx) { - Collider* collider; + Collider* col; s32 i; if (AREG(15)) { @@ -1144,9 +1116,9 @@ void CollisionCheck_DrawCollision(PlayState* play, CollisionCheckContext* colChk } if (AREG(23)) { for (i = 0; i < colChkCtx->colOCCount; i++) { - collider = colChkCtx->colOC[i]; - if (collider->ocFlags1 & OC1_ON) { - Collider_Draw(play, collider); + col = colChkCtx->colOC[i]; + if (col->ocFlags1 & OC1_ON) { + Collider_Draw(play, col); } } } @@ -1390,8 +1362,8 @@ s32 CollisionCheck_SetOCLine(PlayState* play, CollisionCheckContext* colChkCtx, /** * Skips AT elements that are off. */ -s32 CollisionCheck_SkipTouch(ColliderInfo* info) { - if (!(info->toucherFlags & TOUCH_ON)) { +s32 CollisionCheck_SkipElementTouch(ColliderElement* elem) { + if (!(elem->toucherFlags & TOUCH_ON)) { return true; } return false; @@ -1400,8 +1372,8 @@ s32 CollisionCheck_SkipTouch(ColliderInfo* info) { /** * Skips AC elements that are off. */ -s32 CollisionCheck_SkipBump(ColliderInfo* info) { - if (!(info->bumperFlags & BUMP_ON)) { +s32 CollisionCheck_SkipElementBump(ColliderElement* elem) { + if (!(elem->bumperFlags & BUMP_ON)) { return true; } return false; @@ -1410,8 +1382,8 @@ s32 CollisionCheck_SkipBump(ColliderInfo* info) { /** * If the AT element has no dmgFlags in common with the AC element, no collision happens. */ -s32 CollisionCheck_NoSharedFlags(ColliderInfo* atInfo, ColliderInfo* acInfo) { - if (!(atInfo->toucher.dmgFlags & acInfo->bumper.dmgFlags)) { +s32 CollisionCheck_NoSharedFlags(ColliderElement* atElem, ColliderElement* acElem) { + if (!(atElem->toucher.dmgFlags & acElem->bumper.dmgFlags)) { return true; } return false; @@ -1558,8 +1530,8 @@ void CollisionCheck_RedBloodUnused(PlayState* play, Collider* collider, Vec3f* v /** * Plays sound effects and displays hitmarks for solid-type AC colliders (METAL, WOOD, HARD, and TREE) */ -void CollisionCheck_HitSolid(PlayState* play, ColliderInfo* info, Collider* collider, Vec3f* hitPos) { - s32 flags = info->toucherFlags & TOUCH_SFX_MASK; +void CollisionCheck_HitSolid(PlayState* play, ColliderElement* elem, Collider* collider, Vec3f* hitPos) { + s32 flags = elem->toucherFlags & TOUCH_SFX_MASK; if (flags == TOUCH_SFX_NORMAL && collider->colType != COLTYPE_METAL) { EffectSsHitMark_SpawnFixedScale(play, EFFECT_HITMARK_WHITE, hitPos); @@ -1601,74 +1573,114 @@ void CollisionCheck_HitSolid(PlayState* play, ColliderInfo* info, Collider* coll /** * Plays a hit sound effect for AT colliders attached to Player based on the AC element's elemType. */ -s32 CollisionCheck_SwordHitAudio(Collider* at, ColliderInfo* acInfo) { - if (at->actor != NULL && at->actor->category == ACTORCAT_PLAYER) { - if (acInfo->elemType == ELEMTYPE_UNK0) { - Audio_PlaySfxGeneral(NA_SE_IT_SWORD_STRIKE, &at->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale, +s32 CollisionCheck_SwordHitAudio(Collider* atCol, ColliderElement* acElem) { + if (atCol->actor != NULL && atCol->actor->category == ACTORCAT_PLAYER) { + if (acElem->elemType == ELEMTYPE_UNK0) { + Audio_PlaySfxGeneral(NA_SE_IT_SWORD_STRIKE, &atCol->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); - } else if (acInfo->elemType == ELEMTYPE_UNK1) { - Audio_PlaySfxGeneral(NA_SE_IT_SWORD_STRIKE_HARD, &at->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale, + } else if (acElem->elemType == ELEMTYPE_UNK1) { + Audio_PlaySfxGeneral(NA_SE_IT_SWORD_STRIKE_HARD, &atCol->actor->projectedPos, 4, + &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); + } else if (acElem->elemType == ELEMTYPE_UNK2) { + Audio_PlaySfxGeneral(NA_SE_NONE, &atCol->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); - } else if (acInfo->elemType == ELEMTYPE_UNK2) { - Audio_PlaySfxGeneral(NA_SE_NONE, &at->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale, - &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); - } else if (acInfo->elemType == ELEMTYPE_UNK3) { - Audio_PlaySfxGeneral(NA_SE_NONE, &at->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale, + } else if (acElem->elemType == ELEMTYPE_UNK3) { + Audio_PlaySfxGeneral(NA_SE_NONE, &atCol->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); } } return true; } +typedef struct { + /* 0x0 */ u8 blood; + /* 0x1 */ u8 effect; +} HitInfo; // size = 0x2 + +typedef enum { + /* 0 */ BLOOD_NONE, + /* 1 */ BLOOD_BLUE, + /* 2 */ BLOOD_GREEN, + /* 3 */ BLOOD_WATER, + /* 4 */ BLOOD_RED, + /* 5 */ BLOOD_RED2 +} ColChkBloodType; + +typedef enum { + /* 0 */ HIT_WHITE, + /* 1 */ HIT_DUST, + /* 2 */ HIT_RED, + /* 3 */ HIT_SOLID, + /* 4 */ HIT_WOOD, + /* 5 */ HIT_NONE +} ColChkHitType; + +typedef void (*ColChkBloodFunc)(PlayState*, Collider*, Vec3f*); + static ColChkBloodFunc sBloodFuncs[] = { - CollisionCheck_NoBlood, CollisionCheck_BlueBlood, CollisionCheck_GreenBlood, - CollisionCheck_WaterBurst, CollisionCheck_RedBlood, CollisionCheck_RedBloodUnused, + CollisionCheck_NoBlood, // BLOOD_NONE + CollisionCheck_BlueBlood, // BLOOD_BLUE + CollisionCheck_GreenBlood, // BLOOD_GREEN + CollisionCheck_WaterBurst, // BLOOD_WATER + CollisionCheck_RedBlood, // BLOOD_RED + CollisionCheck_RedBloodUnused, // BLOOD_RED2 }; + static HitInfo sHitInfo[] = { - { BLOOD_BLUE, HIT_WHITE }, { BLOOD_NONE, HIT_DUST }, { BLOOD_GREEN, HIT_DUST }, { BLOOD_NONE, HIT_WHITE }, - { BLOOD_WATER, HIT_NONE }, { BLOOD_NONE, HIT_RED }, { BLOOD_GREEN, HIT_WHITE }, { BLOOD_RED, HIT_WHITE }, - { BLOOD_BLUE, HIT_RED }, { BLOOD_NONE, HIT_SOLID }, { BLOOD_NONE, HIT_NONE }, { BLOOD_NONE, HIT_SOLID }, - { BLOOD_NONE, HIT_SOLID }, { BLOOD_NONE, HIT_WOOD }, + { BLOOD_BLUE, HIT_WHITE }, // COLTYPE_HIT0 + { BLOOD_NONE, HIT_DUST }, // COLTYPE_HIT1 + { BLOOD_GREEN, HIT_DUST }, // COLTYPE_HIT2 + { BLOOD_NONE, HIT_WHITE }, // COLTYPE_HIT3 + { BLOOD_WATER, HIT_NONE }, // COLTYPE_HIT4 + { BLOOD_NONE, HIT_RED }, // COLTYPE_HIT5 + { BLOOD_GREEN, HIT_WHITE }, // COLTYPE_HIT6 + { BLOOD_RED, HIT_WHITE }, // COLTYPE_HIT7 + { BLOOD_BLUE, HIT_RED }, // COLTYPE_HIT8 + { BLOOD_NONE, HIT_SOLID }, // COLTYPE_METAL + { BLOOD_NONE, HIT_NONE }, // COLTYPE_NONE + { BLOOD_NONE, HIT_SOLID }, // COLTYPE_WOOD + { BLOOD_NONE, HIT_SOLID }, // COLTYPE_HARD + { BLOOD_NONE, HIT_WOOD }, // COLTYPE_TREE }; /** * Handles hitmarks, blood, and sound effects for each AC collision, determined by the AC collider's colType */ -void CollisionCheck_HitEffects(PlayState* play, Collider* at, ColliderInfo* atInfo, Collider* ac, ColliderInfo* acInfo, - Vec3f* hitPos) { - if (acInfo->bumperFlags & BUMP_NO_HITMARK) { +void CollisionCheck_HitEffects(PlayState* play, Collider* atCol, ColliderElement* atElem, Collider* acCol, + ColliderElement* acElem, Vec3f* hitPos) { + if (acElem->bumperFlags & BUMP_NO_HITMARK) { return; } - if (!(atInfo->toucherFlags & TOUCH_AT_HITMARK) && atInfo->toucherFlags & TOUCH_DREW_HITMARK) { + if (!(atElem->toucherFlags & TOUCH_AT_HITMARK) && atElem->toucherFlags & TOUCH_DREW_HITMARK) { return; } - if (ac->actor != NULL) { - sBloodFuncs[sHitInfo[ac->colType].blood](play, ac, hitPos); + if (acCol->actor != NULL) { + sBloodFuncs[sHitInfo[acCol->colType].blood](play, acCol, hitPos); } - if (ac->actor != NULL) { - if (sHitInfo[ac->colType].effect == HIT_SOLID) { - CollisionCheck_HitSolid(play, atInfo, ac, hitPos); - } else if (sHitInfo[ac->colType].effect == HIT_WOOD) { - if (at->actor == NULL) { + if (acCol->actor != NULL) { + if (sHitInfo[acCol->colType].effect == HIT_SOLID) { + CollisionCheck_HitSolid(play, atElem, acCol, hitPos); + } else if (sHitInfo[acCol->colType].effect == HIT_WOOD) { + if (atCol->actor == NULL) { CollisionCheck_SpawnShieldParticles(play, hitPos); Audio_PlaySfxGeneral(NA_SE_IT_REFLECTION_WOOD, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); } else { - CollisionCheck_SpawnShieldParticlesWood(play, hitPos, &at->actor->projectedPos); + CollisionCheck_SpawnShieldParticlesWood(play, hitPos, &atCol->actor->projectedPos); } - } else if (sHitInfo[ac->colType].effect != HIT_NONE) { - EffectSsHitMark_SpawnFixedScale(play, sHitInfo[ac->colType].effect, hitPos); - if (!(acInfo->bumperFlags & BUMP_NO_SWORD_SFX)) { - CollisionCheck_SwordHitAudio(at, acInfo); + } else if (sHitInfo[acCol->colType].effect != HIT_NONE) { + EffectSsHitMark_SpawnFixedScale(play, sHitInfo[acCol->colType].effect, hitPos); + if (!(acElem->bumperFlags & BUMP_NO_SWORD_SFX)) { + CollisionCheck_SwordHitAudio(atCol, acElem); } } } else { EffectSsHitMark_SpawnFixedScale(play, EFFECT_HITMARK_WHITE, hitPos); - if (ac->actor == NULL) { + if (acCol->actor == NULL) { Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_BOUND, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); } else { - Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_BOUND, &ac->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale, + Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_BOUND, &acCol->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); } } @@ -1677,98 +1689,96 @@ void CollisionCheck_HitEffects(PlayState* play, Collider* at, ColliderInfo* atIn /** * Sets the flags to indicate an attack bounced off an AC_HARD collider. */ -void CollisionCheck_SetBounce(Collider* at, Collider* ac) { - at->atFlags |= AT_BOUNCED; - ac->acFlags |= AC_BOUNCED; +void CollisionCheck_SetBounce(Collider* atCol, Collider* acCol) { + atCol->atFlags |= AT_BOUNCED; + acCol->acFlags |= AC_BOUNCED; } /** * Performs the AC collision between the AT element and AC element that collided. */ -s32 CollisionCheck_SetATvsAC(PlayState* play, Collider* at, ColliderInfo* atInfo, Vec3f* atPos, Collider* ac, - ColliderInfo* acInfo, Vec3f* acPos, Vec3f* hitPos) { - if (ac->acFlags & AC_HARD && at->actor != NULL && ac->actor != NULL) { - CollisionCheck_SetBounce(at, ac); +s32 CollisionCheck_SetATvsAC(PlayState* play, Collider* atCol, ColliderElement* atElem, Vec3f* atPos, Collider* acCol, + ColliderElement* acElem, Vec3f* acPos, Vec3f* hitPos) { + if (acCol->acFlags & AC_HARD && atCol->actor != NULL && acCol->actor != NULL) { + CollisionCheck_SetBounce(atCol, acCol); } - if (!(acInfo->bumperFlags & BUMP_NO_AT_INFO)) { - at->atFlags |= AT_HIT; - at->at = ac->actor; - atInfo->atHit = ac; - atInfo->atHitInfo = acInfo; - atInfo->toucherFlags |= TOUCH_HIT; - if (at->actor != NULL) { - at->actor->colChkInfo.atHitEffect = acInfo->bumper.effect; + if (!(acElem->bumperFlags & BUMP_NO_AT_INFO)) { + atCol->atFlags |= AT_HIT; + atCol->at = acCol->actor; + atElem->atHit = acCol; + atElem->atHitElem = acElem; + atElem->toucherFlags |= TOUCH_HIT; + if (atCol->actor != NULL) { + atCol->actor->colChkInfo.atHitEffect = acElem->bumper.effect; } } - ac->acFlags |= AC_HIT; - ac->ac = at->actor; - acInfo->acHit = at; - acInfo->acHitInfo = atInfo; - acInfo->bumperFlags |= BUMP_HIT; - if (ac->actor != NULL) { - ac->actor->colChkInfo.acHitEffect = atInfo->toucher.effect; + acCol->acFlags |= AC_HIT; + acCol->ac = atCol->actor; + acElem->acHit = atCol; + acElem->acHitElem = atElem; + acElem->bumperFlags |= BUMP_HIT; + if (acCol->actor != NULL) { + acCol->actor->colChkInfo.acHitEffect = atElem->toucher.effect; } - acInfo->bumper.hitPos.x = hitPos->x; - acInfo->bumper.hitPos.y = hitPos->y; - acInfo->bumper.hitPos.z = hitPos->z; - if (!(atInfo->toucherFlags & TOUCH_AT_HITMARK) && ac->colType != COLTYPE_METAL && ac->colType != COLTYPE_WOOD && - ac->colType != COLTYPE_HARD) { - acInfo->bumperFlags |= BUMP_DRAW_HITMARK; + acElem->bumper.hitPos.x = hitPos->x; + acElem->bumper.hitPos.y = hitPos->y; + acElem->bumper.hitPos.z = hitPos->z; + if (!(atElem->toucherFlags & TOUCH_AT_HITMARK) && acCol->colType != COLTYPE_METAL && + acCol->colType != COLTYPE_WOOD && acCol->colType != COLTYPE_HARD) { + acElem->bumperFlags |= BUMP_DRAW_HITMARK; } else { - CollisionCheck_HitEffects(play, at, atInfo, ac, acInfo, hitPos); - atInfo->toucherFlags |= TOUCH_DREW_HITMARK; + CollisionCheck_HitEffects(play, atCol, atElem, acCol, acElem, hitPos); + atElem->toucherFlags |= TOUCH_DREW_HITMARK; } return true; } -/** - * AC overlap check. Calculates the center of each collider element and the point of contact. - */ -void CollisionCheck_AC_JntSphVsJntSph(PlayState* play, CollisionCheckContext* colChkCtx, Collider* colAT, - Collider* colAC) { - ColliderJntSph* at = (ColliderJntSph*)colAT; - ColliderJntSphElement* atItem; - ColliderJntSph* ac = (ColliderJntSph*)colAC; - ColliderJntSphElement* acElem; +void CollisionCheck_ATJntSphVsACJntSph(PlayState* play, CollisionCheckContext* colChkCtx, Collider* atCol, + Collider* acCol) { + ColliderJntSph* atJntSph = (ColliderJntSph*)atCol; + ColliderJntSphElement* atJntSphElem; + ColliderJntSph* acJntSph = (ColliderJntSph*)acCol; + ColliderJntSphElement* acJntSphElem; f32 overlapSize; f32 centerDist; - if (at->count > 0 && at->elements != NULL && ac->count > 0 && ac->elements != NULL) { - for (atItem = at->elements; atItem < at->elements + at->count; atItem++) { - if (CollisionCheck_SkipTouch(&atItem->info) == true) { + if (atJntSph->count > 0 && atJntSph->elements != NULL && acJntSph->count > 0 && acJntSph->elements != NULL) { + for (atJntSphElem = atJntSph->elements; atJntSphElem < atJntSph->elements + atJntSph->count; atJntSphElem++) { + if (CollisionCheck_SkipElementTouch(&atJntSphElem->base) == true) { continue; } - for (acElem = ac->elements; acElem < ac->elements + ac->count; acElem++) { - if (CollisionCheck_SkipBump(&acElem->info) == true) { + for (acJntSphElem = acJntSph->elements; acJntSphElem < acJntSph->elements + acJntSph->count; + acJntSphElem++) { + if (CollisionCheck_SkipElementBump(&acJntSphElem->base) == true) { continue; } - if (CollisionCheck_NoSharedFlags(&atItem->info, &acElem->info) == true) { + if (CollisionCheck_NoSharedFlags(&atJntSphElem->base, &acJntSphElem->base) == true) { continue; } - if (Math3D_SphVsSphOverlapCenterDist(&atItem->dim.worldSphere, &acElem->dim.worldSphere, &overlapSize, - ¢erDist) == true) { + if (Math3D_SphVsSphOverlapCenterDist(&atJntSphElem->dim.worldSphere, &acJntSphElem->dim.worldSphere, + &overlapSize, ¢erDist) == true) { f32 acToHit; Vec3f hitPos; Vec3f atPos; Vec3f acPos; - atPos.x = atItem->dim.worldSphere.center.x; - atPos.y = atItem->dim.worldSphere.center.y; - atPos.z = atItem->dim.worldSphere.center.z; - acPos.x = acElem->dim.worldSphere.center.x; - acPos.y = acElem->dim.worldSphere.center.y; - acPos.z = acElem->dim.worldSphere.center.z; + atPos.x = atJntSphElem->dim.worldSphere.center.x; + atPos.y = atJntSphElem->dim.worldSphere.center.y; + atPos.z = atJntSphElem->dim.worldSphere.center.z; + acPos.x = acJntSphElem->dim.worldSphere.center.x; + acPos.y = acJntSphElem->dim.worldSphere.center.y; + acPos.z = acJntSphElem->dim.worldSphere.center.z; if (!IS_ZERO(centerDist)) { - acToHit = acElem->dim.worldSphere.radius / centerDist; + acToHit = acJntSphElem->dim.worldSphere.radius / centerDist; hitPos.x = (((atPos.x - acPos.x) * acToHit) + acPos.x); hitPos.y = (((atPos.y - acPos.y) * acToHit) + acPos.y); hitPos.z = (((atPos.z - acPos.z) * acToHit) + acPos.z); } else { Math_Vec3f_Copy(&hitPos, &atPos); } - CollisionCheck_SetATvsAC(play, &at->base, &atItem->info, &atPos, &ac->base, &acElem->info, &acPos, - &hitPos); - if (!(ac->base.ocFlags2 & OC2_FIRST_ONLY)) { + CollisionCheck_SetATvsAC(play, &atJntSph->base, &atJntSphElem->base, &atPos, &acJntSph->base, + &acJntSphElem->base, &acPos, &hitPos); + if (!(acJntSph->base.ocFlags2 & OC2_FIRST_ONLY)) { return; } } @@ -1777,42 +1787,40 @@ void CollisionCheck_AC_JntSphVsJntSph(PlayState* play, CollisionCheckContext* co } } -/** - * AC overlap check. Calculates the center of each collider element and the point of contact. - */ -void CollisionCheck_AC_JntSphVsCyl(PlayState* play, CollisionCheckContext* colChkCtx, Collider* colAT, - Collider* colAC) { - ColliderJntSph* at = (ColliderJntSph*)colAT; - ColliderJntSphElement* atItem; - ColliderCylinder* ac = (ColliderCylinder*)colAC; +void CollisionCheck_ATJntSphVsACCyl(PlayState* play, CollisionCheckContext* colChkCtx, Collider* atCol, + Collider* acCol) { + ColliderJntSph* atJntSph = (ColliderJntSph*)atCol; + ColliderJntSphElement* atJntSphElem; + ColliderCylinder* acCyl = (ColliderCylinder*)acCol; f32 overlapSize; f32 centerDist; - if (at->count > 0 && at->elements != NULL && ac->dim.radius > 0 && ac->dim.height > 0) { - if (CollisionCheck_SkipBump(&ac->info) == true) { + if (atJntSph->count > 0 && atJntSph->elements != NULL && acCyl->dim.radius > 0 && acCyl->dim.height > 0) { + if (CollisionCheck_SkipElementBump(&acCyl->elem) == true) { return; } - for (atItem = at->elements; atItem < at->elements + at->count; atItem++) { - if (CollisionCheck_SkipTouch(&atItem->info) == true) { + for (atJntSphElem = atJntSph->elements; atJntSphElem < atJntSph->elements + atJntSph->count; atJntSphElem++) { + if (CollisionCheck_SkipElementTouch(&atJntSphElem->base) == true) { continue; } - if (CollisionCheck_NoSharedFlags(&atItem->info, &ac->info) == true) { + if (CollisionCheck_NoSharedFlags(&atJntSphElem->base, &acCyl->elem) == true) { continue; } - if (Math3D_SphVsCylOverlapCenterDist(&atItem->dim.worldSphere, &ac->dim, &overlapSize, ¢erDist)) { + if (Math3D_SphVsCylOverlapCenterDist(&atJntSphElem->dim.worldSphere, &acCyl->dim, &overlapSize, + ¢erDist)) { Vec3f hitPos; Vec3f atPos; Vec3f acPos; f32 acToHit; - atPos.x = atItem->dim.worldSphere.center.x; - atPos.y = atItem->dim.worldSphere.center.y; - atPos.z = atItem->dim.worldSphere.center.z; - acPos.x = ac->dim.pos.x; - acPos.y = ac->dim.pos.y; - acPos.z = ac->dim.pos.z; + atPos.x = atJntSphElem->dim.worldSphere.center.x; + atPos.y = atJntSphElem->dim.worldSphere.center.y; + atPos.z = atJntSphElem->dim.worldSphere.center.z; + acPos.x = acCyl->dim.pos.x; + acPos.y = acCyl->dim.pos.y; + acPos.z = acCyl->dim.pos.z; if (!IS_ZERO(centerDist)) { - acToHit = ac->dim.radius / centerDist; + acToHit = acCyl->dim.radius / centerDist; if (acToHit <= 1.0f) { hitPos.x = ((atPos.x - acPos.x) * acToHit) + acPos.x; hitPos.y = ((atPos.y - acPos.y) * acToHit) + acPos.y; @@ -1823,49 +1831,48 @@ void CollisionCheck_AC_JntSphVsCyl(PlayState* play, CollisionCheckContext* colCh } else { Math_Vec3f_Copy(&hitPos, &atPos); } - CollisionCheck_SetATvsAC(play, &at->base, &atItem->info, &atPos, &ac->base, &ac->info, &acPos, &hitPos); + CollisionCheck_SetATvsAC(play, &atJntSph->base, &atJntSphElem->base, &atPos, &acCyl->base, &acCyl->elem, + &acPos, &hitPos); return; } } } } -/** - * AC overlap check. Calculates the center of each collider element and the point of contact. - */ -void CollisionCheck_AC_CylVsJntSph(PlayState* play, CollisionCheckContext* colChkCtx, Collider* colAT, - Collider* colAC) { - ColliderCylinder* at = (ColliderCylinder*)colAT; - ColliderJntSph* ac = (ColliderJntSph*)colAC; +void CollisionCheck_ATCylVsACJntSph(PlayState* play, CollisionCheckContext* colChkCtx, Collider* atCol, + Collider* acCol) { + ColliderCylinder* atCyl = (ColliderCylinder*)atCol; + ColliderJntSph* acJntSph = (ColliderJntSph*)acCol; f32 overlapSize; f32 centerDist; - ColliderJntSphElement* acElem; + ColliderJntSphElement* acJntSphElem; - if (ac->count > 0 && ac->elements != NULL && at->dim.radius > 0 && at->dim.height > 0) { - if (CollisionCheck_SkipTouch(&at->info) == true) { + if (acJntSph->count > 0 && acJntSph->elements != NULL && atCyl->dim.radius > 0 && atCyl->dim.height > 0) { + if (CollisionCheck_SkipElementTouch(&atCyl->elem) == true) { return; } - for (acElem = ac->elements; acElem < ac->elements + ac->count; acElem++) { - if (CollisionCheck_SkipBump(&acElem->info) == true) { + for (acJntSphElem = acJntSph->elements; acJntSphElem < acJntSph->elements + acJntSph->count; acJntSphElem++) { + if (CollisionCheck_SkipElementBump(&acJntSphElem->base) == true) { continue; } - if (CollisionCheck_NoSharedFlags(&at->info, &acElem->info) == true) { + if (CollisionCheck_NoSharedFlags(&atCyl->elem, &acJntSphElem->base) == true) { continue; } - if (Math3D_SphVsCylOverlapCenterDist(&acElem->dim.worldSphere, &at->dim, &overlapSize, ¢erDist)) { + if (Math3D_SphVsCylOverlapCenterDist(&acJntSphElem->dim.worldSphere, &atCyl->dim, &overlapSize, + ¢erDist)) { Vec3f hitPos; Vec3f atPos; Vec3f acPos; f32 acToHit; - atPos.x = at->dim.pos.x; - atPos.y = at->dim.pos.y; - atPos.z = at->dim.pos.z; - acPos.x = acElem->dim.worldSphere.center.x; - acPos.y = acElem->dim.worldSphere.center.y; - acPos.z = acElem->dim.worldSphere.center.z; + atPos.x = atCyl->dim.pos.x; + atPos.y = atCyl->dim.pos.y; + atPos.z = atCyl->dim.pos.z; + acPos.x = acJntSphElem->dim.worldSphere.center.x; + acPos.y = acJntSphElem->dim.worldSphere.center.y; + acPos.z = acJntSphElem->dim.worldSphere.center.z; if (!IS_ZERO(centerDist)) { - acToHit = acElem->dim.worldSphere.radius / centerDist; + acToHit = acJntSphElem->dim.worldSphere.radius / centerDist; if (acToHit <= 1.0f) { hitPos.x = ((atPos.x - acPos.x) * acToHit) + acPos.x; hitPos.y = ((atPos.y - acPos.y) * acToHit) + acPos.y; @@ -1876,8 +1883,9 @@ void CollisionCheck_AC_CylVsJntSph(PlayState* play, CollisionCheckContext* colCh } else { Math_Vec3f_Copy(&hitPos, &atPos); } - CollisionCheck_SetATvsAC(play, &at->base, &at->info, &atPos, &ac->base, &acElem->info, &acPos, &hitPos); - if (!(ac->base.ocFlags2 & OC2_FIRST_ONLY)) { + CollisionCheck_SetATvsAC(play, &atCyl->base, &atCyl->elem, &atPos, &acJntSph->base, &acJntSphElem->base, + &acPos, &hitPos); + if (!(acJntSph->base.ocFlags2 & OC2_FIRST_ONLY)) { break; } } @@ -1885,41 +1893,41 @@ void CollisionCheck_AC_CylVsJntSph(PlayState* play, CollisionCheckContext* colCh } } -/** - * AC overlap check. Calculates the center of each collider element and the point of contact. - */ -void CollisionCheck_AC_JntSphVsTris(PlayState* play, CollisionCheckContext* colChkCtx, Collider* colAT, - Collider* colAC) { - ColliderJntSph* at = (ColliderJntSph*)colAT; - ColliderJntSphElement* atSph; - ColliderTris* ac = (ColliderTris*)colAC; - ColliderTrisElement* acTri; +void CollisionCheck_ATJntSphVsACTris(PlayState* play, CollisionCheckContext* colChkCtx, Collider* atCol, + Collider* acCol) { + ColliderJntSph* atJntSph = (ColliderJntSph*)atCol; + ColliderJntSphElement* atJntSphElem; + ColliderTris* acTris = (ColliderTris*)acCol; + ColliderTrisElement* acTrisElem; Vec3f hitPos; - if (at->count > 0 && at->elements != NULL && ac->count > 0 && ac->elements != NULL) { - for (atSph = at->elements; atSph < at->elements + at->count; atSph++) { - if (CollisionCheck_SkipTouch(&atSph->info) == true) { + if (atJntSph->count > 0 && atJntSph->elements != NULL && acTris->count > 0 && acTris->elements != NULL) { + for (atJntSphElem = atJntSph->elements; atJntSphElem < atJntSph->elements + atJntSph->count; atJntSphElem++) { + if (CollisionCheck_SkipElementTouch(&atJntSphElem->base) == true) { continue; } - for (acTri = ac->elements; acTri < ac->elements + ac->count; acTri++) { - if (CollisionCheck_SkipBump(&acTri->info) == true) { + for (acTrisElem = acTris->elements; acTrisElem < acTris->elements + acTris->count; acTrisElem++) { + if (CollisionCheck_SkipElementBump(&acTrisElem->base) == true) { continue; } - if (CollisionCheck_NoSharedFlags(&atSph->info, &acTri->info) == true) { + if (CollisionCheck_NoSharedFlags(&atJntSphElem->base, &acTrisElem->base) == true) { continue; } - if (Math3D_TriVsSphIntersect(&atSph->dim.worldSphere, &acTri->dim, &hitPos) == true) { + if (Math3D_TriVsSphIntersect(&atJntSphElem->dim.worldSphere, &acTrisElem->dim, &hitPos) == true) { Vec3f atPos; Vec3f acPos; - atPos.x = atSph->dim.worldSphere.center.x; - atPos.y = atSph->dim.worldSphere.center.y; - atPos.z = atSph->dim.worldSphere.center.z; - acPos.x = (acTri->dim.vtx[0].x + acTri->dim.vtx[1].x + acTri->dim.vtx[2].x) * (1.0f / 3); - acPos.y = (acTri->dim.vtx[0].y + acTri->dim.vtx[1].y + acTri->dim.vtx[2].y) * (1.0f / 3); - acPos.z = (acTri->dim.vtx[0].z + acTri->dim.vtx[1].z + acTri->dim.vtx[2].z) * (1.0f / 3); - CollisionCheck_SetATvsAC(play, &at->base, &atSph->info, &atPos, &ac->base, &acTri->info, &acPos, - &hitPos); + atPos.x = atJntSphElem->dim.worldSphere.center.x; + atPos.y = atJntSphElem->dim.worldSphere.center.y; + atPos.z = atJntSphElem->dim.worldSphere.center.z; + acPos.x = + (acTrisElem->dim.vtx[0].x + acTrisElem->dim.vtx[1].x + acTrisElem->dim.vtx[2].x) * (1.0f / 3); + acPos.y = + (acTrisElem->dim.vtx[0].y + acTrisElem->dim.vtx[1].y + acTrisElem->dim.vtx[2].y) * (1.0f / 3); + acPos.z = + (acTrisElem->dim.vtx[0].z + acTrisElem->dim.vtx[1].z + acTrisElem->dim.vtx[2].z) * (1.0f / 3); + CollisionCheck_SetATvsAC(play, &atJntSph->base, &atJntSphElem->base, &atPos, &acTris->base, + &acTrisElem->base, &acPos, &hitPos); return; } } @@ -1927,40 +1935,40 @@ void CollisionCheck_AC_JntSphVsTris(PlayState* play, CollisionCheckContext* colC } } -/** - * AC overlap check. Calculates the center of each collider element and the point of contact. - */ -void CollisionCheck_AC_TrisVsJntSph(PlayState* play, CollisionCheckContext* colChkCtx, Collider* colAT, - Collider* colAC) { - ColliderTris* at = (ColliderTris*)colAT; - ColliderTrisElement* atItem; - ColliderJntSph* ac = (ColliderJntSph*)colAC; - ColliderJntSphElement* acElem; +void CollisionCheck_ATTrisVsACJntSph(PlayState* play, CollisionCheckContext* colChkCtx, Collider* atCol, + Collider* acCol) { + ColliderTris* atTris = (ColliderTris*)atCol; + ColliderTrisElement* atTrisElem; + ColliderJntSph* acJntSph = (ColliderJntSph*)acCol; + ColliderJntSphElement* acJntSphElem; Vec3f hitPos; - if (ac->count > 0 && ac->elements != NULL && at->count > 0 && at->elements != NULL) { - for (acElem = ac->elements; acElem < ac->elements + ac->count; acElem++) { - if (CollisionCheck_SkipBump(&acElem->info) == true) { + if (acJntSph->count > 0 && acJntSph->elements != NULL && atTris->count > 0 && atTris->elements != NULL) { + for (acJntSphElem = acJntSph->elements; acJntSphElem < acJntSph->elements + acJntSph->count; acJntSphElem++) { + if (CollisionCheck_SkipElementBump(&acJntSphElem->base) == true) { continue; } - for (atItem = at->elements; atItem < at->elements + at->count; atItem++) { - if (CollisionCheck_SkipTouch(&atItem->info) == true) { + for (atTrisElem = atTris->elements; atTrisElem < atTris->elements + atTris->count; atTrisElem++) { + if (CollisionCheck_SkipElementTouch(&atTrisElem->base) == true) { continue; } - if (CollisionCheck_NoSharedFlags(&atItem->info, &acElem->info) == true) { + if (CollisionCheck_NoSharedFlags(&atTrisElem->base, &acJntSphElem->base) == true) { continue; } - if (Math3D_TriVsSphIntersect(&acElem->dim.worldSphere, &atItem->dim, &hitPos) == true) { + if (Math3D_TriVsSphIntersect(&acJntSphElem->dim.worldSphere, &atTrisElem->dim, &hitPos) == true) { Vec3f atPos; Vec3f acPos; - Math_Vec3s_ToVec3f(&acPos, &acElem->dim.worldSphere.center); - atPos.x = (atItem->dim.vtx[0].x + atItem->dim.vtx[1].x + atItem->dim.vtx[2].x) * (1.0f / 3); - atPos.y = (atItem->dim.vtx[0].y + atItem->dim.vtx[1].y + atItem->dim.vtx[2].y) * (1.0f / 3); - atPos.z = (atItem->dim.vtx[0].z + atItem->dim.vtx[1].z + atItem->dim.vtx[2].z) * (1.0f / 3); - CollisionCheck_SetATvsAC(play, &at->base, &atItem->info, &atPos, &ac->base, &acElem->info, &acPos, - &hitPos); - if (!(ac->base.ocFlags2 & OC2_FIRST_ONLY)) { + Math_Vec3s_ToVec3f(&acPos, &acJntSphElem->dim.worldSphere.center); + atPos.x = + (atTrisElem->dim.vtx[0].x + atTrisElem->dim.vtx[1].x + atTrisElem->dim.vtx[2].x) * (1.0f / 3); + atPos.y = + (atTrisElem->dim.vtx[0].y + atTrisElem->dim.vtx[1].y + atTrisElem->dim.vtx[2].y) * (1.0f / 3); + atPos.z = + (atTrisElem->dim.vtx[0].z + atTrisElem->dim.vtx[1].z + atTrisElem->dim.vtx[2].z) * (1.0f / 3); + CollisionCheck_SetATvsAC(play, &atTris->base, &atTrisElem->base, &atPos, &acJntSph->base, + &acJntSphElem->base, &acPos, &hitPos); + if (!(acJntSph->base.ocFlags2 & OC2_FIRST_ONLY)) { return; } } @@ -1969,93 +1977,97 @@ void CollisionCheck_AC_TrisVsJntSph(PlayState* play, CollisionCheckContext* colC } } -/** - * AC overlap check. Calculates the center of each collider element and the point of contact. - */ -void CollisionCheck_AC_JntSphVsQuad(PlayState* play, CollisionCheckContext* colChkCtx, Collider* colAT, - Collider* colAC) { +void CollisionCheck_ATJntSphVsACQuad(PlayState* play, CollisionCheckContext* colChkCtx, Collider* atCol, + Collider* acCol) { static TriNorm tri1; static TriNorm tri2; - ColliderJntSph* at = (ColliderJntSph*)colAT; - ColliderQuad* ac = (ColliderQuad*)colAC; + ColliderJntSph* atJntSph = (ColliderJntSph*)atCol; + ColliderQuad* acQuad = (ColliderQuad*)acCol; Vec3f hitPos; - ColliderJntSphElement* atItem; + ColliderJntSphElement* atJntSphElem; - if (at->count > 0 && at->elements != NULL) { - if (CollisionCheck_SkipBump(&ac->info) == true) { + if (atJntSph->count > 0 && atJntSph->elements != NULL) { + if (CollisionCheck_SkipElementBump(&acQuad->elem) == true) { return; } - Math3D_TriNorm(&tri1, &ac->dim.quad[2], &ac->dim.quad[3], &ac->dim.quad[1]); - Math3D_TriNorm(&tri2, &ac->dim.quad[1], &ac->dim.quad[0], &ac->dim.quad[2]); - for (atItem = at->elements; atItem < at->elements + at->count; atItem++) { - if (CollisionCheck_SkipTouch(&atItem->info) == true) { + Math3D_TriNorm(&tri1, &acQuad->dim.quad[2], &acQuad->dim.quad[3], &acQuad->dim.quad[1]); + Math3D_TriNorm(&tri2, &acQuad->dim.quad[1], &acQuad->dim.quad[0], &acQuad->dim.quad[2]); + for (atJntSphElem = atJntSph->elements; atJntSphElem < atJntSph->elements + atJntSph->count; atJntSphElem++) { + if (CollisionCheck_SkipElementTouch(&atJntSphElem->base) == true) { continue; } - if (CollisionCheck_NoSharedFlags(&atItem->info, &ac->info) == true) { + if (CollisionCheck_NoSharedFlags(&atJntSphElem->base, &acQuad->elem) == true) { continue; } - if (Math3D_TriVsSphIntersect(&atItem->dim.worldSphere, &tri1, &hitPos) == true || - Math3D_TriVsSphIntersect(&atItem->dim.worldSphere, &tri2, &hitPos) == true) { + if (Math3D_TriVsSphIntersect(&atJntSphElem->dim.worldSphere, &tri1, &hitPos) == true || + Math3D_TriVsSphIntersect(&atJntSphElem->dim.worldSphere, &tri2, &hitPos) == true) { Vec3f atPos; Vec3f acPos; - Math_Vec3s_ToVec3f(&atPos, &atItem->dim.worldSphere.center); + Math_Vec3s_ToVec3f(&atPos, &atJntSphElem->dim.worldSphere.center); - acPos.x = (ac->dim.quad[0].x + (ac->dim.quad[1].x + (ac->dim.quad[3].x + ac->dim.quad[2].x))) / 4.0f; - acPos.y = (ac->dim.quad[0].y + (ac->dim.quad[1].y + (ac->dim.quad[3].y + ac->dim.quad[2].y))) / 4.0f; - acPos.z = (ac->dim.quad[0].z + (ac->dim.quad[1].z + (ac->dim.quad[3].z + ac->dim.quad[2].z))) / 4.0f; + acPos.x = (acQuad->dim.quad[0].x + + (acQuad->dim.quad[1].x + (acQuad->dim.quad[3].x + acQuad->dim.quad[2].x))) / + 4.0f; + acPos.y = (acQuad->dim.quad[0].y + + (acQuad->dim.quad[1].y + (acQuad->dim.quad[3].y + acQuad->dim.quad[2].y))) / + 4.0f; + acPos.z = (acQuad->dim.quad[0].z + + (acQuad->dim.quad[1].z + (acQuad->dim.quad[3].z + acQuad->dim.quad[2].z))) / + 4.0f; - CollisionCheck_SetATvsAC(play, &at->base, &atItem->info, &atPos, &ac->base, &ac->info, &acPos, &hitPos); + CollisionCheck_SetATvsAC(play, &atJntSph->base, &atJntSphElem->base, &atPos, &acQuad->base, + &acQuad->elem, &acPos, &hitPos); return; } } } } -/** - * AC overlap check. Calculates the center of each collider element and the point of contact. - */ -void CollisionCheck_AC_QuadVsJntSph(PlayState* play, CollisionCheckContext* colChkCtx, Collider* colAT, - Collider* colAC) { +void CollisionCheck_ATQuadVsACJntSph(PlayState* play, CollisionCheckContext* colChkCtx, Collider* atCol, + Collider* acCol) { static TriNorm tri1; static TriNorm tri2; - ColliderJntSph* ac = (ColliderJntSph*)colAC; + ColliderJntSph* acJntSph = (ColliderJntSph*)acCol; Vec3f hitPos; - ColliderQuad* at = (ColliderQuad*)colAT; - ColliderJntSphElement* acElem; + ColliderQuad* atQuad = (ColliderQuad*)atCol; + ColliderJntSphElement* acJntSphElem; - if (ac->count > 0 && ac->elements != NULL) { - if (CollisionCheck_SkipTouch(&at->info) == true) { + if (acJntSph->count > 0 && acJntSph->elements != NULL) { + if (CollisionCheck_SkipElementTouch(&atQuad->elem) == true) { return; } - Math3D_TriNorm(&tri1, &at->dim.quad[2], &at->dim.quad[3], &at->dim.quad[1]); - Math3D_TriNorm(&tri2, &at->dim.quad[2], &at->dim.quad[1], &at->dim.quad[0]); - for (acElem = ac->elements; acElem < ac->elements + ac->count; acElem++) { - if (CollisionCheck_SkipBump(&acElem->info) == true) { + Math3D_TriNorm(&tri1, &atQuad->dim.quad[2], &atQuad->dim.quad[3], &atQuad->dim.quad[1]); + Math3D_TriNorm(&tri2, &atQuad->dim.quad[2], &atQuad->dim.quad[1], &atQuad->dim.quad[0]); + for (acJntSphElem = acJntSph->elements; acJntSphElem < acJntSph->elements + acJntSph->count; acJntSphElem++) { + if (CollisionCheck_SkipElementBump(&acJntSphElem->base) == true) { continue; } - if (CollisionCheck_NoSharedFlags(&at->info, &acElem->info) == true) { + if (CollisionCheck_NoSharedFlags(&atQuad->elem, &acJntSphElem->base) == true) { continue; } - if (Math3D_TriVsSphIntersect(&acElem->dim.worldSphere, &tri1, &hitPos) == true || - Math3D_TriVsSphIntersect(&acElem->dim.worldSphere, &tri2, &hitPos) == true) { - if (Collider_QuadSetNearestAC(play, at, &hitPos)) { + if (Math3D_TriVsSphIntersect(&acJntSphElem->dim.worldSphere, &tri1, &hitPos) == true || + Math3D_TriVsSphIntersect(&acJntSphElem->dim.worldSphere, &tri2, &hitPos) == true) { + if (Collider_QuadSetNearestAC(play, atQuad, &hitPos)) { Vec3f atPos; Vec3f acPos; - acPos.x = acElem->dim.worldSphere.center.x; - acPos.y = acElem->dim.worldSphere.center.y; - acPos.z = acElem->dim.worldSphere.center.z; + acPos.x = acJntSphElem->dim.worldSphere.center.x; + acPos.y = acJntSphElem->dim.worldSphere.center.y; + acPos.z = acJntSphElem->dim.worldSphere.center.z; - atPos.x = - (at->dim.quad[0].x + (at->dim.quad[1].x + (at->dim.quad[3].x + at->dim.quad[2].x))) / 4.0f; - atPos.y = - (at->dim.quad[0].y + (at->dim.quad[1].y + (at->dim.quad[3].y + at->dim.quad[2].y))) / 4.0f; - atPos.z = - (at->dim.quad[0].z + (at->dim.quad[1].z + (at->dim.quad[3].z + at->dim.quad[2].z))) / 4.0f; - CollisionCheck_SetATvsAC(play, &at->base, &at->info, &atPos, &ac->base, &acElem->info, &acPos, - &hitPos); - if (!(ac->base.ocFlags2 & OC2_FIRST_ONLY)) { + atPos.x = (atQuad->dim.quad[0].x + + (atQuad->dim.quad[1].x + (atQuad->dim.quad[3].x + atQuad->dim.quad[2].x))) / + 4.0f; + atPos.y = (atQuad->dim.quad[0].y + + (atQuad->dim.quad[1].y + (atQuad->dim.quad[3].y + atQuad->dim.quad[2].y))) / + 4.0f; + atPos.z = (atQuad->dim.quad[0].z + + (atQuad->dim.quad[1].z + (atQuad->dim.quad[3].z + atQuad->dim.quad[2].z))) / + 4.0f; + CollisionCheck_SetATvsAC(play, &atQuad->base, &atQuad->elem, &atPos, &acJntSph->base, + &acJntSphElem->base, &acPos, &hitPos); + if (!(acJntSph->base.ocFlags2 & OC2_FIRST_ONLY)) { return; } } @@ -2064,154 +2076,160 @@ void CollisionCheck_AC_QuadVsJntSph(PlayState* play, CollisionCheckContext* colC } } -/** - * AC overlap check. Calculates the center of each collider element and the point of contact. - */ -void CollisionCheck_AC_CylVsCyl(PlayState* play, CollisionCheckContext* colChkCtx, Collider* colAT, Collider* colAC) { - ColliderCylinder* at = (ColliderCylinder*)colAT; - ColliderCylinder* ac = (ColliderCylinder*)colAC; +void CollisionCheck_ATCylVsACCyl(PlayState* play, CollisionCheckContext* colChkCtx, Collider* atCol, Collider* acCol) { + ColliderCylinder* atCyl = (ColliderCylinder*)atCol; + ColliderCylinder* acCyl = (ColliderCylinder*)acCol; f32 overlapSize; f32 centerDist; Vec3f hitPos; - if (at->dim.radius > 0 && at->dim.height > 0 && ac->dim.radius > 0 && ac->dim.height > 0) { - if (CollisionCheck_SkipBump(&ac->info) == true) { + if (atCyl->dim.radius > 0 && atCyl->dim.height > 0 && acCyl->dim.radius > 0 && acCyl->dim.height > 0) { + if (CollisionCheck_SkipElementBump(&acCyl->elem) == true) { return; } - if (CollisionCheck_SkipTouch(&at->info) == true) { + if (CollisionCheck_SkipElementTouch(&atCyl->elem) == true) { return; } - if (CollisionCheck_NoSharedFlags(&at->info, &ac->info) == true) { + if (CollisionCheck_NoSharedFlags(&atCyl->elem, &acCyl->elem) == true) { return; } - if (Math3D_CylVsCylOverlapCenterDist(&at->dim, &ac->dim, &overlapSize, ¢erDist) == true) { + if (Math3D_CylVsCylOverlapCenterDist(&atCyl->dim, &acCyl->dim, &overlapSize, ¢erDist) == true) { Vec3f atPos; Vec3f acPos; f32 acToHit; - Math_Vec3s_ToVec3f(&atPos, &at->dim.pos); - Math_Vec3s_ToVec3f(&acPos, &ac->dim.pos); + Math_Vec3s_ToVec3f(&atPos, &atCyl->dim.pos); + Math_Vec3s_ToVec3f(&acPos, &acCyl->dim.pos); if (!IS_ZERO(centerDist)) { - acToHit = ac->dim.radius / centerDist; - hitPos.y = (f32)ac->dim.pos.y + ac->dim.yShift + ac->dim.height * 0.5f; - hitPos.x = ((f32)at->dim.pos.x - ac->dim.pos.x) * acToHit + ac->dim.pos.x; - hitPos.z = ((f32)at->dim.pos.z - ac->dim.pos.z) * acToHit + ac->dim.pos.z; + acToHit = acCyl->dim.radius / centerDist; + hitPos.y = (f32)acCyl->dim.pos.y + acCyl->dim.yShift + acCyl->dim.height * 0.5f; + hitPos.x = ((f32)atCyl->dim.pos.x - acCyl->dim.pos.x) * acToHit + acCyl->dim.pos.x; + hitPos.z = ((f32)atCyl->dim.pos.z - acCyl->dim.pos.z) * acToHit + acCyl->dim.pos.z; } else { - Math_Vec3s_ToVec3f(&hitPos, &ac->dim.pos); + Math_Vec3s_ToVec3f(&hitPos, &acCyl->dim.pos); } - CollisionCheck_SetATvsAC(play, &at->base, &at->info, &atPos, &ac->base, &ac->info, &acPos, &hitPos); + CollisionCheck_SetATvsAC(play, &atCyl->base, &atCyl->elem, &atPos, &acCyl->base, &acCyl->elem, &acPos, + &hitPos); } } } -/** - * AC overlap check. Calculates the center of each collider element and the point of contact. - */ -void CollisionCheck_AC_CylVsTris(PlayState* play, CollisionCheckContext* colChkCtx, Collider* colAT, Collider* colAC) { - ColliderCylinder* at = (ColliderCylinder*)colAT; - ColliderTris* ac = (ColliderTris*)colAC; - ColliderTrisElement* acElem; +void CollisionCheck_ATCylVsACTris(PlayState* play, CollisionCheckContext* colChkCtx, Collider* atCol, Collider* acCol) { + ColliderCylinder* atCyl = (ColliderCylinder*)atCol; + ColliderTris* acTris = (ColliderTris*)acCol; + ColliderTrisElement* acTrisElem; Vec3f hitPos; - if (at->dim.radius > 0 && at->dim.height > 0 && ac->count > 0 && ac->elements != NULL) { - if (CollisionCheck_SkipTouch(&at->info) == true) { + if (atCyl->dim.radius > 0 && atCyl->dim.height > 0 && acTris->count > 0 && acTris->elements != NULL) { + if (CollisionCheck_SkipElementTouch(&atCyl->elem) == true) { return; } - for (acElem = ac->elements; acElem < ac->elements + ac->count; acElem++) { - if (CollisionCheck_SkipBump(&acElem->info) == true) { + for (acTrisElem = acTris->elements; acTrisElem < acTris->elements + acTris->count; acTrisElem++) { + if (CollisionCheck_SkipElementBump(&acTrisElem->base) == true) { continue; } - if (CollisionCheck_NoSharedFlags(&at->info, &acElem->info) == true) { + if (CollisionCheck_NoSharedFlags(&atCyl->elem, &acTrisElem->base) == true) { continue; } - if (Math3D_CylTriVsIntersect(&at->dim, &acElem->dim, &hitPos) == true) { - Vec3f atpos; + if (Math3D_CylTriVsIntersect(&atCyl->dim, &acTrisElem->dim, &hitPos) == true) { + Vec3f atPos; Vec3f acPos; - Math_Vec3s_ToVec3f(&atpos, &at->dim.pos); + Math_Vec3s_ToVec3f(&atPos, &atCyl->dim.pos); - acPos.x = (acElem->dim.vtx[0].x + acElem->dim.vtx[1].x + acElem->dim.vtx[2].x) * (1.0f / 3); - acPos.y = (acElem->dim.vtx[0].y + acElem->dim.vtx[1].y + acElem->dim.vtx[2].y) * (1.0f / 3); - acPos.z = (acElem->dim.vtx[0].z + acElem->dim.vtx[1].z + acElem->dim.vtx[2].z) * (1.0f / 3); - CollisionCheck_SetATvsAC(play, &at->base, &at->info, &atpos, &ac->base, &acElem->info, &acPos, &hitPos); + acPos.x = (acTrisElem->dim.vtx[0].x + acTrisElem->dim.vtx[1].x + acTrisElem->dim.vtx[2].x) * (1.0f / 3); + acPos.y = (acTrisElem->dim.vtx[0].y + acTrisElem->dim.vtx[1].y + acTrisElem->dim.vtx[2].y) * (1.0f / 3); + acPos.z = (acTrisElem->dim.vtx[0].z + acTrisElem->dim.vtx[1].z + acTrisElem->dim.vtx[2].z) * (1.0f / 3); + CollisionCheck_SetATvsAC(play, &atCyl->base, &atCyl->elem, &atPos, &acTris->base, &acTrisElem->base, + &acPos, &hitPos); return; } } } } -/** - * AC overlap check. Calculates the center of each collider element and the point of contact. - */ -void CollisionCheck_AC_TrisVsCyl(PlayState* play, CollisionCheckContext* colChkCtx, Collider* colAT, Collider* colAC) { +void CollisionCheck_ATTrisVsACCyl(PlayState* play, CollisionCheckContext* colChkCtx, Collider* atCol, Collider* acCol) { static Vec3f hitPos; - ColliderTris* at = (ColliderTris*)colAT; - ColliderTrisElement* atItem; - ColliderCylinder* ac = (ColliderCylinder*)colAC; + ColliderTris* atTris = (ColliderTris*)atCol; + ColliderTrisElement* atTrisElem; + ColliderCylinder* acCyl = (ColliderCylinder*)acCol; Vec3f atPos; Vec3f acPos; - if (ac->dim.radius > 0 && ac->dim.height > 0 && at->count > 0 && at->elements != NULL) { - if (CollisionCheck_SkipBump(&ac->info) == true) { + if (acCyl->dim.radius > 0 && acCyl->dim.height > 0 && atTris->count > 0 && atTris->elements != NULL) { + if (CollisionCheck_SkipElementBump(&acCyl->elem) == true) { return; } - for (atItem = at->elements; atItem < at->elements + at->count; atItem++) { - if (CollisionCheck_SkipTouch(&atItem->info) == true) { + for (atTrisElem = atTris->elements; atTrisElem < atTris->elements + atTris->count; atTrisElem++) { + if (CollisionCheck_SkipElementTouch(&atTrisElem->base) == true) { continue; } - if (CollisionCheck_NoSharedFlags(&atItem->info, &ac->info) == true) { + if (CollisionCheck_NoSharedFlags(&atTrisElem->base, &acCyl->elem) == true) { continue; } - if (Math3D_CylTriVsIntersect(&ac->dim, &atItem->dim, &hitPos) == true) { - atPos.x = (atItem->dim.vtx[0].x + atItem->dim.vtx[1].x + atItem->dim.vtx[2].x) * (1.0f / 3); - atPos.y = (atItem->dim.vtx[0].y + atItem->dim.vtx[1].y + atItem->dim.vtx[2].y) * (1.0f / 3); - atPos.z = (atItem->dim.vtx[0].z + atItem->dim.vtx[1].z + atItem->dim.vtx[2].z) * (1.0f / 3); - Math_Vec3s_ToVec3f(&acPos, &ac->dim.pos); - CollisionCheck_SetATvsAC(play, &at->base, &atItem->info, &atPos, &ac->base, &ac->info, &acPos, &hitPos); + if (Math3D_CylTriVsIntersect(&acCyl->dim, &atTrisElem->dim, &hitPos) == true) { + atPos.x = (atTrisElem->dim.vtx[0].x + atTrisElem->dim.vtx[1].x + atTrisElem->dim.vtx[2].x) * (1.0f / 3); + atPos.y = (atTrisElem->dim.vtx[0].y + atTrisElem->dim.vtx[1].y + atTrisElem->dim.vtx[2].y) * (1.0f / 3); + atPos.z = (atTrisElem->dim.vtx[0].z + atTrisElem->dim.vtx[1].z + atTrisElem->dim.vtx[2].z) * (1.0f / 3); + Math_Vec3s_ToVec3f(&acPos, &acCyl->dim.pos); + CollisionCheck_SetATvsAC(play, &atTris->base, &atTrisElem->base, &atPos, &acCyl->base, &acCyl->elem, + &acPos, &hitPos); return; } } } } -/** - * AC overlap check. Calculates the center of each collider element and the point of contact. - */ -void CollisionCheck_AC_CylVsQuad(PlayState* play, CollisionCheckContext* colChkCtx, Collider* colAT, Collider* colAC) { +void CollisionCheck_ATCylVsACQuad(PlayState* play, CollisionCheckContext* colChkCtx, Collider* atCol, Collider* acCol) { static TriNorm tri1; static TriNorm tri2; static Vec3f hitPos; - ColliderCylinder* at = (ColliderCylinder*)colAT; - ColliderQuad* ac = (ColliderQuad*)colAC; + ColliderCylinder* atCyl = (ColliderCylinder*)atCol; + ColliderQuad* acQuad = (ColliderQuad*)acCol; - if (at->dim.height > 0 && at->dim.radius > 0) { - if (CollisionCheck_SkipTouch(&at->info) == true || CollisionCheck_SkipBump(&ac->info) == true) { + if (atCyl->dim.height > 0 && atCyl->dim.radius > 0) { + if (CollisionCheck_SkipElementTouch(&atCyl->elem) == true || + CollisionCheck_SkipElementBump(&acQuad->elem) == true) { return; } - if (CollisionCheck_NoSharedFlags(&at->info, &ac->info) == true) { + if (CollisionCheck_NoSharedFlags(&atCyl->elem, &acQuad->elem) == true) { return; } - Math3D_TriNorm(&tri1, &ac->dim.quad[2], &ac->dim.quad[3], &ac->dim.quad[1]); - Math3D_TriNorm(&tri2, &ac->dim.quad[1], &ac->dim.quad[0], &ac->dim.quad[2]); - if (Math3D_CylTriVsIntersect(&at->dim, &tri1, &hitPos) == true) { + Math3D_TriNorm(&tri1, &acQuad->dim.quad[2], &acQuad->dim.quad[3], &acQuad->dim.quad[1]); + Math3D_TriNorm(&tri2, &acQuad->dim.quad[1], &acQuad->dim.quad[0], &acQuad->dim.quad[2]); + if (Math3D_CylTriVsIntersect(&atCyl->dim, &tri1, &hitPos) == true) { Vec3f atPos1; Vec3f acPos1; - Math_Vec3s_ToVec3f(&atPos1, &at->dim.pos); - acPos1.x = (ac->dim.quad[0].x + (ac->dim.quad[1].x + (ac->dim.quad[3].x + ac->dim.quad[2].x))) / 4.0f; - acPos1.y = (ac->dim.quad[0].y + (ac->dim.quad[1].y + (ac->dim.quad[3].y + ac->dim.quad[2].y))) / 4.0f; - acPos1.z = (ac->dim.quad[0].z + (ac->dim.quad[1].z + (ac->dim.quad[3].z + ac->dim.quad[2].z))) / 4.0f; - CollisionCheck_SetATvsAC(play, &at->base, &at->info, &atPos1, &ac->base, &ac->info, &acPos1, &hitPos); - } else if (Math3D_CylTriVsIntersect(&at->dim, &tri2, &hitPos) == true) { + Math_Vec3s_ToVec3f(&atPos1, &atCyl->dim.pos); + acPos1.x = + (acQuad->dim.quad[0].x + (acQuad->dim.quad[1].x + (acQuad->dim.quad[3].x + acQuad->dim.quad[2].x))) / + 4.0f; + acPos1.y = + (acQuad->dim.quad[0].y + (acQuad->dim.quad[1].y + (acQuad->dim.quad[3].y + acQuad->dim.quad[2].y))) / + 4.0f; + acPos1.z = + (acQuad->dim.quad[0].z + (acQuad->dim.quad[1].z + (acQuad->dim.quad[3].z + acQuad->dim.quad[2].z))) / + 4.0f; + CollisionCheck_SetATvsAC(play, &atCyl->base, &atCyl->elem, &atPos1, &acQuad->base, &acQuad->elem, &acPos1, + &hitPos); + } else if (Math3D_CylTriVsIntersect(&atCyl->dim, &tri2, &hitPos) == true) { Vec3f atPos2; Vec3f acPos2; - Math_Vec3s_ToVec3f(&atPos2, &at->dim.pos); - acPos2.x = (ac->dim.quad[0].x + (ac->dim.quad[1].x + (ac->dim.quad[3].x + ac->dim.quad[2].x))) / 4.0f; - acPos2.y = (ac->dim.quad[0].y + (ac->dim.quad[1].y + (ac->dim.quad[3].y + ac->dim.quad[2].y))) / 4.0f; - acPos2.z = (ac->dim.quad[0].z + (ac->dim.quad[1].z + (ac->dim.quad[3].z + ac->dim.quad[2].z))) / 4.0f; - CollisionCheck_SetATvsAC(play, &at->base, &at->info, &atPos2, &ac->base, &ac->info, &acPos2, &hitPos); + Math_Vec3s_ToVec3f(&atPos2, &atCyl->dim.pos); + acPos2.x = + (acQuad->dim.quad[0].x + (acQuad->dim.quad[1].x + (acQuad->dim.quad[3].x + acQuad->dim.quad[2].x))) / + 4.0f; + acPos2.y = + (acQuad->dim.quad[0].y + (acQuad->dim.quad[1].y + (acQuad->dim.quad[3].y + acQuad->dim.quad[2].y))) / + 4.0f; + acPos2.z = + (acQuad->dim.quad[0].z + (acQuad->dim.quad[1].z + (acQuad->dim.quad[3].z + acQuad->dim.quad[2].z))) / + 4.0f; + CollisionCheck_SetATvsAC(play, &atCyl->base, &atCyl->elem, &atPos2, &acQuad->base, &acQuad->elem, &acPos2, + &hitPos); } } } @@ -2219,48 +2237,60 @@ void CollisionCheck_AC_CylVsQuad(PlayState* play, CollisionCheckContext* colChkC static s8 sBssDummy0; static s8 sBssDummy1; -/** - * AC overlap check. Calculates the center of each collider element and the point of contact. - */ -void CollisionCheck_AC_QuadVsCyl(PlayState* play, CollisionCheckContext* colChkCtx, Collider* colAT, Collider* colAC) { +void CollisionCheck_ATQuadVsACCyl(PlayState* play, CollisionCheckContext* colChkCtx, Collider* atCol, Collider* acCol) { static TriNorm tri1; static TriNorm tri2; static Vec3f hitPos; - ColliderQuad* at = (ColliderQuad*)colAT; - ColliderCylinder* ac = (ColliderCylinder*)colAC; + ColliderQuad* atQuad = (ColliderQuad*)atCol; + ColliderCylinder* acCyl = (ColliderCylinder*)acCol; - if (ac->dim.height > 0 && ac->dim.radius > 0) { - if (CollisionCheck_SkipBump(&ac->info) == true || CollisionCheck_SkipTouch(&at->info) == true) { + if (acCyl->dim.height > 0 && acCyl->dim.radius > 0) { + if (CollisionCheck_SkipElementBump(&acCyl->elem) == true || + CollisionCheck_SkipElementTouch(&atQuad->elem) == true) { return; } - if (CollisionCheck_NoSharedFlags(&at->info, &ac->info) == true) { + if (CollisionCheck_NoSharedFlags(&atQuad->elem, &acCyl->elem) == true) { return; } - Math3D_TriNorm(&tri1, &at->dim.quad[2], &at->dim.quad[3], &at->dim.quad[1]); - Math3D_TriNorm(&tri2, &at->dim.quad[2], &at->dim.quad[1], &at->dim.quad[0]); - if (Math3D_CylTriVsIntersect(&ac->dim, &tri1, &hitPos) == true) { - if (Collider_QuadSetNearestAC(play, at, &hitPos)) { + Math3D_TriNorm(&tri1, &atQuad->dim.quad[2], &atQuad->dim.quad[3], &atQuad->dim.quad[1]); + Math3D_TriNorm(&tri2, &atQuad->dim.quad[2], &atQuad->dim.quad[1], &atQuad->dim.quad[0]); + if (Math3D_CylTriVsIntersect(&acCyl->dim, &tri1, &hitPos) == true) { + if (Collider_QuadSetNearestAC(play, atQuad, &hitPos)) { Vec3f atPos1; Vec3f acPos1; - atPos1.x = (at->dim.quad[0].x + (at->dim.quad[1].x + (at->dim.quad[3].x + at->dim.quad[2].x))) / 4.0f; - atPos1.y = (at->dim.quad[0].y + (at->dim.quad[1].y + (at->dim.quad[3].y + at->dim.quad[2].y))) / 4.0f; - atPos1.z = (at->dim.quad[0].z + (at->dim.quad[1].z + (at->dim.quad[3].z + at->dim.quad[2].z))) / 4.0f; - Math_Vec3s_ToVec3f(&acPos1, &ac->dim.pos); - CollisionCheck_SetATvsAC(play, &at->base, &at->info, &atPos1, &ac->base, &ac->info, &acPos1, &hitPos); + atPos1.x = (atQuad->dim.quad[0].x + + (atQuad->dim.quad[1].x + (atQuad->dim.quad[3].x + atQuad->dim.quad[2].x))) / + 4.0f; + atPos1.y = (atQuad->dim.quad[0].y + + (atQuad->dim.quad[1].y + (atQuad->dim.quad[3].y + atQuad->dim.quad[2].y))) / + 4.0f; + atPos1.z = (atQuad->dim.quad[0].z + + (atQuad->dim.quad[1].z + (atQuad->dim.quad[3].z + atQuad->dim.quad[2].z))) / + 4.0f; + Math_Vec3s_ToVec3f(&acPos1, &acCyl->dim.pos); + CollisionCheck_SetATvsAC(play, &atQuad->base, &atQuad->elem, &atPos1, &acCyl->base, &acCyl->elem, + &acPos1, &hitPos); return; } } - if (Math3D_CylTriVsIntersect(&ac->dim, &tri2, &hitPos) == true) { - if (Collider_QuadSetNearestAC(play, at, &hitPos)) { + if (Math3D_CylTriVsIntersect(&acCyl->dim, &tri2, &hitPos) == true) { + if (Collider_QuadSetNearestAC(play, atQuad, &hitPos)) { Vec3f atPos2; Vec3f acPos2; - atPos2.x = (at->dim.quad[0].x + (at->dim.quad[1].x + (at->dim.quad[3].x + at->dim.quad[2].x))) / 4.0f; - atPos2.y = (at->dim.quad[0].y + (at->dim.quad[1].y + (at->dim.quad[3].y + at->dim.quad[2].y))) / 4.0f; - atPos2.z = (at->dim.quad[0].z + (at->dim.quad[1].z + (at->dim.quad[3].z + at->dim.quad[2].z))) / 4.0f; - Math_Vec3s_ToVec3f(&acPos2, &ac->dim.pos); - CollisionCheck_SetATvsAC(play, &at->base, &at->info, &atPos2, &ac->base, &ac->info, &acPos2, &hitPos); + atPos2.x = (atQuad->dim.quad[0].x + + (atQuad->dim.quad[1].x + (atQuad->dim.quad[3].x + atQuad->dim.quad[2].x))) / + 4.0f; + atPos2.y = (atQuad->dim.quad[0].y + + (atQuad->dim.quad[1].y + (atQuad->dim.quad[3].y + atQuad->dim.quad[2].y))) / + 4.0f; + atPos2.z = (atQuad->dim.quad[0].z + + (atQuad->dim.quad[1].z + (atQuad->dim.quad[3].z + atQuad->dim.quad[2].z))) / + 4.0f; + Math_Vec3s_ToVec3f(&acPos2, &acCyl->dim.pos); + CollisionCheck_SetATvsAC(play, &atQuad->base, &atQuad->elem, &atPos2, &acCyl->base, &acCyl->elem, + &acPos2, &hitPos); } } } @@ -2271,40 +2301,44 @@ static s8 sBssDummy4; static s8 sBssDummy5; static s8 sBssDummy6; -/** - * AC overlap check. Calculates the center of each collider element and the point of contact. - */ -void CollisionCheck_AC_TrisVsTris(PlayState* play, CollisionCheckContext* colChkCtx, Collider* colAT, Collider* colAC) { +void CollisionCheck_ATTrisVsACTris(PlayState* play, CollisionCheckContext* colChkCtx, Collider* atCol, + Collider* acCol) { static Vec3f hitPos; - ColliderTris* at = (ColliderTris*)colAT; - ColliderTrisElement* atItem; - ColliderTris* ac = (ColliderTris*)colAC; - ColliderTrisElement* acElem; + ColliderTris* atTris = (ColliderTris*)atCol; + ColliderTrisElement* atTrisElem; + ColliderTris* acTris = (ColliderTris*)acCol; + ColliderTrisElement* acTrisElem; - if (ac->count > 0 && ac->elements != NULL && at->count > 0 && at->elements != NULL) { - for (acElem = ac->elements; acElem < ac->elements + ac->count; acElem++) { - if (CollisionCheck_SkipBump(&acElem->info) == true) { + if (acTris->count > 0 && acTris->elements != NULL && atTris->count > 0 && atTris->elements != NULL) { + for (acTrisElem = acTris->elements; acTrisElem < acTris->elements + acTris->count; acTrisElem++) { + if (CollisionCheck_SkipElementBump(&acTrisElem->base) == true) { continue; } - for (atItem = at->elements; atItem < at->elements + at->count; atItem++) { - if (CollisionCheck_SkipTouch(&atItem->info) == true) { + for (atTrisElem = atTris->elements; atTrisElem < atTris->elements + atTris->count; atTrisElem++) { + if (CollisionCheck_SkipElementTouch(&atTrisElem->base) == true) { continue; } - if (CollisionCheck_NoSharedFlags(&atItem->info, &acElem->info) == true) { + if (CollisionCheck_NoSharedFlags(&atTrisElem->base, &acTrisElem->base) == true) { continue; } - if (Math3D_TriVsTriIntersect(&atItem->dim, &acElem->dim, &hitPos) == true) { + if (Math3D_TriVsTriIntersect(&atTrisElem->dim, &acTrisElem->dim, &hitPos) == true) { Vec3f atPos; Vec3f acPos; - atPos.x = (atItem->dim.vtx[0].x + atItem->dim.vtx[1].x + atItem->dim.vtx[2].x) * (1.0f / 3); - atPos.y = (atItem->dim.vtx[0].y + atItem->dim.vtx[1].y + atItem->dim.vtx[2].y) * (1.0f / 3); - atPos.z = (atItem->dim.vtx[0].z + atItem->dim.vtx[1].z + atItem->dim.vtx[2].z) * (1.0f / 3); - acPos.x = (acElem->dim.vtx[0].x + acElem->dim.vtx[1].x + acElem->dim.vtx[2].x) * (1.0f / 3); - acPos.y = (acElem->dim.vtx[0].y + acElem->dim.vtx[1].y + acElem->dim.vtx[2].y) * (1.0f / 3); - acPos.z = (acElem->dim.vtx[0].z + acElem->dim.vtx[1].z + acElem->dim.vtx[2].z) * (1.0f / 3); - CollisionCheck_SetATvsAC(play, &at->base, &atItem->info, &atPos, &ac->base, &acElem->info, &acPos, - &hitPos); + atPos.x = + (atTrisElem->dim.vtx[0].x + atTrisElem->dim.vtx[1].x + atTrisElem->dim.vtx[2].x) * (1.0f / 3); + atPos.y = + (atTrisElem->dim.vtx[0].y + atTrisElem->dim.vtx[1].y + atTrisElem->dim.vtx[2].y) * (1.0f / 3); + atPos.z = + (atTrisElem->dim.vtx[0].z + atTrisElem->dim.vtx[1].z + atTrisElem->dim.vtx[2].z) * (1.0f / 3); + acPos.x = + (acTrisElem->dim.vtx[0].x + acTrisElem->dim.vtx[1].x + acTrisElem->dim.vtx[2].x) * (1.0f / 3); + acPos.y = + (acTrisElem->dim.vtx[0].y + acTrisElem->dim.vtx[1].y + acTrisElem->dim.vtx[2].y) * (1.0f / 3); + acPos.z = + (acTrisElem->dim.vtx[0].z + acTrisElem->dim.vtx[1].z + acTrisElem->dim.vtx[2].z) * (1.0f / 3); + CollisionCheck_SetATvsAC(play, &atTris->base, &atTrisElem->base, &atPos, &acTris->base, + &acTrisElem->base, &acPos, &hitPos); return; } } @@ -2317,89 +2351,98 @@ static s8 sBssDummy8; static s8 sBssDummy9; static s8 sBssDummy10; -/** - * AC overlap check. Calculates the center of each collider element and the point of contact. - */ -void CollisionCheck_AC_TrisVsQuad(PlayState* play, CollisionCheckContext* colChkCtx, Collider* colAT, Collider* colAC) { +void CollisionCheck_ATTrisVsACQuad(PlayState* play, CollisionCheckContext* colChkCtx, Collider* atCol, + Collider* acCol) { static Vec3f hitPos; static TriNorm tri1; static TriNorm tri2; - ColliderTris* at = (ColliderTris*)colAT; - ColliderTrisElement* atItem; - ColliderQuad* ac = (ColliderQuad*)colAC; + ColliderTris* atTris = (ColliderTris*)atCol; + ColliderTrisElement* atTrisElem; + ColliderQuad* acQuad = (ColliderQuad*)acCol; - if (at->count > 0 && at->elements != NULL) { - if (CollisionCheck_SkipBump(&ac->info) == true) { + if (atTris->count > 0 && atTris->elements != NULL) { + if (CollisionCheck_SkipElementBump(&acQuad->elem) == true) { return; } - Math3D_TriNorm(&tri1, &ac->dim.quad[2], &ac->dim.quad[3], &ac->dim.quad[1]); - Math3D_TriNorm(&tri2, &ac->dim.quad[1], &ac->dim.quad[0], &ac->dim.quad[2]); - for (atItem = at->elements; atItem < at->elements + at->count; atItem++) { - if (CollisionCheck_SkipTouch(&atItem->info) == true) { + Math3D_TriNorm(&tri1, &acQuad->dim.quad[2], &acQuad->dim.quad[3], &acQuad->dim.quad[1]); + Math3D_TriNorm(&tri2, &acQuad->dim.quad[1], &acQuad->dim.quad[0], &acQuad->dim.quad[2]); + for (atTrisElem = atTris->elements; atTrisElem < atTris->elements + atTris->count; atTrisElem++) { + if (CollisionCheck_SkipElementTouch(&atTrisElem->base) == true) { continue; } - if (CollisionCheck_NoSharedFlags(&atItem->info, &ac->info) == true) { + if (CollisionCheck_NoSharedFlags(&atTrisElem->base, &acQuad->elem) == true) { continue; } - if (Math3D_TriVsTriIntersect(&tri1, &atItem->dim, &hitPos) == true || - Math3D_TriVsTriIntersect(&tri2, &atItem->dim, &hitPos) == true) { + if (Math3D_TriVsTriIntersect(&tri1, &atTrisElem->dim, &hitPos) == true || + Math3D_TriVsTriIntersect(&tri2, &atTrisElem->dim, &hitPos) == true) { Vec3f atPos; Vec3f acPos; - atPos.x = (atItem->dim.vtx[0].x + atItem->dim.vtx[1].x + atItem->dim.vtx[2].x) * (1.0f / 3); - atPos.y = (atItem->dim.vtx[0].y + atItem->dim.vtx[1].y + atItem->dim.vtx[2].y) * (1.0f / 3); - atPos.z = (atItem->dim.vtx[0].z + atItem->dim.vtx[1].z + atItem->dim.vtx[2].z) * (1.0f / 3); - acPos.x = (ac->dim.quad[0].x + (ac->dim.quad[1].x + (ac->dim.quad[3].x + ac->dim.quad[2].x))) / 4.0f; - acPos.y = (ac->dim.quad[0].y + (ac->dim.quad[1].y + (ac->dim.quad[3].y + ac->dim.quad[2].y))) / 4.0f; - acPos.z = (ac->dim.quad[0].z + (ac->dim.quad[1].z + (ac->dim.quad[3].z + ac->dim.quad[2].z))) / 4.0f; - CollisionCheck_SetATvsAC(play, &at->base, &atItem->info, &atPos, &ac->base, &ac->info, &acPos, &hitPos); + atPos.x = (atTrisElem->dim.vtx[0].x + atTrisElem->dim.vtx[1].x + atTrisElem->dim.vtx[2].x) * (1.0f / 3); + atPos.y = (atTrisElem->dim.vtx[0].y + atTrisElem->dim.vtx[1].y + atTrisElem->dim.vtx[2].y) * (1.0f / 3); + atPos.z = (atTrisElem->dim.vtx[0].z + atTrisElem->dim.vtx[1].z + atTrisElem->dim.vtx[2].z) * (1.0f / 3); + acPos.x = (acQuad->dim.quad[0].x + + (acQuad->dim.quad[1].x + (acQuad->dim.quad[3].x + acQuad->dim.quad[2].x))) / + 4.0f; + acPos.y = (acQuad->dim.quad[0].y + + (acQuad->dim.quad[1].y + (acQuad->dim.quad[3].y + acQuad->dim.quad[2].y))) / + 4.0f; + acPos.z = (acQuad->dim.quad[0].z + + (acQuad->dim.quad[1].z + (acQuad->dim.quad[3].z + acQuad->dim.quad[2].z))) / + 4.0f; + CollisionCheck_SetATvsAC(play, &atTris->base, &atTrisElem->base, &atPos, &acQuad->base, &acQuad->elem, + &acPos, &hitPos); return; } } } } -/** - * AC overlap check. Calculates the center of each collider element and the point of contact. - */ -void CollisionCheck_AC_QuadVsTris(PlayState* play, CollisionCheckContext* colChkCtx, Collider* colAT, Collider* colAC) { +void CollisionCheck_ATQuadVsACTris(PlayState* play, CollisionCheckContext* colChkCtx, Collider* atCol, + Collider* acCol) { static Vec3f hitPos; static TriNorm tri1; static TriNorm tri2; - ColliderQuad* at = (ColliderQuad*)colAT; - ColliderTris* ac = (ColliderTris*)colAC; - ColliderTrisElement* acElem; + ColliderQuad* atQuad = (ColliderQuad*)atCol; + ColliderTris* acTris = (ColliderTris*)acCol; + ColliderTrisElement* acTrisElem; - if (ac->count > 0 && ac->elements != NULL) { - if (CollisionCheck_SkipTouch(&at->info) == true) { + if (acTris->count > 0 && acTris->elements != NULL) { + if (CollisionCheck_SkipElementTouch(&atQuad->elem) == true) { return; } - Math3D_TriNorm(&tri1, &at->dim.quad[2], &at->dim.quad[3], &at->dim.quad[1]); - Math3D_TriNorm(&tri2, &at->dim.quad[1], &at->dim.quad[0], &at->dim.quad[2]); - for (acElem = ac->elements; acElem < ac->elements + ac->count; acElem++) { - if (CollisionCheck_SkipBump(&acElem->info) == true) { + Math3D_TriNorm(&tri1, &atQuad->dim.quad[2], &atQuad->dim.quad[3], &atQuad->dim.quad[1]); + Math3D_TriNorm(&tri2, &atQuad->dim.quad[1], &atQuad->dim.quad[0], &atQuad->dim.quad[2]); + for (acTrisElem = acTris->elements; acTrisElem < acTris->elements + acTris->count; acTrisElem++) { + if (CollisionCheck_SkipElementBump(&acTrisElem->base) == true) { continue; } - if (CollisionCheck_NoSharedFlags(&at->info, &acElem->info) == true) { + if (CollisionCheck_NoSharedFlags(&atQuad->elem, &acTrisElem->base) == true) { continue; } - if (Math3D_TriVsTriIntersect(&tri1, &acElem->dim, &hitPos) == true || - Math3D_TriVsTriIntersect(&tri2, &acElem->dim, &hitPos) == true) { - if (Collider_QuadSetNearestAC(play, at, &hitPos)) { + if (Math3D_TriVsTriIntersect(&tri1, &acTrisElem->dim, &hitPos) == true || + Math3D_TriVsTriIntersect(&tri2, &acTrisElem->dim, &hitPos) == true) { + if (Collider_QuadSetNearestAC(play, atQuad, &hitPos)) { Vec3f atPos; Vec3f acPos; - acPos.x = (acElem->dim.vtx[0].x + acElem->dim.vtx[1].x + acElem->dim.vtx[2].x) * (1.0f / 3); - acPos.y = (acElem->dim.vtx[0].y + acElem->dim.vtx[1].y + acElem->dim.vtx[2].y) * (1.0f / 3); - acPos.z = (acElem->dim.vtx[0].z + acElem->dim.vtx[1].z + acElem->dim.vtx[2].z) * (1.0f / 3); - atPos.x = - (at->dim.quad[0].x + (at->dim.quad[1].x + (at->dim.quad[3].x + at->dim.quad[2].x))) / 4.0f; - atPos.y = - (at->dim.quad[0].y + (at->dim.quad[1].y + (at->dim.quad[3].y + at->dim.quad[2].y))) / 4.0f; - atPos.z = - (at->dim.quad[0].z + (at->dim.quad[1].z + (at->dim.quad[3].z + at->dim.quad[2].z))) / 4.0f; - CollisionCheck_SetATvsAC(play, &at->base, &at->info, &atPos, &ac->base, &acElem->info, &acPos, - &hitPos); + acPos.x = + (acTrisElem->dim.vtx[0].x + acTrisElem->dim.vtx[1].x + acTrisElem->dim.vtx[2].x) * (1.0f / 3); + acPos.y = + (acTrisElem->dim.vtx[0].y + acTrisElem->dim.vtx[1].y + acTrisElem->dim.vtx[2].y) * (1.0f / 3); + acPos.z = + (acTrisElem->dim.vtx[0].z + acTrisElem->dim.vtx[1].z + acTrisElem->dim.vtx[2].z) * (1.0f / 3); + atPos.x = (atQuad->dim.quad[0].x + + (atQuad->dim.quad[1].x + (atQuad->dim.quad[3].x + atQuad->dim.quad[2].x))) / + 4.0f; + atPos.y = (atQuad->dim.quad[0].y + + (atQuad->dim.quad[1].y + (atQuad->dim.quad[3].y + atQuad->dim.quad[2].y))) / + 4.0f; + atPos.z = (atQuad->dim.quad[0].z + + (atQuad->dim.quad[1].z + (atQuad->dim.quad[3].z + atQuad->dim.quad[2].z))) / + 4.0f; + CollisionCheck_SetATvsAC(play, &atQuad->base, &atQuad->elem, &atPos, &acTris->base, + &acTrisElem->base, &acPos, &hitPos); return; } } @@ -2407,53 +2450,58 @@ void CollisionCheck_AC_QuadVsTris(PlayState* play, CollisionCheckContext* colChk } } -/** - * AC overlap check. Calculates the center of each collider element and the point of contact. - */ -void CollisionCheck_AC_QuadVsQuad(PlayState* play, CollisionCheckContext* colChkCtx, Collider* colAT, Collider* colAC) { +void CollisionCheck_ATQuadVsACQuad(PlayState* play, CollisionCheckContext* colChkCtx, Collider* atCol, + Collider* acCol) { static TriNorm acTris[2]; static Vec3f hitPos; static TriNorm atTris[2]; - ColliderQuad* at = (ColliderQuad*)colAT; - ColliderQuad* ac = (ColliderQuad*)colAC; + ColliderQuad* atQuad = (ColliderQuad*)atCol; + ColliderQuad* acQuad = (ColliderQuad*)acCol; s32 i; s32 j; - if (CollisionCheck_SkipTouch(&at->info) == true) { + if (CollisionCheck_SkipElementTouch(&atQuad->elem) == true) { return; } - if (CollisionCheck_SkipBump(&ac->info) == true) { + if (CollisionCheck_SkipElementBump(&acQuad->elem) == true) { return; } - if (CollisionCheck_NoSharedFlags(&at->info, &ac->info) == true) { + if (CollisionCheck_NoSharedFlags(&atQuad->elem, &acQuad->elem) == true) { return; } - Math3D_TriNorm(&atTris[0], &at->dim.quad[2], &at->dim.quad[3], &at->dim.quad[1]); - Math3D_TriNorm(&atTris[1], &at->dim.quad[2], &at->dim.quad[1], &at->dim.quad[0]); - Math3D_TriNorm(&acTris[0], &ac->dim.quad[2], &ac->dim.quad[3], &ac->dim.quad[1]); - Math3D_TriNorm(&acTris[1], &ac->dim.quad[2], &ac->dim.quad[1], &ac->dim.quad[0]); + Math3D_TriNorm(&atTris[0], &atQuad->dim.quad[2], &atQuad->dim.quad[3], &atQuad->dim.quad[1]); + Math3D_TriNorm(&atTris[1], &atQuad->dim.quad[2], &atQuad->dim.quad[1], &atQuad->dim.quad[0]); + Math3D_TriNorm(&acTris[0], &acQuad->dim.quad[2], &acQuad->dim.quad[3], &acQuad->dim.quad[1]); + Math3D_TriNorm(&acTris[1], &acQuad->dim.quad[2], &acQuad->dim.quad[1], &acQuad->dim.quad[0]); for (i = 0; i < 2; i++) { for (j = 0; j < 2; j++) { if (Math3D_TriVsTriIntersect(&atTris[j], &acTris[i], &hitPos) == true) { - if (Collider_QuadSetNearestAC(play, at, &hitPos)) { + if (Collider_QuadSetNearestAC(play, atQuad, &hitPos)) { Vec3f atPos; Vec3f acPos; - atPos.x = - (at->dim.quad[0].x + (at->dim.quad[1].x + (at->dim.quad[3].x + at->dim.quad[2].x))) / 4.0f; - atPos.y = - (at->dim.quad[0].y + (at->dim.quad[1].y + (at->dim.quad[3].y + at->dim.quad[2].y))) / 4.0f; - atPos.z = - (at->dim.quad[0].z + (at->dim.quad[1].z + (at->dim.quad[3].z + at->dim.quad[2].z))) / 4.0f; - acPos.x = - (ac->dim.quad[0].x + (ac->dim.quad[1].x + (ac->dim.quad[3].x + ac->dim.quad[2].x))) / 4.0f; - acPos.y = - (ac->dim.quad[0].y + (ac->dim.quad[1].y + (ac->dim.quad[3].y + ac->dim.quad[2].y))) / 4.0f; - acPos.z = - (ac->dim.quad[0].z + (ac->dim.quad[1].z + (ac->dim.quad[3].z + ac->dim.quad[2].z))) / 4.0f; - CollisionCheck_SetATvsAC(play, &at->base, &at->info, &atPos, &ac->base, &ac->info, &acPos, &hitPos); + atPos.x = (atQuad->dim.quad[0].x + + (atQuad->dim.quad[1].x + (atQuad->dim.quad[3].x + atQuad->dim.quad[2].x))) / + 4.0f; + atPos.y = (atQuad->dim.quad[0].y + + (atQuad->dim.quad[1].y + (atQuad->dim.quad[3].y + atQuad->dim.quad[2].y))) / + 4.0f; + atPos.z = (atQuad->dim.quad[0].z + + (atQuad->dim.quad[1].z + (atQuad->dim.quad[3].z + atQuad->dim.quad[2].z))) / + 4.0f; + acPos.x = (acQuad->dim.quad[0].x + + (acQuad->dim.quad[1].x + (acQuad->dim.quad[3].x + acQuad->dim.quad[2].x))) / + 4.0f; + acPos.y = (acQuad->dim.quad[0].y + + (acQuad->dim.quad[1].y + (acQuad->dim.quad[3].y + acQuad->dim.quad[2].y))) / + 4.0f; + acPos.z = (acQuad->dim.quad[0].z + + (acQuad->dim.quad[1].z + (acQuad->dim.quad[3].z + acQuad->dim.quad[2].z))) / + 4.0f; + CollisionCheck_SetATvsAC(play, &atQuad->base, &atQuad->elem, &atPos, &acQuad->base, &acQuad->elem, + &acPos, &hitPos); return; } } @@ -2461,74 +2509,61 @@ void CollisionCheck_AC_QuadVsQuad(PlayState* play, CollisionCheckContext* colChk } } -/** - * Sets a ColliderJntSph's hit effects - */ -void CollisionCheck_SetJntSphHitFX(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider) { - ColliderJntSph* jntSph = (ColliderJntSph*)collider; - ColliderJntSphElement* element; +void CollisionCheck_SetJntSphHitFX(PlayState* play, CollisionCheckContext* colChkCtx, Collider* col) { + ColliderJntSph* jntSph = (ColliderJntSph*)col; + ColliderJntSphElement* jntSphElem; Vec3f hitPos; - for (element = jntSph->elements; element < jntSph->elements + jntSph->count; element++) { - if ((element->info.bumperFlags & BUMP_DRAW_HITMARK) && (element->info.acHitInfo != NULL) && - !(element->info.acHitInfo->toucherFlags & TOUCH_DREW_HITMARK)) { - Math_Vec3s_ToVec3f(&hitPos, &element->info.bumper.hitPos); - CollisionCheck_HitEffects(play, element->info.acHit, element->info.acHitInfo, &jntSph->base, &element->info, - &hitPos); - element->info.acHitInfo->toucherFlags |= TOUCH_DREW_HITMARK; + for (jntSphElem = jntSph->elements; jntSphElem < jntSph->elements + jntSph->count; jntSphElem++) { + if ((jntSphElem->base.bumperFlags & BUMP_DRAW_HITMARK) && (jntSphElem->base.acHitElem != NULL) && + !(jntSphElem->base.acHitElem->toucherFlags & TOUCH_DREW_HITMARK)) { + Math_Vec3s_ToVec3f(&hitPos, &jntSphElem->base.bumper.hitPos); + CollisionCheck_HitEffects(play, jntSphElem->base.acHit, jntSphElem->base.acHitElem, &jntSph->base, + &jntSphElem->base, &hitPos); + jntSphElem->base.acHitElem->toucherFlags |= TOUCH_DREW_HITMARK; return; } } } -/** - * Sets a ColliderCylinder's hit effects - */ -void CollisionCheck_SetCylHitFX(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider) { - ColliderCylinder* cylinder = (ColliderCylinder*)collider; +void CollisionCheck_SetCylHitFX(PlayState* play, CollisionCheckContext* colChkCtx, Collider* col) { + ColliderCylinder* cyl = (ColliderCylinder*)col; Vec3f hitPos; - if ((cylinder->info.bumperFlags & BUMP_DRAW_HITMARK) && (cylinder->info.acHitInfo != NULL) && - !(cylinder->info.acHitInfo->toucherFlags & TOUCH_DREW_HITMARK)) { - Math_Vec3s_ToVec3f(&hitPos, &cylinder->info.bumper.hitPos); - CollisionCheck_HitEffects(play, cylinder->info.acHit, cylinder->info.acHitInfo, &cylinder->base, - &cylinder->info, &hitPos); - cylinder->info.acHitInfo->toucherFlags |= TOUCH_DREW_HITMARK; + if ((cyl->elem.bumperFlags & BUMP_DRAW_HITMARK) && (cyl->elem.acHitElem != NULL) && + !(cyl->elem.acHitElem->toucherFlags & TOUCH_DREW_HITMARK)) { + Math_Vec3s_ToVec3f(&hitPos, &cyl->elem.bumper.hitPos); + CollisionCheck_HitEffects(play, cyl->elem.acHit, cyl->elem.acHitElem, &cyl->base, &cyl->elem, &hitPos); + cyl->elem.acHitElem->toucherFlags |= TOUCH_DREW_HITMARK; } } -/** - * Sets a ColliderTris's hit effects - */ -void CollisionCheck_SetTrisHitFX(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider) { - ColliderTris* tris = (ColliderTris*)collider; - ColliderTrisElement* element; +void CollisionCheck_SetTrisHitFX(PlayState* play, CollisionCheckContext* colChkCtx, Collider* col) { + ColliderTris* tris = (ColliderTris*)col; + ColliderTrisElement* trisElem; Vec3f hitPos; - for (element = tris->elements; element < tris->elements + tris->count; element++) { - if ((element->info.bumperFlags & BUMP_DRAW_HITMARK) && (element->info.acHitInfo != NULL) && - !(element->info.acHitInfo->toucherFlags & TOUCH_DREW_HITMARK)) { - Math_Vec3s_ToVec3f(&hitPos, &element->info.bumper.hitPos); - CollisionCheck_HitEffects(play, element->info.acHit, element->info.acHitInfo, &tris->base, &element->info, - &hitPos); - element->info.acHitInfo->toucherFlags |= TOUCH_DREW_HITMARK; + for (trisElem = tris->elements; trisElem < tris->elements + tris->count; trisElem++) { + if ((trisElem->base.bumperFlags & BUMP_DRAW_HITMARK) && (trisElem->base.acHitElem != NULL) && + !(trisElem->base.acHitElem->toucherFlags & TOUCH_DREW_HITMARK)) { + Math_Vec3s_ToVec3f(&hitPos, &trisElem->base.bumper.hitPos); + CollisionCheck_HitEffects(play, trisElem->base.acHit, trisElem->base.acHitElem, &tris->base, + &trisElem->base, &hitPos); + trisElem->base.acHitElem->toucherFlags |= TOUCH_DREW_HITMARK; return; } } } -/** - * Sets a ColliderQuad's hit effects - */ -void CollisionCheck_SetQuadHitFX(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider) { - ColliderQuad* quad = (ColliderQuad*)collider; +void CollisionCheck_SetQuadHitFX(PlayState* play, CollisionCheckContext* colChkCtx, Collider* col) { + ColliderQuad* quad = (ColliderQuad*)col; Vec3f hitPos; - if ((quad->info.bumperFlags & BUMP_DRAW_HITMARK) && (quad->info.acHitInfo != NULL) && - !(quad->info.acHitInfo->toucherFlags & TOUCH_DREW_HITMARK)) { - Math_Vec3s_ToVec3f(&hitPos, &quad->info.bumper.hitPos); - CollisionCheck_HitEffects(play, quad->info.acHit, quad->info.acHitInfo, &quad->base, &quad->info, &hitPos); - quad->info.acHitInfo->toucherFlags |= TOUCH_DREW_HITMARK; + if ((quad->elem.bumperFlags & BUMP_DRAW_HITMARK) && (quad->elem.acHitElem != NULL) && + !(quad->elem.acHitElem->toucherFlags & TOUCH_DREW_HITMARK)) { + Math_Vec3s_ToVec3f(&hitPos, &quad->elem.bumper.hitPos); + CollisionCheck_HitEffects(play, quad->elem.acHit, quad->elem.acHitElem, &quad->base, &quad->elem, &hitPos); + quad->elem.acHitElem->toucherFlags |= TOUCH_DREW_HITMARK; } } @@ -2543,49 +2578,69 @@ static ColChkApplyFunc sColChkApplyFuncs[] = { * Handles hit effects for each AC collider that had an AC collision. Spawns hitmarks and plays sound effects. */ void CollisionCheck_SetHitEffects(PlayState* play, CollisionCheckContext* colChkCtx) { - Collider** col; + Collider** acColP; - for (col = colChkCtx->colAC; col < colChkCtx->colAC + colChkCtx->colACCount; col++) { - Collider* colAC = *col; + for (acColP = colChkCtx->colAC; acColP < colChkCtx->colAC + colChkCtx->colACCount; acColP++) { + Collider* acCol = *acColP; - if (colAC != NULL && colAC->acFlags & AC_ON) { - if (colAC->actor != NULL && colAC->actor->update == NULL) { + if (acCol != NULL && acCol->acFlags & AC_ON) { + if (acCol->actor != NULL && acCol->actor->update == NULL) { continue; } - sColChkApplyFuncs[colAC->shape](play, colChkCtx, colAC); + sColChkApplyFuncs[acCol->shape](play, colChkCtx, acCol); } } } static ColChkVsFunc sACVsFuncs[COLSHAPE_MAX][COLSHAPE_MAX] = { - { CollisionCheck_AC_JntSphVsJntSph, CollisionCheck_AC_JntSphVsCyl, CollisionCheck_AC_JntSphVsTris, - CollisionCheck_AC_JntSphVsQuad }, - { CollisionCheck_AC_CylVsJntSph, CollisionCheck_AC_CylVsCyl, CollisionCheck_AC_CylVsTris, - CollisionCheck_AC_CylVsQuad }, - { CollisionCheck_AC_TrisVsJntSph, CollisionCheck_AC_TrisVsCyl, CollisionCheck_AC_TrisVsTris, - CollisionCheck_AC_TrisVsQuad }, - { CollisionCheck_AC_QuadVsJntSph, CollisionCheck_AC_QuadVsCyl, CollisionCheck_AC_QuadVsTris, - CollisionCheck_AC_QuadVsQuad }, + // COLSHAPE_JNTSPH + { + CollisionCheck_ATJntSphVsACJntSph, // COLSHAPE_JNTSPH + CollisionCheck_ATJntSphVsACCyl, // COLSHAPE_CYLINDER + CollisionCheck_ATJntSphVsACTris, // COLSHAPE_TRIS + CollisionCheck_ATJntSphVsACQuad // COLSHAPE_QUAD + }, + // COLSHAPE_CYLINDER + { + CollisionCheck_ATCylVsACJntSph, // COLSHAPE_JNTSPH + CollisionCheck_ATCylVsACCyl, // COLSHAPE_CYLINDER + CollisionCheck_ATCylVsACTris, // COLSHAPE_TRIS + CollisionCheck_ATCylVsACQuad // COLSHAPE_QUAD + }, + // COLSHAPE_TRIS + { + CollisionCheck_ATTrisVsACJntSph, // COLSHAPE_JNTSPH + CollisionCheck_ATTrisVsACCyl, // COLSHAPE_CYLINDER + CollisionCheck_ATTrisVsACTris, // COLSHAPE_TRIS + CollisionCheck_ATTrisVsACQuad // COLSHAPE_QUAD + }, + // COLSHAPE_QUAD + { + CollisionCheck_ATQuadVsACJntSph, // COLSHAPE_JNTSPH + CollisionCheck_ATQuadVsACCyl, // COLSHAPE_CYLINDER + CollisionCheck_ATQuadVsACTris, // COLSHAPE_TRIS + CollisionCheck_ATQuadVsACQuad // COLSHAPE_QUAD + }, }; /** * Iterates through all AC colliders, performing AC collisions with the AT collider. */ -void CollisionCheck_AC(PlayState* play, CollisionCheckContext* colChkCtx, Collider* colAT) { - Collider** col; +void CollisionCheck_AC(PlayState* play, CollisionCheckContext* colChkCtx, Collider* atCol) { + Collider** acColP; - for (col = colChkCtx->colAC; col < colChkCtx->colAC + colChkCtx->colACCount; col++) { - Collider* colAC = *col; + for (acColP = colChkCtx->colAC; acColP < colChkCtx->colAC + colChkCtx->colACCount; acColP++) { + Collider* acCol = *acColP; - if (colAC != NULL && colAC->acFlags & AC_ON) { - if (colAC->actor != NULL && colAC->actor->update == NULL) { + if (acCol != NULL && acCol->acFlags & AC_ON) { + if (acCol->actor != NULL && acCol->actor->update == NULL) { continue; } - if ((colAC->acFlags & colAT->atFlags & AC_TYPE_ALL) && (colAT != colAC)) { - if (!(colAT->atFlags & AT_SELF) && colAT->actor != NULL && colAC->actor == colAT->actor) { + if ((acCol->acFlags & atCol->atFlags & AC_TYPE_ALL) && (atCol != acCol)) { + if (!(atCol->atFlags & AT_SELF) && atCol->actor != NULL && acCol->actor == atCol->actor) { continue; } - sACVsFuncs[colAT->shape][colAC->shape](play, colChkCtx, colAT, colAC); + sACVsFuncs[atCol->shape][acCol->shape](play, colChkCtx, atCol, acCol); } } } @@ -2598,26 +2653,32 @@ void CollisionCheck_AC(PlayState* play, CollisionCheckContext* colChkCtx, Collid * with the AC collider and the toucher and bumper elements that overlapped must share a dmgFlag. */ void CollisionCheck_AT(PlayState* play, CollisionCheckContext* colChkCtx) { - Collider** col; + Collider** atColP; if (colChkCtx->colATCount == 0 || colChkCtx->colACCount == 0) { return; } - for (col = colChkCtx->colAT; col < colChkCtx->colAT + colChkCtx->colATCount; col++) { - Collider* colAT = *col; + for (atColP = colChkCtx->colAT; atColP < colChkCtx->colAT + colChkCtx->colATCount; atColP++) { + Collider* atCol = *atColP; - if (colAT != NULL && colAT->atFlags & AT_ON) { - if (colAT->actor != NULL && colAT->actor->update == NULL) { + if (atCol != NULL && atCol->atFlags & AT_ON) { + if (atCol->actor != NULL && atCol->actor->update == NULL) { continue; } - CollisionCheck_AC(play, colChkCtx, colAT); + CollisionCheck_AC(play, colChkCtx, atCol); } } CollisionCheck_SetHitEffects(play, colChkCtx); } +typedef enum { + /* 0 */ MASSTYPE_IMMOVABLE, + /* 1 */ MASSTYPE_HEAVY, + /* 2 */ MASSTYPE_NORMAL +} ColChkMassType; + /** - * Get mass type. Immobile colliders cannot be pushed, while heavy colliders can only be pushed by heavy and immobile + * Get mass type. Immovable colliders cannot be pushed, while heavy colliders can only be pushed by heavy and immovable * colliders. */ s32 CollisionCheck_GetMassType(u8 mass) { @@ -2634,8 +2695,8 @@ s32 CollisionCheck_GetMassType(u8 mass) { * Sets OC collision flags for OC collider overlaps. If both colliders are attached to actors and can push, * also performs an elastic collision where both colliders are moved apart in proportion to their masses. */ -void CollisionCheck_SetOCvsOC(Collider* left, ColliderInfo* leftInfo, Vec3f* leftPos, Collider* right, - ColliderInfo* rightInfo, Vec3f* rightPos, f32 overlap) { +void CollisionCheck_SetOCvsOC(Collider* leftCol, ColliderElement* leftElem, Vec3f* leftPos, Collider* rightCol, + ColliderElement* rightElem, Vec3f* rightPos, f32 overlap) { f32 pad; f32 leftDispRatio; f32 rightDispRatio; @@ -2646,24 +2707,25 @@ void CollisionCheck_SetOCvsOC(Collider* left, ColliderInfo* leftInfo, Vec3f* lef f32 inverseTotalMass; f32 xDelta; f32 zDelta; - Actor* leftActor = left->actor; - Actor* rightActor = right->actor; + Actor* leftActor = leftCol->actor; + Actor* rightActor = rightCol->actor; s32 rightMassType; s32 leftMassType; - left->ocFlags1 |= OC1_HIT; - left->oc = rightActor; - leftInfo->ocElemFlags |= OCELEM_HIT; - if (right->ocFlags2 & OC2_TYPE_PLAYER) { - left->ocFlags2 |= OC2_HIT_PLAYER; + leftCol->ocFlags1 |= OC1_HIT; + leftCol->oc = rightActor; + leftElem->ocElemFlags |= OCELEM_HIT; + if (rightCol->ocFlags2 & OC2_TYPE_PLAYER) { + leftCol->ocFlags2 |= OC2_HIT_PLAYER; } - right->oc = leftActor; - right->ocFlags1 |= OC1_HIT; - rightInfo->ocElemFlags |= OCELEM_HIT; - if (left->ocFlags2 & OC2_TYPE_PLAYER) { - right->ocFlags2 |= OC2_HIT_PLAYER; + rightCol->oc = leftActor; + rightCol->ocFlags1 |= OC1_HIT; + rightElem->ocElemFlags |= OCELEM_HIT; + if (leftCol->ocFlags2 & OC2_TYPE_PLAYER) { + rightCol->ocFlags2 |= OC2_HIT_PLAYER; } - if (leftActor == NULL || rightActor == NULL || left->ocFlags1 & OC1_NO_PUSH || right->ocFlags1 & OC1_NO_PUSH) { + if (leftActor == NULL || rightActor == NULL || leftCol->ocFlags1 & OC1_NO_PUSH || + rightCol->ocFlags1 & OC1_NO_PUSH) { return; } leftMassType = CollisionCheck_GetMassType(leftActor->colChkInfo.mass); @@ -2724,94 +2786,91 @@ void CollisionCheck_SetOCvsOC(Collider* left, ColliderInfo* leftInfo, Vec3f* lef } } -/** - * OC overlap check for two JntSphs - */ -void CollisionCheck_OC_JntSphVsJntSph(PlayState* play, CollisionCheckContext* colChkCtx, Collider* l, Collider* r) { - ColliderJntSph* left = (ColliderJntSph*)l; - ColliderJntSphElement* leftElem; - ColliderJntSph* right = (ColliderJntSph*)r; - ColliderJntSphElement* rightElem; +void CollisionCheck_OC_JntSphVsJntSph(PlayState* play, CollisionCheckContext* colChkCtx, Collider* leftCol, + Collider* rightCol) { + ColliderJntSph* leftJntSph = (ColliderJntSph*)leftCol; + ColliderJntSphElement* leftJntSphElem; + ColliderJntSph* rightJntSph = (ColliderJntSph*)rightCol; + ColliderJntSphElement* rightJntSphElem; f32 overlapSize; - if (left->count > 0 && left->elements != NULL && right->count > 0 && right->elements != NULL) { - for (leftElem = left->elements; leftElem < left->elements + left->count; leftElem++) { - if (!(leftElem->info.ocElemFlags & OCELEM_ON)) { + if (leftJntSph->count > 0 && leftJntSph->elements != NULL && rightJntSph->count > 0 && + rightJntSph->elements != NULL) { + for (leftJntSphElem = leftJntSph->elements; leftJntSphElem < leftJntSph->elements + leftJntSph->count; + leftJntSphElem++) { + if (!(leftJntSphElem->base.ocElemFlags & OCELEM_ON)) { continue; } - for (rightElem = right->elements; rightElem < right->elements + right->count; rightElem++) { - if (!(rightElem->info.ocElemFlags & OCELEM_ON)) { + for (rightJntSphElem = rightJntSph->elements; rightJntSphElem < rightJntSph->elements + rightJntSph->count; + rightJntSphElem++) { + if (!(rightJntSphElem->base.ocElemFlags & OCELEM_ON)) { continue; } - if (Math3D_SphVsSphOverlap(&leftElem->dim.worldSphere, &rightElem->dim.worldSphere, &overlapSize) == + if (Math3D_SphVsSphOverlap(&leftJntSphElem->dim.worldSphere, &rightJntSphElem->dim.worldSphere, + &overlapSize) == true) { Vec3f leftPos; Vec3f rightPos; - Math_Vec3s_ToVec3f(&leftPos, &leftElem->dim.worldSphere.center); - Math_Vec3s_ToVec3f(&rightPos, &rightElem->dim.worldSphere.center); - CollisionCheck_SetOCvsOC(&left->base, &leftElem->info, &leftPos, &right->base, &rightElem->info, - &rightPos, overlapSize); + Math_Vec3s_ToVec3f(&leftPos, &leftJntSphElem->dim.worldSphere.center); + Math_Vec3s_ToVec3f(&rightPos, &rightJntSphElem->dim.worldSphere.center); + CollisionCheck_SetOCvsOC(&leftJntSph->base, &leftJntSphElem->base, &leftPos, &rightJntSph->base, + &rightJntSphElem->base, &rightPos, overlapSize); } } } } } -/** - * OC overlap check for a JntSph and Cylinder - */ -void CollisionCheck_OC_JntSphVsCyl(PlayState* play, CollisionCheckContext* colChkCtx, Collider* l, Collider* r) { - ColliderJntSph* left = (ColliderJntSph*)l; - ColliderJntSphElement* leftElem; - ColliderCylinder* right = (ColliderCylinder*)r; +void CollisionCheck_OC_JntSphVsCyl(PlayState* play, CollisionCheckContext* colChkCtx, Collider* leftCol, + Collider* rightCol) { + ColliderJntSph* leftJntSph = (ColliderJntSph*)leftCol; + ColliderJntSphElement* leftJntSphElem; + ColliderCylinder* rightCyl = (ColliderCylinder*)rightCol; f32 overlapSize; - if (left->count > 0 && left->elements != NULL) { - if ((right->base.ocFlags1 & OC1_ON) && (right->info.ocElemFlags & OCELEM_ON)) { - for (leftElem = left->elements; leftElem < left->elements + left->count; leftElem++) { - if (!(leftElem->info.ocElemFlags & OCELEM_ON)) { + if (leftJntSph->count > 0 && leftJntSph->elements != NULL) { + if ((rightCyl->base.ocFlags1 & OC1_ON) && (rightCyl->elem.ocElemFlags & OCELEM_ON)) { + for (leftJntSphElem = leftJntSph->elements; leftJntSphElem < leftJntSph->elements + leftJntSph->count; + leftJntSphElem++) { + if (!(leftJntSphElem->base.ocElemFlags & OCELEM_ON)) { continue; } - if (Math3D_SphVsCylOverlap(&leftElem->dim.worldSphere, &right->dim, &overlapSize) == true) { + if (Math3D_SphVsCylOverlap(&leftJntSphElem->dim.worldSphere, &rightCyl->dim, &overlapSize) == true) { Vec3f leftPos; Vec3f rightPos; - Math_Vec3s_ToVec3f(&leftPos, &leftElem->dim.worldSphere.center); - Math_Vec3s_ToVec3f(&rightPos, &right->dim.pos); - CollisionCheck_SetOCvsOC(&left->base, &leftElem->info, &leftPos, &right->base, &right->info, - &rightPos, overlapSize); + Math_Vec3s_ToVec3f(&leftPos, &leftJntSphElem->dim.worldSphere.center); + Math_Vec3s_ToVec3f(&rightPos, &rightCyl->dim.pos); + CollisionCheck_SetOCvsOC(&leftJntSph->base, &leftJntSphElem->base, &leftPos, &rightCyl->base, + &rightCyl->elem, &rightPos, overlapSize); } } } } } -/** - * OC overlap check for a Cylinder and JntSph - */ -void CollisionCheck_OC_CylVsJntSph(PlayState* play, CollisionCheckContext* colChkCtx, Collider* l, Collider* r) { - CollisionCheck_OC_JntSphVsCyl(play, colChkCtx, r, l); +void CollisionCheck_OC_CylVsJntSph(PlayState* play, CollisionCheckContext* colChkCtx, Collider* leftCol, + Collider* rightCol) { + CollisionCheck_OC_JntSphVsCyl(play, colChkCtx, rightCol, leftCol); } -/** - * OC overlap check for two Cylinders - */ -void CollisionCheck_OC_CylVsCyl(PlayState* play, CollisionCheckContext* colChkCtx, Collider* l, Collider* r) { - ColliderCylinder* left = (ColliderCylinder*)l; - ColliderCylinder* right = (ColliderCylinder*)r; +void CollisionCheck_OC_CylVsCyl(PlayState* play, CollisionCheckContext* colChkCtx, Collider* leftCol, + Collider* rightCol) { + ColliderCylinder* leftCyl = (ColliderCylinder*)leftCol; + ColliderCylinder* rightCyl = (ColliderCylinder*)rightCol; f32 overlapSize; - if ((left->base.ocFlags1 & OC1_ON) && (right->base.ocFlags1 & OC1_ON)) { - if ((left->info.ocElemFlags & OCELEM_ON) && (right->info.ocElemFlags & OCELEM_ON)) { - if (Math3D_CylVsCylOverlap(&left->dim, &right->dim, &overlapSize) == true) { + if ((leftCyl->base.ocFlags1 & OC1_ON) && (rightCyl->base.ocFlags1 & OC1_ON)) { + if ((leftCyl->elem.ocElemFlags & OCELEM_ON) && (rightCyl->elem.ocElemFlags & OCELEM_ON)) { + if (Math3D_CylVsCylOverlap(&leftCyl->dim, &rightCyl->dim, &overlapSize) == true) { Vec3f leftPos; Vec3f rightPos; - Math_Vec3s_ToVec3f(&leftPos, &left->dim.pos); - Math_Vec3s_ToVec3f(&rightPos, &right->dim.pos); - CollisionCheck_SetOCvsOC(&left->base, &left->info, &leftPos, &right->base, &right->info, &rightPos, - overlapSize); + Math_Vec3s_ToVec3f(&leftPos, &leftCyl->dim.pos); + Math_Vec3s_ToVec3f(&rightPos, &rightCyl->dim.pos); + CollisionCheck_SetOCvsOC(&leftCyl->base, &leftCyl->elem, &leftPos, &rightCyl->base, &rightCyl->elem, + &rightPos, overlapSize); } } } @@ -2834,7 +2893,7 @@ s32 CollisionCheck_SkipOC(Collider* collider) { * Third, the colliders can't collide if they belong to the same actor */ s32 CollisionCheck_Incompatible(Collider* left, Collider* right) { - if (!(left->ocFlags1 & right->ocFlags2 & OC1_TYPE_ALL) || !(left->ocFlags2 & right->ocFlags1 & OC1_TYPE_ALL) || + if (!((left->ocFlags1 & right->ocFlags2 & OC1_TYPE_ALL) && (left->ocFlags2 & right->ocFlags1 & OC1_TYPE_ALL)) || ((left->ocFlags2 & OC2_UNK1) && (right->ocFlags2 & OC2_UNK2)) || ((right->ocFlags2 & OC2_UNK1) && (left->ocFlags2 & OC2_UNK2))) { return true; @@ -2846,10 +2905,34 @@ s32 CollisionCheck_Incompatible(Collider* left, Collider* right) { } static ColChkVsFunc sOCVsFuncs[COLSHAPE_MAX][COLSHAPE_MAX] = { - { CollisionCheck_OC_JntSphVsJntSph, CollisionCheck_OC_JntSphVsCyl, NULL, NULL }, - { CollisionCheck_OC_CylVsJntSph, CollisionCheck_OC_CylVsCyl, NULL, NULL }, - { NULL, NULL, NULL, NULL }, - { NULL, NULL, NULL, NULL }, + // COLSHAPE_JNTSPH + { + CollisionCheck_OC_JntSphVsJntSph, // COLSHAPE_JNTSPH + CollisionCheck_OC_JntSphVsCyl, // COLSHAPE_CYLINDER + NULL, // COLSHAPE_TRIS + NULL // COLSHAPE_QUAD + }, + // COLSHAPE_CYLINDER + { + CollisionCheck_OC_CylVsJntSph, // COLSHAPE_JNTSPH + CollisionCheck_OC_CylVsCyl, // COLSHAPE_CYLINDER + NULL, // COLSHAPE_TRIS + NULL // COLSHAPE_QUAD + }, + // COLSHAPE_TRIS + { + NULL, // COLSHAPE_JNTSPH + NULL, // COLSHAPE_CYLINDER + NULL, // COLSHAPE_TRIS + NULL // COLSHAPE_QUAD + }, + // COLSHAPE_QUAD + { + NULL, // COLSHAPE_JNTSPH + NULL, // COLSHAPE_CYLINDER + NULL, // COLSHAPE_TRIS + NULL // COLSHAPE_QUAD + }, }; /** @@ -2860,26 +2943,26 @@ static ColChkVsFunc sOCVsFuncs[COLSHAPE_MAX][COLSHAPE_MAX] = { * cannot collide with OC2_UNK2, nor can two colliders that share an actor. */ void CollisionCheck_OC(PlayState* play, CollisionCheckContext* colChkCtx) { - Collider** left; - Collider** right; + Collider** leftColP; + Collider** rightColP; ColChkVsFunc vsFunc; - for (left = colChkCtx->colOC; left < colChkCtx->colOC + colChkCtx->colOCCount; left++) { - if (*left == NULL || CollisionCheck_SkipOC(*left) == true) { + for (leftColP = colChkCtx->colOC; leftColP < colChkCtx->colOC + colChkCtx->colOCCount; leftColP++) { + if (*leftColP == NULL || CollisionCheck_SkipOC(*leftColP) == true) { continue; } - for (right = left + 1; right < colChkCtx->colOC + colChkCtx->colOCCount; right++) { - if (*right == NULL || CollisionCheck_SkipOC(*right) == true || - CollisionCheck_Incompatible(*left, *right) == true) { + for (rightColP = leftColP + 1; rightColP < colChkCtx->colOC + colChkCtx->colOCCount; rightColP++) { + if (*rightColP == NULL || CollisionCheck_SkipOC(*rightColP) == true || + CollisionCheck_Incompatible(*leftColP, *rightColP) == true) { continue; } - vsFunc = sOCVsFuncs[(*left)->shape][(*right)->shape]; + vsFunc = sOCVsFuncs[(*leftColP)->shape][(*rightColP)->shape]; if (vsFunc == NULL) { // "Not compatible" - osSyncPrintf("CollisionCheck_OC():未対応 %d, %d\n", (*left)->shape, (*right)->shape); + osSyncPrintf("CollisionCheck_OC():未対応 %d, %d\n", (*leftColP)->shape, (*rightColP)->shape); continue; } - vsFunc(play, colChkCtx, *left, *right); + vsFunc(play, colChkCtx, *leftColP, *rightColP); } } } @@ -2951,28 +3034,28 @@ void CollisionCheck_SetInfoGetDamageTable(CollisionCheckInfo* info, s32 index, C /** * Apply AC damage effect */ -void CollisionCheck_ApplyDamage(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider, - ColliderInfo* info) { +void CollisionCheck_ApplyDamage(PlayState* play, CollisionCheckContext* colChkCtx, Collider* col, + ColliderElement* elem) { DamageTable* tbl; f32 damage; - if (collider->actor == NULL || !(collider->acFlags & AC_HIT)) { + if (col->actor == NULL || !(col->acFlags & AC_HIT)) { return; } - if (!(info->bumperFlags & BUMP_HIT) || info->bumperFlags & BUMP_NO_DAMAGE) { + if (!(elem->bumperFlags & BUMP_HIT) || elem->bumperFlags & BUMP_NO_DAMAGE) { return; } - ASSERT(info->acHitInfo != NULL, "pclobj_elem->ac_hit_elem != NULL", "../z_collision_check.c", 6493); - tbl = collider->actor->colChkInfo.damageTable; + ASSERT(elem->acHitElem != NULL, "pclobj_elem->ac_hit_elem != NULL", "../z_collision_check.c", 6493); + tbl = col->actor->colChkInfo.damageTable; if (tbl == NULL) { - damage = (f32)info->acHitInfo->toucher.damage - info->bumper.defense; + damage = (f32)elem->acHitElem->toucher.damage - elem->bumper.defense; if (damage < 0) { damage = 0; } } else { s32 i; - u32 flags = info->acHitInfo->toucher.dmgFlags; + u32 flags = elem->acHitElem->toucher.dmgFlags; for (i = 0; i < 32; i++, flags >>= 1) { if (flags == 1) { @@ -2981,23 +3064,23 @@ void CollisionCheck_ApplyDamage(PlayState* play, CollisionCheckContext* colChkCt } damage = tbl->table[i] & 0xF; - collider->actor->colChkInfo.damageEffect = tbl->table[i] >> 4 & 0xF; + col->actor->colChkInfo.damageEffect = tbl->table[i] >> 4 & 0xF; } - if (!(collider->acFlags & AC_HARD)) { - collider->actor->colChkInfo.damage += damage; + if (!(col->acFlags & AC_HARD)) { + col->actor->colChkInfo.damage += damage; } } /** * Apply ColliderJntSph AC damage effect */ -void CollisionCheck_ApplyDamageJntSph(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider) { - ColliderJntSph* jntSph = (ColliderJntSph*)collider; +void CollisionCheck_ApplyDamageJntSph(PlayState* play, CollisionCheckContext* colChkCtx, Collider* col) { + ColliderJntSph* jntSph = (ColliderJntSph*)col; s32 i; if (jntSph->count > 0 && jntSph->elements != NULL) { for (i = 0; i < jntSph->count; i++) { - CollisionCheck_ApplyDamage(play, colChkCtx, &jntSph->base, &jntSph->elements[i].info); + CollisionCheck_ApplyDamage(play, colChkCtx, &jntSph->base, &jntSph->elements[i].base); } } } @@ -3005,29 +3088,31 @@ void CollisionCheck_ApplyDamageJntSph(PlayState* play, CollisionCheckContext* co /** * Apply ColliderCylinder AC damage effect */ -void CollisionCheck_ApplyDamageCyl(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider) { - ColliderCylinder* cylinder = (ColliderCylinder*)collider; - CollisionCheck_ApplyDamage(play, colChkCtx, &cylinder->base, &cylinder->info); +void CollisionCheck_ApplyDamageCyl(PlayState* play, CollisionCheckContext* colChkCtx, Collider* col) { + ColliderCylinder* cyl = (ColliderCylinder*)col; + + CollisionCheck_ApplyDamage(play, colChkCtx, &cyl->base, &cyl->elem); } /** * Apply ColliderTris AC damage effect */ -void CollisionCheck_ApplyDamageTris(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider) { - ColliderTris* tris = (ColliderTris*)collider; +void CollisionCheck_ApplyDamageTris(PlayState* play, CollisionCheckContext* colChkCtx, Collider* col) { + ColliderTris* tris = (ColliderTris*)col; s32 i; for (i = 0; i < tris->count; i++) { - CollisionCheck_ApplyDamage(play, colChkCtx, collider, &tris->elements[i].info); + CollisionCheck_ApplyDamage(play, colChkCtx, col, &tris->elements[i].base); } } /** * Apply ColliderQuad AC damage effect */ -void CollisionCheck_ApplyDamageQuad(PlayState* play, CollisionCheckContext* colChkCtx, Collider* collider) { - ColliderQuad* quad = (ColliderQuad*)collider; - CollisionCheck_ApplyDamage(play, colChkCtx, &quad->base, &quad->info); +void CollisionCheck_ApplyDamageQuad(PlayState* play, CollisionCheckContext* colChkCtx, Collider* col) { + ColliderQuad* quad = (ColliderQuad*)col; + + CollisionCheck_ApplyDamage(play, colChkCtx, &quad->base, &quad->elem); } static ColChkApplyFunc sApplyDamageFuncs[COLSHAPE_MAX] = { @@ -3045,15 +3130,15 @@ void CollisionCheck_Damage(PlayState* play, CollisionCheckContext* colChkCtx) { s32 i; for (i = 0; i < colChkCtx->colACCount; i++) { - Collider* collider = colChkCtx->colAC[i]; + Collider* col = colChkCtx->colAC[i]; - if (collider == NULL) { + if (col == NULL) { continue; } - if (collider->acFlags & AC_NO_DAMAGE) { + if (col->acFlags & AC_NO_DAMAGE) { continue; } - sApplyDamageFuncs[collider->shape](play, colChkCtx, collider); + sApplyDamageFuncs[col->shape](play, colChkCtx, col); } } @@ -3069,7 +3154,7 @@ s32 CollisionCheck_LineOC_JntSph(PlayState* play, CollisionCheckContext* colChkC for (i = 0; i < jntSph->count; i++) { ColliderJntSphElement* element = &jntSph->elements[i]; - if (!(element->info.ocElemFlags & OCELEM_ON)) { + if (!(element->base.ocElemFlags & OCELEM_ON)) { continue; } lineSeg.a = *a; @@ -3090,7 +3175,7 @@ s32 CollisionCheck_LineOC_Cyl(PlayState* play, CollisionCheckContext* colChkCtx, static Vec3f intersectB; ColliderCylinder* cylinder = (ColliderCylinder*)collider; - if (!(cylinder->info.ocElemFlags & OCELEM_ON)) { + if (!(cylinder->elem.ocElemFlags & OCELEM_ON)) { return false; } if (Math3D_CylVsLineSeg(&cylinder->dim, a, b, &intersectA, &intersectB) != 0) { @@ -3166,59 +3251,59 @@ s32 CollisionCheck_LineOCCheck(PlayState* play, CollisionCheckContext* colChkCtx /** * Moves the ColliderCylinder's position to the actor's position */ -void Collider_UpdateCylinder(Actor* actor, ColliderCylinder* collider) { - collider->dim.pos.x = actor->world.pos.x; - collider->dim.pos.y = actor->world.pos.y; - collider->dim.pos.z = actor->world.pos.z; +void Collider_UpdateCylinder(Actor* actor, ColliderCylinder* cyl) { + cyl->dim.pos.x = actor->world.pos.x; + cyl->dim.pos.y = actor->world.pos.y; + cyl->dim.pos.z = actor->world.pos.z; } /** * Sets the ColliderCylinder's position */ -void Collider_SetCylinderPosition(ColliderCylinder* collider, Vec3s* pos) { - collider->dim.pos.x = pos->x; - collider->dim.pos.y = pos->y; - collider->dim.pos.z = pos->z; +void Collider_SetCylinderPosition(ColliderCylinder* cyl, Vec3s* pos) { + cyl->dim.pos.x = pos->x; + cyl->dim.pos.y = pos->y; + cyl->dim.pos.z = pos->z; } /** * Sets the ColliderQuad's vertices */ -void Collider_SetQuadVertices(ColliderQuad* collider, Vec3f* a, Vec3f* b, Vec3f* c, Vec3f* d) { - Math_Vec3f_Copy(&collider->dim.quad[2], c); - Math_Vec3f_Copy(&collider->dim.quad[3], d); - Math_Vec3f_Copy(&collider->dim.quad[0], a); - Math_Vec3f_Copy(&collider->dim.quad[1], b); - Collider_SetQuadMidpoints(&collider->dim); +void Collider_SetQuadVertices(ColliderQuad* quad, Vec3f* a, Vec3f* b, Vec3f* c, Vec3f* d) { + Math_Vec3f_Copy(&quad->dim.quad[2], c); + Math_Vec3f_Copy(&quad->dim.quad[3], d); + Math_Vec3f_Copy(&quad->dim.quad[0], a); + Math_Vec3f_Copy(&quad->dim.quad[1], b); + Collider_SetQuadMidpoints(&quad->dim); } /** * Sets the specified ColliderTrisElement's vertices */ -void Collider_SetTrisVertices(ColliderTris* collider, s32 index, Vec3f* a, Vec3f* b, Vec3f* c) { - ColliderTrisElement* element = &collider->elements[index]; +void Collider_SetTrisVertices(ColliderTris* tris, s32 elemIndex, Vec3f* a, Vec3f* b, Vec3f* c) { + ColliderTrisElement* trisElem = &tris->elements[elemIndex]; f32 nx; f32 ny; f32 nz; f32 originDist; - Math_Vec3f_Copy(&element->dim.vtx[0], a); - Math_Vec3f_Copy(&element->dim.vtx[1], b); - Math_Vec3f_Copy(&element->dim.vtx[2], c); + Math_Vec3f_Copy(&trisElem->dim.vtx[0], a); + Math_Vec3f_Copy(&trisElem->dim.vtx[1], b); + Math_Vec3f_Copy(&trisElem->dim.vtx[2], c); Math3D_DefPlane(a, b, c, &nx, &ny, &nz, &originDist); - element->dim.plane.normal.x = nx; - element->dim.plane.normal.y = ny; - element->dim.plane.normal.z = nz; - element->dim.plane.originDist = originDist; + trisElem->dim.plane.normal.x = nx; + trisElem->dim.plane.normal.y = ny; + trisElem->dim.plane.normal.z = nz; + trisElem->dim.plane.originDist = originDist; } /** * Sets the specified ColliderTrisElement's dim using the values in src */ -void Collider_SetTrisDim(PlayState* play, ColliderTris* collider, s32 index, ColliderTrisElementDimInit* src) { - ColliderTrisElement* element = &collider->elements[index]; +void Collider_SetTrisDim(PlayState* play, ColliderTris* tris, s32 elemIndex, ColliderTrisElementDimInit* src) { + ColliderTrisElement* trisElem = &tris->elements[elemIndex]; - Collider_SetTrisElementDim(play, &element->dim, src); + Collider_SetTrisElementDim(play, &trisElem->dim, src); } // Due to an unknown reason, bss ordering changed between the 2 static Vec3f variables in the function below. @@ -3231,22 +3316,22 @@ static s8 sBssDummy12; /** * Updates the world spheres for all of the collider's JntSph elements attached to the specified limb */ -void Collider_UpdateSpheres(s32 limb, ColliderJntSph* collider) { +void Collider_UpdateSpheres(s32 limb, ColliderJntSph* jntSph) { static Vec3f modelPos; static Vec3f worldPos; // bss ordering changes here s32 i; - for (i = 0; i < collider->count; i++) { - if (limb == collider->elements[i].dim.limb) { - modelPos.x = collider->elements[i].dim.modelSphere.center.x; - modelPos.y = collider->elements[i].dim.modelSphere.center.y; - modelPos.z = collider->elements[i].dim.modelSphere.center.z; + for (i = 0; i < jntSph->count; i++) { + if (limb == jntSph->elements[i].dim.limb) { + modelPos.x = jntSph->elements[i].dim.modelSphere.center.x; + modelPos.y = jntSph->elements[i].dim.modelSphere.center.y; + modelPos.z = jntSph->elements[i].dim.modelSphere.center.z; Matrix_MultVec3f(&modelPos, &worldPos); - collider->elements[i].dim.worldSphere.center.x = worldPos.x; - collider->elements[i].dim.worldSphere.center.y = worldPos.y; - collider->elements[i].dim.worldSphere.center.z = worldPos.z; - collider->elements[i].dim.worldSphere.radius = - collider->elements[i].dim.modelSphere.radius * collider->elements[i].dim.scale; + jntSph->elements[i].dim.worldSphere.center.x = worldPos.x; + jntSph->elements[i].dim.worldSphere.center.y = worldPos.y; + jntSph->elements[i].dim.worldSphere.center.z = worldPos.z; + jntSph->elements[i].dim.worldSphere.radius = + jntSph->elements[i].dim.modelSphere.radius * jntSph->elements[i].dim.scale; } } } diff --git a/src/code/z_construct.c b/src/code/z_construct.c index c1a632a0c5..176eae6a1d 100644 --- a/src/code/z_construct.c +++ b/src/code/z_construct.c @@ -34,15 +34,15 @@ void Interface_Init(PlayState* play) { // "Permanent PARAMETER Segment = %x" osSyncPrintf("常駐PARAMETERセグメント=%x\n", parameterSize); - interfaceCtx->parameterSegment = GameState_Alloc(&play->state, parameterSize, "../z_construct.c", 159); + interfaceCtx->parameterSegment = GAME_STATE_ALLOC(&play->state, parameterSize, "../z_construct.c", 159); osSyncPrintf("parameter->parameterSegment=%x\n", interfaceCtx->parameterSegment); ASSERT(interfaceCtx->parameterSegment != NULL, "parameter->parameterSegment != NULL", "../z_construct.c", 161); - DmaMgr_RequestSyncDebug(interfaceCtx->parameterSegment, (uintptr_t)_parameter_staticSegmentRomStart, parameterSize, - "../z_construct.c", 162); + DMA_REQUEST_SYNC(interfaceCtx->parameterSegment, (uintptr_t)_parameter_staticSegmentRomStart, parameterSize, + "../z_construct.c", 162); - interfaceCtx->doActionSegment = GameState_Alloc(&play->state, 3 * DO_ACTION_TEX_SIZE, "../z_construct.c", 166); + interfaceCtx->doActionSegment = GAME_STATE_ALLOC(&play->state, 3 * DO_ACTION_TEX_SIZE, "../z_construct.c", 166); osSyncPrintf("DOアクション テクスチャ初期=%x\n", 3 * DO_ACTION_TEX_SIZE); // "DO Action Texture Initialization" osSyncPrintf("parameter->do_actionSegment=%x\n", interfaceCtx->doActionSegment); @@ -57,8 +57,8 @@ void Interface_Init(PlayState* play) { doActionOffset = (LANGUAGE_FRA * DO_ACTION_MAX + DO_ACTION_ATTACK) * DO_ACTION_TEX_SIZE; } - DmaMgr_RequestSyncDebug(interfaceCtx->doActionSegment, (uintptr_t)_do_action_staticSegmentRomStart + doActionOffset, - 2 * DO_ACTION_TEX_SIZE, "../z_construct.c", 174); + DMA_REQUEST_SYNC(interfaceCtx->doActionSegment, (uintptr_t)_do_action_staticSegmentRomStart + doActionOffset, + 2 * DO_ACTION_TEX_SIZE, "../z_construct.c", 174); if (gSaveContext.language == LANGUAGE_ENG) { doActionOffset = (LANGUAGE_ENG * DO_ACTION_MAX + DO_ACTION_RETURN) * DO_ACTION_TEX_SIZE; @@ -68,11 +68,11 @@ void Interface_Init(PlayState* play) { doActionOffset = (LANGUAGE_FRA * DO_ACTION_MAX + DO_ACTION_RETURN) * DO_ACTION_TEX_SIZE; } - DmaMgr_RequestSyncDebug(interfaceCtx->doActionSegment + 2 * DO_ACTION_TEX_SIZE, - (uintptr_t)_do_action_staticSegmentRomStart + doActionOffset, DO_ACTION_TEX_SIZE, - "../z_construct.c", 178); + DMA_REQUEST_SYNC(interfaceCtx->doActionSegment + 2 * DO_ACTION_TEX_SIZE, + (uintptr_t)_do_action_staticSegmentRomStart + doActionOffset, DO_ACTION_TEX_SIZE, + "../z_construct.c", 178); - interfaceCtx->iconItemSegment = GameState_Alloc(&play->state, ICON_ITEM_SEGMENT_SIZE, "../z_construct.c", 190); + interfaceCtx->iconItemSegment = GAME_STATE_ALLOC(&play->state, ICON_ITEM_SEGMENT_SIZE, "../z_construct.c", 190); // "Icon Item Texture Initialization = %x" osSyncPrintf("アイコンアイテム テクスチャ初期=%x\n", ICON_ITEM_SEGMENT_SIZE); @@ -85,33 +85,33 @@ void Interface_Init(PlayState* play) { gSaveContext.save.info.equips.buttonItems[3]); if (gSaveContext.save.info.equips.buttonItems[0] < 0xF0) { - DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + (0 * ITEM_ICON_SIZE), + DMA_REQUEST_SYNC(interfaceCtx->iconItemSegment + (0 * ITEM_ICON_SIZE), - GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[0]), ITEM_ICON_SIZE, - "../z_construct.c", 198); + GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[0]), ITEM_ICON_SIZE, + "../z_construct.c", 198); } else if (gSaveContext.save.info.equips.buttonItems[0] != 0xFF) { - DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + (0 * ITEM_ICON_SIZE), + DMA_REQUEST_SYNC(interfaceCtx->iconItemSegment + (0 * ITEM_ICON_SIZE), - GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[0]), ITEM_ICON_SIZE, - "../z_construct.c", 203); + GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[0]), ITEM_ICON_SIZE, + "../z_construct.c", 203); } if (gSaveContext.save.info.equips.buttonItems[1] < 0xF0) { - DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + (1 * ITEM_ICON_SIZE), - GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[1]), ITEM_ICON_SIZE, - "../z_construct.c", 209); + DMA_REQUEST_SYNC(interfaceCtx->iconItemSegment + (1 * ITEM_ICON_SIZE), + GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[1]), ITEM_ICON_SIZE, + "../z_construct.c", 209); } if (gSaveContext.save.info.equips.buttonItems[2] < 0xF0) { - DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + (2 * ITEM_ICON_SIZE), - GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[2]), ITEM_ICON_SIZE, - "../z_construct.c", 214); + DMA_REQUEST_SYNC(interfaceCtx->iconItemSegment + (2 * ITEM_ICON_SIZE), + GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[2]), ITEM_ICON_SIZE, + "../z_construct.c", 214); } if (gSaveContext.save.info.equips.buttonItems[3] < 0xF0) { - DmaMgr_RequestSyncDebug(interfaceCtx->iconItemSegment + (3 * ITEM_ICON_SIZE), - GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[3]), ITEM_ICON_SIZE, - "../z_construct.c", 219); + DMA_REQUEST_SYNC(interfaceCtx->iconItemSegment + (3 * ITEM_ICON_SIZE), + GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[3]), ITEM_ICON_SIZE, + "../z_construct.c", 219); } osSyncPrintf("EVENT=%d\n", ((void)0, gSaveContext.timerState)); @@ -190,7 +190,7 @@ void Message_Init(PlayState* play) { View_Init(&msgCtx->view, play->state.gfxCtx); - msgCtx->textboxSegment = GameState_Alloc(&play->state, TEXTBOX_SEGMENT_SIZE, "../z_construct.c", 349); + msgCtx->textboxSegment = GAME_STATE_ALLOC(&play->state, TEXTBOX_SEGMENT_SIZE, "../z_construct.c", 349); osSyncPrintf("message->fukidashiSegment=%x\n", msgCtx->textboxSegment); diff --git a/src/code/z_debug.c b/src/code/z_debug.c index bc46c5a728..9581ec854a 100644 --- a/src/code/z_debug.c +++ b/src/code/z_debug.c @@ -97,7 +97,7 @@ char sRegGroupChars[REG_GROUPS] = { void Regs_Init(void) { s32 i; - gRegEditor = SystemArena_MallocDebug(sizeof(RegEditor), "../z_debug.c", 260); + gRegEditor = SYSTEM_ARENA_MALLOC(sizeof(RegEditor), "../z_debug.c", 260); gRegEditor->regPage = 0; gRegEditor->regGroup = 0; gRegEditor->regCur = 0; diff --git a/src/code/z_debug_display.c b/src/code/z_debug_display.c index 62c52acbd8..d1d5dd34c5 100644 --- a/src/code/z_debug_display.c +++ b/src/code/z_debug_display.c @@ -34,7 +34,7 @@ DebugDispObject* DebugDisplay_AddObject(f32 posX, f32 posY, f32 posZ, s16 rotX, GraphicsContext* gfxCtx) { DebugDispObject* prevHead = sDebugObjectListHead; - sDebugObjectListHead = Graph_Alloc(gfxCtx, sizeof(DebugDispObject)); + sDebugObjectListHead = GRAPH_ALLOC(gfxCtx, sizeof(DebugDispObject)); sDebugObjectListHead->pos.x = posX; sDebugObjectListHead->pos.y = posY; @@ -81,7 +81,7 @@ void DebugDisplay_DrawSpriteI8(DebugDispObject* dispObj, void* texture, PlayStat gDPLoadTextureBlock(POLY_XLU_DISP++, texture, G_IM_FMT_I, G_IM_SIZ_8b, 16, 16, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_debug_display.c", 189), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_debug_display.c", 189), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, gDebugSpriteDL); @@ -100,7 +100,7 @@ void DebugDisplay_DrawPolygon(DebugDispObject* dispObj, void* dlist, PlayState* Matrix_SetTranslateRotateYXZ(dispObj->pos.x, dispObj->pos.y, dispObj->pos.z, &dispObj->rot); Matrix_Scale(dispObj->scale.x, dispObj->scale.y, dispObj->scale.z, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_debug_display.c", 228), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_debug_display.c", 228), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, dlist); diff --git a/src/code/z_demo.c b/src/code/z_demo.c index 4a85639cf1..67a45676c0 100644 --- a/src/code/z_demo.c +++ b/src/code/z_demo.c @@ -1530,7 +1530,7 @@ s32 CutsceneCmd_UpdateCamEyeSpline(PlayState* play, CutsceneContext* csCtx, u8* csCtx->camEyeSplinePointsAppliedFrame = cmd->startFrame; if (gUseCutsceneCam) { - Play_ChangeCameraSetting(play, csCtx->subCamId, CAM_SET_CS_0); + Play_RequestCameraSetting(play, csCtx->subCamId, CAM_SET_CS_0); Play_ChangeCameraStatus(play, sReturnToCamId, CAM_STAT_WAIT); Play_ChangeCameraStatus(play, csCtx->subCamId, CAM_STAT_ACTIVE); Camera_ResetAnim(Play_GetCamera(play, csCtx->subCamId)); @@ -1569,7 +1569,7 @@ s32 CutsceneCmd_UpdateCamAtSpline(PlayState* play, CutsceneContext* csCtx, u8* s gCamAtSplinePointsAppliedFrame = cmd->startFrame; if (gUseCutsceneCam) { - Play_ChangeCameraSetting(play, csCtx->subCamId, CAM_SET_CS_0); + Play_RequestCameraSetting(play, csCtx->subCamId, CAM_SET_CS_0); Play_ChangeCameraStatus(play, sReturnToCamId, CAM_STAT_WAIT); Play_ChangeCameraStatus(play, csCtx->subCamId, CAM_STAT_ACTIVE); Camera_ResetAnim(Play_GetCamera(play, csCtx->subCamId)); @@ -1616,7 +1616,7 @@ s32 CutsceneCmd_SetCamEye(PlayState* play, CutsceneContext* csCtx, u8* script, u Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT); Play_ChangeCameraStatus(play, csCtx->subCamId, CAM_STAT_ACTIVE); - Play_ChangeCameraSetting(play, csCtx->subCamId, CAM_SET_FREE0); + Play_RequestCameraSetting(play, csCtx->subCamId, CAM_SET_FREE0); roll = csCtx->camAtPoints->cameraRoll * 1.40625f; Camera_SetViewParam(subCam, CAM_VIEW_ROLL, &roll); @@ -1664,7 +1664,7 @@ s32 CutsceneCmd_SetCamAt(PlayState* play, CutsceneContext* csCtx, u8* script, u8 Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT); Play_ChangeCameraStatus(play, csCtx->subCamId, CAM_STAT_ACTIVE); - Play_ChangeCameraSetting(play, csCtx->subCamId, CAM_SET_FREE0); + Play_RequestCameraSetting(play, csCtx->subCamId, CAM_SET_FREE0); at.x = csCtx->camAtPoints->pos.x; at.y = csCtx->camAtPoints->pos.y; @@ -2254,7 +2254,7 @@ void CutsceneHandler_StopScript(PlayState* play, CutsceneContext* csCtx) { Play_ChangeCameraStatus(play, sReturnToCamId, CAM_STAT_ACTIVE); Play_ClearCamera(play, csCtx->subCamId); - func_8005B1A4(play->cameraPtrs[sReturnToCamId]); + Camera_SetFinishedFlag(play->cameraPtrs[sReturnToCamId]); } Audio_SetCutsceneFlag(0); diff --git a/src/code/z_draw.c b/src/code/z_draw.c index 68b8784441..671b8d0e2a 100644 --- a/src/code/z_draw.c +++ b/src/code/z_draw.c @@ -385,7 +385,7 @@ void GetItem_DrawMaskOrBombchu(PlayState* play, s16 drawId) { OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 556); Gfx_SetupDL_26Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 560), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 560), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 565); @@ -397,7 +397,7 @@ void GetItem_DrawSoldOut(PlayState* play, s16 drawId) { OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 572); POLY_XLU_DISP = Gfx_SetupDL(POLY_XLU_DISP, SETUPDL_5); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 576), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 576), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[0]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 581); @@ -409,7 +409,7 @@ void GetItem_DrawBlueFire(PlayState* play, s16 drawId) { OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 588); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 592), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 592), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); @@ -420,7 +420,7 @@ void GetItem_DrawBlueFire(PlayState* play, s16 drawId) { Matrix_Push(); Matrix_Translate(-8.0f, -2.0f, 0.0f, MTXMODE_APPLY); Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 615), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 615), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]); Matrix_Pop(); @@ -433,11 +433,11 @@ void GetItem_DrawPoes(PlayState* play, s16 drawId) { OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 628); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 632), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 632), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 641), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 641), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0 * (play->state.frames * 0), @@ -445,7 +445,7 @@ void GetItem_DrawPoes(PlayState* play, s16 drawId) { 1 * -(play->state.frames * 6), 16, 32)); Matrix_Push(); Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 656), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 656), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[3]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[2]); Matrix_Pop(); @@ -459,11 +459,11 @@ void GetItem_DrawFairy(PlayState* play, s16 drawId) { OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 670); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 674), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 674), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 683), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 683), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0 * (play->state.frames * 0), @@ -471,7 +471,7 @@ void GetItem_DrawFairy(PlayState* play, s16 drawId) { 1 * -(play->state.frames * 6), 32, 32)); Matrix_Push(); Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 698), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 698), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[2]); Matrix_Pop(); @@ -488,11 +488,11 @@ void GetItem_DrawMirrorShield(PlayState* play, s16 drawId) { Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0 * (play->state.frames * 0) % 256, 1 * (play->state.frames * 2) % 256, 64, 64, 1, 0 * (play->state.frames * 0) % 128, 1 * (play->state.frames * 1) % 128, 32, 32)); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 723), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 723), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 730), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 730), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 735); @@ -504,7 +504,7 @@ void GetItem_DrawSkullToken(PlayState* play, s16 drawId) { OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 742); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 746), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 746), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); @@ -512,7 +512,7 @@ void GetItem_DrawSkullToken(PlayState* play, s16 drawId) { Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0 * (play->state.frames * 0), 1 * -(play->state.frames * 5), 32, 32, 1, 0 * (play->state.frames * 0), 0 * (play->state.frames * 0), 32, 64)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 760), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 760), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 765); @@ -524,7 +524,7 @@ void GetItem_DrawEggOrMedallion(PlayState* play, s16 drawId) { OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 772); Gfx_SetupDL_26Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 776), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 776), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[1]); @@ -537,11 +537,11 @@ void GetItem_DrawCompass(PlayState* play, s16 drawId) { OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 811); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 815), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 815), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); POLY_XLU_DISP = Gfx_SetupDL(POLY_XLU_DISP, SETUPDL_5); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 822), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 822), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 827); @@ -557,14 +557,14 @@ void GetItem_DrawPotion(PlayState* play, s16 drawId) { Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, -1 * (play->state.frames * 1), 1 * (play->state.frames * 1), 32, 32, 1, -1 * (play->state.frames * 1), 1 * (play->state.frames * 1), 32, 32)); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 845), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 845), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[2]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[3]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 855), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 855), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[4]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[5]); @@ -581,7 +581,7 @@ void GetItem_DrawGoronSword(PlayState* play, s16 drawId) { Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 1 * (play->state.frames * 1), 0 * (play->state.frames * 1), 32, 32, 1, 0 * (play->state.frames * 1), 0 * (play->state.frames * 1), 32, 32)); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 878), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 878), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 883); @@ -597,7 +597,7 @@ void GetItem_DrawDekuNuts(PlayState* play, s16 drawId) { Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 1 * (play->state.frames * 6), 1 * (play->state.frames * 6), 32, 32, 1, 1 * (play->state.frames * 6), 1 * (play->state.frames * 6), 32, 32)); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 901), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 901), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 906); @@ -613,7 +613,7 @@ void GetItem_DrawRecoveryHeart(PlayState* play, s16 drawId) { Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0 * (play->state.frames * 1), 1 * -(play->state.frames * 3), 32, 32, 1, 0 * (play->state.frames * 1), 1 * -(play->state.frames * 2), 32, 32)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 924), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 924), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[0]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 929); @@ -629,7 +629,7 @@ void GetItem_DrawFish(PlayState* play, s16 drawId) { Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0 * (play->state.frames * 0), 1 * (play->state.frames * 1), 32, 32, 1, 0 * (play->state.frames * 0), 1 * (play->state.frames * 1), 32, 32)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 947), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 947), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[0]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 952); @@ -641,7 +641,7 @@ void GetItem_DrawOpa0(PlayState* play, s16 drawId) { OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 959); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 963), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 963), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 968); @@ -653,11 +653,11 @@ void GetItem_DrawOpa0Xlu1(PlayState* play, s16 drawId) { OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 975); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 979), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 979), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 986), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 986), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 991); @@ -669,7 +669,7 @@ void GetItem_DrawXlu01(PlayState* play, s16 drawId) { OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 998); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 1002), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 1002), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]); @@ -682,12 +682,12 @@ void GetItem_DrawOpa10Xlu2(PlayState* play, s16 drawId) { OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1015); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 1019), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 1019), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 1027), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 1027), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[2]); CLOSE_DISPS(play->state.gfxCtx, "../z_draw.c", 1032); @@ -699,11 +699,11 @@ void GetItem_DrawMagicArrow(PlayState* play, s16 drawId) { OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1039); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 1043), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 1043), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 1050), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 1050), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[2]); @@ -720,7 +720,7 @@ void GetItem_DrawMagicSpell(PlayState* play, s16 drawId) { Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 1 * (play->state.frames * 2), 1 * -(play->state.frames * 6), 32, 32, 1, 1 * (play->state.frames * 1), -1 * (play->state.frames * 2), 32, 32)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 1074), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 1074), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[2]); @@ -734,7 +734,7 @@ void GetItem_DrawOpa1023(PlayState* play, s16 drawId) { OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1088); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 1092), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 1092), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[2]); @@ -749,12 +749,12 @@ void GetItem_DrawOpa10Xlu32(PlayState* play, s16 drawId) { OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1108); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 1112), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 1112), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 1120), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 1120), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[3]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[2]); @@ -769,12 +769,12 @@ void GetItem_DrawSmallRupee(PlayState* play, s16 drawId) { Matrix_Scale(0.7f, 0.7f, 0.7f, MTXMODE_APPLY); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 1140), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 1140), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 1148), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 1148), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[3]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[2]); @@ -791,7 +791,7 @@ void GetItem_DrawScale(PlayState* play, s16 drawId) { Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 1 * (play->state.frames * 2), -1 * (play->state.frames * 2), 64, 64, 1, 1 * (play->state.frames * 4), 1 * -(play->state.frames * 4), 32, 32)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 1173), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 1173), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[2]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[3]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[1]); @@ -806,12 +806,12 @@ void GetItem_DrawBulletBag(PlayState* play, s16 drawId) { OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1188); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 1192), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 1192), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 1200), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 1200), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[2]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[3]); gSPDisplayList(POLY_XLU_DISP++, sDrawItemTable[drawId].dlists[4]); @@ -825,7 +825,7 @@ void GetItem_DrawWallet(PlayState* play, s16 drawId) { OPEN_DISPS(play->state.gfxCtx, "../z_draw.c", 1214); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_draw.c", 1218), G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_draw.c", 1218), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[1]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[0]); gSPDisplayList(POLY_OPA_DISP++, sDrawItemTable[drawId].dlists[2]); diff --git a/src/code/z_eff_blure.c b/src/code/z_eff_blure.c index 75f8d80bc0..31edaa0424 100644 --- a/src/code/z_eff_blure.c +++ b/src/code/z_eff_blure.c @@ -393,7 +393,7 @@ void EffectBlure_DrawElemNoInterpolation(EffectBlure* this, EffectBlureElement* Math_Vec3s_ToVec3f(&sp6C, &this->elements[0].p2); - vtx = Graph_Alloc(gfxCtx, sizeof(Vtx[4])); + vtx = GRAPH_ALLOC(gfxCtx, sizeof(Vtx[4])); if (vtx == NULL) { // "Vertices cannot be secured." osSyncPrintf("z_eff_blure.c::SQ_NoInterpolate_disp() 頂点確保できず。\n"); @@ -554,7 +554,7 @@ void EffectBlure_DrawElemHermiteInterpolation(EffectBlure* this, EffectBlureElem Math_Vec3f_Scale(&sp174, 0.5f); Math_Vec3f_Scale(&sp168, 0.5f); - vtx = Graph_Alloc(gfxCtx, sizeof(Vtx[16])); + vtx = GRAPH_ALLOC(gfxCtx, sizeof(Vtx[16])); if (vtx == NULL) { // "Vertices cannot be secured." osSyncPrintf("z_eff_blure.c::SQ_HermiteInterpolate_disp() 頂点確保できず。\n"); @@ -849,7 +849,7 @@ void EffectBlure_DrawSimple(EffectBlure* this2, GraphicsContext* gfxCtx) { if (this->numElements >= 2) { vtxCount = this->numElements * 4; - vtx = Graph_Alloc(gfxCtx, vtxCount * sizeof(Vtx)); + vtx = GRAPH_ALLOC(gfxCtx, vtxCount * sizeof(Vtx)); if (vtx == NULL) { // "Vertices cannot be secured. Forced termination" osSyncPrintf("ブラ─表示:頂点確保できず。強制終了\n"); @@ -943,7 +943,7 @@ void EffectBlure_Draw(void* thisx, GraphicsContext* gfxCtx) { Gfx_SetupDL_38Xlu(gfxCtx); gDPPipeSync(POLY_XLU_DISP++); - vtx = Graph_Alloc(gfxCtx, sizeof(Vtx[32])); + vtx = GRAPH_ALLOC(gfxCtx, sizeof(Vtx[32])); if (vtx == NULL) { // "Blure display: Vertex table could not be secured" osSyncPrintf("ブラ─表示:頂点テーブル確保できず\n"); @@ -973,14 +973,14 @@ void EffectBlure_Draw(void* thisx, GraphicsContext* gfxCtx) { vtx[j + 1].v.ob[2] = EffectSs_LerpS16(elem->p2.z, elem->p1.z, ratio); break; case 3: - ratio = ratio * 0.5f; + ratio *= 0.5f; vtx[j].v.ob[0] = EffectSs_LerpS16(elem->p1.x, elem->p2.x, ratio); vtx[j].v.ob[1] = EffectSs_LerpS16(elem->p1.y, elem->p2.y, ratio); vtx[j].v.ob[2] = EffectSs_LerpS16(elem->p1.z, elem->p2.z, ratio); vtx[j + 1].v.ob[0] = EffectSs_LerpS16(elem->p2.x, elem->p1.x, ratio); vtx[j + 1].v.ob[1] = EffectSs_LerpS16(elem->p2.y, elem->p1.y, ratio); vtx[j + 1].v.ob[2] = EffectSs_LerpS16(elem->p2.z, elem->p1.z, ratio); - ratio = ratio + ratio; + ratio *= 2.0f; break; case 0: default: diff --git a/src/code/z_eff_spark.c b/src/code/z_eff_spark.c index ad147c4288..e20954bfa5 100644 --- a/src/code/z_eff_spark.c +++ b/src/code/z_eff_spark.c @@ -171,7 +171,7 @@ void EffectSpark_Draw(void* thisx, GraphicsContext* gfxCtx) { gSPSetGeometryMode(POLY_XLU_DISP++, G_ZBUFFER | G_SHADE | G_SHADING_SMOOTH); gDPPipeSync(POLY_XLU_DISP++); - vertices = Graph_Alloc(gfxCtx, this->numElements * sizeof(Vtx[4])); + vertices = GRAPH_ALLOC(gfxCtx, this->numElements * sizeof(Vtx[4])); if (vertices == NULL) { // "Memory Allocation Failure graph_malloc" osSyncPrintf("EffectSparkInfo_disp():メモリー確保失敗 graph_malloc\n"); diff --git a/src/code/z_effect.c b/src/code/z_effect.c index dd5436bc2a..0ff1392a40 100644 --- a/src/code/z_effect.c +++ b/src/code/z_effect.c @@ -160,24 +160,24 @@ void Effect_DrawAll(GraphicsContext* gfxCtx) { s32 i; for (i = 0; i < SPARK_COUNT; i++) { - if (sEffectContext.sparks[i].status.active) { - sEffectInfoTable[EFFECT_SPARK].draw(&sEffectContext.sparks[i].effect, gfxCtx); + if (!sEffectContext.sparks[i].status.active) { + continue; } + sEffectInfoTable[EFFECT_SPARK].draw(&sEffectContext.sparks[i].effect, gfxCtx); } for (i = 0; i < BLURE_COUNT; i++) { - if (sEffectContext.blures[i].status.active) { - sEffectInfoTable[EFFECT_BLURE1].draw(&sEffectContext.blures[i].effect, gfxCtx); + if (!sEffectContext.blures[i].status.active) { + continue; } - if (1) {} // Necessary to match - if (1) {} + sEffectInfoTable[EFFECT_BLURE1].draw(&sEffectContext.blures[i].effect, gfxCtx); } for (i = 0; i < SHIELD_PARTICLE_COUNT; i++) { - if (sEffectContext.shieldParticles[i].status.active) { - if (gfxCtx) {} // Necessary to match - sEffectInfoTable[EFFECT_SHIELD_PARTICLE].draw(&sEffectContext.shieldParticles[i].effect, gfxCtx); + if (!sEffectContext.shieldParticles[i].status.active) { + continue; } + sEffectInfoTable[EFFECT_SHIELD_PARTICLE].draw(&sEffectContext.shieldParticles[i].effect, gfxCtx); } } diff --git a/src/code/z_effect_soft_sprite.c b/src/code/z_effect_soft_sprite.c index 6fb6e05d38..3147e3c0b8 100644 --- a/src/code/z_effect_soft_sprite.c +++ b/src/code/z_effect_soft_sprite.c @@ -15,7 +15,8 @@ void EffectSs_InitInfo(PlayState* play, s32 tableSize) { overlay->vromEnd - overlay->vromStart); } - sEffectSsInfo.table = GameState_Alloc(&play->state, tableSize * sizeof(EffectSs), "../z_effect_soft_sprite.c", 289); + sEffectSsInfo.table = + GAME_STATE_ALLOC(&play->state, tableSize * sizeof(EffectSs), "../z_effect_soft_sprite.c", 289); ASSERT(sEffectSsInfo.table != NULL, "EffectSS2Info.data_table != NULL", "../z_effect_soft_sprite.c", 290); sEffectSsInfo.searchStartIndex = 0; @@ -52,7 +53,7 @@ void EffectSs_ClearAll(PlayState* play) { addr = overlay->loadedRamAddr; if (addr != NULL) { - ZeldaArena_FreeDebug(addr, "../z_effect_soft_sprite.c", 337); + ZELDA_ARENA_FREE(addr, "../z_effect_soft_sprite.c", 337); } overlay->loadedRamAddr = NULL; @@ -189,7 +190,7 @@ void EffectSs_Spawn(PlayState* play, s32 type, s32 priority, void* initParams) { initInfo = overlayEntry->initInfo; } else { if (overlayEntry->loadedRamAddr == NULL) { - overlayEntry->loadedRamAddr = ZeldaArena_MallocRDebug(overlaySize, "../z_effect_soft_sprite.c", 585); + overlayEntry->loadedRamAddr = ZELDA_ARENA_MALLOC_R(overlaySize, "../z_effect_soft_sprite.c", 585); if (overlayEntry->loadedRamAddr == NULL) { osSyncPrintf(VT_FGCOL(RED)); diff --git a/src/code/z_en_a_keep.c b/src/code/z_en_a_keep.c index d0b0508682..33adc258c9 100644 --- a/src/code/z_en_a_keep.c +++ b/src/code/z_en_a_keep.c @@ -204,10 +204,10 @@ void EnAObj_WaitTalk(EnAObj* this, PlayState* play) { relYawTowardsPlayer = this->dyna.actor.yawTowardsPlayer - this->dyna.actor.shape.rot.y; if (ABS(relYawTowardsPlayer) < 0x2800 || (this->dyna.actor.params == A_OBJ_SIGNPOST_ARROW && ABS(relYawTowardsPlayer) > 0x5800)) { - if (Actor_ProcessTalkRequest(&this->dyna.actor, play)) { + if (Actor_TalkOfferAccepted(&this->dyna.actor, play)) { EnAObj_SetupAction(this, EnAObj_WaitFinishedTalking); } else { - func_8002F2F4(&this->dyna.actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->dyna.actor, play); } } } @@ -353,8 +353,7 @@ void EnAObj_Draw(Actor* thisx, PlayState* play) { gDPSetPrimColor(POLY_OPA_DISP++, 0, 1, 60, 60, 60, 50); } - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_a_keep.c", 712), - G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_a_keep.c", 712), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDLists[type]); CLOSE_DISPS(play->state.gfxCtx, "../z_en_a_keep.c", 715); diff --git a/src/code/z_en_item00.c b/src/code/z_en_item00.c index 6854649092..23bc99f828 100644 --- a/src/code/z_en_item00.c +++ b/src/code/z_en_item00.c @@ -831,8 +831,7 @@ void EnItem00_DrawRupee(EnItem00* this, PlayState* play) { texIndex = this->actor.params - 0x10; } - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_item00.c", 1562), - G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_item00.c", 1562), G_MTX_MODELVIEW | G_MTX_LOAD); gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sRupeeTex[texIndex])); @@ -861,8 +860,7 @@ void EnItem00_DrawCollectible(EnItem00* this, PlayState* play) { gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sItemDropTex[texIndex])); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_item00.c", 1607), - G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_item00.c", 1607), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, gItemDropDL); CLOSE_DISPS(play->state.gfxCtx, "../z_en_item00.c", 1611); @@ -878,14 +876,12 @@ void EnItem00_DrawHeartContainer(EnItem00* this, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); func_8002EBCC(&this->actor, play, 0); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_item00.c", 1634), - G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_item00.c", 1634), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, gHeartPieceExteriorDL); Gfx_SetupDL_25Xlu(play->state.gfxCtx); func_8002ED80(&this->actor, play, 0); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_item00.c", 1644), - G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_item00.c", 1644), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, gHeartContainerInteriorDL); CLOSE_DISPS(play->state.gfxCtx, "../z_en_item00.c", 1647); @@ -901,8 +897,7 @@ void EnItem00_DrawHeartPiece(EnItem00* this, PlayState* play) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); func_8002ED80(&this->actor, play, 0); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_item00.c", 1670), - G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_item00.c", 1670), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, gHeartPieceInteriorDL); CLOSE_DISPS(play->state.gfxCtx, "../z_en_item00.c", 1673); diff --git a/src/code/z_face_reaction.c b/src/code/z_face_reaction.c index 2dbd56df2f..a06bd4dc85 100644 --- a/src/code/z_face_reaction.c +++ b/src/code/z_face_reaction.c @@ -1,70 +1,189 @@ #include "global.h" -u16 sReactionTextIds[][PLAYER_MASK_MAX] = { +u16 sMaskReactionSetTextIds[MASK_REACTION_SET_MAX][PLAYER_MASK_MAX] = { + // MASK_REACTION_SET_CARPENTER_BOSS { 0x0000, 0x7124, 0x7127, 0x7126, 0x7125, 0x7127, 0x7124, 0x7125, 0x7127 }, + + // MASK_REACTION_SET_CARPENTER_1 { 0x0000, 0x7128, 0x7129, 0x7128, 0x7128, 0x7128, 0x7128, 0x712A, 0x712B }, + + // MASK_REACTION_SET_CARPENTER_2 { 0x0000, 0x7128, 0x712B, 0x7128, 0x7128, 0x7129, 0x7128, 0x712B, 0x7128 }, + + // MASK_REACTION_SET_CARPENTER_3 { 0x0000, 0x7128, 0x7129, 0x7128, 0x7128, 0x7128, 0x7128, 0x712A, 0x712B }, + + // MASK_REACTION_SET_CARPENTER_4 { 0x0000, 0x7128, 0x7129, 0x712B, 0x7128, 0x7128, 0x7128, 0x7129, 0x7128 }, + + // MASK_REACTION_SET_HYRULIAN_GUARD { 0x0000, 0x712D, 0x712D, 0x712D, 0x712D, 0x712D, 0x712D, 0x712D, 0x712F }, + + // MASK_REACTION_SET_HEISHI4_1 { 0x0000, 0x712C, 0x712C, 0x712C, 0x712E, 0x712C, 0x712C, 0x712F, 0x712F }, + + // MASK_REACTION_SET_HEISHI4_2 { 0x0000, 0x712C, 0x712C, 0x712C, 0x712F, 0x712C, 0x712C, 0x712F, 0x712F }, + + // MASK_REACTION_SET_CUCCO_LADY { 0x0000, 0x7130, 0x7132, 0x7133, 0x7130, 0x7130, 0x7131, 0x7132, 0x7131 }, + + // MASK_REACTION_SET_CARPENTERS_SON { 0x0000, 0x7134, 0x7137, 0x7135, 0x7134, 0x7136, 0x7135, 0x7134, 0x7135 }, + + // MASK_REACTION_SET_KAKARIKO_ROOF_MAN { 0x0000, 0x7138, 0x713A, 0x7138, 0x7139, 0x713A, 0x7138, 0x7139, 0x713B }, + + // MASK_REACTION_SET_WINDMILL_MAN { 0x0000, 0x7144, 0x7146, 0x7144, 0x7146, 0x7147, 0x7145, 0x7145, 0x7147 }, + + // MASK_REACTION_SET_12 { 0x0000, 0x7148, 0x7149, 0x7149, 0x714A, 0x714A, 0x714B, 0x7149, 0x714B }, + + // MASK_REACTION_SET_CURSED_SKULLTULA_MAN { 0x0000, 0x714C, 0x714D, 0x714C, 0x714C, 0x714E, 0x714C, 0x714E, 0x714F }, + + // MASK_REACTION_SET_DAMPE { 0x0000, 0x7150, 0x7153, 0x7152, 0x7150, 0x7151, 0x7153, 0x7153, 0x7151 }, + + // MASK_REACTION_SET_GRAVEYARD_KID { 0x0000, 0x7155, 0x7156, 0x7157, 0x7154, 0x7156, 0x7156, 0x7156, 0x7156 }, + + // MASK_REACTION_SET_SARIA { 0x0000, 0x715A, 0x7159, 0x715B, 0x715A, 0x715A, 0x7158, 0x7158, 0x715B }, + + // MASK_REACTION_SET_MIDO { 0x0000, 0x715E, 0x715D, 0x715D, 0x715F, 0x715E, 0x715C, 0x715C, 0x715D }, + + // MASK_REACTION_SET_FADO { 0x0000, 0x7163, 0x7162, 0x7160, 0x7163, 0x7160, 0x7161, 0x7161, 0x7160 }, + + // MASK_REACTION_SET_KOKIRI_1 { 0x0000, 0x7164, 0x7166, 0x7164, 0x7167, 0x7164, 0x7164, 0x7164, 0x7167 }, + + // MASK_REACTION_SET_KOKIRI_2 { 0x0000, 0x716B, 0x7169, 0x7168, 0x716B, 0x716A, 0x716B, 0x716B, 0x716A }, + + // MASK_REACTION_SET_SKULL_KID { 0x0000, 0x716C, 0x716D, 0x716F, 0x716C, 0x716E, 0x716E, 0x716E, 0x716F }, + + // MASK_REACTION_SET_ZELDA { 0x0000, 0x7171, 0x7173, 0x7170, 0x7172, 0x0000, 0x0000, 0x0000, 0x0000 }, + + // MASK_REACTION_SET_MALON { 0x0000, 0x7176, 0x7177, 0x7174, 0x7174, 0x7175, 0x7174, 0x7174, 0x7177 }, + + // MASK_REACTION_SET_TALON { 0x0000, 0x7178, 0x7179, 0x7179, 0x717B, 0x717A, 0x717B, 0x717A, 0x717B }, + + // MASK_REACTION_SET_INGO { 0x0000, 0x717D, 0x717C, 0x717C, 0x717D, 0x717F, 0x717C, 0x717E, 0x717D }, + + // MASK_REACTION_SET_LAKESIDE_PROFESSOR { 0x0000, 0x7183, 0x7181, 0x7180, 0x7183, 0x7182, 0x7183, 0x7181, 0x7183 }, + + // MASK_REACTION_SET_MAGIC_BEAN_SALESMAN { 0x0000, 0x7184, 0x7186, 0x7185, 0x7186, 0x7184, 0x7187, 0x7186, 0x7184 }, + + // MASK_REACTION_SET_RUNNING_MAN { 0x0000, 0x71A4, 0x71A6, 0x71A5, 0x0000, 0x71A6, 0x71A6, 0x71A6, 0x71A7 }, + + // MASK_REACTION_SET_ZORA { 0x0000, 0x7188, 0x7188, 0x7189, 0x7188, 0x7189, 0x718B, 0x718A, 0x7189 }, + + // MASK_REACTION_SET_KING_ZORA { 0x0000, 0x718C, 0x718C, 0x718D, 0x718C, 0x718E, 0x718F, 0x718D, 0x718C }, + + // MASK_REACTION_SET_RUTO { 0x0000, 0x7190, 0x7190, 0x7191, 0x7192, 0x7191, 0x7193, 0x7190, 0x7191 }, + + // MASK_REACTION_SET_GORON { 0x0000, 0x7196, 0x7194, 0x7195, 0x7196, 0x7197, 0x7194, 0x7196, 0x7195 }, + + // MASK_REACTION_SET_DARUNIA { 0x0000, 0x7199, 0x719A, 0x7198, 0x7198, 0x719A, 0x719A, 0x719B, 0x7198 }, + + // MASK_REACTION_SET_GERUDO_WHITE { 0x0000, 0x719D, 0x719C, 0x719E, 0x719D, 0x719D, 0x719C, 0x719F, 0x719E }, + + // MASK_REACTION_SET_NABOORU { 0x0000, 0x71A1, 0x71A0, 0x71A1, 0x71A2, 0x71A1, 0x71A2, 0x71A3, 0x71A2 }, + + // MASK_REACTION_SET_DANCING_COUPLE { 0x0000, 0x711C, 0x711E, 0x711C, 0x711F, 0x711E, 0x711C, 0x711D, 0x711F }, + + // MASK_REACTION_SET_37 { 0x0000, 0x7104, 0x7105, 0x7107, 0x7107, 0x7105, 0x7106, 0x7107, 0x7107 }, + + // MASK_REACTION_SET_38 { 0x0000, 0x7107, 0x7105, 0x7107, 0x7107, 0x7106, 0x7107, 0x7107, 0x7105 }, + + // MASK_REACTION_SET_39 { 0x0000, 0x7113, 0x7117, 0x7113, 0x7110, 0x7112, 0x7112, 0x7116, 0x7112 }, + + // MASK_REACTION_SET_40 { 0x0000, 0x7113, 0x7113, 0x7113, 0x7113, 0x7113, 0x7113, 0x7111, 0x7113 }, + + // MASK_REACTION_SET_41 { 0x0000, 0x7113, 0x7117, 0x7113, 0x7110, 0x7112, 0x7112, 0x7116, 0x7112 }, + + // MASK_REACTION_SET_42 { 0x0000, 0x7117, 0x7117, 0x7117, 0x7117, 0x7117, 0x7117, 0x7117, 0x7113 }, + + // MASK_REACTION_SET_43 { 0x0000, 0x7101, 0x7100, 0x7102, 0x7103, 0x7101, 0x7100, 0x7102, 0x7103 }, + + // MASK_REACTION_SET_44 { 0x0000, 0x7100, 0x7102, 0x7100, 0x7100, 0x7100, 0x7100, 0x7100, 0x7102 }, + + // MASK_REACTION_SET_45 { 0x0000, 0x710A, 0x7109, 0x7109, 0x710A, 0x710B, 0x7108, 0x7109, 0x710B }, + + // MASK_REACTION_SET_46 { 0x0000, 0x7117, 0x7112, 0x7113, 0x7110, 0x710C, 0x7117, 0x710E, 0x7112 }, + + // MASK_REACTION_SET_47 { 0x0000, 0x710D, 0x710F, 0x710C, 0x7112, 0x710D, 0x710C, 0x710C, 0x710F }, + + // MASK_REACTION_SET_48 { 0x0000, 0x710A, 0x7109, 0x711A, 0x710A, 0x7109, 0x7108, 0x710B, 0x7109 }, + + // MASK_REACTION_SET_49 { 0x0000, 0x710C, 0x710F, 0x7113, 0x7110, 0x710D, 0x7112, 0x7116, 0x710D }, + + // MASK_REACTION_SET_50 { 0x0000, 0x7115, 0x7114, 0x7114, 0x7115, 0x7114, 0x7114, 0x7116, 0x7117 }, + + // MASK_REACTION_SET_51 { 0x0000, 0x7113, 0x710F, 0x7113, 0x7110, 0x710C, 0x711A, 0x710D, 0x7112 }, + + // MASK_REACTION_SET_52 { 0x0000, 0x7101, 0x7102, 0x7103, 0x7101, 0x7100, 0x7100, 0x7102, 0x7100 }, + + // MASK_REACTION_SET_53 { 0x0000, 0x7112, 0x710E, 0x7112, 0x710E, 0x710D, 0x7112, 0x710E, 0x710F }, + + // MASK_REACTION_SET_54 { 0x0000, 0x7142, 0x7141, 0x7142, 0x7143, 0x7140, 0x7140, 0x7141, 0x7143 }, + + // MASK_REACTION_SET_55 { 0x0000, 0x713C, 0x713D, 0x713D, 0x713E, 0x713E, 0x713F, 0x713D, 0x713F }, + + // MASK_REACTION_SET_56 { 0x0000, 0x7101, 0x7102, 0x7103, 0x7101, 0x7100, 0x7100, 0x7102, 0x7100 }, + + // MASK_REACTION_SET_57 { 0x0000, 0x7113, 0x7117, 0x7113, 0x7110, 0x7112, 0x7112, 0x7116, 0x7112 }, + + // MASK_REACTION_SET_HAGGLING_TOWNSPEOPLE_1 { 0x0000, 0x7104, 0x7105, 0x7107, 0x7105, 0x7105, 0x7105, 0x7107, 0x7107 }, + + // MASK_REACTION_SET_HAGGLING_TOWNSPEOPLE_2 { 0x0000, 0x7104, 0x7105, 0x7107, 0x7105, 0x710C, 0x7105, 0x7107, 0x7107 }, }; -u16 Text_GetFaceReaction(PlayState* play, u32 reactionSet) { +u16 MaskReaction_GetTextId(PlayState* play, u32 maskReactionSet) { u8 currentMask = Player_GetMask(play); - return sReactionTextIds[reactionSet][currentMask]; + return sMaskReactionSetTextIds[maskReactionSet][currentMask]; } diff --git a/src/code/z_fbdemo.c b/src/code/z_fbdemo.c index f1e36a396c..0e3eb674b3 100644 --- a/src/code/z_fbdemo.c +++ b/src/code/z_fbdemo.c @@ -133,19 +133,19 @@ void TransitionTile_Destroy(TransitionTile* this) { Sleep_Msec(100); if (this->vtxData != NULL) { - SystemArena_FreeDebug(this->vtxData, "../z_fbdemo.c", 180); + SYSTEM_ARENA_FREE(this->vtxData, "../z_fbdemo.c", 180); this->vtxData = NULL; } if (this->vtxFrame1 != NULL) { - SystemArena_FreeDebug(this->vtxFrame1, "../z_fbdemo.c", 181); + SYSTEM_ARENA_FREE(this->vtxFrame1, "../z_fbdemo.c", 181); this->vtxFrame1 = NULL; } if (this->vtxFrame2 != NULL) { - SystemArena_FreeDebug(this->vtxFrame2, "../z_fbdemo.c", 182); + SYSTEM_ARENA_FREE(this->vtxFrame2, "../z_fbdemo.c", 182); this->vtxFrame2 = NULL; } if (this->gfx != NULL) { - SystemArena_FreeDebug(this->gfx, "../z_fbdemo.c", 183); + SYSTEM_ARENA_FREE(this->gfx, "../z_fbdemo.c", 183); this->gfx = NULL; } } @@ -156,28 +156,27 @@ TransitionTile* TransitionTile_Init(TransitionTile* this, s32 cols, s32 rows) { this->frame = 0; this->cols = cols; this->rows = rows; - this->vtxData = - SystemArena_MallocDebug((cols + 1) * sizeof(TransitionTileVtxData) * (rows + 1), "../z_fbdemo.c", 195); - this->vtxFrame1 = SystemArena_MallocDebug((cols + 1) * sizeof(Vtx) * (rows + 1), "../z_fbdemo.c", 196); - this->vtxFrame2 = SystemArena_MallocDebug((cols + 1) * sizeof(Vtx) * (rows + 1), "../z_fbdemo.c", 197); - this->gfx = SystemArena_MallocDebug((this->rows * (1 + this->cols * 9) + 2) * sizeof(Gfx), "../z_fbdemo.c", 198); + this->vtxData = SYSTEM_ARENA_MALLOC((cols + 1) * sizeof(TransitionTileVtxData) * (rows + 1), "../z_fbdemo.c", 195); + this->vtxFrame1 = SYSTEM_ARENA_MALLOC((cols + 1) * sizeof(Vtx) * (rows + 1), "../z_fbdemo.c", 196); + this->vtxFrame2 = SYSTEM_ARENA_MALLOC((cols + 1) * sizeof(Vtx) * (rows + 1), "../z_fbdemo.c", 197); + this->gfx = SYSTEM_ARENA_MALLOC((this->rows * (1 + this->cols * 9) + 2) * sizeof(Gfx), "../z_fbdemo.c", 198); if ((this->vtxData == NULL) || (this->vtxFrame1 == NULL) || (this->vtxFrame2 == NULL) || (this->gfx == NULL)) { osSyncPrintf("fbdemo_init allocation error\n"); if (this->vtxData != NULL) { - SystemArena_FreeDebug(this->vtxData, "../z_fbdemo.c", 202); + SYSTEM_ARENA_FREE(this->vtxData, "../z_fbdemo.c", 202); this->vtxData = NULL; } if (this->vtxFrame1 != NULL) { - SystemArena_FreeDebug(this->vtxFrame1, "../z_fbdemo.c", 203); + SYSTEM_ARENA_FREE(this->vtxFrame1, "../z_fbdemo.c", 203); this->vtxFrame1 = NULL; } if (this->vtxFrame2 != NULL) { - SystemArena_FreeDebug(this->vtxFrame2, "../z_fbdemo.c", 204); + SYSTEM_ARENA_FREE(this->vtxFrame2, "../z_fbdemo.c", 204); this->vtxFrame2 = NULL; } if (this->gfx != NULL) { - SystemArena_FreeDebug(this->gfx, "../z_fbdemo.c", 205); + SYSTEM_ARENA_FREE(this->gfx, "../z_fbdemo.c", 205); this->gfx = NULL; } return NULL; diff --git a/src/code/z_fcurve_data_skelanime.c b/src/code/z_fcurve_data_skelanime.c index 20e8aa2599..27c947c074 100644 --- a/src/code/z_fcurve_data_skelanime.c +++ b/src/code/z_fcurve_data_skelanime.c @@ -52,8 +52,8 @@ s32 SkelCurve_Init(PlayState* play, SkelCurve* skelCurve, CurveSkeletonHeader* s skelCurve->limbCount = skeletonHeader->limbCount; skelCurve->skeleton = SEGMENTED_TO_VIRTUAL(skeletonHeader->limbs); - skelCurve->jointTable = ZeldaArena_MallocDebug(sizeof(*skelCurve->jointTable) * skelCurve->limbCount, - "../z_fcurve_data_skelanime.c", 125); + skelCurve->jointTable = + ZELDA_ARENA_MALLOC(sizeof(*skelCurve->jointTable) * skelCurve->limbCount, "../z_fcurve_data_skelanime.c", 125); ASSERT(skelCurve->jointTable != NULL, "this->now_joint != NULL", "../z_fcurve_data_skelanime.c", 127); skelCurve->curFrame = 0.0f; return true; @@ -64,7 +64,7 @@ s32 SkelCurve_Init(PlayState* play, SkelCurve* skelCurve, CurveSkeletonHeader* s */ void SkelCurve_Destroy(PlayState* play, SkelCurve* skelCurve) { if (skelCurve->jointTable != NULL) { - ZeldaArena_FreeDebug(skelCurve->jointTable, "../z_fcurve_data_skelanime.c", 146); + ZELDA_ARENA_FREE(skelCurve->jointTable, "../z_fcurve_data_skelanime.c", 146); } } @@ -192,7 +192,7 @@ void SkelCurve_DrawLimb(PlayState* play, s32 limbIndex, SkelCurve* skelCurve, Ov dList = limb->dList[0]; if (dList != NULL) { - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fcurve_data_skelanime.c", 321), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fcurve_data_skelanime.c", 321), G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, dList); } @@ -201,13 +201,13 @@ void SkelCurve_DrawLimb(PlayState* play, s32 limbIndex, SkelCurve* skelCurve, Ov dList = limb->dList[0]; if (dList != NULL) { - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fcurve_data_skelanime.c", 332), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fcurve_data_skelanime.c", 332), G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, dList); } dList = limb->dList[1]; if (dList != NULL) { - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fcurve_data_skelanime.c", 338), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fcurve_data_skelanime.c", 338), G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, dList); } diff --git a/src/code/z_kaleido_manager.c b/src/code/z_kaleido_manager.c index dfae977042..04efe06ff3 100644 --- a/src/code/z_kaleido_manager.c +++ b/src/code/z_kaleido_manager.c @@ -57,7 +57,7 @@ void KaleidoManager_Init(PlayState* play) { osSyncPrintf("KaleidoArea の最大サイズは %d バイトを確保します\n", largestSize); osSyncPrintf(VT_RST); - sKaleidoAreaPtr = GameState_Alloc(&play->state, largestSize, "../z_kaleido_manager.c", 150); + sKaleidoAreaPtr = GAME_STATE_ALLOC(&play->state, largestSize, "../z_kaleido_manager.c", 150); LogUtils_CheckNullPointer("KaleidoArea_allocp", sKaleidoAreaPtr, "../z_kaleido_manager.c", 151); osSyncPrintf(VT_FGCOL(GREEN)); diff --git a/src/code/z_kanfont.c b/src/code/z_kanfont.c index 5f83f57792..4caad7713a 100644 --- a/src/code/z_kanfont.c +++ b/src/code/z_kanfont.c @@ -9,9 +9,9 @@ void func_8006EE50(Font* font, u16 arg1, u16 arg2) { * at `codePointIndex`. The value of `character` is the ASCII codepoint subtract ' '/0x20. */ void Font_LoadChar(Font* font, u8 character, u16 codePointIndex) { - DmaMgr_RequestSyncDebug(&font->charTexBuf[codePointIndex], - (uintptr_t)_nes_font_staticSegmentRomStart + character * FONT_CHAR_TEX_SIZE, - FONT_CHAR_TEX_SIZE, "../z_kanfont.c", 93); + DMA_REQUEST_SYNC(&font->charTexBuf[codePointIndex], + (uintptr_t)_nes_font_staticSegmentRomStart + character * FONT_CHAR_TEX_SIZE, FONT_CHAR_TEX_SIZE, + "../z_kanfont.c", 93); } /** @@ -20,10 +20,10 @@ void Font_LoadChar(Font* font, u8 character, u16 codePointIndex) { * The different icons are given in the MessageBoxIcon enum. */ void Font_LoadMessageBoxIcon(Font* font, u16 icon) { - DmaMgr_RequestSyncDebug(font->iconBuf, - (uintptr_t)_message_staticSegmentRomStart + 4 * MESSAGE_STATIC_TEX_SIZE + - icon * FONT_CHAR_TEX_SIZE, - FONT_CHAR_TEX_SIZE, "../z_kanfont.c", 100); + DMA_REQUEST_SYNC(font->iconBuf, + (uintptr_t)_message_staticSegmentRomStart + 4 * MESSAGE_STATIC_TEX_SIZE + + icon * FONT_CHAR_TEX_SIZE, + FONT_CHAR_TEX_SIZE, "../z_kanfont.c", 100); } /** @@ -42,8 +42,8 @@ void Font_LoadOrderedFont(Font* font) { font->msgOffset = _message_0xFFFC_nes - (const char*)_nes_message_data_staticSegmentStart; len = font->msgLength = _message_0xFFFD_nes - _message_0xFFFC_nes; - DmaMgr_RequestSyncDebug(font->msgBuf, (uintptr_t)_nes_message_data_staticSegmentRomStart + font->msgOffset, len, - "../z_kanfont.c", 122); + DMA_REQUEST_SYNC(font->msgBuf, (uintptr_t)_nes_message_data_staticSegmentRomStart + font->msgOffset, len, + "../z_kanfont.c", 122); osSyncPrintf("msg_data=%x, msg_data0=%x jj=%x\n", font->msgOffset, font->msgLength, jj = len); len = jj; @@ -60,7 +60,7 @@ void Font_LoadOrderedFont(Font* font) { osSyncPrintf("nes_mes_buf[%d]=%d\n", codePointIndex, font->msgBuf[codePointIndex]); offset = (font->msgBuf[codePointIndex] - ' ') * FONT_CHAR_TEX_SIZE; - DmaMgr_RequestSyncDebug(fontBuf, fontStatic + offset, FONT_CHAR_TEX_SIZE, "../z_kanfont.c", 134); + DMA_REQUEST_SYNC(fontBuf, fontStatic + offset, FONT_CHAR_TEX_SIZE, "../z_kanfont.c", 134); fontBufIndex += FONT_CHAR_TEX_SIZE / 8; } } diff --git a/src/code/z_kankyo.c b/src/code/z_kankyo.c index 6fffcaf973..7c12ea7c9f 100644 --- a/src/code/z_kankyo.c +++ b/src/code/z_kankyo.c @@ -710,9 +710,9 @@ void Environment_UpdateSkybox(u8 skyboxId, EnvironmentContext* envCtx, SkyboxCon size = gNormalSkyFiles[newSkybox1Index].file.vromEnd - gNormalSkyFiles[newSkybox1Index].file.vromStart; osCreateMesgQueue(&envCtx->loadQueue, &envCtx->loadMsg, 1); - DmaMgr_RequestAsync(&envCtx->dmaRequest, skyboxCtx->staticSegments[0], - gNormalSkyFiles[newSkybox1Index].file.vromStart, size, 0, &envCtx->loadQueue, NULL, - "../z_kankyo.c", 1264); + DMA_REQUEST_ASYNC(&envCtx->dmaRequest, skyboxCtx->staticSegments[0], + gNormalSkyFiles[newSkybox1Index].file.vromStart, size, 0, &envCtx->loadQueue, NULL, + "../z_kankyo.c", 1264); envCtx->skybox1Index = newSkybox1Index; } @@ -721,9 +721,9 @@ void Environment_UpdateSkybox(u8 skyboxId, EnvironmentContext* envCtx, SkyboxCon size = gNormalSkyFiles[newSkybox2Index].file.vromEnd - gNormalSkyFiles[newSkybox2Index].file.vromStart; osCreateMesgQueue(&envCtx->loadQueue, &envCtx->loadMsg, 1); - DmaMgr_RequestAsync(&envCtx->dmaRequest, skyboxCtx->staticSegments[1], - gNormalSkyFiles[newSkybox2Index].file.vromStart, size, 0, &envCtx->loadQueue, NULL, - "../z_kankyo.c", 1281); + DMA_REQUEST_ASYNC(&envCtx->dmaRequest, skyboxCtx->staticSegments[1], + gNormalSkyFiles[newSkybox2Index].file.vromStart, size, 0, &envCtx->loadQueue, NULL, + "../z_kankyo.c", 1281); envCtx->skybox2Index = newSkybox2Index; } @@ -735,16 +735,16 @@ void Environment_UpdateSkybox(u8 skyboxId, EnvironmentContext* envCtx, SkyboxCon gNormalSkyFiles[newSkybox1Index].palette.vromStart; osCreateMesgQueue(&envCtx->loadQueue, &envCtx->loadMsg, 1); - DmaMgr_RequestAsync(&envCtx->dmaRequest, skyboxCtx->palettes, - gNormalSkyFiles[newSkybox1Index].palette.vromStart, size, 0, &envCtx->loadQueue, - NULL, "../z_kankyo.c", 1307); + DMA_REQUEST_ASYNC(&envCtx->dmaRequest, skyboxCtx->palettes, + gNormalSkyFiles[newSkybox1Index].palette.vromStart, size, 0, &envCtx->loadQueue, NULL, + "../z_kankyo.c", 1307); } else { size = gNormalSkyFiles[newSkybox1Index].palette.vromEnd - gNormalSkyFiles[newSkybox1Index].palette.vromStart; osCreateMesgQueue(&envCtx->loadQueue, &envCtx->loadMsg, 1); - DmaMgr_RequestAsync(&envCtx->dmaRequest, (u8*)skyboxCtx->palettes + size, - gNormalSkyFiles[newSkybox1Index].palette.vromStart, size, 0, &envCtx->loadQueue, - NULL, "../z_kankyo.c", 1320); + DMA_REQUEST_ASYNC(&envCtx->dmaRequest, (u8*)skyboxCtx->palettes + size, + gNormalSkyFiles[newSkybox1Index].palette.vromStart, size, 0, &envCtx->loadQueue, NULL, + "../z_kankyo.c", 1320); } } @@ -756,16 +756,16 @@ void Environment_UpdateSkybox(u8 skyboxId, EnvironmentContext* envCtx, SkyboxCon gNormalSkyFiles[newSkybox2Index].palette.vromStart; osCreateMesgQueue(&envCtx->loadQueue, &envCtx->loadMsg, 1); - DmaMgr_RequestAsync(&envCtx->dmaRequest, skyboxCtx->palettes, - gNormalSkyFiles[newSkybox2Index].palette.vromStart, size, 0, &envCtx->loadQueue, - NULL, "../z_kankyo.c", 1342); + DMA_REQUEST_ASYNC(&envCtx->dmaRequest, skyboxCtx->palettes, + gNormalSkyFiles[newSkybox2Index].palette.vromStart, size, 0, &envCtx->loadQueue, NULL, + "../z_kankyo.c", 1342); } else { size = gNormalSkyFiles[newSkybox2Index].palette.vromEnd - gNormalSkyFiles[newSkybox2Index].palette.vromStart; osCreateMesgQueue(&envCtx->loadQueue, &envCtx->loadMsg, 1); - DmaMgr_RequestAsync(&envCtx->dmaRequest, (u8*)skyboxCtx->palettes + size, - gNormalSkyFiles[newSkybox2Index].palette.vromStart, size, 0, &envCtx->loadQueue, - NULL, "../z_kankyo.c", 1355); + DMA_REQUEST_ASYNC(&envCtx->dmaRequest, (u8*)skyboxCtx->palettes + size, + gNormalSkyFiles[newSkybox2Index].palette.vromStart, size, 0, &envCtx->loadQueue, NULL, + "../z_kankyo.c", 1355); } } @@ -1427,7 +1427,7 @@ void Environment_DrawSunAndMoon(PlayState* play) { scale = (color * 2.0f) + 10.0f; Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_kankyo.c", 2364), G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_kankyo.c", 2364), G_MTX_LOAD); Gfx_SetupDL_54Opa(play->state.gfxCtx); gSPDisplayList(POLY_OPA_DISP++, gSunDL); @@ -1446,7 +1446,7 @@ void Environment_DrawSunAndMoon(PlayState* play) { alpha = temp * 255.0f; if (alpha > 0.0f) { - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_kankyo.c", 2406), G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_kankyo.c", 2406), G_MTX_LOAD); Gfx_SetupDL_51Opa(play->state.gfxCtx); gDPPipeSync(POLY_OPA_DISP++); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 240, 255, 180, alpha); @@ -1620,7 +1620,7 @@ void Environment_DrawLensFlare(PlayState* play, EnvironmentContext* envCtx, View POLY_XLU_DISP = func_800947AC(POLY_XLU_DISP++); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, lensFlareColors[i].r, lensFlareColors[i].g, lensFlareColors[i].b, alpha * envCtx->lensFlareAlphaScale); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_kankyo.c", 2662), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_kankyo.c", 2662), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetCombineLERP(POLY_XLU_DISP++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0); @@ -1703,7 +1703,7 @@ void Environment_DrawRain(PlayState* play, View* view, GraphicsContext* gfxCtx) Vec3f windDirection = { 0.0f, 0.0f, 0.0f }; Player* player = GET_PLAYER(play); - if (!(play->cameraPtrs[CAM_ID_MAIN]->stateFlags & CAM_STATE_8) && + if (!(play->cameraPtrs[CAM_ID_MAIN]->stateFlags & CAM_STATE_CAMERA_IN_WATER) && (play->envCtx.precipitation[PRECIP_SNOW_CUR] == 0)) { OPEN_DISPS(gfxCtx, "../z_kankyo.c", 2799); @@ -1754,7 +1754,7 @@ void Environment_DrawRain(PlayState* play, View* view, GraphicsContext* gfxCtx) Matrix_RotateY(-rotY, MTXMODE_APPLY); Matrix_RotateX(M_PI / 2 - rotX, MTXMODE_APPLY); Matrix_Scale(0.4f, 1.2f, 0.4f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_kankyo.c", 2887), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_kankyo.c", 2887), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gRaindropDL); } @@ -1781,7 +1781,7 @@ void Environment_DrawRain(PlayState* play, View* view, GraphicsContext* gfxCtx) Matrix_Scale(0.1f, 0.1f, 0.1f, MTXMODE_APPLY); } - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_kankyo.c", 2940), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_kankyo.c", 2940), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffShockwaveDL); } @@ -2025,7 +2025,7 @@ void Environment_DrawLightning(PlayState* play, s32 unused) { Matrix_Scale(22.0f, 100.0f, 22.0f, MTXMODE_APPLY); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 128); gDPSetEnvColor(POLY_XLU_DISP++, 0, 255, 255, 128); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_kankyo.c", 3333), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_kankyo.c", 3333), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(lightningTextures[sLightningBolts[i].textureIndex])); Gfx_SetupDL_61Xlu(play->state.gfxCtx); @@ -2419,17 +2419,17 @@ void Environment_DrawSandstorm(PlayState* play, u8 sandstormState) { if (ABS(primA - primA1) < 9) { primA = primA1; } else if (primA1 < primA) { - primA = primA - 9; + primA -= 9; } else { - primA = primA + 9; + primA += 9; } if (ABS(envA - envA1) < 9) { envA = envA1; } else if (envA1 < envA) { - envA = envA - 9; + envA -= 9; } else { - envA = envA + 9; + envA += 9; } play->envCtx.sandstormPrimA = primA; diff --git a/src/code/z_lifemeter.c b/src/code/z_lifemeter.c index 42edcb102c..6f3617d240 100644 --- a/src/code/z_lifemeter.c +++ b/src/code/z_lifemeter.c @@ -475,7 +475,7 @@ void Health_DrawMeter(PlayState* play) { } { - Mtx* matrix = Graph_Alloc(gfxCtx, sizeof(Mtx)); + Mtx* matrix = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); Matrix_SetTranslateScaleMtx2( matrix, 1.0f - (0.32f * beatingHeartPulsingSize), 1.0f - (0.32f * beatingHeartPulsingSize), 1.0f - (0.32f * beatingHeartPulsingSize), -130.0f + offsetX, 94.5f - offsetY, 0.0f); diff --git a/src/code/z_lights.c b/src/code/z_lights.c index f01c49df2a..1b9373474f 100644 --- a/src/code/z_lights.c +++ b/src/code/z_lights.c @@ -108,7 +108,7 @@ void Lights_BindPoint(Lights* lights, LightParams* params, Vec3f* vec) { if (light != NULL) { posDiff = sqrtf(posDiff); - if (1) {} + scale = posDiff / scale; scale = 1 - SQ(scale); @@ -279,7 +279,7 @@ Lights* Lights_NewAndDraw(GraphicsContext* gfxCtx, u8 ambientR, u8 ambientG, u8 Lights* lights; s32 i; - lights = Graph_Alloc(gfxCtx, sizeof(Lights)); + lights = GRAPH_ALLOC(gfxCtx, sizeof(Lights)); lights->l.a.l.col[0] = lights->l.a.l.colc[0] = ambientR; lights->l.a.l.col[1] = lights->l.a.l.colc[1] = ambientG; @@ -303,7 +303,7 @@ Lights* Lights_NewAndDraw(GraphicsContext* gfxCtx, u8 ambientR, u8 ambientG, u8 Lights* Lights_New(GraphicsContext* gfxCtx, u8 ambientR, u8 ambientG, u8 ambientB) { Lights* lights; - lights = Graph_Alloc(gfxCtx, sizeof(Lights)); + lights = GRAPH_ALLOC(gfxCtx, sizeof(Lights)); lights->l.a.l.col[0] = lights->l.a.l.colc[0] = ambientR; lights->l.a.l.col[1] = lights->l.a.l.colc[1] = ambientG; @@ -388,7 +388,7 @@ void Lights_DrawGlow(PlayState* play) { gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, params->color[0], params->color[1], params->color[2], 50); Matrix_Translate(params->x, params->y, params->z, MTXMODE_NEW); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_lights.c", 918), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_lights.c", 918), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGlowCircleDL); } diff --git a/src/code/z_map_exp.c b/src/code/z_map_exp.c index 9c75978a2a..6531c507dd 100644 --- a/src/code/z_map_exp.c +++ b/src/code/z_map_exp.c @@ -130,10 +130,10 @@ void Map_InitData(PlayState* play, s16 room) { osSyncPrintf("KKK=%d\n", extendedMapIndex); osSyncPrintf(VT_RST); sEntranceIconMapIndex = extendedMapIndex; - DmaMgr_RequestSyncDebug(interfaceCtx->mapSegment, - (uintptr_t)_map_grand_staticSegmentRomStart + - gMapData->owMinimapTexOffset[extendedMapIndex], - gMapData->owMinimapTexSize[mapIndex], "../z_map_exp.c", 309); + DMA_REQUEST_SYNC(interfaceCtx->mapSegment, + (uintptr_t)_map_grand_staticSegmentRomStart + + gMapData->owMinimapTexOffset[extendedMapIndex], + gMapData->owMinimapTexSize[mapIndex], "../z_map_exp.c", 309); interfaceCtx->unk_258 = mapIndex; break; case SCENE_DEKU_TREE: @@ -159,10 +159,10 @@ void Map_InitData(PlayState* play, s16 room) { osSyncPrintf("デクの樹ダンジョンMAP テクスチャDMA(%x) scene_id_offset=%d VREG(30)=%d\n", room, mapIndex, VREG(30)); osSyncPrintf(VT_RST); - DmaMgr_RequestSyncDebug(play->interfaceCtx.mapSegment, - (uintptr_t)_map_i_staticSegmentRomStart + - ((gMapData->dgnMinimapTexIndexOffset[mapIndex] + room) * MAP_I_TEX_SIZE), - MAP_I_TEX_SIZE, "../z_map_exp.c", 346); + DMA_REQUEST_SYNC(play->interfaceCtx.mapSegment, + (uintptr_t)_map_i_staticSegmentRomStart + + ((gMapData->dgnMinimapTexIndexOffset[mapIndex] + room) * MAP_I_TEX_SIZE), + MAP_I_TEX_SIZE, "../z_map_exp.c", 346); R_COMPASS_OFFSET_X = gMapData->roomCompassOffsetX[mapIndex][room]; R_COMPASS_OFFSET_Y = gMapData->roomCompassOffsetY[mapIndex][room]; Map_SetFloorPalettesData(play, VREG(30)); @@ -232,7 +232,7 @@ void Map_Init(PlayState* play) { interfaceCtx->unk_258 = -1; interfaceCtx->unk_25A = -1; - interfaceCtx->mapSegment = GameState_Alloc(&play->state, 0x1000, "../z_map_exp.c", 457); + interfaceCtx->mapSegment = GAME_STATE_ALLOC(&play->state, 0x1000, "../z_map_exp.c", 457); // "MAP texture initialization scene_data_ID=%d mapSegment=%x" osSyncPrintf("\n\n\nMAP テクスチャ初期化 scene_data_ID=%d\nmapSegment=%x\n\n", play->sceneId, interfaceCtx->mapSegment, play); @@ -334,7 +334,7 @@ void Minimap_DrawCompassIcons(PlayState* play) { Matrix_RotateX(-1.6f, MTXMODE_APPLY); tempX = (0x7FFF - player->actor.shape.rot.y) / 0x400; Matrix_RotateY(tempX / 10.0f, MTXMODE_APPLY); - gSPMatrix(OVERLAY_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_map_exp.c", 585), + gSPMatrix(OVERLAY_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_map_exp.c", 585), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 200, 255, 0, 255); @@ -348,7 +348,7 @@ void Minimap_DrawCompassIcons(PlayState* play) { Matrix_Scale(VREG(9) / 100.0f, VREG(9) / 100.0f, VREG(9) / 100.0f, MTXMODE_APPLY); Matrix_RotateX(VREG(52) / 10.0f, MTXMODE_APPLY); Matrix_RotateY(sPlayerInitialDirection / 10.0f, MTXMODE_APPLY); - gSPMatrix(OVERLAY_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_map_exp.c", 603), + gSPMatrix(OVERLAY_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_map_exp.c", 603), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(OVERLAY_DISP++, 0, 0xFF, 200, 0, 0, 255); diff --git a/src/code/z_map_mark.c b/src/code/z_map_mark.c index e84cbaaec9..60e092daf6 100644 --- a/src/code/z_map_mark.c +++ b/src/code/z_map_mark.c @@ -57,7 +57,7 @@ void MapMark_Init(PlayState* play) { MapMarkDataOverlay* overlay = &sMapMarkDataOvl; u32 overlaySize = (uintptr_t)overlay->vramEnd - (uintptr_t)overlay->vramStart; - overlay->loadedRamAddr = GameState_Alloc(&play->state, overlaySize, "../z_map_mark.c", 235); + overlay->loadedRamAddr = GAME_STATE_ALLOC(&play->state, overlaySize, "../z_map_mark.c", 235); LogUtils_CheckNullPointer("dlftbl->allocp", overlay->loadedRamAddr, "../z_map_mark.c", 236); Overlay_Load(overlay->vromStart, overlay->vromEnd, overlay->vramStart, overlay->vramEnd, overlay->loadedRamAddr); diff --git a/src/code/z_message_PAL.c b/src/code/z_message_PAL.c index 0cc56c129f..62a6d2438e 100644 --- a/src/code/z_message_PAL.c +++ b/src/code/z_message_PAL.c @@ -848,7 +848,7 @@ void Message_HandleOcarina(PlayState* play) { */ void Message_DrawText(PlayState* play, Gfx** gfxP) { MessageContext* msgCtx = &play->msgCtx; - u16 lookAheadCharacter; + s16 pad; u8 character; u16 j; u16 i; @@ -928,15 +928,13 @@ void Message_DrawText(PlayState* play, Gfx** gfxP) { msgCtx->msgMode < MSGMODE_SCARECROW_LONG_RECORDING_START))) { j = i; while (true) { - lookAheadCharacter = msgCtx->msgBufDecoded[j]; - if (lookAheadCharacter == MESSAGE_SHIFT) { + character = msgCtx->msgBufDecoded[j]; + if (character == MESSAGE_SHIFT) { j += 2; - } else if ((lookAheadCharacter != MESSAGE_QUICKTEXT_DISABLE) && - (lookAheadCharacter != MESSAGE_PERSISTENT) && - (lookAheadCharacter != MESSAGE_EVENT) && - (lookAheadCharacter != MESSAGE_BOX_BREAK_DELAYED) && - (lookAheadCharacter != MESSAGE_AWAIT_BUTTON_PRESS) && - (lookAheadCharacter != MESSAGE_BOX_BREAK) && (lookAheadCharacter != MESSAGE_END)) { + } else if ((character != MESSAGE_QUICKTEXT_DISABLE) && (character != MESSAGE_PERSISTENT) && + (character != MESSAGE_EVENT) && (character != MESSAGE_BOX_BREAK_DELAYED) && + (character != MESSAGE_AWAIT_BUTTON_PRESS) && (character != MESSAGE_BOX_BREAK) && + (character != MESSAGE_END)) { j++; } else { break; @@ -944,8 +942,6 @@ void Message_DrawText(PlayState* play, Gfx** gfxP) { } i = j - 1; msgCtx->textDrawPos = i + 1; - - if (character) {} } FALLTHROUGH; case MESSAGE_QUICKTEXT_DISABLE: @@ -1165,16 +1161,16 @@ void Message_LoadItemIcon(PlayState* play, u16 itemId, s16 y) { R_TEXTBOX_ICON_XPOS = R_TEXT_INIT_XPOS - sIconItem32XOffsets[gSaveContext.language]; R_TEXTBOX_ICON_YPOS = y + ((44 - ITEM_ICON_HEIGHT) / 2); R_TEXTBOX_ICON_DIMENSION = ITEM_ICON_WIDTH; // assumes the image is square - DmaMgr_RequestSyncDebug(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, GET_ITEM_ICON_VROM(itemId), - ITEM_ICON_SIZE, "../z_message_PAL.c", 1473); + DMA_REQUEST_SYNC(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, GET_ITEM_ICON_VROM(itemId), ITEM_ICON_SIZE, + "../z_message_PAL.c", 1473); // "Item 32-0" osSyncPrintf("アイテム32-0\n"); } else { R_TEXTBOX_ICON_XPOS = R_TEXT_INIT_XPOS - sIconItem24XOffsets[gSaveContext.language]; R_TEXTBOX_ICON_YPOS = y + ((44 - QUEST_ICON_HEIGHT) / 2); R_TEXTBOX_ICON_DIMENSION = QUEST_ICON_WIDTH; // assumes the image is square - DmaMgr_RequestSyncDebug(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, GET_QUEST_ICON_VROM(itemId), - QUEST_ICON_SIZE, "../z_message_PAL.c", 1482); + DMA_REQUEST_SYNC(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, GET_QUEST_ICON_VROM(itemId), QUEST_ICON_SIZE, + "../z_message_PAL.c", 1482); // "Item 24" osSyncPrintf("アイテム24=%d (%d) {%d}\n", itemId, itemId - ITEM_KOKIRI_EMERALD, 84); } @@ -1435,7 +1431,6 @@ void Message_Decode(PlayState* play) { digits[2]++; digits[3] -= 10; } - if (curChar) {} loadChar = false; for (i = 0; i < 4; i++) { @@ -1532,14 +1527,14 @@ void Message_Decode(PlayState* play) { msgCtx->textboxBackgroundBackColorIdx = font->msgBuf[msgCtx->msgBufPos + 2] & 0xF; msgCtx->textboxBackgroundYOffsetIdx = (font->msgBuf[msgCtx->msgBufPos + 3] & 0xF0) >> 4; msgCtx->textboxBackgroundUnkArg = font->msgBuf[msgCtx->msgBufPos + 3] & 0xF; - DmaMgr_RequestSyncDebug(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, - (uintptr_t)_message_texture_staticSegmentRomStart + - msgCtx->textboxBackgroundIdx * MESSAGE_TEXTURE_STATIC_TEX_SIZE, - MESSAGE_TEXTURE_STATIC_TEX_SIZE, "../z_message_PAL.c", 1830); - DmaMgr_RequestSyncDebug(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE + MESSAGE_TEXTURE_STATIC_TEX_SIZE, - (uintptr_t)_message_texture_staticSegmentRomStart + - (msgCtx->textboxBackgroundIdx + 1) * MESSAGE_TEXTURE_STATIC_TEX_SIZE, - MESSAGE_TEXTURE_STATIC_TEX_SIZE, "../z_message_PAL.c", 1834); + DMA_REQUEST_SYNC(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE, + (uintptr_t)_message_texture_staticSegmentRomStart + + msgCtx->textboxBackgroundIdx * MESSAGE_TEXTURE_STATIC_TEX_SIZE, + MESSAGE_TEXTURE_STATIC_TEX_SIZE, "../z_message_PAL.c", 1830); + DMA_REQUEST_SYNC(msgCtx->textboxSegment + MESSAGE_STATIC_TEX_SIZE + MESSAGE_TEXTURE_STATIC_TEX_SIZE, + (uintptr_t)_message_texture_staticSegmentRomStart + + (msgCtx->textboxBackgroundIdx + 1) * MESSAGE_TEXTURE_STATIC_TEX_SIZE, + MESSAGE_TEXTURE_STATIC_TEX_SIZE, "../z_message_PAL.c", 1834); msgCtx->msgBufPos += 3; R_TEXTBOX_BG_YPOS = R_TEXTBOX_Y + 8; numLines = 2; @@ -1634,24 +1629,24 @@ void Message_OpenText(PlayState* play, u16 textId) { if (sTextIsCredits) { Message_FindCreditsMessage(play, textId); msgCtx->msgLength = font->msgLength; - DmaMgr_RequestSyncDebug(font->msgBuf, (uintptr_t)_staff_message_data_staticSegmentRomStart + font->msgOffset, - font->msgLength, "../z_message_PAL.c", 1954); + DMA_REQUEST_SYNC(font->msgBuf, (uintptr_t)_staff_message_data_staticSegmentRomStart + font->msgOffset, + font->msgLength, "../z_message_PAL.c", 1954); } else { if (gSaveContext.language == LANGUAGE_ENG) { Message_FindMessage(play, textId); msgCtx->msgLength = font->msgLength; - DmaMgr_RequestSyncDebug(font->msgBuf, (uintptr_t)_nes_message_data_staticSegmentRomStart + font->msgOffset, - font->msgLength, "../z_message_PAL.c", 1966); + DMA_REQUEST_SYNC(font->msgBuf, (uintptr_t)_nes_message_data_staticSegmentRomStart + font->msgOffset, + font->msgLength, "../z_message_PAL.c", 1966); } else if (gSaveContext.language == LANGUAGE_GER) { Message_FindMessage(play, textId); msgCtx->msgLength = font->msgLength; - DmaMgr_RequestSyncDebug(font->msgBuf, (uintptr_t)_ger_message_data_staticSegmentRomStart + font->msgOffset, - font->msgLength, "../z_message_PAL.c", 1978); + DMA_REQUEST_SYNC(font->msgBuf, (uintptr_t)_ger_message_data_staticSegmentRomStart + font->msgOffset, + font->msgLength, "../z_message_PAL.c", 1978); } else { Message_FindMessage(play, textId); msgCtx->msgLength = font->msgLength; - DmaMgr_RequestSyncDebug(font->msgBuf, (uintptr_t)_fra_message_data_staticSegmentRomStart + font->msgOffset, - font->msgLength, "../z_message_PAL.c", 1990); + DMA_REQUEST_SYNC(font->msgBuf, (uintptr_t)_fra_message_data_staticSegmentRomStart + font->msgOffset, + font->msgLength, "../z_message_PAL.c", 1990); } } msgCtx->textBoxProperties = font->charTexBuf[0]; @@ -1661,10 +1656,10 @@ void Message_OpenText(PlayState* play, u16 textId) { // "Text Box Type" osSyncPrintf("吹き出し種類=%d\n", msgCtx->textBoxType); if (textBoxType < TEXTBOX_TYPE_NONE_BOTTOM) { - DmaMgr_RequestSyncDebug(msgCtx->textboxSegment, - (uintptr_t)_message_staticSegmentRomStart + - (messageStaticIndices[textBoxType] * MESSAGE_STATIC_TEX_SIZE), - MESSAGE_STATIC_TEX_SIZE, "../z_message_PAL.c", 2006); + DMA_REQUEST_SYNC(msgCtx->textboxSegment, + (uintptr_t)_message_staticSegmentRomStart + + (messageStaticIndices[textBoxType] * MESSAGE_STATIC_TEX_SIZE), + MESSAGE_STATIC_TEX_SIZE, "../z_message_PAL.c", 2006); if (textBoxType == TEXTBOX_TYPE_BLACK) { msgCtx->textboxColorRed = 0; msgCtx->textboxColorGreen = 0; diff --git a/src/code/z_olib.c b/src/code/z_olib.c index e89a0b348d..d5056e8f70 100644 --- a/src/code/z_olib.c +++ b/src/code/z_olib.c @@ -50,7 +50,7 @@ f32 OLib_ClampMaxDist(f32 val, f32 max) { /** * Takes the difference of points b and a, and creates a normal vector */ -Vec3f* OLib_Vec3fDistNormalize(Vec3f* dest, Vec3f* a, Vec3f* b) { +Vec3f OLib_Vec3fDistNormalize(Vec3f* a, Vec3f* b) { Vec3f v1; Vec3f v2; f32 dist; @@ -65,15 +65,13 @@ Vec3f* OLib_Vec3fDistNormalize(Vec3f* dest, Vec3f* a, Vec3f* b) { v2.y = v1.y / dist; v2.z = v1.z / dist; - *dest = v2; - - return dest; + return v2; } /** * Takes the spherical coordinate `sph`, and converts it into a x,y,z position */ -Vec3f* OLib_VecSphToVec3f(Vec3f* dest, VecSph* sph) { +Vec3f OLib_VecSphToVec3f(VecSph* sph) { Vec3f v; f32 sinPitch; f32 cosPitch = Math_CosS(sph->pitch); @@ -87,28 +85,26 @@ Vec3f* OLib_VecSphToVec3f(Vec3f* dest, VecSph* sph) { v.y = sph->r * cosPitch; v.z = sph->r * sinPitch * cosYaw; - *dest = v; - - return dest; + return v; } /** * Takes the geographic point `geo` and converts it into a x,y,z position */ -Vec3f* OLib_VecGeoToVec3f(Vec3f* dest, VecGeo* geo) { +Vec3f OLib_VecGeoToVec3f(VecGeo* geo) { VecSph sph; sph.r = geo->r; sph.pitch = 0x3FFF - geo->pitch; sph.yaw = geo->yaw; - return OLib_VecSphToVec3f(dest, &sph); + return OLib_VecSphToVec3f(&sph); } /** * Takes the point `vec`, and converts it into a spherical coordinate */ -VecSph* OLib_Vec3fToVecSph(VecSph* dest, Vec3f* vec) { +VecSph OLib_Vec3fToVecSph(Vec3f* vec) { VecSph sph; f32 distXZSq = SQ(vec->x) + SQ(vec->z); f32 distXZ = sqrtf(distXZSq); @@ -126,98 +122,88 @@ VecSph* OLib_Vec3fToVecSph(VecSph* dest, Vec3f* vec) { sph.yaw = CAM_DEG_TO_BINANG(RAD_TO_DEG(Math_FAtan2F(vec->x, vec->z))); } - *dest = sph; - - return dest; + return sph; } /** * Takes the point `vec`, and converts it to a geographic coordinate */ -VecGeo* OLib_Vec3fToVecGeo(VecGeo* dest, Vec3f* vec) { +VecGeo OLib_Vec3fToVecGeo(Vec3f* vec) { VecSph sph; - OLib_Vec3fToVecSph(&sph, vec); + sph = OLib_Vec3fToVecSph(vec); sph.pitch = 0x3FFF - sph.pitch; - *dest = sph; - - return dest; + return sph; } /** * Takes the differences of positions `a` and `b`, and converts them to spherical coordinates */ -VecSph* OLib_Vec3fDiffToVecSph(VecSph* dest, Vec3f* a, Vec3f* b) { +VecSph OLib_Vec3fDiffToVecSph(Vec3f* a, Vec3f* b) { Vec3f diff; diff.x = b->x - a->x; diff.y = b->y - a->y; diff.z = b->z - a->z; - return OLib_Vec3fToVecSph(dest, &diff); + return OLib_Vec3fToVecSph(&diff); } /** * Takes the difference of positions `a` and `b`, and converts them to geographic coordinates */ -VecGeo* OLib_Vec3fDiffToVecGeo(VecGeo* dest, Vec3f* a, Vec3f* b) { +VecGeo OLib_Vec3fDiffToVecGeo(Vec3f* a, Vec3f* b) { Vec3f diff; diff.x = b->x - a->x; diff.y = b->y - a->y; diff.z = b->z - a->z; - return OLib_Vec3fToVecGeo(dest, &diff); + return OLib_Vec3fToVecGeo(&diff); } /** * Gets the pitch/yaw of the vector formed from `b`-`a`, result is in radians */ -Vec3f* OLib_Vec3fDiffRad(Vec3f* dest, Vec3f* a, Vec3f* b) { +Vec3f OLib_Vec3fDiffRad(Vec3f* a, Vec3f* b) { Vec3f anglesRad; anglesRad.x = Math_FAtan2F(b->z - a->z, b->y - a->y); anglesRad.y = Math_FAtan2F(b->x - a->x, b->z - a->z); anglesRad.z = 0; - *dest = anglesRad; - - return dest; + return anglesRad; } /** * Gets the pitch/yaw of the vector formed from `b`-`a`, result is in degrees */ -Vec3f* OLib_Vec3fDiffDegF(Vec3f* dest, Vec3f* a, Vec3f* b) { +Vec3f OLib_Vec3fDiffDegF(Vec3f* a, Vec3f* b) { Vec3f anglesRad; Vec3f anglesDegrees; - OLib_Vec3fDiffRad(&anglesRad, a, b); + anglesRad = OLib_Vec3fDiffRad(a, b); anglesDegrees.x = RAD_TO_DEG(anglesRad.x); anglesDegrees.y = RAD_TO_DEG(anglesRad.y); anglesDegrees.z = 0.0f; - *dest = anglesDegrees; - - return dest; + return anglesDegrees; } /** * Gets the pitch/yaw of the vector formed from `b`-`a`, result is in binary degrees */ -Vec3s* OLib_Vec3fDiffBinAng(Vec3s* dest, Vec3f* a, Vec3f* b) { +Vec3s OLib_Vec3fDiffBinAng(Vec3f* a, Vec3f* b) { Vec3f anglesRad; Vec3s anglesBinAng; - OLib_Vec3fDiffRad(&anglesRad, a, b); + anglesRad = OLib_Vec3fDiffRad(a, b); anglesBinAng.x = CAM_DEG_TO_BINANG(RAD_TO_DEG(anglesRad.x)); anglesBinAng.y = CAM_DEG_TO_BINANG(RAD_TO_DEG(anglesRad.y)); anglesBinAng.z = 0.0f; - *dest = anglesBinAng; - - return dest; + return anglesBinAng; } diff --git a/src/code/z_onepointdemo.c b/src/code/z_onepointdemo.c index 65c5b5d69f..1ba0c01ff5 100644 --- a/src/code/z_onepointdemo.c +++ b/src/code/z_onepointdemo.c @@ -9,19 +9,15 @@ static s32 sPrevFrameCs1100 = -4096; #include "z_onepointdemo_data.inc.c" -Vec3f* OnePointCutscene_AddVecGeoToVec3f(Vec3f* dest, Vec3f* a, VecGeo* geo) { +Vec3f OnePointCutscene_AddVecGeoToVec3f(Vec3f* a, VecGeo* geo) { Vec3f sum; - Vec3f b; - - OLib_VecGeoToVec3f(&b, geo); + Vec3f b = OLib_VecGeoToVec3f(geo); sum.x = a->x + b.x; sum.y = a->y + b.y; sum.z = a->z + b.z; - *dest = sum; - - return dest; + return sum; } s16 OnePointCutscene_Vec3fYaw(Vec3f* vec1, Vec3f* vec2) { @@ -98,7 +94,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_80120964[0].atTargetInit = play->view.at; D_80120964[0].eyeTargetInit = play->view.eye; D_80120964[0].fovTargetInit = play->view.fovy; - OLib_Vec3fDiffToVecGeo(&spD0, &mainCam->at, &mainCam->eye); + spD0 = OLib_Vec3fDiffToVecGeo(&mainCam->at, &mainCam->eye); D_80120964[1].eyeTargetInit.y = CAM_BINANG_TO_DEG(spD0.yaw); D_80120964[1].timerInit = timer - 1; @@ -112,9 +108,9 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_801209B4[0].atTargetInit = D_801209B4[1].atTargetInit = play->view.at; D_801209B4[0].eyeTargetInit = play->view.eye; D_801209B4[0].fovTargetInit = D_801209B4[2].fovTargetInit = play->view.fovy; - OLib_Vec3fDiffToVecGeo(&spD0, &actor->focus.pos, &mainCam->at); + spD0 = OLib_Vec3fDiffToVecGeo(&actor->focus.pos, &mainCam->at); spD0.r = mainCam->dist; - OnePointCutscene_AddVecGeoToVec3f(&D_801209B4[1].eyeTargetInit, &D_801209B4[1].atTargetInit, &spD0); + D_801209B4[1].eyeTargetInit = OnePointCutscene_AddVecGeoToVec3f(&D_801209B4[1].atTargetInit, &spD0); D_801209B4[1].atTargetInit.y += 20.0f; csInfo->keyFrames = D_801209B4; @@ -310,15 +306,15 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act break; case 4500: - Actor_GetFocus(&spA0, actor); + spA0 = Actor_GetFocus(actor); spC0 = spA0.pos; spC0.y = OnePointCutscene_RaycastDown(&play->colCtx, &spC0) + 40.0f; spD0.r = 150.0f; spD0.yaw = spA0.rot.y; spD0.pitch = 0x3E8; - OnePointCutscene_AddVecGeoToVec3f(&spB4, &spC0, &spD0); - Play_ChangeCameraSetting(play, subCamId, CAM_SET_FREE2); + spB4 = OnePointCutscene_AddVecGeoToVec3f(&spC0, &spD0); + Play_RequestCameraSetting(play, subCamId, CAM_SET_FREE2); Play_SetCameraAtEye(play, subCamId, &spC0, &spB4); Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_8); subCam->roll = 0; @@ -329,7 +325,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act break; case 2210: - OLib_Vec3fDiffToVecGeo(&spD0, &player->actor.world.pos, &actor->world.pos); + spD0 = OLib_Vec3fDiffToVecGeo(&player->actor.world.pos, &actor->world.pos); D_801213B4[0].eyeTargetInit.y = D_801213B4[1].eyeTargetInit.y = D_801213B4[2].eyeTargetInit.y = D_801213B4[2].atTargetInit.y = CAM_BINANG_TO_DEG(spD0.yaw); if (Rand_ZeroOne() < 0.0f) { @@ -344,22 +340,22 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act break; case 1010: - Play_ChangeCameraSetting(play, subCamId, CAM_SET_FREE2); + Play_RequestCameraSetting(play, subCamId, CAM_SET_FREE2); Play_SetCameraAtEye(play, subCamId, &childCam->at, &childCam->eye); Play_SetCameraFov(play, subCamId, childCam->fov); Play_SetCameraRoll(play, subCamId, childCam->roll); break; case 9601: // Leaving a crawlspace forwards - Play_ChangeCameraSetting(play, subCamId, CAM_SET_CS_3); - Play_ChangeCameraSetting(play, CAM_ID_MAIN, mainCam->prevSetting); + Play_RequestCameraSetting(play, subCamId, CAM_SET_CS_3); + Play_RequestCameraSetting(play, CAM_ID_MAIN, mainCam->prevSetting); OnePointCutscene_SetCsCamPoints(subCam, sCrawlspaceActionParam | 0x1000, sCrawlspaceTimer, sCrawlspaceAtPoints, sCrawlspaceForwardsEyePoints); break; case 9602: // Leaving a crawlspace backwards - Play_ChangeCameraSetting(play, subCamId, CAM_SET_CS_3); - Play_ChangeCameraSetting(play, CAM_ID_MAIN, mainCam->prevSetting); + Play_RequestCameraSetting(play, subCamId, CAM_SET_CS_3); + Play_RequestCameraSetting(play, CAM_ID_MAIN, mainCam->prevSetting); OnePointCutscene_SetCsCamPoints(subCam, sCrawlspaceActionParam | 0x1000, sCrawlspaceTimer, sCrawlspaceAtPoints, sCrawlspaceBackwardsEyePoints); break; @@ -378,7 +374,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act spB4.x = -1979.0f; spB4.y = 703.0f; spB4.z = -269.0f; - Play_ChangeCameraSetting(play, subCamId, CAM_SET_FREE2); + Play_RequestCameraSetting(play, subCamId, CAM_SET_FREE2); Play_SetCameraAtEye(play, subCamId, &spC0, &spB4); subCam->roll = 6; subCam->fov = 75.0f; @@ -454,7 +450,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 3100: VEC_SET(spB4, 0.0f, -280.0f, -1400.0f); - Actor_GetFocus(&spA0, actor); + spA0 = Actor_GetFocus(actor); spC0 = spA0.pos; Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_PIVOT_VERTICAL); Play_SetCameraAtEye(play, subCamId, &spC0, &spB4); @@ -486,7 +482,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act break; case 3050: - Play_ChangeCameraSetting(play, subCamId, CAM_SET_CS_3); + Play_RequestCameraSetting(play, subCamId, CAM_SET_CS_3); Player_SetCsActionWithHaltedActors(play, &player->actor, PLAYER_CSACTION_5); OnePointCutscene_SetCsCamPoints(subCam, D_80120304 | 0x2000, D_80120300, D_8012013C, D_8012021C); Sfx_PlaySfxCentered(NA_SE_SY_CORRECT_CHIME); @@ -514,7 +510,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act case 3120: csInfo->keyFrames = D_80121954[-(timer + 101)]; subCam->timer = 100; - subCam->stateFlags |= CAM_STATE_1; + subCam->stateFlags |= CAM_STATE_CHECK_WATER; csInfo->keyFrameCount = ARRAY_COUNT(D_80121954[0]); Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_8); @@ -527,7 +523,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_8); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); - subCam->stateFlags |= CAM_STATE_1; + subCam->stateFlags |= CAM_STATE_CHECK_WATER; break; case 3140: @@ -548,7 +544,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act spB4.x = 1729.0f; spB4.y = 995.0f; spB4.z = -1405.0f; - Play_ChangeCameraSetting(play, subCamId, CAM_SET_FREE2); + Play_RequestCameraSetting(play, subCamId, CAM_SET_FREE2); Play_SetCameraAtEye(play, subCamId, &spC0, &spB4); subCam->roll = 0x50; subCam->fov = 55.0f; @@ -556,15 +552,15 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act break; case 3170: - Actor_GetWorld(&spA0, actor); + spA0 = Actor_GetWorld(actor); spC0 = spA0.pos; spD0.pitch = -0x5DC; spC0.y += 50.0f; spD0.r = 250.0f; - Actor_GetWorld(&spA0, &player->actor); + spA0 = Actor_GetWorld(&player->actor); spD0.yaw = OnePointCutscene_Vec3fYaw(&spC0, &spA0.pos) - 0x7D0; - OnePointCutscene_AddVecGeoToVec3f(&spB4, &spC0, &spD0); - Play_ChangeCameraSetting(play, subCamId, CAM_SET_FREE2); + spB4 = OnePointCutscene_AddVecGeoToVec3f(&spC0, &spD0); + Play_RequestCameraSetting(play, subCamId, CAM_SET_FREE2); Play_SetCameraAtEye(play, subCamId, &spC0, &spB4); Play_CopyCamera(play, CAM_ID_MAIN, subCamId); subCam->roll = -1; @@ -573,13 +569,13 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act break; case 3160: - Actor_GetWorld(&spA0, actor); + spA0 = Actor_GetWorld(actor); spC0 = spA0.pos; spD0.pitch = 0; spD0.yaw = spA0.rot.y; spD0.r = 150.0f; - OnePointCutscene_AddVecGeoToVec3f(&spB4, &spC0, &spD0); - Play_ChangeCameraSetting(play, subCamId, CAM_SET_FREE2); + spB4 = OnePointCutscene_AddVecGeoToVec3f(&spC0, &spD0); + Play_RequestCameraSetting(play, subCamId, CAM_SET_FREE2); Play_SetCameraAtEye(play, subCamId, &spC0, &spB4); subCam->roll = 0; subCam->fov = 55.0f; @@ -587,14 +583,14 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act break; case 3180: - Actor_GetWorldPosShapeRot(&spA0, actor); + spA0 = Actor_GetWorldPosShapeRot(actor); spC0 = spA0.pos; spC0.y += 120.0f; spD0.r = 300.0f; spD0.yaw = spA0.rot.y; spD0.pitch = -0xAF0; - OnePointCutscene_AddVecGeoToVec3f(&spB4, &spC0, &spD0); - Play_ChangeCameraSetting(play, subCamId, CAM_SET_FREE2); + spB4 = OnePointCutscene_AddVecGeoToVec3f(&spC0, &spD0); + Play_RequestCameraSetting(play, subCamId, CAM_SET_FREE2); Play_SetCameraAtEye(play, subCamId, &spC0, &spB4); subCam->roll = 0; subCam->fov = 60.0f; @@ -602,8 +598,8 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act break; case 3190: - Play_ChangeCameraSetting(play, subCamId, CAM_SET_FOREST_DEFEAT_POE); - Camera_ChangeMode(mainCam, CAM_MODE_NORMAL); + Play_RequestCameraSetting(play, subCamId, CAM_SET_FOREST_DEFEAT_POE); + Camera_RequestMode(mainCam, CAM_MODE_NORMAL); Player_SetCsAction(play, actor, PLAYER_CSACTION_12); break; @@ -614,20 +610,20 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act spB4.x = 80.0f; spB4.y = 445.0f; spB4.z = -1425.0f; - Play_ChangeCameraSetting(play, subCamId, CAM_SET_FREE2); + Play_RequestCameraSetting(play, subCamId, CAM_SET_FREE2); Play_SetCameraAtEye(play, subCamId, &spC0, &spB4); subCam->roll = 0x1E; subCam->fov = 75.0f; Player_SetCsAction(play, &player->actor, PLAYER_CSACTION_8); - Actor_GetWorldPosShapeRot(&spA0, actor); - Actor_GetFocus(&sp8C, &player->actor); + spA0 = Actor_GetWorldPosShapeRot(actor); + sp8C = Actor_GetFocus(&player->actor); spC0.x = sp8C.pos.x; spC0.y = sp8C.pos.y + 70.0f; spC0.z = sp8C.pos.z; - OLib_Vec3fDiffToVecGeo(&spD0, &spA0.pos, &sp8C.pos); + spD0 = OLib_Vec3fDiffToVecGeo(&spA0.pos, &sp8C.pos); spD0.pitch = 0x5DC; spD0.r = 120.0f; - OnePointCutscene_AddVecGeoToVec3f(&spB4, &spC0, &spD0); + spB4 = OnePointCutscene_AddVecGeoToVec3f(&spC0, &spD0); Play_SetCameraAtEye(play, CAM_ID_MAIN, &spC0, &spB4); i = Quake_Request(subCam, QUAKE_TYPE_3); @@ -637,14 +633,14 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act break; case 6010: - Actor_GetWorld(&spA0, actor); + spA0 = Actor_GetWorld(actor); spC0 = spA0.pos; spD0.pitch = 0; spC0.y += 70.0f; spD0.yaw = spA0.rot.y + 0x7FFF; spD0.r = 300.0f; - OnePointCutscene_AddVecGeoToVec3f(&spB4, &spC0, &spD0); - Play_ChangeCameraSetting(play, subCamId, CAM_SET_FREE2); + spB4 = OnePointCutscene_AddVecGeoToVec3f(&spC0, &spD0); + Play_RequestCameraSetting(play, subCamId, CAM_SET_FREE2); Play_SetCameraAtEye(play, subCamId, &spC0, &spB4); subCam->roll = 0; subCam->fov = 45.0f; @@ -652,14 +648,14 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act break; case 3220: - Actor_GetFocus(&spA0, actor); + spA0 = Actor_GetFocus(actor); spC0 = spA0.pos; Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_PIVOT_VERTICAL); - Actor_GetWorld(&spA0, &player->actor); - OLib_Vec3fDiffToVecGeo(&spD0, &spC0, &spA0.pos); + spA0 = Actor_GetWorld(&player->actor); + spD0 = OLib_Vec3fDiffToVecGeo(&spC0, &spA0.pos); spD0.yaw += 0x3E8; spD0.r = 400.0f; - OnePointCutscene_AddVecGeoToVec3f(&spB4, &spC0, &spD0); + spB4 = OnePointCutscene_AddVecGeoToVec3f(&spC0, &spD0); spB4.y = spA0.pos.y + 60.0f; Play_SetCameraAtEye(play, subCamId, &spC0, &spB4); subCam->roll = 0; @@ -679,9 +675,9 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act break; case 6001: - Play_ChangeCameraSetting(play, subCamId, CAM_SET_CS_3); + Play_RequestCameraSetting(play, subCamId, CAM_SET_CS_3); Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_8); - Actor_GetWorld(&spA0, actor); + spA0 = Actor_GetWorld(actor); if (spA0.pos.z > -750.0f) { OnePointCutscene_SetCsCamPoints(subCam, D_801208E8, D_801208E4, D_801206A0, D_80120820); } else { @@ -695,7 +691,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act break; case 3400: - Play_ChangeCameraSetting(play, subCamId, CAM_SET_CS_3); + Play_RequestCameraSetting(play, subCamId, CAM_SET_CS_3); Player_SetCsAction(play, &player->actor, PLAYER_CSACTION_8); OnePointCutscene_SetCsCamPoints(subCam, D_8012069C | 0x2000, D_80120698, D_801204D4, D_801205B4); OnePointCutscene_Vec3sToVec3f(&mainCam->eye, &D_801205B4[D_80120694 - 2].pos); @@ -718,7 +714,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act break; case 3310: - Play_ChangeCameraSetting(play, subCamId, CAM_SET_FIRE_STAIRCASE); + Play_RequestCameraSetting(play, subCamId, CAM_SET_FIRE_STAIRCASE); Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_8); Play_CopyCamera(play, subCamId, CAM_ID_MAIN); @@ -732,7 +728,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act D_80121F1C[0].atTargetInit = play->view.at; D_80121F1C[0].eyeTargetInit = play->view.eye; D_80121F1C[0].fovTargetInit = play->view.fovy; - Actor_GetFocus(&spA0, actor); + spA0 = Actor_GetFocus(actor); player->actor.shape.rot.y = player->actor.world.rot.y = player->yaw = spA0.rot.y; csInfo->keyFrames = D_80121F1C; @@ -884,7 +880,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act csInfo->keyFrameCount = ARRAY_COUNT(D_801227B4); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); - Camera_ChangeMode(mainCam, CAM_MODE_NORMAL); + Camera_RequestMode(mainCam, CAM_MODE_NORMAL); break; case 4150: @@ -892,7 +888,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act csInfo->keyFrameCount = ARRAY_COUNT(D_801228A4); Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_8); - Camera_ChangeMode(mainCam, CAM_MODE_NORMAL); + Camera_RequestMode(mainCam, CAM_MODE_NORMAL); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -901,7 +897,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act csInfo->keyFrameCount = ARRAY_COUNT(D_8012296C); Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_8); - Camera_ChangeMode(mainCam, CAM_MODE_NORMAL); + Camera_RequestMode(mainCam, CAM_MODE_NORMAL); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -910,7 +906,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act csInfo->keyFrameCount = ARRAY_COUNT(D_80122A0C); Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_8); - Camera_ChangeMode(mainCam, CAM_MODE_NORMAL); + Camera_RequestMode(mainCam, CAM_MODE_NORMAL); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -919,7 +915,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act csInfo->keyFrameCount = ARRAY_COUNT(D_80122A5C); Player_SetCsAction(play, &player->actor, PLAYER_CSACTION_8); - Camera_ChangeMode(mainCam, CAM_MODE_NORMAL); + Camera_RequestMode(mainCam, CAM_MODE_NORMAL); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -928,7 +924,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act csInfo->keyFrameCount = ARRAY_COUNT(D_80122B9C); Player_SetCsAction(play, &player->actor, PLAYER_CSACTION_8); - Camera_ChangeMode(mainCam, CAM_MODE_NORMAL); + Camera_RequestMode(mainCam, CAM_MODE_NORMAL); Play_InitCameraDataUsingPlayer(play, subCamId, player, CAM_SET_CS_C); break; @@ -1002,8 +998,8 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act break; case 8700: - Actor_GetFocus(&spA0, actor); - Actor_GetFocus(&sp8C, &player->actor); + spA0 = Actor_GetFocus(actor); + sp8C = Actor_GetFocus(&player->actor); D_80122E44[timer & 1][0].atTargetInit.y = ((spA0.pos.y - sp8C.pos.y) / 10.0f) + 90.0f; D_80122E44[timer & 1][5].atTargetInit = mainCam->at; @@ -1041,7 +1037,7 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act subCam->data2 = 0xC; } else { Play_CopyCamera(play, subCamId, CAM_ID_MAIN); - Play_ChangeCameraSetting(play, subCamId, CAM_SET_FREE2); + Play_RequestCameraSetting(play, subCamId, CAM_SET_FREE2); } break; @@ -1052,13 +1048,13 @@ s32 OnePointCutscene_SetInfo(PlayState* play, s16 subCamId, s16 csId, Actor* act if (player->stateFlags1 & PLAYER_STATE1_27) { D_801231B4[2].atTargetInit.z = 0.0f; } - Actor_GetWorldPosShapeRot(&spA0, &player->actor); - OLib_Vec3fDiffToVecGeo(&spD0, &spA0.pos, &mainCam->at); + spA0 = Actor_GetWorldPosShapeRot(&player->actor); + spD0 = OLib_Vec3fDiffToVecGeo(&spA0.pos, &mainCam->at); spD0.yaw -= spA0.rot.y; - OLib_VecGeoToVec3f(&D_801231B4[3].atTargetInit, &spD0); - OLib_Vec3fDiffToVecGeo(&spD0, &spA0.pos, &mainCam->eye); + D_801231B4[3].atTargetInit = OLib_VecGeoToVec3f(&spD0); + spD0 = OLib_Vec3fDiffToVecGeo(&spA0.pos, &mainCam->eye); spD0.yaw -= spA0.rot.y; - OLib_VecGeoToVec3f(&D_801231B4[3].eyeTargetInit, &spD0); + D_801231B4[3].eyeTargetInit = OLib_VecGeoToVec3f(&spD0); D_801231B4[3].fovTargetInit = mainCam->fov; D_801231B4[3].timerInit = timer - 50; @@ -1358,7 +1354,7 @@ s32 OnePointCutscene_Attention(PlayState* play, Actor* actor) { parentCam = play->cameraPtrs[CAM_ID_MAIN]; if (parentCam->mode == CAM_MODE_FOLLOW_BOOMERANG) { osSyncPrintf(VT_COL(YELLOW, BLACK) "actor attention demo camera: change mode BOOKEEPON -> NORMAL\n" VT_RST); - Camera_ChangeMode(parentCam, CAM_MODE_NORMAL); + Camera_RequestMode(parentCam, CAM_MODE_NORMAL); } // Finds the camera of the first actor attention demo with a lower category actor, or the first non-attention demo diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c index 48699ce012..29ed5467ac 100644 --- a/src/code/z_parameter.c +++ b/src/code/z_parameter.c @@ -1307,9 +1307,9 @@ void Interface_LoadItemIcon1(PlayState* play, u16 button) { InterfaceContext* interfaceCtx = &play->interfaceCtx; osCreateMesgQueue(&interfaceCtx->loadQueue, &interfaceCtx->loadMsg, 1); - DmaMgr_RequestAsync(&interfaceCtx->dmaRequest_160, interfaceCtx->iconItemSegment + (button * ITEM_ICON_SIZE), - GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[button]), ITEM_ICON_SIZE, 0, - &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 1171); + DMA_REQUEST_ASYNC(&interfaceCtx->dmaRequest_160, interfaceCtx->iconItemSegment + (button * ITEM_ICON_SIZE), + GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[button]), ITEM_ICON_SIZE, 0, + &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 1171); osRecvMesg(&interfaceCtx->loadQueue, NULL, OS_MESG_BLOCK); } @@ -1317,9 +1317,9 @@ void Interface_LoadItemIcon2(PlayState* play, u16 button) { InterfaceContext* interfaceCtx = &play->interfaceCtx; osCreateMesgQueue(&interfaceCtx->loadQueue, &interfaceCtx->loadMsg, 1); - DmaMgr_RequestAsync(&interfaceCtx->dmaRequest_180, interfaceCtx->iconItemSegment + (button * ITEM_ICON_SIZE), - GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[button]), ITEM_ICON_SIZE, 0, - &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 1193); + DMA_REQUEST_ASYNC(&interfaceCtx->dmaRequest_180, interfaceCtx->iconItemSegment + (button * ITEM_ICON_SIZE), + GET_ITEM_ICON_VROM(gSaveContext.save.info.equips.buttonItems[button]), ITEM_ICON_SIZE, 0, + &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 1193); osRecvMesg(&interfaceCtx->loadQueue, NULL, OS_MESG_BLOCK); } @@ -2120,10 +2120,10 @@ void Interface_LoadActionLabel(InterfaceContext* interfaceCtx, u16 action, s16 l (action != LANGUAGE_GER * DO_ACTION_MAX + DO_ACTION_NONE) && (action != LANGUAGE_FRA * DO_ACTION_MAX + DO_ACTION_NONE)) { osCreateMesgQueue(&interfaceCtx->loadQueue, &interfaceCtx->loadMsg, 1); - DmaMgr_RequestAsync(&interfaceCtx->dmaRequest_160, - interfaceCtx->doActionSegment + (loadOffset * DO_ACTION_TEX_SIZE), - (uintptr_t)_do_action_staticSegmentRomStart + (action * DO_ACTION_TEX_SIZE), - DO_ACTION_TEX_SIZE, 0, &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 2145); + DMA_REQUEST_ASYNC(&interfaceCtx->dmaRequest_160, + interfaceCtx->doActionSegment + (loadOffset * DO_ACTION_TEX_SIZE), + (uintptr_t)_do_action_staticSegmentRomStart + (action * DO_ACTION_TEX_SIZE), + DO_ACTION_TEX_SIZE, 0, &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 2145); osRecvMesg(&interfaceCtx->loadQueue, NULL, OS_MESG_BLOCK); } else { gSegments[7] = VIRTUAL_TO_PHYSICAL(interfaceCtx->doActionSegment); @@ -2184,9 +2184,9 @@ void Interface_LoadActionLabelB(PlayState* play, u16 action) { interfaceCtx->unk_1FC = action; osCreateMesgQueue(&interfaceCtx->loadQueue, &interfaceCtx->loadMsg, 1); - DmaMgr_RequestAsync(&interfaceCtx->dmaRequest_160, interfaceCtx->doActionSegment + DO_ACTION_TEX_SIZE, - (uintptr_t)_do_action_staticSegmentRomStart + (action * DO_ACTION_TEX_SIZE), DO_ACTION_TEX_SIZE, - 0, &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 2228); + DMA_REQUEST_ASYNC(&interfaceCtx->dmaRequest_160, interfaceCtx->doActionSegment + DO_ACTION_TEX_SIZE, + (uintptr_t)_do_action_staticSegmentRomStart + (action * DO_ACTION_TEX_SIZE), DO_ACTION_TEX_SIZE, + 0, &interfaceCtx->loadQueue, NULL, "../z_parameter.c", 2228); osRecvMesg(&interfaceCtx->loadQueue, NULL, OS_MESG_BLOCK); interfaceCtx->unk_1FA = true; @@ -2990,8 +2990,7 @@ void Interface_DrawActionButton(PlayState* play) { Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY); Matrix_RotateX(interfaceCtx->unk_1F4 / 10000.0f, MTXMODE_APPLY); - gSPMatrix(OVERLAY_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_parameter.c", 3177), - G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(OVERLAY_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_parameter.c", 3177), G_MTX_MODELVIEW | G_MTX_LOAD); gSPVertex(OVERLAY_DISP++, &interfaceCtx->actionVtx[0], 4, 0); gDPLoadTextureBlock(OVERLAY_DISP++, gButtonBackgroundTex, G_IM_FMT_IA, G_IM_SIZ_8b, 32, 32, 0, @@ -3007,7 +3006,7 @@ void Interface_InitVertices(PlayState* play) { InterfaceContext* interfaceCtx = &play->interfaceCtx; s16 i; - interfaceCtx->actionVtx = Graph_Alloc(play->state.gfxCtx, 8 * sizeof(Vtx)); + interfaceCtx->actionVtx = GRAPH_ALLOC(play->state.gfxCtx, 8 * sizeof(Vtx)); interfaceCtx->actionVtx[0].v.ob[0] = interfaceCtx->actionVtx[2].v.ob[0] = -14; interfaceCtx->actionVtx[1].v.ob[0] = interfaceCtx->actionVtx[3].v.ob[0] = interfaceCtx->actionVtx[0].v.ob[0] + 28; @@ -3049,7 +3048,7 @@ void Interface_InitVertices(PlayState* play) { interfaceCtx->actionVtx[5].v.tc[0] = interfaceCtx->actionVtx[7].v.tc[0] = 1536; interfaceCtx->actionVtx[6].v.tc[1] = interfaceCtx->actionVtx[7].v.tc[1] = 512; - interfaceCtx->beatingHeartVtx = Graph_Alloc(play->state.gfxCtx, 4 * sizeof(Vtx)); + interfaceCtx->beatingHeartVtx = GRAPH_ALLOC(play->state.gfxCtx, 4 * sizeof(Vtx)); interfaceCtx->beatingHeartVtx[0].v.ob[0] = interfaceCtx->beatingHeartVtx[2].v.ob[0] = -8; interfaceCtx->beatingHeartVtx[1].v.ob[0] = interfaceCtx->beatingHeartVtx[3].v.ob[0] = 8; @@ -3358,7 +3357,7 @@ void Interface_Draw(PlayState* play) { Matrix_Translate(0.0f, 0.0f, WREG(46 + gSaveContext.language) / 10.0f, MTXMODE_NEW); Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY); Matrix_RotateX(interfaceCtx->unk_1F4 / 10000.0f, MTXMODE_APPLY); - gSPMatrix(OVERLAY_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_parameter.c", 3701), + gSPMatrix(OVERLAY_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_parameter.c", 3701), G_MTX_MODELVIEW | G_MTX_LOAD); gSPVertex(OVERLAY_DISP++, &interfaceCtx->actionVtx[4], 4, 0); diff --git a/src/code/z_play.c b/src/code/z_play.c index d544a2041e..0a64e5ccb9 100644 --- a/src/code/z_play.c +++ b/src/code/z_play.c @@ -25,8 +25,8 @@ void Play_SpawnScene(PlayState* this, s32 sceneId, s32 spawn); } \ } while (0) -void Play_ChangeViewpointBgCamIndex(PlayState* this) { - Camera_ChangeBgCamIndex(GET_ACTIVE_CAM(this), this->viewpoint - 1); +void Play_RequestViewpointBgCam(PlayState* this) { + Camera_RequestBgCam(GET_ACTIVE_CAM(this), this->viewpoint - 1); } void Play_SetViewpoint(PlayState* this, s16 viewpoint) { @@ -42,7 +42,7 @@ void Play_SetViewpoint(PlayState* this, s16 viewpoint) { &gSfxDefaultReverb); } - Play_ChangeViewpointBgCamIndex(this); + Play_RequestViewpointBgCam(this); } /** @@ -255,8 +255,9 @@ void Play_Init(GameState* thisx) { this->cameraPtrs[CAM_ID_MAIN] = &this->mainCamera; this->cameraPtrs[CAM_ID_MAIN]->uid = 0; this->activeCamId = CAM_ID_MAIN; - Camera_OverwriteStateFlags(&this->mainCamera, CAM_STATE_0 | CAM_STATE_1 | CAM_STATE_2 | CAM_STATE_3 | CAM_STATE_4 | - CAM_STATE_5 | CAM_STATE_6 | CAM_STATE_7); + Camera_OverwriteStateFlags(&this->mainCamera, CAM_STATE_CHECK_BG_ALT | CAM_STATE_CHECK_WATER | CAM_STATE_CHECK_BG | + CAM_STATE_EXTERNAL_FINISHED | CAM_STATE_CAM_FUNC_FINISH | + CAM_STATE_LOCK_MODE | CAM_STATE_DISTORTION | CAM_STATE_PLAY_INIT); Sram_Init(this, &this->sramCtx); Regs_InitData(this); Message_Init(this); @@ -396,7 +397,7 @@ void Play_Init(GameState* thisx) { osSyncPrintf("ZELDA ALLOC SIZE=%x\n", THA_GetRemaining(&this->state.tha)); zAllocSize = THA_GetRemaining(&this->state.tha); - zAlloc = (uintptr_t)GameState_Alloc(&this->state, zAllocSize, "../z_play.c", 2918); + zAlloc = (uintptr_t)GAME_STATE_ALLOC(&this->state, zAllocSize, "../z_play.c", 2918); zAllocAligned = (zAlloc + 8) & ~0xF; ZeldaArena_Init((void*)zAllocAligned, zAllocSize - (zAllocAligned - zAlloc)); // "Zelda Heap" @@ -412,12 +413,12 @@ void Play_Init(GameState* thisx) { player = GET_PLAYER(this); Camera_InitDataUsingPlayer(&this->mainCamera, player); - Camera_ChangeMode(&this->mainCamera, CAM_MODE_NORMAL); + Camera_RequestMode(&this->mainCamera, CAM_MODE_NORMAL); playerStartBgCamIndex = player->actor.params & 0xFF; if (playerStartBgCamIndex != 0xFF) { osSyncPrintf("player has start camera ID (" VT_FGCOL(BLUE) "%d" VT_RST ")\n", playerStartBgCamIndex); - Camera_ChangeBgCamIndex(&this->mainCamera, playerStartBgCamIndex); + Camera_RequestBgCam(&this->mainCamera, playerStartBgCamIndex); } if (R_SCENE_CAM_TYPE == SCENE_CAM_TYPE_FIXED_TOGGLE_VIEWPOINT) { @@ -943,7 +944,7 @@ void Play_Update(PlayState* this) { } } - Play_ChangeViewpointBgCamIndex(this); + Play_RequestViewpointBgCam(this); } PLAY_LOG(3708); @@ -1076,8 +1077,8 @@ void Play_Draw(PlayState* this) { this->billboardMtxF.mf[3][0] = this->billboardMtxF.mf[3][1] = this->billboardMtxF.mf[3][2] = 0.0f; // This transpose is where the viewing matrix is properly converted into a billboard matrix Matrix_Transpose(&this->billboardMtxF); - this->billboardMtx = Matrix_MtxFToMtx(Matrix_CheckFloats(&this->billboardMtxF, "../z_play.c", 4005), - Graph_Alloc(gfxCtx, sizeof(Mtx))); + this->billboardMtx = Matrix_MtxFToMtx(MATRIX_CHECK_FLOATS(&this->billboardMtxF, "../z_play.c", 4005), + GRAPH_ALLOC(gfxCtx, sizeof(Mtx))); gSPSegment(POLY_OPA_DISP++, 0x01, this->billboardMtx); @@ -1199,7 +1200,7 @@ void Play_Draw(PlayState* this) { (GET_ACTIVE_CAM(this)->setting != CAM_SET_PREREND_FIXED)) { Vec3f quakeOffset; - Camera_GetQuakeOffset(&quakeOffset, GET_ACTIVE_CAM(this)); + quakeOffset = Camera_GetQuakeOffset(GET_ACTIVE_CAM(this)); Skybox_Draw(&this->skyboxCtx, gfxCtx, this->skyboxId, 0, this->view.eye.x + quakeOffset.x, this->view.eye.y + quakeOffset.y, this->view.eye.z + quakeOffset.z); } @@ -1412,8 +1413,8 @@ void* Play_LoadFile(PlayState* this, RomFile* file) { void* allocp; size = file->vromEnd - file->vromStart; - allocp = GameState_Alloc(&this->state, size, "../z_play.c", 4692); - DmaMgr_RequestSyncDebug(allocp, file->vromStart, size, "../z_play.c", 4694); + allocp = GAME_STATE_ALLOC(&this->state, size, "../z_play.c", 4692); + DMA_REQUEST_SYNC(allocp, file->vromStart, size, "../z_play.c", 4694); return allocp; } @@ -1447,6 +1448,7 @@ void Play_InitScene(PlayState* this, s32 spawn) { void Play_SpawnScene(PlayState* this, s32 sceneId, s32 spawn) { SceneTableEntry* scene = &gSceneTable[sceneId]; + u32 size; scene->unk_13 = 0; this->loadedScene = scene; @@ -1463,7 +1465,9 @@ void Play_SpawnScene(PlayState* this, s32 sceneId, s32 spawn) { Play_InitScene(this, spawn); - osSyncPrintf("ROOM SIZE=%fK\n", func_80096FE8(this, &this->roomCtx) / 1024.0f); + size = func_80096FE8(this, &this->roomCtx); + + osSyncPrintf("ROOM SIZE=%fK\n", size / 1024.0f); } void Play_GetScreenPos(PlayState* this, Vec3f* src, Vec3f* dest) { @@ -1640,11 +1644,11 @@ s32 Play_InitCameraDataUsingPlayer(PlayState* this, s16 camId, Player* player, s camera = this->cameraPtrs[camIdx]; Camera_InitDataUsingPlayer(camera, player); - return Camera_ChangeSetting(camera, setting); + return Camera_RequestSetting(camera, setting); } -s32 Play_ChangeCameraSetting(PlayState* this, s16 camId, s16 setting) { - return Camera_ChangeSetting(Play_GetCamera(this, camId), setting); +s32 Play_RequestCameraSetting(PlayState* this, s16 camId, s16 setting) { + return Camera_RequestSetting(Play_GetCamera(this, camId), setting); } /** diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c index 5426a780a9..7a7d9c366c 100644 --- a/src/code/z_player_lib.c +++ b/src/code/z_player_lib.c @@ -21,73 +21,73 @@ s16 sBootData[PLAYER_BOOTS_MAX][17] = { // Used to map item actions to model groups u8 sActionModelGroups[PLAYER_IA_MAX] = { - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_NONE - PLAYER_MODELGROUP_15, // PLAYER_IA_LAST_USED - PLAYER_MODELGROUP_10, // PLAYER_IA_FISHING_POLE - PLAYER_MODELGROUP_SWORD, // PLAYER_IA_SWORD_MASTER - PLAYER_MODELGROUP_SWORD, // PLAYER_IA_SWORD_KOKIRI - PLAYER_MODELGROUP_BGS, // PLAYER_IA_SWORD_BIGGORON - PLAYER_MODELGROUP_10, // PLAYER_IA_DEKU_STICK - PLAYER_MODELGROUP_HAMMER, // PLAYER_IA_HAMMER - PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_BOW - PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_BOW_FIRE - PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_BOW_ICE - PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_BOW_LIGHT - PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_BOW_0C - PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_BOW_0D - PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_BOW_0E - PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_SLINGSHOT - PLAYER_MODELGROUP_HOOKSHOT, // PLAYER_IA_HOOKSHOT - PLAYER_MODELGROUP_HOOKSHOT, // PLAYER_IA_LONGSHOT - PLAYER_MODELGROUP_EXPLOSIVES, // PLAYER_IA_BOMB - PLAYER_MODELGROUP_EXPLOSIVES, // PLAYER_IA_BOMBCHU - PLAYER_MODELGROUP_BOOMERANG, // PLAYER_IA_BOOMERANG - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MAGIC_SPELL_15 - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MAGIC_SPELL_16 - PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_MAGIC_SPELL_17 - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_FARORES_WIND - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_NAYRUS_LOVE - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_DINS_FIRE - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_DEKU_NUT - PLAYER_MODELGROUP_OCARINA, // PLAYER_IA_OCARINA_FAIRY - PLAYER_MODELGROUP_OOT, // PLAYER_IA_OCARINA_OF_TIME - PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE - PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_FISH - PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_FIRE - PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_BUG - PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_POE - PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_BIG_POE - PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_RUTOS_LETTER - PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_POTION_RED - PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_POTION_BLUE - PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_POTION_GREEN - PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_MILK_FULL - PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_MILK_HALF - PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_FAIRY - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_ZELDAS_LETTER - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_WEIRD_EGG - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_CHICKEN - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MAGIC_BEAN - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_POCKET_EGG - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_POCKET_CUCCO - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_COJIRO - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_ODD_MUSHROOM - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_ODD_POTION - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_POACHERS_SAW - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_BROKEN_GORONS_SWORD - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_PRESCRIPTION - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_FROG - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_EYEDROPS - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_CLAIM_CHECK - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_KEATON - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_SKULL - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_SPOOKY - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_BUNNY_HOOD - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_GORON - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_ZORA - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_GERUDO - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_TRUTH - PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_LENS_OF_TRUTH + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_NONE + PLAYER_MODELGROUP_SWORD, // PLAYER_IA_SWORD_CS + PLAYER_MODELGROUP_10, // PLAYER_IA_FISHING_POLE + PLAYER_MODELGROUP_SWORD_AND_SHIELD, // PLAYER_IA_SWORD_MASTER + PLAYER_MODELGROUP_SWORD_AND_SHIELD, // PLAYER_IA_SWORD_KOKIRI + PLAYER_MODELGROUP_BGS, // PLAYER_IA_SWORD_BIGGORON + PLAYER_MODELGROUP_10, // PLAYER_IA_DEKU_STICK + PLAYER_MODELGROUP_HAMMER, // PLAYER_IA_HAMMER + PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_BOW + PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_BOW_FIRE + PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_BOW_ICE + PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_BOW_LIGHT + PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_BOW_0C + PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_BOW_0D + PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_BOW_0E + PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_SLINGSHOT + PLAYER_MODELGROUP_HOOKSHOT, // PLAYER_IA_HOOKSHOT + PLAYER_MODELGROUP_HOOKSHOT, // PLAYER_IA_LONGSHOT + PLAYER_MODELGROUP_EXPLOSIVES, // PLAYER_IA_BOMB + PLAYER_MODELGROUP_EXPLOSIVES, // PLAYER_IA_BOMBCHU + PLAYER_MODELGROUP_BOOMERANG, // PLAYER_IA_BOOMERANG + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MAGIC_SPELL_15 + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MAGIC_SPELL_16 + PLAYER_MODELGROUP_BOW_SLINGSHOT, // PLAYER_IA_MAGIC_SPELL_17 + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_FARORES_WIND + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_NAYRUS_LOVE + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_DINS_FIRE + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_DEKU_NUT + PLAYER_MODELGROUP_OCARINA, // PLAYER_IA_OCARINA_FAIRY + PLAYER_MODELGROUP_OOT, // PLAYER_IA_OCARINA_OF_TIME + PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE + PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_FISH + PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_FIRE + PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_BUG + PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_POE + PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_BIG_POE + PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_RUTOS_LETTER + PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_POTION_RED + PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_POTION_BLUE + PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_POTION_GREEN + PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_MILK_FULL + PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_MILK_HALF + PLAYER_MODELGROUP_BOTTLE, // PLAYER_IA_BOTTLE_FAIRY + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_ZELDAS_LETTER + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_WEIRD_EGG + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_CHICKEN + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MAGIC_BEAN + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_POCKET_EGG + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_POCKET_CUCCO + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_COJIRO + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_ODD_MUSHROOM + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_ODD_POTION + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_POACHERS_SAW + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_BROKEN_GORONS_SWORD + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_PRESCRIPTION + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_FROG + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_EYEDROPS + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_CLAIM_CHECK + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_KEATON + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_SKULL + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_SPOOKY + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_BUNNY_HOOD + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_GORON + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_ZORA + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_GERUDO + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_MASK_TRUTH + PLAYER_MODELGROUP_DEFAULT, // PLAYER_IA_LENS_OF_TRUTH }; typedef struct { @@ -110,7 +110,7 @@ u8 gPlayerModelTypes[PLAYER_MODELGROUP_MAX][PLAYER_MODELGROUPENTRY_MAX] = { /* PLAYER_MODELGROUP_CHILD_HYLIAN_SHIELD */ { PLAYER_ANIMTYPE_1, PLAYER_MODELTYPE_LH_SWORD, PLAYER_MODELTYPE_RH_CLOSED, PLAYER_MODELTYPE_SHEATH_19, PLAYER_MODELTYPE_WAIST }, - /* PLAYER_MODELGROUP_SWORD */ + /* PLAYER_MODELGROUP_SWORD_AND_SHIELD */ { PLAYER_ANIMTYPE_1, PLAYER_MODELTYPE_LH_SWORD, PLAYER_MODELTYPE_RH_SHIELD, PLAYER_MODELTYPE_SHEATH_17, PLAYER_MODELTYPE_WAIST }, /* PLAYER_MODELGROUP_DEFAULT */ @@ -149,7 +149,7 @@ u8 gPlayerModelTypes[PLAYER_MODELGROUP_MAX][PLAYER_MODELGROUPENTRY_MAX] = { /* PLAYER_MODELGROUP_BOTTLE */ { PLAYER_ANIMTYPE_0, PLAYER_MODELTYPE_LH_BOTTLE, PLAYER_MODELTYPE_RH_OPEN, PLAYER_MODELTYPE_SHEATH_18, PLAYER_MODELTYPE_WAIST }, - /* PLAYER_MODELGROUP_15 */ + /* PLAYER_MODELGROUP_SWORD */ { PLAYER_ANIMTYPE_0, PLAYER_MODELTYPE_LH_SWORD, PLAYER_MODELTYPE_RH_OPEN, PLAYER_MODELTYPE_SHEATH_19, PLAYER_MODELTYPE_WAIST }, }; @@ -511,7 +511,7 @@ int Player_IsChildWithHylianShield(Player* this) { s32 Player_ActionToModelGroup(Player* this, s32 itemAction) { s32 modelGroup = sActionModelGroups[itemAction]; - if ((modelGroup == PLAYER_MODELGROUP_SWORD) && Player_IsChildWithHylianShield(this)) { + if ((modelGroup == PLAYER_MODELGROUP_SWORD_AND_SHIELD) && Player_IsChildWithHylianShield(this)) { // child, using kokiri sword with hylian shield equipped return PLAYER_MODELGROUP_CHILD_HYLIAN_SHIELD; } else { @@ -626,7 +626,7 @@ void func_8008EEAC(PlayState* play, Actor* actor) { this->unk_684 = actor; this->stateFlags1 |= PLAYER_STATE1_16; Camera_SetViewParam(Play_GetCamera(play, CAM_ID_MAIN), CAM_VIEW_TARGET, actor); - Camera_ChangeMode(Play_GetCamera(play, CAM_ID_MAIN), CAM_MODE_Z_TARGET_FRIENDLY); + Camera_RequestMode(Play_GetCamera(play, CAM_ID_MAIN), CAM_MODE_Z_TARGET_FRIENDLY); } s32 func_8008EF30(PlayState* play) { @@ -767,7 +767,7 @@ s32 Player_GetExplosiveHeld(Player* this) { s32 func_8008F2BC(Player* this, s32 itemAction) { s32 sword = 0; - if (itemAction != PLAYER_IA_LAST_USED) { + if (itemAction != PLAYER_IA_SWORD_CS) { sword = itemAction - PLAYER_IA_SWORD_MASTER; if ((sword < 0) || (sword >= 3)) { goto return_neg; @@ -1025,7 +1025,7 @@ void func_8008F87C(PlayState* play, Player* this, SkelAnime* skelAnime, Vec3f* p sp50 = Math_FAtan2F(sp58, sp60); temp1 = RAD_TO_BINANG(M_PI - (Math_FAtan2F(sp5C, sp58) + ((M_PI / 2) - sp50))); - temp1 = temp1 - skelAnime->jointTable[shinLimbIndex].z; + temp1 -= skelAnime->jointTable[shinLimbIndex].z; if ((s16)(ABS(skelAnime->jointTable[shinLimbIndex].x) + ABS(skelAnime->jointTable[shinLimbIndex].y)) < 0) { temp1 += 0x8000; @@ -1061,7 +1061,7 @@ s32 Player_OverrideLimbDrawGameplayCommon(PlayState* play, s32 limbIndex, Gfx** // Note: The increment would not be done for the root limb, even if it had a non-NULL `dList`. // So if the root limb had a non-NULL `dList` (which is not the case in vanilla), // an out-of-bounds write to `bodyPartsPos` would occur. - sCurBodyPartPos = &this->bodyPartsPos[-1]; + sCurBodyPartPos = &this->bodyPartsPos[0] - 1; if (!LINK_IS_ADULT) { if (!(this->skelAnime.moveFlags & ANIM_FLAG_PLAYER_2) || (this->skelAnime.moveFlags & ANIM_FLAG_0)) { @@ -1368,7 +1368,7 @@ void Player_DrawHookshotReticle(PlayState* play, Player* this, f32 arg2) { Matrix_Translate(sp74.x, sp74.y, sp74.z, MTXMODE_NEW); Matrix_Scale(sp60, sp60, sp60, MTXMODE_APPLY); - gSPMatrix(OVERLAY_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_player_lib.c", 2587), + gSPMatrix(OVERLAY_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_player_lib.c", 2587), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(OVERLAY_DISP++, 0x06, play->objectCtx.slots[this->actor.objectSlot].segment); gSPDisplayList(OVERLAY_DISP++, gLinkAdultHookshotReticleDL); @@ -1410,8 +1410,8 @@ Color_RGB8 sBottleColors[] = { Vec3f D_80126128 = { 398.0f, 1419.0f, 244.0f }; BowSlingshotStringData sBowSlingshotStringData[] = { - { gLinkAdultBowStringDL, { 0.0f, -360.4f, 0.0f } }, // Bow - { gLinkChildSlinghotStringDL, { 606.0f, 236.0f, 0.0f } }, // Slingshot + { gLinkAdultBowStringDL, { 0.0f, -360.4f, 0.0f } }, // Bow + { gLinkChildSlingshotStringDL, { 606.0f, 236.0f, 0.0f } }, // Slingshot }; // Coordinates of the shield quad collider vertices, in the right hand limb's own model space. @@ -1475,7 +1475,7 @@ void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList, Ve Matrix_RotateZYX(-0x8000, 0, 0x4000, MTXMODE_APPLY); Matrix_Scale(1.0f, this->unk_85C, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_player_lib.c", 2653), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_player_lib.c", 2653), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gLinkChildLinkDekuStickDL); @@ -1496,7 +1496,7 @@ void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList, Ve OPEN_DISPS(play->state.gfxCtx, "../z_player_lib.c", 2710); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_player_lib.c", 2712), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_player_lib.c", 2712), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetEnvColor(POLY_XLU_DISP++, bottleColor->r, bottleColor->g, bottleColor->b, 0); gSPDisplayList(POLY_XLU_DISP++, sBottleDLists[((void)0, gSaveContext.save.linkAge)]); @@ -1569,7 +1569,7 @@ void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList, Ve Matrix_RotateZ(this->unk_858 * -0.2f, MTXMODE_APPLY); } - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_player_lib.c", 2804), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_player_lib.c", 2804), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, stringData->dList); @@ -1648,11 +1648,11 @@ u32 Player_InitPauseDrawData(PlayState* play, u8* segment, SkelAnime* skelAnime) size = gObjectTable[OBJECT_GAMEPLAY_KEEP].vromEnd - gObjectTable[OBJECT_GAMEPLAY_KEEP].vromStart; ptr = segment + PAUSE_EQUIP_BUFFER_SIZE; - DmaMgr_RequestSyncDebug(ptr, gObjectTable[OBJECT_GAMEPLAY_KEEP].vromStart, size, "../z_player_lib.c", 2982); + DMA_REQUEST_SYNC(ptr, gObjectTable[OBJECT_GAMEPLAY_KEEP].vromStart, size, "../z_player_lib.c", 2982); size = gObjectTable[linkObjectId].vromEnd - gObjectTable[linkObjectId].vromStart; ptr = segment + PAUSE_EQUIP_BUFFER_SIZE + PAUSE_PLAYER_SEGMENT_GAMEPLAY_KEEP_BUFFER_SIZE; - DmaMgr_RequestSyncDebug(ptr, gObjectTable[linkObjectId].vromStart, size, "../z_player_lib.c", 2988); + DMA_REQUEST_SYNC(ptr, gObjectTable[linkObjectId].vromStart, size, "../z_player_lib.c", 2988); ptr = (void*)ALIGN16((uintptr_t)ptr + size); @@ -1668,9 +1668,9 @@ u32 Player_InitPauseDrawData(PlayState* play, u8* segment, SkelAnime* skelAnime) } u8 sPauseModelGroupBySword[] = { - PLAYER_MODELGROUP_SWORD, // PLAYER_SWORD_KOKIRI - PLAYER_MODELGROUP_SWORD, // PLAYER_SWORD_MASTER - PLAYER_MODELGROUP_BGS, // PLAYER_SWORD_BIGGORON + PLAYER_MODELGROUP_SWORD_AND_SHIELD, // PLAYER_SWORD_KOKIRI + PLAYER_MODELGROUP_SWORD_AND_SHIELD, // PLAYER_SWORD_MASTER + PLAYER_MODELGROUP_BGS, // PLAYER_SWORD_BIGGORON }; s32 Player_OverrideLimbDrawPause(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* arg) { @@ -1682,7 +1682,7 @@ s32 Player_OverrideLimbDrawPause(PlayState* play, s32 limbIndex, Gfx** dList, Ve s32 dListOffset = 0; Gfx** dLists; - if ((modelGroup == PLAYER_MODELGROUP_SWORD) && !LINK_IS_ADULT && + if ((modelGroup == PLAYER_MODELGROUP_SWORD_AND_SHIELD) && !LINK_IS_ADULT && (playerSwordAndShield[1] == PLAYER_SHIELD_HYLIAN)) { modelGroup = PLAYER_MODELGROUP_CHILD_HYLIAN_SHIELD; } @@ -1728,8 +1728,8 @@ void Player_DrawPauseImpl(PlayState* play, void* gameplayKeep, void* linkObject, Gfx* opaRef; Gfx* xluRef; u16 perspNorm; - Mtx* perspMtx = Graph_Alloc(play->state.gfxCtx, sizeof(Mtx)); - Mtx* lookAtMtx = Graph_Alloc(play->state.gfxCtx, sizeof(Mtx)); + Mtx* perspMtx = GRAPH_ALLOC(play->state.gfxCtx, sizeof(Mtx)); + Mtx* lookAtMtx = GRAPH_ALLOC(play->state.gfxCtx, sizeof(Mtx)); OPEN_DISPS(play->state.gfxCtx, "../z_player_lib.c", 3129); diff --git a/src/code/z_quake.c b/src/code/z_quake.c index 4ac8f06e98..38b97c4d71 100644 --- a/src/code/z_quake.c +++ b/src/code/z_quake.c @@ -22,18 +22,15 @@ QuakeRequest sQuakeRequests[4]; s16 sQuakeUnused = 1; s16 sQuakeRequestCount = 0; -Vec3f* Quake_AddVecGeoToVec3f(Vec3f* dst, Vec3f* a, VecGeo* geo) { - Vec3f vec; - Vec3f b; +Vec3f Quake_AddVecGeoToVec3f(Vec3f* a, VecGeo* geo) { + Vec3f sum; + Vec3f b = OLib_VecGeoToVec3f(geo); - OLib_VecGeoToVec3f(&b, geo); - vec.x = a->x + b.x; - vec.y = a->y + b.y; - vec.z = a->z + b.z; + sum.x = a->x + b.x; + sum.y = a->y + b.y; + sum.z = a->z + b.z; - *dst = vec; - - return dst; + return sum; } void Quake_UpdateShakeInfo(QuakeRequest* req, ShakeInfo* shake, f32 y, f32 x) { @@ -47,7 +44,7 @@ void Quake_UpdateShakeInfo(QuakeRequest* req, ShakeInfo* shake, f32 y, f32 x) { offset.x = 0; offset.y = 0; offset.z = 0; - OLib_Vec3fDiffToVecGeo(&eyeToAtGeo, eye, at); + eyeToAtGeo = OLib_Vec3fDiffToVecGeo(eye, at); // y shake geo.r = req->y * y; @@ -55,7 +52,7 @@ void Quake_UpdateShakeInfo(QuakeRequest* req, ShakeInfo* shake, f32 y, f32 x) { geo.pitch = eyeToAtGeo.pitch + req->orientation.x + 0x4000; geo.yaw = eyeToAtGeo.yaw + req->orientation.y; // apply y shake - Quake_AddVecGeoToVec3f(&offset, &offset, &geo); + offset = Quake_AddVecGeoToVec3f(&offset, &geo); // x shake geo.r = req->x * x; @@ -63,7 +60,7 @@ void Quake_UpdateShakeInfo(QuakeRequest* req, ShakeInfo* shake, f32 y, f32 x) { geo.pitch = eyeToAtGeo.pitch + req->orientation.x; geo.yaw = eyeToAtGeo.yaw + req->orientation.y + 0x4000; // apply x shake - Quake_AddVecGeoToVec3f(&offset, &offset, &geo); + offset = Quake_AddVecGeoToVec3f(&offset, &geo); } else { offset.x = 0; offset.y = req->y * y; @@ -71,7 +68,7 @@ void Quake_UpdateShakeInfo(QuakeRequest* req, ShakeInfo* shake, f32 y, f32 x) { geo.r = req->x * x; geo.pitch = req->orientation.x; geo.yaw = req->orientation.y; - Quake_AddVecGeoToVec3f(&offset, &offset, &geo); + offset = Quake_AddVecGeoToVec3f(&offset, &geo); } shake->atOffset = shake->eyeOffset = offset; diff --git a/src/code/z_rcp.c b/src/code/z_rcp.c index 3b9a850986..b9948003c8 100644 --- a/src/code/z_rcp.c +++ b/src/code/z_rcp.c @@ -1380,7 +1380,7 @@ Gfx* func_80094E78(GraphicsContext* gfxCtx, u32 x, u32 y) { } Gfx* Gfx_TexScroll(GraphicsContext* gfxCtx, u32 x, u32 y, s32 width, s32 height) { - Gfx* displayList = Graph_Alloc(gfxCtx, 3 * sizeof(Gfx)); + Gfx* displayList = GRAPH_ALLOC(gfxCtx, 3 * sizeof(Gfx)); x %= 512 << 2; y %= 512 << 2; @@ -1394,7 +1394,7 @@ Gfx* Gfx_TexScroll(GraphicsContext* gfxCtx, u32 x, u32 y, s32 width, s32 height) Gfx* Gfx_TwoTexScroll(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2, u32 y2, s32 width2, s32 height2) { - Gfx* displayList = Graph_Alloc(gfxCtx, 5 * sizeof(Gfx)); + Gfx* displayList = GRAPH_ALLOC(gfxCtx, 5 * sizeof(Gfx)); x1 %= 512 << 2; y1 %= 512 << 2; @@ -1412,7 +1412,7 @@ Gfx* Gfx_TwoTexScroll(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 wi Gfx* Gfx_TwoTexScrollEnvColor(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2, u32 y2, s32 width2, s32 height2, s32 r, s32 g, s32 b, s32 a) { - Gfx* displayList = Graph_Alloc(gfxCtx, 6 * sizeof(Gfx)); + Gfx* displayList = GRAPH_ALLOC(gfxCtx, 6 * sizeof(Gfx)); x1 %= 512 << 2; y1 %= 512 << 2; @@ -1430,7 +1430,7 @@ Gfx* Gfx_TwoTexScrollEnvColor(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1 } Gfx* Gfx_EnvColor(GraphicsContext* gfxCtx, s32 r, s32 g, s32 b, s32 a) { - Gfx* displayList = Graph_Alloc(gfxCtx, 2 * sizeof(Gfx)); + Gfx* displayList = GRAPH_ALLOC(gfxCtx, 2 * sizeof(Gfx)); gDPSetEnvColor(displayList, r, g, b, a); gSPEndDisplayList(displayList + 1); diff --git a/src/code/z_room.c b/src/code/z_room.c index 25850aa196..1e9e29e8f0 100644 --- a/src/code/z_room.c +++ b/src/code/z_room.c @@ -389,7 +389,7 @@ void Room_DrawImageSingle(PlayState* play, Room* room, u32 flags) { Vec3f quakeOffset; gfx = POLY_OPA_DISP; - Camera_GetQuakeOffset(&quakeOffset, activeCam); + quakeOffset = Camera_GetQuakeOffset(activeCam); Room_DrawBackground2D(&gfx, roomShape->source, roomShape->tlut, roomShape->width, roomShape->height, roomShape->fmt, roomShape->siz, roomShape->tlutMode, roomShape->tlutCount, (quakeOffset.x + quakeOffset.z) * 1.2f + quakeOffset.y * 0.6f, @@ -487,7 +487,7 @@ void Room_DrawImageMulti(PlayState* play, Room* room, u32 flags) { Vec3f quakeOffset; gfx = POLY_OPA_DISP; - Camera_GetQuakeOffset(&quakeOffset, activeCam); + quakeOffset = Camera_GetQuakeOffset(activeCam); Room_DrawBackground2D(&gfx, bgEntry->source, bgEntry->tlut, bgEntry->width, bgEntry->height, bgEntry->fmt, bgEntry->siz, bgEntry->tlutMode, bgEntry->tlutCount, (quakeOffset.x + quakeOffset.z) * 1.2f + quakeOffset.y * 0.6f, @@ -571,7 +571,7 @@ u32 func_80096FE8(PlayState* play, RoomContext* roomCtx) { osSyncPrintf(VT_FGCOL(YELLOW)); // "Room buffer size=%08x(%5.1fK)" osSyncPrintf("部屋バッファサイズ=%08x(%5.1fK)\n", maxRoomSize, maxRoomSize / 1024.0f); - roomCtx->bufPtrs[0] = GameState_Alloc(&play->state, maxRoomSize, "../z_room.c", 946); + roomCtx->bufPtrs[0] = GAME_STATE_ALLOC(&play->state, maxRoomSize, "../z_room.c", 946); // "Room buffer initial pointer=%08x" osSyncPrintf("部屋バッファ開始ポインタ=%08x\n", roomCtx->bufPtrs[0]); roomCtx->bufPtrs[1] = (void*)((uintptr_t)roomCtx->bufPtrs[0] + maxRoomSize); @@ -604,8 +604,8 @@ s32 func_8009728C(PlayState* play, RoomContext* roomCtx, s32 roomNum) { (void*)ALIGN16((uintptr_t)roomCtx->bufPtrs[roomCtx->unk_30] - ((size + 8) * roomCtx->unk_30 + 7)); osCreateMesgQueue(&roomCtx->loadQueue, &roomCtx->loadMsg, 1); - DmaMgr_RequestAsync(&roomCtx->dmaRequest, roomCtx->unk_34, play->roomList[roomNum].vromStart, size, 0, - &roomCtx->loadQueue, NULL, "../z_room.c", 1036); + DMA_REQUEST_ASYNC(&roomCtx->dmaRequest, roomCtx->unk_34, play->roomList[roomNum].vromStart, size, 0, + &roomCtx->loadQueue, NULL, "../z_room.c", 1036); roomCtx->unk_30 ^= 1; return true; diff --git a/src/code/z_sample.c b/src/code/z_sample.c index 3b5e1c208f..d2469cf404 100644 --- a/src/code/z_sample.c +++ b/src/code/z_sample.c @@ -22,7 +22,7 @@ void Sample_Draw(SampleState* this) { View_Apply(view, VIEW_ALL); { - Mtx* mtx = Graph_Alloc(gfxCtx, sizeof(Mtx)); + Mtx* mtx = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); guPosition(mtx, SREG(37), SREG(38), SREG(39), 1.0f, SREG(40), SREG(41), SREG(42)); gSPMatrix(POLY_OPA_DISP++, mtx, G_MTX_LOAD); @@ -79,8 +79,8 @@ void Sample_SetupView(SampleState* this) { void Sample_LoadTitleStatic(SampleState* this) { u32 size = _title_staticSegmentRomEnd - _title_staticSegmentRomStart; - this->staticSegment = GameState_Alloc(&this->state, size, "../z_sample.c", 163); - DmaMgr_RequestSyncDebug(this->staticSegment, (uintptr_t)_title_staticSegmentRomStart, size, "../z_sample.c", 164); + this->staticSegment = GAME_STATE_ALLOC(&this->state, size, "../z_sample.c", 163); + DMA_REQUEST_SYNC(this->staticSegment, (uintptr_t)_title_staticSegmentRomStart, size, "../z_sample.c", 164); } void Sample_Init(GameState* thisx) { diff --git a/src/code/z_scene.c b/src/code/z_scene.c index 6c438ed9cb..134d7ae84e 100644 --- a/src/code/z_scene.c +++ b/src/code/z_scene.c @@ -32,8 +32,8 @@ s32 Object_SpawnPersistent(ObjectContext* objectCtx, s16 objectId) { "this->num < OBJECT_EXCHANGE_BANK_MAX && (this->status[this->num].Segment + size) < this->endSegment", "../z_scene.c", 142); - DmaMgr_RequestSyncDebug(objectCtx->slots[objectCtx->numEntries].segment, gObjectTable[objectId].vromStart, size, - "../z_scene.c", 145); + DMA_REQUEST_SYNC(objectCtx->slots[objectCtx->numEntries].segment, gObjectTable[objectId].vromStart, size, + "../z_scene.c", 145); if (objectCtx->numEntries < (ARRAY_COUNT(objectCtx->slots) - 1)) { objectCtx->slots[objectCtx->numEntries + 1].segment = @@ -81,7 +81,8 @@ void Object_InitContext(PlayState* play, ObjectContext* objectCtx) { osSyncPrintf("オブジェクト入れ替えバンク情報 %8.3fKB\n", spaceSize / 1024.0f); osSyncPrintf(VT_RST); - objectCtx->spaceStart = objectCtx->slots[0].segment = GameState_Alloc(&play->state, spaceSize, "../z_scene.c", 219); + objectCtx->spaceStart = objectCtx->slots[0].segment = + GAME_STATE_ALLOC(&play->state, spaceSize, "../z_scene.c", 219); objectCtx->spaceEnd = (void*)((uintptr_t)objectCtx->spaceStart + spaceSize); objectCtx->mainKeepSlot = Object_SpawnPersistent(objectCtx, OBJECT_GAMEPLAY_KEEP); @@ -103,8 +104,8 @@ void Object_UpdateEntries(ObjectContext* objectCtx) { osSyncPrintf("OBJECT EXCHANGE BANK-%2d SIZE %8.3fK SEG=%08x\n", i, size / 1024.0f, entry->segment); - DmaMgr_RequestAsync(&entry->dmaRequest, entry->segment, objectFile->vromStart, size, 0, - &entry->loadQueue, NULL, "../z_scene.c", 266); + DMA_REQUEST_ASYNC(&entry->dmaRequest, entry->segment, objectFile->vromStart, size, 0, &entry->loadQueue, + NULL, "../z_scene.c", 266); } else if (osRecvMesg(&entry->loadQueue, NULL, OS_MESG_NOBLOCK) == 0) { entry->id = -entry->id; } @@ -145,7 +146,7 @@ void func_800981B8(ObjectContext* objectCtx) { objectCtx->slots[i].segment); osSyncPrintf("num=%d adrs=%x end=%x\n", objectCtx->numEntries, (uintptr_t)objectCtx->slots[i].segment + size, objectCtx->spaceEnd); - DmaMgr_RequestSyncDebug(objectCtx->slots[i].segment, gObjectTable[id].vromStart, size, "../z_scene.c", 342); + DMA_REQUEST_SYNC(objectCtx->slots[i].segment, gObjectTable[id].vromStart, size, "../z_scene.c", 342); } } diff --git a/src/code/z_scene_table.c b/src/code/z_scene_table.c index 835ad264f6..334880e06e 100644 --- a/src/code/z_scene_table.c +++ b/src/code/z_scene_table.c @@ -157,7 +157,7 @@ void* sDCLavaFloorTextures[] = { void Scene_DrawConfigDodongosCavern(PlayState* play) { u32 gameplayFrames; s32 pad; - Gfx* displayListHead = Graph_Alloc(play->state.gfxCtx, 2 * sizeof(Gfx[3])); + Gfx* displayListHead = GRAPH_ALLOC(play->state.gfxCtx, 2 * sizeof(Gfx[3])); OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 4905); @@ -193,7 +193,7 @@ void Scene_DrawConfigDodongosCavern(PlayState* play) { void Scene_DrawConfigTempleOfTime(PlayState* play) { f32 temp; - Gfx* displayListHead = Graph_Alloc(play->state.gfxCtx, 18 * sizeof(Gfx)); + Gfx* displayListHead = GRAPH_ALLOC(play->state.gfxCtx, 18 * sizeof(Gfx)); OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 5069); @@ -784,7 +784,7 @@ void Scene_DrawConfigGerudoTrainingGround(PlayState* play) { Gfx* Gfx_TwoTexScrollPrimColor(GraphicsContext* gfxCtx, s32 tile1, u32 x1, u32 y1, s32 width1, s32 height1, s32 tile2, u32 x2, u32 y2, s32 width2, s32 height2, s32 r, s32 g, s32 b, s32 a) { - Gfx* displayList = Graph_Alloc(gfxCtx, 10 * sizeof(Gfx)); + Gfx* displayList = GRAPH_ALLOC(gfxCtx, 10 * sizeof(Gfx)); x1 %= 512 << 2; y1 %= 512 << 2; @@ -966,7 +966,7 @@ void Scene_DrawConfigHyruleField(PlayState* play) { u32 gameplayFrames; Gfx* displayListHead; - displayListHead = Graph_Alloc(play->state.gfxCtx, 3 * sizeof(Gfx)); + displayListHead = GRAPH_ALLOC(play->state.gfxCtx, 3 * sizeof(Gfx)); OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 6814); @@ -1065,7 +1065,7 @@ void Scene_DrawConfigKokiriForest(PlayState* play) { spA3 = 128; spA0 = 500; - displayListHead = Graph_Alloc(play->state.gfxCtx, 6 * sizeof(Gfx)); + displayListHead = GRAPH_ALLOC(play->state.gfxCtx, 6 * sizeof(Gfx)); if (1) {} if (1) {} @@ -1335,7 +1335,7 @@ void Scene_DrawConfigHyruleCastle(PlayState* play) { } void Scene_DrawConfigDeathMountainTrail(PlayState* play) { - Gfx* displayListHead = Graph_Alloc(play->state.gfxCtx, 3 * sizeof(Gfx)); + Gfx* displayListHead = GRAPH_ALLOC(play->state.gfxCtx, 3 * sizeof(Gfx)); OPEN_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7461); @@ -1537,7 +1537,7 @@ void Scene_DrawConfigJabuJabu(PlayState* play) { Matrix_Scale(1.005f, sinf(D_8012A398) * 0.8f, 1.005f, MTXMODE_NEW); } - gSPSegment(POLY_OPA_DISP++, 0x0D, Matrix_NewMtx(play->state.gfxCtx, "../z_scene_table.c", 7809)); + gSPSegment(POLY_OPA_DISP++, 0x0D, MATRIX_NEW(play->state.gfxCtx, "../z_scene_table.c", 7809)); CLOSE_DISPS(play->state.gfxCtx, "../z_scene_table.c", 7811); } diff --git a/src/code/z_skelanime.c b/src/code/z_skelanime.c index 0efb58769d..f6324b361e 100644 --- a/src/code/z_skelanime.c +++ b/src/code/z_skelanime.c @@ -39,7 +39,7 @@ void SkelAnime_DrawLimbLod(PlayState* play, s32 limbIndex, void** skeleton, Vec3 if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, limbIndex, &dList, &pos, &rot, arg)) { Matrix_TranslateRotateZYX(&pos, &rot); if (dList != NULL) { - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_skelanime.c", 805), G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_skelanime.c", 805), G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, dList); } } @@ -97,7 +97,7 @@ void SkelAnime_DrawLod(PlayState* play, void** skeleton, Vec3s* jointTable, Over if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, 1, &dList, &pos, &rot, arg)) { Matrix_TranslateRotateZYX(&pos, &rot); if (dList != NULL) { - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_skelanime.c", 881), G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_skelanime.c", 881), G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, dList); } } @@ -143,7 +143,7 @@ void SkelAnime_DrawFlexLimbLod(PlayState* play, s32 limbIndex, void** skeleton, if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, limbIndex, &newDList, &pos, &rot, arg)) { Matrix_TranslateRotateZYX(&pos, &rot); if (newDList != NULL) { - Matrix_ToMtx(*mtx, "../z_skelanime.c", 945); + MATRIX_TO_MTX(*mtx, "../z_skelanime.c", 945); { OPEN_DISPS(play->state.gfxCtx, "../z_skelanime.c", 946); gSPMatrix(POLY_OPA_DISP++, *mtx, G_MTX_LOAD); @@ -152,7 +152,7 @@ void SkelAnime_DrawFlexLimbLod(PlayState* play, s32 limbIndex, void** skeleton, } (*mtx)++; } else if (limbDList != NULL) { - Matrix_ToMtx(*mtx, "../z_skelanime.c", 954); + MATRIX_TO_MTX(*mtx, "../z_skelanime.c", 954); (*mtx)++; } } @@ -185,7 +185,7 @@ void SkelAnime_DrawFlexLod(PlayState* play, void** skeleton, Vec3s* jointTable, Gfx* limbDList; Vec3f pos; Vec3s rot; - Mtx* mtx = Graph_Alloc(play->state.gfxCtx, dListCount * sizeof(Mtx)); + Mtx* mtx = GRAPH_ALLOC(play->state.gfxCtx, dListCount * sizeof(Mtx)); if (skeleton == NULL) { osSyncPrintf(VT_FGCOL(RED)); @@ -211,12 +211,12 @@ void SkelAnime_DrawFlexLod(PlayState* play, void** skeleton, Vec3s* jointTable, if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, 1, &newDList, &pos, &rot, arg)) { Matrix_TranslateRotateZYX(&pos, &rot); if (newDList != NULL) { - Matrix_ToMtx(mtx, "../z_skelanime.c", 1033); + MATRIX_TO_MTX(mtx, "../z_skelanime.c", 1033); gSPMatrix(POLY_OPA_DISP++, mtx, G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, newDList); mtx++; } else if (limbDList != NULL) { - Matrix_ToMtx(mtx, "../z_skelanime.c", 1040); + MATRIX_TO_MTX(mtx, "../z_skelanime.c", 1040); mtx++; } } @@ -258,7 +258,7 @@ void SkelAnime_DrawLimbOpa(PlayState* play, s32 limbIndex, void** skeleton, Vec3 if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, limbIndex, &dList, &pos, &rot, arg)) { Matrix_TranslateRotateZYX(&pos, &rot); if (dList != NULL) { - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_skelanime.c", 1103), G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_skelanime.c", 1103), G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, dList); } } @@ -314,7 +314,7 @@ void SkelAnime_DrawOpa(PlayState* play, void** skeleton, Vec3s* jointTable, Over if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, 1, &dList, &pos, &rot, arg)) { Matrix_TranslateRotateZYX(&pos, &rot); if (dList != NULL) { - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_skelanime.c", 1176), G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_skelanime.c", 1176), G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, dList); } } @@ -361,12 +361,12 @@ void SkelAnime_DrawFlexLimbOpa(PlayState* play, s32 limbIndex, void** skeleton, if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, limbIndex, &newDList, &pos, &rot, arg)) { Matrix_TranslateRotateZYX(&pos, &rot); if (newDList != NULL) { - Matrix_ToMtx(*limbMatrices, "../z_skelanime.c", 1242); + MATRIX_TO_MTX(*limbMatrices, "../z_skelanime.c", 1242); gSPMatrix(POLY_OPA_DISP++, *limbMatrices, G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, newDList); (*limbMatrices)++; } else if (limbDList != NULL) { - Matrix_ToMtx(*limbMatrices, "../z_skelanime.c", 1249); + MATRIX_TO_MTX(*limbMatrices, "../z_skelanime.c", 1249); (*limbMatrices)++; } } @@ -402,7 +402,7 @@ void SkelAnime_DrawFlexOpa(PlayState* play, void** skeleton, Vec3s* jointTable, Gfx* limbDList; Vec3f pos; Vec3s rot; - Mtx* mtx = Graph_Alloc(play->state.gfxCtx, dListCount * sizeof(Mtx)); + Mtx* mtx = GRAPH_ALLOC(play->state.gfxCtx, dListCount * sizeof(Mtx)); if (skeleton == NULL) { osSyncPrintf(VT_FGCOL(RED)); @@ -430,12 +430,12 @@ void SkelAnime_DrawFlexOpa(PlayState* play, void** skeleton, Vec3s* jointTable, if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, 1, &newDList, &pos, &rot, arg)) { Matrix_TranslateRotateZYX(&pos, &rot); if (newDList != NULL) { - Matrix_ToMtx(mtx, "../z_skelanime.c", 1327); + MATRIX_TO_MTX(mtx, "../z_skelanime.c", 1327); gSPMatrix(POLY_OPA_DISP++, mtx, G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, newDList); mtx++; } else if (limbDList != NULL) { - Matrix_ToMtx(mtx, "../z_skelanime.c", 1334); + MATRIX_TO_MTX(mtx, "../z_skelanime.c", 1334); mtx++; } } @@ -522,7 +522,7 @@ Gfx* SkelAnime_DrawLimb(PlayState* play, s32 limbIndex, void** skeleton, Vec3s* if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, limbIndex, &dList, &pos, &rot, arg, &gfx)) { Matrix_TranslateRotateZYX(&pos, &rot); if (dList != NULL) { - gSPMatrix(gfx++, Matrix_NewMtx(play->state.gfxCtx, "../z_skelanime.c", 1489), G_MTX_LOAD); + gSPMatrix(gfx++, MATRIX_NEW(play->state.gfxCtx, "../z_skelanime.c", 1489), G_MTX_LOAD); gSPDisplayList(gfx++, dList); } } @@ -578,7 +578,7 @@ Gfx* SkelAnime_Draw(PlayState* play, void** skeleton, Vec3s* jointTable, Overrid if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, 1, &dList, &pos, &rot, arg, &gfx)) { Matrix_TranslateRotateZYX(&pos, &rot); if (dList != NULL) { - gSPMatrix(gfx++, Matrix_NewMtx(play->state.gfxCtx, "../z_skelanime.c", 1558), G_MTX_LOAD); + gSPMatrix(gfx++, MATRIX_NEW(play->state.gfxCtx, "../z_skelanime.c", 1558), G_MTX_LOAD); gSPDisplayList(gfx++, dList); } } @@ -622,12 +622,12 @@ Gfx* SkelAnime_DrawFlexLimb(PlayState* play, s32 limbIndex, void** skeleton, Vec if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, limbIndex, &newDList, &pos, &rot, arg, &gfx)) { Matrix_TranslateRotateZYX(&pos, &rot); if (newDList != NULL) { - Matrix_ToMtx(*mtx, "../z_skelanime.c", 1623); + MATRIX_TO_MTX(*mtx, "../z_skelanime.c", 1623); gSPMatrix(gfx++, *mtx, G_MTX_LOAD); gSPDisplayList(gfx++, newDList); (*mtx)++; } else if (limbDList != NULL) { - Matrix_ToMtx(*mtx, "../z_skelanime.c", 1630); + MATRIX_TO_MTX(*mtx, "../z_skelanime.c", 1630); (*mtx)++; } } @@ -662,7 +662,7 @@ Gfx* SkelAnime_DrawFlex(PlayState* play, void** skeleton, Vec3s* jointTable, s32 Gfx* limbDList; Vec3f pos; Vec3s rot; - Mtx* mtx = Graph_Alloc(play->state.gfxCtx, dListCount * sizeof(*mtx)); + Mtx* mtx = GRAPH_ALLOC(play->state.gfxCtx, dListCount * sizeof(*mtx)); if (skeleton == NULL) { osSyncPrintf(VT_FGCOL(RED)); @@ -687,12 +687,12 @@ Gfx* SkelAnime_DrawFlex(PlayState* play, void** skeleton, Vec3s* jointTable, s32 if ((overrideLimbDraw == NULL) || !overrideLimbDraw(play, 1, &newDList, &pos, &rot, arg, &gfx)) { Matrix_TranslateRotateZYX(&pos, &rot); if (newDList != NULL) { - Matrix_ToMtx(mtx, "../z_skelanime.c", 1710); + MATRIX_TO_MTX(mtx, "../z_skelanime.c", 1710); gSPMatrix(gfx++, mtx, G_MTX_LOAD); gSPDisplayList(gfx++, newDList); mtx++; } else if (limbDList != NULL) { - Matrix_ToMtx(mtx, "../z_skelanime.c", 1717); + MATRIX_TO_MTX(mtx, "../z_skelanime.c", 1717); mtx++; } } @@ -845,10 +845,9 @@ void AnimationContext_SetLoadFrame(PlayState* play, LinkAnimationHeader* animati s32 pad; osCreateMesgQueue(&entry->data.load.msgQueue, &entry->data.load.msg, 1); - DmaMgr_RequestAsync(&entry->data.load.req, frameTable, - LINK_ANIMATION_OFFSET(linkAnimHeader->segment, ((sizeof(Vec3s) * limbCount + 2) * frame)), - sizeof(Vec3s) * limbCount + 2, 0, &entry->data.load.msgQueue, NULL, "../z_skelanime.c", - 2004); + DMA_REQUEST_ASYNC(&entry->data.load.req, frameTable, + LINK_ANIMATION_OFFSET(linkAnimHeader->segment, ((sizeof(Vec3s) * limbCount + 2) * frame)), + sizeof(Vec3s) * limbCount + 2, 0, &entry->data.load.msgQueue, NULL, "../z_skelanime.c", 2004); } } @@ -1068,8 +1067,8 @@ void SkelAnime_InitLink(PlayState* play, SkelAnime* skelAnime, FlexSkeletonHeade } if (jointTable == NULL) { - skelAnime->jointTable = ZeldaArena_MallocDebug(allocSize, "../z_skelanime.c", 2364); - skelAnime->morphTable = ZeldaArena_MallocDebug(allocSize, "../z_skelanime.c", 2365); + skelAnime->jointTable = ZELDA_ARENA_MALLOC(allocSize, "../z_skelanime.c", 2364); + skelAnime->morphTable = ZELDA_ARENA_MALLOC(allocSize, "../z_skelanime.c", 2365); } else { ASSERT(limbBufCount == limbCount, "joint_buff_num == joint_num", "../z_skelanime.c", 2369); @@ -1384,9 +1383,9 @@ SkelAnime_Init(PlayState* play, SkelAnime* skelAnime, SkeletonHeader* skeletonHe skelAnime->skeleton = SEGMENTED_TO_VIRTUAL(skeletonHeader->segment); if (jointTable == NULL) { skelAnime->jointTable = - ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->jointTable), "../z_skelanime.c", 2968); + ZELDA_ARENA_MALLOC(skelAnime->limbCount * sizeof(*skelAnime->jointTable), "../z_skelanime.c", 2968); skelAnime->morphTable = - ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->morphTable), "../z_skelanime.c", 2969); + ZELDA_ARENA_MALLOC(skelAnime->limbCount * sizeof(*skelAnime->morphTable), "../z_skelanime.c", 2969); } else { ASSERT(limbCount == skelAnime->limbCount, "joint_buff_num == this->joint_num", "../z_skelanime.c", 2973); skelAnime->jointTable = jointTable; @@ -1417,10 +1416,10 @@ SkelAnime_InitFlex(PlayState* play, SkelAnime* skelAnime, FlexSkeletonHeader* sk if (jointTable == NULL) { skelAnime->jointTable = - ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->jointTable), "../z_skelanime.c", 3047); + ZELDA_ARENA_MALLOC(skelAnime->limbCount * sizeof(*skelAnime->jointTable), "../z_skelanime.c", 3047); skelAnime->morphTable = - ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->morphTable), "../z_skelanime.c", 3048); + ZELDA_ARENA_MALLOC(skelAnime->limbCount * sizeof(*skelAnime->morphTable), "../z_skelanime.c", 3048); } else { ASSERT(limbCount == skelAnime->limbCount, "joint_buff_num == this->joint_num", "../z_skelanime.c", 3052); skelAnime->jointTable = jointTable; @@ -1449,9 +1448,9 @@ SkelAnime_InitSkin(PlayState* play, SkelAnime* skelAnime, SkeletonHeader* skelet skelAnime->limbCount = skeletonHeader->limbCount + 1; skelAnime->skeleton = SEGMENTED_TO_VIRTUAL(skeletonHeader->segment); skelAnime->jointTable = - ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->jointTable), "../z_skelanime.c", 3120); + ZELDA_ARENA_MALLOC(skelAnime->limbCount * sizeof(*skelAnime->jointTable), "../z_skelanime.c", 3120); skelAnime->morphTable = - ZeldaArena_MallocDebug(skelAnime->limbCount * sizeof(*skelAnime->morphTable), "../z_skelanime.c", 3121); + ZELDA_ARENA_MALLOC(skelAnime->limbCount * sizeof(*skelAnime->morphTable), "../z_skelanime.c", 3121); if ((skelAnime->jointTable == NULL) || (skelAnime->morphTable == NULL)) { osSyncPrintf(VT_FGCOL(RED)); // "Memory allocation error" @@ -1839,13 +1838,13 @@ s32 Animation_OnFrame(SkelAnime* skelAnime, f32 frame) { */ void SkelAnime_Free(SkelAnime* skelAnime, PlayState* play) { if (skelAnime->jointTable != NULL) { - ZeldaArena_FreeDebug(skelAnime->jointTable, "../z_skelanime.c", 3729); + ZELDA_ARENA_FREE(skelAnime->jointTable, "../z_skelanime.c", 3729); } else { osSyncPrintf("now_joint あきまへん!!\n"); // "now_joint is freed! !" } if (skelAnime->morphTable != NULL) { - ZeldaArena_FreeDebug(skelAnime->morphTable, "../z_skelanime.c", 3731); + ZELDA_ARENA_FREE(skelAnime->morphTable, "../z_skelanime.c", 3731); } else { osSyncPrintf("morf_joint あきまへん!!\n"); // "morf_joint is freed !!" } diff --git a/src/code/z_skin_awb.c b/src/code/z_skin_awb.c index e16556ca6a..ed5d9e587d 100644 --- a/src/code/z_skin_awb.c +++ b/src/code/z_skin_awb.c @@ -48,7 +48,7 @@ void Skin_Init(PlayState* play, Skin* skin, SkeletonHeader* skeletonHeader, Anim skeleton = SEGMENTED_TO_VIRTUAL(skin->skeletonHeader->segment); limbCount = skin->skeletonHeader->limbCount; - skin->vtxTable = ZeldaArena_MallocDebug(limbCount * sizeof(SkinLimbVtx), "../z_skin_awb.c", 212); + skin->vtxTable = ZELDA_ARENA_MALLOC(limbCount * sizeof(SkinLimbVtx), "../z_skin_awb.c", 212); ASSERT(skin->vtxTable != NULL, "pskin_awb->avb_tbl != NULL", "../z_skin_awb.c", 214); @@ -67,11 +67,11 @@ void Skin_Init(PlayState* play, Skin* skin, SkeletonHeader* skeletonHeader, Anim vtxEntry->index = 0; vtxEntry->buf[0] = - ZeldaArena_MallocDebug(animatedLimbData->totalVtxCount * sizeof(Vtx), "../z_skin_awb.c", 235); + ZELDA_ARENA_MALLOC(animatedLimbData->totalVtxCount * sizeof(Vtx), "../z_skin_awb.c", 235); ASSERT(vtxEntry->buf[0] != NULL, "psavb->buf[0] != NULL", "../z_skin_awb.c", 237); vtxEntry->buf[1] = - ZeldaArena_MallocDebug(animatedLimbData->totalVtxCount * sizeof(Vtx), "../z_skin_awb.c", 240); + ZELDA_ARENA_MALLOC(animatedLimbData->totalVtxCount * sizeof(Vtx), "../z_skin_awb.c", 240); ASSERT(vtxEntry->buf[1] != NULL, "psavb->buf[1] != NULL", "../z_skin_awb.c", 242); Skin_InitAnimatedLimb(play, skin, i); @@ -90,17 +90,17 @@ void Skin_Free(PlayState* play, Skin* skin) { for (i = 0; i < skin->limbCount; i++) { if (skin->vtxTable[i].buf[0] != NULL) { - ZeldaArena_FreeDebug(skin->vtxTable[i].buf[0], "../z_skin_awb.c", 276); + ZELDA_ARENA_FREE(skin->vtxTable[i].buf[0], "../z_skin_awb.c", 276); skin->vtxTable[i].buf[0] = NULL; } if (skin->vtxTable[i].buf[1] != NULL) { - ZeldaArena_FreeDebug(skin->vtxTable[i].buf[1], "../z_skin_awb.c", 280); + ZELDA_ARENA_FREE(skin->vtxTable[i].buf[1], "../z_skin_awb.c", 280); skin->vtxTable[i].buf[1] = NULL; } } if (skin->vtxTable != NULL) { - ZeldaArena_FreeDebug(skin->vtxTable, "../z_skin_awb.c", 286); + ZELDA_ARENA_FREE(skin->vtxTable, "../z_skin_awb.c", 286); } SkelAnime_Free(&skin->skelAnime, play); diff --git a/src/code/z_skin_matrix.c b/src/code/z_skin_matrix.c index 35b8411a4e..3879af52fa 100644 --- a/src/code/z_skin_matrix.c +++ b/src/code/z_skin_matrix.c @@ -593,7 +593,7 @@ void SkinMatrix_MtxFToMtx(MtxF* src, Mtx* dest) { } Mtx* SkinMatrix_MtxFToNewMtx(GraphicsContext* gfxCtx, MtxF* src) { - Mtx* mtx = Graph_Alloc(gfxCtx, sizeof(Mtx)); + Mtx* mtx = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); if (mtx == NULL) { osSyncPrintf("Skin_Matrix_to_Mtx_new() 確保失敗:NULLを返して終了\n", mtx); diff --git a/src/code/z_sram.c b/src/code/z_sram.c index be42f16fd3..ff54527236 100644 --- a/src/code/z_sram.c +++ b/src/code/z_sram.c @@ -915,7 +915,7 @@ void Sram_InitSram(GameState* gameState, SramContext* sramCtx) { } void Sram_Alloc(GameState* gameState, SramContext* sramCtx) { - sramCtx->readBuff = GameState_Alloc(gameState, SRAM_SIZE, "../z_sram.c", 1294); + sramCtx->readBuff = GAME_STATE_ALLOC(gameState, SRAM_SIZE, "../z_sram.c", 1294); ASSERT(sramCtx->readBuff != NULL, "sram->read_buff != NULL", "../z_sram.c", 1295); } diff --git a/src/code/z_view.c b/src/code/z_view.c index 117957d1ba..d1df496ba9 100644 --- a/src/code/z_view.c +++ b/src/code/z_view.c @@ -21,7 +21,7 @@ void View_ViewportToVp(Vp* dest, Viewport* src) { } View* View_New(GraphicsContext* gfxCtx) { - View* view = SystemArena_MallocDebug(sizeof(View), "../z_view.c", 285); + View* view = SYSTEM_ARENA_MALLOC(sizeof(View), "../z_view.c", 285); if (view != NULL) { __osMemset(view, 0, sizeof(View)); @@ -32,7 +32,7 @@ View* View_New(GraphicsContext* gfxCtx) { } void View_Free(View* view) { - SystemArena_FreeDebug(view, "../z_view.c", 297); + SYSTEM_ARENA_FREE(view, "../z_view.c", 297); } void View_Init(View* view, GraphicsContext* gfxCtx) { @@ -261,7 +261,7 @@ s32 View_StepDistortion(View* view, Mtx* projectionMtx) { Matrix_RotateZ(-view->curDistortionOrientation.z, MTXMODE_APPLY); Matrix_RotateY(-view->curDistortionOrientation.y, MTXMODE_APPLY); Matrix_RotateX(-view->curDistortionOrientation.x, MTXMODE_APPLY); - Matrix_ToMtx(projectionMtx, "../z_view.c", 566); + MATRIX_TO_MTX(projectionMtx, "../z_view.c", 566); return true; } @@ -291,7 +291,7 @@ s32 View_ApplyPerspective(View* view) { OPEN_DISPS(gfxCtx, "../z_view.c", 596); // Viewport - vp = Graph_Alloc(gfxCtx, sizeof(Vp)); + vp = GRAPH_ALLOC(gfxCtx, sizeof(Vp)); LogUtils_CheckNullPointer("vp", vp, "../z_view.c", 601); View_ViewportToVp(vp, &view->viewport); view->vp = *vp; @@ -302,7 +302,7 @@ s32 View_ApplyPerspective(View* view) { gSPViewport(POLY_XLU_DISP++, vp); // Perspective projection - projection = Graph_Alloc(gfxCtx, sizeof(Mtx)); + projection = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 616); view->projectionPtr = projection; @@ -350,7 +350,7 @@ s32 View_ApplyPerspective(View* view) { gSPMatrix(POLY_XLU_DISP++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); // View matrix (look-at) - viewing = Graph_Alloc(gfxCtx, sizeof(Mtx)); + viewing = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); LogUtils_CheckNullPointer("viewing", viewing, "../z_view.c", 667); view->viewingPtr = viewing; @@ -394,7 +394,7 @@ s32 View_ApplyOrtho(View* view) { OPEN_DISPS(gfxCtx, "../z_view.c", 726); - vp = Graph_Alloc(gfxCtx, sizeof(Vp)); + vp = GRAPH_ALLOC(gfxCtx, sizeof(Vp)); LogUtils_CheckNullPointer("vp", vp, "../z_view.c", 730); View_ViewportToVp(vp, &view->viewport); view->vp = *vp; @@ -405,7 +405,7 @@ s32 View_ApplyOrtho(View* view) { gSPViewport(POLY_XLU_DISP++, vp); gSPViewport(OVERLAY_DISP++, vp); - projection = Graph_Alloc(gfxCtx, sizeof(Mtx)); + projection = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 744); view->projectionPtr = projection; @@ -434,7 +434,7 @@ s32 View_ApplyOrthoToOverlay(View* view) { OPEN_DISPS(gfxCtx, "../z_view.c", 777); - vp = Graph_Alloc(gfxCtx, sizeof(Vp)); + vp = GRAPH_ALLOC(gfxCtx, sizeof(Vp)); LogUtils_CheckNullPointer("vp", vp, "../z_view.c", 781); View_ViewportToVp(vp, &view->viewport); view->vp = *vp; @@ -444,7 +444,7 @@ s32 View_ApplyOrthoToOverlay(View* view) { view->viewport.bottomY); gSPViewport(OVERLAY_DISP++, vp); - projection = Graph_Alloc(gfxCtx, sizeof(Mtx)); + projection = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 791); view->projectionPtr = projection; @@ -475,7 +475,7 @@ s32 View_ApplyPerspectiveToOverlay(View* view) { OPEN_DISPS(gfxCtx, "../z_view.c", 816); - vp = Graph_Alloc(gfxCtx, sizeof(Vp)); + vp = GRAPH_ALLOC(gfxCtx, sizeof(Vp)); LogUtils_CheckNullPointer("vp", vp, "../z_view.c", 821); View_ViewportToVp(vp, &view->viewport); view->vp = *vp; @@ -485,7 +485,7 @@ s32 View_ApplyPerspectiveToOverlay(View* view) { view->viewport.bottomY); gSPViewport(OVERLAY_DISP++, vp); - projection = Graph_Alloc(gfxCtx, sizeof(Mtx)); + projection = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 833); view->projectionPtr = projection; @@ -500,7 +500,7 @@ s32 View_ApplyPerspectiveToOverlay(View* view) { gSPPerspNormalize(OVERLAY_DISP++, view->normal); gSPMatrix(OVERLAY_DISP++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); - viewing = Graph_Alloc(gfxCtx, sizeof(Mtx)); + viewing = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); LogUtils_CheckNullPointer("viewing", viewing, "../z_view.c", 848); view->viewingPtr = viewing; @@ -551,7 +551,7 @@ s32 View_ApplyTo(View* view, s32 mask, Gfx** gfxP) { mask = (view->flags & mask) | (mask >> 4); if (mask & VIEW_VIEWPORT) { - vp = Graph_Alloc(gfxCtx, sizeof(Vp)); + vp = GRAPH_ALLOC(gfxCtx, sizeof(Vp)); LogUtils_CheckNullPointer("vp", vp, "../z_view.c", 910); View_ViewportToVp(vp, &view->viewport); @@ -564,7 +564,7 @@ s32 View_ApplyTo(View* view, s32 mask, Gfx** gfxP) { } if (mask & VIEW_PROJECTION_ORTHO) { - projection = Graph_Alloc(gfxCtx, sizeof(Mtx)); + projection = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 921); view->projectionPtr = projection; @@ -575,7 +575,7 @@ s32 View_ApplyTo(View* view, s32 mask, Gfx** gfxP) { gSPMatrix(gfx++, projection, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); } else if (mask & (VIEW_PROJECTION_PERSPECTIVE | VIEW_VIEWPORT)) { - projection = Graph_Alloc(gfxCtx, sizeof(Mtx)); + projection = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); LogUtils_CheckNullPointer("projection", projection, "../z_view.c", 932); view->projectionPtr = projection; @@ -592,7 +592,7 @@ s32 View_ApplyTo(View* view, s32 mask, Gfx** gfxP) { } if (mask & VIEW_VIEWING) { - viewing = Graph_Alloc(gfxCtx, sizeof(Mtx)); + viewing = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); LogUtils_CheckNullPointer("viewing", viewing, "../z_view.c", 948); view->viewingPtr = viewing; diff --git a/src/code/z_vismono.c b/src/code/z_vismono.c index 8f0a5653f4..99b20f0f51 100644 --- a/src/code/z_vismono.c +++ b/src/code/z_vismono.c @@ -45,7 +45,7 @@ void VisMono_Init(VisMono* this) { } void VisMono_Destroy(VisMono* this) { - SystemArena_FreeDebug(this->dList, "../z_vismono.c", 137); + SYSTEM_ARENA_FREE(this->dList, "../z_vismono.c", 137); } void VisMono_DesaturateTLUT(VisMono* this, u16* tlut) { @@ -187,12 +187,12 @@ void VisMono_DrawOld(VisMono* this) { Gfx* dListEnd; if (this->tlut == NULL) { - this->tlut = SystemArena_MallocDebug(256 * G_IM_SIZ_16b_BYTES, "../z_vismono.c", 283); + this->tlut = SYSTEM_ARENA_MALLOC(256 * G_IM_SIZ_16b_BYTES, "../z_vismono.c", 283); VisMono_DesaturateTLUT(this, this->tlut); } if (this->dList == NULL) { - this->dList = SystemArena_MallocDebug(VISMONO_DLSIZE * sizeof(Gfx), "../z_vismono.c", 289); + this->dList = SYSTEM_ARENA_MALLOC(VISMONO_DLSIZE * sizeof(Gfx), "../z_vismono.c", 289); dListEnd = VisMono_DesaturateDList(this, this->dList); ASSERT(dListEnd <= this->dList + VISMONO_DLSIZE, "glistp_end <= this->mono_dl + DLSIZE", "../z_vismono.c", 292); } diff --git a/src/code/z_vr_box.c b/src/code/z_vr_box.c index 221038ea01..ed3547d4fd 100644 --- a/src/code/z_vr_box.c +++ b/src/code/z_vr_box.c @@ -487,43 +487,43 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { } size = gNormalSkyFiles[skybox1Index].file.vromEnd - gNormalSkyFiles[skybox1Index].file.vromStart; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1054); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1054); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1055); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], gNormalSkyFiles[skybox1Index].file.vromStart, size, - "../z_vr_box.c", 1058); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], gNormalSkyFiles[skybox1Index].file.vromStart, size, + "../z_vr_box.c", 1058); size = gNormalSkyFiles[skybox2Index].file.vromEnd - gNormalSkyFiles[skybox2Index].file.vromStart; - skyboxCtx->staticSegments[1] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1060); + skyboxCtx->staticSegments[1] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1060); ASSERT(skyboxCtx->staticSegments[1] != NULL, "vr_box->vr_box_staticSegment[1] != NULL", "../z_vr_box.c", 1061); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[1], gNormalSkyFiles[skybox2Index].file.vromStart, size, - "../z_vr_box.c", 1064); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[1], gNormalSkyFiles[skybox2Index].file.vromStart, size, + "../z_vr_box.c", 1064); if ((skybox1Index & 1) ^ ((skybox1Index & 4) >> 2)) { size = gNormalSkyFiles[skybox1Index].palette.vromEnd - gNormalSkyFiles[skybox1Index].palette.vromStart; - skyboxCtx->palettes = GameState_Alloc(&play->state, size * 2, "../z_vr_box.c", 1072); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size * 2, "../z_vr_box.c", 1072); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1073); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, gNormalSkyFiles[skybox1Index].palette.vromStart, size, - "../z_vr_box.c", 1075); - DmaMgr_RequestSyncDebug((u8*)skyboxCtx->palettes + size, - gNormalSkyFiles[skybox2Index].palette.vromStart, size, "../z_vr_box.c", 1077); + DMA_REQUEST_SYNC(skyboxCtx->palettes, gNormalSkyFiles[skybox1Index].palette.vromStart, size, + "../z_vr_box.c", 1075); + DMA_REQUEST_SYNC((u8*)skyboxCtx->palettes + size, gNormalSkyFiles[skybox2Index].palette.vromStart, size, + "../z_vr_box.c", 1077); } else { size = gNormalSkyFiles[skybox1Index].palette.vromEnd - gNormalSkyFiles[skybox1Index].palette.vromStart; - skyboxCtx->palettes = GameState_Alloc(&play->state, size * 2, "../z_vr_box.c", 1085); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size * 2, "../z_vr_box.c", 1085); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1086); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, gNormalSkyFiles[skybox2Index].palette.vromStart, size, - "../z_vr_box.c", 1088); - DmaMgr_RequestSyncDebug((u8*)skyboxCtx->palettes + size, - gNormalSkyFiles[skybox1Index].palette.vromStart, size, "../z_vr_box.c", 1090); + DMA_REQUEST_SYNC(skyboxCtx->palettes, gNormalSkyFiles[skybox2Index].palette.vromStart, size, + "../z_vr_box.c", 1088); + DMA_REQUEST_SYNC((u8*)skyboxCtx->palettes + size, gNormalSkyFiles[skybox1Index].palette.vromStart, size, + "../z_vr_box.c", 1090); } break; @@ -532,162 +532,162 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { start = (uintptr_t)_vr_SP1a_staticSegmentRomStart; size = (uintptr_t)_vr_SP1a_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1127); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1127); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1128); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1129); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1129); start = (uintptr_t)_vr_SP1a_pal_staticSegmentRomStart; size = (uintptr_t)_vr_SP1a_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1132); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1132); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1133); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1134); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1134); skyboxCtx->rot.y = 0.8f; break; case SKYBOX_OVERCAST_SUNSET: start = (uintptr_t)_vr_cloud2_staticSegmentRomStart; size = (uintptr_t)_vr_cloud2_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1155); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1155); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1156); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1159); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1159); - skyboxCtx->staticSegments[1] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1162); + skyboxCtx->staticSegments[1] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1162); ASSERT(skyboxCtx->staticSegments[1] != NULL, "vr_box->vr_box_staticSegment[1] != NULL", "../z_vr_box.c", 1163); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[1], start, size, "../z_vr_box.c", 1166); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[1], start, size, "../z_vr_box.c", 1166); start = (uintptr_t)_vr_cloud2_pal_staticSegmentRomStart; size = (uintptr_t)_vr_cloud2_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size * 2, "../z_vr_box.c", 1170); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size * 2, "../z_vr_box.c", 1170); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1171); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1173); - DmaMgr_RequestSyncDebug((u8*)skyboxCtx->palettes + size, start, size, "../z_vr_box.c", 1175); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1173); + DMA_REQUEST_SYNC((u8*)skyboxCtx->palettes + size, start, size, "../z_vr_box.c", 1175); break; case SKYBOX_MARKET_ADULT: skyboxCtx->drawType = SKYBOX_DRAW_256_4FACE; start = (uintptr_t)_vr_RUVR_staticSegmentRomStart; size = (uintptr_t)_vr_RUVR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1182); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1182); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1183); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1184); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1184); start = (uintptr_t)_vr_RUVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_RUVR_pal_staticSegmentRomEnd - start; osSyncPrintf("SIZE = %d\n", size); - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1188); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1188); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1189); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1190); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1190); break; case SKYBOX_CUTSCENE_MAP: start = (uintptr_t)_vr_holy0_staticSegmentRomStart; size = (uintptr_t)_vr_holy0_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1196); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1196); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1197); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1200); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1200); start = (uintptr_t)_vr_holy1_staticSegmentRomStart; size = (uintptr_t)_vr_holy1_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[1] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1203); + skyboxCtx->staticSegments[1] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1203); ASSERT(skyboxCtx->staticSegments[1] != NULL, "vr_box->vr_box_staticSegment[1] != NULL", "../z_vr_box.c", 1204); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[1], start, size, "../z_vr_box.c", 1207); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[1], start, size, "../z_vr_box.c", 1207); start = (uintptr_t)_vr_holy0_pal_staticSegmentRomStart; size = (uintptr_t)_vr_holy0_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size * 2, "../z_vr_box.c", 1211); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size * 2, "../z_vr_box.c", 1211); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1212); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1214); - DmaMgr_RequestSyncDebug((u8*)skyboxCtx->palettes + size, (uintptr_t)_vr_holy1_pal_staticSegmentRomStart, - size, "../z_vr_box.c", 1216); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1214); + DMA_REQUEST_SYNC((u8*)skyboxCtx->palettes + size, (uintptr_t)_vr_holy1_pal_staticSegmentRomStart, size, + "../z_vr_box.c", 1216); break; case SKYBOX_HOUSE_LINK: skyboxCtx->drawType = SKYBOX_DRAW_256_4FACE; start = (uintptr_t)_vr_LHVR_staticSegmentRomStart; size = (uintptr_t)_vr_LHVR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1226); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1226); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1227); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1228); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1228); start = (uintptr_t)_vr_LHVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_LHVR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1231); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1231); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1232); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1233); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1233); break; case SKYBOX_MARKET_CHILD_DAY: skyboxCtx->drawType = SKYBOX_DRAW_256_4FACE; start = (uintptr_t)_vr_MDVR_staticSegmentRomStart; size = (uintptr_t)_vr_MDVR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1257); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1257); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1258); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1259); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1259); start = (uintptr_t)_vr_MDVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_MDVR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1262); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1262); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1263); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1264); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1264); break; case SKYBOX_MARKET_CHILD_NIGHT: skyboxCtx->drawType = SKYBOX_DRAW_256_4FACE; start = (uintptr_t)_vr_MNVR_staticSegmentRomStart; size = (uintptr_t)_vr_MNVR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1271); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1271); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1272); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1273); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1273); start = (uintptr_t)_vr_MNVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_MNVR_pal_staticSegmentRomEnd - start; osSyncPrintf("SIZE = %d\n", size); - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1277); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1277); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1278); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1279); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1279); break; case SKYBOX_HAPPY_MASK_SHOP: skyboxCtx->drawType = SKYBOX_DRAW_256_4FACE; start = (uintptr_t)_vr_FCVR_staticSegmentRomStart; size = (uintptr_t)_vr_FCVR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1286); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1286); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1287); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1288); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1288); start = (uintptr_t)_vr_FCVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_FCVR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1291); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1291); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1292); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1293); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1293); skyboxCtx->rot.y = 0.8f; break; case SKYBOX_HOUSE_KNOW_IT_ALL_BROTHERS: @@ -695,90 +695,90 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { start = (uintptr_t)_vr_KHVR_staticSegmentRomStart; size = (uintptr_t)_vr_KHVR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1301); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1301); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1302); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1303); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1303); start = (uintptr_t)_vr_KHVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_KHVR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1306); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1306); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1307); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1308); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1308); break; case SKYBOX_HOUSE_OF_TWINS: skyboxCtx->drawType = SKYBOX_DRAW_256_3FACE; start = (uintptr_t)_vr_K3VR_staticSegmentRomStart; size = (uintptr_t)_vr_K3VR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1331); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1331); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1332); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1333); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1333); start = (uintptr_t)_vr_K3VR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_K3VR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1336); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1336); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1337); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1338); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1338); break; case SKYBOX_STABLES: skyboxCtx->drawType = SKYBOX_DRAW_256_4FACE; start = (uintptr_t)_vr_MLVR_staticSegmentRomStart; size = (uintptr_t)_vr_MLVR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1345); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1345); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1346); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1347); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1347); start = (uintptr_t)_vr_MLVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_MLVR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1350); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1350); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1351); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1352); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1352); break; case SKYBOX_HOUSE_KAKARIKO: skyboxCtx->drawType = SKYBOX_DRAW_256_4FACE; start = (uintptr_t)_vr_KKRVR_staticSegmentRomStart; size = (uintptr_t)_vr_KKRVR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1359); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1359); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1360); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1361); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1361); start = (uintptr_t)_vr_KKRVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_KKRVR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1364); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1364); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1365); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1366); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1366); break; case SKYBOX_KOKIRI_SHOP: skyboxCtx->drawType = SKYBOX_DRAW_256_4FACE; start = (uintptr_t)_vr_KSVR_staticSegmentRomStart; size = (uintptr_t)_vr_KSVR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1373); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1373); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1374); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1375); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1375); start = (uintptr_t)_vr_KSVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_KSVR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1378); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1378); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1379); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1380); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1380); skyboxCtx->rot.y = 0.8f; break; case SKYBOX_GORON_SHOP: @@ -786,18 +786,18 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { start = (uintptr_t)_vr_GLVR_staticSegmentRomStart; size = (uintptr_t)_vr_GLVR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1405); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1405); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1406); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1407); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1407); start = (uintptr_t)_vr_GLVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_GLVR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1410); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1410); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1411); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1412); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1412); skyboxCtx->rot.y = 0.8f; break; case SKYBOX_ZORA_SHOP: @@ -805,18 +805,18 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { start = (uintptr_t)_vr_ZRVR_staticSegmentRomStart; size = (uintptr_t)_vr_ZRVR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1420); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1420); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1421); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1422); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1422); start = (uintptr_t)_vr_ZRVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_ZRVR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1425); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1425); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1426); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1427); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1427); skyboxCtx->rot.y = 0.8f; break; case SKYBOX_POTION_SHOP_KAKARIKO: @@ -824,18 +824,18 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { start = (uintptr_t)_vr_DGVR_staticSegmentRomStart; size = (uintptr_t)_vr_DGVR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1451); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1451); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1452); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1453); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1453); start = (uintptr_t)_vr_DGVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_DGVR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1456); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1456); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1457); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1458); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1458); skyboxCtx->rot.y = 0.8f; break; case SKYBOX_POTION_SHOP_MARKET: @@ -843,18 +843,18 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { start = (uintptr_t)_vr_ALVR_staticSegmentRomStart; size = (uintptr_t)_vr_ALVR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1466); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1466); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1467); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1468); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1468); start = (uintptr_t)_vr_ALVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_ALVR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1471); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1471); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1472); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1473); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1473); skyboxCtx->rot.y = 0.8f; break; case SKYBOX_BOMBCHU_SHOP: @@ -862,18 +862,18 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { start = (uintptr_t)_vr_NSVR_staticSegmentRomStart; size = (uintptr_t)_vr_NSVR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1481); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1481); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1482); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1483); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1483); start = (uintptr_t)_vr_NSVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_NSVR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1486); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1486); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1487); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1488); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1488); skyboxCtx->rot.y = 0.8f; break; case SKYBOX_HOUSE_RICHARD: @@ -881,108 +881,108 @@ void Skybox_Setup(PlayState* play, SkyboxContext* skyboxCtx, s16 skyboxId) { start = (uintptr_t)_vr_IPVR_staticSegmentRomStart; size = (uintptr_t)_vr_IPVR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1512); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1512); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1513); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1514); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1514); start = (uintptr_t)_vr_IPVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_IPVR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1517); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1517); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1518); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1519); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1519); break; case SKYBOX_HOUSE_IMPA: skyboxCtx->drawType = SKYBOX_DRAW_256_4FACE; start = (uintptr_t)_vr_LBVR_staticSegmentRomStart; size = (uintptr_t)_vr_LBVR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1526); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1526); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1527); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1528); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1528); start = (uintptr_t)_vr_LBVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_LBVR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1531); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1531); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1532); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1533); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1533); break; case SKYBOX_TENT: skyboxCtx->drawType = SKYBOX_DRAW_256_3FACE; start = (uintptr_t)_vr_TTVR_staticSegmentRomStart; size = (uintptr_t)_vr_TTVR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1540); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1540); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1541); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1542); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1542); start = (uintptr_t)_vr_TTVR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_TTVR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1545); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1545); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1546); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1547); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1547); break; case SKYBOX_HOUSE_MIDO: skyboxCtx->drawType = SKYBOX_DRAW_256_3FACE; start = (uintptr_t)_vr_K4VR_staticSegmentRomStart; size = (uintptr_t)_vr_K4VR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1560); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1560); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1561); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1562); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1562); start = (uintptr_t)_vr_K4VR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_K4VR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1565); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1565); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1566); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1567); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1567); break; case SKYBOX_HOUSE_SARIA: skyboxCtx->drawType = SKYBOX_DRAW_256_3FACE; start = (uintptr_t)_vr_K5VR_staticSegmentRomStart; size = (uintptr_t)_vr_K5VR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1574); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1574); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1575); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1576); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1576); start = (uintptr_t)_vr_K5VR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_K5VR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1579); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1579); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1580); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1581); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1581); break; case SKYBOX_HOUSE_ALLEY: skyboxCtx->drawType = SKYBOX_DRAW_256_3FACE; start = (uintptr_t)_vr_KR3VR_staticSegmentRomStart; size = (uintptr_t)_vr_KR3VR_staticSegmentRomEnd - start; - skyboxCtx->staticSegments[0] = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1588); + skyboxCtx->staticSegments[0] = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1588); ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c", 1589); - DmaMgr_RequestSyncDebug(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1590); + DMA_REQUEST_SYNC(skyboxCtx->staticSegments[0], start, size, "../z_vr_box.c", 1590); start = (uintptr_t)_vr_KR3VR_pal_staticSegmentRomStart; size = (uintptr_t)_vr_KR3VR_pal_staticSegmentRomEnd - start; - skyboxCtx->palettes = GameState_Alloc(&play->state, size, "../z_vr_box.c", 1593); + skyboxCtx->palettes = GAME_STATE_ALLOC(&play->state, size, "../z_vr_box.c", 1593); ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1594); - DmaMgr_RequestSyncDebug(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1595); + DMA_REQUEST_SYNC(skyboxCtx->palettes, start, size, "../z_vr_box.c", 1595); break; case SKYBOX_UNSET_27: break; @@ -1007,24 +1007,24 @@ void Skybox_Init(GameState* state, SkyboxContext* skyboxCtx, s16 skyboxId) { osSyncPrintf(VT_FGCOL(GREEN)); if (skyboxCtx->drawType != SKYBOX_DRAW_128) { - skyboxCtx->dListBuf = GameState_Alloc(state, 8 * 150 * sizeof(Gfx), "../z_vr_box.c", 1636); + skyboxCtx->dListBuf = GAME_STATE_ALLOC(state, 8 * 150 * sizeof(Gfx), "../z_vr_box.c", 1636); ASSERT(skyboxCtx->dListBuf != NULL, "vr_box->dpList != NULL", "../z_vr_box.c", 1637); - skyboxCtx->roomVtx = GameState_Alloc(state, 8 * 32 * sizeof(Vtx), "../z_vr_box.c", 1639); + skyboxCtx->roomVtx = GAME_STATE_ALLOC(state, 8 * 32 * sizeof(Vtx), "../z_vr_box.c", 1639); ASSERT(skyboxCtx->roomVtx != NULL, "vr_box->roomVtx != NULL", "../z_vr_box.c", 1640); Skybox_Calculate256(skyboxCtx, skyboxId); } else { - skyboxCtx->dListBuf = GameState_Alloc(state, 12 * 150 * sizeof(Gfx), "../z_vr_box.c", 1643); + skyboxCtx->dListBuf = GAME_STATE_ALLOC(state, 12 * 150 * sizeof(Gfx), "../z_vr_box.c", 1643); ASSERT(skyboxCtx->dListBuf != NULL, "vr_box->dpList != NULL", "../z_vr_box.c", 1644); if (skyboxId == SKYBOX_CUTSCENE_MAP) { - skyboxCtx->roomVtx = GameState_Alloc(state, 6 * 32 * sizeof(Vtx), "../z_vr_box.c", 1648); + skyboxCtx->roomVtx = GAME_STATE_ALLOC(state, 6 * 32 * sizeof(Vtx), "../z_vr_box.c", 1648); ASSERT(skyboxCtx->roomVtx != NULL, "vr_box->roomVtx != NULL", "../z_vr_box.c", 1649); Skybox_Calculate128(skyboxCtx, 6); // compute all 6 faces } else { - skyboxCtx->roomVtx = GameState_Alloc(state, 5 * 32 * sizeof(Vtx), "../z_vr_box.c", 1653); + skyboxCtx->roomVtx = GAME_STATE_ALLOC(state, 5 * 32 * sizeof(Vtx), "../z_vr_box.c", 1653); ASSERT(skyboxCtx->roomVtx != NULL, "vr_box->roomVtx != NULL", "../z_vr_box.c", 1654); Skybox_Calculate128(skyboxCtx, 5); // compute 5 faces, excludes the bottom face diff --git a/src/code/z_vr_box_draw.c b/src/code/z_vr_box_draw.c index 96a785118c..45e3237deb 100644 --- a/src/code/z_vr_box_draw.c +++ b/src/code/z_vr_box_draw.c @@ -8,7 +8,7 @@ Mtx* Skybox_UpdateMatrix(SkyboxContext* skyboxCtx, f32 x, f32 y, f32 z) { Matrix_RotateX(skyboxCtx->rot.x, MTXMODE_APPLY); Matrix_RotateY(skyboxCtx->rot.y, MTXMODE_APPLY); Matrix_RotateZ(skyboxCtx->rot.z, MTXMODE_APPLY); - return Matrix_ToMtx(sSkyboxDrawMatrix, "../z_vr_box_draw.c", 42); + return MATRIX_TO_MTX(sSkyboxDrawMatrix, "../z_vr_box_draw.c", 42); } void Skybox_Draw(SkyboxContext* skyboxCtx, GraphicsContext* gfxCtx, s16 skyboxId, s16 blend, f32 x, f32 y, f32 z) { @@ -24,13 +24,13 @@ void Skybox_Draw(SkyboxContext* skyboxCtx, GraphicsContext* gfxCtx, s16 skyboxId gSPTexture(POLY_OPA_DISP++, 0x8000, 0x8000, 0, G_TX_RENDERTILE, G_ON); // Prepare matrix - sSkyboxDrawMatrix = Graph_Alloc(gfxCtx, sizeof(Mtx)); + sSkyboxDrawMatrix = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); Matrix_Translate(x, y, z, MTXMODE_NEW); Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY); Matrix_RotateX(skyboxCtx->rot.x, MTXMODE_APPLY); Matrix_RotateY(skyboxCtx->rot.y, MTXMODE_APPLY); Matrix_RotateZ(skyboxCtx->rot.z, MTXMODE_APPLY); - Matrix_ToMtx(sSkyboxDrawMatrix, "../z_vr_box_draw.c", 76); + MATRIX_TO_MTX(sSkyboxDrawMatrix, "../z_vr_box_draw.c", 76); gSPMatrix(POLY_OPA_DISP++, sSkyboxDrawMatrix, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); // Enable magic square RGB dithering and bilinear filtering diff --git a/src/elf_message/elf_message_field.c b/src/elf_message/elf_message_field.c index db8b116380..bcdb71caf8 100644 --- a/src/elf_message/elf_message_field.c +++ b/src/elf_message/elf_message_field.c @@ -4,7 +4,7 @@ QuestHintCmd gOverworldNaviQuestHints[] = { QUEST_HINT_FLAG(CHECK, EVENTCHKINF_05, false, 0x40), QUEST_HINT_FLAG(CHECK, EVENTCHKINF_09, false, 0x41), - QUEST_HINT_FLAG(CHECK, EVENTCHKINF_12, false, 0x42), + QUEST_HINT_FLAG(CHECK, EVENTCHKINF_RECEIVED_WEIRD_EGG, false, 0x42), QUEST_HINT_FLAG(CHECK, EVENTCHKINF_TALON_RETURNED_FROM_CASTLE, false, 0x43), QUEST_HINT_FLAG(CHECK, EVENTCHKINF_40, false, 0x44), QUEST_HINT_SONG(CHECK, ITEM_SONG_SARIA, false, 0x45), diff --git a/src/libultra/gu/rotate.c b/src/libultra/gu/rotate.c index 64d4bd6ac7..064006cdf4 100644 --- a/src/libultra/gu/rotate.c +++ b/src/libultra/gu/rotate.c @@ -14,7 +14,7 @@ void guRotateF(f32 m[4][4], f32 a, f32 x, f32 y, f32 z) { guNormalize(&x, &y, &z); - a = a * D_80134D10; + a *= D_80134D10; sine = sinf(a); cosine = cosf(a); diff --git a/src/libultra/libc/ll.c b/src/libultra/libc/ll.c index df56fb3f33..759d872734 100644 --- a/src/libultra/libc/ll.c +++ b/src/libultra/libc/ll.c @@ -28,8 +28,8 @@ long long __ll_mul(long long left, long long right) { return left * right; } -void __ull_divremi(unsigned long long int* quotient, unsigned long long int* remainder, - unsigned long long dividend, unsigned short divisor) { +void __ull_divremi(unsigned long long int* quotient, unsigned long long int* remainder, unsigned long long dividend, + unsigned short divisor) { *quotient = dividend / divisor; *remainder = dividend % divisor; } diff --git a/src/libultra/libc/xlitob.c b/src/libultra/libc/xlitob.c index 32e769b160..2a33062265 100644 --- a/src/libultra/libc/xlitob.c +++ b/src/libultra/libc/xlitob.c @@ -7,24 +7,24 @@ static char ldigs[] = "0123456789abcdef"; static char udigs[] = "0123456789ABCDEF"; -void _Litob(_Pft* args, char type) { +void _Litob(_Pft* args, char code) { char buff[BUFF_LEN]; const char* digs; int base; int i; unsigned long long num; - if (type == 'X') { + if (code == 'X') { digs = udigs; } else { digs = ldigs; } - base = (type == 'o') ? 8 : ((type != 'x' && type != 'X') ? 10 : 16); + base = (code == 'o') ? 8 : ((code != 'x' && code != 'X') ? 10 : 16); i = BUFF_LEN; num = args->v.ll; - if ((type == 'd' || type == 'i') && args->v.ll < 0) { + if ((code == 'd' || code == 'i') && args->v.ll < 0) { num = -num; } diff --git a/src/libultra/libc/xprintf.c b/src/libultra/libc/xprintf.c index a838c7173f..9470e141fe 100644 --- a/src/libultra/libc/xprintf.c +++ b/src/libultra/libc/xprintf.c @@ -8,9 +8,9 @@ #define isdigit(x) (((x) >= '0' && (x) <= '9')) #define LDSIGN(x) (((unsigned short*)&(x))[0] & 0x8000) -#define ATOI(i, a) \ - for (i = 0; isdigit(*a); a++) \ - if (i < 999) \ +#define ATOI(i, a) \ + for (i = 0; isdigit(*a); a++) \ + if (i < 999) \ i = *a + i * 10 - '0'; #define PUT(fmt, _size) \ @@ -24,17 +24,17 @@ #define MAX_PAD ((int)sizeof(spaces) - 1) -#define PAD(src, m) \ - if (m > 0) { \ - int i; \ - int j; \ - for (j = m; j > 0; j -= i) { \ - if ((unsigned)j > MAX_PAD) \ - i = MAX_PAD; \ - else \ - i = j; \ - PUT(src, i); \ - } \ +#define PAD(src, m) \ + if (m > 0) { \ + int i; \ + int j; \ + for (j = m; j > 0; j -= i) { \ + if ((unsigned)j > MAX_PAD) \ + i = MAX_PAD; \ + else \ + i = j; \ + PUT(src, i); \ + } \ } char spaces[] = " "; @@ -69,7 +69,7 @@ int _Printf(PrintCallback pfn, void* arg, const char* fmt, va_list ap) { for (x.flags = 0; (t = strchr(fchar, *s)) != NULL; s++) { x.flags |= fbit[t - fchar]; } - + if (*s == '*') { x.width = va_arg(ap, int); if (x.width < 0) { diff --git a/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c b/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c index b7739f9211..5b1e963064 100644 --- a/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c +++ b/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c @@ -120,7 +120,7 @@ s32 ArmsHook_CheckForCancel(ArmsHook* this) { Player* player = (Player*)this->actor.parent; if (Player_HoldsHookshot(player)) { - if ((player->itemAction != player->heldItemAction) || (player->actor.flags & ACTOR_FLAG_8) || + if ((player->itemAction != player->heldItemAction) || (player->actor.flags & ACTOR_FLAG_TALK) || ((player->stateFlags1 & (PLAYER_STATE1_7 | PLAYER_STATE1_26)))) { this->timer = 0; ArmsHook_DetachHookFromActor(this); @@ -169,10 +169,10 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) { ArmsHook_CheckForCancel(this); if ((this->timer != 0) && (this->collider.base.atFlags & AT_HIT) && - (this->collider.info.atHitInfo->elemType != ELEMTYPE_UNK4)) { + (this->collider.elem.atHitElem->elemType != ELEMTYPE_UNK4)) { touchedActor = this->collider.base.at; if ((touchedActor->update != NULL) && (touchedActor->flags & (ACTOR_FLAG_9 | ACTOR_FLAG_10))) { - if (this->collider.info.atHitInfo->bumperFlags & BUMP_HOOKABLE) { + if (this->collider.elem.atHitElem->bumperFlags & BUMP_HOOKABLE) { ArmsHook_AttachHookToActor(this, touchedActor); if (CHECK_FLAG_ALL(touchedActor->flags, ACTOR_FLAG_10)) { func_80865044(this); @@ -321,7 +321,7 @@ void ArmsHook_Draw(Actor* thisx, PlayState* play) { func_80090480(play, &this->collider, &this->hookInfo, &hookNewTip, &hookNewBase); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_arms_hook.c", 895), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_arms_hook.c", 895), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gLinkAdultHookshotTipDL); Matrix_Translate(this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, MTXMODE_NEW); @@ -331,7 +331,7 @@ void ArmsHook_Draw(Actor* thisx, PlayState* play) { Matrix_RotateY(Math_FAtan2F(sp78.x, sp78.z), MTXMODE_APPLY); Matrix_RotateX(Math_FAtan2F(-sp78.y, sp5C), MTXMODE_APPLY); Matrix_Scale(0.015f, 0.015f, sqrtf(SQ(sp78.y) + sp58) * 0.01f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_arms_hook.c", 910), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_arms_hook.c", 910), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gLinkAdultHookshotChainDL); 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 b097c9d6d7..afc9cc19c6 100644 --- a/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c +++ b/src/overlays/actors/ovl_Arrow_Fire/z_arrow_fire.c @@ -241,7 +241,7 @@ void ArrowFire_Draw(Actor* thisx, PlayState* play2) { } Matrix_Scale(this->radius * 0.2f, this->unk_158 * 4.0f, this->radius * 0.2f, MTXMODE_APPLY); Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_arrow_fire.c", 666), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_arrow_fire.c", 666), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, sMaterialDL); gSPDisplayList(POLY_XLU_DISP++, 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 aa35287aaf..ff8e88896e 100644 --- a/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c +++ b/src/overlays/actors/ovl_Arrow_Ice/z_arrow_ice.c @@ -239,7 +239,7 @@ void ArrowIce_Draw(Actor* thisx, PlayState* play) { } Matrix_Scale(this->radius * 0.2f, this->unk_160 * 3.0f, this->radius * 0.2f, MTXMODE_APPLY); Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_arrow_ice.c", 660), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_arrow_ice.c", 660), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, sMaterialDL); gSPDisplayList(POLY_XLU_DISP++, 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 babc9b1482..fb96f1124b 100644 --- a/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c +++ b/src/overlays/actors/ovl_Arrow_Light/z_arrow_light.c @@ -237,7 +237,7 @@ void ArrowLight_Draw(Actor* thisx, PlayState* play) { } Matrix_Scale(this->radius * 0.2f, this->unk_160 * 4.0f, this->radius * 0.2f, MTXMODE_APPLY); Matrix_Translate(0.0f, -700.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_arrow_light.c", 648), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_arrow_light.c", 648), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, sMaterialDL); gSPDisplayList(POLY_XLU_DISP++, diff --git a/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.c b/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.c index b7e09c1b8e..aa2653fe34 100644 --- a/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.c +++ b/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.c @@ -10,27 +10,38 @@ #define FLAGS ACTOR_FLAG_4 +typedef enum { + JABU_OBJECTS_GET_PROP_CAM_SETTING_NORMAL0 = 0, + JABU_OBJECTS_GET_PROP_CAM_SETTING_DUNGEON1 = 3, + JABU_OBJECTS_GET_PROP_WATCHED_BIGOCTO_INTRO_CUTSCENE = 4 +} BgBdanObjectsPropertyGetter; +typedef enum { + JABU_OBJECTS_SET_PROP_CAM_SETTING_NORMAL1 = 1, + JABU_OBJECTS_SET_PROP_CAM_SETTING_DUNGEON0 = 2, + JABU_OBJECTS_SET_PROP_WATCHED_BIGOCTO_INTRO_CUTSCENE = 4 +} BgBdanObjectsPropertySetter; + void BgBdanObjects_Init(Actor* thisx, PlayState* play); void BgBdanObjects_Destroy(Actor* thisx, PlayState* play); void BgBdanObjects_Update(Actor* thisx, PlayState* play); void BgBdanObjects_Draw(Actor* thisx, PlayState* play); -void func_8086C054(BgBdanObjects* this, PlayState* play); -void func_8086C1A0(BgBdanObjects* this, PlayState* play); -void func_8086C29C(BgBdanObjects* this, PlayState* play); -void func_8086C55C(BgBdanObjects* this, PlayState* play); -void func_8086C5BC(BgBdanObjects* this, PlayState* play); -void func_8086C618(BgBdanObjects* this, PlayState* play); -void func_8086C6EC(BgBdanObjects* this, PlayState* play); -void func_8086C76C(BgBdanObjects* this, PlayState* play); -void func_8086C7D0(BgBdanObjects* this, PlayState* play); +void BgBdanObjects_OctoPlatform_WaitForRutoToStartCutscene(BgBdanObjects* this, PlayState* play); +void BgBdanObjects_OctoPlatform_RaiseToUpperPosition(BgBdanObjects* this, PlayState* play); +void BgBdanObjects_OctoPlatform_WaitForRutoToAdvanceCutscene(BgBdanObjects* this, PlayState* play); +void BgBdanObjects_OctoPlatform_PauseBeforeDescending(BgBdanObjects* this, PlayState* play); +void BgBdanObjects_OctoPlatform_WaitForBigOctoToStartBattle(BgBdanObjects* this, PlayState* play); +void BgBdanObjects_OctoPlatform_BattleInProgress(BgBdanObjects* this, PlayState* play); +void BgBdanObjects_SinkToFloorHeight(BgBdanObjects* this, PlayState* play); +void BgBdanObjects_WaitForPlayerInRange(BgBdanObjects* this, PlayState* play); +void BgBdanObjects_RaiseToUpperPosition(BgBdanObjects* this, PlayState* play); void BgBdanObjects_DoNothing(BgBdanObjects* this, PlayState* play); -void func_8086C874(BgBdanObjects* this, PlayState* play); -void func_8086C9A8(BgBdanObjects* this, PlayState* play); -void func_8086C9F0(BgBdanObjects* this, PlayState* play); -void func_8086CABC(BgBdanObjects* this, PlayState* play); -void func_8086CB10(BgBdanObjects* this, PlayState* play); -void func_8086CB8C(BgBdanObjects* this, PlayState* play); +void BgBdanObjects_ElevatorOscillate(BgBdanObjects* this, PlayState* play); +void BgBdanObjects_WaitForSwitch(BgBdanObjects* this, PlayState* play); +void BgBdanObjects_ChangeWaterBoxLevel(BgBdanObjects* this, PlayState* play); +void BgBdanObjects_WaitForTimerExpired(BgBdanObjects* this, PlayState* play); +void BgBdanObjects_WaitForPlayerOnTop(BgBdanObjects* this, PlayState* play); +void BgBdanObjects_FallToLowerPos(BgBdanObjects* this, PlayState* play); ActorInit Bg_Bdan_Objects_InitVars = { /**/ ACTOR_BG_BDAN_OBJECTS, @@ -75,13 +86,13 @@ static Gfx* sDLists[] = { gJabuFallingPlatformDL, }; -s32 BgBdanObjects_GetContactRu1(BgBdanObjects* this, s32 arg1) { +s32 BgBdanObjects_GetProperty(BgBdanObjects* this, s32 arg1) { switch (arg1) { - case 0: + case JABU_OBJECTS_GET_PROP_CAM_SETTING_NORMAL0: return this->cameraSetting == CAM_SET_NORMAL0; - case 4: + case JABU_OBJECTS_GET_PROP_WATCHED_BIGOCTO_INTRO_CUTSCENE: return GET_INFTABLE(INFTABLE_146); - case 3: + case JABU_OBJECTS_GET_PROP_CAM_SETTING_DUNGEON1: return this->cameraSetting == CAM_SET_DUNGEON1; default: osSyncPrintf("Bg_Bdan_Objects_Get_Contact_Ru1\nそんな受信モードは無い%d!!!!!!!!\n"); @@ -89,15 +100,15 @@ s32 BgBdanObjects_GetContactRu1(BgBdanObjects* this, s32 arg1) { } } -void BgBdanObjects_SetContactRu1(BgBdanObjects* this, s32 arg1) { +void BgBdanObjects_SetProperty(BgBdanObjects* this, s32 arg1) { switch (arg1) { - case 1: + case JABU_OBJECTS_SET_PROP_CAM_SETTING_NORMAL1: this->cameraSetting = CAM_SET_NORMAL1; break; - case 2: + case JABU_OBJECTS_SET_PROP_CAM_SETTING_DUNGEON0: this->cameraSetting = CAM_SET_DUNGEON0; break; - case 4: + case JABU_OBJECTS_SET_PROP_WATCHED_BIGOCTO_INTRO_CUTSCENE: SET_INFTABLE(INFTABLE_146); break; default: @@ -112,51 +123,51 @@ void BgBdanObjects_Init(Actor* thisx, PlayState* play) { Actor_ProcessInitChain(&this->dyna.actor, sInitChain); DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS); - this->switchFlag = (thisx->params >> 8) & 0x3F; + this->var.switchFlag = (thisx->params >> 8) & 0x3F; thisx->params &= 0xFF; - if (thisx->params == 2) { + if (thisx->params == JABU_OBJECTS_TYPE_WATERBOX_HEIGHT_CHANGER) { thisx->flags |= ACTOR_FLAG_4 | ACTOR_FLAG_5; play->colCtx.colHeader->waterBoxes[7].ySurface = thisx->world.pos.y; - this->actionFunc = func_8086C9A8; + this->actionFunc = BgBdanObjects_WaitForSwitch; return; } - if (thisx->params == 0) { + if (thisx->params == JABU_OBJECTS_TYPE_BIG_OCTO_PLATFORM) { CollisionHeader_GetVirtual(&gJabuBigOctoPlatformCol, &colHeader); Collider_InitCylinder(play, &this->collider); Collider_SetCylinder(play, &this->collider, &this->dyna.actor, &sCylinderInit); thisx->world.pos.y += -79.0f; if (Flags_GetClear(play, thisx->room)) { - Flags_SetSwitch(play, this->switchFlag); - this->actionFunc = func_8086C6EC; + Flags_SetSwitch(play, this->var.switchFlag); + this->actionFunc = BgBdanObjects_SinkToFloorHeight; } else { - if (BgBdanObjects_GetContactRu1(this, 4)) { + if (BgBdanObjects_GetProperty(this, JABU_OBJECTS_GET_PROP_WATCHED_BIGOCTO_INTRO_CUTSCENE)) { if (Actor_SpawnAsChild(&play->actorCtx, &this->dyna.actor, play, ACTOR_EN_BIGOKUTA, thisx->home.pos.x, thisx->home.pos.y, thisx->home.pos.z, 0, thisx->shape.rot.y + 0x8000, 0, 3) != NULL) { thisx->child->world.pos.z = thisx->child->home.pos.z + 263.0f; } thisx->world.rot.y = 0; - this->actionFunc = func_8086C618; + this->actionFunc = BgBdanObjects_OctoPlatform_BattleInProgress; thisx->world.pos.y = thisx->home.pos.y + -70.0f; } else { - Flags_SetSwitch(play, this->switchFlag); + Flags_SetSwitch(play, this->var.switchFlag); this->timer = 0; - this->actionFunc = func_8086C054; + this->actionFunc = BgBdanObjects_OctoPlatform_WaitForRutoToStartCutscene; } } } else { - if (thisx->params == 1) { + if (thisx->params == JABU_OBJECTS_TYPE_SMALL_AUTO_ELEVATOR) { CollisionHeader_GetVirtual(&gJabuElevatorCol, &colHeader); this->timer = 512; - this->switchFlag = 0; - this->actionFunc = func_8086C874; - } else { + this->var.camChangeTimer = 0; + this->actionFunc = BgBdanObjects_ElevatorOscillate; + } else { // JABU_OBJECTS_TYPE_FALLING_PLATFORM CollisionHeader_GetVirtual(&gJabuLoweringPlatformCol, &colHeader); - if (Flags_GetSwitch(play, this->switchFlag)) { + if (Flags_GetSwitch(play, this->var.switchFlag)) { this->actionFunc = BgBdanObjects_DoNothing; thisx->world.pos.y = thisx->home.pos.y - 400.0f; } else { - this->actionFunc = func_8086CB10; + this->actionFunc = BgBdanObjects_WaitForPlayerOnTop; } } } @@ -167,17 +178,21 @@ void BgBdanObjects_Destroy(Actor* thisx, PlayState* play) { BgBdanObjects* this = (BgBdanObjects*)thisx; DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId); - if (thisx->params == 0) { + if (thisx->params == JABU_OBJECTS_TYPE_BIG_OCTO_PLATFORM) { Collider_DestroyCylinder(play, &this->collider); } } -void func_8086C054(BgBdanObjects* this, PlayState* play) { +/** + * This actor will never escape this actionFunc on its own. It relies on + * En_Ru1 (Ruto) to change its cameraSetting to NORMAL0, which allows the + * state machine to proceed. + */ +void BgBdanObjects_OctoPlatform_WaitForRutoToStartCutscene(BgBdanObjects* this, PlayState* play) { Player* player = GET_PLAYER(play); - - if (BgBdanObjects_GetContactRu1(this, 0)) { + if (BgBdanObjects_GetProperty(this, JABU_OBJECTS_GET_PROP_CAM_SETTING_NORMAL0)) { if (this->dyna.actor.xzDistToPlayer < 250.0f) { - BgBdanObjects_SetContactRu1(this, 1); + BgBdanObjects_SetProperty(this, JABU_OBJECTS_SET_PROP_CAM_SETTING_NORMAL1); this->timer = 20; OnePointCutscene_Init(play, 3070, -99, &this->dyna.actor, CAM_ID_MAIN); player->actor.world.pos.x = -1130.0f; @@ -190,24 +205,24 @@ void func_8086C054(BgBdanObjects* this, PlayState* play) { this->timer--; } if (this->timer == 0) { - this->actionFunc = func_8086C1A0; + this->actionFunc = BgBdanObjects_OctoPlatform_RaiseToUpperPosition; } } - if (!Play_InCsMode(play) && !BgBdanObjects_GetContactRu1(this, 0)) { + if (!Play_InCsMode(play) && !BgBdanObjects_GetProperty(this, JABU_OBJECTS_GET_PROP_CAM_SETTING_NORMAL0)) { this->dyna.actor.world.pos.y = this->dyna.actor.home.pos.y + -79.0f; } else { this->dyna.actor.world.pos.y = (this->dyna.actor.home.pos.y + -79.0f) - 5.0f; } } -void func_8086C1A0(BgBdanObjects* this, PlayState* play) { +void BgBdanObjects_OctoPlatform_RaiseToUpperPosition(BgBdanObjects* this, PlayState* play) { if (Math_SmoothStepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y + 500.0f, 0.5f, 7.5f, 1.0f) < 0.1f) { Actor_PlaySfx(&this->dyna.actor, NA_SE_EV_BUYOSTAND_STOP_A); - this->actionFunc = func_8086C29C; + this->actionFunc = BgBdanObjects_OctoPlatform_WaitForRutoToAdvanceCutscene; this->timer = 30; - BgBdanObjects_SetContactRu1(this, 2); + BgBdanObjects_SetProperty(this, JABU_OBJECTS_SET_PROP_CAM_SETTING_DUNGEON0); Rumble_Request(0.0f, 255, 20, 150); } else { if (this->timer != 0) { @@ -221,7 +236,11 @@ void func_8086C1A0(BgBdanObjects* this, PlayState* play) { } } -void func_8086C29C(BgBdanObjects* this, PlayState* play) { +/** + * Again, this actionFunc is inescapable until En_Ru1 (Ruto) sets this + * actor's cameraSetting to DUNGEON1. + */ +void BgBdanObjects_OctoPlatform_WaitForRutoToAdvanceCutscene(BgBdanObjects* this, PlayState* play) { s32 quakeIndex; if (this->timer != 0) { @@ -234,18 +253,18 @@ void func_8086C29C(BgBdanObjects* this, PlayState* play) { } } - if (BgBdanObjects_GetContactRu1(this, 3)) { + if (BgBdanObjects_GetProperty(this, JABU_OBJECTS_GET_PROP_CAM_SETTING_DUNGEON1)) { Actor_SpawnAsChild(&play->actorCtx, &this->dyna.actor, play, ACTOR_EN_BIGOKUTA, this->dyna.actor.world.pos.x, this->dyna.actor.world.pos.y + 140.0f, this->dyna.actor.world.pos.z, 0, this->dyna.actor.shape.rot.y + 0x8000, 0, 0); - BgBdanObjects_SetContactRu1(this, 4); + BgBdanObjects_SetProperty(this, JABU_OBJECTS_SET_PROP_WATCHED_BIGOCTO_INTRO_CUTSCENE); this->timer = 10; - this->actionFunc = func_8086C55C; - func_8005B1A4(GET_ACTIVE_CAM(play)); + this->actionFunc = BgBdanObjects_OctoPlatform_PauseBeforeDescending; + Camera_SetFinishedFlag(GET_ACTIVE_CAM(play)); } } -void func_8086C3D8(BgBdanObjects* this, PlayState* play) { +void BgBdanObjects_OctoPlatform_DescendWithBigOcto(BgBdanObjects* this, PlayState* play) { Player* player = GET_PLAYER(play); this->dyna.actor.velocity.y += 0.5f; @@ -255,7 +274,7 @@ void func_8086C3D8(BgBdanObjects* this, PlayState* play) { this->timer = 60; Actor_PlaySfx(&this->dyna.actor, NA_SE_EV_BUYOSTAND_STOP_U); this->dyna.actor.child->world.pos.y = this->dyna.actor.world.pos.y + 140.0f; - this->actionFunc = func_8086C5BC; + this->actionFunc = BgBdanObjects_OctoPlatform_WaitForBigOctoToStartBattle; OnePointCutscene_Init(play, 3080, -99, this->dyna.actor.child, CAM_ID_MAIN); player->actor.world.pos.x = -1130.0f; player->actor.world.pos.y = -1025.0f; @@ -278,63 +297,64 @@ void func_8086C3D8(BgBdanObjects* this, PlayState* play) { } } -void func_8086C55C(BgBdanObjects* this, PlayState* play) { +void BgBdanObjects_OctoPlatform_PauseBeforeDescending(BgBdanObjects* this, PlayState* play) { this->timer--; if (this->timer == 0) { - Flags_UnsetSwitch(play, this->switchFlag); + Flags_UnsetSwitch(play, this->var.switchFlag); } else if (this->timer == -40) { this->timer = 0; - this->actionFunc = func_8086C3D8; + this->actionFunc = BgBdanObjects_OctoPlatform_DescendWithBigOcto; } } -void func_8086C5BC(BgBdanObjects* this, PlayState* play) { +void BgBdanObjects_OctoPlatform_WaitForBigOctoToStartBattle(BgBdanObjects* this, PlayState* play) { if (this->timer != 0) { this->timer--; } if ((this->timer == 0) && (this->dyna.actor.child != NULL)) { if (this->dyna.actor.child->params == 2) { - this->actionFunc = func_8086C618; + this->actionFunc = BgBdanObjects_OctoPlatform_BattleInProgress; } else if (this->dyna.actor.child->params == 0) { this->dyna.actor.child->params = 1; } } } -void func_8086C618(BgBdanObjects* this, PlayState* play) { +void BgBdanObjects_OctoPlatform_BattleInProgress(BgBdanObjects* this, PlayState* play) { Collider_UpdateCylinder(&this->dyna.actor, &this->collider); CollisionCheck_SetAT(play, &play->colChkCtx, &this->collider.base); if (Flags_GetClear(play, this->dyna.actor.room)) { - Flags_SetSwitch(play, this->switchFlag); + Flags_SetSwitch(play, this->var.switchFlag); this->dyna.actor.home.rot.y = (s16)(this->dyna.actor.shape.rot.y + 0x2000) & 0xC000; - this->actionFunc = func_8086C6EC; + this->actionFunc = BgBdanObjects_SinkToFloorHeight; } else { this->dyna.actor.shape.rot.y += this->dyna.actor.world.rot.y; - func_800F436C(&this->dyna.actor.projectedPos, 0x2063, ABS(this->dyna.actor.world.rot.y) / 512.0f); + func_800F436C(&this->dyna.actor.projectedPos, NA_SE_EV_ROLL_STAND - SFX_FLAG, + ABS(this->dyna.actor.world.rot.y) / 512.0f); } } -void func_8086C6EC(BgBdanObjects* this, PlayState* play) { +void BgBdanObjects_SinkToFloorHeight(BgBdanObjects* this, PlayState* play) { s32 cond = Math_ScaledStepToS(&this->dyna.actor.shape.rot.y, this->dyna.actor.home.rot.y, 0x200); if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y + -125.0f, 3.0f)) { if (cond) { - this->actionFunc = func_8086C76C; + this->actionFunc = BgBdanObjects_WaitForPlayerInRange; } } } -void func_8086C76C(BgBdanObjects* this, PlayState* play) { +void BgBdanObjects_WaitForPlayerInRange(BgBdanObjects* this, PlayState* play) { if (DynaPolyActor_IsPlayerOnTop(&this->dyna)) { if (this->dyna.actor.xzDistToPlayer < 120.0f) { - this->actionFunc = func_8086C7D0; + this->actionFunc = BgBdanObjects_RaiseToUpperPosition; OnePointCutscene_Init(play, 3090, -99, &this->dyna.actor, CAM_ID_MAIN); } } } -void func_8086C7D0(BgBdanObjects* this, PlayState* play) { +void BgBdanObjects_RaiseToUpperPosition(BgBdanObjects* this, PlayState* play) { if (Math_SmoothStepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y + 965.0f, 0.5f, 15.0f, 0.2f) < 0.01f) { Actor_PlaySfx(&this->dyna.actor, NA_SE_EV_BUYOSTAND_STOP_A); @@ -347,28 +367,28 @@ void func_8086C7D0(BgBdanObjects* this, PlayState* play) { void BgBdanObjects_DoNothing(BgBdanObjects* this, PlayState* play) { } -void func_8086C874(BgBdanObjects* this, PlayState* play) { +void BgBdanObjects_ElevatorOscillate(BgBdanObjects* this, PlayState* play) { if (this->timer != 0) { this->timer--; } - if (this->switchFlag == 0) { + if (this->var.camChangeTimer == 0) { if (DynaPolyActor_IsPlayerOnTop(&this->dyna)) { this->cameraSetting = play->cameraPtrs[CAM_ID_MAIN]->setting; - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_NORMAL2); - Camera_UnsetStateFlag(play->cameraPtrs[CAM_ID_MAIN], CAM_STATE_2); - this->switchFlag = 10; + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_NORMAL2); + Camera_UnsetStateFlag(play->cameraPtrs[CAM_ID_MAIN], CAM_STATE_CHECK_BG); + this->var.camChangeTimer = 10; } } else { - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_NORMAL2); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_NORMAL2); if (!DynaPolyActor_IsPlayerOnTop(&this->dyna)) { - if (this->switchFlag != 0) { - this->switchFlag--; + if (this->var.camChangeTimer != 0) { + this->var.camChangeTimer--; } } - if (this->switchFlag == 0) { + if (this->var.camChangeTimer == 0) { if (1) {} - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], this->cameraSetting); - Camera_SetStateFlag(play->cameraPtrs[CAM_ID_MAIN], CAM_STATE_2); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], this->cameraSetting); + Camera_SetStateFlag(play->cameraPtrs[CAM_ID_MAIN], CAM_STATE_CHECK_BG); } } this->dyna.actor.world.pos.y = @@ -378,50 +398,50 @@ void func_8086C874(BgBdanObjects* this, PlayState* play) { } } -void func_8086C9A8(BgBdanObjects* this, PlayState* play) { - if (Flags_GetSwitch(play, this->switchFlag)) { +void BgBdanObjects_WaitForSwitch(BgBdanObjects* this, PlayState* play) { + if (Flags_GetSwitch(play, this->var.switchFlag)) { this->timer = 100; - this->actionFunc = func_8086C9F0; + this->actionFunc = BgBdanObjects_ChangeWaterBoxLevel; } } -void func_8086C9F0(BgBdanObjects* this, PlayState* play) { +void BgBdanObjects_ChangeWaterBoxLevel(BgBdanObjects* this, PlayState* play) { if (this->timer == 0) { if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y, 0.5f)) { - Flags_UnsetSwitch(play, this->switchFlag); - this->actionFunc = func_8086C9A8; + Flags_UnsetSwitch(play, this->var.switchFlag); + this->actionFunc = BgBdanObjects_WaitForSwitch; } func_8002F948(&this->dyna.actor, NA_SE_EV_WATER_LEVEL_DOWN - SFX_FLAG); } else { if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y + 75.0f, 0.5f)) { - this->actionFunc = func_8086CABC; + this->actionFunc = BgBdanObjects_WaitForTimerExpired; } func_8002F948(&this->dyna.actor, NA_SE_EV_WATER_LEVEL_DOWN - SFX_FLAG); } play->colCtx.colHeader->waterBoxes[7].ySurface = this->dyna.actor.world.pos.y; } -void func_8086CABC(BgBdanObjects* this, PlayState* play) { +void BgBdanObjects_WaitForTimerExpired(BgBdanObjects* this, PlayState* play) { if (this->timer != 0) { this->timer--; } - func_8002F994(&this->dyna.actor, this->timer); + func_8002F994(&this->dyna.actor, this->timer); // play ticking sound effect if (this->timer == 0) { - this->actionFunc = func_8086C9F0; + this->actionFunc = BgBdanObjects_ChangeWaterBoxLevel; } } -void func_8086CB10(BgBdanObjects* this, PlayState* play) { +void BgBdanObjects_WaitForPlayerOnTop(BgBdanObjects* this, PlayState* play) { if (DynaPolyActor_IsPlayerOnTop(&this->dyna)) { - Flags_SetSwitch(play, this->switchFlag); + Flags_SetSwitch(play, this->var.switchFlag); this->timer = 50; - this->actionFunc = func_8086CB8C; + this->actionFunc = BgBdanObjects_FallToLowerPos; this->dyna.actor.home.pos.y -= 200.0f; OnePointCutscene_Init(play, 3100, 51, &this->dyna.actor, CAM_ID_MAIN); } } -void func_8086CB8C(BgBdanObjects* this, PlayState* play) { +void BgBdanObjects_FallToLowerPos(BgBdanObjects* this, PlayState* play) { if (this->timer != 0) { this->timer--; } @@ -448,15 +468,15 @@ void BgBdanObjects_Update(Actor* thisx, PlayState* play) { void BgBdanObjects_Draw(Actor* thisx, PlayState* play) { BgBdanObjects* this = (BgBdanObjects*)thisx; - if (thisx->params == 0) { - if (this->actionFunc == func_8086C054) { + if (thisx->params == JABU_OBJECTS_TYPE_BIG_OCTO_PLATFORM) { + if (this->actionFunc == BgBdanObjects_OctoPlatform_WaitForRutoToStartCutscene) { if (((thisx->home.pos.y + -79.0f) - 5.0f) < thisx->world.pos.y) { Matrix_Translate(0.0f, -50.0f, 0.0f, MTXMODE_APPLY); } } } - if (thisx->params == 2) { + if (thisx->params == JABU_OBJECTS_TYPE_WATERBOX_HEIGHT_CHANGER) { Gfx_DrawDListXlu(play, gJabuWaterDL); } else { Gfx_DrawDListOpa(play, sDLists[thisx->params]); diff --git a/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.h b/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.h index 358c6bcaed..62c5392811 100644 --- a/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.h +++ b/src/overlays/actors/ovl_Bg_Bdan_Objects/z_bg_bdan_objects.h @@ -6,12 +6,22 @@ struct BgBdanObjects; +typedef enum { + JABU_OBJECTS_TYPE_BIG_OCTO_PLATFORM, + JABU_OBJECTS_TYPE_SMALL_AUTO_ELEVATOR, + JABU_OBJECTS_TYPE_WATERBOX_HEIGHT_CHANGER, + JABU_OBJECTS_TYPE_FALLING_PLATFORM +} BgBdanObjectsType; + typedef void (*BgBdanObjectsActionFunc)(struct BgBdanObjects*, PlayState*); typedef struct BgBdanObjects { /* 0x0000 */ DynaPolyActor dyna; /* 0x0164 */ BgBdanObjectsActionFunc actionFunc; - /* 0x0168 */ u8 switchFlag; + union { + /* 0x0168 */ u8 switchFlag; + /* 0x0168 */ u8 camChangeTimer; + } var; /* 0x016A */ s16 timer; /* 0x016C */ ColliderCylinder collider; /* 0x01B8 */ s32 cameraSetting; diff --git a/src/overlays/actors/ovl_Bg_Bowl_Wall/z_bg_bowl_wall.c b/src/overlays/actors/ovl_Bg_Bowl_Wall/z_bg_bowl_wall.c index e520fa8bc0..bea9bd146b 100644 --- a/src/overlays/actors/ovl_Bg_Bowl_Wall/z_bg_bowl_wall.c +++ b/src/overlays/actors/ovl_Bg_Bowl_Wall/z_bg_bowl_wall.c @@ -207,7 +207,7 @@ void BgBowlWall_Draw(Actor* thisx, PlayState* play2) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x8, Gfx_TexScroll(play->state.gfxCtx, 0, -2 * (frames = play->state.frames), 16, 16)); gDPPipeSync(POLY_OPA_DISP++); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_bowl_wall.c", 453), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_bowl_wall.c", 453), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->dyna.actor.params == 0) { 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 488213514a..522a139eed 100644 --- a/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c +++ b/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c @@ -297,7 +297,7 @@ void BgBreakwall_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_bg_breakwall.c", 767); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_breakwall.c", 771), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_breakwall.c", 771), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, this->bombableWallDList); diff --git a/src/overlays/actors/ovl_Bg_Dodoago/z_bg_dodoago.c b/src/overlays/actors/ovl_Bg_Dodoago/z_bg_dodoago.c index 3a9a74178f..dc28fe90ef 100644 --- a/src/overlays/actors/ovl_Bg_Dodoago/z_bg_dodoago.c +++ b/src/overlays/actors/ovl_Bg_Dodoago/z_bg_dodoago.c @@ -314,7 +314,7 @@ void BgDodoago_Draw(Actor* thisx, PlayState* play) { if (Flags_GetEventChkInf(EVENTCHKINF_B0)) { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_dodoago.c", 677), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_dodoago.c", 677), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gDodongoLowerJawDL); } 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 e180a135cd..245c063e0c 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 @@ -501,7 +501,7 @@ void BgDyYoseizo_SayFarewell_NoReward(BgDyYoseizo* this, PlayState* play) { Message_CloseTextbox(play); this->mouthState = 0; this->actionFunc = BgDyYoseizo_SetupSpinShrink; - func_8005B1A4(GET_ACTIVE_CAM(play)); + Camera_SetFinishedFlag(GET_ACTIVE_CAM(play)); } BgDyYoseizo_Bob(this, play); @@ -1029,7 +1029,7 @@ void BgDyYoseizo_DrawEffects(BgDyYoseizo* this, PlayState* play) { Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); Matrix_RotateZ(effect->roll, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_bg_dy_yoseizo.c", 1810), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_bg_dy_yoseizo.c", 1810), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGreatFairyParticleModelDL)); } diff --git a/src/overlays/actors/ovl_Bg_Ganon_Otyuka/z_bg_ganon_otyuka.c b/src/overlays/actors/ovl_Bg_Ganon_Otyuka/z_bg_ganon_otyuka.c index de5ec8a245..c7cf1564b8 100644 --- a/src/overlays/actors/ovl_Bg_Ganon_Otyuka/z_bg_ganon_otyuka.c +++ b/src/overlays/actors/ovl_Bg_Ganon_Otyuka/z_bg_ganon_otyuka.c @@ -299,7 +299,7 @@ void BgGanonOtyuka_Draw(Actor* thisx, PlayState* play) { phi_s1 = sPlatformTopDL; } } - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_ganon_otyuka.c", 766), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_ganon_otyuka.c", 766), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, phi_s2); @@ -312,7 +312,7 @@ void BgGanonOtyuka_Draw(Actor* thisx, PlayState* play) { Matrix_Push(); Matrix_Translate(sSideCenters[i].x, 0.0f, sSideCenters[i].z, MTXMODE_APPLY); Matrix_RotateY(sSideAngles[i], MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_ganon_otyuka.c", 785), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_ganon_otyuka.c", 785), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, sPlatformSideDL); Matrix_Pop(); @@ -347,7 +347,7 @@ void BgGanonOtyuka_Draw(Actor* thisx, PlayState* play) { Matrix_Translate(sSideCenters[i].x, 0.0f, sSideCenters[i].z, MTXMODE_APPLY); Matrix_RotateY(sSideAngles[i], MTXMODE_APPLY); Matrix_Scale(0.3f, platform->flashYScale * 0.3f, 0.3f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_ganon_otyuka.c", 847), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_ganon_otyuka.c", 847), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, sFlashDL); Matrix_Pop(); diff --git a/src/overlays/actors/ovl_Bg_Gate_Shutter/z_bg_gate_shutter.c b/src/overlays/actors/ovl_Bg_Gate_Shutter/z_bg_gate_shutter.c index db78ead589..86a0ba8495 100644 --- a/src/overlays/actors/ovl_Bg_Gate_Shutter/z_bg_gate_shutter.c +++ b/src/overlays/actors/ovl_Bg_Gate_Shutter/z_bg_gate_shutter.c @@ -126,7 +126,7 @@ void BgGateShutter_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_gate_shutter.c", 328), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_gate_shutter.c", 328), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gKakarikoGuardGateDL); diff --git a/src/overlays/actors/ovl_Bg_Gjyo_Bridge/z_bg_gjyo_bridge.c b/src/overlays/actors/ovl_Bg_Gjyo_Bridge/z_bg_gjyo_bridge.c index 4da5de52b4..ae8de3e55e 100644 --- a/src/overlays/actors/ovl_Bg_Gjyo_Bridge/z_bg_gjyo_bridge.c +++ b/src/overlays/actors/ovl_Bg_Gjyo_Bridge/z_bg_gjyo_bridge.c @@ -109,7 +109,7 @@ void BgGjyoBridge_Draw(Actor* thisx, PlayState* play) { Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0, -play->gameplayFrames & 127, 32, 32, 1, 0, play->gameplayFrames & 127, 32, 32)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_gjyo_bridge.c", 281), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_gjyo_bridge.c", 281), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gRainbowBridgeDL); diff --git a/src/overlays/actors/ovl_Bg_Gnd_Firemeiro/z_bg_gnd_firemeiro.c b/src/overlays/actors/ovl_Bg_Gnd_Firemeiro/z_bg_gnd_firemeiro.c index 887069d904..809158c8a3 100644 --- a/src/overlays/actors/ovl_Bg_Gnd_Firemeiro/z_bg_gnd_firemeiro.c +++ b/src/overlays/actors/ovl_Bg_Gnd_Firemeiro/z_bg_gnd_firemeiro.c @@ -143,7 +143,7 @@ void BgGndFiremeiro_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_bg_gnd_firemeiro.c", 280); Gfx_SetupDL_37Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_gnd_firemeiro.c", 282), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_gnd_firemeiro.c", 282), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gFireTrialPlatformDL); diff --git a/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c b/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c index 7117441684..e7ea4f3655 100644 --- a/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c +++ b/src/overlays/actors/ovl_Bg_Gnd_Soulmeiro/z_bg_gnd_soulmeiro.c @@ -203,7 +203,7 @@ void BgGndSoulmeiro_Draw(Actor* thisx, PlayState* play) { case 0: OPEN_DISPS(play->state.gfxCtx, "../z_bg_gnd_soulmeiro.c", 398); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_gnd_soulmeiro.c", 400), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_gnd_soulmeiro.c", 400), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, dLists[params]); CLOSE_DISPS(play->state.gfxCtx, "../z_bg_gnd_soulmeiro.c", 403); diff --git a/src/overlays/actors/ovl_Bg_Haka/z_bg_haka.c b/src/overlays/actors/ovl_Bg_Haka/z_bg_haka.c index ed5ae96a02..43e2d8c90d 100644 --- a/src/overlays/actors/ovl_Bg_Haka/z_bg_haka.c +++ b/src/overlays/actors/ovl_Bg_Haka/z_bg_haka.c @@ -151,11 +151,11 @@ void BgHaka_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_haka.c", 406), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_haka.c", 406), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gGravestoneStoneDL); Matrix_Translate(0.0f, 0.0f, thisx->minVelocityY * 10.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_haka.c", 416), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_haka.c", 416), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGravestoneEarthDL); diff --git a/src/overlays/actors/ovl_Bg_Haka_Gate/z_bg_haka_gate.c b/src/overlays/actors/ovl_Bg_Haka_Gate/z_bg_haka_gate.c index 3723864815..95f185e4ea 100644 --- a/src/overlays/actors/ovl_Bg_Haka_Gate/z_bg_haka_gate.c +++ b/src/overlays/actors/ovl_Bg_Haka_Gate/z_bg_haka_gate.c @@ -328,7 +328,7 @@ void BgHakaGate_DrawFlame(BgHakaGate* this, PlayState* play) { Matrix_RotateY(BINANG_TO_RAD(Camera_GetCamDirYaw(GET_ACTIVE_CAM(play))), MTXMODE_APPLY); scale = this->vFlameScale * 0.00001f; Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_haka_gate.c", 744), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_haka_gate.c", 744), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffFire1DL); CLOSE_DISPS(play->state.gfxCtx, "../z_bg_haka_gate.c", 749); @@ -355,14 +355,14 @@ void BgHakaGate_Draw(Actor* thisx, PlayState* play) { Matrix_Translate(0.0f, 0.0f, -2000.0f, MTXMODE_APPLY); Matrix_RotateX(BINANG_TO_RAD(this->vOpenAngle), MTXMODE_APPLY); Matrix_Translate(0.0f, 0.0f, 2000.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_haka_gate.c", 788), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_haka_gate.c", 788), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_haka_objects_DL_010A10); Matrix_Put(¤tMtxF); Matrix_Translate(0.0f, 0.0f, 2000.0f, MTXMODE_APPLY); Matrix_RotateX(BINANG_TO_RAD(-this->vOpenAngle), MTXMODE_APPLY); Matrix_Translate(0.0f, 0.0f, -2000.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_haka_gate.c", 796), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_haka_gate.c", 796), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_haka_objects_DL_010C10); CLOSE_DISPS(play->state.gfxCtx, "../z_bg_haka_gate.c", 800); diff --git a/src/overlays/actors/ovl_Bg_Haka_MeganeBG/z_bg_haka_meganebg.c b/src/overlays/actors/ovl_Bg_Haka_MeganeBG/z_bg_haka_meganebg.c index 2295326c56..7374103639 100644 --- a/src/overlays/actors/ovl_Bg_Haka_MeganeBG/z_bg_haka_meganebg.c +++ b/src/overlays/actors/ovl_Bg_Haka_MeganeBG/z_bg_haka_meganebg.c @@ -139,12 +139,7 @@ void func_8087E040(BgHakaMeganeBG* this, PlayState* play) { void func_8087E10C(BgHakaMeganeBG* this, PlayState* play) { this->dyna.actor.velocity.y += 1.0f; - - if (this->dyna.actor.velocity.y > 20.0f) { - this->dyna.actor.velocity.y = 20.0f; - } else { - this->dyna.actor.velocity.y = this->dyna.actor.velocity.y; - } + this->dyna.actor.velocity.y = CLAMP_MAX(this->dyna.actor.velocity.y, 20.0f); if (this->unk_16A != 0) { this->unk_16A--; diff --git a/src/overlays/actors/ovl_Bg_Haka_Ship/z_bg_haka_ship.c b/src/overlays/actors/ovl_Bg_Haka_Ship/z_bg_haka_ship.c index 73a8dfe02e..b63018b3fe 100644 --- a/src/overlays/actors/ovl_Bg_Haka_Ship/z_bg_haka_ship.c +++ b/src/overlays/actors/ovl_Bg_Haka_Ship/z_bg_haka_ship.c @@ -201,22 +201,22 @@ void BgHakaShip_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_bg_haka_ship.c", 528); Gfx_SetupDL_25Opa(play->state.gfxCtx); if (this->dyna.actor.params == 0) { - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_haka_ship.c", 534), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_haka_ship.c", 534), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_haka_objects_DL_00D330); angleTemp = BINANG_TO_RAD(this->yOffset); Matrix_Translate(-3670.0f, 620.0f, 1150.0f, MTXMODE_APPLY); Matrix_RotateZ(angleTemp, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_haka_ship.c", 547), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_haka_ship.c", 547), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_haka_objects_DL_005A70); Matrix_Translate(0.0f, 0.0f, -2300.0f, MTXMODE_APPLY); Matrix_RotateZ(-(2.0f * angleTemp), MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_haka_ship.c", 556), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_haka_ship.c", 556), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_haka_objects_DL_005A70); } else { - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_haka_ship.c", 562), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_haka_ship.c", 562), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_haka_objects_DL_00E910); } diff --git a/src/overlays/actors/ovl_Bg_Haka_Trap/z_bg_haka_trap.c b/src/overlays/actors/ovl_Bg_Haka_Trap/z_bg_haka_trap.c index 50fe918853..1e205a090f 100644 --- a/src/overlays/actors/ovl_Bg_Haka_Trap/z_bg_haka_trap.c +++ b/src/overlays/actors/ovl_Bg_Haka_Trap/z_bg_haka_trap.c @@ -166,8 +166,8 @@ void BgHakaTrap_Init(Actor* thisx, PlayState* play) { this->colliderCylinder.dim.radius = 18; this->colliderCylinder.dim.height = 115; - this->colliderCylinder.info.toucherFlags &= ~TOUCH_SFX_NORMAL; - this->colliderCylinder.info.toucherFlags |= TOUCH_SFX_WOOD; + this->colliderCylinder.elem.toucherFlags &= ~TOUCH_SFX_NORMAL; + this->colliderCylinder.elem.toucherFlags |= TOUCH_SFX_WOOD; this->actionFunc = func_808801B8; } diff --git a/src/overlays/actors/ovl_Bg_Haka_Tubo/z_bg_haka_tubo.c b/src/overlays/actors/ovl_Bg_Haka_Tubo/z_bg_haka_tubo.c index d586e4981b..fbc49da85c 100644 --- a/src/overlays/actors/ovl_Bg_Haka_Tubo/z_bg_haka_tubo.c +++ b/src/overlays/actors/ovl_Bg_Haka_Tubo/z_bg_haka_tubo.c @@ -116,7 +116,7 @@ void BgHakaTubo_Idle(BgHakaTubo* this, PlayState* play) { this->flamesCollider.base.atFlags &= ~AT_HIT; func_8002F71C(play, &this->dyna.actor, 5.0f, this->dyna.actor.yawTowardsPlayer, 5.0f); } - // Colliding with hitbox inside the pot + // Colliding with collider inside the pot if (this->potCollider.base.acFlags & AC_HIT) { this->potCollider.base.acFlags &= ~AC_HIT; // If the colliding actor is within a 50 unit radius and 50 unit height cylinder centered @@ -234,7 +234,7 @@ void BgHakaTubo_DrawFlameCircle(BgHakaTubo* this, PlayState* play) { gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, this->fireScroll & 127, 0, 32, 64, 1, 0, (this->fireScroll * -15) & 0xFF, 32, 64)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_haka_tubo.c", 497), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_haka_tubo.c", 497), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffFireCircleDL); diff --git a/src/overlays/actors/ovl_Bg_Haka_Water/z_bg_haka_water.c b/src/overlays/actors/ovl_Bg_Haka_Water/z_bg_haka_water.c index 69c3b950fe..e40af64939 100644 --- a/src/overlays/actors/ovl_Bg_Haka_Water/z_bg_haka_water.c +++ b/src/overlays/actors/ovl_Bg_Haka_Water/z_bg_haka_water.c @@ -125,7 +125,7 @@ void BgHakaWater_Draw(Actor* thisx, PlayState* play) { Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, play->gameplayFrames % 128, play->gameplayFrames % 128, 32, 32, 1, 0, (0 - play->gameplayFrames) % 128, 32, 32)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_haka_water.c", 312), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_haka_water.c", 312), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBotwWaterRingDL); @@ -138,7 +138,7 @@ void BgHakaWater_Draw(Actor* thisx, PlayState* play) { gDPPipeSync(POLY_XLU_DISP++); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, (u8)(5.1f * temp)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_haka_water.c", 328), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_haka_water.c", 328), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBotwWaterFallDL); diff --git a/src/overlays/actors/ovl_Bg_Heavy_Block/z_bg_heavy_block.c b/src/overlays/actors/ovl_Bg_Heavy_Block/z_bg_heavy_block.c index 9567084e7d..f4edfaded1 100644 --- a/src/overlays/actors/ovl_Bg_Heavy_Block/z_bg_heavy_block.c +++ b/src/overlays/actors/ovl_Bg_Heavy_Block/z_bg_heavy_block.c @@ -503,7 +503,7 @@ void BgHeavyBlock_Draw(Actor* thisx, PlayState* play) { Matrix_MultVec3f(&D_80884ED4, &thisx->home.pos); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_heavy_block.c", 931), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_heavy_block.c", 931), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gHeavyBlockEntirePillarDL); diff --git a/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.c b/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.c index d7df9bd1ea..ee9b8a9323 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Curtain/z_bg_hidan_curtain.c @@ -252,7 +252,7 @@ void BgHidanCurtain_Draw(Actor* thisx, PlayState* play) { Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, this->texScroll & 0x7F, 0, 0x20, 0x40, 1, 0, (this->texScroll * -0xF) & 0xFF, 0x20, 0x40)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_hidan_curtain.c", 698), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_hidan_curtain.c", 698), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffFireCircleDL); diff --git a/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.c b/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.c index 9083889ad0..5d91381a97 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Dalm/z_bg_hidan_dalm.c @@ -129,8 +129,8 @@ void BgHidanDalm_Wait(BgHidanDalm* this, PlayState* play) { (player->meleeWeaponAnimation == PLAYER_MWA_HAMMER_FORWARD || player->meleeWeaponAnimation == PLAYER_MWA_HAMMER_SIDE)) { this->collider.base.acFlags &= ~AC_HIT; - if ((this->collider.elements[0].info.bumperFlags & BUMP_HIT) || - (this->collider.elements[1].info.bumperFlags & BUMP_HIT)) { + if ((this->collider.elements[0].base.bumperFlags & BUMP_HIT) || + (this->collider.elements[1].base.bumperFlags & BUMP_HIT)) { this->dyna.actor.world.rot.y -= 0x4000; } else { this->dyna.actor.world.rot.y += 0x4000; diff --git a/src/overlays/actors/ovl_Bg_Hidan_Firewall/z_bg_hidan_firewall.c b/src/overlays/actors/ovl_Bg_Hidan_Firewall/z_bg_hidan_firewall.c index 97fb32ad00..441fe805f1 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Firewall/z_bg_hidan_firewall.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Firewall/z_bg_hidan_firewall.c @@ -208,7 +208,7 @@ void BgHidanFirewall_Draw(Actor* thisx, PlayState* play) { gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sFireballTexs[this->unk_150])); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0x01, 255, 255, 0, 150); gDPSetEnvColor(POLY_XLU_DISP++, 255, 0, 0, 255); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_hidan_firewall.c", 458), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_hidan_firewall.c", 458), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gFireTempleFireballUpperHalfDL); diff --git a/src/overlays/actors/ovl_Bg_Hidan_Fslift/z_bg_hidan_fslift.c b/src/overlays/actors/ovl_Bg_Hidan_Fslift/z_bg_hidan_fslift.c index ea606ec2ab..846903cfb1 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Fslift/z_bg_hidan_fslift.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Fslift/z_bg_hidan_fslift.c @@ -14,9 +14,9 @@ void BgHidanFslift_Destroy(Actor* thisx, PlayState* play); void BgHidanFslift_Update(Actor* thisx, PlayState* play); void BgHidanFslift_Draw(Actor* thisx, PlayState* play); -void func_80886FCC(BgHidanFslift* this, PlayState* play); -void func_8088706C(BgHidanFslift* this, PlayState* play); -void func_808870D8(BgHidanFslift* this, PlayState* play); +void BgHidanFslift_Idle(BgHidanFslift* this, PlayState* play); +void BgHidanFslift_Descend(BgHidanFslift* this, PlayState* play); +void BgHidanFslift_Ascend(BgHidanFslift* this, PlayState* play); ActorInit Bg_Hidan_Fslift_InitVars = { /**/ ACTOR_BG_HIDAN_FSLIFT, @@ -53,10 +53,10 @@ void BgHidanFslift_Init(Actor* thisx, PlayState* play) { Actor_Kill(&this->dyna.actor); return; } - this->actionFunc = func_80886FCC; + this->actionFunc = BgHidanFslift_Idle; } -void func_80886F24(BgHidanFslift* this) { +void BgHidanFslift_SetHookshotTargetPos(BgHidanFslift* this) { if (this->dyna.actor.child != NULL && this->dyna.actor.child->update != NULL) { this->dyna.actor.child->world.pos.x = this->dyna.actor.world.pos.x; this->dyna.actor.child->world.pos.y = this->dyna.actor.world.pos.y + 40.0f; @@ -72,53 +72,53 @@ void BgHidanFslift_Destroy(Actor* thisx, PlayState* play) { DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId); } -void func_80886FB4(BgHidanFslift* this) { +void BgHidanFslift_SetupIdle(BgHidanFslift* this) { this->timer = 40; - this->actionFunc = func_80886FCC; + this->actionFunc = BgHidanFslift_Idle; } -void func_80886FCC(BgHidanFslift* this, PlayState* play) { - s32 heightBool; +void BgHidanFslift_Idle(BgHidanFslift* this, PlayState* play) { + s32 nearHomePos; if (this->timer) { this->timer--; } if (this->timer == 0) { - heightBool = false; + nearHomePos = false; if ((this->dyna.actor.world.pos.y - this->dyna.actor.home.pos.y) < 0.5f) { - heightBool = true; + nearHomePos = true; } - if (DynaPolyActor_IsPlayerAbove(&this->dyna) && heightBool) { - this->actionFunc = func_808870D8; - } else if (!heightBool) { - this->actionFunc = func_8088706C; + if (DynaPolyActor_IsPlayerAbove(&this->dyna) && nearHomePos) { + this->actionFunc = BgHidanFslift_Ascend; + } else if (!nearHomePos) { + this->actionFunc = BgHidanFslift_Descend; } } } -void func_8088706C(BgHidanFslift* this, PlayState* play) { +void BgHidanFslift_Descend(BgHidanFslift* this, PlayState* play) { if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y, 4.0f)) { Actor_PlaySfx(&this->dyna.actor, NA_SE_EV_BLOCK_BOUND); - func_80886FB4(this); + BgHidanFslift_SetupIdle(this); } else { func_8002F974(&this->dyna.actor, NA_SE_EV_ELEVATOR_MOVE3 - SFX_FLAG); } - func_80886F24(this); + BgHidanFslift_SetHookshotTargetPos(this); } -void func_808870D8(BgHidanFslift* this, PlayState* play) { +void BgHidanFslift_Ascend(BgHidanFslift* this, PlayState* play) { if (DynaPolyActor_IsPlayerAbove(&this->dyna)) { if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y + 790.0f, 4.0f)) { Actor_PlaySfx(&this->dyna.actor, NA_SE_EV_BLOCK_BOUND); - func_80886FB4(this); + BgHidanFslift_SetupIdle(this); } else { func_8002F974(&this->dyna.actor, NA_SE_EV_ELEVATOR_MOVE3 - SFX_FLAG); } } else { - func_80886FB4(this); + BgHidanFslift_SetupIdle(this); } - func_80886F24(this); + BgHidanFslift_SetHookshotTargetPos(this); } void BgHidanFslift_Update(Actor* thisx, PlayState* play) { @@ -126,15 +126,17 @@ void BgHidanFslift_Update(Actor* thisx, PlayState* play) { this->actionFunc(this, play); if (DynaPolyActor_IsPlayerOnTop(&this->dyna)) { - if (this->unk_16A == 0) { - this->unk_16A = 3; + if (this->cameraSetting == CAM_SET_NONE) { + this->cameraSetting = CAM_SET_DUNGEON0; } - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_ELEVATOR_PLATFORM); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_ELEVATOR_PLATFORM); } else if (!DynaPolyActor_IsPlayerOnTop(&this->dyna)) { - if (this->unk_16A != 0) { - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0); + if (this->cameraSetting != CAM_SET_NONE) { + // Given the values that get set to `cameraSetting`, it seems likely that it was intended to be + // passed to the function call below. But instead `CAM_SET_DUNGEON0` is used directly. + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0); } - this->unk_16A = 0; + this->cameraSetting = CAM_SET_NONE; } } diff --git a/src/overlays/actors/ovl_Bg_Hidan_Fslift/z_bg_hidan_fslift.h b/src/overlays/actors/ovl_Bg_Hidan_Fslift/z_bg_hidan_fslift.h index 731a8e2ce4..e1906d1f40 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Fslift/z_bg_hidan_fslift.h +++ b/src/overlays/actors/ovl_Bg_Hidan_Fslift/z_bg_hidan_fslift.h @@ -12,7 +12,7 @@ typedef struct BgHidanFslift { /* 0x0000 */ DynaPolyActor dyna; /* 0x0164 */ BgHidanFsliftActionFunc actionFunc; /* 0x0168 */ s16 timer; - /* 0x016A */ s16 unk_16A; + /* 0x016A */ s16 cameraSetting; } BgHidanFslift; // size = 0x016C #endif diff --git a/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.c b/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.c index dd2604b7fe..8f55a52102 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Fwbig/z_bg_hidan_fwbig.c @@ -268,7 +268,7 @@ void BgHidanFwbig_Draw(Actor* thisx, PlayState* play) { Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, play->gameplayFrames % 0x80, 0, 0x20, 0x40, 1, 0, (u8)(play->gameplayFrames * -15), 0x20, 0x40)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_hidan_fwbig.c", 660), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_hidan_fwbig.c", 660), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gFireTempleBigFireWallDL); diff --git a/src/overlays/actors/ovl_Bg_Hidan_Hamstep/z_bg_hidan_hamstep.c b/src/overlays/actors/ovl_Bg_Hidan_Hamstep/z_bg_hidan_hamstep.c index 5ca7e0fcb1..7f09ac3dc6 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Hamstep/z_bg_hidan_hamstep.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Hamstep/z_bg_hidan_hamstep.c @@ -401,7 +401,7 @@ void BgHidanHamstep_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_hidan_hamstep.c", 787), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_hidan_hamstep.c", 787), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if ((thisx->params & 0xFF) == 0) { diff --git a/src/overlays/actors/ovl_Bg_Hidan_Kousi/z_bg_hidan_kousi.c b/src/overlays/actors/ovl_Bg_Hidan_Kousi/z_bg_hidan_kousi.c index 9aef156962..3b91b2e603 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Kousi/z_bg_hidan_kousi.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Kousi/z_bg_hidan_kousi.c @@ -154,7 +154,7 @@ void BgHidanKousi_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_hidan_kousi.c", 354), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_hidan_kousi.c", 354), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, sMetalFencesDLs[thisx->params & 0xFF]); diff --git a/src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c b/src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c index a85d00cae5..d157bc2cbc 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Kowarerukabe/z_bg_hidan_kowarerukabe.c @@ -327,7 +327,7 @@ void BgHidanKowarerukabe_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_hidan_kowarerukabe.c", 568), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_hidan_kowarerukabe.c", 568), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, sBreakableWallDLists[this->dyna.actor.params & 0xFF]); diff --git a/src/overlays/actors/ovl_Bg_Hidan_Rock/z_bg_hidan_rock.c b/src/overlays/actors/ovl_Bg_Hidan_Rock/z_bg_hidan_rock.c index 0d06eadff4..45863efc2e 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Rock/z_bg_hidan_rock.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Rock/z_bg_hidan_rock.c @@ -264,10 +264,10 @@ void func_8088B79C(BgHidanRock* this, PlayState* play) { if (this->unk_169 == 0) { this->unk_169 = 3; } - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_ELEVATOR_PLATFORM); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_ELEVATOR_PLATFORM); } else if (!DynaPolyActor_IsPlayerOnTop(&this->dyna)) { if (this->unk_169 != 0) { - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0); } this->unk_169 = 0; } @@ -317,10 +317,10 @@ void func_8088B990(BgHidanRock* this, PlayState* play) { if (this->unk_169 == 0) { this->unk_169 = 3; } - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_ELEVATOR_PLATFORM); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_ELEVATOR_PLATFORM); } else if (!DynaPolyActor_IsPlayerOnTop(&this->dyna)) { if (this->unk_169 != 0) { - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0); } this->unk_169 = 0; } @@ -369,7 +369,7 @@ void func_8088BC40(PlayState* play, BgHidanRock* this) { Matrix_Scale(6.0f, this->unk_16C, 6.0f, MTXMODE_APPLY); gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sVerticalFlamesTexs[play->gameplayFrames & 7])); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_hidan_rock.c", 853), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_hidan_rock.c", 853), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gFireTempleBigVerticalFlameDL); diff --git a/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.c b/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.c index 2b45afac0f..1ebe33fcf1 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Rsekizou/z_bg_hidan_rsekizou.c @@ -214,8 +214,8 @@ Gfx* BgHidanRsekizou_DrawFireball(PlayState* play, BgHidanRsekizou* this, s16 fr mf->zw = (tmpf7 * coss) + this->dyna.actor.world.pos.z; gSPMatrix(displayList++, - Matrix_MtxFToMtx(Matrix_CheckFloats(mf, "../z_bg_hidan_rsekizou.c", 543), - Graph_Alloc(play->state.gfxCtx, sizeof(Mtx))), + Matrix_MtxFToMtx(MATRIX_CHECK_FLOATS(mf, "../z_bg_hidan_rsekizou.c", 543), + GRAPH_ALLOC(play->state.gfxCtx, sizeof(Mtx))), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(displayList++, gFireTempleFireballDL); @@ -232,7 +232,7 @@ void BgHidanRsekizou_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_hidan_rsekizou.c", 568), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_hidan_rsekizou.c", 568), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gFireTempleSpinningFlamethrowerDL); Matrix_MtxFCopy(&mf, &gMtxFClear); diff --git a/src/overlays/actors/ovl_Bg_Hidan_Sekizou/z_bg_hidan_sekizou.c b/src/overlays/actors/ovl_Bg_Hidan_Sekizou/z_bg_hidan_sekizou.c index 2cbb720acd..0e0f1f6062 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Sekizou/z_bg_hidan_sekizou.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Sekizou/z_bg_hidan_sekizou.c @@ -139,8 +139,8 @@ void func_8088CEC0(BgHidanSekizou* this, s32 arg1, s16 arg2) { element->dim.worldSphere.center.y = (s16)this->dyna.actor.home.pos.y + element->dim.modelSphere.center.y; element->dim.worldSphere.center.z = this->dyna.actor.home.pos.z - (sp30 * element->dim.modelSphere.center.x) + (sp2C * element->dim.modelSphere.center.z); - element->info.toucherFlags |= TOUCH_ON; - element->info.ocElemFlags |= OCELEM_ON; + element->base.toucherFlags |= TOUCH_ON; + element->base.ocElemFlags |= OCELEM_ON; } } @@ -210,8 +210,8 @@ void func_8088D434(BgHidanSekizou* this, PlayState* play) { } } for (i = 3 * phi_s4; i < ARRAY_COUNT(this->elements); i++) { - this->collider.elements[i].info.toucherFlags &= ~TOUCH_ON; - this->collider.elements[i].info.ocElemFlags &= ~OCELEM_ON; + this->collider.elements[i].base.toucherFlags &= ~TOUCH_ON; + this->collider.elements[i].base.ocElemFlags &= ~OCELEM_ON; } } @@ -318,8 +318,8 @@ Gfx* func_8088D9F4(PlayState* play, BgHidanSekizou* this, s16 arg2, MtxF* arg3, arg3->yw = this->dyna.actor.world.pos.y + 30.0f + (.7f * phi_f12); arg3->zw = (temp_f2 * arg5) + this->dyna.actor.world.pos.z; gSPMatrix(arg7++, - Matrix_MtxFToMtx(Matrix_CheckFloats(arg3, "../z_bg_hidan_sekizou.c", 711), - Graph_Alloc(play->state.gfxCtx, sizeof(Mtx))), + Matrix_MtxFToMtx(MATRIX_CHECK_FLOATS(arg3, "../z_bg_hidan_sekizou.c", 711), + GRAPH_ALLOC(play->state.gfxCtx, sizeof(Mtx))), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(arg7++, gFireTempleFireballDL); @@ -396,7 +396,7 @@ void BgHidanSekizou_Draw(Actor* thisx, PlayState* play2) { OPEN_DISPS(play->state.gfxCtx, "../z_bg_hidan_sekizou.c", 827); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_hidan_sekizou.c", 831), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_hidan_sekizou.c", 831), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->dyna.actor.params == 0) { gSPDisplayList(POLY_OPA_DISP++, gFireTempleStationaryFlamethrowerShortDL); diff --git a/src/overlays/actors/ovl_Bg_Hidan_Sima/z_bg_hidan_sima.c b/src/overlays/actors/ovl_Bg_Hidan_Sima/z_bg_hidan_sima.c index bf1135aa96..56363ffef7 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Sima/z_bg_hidan_sima.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Sima/z_bg_hidan_sima.c @@ -259,8 +259,8 @@ Gfx* func_8088EB54(PlayState* play, BgHidanSima* this, Gfx* gfx) { gSPSegment(gfx++, 0x09, SEGMENTED_TO_VIRTUAL(sFireballsTexs[(this->timer + s3) % 7])); gSPMatrix(gfx++, - Matrix_MtxFToMtx(Matrix_CheckFloats(&mtxF, "../z_bg_hidan_sima.c", 611), - Graph_Alloc(play->state.gfxCtx, sizeof(Mtx))), + Matrix_MtxFToMtx(MATRIX_CHECK_FLOATS(&mtxF, "../z_bg_hidan_sima.c", 611), + GRAPH_ALLOC(play->state.gfxCtx, sizeof(Mtx))), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(gfx++, gFireTempleFireballDL); } @@ -268,8 +268,8 @@ Gfx* func_8088EB54(PlayState* play, BgHidanSima* this, Gfx* gfx) { mtxF.zw = this->dyna.actor.world.pos.z + (phi_s5 * 25 + 80) * cos; gSPSegment(gfx++, 0x09, SEGMENTED_TO_VIRTUAL(sFireballsTexs[(this->timer + s3) % 7])); gSPMatrix(gfx++, - Matrix_MtxFToMtx(Matrix_CheckFloats(&mtxF, "../z_bg_hidan_sima.c", 624), - Graph_Alloc(play->state.gfxCtx, sizeof(Mtx))), + Matrix_MtxFToMtx(MATRIX_CHECK_FLOATS(&mtxF, "../z_bg_hidan_sima.c", 624), + GRAPH_ALLOC(play->state.gfxCtx, sizeof(Mtx))), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(gfx++, gFireTempleFireballDL); return gfx; @@ -280,7 +280,7 @@ void BgHidanSima_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_bg_hidan_sima.c", 641); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_hidan_sima.c", 645), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_hidan_sima.c", 645), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->dyna.actor.params == 0) { gSPDisplayList(POLY_OPA_DISP++, gFireTempleStonePlatform1DL); diff --git a/src/overlays/actors/ovl_Bg_Hidan_Syoku/z_bg_hidan_syoku.c b/src/overlays/actors/ovl_Bg_Hidan_Syoku/z_bg_hidan_syoku.c index 2992773fae..e69cca84aa 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Syoku/z_bg_hidan_syoku.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Syoku/z_bg_hidan_syoku.c @@ -112,10 +112,10 @@ void BgHidanSyoku_Update(Actor* thisx, PlayState* play) { if (this->unk_168 == 0) { this->unk_168 = 3; } - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_ELEVATOR_PLATFORM); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_ELEVATOR_PLATFORM); } else if (!DynaPolyActor_IsPlayerOnTop(&this->dyna)) { if (this->unk_168 != 0) { - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0); } this->unk_168 = 0; } diff --git a/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.c b/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.c index 46222872ff..3628615f37 100644 --- a/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.c +++ b/src/overlays/actors/ovl_Bg_Ice_Shelter/z_bg_ice_shelter.c @@ -453,7 +453,7 @@ void BgIceShelter_Draw(Actor* thisx, PlayState* play2) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_ice_shelter.c", 751), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_ice_shelter.c", 751), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); switch (BGICESHELTER_GET_TYPE(&this->dyna.actor)) { 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 41379fc56a..81e75edbdc 100644 --- a/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c +++ b/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c @@ -107,7 +107,7 @@ void BgInGate_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_ingate.c", 245), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_ingate.c", 245), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gIngoGateDL); diff --git a/src/overlays/actors/ovl_Bg_Jya_1flift/z_bg_jya_1flift.c b/src/overlays/actors/ovl_Bg_Jya_1flift/z_bg_jya_1flift.c index 32fc953c7a..b56effd8c9 100644 --- a/src/overlays/actors/ovl_Bg_Jya_1flift/z_bg_jya_1flift.c +++ b/src/overlays/actors/ovl_Bg_Jya_1flift/z_bg_jya_1flift.c @@ -189,9 +189,9 @@ void BgJya1flift_Update(Actor* thisx, PlayState* play2) { tempIsRiding = DynaPolyActor_IsPlayerOnTop(&this->dyna) ? true : false; if ((this->actionFunc == BgJya1flift_Move) || (this->actionFunc == BgJya1flift_DelayMove)) { if (tempIsRiding) { - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_ELEVATOR_PLATFORM); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_ELEVATOR_PLATFORM); } else if (!tempIsRiding && this->isLinkRiding) { - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0); } } this->isLinkRiding = tempIsRiding; diff --git a/src/overlays/actors/ovl_Bg_Jya_Bigmirror/z_bg_jya_bigmirror.c b/src/overlays/actors/ovl_Bg_Jya_Bigmirror/z_bg_jya_bigmirror.c index ee5050c95c..73c4324f2f 100644 --- a/src/overlays/actors/ovl_Bg_Jya_Bigmirror/z_bg_jya_bigmirror.c +++ b/src/overlays/actors/ovl_Bg_Jya_Bigmirror/z_bg_jya_bigmirror.c @@ -84,7 +84,7 @@ void BgJyaBigmirror_HandleCobra(Actor* thisx, PlayState* play) { curSpawnData->pos.z, 0, curCobraInfo->rotY, 0, curSpawnData->params); this->actor.child = NULL; - if (&curCobraInfo->cobra->dyna.actor == NULL) { + if (curCobraInfo->cobra == NULL) { // "Cobra generation failed" osSyncPrintf("Error : コブラ発生失敗 (%s %d)\n", "../z_bg_jya_bigmirror.c", 221); } @@ -223,7 +223,7 @@ void BgJyaBigmirror_DrawLightBeam(Actor* thisx, PlayState* play) { Matrix_SetTranslateRotateYXZ(this->actor.world.pos.x, this->actor.world.pos.y + 40.0f, this->actor.world.pos.z, &this->actor.shape.rot); Matrix_Scale(0.1f, (this->liftHeight * -(1.0f / 1280.0f)) + (1779.4f / 1280.0f), 0.1f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_jya_bigmirror.c", 457), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_jya_bigmirror.c", 457), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBigMirror1DL); @@ -231,7 +231,7 @@ void BgJyaBigmirror_DrawLightBeam(Actor* thisx, PlayState* play) { if (1) {} Matrix_SetTranslateRotateYXZ(lift->world.pos.x, lift->world.pos.y, lift->world.pos.z, &D_80893F4C); Matrix_Scale(0.1f, 0.1f, 0.1f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_jya_bigmirror.c", 467), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_jya_bigmirror.c", 467), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBigMirror2DL); } diff --git a/src/overlays/actors/ovl_Bg_Jya_Block/z_bg_jya_block.c b/src/overlays/actors/ovl_Bg_Jya_Block/z_bg_jya_block.c index 3090b74ebf..e4155e4f8b 100644 --- a/src/overlays/actors/ovl_Bg_Jya_Block/z_bg_jya_block.c +++ b/src/overlays/actors/ovl_Bg_Jya_Block/z_bg_jya_block.c @@ -68,7 +68,7 @@ void BgJyaBlock_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(gPushBlockGrayTex)); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_jya_block.c", 153), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_jya_block.c", 153), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetEnvColor(POLY_OPA_DISP++, 232, 210, 176, 255); gSPDisplayList(POLY_OPA_DISP++, gPushBlockDL); diff --git a/src/overlays/actors/ovl_Bg_Jya_Bombchuiwa/z_bg_jya_bombchuiwa.c b/src/overlays/actors/ovl_Bg_Jya_Bombchuiwa/z_bg_jya_bombchuiwa.c index 4137f799aa..3567f9d6d8 100644 --- a/src/overlays/actors/ovl_Bg_Jya_Bombchuiwa/z_bg_jya_bombchuiwa.c +++ b/src/overlays/actors/ovl_Bg_Jya_Bombchuiwa/z_bg_jya_bombchuiwa.c @@ -198,7 +198,7 @@ void BgJyaBombchuiwa_Update(Actor* thisx, PlayState* play) { void BgJyaBombchuiwa_DrawRock(PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_bg_jya_bombchuiwa.c", 436); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_jya_bombchuiwa.c", 439), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_jya_bombchuiwa.c", 439), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBombchuiwa2DL); CLOSE_DISPS(play->state.gfxCtx, "../z_bg_jya_bombchuiwa.c", 443); @@ -209,7 +209,7 @@ void BgJyaBombchuiwa_DrawLight(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_bg_jya_bombchuiwa.c", 453); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_jya_bombchuiwa.c", 457), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_jya_bombchuiwa.c", 457), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, CLAMP_MAX((u32)(this->lightRayIntensity * 153.0f), 153)); gSPDisplayList(POLY_XLU_DISP++, gBombchuiwaLight1DL); diff --git a/src/overlays/actors/ovl_Bg_Jya_Cobra/z_bg_jya_cobra.c b/src/overlays/actors/ovl_Bg_Jya_Cobra/z_bg_jya_cobra.c index 4cfbfe5578..0febcf05d0 100644 --- a/src/overlays/actors/ovl_Bg_Jya_Cobra/z_bg_jya_cobra.c +++ b/src/overlays/actors/ovl_Bg_Jya_Cobra/z_bg_jya_cobra.c @@ -530,7 +530,7 @@ void func_80896CB4(PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_bg_jya_cobra.c", 864); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_jya_cobra.c", 867), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_jya_cobra.c", 867), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gCobra2DL); @@ -550,7 +550,7 @@ void func_80896D78(BgJyaCobra* this, PlayState* play) { Matrix_SetTranslateRotateYXZ(this->unk_180.x, this->unk_180.y, this->unk_180.z, &sp44); Matrix_Scale(0.1f, 0.1f, this->unk_190, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_jya_cobra.c", 939), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_jya_cobra.c", 939), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, (s32)(this->unk_18C * 140.0f)); gSPDisplayList(POLY_XLU_DISP++, gCobra3DL); @@ -589,7 +589,7 @@ void BgJyaCobra_DrawShadow(BgJyaCobra* this, PlayState* play) { Matrix_Translate(0.0f, 0.0f, 40.0f, MTXMODE_APPLY); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 0, 0, 0, 120); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_jya_cobra.c", 994), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_jya_cobra.c", 994), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPLoadTextureBlock(POLY_XLU_DISP++, COBRA_SHADOW_TEX_PTR(this), G_IM_FMT_I, G_IM_SIZ_8b, COBRA_SHADOW_TEX_WIDTH, diff --git a/src/overlays/actors/ovl_Bg_Jya_Lift/z_bg_jya_lift.c b/src/overlays/actors/ovl_Bg_Jya_Lift/z_bg_jya_lift.c index ec5af7b350..a6aa9612fa 100644 --- a/src/overlays/actors/ovl_Bg_Jya_Lift/z_bg_jya_lift.c +++ b/src/overlays/actors/ovl_Bg_Jya_Lift/z_bg_jya_lift.c @@ -113,7 +113,7 @@ void BgJyaLift_Move(BgJyaLift* this, PlayState* play) { tempVelocity = (this->dyna.actor.velocity.y < 0.2f) ? 0.2f : this->dyna.actor.velocity.y; distFromBottom = Math_SmoothStepToF(&this->dyna.actor.world.pos.y, 973.0f, 0.1f, tempVelocity, 0.2f); if ((this->dyna.actor.world.pos.y < 1440.0f) && (1440.0f <= this->dyna.actor.prevPos.y)) { - func_8005B1A4(GET_ACTIVE_CAM(play)); + Camera_SetFinishedFlag(GET_ACTIVE_CAM(play)); } if (fabsf(distFromBottom) < 0.001f) { BgJyaLift_SetFinalPosY(this); @@ -136,11 +136,11 @@ void BgJyaLift_Update(Actor* thisx, PlayState* play2) { this->actionFunc(this, play); } if ((this->dyna.interactFlags & DYNA_INTERACT_PLAYER_ABOVE) && !(this->unk_16B & DYNA_INTERACT_PLAYER_ABOVE)) { - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DIRECTED_YAW); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DIRECTED_YAW); } else if (!(this->dyna.interactFlags & DYNA_INTERACT_PLAYER_ABOVE) && (this->unk_16B & DYNA_INTERACT_PLAYER_ABOVE) && (play->cameraPtrs[CAM_ID_MAIN]->setting == CAM_SET_DIRECTED_YAW)) { - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0); } this->unk_16B = this->dyna.interactFlags; diff --git a/src/overlays/actors/ovl_Bg_Jya_Megami/z_bg_jya_megami.c b/src/overlays/actors/ovl_Bg_Jya_Megami/z_bg_jya_megami.c index 0f62263287..788f16adff 100644 --- a/src/overlays/actors/ovl_Bg_Jya_Megami/z_bg_jya_megami.c +++ b/src/overlays/actors/ovl_Bg_Jya_Megami/z_bg_jya_megami.c @@ -307,7 +307,7 @@ void BgJyaMegami_DrawFace(BgJyaMegami* this, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sRightSideCrumbles[this->crumbleIndex])); gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(sLeftSideCrumbles[this->crumbleIndex])); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_jya_megami.c", 716), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_jya_megami.c", 716), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gMegami1DL); @@ -339,7 +339,7 @@ void BgJyaMegami_DrawExplode(BgJyaMegami* this, PlayState* play) { Matrix_Translate(sPiecesInit[i].unk_00.x * -10.0f, sPiecesInit[i].unk_00.y * -10.0f, sPiecesInit[i].unk_00.z * -10.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_jya_megami.c", 778), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_jya_megami.c", 778), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, sDLists[i]); } diff --git a/src/overlays/actors/ovl_Bg_Menkuri_Eye/z_bg_menkuri_eye.c b/src/overlays/actors/ovl_Bg_Menkuri_Eye/z_bg_menkuri_eye.c index f261f258f0..a52473acab 100644 --- a/src/overlays/actors/ovl_Bg_Menkuri_Eye/z_bg_menkuri_eye.c +++ b/src/overlays/actors/ovl_Bg_Menkuri_Eye/z_bg_menkuri_eye.c @@ -26,7 +26,7 @@ ActorInit Bg_Menkuri_Eye_InitVars = { /**/ BgMenkuriEye_Draw, }; -static s32 D_8089C1A0; +static s32 sNumEyesShot; static ColliderJntSphElementInit sJntSphElementsInit[1] = { { @@ -72,7 +72,7 @@ void BgMenkuriEye_Init(Actor* thisx, PlayState* play) { colliderList = this->collider.elements; colliderList->dim.worldSphere.radius = colliderList->dim.modelSphere.radius; if (!Flags_GetSwitch(play, this->actor.params)) { - D_8089C1A0 = 0; + sNumEyesShot = 0; } this->framesUntilDisable = -1; } @@ -93,7 +93,7 @@ void BgMenkuriEye_Update(Actor* thisx, PlayState* play) { } if (this->framesUntilDisable == 0) { this->framesUntilDisable = -1; - D_8089C1A0--; + sNumEyesShot--; } } } @@ -102,11 +102,11 @@ void BgMenkuriEye_Update(Actor* thisx, PlayState* play) { this->collider.base.acFlags &= ~AC_HIT; if (this->framesUntilDisable == -1) { Actor_PlaySfx(&this->actor, NA_SE_EN_AMOS_DAMAGE); - D_8089C1A0++; - D_8089C1A0 = CLAMP_MAX(D_8089C1A0, 4); + sNumEyesShot++; + sNumEyesShot = CLAMP_MAX(sNumEyesShot, 4); } this->framesUntilDisable = 416; - if (D_8089C1A0 == 4) { + if (sNumEyesShot == 4) { Flags_SetSwitch(play, this->actor.params); Sfx_PlaySfxCentered(NA_SE_SY_CORRECT_CHIME); } @@ -133,7 +133,7 @@ void BgMenkuriEye_Draw(Actor* thisx, PlayState* play) { Matrix_Translate(this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, MTXMODE_NEW); Matrix_RotateZYX(this->actor.world.rot.x, this->actor.world.rot.y, this->actor.world.rot.z, MTXMODE_APPLY); Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_menkuri_eye.c", 331), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_menkuri_eye.c", 331), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGTGEyeStatueEyeDL); diff --git a/src/overlays/actors/ovl_Bg_Mizu_Bwall/z_bg_mizu_bwall.c b/src/overlays/actors/ovl_Bg_Mizu_Bwall/z_bg_mizu_bwall.c index 70c6a7feea..63b9da19e0 100644 --- a/src/overlays/actors/ovl_Bg_Mizu_Bwall/z_bg_mizu_bwall.c +++ b/src/overlays/actors/ovl_Bg_Mizu_Bwall/z_bg_mizu_bwall.c @@ -519,7 +519,7 @@ void BgMizuBwall_Draw(Actor* thisx, PlayState* play2) { gSPSegment(POLY_OPA_DISP++, 0x0B, Gfx_TwoTexScrollEnvColor(play->state.gfxCtx, G_TX_RENDERTILE, 3 * frames, 0, 0x20, 0x20, 1, 0, 0, 0x20, 0x20, 0, 0, 0, this->scrollAlpha4)); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_mizu_bwall.c", 1129), 2); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_mizu_bwall.c", 1129), 2); if (this->dList != NULL) { gSPDisplayList(POLY_OPA_DISP++, this->dList); diff --git a/src/overlays/actors/ovl_Bg_Mizu_Movebg/z_bg_mizu_movebg.c b/src/overlays/actors/ovl_Bg_Mizu_Movebg/z_bg_mizu_movebg.c index 4ed08e3eb3..9e78921ae4 100644 --- a/src/overlays/actors/ovl_Bg_Mizu_Movebg/z_bg_mizu_movebg.c +++ b/src/overlays/actors/ovl_Bg_Mizu_Movebg/z_bg_mizu_movebg.c @@ -21,9 +21,9 @@ void BgMizuMovebg_Destroy(Actor* thisx, PlayState* play); void BgMizuMovebg_Update(Actor* thisx, PlayState* play); void BgMizuMovebg_Draw(Actor* thisx, PlayState* play2); -void func_8089E318(BgMizuMovebg* this, PlayState* play); -void func_8089E650(BgMizuMovebg* this, PlayState* play); -s32 func_8089E108(Path* pathList, Vec3f* pos, s32 pathId, s32 pointId); +void BgMizuMovebg_UpdateMain(BgMizuMovebg* this, PlayState* play); +void BgMizuMovebg_UpdateHookshotPlatform(BgMizuMovebg* this, PlayState* play); +s32 BgMizuMovebg_SetPosFromPath(Path* pathList, Vec3f* pos, s32 pathId, s32 pointId); ActorInit Bg_Mizu_Movebg_InitVars = { /**/ ACTOR_BG_MIZU_MOVEBG, @@ -37,18 +37,28 @@ ActorInit Bg_Mizu_Movebg_InitVars = { /**/ BgMizuMovebg_Draw, }; -static f32 D_8089EB40[] = { -115.200005f, -115.200005f, -115.200005f, 0.0f }; +static f32 sDragonStatueBossRoomOffsetPosY[] = { -115.200005f, -115.200005f, -115.200005f, 0.0f }; -static Gfx* D_8089EB50[] = { - gObjectMizuObjectsMovebgDL_000190, gObjectMizuObjectsMovebgDL_000680, gObjectMizuObjectsMovebgDL_000C20, - gObjectMizuObjectsMovebgDL_002E10, gObjectMizuObjectsMovebgDL_002E10, gObjectMizuObjectsMovebgDL_002E10, - gObjectMizuObjectsMovebgDL_002E10, gObjectMizuObjectsMovebgDL_0011F0, +static Gfx* sDLists[] = { + gWaterTempleFloatingPlatformOutsideCentralPillarDL, // MIZUMOVEBG_TYPE_FLOATING_PLATFORM_OUTSIDE_CENTER_PILLAR + gWaterTempleFloatingPlatformWestDL, // MIZUMOVEBG_TYPE_FLOATING_PLATFORM_WEST + gWaterTempleFloatingPlatformInsideCentralPillarDL, // MIZUMOVEBG_TYPE_FLOATING_PLATFORM_INSIDE_CENTER_PILLAR + gWaterTempleDragonStatueDL, // MIZUMOVEBG_TYPE_DRAGON_STATUE_BOSS_ROOM + gWaterTempleDragonStatueDL, // MIZUMOVEBG_TYPE_DRAGON_STATUE_2 + gWaterTempleDragonStatueDL, // MIZUMOVEBG_TYPE_DRAGON_STATUE_3 + gWaterTempleDragonStatueDL, // MIZUMOVEBG_TYPE_DRAGON_STATUE_4 + gWaterTempleHookshotPlatformDL, // MIZUMOVEBG_TYPE_HOOKSHOT_PLATFORM }; -static CollisionHeader* D_8089EB70[] = { - &gObjectMizuObjectsMovebgCol_0003F0, &gObjectMizuObjectsMovebgCol_000998, &gObjectMizuObjectsMovebgCol_000ED0, - &gObjectMizuObjectsMovebgCol_003590, &gObjectMizuObjectsMovebgCol_003590, &gObjectMizuObjectsMovebgCol_003590, - &gObjectMizuObjectsMovebgCol_003590, &gObjectMizuObjectsMovebgCol_0015F8, +static CollisionHeader* sColHeaders[] = { + &gWaterTempleFloatingPlatformOutsideCentralPillarCol, // MIZUMOVEBG_TYPE_FLOATING_PLATFORM_OUTSIDE_CENTER_PILLAR + &gWaterTempleFloatingPlatformWestCol, // MIZUMOVEBG_TYPE_FLOATING_PLATFORM_WEST + &gWaterTempleFloatingPlatformInsideCentralPillarCol, // MIZUMOVEBG_TYPE_FLOATING_PLATFORM_INSIDE_CENTER_PILLAR + &gWaterTempleDragonStatueCol, // MIZUMOVEBG_TYPE_DRAGON_STATUE_BOSS_ROOM + &gWaterTempleDragonStatueCol, // MIZUMOVEBG_TYPE_DRAGON_STATUE_2 + &gWaterTempleDragonStatueCol, // MIZUMOVEBG_TYPE_DRAGON_STATUE_3 + &gWaterTempleDragonStatueCol, // MIZUMOVEBG_TYPE_DRAGON_STATUE_4 + &gWaterTempleHookshotPlatformCol, // MIZUMOVEBG_TYPE_HOOKSHOT_PLATFORM }; static InitChainEntry sInitChain[] = { @@ -58,12 +68,12 @@ static InitChainEntry sInitChain[] = { ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP), }; -static Vec3f D_8089EBA0 = { 0.0f, 80.0f, 23.0f }; -static Vec3f D_8089EBAC = { 0.0f, 80.0f, 23.0f }; +static Vec3f sOffsetPosition1 = { 0.0f, 80.0f, 23.0f }; +static Vec3f sOffsetPosition2 = { 0.0f, 80.0f, 23.0f }; -static u8 D_8089EE40; +static u8 D_8089EE40; // unknown flags -s32 func_8089DC30(PlayState* play) { +s32 BgMizuMovebg_GetDragonStatueBossRoomOffsetIndex(PlayState* play) { s32 result; if (Flags_GetSwitch(play, WATER_TEMPLE_WATER_F1_FLAG)) { @@ -82,84 +92,90 @@ void BgMizuMovebg_Init(Actor* thisx, PlayState* play) { s32 type; s32 waypointId; WaterBox* waterBoxes = play->colCtx.colHeader->waterBoxes; - f32 temp; + f32 targetPosY; CollisionHeader* colHeader = NULL; - Vec3f sp48; + Vec3f offsetPos; Actor_ProcessInitChain(thisx, sInitChain); ((BgMizuMovebg*)thisx)->homeY = thisx->world.pos.y; - ((BgMizuMovebg*)thisx)->dlist = D_8089EB50[MOVEBG_TYPE(thisx->params)]; + ((BgMizuMovebg*)thisx)->dList = sDLists[MOVEBG_TYPE(thisx->params)]; DynaPolyActor_Init(&((BgMizuMovebg*)thisx)->dyna, DYNA_TRANSFORM_POS); - CollisionHeader_GetVirtual(D_8089EB70[MOVEBG_TYPE(thisx->params)], &colHeader); + CollisionHeader_GetVirtual(sColHeaders[MOVEBG_TYPE(thisx->params)], &colHeader); ((BgMizuMovebg*)thisx)->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader); type = MOVEBG_TYPE(thisx->params); switch (type) { - case 0: - temp = waterBoxes[2].ySurface + 15.0f; - if (temp < ((BgMizuMovebg*)thisx)->homeY - 700.0f) { + case MIZUMOVEBG_TYPE_FLOATING_PLATFORM_OUTSIDE_CENTER_PILLAR: + targetPosY = waterBoxes[2].ySurface + 15.0f; + if (targetPosY < ((BgMizuMovebg*)thisx)->homeY - 700.0f) { thisx->world.pos.y = ((BgMizuMovebg*)thisx)->homeY - 700.0f; } else { - thisx->world.pos.y = temp; + thisx->world.pos.y = targetPosY; } - ((BgMizuMovebg*)thisx)->actionFunc = func_8089E318; + ((BgMizuMovebg*)thisx)->actionFunc = BgMizuMovebg_UpdateMain; break; - case 1: - temp = waterBoxes[2].ySurface + 15.0f; - if (temp < ((BgMizuMovebg*)thisx)->homeY - 710.0f) { + + case MIZUMOVEBG_TYPE_FLOATING_PLATFORM_WEST: + targetPosY = waterBoxes[2].ySurface + 15.0f; + if (targetPosY < ((BgMizuMovebg*)thisx)->homeY - 710.0f) { thisx->world.pos.y = ((BgMizuMovebg*)thisx)->homeY - 710.0f; } else { - thisx->world.pos.y = temp; + thisx->world.pos.y = targetPosY; } - ((BgMizuMovebg*)thisx)->actionFunc = func_8089E318; + ((BgMizuMovebg*)thisx)->actionFunc = BgMizuMovebg_UpdateMain; break; - case 2: - temp = waterBoxes[2].ySurface + 15.0f; - if (temp < ((BgMizuMovebg*)thisx)->homeY - 700.0f) { + + case MIZUMOVEBG_TYPE_FLOATING_PLATFORM_INSIDE_CENTER_PILLAR: + targetPosY = waterBoxes[2].ySurface + 15.0f; + if (targetPosY < ((BgMizuMovebg*)thisx)->homeY - 700.0f) { thisx->world.pos.y = ((BgMizuMovebg*)thisx)->homeY - 700.0f; } else { - thisx->world.pos.y = temp; + thisx->world.pos.y = targetPosY; } - ((BgMizuMovebg*)thisx)->actionFunc = func_8089E318; + ((BgMizuMovebg*)thisx)->actionFunc = BgMizuMovebg_UpdateMain; break; - case 3: - thisx->world.pos.y = ((BgMizuMovebg*)thisx)->homeY + D_8089EB40[func_8089DC30(play)]; - ((BgMizuMovebg*)thisx)->actionFunc = func_8089E318; + + case MIZUMOVEBG_TYPE_DRAGON_STATUE_BOSS_ROOM: + thisx->world.pos.y = ((BgMizuMovebg*)thisx)->homeY + + sDragonStatueBossRoomOffsetPosY[BgMizuMovebg_GetDragonStatueBossRoomOffsetIndex(play)]; + ((BgMizuMovebg*)thisx)->actionFunc = BgMizuMovebg_UpdateMain; break; - case 4: - case 5: - case 6: + + case MIZUMOVEBG_TYPE_DRAGON_STATUE_2: + case MIZUMOVEBG_TYPE_DRAGON_STATUE_3: + case MIZUMOVEBG_TYPE_DRAGON_STATUE_4: if (Flags_GetSwitch(play, MOVEBG_FLAGS(thisx->params))) { thisx->world.pos.y = ((BgMizuMovebg*)thisx)->homeY + 115.19999999999999; } else { thisx->world.pos.y = ((BgMizuMovebg*)thisx)->homeY; } - ((BgMizuMovebg*)thisx)->actionFunc = func_8089E318; + ((BgMizuMovebg*)thisx)->actionFunc = BgMizuMovebg_UpdateMain; break; - case 7: + + case MIZUMOVEBG_TYPE_HOOKSHOT_PLATFORM: ((BgMizuMovebg*)thisx)->scrollAlpha1 = 160; ((BgMizuMovebg*)thisx)->scrollAlpha2 = 160; ((BgMizuMovebg*)thisx)->scrollAlpha3 = 160; ((BgMizuMovebg*)thisx)->scrollAlpha4 = 160; waypointId = MOVEBG_POINT_ID(thisx->params); ((BgMizuMovebg*)thisx)->waypointId = waypointId; - func_8089E108(play->pathList, &thisx->world.pos, MOVEBG_PATH_ID(thisx->params), waypointId); - ((BgMizuMovebg*)thisx)->actionFunc = func_8089E650; + BgMizuMovebg_SetPosFromPath(play->pathList, &thisx->world.pos, MOVEBG_PATH_ID(thisx->params), waypointId); + ((BgMizuMovebg*)thisx)->actionFunc = BgMizuMovebg_UpdateHookshotPlatform; break; } type = MOVEBG_TYPE(thisx->params); switch (type) { - case 3: - case 4: - case 5: - case 6: + case MIZUMOVEBG_TYPE_DRAGON_STATUE_BOSS_ROOM: + case MIZUMOVEBG_TYPE_DRAGON_STATUE_2: + case MIZUMOVEBG_TYPE_DRAGON_STATUE_3: + case MIZUMOVEBG_TYPE_DRAGON_STATUE_4: Matrix_RotateY(BINANG_TO_RAD(thisx->world.rot.y), MTXMODE_NEW); - Matrix_MultVec3f(&D_8089EBA0, &sp48); + Matrix_MultVec3f(&sOffsetPosition1, &offsetPos); - if (Actor_SpawnAsChild(&play->actorCtx, thisx, play, ACTOR_OBJ_HSBLOCK, thisx->world.pos.x + sp48.x, - thisx->world.pos.y + sp48.y, thisx->world.pos.z + sp48.z, thisx->world.rot.x, - thisx->world.rot.y, thisx->world.rot.z, 2) == NULL) { + if (Actor_SpawnAsChild(&play->actorCtx, thisx, play, ACTOR_OBJ_HSBLOCK, thisx->world.pos.x + offsetPos.x, + thisx->world.pos.y + offsetPos.y, thisx->world.pos.z + offsetPos.z, + thisx->world.rot.x, thisx->world.rot.y, thisx->world.rot.z, 2) == NULL) { Actor_Kill(thisx); } break; @@ -171,15 +187,16 @@ void BgMizuMovebg_Destroy(Actor* thisx, PlayState* play) { DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId); switch (MOVEBG_TYPE(thisx->params)) { - case 3: - case 4: - case 5: - case 6: + case MIZUMOVEBG_TYPE_DRAGON_STATUE_BOSS_ROOM: + case MIZUMOVEBG_TYPE_DRAGON_STATUE_2: + case MIZUMOVEBG_TYPE_DRAGON_STATUE_3: + case MIZUMOVEBG_TYPE_DRAGON_STATUE_4: if (this->sfxFlags & 2) { D_8089EE40 &= ~2; } break; - case 7: + + case MIZUMOVEBG_TYPE_HOOKSHOT_PLATFORM: if (this->sfxFlags & 1) { D_8089EE40 &= ~1; } @@ -187,7 +204,7 @@ void BgMizuMovebg_Destroy(Actor* thisx, PlayState* play) { } } -s32 func_8089E108(Path* pathList, Vec3f* pos, s32 pathId, s32 pointId) { +s32 BgMizuMovebg_SetPosFromPath(Path* pathList, Vec3f* pos, s32 pathId, s32 pointId) { Path* path = pathList; Vec3s* point; @@ -201,7 +218,7 @@ s32 func_8089E108(Path* pathList, Vec3f* pos, s32 pathId, s32 pointId) { return 0; } -void func_8089E198(BgMizuMovebg* this, PlayState* play) { +void BgMizuMovebg_SetScrollAlphas(BgMizuMovebg* this, PlayState* play) { f32 waterLevel = play->colCtx.colHeader->waterBoxes[2].ySurface; if (waterLevel < WATER_TEMPLE_WATER_F1_Y) { @@ -234,36 +251,39 @@ void func_8089E198(BgMizuMovebg* this, PlayState* play) { this->scrollAlpha4 = this->scrollAlpha3; } -void func_8089E318(BgMizuMovebg* this, PlayState* play) { +void BgMizuMovebg_UpdateMain(BgMizuMovebg* this, PlayState* play) { WaterBox* waterBoxes = play->colCtx.colHeader->waterBoxes; - f32 phi_f0; + f32 targetPosY; s32 type; - Vec3f sp28; + Vec3f offsetPos; - func_8089E198(this, play); + BgMizuMovebg_SetScrollAlphas(this, play); type = MOVEBG_TYPE(this->dyna.actor.params); switch (type) { - case 0: - case 2: - phi_f0 = waterBoxes[2].ySurface + 15.0f; - if (phi_f0 < this->homeY - 700.0f) { + case MIZUMOVEBG_TYPE_FLOATING_PLATFORM_OUTSIDE_CENTER_PILLAR: + case MIZUMOVEBG_TYPE_FLOATING_PLATFORM_INSIDE_CENTER_PILLAR: + targetPosY = waterBoxes[2].ySurface + 15.0f; + if (targetPosY < this->homeY - 700.0f) { this->dyna.actor.world.pos.y = this->homeY - 700.0f; } else { - this->dyna.actor.world.pos.y = phi_f0; + this->dyna.actor.world.pos.y = targetPosY; } break; - case 1: - phi_f0 = waterBoxes[2].ySurface + 15.0f; - if (phi_f0 < this->homeY - 710.0f) { + + case MIZUMOVEBG_TYPE_FLOATING_PLATFORM_WEST: + targetPosY = waterBoxes[2].ySurface + 15.0f; + if (targetPosY < this->homeY - 710.0f) { this->dyna.actor.world.pos.y = this->homeY - 710.0f; } else { - this->dyna.actor.world.pos.y = phi_f0; + this->dyna.actor.world.pos.y = targetPosY; } break; - case 3: - phi_f0 = this->homeY + D_8089EB40[func_8089DC30(play)]; - if (!Math_StepToF(&this->dyna.actor.world.pos.y, phi_f0, 1.0f)) { + + case MIZUMOVEBG_TYPE_DRAGON_STATUE_BOSS_ROOM: + targetPosY = + this->homeY + sDragonStatueBossRoomOffsetPosY[BgMizuMovebg_GetDragonStatueBossRoomOffsetIndex(play)]; + if (!Math_StepToF(&this->dyna.actor.world.pos.y, targetPosY, 1.0f)) { if (!(D_8089EE40 & 2) && MOVEBG_SPEED(this->dyna.actor.params) != 0) { D_8089EE40 |= 2; this->sfxFlags |= 2; @@ -277,15 +297,16 @@ void func_8089E318(BgMizuMovebg* this, PlayState* play) { } } break; - case 4: - case 5: - case 6: + + case MIZUMOVEBG_TYPE_DRAGON_STATUE_2: + case MIZUMOVEBG_TYPE_DRAGON_STATUE_3: + case MIZUMOVEBG_TYPE_DRAGON_STATUE_4: if (Flags_GetSwitch(play, MOVEBG_FLAGS(this->dyna.actor.params))) { - phi_f0 = this->homeY + 115.200005f; + targetPosY = this->homeY + 115.200005f; } else { - phi_f0 = this->homeY; + targetPosY = this->homeY; } - if (!Math_StepToF(&this->dyna.actor.world.pos.y, phi_f0, 1.0f)) { + if (!Math_StepToF(&this->dyna.actor.world.pos.y, targetPosY, 1.0f)) { if (!(D_8089EE40 & 2) && MOVEBG_SPEED(this->dyna.actor.params) != 0) { D_8089EE40 |= 2; this->sfxFlags |= 2; @@ -299,23 +320,23 @@ void func_8089E318(BgMizuMovebg* this, PlayState* play) { type = MOVEBG_TYPE(this->dyna.actor.params); switch (type) { - case 3: - case 4: - case 5: - case 6: + case MIZUMOVEBG_TYPE_DRAGON_STATUE_BOSS_ROOM: + case MIZUMOVEBG_TYPE_DRAGON_STATUE_2: + case MIZUMOVEBG_TYPE_DRAGON_STATUE_3: + case MIZUMOVEBG_TYPE_DRAGON_STATUE_4: if (play->roomCtx.curRoom.num == this->dyna.actor.room) { Matrix_RotateY(BINANG_TO_RAD(this->dyna.actor.world.rot.y), MTXMODE_NEW); - Matrix_MultVec3f(&D_8089EBAC, &sp28); - this->dyna.actor.child->world.pos.x = this->dyna.actor.world.pos.x + sp28.x; - this->dyna.actor.child->world.pos.y = this->dyna.actor.world.pos.y + sp28.y; - this->dyna.actor.child->world.pos.z = this->dyna.actor.world.pos.z + sp28.z; + Matrix_MultVec3f(&sOffsetPosition2, &offsetPos); + this->dyna.actor.child->world.pos.x = this->dyna.actor.world.pos.x + offsetPos.x; + this->dyna.actor.child->world.pos.y = this->dyna.actor.world.pos.y + offsetPos.y; + this->dyna.actor.child->world.pos.z = this->dyna.actor.world.pos.z + offsetPos.z; this->dyna.actor.child->flags &= ~ACTOR_FLAG_0; } break; } } -void func_8089E650(BgMizuMovebg* this, PlayState* play) { +void BgMizuMovebg_UpdateHookshotPlatform(BgMizuMovebg* this, PlayState* play) { Vec3f waypoint; f32 dist; f32 dx; @@ -323,7 +344,7 @@ void func_8089E650(BgMizuMovebg* this, PlayState* play) { f32 dz; this->dyna.actor.speed = MOVEBG_SPEED(this->dyna.actor.params) * 0.1f; - func_8089E108(play->pathList, &waypoint, MOVEBG_PATH_ID(this->dyna.actor.params), this->waypointId); + BgMizuMovebg_SetPosFromPath(play->pathList, &waypoint, MOVEBG_PATH_ID(this->dyna.actor.params), this->waypointId); dist = Actor_WorldDistXYZToPoint(&this->dyna.actor, &waypoint); if (dist < this->dyna.actor.speed) { this->dyna.actor.speed = dist; @@ -337,7 +358,8 @@ void func_8089E650(BgMizuMovebg* this, PlayState* play) { this->waypointId++; if (this->waypointId >= play->pathList[MOVEBG_PATH_ID(this->dyna.actor.params)].count) { this->waypointId = 0; - func_8089E108(play->pathList, &this->dyna.actor.world.pos, MOVEBG_PATH_ID(this->dyna.actor.params), 0); + BgMizuMovebg_SetPosFromPath(play->pathList, &this->dyna.actor.world.pos, + MOVEBG_PATH_ID(this->dyna.actor.params), 0); } } if (!(D_8089EE40 & 1) && MOVEBG_SPEED(this->dyna.actor.params) != 0) { @@ -383,11 +405,11 @@ void BgMizuMovebg_Draw(Actor* thisx, PlayState* play2) { Gfx_TwoTexScrollEnvColor(play->state.gfxCtx, G_TX_RENDERTILE, frames * 3, 0, 32, 32, 1, 0, 0, 32, 32, 0, 0, 0, this->scrollAlpha4)); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_mizu_movebg.c", 788), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_mizu_movebg.c", 788), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - if (this->dlist != NULL) { - gSPDisplayList(POLY_OPA_DISP++, this->dlist); + if (this->dList != NULL) { + gSPDisplayList(POLY_OPA_DISP++, this->dList); } CLOSE_DISPS(play->state.gfxCtx, "../z_bg_mizu_movebg.c", 795); diff --git a/src/overlays/actors/ovl_Bg_Mizu_Movebg/z_bg_mizu_movebg.h b/src/overlays/actors/ovl_Bg_Mizu_Movebg/z_bg_mizu_movebg.h index 8b5218e4be..1a378f13a5 100644 --- a/src/overlays/actors/ovl_Bg_Mizu_Movebg/z_bg_mizu_movebg.h +++ b/src/overlays/actors/ovl_Bg_Mizu_Movebg/z_bg_mizu_movebg.h @@ -4,6 +4,18 @@ #include "ultra64.h" #include "global.h" +typedef enum BgMizuMovebgType { + /* 0 */ MIZUMOVEBG_TYPE_FLOATING_PLATFORM_OUTSIDE_CENTER_PILLAR, + /* 1 */ MIZUMOVEBG_TYPE_FLOATING_PLATFORM_WEST, + /* 2 */ MIZUMOVEBG_TYPE_FLOATING_PLATFORM_INSIDE_CENTER_PILLAR, + /* 3 */ MIZUMOVEBG_TYPE_DRAGON_STATUE_BOSS_ROOM, // Dragon Statue leading to the Water Temple boss room + /* 4 */ MIZUMOVEBG_TYPE_DRAGON_STATUE_2, // Same behavior as ``MIZUMOVEBG_TYPE_DRAGON_STATUE_3`` + /* 5 */ MIZUMOVEBG_TYPE_DRAGON_STATUE_3, // Dragon Statues used in Water Temple puzzles + /* 6 */ MIZUMOVEBG_TYPE_DRAGON_STATUE_4, // Same behavior as ``MIZUMOVEBG_TYPE_DRAGON_STATUE_3`` + /* 7 */ MIZUMOVEBG_TYPE_HOOKSHOT_PLATFORM, + /* 8 */ MIZUMOVEBG_TYPE_MAX +} BgMizuMovebgType; + struct BgMizuMovebg; typedef void (*BgMizuMovebgActionFunc)(struct BgMizuMovebg*, PlayState*); @@ -17,7 +29,7 @@ typedef struct BgMizuMovebg { /* 0x0174 */ s32 scrollAlpha3; /* 0x0178 */ s32 scrollAlpha4; /* 0x017C */ u8 sfxFlags; - /* 0x0180 */ Gfx* dlist; + /* 0x0180 */ Gfx* dList; /* 0x0184 */ s32 waypointId; } BgMizuMovebg; // size = 0x0188 diff --git a/src/overlays/actors/ovl_Bg_Mizu_Shutter/z_bg_mizu_shutter.c b/src/overlays/actors/ovl_Bg_Mizu_Shutter/z_bg_mizu_shutter.c index bda7e6d7aa..a547fde73c 100644 --- a/src/overlays/actors/ovl_Bg_Mizu_Shutter/z_bg_mizu_shutter.c +++ b/src/overlays/actors/ovl_Bg_Mizu_Shutter/z_bg_mizu_shutter.c @@ -160,7 +160,7 @@ void BgMizuShutter_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_bg_mizu_shutter.c", 410); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_mizu_shutter.c", 415), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_mizu_shutter.c", 415), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->displayList != NULL) { diff --git a/src/overlays/actors/ovl_Bg_Mizu_Water/z_bg_mizu_water.c b/src/overlays/actors/ovl_Bg_Mizu_Water/z_bg_mizu_water.c index 2e0ebc0436..038acf6390 100644 --- a/src/overlays/actors/ovl_Bg_Mizu_Water/z_bg_mizu_water.c +++ b/src/overlays/actors/ovl_Bg_Mizu_Water/z_bg_mizu_water.c @@ -336,7 +336,7 @@ void BgMizuWater_Draw(Actor* thisx, PlayState* play) { Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, -gameplayFrames * 1, gameplayFrames * 1, 32, 32, 1, 0, -gameplayFrames * 1, 32, 32)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_mizu_water.c", 749), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_mizu_water.c", 749), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 255, 128); diff --git a/src/overlays/actors/ovl_Bg_Mjin/z_bg_mjin.c b/src/overlays/actors/ovl_Bg_Mjin/z_bg_mjin.c index da67fd7bef..4463a4f79b 100644 --- a/src/overlays/actors/ovl_Bg_Mjin/z_bg_mjin.c +++ b/src/overlays/actors/ovl_Bg_Mjin/z_bg_mjin.c @@ -119,7 +119,7 @@ void BgMjin_Draw(Actor* thisx, PlayState* play) { } Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_mjin.c", 285), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_mjin.c", 285), G_MTX_NOPUSH | G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, dlist); diff --git a/src/overlays/actors/ovl_Bg_Mori_Bigst/z_bg_mori_bigst.c b/src/overlays/actors/ovl_Bg_Mori_Bigst/z_bg_mori_bigst.c index 6ded26be27..7d103330fb 100644 --- a/src/overlays/actors/ovl_Bg_Mori_Bigst/z_bg_mori_bigst.c +++ b/src/overlays/actors/ovl_Bg_Mori_Bigst/z_bg_mori_bigst.c @@ -250,7 +250,7 @@ void BgMoriBigst_Draw(Actor* thisx, PlayState* play) { gSPSegment(POLY_OPA_DISP++, 0x08, play->objectCtx.slots[this->moriTexObjectSlot].segment); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_mori_bigst.c", 548), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_mori_bigst.c", 548), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gMoriBigstDL); diff --git a/src/overlays/actors/ovl_Bg_Mori_Elevator/z_bg_mori_elevator.c b/src/overlays/actors/ovl_Bg_Mori_Elevator/z_bg_mori_elevator.c index d00c0e93c8..d673d61b2b 100644 --- a/src/overlays/actors/ovl_Bg_Mori_Elevator/z_bg_mori_elevator.c +++ b/src/overlays/actors/ovl_Bg_Mori_Elevator/z_bg_mori_elevator.c @@ -256,7 +256,7 @@ void BgMoriElevator_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x08, play->objectCtx.slots[this->moriTexObjectSlot].segment); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_mori_elevator.c", 580), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_mori_elevator.c", 580), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gMoriElevatorDL); diff --git a/src/overlays/actors/ovl_Bg_Mori_Hashigo/z_bg_mori_hashigo.c b/src/overlays/actors/ovl_Bg_Mori_Hashigo/z_bg_mori_hashigo.c index 00e35a1c23..7510f4245c 100644 --- a/src/overlays/actors/ovl_Bg_Mori_Hashigo/z_bg_mori_hashigo.c +++ b/src/overlays/actors/ovl_Bg_Mori_Hashigo/z_bg_mori_hashigo.c @@ -287,7 +287,7 @@ void BgMoriHashigo_Draw(Actor* thisx, PlayState* play) { if (1) {} gSPSegment(POLY_OPA_DISP++, 0x08, play->objectCtx.slots[this->moriTexObjectSlot].segment); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_mori_hashigo.c", 521), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_mori_hashigo.c", 521), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); switch (this->dyna.actor.params) { diff --git a/src/overlays/actors/ovl_Bg_Mori_Hashira4/z_bg_mori_hashira4.c b/src/overlays/actors/ovl_Bg_Mori_Hashira4/z_bg_mori_hashira4.c index 446fe5c46e..122046aaec 100644 --- a/src/overlays/actors/ovl_Bg_Mori_Hashira4/z_bg_mori_hashira4.c +++ b/src/overlays/actors/ovl_Bg_Mori_Hashira4/z_bg_mori_hashira4.c @@ -165,7 +165,7 @@ void BgMoriHashira4_Draw(Actor* thisx, PlayState* play) { gSPSegment(POLY_OPA_DISP++, 0x08, play->objectCtx.slots[this->moriTexObjectSlot].segment); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_mori_hashira4.c", 344), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_mori_hashira4.c", 344), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, sDisplayLists[this->dyna.actor.params]); diff --git a/src/overlays/actors/ovl_Bg_Mori_Hineri/z_bg_mori_hineri.c b/src/overlays/actors/ovl_Bg_Mori_Hineri/z_bg_mori_hineri.c index 609ff25a9b..b6c0d9c9bb 100644 --- a/src/overlays/actors/ovl_Bg_Mori_Hineri/z_bg_mori_hineri.c +++ b/src/overlays/actors/ovl_Bg_Mori_Hineri/z_bg_mori_hineri.c @@ -169,7 +169,7 @@ void func_808A3C8C(BgMoriHineri* this, PlayState* play) { f0 = 1100.0f - (player->actor.world.pos.z - this->dyna.actor.world.pos.z); this->dyna.actor.shape.rot.z = CLAMP(f0, 0.0f, 1000.0f) * 16.384f; - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON1); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON1); if (this->dyna.actor.params != 0) { this->dyna.actor.shape.rot.z = -this->dyna.actor.shape.rot.z; } @@ -230,7 +230,7 @@ void BgMoriHineri_DrawHallAndRoom(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x08, play->objectCtx.slots[this->moriTexObjectSlot].segment); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_mori_hineri.c", 618), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_mori_hineri.c", 618), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, sDLists[this->dyna.actor.params]); if (this->boxObjectSlot > 0) { @@ -245,7 +245,7 @@ void BgMoriHineri_DrawHallAndRoom(Actor* thisx, PlayState* play) { } Matrix_RotateZYX(0, -0x8000, this->dyna.actor.shape.rot.z, MTXMODE_APPLY); Matrix_Translate(0.0f, -50.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_mori_hineri.c", 652), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_mori_hineri.c", 652), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gDungeonDoorDL); } @@ -257,7 +257,7 @@ void BgMoriHineri_DrawHallAndRoom(Actor* thisx, PlayState* play) { Matrix_Translate(147.0f, -245.0f, -453.0f, MTXMODE_APPLY); Matrix_RotateY(M_PI / 2, MTXMODE_APPLY); Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_mori_hineri.c", 689), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_mori_hineri.c", 689), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gTreasureChestBossKeyChestFrontDL); Matrix_Put(&mtx); @@ -268,7 +268,7 @@ void BgMoriHineri_DrawHallAndRoom(Actor* thisx, PlayState* play) { Matrix_RotateZ(M_PI, MTXMODE_APPLY); } Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_mori_hineri.c", 703), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_mori_hineri.c", 703), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gTreasureChestBossKeyChestSideAndTopDL); } diff --git a/src/overlays/actors/ovl_Bg_Mori_Idomizu/z_bg_mori_idomizu.c b/src/overlays/actors/ovl_Bg_Mori_Idomizu/z_bg_mori_idomizu.c index ec21c743c4..3654c3c0d4 100644 --- a/src/overlays/actors/ovl_Bg_Mori_Idomizu/z_bg_mori_idomizu.c +++ b/src/overlays/actors/ovl_Bg_Mori_Idomizu/z_bg_mori_idomizu.c @@ -166,7 +166,7 @@ void BgMoriIdomizu_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_mori_idomizu.c", 360), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_mori_idomizu.c", 360), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, play->objectCtx.slots[this->moriTexObjectSlot].segment); diff --git a/src/overlays/actors/ovl_Bg_Mori_Kaitenkabe/z_bg_mori_kaitenkabe.c b/src/overlays/actors/ovl_Bg_Mori_Kaitenkabe/z_bg_mori_kaitenkabe.c index 0934158103..8c5554caa3 100644 --- a/src/overlays/actors/ovl_Bg_Mori_Kaitenkabe/z_bg_mori_kaitenkabe.c +++ b/src/overlays/actors/ovl_Bg_Mori_Kaitenkabe/z_bg_mori_kaitenkabe.c @@ -165,7 +165,7 @@ void BgMoriKaitenkabe_Draw(Actor* thisx, PlayState* play) { gSPSegment(POLY_OPA_DISP++, 0x08, play->objectCtx.slots[this->moriTexObjectSlot].segment); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_mori_kaitenkabe.c", 352), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_mori_kaitenkabe.c", 352), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gMoriKaitenkabeDL); diff --git a/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.c b/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.c index b76181daca..c9fb615e67 100644 --- a/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.c +++ b/src/overlays/actors/ovl_Bg_Mori_Rakkatenjo/z_bg_mori_rakkatenjo.c @@ -210,11 +210,11 @@ void BgMoriRakkatenjo_Update(Actor* thisx, PlayState* play) { osSyncPrintf("camera changed (mori rakka tenjyo) ... \n"); sCamSetting = play->cameraPtrs[CAM_ID_MAIN]->setting; Camera_SetCameraData(play->cameraPtrs[CAM_ID_MAIN], 1, &this->dyna.actor, NULL, 0, 0, 0); - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_FOREST_BIRDS_EYE); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_FOREST_BIRDS_EYE); } } else if (sCamSetting != CAM_SET_NONE) { osSyncPrintf("camera changed (previous) ... \n"); - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON1); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON1); sCamSetting = CAM_SET_NONE; } } @@ -228,7 +228,7 @@ void BgMoriRakkatenjo_Draw(Actor* thisx, PlayState* play) { gSPSegment(POLY_OPA_DISP++, 0x08, play->objectCtx.slots[this->moriTexObjectSlot].segment); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_mori_rakkatenjo.c", 502), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_mori_rakkatenjo.c", 502), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gMoriRakkatenjoDL); diff --git a/src/overlays/actors/ovl_Bg_Po_Event/z_bg_po_event.c b/src/overlays/actors/ovl_Bg_Po_Event/z_bg_po_event.c index 4d6b17ed9c..51a3faed85 100644 --- a/src/overlays/actors/ovl_Bg_Po_Event/z_bg_po_event.c +++ b/src/overlays/actors/ovl_Bg_Po_Event/z_bg_po_event.c @@ -612,7 +612,7 @@ void BgPoEvent_Draw(Actor* thisx, PlayState* play) { } gDPSetEnvColor(POLY_OPA_DISP++, 255, 255, 255, alpha); } - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_po_event.c", 1501), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_po_event.c", 1501), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, displayLists[this->type]); CLOSE_DISPS(play->state.gfxCtx, "../z_bg_po_event.c", 1508); diff --git a/src/overlays/actors/ovl_Bg_Po_Syokudai/z_bg_po_syokudai.c b/src/overlays/actors/ovl_Bg_Po_Syokudai/z_bg_po_syokudai.c index b55da67591..4008fe167e 100644 --- a/src/overlays/actors/ovl_Bg_Po_Syokudai/z_bg_po_syokudai.c +++ b/src/overlays/actors/ovl_Bg_Po_Syokudai/z_bg_po_syokudai.c @@ -150,7 +150,7 @@ void BgPoSyokudai_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_bg_po_syokudai.c", 315); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_po_syokudai.c", 319), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_po_syokudai.c", 319), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gGoldenTorchDL); @@ -180,7 +180,7 @@ void BgPoSyokudai_Draw(Actor* thisx, PlayState* play) { MTXMODE_APPLY); Matrix_Scale(0.0027f, 0.0027f, 0.0027f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_po_syokudai.c", 368), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_po_syokudai.c", 368), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffFire1DL); } diff --git a/src/overlays/actors/ovl_Bg_Pushbox/z_bg_pushbox.c b/src/overlays/actors/ovl_Bg_Pushbox/z_bg_pushbox.c index ad76db38b7..ef5e59d667 100644 --- a/src/overlays/actors/ovl_Bg_Pushbox/z_bg_pushbox.c +++ b/src/overlays/actors/ovl_Bg_Pushbox/z_bg_pushbox.c @@ -81,7 +81,7 @@ void BgPushbox_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_bg_pushbox.c", 263); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_pushbox.c", 269), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_pushbox.c", 269), G_MTX_NOPUSH | G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, gBlockSmallDL); diff --git a/src/overlays/actors/ovl_Bg_Spot00_Hanebasi/z_bg_spot00_hanebasi.c b/src/overlays/actors/ovl_Bg_Spot00_Hanebasi/z_bg_spot00_hanebasi.c index 6ba46e9b44..3a8815ea2f 100644 --- a/src/overlays/actors/ovl_Bg_Spot00_Hanebasi/z_bg_spot00_hanebasi.c +++ b/src/overlays/actors/ovl_Bg_Spot00_Hanebasi/z_bg_spot00_hanebasi.c @@ -276,7 +276,7 @@ void BgSpot00Hanebasi_DrawTorches(Actor* thisx, PlayState* play2) { Matrix_RotateY(angle, MTXMODE_APPLY); Matrix_Scale(sTorchFlameScale, sTorchFlameScale, sTorchFlameScale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot00_hanebasi.c", 674), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot00_hanebasi.c", 674), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffFire1DL); } @@ -292,7 +292,7 @@ void BgSpot00Hanebasi_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot00_hanebasi.c", 702), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot00_hanebasi.c", 702), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (thisx->params == DT_DRAWBRIDGE) { diff --git a/src/overlays/actors/ovl_Bg_Spot01_Fusya/z_bg_spot01_fusya.c b/src/overlays/actors/ovl_Bg_Spot01_Fusya/z_bg_spot01_fusya.c index 6ba15c510a..f2306ac6b7 100644 --- a/src/overlays/actors/ovl_Bg_Spot01_Fusya/z_bg_spot01_fusya.c +++ b/src/overlays/actors/ovl_Bg_Spot01_Fusya/z_bg_spot01_fusya.c @@ -79,7 +79,7 @@ void BgSpot01Fusya_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot01_fusya.c", 214), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot01_fusya.c", 214), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gKakarikoWindmillSailsDL); diff --git a/src/overlays/actors/ovl_Bg_Spot01_Idohashira/z_bg_spot01_idohashira.c b/src/overlays/actors/ovl_Bg_Spot01_Idohashira/z_bg_spot01_idohashira.c index 34ed9a6ae0..99d3e41ea4 100644 --- a/src/overlays/actors/ovl_Bg_Spot01_Idohashira/z_bg_spot01_idohashira.c +++ b/src/overlays/actors/ovl_Bg_Spot01_Idohashira/z_bg_spot01_idohashira.c @@ -325,7 +325,7 @@ void func_808AB700(BgSpot01Idohashira* this, PlayState* play) { Gfx_SetupDL_25Opa(localGfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(localGfxCtx, "../z_bg_spot01_idohashira.c", 699), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(localGfxCtx, "../z_bg_spot01_idohashira.c", 699), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); func_808AAF34(this, play); gSPDisplayList(POLY_OPA_DISP++, gKakarikoWellArchDL); diff --git a/src/overlays/actors/ovl_Bg_Spot01_Idomizu/z_bg_spot01_idomizu.c b/src/overlays/actors/ovl_Bg_Spot01_Idomizu/z_bg_spot01_idomizu.c index 1432f68de6..4b1ec00adf 100644 --- a/src/overlays/actors/ovl_Bg_Spot01_Idomizu/z_bg_spot01_idomizu.c +++ b/src/overlays/actors/ovl_Bg_Spot01_Idomizu/z_bg_spot01_idomizu.c @@ -73,7 +73,7 @@ void BgSpot01Idomizu_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot01_idomizu.c", 232), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot01_idomizu.c", 232), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); frames = play->state.frames; diff --git a/src/overlays/actors/ovl_Bg_Spot01_Idosoko/z_bg_spot01_idosoko.c b/src/overlays/actors/ovl_Bg_Spot01_Idosoko/z_bg_spot01_idosoko.c index be096b3b52..0acc4f2073 100644 --- a/src/overlays/actors/ovl_Bg_Spot01_Idosoko/z_bg_spot01_idosoko.c +++ b/src/overlays/actors/ovl_Bg_Spot01_Idosoko/z_bg_spot01_idosoko.c @@ -73,7 +73,7 @@ void BgSpot01Idosoko_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot01_idosoko.c", 166), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot01_idosoko.c", 166), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gKakarikoBOTWStoneDL); diff --git a/src/overlays/actors/ovl_Bg_Spot02_Objects/z_bg_spot02_objects.c b/src/overlays/actors/ovl_Bg_Spot02_Objects/z_bg_spot02_objects.c index 72e2ddeef9..db26994676 100644 --- a/src/overlays/actors/ovl_Bg_Spot02_Objects/z_bg_spot02_objects.c +++ b/src/overlays/actors/ovl_Bg_Spot02_Objects/z_bg_spot02_objects.c @@ -253,7 +253,7 @@ void func_808ACCB8(Actor* thisx, PlayState* play) { gDPPipeSync(POLY_XLU_DISP++); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, redPrim, greenPrim, bluePrim, 255); gDPSetEnvColor(POLY_XLU_DISP++, redEnv, greenEnv, blueEnv, 255); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot02_objects.c", 679), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot02_objects.c", 679), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_808AD850[this->unk_16A])); gDPPipeSync(POLY_XLU_DISP++); @@ -313,7 +313,7 @@ void func_808AD450(Actor* thisx, PlayState* play) { gDPPipeSync(POLY_XLU_DISP++); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 170, 128); gDPSetEnvColor(POLY_XLU_DISP++, 150, 120, 0, 128); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot02_objects.c", 795), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot02_objects.c", 795), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 2 * this->timer, -3 * this->timer, 32, 64, diff --git a/src/overlays/actors/ovl_Bg_Spot03_Taki/z_bg_spot03_taki.c b/src/overlays/actors/ovl_Bg_Spot03_Taki/z_bg_spot03_taki.c index 8ff5498c2f..ff24dcc5ca 100644 --- a/src/overlays/actors/ovl_Bg_Spot03_Taki/z_bg_spot03_taki.c +++ b/src/overlays/actors/ovl_Bg_Spot03_Taki/z_bg_spot03_taki.c @@ -122,7 +122,7 @@ void BgSpot03Taki_Draw(Actor* thisx, PlayState* play) { gameplayFrames = play->gameplayFrames; - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot03_taki.c", 325), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot03_taki.c", 325), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Gfx_SetupDL_25Xlu(play->state.gfxCtx); diff --git a/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c b/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c index 51cf8697d1..fc5a1e0392 100644 --- a/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c +++ b/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c @@ -354,7 +354,7 @@ void BgSpot06Objects_LockSwimToSurface(BgSpot06Objects* this, PlayState* play) { cos = Math_CosS(this->dyna.actor.shape.rot.x) * 4.3f; this->dyna.actor.world.pos.x += (cos * Math_SinS(this->dyna.actor.shape.rot.y)); this->dyna.actor.world.pos.z += (cos * Math_CosS(this->dyna.actor.shape.rot.y)); - this->dyna.actor.world.pos.y = this->dyna.actor.world.pos.y - 1.3f; + this->dyna.actor.world.pos.y -= 1.3f; BgSpot06Objects_LockSpawnWaterRipples(this, play, 0); if (Math_ScaledStepToS(&this->dyna.actor.shape.rot.x, 0, 0x260) != 0) { @@ -431,7 +431,7 @@ void BgSpot06Objects_DrawLakeHyliaWater(BgSpot06Objects* this, PlayState* play) Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot06_objects.c", 850), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot06_objects.c", 850), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gameplayFrames = play->state.frames; diff --git a/src/overlays/actors/ovl_Bg_Spot07_Taki/z_bg_spot07_taki.c b/src/overlays/actors/ovl_Bg_Spot07_Taki/z_bg_spot07_taki.c index 7c53151571..c88235dbfd 100644 --- a/src/overlays/actors/ovl_Bg_Spot07_Taki/z_bg_spot07_taki.c +++ b/src/overlays/actors/ovl_Bg_Spot07_Taki/z_bg_spot07_taki.c @@ -73,7 +73,7 @@ void BgSpot07Taki_Draw(Actor* thisx, PlayState* play) { frames = play->gameplayFrames; if (LINK_IS_ADULT) { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot07_taki.c", 177), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot07_taki.c", 177), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->dyna.actor.params == 0) { gSPDisplayList(POLY_OPA_DISP++, object_spot07_object_DL_001CF0); @@ -83,7 +83,7 @@ void BgSpot07Taki_Draw(Actor* thisx, PlayState* play) { } Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot07_taki.c", 191), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot07_taki.c", 191), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, diff --git a/src/overlays/actors/ovl_Bg_Spot08_Iceblock/z_bg_spot08_iceblock.c b/src/overlays/actors/ovl_Bg_Spot08_Iceblock/z_bg_spot08_iceblock.c index 6896ba9620..255f60a09b 100644 --- a/src/overlays/actors/ovl_Bg_Spot08_Iceblock/z_bg_spot08_iceblock.c +++ b/src/overlays/actors/ovl_Bg_Spot08_Iceblock/z_bg_spot08_iceblock.c @@ -373,7 +373,7 @@ void BgSpot08Iceblock_FloatRotating(BgSpot08Iceblock* this, PlayState* play) { BgSpot08Iceblock_Bobbing(this); BgSpot08Iceblock_SinkUnderPlayer(this); BgSpot08Iceblock_SetWaterline(this); - this->dyna.actor.world.rot.y = this->dyna.actor.world.rot.y + 0x190; + this->dyna.actor.world.rot.y += 0x190; this->dyna.actor.shape.rot.y = this->dyna.actor.world.rot.y; BgSpot08Iceblock_Roll(this, play); } diff --git a/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.c b/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.c index ba9153cd8e..9160dcdc46 100644 --- a/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.c +++ b/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.c @@ -173,7 +173,7 @@ void BgSpot09Obj_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot09_obj.c", 391), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot09_obj.c", 391), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gCarpentersTentEntranceDL); diff --git a/src/overlays/actors/ovl_Bg_Spot11_Oasis/z_bg_spot11_oasis.c b/src/overlays/actors/ovl_Bg_Spot11_Oasis/z_bg_spot11_oasis.c index c44cdf07ec..c65737af97 100644 --- a/src/overlays/actors/ovl_Bg_Spot11_Oasis/z_bg_spot11_oasis.c +++ b/src/overlays/actors/ovl_Bg_Spot11_Oasis/z_bg_spot11_oasis.c @@ -152,7 +152,7 @@ void BgSpot11Oasis_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_bg_spot11_oasis.c", 327); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot11_oasis.c", 331), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot11_oasis.c", 331), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 127 - (gameplayFrames % 128), diff --git a/src/overlays/actors/ovl_Bg_Spot15_Saku/z_bg_spot15_saku.c b/src/overlays/actors/ovl_Bg_Spot15_Saku/z_bg_spot15_saku.c index 6915ca8a2f..3432321a91 100644 --- a/src/overlays/actors/ovl_Bg_Spot15_Saku/z_bg_spot15_saku.c +++ b/src/overlays/actors/ovl_Bg_Spot15_Saku/z_bg_spot15_saku.c @@ -98,7 +98,7 @@ void BgSpot15Saku_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot15_saku.c", 263), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot15_saku.c", 263), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gLonLonCorralFenceDL); diff --git a/src/overlays/actors/ovl_Bg_Spot16_Bombstone/z_bg_spot16_bombstone.c b/src/overlays/actors/ovl_Bg_Spot16_Bombstone/z_bg_spot16_bombstone.c index 9f8b10ed65..7034420c3c 100644 --- a/src/overlays/actors/ovl_Bg_Spot16_Bombstone/z_bg_spot16_bombstone.c +++ b/src/overlays/actors/ovl_Bg_Spot16_Bombstone/z_bg_spot16_bombstone.c @@ -145,7 +145,7 @@ static s16 D_808B6088[] = { 0, 1, 2, 3, 4 }; void func_808B4C30(BgSpot16Bombstone* this) { this->switchFlag = (this->actor.params >> 8) & 0x3F; - this->actor.params = this->actor.params & 0xFF; + this->actor.params &= 0xFF; } void func_808B4C4C(BgSpot16Bombstone* this, PlayState* play) { @@ -538,7 +538,7 @@ void BgSpot16Bombstone_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot16_bombstone.c", 1257), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot16_bombstone.c", 1257), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->actor.params == 0xFF) { diff --git a/src/overlays/actors/ovl_Bg_Spot16_Doughnut/z_bg_spot16_doughnut.c b/src/overlays/actors/ovl_Bg_Spot16_Doughnut/z_bg_spot16_doughnut.c index f6a3667a02..068917f8f2 100644 --- a/src/overlays/actors/ovl_Bg_Spot16_Doughnut/z_bg_spot16_doughnut.c +++ b/src/overlays/actors/ovl_Bg_Spot16_Doughnut/z_bg_spot16_doughnut.c @@ -127,7 +127,7 @@ void BgSpot16Doughnut_Draw(Actor* thisx, PlayState* play) { if (1) {} - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot16_doughnut.c", 213), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot16_doughnut.c", 213), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->fireFlag & 1) { gSPSegment(POLY_XLU_DISP++, 0x08, @@ -152,7 +152,7 @@ void BgSpot16Doughnut_DrawExpanding(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot16_doughnut.c", 248), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot16_doughnut.c", 248), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 255, this->envColorAlpha); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 255); diff --git a/src/overlays/actors/ovl_Bg_Spot17_Bakudankabe/z_bg_spot17_bakudankabe.c b/src/overlays/actors/ovl_Bg_Spot17_Bakudankabe/z_bg_spot17_bakudankabe.c index 110fc8ce6f..fe22885a6e 100644 --- a/src/overlays/actors/ovl_Bg_Spot17_Bakudankabe/z_bg_spot17_bakudankabe.c +++ b/src/overlays/actors/ovl_Bg_Spot17_Bakudankabe/z_bg_spot17_bakudankabe.c @@ -131,7 +131,7 @@ void BgSpot17Bakudankabe_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 273), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 273), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); r = (r >> 1) + 0xC0; @@ -147,7 +147,7 @@ void BgSpot17Bakudankabe_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 290), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot17_bakudankabe.c", 290), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gCraterBombableWallCracksDL); diff --git a/src/overlays/actors/ovl_Bg_Spot17_Funen/z_bg_spot17_funen.c b/src/overlays/actors/ovl_Bg_Spot17_Funen/z_bg_spot17_funen.c index d44343d61e..0872bc4dbb 100644 --- a/src/overlays/actors/ovl_Bg_Spot17_Funen/z_bg_spot17_funen.c +++ b/src/overlays/actors/ovl_Bg_Spot17_Funen/z_bg_spot17_funen.c @@ -60,7 +60,7 @@ void func_808B7478(Actor* thisx, PlayState* play) { Matrix_RotateY((s16)(Camera_GetCamDirYaw(GET_ACTIVE_CAM(play)) - thisx->shape.rot.y + 0x8000) * 9.58738019108e-05f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_spot17_funen.c", 161), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_spot17_funen.c", 161), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0, (0 - play->gameplayFrames) & 0x7F, 0x20, 0x20, diff --git a/src/overlays/actors/ovl_Bg_Spot18_Basket/z_bg_spot18_basket.c b/src/overlays/actors/ovl_Bg_Spot18_Basket/z_bg_spot18_basket.c index da478e534d..394c6a51ca 100644 --- a/src/overlays/actors/ovl_Bg_Spot18_Basket/z_bg_spot18_basket.c +++ b/src/overlays/actors/ovl_Bg_Spot18_Basket/z_bg_spot18_basket.c @@ -249,7 +249,7 @@ void func_808B7D50(BgSpot18Basket* this, PlayState* play) { Math_StepToS(&this->unk_210, 0xBB8, 0x64); } - this->dyna.actor.shape.rot.y = this->dyna.actor.shape.rot.y + this->unk_210; + this->dyna.actor.shape.rot.y += this->unk_210; if (this->unk_216 < 70) { Math_StepToF(&this->unk_208, 100.0f, 2.0f); diff --git a/src/overlays/actors/ovl_Bg_Sst_Floor/z_bg_sst_floor.c b/src/overlays/actors/ovl_Bg_Sst_Floor/z_bg_sst_floor.c index 10dfbeca03..c9c30b37a6 100644 --- a/src/overlays/actors/ovl_Bg_Sst_Floor/z_bg_sst_floor.c +++ b/src/overlays/actors/ovl_Bg_Sst_Floor/z_bg_sst_floor.c @@ -61,9 +61,9 @@ void BgSstFloor_Update(Actor* thisx, PlayState* play) { if (1) {} if (DynaPolyActor_IsPlayerAbove(&this->dyna) && (this->dyna.actor.yDistToPlayer < 1000.0f)) { - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BOSS_BONGO); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BOSS_BONGO); } else { - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0); } if (DynaPolyActor_IsPlayerOnTop(&this->dyna) && (player->fallDistance > 1000.0f)) { @@ -128,7 +128,7 @@ void BgSstFloor_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); Matrix_Scale(1.0f, this->drumHeight * -0.0025f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_sst_floor.c", 283), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_sst_floor.c", 283), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gBongoDrumDL); diff --git a/src/overlays/actors/ovl_Bg_Toki_Hikari/z_bg_toki_hikari.c b/src/overlays/actors/ovl_Bg_Toki_Hikari/z_bg_toki_hikari.c index 93d099d4f8..eafa885cb2 100644 --- a/src/overlays/actors/ovl_Bg_Toki_Hikari/z_bg_toki_hikari.c +++ b/src/overlays/actors/ovl_Bg_Toki_Hikari/z_bg_toki_hikari.c @@ -86,7 +86,7 @@ void func_808BA018(BgTokiHikari* this, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_bg_toki_hikari.c", 246); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_toki_hikari.c", 252), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_toki_hikari.c", 252), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (LINK_IS_ADULT) { @@ -98,7 +98,7 @@ void func_808BA018(BgTokiHikari* this, PlayState* play) { gSPSegment(POLY_XLU_DISP++, 9, Gfx_TexScroll(play->state.gfxCtx, 0, play->gameplayFrames % 128, 64, 32)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_toki_hikari.c", 278), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_toki_hikari.c", 278), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_toki_objects_DL_007EE0); @@ -145,7 +145,7 @@ void func_808BA2CC(BgTokiHikari* this, PlayState* play) { gDPSetEnvColor(POLY_XLU_DISP++, (u8)(this->unk_14C * 155.0f) + 100, (u8)(255.0f * this->unk_14C), 0, 128); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_toki_hikari.c", 382), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_toki_hikari.c", 382), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, @@ -161,7 +161,7 @@ void func_808BA2CC(BgTokiHikari* this, PlayState* play) { gDPSetEnvColor(POLY_XLU_DISP++, (u8)(this->unk_14C * 255.0f), (u8)(this->unk_14C * 255.0f), (u8)(this->unk_14C * 255.0f), (u8)(200.0f * this->unk_14C)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_toki_hikari.c", 415), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_toki_hikari.c", 415), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_toki_objects_DL_0009C0); @@ -173,7 +173,7 @@ void func_808BA2CC(BgTokiHikari* this, PlayState* play) { gDPSetEnvColor(POLY_XLU_DISP++, (u8)(this->unk_14C * 255.0f), (u8)(this->unk_14C * 255.0f), (u8)(this->unk_14C * 255.0f), (u8)(200.0f * this->unk_14C)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_toki_hikari.c", 437), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_toki_hikari.c", 437), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, &object_toki_objects_DL_0009C0[10]); diff --git a/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c b/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c index 6a6301b44e..20f6b63c39 100644 --- a/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c +++ b/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd.c @@ -170,7 +170,7 @@ void BgTokiSwd_Draw(Actor* thisx, PlayState* play2) { func_8002EBCC(&this->actor, play, 0); gSPSegment(POLY_OPA_DISP++, 0x08, Gfx_TexScroll(play->state.gfxCtx, 0, -(play->gameplayFrames % 0x80), 32, 32)); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_toki_swd.c", 742), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_toki_swd.c", 742), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_toki_objects_DL_001BD0); diff --git a/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth.c b/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth.c index d51acdb08f..cdbbba7ef2 100644 --- a/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth.c +++ b/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth.c @@ -247,7 +247,7 @@ void BgTreemouth_Draw(Actor* thisx, PlayState* play) { } gDPSetEnvColor(POLY_OPA_DISP++, 128, 128, 128, alpha * 0.1f); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_treemouth.c", 932), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_treemouth.c", 932), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gDekuTreeMouthDL); diff --git a/src/overlays/actors/ovl_Bg_Vb_Sima/z_bg_vb_sima.c b/src/overlays/actors/ovl_Bg_Vb_Sima/z_bg_vb_sima.c index 333cba465f..6381343658 100644 --- a/src/overlays/actors/ovl_Bg_Vb_Sima/z_bg_vb_sima.c +++ b/src/overlays/actors/ovl_Bg_Vb_Sima/z_bg_vb_sima.c @@ -151,7 +151,7 @@ void BgVbSima_Update(Actor* thisx, PlayState* play) { void BgVbSima_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_bg_vb_sima.c", 285); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_vb_sima.c", 291), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_vb_sima.c", 291), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gVolvagiaPlatformDL); CLOSE_DISPS(play->state.gfxCtx, "../z_bg_vb_sima.c", 296); diff --git a/src/overlays/actors/ovl_Bg_Ydan_Hasi/z_bg_ydan_hasi.c b/src/overlays/actors/ovl_Bg_Ydan_Hasi/z_bg_ydan_hasi.c index 2a5e051c26..706cbdee06 100644 --- a/src/overlays/actors/ovl_Bg_Ydan_Hasi/z_bg_ydan_hasi.c +++ b/src/overlays/actors/ovl_Bg_Ydan_Hasi/z_bg_ydan_hasi.c @@ -45,7 +45,7 @@ void BgYdanHasi_Init(Actor* thisx, PlayState* play) { Actor_ProcessInitChain(thisx, sInitChain); this->type = ((thisx->params >> 8) & 0x3F); - thisx->params = thisx->params & 0xFF; + thisx->params &= 0xFF; waterBox = &play->colCtx.colHeader->waterBoxes[1]; DynaPolyActor_Init(&this->dyna, DYNA_TRANSFORM_POS); if (thisx->params == HASI_WATER) { @@ -183,7 +183,7 @@ void BgYdanHasi_Draw(Actor* thisx, PlayState* play) { Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, -play->gameplayFrames % 128, play->gameplayFrames % 128, 0x20, 0x20, 1, play->gameplayFrames % 128, play->gameplayFrames % 128, 0x20, 0x20)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_ydan_hasi.c", 592), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_ydan_hasi.c", 592), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gDTWaterPlaneDL); diff --git a/src/overlays/actors/ovl_Bg_Ydan_Sp/z_bg_ydan_sp.c b/src/overlays/actors/ovl_Bg_Ydan_Sp/z_bg_ydan_sp.c index 81a4bd928e..03114d1627 100644 --- a/src/overlays/actors/ovl_Bg_Ydan_Sp/z_bg_ydan_sp.c +++ b/src/overlays/actors/ovl_Bg_Ydan_Sp/z_bg_ydan_sp.c @@ -168,7 +168,6 @@ void BgYdanSp_UpdateFloorWebCollision(BgYdanSp* this) { void BgYdanSp_BurnWeb(BgYdanSp* this, PlayState* play) { this->timer = 30; - this = this; Sfx_PlaySfxCentered(NA_SE_SY_CORRECT_CHIME); Flags_SetSwitch(play, this->isDestroyedSwitchFlag); if (this->dyna.actor.params == WEB_FLOOR) { @@ -312,11 +311,7 @@ void BgYdanSp_FloorWebIdle(BgYdanSp* this, PlayState* play) { if (this->unk_16C < 0.1f) { this->timer = 14; } - if (this->unk_16C < 2.0f) { - this->unk_16C = 2.0f; - } else { - this->unk_16C = this->unk_16C; - } + this->unk_16C = CLAMP_MIN(this->unk_16C, 2.0f); } } if (this->timer != 0) { @@ -424,7 +419,7 @@ void BgYdanSp_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_bg_ydan_sp.c", 781); Gfx_SetupDL_25Xlu(play->state.gfxCtx); if (thisx->params == WEB_WALL) { - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_ydan_sp.c", 787), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_ydan_sp.c", 787), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gDTWebWallDL); } else if (this->actionFunc == BgYdanSp_FloorWebBroken) { @@ -432,7 +427,7 @@ void BgYdanSp_Draw(Actor* thisx, PlayState* play) { if (this->timer == 40) { Matrix_Translate(0.0f, (thisx->home.pos.y - thisx->world.pos.y) * 10.0f, 0.0f, MTXMODE_APPLY); Matrix_Scale(1.0f, ((thisx->home.pos.y - thisx->world.pos.y) + 10.0f) * 0.1f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_ydan_sp.c", 808), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_ydan_sp.c", 808), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gDTWebFloorDL); } @@ -441,14 +436,14 @@ void BgYdanSp_Draw(Actor* thisx, PlayState* play) { Matrix_RotateZYX(-0x5A0, i * 0x2000, 0, MTXMODE_APPLY); Matrix_Translate(0.0f, 700.0f, -900.0f, MTXMODE_APPLY); Matrix_Scale(3.5f, 5.0f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_ydan_sp.c", 830), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_ydan_sp.c", 830), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gDTUnknownWebDL); } } else { Matrix_Translate(0.0f, (thisx->home.pos.y - thisx->world.pos.y) * 10.0f, 0.0f, MTXMODE_APPLY); Matrix_Scale(1.0f, ((thisx->home.pos.y - thisx->world.pos.y) + 10.0f) * 0.1f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_bg_ydan_sp.c", 849), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_bg_ydan_sp.c", 849), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gDTWebFloorDL); } diff --git a/src/overlays/actors/ovl_Bg_Zg/z_bg_zg.c b/src/overlays/actors/ovl_Bg_Zg/z_bg_zg.c index e6dc1c4b1b..d21c6d4a65 100644 --- a/src/overlays/actors/ovl_Bg_Zg/z_bg_zg.c +++ b/src/overlays/actors/ovl_Bg_Zg/z_bg_zg.c @@ -107,9 +107,9 @@ void BgZg_Init(Actor* thisx, PlayState* play) { CollisionHeader_GetVirtual(&gTowerCollapseBarsCol, &colHeader); this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader); if ((func_808C0CC8(this) == 8) || (func_808C0CC8(this) == 9)) { - this->dyna.actor.scale.x = this->dyna.actor.scale.x * 1.3f; - this->dyna.actor.scale.z = this->dyna.actor.scale.z * 1.3f; - this->dyna.actor.scale.y = this->dyna.actor.scale.y * 1.2f; + this->dyna.actor.scale.x *= 1.3f; + this->dyna.actor.scale.z *= 1.3f; + this->dyna.actor.scale.y *= 1.2f; } this->action = 0; @@ -125,7 +125,7 @@ void func_808C0EEC(BgZg* this, PlayState* play) { OPEN_DISPS(localGfxCtx, "../z_bg_zg.c", 311); Gfx_SetupDL_25Opa(localGfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(localGfxCtx, "../z_bg_zg.c", 315), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(localGfxCtx, "../z_bg_zg.c", 315), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gTowerCollapseBarsDL); diff --git a/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo.c b/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo.c index 260bfebaf3..632faf17e3 100644 --- a/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo.c +++ b/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo.c @@ -1085,7 +1085,7 @@ s32 BossDodongo_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Ve Matrix_RotateX(-(this->unk_25C[limbIndex] * 0.115f), MTXMODE_APPLY); } - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_dodongo.c", 3822), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_dodongo.c", 3822), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, *dList); Matrix_Pop(); @@ -1225,7 +1225,7 @@ void BossDodongo_SpawnFire(BossDodongo* this, PlayState* play, s16 params) { void BossDodongo_UpdateDamage(BossDodongo* this, PlayState* play) { s32 pad; - ColliderInfo* item; + ColliderElement* acHitElem; u8 swordDamage; s32 damage; s16 i; @@ -1239,11 +1239,12 @@ void BossDodongo_UpdateDamage(BossDodongo* this, PlayState* play) { if (this->unk_1C0 == 0) { if (this->actionFunc == BossDodongo_Inhale) { for (i = 0; i < 19; i++) { - if (this->collider.elements[i].info.bumperFlags & BUMP_HIT) { - item = this->collider.elements[i].info.acHitInfo; + if (this->collider.elements[i].base.bumperFlags & BUMP_HIT) { + acHitElem = this->collider.elements[i].base.acHitElem; - if ((item->toucher.dmgFlags & DMG_BOOMERANG) || (item->toucher.dmgFlags & DMG_SLINGSHOT)) { - this->collider.elements[i].info.bumperFlags &= ~BUMP_HIT; + if ((acHitElem->toucher.dmgFlags & DMG_BOOMERANG) || + (acHitElem->toucher.dmgFlags & DMG_SLINGSHOT)) { + this->collider.elements[i].base.bumperFlags &= ~BUMP_HIT; this->unk_1C0 = 2; BossDodongo_SetupWalk(this); this->unk_1DA = 0x32; @@ -1253,11 +1254,11 @@ void BossDodongo_UpdateDamage(BossDodongo* this, PlayState* play) { } } - if (this->collider.elements->info.bumperFlags & BUMP_HIT) { - this->collider.elements->info.bumperFlags &= ~BUMP_HIT; - item = this->collider.elements[0].info.acHitInfo; + if (this->collider.elements[0].base.bumperFlags & BUMP_HIT) { + this->collider.elements[0].base.bumperFlags &= ~BUMP_HIT; + acHitElem = this->collider.elements[0].base.acHitElem; if ((this->actionFunc == BossDodongo_Vulnerable) || (this->actionFunc == BossDodongo_LayDown)) { - swordDamage = damage = CollisionCheck_GetSwordDamage(item->toucher.dmgFlags); + swordDamage = damage = CollisionCheck_GetSwordDamage(acHitElem->toucher.dmgFlags); if (damage != 0) { Actor_PlaySfx(&this->actor, NA_SE_EN_DODO_K_DAMAGE); @@ -1410,7 +1411,7 @@ void BossDodongo_DeathCutscene(BossDodongo* this, PlayState* play) { this->actor.velocity.y = 15.0f; Actor_PlaySfx(&this->actor, NA_SE_EN_DODO_K_COLI2); if (this->unk_1A2 == 0) { - this->unk_1A0 = this->unk_1A0 + 1; + this->unk_1A0++; if (this->unk_1A0 >= 4) { this->unk_1A0 = 0; } @@ -1693,7 +1694,7 @@ void BossDodongo_DrawEffects(PlayState* play) { Matrix_Translate(eff->unk_00.x, eff->unk_00.y, eff->unk_00.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(eff->unk_2C, eff->unk_2C, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_dodongo.c", 5253), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_dodongo.c", 5253), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_kingdodongo_DL_009DD0); } diff --git a/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c b/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c index fea0dcbf04..ba53be91b8 100644 --- a/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c +++ b/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c @@ -1279,13 +1279,13 @@ void BossFd_Effects(BossFd* this, PlayState* play) { void BossFd_CollisionCheck(BossFd* this, PlayState* play) { ColliderJntSphElement* headCollider = &this->collider.elements[0]; - ColliderInfo* hurtbox; + ColliderElement* acHitElem; - if (headCollider->info.bumperFlags & BUMP_HIT) { - headCollider->info.bumperFlags &= ~BUMP_HIT; - hurtbox = headCollider->info.acHitInfo; + if (headCollider->base.bumperFlags & BUMP_HIT) { + headCollider->base.bumperFlags &= ~BUMP_HIT; + acHitElem = headCollider->base.acHitElem; this->actor.colChkInfo.health -= 2; - if (hurtbox->toucher.dmgFlags & DMG_ARROW_ICE) { + if (acHitElem->toucher.dmgFlags & DMG_ARROW_ICE) { this->actor.colChkInfo.health -= 2; } if ((s8)this->actor.colChkInfo.health <= 2) { @@ -1476,11 +1476,11 @@ void BossFd_UpdateEffects(BossFd* this, PlayState* play) { if ((this->timers[3] == 0) && (sqrtf(SQ(diff.x) + SQ(diff.y) + SQ(diff.z)) < 20.0f)) { this->timers[3] = 50; func_8002F6D4(play, NULL, 5.0f, effect->kbAngle, 0.0f, 0x30); - if (!player->isBurning) { + if (!player->bodyIsBurning) { for (i2 = 0; i2 < PLAYER_BODYPART_MAX; i2++) { - player->flameTimers[i2] = Rand_S16Offset(0, 200); + player->bodyFlameTimers[i2] = Rand_S16Offset(0, 200); } - player->isBurning = true; + player->bodyIsBurning = true; } } if (effect->timer2 == 0) { @@ -1533,7 +1533,7 @@ void BossFd_DrawEffects(BossFdEffect* effect, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_fd.c", 4046), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_fd.c", 4046), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gVolvagiaEmberModelDL); } @@ -1554,7 +1554,7 @@ void BossFd_DrawEffects(BossFdEffect* effect, PlayState* play) { Matrix_RotateX(effect->vFdFxRotX, MTXMODE_APPLY); Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_fd.c", 4068), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_fd.c", 4068), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gVolvagiaDebrisModelDL); } @@ -1576,7 +1576,7 @@ void BossFd_DrawEffects(BossFdEffect* effect, PlayState* play) { Matrix_Scale(effect->scale, effect->scale, effect->scale, MTXMODE_APPLY); Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_fd.c", 4104), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_fd.c", 4104), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(dustTex[effect->timer2])); gSPDisplayList(POLY_XLU_DISP++, gVolvagiaDustModelDL); @@ -1599,7 +1599,7 @@ void BossFd_DrawEffects(BossFdEffect* effect, PlayState* play) { Matrix_Scale(effect->scale, effect->scale, effect->scale, MTXMODE_APPLY); Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_fd.c", 4154), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_fd.c", 4154), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(dustTex[effect->timer2])); gSPDisplayList(POLY_XLU_DISP++, gVolvagiaDustModelDL); @@ -1621,7 +1621,7 @@ void BossFd_DrawEffects(BossFdEffect* effect, PlayState* play) { Matrix_RotateX(effect->vFdFxRotX, MTXMODE_APPLY); Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_fd.c", 4192), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_fd.c", 4192), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gVolvagiaSkullPieceModelDL); } @@ -1756,7 +1756,7 @@ void BossFd_DrawMane(PlayState* play, BossFd* this, Vec3f* manePos, Vec3f* maneR Matrix_Scale(maneScale[maneIndex] * (0.01f - (i * 0.0008f)), maneScale[maneIndex] * (0.01f - (i * 0.0008f)), 0.01f, MTXMODE_APPLY); Matrix_RotateX(-M_PI / 2.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_fd.c", 4480), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_fd.c", 4480), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gVolvagiaManeModelDL); } @@ -1819,7 +1819,7 @@ void BossFd_DrawBody(PlayState* play, BossFd* this) { s16 segIndex; s16 i; f32 temp_float; - Mtx* tempMat = Graph_Alloc(play->state.gfxCtx, 18 * sizeof(Mtx)); + Mtx* tempMat = GRAPH_ALLOC(play->state.gfxCtx, 18 * sizeof(Mtx)); OPEN_DISPS(play->state.gfxCtx, "../z_boss_fd.c", 4589); if (this->skinSegments != 0) { @@ -1875,7 +1875,7 @@ void BossFd_DrawBody(PlayState* play, BossFd* this) { this->fwork[BFD_BODY_PULSE]), 1.0f, MTXMODE_APPLY); Matrix_RotateY(M_PI / 2.0f, MTXMODE_APPLY); - Matrix_ToMtx(tempMat, "../z_boss_fd.c", 4719); + MATRIX_TO_MTX(tempMat, "../z_boss_fd.c", 4719); gSPMatrix(POLY_OPA_DISP++, tempMat, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, sBodyDLists[i]); } else { @@ -1899,7 +1899,7 @@ void BossFd_DrawBody(PlayState* play, BossFd* this) { temp_float = 0.1f * sp84; } Matrix_Scale(0.1f, 0.1f, 0.1f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_fd.c", 4768), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_fd.c", 4768), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gVolvagiaRibsDL); diff --git a/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.c b/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.c index 42c5eb0679..9734713553 100644 --- a/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.c +++ b/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.c @@ -806,33 +806,33 @@ void BossFd2_Wait(BossFd2* this, PlayState* play) { void BossFd2_CollisionCheck(BossFd2* this, PlayState* play) { s16 i; - ColliderInfo* hurtbox; + ColliderElement* acHitElem; BossFd* bossFd = (BossFd*)this->actor.parent; if (this->actionFunc == BossFd2_ClawSwipe) { Player* player = GET_PLAYER(play); for (i = 0; i < ARRAY_COUNT(this->elements); i++) { - if (this->collider.elements[i].info.toucherFlags & TOUCH_HIT) { - this->collider.elements[i].info.toucherFlags &= ~TOUCH_HIT; + if (this->collider.elements[i].base.toucherFlags & TOUCH_HIT) { + this->collider.elements[i].base.toucherFlags &= ~TOUCH_HIT; Actor_PlaySfx(&player->actor, NA_SE_PL_BODY_HIT); } } } if (!bossFd->faceExposed) { - this->collider.elements[0].info.elemType = ELEMTYPE_UNK2; + this->collider.elements[0].base.elemType = ELEMTYPE_UNK2; this->collider.base.colType = COLTYPE_METAL; } else { - this->collider.elements[0].info.elemType = ELEMTYPE_UNK3; + this->collider.elements[0].base.elemType = ELEMTYPE_UNK3; this->collider.base.colType = COLTYPE_HIT3; } - if (this->collider.elements[0].info.bumperFlags & BUMP_HIT) { - this->collider.elements[0].info.bumperFlags &= ~BUMP_HIT; + if (this->collider.elements[0].base.bumperFlags & BUMP_HIT) { + this->collider.elements[0].base.bumperFlags &= ~BUMP_HIT; - hurtbox = this->collider.elements[0].info.acHitInfo; + acHitElem = this->collider.elements[0].base.acHitElem; if (!bossFd->faceExposed) { - if (hurtbox->toucher.dmgFlags & DMG_HAMMER) { + if (acHitElem->toucher.dmgFlags & DMG_HAMMER) { bossFd->actor.colChkInfo.health -= 2; if ((s8)bossFd->actor.colChkInfo.health <= 2) { bossFd->actor.colChkInfo.health = 1; @@ -863,12 +863,12 @@ void BossFd2_CollisionCheck(BossFd2* this, PlayState* play) { u8 canKill = false; u8 damage; - if ((damage = CollisionCheck_GetSwordDamage(hurtbox->toucher.dmgFlags)) == 0) { - damage = (hurtbox->toucher.dmgFlags & DMG_ARROW_ICE) ? 4 : 2; + if ((damage = CollisionCheck_GetSwordDamage(acHitElem->toucher.dmgFlags)) == 0) { + damage = (acHitElem->toucher.dmgFlags & DMG_ARROW_ICE) ? 4 : 2; } else { canKill = true; } - if (hurtbox->toucher.dmgFlags & DMG_HOOKSHOT) { + if (acHitElem->toucher.dmgFlags & DMG_HOOKSHOT) { damage = 0; } if (((s8)bossFd->actor.colChkInfo.health > 2) || canKill) { @@ -1145,7 +1145,7 @@ void BossFd2_UpdateMane(BossFd2* this, PlayState* play, Vec3f* head, Vec3f* pos, xyScale = (0.01f - (i * 0.0009f)) * spE8[i] * scale[i]; Matrix_Scale(xyScale, xyScale, 0.01f * spE8[i], MTXMODE_APPLY); Matrix_RotateX(M_PI / 2.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_fd2.c", 2498), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_fd2.c", 2498), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gHoleVolvagiaManeModelDL); } diff --git a/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c b/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c index 63be6589e7..0e401ef752 100644 --- a/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c +++ b/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c @@ -1851,10 +1851,8 @@ void BossGanon_PoundFloor(BossGanon* this, PlayState* play) { switch (this->unk_1C2) { case 0: - targetPosX = Math_SinS(this->unk_1A2 * 1280); - targetPosX = targetPosX * this->fwork[GDF_CENTER_POS]; - targetPosZ = Math_CosS(this->unk_1A2 * 1792); - targetPosZ = targetPosZ * this->fwork[GDF_CENTER_POS]; + targetPosX = Math_SinS(this->unk_1A2 * 1280) * this->fwork[GDF_CENTER_POS]; + targetPosZ = Math_CosS(this->unk_1A2 * 1792) * this->fwork[GDF_CENTER_POS]; Math_ApproachF(&this->actor.world.pos.x, targetPosX, 0.05f, this->fwork[GDF_FWORK_0]); Math_ApproachF(&this->actor.world.pos.z, targetPosZ, 0.05f, this->fwork[GDF_FWORK_0]); @@ -1987,11 +1985,8 @@ void BossGanon_ChargeBigMagic(BossGanon* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); - targetPosX = Math_SinS(this->unk_1A2 * 1280); - targetPosX = targetPosX * this->fwork[GDF_CENTER_POS]; - - targetPosZ = Math_CosS(this->unk_1A2 * 1792); - targetPosZ = targetPosZ * this->fwork[GDF_CENTER_POS]; + targetPosX = Math_SinS(this->unk_1A2 * 1280) * this->fwork[GDF_CENTER_POS]; + targetPosZ = Math_CosS(this->unk_1A2 * 1792) * this->fwork[GDF_CENTER_POS]; Math_ApproachF(&this->actor.world.pos.x, targetPosX, 0.05f, this->fwork[GDF_FWORK_0]); Math_ApproachF(&this->actor.world.pos.z, targetPosZ, 0.05, this->fwork[GDF_FWORK_0]); @@ -2556,7 +2551,7 @@ void BossGanon_Vulnerable(BossGanon* this, PlayState* play) { case 2: sCape->minDist = 0.0f; - this->actor.velocity.y = this->actor.velocity.y - 0.5f; + this->actor.velocity.y -= 0.5f; if (this->actor.world.pos.y < 40.0f) { this->actor.world.pos.y = 40.0f; @@ -2686,22 +2681,22 @@ void BossGanon_Damaged(BossGanon* this, PlayState* play) { void BossGanon_UpdateDamage(BossGanon* this, PlayState* play) { s16 i; s16 j; - ColliderInfo* acHitInfo; + ColliderElement* acHitElem; if (this->collider.base.acFlags & AC_HIT) { this->unk_2D4 = 2; this->collider.base.acFlags &= ~AC_HIT; - acHitInfo = this->collider.info.acHitInfo; + acHitElem = this->collider.elem.acHitElem; if ((this->actionFunc == BossGanon_HitByLightBall) || (this->actionFunc == BossGanon_ChargeBigMagic)) { - if (acHitInfo->toucher.dmgFlags & DMG_ARROW_LIGHT) { + if (acHitElem->toucher.dmgFlags & DMG_ARROW_LIGHT) { BossGanon_SetupVulnerable(this, play); this->timers[2] = 0; Actor_PlaySfx(&this->actor, NA_SE_EN_GANON_DAMAGE1); this->unk_1A6 = 15; } } else if ((this->actionFunc == BossGanon_Vulnerable) && (this->unk_1C2 >= 3)) { - if (!(acHitInfo->toucher.dmgFlags & DMG_HOOKSHOT)) { + if (!(acHitElem->toucher.dmgFlags & DMG_HOOKSHOT)) { u8 hitWithSword = false; u8 damage; Vec3f sp50; @@ -2715,7 +2710,7 @@ void BossGanon_UpdateDamage(BossGanon* this, PlayState* play) { 0x1E); } - damage = flags = CollisionCheck_GetSwordDamage(acHitInfo->toucher.dmgFlags); + damage = flags = CollisionCheck_GetSwordDamage(acHitElem->toucher.dmgFlags); if (flags == 0) { damage = 2; @@ -2749,7 +2744,7 @@ void BossGanon_UpdateDamage(BossGanon* this, PlayState* play) { sCape->tearTimer = 1; } } - } else if (acHitInfo->toucher.dmgFlags & DMG_RANGED) { + } else if (acHitElem->toucher.dmgFlags & DMG_RANGED) { Actor_PlaySfx(&this->actor, 0); for (i = 0; i < ARRAY_COUNT(sCape->strands); i++) { @@ -3265,7 +3260,7 @@ void BossGanon_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* OPEN_DISPS(play->state.gfxCtx, "../z_boss_ganon.c", 7191); Matrix_MultVec3f(&D_808E4DB8, &this->unk_208); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon.c", 7196), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon.c", 7196), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanondorfEyesDL)); @@ -3359,7 +3354,7 @@ void BossGanon_DrawShock(BossGanon* this, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(this->unk_49C[i], this->unk_49C[i], this->unk_49C[i], MTXMODE_APPLY); Matrix_RotateZ(Rand_CenteredFloat(M_PI), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_ganon.c", 7384), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_ganon.c", 7384), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfSquareDL); } @@ -3373,7 +3368,7 @@ void BossGanon_DrawShock(BossGanon* this, PlayState* play) { Matrix_RotateZ(Rand_CenteredFloat(M_PI), MTXMODE_APPLY); } - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_ganon.c", 7401), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_ganon.c", 7401), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->shockGlow) { @@ -3416,7 +3411,7 @@ void BossGanon_DrawHandLightBall(BossGanon* this, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(this->handLightBallScale, this->handLightBallScale, this->handLightBallScale, MTXMODE_APPLY); Matrix_RotateZ(this->unk_258, 1); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_ganon.c", 7510), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_ganon.c", 7510), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfSquareDL); @@ -3425,7 +3420,7 @@ void BossGanon_DrawHandLightBall(BossGanon* this, PlayState* play) { gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 155, alpha); Matrix_Translate(this->unk_260.x, 0.0f, this->unk_260.z, MTXMODE_NEW); Matrix_Scale(this->handLightBallScale * 0.75f, 1.0f, this->handLightBallScale * 0.75f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon.c", 7531), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon.c", 7531), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfLightCoreDL); @@ -3453,7 +3448,7 @@ void BossGanon_DrawBigMagicCharge(BossGanon* this, PlayState* play) { Matrix_Translate(this->unk_278.x, this->unk_278.y, this->unk_278.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(this->unk_28C, this->unk_28C, this->unk_28C, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_ganon.c", 7588), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_ganon.c", 7588), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfLightFlecksDL); @@ -3461,7 +3456,7 @@ void BossGanon_DrawBigMagicCharge(BossGanon* this, PlayState* play) { Matrix_Translate(this->unk_278.x, this->unk_278.y, this->unk_278.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(this->unk_284, this->unk_284, this->unk_284, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_ganon.c", 7601), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_ganon.c", 7601), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 0, 100, (s8)this->unk_288); gSPSegment(POLY_XLU_DISP++, 0x09, @@ -3486,7 +3481,7 @@ void BossGanon_DrawBigMagicCharge(BossGanon* this, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(this->unk_2D0, this->unk_2D0, this->unk_2D0, MTXMODE_APPLY); Matrix_RotateZ((this->unk_1A2 * 10.0f) / 1000.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_ganon.c", 7673), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_ganon.c", 7673), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfSquareDL); @@ -3507,7 +3502,7 @@ void BossGanon_DrawBigMagicCharge(BossGanon* this, PlayState* play) { Matrix_RotateZ(xzRot, MTXMODE_APPLY); Matrix_Translate(0.0f, 0.0f, 50.0f, MTXMODE_APPLY); Matrix_Scale(4.0f, 4.0f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_ganon.c", 7713), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_ganon.c", 7713), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfLightRayTriDL); @@ -3560,7 +3555,7 @@ void BossGanon_DrawTriforce(BossGanon* this, PlayState* play) { } Matrix_Scale(this->fwork[GDF_TRIFORCE_SCALE], this->fwork[GDF_TRIFORCE_SCALE], 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon.c", 7779), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon.c", 7779), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanondorfTriforceDL)); @@ -3595,7 +3590,7 @@ void BossGanon_DrawDarkVortex(BossGanon* this, PlayState* play) { Matrix_Scale(this->fwork[GDF_VORTEX_SCALE], this->fwork[GDF_VORTEX_SCALE], this->fwork[GDF_VORTEX_SCALE], MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon.c", 7841), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon.c", 7841), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanondorfVortexDL)); @@ -3721,8 +3716,8 @@ void BossGanon_GenShadowTexture(u8* tex, BossGanon* this, PlayState* play) { Matrix_MultVec3f(&sp7C, &sp70); - sp70.x = sp70.x * 0.28f; - sp70.y = sp70.y * 0.28f; + sp70.x *= 0.28f; + sp70.y *= 0.28f; baseX = (s32)(sp70.x + 32.0f); baseY = (s16)sp70.y * 0x40; @@ -3769,7 +3764,7 @@ void BossGanon_DrawShadowTexture(void* tex, BossGanon* this, PlayState* play) { } Matrix_Scale(0.95000005f, 1.0f, 0.95000005f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon.c", 8396), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon.c", 8396), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gGanondorfShadowSetupDL); gDPLoadTextureBlock(POLY_OPA_DISP++, tex, G_IM_FMT_I, G_IM_SIZ_8b, 64, 64, 0, G_TX_NOMIRROR | G_TX_CLAMP, @@ -3784,7 +3779,7 @@ void BossGanon_Draw(Actor* thisx, PlayState* play) { BossGanon* this = (BossGanon*)thisx; void* shadowTex; - shadowTex = Graph_Alloc(play->state.gfxCtx, 64 * 64); + shadowTex = GRAPH_ALLOC(play->state.gfxCtx, 64 * 64); OPEN_DISPS(play->state.gfxCtx, "../z_boss_ganon.c", 9138); @@ -3936,11 +3931,11 @@ void BossGanon_LightBall_Update(Actor* thisx, PlayState* play2) { } if ((this->collider.base.acFlags & AC_HIT) || hitWithBottle) { - ColliderInfo* acHitInfo = this->collider.info.acHitInfo; + ColliderElement* acHitElem = this->collider.elem.acHitElem; this->collider.base.acFlags &= ~AC_HIT; - if ((hitWithBottle == false) && (acHitInfo->toucher.dmgFlags & DMG_SHIELD)) { + if ((hitWithBottle == false) && (acHitElem->toucher.dmgFlags & DMG_SHIELD)) { spBA = 2; Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_REFLECT_MG, &player->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, @@ -4137,7 +4132,7 @@ void BossGanon_LightBall_Draw(Actor* thisx, PlayState* play) { Matrix_Push(); Matrix_Translate(this->actor.world.pos.x, this->actor.floorHeight, this->actor.world.pos.z, MTXMODE_NEW); Matrix_Scale(this->actor.scale.x * 0.75f, 1.0f, this->actor.scale.z * 0.75f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon.c", 9875), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon.c", 9875), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfLightCoreDL); @@ -4153,7 +4148,7 @@ void BossGanon_LightBall_Draw(Actor* thisx, PlayState* play) { Matrix_Push(); Matrix_RotateY(i * (M_PI / 8), MTXMODE_APPLY); Matrix_RotateZ(this->fwork[GDF_FWORK_0], MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon.c", 9899), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon.c", 9899), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfSquareDL); @@ -4162,7 +4157,7 @@ void BossGanon_LightBall_Draw(Actor* thisx, PlayState* play) { } else if (this->unk_1A8 == 0) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_RotateZ((this->actor.shape.rot.z / (f32)0x8000) * 3.1416f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon.c", 9907), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon.c", 9907), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfSquareDL); } @@ -4287,7 +4282,7 @@ void func_808E229C(Actor* thisx, PlayState* play2) { this->actor.scale.z * (1.0f - (i * 0.07000001f)), MTXMODE_APPLY); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_RotateZ(((2.0f * (i * M_PI)) / 10.0f) + BINANG_TO_RAD_ALT(this->actor.shape.rot.z), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon.c", 10109), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon.c", 10109), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfSquareDL); } @@ -4310,7 +4305,7 @@ void func_808E2544(Actor* thisx, PlayState* play) { BossGanon* dorf = (BossGanon*)this->actor.parent; s32 pad; Player* player = GET_PLAYER(play); - ColliderInfo* acHitInfo; + ColliderElement* acHitElem; Vec3f sp60; this->unk_1A2++; @@ -4420,11 +4415,11 @@ void func_808E2544(Actor* thisx, PlayState* play) { } if (this->collider.base.acFlags & AC_HIT) { - acHitInfo = this->collider.info.acHitInfo; + acHitElem = this->collider.elem.acHitElem; this->collider.base.acFlags &= ~AC_HIT; - if (!(acHitInfo->toucher.dmgFlags & DMG_SHIELD) || Player_HasMirrorShieldEquipped(play)) { + if (!(acHitElem->toucher.dmgFlags & DMG_SHIELD) || Player_HasMirrorShieldEquipped(play)) { Rumble_Request(this->actor.xyzDistToPlayerSq, 180, 20, 100); this->unk_1C2 = 0xC; this->actor.speed = -30.0f; @@ -4436,9 +4431,9 @@ void func_808E2544(Actor* thisx, PlayState* play) { this->unk_1F0.y = Rand_CenteredFloat(200.0f) + dorf->unk_1FC.y; this->unk_1F0.z = Rand_CenteredFloat(700.0f) + dorf->unk_1FC.z; - this->unk_1F0.x = this->unk_1F0.x + ((this->unk_1F0.x - this->actor.world.pos.x) * 100.0f); - this->unk_1F0.y = this->unk_1F0.y + ((this->unk_1F0.y - this->actor.world.pos.y) * 100.0f); - this->unk_1F0.z = this->unk_1F0.z + ((this->unk_1F0.z - this->actor.world.pos.z) * 100.0f); + this->unk_1F0.x += (this->unk_1F0.x - this->actor.world.pos.x) * 100.0f; + this->unk_1F0.y += (this->unk_1F0.y - this->actor.world.pos.y) * 100.0f; + this->unk_1F0.z += (this->unk_1F0.z - this->actor.world.pos.z) * 100.0f; numEffects = 10; break; @@ -4554,7 +4549,7 @@ void func_808E324C(Actor* thisx, PlayState* play) { s16 i; s32 temp; - mtx = Graph_Alloc(play->state.gfxCtx, 12 * sizeof(Mtx)); + mtx = GRAPH_ALLOC(play->state.gfxCtx, 12 * sizeof(Mtx)); OPEN_DISPS(play->state.gfxCtx, "../z_boss_ganon.c", 10489); @@ -4570,7 +4565,7 @@ void func_808E324C(Actor* thisx, PlayState* play) { Matrix_RotateX(-this->unk_3C4[temp].x, MTXMODE_APPLY); Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY); Matrix_RotateY(M_PI / 2, MTXMODE_APPLY); - Matrix_ToMtx(mtx, "../z_boss_ganon.c", 10520); + MATRIX_TO_MTX(mtx, "../z_boss_ganon.c", 10520); gSPMatrix(POLY_XLU_DISP++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, sBigMagicLightStreakDLists[i]); mtx++; @@ -4580,7 +4575,7 @@ void func_808E324C(Actor* thisx, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(10.0f, 10.0f, 10.0f, MTXMODE_APPLY); Matrix_RotateZ(Rand_CenteredFloat(M_PI), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon.c", 10534), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon.c", 10534), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfLightBallMaterialDL); @@ -4832,7 +4827,7 @@ void BossGanon_DrawEffects(PlayState* play) { Matrix_Scale(eff->scale, eff->scale, eff->scale, MTXMODE_APPLY); Matrix_RotateY(eff->unk_48, MTXMODE_APPLY); Matrix_RotateX(eff->unk_44, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_ganon.c", 10898), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_ganon.c", 10898), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gGanondorfWindowShardModelDL); } @@ -4854,7 +4849,7 @@ void BossGanon_DrawEffects(PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(eff->scale, eff->scale, 1.0f, MTXMODE_APPLY); Matrix_RotateZ(eff->unk_3C, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_ganon.c", 10932), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_ganon.c", 10932), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfSquareDL); } @@ -4878,7 +4873,7 @@ void BossGanon_DrawEffects(PlayState* play) { Matrix_RotateZ(eff->unk_3C, MTXMODE_APPLY); Matrix_Scale(eff->scale, eff->scale, eff->unk_38 * eff->scale, MTXMODE_APPLY); Matrix_RotateX(M_PI / 2, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_ganon.c", 10971), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_ganon.c", 10971), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfSquareDL); } @@ -4904,7 +4899,7 @@ void BossGanon_DrawEffects(PlayState* play) { Matrix_Scale(eff->scale, eff->scale, 1.0f, MTXMODE_APPLY); Matrix_RotateX(eff->unk_3C * 1.3f, MTXMODE_APPLY); Matrix_RotateZ(eff->unk_3C, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_ganon.c", 11023), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_ganon.c", 11023), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfShockDL); } @@ -4925,7 +4920,7 @@ void BossGanon_DrawEffects(PlayState* play) { Matrix_RotateZ(eff->unk_3C, MTXMODE_APPLY); Matrix_Scale(eff->scale, eff->scale, eff->scale, MTXMODE_APPLY); Matrix_RotateY(eff->unk_44, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_ganon.c", 11074), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_ganon.c", 11074), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sLightningTextures[eff->timer])); gSPDisplayList(POLY_XLU_DISP++, gGanondorfLightningDL); @@ -4944,7 +4939,7 @@ void BossGanon_DrawEffects(PlayState* play) { eff->timer * 2, eff->timer * -20, 32, 32)); Matrix_Translate(eff->pos.x, eff->pos.y, eff->pos.z, MTXMODE_NEW); Matrix_Scale(eff->scale, eff->unk_40 * eff->scale, eff->scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_ganon.c", 11121), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_ganon.c", 11121), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfImpactDarkDL); } @@ -4962,7 +4957,7 @@ void BossGanon_DrawEffects(PlayState* play) { eff->timer * 2, eff->timer * -20, 32, 32)); Matrix_Translate(eff->pos.x, eff->pos.y, eff->pos.z, MTXMODE_NEW); Matrix_Scale(eff->scale, eff->unk_40 * eff->scale, eff->scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_ganon.c", 11165), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_ganon.c", 11165), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfImpactLightDL); } @@ -4981,7 +4976,7 @@ void BossGanon_DrawEffects(PlayState* play) { Matrix_Translate(eff->pos.x, eff->pos.y, eff->pos.z, MTXMODE_NEW); Matrix_Scale((eff->scale * 200.0f) / 1500.0f, (eff->unk_40 * 200.0f) / 1500.0f, (eff->scale * 200.0f) / 1500.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_ganon.c", 11209), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_ganon.c", 11209), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfShockwaveDL); } @@ -5000,7 +4995,7 @@ void BossGanon_DrawEffects(PlayState* play) { Matrix_Translate(eff->pos.x, eff->pos.y, eff->pos.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(eff->scale, eff->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_ganon.c", 11250), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_ganon.c", 11250), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfDotDL); } diff --git a/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c b/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c index 26b0e741d2..d03a5206b1 100644 --- a/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c +++ b/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c @@ -445,7 +445,7 @@ void func_808FD5F4(BossGanon2* this, PlayState* play) { this->unk_39C = 14; this->unk_398 = 0; this->actor.world.pos.x = -200.0f; - this->actor.world.pos.y = this->actor.world.pos.y - 30.0f; + this->actor.world.pos.y -= 30.0f; this->actor.world.pos.z = -200.0f; SEQCMD_PLAY_SEQUENCE(SEQ_PLAYER_BGM_MAIN, 0, 0, NA_BGM_OPENING_GANON); } else { @@ -1842,10 +1842,10 @@ void func_80902348(BossGanon2* this, PlayState* play) { if (this->unk_316 == 0) { for (i = 0; i < ARRAY_COUNT(this->unk_864); i++) { - if (this->unk_444.elements[i].info.bumperFlags & BUMP_HIT) { - this->unk_444.elements[i].info.bumperFlags &= ~BUMP_HIT; - } else if (this->unk_444.elements[i].info.toucherFlags & TOUCH_HIT) { - this->unk_444.elements[i].info.toucherFlags &= ~TOUCH_HIT; + if (this->unk_444.elements[i].base.bumperFlags & BUMP_HIT) { + this->unk_444.elements[i].base.bumperFlags &= ~BUMP_HIT; + } else if (this->unk_444.elements[i].base.toucherFlags & TOUCH_HIT) { + this->unk_444.elements[i].base.toucherFlags &= ~TOUCH_HIT; if (this->unk_312 == 1) { phi_v0_2 = 0x1800; @@ -1868,10 +1868,10 @@ void func_80902348(BossGanon2* this, PlayState* play) { if (sqrtf(SQ(temp_f2) + SQ(temp_f12)) > 784.0f) { for (j = 0; j < PLAYER_BODYPART_MAX; j++) { - player->flameTimers[j] = Rand_S16Offset(0, 200); + player->bodyFlameTimers[j] = Rand_S16Offset(0, 200); } - player->isBurning = true; + player->bodyIsBurning = true; func_8002F6D4(play, &this->actor, 10.0f, Math_Atan2S(temp_f12, temp_f2), 0.0f, 0x10); sZelda->unk_3C8 = 8; } @@ -1880,30 +1880,30 @@ void func_80902348(BossGanon2* this, PlayState* play) { void func_80902524(BossGanon2* this, PlayState* play) { s8 temp_v0_4; - ColliderInfo* acHitInfo; + ColliderElement* acHitElem; s16 i; u8 phi_v1_2; osSyncPrintf("this->no_hit_time %d\n", this->unk_316); if (this->unk_316 != 0 || ((this->unk_334 == 0) && (this->actionFunc == func_80900890))) { for (i = 0; i < ARRAY_COUNT(this->unk_464); i++) { - this->unk_424.elements[i].info.bumperFlags &= ~BUMP_HIT; + this->unk_424.elements[i].base.bumperFlags &= ~BUMP_HIT; } } osSyncPrintf("this->look_on %d\n", this->unk_313); if (this->unk_313) { if (this->actionFunc != func_808FFFE0) { - if (this->unk_424.elements[0].info.bumperFlags & BUMP_HIT) { - this->unk_424.elements[0].info.bumperFlags &= ~BUMP_HIT; - acHitInfo = this->unk_424.elements[0].info.acHitInfo; - if ((acHitInfo->toucher.dmgFlags & DMG_ARROW_LIGHT) && (this->actionFunc != func_80900890)) { + if (this->unk_424.elements[0].base.bumperFlags & BUMP_HIT) { + this->unk_424.elements[0].base.bumperFlags &= ~BUMP_HIT; + acHitElem = this->unk_424.elements[0].base.acHitElem; + if ((acHitElem->toucher.dmgFlags & DMG_ARROW_LIGHT) && (this->actionFunc != func_80900890)) { func_809000A0(this, play); Actor_PlaySfx(&this->actor, NA_SE_EN_FANTOM_HIT_THUNDER); Actor_PlaySfx(&this->actor, NA_SE_EN_MGANON_DAMAGE); Audio_StopSfxById(NA_SE_EN_MGANON_UNARI); } else if ((this->actionFunc == func_80900890) && - (acHitInfo->toucher.dmgFlags & (DMG_JUMP_MASTER | DMG_SPIN_MASTER | DMG_SLASH_MASTER))) { + (acHitElem->toucher.dmgFlags & (DMG_JUMP_MASTER | DMG_SPIN_MASTER | DMG_SLASH_MASTER))) { this->unk_316 = 60; this->unk_342 = 5; Actor_PlaySfx(&this->actor, NA_SE_EN_MGANON_DAMAGE); @@ -1926,17 +1926,17 @@ void func_80902524(BossGanon2* this, PlayState* play) { } } } else { - if (this->unk_424.elements[15].info.bumperFlags & BUMP_HIT) { - this->unk_424.elements[15].info.bumperFlags &= ~BUMP_HIT; - acHitInfo = this->unk_424.elements[15].info.acHitInfo; + if (this->unk_424.elements[15].base.bumperFlags & BUMP_HIT) { + this->unk_424.elements[15].base.bumperFlags &= ~BUMP_HIT; + acHitElem = this->unk_424.elements[15].base.acHitElem; this->unk_316 = 60; this->unk_344 = 0x32; this->unk_342 = 5; Actor_PlaySfx(&this->actor, NA_SE_EN_MGANON_DAMAGE); Audio_StopSfxById(NA_SE_EN_MGANON_UNARI); phi_v1_2 = 1; - if (acHitInfo->toucher.dmgFlags & (DMG_JUMP_MASTER | DMG_SPIN_MASTER | DMG_SLASH_MASTER)) { - if (acHitInfo->toucher.dmgFlags & DMG_JUMP_MASTER) { + if (acHitElem->toucher.dmgFlags & (DMG_JUMP_MASTER | DMG_SPIN_MASTER | DMG_SLASH_MASTER)) { + if (acHitElem->toucher.dmgFlags & DMG_JUMP_MASTER) { phi_v1_2 = 4; } else { phi_v1_2 = 2; @@ -2404,7 +2404,7 @@ void func_80903F38(BossGanon2* this, PlayState* play) { gDPPipeSync(POLY_XLU_DISP++); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, D_80907080); Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_NEW); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5117), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5117), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanonSwordTrailDL); } @@ -2427,7 +2427,7 @@ void func_80904108(BossGanon2* this, PlayState* play) { gDPSetEnvColor(POLY_XLU_DISP++, 255, 0, 0, 128); Matrix_Translate(-200.0f, 1086.0f, -200.0f, MTXMODE_NEW); Matrix_Scale(0.098000005f, 0.1f, 0.098000005f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5183), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5183), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanonFireRingDL)); Matrix_Pop(); @@ -2477,7 +2477,7 @@ void func_80904340(BossGanon2* this, PlayState* play) { Matrix_RotateY(M_PI, MTXMODE_APPLY); } - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5250), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5250), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanonLightningDL)); } @@ -2501,7 +2501,7 @@ void func_8090464C(BossGanon2* this, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_RotateZ(-0.2f, MTXMODE_APPLY); Matrix_Scale(0.6f, 0.6f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5290), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5290), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanonTriforceDL)); Matrix_Pop(); @@ -2522,8 +2522,8 @@ s32 BossGanon2_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec } if (limbIndex >= GANON_LIMB_TAIL1) { - rot->x += this->unk_2F4[limbIndex] + this->unk_346; - rot->y += this->unk_2FE[limbIndex]; + rot->x += this->unk_348[limbIndex - GANON_LIMB_TAIL1] + this->unk_346; + rot->y += this->unk_352[limbIndex - GANON_LIMB_TAIL1]; if (this->unk_342 & 1) { gDPSetEnvColor(POLY_OPA_DISP++, 255, 0, 0, 255); @@ -2579,14 +2579,14 @@ void BossGanon2_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* if ((limbIndex == GANON_LIMB_LEFT_SWORD) || (limbIndex == GANON_LIMB_RIGHT_SWORD)) { Matrix_Push(); Matrix_Scale(this->unk_224, this->unk_224, this->unk_224, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5522), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5522), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, *dList); Matrix_Pop(); } else if ((limbIndex == GANON_LIMB_LEFT_HORN) || (limbIndex == GANON_LIMB_RIGHT_HORN)) { Matrix_Push(); Matrix_Scale(this->unk_228, this->unk_228, this->unk_228, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5533), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5533), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, *dList); Matrix_Pop(); @@ -2631,7 +2631,7 @@ void func_80904D88(BossGanon2* this, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(this->unk_30C, this->unk_30C, this->unk_30C, MTXMODE_APPLY); Matrix_RotateZ(Rand_CenteredFloat(M_PI), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5618), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5618), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanonLightOrbModelDL); } @@ -2655,11 +2655,11 @@ void func_80904FC8(BossGanon2* this, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(this->unk_384, this->unk_384, this->unk_384, MTXMODE_APPLY); Matrix_RotateZ(this->unk_388, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5661), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5661), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanonLightOrbModelDL)); Matrix_RotateZ(this->unk_388 * -2.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5664), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5664), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanonLightOrbModelDL)); } @@ -2695,7 +2695,7 @@ void func_8090523C(BossGanon2* this, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(200.0f * phi_f20, 200.0f * phi_f20, 1.0f, MTXMODE_APPLY); Matrix_RotateZ(Rand_ZeroFloat(2.0f * M_PI), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5721), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5721), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanonLightOrbModelDL)); } @@ -2714,7 +2714,7 @@ void BossGanon2_PostLimbDraw2(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s if (limbIndex == GANONDORF_LIMB_JEWEL) { OPEN_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5749); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5752), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5752), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanondorfEyesDL)); @@ -2742,7 +2742,7 @@ void func_80905674(BossGanon2* this, PlayState* play) { Matrix_RotateY(-M_PI / 4.0f, MTXMODE_APPLY); Matrix_Scale(0.040000003f, 0.040000003f, this->unk_380, MTXMODE_APPLY); Matrix_RotateX(M_PI / 2.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5814), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5814), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanonZeldaMagicDL)); Matrix_Pop(); @@ -2752,7 +2752,7 @@ void func_80905674(BossGanon2* this, PlayState* play) { } void BossGanon2_Draw(Actor* thisx, PlayState* play) { - void* shadowTexture = Graph_Alloc(play->state.gfxCtx, 4096); + void* shadowTexture = GRAPH_ALLOC(play->state.gfxCtx, 4096); BossGanon2* this = (BossGanon2*)thisx; s16 i; @@ -2782,7 +2782,7 @@ void BossGanon2_Draw(Actor* thisx, PlayState* play) { Matrix_Translate(0.0f, -4000.0f, 4000.0f, MTXMODE_APPLY); Matrix_RotateX(this->unk_394, MTXMODE_APPLY); Matrix_Translate(0.0f, 4000.0f, -4000.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 5910), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5910), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, BossGanon2_OverrideLimbDraw, BossGanon2_PostLimbDraw, @@ -2918,7 +2918,7 @@ void BossGanon2_DrawEffects(PlayState* play) { Matrix_Scale(0.03f, 0.03f, 0.03f, MTXMODE_APPLY); Matrix_RotateY(effect->unk_38.z, MTXMODE_APPLY); Matrix_RotateX(effect->unk_38.y, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 6116), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 6116), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_OPA_DISP++, 0x08, Gfx_TexScroll(play->state.gfxCtx, 0, 0 - (play->gameplayFrames & 0x7F), 32, 32)); @@ -2936,7 +2936,7 @@ void BossGanon2_DrawEffects(PlayState* play) { Matrix_Translate(effect->position.x + temp_f0, 1086.0f, (effect->position.z - 1.0f) + temp_f0, MTXMODE_NEW); Matrix_RotateY(angle, MTXMODE_APPLY); Matrix_Scale(1.0f, 0.0f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 6155), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 6155), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanonMasterSwordShadowDL); } @@ -2955,7 +2955,7 @@ void BossGanon2_DrawEffects(PlayState* play) { Matrix_RotateY(effect->unk_38.z, MTXMODE_APPLY); Matrix_RotateX(effect->unk_38.y, MTXMODE_APPLY); Matrix_RotateZ(effect->unk_38.x, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 6179), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 6179), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gGanonRubbleDL); } @@ -3075,7 +3075,7 @@ void BossGanon2_DrawShadowTexture(void* shadowTexture, BossGanon2* this, PlaySta gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 0); Matrix_Translate(this->actor.world.pos.x, this->actor.floorHeight, this->actor.world.pos.z - 20.0f, MTXMODE_NEW); Matrix_Scale(1.65f, 1.0f, 1.65f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_ganon2.c", 6457), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 6457), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gGanonShadowMaterialDL); gDPLoadTextureBlock(POLY_OPA_DISP++, shadowTexture, G_IM_FMT_I, G_IM_SIZ_8b, 64, 64, 0, G_TX_NOMIRROR | G_TX_CLAMP, diff --git a/src/overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.c b/src/overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.c index f817bd62a6..fbf301f2cb 100644 --- a/src/overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.c +++ b/src/overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.c @@ -1224,7 +1224,7 @@ void BossGanondrof_Death(BossGanondrof* this, PlayState* play) { void BossGanondrof_CollisionCheck(BossGanondrof* this, PlayState* play) { s32 acHit; EnfHG* horse = (EnfHG*)this->actor.child; - ColliderInfo* hurtbox; + ColliderElement* acHitElem; if (this->work[GND_INVINC_TIMER] != 0) { this->work[GND_INVINC_TIMER]--; @@ -1235,17 +1235,18 @@ void BossGanondrof_CollisionCheck(BossGanondrof* this, PlayState* play) { if ((acHit && ((s8)this->actor.colChkInfo.health > 0)) || (this->returnCount != 0)) { if (acHit) { this->colliderBody.base.acFlags &= ~AC_HIT; - hurtbox = this->colliderBody.info.acHitInfo; + acHitElem = this->colliderBody.elem.acHitElem; } if (this->flyMode != GND_FLY_PAINTING) { - if (acHit && (this->actionFunc != BossGanondrof_Stunned) && (hurtbox->toucher.dmgFlags & DMG_RANGED)) { + if (acHit && (this->actionFunc != BossGanondrof_Stunned) && + (acHitElem->toucher.dmgFlags & DMG_RANGED)) { Actor_PlaySfx(&this->actor, NA_SE_NONE); osSyncPrintf("hit != 0 \n"); } else if (this->actionFunc != BossGanondrof_Charge) { if (this->returnCount == 0) { u8 dmg; u8 canKill = false; - s32 dmgFlags = hurtbox->toucher.dmgFlags; + s32 dmgFlags = acHitElem->toucher.dmgFlags; if (dmgFlags & DMG_HOOKSHOT) { return; @@ -1272,7 +1273,7 @@ void BossGanondrof_CollisionCheck(BossGanondrof* this, PlayState* play) { } else { Actor_PlaySfx(&this->actor, NA_SE_NONE); } - } else if (acHit && (hurtbox->toucher.dmgFlags & DMG_RANGED)) { + } else if (acHit && (acHitElem->toucher.dmgFlags & DMG_RANGED)) { this->work[GND_INVINC_TIMER] = 10; this->actor.colChkInfo.health -= 2; horse->hitTimer = 20; @@ -1463,7 +1464,7 @@ void BossGanondrof_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec } Gfx* BossGanondrof_GetClearPixelDList(GraphicsContext* gfxCtx) { - Gfx* dList = Graph_Alloc(gfxCtx, sizeof(Gfx) * 4); + Gfx* dList = GRAPH_ALLOC(gfxCtx, sizeof(Gfx) * 4); Gfx* dListHead = dList; gDPPipeSync(dListHead++); @@ -1475,7 +1476,7 @@ Gfx* BossGanondrof_GetClearPixelDList(GraphicsContext* gfxCtx) { } Gfx* BossGanondrof_EmptyDList(GraphicsContext* gfxCtx) { - Gfx* dList = Graph_Alloc(gfxCtx, sizeof(Gfx) * 1); + Gfx* dList = GRAPH_ALLOC(gfxCtx, sizeof(Gfx) * 1); Gfx* dListHead = dList; gSPEndDisplayList(dListHead++); diff --git a/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c b/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c index 1dad9bafad..d247c6acc0 100644 --- a/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c +++ b/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c @@ -1301,7 +1301,7 @@ void BossGoma_FloorAttack(BossGoma* this, PlayState* play) { switch (this->actionState) { case 0: for (i = 0; i < this->collider.count; i++) { - if (this->collider.elements[i].info.toucherFlags & TOUCH_HIT) { + if (this->collider.elements[i].base.toucherFlags & TOUCH_HIT) { this->framesUntilNextAction = 10; break; } @@ -1807,19 +1807,19 @@ void BossGoma_UpdateHit(BossGoma* this, PlayState* play) { if (this->invincibilityFrames != 0) { this->invincibilityFrames--; } else { - ColliderInfo* acHitInfo = this->collider.elements[0].info.acHitInfo; + ColliderElement* acHitElem = this->collider.elements[0].base.acHitElem; s32 damage; if (this->eyeClosedTimer == 0 && this->actionFunc != BossGoma_CeilingSpawnGohmas && - (this->collider.elements[0].info.bumperFlags & BUMP_HIT)) { - this->collider.elements[0].info.bumperFlags &= ~BUMP_HIT; + (this->collider.elements[0].base.bumperFlags & BUMP_HIT)) { + this->collider.elements[0].base.bumperFlags &= ~BUMP_HIT; if (this->actionFunc == BossGoma_CeilingMoveToCenter || this->actionFunc == BossGoma_CeilingIdle || this->actionFunc == BossGoma_CeilingPrepareSpawnGohmas) { BossGoma_SetupFallStruckDown(this); Actor_PlaySfx(&this->actor, NA_SE_EN_GOMA_DAM2); } else if (this->actionFunc == BossGoma_FloorStunned && - (damage = CollisionCheck_GetSwordDamage(acHitInfo->toucher.dmgFlags)) != 0) { + (damage = CollisionCheck_GetSwordDamage(acHitElem->toucher.dmgFlags)) != 0) { this->actor.colChkInfo.health -= damage; if ((s8)this->actor.colChkInfo.health > 0) { @@ -1833,14 +1833,14 @@ void BossGoma_UpdateHit(BossGoma* this, PlayState* play) { this->invincibilityFrames = 10; } else if (this->actionFunc != BossGoma_FloorStunned && this->patienceTimer != 0 && - (acHitInfo->toucher.dmgFlags & (DMG_SLINGSHOT | DMG_DEKU_NUT))) { + (acHitElem->toucher.dmgFlags & (DMG_SLINGSHOT | DMG_DEKU_NUT))) { Actor_PlaySfx(&this->actor, NA_SE_EN_GOMA_DAM2); Audio_StopSfxById(NA_SE_EN_GOMA_CRY1); this->invincibilityFrames = 10; BossGoma_SetupFloorStunned(this); this->sfxFaintTimer = 100; - if (acHitInfo->toucher.dmgFlags & DMG_DEKU_NUT) { + if (acHitElem->toucher.dmgFlags & DMG_DEKU_NUT) { this->framesUntilNextAction = 40; } else { this->framesUntilNextAction = 90; @@ -2004,7 +2004,7 @@ s32 BossGoma_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f if (*dList != NULL) { Matrix_Push(); Matrix_Scale(this->eyeIrisScaleX, this->eyeIrisScaleY, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_goma.c", 4815), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_goma.c", 4815), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, *dList); Matrix_Pop(); @@ -2025,7 +2025,7 @@ s32 BossGoma_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f Matrix_Scale(this->tailLimbsScale[limbIndex - BOSSGOMA_LIMB_TAIL4], this->tailLimbsScale[limbIndex - BOSSGOMA_LIMB_TAIL4], this->tailLimbsScale[limbIndex - BOSSGOMA_LIMB_TAIL4], MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_goma.c", 4836), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_goma.c", 4836), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, *dList); Matrix_Pop(); @@ -2094,7 +2094,7 @@ Gfx* BossGoma_EmptyDlist(GraphicsContext* gfxCtx) { Gfx* dListHead; Gfx* dList; - dList = dListHead = Graph_Alloc(gfxCtx, sizeof(Gfx) * 1); + dList = dListHead = GRAPH_ALLOC(gfxCtx, sizeof(Gfx) * 1); gSPEndDisplayList(dListHead++); @@ -2105,7 +2105,7 @@ Gfx* BossGoma_NoBackfaceCullingDlist(GraphicsContext* gfxCtx) { Gfx* dListHead; Gfx* dList; - dList = dListHead = Graph_Alloc(gfxCtx, sizeof(Gfx) * 4); + dList = dListHead = GRAPH_ALLOC(gfxCtx, sizeof(Gfx) * 4); gDPPipeSync(dListHead++); gDPSetRenderMode(dListHead++, G_RM_PASS, G_RM_AA_ZB_TEX_EDGE2); diff --git a/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c b/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c index d6378b1225..40788a433d 100644 --- a/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c +++ b/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c @@ -1139,25 +1139,25 @@ void BossMo_TentCollisionCheck(BossMo* this, PlayState* play) { s16 i1; for (i1 = 0; i1 < ARRAY_COUNT(this->tentElements); i1++) { - if (this->tentCollider.elements[i1].info.bumperFlags & BUMP_HIT) { + if (this->tentCollider.elements[i1].base.bumperFlags & BUMP_HIT) { s16 i2; - ColliderInfo* hurtbox; + ColliderElement* acHitElem; for (i2 = 0; i2 < 19; i2++) { - this->tentCollider.elements[i2].info.bumperFlags &= ~BUMP_HIT; - this->tentCollider.elements[i2].info.toucherFlags &= ~TOUCH_HIT; + this->tentCollider.elements[i2].base.bumperFlags &= ~BUMP_HIT; + this->tentCollider.elements[i2].base.toucherFlags &= ~TOUCH_HIT; } - hurtbox = this->tentCollider.elements[i1].info.acHitInfo; + acHitElem = this->tentCollider.elements[i1].base.acHitElem; this->work[MO_TENT_INVINC_TIMER] = 5; - if (hurtbox->toucher.dmgFlags & DMG_MAGIC_FIRE) { + if (acHitElem->toucher.dmgFlags & DMG_MAGIC_FIRE) { Sfx_PlaySfxAtPos(&this->tentTipPos, NA_SE_EN_MOFER_CUT); this->cutIndex = 15; this->meltIndex = this->cutIndex + 1; this->work[MO_TENT_ACTION_STATE] = MO_TENT_CUT; this->timers[0] = 40; this->cutScale = 1.0f; - } else if (hurtbox->toucher.dmgFlags & (DMG_JUMP_MASTER | DMG_JUMP_GIANT | DMG_SPIN_MASTER | - DMG_SPIN_GIANT | DMG_SLASH_GIANT | DMG_SLASH_MASTER)) { + } else if (acHitElem->toucher.dmgFlags & (DMG_JUMP_MASTER | DMG_JUMP_GIANT | DMG_SPIN_MASTER | + DMG_SPIN_GIANT | DMG_SLASH_GIANT | DMG_SLASH_MASTER)) { this->playerHitTimer = 5; } this->tentRippleSize = 0.2f; @@ -1175,8 +1175,8 @@ void BossMo_TentCollisionCheck(BossMo* this, PlayState* play) { Rand_ZeroFloat(0.08f) + 0.13f); } break; - } else if (this->tentCollider.elements[i1].info.toucherFlags & TOUCH_HIT) { - this->tentCollider.elements[i1].info.toucherFlags &= ~TOUCH_HIT; + } else if (this->tentCollider.elements[i1].base.toucherFlags & TOUCH_HIT) { + this->tentCollider.elements[i1].base.toucherFlags &= ~TOUCH_HIT; this->playerHitTimer = 5; break; } @@ -1745,17 +1745,17 @@ void BossMo_CoreCollisionCheck(BossMo* this, PlayState* play) { } } if (this->coreCollider.base.acFlags & AC_HIT) { - ColliderInfo* hurtbox = this->coreCollider.info.acHitInfo; + ColliderElement* acHitElem = this->coreCollider.elem.acHitElem; // "hit!!" osSyncPrintf("Core_Damage_check 当り!!\n"); this->coreCollider.base.acFlags &= ~AC_HIT; - if ((hurtbox->toucher.dmgFlags & DMG_MAGIC_FIRE) && (this->work[MO_TENT_ACTION_STATE] == MO_CORE_ATTACK)) { + if ((acHitElem->toucher.dmgFlags & DMG_MAGIC_FIRE) && (this->work[MO_TENT_ACTION_STATE] == MO_CORE_ATTACK)) { this->work[MO_TENT_ACTION_STATE] = MO_CORE_RETREAT; } // "hit 2 !!" osSyncPrintf("Core_Damage_check 当り 2 !!\n"); if ((this->work[MO_TENT_ACTION_STATE] != MO_CORE_UNDERWATER) && (this->work[MO_TENT_INVINC_TIMER] == 0)) { - u8 damage = CollisionCheck_GetSwordDamage(hurtbox->toucher.dmgFlags); + u8 damage = CollisionCheck_GetSwordDamage(acHitElem->toucher.dmgFlags); if ((damage != 0) && (this->work[MO_TENT_ACTION_STATE] < MO_CORE_ATTACK)) { // "sword hit !!" @@ -1793,7 +1793,7 @@ void BossMo_CoreCollisionCheck(BossMo* this, PlayState* play) { } } this->work[MO_TENT_INVINC_TIMER] = 10; - } else if (!(hurtbox->toucher.dmgFlags & DMG_SHIELD) && (hurtbox->toucher.dmgFlags & DMG_HOOKSHOT)) { + } else if (!(acHitElem->toucher.dmgFlags & DMG_SHIELD) && (acHitElem->toucher.dmgFlags & DMG_HOOKSHOT)) { if (this->work[MO_TENT_ACTION_STATE] >= MO_CORE_ATTACK) { Sfx_PlaySfxAtPos(&sMorphaTent1->tentTipPos, NA_SE_EN_MOFER_CUT); sMorphaTent1->cutIndex = this->work[MO_CORE_POS_IN_TENT]; @@ -2434,7 +2434,7 @@ void BossMo_DrawTentacle(BossMo* this, PlayState* play) { s16 i; s16 notCut; s16 index; - Mtx* matrix = Graph_Alloc(play->state.gfxCtx, 41 * sizeof(Mtx)); + Mtx* matrix = GRAPH_ALLOC(play->state.gfxCtx, 41 * sizeof(Mtx)); f32 phi_f20; f32 phi_f22; Vec3f sp110; @@ -2489,7 +2489,7 @@ void BossMo_DrawTentacle(BossMo* this, PlayState* play) { MTXMODE_APPLY); } Matrix_RotateX(M_PI / 2.0f, MTXMODE_APPLY); - Matrix_ToMtx(matrix, "../z_boss_mo.c", 6452); + MATRIX_TO_MTX(matrix, "../z_boss_mo.c", 6452); gSPMatrix(POLY_XLU_DISP++, matrix, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); @@ -2522,7 +2522,7 @@ void BossMo_DrawTentacle(BossMo* this, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(phi_f22, phi_f22, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_mo.c", 6511), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_mo.c", 6511), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gMorphaBubbleDL); @@ -2582,7 +2582,7 @@ void BossMo_DrawWater(BossMo* this, PlayState* play) { gDPSetEnvColor(POLY_XLU_DISP++, 0, 100, 255, 80); Matrix_Scale(0.5f, 1.0f, 0.5f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_mo.c", 6675), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_mo.c", 6675), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gMorphaWaterDL); @@ -2613,7 +2613,7 @@ void BossMo_DrawCore(Actor* thisx, PlayState* play) { Matrix_RotateX(this->work[MO_TENT_MOVE_TIMER] * 0.5f, MTXMODE_APPLY); Matrix_RotateZ(this->work[MO_TENT_MOVE_TIMER] * 0.8f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_mo.c", 6735), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_mo.c", 6735), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(POLY_XLU_DISP++, 0x80, 0x80, 255, 255, 255, (s8)this->baseAlpha); @@ -2651,7 +2651,7 @@ void BossMo_DrawCore(Actor* thisx, PlayState* play) { Matrix_Translate(this->actor.world.pos.x, groundLevel, this->actor.world.pos.z, MTXMODE_NEW); Matrix_Scale(0.23f, 1.0f, 0.23f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_mo.c", 6820), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_mo.c", 6820), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gCircleShadowDL)); @@ -2709,7 +2709,7 @@ void BossMo_DrawCore(Actor* thisx, PlayState* play) { Matrix_RotateX(M_PI / 2.0f, MTXMODE_APPLY); Matrix_Scale(0.05f, 1.0f, 0.05f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_mo.c", 6941), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_mo.c", 6941), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gMorphaWaterDL); @@ -2923,7 +2923,7 @@ void BossMo_DrawEffects(BossMoEffect* effect, PlayState* play) { Matrix_Translate(effect->pos.x, effect->pos.y, effect->pos.z, MTXMODE_NEW); Matrix_Scale(effect->scale, 1.0f, effect->scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_mo.c", 7294), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_mo.c", 7294), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffWaterRippleDL); @@ -2946,7 +2946,7 @@ void BossMo_DrawEffects(BossMoEffect* effect, PlayState* play) { Matrix_Translate(effect->pos.x, effect->pos.y, effect->pos.z, MTXMODE_NEW); Matrix_Scale(effect->scale, 1.0f, effect->scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_mo.c", 7330), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_mo.c", 7330), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffShockwaveDL); @@ -2975,7 +2975,7 @@ void BossMo_DrawEffects(BossMoEffect* effect, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(effect->scale / effect->fwork[MO_FX_STRETCH], effect->fwork[MO_FX_STRETCH] * effect->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_mo.c", 7373), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_mo.c", 7373), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gMorphaDropletModelDL); @@ -3001,7 +3001,7 @@ void BossMo_DrawEffects(BossMoEffect* effect, PlayState* play) { Matrix_Translate(effect->pos.x, effect->pos.y, effect->pos.z, MTXMODE_NEW); Matrix_Scale(effect->scale, 1.0f, effect->scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_mo.c", 7441), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_mo.c", 7441), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gMorphaWetSpotModelDL); @@ -3025,7 +3025,7 @@ void BossMo_DrawEffects(BossMoEffect* effect, PlayState* play) { Matrix_Translate(effect->pos.x, effect->pos.y, effect->pos.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_mo.c", 7476), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_mo.c", 7476), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gMorphaBubbleDL); diff --git a/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c b/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c index 1a0c1326eb..ac481ba0c7 100644 --- a/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c +++ b/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c @@ -870,10 +870,10 @@ void BossSst_HeadStunned(BossSst* this, PlayState* play) { void BossSst_HeadSetupVulnerable(BossSst* this) { Animation_MorphToLoop(&this->skelAnime, &gBongoHeadStunnedAnim, -5.0f); this->colliderCyl.base.acFlags |= AC_ON; - this->colliderCyl.info.bumper.dmgFlags = DMG_SWORD | DMG_DEKU_STICK; + this->colliderCyl.elem.bumper.dmgFlags = DMG_SWORD | DMG_DEKU_STICK; this->actor.speed = 0.0f; - this->colliderJntSph.elements[10].info.bumperFlags |= (BUMP_ON | BUMP_HOOKABLE); - this->colliderJntSph.elements[0].info.bumperFlags &= ~BUMP_ON; + this->colliderJntSph.elements[10].base.bumperFlags |= (BUMP_ON | BUMP_HOOKABLE); + this->colliderJntSph.elements[0].base.bumperFlags &= ~BUMP_ON; if (this->actionFunc != BossSst_HeadDamage) { this->timer = 50; } @@ -929,9 +929,9 @@ void BossSst_HeadDamage(BossSst* this, PlayState* play) { void BossSst_HeadSetupRecover(BossSst* this) { Animation_MorphToPlayOnce(&this->skelAnime, &gBongoHeadRecoverAnim, -5.0f); this->colliderCyl.base.acFlags &= ~AC_ON; - this->colliderCyl.info.bumper.dmgFlags = DMG_DEFAULT; - this->colliderJntSph.elements[10].info.bumperFlags &= ~(BUMP_ON | BUMP_HOOKABLE); - this->colliderJntSph.elements[0].info.bumperFlags |= BUMP_ON; + this->colliderCyl.elem.bumper.dmgFlags = DMG_DEFAULT; + this->colliderJntSph.elements[10].base.bumperFlags &= ~(BUMP_ON | BUMP_HOOKABLE); + this->colliderJntSph.elements[0].base.bumperFlags |= BUMP_ON; this->vVanish = true; this->actor.speed = 5.0f; this->actionFunc = BossSst_HeadRecover; @@ -2496,7 +2496,7 @@ void BossSst_HandSetDamage(BossSst* this, s32 damage) { this->colliderJntSph.base.atFlags |= AT_ON; for (i = 0; i < 11; i++) { - this->colliderJntSph.elements[i].info.toucher.damage = damage; + this->colliderJntSph.elements[i].base.toucher.damage = damage; } } @@ -2926,7 +2926,7 @@ void BossSst_DrawHead(Actor* thisx, PlayState* play) { this->actor.world.pos.z + vanishMaskOffset.z, MTXMODE_NEW); Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_sst.c", 6934), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_sst.c", 6934), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, sIntroVanishDList); } @@ -3186,7 +3186,7 @@ void BossSst_DrawEffects(Actor* thisx, PlayState* play) { Matrix_RotateZYX(effect->rot.x, effect->rot.y, effect->rot.z, MTXMODE_APPLY); Matrix_Scale(effect->scale * 0.001f, effect->scale * 0.001f, effect->scale * 0.001f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_sst.c", 7350), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_sst.c", 7350), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBongoIceShardDL); } @@ -3209,7 +3209,7 @@ void BossSst_DrawEffects(Actor* thisx, PlayState* play) { gDPPipeSync(POLY_XLU_DISP++); gDPSetPrimColor(POLY_XLU_DISP++, 0x80, 0x80, 30, 0, 30, effect->alpha * effect->move); gDPSetEnvColor(POLY_XLU_DISP++, 30, 0, 30, 0); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_sst.c", 7396), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_sst.c", 7396), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffFireCircleDL); } @@ -3223,7 +3223,7 @@ void BossSst_DrawEffects(Actor* thisx, PlayState* play) { Matrix_Translate(effect->pos.x, effect->pos.y, effect->pos.z, MTXMODE_NEW); Matrix_Scale(effect->scale * 0.001f, 1.0f, effect->scale * 0.001f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_sst.c", 7423), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_sst.c", 7423), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, sShadowDList); effect++; diff --git a/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c b/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c index 7507ab62df..2dd7ca3b5d 100644 --- a/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c +++ b/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c @@ -464,7 +464,7 @@ void BossTw_Init(Actor* thisx, PlayState* play2) { if (this->actor.params == TW_FIRE_BLAST || this->actor.params == TW_FIRE_BLAST_GROUND) { this->actionFunc = BossTw_BlastFire; - this->collider.info.toucher.effect = 1; + this->collider.elem.toucher.effect = 1; } else if (this->actor.params == TW_ICE_BLAST || this->actor.params == TW_ICE_BLAST_GROUND) { this->actionFunc = BossTw_BlastIce; } else if (this->actor.params >= TW_DEATHBALL_KOTAKE) { @@ -811,12 +811,12 @@ s32 BossTw_BeamHitPlayerCheck(BossTw* this, PlayState* play) { if (sFreezeState == 0) { sFreezeState = 1; } - } else if (!player->isBurning) { + } else if (!player->bodyIsBurning) { for (i = 0; i < PLAYER_BODYPART_MAX; i++) { - player->flameTimers[i] = Rand_S16Offset(0, 200); + player->bodyFlameTimers[i] = Rand_S16Offset(0, 200); } - player->isBurning = true; + player->bodyIsBurning = true; Player_PlaySfx(player, player->ageProperties->unk_92 + NA_SE_VO_LI_DEMO_DAMAGE); } } @@ -2022,14 +2022,14 @@ void BossTw_TwinrovaIntroCS(BossTw* this, PlayState* play) { Actor_SetScale(&sKotakePtr->actor, 0.014999999f); } } else { - sKoumePtr->actor.shape.rot.y = sKoumePtr->actor.shape.rot.y + (s16)this->subCamYawStep; + sKoumePtr->actor.shape.rot.y += (s16)this->subCamYawStep; } } else { if ((this->work[CS_TIMER_1] % 8) == 0) { Actor_PlaySfx(&sKoumePtr->actor, NA_SE_EN_TWINROBA_ROLL); } - sKoumePtr->actor.shape.rot.y = sKoumePtr->actor.shape.rot.y + (s16)this->subCamYawStep; + sKoumePtr->actor.shape.rot.y += (s16)this->subCamYawStep; Math_ApproachF(&this->subCamYawStep, 12288.0f, 1.0f, 384.0f); if (Animation_OnFrame(&sKoumePtr->skelAnime, this->workf[ANIM_SW_TGT])) { @@ -2182,14 +2182,14 @@ void BossTw_TwinrovaIntroCS(BossTw* this, PlayState* play) { this->spawnPortalAlpha = 0.0f; } } else { - sKotakePtr->actor.shape.rot.y = sKotakePtr->actor.shape.rot.y + (s16)this->subCamYawStep; + sKotakePtr->actor.shape.rot.y += (s16)this->subCamYawStep; } } else { if ((this->work[CS_TIMER_1] % 8) == 0) { Actor_PlaySfx(&sKotakePtr->actor, NA_SE_EN_TWINROBA_ROLL); } - sKotakePtr->actor.shape.rot.y = sKotakePtr->actor.shape.rot.y + (s16)this->subCamYawStep; + sKotakePtr->actor.shape.rot.y += (s16)this->subCamYawStep; Math_ApproachF(&this->subCamYawStep, 12288.0f, 1.0f, 384.0f); if (Animation_OnFrame(&sKotakePtr->skelAnime, this->workf[ANIM_SW_TGT])) { @@ -3093,19 +3093,19 @@ void BossTw_TwinrovaUpdate(Actor* thisx, PlayState* play2) { BossTw_TwinrovaDamage(this, play, 0); Actor_PlaySfx(&this->actor, NA_SE_EN_TWINROBA_YOUNG_DAMAGE); } else if (this->collider.base.acFlags & AC_HIT) { - ColliderInfo* info = this->collider.info.acHitInfo; + ColliderElement* acHitElem = this->collider.elem.acHitElem; this->collider.base.acFlags &= ~AC_HIT; - if (info->toucher.dmgFlags & (DMG_SLINGSHOT | DMG_ARROW)) {} + if (acHitElem->toucher.dmgFlags & (DMG_SLINGSHOT | DMG_ARROW)) {} } } else if (this->collider.base.acFlags & AC_HIT) { u8 damage; u8 swordDamage; - ColliderInfo* info = this->collider.info.acHitInfo; + ColliderElement* acHitElem = this->collider.elem.acHitElem; this->collider.base.acFlags &= ~AC_HIT; swordDamage = false; - damage = CollisionCheck_GetSwordDamage(info->toucher.dmgFlags); + damage = CollisionCheck_GetSwordDamage(acHitElem->toucher.dmgFlags); if (damage == 0) { damage = 2; @@ -3113,7 +3113,7 @@ void BossTw_TwinrovaUpdate(Actor* thisx, PlayState* play2) { swordDamage = true; } - if (!(info->toucher.dmgFlags & DMG_HOOKSHOT)) { + if (!(acHitElem->toucher.dmgFlags & DMG_HOOKSHOT)) { if (((s8)this->actor.colChkInfo.health < 3) && !swordDamage) { damage = 0; } @@ -3172,7 +3172,7 @@ void BossTw_TwinrovaUpdate(Actor* thisx, PlayState* play2) { } } - if (player->isBurning && sShieldIceCharge != 0) { + if (player->bodyIsBurning && sShieldIceCharge != 0) { sShieldIceCharge = 4; } } @@ -3222,7 +3222,7 @@ void BossTw_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot Matrix_MultVec3f(&D_8094A950, &this->crownPos); if (this->unk_5F8 != 0) { - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 6190), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 6190), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); if (this->actor.params == TW_KOTAKE) { gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaKotakeIceHairDL)); @@ -3240,7 +3240,7 @@ void BossTw_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot Matrix_MultVec3f(&D_8094A95C[4], &this->scepterFlamePos[4]); if (this->scepterAlpha > 0.0f) { - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 6221), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 6221), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); if (this->actor.params == TW_KOTAKE) { gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 225, 255, (s16)this->scepterAlpha); @@ -3269,7 +3269,7 @@ void func_80941BC0(BossTw* this, PlayState* play) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); Matrix_Translate(this->groundBlastPos2.x, this->groundBlastPos2.y, this->groundBlastPos2.z, MTXMODE_NEW); Matrix_Scale(this->workf[UNK_F12], this->workf[UNK_F12], this->workf[UNK_F12], MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 6358), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 6358), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, (s16)this->workf[UNK_F11]); gDPSetEnvColor(POLY_XLU_DISP++, 0, 40, 30, 80); @@ -3281,11 +3281,11 @@ void func_80941BC0(BossTw* this, PlayState* play) { (u32)this->workf[UNK_F16] & 0x3F, (this->work[CS_TIMER_2] * 4) & 0x3F, 0x10, 0x10)); Matrix_Push(); Matrix_RotateY(this->workf[UNK_F15], MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 6423), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 6423), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaIcePoolShineDL)); Matrix_Pop(); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 6427), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 6427), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); gSPSegment(POLY_XLU_DISP++, 0xD, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, this->work[CS_TIMER_2] & 0x7F, @@ -3317,7 +3317,7 @@ void func_80942180(BossTw* this, PlayState* play) { gSPSegment(POLY_XLU_DISP++, 8, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, (-this->work[CS_TIMER_1]) & 0x7F, 0, 0x20, 0x20, 1, (this->work[CS_TIMER_1] * 2) & 0x7F, 0, 0x20, 0x20)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 6497), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 6497), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 100, 40, 00, (s16)this->workf[KM_GRND_CRTR_A]); gDPPipeSync(POLY_XLU_DISP++); @@ -3325,7 +3325,7 @@ void func_80942180(BossTw* this, PlayState* play) { gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaFirePoolDL)); Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 6514), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 6514), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); gSPSegment(POLY_XLU_DISP++, 8, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, this->work[CS_TIMER_1] & 0x7F, @@ -3343,7 +3343,7 @@ void func_80942180(BossTw* this, PlayState* play) { gDPPipeSync(POLY_XLU_DISP++); gDPSetEnvColor(POLY_XLU_DISP++, 200, 235, 240, 128); Matrix_Scale(this->workf[KM_GD_FLM_SCL], this->workf[KM_GD_FLM_SCL], this->workf[KM_GD_FLM_SCL], MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 6575), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 6575), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaBigFlameDL)); @@ -3366,7 +3366,7 @@ void func_809426F0(BossTw* this, PlayState* play) { Matrix_Scale(this->spawnPortalScale / 2000.0f, this->spawnPortalScale / 2000.0f, this->spawnPortalScale / 2000.0f, MTXMODE_APPLY); Matrix_RotateZ(this->portalRotation, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 6614), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 6614), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); if (this->actor.params == TW_KOTAKE) { @@ -3398,7 +3398,7 @@ void func_809426F0(BossTw* this, PlayState* play) { (u8)((-this->work[CS_TIMER_2] * 15) + (i * 50)), 0x20, 0x40, 1, 0, 0, 0x20, 0x20)); Matrix_Scale(0.4f, 0.4f, 0.4f, MTXMODE_APPLY); Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 6751), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 6751), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaFireDL)); Matrix_Pop(); @@ -3432,7 +3432,7 @@ void func_80942C70(Actor* thisx, PlayState* play) { Matrix_RotateX(this->beamPitch, MTXMODE_APPLY); Matrix_RotateZ(this->beamRoll, MTXMODE_APPLY); Matrix_Scale(this->beamScale, this->beamScale, (this->beamDist * 0.01f * 98.0f) / 20000.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 6846), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 6846), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaBeamDL)); @@ -3444,7 +3444,7 @@ void func_80942C70(Actor* thisx, PlayState* play) { Matrix_RotateZ(this->beamRoll, MTXMODE_APPLY); Matrix_Scale(this->beamScale, this->beamScale, (this->beamReflectionDist * 0.01f * 100.0f) / 20000.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 6870), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 6870), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaBeamDL)); } @@ -3464,7 +3464,7 @@ void func_80943028(Actor* thisx, PlayState* play) { Matrix_Translate(this->actor.world.pos.x, this->actor.world.pos.y + 57.0f, this->actor.world.pos.z, MTXMODE_NEW); Matrix_Scale(this->workf[UNK_F17], this->workf[UNK_F17], this->workf[UNK_F17], MTXMODE_APPLY); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 255); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 6908), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 6908), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaHaloDL)); Gfx_SetupDL_44Xlu(play->state.gfxCtx); @@ -3472,7 +3472,7 @@ void func_80943028(Actor* thisx, PlayState* play) { Matrix_Translate(this->actor.world.pos.x, 240.0f, this->actor.world.pos.z, MTXMODE_NEW); Matrix_Scale((this->actor.scale.x * 4000.0f) / 100.0f, 1.0f, (this->actor.scale.x * 4000.0f) / 100.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 6926), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 6926), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gCircleShadowDL)); Matrix_Pop(); @@ -3665,7 +3665,7 @@ void BossTw_TwinrovaPostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Ve case TWINROVA_LIMB_BROOM_FIRE_TRAIL: Matrix_Push(); Matrix_Scale(this->workf[UNK_F12], this->workf[UNK_F12], this->workf[UNK_F12], MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 7295), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 7295), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); Matrix_Pop(); gSPDisplayList(POLY_XLU_DISP++, *dList); @@ -3716,7 +3716,7 @@ void BossTw_ShieldChargeDraw(BossTw* this, PlayState* play) { if (temp_t0 != 0) { Matrix_Mult(&player->shieldMf, MTXMODE_NEW); Matrix_RotateX(M_PI / 2.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 7362), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 7362), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); temp_a0 = (Math_SinS(this->work[CS_TIMER_1] * 2730 * temp_t0) * D_8094C854 * 0.5f) + (D_8094C854 * 0.5f); if (sShieldFireCharge != 0) { @@ -3757,7 +3757,7 @@ void BossTw_ShieldChargeDraw(BossTw* this, PlayState* play) { Matrix_Mult(&player->shieldMf, MTXMODE_NEW); Matrix_RotateX(M_PI / 2.0f, MTXMODE_APPLY); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 7486), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 7486), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); if (sShieldFireCharge != 0) { gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 220, 20, (s16)D_8094C858); @@ -3793,28 +3793,28 @@ void BossTw_SpawnPortalDraw(BossTw* this, PlayState* play) { Matrix_Translate(0.0f, 232.0f, -600.0f, MTXMODE_NEW); Matrix_Scale(this->spawnPortalScale, this->spawnPortalScale, this->spawnPortalScale, MTXMODE_APPLY); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 0, 0, 0, (s16)this->spawnPortalAlpha); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 7582), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 7582), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaSpawnPortalShadowDL)); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 135, 175, 165, (s16)this->spawnPortalAlpha); Matrix_Translate(0.0f, 2.0f, 0.0f, MTXMODE_APPLY); Matrix_RotateX(M_PI / 2.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 7596), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 7596), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaKotakeMagicSigilDL)); Matrix_Translate(0.0f, 232.0f, 600.0f, MTXMODE_NEW); Matrix_Scale(this->spawnPortalScale, this->spawnPortalScale, this->spawnPortalScale, MTXMODE_APPLY); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 0, 0, 0, (s16)this->spawnPortalAlpha); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 7617), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 7617), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaSpawnPortalShadowDL)); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 0, (s16)this->spawnPortalAlpha); Matrix_Translate(0.0f, 2.0f, 0.0f, MTXMODE_APPLY); Matrix_RotateX(M_PI / 2.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 7631), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 7631), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaKoumeMagicSigilDL)); @@ -3834,7 +3834,7 @@ void func_80944C50(BossTw* this, PlayState* play) { Matrix_Scale(0.35f, 0.35f, 0.35f, MTXMODE_APPLY); Matrix_Push(); Matrix_Scale(this->workf[UNK_F19], this->workf[UNK_F19], this->workf[UNK_F19], MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 7671), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 7671), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaLightCircleDL)); @@ -3843,7 +3843,7 @@ void func_80944C50(BossTw* this, PlayState* play) { Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, -sKoumePtr->work[CS_TIMER_1] * 2, 0, 0x20, 0x20, 1, -sKoumePtr->work[CS_TIMER_1] * 2, 0, 0x20, 0x40)); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, (s16)this->workf[UNK_F18] / 2); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 7694), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 7694), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaLightRaysDL)); @@ -3857,7 +3857,7 @@ void func_80944C50(BossTw* this, PlayState* play) { scale = CLAMP_MAX(scale, 1.0f); Matrix_Scale(scale, 1.0f, scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 7728), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 7728), G_MTX_LOAD | G_MTX_MODELVIEW | G_MTX_NOPUSH); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaLightPillarDL)); Matrix_Pop(); @@ -3951,7 +3951,7 @@ void BossTw_BlastFire(BossTw* this, PlayState* play) { this->actor.world.pos.y = -2000.0f; Matrix_MtxFToYXZRotS(&player2->shieldMf, &blastDir, 0); blastDir.x = -blastDir.x; - blastDir.y = blastDir.y + 0x8000; + blastDir.y += 0x8000; Math_ApproachS(&this->magicDir.x, blastDir.x, 0xA, 0x800); Math_ApproachS(&this->magicDir.y, blastDir.y, 0xA, 0x800); @@ -4055,15 +4055,15 @@ void BossTw_BlastFire(BossTw* this, PlayState* play) { yDiff = sKoumePtr->groundBlastPos2.y - player->actor.world.pos.y; zDiff = sKoumePtr->groundBlastPos2.z - player->actor.world.pos.z; - if (!player->isBurning && (player->actor.bgCheckFlags & BGCHECKFLAG_GROUND) && (fabsf(yDiff) < 10.0f) && - (sqrtf(SQ(xDiff) + SQ(zDiff)) < (sKoumePtr->workf[UNK_F13] * 4550.0f))) { + if (!player->bodyIsBurning && (player->actor.bgCheckFlags & BGCHECKFLAG_GROUND) && + (fabsf(yDiff) < 10.0f) && (sqrtf(SQ(xDiff) + SQ(zDiff)) < (sKoumePtr->workf[UNK_F13] * 4550.0f))) { s16 j; for (j = 0; j < 18; j++) { - player->flameTimers[j] = Rand_S16Offset(0, 200); + player->bodyFlameTimers[j] = Rand_S16Offset(0, 200); } - player->isBurning = 1; + player->bodyIsBurning = true; if (this->work[BURN_TMR] == 0) { Player_PlaySfx(player, player->ageProperties->unk_92 + NA_SE_VO_LI_DEMO_DAMAGE); @@ -4320,7 +4320,7 @@ void BossTw_BlastIce(BossTw* this, PlayState* play) { s32 BossTw_BlastShieldCheck(BossTw* this, PlayState* play) { Player* player = GET_PLAYER(play); s32 ret = false; - ColliderInfo* info; + ColliderElement* acHitElem; if (1) {} @@ -4328,9 +4328,9 @@ s32 BossTw_BlastShieldCheck(BossTw* this, PlayState* play) { if (this->collider.base.acFlags & AC_HIT) { this->collider.base.acFlags &= ~AC_HIT; this->collider.base.atFlags &= ~AT_HIT; - info = this->collider.info.acHitInfo; + acHitElem = this->collider.elem.acHitElem; - if (info->toucher.dmgFlags & DMG_SHIELD) { + if (acHitElem->toucher.dmgFlags & DMG_SHIELD) { this->work[INVINC_TIMER] = 7; play->envCtx.lightBlend = 1.0f; Rumble_Request(0.0f, 100, 5, 4); @@ -4459,7 +4459,7 @@ void BossTw_BlastDraw(Actor* thisx, PlayState* play2) { Matrix_Scale(this->actor.scale.x * scaleFactor, this->actor.scale.y * scaleFactor, this->actor.scale.z * scaleFactor, MTXMODE_APPLY); Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 8865), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 8865), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaFireDL)); } @@ -4483,7 +4483,7 @@ void BossTw_BlastDraw(Actor* thisx, PlayState* play2) { Matrix_Scale(this->actor.scale.x * scaleFactor, this->actor.scale.y * scaleFactor, this->actor.scale.z * scaleFactor, MTXMODE_APPLY); Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 9004), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 9004), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaIceModelDL)); } @@ -4523,7 +4523,7 @@ void BossTw_DrawDeathBall(Actor* thisx, PlayState* play2) { Matrix_Scale(this->actor.scale.x * scaleFactor, this->actor.scale.y * scaleFactor, this->actor.scale.z * scaleFactor, MTXMODE_APPLY); Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 9071), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 9071), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaFireDL)); } @@ -4543,7 +4543,7 @@ void BossTw_DrawDeathBall(Actor* thisx, PlayState* play2) { Matrix_Scale(this->actor.scale.x * scaleFactor, this->actor.scale.y * scaleFactor, this->actor.scale.z * scaleFactor, MTXMODE_APPLY); Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_tw.c", 9107), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_tw.c", 9107), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaIceModelDL)); } @@ -4921,7 +4921,7 @@ void BossTw_DrawEffects(PlayState* play) { Matrix_Translate(currentEffect->pos.x, currentEffect->pos.y, currentEffect->pos.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(currentEffect->workf[EFF_SCALE], currentEffect->workf[EFF_SCALE], 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_tw.c", 9617), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_tw.c", 9617), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gTwinrovaMagicParticleModelDL); } @@ -4946,7 +4946,7 @@ void BossTw_DrawEffects(PlayState* play) { Matrix_Translate(currentEffect->pos.x, currentEffect->pos.y, currentEffect->pos.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(currentEffect->workf[EFF_SCALE], currentEffect->workf[EFF_SCALE], 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_tw.c", 9660), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_tw.c", 9660), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaIceModelDL)); } @@ -4971,7 +4971,7 @@ void BossTw_DrawEffects(PlayState* play) { Matrix_Translate(currentEffect->pos.x, currentEffect->pos.y, currentEffect->pos.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(currentEffect->workf[EFF_SCALE], currentEffect->workf[EFF_SCALE], 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_tw.c", 9709), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_tw.c", 9709), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaFireDL)); } @@ -5014,7 +5014,7 @@ void BossTw_DrawEffects(PlayState* play) { Matrix_RotateZ(currentEffect->workf[EFF_ROLL], MTXMODE_APPLY); Matrix_RotateX(M_PI / 2.0f, MTXMODE_APPLY); Matrix_Scale(currentEffect->workf[EFF_SCALE], 1.0f, currentEffect->workf[EFF_SCALE], MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_tw.c", 9775), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_tw.c", 9775), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetRenderMode(POLY_XLU_DISP++, G_RM_PASS, G_RM_AA_ZB_XLU_SURF2); gSPClearGeometryMode(POLY_XLU_DISP++, G_CULL_BACK | G_FOG); @@ -5062,7 +5062,7 @@ void BossTw_DrawEffects(PlayState* play) { currentEffect->workf[EFF_SCALE], MTXMODE_APPLY); Matrix_RotateY(BossTw_RandZeroOne() * M_PI, MTXMODE_APPLY); Matrix_RotateX((BossTw_RandZeroOne() - 0.5f) * M_PI * 0.5f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_tw.c", 9855), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_tw.c", 9855), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gTwinrovaIceModelDL)); } @@ -5091,7 +5091,7 @@ void BossTw_DrawEffects(PlayState* play) { Matrix_Translate(currentEffect->pos.x, currentEffect->pos.y, currentEffect->pos.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(currentEffect->workf[EFF_SCALE], currentEffect->workf[EFF_SCALE], 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_tw.c", 9911), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_tw.c", 9911), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (currentEffect->work[EFF_ARGS] == 0) { diff --git a/src/overlays/actors/ovl_Boss_Va/z_boss_va.c b/src/overlays/actors/ovl_Boss_Va/z_boss_va.c index 136d0548de..554c45e5ae 100644 --- a/src/overlays/actors/ovl_Boss_Va/z_boss_va.c +++ b/src/overlays/actors/ovl_Boss_Va/z_boss_va.c @@ -922,7 +922,7 @@ void BossVa_BodyIntro(BossVa* this, PlayState* play) { sSubCamEyeMaxVelFrac.z = sSubCamEyeMaxVelFrac.x; sSubCamAtMaxVelFrac = sSubCamEyeMaxVelFrac; - sSubCamAtMaxVelFrac.z = sSubCamAtMaxVelFrac.z * 1.75f; + sSubCamAtMaxVelFrac.z *= 1.75f; this->timer--; if (this->timer == 0) { @@ -1129,7 +1129,7 @@ void BossVa_BodyPhase2(BossVa* this, PlayState* play) { Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 255, COLORFILTER_BUFFLAG_OPA, 160); this->actor.colorFilterTimer = this->invincibilityTimer; } else { - this->colliderBody.info.bumper.dmgFlags = DMG_BOOMERANG; + this->colliderBody.elem.bumper.dmgFlags = DMG_BOOMERANG; } } @@ -1139,7 +1139,7 @@ void BossVa_BodyPhase2(BossVa* this, PlayState* play) { if (this->colliderBody.base.ac->id == ACTOR_EN_BOOM) { sPhase2Timer &= 0xFE00; Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 255, COLORFILTER_BUFFLAG_OPA, 160); - this->colliderBody.info.bumper.dmgFlags = DMG_SWORD | DMG_BOOMERANG | DMG_DEKU_STICK; + this->colliderBody.elem.bumper.dmgFlags = DMG_SWORD | DMG_BOOMERANG | DMG_DEKU_STICK; } else { sKillBari++; if ((this->actor.colorFilterTimer != 0) && !(this->actor.colorFilterParams & 0x4000)) { @@ -1217,7 +1217,7 @@ void BossVa_BodyPhase2(BossVa* this, PlayState* play) { } void BossVa_SetupBodyPhase3(BossVa* this) { - this->colliderBody.info.bumper.dmgFlags = DMG_BOOMERANG; + this->colliderBody.elem.bumper.dmgFlags = DMG_BOOMERANG; this->actor.speed = 0.0f; sPhase3StopMoving = false; BossVa_SetupAction(this, BossVa_BodyPhase3); @@ -1421,7 +1421,7 @@ void BossVa_BodyPhase4(BossVa* this, PlayState* play) { } Math_SmoothStepToF(&this->actor.speed, ((sFightPhase - PHASE_4 + 1) * 1.5f) + 4.0f, 1.0f, 0.25f, 0.0f); } - this->colliderBody.info.bumper.dmgFlags = DMG_BOOMERANG; + this->colliderBody.elem.bumper.dmgFlags = DMG_BOOMERANG; } else { Math_SmoothStepToS(&this->vaBodySpinRate, 0, 1, 0x96, 0); if (this->timer > 0) { @@ -1429,7 +1429,7 @@ void BossVa_BodyPhase4(BossVa* this, PlayState* play) { this->timer = 35; } Math_SmoothStepToF(&this->actor.shape.yOffset, -480.0f, 1.0f, 30.0f, 0.0f); - this->colliderBody.info.bumper.dmgFlags = DMG_SWORD | DMG_BOOMERANG | DMG_DEKU_STICK; + this->colliderBody.elem.bumper.dmgFlags = DMG_SWORD | DMG_BOOMERANG | DMG_DEKU_STICK; this->timer--; } else { if ((player->stateFlags1 & PLAYER_STATE1_26) && (this->timer < -60)) { @@ -2893,11 +2893,11 @@ void BossVa_BodyPostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* Matrix_MultVec3f(&sp78, &this->unk_1D8); } else if ((limbIndex >= 10) && (limbIndex < 20) && (sBodyBari[limbIndex - 10] != 0)) { if (((limbIndex >= 16) || (limbIndex == 10)) && (sFightPhase <= PHASE_3)) { - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_va.c", 4208), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_va.c", 4208), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBarinadeDL_008BB8); } else if ((limbIndex >= 11) && (sFightPhase <= PHASE_2)) { - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_va.c", 4212), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_va.c", 4212), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBarinadeDL_008BB8); } @@ -2912,11 +2912,11 @@ void BossVa_BodyPostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* gSPSegment(POLY_XLU_DISP++, 0x09, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0, (play->gameplayFrames * 10) % 128, 16, 32, 1, 0, (play->gameplayFrames * 5) % 128, 16, 32)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_va.c", 4232), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_va.c", 4232), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBarinadeDL_008D70); } else if ((*dList != NULL) && (limbIndex >= 29) && (limbIndex < 56)) { - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_va.c", 4236), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_va.c", 4236), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, *dList); } else if ((limbIndex == 24) && (sCsState < DEATH_START)) { @@ -3139,11 +3139,11 @@ void BossVa_BariPostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* gSPSegment(POLY_XLU_DISP++, 0x0A, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0, (play->gameplayFrames * 10) % 32, 16, 32, 1, 0, (play->gameplayFrames * -5) % 32, 16, 32)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_va.c", 4508), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_va.c", 4508), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBarinadeDL_000FA0); } else if ((limbIndex == 3) || (limbIndex == 4)) { - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_va.c", 4512), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_va.c", 4512), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, *dList); } @@ -3513,7 +3513,7 @@ void BossVa_DrawEffects(BossVaEffect* effect, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_RotateZ((effect->rot.z / (f32)0x8000) * 3.1416f, MTXMODE_APPLY); Matrix_Scale(effect->scale * 0.0185f, effect->scale * 0.0185f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_va.c", 4976), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_va.c", 4976), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBarinadeDL_015710); } @@ -3532,7 +3532,7 @@ void BossVa_DrawEffects(BossVaEffect* effect, PlayState* play) { Matrix_Scale(effect->scale, effect->scale, effect->scale, MTXMODE_APPLY); Matrix_RotateZ((effect->rot.z / (f32)0x8000) * 3.1416f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_va.c", 5002), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_va.c", 5002), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPPipeSync(POLY_XLU_DISP++); gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sSparkBallTex[effect->mode])); @@ -3569,7 +3569,7 @@ void BossVa_DrawEffects(BossVaEffect* effect, PlayState* play) { Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); gDPPipeSync(POLY_XLU_DISP++); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_va.c", 5052), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_va.c", 5052), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBarinadeDL_009468); } @@ -3592,7 +3592,7 @@ void BossVa_DrawEffects(BossVaEffect* effect, PlayState* play) { Matrix_Translate(effect->pos.x, effect->pos.y, effect->pos.z, MTXMODE_NEW); Matrix_Scale(effect->scale, effect->scale, effect->scale, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_va.c", 5080), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_va.c", 5080), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gBarinadeDL_012948); } @@ -3624,7 +3624,7 @@ void BossVa_DrawEffects(BossVaEffect* effect, PlayState* play) { Matrix_RotateY(-(effect->offset.x * 0.13f), MTXMODE_APPLY); Matrix_RotateX(-(effect->offset.x * 0.115f), MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_va.c", 5124), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_va.c", 5124), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gBarinadeDL_012C50); } @@ -3647,7 +3647,7 @@ void BossVa_DrawEffects(BossVaEffect* effect, PlayState* play) { Matrix_RotateZYX(effect->rot.x, effect->rot.y, 0, MTXMODE_APPLY); Matrix_Scale(effect->scale, effect->scale, effect->scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_va.c", 5152), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_va.c", 5152), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBarinadeDL_013638); } @@ -3669,7 +3669,7 @@ void BossVa_DrawEffects(BossVaEffect* effect, PlayState* play) { Matrix_RotateZ((effect->rot.z / (f32)0x8000) * 3.1416f, MTXMODE_APPLY); Matrix_Scale(effect->scale * 0.02f, effect->scale * 0.02f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_va.c", 5180), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_va.c", 5180), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBarinadeDL_015710); } @@ -3691,7 +3691,7 @@ void BossVa_DrawEffects(BossVaEffect* effect, PlayState* play) { Matrix_RotateY((effect->rot.y / (f32)0x8000) * 3.1416f, MTXMODE_APPLY); Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_boss_va.c", 5208), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_boss_va.c", 5208), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBarinadeDL_008F70); } @@ -3987,7 +3987,7 @@ void BossVa_DrawDoor(PlayState* play, s16 scale) { Matrix_RotateZ(segAngle, MTXMODE_APPLY); Matrix_Translate(0.0f, doorPieceLength[i] * yScale, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_boss_va.c", 5621), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_va.c", 5621), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, doorPieceDispList[i]); } diff --git a/src/overlays/actors/ovl_Demo_6K/z_demo_6k.c b/src/overlays/actors/ovl_Demo_6K/z_demo_6k.c index 2960be3daa..06cbc92a5b 100644 --- a/src/overlays/actors/ovl_Demo_6K/z_demo_6k.c +++ b/src/overlays/actors/ovl_Demo_6K/z_demo_6k.c @@ -582,7 +582,7 @@ void func_80967FFC(Actor* thisx, PlayState* play) { for (i = 0; i < 6; i++) { Matrix_RotateZ(M_PI / 3, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_6k.c", 1115), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_6k.c", 1115), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPPipeSync(POLY_XLU_DISP++); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0x80, colors[i][0].r, colors[i][0].g, colors[i][0].b, 255); @@ -628,7 +628,7 @@ void func_80968298(Actor* thisx, PlayState* play) { } Matrix_RotateX(-M_PI / 2, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_6k.c", 1170), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_6k.c", 1170), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0x80, 210, 210, 210, 255); gDPSetEnvColor(POLY_XLU_DISP++, 100, 100, 100, 255); @@ -638,7 +638,7 @@ void func_80968298(Actor* thisx, PlayState* play) { (timer1 * 12) & 0xFFF, 64, 32)); gSPDisplayList(POLY_XLU_DISP++, object_demo_6k_DL_0039D0); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_6k.c", 1189), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_6k.c", 1189), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Gfx_SetupDL_25Xlu(play->state.gfxCtx); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 255); @@ -669,12 +669,12 @@ void func_8096865C(Actor* thisx, PlayState* play) { Matrix_Mult(&play->billboardMtxF, MTXMODE_APPLY); Matrix_Push(); Matrix_RotateZ(DEG_TO_RAD(this->timer2 * 6), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_6k.c", 1230), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_6k.c", 1230), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, displayList); Matrix_Pop(); Matrix_RotateZ(DEG_TO_RAD(-(f32)(this->timer2 * 6)), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_6k.c", 1236), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_6k.c", 1236), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, displayList); } @@ -706,7 +706,7 @@ void func_809688C4(Actor* thisx, PlayState* play2) { this->unk_234[i] * D_8096931C[(frames + i) & 3], this->unk_234[i] * D_8096931C[(frames + i) & 3], MTXMODE_APPLY); Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_6k.c", 1297), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_6k.c", 1297), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffFlash1DL); Matrix_Pop(); @@ -732,7 +732,7 @@ void func_80968B70(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); Matrix_Mult(&play->billboardMtxF, MTXMODE_APPLY); Matrix_RotateX(M_PI / 2, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_6k.c", 1322), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_6k.c", 1322), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0xFF - ((timer2 * 2) & 0xFF), 0, 32, 32, 1, @@ -770,7 +770,7 @@ void func_80968B70(Actor* thisx, PlayState* play) { void func_80968FB0(Actor* thisx, PlayState* play) { static u8 D_809693CC[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 7, 6, 5, 4, 3, 2, 1 }; Demo6K* this = (Demo6K*)thisx; - Gfx* displayList = Graph_Alloc(play->state.gfxCtx, 4 * sizeof(Gfx)); + Gfx* displayList = GRAPH_ALLOC(play->state.gfxCtx, 4 * sizeof(Gfx)); u16 frames = play->gameplayFrames; f32 scaleFactor; s32 pad; @@ -783,7 +783,7 @@ void func_80968FB0(Actor* thisx, PlayState* play) { scaleFactor = ((s16)D_809693CC[(frames * 4) & 0xF] * 0.01f) + 1.0f; Matrix_Scale(this->actor.scale.x * scaleFactor, this->actor.scale.y * scaleFactor, this->actor.scale.z * scaleFactor, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_6k.c", 1394), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_6k.c", 1394), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, displayList); gDPPipeSync(displayList++); diff --git a/src/overlays/actors/ovl_Demo_Ec/z_demo_ec.c b/src/overlays/actors/ovl_Demo_Ec/z_demo_ec.c index 21fd5b5565..81853aa9fc 100644 --- a/src/overlays/actors/ovl_Demo_Ec/z_demo_ec.c +++ b/src/overlays/actors/ovl_Demo_Ec/z_demo_ec.c @@ -242,7 +242,7 @@ void DemoEc_ChangeAnimation(DemoEc* this, AnimationHeader* animation, u8 mode, f Gfx* DemoEc_AllocColorDList(GraphicsContext* gfxCtx, u8* color) { Gfx* dList; - dList = Graph_Alloc(gfxCtx, sizeof(Gfx) * 2); + dList = GRAPH_ALLOC(gfxCtx, sizeof(Gfx) * 2); gDPSetEnvColor(dList, color[0], color[1], color[2], color[3]); gSPEndDisplayList(dList + 1); 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 2c26c42fa2..be246852f2 100644 --- a/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.c +++ b/src/overlays/actors/ovl_Demo_Effect/z_demo_effect.c @@ -1662,9 +1662,9 @@ void DemoEffect_DrawJewel(Actor* thisx, PlayState* play2) { if (!frames) {} gSPSegment(POLY_OPA_DISP++, 8, Gfx_TexScroll(play->state.gfxCtx, (u8)frames, (u8)frames, 16, 16)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_effect.c", 2597), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_effect.c", 2597), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_effect.c", 2599), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_effect.c", 2599), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Gfx_SetupDL_25Xlu(play->state.gfxCtx); func_8002ED80(&this->actor, play, 0); @@ -1706,7 +1706,7 @@ void DemoEffect_DrawCrystalLight(Actor* thisx, PlayState* play) { Matrix_RotateY(0.0f, MTXMODE_APPLY); Matrix_RotateX(DEG_TO_RAD(11), MTXMODE_APPLY); Matrix_Translate(0.0f, 150.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_effect.c", 2661), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_effect.c", 2661), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gCrystalLightDL); Matrix_Pop(); @@ -1714,7 +1714,7 @@ void DemoEffect_DrawCrystalLight(Actor* thisx, PlayState* play) { Matrix_RotateY(DEG_TO_RAD(120), MTXMODE_APPLY); Matrix_RotateX(DEG_TO_RAD(11), MTXMODE_APPLY); Matrix_Translate(0.0f, 150.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_effect.c", 2672), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_effect.c", 2672), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gCrystalLightDL); Matrix_Pop(); @@ -1722,7 +1722,7 @@ void DemoEffect_DrawCrystalLight(Actor* thisx, PlayState* play) { Matrix_RotateY(DEG_TO_RAD(240), MTXMODE_APPLY); Matrix_RotateX(DEG_TO_RAD(11), MTXMODE_APPLY); Matrix_Translate(0.0f, 150.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_effect.c", 2683), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_effect.c", 2683), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gCrystalLightDL); Matrix_Pop(); @@ -1737,7 +1737,7 @@ void DemoEffect_DrawFireBall(Actor* thisx, PlayState* play) { gDPSetPrimColor(POLY_XLU_DISP++, 64, 64, 255, 200, 0, 255); gDPSetEnvColor(POLY_XLU_DISP++, 255, 0, 0, 255); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_effect.c", 2709), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_effect.c", 2709), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(POLY_XLU_DISP++, play->billboardMtx, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 8, @@ -1781,7 +1781,7 @@ void DemoEffect_DrawGodLgt(Actor* thisx, PlayState* play) { gDPSetEnvColor(POLY_XLU_DISP++, this->envXluColor[0], this->envXluColor[1], this->envXluColor[2], 255); Gfx_SetupDL_25Xlu(play->state.gfxCtx); Matrix_Push(); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_effect.c", 2801), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_effect.c", 2801), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGoldenGoddessAuraDL); Gfx_SetupDL_25Opa(play->state.gfxCtx); @@ -1798,7 +1798,7 @@ void DemoEffect_DrawGodLgt(Actor* thisx, PlayState* play) { Matrix_RotateX(M_PI / 2.0f, MTXMODE_APPLY); Matrix_Translate(0.0f, -140.0f, 0.0f, MTXMODE_APPLY); Matrix_Scale(0.03f, 0.03f, 0.03f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_effect.c", 2824), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_effect.c", 2824), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gGoldenGoddessBodyDL); } @@ -1829,14 +1829,14 @@ void DemoEffect_DrawLightEffect(Actor* thisx, PlayState* play) { Matrix_Push(); Matrix_Mult(&play->billboardMtxF, MTXMODE_APPLY); Matrix_RotateZ(DEG_TO_RAD(this->light.rotation), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_effect.c", 2866), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_effect.c", 2866), G_MTX_MODELVIEW | G_MTX_LOAD | G_MTX_NOPUSH); if (disp) {}; gSPDisplayList(POLY_XLU_DISP++, disp); Matrix_Pop(); Matrix_Mult(&play->billboardMtxF, MTXMODE_APPLY); Matrix_RotateZ(DEG_TO_RAD(-(f32)this->light.rotation), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_effect.c", 2874), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_effect.c", 2874), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, disp); } @@ -1855,7 +1855,7 @@ void DemoEffect_DrawBlueOrb(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); Matrix_Mult(&play->billboardMtxF, MTXMODE_APPLY); Matrix_RotateZ(BINANG_TO_RAD(this->blueOrb.rotation), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_effect.c", 2901), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_effect.c", 2901), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); this->blueOrb.rotation += 0x01F4; gSPDisplayList(POLY_XLU_DISP++, gEffFlash1DL); @@ -1871,7 +1871,7 @@ void DemoEffect_DrawLgtShower(Actor* thisx, PlayState* play) { gDPSetPrimColor(POLY_XLU_DISP++, 64, 64, 255, 255, 160, this->lgtShower.alpha); gDPSetEnvColor(POLY_XLU_DISP++, 50, 200, 0, 255); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_effect.c", 2927), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_effect.c", 2927), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 8, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, (frames * 5) % 1024, 0, 256, 64, 1, @@ -1890,7 +1890,7 @@ void DemoEffect_DrawLightRing(Actor* thisx, PlayState* play2) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); gDPSetPrimColor(POLY_XLU_DISP++, 128, 128, 170, 255, 255, this->lightRing.alpha); gDPSetEnvColor(POLY_XLU_DISP++, 0, 100, 255, 255); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_effect.c", 2963), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_effect.c", 2963), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 8, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, (frames * 5) % 64, 512 - ((frames * 2) % 512) - 1, @@ -1914,7 +1914,7 @@ void DemoEffect_DrawTriforceSpot(Actor* thisx, PlayState* play) { Actor_PlaySfx(&this->actor, NA_SE_EV_AURORA - SFX_FLAG); Matrix_Push(); Matrix_Scale(1.0f, 2.4f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_effect.c", 3011), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_effect.c", 3011), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 9, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0, 256 - ((frames * 4) % 256) - 1, 64, 64, @@ -1929,7 +1929,7 @@ void DemoEffect_DrawTriforceSpot(Actor* thisx, PlayState* play) { if (this->triforceSpot.triforceSpotOpacity != 0) { Actor_PlaySfx(&this->actor, NA_SE_EV_TRIFORCE - SFX_FLAG); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_effect.c", 3042), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_effect.c", 3042), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->triforceSpot.triforceSpotOpacity < 250) { @@ -1937,7 +1937,7 @@ void DemoEffect_DrawTriforceSpot(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); gDPSetRenderMode(POLY_XLU_DISP++, G_RM_PASS, G_RM_AA_ZB_XLU_SURF2); Matrix_RotateY(BINANG_TO_RAD(this->triforceSpot.rotation), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_effect.c", 3053), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_effect.c", 3053), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 8, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0, 0, 32, 16, 1, 0, 0, 16, 8)); @@ -1949,7 +1949,7 @@ void DemoEffect_DrawTriforceSpot(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); gDPSetRenderMode(POLY_OPA_DISP++, G_RM_PASS, G_RM_AA_ZB_OPA_SURF2); Matrix_RotateY(BINANG_TO_RAD(this->triforceSpot.rotation), MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_effect.c", 3085), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_effect.c", 3085), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_OPA_DISP++, 8, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0, 0, 32, 16, 1, 0, 0, 16, 8)); diff --git a/src/overlays/actors/ovl_Demo_Ext/z_demo_ext.c b/src/overlays/actors/ovl_Demo_Ext/z_demo_ext.c index 91d3ec4041..fd86e78caa 100644 --- a/src/overlays/actors/ovl_Demo_Ext/z_demo_ext.c +++ b/src/overlays/actors/ovl_Demo_Ext/z_demo_ext.c @@ -191,14 +191,14 @@ void DemoExt_DrawVortex(Actor* thisx, PlayState* play) { scale = &this->scale; gfxCtx = play->state.gfxCtx; - mtx = Graph_Alloc(gfxCtx, sizeof(Mtx)); + mtx = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); OPEN_DISPS(gfxCtx, "../z_demo_ext.c", 460); Matrix_Push(); Matrix_Scale(scale->x, scale->y, scale->z, MTXMODE_APPLY); Matrix_RotateZYX((s16)(kREG(16) + 0x4000), this->rotationPitch, kREG(18), MTXMODE_APPLY); Matrix_Translate(kREG(22), kREG(23), kREG(24), MTXMODE_APPLY); - Matrix_ToMtx(mtx, "../z_demo_ext.c", 476); + MATRIX_TO_MTX(mtx, "../z_demo_ext.c", 476); Matrix_Pop(); Gfx_SetupDL_25Xlu(gfxCtx); diff --git a/src/overlays/actors/ovl_Demo_Geff/z_demo_geff.c b/src/overlays/actors/ovl_Demo_Geff/z_demo_geff.c index ec8770ec56..4297296b5b 100644 --- a/src/overlays/actors/ovl_Demo_Geff/z_demo_geff.c +++ b/src/overlays/actors/ovl_Demo_Geff/z_demo_geff.c @@ -76,8 +76,7 @@ void func_80977EA8(PlayState* play, Gfx* dlist) { Gfx_SetupDL_25Opa(gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_demo_geff.c", 183), - G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_demo_geff.c", 183), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, dlist); gSPPopMatrix(POLY_OPA_DISP++, G_MTX_MODELVIEW); diff --git a/src/overlays/actors/ovl_Demo_Gj/z_demo_gj.c b/src/overlays/actors/ovl_Demo_Gj/z_demo_gj.c index cfc48d9ec0..4ae87e233a 100644 --- a/src/overlays/actors/ovl_Demo_Gj/z_demo_gj.c +++ b/src/overlays/actors/ovl_Demo_Gj/z_demo_gj.c @@ -270,7 +270,7 @@ void DemoGj_DrawCommon(DemoGj* this, PlayState* play, Gfx* displayList) { Gfx_SetupDL_25Opa(gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_demo_gj.c", 1165), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_demo_gj.c", 1165), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, displayList); @@ -290,13 +290,13 @@ void DemoGj_DrawRotated(DemoGj* this, PlayState* play, Gfx* displayList) { Mtx* matrix; gfxCtx = play->state.gfxCtx; - matrix = Graph_Alloc(gfxCtx, sizeof(Mtx)); + matrix = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); OPEN_DISPS(gfxCtx, "../z_demo_gj.c", 1187); Matrix_Push(); Matrix_RotateZYX(x, y, z, MTXMODE_APPLY); - Matrix_ToMtx(matrix, "../z_demo_gj.c", 1193); + MATRIX_TO_MTX(matrix, "../z_demo_gj.c", 1193); Matrix_Pop(); Gfx_SetupDL_25Opa(gfxCtx); diff --git a/src/overlays/actors/ovl_Demo_Gt/z_demo_gt.c b/src/overlays/actors/ovl_Demo_Gt/z_demo_gt.c index 4f2b85b39e..e0d8a8dcfe 100644 --- a/src/overlays/actors/ovl_Demo_Gt/z_demo_gt.c +++ b/src/overlays/actors/ovl_Demo_Gt/z_demo_gt.c @@ -645,7 +645,7 @@ void DemoGt_Draw1(DemoGt* this, PlayState* play) { spBC = kREG(71); spB8 = (s16)((s32)kREG(70)) + 0x4000; spBA = kREG(70); - spB4 = Graph_Alloc(gfxCtx, sizeof(Mtx)); + spB4 = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); sp98 = 1.0f - Math_CosS(spC6); OPEN_DISPS(gfxCtx, "../z_demo_gt_part1.c", 458); @@ -661,7 +661,7 @@ void DemoGt_Draw1(DemoGt* this, PlayState* play) { Matrix_RotateAxis(spC0, &spA8, MTXMODE_APPLY); Matrix_Translate(sp9C.x, sp9C.y, sp9C.z, MTXMODE_APPLY); - Matrix_ToMtx(spB4, "../z_demo_gt_part1.c", 474); + MATRIX_TO_MTX(spB4, "../z_demo_gt_part1.c", 474); unk198 = this->unk_198; unk188 = this->unk_188; unk178 = this->unk_178; @@ -859,7 +859,7 @@ void DemoGt_Draw2(DemoGt* this, PlayState* play) { gSPSegment(POLY_OPA_DISP++, 0x08, Gfx_TwoTexScrollEnvColor(gfxCtx, 0, 0, unk198[0], 0x20, 0x40, 1, 0, unk198[1], 0x20, 0x40, unk178[0], unk178[1], unk178[2], 128)); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_demo_gt_part2.c", 485), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_demo_gt_part2.c", 485), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gTowerCollapseCsCollapsedStructureInnerDL); gSPPopMatrix(POLY_OPA_DISP++, G_MTX_MODELVIEW); @@ -1169,7 +1169,7 @@ void DemoGt_Draw3(DemoGt* this, PlayState* play) { OPEN_DISPS(gfxCtx, "../z_demo_gt_part3.c", 1026); Gfx_SetupDL_25Opa(gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_demo_gt_part3.c", 1028), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_demo_gt_part3.c", 1028), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gTowerCollapseCsCollapsedStructureOuterDL); gSPPopMatrix(POLY_OPA_DISP++, G_MTX_MODELVIEW); @@ -1266,7 +1266,7 @@ void DemoGt_Draw4(DemoGt* this, PlayState* play2) { sp68 = (s16)((s32)kREG(58)) + 0x4000; sp6A = kREG(58); gfxCtx = play->state.gfxCtx; - sp60 = Graph_Alloc(gfxCtx, sizeof(Mtx)); + sp60 = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); sp44 = 1.0f - Math_CosS(sp76); OPEN_DISPS(gfxCtx, "../z_demo_gt_part4_1.c", 217); @@ -1283,7 +1283,7 @@ void DemoGt_Draw4(DemoGt* this, PlayState* play2) { Matrix_RotateAxis(sp70, &sp54, MTXMODE_APPLY); Matrix_Translate(sp48.x, sp48.y, sp48.z, MTXMODE_APPLY); - Matrix_ToMtx(sp60, "../z_demo_gt_part4_1.c", 232); + MATRIX_TO_MTX(sp60, "../z_demo_gt_part4_1.c", 232); if (!FrameAdvance_IsEnabled(play)) { func_80980F8C(this, play); @@ -1385,7 +1385,7 @@ void DemoGt_Draw5(DemoGt* this, PlayState* play) { sp6A = kREG(59) - 0x4000; sp68 = (s16)(kREG(59) - 0x4000) + 0x4000; gfxCtx = play->state.gfxCtx; - sp60 = Graph_Alloc(gfxCtx, sizeof(Mtx)); + sp60 = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); sp44 = 1 - Math_CosS(sp76); OPEN_DISPS(gfxCtx, "../z_demo_gt_part4_2.c", 212); @@ -1402,7 +1402,7 @@ void DemoGt_Draw5(DemoGt* this, PlayState* play) { Matrix_RotateAxis(sp70, &sp54, MTXMODE_APPLY); Matrix_Translate(sp48.x, sp48.y, sp48.z, MTXMODE_APPLY); - Matrix_ToMtx(sp60, "../z_demo_gt_part4_2.c", 227); + MATRIX_TO_MTX(sp60, "../z_demo_gt_part4_2.c", 227); if (!FrameAdvance_IsEnabled(play)) { func_80981458(this, play); @@ -1481,7 +1481,7 @@ void DemoGt_Draw6(DemoGt* this, PlayState* play) { sp6C = kREG(60) + 0x4000; sp6C += 0x4000; gfxCtx = play->state.gfxCtx; - sp64 = Graph_Alloc(gfxCtx, sizeof(Mtx)); + sp64 = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); sp48 = 1.0f - Math_CosS(sp78); OPEN_DISPS(gfxCtx, "../z_demo_gt_part4_3.c", 276); @@ -1498,7 +1498,7 @@ void DemoGt_Draw6(DemoGt* this, PlayState* play) { Matrix_RotateAxis(sp74, &sp58, MTXMODE_APPLY); Matrix_Translate(sp4C.x, sp4C.y, sp4C.z, MTXMODE_APPLY); - Matrix_ToMtx(sp64, "../z_demo_gt_part4_3.c", 291); + MATRIX_TO_MTX(sp64, "../z_demo_gt_part4_3.c", 291); Matrix_Pop(); @@ -1572,8 +1572,8 @@ void DemoGt_Draw7(DemoGt* this, PlayState* play) { sp64 = kREG(75); sp62 = kREG(74) + 0x7FEC; sp60 = kREG(74) + 0x7FEC; - sp60 = sp60 + 0x4000; - sp5C = Graph_Alloc(gfxCtx, sizeof(Mtx)); + sp60 += 0x4000; + sp5C = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); sp40 = 1.0f - Math_CosS(sp6E); OPEN_DISPS(gfxCtx, "../z_demo_gt_part5.c", 136); @@ -1590,7 +1590,7 @@ void DemoGt_Draw7(DemoGt* this, PlayState* play) { Matrix_RotateAxis(sp68, &sp50, MTXMODE_APPLY); Matrix_Translate(sp44.x, sp44.y, sp44.z, MTXMODE_APPLY); - Matrix_ToMtx(sp5C, "../z_demo_gt_part5.c", 152); + MATRIX_TO_MTX(sp5C, "../z_demo_gt_part5.c", 152); Matrix_Pop(); @@ -1664,7 +1664,7 @@ void DemoGt_Draw8(DemoGt* this, PlayState* play) { sp62 = kREG(77) + 0xBE80; sp60 = kREG(77) + 0xBE80; sp60 += 0x4000; - sp5C = Graph_Alloc(gfxCtx, sizeof(Mtx)); + sp5C = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); sp40 = 1.0f - Math_CosS(sp6E); OPEN_DISPS(gfxCtx, "../z_demo_gt_part6.c", 137); @@ -1681,7 +1681,7 @@ void DemoGt_Draw8(DemoGt* this, PlayState* play) { Matrix_RotateAxis(sp68, &sp50, MTXMODE_APPLY); Matrix_Translate(sp44.x, sp44.y, sp44.z, MTXMODE_APPLY); - Matrix_ToMtx(sp5C, "../z_demo_gt_part6.c", 153); + MATRIX_TO_MTX(sp5C, "../z_demo_gt_part6.c", 153); Matrix_Pop(); diff --git a/src/overlays/actors/ovl_Demo_Ik/z_demo_ik.c b/src/overlays/actors/ovl_Demo_Ik/z_demo_ik.c index 94f20a63fd..9721feb0fe 100644 --- a/src/overlays/actors/ovl_Demo_Ik/z_demo_ik.c +++ b/src/overlays/actors/ovl_Demo_Ik/z_demo_ik.c @@ -64,7 +64,7 @@ f32 DemoIk_GetCurFrame(DemoIk* this) { } Gfx* DemoIk_SetColors(GraphicsContext* gfxCtx, u8 primR, u8 primG, u8 primB, u8 envR, u8 envG, u8 envB) { - Gfx* head = Graph_Alloc(gfxCtx, 3 * sizeof(Gfx)); + Gfx* head = GRAPH_ALLOC(gfxCtx, 3 * sizeof(Gfx)); Gfx* entry = head; gDPSetPrimColor(entry++, 0x00, 0x00, primR, primG, primB, 255); @@ -263,12 +263,12 @@ void DemoIk_Type1PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s if (limbIndex == 1) { switch (this->actor.params) { case 0: - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_demo_ik_inArmer.c", 390), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_demo_ik_inArmer.c", 390), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gIronKnuckleArmorRivetAndSymbolDL); break; case 2: - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_demo_ik_inArmer.c", 396), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_demo_ik_inArmer.c", 396), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_ik_DL_016F88); break; @@ -420,22 +420,22 @@ void DemoIk_Type2PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s if (limbIndex == 1 && (frame >= 30.0f)) { switch (this->actor.params) { case 3: - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_demo_ik_inFace.c", 274), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_demo_ik_inFace.c", 274), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_ik_DL_017028); break; case 4: - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_demo_ik_inFace.c", 280), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_demo_ik_inFace.c", 280), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_ik_DL_017170); break; case 5: - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_demo_ik_inFace.c", 286), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_demo_ik_inFace.c", 286), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gIronKnuckleArmorRivetAndSymbolDL); break; default: - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_demo_ik_inFace.c", 292), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_demo_ik_inFace.c", 292), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_ik_DL_016CD8); break; diff --git a/src/overlays/actors/ovl_Demo_Im/z_demo_im.c b/src/overlays/actors/ovl_Demo_Im/z_demo_im.c index b765fc413c..e0d78d1f7c 100644 --- a/src/overlays/actors/ovl_Demo_Im/z_demo_im.c +++ b/src/overlays/actors/ovl_Demo_Im/z_demo_im.c @@ -853,9 +853,9 @@ s32 func_80986A5C(DemoIm* this, PlayState* play) { s32 func_80986AD0(DemoIm* this, PlayState* play) { this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3; - if (!Actor_ProcessTalkRequest(&this->actor, play)) { + if (!Actor_TalkOfferAccepted(&this->actor, play)) { this->actor.textId = 0x708E; - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } else { return true; } 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 9baad8188e..f7446f0e2c 100644 --- a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c +++ b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo.c @@ -624,7 +624,7 @@ void DemoKankyo_DrawRain(Actor* thisx, PlayState* play) { } Matrix_Translate(translateX, translateY, translateZ, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_kankyo.c", 1344), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_kankyo.c", 1344), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); POLY_XLU_DISP = Gfx_SetupDL(POLY_XLU_DISP, SETUPDL_20); gSPDisplayList(POLY_XLU_DISP++, object_efc_star_field_DL_000080); @@ -647,7 +647,7 @@ void DemoKankyo_DrawRock(Actor* thisx, PlayState* play) { Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 155, 55, 255); gDPSetEnvColor(POLY_OPA_DISP++, 155, 255, 55, 255); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_kankyo.c", 1404), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_kankyo.c", 1404), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_efc_star_field_DL_000DE0); @@ -678,7 +678,7 @@ void DemoKankyo_DrawClouds(Actor* thisx, PlayState* play) { gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 255, 255); gDPSetColorDither(POLY_XLU_DISP++, G_CD_DISABLE); gDPSetColorDither(POLY_XLU_DISP++, G_AD_NOTPATTERN | G_CD_MAGICSQ); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_kankyo.c", 1461), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_kankyo.c", 1461), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(gDust5Tex)); @@ -699,11 +699,11 @@ void DemoKankyo_DrawDoorOfTime(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); Matrix_Translate(-this->unk_150[0].unk_18, 0.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_kankyo.c", 1492), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_kankyo.c", 1492), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_toki_objects_DL_007440); Matrix_Translate(this->unk_150[0].unk_18 + this->unk_150[0].unk_18, 0.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_kankyo.c", 1497), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_kankyo.c", 1497), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_toki_objects_DL_007578); @@ -720,7 +720,7 @@ void DemoKankyo_DrawLightPlane(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TexScroll(play->state.gfxCtx, 0, play->state.frames & 0x7F, 64, 32)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_kankyo.c", 1529), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_kankyo.c", 1529), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_toki_objects_DL_008390); } @@ -734,19 +734,15 @@ void DemoKankyo_Vec3fCopy(Vec3f* src, Vec3f* dst) { dst->z = src->z; } -Vec3f* DemoKankyo_AddVecGeoToVec3f(Vec3f* dest, Vec3f* a, VecGeo* geo) { +Vec3f DemoKankyo_AddVecGeoToVec3f(Vec3f* a, VecGeo* geo) { Vec3f sum; - Vec3f b; - - OLib_VecGeoToVec3f(&b, geo); + Vec3f b = OLib_VecGeoToVec3f(geo); sum.x = a->x + b.x; sum.y = a->y + b.y; sum.z = a->z + b.z; - *dest = sum; - - return dest; + return sum; } void DemoKankyo_Vec3fAddPosRot(PosRot* posRot, Vec3f* vec, Vec3f* dst) { @@ -754,9 +750,9 @@ void DemoKankyo_Vec3fAddPosRot(PosRot* posRot, Vec3f* vec, Vec3f* dst) { Vec3f vecCopy; DemoKankyo_Vec3fCopy(vec, &vecCopy); - OLib_Vec3fToVecGeo(&geo, &vecCopy); + geo = OLib_Vec3fToVecGeo(&vecCopy); geo.yaw += posRot->rot.y; - DemoKankyo_AddVecGeoToVec3f(dst, &posRot->pos, &geo); + *dst = DemoKankyo_AddVecGeoToVec3f(&posRot->pos, &geo); } void DemoKankyo_DrawWarpSparkles(Actor* thisx, PlayState* play) { @@ -817,7 +813,7 @@ void DemoKankyo_DrawWarpSparkles(Actor* thisx, PlayState* play) { this->unk_150[i].unk_22++; } } - Actor_GetWorld(&posRot, &player->actor); + posRot = Actor_GetWorld(&player->actor); DemoKankyo_Vec3fAddPosRot(&posRot, &camPos, &D_8098CF98); break; case 2: @@ -888,7 +884,7 @@ void DemoKankyo_DrawWarpSparkles(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); Matrix_Mult(&play->billboardMtxF, MTXMODE_APPLY); Matrix_RotateZ(DEG_TO_RAD(this->unk_150[i].unk_24), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_kankyo.c", 2011), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_kankyo.c", 2011), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, disp); this->unk_150[i].unk_24 += 0x190; @@ -941,7 +937,7 @@ void DemoKankyo_DrawSparkles(Actor* thisx, PlayState* play) { &this->unk_150[i].unk_20, &this->unk_150[i].unk_1C) != 0) { this->unk_150[i].unk_22++; } - Actor_GetWorld(&posRot, &this->actor); + posRot = Actor_GetWorld(&this->actor); DemoKankyo_Vec3fAddPosRot(&posRot, &camPos, &D_8098CFB8); break; case 2: @@ -992,7 +988,7 @@ void DemoKankyo_DrawSparkles(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); Matrix_Mult(&play->billboardMtxF, MTXMODE_APPLY); Matrix_RotateZ(DEG_TO_RAD(this->unk_150[i].unk_24), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_kankyo.c", 2572), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_kankyo.c", 2572), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffFlash1DL); this->unk_150[i].unk_24 += 0x190; diff --git a/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.c b/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.c index c63e4d578b..7f4d6aef4b 100644 --- a/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.c +++ b/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.c @@ -298,14 +298,14 @@ void DemoKekkai_DrawTrialBarrier(Actor* thisx, PlayState* play2) { Matrix_Translate(0.0f, 1200.0f, 0.0f, MTXMODE_APPLY); Matrix_Scale(this->orbScale, this->orbScale, this->orbScale, MTXMODE_APPLY); Matrix_Translate(0.0f, -1200.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_kekkai.c", 639), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_kekkai.c", 639), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x09, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, frames * 5, frames * -10, 0x20, 0x20, 1, frames * 5, frames * -10, 0x20, 0x20)); gSPDisplayList(POLY_XLU_DISP++, gTrialBarrierOrbDL); Matrix_Pop(); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_kekkai.c", 656), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_kekkai.c", 656), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPPipeSync(POLY_XLU_DISP++); gDPSetPrimColor(POLY_XLU_DISP++, 0x00, 0x80, 50, 0, 100, 255); @@ -333,7 +333,7 @@ void DemoKekkai_DrawTowerBarrier(Actor* thisx, PlayState* play) { scroll = (s32)this->barrierScroll & 0xFFFF; OPEN_DISPS(play->state.gfxCtx, "../z_demo_kekkai.c", 705); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_kekkai.c", 707), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_kekkai.c", 707), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(POLY_XLU_DISP++, 0x00, 0x80, 255, 170, 255, 255); gSPSegment(POLY_XLU_DISP++, 0x08, diff --git a/src/overlays/actors/ovl_Demo_Shd/z_demo_shd.c b/src/overlays/actors/ovl_Demo_Shd/z_demo_shd.c index c54b8e1939..ec53977501 100644 --- a/src/overlays/actors/ovl_Demo_Shd/z_demo_shd.c +++ b/src/overlays/actors/ovl_Demo_Shd/z_demo_shd.c @@ -107,7 +107,7 @@ void DemoShd_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_demo_shd.c", 729), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_demo_shd.c", 729), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, D_809932D0); diff --git a/src/overlays/actors/ovl_Door_Ana/z_door_ana.c b/src/overlays/actors/ovl_Door_Ana/z_door_ana.c index 4434285c33..5482623bd6 100644 --- a/src/overlays/actors/ovl_Door_Ana/z_door_ana.c +++ b/src/overlays/actors/ovl_Door_Ana/z_door_ana.c @@ -177,7 +177,7 @@ void DoorAna_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_door_ana.c", 440); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_door_ana.c", 446), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_door_ana.c", 446), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGrottoDL); diff --git a/src/overlays/actors/ovl_Door_Gerudo/z_door_gerudo.c b/src/overlays/actors/ovl_Door_Gerudo/z_door_gerudo.c index 0bbbedb25d..160a159596 100644 --- a/src/overlays/actors/ovl_Door_Gerudo/z_door_gerudo.c +++ b/src/overlays/actors/ovl_Door_Gerudo/z_door_gerudo.c @@ -147,7 +147,7 @@ void DoorGerudo_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_door_gerudo.c", 365), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_door_gerudo.c", 365), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gGerudoCellDoorDL); diff --git a/src/overlays/actors/ovl_Door_Killer/z_door_killer.c b/src/overlays/actors/ovl_Door_Killer/z_door_killer.c index 1f4aeb2ce5..ff1e4e6572 100644 --- a/src/overlays/actors/ovl_Door_Killer/z_door_killer.c +++ b/src/overlays/actors/ovl_Door_Killer/z_door_killer.c @@ -228,7 +228,7 @@ void DoorKiller_FallAsRubble(DoorKiller* this, PlayState* play) { s32 DoorKiller_IsHit(Actor* thisx, PlayState* play) { DoorKiller* this = (DoorKiller*)thisx; - if ((this->colliderCylinder.base.acFlags & AC_HIT) && (this->colliderCylinder.info.acHitInfo != NULL)) { + if ((this->colliderCylinder.base.acFlags & AC_HIT) && (this->colliderCylinder.elem.acHitElem != NULL)) { return true; } return false; @@ -423,10 +423,10 @@ void DoorKiller_Wait(DoorKiller* this, PlayState* play) { if (DoorKiller_IsHit(&this->actor, play)) { // AC cylinder: wobble if hit by most weapons, die if hit by explosives or hammer - if (this->colliderCylinder.info.acHitInfo->toucher.dmgFlags & (DMG_RANGED | DMG_SLASH | DMG_DEKU_STICK)) { + if (this->colliderCylinder.elem.acHitElem->toucher.dmgFlags & (DMG_RANGED | DMG_SLASH | DMG_DEKU_STICK)) { this->timer = 16; this->actionFunc = DoorKiller_Wobble; - } else if (this->colliderCylinder.info.acHitInfo->toucher.dmgFlags & (DMG_HAMMER_SWING | DMG_EXPLOSIVE)) { + } else if (this->colliderCylinder.elem.acHitElem->toucher.dmgFlags & (DMG_HAMMER_SWING | DMG_EXPLOSIVE)) { DoorKiller_SpawnRubble(&this->actor, play); this->actionFunc = DoorKiller_Die; SfxSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 20, NA_SE_EN_KDOOR_BREAK); 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 c6d59d5ae8..9cba0725c7 100644 --- a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c +++ b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c @@ -937,7 +937,7 @@ Gfx* DoorShutter_DrawJabuJabuDoor(PlayState* play, DoorShutter* this, Gfx* gfx) Matrix_Scale(1.0f, yScale, 1.0f, MTXMODE_APPLY); } - gSPMatrix(gfx++, Matrix_NewMtx(play->state.gfxCtx, "../z_door_shutter.c", 1991), + gSPMatrix(gfx++, MATRIX_NEW(play->state.gfxCtx, "../z_door_shutter.c", 1991), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(gfx++, sJabuDoorDLists[i]); @@ -1005,7 +1005,7 @@ void DoorShutter_Draw(Actor* thisx, PlayState* play) { gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255.0f * scale); // no purpose? Matrix_Translate(0, 0, gfxInfo->barsOffsetZ, MTXMODE_APPLY); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_door_shutter.c", 2069), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_door_shutter.c", 2069), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gfxInfo->barsDL); } @@ -1027,13 +1027,13 @@ void DoorShutter_Draw(Actor* thisx, PlayState* play) { } else if (this->doorType == SHUTTER_BOSS) { gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sBossDoorTextures[this->bossDoorTexIndex])); } - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_door_shutter.c", 2109), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_door_shutter.c", 2109), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gfxInfo->doorDL); if (this->barsClosedAmount != 0.0f && gfxInfo->barsDL != NULL) { Matrix_Translate(0, gfxInfo->barsOpenOffsetY * (1.0f - this->barsClosedAmount), gfxInfo->barsOffsetZ, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_door_shutter.c", 2119), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_door_shutter.c", 2119), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gfxInfo->barsDL); } 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 f821d1530e..4e5bbf43fd 100644 --- a/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c +++ b/src/overlays/actors/ovl_Door_Warp1/z_door_warp1.c @@ -965,7 +965,7 @@ void DoorWarp1_DrawWarp(DoorWarp1* this, PlayState* play) { gDPSetColorDither(POLY_XLU_DISP++, G_AD_NOTPATTERN | G_CD_MAGICSQ); Matrix_Translate(this->actor.world.pos.x, this->actor.world.pos.y + 1.0f, this->actor.world.pos.z, MTXMODE_NEW); - gSPSegment(POLY_XLU_DISP++, 0x0A, Matrix_NewMtx(play->state.gfxCtx, "../z_door_warp1.c", 2247)); + gSPSegment(POLY_XLU_DISP++, 0x0A, MATRIX_NEW(play->state.gfxCtx, "../z_door_warp1.c", 2247)); Matrix_Push(); gSPSegment(POLY_XLU_DISP++, 0x08, @@ -976,7 +976,7 @@ void DoorWarp1_DrawWarp(DoorWarp1* this, PlayState* play) { Matrix_Translate(0.0f, this->unk_194 * 230.0f, 0.0f, MTXMODE_APPLY); xzScale = (((f32)this->unk_1AE * spE8) / 100.0f) + 1.0f; Matrix_Scale(xzScale, 1.0f, xzScale, MTXMODE_APPLY); - gSPSegment(POLY_XLU_DISP++, 0x09, Matrix_NewMtx(play->state.gfxCtx, "../z_door_warp1.c", 2267)); + gSPSegment(POLY_XLU_DISP++, 0x09, MATRIX_NEW(play->state.gfxCtx, "../z_door_warp1.c", 2267)); gSPDisplayList(POLY_XLU_DISP++, gWarpPortalDL); Matrix_Pop(); @@ -1014,7 +1014,7 @@ void DoorWarp1_DrawWarp(DoorWarp1* this, PlayState* play) { xzScale = (((f32)this->unk_1B0 * spE4) / 100.0f) + 1.0f; Matrix_Scale(xzScale, 1.0f, xzScale, MTXMODE_APPLY); - gSPSegment(POLY_XLU_DISP++, 0x09, Matrix_NewMtx(play->state.gfxCtx, "../z_door_warp1.c", 2336)); + gSPSegment(POLY_XLU_DISP++, 0x09, MATRIX_NEW(play->state.gfxCtx, "../z_door_warp1.c", 2336)); gSPDisplayList(POLY_XLU_DISP++, gWarpPortalDL); } diff --git a/src/overlays/actors/ovl_Efc_Erupc/z_efc_erupc.c b/src/overlays/actors/ovl_Efc_Erupc/z_efc_erupc.c index 18834e87ea..cd2dbef96d 100644 --- a/src/overlays/actors/ovl_Efc_Erupc/z_efc_erupc.c +++ b/src/overlays/actors/ovl_Efc_Erupc/z_efc_erupc.c @@ -132,7 +132,7 @@ void EfcErupc_Draw(Actor* thisx, PlayState* play) { Matrix_Push(); Matrix_Scale(0.8f, 0.8f, 0.8f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_efc_erupc.c", 321), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_efc_erupc.c", 321), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (play->csCtx.state != CS_STATE_IDLE) { @@ -142,7 +142,7 @@ void EfcErupc_Draw(Actor* thisx, PlayState* play) { } Matrix_Pop(); Matrix_Scale(3.4f, 3.4f, 3.4f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_efc_erupc.c", 333), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_efc_erupc.c", 333), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (play->csCtx.state != CS_STATE_IDLE) { CsCmdActorCue* cue = play->csCtx.actorCues[2]; @@ -177,7 +177,7 @@ void EfcErupc_DrawEffects(EfcErupcEffect* effect, PlayState* play) { Matrix_Translate(effect->pos.x, effect->pos.y, effect->pos.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_efc_erupc.c", 393), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_efc_erupc.c", 393), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_efc_erupc_DL_0027D8); } 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 4cef29b868..1c07031a0c 100644 --- a/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.c +++ b/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.c @@ -102,7 +102,7 @@ void EffDust_Init(Actor* thisx, PlayState* play) { this->scalingFactor = 20.0f; break; default: - SystemArena_FreeDebug(this, "../z_eff_dust.c", 202); + SYSTEM_ARENA_FREE(this, "../z_eff_dust.c", 202); break; } @@ -295,7 +295,7 @@ void EffDust_DrawFunc_8099E4F4(Actor* thisx, PlayState* play2) { Matrix_Scale(this->scalingFactor, this->scalingFactor, this->scalingFactor, MTXMODE_APPLY); Matrix_Mult(&play->billboardMtxF, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_dust.c", 449), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_dust.c", 449), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gEffSparklesDL)); } @@ -350,7 +350,7 @@ void EffDust_DrawFunc_8099E784(Actor* thisx, PlayState* play2) { Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_dust.c", 506), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_dust.c", 506), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gEffSparklesDL)); } 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 42b8a279bd..fbde93043b 100644 --- a/src/overlays/actors/ovl_Elf_Msg/z_elf_msg.c +++ b/src/overlays/actors/ovl_Elf_Msg/z_elf_msg.c @@ -149,7 +149,7 @@ void ElfMsg_Update(Actor* thisx, PlayState* play) { ElfMsg* this = (ElfMsg*)thisx; if (!ElfMsg_KillCheck(this, play)) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { if (((this->actor.params >> 8) & 0x3F) != 0x3F) { Flags_SetSwitch(play, (this->actor.params >> 8) & 0x3F); } @@ -179,7 +179,7 @@ void ElfMsg_Draw(Actor* thisx, PlayState* play) { gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, R_NAVI_MSG_REGION_ALPHA); } - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_elf_msg.c", 448), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_elf_msg.c", 448), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, D_809AD278); 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 e23ae04aca..92ca9473f4 100644 --- a/src/overlays/actors/ovl_Elf_Msg2/z_elf_msg2.c +++ b/src/overlays/actors/ovl_Elf_Msg2/z_elf_msg2.c @@ -120,7 +120,7 @@ void ElfMsg2_WaitForTextClose(ElfMsg2* this, PlayState* play) { * Runs while Navi text is not up. */ void ElfMsg2_WaitForTextRead(ElfMsg2* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { ElfMsg2_SetupAction(this, ElfMsg2_WaitForTextClose); } } @@ -158,7 +158,7 @@ void ElfMsg2_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 100, 100, 255, R_NAVI_MSG_REGION_ALPHA); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_elf_msg2.c", 362), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_elf_msg2.c", 362), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, D_809ADC38); gSPDisplayList(POLY_XLU_DISP++, sCubeDL); 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 64cca6b7e2..932308eb20 100644 --- a/src/overlays/actors/ovl_En_Am/z_en_am.c +++ b/src/overlays/actors/ovl_En_Am/z_en_am.c @@ -798,7 +798,7 @@ void EnAm_UpdateDamage(EnAm* this, PlayState* play) { if (this->dyna.actor.colChkInfo.damageEffect != AM_DMGEFF_MAGIC_FIRE_LIGHT) { this->unk_264 = 0; this->damageEffect = this->dyna.actor.colChkInfo.damageEffect; - Actor_SetDropFlag(&this->dyna.actor, &this->hurtCollider.info, false); + Actor_SetDropFlag(&this->dyna.actor, &this->hurtCollider.elem, false); if ((this->dyna.actor.colChkInfo.damageEffect == AM_DMGEFF_NUT) || (this->dyna.actor.colChkInfo.damageEffect == AM_DMGEFF_STUN) || 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 b99ad607c5..bf9f2fe92a 100644 --- a/src/overlays/actors/ovl_En_Ani/z_en_ani.c +++ b/src/overlays/actors/ovl_En_Ani/z_en_ani.c @@ -99,7 +99,7 @@ void EnAni_Destroy(Actor* thisx, PlayState* play) { s32 EnAni_SetText(EnAni* this, PlayState* play, u16 textId) { this->actor.textId = textId; this->unk_2A8 |= 1; - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); return 0; } @@ -137,21 +137,15 @@ void func_809B05F0(EnAni* this, PlayState* play) { } void func_809B064C(EnAni* this, PlayState* play) { - u16 textId; + u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_KAKARIKO_ROOF_MAN); s16 yawDiff; - u16 textId2; - textId2 = Text_GetFaceReaction(play, 0xA); - textId = textId2 & 0xFFFF; - - if (!textId) {} - - if (textId2 == 0) { + if (textId == 0) { textId = !IS_DAY ? 0x5051 : 0x5050; } yawDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { if (this->actor.textId == 0x5056) { EnAni_SetupAction(this, func_809B04F0); } else if (this->actor.textId == 0x5055) { @@ -177,7 +171,7 @@ void func_809B07F8(EnAni* this, PlayState* play) { u16 textId; yawDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { if (this->actor.textId == 0x5056) { EnAni_SetupAction(this, func_809B0524); } else if (this->actor.textId == 0x5055) { diff --git a/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c b/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c index 9339c56b5c..04775f106f 100644 --- a/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c +++ b/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c @@ -484,7 +484,7 @@ void EnAnubice_PostLimbDraw(struct PlayState* play, s32 limbIndex, Gfx** dList, if (limbIndex == ANUBICE_LIMB_HEAD) { OPEN_DISPS(play->state.gfxCtx, "../z_en_anubice.c", 853); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_anubice.c", 856), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_anubice.c", 856), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gAnubiceEyesDL); Matrix_MultVec3f(&pos, &this->headPos); diff --git a/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.c b/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.c index dbd4f3b670..897d216677 100644 --- a/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.c +++ b/src/overlays/actors/ovl_En_Anubice_Fire/z_en_anubice_fire.c @@ -113,7 +113,7 @@ void func_809B27D8(EnAnubiceFire* this, PlayState* play) { Actor_PlaySfx(&this->actor, NA_SE_IT_SHIELD_REFLECT_SW); this->cylinder.base.atFlags &= ~(AT_HIT | AT_BOUNCED | AT_TYPE_ENEMY); this->cylinder.base.atFlags |= AT_TYPE_PLAYER; - this->cylinder.info.toucher.dmgFlags = DMG_DEKU_STICK; + this->cylinder.elem.toucher.dmgFlags = DMG_DEKU_STICK; this->unk_15A = 30; this->actor.params = 1; this->actor.velocity.x *= -1.0f; @@ -243,7 +243,7 @@ void EnAnubiceFire_Draw(Actor* thisx, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_RotateZ(this->actor.world.rot.z + i * 1000.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_anubice_fire.c", 546), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_anubice_fire.c", 546), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gAnubiceFireAttackDL); 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 fafaaa5aaa..84a05c3b16 100644 --- a/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c +++ b/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c @@ -121,15 +121,15 @@ void EnArrow_Init(Actor* thisx, PlayState* play) { Collider_SetQuad(play, &this->collider, &this->actor, &sColliderInit); if (this->actor.params <= ARROW_NORMAL) { - this->collider.info.toucherFlags &= ~TOUCH_SFX_MASK; - this->collider.info.toucherFlags |= TOUCH_SFX_NORMAL; + this->collider.elem.toucherFlags &= ~TOUCH_SFX_MASK; + this->collider.elem.toucherFlags |= TOUCH_SFX_NORMAL; } if (this->actor.params < 0) { this->collider.base.atFlags = (AT_ON | AT_TYPE_ENEMY); } else if (this->actor.params <= ARROW_SEED) { - this->collider.info.toucher.dmgFlags = dmgFlags[this->actor.params]; - LOG_HEX("this->at_info.cl_elem.at_btl_info.at_type", this->collider.info.toucher.dmgFlags, + this->collider.elem.toucher.dmgFlags = dmgFlags[this->actor.params]; + LOG_HEX("this->at_info.cl_elem.at_btl_info.at_type", this->collider.elem.toucher.dmgFlags, "../z_en_arrow.c", 707); } } @@ -284,7 +284,7 @@ void EnArrow_Fly(EnArrow* this, PlayState* play) { } else { EffectSsHitMark_SpawnCustomScale(play, 0, 150, &this->actor.world.pos); - if (atTouched && (this->collider.info.atHitInfo->elemType != ELEMTYPE_UNK4)) { + if (atTouched && (this->collider.elem.atHitElem->elemType != ELEMTYPE_UNK4)) { hitActor = this->collider.base.at; if ((hitActor->update != NULL) && !(this->collider.base.atFlags & AT_BOUNCED) && @@ -300,10 +300,10 @@ void EnArrow_Fly(EnArrow* this, PlayState* play) { this->hitFlags |= 1; this->hitFlags |= 2; - if (this->collider.info.atHitInfo->bumperFlags & BUMP_HIT) { - this->actor.world.pos.x = this->collider.info.atHitInfo->bumper.hitPos.x; - this->actor.world.pos.y = this->collider.info.atHitInfo->bumper.hitPos.y; - this->actor.world.pos.z = this->collider.info.atHitInfo->bumper.hitPos.z; + if (this->collider.elem.atHitElem->bumperFlags & BUMP_HIT) { + this->actor.world.pos.x = this->collider.elem.atHitElem->bumper.hitPos.x; + this->actor.world.pos.y = this->collider.elem.atHitElem->bumper.hitPos.y; + this->actor.world.pos.z = this->collider.elem.atHitElem->bumper.hitPos.z; } func_809B3CEC(play, this); @@ -481,7 +481,7 @@ void EnArrow_Draw(Actor* thisx, PlayState* play) { Matrix_RotateZ((this->actor.speed == 0.0f) ? 0.0f : BINANG_TO_RAD((play->gameplayFrames & 0xFF) * 4000), MTXMODE_APPLY); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_arrow.c", 1374), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_arrow.c", 1374), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffSparklesDL); Matrix_Pop(); diff --git a/src/overlays/actors/ovl_En_Ba/z_en_ba.c b/src/overlays/actors/ovl_En_Ba/z_en_ba.c index cdbbb60ee5..965df7954f 100644 --- a/src/overlays/actors/ovl_En_Ba/z_en_ba.c +++ b/src/overlays/actors/ovl_En_Ba/z_en_ba.c @@ -475,7 +475,7 @@ void EnBa_Draw(Actor* thisx, PlayState* play) { EnBa* this = (EnBa*)thisx; s32 pad; s16 i; - Mtx* mtx = Graph_Alloc(play->state.gfxCtx, sizeof(Mtx) * 14); + Mtx* mtx = GRAPH_ALLOC(play->state.gfxCtx, sizeof(Mtx) * 14); Vec3f unused = { 0.0f, 0.0f, 448.0f }; OPEN_DISPS(play->state.gfxCtx, "../z_en_ba.c", 933); @@ -502,10 +502,10 @@ void EnBa_Draw(Actor* thisx, PlayState* play) { break; } } - Matrix_ToMtx(mtx, "../z_en_ba.c", 970); + MATRIX_TO_MTX(mtx, "../z_en_ba.c", 970); } Matrix_Pop(); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_ba.c", 973), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_ba.c", 973), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_bxa_DL_000890); } else { @@ -514,7 +514,7 @@ void EnBa_Draw(Actor* thisx, PlayState* play) { (play->gameplayFrames * 2) % 128, 32, 32, 1, (play->gameplayFrames * -5) % 128, (play->gameplayFrames * -5) % 128, 32, 32)); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 125, 100, 255); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_ba.c", 991), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_ba.c", 991), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_bxa_DL_001D80); } 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 534f38646e..b6bca7f72f 100644 --- a/src/overlays/actors/ovl_En_Bb/z_en_bb.c +++ b/src/overlays/actors/ovl_En_Bb/z_en_bb.c @@ -330,9 +330,9 @@ void EnBb_Init(Actor* thisx, PlayState* play) { this->timer = 0; this->flameScaleY = 80.0f; this->flameScaleX = 100.0f; - this->collider.elements[0].info.toucherFlags = TOUCH_ON | TOUCH_SFX_HARD; - this->collider.elements[0].info.toucher.dmgFlags = DMG_DEFAULT; - this->collider.elements[0].info.toucher.damage = 8; + this->collider.elements[0].base.toucherFlags = TOUCH_ON | TOUCH_SFX_HARD; + this->collider.elements[0].base.toucher.dmgFlags = DMG_DEFAULT; + this->collider.elements[0].base.toucher.damage = 8; this->bobSize = this->actionState * 20.0f; this->flamePrimAlpha = 255; this->moveMode = BBMOVE_NORMAL; @@ -350,7 +350,7 @@ void EnBb_Init(Actor* thisx, PlayState* play) { thisx->naviEnemyId = NAVI_ENEMY_RED_BUBBLE; thisx->colChkInfo.damageTable = &sDamageTableRed; this->flameEnvColor.r = 255; - this->collider.elements[0].info.toucher.effect = 1; + this->collider.elements[0].base.toucher.effect = 1; EnBb_SetupRed(play, this); break; case ENBB_WHITE: @@ -1151,10 +1151,10 @@ void EnBb_CollisionCheck(EnBb* this, PlayState* play) { if (this->collider.base.acFlags & AC_HIT) { this->collider.base.acFlags &= ~AC_HIT; this->dmgEffect = this->actor.colChkInfo.damageEffect; - Actor_SetDropFlag(&this->actor, &this->collider.elements[0].info, false); + Actor_SetDropFlag(&this->actor, &this->collider.elements[0].base, false); switch (this->dmgEffect) { case 7: - this->actor.freezeTimer = this->collider.elements[0].info.acHitInfo->toucher.damage; + this->actor.freezeTimer = this->collider.elements[0].base.acHitElem->toucher.damage; FALLTHROUGH; case 5: this->fireIceTimer = 0x30; @@ -1164,7 +1164,7 @@ void EnBb_CollisionCheck(EnBb* this, PlayState* play) { //! Din's Fire on a white bubble will do just that. The mechanism is complex and described below. goto block_15; case 6: - this->actor.freezeTimer = this->collider.elements[0].info.acHitInfo->toucher.damage; + this->actor.freezeTimer = this->collider.elements[0].base.acHitElem->toucher.damage; break; case 8: case 9: @@ -1338,7 +1338,7 @@ void EnBb_Draw(Actor* thisx, PlayState* play) { BINANG_TO_RAD((s16)(Camera_GetCamDirYaw(GET_ACTIVE_CAM(play)) - this->actor.shape.rot.y + 0x8000)), MTXMODE_APPLY); Matrix_Scale(this->flameScaleX * 0.01f, this->flameScaleY * 0.01f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_bb.c", 2106), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_bb.c", 2106), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffFire1DL); } else { diff --git a/src/overlays/actors/ovl_En_Bdfire/z_en_bdfire.c b/src/overlays/actors/ovl_En_Bdfire/z_en_bdfire.c index 488df41f58..20856856c7 100644 --- a/src/overlays/actors/ovl_En_Bdfire/z_en_bdfire.c +++ b/src/overlays/actors/ovl_En_Bdfire/z_en_bdfire.c @@ -163,13 +163,13 @@ void func_809BC598(EnBdfire* this, PlayState* play) { Actor_Kill(&this->actor); return; } - } else if (!player->isBurning) { + } else if (!player->bodyIsBurning) { distToBurn = (this->actor.scale.x * 130.0f) / 4.2000003f; if (this->actor.xyzDistToPlayerSq < SQ(distToBurn)) { for (i = 0; i < 18; i++) { - player->flameTimers[i] = Rand_S16Offset(0, 200); + player->bodyFlameTimers[i] = Rand_S16Offset(0, 200); } - player->isBurning = true; + player->bodyIsBurning = true; func_8002F6D4(play, &this->actor, 20.0f, this->actor.world.rot.y, 0.0f, 8); osSyncPrintf("POWER\n"); } @@ -206,7 +206,7 @@ void EnBdfire_DrawFire(EnBdfire* this, PlayState* play) { gDPSetEnvColor(POLY_XLU_DISP++, 200, 0, 0, 0); gSPSegment(POLY_XLU_DISP++, 8, SEGMENTED_TO_VIRTUAL(D_809BCB10[texIndex])); Matrix_Translate(0.0f, 11.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_bdfire.c", 647), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_bdfire.c", 647), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_kingdodongo_DL_01D950); CLOSE_DISPS(play->state.gfxCtx, "../z_en_bdfire.c", 651); 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 3df1f4505b..e58bd6b2a4 100644 --- a/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c +++ b/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c @@ -152,7 +152,7 @@ static InitChainEntry sInitChain[] = { }; // possibly color data -static s32 sUnused[] = { 0xFFFFFFFF, 0x969696FF }; +static u32 sUnused[] = { 0xFFFFFFFF, 0x969696FF }; void EnBigokuta_Init(Actor* thisx, PlayState* play) { EnBigokuta* this = (EnBigokuta*)thisx; @@ -333,7 +333,7 @@ void func_809BD524(EnBigokuta* this) { this->unk_19A = 0; this->cylinder[0].base.atFlags |= AT_ON; Actor_PlaySfx(&this->actor, NA_SE_EN_DAIOCTA_MAHI); - if (this->collider.elements->info.acHitInfo->toucher.dmgFlags & DMG_DEKU_NUT) { + if (this->collider.elements[0].base.acHitElem->toucher.dmgFlags & DMG_DEKU_NUT) { this->unk_195 = true; this->unk_196 = 20; } else { @@ -640,8 +640,8 @@ void func_809BE26C(EnBigokuta* this, PlayState* play) { } if (this->unk_198 == 0 && Math_StepToF(&this->actor.scale.y, 0.0f, 0.001f)) { Flags_SetClear(play, this->actor.room); - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0); - Camera_SetStateFlag(play->cameraPtrs[CAM_ID_MAIN], CAM_STATE_2); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_DUNGEON0); + Camera_SetStateFlag(play->cameraPtrs[CAM_ID_MAIN], CAM_STATE_CHECK_BG); SfxSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 50, NA_SE_EN_OCTAROCK_BUBLE); Item_DropCollectibleRandom(play, &this->actor, &this->actor.world.pos, 0xB0); Actor_Kill(&this->actor); @@ -777,8 +777,8 @@ void EnBigokuta_Update(Actor* thisx, PlayState* play2) { this->actionFunc(this, play); func_809BD2E4(this); func_809BE568(this); - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BIG_OCTO); - Camera_UnsetStateFlag(play->cameraPtrs[CAM_ID_MAIN], CAM_STATE_2); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BIG_OCTO); + Camera_UnsetStateFlag(play->cameraPtrs[CAM_ID_MAIN], CAM_STATE_CHECK_BG); if (this->cylinder[0].base.atFlags & AT_ON) { if (this->actionFunc != func_809BE058) { diff --git a/src/overlays/actors/ovl_En_Bili/z_en_bili.c b/src/overlays/actors/ovl_En_Bili/z_en_bili.c index 16865616bf..de0a12eebf 100644 --- a/src/overlays/actors/ovl_En_Bili/z_en_bili.c +++ b/src/overlays/actors/ovl_En_Bili/z_en_bili.c @@ -141,7 +141,7 @@ void EnBili_Destroy(Actor* thisx, PlayState* play) { void EnBili_SetupFloatIdle(EnBili* this) { this->actor.speed = 0.7f; - this->collider.info.bumper.effect = 1; // Shock? + this->collider.elem.bumper.effect = 1; // Shock? this->timer = 32; this->collider.base.atFlags |= AT_ON; this->collider.base.acFlags |= AC_ON; @@ -237,7 +237,7 @@ void EnBili_SetupDie(EnBili* this) { */ void EnBili_SetupStunned(EnBili* this) { this->timer = 80; - this->collider.info.bumper.effect = 0; + this->collider.elem.bumper.effect = 0; this->actor.gravity = -1.0f; this->actor.speed = 0.0f; Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 150, COLORFILTER_BUFFLAG_XLU, 80); @@ -549,7 +549,7 @@ void EnBili_UpdateDamage(EnBili* this, PlayState* play) { if ((this->actor.colChkInfo.health != 0) && (this->collider.base.acFlags & AC_HIT)) { this->collider.base.acFlags &= ~AC_HIT; - Actor_SetDropFlag(&this->actor, &this->collider.info, true); + Actor_SetDropFlag(&this->actor, &this->collider.elem, true); if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) { if (Actor_ApplyDamage(&this->actor) == 0) { @@ -586,7 +586,7 @@ void EnBili_UpdateDamage(EnBili* this, PlayState* play) { EnBili_SetupBurnt(this); } - if (this->collider.info.acHitInfo->toucher.dmgFlags & DMG_ARROW) { + if (this->collider.elem.acHitElem->toucher.dmgFlags & DMG_ARROW) { this->actor.flags |= ACTOR_FLAG_4; } } diff --git a/src/overlays/actors/ovl_En_Blkobj/z_en_blkobj.c b/src/overlays/actors/ovl_En_Blkobj/z_en_blkobj.c index 6cf2378760..59a2e76bf8 100644 --- a/src/overlays/actors/ovl_En_Blkobj/z_en_blkobj.c +++ b/src/overlays/actors/ovl_En_Blkobj/z_en_blkobj.c @@ -159,7 +159,7 @@ void EnBlkobj_Draw(Actor* thisx, PlayState* play) { gSPSegment( POLY_XLU_DISP++, 0x0D, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, gameplayFrames, 0, 32, 32, 1, gameplayFrames, 0, 32, 32)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_blkobj.c", 363), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_blkobj.c", 363), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->alpha != 0) { 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 6b66b69a61..b77839265e 100644 --- a/src/overlays/actors/ovl_En_Bom/z_en_bom.c +++ b/src/overlays/actors/ovl_En_Bom/z_en_bom.c @@ -101,7 +101,7 @@ void EnBom_Init(Actor* thisx, PlayState* play) { Collider_InitJntSph(play, &this->explosionCollider); Collider_SetCylinder(play, &this->bombCollider, thisx, &sCylinderInit); Collider_SetJntSph(play, &this->explosionCollider, thisx, &sJntSphInit, &this->explosionColliderItems[0]); - this->explosionColliderItems[0].info.toucher.damage += (thisx->shape.rot.z & 0xFF00) >> 8; + this->explosionColliderItems[0].base.toucher.damage += (thisx->shape.rot.z & 0xFF00) >> 8; thisx->shape.rot.z &= 0xFF; if (thisx->shape.rot.z & 0x80) { @@ -367,11 +367,11 @@ void EnBom_Draw(Actor* thisx, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); func_8002EBCC(thisx, play, 0); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_bom.c", 928), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_bom.c", 928), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gBombCapDL); Matrix_RotateZYX(0x4000, 0, 0, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_bom.c", 934), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_bom.c", 934), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPPipeSync(POLY_OPA_DISP++); gDPSetEnvColor(POLY_OPA_DISP++, (s16)this->flashIntensity, 0, 40, 255); 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 8dd80549a9..37cd13375a 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 @@ -18,20 +18,20 @@ void EnBomBowlMan_Destroy(Actor* thisx, PlayState* play); void EnBomBowlMan_Update(Actor* thisx, PlayState* play); void EnBomBowlMan_Draw(Actor* thisx, PlayState* play); -void EnBomBowMan_SetupWaitAsleep(EnBomBowlMan* this, PlayState* play); -void EnBomBowMan_WaitAsleep(EnBomBowlMan* this, PlayState* play); -void EnBomBowMan_TalkAsleep(EnBomBowlMan* this, PlayState* play); -void EnBomBowMan_WakeUp(EnBomBowlMan* this, PlayState* play); -void EnBomBowMan_BlinkAwake(EnBomBowlMan* this, PlayState* play); -void EnBomBowMan_CheckBeatenDC(EnBomBowlMan* this, PlayState* play); -void EnBomBowMan_WaitNotBeatenDC(EnBomBowlMan* this, PlayState* play); -void EnBomBowMan_TalkNotBeatenDC(EnBomBowlMan* this, PlayState* play); -void EnBomBowMan_SetupRunGame(EnBomBowlMan* this, PlayState* play); -void EnBomBowMan_RunGame(EnBomBowlMan* this, PlayState* play); +void EnBomBowlMan_SetupWaitAsleep(EnBomBowlMan* this, PlayState* play); +void EnBomBowlMan_WaitAsleep(EnBomBowlMan* this, PlayState* play); +void EnBomBowlMan_TalkAsleep(EnBomBowlMan* this, PlayState* play); +void EnBomBowlMan_WakeUp(EnBomBowlMan* this, PlayState* play); +void EnBomBowlMan_BlinkAwake(EnBomBowlMan* this, PlayState* play); +void EnBomBowlMan_CheckBeatenDC(EnBomBowlMan* this, PlayState* play); +void EnBomBowlMan_WaitNotBeatenDC(EnBomBowlMan* this, PlayState* play); +void EnBomBowlMan_TalkNotBeatenDC(EnBomBowlMan* this, PlayState* play); +void EnBomBowlMan_SetupRunGame(EnBomBowlMan* this, PlayState* play); +void EnBomBowlMan_RunGame(EnBomBowlMan* this, PlayState* play); void EnBomBowlMan_HandlePlayChoice(EnBomBowlMan* this, PlayState* play); void func_809C41FC(EnBomBowlMan* this, PlayState* play); -void EnBomBowMan_SetupChooseShowPrize(EnBomBowlMan* this, PlayState* play); -void EnBomBowMan_ChooseShowPrize(EnBomBowlMan* this, PlayState* play); +void EnBomBowlMan_SetupChooseShowPrize(EnBomBowlMan* this, PlayState* play); +void EnBomBowlMan_ChooseShowPrize(EnBomBowlMan* this, PlayState* play); void EnBomBowlMan_BeginPlayGame(EnBomBowlMan* this, PlayState* play); ActorInit En_Bom_Bowl_Man_InitVars = { @@ -79,53 +79,53 @@ void EnBomBowlMan_Init(Actor* thisx, PlayState* play2) { this->prizeSelect = (s16)Rand_ZeroFloat(4.99f); this->actor.targetMode = 1; - this->actionFunc = EnBomBowMan_SetupWaitAsleep; + this->actionFunc = EnBomBowlMan_SetupWaitAsleep; } void EnBomBowlMan_Destroy(Actor* thisx, PlayState* play) { } -void EnBomBowMan_SetupWaitAsleep(EnBomBowlMan* this, PlayState* play) { +void EnBomBowlMan_SetupWaitAsleep(EnBomBowlMan* this, PlayState* play) { this->frameCount = (f32)Animation_GetLastFrame(&gChuGirlNoddingOffAnim); Animation_Change(&this->skelAnime, &gChuGirlNoddingOffAnim, 1.0f, 0.0f, this->frameCount, ANIMMODE_LOOP, -10.0f); this->actor.textId = 0xC0; this->dialogState = TEXT_STATE_EVENT; - this->actionFunc = EnBomBowMan_WaitAsleep; + this->actionFunc = EnBomBowlMan_WaitAsleep; } -void EnBomBowMan_WaitAsleep(EnBomBowlMan* this, PlayState* play) { +void EnBomBowlMan_WaitAsleep(EnBomBowlMan* this, PlayState* play) { s16 yawDiff; SkelAnime_Update(&this->skelAnime); - if (Actor_ProcessTalkRequest(&this->actor, play)) { - this->actionFunc = EnBomBowMan_TalkAsleep; + if (Actor_TalkOfferAccepted(&this->actor, play)) { + this->actionFunc = EnBomBowlMan_TalkAsleep; } else { yawDiff = ABS((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y)); if (!(this->actor.xzDistToPlayer > 120.0f) && (yawDiff < 0x4300)) { - func_8002F2CC(&this->actor, play, 120.0f); + Actor_OfferTalk(&this->actor, play, 120.0f); } } } -void EnBomBowMan_TalkAsleep(EnBomBowlMan* this, PlayState* play) { +void EnBomBowlMan_TalkAsleep(EnBomBowlMan* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); if ((Message_GetState(&play->msgCtx) == this->dialogState) && Message_ShouldAdvance(play)) { play->msgCtx.msgMode = MSGMODE_PAUSED; - this->actionFunc = EnBomBowMan_WakeUp; + this->actionFunc = EnBomBowlMan_WakeUp; } } -void EnBomBowMan_WakeUp(EnBomBowlMan* this, PlayState* play) { +void EnBomBowlMan_WakeUp(EnBomBowlMan* this, PlayState* play) { this->frameCount = (f32)Animation_GetLastFrame(&gChuGirlWakeUpAnim); Animation_Change(&this->skelAnime, &gChuGirlWakeUpAnim, 1.0f, 0.0f, this->frameCount, ANIMMODE_ONCE, -10.0f); this->eyeMode = CHU_GIRL_EYES_OPEN_SLOWLY; - this->actionFunc = EnBomBowMan_BlinkAwake; + this->actionFunc = EnBomBowlMan_BlinkAwake; } -void EnBomBowMan_BlinkAwake(EnBomBowlMan* this, PlayState* play) { +void EnBomBowlMan_BlinkAwake(EnBomBowlMan* this, PlayState* play) { f32 frameCount = this->skelAnime.curFrame; SkelAnime_Update(&this->skelAnime); @@ -146,12 +146,12 @@ void EnBomBowMan_BlinkAwake(EnBomBowlMan* this, PlayState* play) { this->eyeTextureIndex = 2; this->blinkCount++; if (this->blinkCount >= 3) { - this->actionFunc = EnBomBowMan_CheckBeatenDC; + this->actionFunc = EnBomBowlMan_CheckBeatenDC; } } } -void EnBomBowMan_CheckBeatenDC(EnBomBowlMan* this, PlayState* play) { +void EnBomBowlMan_CheckBeatenDC(EnBomBowlMan* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); if ((Message_GetState(&play->msgCtx) == this->dialogState) && Message_ShouldAdvance(play)) { @@ -164,7 +164,7 @@ void EnBomBowMan_CheckBeatenDC(EnBomBowlMan* this, PlayState* play) { // Check for beaten Dodongo's Cavern if (!(GET_EVENTCHKINF(EVENTCHKINF_25) || BREG(2))) { - this->actionFunc = EnBomBowMan_WaitNotBeatenDC; + this->actionFunc = EnBomBowlMan_WaitNotBeatenDC; } else { this->actor.textId = 0x18; this->dialogState = TEXT_STATE_CHOICE; @@ -174,26 +174,26 @@ void EnBomBowMan_CheckBeatenDC(EnBomBowlMan* this, PlayState* play) { } } -void EnBomBowMan_WaitNotBeatenDC(EnBomBowlMan* this, PlayState* play) { +void EnBomBowlMan_WaitNotBeatenDC(EnBomBowlMan* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); - if (Actor_ProcessTalkRequest(&this->actor, play)) { - this->actionFunc = EnBomBowMan_TalkNotBeatenDC; + if (Actor_TalkOfferAccepted(&this->actor, play)) { + this->actionFunc = EnBomBowlMan_TalkNotBeatenDC; } else { - func_8002F2CC(&this->actor, play, 120.0f); + Actor_OfferTalk(&this->actor, play, 120.0f); } } -void EnBomBowMan_TalkNotBeatenDC(EnBomBowlMan* this, PlayState* play) { +void EnBomBowlMan_TalkNotBeatenDC(EnBomBowlMan* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); if ((Message_GetState(&play->msgCtx) == this->dialogState) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); - this->actionFunc = EnBomBowMan_WaitNotBeatenDC; + this->actionFunc = EnBomBowlMan_WaitNotBeatenDC; } } -void EnBomBowMan_SetupRunGame(EnBomBowlMan* this, PlayState* play) { +void EnBomBowlMan_SetupRunGame(EnBomBowlMan* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); if (this->minigamePlayStatus == 0) { @@ -209,10 +209,10 @@ void EnBomBowMan_SetupRunGame(EnBomBowlMan* this, PlayState* play) { this->dialogState = TEXT_STATE_EVENT; } - this->actionFunc = EnBomBowMan_RunGame; + this->actionFunc = EnBomBowlMan_RunGame; } -void EnBomBowMan_RunGame(EnBomBowlMan* this, PlayState* play) { +void EnBomBowlMan_RunGame(EnBomBowlMan* this, PlayState* play) { s16 yawDiff; SkelAnime_Update(&this->skelAnime); @@ -265,7 +265,7 @@ void EnBomBowMan_RunGame(EnBomBowlMan* this, PlayState* play) { } this->actionFunc = EnBomBowlMan_HandlePlayChoice; } else { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { if (this->minigamePlayStatus == 0) { this->actionFunc = EnBomBowlMan_HandlePlayChoice; } else { @@ -275,7 +275,7 @@ void EnBomBowMan_RunGame(EnBomBowlMan* this, PlayState* play) { yawDiff = ABS((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y)); if (!(this->actor.xzDistToPlayer > 120.0f) && (yawDiff < 0x4300)) { - func_8002F2CC(&this->actor, play, 120.0f); + Actor_OfferTalk(&this->actor, play, 120.0f); } } } @@ -307,7 +307,7 @@ void EnBomBowlMan_HandlePlayChoice(EnBomBowlMan* this, PlayState* play) { this->dialogState = TEXT_STATE_EVENT; OnePointCutscene_Init(play, 8010, -99, NULL, CAM_ID_MAIN); Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_8); - this->actionFunc = EnBomBowMan_SetupChooseShowPrize; + this->actionFunc = EnBomBowlMan_SetupChooseShowPrize; } } else { this->playingAgain = false; @@ -343,17 +343,17 @@ void func_809C41FC(EnBomBowlMan* this, PlayState* play) { this->dialogState = TEXT_STATE_EVENT; OnePointCutscene_Init(play, 8010, -99, NULL, CAM_ID_MAIN); Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_8); - this->actionFunc = EnBomBowMan_SetupChooseShowPrize; + this->actionFunc = EnBomBowlMan_SetupChooseShowPrize; } else { if (this->gameResult == 2) { Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_7); } - this->actionFunc = EnBomBowMan_SetupRunGame; + this->actionFunc = EnBomBowlMan_SetupRunGame; } } } -void EnBomBowMan_SetupChooseShowPrize(EnBomBowlMan* this, PlayState* play) { +void EnBomBowlMan_SetupChooseShowPrize(EnBomBowlMan* this, PlayState* play) { Vec3f accel = { 0.0f, 0.1f, 0.0f }; Vec3f velocity = { 0.0f, 0.0f, 0.0f }; Vec3f pos; @@ -367,7 +367,7 @@ void EnBomBowMan_SetupChooseShowPrize(EnBomBowlMan* this, PlayState* play) { EffectSsBomb2_SpawnLayered(play, &pos, &velocity, &accel, 50, 15); Actor_PlaySfx(&this->actor, NA_SE_IT_GOODS_APPEAR); this->prizeRevealTimer = 10; - this->actionFunc = EnBomBowMan_ChooseShowPrize; + this->actionFunc = EnBomBowlMan_ChooseShowPrize; } } @@ -377,7 +377,7 @@ static Vec3f sPrizePosOffset[] = { static s16 sPrizeRot[] = { 0x4268, 0x4268, -0x03E8, 0x0000, 0x4268, 0x0000 }; -void EnBomBowMan_ChooseShowPrize(EnBomBowlMan* this, PlayState* play) { +void EnBomBowlMan_ChooseShowPrize(EnBomBowlMan* this, PlayState* play) { s16 prizeTemp; s32 pad; @@ -449,7 +449,7 @@ void EnBomBowlMan_BeginPlayGame(EnBomBowlMan* this, PlayState* play) { if ((Message_GetState(&play->msgCtx) == this->dialogState) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); - func_8005B1A4(GET_ACTIVE_CAM(play)); + Camera_SetFinishedFlag(GET_ACTIVE_CAM(play)); this->startedPlaying = true; if (BREG(2)) { @@ -459,7 +459,7 @@ void EnBomBowlMan_BeginPlayGame(EnBomBowlMan* this, PlayState* play) { // "Wow" osSyncPrintf(VT_FGCOL(YELLOW) "☆ わー ☆ %d\n" VT_RST, play->bombchuBowlingStatus); Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_7); - this->actionFunc = EnBomBowMan_SetupRunGame; + this->actionFunc = EnBomBowlMan_SetupRunGame; } } 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 96c66a7919..df24a602ee 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 @@ -508,7 +508,7 @@ void EnBomChu_Draw(Actor* thisx, PlayState* play) { gDPSetEnvColor(POLY_OPA_DISP++, 9.0f + (colorIntensity * 209.0f), 9.0f + (colorIntensity * 34.0f), 35.0f + (colorIntensity * -35.0f), 255); Matrix_Translate(this->visualJitter * (1.0f / BOMBCHU_SCALE), 0.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_bom_chu.c", 956), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_bom_chu.c", 956), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gBombchuDL); 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 b6ef1afc8e..6d0ecbc276 100644 --- a/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c +++ b/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c @@ -469,10 +469,10 @@ Gfx* EnBombf_NewMtxDList(GraphicsContext* gfxCtx, PlayState* play) { Gfx* displayList; Gfx* displayListHead; - displayList = Graph_Alloc(gfxCtx, 5 * sizeof(Gfx)); + displayList = GRAPH_ALLOC(gfxCtx, 5 * sizeof(Gfx)); displayListHead = displayList; Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(displayListHead++, Matrix_NewMtx(gfxCtx, "../z_en_bombf.c", 1021), + gSPMatrix(displayListHead++, MATRIX_NEW(gfxCtx, "../z_en_bombf.c", 1021), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPEndDisplayList(displayListHead); return displayList; @@ -490,7 +490,7 @@ void EnBombf_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); if (thisx->params != BOMBFLOWER_BODY) { - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_bombf.c", 1041), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_bombf.c", 1041), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gBombFlowerLeavesDL); gSPDisplayList(POLY_OPA_DISP++, gBombFlowerBaseLeavesDL); @@ -502,7 +502,7 @@ void EnBombf_Draw(Actor* thisx, PlayState* play) { gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 200, 255, 200, 255); gDPPipeSync(POLY_OPA_DISP++); gDPSetEnvColor(POLY_OPA_DISP++, (s16)this->flashIntensity, 20, 10, 0); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_bombf.c", 1054), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_bombf.c", 1054), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(EnBombf_NewMtxDList(play->state.gfxCtx, play))); gSPDisplayList(POLY_OPA_DISP++, gBombFlowerBombAndSparkDL); 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 a3dcbd3a13..579cc5920b 100644 --- a/src/overlays/actors/ovl_En_Boom/z_en_boom.c +++ b/src/overlays/actors/ovl_En_Boom/z_en_boom.c @@ -242,7 +242,7 @@ void EnBoom_Update(Actor* thisx, PlayState* play) { if (!(player->stateFlags1 & PLAYER_STATE1_29)) { this->actionFunc(this, play); Actor_SetFocus(&this->actor, 0.0f); - this->activeTimer = this->activeTimer + 1; + this->activeTimer++; } } @@ -268,7 +268,7 @@ void EnBoom_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); Matrix_RotateY(BINANG_TO_RAD(this->activeTimer * 12000), MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_boom.c", 601), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_boom.c", 601), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gBoomerangRefDL); 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 0ddd1f5abd..197c4ae140 100644 --- a/src/overlays/actors/ovl_En_Box/z_en_box.c +++ b/src/overlays/actors/ovl_En_Box/z_en_box.c @@ -548,7 +548,7 @@ void EnBox_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, s32 pad; if (limbIndex == 1) { - gSPMatrix((*gfx)++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_box.c", 1492), + gSPMatrix((*gfx)++, MATRIX_NEW(play->state.gfxCtx, "../z_en_box.c", 1492), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->type != ENBOX_TYPE_DECORATED_BIG) { gSPDisplayList((*gfx)++, gTreasureChestChestFrontDL); @@ -556,7 +556,7 @@ void EnBox_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, gSPDisplayList((*gfx)++, gTreasureChestBossKeyChestFrontDL); } } else if (limbIndex == 3) { - gSPMatrix((*gfx)++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_box.c", 1502), + gSPMatrix((*gfx)++, MATRIX_NEW(play->state.gfxCtx, "../z_en_box.c", 1502), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->type != ENBOX_TYPE_DECORATED_BIG) { gSPDisplayList((*gfx)++, gTreasureChestChestSideAndLidDL); @@ -570,7 +570,7 @@ Gfx* EnBox_EmptyDList(GraphicsContext* gfxCtx) { Gfx* dListHead; Gfx* dList; - dList = Graph_Alloc(gfxCtx, sizeof(Gfx)); + dList = GRAPH_ALLOC(gfxCtx, sizeof(Gfx)); ASSERT(dList != NULL, "gfxp != NULL", "../z_en_box.c", 1528); dListHead = dList; @@ -584,7 +584,7 @@ Gfx* func_809CA4A0(GraphicsContext* gfxCtx) { Gfx* dList; Gfx* dListHead; - dListHead = Graph_Alloc(gfxCtx, 2 * sizeof(Gfx)); + dListHead = GRAPH_ALLOC(gfxCtx, 2 * sizeof(Gfx)); ASSERT(dListHead != NULL, "gfxp != NULL", "../z_en_box.c", 1546); dList = dListHead; @@ -602,7 +602,7 @@ Gfx* func_809CA518(GraphicsContext* gfxCtx) { Gfx* dList; Gfx* dListHead; - dListHead = Graph_Alloc(gfxCtx, 2 * sizeof(Gfx)); + dListHead = GRAPH_ALLOC(gfxCtx, 2 * sizeof(Gfx)); ASSERT(dListHead != NULL, "gfxp != NULL", "../z_en_box.c", 1564); dList = dListHead; diff --git a/src/overlays/actors/ovl_En_Brob/z_en_brob.c b/src/overlays/actors/ovl_En_Brob/z_en_brob.c index 0915fe72b6..64aa97e4d0 100644 --- a/src/overlays/actors/ovl_En_Brob/z_en_brob.c +++ b/src/overlays/actors/ovl_En_Brob/z_en_brob.c @@ -14,13 +14,13 @@ void EnBrob_Destroy(Actor* thisx, PlayState* play); void EnBrob_Update(Actor* thisx, PlayState* play2); void EnBrob_Draw(Actor* thisx, PlayState* play); -void func_809CADDC(EnBrob* this, PlayState* play); -void func_809CB054(EnBrob* this, PlayState* play); -void func_809CB114(EnBrob* this, PlayState* play); -void func_809CB218(EnBrob* this, PlayState* play); -void func_809CB2B8(EnBrob* this, PlayState* play); -void func_809CB354(EnBrob* this, PlayState* play); -void func_809CB458(EnBrob* this, PlayState* play); +void EnBrob_SetupIdle(EnBrob* this, PlayState* play); +void EnBrob_Idle(EnBrob* this, PlayState* play); +void EnBrob_MoveUp(EnBrob* this, PlayState* play); +void EnBrob_Wobble(EnBrob* this, PlayState* play); +void EnBrob_Stunned(EnBrob* this, PlayState* play); +void EnBrob_MoveDown(EnBrob* this, PlayState* play); +void EnBrob_Shock(EnBrob* this, PlayState* play); ActorInit En_Brob_InitVars = { /**/ ACTOR_EN_BROB, @@ -61,16 +61,16 @@ void EnBrob_Init(Actor* thisx, PlayState* play) { EnBrob* this = (EnBrob*)thisx; CollisionHeader* colHeader = NULL; - SkelAnime_InitFlex(play, &this->skelAnime, &object_brob_Skel_0015D8, &object_brob_Anim_001750, this->jointTable, - this->morphTable, 10); + SkelAnime_InitFlex(play, &this->skelAnime, &gBrobSkel, &gBrobMoveUpAnim, this->jointTable, this->morphTable, 10); DynaPolyActor_Init(&this->dyna, 0); - CollisionHeader_GetVirtual(&object_brob_Col_001A70, &colHeader); + CollisionHeader_GetVirtual(&gBrobCol, &colHeader); this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, thisx, colHeader); Collider_InitCylinder(play, &this->colliders[0]); Collider_SetCylinder(play, &this->colliders[0], &this->dyna.actor, &sCylinderInit); Collider_InitCylinder(play, &this->colliders[1]); Collider_SetCylinder(play, &this->colliders[1], &this->dyna.actor, &sCylinderInit); CollisionCheck_SetInfo(&thisx->colChkInfo, NULL, &sColChkInfoInit); + if (((thisx->params >> 8) & 0xFF) == 0) { Actor_SetScale(&this->dyna.actor, 0.01f); thisx->params &= 0xFF; @@ -84,6 +84,7 @@ void EnBrob_Init(Actor* thisx, PlayState* play) { thisx->scale.y *= (thisx->params & 0xFF) * (2.0f / 30.0f); } } + this->colliders[0].dim.radius *= thisx->scale.x; this->colliders[0].dim.height = thisx->scale.y * 12000.0f; this->colliders[0].dim.yShift = 0; @@ -92,7 +93,7 @@ void EnBrob_Init(Actor* thisx, PlayState* play) { this->colliders[1].dim.yShift *= thisx->scale.y; this->actionFunc = NULL; thisx->flags &= ~ACTOR_FLAG_0; - func_809CADDC(this, play); + EnBrob_SetupIdle(this, play); } void EnBrob_Destroy(Actor* thisx, PlayState* play) { @@ -103,82 +104,82 @@ void EnBrob_Destroy(Actor* thisx, PlayState* play) { Collider_DestroyCylinder(play, &this->colliders[1]); } -void func_809CADDC(EnBrob* this, PlayState* play) { +void EnBrob_SetupIdle(EnBrob* this, PlayState* play) { DynaPoly_EnableCollision(play, &play->colCtx.dyna, this->dyna.bgId); - this->timer = this->actionFunc == func_809CB2B8 ? 200 : 0; - this->unk_1AE = 0; - this->actionFunc = func_809CB054; + this->timer = this->actionFunc == EnBrob_Stunned ? 200 : 0; + this->modelOffsetY = 0; + this->actionFunc = EnBrob_Idle; } -void func_809CAE44(EnBrob* this, PlayState* play) { - Animation_PlayOnce(&this->skelAnime, &object_brob_Anim_001750); +void EnBrob_SetupMoveUp(EnBrob* this, PlayState* play) { + Animation_PlayOnce(&this->skelAnime, &gBrobMoveUpAnim); DynaPoly_DisableCollision(play, &play->colCtx.dyna, this->dyna.bgId); - this->unk_1AE = 1000; - this->actionFunc = func_809CB114; + this->modelOffsetY = 1000; + this->actionFunc = EnBrob_MoveUp; } -void func_809CAEA0(EnBrob* this) { - Animation_MorphToLoop(&this->skelAnime, &object_brob_Anim_001958, -5.0f); - this->unk_1AE = 8000; +void EnBrob_SetupWobble(EnBrob* this) { + Animation_MorphToLoop(&this->skelAnime, &gBrobWobbleAnim, -5.0f); + this->modelOffsetY = 8000; this->timer = 1200; - this->actionFunc = func_809CB218; + this->actionFunc = EnBrob_Wobble; } -void func_809CAEF4(EnBrob* this) { - Animation_MorphToPlayOnce(&this->skelAnime, &object_brob_Anim_000290, -5.0f); - this->unk_1AE -= 125.0f; +void EnBrob_SetupStunned(EnBrob* this) { + Animation_MorphToPlayOnce(&this->skelAnime, &gBrobStunnedAnim, -5.0f); + this->modelOffsetY -= 125.0f; Actor_SetColorFilter(&this->dyna.actor, COLORFILTER_COLORFLAG_BLUE, 255, COLORFILTER_BUFFLAG_OPA, 80); Actor_PlaySfx(&this->dyna.actor, NA_SE_EN_GOMA_JR_FREEZE); - this->actionFunc = func_809CB2B8; + this->actionFunc = EnBrob_Stunned; } -void func_809CAF88(EnBrob* this) { - Animation_Change(&this->skelAnime, &object_brob_Anim_001750, -1.0f, - Animation_GetLastFrame(&object_brob_Anim_001750), 0.0f, ANIMMODE_ONCE, -5.0f); - this->unk_1AE = 8250; - this->actionFunc = func_809CB354; +void EnBrob_SetupMoveDown(EnBrob* this) { + Animation_Change(&this->skelAnime, &gBrobMoveUpAnim, -1.0f, Animation_GetLastFrame(&gBrobMoveUpAnim), 0.0f, + ANIMMODE_ONCE, -5.0f); + this->modelOffsetY = 8250; + this->actionFunc = EnBrob_MoveDown; } -void func_809CB008(EnBrob* this) { - Animation_MorphToLoop(&this->skelAnime, &object_brob_Anim_001678, -5.0f); +void EnBrob_SetupShock(EnBrob* this) { + Animation_MorphToLoop(&this->skelAnime, &gBrobShockAnim, -5.0f); this->timer = 10; - this->actionFunc = func_809CB458; + this->actionFunc = EnBrob_Shock; } -void func_809CB054(EnBrob* this, PlayState* play) { +void EnBrob_Idle(EnBrob* this, PlayState* play) { if (this->timer != 0) { this->timer--; } if (this->timer == 0) { if (DynaPolyActor_IsPlayerOnTop(&this->dyna)) { func_8002F71C(play, &this->dyna.actor, 5.0f, this->dyna.actor.yawTowardsPlayer, 1.0f); - func_809CAE44(this, play); + EnBrob_SetupMoveUp(this, play); } else if (this->dyna.actor.xzDistToPlayer < 300.0f) { - func_809CAE44(this, play); + EnBrob_SetupMoveUp(this, play); } } else if (this->timer >= 81) { this->dyna.actor.colorFilterTimer = 80; } } -void func_809CB114(EnBrob* this, PlayState* play) { +void EnBrob_MoveUp(EnBrob* this, PlayState* play) { f32 curFrame; if (SkelAnime_Update(&this->skelAnime)) { - func_809CAEA0(this); + EnBrob_SetupWobble(this); } else { curFrame = this->skelAnime.curFrame; if (curFrame < 8.0f) { - this->unk_1AE += 1000.0f; + this->modelOffsetY += 1000.0f; } else if (curFrame < 12.0f) { - this->unk_1AE += 250.0f; + this->modelOffsetY += 250.0f; } else { - this->unk_1AE -= 250.0f; + this->modelOffsetY -= 250.0f; } } } -void func_809CB218(EnBrob* this, PlayState* play) { +void EnBrob_Wobble(EnBrob* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); if (Animation_OnFrame(&this->skelAnime, 6.0f) || Animation_OnFrame(&this->skelAnime, 15.0f)) { Actor_PlaySfx(&this->dyna.actor, NA_SE_EN_BROB_WAVE); @@ -187,37 +188,37 @@ void func_809CB218(EnBrob* this, PlayState* play) { this->timer--; } if ((this->timer == 0) && (this->dyna.actor.xzDistToPlayer > 500.0f)) { - func_809CAF88(this); + EnBrob_SetupMoveDown(this); } } -void func_809CB2B8(EnBrob* this, PlayState* play) { +void EnBrob_Stunned(EnBrob* this, PlayState* play) { if (SkelAnime_Update(&this->skelAnime)) { - func_809CADDC(this, play); + EnBrob_SetupIdle(this, play); } else if (this->skelAnime.curFrame < 8.0f) { - this->unk_1AE -= 1250.0f; + this->modelOffsetY -= 1250.0f; } this->dyna.actor.colorFilterTimer = 0x50; } -void func_809CB354(EnBrob* this, PlayState* play) { +void EnBrob_MoveDown(EnBrob* this, PlayState* play) { f32 curFrame; if (SkelAnime_Update(&this->skelAnime)) { - func_809CADDC(this, play); + EnBrob_SetupIdle(this, play); } else { curFrame = this->skelAnime.curFrame; if (curFrame < 8.0f) { - this->unk_1AE -= 1000.0f; + this->modelOffsetY -= 1000.0f; } else if (curFrame < 12.0f) { - this->unk_1AE -= 250.0f; + this->modelOffsetY -= 250.0f; } else { - this->unk_1AE += 250.0f; + this->modelOffsetY += 250.0f; } } } -void func_809CB458(EnBrob* this, PlayState* play) { +void EnBrob_Shock(EnBrob* this, PlayState* play) { Vec3f pos; f32 dist1; f32 dist2; @@ -250,7 +251,7 @@ void func_809CB458(EnBrob* this, PlayState* play) { } if (this->timer == 0) { - func_809CAEA0(this); + EnBrob_SetupWobble(this); } } @@ -262,24 +263,24 @@ void EnBrob_Update(Actor* thisx, PlayState* play2) { acHits[0] = (this->colliders[0].base.acFlags & AC_HIT) != 0; acHits[1] = (this->colliders[1].base.acFlags & AC_HIT) != 0; - if ((acHits[0] && (this->colliders[0].info.acHitInfo->toucher.dmgFlags & DMG_BOOMERANG)) || - (acHits[1] && (this->colliders[1].info.acHitInfo->toucher.dmgFlags & DMG_BOOMERANG))) { + if ((acHits[0] && (this->colliders[0].elem.acHitElem->toucher.dmgFlags & DMG_BOOMERANG)) || + (acHits[1] && (this->colliders[1].elem.acHitElem->toucher.dmgFlags & DMG_BOOMERANG))) { for (i = 0; i < 2; i++) { this->colliders[i].base.atFlags &= ~(AT_HIT | AT_BOUNCED); this->colliders[i].base.acFlags &= ~AC_HIT; } - func_809CAEF4(this); + EnBrob_SetupStunned(this); } else if ((this->colliders[0].base.atFlags & AT_HIT) || (this->colliders[1].base.atFlags & AT_HIT) || - (acHits[0] && (this->colliders[0].info.acHitInfo->toucher.dmgFlags & DMG_SLASH_KOKIRI)) || - (acHits[1] && (this->colliders[1].info.acHitInfo->toucher.dmgFlags & DMG_SLASH_KOKIRI))) { + (acHits[0] && (this->colliders[0].elem.acHitElem->toucher.dmgFlags & DMG_SLASH_KOKIRI)) || + (acHits[1] && (this->colliders[1].elem.acHitElem->toucher.dmgFlags & DMG_SLASH_KOKIRI))) { - if (this->actionFunc == func_809CB114 && !(this->colliders[0].base.atFlags & AT_BOUNCED) && + if (this->actionFunc == EnBrob_MoveUp && !(this->colliders[0].base.atFlags & AT_BOUNCED) && !(this->colliders[1].base.atFlags & AT_BOUNCED)) { func_8002F71C(play, &this->dyna.actor, 5.0f, this->dyna.actor.yawTowardsPlayer, 1.0f); - } else if (this->actionFunc != func_809CB114) { - func_809CB008(this); + } else if (this->actionFunc != EnBrob_MoveUp) { + EnBrob_SetupShock(this); } for (i = 0; i < 2; i++) { @@ -287,12 +288,14 @@ void EnBrob_Update(Actor* thisx, PlayState* play2) { this->colliders[i].base.acFlags &= ~AC_HIT; } } + this->actionFunc(this, play); - if (this->actionFunc != func_809CB054 && this->actionFunc != func_809CB354) { - if (this->actionFunc != func_809CB2B8) { + + if (this->actionFunc != EnBrob_Idle && this->actionFunc != EnBrob_MoveDown) { + if (this->actionFunc != EnBrob_Stunned) { CollisionCheck_SetAT(play, &play->colChkCtx, &this->colliders[0].base); CollisionCheck_SetAT(play, &play->colChkCtx, &this->colliders[1].base); - if (this->actionFunc != func_809CB114) { + if (this->actionFunc != EnBrob_MoveUp) { CollisionCheck_SetAC(play, &play->colChkCtx, &this->colliders[0].base); CollisionCheck_SetAC(play, &play->colChkCtx, &this->colliders[1].base); } @@ -322,7 +325,7 @@ void EnBrob_Draw(Actor* thisx, PlayState* play) { EnBrob* this = (EnBrob*)thisx; Gfx_SetupDL_25Opa(play->state.gfxCtx); - Matrix_Translate(0.0f, this->unk_1AE, 0.0f, MTXMODE_APPLY); + Matrix_Translate(0.0f, this->modelOffsetY, 0.0f, MTXMODE_APPLY); SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, NULL, EnBrob_PostLimbDraw, this); } diff --git a/src/overlays/actors/ovl_En_Brob/z_en_brob.h b/src/overlays/actors/ovl_En_Brob/z_en_brob.h index 2e54a46d89..a3dd0c8f8a 100644 --- a/src/overlays/actors/ovl_En_Brob/z_en_brob.h +++ b/src/overlays/actors/ovl_En_Brob/z_en_brob.h @@ -13,7 +13,7 @@ typedef struct EnBrob { /* 0x0164 */ SkelAnime skelAnime; /* 0x01A8 */ EnBrobActionFunc actionFunc; /* 0x01AC */ s16 timer; - /* 0x01AE */ s16 unk_1AE; + /* 0x01AE */ s16 modelOffsetY; /* 0x01B0 */ Vec3s jointTable[10]; /* 0x01EC */ Vec3s morphTable[10]; /* 0x0228 */ ColliderCylinder colliders[2]; 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 2e1ea90dd3..23f49a4625 100644 --- a/src/overlays/actors/ovl_En_Bubble/z_en_bubble.c +++ b/src/overlays/actors/ovl_En_Bubble/z_en_bubble.c @@ -62,9 +62,7 @@ static ColliderJntSphInit sJntSphInit = { sJntSphElementsInit, }; -static CollisionCheckInfoInit2 sColChkInfoInit2 = { - 1, 2, 25, 25, MASS_IMMOVABLE, -}; +static CollisionCheckInfoInit2 sColChkInfoInit2 = { 1, 2, 25, 25, MASS_IMMOVABLE }; static Vec3f sEffectAccel = { 0.0f, -0.5f, 0.0f }; @@ -97,12 +95,12 @@ void EnBubble_SetDimensions(EnBubble* this, f32 dim) { } u32 func_809CBCBC(EnBubble* this) { - ColliderInfo* info = &this->colliderSphere.elements[0].info; + ColliderElement* elem = &this->colliderSphere.elements[0].base; - info->toucher.dmgFlags = DMG_EXPLOSIVE; - info->toucher.effect = 0; - info->toucher.damage = 4; - info->toucherFlags = TOUCH_ON; + elem->toucher.dmgFlags = DMG_EXPLOSIVE; + elem->toucher.effect = 0; + elem->toucher.damage = 4; + elem->toucherFlags = TOUCH_ON; this->actor.velocity.y = 0.0f; return 6; } @@ -114,7 +112,7 @@ u32 func_809CBCEC(EnBubble* this) { } void EnBubble_DamagePlayer(EnBubble* this, PlayState* play) { - s32 damage = -this->colliderSphere.elements[0].info.toucher.damage; + s32 damage = -this->colliderSphere.elements[0].base.toucher.damage; play->damagePlayer(play, damage); func_8002F7A0(play, &this->actor, 6.0f, this->actor.yawTowardsPlayer, 6.0f); @@ -208,7 +206,7 @@ void EnBubble_Fly(EnBubble* this, PlayState* play) { s32 bgId; u8 bounceCount; - if (this->colliderSphere.elements[1].info.bumperFlags & BUMP_HIT) { + if (this->colliderSphere.elements[1].base.bumperFlags & BUMP_HIT) { bumpActor = this->colliderSphere.base.ac; this->normalizedBumpVelocity = bumpActor->velocity; EnBubble_Vec3fNormalize(&this->normalizedBumpVelocity); @@ -286,7 +284,7 @@ u32 func_809CC648(EnBubble* this) { return false; } this->colliderSphere.base.acFlags &= ~AC_HIT; - if (this->colliderSphere.elements[1].info.bumperFlags & BUMP_HIT) { + if (this->colliderSphere.elements[1].base.bumperFlags & BUMP_HIT) { this->unk_1F0.x = this->colliderSphere.base.ac->velocity.x / 10.0f; this->unk_1F0.y = this->colliderSphere.base.ac->velocity.y / 10.0f; this->unk_1F0.z = this->colliderSphere.base.ac->velocity.z / 10.0f; @@ -422,7 +420,7 @@ void EnBubble_Draw(Actor* thisx, PlayState* play) { Matrix_Scale(this->graphicEccentricity + 1.0f, 1.0f, 1.0f, MTXMODE_APPLY); Matrix_RotateZ(DEG_TO_RAD(-(f32)play->state.frames) * this->graphicRotSpeed, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_bubble.c", 1220), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_bubble.c", 1220), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBubbleDL); } 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 09d8474499..f2ed8c4de6 100644 --- a/src/overlays/actors/ovl_En_Butte/z_en_butte.c +++ b/src/overlays/actors/ovl_En_Butte/z_en_butte.c @@ -121,7 +121,7 @@ void EnButte_DrawTransformationEffect(EnButte* this, PlayState* play) { alpha = Math_SinS(sTransformationEffectAlpha) * 250; alpha = CLAMP(alpha, 0, 255); - Camera_GetCamDir(&camDir, GET_ACTIVE_CAM(play)); + camDir = Camera_GetCamDir(GET_ACTIVE_CAM(play)); Matrix_RotateY(BINANG_TO_RAD(camDir.y), MTXMODE_NEW); Matrix_RotateX(BINANG_TO_RAD(camDir.x), MTXMODE_APPLY); Matrix_RotateZ(BINANG_TO_RAD(camDir.z), MTXMODE_APPLY); @@ -129,7 +129,7 @@ void EnButte_DrawTransformationEffect(EnButte* this, PlayState* play) { Matrix_SetTranslateRotateYXZ(this->actor.focus.pos.x + sp5C.x, this->actor.focus.pos.y + sp5C.y, this->actor.focus.pos.z + sp5C.z, &camDir); Matrix_Scale(sTransformationEffectScale, sTransformationEffectScale, sTransformationEffectScale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_choo.c", 317), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_choo.c", 317), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(POLY_XLU_DISP++, 0x80, 0x80, 200, 200, 180, alpha); gDPSetEnvColor(POLY_XLU_DISP++, 200, 200, 210, 255); diff --git a/src/overlays/actors/ovl_En_Bw/z_en_bw.c b/src/overlays/actors/ovl_En_Bw/z_en_bw.c index 134546cc04..4a5b89f85c 100644 --- a/src/overlays/actors/ovl_En_Bw/z_en_bw.c +++ b/src/overlays/actors/ovl_En_Bw/z_en_bw.c @@ -690,7 +690,7 @@ void func_809D0584(EnBw* this, PlayState* play) { return; } this->damageEffect = this->actor.colChkInfo.damageEffect; - Actor_SetDropFlag(&this->actor, &this->collider2.info, false); + Actor_SetDropFlag(&this->actor, &this->collider2.elem, false); if ((this->damageEffect == 1) || (this->damageEffect == 0xE)) { if (this->unk_23C == 0) { Actor_ApplyDamage(&this->actor); @@ -766,7 +766,7 @@ void EnBw_Update(Actor* thisx, PlayState* play2) { func_8002836C(play, &thisx->world.pos, &velocity, &accel, &sp50, &sp4C, 0x3C, 0, 0x14); } if (this->unk_248 <= 0.4f) { - this->collider1.info.toucher.effect = 0; + this->collider1.elem.toucher.effect = 0; if (((play->gameplayFrames & 1) == 0) && (this->unk_220 < 5) && (this->unk_23C == 0)) { accel.y = -0.1f; velocity.x = Rand_CenteredFloat(4.0f); @@ -786,7 +786,7 @@ void EnBw_Update(Actor* thisx, PlayState* play2) { 20.0f - (this->unk_248 * 40.0f)); } } else { - this->collider1.info.toucher.effect = 1; + this->collider1.elem.toucher.effect = 1; } this->unk_234 = Actor_TestFloorInDirection(thisx, play, 50.0f, thisx->world.rot.y); @@ -828,7 +828,7 @@ s32 EnBw_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* po Matrix_RotateZ(-(this->unk_258 * 0.1f), MTXMODE_APPLY); Matrix_RotateY(-(this->unk_258 * 0.13f), MTXMODE_APPLY); Matrix_RotateX(-(this->unk_258 * 0.115f), MTXMODE_APPLY); - gSPMatrix((*gfx)++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_bw.c", 1388), + gSPMatrix((*gfx)++, MATRIX_NEW(play->state.gfxCtx, "../z_en_bw.c", 1388), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList((*gfx)++, *dList); Matrix_Pop(); @@ -890,7 +890,7 @@ void EnBw_Draw(Actor* thisx, PlayState* play2) { gDPSetPrimColor(POLY_XLU_DISP++, 0x80, 0x80, 255, 255, 0, 255); Matrix_Scale(this->unk_248 * 0.01f, this->unk_248 * 0.01f, this->unk_248 * 0.01f, MTXMODE_APPLY); Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_bw.c", 1500), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_bw.c", 1500), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffFire1DL); diff --git a/src/overlays/actors/ovl_En_Bx/z_en_bx.c b/src/overlays/actors/ovl_En_Bx/z_en_bx.c index 4edc2e7abc..0e6b72e037 100644 --- a/src/overlays/actors/ovl_En_Bx/z_en_bx.c +++ b/src/overlays/actors/ovl_En_Bx/z_en_bx.c @@ -80,7 +80,8 @@ void EnBx_Init(Actor* thisx, PlayState* play) { thisx->scale.x = thisx->scale.z = 0.01f; thisx->scale.y = 0.03f; - thisx->world.pos.y = thisx->world.pos.y - 100.0f; + thisx->world.pos.y -= 100.0f; + for (i = 0; i < 4; i++) { this->unk_184[i] = sp48; if (i == 0) { @@ -202,7 +203,7 @@ void EnBx_Draw(Actor* thisx, PlayState* play) { }; EnBx* this = (EnBx*)thisx; s32 pad; - Mtx* mtx = Graph_Alloc(play->state.gfxCtx, 4 * sizeof(Mtx)); + Mtx* mtx = GRAPH_ALLOC(play->state.gfxCtx, 4 * sizeof(Mtx)); s16 i; OPEN_DISPS(play->state.gfxCtx, "../z_en_bx.c", 464); @@ -214,7 +215,7 @@ void EnBx_Draw(Actor* thisx, PlayState* play) { gSPSegment(POLY_OPA_DISP++, 0x09, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0, 0, 16, 16, 1, 0, (play->gameplayFrames * -10) % 128, 32, 32)); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_bx.c", 478), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_bx.c", 478), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->actor.params & 0x80) { @@ -237,7 +238,7 @@ void EnBx_Draw(Actor* thisx, PlayState* play) { Matrix_Translate(this->unk_154[i].x, this->unk_154[i].y, this->unk_154[i].z, MTXMODE_NEW); Matrix_RotateZYX(this->unk_1B4[i].x, this->unk_1B4[i].y, this->unk_1B4[i].z, MTXMODE_APPLY); Matrix_Scale(this->unk_184[i].x, this->unk_184[i].y, this->unk_184[i].z, MTXMODE_APPLY); - Matrix_ToMtx(mtx, "../z_en_bx.c", 507); + MATRIX_TO_MTX(mtx, "../z_en_bx.c", 507); } gSPDisplayList(POLY_OPA_DISP++, object_bxa_DL_0022F0); 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 b3dd3a9046..74ace94ca1 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 @@ -691,12 +691,12 @@ void EnClearTag_Draw(Actor* thisx, PlayState* play) { gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 0, 255, 0, 255); Matrix_Translate(25.0f, 0.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_clear_tag.c", 1004), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_clear_tag.c", 1004), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gArwingLaserDL); Matrix_Translate(-50.0f, 0.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_clear_tag.c", 1011), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_clear_tag.c", 1011), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gArwingLaserDL); } else { @@ -714,7 +714,7 @@ void EnClearTag_Draw(Actor* thisx, PlayState* play) { Matrix_RotateY(yRotation, MTXMODE_APPLY); } Matrix_RotateZ(this->roll, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_clear_tag.c", 1030), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_clear_tag.c", 1030), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gArwingDL); @@ -728,7 +728,7 @@ void EnClearTag_Draw(Actor* thisx, PlayState* play) { gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 200, 155); gDPPipeSync(POLY_XLU_DISP++); gDPSetEnvColor(POLY_XLU_DISP++, 255, 50, 0, 0); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_clear_tag.c", 1067), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_clear_tag.c", 1067), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gArwingBackfireDL); @@ -752,7 +752,7 @@ void EnClearTag_Draw(Actor* thisx, PlayState* play) { Matrix_RotateY(yRotation, MTXMODE_APPLY); } Matrix_RotateZ(this->roll, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_clear_tag.c", 1104), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_clear_tag.c", 1104), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gArwingShadowDL); } @@ -910,7 +910,7 @@ void EnClearTag_DrawEffects(PlayState* play) { Matrix_Scale(effect->scale, effect->scale, effect->scale, MTXMODE_APPLY); Matrix_RotateY(effect->rotationY, MTXMODE_APPLY); Matrix_RotateX(effect->rotationX, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_clear_tag.c", 1307), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_en_clear_tag.c", 1307), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gArwingDebrisEffectDL); } @@ -934,7 +934,7 @@ void EnClearTag_DrawEffects(PlayState* play) { Matrix_RotateX(effect->floorTangent.x, MTXMODE_APPLY); Matrix_RotateZ(effect->floorTangent.z, MTXMODE_APPLY); Matrix_Scale(effect->scale + effect->scale, 1.0f, effect->scale * 2.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_clear_tag.c", 1342), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_clear_tag.c", 1342), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gArwingFlashEffectGroundDL); } @@ -964,7 +964,7 @@ void EnClearTag_DrawEffects(PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); Matrix_Translate(0.0f, 20.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_clear_tag.c", 1392), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_clear_tag.c", 1392), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gArwingFireEffectDL); } @@ -990,7 +990,7 @@ void EnClearTag_DrawEffects(PlayState* play) { Matrix_Translate(effect->position.x, effect->position.y, effect->position.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_clear_tag.c", 1439), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_clear_tag.c", 1439), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gArwingFireEffectDL); } @@ -1013,7 +1013,7 @@ void EnClearTag_DrawEffects(PlayState* play) { Matrix_Translate(effect->position.x, effect->position.y, effect->position.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_clear_tag.c", 1470), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_clear_tag.c", 1470), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gArwingFlashEffectDL); } 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 753789fc06..2c9b8753e9 100644 --- a/src/overlays/actors/ovl_En_Cow/z_en_cow.c +++ b/src/overlays/actors/ovl_En_Cow/z_en_cow.c @@ -261,11 +261,11 @@ void EnCow_CheckForEmptyBottle(EnCow* this, PlayState* play) { } void EnCow_Talk(EnCow* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = EnCow_CheckForEmptyBottle; } else { this->actor.flags |= ACTOR_FLAG_16; - func_8002F2CC(&this->actor, play, 170.0f); + Actor_OfferTalk(&this->actor, play, 170.0f); this->actor.textId = 0x2006; } @@ -291,7 +291,7 @@ void EnCow_Idle(EnCow* this, PlayState* play) { R_EPONAS_SONG_PLAYED = false; this->actionFunc = EnCow_Talk; this->actor.flags |= ACTOR_FLAG_16; - func_8002F2CC(&this->actor, play, 170.0f); + Actor_OfferTalk(&this->actor, play, 170.0f); this->actor.textId = 0x2006; } else { this->cowFlags |= COW_FLAG_FAILED_TO_GIVE_MILK; 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 4fc86e4abf..caa64d3009 100644 --- a/src/overlays/actors/ovl_En_Crow/z_en_crow.c +++ b/src/overlays/actors/ovl_En_Crow/z_en_crow.c @@ -411,7 +411,7 @@ void EnCrow_Respawn(EnCrow* this, PlayState* play) { void EnCrow_UpdateDamage(EnCrow* this, PlayState* play) { if (this->collider.base.acFlags & AC_HIT) { this->collider.base.acFlags &= ~AC_HIT; - Actor_SetDropFlag(&this->actor, &this->collider.elements[0].info, true); + Actor_SetDropFlag(&this->actor, &this->collider.elements[0].base, true); if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) { if (this->actor.colChkInfo.damageEffect == 1) { // Deku Nuts EnCrow_SetupTurnAway(this); diff --git a/src/overlays/actors/ovl_En_Cs/z_en_cs.c b/src/overlays/actors/ovl_En_Cs/z_en_cs.c index 9cf4ff513f..31790ebeef 100644 --- a/src/overlays/actors/ovl_En_Cs/z_en_cs.c +++ b/src/overlays/actors/ovl_En_Cs/z_en_cs.c @@ -206,9 +206,9 @@ s32 EnCs_GetTalkState(EnCs* this, PlayState* play) { return talkState; } -s32 EnCs_GetTextID(EnCs* this, PlayState* play) { +s32 EnCs_GetTextId(EnCs* this, PlayState* play) { Player* player = GET_PLAYER(play); - s32 textId = Text_GetFaceReaction(play, 15); + s32 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_GRAVEYARD_KID); if (GET_ITEMGETINF(ITEMGETINF_3A)) { if (textId == 0) { @@ -235,7 +235,7 @@ void EnCs_HandleTalking(EnCs* this, PlayState* play) { this->talkState = 1; } else if (this->talkState == 1) { this->talkState = EnCs_GetTalkState(this, play); - } else if (Actor_ProcessTalkRequest(&this->actor, play)) { + } else if (Actor_TalkOfferAccepted(&this->actor, play)) { if ((this->actor.textId == 0x2022) || ((this->actor.textId != 0x2022) && (this->actor.textId != 0x2028))) { EnCs_ChangeAnim(this, ENCS_ANIM_3, &this->currentAnimIndex); } @@ -253,8 +253,8 @@ void EnCs_HandleTalking(EnCs* this, PlayState* play) { Actor_GetScreenPos(play, &this->actor, &sp2A, &sp28); if ((sp2A >= 0) && (sp2A <= 320) && (sp28 >= 0) && (sp28 <= 240) && - (func_8002F2CC(&this->actor, play, 100.0f))) { - this->actor.textId = EnCs_GetTextID(this, play); + Actor_OfferTalk(&this->actor, play, 100.0f)) { + this->actor.textId = EnCs_GetTextId(this, play); } } } @@ -477,7 +477,7 @@ void EnCs_Draw(Actor* thisx, PlayState* play) { Mtx* mtx; Matrix_Put(&this->spookyMaskMtx); - mtx = Matrix_NewMtx(play->state.gfxCtx, "../z_en_cs.c", 1000); + mtx = MATRIX_NEW(play->state.gfxCtx, "../z_en_cs.c", 1000); gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[linkChildObjectSlot].segment); gSPSegment(POLY_OPA_DISP++, 0x0D, mtx - 7); gSPDisplayList(POLY_OPA_DISP++, gLinkChildSpookyMaskDL); 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 9db7e0f153..711ecafe2b 100644 --- a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c +++ b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c @@ -260,12 +260,12 @@ void EnDaiku_UpdateText(EnDaiku* this, PlayState* play) { if (this->talkState == ENDAIKU_STATE_TALKING) { this->talkState = EnDaiku_UpdateTalking(this, play); - } else if (Actor_ProcessTalkRequest(&this->actor, play)) { + } else if (Actor_TalkOfferAccepted(&this->actor, play)) { this->talkState = ENDAIKU_STATE_TALKING; } else { Actor_GetScreenPos(play, &this->actor, &sp2E, &sp2C); if (sp2E >= 0 && sp2E <= 320 && sp2C >= 0 && sp2C <= 240 && this->talkState == ENDAIKU_STATE_CAN_TALK && - func_8002F2CC(&this->actor, play, 100.0f) == 1) { + Actor_OfferTalk(&this->actor, play, 100.0f) == 1) { if (play->sceneId == SCENE_THIEVES_HIDEOUT) { if (this->stateFlags & ENDAIKU_STATEFLAG_GERUDODEFEATED) { freedCount = 0; diff --git a/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c b/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c index 34d408726b..bf5cb06139 100644 --- a/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c +++ b/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c @@ -226,20 +226,25 @@ s32 EnDaikuKakariko_GetTalkState(EnDaikuKakariko* this, PlayState* play) { } void EnDaikuKakariko_HandleTalking(EnDaikuKakariko* this, PlayState* play) { - static s32 maskReactionSets[] = { 1, 2, 3, 4 }; + static s32 sMaskReactionSets[] = { + MASK_REACTION_SET_CARPENTER_1, + MASK_REACTION_SET_CARPENTER_2, + MASK_REACTION_SET_CARPENTER_3, + MASK_REACTION_SET_CARPENTER_4, + }; s16 sp26; s16 sp24; if (this->talkState == 2) { this->talkState = EnDaikuKakariko_GetTalkState(this, play); - } else if (Actor_ProcessTalkRequest(&this->actor, play)) { + } else if (Actor_TalkOfferAccepted(&this->actor, play)) { this->talkState = 2; } else { Actor_GetScreenPos(play, &this->actor, &sp26, &sp24); if ((sp26 >= 0) && (sp26 <= 320) && (sp24 >= 0) && (sp24 <= 240) && (this->talkState == 0) && - (func_8002F2CC(&this->actor, play, 100.0f) == 1)) { - this->actor.textId = Text_GetFaceReaction(play, maskReactionSets[this->actor.params & 3]); + (Actor_OfferTalk(&this->actor, play, 100.0f) == 1)) { + this->actor.textId = MaskReaction_GetTextId(play, sMaskReactionSets[this->actor.params & 3]); if (this->actor.textId == 0) { switch (this->actor.params & 3) { 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 9d38b020a0..73bf8d9321 100644 --- a/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c +++ b/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c @@ -278,11 +278,11 @@ void EnDekubaba_Destroy(Actor* thisx, PlayState* play) { Collider_DestroyJntSph(play, &this->collider); } -void EnDekubaba_DisableHitboxes(EnDekubaba* this) { +void EnDekubaba_DisableACColliderElems(EnDekubaba* this) { s32 i; for (i = 1; i < ARRAY_COUNT(this->colliderElements); i++) { - this->collider.elements[i].info.bumperFlags &= ~BUMP_ON; + this->collider.elements[i].base.bumperFlags &= ~BUMP_ON; } } @@ -323,7 +323,7 @@ void EnDekubaba_SetupGrow(EnDekubaba* this) { this->timer = 15; for (i = 2; i < ARRAY_COUNT(this->colliderElements); i++) { - this->collider.elements[i].info.ocElemFlags |= OCELEM_ON; + this->collider.elements[i].base.ocElemFlags |= OCELEM_ON; } this->collider.base.colType = COLTYPE_HIT6; @@ -341,7 +341,7 @@ void EnDekubaba_SetupRetract(EnDekubaba* this) { this->timer = 15; for (i = 2; i < ARRAY_COUNT(this->colliderElements); i++) { - this->collider.elements[i].info.ocElemFlags &= ~OCELEM_ON; + this->collider.elements[i].base.ocElemFlags &= ~OCELEM_ON; } this->actionFunc = EnDekubaba_Retract; @@ -417,7 +417,7 @@ void EnDekubaba_SetupStunnedVertical(EnDekubaba* this) { s32 i; for (i = 1; i < ARRAY_COUNT(this->colliderElements); i++) { - this->collider.elements[i].info.bumperFlags |= BUMP_ON; + this->collider.elements[i].base.bumperFlags |= BUMP_ON; } if (this->timer == 1) { @@ -441,7 +441,7 @@ void EnDekubaba_SetupSway(EnDekubaba* this) { this->stemSectionAngle[2] = -0x5000; this->stemSectionAngle[1] = -0x4800; - EnDekubaba_DisableHitboxes(this); + EnDekubaba_DisableACColliderElems(this); Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 35); this->collider.base.acFlags &= ~AC_ON; this->actionFunc = EnDekubaba_Sway; @@ -896,7 +896,7 @@ void EnDekubaba_StunnedVertical(EnDekubaba* this, PlayState* play) { } if (this->timer == 0) { - EnDekubaba_DisableHitboxes(this); + EnDekubaba_DisableACColliderElems(this); if (this->actor.xzDistToPlayer < 80.0f * this->size) { EnDekubaba_SetupPrepareLunge(this); @@ -1157,7 +1157,7 @@ void EnDekubaba_DrawStemRetracted(EnDekubaba* this, PlayState* play) { MTXMODE_NEW); Matrix_RotateZYX(this->stemSectionAngle[0], this->actor.shape.rot.y, 0, MTXMODE_APPLY); Matrix_Scale(horizontalScale, horizontalScale, horizontalScale, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_dekubaba.c", 2461), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_dekubaba.c", 2461), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gDekuBabaStemTopDL); @@ -1202,7 +1202,7 @@ void EnDekubaba_DrawStemExtended(EnDekubaba* this, PlayState* play) { Matrix_Put(&mtx); Matrix_RotateZYX(this->stemSectionAngle[i], this->actor.shape.rot.y, 0, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_dekubaba.c", 2533), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_dekubaba.c", 2533), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, stemDLists[i]); @@ -1237,7 +1237,7 @@ void EnDekubaba_DrawStemBasePruned(EnDekubaba* this, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_en_dekubaba.c", 2579); Matrix_RotateZYX(this->stemSectionAngle[2], this->actor.shape.rot.y, 0, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_dekubaba.c", 2586), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_dekubaba.c", 2586), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gDekuBabaStemBaseDL); @@ -1260,7 +1260,7 @@ void EnDekubaba_DrawBaseShadow(EnDekubaba* this, PlayState* play) { horizontalScale = this->size * 0.15f; Matrix_Scale(horizontalScale, 1.0f, horizontalScale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_dekubaba.c", 2710), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_dekubaba.c", 2710), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gCircleShadowDL); CLOSE_DISPS(play->state.gfxCtx, "../z_en_dekubaba.c", 2715); @@ -1296,7 +1296,7 @@ void EnDekubaba_Draw(Actor* thisx, PlayState* play) { Matrix_Translate(this->actor.home.pos.x, this->actor.home.pos.y, this->actor.home.pos.z, MTXMODE_NEW); Matrix_RotateY(BINANG_TO_RAD(this->actor.home.rot.y), MTXMODE_APPLY); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_dekubaba.c", 2780), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_dekubaba.c", 2780), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gDekuBabaBaseLeavesDL); @@ -1311,7 +1311,7 @@ void EnDekubaba_Draw(Actor* thisx, PlayState* play) { // Display solid until 40 frames left, then blink until killed. } else if ((this->timer > 40) || ((this->timer % 2) != 0)) { Matrix_Translate(0.0f, 0.0f, 200.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_dekubaba.c", 2797), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_dekubaba.c", 2797), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gDekuBabaStickDropDL); } 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 34c47992ad..6fd1207fe3 100644 --- a/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.c +++ b/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.c @@ -62,7 +62,7 @@ static ColliderCylinderInit sCylinderInit = { { 18, 32, 0, { 0, 0, 0 } }, }; -static CollisionCheckInfoInit sColChkInfoInit = { 0x01, 0x0012, 0x0020, MASS_IMMOVABLE }; +static CollisionCheckInfoInit sColChkInfoInit = { 1, 18, 32, MASS_IMMOVABLE }; static DamageTable sDamageTable = { /* Deku nut */ DMG_ENTRY(0, 0x1), @@ -204,7 +204,7 @@ void EnDekunuts_SetupGasp(EnDekunuts* this) { void EnDekunuts_SetupBeDamaged(EnDekunuts* this) { Animation_MorphToPlayOnce(&this->skelAnime, &gDekuNutsDamageAnim, -3.0f); - if (this->collider.info.acHitInfo->toucher.dmgFlags & (DMG_ARROW | DMG_SLINGSHOT)) { + if (this->collider.elem.acHitElem->toucher.dmgFlags & (DMG_ARROW | DMG_SLINGSHOT)) { this->actor.world.rot.y = this->collider.base.ac->world.rot.y; } else { this->actor.world.rot.y = Actor_WorldYawTowardActor(&this->actor, this->collider.base.ac) + 0x8000; @@ -445,7 +445,7 @@ void EnDekunuts_Die(EnDekunuts* this, PlayState* play) { void EnDekunuts_ColliderCheck(EnDekunuts* this, PlayState* play) { if (this->collider.base.acFlags & AC_HIT) { this->collider.base.acFlags &= ~AC_HIT; - Actor_SetDropFlag(&this->actor, &this->collider.info, true); + Actor_SetDropFlag(&this->actor, &this->collider.elem, true); if (this->actor.colChkInfo.mass == 0x32) { if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) { if (this->actor.colChkInfo.damageEffect != 1) { diff --git a/src/overlays/actors/ovl_En_Dh/z_en_dh.c b/src/overlays/actors/ovl_En_Dh/z_en_dh.c index c37d382e44..eb3d0b2502 100644 --- a/src/overlays/actors/ovl_En_Dh/z_en_dh.c +++ b/src/overlays/actors/ovl_En_Dh/z_en_dh.c @@ -304,8 +304,8 @@ void EnDh_Attack(EnDh* this, PlayState* play) { Animation_Change(&this->skelAnime, &object_dh_Anim_004658, -1.0f, this->skelAnime.curFrame, 0.0f, ANIMMODE_ONCE, -4.0f); this->actionState = 4; - this->collider2.base.atFlags = this->collider2.elements[0].info.toucherFlags = AT_NONE; // also TOUCH_NONE - this->collider2.elements[0].info.toucher.dmgFlags = this->collider2.elements[0].info.toucher.damage = 0; + this->collider2.base.atFlags = this->collider2.elements[0].base.toucherFlags = AT_NONE; // also TOUCH_NONE + this->collider2.elements[0].base.toucher.dmgFlags = this->collider2.elements[0].base.toucher.damage = 0; } switch (this->actionState) { case 1: @@ -318,16 +318,16 @@ void EnDh_Attack(EnDh* this, PlayState* play) { break; case 2: if (this->skelAnime.curFrame >= 4.0f) { - this->collider2.base.atFlags = this->collider2.elements[0].info.toucherFlags = + this->collider2.base.atFlags = this->collider2.elements[0].base.toucherFlags = AT_ON | AT_TYPE_ENEMY; // also TOUCH_ON | TOUCH_SFX_WOOD - this->collider2.elements[0].info.toucher.dmgFlags = DMG_DEFAULT; - this->collider2.elements[0].info.toucher.damage = 8; + this->collider2.elements[0].base.toucher.dmgFlags = DMG_DEFAULT; + this->collider2.elements[0].base.toucher.damage = 8; } if (this->collider2.base.atFlags & AT_BOUNCED) { this->collider2.base.atFlags &= ~(AT_HIT | AT_BOUNCED); - this->collider2.base.atFlags = this->collider2.elements[0].info.toucherFlags = + this->collider2.base.atFlags = this->collider2.elements[0].base.toucherFlags = AT_NONE; // also TOUCH_NONE - this->collider2.elements[0].info.toucher.dmgFlags = this->collider2.elements[0].info.toucher.damage = 0; + this->collider2.elements[0].base.toucher.dmgFlags = this->collider2.elements[0].base.toucher.damage = 0; this->actionState++; } else if (this->collider2.base.atFlags & AT_HIT) { this->collider2.base.atFlags &= ~AT_HIT; @@ -343,9 +343,9 @@ void EnDh_Attack(EnDh* this, PlayState* play) { Animation_Change(&this->skelAnime, &object_dh_Anim_004658, -1.0f, Animation_GetLastFrame(&object_dh_Anim_004658), 0.0f, ANIMMODE_ONCE, -4.0f); this->actionState++; - this->collider2.base.atFlags = this->collider2.elements[0].info.toucherFlags = + this->collider2.base.atFlags = this->collider2.elements[0].base.toucherFlags = AT_NONE; // also TOUCH_NONE - this->collider2.elements[0].info.toucher.dmgFlags = this->collider2.elements[0].info.toucher.damage = 0; + this->collider2.elements[0].base.toucher.dmgFlags = this->collider2.elements[0].base.toucher.damage = 0; } break; case 5: @@ -374,10 +374,10 @@ void EnDh_Burrow(EnDh* this, PlayState* play) { case 0: this->actionState++; this->drawDirtWave++; - this->collider1.base.atFlags = this->collider1.info.toucherFlags = + this->collider1.base.atFlags = this->collider1.elem.toucherFlags = AT_ON | AT_TYPE_ENEMY; // also TOUCH_ON | TOUCH_SFX_WOOD - this->collider1.info.toucher.dmgFlags = DMG_DEFAULT; - this->collider1.info.toucher.damage = 4; + this->collider1.elem.toucher.dmgFlags = DMG_DEFAULT; + this->collider1.elem.toucher.damage = 4; FALLTHROUGH; case 1: this->dirtWavePhase += 0x47E; @@ -393,8 +393,8 @@ void EnDh_Burrow(EnDh* this, PlayState* play) { case 2: this->drawDirtWave = false; this->collider1.dim.radius = 35; - this->collider1.base.atFlags = this->collider1.info.toucherFlags = AT_NONE; // Also TOUCH_NONE - this->collider1.info.toucher.dmgFlags = this->collider1.info.toucher.damage = 0; + this->collider1.base.atFlags = this->collider1.elem.toucherFlags = AT_NONE; // Also TOUCH_NONE + this->collider1.elem.toucher.dmgFlags = this->collider1.elem.toucher.damage = 0; EnDh_SetupWait(this); break; } @@ -477,8 +477,8 @@ void EnDh_CollisionCheck(EnDh* this, PlayState* play) { if ((this->collider2.base.acFlags & AC_HIT) && !this->retreat) { this->collider2.base.acFlags &= ~AC_HIT; if ((this->actor.colChkInfo.damageEffect != 0) && (this->actor.colChkInfo.damageEffect != 6)) { - this->collider2.base.atFlags = this->collider2.elements[0].info.toucherFlags = AT_NONE; // also TOUCH_NONE - this->collider2.elements[0].info.toucher.dmgFlags = this->collider2.elements[0].info.toucher.damage = 0; + this->collider2.base.atFlags = this->collider2.elements[0].base.toucherFlags = AT_NONE; // also TOUCH_NONE + this->collider2.elements[0].base.toucher.dmgFlags = this->collider2.elements[0].base.toucher.damage = 0; if (player->unk_844 != 0) { this->unk_258 = player->unk_845; } @@ -577,7 +577,7 @@ void EnDh_Draw(Actor* thisx, PlayState* play) { Matrix_Translate(0.0f, -this->actor.shape.yOffset, 0.0f, MTXMODE_APPLY); Matrix_Scale(this->dirtWaveSpread * 0.01f, this->dirtWaveHeight * 0.01f, this->dirtWaveSpread * 0.01f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_dh.c", 1160), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_dh.c", 1160), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_dh_DL_007FC0); } diff --git a/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c b/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c index 7661c016aa..942701c680 100644 --- a/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c +++ b/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c @@ -183,7 +183,7 @@ void func_809EDCB0(EnDivingGame* this, PlayState* play) { void EnDivingGame_Talk(EnDivingGame* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); if (this->state != ENDIVINGGAME_STATE_PLAYING || !EnDivingGame_HasMinigameFinished(this, play)) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { if (this->unk_292 != TEXT_STATE_DONE) { switch (this->state) { case ENDIVINGGAME_STATE_NOTPLAYING: @@ -199,8 +199,8 @@ void EnDivingGame_Talk(EnDivingGame* this, PlayState* play) { } } } else { - if (Text_GetFaceReaction(play, 0x1D) != 0) { - this->actor.textId = Text_GetFaceReaction(play, 0x1D); + if (MaskReaction_GetTextId(play, MASK_REACTION_SET_ZORA) != 0) { + this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_ZORA); this->unk_292 = TEXT_STATE_DONE; } else { switch (this->state) { @@ -224,7 +224,7 @@ void EnDivingGame_Talk(EnDivingGame* this, PlayState* play) { break; } } - func_8002F2CC(&this->actor, play, 80.0f); + Actor_OfferTalk(&this->actor, play, 80.0f); } } } @@ -539,7 +539,7 @@ void EnDivingGame_Update(Actor* thisx, PlayState* play2) { } Gfx* EnDivingGame_EmptyDList(GraphicsContext* gfxCtx) { - Gfx* displayList = Graph_Alloc(gfxCtx, sizeof(Gfx)); + Gfx* displayList = GRAPH_ALLOC(gfxCtx, sizeof(Gfx)); gSPEndDisplayList(displayList); return displayList; 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 073b6fa37f..8835fa716b 100644 --- a/src/overlays/actors/ovl_En_Dns/z_en_dns.c +++ b/src/overlays/actors/ovl_En_Dns/z_en_dns.c @@ -341,7 +341,7 @@ void EnDns_Idle(EnDns* this, PlayState* play) { Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 3, 2000, 0); this->actor.world.rot.y = this->actor.shape.rot.y; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = EnDns_Talk; } else { if ((this->collider.base.ocFlags1 & OC1_HIT) || this->actor.isTargeted) { @@ -350,7 +350,7 @@ void EnDns_Idle(EnDns* this, PlayState* play) { this->actor.flags &= ~ACTOR_FLAG_16; } if (this->actor.xzDistToPlayer < 130.0f) { - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } } } diff --git a/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c b/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c index bde6fb5733..9ac252bd9b 100644 --- a/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c +++ b/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c @@ -233,10 +233,10 @@ void EnDntJiji_Cower(EnDntJiji* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 3, 0x1388, 0); if (frame >= this->endFrame) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = EnDntJiji_SetupTalk; } else { - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } } } @@ -251,7 +251,7 @@ void EnDntJiji_Talk(EnDntJiji* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 3, 0x1388, 0); if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { - func_8005B1A4(GET_ACTIVE_CAM(play)); + Camera_SetFinishedFlag(GET_ACTIVE_CAM(play)); Message_CloseTextbox(play); Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_7); this->actor.parent = NULL; @@ -439,7 +439,7 @@ void EnDntJiji_Draw(Actor* thisx, PlayState* play) { Matrix_Pop(); Matrix_Translate(this->flowerPos.x, this->flowerPos.y, this->flowerPos.z, MTXMODE_NEW); Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_dnt_jiji.c", 1040), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_dnt_jiji.c", 1040), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gDntJijiFlowerDL); CLOSE_DISPS(play->state.gfxCtx, "../z_en_dnt_jiji.c", 1043); diff --git a/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c b/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c index 93170b1d83..0ee045349e 100644 --- a/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c +++ b/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c @@ -231,9 +231,9 @@ void EnDntNomal_TargetWait(EnDntNomal* this, PlayState* play) { if ((this->targetQuad.base.acFlags & AC_HIT) || BREG(0)) { this->targetQuad.base.acFlags &= ~AC_HIT; - dx = fabsf(targetX - this->targetQuad.info.bumper.hitPos.x); - dy = fabsf(targetY - this->targetQuad.info.bumper.hitPos.y); - dz = fabsf(targetZ - this->targetQuad.info.bumper.hitPos.z); + dx = fabsf(targetX - this->targetQuad.elem.bumper.hitPos.x); + dy = fabsf(targetY - this->targetQuad.elem.bumper.hitPos.y); + dz = fabsf(targetZ - this->targetQuad.elem.bumper.hitPos.z); scoreVel.y = 5.0f; @@ -337,7 +337,7 @@ void EnDntNomal_TargetTalk(EnDntNomal* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) { Message_CloseTextbox(play); - func_8005B1A4(GET_ACTIVE_CAM(play)); + Camera_SetFinishedFlag(GET_ACTIVE_CAM(play)); GET_ACTIVE_CAM(play)->csId = 0; Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_8); this->actionFunc = EnDntNomal_SetupTargetGivePrize; @@ -862,7 +862,7 @@ void EnDntNomal_DrawStageScrub(Actor* thisx, PlayState* play) { gDPPipeSync(POLY_OPA_DISP++); gDPSetEnvColor(POLY_OPA_DISP++, sLeafColors[this->type - ENDNTNOMAL_STAGE].r, sLeafColors[this->type - ENDNTNOMAL_STAGE].g, sLeafColors[this->type - ENDNTNOMAL_STAGE].b, 255); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_dnt_nomal.c", 1814), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_dnt_nomal.c", 1814), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gDntStageFlowerDL); CLOSE_DISPS(play->state.gfxCtx, "../z_en_dnt_nomal.c", 1817); @@ -879,7 +879,7 @@ void EnDntNomal_DrawTargetScrub(Actor* thisx, PlayState* play) { SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, NULL, EnDntNomal_PostLimbDraw, this); Matrix_Translate(this->flowerPos.x, this->flowerPos.y, this->flowerPos.z, MTXMODE_NEW); Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_dnt_nomal.c", 1848), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_dnt_nomal.c", 1848), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gHintNutsFlowerDL); CLOSE_DISPS(play->state.gfxCtx, "../z_en_dnt_nomal.c", 1851); 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 55b860222c..507c0da58b 100644 --- a/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c +++ b/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c @@ -605,13 +605,13 @@ void EnDodongo_SweepTail(EnDodongo* this, PlayState* play) { if (SkelAnime_Update(&this->skelAnime)) { if ((this->timer != 0) || (ABS(yawDiff1) < 0x4000)) { - this->sphElements[2].info.toucherFlags = TOUCH_NONE; - this->sphElements[1].info.toucherFlags = TOUCH_NONE; + this->sphElements[2].base.toucherFlags = TOUCH_NONE; + this->sphElements[1].base.toucherFlags = TOUCH_NONE; this->colliderBody.base.atFlags = AT_NONE; - this->sphElements[2].info.toucher.dmgFlags = 0; - this->sphElements[1].info.toucher.dmgFlags = 0; - this->sphElements[2].info.toucher.damage = 0; - this->sphElements[1].info.toucher.damage = 0; + this->sphElements[2].base.toucher.dmgFlags = 0; + this->sphElements[1].base.toucher.dmgFlags = 0; + this->sphElements[2].base.toucher.damage = 0; + this->sphElements[1].base.toucher.damage = 0; EnDodongo_SetupBreatheFire(this); this->timer = Rand_S16Offset(5, 10); } else { @@ -628,10 +628,10 @@ void EnDodongo_SweepTail(EnDodongo* this, PlayState* play) { Actor_PlaySfx(&this->actor, NA_SE_EN_DODO_J_TAIL); Animation_PlayOnceSetSpeed(&this->skelAnime, animation, 2.0f); this->timer = 18; - this->colliderBody.base.atFlags = this->sphElements[1].info.toucherFlags = - this->sphElements[2].info.toucherFlags = AT_ON | AT_TYPE_ENEMY; // also TOUCH_ON | TOUCH_SFX_WOOD - this->sphElements[1].info.toucher.dmgFlags = this->sphElements[2].info.toucher.dmgFlags = DMG_DEFAULT; - this->sphElements[1].info.toucher.damage = this->sphElements[2].info.toucher.damage = 8; + this->colliderBody.base.atFlags = this->sphElements[1].base.toucherFlags = + this->sphElements[2].base.toucherFlags = AT_ON | AT_TYPE_ENEMY; // also TOUCH_ON | TOUCH_SFX_WOOD + this->sphElements[1].base.toucher.dmgFlags = this->sphElements[2].base.toucher.dmgFlags = DMG_DEFAULT; + this->sphElements[1].base.toucher.damage = this->sphElements[2].base.toucher.damage = 8; } } else if (this->timer > 1) { Vec3f tailPos; 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 310858034f..5f04f6159f 100644 --- a/src/overlays/actors/ovl_En_Door/z_en_door.c +++ b/src/overlays/actors/ovl_En_Door/z_en_door.c @@ -259,10 +259,10 @@ void EnDoor_Idle(EnDoor* this, PlayState* play) { } void EnDoor_WaitForCheck(EnDoor* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = EnDoor_Check; } else { - func_8002F2CC(&this->actor, play, DOOR_CHECK_RANGE); + Actor_OfferTalk(&this->actor, play, DOOR_CHECK_RANGE); } } diff --git a/src/overlays/actors/ovl_En_Ds/z_en_ds.c b/src/overlays/actors/ovl_En_Ds/z_en_ds.c index 2dbde60d04..05c4c1a783 100644 --- a/src/overlays/actors/ovl_En_Ds/z_en_ds.c +++ b/src/overlays/actors/ovl_En_Ds/z_en_ds.c @@ -67,11 +67,11 @@ void EnDs_TalkNoEmptyBottle(EnDs* this, PlayState* play) { } void EnDs_TalkAfterGiveOddPotion(EnDs* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = EnDs_Talk; } else { this->actor.flags |= ACTOR_FLAG_16; - func_8002F2CC(&this->actor, play, 1000.0f); + Actor_OfferTalk(&this->actor, play, 1000.0f); } } @@ -79,7 +79,7 @@ void EnDs_DisplayOddPotionText(EnDs* this, PlayState* play) { if (Actor_TextboxIsClosing(&this->actor, play)) { this->actor.textId = 0x504F; this->actionFunc = EnDs_TalkAfterGiveOddPotion; - this->actor.flags &= ~ACTOR_FLAG_8; + this->actor.flags &= ~ACTOR_FLAG_TALK; SET_ITEMGETINF(ITEMGETINF_30); } } @@ -205,7 +205,7 @@ void EnDs_Wait(EnDs* this, PlayState* play) { Player* player = GET_PLAYER(play); s16 yawDiff; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { if (func_8002F368(play) == EXCH_ITEM_ODD_MUSHROOM) { Audio_PlaySfxGeneral(NA_SE_SY_TRE_BOX_APPEAR, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); @@ -227,7 +227,7 @@ void EnDs_Wait(EnDs* this, PlayState* play) { this->actor.textId = 0x5048; if ((ABS(yawDiff) < 0x2151) && (this->actor.xzDistToPlayer < 200.0f)) { - func_8002F298(&this->actor, play, 100.0f, EXCH_ITEM_ODD_MUSHROOM); + Actor_OfferTalkExchangeEquiCylinder(&this->actor, play, 100.0f, EXCH_ITEM_ODD_MUSHROOM); this->unk_1E8 |= 1; } } diff --git a/src/overlays/actors/ovl_En_Du/z_en_du.c b/src/overlays/actors/ovl_En_Du/z_en_du.c index 8c80e10a05..ea124d0436 100644 --- a/src/overlays/actors/ovl_En_Du/z_en_du.c +++ b/src/overlays/actors/ovl_En_Du/z_en_du.c @@ -54,9 +54,7 @@ static ColliderCylinderInit sCylinderInit = { { 20, 46, 0, { 0, 0, 0 } }, }; -static CollisionCheckInfoInit2 sColChkInfoInit = { - 0, 0, 0, 0, MASS_IMMOVABLE, -}; +static CollisionCheckInfoInit2 sColChkInfoInit = { 0, 0, 0, 0, MASS_IMMOVABLE }; typedef enum { /* 0 */ ENDU_ANIM_0, @@ -99,10 +97,10 @@ void EnDu_SetupAction(EnDu* this, EnDuActionFunc actionFunc) { } u16 EnDu_GetTextId(PlayState* play, Actor* actor) { - u16 reaction = Text_GetFaceReaction(play, 0x21); + u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_DARUNIA); - if (reaction != 0) { - return reaction; + if (textId != 0) { + return textId; } if (CUR_UPG_VALUE(UPG_STRENGTH) != 0) { if (CHECK_QUEST_ITEM(QUEST_GORON_RUBY)) { @@ -384,7 +382,7 @@ void func_809FE6CC(EnDu* this, PlayState* play) { void func_809FE740(EnDu* this, PlayState* play) { if (this->interactInfo.talkState == NPC_TALK_STATE_IDLE) { - func_8005B1A4(GET_ACTIVE_CAM(play)); + Camera_SetFinishedFlag(GET_ACTIVE_CAM(play)); this->unk_1E2 = 0x5A; EnDu_SetupAction(this, func_809FE798); } diff --git a/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.c b/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.c index e4673c4e12..503c77a5d4 100644 --- a/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.c +++ b/src/overlays/actors/ovl_En_Dy_Extra/z_en_dy_extra.c @@ -116,7 +116,7 @@ void EnDyExtra_Draw(Actor* thisx, PlayState* play) { Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, play->state.frames * 2, 0, 0x20, 0x40, 1, play->state.frames, play->state.frames * -8, 0x10, 0x10)); gDPPipeSync(POLY_XLU_DISP++); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_dy_extra.c", 307), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_dy_extra.c", 307), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0x80, primColors[this->type].r, primColors[this->type].g, primColors[this->type].b, 255); diff --git a/src/overlays/actors/ovl_En_Eiyer/z_en_eiyer.c b/src/overlays/actors/ovl_En_Eiyer/z_en_eiyer.c index 31d31dd6a9..6b4a7a860b 100644 --- a/src/overlays/actors/ovl_En_Eiyer/z_en_eiyer.c +++ b/src/overlays/actors/ovl_En_Eiyer/z_en_eiyer.c @@ -178,7 +178,7 @@ void EnEiyer_RotateAroundHome(EnEiyer* this) { } void EnEiyer_SetupAppearFromGround(EnEiyer* this) { - this->collider.info.bumper.dmgFlags = DMG_BOOMERANG | DMG_EXPLOSIVE | DMG_DEKU_NUT; + this->collider.elem.bumper.dmgFlags = DMG_BOOMERANG | DMG_EXPLOSIVE | DMG_DEKU_NUT; Animation_PlayLoop(&this->skelanime, &gStingerIdleAnim); this->actor.world.pos.x = this->actor.home.pos.x; @@ -228,7 +228,7 @@ void EnEiyer_SetupInactive(EnEiyer* this) { void EnEiyer_SetupAmbush(EnEiyer* this, PlayState* play) { this->actor.speed = 0.0f; Animation_PlayOnce(&this->skelanime, &gStingerBackflipAnim); - this->collider.info.bumper.dmgFlags = DMG_DEFAULT; + this->collider.elem.bumper.dmgFlags = DMG_DEFAULT; this->basePos = this->actor.world.pos; this->actor.world.rot.y = this->actor.shape.rot.y; this->actor.flags |= ACTOR_FLAG_IGNORE_QUAKE; @@ -290,14 +290,14 @@ void EnEiyer_SetupDie(EnEiyer* this) { this->timer = 20; Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 200, COLORFILTER_BUFFLAG_OPA, 40); - if (this->collider.info.bumper.dmgFlags != (DMG_BOOMERANG | DMG_EXPLOSIVE | DMG_DEKU_NUT)) { + if (this->collider.elem.bumper.dmgFlags != (DMG_BOOMERANG | DMG_EXPLOSIVE | DMG_DEKU_NUT)) { this->actor.speed = 6.0f; Animation_MorphToLoop(&this->skelanime, &gStingerHitAnim, -3.0f); } else { this->actor.speed -= 6.0f; } - this->collider.info.bumper.dmgFlags = DMG_DEFAULT; + this->collider.elem.bumper.dmgFlags = DMG_DEFAULT; this->collider.base.atFlags &= ~AT_ON; this->collider.base.acFlags &= ~AC_ON; this->actionFunc = EnEiyer_Die; @@ -602,7 +602,7 @@ void EnEiyer_Stunned(EnEiyer* this, PlayState* play) { void EnEiyer_UpdateDamage(EnEiyer* this, PlayState* play) { if (this->collider.base.acFlags & AC_HIT) { this->collider.base.acFlags &= ~AC_HIT; - Actor_SetDropFlag(&this->actor, &this->collider.info, true); + Actor_SetDropFlag(&this->actor, &this->collider.elem, true); if (this->actor.colChkInfo.damageEffect != 0 || this->actor.colChkInfo.damage != 0) { if (Actor_ApplyDamage(&this->actor) == 0) { @@ -612,7 +612,7 @@ void EnEiyer_UpdateDamage(EnEiyer* this, PlayState* play) { } // If underground, one hit kill - if (this->collider.info.bumper.dmgFlags == (DMG_BOOMERANG | DMG_EXPLOSIVE | DMG_DEKU_NUT)) { + if (this->collider.elem.bumper.dmgFlags == (DMG_BOOMERANG | DMG_EXPLOSIVE | DMG_DEKU_NUT)) { if (this->actor.colChkInfo.damage == 0) { EnEiyer_SetupAmbush(this, play); } else { @@ -687,7 +687,7 @@ s32 EnEiyer_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos->z += 2500.0f; } - if (this->collider.info.bumper.dmgFlags == (DMG_BOOMERANG | DMG_EXPLOSIVE | DMG_DEKU_NUT) && limbIndex != 9 && + if (this->collider.elem.bumper.dmgFlags == (DMG_BOOMERANG | DMG_EXPLOSIVE | DMG_DEKU_NUT) && limbIndex != 9 && limbIndex != 10) { *dList = NULL; } 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 7c34bc073d..fb9d118719 100644 --- a/src/overlays/actors/ovl_En_Elf/z_en_elf.c +++ b/src/overlays/actors/ovl_En_Elf/z_en_elf.c @@ -696,7 +696,7 @@ void func_80A03610(EnElf* this, PlayState* play) { Math_SmoothStepToF(&this->unk_2B8, 30.0f, 0.1f, 4.0f, 1.0f); this->unk_28C.x = Math_CosS(this->unk_2AC) * this->unk_2B8; - this->unk_28C.y = this->unk_28C.y + this->unk_2B4; + this->unk_28C.y += this->unk_2B4; switch (this->unk_2AA) { case 0: @@ -1394,7 +1394,7 @@ void func_80A053F0(Actor* thisx, PlayState* play) { thisx->flags |= ACTOR_FLAG_16; } - if (Actor_ProcessTalkRequest(thisx, play)) { + if (Actor_TalkOfferAccepted(thisx, play)) { func_800F4524(&gSfxDefaultPos, NA_SE_VO_SK_LAUGH, 0x20); thisx->focus.pos = thisx->world.pos; @@ -1409,7 +1409,7 @@ void func_80A053F0(Actor* thisx, PlayState* play) { func_80A01C38(this, 3); if (this->elfMsg != NULL) { - this->elfMsg->actor.flags |= ACTOR_FLAG_8; + this->elfMsg->actor.flags |= ACTOR_FLAG_TALK; } thisx->flags &= ~ACTOR_FLAG_16; @@ -1513,7 +1513,7 @@ void EnElf_Draw(Actor* thisx, PlayState* play) { if ((this->unk_2A8 != 8) && !(this->fairyFlags & 8)) { if (!(player->stateFlags1 & PLAYER_STATE1_20) || (kREG(90) < this->actor.projectedPos.z)) { - dListHead = Graph_Alloc(play->state.gfxCtx, sizeof(Gfx) * 4); + dListHead = GRAPH_ALLOC(play->state.gfxCtx, sizeof(Gfx) * 4); OPEN_DISPS(play->state.gfxCtx, "../z_en_elf.c", 2730); 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 faa5b2ab0d..0f062004cf 100644 --- a/src/overlays/actors/ovl_En_Encount2/z_en_encount2.c +++ b/src/overlays/actors/ovl_En_Encount2/z_en_encount2.c @@ -361,7 +361,7 @@ void EnEncount2_DrawEffects(Actor* thisx, PlayState* play) { Matrix_Scale(effect->scale, effect->scale, effect->scale, MTXMODE_APPLY); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 155, 55, 255); gDPSetEnvColor(POLY_OPA_DISP++, 155, 255, 55, 255); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_encount2.c", 669), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_encount2.c", 669), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_efc_star_field_DL_000DE0); } diff --git a/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.c b/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.c index 7970026bab..2cfd6bdc17 100644 --- a/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.c +++ b/src/overlays/actors/ovl_En_Ex_Item/z_en_ex_item.c @@ -503,7 +503,7 @@ void EnExItem_DrawKey(EnExItem* this, PlayState* play, s32 index) { OPEN_DISPS(play->state.gfxCtx, "../z_en_ex_item.c", 880); Gfx_SetupDL_41Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_ex_item.c", 887), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_ex_item.c", 887), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(keySegments[index])); gSPDisplayList(POLY_OPA_DISP++, gItemDropDL); diff --git a/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.c b/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.c index e41d08aeca..a679892ca1 100644 --- a/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.c +++ b/src/overlays/actors/ovl_En_Ex_Ruppy/z_en_ex_ruppy.c @@ -386,7 +386,7 @@ void EnExRuppy_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); func_8002EBCC(thisx, play, 0); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_ex_ruppy.c", 780), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_ex_ruppy.c", 780), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(rupeeTextures[this->colorIdx])); gSPDisplayList(POLY_OPA_DISP++, gRupeeDL); diff --git a/src/overlays/actors/ovl_En_Fd/z_en_fd.c b/src/overlays/actors/ovl_En_Fd/z_en_fd.c index a0e2b232d0..2b7f6bedde 100644 --- a/src/overlays/actors/ovl_En_Fd/z_en_fd.c +++ b/src/overlays/actors/ovl_En_Fd/z_en_fd.c @@ -275,15 +275,15 @@ s32 EnFd_CheckHammer(EnFd* this, PlayState* play) { s32 EnFd_ColliderCheck(EnFd* this, PlayState* play) { Player* player = GET_PLAYER(play); - ColliderInfo* info; + ColliderElement* elem; if (this->collider.base.acFlags & AC_HIT || EnFd_CheckHammer(this, play)) { this->collider.base.acFlags &= ~AC_HIT; if (this->invincibilityTimer != 0) { return false; } - info = &this->collider.elements[0].info; - if (info->acHitInfo != NULL && (info->acHitInfo->toucher.dmgFlags & DMG_HOOKSHOT)) { + elem = &this->collider.elements[0].base; + if (elem->acHitElem != NULL && (elem->acHitElem->toucher.dmgFlags & DMG_HOOKSHOT)) { return false; } @@ -902,7 +902,7 @@ void EnFd_DrawEffectsFlames(EnFd* this, PlayState* play) { Matrix_Translate(eff->pos.x, eff->pos.y, eff->pos.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(eff->scale, eff->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_fd.c", 2006), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_fd.c", 2006), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); idx = eff->timer * (8.0f / eff->initialTimer); gSPSegment(POLY_XLU_DISP++, 0x8, SEGMENTED_TO_VIRTUAL(dustTextures[idx])); @@ -939,7 +939,7 @@ void EnFd_DrawEffectsDots(EnFd* this, PlayState* play) { Matrix_Translate(eff->pos.x, eff->pos.y, eff->pos.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(eff->scale, eff->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_fd.c", 2064), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_fd.c", 2064), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gFlareDancerTriangleParticleDL); } diff --git a/src/overlays/actors/ovl_En_Fd_Fire/z_en_fd_fire.c b/src/overlays/actors/ovl_En_Fd_Fire/z_en_fd_fire.c index d5ec56756a..6f836144ec 100644 --- a/src/overlays/actors/ovl_En_Fd_Fire/z_en_fd_fire.c +++ b/src/overlays/actors/ovl_En_Fd_Fire/z_en_fd_fire.c @@ -265,7 +265,7 @@ void EnFdFire_Draw(Actor* thisx, PlayState* play) { sp84 = 0.1f; } Matrix_Scale(1.0f, sp84, 1.0f / sp84, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_fd_fire.c", 623), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_fd_fire.c", 623), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Gfx_SetupDL_25Xlu(play->state.gfxCtx); gSPSegment(POLY_XLU_DISP++, 0x8, diff --git a/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.c b/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.c index 00166c334c..1d6c8e37a8 100644 --- a/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.c +++ b/src/overlays/actors/ovl_En_Fhg_Fire/z_en_fhg_fire.c @@ -476,7 +476,7 @@ void EnFhgFire_EnergyBall(EnFhgFire* this, PlayState* play) { ? true : false; if ((this->collider.base.acFlags & AC_HIT) || canBottleReflect1) { - ColliderInfo* hurtbox = this->collider.info.acHitInfo; + ColliderElement* acHitElem = this->collider.elem.acHitElem; s16 i2; Vec3f spA8; Vec3f sp9C = { 0.0f, -0.5f, 0.0f }; @@ -491,7 +491,7 @@ void EnFhgFire_EnergyBall(EnFhgFire* this, PlayState* play) { (s16)(Rand_ZeroOne() * 25.0f) + 50, FHGFLASH_LIGHTBALL_GREEN); } canBottleReflect2 = canBottleReflect1; - if (!canBottleReflect2 && (hurtbox->toucher.dmgFlags & DMG_SHIELD)) { + if (!canBottleReflect2 && (acHitElem->toucher.dmgFlags & DMG_SHIELD)) { killMode = BALL_IMPACT; Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_REFLECT_MG, &player->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, @@ -711,7 +711,7 @@ void EnFhgFire_Draw(Actor* thisx, PlayState* play) { gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, (s8)this->fwork[FHGFIRE_ALPHA]); gDPSetEnvColor(POLY_XLU_DISP++, 165, 255, 75, 0); gDPPipeSync(POLY_XLU_DISP++); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_fhg_fire.c", 1745), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_fhg_fire.c", 1745), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gPhantomLightningBlastDL)); } else if ((this->actor.params == FHGFIRE_SPEAR_LIGHT) || (this->actor.params == FHGFIRE_ENERGY_BALL)) { @@ -727,7 +727,7 @@ void EnFhgFire_Draw(Actor* thisx, PlayState* play) { } gDPPipeSync(POLY_XLU_DISP++); Matrix_RotateZ((this->actor.shape.rot.z / (f32)0x8000) * 3.1416f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_fhg_fire.c", 1801), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_fhg_fire.c", 1801), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gPhantomEnergyBallDL); } else if ((this->actor.params == FHGFIRE_WARP_EMERGE) || (this->actor.params == FHGFIRE_WARP_RETREAT) || @@ -736,7 +736,7 @@ void EnFhgFire_Draw(Actor* thisx, PlayState* play) { gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 0, 0, 0, (u8)this->fwork[FHGFIRE_WARP_ALPHA]); gDPSetEnvColor(POLY_XLU_DISP++, 90, 50, 95, (s8)(this->fwork[FHGFIRE_WARP_ALPHA] * 0.5f)); gDPPipeSync(POLY_XLU_DISP++); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_fhg_fire.c", 1833), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_fhg_fire.c", 1833), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, (s16)this->fwork[FHGFIRE_WARP_TEX_1_X], @@ -751,7 +751,7 @@ void EnFhgFire_Draw(Actor* thisx, PlayState* play) { gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, (s8)this->fwork[FHGFIRE_ALPHA]); gDPSetEnvColor(POLY_XLU_DISP++, 0, 255, 30, 0); gDPPipeSync(POLY_XLU_DISP++); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_fhg_fire.c", 1892), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_fhg_fire.c", 1892), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gPhantomLightningDL); osSyncPrintf("FF DRAW 2\n"); diff --git a/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.c b/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.c index 53b24ba559..18cf14662c 100644 --- a/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.c +++ b/src/overlays/actors/ovl_En_Fire_Rock/z_en_fire_rock.c @@ -396,7 +396,7 @@ void EnFireRock_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 155, 55, 255); gDPSetEnvColor(POLY_OPA_DISP++, 155, 255, 55, 255); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_fire_rock.c", 768), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_fire_rock.c", 768), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_efc_star_field_DL_000DE0); CLOSE_DISPS(play->state.gfxCtx, "../z_en_fire_rock.c", 773); diff --git a/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c b/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c index 6ce01bfbf2..341d98dfbf 100644 --- a/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c +++ b/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c @@ -118,7 +118,7 @@ static InitChainEntry sInitChain[] = { void EnFirefly_Extinguish(EnFirefly* this) { this->actor.params += 2; - this->collider.elements[0].info.toucher.effect = 0; // None + this->collider.elements[0].base.toucher.effect = 0; // None this->auraType = KEESE_AURA_NONE; this->onFire = false; this->actor.naviEnemyId = NAVI_ENEMY_KEESE; @@ -130,7 +130,7 @@ void EnFirefly_Ignite(EnFirefly* this) { } else { this->actor.params -= 2; } - this->collider.elements[0].info.toucher.effect = 1; // Fire + this->collider.elements[0].base.toucher.effect = 1; // Fire this->auraType = KEESE_AURA_FIRE; this->onFire = true; this->actor.naviEnemyId = NAVI_ENEMY_FIRE_KEESE; @@ -174,10 +174,10 @@ void EnFirefly_Init(Actor* thisx, PlayState* play) { } if (this->actor.params == KEESE_ICE_FLY) { - this->collider.elements[0].info.toucher.effect = 2; // Ice + this->collider.elements[0].base.toucher.effect = 2; // Ice this->actor.naviEnemyId = NAVI_ENEMY_ICE_KEESE; } else { - this->collider.elements[0].info.toucher.effect = 0; // Nothing + this->collider.elements[0].base.toucher.effect = 0; // Nothing this->actor.naviEnemyId = NAVI_ENEMY_KEESE; } @@ -426,7 +426,7 @@ void EnFirefly_Fall(EnFirefly* this, PlayState* play) { this->actor.colorFilterTimer = 40; } else { Math_ScaledStepToS(&this->actor.shape.rot.x, 0x6800, 0x200); - this->actor.shape.rot.y = this->actor.shape.rot.y - 0x300; + this->actor.shape.rot.y -= 0x300; if (this->timer != 0) { this->timer--; } @@ -620,7 +620,7 @@ void EnFirefly_UpdateDamage(EnFirefly* this, PlayState* play) { if (this->collider.base.acFlags & AC_HIT) { this->collider.base.acFlags &= ~AC_HIT; - Actor_SetDropFlag(&this->actor, &this->collider.elements[0].info, true); + Actor_SetDropFlag(&this->actor, &this->collider.elements[0].base, true); if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) { if (Actor_ApplyDamage(&this->actor) == 0) { 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 0ff5393789..1c358be368 100644 --- a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c +++ b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c @@ -242,7 +242,7 @@ void EnFloormas_SetupTurn(EnFloormas* this) { if (this->actor.scale.x > 0.004f) { this->actionTarget = (rotDelta * (2.0f / 30.0f)); } else { - this->skelAnime.playSpeed = this->skelAnime.playSpeed + this->skelAnime.playSpeed; + this->skelAnime.playSpeed *= 2.0f; this->actionTarget = rotDelta * (2.0f / 15.0f); } this->actionFunc = EnFloormas_Turn; @@ -292,7 +292,7 @@ void EnFloormas_SetupSplit(EnFloormas* this) { ANIMMODE_ONCE, 0.0f); this->collider.dim.radius = sCylinderInit.dim.radius * 0.6f; this->collider.dim.height = sCylinderInit.dim.height * 0.6f; - this->collider.info.bumperFlags &= ~BUMP_HOOKABLE; + this->collider.elem.bumperFlags &= ~BUMP_HOOKABLE; this->actor.speed = 4.0f; this->actor.velocity.y = 7.0f; // using div creates a signed check. @@ -389,7 +389,7 @@ void EnFloormas_SetupSmallWait(EnFloormas* this) { void EnFloormas_SetupTakeDamage(EnFloormas* this) { Animation_MorphToPlayOnce(&this->skelAnime, &gWallmasterDamageAnim, -3.0f); - if (this->collider.info.acHitInfo->toucher.dmgFlags & (DMG_ARROW | DMG_SLINGSHOT)) { + if (this->collider.elem.acHitElem->toucher.dmgFlags & (DMG_ARROW | DMG_SLINGSHOT)) { this->actor.world.rot.y = this->collider.base.ac->world.rot.y; } else { this->actor.world.rot.y = Actor_WorldYawTowardActor(&this->actor, this->collider.base.ac) + 0x8000; @@ -914,7 +914,7 @@ void EnFloormas_Merge(EnFloormas* this, PlayState* play) { this->actor.flags &= ~ACTOR_FLAG_4; EnFloormas_MakeVulnerable(this); this->actor.params = 0; - this->collider.info.bumperFlags |= BUMP_HOOKABLE; + this->collider.elem.bumperFlags |= BUMP_HOOKABLE; this->actor.colChkInfo.health = sColChkInfoInit.health; EnFloormas_SetupStand(this); } else { @@ -978,14 +978,14 @@ void EnFloormas_ColliderCheck(EnFloormas* this, PlayState* play) { if (this->collider.base.acFlags & AC_HIT) { this->collider.base.acFlags &= ~AC_HIT; - Actor_SetDropFlag(&this->actor, &this->collider.info, true); + Actor_SetDropFlag(&this->actor, &this->collider.elem, true); if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) { if (this->collider.base.colType != COLTYPE_HARD) { isSmall = false; if (this->actor.scale.x < 0.01f) { isSmall = true; } - if (isSmall && this->collider.info.acHitInfo->toucher.dmgFlags & DMG_HOOKSHOT) { + if (isSmall && this->collider.elem.acHitElem->toucher.dmgFlags & DMG_HOOKSHOT) { this->actor.colChkInfo.damage = 2; this->actor.colChkInfo.damageEffect = 0; } @@ -1092,7 +1092,7 @@ void EnFloormas_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* Matrix_RotateY(DEG_TO_RAD(60), MTXMODE_APPLY); Matrix_RotateZ(DEG_TO_RAD(15), MTXMODE_APPLY); Matrix_Scale(2.0f, 2.0f, 2.0f, MTXMODE_APPLY); - gSPMatrix((*gfx)++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_floormas.c", 2299), G_MTX_LOAD); + gSPMatrix((*gfx)++, MATRIX_NEW(play->state.gfxCtx, "../z_en_floormas.c", 2299), G_MTX_LOAD); gSPDisplayList((*gfx)++, gWallmasterFingerDL); Matrix_Pop(); } 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 a4b083cf2c..36ec397f2b 100644 --- a/src/overlays/actors/ovl_En_Fr/z_en_fr.c +++ b/src/overlays/actors/ovl_En_Fr/z_en_fr.c @@ -776,19 +776,19 @@ void EnFr_CheckOcarinaInputFrogSong(u8 ocarinaNote) { s32 frogIndex; switch (ocarinaNote) { - case 0: + case OCARINA_BTN_A: frogIndexButterfly = FROG_BLUE; break; - case 1: + case OCARINA_BTN_C_DOWN: frogIndexButterfly = FROG_YELLOW; break; - case 2: + case OCARINA_BTN_C_RIGHT: frogIndexButterfly = FROG_RED; break; - case 3: + case OCARINA_BTN_C_LEFT: frogIndexButterfly = FROG_PURPLE; break; - case 4: + case OCARINA_BTN_C_UP: frogIndexButterfly = FROG_WHITE; } // Turn on or off butterfly above frog @@ -1058,7 +1058,7 @@ void EnFr_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, OPEN_DISPS(play->state.gfxCtx, "../z_en_fr.c", 1735); Matrix_Push(); Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_fr.c", 1738), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_fr.c", 1738), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, *dList); Matrix_Pop(); 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 6991d552f6..aac5b16ae8 100644 --- a/src/overlays/actors/ovl_En_Fu/z_en_fu.c +++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.c @@ -100,18 +100,18 @@ void EnFu_Destroy(Actor* thisx, PlayState* play) { Collider_DestroyCylinder(play, &this->collider); } -s32 func_80A1D94C(EnFu* this, PlayState* play, u16 textID, EnFuActionFunc actionFunc) { +s32 func_80A1D94C(EnFu* this, PlayState* play, u16 textId, EnFuActionFunc actionFunc) { s16 yawDiff; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = actionFunc; return true; } - this->actor.textId = textID; + this->actor.textId = textId; yawDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; if ((ABS(yawDiff) < 0x2301) && (this->actor.xzDistToPlayer < 100.0f)) { - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } else { this->behaviorFlags |= FU_RESET_LOOK_ANGLE; } @@ -131,16 +131,16 @@ void func_80A1DA04(EnFu* this, PlayState* play) { } void EnFu_WaitChild(EnFu* this, PlayState* play) { - u16 textID = Text_GetFaceReaction(play, 0xB); + u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_WINDMILL_MAN); - if (textID == 0) { - textID = GET_EVENTCHKINF(EVENTCHKINF_67) ? 0x5033 : 0x5032; + if (textId == 0) { + textId = GET_EVENTCHKINF(EVENTCHKINF_67) ? 0x5033 : 0x5032; } - // if ACTOR_FLAG_8 is set and textID is 0x5033, change animation + // if ACTOR_FLAG_TALK is set and textId is 0x5033, change animation // if func_80A1D94C returns 1, actionFunc is set to func_80A1DA04 - if (func_80A1D94C(this, play, textID, func_80A1DA04)) { - if (textID == 0x5033) { + if (func_80A1D94C(this, play, textId, func_80A1DA04)) { + if (textId == 0x5033) { Animation_Change(&this->skelanime, &gWindmillManPlayAndMoveHeadAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gWindmillManPlayAndMoveHeadAnim), ANIMMODE_ONCE, -4.0f); } @@ -222,12 +222,12 @@ void EnFu_WaitAdult(EnFu* this, PlayState* play) { Message_StartTextbox(play, this->actor.textId, NULL); this->actionFunc = EnFu_TeachSong; this->behaviorFlags |= FU_WAIT; - } else if (Actor_ProcessTalkRequest(&this->actor, play)) { + } else if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = func_80A1DBA0; } else if (ABS(yawDiff) < 0x2301) { if (this->actor.xzDistToPlayer < 100.0f) { this->actor.textId = 0x5034; - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); player->stateFlags2 |= PLAYER_STATE2_23; } } diff --git a/src/overlays/actors/ovl_En_Fw/z_en_fw.c b/src/overlays/actors/ovl_En_Fw/z_en_fw.c index 34fe591dc4..57b04ae52c 100644 --- a/src/overlays/actors/ovl_En_Fw/z_en_fw.c +++ b/src/overlays/actors/ovl_En_Fw/z_en_fw.c @@ -135,11 +135,11 @@ Vec3f* EnFw_GetPosAdjAroundCircle(Vec3f* dst, EnFw* this, f32 radius, s16 dir) { } s32 EnFw_CheckCollider(EnFw* this, PlayState* play) { - ColliderInfo* info; + ColliderElement* elem; if (this->collider.base.acFlags & AC_HIT) { - info = &this->collider.elements[0].info; - if (info->acHitInfo->toucher.dmgFlags & DMG_HOOKSHOT) { + elem = &this->collider.elements[0].base; + if (elem->acHitElem->toucher.dmgFlags & DMG_HOOKSHOT) { this->lastDmgHook = true; } else { this->lastDmgHook = false; @@ -480,7 +480,7 @@ void EnFw_DrawEffects(EnFw* this, PlayState* play) { Matrix_Translate(eff->pos.x, eff->pos.y, eff->pos.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(eff->scale, eff->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_fw.c", 1229), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_fw.c", 1229), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); idx = eff->timer * (8.0f / eff->initialTimer); gSPSegment(POLY_XLU_DISP++, 0x8, SEGMENTED_TO_VIRTUAL(dustTextures[idx])); 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 eaf1af7d59..8a67e84b55 100644 --- a/src/overlays/actors/ovl_En_Fz/z_en_fz.c +++ b/src/overlays/actors/ovl_En_Fz/z_en_fz.c @@ -734,7 +734,7 @@ void EnFz_Draw(Actor* thisx, PlayState* play) { gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0, play->state.frames & 0x7F, 32, 32, 1, 0, (2 * play->state.frames) & 0x7F, 32, 32)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_fz.c", 1183), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_fz.c", 1183), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetCombineLERP(POLY_XLU_DISP++, TEXEL1, PRIMITIVE, PRIM_LOD_FRAC, TEXEL0, TEXEL1, TEXEL0, PRIMITIVE, TEXEL0, PRIMITIVE, ENVIRONMENT, COMBINED, ENVIRONMENT, COMBINED, 0, ENVIRONMENT, 0); @@ -884,7 +884,7 @@ void EnFz_DrawEffects(EnFz* this, PlayState* play) { Matrix_Translate(effect->pos.x, effect->pos.y, effect->pos.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(effect->xyScale, effect->xyScale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_fz.c", 1424), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_fz.c", 1424), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gFreezardSteamDL)); } diff --git a/src/overlays/actors/ovl_En_G_Switch/z_en_g_switch.c b/src/overlays/actors/ovl_En_G_Switch/z_en_g_switch.c index fa54578328..b190c5a5b5 100644 --- a/src/overlays/actors/ovl_En_G_Switch/z_en_g_switch.c +++ b/src/overlays/actors/ovl_En_G_Switch/z_en_g_switch.c @@ -135,7 +135,7 @@ void EnGSwitch_Init(Actor* thisx, PlayState* play) { this->actor.scale.x = 0.25f; this->actor.scale.y = 0.45f; this->actor.scale.z = 0.25f; - this->collider.info.bumper.dmgFlags = DMG_ARROW; + this->collider.elem.bumper.dmgFlags = DMG_ARROW; this->objectId = OBJECT_TSUBO; this->requiredObjectSlot = Object_GetSlot(&play->objectCtx, this->objectId); if (this->requiredObjectSlot < 0) { @@ -181,9 +181,9 @@ void EnGSwitch_Break(EnGSwitch* this, PlayState* play) { randPos.x = this->actor.world.pos.x + Rand_CenteredFloat(40.0f); randPos.y = this->actor.world.pos.y + 30.0f + Rand_CenteredFloat(35.0f); randPos.z = this->actor.world.pos.z + Rand_CenteredFloat(40.0f); - hitPos.x = this->collider.info.bumper.hitPos.x; - hitPos.y = this->collider.info.bumper.hitPos.y; - hitPos.z = this->collider.info.bumper.hitPos.z; + hitPos.x = this->collider.elem.bumper.hitPos.x; + hitPos.y = this->collider.elem.bumper.hitPos.y; + hitPos.z = this->collider.elem.bumper.hitPos.z; EffectSsHitMark_SpawnCustomScale(play, EFFECT_HITMARK_WHITE, 700, &hitPos); if (this->type == ENGSWITCH_ARCHERY_POT) { velocity.y = 15.0f; @@ -457,7 +457,7 @@ void EnGSwitch_DrawPot(Actor* thisx, PlayState* play) { if (!this->broken) { OPEN_DISPS(play->state.gfxCtx, "../z_en_g_switch.c", 918); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_g_switch.c", 925), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_g_switch.c", 925), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_tsubo_DL_0017C0); CLOSE_DISPS(play->state.gfxCtx, "../z_en_g_switch.c", 928); @@ -477,7 +477,7 @@ void EnGSwitch_DrawRupee(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_en_g_switch.c", 951); Gfx_SetupDL_25Opa(play->state.gfxCtx); func_8002EBCC(&this->actor, play, 0); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_g_switch.c", 957), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_g_switch.c", 957), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sRupeeTextures[this->colorIdx])); gSPDisplayList(POLY_OPA_DISP++, gRupeeDL); @@ -561,7 +561,7 @@ void EnGSwitch_DrawEffects(EnGSwitch* this, PlayState* play) { Matrix_RotateX(effect->rot.x, MTXMODE_APPLY); Matrix_RotateY(effect->rot.y, MTXMODE_APPLY); Matrix_RotateZ(effect->rot.z, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_g_switch.c", 1088), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_g_switch.c", 1088), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sRupeeTextures[effect->colorIdx])); gSPDisplayList(POLY_OPA_DISP++, gRupeeDL); diff --git a/src/overlays/actors/ovl_En_Ganon_Mant/z_en_ganon_mant.c b/src/overlays/actors/ovl_En_Ganon_Mant/z_en_ganon_mant.c index 28e5d37b52..0aea936670 100644 --- a/src/overlays/actors/ovl_En_Ganon_Mant/z_en_ganon_mant.c +++ b/src/overlays/actors/ovl_En_Ganon_Mant/z_en_ganon_mant.c @@ -361,7 +361,7 @@ void EnGanonMant_DrawCloak(PlayState* play, EnGanonMant* this) { Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_NEW); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_ganon_mant.c", 572), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_ganon_mant.c", 572), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); // set texture diff --git a/src/overlays/actors/ovl_En_Ganon_Organ/z_en_ganon_organ.c b/src/overlays/actors/ovl_En_Ganon_Organ/z_en_ganon_organ.c index ee7221101a..3a87e6ac20 100644 --- a/src/overlays/actors/ovl_En_Ganon_Organ/z_en_ganon_organ.c +++ b/src/overlays/actors/ovl_En_Ganon_Organ/z_en_ganon_organ.c @@ -53,7 +53,7 @@ void EnGanonOrgan_Update(Actor* thisx, PlayState* play) { Gfx* EnGanonOrgan_EmptyDList(GraphicsContext* gfxCtx) { Gfx* displayList; - displayList = Graph_Alloc(gfxCtx, sizeof(Gfx)); + displayList = GRAPH_ALLOC(gfxCtx, sizeof(Gfx)); gSPEndDisplayList(displayList); return displayList; } @@ -62,7 +62,7 @@ Gfx* func_80A280BC(GraphicsContext* gfxCtx, BossGanon* dorf) { Gfx* displayList; Gfx* displayListHead; - displayList = Graph_Alloc(gfxCtx, 4 * sizeof(Gfx)); + displayList = GRAPH_ALLOC(gfxCtx, 4 * sizeof(Gfx)); displayListHead = displayList; gDPPipeSync(displayListHead++); if (1) {} @@ -77,7 +77,7 @@ Gfx* func_80A28148(GraphicsContext* gfxCtx, BossGanon* dorf) { Gfx* displayList; Gfx* displayListHead; - displayList = Graph_Alloc(gfxCtx, 4 * sizeof(Gfx)); + displayList = GRAPH_ALLOC(gfxCtx, 4 * sizeof(Gfx)); displayListHead = displayList; gDPPipeSync(displayListHead++); @@ -104,7 +104,7 @@ void EnGanonOrgan_Draw(Actor* thisx, PlayState* play) { gSPSegment(POLY_OPA_DISP++, 0x09, EnGanonOrgan_EmptyDList(play->state.gfxCtx)); } Matrix_Translate(0.0f, 0.0f, 0.0f, MTXMODE_NEW); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_ganon_organ.c", 221), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_ganon_organ.c", 221), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, sRoomOrganAndFloorDL); diff --git a/src/overlays/actors/ovl_En_Gb/z_en_gb.c b/src/overlays/actors/ovl_En_Gb/z_en_gb.c index 209fa806b3..4ee2521ae9 100644 --- a/src/overlays/actors/ovl_En_Gb/z_en_gb.c +++ b/src/overlays/actors/ovl_En_Gb/z_en_gb.c @@ -279,7 +279,7 @@ void func_80A2F83C(EnGb* this, PlayState* play) { return; } } - if (Actor_ProcessTalkRequest(&this->dyna.actor, play)) { + if (Actor_TalkOfferAccepted(&this->dyna.actor, play)) { switch (func_8002F368(play)) { case EXCH_ITEM_NONE: func_80A2F180(this); @@ -297,7 +297,7 @@ void func_80A2F83C(EnGb* this, PlayState* play) { return; } if (this->dyna.actor.xzDistToPlayer < 100.0f) { - func_8002F298(&this->dyna.actor, play, 100.0f, EXCH_ITEM_BOTTLE_POE); + Actor_OfferTalkExchangeEquiCylinder(&this->dyna.actor, play, 100.0f, EXCH_ITEM_BOTTLE_POE); } } @@ -366,7 +366,7 @@ void func_80A2FBB0(EnGb* this, PlayState* play) { void func_80A2FC0C(EnGb* this, PlayState* play) { if (Message_GetState(&play->msgCtx) == TEXT_STATE_DONE && Message_ShouldAdvance(play)) { - Actor_ProcessTalkRequest(&this->dyna.actor, play); + Actor_TalkOfferAccepted(&this->dyna.actor, play); func_80A2F180(this); this->actionFunc = func_80A2F83C; } @@ -542,7 +542,7 @@ void EnGb_DrawCagedSouls(EnGb* this, PlayState* play) { } Matrix_Scale(0.007f, 0.007f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_gb.c", 955), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_gb.c", 955), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gPoeSellerCagedSoulDL); 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 157742eda6..e3c1297b10 100644 --- a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c +++ b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c @@ -181,7 +181,7 @@ void EnGe1_Destroy(Actor* thisx, PlayState* play) { } s32 EnGe1_SetTalkAction(EnGe1* this, PlayState* play, u16 textId, f32 arg3, EnGe1ActionFunc actionFunc) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = actionFunc; this->animFunc = EnGe1_StopFidget; this->stateFlags &= ~GE1_STATE_IDLE_ANIM; @@ -194,7 +194,7 @@ s32 EnGe1_SetTalkAction(EnGe1* this, PlayState* play, u16 textId, f32 arg3, EnGe this->actor.textId = textId; if (this->actor.xzDistToPlayer < arg3) { - func_8002F2CC(&this->actor, play, arg3); + Actor_OfferTalk(&this->actor, play, arg3); } return false; @@ -304,13 +304,13 @@ void EnGe1_WatchForAndSensePlayer(EnGe1* this, PlayState* play) { } void EnGe1_GetReaction_ValleyFloor(EnGe1* this, PlayState* play) { - u16 reactionText = Text_GetFaceReaction(play, 0x22); + u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_GERUDO_WHITE); - if (reactionText == 0) { - reactionText = 0x6019; + if (textId == 0) { + textId = 0x6019; } - EnGe1_SetTalkAction(this, play, reactionText, 100.0f, EnGe1_ChooseActionFromTextId); + EnGe1_SetTalkAction(this, play, textId, 100.0f, EnGe1_ChooseActionFromTextId); } // Gerudo Training Ground Guard functions @@ -463,15 +463,13 @@ void EnGe1_Talk_GateGuard(EnGe1* this, PlayState* play) { } void EnGe1_GetReaction_GateGuard(EnGe1* this, PlayState* play) { - u16 reactionText; + u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_GERUDO_WHITE); - reactionText = Text_GetFaceReaction(play, 0x22); - - if (reactionText == 0) { - reactionText = 0x6069; + if (textId == 0) { + textId = 0x6069; } - if (EnGe1_SetTalkAction(this, play, reactionText, 100.0f, EnGe1_Talk_GateGuard)) { + if (EnGe1_SetTalkAction(this, play, textId, 100.0f, EnGe1_Talk_GateGuard)) { this->animFunc = EnGe1_CueUpAnimation; this->animation = &gGerudoWhiteDismissiveAnim; Animation_Change(&this->skelAnime, &gGerudoWhiteDismissiveAnim, 1.0f, 0.0f, @@ -545,11 +543,11 @@ void EnGe1_BeginGiveItem_Archery(EnGe1* this, PlayState* play) { } void EnGe1_TalkWinPrize_Archery(EnGe1* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = EnGe1_BeginGiveItem_Archery; this->actor.flags &= ~ACTOR_FLAG_16; } else { - func_8002F2CC(&this->actor, play, 200.0f); + Actor_OfferTalk(&this->actor, play, 200.0f); } } @@ -616,10 +614,10 @@ void EnGe1_TalkOfferPlay_Archery(EnGe1* this, PlayState* play) { } void EnGe1_TalkNoPrize_Archery(EnGe1* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = EnGe1_TalkOfferPlay_Archery; } else { - func_8002F2CC(&this->actor, play, 300.0f); + Actor_OfferTalk(&this->actor, play, 300.0f); } } 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 9605b142ba..4430ef3f7d 100644 --- a/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c +++ b/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c @@ -466,12 +466,12 @@ void EnGe2_GiveCard(EnGe2* this, PlayState* play) { void EnGe2_ForceTalk(EnGe2* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = EnGe2_GiveCard; } else { this->actor.textId = 0x6004; this->actor.flags |= ACTOR_FLAG_16; - func_8002F1C4(&this->actor, play, 300.0f, 300.0f, EXCH_ITEM_NONE); + Actor_OfferTalkExchange(&this->actor, play, 300.0f, 300.0f, EXCH_ITEM_NONE); } EnGe2_LookAtPlayer(this, play); } @@ -519,7 +519,7 @@ void EnGe2_UpdateFriendly(Actor* thisx, PlayState* play) { EnGe2_MaintainColliderAndSetAnimState(this, play); this->actionFunc(this, play); - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { if ((this->actor.params & 0xFF) == GE2_TYPE_PATROLLING) { this->actor.speed = 0.0f; EnGe2_ChangeAction(this, GE2_ACTION_WAITLOOKATPLAYER); @@ -530,7 +530,7 @@ void EnGe2_UpdateFriendly(Actor* thisx, PlayState* play) { this->actor.textId = 0x6005; if (this->actor.xzDistToPlayer < 100.0f) { - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } } EnGe2_MoveAndBlink(this, play); @@ -554,8 +554,8 @@ void EnGe2_Update(Actor* thisx, PlayState* play) { if ((this->stateFlags & GE2_STATE_KO) || (this->stateFlags & GE2_STATE_CAPTURING)) { this->actionFunc(this, play); } else if (this->collider.base.acFlags & AC_HIT) { - if ((this->collider.info.acHitInfo != NULL) && - (this->collider.info.acHitInfo->toucher.dmgFlags & DMG_HOOKSHOT)) { + if ((this->collider.elem.acHitElem != NULL) && + (this->collider.elem.acHitElem->toucher.dmgFlags & DMG_HOOKSHOT)) { //! @bug duration parameter is larger than 255 which messes with the internal bitpacking of the colorfilter. //! Because of the duration being tracked as an unsigned byte it ends up being truncated to 144 Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 120, COLORFILTER_BUFFLAG_OPA, 400); @@ -606,8 +606,8 @@ void EnGe2_UpdateStunned(Actor* thisx, PlayState* play2) { CollisionCheck_SetOC(play, &play->colChkCtx, &this->collider.base); Actor_UpdateBgCheckInfo(play, &this->actor, 40.0f, 25.0f, 40.0f, UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2); - if ((this->collider.base.acFlags & AC_HIT) && ((this->collider.info.acHitInfo == NULL) || - !(this->collider.info.acHitInfo->toucher.dmgFlags & DMG_HOOKSHOT))) { + if ((this->collider.base.acFlags & AC_HIT) && ((this->collider.elem.acHitElem == NULL) || + !(this->collider.elem.acHitElem->toucher.dmgFlags & DMG_HOOKSHOT))) { this->actor.colorFilterTimer = 0; EnGe2_ChangeAction(this, GE2_ACTION_KNOCKEDOUT); this->timer = 100; 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 84bee337ec..0f3e0d480e 100644 --- a/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c +++ b/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c @@ -155,7 +155,7 @@ void EnGe3_GiveCard(EnGe3* this, PlayState* play) { } void EnGe3_ForceTalk(EnGe3* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = EnGe3_GiveCard; } else { if (!(this->unk_30C & 4)) { @@ -164,7 +164,7 @@ void EnGe3_ForceTalk(EnGe3* this, PlayState* play) { } this->actor.textId = 0x6004; this->actor.flags |= ACTOR_FLAG_16; - func_8002F1C4(&this->actor, play, 300.0f, 300.0f, EXCH_ITEM_NONE); + Actor_OfferTalkExchange(&this->actor, play, 300.0f, 300.0f, EXCH_ITEM_NONE); } EnGe3_LookAtPlayer(this, play); } @@ -203,13 +203,13 @@ void EnGe3_UpdateWhenNotTalking(Actor* thisx, PlayState* play) { EnGe3_UpdateCollision(this, play); this->actionFunc(this, play); - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = EnGe3_Wait; this->actor.update = EnGe3_Update; } else { this->actor.textId = 0x6005; if (this->actor.xzDistToPlayer < 100.0f) { - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } } diff --git a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c index 0ed65e828d..ea9772ca03 100644 --- a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c +++ b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c @@ -1368,7 +1368,7 @@ void EnGeldB_CollisionCheck(EnGeldB* this, PlayState* play) { this->bodyCollider.base.acFlags &= ~AC_HIT; if (this->actor.colChkInfo.damageEffect != GELDB_DMG_UNK_6) { this->damageEffect = this->actor.colChkInfo.damageEffect; - Actor_SetDropFlag(&this->actor, &this->bodyCollider.info, true); + Actor_SetDropFlag(&this->actor, &this->bodyCollider.elem, true); Audio_StopSfxByPosAndId(&this->actor.projectedPos, NA_SE_EN_GERUDOFT_BREATH); if ((this->actor.colChkInfo.damageEffect == GELDB_DMG_STUN) || (this->actor.colChkInfo.damageEffect == GELDB_DMG_FREEZE)) { 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 0cd98ed0c3..ec0821cf7d 100644 --- a/src/overlays/actors/ovl_En_Gm/z_en_gm.c +++ b/src/overlays/actors/ovl_En_Gm/z_en_gm.c @@ -174,11 +174,11 @@ void func_80A3DB04(EnGm* this, PlayState* play) { if (Flags_GetSwitch(play, this->actor.params)) { EnGm_SetTextID(this); this->actionFunc = func_80A3DC44; - } else if (Actor_ProcessTalkRequest(&this->actor, play)) { + } else if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = func_80A3DBF4; } else if ((this->collider.base.ocFlags1 & OC1_HIT) || (SQ(dx) + SQ(dz)) < SQ(100.0f)) { this->collider.base.acFlags &= ~AC_HIT; - func_8002F2CC(&this->actor, play, 415.0f); + Actor_OfferTalk(&this->actor, play, 415.0f); } } @@ -199,7 +199,7 @@ void func_80A3DC44(EnGm* this, PlayState* play) { dx = this->talkPos.x - player->actor.world.pos.x; dz = this->talkPos.z - player->actor.world.pos.z; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { switch (func_80A3D7C8()) { case 0: SET_INFTABLE(INFTABLE_B0); @@ -221,7 +221,7 @@ void func_80A3DC44(EnGm* this, PlayState* play) { } if ((this->collider.base.ocFlags1 & OC1_HIT) || (SQ(dx) + SQ(dz)) < SQ(100.0f)) { this->collider.base.acFlags &= ~AC_HIT; - func_8002F2CC(&this->actor, play, 415.0f); + Actor_OfferTalk(&this->actor, play, 415.0f); } } 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 756a61a482..3ff17461fa 100644 --- a/src/overlays/actors/ovl_En_Go/z_en_go.c +++ b/src/overlays/actors/ovl_En_Go/z_en_go.c @@ -66,9 +66,7 @@ static ColliderCylinderInit sCylinderInit = { { 20, 46, 0, { 0, 0, 0 } }, }; -static CollisionCheckInfoInit2 sColChkInfoInit = { - 0, 0, 0, 0, MASS_IMMOVABLE, -}; +static CollisionCheckInfoInit2 sColChkInfoInit = { 0, 0, 0, 0, MASS_IMMOVABLE }; typedef enum { /* 0 */ ENGO_ANIM_0, @@ -338,10 +336,10 @@ s32 EnGo_UpdateTalking(PlayState* play, Actor* thisx, s16* talkState, f32 intera if (*talkState != NPC_TALK_STATE_IDLE) { *talkState = updateTalkState(play, thisx); return false; - } else if (Actor_ProcessTalkRequest(thisx, play)) { + } else if (Actor_TalkOfferAccepted(thisx, play)) { *talkState = NPC_TALK_STATE_TALKING; return true; - } else if (!func_8002F2CC(thisx, play, interactRange)) { + } else if (!Actor_OfferTalk(thisx, play, interactRange)) { return false; } else { thisx->textId = getTextId(play, thisx); @@ -429,13 +427,13 @@ s32 EnGo_IsCameraModified(EnGo* this, PlayState* play) { xyzDistSq = (this->actor.scale.x / 0.01f) * SQ(100.0f); if ((this->actor.params & 0xF0) == 0x90) { - Camera_ChangeSetting(mainCam, CAM_SET_DIRECTED_YAW); + Camera_RequestSetting(mainCam, CAM_SET_DIRECTED_YAW); xyzDistSq *= 4.8f; } if (fabsf(this->actor.xyzDistToPlayerSq) > xyzDistSq) { if (mainCam->setting == CAM_SET_DIRECTED_YAW) { - Camera_ChangeSetting(mainCam, CAM_SET_NORMAL0); + Camera_RequestSetting(mainCam, CAM_SET_NORMAL0); } return 0; } else { @@ -1050,7 +1048,7 @@ void EnGo_DrawCurledUp(EnGo* this, PlayState* play) { Matrix_Push(); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_go.c", 2326), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_go.c", 2326), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gGoronDL_00BD80); @@ -1070,7 +1068,7 @@ void EnGo_DrawRolling(EnGo* this, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); Matrix_RotateZYX((s16)(play->state.frames * ((s16)this->actor.speed * 1400)), 0, this->actor.shape.rot.z, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_go.c", 2368), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_go.c", 2368), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gGoronDL_00C140); Matrix_MultVec3f(&D_80A41BC0, &this->actor.focus.pos); @@ -1219,7 +1217,7 @@ void EnGo_DrawEffects(EnGo* this, PlayState* play) { Matrix_Translate(dustEffect->pos.x, dustEffect->pos.y, dustEffect->pos.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(dustEffect->scale, dustEffect->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_go.c", 2664), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_go.c", 2664), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); index = dustEffect->timer * (8.0f / dustEffect->initialTimer); diff --git a/src/overlays/actors/ovl_En_Go2/z_en_go2.c b/src/overlays/actors/ovl_En_Go2/z_en_go2.c index 025b47e322..278c4679dd 100644 --- a/src/overlays/actors/ovl_En_Go2/z_en_go2.c +++ b/src/overlays/actors/ovl_En_Go2/z_en_go2.c @@ -92,9 +92,7 @@ static ColliderCylinderInit sCylinderInit = { { 40, 65, 0, { 0, 0, 0 } }, }; -static CollisionCheckInfoInit2 sColChkInfoInit = { - 0, 0, 0, 0, MASS_IMMOVABLE, -}; +static CollisionCheckInfoInit2 sColChkInfoInit = { 0, 0, 0, 0, MASS_IMMOVABLE }; ActorInit En_Go2_InitVars = { /**/ ACTOR_EN_GO2, @@ -244,7 +242,7 @@ void EnGo2_DrawEffects(EnGo2* this, PlayState* play) { Matrix_Translate(dustEffect->pos.x, dustEffect->pos.y, dustEffect->pos.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(dustEffect->scale, dustEffect->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_go2_eff.c", 137), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_go2_eff.c", 137), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); index = dustEffect->timer * (8.0f / dustEffect->initialTimer); gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sDustTex[index])); @@ -738,10 +736,10 @@ s16 EnGo2_UpdateTalkStateGoronDmtFairyHint(PlayState* play, EnGo2* this) { u16 EnGo2_GetTextId(PlayState* play, Actor* thisx) { EnGo2* this = (EnGo2*)thisx; - u16 faceReaction = Text_GetFaceReaction(play, 0x20); + u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_GORON); - if (faceReaction != 0) { - return faceReaction; + if (textId != 0) { + return textId; } else { switch (this->actor.params & 0x1F) { case GORON_CITY_ROLLING_BIG: @@ -775,7 +773,7 @@ u16 EnGo2_GetTextId(PlayState* play, Actor* thisx) { } } #ifdef AVOID_UB - return faceReaction; // faceReaction is always in the v0 return value register at this point + return textId; // textId is always in the v0 return value register at this point #endif } @@ -812,7 +810,7 @@ s16 EnGo2_UpdateTalkState(PlayState* play, Actor* thisx) { return EnGo2_UpdateTalkStateGoronMarketBazaar(play, this); } #ifdef AVOID_UB - // The v0 register isn't set in this function, the last value in v0 is the return value of Actor_ProcessTalkRequest + // The v0 register isn't set in this function, the last value in v0 is the return value of Actor_TalkOfferAccepted // called in the function below, which must be false for this function to be called return false; #endif @@ -826,13 +824,13 @@ s32 func_80A44790(EnGo2* this, PlayState* play) { !(this->collider.base.ocFlags2 & OC2_HIT_PLAYER)) { return false; } else { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->interactInfo.talkState = NPC_TALK_STATE_TALKING; return true; } else if (this->interactInfo.talkState != NPC_TALK_STATE_IDLE) { this->interactInfo.talkState = EnGo2_UpdateTalkState(play, &this->actor); return false; - } else if (func_8002F2CC(&this->actor, play, this->interactRange)) { + } else if (Actor_OfferTalk(&this->actor, play, this->interactRange)) { this->actor.textId = EnGo2_GetTextId(play, &this->actor); } return false; @@ -1163,11 +1161,11 @@ s32 EnGo2_IsCameraModified(EnGo2* this, PlayState* play) { if ((this->actor.params & 0x1F) == GORON_DMT_BIGGORON) { if (EnGo2_IsWakingUp(this)) { - Camera_ChangeSetting(mainCam, CAM_SET_DIRECTED_YAW); - Camera_UnsetStateFlag(mainCam, CAM_STATE_2); + Camera_RequestSetting(mainCam, CAM_SET_DIRECTED_YAW); + Camera_UnsetStateFlag(mainCam, CAM_STATE_CHECK_BG); } else if (!EnGo2_IsWakingUp(this) && (mainCam->setting == CAM_SET_DIRECTED_YAW)) { - Camera_ChangeSetting(mainCam, CAM_SET_DUNGEON1); - Camera_SetStateFlag(mainCam, CAM_STATE_2); + Camera_RequestSetting(mainCam, CAM_SET_DUNGEON1); + Camera_SetStateFlag(mainCam, CAM_STATE_CHECK_BG); } } @@ -1346,7 +1344,7 @@ void EnGo2_GetItemAnimation(EnGo2* this, PlayState* play) { void EnGo2_SetupRolling(EnGo2* this, PlayState* play) { if ((this->actor.params & 0x1F) == GORON_CITY_ROLLING_BIG || (this->actor.params & 0x1F) == GORON_CITY_LINK) { - this->collider.info.bumperFlags = BUMP_ON; + this->collider.elem.bumperFlags = BUMP_ON; this->actor.speed = GET_INFTABLE(INFTABLE_11E) ? 6.0f : 3.6000001f; } else { this->actor.speed = 6.0f; @@ -1370,7 +1368,7 @@ void EnGo2_StopRolling(EnGo2* this, PlayState* play) { } } } else { - this->collider.info.bumperFlags = BUMP_NONE; + this->collider.elem.bumperFlags = BUMP_NONE; } this->actor.shape.rot = this->actor.world.rot; @@ -1839,7 +1837,7 @@ void EnGo2_BiggoronEyedrops(EnGo2* this, PlayState* play) { case 1: if (DECR(this->animTimer)) { if (this->animTimer == 60 || this->animTimer == 120) { - func_8005B1A4(GET_ACTIVE_CAM(play)); + Camera_SetFinishedFlag(GET_ACTIVE_CAM(play)); func_800F4524(&gSfxDefaultPos, NA_SE_EV_GORON_WATER_DROP, 60); } } else { @@ -1977,8 +1975,8 @@ void EnGo2_Update(Actor* thisx, PlayState* play) { EnGo2_SitDownAnimation(this); SkelAnime_Update(&this->skelAnime); EnGo2_RollForward(this); - Actor_UpdateBgCheckInfo(play, &this->actor, (f32)this->collider.dim.height * 0.5f, - (f32)this->collider.dim.radius * 0.6f, 0.0f, UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2); + Actor_UpdateBgCheckInfo(play, &this->actor, this->collider.dim.height * 0.5f, this->collider.dim.radius * 0.6f, + 0.0f, UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2); if (this->interactInfo.talkState == NPC_TALK_STATE_IDLE) { func_80A44AB0(this, play); } @@ -1996,7 +1994,7 @@ s32 EnGo2_DrawCurledUp(EnGo2* this, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_en_go2.c", 2881); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_go2.c", 2884), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_go2.c", 2884), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gGoronDL_00BD80); CLOSE_DISPS(play->state.gfxCtx, "../z_en_go2.c", 2889); @@ -2014,7 +2012,7 @@ s32 EnGo2_DrawRolling(EnGo2* this, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); speedXZ = this->actionFunc == EnGo2_ReverseRolling ? 0.0f : this->actor.speed; Matrix_RotateZYX((play->state.frames * ((s16)speedXZ * 1400)), 0, this->actor.shape.rot.z, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_go2.c", 2926), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_go2.c", 2926), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gGoronDL_00C140); CLOSE_DISPS(play->state.gfxCtx, "../z_en_go2.c", 2930); diff --git a/src/overlays/actors/ovl_En_Goma/z_en_goma.c b/src/overlays/actors/ovl_En_Goma/z_en_goma.c index 2dfe53d505..a281827ae4 100644 --- a/src/overlays/actors/ovl_En_Goma/z_en_goma.c +++ b/src/overlays/actors/ovl_En_Goma/z_en_goma.c @@ -610,7 +610,7 @@ void EnGoma_UpdateHit(EnGoma* this, PlayState* play) { if (this->hurtTimer != 0) { this->hurtTimer--; } else { - ColliderInfo* acHitInfo; + ColliderElement* acHitElem; u8 swordDamage; if ((this->colCyl1.base.atFlags & AT_HIT) && this->actionFunc == EnGoma_Jump) { @@ -620,11 +620,11 @@ void EnGoma_UpdateHit(EnGoma* this, PlayState* play) { } if ((this->colCyl2.base.acFlags & AC_HIT) && (s8)this->actor.colChkInfo.health > 0) { - acHitInfo = this->colCyl2.info.acHitInfo; + acHitElem = this->colCyl2.elem.acHitElem; this->colCyl2.base.acFlags &= ~AC_HIT; if (this->gomaType == ENGOMA_NORMAL) { - u32 dmgFlags = acHitInfo->toucher.dmgFlags; + u32 dmgFlags = acHitElem->toucher.dmgFlags; if (dmgFlags & DMG_SHIELD) { if (this->actionFunc == EnGoma_Jump) { @@ -710,8 +710,8 @@ void EnGoma_Update(Actor* thisx, PlayState* play) { this->actionFunc(this, play); Actor_MoveXZGravity(&this->actor); - this->actor.world.pos.x = this->actor.world.pos.x + this->shieldKnockbackVel.x; - this->actor.world.pos.z = this->actor.world.pos.z + this->shieldKnockbackVel.z; + this->actor.world.pos.x += this->shieldKnockbackVel.x; + this->actor.world.pos.z += this->shieldKnockbackVel.z; Math_ApproachZeroF(&this->shieldKnockbackVel.x, 1.0f, 3.0f); Math_ApproachZeroF(&this->shieldKnockbackVel.z, 1.0f, 3.0f); @@ -770,7 +770,7 @@ Gfx* EnGoma_NoBackfaceCullingDlist(GraphicsContext* gfxCtx) { Gfx* dListHead; Gfx* dList; - dListHead = dList = Graph_Alloc(gfxCtx, sizeof(Gfx) * 4); + dListHead = dList = GRAPH_ALLOC(gfxCtx, sizeof(Gfx) * 4); gDPPipeSync(dListHead++); gDPSetRenderMode(dListHead++, G_RM_PASS, G_RM_AA_ZB_TEX_EDGE2); gSPClearGeometryMode(dListHead++, G_CULL_BACK); @@ -818,14 +818,14 @@ void EnGoma_Draw(Actor* thisx, PlayState* play) { Matrix_RotateY(-(this->eggSquishAngle * 0.15f), MTXMODE_APPLY); Matrix_Translate(0.0f, this->eggYOffset, 0.0f, MTXMODE_APPLY); Matrix_RotateX(this->eggPitch, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_goma.c", 2101), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_goma.c", 2101), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gObjectGolEggDL); Matrix_Pop(); break; case ENGOMA_HATCH_DEBRIS: - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_goma.c", 2107), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_goma.c", 2107), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gBrownFragmentDL); break; @@ -833,7 +833,7 @@ void EnGoma_Draw(Actor* thisx, PlayState* play) { case ENGOMA_BOSSLIMB: if (this->bossLimbDL != NULL) { gSPSegment(POLY_OPA_DISP++, 0x08, EnGoma_NoBackfaceCullingDlist(play->state.gfxCtx)); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_goma.c", 2114), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_goma.c", 2114), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, this->bossLimbDL); } 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 6500bb69f9..2563fd6bac 100644 --- a/src/overlays/actors/ovl_En_Gs/z_en_gs.c +++ b/src/overlays/actors/ovl_En_Gs/z_en_gs.c @@ -180,12 +180,12 @@ void func_80A4E648(EnGs* this, PlayState* play) { this->unk_19C = 2; } else if (this->unk_19C == 2) { this->unk_19C = func_80A4E3EC(this, play); - } else if (Actor_ProcessTalkRequest(&this->actor, play)) { + } else if (Actor_TalkOfferAccepted(&this->actor, play)) { this->unk_19C = 2; } else { Actor_GetScreenPos(play, &this->actor, &sp26, &sp24); if ((sp26 >= 0) && (sp26 <= SCREEN_WIDTH) && (sp24 >= 0) && (sp24 <= SCREEN_HEIGHT) && (this->unk_19C != 3)) { - if (func_8002F2CC(&this->actor, play, 40.0f) == 1) { + if (Actor_OfferTalk(&this->actor, play, 40.0f) == 1) { if (Player_GetMask(play) == PLAYER_MASK_TRUTH) { this->actor.textId = 0x2054; } else { @@ -435,7 +435,7 @@ void func_80A4F13C(EnGs* this, PlayState* play) { tmp = this->unk_1A0[0].y; if (tmp > 0) { - tmp += 0xFFFF0000; + tmp -= 0x10000; } this->unk_1E8 = tmp; @@ -446,7 +446,7 @@ void func_80A4F13C(EnGs* this, PlayState* play) { if (this->unk_19F == 5) { tmp = this->unk_1A0[0].y; if (tmp > 0) { - tmp += 0xFFFF0001; + tmp -= 0xFFFF; } this->unk_1E8 = tmp; tmpf1 = Math_SmoothStepToF(&this->unk_1E8, this->unk_1EC, 0.8f, 3640.0f, 0.001f); @@ -578,7 +578,7 @@ void EnGs_Draw(Actor* thisx, PlayState* play) { Matrix_RotateZ(BINANG_TO_RAD(this->unk_1A0[1].z), MTXMODE_APPLY); } - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_gs.c", 1064), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_gs.c", 1064), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gGossipStoneMaterialDL); @@ -598,7 +598,7 @@ void EnGs_Draw(Actor* thisx, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(0.05f, -0.05f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_gs.c", 1087), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_gs.c", 1087), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0, 0, 0x20, 0x40, 1, 0, -frames * 0x14, diff --git a/src/overlays/actors/ovl_En_Guest/z_en_guest.c b/src/overlays/actors/ovl_En_Guest/z_en_guest.c index a03504939e..aa8d1f0dec 100644 --- a/src/overlays/actors/ovl_En_Guest/z_en_guest.c +++ b/src/overlays/actors/ovl_En_Guest/z_en_guest.c @@ -126,10 +126,10 @@ void func_80A5046C(EnGuest* this) { } void func_80A50518(EnGuest* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = func_80A5057C; } else if (this->actor.xzDistToPlayer < 100.0f) { - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } } @@ -172,7 +172,7 @@ void func_80A505CC(Actor* thisx, PlayState* play) { Gfx* func_80A50708(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b, u8 a) { Gfx* dlist; - dlist = Graph_Alloc(gfxCtx, 2 * sizeof(Gfx)); + dlist = GRAPH_ALLOC(gfxCtx, 2 * sizeof(Gfx)); gDPSetEnvColor(dlist, r, g, b, a); gSPEndDisplayList(dlist + 1); diff --git a/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c index 4dc069363b..29f2e9aba0 100644 --- a/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c +++ b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c @@ -184,8 +184,8 @@ void func_80A531E4(EnHeishi2* this, PlayState* play) { void func_80A53278(EnHeishi2* this, PlayState* play) { this->unk_30B = 0; this->unk_30E = 0; - if (Text_GetFaceReaction(play, 5) != 0) { - this->actor.textId = Text_GetFaceReaction(play, 5); + if (MaskReaction_GetTextId(play, MASK_REACTION_SET_HYRULIAN_GUARD) != 0) { + this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_HYRULIAN_GUARD); this->unk_30B = 1; this->unk_300 = TEXT_STATE_DONE; this->actionFunc = func_80A5475C; @@ -208,7 +208,7 @@ void func_80A53278(EnHeishi2* this, PlayState* play) { this->unk_300 = TEXT_STATE_DONE; this->actor.textId = 0x7099; this->actionFunc = func_80A5475C; - } else if (GET_EVENTCHKINF(EVENTCHKINF_12)) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_RECEIVED_WEIRD_EGG)) { if (this->unk_30E == 0) { // "Start under the first sleeve!" osSyncPrintf(VT_FGCOL(MAGENTA) " ☆☆☆☆☆ 1回目袖の下開始! ☆☆☆☆☆ \n" VT_RST); @@ -372,9 +372,9 @@ void func_80A5399C(EnHeishi2* this, PlayState* play) { this->unk_300 = TEXT_STATE_EVENT; this->unk_30E = 0; } - if (Text_GetFaceReaction(play, 5) != 0) { + if (MaskReaction_GetTextId(play, MASK_REACTION_SET_HYRULIAN_GUARD) != 0) { if (var == 0) { - this->actor.textId = Text_GetFaceReaction(play, 5); + this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_HYRULIAN_GUARD); this->unk_30B = 1; this->unk_300 = TEXT_STATE_DONE; this->unk_30E = 0; @@ -395,13 +395,13 @@ void func_80A53AD4(EnHeishi2* this, PlayState* play) { s16 yawDiff; SkelAnime_Update(&this->skelAnime); - if (Text_GetFaceReaction(play, 5) != 0) { - this->actor.textId = Text_GetFaceReaction(play, 5); + if (MaskReaction_GetTextId(play, MASK_REACTION_SET_HYRULIAN_GUARD) != 0) { + this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_HYRULIAN_GUARD); } else { this->actor.textId = 0x200E; } this->unk_300 = TEXT_STATE_DONE; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { exchangeItemId = func_8002F368(play); if (exchangeItemId == EXCH_ITEM_ZELDAS_LETTER) { Sfx_PlaySfxCentered(NA_SE_SY_CORRECT_CHIME); @@ -415,7 +415,7 @@ void func_80A53AD4(EnHeishi2* this, PlayState* play) { yawDiffTemp = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; yawDiff = ABS(yawDiffTemp); if (!(120.0f < this->actor.xzDistToPlayer) && (yawDiff < 0x4300)) { - func_8002F298(&this->actor, play, 100.0f, EXCH_ITEM_ZELDAS_LETTER); + Actor_OfferTalkExchangeEquiCylinder(&this->actor, play, 100.0f, EXCH_ITEM_ZELDAS_LETTER); } } } @@ -683,7 +683,7 @@ void func_80A5475C(EnHeishi2* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); - if (Text_GetFaceReaction(play, 5) != 0) { + if (MaskReaction_GetTextId(play, MASK_REACTION_SET_HYRULIAN_GUARD) != 0) { if (this->unk_30B == 0) { if (this->type == 2) { this->actionFunc = func_80A53278; @@ -705,7 +705,7 @@ void func_80A5475C(EnHeishi2* this, PlayState* play) { } } - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { if (this->type == 2) { if (this->unk_30E == 1) { this->actionFunc = func_80A5344C; @@ -736,7 +736,7 @@ void func_80A5475C(EnHeishi2* this, PlayState* play) { ((yawDiff = ABS((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y)), !(this->actor.xzDistToPlayer > 120.0f)) && (yawDiff < 0x4300))) { - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } } @@ -806,11 +806,11 @@ s32 EnHeishi2_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3 break; default: if (limbIndex == 9) { - rot->x = rot->x + this->unk_26C.y; + rot->x += this->unk_26C.y; } if (limbIndex == 16) { - rot->x = rot->x + this->unk_260.y; - rot->z = rot->z + this->unk_260.z; + rot->x += this->unk_260.y; + rot->z += this->unk_260.z; } } @@ -828,7 +828,7 @@ void EnHeishi2_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* void EnHeishi2_DrawKingGuard(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_en_heishi2.c", 1772); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_heishi2.c", 1774), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_heishi2.c", 1774), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gHeishiKingGuardDL); @@ -852,7 +852,7 @@ void EnHeishi2_Draw(Actor* thisx, PlayState* play) { Matrix_Put(&this->mtxf_330); Matrix_Translate(-570.0f, 0.0f, 0.0f, MTXMODE_APPLY); Matrix_RotateZ(DEG_TO_RAD(70), MTXMODE_APPLY); - mtx = Matrix_NewMtx(play->state.gfxCtx, "../z_en_heishi2.c", 1820) - 7; + mtx = MATRIX_NEW(play->state.gfxCtx, "../z_en_heishi2.c", 1820) - 7; gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[linkChildObjectSlot].segment); gSPSegment(POLY_OPA_DISP++, 0x0D, mtx); diff --git a/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c b/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c index 583adeeed6..0b4007e855 100644 --- a/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c +++ b/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c @@ -33,7 +33,7 @@ ActorInit En_Heishi4_InitVars = { /**/ EnHeishi4_Draw, }; -static u32 sFaceReactionSets[] = { 6, 7 }; +static u32 sMaskReactionSets[] = { MASK_REACTION_SET_HEISHI4_1, MASK_REACTION_SET_HEISHI4_2 }; static ColliderCylinderInit sCylinderInit = { { @@ -125,8 +125,8 @@ void func_80A563BC(EnHeishi4* this, PlayState* play) { if (reactionOffset >= 3) { reactionOffset = 1; } - if (Text_GetFaceReaction(play, sFaceReactionSets[reactionOffset]) != 0) { - this->actor.textId = Text_GetFaceReaction(play, sFaceReactionSets[reactionOffset]); + if (MaskReaction_GetTextId(play, sMaskReactionSets[reactionOffset]) != 0) { + this->actor.textId = MaskReaction_GetTextId(play, sMaskReactionSets[reactionOffset]); this->unk_2B4 = 1; this->actionFunc = func_80A56B40; } else { @@ -185,8 +185,8 @@ void func_80A56614(EnHeishi4* this, PlayState* play) { if (reactionOffset >= 3) { reactionOffset = 1; } - if (Text_GetFaceReaction(play, sFaceReactionSets[reactionOffset]) != 0) { - this->actor.textId = Text_GetFaceReaction(play, sFaceReactionSets[reactionOffset]); + if (MaskReaction_GetTextId(play, sMaskReactionSets[reactionOffset]) != 0) { + this->actor.textId = MaskReaction_GetTextId(play, sMaskReactionSets[reactionOffset]); this->unk_2B4 = 1; this->actionFunc = func_80A56B40; return; @@ -241,7 +241,7 @@ void func_80A56874(EnHeishi4* this, PlayState* play) { if (this->unk_284 != 0) { SkelAnime_Update(&this->skelAnime); } - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { if (this->unk_284 == 0) { this->actionFunc = func_80A5673C; @@ -249,7 +249,7 @@ void func_80A56874(EnHeishi4* this, PlayState* play) { this->actionFunc = func_80A56900; } } else { - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } } @@ -300,7 +300,7 @@ void func_80A56B40(EnHeishi4* this, PlayState* play) { if (reactionOffset >= 3) { reactionOffset = 1; } - if (Text_GetFaceReaction(play, sFaceReactionSets[reactionOffset]) != 0) { + if (MaskReaction_GetTextId(play, sMaskReactionSets[reactionOffset]) != 0) { if (this->unk_2B4 == 0) { if ((this->type == HEISHI4_AT_KAKRIKO_ENTRANCE) || (this->type == HEISHI4_AT_IMPAS_HOUSE)) { this->actionFunc = func_80A563BC; @@ -323,7 +323,7 @@ void func_80A56B40(EnHeishi4* this, PlayState* play) { } } } - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { if ((this->type == HEISHI4_AT_KAKRIKO_ENTRANCE) || (this->type == HEISHI4_AT_IMPAS_HOUSE)) { this->unk_284 = 1; this->actionFunc = func_80A563BC; @@ -334,7 +334,7 @@ void func_80A56B40(EnHeishi4* this, PlayState* play) { return; } } - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } void EnHeishi4_Update(Actor* thisx, PlayState* play) { diff --git a/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c b/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c index d079088c5b..c9007ebd9b 100644 --- a/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c +++ b/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c @@ -330,7 +330,7 @@ void EnHintnuts_CheckProximity(EnHintnuts* this, PlayState* play) { } if (this->actor.xzDistToPlayer < 130.0f) { this->actor.textId = this->textIdCopy; - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } } } @@ -371,7 +371,7 @@ void EnHintnuts_Run(EnHintnuts* this, PlayState* play) { } this->actor.shape.rot.y = this->actor.world.rot.y + 0x8000; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { EnHintnuts_SetupTalk(this); } else if (this->animFlagAndTimer == 0 && Actor_WorldDistXZToPoint(&this->actor, &this->actor.home.pos) < 20.0f && fabsf(this->actor.world.pos.y - this->actor.home.pos.y) < 2.0f) { @@ -461,7 +461,7 @@ void EnHintnuts_Freeze(EnHintnuts* this, PlayState* play) { void EnHintnuts_ColliderCheck(EnHintnuts* this, PlayState* play) { if (this->collider.base.acFlags & AC_HIT) { this->collider.base.acFlags &= ~AC_HIT; - Actor_SetDropFlag(&this->actor, &this->collider.info, true); + Actor_SetDropFlag(&this->actor, &this->collider.elem, true); if (this->collider.base.ac->id != ACTOR_EN_NUTSBALL) { EnHintnuts_SetupBurrow(this); } else { 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 7518c26526..e55c65d345 100644 --- a/src/overlays/actors/ovl_En_Holl/z_en_holl.c +++ b/src/overlays/actors/ovl_En_Holl/z_en_holl.c @@ -433,7 +433,7 @@ void EnHoll_Draw(Actor* thisx, PlayState* play) { Matrix_RotateY(M_PI, MTXMODE_APPLY); } - gSPMatrix(gfxP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_holl.c", 824), + gSPMatrix(gfxP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_holl.c", 824), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(gfxP++, 0, 0, 0, 0, 0, (u8)this->planeAlpha); gSPDisplayList(gfxP++, sPlaneDL); 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 2a22881c73..1c402f3c01 100644 --- a/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.c +++ b/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.c @@ -505,7 +505,7 @@ void EnHonotrap_DrawEye(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeState])); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_honotrap.c", 987), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_honotrap.c", 987), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gEyeSwitch2DL); @@ -528,7 +528,7 @@ void EnHonotrap_DrawFlame(Actor* thisx, PlayState* play) { gDPSetEnvColor(POLY_XLU_DISP++, 255, 0, 0, 0); Matrix_RotateY(BINANG_TO_RAD((s16)(Camera_GetCamDirYaw(GET_ACTIVE_CAM(play)) - this->actor.shape.rot.y + 0x8000)), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_honotrap.c", 1024), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_honotrap.c", 1024), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffFire1DL); 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 093348198c..351b29267a 100644 --- a/src/overlays/actors/ovl_En_Horse/z_en_horse.c +++ b/src/overlays/actors/ovl_En_Horse/z_en_horse.c @@ -560,17 +560,17 @@ void EnHorse_UpdateIngoRaceInfo(EnHorse* this, PlayState* play, RaceInfo* raceIn if (distSq < SQ(300.0f)) { playerDist = this->actor.xzDistToPlayer; - if (playerDist < 130.0f || this->jntSph.elements[0].info.ocElemFlags & OCELEM_HIT) { + if (playerDist < 130.0f || this->jntSph.elements[0].base.ocElemFlags & OCELEM_HIT) { if (Math_SinS(this->actor.yawTowardsPlayer - this->actor.world.rot.y) > 0.0f) { - this->actor.world.rot.y = this->actor.world.rot.y - 280; + this->actor.world.rot.y -= 280; } else { - this->actor.world.rot.y = this->actor.world.rot.y + 280; + this->actor.world.rot.y += 280; } } else if (playerDist < 300.0f) { if (Math_SinS(this->actor.yawTowardsPlayer - this->actor.world.rot.y) > 0.0f) { - this->actor.world.rot.y = this->actor.world.rot.y + 280; + this->actor.world.rot.y += 280; } else { - this->actor.world.rot.y = this->actor.world.rot.y - 280; + this->actor.world.rot.y -= 280; } } this->actor.shape.rot.y = this->actor.world.rot.y; @@ -722,7 +722,8 @@ s32 EnHorse_PlayerCanMove(EnHorse* this, PlayState* play) { if ((player->stateFlags1 & PLAYER_STATE1_0) || func_8002DD78(GET_PLAYER(play)) == 1 || (player->stateFlags1 & PLAYER_STATE1_20) || ((this->stateFlags & ENHORSE_FLAG_19) && !this->inRace) || - this->action == ENHORSE_ACT_HBA || player->actor.flags & ACTOR_FLAG_8 || play->csCtx.state != CS_STATE_IDLE) { + this->action == ENHORSE_ACT_HBA || player->actor.flags & ACTOR_FLAG_TALK || + play->csCtx.state != CS_STATE_IDLE) { return false; } return true; @@ -749,7 +750,7 @@ void EnHorse_Init(Actor* thisx, PlayState* play2) { this->riderPos = this->actor.world.pos; this->noInputTimer = 0; this->noInputTimerMax = 0; - this->riderPos.y = this->riderPos.y + 70.0f; + this->riderPos.y += 70.0f; if (DREG(4) == 0) { DREG(4) = 70; @@ -1171,7 +1172,7 @@ void EnHorse_MountedTurn(EnHorse* this, PlayState* play) { EnHorse_StartReversingInterruptable(this); } else if (Math_CosS(stickAngle) <= 0.7071) { // cos(45 degrees) clampedYaw = CLAMP(stickAngle, -800.0f, 800.0f); - this->actor.world.rot.y = this->actor.world.rot.y + clampedYaw; + this->actor.world.rot.y += clampedYaw; this->actor.shape.rot.y = this->actor.world.rot.y; } else { EnHorse_StartWalkingInterruptable(this); @@ -1537,7 +1538,7 @@ void EnHorse_Reverse(EnHorse* this, PlayState* play) { } else if (stickMag < 10.0f) { stickAngle = -0x7FFF; } - } else if (player->actor.flags & ACTOR_FLAG_8) { + } else if (player->actor.flags & ACTOR_FLAG_TALK) { EnHorse_StartMountedIdleResetAnim(this); this->actor.speed = 0.0f; return; @@ -1747,7 +1748,7 @@ void EnHorse_Inactive(EnHorse* this, PlayState* play2) { // Focus the camera on Epona Camera_SetViewParam(play->cameraPtrs[CAM_ID_MAIN], CAM_VIEW_TARGET, &this->actor); - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_TURN_AROUND); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_TURN_AROUND); Camera_SetCameraData(play->cameraPtrs[CAM_ID_MAIN], 4, NULL, NULL, 0x51, 0, 0); } } @@ -1821,7 +1822,7 @@ void EnHorse_Idle(EnHorse* this, PlayState* play) { this->followTimer = 0; EnHorse_SetFollowAnimation(this, play); Camera_SetViewParam(play->cameraPtrs[CAM_ID_MAIN], CAM_VIEW_TARGET, &this->actor); - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_TURN_AROUND); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_TURN_AROUND); Camera_SetCameraData(play->cameraPtrs[CAM_ID_MAIN], 4, NULL, NULL, 0x51, 0, 0); } } else { @@ -1930,7 +1931,7 @@ void EnHorse_FollowPlayer(EnHorse* this, PlayState* play) { this->stateFlags &= ~ENHORSE_LAND2_SOUND; this->unk_21C = this->unk_228; } else if (this->stateFlags & ENHORSE_TURNING_TO_PLAYER) { - this->actor.world.rot.y = this->actor.world.rot.y + this->followPlayerTurnSpeed; + this->actor.world.rot.y += this->followPlayerTurnSpeed; this->actor.shape.rot.y = this->actor.world.rot.y; if (this->curFrame > 25.0f) { if (!(this->stateFlags & ENHORSE_LAND2_SOUND)) { @@ -2754,7 +2755,7 @@ void EnHorse_BridgeJumpInit(EnHorse* this, PlayState* play) { this->stateFlags |= ENHORSE_JUMPING; this->animationIdx = ENHORSE_ANIM_HIGH_JUMP; y = this->skin.skelAnime.jointTable->y; - y = y * 0.01f; + y *= 0.01f; this->bridgeJumpStart = this->actor.world.pos; this->bridgeJumpStart.y += y; this->bridgeJumpYVel = @@ -3105,7 +3106,7 @@ void EnHorse_BgCheckSlowMoving(EnHorse* this, PlayState* play) { yOffset = 40.0f; } Math_Vec3f_Copy(&start, &this->actor.world.pos); - start.y = start.y + yOffset; + start.y += yOffset; Math_Vec3f_Copy(&end, &start); end.x += 30.0f * Math_SinS(this->actor.world.rot.y); @@ -3369,7 +3370,7 @@ void EnHorse_RegenBoost(EnHorse* this, PlayState* play) { this->boostTimer++; if (this->boostRegenTime <= 0) { - this->numBoosts = this->numBoosts + 1; + this->numBoosts++; if (!EN_HORSE_CHECK_4(this)) { Audio_PlaySfxGeneral(NA_SE_SY_CARROT_RECOVER, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, @@ -3532,7 +3533,7 @@ void EnHorse_Update(Actor* thisx, PlayState* play2) { this->rider->shape.rot.y = thisx->shape.rot.y; } } - if (this->jntSph.elements[0].info.ocElemFlags & OCELEM_HIT) { + if (this->jntSph.elements[0].base.ocElemFlags & OCELEM_HIT) { if (thisx->speed > 6.0f) { thisx->speed -= 1.0f; } @@ -3696,9 +3697,9 @@ void EnHorse_PostDraw(Actor* thisx, PlayState* play, Skin* skin) { if (!(this->stateFlags & ENHORSE_CALC_RIDER_POS)) { Skin_GetLimbPos(skin, 30, &riderOffset, &this->riderPos); - this->riderPos.x = this->riderPos.x - this->actor.world.pos.x; - this->riderPos.y = this->riderPos.y - this->actor.world.pos.y; - this->riderPos.z = this->riderPos.z - this->actor.world.pos.z; + this->riderPos.x -= this->actor.world.pos.x; + this->riderPos.y -= this->actor.world.pos.y; + this->riderPos.z -= this->actor.world.pos.z; } else { this->stateFlags &= ~ENHORSE_CALC_RIDER_POS; } @@ -3711,7 +3712,7 @@ void EnHorse_PostDraw(Actor* thisx, PlayState* play, Skin* skin) { if (Rand_ZeroOne() < 0.6f) { this->dustFlags |= 1; Skin_GetLimbPos(skin, 28, &hoofOffset, &this->frontRightHoof); - this->frontRightHoof.y = this->frontRightHoof.y - 5.0f; + this->frontRightHoof.y -= 5.0f; } } else { if (this->action == ENHORSE_ACT_STOPPING) { 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 6448c69159..8c50ffc8de 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 @@ -169,7 +169,7 @@ void EnHorseLinkChild_Init(Actor* thisx, PlayState* play) { Actor_Kill(&this->actor); return; } - this->unk_2A0 = GET_EVENTCHKINF(EVENTCHKINF_16); + this->unk_2A0 = GET_EVENTCHKINF(EVENTCHKINF_CAN_LEARN_EPONAS_SONG); func_80A69EC0(this); } else { func_80A69EC0(this); @@ -358,17 +358,17 @@ void func_80A6A068(EnHorseLinkChild* this, PlayState* play) { return; } - if ((GET_EVENTCHKINF(EVENTCHKINF_16) && R_EPONAS_SONG_PLAYED) || + if ((GET_EVENTCHKINF(EVENTCHKINF_CAN_LEARN_EPONAS_SONG) && R_EPONAS_SONG_PLAYED) || ((play->sceneId == SCENE_LON_LON_RANCH) && (gSaveContext.save.cutsceneIndex == 0xFFF1))) { func_80A6A4DC(this); } else { - this->unk_2A0 = GET_EVENTCHKINF(EVENTCHKINF_16); + this->unk_2A0 = GET_EVENTCHKINF(EVENTCHKINF_CAN_LEARN_EPONAS_SONG); } newAnimationIdx = this->animationIdx; animationEnded = SkelAnime_Update(&this->skin.skelAnime); if (animationEnded || (this->animationIdx == 1) || (this->animationIdx == 0)) { - if (GET_EVENTCHKINF(EVENTCHKINF_15)) { + if (GET_EVENTCHKINF(EVENTCHKINF_TALKED_TO_CHILD_MALON_AT_RANCH)) { distFromHome = Math3D_Vec3f_DistXYZ(&this->actor.world.pos, &this->actor.home.pos); distLinkFromHome = Math3D_Vec3f_DistXYZ(&player->actor.world.pos, &this->actor.home.pos); if (distLinkFromHome > 250.0f) { diff --git a/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c b/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c index 6847e02998..01a1ebc249 100644 --- a/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c +++ b/src/overlays/actors/ovl_En_Horse_Normal/z_en_horse_normal.c @@ -720,7 +720,7 @@ void EnHorseNormal_Draw(Actor* thisx, PlayState* play) { temp_f0_4 = (1.0f - (distFromGround * 0.01f)) * this->actor.shape.shadowScale; Matrix_Scale(this->actor.scale.x * temp_f0_4, 1.0f, this->actor.scale.z * temp_f0_4, MTXMODE_APPLY); Matrix_RotateY(BINANG_TO_RAD(cloneRotY), MTXMODE_APPLY); - mtx2 = Matrix_NewMtx(play->state.gfxCtx, "../z_en_horse_normal.c", 2329); + mtx2 = MATRIX_NEW(play->state.gfxCtx, "../z_en_horse_normal.c", 2329); if (mtx2 != NULL) { gSPMatrix(POLY_XLU_DISP++, mtx2, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gHorseShadowDL); 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 ac1c6c8633..681ea2b558 100644 --- a/src/overlays/actors/ovl_En_Hs/z_en_hs.c +++ b/src/overlays/actors/ovl_En_Hs/z_en_hs.c @@ -101,7 +101,7 @@ void EnHs_Destroy(Actor* thisx, PlayState* play) { s32 func_80A6E53C(EnHs* this, PlayState* play, u16 textId, EnHsActionFunc actionFunc) { s16 yawDiff; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { func_80A6E3A0(this, actionFunc); return 1; } @@ -110,7 +110,7 @@ s32 func_80A6E53C(EnHs* this, PlayState* play, u16 textId, EnHsActionFunc action yawDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; if ((ABS(yawDiff) <= 0x2150) && (this->actor.xzDistToPlayer < 100.0f)) { this->unk_2A8 |= 1; - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } return 0; @@ -205,7 +205,7 @@ void func_80A6E9AC(EnHs* this, PlayState* play) { Player* player = GET_PLAYER(play); s16 yawDiff; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { if (func_8002F368(play) == EXCH_ITEM_COJIRO) { player->actor.textId = 0x10B2; func_80A6E3A0(this, func_80A6E8CC); @@ -221,7 +221,7 @@ void func_80A6E9AC(EnHs* this, PlayState* play) { yawDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; this->actor.textId = 0x10B1; if ((ABS(yawDiff) <= 0x2150) && (this->actor.xzDistToPlayer < 100.0f)) { - func_8002F298(&this->actor, play, 100.0f, EXCH_ITEM_COJIRO); + Actor_OfferTalkExchangeEquiCylinder(&this->actor, play, 100.0f, EXCH_ITEM_COJIRO); } } } diff --git a/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c b/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c index d7bc8d45c9..1c065cd1c4 100644 --- a/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c +++ b/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c @@ -73,7 +73,7 @@ void EnHs2_Destroy(Actor* thisx, PlayState* play) { } s32 func_80A6F0B4(EnHs2* this, PlayState* play, u16 textId, EnHs2ActionFunc actionFunc) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = actionFunc; return 1; } @@ -82,7 +82,7 @@ s32 func_80A6F0B4(EnHs2* this, PlayState* play, u16 textId, EnHs2ActionFunc acti if (ABS((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y)) < 0x2151 && this->actor.xzDistToPlayer < 100.0f) { this->unk_2A8 |= 0x1; - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } return 0; } @@ -95,9 +95,8 @@ void func_80A6F164(EnHs2* this, PlayState* play) { } void func_80A6F1A4(EnHs2* this, PlayState* play) { - u16 textId; + u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_CARPENTERS_SON); - textId = Text_GetFaceReaction(play, 9); if (textId == 0) { textId = 0x5069; } diff --git a/src/overlays/actors/ovl_En_Hy/z_en_hy.c b/src/overlays/actors/ovl_En_Hy/z_en_hy.c index c7fc427570..b0ae4a2353 100644 --- a/src/overlays/actors/ovl_En_Hy/z_en_hy.c +++ b/src/overlays/actors/ovl_En_Hy/z_en_hy.c @@ -417,7 +417,7 @@ void func_80A6F7CC(EnHy* this, PlayState* play, s32 getItemId) { u16 EnHy_GetTextId(PlayState* play, Actor* thisx) { Player* player = GET_PLAYER(play); EnHy* this = (EnHy*)thisx; - u16 textId = Text_GetFaceReaction(play, (this->actor.params & 0x7F) + 37); + u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_37 + (this->actor.params & 0x7F)); if (textId != 0) { if ((this->actor.params & 0x7F) == ENHY_TYPE_BOJ_5) { @@ -461,7 +461,7 @@ u16 EnHy_GetTextId(PlayState* play, Actor* thisx) { return GET_INFTABLE(INFTABLE_C3) ? 0x701A : 0x7047; } else if (GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) { return 0x701A; - } else if (GET_EVENTCHKINF(EVENTCHKINF_10)) { + } else if (GET_EVENTCHKINF(EVENTCHKINF_TALKED_TO_MALON_FIRST_TIME)) { return 0x701B; } else if (GET_INFTABLE(INFTABLE_C2)) { return 0x701C; @@ -508,7 +508,8 @@ u16 EnHy_GetTextId(PlayState* play, Actor* thisx) { return GET_EVENTCHKINF(EVENTCHKINF_80) ? 0x7046 : (GET_INFTABLE(INFTABLE_CD) ? 0x7019 : 0x7018); } case ENHY_TYPE_CNE_11: - return GET_INFTABLE(INFTABLE_8B) ? (GET_INFTABLE(INFTABLE_CC) ? 0x7014 : 0x70A4) : 0x7014; + return GET_INFTABLE(INFTABLE_MALON_SPAWNED_AT_HYRULE_CASTLE) ? (GET_INFTABLE(INFTABLE_CC) ? 0x7014 : 0x70A4) + : 0x7014; case ENHY_TYPE_BOJ_12: if (play->sceneId == SCENE_KAKARIKO_VILLAGE) { return !IS_DAY ? 0x5084 : 0x5083; @@ -1173,7 +1174,7 @@ void EnHy_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Gfx* EnHy_SetEnvColor(GraphicsContext* play, u8 envR, u8 envG, u8 envB, u8 envA) { Gfx* dList; - dList = Graph_Alloc(play, 2 * sizeof(Gfx)); + dList = GRAPH_ALLOC(play, 2 * sizeof(Gfx)); gDPSetEnvColor(dList, envR, envG, envB, envA); gSPEndDisplayList(dList + 1); diff --git a/src/overlays/actors/ovl_En_Ice_Hono/z_en_ice_hono.c b/src/overlays/actors/ovl_En_Ice_Hono/z_en_ice_hono.c index 767be3ef1a..78e09df5e1 100644 --- a/src/overlays/actors/ovl_En_Ice_Hono/z_en_ice_hono.c +++ b/src/overlays/actors/ovl_En_Ice_Hono/z_en_ice_hono.c @@ -387,7 +387,7 @@ void EnIceHono_Draw(Actor* thisx, PlayState* play) { Matrix_RotateY(BINANG_TO_RAD((s16)(Camera_GetCamDirYaw(GET_ACTIVE_CAM(play)) - this->actor.shape.rot.y + 0x8000)), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_ice_hono.c", 718), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_ice_hono.c", 718), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffFire1DL); 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 72495a3eca..9727a18135 100644 --- a/src/overlays/actors/ovl_En_Ik/z_en_ik.c +++ b/src/overlays/actors/ovl_En_Ik/z_en_ik.c @@ -731,7 +731,7 @@ void EnIk_UpdateDamage(EnIk* this, PlayState* play) { sparksPos = this->actor.world.pos; sparksPos.y += 50.0f; - Actor_SetDropFlag(&this->actor, &this->bodyCollider.info, true); + Actor_SetDropFlag(&this->actor, &this->bodyCollider.elem, true); this->damageEffect = this->actor.colChkInfo.damageEffect; this->bodyCollider.base.acFlags &= ~AC_HIT; @@ -861,7 +861,7 @@ Gfx* EnIk_SetPrimEnvColors(GraphicsContext* gfxCtx, u8 primR, u8 primG, u8 primB Gfx* displayList; Gfx* displayListHead; - displayList = Graph_Alloc(gfxCtx, 4 * sizeof(Gfx)); + displayList = GRAPH_ALLOC(gfxCtx, 4 * sizeof(Gfx)); displayListHead = displayList; gDPPipeSync(displayListHead++); @@ -932,7 +932,7 @@ void EnIk_PostLimbDrawEnemy(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* BODYBREAK_OBJECT_SLOT_DEFAULT); } if (limbIndex == IRON_KNUCKLE_LIMB_HELMET_ARMOR) { - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_ik_inFight.c", 1217), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_ik_inFight.c", 1217), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->actor.params != IK_TYPE_NABOORU) { gSPDisplayList(POLY_XLU_DISP++, gIronKnuckleHelmetMarkingDL); @@ -971,20 +971,20 @@ void EnIk_PostLimbDrawEnemy(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* switch (limbIndex) { case IRON_KNUCKLE_LIMB_UPPER_LEFT_PAULDRON: - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_ik_inFight.c", 1270), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_ik_inFight.c", 1270), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_ik_DL_016F88); break; case IRON_KNUCKLE_LIMB_UPPER_RIGHT_PAULDRON: - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_ik_inFight.c", 1275), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_ik_inFight.c", 1275), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_ik_DL_016EE8); break; case IRON_KNUCKLE_LIMB_CHEST_ARMOR_FRONT: if (!(this->drawArmorFlag & ARMOR_BROKEN)) { - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_ik_inFight.c", 1281), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_ik_inFight.c", 1281), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gIronKnuckleArmorRivetAndSymbolDL); } @@ -992,7 +992,7 @@ void EnIk_PostLimbDrawEnemy(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* case IRON_KNUCKLE_LIMB_CHEST_ARMOR_BACK: if (!(this->drawArmorFlag & ARMOR_BROKEN)) { - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_ik_inFight.c", 1288), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_ik_inFight.c", 1288), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_ik_DL_016CD8); } @@ -1261,20 +1261,20 @@ void EnIk_PostLimbDrawDefeat(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* EnIk* this = (EnIk*)thisx; if (EnIk_GetAnimCurFrame(&this->actor) < 30.0f) { - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_ik_inAwake.c", 267), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_ik_inAwake.c", 267), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_ik_DL_016D88); } } break; case IRON_KNUCKLE_DEFEAT_LIMB_UPPER_LEFT_PAULDRON: - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_ik_inAwake.c", 274), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_ik_inAwake.c", 274), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_ik_DL_016F88); break; case IRON_KNUCKLE_DEFEAT_LIMB_UPPER_RIGHT_PAULDRON: - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_ik_inAwake.c", 280), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_ik_inAwake.c", 280), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_ik_DL_016EE8); break; @@ -1283,7 +1283,7 @@ void EnIk_PostLimbDrawDefeat(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* EnIk* this = (EnIk*)thisx; if (EnIk_GetAnimCurFrame(&this->actor) < 30.0f) { - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_ik_inAwake.c", 288), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_ik_inAwake.c", 288), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gIronKnuckleArmorRivetAndSymbolDL); } @@ -1293,7 +1293,7 @@ void EnIk_PostLimbDrawDefeat(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* EnIk* this = (EnIk*)thisx; if (EnIk_GetAnimCurFrame(&this->actor) < 30.0f) { - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_ik_inAwake.c", 297), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_ik_inAwake.c", 297), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_ik_DL_016CD8); } @@ -1434,31 +1434,31 @@ void EnIk_PostLimbDrawIntro(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* switch (limbIndex) { case IRON_KNUCKLE_LIMB_HELMET_ARMOR: - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_ik_inConfrontion.c", 575), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_ik_inConfrontion.c", 575), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_ik_DL_016D88); break; case IRON_KNUCKLE_LIMB_UPPER_LEFT_PAULDRON: - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_ik_inConfrontion.c", 581), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_ik_inConfrontion.c", 581), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_ik_DL_016F88); break; case IRON_KNUCKLE_LIMB_UPPER_RIGHT_PAULDRON: - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_ik_inConfrontion.c", 587), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_ik_inConfrontion.c", 587), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_ik_DL_016EE8); break; case IRON_KNUCKLE_LIMB_CHEST_ARMOR_FRONT: - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_ik_inConfrontion.c", 593), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_ik_inConfrontion.c", 593), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gIronKnuckleArmorRivetAndSymbolDL); break; case IRON_KNUCKLE_LIMB_CHEST_ARMOR_BACK: - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_ik_inConfrontion.c", 599), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_ik_inConfrontion.c", 599), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_ik_DL_016CD8); break; diff --git a/src/overlays/actors/ovl_En_In/z_en_in.c b/src/overlays/actors/ovl_En_In/z_en_in.c index 1a14d90972..c872d17a4a 100644 --- a/src/overlays/actors/ovl_En_In/z_en_in.c +++ b/src/overlays/actors/ovl_En_In/z_en_in.c @@ -56,9 +56,7 @@ static ColliderCylinderInit sCylinderInit = { { 18, 46, 0, { 0, 0, 0 } }, }; -static CollisionCheckInfoInit2 sColChkInfoInit = { - 0, 0, 0, 0, MASS_IMMOVABLE, -}; +static CollisionCheckInfoInit2 sColChkInfoInit = { 0, 0, 0, 0, MASS_IMMOVABLE }; typedef enum { /* 0 */ ENIN_ANIM_0, @@ -126,10 +124,10 @@ u16 EnIn_GetTextIdChild(PlayState* play) { u16 EnIn_GetTextIdAdult(PlayState* play) { Player* player = GET_PLAYER(play); - u16 faceReaction = Text_GetFaceReaction(play, 25); + u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_INGO); - if (faceReaction != 0) { - return faceReaction; + if (textId != 0) { + return textId; } if (GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) { if (IS_DAY) { @@ -178,10 +176,10 @@ u16 EnIn_GetTextIdAdult(PlayState* play) { } u16 EnIn_GetTextId(PlayState* play, Actor* thisx) { - u16 faceReaction = Text_GetFaceReaction(play, 25); + u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_INGO); - if (faceReaction != 0) { - return faceReaction; + if (textId != 0) { + return textId; } if (!LINK_IS_ADULT) { return EnIn_GetTextIdChild(play); @@ -937,7 +935,7 @@ void EnIn_Update(Actor* thisx, PlayState* play) { func_80A79AB4(this, play); if ((gSaveContext.subTimerSeconds < 6) && (gSaveContext.subTimerState != SUBTIMER_STATE_OFF) && this->interactInfo.talkState == NPC_TALK_STATE_IDLE) { - if (Actor_ProcessTalkRequest(&this->actor, play)) {} + if (Actor_TalkOfferAccepted(&this->actor, play)) {} } else { Npc_UpdateTalking(play, &this->actor, &this->interactInfo.talkState, ((this->actor.targetMode == 6) ? 80.0f : 320.0f) + this->collider.dim.radius, 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 63076ef647..c70a3f7579 100644 --- a/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c +++ b/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c @@ -356,7 +356,7 @@ void EnIshi_Wait(EnIshi* this, PlayState* play) { EnIshi_SpawnBugs(this, play); } } else if ((this->collider.base.acFlags & AC_HIT) && (type == ROCK_SMALL) && - this->collider.info.acHitInfo->toucher.dmgFlags & (DMG_HAMMER | DMG_EXPLOSIVE)) { + this->collider.elem.acHitElem->toucher.dmgFlags & (DMG_HAMMER | DMG_EXPLOSIVE)) { EnIshi_DropCollectible(this, play); SfxSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, sBreakSfxDurations[type], sBreakSfxIds[type]); sFragmentSpawnFuncs[type](this, play); @@ -488,7 +488,7 @@ void EnIshi_DrawLarge(EnIshi* this, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_en_ishi.c", 1050); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_ishi.c", 1055), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_ishi.c", 1055), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255); gSPDisplayList(POLY_OPA_DISP++, gSilverRockDL); diff --git a/src/overlays/actors/ovl_En_Jj/z_en_jj.c b/src/overlays/actors/ovl_En_Jj/z_en_jj.c index 383dd7fa5d..5411cab0db 100644 --- a/src/overlays/actors/ovl_En_Jj/z_en_jj.c +++ b/src/overlays/actors/ovl_En_Jj/z_en_jj.c @@ -218,7 +218,7 @@ void EnJj_BeginCutscene(EnJj* this, PlayState* play) { play->csCtx.script = D_80A88164; gSaveContext.cutsceneTrigger = 1; DynaPoly_DisableCollision(play, &play->colCtx.dyna, bodyCollisionActor->bgId); - func_8005B1A4(GET_ACTIVE_CAM(play)); + Camera_SetFinishedFlag(GET_ACTIVE_CAM(play)); SET_EVENTCHKINF(EVENTCHKINF_3A); Sfx_PlaySfxCentered(NA_SE_SY_CORRECT_CHIME); } 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 ba9d10be7e..9f1766c904 100644 --- a/src/overlays/actors/ovl_En_Js/z_en_js.c +++ b/src/overlays/actors/ovl_En_Js/z_en_js.c @@ -80,7 +80,7 @@ void EnJs_Destroy(Actor* thisx, PlayState* play) { u8 func_80A88F64(EnJs* this, PlayState* play, u16 textId) { s16 yawDiff; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { return 1; } else { this->actor.textId = textId; @@ -88,7 +88,7 @@ u8 func_80A88F64(EnJs* this, PlayState* play, u16 textId) { if (ABS(yawDiff) <= 0x1800 && this->actor.xzDistToPlayer < 100.0f) { this->unk_284 |= 1; - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } return 0; } @@ -108,10 +108,10 @@ void func_80A89078(EnJs* this, PlayState* play) { } void func_80A890C0(EnJs* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { En_Js_SetupAction(this, func_80A89078); } else { - func_8002F2CC(&this->actor, play, 1000.0f); + Actor_OfferTalk(&this->actor, play, 1000.0f); } } diff --git a/src/overlays/actors/ovl_En_Jsjutan/z_en_jsjutan.c b/src/overlays/actors/ovl_En_Jsjutan/z_en_jsjutan.c index 3dde032f65..f8895308c9 100644 --- a/src/overlays/actors/ovl_En_Jsjutan/z_en_jsjutan.c +++ b/src/overlays/actors/ovl_En_Jsjutan/z_en_jsjutan.c @@ -408,7 +408,7 @@ void EnJsjutan_Draw(Actor* thisx, PlayState* play2) { Matrix_Translate(thisx->world.pos.x, 3.0f, thisx->world.pos.z, MTXMODE_NEW); Matrix_Scale(thisx->scale.x, 1.0f, thisx->scale.z, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_jsjutan.c", 782), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_jsjutan.c", 782), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); // Draws the carpet's shadow texture. @@ -427,7 +427,7 @@ void EnJsjutan_Draw(Actor* thisx, PlayState* play2) { Matrix_Translate(thisx->world.pos.x, this->unk_168 + 3.0f, thisx->world.pos.z, MTXMODE_NEW); Matrix_Scale(thisx->scale.x, thisx->scale.y, thisx->scale.z, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_jsjutan.c", 805), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_jsjutan.c", 805), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); // Draws the carpet's texture. gSPDisplayList(POLY_OPA_DISP++, sCarpetMaterialDL); 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 9b4e6a50f1..a4b691936f 100644 --- a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c +++ b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c @@ -198,7 +198,7 @@ void func_80A8F75C(EnKakasi* this, PlayState* play) { func_80A8F28C(this); SkelAnime_Update(&this->skelanime); this->subCamId = CAM_ID_NONE; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { if (this->unk_196 == TEXT_STATE_EVENT) { this->actionFunc = func_80A8F9C8; } else { @@ -226,7 +226,7 @@ void func_80A8F75C(EnKakasi* this, PlayState* play) { player->stateFlags2 |= PLAYER_STATE2_23; } } - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } } } @@ -264,7 +264,7 @@ void func_80A8F9C8(EnKakasi* this, PlayState* play) { if (this->unk_196 == Message_GetState(&play->msgCtx) && Message_ShouldAdvance(play)) { if (this->subCamId != CAM_ID_NONE) { - func_8005B1A4(play->cameraPtrs[this->subCamId]); + Camera_SetFinishedFlag(play->cameraPtrs[this->subCamId]); } this->subCamId = OnePointCutscene_Init(play, 2270, -99, &this->actor, CAM_ID_MAIN); play->msgCtx.msgMode = MSGMODE_PAUSED; @@ -296,7 +296,7 @@ void func_80A8FAA4(EnKakasi* this, PlayState* play) { OnePointCutscene_EndCutscene(play, this->subCamId); this->subCamId = CAM_ID_NONE; this->subCamId = OnePointCutscene_Init(play, 2260, -99, &this->actor, CAM_ID_MAIN); - func_8005B1A4(play->cameraPtrs[this->subCamId]); + Camera_SetFinishedFlag(play->cameraPtrs[this->subCamId]); } } @@ -305,7 +305,7 @@ void func_80A8FBB8(EnKakasi* this, PlayState* play) { SkelAnime_Update(&this->skelanime); if (this->unk_196 == Message_GetState(&play->msgCtx) && Message_ShouldAdvance(play)) { - func_8005B1A4(play->cameraPtrs[this->subCamId]); + Camera_SetFinishedFlag(play->cameraPtrs[this->subCamId]); Message_CloseTextbox(play); Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_7); this->actionFunc = func_80A8F660; diff --git a/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c b/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c index fc566a094e..0c2e50df62 100644 --- a/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c +++ b/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c @@ -212,7 +212,7 @@ void func_80A91348(EnKakasi3* this, PlayState* play) { func_80A90E28(this); SkelAnime_Update(&this->skelAnime); this->subCamId = CAM_ID_NONE; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { if (!this->unk_194) { if (this->unk_1A8 == 0) { this->actionFunc = func_80A91284; @@ -260,7 +260,7 @@ void func_80A91348(EnKakasi3* this, PlayState* play) { player->stateFlags2 |= PLAYER_STATE2_23; } } - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } } } @@ -286,7 +286,7 @@ void func_80A91620(EnKakasi3* this, PlayState* play) { this->subCamId = CAM_ID_NONE; } if (this->subCamId != CAM_ID_NONE) { - func_8005B1A4(play->cameraPtrs[this->subCamId]); + Camera_SetFinishedFlag(play->cameraPtrs[this->subCamId]); } this->actionFunc = func_80A911F0; return; @@ -394,7 +394,7 @@ void func_80A91A90(EnKakasi3* this, PlayState* play) { this->subCamId = CAM_ID_NONE; } if (this->subCamId != CAM_ID_NONE) { - func_8005B1A4(play->cameraPtrs[this->subCamId]); + Camera_SetFinishedFlag(play->cameraPtrs[this->subCamId]); } Message_CloseTextbox(play); play->msgCtx.ocarinaMode = OCARINA_MODE_04; 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 8b780eb645..2db5dbfcf8 100644 --- a/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c +++ b/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c @@ -246,10 +246,10 @@ void EnKanban_Message(EnKanban* this, PlayState* play) { if (!this->msgFlag) { if (this->msgTimer == 0) { if (ABS((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y)) < 0x2800) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->msgFlag = true; } else { - func_8002F2CC(&this->actor, play, 68.0f); + Actor_OfferTalk(&this->actor, play, 68.0f); } } } else { @@ -295,11 +295,11 @@ void EnKanban_Update(Actor* thisx, PlayState* play2) { this->actor.world.pos.z, this->actor.shape.rot.x, this->actor.shape.rot.y, this->actor.shape.rot.z, ENKANBAN_PIECE); if (piece != NULL) { - ColliderInfo* hitItem = this->collider.info.acHitInfo; + ColliderElement* acHitElem = this->collider.elem.acHitElem; s16 yawDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; u8 i; - if (hitItem->toucher.dmgFlags & DMG_SLASH) { + if (acHitElem->toucher.dmgFlags & DMG_SLASH) { this->cutType = sCutTypes[player->meleeWeaponAnimation]; } else { this->cutType = CUT_POST; @@ -804,7 +804,7 @@ void EnKanban_Draw(Actor* thisx, PlayState* play) { f32 zShift; f32 zShift2; s16 i; - u8* shadowTex = Graph_Alloc(play->state.gfxCtx, 0x400); + u8* shadowTex = GRAPH_ALLOC(play->state.gfxCtx, 0x400); OPEN_DISPS(play->state.gfxCtx, "../z_en_kanban.c", 1659); Gfx_SetupDL_25Opa(play->state.gfxCtx); @@ -826,7 +826,7 @@ void EnKanban_Draw(Actor* thisx, PlayState* play) { Matrix_RotateX(BINANG_TO_RAD_ALT(this->spinRot.x), MTXMODE_APPLY); Matrix_RotateY(BINANG_TO_RAD_ALT(this->spinRot.z), MTXMODE_APPLY); Matrix_Translate(this->offset.x, this->offset.y, this->offset.z - 100.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_kanban.c", 1715), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_kanban.c", 1715), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); for (i = 0; i < ARRAY_COUNT(sPartFlags); i++) { if (sPartFlags[i] & this->partFlags) { @@ -835,7 +835,7 @@ void EnKanban_Draw(Actor* thisx, PlayState* play) { } } else { Matrix_Translate(0.0f, 0.0f, -100.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_kanban.c", 1725), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_kanban.c", 1725), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->partFlags == 0xFFFF) { gSPDisplayList(POLY_OPA_DISP++, gSignRectangularDL); @@ -855,7 +855,7 @@ void EnKanban_Draw(Actor* thisx, PlayState* play) { gDPPipeSync(POLY_XLU_DISP++); gDPSetPrimColor(POLY_XLU_DISP++, 0x00, 0x00, 255, 255, 255, this->cutMarkAlpha); gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 150, 0); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_kanban.c", 1773), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_kanban.c", 1773), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_kanban_DL_001630); } @@ -894,7 +894,7 @@ void EnKanban_Draw(Actor* thisx, PlayState* play) { Matrix_RotateX(BINANG_TO_RAD_ALT(this->spinRot.x), MTXMODE_APPLY); Matrix_RotateY(BINANG_TO_RAD_ALT(this->spinRot.z), MTXMODE_APPLY); Matrix_Translate(this->offset.x, this->offset.y, this->offset.z, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_kanban.c", 1833), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_kanban.c", 1833), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); for (i = 0; i < 0x400; i++) { 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 2569c2cd37..523b041522 100644 --- a/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c +++ b/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c @@ -125,7 +125,7 @@ void EnKarebaba_ResetCollider(EnKarebaba* this) { this->bodyCollider.dim.height = 25; this->bodyCollider.base.colType = COLTYPE_HARD; this->bodyCollider.base.acFlags |= AC_HARD; - this->bodyCollider.info.bumper.dmgFlags = DMG_DEFAULT; + this->bodyCollider.elem.bumper.dmgFlags = DMG_DEFAULT; this->headCollider.dim.height = 25; } @@ -155,7 +155,7 @@ void EnKarebaba_SetupUpright(EnKarebaba* this) { Actor_SetScale(&this->actor, 0.01f); this->bodyCollider.base.colType = COLTYPE_HIT6; this->bodyCollider.base.acFlags &= ~AC_HARD; - this->bodyCollider.info.bumper.dmgFlags = + this->bodyCollider.elem.bumper.dmgFlags = !LINK_IS_ADULT ? ((DMG_SWORD | DMG_BOOMERANG) & ~DMG_JUMP_MASTER) : (DMG_SWORD | DMG_BOOMERANG); this->bodyCollider.dim.radius = 15; this->bodyCollider.dim.height = 80; @@ -450,7 +450,7 @@ void EnKarebaba_DrawBaseShadow(EnKarebaba* this, PlayState* play) { func_80038A28(this->boundFloor, this->actor.home.pos.x, this->actor.home.pos.y, this->actor.home.pos.z, &mf); Matrix_Mult(&mf, MTXMODE_NEW); Matrix_Scale(0.15f, 1.0f, 0.15f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_karebaba.c", 1029), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_karebaba.c", 1029), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gCircleShadowDL); @@ -473,7 +473,7 @@ void EnKarebaba_Draw(Actor* thisx, PlayState* play) { if (this->actionFunc == EnKarebaba_DeadItemDrop) { if (this->actor.params > 40 || (this->actor.params & 1)) { Matrix_Translate(0.0f, 0.0f, 200.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_karebaba.c", 1066), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_karebaba.c", 1066), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gDekuBabaStickDropDL); } @@ -499,7 +499,7 @@ void EnKarebaba_Draw(Actor* thisx, PlayState* play) { for (i = 0; i < stemSections; i++) { Matrix_Translate(0.0f, 0.0f, -2000.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_karebaba.c", 1116), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_karebaba.c", 1116), G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, stemDLists[i]); @@ -520,13 +520,13 @@ void EnKarebaba_Draw(Actor* thisx, PlayState* play) { Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); Matrix_RotateY(BINANG_TO_RAD(this->actor.home.rot.y), MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_karebaba.c", 1144), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_karebaba.c", 1144), G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gDekuBabaBaseLeavesDL); if (this->actionFunc == EnKarebaba_Dying) { Matrix_RotateZYX(-0x4000, (s16)(this->actor.shape.rot.y - this->actor.home.rot.y), 0, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_karebaba.c", 1155), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_karebaba.c", 1155), G_MTX_LOAD | G_MTX_NOPUSH | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gDekuBabaStemBaseDL); } diff --git a/src/overlays/actors/ovl_En_Ko/z_en_ko.c b/src/overlays/actors/ovl_En_Ko/z_en_ko.c index 83720cf915..bc8a0925c2 100644 --- a/src/overlays/actors/ovl_En_Ko/z_en_ko.c +++ b/src/overlays/actors/ovl_En_Ko/z_en_ko.c @@ -489,23 +489,23 @@ u16 EnKo_GetTextIdAdult(PlayState* play, Actor* thisx) { } u16 EnKo_GetTextId(PlayState* play, Actor* thisx) { - u16 faceReaction; + u16 textId; EnKo* this = (EnKo*)thisx; if (ENKO_TYPE == ENKO_TYPE_CHILD_0 || ENKO_TYPE == ENKO_TYPE_CHILD_2 || ENKO_TYPE == ENKO_TYPE_CHILD_3 || ENKO_TYPE == ENKO_TYPE_CHILD_4 || ENKO_TYPE == ENKO_TYPE_CHILD_7 || ENKO_TYPE == ENKO_TYPE_CHILD_8 || ENKO_TYPE == ENKO_TYPE_CHILD_11) { - faceReaction = Text_GetFaceReaction(play, 0x13); + textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_KOKIRI_1); } if (ENKO_TYPE == ENKO_TYPE_CHILD_1 || ENKO_TYPE == ENKO_TYPE_CHILD_5 || ENKO_TYPE == ENKO_TYPE_CHILD_6 || ENKO_TYPE == ENKO_TYPE_CHILD_9 || ENKO_TYPE == ENKO_TYPE_CHILD_10) { - faceReaction = Text_GetFaceReaction(play, 0x14); + textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_KOKIRI_2); } if (ENKO_TYPE == ENKO_TYPE_CHILD_FADO) { - faceReaction = Text_GetFaceReaction(play, 0x12); + textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_FADO); } - if (faceReaction != 0) { - return faceReaction; + if (textId != 0) { + return textId; } if (LINK_IS_ADULT) { return EnKo_GetTextIdAdult(play, thisx); @@ -1347,7 +1347,7 @@ void EnKo_PostLimbDraw(PlayState* play2, s32 limbIndex, Gfx** dList, Vec3s* rot, } Gfx* EnKo_SetEnvColor(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b, u8 a) { - Gfx* dList = Graph_Alloc(gfxCtx, sizeof(Gfx) * 2); + Gfx* dList = GRAPH_ALLOC(gfxCtx, sizeof(Gfx) * 2); gDPSetEnvColor(dList, r, g, b, a); gSPEndDisplayList(dList + 1); diff --git a/src/overlays/actors/ovl_En_Kz/z_en_kz.c b/src/overlays/actors/ovl_En_Kz/z_en_kz.c index 05430e8494..837f86f87b 100644 --- a/src/overlays/actors/ovl_En_Kz/z_en_kz.c +++ b/src/overlays/actors/ovl_En_Kz/z_en_kz.c @@ -102,10 +102,10 @@ u16 EnKz_GetTextIdAdult(PlayState* play, EnKz* this) { u16 EnKz_GetTextId(PlayState* play, Actor* thisx) { EnKz* this = (EnKz*)thisx; - u16 reactionText = Text_GetFaceReaction(play, 0x1E); + u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_KING_ZORA); - if (reactionText != 0) { - return reactionText; + if (textId != 0) { + return textId; } if (LINK_IS_ADULT) { @@ -201,7 +201,7 @@ s32 EnKz_UpdateTalking(PlayState* play, Actor* thisx, s16* talkState, f32 intera f32 xzDistToPlayer; f32 yaw; - if (Actor_ProcessTalkRequest(thisx, play)) { + if (Actor_TalkOfferAccepted(thisx, play)) { *talkState = NPC_TALK_STATE_TALKING; return true; } @@ -227,7 +227,7 @@ s32 EnKz_UpdateTalking(PlayState* play, Actor* thisx, s16* talkState, f32 intera xzDistToPlayer = thisx->xzDistToPlayer; thisx->xzDistToPlayer = Math_Vec3f_DistXZ(&thisx->home.pos, &player->actor.world.pos); - if (func_8002F2CC(thisx, play, interactRange) == 0) { + if (Actor_OfferTalk(thisx, play, interactRange) == 0) { thisx->xzDistToPlayer = xzDistToPlayer; return false; } 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 e6bf1ab0ca..3eeba75217 100644 --- a/src/overlays/actors/ovl_En_Light/z_en_light.c +++ b/src/overlays/actors/ovl_En_Light/z_en_light.c @@ -189,7 +189,7 @@ void EnLight_Draw(Actor* thisx, PlayState* play) { } Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_light.c", 488), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_light.c", 488), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, dList); 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 51371105a4..4b20f4018c 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 @@ -97,7 +97,7 @@ void EnMThunder_Init(Actor* thisx, PlayState* play2) { player->stateFlags2 &= ~PLAYER_STATE2_17; this->unk_1CA = 1; - this->collider.info.toucher.dmgFlags = D_80AA044C[this->unk_1C7]; + this->collider.elem.toucher.dmgFlags = D_80AA044C[this->unk_1C7]; this->unk_1C6 = 1; this->unk_1C9 = ((this->unk_1C7 == 1) ? 2 : 4); func_80A9EFE0(this, func_80A9F9B4); @@ -196,11 +196,11 @@ void func_80A9F408(EnMThunder* this, PlayState* play) { gSaveContext.magicState = MAGIC_STATE_CONSUME_SETUP; } if (player->unk_858 < 0.85f) { - this->collider.info.toucher.dmgFlags = D_80AA044C[this->unk_1C7]; + this->collider.elem.toucher.dmgFlags = D_80AA044C[this->unk_1C7]; this->unk_1C6 = 1; this->unk_1C9 = ((this->unk_1C7 == 1) ? 2 : 4); } else { - this->collider.info.toucher.dmgFlags = D_80AA0458[this->unk_1C7]; + this->collider.elem.toucher.dmgFlags = D_80AA0458[this->unk_1C7]; this->unk_1C6 = 0; this->unk_1C9 = ((this->unk_1C7 == 1) ? 4 : 8); } @@ -326,7 +326,7 @@ void EnMThunder_Draw(Actor* thisx, PlayState* play2) { OPEN_DISPS(play->state.gfxCtx, "../z_en_m_thunder.c", 844); Gfx_SetupDL_25Xlu(play->state.gfxCtx); Matrix_Scale(0.02f, 0.02f, 0.02f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_m_thunder.c", 853), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_m_thunder.c", 853), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); switch (this->unk_1C6) { @@ -384,7 +384,7 @@ void EnMThunder_Draw(Actor* thisx, PlayState* play2) { phi_t1 = 0x14; } Matrix_Scale(1.0f, phi_f14, phi_f14, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_m_thunder.c", 960), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_m_thunder.c", 960), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x09, diff --git a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c index 702aa3aa37..a0da7b0cd1 100644 --- a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c +++ b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c @@ -14,13 +14,13 @@ void EnMa1_Destroy(Actor* thisx, PlayState* play); void EnMa1_Update(Actor* thisx, PlayState* play); void EnMa1_Draw(Actor* thisx, PlayState* play); -void func_80AA0D88(EnMa1* this, PlayState* play); -void func_80AA0EA0(EnMa1* this, PlayState* play); -void func_80AA0EFC(EnMa1* this, PlayState* play); -void func_80AA0F44(EnMa1* this, PlayState* play); -void func_80AA106C(EnMa1* this, PlayState* play); -void func_80AA10EC(EnMa1* this, PlayState* play); -void func_80AA1150(EnMa1* this, PlayState* play); +void EnMa1_Idle(EnMa1* this, PlayState* play); +void EnMa1_GiveWeirdEgg(EnMa1* this, PlayState* play); +void EnMa1_FinishGivingWeirdEgg(EnMa1* this, PlayState* play); +void EnMa1_IdleTeachSong(EnMa1* this, PlayState* play); +void EnMa1_StartTeachSong(EnMa1* this, PlayState* play); +void EnMa1_TeachSong(EnMa1* this, PlayState* play); +void EnMa1_WaitForPlayback(EnMa1* this, PlayState* play); void EnMa1_DoNothing(EnMa1* this, PlayState* play); ActorInit En_Ma1_InitVars = { @@ -58,10 +58,10 @@ static ColliderCylinderInit sCylinderInit = { static CollisionCheckInfoInit2 sColChkInfoInit = { 0, 0, 0, 0, MASS_IMMOVABLE }; typedef enum { - /* 0 */ ENMA1_ANIM_0, - /* 1 */ ENMA1_ANIM_1, - /* 2 */ ENMA1_ANIM_2, - /* 3 */ ENMA1_ANIM_3 + /* 0 */ MALON_ANIM_IDLE_NOMORPH, + /* 1 */ MALON_ANIM_IDLE, + /* 2 */ MALON_ANIM_SING_NOMORPH, + /* 3 */ MALON_ANIM_SING } EnMa1Animation; static AnimationFrameCountInfo sAnimationInfo[] = { @@ -71,34 +71,20 @@ static AnimationFrameCountInfo sAnimationInfo[] = { { &gMalonChildSingAnim, 1.0f, ANIMMODE_LOOP, -10.0f }, }; -static Vec3f D_80AA16B8 = { 800.0f, 0.0f, 0.0f }; - -static void* sMouthTextures[] = { - gMalonChildNeutralMouthTex, - gMalonChildSmilingMouthTex, - gMalonChildTalkingMouthTex, -}; - -static void* sEyeTextures[] = { - gMalonChildEyeOpenTex, - gMalonChildEyeHalfTex, - gMalonChildEyeClosedTex, -}; - u16 EnMa1_GetTextId(PlayState* play, Actor* thisx) { - u16 faceReaction = Text_GetFaceReaction(play, 0x17); + u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_MALON); - if (faceReaction != 0) { - return faceReaction; + if (textId != 0) { + return textId; } if (CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) { return 0x204A; } - if (GET_EVENTCHKINF(EVENTCHKINF_16)) { + if (GET_EVENTCHKINF(EVENTCHKINF_CAN_LEARN_EPONAS_SONG)) { return 0x2049; } - if (GET_EVENTCHKINF(EVENTCHKINF_15)) { - if (GET_INFTABLE(INFTABLE_85)) { + if (GET_EVENTCHKINF(EVENTCHKINF_TALKED_TO_CHILD_MALON_AT_RANCH)) { + if (GET_INFTABLE(INFTABLE_TOLD_EPONA_IS_SCARED)) { return 0x2049; } else { return 0x2048; @@ -107,11 +93,11 @@ u16 EnMa1_GetTextId(PlayState* play, Actor* thisx) { if (GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) { return 0x2047; } - if (GET_EVENTCHKINF(EVENTCHKINF_12)) { + if (GET_EVENTCHKINF(EVENTCHKINF_RECEIVED_WEIRD_EGG)) { return 0x2044; } - if (GET_INFTABLE(INFTABLE_84)) { - if (GET_INFTABLE(INFTABLE_8B)) { + if (GET_INFTABLE(INFTABLE_TALKED_TO_MALON_FIRST_TIME)) { + if (GET_INFTABLE(INFTABLE_MALON_SPAWNED_AT_HYRULE_CASTLE)) { return 0x2043; } else { return 0x2042; @@ -127,23 +113,23 @@ s16 EnMa1_UpdateTalkState(PlayState* play, Actor* thisx) { case TEXT_STATE_CLOSING: switch (thisx->textId) { case 0x2041: - SET_INFTABLE(INFTABLE_84); - SET_EVENTCHKINF(EVENTCHKINF_10); + SET_INFTABLE(INFTABLE_TALKED_TO_MALON_FIRST_TIME); + SET_EVENTCHKINF(EVENTCHKINF_TALKED_TO_MALON_FIRST_TIME); talkState = NPC_TALK_STATE_IDLE; break; case 0x2043: talkState = NPC_TALK_STATE_TALKING; break; case 0x2047: - SET_EVENTCHKINF(EVENTCHKINF_15); + SET_EVENTCHKINF(EVENTCHKINF_TALKED_TO_CHILD_MALON_AT_RANCH); talkState = NPC_TALK_STATE_IDLE; break; case 0x2048: - SET_INFTABLE(INFTABLE_85); + SET_INFTABLE(INFTABLE_TOLD_EPONA_IS_SCARED); talkState = NPC_TALK_STATE_IDLE; break; case 0x2049: - SET_EVENTCHKINF(EVENTCHKINF_16); + SET_EVENTCHKINF(EVENTCHKINF_CAN_LEARN_EPONAS_SONG); talkState = NPC_TALK_STATE_IDLE; break; case 0x2061: @@ -177,36 +163,44 @@ s16 EnMa1_UpdateTalkState(PlayState* play, Actor* thisx) { return talkState; } -s32 func_80AA08C4(EnMa1* this, PlayState* play) { +s32 EnMa1_ShouldSpawn(EnMa1* this, PlayState* play) { if ((this->actor.shape.rot.z == 3) && (gSaveContext.sceneLayer == 5)) { - return 1; + return true; } + if (!LINK_IS_CHILD) { - return 0; + return false; } + if (((play->sceneId == SCENE_MARKET_NIGHT) || (play->sceneId == SCENE_MARKET_DAY)) && - !GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE) && !GET_INFTABLE(INFTABLE_8B)) { - return 1; + !GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE) && + !GET_INFTABLE(INFTABLE_MALON_SPAWNED_AT_HYRULE_CASTLE)) { + return true; } + if ((play->sceneId == SCENE_HYRULE_CASTLE) && !GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) { - if (GET_INFTABLE(INFTABLE_8B)) { - return 1; + if (GET_INFTABLE(INFTABLE_MALON_SPAWNED_AT_HYRULE_CASTLE)) { + return true; } else { - SET_INFTABLE(INFTABLE_8B); - return 0; + SET_INFTABLE(INFTABLE_MALON_SPAWNED_AT_HYRULE_CASTLE); + return false; } } + if ((play->sceneId == SCENE_LON_LON_BUILDINGS) && IS_NIGHT && GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) { - return 1; + return true; } + if (play->sceneId != SCENE_LON_LON_RANCH) { - return 0; + return false; } + if ((this->actor.shape.rot.z == 3) && IS_DAY && GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE)) { - return 1; + return true; } - return 0; + + return false; } void EnMa1_UpdateEyes(EnMa1* this) { @@ -226,7 +220,7 @@ void EnMa1_ChangeAnim(EnMa1* this, s32 index) { sAnimationInfo[index].mode, sAnimationInfo[index].morphFrames); } -void func_80AA0AF4(EnMa1* this, PlayState* play) { +void EnMa1_UpdateTracking(EnMa1* this, PlayState* play) { Player* player = GET_PLAYER(play); s16 trackingMode; @@ -242,18 +236,16 @@ void func_80AA0AF4(EnMa1* this, PlayState* play) { Npc_TrackPoint(&this->actor, &this->interactInfo, 0, trackingMode); } -void func_80AA0B74(EnMa1* this) { +void EnMa1_UpdateSinging(EnMa1* this) { if (this->skelAnime.animation == &gMalonChildSingAnim) { if (this->interactInfo.talkState == NPC_TALK_STATE_IDLE) { - if (this->isNotSinging) { - // Turn on singing - this->isNotSinging = false; + if (this->singingDisabled) { + this->singingDisabled = false; Audio_ToggleMalonSinging(false); } } else { - if (!this->isNotSinging) { - // Turn off singing - this->isNotSinging = true; + if (!this->singingDisabled) { + this->singingDisabled = true; Audio_ToggleMalonSinging(true); } } @@ -270,7 +262,7 @@ void EnMa1_Init(Actor* thisx, PlayState* play) { Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit); CollisionCheck_SetInfo2(&this->actor.colChkInfo, DamageTable_Get(22), &sColChkInfoInit); - if (!func_80AA08C4(this, play)) { + if (!EnMa1_ShouldSpawn(this, play)) { Actor_Kill(&this->actor); return; } @@ -281,11 +273,11 @@ void EnMa1_Init(Actor* thisx, PlayState* play) { this->interactInfo.talkState = NPC_TALK_STATE_IDLE; if (!GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE) || CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) { - this->actionFunc = func_80AA0D88; - EnMa1_ChangeAnim(this, ENMA1_ANIM_2); + this->actionFunc = EnMa1_Idle; + EnMa1_ChangeAnim(this, MALON_ANIM_SING_NOMORPH); } else { - this->actionFunc = func_80AA0F44; - EnMa1_ChangeAnim(this, ENMA1_ANIM_2); + this->actionFunc = EnMa1_IdleTeachSong; + EnMa1_ChangeAnim(this, MALON_ANIM_SING_NOMORPH); } } @@ -296,14 +288,14 @@ void EnMa1_Destroy(Actor* thisx, PlayState* play) { Collider_DestroyCylinder(play, &this->collider); } -void func_80AA0D88(EnMa1* this, PlayState* play) { +void EnMa1_Idle(EnMa1* this, PlayState* play) { if (this->interactInfo.talkState != NPC_TALK_STATE_IDLE) { if (this->skelAnime.animation != &gMalonChildIdleAnim) { - EnMa1_ChangeAnim(this, ENMA1_ANIM_1); + EnMa1_ChangeAnim(this, MALON_ANIM_IDLE); } } else { if (this->skelAnime.animation != &gMalonChildSingAnim) { - EnMa1_ChangeAnim(this, ENMA1_ANIM_3); + EnMa1_ChangeAnim(this, MALON_ANIM_SING); } } @@ -311,45 +303,45 @@ void func_80AA0D88(EnMa1* this, PlayState* play) { Actor_Kill(&this->actor); } else if (!GET_EVENTCHKINF(EVENTCHKINF_TALON_RETURNED_FROM_CASTLE) || CHECK_QUEST_ITEM(QUEST_SONG_EPONA)) { if (this->interactInfo.talkState == NPC_TALK_STATE_ACTION) { - this->actionFunc = func_80AA0EA0; + this->actionFunc = EnMa1_GiveWeirdEgg; play->msgCtx.stateTimer = 4; play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; } } } -void func_80AA0EA0(EnMa1* this, PlayState* play) { +void EnMa1_GiveWeirdEgg(EnMa1* this, PlayState* play) { if (Actor_HasParent(&this->actor, play)) { this->actor.parent = NULL; - this->actionFunc = func_80AA0EFC; + this->actionFunc = EnMa1_FinishGivingWeirdEgg; } else { Actor_OfferGetItem(&this->actor, play, GI_WEIRD_EGG, 120.0f, 10.0f); } } -void func_80AA0EFC(EnMa1* this, PlayState* play) { +void EnMa1_FinishGivingWeirdEgg(EnMa1* this, PlayState* play) { if (this->interactInfo.talkState == NPC_TALK_STATE_ITEM_GIVEN) { this->interactInfo.talkState = NPC_TALK_STATE_IDLE; - this->actionFunc = func_80AA0D88; - SET_EVENTCHKINF(EVENTCHKINF_12); + this->actionFunc = EnMa1_Idle; + SET_EVENTCHKINF(EVENTCHKINF_RECEIVED_WEIRD_EGG); play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; } } -void func_80AA0F44(EnMa1* this, PlayState* play) { +void EnMa1_IdleTeachSong(EnMa1* this, PlayState* play) { Player* player = GET_PLAYER(play); if (this->interactInfo.talkState != NPC_TALK_STATE_IDLE) { if (this->skelAnime.animation != &gMalonChildIdleAnim) { - EnMa1_ChangeAnim(this, ENMA1_ANIM_1); + EnMa1_ChangeAnim(this, MALON_ANIM_IDLE); } } else { if (this->skelAnime.animation != &gMalonChildSingAnim) { - EnMa1_ChangeAnim(this, ENMA1_ANIM_3); + EnMa1_ChangeAnim(this, MALON_ANIM_SING); } } - if (GET_EVENTCHKINF(EVENTCHKINF_16)) { + if (GET_EVENTCHKINF(EVENTCHKINF_CAN_LEARN_EPONAS_SONG)) { if (player->stateFlags2 & PLAYER_STATE2_24) { player->stateFlags2 |= PLAYER_STATE2_25; player->unk_6A8 = &this->actor; @@ -357,32 +349,32 @@ void func_80AA0F44(EnMa1* this, PlayState* play) { Message_StartTextbox(play, this->actor.textId, NULL); this->interactInfo.talkState = NPC_TALK_STATE_TALKING; this->actor.flags |= ACTOR_FLAG_16; - this->actionFunc = func_80AA106C; - } else if (this->actor.xzDistToPlayer < 30.0f + (f32)this->collider.dim.radius) { + this->actionFunc = EnMa1_StartTeachSong; + } else if (this->actor.xzDistToPlayer < 30.0f + this->collider.dim.radius) { player->stateFlags2 |= PLAYER_STATE2_23; } } } -void func_80AA106C(EnMa1* this, PlayState* play) { +void EnMa1_StartTeachSong(EnMa1* this, PlayState* play) { GET_PLAYER(play)->stateFlags2 |= PLAYER_STATE2_23; if (this->interactInfo.talkState == NPC_TALK_STATE_ACTION) { AudioOcarina_SetInstrument(OCARINA_INSTRUMENT_MALON); Message_StartOcarina(play, OCARINA_ACTION_TEACH_EPONA); this->actor.flags &= ~ACTOR_FLAG_16; - this->actionFunc = func_80AA10EC; + this->actionFunc = EnMa1_TeachSong; } } -void func_80AA10EC(EnMa1* this, PlayState* play) { +void EnMa1_TeachSong(EnMa1* this, PlayState* play) { GET_PLAYER(play)->stateFlags2 |= PLAYER_STATE2_23; if (Message_GetState(&play->msgCtx) == TEXT_STATE_SONG_DEMO_DONE) { Message_StartOcarina(play, OCARINA_ACTION_PLAYBACK_EPONA); - this->actionFunc = func_80AA1150; + this->actionFunc = EnMa1_WaitForPlayback; } } -void func_80AA1150(EnMa1* this, PlayState* play) { +void EnMa1_WaitForPlayback(EnMa1* this, PlayState* play) { GET_PLAYER(play)->stateFlags2 |= PLAYER_STATE2_23; if (play->msgCtx.ocarinaMode == OCARINA_MODE_03) { play->nextEntranceIndex = ENTR_LON_LON_RANCH_0; @@ -402,32 +394,36 @@ void EnMa1_Update(Actor* thisx, PlayState* play) { Collider_UpdateCylinder(&this->actor, &this->collider); CollisionCheck_SetOC(play, &play->colChkCtx, &this->collider.base); + SkelAnime_Update(&this->skelAnime); EnMa1_UpdateEyes(this); + this->actionFunc(this, play); + if (this->actionFunc != EnMa1_DoNothing) { - Npc_UpdateTalking(play, &this->actor, &this->interactInfo.talkState, (f32)this->collider.dim.radius + 30.0f, + Npc_UpdateTalking(play, &this->actor, &this->interactInfo.talkState, this->collider.dim.radius + 30.0f, EnMa1_GetTextId, EnMa1_UpdateTalkState); } - func_80AA0B74(this); - func_80AA0AF4(this, play); + + EnMa1_UpdateSinging(this); + EnMa1_UpdateTracking(this, play); } s32 EnMa1_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { EnMa1* this = (EnMa1*)thisx; Vec3s limbRot; - if ((limbIndex == 2) || (limbIndex == 5)) { + if ((limbIndex == CHILD_MALON_LIMB_LEFT_THIGH) || (limbIndex == CHILD_MALON_LIMB_RIGHT_THIGH)) { *dList = NULL; } - if (limbIndex == 15) { + if (limbIndex == CHILD_MALON_LIMB_HEAD) { Matrix_Translate(1400.0f, 0.0f, 0.0f, MTXMODE_APPLY); limbRot = this->interactInfo.headRot; Matrix_RotateX(BINANG_TO_RAD_ALT(limbRot.y), MTXMODE_APPLY); Matrix_RotateZ(BINANG_TO_RAD_ALT(limbRot.x), MTXMODE_APPLY); Matrix_Translate(-1400.0f, 0.0f, 0.0f, MTXMODE_APPLY); } - if (limbIndex == 8) { + if (limbIndex == CHILD_MALON_LIMB_CHEST) { limbRot = this->interactInfo.torsoRot; Matrix_RotateX(BINANG_TO_RAD_ALT(-limbRot.y), MTXMODE_APPLY); Matrix_RotateZ(BINANG_TO_RAD_ALT(-limbRot.x), MTXMODE_APPLY); @@ -437,14 +433,24 @@ s32 EnMa1_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* p void EnMa1_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { EnMa1* this = (EnMa1*)thisx; - Vec3f vec = D_80AA16B8; + Vec3f offset = { 800.0f, 0.0f, 0.0f }; - if (limbIndex == 15) { - Matrix_MultVec3f(&vec, &this->actor.focus.pos); + if (limbIndex == CHILD_MALON_LIMB_HEAD) { + Matrix_MultVec3f(&offset, &this->actor.focus.pos); } } void EnMa1_Draw(Actor* thisx, PlayState* play) { + static void* sMouthTextures[] = { + gMalonChildNeutralMouthTex, + gMalonChildSmilingMouthTex, + gMalonChildTalkingMouthTex, + }; + static void* sEyeTextures[] = { + gMalonChildEyeOpenTex, + gMalonChildEyeHalfTex, + gMalonChildEyeClosedTex, + }; EnMa1* this = (EnMa1*)thisx; Camera* activeCam; f32 distFromCamEye; diff --git a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.h b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.h index f77d40eeaf..ef69c0c8e4 100644 --- a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.h +++ b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.h @@ -13,7 +13,7 @@ typedef struct EnMa1 { /* 0x014C */ SkelAnime skelAnime; /* 0x0190 */ EnMa1ActionFunc actionFunc; /* 0x0194 */ ColliderCylinder collider; - /* 0x01E0 */ s16 isNotSinging; + /* 0x01E0 */ s16 singingDisabled; /* 0x01E2 */ s16 blinkTimer; /* 0x01E4 */ s16 eyeIndex; /* 0x01E6 */ s16 mouthIndex; diff --git a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c index 16f6eec8c7..6265291986 100644 --- a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c +++ b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c @@ -66,10 +66,10 @@ static AnimationFrameCountInfo sAnimationInfo[] = { }; u16 EnMa2_GetTextId(PlayState* play, Actor* thisx) { - u16 faceReaction = Text_GetFaceReaction(play, 23); + u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_MALON); - if (faceReaction != 0) { - return faceReaction; + if (textId != 0) { + return textId; } if (GET_EVENTCHKINF(EVENTCHKINF_EPONA_OBTAINED)) { return 0x2056; @@ -268,7 +268,7 @@ void func_80AA204C(EnMa2* this, PlayState* play) { player->stateFlags2 |= PLAYER_STATE2_25; Message_StartOcarina(play, OCARINA_ACTION_CHECK_EPONA); this->actionFunc = func_80AA20E4; - } else if (this->actor.xzDistToPlayer < 30.0f + (f32)this->collider.dim.radius) { + } else if (this->actor.xzDistToPlayer < 30.0f + this->collider.dim.radius) { player->stateFlags2 |= PLAYER_STATE2_23; } } @@ -319,7 +319,7 @@ void EnMa2_Update(Actor* thisx, PlayState* play) { func_80AA1DB4(this, play); func_80AA1AE4(this, play); if (this->actionFunc != func_80AA20E4) { - Npc_UpdateTalking(play, &this->actor, &this->interactInfo.talkState, (f32)this->collider.dim.radius + 30.0f, + Npc_UpdateTalking(play, &this->actor, &this->interactInfo.talkState, this->collider.dim.radius + 30.0f, EnMa2_GetTextId, EnMa2_UpdateTalkState); } } diff --git a/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c b/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c index 03af656731..e769d93669 100644 --- a/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c +++ b/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c @@ -297,7 +297,7 @@ void EnMa3_Update(Actor* thisx, PlayState* play) { EnMa3_UpdateEyes(this); this->actionFunc(this, play); func_80AA2E54(this, play); - Npc_UpdateTalking(play, &this->actor, &this->interactInfo.talkState, (f32)this->collider.dim.radius + 150.0f, + Npc_UpdateTalking(play, &this->actor, &this->interactInfo.talkState, this->collider.dim.radius + 150.0f, EnMa3_GetTextId, EnMa3_UpdateTalkState); if (this->interactInfo.talkState == NPC_TALK_STATE_IDLE) { if (this->isNotSinging) { diff --git a/src/overlays/actors/ovl_En_Mb/z_en_mb.c b/src/overlays/actors/ovl_En_Mb/z_en_mb.c index 498aea3afe..44f1e64336 100644 --- a/src/overlays/actors/ovl_En_Mb/z_en_mb.c +++ b/src/overlays/actors/ovl_En_Mb/z_en_mb.c @@ -89,7 +89,7 @@ void EnMb_SpearPatrolImmediateCharge(EnMb* this, PlayState* play); void EnMb_ClubWaitAfterAttack(EnMb* this, PlayState* play); void EnMb_ClubDamaged(EnMb* this, PlayState* play); -static ColliderCylinderInit sHitboxInit = { +static ColliderCylinderInit sBodyColliderInit = { { COLTYPE_HIT0, AT_NONE, @@ -265,8 +265,8 @@ void EnMb_Init(Actor* thisx, PlayState* play) { ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 46.0f); this->actor.colChkInfo.mass = MASS_IMMOVABLE; this->actor.colChkInfo.damageTable = &sSpearMoblinDamageTable; - Collider_InitCylinder(play, &this->hitbox); - Collider_SetCylinder(play, &this->hitbox, &this->actor, &sHitboxInit); + Collider_InitCylinder(play, &this->bodyCollider); + Collider_SetCylinder(play, &this->bodyCollider, &this->actor, &sBodyColliderInit); Collider_InitTris(play, &this->frontShielding); Collider_SetTris(play, &this->frontShielding, &this->actor, &sFrontShieldingInit, this->frontShieldingTris); Collider_InitQuad(play, &this->attackCollider); @@ -290,13 +290,13 @@ void EnMb_Init(Actor* thisx, PlayState* play) { this->actor.colChkInfo.mass = MASS_IMMOVABLE; this->actor.colChkInfo.damageTable = &sClubMoblinDamageTable; Actor_SetScale(&this->actor, 0.02f); - this->hitbox.dim.height = 170; - this->hitbox.dim.radius = 45; + this->bodyCollider.dim.height = 170; + this->bodyCollider.dim.radius = 45; this->actor.uncullZoneForward = 4000.0f; this->actor.uncullZoneScale = 800.0f; this->actor.uncullZoneDownward = 1800.0f; this->playerDetectionRange = 710.0f; - this->attackCollider.info.toucher.dmgFlags = DMG_UNBLOCKABLE; + this->attackCollider.elem.toucher.dmgFlags = DMG_UNBLOCKABLE; relYawFromPlayer = this->actor.world.rot.y - Math_Vec3f_Yaw(&this->actor.world.pos, &player->actor.world.pos); @@ -333,7 +333,7 @@ void EnMb_Destroy(Actor* thisx, PlayState* play) { EnMb* this = (EnMb*)thisx; Collider_DestroyTris(play, &this->frontShielding); - Collider_DestroyCylinder(play, &this->hitbox); + Collider_DestroyCylinder(play, &this->bodyCollider); Collider_DestroyQuad(play, &this->attackCollider); } @@ -575,8 +575,8 @@ void EnMb_SetupClubDead(EnMb* this) { Animation_MorphToPlayOnce(&this->skelAnime, &gEnMbClubFallOnItsBackAnim, -4.0f); this->state = ENMB_STATE_CLUB_DEAD; this->actor.flags &= ~ACTOR_FLAG_0; - this->hitbox.dim.height = 80; - this->hitbox.dim.radius = 95; + this->bodyCollider.dim.height = 80; + this->bodyCollider.dim.radius = 95; this->timer1 = 30; this->actor.speed = 0.0f; Actor_PlaySfx(&this->actor, NA_SE_EN_MORIBLIN_DEAD); @@ -1373,9 +1373,9 @@ void EnMb_CheckColliding(EnMb* this, PlayState* play) { if (this->frontShielding.base.acFlags & AC_HIT) { this->frontShielding.base.acFlags &= ~(AC_HIT | AC_BOUNCED); - this->hitbox.base.acFlags &= ~AC_HIT; - } else if ((this->hitbox.base.acFlags & AC_HIT) && this->state >= ENMB_STATE_STUNNED) { - this->hitbox.base.acFlags &= ~AC_HIT; + this->bodyCollider.base.acFlags &= ~AC_HIT; + } else if ((this->bodyCollider.base.acFlags & AC_HIT) && this->state >= ENMB_STATE_STUNNED) { + this->bodyCollider.base.acFlags &= ~AC_HIT; if (this->actor.colChkInfo.damageEffect != ENMB_DMGEFF_IGNORE && this->actor.colChkInfo.damageEffect != ENMB_DMGEFF_FREEZE) { if ((player->stateFlags2 & PLAYER_STATE2_7) && player->actor.parent == &this->actor) { @@ -1386,7 +1386,7 @@ void EnMb_CheckColliding(EnMb* this, PlayState* play) { } this->damageEffect = this->actor.colChkInfo.damageEffect; this->attack = ENMB_ATTACK_NONE; - Actor_SetDropFlag(&this->actor, &this->hitbox.info, false); + Actor_SetDropFlag(&this->actor, &this->bodyCollider.elem, false); if (this->actor.colChkInfo.damageEffect == ENMB_DMGEFF_STUN || this->actor.colChkInfo.damageEffect == ENMB_DMGEFF_STUN_ICE) { if (this->state != ENMB_STATE_STUNNED) { @@ -1426,15 +1426,15 @@ void EnMb_Update(Actor* thisx, PlayState* play) { UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2 | UPDBGCHECKINFO_FLAG_3 | UPDBGCHECKINFO_FLAG_4); Actor_SetFocus(thisx, thisx->scale.x * 4500.0f); - Collider_UpdateCylinder(thisx, &this->hitbox); + Collider_UpdateCylinder(thisx, &this->bodyCollider); if (thisx->colChkInfo.health <= 0) { - this->hitbox.dim.pos.x += Math_SinS(thisx->shape.rot.y) * (-4400.0f * thisx->scale.y); - this->hitbox.dim.pos.z += Math_CosS(thisx->shape.rot.y) * (-4400.0f * thisx->scale.y); + this->bodyCollider.dim.pos.x += Math_SinS(thisx->shape.rot.y) * (-4400.0f * thisx->scale.y); + this->bodyCollider.dim.pos.z += Math_CosS(thisx->shape.rot.y) * (-4400.0f * thisx->scale.y); } - CollisionCheck_SetOC(play, &play->colChkCtx, &this->hitbox.base); + CollisionCheck_SetOC(play, &play->colChkCtx, &this->bodyCollider.base); if (this->state >= ENMB_STATE_STUNNED && (thisx->params == ENMB_TYPE_CLUB || this->state != ENMB_STATE_ATTACK)) { - CollisionCheck_SetAC(play, &play->colChkCtx, &this->hitbox.base); + CollisionCheck_SetAC(play, &play->colChkCtx, &this->bodyCollider.base); } if (this->state >= ENMB_STATE_IDLE) { CollisionCheck_SetAC(play, &play->colChkCtx, &this->frontShielding.base); diff --git a/src/overlays/actors/ovl_En_Mb/z_en_mb.h b/src/overlays/actors/ovl_En_Mb/z_en_mb.h index ac20ceede2..6ce94942d5 100644 --- a/src/overlays/actors/ovl_En_Mb/z_en_mb.h +++ b/src/overlays/actors/ovl_En_Mb/z_en_mb.h @@ -44,7 +44,7 @@ typedef struct EnMb { /* 0x035E */ s8 direction; /* 0x0360 */ f32 maxHomeDist; /* 0x0364 */ f32 playerDetectionRange; - /* 0x0368 */ ColliderCylinder hitbox; + /* 0x0368 */ ColliderCylinder bodyCollider; /* 0x03B4 */ ColliderQuad attackCollider; // for attacking the player /* 0x0434 */ ColliderTris frontShielding; // Moblins don't have shields, but this acts as one /* 0x0454 */ ColliderTrisElement frontShieldingTris[2]; diff --git a/src/overlays/actors/ovl_En_Md/z_en_md.c b/src/overlays/actors/ovl_En_Md/z_en_md.c index e57d577a28..5b9a9c5cdf 100644 --- a/src/overlays/actors/ovl_En_Md/z_en_md.c +++ b/src/overlays/actors/ovl_En_Md/z_en_md.c @@ -385,10 +385,10 @@ s16 func_80AAAC78(EnMd* this, PlayState* play) { } u16 EnMd_GetTextIdKokiriForest(PlayState* play, EnMd* this) { - u16 reactionText = Text_GetFaceReaction(play, 0x11); + u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_MIDO); - if (reactionText != 0) { - return reactionText; + if (textId != 0) { + return textId; } this->unk_208 = 0; @@ -785,7 +785,7 @@ void func_80AABC10(EnMd* this, PlayState* play) { Audio_PlaySfxGeneral(NA_SE_SY_CORRECT_CHIME, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); this->actor.textId = 0x1067; - func_8002F2CC(&this->actor, play, this->collider.dim.radius + 30.0f); + Actor_OfferTalk(&this->actor, play, this->collider.dim.radius + 30.0f); this->actionFunc = func_80AAB948; play->msgCtx.ocarinaMode = OCARINA_MODE_04; 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 210f36751a..7660cf4bc1 100644 --- a/src/overlays/actors/ovl_En_Mk/z_en_mk.c +++ b/src/overlays/actors/ovl_En_Mk/z_en_mk.c @@ -107,7 +107,7 @@ void func_80AACB14(EnMk* this, PlayState* play) { } void func_80AACB6C(EnMk* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = func_80AACB14; } @@ -215,7 +215,7 @@ void EnMk_Wait(EnMk* this, PlayState* play) { Player* player = GET_PLAYER(play); s32 playerExchangeItem; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { playerExchangeItem = func_8002F368(play); if (this->actor.textId != 0x4018) { @@ -264,7 +264,7 @@ void EnMk_Wait(EnMk* this, PlayState* play) { } } } else { - this->actor.textId = Text_GetFaceReaction(play, 0x1A); + this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_LAKESIDE_PROFESSOR); if (this->actor.textId == 0) { this->actor.textId = 0x4018; @@ -273,7 +273,7 @@ void EnMk_Wait(EnMk* this, PlayState* play) { angle = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; if ((ABS(angle) < 0x2151) && (this->actor.xzDistToPlayer < 100.0f)) { - func_8002F298(&this->actor, play, 100.0f, EXCH_ITEM_EYEBALL_FROG); + Actor_OfferTalkExchangeEquiCylinder(&this->actor, play, 100.0f, EXCH_ITEM_EYEBALL_FROG); this->flags |= 1; } } 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 53a5c4a4d9..6ad429adbb 100644 --- a/src/overlays/actors/ovl_En_Mm/z_en_mm.c +++ b/src/overlays/actors/ovl_En_Mm/z_en_mm.c @@ -259,9 +259,7 @@ s32 func_80AADAA0(EnMm* this, PlayState* play) { s32 EnMm_GetTextId(EnMm* this, PlayState* play) { Player* player = GET_PLAYER(play); - s32 textId; - - textId = Text_GetFaceReaction(play, 0x1C); + s32 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_RUNNING_MAN); if (GET_ITEMGETINF(ITEMGETINF_3B)) { if (textId == 0) { @@ -288,7 +286,7 @@ void func_80AADCD0(EnMm* this, PlayState* play) { } else if (this->unk_1E0 == 1) { this->unk_1E0 = func_80AADAA0(this, play); } else { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->unk_1E0 = 1; if (this->curAnimIndex != 5) { @@ -302,7 +300,7 @@ void func_80AADCD0(EnMm* this, PlayState* play) { yawDiff = ABS((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y)); if ((sp26 >= 0) && (sp26 <= 0x140) && (sp24 >= 0) && (sp24 <= 0xF0) && (yawDiff <= 17152.0f) && - (this->unk_1E0 != 3) && func_8002F2CC(&this->actor, play, 100.0f)) { + (this->unk_1E0 != 3) && Actor_OfferTalk(&this->actor, play, 100.0f)) { this->actor.textId = EnMm_GetTextId(this, play); } } @@ -532,10 +530,10 @@ void EnMm_Draw(Actor* thisx, PlayState* play) { Vec3s earRot; Mtx* mtx2; - mtx = Graph_Alloc(play->state.gfxCtx, sizeof(Mtx) * 2); + mtx = GRAPH_ALLOC(play->state.gfxCtx, sizeof(Mtx) * 2); Matrix_Put(&this->unk_208); - mtx2 = Matrix_NewMtx(play->state.gfxCtx, "../z_en_mm.c", 1111); + mtx2 = MATRIX_NEW(play->state.gfxCtx, "../z_en_mm.c", 1111); gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[linkChildObjectSlot].segment); gSPSegment(POLY_OPA_DISP++, 0x0B, mtx); @@ -548,14 +546,14 @@ void EnMm_Draw(Actor* thisx, PlayState* play) { earRot.y = 0xDBE; earRot.z = -0x348A; Matrix_SetTranslateRotateYXZ(97.0f, -1203.0f, -240.0f, &earRot); - Matrix_ToMtx(mtx++, "../z_en_mm.c", 1124); + MATRIX_TO_MTX(mtx++, "../z_en_mm.c", 1124); // Left ear earRot.x = -0x3E2; earRot.y = -0xDBE; earRot.z = -0x348A; Matrix_SetTranslateRotateYXZ(97.0f, -1203.0f, 240.0f, &earRot); - Matrix_ToMtx(mtx, "../z_en_mm.c", 1131); + MATRIX_TO_MTX(mtx, "../z_en_mm.c", 1131); gSPDisplayList(POLY_OPA_DISP++, gLinkChildBunnyHoodDL); gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->actor.objectSlot].segment); 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 07a5a5eae5..d36c0ed3d0 100644 --- a/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c +++ b/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c @@ -165,13 +165,13 @@ void EnMm2_Destroy(Actor* thisx, PlayState* play) { s32 func_80AAF224(EnMm2* this, PlayState* play, EnMm2ActionFunc actionFunc) { s16 yawDiff; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = actionFunc; return 1; } yawDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; if ((ABS(yawDiff) <= 0x4300) && (this->actor.xzDistToPlayer < 100.0f)) { - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } return 0; } 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 e834756ff0..7b54272a33 100644 --- a/src/overlays/actors/ovl_En_Ms/z_en_ms.c +++ b/src/overlays/actors/ovl_En_Ms/z_en_ms.c @@ -58,7 +58,7 @@ static InitChainEntry sInitChain[] = { }; void EnMs_SetOfferText(EnMs* this, PlayState* play) { - this->actor.textId = Text_GetFaceReaction(play, 0x1B); + this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_MAGIC_BEAN_SALESMAN); if (this->actor.textId == 0) { if (BEANS_BOUGHT >= 10) { this->actor.textId = 0x406B; @@ -106,10 +106,10 @@ void EnMs_Wait(EnMs* this, PlayState* play) { yawDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; EnMs_SetOfferText(this, play); - if (Actor_ProcessTalkRequest(&this->actor, play)) { // if talk is initiated + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = EnMs_Talk; } else if ((this->actor.xzDistToPlayer < 90.0f) && (ABS(yawDiff) < 0x2000)) { // talk range - func_8002F2CC(&this->actor, play, 90.0f); + Actor_OfferTalk(&this->actor, play, 90.0f); } } diff --git a/src/overlays/actors/ovl_En_Mu/z_en_mu.c b/src/overlays/actors/ovl_En_Mu/z_en_mu.c index 64e5b9ef17..48df82e4ee 100644 --- a/src/overlays/actors/ovl_En_Mu/z_en_mu.c +++ b/src/overlays/actors/ovl_En_Mu/z_en_mu.c @@ -100,10 +100,10 @@ void EnMu_Interact(EnMu* this, PlayState* play) { u16 EnMu_GetTextId(PlayState* play, Actor* thisx) { EnMu* this = (EnMu*)thisx; - u16 faceReaction = Text_GetFaceReaction(play, this->actor.params + 0x3A); + u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_HAGGLING_TOWNSPEOPLE_1 + this->actor.params); - if (faceReaction != 0) { - return faceReaction; + if (textId != 0) { + return textId; } return this->defaultTextId; } @@ -195,7 +195,7 @@ void EnMu_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Gfx* EnMu_DisplayListSetColor(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b, u8 a) { Gfx* dlist; - dlist = Graph_Alloc(gfxCtx, 2 * sizeof(Gfx)); + dlist = GRAPH_ALLOC(gfxCtx, 2 * sizeof(Gfx)); gDPSetEnvColor(dlist, r, g, b, a); gSPEndDisplayList(dlist + 1); return dlist; 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 f79c656387..dd1df6de7b 100644 --- a/src/overlays/actors/ovl_En_Nb/z_en_nb.c +++ b/src/overlays/actors/ovl_En_Nb/z_en_nb.c @@ -1207,7 +1207,7 @@ void EnNb_SetupIdleCrawlspace(EnNb* this, s32 animFinished) { } void func_80AB3838(EnNb* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->action = NB_IN_DIALOG; } else { this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3; @@ -1218,7 +1218,7 @@ void func_80AB3838(EnNb* this, PlayState* play) { this->actor.textId = 0x6024; } - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } } @@ -1299,17 +1299,17 @@ void func_80AB3A7C(EnNb* this, PlayState* play, s32 animFinished) { } void func_80AB3B04(EnNb* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->action = NB_ACTION_30; } else { this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3; - this->actor.textId = Text_GetFaceReaction(play, 0x23); + this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_NABOORU); - if ((this->actor.textId) == 0) { + if (this->actor.textId == 0) { this->actor.textId = 0x6026; } - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } } diff --git a/src/overlays/actors/ovl_En_Niw/z_en_niw.c b/src/overlays/actors/ovl_En_Niw/z_en_niw.c index 0ebce6a0a7..38f55d45b7 100644 --- a/src/overlays/actors/ovl_En_Niw/z_en_niw.c +++ b/src/overlays/actors/ovl_En_Niw/z_en_niw.c @@ -1224,7 +1224,7 @@ void EnNiw_DrawEffects(EnNiw* this, PlayState* play) { Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); Matrix_RotateZ(effect->unk_30, MTXMODE_APPLY); Matrix_Translate(0.0f, -1000.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_niw.c", 1913), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_niw.c", 1913), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gCuccoEffectFeatherModelDL); } diff --git a/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c b/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c index e3e51fbde4..174b0b5747 100644 --- a/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c +++ b/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c @@ -170,7 +170,7 @@ void func_80AB94D0(EnNiwGirl* this, PlayState* play) { this->chasedEnNiw->path = 0; } Math_ApproachZeroF(&this->actor.speed, 0.8f, 0.2f); - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { if (this->actor.textId == 0x70EA) { this->unk_27A = 1; } @@ -179,7 +179,7 @@ void func_80AB94D0(EnNiwGirl* this, PlayState* play) { this->jumpTimer = Rand_ZeroFloat(100.0f) + 250.0f; this->actionFunc = EnNiwGirl_Jump; } else { - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } } } diff --git a/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c b/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c index dc4d97ef79..fd59367d8b 100644 --- a/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c +++ b/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c @@ -99,7 +99,7 @@ void EnNiwLady_Destroy(Actor* thisx, PlayState* play) { void EnNiwLady_ChoseAnimation(EnNiwLady* this, PlayState* play, s32 arg2) { f32 frames; - if (Text_GetFaceReaction(play, 8) != 0) { + if (MaskReaction_GetTextId(play, MASK_REACTION_SET_CUCCO_LADY) != 0) { arg2 = 8; } if (arg2 != this->unk_270) { @@ -241,15 +241,15 @@ void func_80ABA244(EnNiwLady* this, PlayState* play) { phi_s1 = 9; } this->actor.textId = sMissingCuccoTextIds[phi_s1]; - if (Text_GetFaceReaction(play, 8) != 0) { - this->actor.textId = Text_GetFaceReaction(play, 8); + if (MaskReaction_GetTextId(play, MASK_REACTION_SET_CUCCO_LADY) != 0) { + this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_CUCCO_LADY); this->unk_262 = TEXT_STATE_DONE; } if ((this->unk_26C != 0) && (phi_s1 != 9)) { phi_s1 = 10; this->unk_26E = 11; } - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { osSyncPrintf("\n\n"); osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ ねぇちゃん選択\t ☆☆☆☆ %d\n" VT_RST, phi_s1); osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ ねぇちゃんハート ☆☆☆☆ %d\n" VT_RST, this->unk_26C); @@ -258,7 +258,7 @@ void func_80ABA244(EnNiwLady* this, PlayState* play) { osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ this->actor.talk_message ☆☆ %x\n" VT_RST, this->actor.textId); osSyncPrintf(VT_FGCOL(GREEN) "☆☆☆☆☆ this->message_end_code ☆☆ %d\n" VT_RST, this->unk_262); osSyncPrintf("\n\n"); - if (Text_GetFaceReaction(play, 8) == 0) { + if (MaskReaction_GetTextId(play, MASK_REACTION_SET_CUCCO_LADY) == 0) { if (this->actor.textId == 0x503C) { Sfx_PlaySfxCentered(NA_SE_SY_ERROR); this->unk_26C = 2; @@ -296,7 +296,7 @@ void func_80ABA244(EnNiwLady* this, PlayState* play) { } } } else { - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } } @@ -364,7 +364,7 @@ void func_80ABA878(EnNiwLady* this, PlayState* play) { if ((Message_GetState(&play->msgCtx) == TEXT_STATE_NONE) || (Message_GetState(&play->msgCtx) == TEXT_STATE_DONE)) { this->unk_26E = 11; } - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { playerExchangeItemId = func_8002F368(play); if ((playerExchangeItemId == EXCH_ITEM_POCKET_CUCCO) && GET_EVENTCHKINF(EVENTCHKINF_TALON_WOKEN_IN_KAKARIKO)) { Sfx_PlaySfxCentered(NA_SE_SY_TRE_BOX_APPEAR); @@ -381,7 +381,7 @@ void func_80ABA878(EnNiwLady* this, PlayState* play) { this->actionFunc = !this->unk_273 ? func_80ABA778 : func_80ABA9B8; } } else { - func_8002F298(&this->actor, play, 50.0f, EXCH_ITEM_POCKET_CUCCO); + Actor_OfferTalkExchangeEquiCylinder(&this->actor, play, 50.0f, EXCH_ITEM_POCKET_CUCCO); } } @@ -476,18 +476,18 @@ void func_80ABAD38(EnNiwLady* this, PlayState* play) { void func_80ABAD7C(EnNiwLady* this, PlayState* play) { this->actor.textId = 0x503D; - if (Text_GetFaceReaction(play, 8) != 0) { - this->actor.textId = Text_GetFaceReaction(play, 8); + if (MaskReaction_GetTextId(play, MASK_REACTION_SET_CUCCO_LADY) != 0) { + this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_CUCCO_LADY); } if ((Message_GetState(&play->msgCtx) == TEXT_STATE_NONE) || (Message_GetState(&play->msgCtx) == TEXT_STATE_DONE)) { this->unk_26E = 8; } - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->unk_274 = 1; this->unk_26E = this->unk_27A + 9; this->actionFunc = func_80ABAD38; } else { - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } } @@ -549,7 +549,7 @@ void EnNiwLady_Update(Actor* thisx, PlayState* play) { Gfx* EnNiwLady_EmptyDList(GraphicsContext* gfxCtx) { Gfx* dList; - dList = Graph_Alloc(gfxCtx, sizeof(Gfx)); + dList = GRAPH_ALLOC(gfxCtx, sizeof(Gfx)); gSPEndDisplayList(dList); return dList; } 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 9d53ff59a1..1e927ba11a 100644 --- a/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c +++ b/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c @@ -120,7 +120,7 @@ void func_80ABBBA8(EnNutsball* this, PlayState* play) { this->collider.base.atFlags &= ~AT_TYPE_ENEMY & ~AT_BOUNCED & ~AT_HIT; this->collider.base.atFlags |= AT_TYPE_PLAYER; - this->collider.info.toucher.dmgFlags = DMG_DEKU_STICK; + this->collider.elem.toucher.dmgFlags = DMG_DEKU_STICK; Matrix_MtxFToYXZRotS(&player->shieldMf, &sp4C, 0); this->actor.world.rot.y = sp4C.y + 0x8000; this->timer = 30; @@ -172,8 +172,7 @@ void EnNutsball_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); Matrix_Mult(&play->billboardMtxF, MTXMODE_APPLY); Matrix_RotateZ(this->actor.home.rot.z * 9.58738e-05f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_nutsball.c", 333), - G_MTX_MODELVIEW | G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_nutsball.c", 333), G_MTX_MODELVIEW | G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, sDLists[NUTSBALL_GET_TYPE(&this->actor)]); CLOSE_DISPS(play->state.gfxCtx, "../z_en_nutsball.c", 337); 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 547f2cd95e..c9909e9779 100644 --- a/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c +++ b/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c @@ -171,7 +171,7 @@ void EnNwc_DrawChicks(EnNwc* this, PlayState* play) { Matrix_SetTranslateRotateYXZ(chick->pos.x, chick->pos.y + chick->height, chick->pos.z, &chick->rot); Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY); - mtx = Matrix_NewMtx(play->state.gfxCtx, "../z_en_nwc.c", 346); + mtx = MATRIX_NEW(play->state.gfxCtx, "../z_en_nwc.c", 346); gDPSetEnvColor(dList1++, 0, 100, 255, 255); gSPMatrix(dList1++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(dList1++, gCuccoChickBodyDL); @@ -193,7 +193,7 @@ void EnNwc_DrawChicks(EnNwc* this, PlayState* play) { Matrix_Put(&floorMat); Matrix_RotateY(BINANG_TO_RAD(chick->rot.y), MTXMODE_APPLY); Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_nwc.c", 388), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_nwc.c", 388), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gCuccoChickShadowDL); } diff --git a/src/overlays/actors/ovl_En_Ny/z_en_ny.c b/src/overlays/actors/ovl_En_Ny/z_en_ny.c index af104d6390..cff5324d64 100644 --- a/src/overlays/actors/ovl_En_Ny/z_en_ny.c +++ b/src/overlays/actors/ovl_En_Ny/z_en_ny.c @@ -305,9 +305,9 @@ s32 EnNy_CollisionCheck(EnNy* this, PlayState* play) { } else { if (this->collider.base.acFlags & AC_HIT) { this->collider.base.acFlags &= ~AC_HIT; - effectPos.x = this->collider.elements[0].info.bumper.hitPos.x; - effectPos.y = this->collider.elements[0].info.bumper.hitPos.y; - effectPos.z = this->collider.elements[0].info.bumper.hitPos.z; + effectPos.x = this->collider.elements[0].base.bumper.hitPos.x; + effectPos.y = this->collider.elements[0].base.bumper.hitPos.y; + effectPos.z = this->collider.elements[0].base.bumper.hitPos.z; if ((this->unk_1E0 == 0.25f) && (this->unk_1D4 == 0xFF)) { switch (this->actor.colChkInfo.damageEffect) { case 0xE: @@ -530,7 +530,7 @@ void EnNy_Draw(Actor* thisx, PlayState* play) { Collider_UpdateSpheres(0, &this->collider); func_8002ED80(&this->actor, play, 1); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_ny.c", 845), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_ny.c", 845), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPPipeSync(POLY_XLU_DISP++); gDPSetRenderMode(POLY_XLU_DISP++, G_RM_PASS, G_RM_AA_ZB_XLU_SURF2); @@ -544,7 +544,7 @@ void EnNy_Draw(Actor* thisx, PlayState* play) { Matrix_Scale(this->unk_1E0, this->unk_1E0, this->unk_1E0, MTXMODE_APPLY); func_8002EBCC(&this->actor, play, 1); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_ny.c", 868), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_ny.c", 868), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gEnNySpikeDL); } @@ -583,7 +583,7 @@ void EnNy_DrawDeathEffect(Actor* thisx, PlayState* play) { Matrix_Translate(temp->x, temp->y, temp->z, MTXMODE_NEW); scale = this->actor.scale.x * 0.4f * (1.0f + (i * 0.04f)); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_ny.c", 912), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_ny.c", 912), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gEnNyRockBodyDL); } 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 1e01c6a668..f6a21f0195 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 @@ -282,7 +282,7 @@ void func_80ABF708(EnOkarinaTag* this, PlayState* play) { s16 yawDiff; s16 yawDiffNew; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = func_80ABF7CC; } else { yawDiff = this->actor.yawTowardsPlayer - this->actor.world.rot.y; @@ -294,7 +294,7 @@ void func_80ABF708(EnOkarinaTag* this, PlayState* play) { yawDiffNew = ABS(yawDiff); if (yawDiffNew < 0x4300) { this->unk_15A = 0; - func_8002F2CC(&this->actor, play, 70.0f); + Actor_OfferTalk(&this->actor, play, 70.0f); } } } 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 f60cf7c601..61d2ea57a2 100644 --- a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c +++ b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c @@ -490,7 +490,7 @@ void EnOkuta_ProjectileFly(EnOkuta* this, PlayState* play) { this->collider.base.atFlags & AT_BOUNCED) { this->collider.base.atFlags &= ~(AT_HIT | AT_BOUNCED | AT_TYPE_ENEMY); this->collider.base.atFlags |= AT_TYPE_PLAYER; - this->collider.info.toucher.dmgFlags = DMG_DEKU_STICK; + this->collider.elem.toucher.dmgFlags = DMG_DEKU_STICK; Matrix_MtxFToYXZRotS(&player->shieldMf, &shieldRot, 0); this->actor.world.rot.y = shieldRot.y + 0x8000; this->timer = 30; @@ -555,7 +555,7 @@ void EnOkuta_UpdateHeadScale(EnOkuta* this) { void EnOkuta_ColliderCheck(EnOkuta* this, PlayState* play) { if (this->collider.base.acFlags & AC_HIT) { this->collider.base.acFlags &= ~AC_HIT; - Actor_SetDropFlag(&this->actor, &this->collider.info, true); + Actor_SetDropFlag(&this->actor, &this->collider.elem, true); if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) { Enemy_StartFinishingBlow(play, &this->actor); this->actor.colChkInfo.health = 0; @@ -714,7 +714,7 @@ void EnOkuta_Draw(Actor* thisx, PlayState* play) { Matrix_Mult(&play->billboardMtxF, MTXMODE_APPLY); Matrix_RotateZ(BINANG_TO_RAD(this->actor.home.rot.z), MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_okuta.c", 1657), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_okuta.c", 1657), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gOctorokProjectileDL); 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 ca1ba8f4c7..0f2dd95718 100644 --- a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c +++ b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c @@ -649,7 +649,7 @@ void EnOssan_EndInteraction(PlayState* play, EnOssan* this) { // "End of conversation!" osSyncPrintf(VT_FGCOL(YELLOW) "%s[%d]:★★★ 会話終了!! ★★★" VT_RST "\n", "../z_en_oB1.c", 1337); YREG(31) = 0; - Actor_ProcessTalkRequest(&this->actor, play); + Actor_TalkOfferAccepted(&this->actor, play); play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING; play->msgCtx.stateTimer = 4; player->stateFlags2 &= ~PLAYER_STATE2_29; @@ -733,14 +733,14 @@ void EnOssan_SetLookToShopkeeperFromShelf(PlayState* play, EnOssan* this) { void EnOssan_State_Idle(EnOssan* this, PlayState* play, Player* player) { this->headTargetRot = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { // "Start conversation!!" osSyncPrintf(VT_FGCOL(YELLOW) "★★★ 会話開始!! ★★★" VT_RST "\n"); player->stateFlags2 |= PLAYER_STATE2_29; Play_SetShopBrowsingViewpoint(play); EnOssan_SetStateStartShopping(play, this, false); } else if (this->actor.xzDistToPlayer < 100.0f) { - func_8002F2CC(&this->actor, play, 100); + Actor_OfferTalk(&this->actor, play, 100); } } @@ -1699,7 +1699,7 @@ void EnOssan_State_ContinueShoppingPrompt(EnOssan* this, PlayState* play, Player Play_SetViewpoint(play, VIEWPOINT_PIVOT); Message_StartTextbox(play, this->actor.textId, &this->actor); EnOssan_SetStateStartShopping(play, this, true); - func_8002F298(&this->actor, play, 100.0f, -1); + Actor_OfferTalkExchangeEquiCylinder(&this->actor, play, 100.0f, -1); break; case 1: default: @@ -1718,7 +1718,7 @@ void EnOssan_State_ContinueShoppingPrompt(EnOssan* this, PlayState* play, Player Play_SetViewpoint(play, VIEWPOINT_PIVOT); Message_StartTextbox(play, this->actor.textId, &this->actor); EnOssan_SetStateStartShopping(play, this, true); - func_8002F298(&this->actor, play, 100.0f, -1); + Actor_OfferTalkExchangeEquiCylinder(&this->actor, play, 100.0f, -1); } } @@ -2372,14 +2372,14 @@ s32 EnOssan_OverrideLimbDrawKokiriShopkeeper(PlayState* play, s32 limbIndex, Gfx } Gfx* EnOssan_EmptyDList(GraphicsContext* gfxCtx) { - Gfx* disp = Graph_Alloc(gfxCtx, sizeof(Gfx)); + Gfx* disp = GRAPH_ALLOC(gfxCtx, sizeof(Gfx)); gSPEndDisplayList(disp); return disp; } Gfx* EnOssan_SetEnvColor(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b, u8 a) { - Gfx* disp = Graph_Alloc(gfxCtx, sizeof(Gfx) * 2); + Gfx* disp = GRAPH_ALLOC(gfxCtx, sizeof(Gfx) * 2); gDPSetEnvColor(disp, r, g, b, a); gSPEndDisplayList(disp + 1); 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 6ad26d1a1d..bfc68d51b4 100644 --- a/src/overlays/actors/ovl_En_Owl/z_en_owl.c +++ b/src/overlays/actors/ovl_En_Owl/z_en_owl.c @@ -257,7 +257,7 @@ s32 EnOwl_CheckInitTalk(EnOwl* this, PlayState* play, u16 textId, f32 targetDist s32 timer; f32 distCheck; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { if (this->actor.params == 0xFFF) { this->actionFlags |= 0x40; timer = -100; @@ -277,19 +277,19 @@ s32 EnOwl_CheckInitTalk(EnOwl* this, PlayState* play, u16 textId, f32 targetDist distCheck = (flags & 2) ? 200.0f : 1000.0f; if (this->actor.xzDistToPlayer < targetDist) { this->actor.flags |= ACTOR_FLAG_16; - func_8002F1C4(&this->actor, play, targetDist, distCheck, EXCH_ITEM_NONE); + Actor_OfferTalkExchange(&this->actor, play, targetDist, distCheck, EXCH_ITEM_NONE); } return false; } } s32 func_80ACA558(EnOwl* this, PlayState* play, u16 textId) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { return true; } else { this->actor.textId = textId; if (this->actor.xzDistToPlayer < 120.0f) { - func_8002F1C4(&this->actor, play, 350.0f, 1000.0f, EXCH_ITEM_NONE); + Actor_OfferTalkExchange(&this->actor, play, 350.0f, 1000.0f, EXCH_ITEM_NONE); } return false; } 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 82bef2394c..63219d2f0c 100644 --- a/src/overlays/actors/ovl_En_Part/z_en_part.c +++ b/src/overlays/actors/ovl_En_Part/z_en_part.c @@ -267,7 +267,7 @@ Gfx* func_80ACEAC0(GraphicsContext* gfxCtx, u8 primR, u8 primG, u8 primB, u8 env Gfx* dList; Gfx* dListHead; - dList = Graph_Alloc(gfxCtx, 4 * sizeof(Gfx)); + dList = GRAPH_ALLOC(gfxCtx, 4 * sizeof(Gfx)); dListHead = dList; gDPPipeSync(dListHead++); @@ -313,7 +313,7 @@ void EnPart_Draw(Actor* thisx, PlayState* play) { } if (this->displayList != NULL) { - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_part.c", 696), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_part.c", 696), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, this->displayList); } 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 2272f235b8..973b02717c 100644 --- a/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c +++ b/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c @@ -231,7 +231,7 @@ void EnPeehat_Init(Actor* thisx, PlayState* play) { this->colCylinder.dim.radius = 25; this->colCylinder.dim.height = 15; this->colCylinder.dim.yShift = -5; - this->colCylinder.info.bumper.dmgFlags = DMG_ARROW | DMG_SLINGSHOT; + this->colCylinder.elem.bumper.dmgFlags = DMG_ARROW | DMG_SLINGSHOT; this->colQuad.base.atFlags = AT_ON | AT_TYPE_ENEMY; this->colQuad.base.acFlags = AC_ON | AC_TYPE_PLAYER; this->actor.naviEnemyId = NAVI_ENEMY_PEAHAT_LARVA; @@ -556,7 +556,7 @@ void EnPeehat_Larva_StateSeekPlayer(EnPeehat* this, PlayState* play) { Actor_PlaySfx(&this->actor, NA_SE_EN_PIHAT_SM_FLY - SFX_FLAG); if (this->colQuad.base.atFlags & AT_BOUNCED) { this->actor.colChkInfo.health = 0; - this->colQuad.base.acFlags = this->colQuad.base.acFlags & ~AC_BOUNCED; + this->colQuad.base.acFlags &= ~AC_BOUNCED; EnPeehat_SetStateAttackRecoil(this); } else if ((this->colQuad.base.atFlags & AT_HIT) || (this->colCylinder.base.acFlags & AC_HIT) || (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND)) { @@ -1016,7 +1016,7 @@ s32 EnPeehat_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f Matrix_RotateZ(-(this->jiggleRot * 0.1f), MTXMODE_APPLY); Matrix_RotateY(-(this->jiggleRot * 0.13f), MTXMODE_APPLY); Matrix_RotateX(-(this->jiggleRot * 0.115f), MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_peehat.c", 1959), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_peehat.c", 1959), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, *dList); Matrix_Pop(); @@ -1050,7 +1050,7 @@ void EnPeehat_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* r } Matrix_RotateY(3.2f + damageYRot, MTXMODE_APPLY); Matrix_Scale(0.3f, 0.2f, 0.2f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_peehat.c", 1990), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_peehat.c", 1990), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, *dList); Matrix_Pop(); diff --git a/src/overlays/actors/ovl_En_Po_Desert/z_en_po_desert.c b/src/overlays/actors/ovl_En_Po_Desert/z_en_po_desert.c index 35409dae48..ee7795db8e 100644 --- a/src/overlays/actors/ovl_En_Po_Desert/z_en_po_desert.c +++ b/src/overlays/actors/ovl_En_Po_Desert/z_en_po_desert.c @@ -237,7 +237,7 @@ void EnPoDesert_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* if (CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_7)) { gDPPipeSync((*gfxP)++); gDPSetEnvColor((*gfxP)++, color.r, color.g, color.b, 255); - gSPMatrix((*gfxP)++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_po_desert.c", 523), + gSPMatrix((*gfxP)++, MATRIX_NEW(play->state.gfxCtx, "../z_en_po_desert.c", 523), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList((*gfxP)++, gPoeFieldLanternDL); gSPDisplayList((*gfxP)++, gPoeFieldLanternTopDL); diff --git a/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c b/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c index 6ac3ccc9ba..9c2de64682 100644 --- a/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c +++ b/src/overlays/actors/ovl_En_Po_Field/z_en_po_field.c @@ -263,7 +263,7 @@ void EnPoField_SetupFlee(EnPoField* this) { void EnPoField_SetupDamage(EnPoField* this) { Animation_MorphToPlayOnce(&this->skelAnime, &gPoeFieldDamagedAnim, -6.0f); - if (this->collider.info.acHitInfo->toucher.dmgFlags & (DMG_ARROW | DMG_SLINGSHOT)) { + if (this->collider.elem.acHitElem->toucher.dmgFlags & (DMG_ARROW | DMG_SLINGSHOT)) { this->actor.world.rot.y = this->collider.base.ac->world.rot.y; } else { this->actor.world.rot.y = Actor_WorldYawTowardActor(&this->actor, this->collider.base.ac) + 0x8000; @@ -646,7 +646,7 @@ void func_80AD58D4(EnPoField* this, PlayState* play) { if (this->actionTimer != 0) { this->actionTimer--; } - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { EnPoField_SetupInteractWithSoul(this); return; } @@ -658,7 +658,7 @@ void func_80AD58D4(EnPoField* this, PlayState* play) { } if (this->collider.base.ocFlags1 & OC1_HIT) { this->actor.flags |= ACTOR_FLAG_16; - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } else { this->actor.flags &= ~ACTOR_FLAG_16; CollisionCheck_SetOC(play, &play->colChkCtx, &this->collider.base); @@ -792,7 +792,7 @@ void EnPoField_DrawFlame(EnPoField* this, PlayState* play) { Matrix_Scale((this->flameScale * 0.7f) + 0.00090000004f, (0.003f - this->flameScale) + 0.003f, 0.003f, MTXMODE_APPLY); } - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_po_field.c", 1709), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_po_field.c", 1709), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffFire1DL); CLOSE_DISPS(play->state.gfxCtx, "../z_en_po_field.c", 1712); @@ -894,7 +894,7 @@ void EnPoField_PostLimDraw2(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* EnPoField* this = (EnPoField*)thisx; if (this->actionFunc == EnPoField_Death && this->actionTimer >= 2 && limbIndex == 8) { - gSPMatrix((*gfxP)++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_po_field.c", 1916), + gSPMatrix((*gfxP)++, MATRIX_NEW(play->state.gfxCtx, "../z_en_po_field.c", 1916), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList((*gfxP)++, gPoeFieldBurnDL); } @@ -946,7 +946,7 @@ void EnPoField_Draw(Actor* thisx, PlayState* play) { gDPPipeSync(POLY_OPA_DISP++); gDPSetEnvColor(POLY_OPA_DISP++, this->soulColor.r, this->soulColor.g, this->soulColor.b, 255); Matrix_Put(&sLimb7Mtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_po_field.c", 2033), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_po_field.c", 2033), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gPoeFieldLanternDL); gSPDisplayList(POLY_OPA_DISP++, gPoeFieldLanternTopDL); @@ -978,7 +978,7 @@ void EnPoField_DrawSoul(Actor* thisx, PlayState* play) { Lights_PointGlowSetInfo(&this->lightInfo, this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, this->soulColor.r, this->soulColor.g, this->soulColor.b, 200); gDPSetEnvColor(POLY_OPA_DISP++, this->soulColor.r, this->soulColor.g, this->soulColor.b, 255); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_po_field.c", 2104), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_po_field.c", 2104), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gPoeFieldLanternDL); gSPDisplayList(POLY_OPA_DISP++, gPoeFieldLanternTopDL); @@ -992,7 +992,7 @@ void EnPoField_DrawSoul(Actor* thisx, PlayState* play) { this->lightColor.a); gDPSetEnvColor(POLY_XLU_DISP++, this->lightColor.r, this->lightColor.g, this->lightColor.b, 255); Matrix_RotateY((s16)(Camera_GetCamDirYaw(GET_ACTIVE_CAM(play)) + 0x8000) * 9.58738e-05f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_po_field.c", 2143), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_po_field.c", 2143), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gPoeFieldSoulDL); } diff --git a/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c b/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c index 0b1343767b..8ac9f9f439 100644 --- a/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c +++ b/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c @@ -159,13 +159,13 @@ void EnPoRelay_CorrectY(EnPoRelay* this) { void EnPoRelay_Idle(EnPoRelay* this, PlayState* play) { Math_ScaledStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 0x100); - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actor.flags &= ~ACTOR_FLAG_16; this->actionFunc = EnPoRelay_Talk; } else if (this->actor.xzDistToPlayer < 250.0f) { this->actor.flags |= ACTOR_FLAG_16; this->actor.textId = this->textId; - func_8002F2CC(&this->actor, play, 250.0f); + Actor_OfferTalk(&this->actor, play, 250.0f); } func_8002F974(&this->actor, NA_SE_EN_PO_FLY - SFX_FLAG); } @@ -254,14 +254,14 @@ void EnPoRelay_Race(EnPoRelay* this, PlayState* play) { void EnPoRelay_EndRace(EnPoRelay* this, PlayState* play) { Math_ScaledStepToS(&this->actor.shape.rot.y, -0x4000, 0x800); - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = EnPoRelay_Talk2; } else if (play->roomCtx.curRoom.num == 5) { Actor_Kill(&this->actor); gSaveContext.timerState = TIMER_STATE_OFF; } else if (Actor_IsFacingAndNearPlayer(&this->actor, 150.0f, 0x3000)) { this->actor.textId = this->textId; - func_8002F2CC(&this->actor, play, 250.0f); + Actor_OfferTalk(&this->actor, play, 250.0f); } func_8002F974(&this->actor, NA_SE_EN_PO_FLY - SFX_FLAG); } @@ -391,7 +391,7 @@ void EnPoRelay_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* this->lightColor.b, 200); } else if (limbIndex == 8) { OPEN_DISPS(play->state.gfxCtx, "../z_en_po_relay.c", 916); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_po_relay.c", 918), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_po_relay.c", 918), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gDampeHaloDL); CLOSE_DISPS(play->state.gfxCtx, "../z_en_po_relay.c", 922); 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 ff1029c3d1..27da379c4d 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 @@ -209,8 +209,8 @@ void EnPoSisters_Init(Actor* thisx, PlayState* play) { func_80AD9AA8(this, play); } else { this->actor.flags &= ~(ACTOR_FLAG_9 | ACTOR_FLAG_14); - this->collider.info.elemType = ELEMTYPE_UNK4; - this->collider.info.bumper.dmgFlags |= DMG_DEKU_NUT; + this->collider.elem.elemType = ELEMTYPE_UNK4; + this->collider.elem.bumper.dmgFlags |= DMG_DEKU_NUT; this->collider.base.ocFlags1 = OC1_NONE; func_80AD9C24(this, NULL); } @@ -301,7 +301,7 @@ void func_80AD9568(EnPoSisters* this) { void func_80AD95D8(EnPoSisters* this) { Animation_MorphToPlayOnce(&this->skelAnime, &gPoeSistersDamagedAnim, -3.0f); if (this->collider.base.ac != NULL) { - this->actor.world.rot.y = (this->collider.info.acHitInfo->toucher.dmgFlags & (DMG_ARROW | DMG_SLINGSHOT)) + this->actor.world.rot.y = (this->collider.elem.acHitElem->toucher.dmgFlags & (DMG_ARROW | DMG_SLINGSHOT)) ? this->collider.base.ac->world.rot.y : Actor_WorldYawTowardActor(&this->actor, this->collider.base.ac) + 0x8000; } @@ -744,7 +744,7 @@ void func_80ADAD54(EnPoSisters* this, PlayState* play) { if (SkelAnime_Update(&this->skelAnime)) { this->unk_22E.a = 0; - this->collider.info.bumper.dmgFlags = DMG_MAGIC_ICE | DMG_MAGIC_FIRE | DMG_DEKU_NUT; + this->collider.elem.bumper.dmgFlags = DMG_MAGIC_ICE | DMG_MAGIC_FIRE | DMG_DEKU_NUT; func_80AD93C4(this); } else { endFrame = this->skelAnime.endFrame; @@ -757,7 +757,7 @@ void func_80ADAE6C(EnPoSisters* this, PlayState* play) { this->unk_22E.a = 255; if (this->unk_194 != 0) { this->unk_199 |= 1; - this->collider.info.bumper.dmgFlags = (DMG_SWORD | DMG_ARROW | DMG_HAMMER | DMG_MAGIC_ICE | DMG_MAGIC_FIRE | + this->collider.elem.bumper.dmgFlags = (DMG_SWORD | DMG_ARROW | DMG_HAMMER | DMG_MAGIC_ICE | DMG_MAGIC_FIRE | DMG_HOOKSHOT | DMG_EXPLOSIVE | DMG_DEKU_STICK); if (this->unk_19A != 0) { this->unk_19A--; @@ -1134,7 +1134,7 @@ void func_80ADC10C(EnPoSisters* this, PlayState* play) { if (this->collider.base.acFlags & AC_HIT) { this->collider.base.acFlags &= ~AC_HIT; - Actor_SetDropFlag(&this->actor, &this->collider.info, true); + Actor_SetDropFlag(&this->actor, &this->collider.elem, true); if (this->unk_195 != 0) { ((EnPoSisters*)this->actor.parent)->unk_19C--; Actor_PlaySfx(&this->actor, NA_SE_EN_PO_LAUGH2); @@ -1275,9 +1275,9 @@ s32 EnPoSisters_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Ve if (limbIndex == 1 && (this->unk_199 & 0x40)) { if (this->unk_19A >= 284) { - rot->x += (this->unk_19A * 0x1000) + 0xFFEE4000; + rot->x += (this->unk_19A * 0x1000) - 0x11C000; } else { - rot->x += (this->unk_19A * 0x1000) + 0xFFFF1000; + rot->x += (this->unk_19A * 0x1000) - 0xF000; } } if (this->unk_22E.a == 0 || limbIndex == 8 || (this->actionFunc == func_80ADAFC0 && this->unk_19A >= 8)) { @@ -1302,7 +1302,7 @@ void EnPoSisters_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s s32 pad; if (this->actionFunc == func_80ADAFC0 && this->unk_19A >= 8 && limbIndex == 9) { - gSPMatrix((*gfxP)++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_po_sisters.c", 2876), + gSPMatrix((*gfxP)++, MATRIX_NEW(play->state.gfxCtx, "../z_en_po_sisters.c", 2876), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList((*gfxP)++, gPoSistersBurnDL); } @@ -1367,7 +1367,7 @@ void EnPoSisters_Draw(Actor* thisx, PlayState* play) { } if (!(this->unk_199 & 0x80)) { Matrix_Put(&this->unk_2F8); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_po_sisters.c", 3034), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_po_sisters.c", 3034), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gPoSistersTorchDL); } @@ -1411,7 +1411,7 @@ void EnPoSisters_Draw(Actor* thisx, PlayState* play) { phi_f20 = CLAMP(phi_f20, 0.5f, 0.8f) * 0.007f; } Matrix_Scale(phi_f20, phi_f20, phi_f20, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_po_sisters.c", 3132), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_po_sisters.c", 3132), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffFire1DL); } 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 3eb04385e4..ee737aaab7 100644 --- a/src/overlays/actors/ovl_En_Poh/z_en_poh.c +++ b/src/overlays/actors/ovl_En_Poh/z_en_poh.c @@ -293,7 +293,7 @@ void func_80ADE28C(EnPoh* this) { } else { Animation_PlayOnce(&this->skelAnime, &gPoeComposerDamagedAnim); } - if (this->colliderCyl.info.acHitInfo->toucher.dmgFlags & (DMG_ARROW | DMG_SLINGSHOT)) { + if (this->colliderCyl.elem.acHitElem->toucher.dmgFlags & (DMG_ARROW | DMG_SLINGSHOT)) { this->actor.world.rot.y = this->colliderCyl.base.ac->world.rot.y; } else { this->actor.world.rot.y = Actor_WorldYawTowardActor(&this->actor, this->colliderCyl.base.ac) + 0x8000; @@ -763,7 +763,7 @@ void func_80ADFE80(EnPoh* this, PlayState* play) { if (this->unk_198 != 0) { this->unk_198--; } - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { if (this->actor.params >= EN_POH_SHARP) { func_80ADE9BC(this); } else { @@ -778,7 +778,7 @@ void func_80ADFE80(EnPoh* this, PlayState* play) { } if (this->colliderCyl.base.ocFlags1 & OC1_HIT) { this->actor.flags |= ACTOR_FLAG_16; - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } else { this->actor.flags &= ~ACTOR_FLAG_16; CollisionCheck_SetOC(play, &play->colChkCtx, &this->colliderCyl.base); @@ -1045,7 +1045,7 @@ void EnPoh_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Collider_UpdateSpheres(limbIndex, &this->colliderSph); if (this->actionFunc == func_80ADF15C && this->unk_198 >= 2 && limbIndex == this->info->unk_7) { - gSPMatrix((*gfxP)++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_poh.c", 2460), + gSPMatrix((*gfxP)++, MATRIX_NEW(play->state.gfxCtx, "../z_en_poh.c", 2460), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList((*gfxP)++, this->info->burnDisplayList); } @@ -1088,7 +1088,7 @@ void EnPoh_DrawRegular(Actor* thisx, PlayState* play) { gDPPipeSync(POLY_OPA_DISP++); gDPSetEnvColor(POLY_OPA_DISP++, this->envColor.r, this->envColor.g, this->envColor.b, 255); Matrix_Put(&this->unk_368); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_poh.c", 2676), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_poh.c", 2676), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, this->info->lanternDisplayList); CLOSE_DISPS(play->state.gfxCtx, "../z_en_poh.c", 2681); @@ -1139,7 +1139,7 @@ void EnPoh_DrawComposer(Actor* thisx, PlayState* play) { gDPPipeSync(POLY_OPA_DISP++); gDPSetEnvColor(POLY_OPA_DISP++, this->envColor.r, this->envColor.g, this->envColor.b, 255); Matrix_Put(&this->unk_368); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_poh.c", 2787), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_poh.c", 2787), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, this->info->lanternDisplayList); gSPDisplayList(POLY_OPA_DISP++, gPoeComposerLanternBottomDL); @@ -1169,7 +1169,7 @@ void EnPoh_DrawSoul(Actor* thisx, PlayState* play) { gDPSetEnvColor(POLY_OPA_DISP++, this->envColor.r, this->envColor.g, this->envColor.b, 255); Lights_PointGlowSetInfo(&this->lightInfo, this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, this->envColor.r, this->envColor.g, this->envColor.b, 200); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_poh.c", 2854), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_poh.c", 2854), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, this->info->lanternDisplayList); if (this->infoIdx == EN_POH_INFO_COMPOSER) { @@ -1190,7 +1190,7 @@ void EnPoh_DrawSoul(Actor* thisx, PlayState* play) { this->info->primColor.b, this->lightColor.a); gDPSetEnvColor(POLY_XLU_DISP++, this->lightColor.r, this->lightColor.g, this->lightColor.b, 255); Matrix_RotateY((s16)(Camera_GetCamDirYaw(GET_ACTIVE_CAM(play)) + 0x8000) * 9.58738e-05f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_poh.c", 2910), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_poh.c", 2910), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, this->info->soulDisplayList); } 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 1f8e1b84e8..b258cb28bc 100644 --- a/src/overlays/actors/ovl_En_Rd/z_en_rd.c +++ b/src/overlays/actors/ovl_En_Rd/z_en_rd.c @@ -801,7 +801,7 @@ void EnRd_UpdateDamage(EnRd* this, PlayState* play) { this->damageEffect = this->actor.colChkInfo.damageEffect; if (this->action != REDEAD_ACTION_RISE_FROM_COFFIN) { - Actor_SetDropFlag(&this->actor, &this->collider.info, true); + Actor_SetDropFlag(&this->actor, &this->collider.elem, true); if (player->unk_844 != 0) { this->unk_31D = player->unk_845; } diff --git a/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c b/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c index 3fc213e155..642dd155f9 100644 --- a/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c +++ b/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c @@ -132,8 +132,8 @@ void EnReeba_Init(Actor* thisx, PlayState* play) { // "Reeba Boss Appears %f" osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ リーバぼす登場 ☆☆☆☆☆ %f\n" VT_RST, this->scale); this->actor.colChkInfo.health = 20; - this->collider.info.toucher.effect = 4; - this->collider.info.toucher.damage = 16; + this->collider.elem.toucher.effect = 4; + this->collider.elem.toucher.damage = 16; Actor_ChangeCategory(play, &play->actorCtx, &this->actor, ACTORCAT_ENEMY); } 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 e4a33a36b2..19b867eb8c 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 @@ -30,7 +30,7 @@ void EnRiverSound_Init(Actor* thisx, PlayState* play) { this->playSfx = false; this->pathIndex = (this->actor.params >> 8) & 0xFF; - this->actor.params = this->actor.params & 0xFF; + this->actor.params &= 0xFF; if (this->actor.params >= RS_GANON_TOWER_0) { // Incrementally increase volume of NA_BGM_GANON_TOWER for each new room during the climb of Ganon's Tower 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 736d1f1512..547a12b7f3 100644 --- a/src/overlays/actors/ovl_En_Rr/z_en_rr.c +++ b/src/overlays/actors/ovl_En_Rr/z_en_rr.c @@ -417,9 +417,9 @@ void EnRr_CollisionCheck(EnRr* this, PlayState* play) { this->collider2.base.acFlags &= ~AC_HIT; // "Kakin" (not sure what this means) osSyncPrintf(VT_FGCOL(GREEN) "カキン(%d)!!" VT_RST "\n", this->frameCount); - hitPos.x = this->collider2.info.bumper.hitPos.x; - hitPos.y = this->collider2.info.bumper.hitPos.y; - hitPos.z = this->collider2.info.bumper.hitPos.z; + hitPos.x = this->collider2.elem.bumper.hitPos.x; + hitPos.y = this->collider2.elem.bumper.hitPos.y; + hitPos.z = this->collider2.elem.bumper.hitPos.z; CollisionCheck_SpawnShieldParticlesMetal2(play, &hitPos); } else { if (this->collider1.base.acFlags & AC_HIT) { @@ -427,9 +427,9 @@ void EnRr_CollisionCheck(EnRr* this, PlayState* play) { this->collider1.base.acFlags &= ~AC_HIT; if (this->actor.colChkInfo.damageEffect != 0) { - hitPos.x = this->collider1.info.bumper.hitPos.x; - hitPos.y = this->collider1.info.bumper.hitPos.y; - hitPos.z = this->collider1.info.bumper.hitPos.z; + hitPos.x = this->collider1.elem.bumper.hitPos.x; + hitPos.y = this->collider1.elem.bumper.hitPos.y; + hitPos.z = this->collider1.elem.bumper.hitPos.z; CollisionCheck_BlueBlood(play, NULL, &hitPos); } switch (this->actor.colChkInfo.damageEffect) { @@ -849,7 +849,7 @@ void EnRr_Draw(Actor* thisx, PlayState* play) { Vec3f zeroVec; EnRr* this = (EnRr*)thisx; s32 i; - Mtx* segMtx = Graph_Alloc(play->state.gfxCtx, 4 * sizeof(Mtx)); + Mtx* segMtx = GRAPH_ALLOC(play->state.gfxCtx, 4 * sizeof(Mtx)); OPEN_DISPS(play->state.gfxCtx, "../z_en_rr.c", 1478); @@ -864,7 +864,7 @@ void EnRr_Draw(Actor* thisx, PlayState* play) { Matrix_Scale((1.0f + this->bodySegs[RR_BASE].scaleMod.x) * this->bodySegs[RR_BASE].scale.x, (1.0f + this->bodySegs[RR_BASE].scaleMod.y) * this->bodySegs[RR_BASE].scale.y, (1.0f + this->bodySegs[RR_BASE].scaleMod.z) * this->bodySegs[RR_BASE].scale.z, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_rr.c", 1501), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_rr.c", 1501), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Matrix_Pop(); @@ -880,7 +880,7 @@ void EnRr_Draw(Actor* thisx, PlayState* play) { Matrix_Scale((1.0f + this->bodySegs[i].scaleMod.x) * this->bodySegs[i].scale.x, (1.0f + this->bodySegs[i].scaleMod.y) * this->bodySegs[i].scale.y, (1.0f + this->bodySegs[i].scaleMod.z) * this->bodySegs[i].scale.z, MTXMODE_APPLY); - Matrix_ToMtx(segMtx, "../z_en_rr.c", 1527); + MATRIX_TO_MTX(segMtx, "../z_en_rr.c", 1527); Matrix_Pop(); segMtx++; Matrix_MultVec3f(&zeroVec, &this->effectPos[i]); diff --git a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c index c2d4dff325..a2132969b2 100644 --- a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c +++ b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c @@ -1493,17 +1493,17 @@ void func_80AEE050(EnRu1* this) { } s32 func_80AEE264(EnRu1* this, PlayState* play) { - if (!Actor_ProcessTalkRequest(&this->actor, play)) { + if (!Actor_TalkOfferAccepted(&this->actor, play)) { this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3; if (GET_INFTABLE(INFTABLE_143)) { this->actor.textId = 0x404E; - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } else if (GET_INFTABLE(INFTABLE_142)) { this->actor.textId = 0x404D; - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } else { this->actor.textId = 0x404C; - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } return false; } @@ -2126,13 +2126,13 @@ void func_80AEFD38(EnRu1* this, PlayState* play) { } s32 func_80AEFDC0(EnRu1* this, PlayState* play) { - if (!Actor_ProcessTalkRequest(&this->actor, play)) { + if (!Actor_TalkOfferAccepted(&this->actor, play)) { this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3; - this->actor.textId = Text_GetFaceReaction(play, 0x1F); + this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_RUTO); if (this->actor.textId == 0) { this->actor.textId = 0x402C; } - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); return false; } return true; diff --git a/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c b/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c index 7116afda90..283b51c8c1 100644 --- a/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c +++ b/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c @@ -677,7 +677,7 @@ void func_80AF39DC(EnRu2* this, PlayState* play) { player = GET_PLAYER(play); // "uorya-!" (screeming sound) osSyncPrintf("うおりゃー! \n"); - func_8005B1A4(GET_ACTIVE_CAM(play)); + Camera_SetFinishedFlag(GET_ACTIVE_CAM(play)); player->actor.world.pos.x = 820.0f; player->actor.world.pos.y = 0.0f; player->actor.world.pos.z = 180.0f; @@ -688,7 +688,7 @@ void func_80AF39DC(EnRu2* this, PlayState* play) { this->unk_2C3 = dialogState; if (Message_GetState(msgCtx) == TEXT_STATE_CLOSING) { this->action = 18; - func_8005B1A4(GET_ACTIVE_CAM(play)); + Camera_SetFinishedFlag(GET_ACTIVE_CAM(play)); } } diff --git a/src/overlays/actors/ovl_En_Sa/z_en_sa.c b/src/overlays/actors/ovl_En_Sa/z_en_sa.c index 2691735f32..2994a7a7fb 100644 --- a/src/overlays/actors/ovl_En_Sa/z_en_sa.c +++ b/src/overlays/actors/ovl_En_Sa/z_en_sa.c @@ -65,9 +65,7 @@ static ColliderCylinderInit sCylinderInit = { { 20, 46, 0, { 0, 0, 0 } }, }; -static CollisionCheckInfoInit2 sColChkInfoInit = { - 0, 0, 0, 0, MASS_IMMOVABLE, -}; +static CollisionCheckInfoInit2 sColChkInfoInit = { 0, 0, 0, 0, MASS_IMMOVABLE }; typedef enum { /* 0 */ ENSA_ANIM1_0, @@ -140,10 +138,10 @@ s16 func_80AF5560(EnSa* this, PlayState* play) { u16 EnSa_GetTextId(PlayState* play, Actor* thisx) { EnSa* this = (EnSa*)thisx; - u16 reaction = Text_GetFaceReaction(play, 0x10); + u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_SARIA); - if (reaction != 0) { - return reaction; + if (textId != 0) { + return textId; } if (CHECK_QUEST_ITEM(QUEST_SONG_SARIA)) { return 0x10AD; diff --git a/src/overlays/actors/ovl_En_Sb/z_en_sb.c b/src/overlays/actors/ovl_En_Sb/z_en_sb.c index a6eda4e5d0..8f646fcded 100644 --- a/src/overlays/actors/ovl_En_Sb/z_en_sb.c +++ b/src/overlays/actors/ovl_En_Sb/z_en_sb.c @@ -388,7 +388,7 @@ s32 EnSb_UpdateDamage(EnSb* this, PlayState* play) { FALLTHROUGH; case 15: // explosions, arrow, hammer, ice arrow, light arrow, spirit arrow, shadow arrow if (EnSb_IsVulnerable(this)) { - hitY = this->collider.info.bumper.hitPos.y - this->actor.world.pos.y; + hitY = this->collider.elem.bumper.hitPos.y - this->actor.world.pos.y; yawDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; if ((hitY < 30.0f) && (hitY > 10.0f) && (yawDiff >= -0x1FFF) && (yawDiff < 0x2000)) { Actor_ApplyDamage(&this->actor); @@ -406,7 +406,7 @@ s32 EnSb_UpdateDamage(EnSb* this, PlayState* play) { case 1: // hookshot/longshot case 13: // all sword damage if (EnSb_IsVulnerable(this)) { - hitY = this->collider.info.bumper.hitPos.y - this->actor.world.pos.y; + hitY = this->collider.elem.bumper.hitPos.y - this->actor.world.pos.y; yawDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; if ((hitY < 30.0f) && (hitY > 10.0f) && (yawDiff >= -0x1FFF) && (yawDiff < 0x2000)) { Actor_ApplyDamage(&this->actor); @@ -430,9 +430,9 @@ s32 EnSb_UpdateDamage(EnSb* this, PlayState* play) { // if player attack didn't do damage, play recoil sound effect and spawn sparks if (!tookDamage) { - hitPoint.x = this->collider.info.bumper.hitPos.x; - hitPoint.y = this->collider.info.bumper.hitPos.y; - hitPoint.z = this->collider.info.bumper.hitPos.z; + hitPoint.x = this->collider.elem.bumper.hitPos.x; + hitPoint.y = this->collider.elem.bumper.hitPos.y; + hitPoint.z = this->collider.elem.bumper.hitPos.z; CollisionCheck_SpawnShieldParticlesMetal2(play, &hitPoint); } } diff --git a/src/overlays/actors/ovl_En_Scene_Change/z_en_scene_change.c b/src/overlays/actors/ovl_En_Scene_Change/z_en_scene_change.c index a73274afc3..0bc1a11879 100644 --- a/src/overlays/actors/ovl_En_Scene_Change/z_en_scene_change.c +++ b/src/overlays/actors/ovl_En_Scene_Change/z_en_scene_change.c @@ -55,7 +55,7 @@ void EnSceneChange_Draw(Actor* thisx, PlayState* play) { s32 pad2[2]; Gfx* displayListHead; - displayList = Graph_Alloc(play->state.gfxCtx, 0x3C0); + displayList = GRAPH_ALLOC(play->state.gfxCtx, 0x3C0); OPEN_DISPS(play->state.gfxCtx, "../z_en_scene_change.c", 290); 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 a620ea8368..01111465ec 100644 --- a/src/overlays/actors/ovl_En_Sda/z_en_sda.c +++ b/src/overlays/actors/ovl_En_Sda/z_en_sda.c @@ -115,7 +115,7 @@ void EnSda_Update(Actor* thisx, PlayState* play) { void EnSda_Draw(Actor* thisx, PlayState* play) { EnSda* this = (EnSda*)thisx; Player* player; - u8* shadowTexture = Graph_Alloc(play->state.gfxCtx, 0x1000); + u8* shadowTexture = GRAPH_ALLOC(play->state.gfxCtx, 0x1000); osSyncPrintf("SDA DRAW \n"); @@ -351,7 +351,7 @@ void func_80AF9C70(u8* shadowTexture, Player* player, PlayState* play) { 20.0f; Matrix_Translate(tempx, 0.0f, tempz, MTXMODE_APPLY); Matrix_Scale(((BREG(56) - 250) / 1000.0f) + 0.6f, 1.0f, ((BREG(59) - 250) / 1000.0f) + 0.6f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_sda.c", 860), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_sda.c", 860), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, D_80AFA3D8); gDPLoadTextureBlock(POLY_XLU_DISP++, shadowTexture, G_IM_FMT_I, G_IM_SIZ_8b, 0x40, 0x40, 0, @@ -360,7 +360,7 @@ void func_80AF9C70(u8* shadowTexture, Player* player, PlayState* play) { for (phi_s1 = 0; phi_s1 < KREG(78); phi_s1++) { Matrix_Scale((KREG(79) / 100.0f) + 1.0f, 1.0f, (KREG(79) / 100.0f) + 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_sda.c", 877), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_sda.c", 877), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, D_80AFA3F8); } diff --git a/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c b/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c index 95b3526aea..406f96ce97 100644 --- a/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c +++ b/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c @@ -250,7 +250,7 @@ void EnShopnuts_SpawnSalesman(EnShopnuts* this, PlayState* play) { void EnShopnuts_ColliderCheck(EnShopnuts* this, PlayState* play) { if (this->collider.base.acFlags & AC_HIT) { this->collider.base.acFlags &= ~AC_HIT; - Actor_SetDropFlag(&this->actor, &this->collider.info, true); + Actor_SetDropFlag(&this->actor, &this->collider.elem, true); EnShopnuts_SetupSpawnSalesman(this); } else if (play->actorCtx.unk_02 != 0) { EnShopnuts_SetupSpawnSalesman(this); @@ -322,7 +322,7 @@ void EnShopnuts_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* } Matrix_Scale(x, y, z, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_shopnuts.c", 714), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_shopnuts.c", 714), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gBusinessScrubNoseDL); diff --git a/src/overlays/actors/ovl_En_Siofuki/z_en_siofuki.c b/src/overlays/actors/ovl_En_Siofuki/z_en_siofuki.c index b63ae605f2..79a4ba9d9f 100644 --- a/src/overlays/actors/ovl_En_Siofuki/z_en_siofuki.c +++ b/src/overlays/actors/ovl_En_Siofuki/z_en_siofuki.c @@ -285,7 +285,7 @@ void EnSiofuki_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); Matrix_Translate(0.0f, this->unk_170, 0.0f, MTXMODE_APPLY); Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_siofuki.c", 662), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_siofuki.c", 662), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); x = gameplayFrames * 15; y = gameplayFrames * -15; 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 d7a3ab86d5..3fd564e7ab 100644 --- a/src/overlays/actors/ovl_En_Skb/z_en_skb.c +++ b/src/overlays/actors/ovl_En_Skb/z_en_skb.c @@ -459,7 +459,7 @@ void EnSkb_CheckDamage(EnSkb* this, PlayState* play) { this->collider.base.acFlags &= ~AC_HIT; if (this->actor.colChkInfo.damageEffect != 6) { this->lastDamageEffect = this->actor.colChkInfo.damageEffect; - Actor_SetDropFlag(&this->actor, &this->collider.elements[1].info, true); + Actor_SetDropFlag(&this->actor, &this->collider.elements[1].base, true); this->setColliderAT = false; if (this->actor.colChkInfo.damageEffect == 1) { if (this->actionState != SKB_BEHAVIOR_STUNNED) { diff --git a/src/overlays/actors/ovl_En_Skj/z_en_skj.c b/src/overlays/actors/ovl_En_Skj/z_en_skj.c index 8fec8ef808..24a6f12a62 100644 --- a/src/overlays/actors/ovl_En_Skj/z_en_skj.c +++ b/src/overlays/actors/ovl_En_Skj/z_en_skj.c @@ -282,7 +282,7 @@ static InitChainEntry sInitChain[] = { ICHAIN_F32(targetArrowOffset, 30, ICHAIN_STOP), }; -static s32 D_80B01EA0; // gets set if ACTOR_FLAG_8 is set +static s32 D_80B01EA0; // gets set if ACTOR_FLAG_TALK is set void EnSkj_ChangeAnim(EnSkj* this, u8 index) { f32 endFrame = Animation_GetLastFrame(sAnimationInfo[index].animation); @@ -581,9 +581,9 @@ s32 EnSkj_CollisionCheck(EnSkj* this, PlayState* play) { this->collider.base.acFlags &= ~AC_HIT; switch (this->actor.colChkInfo.damageEffect) { case 0xF: - effectPos.x = this->collider.info.bumper.hitPos.x; - effectPos.y = this->collider.info.bumper.hitPos.y; - effectPos.z = this->collider.info.bumper.hitPos.z; + effectPos.x = this->collider.elem.bumper.hitPos.x; + effectPos.y = this->collider.elem.bumper.hitPos.y; + effectPos.z = this->collider.elem.bumper.hitPos.z; EnSkj_SpawnBlood(play, &effectPos); EffectSsHitMark_SpawnFixedScale(play, 1, &effectPos); @@ -629,7 +629,6 @@ s32 func_80AFEDF8(EnSkj* this, PlayState* play) { s16 yawDiff; if (this->actor.xzDistToPlayer < this->unk_2EC) { - this = this; if (func_8002DDE4(play) != 0) { return 1; } @@ -928,7 +927,7 @@ void EnSkj_WaitInRange(EnSkj* this, PlayState* play) { player->stateFlags2 |= PLAYER_STATE2_23; if (GET_ITEMGETINF(ITEMGETINF_16)) { if (GET_ITEMGETINF(ITEMGETINF_39)) { - this->textId = Text_GetFaceReaction(play, 0x15); + this->textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_SKULL_KID); if (this->textId == 0) { this->textId = 0x1020; } @@ -937,9 +936,9 @@ void EnSkj_WaitInRange(EnSkj* this, PlayState* play) { } else if (Player_GetMask(play) == PLAYER_MASK_SKULL) { this->textId = 0x101B; } else { - this->textId = Text_GetFaceReaction(play, 0x15); + this->textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_SKULL_KID); } - func_8002F2CC(&this->actor, play, EnSkj_GetItemXzRange(this)); + Actor_OfferTalk(&this->actor, play, EnSkj_GetItemXzRange(this)); } } } @@ -958,7 +957,7 @@ void EnSkj_WaitForSong(EnSkj* this, PlayState* play) { play->msgCtx.ocarinaMode = OCARINA_MODE_04; Message_CloseTextbox(play); player->unk_6A8 = &this->actor; - func_8002F2CC(&this->actor, play, EnSkj_GetItemXzRange(this)); + Actor_OfferTalk(&this->actor, play, EnSkj_GetItemXzRange(this)); EnSkj_SetupWrongSong(this); } else { if ((play->msgCtx.msgMode == MSGMODE_OCARINA_CORRECT_PLAYBACK) && (this->unk_2D6 == 0)) { @@ -979,7 +978,7 @@ void EnSkj_WaitForSong(EnSkj* this, PlayState* play) { play->msgCtx.ocarinaMode = OCARINA_MODE_04; Sfx_PlaySfxCentered(NA_SE_SY_CORRECT_CHIME); player->unk_6A8 = &this->actor; - func_8002F2CC(&this->actor, play, EnSkj_GetItemXzRange(this)); + Actor_OfferTalk(&this->actor, play, EnSkj_GetItemXzRange(this)); this->textId = 0x10BB; EnSkj_SetupAfterSong(this); } else { @@ -996,13 +995,13 @@ void EnSkj_WaitForSong(EnSkj* this, PlayState* play) { if (GET_ITEMGETINF(ITEMGETINF_16)) { play->msgCtx.ocarinaMode = OCARINA_MODE_04; player->unk_6A8 = &this->actor; - func_8002F2CC(&this->actor, play, EnSkj_GetItemXzRange(this)); + Actor_OfferTalk(&this->actor, play, EnSkj_GetItemXzRange(this)); this->textId = 0x10BD; EnSkj_SetupAfterSong(this); } else { play->msgCtx.ocarinaMode = OCARINA_MODE_04; player->unk_6A8 = &this->actor; - func_8002F2CC(&this->actor, play, EnSkj_GetItemXzRange(this)); + Actor_OfferTalk(&this->actor, play, EnSkj_GetItemXzRange(this)); EnSkj_SetupWrongSong(this); } } @@ -1020,7 +1019,7 @@ void EnSkj_AfterSong(EnSkj* this, PlayState* play) { if (D_80B01EA0 != 0) { EnSkj_SetupTalk(this); } else { - func_8002F2CC(&this->actor, play, EnSkj_GetItemXzRange(this)); + Actor_OfferTalk(&this->actor, play, EnSkj_GetItemXzRange(this)); } } @@ -1188,7 +1187,7 @@ void EnSkj_WrongSong(EnSkj* this, PlayState* play) { if (D_80B01EA0 != 0) { EnSkj_SetupWaitForTextClear(this); } else { - func_8002F2CC(&this->actor, play, EnSkj_GetItemXzRange(this)); + Actor_OfferTalk(&this->actor, play, EnSkj_GetItemXzRange(this)); } } @@ -1287,7 +1286,7 @@ void EnSkj_Update(Actor* thisx, PlayState* play) { s32 pad; EnSkj* this = (EnSkj*)thisx; - D_80B01EA0 = Actor_ProcessTalkRequest(&this->actor, play); + D_80B01EA0 = Actor_TalkOfferAccepted(&this->actor, play); this->timer++; @@ -1344,7 +1343,7 @@ void EnSkj_Update(Actor* thisx, PlayState* play) { void EnSkj_SariasSongShortStumpUpdate(Actor* thisx, PlayState* play) { EnSkj* this = (EnSkj*)thisx; - D_80B01EA0 = Actor_ProcessTalkRequest(&this->actor, play); + D_80B01EA0 = Actor_TalkOfferAccepted(&this->actor, play); if (BREG(0) != 0) { DebugDisplay_AddObject(this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, @@ -1419,7 +1418,7 @@ void EnSkj_WaitForPlayback(EnSkj* this, PlayState* play) { Message_CloseTextbox(play); play->msgCtx.ocarinaMode = OCARINA_MODE_04; player->unk_6A8 = &this->actor; - func_8002F2CC(&this->actor, play, 26.0f); + Actor_OfferTalk(&this->actor, play, 26.0f); this->textId = 0x102D; this->actionFunc = EnSkj_FailedMiniGame; } else if (play->msgCtx.ocarinaMode == OCARINA_MODE_0F) { // completed the game @@ -1427,7 +1426,7 @@ void EnSkj_WaitForPlayback(EnSkj* this, PlayState* play) { Message_CloseTextbox(play); play->msgCtx.ocarinaMode = OCARINA_MODE_04; player->unk_6A8 = &this->actor; - func_8002F2CC(&this->actor, play, 26.0f); + Actor_OfferTalk(&this->actor, play, 26.0f); this->textId = 0x10BF; this->actionFunc = EnSkj_WonOcarinaMiniGame; } else { // playing the game @@ -1461,7 +1460,7 @@ void EnSkj_WaitForPlayback(EnSkj* this, PlayState* play) { Message_CloseTextbox(play); play->msgCtx.ocarinaMode = OCARINA_MODE_04; player->unk_6A8 = &this->actor; - func_8002F2CC(&this->actor, play, 26.0f); + Actor_OfferTalk(&this->actor, play, 26.0f); this->textId = 0x102D; this->actionFunc = EnSkj_FailedMiniGame; } @@ -1487,7 +1486,7 @@ void EnSkj_FailedMiniGame(EnSkj* this, PlayState* play) { if (D_80B01EA0) { this->actionFunc = EnSkj_WaitForNextRound; } else { - func_8002F2CC(&this->actor, play, 26.0f); + Actor_OfferTalk(&this->actor, play, 26.0f); } } @@ -1523,7 +1522,7 @@ void EnSkj_WonOcarinaMiniGame(EnSkj* this, PlayState* play) { if (D_80B01EA0) { this->actionFunc = EnSkj_WaitToGiveReward; } else { - func_8002F2CC(&this->actor, play, 26.0f); + Actor_OfferTalk(&this->actor, play, 26.0f); } } @@ -1581,7 +1580,7 @@ void EnSkj_CleanupOcarinaGame(EnSkj* this, PlayState* play) { void EnSkj_OcarinaMinigameShortStumpUpdate(Actor* thisx, PlayState* play) { EnSkj* this = (EnSkj*)thisx; - D_80B01EA0 = Actor_ProcessTalkRequest(&this->actor, play); + D_80B01EA0 = Actor_TalkOfferAccepted(&this->actor, play); this->timer++; this->actor.focus.pos.x = 1230.0f; @@ -1611,7 +1610,7 @@ void EnSkj_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Gfx_SetupDL_25Opa(play->state.gfxCtx); Matrix_Push(); Matrix_RotateZYX(-0x4000, 0, 0, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_skj.c", 2430), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_skj.c", 2430), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gSkullKidSkullMaskDL); Matrix_Pop(); @@ -1625,7 +1624,7 @@ Gfx* EnSkj_TranslucentDL(GraphicsContext* gfxCtx, u32 alpha) { Gfx* dListHead; //! @bug This only allocates space for 1 command but uses 3 - dList = dListHead = Graph_Alloc(gfxCtx, sizeof(Gfx)); + dList = dListHead = GRAPH_ALLOC(gfxCtx, sizeof(Gfx)); gDPSetRenderMode(dListHead++, G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_SURF2); gDPSetEnvColor(dListHead++, 0, 0, 0, alpha); gSPEndDisplayList(dListHead++); @@ -1638,7 +1637,7 @@ Gfx* EnSkj_OpaqueDL(GraphicsContext* gfxCtx, u32 alpha) { Gfx* dListHead; //! @bug This only allocates space for 1 command but uses 2 - dList = dListHead = Graph_Alloc(gfxCtx, sizeof(Gfx)); + dList = dListHead = GRAPH_ALLOC(gfxCtx, sizeof(Gfx)); gDPSetEnvColor(dListHead++, 0, 0, 0, alpha); gSPEndDisplayList(dListHead++); diff --git a/src/overlays/actors/ovl_En_Skjneedle/z_en_skjneedle.c b/src/overlays/actors/ovl_En_Skjneedle/z_en_skjneedle.c index cb73dacc07..36521ba7e8 100644 --- a/src/overlays/actors/ovl_En_Skjneedle/z_en_skjneedle.c +++ b/src/overlays/actors/ovl_En_Skjneedle/z_en_skjneedle.c @@ -104,7 +104,7 @@ void EnSkjneedle_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_en_skj_needle.c", 200); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_skj_needle.c", 205), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_skj_needle.c", 205), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gSkullKidNeedleDL); 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 1231c0046b..61fbe3fe85 100644 --- a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c +++ b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c @@ -200,15 +200,15 @@ void EnSsh_InitColliders(EnSsh* this, PlayState* play) { Collider_SetCylinder(play, &this->colCylinder[i], &this->actor, cylinders[i]); } - this->colCylinder[0].info.bumper.dmgFlags = + this->colCylinder[0].elem.bumper.dmgFlags = DMG_ARROW | DMG_MAGIC_FIRE | DMG_HOOKSHOT | DMG_HAMMER_SWING | DMG_EXPLOSIVE | DMG_DEKU_NUT; - this->colCylinder[1].info.bumper.dmgFlags = + this->colCylinder[1].elem.bumper.dmgFlags = DMG_DEFAULT & ~(DMG_ARROW | DMG_MAGIC_FIRE | DMG_HOOKSHOT | DMG_HAMMER_SWING | DMG_EXPLOSIVE | DMG_DEKU_NUT) & ~(DMG_MAGIC_LIGHT | DMG_MAGIC_ICE); this->colCylinder[2].base.colType = COLTYPE_METAL; - this->colCylinder[2].info.bumperFlags = BUMP_ON | BUMP_HOOKABLE | BUMP_NO_AT_INFO; - this->colCylinder[2].info.elemType = ELEMTYPE_UNK2; - this->colCylinder[2].info.bumper.dmgFlags = + this->colCylinder[2].elem.bumperFlags = BUMP_ON | BUMP_HOOKABLE | BUMP_NO_AT_INFO; + this->colCylinder[2].elem.elemType = ELEMTYPE_UNK2; + this->colCylinder[2].elem.bumper.dmgFlags = DMG_DEFAULT & ~(DMG_ARROW | DMG_MAGIC_FIRE | DMG_HOOKSHOT | DMG_HAMMER_SWING | DMG_EXPLOSIVE | DMG_DEKU_NUT); CollisionCheck_SetInfo2(&this->actor.colChkInfo, DamageTable_Get(2), &sColChkInfoInit); @@ -434,17 +434,17 @@ void EnSsh_Sway(EnSsh* this) { } void EnSsh_CheckBodyStickHit(EnSsh* this, PlayState* play) { - ColliderInfo* info = &this->colCylinder[0].info; + ColliderElement* elem = &this->colCylinder[0].elem; Player* player = GET_PLAYER(play); if (player->unk_860 != 0) { - info->bumper.dmgFlags |= DMG_DEKU_STICK; - this->colCylinder[1].info.bumper.dmgFlags &= ~DMG_DEKU_STICK; - this->colCylinder[2].info.bumper.dmgFlags &= ~DMG_DEKU_STICK; + elem->bumper.dmgFlags |= DMG_DEKU_STICK; + this->colCylinder[1].elem.bumper.dmgFlags &= ~DMG_DEKU_STICK; + this->colCylinder[2].elem.bumper.dmgFlags &= ~DMG_DEKU_STICK; } else { - info->bumper.dmgFlags &= ~DMG_DEKU_STICK; - this->colCylinder[1].info.bumper.dmgFlags |= DMG_DEKU_STICK; - this->colCylinder[2].info.bumper.dmgFlags |= DMG_DEKU_STICK; + elem->bumper.dmgFlags &= ~DMG_DEKU_STICK; + this->colCylinder[1].elem.bumper.dmgFlags |= DMG_DEKU_STICK; + this->colCylinder[2].elem.bumper.dmgFlags |= DMG_DEKU_STICK; } } @@ -666,7 +666,7 @@ void EnSsh_Talk(EnSsh* this, PlayState* play) { void EnSsh_Idle(EnSsh* this, PlayState* play) { if (1) {} - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = EnSsh_Talk; if (this->actor.params == ENSSH_FATHER) { SET_EVENTCHKINF(EVENTCHKINF_96); @@ -694,7 +694,7 @@ void EnSsh_Idle(EnSsh* this, PlayState* play) { } EnSsh_Bob(this, play); if ((this->unkTimer == 0) && (this->animTimer == 0)) { - this->actor.textId = Text_GetFaceReaction(play, 0xD); + this->actor.textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_CURSED_SKULLTULA_MAN); if (this->actor.textId == 0) { if (this->actor.params == ENSSH_FATHER) { if (gSaveContext.save.info.inventory.gsTokens >= 50) { @@ -716,7 +716,7 @@ void EnSsh_Idle(EnSsh* this, PlayState* play) { this->actor.textId = 0x22; } } - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } } } 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 bd4e74486e..a65aca9455 100644 --- a/src/overlays/actors/ovl_En_St/z_en_st.c +++ b/src/overlays/actors/ovl_En_St/z_en_st.c @@ -285,16 +285,16 @@ void EnSt_InitColliders(EnSt* this, PlayState* play) { Collider_SetCylinder(play, &this->colCylinder[i], &this->actor, cylinders[i]); } - this->colCylinder[0].info.bumper.dmgFlags = + this->colCylinder[0].elem.bumper.dmgFlags = DMG_MAGIC_FIRE | DMG_ARROW | DMG_HOOKSHOT | DMG_HAMMER_SWING | DMG_BOOMERANG | DMG_EXPLOSIVE | DMG_DEKU_NUT; - this->colCylinder[1].info.bumper.dmgFlags = + this->colCylinder[1].elem.bumper.dmgFlags = DMG_DEFAULT & ~(DMG_MAGIC_FIRE | DMG_ARROW | DMG_HOOKSHOT | DMG_HAMMER_SWING | DMG_BOOMERANG | DMG_EXPLOSIVE | DMG_DEKU_NUT) & ~(DMG_MAGIC_LIGHT | DMG_MAGIC_ICE); this->colCylinder[2].base.colType = COLTYPE_METAL; - this->colCylinder[2].info.bumperFlags = BUMP_ON | BUMP_HOOKABLE | BUMP_NO_AT_INFO; - this->colCylinder[2].info.elemType = ELEMTYPE_UNK2; - this->colCylinder[2].info.bumper.dmgFlags = + this->colCylinder[2].elem.bumperFlags = BUMP_ON | BUMP_HOOKABLE | BUMP_NO_AT_INFO; + this->colCylinder[2].elem.elemType = ELEMTYPE_UNK2; + this->colCylinder[2].elem.bumper.dmgFlags = DMG_DEFAULT & ~(DMG_MAGIC_FIRE | DMG_ARROW | DMG_HOOKSHOT | DMG_HAMMER_SWING | DMG_BOOMERANG | DMG_EXPLOSIVE | DMG_DEKU_NUT); @@ -305,17 +305,17 @@ void EnSt_InitColliders(EnSt* this, PlayState* play) { } void EnSt_CheckBodyStickHit(EnSt* this, PlayState* play) { - ColliderInfo* body = &this->colCylinder[0].info; + ColliderElement* bodyElem = &this->colCylinder[0].elem; Player* player = GET_PLAYER(play); if (player->unk_860 != 0) { - body->bumper.dmgFlags |= DMG_DEKU_STICK; - this->colCylinder[1].info.bumper.dmgFlags &= ~DMG_DEKU_STICK; - this->colCylinder[2].info.bumper.dmgFlags &= ~DMG_DEKU_STICK; + bodyElem->bumper.dmgFlags |= DMG_DEKU_STICK; + this->colCylinder[1].elem.bumper.dmgFlags &= ~DMG_DEKU_STICK; + this->colCylinder[2].elem.bumper.dmgFlags &= ~DMG_DEKU_STICK; } else { - body->bumper.dmgFlags &= ~DMG_DEKU_STICK; - this->colCylinder[1].info.bumper.dmgFlags |= DMG_DEKU_STICK; - this->colCylinder[2].info.bumper.dmgFlags |= DMG_DEKU_STICK; + bodyElem->bumper.dmgFlags &= ~DMG_DEKU_STICK; + this->colCylinder[1].elem.bumper.dmgFlags |= DMG_DEKU_STICK; + this->colCylinder[2].elem.bumper.dmgFlags |= DMG_DEKU_STICK; } } @@ -431,14 +431,14 @@ s32 EnSt_CheckHitBackside(EnSt* this, PlayState* play) { if (cyl->base.acFlags & AC_HIT) { cyl->base.acFlags &= ~AC_HIT; hit = true; - flags |= cyl->info.acHitInfo->toucher.dmgFlags; + flags |= cyl->elem.acHitElem->toucher.dmgFlags; } cyl = &this->colCylinder[1]; if (cyl->base.acFlags & AC_HIT) { cyl->base.acFlags &= ~AC_HIT; hit = true; - flags |= cyl->info.acHitInfo->toucher.dmgFlags; + flags |= cyl->elem.acHitElem->toucher.dmgFlags; } if (!hit) { 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 6ed6c57a6f..e2b13abf16 100644 --- a/src/overlays/actors/ovl_En_Sth/z_en_sth.c +++ b/src/overlays/actors/ovl_En_Sth/z_en_sth.c @@ -221,12 +221,12 @@ void EnSth_RewardObtainedTalk(EnSth* this, PlayState* play) { } void EnSth_ParentRewardObtainedWait(EnSth* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { EnSth_SetupAction(this, EnSth_RewardObtainedTalk); } else { this->actor.textId = 0x23; if (this->actor.xzDistToPlayer < 100.0f) { - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } } EnSth_LookAtPlayer(this, play); @@ -274,7 +274,7 @@ void EnSth_RewardUnobtainedTalk(EnSth* this, PlayState* play) { } void EnSth_RewardUnobtainedWait(EnSth* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { EnSth_SetupAction(this, EnSth_RewardUnobtainedTalk); } else { if (this->actor.params == 0) { @@ -283,14 +283,14 @@ void EnSth_RewardUnobtainedWait(EnSth* this, PlayState* play) { this->actor.textId = 0x21; } if (this->actor.xzDistToPlayer < 100.0f) { - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } } EnSth_LookAtPlayer(this, play); } void EnSth_ChildRewardObtainedWait(EnSth* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { EnSth_SetupAction(this, EnSth_RewardObtainedTalk); } else { if (gSaveContext.save.info.inventory.gsTokens < 50) { @@ -299,7 +299,7 @@ void EnSth_ChildRewardObtainedWait(EnSth* this, PlayState* play) { this->actor.textId = 0x1F; } if (this->actor.xzDistToPlayer < 100.0f) { - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } } EnSth_LookAtPlayer(this, play); @@ -376,7 +376,7 @@ void EnSth_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Gfx* EnSth_AllocColorDList(GraphicsContext* play, u8 envR, u8 envG, u8 envB, u8 envA) { Gfx* dList; - dList = Graph_Alloc(play, 2 * sizeof(Gfx)); + dList = GRAPH_ALLOC(play, 2 * sizeof(Gfx)); gDPSetEnvColor(dList, envR, envG, envB, envA); gSPEndDisplayList(dList + 1); 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 04168ba74c..cc6cf457d5 100644 --- a/src/overlays/actors/ovl_En_Stream/z_en_stream.c +++ b/src/overlays/actors/ovl_En_Stream/z_en_stream.c @@ -133,7 +133,7 @@ void EnStream_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_en_stream.c", 295); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_stream.c", 299), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_stream.c", 299), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); multipliedFrames = frames * 20; gSPSegment(POLY_XLU_DISP++, 0x08, 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 ffe7e1fc1e..240beec6c4 100644 --- a/src/overlays/actors/ovl_En_Sw/z_en_sw.c +++ b/src/overlays/actors/ovl_En_Sw/z_en_sw.c @@ -90,9 +90,9 @@ s32 func_80B0BE20(EnSw* this, CollisionPoly* poly) { if (temp_f0 < 0.001f) { return 0; } - this->unk_37C.x = this->unk_37C.x * (1.0f / temp_f0); - this->unk_37C.y = this->unk_37C.y * (1.0f / temp_f0); - this->unk_37C.z = this->unk_37C.z * (1.0f / temp_f0); + this->unk_37C.x *= 1.0f / temp_f0; + this->unk_37C.y *= 1.0f / temp_f0; + this->unk_37C.z *= 1.0f / temp_f0; this->unk_364 = polyNormal; this->unk_3D8.xx = this->unk_370.x; this->unk_3D8.yx = this->unk_370.y; @@ -283,7 +283,7 @@ void EnSw_Init(Actor* thisx, PlayState* play) { this->actor.scale.x = 0.0f; FALLTHROUGH; case 1: - this->collider.elements[0].info.toucher.damage *= 2; + this->collider.elements[0].base.toucher.damage *= 2; this->actor.naviEnemyId = NAVI_ENEMY_GOLD_SKULLTULA; this->actor.colChkInfo.health *= 2; this->actor.flags &= ~ACTOR_FLAG_0; @@ -538,15 +538,15 @@ void func_80B0D590(EnSw* this, PlayState* play) { if (((this->actor.params & 0xE000) >> 0xD) == 2) { if (this->actor.scale.x < 0.0139999995f) { - this->collider.elements[0].info.toucherFlags = TOUCH_NONE; - this->collider.elements[0].info.bumperFlags = BUMP_NONE; - this->collider.elements[0].info.ocElemFlags = OCELEM_NONE; + this->collider.elements[0].base.toucherFlags = TOUCH_NONE; + this->collider.elements[0].base.bumperFlags = BUMP_NONE; + this->collider.elements[0].base.ocElemFlags = OCELEM_NONE; } if (this->actor.scale.x >= 0.0139999995f) { - this->collider.elements[0].info.toucherFlags = TOUCH_ON; - this->collider.elements[0].info.bumperFlags = BUMP_ON; - this->collider.elements[0].info.ocElemFlags = OCELEM_ON; + this->collider.elements[0].base.toucherFlags = TOUCH_ON; + this->collider.elements[0].base.bumperFlags = BUMP_ON; + this->collider.elements[0].base.ocElemFlags = OCELEM_ON; } Math_ApproachF(&this->actor.scale.x, !IS_DAY ? 0.02f : 0.0f, 0.2f, 0.01f); 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 a25e375455..3f267dcf8e 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 @@ -192,10 +192,10 @@ void EnSyatekiMan_SetupIdle(EnSyatekiMan* this, PlayState* play) { void EnSyatekiMan_Idle(EnSyatekiMan* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = EnSyatekiMan_Talk; } else { - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } } diff --git a/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c b/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c index 02062bf237..4b6fc0151d 100644 --- a/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c +++ b/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c @@ -780,7 +780,7 @@ void EnSyatekiNiw_DrawEffects(EnSyatekiNiw* this, PlayState* play) { Matrix_RotateZ(effect->rot, MTXMODE_APPLY); Matrix_Translate(0.0f, -1000.0f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_syateki_niw.c", 1251), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_syateki_niw.c", 1251), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gCuccoEffectFeatherModelDL); } diff --git a/src/overlays/actors/ovl_En_Ta/z_en_ta.c b/src/overlays/actors/ovl_En_Ta/z_en_ta.c index ca31e8bf0d..1468ffc362 100644 --- a/src/overlays/actors/ovl_En_Ta/z_en_ta.c +++ b/src/overlays/actors/ovl_En_Ta/z_en_ta.c @@ -21,8 +21,6 @@ #define TALON_STATE_FLAG_RAISING_HANDS (1 << 8) #define TALON_STATE_FLAG_RESTORE_BGM_ON_DESTROY (1 << 9) -#define TALON_FACE_REACTION_SET 24 - typedef enum { /* 0 */ TALON_EYE_INDEX_OPEN, /* 1 */ TALON_EYE_INDEX_HALF, @@ -97,7 +95,7 @@ void EnTa_SetupAction(EnTa* this, EnTaActionFunc actionFunc, EnTaAnimFunc animFu } void EnTa_SetTextForTalkInLonLonHouse(EnTa* this, PlayState* play) { - u16 faceReaction = Text_GetFaceReaction(play, TALON_FACE_REACTION_SET); + u16 maskReactionTextId = MaskReaction_GetTextId(play, MASK_REACTION_SET_TALON); // Check if cucco game was just finished if (GET_EVENTINF(EVENTINF_CUCCO_GAME_FINISHED)) { @@ -115,7 +113,7 @@ void EnTa_SetTextForTalkInLonLonHouse(EnTa* this, PlayState* play) { this->actor.textId = 0x2085; } CLEAR_EVENTINF(EVENTINF_CUCCO_GAME_WON); - } else if (faceReaction == 0) { + } else if (maskReactionTextId == 0) { if (GET_INFTABLE(INFTABLE_TALKED_TO_TALON_IN_RANCH_HOUSE)) { if (GET_ITEMGETINF(ITEMGETINF_TALON_BOTTLE)) { // Play cucco game or buy milk @@ -129,7 +127,7 @@ void EnTa_SetTextForTalkInLonLonHouse(EnTa* this, PlayState* play) { this->actor.textId = 0x207E; } } else { - this->actor.textId = faceReaction; + this->actor.textId = maskReactionTextId; } } @@ -287,7 +285,7 @@ void EnTa_Destroy(Actor* thisx, PlayState* play) { } s32 EnTa_RequestTalk(EnTa* this, PlayState* play, u16 textId) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { return true; } @@ -296,7 +294,7 @@ s32 EnTa_RequestTalk(EnTa* this, PlayState* play, u16 textId) { if ((ABS((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y)) <= 0x4300) && (this->actor.xzDistToPlayer < 100.0f)) { this->stateFlags |= TALON_STATE_FLAG_TRACKING_PLAYER; - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } return false; } @@ -369,7 +367,7 @@ void EnTa_SleepTalkInCastle(EnTa* this, PlayState* play) { void EnTa_IdleAsleepInCastle(EnTa* this, PlayState* play) { Player* player = GET_PLAYER(play); - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { s32 exchangeItemId = func_8002F368(play); switch (exchangeItemId) { @@ -388,23 +386,23 @@ void EnTa_IdleAsleepInCastle(EnTa* this, PlayState* play) { } } else { this->actor.textId = 0x702A; - func_8002F298(&this->actor, play, 100.0f, EXCH_ITEM_CHICKEN); + Actor_OfferTalkExchangeEquiCylinder(&this->actor, play, 100.0f, EXCH_ITEM_CHICKEN); } } void EnTa_IdleAsleepInLonLonHouse(EnTa* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { EnTa_SetupAction(this, EnTa_SleepTalkInLonLonHouse, EnTa_AnimSleeping); } this->actor.textId = 0x204B; - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } void EnTa_IdleAsleepInKakariko(EnTa* this, PlayState* play) { Player* player = GET_PLAYER(play); - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { s32 exchangeItemId = func_8002F368(play); switch (exchangeItemId) { @@ -423,7 +421,7 @@ void EnTa_IdleAsleepInKakariko(EnTa* this, PlayState* play) { } } else { this->actor.textId = 0x5015; - func_8002F298(&this->actor, play, 100.0f, EXCH_ITEM_POCKET_CUCCO); + Actor_OfferTalkExchangeEquiCylinder(&this->actor, play, 100.0f, EXCH_ITEM_POCKET_CUCCO); } } @@ -667,12 +665,12 @@ void EnTa_TalkFoundSuperCucco(EnTa* this, PlayState* play) { } void EnTa_IdleFoundSuperCucco(EnTa* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->actionFunc = EnTa_TalkFoundSuperCucco; // Unset auto-talking this->actor.flags &= ~ACTOR_FLAG_16; } else { - func_8002F2CC(&this->actor, play, 1000.0f); + Actor_OfferTalk(&this->actor, play, 1000.0f); } this->stateFlags |= TALON_STATE_FLAG_TRACKING_PLAYER; } @@ -787,7 +785,7 @@ void EnTa_RunCuccoGame(EnTa* this, PlayState* play) { // Automatically talk to player this->actor.flags |= ACTOR_FLAG_16; - func_8002F2CC(&this->actor, play, 1000.0f); + Actor_OfferTalk(&this->actor, play, 1000.0f); return; } } else { @@ -1086,14 +1084,14 @@ void EnTa_TalkAfterCuccoGameWon(EnTa* this, PlayState* play) { } void EnTa_IdleSittingInLonLonHouse(EnTa* this, PlayState* play) { - u16 faceReaction = Text_GetFaceReaction(play, TALON_FACE_REACTION_SET); + u16 maskReactionTextId = MaskReaction_GetTextId(play, MASK_REACTION_SET_TALON); EnTa_SetTextForTalkInLonLonHouse(this, play); if (EnTa_RequestTalk(this, play, this->actor.textId)) { Actor_PlaySfx(&this->actor, NA_SE_VO_TA_SURPRISE); - if (faceReaction != 0) { + if (maskReactionTextId != 0) { EnTa_SetupActionWithWakeUpAnimation(this, EnTa_TalkGeneralInLonLonHouse); } else { SET_INFTABLE(INFTABLE_TALKED_TO_TALON_IN_RANCH_HOUSE); @@ -1118,7 +1116,7 @@ void EnTa_IdleSittingInLonLonHouse(EnTa* this, PlayState* play) { } void EnTa_IdleAfterCuccoGameFinished(EnTa* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { switch (this->actor.textId) { case 0x2085: // Retry? this->actionFunc = EnTa_WaitForPlayCuccoGameResponse; @@ -1135,7 +1133,7 @@ void EnTa_IdleAfterCuccoGameFinished(EnTa* this, PlayState* play) { this->actor.flags &= ~ACTOR_FLAG_16; } else { this->actor.flags |= ACTOR_FLAG_16; - func_8002F2CC(&this->actor, play, 1000.0f); + Actor_OfferTalk(&this->actor, play, 1000.0f); } this->stateFlags |= TALON_STATE_FLAG_TRACKING_PLAYER; } diff --git a/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c b/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c index 83a0adf535..5831adc961 100644 --- a/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c +++ b/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c @@ -86,7 +86,7 @@ void func_80B1778C(EnTakaraMan* this, PlayState* play) { s16 yawDiff; SkelAnime_Update(&this->skelAnime); - if (Actor_ProcessTalkRequest(&this->actor, play) && this->dialogState != TEXT_STATE_DONE) { + if (Actor_TalkOfferAccepted(&this->actor, play) && this->dialogState != TEXT_STATE_DONE) { if (!this->unk_214) { this->actionFunc = func_80B17934; } else { @@ -120,7 +120,7 @@ void func_80B1778C(EnTakaraMan* this, PlayState* play) { this->actor.flags |= ACTOR_FLAG_0; this->unk_218 = 1; } - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } } } diff --git a/src/overlays/actors/ovl_En_Tana/z_en_tana.c b/src/overlays/actors/ovl_En_Tana/z_en_tana.c index 6c7d2dc747..29a0637152 100644 --- a/src/overlays/actors/ovl_En_Tana/z_en_tana.c +++ b/src/overlays/actors/ovl_En_Tana/z_en_tana.c @@ -77,7 +77,7 @@ void EnTana_DrawWoodenShelves(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_en_tana.c", 148); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_tana.c", 152), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_tana.c", 152), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, sShelfDLists[thisx->params]); @@ -91,7 +91,7 @@ void EnTana_DrawStoneShelves(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sStoneTextures[thisx->params])); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_tana.c", 169), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_tana.c", 169), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, sShelfDLists[thisx->params]); 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 63a0351e32..40f36cc669 100644 --- a/src/overlays/actors/ovl_En_Test/z_en_test.c +++ b/src/overlays/actors/ovl_En_Test/z_en_test.c @@ -898,7 +898,7 @@ void EnTest_SetupSlashDown(EnTest* this) { this->unk_7C8 = 0x10; this->actor.speed = 0.0f; EnTest_SetupAction(this, EnTest_SlashDown); - this->swordCollider.info.toucher.damage = 16; + this->swordCollider.elem.toucher.damage = 16; if (this->unk_7DE != 0) { this->unk_7DE = 3; @@ -995,7 +995,7 @@ void EnTest_SetupSlashUp(EnTest* this) { Animation_PlayOnce(&this->skelAnime, &gStalfosUpSlashAnim); this->swordCollider.base.atFlags &= ~AT_BOUNCED; this->unk_7C8 = 0x11; - this->swordCollider.info.toucher.damage = 16; + this->swordCollider.elem.toucher.damage = 16; this->actor.speed = 0.0f; EnTest_SetupAction(this, EnTest_SlashUp); @@ -1084,7 +1084,7 @@ void EnTest_SetupJumpslash(EnTest* this) { this->actor.world.rot.y = this->actor.shape.rot.y; this->swordCollider.base.atFlags &= ~AT_BOUNCED; EnTest_SetupAction(this, EnTest_Jumpslash); - this->swordCollider.info.toucher.damage = 32; + this->swordCollider.elem.toucher.damage = 32; if (this->unk_7DE != 0) { this->unk_7DE = 3; @@ -1670,7 +1670,7 @@ void EnTest_UpdateDamage(EnTest* this, PlayState* play) { } this->unk_7DC = player->unk_845; this->actor.world.rot.y = this->actor.yawTowardsPlayer; - Actor_SetDropFlag(&this->actor, &this->bodyCollider.info, false); + Actor_SetDropFlag(&this->actor, &this->bodyCollider.elem, false); Audio_StopSfxByPosAndId(&this->actor.projectedPos, NA_SE_EN_STAL_WARAU); if ((this->actor.colChkInfo.damageEffect == STALFOS_DMGEFF_STUN) || 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 af02dda0f9..4e00d3bc33 100644 --- a/src/overlays/actors/ovl_En_Tg/z_en_tg.c +++ b/src/overlays/actors/ovl_En_Tg/z_en_tg.c @@ -52,13 +52,11 @@ ActorInit En_Tg_InitVars = { u16 EnTg_GetTextId(PlayState* play, Actor* thisx) { EnTg* this = (EnTg*)thisx; - u16 faceReaction; + u16 maskReactionTextId = MaskReaction_GetTextId(play, MASK_REACTION_SET_DANCING_COUPLE); u32 textId; - // If the player is wearing a mask, return a special reaction text - faceReaction = Text_GetFaceReaction(play, 0x24); - if (faceReaction != 0) { - return faceReaction; + if (maskReactionTextId != 0) { + return maskReactionTextId; } if (play->sceneId == SCENE_KAKARIKO_VILLAGE) { if (this->nextDialogue % 2 != 0) { @@ -169,7 +167,7 @@ void EnTg_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, } Gfx* EnTg_SetColor(GraphicsContext* gfxCtx, u8 r, u8 g, u8 b, u8 a) { - Gfx* displayList = Graph_Alloc(gfxCtx, 2 * sizeof(Gfx)); + Gfx* displayList = GRAPH_ALLOC(gfxCtx, 2 * sizeof(Gfx)); gDPSetEnvColor(displayList, r, g, b, a); gSPEndDisplayList(displayList + 1); 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 d1aeb1e721..03277a73d7 100644 --- a/src/overlays/actors/ovl_En_Tite/z_en_tite.c +++ b/src/overlays/actors/ovl_En_Tite/z_en_tite.c @@ -355,7 +355,7 @@ void EnTite_Attack(EnTite* this, PlayState* play) { } break; case TEKTITE_MID_LUNGE: - // Generate sparkles at feet upon landing, set jumping animation and hurtbox and check if hit player + // Generate sparkles at feet upon landing, set jumping animation and attack collider and check if hit player if (this->actor.velocity.y >= 5.0f) { if (this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) { func_800355B8(play, &this->frontLeftFootPos); @@ -852,7 +852,7 @@ void EnTite_CheckDamage(Actor* thisx, PlayState* play) { this->collider.base.acFlags &= ~AC_HIT; if (thisx->colChkInfo.damageEffect != 0xE) { // Immune to fire magic this->damageEffect = thisx->colChkInfo.damageEffect; - Actor_SetDropFlag(thisx, &this->collider.elements[0].info, false); + Actor_SetDropFlag(thisx, &this->collider.elements[0].base, false); // Stun if Tektite hit by nut, boomerang, hookshot, ice arrow or ice magic if ((thisx->colChkInfo.damageEffect == 1) || (thisx->colChkInfo.damageEffect == 0xF)) { if (this->action != TEKTITE_STUNNED) { 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 d54dfc000c..d0e331f7c0 100644 --- a/src/overlays/actors/ovl_En_Tk/z_en_tk.c +++ b/src/overlays/actors/ovl_En_Tk/z_en_tk.c @@ -112,7 +112,7 @@ void EnTkEff_Draw(EnTk* this, PlayState* play) { Matrix_Translate(eff->pos.x, eff->pos.y, eff->pos.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(eff->size, eff->size, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_tk_eff.c", 140), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_tk_eff.c", 140), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); imageIdx = eff->timeLeft * ((f32)ARRAY_COUNT(dustTextures) / eff->timeTotal); @@ -330,11 +330,10 @@ s32 EnTk_Orient(EnTk* this, PlayState* play) { } u16 EnTk_GetTextId(PlayState* play, Actor* thisx) { - u16 faceReaction; + u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_DAMPE); - faceReaction = Text_GetFaceReaction(play, 14); - if (faceReaction != 0) { - return faceReaction; + if (textId != 0) { + return textId; } if (GET_INFTABLE(INFTABLE_D9)) { @@ -537,7 +536,7 @@ void EnTk_Rest(EnTk* this, PlayState* play) { this->actionCountdown = 0; Npc_UpdateTalking(play, &this->actor, &this->interactInfo.talkState, this->collider.dim.radius + 30.0f, EnTk_GetTextId, EnTk_UpdateTalkState); - } else if (Actor_ProcessTalkRequest(&this->actor, play)) { + } else if (Actor_TalkOfferAccepted(&this->actor, play)) { v1 = this->actor.shape.rot.y; v1 -= this->h_21E; v1 = this->actor.yawTowardsPlayer - v1; 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 60c6aa8208..24eef2901e 100644 --- a/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c +++ b/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c @@ -97,15 +97,15 @@ void EnTorch2_Init(Actor* thisx, PlayState* play2) { sInput.cur.stick_x = sInput.cur.stick_y = 0; this->currentShield = PLAYER_SHIELD_HYLIAN; this->heldItemAction = this->heldItemId = PLAYER_IA_SWORD_MASTER; - Player_SetModelGroup(this, PLAYER_MODELGROUP_SWORD); + Player_SetModelGroup(this, PLAYER_MODELGROUP_SWORD_AND_SHIELD); play->playerInit(this, play, &gDarkLinkSkel); this->actor.naviEnemyId = NAVI_ENEMY_DARK_LINK; this->cylinder.base.acFlags = AC_ON | AC_TYPE_PLAYER; this->meleeWeaponQuads[0].base.atFlags = this->meleeWeaponQuads[1].base.atFlags = AT_ON | AT_TYPE_ENEMY; this->meleeWeaponQuads[0].base.acFlags = this->meleeWeaponQuads[1].base.acFlags = AC_ON | AC_HARD | AC_TYPE_PLAYER; this->meleeWeaponQuads[0].base.colType = this->meleeWeaponQuads[1].base.colType = COLTYPE_METAL; - this->meleeWeaponQuads[0].info.toucher.damage = this->meleeWeaponQuads[1].info.toucher.damage = 8; - this->meleeWeaponQuads[0].info.bumperFlags = this->meleeWeaponQuads[1].info.bumperFlags = BUMP_ON; + this->meleeWeaponQuads[0].elem.toucher.damage = this->meleeWeaponQuads[1].elem.toucher.damage = 8; + this->meleeWeaponQuads[0].elem.bumperFlags = this->meleeWeaponQuads[1].elem.bumperFlags = BUMP_ON; this->shieldQuad.base.atFlags = AT_ON | AT_TYPE_ENEMY; this->shieldQuad.base.acFlags = AC_ON | AC_HARD | AC_TYPE_PLAYER; this->actor.colChkInfo.damageTable = &sDamageTable; @@ -599,7 +599,7 @@ void EnTorch2_Update(Actor* thisx, PlayState* play2) { this->unk_8A8 = 6.0f; this->unk_8A4 = 8.0f; this->unk_8A2 = this->actor.yawTowardsPlayer + 0x8000; - Actor_SetDropFlag(&this->actor, &this->cylinder.info, true); + Actor_SetDropFlag(&this->actor, &this->cylinder.elem, true); this->stateFlags3 &= ~PLAYER_STATE3_2; this->stateFlags3 |= PLAYER_STATE3_0; sActionState = ENTORCH2_DAMAGE; @@ -698,10 +698,10 @@ void EnTorch2_Update(Actor* thisx, PlayState* play2) { } if (this->invincibilityTimer != 0) { this->cylinder.base.colType = COLTYPE_NONE; - this->cylinder.info.elemType = ELEMTYPE_UNK5; + this->cylinder.elem.elemType = ELEMTYPE_UNK5; } else { this->cylinder.base.colType = COLTYPE_HIT5; - this->cylinder.info.elemType = ELEMTYPE_UNK1; + this->cylinder.elem.elemType = ELEMTYPE_UNK1; } /* * Handles the jump movement onto Link's sword. Dark Link doesn't move during the diff --git a/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c b/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c index 81bd31a68f..4d57b44c5d 100644 --- a/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c +++ b/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c @@ -253,7 +253,7 @@ u32 EnToryo_ReactToExchangeItem(EnToryo* this, PlayState* play) { } s32 EnToryo_GetTextId(EnToryo* this, PlayState* play) { - s32 textId = Text_GetFaceReaction(play, 0); + s32 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_CARPENTER_BOSS); s32 ret = textId; if (textId == 0) { @@ -287,7 +287,7 @@ void EnToryo_HandleTalking(EnToryo* this, PlayState* play) { s16 posY; if (this->messageState == 3) { - Actor_ProcessTalkRequest(&this->actor, play); + Actor_TalkOfferAccepted(&this->actor, play); Message_ContinueTextbox(play, this->actor.textId); this->messageState = 1; } @@ -317,7 +317,7 @@ void EnToryo_HandleTalking(EnToryo* this, PlayState* play) { } if (this->messageState == 0) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->exchangeItemId = func_8002F368(play); if (this->exchangeItemId != EXCH_ITEM_NONE) { player->actor.textId = EnToryo_ReactToExchangeItem(this, play); @@ -330,7 +330,7 @@ void EnToryo_HandleTalking(EnToryo* this, PlayState* play) { Actor_GetScreenPos(play, &this->actor, &posX, &posY); if ((posX >= 0) && (posX <= SCREEN_WIDTH) && (posY >= 0) && (posY <= SCREEN_HEIGHT)) { this->actor.textId = EnToryo_GetTextId(this, play); - func_8002F298(&this->actor, play, 100.0f, EXCH_ITEM_POACHERS_SAW); + Actor_OfferTalkExchangeEquiCylinder(&this->actor, play, 100.0f, EXCH_ITEM_POACHERS_SAW); } } } diff --git a/src/overlays/actors/ovl_En_Tp/z_en_tp.c b/src/overlays/actors/ovl_En_Tp/z_en_tp.c index bc8da3fe90..218f5615f7 100644 --- a/src/overlays/actors/ovl_En_Tp/z_en_tp.c +++ b/src/overlays/actors/ovl_En_Tp/z_en_tp.c @@ -744,7 +744,7 @@ void EnTp_Draw(Actor* thisx, PlayState* play) { if ((thisx->params <= TAILPASARAN_HEAD) || (thisx->params == TAILPASARAN_HEAD_DYING)) { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_tp.c", 1459), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_tp.c", 1459), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gTailpasaranHeadDL); @@ -761,7 +761,7 @@ void EnTp_Draw(Actor* thisx, PlayState* play) { gDPPipeSync(POLY_XLU_DISP++); gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(gTailpasaranTailSegmentTex)); gDPPipeSync(POLY_XLU_DISP++); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_tp.c", 1480), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_tp.c", 1480), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gTailpasaranTailSegmentDL); } diff --git a/src/overlays/actors/ovl_En_Vali/z_en_vali.c b/src/overlays/actors/ovl_En_Vali/z_en_vali.c index 17613e13bb..2af941834e 100644 --- a/src/overlays/actors/ovl_En_Vali/z_en_vali.c +++ b/src/overlays/actors/ovl_En_Vali/z_en_vali.c @@ -258,7 +258,7 @@ void EnVali_SetupStunned(EnVali* this) { this->timer = 80; this->actor.velocity.y = 0.0f; Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 255, COLORFILTER_BUFFLAG_XLU, 80); - this->bodyCollider.info.bumper.effect = 0; + this->bodyCollider.elem.bumper.effect = 0; Actor_PlaySfx(&this->actor, NA_SE_EN_GOMA_JR_FREEZE); this->actor.velocity.y = 1.0f; this->actionFunc = EnVali_Stunned; @@ -448,7 +448,7 @@ void EnVali_Stunned(EnVali* this, PlayState* play) { } if (this->timer == 0) { - this->bodyCollider.info.bumper.effect = 1; // Shock? + this->bodyCollider.elem.bumper.effect = 1; // Shock? EnVali_SetupFloatIdle(this); } } @@ -496,7 +496,7 @@ void EnVali_ReturnToLurk(EnVali* this, PlayState* play) { void EnVali_UpdateDamage(EnVali* this, PlayState* play) { if (this->bodyCollider.base.acFlags & AC_HIT) { this->bodyCollider.base.acFlags &= ~AC_HIT; - Actor_SetDropFlag(&this->actor, &this->bodyCollider.info, true); + Actor_SetDropFlag(&this->actor, &this->bodyCollider.elem, true); if ((this->actor.colChkInfo.damageEffect != BARI_DMGEFF_NONE) || (this->actor.colChkInfo.damage != 0)) { if (Actor_ApplyDamage(&this->actor) == 0) { @@ -729,7 +729,7 @@ void EnVali_DrawBody(EnVali* this, PlayState* play) { EnVali_PulseInsides(this, curFrame, &scale); Matrix_Scale(scale.x, scale.y, scale.z, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_vali.c", 1436), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_vali.c", 1436), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBariInnerHoodDL); @@ -739,19 +739,19 @@ void EnVali_DrawBody(EnVali* this, PlayState* play) { cos = Math_CosS(this->actor.shape.rot.y); sin = Math_SinS(this->actor.shape.rot.y); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_vali.c", 1446), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_vali.c", 1446), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBariNucleusDL); Matrix_Translate((506.0f * cos) + (372.0f * sin), 1114.0f, (372.0f * cos) - (506.0f * sin), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_vali.c", 1455), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_vali.c", 1455), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBariNucleusDL); Matrix_Translate((-964.0f * cos) - (804.0f * sin), -108.0f, (-804.0f * cos) + (964.0f * sin), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_vali.c", 1463), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_vali.c", 1463), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBariNucleusDL); @@ -762,7 +762,7 @@ void EnVali_DrawBody(EnVali* this, PlayState* play) { EnVali_PulseOutside(this, curFrame, &scale); Matrix_Scale(scale.x, scale.y, scale.z, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_vali.c", 1471), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_vali.c", 1471), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gBariOuterHoodDL); diff --git a/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.c b/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.c index db804b06d5..ce7803bc4f 100644 --- a/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.c +++ b/src/overlays/actors/ovl_En_Vb_Ball/z_en_vb_ball.c @@ -303,7 +303,7 @@ void EnVbBall_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_en_vb_ball.c", 604); if (1) {} // needed for match Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_vb_ball.c", 607), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_vb_ball.c", 607), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->actor.params >= 200) { @@ -315,7 +315,7 @@ void EnVbBall_Draw(Actor* thisx, PlayState* play) { gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 0, 0, 0, (s8)this->shadowOpacity); Matrix_Translate(this->actor.world.pos.x, 100.0f, this->actor.world.pos.z, MTXMODE_NEW); Matrix_Scale(this->shadowSize, 1.0f, this->shadowSize, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_vb_ball.c", 626), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_vb_ball.c", 626), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gCircleShadowDL)); } 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 509fa38d8c..1c459b1e53 100644 --- a/src/overlays/actors/ovl_En_Viewer/z_en_viewer.c +++ b/src/overlays/actors/ovl_En_Viewer/z_en_viewer.c @@ -513,7 +513,7 @@ void EnViewer_Ganondorf9PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList if (limbIndex == GANONDORF_LIMB_JEWEL) { OPEN_DISPS(play->state.gfxCtx, "../z_en_viewer.c", 1365); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_viewer.c", 1370), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_viewer.c", 1370), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanondorfEyesDL)); CLOSE_DISPS(play->state.gfxCtx, "../z_en_viewer.c", 1372); @@ -859,7 +859,7 @@ void EnViewer_DrawFireEffects(EnViewer* this2, PlayState* play) { (10 * i - 20 * play->state.frames) % 512, 32, 128)); gDPSetPrimColor(POLY_XLU_DISP++, 0x80, 0x80, 255, 255, 170, 255); gDPSetEnvColor(POLY_XLU_DISP++, 255, 50, 00, 255); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_viewer.c", 2027), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_viewer.c", 2027), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPMatrix(POLY_XLU_DISP++, &D_01000000, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffFire1DL); 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 a6b667cfd8..71f63bed12 100644 --- a/src/overlays/actors/ovl_En_Vm/z_en_vm.c +++ b/src/overlays/actors/ovl_En_Vm/z_en_vm.c @@ -531,7 +531,7 @@ void EnVm_Draw(Actor* thisx, PlayState* play2) { if (this->unk_260 >= 3) { Matrix_Translate(this->beamPos3.x, this->beamPos3.y + 10.0f, this->beamPos3.z, MTXMODE_NEW); Matrix_Scale(0.8f, 0.8f, 0.8f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_vm.c", 1033), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_vm.c", 1033), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 168); Gfx_SetupDL_60NoCDXlu(play->state.gfxCtx); @@ -539,7 +539,7 @@ void EnVm_Draw(Actor* thisx, PlayState* play2) { gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80B2EB88[play->gameplayFrames % 8])); gSPDisplayList(POLY_XLU_DISP++, gEffEnemyDeathFlameDL); Matrix_RotateY(32767.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_vm.c", 1044), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_vm.c", 1044), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80B2EB88[(play->gameplayFrames + 4) % 8])); gSPDisplayList(POLY_XLU_DISP++, gEffEnemyDeathFlameDL); @@ -548,7 +548,7 @@ void EnVm_Draw(Actor* thisx, PlayState* play2) { Matrix_Translate(this->beamPos1.x, this->beamPos1.y, this->beamPos1.z, MTXMODE_NEW); Matrix_RotateZYX(this->beamRot.x, this->beamRot.y, this->beamRot.z, MTXMODE_APPLY); Matrix_Scale(this->beamScale.x * 0.1f, this->beamScale.x * 0.1f, this->beamScale.z * 0.0015f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_vm.c", 1063), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_vm.c", 1063), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gBeamosLaserDL); 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 d0dd7ee76e..11e0c9b11a 100644 --- a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c +++ b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c @@ -125,7 +125,7 @@ void EnWallmas_Init(Actor* thisx, PlayState* play) { Collider_SetCylinder(play, &this->collider, thisx, &sCylinderInit); CollisionCheck_SetInfo(&thisx->colChkInfo, &sDamageTable, &sColChkInfoInit); this->switchFlag = (u8)(thisx->params >> 0x8); - thisx->params = thisx->params & 0xFF; + thisx->params &= 0xFF; if (thisx->params == WMT_FLAG) { if (Flags_GetSwitch(play, this->switchFlag) != 0) { @@ -219,7 +219,7 @@ void EnWallmas_SetupReturnToCeiling(EnWallmas* this) { void EnWallmas_SetupTakeDamage(EnWallmas* this) { Animation_MorphToPlayOnce(&this->skelAnime, &gWallmasterDamageAnim, -3.0f); - if (this->collider.info.acHitInfo->toucher.dmgFlags & (DMG_ARROW | DMG_SLINGSHOT)) { + if (this->collider.elem.acHitElem->toucher.dmgFlags & (DMG_ARROW | DMG_SLINGSHOT)) { this->actor.world.rot.y = this->collider.base.ac->world.rot.y; } else { this->actor.world.rot.y = Actor_WorldYawTowardActor(&this->actor, this->collider.base.ac) + 0x8000; @@ -365,7 +365,7 @@ void EnWallmas_ReturnToCeiling(EnWallmas* this, PlayState* play) { SkelAnime_Update(&this->skelAnime); if (this->skelAnime.curFrame > 20.0f) { this->timer += 9; - this->actor.world.pos.y = this->actor.world.pos.y + 30.0f; + this->actor.world.pos.y += 30.0f; } if (Animation_OnFrame(&this->skelAnime, 20.0f) != 0) { @@ -437,9 +437,9 @@ void EnWallmas_TakePlayer(EnWallmas* this, PlayState* play) { player->actor.world.pos.z = this->actor.world.pos.z; if (this->timer < 0) { - this->actor.world.pos.y = this->actor.world.pos.y + 2.0f; + this->actor.world.pos.y += 2.0f; } else { - this->actor.world.pos.y = this->actor.world.pos.y + 10.0f; + this->actor.world.pos.y += 10.0f; } if (!LINK_IS_ADULT) { @@ -461,7 +461,7 @@ void EnWallmas_TakePlayer(EnWallmas* this, PlayState* play) { Actor_PlaySfx(&this->actor, NA_SE_EN_FALL_UP); } - this->timer = this->timer + 2; + this->timer += 2; } else { Math_StepToF(&this->actor.world.pos.y, player->actor.world.pos.y + (!LINK_IS_ADULT ? 30.0f : 50.0f), 5.0f); } @@ -507,7 +507,7 @@ void EnWallmas_Stun(EnWallmas* this, PlayState* play) { void EnWallmas_ColUpdate(EnWallmas* this, PlayState* play) { if (this->collider.base.acFlags & AC_HIT) { this->collider.base.acFlags &= ~AC_HIT; - Actor_SetDropFlag(&this->actor, &this->collider.info, true); + Actor_SetDropFlag(&this->actor, &this->collider.elem, true); if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) { if (Actor_ApplyDamage(&this->actor) == 0) { Enemy_StartFinishingBlow(play, &this->actor); @@ -606,7 +606,7 @@ void EnWallmas_DrawXlu(EnWallmas* this, PlayState* play) { } Matrix_Scale(xzScale, 1.0f, xzScale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_wallmas.c", 1421), G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_wallmas.c", 1421), G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, gCircleShadowDL); CLOSE_DISPS(play->state.gfxCtx, "../z_en_wallmas.c", 1426); @@ -635,7 +635,7 @@ void EnWallMas_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* Matrix_RotateZ(DEG_TO_RAD(15), MTXMODE_APPLY); Matrix_Scale(2.0f, 2.0f, 2.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_wallmas.c", 1489), G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_wallmas.c", 1489), G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, gWallmasterFingerDL); Matrix_Pop(); diff --git a/src/overlays/actors/ovl_En_Weiyer/z_en_weiyer.c b/src/overlays/actors/ovl_En_Weiyer/z_en_weiyer.c index 759bf7ca02..d5e321ff50 100644 --- a/src/overlays/actors/ovl_En_Weiyer/z_en_weiyer.c +++ b/src/overlays/actors/ovl_En_Weiyer/z_en_weiyer.c @@ -561,7 +561,7 @@ void func_80B3349C(EnWeiyer* this, PlayState* play) { void func_80B3368C(EnWeiyer* this, PlayState* play) { if (this->collider.base.acFlags & AC_HIT) { this->collider.base.acFlags &= ~AC_HIT; - Actor_SetDropFlag(&this->actor, &this->collider.info, true); + Actor_SetDropFlag(&this->actor, &this->collider.elem, true); if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) { if (this->actor.colChkInfo.damageEffect == 1) { 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 a07cf7aa3c..7fca408f7f 100644 --- a/src/overlays/actors/ovl_En_Wf/z_en_wf.c +++ b/src/overlays/actors/ovl_En_Wf/z_en_wf.c @@ -241,7 +241,7 @@ void EnWf_Init(Actor* thisx, PlayState* play) { SkelAnime_InitFlex(play, &this->skelAnime, &gWolfosWhiteSkel, &gWolfosWaitingAnim, this->jointTable, this->morphTable, WOLFOS_LIMB_MAX); Actor_SetScale(thisx, 0.01f); - this->colliderSpheres.elements[0].info.toucher.damage = this->colliderSpheres.elements[1].info.toucher.damage = + this->colliderSpheres.elements[0].base.toucher.damage = this->colliderSpheres.elements[1].base.toucher.damage = 8; thisx->naviEnemyId = NAVI_ENEMY_WHITE_WOLFOS; } @@ -1266,7 +1266,7 @@ void EnWf_UpdateDamage(EnWf* this, PlayState* play) { if (this->actor.colChkInfo.damageEffect != ENWF_DMGEFF_ICE_MAGIC) { this->damageEffect = this->actor.colChkInfo.damageEffect; - Actor_SetDropFlag(&this->actor, &this->colliderCylinderBody.info, true); + Actor_SetDropFlag(&this->actor, &this->colliderCylinderBody.elem, true); this->slashStatus = 0; if ((this->actor.colChkInfo.damageEffect == ENWF_DMGEFF_STUN) || diff --git a/src/overlays/actors/ovl_En_Wonder_Item/z_en_wonder_item.c b/src/overlays/actors/ovl_En_Wonder_Item/z_en_wonder_item.c index e60e3f40ac..f475b77e92 100644 --- a/src/overlays/actors/ovl_En_Wonder_Item/z_en_wonder_item.c +++ b/src/overlays/actors/ovl_En_Wonder_Item/z_en_wonder_item.c @@ -159,7 +159,7 @@ void EnWonderItem_Init(Actor* thisx, PlayState* play) { colTypeIndex = this->actor.world.rot.z & 0xFF; Collider_InitCylinder(play, &this->collider); Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit); - this->collider.info.bumper.dmgFlags = damageFlags[colTypeIndex]; + this->collider.elem.bumper.dmgFlags = damageFlags[colTypeIndex]; this->collider.dim.radius = 20; this->collider.dim.height = 30; this->updateFunc = EnWonderItem_InteractSwitch; @@ -188,7 +188,7 @@ void EnWonderItem_Init(Actor* thisx, PlayState* play) { case WONDERITEM_BOMB_SOLDIER: Collider_InitCylinder(play, &this->collider); Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit); - this->collider.info.bumper.dmgFlags = DMG_SLINGSHOT; + this->collider.elem.bumper.dmgFlags = DMG_SLINGSHOT; this->unkPos = this->actor.world.pos; this->collider.dim.radius = 35; this->collider.dim.height = 75; diff --git a/src/overlays/actors/ovl_En_Wonder_Talk/z_en_wonder_talk.c b/src/overlays/actors/ovl_En_Wonder_Talk/z_en_wonder_talk.c index 0106ad1913..1256a781ce 100644 --- a/src/overlays/actors/ovl_En_Wonder_Talk/z_en_wonder_talk.c +++ b/src/overlays/actors/ovl_En_Wonder_Talk/z_en_wonder_talk.c @@ -138,7 +138,7 @@ void func_80B3943C(EnWonderTalk* this, PlayState* play) { return; } if (this->switchFlag < 0 || !Flags_GetSwitch(play, this->switchFlag)) { - if ((Actor_ProcessTalkRequest(&this->actor, play))) { + if ((Actor_TalkOfferAccepted(&this->actor, play))) { if (this->unk_156 != TEXT_STATE_DONE) { this->actionFunc = func_80B395F0; } else { @@ -166,7 +166,7 @@ void func_80B3943C(EnWonderTalk* this, PlayState* play) { osSyncPrintf("\n\n"); } this->unk_15A = 0; - func_8002F2CC(&this->actor, play, this->unk_15C); + Actor_OfferTalk(&this->actor, play, this->unk_15C); } } } diff --git a/src/overlays/actors/ovl_En_Wonder_Talk2/z_en_wonder_talk2.c b/src/overlays/actors/ovl_En_Wonder_Talk2/z_en_wonder_talk2.c index 1675cc6308..a831460a80 100644 --- a/src/overlays/actors/ovl_En_Wonder_Talk2/z_en_wonder_talk2.c +++ b/src/overlays/actors/ovl_En_Wonder_Talk2/z_en_wonder_talk2.c @@ -117,7 +117,7 @@ void func_80B3A15C(EnWonderTalk2* this, PlayState* play) { this->actor.flags &= ~ACTOR_FLAG_0; this->unk_15A = true; } - } else if (Actor_ProcessTalkRequest(&this->actor, play)) { + } else if (Actor_TalkOfferAccepted(&this->actor, play)) { if ((this->switchFlag >= 0) && (this->talkMode != 2)) { Flags_SetSwitch(play, this->switchFlag); // "I saved it! All of it!" @@ -161,7 +161,7 @@ void func_80B3A15C(EnWonderTalk2* this, PlayState* play) { } this->unk_158 = 0; - func_8002F1C4(&this->actor, play, this->triggerRange + 50.0f, 100.0f, EXCH_ITEM_NONE); + Actor_OfferTalkExchange(&this->actor, play, this->triggerRange + 50.0f, 100.0f, EXCH_ITEM_NONE); } } } 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 601837f9a2..6b6267848d 100644 --- a/src/overlays/actors/ovl_En_Wood02/z_en_wood02.c +++ b/src/overlays/actors/ovl_En_Wood02/z_en_wood02.c @@ -449,12 +449,12 @@ void EnWood02_Draw(Actor* thisx, PlayState* play) { } else if (D_80B3BF70[this->drawType & 0xF] != NULL) { Gfx_DrawDListOpa(play, D_80B3BF54[this->drawType & 0xF]); gDPSetEnvColor(POLY_XLU_DISP++, red, green, blue, 0); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_wood02.c", 808), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_wood02.c", 808), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, D_80B3BF70[this->drawType & 0xF]); } else { Gfx_SetupDL_25Xlu(gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_en_wood02.c", 814), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_en_wood02.c", 814), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, D_80B3BF54[this->drawType & 0xF]); } diff --git a/src/overlays/actors/ovl_En_Xc/z_en_xc.c b/src/overlays/actors/ovl_En_Xc/z_en_xc.c index 6ed5c8c43e..16529db093 100644 --- a/src/overlays/actors/ovl_En_Xc/z_en_xc.c +++ b/src/overlays/actors/ovl_En_Xc/z_en_xc.c @@ -1718,7 +1718,7 @@ void EnXc_DrawTriforce(Actor* thisx, PlayState* play) { OPEN_DISPS(gfxCtx, "../z_en_oA2_inMetamol.c", 565); if (this->unk_2BC != 0) { - Mtx* mtx = Graph_Alloc(gfxCtx, sizeof(Mtx)); + Mtx* mtx = GRAPH_ALLOC(gfxCtx, sizeof(Mtx)); s32* primColor = this->triforcePrimColor; s32* envColor = this->triforceEnvColor; f32* scale = this->triforceScale; @@ -1727,7 +1727,7 @@ void EnXc_DrawTriforce(Actor* thisx, PlayState* play) { Matrix_Translate(kREG(16) + 100.0f, kREG(17) + 4460.0f, kREG(18) + 1190.0f, MTXMODE_APPLY); Matrix_RotateZYX(kREG(22), kREG(23), this->triforceAngle, MTXMODE_APPLY); Matrix_Scale(scale[0], scale[1], scale[2], MTXMODE_APPLY); - Matrix_ToMtx(mtx, "../z_en_oA2_inMetamol.c", 602); + MATRIX_TO_MTX(mtx, "../z_en_oA2_inMetamol.c", 602); Matrix_Pop(); Gfx_SetupDL_25Xlu(gfxCtx); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0x80, 255, 255, primColor[2], primColor[3]); @@ -2170,7 +2170,7 @@ void EnXc_InitTempleOfTime(EnXc* this, PlayState* play) { } void EnXc_SetupDialogueAction(EnXc* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->action = SHEIK_ACTION_IN_DIALOGUE; } else { this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3; @@ -2179,7 +2179,7 @@ void EnXc_SetupDialogueAction(EnXc* this, PlayState* play) { } else { this->actor.textId = 0x700F; } - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } } diff --git a/src/overlays/actors/ovl_En_Yabusame_Mark/z_en_yabusame_mark.c b/src/overlays/actors/ovl_En_Yabusame_Mark/z_en_yabusame_mark.c index e70587fd10..741f7d59b8 100644 --- a/src/overlays/actors/ovl_En_Yabusame_Mark/z_en_yabusame_mark.c +++ b/src/overlays/actors/ovl_En_Yabusame_Mark/z_en_yabusame_mark.c @@ -128,9 +128,9 @@ void func_80B42F74(EnYabusameMark* this, PlayState* play) { if (this->collider.base.acFlags & AC_HIT) { this->collider.base.acFlags &= ~AC_HIT; - arrowHitPos.x = this->collider.info.bumper.hitPos.x; - arrowHitPos.y = this->collider.info.bumper.hitPos.y; - arrowHitPos.z = this->collider.info.bumper.hitPos.z; + arrowHitPos.x = this->collider.elem.bumper.hitPos.x; + arrowHitPos.y = this->collider.elem.bumper.hitPos.y; + arrowHitPos.z = this->collider.elem.bumper.hitPos.z; effectVelocity.y = 15.0f; diff --git a/src/overlays/actors/ovl_En_Yukabyun/z_en_yukabyun.c b/src/overlays/actors/ovl_En_Yukabyun/z_en_yukabyun.c index 5c44e34738..e6d39e6a57 100644 --- a/src/overlays/actors/ovl_En_Yukabyun/z_en_yukabyun.c +++ b/src/overlays/actors/ovl_En_Yukabyun/z_en_yukabyun.c @@ -150,7 +150,7 @@ void EnYukabyun_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80B43F64[this->unk_152])); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_yukabyun.c", 373), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_yukabyun.c", 373), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gFloorTileEnemyDL); diff --git a/src/overlays/actors/ovl_En_Zf/z_en_zf.c b/src/overlays/actors/ovl_En_Zf/z_en_zf.c index 1f8fb35b73..9d1c93926f 100644 --- a/src/overlays/actors/ovl_En_Zf/z_en_zf.c +++ b/src/overlays/actors/ovl_En_Zf/z_en_zf.c @@ -2000,7 +2000,7 @@ void EnZf_UpdateDamage(EnZf* this, PlayState* play) { (D_80B4A1B4 != this->actor.params)) && (this->actor.colChkInfo.damageEffect != ENZF_DMGEFF_IMMUNE)) { this->damageEffect = this->actor.colChkInfo.damageEffect; - Actor_SetDropFlag(&this->actor, &this->bodyCollider.info, false); + Actor_SetDropFlag(&this->actor, &this->bodyCollider.elem, false); if ((this->actor.colChkInfo.damageEffect == ENZF_DMGEFF_STUN) || (this->actor.colChkInfo.damageEffect == ENZF_DMGEFF_ICE)) { diff --git a/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c b/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c index fdf0e48495..8815b37ba3 100644 --- a/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c +++ b/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c @@ -146,10 +146,10 @@ void func_80B4AF18(EnZl1* this, PlayState* play) { if (Actor_TextboxIsClosing(&this->actor, play)) { this->unk_1E6 = 0; } - } else if (Actor_ProcessTalkRequest(&this->actor, play)) { + } else if (Actor_TalkOfferAccepted(&this->actor, play)) { this->unk_1E6 = 1; } else if (this->actor.world.pos.y <= player->actor.world.pos.y) { - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } Collider_UpdateCylinder(&this->actor, &this->collider); @@ -166,7 +166,7 @@ void func_80B4B010(EnZl1* this, PlayState* play) { Vec3f playerPos = { -398.0f, 84.0f, 0.0f }; s16 rotDiff; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { Animation_Change(&this->skelAnime, &gChildZelda1Anim_10B38, 1.0f, 0.0f, Animation_GetLastFrame(&gChildZelda1Anim_10B38), ANIMMODE_ONCE_INTERP, -10.0f); this->subCamId = Play_CreateSubCamera(play); @@ -191,7 +191,7 @@ void func_80B4B010(EnZl1* this, PlayState* play) { if (1) {} // necessary to match rotDiff = ABS(this->actor.yawTowardsPlayer - this->actor.shape.rot.y); if ((rotDiff < 0x238E) && !(player->actor.world.pos.y < this->actor.world.pos.y)) { - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } } } @@ -556,10 +556,10 @@ void func_80B4BF2C(EnZl1* this, PlayState* play) { if (player->actor.world.pos.y < this->actor.world.pos.y) { break; } else { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->unk_1E2++; } else { - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } } break; @@ -572,7 +572,7 @@ void func_80B4BF2C(EnZl1* this, PlayState* play) { if (Actor_TextboxIsClosing(&this->actor, play)) { Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_7); Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_ALL); - this->actor.flags &= ~ACTOR_FLAG_8; + this->actor.flags &= ~ACTOR_FLAG_TALK; this->unk_1E2 = 4; } break; diff --git a/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c b/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c index e15af0f64b..ac4102120e 100644 --- a/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c +++ b/src/overlays/actors/ovl_En_Zl2/z_en_zl2.c @@ -443,7 +443,7 @@ s32 func_80B4F45C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s s16* unk_1DC = this->unk_1DC; if (limbIndex == 14) { - sp74 = Graph_Alloc(play->state.gfxCtx, sizeof(Mtx) * 7); + sp74 = GRAPH_ALLOC(play->state.gfxCtx, sizeof(Mtx) * 7); gSPSegment((*gfx)++, 0x0C, sp74); Matrix_Push(); @@ -460,7 +460,7 @@ s32 func_80B4F45C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s } Matrix_RotateZYX(unk_1DC[0] + kREG(31), unk_1DC[1] + kREG(32), unk_1DC[2] + kREG(33), MTXMODE_APPLY); Matrix_Translate(-188.0f, -184.0f, 0.0f, MTXMODE_APPLY); - Matrix_ToMtx(&sp74[0], "../z_en_zl2.c", 1056); + MATRIX_TO_MTX(&sp74[0], "../z_en_zl2.c", 1056); Matrix_Get(&sp34); Matrix_MtxFToYXZRotS(&sp34, &sp2C, 0); if (!FrameAdvance_IsEnabled(play)) { @@ -469,7 +469,7 @@ s32 func_80B4F45C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s } Matrix_RotateZYX(unk_1DC[3] + kREG(34), unk_1DC[4] + kREG(35), unk_1DC[5] + kREG(36), MTXMODE_APPLY); Matrix_Translate(-410.0f, -184.0f, 0.0f, MTXMODE_APPLY); - Matrix_ToMtx(&sp74[1], "../z_en_zl2.c", 1100); + MATRIX_TO_MTX(&sp74[1], "../z_en_zl2.c", 1100); Matrix_Get(&sp34); Matrix_MtxFToYXZRotS(&sp34, &sp2C, 0); if (!FrameAdvance_IsEnabled(play)) { @@ -478,7 +478,7 @@ s32 func_80B4F45C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s } Matrix_RotateZYX(unk_1DC[6] + kREG(37), unk_1DC[7] + kREG(38), unk_1DC[8] + kREG(39), MTXMODE_APPLY); Matrix_Translate(-1019.0f, -26.0f, 0.0f, MTXMODE_APPLY); - Matrix_ToMtx(&sp74[2], "../z_en_zl2.c", 1120); + MATRIX_TO_MTX(&sp74[2], "../z_en_zl2.c", 1120); Matrix_Pop(); Matrix_Push(); Matrix_Translate(467.0f, 265.0f, 389.0f, MTXMODE_APPLY); @@ -491,7 +491,7 @@ s32 func_80B4F45C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s } Matrix_RotateZYX(unk_1DC[9] + kREG(40), unk_1DC[10] + kREG(41), unk_1DC[11] + kREG(42), MTXMODE_APPLY); Matrix_Translate(-427.0f, -1.0f, -3.0f, MTXMODE_APPLY); - Matrix_ToMtx(&sp74[3], "../z_en_zl2.c", 1145); + MATRIX_TO_MTX(&sp74[3], "../z_en_zl2.c", 1145); Matrix_Get(&sp34); Matrix_MtxFToYXZRotS(&sp34, &sp2C, 0); if (!FrameAdvance_IsEnabled(play)) { @@ -501,7 +501,7 @@ s32 func_80B4F45C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s } Matrix_RotateZYX(unk_1DC[12] + kREG(43), unk_1DC[13] + kREG(44), unk_1DC[14] + kREG(45), MTXMODE_APPLY); Matrix_Translate(-446.0f, -52.0f, 84.0f, MTXMODE_APPLY); - Matrix_ToMtx(&sp74[4], "../z_en_zl2.c", 1164); + MATRIX_TO_MTX(&sp74[4], "../z_en_zl2.c", 1164); Matrix_Pop(); Matrix_Push(); Matrix_Translate(467.0f, 265.0f, -389.0f, MTXMODE_APPLY); @@ -514,7 +514,7 @@ s32 func_80B4F45C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s } Matrix_RotateZYX(unk_1DC[15] + kREG(46), unk_1DC[16] + kREG(47), unk_1DC[17] + kREG(48), MTXMODE_APPLY); Matrix_Translate(-427.0f, -1.0f, 3.0f, MTXMODE_APPLY); - Matrix_ToMtx(&sp74[5], "../z_en_zl2.c", 1189); + MATRIX_TO_MTX(&sp74[5], "../z_en_zl2.c", 1189); Matrix_Get(&sp34); Matrix_MtxFToYXZRotS(&sp34, &sp2C, 0); if (!FrameAdvance_IsEnabled(play)) { @@ -524,7 +524,7 @@ s32 func_80B4F45C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s } Matrix_RotateZYX(unk_1DC[18] + kREG(49), unk_1DC[19] + kREG(50), unk_1DC[20] + kREG(51), MTXMODE_APPLY); Matrix_Translate(-446.0f, -52.0f, -84.0f, MTXMODE_APPLY); - Matrix_ToMtx(&sp74[6], "../z_en_zl2.c", 1208); + MATRIX_TO_MTX(&sp74[6], "../z_en_zl2.c", 1208); Matrix_Pop(); Matrix_Pop(); this->unk_24C = 1; @@ -549,7 +549,7 @@ void EnZl2_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, Matrix_Translate(180.0f, 979.0f, -375.0f, MTXMODE_APPLY); Matrix_RotateZYX(-0x5DE7, -0x53E9, 0x3333, MTXMODE_APPLY); Matrix_Scale(1.2f, 1.2f, 1.2f, MTXMODE_APPLY); - gSPMatrix((*gfx)++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_zl2.c", 1253), + gSPMatrix((*gfx)++, MATRIX_NEW(play->state.gfxCtx, "../z_en_zl2.c", 1253), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList((*gfx)++, gZelda2OcarinaDL); } diff --git a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c index 74c5aaced5..86867bfb8d 100644 --- a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c +++ b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c @@ -592,7 +592,7 @@ s32 func_80B5458C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s Vec3s* torsoRot = &this->interactInfo.torsoRot; if (limbIndex == 14) { - sp78 = Graph_Alloc(play->state.gfxCtx, sizeof(Mtx) * 7); + sp78 = GRAPH_ALLOC(play->state.gfxCtx, sizeof(Mtx) * 7); rot->x += headRot->y; rot->z += headRot->x; gSPSegment((*gfx)++, 0x0C, sp78); @@ -611,7 +611,7 @@ s32 func_80B5458C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s } Matrix_RotateZYX(unk_28C[0] + kREG(31), unk_28C[1] + kREG(32), unk_28C[2] + kREG(33), MTXMODE_APPLY); Matrix_Translate(-188.0f, -184.0f, 0.0f, MTXMODE_APPLY); - Matrix_ToMtx(&sp78[0], "../z_en_zl3.c", 1490); + MATRIX_TO_MTX(&sp78[0], "../z_en_zl3.c", 1490); Matrix_Get(&sp38); Matrix_MtxFToYXZRotS(&sp38, &sp30, 0); if (!FrameAdvance_IsEnabled(play)) { @@ -619,7 +619,7 @@ s32 func_80B5458C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s } Matrix_RotateZYX(unk_28C[3] + kREG(34), unk_28C[4] + kREG(35), unk_28C[5] + kREG(36), MTXMODE_APPLY); Matrix_Translate(-410.0f, -184.0f, 0.0f, MTXMODE_APPLY); - Matrix_ToMtx(&sp78[1], "../z_en_zl3.c", 1534); + MATRIX_TO_MTX(&sp78[1], "../z_en_zl3.c", 1534); Matrix_Get(&sp38); Matrix_MtxFToYXZRotS(&sp38, &sp30, 0); if (!FrameAdvance_IsEnabled(play)) { @@ -627,7 +627,7 @@ s32 func_80B5458C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s } Matrix_RotateZYX(unk_28C[6] + kREG(37), unk_28C[7] + kREG(38), unk_28C[8] + kREG(39), MTXMODE_APPLY); Matrix_Translate(-1019.0f, -26.0f, 0.0f, MTXMODE_APPLY); - Matrix_ToMtx(&sp78[2], "../z_en_zl3.c", 1554); + MATRIX_TO_MTX(&sp78[2], "../z_en_zl3.c", 1554); Matrix_Pop(); Matrix_Push(); Matrix_Translate(467.0f, 265.0f, 389.0f, MTXMODE_APPLY); @@ -640,7 +640,7 @@ s32 func_80B5458C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s } Matrix_RotateZYX(unk_28C[9] + kREG(40), unk_28C[10] + kREG(41), unk_28C[11] + kREG(42), MTXMODE_APPLY); Matrix_Translate(-427.0f, -1.0f, -3.0f, MTXMODE_APPLY); - Matrix_ToMtx(&sp78[3], "../z_en_zl3.c", 1579); + MATRIX_TO_MTX(&sp78[3], "../z_en_zl3.c", 1579); Matrix_Get(&sp38); Matrix_MtxFToYXZRotS(&sp38, &sp30, 0); if (!FrameAdvance_IsEnabled(play)) { @@ -650,7 +650,7 @@ s32 func_80B5458C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s } Matrix_RotateZYX(unk_28C[12] + kREG(43), unk_28C[13] + kREG(44), unk_28C[14] + kREG(45), MTXMODE_APPLY); Matrix_Translate(-446.0f, -52.0f, 84.0f, MTXMODE_APPLY); - Matrix_ToMtx(&sp78[4], "../z_en_zl3.c", 1598); + MATRIX_TO_MTX(&sp78[4], "../z_en_zl3.c", 1598); Matrix_Pop(); Matrix_Push(); Matrix_Translate(467.0f, 265.0f, -389.0f, MTXMODE_APPLY); @@ -663,7 +663,7 @@ s32 func_80B5458C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s } Matrix_RotateZYX(unk_28C[15] + kREG(46), unk_28C[16] + kREG(47), unk_28C[17] + kREG(48), MTXMODE_APPLY); Matrix_Translate(-427.0f, -1.0f, 3.0f, MTXMODE_APPLY); - Matrix_ToMtx(&sp78[5], "../z_en_zl3.c", 1623); + MATRIX_TO_MTX(&sp78[5], "../z_en_zl3.c", 1623); Matrix_Get(&sp38); Matrix_MtxFToYXZRotS(&sp38, &sp30, 0); if (!FrameAdvance_IsEnabled(play)) { @@ -673,7 +673,7 @@ s32 func_80B5458C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s } Matrix_RotateZYX(unk_28C[18] + kREG(49), unk_28C[19] + kREG(50), unk_28C[20] + kREG(51), MTXMODE_APPLY); Matrix_Translate(-446.0f, -52.0f, -84.0f, MTXMODE_APPLY); - Matrix_ToMtx(&sp78[6], "../z_en_zl3.c", 1642); + MATRIX_TO_MTX(&sp78[6], "../z_en_zl3.c", 1642); Matrix_Pop(); Matrix_Pop(); this->unk_2FC = 1; @@ -1103,13 +1103,13 @@ void func_80B55CCC(EnZl3* this, s32 arg1) { } void func_80B55D00(EnZl3* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->action = 13; } else if (ABS((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y)) <= 0x4300) { this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3; this->actor.flags |= ACTOR_FLAG_0; this->actor.textId = 0x70D5; - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } else { this->actor.flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_3); this->actor.flags &= ~ACTOR_FLAG_0; @@ -1159,7 +1159,7 @@ void func_80B55F38(EnZl3* this, s32 arg1) { } void func_80B55F6C(EnZl3* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->action = 0x12; } else if (ABS((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y)) <= 0x4300) { BossGanon2* bossGanon2 = func_80B53488(this, play); @@ -1168,7 +1168,7 @@ void func_80B55F6C(EnZl3* this, PlayState* play) { this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3; this->actor.flags |= ACTOR_FLAG_0; this->actor.textId = 0x7059; - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } } else { this->actor.flags &= ~(ACTOR_FLAG_0 | ACTOR_FLAG_3); @@ -1220,7 +1220,7 @@ void func_80B561E0(EnZl3* this, s32 arg1) { } void func_80B56214(EnZl3* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { this->action = 21; } else if (ABS((s16)(this->actor.yawTowardsPlayer - this->actor.shape.rot.y)) <= 0x4300) { BossGanon2* bossGanon2 = func_80B53488(this, play); @@ -1230,7 +1230,7 @@ void func_80B56214(EnZl3* this, PlayState* play) { this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3; this->actor.flags |= ACTOR_FLAG_0; this->actor.textId = 0x7059; - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } } } else { @@ -1671,7 +1671,7 @@ u16 func_80B572F0(PlayState* play) { } s32 func_80B57324(EnZl3* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { return 1; } return 0; @@ -1683,7 +1683,7 @@ void func_80B57350(EnZl3* this, PlayState* play) { if (ABS(temp_v0) <= 0x4300) { this->actor.flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3; this->actor.textId = func_80B572F0(play); - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } } @@ -2088,7 +2088,7 @@ void func_80B582C8(EnZl3* this, PlayState* play) { *unk_3CC += 1.0f; func_80B57858(play); } else if (*unk_3CC == kREG(17) + 40.0f) { - func_8005B1A4(GET_ACTIVE_CAM(play)); + Camera_SetFinishedFlag(GET_ACTIVE_CAM(play)); *unk_3CC += 1.0f; } else if (*unk_3CC >= ((kREG(17) + 40.0f) + 1.0f)) { this->action = 32; @@ -2153,7 +2153,7 @@ void func_80B58624(EnZl3* this, PlayState* play) { } else { if (*unk_3CC >= kREG(20) + 30.0f) { this->action = 28; - func_8005B1A4(GET_ACTIVE_CAM(play)); + Camera_SetFinishedFlag(GET_ACTIVE_CAM(play)); func_80B54E14(this, &gZelda2Anime2Anim_009FBC, 0, -12.0f, 0); *unk_3CC = 0.0f; } else { @@ -2438,7 +2438,7 @@ void func_80B593D0(EnZl3* this, PlayState* play) { s32 func_80B5944C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx, Gfx** gfx) { if (limbIndex == 14) { - Mtx* mtx = Graph_Alloc(play->state.gfxCtx, sizeof(Mtx) * 7); + Mtx* mtx = GRAPH_ALLOC(play->state.gfxCtx, sizeof(Mtx) * 7); EnZl3* this = (EnZl3*)thisx; Vec3s* headRot = &this->interactInfo.headRot; @@ -2451,23 +2451,23 @@ s32 func_80B5944C(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s Matrix_RotateZYX(rot->x, rot->y, rot->z, MTXMODE_APPLY); Matrix_Push(); Matrix_Translate(174.0f, -317.0f, 0.0f, MTXMODE_APPLY); - Matrix_ToMtx(&mtx[0], "../z_en_zl3_inEscape.c", 2471); + MATRIX_TO_MTX(&mtx[0], "../z_en_zl3_inEscape.c", 2471); Matrix_Translate(-410.0f, -184.0f, 0.0f, MTXMODE_APPLY); - Matrix_ToMtx(&mtx[1], "../z_en_zl3_inEscape.c", 2474); + MATRIX_TO_MTX(&mtx[1], "../z_en_zl3_inEscape.c", 2474); Matrix_Translate(-1019.0f, -26.0f, 0.0f, MTXMODE_APPLY); - Matrix_ToMtx(&mtx[2], "../z_en_zl3_inEscape.c", 2477); + MATRIX_TO_MTX(&mtx[2], "../z_en_zl3_inEscape.c", 2477); Matrix_Pop(); Matrix_Push(); Matrix_Translate(40.0f, 264.0f, 386.0f, MTXMODE_APPLY); - Matrix_ToMtx(&mtx[3], "../z_en_zl3_inEscape.c", 2483); + MATRIX_TO_MTX(&mtx[3], "../z_en_zl3_inEscape.c", 2483); Matrix_Translate(-446.0f, -52.0f, 84.0f, MTXMODE_APPLY); - Matrix_ToMtx(&mtx[4], "../z_en_zl3_inEscape.c", 2486); + MATRIX_TO_MTX(&mtx[4], "../z_en_zl3_inEscape.c", 2486); Matrix_Pop(); Matrix_Push(); Matrix_Translate(40.0f, 264.0f, -386.0f, MTXMODE_APPLY); - Matrix_ToMtx(&mtx[5], "../z_en_zl3_inEscape.c", 2492); + MATRIX_TO_MTX(&mtx[5], "../z_en_zl3_inEscape.c", 2492); Matrix_Translate(-446.0f, -52.0f, -84.0f, MTXMODE_APPLY); - Matrix_ToMtx(&mtx[6], "../z_en_zl3_inEscape.c", 2495); + MATRIX_TO_MTX(&mtx[6], "../z_en_zl3_inEscape.c", 2495); Matrix_Pop(); Matrix_Pop(); } 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 d68c4f89cc..95ba59deb7 100644 --- a/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c +++ b/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c @@ -181,7 +181,7 @@ static AnimationInfo sAnimationInfo[] = { void EnZl4_SetActiveCamDir(PlayState* play, s16 index) { Camera* activeCam = GET_ACTIVE_CAM(play); - Camera_ChangeSetting(activeCam, CAM_SET_FREE0); + Camera_RequestSetting(activeCam, CAM_SET_FREE0); activeCam->at = sCamDirections[index].at; activeCam->eye = activeCam->eyeNext = sCamDirections[index].eye; activeCam->roll = sCamDirections[index].roll; @@ -192,19 +192,19 @@ void EnZl4_SetActiveCamMove(PlayState* play, s16 index) { Camera* activeCam = GET_ACTIVE_CAM(play); Player* player = GET_PLAYER(play); - Camera_ChangeSetting(activeCam, CAM_SET_CS_0); + Camera_RequestSetting(activeCam, CAM_SET_CS_0); Camera_ResetAnim(activeCam); Camera_SetCSParams(activeCam, sCamMove[index].atPoints, sCamMove[index].eyePoints, player, sCamMove[index].relativeToPlayer); } u16 EnZl4_GetTextId(PlayState* play, Actor* thisx) { - u16 faceReaction = Text_GetFaceReaction(play, 22); + u16 maskReactionTextId = MaskReaction_GetTextId(play, MASK_REACTION_SET_ZELDA); u16 stoneCount; s16 textId; - if (faceReaction != 0) { - return faceReaction; + if (maskReactionTextId != 0) { + return maskReactionTextId; } stoneCount = 0; @@ -423,13 +423,13 @@ s32 EnZl4_CsWaitForPlayer(EnZl4* this, PlayState* play) { s16 yawDiff; s16 absYawDiff; - if (!Actor_ProcessTalkRequest(&this->actor, play)) { + if (!Actor_TalkOfferAccepted(&this->actor, play)) { yawDiff = (f32)this->actor.yawTowardsPlayer - this->actor.shape.rot.y; absYawDiff = ABS(yawDiff); if ((playerx->world.pos.y != this->actor.world.pos.y) || (absYawDiff >= 0x3FFC)) { return false; } else { - func_8002F2CC(&this->actor, play, this->collider.dim.radius + 60.0f); + Actor_OfferTalk(&this->actor, play, this->collider.dim.radius + 60.0f); return false; } } @@ -1111,7 +1111,7 @@ s32 EnZl4_CsMakePlan(EnZl4* this, PlayState* play) { if (!((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play))) { break; } else { - Camera_ChangeSetting(GET_ACTIVE_CAM(play), CAM_SET_NORMAL0); + Camera_RequestSetting(GET_ACTIVE_CAM(play), CAM_SET_NORMAL0); this->talkState = 7; play->talkWithPlayer(play, &this->actor); Actor_OfferGetItem(&this->actor, play, GI_ZELDAS_LETTER, fabsf(this->actor.xzDistToPlayer) + 1.0f, 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 e88310d9de..b80f97ad09 100644 --- a/src/overlays/actors/ovl_En_Zo/z_en_zo.c +++ b/src/overlays/actors/ovl_En_Zo/z_en_zo.c @@ -194,7 +194,7 @@ void EnZo_DrawEffectsRipples(EnZo* this, PlayState* play) { gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, effect->color.a); Matrix_Translate(effect->pos.x, effect->pos.y, effect->pos.z, MTXMODE_NEW); Matrix_Scale(effect->scale, 1.0f, effect->scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_zo_eff.c", 242), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_zo_eff.c", 242), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gZoraRipplesModelDL); } @@ -229,7 +229,7 @@ void EnZo_DrawEffectsBubbles(EnZo* this, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_zo_eff.c", 281), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_zo_eff.c", 281), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gZoraBubblesModelDL); } @@ -260,7 +260,7 @@ void EnZo_DrawEffectsSplashes(EnZo* this, PlayState* play) { Matrix_Translate(effect->pos.x, effect->pos.y, effect->pos.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_en_zo_eff.c", 325), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_en_zo_eff.c", 325), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gZoraSplashesModelDL); @@ -357,11 +357,10 @@ void EnZo_SpawnSplashes(EnZo* this) { } u16 EnZo_GetTextId(PlayState* play, Actor* thisx) { - u16 faceReaction; + u16 textId = MaskReaction_GetTextId(play, MASK_REACTION_SET_ZORA); - faceReaction = Text_GetFaceReaction(play, 29); - if (faceReaction != 0) { - return faceReaction; + if (textId != 0) { + return textId; } switch (thisx->params & 0x3F) { diff --git a/src/overlays/actors/ovl_End_Title/z_end_title.c b/src/overlays/actors/ovl_End_Title/z_end_title.c index ea5fa45a6e..f3c2d3a945 100644 --- a/src/overlays/actors/ovl_End_Title/z_end_title.c +++ b/src/overlays/actors/ovl_End_Title/z_end_title.c @@ -64,7 +64,7 @@ void EndTitle_DrawFull(Actor* thisx, PlayState* play) { Matrix_RotateX(BINANG_TO_RAD(0xBB8), MTXMODE_APPLY); Matrix_RotateY(0.0f, MTXMODE_APPLY); Matrix_RotateZ(0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_end_title.c", 412), G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_end_title.c", 412), G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, sTriforceDL); CLOSE_DISPS(play->state.gfxCtx, "../z_end_title.c", 417); diff --git a/src/overlays/actors/ovl_Fishing/z_fishing.c b/src/overlays/actors/ovl_Fishing/z_fishing.c index d603282a36..c80c7e32f5 100644 --- a/src/overlays/actors/ovl_Fishing/z_fishing.c +++ b/src/overlays/actors/ovl_Fishing/z_fishing.c @@ -1204,7 +1204,7 @@ void Fishing_DrawEffects(FishingEffect* effect, PlayState* play) { Matrix_Translate(effect->pos.x, effect->pos.y, effect->pos.z, MTXMODE_NEW); Matrix_Scale(effect->scale, 1.0f, effect->scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 2305), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 2305), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gFishingRippleModelDL); @@ -1228,7 +1228,7 @@ void Fishing_DrawEffects(FishingEffect* effect, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 2346), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 2346), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gFishingDustSplashModelDL); @@ -1256,7 +1256,7 @@ void Fishing_DrawEffects(FishingEffect* effect, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 2394), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 2394), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gFishingWaterDustModelDL); @@ -1279,7 +1279,7 @@ void Fishing_DrawEffects(FishingEffect* effect, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 2423), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 2423), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gFishingBubbleModelDL); @@ -1304,7 +1304,7 @@ void Fishing_DrawEffects(FishingEffect* effect, PlayState* play) { Matrix_RotateZ(effect->rot.z, MTXMODE_APPLY); Matrix_Scale(0.002f, 1.0f, 0.1f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 2467), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 2467), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gFishingRainDropModelDL); @@ -1328,7 +1328,7 @@ void Fishing_DrawEffects(FishingEffect* effect, PlayState* play) { Matrix_Translate(effect->pos.x, effect->pos.y, effect->pos.z, MTXMODE_NEW); Matrix_Scale(effect->scale, 1.0f, effect->scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 2504), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 2504), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gFishingRippleModelDL); @@ -1357,7 +1357,7 @@ void Fishing_DrawEffects(FishingEffect* effect, PlayState* play) { Matrix_RotateY(rotY, MTXMODE_APPLY); Matrix_Scale(effect->scale, effect->scale, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 2541), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 2541), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gFishingRainSplashModelDL); @@ -1374,7 +1374,7 @@ void Fishing_DrawEffects(FishingEffect* effect, PlayState* play) { Matrix_Scale(effect->scale, effect->scale, effect->scale, MTXMODE_APPLY); Matrix_Translate(-1250.0f, 0.0f, 0.0f, MTXMODE_APPLY); Matrix_RotateX(M_PI / 2, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 2560), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 2560), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gFishingOwnerHatDL); @@ -1399,7 +1399,7 @@ void Fishing_DrawStreamSplash(PlayState* play) { Matrix_Translate(670.0f, -24.0f, -600.0f, MTXMODE_NEW); Matrix_Scale(0.02f, 1.0f, 0.02f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 2598), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 2598), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gFishingStreamSplashDL)); @@ -1628,13 +1628,13 @@ void Fishing_DrawLureHook(PlayState* play, Vec3f* pos, Vec3f* refPos, u8 hookInd Matrix_Scale(0.0039999997f, 0.0039999997f, 0.005f, MTXMODE_APPLY); Matrix_RotateY(M_PI, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 3029), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 3029), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gFishingLureHookDL); Matrix_RotateZ(M_PI / 2, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 3034), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 3034), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gFishingLureHookDL); @@ -1664,7 +1664,7 @@ void Fishing_DrawLureHook(PlayState* play, Vec3f* pos, Vec3f* refPos, u8 hookInd Matrix_Translate(-1250.0f, 0.0f, 0.0f, MTXMODE_APPLY); Matrix_RotateX(M_PI / 2, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 3085), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 3085), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gFishingOwnerHatDL); } @@ -1764,7 +1764,7 @@ void Fishing_DrawSinkingLure(PlayState* play) { Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 3239), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 3239), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gFishingSinkingLureSegmentModelDL); } @@ -1781,7 +1781,7 @@ void Fishing_DrawSinkingLure(PlayState* play) { Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 3265), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 3265), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gFishingSinkingLureSegmentModelDL); } @@ -1846,7 +1846,7 @@ void Fishing_DrawLureAndLine(PlayState* play, Vec3f* linePos, Vec3f* lineRot) { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 3369), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 3369), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gFishingLureFloatDL); @@ -1894,7 +1894,7 @@ void Fishing_DrawLureAndLine(PlayState* play, Vec3f* linePos, Vec3f* lineRot) { Matrix_RotateX(rx, MTXMODE_APPLY); Matrix_Scale(sFishingLineScale, 1.0f, dist, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 3444), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 3444), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gFishingLineModelDL); } else { @@ -1922,7 +1922,7 @@ void Fishing_DrawLureAndLine(PlayState* play, Vec3f* linePos, Vec3f* lineRot) { Matrix_RotateX(rx, MTXMODE_APPLY); Matrix_Scale(sFishingLineScale, 1.0f, dist, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 3475), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 3475), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gFishingLineModelDL); break; @@ -1933,7 +1933,7 @@ void Fishing_DrawLureAndLine(PlayState* play, Vec3f* linePos, Vec3f* lineRot) { Matrix_RotateX((lineRot + i)->x, MTXMODE_APPLY); Matrix_Scale(sFishingLineScale, 1.0f, 0.005f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 3492), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 3492), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gFishingLineModelDL); } @@ -2071,7 +2071,7 @@ void Fishing_DrawRod(PlayState* play) { Matrix_Push(); Matrix_Scale(sRodScales[i], sRodScales[i], 0.52f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 3809), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 3809), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (i < 5) { @@ -2866,11 +2866,11 @@ void Fishing_HandleAquariumDialog(Fishing* this, PlayState* play) { if (this->aquariumWaitTimer == 0) { this->actor.flags |= ACTOR_FLAG_0; - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { sFishLengthToWeigh = sFishingRecordLength; this->isAquariumMessage = true; } else { - func_8002F2F4(&this->actor, play); + Actor_OfferTalkNearColChkInfoCylinder(&this->actor, play); } } else { this->aquariumWaitTimer--; @@ -4426,7 +4426,7 @@ void Fishing_DrawPondProps(PlayState* play) { Matrix_RotateX(prop->rotX, MTXMODE_APPLY); Matrix_RotateY(prop->reedAngle, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 7726), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 7726), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gFishingReedModelDL); } @@ -4448,7 +4448,7 @@ void Fishing_DrawPondProps(PlayState* play) { Matrix_Translate(prop->pos.x, prop->pos.y, prop->pos.z, MTXMODE_NEW); Matrix_Scale(prop->scale, prop->scale, prop->scale, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 7748), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 7748), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gFishingWoodPostModelDL); } @@ -4473,7 +4473,7 @@ void Fishing_DrawPondProps(PlayState* play) { Matrix_Translate(0.0f, 0.0f, 20.0f, MTXMODE_APPLY); Matrix_RotateY(prop->rotY, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 7774), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 7774), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gFishingLilyPadModelDL); } @@ -4496,7 +4496,7 @@ void Fishing_DrawPondProps(PlayState* play) { Matrix_Scale(prop->scale, prop->scale, prop->scale, MTXMODE_APPLY); Matrix_RotateY(prop->rotY, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 7798), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 7798), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gFishingRockModelDL); } @@ -4728,7 +4728,7 @@ void Fishing_DrawGroupFishes(PlayState* play) { Matrix_RotateX(BINANG_TO_RAD_ALT2(-(f32)fish->unk_3C), MTXMODE_APPLY); Matrix_Scale(fish->scaleX * scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 8093), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 8093), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gFishingGroupFishModelDL); } @@ -4759,7 +4759,7 @@ void Fishing_HandleOwnerDialog(Fishing* this, PlayState* play) { this->actor.textId = 0x4097; } - if (Actor_ProcessTalkRequest(&this->actor, play)) { + if (Actor_TalkOfferAccepted(&this->actor, play)) { if (sFishingPlayingState == 0) { this->stateAndTimer = 1; if (sLinkAge != LINK_AGE_CHILD) { @@ -4771,7 +4771,7 @@ void Fishing_HandleOwnerDialog(Fishing* this, PlayState* play) { this->stateAndTimer = 10; } } else { - func_8002F2CC(&this->actor, play, 100.0f); + Actor_OfferTalk(&this->actor, play, 100.0f); } break; @@ -5801,9 +5801,9 @@ void Fishing_DrawOwner(Actor* thisx, PlayState* play) { Matrix_Translate(130.0f, 40.0f, 1300.0f, MTXMODE_NEW); Matrix_Scale(0.08f, 0.12f, 0.14f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 9297), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 9297), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_fishing.c", 9298), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_fishing.c", 9298), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gFishingAquariumBottomDL); diff --git a/src/overlays/actors/ovl_Item_B_Heart/z_item_b_heart.c b/src/overlays/actors/ovl_Item_B_Heart/z_item_b_heart.c index e1627b772b..f6d21ef419 100644 --- a/src/overlays/actors/ovl_Item_B_Heart/z_item_b_heart.c +++ b/src/overlays/actors/ovl_Item_B_Heart/z_item_b_heart.c @@ -94,13 +94,13 @@ void ItemBHeart_Draw(Actor* thisx, PlayState* play) { if (flag) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_item_b_heart.c", 551), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_item_b_heart.c", 551), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGiHeartBorderDL); gSPDisplayList(POLY_XLU_DISP++, gGiHeartContainerDL); } else { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_item_b_heart.c", 557), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_item_b_heart.c", 557), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gGiHeartBorderDL); gSPDisplayList(POLY_OPA_DISP++, gGiHeartContainerDL); diff --git a/src/overlays/actors/ovl_Item_Shield/z_item_shield.c b/src/overlays/actors/ovl_Item_Shield/z_item_shield.c index 1957e674c6..2763add1e2 100644 --- a/src/overlays/actors/ovl_Item_Shield/z_item_shield.c +++ b/src/overlays/actors/ovl_Item_Shield/z_item_shield.c @@ -220,7 +220,7 @@ void ItemShield_Draw(Actor* thisx, PlayState* play) { if (!(this->unk_19C & 2)) { OPEN_DISPS(play->state.gfxCtx, "../z_item_shield.c", 457); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_item_shield.c", 460), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_item_shield.c", 460), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, SEGMENTED_TO_VIRTUAL(gLinkChildDekuShieldDL)); CLOSE_DISPS(play->state.gfxCtx, "../z_item_shield.c", 465); diff --git a/src/overlays/actors/ovl_Magic_Dark/z_magic_dark.c b/src/overlays/actors/ovl_Magic_Dark/z_magic_dark.c index bac5bb9738..170e0bafce 100644 --- a/src/overlays/actors/ovl_Magic_Dark/z_magic_dark.c +++ b/src/overlays/actors/ovl_Magic_Dark/z_magic_dark.c @@ -225,7 +225,7 @@ void MagicDark_DiamondDraw(Actor* thisx, PlayState* play) { Matrix_Translate(this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, MTXMODE_NEW); Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY); Matrix_RotateY(BINANG_TO_RAD(this->actor.shape.rot.y), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_magic_dark.c", 553), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_magic_dark.c", 553), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 170, 255, 255, (s32)(this->primAlpha * 0.6f) & 0xFF); gDPSetEnvColor(POLY_XLU_DISP++, 0, 100, 255, 128); @@ -278,13 +278,13 @@ void MagicDark_OrbDraw(Actor* thisx, PlayState* play) { Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY); Matrix_Mult(&play->billboardMtxF, MTXMODE_APPLY); Matrix_Push(); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_magic_dark.c", 632), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_magic_dark.c", 632), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Matrix_RotateZ(sp6C * (M_PI / 32), MTXMODE_APPLY); gSPDisplayList(POLY_XLU_DISP++, gEffFlash1DL); Matrix_Pop(); Matrix_RotateZ(-sp6C * (M_PI / 32), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_magic_dark.c", 639), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_magic_dark.c", 639), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffFlash1DL); diff --git a/src/overlays/actors/ovl_Magic_Fire/z_magic_fire.c b/src/overlays/actors/ovl_Magic_Fire/z_magic_fire.c index 3f04bfc6a7..0e32deee95 100644 --- a/src/overlays/actors/ovl_Magic_Fire/z_magic_fire.c +++ b/src/overlays/actors/ovl_Magic_Fire/z_magic_fire.c @@ -133,9 +133,9 @@ void MagicFire_Update(Actor* thisx, PlayState* play) { } if (this->action == DF_ACTION_EXPAND_SLOWLY) { - this->collider.info.toucher.damage = this->actionTimer + 25; + this->collider.elem.toucher.damage = this->actionTimer + 25; } else if (this->action == DF_ACTION_STOP_EXPANDING) { - this->collider.info.toucher.damage = this->actionTimer; + this->collider.elem.toucher.damage = this->actionTimer; } Collider_UpdateCylinder(&this->actor, &this->collider); this->collider.dim.radius = (this->actor.scale.x * 325.0f); @@ -237,7 +237,7 @@ void MagicFire_Draw(Actor* thisx, PlayState* play) { gDPSetPrimColor(POLY_XLU_DISP++, 0, 128, 255, 200, 0, (u8)(this->alphaMultiplier * 255)); gDPSetEnvColor(POLY_XLU_DISP++, 255, 0, 0, (u8)(this->alphaMultiplier * 255)); Matrix_Scale(0.15f, 0.15f, 0.15f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_magic_fire.c", 715), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_magic_fire.c", 715), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPPipeSync(POLY_XLU_DISP++); gSPTexture(POLY_XLU_DISP++, 0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON); 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 74bae5ccb2..5d4c824c6f 100644 --- a/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.c +++ b/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.c @@ -480,7 +480,7 @@ void MirRay_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); Matrix_Scale(1.0f, 1.0f, this->reflectIntensity * 5.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_mir_ray.c", 972), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_mir_ray.c", 972), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 150, (s16)(temp = this->reflectIntensity * 100.0f)); gSPDisplayList(POLY_XLU_DISP++, gShieldBeamGlowDL); @@ -503,7 +503,7 @@ void MirRay_Draw(Actor* thisx, PlayState* play) { Matrix_Translate(reflection[i].pos.x, reflection[i].pos.y, reflection[i].pos.z, MTXMODE_NEW); Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY); Matrix_Mult(&reflection[i].mtx, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_mir_ray.c", 1006), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_mir_ray.c", 1006), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetRenderMode(POLY_XLU_DISP++, G_RM_FOG_SHADE_A, G_RM_AA_ZB_XLU_DECAL2); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 150, reflection[0].opacity); 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 2c60dcb95e..7299654c9d 100644 --- a/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c +++ b/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c @@ -537,13 +537,13 @@ void ObjBean_SetupWaitForBean(ObjBean* this) { } void ObjBean_WaitForBean(ObjBean* this, PlayState* play) { - if (Actor_ProcessTalkRequest(&this->dyna.actor, play)) { + if (Actor_TalkOfferAccepted(&this->dyna.actor, play)) { if (func_8002F368(play) == EXCH_ITEM_MAGIC_BEAN) { func_80B8FE00(this); Flags_SetSwitch(play, this->dyna.actor.params & 0x3F); } } else { - func_8002F298(&this->dyna.actor, play, 40.0f, EXCH_ITEM_MAGIC_BEAN); + Actor_OfferTalkExchangeEquiCylinder(&this->dyna.actor, play, 40.0f, EXCH_ITEM_MAGIC_BEAN); } } @@ -753,9 +753,9 @@ void ObjBean_WaitForPlayer(ObjBean* this, PlayState* play) { if (DynaPolyActor_IsPlayerOnTop(&this->dyna)) { ObjBean_SetupFly(this); if (play->sceneId == SCENE_LOST_WOODS) { - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BEAN_LOST_WOODS); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BEAN_LOST_WOODS); } else { - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BEAN_GENERIC); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BEAN_GENERIC); } } ObjBean_UpdatePosition(this); @@ -781,7 +781,7 @@ void ObjBean_Fly(ObjBean* this, PlayState* play) { mainCam = play->cameraPtrs[CAM_ID_MAIN]; if ((mainCam->setting == CAM_SET_BEAN_LOST_WOODS) || (mainCam->setting == CAM_SET_BEAN_GENERIC)) { - Camera_ChangeSetting(mainCam, CAM_SET_NORMAL0); + Camera_RequestSetting(mainCam, CAM_SET_NORMAL0); } } else if (DynaPolyActor_IsPlayerOnTop(&this->dyna)) { @@ -789,15 +789,15 @@ void ObjBean_Fly(ObjBean* this, PlayState* play) { func_8002F974(&this->dyna.actor, NA_SE_PL_PLANT_MOVE - SFX_FLAG); if (play->sceneId == SCENE_LOST_WOODS) { - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BEAN_LOST_WOODS); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BEAN_LOST_WOODS); } else { - Camera_ChangeSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BEAN_GENERIC); + Camera_RequestSetting(play->cameraPtrs[CAM_ID_MAIN], CAM_SET_BEAN_GENERIC); } } else if (this->stateFlags & BEAN_STATE_PLAYER_ON_TOP) { mainCam = play->cameraPtrs[CAM_ID_MAIN]; if ((mainCam->setting == CAM_SET_BEAN_LOST_WOODS) || (mainCam->setting == CAM_SET_BEAN_GENERIC)) { - Camera_ChangeSetting(mainCam, CAM_SET_NORMAL0); + Camera_RequestSetting(mainCam, CAM_SET_NORMAL0); } } 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 c5456421d4..8428f34675 100644 --- a/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.c +++ b/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.c @@ -125,7 +125,7 @@ void ObjBombiwa_Update(Actor* thisx, PlayState* play) { s32 pad; if ((func_80033684(play, &this->actor) != NULL) || - ((this->collider.base.acFlags & AC_HIT) && (this->collider.info.acHitInfo->toucher.dmgFlags & DMG_HAMMER))) { + ((this->collider.base.acFlags & AC_HIT) && (this->collider.elem.acHitElem->toucher.dmgFlags & DMG_HAMMER))) { ObjBombiwa_Break(this, play); Flags_SetSwitch(play, this->actor.params & 0x3F); SfxSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 80, NA_SE_EV_WALL_BROKEN); 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 abfed7a704..69b311e486 100644 --- a/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c +++ b/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c @@ -176,7 +176,7 @@ void ObjComb_Wait(ObjComb* this, PlayState* play) { if (this->collider.base.acFlags & AC_HIT) { this->collider.base.acFlags &= ~AC_HIT; - dmgFlags = this->collider.elements[0].info.acHitInfo->toucher.dmgFlags; + dmgFlags = this->collider.elements[0].base.acHitElem->toucher.dmgFlags; if (dmgFlags & (DMG_HAMMER | DMG_ARROW | DMG_SLINGSHOT | DMG_DEKU_STICK)) { this->unk_1B0 = 1500; } else { @@ -216,7 +216,7 @@ void ObjComb_Draw(Actor* thisx, PlayState* play) { Matrix_Translate(0, -(this->actor.scale.y * 118.0f), 0, MTXMODE_APPLY); Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_comb.c", 394), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_comb.c", 394), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, gFieldBeehiveDL); diff --git a/src/overlays/actors/ovl_Obj_Dekujr/z_obj_dekujr.c b/src/overlays/actors/ovl_Obj_Dekujr/z_obj_dekujr.c index e9c2a74805..3d24be0958 100644 --- a/src/overlays/actors/ovl_Obj_Dekujr/z_obj_dekujr.c +++ b/src/overlays/actors/ovl_Obj_Dekujr/z_obj_dekujr.c @@ -163,7 +163,7 @@ void ObjDekujr_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_dekujr.c", 379), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_dekujr.c", 379), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_dekujr_DL_0030D0); @@ -171,7 +171,7 @@ void ObjDekujr_Draw(Actor* thisx, PlayState* play) { gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, frameCount % 128, 0, 32, 32, 1, frameCount % 128, 0, 32, 32)); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_dekujr.c", 399), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_dekujr.c", 399), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_dekujr_DL_0032D8); 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 0c368c209f..cae5d27338 100644 --- a/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.c +++ b/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.c @@ -170,7 +170,7 @@ void ObjHamishi_Update(Actor* thisx, PlayState* play) { ObjHamishi_Shake(this); - if ((this->collider.base.acFlags & AC_HIT) && (this->collider.info.acHitInfo->toucher.dmgFlags & DMG_HAMMER)) { + if ((this->collider.base.acFlags & AC_HIT) && (this->collider.elem.acHitElem->toucher.dmgFlags & DMG_HAMMER)) { this->collider.base.acFlags &= ~AC_HIT; this->hitCount++; if (this->hitCount < 2) { @@ -198,7 +198,7 @@ void ObjHamishi_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_hamishi.c", 404), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_hamishi.c", 404), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 170, 130, 255); gSPDisplayList(POLY_OPA_DISP++, gSilverRockDL); 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 d54770111a..18c2f7bd6f 100644 --- a/src/overlays/actors/ovl_Obj_Hsblock/z_obj_hsblock.c +++ b/src/overlays/actors/ovl_Obj_Hsblock/z_obj_hsblock.c @@ -152,7 +152,7 @@ void ObjHsblock_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_hsblock.c", 369), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_hsblock.c", 369), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (play->sceneId == SCENE_FIRE_TEMPLE) { 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 06805581e4..04a3096d5c 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 @@ -117,7 +117,7 @@ void ObjIcePoly_Idle(ObjIcePoly* this, PlayState* play) { Vec3f pos; if (this->colliderIce.base.acFlags & AC_HIT) { - this->meltTimer = -this->colliderIce.info.acHitInfo->toucher.damage; + this->meltTimer = -this->colliderIce.elem.acHitElem->toucher.damage; this->actor.focus.rot.y = this->actor.yawTowardsPlayer; OnePointCutscene_Init(play, 5120, 40, &this->actor, CAM_ID_MAIN); this->actionFunc = ObjIcePoly_Melt; @@ -197,7 +197,7 @@ void ObjIcePoly_Draw(Actor* thisx, PlayState* play) { func_8002ED80(&this->actor, play, 0); Matrix_RotateZYX(0x500, 0, -0x500, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_ice_poly.c", 428), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_ice_poly.c", 428), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0, play->gameplayFrames % 0x100, 0x20, 0x10, 1, 0, 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 1942786558..21f5f4c228 100644 --- a/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.c +++ b/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.c @@ -419,7 +419,7 @@ void ObjLightswitch_DrawOpa(ObjLightswitch* this, PlayState* play) { pos.z = this->actor.world.pos.z; } - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_lightswitch.c", 841), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_lightswitch.c", 841), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sFaceTextures[this->faceTextureIndex])); gSPDisplayList(POLY_OPA_DISP++, object_lightswitch_DL_000260); @@ -429,14 +429,14 @@ void ObjLightswitch_DrawOpa(ObjLightswitch* this, PlayState* play) { rot.z = this->actor.shape.rot.z + this->flameRingRot; Matrix_SetTranslateRotateYXZ(pos.x, pos.y, pos.z, &rot); Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_lightswitch.c", 859), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_lightswitch.c", 859), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_lightswitch_DL_000398); rot.z = this->actor.shape.rot.z - this->flameRingRot; Matrix_SetTranslateRotateYXZ(pos.x, pos.y, pos.z, &rot); Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_lightswitch.c", 873), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_lightswitch.c", 873), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, object_lightswitch_DL_000408); @@ -459,7 +459,7 @@ void ObjLightswitch_DrawXlu(ObjLightswitch* this, PlayState* play) { sp68.y = this->actor.world.pos.y + (this->actor.shape.yOffset * this->actor.scale.y); sp68.z = this->actor.world.pos.z; - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_lightswitch.c", 912), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_lightswitch.c", 912), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sFaceTextures[this->faceTextureIndex])); gSPDisplayList(POLY_XLU_DISP++, object_lightswitch_DL_000260); @@ -470,14 +470,14 @@ void ObjLightswitch_DrawXlu(ObjLightswitch* this, PlayState* play) { Matrix_SetTranslateRotateYXZ(sp68.x, sp68.y, sp68.z, &sp60); Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_lightswitch.c", 930), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_lightswitch.c", 930), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_lightswitch_DL_000398); sp60.z = this->actor.shape.rot.z - this->flameRingRot; Matrix_SetTranslateRotateYXZ(sp68.x, sp68.y, sp68.z, &sp60); Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_lightswitch.c", 944), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_lightswitch.c", 944), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, object_lightswitch_DL_000408); 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 bd6b323fc2..960ff58659 100644 --- a/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.c +++ b/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.c @@ -646,7 +646,7 @@ void ObjOshihiki_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Opa(play->state.gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(this->texture)); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_oshihiki.c", 1308), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_oshihiki.c", 1308), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); switch (play->sceneId) { 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 7e74c2cfac..c8203ac698 100644 --- a/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.c +++ b/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.c @@ -677,7 +677,6 @@ void ObjSwitch_CrystalOn(ObjSwitch* this, PlayState* play) { if ((this->jntSph.col.base.acFlags & AC_HIT) && !(this->prevColFlags & AC_HIT) && this->disableAcTimer <= 0) { this->disableAcTimer = 10; - play = play; ObjSwitch_CrystalTurnOffInit(this); ObjSwitch_SetOff(this, play); } @@ -771,7 +770,7 @@ void ObjSwitch_DrawEye(ObjSwitch* this, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_obj_switch.c", 1459); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_switch.c", 1462), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_switch.c", 1462), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[subType][this->eyeTexIndex])); gSPDisplayList(POLY_OPA_DISP++, eyeSwitchDLs[subType]); @@ -806,7 +805,7 @@ void ObjSwitch_DrawCrystal(ObjSwitch* this, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_obj_switch.c", 1494); Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_switch.c", 1497), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_switch.c", 1497), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, xluDLists[subType]); @@ -815,7 +814,7 @@ void ObjSwitch_DrawCrystal(ObjSwitch* this, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_obj_switch.c", 1507); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_switch.c", 1511), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_switch.c", 1511), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (subType == OBJSWITCH_SUBTYPE_TOGGLE) { 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 9f3e430240..9e1c15429a 100644 --- a/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c +++ b/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c @@ -171,7 +171,7 @@ void ObjSyokudai_Update(Actor* thisx, PlayState* play2) { } } if (this->colliderFlame.base.acFlags & AC_HIT) { - dmgFlags = this->colliderFlame.info.acHitInfo->toucher.dmgFlags; + dmgFlags = this->colliderFlame.elem.acHitElem->toucher.dmgFlags; if (dmgFlags & (DMG_FIRE | DMG_ARROW_NORMAL)) { interactionType = 1; } @@ -197,7 +197,7 @@ void ObjSyokudai_Update(Actor* thisx, PlayState* play2) { arrow = (EnArrow*)this->colliderFlame.base.ac; if ((arrow->actor.update != NULL) && (arrow->actor.id == ACTOR_EN_ARROW)) { arrow->actor.params = 0; - arrow->collider.info.toucher.dmgFlags = DMG_ARROW_FIRE; + arrow->collider.elem.toucher.dmgFlags = DMG_ARROW_FIRE; } } if ((0 <= this->litTimer) && (this->litTimer < (50 * litTimeScale + 100)) && (torchType != 0)) { @@ -268,7 +268,7 @@ void ObjSyokudai_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_obj_syokudai.c", 707); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_syokudai.c", 714), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_syokudai.c", 714), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_OPA_DISP++, displayLists[(u16)this->actor.params >> 0xC]); @@ -299,7 +299,7 @@ void ObjSyokudai_Draw(Actor* thisx, PlayState* play) { MTXMODE_APPLY); Matrix_Scale(flameScale, flameScale, flameScale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_syokudai.c", 745), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_syokudai.c", 745), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffFire1DL); diff --git a/src/overlays/actors/ovl_Obj_Timeblock/z_obj_timeblock.c b/src/overlays/actors/ovl_Obj_Timeblock/z_obj_timeblock.c index 2f8787654d..f5b41cc439 100644 --- a/src/overlays/actors/ovl_Obj_Timeblock/z_obj_timeblock.c +++ b/src/overlays/actors/ovl_Obj_Timeblock/z_obj_timeblock.c @@ -337,7 +337,7 @@ void ObjTimeblock_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_obj_timeblock.c", 762); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_timeblock.c", 766), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_timeblock.c", 766), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, primColor->r, primColor->g, primColor->b, 255); gSPDisplayList(POLY_OPA_DISP++, gSongOfTimeBlockDL); 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 1152e98b93..e99e3a673d 100644 --- a/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c +++ b/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c @@ -246,7 +246,7 @@ void ObjTsubo_Idle(ObjTsubo* this, PlayState* play) { ObjTsubo_SpawnCollectible(this, play); Actor_Kill(&this->actor); } else if ((this->collider.base.acFlags & AC_HIT) && - (this->collider.info.acHitInfo->toucher.dmgFlags & + (this->collider.elem.acHitElem->toucher.dmgFlags & (DMG_SWORD | DMG_RANGED | DMG_HAMMER | DMG_BOOMERANG | DMG_EXPLOSIVE))) { ObjTsubo_AirBreak(this, play); ObjTsubo_SpawnCollectible(this, play); diff --git a/src/overlays/actors/ovl_Obj_Warp2block/z_obj_warp2block.c b/src/overlays/actors/ovl_Obj_Warp2block/z_obj_warp2block.c index 569ac00882..df2a727f7d 100644 --- a/src/overlays/actors/ovl_Obj_Warp2block/z_obj_warp2block.c +++ b/src/overlays/actors/ovl_Obj_Warp2block/z_obj_warp2block.c @@ -309,7 +309,7 @@ void ObjWarp2block_Draw(Actor* thisx, PlayState* play) { OPEN_DISPS(play->state.gfxCtx, "../z_obj_warp2block.c", 584); Gfx_SetupDL_25Opa(play->state.gfxCtx); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_obj_warp2block.c", 588), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_obj_warp2block.c", 588), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, sp44->r, sp44->g, sp44->b, 255); gSPDisplayList(POLY_OPA_DISP++, gSongOfTimeBlockDL); 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 24cf975e70..64ee2c89d7 100644 --- a/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c +++ b/src/overlays/actors/ovl_Object_Kankyo/z_object_kankyo.c @@ -501,7 +501,7 @@ void ObjectKankyo_DrawFairies(Actor* thisx, PlayState* play2) { Vec3f vec2 = { 0.0f, 0.0f, 0.0f }; s16 i; - if (!(play->cameraPtrs[CAM_ID_MAIN]->stateFlags & CAM_STATE_8)) { + if (!(play->cameraPtrs[CAM_ID_MAIN]->stateFlags & CAM_STATE_CAMERA_IN_WATER)) { OPEN_DISPS(play->state.gfxCtx, "../z_object_kankyo.c", 807); POLY_XLU_DISP = Gfx_SetupDL(POLY_XLU_DISP, SETUPDL_20); gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(gSun1Tex)); @@ -571,7 +571,7 @@ void ObjectKankyo_DrawFairies(Actor* thisx, PlayState* play2) { Matrix_Mult(&play->billboardMtxF, MTXMODE_APPLY); Matrix_RotateZ(DEG_TO_RAD(play->state.frames * 20.0f), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_object_kankyo.c", 913), G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_object_kankyo.c", 913), G_MTX_LOAD); gSPDisplayList(POLY_XLU_DISP++, gKokiriDustMoteModelDL); } CLOSE_DISPS(play->state.gfxCtx, "../z_object_kankyo.c", 922); @@ -596,7 +596,7 @@ void ObjectKankyo_DrawSnow(Actor* thisx, PlayState* play2) { s32 pad; s32 pad2; - if (!(play->cameraPtrs[CAM_ID_MAIN]->stateFlags & CAM_STATE_8)) { + if (!(play->cameraPtrs[CAM_ID_MAIN]->stateFlags & CAM_STATE_CAMERA_IN_WATER)) { OPEN_DISPS(play->state.gfxCtx, "../z_object_kankyo.c", 958); if (play->envCtx.precipitation[PRECIP_SNOW_CUR] < play->envCtx.precipitation[PRECIP_SNOW_MAX]) { if (play->state.frames % 16 == 0) { @@ -703,7 +703,7 @@ void ObjectKankyo_DrawSnow(Actor* thisx, PlayState* play2) { gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 200, 200, 200, 180); gDPSetEnvColor(POLY_XLU_DISP++, 200, 200, 200, 180); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_object_kankyo.c", 1107), G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_object_kankyo.c", 1107), G_MTX_LOAD); gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(gDust5Tex)); @@ -763,7 +763,7 @@ void ObjectKankyo_DrawLightning(Actor* thisx, PlayState* play) { Matrix_Scale(2.0f, 5.0f, 2.0f, MTXMODE_APPLY); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 128); gDPSetEnvColor(POLY_XLU_DISP++, 0, 255, 255, 128); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_object_kankyo.c", 1213), G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_object_kankyo.c", 1213), G_MTX_LOAD); gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEffLightningTextures[this->effects[0].timer])); Gfx_SetupDL_61Xlu(play->state.gfxCtx); gSPMatrix(POLY_XLU_DISP++, &D_01000000, G_MTX_MODELVIEW | G_MTX_NOPUSH | G_MTX_MUL); @@ -861,7 +861,7 @@ void ObjectKankyo_DrawSunGraveSpark(Actor* thisx, PlayState* play2) { this->effects[0].alpha); Matrix_Mult(&play->billboardMtxF, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_object_kankyo.c", 1416), G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_object_kankyo.c", 1416), G_MTX_LOAD); gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_80BA5900[this->effects[0].timer])); gDPPipeSync(POLY_XLU_DISP++); @@ -939,7 +939,7 @@ void ObjectKankyo_DrawBeams(Actor* thisx, PlayState* play2) { gDPSetPrimColor(POLY_XLU_DISP++, 0, 128, sBeamPrimColors[i].r, sBeamPrimColors[i].g, sBeamPrimColors[i].b, 128); gDPSetEnvColor(POLY_XLU_DISP++, sBeamEnvColors[i].r, sBeamEnvColors[i].g, sBeamEnvColors[i].b, 128); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_object_kankyo.c", 1586), G_MTX_LOAD); + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_object_kankyo.c", 1586), G_MTX_LOAD); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, play->state.frames * 5, play->state.frames * 10, 32, 64, 1, play->state.frames * 5, 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 d169859ef4..59a43a19d5 100644 --- a/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.c +++ b/src/overlays/actors/ovl_Oceff_Spot/z_oceff_spot.c @@ -154,7 +154,7 @@ void OceffSpot_Draw(Actor* thisx, PlayState* play) { Gfx_SetupDL_25Xlu(play->state.gfxCtx); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_oceff_spot.c", 469), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_oceff_spot.c", 469), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, sCylinderMaterialDL); gSPDisplayList(POLY_XLU_DISP++, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, scroll * 2, scroll * (-2), 32, 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 68c948ff57..0df7ced428 100644 --- a/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.c +++ b/src/overlays/actors/ovl_Oceff_Storm/z_oceff_storm.c @@ -162,7 +162,7 @@ void OceffStorm_Draw(Actor* thisx, PlayState* play) { vtxPtr[0].v.cn[3] = vtxPtr[6].v.cn[3] = vtxPtr[16].v.cn[3] = vtxPtr[25].v.cn[3] = this->vtxAlpha >> 1; vtxPtr[10].v.cn[3] = vtxPtr[22].v.cn[3] = this->vtxAlpha; - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_oceff_storm.c", 498), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_oceff_storm.c", 498), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, sCylinderMaterialDL); 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 ca3b77352d..1d3dd164fa 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe/z_oceff_wipe.c +++ b/src/overlays/actors/ovl_Oceff_Wipe/z_oceff_wipe.c @@ -75,7 +75,7 @@ void OceffWipe_Draw(Actor* thisx, PlayState* play) { Vec3f quakeOffset; eye = GET_ACTIVE_CAM(play)->eye; - Camera_GetQuakeOffset(&quakeOffset, GET_ACTIVE_CAM(play)); + quakeOffset = Camera_GetQuakeOffset(GET_ACTIVE_CAM(play)); OPEN_DISPS(play->state.gfxCtx, "../z_oceff_wipe.c", 346); @@ -108,7 +108,7 @@ void OceffWipe_Draw(Actor* thisx, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Translate(0.0f, 0.0f, -z, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_oceff_wipe.c", 375), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_oceff_wipe.c", 375), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->actor.params != OCEFF_WIPE_ZL) { 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 a575a6676b..23b54709a2 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe2/z_oceff_wipe2.c +++ b/src/overlays/actors/ovl_Oceff_Wipe2/z_oceff_wipe2.c @@ -69,7 +69,7 @@ void OceffWipe2_Draw(Actor* thisx, PlayState* play) { Vec3f quakeOffset; eye = GET_ACTIVE_CAM(play)->eye; - Camera_GetQuakeOffset(&quakeOffset, GET_ACTIVE_CAM(play)); + quakeOffset = Camera_GetQuakeOffset(GET_ACTIVE_CAM(play)); if (this->timer < 32) { z = Math_SinS(this->timer << 9) * 1330; } else { @@ -96,7 +96,7 @@ void OceffWipe2_Draw(Actor* thisx, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Translate(0.0f, 0.0f, -z, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_oceff_wipe2.c", 400), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_oceff_wipe2.c", 400), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 170, 255); 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 77c9e1d335..07f8e37855 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe3/z_oceff_wipe3.c +++ b/src/overlays/actors/ovl_Oceff_Wipe3/z_oceff_wipe3.c @@ -70,7 +70,7 @@ void OceffWipe3_Draw(Actor* thisx, PlayState* play) { Vec3f quakeOffset; eye = GET_ACTIVE_CAM(play)->eye; - Camera_GetQuakeOffset(&quakeOffset, GET_ACTIVE_CAM(play)); + quakeOffset = Camera_GetQuakeOffset(GET_ACTIVE_CAM(play)); if (this->counter < 32) { z = Math_SinS(this->counter << 9) * 1330; } else { @@ -97,7 +97,7 @@ void OceffWipe3_Draw(Actor* thisx, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Translate(0.0f, 0.0f, -z, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_oceff_wipe3.c", 353), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_oceff_wipe3.c", 353), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 170, 255); 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 19574b6149..0e40c6181a 100644 --- a/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.c +++ b/src/overlays/actors/ovl_Oceff_Wipe4/z_oceff_wipe4.c @@ -68,7 +68,7 @@ void OceffWipe4_Draw(Actor* thisx, PlayState* play) { Vec3f quakeOffset; eye = GET_ACTIVE_CAM(play)->eye; - Camera_GetQuakeOffset(&quakeOffset, GET_ACTIVE_CAM(play)); + quakeOffset = Camera_GetQuakeOffset(GET_ACTIVE_CAM(play)); if (this->timer < 16) { z = Math_SinS(this->timer * 1024) * 1330.0f; } else { @@ -95,7 +95,7 @@ void OceffWipe4_Draw(Actor* thisx, PlayState* play) { Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Translate(0.0f, 0.0f, -z, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_oceff_wipe4.c", 324), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_oceff_wipe4.c", 324), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->actor.params == OCEFF_WIPE4_UNUSED) { diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c index 08e8d82c0f..b9fce8f4e9 100644 --- a/src/overlays/actors/ovl_player_actor/z_player.c +++ b/src/overlays/actors/ovl_player_actor/z_player.c @@ -137,30 +137,33 @@ typedef struct { }; } struct_80854B18; // size = 0x08 -void func_80833770(PlayState* play, Player* this); -void func_80833790(PlayState* play, Player* this); -void func_8083379C(PlayState* play, Player* this); -void func_8083377C(PlayState* play, Player* this); -void func_808337D4(PlayState* play, Player* this); -void func_80833910(PlayState* play, Player* this); -void func_80833984(PlayState* play, Player* this); void Player_InitItemAction(PlayState* play, Player* this, s8 itemAction); -s32 func_8083485C(Player* this, PlayState* play); -s32 func_808349DC(Player* this, PlayState* play); + +void Player_InitDefaultIA(PlayState* play, Player* this); +void Player_InitHammerIA(PlayState* play, Player* this); +void Player_InitBowOrSlingshotIA(PlayState* play, Player* this); +void Player_InitDekuStickIA(PlayState* play, Player* this); +void Player_InitExplosiveIA(PlayState* play, Player* this); +void Player_InitHookshotIA(PlayState* play, Player* this); +void Player_InitBoomerangIA(PlayState* play, Player* this); + s32 Player_UpperAction_ChangeHeldItem(Player* this, PlayState* play); +s32 func_8083485C(Player* this, PlayState* play); +s32 Player_UpperAction_Sword(Player* this, PlayState* play); s32 func_80834B5C(Player* this, PlayState* play); s32 func_80834C74(Player* this, PlayState* play); s32 func_8083501C(Player* this, PlayState* play); s32 func_808351D4(Player* this, PlayState* play); s32 func_808353D8(Player* this, PlayState* play); s32 func_80835588(Player* this, PlayState* play); -s32 func_808356E8(Player* this, PlayState* play); +s32 Player_UpperAction_CarryActor(Player* this, PlayState* play); s32 func_80835800(Player* this, PlayState* play); s32 func_80835884(Player* this, PlayState* play); s32 func_808358F0(Player* this, PlayState* play); s32 func_808359FC(Player* this, PlayState* play); s32 func_80835B60(Player* this, PlayState* play); s32 func_80835C08(Player* this, PlayState* play); + void Player_UseItem(PlayState* play, Player* this, s32 item); void func_80839F90(Player* this, PlayState* play); s32 func_8083C61C(PlayState* play, Player* this); @@ -1244,143 +1247,143 @@ static s8 sItemActions[] = { }; static s32 (*sItemActionUpdateFuncs[])(Player* this, PlayState* play) = { - func_8083485C, // PLAYER_IA_NONE - func_8083485C, // PLAYER_IA_LAST_USED - func_8083485C, // PLAYER_IA_FISHING_POLE - func_808349DC, // PLAYER_IA_SWORD_MASTER - func_808349DC, // PLAYER_IA_SWORD_KOKIRI - func_808349DC, // PLAYER_IA_SWORD_BIGGORON - func_8083485C, // PLAYER_IA_DEKU_STICK - func_8083485C, // PLAYER_IA_HAMMER - func_8083501C, // PLAYER_IA_BOW - func_8083501C, // PLAYER_IA_BOW_FIRE - func_8083501C, // PLAYER_IA_BOW_ICE - func_8083501C, // PLAYER_IA_BOW_LIGHT - func_8083501C, // PLAYER_IA_BOW_0C - func_8083501C, // PLAYER_IA_BOW_0D - func_8083501C, // PLAYER_IA_BOW_0E - func_8083501C, // PLAYER_IA_SLINGSHOT - func_8083501C, // PLAYER_IA_HOOKSHOT - func_8083501C, // PLAYER_IA_LONGSHOT - func_808356E8, // PLAYER_IA_BOMB - func_808356E8, // PLAYER_IA_BOMBCHU - func_80835800, // PLAYER_IA_BOOMERANG - func_8083485C, // PLAYER_IA_MAGIC_SPELL_15 - func_8083485C, // PLAYER_IA_MAGIC_SPELL_16 - func_8083485C, // PLAYER_IA_MAGIC_SPELL_17 - func_8083485C, // PLAYER_IA_FARORES_WIND - func_8083485C, // PLAYER_IA_NAYRUS_LOVE - func_8083485C, // PLAYER_IA_DINS_FIRE - func_8083485C, // PLAYER_IA_DEKU_NUT - func_8083485C, // PLAYER_IA_OCARINA_FAIRY - func_8083485C, // PLAYER_IA_OCARINA_OF_TIME - func_8083485C, // PLAYER_IA_BOTTLE - func_8083485C, // PLAYER_IA_BOTTLE_FISH - func_8083485C, // PLAYER_IA_BOTTLE_FIRE - func_8083485C, // PLAYER_IA_BOTTLE_BUG - func_8083485C, // PLAYER_IA_BOTTLE_POE - func_8083485C, // PLAYER_IA_BOTTLE_BIG_POE - func_8083485C, // PLAYER_IA_BOTTLE_RUTOS_LETTER - func_8083485C, // PLAYER_IA_BOTTLE_POTION_RED - func_8083485C, // PLAYER_IA_BOTTLE_POTION_BLUE - func_8083485C, // PLAYER_IA_BOTTLE_POTION_GREEN - func_8083485C, // PLAYER_IA_BOTTLE_MILK_FULL - func_8083485C, // PLAYER_IA_BOTTLE_MILK_HALF - func_8083485C, // PLAYER_IA_BOTTLE_FAIRY - func_8083485C, // PLAYER_IA_ZELDAS_LETTER - func_8083485C, // PLAYER_IA_WEIRD_EGG - func_8083485C, // PLAYER_IA_CHICKEN - func_8083485C, // PLAYER_IA_MAGIC_BEAN - func_8083485C, // PLAYER_IA_POCKET_EGG - func_8083485C, // PLAYER_IA_POCKET_CUCCO - func_8083485C, // PLAYER_IA_COJIRO - func_8083485C, // PLAYER_IA_ODD_MUSHROOM - func_8083485C, // PLAYER_IA_ODD_POTION - func_8083485C, // PLAYER_IA_POACHERS_SAW - func_8083485C, // PLAYER_IA_BROKEN_GORONS_SWORD - func_8083485C, // PLAYER_IA_PRESCRIPTION - func_8083485C, // PLAYER_IA_FROG - func_8083485C, // PLAYER_IA_EYEDROPS - func_8083485C, // PLAYER_IA_CLAIM_CHECK - func_8083485C, // PLAYER_IA_MASK_KEATON - func_8083485C, // PLAYER_IA_MASK_SKULL - func_8083485C, // PLAYER_IA_MASK_SPOOKY - func_8083485C, // PLAYER_IA_MASK_BUNNY_HOOD - func_8083485C, // PLAYER_IA_MASK_GORON - func_8083485C, // PLAYER_IA_MASK_ZORA - func_8083485C, // PLAYER_IA_MASK_GERUDO - func_8083485C, // PLAYER_IA_MASK_TRUTH - func_8083485C, // PLAYER_IA_LENS_OF_TRUTH + func_8083485C, // PLAYER_IA_NONE + func_8083485C, // PLAYER_IA_SWORD_CS + func_8083485C, // PLAYER_IA_FISHING_POLE + Player_UpperAction_Sword, // PLAYER_IA_SWORD_MASTER + Player_UpperAction_Sword, // PLAYER_IA_SWORD_KOKIRI + Player_UpperAction_Sword, // PLAYER_IA_SWORD_BIGGORON + func_8083485C, // PLAYER_IA_DEKU_STICK + func_8083485C, // PLAYER_IA_HAMMER + func_8083501C, // PLAYER_IA_BOW + func_8083501C, // PLAYER_IA_BOW_FIRE + func_8083501C, // PLAYER_IA_BOW_ICE + func_8083501C, // PLAYER_IA_BOW_LIGHT + func_8083501C, // PLAYER_IA_BOW_0C + func_8083501C, // PLAYER_IA_BOW_0D + func_8083501C, // PLAYER_IA_BOW_0E + func_8083501C, // PLAYER_IA_SLINGSHOT + func_8083501C, // PLAYER_IA_HOOKSHOT + func_8083501C, // PLAYER_IA_LONGSHOT + Player_UpperAction_CarryActor, // PLAYER_IA_BOMB + Player_UpperAction_CarryActor, // PLAYER_IA_BOMBCHU + func_80835800, // PLAYER_IA_BOOMERANG + func_8083485C, // PLAYER_IA_MAGIC_SPELL_15 + func_8083485C, // PLAYER_IA_MAGIC_SPELL_16 + func_8083485C, // PLAYER_IA_MAGIC_SPELL_17 + func_8083485C, // PLAYER_IA_FARORES_WIND + func_8083485C, // PLAYER_IA_NAYRUS_LOVE + func_8083485C, // PLAYER_IA_DINS_FIRE + func_8083485C, // PLAYER_IA_DEKU_NUT + func_8083485C, // PLAYER_IA_OCARINA_FAIRY + func_8083485C, // PLAYER_IA_OCARINA_OF_TIME + func_8083485C, // PLAYER_IA_BOTTLE + func_8083485C, // PLAYER_IA_BOTTLE_FISH + func_8083485C, // PLAYER_IA_BOTTLE_FIRE + func_8083485C, // PLAYER_IA_BOTTLE_BUG + func_8083485C, // PLAYER_IA_BOTTLE_POE + func_8083485C, // PLAYER_IA_BOTTLE_BIG_POE + func_8083485C, // PLAYER_IA_BOTTLE_RUTOS_LETTER + func_8083485C, // PLAYER_IA_BOTTLE_POTION_RED + func_8083485C, // PLAYER_IA_BOTTLE_POTION_BLUE + func_8083485C, // PLAYER_IA_BOTTLE_POTION_GREEN + func_8083485C, // PLAYER_IA_BOTTLE_MILK_FULL + func_8083485C, // PLAYER_IA_BOTTLE_MILK_HALF + func_8083485C, // PLAYER_IA_BOTTLE_FAIRY + func_8083485C, // PLAYER_IA_ZELDAS_LETTER + func_8083485C, // PLAYER_IA_WEIRD_EGG + func_8083485C, // PLAYER_IA_CHICKEN + func_8083485C, // PLAYER_IA_MAGIC_BEAN + func_8083485C, // PLAYER_IA_POCKET_EGG + func_8083485C, // PLAYER_IA_POCKET_CUCCO + func_8083485C, // PLAYER_IA_COJIRO + func_8083485C, // PLAYER_IA_ODD_MUSHROOM + func_8083485C, // PLAYER_IA_ODD_POTION + func_8083485C, // PLAYER_IA_POACHERS_SAW + func_8083485C, // PLAYER_IA_BROKEN_GORONS_SWORD + func_8083485C, // PLAYER_IA_PRESCRIPTION + func_8083485C, // PLAYER_IA_FROG + func_8083485C, // PLAYER_IA_EYEDROPS + func_8083485C, // PLAYER_IA_CLAIM_CHECK + func_8083485C, // PLAYER_IA_MASK_KEATON + func_8083485C, // PLAYER_IA_MASK_SKULL + func_8083485C, // PLAYER_IA_MASK_SPOOKY + func_8083485C, // PLAYER_IA_MASK_BUNNY_HOOD + func_8083485C, // PLAYER_IA_MASK_GORON + func_8083485C, // PLAYER_IA_MASK_ZORA + func_8083485C, // PLAYER_IA_MASK_GERUDO + func_8083485C, // PLAYER_IA_MASK_TRUTH + func_8083485C, // PLAYER_IA_LENS_OF_TRUTH }; static void (*sItemActionInitFuncs[])(PlayState* play, Player* this) = { - func_80833770, // PLAYER_IA_NONE - func_80833770, // PLAYER_IA_LAST_USED - func_80833770, // PLAYER_IA_FISHING_POLE - func_80833770, // PLAYER_IA_SWORD_MASTER - func_80833770, // PLAYER_IA_SWORD_KOKIRI - func_80833770, // PLAYER_IA_SWORD_BIGGORON - func_8083377C, // PLAYER_IA_DEKU_STICK - func_80833790, // PLAYER_IA_HAMMER - func_8083379C, // PLAYER_IA_BOW - func_8083379C, // PLAYER_IA_BOW_FIRE - func_8083379C, // PLAYER_IA_BOW_ICE - func_8083379C, // PLAYER_IA_BOW_LIGHT - func_8083379C, // PLAYER_IA_BOW_0C - func_8083379C, // PLAYER_IA_BOW_0D - func_8083379C, // PLAYER_IA_BOW_0E - func_8083379C, // PLAYER_IA_SLINGSHOT - func_80833910, // PLAYER_IA_HOOKSHOT - func_80833910, // PLAYER_IA_LONGSHOT - func_808337D4, // PLAYER_IA_BOMB - func_808337D4, // PLAYER_IA_BOMBCHU - func_80833984, // PLAYER_IA_BOOMERANG - func_80833770, // PLAYER_IA_MAGIC_SPELL_15 - func_80833770, // PLAYER_IA_MAGIC_SPELL_16 - func_80833770, // PLAYER_IA_MAGIC_SPELL_17 - func_80833770, // PLAYER_IA_FARORES_WIND - func_80833770, // PLAYER_IA_NAYRUS_LOVE - func_80833770, // PLAYER_IA_DINS_FIRE - func_80833770, // PLAYER_IA_DEKU_NUT - func_80833770, // PLAYER_IA_OCARINA_FAIRY - func_80833770, // PLAYER_IA_OCARINA_OF_TIME - func_80833770, // PLAYER_IA_BOTTLE - func_80833770, // PLAYER_IA_BOTTLE_FISH - func_80833770, // PLAYER_IA_BOTTLE_FIRE - func_80833770, // PLAYER_IA_BOTTLE_BUG - func_80833770, // PLAYER_IA_BOTTLE_POE - func_80833770, // PLAYER_IA_BOTTLE_BIG_POE - func_80833770, // PLAYER_IA_BOTTLE_RUTOS_LETTER - func_80833770, // PLAYER_IA_BOTTLE_POTION_RED - func_80833770, // PLAYER_IA_BOTTLE_POTION_BLUE - func_80833770, // PLAYER_IA_BOTTLE_POTION_GREEN - func_80833770, // PLAYER_IA_BOTTLE_MILK_FULL - func_80833770, // PLAYER_IA_BOTTLE_MILK_HALF - func_80833770, // PLAYER_IA_BOTTLE_FAIRY - func_80833770, // PLAYER_IA_ZELDAS_LETTER - func_80833770, // PLAYER_IA_WEIRD_EGG - func_80833770, // PLAYER_IA_CHICKEN - func_80833770, // PLAYER_IA_MAGIC_BEAN - func_80833770, // PLAYER_IA_POCKET_EGG - func_80833770, // PLAYER_IA_POCKET_CUCCO - func_80833770, // PLAYER_IA_COJIRO - func_80833770, // PLAYER_IA_ODD_MUSHROOM - func_80833770, // PLAYER_IA_ODD_POTION - func_80833770, // PLAYER_IA_POACHERS_SAW - func_80833770, // PLAYER_IA_BROKEN_GORONS_SWORD - func_80833770, // PLAYER_IA_PRESCRIPTION - func_80833770, // PLAYER_IA_FROG - func_80833770, // PLAYER_IA_EYEDROPS - func_80833770, // PLAYER_IA_CLAIM_CHECK - func_80833770, // PLAYER_IA_MASK_KEATON - func_80833770, // PLAYER_IA_MASK_SKULL - func_80833770, // PLAYER_IA_MASK_SPOOKY - func_80833770, // PLAYER_IA_MASK_BUNNY_HOOD - func_80833770, // PLAYER_IA_MASK_GORON - func_80833770, // PLAYER_IA_MASK_ZORA - func_80833770, // PLAYER_IA_MASK_GERUDO - func_80833770, // PLAYER_IA_MASK_TRUTH - func_80833770, // PLAYER_IA_LENS_OF_TRUTH + Player_InitDefaultIA, // PLAYER_IA_NONE + Player_InitDefaultIA, // PLAYER_IA_SWORD_CS + Player_InitDefaultIA, // PLAYER_IA_FISHING_POLE + Player_InitDefaultIA, // PLAYER_IA_SWORD_MASTER + Player_InitDefaultIA, // PLAYER_IA_SWORD_KOKIRI + Player_InitDefaultIA, // PLAYER_IA_SWORD_BIGGORON + Player_InitDekuStickIA, // PLAYER_IA_DEKU_STICK + Player_InitHammerIA, // PLAYER_IA_HAMMER + Player_InitBowOrSlingshotIA, // PLAYER_IA_BOW + Player_InitBowOrSlingshotIA, // PLAYER_IA_BOW_FIRE + Player_InitBowOrSlingshotIA, // PLAYER_IA_BOW_ICE + Player_InitBowOrSlingshotIA, // PLAYER_IA_BOW_LIGHT + Player_InitBowOrSlingshotIA, // PLAYER_IA_BOW_0C + Player_InitBowOrSlingshotIA, // PLAYER_IA_BOW_0D + Player_InitBowOrSlingshotIA, // PLAYER_IA_BOW_0E + Player_InitBowOrSlingshotIA, // PLAYER_IA_SLINGSHOT + Player_InitHookshotIA, // PLAYER_IA_HOOKSHOT + Player_InitHookshotIA, // PLAYER_IA_LONGSHOT + Player_InitExplosiveIA, // PLAYER_IA_BOMB + Player_InitExplosiveIA, // PLAYER_IA_BOMBCHU + Player_InitBoomerangIA, // PLAYER_IA_BOOMERANG + Player_InitDefaultIA, // PLAYER_IA_MAGIC_SPELL_15 + Player_InitDefaultIA, // PLAYER_IA_MAGIC_SPELL_16 + Player_InitDefaultIA, // PLAYER_IA_MAGIC_SPELL_17 + Player_InitDefaultIA, // PLAYER_IA_FARORES_WIND + Player_InitDefaultIA, // PLAYER_IA_NAYRUS_LOVE + Player_InitDefaultIA, // PLAYER_IA_DINS_FIRE + Player_InitDefaultIA, // PLAYER_IA_DEKU_NUT + Player_InitDefaultIA, // PLAYER_IA_OCARINA_FAIRY + Player_InitDefaultIA, // PLAYER_IA_OCARINA_OF_TIME + Player_InitDefaultIA, // PLAYER_IA_BOTTLE + Player_InitDefaultIA, // PLAYER_IA_BOTTLE_FISH + Player_InitDefaultIA, // PLAYER_IA_BOTTLE_FIRE + Player_InitDefaultIA, // PLAYER_IA_BOTTLE_BUG + Player_InitDefaultIA, // PLAYER_IA_BOTTLE_POE + Player_InitDefaultIA, // PLAYER_IA_BOTTLE_BIG_POE + Player_InitDefaultIA, // PLAYER_IA_BOTTLE_RUTOS_LETTER + Player_InitDefaultIA, // PLAYER_IA_BOTTLE_POTION_RED + Player_InitDefaultIA, // PLAYER_IA_BOTTLE_POTION_BLUE + Player_InitDefaultIA, // PLAYER_IA_BOTTLE_POTION_GREEN + Player_InitDefaultIA, // PLAYER_IA_BOTTLE_MILK_FULL + Player_InitDefaultIA, // PLAYER_IA_BOTTLE_MILK_HALF + Player_InitDefaultIA, // PLAYER_IA_BOTTLE_FAIRY + Player_InitDefaultIA, // PLAYER_IA_ZELDAS_LETTER + Player_InitDefaultIA, // PLAYER_IA_WEIRD_EGG + Player_InitDefaultIA, // PLAYER_IA_CHICKEN + Player_InitDefaultIA, // PLAYER_IA_MAGIC_BEAN + Player_InitDefaultIA, // PLAYER_IA_POCKET_EGG + Player_InitDefaultIA, // PLAYER_IA_POCKET_CUCCO + Player_InitDefaultIA, // PLAYER_IA_COJIRO + Player_InitDefaultIA, // PLAYER_IA_ODD_MUSHROOM + Player_InitDefaultIA, // PLAYER_IA_ODD_POTION + Player_InitDefaultIA, // PLAYER_IA_POACHERS_SAW + Player_InitDefaultIA, // PLAYER_IA_BROKEN_GORONS_SWORD + Player_InitDefaultIA, // PLAYER_IA_PRESCRIPTION + Player_InitDefaultIA, // PLAYER_IA_FROG + Player_InitDefaultIA, // PLAYER_IA_EYEDROPS + Player_InitDefaultIA, // PLAYER_IA_CLAIM_CHECK + Player_InitDefaultIA, // PLAYER_IA_MASK_KEATON + Player_InitDefaultIA, // PLAYER_IA_MASK_SKULL + Player_InitDefaultIA, // PLAYER_IA_MASK_SPOOKY + Player_InitDefaultIA, // PLAYER_IA_MASK_BUNNY_HOOD + Player_InitDefaultIA, // PLAYER_IA_MASK_GORON + Player_InitDefaultIA, // PLAYER_IA_MASK_ZORA + Player_InitDefaultIA, // PLAYER_IA_MASK_GERUDO + Player_InitDefaultIA, // PLAYER_IA_MASK_TRUTH + Player_InitDefaultIA, // PLAYER_IA_LENS_OF_TRUTH }; typedef enum { @@ -1617,7 +1620,7 @@ BAD_RETURN(s32) func_80832224(Player* this) { s32 func_8083224C(PlayState* play) { Player* this = GET_PLAYER(play); - return CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_8); + return CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_TALK); } void Player_AnimPlayOnce(PlayState* play, Player* this, LinkAnimationHeader* anim) { @@ -1694,7 +1697,7 @@ void func_80832440(PlayState* play, Player* this) { this->unk_6AD = 0; func_80832340(play, this); - func_8005B1A4(Play_GetCamera(play, CAM_ID_MAIN)); + Camera_SetFinishedFlag(Play_GetCamera(play, CAM_ID_MAIN)); this->stateFlags1 &= ~(PLAYER_STATE1_13 | PLAYER_STATE1_14 | PLAYER_STATE1_20 | PLAYER_STATE1_21); this->stateFlags2 &= ~(PLAYER_STATE2_4 | PLAYER_STATE2_7 | PLAYER_STATE2_CRAWLING); @@ -2167,8 +2170,8 @@ void Player_InitItemActionWithAnim(PlayState* play, Player* this, s8 itemAction) s8 Player_ItemToItemAction(s32 item) { if (item >= ITEM_NONE_FE) { return PLAYER_IA_NONE; - } else if (item == ITEM_LAST_USED) { - return PLAYER_IA_LAST_USED; + } else if (item == ITEM_SWORD_CS) { + return PLAYER_IA_SWORD_CS; } else if (item == ITEM_FISHING_POLE) { return PLAYER_IA_FISHING_POLE; } else { @@ -2176,17 +2179,17 @@ s8 Player_ItemToItemAction(s32 item) { } } -void func_80833770(PlayState* play, Player* this) { +void Player_InitDefaultIA(PlayState* play, Player* this) { } -void func_8083377C(PlayState* play, Player* this) { +void Player_InitDekuStickIA(PlayState* play, Player* this) { this->unk_85C = 1.0f; } -void func_80833790(PlayState* play, Player* this) { +void Player_InitHammerIA(PlayState* play, Player* this) { } -void func_8083379C(PlayState* play, Player* this) { +void Player_InitBowOrSlingshotIA(PlayState* play, Player* this) { this->stateFlags1 |= PLAYER_STATE1_3; if (this->heldItemAction != PLAYER_IA_SLINGSHOT) { @@ -2196,7 +2199,7 @@ void func_8083379C(PlayState* play, Player* this) { } } -void func_808337D4(PlayState* play, Player* this) { +void Player_InitExplosiveIA(PlayState* play, Player* this) { s32 explosiveType; ExplosiveInfo* explosiveInfo; Actor* spawnedActor; @@ -2230,7 +2233,7 @@ void func_808337D4(PlayState* play, Player* this) { } } -void func_80833910(PlayState* play, Player* this) { +void Player_InitHookshotIA(PlayState* play, Player* this) { this->stateFlags1 |= PLAYER_STATE1_3; this->unk_860 = -3; @@ -2239,7 +2242,7 @@ void func_80833910(PlayState* play, Player* this) { this->actor.world.pos.y, this->actor.world.pos.z, 0, this->actor.shape.rot.y, 0, 0); } -void func_80833984(PlayState* play, Player* this) { +void Player_InitBoomerangIA(PlayState* play, Player* this) { this->stateFlags1 |= PLAYER_STATE1_24; } @@ -2653,7 +2656,11 @@ s32 func_8083499C(Player* this, PlayState* play) { return 1; } -s32 func_808349DC(Player* this, PlayState* play) { +/** + * The actual sword weapon is not handled here. See `Player_ActionChange_7` for melee weapon usage. + * This upper body action allows for shielding or changing held items while a sword is in hand. + */ +s32 Player_UpperAction_Sword(Player* this, PlayState* play) { if (func_80834758(play, this) || func_8083499C(this, play)) { return 1; } else { @@ -2979,12 +2986,12 @@ s32 func_80835644(PlayState* play, Player* this, Actor* arg2) { void func_80835688(Player* this, PlayState* play) { if (!func_80835644(play, this, this->heldActor)) { - Player_SetUpperActionFunc(this, func_808356E8); + Player_SetUpperActionFunc(this, Player_UpperAction_CarryActor); LinkAnimation_PlayLoop(play, &this->upperSkelAnime, &gPlayerAnim_link_normal_carryB_wait); } } -s32 func_808356E8(Player* this, PlayState* play) { +s32 Player_UpperAction_CarryActor(Player* this, PlayState* play) { Actor* heldActor = this->heldActor; if (heldActor == NULL) { @@ -3184,7 +3191,7 @@ void func_80835E44(PlayState* play, s16 camSetting) { Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_NOTHING_ALT); } } else { - Camera_ChangeSetting(Play_GetCamera(play, CAM_ID_MAIN), camSetting); + Camera_RequestSetting(Play_GetCamera(play, CAM_ID_MAIN), camSetting); } } @@ -3344,7 +3351,7 @@ void func_80836448(PlayState* play, Player* this, LinkAnimationHeader* anim) { int Player_CanUpdateItems(Player* this) { return (!(Player_Action_808458D0 == this->actionFunc) || ((this->stateFlags1 & PLAYER_STATE1_START_CHANGING_HELD_ITEM) && - ((this->heldItemId == ITEM_LAST_USED) || (this->heldItemId == ITEM_NONE)))) && + ((this->heldItemId == ITEM_SWORD_CS) || (this->heldItemId == ITEM_NONE)))) && (!(Player_UpperAction_ChangeHeldItem == this->upperActionFunc) || (Player_ItemToItemAction(this->heldItemId) == this->heldItemAction)); } @@ -4000,12 +4007,12 @@ s32 func_80837818(Player* this) { } void func_80837918(Player* this, s32 quadIndex, u32 dmgFlags) { - this->meleeWeaponQuads[quadIndex].info.toucher.dmgFlags = dmgFlags; + this->meleeWeaponQuads[quadIndex].elem.toucher.dmgFlags = dmgFlags; if (dmgFlags == DMG_DEKU_STICK) { - this->meleeWeaponQuads[quadIndex].info.toucherFlags = TOUCH_ON | TOUCH_NEAREST | TOUCH_SFX_WOOD; + this->meleeWeaponQuads[quadIndex].elem.toucherFlags = TOUCH_ON | TOUCH_NEAREST | TOUCH_SFX_WOOD; } else { - this->meleeWeaponQuads[quadIndex].info.toucherFlags = TOUCH_ON | TOUCH_NEAREST; + this->meleeWeaponQuads[quadIndex].elem.toucherFlags = TOUCH_ON | TOUCH_NEAREST; } } @@ -4270,10 +4277,10 @@ void func_8083821C(Player* this) { s32 i; // clang-format off - for (i = 0; i < PLAYER_BODYPART_MAX; i++) { this->flameTimers[i] = Rand_S16Offset(0, 200); } + for (i = 0; i < PLAYER_BODYPART_MAX; i++) { this->bodyFlameTimers[i] = Rand_S16Offset(0, 200); } // clang-format on - this->isBurning = true; + this->bodyIsBurning = true; } void func_80838280(Player* this) { @@ -4341,7 +4348,7 @@ s32 func_808382DC(Player* this, PlayState* play) { func_80838280(this); if (this->unk_8A1 == 3) { - this->shockTimer = 40; + this->bodyShockTimer = 40; } this->actor.colChkInfo.damage += this->unk_8A0; @@ -4354,7 +4361,7 @@ s32 func_808382DC(Player* this, PlayState* play) { // Additionally, `Collider.atHit` can never be set while already colliding as AC, so it's also bugged. // This behavior was later fixed in MM, most likely by removing both the `atHit` and `atFlags` checks. if (sp64 || ((this->invincibilityTimer < 0) && (this->cylinder.base.acFlags & AC_HIT) && - (this->cylinder.info.atHit != NULL) && (this->cylinder.info.atHit->atFlags & 0x20000000))) { + (this->cylinder.elem.atHit != NULL) && (this->cylinder.elem.atHit->atFlags & 0x20000000))) { Player_RequestRumble(this, 180, 20, 100, 0); @@ -4387,7 +4394,7 @@ s32 func_808382DC(Player* this, PlayState* play) { } } - if (sp64 && (this->shieldQuad.info.acHitInfo->toucher.effect == 1)) { + if (sp64 && (this->shieldQuad.elem.acHitElem->toucher.effect == 1)) { func_8083819C(this, play); } @@ -4588,7 +4595,7 @@ void func_80838F5C(PlayState* play, Player* this) { this->stateFlags1 |= PLAYER_STATE1_29 | PLAYER_STATE1_31; - Camera_ChangeSetting(Play_GetCamera(play, CAM_ID_MAIN), CAM_SET_FREE0); + Camera_RequestSetting(Play_GetCamera(play, CAM_ID_MAIN), CAM_SET_FREE0); } s32 func_80838FB8(PlayState* play, Player* this) { @@ -5368,23 +5375,23 @@ void func_8083AA10(Player* this, PlayState* play) { } s32 func_8083AD4C(PlayState* play, Player* this) { - s32 cameraMode; + s32 camMode; if (this->unk_6AD == 2) { if (func_8002DD6C(this)) { if (LINK_IS_ADULT) { - cameraMode = CAM_MODE_AIM_ADULT; + camMode = CAM_MODE_AIM_ADULT; } else { - cameraMode = CAM_MODE_AIM_CHILD; + camMode = CAM_MODE_AIM_CHILD; } } else { - cameraMode = CAM_MODE_AIM_BOOMERANG; + camMode = CAM_MODE_AIM_BOOMERANG; } } else { - cameraMode = CAM_MODE_FIRST_PERSON; + camMode = CAM_MODE_FIRST_PERSON; } - return Camera_ChangeMode(Play_GetCamera(play, CAM_ID_MAIN), cameraMode); + return Camera_RequestMode(Play_GetCamera(play, CAM_ID_MAIN), camMode); } /** @@ -5422,8 +5429,8 @@ void func_8083AE40(Player* this, s16 objectId) { LOG_HEX("size", size, "../z_player.c", 9090); ASSERT(size <= 1024 * 8, "size <= 1024 * 8", "../z_player.c", 9091); - DmaMgr_RequestAsync(&this->giObjectDmaRequest, this->giObjectSegment, gObjectTable[objectId].vromStart, size, 0, - &this->giObjectLoadQueue, NULL, "../z_player.c", 9099); + DMA_REQUEST_ASYNC(&this->giObjectDmaRequest, this->giObjectSegment, gObjectTable[objectId].vromStart, size, 0, + &this->giObjectLoadQueue, NULL, "../z_player.c", 9099); } } @@ -5563,7 +5570,7 @@ s32 Player_ActionChange_13(Player* this, PlayState* play) { this->av2.actionVar2 = 0x50; this->av1.actionVar1 = -1; } - targetActor->flags |= ACTOR_FLAG_8; + targetActor->flags |= ACTOR_FLAG_TALK; this->unk_664 = this->targetActor; } else if (sp2C == EXCH_ITEM_BOTTLE_RUTOS_LETTER) { this->av1.actionVar1 = 1; @@ -5575,7 +5582,7 @@ s32 Player_ActionChange_13(Player* this, PlayState* play) { func_80835EA4(play, 4); } - this->actor.flags |= ACTOR_FLAG_8; + this->actor.flags |= ACTOR_FLAG_TALK; this->exchangeItemId = sp2C; if (this->av1.actionVar1 < 0) { @@ -5615,7 +5622,7 @@ s32 Player_ActionChange_13(Player* this, PlayState* play) { Camera_SetViewParam(Play_GetCamera(play, CAM_ID_MAIN), CAM_VIEW_TARGET, this->unk_6A8); } } - } else if (func_8083AD4C(play, this)) { + } else if (func_8083AD4C(play, this) != CAM_MODE_NORMAL) { if (!(this->stateFlags1 & PLAYER_STATE1_23)) { Player_SetupAction(play, this, Player_Action_8084B1D8, 1); this->av2.actionVar2 = 13; @@ -6770,7 +6777,7 @@ s32 Player_ActionChange_2(Player* this, PlayState* play) { ANIM_FLAG_PLAYER_2 | ANIM_FLAG_PLAYER_SETMOVE | ANIM_FLAG_PLAYER_7); chest->unk_1F4 = 1; - Camera_ChangeSetting(Play_GetCamera(play, CAM_ID_MAIN), CAM_SET_SLOW_CHEST_CS); + Camera_RequestSetting(Play_GetCamera(play, CAM_ID_MAIN), CAM_SET_SLOW_CHEST_CS); } else { Player_AnimPlayOnce(play, this, &gPlayerAnim_link_normal_box_kick); chest->unk_1F4 = -1; @@ -6789,10 +6796,10 @@ s32 Player_ActionChange_2(Player* this, PlayState* play) { func_80836898(play, this, func_8083A0F4); if (sp24 == PLAYER_IA_SWORD_MASTER) { - this->nextModelGroup = Player_ActionToModelGroup(this, PLAYER_IA_LAST_USED); - Player_InitItemAction(play, this, PLAYER_IA_LAST_USED); + this->nextModelGroup = Player_ActionToModelGroup(this, PLAYER_IA_SWORD_CS); + Player_InitItemAction(play, this, PLAYER_IA_SWORD_CS); } else { - Player_UseItem(play, this, ITEM_LAST_USED); + Player_UseItem(play, this, ITEM_SWORD_CS); } } else { s32 strength = Player_GetStrength(); @@ -8255,8 +8262,8 @@ void Player_Action_8084279C(Player* this, PlayState* play) { func_8083A098(this, GET_PLAYER_ANIM(PLAYER_ANIMGROUP_check_end, this->modelAnimType), play); } - this->actor.flags &= ~ACTOR_FLAG_8; - func_8005B1A4(Play_GetCamera(play, CAM_ID_MAIN)); + this->actor.flags &= ~ACTOR_FLAG_TALK; + Camera_SetFinishedFlag(Play_GetCamera(play, CAM_ID_MAIN)); } } @@ -9515,10 +9522,11 @@ void Player_Action_80845CA4(Player* this, PlayState* play) { temp = func_80845BA0(play, this, &sp34, sp30); - if ((this->av2.actionVar2 == 0) || ((temp == 0) && (this->speedXZ == 0.0f) && - (Play_GetCamera(play, CAM_ID_MAIN)->stateFlags & CAM_STATE_4))) { + if ((this->av2.actionVar2 == 0) || + ((temp == 0) && (this->speedXZ == 0.0f) && + (Play_GetCamera(play, CAM_ID_MAIN)->stateFlags & CAM_STATE_CAM_FUNC_FINISH))) { - func_8005B1A4(Play_GetCamera(play, CAM_ID_MAIN)); + Camera_SetFinishedFlag(Play_GetCamera(play, CAM_ID_MAIN)); func_80845C68(play, gSaveContext.respawn[RESPAWN_MODE_DOWN].data); if (!Player_ActionChange_4(this, play)) { @@ -9552,7 +9560,7 @@ void Player_Action_80845EF8(Player* this, PlayState* play) { if (play->roomCtx.prevRoom.num >= 0) { func_80097534(play, &play->roomCtx); } - func_8005B1A4(Play_GetCamera(play, CAM_ID_MAIN)); + Camera_SetFinishedFlag(Play_GetCamera(play, CAM_ID_MAIN)); Play_SetupRespawnPoint(play, RESPAWN_MODE_DOWN, 0xDFF); } return; @@ -9977,7 +9985,7 @@ void Player_Init(Actor* thisx, PlayState* play2) { Player_SetEquipmentData(play, this); this->prevBoots = this->currentBoots; Player_InitCommon(this, play, gPlayerSkelHeaders[((void)0, gSaveContext.save.linkAge)]); - this->giObjectSegment = (void*)(((uintptr_t)ZeldaArena_MallocDebug(0x3008, "../z_player.c", 17175) + 8) & ~0xF); + this->giObjectSegment = (void*)(((uintptr_t)ZELDA_ARENA_MALLOC(0x3008, "../z_player.c", 17175) + 8) & ~0xF); respawnFlag = gSaveContext.respawnFlag; @@ -10592,7 +10600,7 @@ void Player_UpdateCamAndSeqModes(PlayState* play, Player* this) { seqMode = SEQ_MODE_DEFAULT; if (this->csAction != PLAYER_CSACTION_NONE) { - Camera_ChangeMode(Play_GetCamera(play, CAM_ID_MAIN), CAM_MODE_NORMAL); + Camera_RequestMode(Play_GetCamera(play, CAM_ID_MAIN), CAM_MODE_NORMAL); } else if (!(this->stateFlags1 & PLAYER_STATE1_20)) { if ((this->actor.parent != NULL) && (this->stateFlags3 & PLAYER_STATE3_7)) { camMode = CAM_MODE_HOOKSHOT_FLY; @@ -10602,7 +10610,7 @@ void Player_UpdateCamAndSeqModes(PlayState* play, Player* this) { } else if (this->stateFlags2 & PLAYER_STATE2_8) { camMode = CAM_MODE_PUSH_PULL; } else if ((unk_664 = this->unk_664) != NULL) { - if (CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_8)) { + if (CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_TALK)) { camMode = CAM_MODE_TALK; } else if (this->stateFlags1 & PLAYER_STATE1_16) { if (this->stateFlags1 & PLAYER_STATE1_25) { @@ -10653,7 +10661,7 @@ void Player_UpdateCamAndSeqModes(PlayState* play, Player* this) { } } - Camera_ChangeMode(Play_GetCamera(play, CAM_ID_MAIN), camMode); + Camera_RequestMode(Play_GetCamera(play, CAM_ID_MAIN), camMode); } else { // First person mode seqMode = SEQ_MODE_STILL; @@ -10701,16 +10709,16 @@ void func_80848A04(PlayState* play, Player* this) { temp * 200.0f, 0, 8); } -void func_80848B44(PlayState* play, Player* this) { +void Player_UpdateBodyShock(PlayState* play, Player* this) { Vec3f shockPos; Vec3f* randBodyPart; s32 shockScale; - this->shockTimer--; - this->unk_892 += this->shockTimer; + this->bodyShockTimer--; + this->unk_892 += this->bodyShockTimer; if (this->unk_892 > 20) { - shockScale = this->shockTimer * 2; + shockScale = this->bodyShockTimer * 2; this->unk_892 -= 20; if (shockScale > 40) { @@ -10727,7 +10735,7 @@ void func_80848B44(PlayState* play, Player* this) { } } -void func_80848C74(PlayState* play, Player* this) { +void Player_UpdateBodyBurn(PlayState* play, Player* this) { s32 spawnedFlame; u8* timerPtr; s32 timerStep; @@ -10745,7 +10753,7 @@ void func_80848C74(PlayState* play, Player* this) { } spawnedFlame = false; - timerPtr = this->flameTimers; + timerPtr = this->bodyFlameTimers; if (this->stateFlags2 & PLAYER_STATE2_3) { sp58 = 100; @@ -10790,7 +10798,7 @@ void func_80848C74(PlayState* play, Player* this) { Player_InflictDamage(play, -1); } } else { - this->isBurning = false; + this->bodyIsBurning = false; } } @@ -10950,12 +10958,12 @@ void Player_UpdateCommon(Player* this, PlayState* play, Input* input) { this->unk_860++; } - if (this->shockTimer != 0) { - func_80848B44(play, this); + if (this->bodyShockTimer != 0) { + Player_UpdateBodyShock(play, this); } - if (this->isBurning) { - func_80848C74(play, this); + if (this->bodyIsBurning) { + Player_UpdateBodyBurn(play, this); } if ((this->stateFlags3 & PLAYER_STATE3_RESTORE_NAYRUS_LOVE) && (gSaveContext.nayrusLoveTimer != 0) && @@ -11139,9 +11147,9 @@ void Player_UpdateCommon(Player* this, PlayState* play, Input* input) { func_80837B9C(this, play); } else if ((this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) || (this->stateFlags1 & PLAYER_STATE1_27)) { func_80836448(play, this, - func_808332B8(this) ? &gPlayerAnim_link_swimer_swim_down - : (this->shockTimer != 0) ? &gPlayerAnim_link_normal_electric_shock_end - : &gPlayerAnim_link_derth_rebirth); + func_808332B8(this) ? &gPlayerAnim_link_swimer_swim_down + : (this->bodyShockTimer != 0) ? &gPlayerAnim_link_normal_electric_shock_end + : &gPlayerAnim_link_derth_rebirth); } } else { if ((this->actor.parent == NULL) && ((play->transitionTrigger == TRANS_TRIGGER_START) || @@ -11219,7 +11227,7 @@ void Player_UpdateCommon(Player* this, PlayState* play, Input* input) { func_808368EC(this, play); - if (CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_8)) { + if (CHECK_FLAG_ALL(this->actor.flags, ACTOR_FLAG_TALK)) { this->targetActorDistance = 0.0f; } else { this->targetActor = NULL; @@ -11266,7 +11274,7 @@ void Player_UpdateCommon(Player* this, PlayState* play, Input* input) { this->cylinder.dim.yShift = phi_f12 - this->actor.world.pos.y; if (this->stateFlags1 & PLAYER_STATE1_22) { - this->cylinder.dim.height = this->cylinder.dim.height * 0.8f; + this->cylinder.dim.height *= 0.8f; } Collider_UpdateCylinder(&this->actor, &this->cylinder); @@ -11391,7 +11399,7 @@ void Player_DrawGameplay(PlayState* play, Player* this, s32 lod, Gfx* cullDList, Player_PostLimbDrawGameplay, this); if ((overrideLimbDraw == Player_OverrideLimbDrawGameplayDefault) && (this->currentMask != PLAYER_MASK_NONE)) { - Mtx* bunnyEarMtx = Graph_Alloc(play->state.gfxCtx, 2 * sizeof(Mtx)); + Mtx* bunnyEarMtx = GRAPH_ALLOC(play->state.gfxCtx, 2 * sizeof(Mtx)); if (this->currentMask == PLAYER_MASK_BUNNY) { Vec3s earRot; @@ -11403,14 +11411,14 @@ void Player_DrawGameplay(PlayState* play, Player* this, s32 lod, Gfx* cullDList, earRot.y = sBunnyEarKinematics.rot.z + 0xDBE; earRot.z = sBunnyEarKinematics.rot.x - 0x348A; Matrix_SetTranslateRotateYXZ(97.0f, -1203.0f, -240.0f, &earRot); - Matrix_ToMtx(bunnyEarMtx++, "../z_player.c", 19273); + MATRIX_TO_MTX(bunnyEarMtx++, "../z_player.c", 19273); // Left ear earRot.x = sBunnyEarKinematics.rot.y - 0x3E2; earRot.y = -sBunnyEarKinematics.rot.z - 0xDBE; earRot.z = sBunnyEarKinematics.rot.x - 0x348A; Matrix_SetTranslateRotateYXZ(97.0f, -1203.0f, 240.0f, &earRot); - Matrix_ToMtx(bunnyEarMtx, "../z_player.c", 19279); + MATRIX_TO_MTX(bunnyEarMtx, "../z_player.c", 19279); } gSPDisplayList(POLY_OPA_DISP++, sMaskDlists[this->currentMask - 1]); @@ -11432,16 +11440,16 @@ void Player_DrawGameplay(PlayState* play, Player* this, s32 lod, Gfx* cullDList, } D_8085486C = (-sp5C * 4) + 36; - D_8085486C = D_8085486C * D_8085486C; + D_8085486C = SQ(D_8085486C); D_8085486C = (s32)((Math_CosS(D_8085486C) * 100.0f) + 100.0f) + 55.0f; - D_8085486C = D_8085486C * (sp5C * (1.0f / 9.0f)); + D_8085486C *= sp5C * (1.0f / 9.0f); } Matrix_SetTranslateRotateYXZ(this->actor.world.pos.x, this->actor.world.pos.y + 2.0f, this->actor.world.pos.z, &D_80854864); Matrix_Scale(4.0f, 4.0f, 4.0f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_player.c", 19317), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_player.c", 19317), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0, 0, 16, 32, 1, 0, @@ -11538,7 +11546,7 @@ void Player_Draw(Actor* thisx, PlayState* play2) { 32, 1, 0, (play->gameplayFrames * -2) % 128, 32, 32)); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_player.c", 19459), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_player.c", 19459), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetEnvColor(POLY_XLU_DISP++, 0, 50, 100, 255); gSPDisplayList(POLY_XLU_DISP++, gEffIceFragment3DL); @@ -11701,7 +11709,7 @@ void Player_Action_8084B1D8(Player* this, PlayState* play) { } if ((this->csAction != PLAYER_CSACTION_NONE) || (this->unk_6AD == 0) || (this->unk_6AD >= 4) || - func_80833B54(this) || (this->unk_664 != NULL) || !func_8083AD4C(play, this) || + func_80833B54(this) || (this->unk_664 != NULL) || (func_8083AD4C(play, this) == CAM_MODE_NORMAL) || (((this->unk_6AD == 2) && (CHECK_BTN_ANY(sControlInput->press.button, BTN_A | BTN_B | BTN_R) || func_80833B2C(this) || (!func_8002DD78(this) && !func_808334B4(this)))) || ((this->unk_6AD == 1) && @@ -11761,13 +11769,13 @@ void Player_Action_8084B530(Player* this, PlayState* play) { Player_UpdateUpperBody(this, play); if (Message_GetState(&play->msgCtx) == TEXT_STATE_CLOSING) { - this->actor.flags &= ~ACTOR_FLAG_8; + this->actor.flags &= ~ACTOR_FLAG_TALK; if (!CHECK_FLAG_ALL(this->targetActor->flags, ACTOR_FLAG_0 | ACTOR_FLAG_2)) { this->stateFlags2 &= ~PLAYER_STATE2_13; } - func_8005B1A4(Play_GetCamera(play, CAM_ID_MAIN)); + Camera_SetFinishedFlag(Play_GetCamera(play, CAM_ID_MAIN)); if (!func_8084B4D4(play, this) && !func_8084B3CC(play, this) && !Player_StartCsAction(play, this)) { if ((this->targetActor != this->interactRangeActor) || !Player_ActionChange_2(this, play)) { @@ -12553,7 +12561,7 @@ void Player_Action_8084CC98(Player* this, PlayState* play) { } if (this->stateFlags1 & PLAYER_STATE1_20) { - if (!func_8083AD4C(play, this) || CHECK_BTN_ANY(sControlInput->press.button, BTN_A) || + if ((func_8083AD4C(play, this) == CAM_MODE_NORMAL) || CHECK_BTN_ANY(sControlInput->press.button, BTN_A) || func_80833BCC(this)) { this->unk_6AD = 0; this->stateFlags1 &= ~PLAYER_STATE1_20; @@ -12613,7 +12621,7 @@ void Player_Action_8084D3E4(Player* this, PlayState* play) { gSaveContext.save.info.horseData.angle = rideActor->actor.shape.rot.y; } } else { - Camera_ChangeSetting(Play_GetCamera(play, CAM_ID_MAIN), CAM_SET_NORMAL0); + Camera_RequestSetting(Play_GetCamera(play, CAM_ID_MAIN), CAM_SET_NORMAL0); if (this->mountSide < 0) { D_808549C4[0].data = ANIMSFX_DATA(ANIMSFX_TYPE_5, 40); @@ -12864,7 +12872,7 @@ void func_8084DF6C(PlayState* play, Player* this) { this->unk_862 = 0; this->stateFlags1 &= ~(PLAYER_STATE1_10 | PLAYER_STATE1_11); this->getItemId = GI_NONE; - func_8005B1A4(Play_GetCamera(play, CAM_ID_MAIN)); + Camera_SetFinishedFlag(Play_GetCamera(play, CAM_ID_MAIN)); } void func_8084DFAC(PlayState* play, Player* this) { @@ -12992,7 +13000,7 @@ void Player_Action_8084E3C4(Player* this, PlayState* play) { } if (play->msgCtx.ocarinaMode == OCARINA_MODE_04) { - func_8005B1A4(Play_GetCamera(play, CAM_ID_MAIN)); + Camera_SetFinishedFlag(Play_GetCamera(play, CAM_ID_MAIN)); if ((this->targetActor != NULL) && (this->targetActor == this->unk_6A8)) { func_80853148(play, this->targetActor); @@ -13015,7 +13023,7 @@ void Player_Action_8084E3C4(Player* this, PlayState* play) { this->stateFlags1 &= ~PLAYER_STATE1_29; Player_TryCsAction(play, NULL, PLAYER_CSACTION_8); - play->mainCamera.stateFlags &= ~CAM_STATE_3; + play->mainCamera.stateFlags &= ~CAM_STATE_EXTERNAL_FINISHED; this->stateFlags1 |= PLAYER_STATE1_28 | PLAYER_STATE1_29; this->stateFlags2 |= PLAYER_STATE2_27; @@ -13203,7 +13211,7 @@ void Player_Action_8084EAC0(Player* this, PlayState* play) { } func_8083C0E8(this, play); - func_8005B1A4(Play_GetCamera(play, CAM_ID_MAIN)); + Camera_SetFinishedFlag(Play_GetCamera(play, CAM_ID_MAIN)); } else if (this->av2.actionVar2 == 1) { if ((gSaveContext.healthAccumulator == 0) && (gSaveContext.magicState != MAGIC_STATE_FILL)) { Player_AnimChangeOnceMorphAdjusted(play, this, &gPlayerAnim_link_bottle_drink_demo_end); @@ -13240,7 +13248,7 @@ void Player_Action_8084ECA4(Player* this, PlayState* play) { this->av2.actionVar2 = 1; } else if (Message_GetState(&play->msgCtx) == TEXT_STATE_CLOSING) { this->av1.actionVar1 = 0; - func_8005B1A4(Play_GetCamera(play, CAM_ID_MAIN)); + Camera_SetFinishedFlag(Play_GetCamera(play, CAM_ID_MAIN)); } } else { func_8083C0E8(this, play); @@ -13293,7 +13301,7 @@ static Vec3f D_80854A1C = { 0.0f, 0.0f, 5.0f }; void Player_Action_8084EED8(Player* this, PlayState* play) { if (LinkAnimation_Update(play, &this->skelAnime)) { func_8083C0E8(this, play); - func_8005B1A4(Play_GetCamera(play, CAM_ID_MAIN)); + Camera_SetFinishedFlag(Play_GetCamera(play, CAM_ID_MAIN)); return; } @@ -13323,7 +13331,7 @@ void Player_Action_8084EFC0(Player* this, PlayState* play) { if (LinkAnimation_Update(play, &this->skelAnime)) { func_8083C0E8(this, play); - func_8005B1A4(Play_GetCamera(play, CAM_ID_MAIN)); + Camera_SetFinishedFlag(Play_GetCamera(play, CAM_ID_MAIN)); return; } @@ -13357,7 +13365,7 @@ void Player_Action_8084F104(Player* this, PlayState* play) { this->unk_862 = 0; if (targetActor->textId != 0xFFFF) { - this->actor.flags |= ACTOR_FLAG_8; + this->actor.flags |= ACTOR_FLAG_TALK; } func_80853148(play, targetActor); @@ -13377,7 +13385,7 @@ void Player_Action_8084F104(Player* this, PlayState* play) { this->av2.actionVar2 = 1; } else if (Message_GetState(&play->msgCtx) == TEXT_STATE_CLOSING) { - this->actor.flags &= ~ACTOR_FLAG_8; + this->actor.flags &= ~ACTOR_FLAG_TALK; this->unk_862 = 0; if (this->av1.actionVar1 == 1) { @@ -13387,7 +13395,7 @@ void Player_Action_8084F104(Player* this, PlayState* play) { func_8083C0E8(this, play); } - func_8005B1A4(Play_GetCamera(play, CAM_ID_MAIN)); + Camera_SetFinishedFlag(Play_GetCamera(play, CAM_ID_MAIN)); } } } else if (this->av2.actionVar2 >= 0) { @@ -13621,7 +13629,7 @@ void Player_Action_8084FBF4(Player* this, PlayState* play) { } } - this->shockTimer = 40; + this->bodyShockTimer = 40; func_8002F8F0(&this->actor, NA_SE_VO_LI_TAKEN_AWAY - SFX_FLAG + this->ageProperties->unk_92); } @@ -13635,7 +13643,7 @@ s32 func_8084FCAC(Player* this, PlayState* play) { D_808535D0 ^= 1; if (D_808535D0) { - Camera_ChangeMode(Play_GetCamera(play, CAM_ID_MAIN), CAM_MODE_Z_AIM); + Camera_RequestMode(Play_GetCamera(play, CAM_ID_MAIN), CAM_MODE_Z_AIM); } } @@ -13888,7 +13896,7 @@ void Player_Action_8085063C(Player* this, PlayState* play) { } func_80853080(this, play); - func_8005B1A4(Play_GetCamera(play, CAM_ID_MAIN)); + Camera_SetFinishedFlag(Play_GetCamera(play, CAM_ID_MAIN)); } } @@ -13954,7 +13962,7 @@ void Player_Action_808507F4(Player* this, PlayState* play) { if (this->av1.actionVar1 < 0) { if ((this->itemAction == PLAYER_IA_NAYRUS_LOVE) || (gSaveContext.magicState == MAGIC_STATE_IDLE)) { func_80839FFC(this, play); - func_8005B1A4(Play_GetCamera(play, CAM_ID_MAIN)); + Camera_SetFinishedFlag(Play_GetCamera(play, CAM_ID_MAIN)); } } else { if (this->av2.actionVar2 == 0) { @@ -15244,7 +15252,7 @@ void func_80853148(PlayState* play, Actor* actor) { if ((this->targetActor != NULL) || (actor == this->naviActor) || CHECK_FLAG_ALL(actor->flags, ACTOR_FLAG_0 | ACTOR_FLAG_18)) { - actor->flags |= ACTOR_FLAG_8; + actor->flags |= ACTOR_FLAG_TALK; } this->targetActor = actor; @@ -15252,13 +15260,13 @@ void func_80853148(PlayState* play, Actor* actor) { if (actor->textId == 0xFFFF) { Player_SetCsActionWithHaltedActors(play, actor, PLAYER_CSACTION_1); - actor->flags |= ACTOR_FLAG_8; + actor->flags |= ACTOR_FLAG_TALK; func_80832528(play, this); } else { - if (this->actor.flags & ACTOR_FLAG_8) { + if (this->actor.flags & ACTOR_FLAG_TALK) { this->actor.textId = 0; } else { - this->actor.flags |= ACTOR_FLAG_8; + this->actor.flags |= ACTOR_FLAG_TALK; this->actor.textId = actor->textId; } @@ -15301,7 +15309,7 @@ void func_80853148(PlayState* play, Actor* actor) { } if ((this->naviActor == this->targetActor) && ((this->targetActor->textId & 0xFF00) != 0x200)) { - this->naviActor->flags |= ACTOR_FLAG_8; + this->naviActor->flags |= ACTOR_FLAG_TALK; func_80835EA4(play, 0xB); } } 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 index 22b97ce748..dc5eae3c5d 100644 --- 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 @@ -72,7 +72,7 @@ void EffectSsBlast_Draw(PlayState* play, u32 index, EffectSs* this) { this->rInnerColorA); Matrix_Put(&mf); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_ss_blast.c", 199), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_ss_blast.c", 199), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, this->gfx); 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 index bff52614a6..401328c4f0 100644 --- 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 @@ -150,7 +150,7 @@ void EffectSsBomb2_DrawLayered(PlayState* play, u32 index, EffectSs* this) { Matrix_Translate(0.0f, 0.0f, depth, MTXMODE_APPLY); Matrix_RotateZ((this->life * 0.02f) + 180.0f, MTXMODE_APPLY); Matrix_Scale(layer2Scale, layer2Scale, layer2Scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_eff_ss_bomb2.c", 448), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_eff_ss_bomb2.c", 448), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffBombExplosion3DL); layer2Scale -= 0.15f; 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 index b0ba7b668c..4387b92846 100644 --- 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 @@ -45,7 +45,7 @@ void EffectSsBubble_Draw(PlayState* play, u32 index, EffectSs* this) { Matrix_Translate(this->pos.x, this->pos.y, this->pos.z, MTXMODE_NEW); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_ss_bubble.c", 167), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_ss_bubble.c", 167), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Gfx_SetupDL_25Opa(gfxCtx); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255); 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 index dabe791b77..002cda2539 100644 --- 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 @@ -99,7 +99,7 @@ void EffectSsDeadDs_Draw(PlayState* play, u32 index, EffectSs* this) { Matrix_RotateZYX(this->rRoll, this->rPitch, this->rYaw, MTXMODE_APPLY); Matrix_RotateX(1.57f, MTXMODE_APPLY); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_eff_ss_dead_ds.c", 246), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_eff_ss_dead_ds.c", 246), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetCombineLERP(POLY_XLU_DISP++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0); 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 index cb9a4dd983..80a3d559a3 100644 --- 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 @@ -81,7 +81,7 @@ void EffectSsDtBubble_Draw(PlayState* play, u32 index, EffectSs* this) { scale = this->rScale * 0.004f; Matrix_Translate(this->pos.x, this->pos.y, this->pos.z, MTXMODE_NEW); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_ss_dt_bubble.c", 213), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_ss_dt_bubble.c", 213), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Gfx_SetupDL_25Xlu2(gfxCtx); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, this->rPrimColorR, this->rPrimColorG, this->rPrimColorB, 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 index c1ff85de48..302941ca49 100644 --- 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 @@ -78,7 +78,7 @@ void EffectSsEnFire_Draw(PlayState* play, u32 index, EffectSs* this) { scale = Math_SinS(this->life * 0x333) * (this->rScale * 0.00005f); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_eff_en_fire.c", 180), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_eff_en_fire.c", 180), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); redGreen = this->life - 5; 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 index 91d056a820..931a41602d 100644 --- 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 @@ -113,7 +113,7 @@ void EffectSsEnIce_Draw(PlayState* play, u32 index, EffectSs* this) { Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); Matrix_RotateY(BINANG_TO_RAD(this->rYaw), MTXMODE_APPLY); Matrix_RotateX(BINANG_TO_RAD(this->rPitch), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_en_ice.c", 261), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_en_ice.c", 261), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); hiliteLightDir.x = 89.8f; 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 index b1e14efdec..618759146e 100644 --- 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 @@ -71,7 +71,7 @@ void EffectSsExtra_Draw(PlayState* play, u32 index, EffectSs* this) { Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); Gfx_SetupDL_25Xlu(play->state.gfxCtx); Matrix_ReplaceRotation(&play->billboardMtxF); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_eff_ss_extra.c", 186), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_eff_ss_extra.c", 186), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sTextures[this->rScoreIdx])); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(object_yabusame_point_DL_000DC0)); diff --git a/src/overlays/effects/ovl_Effect_Ss_Fcircle/z_eff_ss_fcircle.c b/src/overlays/effects/ovl_Effect_Ss_Fcircle/z_eff_ss_fcircle.c index e407d44b4b..c3e7088f1b 100644 --- a/src/overlays/effects/ovl_Effect_Ss_Fcircle/z_eff_ss_fcircle.c +++ b/src/overlays/effects/ovl_Effect_Ss_Fcircle/z_eff_ss_fcircle.c @@ -58,7 +58,7 @@ void EffectSsFcircle_Draw(PlayState* play, u32 index, EffectSs* this) { Matrix_Translate(this->pos.x, this->pos.y, this->pos.z, MTXMODE_NEW); Matrix_Scale(xzScale, yScale, xzScale, MTXMODE_APPLY); Matrix_RotateY(BINANG_TO_RAD(this->rYaw), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_fcircle.c", 163), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_fcircle.c", 163), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Gfx_SetupDL_25Xlu(play->state.gfxCtx); gSPSegment(POLY_XLU_DISP++, 0x08, 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 index 96e789c794..403438a231 100644 --- 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 @@ -107,7 +107,7 @@ void EffectSsFhgFlash_DrawLightBall(PlayState* play, u32 index, EffectSs* this) gDPPipeSync(POLY_XLU_DISP++); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_RotateZ((this->rXZRot / (f32)0x8000) * 3.1416f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_fhg_flash.c", 326), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_fhg_flash.c", 326), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, this->gfx); @@ -140,7 +140,7 @@ void EffectSsFhgFlash_DrawShock(PlayState* play, u32 index, EffectSs* this) { gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, this->rAlpha); gDPSetEnvColor(POLY_XLU_DISP++, 0, 255, 155, 0); Matrix_RotateZ((this->rXZRot / (f32)0x8000) * 3.1416f, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_fhg_flash.c", 395), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_fhg_flash.c", 395), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, this->gfx); 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 index 03fd761ec3..a08d8af131 100644 --- 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 @@ -119,7 +119,7 @@ void EffectSsFireTail_Draw(PlayState* play, u32 index, EffectSs* this) { Matrix_Scale(1.0f, temp1, 1.0f / temp1, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_eff_fire_tail.c", 238), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_eff_fire_tail.c", 238), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Gfx_SetupDL_25Xlu(play->state.gfxCtx); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0x80, this->rPrimColorR, this->rPrimColorG, this->rPrimColorB, 255); diff --git a/src/overlays/effects/ovl_Effect_Ss_G_Magma2/z_eff_ss_g_magma2.c b/src/overlays/effects/ovl_Effect_Ss_G_Magma2/z_eff_ss_g_magma2.c index 244e9791bd..e3eaaa136a 100644 --- a/src/overlays/effects/ovl_Effect_Ss_G_Magma2/z_eff_ss_g_magma2.c +++ b/src/overlays/effects/ovl_Effect_Ss_G_Magma2/z_eff_ss_g_magma2.c @@ -86,7 +86,7 @@ void EffectSsGMagma2_Draw(PlayState* play, u32 index, EffectSs* this) { Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); gSegments[6] = VIRTUAL_TO_PHYSICAL(objectPtr); gSPSegment(POLY_XLU_DISP++, 0x06, objectPtr); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_ss_g_magma2.c", 282), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_ss_g_magma2.c", 282), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (this->rDrawMode == 0) { 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 index 4e7cf3138b..c629cecbad 100644 --- 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 @@ -59,10 +59,10 @@ u32 EffectSsGRipple_Init(PlayState* play, u32 index, EffectSs* this, void* initP return 1; } -void EffectSsGRipple_DrawRipple(PlayState* play, EffectSs* this, void* segment) { - GraphicsContext* gfxCtx = play->state.gfxCtx; +void EffectSsGRipple_DrawRipple(PlayState* play2, EffectSs* this, void* segment) { + PlayState* play = play2; f32 radius; - s32 pad; + GraphicsContext* gfxCtx = play->state.gfxCtx; MtxF mfTrans; MtxF mfScale; MtxF mfResult; @@ -71,8 +71,6 @@ void EffectSsGRipple_DrawRipple(PlayState* play, EffectSs* this, void* segment) OPEN_DISPS(gfxCtx, "../z_eff_ss_g_ripple.c", 199); - if (play) {} - radius = this->rRadius * 0.0025f; if ((this->rWaterBoxNum != -1) && (this->rWaterBoxNum < play->colCtx.colHeader->numWaterBoxes)) { 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 index 951ab24065..2085eff571 100644 --- 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 @@ -81,7 +81,7 @@ void EffectSsHahen_Draw(PlayState* play, u32 index, EffectSs* this) { Matrix_RotateY(this->rYaw * 0.01f, MTXMODE_APPLY); Matrix_RotateX(this->rPitch * 0.01f, MTXMODE_APPLY); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_hahen.c", 228), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_hahen.c", 228), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Gfx_SetupDL_25Opa(play->state.gfxCtx); gSPDisplayList(POLY_OPA_DISP++, this->gfx); @@ -105,7 +105,7 @@ void EffectSsHahen_DrawGray(PlayState* play, u32 index, EffectSs* this) { Matrix_RotateY(this->rYaw * 0.01f, MTXMODE_APPLY); Matrix_RotateX(this->rPitch * 0.01f, MTXMODE_APPLY); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_hahen.c", 271), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_hahen.c", 271), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Gfx_SetupDL_25Opa(play->state.gfxCtx); gDPSetCombineLERP(POLY_OPA_DISP++, SHADE, 0, PRIMITIVE, 0, SHADE, 0, PRIMITIVE, 0, SHADE, 0, PRIMITIVE, 0, SHADE, 0, 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 index 92c3cc1793..3a1387276b 100644 --- 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 @@ -65,7 +65,7 @@ void EffectSsIcePiece_Draw(PlayState* play, u32 index, EffectSs* this) { Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); Matrix_RotateY(BINANG_TO_RAD(this->rYaw), MTXMODE_APPLY); Matrix_RotateX(BINANG_TO_RAD(this->rPitch), MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_ice_piece.c", 185), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_ice_piece.c", 185), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Gfx_SetupDL_25Xlu(play->state.gfxCtx); gDPSetEnvColor(POLY_XLU_DISP++, 0, 50, 100, (s32)alpha & 0xFF); @@ -80,7 +80,7 @@ void EffectSsIcePiece_Draw(PlayState* play, u32 index, EffectSs* this) { void EffectSsIcePiece_Update(PlayState* play, u32 index, EffectSs* this) { this->rPitch += this->rRotSpeed; - this->velocity.x = this->velocity.x * 0.85f; - this->velocity.y = this->velocity.y * 0.85f; - this->velocity.z = this->velocity.z * 0.85f; + this->velocity.x *= 0.85f; + this->velocity.y *= 0.85f; + this->velocity.z *= 0.85f; } 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 index 8301fee44d..982ece70df 100644 --- 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 @@ -79,7 +79,7 @@ void EffectSsIceSmoke_Draw(PlayState* play, u32 index, EffectSs* this) { scale = this->rScale * 0.0001f; Matrix_Scale(scale, scale, 1.0f, MTXMODE_APPLY); - mtx = Matrix_NewMtx(play->state.gfxCtx, "../z_eff_ss_ice_smoke.c", 196); + mtx = MATRIX_NEW(play->state.gfxCtx, "../z_eff_ss_ice_smoke.c", 196); if (mtx != NULL) { gSPMatrix(POLY_XLU_DISP++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); 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 index bcc7e86d63..5a613a2f84 100644 --- 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 @@ -75,7 +75,7 @@ void EffectSsKFire_Draw(PlayState* play, u32 index, EffectSs* this) { Matrix_RotateY(M_PI, MTXMODE_APPLY); } - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_eff_k_fire.c", 215), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_eff_k_fire.c", 215), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gEffFire1DL); 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 index ed7d96a724..c8acb10b6e 100644 --- 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 @@ -112,7 +112,7 @@ void EffectSsKakera_Draw(PlayState* play, u32 index, EffectSs* this) { Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); if ((((this->rReg4 >> 7) & 1) << 7) == 0x80) { - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_kakera.c", 268), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_kakera.c", 268), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Gfx_SetupDL_25Xlu(play->state.gfxCtx); @@ -122,7 +122,7 @@ void EffectSsKakera_Draw(PlayState* play, u32 index, EffectSs* this) { gSPDisplayList(POLY_XLU_DISP++, this->gfx); } else { - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_kakera.c", 286), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_kakera.c", 286), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Gfx_SetupDL_25Opa(play->state.gfxCtx); 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 index 9fdba62b39..7aaa867f84 100644 --- 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 @@ -67,7 +67,7 @@ void EffectSsSibuki_Draw(PlayState* play, u32 index, EffectSs* this) { Matrix_Translate(this->pos.x, this->pos.y, this->pos.z, MTXMODE_NEW); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_ss_sibuki.c", 176), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_ss_sibuki.c", 176), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Gfx_SetupDL_25Opa(gfxCtx); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, this->rPrimColorR, this->rPrimColorG, this->rPrimColorB, this->rPrimColorA); diff --git a/src/overlays/effects/ovl_Effect_Ss_Sibuki2/z_eff_ss_sibuki2.c b/src/overlays/effects/ovl_Effect_Ss_Sibuki2/z_eff_ss_sibuki2.c index 4225af82c0..ae32c1befc 100644 --- a/src/overlays/effects/ovl_Effect_Ss_Sibuki2/z_eff_ss_sibuki2.c +++ b/src/overlays/effects/ovl_Effect_Ss_Sibuki2/z_eff_ss_sibuki2.c @@ -63,7 +63,7 @@ void EffectSsSibuki2_Draw(PlayState* play, u32 index, EffectSs* this) { Matrix_Translate(this->pos.x, this->pos.y, this->pos.z, MTXMODE_NEW); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_ss_sibuki2.c", 171), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_ss_sibuki2.c", 171), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Gfx_SetupDL_25Opa(gfxCtx); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, this->rPrimColorR, this->rPrimColorG, this->rPrimColorB, this->rPrimColorA); 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 index 0c9f8b379f..5a5362bb45 100644 --- 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 @@ -64,7 +64,7 @@ void EffectSsStick_Draw(PlayState* play, u32 index, EffectSs* this) { Matrix_RotateZYX(0, this->rYaw, play->state.frames * 10000, MTXMODE_APPLY); } - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_ss_stick.c", 176), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_ss_stick.c", 176), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Gfx_SetupDL_25Opa(gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.slots[this->rObjectSlot].segment); 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 index b6223aab2a..af8e8e9a17 100644 --- 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 @@ -62,7 +62,7 @@ void EffectSsStone1_Draw(PlayState* play, u32 index, EffectSs* this) { scale = (mfW < 1500.0f) ? 3.0f : (mfW / 1500.0f) * 3.0f; Matrix_Translate(this->pos.x, this->pos.y, this->pos.z, MTXMODE_NEW); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_ss_stone1.c", 168), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gfxCtx, "../z_eff_ss_stone1.c", 168), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Gfx_SetupDL_61Xlu(gfxCtx); gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(drawParams->texture)); diff --git a/src/overlays/gamestates/ovl_file_choose/z_file_choose.c b/src/overlays/gamestates/ovl_file_choose/z_file_choose.c index 236d1e42da..30f5b76de4 100644 --- a/src/overlays/gamestates/ovl_file_choose/z_file_choose.c +++ b/src/overlays/gamestates/ovl_file_choose/z_file_choose.c @@ -454,7 +454,7 @@ void FileSelect_SetWindowVtx(GameState* thisx) { s16 tmp2; s16 tmp3; - this->windowVtx = Graph_Alloc(this->state.gfxCtx, sizeof(Vtx) * 80); + this->windowVtx = GRAPH_ALLOC(this->state.gfxCtx, sizeof(Vtx) * 80); tmp = this->windowPosX - 90; for (x = 0, i = 0; i < 4; i++) { @@ -512,7 +512,7 @@ void FileSelect_SetWindowContentVtx(GameState* thisx) { s16 temp_t1; SramContext* sramCtx = &this->sramCtx; - this->windowContentVtx = Graph_Alloc(this->state.gfxCtx, 0x288 * sizeof(Vtx)); + this->windowContentVtx = GRAPH_ALLOC(this->state.gfxCtx, 0x288 * sizeof(Vtx)); for (phi_t2 = 0; phi_t2 < 0x288; phi_t2 += 4) { this->windowContentVtx[phi_t2].v.ob[0] = this->windowContentVtx[phi_t2 + 2].v.ob[0] = 0x12C; @@ -1153,7 +1153,7 @@ void FileSelect_ConfigModeDraw(GameState* thisx) { Matrix_RotateX(this->windowRot / 100.0f, MTXMODE_APPLY); } - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(this->state.gfxCtx, "../z_file_choose.c", 2282), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(this->state.gfxCtx, "../z_file_choose.c", 2282), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPVertex(POLY_OPA_DISP++, &this->windowVtx[0], 32, 0); @@ -1181,7 +1181,7 @@ void FileSelect_ConfigModeDraw(GameState* thisx) { Matrix_Translate(0.0f, 0.0f, -93.6f, MTXMODE_NEW); Matrix_Scale(0.78f, 0.78f, 0.78f, MTXMODE_APPLY); Matrix_RotateX((this->windowRot - 314.0f) / 100.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(this->state.gfxCtx, "../z_file_choose.c", 2316), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(this->state.gfxCtx, "../z_file_choose.c", 2316), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPVertex(POLY_OPA_DISP++, &this->windowVtx[0], 32, 0); @@ -1210,7 +1210,7 @@ void FileSelect_ConfigModeDraw(GameState* thisx) { Matrix_Scale(0.78f, 0.78f, 0.78f, MTXMODE_APPLY); Matrix_RotateX((this->windowRot - 314.0f) / 100.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(this->state.gfxCtx, "../z_file_choose.c", 2337), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(this->state.gfxCtx, "../z_file_choose.c", 2337), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPVertex(POLY_OPA_DISP++, &this->windowVtx[0], 32, 0); @@ -1562,7 +1562,7 @@ void FileSelect_SelectModeDraw(GameState* thisx) { Matrix_Translate(0.0f, 0.0f, -93.6f, MTXMODE_NEW); Matrix_Scale(0.78f, 0.78f, 0.78f, MTXMODE_APPLY); Matrix_RotateX(this->windowRot / 100.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(this->state.gfxCtx, "../z_file_choose.c", 2810), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(this->state.gfxCtx, "../z_file_choose.c", 2810), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPVertex(POLY_OPA_DISP++, &this->windowVtx[0], 32, 0); @@ -1882,16 +1882,15 @@ void FileSelect_Init(GameState* thisx) { SREG(30) = 1; osSyncPrintf("SIZE=%x\n", size); - this->staticSegment = GameState_Alloc(&this->state, size, "../z_file_choose.c", 3392); + this->staticSegment = GAME_STATE_ALLOC(&this->state, size, "../z_file_choose.c", 3392); ASSERT(this->staticSegment != NULL, "this->staticSegment != NULL", "../z_file_choose.c", 3393); - DmaMgr_RequestSyncDebug(this->staticSegment, (uintptr_t)_title_staticSegmentRomStart, size, "../z_file_choose.c", - 3394); + DMA_REQUEST_SYNC(this->staticSegment, (uintptr_t)_title_staticSegmentRomStart, size, "../z_file_choose.c", 3394); size = (uintptr_t)_parameter_staticSegmentRomEnd - (uintptr_t)_parameter_staticSegmentRomStart; - this->parameterSegment = GameState_Alloc(&this->state, size, "../z_file_choose.c", 3398); + this->parameterSegment = GAME_STATE_ALLOC(&this->state, size, "../z_file_choose.c", 3398); ASSERT(this->parameterSegment != NULL, "this->parameterSegment != NULL", "../z_file_choose.c", 3399); - DmaMgr_RequestSyncDebug(this->parameterSegment, (uintptr_t)_parameter_staticSegmentRomStart, size, - "../z_file_choose.c", 3400); + DMA_REQUEST_SYNC(this->parameterSegment, (uintptr_t)_parameter_staticSegmentRomStart, size, "../z_file_choose.c", + 3400); Matrix_Init(&this->state); View_Init(&this->view, this->state.gfxCtx); diff --git a/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c b/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c index 67cc0a0748..07c0900bbd 100644 --- a/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c +++ b/src/overlays/gamestates/ovl_file_choose/z_file_nameset_PAL.c @@ -39,7 +39,7 @@ void FileSelect_SetKeyboardVtx(GameState* thisx) { s16 phi_t1; s16 phi_s2; - this->keyboardVtx = Graph_Alloc(this->state.gfxCtx, sizeof(Vtx) * 4 * 5 * 13); + this->keyboardVtx = GRAPH_ALLOC(this->state.gfxCtx, sizeof(Vtx) * 4 * 5 * 13); phi_s1 = 0x26; @@ -141,7 +141,7 @@ void FileSelect_SetNameEntryVtx(GameState* thisx) { gSP1Quadrangle(POLY_OPA_DISP++, phi_s0, phi_s0 + 2, phi_s0 + 3, phi_s0 + 1, 0); } - this->nameEntryVtx = Graph_Alloc(this->state.gfxCtx, 44 * sizeof(Vtx)); + this->nameEntryVtx = GRAPH_ALLOC(this->state.gfxCtx, 44 * sizeof(Vtx)); for (phi_s0 = 0, phi_t1 = 0; phi_t1 < 44; phi_t1 += 4, phi_s0++) { if ((phi_s0 > 0) && (phi_s0 < 9)) { @@ -917,6 +917,8 @@ void FileSelect_DrawOptionsImpl(GameState* thisx) { gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255); } + //! @bug Mistakenly using sOptionsMenuHeaders instead of sOptionsMenuSettings for the height. + //! This works out anyway because all heights are 16. gDPLoadTextureBlock(POLY_OPA_DISP++, sOptionsMenuSettings[i].texture[gSaveContext.language], G_IM_FMT_IA, G_IM_SIZ_8b, sOptionsMenuSettings[i].width[gSaveContext.language], sOptionsMenuHeaders[i].height, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, @@ -941,6 +943,9 @@ void FileSelect_DrawOptionsImpl(GameState* thisx) { gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255); } + //! @bug Mistakenly using sOptionsMenuHeaders instead of sOptionsMenuSettings for the height. + //! This is also an OOB read that happens to access the height of the first two elements in + //! sOptionsMenuSettings, and since all heights are 16, it works out anyway. gDPLoadTextureBlock(POLY_OPA_DISP++, sOptionsMenuSettings[i].texture[gSaveContext.language], G_IM_FMT_IA, G_IM_SIZ_8b, sOptionsMenuSettings[i].width[gSaveContext.language], sOptionsMenuHeaders[i].height, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, @@ -978,7 +983,7 @@ void FileSelect_DrawOptionsImpl(GameState* thisx) { Matrix_Push(); Matrix_Translate(0.0f, 0.1f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(this->state.gfxCtx, "../z_file_nameset_PAL.c", 1009), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(this->state.gfxCtx, "../z_file_nameset_PAL.c", 1009), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPVertex(POLY_OPA_DISP++, gOptionsDividerTopVtx, 4, 0); gSP1Quadrangle(POLY_OPA_DISP++, 0, 2, 3, 1, 0); @@ -986,7 +991,7 @@ void FileSelect_DrawOptionsImpl(GameState* thisx) { Matrix_Push(); Matrix_Translate(0.0f, 0.2f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(this->state.gfxCtx, "../z_file_nameset_PAL.c", 1021), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(this->state.gfxCtx, "../z_file_nameset_PAL.c", 1021), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPVertex(POLY_OPA_DISP++, gOptionsDividerMiddleVtx, 4, 0); @@ -995,7 +1000,7 @@ void FileSelect_DrawOptionsImpl(GameState* thisx) { Matrix_Push(); Matrix_Translate(0.0f, 0.4f, 0.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(this->state.gfxCtx, "../z_file_nameset_PAL.c", 1033), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(this->state.gfxCtx, "../z_file_nameset_PAL.c", 1033), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPVertex(POLY_OPA_DISP++, gOptionsDividerBottomVtx, 4, 0); gSP1Quadrangle(POLY_OPA_DISP++, 0, 2, 3, 1, 0); diff --git a/src/overlays/gamestates/ovl_select/z_select.c b/src/overlays/gamestates/ovl_select/z_select.c index 5ac03ab90d..7dcc4f0f23 100644 --- a/src/overlays/gamestates/ovl_select/z_select.c +++ b/src/overlays/gamestates/ovl_select/z_select.c @@ -748,9 +748,8 @@ void MapSelect_Init(GameState* thisx) { } R_UPDATE_RATE = 1; - this->staticSegment = GameState_Alloc(&this->state, size, "../z_select.c", 1114); - DmaMgr_RequestSyncDebug(this->staticSegment, (uintptr_t)_z_select_staticSegmentRomStart, size, "../z_select.c", - 1115); + this->staticSegment = GAME_STATE_ALLOC(&this->state, size, "../z_select.c", 1114); + DMA_REQUEST_SYNC(this->staticSegment, (uintptr_t)_z_select_staticSegmentRomStart, size, "../z_select.c", 1115); gSaveContext.save.cutsceneIndex = 0x8000; gSaveContext.save.linkAge = LINK_AGE_CHILD; } diff --git a/src/overlays/gamestates/ovl_title/z_title.c b/src/overlays/gamestates/ovl_title/z_title.c index 1849b253d6..c29750e1e9 100644 --- a/src/overlays/gamestates/ovl_title/z_title.c +++ b/src/overlays/gamestates/ovl_title/z_title.c @@ -86,7 +86,7 @@ void ConsoleLogo_Draw(ConsoleLogoState* this) { Matrix_Scale(1.0, 1.0, 1.0, MTXMODE_APPLY); Matrix_RotateZYX(0, sTitleRotY, 0, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(this->state.gfxCtx, "../z_title.c", 424), G_MTX_LOAD); + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(this->state.gfxCtx, "../z_title.c", 424), G_MTX_LOAD); gSPDisplayList(POLY_OPA_DISP++, gNintendo64LogoDL); Gfx_SetupDL_39Opa(this->state.gfxCtx); gDPPipeSync(POLY_OPA_DISP++); @@ -157,11 +157,10 @@ void ConsoleLogo_Init(GameState* thisx) { u32 size = (uintptr_t)_nintendo_rogo_staticSegmentRomEnd - (uintptr_t)_nintendo_rogo_staticSegmentRomStart; ConsoleLogoState* this = (ConsoleLogoState*)thisx; - this->staticSegment = GameState_Alloc(&this->state, size, "../z_title.c", 611); + this->staticSegment = GAME_STATE_ALLOC(&this->state, size, "../z_title.c", 611); osSyncPrintf("z_title.c\n"); ASSERT(this->staticSegment != NULL, "this->staticSegment != NULL", "../z_title.c", 614); - DmaMgr_RequestSyncDebug(this->staticSegment, (uintptr_t)_nintendo_rogo_staticSegmentRomStart, size, "../z_title.c", - 615); + DMA_REQUEST_SYNC(this->staticSegment, (uintptr_t)_nintendo_rogo_staticSegmentRomStart, size, "../z_title.c", 615); R_UPDATE_RATE = 1; Matrix_Init(&this->state); View_Init(&this->view, this->state.gfxCtx); diff --git a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c index e4fcf1fd2b..d69c3f2a1a 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.c @@ -1145,7 +1145,7 @@ void KaleidoScope_DrawPages(PlayState* play, GraphicsContext* gfxCtx) { Matrix_Scale(0.78f, 0.78f, 0.78f, MTXMODE_APPLY); Matrix_RotateX(-pauseCtx->itemPageRoll / 100.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_kaleido_scope_PAL.c", 1173), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_kaleido_scope_PAL.c", 1173), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); POLY_OPA_DISP = KaleidoScope_DrawPageSections(POLY_OPA_DISP, pauseCtx->itemPageVtx, @@ -1164,7 +1164,7 @@ void KaleidoScope_DrawPages(PlayState* play, GraphicsContext* gfxCtx) { Matrix_RotateZ(pauseCtx->equipPageRoll / 100.0f, MTXMODE_APPLY); Matrix_RotateY(1.57f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_kaleido_scope_PAL.c", 1196), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_kaleido_scope_PAL.c", 1196), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); POLY_OPA_DISP = KaleidoScope_DrawPageSections(POLY_OPA_DISP, pauseCtx->equipPageVtx, @@ -1184,7 +1184,7 @@ void KaleidoScope_DrawPages(PlayState* play, GraphicsContext* gfxCtx) { Matrix_RotateX(pauseCtx->questPageRoll / 100.0f, MTXMODE_APPLY); Matrix_RotateY(3.14f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_kaleido_scope_PAL.c", 1220), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_kaleido_scope_PAL.c", 1220), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); POLY_OPA_DISP = KaleidoScope_DrawPageSections(POLY_OPA_DISP, pauseCtx->questPageVtx, @@ -1204,7 +1204,7 @@ void KaleidoScope_DrawPages(PlayState* play, GraphicsContext* gfxCtx) { Matrix_RotateZ(-pauseCtx->mapPageRoll / 100.0f, MTXMODE_APPLY); Matrix_RotateY(-1.57f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_kaleido_scope_PAL.c", 1243), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_kaleido_scope_PAL.c", 1243), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); POLY_OPA_DISP = KaleidoScope_DrawPageSections(POLY_OPA_DISP, pauseCtx->mapPageVtx, @@ -1236,7 +1236,7 @@ void KaleidoScope_DrawPages(PlayState* play, GraphicsContext* gfxCtx) { Matrix_Scale(0.78f, 0.78f, 0.78f, MTXMODE_APPLY); Matrix_RotateX(-pauseCtx->itemPageRoll / 100.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_kaleido_scope_PAL.c", 1281), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_kaleido_scope_PAL.c", 1281), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); POLY_OPA_DISP = KaleidoScope_DrawPageSections(POLY_OPA_DISP, pauseCtx->itemPageVtx, @@ -1252,7 +1252,7 @@ void KaleidoScope_DrawPages(PlayState* play, GraphicsContext* gfxCtx) { Matrix_RotateZ(-pauseCtx->mapPageRoll / 100.0f, MTXMODE_APPLY); Matrix_RotateY(-1.57f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_kaleido_scope_PAL.c", 1303), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_kaleido_scope_PAL.c", 1303), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); POLY_OPA_DISP = KaleidoScope_DrawPageSections(POLY_OPA_DISP, pauseCtx->mapPageVtx, @@ -1285,7 +1285,7 @@ void KaleidoScope_DrawPages(PlayState* play, GraphicsContext* gfxCtx) { Matrix_RotateX(pauseCtx->questPageRoll / 100.0f, MTXMODE_APPLY); Matrix_RotateY(3.14f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_kaleido_scope_PAL.c", 1343), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_kaleido_scope_PAL.c", 1343), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); POLY_OPA_DISP = KaleidoScope_DrawPageSections(POLY_OPA_DISP, pauseCtx->questPageVtx, @@ -1305,7 +1305,7 @@ void KaleidoScope_DrawPages(PlayState* play, GraphicsContext* gfxCtx) { Matrix_RotateZ(pauseCtx->equipPageRoll / 100.0f, MTXMODE_APPLY); Matrix_RotateY(1.57f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_kaleido_scope_PAL.c", 1367), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_kaleido_scope_PAL.c", 1367), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); POLY_OPA_DISP = KaleidoScope_DrawPageSections(POLY_OPA_DISP, pauseCtx->equipPageVtx, @@ -1362,7 +1362,7 @@ void KaleidoScope_DrawPages(PlayState* play, GraphicsContext* gfxCtx) { Matrix_RotateY(1.57f, MTXMODE_APPLY); } - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx, "../z_kaleido_scope_PAL.c", 1424), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gfxCtx, "../z_kaleido_scope_PAL.c", 1424), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (IS_PAUSE_STATE_GAMEOVER(pauseCtx)) { @@ -1658,7 +1658,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) { Matrix_Translate(0.0f, 0.0f, -144.0f, MTXMODE_NEW); Matrix_Scale(1.0f, 1.0f, 1.0f, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_kaleido_scope_PAL.c", 1755), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_kaleido_scope_PAL.c", 1755), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 90, 100, 130, 255); @@ -1967,9 +1967,9 @@ void KaleidoScope_UpdateNamePanel(PlayState* play) { texIndex += 12; } - DmaMgr_RequestSyncDebug(pauseCtx->nameSegment, - (uintptr_t)_map_name_staticSegmentRomStart + (texIndex * MAP_NAME_TEX1_SIZE), - MAP_NAME_TEX1_SIZE, "../z_kaleido_scope_PAL.c", 2093); + DMA_REQUEST_SYNC(pauseCtx->nameSegment, + (uintptr_t)_map_name_staticSegmentRomStart + (texIndex * MAP_NAME_TEX1_SIZE), + MAP_NAME_TEX1_SIZE, "../z_kaleido_scope_PAL.c", 2093); } else { osSyncPrintf("zoom_name=%d\n", pauseCtx->namedItem); @@ -1982,9 +1982,9 @@ void KaleidoScope_UpdateNamePanel(PlayState* play) { osSyncPrintf("J_N=%d point=%d\n", gSaveContext.language, texIndex); - DmaMgr_RequestSyncDebug(pauseCtx->nameSegment, - (uintptr_t)_item_name_staticSegmentRomStart + (texIndex * ITEM_NAME_TEX_SIZE), - ITEM_NAME_TEX_SIZE, "../z_kaleido_scope_PAL.c", 2120); + DMA_REQUEST_SYNC(pauseCtx->nameSegment, + (uintptr_t)_item_name_staticSegmentRomStart + (texIndex * ITEM_NAME_TEX_SIZE), + ITEM_NAME_TEX_SIZE, "../z_kaleido_scope_PAL.c", 2120); } pauseCtx->nameDisplayTimer = 0; @@ -2711,14 +2711,14 @@ void KaleidoScope_SetVertices(PlayState* play, GraphicsContext* gfxCtx) { pauseCtx->offsetY = 80; } - pauseCtx->itemPageVtx = Graph_Alloc(gfxCtx, ((PAGE_BG_QUADS + VTX_PAGE_ITEM_QUADS) * 4) * sizeof(Vtx)); + pauseCtx->itemPageVtx = GRAPH_ALLOC(gfxCtx, ((PAGE_BG_QUADS + VTX_PAGE_ITEM_QUADS) * 4) * sizeof(Vtx)); KaleidoScope_SetPageVertices(play, pauseCtx->itemPageVtx, VTX_PAGE_ITEM, VTX_PAGE_ITEM_QUADS); - pauseCtx->equipPageVtx = Graph_Alloc(gfxCtx, ((PAGE_BG_QUADS + VTX_PAGE_EQUIP_QUADS) * 4) * sizeof(Vtx)); + pauseCtx->equipPageVtx = GRAPH_ALLOC(gfxCtx, ((PAGE_BG_QUADS + VTX_PAGE_EQUIP_QUADS) * 4) * sizeof(Vtx)); KaleidoScope_SetPageVertices(play, pauseCtx->equipPageVtx, VTX_PAGE_EQUIP, VTX_PAGE_EQUIP_QUADS); if (!sInDungeonScene) { - pauseCtx->mapPageVtx = Graph_Alloc( + pauseCtx->mapPageVtx = GRAPH_ALLOC( gfxCtx, ((PAGE_BG_QUADS + VTX_PAGE_MAP_WORLD_QUADS + WORLD_MAP_IMAGE_FRAG_NUM) * 4) * sizeof(Vtx)); j = KaleidoScope_SetPageVertices(play, pauseCtx->mapPageVtx, VTX_PAGE_MAP_WORLD, VTX_PAGE_MAP_WORLD_QUADS); @@ -2765,14 +2765,14 @@ void KaleidoScope_SetVertices(PlayState* play, GraphicsContext* gfxCtx) { pauseCtx->mapPageVtx[j - 2].v.tc[1] = pauseCtx->mapPageVtx[j - 1].v.tc[1] = (WORLD_MAP_IMAGE_HEIGHT % WORLD_MAP_IMAGE_FRAG_HEIGHT) * (1 << 5); } else { - pauseCtx->mapPageVtx = Graph_Alloc(gfxCtx, ((PAGE_BG_QUADS + VTX_PAGE_MAP_DUNGEON_QUADS) * 4) * sizeof(Vtx)); + pauseCtx->mapPageVtx = GRAPH_ALLOC(gfxCtx, ((PAGE_BG_QUADS + VTX_PAGE_MAP_DUNGEON_QUADS) * 4) * sizeof(Vtx)); KaleidoScope_SetPageVertices(play, pauseCtx->mapPageVtx, VTX_PAGE_MAP_DUNGEON, VTX_PAGE_MAP_DUNGEON_QUADS); } - pauseCtx->questPageVtx = Graph_Alloc(gfxCtx, ((PAGE_BG_QUADS + VTX_PAGE_QUEST_QUADS) * 4) * sizeof(Vtx)); + pauseCtx->questPageVtx = GRAPH_ALLOC(gfxCtx, ((PAGE_BG_QUADS + VTX_PAGE_QUEST_QUADS) * 4) * sizeof(Vtx)); KaleidoScope_SetPageVertices(play, pauseCtx->questPageVtx, VTX_PAGE_QUEST, VTX_PAGE_QUEST_QUADS); - pauseCtx->cursorVtx = Graph_Alloc(gfxCtx, (PAUSE_QUAD_CURSOR_MAX * 4) * sizeof(Vtx)); + pauseCtx->cursorVtx = GRAPH_ALLOC(gfxCtx, (PAUSE_QUAD_CURSOR_MAX * 4) * sizeof(Vtx)); for (i = 0; i < (PAUSE_QUAD_CURSOR_MAX * 4); i++) { pauseCtx->cursorVtx[i].v.ob[0] = pauseCtx->cursorVtx[i].v.ob[1] = pauseCtx->cursorVtx[i].v.ob[2] = 0; @@ -2801,7 +2801,7 @@ void KaleidoScope_SetVertices(PlayState* play, GraphicsContext* gfxCtx) { pauseCtx->cursorVtx[17].v.tc[0] = pauseCtx->cursorVtx[18].v.tc[1] = pauseCtx->cursorVtx[19].v.tc[0] = pauseCtx->cursorVtx[19].v.tc[1] = 32 * (1 << 5); - pauseCtx->itemVtx = Graph_Alloc(gfxCtx, (QUAD_ITEM_MAX * 4) * sizeof(Vtx)); + pauseCtx->itemVtx = GRAPH_ALLOC(gfxCtx, (QUAD_ITEM_MAX * 4) * sizeof(Vtx)); // QUAD_ITEM_GRID_FIRST..QUAD_ITEM_GRID_LAST @@ -2955,7 +2955,7 @@ void KaleidoScope_SetVertices(PlayState* play, GraphicsContext* gfxCtx) { } } - pauseCtx->equipVtx = Graph_Alloc(gfxCtx, (QUAD_EQUIP_MAX * 4) * sizeof(Vtx)); + pauseCtx->equipVtx = GRAPH_ALLOC(gfxCtx, (QUAD_EQUIP_MAX * 4) * sizeof(Vtx)); // QUAD_EQUIP_UPG_BULLETBAG_QUIVER, QUAD_EQUIP_SWORD_KOKIRI, QUAD_EQUIP_SWORD_MASTER, QUAD_EQUIP_SWORD_BIGGORON, // QUAD_EQUIP_UPG_BOMB_BAG, QUAD_EQUIP_SHIELD_DEKU, QUAD_EQUIP_SHIELD_HYLIAN, QUAD_EQUIP_SHIELD_MIRROR, @@ -3099,7 +3099,7 @@ void KaleidoScope_SetVertices(PlayState* play, GraphicsContext* gfxCtx) { k += 4; } - pauseCtx->questVtx = Graph_Alloc(gfxCtx, QUAD_QUEST_MAX * 4 * sizeof(Vtx)); + pauseCtx->questVtx = GRAPH_ALLOC(gfxCtx, QUAD_QUEST_MAX * 4 * sizeof(Vtx)); for (k = 0, j = 0; j < QUAD_QUEST_MAX; j++, k += 4) { quadWidth = sQuestQuadsSize[j]; @@ -3166,9 +3166,9 @@ void KaleidoScope_SetVertices(PlayState* play, GraphicsContext* gfxCtx) { pauseCtx->questVtx[k + 3].v.cn[3] = pauseCtx->alpha; } - pauseCtx->infoPanelVtx = Graph_Alloc(gfxCtx, 28 * sizeof(Vtx)); + pauseCtx->infoPanelVtx = GRAPH_ALLOC(gfxCtx, 28 * sizeof(Vtx)); - pauseCtx->promptPageVtx = Graph_Alloc(gfxCtx, ((PAGE_BG_QUADS + VTX_PAGE_PROMPT_QUADS) * 4) * sizeof(Vtx)); + pauseCtx->promptPageVtx = GRAPH_ALLOC(gfxCtx, ((PAGE_BG_QUADS + VTX_PAGE_PROMPT_QUADS) * 4) * sizeof(Vtx)); KaleidoScope_SetPageVertices(play, pauseCtx->promptPageVtx, VTX_PAGE_PROMPT, VTX_PAGE_PROMPT_QUADS); } @@ -3419,13 +3419,13 @@ void KaleidoScope_LoadDungeonMap(PlayState* play) { InterfaceContext* interfaceCtx = &play->interfaceCtx; s32 pad; - DmaMgr_RequestSyncDebug(interfaceCtx->mapSegment, - (uintptr_t)_map_48x85_staticSegmentRomStart + ((R_MAP_TEX_INDEX + 0) * MAP_48x85_TEX_SIZE), - MAP_48x85_TEX_SIZE, "../z_kaleido_scope_PAL.c", 3467); + DMA_REQUEST_SYNC(interfaceCtx->mapSegment, + (uintptr_t)_map_48x85_staticSegmentRomStart + ((R_MAP_TEX_INDEX + 0) * MAP_48x85_TEX_SIZE), + MAP_48x85_TEX_SIZE, "../z_kaleido_scope_PAL.c", 3467); - DmaMgr_RequestSyncDebug(interfaceCtx->mapSegment + ALIGN16(MAP_48x85_TEX_SIZE), - (uintptr_t)_map_48x85_staticSegmentRomStart + ((R_MAP_TEX_INDEX + 1) * MAP_48x85_TEX_SIZE), - MAP_48x85_TEX_SIZE, "../z_kaleido_scope_PAL.c", 3471); + DMA_REQUEST_SYNC(interfaceCtx->mapSegment + ALIGN16(MAP_48x85_TEX_SIZE), + (uintptr_t)_map_48x85_staticSegmentRomStart + ((R_MAP_TEX_INDEX + 1) * MAP_48x85_TEX_SIZE), + MAP_48x85_TEX_SIZE, "../z_kaleido_scope_PAL.c", 3471); } void KaleidoScope_UpdateDungeonMap(PlayState* play) { @@ -3533,8 +3533,8 @@ void KaleidoScope_Update(PlayState* play) { iconItemStaticSize = (uintptr_t)_icon_item_staticSegmentRomEnd - (uintptr_t)_icon_item_staticSegmentRomStart; osSyncPrintf("icon_item size0=%x\n", iconItemStaticSize); - DmaMgr_RequestSyncDebug(pauseCtx->iconItemSegment, (uintptr_t)_icon_item_staticSegmentRomStart, - iconItemStaticSize, "../z_kaleido_scope_PAL.c", 3662); + DMA_REQUEST_SYNC(pauseCtx->iconItemSegment, (uintptr_t)_icon_item_staticSegmentRomStart, iconItemStaticSize, + "../z_kaleido_scope_PAL.c", 3662); gSegments[8] = VIRTUAL_TO_PHYSICAL(pauseCtx->iconItemSegment); @@ -3549,8 +3549,8 @@ void KaleidoScope_Update(PlayState* play) { size = (uintptr_t)_icon_item_24_staticSegmentRomEnd - (uintptr_t)_icon_item_24_staticSegmentRomStart; osSyncPrintf("icon_item24 size=%x\n", size); - DmaMgr_RequestSyncDebug(pauseCtx->iconItem24Segment, (uintptr_t)_icon_item_24_staticSegmentRomStart, size, - "../z_kaleido_scope_PAL.c", 3675); + DMA_REQUEST_SYNC(pauseCtx->iconItem24Segment, (uintptr_t)_icon_item_24_staticSegmentRomStart, size, + "../z_kaleido_scope_PAL.c", 3675); pauseCtx->iconItemAltSegment = (void*)ALIGN16((uintptr_t)pauseCtx->iconItem24Segment + size); @@ -3578,9 +3578,8 @@ void KaleidoScope_Update(PlayState* play) { size2 = (uintptr_t)_icon_item_dungeon_staticSegmentRomEnd - (uintptr_t)_icon_item_dungeon_staticSegmentRomStart; osSyncPrintf("icon_item_dungeon dungeon-size2=%x\n", size2); - DmaMgr_RequestSyncDebug(pauseCtx->iconItemAltSegment, - (uintptr_t)_icon_item_dungeon_staticSegmentRomStart, size2, - "../z_kaleido_scope_PAL.c", 3712); + DMA_REQUEST_SYNC(pauseCtx->iconItemAltSegment, (uintptr_t)_icon_item_dungeon_staticSegmentRomStart, + size2, "../z_kaleido_scope_PAL.c", 3712); interfaceCtx->mapPalette[28] = 6; interfaceCtx->mapPalette[29] = 99; @@ -3593,9 +3592,8 @@ void KaleidoScope_Update(PlayState* play) { size2 = (uintptr_t)_icon_item_field_staticSegmentRomEnd - (uintptr_t)_icon_item_field_staticSegmentRomStart; osSyncPrintf("icon_item_field field-size2=%x\n", size2); - DmaMgr_RequestSyncDebug(pauseCtx->iconItemAltSegment, - (uintptr_t)_icon_item_field_staticSegmentRomStart, size2, - "../z_kaleido_scope_PAL.c", 3726); + DMA_REQUEST_SYNC(pauseCtx->iconItemAltSegment, (uintptr_t)_icon_item_field_staticSegmentRomStart, + size2, "../z_kaleido_scope_PAL.c", 3726); break; } @@ -3604,18 +3602,18 @@ void KaleidoScope_Update(PlayState* play) { if (gSaveContext.language == LANGUAGE_ENG) { size = (uintptr_t)_icon_item_nes_staticSegmentRomEnd - (uintptr_t)_icon_item_nes_staticSegmentRomStart; osSyncPrintf("icon_item_dungeon dungeon-size=%x\n", size); - DmaMgr_RequestSyncDebug(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_nes_staticSegmentRomStart, - size, "../z_kaleido_scope_PAL.c", 3739); + DMA_REQUEST_SYNC(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_nes_staticSegmentRomStart, size, + "../z_kaleido_scope_PAL.c", 3739); } else if (gSaveContext.language == LANGUAGE_GER) { size = (uintptr_t)_icon_item_ger_staticSegmentRomEnd - (uintptr_t)_icon_item_ger_staticSegmentRomStart; osSyncPrintf("icon_item_dungeon dungeon-size=%x\n", size); - DmaMgr_RequestSyncDebug(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_ger_staticSegmentRomStart, - size, "../z_kaleido_scope_PAL.c", 3746); + DMA_REQUEST_SYNC(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_ger_staticSegmentRomStart, size, + "../z_kaleido_scope_PAL.c", 3746); } else { size = (uintptr_t)_icon_item_fra_staticSegmentRomEnd - (uintptr_t)_icon_item_fra_staticSegmentRomStart; osSyncPrintf("icon_item_dungeon dungeon-size=%x\n", size); - DmaMgr_RequestSyncDebug(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_fra_staticSegmentRomStart, - size, "../z_kaleido_scope_PAL.c", 3753); + DMA_REQUEST_SYNC(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_fra_staticSegmentRomStart, size, + "../z_kaleido_scope_PAL.c", 3753); } pauseCtx->nameSegment = (void*)ALIGN16((uintptr_t)pauseCtx->iconItemLangSegment + size); @@ -3629,23 +3627,23 @@ void KaleidoScope_Update(PlayState* play) { if (((void)0, gSaveContext.worldMapArea) < WORLD_MAP_AREA_MAX) { if (gSaveContext.language == LANGUAGE_ENG) { - DmaMgr_RequestSyncDebug(pauseCtx->nameSegment + MAX(MAP_NAME_TEX1_SIZE, ITEM_NAME_TEX_SIZE), - (uintptr_t)_map_name_staticSegmentRomStart + - (((void)0, gSaveContext.worldMapArea) * MAP_NAME_TEX2_SIZE) + - 36 * MAP_NAME_TEX1_SIZE + 22 * LANGUAGE_ENG * MAP_NAME_TEX2_SIZE, - MAP_NAME_TEX2_SIZE, "../z_kaleido_scope_PAL.c", 3776); + DMA_REQUEST_SYNC(pauseCtx->nameSegment + MAX(MAP_NAME_TEX1_SIZE, ITEM_NAME_TEX_SIZE), + (uintptr_t)_map_name_staticSegmentRomStart + + (((void)0, gSaveContext.worldMapArea) * MAP_NAME_TEX2_SIZE) + + 36 * MAP_NAME_TEX1_SIZE + 22 * LANGUAGE_ENG * MAP_NAME_TEX2_SIZE, + MAP_NAME_TEX2_SIZE, "../z_kaleido_scope_PAL.c", 3776); } else if (gSaveContext.language == LANGUAGE_GER) { - DmaMgr_RequestSyncDebug(pauseCtx->nameSegment + MAX(MAP_NAME_TEX1_SIZE, ITEM_NAME_TEX_SIZE), - (uintptr_t)_map_name_staticSegmentRomStart + - (((void)0, gSaveContext.worldMapArea) * MAP_NAME_TEX2_SIZE) + - 36 * MAP_NAME_TEX1_SIZE + 22 * LANGUAGE_GER * MAP_NAME_TEX2_SIZE, - MAP_NAME_TEX2_SIZE, "../z_kaleido_scope_PAL.c", 3780); + DMA_REQUEST_SYNC(pauseCtx->nameSegment + MAX(MAP_NAME_TEX1_SIZE, ITEM_NAME_TEX_SIZE), + (uintptr_t)_map_name_staticSegmentRomStart + + (((void)0, gSaveContext.worldMapArea) * MAP_NAME_TEX2_SIZE) + + 36 * MAP_NAME_TEX1_SIZE + 22 * LANGUAGE_GER * MAP_NAME_TEX2_SIZE, + MAP_NAME_TEX2_SIZE, "../z_kaleido_scope_PAL.c", 3780); } else { - DmaMgr_RequestSyncDebug(pauseCtx->nameSegment + MAX(MAP_NAME_TEX1_SIZE, ITEM_NAME_TEX_SIZE), - (uintptr_t)_map_name_staticSegmentRomStart + - (((void)0, gSaveContext.worldMapArea) * MAP_NAME_TEX2_SIZE) + - 36 * MAP_NAME_TEX1_SIZE + 22 * LANGUAGE_FRA * MAP_NAME_TEX2_SIZE, - MAP_NAME_TEX2_SIZE, "../z_kaleido_scope_PAL.c", 3784); + DMA_REQUEST_SYNC(pauseCtx->nameSegment + MAX(MAP_NAME_TEX1_SIZE, ITEM_NAME_TEX_SIZE), + (uintptr_t)_map_name_staticSegmentRomStart + + (((void)0, gSaveContext.worldMapArea) * MAP_NAME_TEX2_SIZE) + + 36 * MAP_NAME_TEX1_SIZE + 22 * LANGUAGE_FRA * MAP_NAME_TEX2_SIZE, + MAP_NAME_TEX2_SIZE, "../z_kaleido_scope_PAL.c", 3784); } } @@ -4153,39 +4151,39 @@ void KaleidoScope_Update(PlayState* play) { iconItemStaticSize = (uintptr_t)_icon_item_staticSegmentRomEnd - (uintptr_t)_icon_item_staticSegmentRomStart; osSyncPrintf("icon_item size0=%x\n", iconItemStaticSize); - DmaMgr_RequestSyncDebug(pauseCtx->iconItemSegment, (uintptr_t)_icon_item_staticSegmentRomStart, - iconItemStaticSize, "../z_kaleido_scope_PAL.c", 4356); + DMA_REQUEST_SYNC(pauseCtx->iconItemSegment, (uintptr_t)_icon_item_staticSegmentRomStart, iconItemStaticSize, + "../z_kaleido_scope_PAL.c", 4356); pauseCtx->iconItem24Segment = (void*)ALIGN16((uintptr_t)pauseCtx->iconItemSegment + iconItemStaticSize); size = (uintptr_t)_icon_item_24_staticSegmentRomEnd - (uintptr_t)_icon_item_24_staticSegmentRomStart; osSyncPrintf("icon_item24 size=%x\n", size); - DmaMgr_RequestSyncDebug(pauseCtx->iconItem24Segment, (uintptr_t)_icon_item_24_staticSegmentRomStart, size, - "../z_kaleido_scope_PAL.c", 4363); + DMA_REQUEST_SYNC(pauseCtx->iconItem24Segment, (uintptr_t)_icon_item_24_staticSegmentRomStart, size, + "../z_kaleido_scope_PAL.c", 4363); pauseCtx->iconItemAltSegment = (void*)ALIGN16((uintptr_t)pauseCtx->iconItem24Segment + size); size2 = (uintptr_t)_icon_item_gameover_staticSegmentRomEnd - (uintptr_t)_icon_item_gameover_staticSegmentRomStart; osSyncPrintf("icon_item_dungeon gameover-size2=%x\n", size2); - DmaMgr_RequestSyncDebug(pauseCtx->iconItemAltSegment, (uintptr_t)_icon_item_gameover_staticSegmentRomStart, - size2, "../z_kaleido_scope_PAL.c", 4370); + DMA_REQUEST_SYNC(pauseCtx->iconItemAltSegment, (uintptr_t)_icon_item_gameover_staticSegmentRomStart, size2, + "../z_kaleido_scope_PAL.c", 4370); pauseCtx->iconItemLangSegment = (void*)ALIGN16((uintptr_t)pauseCtx->iconItemAltSegment + size2); if (gSaveContext.language == LANGUAGE_ENG) { size = (uintptr_t)_icon_item_nes_staticSegmentRomEnd - (uintptr_t)_icon_item_nes_staticSegmentRomStart; osSyncPrintf("icon_item_dungeon dungeon-size=%x\n", size); - DmaMgr_RequestSyncDebug(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_nes_staticSegmentRomStart, - size, "../z_kaleido_scope_PAL.c", 4379); + DMA_REQUEST_SYNC(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_nes_staticSegmentRomStart, size, + "../z_kaleido_scope_PAL.c", 4379); } else if (gSaveContext.language == LANGUAGE_GER) { size = (uintptr_t)_icon_item_ger_staticSegmentRomEnd - (uintptr_t)_icon_item_ger_staticSegmentRomStart; osSyncPrintf("icon_item_dungeon dungeon-size=%x\n", size); - DmaMgr_RequestSyncDebug(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_ger_staticSegmentRomStart, - size, "../z_kaleido_scope_PAL.c", 4386); + DMA_REQUEST_SYNC(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_ger_staticSegmentRomStart, size, + "../z_kaleido_scope_PAL.c", 4386); } else { size = (uintptr_t)_icon_item_fra_staticSegmentRomEnd - (uintptr_t)_icon_item_fra_staticSegmentRomStart; osSyncPrintf("icon_item_dungeon dungeon-size=%x\n", size); - DmaMgr_RequestSyncDebug(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_fra_staticSegmentRomStart, - size, "../z_kaleido_scope_PAL.c", 4393); + DMA_REQUEST_SYNC(pauseCtx->iconItemLangSegment, (uintptr_t)_icon_item_fra_staticSegmentRomStart, size, + "../z_kaleido_scope_PAL.c", 4393); } sColor82ABRed_D_8082AB8C = 255; diff --git a/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark.c b/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark.c index c98d21762f..44b6dc11e0 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark.c @@ -131,7 +131,7 @@ void PauseMapMark_DrawForDungeon(PlayState* play) { Matrix_Push(); Matrix_Translate(GREG(92) + markPoint->x, GREG(93) + markPoint->y, 0.0f, MTXMODE_APPLY); Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); - gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(play->state.gfxCtx, "../z_lmap_mark.c", 272), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_lmap_mark.c", 272), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); Matrix_Pop(); diff --git a/sym_info.py b/sym_info.py index 4fb7aa220d..9a279593db 100755 --- a/sym_info.py +++ b/sym_info.py @@ -17,7 +17,7 @@ def symInfoMain(): args = parser.parse_args() - BUILTMAP = Path(f"build") / f"z64.map" + BUILTMAP = Path("build") / "gc-eu-mq-dbg" / "z64.map" mapPath = BUILTMAP if args.use_expected: diff --git a/tools/ZAPD/.gitrepo b/tools/ZAPD/.gitrepo index 7255f43aa9..9010e72f76 100644 --- a/tools/ZAPD/.gitrepo +++ b/tools/ZAPD/.gitrepo @@ -6,7 +6,7 @@ [subrepo] remote = https://github.com/zeldaret/ZAPD.git branch = master - commit = 094e797349c86d0baef4a624962f4287aefdfef2 - parent = 503f6d86d5fca5bd234640ef9de597d413cb91f5 + commit = 2b6f459b9523603168b6869cf03057a0d68d5f89 + parent = 2ab90bc51788c6baac0a94c3acb256be5f39ca12 method = merge cmdver = 0.4.6 diff --git a/tools/ZAPD/ZAPD/GameConfig.cpp b/tools/ZAPD/ZAPD/GameConfig.cpp index a6e3bdba2f..7990a60863 100644 --- a/tools/ZAPD/ZAPD/GameConfig.cpp +++ b/tools/ZAPD/ZAPD/GameConfig.cpp @@ -214,6 +214,15 @@ void GameConfig::ConfigFunc_EnumData(const tinyxml2::XMLElement& element) else if (enumKey == "naviQuestHintType") enumData.naviQuestHintType[itemIndex] = itemID; + else if (enumKey == "ocarinaSongActionId") + enumData.ocarinaSongActionId[itemIndex] = itemID; + + else if (enumKey == "seqId") + enumData.seqId[itemIndex] = itemID; + + else if (enumKey == "playerCueId") + enumData.playerCueId[itemIndex] = itemID; + // MM else if (enumKey == "modifySeqType") enumData.modifySeqType[itemIndex] = itemID; diff --git a/tools/ZAPD/ZAPD/GameConfig.h b/tools/ZAPD/ZAPD/GameConfig.h index 0eb3f02029..838d2da6d0 100644 --- a/tools/ZAPD/ZAPD/GameConfig.h +++ b/tools/ZAPD/ZAPD/GameConfig.h @@ -31,10 +31,13 @@ public: std::map fadeOutSeqPlayer; std::map transitionType; std::map naviQuestHintType; + std::map ocarinaSongActionId; + std::map seqId; // OoT std::map textType; std::map destination; + std::map playerCueId; // MM std::map modifySeqType; diff --git a/tools/ZAPD/ZAPD/OtherStructs/CutsceneMM_Commands.cpp b/tools/ZAPD/ZAPD/OtherStructs/CutsceneMM_Commands.cpp index 85fce2215d..f18e313085 100644 --- a/tools/ZAPD/ZAPD/OtherStructs/CutsceneMM_Commands.cpp +++ b/tools/ZAPD/ZAPD/OtherStructs/CutsceneMM_Commands.cpp @@ -14,13 +14,13 @@ const std::unordered_map csComm {CutsceneMM_CommandType::CS_CMD_TRANSITION, {"CS_TRANSITION", "(%s, %i, %i)"}}, {CutsceneMM_CommandType::CS_CMD_MOTION_BLUR, {"CS_MOTION_BLUR", "(%s, %i, %i)"}}, {CutsceneMM_CommandType::CS_CMD_GIVE_TATL, {"CS_GIVE_TATL", "(%s, %i, %i)"}}, - {CutsceneMM_CommandType::CS_CMD_START_SEQ, {"CS_START_SEQ", "(0x%04X, %i, %i)"}}, + {CutsceneMM_CommandType::CS_CMD_START_SEQ, {"CS_START_SEQ", "(%s, %i, %i)"}}, {CutsceneMM_CommandType::CS_CMD_SFX_REVERB_INDEX_2, {"CS_SFX_REVERB_INDEX_2", "(0x%04X, %i, %i)"}}, {CutsceneMM_CommandType::CS_CMD_SFX_REVERB_INDEX_1, {"CS_SFX_REVERB_INDEX_1", "(0x%04X, %i, %i)"}}, {CutsceneMM_CommandType::CS_CMD_MODIFY_SEQ, {"CS_MODIFY_SEQ", "(%s, %i, %i)"}}, - {CutsceneMM_CommandType::CS_CMD_STOP_SEQ, {"CS_STOP_SEQ", "(0x%04X, %i, %i, %i)"}}, + {CutsceneMM_CommandType::CS_CMD_STOP_SEQ, {"CS_STOP_SEQ", "(%s, %i, %i, %i)"}}, {CutsceneMM_CommandType::CS_CMD_START_AMBIENCE, {"CS_START_AMBIENCE", "(0x%04X, %i, %i)"}}, {CutsceneMM_CommandType::CS_CMD_FADE_OUT_AMBIENCE, {"CS_FADE_OUT_AMBIENCE", "(0x%04X, %i, %i)"}}, @@ -41,6 +41,7 @@ std::string CutsceneMMSubCommandEntry_GenericCmd::GetBodySourceCode() const const auto& element = csCommandsDescMM.find(commandId); std::string entryFmt = "CS_UNK_DATA(0x%02X, %i, %i, %i)"; std::string type = ""; + bool isIndexInSeqId = enumData->seqId.find(base - 1) != enumData->seqId.end(); if (element != csCommandsDescMM.end()) { @@ -72,6 +73,11 @@ std::string CutsceneMMSubCommandEntry_GenericCmd::GetBodySourceCode() const enumData->chooseCreditsSceneType.find(base) != enumData->chooseCreditsSceneType.end()) type = enumData->chooseCreditsSceneType[base]; + else if ((commandId == CutsceneMM_CommandType::CS_CMD_START_SEQ || + commandId == CutsceneMM_CommandType::CS_CMD_STOP_SEQ) && + isIndexInSeqId) + type = enumData->seqId[base - 1]; + else if (commandId == CutsceneMM_CommandType::CS_CMD_GIVE_TATL) type = base ? "true" : "false"; @@ -339,16 +345,18 @@ CutsceneMMSubCommandEntry_Text::CutsceneMMSubCommandEntry_Text(const std::vector std::string CutsceneMMSubCommandEntry_Text::GetBodySourceCode() const { + EnumData* enumData = &Globals::Instance->cfg.enumData; + if (type == 0xFFFF) { return StringHelper::Sprintf("CS_TEXT_NONE(%i, %i)", startFrame, endFrame); } - if (type == 2) + if (type == 2 && + enumData->ocarinaSongActionId.find(base) != enumData->ocarinaSongActionId.end()) { - // TODO: set the enum name when it will be documented - // (https://github.com/Decompollaborate/mm/blob/3e1c568c084671c17836ced904714ea49d989621/include/z64ocarina.h#L35-L118) - return StringHelper::Sprintf("CS_TEXT_OCARINA_ACTION(%i, %i, %i, 0x%X)", base, startFrame, + return StringHelper::Sprintf("CS_TEXT_OCARINA_ACTION(%s, %i, %i, 0x%X)", + enumData->ocarinaSongActionId[base].c_str(), startFrame, endFrame, textId1); } @@ -425,23 +433,24 @@ CutsceneMMSubCommandEntry_ActorCue::CutsceneMMSubCommandEntry_ActorCue( std::string CutsceneMMSubCommandEntry_ActorCue::GetBodySourceCode() const { - std::string result; + EnumData* enumData = &Globals::Instance->cfg.enumData; if (static_cast(commandID) == CutsceneMM_CommandType::CS_CMD_PLAYER_CUE) { - result = "CS_PLAYER_CUE"; + return StringHelper::Sprintf("CS_PLAYER_CUE(%s, %i, %i, 0x%04X, 0x%04X, 0x%04X, %i, %i, " + "%i, %i, %i, %i, %.8ef, %.8ef, %.8ef)", + enumData->playerCueId[base].c_str(), startFrame, endFrame, + rotX, rotY, rotZ, startPosX, startPosY, startPosZ, endPosX, + endPosY, endPosZ, normalX, normalY, normalZ); } else { - result = "CS_ACTOR_CUE"; + return StringHelper::Sprintf("CS_ACTOR_CUE(%i, %i, %i, 0x%04X, 0x%04X, 0x%04X, %i, %i, " + "%i, %i, %i, %i, %.8ef, %.8ef, %.8ef)", + base, startFrame, endFrame, rotX, rotY, rotZ, startPosX, + startPosY, startPosZ, endPosX, endPosY, endPosZ, normalX, + normalY, normalZ); } - - result += - StringHelper::Sprintf("(%i, %i, %i, 0x%04X, 0x%04X, 0x%04X, %i, %i, " - "%i, %i, %i, %i, %.8ef, %.8ef, %.8ef)", - base, startFrame, endFrame, rotX, rotY, rotZ, startPosX, startPosY, - startPosZ, endPosX, endPosY, endPosZ, normalX, normalY, normalZ); - return result; } size_t CutsceneMMSubCommandEntry_ActorCue::GetRawSize() const diff --git a/tools/ZAPD/ZAPD/OtherStructs/CutsceneOoT_Commands.cpp b/tools/ZAPD/ZAPD/OtherStructs/CutsceneOoT_Commands.cpp index e38bfb6e5d..8c530f796e 100644 --- a/tools/ZAPD/ZAPD/OtherStructs/CutsceneOoT_Commands.cpp +++ b/tools/ZAPD/ZAPD/OtherStructs/CutsceneOoT_Commands.cpp @@ -15,9 +15,9 @@ const std::unordered_map csCom {CutsceneOoT_CommandType::CS_CMD_LIGHT_SETTING, {"CS_LIGHT_SETTING", "(0x%02X, %i, %i, %i, %i, %i, %i, %i, %i, %i, %i)"}}, {CutsceneOoT_CommandType::CS_CMD_START_SEQ, - {"CS_START_SEQ", "(%i, %i, %i, %i, %i, %i, %i, %i, %i, %i, %i)"}}, + {"CS_START_SEQ", "(%s, %i, %i, %i, %i, %i, %i, %i, %i, %i, %i)"}}, {CutsceneOoT_CommandType::CS_CMD_STOP_SEQ, - {"CS_STOP_SEQ", "(%i, %i, %i, %i, %i, %i, %i, %i, %i, %i, %i)"}}, + {"CS_STOP_SEQ", "(%s, %i, %i, %i, %i, %i, %i, %i, %i, %i, %i)"}}, {CutsceneOoT_CommandType::CS_CMD_FADE_OUT_SEQ, {"CS_FADE_OUT_SEQ", "(%s, %i, %i, %i, %i, %i, %i, %i, %i, %i, %i)"}}, }; @@ -51,6 +51,7 @@ std::string CutsceneOoTSubCommandEntry_GenericCmd::GetBodySourceCode() const bool isIndexInMisc = enumData->miscType.find(base) != enumData->miscType.end(); bool isIndexInFade = enumData->fadeOutSeqPlayer.find(base) != enumData->fadeOutSeqPlayer.end(); + bool isIndexInSeqId = enumData->seqId.find(base - 1) != enumData->seqId.end(); std::string entryFmt = element->second.cmdMacro; std::string firstArg; entryFmt += element->second.args; @@ -59,14 +60,15 @@ std::string CutsceneOoTSubCommandEntry_GenericCmd::GetBodySourceCode() const firstArg = enumData->miscType[base]; else if (commandId == CutsceneOoT_CommandType::CS_CMD_FADE_OUT_SEQ && isIndexInFade) firstArg = enumData->fadeOutSeqPlayer[base]; + else if (commandId == CutsceneOoT_CommandType::CS_CMD_START_SEQ && isIndexInSeqId) + firstArg = enumData->seqId[base - 1]; + else if (commandId == CutsceneOoT_CommandType::CS_CMD_STOP_SEQ && isIndexInSeqId) + firstArg = enumData->seqId[base - 1]; else { - bool baseOne = (commandId == CutsceneOoT_CommandType::CS_CMD_LIGHT_SETTING || - commandId == CutsceneOoT_CommandType::CS_CMD_START_SEQ || - commandId == CutsceneOoT_CommandType::CS_CMD_STOP_SEQ); - return StringHelper::Sprintf(entryFmt.c_str(), baseOne ? base - 1 : base, startFrame, - endFrame, pad, unused1, unused2, unused3, unused4, unused5, - unused6, unused7, unused8, unused9, unused10); + return StringHelper::Sprintf(entryFmt.c_str(), base - 1, startFrame, endFrame, pad, + unused1, unused2, unused3, unused4, unused5, unused6, + unused7, unused8, unused9, unused10); } return StringHelper::Sprintf(entryFmt.c_str(), firstArg.c_str(), startFrame, endFrame, pad, unused1, unused2, unused3, unused4, unused5, unused6, unused7, @@ -270,9 +272,11 @@ std::string CutsceneOoTSubCommandEntry_Text::GetBodySourceCode() const { return StringHelper::Sprintf("CS_TEXT_NONE(%i, %i)", startFrame, endFrame); } - if (type == 2) + if (type == 2 && + enumData->ocarinaSongActionId.find(base) != enumData->ocarinaSongActionId.end()) { - return StringHelper::Sprintf("CS_TEXT_OCARINA_ACTION(%i, %i, %i, 0x%X)", base, startFrame, + return StringHelper::Sprintf("CS_TEXT_OCARINA_ACTION(%s, %i, %i, 0x%X)", + enumData->ocarinaSongActionId[base].c_str(), startFrame, endFrame, textId1); } @@ -333,24 +337,25 @@ CutsceneOoTSubCommandEntry_ActorCue::CutsceneOoTSubCommandEntry_ActorCue( std::string CutsceneOoTSubCommandEntry_ActorCue::GetBodySourceCode() const { - std::string result; + EnumData* enumData = &Globals::Instance->cfg.enumData; if (static_cast(commandID) == CutsceneOoT_CommandType::CS_CMD_PLAYER_CUE) { - result = "CS_PLAYER_CUE"; + return StringHelper::Sprintf("CS_PLAYER_CUE(%s, %i, %i, 0x%04X, 0x%04X, 0x%04X, %i, %i, " + "%i, %i, %i, %i, %.8ef, %.8ef, %.8ef)", + enumData->playerCueId[base].c_str(), startFrame, endFrame, + rotX, rotY, rotZ, startPosX, startPosY, startPosZ, endPosX, + endPosY, endPosZ, normalX, normalY, normalZ); } else { - result = "CS_ACTOR_CUE"; + return StringHelper::Sprintf("CS_ACTOR_CUE(%i, %i, %i, 0x%04X, 0x%04X, 0x%04X, %i, %i, " + "%i, %i, %i, %i, %.8ef, %.8ef, %.8ef)", + base, startFrame, endFrame, rotX, rotY, rotZ, startPosX, + startPosY, startPosZ, endPosX, endPosY, endPosZ, normalX, + normalY, normalZ); } - - result += - StringHelper::Sprintf("(%i, %i, %i, 0x%04X, 0x%04X, 0x%04X, %i, %i, " - "%i, %i, %i, %i, %.8ef, %.8ef, %.8ef)", - base, startFrame, endFrame, rotX, rotY, rotZ, startPosX, startPosY, - startPosZ, endPosX, endPosY, endPosZ, normalX, normalY, normalZ); - return result; } size_t CutsceneOoTSubCommandEntry_ActorCue::GetRawSize() const diff --git a/tools/ZAPD/ZAPD/OtherStructs/SkinLimbStructs.h b/tools/ZAPD/ZAPD/OtherStructs/SkinLimbStructs.h index 5181bc5d85..f338ebeddc 100644 --- a/tools/ZAPD/ZAPD/OtherStructs/SkinLimbStructs.h +++ b/tools/ZAPD/ZAPD/OtherStructs/SkinLimbStructs.h @@ -8,9 +8,9 @@ enum class ZLimbSkinType { - SkinType_Null, // SkinLimb segment = NULL - SkinType_Animated = 4, // SkinLimb segment = SkinAnimatedLimbData* - SkinType_Normal = 11, // SkinLimb segment = Gfx* + SkinType_Null, // SkinLimb segment = NULL + SkinType_Animated = 4, // SkinLimb segment = SkinAnimatedLimbData* + SkinType_Normal = 11, // SkinLimb segment = Gfx* }; class SkinVertex : public ZResource @@ -75,11 +75,11 @@ public: size_t GetRawDataSize() const override; protected: - uint16_t vtxCount; // Number of vertices in this modif entry - uint16_t transformCount; // Length of limbTransformations - uint16_t unk_4; // 0 or 1, used as an index for limbTransformations - segptr_t skinVertices; // SkinVertex* - segptr_t limbTransformations; // SkinTransformation* + uint16_t vtxCount; // Number of vertices in this modif entry + uint16_t transformCount; // Length of limbTransformations + uint16_t unk_4; // 0 or 1, used as an index for limbTransformations + segptr_t skinVertices; // SkinVertex* + segptr_t limbTransformations; // SkinTransformation* std::vector skinVertices_arr; std::vector limbTransformations_arr; @@ -102,9 +102,9 @@ public: protected: uint16_t totalVtxCount; - uint16_t limbModifCount; // Length of limbModifications - segptr_t limbModifications; // SkinLimbModif* - segptr_t dlist; // Gfx* + uint16_t limbModifCount; // Length of limbModifications + segptr_t limbModifications; // SkinLimbModif* + segptr_t dlist; // Gfx* std::vector limbModifications_arr; // ZDisplayList* unk_8_dlist = nullptr; diff --git a/tools/ZAPDConfigs/MqDbg/EnumData.xml b/tools/ZAPDConfigs/MqDbg/EnumData.xml index 53e5f9aeac..4b86308b63 100644 --- a/tools/ZAPDConfigs/MqDbg/EnumData.xml +++ b/tools/ZAPDConfigs/MqDbg/EnumData.xml @@ -1,5 +1,25 @@ + + @@ -131,6 +151,7 @@ + @@ -169,6 +190,7 @@ + @@ -176,10 +198,12 @@ + + @@ -195,6 +219,7 @@ + @@ -317,11 +342,13 @@ + + @@ -401,16 +428,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - diff --git a/tools/asmsplitter/asmsplitter.py b/tools/asmsplitter/asmsplitter.py deleted file mode 100644 index 39a88225f9..0000000000 --- a/tools/asmsplitter/asmsplitter.py +++ /dev/null @@ -1,69 +0,0 @@ -import os - -class FileEntry: - def __init__(self, nFuncName): - self.funcName = nFuncName - self.lines = list() - -def ReadAllLines(filename): - with open(filename) as f: - lines = f.read().splitlines() - - return lines; - -def WriteAllLines(filename, lines): - with open(filename, 'w') as f: - for item in lines: - f.write("%s\n" % item) - - return lines; - -if not os.path.exists("asm"): - os.makedirs("asm") - -if not os.path.exists("c"): - os.makedirs("c") - -dirs = os.listdir("asm") - -for directory in dirs: - if (os.path.isdir("asm//" + directory)): - continue - - print("Processing asm//" + directory) - - folderName = os.path.splitext(directory)[0] - lines = ReadAllLines("asm//" + directory) - functions = list() - currentFunction = None - - for line in lines: - if (line.startswith("glabel")): - if (currentFunction != None): - functions.insert(len(functions), currentFunction) - - currentFunction = FileEntry(line.split("glabel ")[1]) - - if (currentFunction != None): - currentFunction.lines.insert(len(currentFunction.lines), line) - - if (currentFunction != None): - functions.insert(len(functions), currentFunction) - - if not os.path.exists("asm//" + folderName): - os.makedirs("asm//" + folderName) - - for func in functions: - WriteAllLines("asm//" + folderName + "//" + func.funcName + ".s", func.lines) - - cLines = list() - - cLines.insert(len(cLines), "#include ") - cLines.insert(len(cLines), "#include \n") - - for func in functions: - cLines.insert(len(cLines), "#pragma GLOBAL_ASM(\"asm/non_matchings/code/" + folderName + "/" + func.funcName + ".s\")\n") - - WriteAllLines("c//" + folderName + ".c", cLines) - -print("Done!") diff --git a/tools/assist.py b/tools/assist.py index 587cd5e1fc..8c8c877453 100755 --- a/tools/assist.py +++ b/tools/assist.py @@ -10,7 +10,7 @@ gAddressWidth = 18 # if your ld >= 2.40 change this to 10 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/" +build_dir = root_dir + "build/gc-eu-mq-dbg/" def read_rom(): with open("baserom.z64", "rb") as f: diff --git a/tools/bootstrap_actors.py b/tools/bootstrap_actors.py deleted file mode 100644 index 697d03efcd..0000000000 --- a/tools/bootstrap_actors.py +++ /dev/null @@ -1,218 +0,0 @@ -#!/usr/bin/python3 - -import os -import sys -import re -from disassemble import get_z_name - -script_dir = os.path.dirname(os.path.realpath(__file__)) -root_dir = script_dir + "/../" -data_dir = root_dir + "data/overlays/actors" -asm_dir = root_dir + "asm/non_matchings/overlays/actors" -src_dir = root_dir + "src/overlays/actors" -include_dir = root_dir + "include" -indent = " " - -to_rename = [] - -with open(os.path.join(include_dir, "z64actor.h")) as f: - z64actor_text = f.read() - -with open(os.path.join(include_dir, "z64object.h")) as f: - z64object_text = f.read() - - -def get_actor_id_name(actor_id): - matches = re.findall(actor_id + " .*\n", z64actor_text) - if len(matches) == 0: - return "0x" + actor_id - match = matches[-1] - match = match.replace(",", "").strip().split(" ")[-1] - return match - - -def get_actor_type_name(actor_type): - matches = re.findall(actor_type + " .*\n", z64actor_text) - for m in matches: - if "ACTORCAT" in m: - match = m.replace(",", "").strip().split(" ")[-1] - return match - return "0x" + actor_type - - -def get_object_id_name(object_id): - matches = re.findall(object_id + " .*\n", z64object_text) - if len(matches) == 0: - return "0x" + object_id - match = matches[-1] - match = match.replace(",", "").strip().split(" ")[-1] - return match - - -def create_struct(name, size): - ret = "typedef struct\n{\n" + indent + "/* 0x0000 */ Actor actor;\n" - leftover = int(size, 16) - int("0x14C", 16) - if leftover > 0: - ret += indent + "/* 0x014C */ char unk_14C[0x" + hex(leftover).upper()[2:] + "];\n" - ret += "} " + name + "; // size = 0x" + size + "\n" - return ret - - -def rename(): - # Filenames first - for root, dirs, files in os.walk(root_dir): - for file in files: - for elem in to_rename: - if elem[0] in file: - new_file = file.replace(elem[0], elem[1]) - file_path = os.path.join(root, file) - new_file_path = os.path.join(root, new_file) - os.rename(file_path, new_file_path) - - # File contents - for root, dirs, files in os.walk(root_dir): - for file in files: - if file.endswith(".c") or file.endswith(".s"): - file_path = os.path.join(root, file) - with open(file_path) as f: - file_text = f.read() - new_file_text = file_text - for elem in to_rename: - # if "func_" in elem[0]: - # new_file_text = new_file_text.replace("glabel " + elem[0], elem[1] + ":") - new_file_text = new_file_text.replace(elem[0], elem[1]) - if new_file_text != file_text: - with open(file_path, "w", newline="\n") as f: - f.write(new_file_text) - - -def bootstrap(ovl_path, ovl_text): - path_split = ovl_path.split(os.path.sep) - z_name = path_split[-1][:-2] - ovl_name = path_split[-2] - init_vars_name = ovl_name[4:] + "_InitVars" - - with open(os.path.join(data_dir, z_name + ".data.s")) as f: - data_text = f.read() - - pattern = re.compile("glabel D_........\n .word 0x........, 0x........, 0x........, 0x........\n(\.word func_........\n|\.word 0x00000000\n|\.word Actor_Noop\n){4}") - init_data = pattern.search(data_text) - if init_data is None or len(init_data.regs) == 0: - return "" - init_data = data_text[init_data.regs[0][0]:init_data.regs[0][1]] - - lines = init_data.split("\n") - - init_var_label = lines[0][7:] - init_func = lines[2][6:] - destroy_func = lines[3][6:] - update_func = lines[4][6:] - draw_func = lines[5][6:] - - ovl_shortened = ovl_name.replace("ovl", "").replace("_", "") - init_func_name = ovl_shortened + "_Init" - destroy_func_name = ovl_shortened + "_Destroy" - update_func_name = ovl_shortened + "_Update" - draw_func_name = ovl_shortened + "_Draw" - - to_rename.append((init_var_label, init_vars_name)) - if init_func != "0x00000000" and init_func != "Actor_Noop": - to_rename.append((init_func, init_func_name)) - if destroy_func != "0x00000000" and destroy_func != "Actor_Noop": - to_rename.append((destroy_func, destroy_func_name)) - if update_func != "0x00000000" and update_func != "Actor_Noop": - to_rename.append((update_func, update_func_name)) - if draw_func != "0x00000000" and draw_func != "Actor_Noop": - to_rename.append((draw_func, draw_func_name)) - - init_var_data = lines[1] - init_data = init_var_data[7:53].replace("0x", "").split(", ") - actor_id = init_data[0][0:4] - actor_type = init_data[0][4:6] - room = init_data[0][6:8] - flags = init_data[1] - object_id = init_data[2][0:4] - struct_size = init_data[3][4:8] - - actor_id_name = get_actor_id_name(actor_id) - actor_type_name = get_actor_type_name(actor_type) - object_id_name = get_object_id_name(object_id) - - struct_name = ovl_shortened - - struct_text = create_struct(struct_name, struct_size) - - defines = "#define ROOM 0x" + room + "\n#define FLAGS 0x" + flags + "\n" - - decs = "" - if init_func != "0x00000000" and init_func != "Actor_Noop": - decs += "void " + init_func_name + "(" + struct_name + "* this, PlayState* play);\n" - if destroy_func != "0x00000000" and destroy_func != "Actor_Noop": - decs += "void " + destroy_func_name + "(" + struct_name + "* this, PlayState* play);\n" - if update_func != "0x00000000" and update_func != "Actor_Noop": - decs += "void " + update_func_name + "(" + struct_name + "* this, PlayState* play);\n" - if draw_func != "0x00000000" and draw_func != "Actor_Noop": - decs += "void " + draw_func_name + "(" + struct_name + "* this, PlayState* play);\n" - - init_vars = "ActorInit " + init_vars_name + " =\n{\n" - init_vars += indent + actor_id_name + ",\n" - init_vars += indent + actor_type_name + ",\n" - init_vars += indent + "ROOM,\n" + indent + "FLAGS,\n" - init_vars += indent + object_id_name + ",\n" - init_vars += indent + "sizeof(" + struct_name + "),\n" - - if init_func == "0x00000000": - init_vars += indent + "NULL,\n" - elif init_func == "Actor_Noop": - init_vars += indent + "(ActorFunc)Actor_Noop,\n" - else: - init_vars += indent + "(ActorFunc)" + init_func_name + ",\n" - - if destroy_func == "0x00000000": - init_vars += indent + "NULL,\n" - elif destroy_func == "Actor_Noop": - init_vars += indent + "(ActorFunc)Actor_Noop,\n" - else: - init_vars += indent + "(ActorFunc)" + destroy_func_name + ",\n" - - if update_func == "0x00000000": - init_vars += indent + "NULL,\n" - elif update_func == "Actor_Noop": - init_vars += indent + "(ActorFunc)Actor_Noop,\n" - else: - init_vars += indent + "(ActorFunc)" + update_func_name + ",\n" - - if draw_func == "0x00000000": - init_vars += indent + "NULL,\n" - elif draw_func == "Actor_Noop": - init_vars += indent + "(ActorFunc)Actor_Noop,\n" - else: - init_vars += indent + "(ActorFunc)" + draw_func_name + ",\n" - - init_vars += "};\n" - - return struct_text + "\n" + defines + "\n" + decs + "\n/*\n" + init_vars + "*/" - - -def main(): - for root, dirs, files in os.walk(src_dir): - for file in files: - if file.endswith(".c"): - file_path = os.path.join(root, file) - with open(file_path) as f: - file_text = f.read() - brace_count = file_text.count("{") - if brace_count == 0: - bootstrap_text = bootstrap(file_path, file_text) - if bootstrap_text != "": - newline_spot = file_text.find("\n\n") + 1 - newfile_text = file_text[:newline_spot] + "\n" + bootstrap_text + file_text[newline_spot:] - newfile_text = newfile_text.replace("\n\n\n\n\n", "\n") - - with open(file_path, "w", newline="\n") as f: - f.write(newfile_text) - else: - dog = 5 - rename() - -main() diff --git a/tools/bootstrap_fx.py b/tools/bootstrap_fx.py deleted file mode 100755 index 4f39262718..0000000000 --- a/tools/bootstrap_fx.py +++ /dev/null @@ -1,196 +0,0 @@ -#!/usr/bin/python3 - -import os -import sys -import re - -script_dir = os.path.dirname(os.path.realpath(__file__)) -root_dir = script_dir + "/../" -data_dir = root_dir + "data/overlays/effects" -asm_dir = root_dir + "asm/non_matchings/overlays/effects" -src_dir = root_dir + "src/overlays/effects" -include_dir = root_dir + "include" -indent = " " - -effect_enum = [ - "EFFECT_SS_DUST", - "EFFECT_SS_KIRAKIRA", - "EFFECT_SS_BOMB", - "EFFECT_SS_BOMB2", - "EFFECT_SS_BLAST", - "EFFECT_SS_G_SPK", - "EFFECT_SS_D_FIRE", - "EFFECT_SS_BUBBLE", - "EFFECT_SS_UNSET", - "EFFECT_SS_G_RIPPLE", - "EFFECT_SS_G_SPLASH", - "EFFECT_SS_G_MAGMA", - "EFFECT_SS_G_FIRE", - "EFFECT_SS_LIGHTNING", - "EFFECT_SS_DT_BUBBLE", - "EFFECT_SS_HAHEN", - "EFFECT_SS_STICK", - "EFFECT_SS_SIBUKI", - "EFFECT_SS_SIBUKI2", - "EFFECT_SS_G_MAGMA2", - "EFFECT_SS_STONE1", - "EFFECT_SS_HITMARK", - "EFFECT_SS_FHG_FLASH", - "EFFECT_SS_K_FIRE", - "EFFECT_SS_SOLDER_SRCH_BALL", - "EFFECT_SS_KAKERA", - "EFFECT_SS_ICE_PIECE", - "EFFECT_SS_EN_ICE", - "EFFECT_SS_FIRE_TAIL", - "EFFECT_SS_EN_FIRE", - "EFFECT_SS_EXTRA", - "EFFECT_SS_FCIRCLE", - "EFFECT_SS_DEAD_DB", - "EFFECT_SS_DEAD_DD", - "EFFECT_SS_DEAD_DS", - "EFFECT_SS_DEAD_SOUND", - "EFFECT_SS_ICE_SMOKE", -] - -to_rename = [] - - -def get_regs_enum(short_name): - upper_name = short_name.upper() - return \ - "typedef enum {\n" + \ - indent + "/* 0x00 */ SS_" + upper_name + "_0,\n" + \ - indent + "/* 0x01 */ SS_" + upper_name + "_1,\n" + \ - indent + "/* 0x02 */ SS_" + upper_name + "_2,\n" + \ - indent + "/* 0x03 */ SS_" + upper_name + "_3,\n" + \ - indent + "/* 0x04 */ SS_" + upper_name + "_4,\n" + \ - indent + "/* 0x05 */ SS_" + upper_name + "_5,\n" + \ - indent + "/* 0x06 */ SS_" + upper_name + "_6,\n" + \ - indent + "/* 0x07 */ SS_" + upper_name + "_7,\n" + \ - indent + "/* 0x08 */ SS_" + upper_name + "_8,\n" + \ - indent + "/* 0x09 */ SS_" + upper_name + "_9,\n" + \ - indent + "/* 0x0A */ SS_" + upper_name + "_A,\n" + \ - indent + "/* 0x0B */ SS_" + upper_name + "_B,\n" + \ - indent + "/* 0x0C */ SS_" + upper_name + "_C,\n" + \ - "} " + "EffectSs" + short_name + "Regs;\n" - -def bootstrap(ovl_path, ovl_text): - path_split = ovl_path.split(os.path.sep) - z_name = path_split[-1][:-2] - ovl_name = path_split[-2] - short_name = ovl_name[14:] - init_vars_name = ovl_name[4:] + "_InitVars" - - top_comment = "/*\n * File: " + z_name + ".c" \ - "\n * Overlay: " + ovl_name + "\n * Description:\n */\n" - header_include = "#include \"" + z_name + ".h\"\n" - regs_enum = get_regs_enum(short_name) - - with open(os.path.join(data_dir, z_name + ".data.s")) as f: - data_text = f.read() - - pattern = re.compile("glabel " + init_vars_name + - "\n.word 0x........\n\.word func_........\n") - init_data = pattern.search(data_text) - if init_data is None or len(init_data.regs) == 0: - return "" - init_data = data_text[init_data.regs[0][0]:init_data.regs[0][1]] - - lines = init_data.split("\n") - - effect_id = int(lines[1][6:], 16) - init_func = lines[2][6:] - - ovl_shortened = ovl_name.replace("ovl", "").replace("_", "") - init_func_name = ovl_shortened + "_Init" - - ovl_text = ovl_text.replace(init_func, init_func_name) - to_rename.append((init_func, init_func_name)) - - effect_id_name = effect_enum[effect_id] - - struct_text = "/*\nEffectSsInit " + init_vars_name + \ - " = {\n" + indent + effect_id_name + \ - ",\n" + indent + init_func_name + ",\n};\n*/" - - decs = "u32 " + init_func_name + \ - "(PlayState* play, u32 index, EffectSs* this, void* initParamsx);\n" - decs += "void " + \ - init_func_name[:-4] + \ - "Draw(PlayState* play, u32 index, EffectSs* this);\n" - decs += "void " + \ - init_func_name[:-4] + \ - "Update(PlayState* play, u32 index, EffectSs* this);\n" - - insert_pos = ovl_text.find("global.h>\n") - - return top_comment + "\n" + header_include + "\n" + regs_enum + "\n" + decs + "\n" + struct_text + "\n" + ovl_text[insert_pos + 10:] - - -def get_header(header_path): - path_split = header_path.split(os.path.sep) - ovl_name = path_split[-2] - short_name = ovl_name[14:] - init_vars_name = "".join(ovl_name[4:].split("_")) + "InitParams" - - ifndef = "#ifndef _Z_EFF_SS_" + short_name.upper() + "_H_\n" + \ - "#define _Z_EFF_SS_" + short_name.upper() + "_H_\n\n" - - includes = "#include \n#include \n\n" - - struct = "typedef struct {\n" + \ - indent + "/* 0x00 */ Vec3f pos;\n" + \ - indent + "/* 0x0C */ Vec3f velocity;\n" + \ - indent + "/* 0x18 */ Vec3f accel;\n" + \ - "} " + init_vars_name + "; // size = 0x\n\n#endif\n" - - return ifndef + includes + struct - -def rename(): - # Filenames first - for root, dirs, files in os.walk(root_dir): - for file in files: - for elem in to_rename: - if elem[0] in file: - new_file = file.replace(elem[0], elem[1]) - file_path = os.path.join(root, file) - new_file_path = os.path.join(root, new_file) - os.rename(file_path, new_file_path) - - # File contents - for root, dirs, files in os.walk(root_dir): - for file in files: - if file.endswith(".c") or file.endswith(".s"): - file_path = os.path.join(root, file) - with open(file_path) as f: - file_text = f.read() - new_file_text = file_text - for elem in to_rename: - # if "func_" in elem[0]: - # new_file_text = new_file_text.replace("glabel " + elem[0], elem[1] + ":") - new_file_text = new_file_text.replace(elem[0], elem[1]) - if new_file_text != file_text: - with open(file_path, "w", newline="\n") as f: - f.write(new_file_text) - -def main(): - for root, dirs, files in os.walk(src_dir): - for file in files: - if file.endswith(".c"): - file_path = os.path.join(root, file) - with open(file_path) as f: - file_text = f.read() - brace_count = file_text.count("{") - if brace_count == 0: - if "dead" in file_path: - dog = 5 - header_path = file_path[:-1] + "h" - c_text = bootstrap(file_path, file_text) - header_text = get_header(header_path) - with open(file_path, "w", newline="\n") as f: - f.write(c_text) - with open(header_path, "w", newline="\n") as f: - f.write(header_text) - rename() - -main() diff --git a/tools/bootstrap_overlay_decomp.py b/tools/bootstrap_overlay_decomp.py deleted file mode 100644 index e903d5688d..0000000000 --- a/tools/bootstrap_overlay_decomp.py +++ /dev/null @@ -1,114 +0,0 @@ -#!/usr/bin/python3 - -import re -import os -from disassemble import get_ovl_dir, get_z_name - -script_dir = os.path.dirname(os.path.realpath(__file__)) -root_dir = script_dir + "/../" -src_dir = root_dir + "src/overlays/" -asm_dir = root_dir + "asm/non_matchings/overlays/" - - -def get_overlays_to_bootstrap(): - non_decomped_ovls = [] - - # traverse root directory, and list directories as dirs and files as files - for root, dirs, files in os.walk(asm_dir): - for ovl_name in dirs: - if ovl_name.startswith("ovl_"): - non_decomped_ovls.append(ovl_name) - - for root, dirs, files in os.walk(src_dir): - for ovl_name in dirs: - if ovl_name in non_decomped_ovls: - non_decomped_ovls.remove(ovl_name) - - return non_decomped_ovls - - -def create_source_dir(overlay): - overlay_dir = get_ovl_dir(overlay) - full_dir = src_dir + overlay_dir - os.mkdir(full_dir) - c_name = get_z_name(overlay) + ".c" - s_name = get_z_name(overlay) + ".s" - - with open(full_dir + c_name, "w", newline="\n") as c_file: - pragma_line = "#pragma GLOBAL_ASM(\"asm/non_matchings/overlays/" + get_ovl_dir(overlay) + s_name + "\")\n" - c_file.write("#include \n#include \n\n") - c_file.write(pragma_line) - - with open(full_dir + "overlay.cfg", "w", newline="\n") as cfg_file: - cfg_file.write(overlay + "\n" + c_name) - - -def strip_header_from_s(overlay): - s_file_path = asm_dir + get_ovl_dir(overlay) + get_z_name(overlay) + ".s" - beginning_line = -1 - with open(s_file_path, "r") as s_file: - s_lines = s_file.readlines() - - for i in range(len(s_lines)): - if s_lines[i].startswith("glabel") or s_lines[i].startswith("func_"): - beginning_line = i - break - - if beginning_line > -1: - if beginning_line > 10: - for i in range(0, beginning_line): - if s_lines[i].startswith("/*"): - func_name = s_lines[i].split(" ")[2] - func_line = "glabel func_" + func_name + "\n" - s_lines.insert(i, func_line) - beginning_line = i - - for i in range(len(s_lines)): - if s_lines[i].startswith("func"): - s_lines[i] = "glabel " + s_lines[i] - s_lines[i] = s_lines[i].replace(":", "") - - with open(s_file_path, "w", newline="\n") as s_file: - s_file.writelines(s_lines[beginning_line:]) - - -def manage_overlays_mk(overlay): - with open(root_dir + "overlays.mk", "a", newline="\n") as overlays_file: - overlays_file.write(" src/overlays/" + get_ovl_dir(overlay) + " \\\n") - - with open(root_dir + "overlays_asm.mk", "r") as overlays_asm_file: - lines = overlays_asm_file.readlines() - to_remove = " asm/non_matchings/overlays/" + get_ovl_dir(overlay)[:-1] + " \\\n" - lines.remove(to_remove) - - with open(root_dir + "overlays_asm.mk", "w", newline="\n") as overlays_asm_file: - overlays_asm_file.writelines(lines) - - -def manage_spec(overlay): - with open(root_dir + "spec", "r") as spec_file: - spec_text = spec_file.read() - spec_text = spec_text.replace("asm/non_matchings/overlays/" + get_ovl_dir(overlay), "src/overlays/" - + get_ovl_dir(overlay)) - - with open(root_dir + "spec", "w", newline="\n") as spec_file: - spec_file.write(spec_text) - - -def main(): - num = 100 - i = 0 - overlays = get_overlays_to_bootstrap() - - for overlay in overlays: - print("Setting up " + overlay) - create_source_dir(overlay) - strip_header_from_s(overlay) - #manage_overlays_mk(overlay) - #manage_spec(overlay) - i += 1 - if i >= num: - break - - -main() diff --git a/tools/convert_chars.py b/tools/convert_chars.py index 3778165e50..261ed92399 100644 --- a/tools/convert_chars.py +++ b/tools/convert_chars.py @@ -2,7 +2,6 @@ import os import re -import sys script_dir = os.path.dirname(os.path.realpath(__file__)) root_dir = script_dir + "/../" diff --git a/tools/create_actor_headers.py b/tools/create_actor_headers.py deleted file mode 100644 index 87a7347eb9..0000000000 --- a/tools/create_actor_headers.py +++ /dev/null @@ -1,71 +0,0 @@ -#!/usr/bin/python3 - -import os -import sys -import re -from disassemble import get_z_name - -script_dir = os.path.dirname(os.path.realpath(__file__)) -root_dir = script_dir + "/../" -asm_dir = root_dir + "asm/non_matchings/overlays/actors" -src_dir = root_dir + "src/overlays/actors" -include_dir = root_dir + "include" -indent = " " - -includes = "#include \n#include \n\n" - - -def remove_struct(root, filename): - with open(os.path.join(root, filename)) as f: - c_text = f.read() - - struct_start = c_text.find("typedef") - struct_end = c_text.find("#define") - - struct = c_text[struct_start:struct_end] - - newfile_text = "#include \"" + filename[:-2] + ".h\"" + "\n\n" + c_text[struct_end:] - with open(os.path.join(root, filename), "w", newline="\n") as f: - f.write(newfile_text) - return struct - - -def handle_file(root, filename): - guard_name = "_" + filename[:-2].upper() + "_H_" - top_guard = "#ifndef " + guard_name + "\n#define " + guard_name + "\n\n" - header_text = top_guard - header_text += includes - - struct = remove_struct(root, filename) - header_text += struct - - u_split = filename[:-2].split("_") - init_vars_name = "" - for part in u_split[1:]: - init_vars_name += part[0].upper() - if len(part) > 1: - init_vars_name += part[1:] - init_vars_name += "_" - init_vars_name += "InitVars" - - header_text += "extern ActorInit " + init_vars_name + ";\n\n" - - header_text += "#endif\n" - - with open(os.path.join(root, filename[:-2] + ".h"), "w", newline="\n") as f: - f.write(header_text) - - -def main(): - for root, dirs, files in os.walk(src_dir): - for filename in files: - if filename.endswith(".c"): - file_path = os.path.join(root, filename) - with open(file_path) as f: - file_text = f.read() - brace_count = file_text.count("{") - if brace_count == 2: - handle_file(root, filename) - dog = 5 - -main() diff --git a/tools/decompile_data.py b/tools/decompile_data.py index 01b2e05197..9805cb888a 100755 --- a/tools/decompile_data.py +++ b/tools/decompile_data.py @@ -2,7 +2,6 @@ import os import re -import sys import struct script_dir = os.path.dirname(os.path.realpath(__file__)) diff --git a/tools/disasm_elf_msg.py b/tools/disasm_elf_msg.py index 9030cd2651..97297f7017 100644 --- a/tools/disasm_elf_msg.py +++ b/tools/disasm_elf_msg.py @@ -159,7 +159,7 @@ item_ids = { 0x99 : "ITEM_DEKU_STICK_UPGRADE_30", 0x9A : "ITEM_DEKU_NUT_UPGRADE_30", 0x9B : "ITEM_DEKU_NUT_UPGRADE_40", - 0xFC : "ITEM_LAST_USED", + 0xFC : "ITEM_SWORD_CS", 0xFE : "ITEM_NONE_FE", 0xFF : "ITEM_NONE", } diff --git a/tools/disassemble.py b/tools/disassemble.py deleted file mode 100644 index 1f544516c4..0000000000 --- a/tools/disassemble.py +++ /dev/null @@ -1,136 +0,0 @@ -#!/usr/bin/python3 - -import os -import re -import shutil -import subprocess - -atom_path = "/mnt/c/Users/Ethan/Documents/GitHub/MasterOcarina/Atom/bin/Release/netcoreapp3.0" -atom_cmd = "Atom df oot DBGMQ baserom.z64 --mips-to-c -f" -script_dir = os.path.dirname(os.path.realpath(__file__)) - - -def load_symbols(): - ret = {} - with open(script_dir + "/overlayhelpers/batchdisasm/symbols.txt") as f: - symbol_text = f.readlines() - for line in symbol_text: - if len(line.strip()) > 0: - line_split = line.split(" ") - ret[line_split[0]] = line_split[1] - return ret - - -symbols = load_symbols() - - -def get_overlays_to_disassemble(): - all_overlays = {} - - # traverse root directory, and list directories as dirs and files as files - for root, dirs, files in os.walk("baserom"): - for file in files: - if file.startswith("ovl_"): - all_overlays[file] = os.path.getsize(os.path.join(root, file)) - - non_disassembled_ovls = all_overlays.copy() - - for root, dirs, files in os.walk("asm/overlays"): - for ovl_name in dirs: - if ovl_name in non_disassembled_ovls: - non_disassembled_ovls.pop(ovl_name) - - for root, dirs, files in os.walk("src/overlays"): - for ovl_name in dirs: - if ovl_name in non_disassembled_ovls: - non_disassembled_ovls.pop(ovl_name) - - print("Found " + str(len(non_disassembled_ovls)) + " non-disassembled overlays out of " + str(len(all_overlays)) - + " total") - - return {k: v for k, v in sorted(non_disassembled_ovls.items(), key=lambda item: item[1])} - - -def disassemble(overlay): - args = atom_cmd.split(" ") - args.append(overlay) - # subprocess.run(args, cwd=atom_path, shell=True) - - with open(atom_path + "/O/DBGMQ/" + overlay + ".txt") as f: - return f.read() - - -def fix_symbols(assembly): - for symbol in symbols: - assembly = assembly.replace(symbol, symbols[symbol]) - return assembly - - -def get_ovl_dir(overlay): - actors_overrides = ['ovl_player_actor'] - - ovl_part = "/" + overlay + "/" - category = "actors" - - if overlay.startswith("ovl_Effect"): - category = "effects" - - if overlay[4:5].islower(): - category = "gamestates" - - if 'data' in overlay: - category = "data" - - if overlay in actors_overrides: - category = "actors" - - return category + ovl_part - - -def create_asm_dir(overlay, assembly): - asm_dir = "asm/non_matchings/overlays/" + get_ovl_dir(overlay) - shutil.rmtree(asm_dir) - os.mkdir(asm_dir) - with open(asm_dir + get_z_name(overlay) + ".s", "w", newline="\n") as f: - f.write(assembly) - - -def get_z_name(overlay): - # Annoying edge case - if overlay == 'ovl_Effect_Ss_Solder_Srch_Ball': - return 'z_eff_ss_solder_srch_ball' - if overlay == "ovl_player_actor": - return "z_player" - - ret = overlay.lower() - ret = "z_" + ret[4:] - return ret - - -def patch_spec(overlay): - with open("spec", "r+", newline="\n") as f: - spec = f.read() - spec = re.sub("build/baserom/" + overlay + ".o", - "build/asm/overlays/" + get_ovl_dir(overlay) + get_z_name(overlay) + ".o", - spec) - f.seek(0) - f.write(spec) - f.truncate() - - -def patch_overlays_asm_mk(overlay): - with open("overlays_asm.mk", "a", newline="\n") as f: - f.write(" asm/overlays/" + get_ovl_dir(overlay)[:-1] + " \\\n") - - -def main(): - print("Beginning disassembly in the order of filesize, ascending") - overlays = get_overlays_to_disassemble() - - for overlay in overlays: - print("\t" + overlay) - assembly = disassemble(overlay) - assembly = fix_symbols(assembly) - create_asm_dir(overlay, assembly) - patch_spec(overlay) - patch_overlays_asm_mk(overlay) diff --git a/tools/find_unused_asm.sh b/tools/find_unused_asm.sh deleted file mode 100755 index 9c483d0d04..0000000000 --- a/tools/find_unused_asm.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -shopt -s globstar - -ls asm/non_matchings/**/*.s > old_list.txt -grep GLOBAL_ASM -r src | cut -d '"' -f2 - > cur_list.txt - -grep -F "build/data" spec | cut -d '"' -f2 - > data_list.txt -grep -F "build/asm" spec | grep -v -E 'overlays' | cut -d '"' -f2 - >> data_list.txt - -ls data/**/*.s > old_data_list.txt -ls asm/*.s >> old_data_list.txt - -while read p; do - tmp=${p%.o}.s - echo ${tmp#build/} >> list.txt -done < data_list.txt - -comm -3 <(sort old_list.txt) <(sort cur_list.txt) > diff.txt -comm -3 <(sort old_data_list.txt) <(sort list.txt) >> diff.txt - -rm old_list.txt cur_list.txt old_data_list.txt data_list.txt list.txt - -if [ "$1" = "-d" ] -then - if [ -s diff.txt ] - then - rm $(cat diff.txt) - fi - rm diff.txt -else - if [ -s diff.txt ] - then - cat diff.txt - rm diff.txt - exit 55 - else - rm diff.txt - fi -fi diff --git a/tools/fix_data_stuff.py b/tools/fix_data_stuff.py deleted file mode 100644 index 17565e7cd6..0000000000 --- a/tools/fix_data_stuff.py +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/python3 - -import os -import sys -import re -from disassemble import get_z_name - -script_dir = os.path.dirname(os.path.realpath(__file__)) -root_dir = script_dir + "/../" -src_dir = root_dir + "src/overlays/" -asm_dir = root_dir + "asm/non_matchings/overlays/" - - -def handle_actor_line(match): - match = match.group() - base_portion = match[23:-4] - base_portion_split = base_portion.split("/") - if len(base_portion_split) < 3: - return match - - ret = match - base_name = "build/data/overlays/" + base_portion_split[1] + "/" + base_portion_split[3] - data_path = base_name + ".data.o" - rodata_path = base_name + ".rodata.o" - bss_path = base_name + ".bss.o" - reloc_path = base_name + ".reloc.o" - - if os.path.exists(root_dir + data_path): - ret += " include \"" + data_path + "\"\n" - - if os.path.exists(root_dir + rodata_path): - ret += " include \"" + rodata_path + "\"\n" - - if os.path.exists(root_dir + bss_path): - ret += " include \"" + bss_path + "\"\n" - - if os.path.exists(root_dir + reloc_path): - ret += " include \"" + reloc_path + "\"\n" - - return ret - - -def main(): - with open(root_dir + "spec") as spec_file: - spec_text = spec_file.read() - - spec_text_replaced = re.sub(".*ovl_.*\.o.*\n", handle_actor_line, spec_text) - - with open(root_dir + "spec", "w", newline="\n") as spec_file: - spec_file.write(spec_text_replaced) - - -main() diff --git a/tools/format_s_files.py b/tools/format_s_files.py deleted file mode 100644 index a0b7b6bf3d..0000000000 --- a/tools/format_s_files.py +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/bin/python3 - -import os -import sys -import re -from disassemble import get_z_name - -script_dir = os.path.dirname(os.path.realpath(__file__)) -root_dir = script_dir + "/../" -src_dir = root_dir + "src/overlays/" -asm_dir = root_dir + "asm/non_matchings/overlays/" - - -def remove_empty_lines_after_glabel(file_text): - file_lines = file_text.splitlines() - last_glabel = False - to_remove = [] - for i, line in enumerate(file_lines): - if "glabel" in line: - last_glabel = True - continue - if last_glabel and not line.strip(): - to_remove.append(i) - last_glabel = False - if len(to_remove) > 0: - for line_num in reversed(to_remove): - del file_lines[line_num] - file_text = "\n".join(file_lines) - return file_text - -def remove_balign_after_float(file_text): - file_lines = file_text.splitlines() - last_float = False - to_remove = [] - for i, line in enumerate(file_lines): - if ".float" in line: - last_float = True - continue - if last_float and line == " .balign 4": - to_remove.append(i) - last_float = False - if len(to_remove) > 0: - for line_num in reversed(to_remove): - del file_lines[line_num] - file_text = "\n".join(file_lines) - return file_text - - -def format_file(file_path): - with open(file_path) as f: - orig_file_text = f.read() - - file_text = orig_file_text - - # Condense 2+ empty lines to 1 - file_text = file_text.replace("\n\n\n+", "\n\n") - - # Remove empty lines after section declarations - file_text = file_text.replace(".rdata\n\n", ".rdata\n") - file_text = file_text.replace(".late_rodata\n\n", ".late_rodata\n") - file_text = file_text.replace(".text\n\n", ".text\n") - - # Remove dumb empty lines after glabel - file_text = remove_empty_lines_after_glabel(file_text) - - # Remove dumb balign 4 lines after float - file_text = remove_balign_after_float(file_text) - - # Make sure there's only one empty line at the end - file_text = file_text.rstrip("\n") + "\n" - - if file_text != orig_file_text: - with open(file_path, "w", newline="\n") as f: - f.write(file_text) - return True - return False - - -def main(): - for root, dirs, files in os.walk(asm_dir): - for f in files: - if f.endswith(".s"): - format_file(os.path.join(root, f)) - - -main() diff --git a/tools/get_actor_sizes.py b/tools/get_actor_sizes.py deleted file mode 100755 index 7d62387e10..0000000000 --- a/tools/get_actor_sizes.py +++ /dev/null @@ -1,203 +0,0 @@ -#!/usr/bin/python3 - -import os -#import pprint -import re -import argparse -import math - -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/ichaindis.py b/tools/ichaindis.py index e20fd6e5af..f19a15ddf3 100755 --- a/tools/ichaindis.py +++ b/tools/ichaindis.py @@ -5,7 +5,7 @@ import sys import struct import argparse import re -from overlayhelpers.filemap import FileResult, GetFromVRam, GetFromRom +from overlayhelpers.filemap import GetFromVRam ICHAIN_MACROS = [ 'ICHAIN_U8', diff --git a/tools/migrate-rodata.py b/tools/migrate-rodata.py deleted file mode 100644 index 0b5c9e2713..0000000000 --- a/tools/migrate-rodata.py +++ /dev/null @@ -1,296 +0,0 @@ -""" -Given a code file name (excluding the file extension, e.g. z_view) this script -will attempt to build rodata and late_rodata sections for all of its functions. - -Supports overlays and other files as long as the rodata file is formatted -correctly(see files in code for examples of properly formatted rodata sections) - -This supports automatically commenting or deleting the rodata file from the -spec and automatic deletion of the rodata file itself (only use if you are sure -it will build afterwards) - -Has trouble with rodata that goes unused, and .incbin placement -""" - -import re -import os -from os import system, listdir, remove, walk -from os.path import exists, isdir, sep - -# FUNCTIONS ----------------------------------------------------------------- - -""" -Extracts rodata symbols from asm -""" -def asm_syms(asm): - split = re.split("jtbl_|D_",asm) - return [s.partition(")")[0] for s in split[1:len(split)]] - -""" -Extracts rodata symbols from rodata -""" -def rodata_syms(rodata): - split = re.split("glabel jtbl_|glabel D_",rodata) - return [s.partition("\n")[0] for s in split[1:len(split)]] - -""" -Extracts the symbol from a single rodata block -""" -def rodata_sym(rodata_block): - return (re.split("glabel jtbl_|glabel D_",rodata_block)[1]).split("\n")[0] - -""" -Splits rodata into blocks -""" -def rodata_blocks(rodata): - split = rodata.split("glabel") - return ["glabel" + b for b in split[1:len(split)]] - -""" -Gets the block size -""" -def rodata_block_size(rodata): - split = rodata.split(" .") - elements = split[1:len(split)] - size = 0 - for e in elements: - element_type = e.split(" ")[0] - if element_type == "double": - size += 8 - if element_type == "float": - size += 4 - if element_type == "word": - size += 4 - if element_type == "incbin": - size += int(e.rpartition(", ")[2].split("\n")[0],16) - if element_type == "ascii": - size += len(e.split("\"")[1].split("\"")[0]) - if element_type == "asciz": - size += len(e.split("\"")[1].split("\"")[0]) - if element_type == "balign": - size += size % int(e.split(" ")[1]) - return size - -""" -Gets the text size -""" -def text_size(asm): - instructions = [l for l in asm.split("\n") if l.startswith("/* ")] - return 4*(len(instructions)-1) - -""" -Gets the rodata-to-text ratio -""" -def late_rodata_ratio(asm,late_rodata_blocks): - total_rodata_size = 0 - for b in late_rodata_blocks: - total_rodata_size += rodata_block_size(b) - return total_rodata_size/text_size(asm) - -""" -Accepts a single block of rodata and extracts the type -""" -def rodata_type(rodata_block): - first_split = re.split("\s+\.", rodata_block) - return first_split[1].split(" ")[0] - -""" -Checks if a block should go in .rdata or .late_rodata -""" -def is_rodata(r): - return (rodata_type(r)=="asciz" or rodata_type=="ascii") - -""" -For given asm and rodata files, build a rodata section for the asm file -""" -def build_rodata(asm, rodata): - contained_syms = [s for s in asm_syms(asm) if s in rodata_syms(rodata)] - contained_blocks = [b for b in rodata_blocks(rodata) if rodata_sym(b) in contained_syms] - # TODO include arrays in rodata_list - rodata_list = [r for r in contained_blocks if is_rodata(r)] - return_str = "" - if (len(rodata_list)!=0): - return_str += ".rdata\n" - for r in rodata_list: - return_str += r - late_rodata_list = [r for r in contained_blocks if r not in rodata_list] - if (len(late_rodata_list)!=0): - if late_rodata_ratio(asm,late_rodata_list) > (1/3): - top_sym = rodata_sym(late_rodata_list[0]) - if top_sym.endswith("0") or top_sym.endswith("8"): - return_str += ".late_rodata\n.late_rodata_alignment 8\n" - elif top_sym.endswith("4") or top_sym.endswith("C"): - return_str += ".late_rodata\n.late_rodata_alignment 4\n" - else: - return_str += ".late_rodata\n" - for r in late_rodata_list: - return_str += r - return None if return_str=="" else return_str + ("" if return_str.endswith("\n\n") else "\n") + ".text\n" - -""" -Gets all file paths contained in a given folder, does not enter subfolders -""" -def get_file_paths(folder_path): - return next(walk(folder_path),(None,None,[]))[2] - -""" -Given a path, reads the asm .s file into a single string -""" -def file_read(path): - with open(path, 'r', encoding="utf-8") as infile: - return infile.read() - -""" -Writes the rodata section to the start of the file specified by path -""" -def rodata_write(path, section): - with open(path, 'r+', encoding="utf-8", newline="\n") as outfile: - original = outfile.read() - outfile.seek(0,0) - outfile.write(str(section) + original) - -""" -Comments out the line in spec associated with the given filenames -""" -def modify_spec(filenames, identifier, delete): - lines = "" - with open("spec", 'r+', encoding="utf-8", newline="\n") as spec: - lines = spec.read().split("\n") - changed = False - files = filenames.split(",") - for filename in files: - eff_filename = filename.lower().replace("effect_", "eff_") - if identifier == "code" and " include \"build/data/" + filename + ".rodata.o\"" in lines: - e = lines.index(" include \"build/data/" + filename + ".rodata.o\"") - if delete: - del lines[e] - else: - lines[e] = " //include \"build/data/" + filename + ".rodata.o\"" - changed = True - elif " include \"build/data/overlays/" + identifier + "/z_" + eff_filename + ".rodata.o\"" in lines: - e = lines.index(" include \"build/data/overlays/" + identifier + "/z_" + eff_filename + ".rodata.o\"") - if delete: - del lines[e] - else: - lines[e] = " //include \"build/data/overlays/" + identifier + "/z_" + eff_filename + ".rodata.o\"" - changed = True - if changed: - modified = "\n".join(lines) - with open("spec", 'w', encoding="utf-8", newline="\n") as spec: - #spec.seek(0,0) - spec.write(modified) - -""" -Processes each individual file - asm\non_matchings\overlays\ - data\overlays\ - asm\non_matchings\code\ - data\code\ -""" -def process_file(filename, identifier, delete_rodata): - folder_path = "asm" + sep + "non_matchings" + sep + ("code" + sep if identifier=="code" else "overlays" + sep + identifier.lower() + sep + "ovl_") + filename + sep - rodata_path = "data" + sep + (sep if identifier=="code" else "overlays" + sep + identifier.lower() + sep + "z_") + filename.lower() + ".rodata.s" - if filename == "player": - folder_path = "asm" + sep + "non_matchings" + sep + "overlays" + sep + "actors" + sep + "ovl_player_actor" + sep - rodata_path = rodata_path.replace("effect_", "eff_") - print("ASM at: " + folder_path) - print("Data at: " + rodata_path) - if not exists(folder_path): - print("Aborting: ASM does not exist") - return - if not exists(rodata_path): - print("Aborting: Data does not exist") - return - files = [folder_path + f for f in get_file_paths(folder_path)] - for asm_file in files: - asm = file_read(asm_file) - print("Found asm file " + asm_file) - if ".rdata" in asm: - print("Skipping: it already has a rodata section") - continue - print("Processing asm file " + asm_file) - section = build_rodata(asm, file_read(rodata_path)) - if section is not None: - print("Writing asm file " + asm_file) - rodata_write(asm_file, section) - else: print("Skipping: no rodata to write") - print("Built rodata sections for " + identifier + " file " + filename) - if delete_rodata: - remove(rodata_path) - print("Deleted rodata at " + rodata_path) - -""" -Allows files to be provided as comma-separated filenames for batch migration -""" -def process_files(filenames, identifier, spechandle, delete_rodata): - if "," in filenames: - files = filenames.split(",") - for f in files: - process_file(f, identifier, delete_rodata) - else: - process_file(filenames, identifier, delete_rodata) - if spechandle.lower() == "delete": - modify_spec(filenames, identifier, True) - print("Deleted rodata for files in spec") - elif spechandle.lower() == "comment": - result = modify_spec(filenames, identifier, False) - if result: - print("Commented out rodata for files in spec") - -""" -Asks what to do about spec and rodata, converts 'all' to comma-separated filenames -""" -def check_spec_rodata(filenames, identifier): - spechandle = input("Delete, Comment or Leave spec? ") - delete_rodata = input("Delete rodata file(s)? (Y/N) ") - if filenames == "all" or "all|" in filenames: - to_remove_list = [] - if "all|" in filenames: - print("all| in filenames") - to_remove_list = filenames.split("|")[1] - basedir = "asm" + sep + "non_matchings" + sep + ("code" if identifier=="code" else "overlays" + sep + identifier.lower()) + sep - folder_names = [name.replace("ovl_","") for name in listdir(basedir) if isdir(basedir + name) and name not in to_remove_list] - filenames = ",".join(map(str, folder_names)) - print(filenames) - process_files(filenames, identifier, spechandle, delete_rodata == "Y") - -""" -Main execution -""" -def run(show_help): - if(show_help): - print("""Usage: Enter 'Code' or 'Overlay' and follow the instructions. -Batch migrate files by entering comma-separated filenames instead of a single filename. -Migrate all files by entering 'all' for filenames. Exclude files from all with all| followed by comma-separated filenames Use at your own risk. -Enter 'q' to the code or overlay question to quit.""") - code_or_overlay = input("Code or Overlay? ") - if(code_or_overlay == "q"): - return - if(code_or_overlay == "Code"): - filename = input("Enter the code file name(s) (excluding .c) or all: ") - check_spec_rodata(filename, "code") - elif(code_or_overlay == "Overlay"): - overlay_type = input("Actor, Effect or Gamestate? ") - if(overlay_type == "Actor"): - filename = input("Enter the actor name(s) (excluding ovl_ or z_, ex. obj_bombiwa) or all: ") - check_spec_rodata(filename, "actors") - elif(overlay_type == "Effect"): - filename = input("Enter the effect name(s) (excluding ovl_ or z_, ex. effect_ss_bomb) or all: ") - check_spec_rodata(filename, "effects") - elif(overlay_type == "Gamestate"): - filename = input("Enter the gamestate name(s) (excluding ovl_ or z_, ex. kaleido_scope) or all: ") - check_spec_rodata(filename, "gamestates") - run(True) - -# PROGRAM ------------------------------------------------------------------- - -run(False) -#bigs = ["Boss_Ganon", "Boss_Ganondrof","En_Wf", "Door_Warp1",] -#ovls = ["En_Elf"] -#effects = [x[0] for x in os.walk("src/overlays/effects")][1:] - -#for i, ovl in enumerate(effects): -# process_files(ovl.split("/")[-1][4:], "effects", "Delete", True) - # command = "echo >> src/overlays/effects/ovl_" + effects[i] + "/z_" + effects[i].lower() + ".c" - # os.system(command) # purpose of this is to "modify" each C file in order to prevent undefined symbol errors. - # # the new line will be removed by format.sh diff --git a/tools/overlayhelpers/colliderinit.py b/tools/overlayhelpers/colliderinit.py index da99e4e986..61fb42e7cd 100755 --- a/tools/overlayhelpers/colliderinit.py +++ b/tools/overlayhelpers/colliderinit.py @@ -3,7 +3,7 @@ import os import struct import argparse -from filemap import FileResult, GetFromVRam, GetFromRom +from filemap import GetFromVRam, GetFromRom T_DEFAULT = '' TType1 = 'Type1' @@ -244,7 +244,7 @@ def GetColliderStr(data, off, type): else: cBase[i] = '0x{0:02X}'.format(cBase[i]) - return cf[1].format(*cBase); + return cf[1].format(*cBase) def GetItems(data, off, count, structf, fmt, size): result = '' diff --git a/tools/overlayhelpers/damage_table.py b/tools/overlayhelpers/damage_table.py index 3dedb31545..47ee6d8fa6 100755 --- a/tools/overlayhelpers/damage_table.py +++ b/tools/overlayhelpers/damage_table.py @@ -2,7 +2,7 @@ import os import argparse -from filemap import FileResult, GetFromVRam, GetFromRom +from filemap import GetFromVRam, GetFromRom damage_types = [ 'Deku nut', diff --git a/tools/overlayhelpers/filemap.py b/tools/overlayhelpers/filemap.py index 58dd7e0e40..3bf4eb9b96 100644 --- a/tools/overlayhelpers/filemap.py +++ b/tools/overlayhelpers/filemap.py @@ -1,7 +1,6 @@ #!/usr/bin/env python3 import os -import struct import json table = None @@ -82,9 +81,9 @@ def CreateTable(): json.dump(dict, table) def AddressLookup(lookupTable, addr): - start = 0; - end = 0; - key = None; + start = 0 + end = 0 + key = None for k, v in lookupTable.items(): if addr >= k: diff --git a/tools/overlayhelpers/lmapmark.py b/tools/overlayhelpers/lmapmark.py index 5075bcae83..cd13ea98cc 100644 --- a/tools/overlayhelpers/lmapmark.py +++ b/tools/overlayhelpers/lmapmark.py @@ -1,7 +1,6 @@ #!/usr/bin/env python3 import os import struct -import sys SIMPLIFY_OUTPUT = True OVL_KALEIDO_SCOPE_RAM = 0x80813820 @@ -88,7 +87,7 @@ for name, numMaps in SCENES: cstr = "" -cstr += f"PauseMapMarksData gPauseMapMarkDataTable[] = {{\n" +cstr += "PauseMapMarksData gPauseMapMarkDataTable[] = {\n" for scenemap in scenemaps: for mapId, map in enumerate(scenemap[1]): cstr += IND(1) + f"// {scenemap[0]} map {mapId}\n" diff --git a/tools/overlayhelpers/mapmark.py b/tools/overlayhelpers/mapmark.py index 8f0186bf9f..44b2ec92a8 100644 --- a/tools/overlayhelpers/mapmark.py +++ b/tools/overlayhelpers/mapmark.py @@ -43,7 +43,7 @@ def GetMapsPerScene(ptrs): def GetPoints(data, ptr, numPoints): points = [] - off = RamToOff(ptr); + off = RamToOff(ptr) for i in range(numPoints): points.append(struct.unpack_from(">bBB", data[off:off+3])) off = off + 3 diff --git a/tools/reformat_data_files.py b/tools/reformat_data_files.py deleted file mode 100644 index 2220868d7d..0000000000 --- a/tools/reformat_data_files.py +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/python3 - -import os -import sys -import re -from disassemble import get_z_name - -script_dir = os.path.dirname(os.path.realpath(__file__)) -root_dir = script_dir + "/../" -data_dir = root_dir + "data/overlays" -asm_dir = root_dir + "asm/non_matchings/overlays" - - -def rename(old_name, new_name): - for root, dirs, files in os.walk(asm_dir): - for file in files: - file_path = os.path.join(root, file) - with open(file_path) as f: - file_text = f.read() - new_file_text = file_text.replace(old_name, new_name) - if file_text != new_file_text: - with open(file_path, "w", newline="\n") as f: - f.write(new_file_text) - - -def rename_l(old_name, new_name): - for root, dirs, files in os.walk(asm_dir): - for file in files: - file_path = os.path.join(root, file) - with open(file_path) as f: - file_text = f.read() - new_file_text = file_text.replace(old_name + ":", "glabel " + new_name) - new_file_text = new_file_text.replace(old_name, new_name) - if file_text != new_file_text: - with open(file_path, "w", newline="\n") as f: - f.write(new_file_text) - - -def handle_jtbl(match): - match = match.group() - split = match.replace(":", "").split(" ") - lbl_name = split[0] - new_lbl_name = "jtbl_" + lbl_name[2:] - rename(lbl_name, new_lbl_name) - ret = "glabel " + new_lbl_name + "\n.word .L" - return ret - - -def handle_data_line(match): - match = match.group() - ret = "glabel " + match[:-1] + "\n" - return ret - - -def handle_word_l(match): - match = match.group() - split = match.split(" ") - lbl_name = split[1] - new_lbl_name = split[1][1:] - rename_l(lbl_name, new_lbl_name) - ret = ".word " + new_lbl_name - return ret - - -def main(): - preamble = ".include \"macro.inc\"\n\n # assembler directives\n .set noat # allow manual use of $at\n .set noreorder # don't insert nops after branches\n .set gp=64 # allow use of 64-bit general purpose registers\n\n" - - for root, dirs, files in os.walk(data_dir): - for file in files: - file_path = os.path.join(root, file) - with open(file_path) as f: - file_text = f.read() - - file_text = preamble + file_text - file_text = re.sub("D_.*: .word .L", handle_jtbl, file_text) - file_text = re.sub("D_.*:", handle_data_line, file_text) - file_text = re.sub(".word .L........", handle_word_l, file_text) - file_text = re.sub("\n\n ", "\n ", file_text) - - with open(file_path, "w", newline="\n") as f: - f.write(file_text) - - -main() diff --git a/tools/sfxconvert.py b/tools/sfxconvert.py index 22044dd594..a125467aef 100644 --- a/tools/sfxconvert.py +++ b/tools/sfxconvert.py @@ -37,7 +37,7 @@ def get_func_data(funcdata,i): funcname = argdata[0].split(' ')[1] for x in range(len(argdata)): if(argdata[x].count('sfxId')): - break; + break if(x == len(argdata) - 1): print('sfxId not found in ', funcname) return None,-1 diff --git a/tools/specprocess.py b/tools/specprocess.py deleted file mode 100644 index 082c21f24d..0000000000 --- a/tools/specprocess.py +++ /dev/null @@ -1,55 +0,0 @@ -import os -import sys - -specFile = open("spec", "r"); -specText = specFile.read(); -specFile.close() -specLines = specText.split("\n"); - -# TODO: CLEAN THIS UP! -for i in range(0, len(specLines)): - line = specLines[i] - if (line.startswith("INCLUDE_SEG_SCENE")): - params = line.split("(")[1].split(")")[0].split(",") - for j in range(0, len(params)): - while (params[j].startswith(" ")): - params[j] = params[j][1 : len(params[j])] - - line = "beginseg\r\n"; - line += "\tname " + params[0] + "\r\n"; - line += "\tromalign 0x1000\r\n"; - line += "\tinclude " + params[1] + "\r\n"; - line += "\taddress SEGMENT_SCENE\r\n"; - line += "endseg\r\n"; - elif (line.startswith("INCLUDE_SEG_ROOM")): - params = line.split("(")[1].split(")")[0].split(",") - for j in range(0, len(params)): - while (params[j].startswith(" ")): - params[j] = params[j][1 : len(params[j])] - - line = "beginseg\r\n"; - line += "\tname " + params[0] + "\r\n"; - line += "\tromalign 0x1000\r\n"; - line += "\tinclude " + params[1] + "\r\n"; - line += "\taddress SEGMENT_ROOM\r\n"; - line += "endseg\r\n"; - elif (line.startswith("INCLUDE_SEG_OBJECT")): - params = line.split("(")[1].split(")")[0].split(",") - for j in range(0, len(params)): - while (params[j].startswith(" ")): - params[j] = params[j][1 : len(params[j])] - - line = "beginseg\r\n"; - line += "\tname " + params[0] + "\r\n"; - line += "\tromalign 0x1000\r\n"; - line += "\tinclude " + params[1] + "\r\n"; - line += "\taddress SEGMENT_OBJECT\r\n"; - line += "endseg\r\n"; - - - line += "\r\n"; - specLines[i] = line; - -specOut = open("build/spec_preproc", "w"); -specOut.writelines(specLines); -specOut.close(); diff --git a/tools/split_out_overlay_funcs.py b/tools/split_out_overlay_funcs.py deleted file mode 100644 index c95457ac7a..0000000000 --- a/tools/split_out_overlay_funcs.py +++ /dev/null @@ -1,78 +0,0 @@ -#!/usr/bin/python3 - -import os -import sys -import re -from disassemble import get_z_name - -script_dir = os.path.dirname(os.path.realpath(__file__)) -root_dir = script_dir + "/../" -src_dir = root_dir + "src/overlays/" -asm_dir = root_dir + "asm/non_matchings/overlays/" - - -def get_c_file_path(file): - c_file = get_z_name(file) + ".c" - for root, dirs, files in os.walk(src_dir): - if c_file in files: - return os.path.join(root, c_file) - return None - - -def handle_file(asm_root, asm_file, c_file_path): - file_path = os.path.join(asm_root, asm_file) - with open(file_path) as f: - file_lines = f.readlines() - - new_files = [] - num_rodata = 0 - for i, line in enumerate(file_lines): - asm_basename = asm_file.split(".")[0] - if line.startswith("glabel func"): - new_files.append((i, line.split(" ")[1].strip() + ".s", "func")) - elif line.startswith(".section .data"): - new_files.append((i, asm_basename + ".data.s", "data")) - elif line.startswith(".section .rodata"): - type = "rodata" - ext = ".rodata.s" - if num_rodata > 0: - type = "reloc" - ext = ".reloc.s" - num_rodata += 1 - - new_files.append((i, asm_basename + ext, type)) - elif line.startswith(".bss"): - new_files.append((i, asm_basename + ".bss.s", "bss")) - - if len(new_files) == 1: - return - - os.remove(file_path) - for i, new_file in enumerate(new_files): - if i < len(new_files) - 1: - new_file_lines = file_lines[new_file[0]:new_files[i+1][0]] - else: - new_file_lines = file_lines[new_file[0]:] - - with open(os.path.join(asm_root, new_file[1]), mode="w", newline="\n") as out_file: - out_file.writelines(new_file_lines) - - os.remove(c_file_path) - - pragma_begin = "#pragma GLOBAL_ASM(\"" + asm_root.split("../")[1] + "/" - pragma_end = "\")" - with open(c_file_path, mode="w", newline="\n") as c_file: - for new_file in new_files: - c_file.write(pragma_begin + new_file[1] + pragma_end + "\n\n") - - -def main(): - for root, dirs, files in os.walk(asm_dir): - for file in files: - if file.startswith("z_"): - c_file_path = get_c_file_path(root.split("/")[-1]) - if c_file_path is not None: - handle_file(root, file, c_file_path) - - -main() diff --git a/tools/vt_fmt.py b/tools/vt_fmt.py index e0929ff8be..139ddb7d7a 100755 --- a/tools/vt_fmt.py +++ b/tools/vt_fmt.py @@ -1,8 +1,5 @@ #!/usr/bin/python3 -import os -import sys -import struct import argparse import re diff --git a/tools/xmlcreate.py b/tools/xmlcreate.py deleted file mode 100755 index cb916cd200..0000000000 --- a/tools/xmlcreate.py +++ /dev/null @@ -1,213 +0,0 @@ -#!/usr/bin/python3 -import os -import argparse - -offsets = set() -replacements = {} -global_name = '' - -name_fmt = 'g{0}{1}_{2}' -spec_fmt = ' include "build/assets/objects/{0}/{0}.o"\n number 6\n' - -dlist_xml = '' -collision_xml = '' -animation_xml = '' -skeleton_xml = '' -unknown_xml = '' - -def set_globals(new_name): - global offsets - global global_name - global replacements - - offsets = set() - replacements = {} - global_name = new_name - return 0 - - -def dlist_to_xml(var_name,offset): - - return dlist_xml.format(var_name,offset.lstrip('0')) - -def collision_to_xml(var_name,offset): - - return collision_xml.format(var_name,offset.lstrip('0')) - -def animation_to_xml(var_name,offset): - - return animation_xml.format(var_name,offset.lstrip('0')) - -def skeleton_to_xml(var_name,offset, type): - skel_type = "Flex" if "Flex" in type else "Normal" - limb_type = "Standard" - - return skeleton_xml.format(var_name, offset.lstrip('0'), skel_type, limb_type) - -def unknown_to_xml(var_name,offset, type): - - return unknown_xml.format(var_name,offset.lstrip('0'),type) - -def make_xml_line(offset, type): - if 'Gfx' in type: - var_name = name_fmt.format(global_name,'DL',offset) - xml_line = dlist_to_xml(var_name, offset) - elif 'Col' in type: - var_name = name_fmt.format(global_name,'Col',offset) - xml_line = collision_to_xml(var_name, offset) - elif 'Animation' in type: - var_name = name_fmt.format(global_name,'Anim',offset) - xml_line = animation_to_xml(var_name, offset) - elif 'Skeleton' in type: - var_name = name_fmt.format(global_name,'Skel',offset) - xml_line = skeleton_to_xml(var_name, offset, type) - else: - var_name = name_fmt.format(global_name,'Unknown',offset) - xml_line = unknown_to_xml(var_name, offset, type) - print('Unknown type at offset', offset) - replacements['06'+offset] = var_name - return xml_line - -def extern_to_xml(line): - global offsets - - type = line.split()[1] - sym = line.split()[2] - offset = sym[4:10] - if(offset in offsets): - return '' - else: - offsets.add(offset) - - xml_line = ' ' * 8 - xml_line += make_xml_line(offset, type) - # make_replace(offset, type) - - return xml_line + '\n' - -def find_type(srcdata, i): - j = i - while(j >= 0 and ' = {' not in srcdata[j]): - j -= 1 - if(j < 0): - return 'UNKNOWN' - else: - return srcdata[j].split(' = {')[0].split()[-2] - -def other_to_xml(srcdata, i): - xml_data = '' - line = srcdata[i] - - index = line.find('0x060') - while(index < len(line) and '0x060' in line[index:]): - offset = line[index+4:index+10] - type = find_type(srcdata, i) - if(offset not in offsets): - offsets.add(offset) - xml_data += ' ' * 8 + make_xml_line(offset, type) + '\n' - # make_replace(offset, type) - index += line[index+10:].find('0x060') + 10 - return xml_data - -def find_object(src): - with open(src,'r',encoding='utf-8') as srcfile: - srcdata = srcfile.readlines() - for i, line in enumerate(srcdata): - if 'OBJECT_' in line and ' FLAGS,' in srcdata[i-1]: - object = line.strip().strip(',') - return object.lower() - - print('Object not found in', src) - object = '' - return object - -def create_xml(src, name): - set_globals(name) - with open(src,'r',encoding='utf-8') as srcfile: - srcdata = srcfile.readlines() - object = find_object(src) - xml = '\n \n' - symbols = {} - for i, line in enumerate(srcdata): - if '0x060' in line or 'D_060' in line: - if 'extern' in line: - xml += extern_to_xml(line) - elif '0x060' in line: - xml += other_to_xml(srcdata, i) - xml += ' \n\n' - return xml - -def add_header(src): - object = find_object(src) - if(object == ''): - return 0 - with open(src,'r', encoding='utf-8') as srcfile: - srcdata = srcfile.readlines() - for i, line in enumerate(srcdata): - if('#include' in line): - break - srcdata = srcdata[0:i+1] + ['#include "objects/' + object + '/' + object + '.h"\n'] + srcdata[i+1:] - with open(src,'w',encoding='utf-8', newline = '\n') as outfile: - outfile.writelines(srcdata) - return 1 - -def replace_src(src): - global replacements - global global_name - - add_header(src) - with open(src,'r', encoding='utf-8') as srcfile: - srcdata = srcfile.read() - for key in list(replacements.keys()): - srcdata = srcdata.replace(key, replacements.get(key)) - srcdata = srcdata.replace('D_g' + global_name, 'g' + global_name) - if('Gfx' in replacements.get(key)): - srcdata = srcdata.replace('0xg' + global_name, 'g' + global_name) - else: - srcdata = srcdata.replace('0xg' + global_name, '&g' + global_name) - with open(src,'w',encoding='utf-8', newline = '\n') as outfile: - outfile.write(srcdata) - return 1 - -def fix_spec(src, spec): - object = find_object(src) - fix = False - old = False - with open(spec, 'r') as specfile: - specdata = specfile.readlines() - for i, line in enumerate(specdata): - if ('"' + object + '"') in line: - if 'number' in specdata[i+3]: - old = True - else: - specdata[i+2] = spec_fmt.format(object) - fix = True - break - if old: - print('Already fixed', object, 'in', spec) - return 0 - if not fix: - print('Could not find',object,'in', spec) - return -1 - with open(spec, 'w', newline='\n') as outfile: - outfile.writelines(specdata) - return 1 - -parser = argparse.ArgumentParser(description="Generate an xml object file from a source file") -parser.add_argument('file', help="overlay file to generate xml from") -parser.add_argument('name', help='name to use for xml variables') -parser.add_argument('-r',action='store_true', help="replace variables in overlay with the new names") -parser.add_argument('-s',metavar = 'spec', dest = 'spec', help="spec file to update", default=None) -parser.add_argument('-o', metavar = 'outfile', dest = 'outfile', help = 'file to write xml to', default = None) - -if __name__ == "__main__": - args = parser.parse_args() - if args.outfile is None: - print(create_xml(args.file, args.name)) - else: - with open(args.outfile, 'w', encoding='utf-8',newline='\n') as outfile: - outfile.write(create_xml(args.file, args.name)) - if(args.r): - replace_src(args.file) - if(args.spec is not None): - fix_spec(args.file, args.spec)