diff --git a/.gitignore b/.gitignore index 8585eeebbf..f10e23510e 100644 --- a/.gitignore +++ b/.gitignore @@ -51,6 +51,7 @@ graphs/ *.fbx !*_custom* .extracted-assets.json +extracted/ # Docs !docs/tutorial/ diff --git a/Makefile b/Makefile index ac9cb6e489..10e0fd76c6 100644 --- a/Makefile +++ b/Makefile @@ -66,6 +66,7 @@ PROJECT_DIR := $(dir $(realpath $(firstword $(MAKEFILE_LIST)))) BUILD_DIR := build/$(VERSION) EXPECTED_DIR := expected/$(BUILD_DIR) BASEROM_DIR := baseroms/$(VERSION) +EXTRACTED_DIR := extracted/$(VERSION) VENV := .venv MAKE = make @@ -130,7 +131,7 @@ NM := $(MIPS_BINUTILS_PREFIX)nm N64_EMULATOR ?= -INC := -Iinclude -Iinclude/libc -Isrc -I$(BUILD_DIR) -I. +INC := -Iinclude -Iinclude/libc -Isrc -I$(BUILD_DIR) -I. -I$(EXTRACTED_DIR) # 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 @@ -154,7 +155,7 @@ endif ASFLAGS := -march=vr4300 -32 -no-pad-sections -Iinclude ifeq ($(COMPILER),gcc) - CFLAGS += -G 0 -nostdinc $(INC) -march=vr4300 -mfix4300 -mabi=32 -mno-abicalls -mdivide-breaks -fno-zero-initialized-in-bss -fno-toplevel-reorder -ffreestanding -fno-common -fno-merge-constants -mno-explicit-relocs -mno-split-addresses $(CHECK_WARNINGS) -funsigned-char + CFLAGS += -G 0 -nostdinc $(INC) -march=vr4300 -mfix4300 -mabi=32 -mno-abicalls -mdivide-breaks -fno-PIC -fno-common -ffreestanding -fbuiltin -fno-builtin-sinf -fno-builtin-cosf $(CHECK_WARNINGS) -funsigned-char MIPS_VERSION := -mips3 else # Suppress warnings for wrong number of macro arguments (to fake variadic @@ -207,8 +208,7 @@ ASSET_FILES_OUT := $(foreach f,$(ASSET_FILES_XML:.xml=.c),$f) \ UNDECOMPILED_DATA_DIRS := $(shell find data -type d) -BASEROM_SEGMENTS_DIR := $(BASEROM_DIR)/segments -BASEROM_BIN_FILES := $(wildcard $(BASEROM_SEGMENTS_DIR)/*) +BASEROM_BIN_FILES := $(wildcard $(EXTRACTED_DIR)/baserom/*) # source files C_FILES := $(filter-out %.inc.c,$(foreach dir,$(SRC_DIRS) $(ASSET_BIN_DIRS),$(wildcard $(dir)/*.c))) @@ -230,7 +230,7 @@ TEXTURE_FILES_OUT := $(foreach f,$(TEXTURE_FILES_PNG:.png=.inc.c),$(BUILD_DIR)/$ $(foreach f,$(TEXTURE_FILES_JPG:.jpg=.jpg.inc.c),$(BUILD_DIR)/$f) \ # create build directories -$(shell mkdir -p $(BUILD_DIR)/baserom $(BUILD_DIR)/assets/text $(foreach dir,$(SRC_DIRS) $(UNDECOMPILED_DATA_DIRS) $(ASSET_BIN_DIRS),$(BUILD_DIR)/$(dir))) +$(shell mkdir -p $(BUILD_DIR)/baserom $(EXTRACTED_DIR)/text $(BUILD_DIR)/assets/text $(foreach dir,$(SRC_DIRS) $(UNDECOMPILED_DATA_DIRS) $(ASSET_BIN_DIRS),$(BUILD_DIR)/$(dir))) ifeq ($(COMPILER),ido) $(BUILD_DIR)/src/boot/stackcheck.o: OPTFLAGS := -O2 @@ -308,14 +308,20 @@ $(BUILD_DIR)/src/libultra/rmon/%.o: CC := $(CC_OLD) $(BUILD_DIR)/src/code/jpegutils.o: CC := $(CC_OLD) $(BUILD_DIR)/src/code/jpegdecoder.o: CC := $(CC_OLD) -$(BUILD_DIR)/src/boot/%.o: CC := $(PYTHON) tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) -- -$(BUILD_DIR)/src/code/%.o: CC := $(PYTHON) tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) -- -$(BUILD_DIR)/src/overlays/%.o: CC := $(PYTHON) tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) -- +# For using asm_processor on some files: +#$(BUILD_DIR)/.../%.o: CC := $(PYTHON) tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) -- + +ifeq ($(PERMUTER),) # permuter + reencode.sh misbehaves, permuter doesn't care about encoding ((ro)data diffs) so just don't use it in that case +# Handle encoding (UTF-8 -> EUC-JP) +$(BUILD_DIR)/%.o: CC := tools/reencode.sh $(CC) +endif -$(BUILD_DIR)/assets/%.o: CC := $(PYTHON) tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) -- else +# Note that if adding additional assets directories for modding reasons these flags must also be used there +$(BUILD_DIR)/assets/%.o: CFLAGS += -fno-zero-initialized-in-bss -fno-toplevel-reorder +$(BUILD_DIR)/src/%.o: CFLAGS += -fexec-charset=euc-jp $(BUILD_DIR)/src/libultra/libc/ll.o: OPTFLAGS := -Ofast -$(BUILD_DIR)/src/%.o: CC := $(CC) -fexec-charset=euc-jp +$(BUILD_DIR)/src/overlays/%.o: CFLAGS += -fno-merge-constants -mno-explicit-relocs -mno-split-addresses endif #### Main Targets ### @@ -339,12 +345,13 @@ clean: assetclean: $(RM) -r $(ASSET_BIN_DIRS) - $(RM) -r assets/text/*.h + $(RM) -r $(EXTRACTED_DIR) $(RM) -r $(BUILD_DIR)/assets $(RM) -r .extracted-assets.json -distclean: clean assetclean - $(RM) -r $(BASEROM_SEGMENTS_DIR) +distclean: assetclean + $(RM) -r extracted/ + $(RM) -r build/ $(MAKE) -C tools distclean venv: @@ -357,11 +364,11 @@ venv: setup: venv $(MAKE) -C tools $(PYTHON) tools/decompress_baserom.py $(VERSION) - $(PYTHON) tools/extract_baserom.py $(BASEROM_DIR)/baserom-decompressed.z64 -o $(BASEROM_SEGMENTS_DIR) --dmadata-start `cat $(BASEROM_DIR)/dmadata_start.txt` --dmadata-names $(BASEROM_DIR)/dmadata_names.txt + $(PYTHON) tools/extract_baserom.py $(BASEROM_DIR)/baserom-decompressed.z64 -o $(EXTRACTED_DIR)/baserom --dmadata-start `cat $(BASEROM_DIR)/dmadata_start.txt` --dmadata-names $(BASEROM_DIR)/dmadata_names.txt + $(PYTHON) tools/msgdis.py --oot-version $(VERSION) --text-out $(EXTRACTED_DIR)/text/message_data.h --staff-text-out $(EXTRACTED_DIR)/text/message_data_staff.h # TODO: for now, we only extract assets from the Debug ROM ifeq ($(VERSION),gc-eu-mq-dbg) $(PYTHON) extract_assets.py -j$(N_THREADS) - $(PYTHON) tools/msgdis.py --text-out assets/text/message_data.h --staff-text-out assets/text/message_data_staff.h endif disasm: @@ -411,14 +418,14 @@ $(LDSCRIPT): $(BUILD_DIR)/$(SPEC) $(BUILD_DIR)/undefined_syms.txt: undefined_syms.txt $(CPP) $(CPPFLAGS) $< > $@ -$(BUILD_DIR)/baserom/%.o: $(BASEROM_SEGMENTS_DIR)/% +$(BUILD_DIR)/baserom/%.o: $(EXTRACTED_DIR)/baserom/% $(OBJCOPY) -I binary -O elf32-big $< $@ $(BUILD_DIR)/data/%.o: data/%.s $(AS) $(ASFLAGS) $< -o $@ -$(BUILD_DIR)/assets/text/%.enc.h: assets/text/%.h assets/text/charmap.txt - $(PYTHON) tools/msgenc.py assets/text/charmap.txt $< $@ +$(BUILD_DIR)/assets/text/%.enc.h: assets/text/%.h $(EXTRACTED_DIR)/text/%.h assets/text/charmap.txt + $(CPP) $(CPPFLAGS) -I$(EXTRACTED_DIR) $< | $(PYTHON) tools/msgenc.py - --output $@ --charmap assets/text/charmap.txt # Dependencies for files including message data headers # TODO remove when full header dependencies are used. diff --git a/README.md b/README.md index 0e3e1bd13d..27972882f9 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: -* oot-gc-eu-mq-dbg.z64 `md5: f0b7f35375f9cc8ca1b2d59d78e35405` +* oot-gc-eu-mq-dbg.z64 `md5: 75e344f41c26ec2ec5ad92caa9e25629` **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.** diff --git a/assets/.gitignore b/assets/.gitignore index e5633a6496..0bece9e89f 100644 --- a/assets/.gitignore +++ b/assets/.gitignore @@ -1,7 +1,7 @@ *.bin *.c -!text/*.c *.h +!text/*.[ch] *.cfg *.vtx.inc *.dlist.inc diff --git a/assets/text/fra_message_data_static.c b/assets/text/fra_message_data_static.c index abad26c541..944d9f03f5 100644 --- a/assets/text/fra_message_data_static.c +++ b/assets/text/fra_message_data_static.c @@ -5,4 +5,6 @@ #define DEFINE_MESSAGE(textId, type, yPos, nesMessage, gerMessage, fraMessage) \ const char _message_##textId##_fra[sizeof(fraMessage)] = { fraMessage END }; +#define DEFINE_MESSAGE_NES(textId, type, yPos, nesMessage) + #include "assets/text/message_data.enc.h" diff --git a/assets/text/ger_message_data_static.c b/assets/text/ger_message_data_static.c index c4b8229a00..9d3e190bce 100644 --- a/assets/text/ger_message_data_static.c +++ b/assets/text/ger_message_data_static.c @@ -5,4 +5,6 @@ #define DEFINE_MESSAGE(textId, type, yPos, nesMessage, gerMessage, fraMessage) \ const char _message_##textId##_ger[sizeof(gerMessage)] = { gerMessage END }; +#define DEFINE_MESSAGE_NES(textId, type, yPos, nesMessage) + #include "assets/text/message_data.enc.h" diff --git a/assets/text/message_data.h b/assets/text/message_data.h new file mode 100644 index 0000000000..57a0859b56 --- /dev/null +++ b/assets/text/message_data.h @@ -0,0 +1,16 @@ +#include "text/message_data.h" + +/* + * The following two messages should be kept last and in this order. + * Message 0xFFFD must be last to not break the message debugger (see R_MESSAGE_DEBUGGER_TEXTID). + * Message 0xFFFC must be immediately before message 0xFFFD to not break Font_LoadOrderedFont. + */ +DEFINE_MESSAGE_NES(0xFFFC, TEXTBOX_TYPE_BLACK, TEXTBOX_POS_VARIABLE, +"0123456789\n" +"ABCDEFGHIJKLMN\n" +"OPQRSTUVWXYZ\n" +"abcdefghijklmn\n" +"opqrstuvwxyz\n" +" -.\n" +) +DEFINE_MESSAGE(0xFFFD, TEXTBOX_TYPE_BLACK, TEXTBOX_POS_VARIABLE, "", "", "") diff --git a/assets/text/message_data_staff.h b/assets/text/message_data_staff.h new file mode 100644 index 0000000000..c282d7f7d3 --- /dev/null +++ b/assets/text/message_data_staff.h @@ -0,0 +1 @@ +#include "text/message_data_staff.h" diff --git a/assets/text/nes_message_data_static.c b/assets/text/nes_message_data_static.c index 2c37692d26..ff14d66b86 100644 --- a/assets/text/nes_message_data_static.c +++ b/assets/text/nes_message_data_static.c @@ -5,8 +5,6 @@ #define DEFINE_MESSAGE(textId, type, yPos, nesMessage, gerMessage, fraMessage) \ const char _message_##textId##_nes[sizeof(nesMessage)] = { nesMessage END }; -#define DEFINE_MESSAGE_FFFC +#define DEFINE_MESSAGE_NES(textId, type, yPos, nesMessage) DEFINE_MESSAGE(textId, type, yPos, nesMessage, , ) #include "assets/text/message_data.enc.h" - -#undef DEFINE_MESSAGE_FFFC diff --git a/baseroms/gc-eu-mq-dbg/checksum.md5 b/baseroms/gc-eu-mq-dbg/checksum.md5 index 55af8fae8a..69e361d6a1 100644 --- a/baseroms/gc-eu-mq-dbg/checksum.md5 +++ b/baseroms/gc-eu-mq-dbg/checksum.md5 @@ -1 +1 @@ -f0b7f35375f9cc8ca1b2d59d78e35405 build/gc-eu-mq-dbg/oot-gc-eu-mq-dbg.z64 +75e344f41c26ec2ec5ad92caa9e25629 build/gc-eu-mq-dbg/oot-gc-eu-mq-dbg.z64 diff --git a/baseroms/gc-eu-mq/checksum.md5 b/baseroms/gc-eu-mq/checksum.md5 index 6c33e9d3ef..7d78aaf060 100644 --- a/baseroms/gc-eu-mq/checksum.md5 +++ b/baseroms/gc-eu-mq/checksum.md5 @@ -1 +1 @@ -1a438f4235f8038856971c14a798122a build/gc-eu-mq/oot-gc-eu-mq.z64 +4920520254b9aab86de57b42ab477dbb build/gc-eu-mq/oot-gc-eu-mq.z64 diff --git a/docs/tutorial/beginning_decomp.md b/docs/tutorial/beginning_decomp.md index 54fde940b8..149753d43b 100644 --- a/docs/tutorial/beginning_decomp.md +++ b/docs/tutorial/beginning_decomp.md @@ -666,8 +666,8 @@ extern ColliderCylinderInit D_80A88CB4; // ELEMTYPE_UNK0, // { 0x00000000, 0x00, 0x00 }, // { 0x00000004, 0x00, 0x00 }, -// TOUCH_NONE, -// BUMP_ON, +// ATELEM_NONE, +// ACELEM_ON, // OCELEM_ON, // }, // { 170, 150, 0, { 0, 0, 0 } }, diff --git a/docs/tutorial/introduction.md b/docs/tutorial/introduction.md index 80798cd35d..b9a658d531 100644 --- a/docs/tutorial/introduction.md +++ b/docs/tutorial/introduction.md @@ -33,7 +33,7 @@ void func_80A13098(EnFirefly* this) { } else { this->actor.params -= 2; } - this->collider.list->body.toucher.effect = 1; + this->collider.list->body.atDmgInfo.effect = 1; this->auraType = 1; this->onFire = 1; this->actor.naviEnemyId = 0x11; diff --git a/docs/vscode.md b/docs/vscode.md index 2bab5a578c..c88b85c072 100644 --- a/docs/vscode.md +++ b/docs/vscode.md @@ -48,11 +48,12 @@ You can create a `.vscode/c_cpp_properties.json` file with `C/C++: Edit Configur ], "intelliSenseMode": "${default}", // Shouldn't matter "includePath": [ // Matches makefile's includes - "${workspaceFolder}/**", + "include", + "include/libc", "src", "build/gc-eu-mq-dbg", - "include", - "include/libc" + ".", + "extracted/gc-eu-mq-dbg" ], "defines": [ "_LANGUAGE_C", // For gbi.h diff --git a/extract_assets.py b/extract_assets.py index ced7da4a1c..9c83503ab8 100755 --- a/extract_assets.py +++ b/extract_assets.py @@ -28,7 +28,7 @@ def ExtractFile(xmlPath, outputPath, outputSourcePath): Path(outputPath).mkdir(parents=True, exist_ok=True) Path(outputSourcePath).mkdir(parents=True, exist_ok=True) - execStr = f"{zapdPath} e -eh -i {xmlPath} -b baseroms/gc-eu-mq-dbg/segments -o {outputPath} -osf {outputSourcePath} -gsf 1 -rconf {configPath} {ZAPDArgs}" + execStr = f"{zapdPath} e -eh -i {xmlPath} -b extracted/gc-eu-mq-dbg/baserom -o {outputPath} -osf {outputSourcePath} -gsf 1 -rconf {configPath} --cs-float both {ZAPDArgs}" if "overlays" in xmlPath: execStr += " --static" diff --git a/include/message_data_static.h b/include/message_data_static.h index b803203821..b888192d58 100644 --- a/include/message_data_static.h +++ b/include/message_data_static.h @@ -47,9 +47,12 @@ typedef struct { extern const char _message_##textId##_ger[]; \ extern const char _message_##textId##_fra[]; +#define DEFINE_MESSAGE_NES(textId, type, yPos, nesMessage) \ + extern const char _message_##textId##_nes[]; + #include "assets/text/message_data.h" -extern const char _message_0xFFFC_nes[]; #undef DEFINE_MESSAGE +#undef DEFINE_MESSAGE_NES #endif diff --git a/include/romfile.h b/include/romfile.h new file mode 100644 index 0000000000..a7022f45f4 --- /dev/null +++ b/include/romfile.h @@ -0,0 +1,18 @@ +#ifndef ROMFILE_H +#define ROMFILE_H + +#include "ultra64.h" + +typedef struct { + /* 0x00 */ uintptr_t vromStart; + /* 0x04 */ uintptr_t vromEnd; +} RomFile; // size = 0x8 + +#define ROM_FILE(name) \ + { (uintptr_t)_##name##SegmentRomStart, (uintptr_t)_##name##SegmentRomEnd } +#define ROM_FILE_EMPTY(name) \ + { (uintptr_t)_##name##SegmentRomStart, (uintptr_t)_##name##SegmentRomStart } +#define ROM_FILE_UNSET \ + { 0, 0 } + +#endif diff --git a/include/tables/object_table.h b/include/tables/object_table.h index 97e6aa2558..326227fee2 100644 --- a/include/tables/object_table.h +++ b/include/tables/object_table.h @@ -5,7 +5,7 @@ * - Argument 1: Name of the object segment in spec * - Argument 2: Enum value for this object * - * DEFINE_OBJECT_UNSET and DEFINE_OBJECT_NULL are needed to define empty entries from the original game + * DEFINE_OBJECT_UNSET and DEFINE_OBJECT_EMPTY are needed to define empty entries from the original game */ /* 0x0000 */ DEFINE_OBJECT_UNSET(OBJECT_INVALID) // Object ID 0 isn't usable and should remain unset /* 0x0001 */ DEFINE_OBJECT(gameplay_keep, OBJECT_GAMEPLAY_KEEP) @@ -234,7 +234,7 @@ /* 0x00E0 */ DEFINE_OBJECT(object_ma1, OBJECT_MA1) /* 0x00E1 */ DEFINE_OBJECT(object_ganon, OBJECT_GANON) /* 0x00E2 */ DEFINE_OBJECT(object_sst, OBJECT_SST) -/* 0x00E3 */ DEFINE_OBJECT_NULL(object_ny, OBJECT_NY_UNUSED) // unused duplicate with size 0 +/* 0x00E3 */ DEFINE_OBJECT_EMPTY(object_ny, OBJECT_NY_UNUSED) // unused duplicate with size 0 /* 0x00E4 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_E4) /* 0x00E5 */ DEFINE_OBJECT(object_ny, OBJECT_NY) /* 0x00E6 */ DEFINE_OBJECT(object_fr, OBJECT_FR) @@ -257,7 +257,7 @@ /* 0x00F7 */ DEFINE_OBJECT(object_gi_grass, OBJECT_GI_GRASS) /* 0x00F8 */ DEFINE_OBJECT(object_gi_longsword, OBJECT_GI_LONGSWORD) /* 0x00F9 */ DEFINE_OBJECT(object_spot01_objects, OBJECT_SPOT01_OBJECTS) -/* 0x00FA */ DEFINE_OBJECT_NULL(object_md, OBJECT_MD_UNUSED) // unused duplicate with size 0 +/* 0x00FA */ DEFINE_OBJECT_EMPTY(object_md, OBJECT_MD_UNUSED) // unused duplicate with size 0 /* 0x00FB */ DEFINE_OBJECT(object_md, OBJECT_MD) /* 0x00FC */ DEFINE_OBJECT(object_km1, OBJECT_KM1) /* 0x00FD */ DEFINE_OBJECT(object_kw1, OBJECT_KW1) diff --git a/include/ultra64/libc.h b/include/ultra64/libc.h index f297bfd0d7..e71cb879d7 100644 --- a/include/ultra64/libc.h +++ b/include/ultra64/libc.h @@ -5,8 +5,14 @@ void osSyncPrintf(const char* fmt, ...); +#ifdef __GNUC__ +void bzero(void* __s, unsigned int __n); +int bcmp(const void* __sl, const void* __s2, unsigned int __n); +void bcopy(const void* __src, void* __dest, unsigned int __n); +#else void bzero(void* __s, int __n); int bcmp(const void* __sl, const void* __s2, int __n); void bcopy(const void* __src, void* __dest, int __n); +#endif #endif diff --git a/include/z64.h b/include/z64.h index afdf4a95c1..2fcf7b889c 100644 --- a/include/z64.h +++ b/include/z64.h @@ -194,8 +194,7 @@ typedef struct { typedef struct { /* 0x00 */ void* loadedRamAddr; - /* 0x04 */ uintptr_t vromStart; - /* 0x08 */ uintptr_t vromEnd; + /* 0x04 */ RomFile file; /* 0x0C */ void* vramStart; /* 0x10 */ void* vramEnd; /* 0x14 */ u32 offset; // loadedRamAddr - vramStart @@ -558,8 +557,7 @@ typedef struct { typedef struct { /* 0x00 */ void* loadedRamAddr; - /* 0x04 */ uintptr_t vromStart; // if applicable - /* 0x08 */ uintptr_t vromEnd; // if applicable + /* 0x04 */ RomFile file; // if applicable /* 0x0C */ void* vramStart; // if applicable /* 0x10 */ void* vramEnd; // if applicable /* 0x14 */ void* unk_14; diff --git a/include/z64actor.h b/include/z64actor.h index f14fa1a499..088a90ab75 100644 --- a/include/z64actor.h +++ b/include/z64actor.h @@ -89,8 +89,7 @@ typedef struct { #define ACTOROVL_ALLOC_PERSISTENT (1 << 1) typedef struct { - /* 0x00 */ uintptr_t vromStart; - /* 0x04 */ uintptr_t vromEnd; + /* 0x00 */ RomFile file; /* 0x08 */ void* vramStart; /* 0x0C */ void* vramEnd; /* 0x10 */ void* loadedRamAddr; // original name: "allocp" diff --git a/include/z64collision_check.h b/include/z64collision_check.h index bf411201d9..aa69dedb07 100644 --- a/include/z64collision_check.h +++ b/include/z64collision_check.h @@ -76,23 +76,23 @@ typedef struct { } ColliderInitToActor; // size = 0x08 typedef struct { - /* 0x00 */ u32 dmgFlags; // Toucher damage type flags. + /* 0x00 */ u32 dmgFlags; // Damage types dealt by this collider element as AT. /* 0x04 */ u8 effect; // Damage Effect (Knockback, Fire, etc.) - /* 0x05 */ u8 damage; // Damage or Stun Timer -} ColliderElementTouch; // size = 0x08 + /* 0x05 */ u8 damage; // Damage +} ColliderElementDamageInfoAT; // size = 0x08 typedef struct { - /* 0x00 */ u32 dmgFlags; // Bumper damage type flags. + /* 0x00 */ u32 dmgFlags; // Damage types that may affect this collider element as AC. /* 0x04 */ u8 effect; // Damage Effect (Knockback, Fire, etc.) /* 0x05 */ u8 defense; // Damage Resistance /* 0x06 */ Vec3s hitPos; // Point of contact -} ColliderElementBump; // size = 0x0C +} ColliderElementDamageInfoAC; // size = 0x0C typedef struct { - /* 0x00 */ u32 dmgFlags; // Bumper exclusion mask + /* 0x00 */ u32 dmgFlags; // Damage types that may affect this collider element as AC. /* 0x04 */ u8 effect; // Damage Effect (Knockback, Fire, etc.) /* 0x05 */ u8 defense; // Damage Resistance -} ColliderElementBumpInit; // size = 0x08 +} ColliderElementDamageInfoACInit; // size = 0x08 /** * Affects the sound Link's sword makes when hitting it, hookability, @@ -112,11 +112,11 @@ typedef enum { } ElementType; 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 + /* 0x00 */ ColliderElementDamageInfoAT atDmgInfo; // Damage properties when acting as an AT collider + /* 0x08 */ ColliderElementDamageInfoAC acDmgInfo; // 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 + /* 0x15 */ u8 atElemFlags; // Information flags for AT collisions + /* 0x16 */ u8 acElemFlags; // 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 @@ -126,10 +126,10 @@ typedef struct ColliderElement { 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 + /* 0x04 */ ColliderElementDamageInfoAT atDmgInfo; // Damage properties when acting as an AT collider + /* 0x0C */ ColliderElementDamageInfoACInit acDmgInfo; // Damage properties when acting as an AC collider + /* 0x14 */ u8 atElemFlags; // Information flags for AT collisions + /* 0x15 */ u8 acElemFlags; // Information flags for AC collisions /* 0x16 */ u8 ocElemFlags; // Information flags for OC collisions } ColliderElementInit; // size = 0x18 @@ -349,28 +349,28 @@ typedef struct { #define OC2_TYPE_2 OC1_TYPE_2 // Has OC type 2 #define OC2_FIRST_ONLY (1 << 6) // Skips AC checks on elements after the first collision. Only used by Ganon -#define TOUCH_NONE 0 // No flags set. Cannot have AT collisions -#define TOUCH_ON (1 << 0) // Can have AT collisions -#define TOUCH_HIT (1 << 1) // Had an AT collision -#define TOUCH_NEAREST (1 << 2) // If a Quad, only collides with the closest bumper -#define TOUCH_SFX_MASK (3 << 3) -#define TOUCH_SFX_NORMAL (0 << 3) // Hit sound effect based on AC collider's type -#define TOUCH_SFX_HARD (1 << 3) // Always uses hard deflection sound -#define TOUCH_SFX_WOOD (2 << 3) // Always uses wood deflection sound -#define TOUCH_SFX_NONE (3 << 3) // No hit sound effect -#define TOUCH_AT_HITMARK (1 << 5) // Draw hitmarks for every AT collision -#define TOUCH_DREW_HITMARK (1 << 6) // Already drew hitmark for this frame -#define TOUCH_UNK7 (1 << 7) // Unknown purpose. Used by some enemy quads +#define ATELEM_NONE 0 // No flags set. Cannot have AT collisions +#define ATELEM_ON (1 << 0) // Can have AT collisions +#define ATELEM_HIT (1 << 1) // Had an AT collision +#define ATELEM_NEAREST (1 << 2) // For COLSHAPE_QUAD colliders, only collide with the closest AC element +#define ATELEM_SFX_MASK (3 << 3) +#define ATELEM_SFX_NORMAL (0 << 3) // Hit sound effect based on AC collider's type +#define ATELEM_SFX_HARD (1 << 3) // Always uses hard deflection sound +#define ATELEM_SFX_WOOD (2 << 3) // Always uses wood deflection sound +#define ATELEM_SFX_NONE (3 << 3) // No hit sound effect +#define ATELEM_AT_HITMARK (1 << 5) // Draw hitmarks for every AT collision +#define ATELEM_DREW_HITMARK (1 << 6) // Already drew hitmark for this frame +#define ATELEM_UNK7 (1 << 7) // Unknown purpose. Used by some enemy quads -#define BUMP_NONE 0 // No flags set. Cannot have AC collisions -#define BUMP_ON (1 << 0) // Can have AC collisions -#define BUMP_HIT (1 << 1) // Had an AC collision -#define BUMP_HOOKABLE (1 << 2) // Can be hooked if actor has hookability flags set. -#define BUMP_NO_AT_INFO (1 << 3) // Does not give its info to the AT collider that hit it. -#define BUMP_NO_DAMAGE (1 << 4) // Does not take damage. -#define BUMP_NO_SWORD_SFX (1 << 5) // Does not have a sound effect when hit by player-attached AT colliders. -#define BUMP_NO_HITMARK (1 << 6) // Skips hit effects. -#define BUMP_DRAW_HITMARK (1 << 7) // Draw hitmark for AC collision this frame. +#define ACELEM_NONE 0 // No flags set. Cannot have AC collisions +#define ACELEM_ON (1 << 0) // Can have AC collisions +#define ACELEM_HIT (1 << 1) // Had an AC collision +#define ACELEM_HOOKABLE (1 << 2) // Can be hooked if actor has hookability flags set. +#define ACELEM_NO_AT_INFO (1 << 3) // Does not give its info to the AT collider that hit it. +#define ACELEM_NO_DAMAGE (1 << 4) // Does not take damage. +#define ACELEM_NO_SWORD_SFX (1 << 5) // Does not have a sound effect when hit by player-attached AT colliders. +#define ACELEM_NO_HITMARK (1 << 6) // Skips hit effects. +#define ACELEM_DRAW_HITMARK (1 << 7) // Draw hitmark for AC collision this frame. #define OCELEM_NONE 0 // No flags set. Cannot have OC collisions #define OCELEM_ON (1 << 0) // Can have OC collisions diff --git a/include/z64cutscene.h b/include/z64cutscene.h index ebd2612203..99cca62633 100644 --- a/include/z64cutscene.h +++ b/include/z64cutscene.h @@ -3,20 +3,6 @@ #include "ultra64.h" -/** - * Special type for blocks of cutscene data, asm-processor checks - * arrays for CutsceneData type and converts floats within the array - * to their IEEE-754 representation. The array must close with }; - * on its own line. - * - * Files that contain this type that are included in other C files - * must be preceded by a '#pragma asmproc recurse' qualifier to - * inform asm-processor that it must recursively process that include. - * - * Example: - * #pragma asmproc recurse - * #include "file.c" - */ typedef union CutsceneData { s32 i; f32 f; diff --git a/include/z64cutscene_commands.h b/include/z64cutscene_commands.h index beaecb7984..d77416cf58 100644 --- a/include/z64cutscene_commands.h +++ b/include/z64cutscene_commands.h @@ -21,9 +21,18 @@ * when sometimes only the `startFrame` matters (as documented). */ +/** + * CMD_F expects an (IEEE 754) encoded float (colloquially "in hex", such as `0x42280000`), + * rather than a C float literal (such as `42.0f`). + * Float literals cannot be used because cutscenes are arrays of union type CutsceneData, which may contain integers and floats. + * Regardless of CutsceneData having a float member, initializing with a float will cast the float to s32. + * Designated initializers (added in C99) would solve this problem but are not supported by IDO (C89 and some extensions). + */ #ifdef __GNUC__ +#define CS_FLOAT(ieee754bin, f) (f) #define CMD_F(a) {.f = (a)} #else +#define CS_FLOAT(ieee754bin, f) (ieee754bin) #define CMD_F(a) {(a)} #endif diff --git a/include/z64dma.h b/include/z64dma.h index e740fcba9e..0567ed542b 100755 --- a/include/z64dma.h +++ b/include/z64dma.h @@ -3,6 +3,7 @@ #include "ultra64.h" #include "alignment.h" +#include "romfile.h" typedef struct { /* 0x00 */ uintptr_t vromAddr; // VROM address (source) @@ -16,24 +17,11 @@ typedef struct { } DmaRequest; // size = 0x20 typedef struct { - /* 0x00 */ uintptr_t vromStart; - /* 0x04 */ uintptr_t vromEnd; + /* 0x00 */ RomFile file; /* 0x08 */ uintptr_t romStart; /* 0x0C */ uintptr_t romEnd; } DmaEntry; -typedef struct { - /* 0x00 */ uintptr_t vromStart; - /* 0x04 */ uintptr_t vromEnd; -} RomFile; // size = 0x8 - -#define ROM_FILE(name) \ - { (uintptr_t)_##name##SegmentRomStart, (uintptr_t)_##name##SegmentRomEnd } -#define ROM_FILE_EMPTY(name) \ - { (uintptr_t)_##name##SegmentRomStart, (uintptr_t)_##name##SegmentRomStart } -#define ROM_FILE_UNSET \ - { 0 } - extern DmaEntry gDmaDataTable[]; extern u32 gDmaMgrVerbose; diff --git a/include/z64effect.h b/include/z64effect.h index 4189edc5bb..e90ff85af6 100644 --- a/include/z64effect.h +++ b/include/z64effect.h @@ -202,8 +202,7 @@ typedef struct { } EffectSsInit; // size = 0x08 typedef struct { - /* 0x00 */ uintptr_t vromStart; - /* 0x04 */ uintptr_t vromEnd; + /* 0x00 */ RomFile file; /* 0x08 */ void* vramStart; /* 0x0C */ void* vramEnd; /* 0x10 */ void* loadedRamAddr; diff --git a/include/z64object.h b/include/z64object.h index aa7c2a85e1..057b445b69 100644 --- a/include/z64object.h +++ b/include/z64object.h @@ -23,7 +23,7 @@ typedef struct { } ObjectContext; // size = 0x518 #define DEFINE_OBJECT(_0, enum) enum, -#define DEFINE_OBJECT_NULL(_0, enum) enum, +#define DEFINE_OBJECT_EMPTY(_0, enum) enum, #define DEFINE_OBJECT_UNSET(enum) enum, typedef enum { @@ -32,7 +32,7 @@ typedef enum { } ObjectId; #undef DEFINE_OBJECT -#undef DEFINE_OBJECT_NULL +#undef DEFINE_OBJECT_EMPTY #undef DEFINE_OBJECT_UNSET #endif diff --git a/requirements.txt b/requirements.txt index 318b6e2fee..70772598e1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15,5 +15,6 @@ toml # tools mapfile-parser>=2.3.5,<3.0.0 +pyelftools==0.30 rabbitizer>=1.0.0,<2.0.0 spimdisasm>=1.21.0,<2.0.0 diff --git a/spec b/spec index d5eb8e851f..028814f5dd 100644 --- a/spec +++ b/spec @@ -256,7 +256,12 @@ endseg beginseg name "nes_font_static" romalign 0x1000 +#if OOT_DEBUG include "$(BUILD_DIR)/assets/textures/nes_font_static/nes_font_static.o" +#else + // TODO: Remove this hack once assets are extracted from gc-eu-mq + include "$(BUILD_DIR)/baserom/nes_font_static.o" +#endif number 10 endseg diff --git a/src/audio/general.c b/src/audio/general.c index f261a5ae55..46c3252781 100644 --- a/src/audio/general.c +++ b/src/audio/general.c @@ -1259,7 +1259,6 @@ u32 sOcarinaInputButtonCur; u32 sOcarinaInputButtonStart; u32 sOcarinaInputButtonPrev; s32 sOcarinaInputButtonPress; -s32 sOcarinaUnused; u8 sCurOcarinaSongWithoutMusicStaff[8]; u8 sOcarinaWithoutMusicStaffPos; u8 sOcarinaHasStartedSong; diff --git a/src/boot/z_std_dma.c b/src/boot/z_std_dma.c index 4fc8bc370e..5fe82a1859 100644 --- a/src/boot/z_std_dma.c +++ b/src/boot/z_std_dma.c @@ -286,8 +286,8 @@ const char* DmaMgr_FindFileName(uintptr_t vrom) { DmaEntry* iter = gDmaDataTable; const char** name = sDmaMgrFileNames; - while (iter->vromEnd != 0) { - if (vrom >= iter->vromStart && vrom < iter->vromEnd) { + while (iter->file.vromEnd != 0) { + if (vrom >= iter->file.vromStart && vrom < iter->file.vromEnd) { return *name; } @@ -343,8 +343,8 @@ void DmaMgr_ProcessRequest(DmaRequest* req) { // Iterate through the DMA data table until the region containing the vrom address for this request is found iter = gDmaDataTable; - while (iter->vromEnd != 0) { - if (vrom >= iter->vromStart && vrom < iter->vromEnd) { + while (iter->file.vromEnd != 0) { + if (vrom >= iter->file.vromStart && vrom < iter->file.vromEnd) { // Found the region this request falls into if (0) { @@ -357,7 +357,7 @@ void DmaMgr_ProcessRequest(DmaRequest* req) { // romEnd of 0 indicates that the file is uncompressed. Files that are stored uncompressed can have // only part of their content loaded into RAM, so DMA only the requested region. - if (iter->vromEnd < vrom + size) { + if (iter->file.vromEnd < vrom + size) { // Error, vrom + size ends up in a different file than it started in // "DMA transfers cannot cross segment boundaries" @@ -365,7 +365,7 @@ void DmaMgr_ProcessRequest(DmaRequest* req) { "セグメント境界をまたがってDMA転送することはできません", "../z_std_dma.c", 726); } - DmaMgr_DmaRomToRam(iter->romStart + (vrom - iter->vromStart), ram, size); + DmaMgr_DmaRomToRam(iter->romStart + (vrom - iter->file.vromStart), ram, size); found = true; if (0) { @@ -377,7 +377,7 @@ void DmaMgr_ProcessRequest(DmaRequest* req) { romStart = iter->romStart; romSize = iter->romEnd - iter->romStart; - if (vrom != iter->vromStart) { + if (vrom != iter->file.vromStart) { // Error, requested vrom is not the start of a file // "DMA transfer cannot be performed from the middle of a compressed segment" @@ -385,7 +385,7 @@ void DmaMgr_ProcessRequest(DmaRequest* req) { "圧縮されたセグメントの途中からはDMA転送することはできません", "../z_std_dma.c", 746); } - if (size != iter->vromEnd - iter->vromStart) { + if (size != iter->file.vromEnd - iter->file.vromStart) { // Error, only part of the file was requested // "It is not possible to DMA only part of a compressed segment" @@ -557,13 +557,14 @@ void DmaMgr_Init(void) { // Check if the ROM is compressed (romEnd not 0) sDmaMgrIsRomCompressed = false; - while (iter->vromEnd != 0) { + while (iter->file.vromEnd != 0) { if (iter->romEnd != 0) { sDmaMgrIsRomCompressed = true; } - PRINTF("%3d %08x %08x %08x %08x %08x %c %s\n", idx, iter->vromStart, iter->vromEnd, iter->romStart, - iter->romEnd, (iter->romEnd != 0) ? iter->romEnd - iter->romStart : iter->vromEnd - iter->vromStart, + PRINTF("%3d %08x %08x %08x %08x %08x %c %s\n", idx, iter->file.vromStart, iter->file.vromEnd, iter->romStart, + iter->romEnd, + (iter->romEnd != 0) ? iter->romEnd - iter->romStart : iter->file.vromEnd - iter->file.vromStart, (((iter->romEnd != 0) ? iter->romEnd - iter->romStart : 0) > 0x10000) ? '*' : ' ', name ? *name : ""); idx++; @@ -576,9 +577,9 @@ void DmaMgr_Init(void) { #endif // Ensure that the boot segment always follows after the makerom segment. - if ((uintptr_t)_bootSegmentRomStart != gDmaDataTable[0].vromEnd) { + if ((uintptr_t)_bootSegmentRomStart != gDmaDataTable[0].file.vromEnd) { PRINTF("_bootSegmentRomStart(%08x) != dma_rom_ad[0].rom_b(%08x)\n", _bootSegmentRomStart, - gDmaDataTable[0].vromEnd); + gDmaDataTable[0].file.vromEnd); //! @bug The main code file where fault.c resides is not yet loaded Fault_AddHungupAndCrash("../z_std_dma.c", 1055); } diff --git a/src/code/object_table.c b/src/code/object_table.c index dc32b44359..d0f9e936dc 100644 --- a/src/code/object_table.c +++ b/src/code/object_table.c @@ -6,24 +6,24 @@ u32 gObjectTableSize = ARRAY_COUNT(gObjectTable); // Object linker symbol declarations (used in the table below) #define DEFINE_OBJECT(name, _1) DECLARE_ROM_SEGMENT(name) -#define DEFINE_OBJECT_NULL(_0, _1) +#define DEFINE_OBJECT_EMPTY(_0, _1) #define DEFINE_OBJECT_UNSET(_0) #include "tables/object_table.h" #undef DEFINE_OBJECT -#undef DEFINE_OBJECT_NULL +#undef DEFINE_OBJECT_EMPTY #undef DEFINE_OBJECT_UNSET // Object Table definition #define DEFINE_OBJECT(name, _1) ROM_FILE(name), -#define DEFINE_OBJECT_NULL(name, _1) ROM_FILE_EMPTY(name), -#define DEFINE_OBJECT_UNSET(_0) { 0 }, +#define DEFINE_OBJECT_EMPTY(name, _1) ROM_FILE_EMPTY(name), +#define DEFINE_OBJECT_UNSET(_0) ROM_FILE_UNSET, RomFile gObjectTable[] = { #include "tables/object_table.h" }; #undef DEFINE_OBJECT -#undef DEFINE_OBJECT_NULL +#undef DEFINE_OBJECT_EMPTY #undef DEFINE_OBJECT_UNSET diff --git a/src/code/z_DLF.c b/src/code/z_DLF.c index 8c144a1cd4..42fbc4b476 100644 --- a/src/code/z_DLF.c +++ b/src/code/z_DLF.c @@ -10,7 +10,7 @@ void Overlay_LoadGameState(GameStateOverlay* overlayEntry) { if (overlayEntry->vramStart == NULL) { overlayEntry->unk_28 = 0; } else { - overlayEntry->loadedRamAddr = Overlay_AllocateAndLoad(overlayEntry->vromStart, overlayEntry->vromEnd, + overlayEntry->loadedRamAddr = Overlay_AllocateAndLoad(overlayEntry->file.vromStart, overlayEntry->file.vromEnd, overlayEntry->vramStart, overlayEntry->vramEnd); if (overlayEntry->loadedRamAddr == NULL) { diff --git a/src/code/z_actor.c b/src/code/z_actor.c index 86afb147c6..d9b7f579c5 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -2877,8 +2877,8 @@ Actor* Actor_Spawn(ActorContext* actorCtx, PlayState* play, s16 actorId, f32 pos return NULL; } - Overlay_Load(overlayEntry->vromStart, overlayEntry->vromEnd, overlayEntry->vramStart, overlayEntry->vramEnd, - overlayEntry->loadedRamAddr); + Overlay_Load(overlayEntry->file.vromStart, overlayEntry->file.vromEnd, overlayEntry->vramStart, + overlayEntry->vramEnd, overlayEntry->loadedRamAddr); PRINTF(VT_FGCOL(GREEN)); PRINTF("OVL(a):Seg:%08x-%08x Ram:%08x-%08x Off:%08x %s\n", overlayEntry->vramStart, overlayEntry->vramEnd, @@ -4324,24 +4324,24 @@ u8 Actor_ApplyDamage(Actor* actor) { void Actor_SetDropFlag(Actor* actor, ColliderElement* elem, s32 freezeFlag) { if (elem->acHitElem == NULL) { actor->dropFlag = 0x00; - } else if (freezeFlag && (elem->acHitElem->toucher.dmgFlags & (DMG_UNKNOWN_1 | DMG_MAGIC_ICE | DMG_MAGIC_FIRE))) { - actor->freezeTimer = elem->acHitElem->toucher.damage; + } else if (freezeFlag && (elem->acHitElem->atDmgInfo.dmgFlags & (DMG_UNKNOWN_1 | DMG_MAGIC_ICE | DMG_MAGIC_FIRE))) { + actor->freezeTimer = elem->acHitElem->atDmgInfo.damage; actor->dropFlag = 0x00; - } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_FIRE) { + } else if (elem->acHitElem->atDmgInfo.dmgFlags & DMG_ARROW_FIRE) { actor->dropFlag = 0x01; - } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_ICE) { + } else if (elem->acHitElem->atDmgInfo.dmgFlags & DMG_ARROW_ICE) { actor->dropFlag = 0x02; - } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_UNK1) { + } else if (elem->acHitElem->atDmgInfo.dmgFlags & DMG_ARROW_UNK1) { actor->dropFlag = 0x04; - } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_UNK2) { + } else if (elem->acHitElem->atDmgInfo.dmgFlags & DMG_ARROW_UNK2) { actor->dropFlag = 0x08; - } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_UNK3) { + } else if (elem->acHitElem->atDmgInfo.dmgFlags & DMG_ARROW_UNK3) { actor->dropFlag = 0x10; - } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_LIGHT) { + } else if (elem->acHitElem->atDmgInfo.dmgFlags & DMG_ARROW_LIGHT) { actor->dropFlag = 0x20; - } else if (elem->acHitElem->toucher.dmgFlags & DMG_MAGIC_LIGHT) { + } else if (elem->acHitElem->atDmgInfo.dmgFlags & DMG_MAGIC_LIGHT) { if (freezeFlag) { - actor->freezeTimer = elem->acHitElem->toucher.damage; + actor->freezeTimer = elem->acHitElem->atDmgInfo.damage; } actor->dropFlag = 0x40; } else { @@ -4361,24 +4361,24 @@ void Actor_SetDropFlagJntSph(Actor* actor, ColliderJntSph* jntSph, s32 freezeFla if (elem->acHitElem == NULL) { flag = 0x00; } else if (freezeFlag && - (elem->acHitElem->toucher.dmgFlags & (DMG_UNKNOWN_1 | DMG_MAGIC_ICE | DMG_MAGIC_FIRE))) { - actor->freezeTimer = elem->acHitElem->toucher.damage; + (elem->acHitElem->atDmgInfo.dmgFlags & (DMG_UNKNOWN_1 | DMG_MAGIC_ICE | DMG_MAGIC_FIRE))) { + actor->freezeTimer = elem->acHitElem->atDmgInfo.damage; flag = 0x00; - } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_FIRE) { + } else if (elem->acHitElem->atDmgInfo.dmgFlags & DMG_ARROW_FIRE) { flag = 0x01; - } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_ICE) { + } else if (elem->acHitElem->atDmgInfo.dmgFlags & DMG_ARROW_ICE) { flag = 0x02; - } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_UNK1) { + } else if (elem->acHitElem->atDmgInfo.dmgFlags & DMG_ARROW_UNK1) { flag = 0x04; - } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_UNK2) { + } else if (elem->acHitElem->atDmgInfo.dmgFlags & DMG_ARROW_UNK2) { flag = 0x08; - } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_UNK3) { + } else if (elem->acHitElem->atDmgInfo.dmgFlags & DMG_ARROW_UNK3) { flag = 0x10; - } else if (elem->acHitElem->toucher.dmgFlags & DMG_ARROW_LIGHT) { + } else if (elem->acHitElem->atDmgInfo.dmgFlags & DMG_ARROW_LIGHT) { flag = 0x20; - } else if (elem->acHitElem->toucher.dmgFlags & DMG_MAGIC_LIGHT) { + } else if (elem->acHitElem->atDmgInfo.dmgFlags & DMG_MAGIC_LIGHT) { if (freezeFlag) { - actor->freezeTimer = elem->acHitElem->toucher.damage; + actor->freezeTimer = elem->acHitElem->atDmgInfo.damage; } flag = 0x40; } else { diff --git a/src/code/z_actor_dlftbls.c b/src/code/z_actor_dlftbls.c index 0dd90d3352..4a6ce25671 100644 --- a/src/code/z_actor_dlftbls.c +++ b/src/code/z_actor_dlftbls.c @@ -26,34 +26,41 @@ #if OOT_DEBUG #define DEFINE_ACTOR(name, _1, allocType, nameString) \ - { (uintptr_t)_ovl_##name##SegmentRomStart, \ - (uintptr_t)_ovl_##name##SegmentRomEnd, \ - _ovl_##name##SegmentStart, \ - _ovl_##name##SegmentEnd, \ - NULL, \ - &name##_InitVars, \ - nameString, \ - allocType, \ - 0 }, + { \ + ROM_FILE(ovl_##name), \ + _ovl_##name##SegmentStart, \ + _ovl_##name##SegmentEnd, \ + NULL, \ + &name##_InitVars, \ + nameString, \ + allocType, \ + 0, \ + }, -#define DEFINE_ACTOR_INTERNAL(name, _1, allocType, nameString) \ - { 0, 0, NULL, NULL, NULL, &name##_InitVars, nameString, allocType, 0 }, +#define DEFINE_ACTOR_INTERNAL(name, _1, allocType, nameString) \ + { \ + ROM_FILE_UNSET, NULL, NULL, NULL, &name##_InitVars, nameString, allocType, 0, \ + }, #else // Actor name is set to NULL in retail builds -#define DEFINE_ACTOR(name, _1, allocType, _3) \ - { (uintptr_t)_ovl_##name##SegmentRomStart, \ - (uintptr_t)_ovl_##name##SegmentRomEnd, \ - _ovl_##name##SegmentStart, \ - _ovl_##name##SegmentEnd, \ - NULL, \ - &name##_InitVars, \ - NULL, \ - allocType, \ - 0 }, +#define DEFINE_ACTOR(name, _1, allocType, _3) \ + { \ + ROM_FILE(ovl_##name), \ + _ovl_##name##SegmentStart, \ + _ovl_##name##SegmentEnd, \ + NULL, \ + &name##_InitVars, \ + NULL, \ + allocType, \ + 0, \ + }, -#define DEFINE_ACTOR_INTERNAL(name, _1, allocType, _3) { 0, 0, NULL, NULL, NULL, &name##_InitVars, NULL, allocType, 0 }, +#define DEFINE_ACTOR_INTERNAL(name, _1, allocType, _3) \ + { \ + ROM_FILE_UNSET, NULL, NULL, NULL, &name##_InitVars, NULL, allocType, 0, \ + }, #endif @@ -80,7 +87,7 @@ void ActorOverlayTable_LogPrint(void) { PRINTF("RomStart RomEnd SegStart SegEnd allocp profile segname\n"); for (i = 0, overlayEntry = &gActorOverlayTable[0]; i < (u32)gMaxActorId; i++, overlayEntry++) { - PRINTF("%08x %08x %08x %08x %08x %08x %s\n", overlayEntry->vromStart, overlayEntry->vromEnd, + PRINTF("%08x %08x %08x %08x %08x %08x %s\n", overlayEntry->file.vromStart, overlayEntry->file.vromEnd, overlayEntry->vramStart, overlayEntry->vramEnd, overlayEntry->loadedRamAddr, &overlayEntry->initInfo->id, overlayEntry->name != NULL ? overlayEntry->name : "?"); } diff --git a/src/code/z_collision_check.c b/src/code/z_collision_check.c index 57510f3c48..14822cf1cd 100644 --- a/src/code/z_collision_check.c +++ b/src/code/z_collision_check.c @@ -139,18 +139,19 @@ void Collider_ResetOCBase(PlayState* play, Collider* col) { col->ocFlags2 &= ~OC2_HIT_PLAYER; } -s32 Collider_InitElementTouch(PlayState* play, ColliderElementTouch* touch) { - static ColliderElementTouch init = { 0x00000000, 0, 0 }; +s32 Collider_InitElementDamageInfoAT(PlayState* play, ColliderElementDamageInfoAT* atDmgInfo) { + static ColliderElementDamageInfoAT init = { 0x00000000, 0, 0 }; - *touch = init; + *atDmgInfo = init; return true; } -s32 Collider_DestroyElementTouch(PlayState* play, ColliderElementTouch* touch) { +s32 Collider_DestroyElementDamageInfoAT(PlayState* play, ColliderElementDamageInfoAT* atDmgInfo) { return true; } -s32 Collider_SetElementTouch(PlayState* play, ColliderElementTouch* dest, ColliderElementTouch* src) { +s32 Collider_SetElementDamageInfoAT(PlayState* play, ColliderElementDamageInfoAT* dest, + ColliderElementDamageInfoAT* src) { dest->dmgFlags = src->dmgFlags; dest->effect = src->effect; dest->damage = src->damage; @@ -160,51 +161,52 @@ s32 Collider_SetElementTouch(PlayState* play, ColliderElementTouch* dest, Collid void Collider_ResetATElement_Unk(PlayState* play, ColliderElement* elem) { } -s32 Collider_InitElementBump(PlayState* play, ColliderElementBump* bump) { - static ColliderElementBump init = { 0xFFCFFFFF, 0, 0, { 0, 0, 0 } }; +s32 Collider_InitElementDamageInfoAC(PlayState* play, ColliderElementDamageInfoAC* acDmgInfo) { + static ColliderElementDamageInfoAC init = { 0xFFCFFFFF, 0, 0, { 0, 0, 0 } }; - *bump = init; + *acDmgInfo = init; return true; } -s32 Collider_DestroyElementBump(PlayState* play, ColliderElementBump* bump) { +s32 Collider_DestroyElementDamageInfoAC(PlayState* play, ColliderElementDamageInfoAC* acDmgInfo) { return true; } -s32 Collider_SetElementBump(PlayState* play, ColliderElementBump* bump, ColliderElementBumpInit* init) { - bump->dmgFlags = init->dmgFlags; - bump->effect = init->effect; - bump->defense = init->defense; +s32 Collider_SetElementDamageInfoAC(PlayState* play, ColliderElementDamageInfoAC* acDmgInfo, + ColliderElementDamageInfoACInit* init) { + acDmgInfo->dmgFlags = init->dmgFlags; + acDmgInfo->effect = init->effect; + acDmgInfo->defense = init->defense; return true; } 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, + ELEMTYPE_UNK0, ATELEM_NONE, + ACELEM_NONE, OCELEM_NONE, NULL, NULL, NULL, NULL, }; *elem = init; - Collider_InitElementTouch(play, &elem->toucher); - Collider_InitElementBump(play, &elem->bumper); + Collider_InitElementDamageInfoAT(play, &elem->atDmgInfo); + Collider_InitElementDamageInfoAC(play, &elem->acDmgInfo); return true; } s32 Collider_DestroyElement(PlayState* play, ColliderElement* elem) { - Collider_DestroyElementTouch(play, &elem->toucher); - Collider_DestroyElementBump(play, &elem->bumper); + Collider_DestroyElementDamageInfoAT(play, &elem->atDmgInfo); + Collider_DestroyElementDamageInfoAC(play, &elem->acDmgInfo); return true; } 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; + Collider_SetElementDamageInfoAT(play, &elem->atDmgInfo, &elemInit->atDmgInfo); + Collider_SetElementDamageInfoAC(play, &elem->acDmgInfo, &elemInit->acDmgInfo); + elem->atElemFlags = elemInit->atElemFlags; + elem->acElemFlags = elemInit->acElemFlags; elem->ocElemFlags = elemInit->ocElemFlags; return true; } @@ -212,15 +214,15 @@ s32 Collider_SetElement(PlayState* play, ColliderElement* elem, ColliderElementI void Collider_ResetATElement(PlayState* play, ColliderElement* elem) { elem->atHit = NULL; elem->atHitElem = NULL; - elem->toucherFlags &= ~TOUCH_HIT; - elem->toucherFlags &= ~TOUCH_DREW_HITMARK; + elem->atElemFlags &= ~ATELEM_HIT; + elem->atElemFlags &= ~ATELEM_DREW_HITMARK; Collider_ResetATElement_Unk(play, elem); } 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->acDmgInfo.hitPos.x = elem->acDmgInfo.hitPos.y = elem->acDmgInfo.hitPos.z = 0; + elem->acElemFlags &= ~ACELEM_HIT; + elem->acElemFlags &= ~ACELEM_DRAW_HITMARK; elem->acHit = NULL; elem->acHitElem = NULL; } @@ -929,7 +931,7 @@ s32 Collider_QuadSetNearestAC(PlayState* play, ColliderQuad* quad, Vec3f* hitPos f32 acDistSq; Vec3f dcMid; - if (!(quad->elem.toucherFlags & TOUCH_NEAREST)) { + if (!(quad->elem.atElemFlags & ATELEM_NEAREST)) { return true; } Math_Vec3s_ToVec3f(&dcMid, &quad->dim.dcMid); @@ -1366,21 +1368,15 @@ s32 CollisionCheck_SetOCLine(PlayState* play, CollisionCheckContext* colChkCtx, return index; } -/** - * Skips AT elements that are off. - */ -s32 CollisionCheck_SkipElementTouch(ColliderElement* elem) { - if (!(elem->toucherFlags & TOUCH_ON)) { +s32 CollisionCheck_IsElementNotAT(ColliderElement* elem) { + if (!(elem->atElemFlags & ATELEM_ON)) { return true; } return false; } -/** - * Skips AC elements that are off. - */ -s32 CollisionCheck_SkipElementBump(ColliderElement* elem) { - if (!(elem->bumperFlags & BUMP_ON)) { +s32 CollisionCheck_IsElementNotAC(ColliderElement* elem) { + if (!(elem->acElemFlags & ACELEM_ON)) { return true; } return false; @@ -1390,7 +1386,7 @@ s32 CollisionCheck_SkipElementBump(ColliderElement* elem) { * If the AT element has no dmgFlags in common with the AC element, no collision happens. */ s32 CollisionCheck_NoSharedFlags(ColliderElement* atElem, ColliderElement* acElem) { - if (!(atElem->toucher.dmgFlags & acElem->bumper.dmgFlags)) { + if (!(atElem->atDmgInfo.dmgFlags & acElem->acDmgInfo.dmgFlags)) { return true; } return false; @@ -1538,9 +1534,9 @@ 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, ColliderElement* elem, Collider* collider, Vec3f* hitPos) { - s32 flags = elem->toucherFlags & TOUCH_SFX_MASK; + s32 flags = elem->atElemFlags & ATELEM_SFX_MASK; - if (flags == TOUCH_SFX_NORMAL && collider->colType != COLTYPE_METAL) { + if (flags == ATELEM_SFX_NORMAL && collider->colType != COLTYPE_METAL) { EffectSsHitMark_SpawnFixedScale(play, EFFECT_HITMARK_WHITE, hitPos); if (collider->actor == NULL) { Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_BOUND, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, @@ -1549,14 +1545,14 @@ void CollisionCheck_HitSolid(PlayState* play, ColliderElement* elem, Collider* c Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_BOUND, &collider->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); } - } else if (flags == TOUCH_SFX_NORMAL) { // collider->colType == COLTYPE_METAL + } else if (flags == ATELEM_SFX_NORMAL) { // collider->colType == COLTYPE_METAL EffectSsHitMark_SpawnFixedScale(play, EFFECT_HITMARK_METAL, hitPos); if (collider->actor == NULL) { CollisionCheck_SpawnShieldParticlesMetal(play, hitPos); } else { CollisionCheck_SpawnShieldParticlesMetalSfx(play, hitPos, &collider->actor->projectedPos); } - } else if (flags == TOUCH_SFX_HARD) { + } else if (flags == ATELEM_SFX_HARD) { EffectSsHitMark_SpawnFixedScale(play, EFFECT_HITMARK_WHITE, hitPos); if (collider->actor == NULL) { Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_BOUND, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, @@ -1565,7 +1561,7 @@ void CollisionCheck_HitSolid(PlayState* play, ColliderElement* elem, Collider* c Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_BOUND, &collider->actor->projectedPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); } - } else if (flags == TOUCH_SFX_WOOD) { + } else if (flags == ATELEM_SFX_WOOD) { EffectSsHitMark_SpawnFixedScale(play, EFFECT_HITMARK_DUST, hitPos); if (collider->actor == NULL) { Audio_PlaySfxGeneral(NA_SE_IT_REFLECTION_WOOD, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, @@ -1655,10 +1651,10 @@ static HitInfo sHitInfo[] = { */ void CollisionCheck_HitEffects(PlayState* play, Collider* atCol, ColliderElement* atElem, Collider* acCol, ColliderElement* acElem, Vec3f* hitPos) { - if (acElem->bumperFlags & BUMP_NO_HITMARK) { + if (acElem->acElemFlags & ACELEM_NO_HITMARK) { return; } - if (!(atElem->toucherFlags & TOUCH_AT_HITMARK) && atElem->toucherFlags & TOUCH_DREW_HITMARK) { + if (!(atElem->atElemFlags & ATELEM_AT_HITMARK) && atElem->atElemFlags & ATELEM_DREW_HITMARK) { return; } if (acCol->actor != NULL) { @@ -1677,7 +1673,7 @@ void CollisionCheck_HitEffects(PlayState* play, Collider* atCol, ColliderElement } } else if (sHitInfo[acCol->colType].effect != HIT_NONE) { EffectSsHitMark_SpawnFixedScale(play, sHitInfo[acCol->colType].effect, hitPos); - if (!(acElem->bumperFlags & BUMP_NO_SWORD_SFX)) { + if (!(acElem->acElemFlags & ACELEM_NO_SWORD_SFX)) { CollisionCheck_SwordHitAudio(atCol, acElem); } } @@ -1709,33 +1705,33 @@ s32 CollisionCheck_SetATvsAC(PlayState* play, Collider* atCol, ColliderElement* if (acCol->acFlags & AC_HARD && atCol->actor != NULL && acCol->actor != NULL) { CollisionCheck_SetBounce(atCol, acCol); } - if (!(acElem->bumperFlags & BUMP_NO_AT_INFO)) { + if (!(acElem->acElemFlags & ACELEM_NO_AT_INFO)) { atCol->atFlags |= AT_HIT; atCol->at = acCol->actor; atElem->atHit = acCol; atElem->atHitElem = acElem; - atElem->toucherFlags |= TOUCH_HIT; + atElem->atElemFlags |= ATELEM_HIT; if (atCol->actor != NULL) { - atCol->actor->colChkInfo.atHitEffect = acElem->bumper.effect; + atCol->actor->colChkInfo.atHitEffect = acElem->acDmgInfo.effect; } } acCol->acFlags |= AC_HIT; acCol->ac = atCol->actor; acElem->acHit = atCol; acElem->acHitElem = atElem; - acElem->bumperFlags |= BUMP_HIT; + acElem->acElemFlags |= ACELEM_HIT; if (acCol->actor != NULL) { - acCol->actor->colChkInfo.acHitEffect = atElem->toucher.effect; + acCol->actor->colChkInfo.acHitEffect = atElem->atDmgInfo.effect; } - 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 && + acElem->acDmgInfo.hitPos.x = hitPos->x; + acElem->acDmgInfo.hitPos.y = hitPos->y; + acElem->acDmgInfo.hitPos.z = hitPos->z; + if (!(atElem->atElemFlags & ATELEM_AT_HITMARK) && acCol->colType != COLTYPE_METAL && acCol->colType != COLTYPE_WOOD && acCol->colType != COLTYPE_HARD) { - acElem->bumperFlags |= BUMP_DRAW_HITMARK; + acElem->acElemFlags |= ACELEM_DRAW_HITMARK; } else { CollisionCheck_HitEffects(play, atCol, atElem, acCol, acElem, hitPos); - atElem->toucherFlags |= TOUCH_DREW_HITMARK; + atElem->atElemFlags |= ATELEM_DREW_HITMARK; } return true; } @@ -1751,12 +1747,12 @@ void CollisionCheck_ATJntSphVsACJntSph(PlayState* play, CollisionCheckContext* c 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) { + if (CollisionCheck_IsElementNotAT(&atJntSphElem->base) == true) { continue; } for (acJntSphElem = acJntSph->elements; acJntSphElem < acJntSph->elements + acJntSph->count; acJntSphElem++) { - if (CollisionCheck_SkipElementBump(&acJntSphElem->base) == true) { + if (CollisionCheck_IsElementNotAC(&acJntSphElem->base) == true) { continue; } if (CollisionCheck_NoSharedFlags(&atJntSphElem->base, &acJntSphElem->base) == true) { @@ -1803,11 +1799,11 @@ void CollisionCheck_ATJntSphVsACCyl(PlayState* play, CollisionCheckContext* colC f32 centerDist; if (atJntSph->count > 0 && atJntSph->elements != NULL && acCyl->dim.radius > 0 && acCyl->dim.height > 0) { - if (CollisionCheck_SkipElementBump(&acCyl->elem) == true) { + if (CollisionCheck_IsElementNotAC(&acCyl->elem) == true) { return; } for (atJntSphElem = atJntSph->elements; atJntSphElem < atJntSph->elements + atJntSph->count; atJntSphElem++) { - if (CollisionCheck_SkipElementTouch(&atJntSphElem->base) == true) { + if (CollisionCheck_IsElementNotAT(&atJntSphElem->base) == true) { continue; } if (CollisionCheck_NoSharedFlags(&atJntSphElem->base, &acCyl->elem) == true) { @@ -1855,11 +1851,11 @@ void CollisionCheck_ATCylVsACJntSph(PlayState* play, CollisionCheckContext* colC ColliderJntSphElement* acJntSphElem; if (acJntSph->count > 0 && acJntSph->elements != NULL && atCyl->dim.radius > 0 && atCyl->dim.height > 0) { - if (CollisionCheck_SkipElementTouch(&atCyl->elem) == true) { + if (CollisionCheck_IsElementNotAT(&atCyl->elem) == true) { return; } for (acJntSphElem = acJntSph->elements; acJntSphElem < acJntSph->elements + acJntSph->count; acJntSphElem++) { - if (CollisionCheck_SkipElementBump(&acJntSphElem->base) == true) { + if (CollisionCheck_IsElementNotAC(&acJntSphElem->base) == true) { continue; } if (CollisionCheck_NoSharedFlags(&atCyl->elem, &acJntSphElem->base) == true) { @@ -1910,11 +1906,11 @@ void CollisionCheck_ATJntSphVsACTris(PlayState* play, CollisionCheckContext* col 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) { + if (CollisionCheck_IsElementNotAT(&atJntSphElem->base) == true) { continue; } for (acTrisElem = acTris->elements; acTrisElem < acTris->elements + acTris->count; acTrisElem++) { - if (CollisionCheck_SkipElementBump(&acTrisElem->base) == true) { + if (CollisionCheck_IsElementNotAC(&acTrisElem->base) == true) { continue; } if (CollisionCheck_NoSharedFlags(&atJntSphElem->base, &acTrisElem->base) == true) { @@ -1952,11 +1948,11 @@ void CollisionCheck_ATTrisVsACJntSph(PlayState* play, CollisionCheckContext* col 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) { + if (CollisionCheck_IsElementNotAC(&acJntSphElem->base) == true) { continue; } for (atTrisElem = atTris->elements; atTrisElem < atTris->elements + atTris->count; atTrisElem++) { - if (CollisionCheck_SkipElementTouch(&atTrisElem->base) == true) { + if (CollisionCheck_IsElementNotAT(&atTrisElem->base) == true) { continue; } if (CollisionCheck_NoSharedFlags(&atTrisElem->base, &acJntSphElem->base) == true) { @@ -1994,13 +1990,13 @@ void CollisionCheck_ATJntSphVsACQuad(PlayState* play, CollisionCheckContext* col ColliderJntSphElement* atJntSphElem; if (atJntSph->count > 0 && atJntSph->elements != NULL) { - if (CollisionCheck_SkipElementBump(&acQuad->elem) == true) { + if (CollisionCheck_IsElementNotAC(&acQuad->elem) == true) { return; } 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) { + if (CollisionCheck_IsElementNotAT(&atJntSphElem->base) == true) { continue; } if (CollisionCheck_NoSharedFlags(&atJntSphElem->base, &acQuad->elem) == true) { @@ -2041,13 +2037,13 @@ void CollisionCheck_ATQuadVsACJntSph(PlayState* play, CollisionCheckContext* col ColliderJntSphElement* acJntSphElem; if (acJntSph->count > 0 && acJntSph->elements != NULL) { - if (CollisionCheck_SkipElementTouch(&atQuad->elem) == true) { + if (CollisionCheck_IsElementNotAT(&atQuad->elem) == true) { return; } 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) { + if (CollisionCheck_IsElementNotAC(&acJntSphElem->base) == true) { continue; } if (CollisionCheck_NoSharedFlags(&atQuad->elem, &acJntSphElem->base) == true) { @@ -2091,10 +2087,10 @@ void CollisionCheck_ATCylVsACCyl(PlayState* play, CollisionCheckContext* colChkC Vec3f hitPos; if (atCyl->dim.radius > 0 && atCyl->dim.height > 0 && acCyl->dim.radius > 0 && acCyl->dim.height > 0) { - if (CollisionCheck_SkipElementBump(&acCyl->elem) == true) { + if (CollisionCheck_IsElementNotAC(&acCyl->elem) == true) { return; } - if (CollisionCheck_SkipElementTouch(&atCyl->elem) == true) { + if (CollisionCheck_IsElementNotAT(&atCyl->elem) == true) { return; } if (CollisionCheck_NoSharedFlags(&atCyl->elem, &acCyl->elem) == true) { @@ -2128,11 +2124,11 @@ void CollisionCheck_ATCylVsACTris(PlayState* play, CollisionCheckContext* colChk Vec3f hitPos; if (atCyl->dim.radius > 0 && atCyl->dim.height > 0 && acTris->count > 0 && acTris->elements != NULL) { - if (CollisionCheck_SkipElementTouch(&atCyl->elem) == true) { + if (CollisionCheck_IsElementNotAT(&atCyl->elem) == true) { return; } for (acTrisElem = acTris->elements; acTrisElem < acTris->elements + acTris->count; acTrisElem++) { - if (CollisionCheck_SkipElementBump(&acTrisElem->base) == true) { + if (CollisionCheck_IsElementNotAC(&acTrisElem->base) == true) { continue; } if (CollisionCheck_NoSharedFlags(&atCyl->elem, &acTrisElem->base) == true) { @@ -2162,11 +2158,11 @@ void CollisionCheck_ATTrisVsACCyl(PlayState* play, CollisionCheckContext* colChk ColliderCylinder* acCyl = (ColliderCylinder*)acCol; if (acCyl->dim.radius > 0 && acCyl->dim.height > 0 && atTris->count > 0 && atTris->elements != NULL) { - if (CollisionCheck_SkipElementBump(&acCyl->elem) == true) { + if (CollisionCheck_IsElementNotAC(&acCyl->elem) == true) { return; } for (atTrisElem = atTris->elements; atTrisElem < atTris->elements + atTris->count; atTrisElem++) { - if (CollisionCheck_SkipElementTouch(&atTrisElem->base) == true) { + if (CollisionCheck_IsElementNotAT(&atTrisElem->base) == true) { continue; } if (CollisionCheck_NoSharedFlags(&atTrisElem->base, &acCyl->elem) == true) { @@ -2197,8 +2193,8 @@ void CollisionCheck_ATCylVsACQuad(PlayState* play, CollisionCheckContext* colChk ColliderQuad* acQuad = (ColliderQuad*)acCol; if (atCyl->dim.height > 0 && atCyl->dim.radius > 0) { - if (CollisionCheck_SkipElementTouch(&atCyl->elem) == true || - CollisionCheck_SkipElementBump(&acQuad->elem) == true) { + if (CollisionCheck_IsElementNotAT(&atCyl->elem) == true || + CollisionCheck_IsElementNotAC(&acQuad->elem) == true) { return; } if (CollisionCheck_NoSharedFlags(&atCyl->elem, &acQuad->elem) == true) { @@ -2253,8 +2249,8 @@ void CollisionCheck_ATQuadVsACCyl(PlayState* play, CollisionCheckContext* colChk ColliderCylinder* acCyl = (ColliderCylinder*)acCol; if (acCyl->dim.height > 0 && acCyl->dim.radius > 0) { - if (CollisionCheck_SkipElementBump(&acCyl->elem) == true || - CollisionCheck_SkipElementTouch(&atQuad->elem) == true) { + if (CollisionCheck_IsElementNotAC(&acCyl->elem) == true || + CollisionCheck_IsElementNotAT(&atQuad->elem) == true) { return; } if (CollisionCheck_NoSharedFlags(&atQuad->elem, &acCyl->elem) == true) { @@ -2319,11 +2315,11 @@ void CollisionCheck_ATTrisVsACTris(PlayState* play, CollisionCheckContext* colCh 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) { + if (CollisionCheck_IsElementNotAC(&acTrisElem->base) == true) { continue; } for (atTrisElem = atTris->elements; atTrisElem < atTris->elements + atTris->count; atTrisElem++) { - if (CollisionCheck_SkipElementTouch(&atTrisElem->base) == true) { + if (CollisionCheck_IsElementNotAT(&atTrisElem->base) == true) { continue; } if (CollisionCheck_NoSharedFlags(&atTrisElem->base, &acTrisElem->base) == true) { @@ -2369,13 +2365,13 @@ void CollisionCheck_ATTrisVsACQuad(PlayState* play, CollisionCheckContext* colCh ColliderQuad* acQuad = (ColliderQuad*)acCol; if (atTris->count > 0 && atTris->elements != NULL) { - if (CollisionCheck_SkipElementBump(&acQuad->elem) == true) { + if (CollisionCheck_IsElementNotAC(&acQuad->elem) == true) { return; } 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) { + if (CollisionCheck_IsElementNotAT(&atTrisElem->base) == true) { continue; } if (CollisionCheck_NoSharedFlags(&atTrisElem->base, &acQuad->elem) == true) { @@ -2416,13 +2412,13 @@ void CollisionCheck_ATQuadVsACTris(PlayState* play, CollisionCheckContext* colCh ColliderTrisElement* acTrisElem; if (acTris->count > 0 && acTris->elements != NULL) { - if (CollisionCheck_SkipElementTouch(&atQuad->elem) == true) { + if (CollisionCheck_IsElementNotAT(&atQuad->elem) == true) { return; } 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) { + if (CollisionCheck_IsElementNotAC(&acTrisElem->base) == true) { continue; } if (CollisionCheck_NoSharedFlags(&atQuad->elem, &acTrisElem->base) == true) { @@ -2468,10 +2464,10 @@ void CollisionCheck_ATQuadVsACQuad(PlayState* play, CollisionCheckContext* colCh s32 i; s32 j; - if (CollisionCheck_SkipElementTouch(&atQuad->elem) == true) { + if (CollisionCheck_IsElementNotAT(&atQuad->elem) == true) { return; } - if (CollisionCheck_SkipElementBump(&acQuad->elem) == true) { + if (CollisionCheck_IsElementNotAC(&acQuad->elem) == true) { return; } if (CollisionCheck_NoSharedFlags(&atQuad->elem, &acQuad->elem) == true) { @@ -2522,14 +2518,14 @@ void CollisionCheck_SetJntSphHitFX(PlayState* play, CollisionCheckContext* colCh ColliderJntSphElement* jntSphElem; 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)) { + if ((jntSphElem->base.acElemFlags & ACELEM_DRAW_HITMARK) && (jntSphElem->base.acHitElem != NULL) && + !(jntSphElem->base.acHitElem->atElemFlags & ATELEM_DREW_HITMARK)) { Vec3f hitPos; - Math_Vec3s_ToVec3f(&hitPos, &jntSphElem->base.bumper.hitPos); + Math_Vec3s_ToVec3f(&hitPos, &jntSphElem->base.acDmgInfo.hitPos); CollisionCheck_HitEffects(play, jntSphElem->base.acHit, jntSphElem->base.acHitElem, &jntSph->base, &jntSphElem->base, &hitPos); - jntSphElem->base.acHitElem->toucherFlags |= TOUCH_DREW_HITMARK; + jntSphElem->base.acHitElem->atElemFlags |= ATELEM_DREW_HITMARK; return; } } @@ -2538,13 +2534,13 @@ void CollisionCheck_SetJntSphHitFX(PlayState* play, CollisionCheckContext* colCh void CollisionCheck_SetCylHitFX(PlayState* play, CollisionCheckContext* colChkCtx, Collider* col) { ColliderCylinder* cyl = (ColliderCylinder*)col; - if ((cyl->elem.bumperFlags & BUMP_DRAW_HITMARK) && (cyl->elem.acHitElem != NULL) && - !(cyl->elem.acHitElem->toucherFlags & TOUCH_DREW_HITMARK)) { + if ((cyl->elem.acElemFlags & ACELEM_DRAW_HITMARK) && (cyl->elem.acHitElem != NULL) && + !(cyl->elem.acHitElem->atElemFlags & ATELEM_DREW_HITMARK)) { Vec3f hitPos; - Math_Vec3s_ToVec3f(&hitPos, &cyl->elem.bumper.hitPos); + Math_Vec3s_ToVec3f(&hitPos, &cyl->elem.acDmgInfo.hitPos); CollisionCheck_HitEffects(play, cyl->elem.acHit, cyl->elem.acHitElem, &cyl->base, &cyl->elem, &hitPos); - cyl->elem.acHitElem->toucherFlags |= TOUCH_DREW_HITMARK; + cyl->elem.acHitElem->atElemFlags |= ATELEM_DREW_HITMARK; } } @@ -2553,14 +2549,14 @@ void CollisionCheck_SetTrisHitFX(PlayState* play, CollisionCheckContext* colChkC ColliderTrisElement* trisElem; 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)) { + if ((trisElem->base.acElemFlags & ACELEM_DRAW_HITMARK) && (trisElem->base.acHitElem != NULL) && + !(trisElem->base.acHitElem->atElemFlags & ATELEM_DREW_HITMARK)) { Vec3f hitPos; - Math_Vec3s_ToVec3f(&hitPos, &trisElem->base.bumper.hitPos); + Math_Vec3s_ToVec3f(&hitPos, &trisElem->base.acDmgInfo.hitPos); CollisionCheck_HitEffects(play, trisElem->base.acHit, trisElem->base.acHitElem, &tris->base, &trisElem->base, &hitPos); - trisElem->base.acHitElem->toucherFlags |= TOUCH_DREW_HITMARK; + trisElem->base.acHitElem->atElemFlags |= ATELEM_DREW_HITMARK; return; } } @@ -2570,11 +2566,11 @@ void CollisionCheck_SetQuadHitFX(PlayState* play, CollisionCheckContext* colChkC ColliderQuad* quad = (ColliderQuad*)col; Vec3f hitPos; - 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); + if ((quad->elem.acElemFlags & ACELEM_DRAW_HITMARK) && (quad->elem.acHitElem != NULL) && + !(quad->elem.acHitElem->atElemFlags & ATELEM_DREW_HITMARK)) { + Math_Vec3s_ToVec3f(&hitPos, &quad->elem.acDmgInfo.hitPos); CollisionCheck_HitEffects(play, quad->elem.acHit, quad->elem.acHitElem, &quad->base, &quad->elem, &hitPos); - quad->elem.acHitElem->toucherFlags |= TOUCH_DREW_HITMARK; + quad->elem.acHitElem->atElemFlags |= ATELEM_DREW_HITMARK; } } @@ -2661,7 +2657,7 @@ void CollisionCheck_AC(PlayState* play, CollisionCheckContext* colChkCtx, Collid * Iterates through all AT colliders, testing them for AC collisions with each AC collider, setting the info regarding * the collision for each AC and AT collider that collided. Then spawns hitmarks and plays sound effects for each * successful collision. To collide, an AT collider must share a type (AC_TYPE_PLAYER, AC_TYPE_ENEMY, or AC_TYPE_OTHER) - * with the AC collider and the toucher and bumper elements that overlapped must share a dmgFlag. + * with the AC collider and the AT and AC elements that overlapped must share a dmgFlag. */ void CollisionCheck_AT(PlayState* play, CollisionCheckContext* colChkCtx) { Collider** atColP; @@ -3052,20 +3048,20 @@ void CollisionCheck_ApplyDamage(PlayState* play, CollisionCheckContext* colChkCt if (col->actor == NULL || !(col->acFlags & AC_HIT)) { return; } - if (!(elem->bumperFlags & BUMP_HIT) || elem->bumperFlags & BUMP_NO_DAMAGE) { + if (!(elem->acElemFlags & ACELEM_HIT) || elem->acElemFlags & ACELEM_NO_DAMAGE) { return; } 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)elem->acHitElem->toucher.damage - elem->bumper.defense; + damage = (f32)elem->acHitElem->atDmgInfo.damage - elem->acDmgInfo.defense; if (damage < 0) { damage = 0; } } else { s32 i; - u32 flags = elem->acHitElem->toucher.dmgFlags; + u32 flags = elem->acHitElem->atDmgInfo.dmgFlags; for (i = 0; i < 32; i++, flags >>= 1) { if (flags == 1) { diff --git a/src/code/z_demo.c b/src/code/z_demo.c index 68b67de0f3..9e99975a62 100644 --- a/src/code/z_demo.c +++ b/src/code/z_demo.c @@ -2204,7 +2204,8 @@ void Cutscene_ProcessScript(PlayState* play, CutsceneContext* csCtx, u8* script) void CutsceneHandler_RunScript(PlayState* play, CutsceneContext* csCtx) { if (gSaveContext.save.cutsceneIndex >= 0xFFF0) { - if (OOT_DEBUG && BREG(0) != 0) { +#if OOT_DEBUG + if (BREG(0) != 0) { Gfx* displayList; Gfx* prevDisplayList; @@ -2218,8 +2219,11 @@ void CutsceneHandler_RunScript(PlayState* play, CutsceneContext* csCtx) { Gfx_Close(prevDisplayList, displayList); POLY_OPA_DISP = displayList; + if (1) {} CLOSE_DISPS(play->state.gfxCtx, "../z_demo.c", 4108); } +#endif + csCtx->curFrame++; if (OOT_DEBUG && R_USE_DEBUG_CUTSCENE) { diff --git a/src/code/z_effect_soft_sprite.c b/src/code/z_effect_soft_sprite.c index c1ef1bb7af..2fddd82707 100644 --- a/src/code/z_effect_soft_sprite.c +++ b/src/code/z_effect_soft_sprite.c @@ -12,7 +12,8 @@ void EffectSs_InitInfo(PlayState* play, s32 tableSize) { for (i = 0; i < ARRAY_COUNT(gEffectSsOverlayTable); i++) { overlay = &gEffectSsOverlayTable[i]; PRINTF("effect index %3d:size=%6dbyte romsize=%6dbyte\n", i, - (uintptr_t)overlay->vramEnd - (uintptr_t)overlay->vramStart, overlay->vromEnd - overlay->vromStart); + (uintptr_t)overlay->vramEnd - (uintptr_t)overlay->vramStart, + overlay->file.vromEnd - overlay->file.vromStart); } #endif @@ -205,13 +206,13 @@ void EffectSs_Spawn(PlayState* play, s32 type, s32 priority, void* initParams) { return; } - Overlay_Load(overlayEntry->vromStart, overlayEntry->vromEnd, overlayEntry->vramStart, overlayEntry->vramEnd, - overlayEntry->loadedRamAddr); + Overlay_Load(overlayEntry->file.vromStart, overlayEntry->file.vromEnd, overlayEntry->vramStart, + overlayEntry->vramEnd, overlayEntry->loadedRamAddr); PRINTF(VT_FGCOL(GREEN)); - PRINTF("EFFECT SS OVL:SegRom %08x %08x, Seg %08x %08x, RamStart %08x, type: %d\n", overlayEntry->vromStart, - overlayEntry->vromEnd, overlayEntry->vramStart, overlayEntry->vramEnd, overlayEntry->loadedRamAddr, - type); + PRINTF("EFFECT SS OVL:SegRom %08x %08x, Seg %08x %08x, RamStart %08x, type: %d\n", + overlayEntry->file.vromStart, overlayEntry->file.vromEnd, overlayEntry->vramStart, + overlayEntry->vramEnd, overlayEntry->loadedRamAddr, type); PRINTF(VT_RST); } diff --git a/src/code/z_effect_soft_sprite_dlftbls.c b/src/code/z_effect_soft_sprite_dlftbls.c index e8e2f9280b..3fb498b33f 100644 --- a/src/code/z_effect_soft_sprite_dlftbls.c +++ b/src/code/z_effect_soft_sprite_dlftbls.c @@ -19,18 +19,15 @@ #undef DEFINE_EFFECT_SS_UNSET // Effect SS Overlay Table definition -#define DEFINE_EFFECT_SS(name, _1) \ - { \ - (uintptr_t)_ovl_##name##SegmentRomStart, \ - (uintptr_t)_ovl_##name##SegmentRomEnd, \ - _ovl_##name##SegmentStart, \ - _ovl_##name##SegmentEnd, \ - NULL, \ - &name##_InitVars, \ - 1, \ +#define DEFINE_EFFECT_SS(name, _1) \ + { \ + ROM_FILE(ovl_##name), _ovl_##name##SegmentStart, _ovl_##name##SegmentEnd, NULL, &name##_InitVars, 1, \ }, -#define DEFINE_EFFECT_SS_UNSET(_0) { 0 }, +#define DEFINE_EFFECT_SS_UNSET(_0) \ + { \ + ROM_FILE_UNSET, NULL, NULL, NULL, NULL, 0, \ + }, EffectSsOverlay gEffectSsOverlayTable[] = { #include "tables/effect_ss_table.h" diff --git a/src/code/z_en_a_keep.c b/src/code/z_en_a_keep.c index 33adc258c9..21c5ebd757 100644 --- a/src/code/z_en_a_keep.c +++ b/src/code/z_en_a_keep.c @@ -45,8 +45,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK2, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 25, 60, 0, { 0, 0, 0 } }, diff --git a/src/code/z_en_item00.c b/src/code/z_en_item00.c index 23bc99f828..9e2e762498 100644 --- a/src/code/z_en_item00.c +++ b/src/code/z_en_item00.c @@ -45,8 +45,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000010, 0x00, 0x00 }, - TOUCH_NONE | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_NONE | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_NONE, }, { 10, 30, 0, { 0, 0, 0 } }, diff --git a/src/code/z_game_dlftbls.c b/src/code/z_game_dlftbls.c index 8e9f00fecb..2cad84089d 100644 --- a/src/code/z_game_dlftbls.c +++ b/src/code/z_game_dlftbls.c @@ -10,22 +10,26 @@ #undef DEFINE_GAMESTATE_INTERNAL // Gamestate Overlay Table definition -#define DEFINE_GAMESTATE_INTERNAL(typeName, enumName) \ - { NULL, 0, 0, NULL, NULL, NULL, typeName##_Init, typeName##_Destroy, NULL, NULL, 0, sizeof(typeName##State) }, +#define DEFINE_GAMESTATE_INTERNAL(typeName, enumName) \ + { \ + NULL, ROM_FILE_UNSET, NULL, NULL, NULL, typeName##_Init, typeName##_Destroy, NULL, NULL, \ + 0, sizeof(typeName##State), \ + }, #define DEFINE_GAMESTATE(typeName, enumName, name) \ - { NULL, \ - (uintptr_t)_ovl_##name##SegmentRomStart, \ - (uintptr_t)_ovl_##name##SegmentRomEnd, \ - _ovl_##name##SegmentStart, \ - _ovl_##name##SegmentEnd, \ - NULL, \ - typeName##_Init, \ - typeName##_Destroy, \ - NULL, \ - NULL, \ - 0, \ - sizeof(typeName##State) }, + { \ + NULL, \ + ROM_FILE(ovl_##name), \ + _ovl_##name##SegmentStart, \ + _ovl_##name##SegmentEnd, \ + NULL, \ + typeName##_Init, \ + typeName##_Destroy, \ + NULL, \ + NULL, \ + 0, \ + sizeof(typeName##State), \ + }, GameStateOverlay gGameStateOverlayTable[] = { #include "tables/gamestate_table.h" diff --git a/src/code/z_kaleido_manager.c b/src/code/z_kaleido_manager.c index 6792b34f92..954cbcf3f2 100644 --- a/src/code/z_kaleido_manager.c +++ b/src/code/z_kaleido_manager.c @@ -1,11 +1,8 @@ #include "global.h" #include "terminal.h" -#define KALEIDO_OVERLAY(name, nameString) \ - { \ - NULL, (uintptr_t)_ovl_##name##SegmentRomStart, (uintptr_t)_ovl_##name##SegmentRomEnd, \ - _ovl_##name##SegmentStart, _ovl_##name##SegmentEnd, 0, nameString, \ - } +#define KALEIDO_OVERLAY(name, nameString) \ + { NULL, ROM_FILE(ovl_##name), _ovl_##name##SegmentStart, _ovl_##name##SegmentEnd, 0, nameString, } KaleidoMgrOverlay gKaleidoMgrOverlayTable[] = { KALEIDO_OVERLAY(kaleido_scope, "kaleido_scope"), @@ -20,7 +17,7 @@ void KaleidoManager_LoadOvl(KaleidoMgrOverlay* ovl) { LOG_UTILS_CHECK_NULL_POINTER("KaleidoArea_allocp", sKaleidoAreaPtr, "../z_kaleido_manager.c", 99); ovl->loadedRamAddr = sKaleidoAreaPtr; - Overlay_Load(ovl->vromStart, ovl->vromEnd, ovl->vramStart, ovl->vramEnd, ovl->loadedRamAddr); + Overlay_Load(ovl->file.vromStart, ovl->file.vromEnd, ovl->vramStart, ovl->vramEnd, ovl->loadedRamAddr); PRINTF(VT_FGCOL(GREEN)); PRINTF("OVL(k):Seg:%08x-%08x Ram:%08x-%08x Off:%08x %s\n", ovl->vramStart, ovl->vramEnd, ovl->loadedRamAddr, diff --git a/src/code/z_map_mark.c b/src/code/z_map_mark.c index 31d9f93ad2..f6cc28833e 100644 --- a/src/code/z_map_mark.c +++ b/src/code/z_map_mark.c @@ -16,8 +16,7 @@ typedef struct { typedef struct { /* 0x00 */ void* loadedRamAddr; // original name: "allocp" - /* 0x04 */ uintptr_t vromStart; - /* 0x08 */ uintptr_t vromEnd; + /* 0x04 */ RomFile file; /* 0x0C */ void* vramStart; /* 0x10 */ void* vramEnd; /* 0x14 */ void* vramTable; @@ -43,12 +42,7 @@ static MapMarkInfo sMapMarkInfoTable[] = { }; static MapMarkDataOverlay sMapMarkDataOvl = { - NULL, - (uintptr_t)_ovl_map_mark_dataSegmentRomStart, - (uintptr_t)_ovl_map_mark_dataSegmentRomEnd, - _ovl_map_mark_dataSegmentStart, - _ovl_map_mark_dataSegmentEnd, - gMapMarkDataTable, + NULL, ROM_FILE(ovl_map_mark_data), _ovl_map_mark_dataSegmentStart, _ovl_map_mark_dataSegmentEnd, gMapMarkDataTable, }; static MapMarkData** sLoadedMarkDataTable; @@ -60,7 +54,8 @@ void MapMark_Init(PlayState* play) { overlay->loadedRamAddr = GAME_STATE_ALLOC(&play->state, overlaySize, "../z_map_mark.c", 235); LOG_UTILS_CHECK_NULL_POINTER("dlftbl->allocp", overlay->loadedRamAddr, "../z_map_mark.c", 236); - Overlay_Load(overlay->vromStart, overlay->vromEnd, overlay->vramStart, overlay->vramEnd, overlay->loadedRamAddr); + Overlay_Load(overlay->file.vromStart, overlay->file.vromEnd, overlay->vramStart, overlay->vramEnd, + overlay->loadedRamAddr); sLoadedMarkDataTable = gMapMarkDataTable; sLoadedMarkDataTable = diff --git a/src/code/z_message_PAL.c b/src/code/z_message_PAL.c index 8b98ed0aa3..c1474dcd55 100644 --- a/src/code/z_message_PAL.c +++ b/src/code/z_message_PAL.c @@ -30,24 +30,28 @@ u16 sOcarinaSongBitFlags = 0; // ocarina bit flags MessageTableEntry sNesMessageEntryTable[] = { #define DEFINE_MESSAGE(textId, type, yPos, nesMessage, gerMessage, fraMessage) \ { textId, (_SHIFTL(type, 4, 8) | _SHIFTL(yPos, 0, 8)), _message_##textId##_nes }, -#define DEFINE_MESSAGE_FFFC +#define DEFINE_MESSAGE_NES(textId, type, yPos, nesMessage) DEFINE_MESSAGE(textId, type, yPos, nesMessage, , ) #include "assets/text/message_data.h" -#undef DEFINE_MESSAGE_FFFC #undef DEFINE_MESSAGE +#undef DEFINE_MESSAGE_NES { 0xFFFF, 0, NULL }, }; const char* sGerMessageEntryTable[] = { #define DEFINE_MESSAGE(textId, type, yPos, nesMessage, gerMessage, fraMessage) _message_##textId##_ger, +#define DEFINE_MESSAGE_NES(textId, type, yPos, nesMessage) #include "assets/text/message_data.h" #undef DEFINE_MESSAGE +#undef DEFINE_MESSAGE_NES NULL, }; const char* sFraMessageEntryTable[] = { #define DEFINE_MESSAGE(textId, type, yPos, nesMessage, gerMessage, fraMessage) _message_##textId##_fra, +#define DEFINE_MESSAGE_NES(textId, type, yPos, nesMessage) #include "assets/text/message_data.h" #undef DEFINE_MESSAGE +#undef DEFINE_MESSAGE_NES NULL, }; diff --git a/src/dmadata/dmadata.c b/src/dmadata/dmadata.c index 20740d2715..93ea2b4d33 100644 --- a/src/dmadata/dmadata.c +++ b/src/dmadata/dmadata.c @@ -10,8 +10,12 @@ #undef DEFINE_DMA_ENTRY // dmadata Table definition -#define DEFINE_DMA_ENTRY(name, _1) \ - { (uintptr_t)_##name##SegmentRomStart, (uintptr_t)_##name##SegmentRomEnd, (uintptr_t)_##name##SegmentRomStart, 0 }, +#define DEFINE_DMA_ENTRY(name, _1) \ + { \ + ROM_FILE(name), \ + (uintptr_t)_##name##SegmentRomStart, \ + 0, \ + }, DmaEntry gDmaDataTable[] = { #include "tables/dmadata_table.h" diff --git a/src/gcc_fix/missing_gcc_functions.c b/src/gcc_fix/missing_gcc_functions.c index b4d87a8926..b955569372 100644 --- a/src/gcc_fix/missing_gcc_functions.c +++ b/src/gcc_fix/missing_gcc_functions.c @@ -10,10 +10,10 @@ // Self-hosted libc memory functions, gcc assumes these exist even in a freestanding // environment and there is no way to tell it otherwise. -int memcmp(void* s1, const void* s2, size_t n) { - u8* m1 = (u8*)s1; - u8* m2 = (u8*)s2; - u32 i; +int memcmp(const void* s1, const void* s2, size_t n) { + const u8* m1 = s1; + const u8* m2 = s2; + size_t i; for (i = 0; i < n; i++) { if (m1[i] < m2[i]) { @@ -26,17 +26,38 @@ int memcmp(void* s1, const void* s2, size_t n) { return 0; } -void* memset(void* str, s32 c, size_t n) { - u8* m1 = (u8*)str; - u32 i; +void* memset(void* str, int c, size_t n) { + u8* m = str; + size_t i; for (i = 0; i < n; i++) { - m1[i] = c; + m[i] = c; } return str; } +void* memmove(void* dest, const void* src, size_t len) { + u8* d = dest; + const u8* s = src; + + if (d == s) { + return dest; + } + if (d < s) { + while (len--) { + *d++ = *s++; + } + } else { + d += len - 1; + s += len - 1; + while (len--) { + *d-- = *s--; + } + } + return dest; +} + // Conversions involving 64-bit integer types required by the O32 MIPS ABI. // f32 -> u64, negative values become 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 d085142969..9552c45460 100644 --- a/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c +++ b/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c @@ -36,8 +36,8 @@ static ColliderQuadInit sQuadInit = { ELEMTYPE_UNK2, { 0x00000080, 0x00, 0x01 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_NEAREST | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_NEAREST | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, @@ -154,7 +154,7 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) { Actor* touchedActor = this->collider.base.at; if ((touchedActor->update != NULL) && (touchedActor->flags & (ACTOR_FLAG_9 | ACTOR_FLAG_10))) { - if (this->collider.elem.atHitElem->bumperFlags & BUMP_HOOKABLE) { + if (this->collider.elem.atHitElem->acElemFlags & ACELEM_HOOKABLE) { ArmsHook_AttachHookToActor(this, touchedActor); if (CHECK_FLAG_ALL(touchedActor->flags, ACTOR_FLAG_10)) { func_80865044(this); 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 d263d8bce4..bd1270ab2f 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 @@ -68,8 +68,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_HARD, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_HARD, + ACELEM_NONE, OCELEM_NONE, }, { 0x00BB, 0x0050, 0x0000, { 0 } }, diff --git a/src/overlays/actors/ovl_Bg_Bdan_Switch/z_bg_bdan_switch.c b/src/overlays/actors/ovl_Bg_Bdan_Switch/z_bg_bdan_switch.c index d754036fb5..cba055ea84 100644 --- a/src/overlays/actors/ovl_Bg_Bdan_Switch/z_bg_bdan_switch.c +++ b/src/overlays/actors/ovl_Bg_Bdan_Switch/z_bg_bdan_switch.c @@ -60,8 +60,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xEFC1FFFE, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 0, { { 0, 120, 0 }, 370 }, 100 }, diff --git a/src/overlays/actors/ovl_Bg_Bombwall/z_bg_bombwall.c b/src/overlays/actors/ovl_Bg_Bombwall/z_bg_bombwall.c index 3d12a423bc..ff7ebd99c2 100644 --- a/src/overlays/actors/ovl_Bg_Bombwall/z_bg_bombwall.c +++ b/src/overlays/actors/ovl_Bg_Bombwall/z_bg_bombwall.c @@ -26,8 +26,8 @@ static ColliderTrisElementInit sTrisElementsInit[3] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x40000048, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { -70.0f, 176.0f, 0.0f }, { -70.0f, -4.0f, 0.0f }, { 0.0f, -4.0f, 30.0f } } }, @@ -37,8 +37,8 @@ static ColliderTrisElementInit sTrisElementsInit[3] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x40000048, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 70.0f, 176.0f, 0.0f }, { -70.0f, 176.0f, 0.0f }, { 0.0f, -4.0f, 30.0f } } }, @@ -48,8 +48,8 @@ static ColliderTrisElementInit sTrisElementsInit[3] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x40000048, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 70.0f, -4.0f, 0.0f }, { 70.0f, 176.0f, 0.0f }, { 0.0f, -4.0f, 30.0f } } }, 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 522a139eed..ef92c82eec 100644 --- a/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c +++ b/src/overlays/actors/ovl_Bg_Breakwall/z_bg_breakwall.c @@ -51,8 +51,8 @@ static ColliderQuadInit sQuadInit = { ELEMTYPE_UNK0, { 0x00000048, 0x00, 0x00 }, { 0x00000048, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, diff --git a/src/overlays/actors/ovl_Bg_Ddan_Kd/z_bg_ddan_kd.c b/src/overlays/actors/ovl_Bg_Ddan_Kd/z_bg_ddan_kd.c index f5cc8bd9c5..f5396acc28 100644 --- a/src/overlays/actors/ovl_Bg_Ddan_Kd/z_bg_ddan_kd.c +++ b/src/overlays/actors/ovl_Bg_Ddan_Kd/z_bg_ddan_kd.c @@ -43,8 +43,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK2, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 245, 180, -400, { 0, 0, 0 } }, 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 dc28fe90ef..d1ccf08fc0 100644 --- a/src/overlays/actors/ovl_Bg_Dodoago/z_bg_dodoago.c +++ b/src/overlays/actors/ovl_Bg_Dodoago/z_bg_dodoago.c @@ -45,8 +45,8 @@ static ColliderCylinderInit sColCylinderInitMain = { ELEMTYPE_UNK2, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 80, 30, 80, { 0, 0, 0 } }, @@ -65,8 +65,8 @@ static ColliderCylinderInit sColCylinderInitLeftRight = { ELEMTYPE_UNK2, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 50, 60, 280, { 0, 0, 0 } }, 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 e717fcc356..05cf7cde56 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 @@ -44,8 +44,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x00 }, { 0x00020800, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 50, 20, 20, { 0, 0, 0 } }, diff --git a/src/overlays/actors/ovl_Bg_Haka_Sgami/z_bg_haka_sgami.c b/src/overlays/actors/ovl_Bg_Haka_Sgami/z_bg_haka_sgami.c index 6a1963aeab..c96055ac4a 100644 --- a/src/overlays/actors/ovl_Bg_Haka_Sgami/z_bg_haka_sgami.c +++ b/src/overlays/actors/ovl_Bg_Haka_Sgami/z_bg_haka_sgami.c @@ -44,8 +44,8 @@ static ColliderTrisElementInit sTrisElementsInit[4] = { ELEMTYPE_UNK2, { 0x20000000, 0x00, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { { { 365.0f, 45.0f, 27.0f }, { 130.0f, 45.0f, 150.0f }, { 290.0f, 45.0f, 145.0f } } }, @@ -55,8 +55,8 @@ static ColliderTrisElementInit sTrisElementsInit[4] = { ELEMTYPE_UNK2, { 0x20000000, 0x00, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { { { 250.0f, 45.0f, 90.0f }, { 50.0f, 45.0f, 80.0f }, { 160.0f, 45.0f, 160.0f } } }, @@ -66,8 +66,8 @@ static ColliderTrisElementInit sTrisElementsInit[4] = { ELEMTYPE_UNK2, { 0x20000000, 0x00, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { { { -305.0f, 33.0f, -7.0f }, { -220.0f, 33.0f, 40.0f }, { -130.0f, 33.0f, -5.0f } } }, @@ -77,8 +77,8 @@ static ColliderTrisElementInit sTrisElementsInit[4] = { ELEMTYPE_UNK2, { 0x20000000, 0x00, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { { { -190.0f, 33.0f, 40.0f }, { -30.0f, 33.0f, 15.0f }, { -70.0f, 33.0f, -30.0f } } }, @@ -111,8 +111,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 80, 130, 0, { 0, 0, 0 } }, 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 5c0a4fc067..c65a1a2f0a 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 @@ -54,8 +54,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 30, 90, 0, { 0, 0, 0 } }, @@ -67,8 +67,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00020000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 1800.0f, 1200.0f, 0.0f }, { -1800.0f, 1200.0f, 0.0f }, { -1800.0f, 0.0f, 0.0f } } }, @@ -78,8 +78,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00020000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 1800.0f, 1200.0f, 0.0f }, { -1800.0f, 0.0f, 0.0f }, { 1800.0f, 0.0f, 0.0f } } }, @@ -166,8 +166,8 @@ void BgHakaTrap_Init(Actor* thisx, PlayState* play) { this->colliderCylinder.dim.radius = 18; this->colliderCylinder.dim.height = 115; - this->colliderCylinder.elem.toucherFlags &= ~TOUCH_SFX_NORMAL; - this->colliderCylinder.elem.toucherFlags |= TOUCH_SFX_WOOD; + this->colliderCylinder.elem.atElemFlags &= ~ATELEM_SFX_NORMAL; + this->colliderCylinder.elem.atElemFlags |= ATELEM_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 fbc49da85c..c499e31915 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 @@ -43,8 +43,8 @@ static ColliderCylinderInit sPotColliderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 25, 60, 30, { 0, 0, 0 } }, @@ -63,8 +63,8 @@ static ColliderCylinderInit sFlamesColliderInit = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_ON, }, { 60, 45, 235, { 0, 0, 0 } }, diff --git a/src/overlays/actors/ovl_Bg_Haka_Zou/z_bg_haka_zou.c b/src/overlays/actors/ovl_Bg_Haka_Zou/z_bg_haka_zou.c index cab46b4461..781dd579b4 100644 --- a/src/overlays/actors/ovl_Bg_Haka_Zou/z_bg_haka_zou.c +++ b/src/overlays/actors/ovl_Bg_Haka_Zou/z_bg_haka_zou.c @@ -45,8 +45,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 5, 60, 0, { 0, 0, 0 } }, 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 536a8abcdd..394a828b61 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 @@ -42,8 +42,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_ON, }, { 81, 144, 0, { 0, 0, 0 } }, 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 5d91381a97..16e1d80423 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 @@ -35,8 +35,8 @@ static ColliderTrisElementInit sTrisElementInit[4] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000040, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_NO_AT_INFO | BUMP_NO_DAMAGE | BUMP_NO_SWORD_SFX | BUMP_NO_HITMARK, + ATELEM_NONE, + ACELEM_ON | ACELEM_NO_AT_INFO | ACELEM_NO_DAMAGE | ACELEM_NO_SWORD_SFX | ACELEM_NO_HITMARK, OCELEM_NONE, }, { { { 305.0f, 0.0f, -300.0f }, { 305.0f, 600.0f, -300.0f }, { 305.0f, 600.0f, 300.0f } } }, @@ -46,8 +46,8 @@ static ColliderTrisElementInit sTrisElementInit[4] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000040, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_NO_AT_INFO | BUMP_NO_DAMAGE | BUMP_NO_SWORD_SFX | BUMP_NO_HITMARK, + ATELEM_NONE, + ACELEM_ON | ACELEM_NO_AT_INFO | ACELEM_NO_DAMAGE | ACELEM_NO_SWORD_SFX | ACELEM_NO_HITMARK, OCELEM_NONE, }, { { { 305.0f, 0.0f, -300.0f }, { 305.0f, 600.0f, 300.0f }, { 305.0f, 0.0f, 300.0f } } }, @@ -57,8 +57,8 @@ static ColliderTrisElementInit sTrisElementInit[4] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000040, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_NO_AT_INFO | BUMP_NO_DAMAGE | BUMP_NO_SWORD_SFX | BUMP_NO_HITMARK, + ATELEM_NONE, + ACELEM_ON | ACELEM_NO_AT_INFO | ACELEM_NO_DAMAGE | ACELEM_NO_SWORD_SFX | ACELEM_NO_HITMARK, OCELEM_NONE, }, { { { -305.0f, 0.0f, -300.0f }, { -305.0f, 600.0f, 300.0f }, { -305.0f, 600.0f, -300.0f } } }, @@ -68,8 +68,8 @@ static ColliderTrisElementInit sTrisElementInit[4] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000040, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_NO_AT_INFO | BUMP_NO_DAMAGE | BUMP_NO_SWORD_SFX | BUMP_NO_HITMARK, + ATELEM_NONE, + ACELEM_ON | ACELEM_NO_AT_INFO | ACELEM_NO_DAMAGE | ACELEM_NO_SWORD_SFX | ACELEM_NO_HITMARK, OCELEM_NONE, }, { { { -305.0f, 0.0f, -300.0f }, { -305.0f, 0.0f, 300.0f }, { -305.0f, 600.0f, 300.0f } } }, @@ -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].base.bumperFlags & BUMP_HIT) || - (this->collider.elements[1].base.bumperFlags & BUMP_HIT)) { + if ((this->collider.elements[0].base.acElemFlags & ACELEM_HIT) || + (this->collider.elements[1].base.acElemFlags & ACELEM_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 52f904432f..130b38c124 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 @@ -46,8 +46,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_ON, }, { 30, 83, 0, { 0 } }, 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 8f55a52102..170f0677ba 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 @@ -56,8 +56,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_ON, }, { 30, 130, 0, { 0, 0, 0 } }, 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 cc078dc8bf..27c1c9e617 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 @@ -31,8 +31,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x40000040, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { -20.0f, 3.0f, -20.0f }, { -20.0f, 3.0f, 20.0f }, { 20.0f, 3.0f, 20.0f } } }, @@ -42,8 +42,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x40000040, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 20.0f, 3.0f, 20.0f }, { 20.0f, 3.0f, -20.0f }, { -20.0f, 3.0f, -20.0f } } }, diff --git a/src/overlays/actors/ovl_Bg_Hidan_Hrock/z_bg_hidan_hrock.c b/src/overlays/actors/ovl_Bg_Hidan_Hrock/z_bg_hidan_hrock.c index ce8149375f..d2f5a4f8c6 100644 --- a/src/overlays/actors/ovl_Bg_Hidan_Hrock/z_bg_hidan_hrock.c +++ b/src/overlays/actors/ovl_Bg_Hidan_Hrock/z_bg_hidan_hrock.c @@ -36,8 +36,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x40000040, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_NO_AT_INFO | BUMP_NO_DAMAGE | BUMP_NO_SWORD_SFX | BUMP_NO_HITMARK, + ATELEM_NONE, + ACELEM_ON | ACELEM_NO_AT_INFO | ACELEM_NO_DAMAGE | ACELEM_NO_SWORD_SFX | ACELEM_NO_HITMARK, OCELEM_NONE, }, { { { -40.0f, 3.0f, -40.0f }, { -40.0f, 3.0f, 40.0f }, { 40.0f, 3.0f, 40.0f } } }, @@ -47,8 +47,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x40000040, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_NO_AT_INFO | BUMP_NO_DAMAGE | BUMP_NO_SWORD_SFX | BUMP_NO_HITMARK, + ATELEM_NONE, + ACELEM_ON | ACELEM_NO_AT_INFO | ACELEM_NO_DAMAGE | ACELEM_NO_SWORD_SFX | ACELEM_NO_HITMARK, OCELEM_NONE, }, { { { 40.0f, 3.0f, 40.0f }, { 40.0f, 3.0f, -40.0f }, { -40.0f, 3.0f, -40.0f } } }, 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 5c5730585e..d9ce7e6ab2 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 @@ -46,8 +46,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 0, { { 0, 0, 0 }, 100 }, 100 }, 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 45863efc2e..ef6bb43867 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 @@ -54,8 +54,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 45, 77, -40, { 3310, 120, 0 } }, 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 1ebe33fcf1..5f8ec0ce03 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 @@ -32,8 +32,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 1, { { 0, 30, 40 }, 25 }, 100 }, @@ -43,8 +43,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 1, { { -35, 32, 77 }, 32 }, 100 }, @@ -54,8 +54,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 1, { { -80, 35, 130 }, 42 }, 100 }, @@ -65,8 +65,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 1, { { 0, 30, -40 }, 25 }, 100 }, @@ -76,8 +76,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 1, { { 35, 32, -77 }, 32 }, 100 }, @@ -87,8 +87,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 1, { { 80, 35, -130 }, 42 }, 100 }, 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 9cba8f54de..d07db7eca0 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 @@ -35,8 +35,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_ON, }, { 1, { { 0, 30, 40 }, 23 }, 100 }, @@ -46,8 +46,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_ON, }, { 1, { { 0, 32, 87 }, 30 }, 100 }, @@ -57,8 +57,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_ON, }, { 1, { { 0, 35, 150 }, 40 }, 100 }, @@ -68,8 +68,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_ON, }, { 1, { { 0, 30, 40 }, 23 }, 100 }, @@ -79,8 +79,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_ON, }, { 1, { { 0, 32, 87 }, 30 }, 100 }, @@ -90,8 +90,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[6] = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_ON, }, { 1, { { 0, 35, 150 }, 40 }, 100 }, @@ -140,7 +140,7 @@ 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->base.toucherFlags |= TOUCH_ON; + element->base.atElemFlags |= ATELEM_ON; element->base.ocElemFlags |= OCELEM_ON; } } @@ -211,7 +211,7 @@ void func_8088D434(BgHidanSekizou* this, PlayState* play) { } } for (i = 3 * phi_s4; i < ARRAY_COUNT(this->elements); i++) { - this->collider.elements[i].base.toucherFlags &= ~TOUCH_ON; + this->collider.elements[i].base.atElemFlags &= ~ATELEM_ON; this->collider.elements[i].base.ocElemFlags &= ~OCELEM_ON; } } 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 56363ffef7..8273e2696b 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 @@ -39,8 +39,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[2] = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 1, { { 0, 40, 100 }, 22 }, 100 }, @@ -50,8 +50,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[2] = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 1, { { 0, 40, 145 }, 30 }, 100 }, 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 a3c81e8292..459e118992 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 @@ -53,8 +53,8 @@ static ColliderCylinderInit sCylinderInit1 = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 0, 0, 0, { 0, 0, 0 } }, @@ -73,8 +73,8 @@ static ColliderCylinderInit sCylinderInit2 = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x4FC1FFF6, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 0, 0, 0, { 0, 0, 0 } }, diff --git a/src/overlays/actors/ovl_Bg_Ice_Turara/z_bg_ice_turara.c b/src/overlays/actors/ovl_Bg_Ice_Turara/z_bg_ice_turara.c index a69d5ecee7..30a2c281c8 100644 --- a/src/overlays/actors/ovl_Bg_Ice_Turara/z_bg_ice_turara.c +++ b/src/overlays/actors/ovl_Bg_Ice_Turara/z_bg_ice_turara.c @@ -33,8 +33,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x04 }, { 0x4FC007CA, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_NONE, }, { 13, 120, 0, { 0, 0, 0 } }, 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 fa7d9a9dc5..0b5e2c538c 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 @@ -50,8 +50,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 70, 80, -82, { 0, 0, 0 } }, 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 54cb236fe2..b4c2d6158b 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 @@ -32,8 +32,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 0, { { -300, 0, 0 }, 40 }, 100 }, diff --git a/src/overlays/actors/ovl_Bg_Jya_Bombiwa/z_bg_jya_bombiwa.c b/src/overlays/actors/ovl_Bg_Jya_Bombiwa/z_bg_jya_bombiwa.c index c8dfb31195..4450298fa3 100644 --- a/src/overlays/actors/ovl_Bg_Jya_Bombiwa/z_bg_jya_bombiwa.c +++ b/src/overlays/actors/ovl_Bg_Jya_Bombiwa/z_bg_jya_bombiwa.c @@ -34,8 +34,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 0, { { 0, 0, 0 }, 50 }, 100 }, diff --git a/src/overlays/actors/ovl_Bg_Jya_Goroiwa/z_bg_jya_goroiwa.c b/src/overlays/actors/ovl_Bg_Jya_Goroiwa/z_bg_jya_goroiwa.c index 6fe12df585..7ab065bd3e 100644 --- a/src/overlays/actors/ovl_Bg_Jya_Goroiwa/z_bg_jya_goroiwa.c +++ b/src/overlays/actors/ovl_Bg_Jya_Goroiwa/z_bg_jya_goroiwa.c @@ -41,8 +41,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = { ELEMTYPE_UNK0, { 0x20000000, 0x00, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 58 }, 100 }, diff --git a/src/overlays/actors/ovl_Bg_Jya_Haheniron/z_bg_jya_haheniron.c b/src/overlays/actors/ovl_Bg_Jya_Haheniron/z_bg_jya_haheniron.c index a46f78272d..93e972e2e6 100644 --- a/src/overlays/actors/ovl_Bg_Jya_Haheniron/z_bg_jya_haheniron.c +++ b/src/overlays/actors/ovl_Bg_Jya_Haheniron/z_bg_jya_haheniron.c @@ -40,8 +40,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { 0, { { 0, 0, 0 }, 10 }, 100 }, diff --git a/src/overlays/actors/ovl_Bg_Jya_Ironobj/z_bg_jya_ironobj.c b/src/overlays/actors/ovl_Bg_Jya_Ironobj/z_bg_jya_ironobj.c index 6ef2ddd84c..9188456de5 100644 --- a/src/overlays/actors/ovl_Bg_Jya_Ironobj/z_bg_jya_ironobj.c +++ b/src/overlays/actors/ovl_Bg_Jya_Ironobj/z_bg_jya_ironobj.c @@ -51,8 +51,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 30, 150, 0, { 0, 0, 0 } }, 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 4acd8fbf03..f4bd5ebcff 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 @@ -38,8 +38,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00200000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 0, { { 0, -600, -200 }, 60 }, 100 }, 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 a52473acab..a39b2e8aed 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 @@ -34,8 +34,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK4, { 0x00000000, 0x00, 0x00 }, { 0x0001F820, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 1, { { 0, 0, 0 }, 14 }, 100 }, 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 f829706fc5..2eaf22b9ec 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 @@ -37,8 +37,8 @@ static ColliderTrisElementInit sTrisElementInitFloor[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { -40.0f, 0.0f, -40.0f }, { -40.0f, 0.0f, 40.0f }, { 40.0f, 0.0f, 40.0f } } }, @@ -48,8 +48,8 @@ static ColliderTrisElementInit sTrisElementInitFloor[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { -40.0f, 0.0f, -40.0f }, { 40.0f, 0.0f, 40.0f }, { 40.0f, 0.0f, -40.0f } } }, @@ -75,8 +75,8 @@ static ColliderTrisElementInit sTrisElementInitRutoWall[1] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 0.0f, 116.0f, 0.0f }, { 0.0f, 0.0f, 70.0f }, { 0.0f, 0.0f, -70.0f } } }, @@ -102,8 +102,8 @@ static ColliderTrisElementInit sTrisElementInitWall[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 0.0f, 120.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 60.0f, 0.0f, 0.0f } } }, @@ -113,8 +113,8 @@ static ColliderTrisElementInit sTrisElementInitWall[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 0.0f, 120.0f, 0.0f }, { 60.0f, 0.0f, 0.0f }, { 60.0f, 120.0f, 0.0f } } }, 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 a31345545c..a4b870c10b 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 @@ -42,8 +42,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK4, { 0x00000000, 0x00, 0x00 }, { 0x0001F820, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 0, { { 0, 0, 0 }, 25 }, 100 }, 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 51a3faed85..f5fb613bab 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 @@ -46,8 +46,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = { ELEMTYPE_UNK4, { 0x00000000, 0x00, 0x00 }, { 0x0001F820, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 25.0f, 33.0f, 0.0f }, { -25.0f, 33.0f, 0.0f }, { -25.0f, -33.0f, 0.0f } } }, @@ -57,8 +57,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = { ELEMTYPE_UNK4, { 0x00000000, 0x00, 0x00 }, { 0x0001F820, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 25.0f, 33.0f, 0.0f }, { -25.0f, -33.0f, 0.0f }, { 25.0f, -33.0f, 0.0f } } }, 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 4008fe167e..5c379a538c 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 @@ -37,8 +37,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 12, 60, 0, { 0, 0, 0 } }, 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 1729cc935c..5b183b9724 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 @@ -62,8 +62,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[1] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000080, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_NONE, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 1, { { 0, 0, -160 }, 18 }, 100 }, diff --git a/src/overlays/actors/ovl_Bg_Spot08_Bakudankabe/z_bg_spot08_bakudankabe.c b/src/overlays/actors/ovl_Bg_Spot08_Bakudankabe/z_bg_spot08_bakudankabe.c index 17cdba2f1a..3015e90151 100644 --- a/src/overlays/actors/ovl_Bg_Spot08_Bakudankabe/z_bg_spot08_bakudankabe.c +++ b/src/overlays/actors/ovl_Bg_Spot08_Bakudankabe/z_bg_spot08_bakudankabe.c @@ -37,8 +37,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 0, { { 0, 50, 50 }, 70 }, 100 }, @@ -48,8 +48,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 0, { { -100, 50, 50 }, 70 }, 100 }, @@ -59,8 +59,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 0, { { 100, 50, 50 }, 70 }, 100 }, diff --git a/src/overlays/actors/ovl_Bg_Spot11_Bakudankabe/z_bg_spot11_bakudankabe.c b/src/overlays/actors/ovl_Bg_Spot11_Bakudankabe/z_bg_spot11_bakudankabe.c index 590ac93890..68f723fcec 100644 --- a/src/overlays/actors/ovl_Bg_Spot11_Bakudankabe/z_bg_spot11_bakudankabe.c +++ b/src/overlays/actors/ovl_Bg_Spot11_Bakudankabe/z_bg_spot11_bakudankabe.c @@ -41,8 +41,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 40, 80, 0, { 2259, 108, -1580 } }, 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 c147daa300..5a9726a82e 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 @@ -39,8 +39,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x4FC1FFF6, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 0, { { 0, 50, 0 }, 288 }, 100 }, @@ -73,8 +73,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 190, 80, 0, { 10, 0, 50 } }, 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 6eae47eb98..92d1f9671a 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 @@ -40,8 +40,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 0, { { 0, 2040, 0 }, 54 }, 100 }, @@ -51,8 +51,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 1, { { 0, 1400, 0 }, 13 }, 100 }, 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 ce21d366ae..3f8968a84c 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 @@ -47,8 +47,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 10, 70, 0, { 0 } }, diff --git a/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_1.c b/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_1.c index 4581452d7c..a435e36abe 100644 --- a/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_1.c +++ b/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_1.c @@ -5,7 +5,7 @@ CutsceneData D_808BB2F0[] = { CS_BEGIN_CUTSCENE(9, 425), CS_PLAYER_CUE_LIST(1), - CS_PLAYER_CUE(PLAYER_CUEID_12, 0, 256, 0x0000, 0x0000, 0x0000, 0, 54, 52, 0, 54, 52, 0.0f, 0.0f, 0.0f), + CS_PLAYER_CUE(PLAYER_CUEID_12, 0, 256, 0x0000, 0x0000, 0x0000, 0, 54, 52, 0, 54, 52, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_LIGHT_SETTING_LIST(1), CS_LIGHT_SETTING(0x0001, 110, 111, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFE3, 0xFFFFFFC5, 0x00000000, 0xFFFFFFE3, 0xFFFFFFC5), CS_MISC_LIST(1), @@ -13,67 +13,67 @@ CutsceneData D_808BB2F0[] = { CS_DESTINATION(CS_DEST_TEMPLE_OF_TIME_FROM_MASTER_SWORD, 230, 231), CS_TRANSITION(CS_TRANS_GRAY_FILL_IN, 210, 230), CS_CAM_EYE_SPLINE(0, 241), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -42, 72, -39, 0x018C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -42, 72, -39, 0x019D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -42, 72, -39, 0x01AE), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -42, 72, -39, 0x02A8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -42, 72, -39, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -42, 72, -39, 0x007A), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -42, 72, -39, 0x0064), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -42, 72, -39, 0x0074), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.0f, -42, 72, -39, 0x005F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -42, 72, -39, 0x018C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -42, 72, -39, 0x019D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -42, 72, -39, 0x01AE), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -42, 72, -39, 0x02A8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -42, 72, -39, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -42, 72, -39, 0x007A), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -42, 72, -39, 0x0064), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -42, 72, -39, 0x0074), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -42, 72, -39, 0x005F), CS_CAM_EYE_SPLINE(80, 406), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1, 95, -19, 0x2F73), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1, 95, -19, 0x6B2F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1, 95, -19, 0x6169), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1, 95, -19, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1, 95, -19, 0x0005), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1, 129, -34, 0x7961), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1, 173, -19, 0x742F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -17, 217, -20, 0x2E64), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -24, 328, -12, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -27, 509, -2, 0x2F73), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -41, 813, 10, 0x6B2F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -60, 1285, 38, 0x6D61), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -58, 1910, 91, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -53, 2526, 133, 0x0005), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -33, 3445, 193, 0x7961), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 0, 3960, 225, 0x742F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 7, 4317, 245, 0x6565), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 7, 4316, 245, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 7, 4316, 245, 0x2F73), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.0f, 7, 4316, 245, 0x6B2F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1, 95, -19, 0x2F73), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1, 95, -19, 0x6B2F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1, 95, -19, 0x6169), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1, 95, -19, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1, 95, -19, 0x0005), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1, 129, -34, 0x7961), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1, 173, -19, 0x742F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -17, 217, -20, 0x2E64), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -24, 328, -12, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -27, 509, -2, 0x2F73), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -41, 813, 10, 0x6B2F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -60, 1285, 38, 0x6D61), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -58, 1910, 91, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -53, 2526, 133, 0x0005), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -33, 3445, 193, 0x7961), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 0, 3960, 225, 0x742F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 7, 4317, 245, 0x6565), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 7, 4316, 245, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 7, 4316, 245, 0x2F73), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 7, 4316, 245, 0x6B2F), CS_CAM_AT_SPLINE(0, 270), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -20, 85, -9, 0x2F73), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -20, 85, -9, 0x6B2F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -20, 85, -9, 0x6169), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -20, 85, -9, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -20, 85, -9, 0x0005), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -20, 85, -9, 0x7961), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -20, 85, -9, 0x742F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -20, 85, -9, 0x2E64), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.0f, -20, 85, -9, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -20, 85, -9, 0x2F73), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -20, 85, -9, 0x6B2F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -20, 85, -9, 0x6169), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -20, 85, -9, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -20, 85, -9, 0x0005), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -20, 85, -9, 0x7961), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -20, 85, -9, 0x742F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -20, 85, -9, 0x2E64), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -20, 85, -9, 0x0000), CS_CAM_AT_SPLINE(80, 425), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, 60.0f, -1, 112, 7, 0x2F73), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, 60.0f, -1, 112, 7, 0x6B2F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, 60.0f, -1, 112, 7, 0x6169), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, 60.0f, -1, 112, 7, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, 60.0f, -1, 112, 7, 0x0005), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x7961), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 25, 60.0f, -1, 117, 7, 0x742F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 25, 60.0f, -1, 117, 7, 0x2E64), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x2F73), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x6B2F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x6D61), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x0005), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x7961), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x742F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x6565), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.0f, -1, 117, 7, 0x2F73), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 20, 60.0f, -1, 117, 7, 0x6B2F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, CS_FLOAT(0x42700000, 60.0f), -1, 112, 7, 0x2F73), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, CS_FLOAT(0x42700000, 60.0f), -1, 112, 7, 0x6B2F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, CS_FLOAT(0x42700000, 60.0f), -1, 112, 7, 0x6169), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, CS_FLOAT(0x42700000, 60.0f), -1, 112, 7, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, CS_FLOAT(0x42700000, 60.0f), -1, 112, 7, 0x0005), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42700000, 60.0f), -1, 117, 7, 0x7961), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 25, CS_FLOAT(0x42700000, 60.0f), -1, 117, 7, 0x742F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 25, CS_FLOAT(0x42700000, 60.0f), -1, 117, 7, 0x2E64), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42700000, 60.0f), -1, 117, 7, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42700000, 60.0f), -1, 117, 7, 0x2F73), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42700000, 60.0f), -1, 117, 7, 0x6B2F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42700000, 60.0f), -1, 117, 7, 0x6D61), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42700000, 60.0f), -1, 117, 7, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42700000, 60.0f), -1, 117, 7, 0x0005), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42700000, 60.0f), -1, 117, 7, 0x7961), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42700000, 60.0f), -1, 117, 7, 0x742F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42700000, 60.0f), -1, 117, 7, 0x6565), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42700000, 60.0f), -1, 117, 7, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42700000, 60.0f), -1, 117, 7, 0x2F73), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 20, CS_FLOAT(0x42700000, 60.0f), -1, 117, 7, 0x6B2F), CS_END(), }; // clang-format on diff --git a/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_2.c b/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_2.c index 40b2ac2944..ca1686e28a 100644 --- a/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_2.c +++ b/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_2.c @@ -5,89 +5,89 @@ CutsceneData D_808BB7A0[] = { CS_BEGIN_CUTSCENE(9, 368), CS_CAM_EYE_SPLINE(0, 126), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1, 101, -110, 0x616D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.0f, -1, 101, -110, 0x6964), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.0f, -1, 101, -110, 0x00FB), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.0f, -1, 101, -110, 0x0111), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.0f, -1, 101, -109, 0x012D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.0f, -1, 71, -110, 0x0033), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.0f, -1, 72, -110, 0x00FB), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.0f, -1, 72, -110, 0x00FB), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.0f, -1, 72, -110, 0x2F68), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 40.0f, -1, 72, -110, 0x612F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1, 101, -110, 0x616D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42200000, 40.0f), -1, 101, -110, 0x6964), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42200000, 40.0f), -1, 101, -110, 0x00FB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42200000, 40.0f), -1, 101, -110, 0x0111), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42200000, 40.0f), -1, 101, -109, 0x012D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42200000, 40.0f), -1, 71, -110, 0x0033), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42200000, 40.0f), -1, 72, -110, 0x00FB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42200000, 40.0f), -1, 72, -110, 0x00FB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42200000, 40.0f), -1, 72, -110, 0x2F68), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42200000, 40.0f), -1, 72, -110, 0x612F), CS_CAM_EYE_SPLINE(58, 339), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.000004f, -9, 106, -3, 0xA1BC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -9, 106, -3, 0xA5F3), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -9, 106, -3, 0xA5EB), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -9, 106, -3, 0xA5A2), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -67, 108, -53, 0xBAEE), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -67, 108, -53, 0xC9B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -67, 108, -53, 0x0020), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -67, 108, -53, 0xA5A4), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -67, 108, -53, 0x0020), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -83, 102, -42, 0xA5E1), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -116, 81, -19, 0xA5D0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -118, 81, 54, 0x0020), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -106, 78, 116, 0xA5A6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -27, 75, 226, 0xA5E5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 121, 82, 312, 0xC0AE), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 296, 76, 374, 0xA5E5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 565, 80, 257, 0x0020), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 614, 80, -1, 0xA5EB), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 594, 80, -145, 0xA5E1), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 475, 80, -380, 0x0020), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 323, 80, -513, 0xA5E1), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 192, 80, -574, 0xA5D0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -45, 80, -604, 0x0020), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -142, 80, -589, 0xA5A6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -228, 80, -562, 0xA5E5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -376, 93, -477, 0xC0AE), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -584, 95, -183, 0xA5E5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -613, 95, -34, 0x0020), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.0f, -595, 95, 161, 0xA5EB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700001, 60.000004f), -9, 106, -3, 0xA1BC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -9, 106, -3, 0xA5F3), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -9, 106, -3, 0xA5EB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -9, 106, -3, 0xA5A2), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -67, 108, -53, 0xBAEE), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -67, 108, -53, 0xC9B8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -67, 108, -53, 0x0020), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -67, 108, -53, 0xA5A4), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -67, 108, -53, 0x0020), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -83, 102, -42, 0xA5E1), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -116, 81, -19, 0xA5D0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -118, 81, 54, 0x0020), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -106, 78, 116, 0xA5A6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -27, 75, 226, 0xA5E5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 121, 82, 312, 0xC0AE), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 296, 76, 374, 0xA5E5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 565, 80, 257, 0x0020), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 614, 80, -1, 0xA5EB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 594, 80, -145, 0xA5E1), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 475, 80, -380, 0x0020), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 323, 80, -513, 0xA5E1), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 192, 80, -574, 0xA5D0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -45, 80, -604, 0x0020), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -142, 80, -589, 0xA5A6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -228, 80, -562, 0xA5E5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -376, 93, -477, 0xC0AE), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -584, 95, -183, 0xA5E5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -613, 95, -34, 0x0020), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -595, 95, 161, 0xA5EB), CS_CAM_AT_SPLINE(0, 155), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, 40.4f, -1, 111, 5, 0xA1BC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, 40.0f, -1, 111, 5, 0xA5F3), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, 40.0f, -1, 111, 5, 0xA5EB), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, 40.0f, -1, 111, 5, 0xA5A2), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, 40.0f, -1, 111, 5, 0xBAEE), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, 40.0f, -1, 104, 8, 0xC9B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, 40.0f, -1, 104, 8, 0x0020), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.0f, -1, 104, 8, 0xA5A4), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.0f, -1, 104, 8, 0x0020), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 40.0f, -1, 104, 8, 0xA5E1), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, CS_FLOAT(0x4221999A, 40.4f), -1, 111, 5, 0xA1BC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, CS_FLOAT(0x42200000, 40.0f), -1, 111, 5, 0xA5F3), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, CS_FLOAT(0x42200000, 40.0f), -1, 111, 5, 0xA5EB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, CS_FLOAT(0x42200000, 40.0f), -1, 111, 5, 0xA5A2), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, CS_FLOAT(0x42200000, 40.0f), -1, 111, 5, 0xBAEE), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, CS_FLOAT(0x42200000, 40.0f), -1, 104, 8, 0xC9B8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, CS_FLOAT(0x42200000, 40.0f), -1, 104, 8, 0x0020), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42200000, 40.0f), -1, 104, 8, 0xA5A4), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42200000, 40.0f), -1, 104, 8, 0x0020), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42200000, 40.0f), -1, 104, 8, 0xA5E1), CS_CAM_AT_SPLINE(58, 368), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, 60.000004f, 0, 120, 12, 0xA1BC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, 60.0f, 0, 120, 12, 0xA5F3), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, 60.0f, 0, 120, 12, 0xA5EB), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.0f, 0, 120, 12, 0xA5A2), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, 60.0f, -1, 95, 11, 0xBAEE), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, 60.0f, -1, 95, 11, 0xC9B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, 60.0f, -1, 95, 11, 0x0020), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, 60.0f, -1, 95, 11, 0xA5A4), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, 60.0f, -1, 95, 11, 0x0020), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0xA5E1), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0xA5D0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0x0020), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0xA5A6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0xA5E5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0xC0AE), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0xA5E5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0x0020), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0xA5EB), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0xA5E1), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.0f, -3, 95, 8, 0x0020), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, 60.0f, -3, 95, 8, 0xA5E1), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, 60.0f, -3, 95, 8, 0xA5D0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, 60.0f, -3, 95, 8, 0x0020), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, 60.0f, -3, 95, 8, 0xA5A6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, 60.0f, -3, 95, 8, 0xA5E5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, 60.0f, -3, 95, 8, 0xC0AE), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, 60.0f, -3, 95, 8, 0xA5E5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, 60.0f, -3, 95, 8, 0x0020), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.0f, -3, 95, 8, 0xA5EB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, CS_FLOAT(0x42700001, 60.000004f), 0, 120, 12, 0xA1BC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, CS_FLOAT(0x42700000, 60.0f), 0, 120, 12, 0xA5F3), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, CS_FLOAT(0x42700000, 60.0f), 0, 120, 12, 0xA5EB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42700000, 60.0f), 0, 120, 12, 0xA5A2), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, CS_FLOAT(0x42700000, 60.0f), -1, 95, 11, 0xBAEE), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, CS_FLOAT(0x42700000, 60.0f), -1, 95, 11, 0xC9B8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, CS_FLOAT(0x42700000, 60.0f), -1, 95, 11, 0x0020), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, CS_FLOAT(0x42700000, 60.0f), -1, 95, 11, 0xA5A4), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, CS_FLOAT(0x42700000, 60.0f), -1, 95, 11, 0x0020), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0xA5E1), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0xA5D0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0x0020), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0xA5A6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0xA5E5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0xC0AE), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0xA5E5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0x0020), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0xA5EB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0xA5E1), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0x0020), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0xA5E1), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0xA5D0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0x0020), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0xA5A6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0xA5E5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0xC0AE), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0xA5E5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0x0020), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -3, 95, 8, 0xA5EB), CS_PLAYER_CUE_LIST(1), - CS_PLAYER_CUE(PLAYER_CUEID_12, 0, 180, 0x0000, 0x0000, 0x0000, 0, 28, -10, 0, -14, 9, 0.0f, -0.23333333f, 0.0f), + CS_PLAYER_CUE(PLAYER_CUEID_12, 0, 180, 0x0000, 0x0000, 0x0000, 0, 28, -10, 0, -14, 9, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0xBE6EEEEF, -0.23333333f), CS_FLOAT(0x0, 0.0f)), CS_LIGHT_SETTING_LIST(1), CS_LIGHT_SETTING(0x0001, 90, 91, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFF2, 0x00000024, 0x00000000, 0xFFFFFFF2, 0x00000024), CS_MISC_LIST(1), diff --git a/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_3.c b/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_3.c index 4eb289cc4b..f7f8d0067e 100644 --- a/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_3.c +++ b/src/overlays/actors/ovl_Bg_Toki_Swd/z_bg_toki_swd_cutscene_data_3.c @@ -7,13 +7,13 @@ CutsceneData D_808BBD90[] = { CS_UNK_DATA_LIST(0x00000021, 1), CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0xFFFFFFF8, 0xFFFFFFFF, 0x00000000, 0xFFFFFFF8, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000), CS_PLAYER_CUE_LIST(3), - CS_PLAYER_CUE(PLAYER_CUEID_5, 0, 1, 0x0000, 0x8000, 0x0000, 0, 0, 820, 0, 0, 820, 0.0f, 0.0f, 1.4e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_2, 1, 16, 0x0000, 0x8000, 0x0000, 0, 0, 820, 0, 0, 720, 0.0f, 0.0f, 1.4e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_5, 16, 176, 0x0000, 0x8000, 0x0000, 0, 0, 720, 0, 0, 720, 0.0f, 0.0f, 1.4e-45f), + CS_PLAYER_CUE(PLAYER_CUEID_5, 0, 1, 0x0000, 0x8000, 0x0000, 0, 0, 820, 0, 0, 820, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_2, 1, 16, 0x0000, 0x8000, 0x0000, 0, 0, 820, 0, 0, 720, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_5, 16, 176, 0x0000, 0x8000, 0x0000, 0, 0, 720, 0, 0, 720, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), CS_ACTOR_CUE_LIST(62, 3), - CS_ACTOR_CUE(0x0004, 40, 70, 0x7D74, 0x0000, 0x0000, -1, 49, 719, 1, 47, 687, 0.06666667f, -0.06666667f, -0.06666667f), - CS_ACTOR_CUE(0x0004, 70, 220, 0x8010, 0x0000, 0x0000, 1, 47, 687, 0, 134, 21, -0.006666667f, 0.58f, 0.006666667f), - CS_ACTOR_CUE(0x0002, 220, 272, 0x8000, 0x0000, 0x0000, 0, 134, 21, 0, 101, 2, 0.0f, -0.63461536f, 0.0f), + CS_ACTOR_CUE(0x0004, 40, 70, 0x7D74, 0x0000, 0x0000, -1, 49, 719, 1, 47, 687, CS_FLOAT(0x3D888889, 0.06666667f), CS_FLOAT(0xBD888889, -0.06666667f), CS_FLOAT(0xBD888889, -0.06666667f)), + CS_ACTOR_CUE(0x0004, 70, 220, 0x8010, 0x0000, 0x0000, 1, 47, 687, 0, 134, 21, CS_FLOAT(0xBBDA740E, -0.006666667f), CS_FLOAT(0x3F147AE1, 0.58f), CS_FLOAT(0x3BDA740E, 0.006666667f)), + CS_ACTOR_CUE(0x0002, 220, 272, 0x8000, 0x0000, 0x0000, 0, 134, 21, 0, 101, 2, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0xBF227627, -0.63461536f), CS_FLOAT(0x0, 0.0f)), CS_MISC_LIST(1), CS_MISC(CS_MISC_STOP_CUTSCENE, 340, 341, 0x0000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFD, 0xFFFFFFFF, 0x00000000, 0xFFFFFFFD, 0x00000000, 0x00000000, 0x00000000), CS_TEXT_LIST(6), @@ -24,73 +24,73 @@ CutsceneData D_808BBD90[] = { CS_TEXT_NONE(260, 290), CS_TEXT(0x70E8, 290, 320, 0x0000, 0x0000, 0x0000), CS_CAM_EYE_SPLINE(0, 251), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -59, 12, 690, 0x0222), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -59, 12, 690, 0x00FA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -59, 12, 690, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -59, 12, 690, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -59, 12, 690, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -31, 24, 701, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -31, 24, 701, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -31, 24, 701, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -31, 24, 701, 0x2D70), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -31, 24, 701, 0x0085), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -31, 24, 701, 0x01E6), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.0f, -31, 24, 701, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -59, 12, 690, 0x0222), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -59, 12, 690, 0x00FA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -59, 12, 690, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -59, 12, 690, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -59, 12, 690, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -31, 24, 701, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -31, 24, 701, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -31, 24, 701, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -31, 24, 701, 0x2D70), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -31, 24, 701, 0x0085), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -31, 24, 701, 0x01E6), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -31, 24, 701, 0x0000), CS_CAM_EYE_SPLINE(90, 331), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -154, 92, 236, 0x0222), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -154, 92, 236, 0x00FA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -154, 92, 236, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -154, 92, 236, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -154, 92, 236, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -154, 92, 236, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -154, 92, 236, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -154, 92, 236, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.0f, -154, 92, 236, 0x2D70), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -154, 92, 236, 0x0222), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -154, 92, 236, 0x00FA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -154, 92, 236, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -154, 92, 236, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -154, 92, 236, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -154, 92, 236, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -154, 92, 236, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -154, 92, 236, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -154, 92, 236, 0x2D70), CS_CAM_EYE_SPLINE(220, 491), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.000004f, -2, 122, 39, 0x0222), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.000004f, -2, 122, 39, 0x00FA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.000004f, -2, 102, 39, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.000004f, -2, 90, 39, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.000004f, -2, 81, 62, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.000004f, -2, 81, 62, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.000004f, -2, 81, 62, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.000004f, -2, 81, 62, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.000004f, -2, 81, 62, 0x2D70), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.000004f, -2, 81, 62, 0x0085), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700001, 60.000004f), -2, 122, 39, 0x0222), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700001, 60.000004f), -2, 122, 39, 0x00FA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700001, 60.000004f), -2, 102, 39, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700001, 60.000004f), -2, 90, 39, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700001, 60.000004f), -2, 81, 62, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700001, 60.000004f), -2, 81, 62, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700001, 60.000004f), -2, 81, 62, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700001, 60.000004f), -2, 81, 62, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700001, 60.000004f), -2, 81, 62, 0x2D70), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42700001, 60.000004f), -2, 81, 62, 0x0085), CS_CAM_AT_SPLINE(0, 280), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 43, 52, 716, 0x0222), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 43, 52, 716, 0x00FA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.0f, 43, 52, 716, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.0f, 43, 52, 716, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.0f, 43, 52, 716, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.0f, 63, 86, 722, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 63, 86, 722, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 63, 86, 722, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 63, 86, 722, 0x2D70), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 63, 85, 721, 0x0085), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 63, 85, 721, 0x01E6), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.0f, 62, 85, 721, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 43, 52, 716, 0x0222), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 43, 52, 716, 0x00FA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42700000, 60.0f), 43, 52, 716, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42700000, 60.0f), 43, 52, 716, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42700000, 60.0f), 43, 52, 716, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42700000, 60.0f), 63, 86, 722, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 63, 86, 722, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 63, 86, 722, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 63, 86, 722, 0x2D70), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 63, 85, 721, 0x0085), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 63, 85, 721, 0x01E6), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 62, 85, 721, 0x0000), CS_CAM_AT_SPLINE(90, 360), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -105, 83, 366, 0x0222), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -104, 83, 364, 0x00FA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -63, 83, 339, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -16, 99, 255, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -30, 111, 177, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -80, 112, 121, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -80, 112, 121, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -80, 112, 121, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.0f, -80, 112, 121, 0x2D70), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -105, 83, 366, 0x0222), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -104, 83, 364, 0x00FA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -63, 83, 339, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -16, 99, 255, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -30, 111, 177, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -80, 112, 121, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -80, 112, 121, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -80, 112, 121, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -80, 112, 121, 0x2D70), CS_CAM_AT_SPLINE(220, 520), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.000004f, 0, 137, -55, 0x0222), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.000004f, 0, 137, -55, 0x00FA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.000004f, 0, 117, -55, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.000004f, 0, 105, -55, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.000004f, 0, 98, -31, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.000004f, 0, 98, -31, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.000004f, 0, 98, -31, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.000004f, 0, 98, -31, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.000004f, 0, 98, -31, 0x2D70), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.000004f, 0, 98, -31, 0x0085), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700001, 60.000004f), 0, 137, -55, 0x0222), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700001, 60.000004f), 0, 137, -55, 0x00FA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700001, 60.000004f), 0, 117, -55, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700001, 60.000004f), 0, 105, -55, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700001, 60.000004f), 0, 98, -31, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700001, 60.000004f), 0, 98, -31, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700001, 60.000004f), 0, 98, -31, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700001, 60.000004f), 0, 98, -31, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700001, 60.000004f), 0, 98, -31, 0x2D70), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42700001, 60.000004f), 0, 98, -31, 0x0085), CS_END(), }; // clang-format on diff --git a/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth_cutscene_data.c b/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth_cutscene_data.c index d905e2e62a..0d06793b69 100644 --- a/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth_cutscene_data.c +++ b/src/overlays/actors/ovl_Bg_Treemouth/z_bg_treemouth_cutscene_data.c @@ -7,40 +7,40 @@ CutsceneData D_808BCE20[] = { CS_UNK_DATA_LIST(0x00000015, 1), CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0x0000000F, 0xFFFFFFDE, 0x00000000, 0x0000000F, 0xFFFFFFDE, 0x00000000, 0x00000000, 0x00000000), CS_PLAYER_CUE_LIST(2), - CS_PLAYER_CUE(PLAYER_CUEID_2, 0, 33, 0x54B2, 0x0000, 0x0000, 2614, 0, -451, 2808, 0, -559, 5.878788f, 0.0f, -5.878788f), - CS_PLAYER_CUE(PLAYER_CUEID_4, 33, 42, 0x5945, 0x0000, 0x0000, 2808, 0, -559, 2857, 0, -594, 5.4444447f, 0.0f, -5.4444447f), + CS_PLAYER_CUE(PLAYER_CUEID_2, 0, 33, 0x54B2, 0x0000, 0x0000, 2614, 0, -451, 2808, 0, -559, CS_FLOAT(0x40BC1F08, 5.878788f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0xC0BC1F08, -5.878788f)), + CS_PLAYER_CUE(PLAYER_CUEID_4, 33, 42, 0x5945, 0x0000, 0x0000, 2808, 0, -559, 2857, 0, -594, CS_FLOAT(0x40AE38E4, 5.4444447f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0xC0AE38E4, -5.4444447f)), CS_CAM_EYE_SPLINE(0, 1091), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 47.199955f, 2753, 46, -354, 0x59A8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 47.199955f, 2753, 46, -354, 0x20B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 47.199955f, 2753, 46, -354, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 47.199955f, 2753, 46, -354, 0x6430), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 47.199955f, 2753, 46, -354, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2753, 46, -354, 0x59A8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2753, 46, -354, 0x20B8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2753, 46, -354, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2753, 46, -354, 0x6430), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2753, 46, -354, 0x0000), CS_CAM_EYE_SPLINE(60, 1271), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 47.199955f, 2753, 46, -354, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 47.199955f, 2753, 46, -354, 0x44B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 47.199955f, 2753, 46, -354, 0x8080), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 47.199955f, 2705, 67, -302, 0x2D9A), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 47.199955f, 2596, 127, -195, 0x005E), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 47.199955f, 2596, 127, -195, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 47.199955f, 2596, 127, -195, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 47.199955f, 2596, 127, -195, 0x5B80), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 47.199955f, 2596, 127, -195, 0x7805), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2753, 46, -354, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2753, 46, -354, 0x44B8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2753, 46, -354, 0x8080), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2705, 67, -302, 0x2D9A), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2596, 127, -195, 0x005E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2596, 127, -195, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2596, 127, -195, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2596, 127, -195, 0x5B80), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x423CCCC1, 47.199955f), 2596, 127, -195, 0x7805), CS_CAM_AT_SPLINE(0, 1120), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 47.199955f, 2788, 23, -453, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 47.199955f, 2787, 23, -453, 0x44B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 47.199955f, 2787, 23, -453, 0x8080), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 47.199955f, 2787, 23, -453, 0x2D9A), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 47.199955f, 2787, 23, -453, 0x005E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2788, 23, -453, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2787, 23, -453, 0x44B8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x423CCCC1, 47.199955f), 2787, 23, -453, 0x8080), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2787, 23, -453, 0x2D9A), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2787, 23, -453, 0x005E), CS_CAM_AT_SPLINE(60, 1300), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 47.199955f, 2788, 23, -453, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 47.199955f, 2787, 23, -453, 0x44B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 47.199955f, 2787, 23, -453, 0x8080), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 47.199955f, 2777, 72, -378, 0x2D9A), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 47.199955f, 2673, 127, -267, 0x005E), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 47.199955f, 2673, 127, -267, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 47.199955f, 2673, 127, -267, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 47.199955f, 2673, 127, -267, 0x5B80), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 47.199955f, 2673, 127, -267, 0x7805), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2788, 23, -453, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2787, 23, -453, 0x44B8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2787, 23, -453, 0x8080), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2777, 72, -378, 0x2D9A), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2673, 127, -267, 0x005E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2673, 127, -267, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x423CCCC1, 47.199955f), 2673, 127, -267, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2673, 127, -267, 0x5B80), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x423CCCC1, 47.199955f), 2673, 127, -267, 0x7805), CS_TEXT_LIST(4), CS_TEXT_NONE(0, 40), CS_TEXT(0x107D, 40, 60, 0x0000, 0xFFFF, 0xFFFF), @@ -49,12 +49,12 @@ CutsceneData D_808BCE20[] = { CS_MISC_LIST(1), CS_MISC(CS_MISC_STOP_CUTSCENE, 180, 200, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFF7, 0xFFFFFFDB, 0x00000000, 0xFFFFFFF7, 0xFFFFFFDB, 0x00000000, 0x00000000, 0x00000000), CS_ACTOR_CUE_LIST(46, 1), - CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, -41, -28, 0, -41, -28, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, -41, -28, 0, -41, -28, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_ACTOR_CUE_LIST(62, 4), - CS_ACTOR_CUE(0x0001, 0, 1, 0x0000, 0x0000, 0x0000, 2668, 46, -490, 2668, 46, -490, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0004, 1, 50, 0x5479, 0x0000, 0x0000, 2668, 46, -490, 2890, 43, -612, 4.5306125f, -0.06122449f, -4.5306125f), - CS_ACTOR_CUE(0x0004, 50, 100, 0x505C, 0x0000, 0x0000, 2890, 43, -612, 3109, 121, -705, 4.38f, 1.56f, -4.38f), - CS_ACTOR_CUE(0x0001, 100, 2084, 0x0000, 0x0000, 0x0000, 3109, 121, -705, 3109, 121, -705, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 1, 0x0000, 0x0000, 0x0000, 2668, 46, -490, 2668, 46, -490, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0004, 1, 50, 0x5479, 0x0000, 0x0000, 2668, 46, -490, 2890, 43, -612, CS_FLOAT(0x4090FAC7, 4.5306125f), CS_FLOAT(0xBD7AC688, -0.06122449f), CS_FLOAT(0xC090FAC7, -4.5306125f)), + CS_ACTOR_CUE(0x0004, 50, 100, 0x505C, 0x0000, 0x0000, 2890, 43, -612, 3109, 121, -705, CS_FLOAT(0x408C28F6, 4.38f), CS_FLOAT(0x3FC7AE14, 1.56f), CS_FLOAT(0xC08C28F6, -4.38f)), + CS_ACTOR_CUE(0x0001, 100, 2084, 0x0000, 0x0000, 0x0000, 3109, 121, -705, 3109, 121, -705, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_START_SEQ_LIST(1), CS_START_SEQ(NA_BGM_DEKU_TREE_CS, 140, 141, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFBA, 0x00000094, 0x00000000, 0xFFFFFFBA, 0x00000094), CS_FADE_OUT_SEQ_LIST(1), @@ -69,31 +69,31 @@ CutsceneData D_808BD2A0[] = { CS_MISC_LIST(1), CS_MISC(CS_MISC_STOP_CUTSCENE, 90, 172, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFE3, 0x00000012, 0x00000000, 0xFFFFFFE3, 0x00000012, 0x00000000, 0x00000000, 0x00000000), CS_ACTOR_CUE_LIST(46, 1), - CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, -27, 26, 0, -27, 26, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, -27, 26, 0, -27, 26, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_CAM_EYE_SPLINE(0, 1091), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 3740, -141, -530, 0x7065), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.999928f, 3740, -141, -530, 0x6167), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.999928f, 3740, -141, -530, 0x6D5D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.999928f, 3740, -141, -530, 0xF348), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 40.999928f, 3740, -141, -530, 0x9D94), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 3740, -141, -530, 0x7065), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3740, -141, -530, 0x6167), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3740, -141, -530, 0x6D5D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3740, -141, -530, 0xF348), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3740, -141, -530, 0x9D94), CS_CAM_EYE_SPLINE_REL_TO_PLAYER(60, 1151), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -4, 5, 49, 0x7065), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -4, 5, 49, 0x6167), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -4, 5, 49, 0x6D5D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -4, 5, 49, 0xF348), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.0f, -4, 5, 49, 0x9D94), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -4, 5, 49, 0x7065), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -4, 5, 49, 0x6167), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -4, 5, 49, 0x6D5D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -4, 5, 49, 0xF348), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -4, 5, 49, 0x9D94), CS_CAM_AT_SPLINE(0, 1120), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.999928f, 3777, -89, -605, 0x7065), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.999928f, 3777, -89, -605, 0x6167), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 40.999928f, 3776, -89, -605, 0x6D5D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.999928f, 3776, -89, -605, 0xF348), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 40.999928f, 3776, -89, -604, 0x9D94), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3777, -89, -605, 0x7065), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3777, -89, -605, 0x6167), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4223FFED, 40.999928f), 3776, -89, -605, 0x6D5D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3776, -89, -605, 0xF348), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3776, -89, -604, 0x9D94), CS_CAM_AT_SPLINE_REL_TO_PLAYER(60, 1180), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 1, 35, -36, 0x7065), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 1, 35, -36, 0x6167), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 60.0f, 1, 35, -36, 0x6D5D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 1, 35, -36, 0xF348), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.0f, 1, 35, -36, 0x9D94), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 1, 35, -36, 0x7065), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 1, 35, -36, 0x6167), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x42700000, 60.0f), 1, 35, -36, 0x6D5D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 1, 35, -36, 0xF348), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 1, 35, -36, 0x9D94), CS_TEXT_LIST(2), CS_TEXT_NONE(0, 20), CS_TEXT(0x1016, 20, 80, 0x0000, 0xFFFF, 0xFFFF), @@ -107,24 +107,24 @@ CutsceneData D_808BD520[] = { CS_UNK_DATA_LIST(0x00000015, 1), CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0x0000000F, 0xFFFFFFDE, 0x00000000, 0x0000000F, 0xFFFFFFDE, 0x00000000, 0x00000000, 0x00000000), CS_ACTOR_CUE_LIST(46, 2), - CS_ACTOR_CUE(0x0001, 0, 20, 0x0000, 0x0000, 0x0000, 42, 0, 77, 42, 0, 77, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0003, 20, 357, 0x0000, 0x0000, 0x0000, 42, 0, 77, 42, 0, 77, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 20, 0x0000, 0x0000, 0x0000, 42, 0, 77, 42, 0, 77, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0003, 20, 357, 0x0000, 0x0000, 0x0000, 42, 0, 77, 42, 0, 77, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_CAM_EYE_SPLINE(0, 1151), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 3740, -141, -530, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.999928f, 3740, -141, -530, 0x00FB), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.999928f, 3740, -141, -530, 0x010C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.999928f, 3740, -141, -530, 0x0198), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.999928f, 3740, -141, -530, 0x019A), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.999928f, 3740, -141, -530, 0x01AB), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 40.999928f, 3739, -141, -530, 0x01BC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 3740, -141, -530, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3740, -141, -530, 0x00FB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3740, -141, -530, 0x010C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3740, -141, -530, 0x0198), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3740, -141, -530, 0x019A), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3740, -141, -530, 0x01AB), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4223FFED, 40.999928f), 3739, -141, -530, 0x01BC), CS_CAM_AT_SPLINE(0, 1180), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.999928f, 3777, -89, -605, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.999928f, 3777, -89, -605, 0x00FB), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.999928f, 3777, -89, -605, 0x010C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.999928f, 3763, -126, -621, 0x0198), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 40.999928f, 3763, -126, -621, 0x019A), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.999928f, 3763, -126, -621, 0x01AB), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 40.999928f, 3765, -118, -617, 0x01BC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3777, -89, -605, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3777, -89, -605, 0x00FB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3777, -89, -605, 0x010C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3763, -126, -621, 0x0198), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4223FFED, 40.999928f), 3763, -126, -621, 0x019A), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3763, -126, -621, 0x01AB), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4223FFED, 40.999928f), 3765, -118, -617, 0x01BC), CS_TEXT_LIST(2), CS_TEXT_NONE(0, 20), CS_TEXT(0x1017, 20, 60, 0x0000, 0xFFFF, 0xFFFF), @@ -142,19 +142,19 @@ CutsceneData D_808BD790[] = { CS_UNK_DATA_LIST(0x00000015, 1), CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0x0000000F, 0xFFFFFFDE, 0x00000000, 0x0000000F, 0xFFFFFFDE, 0x00000000, 0x00000000, 0x00000000), CS_ACTOR_CUE_LIST(46, 1), - CS_ACTOR_CUE(0x0001, 0, 119, 0x0000, 0x0000, 0x0000, 42, 0, 77, 42, 0, 77, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 119, 0x0000, 0x0000, 0x0000, 42, 0, 77, 42, 0, 77, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_CAM_EYE_SPLINE(0, 1091), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 75.59984f, 3716, 790, -1171, 0x54EC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 75.59984f, 3716, 790, -1171, 0x555C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 75.59984f, 3716, 790, -1171, 0x55CC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 75.59984f, 3716, 790, -1171, 0x563C), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 75.59984f, 3716, 790, -1171, 0x56AC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4297331E, 75.59984f), 3716, 790, -1171, 0x54EC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4297331E, 75.59984f), 3716, 790, -1171, 0x555C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4297331E, 75.59984f), 3716, 790, -1171, 0x55CC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4297331E, 75.59984f), 3716, 790, -1171, 0x563C), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4297331E, 75.59984f), 3716, 790, -1171, 0x56AC), CS_CAM_AT_SPLINE(0, 1120), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 75.59984f, 3769, 718, -1186, 0x54EC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 75.59984f, 3769, 718, -1186, 0x555C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 75.59984f, 3769, 718, -1186, 0x55CC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 75.59984f, 3769, 718, -1186, 0x563C), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 75.59984f, 3769, 718, -1186, 0x56AC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4297331E, 75.59984f), 3769, 718, -1186, 0x54EC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4297331E, 75.59984f), 3769, 718, -1186, 0x555C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4297331E, 75.59984f), 3769, 718, -1186, 0x55CC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4297331E, 75.59984f), 3769, 718, -1186, 0x563C), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4297331E, 75.59984f), 3769, 718, -1186, 0x56AC), CS_TEXT_LIST(2), CS_TEXT_NONE(0, 20), CS_TEXT(0x1018, 20, 60, 0x0000, 0xFFFF, 0xFFFF), diff --git a/src/overlays/actors/ovl_Bg_Ydan_Maruta/z_bg_ydan_maruta.c b/src/overlays/actors/ovl_Bg_Ydan_Maruta/z_bg_ydan_maruta.c index 5a5e654cfd..9d141c2975 100644 --- a/src/overlays/actors/ovl_Bg_Ydan_Maruta/z_bg_ydan_maruta.c +++ b/src/overlays/actors/ovl_Bg_Ydan_Maruta/z_bg_ydan_maruta.c @@ -38,8 +38,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = { ELEMTYPE_UNK0, { 0x20000000, 0x00, 0x04 }, { 0x00000004, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_WOOD, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_WOOD, + ACELEM_ON, OCELEM_NONE, }, { { { 220.0f, -10.0f, 0.0f }, { 220.0f, 10.0f, 0.0f }, { -220.0f, 10.0f, 0.0f } } }, @@ -49,8 +49,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = { ELEMTYPE_UNK0, { 0x20000000, 0x00, 0x04 }, { 0x00000004, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_WOOD, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_WOOD, + ACELEM_ON, OCELEM_NONE, }, { { { 16.0f, 0.0f, 0.0f }, { 16.0f, 135.0f, 0.0f }, { -16.0f, 135.0f, 0.0f } } }, 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 5441cae92f..1a5d2e3664 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 @@ -42,8 +42,8 @@ static ColliderTrisElementInit sTrisItemsInit[2] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x00 }, { 0x00020800, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 75.0f, -8.0f, 75.0f }, { -75.0f, -8.0f, 75.0f }, { -75.0f, -8.0f, -75.0f } } }, @@ -53,8 +53,8 @@ static ColliderTrisElementInit sTrisItemsInit[2] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x00 }, { 0x00020800, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 140.0f, 288.8f, 0.0f }, { -140.0f, 288.0f, 0.0f }, { -140.0f, 0.0f, 0.0f } } }, 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 632faf17e3..a502fb6f2e 100644 --- a/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo.c +++ b/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo.c @@ -105,27 +105,29 @@ void func_808C12C4(u8* arg1, s16 arg2) { func_808C1278(SEGMENTED_TO_VIRTUAL(object_kingdodongo_Tex_016E10), arg1, arg2); } -void func_808C1554(void* arg0, void* floorTex, s32 arg2, f32 arg3) { - u16* temp_s3 = SEGMENTED_TO_VIRTUAL(arg0); - u16* temp_s1 = SEGMENTED_TO_VIRTUAL(floorTex); +void func_808C1554(u16* arg0, u16* floorTex, s32 arg2, f32 arg3) { + s32 pad[2]; s16 i; s16 i2; u16 sp54[2048]; s16 temp; - s16 temp2; + + arg0 = SEGMENTED_TO_VIRTUAL(arg0); + floorTex = SEGMENTED_TO_VIRTUAL(floorTex); for (i = 0; i < 2048; i += 32) { temp = sinf((((i / 32) + (s16)((arg2 * 50.0f) / 100.0f)) & 0x1F) * (M_PI / 16)) * arg3; for (i2 = 0; i2 < 32; i2++) { - sp54[i + ((temp + i2) & 0x1F)] = temp_s1[i + i2]; + sp54[i + ((temp + i2) & 0x1F)] = floorTex[i + i2]; } } for (i = 0; i < 32; i++) { temp = sinf(((i + (s16)((arg2 * 80.0f) / 100.0f)) & 0x1F) * (M_PI / 16)) * arg3; temp *= 32; for (i2 = 0; i2 < 2048; i2 += 32) { - temp2 = (temp + i2) & 0x7FF; - temp_s3[i + temp2] = sp54[i + i2]; + s16 temp2 = (temp + i2) & 0x7FF; + + arg0[i + temp2] = sp54[i + i2]; } } } @@ -179,9 +181,6 @@ s32 BossDodongo_AteExplosive(BossDodongo* this, PlayState* play) { void BossDodongo_Init(Actor* thisx, PlayState* play) { BossDodongo* this = (BossDodongo*)thisx; s16 i; - u16* temp_s1_3; - u16* temp_s2; - u32 temp_v0; play->specialEffects = this->effects; Actor_ProcessInitChain(&this->actor, sInitChain); @@ -202,8 +201,9 @@ void BossDodongo_Init(Actor* thisx, PlayState* play) { Collider_SetJntSph(play, &this->collider, &this->actor, &sJntSphInit, this->items); if (Flags_GetClear(play, play->roomCtx.curRoom.num)) { // KD is dead - temp_s1_3 = SEGMENTED_TO_VIRTUAL(gDodongosCavernBossLavaFloorTex); - temp_s2 = SEGMENTED_TO_VIRTUAL(sLavaFloorRockTex); + u16* temp_s1_3 = SEGMENTED_TO_VIRTUAL(gDodongosCavernBossLavaFloorTex); + u16* temp_s2 = SEGMENTED_TO_VIRTUAL(sLavaFloorRockTex); + u32 temp_v0; Actor_Kill(&this->actor); Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_DOOR_WARP1, -890.0f, -1523.76f, -3304.0f, 0, 0, 0, @@ -488,8 +488,7 @@ void BossDodongo_SetupRoll(BossDodongo* this) { } void BossDodongo_SetupBlowFire(BossDodongo* this) { - this->actor.speed = 0.0f; - this->unk_1E4 = 0.0f; + this->actor.speed = this->unk_1E4 = 0.0f; Animation_Change(&this->skelAnime, &object_kingdodongo_Anim_0061D4, 1.0f, 0.0f, Animation_GetLastFrame(&object_kingdodongo_Anim_0061D4), ANIMMODE_ONCE, 0.0f); this->actionFunc = BossDodongo_BlowFire; @@ -913,8 +912,8 @@ void BossDodongo_Update(Actor* thisx, PlayState* play2) { Math_SmoothStepToF(&this->colorFilterMax, 1099.0f, 1, 10.0f, 0.0); } else { Math_SmoothStepToF(&this->colorFilterR, play->lightCtx.fogColor[0], 1, 5.0f, 0.0); - Math_SmoothStepToF(&this->colorFilterG, play->lightCtx.fogColor[1], 1.0f, 5.0f, 0.0); - Math_SmoothStepToF(&this->colorFilterB, play->lightCtx.fogColor[2], 1.0f, 5.0f, 0.0); + Math_SmoothStepToF(&this->colorFilterG, play->lightCtx.fogColor[1], 1, 5.0f, 0.0); + Math_SmoothStepToF(&this->colorFilterB, play->lightCtx.fogColor[2], 1, 5.0f, 0.0); Math_SmoothStepToF(&this->colorFilterMin, play->lightCtx.fogNear, 1.0, 5.0f, 0.0); Math_SmoothStepToF(&this->colorFilterMax, 1000.0f, 1, 5.0f, 0.0); } @@ -992,16 +991,17 @@ void BossDodongo_Update(Actor* thisx, PlayState* play2) { } } - func_808C1554(gDodongosCavernBossLavaFloorTex, sLavaFloorLavaTex, this->unk_19E, this->unk_224); + func_808C1554((u16*)gDodongosCavernBossLavaFloorTex, (u16*)sLavaFloorLavaTex, this->unk_19E, this->unk_224); } if (this->unk_1C6 != 0) { u16* ptr1 = SEGMENTED_TO_VIRTUAL(sLavaFloorLavaTex); u16* ptr2 = SEGMENTED_TO_VIRTUAL(sLavaFloorRockTex); s16 i2; + s16 new_var; for (i2 = 0; i2 < 20; i2++) { - s16 new_var = this->unk_1C2 & 0x7FF; + new_var = this->unk_1C2 & 0x7FF; ptr1[new_var] = ptr2[new_var]; this->unk_1C2 += 37; @@ -1239,12 +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].base.bumperFlags & BUMP_HIT) { + if (this->collider.elements[i].base.acElemFlags & ACELEM_HIT) { acHitElem = this->collider.elements[i].base.acHitElem; - if ((acHitElem->toucher.dmgFlags & DMG_BOOMERANG) || - (acHitElem->toucher.dmgFlags & DMG_SLINGSHOT)) { - this->collider.elements[i].base.bumperFlags &= ~BUMP_HIT; + if ((acHitElem->atDmgInfo.dmgFlags & DMG_BOOMERANG) || + (acHitElem->atDmgInfo.dmgFlags & DMG_SLINGSHOT)) { + this->collider.elements[i].base.acElemFlags &= ~ACELEM_HIT; this->unk_1C0 = 2; BossDodongo_SetupWalk(this); this->unk_1DA = 0x32; @@ -1254,11 +1254,11 @@ void BossDodongo_UpdateDamage(BossDodongo* this, PlayState* play) { } } - if (this->collider.elements[0].base.bumperFlags & BUMP_HIT) { - this->collider.elements[0].base.bumperFlags &= ~BUMP_HIT; + if (this->collider.elements[0].base.acElemFlags & ACELEM_HIT) { + this->collider.elements[0].base.acElemFlags &= ~ACELEM_HIT; acHitElem = this->collider.elements[0].base.acHitElem; if ((this->actionFunc == BossDodongo_Vulnerable) || (this->actionFunc == BossDodongo_LayDown)) { - swordDamage = damage = CollisionCheck_GetSwordDamage(acHitElem->toucher.dmgFlags); + swordDamage = damage = CollisionCheck_GetSwordDamage(acHitElem->atDmgInfo.dmgFlags); if (damage != 0) { Actor_PlaySfx(&this->actor, NA_SE_EN_DODO_K_DAMAGE); @@ -1272,8 +1272,7 @@ void BossDodongo_UpdateDamage(BossDodongo* this, PlayState* play) { } void BossDodongo_SetupDeathCutscene(BossDodongo* this) { - this->actor.speed = 0.0f; - this->unk_1E4 = 0.0f; + this->actor.speed = this->unk_1E4 = 0.0f; Animation_Change(&this->skelAnime, &object_kingdodongo_Anim_002D0C, 1.0f, 0.0f, Animation_GetLastFrame(&object_kingdodongo_Anim_002D0C), ANIMMODE_ONCE, -5.0f); this->actionFunc = BossDodongo_DeathCutscene; diff --git a/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo_data.inc.c b/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo_data.inc.c index 3a62ce5333..189b0b94fc 100644 --- a/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo_data.inc.c +++ b/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo_data.inc.c @@ -16,8 +16,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK3, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 7, { { 8500, 1200, 0 }, 40 }, 100 }, @@ -27,8 +27,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK3, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 33, { { 2000, -2000, 0 }, 60 }, 100 }, @@ -38,8 +38,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 1, { { 0, 0, 0 }, 60 }, 100 }, @@ -49,8 +49,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 15, { { 0, 0, 0 }, 20 }, 100 }, @@ -60,8 +60,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 16, { { 0, 0, 0 }, 30 }, 100 }, @@ -71,8 +71,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 17, { { 0, 0, 0 }, 40 }, 100 }, @@ -82,8 +82,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 22, { { 0, 0, 0 }, 30 }, 100 }, @@ -93,8 +93,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 23, { { 0, 0, 0 }, 20 }, 100 }, @@ -104,8 +104,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 24, { { 0, 0, 0 }, 30 }, 100 }, @@ -115,8 +115,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 29, { { 0, 0, 0 }, 30 }, 100 }, @@ -126,8 +126,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 30, { { 0, 0, 0 }, 30 }, 100 }, @@ -137,8 +137,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 31, { { 0, 0, 0 }, 30 }, 100 }, @@ -148,8 +148,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 32, { { 0, 0, 0 }, 50 }, 100 }, @@ -159,8 +159,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 38, { { 0, 0, 0 }, 30 }, 100 }, @@ -170,8 +170,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 39, { { 0, 0, 0 }, 30 }, 100 }, @@ -181,8 +181,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 40, { { 0, 0, 0 }, 40 }, 100 }, @@ -192,8 +192,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 45, { { 0, 0, 0 }, 30 }, 100 }, @@ -203,8 +203,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 46, { { 0, 0, 0 }, 30 }, 100 }, @@ -214,8 +214,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 47, { { 0, 0, 0 }, 40 }, 100 }, 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 172fd4c5f2..6ba94dbed5 100644 --- a/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c +++ b/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c @@ -258,7 +258,6 @@ static Vec3f sCeilingTargets[] = { void BossFd_Fly(BossFd* this, PlayState* play) { u8 sp1CF = false; - u8 temp_rand; s16 i1; s16 i2; s16 i3; @@ -272,7 +271,6 @@ void BossFd_Fly(BossFd* this, PlayState* play) { f32 temp_y; f32 temp_x; f32 temp_z; - f32 temp; SkelAnime_Update(&this->skelAnimeHead); SkelAnime_Update(&this->skelAnimeRightArm); @@ -476,13 +474,13 @@ void BossFd_Fly(BossFd* this, PlayState* play) { this->subCamAtVel.y = 85.56f; this->subCamAtVel.z = 25.0f; } else { - // the following `temp` stuff is probably fake but is required to match + // the following `temp_z` stuff is probably fake but is required to match // it's optimized to 1.0f because sp1CF is false at this point, but the 0.1f ends up in rodata - temp = 0.1f; + temp_z = 0.1f; if (!sp1CF) { - temp = 1.0f; + temp_z = 1.0f; } - Math_ApproachF(&this->subCamShake, 2.0f, temp, 0.1 * 0.08f); + Math_ApproachF(&this->subCamShake, 2.0f, temp_z, 0.1 * 0.08f); this->subCamAtYOffset = Math_CosS(this->work[BFD_MOVE_TIMER] * 0x8000) * this->subCamShake; } if (this->timers[3] == 160) { @@ -561,6 +559,8 @@ void BossFd_Fly(BossFd* this, PlayState* play) { this->timers[0] = 0; this->timers[1] = 100; } else { + u8 temp_rand; + if (this->introState != BFD_CS_NONE) { this->holeIndex = 6; } else { @@ -919,12 +919,6 @@ void BossFd_Fly(BossFd* this, PlayState* play) { if (!this->work[BFD_STOP_FLAG]) { s16 i4; - Vec3f spE0[3]; - Vec3f spBC[3]; - f32 phi_f20; - f32 padB4; - f32 padB0; - f32 padAC; Math_ApproachS(&this->actor.world.rot.y, angleToTarget, 0xA, this->fwork[BFD_TURN_RATE]); @@ -993,6 +987,8 @@ void BossFd_Fly(BossFd* this, PlayState* play) { } if (!sp1CF) { + Vec3f spE0[3]; + Vec3f spBC[3]; spE0[0].x = spE0[0].y = Math_SinS(this->work[BFD_MOVE_TIMER] * 1500.0f) * 3000.0f; spE0[1].x = Math_SinS(this->work[BFD_MOVE_TIMER] * 2000.0f) * 4000.0f; spE0[1].y = Math_SinS(this->work[BFD_MOVE_TIMER] * 2200.0f) * 4000.0f; @@ -1012,7 +1008,11 @@ void BossFd_Fly(BossFd* this, PlayState* play) { } } else { for (i2 = 0; i2 < 3; i2++) { - phi_f20 = 0.0f; + f32 phi_f20 = 0.0f; + f32 padB4; + f32 padB0; + f32 padAC; + Math_ApproachZeroF(&this->rightArmRot[i2].y, 0.1f, 100.0f); Math_ApproachZeroF(&this->leftArmRot[i2].y, 0.1f, 100.0f); if (i2 == 0) { @@ -1027,14 +1027,16 @@ void BossFd_Fly(BossFd* this, PlayState* play) { void BossFd_Wait(BossFd* this, PlayState* play) { if (this->handoffSignal == FD2_SIGNAL_FLY) { // Set by BossFd2 - u8 temp_rand; - this->handoffSignal = FD2_SIGNAL_NONE; BossFd_SetupFly(this, play); - do { - temp_rand = Rand_ZeroFloat(8.9f); - } while (temp_rand == this->holeIndex); - this->holeIndex = temp_rand; + { + u8 temp_rand; + + do { + temp_rand = Rand_ZeroFloat(8.9f); + } while (temp_rand == this->holeIndex); + this->holeIndex = temp_rand; + } if (1) {} // Needed for matching this->targetPosition.x = sHoleLocations[this->holeIndex].x; this->targetPosition.y = sHoleLocations[this->holeIndex].y - 200.0f; @@ -1071,7 +1073,6 @@ void BossFd_Effects(BossFd* this, PlayState* play) { s16 eyeStates[] = { EYE_OPEN, EYE_HALF, EYE_CLOSED, EYE_CLOSED, EYE_HALF }; f32 temp_x; f32 temp_z; - s16 i; if (1) {} // Needed for match @@ -1088,6 +1089,8 @@ void BossFd_Effects(BossFd* this, PlayState* play) { play->envCtx.prevLightSetting = 0; Math_ApproachF(&play->envCtx.lightBlend, 1.0f, 1.0f, 0.05f); } else if (this->fogMode == 2) { + s16 pad; + this->fogMode--; play->envCtx.lightSettingOverride = 0; Math_ApproachF(&play->envCtx.lightBlend, 0.55f + 0.05f * Math_SinS(this->work[BFD_VAR_TIMER] * 0x3E00), 1.0f, @@ -1096,6 +1099,8 @@ void BossFd_Effects(BossFd* this, PlayState* play) { play->envCtx.lightSetting = 3; play->envCtx.prevLightSetting = 0; } else if (this->fogMode == 10) { + s16 pad; + this->fogMode = 1; play->envCtx.lightSettingOverride = 0; Math_ApproachF(&play->envCtx.lightBlend, 0.21f + 0.07f * Math_SinS(this->work[BFD_VAR_TIMER] * 0xC00), 1.0f, @@ -1150,7 +1155,7 @@ void BossFd_Effects(BossFd* this, PlayState* play) { Vec3f spawnVel1; Vec3f spawnAccel1; Vec3f spawnPos1; - s32 pad; + s16 i; Audio_PlaySfxGeneral(NA_SE_EN_VALVAISA_APPEAR - SFX_FLAG, &this->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); @@ -1220,6 +1225,7 @@ void BossFd_Effects(BossFd* this, PlayState* play) { breathOpacity = (this->fireBreathTimer >= 6) ? 255 : this->fireBreathTimer * 50; } if (breathOpacity != 0) { + s16 i; f32 spawnAngleX; f32 spawnAngleY; Vec3f spawnSpeed2 = { 0.0f, 0.0f, 0.0f }; @@ -1281,11 +1287,11 @@ void BossFd_CollisionCheck(BossFd* this, PlayState* play) { ColliderJntSphElement* headCollider = &this->collider.elements[0]; ColliderElement* acHitElem; - if (headCollider->base.bumperFlags & BUMP_HIT) { - headCollider->base.bumperFlags &= ~BUMP_HIT; + if (headCollider->base.acElemFlags & ACELEM_HIT) { + headCollider->base.acElemFlags &= ~ACELEM_HIT; acHitElem = headCollider->base.acHitElem; this->actor.colChkInfo.health -= 2; - if (acHitElem->toucher.dmgFlags & DMG_ARROW_ICE) { + if (acHitElem->atDmgInfo.dmgFlags & DMG_ARROW_ICE) { this->actor.colChkInfo.health -= 2; } if ((s8)this->actor.colChkInfo.health <= 2) { @@ -1299,12 +1305,8 @@ void BossFd_CollisionCheck(BossFd* this, PlayState* play) { } void BossFd_Update(Actor* thisx, PlayState* play) { - s32 pad; - BossFd* this = (BossFd*)thisx; - f32 headGlow; - f32 rManeGlow; - f32 lManeGlow; s16 i; + BossFd* this = (BossFd*)thisx; PRINTF("FD MOVE START \n"); this->work[BFD_VAR_TIMER]++; @@ -1339,47 +1341,55 @@ void BossFd_Update(Actor* thisx, PlayState* play) { this->fwork[BFD_TEX2_SCROLL_X] += 3.0f; this->fwork[BFD_TEX2_SCROLL_Y] -= 2.0f; - Math_ApproachF(&this->fwork[BFD_BODY_TEX2_ALPHA], (this->work[BFD_VAR_TIMER] & 0x10) ? 30.0f : 158.0f, 1.0f, 8.0f); - if (this->skinSegments == 0) { - this->fwork[BFD_HEAD_TEX2_ALPHA] = this->fwork[BFD_BODY_TEX2_ALPHA]; - } else { - headGlow = (this->work[BFD_VAR_TIMER] & 4) ? 0.0f : 255.0f; - Math_ApproachF(&this->fwork[BFD_HEAD_TEX2_ALPHA], headGlow, 1.0f, 64.0f); - } + if (1) { + f32 headGlow; + f32 rManeGlow; + f32 lManeGlow; + s32 pad; - headGlow = (this->work[BFD_VAR_TIMER] & 8) ? 128.0f : 255.0f; - rManeGlow = ((this->work[BFD_VAR_TIMER] + 3) & 8) ? 128.0f : 255.0f; - lManeGlow = ((this->work[BFD_VAR_TIMER] + 6) & 8) ? 128.0f : 255.0f; + Math_ApproachF(&this->fwork[BFD_BODY_TEX2_ALPHA], (this->work[BFD_VAR_TIMER] & 0x10) ? 30.0f : 158.0f, 1.0f, + 8.0f); + if (this->skinSegments == 0) { + this->fwork[BFD_HEAD_TEX2_ALPHA] = this->fwork[BFD_BODY_TEX2_ALPHA]; + } else { + headGlow = (this->work[BFD_VAR_TIMER] & 4) ? 0.0f : 255.0f; + Math_ApproachF(&this->fwork[BFD_HEAD_TEX2_ALPHA], headGlow, 1.0f, 64.0f); + } - Math_ApproachF(&this->fwork[BFD_MANE_COLOR_CENTER], headGlow, 1.0f, 16.0f); - Math_ApproachF(&this->fwork[BFD_MANE_COLOR_RIGHT], rManeGlow, 1.0f, 16.0f); - Math_ApproachF(&this->fwork[BFD_MANE_COLOR_LEFT], lManeGlow, 1.0f, 16.0f); + headGlow = (this->work[BFD_VAR_TIMER] & 8) ? 128.0f : 255.0f; + rManeGlow = ((this->work[BFD_VAR_TIMER] + 3) & 8) ? 128.0f : 255.0f; + lManeGlow = ((this->work[BFD_VAR_TIMER] + 6) & 8) ? 128.0f : 255.0f; - if (this->work[BFD_ROCK_TIMER] != 0) { - this->work[BFD_ROCK_TIMER]--; - if ((this->work[BFD_ROCK_TIMER] % 16) == 0) { - EnVbBall* bossFdRock = (EnVbBall*)Actor_SpawnAsChild( - &play->actorCtx, &this->actor, play, ACTOR_EN_VB_BALL, this->actor.world.pos.x, 1000.0f, - this->actor.world.pos.z, 0, 0, (s16)Rand_ZeroFloat(50.0f) + 130, 100); + Math_ApproachF(&this->fwork[BFD_MANE_COLOR_CENTER], headGlow, 1.0f, 16.0f); + Math_ApproachF(&this->fwork[BFD_MANE_COLOR_RIGHT], rManeGlow, 1.0f, 16.0f); + Math_ApproachF(&this->fwork[BFD_MANE_COLOR_LEFT], lManeGlow, 1.0f, 16.0f); - if (bossFdRock != NULL) { - for (i = 0; i < 10; i++) { - Vec3f debrisVel = { 0.0f, 0.0f, 0.0f }; - Vec3f debrisAccel = { 0.0f, -1.0f, 0.0f }; - Vec3f debrisPos; + if (this->work[BFD_ROCK_TIMER] != 0) { + this->work[BFD_ROCK_TIMER]--; + if ((this->work[BFD_ROCK_TIMER] % 16) == 0) { + EnVbBall* bossFdRock = (EnVbBall*)Actor_SpawnAsChild( + &play->actorCtx, &this->actor, play, ACTOR_EN_VB_BALL, this->actor.world.pos.x, 1000.0f, + this->actor.world.pos.z, 0, 0, (s16)Rand_ZeroFloat(50.0f) + 130, 100); - debrisPos.x = Rand_CenteredFloat(300.0f) + bossFdRock->actor.world.pos.x; - debrisPos.y = Rand_CenteredFloat(300.0f) + bossFdRock->actor.world.pos.y; - debrisPos.z = Rand_CenteredFloat(300.0f) + bossFdRock->actor.world.pos.z; + if (bossFdRock != NULL) { + for (i = 0; i < 10; i++) { + Vec3f debrisVel = { 0.0f, 0.0f, 0.0f }; + Vec3f debrisAccel = { 0.0f, -1.0f, 0.0f }; + Vec3f debrisPos; - BossFd_SpawnDebris(this->effects, &debrisPos, &debrisVel, &debrisAccel, - (s16)Rand_ZeroFloat(15.0f) + 20); + debrisPos.x = Rand_CenteredFloat(300.0f) + bossFdRock->actor.world.pos.x; + debrisPos.y = Rand_CenteredFloat(300.0f) + bossFdRock->actor.world.pos.y; + debrisPos.z = Rand_CenteredFloat(300.0f) + bossFdRock->actor.world.pos.z; + + BossFd_SpawnDebris(this->effects, &debrisPos, &debrisVel, &debrisAccel, + (s16)Rand_ZeroFloat(15.0f) + 20); + } } } } } - if (1) { // Needed for matching, and also to define new variables + if (1) { Vec3f emberVel = { 0.0f, 0.0f, 0.0f }; Vec3f emberAccel = { 0.0f, 0.0f, 0.0f }; Vec3f emberPos; @@ -1432,7 +1442,7 @@ void BossFd_UpdateEffects(BossFd* this, PlayState* play) { Color_RGB8 colors[4] = { { 255, 128, 0 }, { 255, 0, 0 }, { 255, 255, 0 }, { 255, 0, 0 } }; Vec3f diff; s16 i1; - s16 i2; + s16 cInd; for (i1 = 0; i1 < BOSSFD_EFFECT_COUNT; i1++, effect++) { if (effect->type != BFD_FX_NONE) { @@ -1446,7 +1456,7 @@ void BossFd_UpdateEffects(BossFd* this, PlayState* play) { effect->velocity.y += effect->accel.y; effect->velocity.z += effect->accel.z; if (effect->type == BFD_FX_EMBER) { - s16 cInd = effect->timer1 % 4; + cInd = effect->timer1 % 4; effect->color.r = colors[cInd].r; effect->color.g = colors[cInd].g; @@ -1477,6 +1487,8 @@ void BossFd_UpdateEffects(BossFd* this, PlayState* play) { this->timers[3] = 50; func_8002F6D4(play, NULL, 5.0f, effect->kbAngle, 0.0f, 0x30); if (!player->bodyIsBurning) { + s16 i2; + for (i2 = 0; i2 < PLAYER_BODYPART_MAX; i2++) { player->bodyFlameTimers[i2] = Rand_S16Offset(0, 200); } @@ -1883,20 +1895,19 @@ void BossFd_DrawBody(PlayState* play, BossFd* this) { Vec3f spF0 = { 0.0f, 0.0f, 0.0f }; Vec3f spE4; Vec3s spDC; - f32 padD8; + f32 spD8; + f32 spD4; if (this->bodyFallApart[i] < 2) { - f32 spD4 = 0.1f; + spD8 = spD4 = 0.1f; - temp_float = 0.1f; Matrix_Translate(0.0f, 0.0f, -1100.0f, MTXMODE_APPLY); Matrix_RotateY(-M_PI, MTXMODE_APPLY); if (i >= 14) { f32 sp84 = 1.0f - ((i - 14) * 0.2f); Matrix_Scale(sp84, sp84, 1.0f, MTXMODE_APPLY); - spD4 = 0.1f * sp84; - temp_float = 0.1f * sp84; + spD4 = spD8 = spD8 * sp84; } Matrix_Scale(0.1f, 0.1f, 0.1f, MTXMODE_APPLY); gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_fd.c", 4768), @@ -1913,7 +1924,7 @@ void BossFd_DrawBody(PlayState* play, BossFd* this) { bones = (EnVbBall*)Actor_SpawnAsChild(&play->actorCtx, &this->actor, play, ACTOR_EN_VB_BALL, spE4.x, spE4.y, spE4.z, spDC.x, spDC.y, spDC.z, i + 200); - bones->actor.scale.x = this->actor.scale.x * temp_float; + bones->actor.scale.x = this->actor.scale.x * spD8; bones->actor.scale.y = this->actor.scale.y * spD4; bones->actor.scale.z = this->actor.scale.z * 0.1f; } diff --git a/src/overlays/actors/ovl_Boss_Fd/z_boss_fd_colchk.inc.c b/src/overlays/actors/ovl_Boss_Fd/z_boss_fd_colchk.inc.c index c7b6a8b809..2e437fdf83 100644 --- a/src/overlays/actors/ovl_Boss_Fd/z_boss_fd_colchk.inc.c +++ b/src/overlays/actors/ovl_Boss_Fd/z_boss_fd_colchk.inc.c @@ -6,8 +6,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK3, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 20 }, 100 }, @@ -17,8 +17,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 1, { { 0, 0, 0 }, 20 }, 100 }, @@ -28,8 +28,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 2, { { 0, 0, 0 }, 20 }, 100 }, @@ -39,8 +39,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 3, { { 0, 0, 0 }, 20 }, 100 }, @@ -50,8 +50,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 4, { { 0, 0, 0 }, 20 }, 100 }, @@ -61,8 +61,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 5, { { 0, 0, 0 }, 20 }, 100 }, @@ -72,8 +72,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 6, { { 0, 0, 0 }, 20 }, 100 }, @@ -83,8 +83,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 7, { { 0, 0, 0 }, 20 }, 100 }, @@ -94,8 +94,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 8, { { 0, 0, 0 }, 20 }, 100 }, @@ -105,8 +105,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 9, { { 0, 0, 0 }, 20 }, 100 }, @@ -116,8 +116,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 10, { { 0, 0, 0 }, 20 }, 100 }, @@ -127,8 +127,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 11, { { 0, 0, 0 }, 20 }, 100 }, @@ -138,8 +138,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 12, { { 0, 0, 0 }, 20 }, 100 }, @@ -149,8 +149,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 13, { { 0, 0, 0 }, 20 }, 100 }, @@ -160,8 +160,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 14, { { 0, 0, 0 }, 18 }, 100 }, @@ -171,8 +171,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 15, { { 0, 0, 0 }, 16 }, 100 }, @@ -182,8 +182,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 16, { { 0, 0, 0 }, 14 }, 100 }, @@ -193,8 +193,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 17, { { 0, 0, 0 }, 12 }, 100 }, @@ -204,8 +204,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[19] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 18, { { 0, 0, 0 }, 10 }, 100 }, 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 16a9ad1fd3..7a0895bdc1 100644 --- a/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.c +++ b/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.c @@ -224,11 +224,10 @@ void BossFd2_SetupEmerge(BossFd2* this, PlayState* play) { } void BossFd2_Emerge(BossFd2* this, PlayState* play) { - s8 health; + s16 holeTime; BossFd* bossFd = (BossFd*)this->actor.parent; Player* player = GET_PLAYER(play); s16 i; - s16 holeTime; PRINTF("UP 1 mode %d\n", this->work[FD2_ACTION_STATE]); SkelAnime_Update(&this->skelAnime); @@ -239,6 +238,8 @@ void BossFd2_Emerge(BossFd2* this, PlayState* play) { PRINTF("PL time %x \n", player); PRINTF("MT time %x \n", bossFd); if ((this->timers[0] == 0) && (player->actor.world.pos.y > 70.0f)) { + s8 health; + PRINTF("UP 1.6 \n"); bossFd->faceExposed = 0; bossFd->holePosition.x = this->actor.world.pos.x; @@ -645,7 +646,6 @@ void BossFd2_Death(BossFd2* this, PlayState* play) { f32 pad3; f32 pad2; f32 pad1; - f32 cameraShake; SkelAnime* skelAnime = &this->skelAnime; SkelAnime_Update(skelAnime); @@ -766,6 +766,8 @@ void BossFd2_Death(BossFd2* this, PlayState* play) { this->subCamEyeNext.y = 140.0f; Math_ApproachF(&this->subCamEyeNext.z, 220.0f, 0.5f, 1.15f); if (bossFd->work[BFD_CAM_SHAKE_TIMER] != 0) { + f32 cameraShake; + bossFd->work[BFD_CAM_SHAKE_TIMER]--; cameraShake = bossFd->work[BFD_CAM_SHAKE_TIMER] / 0.5f; if (cameraShake >= 20.0f) { @@ -813,8 +815,8 @@ void BossFd2_CollisionCheck(BossFd2* this, PlayState* play) { Player* player = GET_PLAYER(play); for (i = 0; i < ARRAY_COUNT(this->elements); i++) { - if (this->collider.elements[i].base.toucherFlags & TOUCH_HIT) { - this->collider.elements[i].base.toucherFlags &= ~TOUCH_HIT; + if (this->collider.elements[i].base.atElemFlags & ATELEM_HIT) { + this->collider.elements[i].base.atElemFlags &= ~ATELEM_HIT; Actor_PlaySfx(&player->actor, NA_SE_PL_BODY_HIT); } } @@ -827,12 +829,12 @@ void BossFd2_CollisionCheck(BossFd2* this, PlayState* play) { this->collider.base.colType = COLTYPE_HIT3; } - if (this->collider.elements[0].base.bumperFlags & BUMP_HIT) { - this->collider.elements[0].base.bumperFlags &= ~BUMP_HIT; + if (this->collider.elements[0].base.acElemFlags & ACELEM_HIT) { + this->collider.elements[0].base.acElemFlags &= ~ACELEM_HIT; acHitElem = this->collider.elements[0].base.acHitElem; if (!bossFd->faceExposed) { - if (acHitElem->toucher.dmgFlags & DMG_HAMMER) { + if (acHitElem->atDmgInfo.dmgFlags & DMG_HAMMER) { bossFd->actor.colChkInfo.health -= 2; if ((s8)bossFd->actor.colChkInfo.health <= 2) { bossFd->actor.colChkInfo.health = 1; @@ -863,12 +865,12 @@ void BossFd2_CollisionCheck(BossFd2* this, PlayState* play) { u8 canKill = false; u8 damage; - if ((damage = CollisionCheck_GetSwordDamage(acHitElem->toucher.dmgFlags)) == 0) { - damage = (acHitElem->toucher.dmgFlags & DMG_ARROW_ICE) ? 4 : 2; + if ((damage = CollisionCheck_GetSwordDamage(acHitElem->atDmgInfo.dmgFlags)) == 0) { + damage = (acHitElem->atDmgInfo.dmgFlags & DMG_ARROW_ICE) ? 4 : 2; } else { canKill = true; } - if (acHitElem->toucher.dmgFlags & DMG_HOOKSHOT) { + if (acHitElem->atDmgInfo.dmgFlags & DMG_HOOKSHOT) { damage = 0; } if (((s8)bossFd->actor.colChkInfo.health > 2) || canKill) { @@ -1061,7 +1063,7 @@ void BossFd2_UpdateMane(BossFd2* this, PlayState* play, Vec3f* head, Vec3f* pos, f32 spE8[10] = { 0.4f, 0.6f, 0.8f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f }; s16 i; Vec3f temp_vec; - f32 temp_f2; + f32 temp_radius; f32 phi_f0; f32 temp_angleX; f32 temp_angleY; @@ -1089,9 +1091,8 @@ void BossFd2_UpdateMane(BossFd2* this, PlayState* play, Vec3f* head, Vec3f* pos, temp_vec.x = (pos + i)->x + (pull + i)->x - (pos + i - 1)->x; phi_f0 = (pos + i)->y + (pull + i)->y - 2.0f + sp138[i]; - temp_f2 = (pos + i - 1)->y + sp110[i]; - if (phi_f0 > temp_f2) { - phi_f0 = temp_f2; + if (phi_f0 > (pos + i - 1)->y + sp110[i]) { + phi_f0 = (pos + i - 1)->y + sp110[i]; } if ((head->y >= -910.0f) && (phi_f0 < 110.0f)) { phi_f0 = 110.0f; @@ -1100,7 +1101,8 @@ void BossFd2_UpdateMane(BossFd2* this, PlayState* play, Vec3f* head, Vec3f* pos, temp_vec.z = (pos + i)->z + (pull + i)->z - (pos + i - 1)->z; temp_angleY = Math_Atan2F(temp_vec.z, temp_vec.x); - temp_angleX = -Math_Atan2F(sqrtf(SQ(temp_vec.x) + SQ(temp_vec.z)), temp_vec.y); + temp_radius = sqrtf(SQ(temp_vec.x) + SQ(temp_vec.z)); + temp_angleX = -Math_Atan2F(temp_radius, temp_vec.y); (rot + i - 1)->y = temp_angleY; (rot + i - 1)->x = temp_angleX; spBC.x = 0.0f; diff --git a/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2_colchk.inc.c b/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2_colchk.inc.c index f888dc4863..4ec5065401 100644 --- a/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2_colchk.inc.c +++ b/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2_colchk.inc.c @@ -6,8 +6,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[9] = { ELEMTYPE_UNK3, { 0xFFCFFFFF, 0x00, 0x20 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_NONE, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 35, { { 6000, 0, 0 }, 21 }, 100 }, @@ -17,8 +17,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[9] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x20 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 18, { { 4000, 0, 0 }, 13 }, 100 }, @@ -28,8 +28,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[9] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x20 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 19, { { 3000, 0, 0 }, 13 }, 100 }, @@ -39,8 +39,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[9] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x20 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 20, { { 4000, 0, 0 }, 15 }, 100 }, @@ -50,8 +50,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[9] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x20 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 24, { { 4000, 0, 0 }, 13 }, 100 }, @@ -61,8 +61,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[9] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x20 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 25, { { 3000, 0, 0 }, 13 }, 100 }, @@ -72,8 +72,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[9] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x20 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 26, { { 3500, 1500, 0 }, 15 }, 100 }, @@ -83,8 +83,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[9] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x20 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 17, { { 0, 0, 0 }, 26 }, 100 }, @@ -94,8 +94,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[9] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x20 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 30, { { 0, 0, 0 }, 17 }, 100 }, 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 0e401ef752..0498724369 100644 --- a/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c +++ b/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c @@ -70,8 +70,8 @@ static ColliderCylinderInit sDorfCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 20, 80, -50, { 0, 0, 0 } }, @@ -90,8 +90,8 @@ static ColliderCylinderInit sLightBallCylinderInit = { ELEMTYPE_UNK6, { 0x00100700, 0x00, 0x08 }, { 0x0D900740, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 20, 30, -15, { 0, 0, 0 } }, @@ -184,6 +184,8 @@ void BossGanonEff_SpawnLightRay(PlayState* play, Vec3f* pos, Vec3f* velocity, Ve for (i = 0; i < 150; i++, eff++) { if (eff->type == GDF_EFF_NONE) { + s32 pad; + eff->type = GDF_EFF_LIGHT_RAY; eff->pos = *pos; eff->velocity = *velocity; @@ -1222,9 +1224,6 @@ void BossGanon_DeathAndTowerCutscene(BossGanon* this, PlayState* play) { Vec3f sp98; Vec3f sp8C; Vec3f sp80; - Vec3f sp74; - Camera* mainCam; - Vec3f sp64; gSegments[6] = VIRTUAL_TO_PHYSICAL(play->objectCtx.slots[this->animObjectSlot].segment); @@ -1570,7 +1569,8 @@ void BossGanon_DeathAndTowerCutscene(BossGanon* this, PlayState* play) { } if (this->csTimer == 190) { - sp74 = this->actor.world.pos; + Vec3f sp74 = this->actor.world.pos; + sp74.y = 4102.0f; BossGanonEff_SpawnDustDark(play, &sp74, 0.2f, 0.7f); } @@ -1782,7 +1782,7 @@ void BossGanon_DeathAndTowerCutscene(BossGanon* this, PlayState* play) { this->csCamAt.z = (sZelda->actor.world.pos.z - 25.0f) + 80.0f; if (this->csTimer > 50) { - mainCam = Play_GetCamera(play, CAM_ID_MAIN); + Camera* mainCam = Play_GetCamera(play, CAM_ID_MAIN); mainCam->eye = this->csCamEye; mainCam->eyeNext = this->csCamEye; @@ -1807,6 +1807,8 @@ void BossGanon_DeathAndTowerCutscene(BossGanon* this, PlayState* play) { } if (this->csCamIndex != 0) { + Vec3f sp64; + if (moveCam) { Math_ApproachF(&this->csCamEye.x, this->csCamTargetEye.x, this->csCamMovementScale, this->csCamEyeMaxStep.x * this->csCamMaxStepScale); @@ -1830,10 +1832,10 @@ void BossGanon_DeathAndTowerCutscene(BossGanon* this, PlayState* play) { void BossGanon_SetupPoundFloor(BossGanon* this, PlayState* play) { this->unk_1C2 = 0; - this->timers[0] = 40; - this->actionFunc = BossGanon_PoundFloor; this->actor.velocity.x = 0.0f; this->actor.velocity.y = 0.0f; + this->timers[0] = 40; + this->actionFunc = BossGanon_PoundFloor; this->fwork[GDF_CENTER_POS] = 100.0f; } @@ -1844,8 +1846,6 @@ void BossGanon_PoundFloor(BossGanon* this, PlayState* play) { f32 targetPosZ; Vec3f sp6C; Vec3f sp60; - Vec3f sp54; - Vec3f sp48; SkelAnime_Update(&this->skelAnime); @@ -1951,13 +1951,15 @@ void BossGanon_PoundFloor(BossGanon* this, PlayState* play) { } if ((this->unk_19C == 35) || (this->unk_19C == 30) || (this->unk_19C == 25)) { - sp54 = this->actor.world.pos; + Vec3f sp54 = this->actor.world.pos; + sp54.y = 0.0f; BossGanonEff_SpawnDustLight(play, &sp54, 0, 3.0f, this->unk_19C - 25); } if (this->unk_19C == 35) { - sp48 = this->actor.world.pos; + Vec3f sp48 = this->actor.world.pos; + sp48.y = 0.0f; BossGanonEff_SpawnShockwave(play, &sp48, 0, 3.0f); } @@ -1965,9 +1967,9 @@ void BossGanon_PoundFloor(BossGanon* this, PlayState* play) { void BossGanon_SetupChargeBigMagic(BossGanon* this, PlayState* play) { this->unk_1C2 = 0; - this->timers[0] = 30; this->actor.velocity.x = 0.0f; this->actor.velocity.y = 0.0f; + this->timers[0] = 30; this->fwork[GDF_CENTER_POS] = 100.0f; this->unk_1AA = Rand_ZeroFloat(20000.0f); this->unk_1AC = 0; @@ -2689,14 +2691,14 @@ void BossGanon_UpdateDamage(BossGanon* this, PlayState* play) { acHitElem = this->collider.elem.acHitElem; if ((this->actionFunc == BossGanon_HitByLightBall) || (this->actionFunc == BossGanon_ChargeBigMagic)) { - if (acHitElem->toucher.dmgFlags & DMG_ARROW_LIGHT) { + if (acHitElem->atDmgInfo.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 (!(acHitElem->toucher.dmgFlags & DMG_HOOKSHOT)) { + if (!(acHitElem->atDmgInfo.dmgFlags & DMG_HOOKSHOT)) { u8 hitWithSword = false; u8 damage; Vec3f sp50; @@ -2710,7 +2712,7 @@ void BossGanon_UpdateDamage(BossGanon* this, PlayState* play) { 0x1E); } - damage = flags = CollisionCheck_GetSwordDamage(acHitElem->toucher.dmgFlags); + damage = flags = CollisionCheck_GetSwordDamage(acHitElem->atDmgInfo.dmgFlags); if (flags == 0) { damage = 2; @@ -2744,7 +2746,7 @@ void BossGanon_UpdateDamage(BossGanon* this, PlayState* play) { sCape->tearTimer = 1; } } - } else if (acHitElem->toucher.dmgFlags & DMG_RANGED) { + } else if (acHitElem->atDmgInfo.dmgFlags & DMG_RANGED) { Actor_PlaySfx(&this->actor, 0); for (i = 0; i < ARRAY_COUNT(sCape->strands); i++) { @@ -3333,14 +3335,14 @@ f32 BossGanon_RandZeroOne(void) { } void BossGanon_DrawShock(BossGanon* this, PlayState* play) { - s32 pad; - GraphicsContext* gfxCtx = play->state.gfxCtx; + GameState* gameState = &play->state; + GraphicsContext* gfxCtx = gameState->gfxCtx; s16 i; OPEN_DISPS(gfxCtx, "../z_boss_ganon.c", 7350); if ((this->unk_2E8 != 0) || (this->unk_2E6 != 0)) { - Gfx_SetupDL_25Xlu(play->state.gfxCtx); + Gfx_SetupDL_25Xlu(gameState->gfxCtx); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 255); gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 0, 0); gSPDisplayList(POLY_XLU_DISP++, gGanondorfLightBallMaterialDL); @@ -3373,7 +3375,7 @@ void BossGanon_DrawShock(BossGanon* this, PlayState* play) { if (this->shockGlow) { gSPSegment(POLY_XLU_DISP++, 0x08, - Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0, 0, 32, 64, 1, 0, + Gfx_TwoTexScroll(gameState->gfxCtx, G_TX_RENDERTILE, 0, 0, 32, 64, 1, 0, (this->unk_1A2 + i) * -15, 32, 64)); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 200, 255, 170, 255); gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 0, 128); @@ -3389,14 +3391,14 @@ void BossGanon_DrawShock(BossGanon* this, PlayState* play) { } void BossGanon_DrawHandLightBall(BossGanon* this, PlayState* play) { - s32 pad; - GraphicsContext* gfxCtx = play->state.gfxCtx; + GameState* gameState = &play->state; + GraphicsContext* gfxCtx = gameState->gfxCtx; s32 alpha; OPEN_DISPS(gfxCtx, "../z_boss_ganon.c", 7476); if (this->handLightBallScale > 0.0f) { - Gfx_SetupDL_25Xlu(play->state.gfxCtx); + Gfx_SetupDL_25Xlu(gameState->gfxCtx); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 255); if ((this->unk_1A2 % 2) != 0) { @@ -3420,7 +3422,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_NEW(play->state.gfxCtx, "../z_boss_ganon.c", 7531), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gameState->gfxCtx, "../z_boss_ganon.c", 7531), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanondorfLightCoreDL); @@ -3429,21 +3431,21 @@ void BossGanon_DrawHandLightBall(BossGanon* this, PlayState* play) { } void BossGanon_DrawBigMagicCharge(BossGanon* this, PlayState* play) { - s32 pad; + GameState* gameState = &play->state; f32 yRot; - GraphicsContext* gfxCtx = play->state.gfxCtx; + GraphicsContext* gfxCtx = gameState->gfxCtx; s16 i; OPEN_DISPS(gfxCtx, "../z_boss_ganon.c", 7548); if (this->unk_284 > 0.0f) { - Gfx_SetupDL_25Xlu(play->state.gfxCtx); + Gfx_SetupDL_25Xlu(gameState->gfxCtx); // light flecks gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 170, (s8)this->unk_290); gDPSetEnvColor(POLY_XLU_DISP++, 200, 255, 0, 128); gSPSegment(POLY_XLU_DISP++, 0x08, - Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, this->unk_1A2 * -2, 0, 0x40, 0x40, 1, 0, + Gfx_TwoTexScroll(gameState->gfxCtx, G_TX_RENDERTILE, this->unk_1A2 * -2, 0, 0x40, 0x40, 1, 0, this->unk_1A2 * 0xA, 0x40, 0x40)); Matrix_Translate(this->unk_278.x, this->unk_278.y, this->unk_278.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); @@ -3460,14 +3462,14 @@ void BossGanon_DrawBigMagicCharge(BossGanon* this, PlayState* play) { 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, - Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0, 0, 0x20, 0x20, 1, 0, this->unk_1A2 * -4, + Gfx_TwoTexScroll(gameState->gfxCtx, G_TX_RENDERTILE, 0, 0, 0x20, 0x20, 1, 0, this->unk_1A2 * -4, 0x20, 0x20)); gSPDisplayList(POLY_XLU_DISP++, gGanondorfBigMagicBGCircleDL); // yellow background dot gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 150, 170, 0, (s8)this->unk_288); gSPSegment(POLY_XLU_DISP++, 0x0A, - Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, 0, 0, 0x20, 0x20, 1, this->unk_1A2 * 2, + Gfx_TwoTexScroll(gameState->gfxCtx, G_TX_RENDERTILE, 0, 0, 0x20, 0x20, 1, this->unk_1A2 * 2, this->unk_1A2 * -0x14, 0x40, 0x40)); gSPDisplayList(POLY_XLU_DISP++, gGanondorfDotDL); @@ -3509,15 +3511,17 @@ void BossGanon_DrawBigMagicCharge(BossGanon* this, PlayState* play) { Matrix_Pop(); } + if (1) {} + CLOSE_DISPS(gfxCtx, "../z_boss_ganon.c", 7721); } } void BossGanon_DrawTriforce(BossGanon* this, PlayState* play) { - s32 pad; + GameState* gameState = &play->state; if (this->fwork[GDF_TRIFORCE_PRIM_A] > 0.0f) { - OPEN_DISPS(play->state.gfxCtx, "../z_boss_ganon.c", 7732); + OPEN_DISPS(gameState->gfxCtx, "../z_boss_ganon.c", 7732); Matrix_Push(); @@ -3555,26 +3559,26 @@ 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_NEW(play->state.gfxCtx, "../z_boss_ganon.c", 7779), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gameState->gfxCtx, "../z_boss_ganon.c", 7779), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanondorfTriforceDL)); Matrix_Pop(); - CLOSE_DISPS(play->state.gfxCtx, "../z_boss_ganon.c", 7782); + CLOSE_DISPS(gameState->gfxCtx, "../z_boss_ganon.c", 7782); } } void BossGanon_DrawDarkVortex(BossGanon* this, PlayState* play) { - s32 pad; + GameState* gameState = &play->state; if (this->fwork[GDF_VORTEX_ALPHA] > 0.0f) { - OPEN_DISPS(play->state.gfxCtx, "../z_boss_ganon.c", 7792); + OPEN_DISPS(gameState->gfxCtx, "../z_boss_ganon.c", 7792); Matrix_Push(); gDPPipeSync(POLY_XLU_DISP++); gSPSegment(POLY_XLU_DISP++, 0x08, - Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, this->unk_1A2 * -8, 0, 0x20, 0x40, 1, + Gfx_TwoTexScroll(gameState->gfxCtx, G_TX_RENDERTILE, this->unk_1A2 * -8, 0, 0x20, 0x40, 1, this->unk_1A2 * -4, this->unk_1A2 * -8, 0x20, 0x20)); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 100, 0, 200, (s8)this->fwork[GDF_VORTEX_ALPHA]); gDPSetEnvColor(POLY_XLU_DISP++, 130, 0, 0, 128); @@ -3590,13 +3594,13 @@ 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_NEW(play->state.gfxCtx, "../z_boss_ganon.c", 7841), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gameState->gfxCtx, "../z_boss_ganon.c", 7841), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanondorfVortexDL)); Matrix_Pop(); - CLOSE_DISPS(play->state.gfxCtx, "../z_boss_ganon.c", 7844); + CLOSE_DISPS(gameState->gfxCtx, "../z_boss_ganon.c", 7844); } } @@ -3746,13 +3750,13 @@ void BossGanon_GenShadowTexture(u8* tex, BossGanon* this, PlayState* play) { } void BossGanon_DrawShadowTexture(void* tex, BossGanon* this, PlayState* play) { - s32 pad; + GameState* gameState = &play->state; f32 zOffset; - GraphicsContext* gfxCtx = play->state.gfxCtx; + GraphicsContext* gfxCtx = gameState->gfxCtx; OPEN_DISPS(gfxCtx, "../z_boss_ganon.c", 8372); - Gfx_SetupDL_25Opa(play->state.gfxCtx); + Gfx_SetupDL_25Opa(gameState->gfxCtx); gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 0, 0, 0, 50); gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 0); @@ -3764,7 +3768,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_NEW(play->state.gfxCtx, "../z_boss_ganon.c", 8396), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gameState->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, @@ -3836,6 +3840,8 @@ s32 BossGanon_CheckFallingPlatforms(BossGanon* this, PlayState* play, Vec3f* che f32 zDiff = platform->dyna.actor.world.pos.z - checkPos->z; if ((fabsf(xDiff) < 60.0f) && (yDiff < 20.0f) && (yDiff > -20.0f) && (fabsf(zDiff) < 60.0f)) { + s32 pad; + platform->isFalling = true; platform->visibleSides = OTYUKA_SIDE_ALL; @@ -3935,7 +3941,7 @@ void BossGanon_LightBall_Update(Actor* thisx, PlayState* play2) { this->collider.base.acFlags &= ~AC_HIT; - if ((hitWithBottle == false) && (acHitElem->toucher.dmgFlags & DMG_SHIELD)) { + if ((hitWithBottle == false) && (acHitElem->atDmgInfo.dmgFlags & DMG_SHIELD)) { spBA = 2; Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_REFLECT_MG, &player->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, @@ -3972,6 +3978,7 @@ void BossGanon_LightBall_Update(Actor* thisx, PlayState* play2) { this->unk_1C2 = 1; } else { this->unk_1C2 = 3; + break; } } } @@ -4162,6 +4169,8 @@ void BossGanon_LightBall_Draw(Actor* thisx, PlayState* play) { gSPDisplayList(POLY_XLU_DISP++, gGanondorfSquareDL); } + if (1) {} + CLOSE_DISPS(play->state.gfxCtx, "../z_boss_ganon.c", 9911); } @@ -4170,14 +4179,6 @@ void func_808E1EB4(Actor* thisx, PlayState* play2) { BossGanon* this = (BossGanon*)thisx; PlayState* play = play2; BossGanon* dorf = (BossGanon*)this->actor.parent; - f32 xDiff; - f32 yDiff; - f32 zDiff; - f32 xzDist; - s16 xRotTarget; - s16 yRotTarget; - Vec3f vel; - Vec3f accel; this->unk_1A2++; dorf->envLightMode = 1; @@ -4207,6 +4208,15 @@ void func_808E1EB4(Actor* thisx, PlayState* play2) { this->unk_1C2 = 1; } } else if (this->unk_1C2 == 1) { + f32 xDiff; + f32 yDiff; + f32 zDiff; + f32 xzDist; + s16 xRotTarget; + s16 yRotTarget; + Vec3f vel; + Vec3f accel; + xDiff = dorf->unk_1FC.x - this->actor.world.pos.x; yDiff = dorf->unk_1FC.y - this->actor.world.pos.y; zDiff = dorf->unk_1FC.z - this->actor.world.pos.z; @@ -4305,8 +4315,6 @@ void func_808E2544(Actor* thisx, PlayState* play) { BossGanon* dorf = (BossGanon*)this->actor.parent; s32 pad; Player* player = GET_PLAYER(play); - ColliderElement* acHitElem; - Vec3f sp60; this->unk_1A2++; Actor_SetScale(&this->actor, 0.01f); @@ -4415,11 +4423,11 @@ void func_808E2544(Actor* thisx, PlayState* play) { } if (this->collider.base.acFlags & AC_HIT) { - acHitElem = this->collider.elem.acHitElem; + ColliderElement* acHitElem = this->collider.elem.acHitElem; this->collider.base.acFlags &= ~AC_HIT; - if (!(acHitElem->toucher.dmgFlags & DMG_SHIELD) || Player_HasMirrorShieldEquipped(play)) { + if (!(acHitElem->atDmgInfo.dmgFlags & DMG_SHIELD) || Player_HasMirrorShieldEquipped(play)) { Rumble_Request(this->actor.xyzDistToPlayerSq, 180, 20, 100); this->unk_1C2 = 0xC; this->actor.speed = -30.0f; @@ -4524,6 +4532,8 @@ void func_808E2544(Actor* thisx, PlayState* play) { } if (numEffects) { + Vec3f sp60; + SfxSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, 80, NA_SE_EN_FANTOM_THUNDER); for (i = 0; i < numEffects; i++) { @@ -4676,6 +4686,8 @@ void BossGanon_UpdateEffects(PlayState* play) { Math_ApproachF(&eff->unk_38, eff->unk_40, 1.0f, (eff->unk_40 / 15.0f) * 4.0f); } else if (eff->type == GDF_EFF_SHOCK) { + s32 pad4; + if (eff->unk_2E == GDF_SHOCK_DORF_YELLOW) { bodyPart = (s16)Rand_ZeroFloat(13.9f) + 1; 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 f70e75bfdf..ced201f7b1 100644 --- a/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c +++ b/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c @@ -97,14 +97,14 @@ void func_808FD210(PlayState* play, Vec3f* arg1) { effects[0].type = 1; effects[0].position = *arg1; - effects[0].unk_2E = 0; - effects[0].unk_01 = 0; effects[0].velocity.x = 25.0f; effects[0].velocity.y = 15.0f; effects[0].velocity.z = 0.0f; effects[0].accel.x = 0.0f; effects[0].accel.y = -1.0f; effects[0].accel.z = 0.0f; + effects[0].unk_2E = 0; + effects[0].unk_01 = 0; } void func_808FD27C(PlayState* play, Vec3f* position, Vec3f* velocity, f32 scale) { @@ -751,16 +751,16 @@ void func_808FD5F4(BossGanon2* this, PlayState* play) { this->subCamEye.x = effects[0].position.x + 70.0f; this->subCamEye.y = effects[0].position.y - 30.0f; this->subCamEye.z = effects[0].position.z + 70.0f; + if ((this->unk_398 & 3) == 0) { + Sfx_PlaySfxCentered(NA_SE_IT_SWORD_SWING); + } + if (this->unk_398 == 25) { + Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_87); + this->unk_39C = 25; + this->unk_398 = 0; + } + break; } - if ((this->unk_398 & 3) == 0) { - Sfx_PlaySfxCentered(NA_SE_IT_SWORD_SWING); - } - if (this->unk_398 == 25) { - Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_87); - this->unk_39C = 25; - this->unk_398 = 0; - } - break; case 25: SkelAnime_Update(&this->skelAnime); this->subCamEye.x = (player->actor.world.pos.x - 40.0f) + 80.0f; @@ -895,7 +895,7 @@ void func_808FD5F4(BossGanon2* this, PlayState* play) { if (this->subCamId != SUB_CAM_ID_DONE) { // fake, tricks the compiler into putting some pointers on the stack if (zero) { - PRINTF(NULL, 0, 0); + osSyncPrintf(NULL, 0, 0); } this->subCamAt.y += this->unk_41C; Play_SetCameraAtEyeUp(play, this->subCamId, &this->subCamAt, &this->subCamEye, &this->subCamUp); @@ -1283,9 +1283,6 @@ void func_80900890(BossGanon2* this, PlayState* play) { Player* player; Camera* mainCam2; Camera* mainCam3; - s32 pad; - f32 temp_f12; - f32 temp_f2; mainCam1 = Play_GetCamera(play, CAM_ID_MAIN); player = GET_PLAYER(play); @@ -1341,6 +1338,8 @@ void func_80900890(BossGanon2* this, PlayState* play) { Message_StartTextbox(play, 0x70D7, NULL); } if ((this->unk_1A2[1] < 30) && (Message_GetState(&play->msgCtx) == TEXT_STATE_NONE)) { + s32 pad; + mainCam2 = Play_GetCamera(play, CAM_ID_MAIN); mainCam2->eye = this->subCamEye; mainCam2->eyeNext = this->subCamEye; @@ -1403,8 +1402,8 @@ void func_80900890(BossGanon2* this, PlayState* play) { } if ((this->unk_1A2[0] == 0) || (this->unk_334 != 0)) { - temp_f2 = -200.0f - player->actor.world.pos.x; - temp_f12 = -200.0f - player->actor.world.pos.z; + f32 temp_f2 = -200.0f - player->actor.world.pos.x; + f32 temp_f12 = -200.0f - player->actor.world.pos.z; if (sqrtf(SQ(temp_f2) + SQ(temp_f12)) <= 784.0f) { Animation_MorphToPlayOnce(&this->skelAnime, &gGanonGetUpAnim, 0.0f); @@ -1466,10 +1465,7 @@ void func_8090120C(BossGanon2* this, PlayState* play) { Player* player; f32 temp_f14; f32 temp_f12; - Camera* mainCam; s16 temp_a0_2; - f32 phi_f0; - s32 phi_a1; player = GET_PLAYER(play); this->unk_398++; @@ -1619,7 +1615,8 @@ void func_8090120C(BossGanon2* this, PlayState* play) { this->subCamAt.y = player->actor.world.pos.y + 40.0f; this->subCamAt.z = player->actor.world.pos.z; if (this->unk_398 == 166) { - mainCam = Play_GetCamera(play, CAM_ID_MAIN); + Camera* mainCam = Play_GetCamera(play, CAM_ID_MAIN); + mainCam->eye = this->subCamEye; mainCam->eyeNext = this->subCamEye; mainCam->at = this->subCamAt; @@ -1676,6 +1673,9 @@ void func_8090120C(BossGanon2* this, PlayState* play) { this->subCamAt.y = 1117.0f; this->subCamAt.z = -11.0f; } else { + f32 phi_f0; + s32 phi_a1; + if (this->unk_398 < 30) { phi_a1 = 0; } else if (this->unk_398 < 43) { @@ -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].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_444.elements[i].base.acElemFlags & ACELEM_HIT) { + this->unk_444.elements[i].base.acElemFlags &= ~ACELEM_HIT; + } else if (this->unk_444.elements[i].base.atElemFlags & ATELEM_HIT) { + this->unk_444.elements[i].base.atElemFlags &= ~ATELEM_HIT; if (this->unk_312 == 1) { phi_v0_2 = 0x1800; @@ -1862,6 +1862,8 @@ void func_80902348(BossGanon2* this, PlayState* play) { } if (this->unk_324 > 0.0f) { + s16 pad; + player = GET_PLAYER(play); temp_f2 = -200.0f - player->actor.world.pos.x; temp_f12 = -200.0f - player->actor.world.pos.z; @@ -1887,23 +1889,23 @@ void BossGanon2_CollisionCheck(BossGanon2* this, PlayState* play) { PRINTF("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].base.bumperFlags &= ~BUMP_HIT; + this->unk_424.elements[i].base.acElemFlags &= ~ACELEM_HIT; } } PRINTF("this->look_on %d\n", this->unk_313); if (this->unk_313) { if (this->actionFunc != func_808FFFE0) { - if (this->unk_424.elements[0].base.bumperFlags & BUMP_HIT) { - this->unk_424.elements[0].base.bumperFlags &= ~BUMP_HIT; + if (this->unk_424.elements[0].base.acElemFlags & ACELEM_HIT) { + this->unk_424.elements[0].base.acElemFlags &= ~ACELEM_HIT; acHitElem = this->unk_424.elements[0].base.acHitElem; - if ((acHitElem->toucher.dmgFlags & DMG_ARROW_LIGHT) && (this->actionFunc != func_80900890)) { + if ((acHitElem->atDmgInfo.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) && - (acHitElem->toucher.dmgFlags & (DMG_JUMP_MASTER | DMG_SPIN_MASTER | DMG_SLASH_MASTER))) { + (acHitElem->atDmgInfo.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,8 +1928,8 @@ void BossGanon2_CollisionCheck(BossGanon2* this, PlayState* play) { } } } else { - if (this->unk_424.elements[15].base.bumperFlags & BUMP_HIT) { - this->unk_424.elements[15].base.bumperFlags &= ~BUMP_HIT; + if (this->unk_424.elements[15].base.acElemFlags & ACELEM_HIT) { + this->unk_424.elements[15].base.acElemFlags &= ~ACELEM_HIT; acHitElem = this->unk_424.elements[15].base.acHitElem; this->unk_316 = 60; this->unk_344 = 0x32; @@ -1935,8 +1937,8 @@ void BossGanon2_CollisionCheck(BossGanon2* this, PlayState* play) { Actor_PlaySfx(&this->actor, NA_SE_EN_MGANON_DAMAGE); Audio_StopSfxById(NA_SE_EN_MGANON_UNARI); phi_v1_2 = 1; - if (acHitElem->toucher.dmgFlags & (DMG_JUMP_MASTER | DMG_SPIN_MASTER | DMG_SLASH_MASTER)) { - if (acHitElem->toucher.dmgFlags & DMG_JUMP_MASTER) { + if (acHitElem->atDmgInfo.dmgFlags & (DMG_JUMP_MASTER | DMG_SPIN_MASTER | DMG_SLASH_MASTER)) { + if (acHitElem->atDmgInfo.dmgFlags & DMG_JUMP_MASTER) { phi_v1_2 = 4; } else { phi_v1_2 = 2; @@ -1962,12 +1964,6 @@ void BossGanon2_Update(Actor* thisx, PlayState* play) { BossGanon2* this = (BossGanon2*)thisx; s32 pad; s16 i; - f32 phi_f2; - u16 i2; - Vec3f sp58; - Vec3f sp4C; - f32 angle; - f32 sp44; if ((this->unk_337 == 0) || (this->unk_337 == 2)) { BossGanon2_SetObjectSegment(this, play, OBJECT_GANON_ANIME3, false); @@ -2051,6 +2047,8 @@ void BossGanon2_Update(Actor* thisx, PlayState* play) { } for (i = 0; i < ARRAY_COUNT(this->unk_348); i++) { + f32 phi_f2; + if (i == 0) { phi_f2 = 0.2f; } else if (i == 1) { @@ -2175,6 +2173,12 @@ void BossGanon2_Update(Actor* thisx, PlayState* play) { this->unk_339 = 0; } if (D_80906D78 != 0) { + u16 i2; + Vec3f sp58; + Vec3f sp4C; + f32 angle; + f32 sp44; + D_80906D78 = 0; for (i2 = 0; i2 < 100; i2++) { @@ -2413,37 +2417,37 @@ void func_80903F38(BossGanon2* this, PlayState* play) { } void func_80904108(BossGanon2* this, PlayState* play) { - s32 pad; + GameState* gameState = &play->state; if (this->unk_324 > 0.0f) { - OPEN_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5131); + OPEN_DISPS(gameState->gfxCtx, "../z_boss_ganon2.c", 5131); Matrix_Push(); gDPPipeSync(POLY_XLU_DISP++); gSPSegment(POLY_XLU_DISP++, 0x08, - Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, (s32)play->gameplayFrames, 0, 32, 64, 1, + Gfx_TwoTexScroll(gameState->gfxCtx, G_TX_RENDERTILE, (s32)play->gameplayFrames, 0, 32, 64, 1, -play->gameplayFrames * 2, -play->gameplayFrames * 8, 32, 32)); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 200, 0, (s8)this->unk_324); 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_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5183), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gameState->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(); - CLOSE_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5186); + CLOSE_DISPS(gameState->gfxCtx, "../z_boss_ganon2.c", 5186); } } void func_80904340(BossGanon2* this, PlayState* play) { + GameState* gameState = &play->state; s16 i; - f32 rand; - f32 angle; f32 sin; f32 cos; + f32 rand; - OPEN_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5196); + OPEN_DISPS(gameState->gfxCtx, "../z_boss_ganon2.c", 5196); Matrix_Push(); if ((this->unk_330 != 0) || (this->unk_328 != 0)) { @@ -2461,37 +2465,36 @@ void func_80904340(BossGanon2* this, PlayState* play) { gDPPipeSync(POLY_XLU_DISP++); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, this->unk_328); BossGanon2_InitRand(this->unk_340 + 1, 0x71AC - this->unk_340, 0x263A); - rand = BossGanon2_RandZeroOne(); - if (1) {} + rand = BossGanon2_RandZeroOne() * M_PI; for (i = 0; i < 5; i++) { - angle = (i * (2 * M_PI / 5)) + (rand * M_PI); - sin = 5000.0f * sinf(angle); - cos = 5000.0f * cosf(angle); + sin = 5000.0f * sinf((i * (2 * M_PI / 5)) + rand); + cos = 5000.0f * cosf((i * (2 * M_PI / 5)) + rand); Matrix_Translate(-200.0f + sin, 4786.0f, -200.0f + cos, MTXMODE_NEW); Matrix_Scale(this->unk_32C, this->unk_32C, this->unk_32C, MTXMODE_APPLY); - Matrix_RotateY(angle, MTXMODE_APPLY); + Matrix_RotateY((i * (2 * M_PI / 5)) + rand, MTXMODE_APPLY); Matrix_RotateZ((BossGanon2_RandZeroOne() - 0.5f) * 100.0f * 0.01f, MTXMODE_APPLY); if (BossGanon2_RandZeroOne() < 0.5f) { Matrix_RotateY(M_PI, MTXMODE_APPLY); } - gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5250), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gameState->gfxCtx, "../z_boss_ganon2.c", 5250), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanonLightningDL)); } } Matrix_Pop(); - CLOSE_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5255); + if (1) {} + CLOSE_DISPS(gameState->gfxCtx, "../z_boss_ganon2.c", 5255); } void func_8090464C(BossGanon2* this, PlayState* play) { - s32 pad; + GameState* gameState = &play->state; if (this->unk_1B4 > 0.0f) { - OPEN_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5264); + OPEN_DISPS(gameState->gfxCtx, "../z_boss_ganon2.c", 5264); Matrix_Push(); gDPPipeSync(POLY_XLU_DISP++); @@ -2501,12 +2504,12 @@ 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_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5290), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gameState->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(); - CLOSE_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5293); + CLOSE_DISPS(gameState->gfxCtx, "../z_boss_ganon2.c", 5293); } } @@ -2610,13 +2613,13 @@ void BossGanon2_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* } void func_80904D88(BossGanon2* this, PlayState* play) { - s32 pad; + GameState* gameState = &play->state; s16 i; - OPEN_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5575); + OPEN_DISPS(gameState->gfxCtx, "../z_boss_ganon2.c", 5575); if (this->unk_30C > 0.0f) { - Gfx_SetupDL_25Xlu(play->state.gfxCtx); + Gfx_SetupDL_25Xlu(gameState->gfxCtx); if (this->unk_380 > 0.0f) { gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 170, 255); gDPSetEnvColor(POLY_XLU_DISP++, 255, 200, 0, 0); @@ -2631,22 +2634,24 @@ 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_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5618), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gameState->gfxCtx, "../z_boss_ganon2.c", 5618), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, gGanonLightOrbModelDL); } } - CLOSE_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5622); + if (1) {} + + CLOSE_DISPS(gameState->gfxCtx, "../z_boss_ganon2.c", 5622); } void func_80904FC8(BossGanon2* this, PlayState* play) { - s32 pad; + GameState* gameState = &play->state; - OPEN_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5632); + OPEN_DISPS(gameState->gfxCtx, "../z_boss_ganon2.c", 5632); if (this->unk_384 > 0.0f) { - Gfx_SetupDL_25Xlu(play->state.gfxCtx); + Gfx_SetupDL_25Xlu(gameState->gfxCtx); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 200); gDPSetEnvColor(POLY_XLU_DISP++, 255, 200, 0, 0); gSPDisplayList(POLY_XLU_DISP++, gGanonLightOrbMaterialDL); @@ -2655,29 +2660,30 @@ 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_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5661), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gameState->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_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5664), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gameState->gfxCtx, "../z_boss_ganon2.c", 5664), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanonLightOrbModelDL)); } - CLOSE_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5667); + CLOSE_DISPS(gameState->gfxCtx, "../z_boss_ganon2.c", 5667); } void func_8090523C(BossGanon2* this, PlayState* play) { - Player* player; + GameState* gameState = &play->state; f32 phi_f20; - OPEN_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5675); + OPEN_DISPS(gameState->gfxCtx, "../z_boss_ganon2.c", 5675); if (this->unk_38C > 0.0f) { s8 i; + Player* player; player = GET_PLAYER(play); - Gfx_SetupDL_25Xlu(play->state.gfxCtx); + Gfx_SetupDL_25Xlu(gameState->gfxCtx); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, (s16)this->unk_38C); gDPSetEnvColor(POLY_XLU_DISP++, 0, 255, 255, 0); gSPDisplayList(POLY_XLU_DISP++, gGanonLightOrbMaterialDL); @@ -2695,13 +2701,13 @@ 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_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5721), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gameState->gfxCtx, "../z_boss_ganon2.c", 5721), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gGanonLightOrbModelDL)); } } - CLOSE_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5725); + CLOSE_DISPS(gameState->gfxCtx, "../z_boss_ganon2.c", 5725); } void BossGanon2_PostLimbDraw2(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { @@ -2725,15 +2731,15 @@ void BossGanon2_PostLimbDraw2(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s } void func_80905674(BossGanon2* this, PlayState* play) { - s32 pad; + GameState* gameState = &play->state; if (this->unk_380 > 0.0f) { - OPEN_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5772); + OPEN_DISPS(gameState->gfxCtx, "../z_boss_ganon2.c", 5772); Matrix_Push(); gDPPipeSync(POLY_XLU_DISP++); gSPSegment(POLY_XLU_DISP++, 0x08, - Gfx_TwoTexScroll(play->state.gfxCtx, G_TX_RENDERTILE, this->unk_19C * -8, 0, 32, 64, 1, + Gfx_TwoTexScroll(gameState->gfxCtx, G_TX_RENDERTILE, this->unk_19C * -8, 0, 32, 64, 1, this->unk_19C * -4, this->unk_19C * -8, 32, 32)); gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 170, (s16)this->unk_37C); gDPSetEnvColor(POLY_XLU_DISP++, 255, 200, 0, 128); @@ -2742,12 +2748,12 @@ 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_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 5814), + gSPMatrix(POLY_XLU_DISP++, MATRIX_NEW(gameState->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(); - CLOSE_DISPS(play->state.gfxCtx, "../z_boss_ganon2.c", 5817); + CLOSE_DISPS(gameState->gfxCtx, "../z_boss_ganon2.c", 5817); } } @@ -2829,14 +2835,15 @@ void BossGanon2_Draw(Actor* thisx, PlayState* play) { } void BossGanon2_UpdateEffects(BossGanon2* this, PlayState* play) { - s32 pad[5]; + s32 pad[4]; Player* player = GET_PLAYER(play); BossGanon2Effect* effect = play->specialEffects; - Vec3f sp78; s16 i; for (i = 0; i < BOSS_GANON2_EFFECT_COUNT; i++, effect++) { if (effect->type != 0) { + Vec3f sp78; + effect->position.x += effect->velocity.x; effect->position.y += effect->velocity.y; effect->position.z += effect->velocity.z; @@ -2845,6 +2852,8 @@ void BossGanon2_UpdateEffects(BossGanon2* this, PlayState* play) { effect->velocity.y += effect->accel.y; effect->velocity.z += effect->accel.z; if (effect->type == 1) { + s32 pad2; + if (effect->unk_2E == 0) { effect->unk_38.z += 1.0f; effect->unk_38.y = (2.0f * M_PI) / 5.0f; @@ -2908,6 +2917,7 @@ void BossGanon2_DrawEffects(PlayState* play) { Vec3f spA0; f32 temp_f0; f32 angle; + s32 pad; Gfx_SetupDL_25Xlu(play->state.gfxCtx); spA0.x = play->envCtx.dirLight1.params.dir.x; @@ -3057,13 +3067,13 @@ void BossGanon2_GenShadowTexture(void* shadowTexture, BossGanon2* this, PlayStat } void BossGanon2_DrawShadowTexture(void* shadowTexture, BossGanon2* this, PlayState* play) { - s32 pad; - GraphicsContext* gfxCtx = play->state.gfxCtx; + GameState* gameState = &play->state; s16 alpha; + GraphicsContext* gfxCtx = gameState->gfxCtx; OPEN_DISPS(gfxCtx, "../z_boss_ganon2.c", 6430); - Gfx_SetupDL_25Opa(play->state.gfxCtx); + Gfx_SetupDL_25Opa(gameState->gfxCtx); if ((play->envCtx.lightSetting == 1) || (play->envCtx.lightSetting == 2)) { alpha = (s16)(play->envCtx.lightBlend * 180.0f) + 30; @@ -3075,7 +3085,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_NEW(play->state.gfxCtx, "../z_boss_ganon2.c", 6457), + gSPMatrix(POLY_OPA_DISP++, MATRIX_NEW(gameState->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_Ganon2/z_boss_ganon2_data.inc.c b/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2_data.inc.c index 407e0f020d..f31a974108 100644 --- a/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2_data.inc.c +++ b/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2_data.inc.c @@ -29,8 +29,8 @@ static ColliderJntSphElementInit sJntSphItemsInit1[] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 30 }, 100 }, @@ -40,8 +40,8 @@ static ColliderJntSphElementInit sJntSphItemsInit1[] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 1, { { 0, 0, 0 }, 30 }, 100 }, @@ -51,8 +51,8 @@ static ColliderJntSphElementInit sJntSphItemsInit1[] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 2, { { 0, 0, 0 }, 30 }, 100 }, @@ -62,8 +62,8 @@ static ColliderJntSphElementInit sJntSphItemsInit1[] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 3, { { 0, 0, 0 }, 20 }, 100 }, @@ -73,8 +73,8 @@ static ColliderJntSphElementInit sJntSphItemsInit1[] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 4, { { 0, 0, 0 }, 20 }, 100 }, @@ -84,8 +84,8 @@ static ColliderJntSphElementInit sJntSphItemsInit1[] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 5, { { 0, 0, 0 }, 20 }, 100 }, @@ -95,8 +95,8 @@ static ColliderJntSphElementInit sJntSphItemsInit1[] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 6, { { 0, 0, 0 }, 20 }, 100 }, @@ -106,8 +106,8 @@ static ColliderJntSphElementInit sJntSphItemsInit1[] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 7, { { 0, 0, 0 }, 20 }, 100 }, @@ -117,8 +117,8 @@ static ColliderJntSphElementInit sJntSphItemsInit1[] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 8, { { 0, 0, 0 }, 20 }, 100 }, @@ -128,8 +128,8 @@ static ColliderJntSphElementInit sJntSphItemsInit1[] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 9, { { 0, 0, 0 }, 20 }, 100 }, @@ -139,8 +139,8 @@ static ColliderJntSphElementInit sJntSphItemsInit1[] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 10, { { 0, 0, 0 }, 20 }, 100 }, @@ -150,8 +150,8 @@ static ColliderJntSphElementInit sJntSphItemsInit1[] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 11, { { 0, 0, 0 }, 20 }, 100 }, @@ -161,8 +161,8 @@ static ColliderJntSphElementInit sJntSphItemsInit1[] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 12, { { 0, 0, 0 }, 20 }, 100 }, @@ -172,8 +172,8 @@ static ColliderJntSphElementInit sJntSphItemsInit1[] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 13, { { 0, 0, 0 }, 20 }, 100 }, @@ -183,8 +183,8 @@ static ColliderJntSphElementInit sJntSphItemsInit1[] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 14, { { 0, 0, 0 }, 20 }, 100 }, @@ -194,8 +194,8 @@ static ColliderJntSphElementInit sJntSphItemsInit1[] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 15, { { 0, 0, 0 }, 30 }, 100 }, @@ -221,8 +221,8 @@ static ColliderJntSphElementInit sJntSphItemsInit2[] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x40 }, { 0xFFDFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 15, { { 0, 0, 0 }, 45 }, 100 }, @@ -232,8 +232,8 @@ static ColliderJntSphElementInit sJntSphItemsInit2[] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x40 }, { 0xFFDFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 16, { { 0, 0, 0 }, 45 }, 100 }, 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 3b7d2ee86c..dae6502be4 100644 --- a/src/overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.c +++ b/src/overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.c @@ -94,8 +94,8 @@ static ColliderCylinderInit sCylinderInitBody = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 30, 90, -50, { 0, 0, 0 } }, @@ -114,8 +114,8 @@ static ColliderCylinderInit sCylinderInitSpear = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x30 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 20, 30, -20, { 0, 0, 0 } }, @@ -1239,14 +1239,14 @@ void BossGanondrof_CollisionCheck(BossGanondrof* this, PlayState* play) { } if (this->flyMode != GND_FLY_PAINTING) { if (acHit && (this->actionFunc != BossGanondrof_Stunned) && - (acHitElem->toucher.dmgFlags & DMG_RANGED)) { + (acHitElem->atDmgInfo.dmgFlags & DMG_RANGED)) { Actor_PlaySfx(&this->actor, NA_SE_NONE); PRINTF("hit != 0 \n"); } else if (this->actionFunc != BossGanondrof_Charge) { if (this->returnCount == 0) { u8 dmg; u8 canKill = false; - s32 dmgFlags = acHitElem->toucher.dmgFlags; + s32 dmgFlags = acHitElem->atDmgInfo.dmgFlags; if (dmgFlags & DMG_HOOKSHOT) { return; @@ -1273,7 +1273,7 @@ void BossGanondrof_CollisionCheck(BossGanondrof* this, PlayState* play) { } else { Actor_PlaySfx(&this->actor, NA_SE_NONE); } - } else if (acHit && (acHitElem->toucher.dmgFlags & DMG_RANGED)) { + } else if (acHit && (acHitElem->atDmgInfo.dmgFlags & DMG_RANGED)) { this->work[GND_INVINC_TIMER] = 10; this->actor.colChkInfo.health -= 2; horse->hitTimer = 20; 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 4de75e45a5..bdbf0fcf03 100644 --- a/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c +++ b/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c @@ -67,8 +67,8 @@ static ColliderJntSphElementInit sColliderJntSphElementInit[13] = { ELEMTYPE_UNK3, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { BOSSGOMA_LIMB_EYE, { { 0, 0, 1200 }, 20 }, 100 }, @@ -78,8 +78,8 @@ static ColliderJntSphElementInit sColliderJntSphElementInit[13] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { BOSSGOMA_LIMB_TAIL4, { { 0, 0, 0 }, 20 }, 100 }, @@ -89,8 +89,8 @@ static ColliderJntSphElementInit sColliderJntSphElementInit[13] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { BOSSGOMA_LIMB_TAIL3, { { 0, 0, 0 }, 15 }, 100 }, @@ -100,8 +100,8 @@ static ColliderJntSphElementInit sColliderJntSphElementInit[13] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { BOSSGOMA_LIMB_TAIL2, { { 0, 0, 0 }, 12 }, 100 }, @@ -111,8 +111,8 @@ static ColliderJntSphElementInit sColliderJntSphElementInit[13] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { BOSSGOMA_LIMB_TAIL1, { { 0, 0, 0 }, 25 }, 100 }, @@ -122,8 +122,8 @@ static ColliderJntSphElementInit sColliderJntSphElementInit[13] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { BOSSGOMA_LIMB_R_FEET, { { 0, 0, 0 }, 30 }, 100 }, @@ -133,8 +133,8 @@ static ColliderJntSphElementInit sColliderJntSphElementInit[13] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { BOSSGOMA_LIMB_R_SHIN, { { 0, 0, 0 }, 15 }, 100 }, @@ -144,8 +144,8 @@ static ColliderJntSphElementInit sColliderJntSphElementInit[13] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { BOSSGOMA_LIMB_R_THIGH_SHELL, { { 0, 0, 0 }, 15 }, 100 }, @@ -155,8 +155,8 @@ static ColliderJntSphElementInit sColliderJntSphElementInit[13] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { BOSSGOMA_LIMB_L_ANTENNA_CLAW, { { 0, 0, 0 }, 20 }, 100 }, @@ -166,8 +166,8 @@ static ColliderJntSphElementInit sColliderJntSphElementInit[13] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { BOSSGOMA_LIMB_R_ANTENNA_CLAW, { { 0, 0, 0 }, 20 }, 100 }, @@ -177,8 +177,8 @@ static ColliderJntSphElementInit sColliderJntSphElementInit[13] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { BOSSGOMA_LIMB_L_FEET, { { 0, 0, 0 }, 30 }, 100 }, @@ -188,8 +188,8 @@ static ColliderJntSphElementInit sColliderJntSphElementInit[13] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { BOSSGOMA_LIMB_L_SHIN, { { 0, 0, 0 }, 15 }, 100 }, @@ -199,8 +199,8 @@ static ColliderJntSphElementInit sColliderJntSphElementInit[13] = { ELEMTYPE_UNK2, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { BOSSGOMA_LIMB_L_THIGH_SHELL, { { 0, 0, 0 }, 15 }, 100 }, @@ -1302,7 +1302,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].base.toucherFlags & TOUCH_HIT) { + if (this->collider.elements[i].base.atElemFlags & ATELEM_HIT) { this->framesUntilNextAction = 10; break; } @@ -1812,15 +1812,15 @@ void BossGoma_UpdateHit(BossGoma* this, PlayState* play) { s32 damage; if (this->eyeClosedTimer == 0 && this->actionFunc != BossGoma_CeilingSpawnGohmas && - (this->collider.elements[0].base.bumperFlags & BUMP_HIT)) { - this->collider.elements[0].base.bumperFlags &= ~BUMP_HIT; + (this->collider.elements[0].base.acElemFlags & ACELEM_HIT)) { + this->collider.elements[0].base.acElemFlags &= ~ACELEM_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(acHitElem->toucher.dmgFlags)) != 0) { + (damage = CollisionCheck_GetSwordDamage(acHitElem->atDmgInfo.dmgFlags)) != 0) { this->actor.colChkInfo.health -= damage; if ((s8)this->actor.colChkInfo.health > 0) { @@ -1834,14 +1834,14 @@ void BossGoma_UpdateHit(BossGoma* this, PlayState* play) { this->invincibilityFrames = 10; } else if (this->actionFunc != BossGoma_FloorStunned && this->patienceTimer != 0 && - (acHitElem->toucher.dmgFlags & (DMG_SLINGSHOT | DMG_DEKU_NUT))) { + (acHitElem->atDmgInfo.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 (acHitElem->toucher.dmgFlags & DMG_DEKU_NUT) { + if (acHitElem->atDmgInfo.dmgFlags & DMG_DEKU_NUT) { this->framesUntilNextAction = 40; } else { this->framesUntilNextAction = 90; 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 eeedcb4e24..94021d0ee1 100644 --- a/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c +++ b/src/overlays/actors/ovl_Boss_Mo/z_boss_mo.c @@ -1146,23 +1146,23 @@ void BossMo_TentCollisionCheck(BossMo* this, PlayState* play) { ColliderElement* acHitElem; for (i1 = 0; i1 < ARRAY_COUNT(this->tentElements); i1++) { - if (this->tentCollider.elements[i1].base.bumperFlags & BUMP_HIT) { + if (this->tentCollider.elements[i1].base.acElemFlags & ACELEM_HIT) { for (i2 = 0; i2 < 19; i2++) { - this->tentCollider.elements[i2].base.bumperFlags &= ~BUMP_HIT; - this->tentCollider.elements[i2].base.toucherFlags &= ~TOUCH_HIT; + this->tentCollider.elements[i2].base.acElemFlags &= ~ACELEM_HIT; + this->tentCollider.elements[i2].base.atElemFlags &= ~ATELEM_HIT; } acHitElem = this->tentCollider.elements[i1].base.acHitElem; this->work[MO_TENT_INVINC_TIMER] = 5; - if (acHitElem->toucher.dmgFlags & DMG_MAGIC_FIRE) { + if (acHitElem->atDmgInfo.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 (acHitElem->toucher.dmgFlags & (DMG_JUMP_MASTER | DMG_JUMP_GIANT | DMG_SPIN_MASTER | - DMG_SPIN_GIANT | DMG_SLASH_GIANT | DMG_SLASH_MASTER)) { + } else if (acHitElem->atDmgInfo.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; @@ -1180,8 +1180,8 @@ void BossMo_TentCollisionCheck(BossMo* this, PlayState* play) { Rand_ZeroFloat(0.08f) + 0.13f); } break; - } else if (this->tentCollider.elements[i1].base.toucherFlags & TOUCH_HIT) { - this->tentCollider.elements[i1].base.toucherFlags &= ~TOUCH_HIT; + } else if (this->tentCollider.elements[i1].base.atElemFlags & ATELEM_HIT) { + this->tentCollider.elements[i1].base.atElemFlags &= ~ATELEM_HIT; this->playerHitTimer = 5; break; } @@ -1755,13 +1755,13 @@ void BossMo_CoreCollisionCheck(BossMo* this, PlayState* play) { // "hit!!" PRINTF("Core_Damage_check 当り!!\n"); this->coreCollider.base.acFlags &= ~AC_HIT; - if ((acHitElem->toucher.dmgFlags & DMG_MAGIC_FIRE) && (this->work[MO_TENT_ACTION_STATE] == MO_CORE_ATTACK)) { + if ((acHitElem->atDmgInfo.dmgFlags & DMG_MAGIC_FIRE) && (this->work[MO_TENT_ACTION_STATE] == MO_CORE_ATTACK)) { this->work[MO_TENT_ACTION_STATE] = MO_CORE_RETREAT; } // "hit 2 !!" PRINTF("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(acHitElem->toucher.dmgFlags); + u8 damage = CollisionCheck_GetSwordDamage(acHitElem->atDmgInfo.dmgFlags); if ((damage != 0) && (this->work[MO_TENT_ACTION_STATE] < MO_CORE_ATTACK)) { // "sword hit !!" @@ -1799,7 +1799,8 @@ void BossMo_CoreCollisionCheck(BossMo* this, PlayState* play) { } } this->work[MO_TENT_INVINC_TIMER] = 10; - } else if (!(acHitElem->toucher.dmgFlags & DMG_SHIELD) && (acHitElem->toucher.dmgFlags & DMG_HOOKSHOT)) { + } else if (!(acHitElem->atDmgInfo.dmgFlags & DMG_SHIELD) && + (acHitElem->atDmgInfo.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]; @@ -2696,7 +2697,8 @@ void BossMo_DrawCore(Actor* thisx, PlayState* play) { sp84 = this->subCamAt.z - this->subCamEye.z; temp = SQ(sp8C) + SQ(sp84); sp7C = Math_FAtan2F(sp8C, sp84); - sp78 = -Math_FAtan2F(sp88, sqrtf(temp)); + temp = sqrtf(temp); + sp78 = -Math_FAtan2F(sp88, temp); sp6C.x = 0.0f; sp6C.y = 0.0f; diff --git a/src/overlays/actors/ovl_Boss_Mo/z_boss_mo_colchk.inc.c b/src/overlays/actors/ovl_Boss_Mo/z_boss_mo_colchk.inc.c index 3826a4485a..0ae73dadb6 100644 --- a/src/overlays/actors/ovl_Boss_Mo/z_boss_mo_colchk.inc.c +++ b/src/overlays/actors/ovl_Boss_Mo/z_boss_mo_colchk.inc.c @@ -7,8 +7,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 0 }, 100 }, @@ -18,8 +18,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 1, { { 0, 0, 0 }, 0 }, 100 }, @@ -29,8 +29,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 2, { { 0, 0, 0 }, 30 }, 100 }, @@ -40,8 +40,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 3, { { 0, 0, 0 }, 24 }, 100 }, @@ -51,8 +51,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 4, { { 0, 0, 0 }, 22 }, 100 }, @@ -62,8 +62,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 5, { { 0, 0, 0 }, 20 }, 100 }, @@ -73,8 +73,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 6, { { 0, 0, 0 }, 18 }, 100 }, @@ -84,8 +84,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 7, { { 0, 0, 0 }, 16 }, 100 }, @@ -95,8 +95,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 8, { { 0, 0, 0 }, 14 }, 100 }, @@ -106,8 +106,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 9, { { 0, 0, 0 }, 12 }, 100 }, @@ -117,8 +117,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 10, { { 0, 0, 0 }, 10 }, 100 }, @@ -128,8 +128,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 11, { { 0, 0, 0 }, 10 }, 100 }, @@ -139,8 +139,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 12, { { 0, 0, 0 }, 10 }, 100 }, @@ -150,8 +150,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 13, { { 0, 0, 0 }, 10 }, 100 }, @@ -161,8 +161,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 14, { { 0, 0, 0 }, 10 }, 100 }, @@ -172,8 +172,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 15, { { 0, 0, 0 }, 10 }, 100 }, @@ -183,8 +183,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 16, { { 0, 0, 0 }, 10 }, 100 }, @@ -194,8 +194,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 17, { { 0, 0, 0 }, 10 }, 100 }, @@ -205,8 +205,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[19] = { ELEMTYPE_UNK4, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 18, { { 0, 0, 0 }, 10 }, 100 }, @@ -239,8 +239,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFDFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 20, 40, -20, { 0, 0, 0 } }, 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 b36c58bd7e..dd2136039d 100644 --- a/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c +++ b/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c @@ -873,10 +873,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.elem.bumper.dmgFlags = DMG_SWORD | DMG_DEKU_STICK; + this->colliderCyl.elem.acDmgInfo.dmgFlags = DMG_SWORD | DMG_DEKU_STICK; this->actor.speed = 0.0f; - this->colliderJntSph.elements[10].base.bumperFlags |= (BUMP_ON | BUMP_HOOKABLE); - this->colliderJntSph.elements[0].base.bumperFlags &= ~BUMP_ON; + this->colliderJntSph.elements[10].base.acElemFlags |= (ACELEM_ON | ACELEM_HOOKABLE); + this->colliderJntSph.elements[0].base.acElemFlags &= ~ACELEM_ON; if (this->actionFunc != BossSst_HeadDamage) { this->timer = 50; } @@ -932,9 +932,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.elem.bumper.dmgFlags = DMG_DEFAULT; - this->colliderJntSph.elements[10].base.bumperFlags &= ~(BUMP_ON | BUMP_HOOKABLE); - this->colliderJntSph.elements[0].base.bumperFlags |= BUMP_ON; + this->colliderCyl.elem.acDmgInfo.dmgFlags = DMG_DEFAULT; + this->colliderJntSph.elements[10].base.acElemFlags &= ~(ACELEM_ON | ACELEM_HOOKABLE); + this->colliderJntSph.elements[0].base.acElemFlags |= ACELEM_ON; this->vVanish = true; this->actor.speed = 5.0f; this->actionFunc = BossSst_HeadRecover; @@ -2500,7 +2500,7 @@ void BossSst_HandSetDamage(BossSst* this, s32 damage) { this->colliderJntSph.base.atFlags |= AT_ON; for (i = 0; i < 11; i++) { - this->colliderJntSph.elements[i].base.toucher.damage = damage; + this->colliderJntSph.elements[i].base.atDmgInfo.damage = damage; } } diff --git a/src/overlays/actors/ovl_Boss_Sst/z_boss_sst_colchk.inc.c b/src/overlays/actors/ovl_Boss_Sst/z_boss_sst_colchk.inc.c index 16b7c4e8d1..f73bfac8ec 100644 --- a/src/overlays/actors/ovl_Boss_Sst/z_boss_sst_colchk.inc.c +++ b/src/overlays/actors/ovl_Boss_Sst/z_boss_sst_colchk.inc.c @@ -6,8 +6,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHand[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 2, { { 2000, -1500, 250 }, 65 }, 100 }, @@ -17,8 +17,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHand[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 10, { { 0, 0, 0 }, 22 }, 100 }, @@ -28,8 +28,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHand[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 11, { { 500, 0, 0 }, 22 }, 100 }, @@ -39,8 +39,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHand[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 15, { { -250, -250, 0 }, 25 }, 100 }, @@ -50,8 +50,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHand[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 16, { { 500, -250, 0 }, 25 }, 100 }, @@ -61,8 +61,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHand[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 20, { { 250, -250, 0 }, 25 }, 100 }, @@ -72,8 +72,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHand[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 21, { { 500, -250, 0 }, 25 }, 100 }, @@ -83,8 +83,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHand[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 25, { { 0, 0, 0 }, 27 }, 100 }, @@ -94,8 +94,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHand[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 26, { { 750, 0, 0 }, 26 }, 100 }, @@ -105,8 +105,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHand[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 5, { { 750, -150, 0 }, 21 }, 100 }, @@ -116,8 +116,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHand[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 6, { { 750, 0, 0 }, 20 }, 100 }, @@ -143,8 +143,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHead[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x30 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 7, { { 1500, 0, 0 }, 70 }, 100 }, @@ -154,8 +154,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHead[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x30 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 6, { { 0, 0, 0 }, 75 }, 100 }, @@ -165,8 +165,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHead[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x30 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 4, { { 5000, 0, 0 }, 120 }, 100 }, @@ -176,8 +176,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHead[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x30 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 3, { { -2500, 0, 0 }, 150 }, 100 }, @@ -187,8 +187,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHead[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x30 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 43, { { 1500, 0, 0 }, 80 }, 100 }, @@ -198,8 +198,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHead[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x30 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 43, { { 7500, 0, 0 }, 70 }, 100 }, @@ -209,8 +209,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHead[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x30 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 44, { { 3000, 0, 0 }, 60 }, 100 }, @@ -220,8 +220,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHead[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x30 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 40, { { 1500, 0, 0 }, 80 }, 100 }, @@ -231,8 +231,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHead[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x30 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 40, { { 7500, 0, 0 }, 70 }, 100 }, @@ -242,8 +242,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHead[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x30 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 41, { { 3000, 0, 0 }, 60 }, 100 }, @@ -253,8 +253,8 @@ static ColliderJntSphElementInit sJntSphItemsInitHead[11] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x30 }, { 0x00000080, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 8, { { 1500, 0, 0 }, 70 }, 100 }, @@ -287,8 +287,8 @@ static ColliderCylinderInit sCylinderInitHead = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 85, 100, -50, { 0, 0, 0 } }, @@ -307,8 +307,8 @@ static ColliderCylinderInit sCylinderInitHand = { ELEMTYPE_UNK0, { 0x20000000, 0x04, 0x10 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 85, 1, 0, { 0, 0, 0 } }, 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 abf3fc96e5..4372245150 100644 --- a/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c +++ b/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c @@ -144,8 +144,8 @@ static ColliderCylinderInit sCylinderInitBlasts = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x30 }, { 0x00100000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 25, 35, -17, { 0, 0, 0 } }, @@ -164,8 +164,8 @@ static ColliderCylinderInit sCylinderInitKoumeKotake = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x20 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 45, 120, -30, { 0, 0, 0 } }, @@ -184,8 +184,8 @@ static ColliderCylinderInit sCylinderInitTwinrova = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x20 }, { 0xFFCDFFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 45, 120, -30, { 0, 0, 0 } }, @@ -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.elem.toucher.effect = 1; + this->collider.elem.atDmgInfo.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) { @@ -3097,7 +3097,7 @@ void BossTw_TwinrovaUpdate(Actor* thisx, PlayState* play2) { ColliderElement* acHitElem = this->collider.elem.acHitElem; this->collider.base.acFlags &= ~AC_HIT; - if (acHitElem->toucher.dmgFlags & (DMG_SLINGSHOT | DMG_ARROW)) {} + if (acHitElem->atDmgInfo.dmgFlags & (DMG_SLINGSHOT | DMG_ARROW)) {} } } else if (this->collider.base.acFlags & AC_HIT) { u8 damage; @@ -3106,7 +3106,7 @@ void BossTw_TwinrovaUpdate(Actor* thisx, PlayState* play2) { this->collider.base.acFlags &= ~AC_HIT; swordDamage = false; - damage = CollisionCheck_GetSwordDamage(acHitElem->toucher.dmgFlags); + damage = CollisionCheck_GetSwordDamage(acHitElem->atDmgInfo.dmgFlags); if (damage == 0) { damage = 2; @@ -3114,7 +3114,7 @@ void BossTw_TwinrovaUpdate(Actor* thisx, PlayState* play2) { swordDamage = true; } - if (!(acHitElem->toucher.dmgFlags & DMG_HOOKSHOT)) { + if (!(acHitElem->atDmgInfo.dmgFlags & DMG_HOOKSHOT)) { if (((s8)this->actor.colChkInfo.health < 3) && !swordDamage) { damage = 0; } @@ -4338,7 +4338,7 @@ s32 BossTw_BlastShieldCheck(BossTw* this, PlayState* play) { this->collider.base.atFlags &= ~AT_HIT; acHitElem = this->collider.elem.acHitElem; - if (acHitElem->toucher.dmgFlags & DMG_SHIELD) { + if (acHitElem->atDmgInfo.dmgFlags & DMG_SHIELD) { this->work[INVINC_TIMER] = 7; play->envCtx.lightBlend = 1.0f; Rumble_Request(0.0f, 100, 5, 4); 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 7b189e8754..49a3b69f63 100644 --- a/src/overlays/actors/ovl_Boss_Va/z_boss_va.c +++ b/src/overlays/actors/ovl_Boss_Va/z_boss_va.c @@ -213,8 +213,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFEF, 0x03, 0x08 }, { 0x00000010, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 85, 120, 0, { 0, 0, 0 } }, @@ -226,8 +226,8 @@ static ColliderJntSphElementInit sJntSphElementsInitSupport[1] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000010, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 0, { { 0, 0, 0 }, 25 }, 100 }, @@ -253,8 +253,8 @@ static ColliderJntSphElementInit sJntSphElementsInitBari[1] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x03, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_NONE, }, { 0, { { 0, 0, 0 }, 30 }, 100 }, @@ -287,8 +287,8 @@ static ColliderQuadInit sQuadInit = { ELEMTYPE_UNK0, { 0x20000000, 0x03, 0x04 }, { 0x00000010, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL | TOUCH_UNK7, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL | ATELEM_UNK7, + ACELEM_ON, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, @@ -1128,7 +1128,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.elem.bumper.dmgFlags = DMG_BOOMERANG; + this->colliderBody.elem.acDmgInfo.dmgFlags = DMG_BOOMERANG; } } @@ -1138,7 +1138,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.elem.bumper.dmgFlags = DMG_SWORD | DMG_BOOMERANG | DMG_DEKU_STICK; + this->colliderBody.elem.acDmgInfo.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.elem.bumper.dmgFlags = DMG_BOOMERANG; + this->colliderBody.elem.acDmgInfo.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.elem.bumper.dmgFlags = DMG_BOOMERANG; + this->colliderBody.elem.acDmgInfo.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.elem.bumper.dmgFlags = DMG_SWORD | DMG_BOOMERANG | DMG_DEKU_STICK; + this->colliderBody.elem.acDmgInfo.dmgFlags = DMG_SWORD | DMG_BOOMERANG | DMG_DEKU_STICK; this->timer--; } else { if ((player->stateFlags1 & PLAYER_STATE1_26) && (this->timer < -60)) { diff --git a/src/overlays/actors/ovl_Demo_Du/z_demo_du.c b/src/overlays/actors/ovl_Demo_Du/z_demo_du.c index 6be44f199a..4fc2d7bb94 100644 --- a/src/overlays/actors/ovl_Demo_Du/z_demo_du.c +++ b/src/overlays/actors/ovl_Demo_Du/z_demo_du.c @@ -16,7 +16,6 @@ void DemoDu_Draw(Actor* thisx, PlayState* play); static s32 sUnused = 0; -#pragma asmproc recurse #include "z_demo_du_cutscene_data.inc.c" static void* sEyeTextures[] = { gDaruniaEyeOpenTex, gDaruniaEyeOpeningTex, gDaruniaEyeShutTex, gDaruniaEyeClosingTex }; diff --git a/src/overlays/actors/ovl_Demo_Du/z_demo_du_cutscene_data.inc.c b/src/overlays/actors/ovl_Demo_Du/z_demo_du_cutscene_data.inc.c index 5d4e1a7874..7e90542d83 100644 --- a/src/overlays/actors/ovl_Demo_Du/z_demo_du_cutscene_data.inc.c +++ b/src/overlays/actors/ovl_Demo_Du/z_demo_du_cutscene_data.inc.c @@ -7,31 +7,31 @@ static CutsceneData D_8096C1A4[] = { CS_UNK_DATA_LIST(0x00000020, 1), CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0xFFFFFFFC, 0x00000002, 0x00000000, 0xFFFFFFFC, 0x00000002, 0x00000000, 0x00000000, 0x00000000), CS_ACTOR_CUE_LIST(31, 5), - CS_ACTOR_CUE(0x0001, 0, 546, 0x0000, 0x0000, 0x0000, 0, 216, -10, 0, 216, -10, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0002, 546, 547, 0x0000, 0x0000, 0x0000, 0, 216, -10, 0, 216, -10, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0004, 547, 616, 0x0000, 0x0000, 0x0000, 0, 216, -10, 0, 216, -10, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0002, 616, 667, 0x0000, 0x0000, 0x0000, 0, 216, -10, 0, 82, 0, 0.0f, -2.627451f, 0.0f), - CS_ACTOR_CUE(0x0003, 667, 2834, 0x0000, 0x0000, 0x0000, 0, 82, 0, 0, 82, 0, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 546, 0x0000, 0x0000, 0x0000, 0, 216, -10, 0, 216, -10, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0002, 546, 547, 0x0000, 0x0000, 0x0000, 0, 216, -10, 0, 216, -10, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0004, 547, 616, 0x0000, 0x0000, 0x0000, 0, 216, -10, 0, 216, -10, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0002, 616, 667, 0x0000, 0x0000, 0x0000, 0, 216, -10, 0, 82, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0xC0282828, -2.627451f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0003, 667, 2834, 0x0000, 0x0000, 0x0000, 0, 82, 0, 0, 82, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_PLAYER_CUE_LIST(3), - CS_PLAYER_CUE(PLAYER_CUEID_13, 0, 280, 0x0000, 0x6AAA, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 1.401298464324817e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_5, 280, 531, 0x0000, 0x6AAA, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 1.401298464324817e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_19, 531, 1716, 0x0000, 0xEAAA, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 1.401298464324817e-45f), + CS_PLAYER_CUE(PLAYER_CUEID_13, 0, 280, 0x0000, 0x6AAA, 0x0000, 0, 6, 0, 0, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_5, 280, 531, 0x0000, 0x6AAA, 0x0000, 0, 6, 0, 0, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_19, 531, 1716, 0x0000, 0xEAAA, 0x0000, 0, 6, 0, 0, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), CS_ACTOR_CUE_LIST(41, 3), - CS_ACTOR_CUE(0x0001, 0, 170, 0x0000, 0x0000, 0x0000, 98, 6, -169, 98, 6, -169, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0002, 170, 465, 0x0000, 0x0000, 0x0000, 98, 6, -169, 98, 6, -169, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0003, 465, 2915, 0x0000, 0x0000, 0x0000, 98, 6, -169, 98, 6, -169, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 170, 0x0000, 0x0000, 0x0000, 98, 6, -169, 98, 6, -169, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0002, 170, 465, 0x0000, 0x0000, 0x0000, 98, 6, -169, 98, 6, -169, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0003, 465, 2915, 0x0000, 0x0000, 0x0000, 98, 6, -169, 98, 6, -169, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_ACTOR_CUE_LIST(49, 1), - CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, -16, -121, 0, -16, -121, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, -16, -121, 0, -16, -121, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_TRANSITION(CS_TRANS_GRAY_FILL_IN, 530, 539), CS_TRANSITION(CS_TRANS_GRAY_FILL_OUT, 540, 570), CS_LIGHT_SETTING_LIST(2), CS_LIGHT_SETTING(0x0000, 0, 10, 0x0000, 0x00000000, 0xFFFFFFDC, 0x00000000, 0x00000018, 0xFFFFFFDC, 0x00000000, 0x00000018), CS_LIGHT_SETTING(0x0000, 10, 3000, 0x0000, 0x00000000, 0xFFFFFFDC, 0x00000000, 0x00000018, 0xFFFFFFDC, 0x00000000, 0x00000018), CS_ACTOR_CUE_LIST(39, 1), - CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, 0, -2, 0, 0, -2, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, 0, -2, 0, 0, -2, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_TRANSITION(CS_TRANS_GRAY_FILL_IN, 805, 835), CS_ACTOR_CUE_LIST(62, 1), - CS_ACTOR_CUE(0x0004, 0, 3000, 0x0000, 0x0000, 0x0000, 32, 80, -51, 32, 80, -51, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0004, 0, 3000, 0x0000, 0x0000, 0x0000, 32, 80, -51, 32, 80, -51, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_DESTINATION(CS_DEST_DEATH_MOUNTAIN_CRATER_FROM_CHAMBER_OF_SAGES, 905, 1030), CS_START_SEQ_LIST(1), CS_START_SEQ(NA_BGM_MEDALLION_GET, 615, 616, 0x0000, 0x00000000, 0xFFFFFF97, 0x00000000, 0x00000030, 0xFFFFFF97, 0x00000000, 0x00000030), @@ -49,139 +49,139 @@ static CutsceneData D_8096C1A4[] = { CS_TEXT_NONE(805, 865), CS_TEXT(0x303D, 865, 875, 0x0000, 0x0000, 0x0000), CS_CAM_EYE_SPLINE(0, 1361), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4f, -85, 3211, 795, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4f, -85, 3211, 795, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4f, -85, 2925, 795, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4f, 70, 974, 497, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4f, 320, 268, 296, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4f, 312, 190, 150, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4f, 261, 61, -65, 0x013F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4f, 261, 61, -65, 0x014E), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4f, 261, 61, -65, 0x015F), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.4f, 261, 61, -65, 0x0161), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271999A, 60.4f), -85, 3211, 795, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271999A, 60.4f), -85, 3211, 795, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271999A, 60.4f), -85, 2925, 795, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271999A, 60.4f), 70, 974, 497, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271999A, 60.4f), 320, 268, 296, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271999A, 60.4f), 312, 190, 150, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271999A, 60.4f), 261, 61, -65, 0x013F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271999A, 60.4f), 261, 61, -65, 0x014E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271999A, 60.4f), 261, 61, -65, 0x015F), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4271999A, 60.4f), 261, 61, -65, 0x0161), CS_CAM_EYE_SPLINE(263, 509), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 29.399885f, 89, 30, -103, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.2f, 89, 30, -103, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.2f, 89, 30, -103, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.2f, 89, 30, -103, 0x00E8), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.2f, 89, 30, -103, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41EB32F7, 29.399885f), 89, 30, -103, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4270CCCD, 60.2f), 89, 30, -103, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4270CCCD, 60.2f), 89, 30, -103, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4270CCCD, 60.2f), 89, 30, -103, 0x00E8), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4270CCCD, 60.2f), 89, 30, -103, 0x00EA), CS_CAM_EYE_SPLINE(333, 1424), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.999947f, 114, 50, -116, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.999947f, 114, 50, -116, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.999947f, 114, 50, -116, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.999947f, 114, 50, -116, 0x00E8), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.999947f, 114, 50, -116, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4237FFF2, 45.999947f), 114, 50, -116, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4237FFF2, 45.999947f), 114, 50, -116, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4237FFF2, 45.999947f), 114, 50, -116, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4237FFF2, 45.999947f), 114, 50, -116, 0x00E8), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4237FFF2, 45.999947f), 114, 50, -116, 0x00EA), CS_CAM_EYE_SPLINE(403, 1494), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, 26, 45, -10, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, 26, 45, -10, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, 26, 45, -10, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, 26, 45, -10, 0x00E8), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.599945f, 26, 45, -10, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), 26, 45, -10, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), 26, 45, -10, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), 26, 45, -10, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), 26, 45, -10, 0x00E8), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), 26, 45, -10, 0x00EA), CS_CAM_EYE_SPLINE(443, 1624), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 11, 23, -17, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 11, 23, -17, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 27, 31, -45, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 45, 40, -76, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 45, 40, -76, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 45, 40, -76, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 45, 40, -76, 0x013F), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.399944f, 45, 40, -76, 0x002E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 11, 23, -17, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 11, 23, -17, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 27, 31, -45, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 45, 40, -76, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 45, 40, -76, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 45, 40, -76, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 45, 40, -76, 0x013F), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 45, 40, -76, 0x002E), CS_CAM_EYE_SPLINE(473, 1604), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.199944f, 192, 29, -246, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.199944f, 192, 29, -246, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.199944f, 192, 29, -246, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.199944f, 192, 29, -246, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.39992f, 192, 278, -246, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.39992f, 192, 278, -246, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.39992f, 192, 278, -246, 0x013F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.39992f, 192, 278, -246, 0x002E), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 70.39992f, 192, 278, -246, 0x0063), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4234CCBE, 45.199944f), 192, 29, -246, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4234CCBE, 45.199944f), 192, 29, -246, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4234CCBE, 45.199944f), 192, 29, -246, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4234CCBE, 45.199944f), 192, 29, -246, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428CCCC2, 70.39992f), 192, 278, -246, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428CCCC2, 70.39992f), 192, 278, -246, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428CCCC2, 70.39992f), 192, 278, -246, 0x013F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428CCCC2, 70.39992f), 192, 278, -246, 0x002E), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x428CCCC2, 70.39992f), 192, 278, -246, 0x0063), CS_CAM_EYE_SPLINE(539, 881), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 13, 854, 2, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 9, 853, 5, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -3, 853, 5, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -9, 853, -6, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -2, 852, -17, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 9, 852, -17, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 16, 852, -6, 0x013F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 9, 852, 5, 0x002E), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.0f, -3, 851, 5, 0x0063), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 13, 854, 2, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 9, 853, 5, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -3, 853, 5, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -9, 853, -6, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -2, 852, -17, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 9, 852, -17, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 16, 852, -6, 0x013F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 9, 852, 5, 0x002E), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -3, 851, 5, 0x0063), CS_CAM_EYE_SPLINE_REL_TO_PLAYER(615, 1796), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 33, -27, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 33, -27, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 68, -26, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x013F), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 68.599945f, 0, 103, -26, 0x002E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 33, -27, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 33, -27, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 68, -26, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x013F), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x002E), CS_CAM_AT_SPLINE(0, 1390), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 60, 60.4f, -115, 3163, 585, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 60, 60.4f, -115, 3163, 585, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 60, 60.4f, -115, 2877, 585, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.4f, 27, 824, 348, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, 60.4f, 197, 143, 174, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, 60.4f, 147, 100, 55, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, 60.4f, 55, 35, -65, 0x013F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 60.4f, 55, 35, -65, 0x014E), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.4f, 55, 35, -65, 0x015F), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.4f, 56, 35, -65, 0x0161), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 60, CS_FLOAT(0x4271999A, 60.4f), -115, 3163, 585, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 60, CS_FLOAT(0x4271999A, 60.4f), -115, 3163, 585, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 60, CS_FLOAT(0x4271999A, 60.4f), -115, 2877, 585, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4271999A, 60.4f), 27, 824, 348, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, CS_FLOAT(0x4271999A, 60.4f), 197, 143, 174, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, CS_FLOAT(0x4271999A, 60.4f), 147, 100, 55, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, CS_FLOAT(0x4271999A, 60.4f), 55, 35, -65, 0x013F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4271999A, 60.4f), 55, 35, -65, 0x014E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4271999A, 60.4f), 55, 35, -65, 0x015F), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4271999A, 60.4f), 56, 35, -65, 0x0161), CS_CAM_AT_SPLINE(263, 538), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 78.99979f, 87, 157, -391, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 82, 78.79979f, 87, 157, -391, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 103, 70.79991f, 87, 157, -391, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.2f, 87, 157, -391, 0x00E8), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.2f, 87, 157, -391, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x429DFFE4, 78.99979f), 87, 157, -391, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 82, CS_FLOAT(0x429D997E, 78.79979f), 87, 157, -391, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 103, CS_FLOAT(0x428D998E, 70.79991f), 87, 157, -391, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4270CCCD, 60.2f), 87, 157, -391, 0x00E8), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4270CCCD, 60.2f), 87, 157, -391, 0x00EA), CS_CAM_AT_SPLINE(333, 1453), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.999947f, -52, 127, -309, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.999947f, -52, 127, -309, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 45.999947f, -52, 127, -309, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.999947f, -52, 127, -309, 0x00E8), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.999947f, -52, 127, -309, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4237FFF2, 45.999947f), -52, 127, -309, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4237FFF2, 45.999947f), -52, 127, -309, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4237FFF2, 45.999947f), -52, 127, -309, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4237FFF2, 45.999947f), -52, 127, -309, 0x00E8), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4237FFF2, 45.999947f), -52, 127, -309, 0x00EA), CS_CAM_AT_SPLINE(403, 1523), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.599945f, -269, 186, 13, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.599945f, -269, 186, 13, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 45.599945f, -269, 186, 13, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.599945f, -269, 186, 13, 0x00E8), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.599945f, -269, 186, 13, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42366658, 45.599945f), -269, 186, 13, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42366658, 45.599945f), -269, 186, 13, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x42366658, 45.599945f), -269, 186, 13, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42366658, 45.599945f), -269, 186, 13, 0x00E8), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42366658, 45.599945f), -269, 186, 13, 0x00EA), CS_CAM_AT_SPLINE(443, 1653), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, 163, 70, -283, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, 163, 70, -283, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, 177, 74, -309, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, 193, 92, -337, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, 193, 92, -337, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 45.399944f, 192, 91, -336, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, 192, 91, -336, 0x013F), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.399944f, 192, 91, -336, 0x002E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), 163, 70, -283, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), 163, 70, -283, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), 177, 74, -309, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), 193, 92, -337, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), 193, 92, -337, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4235998B, 45.399944f), 192, 91, -336, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), 192, 91, -336, 0x013F), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), 192, 91, -336, 0x002E), CS_CAM_AT_SPLINE(473, 1633), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 45.199944f, -9, 57, -53, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 45.199944f, -9, 57, -53, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 45.199944f, -9, 57, -54, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 45.999947f, -8, 57, -54, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 70.39992f, 149, 547, -205, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 70.39992f, 149, 547, -205, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 70.39992f, 149, 547, -205, 0x013F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.39992f, 149, 547, -205, 0x002E), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 70.39992f, 149, 547, -205, 0x0063), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x4234CCBE, 45.199944f), -9, 57, -53, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x4234CCBE, 45.199944f), -9, 57, -53, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x4234CCBE, 45.199944f), -9, 57, -54, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x4237FFF2, 45.999947f), -8, 57, -54, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x428CCCC2, 70.39992f), 149, 547, -205, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x428CCCC2, 70.39992f), 149, 547, -205, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x428CCCC2, 70.39992f), 149, 547, -205, 0x013F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428CCCC2, 70.39992f), 149, 547, -205, 0x002E), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x428CCCC2, 70.39992f), 149, 547, -205, 0x0063), CS_CAM_AT_SPLINE(539, 930), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 60.0f, 3, 6, -6, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, 60.0f, 3, 6, -6, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 50.999966f, 3, 6, -6, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 20.59985f, 3, 6, -6, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 51, 10.799838f, 3, 6, -6, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 10.399838f, 3, 6, -6, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 10.399838f, 3, 6, -6, 0x013F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 10.199839f, 3, 6, -6, 0x002E), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 50, 10.999838f, 3, 6, -6, 0x0063), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x42700000, 60.0f), 3, 6, -6, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, CS_FLOAT(0x42700000, 60.0f), 3, 6, -6, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x424BFFF7, 50.999966f), 3, 6, -6, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x41A4CC7E, 20.59985f), 3, 6, -6, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 51, CS_FLOAT(0x412CCC23, 10.799838f), 3, 6, -6, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x412665BD, 10.399838f), 3, 6, -6, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x412665BD, 10.399838f), 3, 6, -6, 0x013F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x4123328A, 10.199839f), 3, 6, -6, 0x002E), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 50, CS_FLOAT(0x412FFF56, 10.999838f), 3, 6, -6, 0x0063), CS_CAM_AT_SPLINE_REL_TO_PLAYER(615, 1825), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 100, 5, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 101, 6, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 1, 99, 41, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 68.599945f, 0, 42, 16, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x013F), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 68.599945f, 0, 42, 16, 0x002E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 100, 5, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 101, 6, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 1, 99, 41, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x013F), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x002E), CS_END(), }; // clang-format on 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 3df0db29d0..e508f6cc8b 100644 --- a/src/overlays/actors/ovl_Demo_Gj/z_demo_gj.c +++ b/src/overlays/actors/ovl_Demo_Gj/z_demo_gj.c @@ -27,8 +27,8 @@ static ColliderCylinderInitType1 sCylinderInit1 = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 30, 100, 0, { 0, 0, 0 } }, @@ -46,8 +46,8 @@ static ColliderCylinderInitType1 sCylinderInit2 = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 25, 110, 0, { 0, 0, 0 } }, @@ -65,8 +65,8 @@ static ColliderCylinderInitType1 sCylinderInit3 = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 25, 200, 0, { 0, 0, 0 } }, 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 eac76aa693..b274d4182b 100644 --- a/src/overlays/actors/ovl_Demo_Im/z_demo_im.c +++ b/src/overlays/actors/ovl_Demo_Im/z_demo_im.c @@ -72,7 +72,6 @@ static ColliderCylinderInitType1 sCylinderInit = { { 25, 80, 0, { 0, 0, 0 } }, }; -#pragma asmproc recurse #include "z_demo_im_cutscene_data.inc.c" static DemoImActionFunc sActionFuncs[] = { diff --git a/src/overlays/actors/ovl_Demo_Im/z_demo_im_cutscene_data.inc.c b/src/overlays/actors/ovl_Demo_Im/z_demo_im_cutscene_data.inc.c index b01d9494dd..96df8b6c4a 100644 --- a/src/overlays/actors/ovl_Demo_Im/z_demo_im_cutscene_data.inc.c +++ b/src/overlays/actors/ovl_Demo_Im/z_demo_im_cutscene_data.inc.c @@ -7,21 +7,21 @@ static CutsceneData D_8098786C[] = { CS_UNK_DATA_LIST(0x00000020, 1), CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0xFFFFFFFC, 0x00000002, 0x00000000, 0xFFFFFFFC, 0x00000002, 0x00000000, 0x00000000, 0x00000000), CS_ACTOR_CUE_LIST(31, 5), - CS_ACTOR_CUE(0x0001, 0, 697, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0002, 697, 698, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0004, 698, 768, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0002, 768, 817, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 82, 0, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0003, 817, 2666, 0x0000, 0x0000, 0x0000, 0, 82, 0, 0, 82, 0, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 697, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0002, 697, 698, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0004, 698, 768, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0002, 768, 817, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 82, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0003, 817, 2666, 0x0000, 0x0000, 0x0000, 0, 82, 0, 0, 82, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_PLAYER_CUE_LIST(3), - CS_PLAYER_CUE(PLAYER_CUEID_13, 0, 300, 0x0000, 0x0000, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 0.0f), - CS_PLAYER_CUE(PLAYER_CUEID_5, 300, 661, 0x0000, 0xEAAA, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 0.0f), - CS_PLAYER_CUE(PLAYER_CUEID_19, 661, 1934, 0x0000, 0x6AAA, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 0.0f), + CS_PLAYER_CUE(PLAYER_CUEID_13, 0, 300, 0x0000, 0x0000, 0x0000, 0, 6, 0, 0, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_PLAYER_CUE(PLAYER_CUEID_5, 300, 661, 0x0000, 0xEAAA, 0x0000, 0, 6, 0, 0, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_PLAYER_CUE(PLAYER_CUEID_19, 661, 1934, 0x0000, 0x6AAA, 0x0000, 0, 6, 0, 0, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_ACTOR_CUE_LIST(44, 3), - CS_ACTOR_CUE(0x0001, 0, 145, 0x0000, 0x0000, 0x0000, -97, 6, 169, -97, 6, 169, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0002, 145, 615, 0x0000, 0x0000, 0x0000, -97, 6, 169, -97, 6, 169, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0003, 615, 1906, 0x0000, 0x0000, 0x0000, -97, 6, 169, -97, 6, 169, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 145, 0x0000, 0x0000, 0x0000, -97, 6, 169, -97, 6, 169, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0002, 145, 615, 0x0000, 0x0000, 0x0000, -97, 6, 169, -97, 6, 169, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0003, 615, 1906, 0x0000, 0x0000, 0x0000, -97, 6, 169, -97, 6, 169, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_ACTOR_CUE_LIST(49, 1), - CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, -22, 0, -55, -22, 0, -55, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, -22, 0, -55, -22, 0, -55, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_LIGHT_SETTING_LIST(2), CS_LIGHT_SETTING(0x0001, 0, 10, 0x0000, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x0000000D, 0xFFFFFFFE, 0x00000000, 0x0000000D), CS_LIGHT_SETTING(0x0001, 10, 3000, 0x0000, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x0000000D, 0xFFFFFFFE, 0x00000000, 0x0000000D), @@ -29,8 +29,8 @@ static CutsceneData D_8098786C[] = { CS_TRANSITION(CS_TRANS_GRAY_FILL_IN, 960, 990), CS_TRANSITION(CS_TRANS_GRAY_FILL_IN, 683, 692), CS_ACTOR_CUE_LIST(62, 2), - CS_ACTOR_CUE(0x0001, 0, 10, 0x0000, 0x0000, 0x0000, 64, 80, 130, 64, 80, 130, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0004, 10, 3000, 0x0000, 0x0000, 0x0000, 64, 80, 130, 64, 80, 130, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 10, 0x0000, 0x0000, 0x0000, 64, 80, 130, 64, 80, 130, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0004, 10, 3000, 0x0000, 0x0000, 0x0000, 64, 80, 130, 64, 80, 130, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_START_SEQ_LIST(1), CS_START_SEQ(NA_BGM_MEDALLION_GET, 770, 771, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC9, 0x0000005C, 0x00000000, 0xFFFFFFC9, 0x0000005C), CS_TEXT_LIST(14), @@ -52,171 +52,171 @@ static CutsceneData D_8098786C[] = { CS_FADE_OUT_SEQ_LIST(1), CS_FADE_OUT_SEQ(CS_FADE_OUT_BGM_MAIN, 673, 723, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC1, 0x00000058, 0x00000000, 0xFFFFFFC1, 0x00000058), CS_CAM_EYE_SPLINE(0, 341), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, 33, 225, -58, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, 33, 225, -58, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, 33, 225, -58, 0x0950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, 33, 106, -58, 0x7C50), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, 33, 23, -58, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, 11, 10, -18, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, 11, 10, -18, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, 11, 10, -18, 0xE6A0), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.600002f, 11, 10, -18, 0x7C53), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), 33, 225, -58, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), 33, 225, -58, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), 33, 225, -58, 0x0950), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), 33, 106, -58, 0x7C50), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), 33, 23, -58, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), 11, 10, -18, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), 11, 10, -18, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), 11, 10, -18, 0xE6A0), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), 11, 10, -18, 0x7C53), CS_CAM_EYE_SPLINE(263, 504), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 22.626957f, -49, 13, 158, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 22.626957f, -49, 13, 158, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 22.626957f, -49, 13, 158, 0x0950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 22.626957f, -21, 22, 150, 0x7C50), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 33.226997f, -21, 22, 150, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 33.226997f, -21, 22, 150, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 33.226997f, -21, 22, 150, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 33.226997f, -21, 22, 150, 0xE6A0), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 33.226997f, -21, 22, 150, 0x7C53), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41B50402, 22.626957f), -49, 13, 158, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41B50402, 22.626957f), -49, 13, 158, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41B50402, 22.626957f), -49, 13, 158, 0x0950), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41B50402, 22.626957f), -21, 22, 150, 0x7C50), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4204E872, 33.226997f), -21, 22, 150, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4204E872, 33.226997f), -21, 22, 150, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4204E872, 33.226997f), -21, 22, 150, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4204E872, 33.226997f), -21, 22, 150, 0xE6A0), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4204E872, 33.226997f), -21, 22, 150, 0x7C53), CS_CAM_EYE_SPLINE(363, 824), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -67, 8, 117, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -67, 8, 117, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -67, 8, 117, 0x0950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -67, 8, 117, 0x7C50), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -67, 8, 117, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -67, 8, 117, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.79991f, -67, 8, 117, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.79991f, -67, 8, 117, 0xE6A0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.79991f, -67, 8, 117, 0x7C53), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.79991f, -67, 8, 117, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 70.79991f, -67, 8, 117, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -67, 8, 117, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -67, 8, 117, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -67, 8, 117, 0x0950), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -67, 8, 117, 0x7C50), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -67, 8, 117, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -67, 8, 117, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428D998E, 70.79991f), -67, 8, 117, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428D998E, 70.79991f), -67, 8, 117, 0xE6A0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428D998E, 70.79991f), -67, 8, 117, 0x7C53), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428D998E, 70.79991f), -67, 8, 117, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x428D998E, 70.79991f), -67, 8, 117, 0x0000), CS_CAM_EYE_SPLINE_REL_TO_PLAYER(413, 1504), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 19.99985f, -53, 28, 45, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 19.99985f, -53, 28, 45, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 19.99985f, -53, 28, 45, 0x0950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 19.99985f, -53, 28, 45, 0x7C50), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 19.99985f, -53, 28, 45, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x419FFFB1, 19.99985f), -53, 28, 45, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x419FFFB1, 19.99985f), -53, 28, 45, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x419FFFB1, 19.99985f), -53, 28, 45, 0x0950), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x419FFFB1, 19.99985f), -53, 28, 45, 0x7C50), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x419FFFB1, 19.99985f), -53, 28, 45, 0x0000), CS_CAM_EYE_SPLINE(483, 1684), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.91906f, -67, 8, 117, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.91906f, -67, 8, 117, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.91906f, -67, 8, 117, 0x0950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.91906f, -71, 15, 124, 0x7C50), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.91906f, -73, 29, 131, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.91906f, -78, 40, 140, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.91906f, -78, 40, 140, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.91906f, -78, 40, 140, 0xE6A0), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 68.91906f, -78, 40, 140, 0x7C53), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289D68F, 68.91906f), -67, 8, 117, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289D68F, 68.91906f), -67, 8, 117, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289D68F, 68.91906f), -67, 8, 117, 0x0950), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289D68F, 68.91906f), -71, 15, 124, 0x7C50), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289D68F, 68.91906f), -73, 29, 131, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289D68F, 68.91906f), -78, 40, 140, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289D68F, 68.91906f), -78, 40, 140, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289D68F, 68.91906f), -78, 40, 140, 0xE6A0), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4289D68F, 68.91906f), -78, 40, 140, 0x7C53), CS_CAM_EYE_SPLINE(553, 1644), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, -39, 34, 201, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, -39, 34, 201, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, -39, 34, 201, 0x0950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, -39, 34, 201, 0x7C50), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.599945f, -39, 34, 201, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), -39, 34, 201, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), -39, 34, 201, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), -39, 34, 201, 0x0950), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), -39, 34, 201, 0x7C50), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), -39, 34, 201, 0x0000), CS_CAM_EYE_SPLINE(623, 819), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.599915f, 9, 13, -17, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.599915f, 9, 13, -17, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.599915f, 9, 13, -17, 0x0950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.599915f, 9, 71, -17, 0x7C50), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 126.999054f, 9, 385, -17, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 126.999054f, 9, 385, -17, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 126.999054f, 9, 385, -17, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 126.999054f, 9, 385, -17, 0xE6A0), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 126.999054f, 9, 385, -17, 0x7C53), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428D3328, 70.599915f), 9, 13, -17, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428D3328, 70.599915f), 9, 13, -17, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428D3328, 70.599915f), 9, 13, -17, 0x0950), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428D3328, 70.599915f), 9, 71, -17, 0x7C50), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42FDFF84, 126.999054f), 9, 385, -17, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42FDFF84, 126.999054f), 9, 385, -17, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42FDFF84, 126.999054f), 9, 385, -17, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42FDFF84, 126.999054f), 9, 385, -17, 0xE6A0), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42FDFF84, 126.999054f), 9, 385, -17, 0x7C53), CS_CAM_EYE_SPLINE(693, 1035), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 13, 854, 2, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 9, 853, 5, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -3, 853, 5, 0x0950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -9, 853, -6, 0x7C50), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -2, 852, -17, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 9, 852, -17, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 16, 852, -6, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 9, 852, 5, 0xE6A0), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.0f, -3, 851, 5, 0x7C53), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 13, 854, 2, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 9, 853, 5, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -3, 853, 5, 0x0950), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -9, 853, -6, 0x7C50), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -2, 852, -17, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 9, 852, -17, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 16, 852, -6, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 9, 852, 5, 0xE6A0), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -3, 851, 5, 0x7C53), CS_CAM_EYE_SPLINE_REL_TO_PLAYER(769, 1950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 33, -27, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 33, -27, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 68, -26, 0x0950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x7C50), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 68.599945f, 0, 103, -26, 0xE6A0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 33, -27, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 33, -27, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 68, -26, 0x0950), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x7C50), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0xE6A0), CS_CAM_AT_SPLINE(0, 370), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, -21, 21, 42, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 60.600002f, -21, 21, 42, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 60.600002f, -21, 21, 42, 0x0950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 60.600002f, -78, 86, 144, 0x7C50), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 60.600002f, -80, 21, 142, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 60.600002f, -99, 31, 177, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, -99, 31, 177, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, -99, 31, 177, 0xE6A0), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.600002f, -99, 31, 177, 0x7C53), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), -21, 21, 42, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x42726667, 60.600002f), -21, 21, 42, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x42726667, 60.600002f), -21, 21, 42, 0x0950), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x42726667, 60.600002f), -78, 86, 144, 0x7C50), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x42726667, 60.600002f), -80, 21, 142, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x42726667, 60.600002f), -99, 31, 177, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), -99, 31, 177, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), -99, 31, 177, 0xE6A0), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), -99, 31, 177, 0x7C53), CS_CAM_AT_SPLINE(263, 533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 22.626957f, -309, 11, 229, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 22.626957f, -309, 11, 229, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 22.626957f, -309, 11, 229, 0x0950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 33.226997f, -258, 133, 191, 0x7C50), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 33.226997f, -258, 133, 191, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 33.226997f, -258, 133, 191, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 33.226997f, -258, 133, 191, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 33.226997f, -258, 133, 191, 0xE6A0), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 33.226997f, -258, 133, 191, 0x7C53), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x41B50402, 22.626957f), -309, 11, 229, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x41B50402, 22.626957f), -309, 11, 229, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x41B50402, 22.626957f), -309, 11, 229, 0x0950), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4204E872, 33.226997f), -258, 133, 191, 0x7C50), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4204E872, 33.226997f), -258, 133, 191, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4204E872, 33.226997f), -258, 133, 191, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4204E872, 33.226997f), -258, 133, 191, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4204E872, 33.226997f), -258, 133, 191, 0xE6A0), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4204E872, 33.226997f), -258, 133, 191, 0x7C53), CS_CAM_AT_SPLINE(363, 853), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 68.79994f, 68, 109, -103, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 68.99994f, 68, 109, -103, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 68.79994f, 67, 109, -103, 0x0950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 68.599945f, 189, 109, 92, 0x7C50), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 68.599945f, 57, 108, 341, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 70.79991f, -186, 107, 341, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 70.79991f, -186, 107, 341, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 70.79991f, -186, 107, 341, 0xE6A0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.79991f, -186, 107, 341, 0x7C53), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.79991f, -186, 107, 341, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 70.79991f, -186, 107, 341, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x42899992, 68.79994f), 68, 109, -103, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x4289FFF8, 68.99994f), 68, 109, -103, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x42899992, 68.79994f), 67, 109, -103, 0x0950), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x4289332C, 68.599945f), 189, 109, 92, 0x7C50), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x4289332C, 68.599945f), 57, 108, 341, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x428D998E, 70.79991f), -186, 107, 341, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x428D998E, 70.79991f), -186, 107, 341, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x428D998E, 70.79991f), -186, 107, 341, 0xE6A0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428D998E, 70.79991f), -186, 107, 341, 0x7C53), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428D998E, 70.79991f), -186, 107, 341, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x428D998E, 70.79991f), -186, 107, 341, 0x0000), CS_CAM_AT_SPLINE_REL_TO_PLAYER(413, 1533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 19.99985f, 171, 122, -106, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 19.99985f, 171, 122, -106, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 19.99985f, 171, 122, -106, 0x0950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 19.99985f, 170, 122, -106, 0x7C50), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 19.99985f, 170, 122, -106, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x419FFFB1, 19.99985f), 171, 122, -106, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x419FFFB1, 19.99985f), 171, 122, -106, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x419FFFB1, 19.99985f), 171, 122, -106, 0x0950), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x419FFFB1, 19.99985f), 170, 122, -106, 0x7C50), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x419FFFB1, 19.99985f), 170, 122, -106, 0x0000), CS_CAM_AT_SPLINE(483, 1713), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x01, 20, 68.91906f, -191, 132, 327, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 68.91906f, -191, 132, 327, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0xFF, 30, 68.91906f, -190, 131, 326, 0x0950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, 68.91906f, -189, 154, 324, 0x7C50), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x01, 30, 68.91906f, -194, 162, 331, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.91906f, -199, 172, 339, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 68.91906f, -199, 172, 339, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.91906f, -199, 172, 339, 0xE6A0), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 68.91906f, -199, 172, 339, 0x7C53), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x01, 20, CS_FLOAT(0x4289D68F, 68.91906f), -191, 132, 327, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x4289D68F, 68.91906f), -191, 132, 327, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0xFF, 30, CS_FLOAT(0x4289D68F, 68.91906f), -190, 131, 326, 0x0950), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, CS_FLOAT(0x4289D68F, 68.91906f), -189, 154, 324, 0x7C50), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x01, 30, CS_FLOAT(0x4289D68F, 68.91906f), -194, 162, 331, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289D68F, 68.91906f), -199, 172, 339, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4289D68F, 68.91906f), -199, 172, 339, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289D68F, 68.91906f), -199, 172, 339, 0xE6A0), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4289D68F, 68.91906f), -199, 172, 339, 0x7C53), CS_CAM_AT_SPLINE(553, 1673), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.599945f, -234, 123, 37, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.599945f, -234, 123, 37, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 45.599945f, -234, 123, 37, 0x0950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.599945f, -234, 123, 37, 0x7C50), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.599945f, -233, 123, 37, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42366658, 45.599945f), -234, 123, 37, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42366658, 45.599945f), -234, 123, 37, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x42366658, 45.599945f), -234, 123, 37, 0x0950), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42366658, 45.599945f), -234, 123, 37, 0x7C50), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42366658, 45.599945f), -233, 123, 37, 0x0000), CS_CAM_AT_SPLINE(623, 848), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.599915f, -52, 17, 91, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.599915f, -52, 17, 91, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 70.599915f, -52, 17, 91, 0x0950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, 70.599915f, -52, 75, 91, 0x7C50), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 126.999054f, -5, 503, 9, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 126.999054f, -5, 503, 9, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 126.999054f, -5, 503, 9, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 126.999054f, -5, 503, 9, 0xE6A0), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 126.999054f, -5, 503, 9, 0x7C53), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428D3328, 70.599915f), -52, 17, 91, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428D3328, 70.599915f), -52, 17, 91, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x428D3328, 70.599915f), -52, 17, 91, 0x0950), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, CS_FLOAT(0x428D3328, 70.599915f), -52, 75, 91, 0x7C50), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42FDFF84, 126.999054f), -5, 503, 9, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42FDFF84, 126.999054f), -5, 503, 9, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42FDFF84, 126.999054f), -5, 503, 9, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42FDFF84, 126.999054f), -5, 503, 9, 0xE6A0), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42FDFF84, 126.999054f), -5, 503, 9, 0x7C53), CS_CAM_AT_SPLINE(693, 1084), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 60.0f, 3, 6, -6, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, 60.0f, 3, 6, -6, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 50.999966f, 3, 6, -6, 0x0950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 20.59985f, 3, 6, -6, 0x7C50), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 51, 10.799838f, 3, 6, -6, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 10.399838f, 3, 6, -6, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 10.399838f, 3, 6, -6, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 10.199839f, 3, 6, -6, 0xE6A0), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 50, 10.999838f, 3, 6, -6, 0x7C53), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x42700000, 60.0f), 3, 6, -6, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, CS_FLOAT(0x42700000, 60.0f), 3, 6, -6, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x424BFFF7, 50.999966f), 3, 6, -6, 0x0950), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x41A4CC7E, 20.59985f), 3, 6, -6, 0x7C50), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 51, CS_FLOAT(0x412CCC23, 10.799838f), 3, 6, -6, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x412665BD, 10.399838f), 3, 6, -6, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x412665BD, 10.399838f), 3, 6, -6, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x4123328A, 10.199839f), 3, 6, -6, 0xE6A0), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 50, CS_FLOAT(0x412FFF56, 10.999838f), 3, 6, -6, 0x7C53), CS_CAM_AT_SPLINE_REL_TO_PLAYER(769, 1979), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 100, 5, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 101, 6, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 1, 99, 41, 0x0950), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x7C50), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 68.599945f, 0, 42, 16, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 68.599945f, 0, 42, 16, 0xE6A0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 100, 5, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 101, 6, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 1, 99, 41, 0x0950), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x7C50), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0xE6A0), CS_END(), }; // clang-format on diff --git a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data1.c b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data1.c index f50afa536c..f46747a1ac 100644 --- a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data1.c +++ b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data1.c @@ -5,21 +5,21 @@ CutsceneData gAdultWarpInCS[] = { CS_BEGIN_CUTSCENE(2, 164), CS_CAM_EYE_SPLINE_REL_TO_PLAYER(0, 135), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324856f, 31, 79, 59, 0x010F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324856f, 31, 78, 60, 0x0120), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324856f, 32, 78, 60, 0x0131), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324856f, 30, 79, 59, 0x01F4), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324856f, 30, 78, 60, 0x01F6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324856f, 30, 78, 60, 0x0207), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.324856f, 30, 78, 60, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA7, 60.324856f), 31, 79, 59, 0x010F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA7, 60.324856f), 31, 78, 60, 0x0120), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA7, 60.324856f), 32, 78, 60, 0x0131), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA7, 60.324856f), 30, 79, 59, 0x01F4), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA7, 60.324856f), 30, 78, 60, 0x01F6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA7, 60.324856f), 30, 78, 60, 0x0207), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42714CA7, 60.324856f), 30, 78, 60, 0x0000), CS_CAM_AT_SPLINE_REL_TO_PLAYER(0, 164), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.324856f, 11, 50, 23, 0x010F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.324856f, 11, 48, 22, 0x0120), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 60.324856f, 11, 48, 22, 0x0131), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 60.324856f, 57, 101, 21, 0x01F4), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.324856f, 57, 101, 21, 0x01F6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.324856f, 57, 101, 21, 0x0207), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.324856f, 57, 101, 21, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA7, 60.324856f), 11, 50, 23, 0x010F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA7, 60.324856f), 11, 48, 22, 0x0120), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x42714CA7, 60.324856f), 11, 48, 22, 0x0131), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x42714CA7, 60.324856f), 57, 101, 21, 0x01F4), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA7, 60.324856f), 57, 101, 21, 0x01F6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA7, 60.324856f), 57, 101, 21, 0x0207), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42714CA7, 60.324856f), 57, 101, 21, 0x0000), CS_END(), }; // clang-format on diff --git a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data2.c b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data2.c index 2e320e1992..b98b849922 100644 --- a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data2.c +++ b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data2.c @@ -5,23 +5,23 @@ CutsceneData gAdultWarpOutCS[] = { CS_BEGIN_CUTSCENE(5, 1167), CS_CAM_EYE_SPLINE_REL_TO_PLAYER(0, 1138), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.32486f, 31, 82, 61, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.32486f, 31, 82, 61, 0xA1BC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.32486f, 31, 82, 61, 0xA5E1), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.32486f, 31, 82, 61, 0xA5CB), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.32486f, 31, 82, 61, 0xA5EB), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.32486f, 31, 82, 61, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.32486f, 31, 82, 61, 0xA1BC), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.32486f, 31, 82, 61, 0xA5E1), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA8, 60.32486f), 31, 82, 61, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA8, 60.32486f), 31, 82, 61, 0xA1BC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA8, 60.32486f), 31, 82, 61, 0xA5E1), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA8, 60.32486f), 31, 82, 61, 0xA5CB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA8, 60.32486f), 31, 82, 61, 0xA5EB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA8, 60.32486f), 31, 82, 61, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA8, 60.32486f), 31, 82, 61, 0xA1BC), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42714CA8, 60.32486f), 31, 82, 61, 0xA5E1), CS_CAM_AT_SPLINE_REL_TO_PLAYER(0, 1167), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.32486f, 55, 99, 31, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.32486f, 55, 99, 31, 0xA1BC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.32486f, 55, 99, 31, 0xA5E1), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 60.32486f, 17, 59, 31, 0xA5CB), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.32486f, 17, 59, 31, 0xA5EB), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 60.32486f, 17, 59, 31, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.32486f, 17, 59, 31, 0xA1BC), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.32486f, 17, 59, 31, 0xA5E1), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA8, 60.32486f), 55, 99, 31, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA8, 60.32486f), 55, 99, 31, 0xA1BC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42714CA8, 60.32486f), 55, 99, 31, 0xA5E1), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x42714CA8, 60.32486f), 17, 59, 31, 0xA5CB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA8, 60.32486f), 17, 59, 31, 0xA5EB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x42714CA8, 60.32486f), 17, 59, 31, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA8, 60.32486f), 17, 59, 31, 0xA1BC), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42714CA8, 60.32486f), 17, 59, 31, 0xA5E1), CS_TRANSITION(CS_TRANS_GRAY_FILL_OUT, 36, 46), CS_TRANSITION(CS_TRANS_GRAY_FILL_IN, 30, 35), CS_MISC_LIST(1), diff --git a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data3.c b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data3.c index f846a28e3d..512eb4749a 100644 --- a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data3.c +++ b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data3.c @@ -5,21 +5,21 @@ CutsceneData gAdultWarpInToTCS[] = { CS_BEGIN_CUTSCENE(2, 118), CS_CAM_EYE_SPLINE_REL_TO_PLAYER(0, 89), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 71.32476f, 53, 53, 40, 0x010F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 53, 53, 40, 0x0120), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 53, 53, 40, 0x0131), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.599915f, 58, 102, 48, 0x01F4), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.599915f, 58, 102, 48, 0x01F6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.599915f, 58, 102, 48, 0x0207), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 70.599915f, 58, 102, 48, 0x0047), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428EA647, 71.32476f), 53, 53, 40, 0x010F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 53, 53, 40, 0x0120), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 53, 53, 40, 0x0131), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428D3328, 70.599915f), 58, 102, 48, 0x01F4), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428D3328, 70.599915f), 58, 102, 48, 0x01F6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428D3328, 70.599915f), 58, 102, 48, 0x0207), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x428D3328, 70.599915f), 58, 102, 48, 0x0047), CS_CAM_AT_SPLINE_REL_TO_PLAYER(0, 118), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 70.52477f, 11, 29, 10, 0x010F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 70.39992f, 11, 29, 10, 0x0120), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 70.599915f, 11, 29, 10, 0x0131), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 70.599915f, 29, 71, 25, 0x01F4), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.599915f, 29, 71, 25, 0x01F6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.599915f, 29, 71, 25, 0x0207), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 70.599915f, 29, 71, 25, 0x0047), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x428D0CAF, 70.52477f), 11, 29, 10, 0x010F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x428CCCC2, 70.39992f), 11, 29, 10, 0x0120), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x428D3328, 70.599915f), 11, 29, 10, 0x0131), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x428D3328, 70.599915f), 29, 71, 25, 0x01F4), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428D3328, 70.599915f), 29, 71, 25, 0x01F6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428D3328, 70.599915f), 29, 71, 25, 0x0207), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x428D3328, 70.599915f), 29, 71, 25, 0x0047), CS_END(), }; // clang-format on diff --git a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data4.c b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data4.c index 32db920cd0..ac79db6258 100644 --- a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data4.c +++ b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data4.c @@ -7,17 +7,17 @@ CutsceneData gAdultWarpOutToTCS[] = { CS_TRANSITION(CS_TRANS_GRAY_FILL_OUT, 36, 46), CS_TRANSITION(CS_TRANS_GRAY_FILL_IN, 30, 35), CS_CAM_EYE_SPLINE_REL_TO_PLAYER(0, 1091), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.32486f, 42, 89, 50, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.32486f, 42, 89, 50, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.32486f, 42, 89, 50, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.32486f, 42, 89, 50, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.32486f, 42, 89, 50, 0x29D0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA8, 60.32486f), 42, 89, 50, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA8, 60.32486f), 42, 89, 50, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA8, 60.32486f), 42, 89, 50, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA8, 60.32486f), 42, 89, 50, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42714CA8, 60.32486f), 42, 89, 50, 0x29D0), CS_CAM_AT_SPLINE_REL_TO_PLAYER(0, 1120), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.32486f, 24, 66, 29, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.32486f, 24, 66, 29, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 60.32486f, 24, 66, 29, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.32486f, 24, 66, 29, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.32486f, 24, 66, 29, 0x29D0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA8, 60.32486f), 24, 66, 29, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA8, 60.32486f), 24, 66, 29, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x42714CA8, 60.32486f), 24, 66, 29, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA8, 60.32486f), 24, 66, 29, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42714CA8, 60.32486f), 24, 66, 29, 0x29D0), CS_MISC_LIST(1), CS_MISC(CS_MISC_STOP_CUTSCENE, 95, 96, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFEE, 0xFFFFFFF3, 0x00000000, 0xFFFFFFEE, 0xFFFFFFF3, 0x00000000, 0x00000000, 0x00000000), CS_END(), diff --git a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data5.c b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data5.c index 68617f1d41..c0af714eba 100644 --- a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data5.c +++ b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data5.c @@ -5,23 +5,23 @@ CutsceneData gChildWarpInCS[] = { CS_BEGIN_CUTSCENE(2, 1164), CS_CAM_EYE_SPLINE_REL_TO_PLAYER(0, 1135), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324856f, 31, 68, 59, 0x010F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324856f, 32, 68, 60, 0x0120), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324856f, 31, 69, 59, 0x0131), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324856f, 31, 64, 59, 0x01F4), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324856f, 31, 64, 59, 0x01F6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324856f, 31, 64, 59, 0x0207), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324856f, 31, 64, 59, 0xB46C), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.324856f, 31, 64, 59, 0x05BC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA7, 60.324856f), 31, 68, 59, 0x010F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA7, 60.324856f), 32, 68, 60, 0x0120), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA7, 60.324856f), 31, 69, 59, 0x0131), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA7, 60.324856f), 31, 64, 59, 0x01F4), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA7, 60.324856f), 31, 64, 59, 0x01F6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA7, 60.324856f), 31, 64, 59, 0x0207), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA7, 60.324856f), 31, 64, 59, 0xB46C), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42714CA7, 60.324856f), 31, 64, 59, 0x05BC), CS_CAM_AT_SPLINE_REL_TO_PLAYER(0, 1164), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.324856f, 12, 40, 22, 0x010F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.324856f, 11, 38, 22, 0x0120), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 60.324856f, 11, 39, 22, 0x0131), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 60.324856f, 57, 86, 21, 0x01F4), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.324856f, 57, 86, 21, 0x01F6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 60.324856f, 57, 86, 21, 0x0207), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.324856f, 57, 86, 21, 0xB46C), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.324856f, 57, 86, 21, 0x05BC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA7, 60.324856f), 12, 40, 22, 0x010F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA7, 60.324856f), 11, 38, 22, 0x0120), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x42714CA7, 60.324856f), 11, 39, 22, 0x0131), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x42714CA7, 60.324856f), 57, 86, 21, 0x01F4), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA7, 60.324856f), 57, 86, 21, 0x01F6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x42714CA7, 60.324856f), 57, 86, 21, 0x0207), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA7, 60.324856f), 57, 86, 21, 0xB46C), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42714CA7, 60.324856f), 57, 86, 21, 0x05BC), CS_END(), }; // clang-format on diff --git a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data6.c b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data6.c index 14af0d2b1a..17db7679a1 100644 --- a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data6.c +++ b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data6.c @@ -7,23 +7,23 @@ CutsceneData gChildWarpOutCS[] = { CS_TRANSITION(CS_TRANS_GRAY_FILL_OUT, 36, 46), CS_TRANSITION(CS_TRANS_GRAY_FILL_IN, 30, 35), CS_CAM_EYE_SPLINE_REL_TO_PLAYER(0, 1138), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.32486f, 30, 63, 61, 0xA8A5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.32486f, 30, 63, 61, 0xA3D9), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.32486f, 30, 63, 61, 0xF3A5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324863f, 29, 61, 59, 0xA5D5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324863f, 29, 61, 59, 0xA5E7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324863f, 29, 61, 59, 0xA5EC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324863f, 29, 61, 59, 0xBCA5), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.324863f, 29, 61, 59, 0xEEC0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA8, 60.32486f), 30, 63, 61, 0xA8A5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA8, 60.32486f), 30, 63, 61, 0xA3D9), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA8, 60.32486f), 30, 63, 61, 0xF3A5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA9, 60.324863f), 29, 61, 59, 0xA5D5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA9, 60.324863f), 29, 61, 59, 0xA5E7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA9, 60.324863f), 29, 61, 59, 0xA5EC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CA9, 60.324863f), 29, 61, 59, 0xBCA5), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42714CA9, 60.324863f), 29, 61, 59, 0xEEC0), CS_CAM_AT_SPLINE_REL_TO_PLAYER(0, 1167), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.32486f, 54, 79, 31, 0xA8A5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.32486f, 54, 80, 31, 0xA3D9), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.32486f, 54, 79, 31, 0xF3A5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 60.324863f, 15, 42, 30, 0xA5D5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.324863f, 15, 42, 30, 0xA5E7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 60.324863f, 15, 42, 30, 0xA5EC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.324863f, 15, 42, 30, 0xBCA5), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.324863f, 15, 42, 30, 0xEEC0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA8, 60.32486f), 54, 79, 31, 0xA8A5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA8, 60.32486f), 54, 80, 31, 0xA3D9), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42714CA8, 60.32486f), 54, 79, 31, 0xF3A5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x42714CA9, 60.324863f), 15, 42, 30, 0xA5D5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA9, 60.324863f), 15, 42, 30, 0xA5E7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x42714CA9, 60.324863f), 15, 42, 30, 0xA5EC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CA9, 60.324863f), 15, 42, 30, 0xBCA5), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42714CA9, 60.324863f), 15, 42, 30, 0xEEC0), CS_MISC_LIST(1), CS_MISC(CS_MISC_STOP_CUTSCENE, 95, 96, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFEF, 0xFFFFFFCD, 0x00000000, 0xFFFFFFEF, 0xFFFFFFCD, 0x00000000, 0x00000000, 0x00000000), CS_END(), diff --git a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data7.c b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data7.c index ecb2b57bd5..f5ce4770a2 100644 --- a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data7.c +++ b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data7.c @@ -5,23 +5,23 @@ CutsceneData gChildWarpInToTCS[] = { CS_BEGIN_CUTSCENE(2, 1118), CS_CAM_EYE_SPLINE_REL_TO_PLAYER(0, 1089), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 71.32476f, 53, 53, 40, 0x010F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 53, 53, 40, 0x0120), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 53, 53, 40, 0x0131), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.599915f, 58, 89, 47, 0x01F4), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.599915f, 58, 89, 47, 0x01F6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.599915f, 58, 89, 47, 0x0207), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.599915f, 58, 89, 47, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 70.599915f, 58, 89, 47, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428EA647, 71.32476f), 53, 53, 40, 0x010F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 53, 53, 40, 0x0120), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 53, 53, 40, 0x0131), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428D3328, 70.599915f), 58, 89, 47, 0x01F4), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428D3328, 70.599915f), 58, 89, 47, 0x01F6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428D3328, 70.599915f), 58, 89, 47, 0x0207), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428D3328, 70.599915f), 58, 89, 47, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x428D3328, 70.599915f), 58, 89, 47, 0x0000), CS_CAM_AT_SPLINE_REL_TO_PLAYER(0, 1118), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 70.52477f, 11, 29, 10, 0x010F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 70.39992f, 11, 29, 10, 0x0120), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 70.599915f, 11, 29, 10, 0x0131), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 70.599915f, 29, 58, 25, 0x01F4), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.599915f, 29, 58, 25, 0x01F6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 70.599915f, 29, 58, 25, 0x0207), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.599915f, 29, 58, 25, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 70.599915f, 29, 58, 25, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x428D0CAF, 70.52477f), 11, 29, 10, 0x010F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x428CCCC2, 70.39992f), 11, 29, 10, 0x0120), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x428D3328, 70.599915f), 11, 29, 10, 0x0131), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x428D3328, 70.599915f), 29, 58, 25, 0x01F4), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428D3328, 70.599915f), 29, 58, 25, 0x01F6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x428D3328, 70.599915f), 29, 58, 25, 0x0207), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428D3328, 70.599915f), 29, 58, 25, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x428D3328, 70.599915f), 29, 58, 25, 0x0000), CS_END(), }; // clang-format on diff --git a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data8.c b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data8.c index a087ed7e94..e61672a66a 100644 --- a/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data8.c +++ b/src/overlays/actors/ovl_Demo_Kankyo/z_demo_kankyo_cutscene_data8.c @@ -7,17 +7,17 @@ CutsceneData gChildWarpOutToTCS[] = { CS_TRANSITION(CS_TRANS_GRAY_FILL_OUT, 36, 46), CS_TRANSITION(CS_TRANS_GRAY_FILL_IN, 30, 35), CS_CAM_EYE_SPLINE_REL_TO_PLAYER(0, 1091), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324867f, 41, 75, 49, 0x1F1C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324867f, 41, 75, 49, 0x1F8C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324867f, 41, 75, 49, 0x1FFC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.324867f, 41, 75, 49, 0x206C), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.324867f, 41, 75, 49, 0x20DC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CAA, 60.324867f), 41, 75, 49, 0x1F1C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CAA, 60.324867f), 41, 75, 49, 0x1F8C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CAA, 60.324867f), 41, 75, 49, 0x1FFC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42714CAA, 60.324867f), 41, 75, 49, 0x206C), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42714CAA, 60.324867f), 41, 75, 49, 0x20DC), CS_CAM_AT_SPLINE_REL_TO_PLAYER(0, 1120), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.324867f, 24, 52, 29, 0x1F1C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.324867f, 24, 52, 29, 0x1F8C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 60.324867f, 24, 52, 29, 0x1FFC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.324867f, 24, 52, 29, 0x206C), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.324867f, 24, 52, 29, 0x20DC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CAA, 60.324867f), 24, 52, 29, 0x1F1C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CAA, 60.324867f), 24, 52, 29, 0x1F8C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x42714CAA, 60.324867f), 24, 52, 29, 0x1FFC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42714CAA, 60.324867f), 24, 52, 29, 0x206C), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42714CAA, 60.324867f), 24, 52, 29, 0x20DC), CS_MISC_LIST(1), CS_MISC(CS_MISC_STOP_CUTSCENE, 95, 96, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFDF, 0x00000019, 0x00000000, 0xFFFFFFDF, 0x00000019, 0x00000000, 0x00000000, 0x00000000), CS_END(), 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 7f4d6aef4b..9568574a4b 100644 --- a/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.c +++ b/src/overlays/actors/ovl_Demo_Kekkai/z_demo_kekkai.c @@ -46,8 +46,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x20000000, 0x07, 0x04 }, { 0x00002000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 680, 220, 120, { 0, 0, 0 } }, diff --git a/src/overlays/actors/ovl_Demo_Sa/z_demo_sa.c b/src/overlays/actors/ovl_Demo_Sa/z_demo_sa.c index 0827ae7122..ba19c5c25d 100644 --- a/src/overlays/actors/ovl_Demo_Sa/z_demo_sa.c +++ b/src/overlays/actors/ovl_Demo_Sa/z_demo_sa.c @@ -71,7 +71,6 @@ static void* sMouthTextures[] = { static u32 D_80990108 = 0; -#pragma asmproc recurse #include "z_demo_sa_cutscene_data.inc.c" static DemoSaActionFunc sActionFuncs[] = { diff --git a/src/overlays/actors/ovl_Demo_Sa/z_demo_sa_cutscene_data.inc.c b/src/overlays/actors/ovl_Demo_Sa/z_demo_sa_cutscene_data.inc.c index 5fe48c7098..4f0e530ac3 100644 --- a/src/overlays/actors/ovl_Demo_Sa/z_demo_sa_cutscene_data.inc.c +++ b/src/overlays/actors/ovl_Demo_Sa/z_demo_sa_cutscene_data.inc.c @@ -7,26 +7,26 @@ static CutsceneData D_8099010C[] = { CS_UNK_DATA_LIST(0x00000020, 1), CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0xFFFFFFFC, 0x00000002, 0x00000000, 0xFFFFFFFC, 0x00000002, 0x00000000, 0x00000000, 0x00000000), CS_ACTOR_CUE_LIST(31, 5), - CS_ACTOR_CUE(0x0001, 0, 612, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0002, 612, 613, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0004, 613, 684, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0002, 684, 732, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 82, 0, 0.0f, -2.7916667f, 0.0f), - CS_ACTOR_CUE(0x0003, 732, 2912, 0x0000, 0x0000, 0x0000, 0, 82, 0, 0, 82, 0, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 612, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0002, 612, 613, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0004, 613, 684, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0002, 684, 732, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 82, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0xC032AAAB, -2.7916667f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0003, 732, 2912, 0x0000, 0x0000, 0x0000, 0, 82, 0, 0, 82, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_PLAYER_CUE_LIST(3), - CS_PLAYER_CUE(PLAYER_CUEID_13, 0, 261, 0x0000, 0x0000, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 0.0f), - CS_PLAYER_CUE(PLAYER_CUEID_5, 261, 600, 0x0000, 0x9555, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 0.0f), - CS_PLAYER_CUE(PLAYER_CUEID_19, 600, 1243, 0x0000, 0x1555, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 0.0f), + CS_PLAYER_CUE(PLAYER_CUEID_13, 0, 261, 0x0000, 0x0000, 0x0000, 0, 6, 0, 0, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_PLAYER_CUE(PLAYER_CUEID_5, 261, 600, 0x0000, 0x9555, 0x0000, 0, 6, 0, 0, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_PLAYER_CUE(PLAYER_CUEID_19, 600, 1243, 0x0000, 0x1555, 0x0000, 0, 6, 0, 0, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_ACTOR_CUE_LIST(43, 3), - CS_ACTOR_CUE(0x0001, 0, 165, 0x0000, 0x0000, 0x0000, -98, 6, -169, -98, 6, -169, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0002, 165, 466, 0x0000, 0x0000, 0x0000, -98, 6, -169, -98, 6, -169, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0003, 466, 3001, 0x0000, 0x0000, 0x0000, -98, 6, -169, -98, 6, -169, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 165, 0x0000, 0x0000, 0x0000, -98, 6, -169, -98, 6, -169, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0002, 165, 466, 0x0000, 0x0000, 0x0000, -98, 6, -169, -98, 6, -169, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0003, 466, 3001, 0x0000, 0x0000, 0x0000, -98, 6, -169, -98, 6, -169, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_TRANSITION(CS_TRANS_GRAY_FILL_IN, 590, 607), CS_TRANSITION(CS_TRANS_GRAY_FILL_OUT, 617, 647), CS_TRANSITION(CS_TRANS_GRAY_FILL_IN, 875, 905), CS_ACTOR_CUE_LIST(49, 1), - CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, -98, 0, 98, -98, 0, 98, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, -98, 0, 98, -98, 0, 98, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_ACTOR_CUE_LIST(62, 1), - CS_ACTOR_CUE(0x0004, 0, 3000, 0x0000, 0x0000, 0x0000, -35, 97, -60, -35, 97, -60, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0004, 0, 3000, 0x0000, 0x0000, 0x0000, -35, 97, -60, -35, 97, -60, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_DESTINATION(CS_DEST_KOKIRI_FOREST_FROM_CHAMBER_OF_SAGES, 974, 1050), CS_TEXT_LIST(10), CS_TEXT_NONE(0, 303), @@ -44,141 +44,141 @@ static CutsceneData D_8099010C[] = { CS_FADE_OUT_SEQ_LIST(1), CS_FADE_OUT_SEQ(CS_FADE_OUT_BGM_MAIN, 550, 600, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC4, 0x00000066, 0x00000000, 0xFFFFFFC4, 0x00000066), CS_CAM_EYE_SPLINE(0, 1241), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 170.1984f, 159, 2758, 43, 0x0072), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 170.1984f, 159, 2758, 43, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 170.1984f, 159, 2409, 43, 0x002F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 170.1984f, 159, 202, 43, 0x0073), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 158, 222, 42, 0x0061), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 158, 149, 42, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 158, 111, 42, 0x006D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 158, 111, 42, 0x0065), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 158, 111, 42, 0x0061), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.399944f, 158, 111, 42, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x432A32CA, 170.1984f), 159, 2758, 43, 0x0072), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x432A32CA, 170.1984f), 159, 2758, 43, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x432A32CA, 170.1984f), 159, 2409, 43, 0x002F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x432A32CA, 170.1984f), 159, 202, 43, 0x0073), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 158, 222, 42, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 158, 149, 42, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 158, 111, 42, 0x006D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 158, 111, 42, 0x0065), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 158, 111, 42, 0x0061), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 158, 111, 42, 0x0061), CS_CAM_EYE_SPLINE(190, 391), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.99993f, -91, 18, -158, 0x0072), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.99993f, -90, 17, -157, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.99993f, -90, 31, -157, 0x002F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.99993f, -90, 37, -157, 0x0073), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.99993f, -90, 37, -157, 0x0061), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.99993f, -90, 37, -157, 0x006F), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 40.99993f, -90, 37, -157, 0x006D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFEE, 40.99993f), -91, 18, -158, 0x0072), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFEE, 40.99993f), -90, 17, -157, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFEE, 40.99993f), -90, 31, -157, 0x002F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFEE, 40.99993f), -90, 37, -157, 0x0073), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFEE, 40.99993f), -90, 37, -157, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4223FFEE, 40.99993f), -90, 37, -157, 0x006F), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4223FFEE, 40.99993f), -90, 37, -157, 0x006D), CS_CAM_EYE_SPLINE(263, 1354), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 24.399864f, 7, 97, 127, 0x0072), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 24.399864f, 7, 97, 127, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 24.399864f, 7, 97, 127, 0x002F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 24.399864f, 7, 97, 127, 0x0073), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 24.399864f, 7, 97, 127, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41C332EC, 24.399864f), 7, 97, 127, 0x0072), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41C332EC, 24.399864f), 7, 97, 127, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41C332EC, 24.399864f), 7, 97, 127, 0x002F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41C332EC, 24.399864f), 7, 97, 127, 0x0073), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x41C332EC, 24.399864f), 7, 97, 127, 0x0061), CS_CAM_EYE_SPLINE(333, 1424), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -279, 103, 68, 0x0072), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -279, 103, 68, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -279, 103, 68, 0x002F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -279, 103, 68, 0x0073), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.399944f, -279, 103, 68, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -279, 103, 68, 0x0072), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -279, 103, 68, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -279, 103, 68, 0x002F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -279, 103, 68, 0x0073), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -279, 103, 68, 0x0061), CS_CAM_EYE_SPLINE(403, 1494), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.39995f, -52, 35, -83, 0x0072), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.39995f, -52, 35, -83, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.39995f, -52, 35, -83, 0x002F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.39995f, -52, 35, -83, 0x0073), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.39995f, -52, 35, -83, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998C, 45.39995f), -52, 35, -83, 0x0072), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998C, 45.39995f), -52, 35, -83, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998C, 45.39995f), -52, 35, -83, 0x002F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998C, 45.39995f), -52, 35, -83, 0x0073), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4235998C, 45.39995f), -52, 35, -83, 0x0061), CS_CAM_EYE_SPLINE(473, 1716), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.39995f, -65, 61, -111, 0x0072), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.39995f, -65, 61, -111, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.39995f, -51, 74, -86, 0x002F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600006f, 0, 136, 11, 0x0073), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600006f, 386, 514, 736, 0x0061), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 80.399765f, 579, 156, 1099, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 80.399765f, 579, 156, 1099, 0x006D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 50.599964f, 579, 156, 1099, 0x0065), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 50.599964f, 579, 156, 1099, 0x0061), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 50.599964f, 579, 156, 1099, 0x0061), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 50.599964f, 579, 156, 1099, 0x0072), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998C, 45.39995f), -65, 61, -111, 0x0072), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998C, 45.39995f), -65, 61, -111, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998C, 45.39995f), -51, 74, -86, 0x002F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726668, 60.600006f), 0, 136, 11, 0x0073), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726668, 60.600006f), 386, 514, 736, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42A0CCAE, 80.399765f), 579, 156, 1099, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42A0CCAE, 80.399765f), 579, 156, 1099, 0x006D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x424A665D, 50.599964f), 579, 156, 1099, 0x0065), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x424A665D, 50.599964f), 579, 156, 1099, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x424A665D, 50.599964f), 579, 156, 1099, 0x0061), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x424A665D, 50.599964f), 579, 156, 1099, 0x0072), CS_CAM_EYE_SPLINE(609, 951), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 13, 854, 2, 0x0072), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 9, 853, 5, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -3, 853, 5, 0x002F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -9, 853, -6, 0x0073), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -2, 852, -17, 0x0061), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 9, 852, -17, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 16, 852, -6, 0x006D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 9, 852, 5, 0x0065), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.0f, -3, 851, 5, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 13, 854, 2, 0x0072), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 9, 853, 5, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -3, 853, 5, 0x002F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -9, 853, -6, 0x0073), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -2, 852, -17, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 9, 852, -17, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 16, 852, -6, 0x006D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 9, 852, 5, 0x0065), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -3, 851, 5, 0x0061), CS_CAM_EYE_SPLINE_REL_TO_PLAYER(685, 1866), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 33, -27, 0x0072), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 33, -27, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 68, -26, 0x002F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x0073), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x0061), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x006D), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 68.599945f, 0, 103, -26, 0x0065), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 33, -27, 0x0072), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 33, -27, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 68, -26, 0x002F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x0073), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x006D), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x0065), CS_CAM_AT_SPLINE(0, 1270), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 170.1984f, 154, 2596, 41, 0x0072), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 170.1984f, 154, 2596, 41, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 170.1984f, 154, 2248, 41, 0x002F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 170.1984f, 154, 42, 41, 0x0073), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.2f, 82, 94, 23, 0x0061), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 50.999966f, 33, 79, 0, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, 30, 62, -14, 0x006D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 45.399944f, 30, 62, -14, 0x0065), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, 30, 62, -14, 0x0061), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.399944f, 31, 62, -14, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x432A32CA, 170.1984f), 154, 2596, 41, 0x0072), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x432A32CA, 170.1984f), 154, 2596, 41, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x432A32CA, 170.1984f), 154, 2248, 41, 0x002F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x432A32CA, 170.1984f), 154, 42, 41, 0x0073), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4270CCCD, 60.2f), 82, 94, 23, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x424BFFF7, 50.999966f), 33, 79, 0, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), 30, 62, -14, 0x006D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4235998B, 45.399944f), 30, 62, -14, 0x0065), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), 30, 62, -14, 0x0061), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), 31, 62, -14, 0x0061), CS_CAM_AT_SPLINE(190, 420), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 40.99993f, 13, 42, 20, 0x0072), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.99993f, 12, 47, 18, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.99993f, 11, 50, 20, 0x002F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.99993f, 11, 53, 20, 0x0073), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.99993f, 11, 53, 20, 0x0061), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.99993f, 11, 53, 20, 0x006F), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 40.99993f, 11, 53, 20, 0x006D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x4223FFEE, 40.99993f), 13, 42, 20, 0x0072), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFEE, 40.99993f), 12, 47, 18, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFEE, 40.99993f), 11, 50, 20, 0x002F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFEE, 40.99993f), 11, 53, 20, 0x0073), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFEE, 40.99993f), 11, 53, 20, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4223FFEE, 40.99993f), 11, 53, 20, 0x006F), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4223FFEE, 40.99993f), 11, 53, 20, 0x006D), CS_CAM_AT_SPLINE(263, 1383), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 24.399864f, -42, 17, -150, 0x0072), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 24.399864f, -42, 17, -150, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 24.399864f, -42, 17, -150, 0x002F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 24.399864f, -42, 17, -150, 0x0073), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 24.399864f, -42, 17, -150, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x41C332EC, 24.399864f), -42, 17, -150, 0x0072), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x41C332EC, 24.399864f), -42, 17, -150, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x41C332EC, 24.399864f), -42, 17, -150, 0x002F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x41C332EC, 24.399864f), -42, 17, -150, 0x0073), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x41C332EC, 24.399864f), -42, 17, -150, 0x0061), CS_CAM_AT_SPLINE(333, 1453), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x01, 30, 45.199944f, -26, 13, -85, 0x0072), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, -26, 13, -85, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 45.399944f, -26, 13, -85, 0x002F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, -26, 13, -85, 0x0073), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.399944f, -26, 13, -85, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x01, 30, CS_FLOAT(0x4234CCBE, 45.199944f), -26, 13, -85, 0x0072), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -26, 13, -85, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4235998B, 45.399944f), -26, 13, -85, 0x002F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -26, 13, -85, 0x0073), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -26, 13, -85, 0x0061), CS_CAM_AT_SPLINE(403, 1523), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 30.799892f, -226, 10, -419, 0x0072), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 30.999893f, -226, 10, -419, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 35.59991f, -226, 10, -419, 0x002F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.39993f, -226, 10, -418, 0x0073), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.39995f, -226, 10, -418, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x41F6662E, 30.799892f), -226, 10, -419, 0x0072), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x41F7FFC8, 30.999893f), -226, 10, -419, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x420E664F, 35.59991f), -226, 10, -419, 0x002F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42219987, 40.39993f), -226, 10, -418, 0x0073), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4235998C, 45.39995f), -226, 10, -418, 0x0061), CS_CAM_AT_SPLINE(473, 1745), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.39995f, -218, -88, -396, 0x0072), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.39995f, -218, -88, -396, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.39995f, -204, -75, -370, 0x002F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 65.399994f, -149, -10, -269, 0x0073), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 25, 70.79991f, 287, 239, 551, 0x0061), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 80.399765f, 570, 493, 1083, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 50.399963f, 578, 492, 1097, 0x006D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 50.599964f, 578, 492, 1097, 0x0065), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 50.599964f, 578, 491, 1097, 0x0061), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 27, 50.599964f, 578, 491, 1097, 0x0061), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 50.599964f, 578, 491, 1097, 0x0072), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998C, 45.39995f), -218, -88, -396, 0x0072), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998C, 45.39995f), -218, -88, -396, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998C, 45.39995f), -204, -75, -370, 0x002F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4282CCCC, 65.399994f), -149, -10, -269, 0x0073), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 25, CS_FLOAT(0x428D998E, 70.79991f), 287, 239, 551, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42A0CCAE, 80.399765f), 570, 493, 1083, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42499990, 50.399963f), 578, 492, 1097, 0x006D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x424A665D, 50.599964f), 578, 492, 1097, 0x0065), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x424A665D, 50.599964f), 578, 491, 1097, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 27, CS_FLOAT(0x424A665D, 50.599964f), 578, 491, 1097, 0x0061), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x424A665D, 50.599964f), 578, 491, 1097, 0x0072), CS_CAM_AT_SPLINE(609, 1000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 60.0f, 3, 6, -6, 0x0072), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, 60.0f, 3, 6, -6, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 50.999966f, 3, 6, -6, 0x002F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 20.59985f, 3, 6, -6, 0x0073), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 51, 10.799838f, 3, 6, -6, 0x0061), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 10.399838f, 3, 6, -6, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 10.399838f, 3, 6, -6, 0x006D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 10.199839f, 3, 6, -6, 0x0065), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 50, 10.999838f, 3, 6, -6, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x42700000, 60.0f), 3, 6, -6, 0x0072), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, CS_FLOAT(0x42700000, 60.0f), 3, 6, -6, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x424BFFF7, 50.999966f), 3, 6, -6, 0x002F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x41A4CC7E, 20.59985f), 3, 6, -6, 0x0073), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 51, CS_FLOAT(0x412CCC23, 10.799838f), 3, 6, -6, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x412665BD, 10.399838f), 3, 6, -6, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x412665BD, 10.399838f), 3, 6, -6, 0x006D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x4123328A, 10.199839f), 3, 6, -6, 0x0065), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 50, CS_FLOAT(0x412FFF56, 10.999838f), 3, 6, -6, 0x0061), CS_CAM_AT_SPLINE_REL_TO_PLAYER(685, 1895), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 100, 5, 0x0072), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 101, 6, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 1, 99, 41, 0x002F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x0073), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x0061), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 68.599945f, 0, 42, 16, 0x006F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x006D), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 68.599945f, 0, 42, 16, 0x0065), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 100, 5, 0x0072), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 101, 6, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 1, 99, 41, 0x002F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x0073), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x0061), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x006F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x006D), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x0065), CS_END(), }; // clang-format on 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 5482623bd6..5487a20b4c 100644 --- a/src/overlays/actors/ovl_Door_Ana/z_door_ana.c +++ b/src/overlays/actors/ovl_Door_Ana/z_door_ana.c @@ -43,8 +43,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK2, { 0x00000000, 0x00, 0x00 }, { 0x00000048, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 50, 10, 0, { 0 } }, 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 d9b03e1694..26630ef776 100644 --- a/src/overlays/actors/ovl_Door_Killer/z_door_killer.c +++ b/src/overlays/actors/ovl_Door_Killer/z_door_killer.c @@ -54,8 +54,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0x0001FFEE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_NONE, }, { 20, 100, 0, { 0, 0, 0 } }, @@ -67,8 +67,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[1] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 0, { { 0, 0, 0 }, 100 }, 100 }, @@ -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.elem.acHitElem->toucher.dmgFlags & (DMG_RANGED | DMG_SLASH | DMG_DEKU_STICK)) { + if (this->colliderCylinder.elem.acHitElem->atDmgInfo.dmgFlags & (DMG_RANGED | DMG_SLASH | DMG_DEKU_STICK)) { this->timer = 16; this->actionFunc = DoorKiller_Wobble; - } else if (this->colliderCylinder.elem.acHitElem->toucher.dmgFlags & (DMG_HAMMER_SWING | DMG_EXPLOSIVE)) { + } else if (this->colliderCylinder.elem.acHitElem->atDmgInfo.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 9637be78c4..4926bdc7b8 100644 --- a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c +++ b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c @@ -896,9 +896,7 @@ void DoorShutter_PhantomGanonBarsRaise(DoorShutter* this, PlayState* play) { f32 targetOffsetY; PRINTF("FHG SAKU START !!\n"); - if (this->isActive != 0) { - this->isActive--; - } + DECR(this->isActive); targetOffsetY = (this->isActive % 2 != 0) ? -3.0f : 0.0f; Math_SmoothStepToF(&this->dyna.actor.world.pos.y, -34.0f + targetOffsetY, 1.0f, 20.0f, 0.0f); PRINTF("FHG SAKU END !!\n"); @@ -975,6 +973,9 @@ s32 DoorShutter_ShouldDraw(DoorShutter* this, PlayState* play) { void DoorShutter_Draw(Actor* thisx, PlayState* play) { DoorShutter* this = (DoorShutter*)thisx; + if (1) {} + if (1) {} + //! @bug This actor is not fully initialized until the required object dependency is loaded. //! In most cases, the check for objectSlot to equal requiredObjectSlot prevents the actor //! from drawing until initialization is complete. However if the required object is the same as the 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 de26bf1140..bed0a0be6f 100644 --- a/src/overlays/actors/ovl_En_Am/z_en_am.c +++ b/src/overlays/actors/ovl_En_Am/z_en_am.c @@ -64,8 +64,8 @@ static ColliderCylinderInit sHurtCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 15, 70, 0, { 0, 0, 0 } }, @@ -84,8 +84,8 @@ static ColliderCylinderInit sBlockCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00400106, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 15, 70, 0, { 0, 0, 0 } }, @@ -104,8 +104,8 @@ static ColliderQuadInit sQuadInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, 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 bf9f2fe92a..1e9dbb9333 100644 --- a/src/overlays/actors/ovl_En_Ani/z_en_ani.c +++ b/src/overlays/actors/ovl_En_Ani/z_en_ani.c @@ -51,8 +51,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 30, 40, 0, { 0 } }, 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 b8280d1a9a..a370e6b36a 100644 --- a/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c +++ b/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c @@ -50,8 +50,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 29, 103, 0, { 0, 0, 0 } }, 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 897d216677..19851e173b 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 @@ -44,8 +44,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_NONE, }, { 0, 0, 0, { 0, 0, 0 } }, @@ -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.elem.toucher.dmgFlags = DMG_DEKU_STICK; + this->cylinder.elem.atDmgInfo.dmgFlags = DMG_DEKU_STICK; this->unk_15A = 30; this->actor.params = 1; this->actor.velocity.x *= -1.0f; 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 39b86fc6b3..75aa432f7f 100644 --- a/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c +++ b/src/overlays/actors/ovl_En_Arrow/z_en_arrow.c @@ -44,8 +44,8 @@ static ColliderQuadInit sColliderInit = { ELEMTYPE_UNK2, { 0x00000020, 0x00, 0x01 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_NEAREST | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_NEAREST | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, @@ -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.elem.toucherFlags &= ~TOUCH_SFX_MASK; - this->collider.elem.toucherFlags |= TOUCH_SFX_NORMAL; + this->collider.elem.atElemFlags &= ~ATELEM_SFX_MASK; + this->collider.elem.atElemFlags |= ATELEM_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.elem.toucher.dmgFlags = dmgFlags[this->actor.params]; - LOG_HEX("this->at_info.cl_elem.at_btl_info.at_type", this->collider.elem.toucher.dmgFlags, + this->collider.elem.atDmgInfo.dmgFlags = dmgFlags[this->actor.params]; + LOG_HEX("this->at_info.cl_elem.at_btl_info.at_type", this->collider.elem.atDmgInfo.dmgFlags, "../z_en_arrow.c", 707); } } @@ -298,10 +298,10 @@ void EnArrow_Fly(EnArrow* this, PlayState* play) { this->hitFlags |= 1; this->hitFlags |= 2; - 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; + if (this->collider.elem.atHitElem->acElemFlags & ACELEM_HIT) { + this->actor.world.pos.x = this->collider.elem.atHitElem->acDmgInfo.hitPos.x; + this->actor.world.pos.y = this->collider.elem.atHitElem->acDmgInfo.hitPos.y; + this->actor.world.pos.z = this->collider.elem.atHitElem->acDmgInfo.hitPos.z; } func_809B3CEC(play, this); 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 03528ef5e3..97fd430c4b 100644 --- a/src/overlays/actors/ovl_En_Ba/z_en_ba.c +++ b/src/overlays/actors/ovl_En_Ba/z_en_ba.c @@ -43,8 +43,8 @@ static ColliderJntSphElementInit sJntSphElementInit[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000010, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 8, { { 0, 0, 0 }, 20 }, 100 }, @@ -54,8 +54,8 @@ static ColliderJntSphElementInit sJntSphElementInit[2] = { ELEMTYPE_UNK0, { 0x20000000, 0x00, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { 13, { { 0, 0, 0 }, 25 }, 100 }, 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 7ff5296e23..63875b009c 100644 --- a/src/overlays/actors/ovl_En_Bb/z_en_bb.c +++ b/src/overlays/actors/ovl_En_Bb/z_en_bb.c @@ -213,8 +213,8 @@ static ColliderJntSphElementInit sJntSphElementInit[1] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 0, { { 0, -120, 0 }, 4 }, 300 }, @@ -331,9 +331,9 @@ void EnBb_Init(Actor* thisx, PlayState* play) { this->timer = 0; this->flameScaleY = 80.0f; this->flameScaleX = 100.0f; - 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->collider.elements[0].base.atElemFlags = ATELEM_ON | ATELEM_SFX_HARD; + this->collider.elements[0].base.atDmgInfo.dmgFlags = DMG_DEFAULT; + this->collider.elements[0].base.atDmgInfo.damage = 8; this->bobSize = this->actionState * 20.0f; this->flamePrimAlpha = 255; this->moveMode = BBMOVE_NORMAL; @@ -351,7 +351,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].base.toucher.effect = 1; + this->collider.elements[0].base.atDmgInfo.effect = 1; EnBb_SetupRed(play, this); break; case ENBB_WHITE: @@ -1155,7 +1155,7 @@ void EnBb_CollisionCheck(EnBb* this, PlayState* play) { Actor_SetDropFlag(&this->actor, &this->collider.elements[0].base, false); switch (this->dmgEffect) { case 7: - this->actor.freezeTimer = this->collider.elements[0].base.acHitElem->toucher.damage; + this->actor.freezeTimer = this->collider.elements[0].base.acHitElem->atDmgInfo.damage; FALLTHROUGH; case 5: this->fireIceTimer = 0x30; @@ -1165,7 +1165,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].base.acHitElem->toucher.damage; + this->actor.freezeTimer = this->collider.elements[0].base.acHitElem->atDmgInfo.damage; break; case 8: case 9: 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 b982fa7ddb..23c7bb6db5 100644 --- a/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c +++ b/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c @@ -48,8 +48,8 @@ static ColliderJntSphElementInit sJntSphElementInit[1] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_HARD, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_HARD, + ACELEM_ON, OCELEM_ON, }, { 1, { { 0, 45, -30 }, 75 }, 100 }, @@ -82,8 +82,8 @@ static ColliderCylinderInit sCylinderInit[] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x08 }, { 0xFFCFFFE7, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_HARD, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_HARD, + ACELEM_ON, OCELEM_ON, }, { 50, 100, 0, { 30, 0, 12 } } }, @@ -99,8 +99,8 @@ static ColliderCylinderInit sCylinderInit[] = { ELEMTYPE_UNK1, { 0x20000000, 0x00, 0x08 }, { 0xFFCFFFE7, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_HARD, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_HARD, + ACELEM_ON, OCELEM_ON, }, { 50, 100, 0, { -30, 0, 12 } } }, @@ -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[0].base.acHitElem->toucher.dmgFlags & DMG_DEKU_NUT) { + if (this->collider.elements[0].base.acHitElem->atDmgInfo.dmgFlags & DMG_DEKU_NUT) { this->unk_195 = true; this->unk_196 = 20; } else { 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 6410634593..b7b4d5d760 100644 --- a/src/overlays/actors/ovl_En_Bili/z_en_bili.c +++ b/src/overlays/actors/ovl_En_Bili/z_en_bili.c @@ -53,8 +53,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x03, 0x08 }, { 0xFFCFFFFF, 0x01, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_ON, OCELEM_ON, }, { 9, 28, -20, { 0, 0, 0 } }, @@ -141,7 +141,7 @@ void EnBili_Destroy(Actor* thisx, PlayState* play) { void EnBili_SetupFloatIdle(EnBili* this) { this->actor.speed = 0.7f; - this->collider.elem.bumper.effect = 1; // Shock? + this->collider.elem.acDmgInfo.effect = 1; // Shock? this->timer = 32; this->actor.home.pos.y = this->actor.world.pos.y; this->actor.gravity = 0.0f; @@ -237,7 +237,7 @@ void EnBili_SetupDie(EnBili* this) { */ void EnBili_SetupStunned(EnBili* this) { this->timer = 80; - this->collider.elem.bumper.effect = 0; + this->collider.elem.acDmgInfo.effect = 0; this->actor.gravity = -1.0f; this->actor.speed = 0.0f; Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 150, COLORFILTER_BUFFLAG_XLU, 80); @@ -586,7 +586,7 @@ void EnBili_UpdateDamage(EnBili* this, PlayState* play) { EnBili_SetupBurnt(this); } - if (this->collider.elem.acHitElem->toucher.dmgFlags & DMG_ARROW) { + if (this->collider.elem.acHitElem->atDmgInfo.dmgFlags & DMG_ARROW) { this->actor.flags |= ACTOR_FLAG_4; } } 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 c95cfed5a5..7022780554 100644 --- a/src/overlays/actors/ovl_En_Bom/z_en_bom.c +++ b/src/overlays/actors/ovl_En_Bom/z_en_bom.c @@ -43,8 +43,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK2, { 0x00000000, 0x00, 0x00 }, { 0x0003F828, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 6, 11, 14, { 0, 0, 0 } }, @@ -56,8 +56,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK0, { 0x00000008, 0x00, 0x08 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 0, { { 0, 0, 0 }, 0 }, 100 }, @@ -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].base.toucher.damage += (thisx->shape.rot.z & 0xFF00) >> 8; + this->explosionColliderItems[0].base.atDmgInfo.damage += (thisx->shape.rot.z & 0xFF00) >> 8; thisx->shape.rot.z &= 0xFF; if (thisx->shape.rot.z & 0x80) { @@ -241,7 +241,7 @@ void EnBom_Update(Actor* thisx, PlayState* play2) { } if ((thisx->xzDistToPlayer >= 20.0f) || (ABS(thisx->yDistToPlayer) >= 80.0f)) { - this->bumpOn = true; + this->colliderSetOC = true; } this->actionFunc(this, play); @@ -333,8 +333,8 @@ void EnBom_Update(Actor* thisx, PlayState* play2) { if (thisx->params <= BOMB_BODY) { Collider_UpdateCylinder(thisx, &this->bombCollider); - // if link is not holding the bomb anymore and bump conditions are met, subscribe to OC - if (!Actor_HasParent(thisx, play) && this->bumpOn) { + // if link is not holding the bomb anymore and conditions for OC are met, subscribe to OC + if (!Actor_HasParent(thisx, play) && this->colliderSetOC) { CollisionCheck_SetOC(play, &play->colChkCtx, &this->bombCollider.base); } diff --git a/src/overlays/actors/ovl_En_Bom/z_en_bom.h b/src/overlays/actors/ovl_En_Bom/z_en_bom.h index 7399d6edd3..aebadfa064 100644 --- a/src/overlays/actors/ovl_En_Bom/z_en_bom.h +++ b/src/overlays/actors/ovl_En_Bom/z_en_bom.h @@ -16,7 +16,7 @@ typedef struct EnBom { /* 0x01F8 */ s16 timer; /* 0x01FA */ s16 flashSpeedScale; /* 0x01FC */ f32 flashIntensity; - /* 0x0200 */ u8 bumpOn; + /* 0x0200 */ u8 colliderSetOC; /* 0x0204 */ EnBomActionFunc actionFunc; } EnBom; // size = 0x0208 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 df24a602ee..5af68e436d 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 @@ -33,8 +33,8 @@ static ColliderJntSphElementInit sJntSphElemInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 1, { { 0, 0, 0 }, 12 }, 100 }, 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 d091fbe3a0..f4864d5307 100644 --- a/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c +++ b/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c @@ -46,8 +46,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK2, { 0x00000000, 0x00, 0x00 }, { 0x0003F828, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 9, 18, 10, { 0, 0, 0 } }, @@ -59,8 +59,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK0, { 0x00000008, 0x00, 0x08 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 0, { { 0, 0, 0 }, 0 }, 100 }, @@ -121,7 +121,7 @@ void EnBombf_Init(Actor* thisx, PlayState* play) { EnBombf_SetupAction(this, EnBombf_Move); } else { thisx->colChkInfo.mass = MASS_IMMOVABLE; - this->bumpOn = true; + this->colliderSetOC = true; this->flowerBombScale = 1.0f; EnBombf_SetupGrowBomb(this, thisx->params); } @@ -320,13 +320,13 @@ void EnBombf_Update(Actor* thisx, PlayState* play) { s32 pad[2]; EnBombf* this = (EnBombf*)thisx; - if ((this->isFuseEnabled) && (this->timer != 0)) { + if (this->isFuseEnabled && (this->timer != 0)) { this->timer--; } - if ((!this->bumpOn) && (!Actor_HasParent(thisx, play)) && + if (!this->colliderSetOC && !Actor_HasParent(thisx, play) && ((thisx->xzDistToPlayer >= 20.0f) || (ABS(thisx->yDistToPlayer) >= 80.0f))) { - this->bumpOn = true; + this->colliderSetOC = true; } this->actionFunc(this, play); @@ -444,7 +444,7 @@ void EnBombf_Update(Actor* thisx, PlayState* play) { Collider_UpdateCylinder(thisx, &this->bombCollider); - if ((this->flowerBombScale >= 1.0f) && (this->bumpOn)) { + if ((this->flowerBombScale >= 1.0f) && this->colliderSetOC) { CollisionCheck_SetOC(play, &play->colChkCtx, &this->bombCollider.base); } diff --git a/src/overlays/actors/ovl_En_Bombf/z_en_bombf.h b/src/overlays/actors/ovl_En_Bombf/z_en_bombf.h index 02d10b7c45..226dfebefb 100644 --- a/src/overlays/actors/ovl_En_Bombf/z_en_bombf.h +++ b/src/overlays/actors/ovl_En_Bombf/z_en_bombf.h @@ -16,7 +16,7 @@ typedef struct EnBombf { /* 0x01F8 */ s16 timer; /* 0x01FC */ EnBombfActionFunc actionFunc; /* 0x0200 */ s32 isFuseEnabled; // enables the ability to ignite and tick down to explode - /* 0x0204 */ u8 bumpOn; + /* 0x0204 */ u8 colliderSetOC; /* 0x0206 */ s16 flashSpeedScale; /* 0x0208 */ f32 flashIntensity; /* 0x020C */ f32 flowerBombScale; 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 a92aa86d5e..e5697f91c6 100644 --- a/src/overlays/actors/ovl_En_Boom/z_en_boom.c +++ b/src/overlays/actors/ovl_En_Boom/z_en_boom.c @@ -41,8 +41,8 @@ static ColliderQuadInit sQuadInit = { ELEMTYPE_UNK2, { 0x00000010, 0x00, 0x01 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_NEAREST | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_NEAREST | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, 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 64aa97e4d0..99e9775ea4 100644 --- a/src/overlays/actors/ovl_En_Brob/z_en_brob.c +++ b/src/overlays/actors/ovl_En_Brob/z_en_brob.c @@ -47,8 +47,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK1, { 0xFFCFFFFF, 0x03, 0x08 }, { 0xFFCFFFFF, 0x01, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_ON, OCELEM_ON, }, { 8000, 11000, -5000, { 0, 0, 0 } }, @@ -263,8 +263,8 @@ 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].elem.acHitElem->toucher.dmgFlags & DMG_BOOMERANG)) || - (acHits[1] && (this->colliders[1].elem.acHitElem->toucher.dmgFlags & DMG_BOOMERANG))) { + if ((acHits[0] && (this->colliders[0].elem.acHitElem->atDmgInfo.dmgFlags & DMG_BOOMERANG)) || + (acHits[1] && (this->colliders[1].elem.acHitElem->atDmgInfo.dmgFlags & DMG_BOOMERANG))) { for (i = 0; i < 2; i++) { this->colliders[i].base.atFlags &= ~(AT_HIT | AT_BOUNCED); @@ -273,8 +273,8 @@ void EnBrob_Update(Actor* thisx, PlayState* play2) { EnBrob_SetupStunned(this); } else if ((this->colliders[0].base.atFlags & AT_HIT) || (this->colliders[1].base.atFlags & AT_HIT) || - (acHits[0] && (this->colliders[0].elem.acHitElem->toucher.dmgFlags & DMG_SLASH_KOKIRI)) || - (acHits[1] && (this->colliders[1].elem.acHitElem->toucher.dmgFlags & DMG_SLASH_KOKIRI))) { + (acHits[0] && (this->colliders[0].elem.acHitElem->atDmgInfo.dmgFlags & DMG_SLASH_KOKIRI)) || + (acHits[1] && (this->colliders[1].elem.acHitElem->atDmgInfo.dmgFlags & DMG_SLASH_KOKIRI))) { if (this->actionFunc == EnBrob_MoveUp && !(this->colliders[0].base.atFlags & AT_BOUNCED) && !(this->colliders[1].base.atFlags & AT_BOUNCED)) { 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 d8082a7973..902520173b 100644 --- a/src/overlays/actors/ovl_En_Bubble/z_en_bubble.c +++ b/src/overlays/actors/ovl_En_Bubble/z_en_bubble.c @@ -30,8 +30,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x04 }, { 0xFFCFD753, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 16 }, 100 }, @@ -41,8 +41,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00002824, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_NO_AT_INFO | BUMP_NO_DAMAGE | BUMP_NO_SWORD_SFX | BUMP_NO_HITMARK, + ATELEM_NONE, + ACELEM_ON | ACELEM_NO_AT_INFO | ACELEM_NO_DAMAGE | ACELEM_NO_SWORD_SFX | ACELEM_NO_HITMARK, OCELEM_NONE, }, { 0, { { 0, 0, 0 }, 16 }, 100 }, @@ -97,10 +97,10 @@ void EnBubble_SetDimensions(EnBubble* this, f32 dim) { u32 func_809CBCBC(EnBubble* this) { ColliderElement* elem = &this->colliderSphere.elements[0].base; - elem->toucher.dmgFlags = DMG_EXPLOSIVE; - elem->toucher.effect = 0; - elem->toucher.damage = 4; - elem->toucherFlags = TOUCH_ON; + elem->atDmgInfo.dmgFlags = DMG_EXPLOSIVE; + elem->atDmgInfo.effect = 0; + elem->atDmgInfo.damage = 4; + elem->atElemFlags = ATELEM_ON; this->actor.velocity.y = 0.0f; return 6; } @@ -112,7 +112,7 @@ u32 func_809CBCEC(EnBubble* this) { } void EnBubble_DamagePlayer(EnBubble* this, PlayState* play) { - s32 damage = -this->colliderSphere.elements[0].base.toucher.damage; + s32 damage = -this->colliderSphere.elements[0].base.atDmgInfo.damage; play->damagePlayer(play, damage); func_8002F7A0(play, &this->actor, 6.0f, this->actor.yawTowardsPlayer, 6.0f); @@ -196,7 +196,7 @@ void EnBubble_Vec3fNormalize(Vec3f* vec) { void EnBubble_Fly(EnBubble* this, PlayState* play) { CollisionPoly* poly; - Actor* bumpActor; + Actor* attackerActor; Vec3f sp84; Vec3f sp78; Vec3f sp6C; @@ -206,21 +206,21 @@ void EnBubble_Fly(EnBubble* this, PlayState* play) { s32 bgId; u8 bounceCount; - if (this->colliderSphere.elements[1].base.bumperFlags & BUMP_HIT) { - bumpActor = this->colliderSphere.base.ac; - this->normalizedBumpVelocity = bumpActor->velocity; - EnBubble_Vec3fNormalize(&this->normalizedBumpVelocity); - this->velocityFromBump.x += (this->normalizedBumpVelocity.x * 3.0f); - this->velocityFromBump.y += (this->normalizedBumpVelocity.y * 3.0f); - this->velocityFromBump.z += (this->normalizedBumpVelocity.z * 3.0f); + if (this->colliderSphere.elements[1].base.acElemFlags & ACELEM_HIT) { + attackerActor = this->colliderSphere.base.ac; + this->normalizedAttackerVelocity = attackerActor->velocity; + EnBubble_Vec3fNormalize(&this->normalizedAttackerVelocity); + this->velocityFromAttack.x += (this->normalizedAttackerVelocity.x * 3.0f); + this->velocityFromAttack.y += (this->normalizedAttackerVelocity.y * 3.0f); + this->velocityFromAttack.z += (this->normalizedAttackerVelocity.z * 3.0f); } this->sinkSpeed -= 0.1f; if (this->sinkSpeed < this->actor.minVelocityY) { this->sinkSpeed = this->actor.minVelocityY; } - sp54.x = this->velocityFromBounce.x + this->velocityFromBump.x; - sp54.y = this->velocityFromBounce.y + this->velocityFromBump.y + this->sinkSpeed; - sp54.z = this->velocityFromBounce.z + this->velocityFromBump.z; + sp54.x = this->velocityFromBounce.x + this->velocityFromAttack.x; + sp54.y = this->velocityFromBounce.y + this->velocityFromAttack.y + this->sinkSpeed; + sp54.z = this->velocityFromBounce.z + this->velocityFromAttack.z; EnBubble_Vec3fNormalize(&sp54); sp78.x = this->actor.world.pos.x; @@ -243,7 +243,7 @@ void EnBubble_Fly(EnBubble* this, PlayState* play) { this->bounceCount = 0; } bounceSpeed = (this->bounceCount == 0) ? 3.6000001f : 3.0f; - this->velocityFromBump.x = this->velocityFromBump.y = this->velocityFromBump.z = 0.0f; + this->velocityFromAttack.x = this->velocityFromAttack.y = this->velocityFromAttack.z = 0.0f; this->velocityFromBounce.x = (this->bounceDirection.x * bounceSpeed); this->velocityFromBounce.y = (this->bounceDirection.y * bounceSpeed); this->velocityFromBounce.z = (this->bounceDirection.z * bounceSpeed); @@ -262,7 +262,7 @@ void EnBubble_Fly(EnBubble* this, PlayState* play) { this->bounceCount = 0; } bounceSpeed = (this->bounceCount == 0) ? 3.6000001f : 3.0f; - this->velocityFromBump.x = this->velocityFromBump.y = this->velocityFromBump.z = 0.0f; + this->velocityFromAttack.x = this->velocityFromAttack.y = this->velocityFromAttack.z = 0.0f; this->velocityFromBounce.x = (this->bounceDirection.x * bounceSpeed); this->velocityFromBounce.y = (this->bounceDirection.y * bounceSpeed); this->velocityFromBounce.z = (this->bounceDirection.z * bounceSpeed); @@ -271,12 +271,12 @@ void EnBubble_Fly(EnBubble* this, PlayState* play) { this->graphicRotSpeed = 128.0f; this->graphicEccentricity = 0.48f; } - this->actor.velocity.x = this->velocityFromBounce.x + this->velocityFromBump.x; - this->actor.velocity.y = this->velocityFromBounce.y + this->velocityFromBump.y + this->sinkSpeed; - this->actor.velocity.z = this->velocityFromBounce.z + this->velocityFromBump.z; - Math_ApproachF(&this->velocityFromBump.x, 0.0f, 0.3f, 0.1f); - Math_ApproachF(&this->velocityFromBump.y, 0.0f, 0.3f, 0.1f); - Math_ApproachF(&this->velocityFromBump.z, 0.0f, 0.3f, 0.1f); + this->actor.velocity.x = this->velocityFromBounce.x + this->velocityFromAttack.x; + this->actor.velocity.y = this->velocityFromBounce.y + this->velocityFromAttack.y + this->sinkSpeed; + this->actor.velocity.z = this->velocityFromBounce.z + this->velocityFromAttack.z; + Math_ApproachF(&this->velocityFromAttack.x, 0.0f, 0.3f, 0.1f); + Math_ApproachF(&this->velocityFromAttack.y, 0.0f, 0.3f, 0.1f); + Math_ApproachF(&this->velocityFromAttack.z, 0.0f, 0.3f, 0.1f); } u32 func_809CC648(EnBubble* this) { @@ -284,7 +284,7 @@ u32 func_809CC648(EnBubble* this) { return false; } this->colliderSphere.base.acFlags &= ~AC_HIT; - if (this->colliderSphere.elements[1].base.bumperFlags & BUMP_HIT) { + if (this->colliderSphere.elements[1].base.acElemFlags & ACELEM_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; diff --git a/src/overlays/actors/ovl_En_Bubble/z_en_bubble.h b/src/overlays/actors/ovl_En_Bubble/z_en_bubble.h index 938d1b2fd4..d753768811 100644 --- a/src/overlays/actors/ovl_En_Bubble/z_en_bubble.h +++ b/src/overlays/actors/ovl_En_Bubble/z_en_bubble.h @@ -27,8 +27,8 @@ typedef struct EnBubble { /* 0x0228 */ u8 bounceCount; /* 0x022C */ Vec3f bounceDirection; /* 0x0238 */ Vec3f velocityFromBounce; - /* 0x0244 */ Vec3f normalizedBumpVelocity; - /* 0x0250 */ Vec3f velocityFromBump; + /* 0x0244 */ Vec3f normalizedAttackerVelocity; + /* 0x0250 */ Vec3f velocityFromAttack; /* 0x025C */ f32 sinkSpeed; } EnBubble; // size = 0x0260 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 42f549b753..e91e59d47c 100644 --- a/src/overlays/actors/ovl_En_Butte/z_en_butte.c +++ b/src/overlays/actors/ovl_En_Butte/z_en_butte.c @@ -30,8 +30,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x000, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 5 }, 100 } }, 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 1516d57d55..5380555405 100644 --- a/src/overlays/actors/ovl_En_Bw/z_en_bw.c +++ b/src/overlays/actors/ovl_En_Bw/z_en_bw.c @@ -58,8 +58,8 @@ static ColliderCylinderInit sCylinderInit1 = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x08 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { 30, 65, 0, { 0, 0, 0 } }, @@ -78,8 +78,8 @@ static ColliderCylinderInit sCylinderInit2 = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 30, 35, 0, { 0, 0, 0 } }, @@ -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.elem.toucher.effect = 0; + this->collider1.elem.atDmgInfo.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.elem.toucher.effect = 1; + this->collider1.elem.atDmgInfo.effect = 1; } this->unk_234 = Actor_TestFloorInDirection(thisx, play, 50.0f, thisx->world.rot.y); 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 35f1565912..c0c9fb7038 100644 --- a/src/overlays/actors/ovl_En_Bx/z_en_bx.c +++ b/src/overlays/actors/ovl_En_Bx/z_en_bx.c @@ -39,8 +39,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK1, { 0xFFCFFFFF, 0x03, 0x04 }, { 0xFFCFFFFF, 0x01, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_NONE, }, { 60, 100, 100, { 0, 0, 0 } }, @@ -59,8 +59,8 @@ static ColliderQuadInit sQuadInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x03, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, 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 f13b19221f..a47186b62a 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 @@ -47,8 +47,8 @@ static ColliderCylinderInit sArwingCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFDFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 15, 30, 10, { 0, 0, 0 } }, @@ -67,8 +67,8 @@ static ColliderCylinderInit sLaserCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFDFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 15, 30, 10, { 0, 0, 0 } }, 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 2c9b8753e9..a9e667089f 100644 --- a/src/overlays/actors/ovl_En_Cow/z_en_cow.c +++ b/src/overlays/actors/ovl_En_Cow/z_en_cow.c @@ -51,8 +51,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 30, 40, 0, { 0, 0, 0 } }, 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 3cd26ef460..af8ec2dabe 100644 --- a/src/overlays/actors/ovl_En_Crow/z_en_crow.c +++ b/src/overlays/actors/ovl_En_Crow/z_en_crow.c @@ -36,8 +36,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_HARD, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_HARD, + ACELEM_ON, OCELEM_ON, }, { 1, { { 0, 0, 0 }, 20 }, 100 }, 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 31790ebeef..d99e291207 100644 --- a/src/overlays/actors/ovl_En_Cs/z_en_cs.c +++ b/src/overlays/actors/ovl_En_Cs/z_en_cs.c @@ -40,8 +40,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 18, 63, 0, { 0, 0, 0 } }, 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 711ecafe2b..c99af39956 100644 --- a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c +++ b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c @@ -66,8 +66,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 18, 66, 0, { 0, 0, 0 } }, @@ -488,14 +488,15 @@ void EnDaiku_UpdateSubCamera(EnDaiku* this, PlayState* play) { void EnDaiku_EscapeSuccess(EnDaiku* this, PlayState* play) { static Vec3f D_809E4148 = { 0.0f, 0.0f, 120.0f }; - Actor* gerudoGuard; - Vec3f vec; Play_ClearCamera(play, this->subCamId); Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_ACTIVE); this->subCamActive = false; if (GET_EVENTCHKINF_CARPENTERS_FREE_ALL()) { + Actor* gerudoGuard; + Vec3f vec; + Matrix_RotateY(BINANG_TO_RAD(this->initRot.y), MTXMODE_NEW); Matrix_MultVec3f(&D_809E4148, &vec); gerudoGuard = Actor_Spawn(&play->actorCtx, play, ACTOR_EN_GE3, this->initPos.x + vec.x, this->initPos.y + vec.y, @@ -504,9 +505,10 @@ void EnDaiku_EscapeSuccess(EnDaiku* this, PlayState* play) { if (gerudoGuard == NULL) { Actor_Kill(&this->actor); } - } else { - Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_7); + return; } + + Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_7); } /** @@ -605,6 +607,8 @@ void EnDaiku_Draw(Actor* thisx, PlayState* play) { SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, EnDaiku_OverrideLimbDraw, EnDaiku_PostLimbDraw, this); + if (1) {} + CLOSE_DISPS(play->state.gfxCtx, "../z_en_daiku.c", 1255); } 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 66a136fccf..f5e31493c3 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 @@ -49,8 +49,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 18, 66, 0, { 0, 0, 0 } }, @@ -562,5 +562,7 @@ void EnDaikuKakariko_Draw(Actor* thisx, PlayState* play) { SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, EnDaikuKakariko_OverrideLimbDraw, EnDaikuKakariko_PostLimbDraw, thisx); + if (1) {} + CLOSE_DISPS(play->state.gfxCtx, "../z_en_daiku_kakariko.c", 1151); } 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 73bf8d9321..265e58cc00 100644 --- a/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c +++ b/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c @@ -47,8 +47,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[7] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_HARD, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_HARD, + ACELEM_ON, OCELEM_ON, }, { 1, { { 0, 100, 1000 }, 15 }, 100 }, @@ -58,8 +58,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[7] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 51, { { 0, 0, 1500 }, 8 }, 100 }, @@ -69,8 +69,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[7] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 52, { { 0, 0, 500 }, 8 }, 100 }, @@ -80,8 +80,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[7] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 53, { { 0, 0, 1500 }, 8 }, 100 }, @@ -91,8 +91,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[7] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 54, { { 0, 0, 500 }, 8 }, 100 }, @@ -102,8 +102,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[7] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 55, { { 0, 0, 1500 }, 8 }, 100 }, @@ -113,8 +113,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[7] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 56, { { 0, 0, 500 }, 8 }, 100 }, @@ -282,7 +282,7 @@ void EnDekubaba_DisableACColliderElems(EnDekubaba* this) { s32 i; for (i = 1; i < ARRAY_COUNT(this->colliderElements); i++) { - this->collider.elements[i].base.bumperFlags &= ~BUMP_ON; + this->collider.elements[i].base.acElemFlags &= ~ACELEM_ON; } } @@ -417,7 +417,7 @@ void EnDekubaba_SetupStunnedVertical(EnDekubaba* this) { s32 i; for (i = 1; i < ARRAY_COUNT(this->colliderElements); i++) { - this->collider.elements[i].base.bumperFlags |= BUMP_ON; + this->collider.elements[i].base.acElemFlags |= ACELEM_ON; } if (this->timer == 1) { 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 6fd1207fe3..6e14eba6ce 100644 --- a/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.c +++ b/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.c @@ -55,8 +55,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 18, 32, 0, { 0, 0, 0 } }, @@ -204,7 +204,7 @@ void EnDekunuts_SetupGasp(EnDekunuts* this) { void EnDekunuts_SetupBeDamaged(EnDekunuts* this) { Animation_MorphToPlayOnce(&this->skelAnime, &gDekuNutsDamageAnim, -3.0f); - if (this->collider.elem.acHitElem->toucher.dmgFlags & (DMG_ARROW | DMG_SLINGSHOT)) { + if (this->collider.elem.acHitElem->atDmgInfo.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; 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 f5694d2bf0..ccf7f4af2c 100644 --- a/src/overlays/actors/ovl_En_Dh/z_en_dh.c +++ b/src/overlays/actors/ovl_En_Dh/z_en_dh.c @@ -56,8 +56,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 35, 70, 0, { 0, 0, 0 } }, @@ -69,8 +69,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON | OCELEM_UNK3, }, { 1, { { 0, 0, 0 }, 20 }, 100 }, @@ -302,8 +302,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].base.toucherFlags = AT_NONE; // also TOUCH_NONE - this->collider2.elements[0].base.toucher.dmgFlags = this->collider2.elements[0].base.toucher.damage = 0; + this->collider2.base.atFlags = this->collider2.elements[0].base.atElemFlags = AT_NONE; // also ATELEM_NONE + this->collider2.elements[0].base.atDmgInfo.dmgFlags = this->collider2.elements[0].base.atDmgInfo.damage = 0; } switch (this->actionState) { case 1: @@ -316,16 +316,17 @@ void EnDh_Attack(EnDh* this, PlayState* play) { break; case 2: if (this->skelAnime.curFrame >= 4.0f) { - 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].base.toucher.dmgFlags = DMG_DEFAULT; - this->collider2.elements[0].base.toucher.damage = 8; + this->collider2.base.atFlags = this->collider2.elements[0].base.atElemFlags = + AT_ON | AT_TYPE_ENEMY; // also ATELEM_ON | ATELEM_SFX_WOOD + this->collider2.elements[0].base.atDmgInfo.dmgFlags = DMG_DEFAULT; + this->collider2.elements[0].base.atDmgInfo.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].base.toucherFlags = - AT_NONE; // also TOUCH_NONE - this->collider2.elements[0].base.toucher.dmgFlags = this->collider2.elements[0].base.toucher.damage = 0; + this->collider2.base.atFlags = this->collider2.elements[0].base.atElemFlags = + AT_NONE; // also ATELEM_NONE + this->collider2.elements[0].base.atDmgInfo.dmgFlags = + this->collider2.elements[0].base.atDmgInfo.damage = 0; this->actionState++; } else if (this->collider2.base.atFlags & AT_HIT) { this->collider2.base.atFlags &= ~AT_HIT; @@ -343,9 +344,10 @@ 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].base.toucherFlags = - AT_NONE; // also TOUCH_NONE - this->collider2.elements[0].base.toucher.dmgFlags = this->collider2.elements[0].base.toucher.damage = 0; + this->collider2.base.atFlags = this->collider2.elements[0].base.atElemFlags = + AT_NONE; // also ATELEM_NONE + this->collider2.elements[0].base.atDmgInfo.dmgFlags = + this->collider2.elements[0].base.atDmgInfo.damage = 0; } break; case 5: @@ -374,10 +376,10 @@ void EnDh_Burrow(EnDh* this, PlayState* play) { case 0: this->actionState++; this->drawDirtWave++; - this->collider1.base.atFlags = this->collider1.elem.toucherFlags = - AT_ON | AT_TYPE_ENEMY; // also TOUCH_ON | TOUCH_SFX_WOOD - this->collider1.elem.toucher.dmgFlags = DMG_DEFAULT; - this->collider1.elem.toucher.damage = 4; + this->collider1.base.atFlags = this->collider1.elem.atElemFlags = + AT_ON | AT_TYPE_ENEMY; // also ATELEM_ON | ATELEM_SFX_WOOD + this->collider1.elem.atDmgInfo.dmgFlags = DMG_DEFAULT; + this->collider1.elem.atDmgInfo.damage = 4; FALLTHROUGH; case 1: this->dirtWavePhase += 0x47E; @@ -393,8 +395,8 @@ void EnDh_Burrow(EnDh* this, PlayState* play) { case 2: this->drawDirtWave = false; this->collider1.dim.radius = 35; - this->collider1.base.atFlags = this->collider1.elem.toucherFlags = AT_NONE; // Also TOUCH_NONE - this->collider1.elem.toucher.dmgFlags = this->collider1.elem.toucher.damage = 0; + this->collider1.base.atFlags = this->collider1.elem.atElemFlags = AT_NONE; // Also ATELEM_NONE + this->collider1.elem.atDmgInfo.dmgFlags = this->collider1.elem.atDmgInfo.damage = 0; EnDh_SetupWait(this); break; } @@ -477,8 +479,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].base.toucherFlags = AT_NONE; // also TOUCH_NONE - this->collider2.elements[0].base.toucher.dmgFlags = this->collider2.elements[0].base.toucher.damage = 0; + this->collider2.base.atFlags = this->collider2.elements[0].base.atElemFlags = AT_NONE; // also ATELEM_NONE + this->collider2.elements[0].base.atDmgInfo.dmgFlags = this->collider2.elements[0].base.atDmgInfo.damage = 0; if (player->unk_844 != 0) { this->unk_258 = player->unk_845; } diff --git a/src/overlays/actors/ovl_En_Dha/z_en_dha.c b/src/overlays/actors/ovl_En_Dha/z_en_dha.c index b78ff72600..17ec0b85ef 100644 --- a/src/overlays/actors/ovl_En_Dha/z_en_dha.c +++ b/src/overlays/actors/ovl_En_Dha/z_en_dha.c @@ -76,8 +76,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 1, { { 0, 0, 0 }, 12 }, 100 }, @@ -87,8 +87,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 2, { { 3200, 0, 0 }, 10 }, 100 }, @@ -98,8 +98,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 3, { { 1200, 0, 0 }, 10 }, 100 }, @@ -109,8 +109,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 4, { { 2700, 0, 0 }, 10 }, 100 }, @@ -120,8 +120,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 5, { { 1200, 0, 0 }, 10 }, 100 }, 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 6e33517bf3..d0ba252073 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 @@ -61,8 +61,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_NONE | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 10, 10, 0, { 0, 0, 0 } }, 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 4268bc2ba2..9d1c37c472 100644 --- a/src/overlays/actors/ovl_En_Dns/z_en_dns.c +++ b/src/overlays/actors/ovl_En_Dns/z_en_dns.c @@ -66,8 +66,8 @@ static ColliderCylinderInitType1 sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 18, 32, 0, { 0, 0, 0 } }, @@ -156,7 +156,7 @@ void EnDns_Init(Actor* thisx, PlayState* play) { Actor_SetScale(&this->actor, 0.01f); this->actor.colChkInfo.mass = MASS_IMMOVABLE; - this->bumpOn = true; + this->isColliderEnabled = true; this->standOnGround = true; this->dropCollectible = false; this->actor.speed = 0.0f; @@ -434,7 +434,7 @@ void EnDns_SetupBurrow(EnDns* this, PlayState* play) { if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(play)) { this->dnsItemEntry->payment(this); this->dropCollectible = true; - this->bumpOn = false; + this->isColliderEnabled = false; this->actor.flags &= ~ACTOR_FLAG_0; EnDns_ChangeAnim(this, DNS_ANIM_BURROW); this->actionFunc = EnDns_Burrow; @@ -442,7 +442,7 @@ void EnDns_SetupBurrow(EnDns* this, PlayState* play) { } else { this->dnsItemEntry->payment(this); this->dropCollectible = true; - this->bumpOn = false; + this->isColliderEnabled = false; this->actor.flags &= ~ACTOR_FLAG_0; EnDns_ChangeAnim(this, DNS_ANIM_BURROW); this->actionFunc = EnDns_Burrow; @@ -451,7 +451,7 @@ void EnDns_SetupBurrow(EnDns* this, PlayState* play) { void EnDns_SetupNoSaleBurrow(EnDns* this, PlayState* play) { if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(play)) { - this->bumpOn = false; + this->isColliderEnabled = false; this->actor.flags &= ~ACTOR_FLAG_0; EnDns_ChangeAnim(this, DNS_ANIM_BURROW); this->actionFunc = EnDns_Burrow; @@ -515,7 +515,7 @@ void EnDns_Update(Actor* thisx, PlayState* play) { Actor_UpdateBgCheckInfo(play, &this->actor, 20.0f, 20.0f, 20.0f, UPDBGCHECKINFO_FLAG_2); } - if (this->bumpOn) { + if (this->isColliderEnabled) { Collider_UpdateCylinder(&this->actor, &this->collider); CollisionCheck_SetOC(play, &play->colChkCtx, &this->collider.base); } diff --git a/src/overlays/actors/ovl_En_Dns/z_en_dns.h b/src/overlays/actors/ovl_En_Dns/z_en_dns.h index fe931bec32..a6ef632230 100644 --- a/src/overlays/actors/ovl_En_Dns/z_en_dns.h +++ b/src/overlays/actors/ovl_En_Dns/z_en_dns.h @@ -58,7 +58,7 @@ typedef struct EnDns { /* 0x026C */ ColliderCylinder collider; /* 0x02B8 */ s16 dustTimer; /* 0x02BA */ u8 animIndex; // set but not read - /* 0x02BB */ u8 bumpOn; + /* 0x02BB */ u8 isColliderEnabled; /* 0x02BC */ u8 standOnGround; /* 0x02BD */ u8 dropCollectible; /* 0x02C0 */ DnsItemEntry* dnsItemEntry; 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 59c8ed95d7..cfa1f2a32b 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 @@ -64,8 +64,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 30, 80, 0, { 0, 0, 0 } }, 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 4de5e81918..ff9f9cc71a 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 @@ -81,8 +81,8 @@ static ColliderCylinderInit sBodyCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 16, 46, 0, { 0, 0, 0 } }, @@ -101,8 +101,8 @@ static ColliderQuadInit sTargetQuadInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x0001F824, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, @@ -238,9 +238,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.elem.bumper.hitPos.x); - dy = fabsf(targetY - this->targetQuad.elem.bumper.hitPos.y); - dz = fabsf(targetZ - this->targetQuad.elem.bumper.hitPos.z); + dx = fabsf(targetX - this->targetQuad.elem.acDmgInfo.hitPos.x); + dy = fabsf(targetY - this->targetQuad.elem.acDmgInfo.hitPos.y); + dz = fabsf(targetZ - this->targetQuad.elem.acDmgInfo.hitPos.z); scoreVel.y = 5.0f; diff --git a/src/overlays/actors/ovl_En_Dodojr/z_en_dodojr.c b/src/overlays/actors/ovl_En_Dodojr/z_en_dodojr.c index e3f78aee65..f5f5940881 100644 --- a/src/overlays/actors/ovl_En_Dodojr/z_en_dodojr.c +++ b/src/overlays/actors/ovl_En_Dodojr/z_en_dodojr.c @@ -56,8 +56,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFC5FFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 18, 20, 0, { 0, 0, 0 } }, 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 e9a04f9efe..6ae9701d53 100644 --- a/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c +++ b/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c @@ -54,8 +54,8 @@ static ColliderJntSphElementInit sBodyElementsInit[6] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 15, { { 0, 0, 0 }, 17 }, 100 }, @@ -65,8 +65,8 @@ static ColliderJntSphElementInit sBodyElementsInit[6] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 14, { { 0, 0, 0 }, 15 }, 100 }, @@ -76,8 +76,8 @@ static ColliderJntSphElementInit sBodyElementsInit[6] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 13, { { 0, 0, 0 }, 10 }, 100 }, @@ -87,8 +87,8 @@ static ColliderJntSphElementInit sBodyElementsInit[6] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 21, { { 0, 0, 0 }, 20 }, 100 }, @@ -98,8 +98,8 @@ static ColliderJntSphElementInit sBodyElementsInit[6] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 28, { { 0, 0, 0 }, 20 }, 100 }, @@ -109,8 +109,8 @@ static ColliderJntSphElementInit sBodyElementsInit[6] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x0D800691, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON | OCELEM_UNK3, }, { 6, { { 0, 0, 0 }, 35 }, 100 }, @@ -136,8 +136,8 @@ static ColliderTrisElementInit sHardElementsInit[3] = { ELEMTYPE_UNK2, { 0x00000000, 0x00, 0x00 }, { 0xF24BF96E, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE | BUMP_NO_AT_INFO, + ATELEM_NONE, + ACELEM_ON | ACELEM_HOOKABLE | ACELEM_NO_AT_INFO, OCELEM_NONE, }, { { { -10.0f, 14.0f, 2.0f }, { -10.0f, -6.0f, 2.0f }, { 9.0f, 14.0f, 2.0f } } }, @@ -147,8 +147,8 @@ static ColliderTrisElementInit sHardElementsInit[3] = { ELEMTYPE_UNK2, { 0x00000000, 0x00, 0x00 }, { 0xFFCBF96E, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE | BUMP_NO_AT_INFO, + ATELEM_NONE, + ACELEM_ON | ACELEM_HOOKABLE | ACELEM_NO_AT_INFO, OCELEM_NONE, }, { { { -10.0f, -6.0f, 2.0f }, { 9.0f, -6.0f, 2.0f }, { 9.0f, 14.0f, 2.0f } } }, @@ -158,8 +158,8 @@ static ColliderTrisElementInit sHardElementsInit[3] = { ELEMTYPE_UNK2, { 0x00000000, 0x00, 0x00 }, { 0xFFCBF96E, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE | BUMP_NO_AT_INFO, + ATELEM_NONE, + ACELEM_ON | ACELEM_HOOKABLE | ACELEM_NO_AT_INFO, OCELEM_NONE, }, { { { -10.0f, -6.0f, 2.0f }, { 9.0f, -6.0f, 2.0f }, { 9.0f, 14.0f, 2.0f } } }, @@ -192,8 +192,8 @@ static ColliderQuadInit sAttackQuadInit = { ELEMTYPE_UNK0, { 0x20000000, 0x01, 0x10 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL | TOUCH_UNK7, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL | ATELEM_UNK7, + ACELEM_NONE, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, @@ -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].base.toucherFlags = TOUCH_NONE; - this->sphElements[1].base.toucherFlags = TOUCH_NONE; + this->sphElements[2].base.atElemFlags = ATELEM_NONE; + this->sphElements[1].base.atElemFlags = ATELEM_NONE; this->colliderBody.base.atFlags = AT_NONE; - 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; + this->sphElements[2].base.atDmgInfo.dmgFlags = 0; + this->sphElements[1].base.atDmgInfo.dmgFlags = 0; + this->sphElements[2].base.atDmgInfo.damage = 0; + this->sphElements[1].base.atDmgInfo.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].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; + this->colliderBody.base.atFlags = this->sphElements[1].base.atElemFlags = + this->sphElements[2].base.atElemFlags = AT_ON | AT_TYPE_ENEMY; // also ATELEM_ON | ATELEM_SFX_WOOD + this->sphElements[1].base.atDmgInfo.dmgFlags = this->sphElements[2].base.atDmgInfo.dmgFlags = DMG_DEFAULT; + this->sphElements[1].base.atDmgInfo.damage = this->sphElements[2].base.atDmgInfo.damage = 8; } } else if (this->timer > 1) { Vec3f tailPos; diff --git a/src/overlays/actors/ovl_En_Dog/z_en_dog.c b/src/overlays/actors/ovl_En_Dog/z_en_dog.c index ab7e624862..be4c04dd9e 100644 --- a/src/overlays/actors/ovl_En_Dog/z_en_dog.c +++ b/src/overlays/actors/ovl_En_Dog/z_en_dog.c @@ -46,8 +46,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 16, 20, 0, { 0 } }, 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 5f04f6159f..7a087c0b91 100644 --- a/src/overlays/actors/ovl_En_Door/z_en_door.c +++ b/src/overlays/actors/ovl_En_Door/z_en_door.c @@ -173,10 +173,9 @@ void EnDoor_Destroy(Actor* thisx, PlayState* play) { } void EnDoor_SetupType(EnDoor* this, PlayState* play) { - s32 doorType; - if (Object_IsLoaded(&play->objectCtx, this->requiredObjectSlot)) { - doorType = ENDOOR_GET_TYPE(&this->actor); + s32 doorType = ENDOOR_GET_TYPE(&this->actor); + this->actor.flags &= ~ACTOR_FLAG_4; this->actor.objectSlot = this->requiredObjectSlot; this->actionFunc = EnDoor_Idle; @@ -191,7 +190,9 @@ void EnDoor_SetupType(EnDoor* this, PlayState* play) { this->lockTimer = 10; } } else if (doorType == DOOR_AJAR) { - if (Actor_WorldDistXZToActor(&this->actor, &GET_PLAYER(play)->actor) > DOOR_AJAR_SLAM_RANGE) { + Player* player = GET_PLAYER(play); + + if (Actor_WorldDistXZToActor(&this->actor, &player->actor) > DOOR_AJAR_SLAM_RANGE) { this->actionFunc = EnDoor_AjarWait; this->actor.world.rot.y = -0x1800; } @@ -217,7 +218,6 @@ void EnDoor_Idle(EnDoor* this, PlayState* play) { Player* player = GET_PLAYER(play); s32 doorType; Vec3f playerPosRelToDoor; - s16 yawDiff; doorType = ENDOOR_GET_TYPE(&this->actor); func_8002DBD0(&this->actor, &playerPosRelToDoor, &player->actor.world.pos); @@ -233,7 +233,8 @@ void EnDoor_Idle(EnDoor* this, PlayState* play) { } else if (!Player_InCsMode(play)) { if (fabsf(playerPosRelToDoor.y) < 20.0f && fabsf(playerPosRelToDoor.x) < 20.0f && fabsf(playerPosRelToDoor.z) < 50.0f) { - yawDiff = player->actor.shape.rot.y - this->actor.shape.rot.y; + s16 yawDiff = player->actor.shape.rot.y - this->actor.shape.rot.y; + if (playerPosRelToDoor.z > 0.0f) { yawDiff = 0x8000 - yawDiff; } @@ -293,9 +294,6 @@ void EnDoor_AjarClose(EnDoor* this, PlayState* play) { } void EnDoor_Open(EnDoor* this, PlayState* play) { - s32 i; - s32 numEffects; - if (DECR(this->lockTimer) == 0) { if (SkelAnime_Update(&this->skelAnime)) { this->actionFunc = EnDoor_Idle; @@ -307,7 +305,9 @@ void EnDoor_Open(EnDoor* this, PlayState* play) { ? NA_SE_EV_IRON_DOOR_OPEN : NA_SE_OC_DOOR_OPEN); if (this->skelAnime.playSpeed < 1.5f) { - numEffects = (s32)(Rand_ZeroOne() * 30.0f) + 50; + s32 numEffects = (s32)(Rand_ZeroOne() * 30.0f) + 50; + s32 i; + for (i = 0; i < numEffects; i++) { EffectSsBubble_Spawn(play, &this->actor.world.pos, 60.0f, 100.0f, 50.0f, 0.15f); } @@ -329,25 +329,22 @@ void EnDoor_Update(Actor* thisx, PlayState* play) { } s32 EnDoor_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { - s32 pad; - TransitionActorEntry* transitionEntry; - Gfx** doorDLists; - s32 pad2; - s16 rotDiff; - s32 doorDListIndex; - EnDoor* this = (EnDoor*)thisx; - if (limbIndex == 4) { - doorDLists = sDoorDLists[this->dListIndex]; + EnDoor* this = (EnDoor*)thisx; + TransitionActorEntry* transitionEntry; + Gfx** doorDLists = sDoorDLists[this->dListIndex]; + transitionEntry = &play->transiActorCtx.list[GET_TRANSITION_ACTOR_INDEX(&this->actor)]; rot->z += this->actor.world.rot.y; if ((play->roomCtx.prevRoom.num >= 0) || (transitionEntry->sides[0].room == transitionEntry->sides[1].room)) { // Draw the side of the door that is visible to the camera - rotDiff = this->actor.shape.rot.y + this->skelAnime.jointTable[3].z + rot->z - - Math_Vec3f_Yaw(&play->view.eye, &this->actor.world.pos); + s16 rotDiff = this->actor.shape.rot.y + this->skelAnime.jointTable[3].z + rot->z - + Math_Vec3f_Yaw(&play->view.eye, &this->actor.world.pos); + *dList = (ABS(rotDiff) < 0x4000) ? doorDLists[0] : doorDLists[1]; } else { - doorDListIndex = this->unk_192; + s32 doorDListIndex = this->unk_192; + if (transitionEntry->sides[0].room != this->actor.room) { doorDListIndex ^= 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 56ec047023..65f4b90bf6 100644 --- a/src/overlays/actors/ovl_En_Du/z_en_du.c +++ b/src/overlays/actors/ovl_En_Du/z_en_du.c @@ -47,8 +47,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 20, 46, 0, { 0, 0, 0 } }, 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 099dc5b29a..ebfa1c6e11 100644 --- a/src/overlays/actors/ovl_En_Eiyer/z_en_eiyer.c +++ b/src/overlays/actors/ovl_En_Eiyer/z_en_eiyer.c @@ -60,8 +60,8 @@ static ColliderCylinderInit sColCylInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x04, 0x08 }, { 0x00000019, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_HARD, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_HARD, + ACELEM_ON, OCELEM_ON, }, { 27, 17, -10, { 0, 0, 0 } }, @@ -178,7 +178,7 @@ void EnEiyer_RotateAroundHome(EnEiyer* this) { } void EnEiyer_SetupAppearFromGround(EnEiyer* this) { - this->collider.elem.bumper.dmgFlags = DMG_BOOMERANG | DMG_EXPLOSIVE | DMG_DEKU_NUT; + this->collider.elem.acDmgInfo.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.elem.bumper.dmgFlags = DMG_DEFAULT; + this->collider.elem.acDmgInfo.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.elem.bumper.dmgFlags != (DMG_BOOMERANG | DMG_EXPLOSIVE | DMG_DEKU_NUT)) { + if (this->collider.elem.acDmgInfo.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.elem.bumper.dmgFlags = DMG_DEFAULT; + this->collider.elem.acDmgInfo.dmgFlags = DMG_DEFAULT; this->collider.base.atFlags &= ~AT_ON; this->collider.base.acFlags &= ~AC_ON; this->actionFunc = EnEiyer_Die; @@ -612,7 +612,7 @@ void EnEiyer_UpdateDamage(EnEiyer* this, PlayState* play) { } // If underground, one hit kill - if (this->collider.elem.bumper.dmgFlags == (DMG_BOOMERANG | DMG_EXPLOSIVE | DMG_DEKU_NUT)) { + if (this->collider.elem.acDmgInfo.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.elem.bumper.dmgFlags == (DMG_BOOMERANG | DMG_EXPLOSIVE | DMG_DEKU_NUT) && limbIndex != 9 && + if (this->collider.elem.acDmgInfo.dmgFlags == (DMG_BOOMERANG | DMG_EXPLOSIVE | DMG_DEKU_NUT) && limbIndex != 9 && limbIndex != 10) { *dList = NULL; } 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 886680a57f..fe2eadd287 100644 --- a/src/overlays/actors/ovl_En_Fd/z_en_fd.c +++ b/src/overlays/actors/ovl_En_Fd/z_en_fd.c @@ -48,8 +48,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x04 }, { 0x00040088, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 21, { { 1600, 0, 0 }, 5 }, 300 }, @@ -59,8 +59,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x04 }, { 0x00040008, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 12, { { 1600, 0, 0 }, 5 }, 400 }, @@ -70,8 +70,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x04 }, { 0x00040008, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 14, { { 800, 0, 0 }, 4 }, 300 }, @@ -81,8 +81,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x04 }, { 0x00040008, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 15, { { 1600, 0, 0 }, 4 }, 300 }, @@ -92,8 +92,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x04 }, { 0x00040008, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 16, { { 2000, 0, 0 }, 4 }, 300 }, @@ -103,8 +103,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x04 }, { 0x00040008, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 17, { { 800, 0, 0 }, 4 }, 300 }, @@ -114,8 +114,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x04 }, { 0x00040008, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 18, { { 1600, 0, 0 }, 4 }, 300 }, @@ -125,8 +125,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x04 }, { 0x00040008, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 19, { { 2000, 0, 0 }, 4 }, 300 }, @@ -136,8 +136,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x04 }, { 0x00040008, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 4, { { 2200, 0, 0 }, 4 }, 400 }, @@ -147,8 +147,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x04 }, { 0x00040008, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 4, { { 5000, 0, 0 }, 4 }, 300 }, @@ -158,8 +158,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x04 }, { 0x00040008, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 8, { { 2200, 0, 0 }, 4 }, 400 }, @@ -169,8 +169,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x04 }, { 0x00040008, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 8, { { 5000, 0, 0 }, 4 }, 300 }, @@ -283,7 +283,7 @@ s32 EnFd_ColliderCheck(EnFd* this, PlayState* play) { return false; } elem = &this->collider.elements[0].base; - if (elem->acHitElem != NULL && (elem->acHitElem->toucher.dmgFlags & DMG_HOOKSHOT)) { + if (elem->acHitElem != NULL && (elem->acHitElem->atDmgInfo.dmgFlags & DMG_HOOKSHOT)) { return false; } 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 6f836144ec..d15f8c58aa 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 @@ -37,8 +37,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x08 }, { 0x0D840008, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 12, 46, 0, { 0, 0, 0 } }, 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 e079c8194e..8d0a8f2a63 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 @@ -69,8 +69,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK6, { 0x00100700, 0x03, 0x20 }, { 0x0D900700, 0x00, 0x00 }, - TOUCH_ON, - BUMP_ON, + ATELEM_ON, + ACELEM_ON, OCELEM_ON, }, { 20, 30, 10, { 0, 0, 0 } }, @@ -491,7 +491,7 @@ void EnFhgFire_EnergyBall(EnFhgFire* this, PlayState* play) { (s16)(Rand_ZeroOne() * 25.0f) + 50, FHGFLASH_LIGHTBALL_GREEN); } canBottleReflect2 = canBottleReflect1; - if (!canBottleReflect2 && (acHitElem->toucher.dmgFlags & DMG_SHIELD)) { + if (!canBottleReflect2 && (acHitElem->atDmgInfo.dmgFlags & DMG_SHIELD)) { killMode = BALL_IMPACT; Audio_PlaySfxGeneral(NA_SE_IT_SHIELD_REFLECT_MG, &player->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, 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 a065a4c040..32d28a0074 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 @@ -40,8 +40,8 @@ static ColliderCylinderInit D_80A12CA0 = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x09, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_NONE, }, { 30, 30, -10, { 0, 0, 0 } }, @@ -60,8 +60,8 @@ static ColliderCylinderInit D_80A12CCC = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_NONE, }, { 30, 30, -10, { 0, 0, 0 } }, 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 5fe572eb0b..760140aed5 100644 --- a/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c +++ b/src/overlays/actors/ovl_En_Firefly/z_en_firefly.c @@ -52,8 +52,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_HARD, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_HARD, + ACELEM_ON, OCELEM_ON, }, { 1, { { 0, 1000, 0 }, 15 }, 100 }, @@ -118,7 +118,7 @@ static InitChainEntry sInitChain[] = { void EnFirefly_Extinguish(EnFirefly* this) { this->actor.params += 2; - this->collider.elements[0].base.toucher.effect = 0; // None + this->collider.elements[0].base.atDmgInfo.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].base.toucher.effect = 1; // Fire + this->collider.elements[0].base.atDmgInfo.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].base.toucher.effect = 2; // Ice + this->collider.elements[0].base.atDmgInfo.effect = 2; // Ice this->actor.naviEnemyId = NAVI_ENEMY_ICE_KEESE; } else { - this->collider.elements[0].base.toucher.effect = 0; // Nothing + this->collider.elements[0].base.atDmgInfo.effect = 0; // Nothing this->actor.naviEnemyId = NAVI_ENEMY_KEESE; } diff --git a/src/overlays/actors/ovl_En_Fish/z_en_fish.c b/src/overlays/actors/ovl_En_Fish/z_en_fish.c index 1ebc39c90a..e008be1d2d 100644 --- a/src/overlays/actors/ovl_En_Fish/z_en_fish.c +++ b/src/overlays/actors/ovl_En_Fish/z_en_fish.c @@ -43,8 +43,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 5 }, 100 }, 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 e1ed9d58e1..41dd2cfdc5 100644 --- a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c +++ b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c @@ -69,8 +69,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x04, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_HARD, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_ON | ATELEM_SFX_HARD, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 25, 40, 0, { 0, 0, 0 } }, @@ -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.elem.bumperFlags &= ~BUMP_HOOKABLE; + this->collider.elem.acElemFlags &= ~ACELEM_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.elem.acHitElem->toucher.dmgFlags & (DMG_ARROW | DMG_SLINGSHOT)) { + if (this->collider.elem.acHitElem->atDmgInfo.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.elem.bumperFlags |= BUMP_HOOKABLE; + this->collider.elem.acElemFlags |= ACELEM_HOOKABLE; this->actor.colChkInfo.health = sColChkInfoInit.health; EnFloormas_SetupStand(this); } else { @@ -985,7 +985,7 @@ void EnFloormas_ColliderCheck(EnFloormas* this, PlayState* play) { if (this->actor.scale.x < 0.01f) { isSmall = true; } - if (isSmall && this->collider.elem.acHitElem->toucher.dmgFlags & DMG_HOOKSHOT) { + if (isSmall && this->collider.elem.acHitElem->atDmgInfo.dmgFlags & DMG_HOOKSHOT) { this->actor.colChkInfo.damage = 2; this->actor.colChkInfo.damageEffect = 0; } 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 aac5b16ae8..9f10084857 100644 --- a/src/overlays/actors/ovl_En_Fu/z_en_fu.c +++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.c @@ -53,8 +53,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 30, 40, 0, { 0, 0, 0 } }, 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 57b04ae52c..4170af674d 100644 --- a/src/overlays/actors/ovl_En_Fw/z_en_fw.c +++ b/src/overlays/actors/ovl_En_Fw/z_en_fw.c @@ -42,8 +42,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x04 }, { 0xFFCFFFFE, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_NONE, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 2, { { 1200, 0, 0 }, 16 }, 100 }, @@ -139,7 +139,7 @@ s32 EnFw_CheckCollider(EnFw* this, PlayState* play) { if (this->collider.base.acFlags & AC_HIT) { elem = &this->collider.elements[0].base; - if (elem->acHitElem->toucher.dmgFlags & DMG_HOOKSHOT) { + if (elem->acHitElem->atDmgInfo.dmgFlags & DMG_HOOKSHOT) { this->lastDmgHook = true; } else { this->lastDmgHook = false; 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 64ae25bba1..3e4b6ec492 100644 --- a/src/overlays/actors/ovl_En_Fz/z_en_fz.c +++ b/src/overlays/actors/ovl_En_Fz/z_en_fz.c @@ -69,8 +69,8 @@ static ColliderCylinderInitType1 sCylinderInit1 = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x00 }, { 0xFFCE0FDB, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 30, 80, 0, { 0, 0, 0 } }, @@ -88,8 +88,8 @@ static ColliderCylinderInitType1 sCylinderInit2 = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x00 }, { 0x0001F024, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 35, 80, 0, { 0, 0, 0 } }, @@ -107,8 +107,8 @@ static ColliderCylinderInitType1 sCylinderInit3 = { ELEMTYPE_UNK0, { 0x20000000, 0x02, 0x08 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { 20, 30, -15, { 0, 0, 0 } }, 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 50e69b64ec..dd5ad3b499 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 @@ -52,8 +52,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK2, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 13, 40, 0, { 0, 0, 0 } }, @@ -137,7 +137,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.elem.bumper.dmgFlags = DMG_ARROW; + this->collider.elem.acDmgInfo.dmgFlags = DMG_ARROW; this->objectId = OBJECT_TSUBO; this->requiredObjectSlot = Object_GetSlot(&play->objectCtx, this->objectId); if (this->requiredObjectSlot < 0) { @@ -183,9 +183,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.elem.bumper.hitPos.x; - hitPos.y = this->collider.elem.bumper.hitPos.y; - hitPos.z = this->collider.elem.bumper.hitPos.z; + hitPos.x = this->collider.elem.acDmgInfo.hitPos.x; + hitPos.y = this->collider.elem.acDmgInfo.hitPos.y; + hitPos.z = this->collider.elem.acDmgInfo.hitPos.z; EffectSsHitMark_SpawnCustomScale(play, EFFECT_HITMARK_WHITE, 700, &hitPos); if (this->type == ENGSWITCH_ARCHERY_POT) { velocity.y = 15.0f; 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 aafcf0d06c..ad08fbdace 100644 --- a/src/overlays/actors/ovl_En_Gb/z_en_gb.c +++ b/src/overlays/actors/ovl_En_Gb/z_en_gb.c @@ -56,8 +56,8 @@ static ColliderCylinderInitType1 sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 40, 75, 0, { 0, 0, 0 } }, @@ -76,8 +76,8 @@ static ColliderCylinderInitType1 sBottlesCylindersInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 4, 20, 0, { 0, 0, 0 } }, @@ -94,8 +94,8 @@ static ColliderCylinderInitType1 sBottlesCylindersInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 4, 20, 0, { 0, 0, 0 } }, @@ -112,8 +112,8 @@ static ColliderCylinderInitType1 sBottlesCylindersInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 10, 20, 0, { 0, 0, 0 } }, 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 cbd0d72844..405cfc0664 100644 --- a/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c +++ b/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c @@ -64,8 +64,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000702, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 20, 40, 0, { 0, 0, 0 } }, 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 e1317e5ba9..40b2b9df58 100644 --- a/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c +++ b/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c @@ -80,8 +80,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x000007A2, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 20, 60, 0, { 0, 0, 0 } }, @@ -556,7 +556,7 @@ void EnGe2_Update(Actor* thisx, PlayState* play) { this->actionFunc(this, play); } else if (this->collider.base.acFlags & AC_HIT) { if ((this->collider.elem.acHitElem != NULL) && - (this->collider.elem.acHitElem->toucher.dmgFlags & DMG_HOOKSHOT)) { + (this->collider.elem.acHitElem->atDmgInfo.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); @@ -607,8 +607,9 @@ 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.elem.acHitElem == NULL) || - !(this->collider.elem.acHitElem->toucher.dmgFlags & DMG_HOOKSHOT))) { + if ((this->collider.base.acFlags & AC_HIT) && + ((this->collider.elem.acHitElem == NULL) || + !(this->collider.elem.acHitElem->atDmgInfo.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 0f3e0d480e..df33dc59e3 100644 --- a/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c +++ b/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c @@ -43,8 +43,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000722, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 20, 50, 0, { 0, 0, 0 } }, 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 ba58e9dbdd..8ef486c42c 100644 --- a/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c +++ b/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c @@ -94,8 +94,8 @@ static ColliderCylinderInit sBodyCylInit = { ELEMTYPE_UNK1, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 20, 50, 0, { 0, 0, 0 } }, @@ -107,8 +107,8 @@ static ColliderTrisElementInit sBlockTrisElementsInit[2] = { ELEMTYPE_UNK2, { 0x00000000, 0x00, 0x00 }, { 0xFFC1FFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { -10.0f, 14.0f, 2.0f }, { -10.0f, -6.0f, 2.0f }, { 9.0f, 14.0f, 2.0f } } }, @@ -118,8 +118,8 @@ static ColliderTrisElementInit sBlockTrisElementsInit[2] = { ELEMTYPE_UNK2, { 0x00000000, 0x00, 0x00 }, { 0xFFC1FFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { -10.0f, -6.0f, 2.0f }, { 9.0f, -6.0f, 2.0f }, { 9.0f, 14.0f, 2.0f } } }, @@ -152,8 +152,8 @@ static ColliderQuadInit sSwordQuadInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL | TOUCH_UNK7, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL | ATELEM_UNK7, + ACELEM_NONE, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, 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 c0ee8b7cf8..46f0a2ec00 100644 --- a/src/overlays/actors/ovl_En_Gm/z_en_gm.c +++ b/src/overlays/actors/ovl_En_Gm/z_en_gm.c @@ -50,8 +50,8 @@ static ColliderCylinderInitType1 sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 100, 120, 0, { 0, 0, 0 } }, 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 3ff17461fa..f648a2f910 100644 --- a/src/overlays/actors/ovl_En_Go/z_en_go.c +++ b/src/overlays/actors/ovl_En_Go/z_en_go.c @@ -59,8 +59,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 20, 46, 0, { 0, 0, 0 } }, 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 278c4679dd..b5b699676e 100644 --- a/src/overlays/actors/ovl_En_Go2/z_en_go2.c +++ b/src/overlays/actors/ovl_En_Go2/z_en_go2.c @@ -85,8 +85,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000008, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 40, 65, 0, { 0, 0, 0 } }, @@ -1344,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.elem.bumperFlags = BUMP_ON; + this->collider.elem.acElemFlags = ACELEM_ON; this->actor.speed = GET_INFTABLE(INFTABLE_11E) ? 6.0f : 3.6000001f; } else { this->actor.speed = 6.0f; @@ -1368,7 +1368,7 @@ void EnGo2_StopRolling(EnGo2* this, PlayState* play) { } } } else { - this->collider.elem.bumperFlags = BUMP_NONE; + this->collider.elem.acElemFlags = ACELEM_NONE; } this->actor.shape.rot = this->actor.world.rot; 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 14a22e3408..1734511c51 100644 --- a/src/overlays/actors/ovl_En_Goma/z_en_goma.c +++ b/src/overlays/actors/ovl_En_Goma/z_en_goma.c @@ -67,8 +67,8 @@ static ColliderCylinderInit D_80A4B7A0 = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFDFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 15, 30, 10, { 0, 0, 0 } }, @@ -87,8 +87,8 @@ static ColliderCylinderInit D_80A4B7CC = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFDFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 15, 30, 10, { 0, 0, 0 } }, @@ -623,7 +623,7 @@ void EnGoma_UpdateHit(EnGoma* this, PlayState* play) { this->colCyl2.base.acFlags &= ~AC_HIT; if (this->gomaType == ENGOMA_NORMAL) { - u32 dmgFlags = acHitElem->toucher.dmgFlags; + u32 dmgFlags = acHitElem->atDmgInfo.dmgFlags; if (dmgFlags & DMG_SHIELD) { if (this->actionFunc == EnGoma_Jump) { diff --git a/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c b/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c index 59068e93d6..23df326169 100644 --- a/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c +++ b/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c @@ -61,8 +61,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = { ELEMTYPE_UNK0, { 0x20000000, 0x00, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 58 }, 100 }, 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 3964881ebe..d367633af6 100644 --- a/src/overlays/actors/ovl_En_Gs/z_en_gs.c +++ b/src/overlays/actors/ovl_En_Gs/z_en_gs.c @@ -46,8 +46,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 21, 48, 0, { 0, 0, 0 } }, diff --git a/src/overlays/actors/ovl_En_Hata/z_en_hata.c b/src/overlays/actors/ovl_En_Hata/z_en_hata.c index 4e80c5a5a1..dcf9aca99b 100644 --- a/src/overlays/actors/ovl_En_Hata/z_en_hata.c +++ b/src/overlays/actors/ovl_En_Hata/z_en_hata.c @@ -40,8 +40,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000080, 0x00, 0x00 }, - TOUCH_NONE | TOUCH_SFX_NORMAL, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_NONE | ATELEM_SFX_NORMAL, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 16, 246, 0, { 0, 0, 0 } }, 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 7255fba4aa..762fa5d6c6 100644 --- a/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c +++ b/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c @@ -75,8 +75,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 33, 40, 0, { 0, 0, 0 } }, diff --git a/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c b/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c index 1f33fb4b47..c38744ea2b 100644 --- a/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c +++ b/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c @@ -50,8 +50,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 15, 70, 0, { 0, 0, 0 } }, 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 691f0bb641..373d28ca90 100644 --- a/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c +++ b/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c @@ -48,8 +48,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 33, 40, 0, { 0, 0, 0 } }, 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 c9007ebd9b..08468d132b 100644 --- a/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c +++ b/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c @@ -52,8 +52,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 18, 32, 0, { 0, 0, 0 } }, 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 e55c65d345..921156ee51 100644 --- a/src/overlays/actors/ovl_En_Holl/z_en_holl.c +++ b/src/overlays/actors/ovl_En_Holl/z_en_holl.c @@ -256,14 +256,12 @@ void EnHoll_HorizontalInvisible(EnHoll* this, PlayState* play) { void EnHoll_VerticalDownBgCoverLarge(EnHoll* this, PlayState* play) { Player* player = GET_PLAYER(play); f32 absYDistToPlayer = fabsf(this->actor.yDistToPlayer); - s32 transitionActorIndex; if (this->actor.xzDistToPlayer < ENHOLL_V_DOWN_RADIUS && // Nothing happens if `absYDistToPlayer > ENHOLL_V_DOWN_BGCOVER_YDIST`, // so this check may as well compare to ENHOLL_V_DOWN_BGCOVER_YDIST absYDistToPlayer < (ENHOLL_V_DOWN_BGCOVER_YDIST + 95.0f)) { - - transitionActorIndex = GET_TRANSITION_ACTOR_INDEX(&this->actor); + s32 transitionActorIndex = GET_TRANSITION_ACTOR_INDEX(&this->actor); if (absYDistToPlayer < ENHOLL_V_DOWN_LOAD_YDIST) { play->bgCoverAlpha = 255; @@ -295,8 +293,6 @@ void EnHoll_VerticalDownBgCoverLarge(EnHoll* this, PlayState* play) { void EnHoll_VerticalBgCover(EnHoll* this, PlayState* play) { f32 absYDistToPlayer; - s32 side; - s32 transitionActorIndex; if ((this->actor.xzDistToPlayer < ENHOLL_V_RADIUS) && (absYDistToPlayer = fabsf(this->actor.yDistToPlayer), absYDistToPlayer < ENHOLL_V_BGCOVER_BGCOVER_YDIST)) { @@ -309,8 +305,9 @@ void EnHoll_VerticalBgCover(EnHoll* this, PlayState* play) { } if (absYDistToPlayer > ENHOLL_V_BGCOVER_LOAD_YDIST) { - transitionActorIndex = GET_TRANSITION_ACTOR_INDEX(&this->actor); - side = (this->actor.yDistToPlayer > 0.0f) ? 0 : 1; + s32 transitionActorIndex = GET_TRANSITION_ACTOR_INDEX(&this->actor); + s32 side = (this->actor.yDistToPlayer > 0.0f) ? 0 : 1; + this->actor.room = play->transiActorCtx.list[transitionActorIndex].sides[side].room; if (this->actor.room != play->roomCtx.curRoom.num && func_8009728C(play, &play->roomCtx, this->actor.room)) { @@ -348,10 +345,6 @@ void EnHoll_VerticalInvisible(EnHoll* this, PlayState* play) { void EnHoll_HorizontalBgCoverSwitchFlag(EnHoll* this, PlayState* play) { Player* player = GET_PLAYER(play); - Vec3f relPlayerPos; - f32 orthogonalDistToPlayer; - s32 side; - s32 transitionActorIndex; if (!Flags_GetSwitch(play, ENHOLL_GET_SWITCH_FLAG(&this->actor))) { if (this->resetBgCoverAlpha) { @@ -359,15 +352,17 @@ void EnHoll_HorizontalBgCoverSwitchFlag(EnHoll* this, PlayState* play) { this->resetBgCoverAlpha = false; } } else { + Vec3f relPlayerPos; + f32 orthogonalDistToPlayer; + func_8002DBD0(&this->actor, &relPlayerPos, &player->actor.world.pos); orthogonalDistToPlayer = fabsf(relPlayerPos.z); if (ENHOLL_H_Y_MIN < relPlayerPos.y && relPlayerPos.y < ENHOLL_H_Y_MAX && fabsf(relPlayerPos.x) < ENHOLL_H_HALFWIDTH && orthogonalDistToPlayer < ENHOLL_H_SWITCHFLAG_BGCOVER_DEPTH) { + s32 transitionActorIndex = GET_TRANSITION_ACTOR_INDEX(&this->actor); this->resetBgCoverAlpha = true; - transitionActorIndex = GET_TRANSITION_ACTOR_INDEX(&this->actor); - play->bgCoverAlpha = 255 - (s32)((orthogonalDistToPlayer - ENHOLL_H_SWITCHFLAG_LOAD_DEPTH) * (255 / (ENHOLL_H_SWITCHFLAG_BGCOVER_DEPTH - ENHOLL_H_SWITCHFLAG_LOAD_DEPTH) + 0.8f)); @@ -378,7 +373,8 @@ void EnHoll_HorizontalBgCoverSwitchFlag(EnHoll* this, PlayState* play) { } if (orthogonalDistToPlayer < ENHOLL_H_SWITCHFLAG_LOAD_DEPTH) { - side = (relPlayerPos.z < 0.0f) ? 0 : 1; + s32 side = (relPlayerPos.z < 0.0f) ? 0 : 1; + this->actor.room = play->transiActorCtx.list[transitionActorIndex].sides[side].room; if (this->actor.room != play->roomCtx.curRoom.num && func_8009728C(play, &play->roomCtx, this->actor.room)) { 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 5b9ecb2213..8e3a20b269 100644 --- a/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.c +++ b/src/overlays/actors/ovl_En_Honotrap/z_en_honotrap.c @@ -66,8 +66,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = { ELEMTYPE_UNK4, { 0x00000000, 0x00, 0x00 }, { 0x0001F824, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 0.0f, 23.0f, 8.5f }, { -23.0f, 0.0f, 8.5f }, { 0.0f, -23.0f, 8.5f } } }, @@ -77,8 +77,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x0001F824, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 0.0f, 23.0f, 8.5f }, { 0.0f, -23.0f, 8.5f }, { 23.0f, 0.0f, 8.5f } } }, @@ -111,8 +111,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x04 }, { 0x00100000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_ON, OCELEM_ON, }, { 10, 25, 0, { 0, 0, 0 } }, 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 20324e670a..43937fd02a 100644 --- a/src/overlays/actors/ovl_En_Horse/z_en_horse.c +++ b/src/overlays/actors/ovl_En_Horse/z_en_horse.c @@ -91,8 +91,8 @@ static ColliderCylinderInit sCylinderInit1 = { ELEMTYPE_UNK0, { 0x00000400, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_ON, }, { 20, 70, 0, { 0, 0, 0 } }, @@ -111,8 +111,8 @@ static ColliderCylinderInit sCylinderInit2 = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 20, 70, 0, { 0, 0, 0 } }, @@ -124,8 +124,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[1] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x0001F824, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_NO_AT_INFO | BUMP_NO_DAMAGE | BUMP_NO_SWORD_SFX | BUMP_NO_HITMARK, + ATELEM_NONE, + ACELEM_ON | ACELEM_NO_AT_INFO | ACELEM_NO_DAMAGE | ACELEM_NO_SWORD_SFX | ACELEM_NO_HITMARK, OCELEM_ON, }, { 13, { { 0, 0, 0 }, 20 }, 100 }, diff --git a/src/overlays/actors/ovl_En_Horse_Ganon/z_en_horse_ganon.c b/src/overlays/actors/ovl_En_Horse_Ganon/z_en_horse_ganon.c index f8f6c79944..0b324c3089 100644 --- a/src/overlays/actors/ovl_En_Horse_Ganon/z_en_horse_ganon.c +++ b/src/overlays/actors/ovl_En_Horse_Ganon/z_en_horse_ganon.c @@ -55,8 +55,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 40, 100, 0, { 0, 0, 0 } }, @@ -68,8 +68,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 13, { { 0, 0, 0 }, 20 }, 100 }, 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 2eedfd0b65..698a026306 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 @@ -48,8 +48,8 @@ static ColliderCylinderInitType1 sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 20, 100, 0, { 0, 0, 0 } }, @@ -61,8 +61,8 @@ static ColliderJntSphElementInit sJntSphElementInit[1] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 13, { { 0, 0, 0 }, 10 }, 100 }, 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 5b8aebc28b..443dcf15c3 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 @@ -70,8 +70,8 @@ static ColliderCylinderInit sCylinderInit1 = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 40, 100, 0, { 0, 0, 0 } }, @@ -90,8 +90,8 @@ static ColliderCylinderInit sCylinderInit2 = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 60, 100, 0, { 0, 0, 0 } }, @@ -103,8 +103,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 11, { { 0, 0, 0 }, 20 }, 100 }, diff --git a/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c b/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c index e3bd35ec39..e3da728e85 100644 --- a/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c +++ b/src/overlays/actors/ovl_En_Horse_Zelda/z_en_horse_zelda.c @@ -46,8 +46,8 @@ static ColliderCylinderInitType1 sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 40, 100, 0, { 0, 0, 0 } }, @@ -59,8 +59,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 13, { { 0, 0, 0 }, 20 }, 100 }, 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 7fb650ef73..09b1da8dda 100644 --- a/src/overlays/actors/ovl_En_Hs/z_en_hs.c +++ b/src/overlays/actors/ovl_En_Hs/z_en_hs.c @@ -43,8 +43,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 40, 40, 0, { 0, 0, 0 } }, 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 5d402a3c4f..d84e35c4ef 100644 --- a/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c +++ b/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c @@ -41,8 +41,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 40, 40, 0, { 0, 0, 0 } }, 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 7394b7c5d4..37e0666f3e 100644 --- a/src/overlays/actors/ovl_En_Hy/z_en_hy.c +++ b/src/overlays/actors/ovl_En_Hy/z_en_hy.c @@ -57,8 +57,8 @@ static ColliderCylinderInit sColCylInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 20, 46, 0, { 0, 0, 0 } }, 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 1528f2b20e..2a7e7006b0 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 @@ -49,8 +49,8 @@ static ColliderCylinderInit sCylinderInitCapturableFlame = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 25, 80, 0, { 0, 0, 0 } }, @@ -69,8 +69,8 @@ static ColliderCylinderInit sCylinderInitDroppedFlame = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 12, 60, 0, { 0, 0, 0 } }, 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 cc8dabe251..da82e07253 100644 --- a/src/overlays/actors/ovl_En_Ik/z_en_ik.c +++ b/src/overlays/actors/ovl_En_Ik/z_en_ik.c @@ -78,8 +78,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_NONE, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 25, 80, 0, { 0, 0, 0 } }, @@ -91,8 +91,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = { ELEMTYPE_UNK2, { 0x00000000, 0x00, 0x00 }, { 0xFFC3FFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_NO_AT_INFO, + ATELEM_NONE, + ACELEM_ON | ACELEM_NO_AT_INFO, OCELEM_NONE, }, { { { -10.0f, 14.0f, 2.0f }, { -10.0f, -6.0f, 2.0f }, { 9.0f, 14.0f, 2.0f } } }, @@ -102,8 +102,8 @@ static ColliderTrisElementInit sTrisElementsInit[2] = { ELEMTYPE_UNK2, { 0x00000000, 0x00, 0x00 }, { 0xFFC3FFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_NO_AT_INFO, + ATELEM_NONE, + ACELEM_ON | ACELEM_NO_AT_INFO, OCELEM_NONE, }, { { { -10.0f, -6.0f, 2.0f }, { 9.0f, -6.0f, 2.0f }, { 9.0f, 14.0f, 2.0f } } }, @@ -136,8 +136,8 @@ static ColliderQuadInit sQuadInit = { ELEMTYPE_UNK0, { 0x20000000, 0x00, 0x40 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL | TOUCH_UNK7, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL | ATELEM_UNK7, + ACELEM_NONE, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, 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 7ffd182239..f41fd6fe1d 100644 --- a/src/overlays/actors/ovl_En_In/z_en_in.c +++ b/src/overlays/actors/ovl_En_In/z_en_in.c @@ -49,8 +49,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 18, 46, 0, { 0, 0, 0 } }, diff --git a/src/overlays/actors/ovl_En_Insect/z_en_insect.c b/src/overlays/actors/ovl_En_Insect/z_en_insect.c index 63d11a8b65..8d2bd997fc 100644 --- a/src/overlays/actors/ovl_En_Insect/z_en_insect.c +++ b/src/overlays/actors/ovl_En_Insect/z_en_insect.c @@ -60,8 +60,8 @@ static ColliderJntSphElementInit sColliderItemInit[1] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 5 }, 100 }, 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 c89b0aef0d..2fbcf5fe68 100644 --- a/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c +++ b/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c @@ -73,8 +73,8 @@ static ColliderCylinderInit sCylinderInits[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x4FC1FFFE, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 10, 18, -2, { 0, 0, 0 } }, @@ -92,8 +92,8 @@ static ColliderCylinderInit sCylinderInits[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x4FC1FFF6, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 55, 70, 0, { 0, 0, 0 } }, @@ -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.elem.acHitElem->toucher.dmgFlags & (DMG_HAMMER | DMG_EXPLOSIVE)) { + this->collider.elem.acHitElem->atDmgInfo.dmgFlags & (DMG_HAMMER | DMG_EXPLOSIVE)) { EnIshi_DropCollectible(this, play); SfxSource_PlaySfxAtFixedWorldPos(play, &this->actor.world.pos, sBreakSfxDurations[type], sBreakSfxIds[type]); sFragmentSpawnFuncs[type](this, play); diff --git a/src/overlays/actors/ovl_En_It/z_en_it.c b/src/overlays/actors/ovl_En_It/z_en_it.c index d12620916e..39c0a913d4 100644 --- a/src/overlays/actors/ovl_En_It/z_en_it.c +++ b/src/overlays/actors/ovl_En_It/z_en_it.c @@ -25,8 +25,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 40, 10, 0, { 0 } }, 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 5411cab0db..9162737dc4 100644 --- a/src/overlays/actors/ovl_En_Jj/z_en_jj.c +++ b/src/overlays/actors/ovl_En_Jj/z_en_jj.c @@ -42,7 +42,6 @@ ActorInit En_Jj_InitVars = { static s32 sUnused = 0; -#pragma asmproc recurse #include "z_en_jj_cutscene_data.inc.c" static s32 sUnused2[] = { 0, 0 }; @@ -60,8 +59,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000004, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 170, 150, 0, { 0, 0, 0 } }, diff --git a/src/overlays/actors/ovl_En_Jj/z_en_jj_cutscene_data.inc.c b/src/overlays/actors/ovl_En_Jj/z_en_jj_cutscene_data.inc.c index 4f29c43c31..14331f81d8 100644 --- a/src/overlays/actors/ovl_En_Jj/z_en_jj_cutscene_data.inc.c +++ b/src/overlays/actors/ovl_En_Jj/z_en_jj_cutscene_data.inc.c @@ -5,154 +5,154 @@ static CutsceneData D_80A88164[] = { CS_BEGIN_CUTSCENE(26, 1629), CS_PLAYER_CUE_LIST(4), - CS_PLAYER_CUE(PLAYER_CUEID_5, 0, 240, 0x0000, 0x4000, 0x0000, -1732, 52, -44, -1732, 52, -44, 1.1393037e-29f, 0.0f, 1.4e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_3, 240, 255, 0x0000, 0x4000, 0x0000, -1732, 52, -44, -1732, 52, -44, 1.1393037e-29f, 0.0f, 1.4e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_6, 255, 285, 0x0000, 0x4000, 0x0000, -1732, 52, -44, -1732, 52, -44, 1.1393037e-29f, 0.0f, 1.4e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_32, 285, 300, 0x0000, 0xC000, 0x0000, -1732, 52, -44, -1537, 109, -44, 1.1393037e-29f, 0.0f, 1.4e-45f), + CS_PLAYER_CUE(PLAYER_CUEID_5, 0, 240, 0x0000, 0x4000, 0x0000, -1732, 52, -44, -1732, 52, -44, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_3, 240, 255, 0x0000, 0x4000, 0x0000, -1732, 52, -44, -1732, 52, -44, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_6, 255, 285, 0x0000, 0x4000, 0x0000, -1732, 52, -44, -1732, 52, -44, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_32, 285, 300, 0x0000, 0xC000, 0x0000, -1732, 52, -44, -1537, 109, -44, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), CS_ACTOR_CUE_LIST(68, 4), - CS_ACTOR_CUE(0x0001, 0, 234, 0x0000, 0x4000, 0x0000, -1665, 52, -44, -1665, 52, -44, 1.1393037e-29f, 0.0f, 1.4e-45f), - CS_ACTOR_CUE(0x0002, 234, 241, 0x41F8, 0x0000, 0x0000, -1665, 52, -44, -1603, 130, -47, 8.857142f, 11.142858f, -8.857142f), - CS_ACTOR_CUE(0x0002, 241, 280, 0x4031, 0x0000, 0x0000, -1603, 130, -47, -549, 130, -52, 27.02564f, 0.0f, -27.02564f), - CS_ACTOR_CUE(0x0003, 280, 300, 0x0000, 0x0000, 0x0000, -549, 130, -52, -549, 130, -52, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 234, 0x0000, 0x4000, 0x0000, -1665, 52, -44, -1665, 52, -44, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_ACTOR_CUE(0x0002, 234, 241, 0x41F8, 0x0000, 0x0000, -1665, 52, -44, -1603, 130, -47, CS_FLOAT(0x410DB6DB, 8.857142f), CS_FLOAT(0x41324925, 11.142858f), CS_FLOAT(0xC10DB6DB, -8.857142f)), + CS_ACTOR_CUE(0x0002, 241, 280, 0x4031, 0x0000, 0x0000, -1603, 130, -47, -549, 130, -52, CS_FLOAT(0x41D83483, 27.02564f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0xC1D83483, -27.02564f)), + CS_ACTOR_CUE(0x0003, 280, 300, 0x0000, 0x0000, 0x0000, -549, 130, -52, -549, 130, -52, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_ACTOR_CUE_LIST(67, 5), - CS_ACTOR_CUE(0x0001, 0, 93, 0x0000, 0x0000, 0x0000, 0, 51, 124, 0, 51, 124, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0003, 93, 121, 0x0000, 0x0000, 0x0000, 0, 51, 124, 0, 51, 124, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0001, 121, 146, 0x0000, 0x0000, 0x0000, 0, 51, 124, 0, 51, 124, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0002, 146, 241, 0x0000, 0x0000, 0x0000, 0, 51, 124, 0, 51, 124, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0001, 241, 441, 0x0000, 0x0000, 0x0000, 0, 51, 124, 0, 51, 124, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 93, 0x0000, 0x0000, 0x0000, 0, 51, 124, 0, 51, 124, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0003, 93, 121, 0x0000, 0x0000, 0x0000, 0, 51, 124, 0, 51, 124, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0001, 121, 146, 0x0000, 0x0000, 0x0000, 0, 51, 124, 0, 51, 124, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0002, 146, 241, 0x0000, 0x0000, 0x0000, 0, 51, 124, 0, 51, 124, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0001, 241, 441, 0x0000, 0x0000, 0x0000, 0, 51, 124, 0, 51, 124, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_ACTOR_CUE_LIST(69, 3), - CS_ACTOR_CUE(0x0001, 0, 90, 0x0000, 0x0000, 0x0000, 0, -33, 9, 0, -33, 9, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0002, 90, 330, 0x0000, 0x0000, 0x0000, 0, -33, 9, 0, -62, 22, 0.0f, -0.12083333f, 0.0f), - CS_ACTOR_CUE(0x0003, 330, 380, 0x0000, 0x0000, 0x0000, 0, -62, 22, 0, -62, 22, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 90, 0x0000, 0x0000, 0x0000, 0, -33, 9, 0, -33, 9, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0002, 90, 330, 0x0000, 0x0000, 0x0000, 0, -33, 9, 0, -62, 22, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0xBDF77777, -0.12083333f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0003, 330, 380, 0x0000, 0x0000, 0x0000, 0, -62, 22, 0, -62, 22, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_MISC_LIST(1), CS_MISC(CS_MISC_STOP_CUTSCENE, 1095, 1161, 0x0000, 0x00000000, 0xFFFFFFD2, 0x00000000, 0xFFFFFFD0, 0xFFFFFFD2, 0x00000000, 0xFFFFFFD0, 0x00000000, 0x00000000, 0x00000000), CS_TRANSITION(CS_TRANS_TRIGGER_INSTANCE, 0, 10), CS_PLAYER_CUE_LIST(1), - CS_PLAYER_CUE(PLAYER_CUEID_53, 300, 1629, 0x0000, 0x0000, 0x0000, -1630, 52, -52, -1630, 52, -52, 0.0f, 0.0f, 0.0f), + CS_PLAYER_CUE(PLAYER_CUEID_53, 300, 1629, 0x0000, 0x0000, 0x0000, -1630, 52, -52, -1630, 52, -52, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_CAM_EYE_SPLINE(0, 1091), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1641, 95, -41, 0x015C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1641, 95, -41, 0x016D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1641, 95, -41, 0x017E), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1641, 95, -41, 0x0223), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.399944f, -1641, 95, -41, 0x7065), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1641, 95, -41, 0x015C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1641, 95, -41, 0x016D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1641, 95, -41, 0x017E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1641, 95, -41, 0x0223), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1641, 95, -41, 0x7065), CS_CAM_EYE_SPLINE(60, 1151), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1532, 251, 222, 0x015C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1532, 251, 222, 0x016D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1532, 251, 222, 0x017E), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1532, 251, 222, 0x0223), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.399944f, -1532, 251, 222, 0x7065), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1532, 251, 222, 0x015C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1532, 251, 222, 0x016D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1532, 251, 222, 0x017E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1532, 251, 222, 0x0223), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1532, 251, 222, 0x7065), CS_CAM_EYE_SPLINE(90, 351), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1698, 382, 455, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1698, 382, 455, 0xAC34), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1698, 382, 455, 0x4428), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1694, 380, 451, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 32.999897f, -1694, 380, 451, 0xAC10), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 32.999897f, -1694, 380, 451, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 32.999897f, -1694, 380, 451, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 32.999897f, -1694, 380, 451, 0x0164), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 32.999897f, -1694, 380, 451, 0xAD78), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1698, 382, 455, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1698, 382, 455, 0xAC34), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1698, 382, 455, 0x4428), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1694, 380, 451, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4203FFE5, 32.999897f), -1694, 380, 451, 0xAC10), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4203FFE5, 32.999897f), -1694, 380, 451, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4203FFE5, 32.999897f), -1694, 380, 451, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4203FFE5, 32.999897f), -1694, 380, 451, 0x0164), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4203FFE5, 32.999897f), -1694, 380, 451, 0xAD78), CS_CAM_EYE_SPLINE(220, 392), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1641, 95, -41, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1641, 95, -41, 0xAC34), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1641, 95, -41, 0x4428), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1641, 95, -41, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1641, 95, -41, 0xAC10), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1641, 95, -41, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.399944f, -1641, 95, -41, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1641, 95, -41, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1641, 95, -41, 0xAC34), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1641, 95, -41, 0x4428), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1641, 95, -41, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1641, 95, -41, 0xAC10), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1641, 95, -41, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1641, 95, -41, 0x0000), CS_CAM_EYE_SPLINE(240, 1331), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, -1810, 65, -15, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, -1810, 65, -15, 0xAC34), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, -1810, 65, -15, 0x4428), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, -1810, 65, -15, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.599945f, -1810, 65, -15, 0xAC10), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), -1810, 65, -15, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), -1810, 65, -15, 0xAC34), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), -1810, 65, -15, 0x4428), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), -1810, 65, -15, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), -1810, 65, -15, 0xAC10), CS_CAM_EYE_SPLINE(280, 1371), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, -1531, 95, -7, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, -1531, 95, -7, 0xAC34), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, -1531, 95, -7, 0x4428), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, -1531, 95, -7, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.599945f, -1531, 95, -7, 0xAC10), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), -1531, 95, -7, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), -1531, 95, -7, 0xAC34), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), -1531, 95, -7, 0x4428), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), -1531, 95, -7, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), -1531, 95, -7, 0xAC10), CS_CAM_EYE_SPLINE(310, 1421), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1717, 83, -59, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1717, 83, -59, 0xAC34), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1649, 177, -59, 0x4428), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1533, 224, -59, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -1243, 180, -59, 0xAC10), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -953, 71, -55, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -953, 71, -55, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, -953, 71, -55, 0x0164), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.399944f, -953, 71, -55, 0xAD78), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1717, 83, -59, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1717, 83, -59, 0xAC34), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1649, 177, -59, 0x4428), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1533, 224, -59, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -1243, 180, -59, 0xAC10), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -953, 71, -55, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -953, 71, -55, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -953, 71, -55, 0x0164), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), -953, 71, -55, 0xAD78), CS_CAM_EYE_SPLINE(355, 1466), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1830, 103, 18, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1830, 103, 18, 0xAC34), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1830, 103, 18, 0x4428), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1830, 103, 18, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1830, 103, 18, 0xAC10), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1830, 103, 18, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.600002f, -1830, 103, 18, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1830, 103, 18, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1830, 103, 18, 0xAC34), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1830, 103, 18, 0x4428), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1830, 103, 18, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1830, 103, 18, 0xAC10), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1830, 103, 18, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1830, 103, 18, 0x0000), CS_CAM_AT_SPLINE(0, 1120), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, -1724, -5, -45, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, -1724, -5, -45, 0xAC34), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 45.399944f, -1724, -5, -45, 0x4428), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, -1724, -5, -45, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.399944f, -1724, -5, -45, 0xAC10), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -1724, -5, -45, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -1724, -5, -45, 0xAC34), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4235998B, 45.399944f), -1724, -5, -45, 0x4428), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -1724, -5, -45, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -1724, -5, -45, 0xAC10), CS_CAM_AT_SPLINE(60, 1180), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, -1440, 241, 134, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, -1440, 241, 134, 0xAC34), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 45.399944f, -1440, 241, 134, 0x4428), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, -1440, 241, 134, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.399944f, -1440, 241, 134, 0xAC10), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -1440, 241, 134, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -1440, 241, 134, 0xAC34), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4235998B, 45.399944f), -1440, 241, 134, 0x4428), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -1440, 241, 134, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -1440, 241, 134, 0xAC10), CS_CAM_AT_SPLINE(90, 380), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, -1610, 348, 373, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, -1610, 348, 373, 0xAC34), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 45.399944f, -1610, 348, 373, 0x4428), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 35.399906f, -1614, 338, 367, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 32.999897f, -1614, 338, 367, 0xAC10), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 32.999897f, -1614, 338, 367, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 32.999897f, -1614, 338, 367, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 32.999897f, -1614, 338, 367, 0x0164), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 32.999897f, -1614, 338, 367, 0xAD78), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -1610, 348, 373, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -1610, 348, 373, 0xAC34), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x4235998B, 45.399944f), -1610, 348, 373, 0x4428), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x420D9981, 35.399906f), -1614, 338, 367, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4203FFE5, 32.999897f), -1614, 338, 367, 0xAC10), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4203FFE5, 32.999897f), -1614, 338, 367, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4203FFE5, 32.999897f), -1614, 338, 367, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4203FFE5, 32.999897f), -1614, 338, 367, 0x0164), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4203FFE5, 32.999897f), -1614, 338, 367, 0xAD78), CS_CAM_AT_SPLINE(220, 421), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, -1724, -5, -45, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 70, 45.399944f, -1724, -5, -45, 0xAC34), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, 45.399944f, -1724, -5, -45, 0x4428), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 6, 45.799946f, -1593, 150, -146, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, -1531, 152, -75, 0xAC10), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, -1531, 152, -75, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.399944f, -1531, 152, -75, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -1724, -5, -45, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 70, CS_FLOAT(0x4235998B, 45.399944f), -1724, -5, -45, 0xAC34), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 5, CS_FLOAT(0x4235998B, 45.399944f), -1724, -5, -45, 0x4428), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 6, CS_FLOAT(0x42373325, 45.799946f), -1593, 150, -146, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -1531, 152, -75, 0xAC10), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -1531, 152, -75, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -1531, 152, -75, 0x0000), CS_CAM_AT_SPLINE(240, 1360), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.599945f, -1712, 74, -37, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.599945f, -1712, 74, -37, 0xAC34), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 45.599945f, -1712, 74, -37, 0x4428), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.599945f, -1712, 74, -37, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.599945f, -1712, 74, -37, 0xAC10), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42366658, 45.599945f), -1712, 74, -37, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42366658, 45.599945f), -1712, 74, -37, 0xAC34), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x42366658, 45.599945f), -1712, 74, -37, 0x4428), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42366658, 45.599945f), -1712, 74, -37, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42366658, 45.599945f), -1712, 74, -37, 0xAC10), CS_CAM_AT_SPLINE(280, 1400), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.599945f, -1619, 99, -50, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.599945f, -1619, 99, -50, 0xAC34), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 45.599945f, -1619, 99, -50, 0x4428), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.599945f, -1619, 99, -50, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.599945f, -1619, 99, -50, 0xAC10), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42366658, 45.599945f), -1619, 99, -50, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42366658, 45.599945f), -1619, 99, -50, 0xAC34), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x42366658, 45.599945f), -1619, 99, -50, 0x4428), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42366658, 45.599945f), -1619, 99, -50, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42366658, 45.599945f), -1619, 99, -50, 0xAC10), CS_CAM_AT_SPLINE(310, 1450), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x0B, 30, 90.9996f, -1610, 141, -59, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x09, 10, 90.79961f, -1599, 114, -57, 0xAC34), - CS_CAM_POINT(CS_CAM_CONTINUE, 0xFC, 10, 90.39961f, -1528, 192, -54, 0x4428), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 90.59961f, -1427, 164, -54, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0xCB, 10, 90.39961f, -1138, 119, -37, 0xAC10), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x20, 10, 90.39961f, -832, 50, -51, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 45.399944f, -836, 35, -51, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, -836, 35, -51, 0x0164), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.399944f, -836, 35, -51, 0xAD78), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x0B, 30, CS_FLOAT(0x42B5FFCC, 90.9996f), -1610, 141, -59, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x09, 10, CS_FLOAT(0x42B59966, 90.79961f), -1599, 114, -57, 0xAC34), + CS_CAM_POINT(CS_CAM_CONTINUE, 0xFC, 10, CS_FLOAT(0x42B4CC9A, 90.39961f), -1528, 192, -54, 0x4428), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42B53300, 90.59961f), -1427, 164, -54, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0xCB, 10, CS_FLOAT(0x42B4CC9A, 90.39961f), -1138, 119, -37, 0xAC10), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x20, 10, CS_FLOAT(0x42B4CC9A, 90.39961f), -832, 50, -51, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4235998B, 45.399944f), -836, 35, -51, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -836, 35, -51, 0x0164), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), -836, 35, -51, 0xAD78), CS_CAM_AT_SPLINE(355, 1495), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, -1706, 111, -6, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, -1706, 111, -6, 0xAC34), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.600002f, -1706, 111, -6, 0x4428), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.600002f, -1721, 82, -42, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 60.600002f, -1721, 82, -42, 0xAC10), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, -1721, 82, -42, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.600002f, -1721, 82, -42, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), -1706, 111, -6, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), -1706, 111, -6, 0xAC34), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42726667, 60.600002f), -1706, 111, -6, 0x4428), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42726667, 60.600002f), -1721, 82, -42, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x42726667, 60.600002f), -1721, 82, -42, 0xAC10), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), -1721, 82, -42, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), -1721, 82, -42, 0x0000), CS_TRANSITION(CS_TRANS_BLACK_FILL_IN, 335, 342), CS_DESTINATION(CS_DEST_JABU_JABU, 345, 395), CS_ACTOR_CUE_LIST(62, 1), - CS_ACTOR_CUE(0x0001, 305, 494, 0x0000, 0x0000, 0x0000, -1399, 452, -53, -1399, 452, -53, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 305, 494, 0x0000, 0x0000, 0x0000, -1399, 452, -53, -1399, 452, -53, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_END(), }; // clang-format on 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 9f1766c904..667ebf7404 100644 --- a/src/overlays/actors/ovl_En_Js/z_en_js.c +++ b/src/overlays/actors/ovl_En_Js/z_en_js.c @@ -41,8 +41,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 30, 40, 0, { 0, 0, 0 } }, 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 e5913e48c4..0d7cd9d831 100644 --- a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c +++ b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c @@ -35,8 +35,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE | BUMP_HOOKABLE, + ATELEM_NONE, + ACELEM_NONE | ACELEM_HOOKABLE, OCELEM_ON, }, { 20, 70, 0, { 0, 0, 0 } }, diff --git a/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c b/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c index 5d6e3416a8..31b3b3d006 100644 --- a/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c +++ b/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c @@ -23,8 +23,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_NONE, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 20, 70, 0, { 0, 0, 0 } }, 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 37b536f0b0..669596dd81 100644 --- a/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c +++ b/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c @@ -39,8 +39,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_NONE, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 20, 70, 0, { 0, 0, 0 } }, 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 bd5edc270c..dd9aecd4e4 100644 --- a/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c +++ b/src/overlays/actors/ovl_En_Kanban/z_en_kanban.c @@ -100,8 +100,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 20, 50, 5, { 0, 0, 0 } }, @@ -303,7 +303,7 @@ void EnKanban_Update(Actor* thisx, PlayState* play2) { s16 yawDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; u8 i; - if (acHitElem->toucher.dmgFlags & DMG_SLASH) { + if (acHitElem->atDmgInfo.dmgFlags & DMG_SLASH) { this->cutType = sCutTypes[player->meleeWeaponAnimation]; } else { this->cutType = CUT_POST; 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 523b041522..53fb55984d 100644 --- a/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c +++ b/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c @@ -54,8 +54,8 @@ static ColliderCylinderInit sBodyColliderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 7, 25, 0, { 0, 0, 0 } }, @@ -74,8 +74,8 @@ static ColliderCylinderInit sHeadColliderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_HARD, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_HARD, + ACELEM_NONE, OCELEM_ON, }, { 4, 25, 0, { 0, 0, 0 } }, @@ -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.elem.bumper.dmgFlags = DMG_DEFAULT; + this->bodyCollider.elem.acDmgInfo.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.elem.bumper.dmgFlags = + this->bodyCollider.elem.acDmgInfo.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; 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 3fbf937024..72c74e0741 100644 --- a/src/overlays/actors/ovl_En_Ko/z_en_ko.c +++ b/src/overlays/actors/ovl_En_Ko/z_en_ko.c @@ -55,8 +55,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 20, 46, 0, { 0, 0, 0 } }, diff --git a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c index 4dbfaeacaa..3e6bbb6c78 100644 --- a/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c +++ b/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c @@ -68,8 +68,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x4FC00758, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 12, 44, 0, { 0, 0, 0 } }, 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 837f86f87b..ce431636a1 100644 --- a/src/overlays/actors/ovl_En_Kz/z_en_kz.c +++ b/src/overlays/actors/ovl_En_Kz/z_en_kz.c @@ -47,8 +47,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 80, 120, 0, { 0, 0, 0 } }, diff --git a/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1.c b/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1.c index 038bb1bf11..5de6557784 100644 --- a/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1.c +++ b/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1.c @@ -37,8 +37,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK2, { 0x00000001, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 200, 200, 0, { 0 } }, 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 e1e6068017..2bc4831539 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 @@ -37,8 +37,8 @@ static ColliderCylinderInit D_80AA0420 = { ELEMTYPE_UNK2, { 0x00000001, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_ON, OCELEM_ON, }, { 200, 200, 0, { 0, 0, 0 } }, @@ -90,7 +90,7 @@ void EnMThunder_Init(Actor* thisx, PlayState* play2) { player->stateFlags2 &= ~PLAYER_STATE2_17; this->unk_1CA = 1; - this->collider.elem.toucher.dmgFlags = D_80AA044C[this->unk_1C7]; + this->collider.elem.atDmgInfo.dmgFlags = D_80AA044C[this->unk_1C7]; this->unk_1C6 = 1; this->unk_1C9 = ((this->unk_1C7 == 1) ? 2 : 4); func_80A9EFE0(this, func_80A9F9B4); @@ -189,11 +189,11 @@ void func_80A9F408(EnMThunder* this, PlayState* play) { gSaveContext.magicState = MAGIC_STATE_CONSUME_SETUP; } if (player->unk_858 < 0.85f) { - this->collider.elem.toucher.dmgFlags = D_80AA044C[this->unk_1C7]; + this->collider.elem.atDmgInfo.dmgFlags = D_80AA044C[this->unk_1C7]; this->unk_1C6 = 1; this->unk_1C9 = ((this->unk_1C7 == 1) ? 2 : 4); } else { - this->collider.elem.toucher.dmgFlags = D_80AA0458[this->unk_1C7]; + this->collider.elem.atDmgInfo.dmgFlags = D_80AA0458[this->unk_1C7]; this->unk_1C6 = 0; this->unk_1C9 = ((this->unk_1C7 == 1) ? 4 : 8); } 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 a0da7b0cd1..26795a516b 100644 --- a/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c +++ b/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c @@ -48,8 +48,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 18, 46, 0, { 0, 0, 0 } }, 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 99622ab6b9..d840a4b538 100644 --- a/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c +++ b/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c @@ -42,8 +42,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 18, 46, 0, { 0, 0, 0 } }, 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 e769d93669..2bbc185636 100644 --- a/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c +++ b/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c @@ -45,8 +45,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 18, 46, 0, { 0, 0, 0 } }, 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 621d2e4a95..92f3aac854 100644 --- a/src/overlays/actors/ovl_En_Mb/z_en_mb.c +++ b/src/overlays/actors/ovl_En_Mb/z_en_mb.c @@ -102,8 +102,8 @@ static ColliderCylinderInit sBodyColliderInit = { ELEMTYPE_UNK1, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 20, 70, 0, { 0, 0, 0 } }, @@ -115,8 +115,8 @@ static ColliderTrisElementInit sFrontShieldingTrisInit[2] = { ELEMTYPE_UNK2, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE | BUMP_NO_AT_INFO, + ATELEM_NONE, + ACELEM_ON | ACELEM_HOOKABLE | ACELEM_NO_AT_INFO, OCELEM_NONE, }, { { { -10.0f, 14.0f, 2.0f }, { -10.0f, -6.0f, 2.0f }, { 9.0f, 14.0f, 2.0f } } }, @@ -126,8 +126,8 @@ static ColliderTrisElementInit sFrontShieldingTrisInit[2] = { ELEMTYPE_UNK2, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE | BUMP_NO_AT_INFO, + ATELEM_NONE, + ACELEM_ON | ACELEM_HOOKABLE | ACELEM_NO_AT_INFO, OCELEM_NONE, }, { { { -10.0f, -6.0f, 2.0f }, { 9.0f, -6.0f, 2.0f }, { 9.0f, 14.0f, 2.0f } } }, @@ -160,8 +160,8 @@ static ColliderQuadInit sAttackColliderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, @@ -296,7 +296,7 @@ void EnMb_Init(Actor* thisx, PlayState* play) { this->actor.uncullZoneScale = 800.0f; this->actor.uncullZoneDownward = 1800.0f; this->playerDetectionRange = 710.0f; - this->attackCollider.elem.toucher.dmgFlags = DMG_UNBLOCKABLE; + this->attackCollider.elem.atDmgInfo.dmgFlags = DMG_UNBLOCKABLE; relYawFromPlayer = this->actor.world.rot.y - Math_Vec3f_Yaw(&this->actor.world.pos, &player->actor.world.pos); 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 5b9a9c5cdf..879de69ecf 100644 --- a/src/overlays/actors/ovl_En_Md/z_en_md.c +++ b/src/overlays/actors/ovl_En_Md/z_en_md.c @@ -46,8 +46,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 36, 46, 0, { 0, 0, 0 } }, 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 7660cf4bc1..d65a6f0375 100644 --- a/src/overlays/actors/ovl_En_Mk/z_en_mk.c +++ b/src/overlays/actors/ovl_En_Mk/z_en_mk.c @@ -41,8 +41,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 30, 40, 0, { 0, 0, 0 } }, 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 28202269f9..2375b5e6ca 100644 --- a/src/overlays/actors/ovl_En_Mm/z_en_mm.c +++ b/src/overlays/actors/ovl_En_Mm/z_en_mm.c @@ -64,8 +64,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 18, 63, 0, { 0, 0, 0 } }, 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 8a683c4627..74636b9e24 100644 --- a/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c +++ b/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c @@ -60,8 +60,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000004, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 18, 63, 0, { 0, 0, 0 } }, 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 48df82e4ee..d6a8f2af01 100644 --- a/src/overlays/actors/ovl_En_Mu/z_en_mu.c +++ b/src/overlays/actors/ovl_En_Mu/z_en_mu.c @@ -30,8 +30,8 @@ static ColliderCylinderInit D_80AB0BD0 = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 100, 70, 0, { 0, 0, 0 } }, 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 3a5f4c187f..5c0631fb69 100644 --- a/src/overlays/actors/ovl_En_Nb/z_en_nb.c +++ b/src/overlays/actors/ovl_En_Nb/z_en_nb.c @@ -70,8 +70,8 @@ static ColliderCylinderInitType1 sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 25, 80, 0, { 0, 0, 0 } }, @@ -85,7 +85,6 @@ static void* sEyeTextures[] = { static s32 D_80AB4318 = 0; -#pragma asmproc recurse #include "z_en_nb_cutscene_data.inc.c" s32 EnNb_GetPath(EnNb* this) { diff --git a/src/overlays/actors/ovl_En_Nb/z_en_nb_cutscene_data.inc.c b/src/overlays/actors/ovl_En_Nb/z_en_nb_cutscene_data.inc.c index fc6743ef73..7c057a84cc 100644 --- a/src/overlays/actors/ovl_En_Nb/z_en_nb_cutscene_data.inc.c +++ b/src/overlays/actors/ovl_En_Nb/z_en_nb_cutscene_data.inc.c @@ -7,25 +7,25 @@ static CutsceneData D_80AB431C[] = { CS_UNK_DATA_LIST(0x00000020, 1), CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0xFFFFFFFC, 0x00000002, 0x00000000, 0xFFFFFFFC, 0x00000002, 0x00000000, 0x00000000, 0x00000000), CS_ACTOR_CUE_LIST(31, 5), - CS_ACTOR_CUE(0x0001, 0, 501, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0002, 501, 502, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0004, 502, 573, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0002, 573, 621, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 82, 0, 0.0f, -2.7916667f, 0.0f), - CS_ACTOR_CUE(0x0003, 621, 3011, 0x0000, 0x0000, 0x0000, 0, 82, 0, 0, 82, 0, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 501, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0002, 501, 502, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0004, 502, 573, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0002, 573, 621, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 82, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0xC032AAAB, -2.7916667f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0003, 621, 3011, 0x0000, 0x0000, 0x0000, 0, 82, 0, 0, 82, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_PLAYER_CUE_LIST(3), - CS_PLAYER_CUE(PLAYER_CUEID_13, 0, 240, 0x0000, 0x1555, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 1.401298464324817e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_5, 240, 461, 0x0000, 0x1555, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 1.401298464324817e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_19, 461, 1616, 0x0000, 0x9555, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 1.401298464324817e-45f), + CS_PLAYER_CUE(PLAYER_CUEID_13, 0, 240, 0x0000, 0x1555, 0x0000, 0, 6, 0, 0, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_5, 240, 461, 0x0000, 0x1555, 0x0000, 0, 6, 0, 0, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_19, 461, 1616, 0x0000, 0x9555, 0x0000, 0, 6, 0, 0, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), CS_ACTOR_CUE_LIST(49, 1), - CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, -16, -121, 0, -16, -121, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, -16, -121, 0, -16, -121, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_LIGHT_SETTING_LIST(1), CS_LIGHT_SETTING(0x0003, 0, 3000, 0x0000, 0x00000000, 0xFFFFFF9E, 0x00000000, 0x0000002F, 0xFFFFFF9E, 0x00000000, 0x0000002F), CS_ACTOR_CUE_LIST(39, 1), - CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, 0, -2, 0, 0, -2, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, 0, -2, 0, 0, -2, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_ACTOR_CUE_LIST(40, 3), - CS_ACTOR_CUE(0x0001, 0, 145, 0x0000, 0x0000, 0x0000, -97, 6, -167, -97, 6, -167, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0002, 145, 431, 0x0000, 0x0000, 0x0000, -97, 6, -167, -97, 6, -167, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0003, 431, 1399, 0x0000, 0x0000, 0x0000, -97, 6, -167, -97, 6, -167, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 145, 0x0000, 0x0000, 0x0000, -97, 6, -167, -97, 6, -167, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0002, 145, 431, 0x0000, 0x0000, 0x0000, -97, 6, -167, -97, 6, -167, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0003, 431, 1399, 0x0000, 0x0000, 0x0000, -97, 6, -167, -97, 6, -167, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_TRANSITION(CS_TRANS_GRAY_FILL_OUT, 500, 530), CS_TRANSITION(CS_TRANS_GRAY_FILL_IN, 489, 499), CS_TRANSITION(CS_TRANS_GRAY_FILL_IN, 765, 795), @@ -41,130 +41,130 @@ static CutsceneData D_80AB431C[] = { CS_TEXT_NONE(765, 825), CS_TEXT(0x6036, 825, 835, 0x0000, 0x0000, 0x0000), CS_ACTOR_CUE_LIST(62, 1), - CS_ACTOR_CUE(0x0004, 0, 3000, 0x0000, 0x0000, 0x0000, 50, 80, 56, 50, 80, 56, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0004, 0, 3000, 0x0000, 0x0000, 0x0000, 50, 80, 56, 50, 80, 56, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_DESTINATION(CS_DEST_DESERT_COLOSSUS_FROM_CHAMBER_OF_SAGES, 865, 907), CS_START_SEQ_LIST(1), CS_START_SEQ(NA_BGM_MEDALLION_GET, 575, 576, 0x0000, 0x00000000, 0xFFFFFFEF, 0x00000000, 0x00000034, 0xFFFFFFEF, 0x00000000, 0x00000034), CS_FADE_OUT_SEQ_LIST(1), CS_FADE_OUT_SEQ(CS_FADE_OUT_BGM_MAIN, 479, 529, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC7, 0x0000005C, 0x00000000, 0xFFFFFFC7, 0x0000005C), CS_CAM_EYE_SPLINE(0, 366), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -269, 89, -454, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -269, 89, -454, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -269, 89, -454, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -223, 75, -377, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -92, 31, -157, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, 13, 15, 19, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, 49, 28, 77, 0x013F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, 74, 20, 122, 0x014E), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 50.599964f, 74, 20, 122, 0x015F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 74, 20, 122, 0x0161), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 74, 20, 122, 0x300A), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 74, 20, 122, 0x656F), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.399944f, 74, 20, 122, 0x676F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -269, 89, -454, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -269, 89, -454, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -269, 89, -454, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -223, 75, -377, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -92, 31, -157, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), 13, 15, 19, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), 49, 28, 77, 0x013F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), 74, 20, 122, 0x014E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x424A665D, 50.599964f), 74, 20, 122, 0x015F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 74, 20, 122, 0x0161), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 74, 20, 122, 0x300A), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 74, 20, 122, 0x656F), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 74, 20, 122, 0x676F), CS_CAM_EYE_SPLINE(263, 2484), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 62.004566f, 134, 19, 198, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 62.004566f, 134, 19, 198, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 62.004566f, 134, 43, 198, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 62.004566f, 133, 60, 197, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 62.004566f, 133, 60, 197, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 62.004566f, 133, 60, 197, 0x013D), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 62.004566f, 133, 60, 197, 0x013F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x427804AD, 62.004566f), 134, 19, 198, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x427804AD, 62.004566f), 134, 19, 198, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x427804AD, 62.004566f), 134, 43, 198, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x427804AD, 62.004566f), 133, 60, 197, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x427804AD, 62.004566f), 133, 60, 197, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x427804AD, 62.004566f), 133, 60, 197, 0x013D), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x427804AD, 62.004566f), 133, 60, 197, 0x013F), CS_CAM_EYE_SPLINE(363, 1595), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.399925f, 116, 21, 45, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.399925f, 116, 21, 45, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.399925f, 116, 21, 45, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.399925f, 117, 24, 69, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.399925f, 105, 46, 117, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.399925f, 105, 46, 117, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.399925f, 105, 46, 117, 0x013F), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 40.399925f, 105, 46, 117, 0x002E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42219986, 40.399925f), 116, 21, 45, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42219986, 40.399925f), 116, 21, 45, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42219986, 40.399925f), 116, 21, 45, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42219986, 40.399925f), 117, 24, 69, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42219986, 40.399925f), 105, 46, 117, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42219986, 40.399925f), 105, 46, 117, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42219986, 40.399925f), 105, 46, 117, 0x013F), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42219986, 40.399925f), 105, 46, 117, 0x002E), CS_CAM_EYE_SPLINE(433, 1594), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, 139, 33, -108, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, 139, 33, -108, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, 140, 81, -109, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.599945f, 140, 252, -109, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, 140, 252, -109, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, 140, 252, -109, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, 140, 252, -109, 0x013F), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.600002f, 140, 252, -109, 0x002E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), 139, 33, -108, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), 139, 33, -108, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), 140, 81, -109, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42366658, 45.599945f), 140, 252, -109, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), 140, 252, -109, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), 140, 252, -109, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), 140, 252, -109, 0x013F), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), 140, 252, -109, 0x002E), CS_CAM_EYE_SPLINE(498, 840), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 13, 854, 2, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 9, 853, 5, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -3, 853, 5, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -9, 853, -6, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -2, 852, -17, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 9, 852, -17, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 16, 852, -6, 0x013F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 9, 852, 5, 0x002E), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.0f, -3, 851, 5, 0x0063), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 13, 854, 2, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 9, 853, 5, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -3, 853, 5, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -9, 853, -6, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -2, 852, -17, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 9, 852, -17, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 16, 852, -6, 0x013F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 9, 852, 5, 0x002E), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -3, 851, 5, 0x0063), CS_CAM_EYE_SPLINE_REL_TO_PLAYER(574, 1755), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 33, -27, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 33, -27, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 68, -26, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x013F), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 68.599945f, 0, 103, -26, 0x002E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 33, -27, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 33, -27, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 68, -26, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x013F), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x002E), CS_CAM_AT_SPLINE(0, 395), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.800003f, -141, 51, -239, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.800003f, -141, 51, -239, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.800003f, -141, 52, -239, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.800003f, -96, 32, -164, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.800003f, 34, 19, 56, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.800003f, 138, 2, 230, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.800003f, 165, 22, 286, 0x013F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 35, 55.799984f, 181, 116, 315, 0x014E), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 50.599964f, 175, 134, 305, 0x015F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, 172, 142, 300, 0x0161), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, 171, 142, 300, 0x300A), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, 171, 141, 299, 0x656F), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.399944f, 171, 141, 299, 0x676F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42733334, 60.800003f), -141, 51, -239, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42733334, 60.800003f), -141, 51, -239, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42733334, 60.800003f), -141, 52, -239, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42733334, 60.800003f), -96, 32, -164, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42733334, 60.800003f), 34, 19, 56, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42733334, 60.800003f), 138, 2, 230, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42733334, 60.800003f), 165, 22, 286, 0x013F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 35, CS_FLOAT(0x425F332F, 55.799984f), 181, 116, 315, 0x014E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x424A665D, 50.599964f), 175, 134, 305, 0x015F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), 172, 142, 300, 0x0161), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), 171, 142, 300, 0x300A), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), 171, 141, 299, 0x656F), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), 171, 141, 299, 0x676F), CS_CAM_AT_SPLINE(263, 2513), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 70, 62.004566f, -67, 36, 17, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 70, 62.004566f, -67, 32, 17, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 62.004566f, -66, 34, 18, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 62.004566f, -60, 24, 23, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 62.004566f, -60, 22, 23, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 62.004566f, -60, 19, 23, 0x013D), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 62.004566f, -60, 18, 23, 0x013F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 70, CS_FLOAT(0x427804AD, 62.004566f), -67, 36, 17, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 70, CS_FLOAT(0x427804AD, 62.004566f), -67, 32, 17, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x427804AD, 62.004566f), -66, 34, 18, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x427804AD, 62.004566f), -60, 24, 23, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x427804AD, 62.004566f), -60, 22, 23, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x427804AD, 62.004566f), -60, 19, 23, 0x013D), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x427804AD, 62.004566f), -60, 18, 23, 0x013F), CS_CAM_AT_SPLINE(363, 1624), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.399925f, 34, 58, 269, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.399925f, 34, 58, 269, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 40.399925f, 34, 58, 269, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 40.399925f, 42, 74, 293, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 41, 40.399925f, 22, 93, 336, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 40.399925f, 22, 93, 336, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.399925f, 22, 93, 336, 0x013F), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 40.399925f, 22, 93, 336, 0x002E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42219986, 40.399925f), 34, 58, 269, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42219986, 40.399925f), 34, 58, 269, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x42219986, 40.399925f), 34, 58, 269, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x42219986, 40.399925f), 42, 74, 293, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 41, CS_FLOAT(0x42219986, 40.399925f), 22, 93, 336, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x42219986, 40.399925f), 22, 93, 336, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42219986, 40.399925f), 22, 93, 336, 0x013F), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42219986, 40.399925f), 22, 93, 336, 0x002E), CS_CAM_AT_SPLINE(433, 1623), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.599945f, 4, 14, 108, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.599945f, 4, 14, 108, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 50.999966f, 4, 76, 108, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 70.599915f, 111, 501, -62, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.599915f, 111, 500, -62, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 70.599915f, 111, 500, -62, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.39992f, 111, 500, -62, 0x013F), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 70.39992f, 111, 500, -62, 0x002E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42366658, 45.599945f), 4, 14, 108, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42366658, 45.599945f), 4, 14, 108, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x424BFFF7, 50.999966f), 4, 76, 108, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x428D3328, 70.599915f), 111, 501, -62, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428D3328, 70.599915f), 111, 500, -62, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x428D3328, 70.599915f), 111, 500, -62, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428CCCC2, 70.39992f), 111, 500, -62, 0x013F), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x428CCCC2, 70.39992f), 111, 500, -62, 0x002E), CS_CAM_AT_SPLINE(498, 889), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 60.0f, 3, 6, -6, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, 60.0f, 3, 6, -6, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 50.999966f, 3, 6, -6, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 20.59985f, 3, 6, -6, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 51, 10.799838f, 3, 6, -6, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 10.399838f, 3, 6, -6, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 10.399838f, 3, 6, -6, 0x013F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 10.199839f, 3, 6, -6, 0x002E), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 50, 10.999838f, 3, 6, -6, 0x0063), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x42700000, 60.0f), 3, 6, -6, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, CS_FLOAT(0x42700000, 60.0f), 3, 6, -6, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x424BFFF7, 50.999966f), 3, 6, -6, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x41A4CC7E, 20.59985f), 3, 6, -6, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 51, CS_FLOAT(0x412CCC23, 10.799838f), 3, 6, -6, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x412665BD, 10.399838f), 3, 6, -6, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x412665BD, 10.399838f), 3, 6, -6, 0x013F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x4123328A, 10.199839f), 3, 6, -6, 0x002E), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 50, CS_FLOAT(0x412FFF56, 10.999838f), 3, 6, -6, 0x0063), CS_CAM_AT_SPLINE_REL_TO_PLAYER(574, 1784), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 100, 5, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 101, 6, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 1, 99, 41, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 68.599945f, 0, 42, 16, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x013F), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 68.599945f, 0, 42, 16, 0x002E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 100, 5, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 101, 6, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 1, 99, 41, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x013F), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x002E), CS_END(), }; // clang-format on 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 51d3df4a4f..09963b6e82 100644 --- a/src/overlays/actors/ovl_En_Niw/z_en_niw.c +++ b/src/overlays/actors/ovl_En_Niw/z_en_niw.c @@ -86,8 +86,8 @@ static ColliderCylinderInit sCylinderInit1 = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 15, 25, 4, { 0, 0, 0 } }, @@ -106,8 +106,8 @@ static ColliderCylinderInit sCylinderInit2 = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 15, 25, 4, { 0, 0, 0 } }, @@ -886,14 +886,9 @@ void EnNiw_Update(Actor* thisx, PlayState* play) { Vec3f accel; s32 pad2; f32 scale; - Vec3f cam; f32 dist; - f32 camResult; - s32 pad3[10]; if (1) {} // Required to match - if (1) {} - if (1) {} this->unk_294++; @@ -914,10 +909,10 @@ void EnNiw_Update(Actor* thisx, PlayState* play) { scale = Rand_ZeroFloat(6.0f) + 6.0f; if (this->unk_2A6 == 2 && this->unk_304 != 0) { - pos.y += 10; + pos.y += 10.0f; } if (this->unk_304 == 0) { - scale = Rand_ZeroFloat(2.0f) + 2; + scale = Rand_ZeroFloat(2.0f) + 2.0f; } vel.x = Rand_CenteredFloat(3.0f); @@ -933,42 +928,19 @@ void EnNiw_Update(Actor* thisx, PlayState* play) { } EnNiw_UpdateEffects(this, play); - if (this->timer1 != 0) { - this->timer1--; - } - if (this->timer2 != 0) { - this->timer2--; - } - if (this->timer3 != 0) { - this->timer3--; - } - if (this->timer4 != 0) { - this->timer4--; - } - if (this->timer5 != 0) { - this->timer5--; - } - if (this->timer7 != 0) { - this->timer7--; - } - if (this->timer6 != 0) { - this->timer6--; - } - if (this->sfxTimer1 != 0) { - this->sfxTimer1--; - } - if (this->sfxTimer2 != 0) { - this->sfxTimer2--; - } - if (this->sfxTimer3 != 0) { - this->sfxTimer3--; - } - if (this->timer8 != 0) { - this->timer8--; - } - if (this->timer9 != 0) { - this->timer9--; - } + DECR(this->timer1); + DECR(this->timer2); + DECR(this->timer3); + DECR(this->timer4); + DECR(this->timer5); + DECR(this->timer7); + DECR(this->timer6); + DECR(this->sfxTimer1); + DECR(this->sfxTimer2); + DECR(this->sfxTimer3); + DECR(this->timer8); + DECR(this->timer9); + thisx->shape.rot = thisx->world.rot; thisx->shape.shadowScale = 15.0f; this->actionFunc(this, play); @@ -986,6 +958,10 @@ void EnNiw_Update(Actor* thisx, PlayState* play) { UPDBGCHECKINFO_FLAG_4); } if (thisx->floorHeight <= BGCHECK_Y_MIN || thisx->floorHeight >= 32000.0f) { + Vec3f cam; + f32 camResult; + s32 pad3[10]; + PRINTF(VT_FGCOL(GREEN) "☆☆☆☆☆ 上下? ☆☆☆☆☆ %f\n" VT_RST, thisx->floorHeight); cam.x = play->view.at.x - play->view.eye.x; cam.y = play->view.at.y - play->view.eye.y; 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 b1dadf4c16..33c98d4f8f 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 @@ -44,8 +44,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 10, 30, 0, { 0, 0, 0 } }, 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 b48616a46d..9da760fb15 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 @@ -59,8 +59,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 10, 10, 0, { 0, 0, 0 } }, 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 1e927ba11a..1d05b78c35 100644 --- a/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c +++ b/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c @@ -47,8 +47,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_WOOD, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_WOOD, + ACELEM_ON, OCELEM_ON, }, { 13, 13, 0, { 0 } }, @@ -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.elem.toucher.dmgFlags = DMG_DEKU_STICK; + this->collider.elem.atDmgInfo.dmgFlags = DMG_DEKU_STICK; Matrix_MtxFToYXZRotS(&player->shieldMf, &sp4C, 0); this->actor.world.rot.y = sp4C.y + 0x8000; this->timer = 30; 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 c9909e9779..a662e02403 100644 --- a/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c +++ b/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c @@ -47,8 +47,8 @@ static ColliderJntSphElementInit sJntSphElementInit = { ELEMTYPE_UNK1, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 0, { { 0, 0, 0 }, 10 }, 100 }, 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 126a99728a..fd1332245e 100644 --- a/src/overlays/actors/ovl_En_Ny/z_en_ny.c +++ b/src/overlays/actors/ovl_En_Ny/z_en_ny.c @@ -41,8 +41,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x04, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 15 }, 100 }, @@ -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].base.bumper.hitPos.x; - effectPos.y = this->collider.elements[0].base.bumper.hitPos.y; - effectPos.z = this->collider.elements[0].base.bumper.hitPos.z; + effectPos.x = this->collider.elements[0].base.acDmgInfo.hitPos.x; + effectPos.y = this->collider.elements[0].base.acDmgInfo.hitPos.y; + effectPos.z = this->collider.elements[0].base.acDmgInfo.hitPos.z; if ((this->unk_1E0 == 0.25f) && (this->unk_1D4 == 0xFF)) { switch (this->actor.colChkInfo.damageEffect) { case 0xE: diff --git a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag_cutscene_data.c b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag_cutscene_data.c index 1725be2f09..fe0ecb8ecf 100644 --- a/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag_cutscene_data.c +++ b/src/overlays/actors/ovl_En_Okarina_Tag/z_en_okarina_tag_cutscene_data.c @@ -6,23 +6,23 @@ CutsceneData D_80ABF9D0[] = { CS_BEGIN_CUTSCENE(4, 360), CS_DESTINATION(CS_DEST_KAKARIKO_VILLAGE_DRAIN_WELL, 200, 201), CS_CAM_EYE_SPLINE(0, 331), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 3100, 201, -100, 0x3235), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 3100, 201, -100, 0x3336), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 3100, 201, -100, 0x392C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 3178, 201, 113, 0x2C20), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 3178, 201, 113, 0x3235), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 3178, 201, 113, 0x3238), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 3178, 201, 113, 0x3639), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.0f, 3178, 201, 113, 0x2C20), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 3100, 201, -100, 0x3235), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 3100, 201, -100, 0x3336), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 3100, 201, -100, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 3178, 201, 113, 0x2C20), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 3178, 201, 113, 0x3235), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 3178, 201, 113, 0x3238), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 3178, 201, 113, 0x3639), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 3178, 201, 113, 0x2C20), CS_CAM_AT_SPLINE(0, 360), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 3054, 137, -64, 0x3235), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 3054, 137, -64, 0x3336), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 90, 60.0f, 3054, 137, -64, 0x392C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 90, 60.0f, 3118, 142, 96, 0x2C20), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 3118, 142, 96, 0x3235), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 3118, 142, 96, 0x3238), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 3118, 142, 96, 0x3639), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.0f, 3118, 142, 96, 0x2C20), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 3054, 137, -64, 0x3235), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 3054, 137, -64, 0x3336), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 90, CS_FLOAT(0x42700000, 60.0f), 3054, 137, -64, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 90, CS_FLOAT(0x42700000, 60.0f), 3118, 142, 96, 0x2C20), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 3118, 142, 96, 0x3235), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 3118, 142, 96, 0x3238), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 3118, 142, 96, 0x3639), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 3118, 142, 96, 0x2C20), CS_MISC_LIST(1), CS_MISC(CS_MISC_SET_FLAG_FAST_WINDMILL, 30, 31, 0x0000, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000002, 0xFFFFFFFE, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000000), CS_END(), @@ -33,17 +33,17 @@ CutsceneData D_80ABFB40[] = { CS_UNK_DATA_LIST(0x00000021, 1), CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0xFFFFFFAA, 0xFFFFFFAE, 0x00000000, 0xFFFFFFAA, 0xFFFFFFAE, 0x00000000, 0x00000000, 0x00000000), CS_PLAYER_CUE_LIST(3), - CS_PLAYER_CUE(PLAYER_CUEID_17, 0, 80, 0x0000, 0x8000, 0x0000, 0, -40, 1400, 0, -40, 1400, 0.0f, 0.0f, 1.401298464324817e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_18, 80, 201, 0x0000, 0x8000, 0x0000, 0, -40, 1400, 0, -40, 1400, 0.0f, 0.0f, 1.401298464324817e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_5, 201, 662, 0x0000, 0x8000, 0x0000, 0, -40, 1400, 0, -40, 1400, 0.0f, 0.0f, 1.401298464324817e-45f), + CS_PLAYER_CUE(PLAYER_CUEID_17, 0, 80, 0x0000, 0x8000, 0x0000, 0, -40, 1400, 0, -40, 1400, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_18, 80, 201, 0x0000, 0x8000, 0x0000, 0, -40, 1400, 0, -40, 1400, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_5, 201, 662, 0x0000, 0x8000, 0x0000, 0, -40, 1400, 0, -40, 1400, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), CS_MISC_LIST(1), CS_MISC(CS_MISC_TRIFORCE_FLASH, 510, 611, 0x0000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000), CS_ACTOR_CUE_LIST(48, 1), - CS_ACTOR_CUE(0x0003, 160, 289, 0x0000, 0x0000, 0x0000, 0, 20, 1400, 0, 60, 1400, 0.0f, 0.31007752f, 0.0f), + CS_ACTOR_CUE(0x0003, 160, 289, 0x0000, 0x0000, 0x0000, 0, 20, 1400, 0, 60, 1400, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x3E9EC27B, 0.31007752f), CS_FLOAT(0x0, 0.0f)), CS_ACTOR_CUE_LIST(48, 3), - CS_ACTOR_CUE(0x0004, 340, 420, 0x0000, 0x0000, 0x0000, 0, 120, 1335, 0, 40, 1335, 0.0f, -1.0f, 0.0f), - CS_ACTOR_CUE(0x0004, 420, 465, 0x0000, 0x0000, 0x0000, 0, 40, 1335, 0, 16, 1335, 0.0f, -0.53333336f, 0.0f), - CS_ACTOR_CUE(0x0002, 465, 519, 0x0000, 0x0000, 0x0000, 0, 16, 1335, 0, 16, 1335, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0004, 340, 420, 0x0000, 0x0000, 0x0000, 0, 120, 1335, 0, 40, 1335, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0xBF800000, -1.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0004, 420, 465, 0x0000, 0x0000, 0x0000, 0, 40, 1335, 0, 16, 1335, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0xBF088889, -0.53333336f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0002, 465, 519, 0x0000, 0x0000, 0x0000, 0, 16, 1335, 0, 16, 1335, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_MISC_LIST(1), CS_MISC(CS_MISC_SET_CSFLAG_0, 620, 621, 0x0000, 0x00000000, 0x00000001, 0x00000000, 0xFFFFFFFF, 0x00000001, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000), CS_TRANSITION(CS_TRANS_GRAY_FILL_IN, 338, 341), @@ -55,83 +55,83 @@ CutsceneData D_80ABFB40[] = { CS_START_SEQ_LIST(1), CS_START_SEQ(NA_BGM_DOOR_OF_TIME, 560, 561, 0x0000, 0x00000000, 0x00000003, 0x00000000, 0x00000004, 0x00000003, 0x00000000, 0x00000004), CS_CAM_EYE_SPLINE(0, 451), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 2, 11, 1397, 0xA220), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 2, 11, 1397, 0xB820), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 2, 11, 1397, 0xD0A1), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 0, 27, 1445, 0xBAEE), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 56, 27, 1385, 0xA5AF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -19, 27, 1341, 0xAE0A), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -44, -4, 1429, 0xA8A5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -44, -4, 1429, 0xA5ED), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -44, -4, 1429, 0xA220), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -44, -4, 1429, 0xA5A4), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -44, -4, 1429, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -44, -4, 1429, 0xC9A5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -44, -4, 1429, 0xA5A2), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -44, -4, 1429, 0xA5BB), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -44, -4, 1429, 0xAE0A), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.0f, -44, -4, 1429, 0xB3A5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 2, 11, 1397, 0xA220), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 2, 11, 1397, 0xB820), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 2, 11, 1397, 0xD0A1), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 0, 27, 1445, 0xBAEE), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 56, 27, 1385, 0xA5AF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -19, 27, 1341, 0xAE0A), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -44, -4, 1429, 0xA8A5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -44, -4, 1429, 0xA5ED), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -44, -4, 1429, 0xA220), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -44, -4, 1429, 0xA5A4), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -44, -4, 1429, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -44, -4, 1429, 0xC9A5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -44, -4, 1429, 0xA5A2), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -44, -4, 1429, 0xA5BB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -44, -4, 1429, 0xAE0A), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -44, -4, 1429, 0xB3A5), CS_CAM_EYE_SPLINE(340, 1461), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -6, 15, 1560, 0xA220), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -6, 15, 1560, 0xB820), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -6, 15, 1560, 0xD0A1), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -6, 15, 1560, 0xBAEE), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -6, 15, 1560, 0xA5AF), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.0f, -6, 15, 1560, 0xAE0A), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -6, 15, 1560, 0xA220), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -6, 15, 1560, 0xB820), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -6, 15, 1560, 0xD0A1), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -6, 15, 1560, 0xBAEE), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -6, 15, 1560, 0xA5AF), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -6, 15, 1560, 0xAE0A), CS_CAM_EYE_SPLINE(490, 941), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 0, 264, 1379, 0xA220), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 0, 264, 1379, 0xB820), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 0, 264, 1379, 0xD0A1), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 0, 264, 1379, 0xBAEE), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 0, 153, 1379, 0xA5AF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 55, 32, 1398, 0xAE0A), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 111, -38, 1511, 0xA8A5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 111, -38, 1511, 0xA5ED), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 111, -38, 1511, 0xA220), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 111, -38, 1511, 0xA5A4), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 111, -38, 1511, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 111, -38, 1511, 0xC9A5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 111, -38, 1511, 0xA5A2), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.0f, 111, -38, 1511, 0xA5BB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 0, 264, 1379, 0xA220), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 0, 264, 1379, 0xB820), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 0, 264, 1379, 0xD0A1), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 0, 264, 1379, 0xBAEE), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 0, 153, 1379, 0xA5AF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 55, 32, 1398, 0xAE0A), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 111, -38, 1511, 0xA8A5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 111, -38, 1511, 0xA5ED), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 111, -38, 1511, 0xA220), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 111, -38, 1511, 0xA5A4), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 111, -38, 1511, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 111, -38, 1511, 0xC9A5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 111, -38, 1511, 0xA5A2), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 111, -38, 1511, 0xA5BB), CS_CAM_AT_SPLINE(0, 480), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 2, 36, 1335, 0xA220), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 2, 36, 1335, 0xB820), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 2, 36, 1335, 0xD0A1), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 0, -8, 1391, 0xBAEE), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 1, -5, 1398, 0xA5AF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -2, -3, 1394, 0xAE0A), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 5, 0, 1399, 0xA8A5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 1, 14, 1399, 0xA5ED), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -9, 33, 1402, 0xA220), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -14, 41, 1409, 0xA5A4), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -14, 41, 1409, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -14, 41, 1409, 0xC9A5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -14, 41, 1409, 0xA5A2), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -14, 41, 1409, 0xA5BB), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -14, 41, 1409, 0xAE0A), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.0f, -14, 41, 1409, 0xB3A5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 2, 36, 1335, 0xA220), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 2, 36, 1335, 0xB820), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 2, 36, 1335, 0xD0A1), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 0, -8, 1391, 0xBAEE), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 1, -5, 1398, 0xA5AF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -2, -3, 1394, 0xAE0A), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 5, 0, 1399, 0xA8A5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 1, 14, 1399, 0xA5ED), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -9, 33, 1402, 0xA220), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -14, 41, 1409, 0xA5A4), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -14, 41, 1409, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -14, 41, 1409, 0xC9A5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -14, 41, 1409, 0xA5A2), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -14, 41, 1409, 0xA5BB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -14, 41, 1409, 0xAE0A), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -14, 41, 1409, 0xB3A5), CS_CAM_AT_SPLINE(340, 1490), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -3, 48, 1414, 0xA220), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -3, 48, 1414, 0xB820), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 60.0f, -3, 48, 1414, 0xD0A1), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -3, 48, 1414, 0xBAEE), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -3, 47, 1414, 0xA5AF), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.0f, -3, 47, 1414, 0xAE0A), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -3, 48, 1414, 0xA220), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -3, 48, 1414, 0xB820), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x42700000, 60.0f), -3, 48, 1414, 0xD0A1), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -3, 48, 1414, 0xBAEE), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -3, 47, 1414, 0xA5AF), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -3, 47, 1414, 0xAE0A), CS_CAM_AT_SPLINE(490, 970), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 0, 264, 1274, 0xA220), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 60, 60.0f, 0, 264, 1274, 0xB820), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 60, 60.0f, 0, 264, 1274, 0xD0A1), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 0, 264, 1274, 0xBAEE), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 0, 170, 1275, 0xA5AF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 10, 51, 1306, 0xAE0A), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 68, -2, 1424, 0xA8A5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 68, -2, 1424, 0xA5ED), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 68, -2, 1424, 0xA220), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 68, -2, 1424, 0xA5A4), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 68, -2, 1424, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 68, -2, 1424, 0xC9A5), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, 68, -2, 1424, 0xA5A2), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.0f, 68, -2, 1424, 0xA5BB), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 0, 264, 1274, 0xA220), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 60, CS_FLOAT(0x42700000, 60.0f), 0, 264, 1274, 0xB820), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 60, CS_FLOAT(0x42700000, 60.0f), 0, 264, 1274, 0xD0A1), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 0, 264, 1274, 0xBAEE), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 0, 170, 1275, 0xA5AF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 10, 51, 1306, 0xAE0A), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 68, -2, 1424, 0xA8A5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 68, -2, 1424, 0xA5ED), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 68, -2, 1424, 0xA220), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 68, -2, 1424, 0xA5A4), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 68, -2, 1424, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 68, -2, 1424, 0xC9A5), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 68, -2, 1424, 0xA5A2), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), 68, -2, 1424, 0xA5BB), CS_END(), }; // clang-format on 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 d89c860924..3b4bbb26fc 100644 --- a/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c +++ b/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c @@ -44,8 +44,8 @@ static ColliderCylinderInit sProjectileColliderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_HARD, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_HARD, + ACELEM_ON, OCELEM_ON, }, { 13, 20, 0, { 0, 0, 0 } }, @@ -64,8 +64,8 @@ static ColliderCylinderInit sOctorockColliderInit = { ELEMTYPE_UNK1, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 20, 40, -30, { 0, 0, 0 } }, @@ -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.elem.toucher.dmgFlags = DMG_DEKU_STICK; + this->collider.elem.atDmgInfo.dmgFlags = DMG_DEKU_STICK; Matrix_MtxFToYXZRotS(&player->shieldMf, &shieldRot, 0); this->actor.world.rot.y = shieldRot.y + 0x8000; this->timer = 30; 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 070944d501..784ac765cf 100644 --- a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c +++ b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c @@ -125,8 +125,8 @@ static ColliderCylinderInitType1 sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_NONE | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 30, 80, 0, { 0, 0, 0 } }, 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 c2cbe4b9d4..b67d863e31 100644 --- a/src/overlays/actors/ovl_En_Owl/z_en_owl.c +++ b/src/overlays/actors/ovl_En_Owl/z_en_owl.c @@ -90,8 +90,8 @@ static ColliderCylinderInit sOwlCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 30, 40, 0, { 0, 0, 0 } }, 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 5aa146fc51..8fa9e1a490 100644 --- a/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c +++ b/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c @@ -65,8 +65,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_NONE, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 50, 160, -70, { 0, 0, 0 } }, @@ -78,8 +78,8 @@ static ColliderJntSphElementInit sJntSphElemInit[1] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 20 }, 100 }, @@ -112,8 +112,8 @@ static ColliderQuadInit sQuadInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, @@ -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.elem.bumper.dmgFlags = DMG_ARROW | DMG_SLINGSHOT; + this->colCylinder.elem.acDmgInfo.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; 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 2f6a161cec..3f814e796d 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 @@ -44,8 +44,8 @@ static ColliderCylinderInit sColliderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 25, 50, 20, { 0, 0, 0 } }, 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 ef39e231ea..f67ce8d4ef 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 @@ -58,8 +58,8 @@ static ColliderCylinderInit D_80AD7080 = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 25, 50, 20, { 0, 0, 0 } }, @@ -78,8 +78,8 @@ static ColliderCylinderInit D_80AD70AC = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x01, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 10, 30, 0, { 0, 0, 0 } }, @@ -263,7 +263,7 @@ void EnPoField_SetupFlee(EnPoField* this) { void EnPoField_SetupDamage(EnPoField* this) { Animation_MorphToPlayOnce(&this->skelAnime, &gPoeFieldDamagedAnim, -6.0f); - if (this->collider.elem.acHitElem->toucher.dmgFlags & (DMG_ARROW | DMG_SLINGSHOT)) { + if (this->collider.elem.acHitElem->atDmgInfo.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; 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 bca1a872d5..4106c8f0cd 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 @@ -58,8 +58,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 30, 52, 0, { 0, 0, 0 } }, 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 27da379c4d..1315e00b98 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 @@ -86,8 +86,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0x4FC7FFEA, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 18, 60, 15, { 0, 0, 0 } }, @@ -210,7 +210,7 @@ void EnPoSisters_Init(Actor* thisx, PlayState* play) { } else { this->actor.flags &= ~(ACTOR_FLAG_9 | ACTOR_FLAG_14); this->collider.elem.elemType = ELEMTYPE_UNK4; - this->collider.elem.bumper.dmgFlags |= DMG_DEKU_NUT; + this->collider.elem.acDmgInfo.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.elem.acHitElem->toucher.dmgFlags & (DMG_ARROW | DMG_SLINGSHOT)) + this->actor.world.rot.y = (this->collider.elem.acHitElem->atDmgInfo.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.elem.bumper.dmgFlags = DMG_MAGIC_ICE | DMG_MAGIC_FIRE | DMG_DEKU_NUT; + this->collider.elem.acDmgInfo.dmgFlags = DMG_MAGIC_ICE | DMG_MAGIC_FIRE | DMG_DEKU_NUT; func_80AD93C4(this); } else { endFrame = this->skelAnime.endFrame; @@ -757,8 +757,8 @@ void func_80ADAE6C(EnPoSisters* this, PlayState* play) { this->unk_22E.a = 255; if (this->unk_194 != 0) { this->unk_199 |= 1; - this->collider.elem.bumper.dmgFlags = (DMG_SWORD | DMG_ARROW | DMG_HAMMER | DMG_MAGIC_ICE | DMG_MAGIC_FIRE | - DMG_HOOKSHOT | DMG_EXPLOSIVE | DMG_DEKU_STICK); + this->collider.elem.acDmgInfo.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--; } 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 ee737aaab7..10af760994 100644 --- a/src/overlays/actors/ovl_En_Poh/z_en_poh.c +++ b/src/overlays/actors/ovl_En_Poh/z_en_poh.c @@ -67,8 +67,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 20, 40, 20, { 0, 0, 0 } }, @@ -80,8 +80,8 @@ static ColliderJntSphElementInit D_80AE1AA0[1] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 18, { { 0, 1400, 0 }, 10 }, 100 }, @@ -293,7 +293,7 @@ void func_80ADE28C(EnPoh* this) { } else { Animation_PlayOnce(&this->skelAnime, &gPoeComposerDamagedAnim); } - if (this->colliderCyl.elem.acHitElem->toucher.dmgFlags & (DMG_ARROW | DMG_SLINGSHOT)) { + if (this->colliderCyl.elem.acHitElem->atDmgInfo.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; 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 bb18687afd..cae3ead4ee 100644 --- a/src/overlays/actors/ovl_En_Rd/z_en_rd.c +++ b/src/overlays/actors/ovl_En_Rd/z_en_rd.c @@ -77,8 +77,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK1, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_NONE, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 20, 70, 0, { 0, 0, 0 } }, 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 f91e619875..d2be030709 100644 --- a/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c +++ b/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c @@ -100,8 +100,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x08, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 20, 40, 0, { 0, 0, 0 } }, @@ -132,8 +132,8 @@ void EnReeba_Init(Actor* thisx, PlayState* play) { // "Reeba Boss Appears %f" PRINTF(VT_FGCOL(YELLOW) "☆☆☆☆☆ リーバぼす登場 ☆☆☆☆☆ %f\n" VT_RST, this->scale); this->actor.colChkInfo.health = 20; - this->collider.elem.toucher.effect = 4; - this->collider.elem.toucher.damage = 16; + this->collider.elem.atDmgInfo.effect = 4; + this->collider.elem.atDmgInfo.damage = 16; Actor_ChangeCategory(play, &play->actorCtx, &this->actor, ACTORCAT_ENEMY); } @@ -326,7 +326,7 @@ void EnReeba_MoveBig(EnReeba* this, PlayState* play) { } } -void EnReeba_Bumped(EnReeba* this, PlayState* play) { +void EnReeba_Recoiled(EnReeba* this, PlayState* play) { Math_ApproachZeroF(&this->actor.speed, 1.0f, 0.3f); if (this->moveTimer == 0) { @@ -640,7 +640,7 @@ void EnReeba_Update(Actor* thisx, PlayState* play2) { this->actor.speed = 8.0f; this->actor.world.rot.y *= -1.0f; this->moveTimer = 14; - this->actionfunc = EnReeba_Bumped; + this->actionfunc = EnReeba_Recoiled; return; } } 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 018420cef0..146f926a96 100644 --- a/src/overlays/actors/ovl_En_Rr/z_en_rr.c +++ b/src/overlays/actors/ovl_En_Rr/z_en_rr.c @@ -95,8 +95,8 @@ static ColliderCylinderInitType1 sCylinderInit1 = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 30, 55, 0, { 0, 0, 0 } }, @@ -114,8 +114,8 @@ static ColliderCylinderInitType1 sCylinderInit2 = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 20, 20, -10, { 0, 0, 0 } }, @@ -419,9 +419,9 @@ void EnRr_CollisionCheck(EnRr* this, PlayState* play) { this->collider2.base.acFlags &= ~AC_HIT; // "Kakin" (not sure what this means) PRINTF(VT_FGCOL(GREEN) "カキン(%d)!!" VT_RST "\n", this->frameCount); - hitPos.x = this->collider2.elem.bumper.hitPos.x; - hitPos.y = this->collider2.elem.bumper.hitPos.y; - hitPos.z = this->collider2.elem.bumper.hitPos.z; + hitPos.x = this->collider2.elem.acDmgInfo.hitPos.x; + hitPos.y = this->collider2.elem.acDmgInfo.hitPos.y; + hitPos.z = this->collider2.elem.acDmgInfo.hitPos.z; CollisionCheck_SpawnShieldParticlesMetal2(play, &hitPos); } else { if (this->collider1.base.acFlags & AC_HIT) { @@ -429,9 +429,9 @@ void EnRr_CollisionCheck(EnRr* this, PlayState* play) { this->collider1.base.acFlags &= ~AC_HIT; if (this->actor.colChkInfo.damageEffect != 0) { - hitPos.x = this->collider1.elem.bumper.hitPos.x; - hitPos.y = this->collider1.elem.bumper.hitPos.y; - hitPos.z = this->collider1.elem.bumper.hitPos.z; + hitPos.x = this->collider1.elem.acDmgInfo.hitPos.x; + hitPos.y = this->collider1.elem.acDmgInfo.hitPos.y; + hitPos.z = this->collider1.elem.acDmgInfo.hitPos.z; CollisionCheck_BlueBlood(play, NULL, &hitPos); } switch (this->actor.colChkInfo.damageEffect) { 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 d390bba550..b9df80354a 100644 --- a/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c +++ b/src/overlays/actors/ovl_En_Ru1/z_en_ru1.c @@ -106,7 +106,6 @@ static void* sMouthTextures[] = { static s32 sUnused = 0; -#pragma asmproc recurse #include "z_en_ru1_cutscene_data.inc.c" static u32 D_80AF1938 = 0; diff --git a/src/overlays/actors/ovl_En_Ru1/z_en_ru1_cutscene_data.inc.c b/src/overlays/actors/ovl_En_Ru1/z_en_ru1_cutscene_data.inc.c index ade4ca4fa7..6e8c8f4d31 100644 --- a/src/overlays/actors/ovl_En_Ru1/z_en_ru1_cutscene_data.inc.c +++ b/src/overlays/actors/ovl_En_Ru1/z_en_ru1_cutscene_data.inc.c @@ -5,21 +5,21 @@ static CutsceneData D_80AF0880[] = { CS_BEGIN_CUTSCENE(15, 1306), CS_PLAYER_CUE_LIST(10), - CS_PLAYER_CUE(PLAYER_CUEID_39, 0, 50, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, 1.1393037e-29f, 0.0f, 1.4e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_3, 50, 70, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, 1.1393037e-29f, 0.0f, 1.4e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_5, 70, 109, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, 1.1393037e-29f, 0.0f, 1.4e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_2, 109, 135, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_5, 135, 199, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_3, 199, 219, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_5, 219, 259, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_3, 259, 276, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, 1.1393037e-29f, 0.0f, 1.4e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_2, 276, 297, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 182, -340, -3132, 1.1393037e-29f, 0.0f, 1.4e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_5, 297, 843, 0x0000, 0x6C16, 0x0000, 182, -340, -3132, 182, -340, -3132, 1.1393037e-29f, 0.0f, 1.4e-45f), + CS_PLAYER_CUE(PLAYER_CUEID_39, 0, 50, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_3, 50, 70, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_5, 70, 109, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 12, -340, -2810, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_2, 109, 135, 0x0000, 0x6C16, 0x0000, 12, -340, -2810, 100, -340, -2991, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_5, 135, 199, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_3, 199, 219, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_5, 219, 259, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_3, 259, 276, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 100, -340, -2991, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_2, 276, 297, 0x0000, 0x6C16, 0x0000, 100, -340, -2991, 182, -340, -3132, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_5, 297, 843, 0x0000, 0x6C16, 0x0000, 182, -340, -3132, 182, -340, -3132, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), CS_ACTOR_CUE_LIST(63, 4), - CS_ACTOR_CUE(0x0002, 0, 178, 0x0000, 0xEC16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037e-29f, 0.0f, 1.4e-45f), - CS_ACTOR_CUE(0x0003, 178, 245, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037e-29f, 0.0f, 1.4e-45f), - CS_ACTOR_CUE(0x0004, 245, 260, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037e-29f, 0.0f, 1.4e-45f), - CS_ACTOR_CUE(0x0005, 260, 396, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, 1.1393037e-29f, 0.0f, 1.4e-45f), + CS_ACTOR_CUE(0x0002, 0, 178, 0x0000, 0xEC16, 0x0000, 127, -340, -3041, 127, -340, -3041, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_ACTOR_CUE(0x0003, 178, 245, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_ACTOR_CUE(0x0004, 245, 260, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_ACTOR_CUE(0x0005, 260, 396, 0x0000, 0x6C16, 0x0000, 127, -340, -3041, 127, -340, -3041, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), CS_MISC_LIST(1), CS_MISC(CS_MISC_STOP_CUTSCENE, 315, 345, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000), CS_TEXT_LIST(4), @@ -28,83 +28,83 @@ static CutsceneData D_80AF0880[] = { CS_TEXT_NONE(175, 252), CS_TEXT(0x401E, 252, 300, 0x0000, 0xFFFF, 0xFFFF), CS_CAM_EYE_SPLINE(0, 247), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0x44B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0x8080), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 55, -290, -2749, 0xE243), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0x005E), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 30.799889f, 55, -290, -2749, 0x5B80), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 30.799889f, 55, -290, -2749, 0x49B4), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 55, -290, -2749, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 55, -290, -2749, 0x44B8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 55, -290, -2749, 0x8080), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 55, -290, -2749, 0xE243), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41F6662C, 30.799889f), 55, -290, -2749, 0x005E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41F6662C, 30.799889f), 55, -290, -2749, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41F6662C, 30.799889f), 55, -290, -2749, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41F6662C, 30.799889f), 55, -290, -2749, 0x5B80), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x41F6662C, 30.799889f), 55, -290, -2749, 0x49B4), CS_CAM_EYE_SPLINE(73, 208), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x44B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x8080), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0xE243), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0x005E), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.399944f, 99, -307, -2985, 0xFFFF), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.399944f, 99, -307, -2985, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 99, -307, -2985, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 99, -307, -2985, 0x44B8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 99, -307, -2985, 0x8080), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 99, -307, -2985, 0xE243), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 99, -307, -2985, 0x005E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 99, -307, -2985, 0xFFFF), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4235998B, 45.399944f), 99, -307, -2985, 0x0000), CS_CAM_EYE_SPLINE(116, 1207), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0x44B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0x8080), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.799946f, 155, -276, -2911, 0xE243), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.799946f, 155, -276, -2911, 0x005E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42373325, 45.799946f), 155, -276, -2911, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42373325, 45.799946f), 155, -276, -2911, 0x44B8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42373325, 45.799946f), 155, -276, -2911, 0x8080), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42373325, 45.799946f), 155, -276, -2911, 0xE243), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42373325, 45.799946f), 155, -276, -2911, 0x005E), CS_CAM_EYE_SPLINE(186, 1277), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0x44B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0x8080), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.39995f, 77, -315, -2992, 0xE243), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.39995f, 77, -315, -2992, 0x005E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998C, 45.39995f), 77, -315, -2992, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998C, 45.39995f), 77, -315, -2992, 0x44B8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998C, 45.39995f), 77, -315, -2992, 0x8080), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4235998C, 45.39995f), 77, -315, -2992, 0xE243), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4235998C, 45.39995f), 77, -315, -2992, 0x005E), CS_CAM_EYE_SPLINE(256, 425), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0x44B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0x8080), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 28.199883f, 350, -237, -3314, 0xE243), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 46.799953f, 350, -237, -3314, 0x005E), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 46.799953f, 350, -237, -3314, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 46.799953f, 350, -237, -3314, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 46.799953f, 350, -237, -3314, 0x5B80), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41E1995C, 28.199883f), 350, -237, -3314, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41E1995C, 28.199883f), 350, -237, -3314, 0x44B8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41E1995C, 28.199883f), 350, -237, -3314, 0x8080), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41E1995C, 28.199883f), 350, -237, -3314, 0xE243), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423B3327, 46.799953f), 350, -237, -3314, 0x005E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423B3327, 46.799953f), 350, -237, -3314, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x423B3327, 46.799953f), 350, -237, -3314, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x423B3327, 46.799953f), 350, -237, -3314, 0x5B80), CS_CAM_AT_SPLINE(0, 276), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 45.399944f, 40, -256, -2823, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 45.399944f, 40, -256, -2823, 0x44B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, 45.399944f, 22, -313, -2823, 0x8080), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 45.399944f, 23, -313, -2823, 0xE243), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 6, 30.799889f, 73, -298, -2828, 0x005E), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 30.799889f, 73, -298, -2828, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 30.799889f, 73, -298, -2828, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 30.799889f, 73, -298, -2828, 0x5B80), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 30.799889f, 73, -298, -2828, 0x49B4), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x4235998B, 45.399944f), 40, -256, -2823, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x4235998B, 45.399944f), 40, -256, -2823, 0x44B8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, CS_FLOAT(0x4235998B, 45.399944f), 22, -313, -2823, 0x8080), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x4235998B, 45.399944f), 23, -313, -2823, 0xE243), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 6, CS_FLOAT(0x41F6662C, 30.799889f), 73, -298, -2828, 0x005E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x41F6662C, 30.799889f), 73, -298, -2828, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x41F6662C, 30.799889f), 73, -298, -2828, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x41F6662C, 30.799889f), 73, -298, -2828, 0x5B80), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x41F6662C, 30.799889f), 73, -298, -2828, 0x49B4), CS_CAM_AT_SPLINE(73, 237), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.2f, 136, -314, -3060, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 60.600002f, 136, -314, -3060, 0x44B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 45.399944f, 136, -314, -3060, 0x8080), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, 136, -314, -3060, 0xE243), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, 136, -314, -3060, 0x005E), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.399944f, 135, -313, -3060, 0xFFFF), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.399944f, 135, -313, -3059, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4270CCCD, 60.2f), 136, -314, -3060, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x42726667, 60.600002f), 136, -314, -3060, 0x44B8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x4235998B, 45.399944f), 136, -314, -3060, 0x8080), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), 136, -314, -3060, 0xE243), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), 136, -314, -3060, 0x005E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), 135, -313, -3060, 0xFFFF), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4235998B, 45.399944f), 135, -313, -3059, 0x0000), CS_CAM_AT_SPLINE(116, 1236), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.799946f, 132, -305, -2969, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.799946f, 132, -304, -2969, 0x44B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 45.799946f, 133, -304, -2969, 0x8080), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.799946f, 133, -304, -2969, 0xE243), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.799946f, 133, -304, -2969, 0x005E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42373325, 45.799946f), 132, -305, -2969, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42373325, 45.799946f), 132, -304, -2969, 0x44B8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x42373325, 45.799946f), 133, -304, -2969, 0x8080), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42373325, 45.799946f), 133, -304, -2969, 0xE243), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42373325, 45.799946f), 133, -304, -2969, 0x005E), CS_CAM_AT_SPLINE(186, 1306), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.39995f, 138, -301, -3032, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.39995f, 138, -301, -3032, 0x44B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 45.39995f, 138, -301, -3032, 0x8080), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.39995f, 138, -301, -3032, 0xE243), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.39995f, 138, -301, -3032, 0x005E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998C, 45.39995f), 138, -301, -3032, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998C, 45.39995f), 138, -301, -3032, 0x44B8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4235998C, 45.39995f), 138, -301, -3032, 0x8080), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4235998C, 45.39995f), 138, -301, -3032, 0xE243), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4235998C, 45.39995f), 138, -301, -3032, 0x005E), CS_CAM_AT_SPLINE(256, 454), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 28.199883f, 307, -254, -3258, 0x20BA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 28.199883f, 307, -254, -3258, 0x44B8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 9, 28.199883f, 307, -254, -3258, 0x8080), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 9, 46.799953f, 304, -273, -3273, 0xE243), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 46.799953f, 304, -272, -3274, 0x005E), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 46.799953f, 304, -272, -3274, 0xFFFF), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 46.799953f, 304, -272, -3274, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 46.799953f, 305, -272, -3274, 0x5B80), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x41E1995C, 28.199883f), 307, -254, -3258, 0x20BA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x41E1995C, 28.199883f), 307, -254, -3258, 0x44B8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 9, CS_FLOAT(0x41E1995C, 28.199883f), 307, -254, -3258, 0x8080), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 9, CS_FLOAT(0x423B3327, 46.799953f), 304, -273, -3273, 0xE243), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423B3327, 46.799953f), 304, -272, -3274, 0x005E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423B3327, 46.799953f), 304, -272, -3274, 0xFFFF), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x423B3327, 46.799953f), 304, -272, -3274, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x423B3327, 46.799953f), 305, -272, -3274, 0x5B80), CS_START_SEQ_LIST(1), CS_START_SEQ(NA_BGM_APPEAR, 74, 75, 0x0000, 0x00000000, 0xFFFFFFF1, 0x00000000, 0x0000004E, 0xFFFFFFF1, 0x00000000, 0x0000004E), CS_END(), @@ -115,24 +115,24 @@ static u32 D_80AF10A0 = 0; static CutsceneData D_80AF10A4[] = { CS_BEGIN_CUTSCENE(14, 1299), CS_PLAYER_CUE_LIST(3), - CS_PLAYER_CUE(PLAYER_CUEID_5, 0, 272, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, 1.1393037e-29f, 0.0f, 1.4e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_3, 272, 292, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, 1.1393037e-29f, 0.0f, 1.4e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_5, 292, 777, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, 1.1393037e-29f, 0.0f, 1.4e-45f), + CS_PLAYER_CUE(PLAYER_CUEID_5, 0, 272, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_3, 272, 292, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_5, 292, 777, 0x0000, 0xC000, 0x0000, -1085, -1025, -3347, -1085, -1025, -3347, CS_FLOAT(0xF671408, 1.1393037e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), CS_MISC_LIST(1), CS_MISC(CS_MISC_STOP_CUTSCENE, 330, 627, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000), CS_ACTOR_CUE_LIST(66, 3), - CS_ACTOR_CUE(0x0001, 0, 40, 0x0000, 0x4000, 0x0000, -1352, -969, -3341, -1352, -969, -3341, 0.0f, 0.0f, 1.4e-45f), - CS_ACTOR_CUE(0x0002, 40, 213, 0x0000, 0x4000, 0x0000, -1352, -969, -3341, -1360, -969, -3343, 0.0f, 0.0f, 1.4e-45f), - CS_ACTOR_CUE(0x0003, 213, 1000, 0x0000, 0x4000, 0x0000, -1360, -969, -3343, -1360, -969, -3343, 0.0f, 0.0f, 1.4e-45f), + CS_ACTOR_CUE(0x0001, 0, 40, 0x0000, 0x4000, 0x0000, -1352, -969, -3341, -1352, -969, -3341, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_ACTOR_CUE(0x0002, 40, 213, 0x0000, 0x4000, 0x0000, -1352, -969, -3341, -1360, -969, -3343, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_ACTOR_CUE(0x0003, 213, 1000, 0x0000, 0x4000, 0x0000, -1360, -969, -3343, -1360, -969, -3343, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), CS_ACTOR_CUE_LIST(48, 1), - CS_ACTOR_CUE(0x0002, 0, 90, 0x0000, 0x0000, 0x0000, -1360, -963, -3343, -1360, -963, -3343, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0002, 0, 90, 0x0000, 0x0000, 0x0000, -1360, -963, -3343, -1360, -963, -3343, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_ACTOR_CUE_LIST(48, 2), - CS_ACTOR_CUE(0x0002, 90, 211, 0x0000, 0x0000, 0x0000, -1352, -922, -3341, -1352, -922, -3341, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0006, 211, 311, 0x0000, 0x0000, 0x0000, -1352, -922, -3341, -1352, -922, -3341, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0002, 90, 211, 0x0000, 0x0000, 0x0000, -1352, -922, -3341, -1352, -922, -3341, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0006, 211, 311, 0x0000, 0x0000, 0x0000, -1352, -922, -3341, -1352, -922, -3341, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_ACTOR_CUE_LIST(62, 3), - CS_ACTOR_CUE(0x0004, 0, 210, 0x0000, 0x0000, 0x0000, -1065, -972, -3305, -1065, -978, -3305, 0.0f, -0.028571429f, 0.0f), - CS_ACTOR_CUE(0x0004, 210, 220, 0x8000, 0x0000, 0x0000, -1065, -978, -3305, -1065, -973, -3344, 0.0f, 0.5f, 0.0f), - CS_ACTOR_CUE(0x0004, 220, 410, 0x0000, 0x0000, 0x0000, -1065, -973, -3344, -1065, -976, -3344, 0.0f, -0.015789473f, 0.0f), + CS_ACTOR_CUE(0x0004, 0, 210, 0x0000, 0x0000, 0x0000, -1065, -972, -3305, -1065, -978, -3305, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0xBCEA0EA1, -0.028571429f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0004, 210, 220, 0x8000, 0x0000, 0x0000, -1065, -978, -3305, -1065, -973, -3344, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x3F000000, 0.5f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0004, 220, 410, 0x0000, 0x0000, 0x0000, -1065, -973, -3344, -1065, -976, -3344, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0xBC8158ED, -0.015789473f), CS_FLOAT(0x0, 0.0f)), CS_TEXT_LIST(6), CS_TEXT_NONE(0, 162), CS_TEXT(0x4050, 162, 211, 0x0000, 0xFFFF, 0xFFFF), @@ -143,59 +143,59 @@ static CutsceneData D_80AF10A4[] = { CS_START_SEQ_LIST(1), CS_START_SEQ(NA_BGM_ITEM_GET, 112, 113, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC7, 0x000000B1, 0x00000000, 0xFFFFFFC7, 0x000000B1), CS_CAM_EYE_SPLINE(0, 1176), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 41.9066f, -1390, -948, -3339, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.706596f, -1390, -948, -3339, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.706596f, -1390, -948, -3339, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.706596f, -1418, -938, -3337, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x013F), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.10661f, -1418, -938, -3337, 0x006D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4227A05C, 41.9066f), -1390, -948, -3339, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4222D38E, 40.706596f), -1390, -948, -3339, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4222D38E, 40.706596f), -1390, -948, -3339, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4222D38E, 40.706596f), -1418, -938, -3337, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42346D2B, 45.10661f), -1418, -938, -3337, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42346D2B, 45.10661f), -1418, -938, -3337, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42346D2B, 45.10661f), -1418, -938, -3337, 0x013F), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42346D2B, 45.10661f), -1418, -938, -3337, 0x006D), CS_CAM_EYE_SPLINE(91, 1270), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 44.906612f, -1319, -934, -3343, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 44.70661f, -1319, -936, -3344, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 44.70661f, -1319, -936, -3344, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 44.70661f, -1319, -936, -3344, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 44.70661f, -1326, -904, -3342, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x013F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x014E), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x015F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.906673f, -1326, -904, -3342, 0x0161), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.906673f, -1326, -1024, -3342, 0x652E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4233A05F, 44.906612f), -1319, -934, -3343, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4232D392, 44.70661f), -1319, -936, -3344, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4232D392, 44.70661f), -1319, -936, -3344, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4232D392, 44.70661f), -1319, -936, -3344, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4232D392, 44.70661f), -1326, -904, -3342, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4273A06F, 60.906673f), -1326, -904, -3342, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4273A06F, 60.906673f), -1326, -904, -3342, 0x013F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4273A06F, 60.906673f), -1326, -904, -3342, 0x014E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4273A06F, 60.906673f), -1326, -904, -3342, 0x015F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4273A06F, 60.906673f), -1326, -904, -3342, 0x0161), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4273A06F, 60.906673f), -1326, -1024, -3342, 0x652E), CS_CAM_EYE_SPLINE(211, 332), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00E8), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 30.306555f, -1471, -819, -3149, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41F273D3, 30.306555f), -1471, -819, -3149, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41F273D3, 30.306555f), -1471, -819, -3149, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41F273D3, 30.306555f), -1471, -819, -3149, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x41F273D3, 30.306555f), -1471, -819, -3149, 0x00E8), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x41F273D3, 30.306555f), -1471, -819, -3149, 0x00EA), CS_CAM_AT_SPLINE(0, 1205), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.706596f, -1295, -1003, -3352, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 40.706596f, -1296, -1003, -3352, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 40.706596f, -1296, -1003, -3352, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, 45.10661f, -1314, -969, -3346, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.10661f, -1313, -970, -3346, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 45.10661f, -1313, -969, -3346, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.10661f, -1313, -970, -3346, 0x013F), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.10661f, -1313, -970, -3346, 0x006D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4222D38E, 40.706596f), -1295, -1003, -3352, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x4222D38E, 40.706596f), -1296, -1003, -3352, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x4222D38E, 40.706596f), -1296, -1003, -3352, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, CS_FLOAT(0x42346D2B, 45.10661f), -1314, -969, -3346, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42346D2B, 45.10661f), -1313, -970, -3346, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x42346D2B, 45.10661f), -1313, -969, -3346, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42346D2B, 45.10661f), -1313, -970, -3346, 0x013F), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42346D2B, 45.10661f), -1313, -970, -3346, 0x006D), CS_CAM_AT_SPLINE(91, 1299), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 44.70661f, -1405, -988, -3343, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 44.70661f, -1406, -989, -3344, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 44.70661f, -1406, -989, -3344, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 44.70661f, -1406, -989, -3344, 0x00E8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, 60.906673f, -1393, -978, -3342, 0x00EA), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x013D), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x013F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 60.906673f, -1393, -977, -3342, 0x014E), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x015F), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.906673f, -1393, -977, -3342, 0x0161), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.906673f, -1401, -1094, -3347, 0x652E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4232D392, 44.70661f), -1405, -988, -3343, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x4232D392, 44.70661f), -1406, -989, -3344, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x4232D392, 44.70661f), -1406, -989, -3344, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x4232D392, 44.70661f), -1406, -989, -3344, 0x00E8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 7, CS_FLOAT(0x4273A06F, 60.906673f), -1393, -978, -3342, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4273A06F, 60.906673f), -1393, -977, -3342, 0x013D), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4273A06F, 60.906673f), -1393, -977, -3342, 0x013F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4273A06F, 60.906673f), -1393, -977, -3342, 0x014E), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4273A06F, 60.906673f), -1393, -977, -3342, 0x015F), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4273A06F, 60.906673f), -1393, -977, -3342, 0x0161), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4273A06F, 60.906673f), -1401, -1094, -3347, 0x652E), CS_CAM_AT_SPLINE(211, 361), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00C6), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00C8), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00D7), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00E8), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 30.306555f, -1426, -857, -3190, 0x00EA), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x41F273D3, 30.306555f), -1426, -857, -3190, 0x00C6), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x41F273D3, 30.306555f), -1426, -857, -3190, 0x00C8), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x41F273D3, 30.306555f), -1426, -857, -3190, 0x00D7), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x41F273D3, 30.306555f), -1426, -857, -3190, 0x00E8), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x41F273D3, 30.306555f), -1426, -857, -3190, 0x00EA), CS_END(), }; @@ -206,31 +206,31 @@ static CutsceneData D_80AF1728[] = { CS_MISC_LIST(1), CS_MISC(CS_MISC_STOP_CUTSCENE, 75, 627, 0x0000, 0x00000000, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0xFFFFFFC0, 0x00000032, 0x00000000, 0x00000000, 0x00000000), CS_ACTOR_CUE_LIST(48, 1), - CS_ACTOR_CUE(0x0002, 0, 90, 0x0000, 0x0000, 0x0000, -1360, -963, -3343, -1360, -963, -3343, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0002, 0, 90, 0x0000, 0x0000, 0x0000, -1360, -963, -3343, -1360, -963, -3343, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_CAM_EYE_SPLINE(0, 1091), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x8BC0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x2200), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 40.599983f, -1381, -958, -3331, 0xD0E8), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 40.599983f, -1381, -958, -3331, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42226662, 40.599983f), -1381, -958, -3331, 0x8BC0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42226662, 40.599983f), -1381, -958, -3331, 0x2200), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42226662, 40.599983f), -1381, -958, -3331, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42226662, 40.599983f), -1381, -958, -3331, 0xD0E8), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42226662, 40.599983f), -1381, -958, -3331, 0x0000), CS_CAM_EYE_SPLINE_REL_TO_PLAYER(40, 1131), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0x8BC0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0x2200), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 50.800022f, 19, 40, 53, 0xD0E8), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 50.800022f, 19, 40, 53, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x424B3339, 50.800022f), 19, 40, 53, 0x8BC0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x424B3339, 50.800022f), 19, 40, 53, 0x2200), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x424B3339, 50.800022f), 19, 40, 53, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x424B3339, 50.800022f), 19, 40, 53, 0xD0E8), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x424B3339, 50.800022f), 19, 40, 53, 0x0000), CS_CAM_AT_SPLINE(0, 1120), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.599983f, -1224, -979, -3366, 0x8BC0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.599983f, -1224, -979, -3366, 0x2200), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 40.599983f, -1224, -979, -3366, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 40.599983f, -1224, -979, -3366, 0xD0E8), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 40.599983f, -1224, -979, -3366, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42226662, 40.599983f), -1224, -979, -3366, 0x8BC0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42226662, 40.599983f), -1224, -979, -3366, 0x2200), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x42226662, 40.599983f), -1224, -979, -3366, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42226662, 40.599983f), -1224, -979, -3366, 0xD0E8), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42226662, 40.599983f), -1224, -979, -3366, 0x0000), CS_CAM_AT_SPLINE_REL_TO_PLAYER(40, 1160), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 50.800022f, -35, 56, -93, 0x8BC0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 50.800022f, -35, 56, -93, 0x2200), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 50.800022f, -35, 56, -93, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 50.800022f, -35, 56, -93, 0xD0E8), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 50.800022f, -35, 56, -93, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x424B3339, 50.800022f), -35, 56, -93, 0x8BC0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x424B3339, 50.800022f), -35, 56, -93, 0x2200), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x424B3339, 50.800022f), -35, 56, -93, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x424B3339, 50.800022f), -35, 56, -93, 0xD0E8), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x424B3339, 50.800022f), -35, 56, -93, 0x0000), CS_TEXT_LIST(2), CS_TEXT_NONE(0, 35), CS_TEXT(0x404F, 35, 70, 0x0000, 0xFFFF, 0xFFFF), 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 68f67b8f68..00cb959f12 100644 --- a/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c +++ b/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c @@ -63,7 +63,6 @@ static void* sEyeTextures[] = { static UNK_TYPE D_80AF4118 = 0; -#pragma asmproc recurse #include "z_en_ru2_cutscene_data.inc.c" static EnRu2ActionFunc sActionFuncs[] = { diff --git a/src/overlays/actors/ovl_En_Ru2/z_en_ru2_cutscene_data.inc.c b/src/overlays/actors/ovl_En_Ru2/z_en_ru2_cutscene_data.inc.c index efc9e0cf4e..42538a1e0a 100644 --- a/src/overlays/actors/ovl_En_Ru2/z_en_ru2_cutscene_data.inc.c +++ b/src/overlays/actors/ovl_En_Ru2/z_en_ru2_cutscene_data.inc.c @@ -7,19 +7,19 @@ static CutsceneData D_80AF411C[] = { CS_UNK_DATA_LIST(0x00000020, 1), CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0xFFFFFFFC, 0x00000002, 0x00000000, 0xFFFFFFFC, 0x00000002, 0x00000000, 0x00000000, 0x00000000), CS_ACTOR_CUE_LIST(31, 5), - CS_ACTOR_CUE(0x0001, 0, 829, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0002, 829, 830, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0004, 830, 898, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0002, 898, 948, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 82, 0, 0.0f, -2.68f, 0.0f), - CS_ACTOR_CUE(0x0003, 948, 3338, 0x0000, 0x0000, 0x0000, 0, 82, 0, 0, 82, 0, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 829, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0002, 829, 830, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0004, 830, 898, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 216, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0002, 898, 948, 0x0000, 0x0000, 0x0000, 0, 216, 0, 0, 82, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0xC02B851F, -2.68f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0003, 948, 3338, 0x0000, 0x0000, 0x0000, 0, 82, 0, 0, 82, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_PLAYER_CUE_LIST(5), - CS_PLAYER_CUE(PLAYER_CUEID_13, 0, 240, 0x0000, 0x0000, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 0.0f), - CS_PLAYER_CUE(PLAYER_CUEID_5, 240, 520, 0x0000, 0x4000, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 0.0f), - CS_PLAYER_CUE(PLAYER_CUEID_3, 520, 550, 0x0000, 0x4000, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 0.0f), - CS_PLAYER_CUE(PLAYER_CUEID_5, 550, 801, 0x0000, 0x4000, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 0.0f), - CS_PLAYER_CUE(PLAYER_CUEID_19, 801, 1956, 0x0000, 0xC000, 0x0000, 0, 6, 0, 0, 6, 0, 0.0f, 0.0f, 0.0f), + CS_PLAYER_CUE(PLAYER_CUEID_13, 0, 240, 0x0000, 0x0000, 0x0000, 0, 6, 0, 0, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_PLAYER_CUE(PLAYER_CUEID_5, 240, 520, 0x0000, 0x4000, 0x0000, 0, 6, 0, 0, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_PLAYER_CUE(PLAYER_CUEID_3, 520, 550, 0x0000, 0x4000, 0x0000, 0, 6, 0, 0, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_PLAYER_CUE(PLAYER_CUEID_5, 550, 801, 0x0000, 0x4000, 0x0000, 0, 6, 0, 0, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_PLAYER_CUE(PLAYER_CUEID_19, 801, 1956, 0x0000, 0xC000, 0x0000, 0, 6, 0, 0, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_ACTOR_CUE_LIST(49, 1), - CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, -16, -121, 0, -16, -121, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, -16, -121, 0, -16, -121, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_LIGHT_SETTING_LIST(5), CS_LIGHT_SETTING(0x0004, 0, 384, 0x0000, 0x00000000, 0xFFFFFFA1, 0x00000000, 0x00000058, 0xFFFFFFA1, 0x00000000, 0x00000058), CS_LIGHT_SETTING(0x0005, 384, 454, 0x0000, 0x00000000, 0xFFFFFFA1, 0x00000000, 0x00000058, 0xFFFFFFA1, 0x00000000, 0x00000058), @@ -27,178 +27,178 @@ static CutsceneData D_80AF411C[] = { CS_LIGHT_SETTING(0x0005, 554, 624, 0x0000, 0x00000000, 0xFFFFFFA1, 0x00000000, 0x00000058, 0xFFFFFFA1, 0x00000000, 0x00000058), CS_LIGHT_SETTING(0x0004, 624, 3001, 0x0000, 0x00000000, 0xFFFFFFA1, 0x00000000, 0x00000058, 0xFFFFFFA1, 0x00000000, 0x00000058), CS_ACTOR_CUE_LIST(39, 1), - CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, 0, -2, 0, 0, -2, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 3000, 0x0000, 0x0000, 0x0000, 0, 0, -2, 0, 0, -2, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_ACTOR_CUE_LIST(42, 3), - CS_ACTOR_CUE(0x0001, 0, 146, 0x0000, 0x0000, 0x0000, 195, 6, 0, 195, 6, 0, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0002, 146, 754, 0x0000, 0x0000, 0x0000, 195, 6, 0, 195, 6, 0, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0003, 754, 2628, 0x0000, 0x0000, 0x0000, 195, 6, 0, 195, 6, 0, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0001, 0, 146, 0x0000, 0x0000, 0x0000, 195, 6, 0, 195, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0002, 146, 754, 0x0000, 0x0000, 0x0000, 195, 6, 0, 195, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0003, 754, 2628, 0x0000, 0x0000, 0x0000, 195, 6, 0, 195, 6, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_TRANSITION(CS_TRANS_GRAY_FILL_IN, 810, 823), CS_TRANSITION(CS_TRANS_GRAY_FILL_OUT, 825, 855), CS_TRANSITION(CS_TRANS_GRAY_FILL_IN, 1090, 1121), CS_CAM_EYE_SPLINE(0, 301), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 175.39832f, -617, 30, 71, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 175.39832f, -617, 30, 71, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 175.39832f, -617, 30, 71, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 175.39832f, -617, 30, 71, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 175.39832f, -617, 30, 71, 0x1F98), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 175.39832f, -617, 30, 71, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 145.79877f, -456, 107, 56, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -76, 54, 71, 0x0164), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, 116, 54, 96, 0x2100), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, 236, 11, 64, 0x0049), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, 236, 11, 64, 0x204C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, 236, 11, 64, 0xE990), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.600002f, 236, 11, 64, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x432F65F8, 175.39832f), -617, 30, 71, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x432F65F8, 175.39832f), -617, 30, 71, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x432F65F8, 175.39832f), -617, 30, 71, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x432F65F8, 175.39832f), -617, 30, 71, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x432F65F8, 175.39832f), -617, 30, 71, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x432F65F8, 175.39832f), -617, 30, 71, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4311CC7C, 145.79877f), -456, 107, 56, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -76, 54, 71, 0x0164), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), 116, 54, 96, 0x2100), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), 236, 11, 64, 0x0049), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), 236, 11, 64, 0x204C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), 236, 11, 64, 0xE990), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), 236, 11, 64, 0x0000), CS_CAM_EYE_SPLINE(263, 1484), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 42.22703f, 161, 53, 26, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 42.22703f, 161, 53, 26, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 42.22703f, 161, 53, 26, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 42.22703f, 130, 9, 96, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 42.22703f, 130, 9, 96, 0x1F98), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 42.22703f, 130, 9, 96, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 42.22703f, 130, 9, 96, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 42.22703f, 130, 9, 96, 0x0164), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4228E87B, 42.22703f), 161, 53, 26, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4228E87B, 42.22703f), 161, 53, 26, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4228E87B, 42.22703f), 161, 53, 26, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4228E87B, 42.22703f), 130, 9, 96, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4228E87B, 42.22703f), 130, 9, 96, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4228E87B, 42.22703f), 130, 9, 96, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4228E87B, 42.22703f), 130, 9, 96, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4228E87B, 42.22703f), 130, 9, 96, 0x0164), CS_CAM_EYE_SPLINE(383, 1474), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.22702f, 207, 45, 34, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.22702f, 207, 45, 34, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.22702f, 207, 45, 34, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.22702f, 207, 45, 34, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 70.22702f, 207, 45, 34, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428C743C, 70.22702f), 207, 45, 34, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428C743C, 70.22702f), 207, 45, 34, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428C743C, 70.22702f), 207, 45, 34, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428C743C, 70.22702f), 207, 45, 34, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x428C743C, 70.22702f), 207, 45, 34, 0x1F98), CS_CAM_EYE_SPLINE(453, 1544), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.027042f, -58, 90, 70, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.027042f, -58, 90, 70, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.027042f, -58, 90, 70, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.027042f, -58, 90, 70, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.027042f, -58, 90, 70, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42341BB1, 45.027042f), -58, 90, 70, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42341BB1, 45.027042f), -58, 90, 70, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42341BB1, 45.027042f), -58, 90, 70, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42341BB1, 45.027042f), -58, 90, 70, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42341BB1, 45.027042f), -58, 90, 70, 0x1F98), CS_CAM_EYE_SPLINE(553, 1644), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.22702f, 207, 45, 34, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.22702f, 207, 45, 34, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.22702f, 207, 45, 34, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.22702f, 207, 45, 34, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 70.22702f, 207, 45, 34, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428C743C, 70.22702f), 207, 45, 34, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428C743C, 70.22702f), 207, 45, 34, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428C743C, 70.22702f), 207, 45, 34, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428C743C, 70.22702f), 207, 45, 34, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x428C743C, 70.22702f), 207, 45, 34, 0x1F98), CS_CAM_EYE_SPLINE(623, 1714), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4271f, 161, 59, 0, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4271f, 161, 59, 0, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4271f, 161, 59, 0, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4271f, 161, 59, 0, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.4271f, 161, 59, 0, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271B55A, 60.4271f), 161, 59, 0, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271B55A, 60.4271f), 161, 59, 0, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271B55A, 60.4271f), 161, 59, 0, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271B55A, 60.4271f), 161, 59, 0, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4271B55A, 60.4271f), 161, 59, 0, 0x1F98), CS_CAM_EYE_SPLINE(693, 1784), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4271f, 151, 82, 35, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4271f, 151, 82, 35, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4271f, 151, 82, 35, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4271f, 151, 82, 35, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.4271f, 151, 82, 35, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271B55A, 60.4271f), 151, 82, 35, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271B55A, 60.4271f), 151, 82, 35, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271B55A, 60.4271f), 151, 82, 35, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271B55A, 60.4271f), 151, 82, 35, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4271B55A, 60.4271f), 151, 82, 35, 0x1F98), CS_CAM_EYE_SPLINE(763, 944), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4271f, 230, 7, 24, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4271f, 230, 7, 24, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4271f, 230, 7, 24, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.4271f, 207, 62, 15, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.42702f, 230, 240, 24, 0x1F98), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.42702f, 230, 240, 24, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 70.42702f, 230, 240, 24, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 70.42702f, 230, 240, 24, 0x0164), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271B55A, 60.4271f), 230, 7, 24, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271B55A, 60.4271f), 230, 7, 24, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271B55A, 60.4271f), 230, 7, 24, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4271B55A, 60.4271f), 207, 62, 15, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428CDAA2, 70.42702f), 230, 240, 24, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428CDAA2, 70.42702f), 230, 240, 24, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x428CDAA2, 70.42702f), 230, 240, 24, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x428CDAA2, 70.42702f), 230, 240, 24, 0x0164), CS_CAM_EYE_SPLINE(823, 1165), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 13, 854, 2, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 9, 853, 5, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -3, 853, 5, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -9, 853, -6, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -2, 852, -17, 0x1F98), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 9, 852, -17, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 16, 852, -6, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, 9, 852, 5, 0x0164), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.0f, -3, 851, 5, 0x2100), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 13, 854, 2, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 9, 853, 5, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -3, 853, 5, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -9, 853, -6, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -2, 852, -17, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 9, 852, -17, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 16, 852, -6, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), 9, 852, 5, 0x0164), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -3, 851, 5, 0x2100), CS_CAM_EYE_SPLINE_REL_TO_PLAYER(899, 2080), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 33, -27, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 33, -27, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 68, -26, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x1F98), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 68.599945f, 0, 103, -26, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 68.599945f, 0, 103, -26, 0x0164), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 33, -27, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 33, -27, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 68, -26, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4289332C, 68.599945f), 0, 103, -26, 0x0164), CS_CAM_AT_SPLINE(0, 330), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x1E, 20, 175.39832f, -649, -75, 101, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0xE2, 20, 175.39832f, -652, -75, 98, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x1E, 20, 175.39832f, -658, -75, 87, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0xE2, 20, 175.39832f, -678, 127, 71, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 175.39832f, -727, 0, 71, 0x1F98), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 145.79877f, -513, 0, 43, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, -349, 89, 47, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, 6, 61, 1, 0x0164), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, 33, 66, 28, 0x2100), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, 158, 42, 1, 0x0049), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, 158, 42, 1, 0x204C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, 158, 42, 1, 0xE990), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.600002f, 158, 42, 1, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x1E, 20, CS_FLOAT(0x432F65F8, 175.39832f), -649, -75, 101, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0xE2, 20, CS_FLOAT(0x432F65F8, 175.39832f), -652, -75, 98, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x1E, 20, CS_FLOAT(0x432F65F8, 175.39832f), -658, -75, 87, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0xE2, 20, CS_FLOAT(0x432F65F8, 175.39832f), -678, 127, 71, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x432F65F8, 175.39832f), -727, 0, 71, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x4311CC7C, 145.79877f), -513, 0, 43, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), -349, 89, 47, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), 6, 61, 1, 0x0164), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), 33, 66, 28, 0x2100), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), 158, 42, 1, 0x0049), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), 158, 42, 1, 0x204C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), 158, 42, 1, 0xE990), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), 158, 42, 1, 0x0000), CS_CAM_AT_SPLINE(263, 1513), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 42.22703f, 322, 62, -122, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 42.22703f, 322, 62, -122, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 42.22703f, 322, 62, -122, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 42.22703f, 232, 63, -83, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 42.22703f, 232, 63, -83, 0x1F98), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 42.22703f, 232, 63, -83, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 42.22703f, 232, 63, -83, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 42.22703f, 232, 63, -83, 0x0164), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4228E87B, 42.22703f), 322, 62, -122, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4228E87B, 42.22703f), 322, 62, -122, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x4228E87B, 42.22703f), 322, 62, -122, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x4228E87B, 42.22703f), 232, 63, -83, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4228E87B, 42.22703f), 232, 63, -83, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4228E87B, 42.22703f), 232, 63, -83, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4228E87B, 42.22703f), 232, 63, -83, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4228E87B, 42.22703f), 232, 63, -83, 0x0164), CS_CAM_AT_SPLINE(383, 1503), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.22702f, 51, 62, -105, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.22702f, 51, 62, -105, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 70.22702f, 51, 62, -105, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.22702f, 51, 62, -105, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 70.22702f, 51, 62, -105, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428C743C, 70.22702f), 51, 62, -105, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428C743C, 70.22702f), 51, 62, -105, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x428C743C, 70.22702f), 51, 62, -105, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428C743C, 70.22702f), 51, 62, -105, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x428C743C, 70.22702f), 51, 62, -105, 0x1F98), CS_CAM_AT_SPLINE(453, 1573), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.027042f, 102, 22, -31, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.027042f, 102, 22, -31, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 45.027042f, 102, 22, -31, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.027042f, 102, 22, -31, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.027042f, 102, 22, -31, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42341BB1, 45.027042f), 102, 22, -31, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42341BB1, 45.027042f), 102, 22, -31, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x42341BB1, 45.027042f), 102, 22, -31, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42341BB1, 45.027042f), 102, 22, -31, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42341BB1, 45.027042f), 102, 22, -31, 0x1F98), CS_CAM_AT_SPLINE(553, 1673), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.22702f, 51, 62, -105, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.22702f, 51, 62, -105, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 70.22702f, 51, 62, -105, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.22702f, 51, 62, -105, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 70.22702f, 51, 62, -105, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428C743C, 70.22702f), 51, 62, -105, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428C743C, 70.22702f), 51, 62, -105, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x428C743C, 70.22702f), 51, 62, -105, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428C743C, 70.22702f), 51, 62, -105, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x428C743C, 70.22702f), 51, 62, -105, 0x1F98), CS_CAM_AT_SPLINE(623, 1743), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.4271f, 347, 22, 0, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.4271f, 347, 22, 0, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 60.4271f, 347, 22, 0, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.4271f, 347, 22, 0, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.4271f, 347, 22, 0, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4271B55A, 60.4271f), 347, 22, 0, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4271B55A, 60.4271f), 347, 22, 0, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4271B55A, 60.4271f), 347, 22, 0, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4271B55A, 60.4271f), 347, 22, 0, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4271B55A, 60.4271f), 347, 22, 0, 0x1F98), CS_CAM_AT_SPLINE(693, 1813), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.4271f, 258, -30, -54, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.4271f, 258, -30, -54, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 60.4271f, 258, -30, -54, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.4271f, 258, -30, -54, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.4271f, 258, -30, -54, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4271B55A, 60.4271f), 258, -30, -54, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4271B55A, 60.4271f), 258, -30, -54, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4271B55A, 60.4271f), 258, -30, -54, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4271B55A, 60.4271f), 258, -30, -54, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4271B55A, 60.4271f), 258, -30, -54, 0x1F98), CS_CAM_AT_SPLINE(763, 973), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.4271f, 96, 105, -29, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, 60.4271f, 96, 105, -29, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, 60.4271f, 96, 105, -29, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, 60.0271f, 110, 196, -26, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 70.42702f, 185, 399, 6, 0x1F98), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.42702f, 185, 399, 6, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 70.42702f, 185, 399, 6, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 70.42702f, 185, 399, 6, 0x0164), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4271B55A, 60.4271f), 96, 105, -29, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, CS_FLOAT(0x4271B55A, 60.4271f), 96, 105, -29, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, CS_FLOAT(0x4271B55A, 60.4271f), 96, 105, -29, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 15, CS_FLOAT(0x42701BC0, 60.0271f), 110, 196, -26, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x428CDAA2, 70.42702f), 185, 399, 6, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428CDAA2, 70.42702f), 185, 399, 6, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x428CDAA2, 70.42702f), 185, 399, 6, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x428CDAA2, 70.42702f), 185, 399, 6, 0x0164), CS_CAM_AT_SPLINE(823, 1214), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 60.0f, 3, 6, -6, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, 60.0f, 3, 6, -6, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 50.999966f, 3, 6, -6, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 20.59985f, 3, 6, -6, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 51, 10.799838f, 3, 6, -6, 0x1F98), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 10.399838f, 3, 6, -6, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 10.399838f, 3, 6, -6, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, 10.199839f, 3, 6, -6, 0x0164), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 50, 10.999838f, 3, 6, -6, 0x2100), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x42700000, 60.0f), 3, 6, -6, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 40, CS_FLOAT(0x42700000, 60.0f), 3, 6, -6, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x424BFFF7, 50.999966f), 3, 6, -6, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x41A4CC7E, 20.59985f), 3, 6, -6, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 51, CS_FLOAT(0x412CCC23, 10.799838f), 3, 6, -6, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x412665BD, 10.399838f), 3, 6, -6, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x412665BD, 10.399838f), 3, 6, -6, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 50, CS_FLOAT(0x4123328A, 10.199839f), 3, 6, -6, 0x0164), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 50, CS_FLOAT(0x412FFF56, 10.999838f), 3, 6, -6, 0x2100), CS_CAM_AT_SPLINE_REL_TO_PLAYER(899, 2109), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 100, 5, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 101, 6, 0x1FBC), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 1, 99, 41, 0xD5E0), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x1F98), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, 68.599945f, 0, 42, 16, 0x0000), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 68.599945f, 0, 42, 16, 0x0000), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 68.599945f, 0, 42, 16, 0x0164), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 100, 5, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 101, 6, 0x1FBC), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 1, 99, 41, 0xD5E0), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x1F98), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 1000, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x0000), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x0000), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4289332C, 68.599945f), 0, 42, 16, 0x0164), CS_ACTOR_CUE_LIST(62, 1), - CS_ACTOR_CUE(0x0004, 0, 3000, 0xC10F, 0x0000, 0x0000, 77, 80, -2, 0, 80, 0, -0.025666667f, 0.0f, 0.025666667f), + CS_ACTOR_CUE(0x0004, 0, 3000, 0xC10F, 0x0000, 0x0000, 77, 80, -2, 0, 80, 0, CS_FLOAT(0xBCD242E7, -0.025666667f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x3CD242E7, 0.025666667f)), CS_TEXT_LIST(14), CS_TEXT_NONE(0, 394), CS_TEXT(0x4041, 394, 444, 0x0000, 0x0000, 0x0000), 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 a055e7ea84..d60aa4e40c 100644 --- a/src/overlays/actors/ovl_En_Sa/z_en_sa.c +++ b/src/overlays/actors/ovl_En_Sa/z_en_sa.c @@ -58,8 +58,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 20, 46, 0, { 0, 0, 0 } }, 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 07b4d9042e..5c3499be29 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.elem.bumper.hitPos.y - this->actor.world.pos.y; + hitY = this->collider.elem.acDmgInfo.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.elem.bumper.hitPos.y - this->actor.world.pos.y; + hitY = this->collider.elem.acDmgInfo.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.elem.bumper.hitPos.x; - hitPoint.y = this->collider.elem.bumper.hitPos.y; - hitPoint.z = this->collider.elem.bumper.hitPos.z; + hitPoint.x = this->collider.elem.acDmgInfo.hitPos.x; + hitPoint.y = this->collider.elem.acDmgInfo.hitPos.y; + hitPoint.z = this->collider.elem.acDmgInfo.hitPos.z; CollisionCheck_SpawnShieldParticlesMetal2(play, &hitPoint); } } 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 406f96ce97..b351d6888d 100644 --- a/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c +++ b/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c @@ -46,8 +46,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 20, 40, 0, { 0, 0, 0 } }, diff --git a/src/overlays/actors/ovl_En_Si/z_en_si.c b/src/overlays/actors/ovl_En_Si/z_en_si.c index b121facd38..b6b3adf161 100644 --- a/src/overlays/actors/ovl_En_Si/z_en_si.c +++ b/src/overlays/actors/ovl_En_Si/z_en_si.c @@ -31,8 +31,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000090, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_NONE, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 20, 18, 2, { 0, 0, 0 } }, 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 b2e08703d9..d6cfb0bbc0 100644 --- a/src/overlays/actors/ovl_En_Skb/z_en_skb.c +++ b/src/overlays/actors/ovl_En_Skb/z_en_skb.c @@ -46,8 +46,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[2] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { 15, { { 0, 0, 0 }, 10 }, 100 }, @@ -57,8 +57,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_NONE, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 1, { { 0, 0, 0 }, 20 }, 100 }, 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 758a2649a1..1fb08a6cdf 100644 --- a/src/overlays/actors/ovl_En_Skj/z_en_skj.c +++ b/src/overlays/actors/ovl_En_Skj/z_en_skj.c @@ -183,8 +183,8 @@ static ColliderCylinderInitType1 D_80B01678 = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x0, 0x08 }, { 0xFFCFFFFF, 0x0, 0x0 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 8, 48, 0, { 0, 0, 0 } }, @@ -585,9 +585,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.elem.bumper.hitPos.x; - effectPos.y = this->collider.elem.bumper.hitPos.y; - effectPos.z = this->collider.elem.bumper.hitPos.z; + effectPos.x = this->collider.elem.acDmgInfo.hitPos.x; + effectPos.y = this->collider.elem.acDmgInfo.hitPos.y; + effectPos.z = this->collider.elem.acDmgInfo.hitPos.z; EnSkj_SpawnBlood(play, &effectPos); EffectSsHitMark_SpawnFixedScale(play, 1, &effectPos); 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 36521ba7e8..df3f584f91 100644 --- a/src/overlays/actors/ovl_En_Skjneedle/z_en_skjneedle.c +++ b/src/overlays/actors/ovl_En_Skjneedle/z_en_skjneedle.c @@ -40,8 +40,8 @@ static ColliderCylinderInitType1 sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 10, 4, -2, { 0, 0, 0 } }, 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 61fbe3fe85..e7b9d3ee0f 100644 --- a/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c +++ b/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c @@ -55,8 +55,8 @@ static ColliderCylinderInit sCylinderInit1 = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_NONE, }, { 32, 50, -24, { 0, 0, 0 } }, @@ -77,8 +77,8 @@ static ColliderCylinderInit sCylinderInit2 = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 20, 60, -30, { 0, 0, 0 } }, @@ -90,8 +90,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 1, { { 0, -240, 0 }, 28 }, 100 }, @@ -200,15 +200,15 @@ void EnSsh_InitColliders(EnSsh* this, PlayState* play) { Collider_SetCylinder(play, &this->colCylinder[i], &this->actor, cylinders[i]); } - this->colCylinder[0].elem.bumper.dmgFlags = + this->colCylinder[0].elem.acDmgInfo.dmgFlags = DMG_ARROW | DMG_MAGIC_FIRE | DMG_HOOKSHOT | DMG_HAMMER_SWING | DMG_EXPLOSIVE | DMG_DEKU_NUT; - this->colCylinder[1].elem.bumper.dmgFlags = + this->colCylinder[1].elem.acDmgInfo.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].elem.bumperFlags = BUMP_ON | BUMP_HOOKABLE | BUMP_NO_AT_INFO; + this->colCylinder[2].elem.acElemFlags = ACELEM_ON | ACELEM_HOOKABLE | ACELEM_NO_AT_INFO; this->colCylinder[2].elem.elemType = ELEMTYPE_UNK2; - this->colCylinder[2].elem.bumper.dmgFlags = + this->colCylinder[2].elem.acDmgInfo.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); @@ -438,13 +438,13 @@ void EnSsh_CheckBodyStickHit(EnSsh* this, PlayState* play) { Player* player = GET_PLAYER(play); if (player->unk_860 != 0) { - elem->bumper.dmgFlags |= DMG_DEKU_STICK; - this->colCylinder[1].elem.bumper.dmgFlags &= ~DMG_DEKU_STICK; - this->colCylinder[2].elem.bumper.dmgFlags &= ~DMG_DEKU_STICK; + elem->acDmgInfo.dmgFlags |= DMG_DEKU_STICK; + this->colCylinder[1].elem.acDmgInfo.dmgFlags &= ~DMG_DEKU_STICK; + this->colCylinder[2].elem.acDmgInfo.dmgFlags &= ~DMG_DEKU_STICK; } else { - elem->bumper.dmgFlags &= ~DMG_DEKU_STICK; - this->colCylinder[1].elem.bumper.dmgFlags |= DMG_DEKU_STICK; - this->colCylinder[2].elem.bumper.dmgFlags |= DMG_DEKU_STICK; + elem->acDmgInfo.dmgFlags &= ~DMG_DEKU_STICK; + this->colCylinder[1].elem.acDmgInfo.dmgFlags |= DMG_DEKU_STICK; + this->colCylinder[2].elem.acDmgInfo.dmgFlags |= DMG_DEKU_STICK; } } 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 55aa065dd4..b7983ad59b 100644 --- a/src/overlays/actors/ovl_En_St/z_en_st.c +++ b/src/overlays/actors/ovl_En_St/z_en_st.c @@ -48,8 +48,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_NONE, }, { 32, 50, -24, { 0, 0, 0 } }, @@ -70,8 +70,8 @@ static ColliderCylinderInit sCylinderInit2 = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 20, 60, -30, { 0, 0, 0 } }, @@ -83,8 +83,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_ON, }, { 1, { { 0, -240, 0 }, 28 }, 100 }, @@ -285,16 +285,16 @@ void EnSt_InitColliders(EnSt* this, PlayState* play) { Collider_SetCylinder(play, &this->colCylinder[i], &this->actor, cylinders[i]); } - this->colCylinder[0].elem.bumper.dmgFlags = + this->colCylinder[0].elem.acDmgInfo.dmgFlags = DMG_MAGIC_FIRE | DMG_ARROW | DMG_HOOKSHOT | DMG_HAMMER_SWING | DMG_BOOMERANG | DMG_EXPLOSIVE | DMG_DEKU_NUT; - this->colCylinder[1].elem.bumper.dmgFlags = + this->colCylinder[1].elem.acDmgInfo.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].elem.bumperFlags = BUMP_ON | BUMP_HOOKABLE | BUMP_NO_AT_INFO; + this->colCylinder[2].elem.acElemFlags = ACELEM_ON | ACELEM_HOOKABLE | ACELEM_NO_AT_INFO; this->colCylinder[2].elem.elemType = ELEMTYPE_UNK2; - this->colCylinder[2].elem.bumper.dmgFlags = + this->colCylinder[2].elem.acDmgInfo.dmgFlags = DMG_DEFAULT & ~(DMG_MAGIC_FIRE | DMG_ARROW | DMG_HOOKSHOT | DMG_HAMMER_SWING | DMG_BOOMERANG | DMG_EXPLOSIVE | DMG_DEKU_NUT); @@ -309,13 +309,13 @@ void EnSt_CheckBodyStickHit(EnSt* this, PlayState* play) { Player* player = GET_PLAYER(play); if (player->unk_860 != 0) { - bodyElem->bumper.dmgFlags |= DMG_DEKU_STICK; - this->colCylinder[1].elem.bumper.dmgFlags &= ~DMG_DEKU_STICK; - this->colCylinder[2].elem.bumper.dmgFlags &= ~DMG_DEKU_STICK; + bodyElem->acDmgInfo.dmgFlags |= DMG_DEKU_STICK; + this->colCylinder[1].elem.acDmgInfo.dmgFlags &= ~DMG_DEKU_STICK; + this->colCylinder[2].elem.acDmgInfo.dmgFlags &= ~DMG_DEKU_STICK; } else { - bodyElem->bumper.dmgFlags &= ~DMG_DEKU_STICK; - this->colCylinder[1].elem.bumper.dmgFlags |= DMG_DEKU_STICK; - this->colCylinder[2].elem.bumper.dmgFlags |= DMG_DEKU_STICK; + bodyElem->acDmgInfo.dmgFlags &= ~DMG_DEKU_STICK; + this->colCylinder[1].elem.acDmgInfo.dmgFlags |= DMG_DEKU_STICK; + this->colCylinder[2].elem.acDmgInfo.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->elem.acHitElem->toucher.dmgFlags; + flags |= cyl->elem.acHitElem->atDmgInfo.dmgFlags; } cyl = &this->colCylinder[1]; if (cyl->base.acFlags & AC_HIT) { cyl->base.acFlags &= ~AC_HIT; hit = true; - flags |= cyl->elem.acHitElem->toucher.dmgFlags; + flags |= cyl->elem.acHitElem->atDmgInfo.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 2918e8adea..66416baba9 100644 --- a/src/overlays/actors/ovl_En_Sth/z_en_sth.c +++ b/src/overlays/actors/ovl_En_Sth/z_en_sth.c @@ -49,8 +49,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 30, 40, 0, { 0, 0, 0 } }, 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 240beec6c4..6ffffd208c 100644 --- a/src/overlays/actors/ovl_En_Sw/z_en_sw.c +++ b/src/overlays/actors/ovl_En_Sw/z_en_sw.c @@ -283,7 +283,7 @@ void EnSw_Init(Actor* thisx, PlayState* play) { this->actor.scale.x = 0.0f; FALLTHROUGH; case 1: - this->collider.elements[0].base.toucher.damage *= 2; + this->collider.elements[0].base.atDmgInfo.damage *= 2; this->actor.naviEnemyId = NAVI_ENEMY_GOLD_SKULLTULA; this->actor.colChkInfo.health *= 2; this->actor.flags &= ~ACTOR_FLAG_0; @@ -538,14 +538,14 @@ 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].base.toucherFlags = TOUCH_NONE; - this->collider.elements[0].base.bumperFlags = BUMP_NONE; + this->collider.elements[0].base.atElemFlags = ATELEM_NONE; + this->collider.elements[0].base.acElemFlags = ACELEM_NONE; this->collider.elements[0].base.ocElemFlags = OCELEM_NONE; } if (this->actor.scale.x >= 0.0139999995f) { - this->collider.elements[0].base.toucherFlags = TOUCH_ON; - this->collider.elements[0].base.bumperFlags = BUMP_ON; + this->collider.elements[0].base.atElemFlags = ATELEM_ON; + this->collider.elements[0].base.acElemFlags = ACELEM_ON; this->collider.elements[0].base.ocElemFlags = OCELEM_ON; } 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 d5918f9363..9da826cd60 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 @@ -51,8 +51,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 10, 20, 4, { 0, 0, 0 } }, 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 0cd64c8cdf..b9575cf6eb 100644 --- a/src/overlays/actors/ovl_En_Ta/z_en_ta.c +++ b/src/overlays/actors/ovl_En_Ta/z_en_ta.c @@ -82,8 +82,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000004, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 30, 40, 0, { 0, 0, 0 } }, 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 af9653e9d6..1371a2adba 100644 --- a/src/overlays/actors/ovl_En_Test/z_en_test.c +++ b/src/overlays/actors/ovl_En_Test/z_en_test.c @@ -150,8 +150,8 @@ static ColliderCylinderInit sBodyColliderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 25, 65, 0, { 0, 0, 0 } }, @@ -170,8 +170,8 @@ static ColliderCylinderInit sShieldColliderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFC1FFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 20, 70, -50, { 0, 0, 0 } }, @@ -190,8 +190,8 @@ static ColliderQuadInit sSwordColliderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL | TOUCH_UNK7, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL | ATELEM_UNK7, + ACELEM_NONE, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, @@ -899,7 +899,7 @@ void EnTest_SetupSlashDown(EnTest* this) { this->unk_7C8 = 0x10; this->actor.speed = 0.0f; EnTest_SetupAction(this, EnTest_SlashDown); - this->swordCollider.elem.toucher.damage = 16; + this->swordCollider.elem.atDmgInfo.damage = 16; if (this->unk_7DE != 0) { this->unk_7DE = 3; @@ -996,7 +996,7 @@ void EnTest_SetupSlashUp(EnTest* this) { Animation_PlayOnce(&this->skelAnime, &gStalfosUpSlashAnim); this->swordCollider.base.atFlags &= ~AT_BOUNCED; this->unk_7C8 = 0x11; - this->swordCollider.elem.toucher.damage = 16; + this->swordCollider.elem.atDmgInfo.damage = 16; this->actor.speed = 0.0f; EnTest_SetupAction(this, EnTest_SlashUp); @@ -1085,7 +1085,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.elem.toucher.damage = 32; + this->swordCollider.elem.atDmgInfo.damage = 32; if (this->unk_7DE != 0) { this->unk_7DE = 3; 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 4e00d3bc33..403ea500f9 100644 --- a/src/overlays/actors/ovl_En_Tg/z_en_tg.c +++ b/src/overlays/actors/ovl_En_Tg/z_en_tg.c @@ -29,8 +29,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 20, 64, 0, { 0, 0, 0 } }, 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 e543158d06..adf19950a7 100644 --- a/src/overlays/actors/ovl_En_Tite/z_en_tite.c +++ b/src/overlays/actors/ovl_En_Tite/z_en_tite.c @@ -92,8 +92,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 0, { { 0, 1500, 0 }, 20 }, 100 }, 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 d0e331f7c0..b48964c8fb 100644 --- a/src/overlays/actors/ovl_En_Tk/z_en_tk.c +++ b/src/overlays/actors/ovl_En_Tk/z_en_tk.c @@ -150,8 +150,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 30, 52, 0, { 0, 0, 0 } }, 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 32df4ef157..8c3c1c90a8 100644 --- a/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c +++ b/src/overlays/actors/ovl_En_Torch2/z_en_torch2.c @@ -104,8 +104,8 @@ void EnTorch2_Init(Actor* thisx, PlayState* play2) { 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].elem.toucher.damage = this->meleeWeaponQuads[1].elem.toucher.damage = 8; - this->meleeWeaponQuads[0].elem.bumperFlags = this->meleeWeaponQuads[1].elem.bumperFlags = BUMP_ON; + this->meleeWeaponQuads[0].elem.atDmgInfo.damage = this->meleeWeaponQuads[1].elem.atDmgInfo.damage = 8; + this->meleeWeaponQuads[0].elem.acElemFlags = this->meleeWeaponQuads[1].elem.acElemFlags = ACELEM_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; 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 4d57b44c5d..38e5f46d53 100644 --- a/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c +++ b/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c @@ -43,8 +43,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 18, 63, 0, { 0, 0, 0 } }, 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 218f5615f7..73282570e3 100644 --- a/src/overlays/actors/ovl_En_Tp/z_en_tp.c +++ b/src/overlays/actors/ovl_En_Tp/z_en_tp.c @@ -57,8 +57,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x03, 0x08 }, { 0xFFCFFFFF, 0x01, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_NONE, }, { 0, { { 0, 0, 0 }, 4 }, 100 }, diff --git a/src/overlays/actors/ovl_En_Trap/z_en_trap.c b/src/overlays/actors/ovl_En_Trap/z_en_trap.c index c675e84d33..6c21a07c25 100644 --- a/src/overlays/actors/ovl_En_Trap/z_en_trap.c +++ b/src/overlays/actors/ovl_En_Trap/z_en_trap.c @@ -55,7 +55,7 @@ static ColliderCylinderInit sCylinderInit = { OC2_TYPE_1, COLSHAPE_CYLINDER, }, - { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00001000, 0x00, 0x00 }, TOUCH_NONE, BUMP_ON, OCELEM_ON }, + { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00001000, 0x00, 0x00 }, ATELEM_NONE, ACELEM_ON, OCELEM_ON }, { 30, 20, 0, { 0, 0, 0 } }, }; diff --git a/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.c b/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.c index 28bf2a3a2d..45d19e4f2e 100644 --- a/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.c +++ b/src/overlays/actors/ovl_En_Tubo_Trap/z_en_tubo_trap.c @@ -33,8 +33,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_NONE, }, { 9, 23, 0, { 0 } }, 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 30ab7d6afb..b48c0e3e20 100644 --- a/src/overlays/actors/ovl_En_Vali/z_en_vali.c +++ b/src/overlays/actors/ovl_En_Vali/z_en_vali.c @@ -54,8 +54,8 @@ static ColliderQuadInit sQuadInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x07, 0x08 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, @@ -74,8 +74,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x07, 0x08 }, { 0xFFCFFFFF, 0x01, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 17, 35, -15, { 0, 0, 0 } }, @@ -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.elem.bumper.effect = 0; + this->bodyCollider.elem.acDmgInfo.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.elem.bumper.effect = 1; // Shock? + this->bodyCollider.elem.acDmgInfo.effect = 1; // Shock? EnVali_SetupFloatIdle(this); } } 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 ce7803bc4f..695b88014b 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 @@ -41,8 +41,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK6, { 0x00100700, 0x00, 0x20 }, { 0x00100700, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 20, 30, 10, { 0, 0, 0 } }, 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 e9cdcddabf..25f13383ca 100644 --- a/src/overlays/actors/ovl_En_Vm/z_en_vm.c +++ b/src/overlays/actors/ovl_En_Vm/z_en_vm.c @@ -48,8 +48,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 25, 70, 0, { 0, 0, 0 } }, @@ -68,8 +68,8 @@ static ColliderQuadInit sQuadInit1 = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL | TOUCH_UNK7, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL | ATELEM_UNK7, + ACELEM_NONE, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, @@ -88,8 +88,8 @@ static ColliderQuadInit sQuadInit2 = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, 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 6793ae1cef..645b077de7 100644 --- a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c +++ b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c @@ -63,8 +63,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 30, 40, 0, { 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.elem.acHitElem->toucher.dmgFlags & (DMG_ARROW | DMG_SLINGSHOT)) { + if (this->collider.elem.acHitElem->atDmgInfo.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; 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 9ff20a2e51..693e2796cc 100644 --- a/src/overlays/actors/ovl_En_Weiyer/z_en_weiyer.c +++ b/src/overlays/actors/ovl_En_Weiyer/z_en_weiyer.c @@ -51,8 +51,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_HARD, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_HARD, + ACELEM_ON, OCELEM_ON, }, { 16, 10, -6, { 0, 0, 0 } }, 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 9863713a19..a0088fc699 100644 --- a/src/overlays/actors/ovl_En_Wf/z_en_wf.c +++ b/src/overlays/actors/ovl_En_Wf/z_en_wf.c @@ -49,8 +49,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[4] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { WOLFOS_LIMB_FRONT_RIGHT_CLAW, { { 0, 0, 0 }, 15 }, 100 }, @@ -60,8 +60,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[4] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x04 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { WOLFOS_LIMB_FRONT_LEFT_CLAW, { { 0, 0, 0 }, 15 }, 100 }, @@ -71,8 +71,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[4] = { ELEMTYPE_UNK1, { 0x00000000, 0x00, 0x00 }, { 0xFFC1FFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_NONE, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { WOLFOS_LIMB_HEAD, { { 800, 0, 0 }, 25 }, 100 }, @@ -82,8 +82,8 @@ static ColliderJntSphElementInit sJntSphItemsInit[4] = { ELEMTYPE_UNK1, { 0x00000000, 0x00, 0x00 }, { 0xFFC1FFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_NONE, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { WOLFOS_LIMB_THORAX, { { 0, 0, 0 }, 30 }, 100 }, @@ -116,8 +116,8 @@ static ColliderCylinderInit sBodyCylinderInit = { ELEMTYPE_UNK1, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 20, 50, 0, { 0, 0, 0 } }, @@ -136,8 +136,8 @@ static ColliderCylinderInit sTailCylinderInit = { ELEMTYPE_UNK1, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 15, 20, -15, { 0, 0, 0 } }, @@ -241,8 +241,8 @@ 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].base.toucher.damage = this->colliderSpheres.elements[1].base.toucher.damage = - 8; + this->colliderSpheres.elements[0].base.atDmgInfo.damage = + this->colliderSpheres.elements[1].base.atDmgInfo.damage = 8; thisx->naviEnemyId = NAVI_ENEMY_WHITE_WOLFOS; } 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 28d894bed0..2ead519335 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 @@ -34,8 +34,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 20, 30, 0, { 0, 0, 0 } }, @@ -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.elem.bumper.dmgFlags = damageFlags[colTypeIndex]; + this->collider.elem.acDmgInfo.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.elem.bumper.dmgFlags = DMG_SLINGSHOT; + this->collider.elem.acDmgInfo.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_Wood02/z_en_wood02.c b/src/overlays/actors/ovl_En_Wood02/z_en_wood02.c index 9d2decda7c..6845d39837 100644 --- a/src/overlays/actors/ovl_En_Wood02/z_en_wood02.c +++ b/src/overlays/actors/ovl_En_Wood02/z_en_wood02.c @@ -58,8 +58,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK5, { 0x00000000, 0x00, 0x00 }, { 0x0FC0074A, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 18, 60, 0, { 0, 0, 0 } }, 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 3df3e36bfb..b2b8dda8c1 100644 --- a/src/overlays/actors/ovl_En_Xc/z_en_xc.c +++ b/src/overlays/actors/ovl_En_Xc/z_en_xc.c @@ -40,8 +40,8 @@ static ColliderCylinderInitType1 sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 25, 80, 0, { 0, 0, 0 } }, 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 6cf0b7a5e5..8d7cf097de 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 @@ -27,8 +27,8 @@ static ColliderQuadInit sQuadInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x0001F824, 0x00, 0x00 }, - TOUCH_NONE | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_NONE | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, @@ -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.elem.bumper.hitPos.x; - arrowHitPos.y = this->collider.elem.bumper.hitPos.y; - arrowHitPos.z = this->collider.elem.bumper.hitPos.z; + arrowHitPos.x = this->collider.elem.acDmgInfo.hitPos.x; + arrowHitPos.y = this->collider.elem.acDmgInfo.hitPos.y; + arrowHitPos.z = this->collider.elem.acDmgInfo.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 e6d39e6a57..c133bde62b 100644 --- a/src/overlays/actors/ovl_En_Yukabyun/z_en_yukabyun.c +++ b/src/overlays/actors/ovl_En_Yukabyun/z_en_yukabyun.c @@ -43,8 +43,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x04 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_HARD, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_HARD, + ACELEM_ON, OCELEM_ON, }, { 28, 8, 0, { 0, 0, 0 } }, 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 ddf9af8e79..05ef602b33 100644 --- a/src/overlays/actors/ovl_En_Zf/z_en_zf.c +++ b/src/overlays/actors/ovl_En_Zf/z_en_zf.c @@ -124,8 +124,8 @@ static ColliderCylinderInit sBodyCylinderInit = { ELEMTYPE_UNK1, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 20, 70, 0, { 0, 0, 0 } }, @@ -144,8 +144,8 @@ static ColliderQuadInit sSwordQuadInit = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x08 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL | TOUCH_UNK7, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL | ATELEM_UNK7, + ACELEM_ON, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, 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 8815b37ba3..aed5c9b0fb 100644 --- a/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c +++ b/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c @@ -52,8 +52,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK1, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 20, 46, 0, { 0, 0, 0 } }, diff --git a/src/overlays/actors/ovl_En_Zl1/z_en_zl1_cutscene_data.c b/src/overlays/actors/ovl_En_Zl1/z_en_zl1_cutscene_data.c index 7895f776bd..d0b011d454 100644 --- a/src/overlays/actors/ovl_En_Zl1/z_en_zl1_cutscene_data.c +++ b/src/overlays/actors/ovl_En_Zl1/z_en_zl1_cutscene_data.c @@ -5,227 +5,227 @@ CutsceneData D_80B4C5D0[] = { CS_BEGIN_CUTSCENE(28, 3000), CS_PLAYER_CUE_LIST(3), - CS_PLAYER_CUE(PLAYER_CUEID_5, 400, 1211, 0x0000, 0xC000, 0x0000, -422, 84, 1, -422, 84, 1, 1.1266861702801002e-29f, 0.0f, 1.401298464324817e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_1, 1211, 1241, 0x0000, 0xC000, 0x0000, -422, 84, 1, -483, 84, 0, 1.1266861702801002e-29f, 0.0f, 1.401298464324817e-45f), - CS_PLAYER_CUE(PLAYER_CUEID_41, 1241, 1311, 0x0000, 0xC000, 0x0000, -483, 84, 0, -483, 84, 0, 1.1266861702801002e-29f, 0.0f, 1.401298464324817e-45f), + CS_PLAYER_CUE(PLAYER_CUEID_5, 400, 1211, 0x0000, 0xC000, 0x0000, -422, 84, 1, -422, 84, 1, CS_FLOAT(0xF6484E4, 1.1266862e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_1, 1211, 1241, 0x0000, 0xC000, 0x0000, -422, 84, 1, -483, 84, 0, CS_FLOAT(0xF6484E4, 1.1266862e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), + CS_PLAYER_CUE(PLAYER_CUEID_41, 1241, 1311, 0x0000, 0xC000, 0x0000, -483, 84, 0, -483, 84, 0, CS_FLOAT(0xF6484E4, 1.1266862e-29f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x1, 1e-45f)), CS_ACTOR_CUE_LIST(18, 1), - CS_ACTOR_CUE(0x0007, 1170, 1316, 0x7477, 0x0000, 0x0000, -485, 84, 0, -469, 85, -55, 0.10958904f, 0.006849315f, -0.10958904f), + CS_ACTOR_CUE(0x0007, 1170, 1316, 0x7477, 0x0000, 0x0000, -485, 84, 0, -469, 85, -55, CS_FLOAT(0x3DE07038, 0.10958904f), CS_FLOAT(0x3BE07038, 0.006849315f), CS_FLOAT(0xBDE07038, -0.10958904f)), CS_UNK_DATA_LIST(0x00000049, 1), CS_UNK_DATA(0x00010000, 0x0BB80000, 0x00000000, 0x00000000, 0xFFFFFFE8, 0x00000003, 0x00000000, 0xFFFFFFE8, 0x00000003, 0x00000000, 0x00000000, 0x00000000), CS_ACTOR_CUE_LIST(16, 3), - CS_ACTOR_CUE(0x0009, 1220, 1310, 0x8000, 0x0000, 0x0000, -890, 90, 150, -890, 90, 0, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x000A, 1310, 1449, 0x0000, 0x0000, 0x0000, -890, 90, 0, -890, 90, 0, 0.0f, 0.0f, 0.0f), - CS_ACTOR_CUE(0x0004, 1449, 1457, 0x0000, 0x0000, 0x0000, -890, 90, 0, -890, 90, 0, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0009, 1220, 1310, 0x8000, 0x0000, 0x0000, -890, 90, 150, -890, 90, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x000A, 1310, 1449, 0x0000, 0x0000, 0x0000, -890, 90, 0, -890, 90, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), + CS_ACTOR_CUE(0x0004, 1449, 1457, 0x0000, 0x0000, 0x0000, -890, 90, 0, -890, 90, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_MISC_LIST(1), CS_MISC(CS_MISC_STOP_CUTSCENE, 1460, 1461, 0x0000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000002, 0xFFFFFFFF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000000), CS_ACTOR_CUE_LIST(29, 1), - CS_ACTOR_CUE(0x0002, 330, 763, 0x0000, 0x0000, 0x0000, -1250, 150, 0, -1250, 150, 0, 0.0f, 0.0f, 0.0f), + CS_ACTOR_CUE(0x0002, 330, 763, 0x0000, 0x0000, 0x0000, -1250, 150, 0, -1250, 150, 0, CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f), CS_FLOAT(0x0, 0.0f)), CS_TRANSITION(CS_TRANS_GRAY_FILL_IN, 200, 231), CS_TRANSITION(CS_TRANS_GRAY_FILL_OUT, 230, 271), CS_TRANSITION(CS_TRANS_GRAY_FILL_IN, 860, 870), CS_TRANSITION(CS_TRANS_GRAY_FILL_OUT, 875, 900), CS_CAM_EYE_SPLINE(0, 331), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -447, 128, 1, 0x2031), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -447, 128, 1, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -447, 128, 1, 0x3833), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -447, 128, 1, 0x2C20), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -392, 145, 1, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -318, 168, 1, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -222, 198, 1, 0x3639), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -146, 221, 1, 0x392C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -132, 222, 1, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -66, 267, 1, 0x3632), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -66, 267, 1, 0x3639), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -66, 267, 1, 0x392C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -66, 267, 1, 0x2031), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.800003f, -66, 267, 1, 0x3533), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.800003f, -66, 267, 1, 0x3336), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -447, 128, 1, 0x2031), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -447, 128, 1, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -447, 128, 1, 0x3833), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -447, 128, 1, 0x2C20), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -392, 145, 1, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -318, 168, 1, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -222, 198, 1, 0x3639), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -146, 221, 1, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -132, 222, 1, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -66, 267, 1, 0x3632), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -66, 267, 1, 0x3639), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -66, 267, 1, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -66, 267, 1, 0x2031), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -66, 267, 1, 0x3533), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42733334, 60.800003f), -66, 267, 1, 0x3336), CS_CAM_EYE_SPLINE(230, 1631), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1220, 445, 24, 0x2031), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1220, 445, 24, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1220, 445, 24, 0x3833), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1220, 445, 24, 0x2C20), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1220, 445, 24, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1220, 445, 24, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1220, 445, 24, 0x3639), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1220, 445, 24, 0x392C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1220, 445, 24, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1220, 259, 24, 0x3632), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1220, 189, 24, 0x3639), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1135, 198, 81, 0x392C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -1132, 119, 84, 0x2031), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1199, 137, 36, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1218, 127, 22, 0x3336), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1218, 127, 22, 0x332C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1218, 127, 22, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1218, 127, 22, 0x3231), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1218, 127, 22, 0x3232), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1218, 127, 22, 0x392C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1218, 127, 22, 0x2034), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1218, 127, 22, 0x3331), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1218, 127, 22, 0x3434), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1218, 127, 22, 0x312C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1218, 127, 22, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1218, 127, 22, 0x3136), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1218, 127, 22, 0x3336), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1218, 127, 22, 0x332C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1218, 127, 22, 0x200A), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600002f, -1218, 127, 22, 0x3136), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.600002f, -1218, 127, 22, 0x3336), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1220, 445, 24, 0x2031), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1220, 445, 24, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1220, 445, 24, 0x3833), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1220, 445, 24, 0x2C20), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1220, 445, 24, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1220, 445, 24, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1220, 445, 24, 0x3639), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1220, 445, 24, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1220, 445, 24, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1220, 259, 24, 0x3632), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1220, 189, 24, 0x3639), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1135, 198, 81, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -1132, 119, 84, 0x2031), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1199, 137, 36, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1218, 127, 22, 0x3336), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1218, 127, 22, 0x332C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1218, 127, 22, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1218, 127, 22, 0x3231), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1218, 127, 22, 0x3232), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1218, 127, 22, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1218, 127, 22, 0x2034), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1218, 127, 22, 0x3331), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1218, 127, 22, 0x3434), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1218, 127, 22, 0x312C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1218, 127, 22, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1218, 127, 22, 0x3136), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1218, 127, 22, 0x3336), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1218, 127, 22, 0x332C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1218, 127, 22, 0x200A), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1218, 127, 22, 0x3136), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42726667, 60.600002f), -1218, 127, 22, 0x3336), CS_CAM_EYE_SPLINE(810, 1041), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600006f, -1218, 127, 22, 0x2031), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600006f, -1218, 127, 22, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600006f, -1218, 127, 22, 0x3833), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600006f, -1218, 88, 21, 0x2C20), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600006f, -1208, -52, 23, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600006f, -1201, -114, 26, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600006f, -1201, -114, 26, 0x3639), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600006f, -1201, -114, 26, 0x392C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600006f, -1201, -114, 26, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.600006f, -1201, -114, 26, 0x3632), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.600006f, -1201, -114, 26, 0x3639), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726668, 60.600006f), -1218, 127, 22, 0x2031), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726668, 60.600006f), -1218, 127, 22, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726668, 60.600006f), -1218, 127, 22, 0x3833), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726668, 60.600006f), -1218, 88, 21, 0x2C20), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726668, 60.600006f), -1208, -52, 23, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726668, 60.600006f), -1201, -114, 26, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726668, 60.600006f), -1201, -114, 26, 0x3639), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726668, 60.600006f), -1201, -114, 26, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726668, 60.600006f), -1201, -114, 26, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42726668, 60.600006f), -1201, -114, 26, 0x3632), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42726668, 60.600006f), -1201, -114, 26, 0x3639), CS_CAM_EYE_SPLINE(870, 1261), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 80.274445f, -59, 160, 320, 0x2031), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.074677f, -59, 160, 320, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.074677f, -59, 160, 320, 0x3833), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.074677f, -59, 160, 320, 0x2C20), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.074677f, -115, 148, 249, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.074677f, -190, 126, 192, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.074677f, -286, 105, 135, 0x3639), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.074677f, -357, 108, 87, 0x392C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.074677f, -394, 104, 53, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.074677f, -394, 104, 53, 0x3632), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.074677f, -394, 104, 53, 0x3639), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.074677f, -394, 104, 53, 0x392C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.074677f, -394, 104, 53, 0x2031), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.074677f, -394, 104, 53, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42A08C84, 80.274445f), -59, 160, 320, 0x2031), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42704C78, 60.074677f), -59, 160, 320, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42704C78, 60.074677f), -59, 160, 320, 0x3833), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42704C78, 60.074677f), -59, 160, 320, 0x2C20), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42704C78, 60.074677f), -115, 148, 249, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42704C78, 60.074677f), -190, 126, 192, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42704C78, 60.074677f), -286, 105, 135, 0x3639), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42704C78, 60.074677f), -357, 108, 87, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42704C78, 60.074677f), -394, 104, 53, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42704C78, 60.074677f), -394, 104, 53, 0x3632), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42704C78, 60.074677f), -394, 104, 53, 0x3639), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42704C78, 60.074677f), -394, 104, 53, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42704C78, 60.074677f), -394, 104, 53, 0x2031), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42704C78, 60.074677f), -394, 104, 53, 0x3533), CS_CAM_EYE_SPLINE(1160, 1401), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -459, 175, 80, 0x2031), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -459, 175, 80, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -459, 175, 80, 0x3833), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -459, 175, 80, 0x2C20), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -459, 175, 80, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -459, 175, 80, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -459, 175, 80, 0x3639), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 60.0f, -459, 175, 80, 0x392C), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 60.0f, -459, 175, 80, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -459, 175, 80, 0x2031), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -459, 175, 80, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -459, 175, 80, 0x3833), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -459, 175, 80, 0x2C20), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -459, 175, 80, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -459, 175, 80, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -459, 175, 80, 0x3639), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -459, 175, 80, 0x392C), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x42700000, 60.0f), -459, 175, 80, 0x2032), CS_CAM_EYE_SPLINE(1260, 1411), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.199944f, -461, 133, 0, 0x2031), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.199944f, -461, 133, 0, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.199944f, -461, 133, 0, 0x3833), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.199944f, -461, 133, 0, 0x2C20), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 45.199944f, -461, 133, 0, 0x2032), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 45.199944f, -461, 133, 0, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4234CCBE, 45.199944f), -461, 133, 0, 0x2031), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4234CCBE, 45.199944f), -461, 133, 0, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4234CCBE, 45.199944f), -461, 133, 0, 0x3833), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4234CCBE, 45.199944f), -461, 133, 0, 0x2C20), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x4234CCBE, 45.199944f), -461, 133, 0, 0x2032), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x4234CCBE, 45.199944f), -461, 133, 0, 0x3533), CS_CAM_EYE_SPLINE(1320, 1531), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 10.999838f, -488, 124, -6, 0x2031), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 10.999838f, -488, 124, -6, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 10.999838f, -488, 124, -6, 0x3833), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 10.999838f, -488, 124, -6, 0x2C20), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 10.999838f, -488, 124, -6, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 10.999838f, -488, 124, -6, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, 10.999838f, -488, 124, -6, 0x3639), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, 10.999838f, -488, 124, -6, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x412FFF56, 10.999838f), -488, 124, -6, 0x2031), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x412FFF56, 10.999838f), -488, 124, -6, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x412FFF56, 10.999838f), -488, 124, -6, 0x3833), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x412FFF56, 10.999838f), -488, 124, -6, 0x2C20), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x412FFF56, 10.999838f), -488, 124, -6, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x412FFF56, 10.999838f), -488, 124, -6, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 0, CS_FLOAT(0x412FFF56, 10.999838f), -488, 124, -6, 0x3639), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 0, CS_FLOAT(0x412FFF56, 10.999838f), -488, 124, -6, 0x392C), CS_CAM_AT_SPLINE(0, 360), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, -506, 110, 1, 0x2031), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.800003f, -506, 110, 1, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.800003f, -506, 110, 1, 0x3833), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.800003f, -506, 110, 1, 0x2C20), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 25, 60.800003f, -451, 127, 1, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 25, 60.800003f, -380, 149, 1, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.800003f, -291, 177, 1, 0x3639), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.800003f, -224, 210, 1, 0x392C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.800003f, -213, 230, 1, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.800003f, -143, 291, 1, 0x3632), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.800003f, -135, 308, 1, 0x3639), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.800003f, -127, 319, 1, 0x392C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.800003f, -120, 326, 1, 0x2031), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.800003f, -120, 326, 1, 0x3533), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.800003f, -120, 326, 1, 0x3336), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), -506, 110, 1, 0x2031), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42733334, 60.800003f), -506, 110, 1, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42733334, 60.800003f), -506, 110, 1, 0x3833), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42733334, 60.800003f), -506, 110, 1, 0x2C20), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 25, CS_FLOAT(0x42733334, 60.800003f), -451, 127, 1, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 25, CS_FLOAT(0x42733334, 60.800003f), -380, 149, 1, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42733334, 60.800003f), -291, 177, 1, 0x3639), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42733334, 60.800003f), -224, 210, 1, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42733334, 60.800003f), -213, 230, 1, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42733334, 60.800003f), -143, 291, 1, 0x3632), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42733334, 60.800003f), -135, 308, 1, 0x3639), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42733334, 60.800003f), -127, 319, 1, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42733334, 60.800003f), -120, 326, 1, 0x2031), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42733334, 60.800003f), -120, 326, 1, 0x3533), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42733334, 60.800003f), -120, 326, 1, 0x3336), CS_CAM_AT_SPLINE(230, 1710), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -1246, 413, 5, 0x2031), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -1246, 413, 5, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -1246, 413, 5, 0x3833), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -1246, 413, 5, 0x2C20), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -1246, 413, 5, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -1246, 413, 5, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -1246, 413, 5, 0x3639), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -1246, 413, 5, 0x392C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -1246, 413, 5, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -1245, 227, 5, 0x3632), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -1245, 158, 5, 0x3639), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -1180, 178, 50, 0x392C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, 60.0f, -1178, 131, 51, 0x2031), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, 60.600002f, -1240, 146, 6, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, -1253, 153, -3, 0x3336), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, -1253, 153, -3, 0x332C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, -1253, 153, -3, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, -1253, 153, -3, 0x3231), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, -1253, 153, -3, 0x3232), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, -1252, 152, -2, 0x392C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, -1252, 152, -2, 0x2034), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, 60.600002f, -1252, 152, -2, 0x3331), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, 60.600002f, -1252, 152, -2, 0x3434), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, 60.600002f, -1252, 152, -2, 0x312C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, 60.600002f, -1251, 151, -1, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, 60.600002f, -1251, 151, -1, 0x3136), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, 60.600002f, -1251, 151, -1, 0x3336), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, 60.600002f, -1251, 151, -1, 0x332C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, 60.600002f, -1251, 151, -1, 0x200A), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600002f, -1251, 151, -1, 0x3136), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 80, 60.600002f, -1251, 151, -1, 0x3336), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -1246, 413, 5, 0x2031), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -1246, 413, 5, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -1246, 413, 5, 0x3833), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -1246, 413, 5, 0x2C20), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -1246, 413, 5, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -1246, 413, 5, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -1246, 413, 5, 0x3639), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -1246, 413, 5, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -1246, 413, 5, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -1245, 227, 5, 0x3632), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -1245, 158, 5, 0x3639), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -1180, 178, 50, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, CS_FLOAT(0x42700000, 60.0f), -1178, 131, 51, 0x2031), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, CS_FLOAT(0x42726667, 60.600002f), -1240, 146, 6, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), -1253, 153, -3, 0x3336), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), -1253, 153, -3, 0x332C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), -1253, 153, -3, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), -1253, 153, -3, 0x3231), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), -1253, 153, -3, 0x3232), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), -1252, 152, -2, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), -1252, 152, -2, 0x2034), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, CS_FLOAT(0x42726667, 60.600002f), -1252, 152, -2, 0x3331), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, CS_FLOAT(0x42726667, 60.600002f), -1252, 152, -2, 0x3434), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, CS_FLOAT(0x42726667, 60.600002f), -1252, 152, -2, 0x312C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, CS_FLOAT(0x42726667, 60.600002f), -1251, 151, -1, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, CS_FLOAT(0x42726667, 60.600002f), -1251, 151, -1, 0x3136), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, CS_FLOAT(0x42726667, 60.600002f), -1251, 151, -1, 0x3336), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, CS_FLOAT(0x42726667, 60.600002f), -1251, 151, -1, 0x332C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 80, CS_FLOAT(0x42726667, 60.600002f), -1251, 151, -1, 0x200A), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726667, 60.600002f), -1251, 151, -1, 0x3136), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 80, CS_FLOAT(0x42726667, 60.600002f), -1251, 151, -1, 0x3336), CS_CAM_AT_SPLINE(810, 1070), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600006f, -1251, 151, -1, 0x2031), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600006f, -1251, 151, -1, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, 60.600006f, -1250, 150, 0, 0x3833), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.600006f, -1241, 125, 5, 0x2C20), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.600006f, -1226, -13, 10, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, 60.600006f, -1218, -73, 26, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600006f, -1218, -73, 26, 0x3639), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600006f, -1218, -73, 26, 0x392C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600006f, -1218, -73, 26, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.600006f, -1218, -73, 26, 0x3632), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.600006f, -1218, -73, 26, 0x3639), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726668, 60.600006f), -1251, 151, -1, 0x2031), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726668, 60.600006f), -1251, 151, -1, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 20, CS_FLOAT(0x42726668, 60.600006f), -1250, 150, 0, 0x3833), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42726668, 60.600006f), -1241, 125, 5, 0x2C20), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42726668, 60.600006f), -1226, -13, 10, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 10, CS_FLOAT(0x42726668, 60.600006f), -1218, -73, 26, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726668, 60.600006f), -1218, -73, 26, 0x3639), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726668, 60.600006f), -1218, -73, 26, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726668, 60.600006f), -1218, -73, 26, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42726668, 60.600006f), -1218, -73, 26, 0x3632), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42726668, 60.600006f), -1218, -73, 26, 0x3639), CS_CAM_AT_SPLINE(870, 1290), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.074677f, -45, 240, 241, 0x2031), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.074677f, -45, 240, 241, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.074677f, -56, 219, 224, 0x3833), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.074677f, -85, 183, 212, 0x2C20), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.074677f, -204, 134, 183, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.074677f, -280, 116, 125, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.074677f, -376, 104, 69, 0x3639), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.074677f, -440, 107, 13, 0x392C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.074677f, -467, 110, -25, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.074677f, -467, 110, -25, 0x3632), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.074677f, -467, 110, -25, 0x3639), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.074677f, -467, 110, -25, 0x392C), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.074677f, -467, 110, -25, 0x2031), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.074677f, -467, 110, -25, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42704C78, 60.074677f), -45, 240, 241, 0x2031), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42704C78, 60.074677f), -45, 240, 241, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42704C78, 60.074677f), -56, 219, 224, 0x3833), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42704C78, 60.074677f), -85, 183, 212, 0x2C20), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42704C78, 60.074677f), -204, 134, 183, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42704C78, 60.074677f), -280, 116, 125, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42704C78, 60.074677f), -376, 104, 69, 0x3639), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42704C78, 60.074677f), -440, 107, 13, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42704C78, 60.074677f), -467, 110, -25, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42704C78, 60.074677f), -467, 110, -25, 0x3632), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42704C78, 60.074677f), -467, 110, -25, 0x3639), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42704C78, 60.074677f), -467, 110, -25, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42704C78, 60.074677f), -467, 110, -25, 0x2031), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42704C78, 60.074677f), -467, 110, -25, 0x3533), CS_CAM_AT_SPLINE(1160, 1430), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -456, 138, 16, 0x2031), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -456, 138, 16, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -456, 138, 16, 0x3833), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -456, 138, 16, 0x2C20), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -456, 138, 16, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -456, 138, 16, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -456, 138, 16, 0x3639), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 60.0f, -456, 138, 16, 0x392C), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 60.0f, -456, 138, 16, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -456, 138, 16, 0x2031), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -456, 138, 16, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -456, 138, 16, 0x3833), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -456, 138, 16, 0x2C20), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -456, 138, 16, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -456, 138, 16, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -456, 138, 16, 0x3639), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -456, 138, 16, 0x392C), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x42700000, 60.0f), -456, 138, 16, 0x2032), CS_CAM_AT_SPLINE(1260, 1440), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.199944f, -535, 133, 0, 0x2031), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.199944f, -535, 133, 0, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.199944f, -535, 133, 0, 0x3833), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.199944f, -535, 133, 0, 0x2C20), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 45.199944f, -535, 133, 0, 0x2032), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 45.199944f, -535, 133, 0, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4234CCBE, 45.199944f), -535, 133, 0, 0x2031), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4234CCBE, 45.199944f), -535, 133, 0, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4234CCBE, 45.199944f), -535, 133, 0, 0x3833), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4234CCBE, 45.199944f), -535, 133, 0, 0x2C20), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x4234CCBE, 45.199944f), -535, 133, 0, 0x2032), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x4234CCBE, 45.199944f), -535, 133, 0, 0x3533), CS_CAM_AT_SPLINE(1320, 1560), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 10.999838f, -1349, 124, -6, 0x2031), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 10.999838f, -1349, 124, -6, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 10.999838f, -1349, 124, -6, 0x3833), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 10.999838f, -1349, 124, -6, 0x2C20), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 10.999838f, -1349, 124, -6, 0x2032), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 10.999838f, -1349, 124, -6, 0x3533), - CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, 10.999838f, -1349, 124, -6, 0x3639), - CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, 10.999838f, -1349, 124, -6, 0x392C), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x412FFF56, 10.999838f), -1349, 124, -6, 0x2031), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x412FFF56, 10.999838f), -1349, 124, -6, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x412FFF56, 10.999838f), -1349, 124, -6, 0x3833), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x412FFF56, 10.999838f), -1349, 124, -6, 0x2C20), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x412FFF56, 10.999838f), -1349, 124, -6, 0x2032), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x412FFF56, 10.999838f), -1349, 124, -6, 0x3533), + CS_CAM_POINT(CS_CAM_CONTINUE, 0x00, 30, CS_FLOAT(0x412FFF56, 10.999838f), -1349, 124, -6, 0x3639), + CS_CAM_POINT(CS_CAM_STOP, 0x00, 30, CS_FLOAT(0x412FFF56, 10.999838f), -1349, 124, -6, 0x392C), CS_TEXT_LIST(10), CS_TEXT_NONE(0, 50), CS_TEXT(0x7035, 50, 190, 0x0000, 0xFFFF, 0xFFFF), 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 dc1f5ea812..08620c6022 100644 --- a/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c +++ b/src/overlays/actors/ovl_En_Zl3/z_en_zl3.c @@ -32,8 +32,8 @@ static ColliderCylinderInitType1 sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 25, 80, 0, { 0, 0, 0 } }, 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 95ba59deb7..00fdde50aa 100644 --- a/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c +++ b/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c @@ -83,8 +83,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 10, 44, 0, { 0, 0, 0 } }, 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 b80f97ad09..e71af51b68 100644 --- a/src/overlays/actors/ovl_En_Zo/z_en_zo.c +++ b/src/overlays/actors/ovl_En_Zo/z_en_zo.c @@ -290,8 +290,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 26, 64, 0, { 0, 0, 0 } }, diff --git a/src/overlays/actors/ovl_Fishing/z_fishing.c b/src/overlays/actors/ovl_Fishing/z_fishing.c index 2107869563..7181accf39 100644 --- a/src/overlays/actors/ovl_Fishing/z_fishing.c +++ b/src/overlays/actors/ovl_Fishing/z_fishing.c @@ -14,6 +14,12 @@ #define WATER_SURFACE_Y(play) play->colCtx.colHeader->waterBoxes->ySurface +#if OOT_DEBUG +#define KREG_DEBUG(i) KREG(i) +#else +#define KREG_DEBUG(i) 0 +#endif + void Fishing_Init(Actor* thisx, PlayState* play2); void Fishing_Destroy(Actor* thisx, PlayState* play2); void Fishing_UpdateFish(Actor* thisx, PlayState* play2); @@ -194,8 +200,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 30 }, 100 }, @@ -205,8 +211,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 30 }, 100 }, @@ -216,8 +222,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 30 }, 100 }, @@ -227,8 +233,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 30 }, 100 }, @@ -238,8 +244,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 30 }, 100 }, @@ -249,8 +255,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 30 }, 100 }, @@ -260,8 +266,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 30 }, 100 }, @@ -271,8 +277,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 30 }, 100 }, @@ -282,8 +288,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 30 }, 100 }, @@ -293,8 +299,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 30 }, 100 }, @@ -304,8 +310,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 30 }, 100 }, @@ -315,8 +321,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[12] = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x00, 0x10 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 30 }, 100 }, @@ -830,13 +836,19 @@ void Fishing_Init(Actor* thisx, PlayState* play2) { Actor_ProcessInitChain(thisx, sInitChain); ActorShape_Init(&thisx->shape, 0.0f, NULL, 0.0f); +#if OOT_DEBUG if (KREG(5) != 0) { sLinkAge = LINK_AGE_CHILD; } else { sLinkAge = gSaveContext.save.linkAge; } +#else + sLinkAge = gSaveContext.save.linkAge; +#endif if (thisx->params < EN_FISH_PARAM) { + FishingGroupFish* fish; + sReelLock = 0; sFishingMain = this; Collider_InitJntSph(play, &sFishingMain->collider); @@ -902,13 +914,20 @@ void Fishing_Init(Actor* thisx, PlayState* play2) { sFishingFoggy = 0; } - if (((sFishGameNumber & 7) == 6) || (KREG(3) != 0)) { +#if OOT_DEBUG + if (((sFishGameNumber & 7) == 6) || (KREG(3) != 0)) +#else + if ((sFishGameNumber & 7) == 6) +#endif + { sStormChanceTimer = 100; +#if OOT_DEBUG if (KREG(3) != 0) { KREG(3) = 0; HIGH_SCORE(HS_FISHING) &= ~(HS_FISH_PLAYED * 255); HIGH_SCORE(HS_FISHING) |= (HS_FISH_PLAYED * 6); } +#endif } else { sStormChanceTimer = 0; } @@ -926,7 +945,7 @@ void Fishing_Init(Actor* thisx, PlayState* play2) { sFishGroupAngle3 = 4.6f; for (i = 0; i < GROUP_FISH_COUNT; i++) { - FishingGroupFish* fish = &sGroupFishes[i]; + fish = &sGroupFishes[i]; fish->type = FS_GROUP_FISH_NORMAL; @@ -961,7 +980,12 @@ void Fishing_Init(Actor* thisx, PlayState* play2) { ENKANBAN_FISHING); Actor_Spawn(&play->actorCtx, play, ACTOR_FISHING, 0.0f, 0.0f, 0.0f, 0, 0, 0, 200); - if ((KREG(1) == 1) || ((sFishGameNumber & 3) == 3)) { +#if OOT_DEBUG + if ((KREG(1) == 1) || ((sFishGameNumber & 3) == 3)) +#else + if ((sFishGameNumber & 3) == 3) +#endif + { if (sLinkAge != LINK_AGE_CHILD) { fishCount = 16; } else { @@ -975,46 +999,50 @@ void Fishing_Init(Actor* thisx, PlayState* play2) { Actor_Spawn(&play->actorCtx, play, ACTOR_FISHING, sFishInits[i].pos.x, sFishInits[i].pos.y, sFishInits[i].pos.z, 0, Rand_ZeroFloat(0x10000), 0, 100 + i); } + + return; + } + + if ((thisx->params < (EN_FISH_PARAM + 15)) || (thisx->params == EN_FISH_AQUARIUM)) { + SkelAnime_InitFlex(play, &this->skelAnime, &gFishingFishSkel, &gFishingFishAnim, NULL, NULL, 0); + Animation_MorphToLoop(&this->skelAnime, &gFishingFishAnim, 0.0f); } else { - if ((thisx->params < (EN_FISH_PARAM + 15)) || (thisx->params == EN_FISH_AQUARIUM)) { - SkelAnime_InitFlex(play, &this->skelAnime, &gFishingFishSkel, &gFishingFishAnim, NULL, NULL, 0); - Animation_MorphToLoop(&this->skelAnime, &gFishingFishAnim, 0.0f); - } else { - SkelAnime_InitFlex(play, &this->skelAnime, &gFishingLoachSkel, &gFishingLoachAnim, NULL, NULL, 0); - Animation_MorphToLoop(&this->skelAnime, &gFishingLoachAnim, 0.0f); + SkelAnime_InitFlex(play, &this->skelAnime, &gFishingLoachSkel, &gFishingLoachAnim, NULL, NULL, 0); + Animation_MorphToLoop(&this->skelAnime, &gFishingLoachAnim, 0.0f); + } + + SkelAnime_Update(&this->skelAnime); + + if (thisx->params == EN_FISH_AQUARIUM) { + this->fishState = 100; + Actor_ChangeCategory(play, &play->actorCtx, thisx, ACTORCAT_PROP); + thisx->targetMode = 0; + thisx->flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3; + this->lightNode = LightContext_InsertLight(play, &play->lightCtx, &this->lightInfo); + } else { + this->fishState = 10; + this->fishStateNext = 10; + + this->isLoach = sFishInits[thisx->params - EN_FISH_PARAM].isLoach; + this->perception = sFishInits[thisx->params - EN_FISH_PARAM].perception; + this->fishLength = sFishInits[thisx->params - EN_FISH_PARAM].baseLength; + + this->fishLength += Rand_ZeroFloat(4.99999f); + + // small chance to make big fish even bigger. + if ((this->fishLength >= 65.0f) && (Rand_ZeroOne() < 0.05f)) { + this->fishLength += Rand_ZeroFloat(7.99999f); } - SkelAnime_Update(&this->skelAnime); +#if OOT_DEBUG + if (KREG(6) != 0) { + this->fishLength = KREG(6) + 80.0f; + } +#endif - if (thisx->params == EN_FISH_AQUARIUM) { - this->fishState = 100; - Actor_ChangeCategory(play, &play->actorCtx, thisx, ACTORCAT_PROP); - thisx->targetMode = 0; - thisx->flags |= ACTOR_FLAG_0 | ACTOR_FLAG_3; - this->lightNode = LightContext_InsertLight(play, &play->lightCtx, &this->lightInfo); - } else { - this->fishState = 10; - this->fishStateNext = 10; - - this->isLoach = sFishInits[thisx->params - EN_FISH_PARAM].isLoach; - this->perception = sFishInits[thisx->params - EN_FISH_PARAM].perception; - this->fishLength = sFishInits[thisx->params - EN_FISH_PARAM].baseLength; - - this->fishLength += Rand_ZeroFloat(4.99999f); - - // small chance to make big fish even bigger. - if ((this->fishLength >= 65.0f) && (Rand_ZeroOne() < 0.05f)) { - this->fishLength += Rand_ZeroFloat(7.99999f); - } - - if (KREG(6) != 0) { - this->fishLength = KREG(6) + 80.0f; - } - - // "Come back when you get older! The fish will be bigger, too!" - if (sLinkAge == LINK_AGE_CHILD) { - this->fishLength *= 0.73f; - } + // "Come back when you get older! The fish will be bigger, too!" + if (sLinkAge == LINK_AGE_CHILD) { + this->fishLength *= 0.73f; } } } @@ -1433,7 +1461,7 @@ void Fishing_UpdateLine(PlayState* play, Vec3f* basePos, Vec3f* pos, Vec3f* rot, f32 temp_f20; Vec3f posSrc = { 0.0f, 0.0f, 0.0f }; Vec3f posStep; - f32 lineLength; + f32 phi_f12; Vec3f tempPos; Vec3f segPos; f32 sp94; @@ -1441,8 +1469,6 @@ void Fishing_UpdateLine(PlayState* play, Vec3f* basePos, Vec3f* pos, Vec3f* rot, f32 sp8C; f32 sqDistXZ; f32 temp_f18; - f32 phi_f12; - f32 phi_f2; if (D_80B7A6A4 != 0) { tempPos = *basePos; @@ -1452,12 +1478,12 @@ void Fishing_UpdateLine(PlayState* play, Vec3f* basePos, Vec3f* pos, Vec3f* rot, sp90 = segPos.y - tempPos.y; sp8C = segPos.z - tempPos.z; - lineLength = sqrtf(SQ(sp94) + SQ(sp90) + SQ(sp8C)) * 0.97f; - if (lineLength > 1000.0f) { - lineLength = 1000.0f; + temp_f20 = sqrtf(SQ(sp94) + SQ(sp90) + SQ(sp8C)) * 0.97f; + if (temp_f20 > 1000.0f) { + temp_f20 = 1000.0f; } - sRodLineSpooled = 200.0f - (lineLength * 200.0f * 0.001f); + sRodLineSpooled = 200.0f - (temp_f20 * 200.0f * 0.001f); } spooled = sRodLineSpooled; @@ -1489,10 +1515,13 @@ void Fishing_UpdateLine(PlayState* play, Vec3f* basePos, Vec3f* pos, Vec3f* rot, } if (sLureEquipped == FS_LURE_SINKING) { + s32 pad; + if (spD8 < phi_f12) { phi_f12 = ((sqrtf(sqDistXZ) - 920.0f) * 0.147f) + WATER_SURFACE_Y(play); if (spD8 > phi_f12) { - phi_f2 = (spD8 - phi_f12) * 0.05f; + f32 phi_f2 = (spD8 - phi_f12) * 0.05f; + if (phi_f2 > 0.29999998f) { phi_f2 = 0.29999998f; } @@ -1506,7 +1535,8 @@ void Fishing_UpdateLine(PlayState* play, Vec3f* basePos, Vec3f* pos, Vec3f* rot, } } else if (i > LINE_SEG_COUNT - 10) { if (spD8 > phi_f12) { - phi_f2 = (spD8 - phi_f12) * 0.2f; + f32 phi_f2 = (spD8 - phi_f12) * 0.2f; + if (phi_f2 > temp_f18) { phi_f2 = temp_f18; } @@ -1690,6 +1720,7 @@ void Fishing_UpdateSinkingLure(PlayState* play) { f32 offsetX; f32 offsetZ; Player* player = GET_PLAYER(play); + Vec3f* pos; posSrc.z = 0.85f; @@ -1712,7 +1743,7 @@ void Fishing_UpdateSinkingLure(PlayState* play) { } for (i = 1; i < SINKING_LURE_SEG_COUNT; i++) { - Vec3f* pos = sSinkingLurePos; + pos = sSinkingLurePos; if ((i < 10) && (sRodCastState == 5)) { offsetX = (10 - i) * sp88.x * 0.1f; @@ -2103,28 +2134,20 @@ static Vec3f sSoundPos = { 0.0f, 0.0f, 0.0f }; void Fishing_UpdateLure(Fishing* this, PlayState* play) { f32 spE4; f32 spE0; - s16 timer; + s16 i; s16 spDC; f32 spD8; f32 spD4; f32 spD0; f32 lengthCasted; f32 lureXZLen; - s16 i; + f32 phi_f0; Player* player = GET_PLAYER(play); Vec3f zeroVec = { 0.0f, 0.0f, 0.0f }; Vec3f spA8; Vec3f sp9C; Vec3f sp90; Input* input = &play->state.input[0]; - Vec3f sp80; - f32 sp7C; - f32 sp78; - f32 phi_f0; - f32 wiggle; - Vec3f sp64; - Vec3f sp58; - s32 pad; sLureTimer++; @@ -2200,6 +2223,7 @@ void Fishing_UpdateLure(Fishing* this, PlayState* play) { case 0: sSinkingLureSegmentIndex = 0; +#if OOT_DEBUG if (KREG(14) != 0) { KREG(14) = 0; sLureEquipped = FS_LURE_SINKING - sLureEquipped; @@ -2207,6 +2231,7 @@ void Fishing_UpdateLure(Fishing* this, PlayState* play) { sPondOwnerTextIdIndex = 0; } } +#endif Math_ApproachF(&sRodLineSpooled, 195.0f, 1.0f, 1.0f); @@ -2284,9 +2309,10 @@ void Fishing_UpdateLure(Fishing* this, PlayState* play) { lureXZLen = SQ(sLurePos.x) + SQ(sLurePos.z); if (lureXZLen > SQ(920.0f)) { - if ((KREG(56) != 0) || (sLurePos.y > 160.0f) || (sLurePos.x < 80.0f) || (sLurePos.x > 180.0f) || + if ((KREG_DEBUG(56) != 0) || (sLurePos.y > 160.0f) || (sLurePos.x < 80.0f) || (sLurePos.x > 180.0f) || (sLurePos.z > 1350.0f) || (sLurePos.z < 1100.0f) || (sLurePos.y < 45.0f)) { - sp80 = this->actor.world.pos; + Vec3f sp80 = this->actor.world.pos; + this->actor.prevPos = this->actor.world.pos = sLurePos; Actor_UpdateBgCheckInfo(play, &this->actor, 15.0f, 30.0f, 30.0f, UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_1 | UPDBGCHECKINFO_FLAG_6); @@ -2339,8 +2365,9 @@ void Fishing_UpdateLure(Fishing* this, PlayState* play) { sLurePosDelta.y *= 0.2f; for (i = 0; i < 50; i++) { - sp7C = Rand_ZeroFloat(1.5f) + 0.5f; - sp78 = Rand_ZeroFloat(6.28f); + f32 sp7C = Rand_ZeroFloat(1.5f) + 0.5f; + f32 sp78 = Rand_ZeroFloat(6.28f); + s32 pad; sp9C.x = sinf(sp78) * sp7C; sp9C.z = cosf(sp78) * sp7C; @@ -2415,8 +2442,8 @@ void Fishing_UpdateLure(Fishing* this, PlayState* play) { lureXZLen = SQ(sLurePos.x) + SQ(sLurePos.z); if (lureXZLen < SQ(920.0f)) { - if (sLurePos.y <= (spE4 + 4.0f)) { - wiggle = 0.0f; + if (sLurePos.y <= spE4 + 4) { + f32 wiggle = 0.0f; if (D_80B7E150 == 0) { if (fabsf(input->rel.stick_x) > 30.0f) { @@ -2457,7 +2484,7 @@ void Fishing_UpdateLure(Fishing* this, PlayState* play) { sLureWigglePosY = fabsf(wiggle) * 6.0f; sLureRot.x = 0.0f; sLureRotXTarget = 0.5f; - sRodLineSpooled += (fabsf(wiggle) * (7.5f + (KREG(25) * 0.1f))); + sRodLineSpooled += (fabsf(wiggle) * (7.5f + (KREG_DEBUG(25) * 0.1f))); func_800F436C(&sSoundPos, NA_SE_EV_LURE_MOVE_W, (wiggle * 1.999f * 0.25f) + 0.75f); @@ -2517,6 +2544,8 @@ void Fishing_UpdateLure(Fishing* this, PlayState* play) { Matrix_RotateY(sLureRot.y, MTXMODE_NEW); if (sLureEquipped == FS_LURE_SINKING) { + Vec3f sp64; + Matrix_MultVec3f(&sp90, &sp64); sLureLineSegPosDelta.x = sp64.x; sLureLineSegPosDelta.z = sp64.z; @@ -2538,7 +2567,8 @@ void Fishing_UpdateLure(Fishing* this, PlayState* play) { } } else if (sReelLinePos[LINE_SEG_COUNT - 1].y < (WATER_SURFACE_Y(play) + phi_f0)) { if (sLureEquipped == FS_LURE_SINKING) { - sp58 = this->actor.world.pos; + Vec3f sp58 = this->actor.world.pos; + this->actor.prevPos = this->actor.world.pos = sLurePos; Actor_UpdateBgCheckInfo(play, &this->actor, 15.0f, 30.0f, 30.0f, UPDBGCHECKINFO_FLAG_2 | UPDBGCHECKINFO_FLAG_6); @@ -2611,8 +2641,8 @@ void Fishing_UpdateLure(Fishing* this, PlayState* play) { } if ((sLurePos.y <= (WATER_SURFACE_Y(play) + 4.0f)) && (sLurePos.y >= (WATER_SURFACE_Y(play) - 4.0f))) { + s16 timer = 63; - timer = 63; if (CHECK_BTN_ALL(input->cur.button, BTN_A) || (sLureWigglePosY > 1.0f)) { timer = 1; } @@ -2633,7 +2663,7 @@ void Fishing_UpdateLure(Fishing* this, PlayState* play) { if (CHECK_BTN_ALL(input->cur.button, BTN_A)) { if ((SQ(sLurePos.x) + SQ(sLurePos.z)) > SQ(920.0f)) { - sRodLineSpooled += (1.0f + (KREG(65) * 0.1f)); + sRodLineSpooled += (1.0f + (KREG_DEBUG(65) * 0.1f)); } else { sRodLineSpooled += sRodReelingSpeed; } @@ -2897,7 +2927,7 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) { s16 rotXTarget; s16 rotYtarget; s16 rotZScale; - s16 timer; + u8 phi_v0_2; s16 spF6; s16 rotXScale; s16 rotXStep; @@ -2912,13 +2942,9 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) { f32 phi_f2; Vec3f bubblePos; Vec3f spB8; - u8 phi_v0_2; f32 temp_f0; f32 temp; - s32 pad; f32 rumbleStrength; - u16 attempts; - u8 rumbleStrength8; this->actor.uncullZoneForward = 700.0f; this->actor.uncullZoneScale = 50.0f; @@ -2978,7 +3004,7 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) { phi_f0 = 1.0f; phi_f2 = 1.0f; if (this->actor.world.pos.y > WATER_SURFACE_Y(play)) { - phi_f0 = (KREG(64) * 0.1f) + 1.5f; + phi_f0 = (KREG_DEBUG(64) * 0.1f) + 1.5f; phi_f2 = 3.0f; } Math_ApproachF(&this->fishLimbRotPhaseMag, this->unk_194 * phi_f0, 1.0f, 500.0f * phi_f2); @@ -3125,11 +3151,13 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) { } } +#if OOT_DEBUG if (KREG(15) != 0) { KREG(15) = 0; this->fishState = 7; this->timerArray[3] = (s16)Rand_ZeroFloat(150.0f) + 2000; } +#endif break; case 0: @@ -3225,8 +3253,10 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) { if (this->unk_1A4 == 0) { this->fishState = 10; this->fishStateNext = 10; - } else if ((KREG(2) != 0) || (((this->unk_1A4 & 0x7FF) == 0) && (this->unk_1A4 < 15000))) { + } else if ((KREG_DEBUG(2) != 0) || (((this->unk_1A4 & 0x7FF) == 0) && (this->unk_1A4 < 15000))) { +#if OOT_DEBUG KREG(2) = 0; +#endif this->fishState = -2; this->actor.world.rot.x = this->actor.shape.rot.x = 0; this->fishTargetPos.y = WATER_SURFACE_Y(play) + 10.0f; @@ -3325,7 +3355,7 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) { (this->actor.world.pos.y - this->fishTargetPos.y) * 0.1f); } - Math_ApproachF(&this->rotationStep, 8192.0f, 1.0f, (KREG(16) * 128) + 384.0f); + Math_ApproachF(&this->rotationStep, 8192.0f, 1.0f, (KREG_DEBUG(16) * 128) + 384.0f); if (CHECK_BTN_ALL(input->press.button, BTN_A)) { this->perception += 0.005f; } @@ -3385,8 +3415,14 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) { chance *= 5.0f; } +#if OOT_DEBUG if (((this->timerArray[0] == 1) || (Rand_ZeroOne() < chance)) && - ((Rand_ZeroOne() < (this->perception * multiplier)) || ((this->isLoach + 1) == KREG(69)))) { + ((Rand_ZeroOne() < (this->perception * multiplier)) || ((this->isLoach + 1) == KREG(69)))) +#else + if (((this->timerArray[0] == 1) || (Rand_ZeroOne() < chance)) && + (Rand_ZeroOne() < (this->perception * multiplier))) +#endif + { if (this->isLoach == 0) { this->fishState = 3; this->unk_190 = 1.2f; @@ -3477,6 +3513,8 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) { this->unk_190 = 1.0f; this->unk_194 = 2000.0f; } else if (distToTarget < 10.0f) { + s16 timer; + if (Fishing_SplashBySize(this, play, false)) { Fishing_FishLeapSfx(this, false); } @@ -3626,6 +3664,8 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) { } if (this->actor.world.pos.y < WATER_SURFACE_Y(play)) { + f32 rumbleStrength; + if (this->timerArray[1] > 30) { phi_v0_2 = 7; } else { @@ -3633,6 +3673,7 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) { } if (((this->stateAndTimer & phi_v0_2) == 0) && (Rand_ZeroOne() < 0.75f) && (sRumbleDelay == 0)) { + if (this->fishLength >= 70.0f) { rumbleStrength = 255.0f; } else if (this->fishLength >= 60.0f) { @@ -3654,6 +3695,8 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) { if (this->timerArray[1] > 30) { if (this->timerArray[0] == 0) { + u16 attempts; + multiVecSrc.x = 0.0f; multiVecSrc.y = 0.0f; multiVecSrc.z = 200.0f; @@ -3673,6 +3716,8 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) { } if ((Rand_ZeroOne() < 0.1f) && (this->timerArray[3] == 0)) { + u8 rumbleStrength8; + if (this->fishLength >= 60.0f) { rumbleStrength8 = 255; } else if (this->fishLength >= 50.0f) { @@ -3800,7 +3845,7 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) { if ((sRodCastState < 3) || ((sReelLock != 0) && (sFishFightTime > 50)) || (sFishFightTime >= 6000) || ((sLureBitTimer == 0) && (sLineHooked == 0)) || (sRodPullback == 0) || (((sLureTimer & 0x7F) == 0) && (Rand_ZeroOne() < 0.05f) && (sLureEquipped != FS_LURE_SINKING) && - (KREG(69) == 0))) { + (KREG_DEBUG(69) == 0))) { sFishingCaughtTextDelay = 20; if ((sLureBitTimer == 0) && (sLineHooked == 0)) { @@ -3830,7 +3875,7 @@ void Fishing_UpdateFish(Actor* thisx, PlayState* play2) { sFishingMusicDelay = 50; sRodReelingSpeed = 0.5f; this->unk_152 = 0; - } else if (this->actor.xzDistToPlayer < (KREG(59) + 50.0f)) { + } else if (this->actor.xzDistToPlayer < (KREG_DEBUG(59) + 50.0f)) { this->fishState = 6; this->timerArray[0] = 100; player->unk_860 = 3; @@ -4507,6 +4552,8 @@ void Fishing_DrawPondProps(PlayState* play) { Matrix_Pop(); + if (1) {} + CLOSE_DISPS(play->state.gfxCtx, "../z_fishing.c", 7805); } @@ -5051,7 +5098,9 @@ void Fishing_HandleOwnerDialog(Fishing* this, PlayState* play) { break; case 22: +#if OOT_DEBUG if (play) {} +#endif if (Message_GetState(&play->msgCtx) == TEXT_STATE_NONE) { this->stateAndTimer = 0; @@ -5109,10 +5158,11 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) { f32 target; f32 subCamAtMaxVelFrac; f32 lureDistXZ; - s32 pad; + Camera* mainCam; Player* player = GET_PLAYER(play); Input* input = &play->state.input[0]; +#if OOT_DEBUG if (0) { // Strings existing only in rodata PRINTF(VT_FGCOL(GREEN)); @@ -5121,6 +5171,7 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) { PRINTF("ys %x\n"); PRINTF(VT_RST); } +#endif playerShadowAlpha = player->actor.shape.shadowAlpha; @@ -5175,8 +5226,10 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) { f32 dy = sOwnerHeadPos.y - sLurePos.y; f32 dz = sOwnerHeadPos.z - sLurePos.z; - if ((sqrtf(SQ(dx) + SQ(dy) + SQ(dz)) < 25.0f) || (KREG(77) > 0)) { + if ((sqrtf(SQ(dx) + SQ(dy) + SQ(dz)) < 25.0f) || (KREG_DEBUG(77) > 0)) { +#if OOT_DEBUG KREG(77) = 0; +#endif sOwnerHair = FS_OWNER_BALD; sIsOwnersHatHooked = true; Message_StartTextbox(play, 0x4087, NULL); @@ -5190,10 +5243,12 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) { HIGH_SCORE(HS_FISHING) &= ~HS_FISH_STOLE_HAT; } +#if OOT_DEBUG if (KREG(77) < 0) { KREG(77) = 0; sIsOwnersHatSunk = true; } +#endif if (sFishingCaughtTextDelay != 0) { sFishingCaughtTextDelay--; @@ -5237,7 +5292,10 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) { SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM_MAIN, 20); } +#if OOT_DEBUG if (KREG(0) != 0) { + s32 pad[3]; + KREG(0) = 0; sLureEquipped = FS_LURE_STOCK; sFishingPlayerCinematicState = 20; @@ -5245,6 +5303,7 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) { Sfx_PlaySfxCentered(NA_SE_SY_TRE_BOX_APPEAR); SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM_MAIN, 20); } +#endif if (sFishingCinematicTimer != 0) { sFishingCinematicTimer--; @@ -5255,9 +5314,7 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) { case 0: break; - case 1: { - Camera* mainCam; - + case 1: sSubCamId = Play_CreateSubCamera(play); Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT); Play_ChangeCameraStatus(play, sSubCamId, CAM_STAT_ACTIVE); @@ -5272,7 +5329,6 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) { Interface_ChangeHudVisibilityMode(HUD_VISIBILITY_A_B_MINIMAP); sSubCamVelFactor = 0.0f; FALLTHROUGH; - } case 2: Letterbox_SetSizeTarget(27); @@ -5374,6 +5430,7 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) { mainCam->eye = sSubCamEye; mainCam->eyeNext = sSubCamEye; mainCam->at = sSubCamAt; + } Play_ReturnToMainCam(play, sSubCamId, 0); Cutscene_StopManual(play, &play->csCtx); sFishingPlayerCinematicState = 0; @@ -5383,11 +5440,8 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) { player->unk_860 = -5; D_80B7E0B0 = 5; break; - } - - case 10: { // owner tells you to return the rod. - Camera* mainCam; + case 10: // owner tells you to return the rod. Cutscene_StartManual(play, &play->csCtx); sSubCamId = Play_CreateSubCamera(play); Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT); @@ -5404,7 +5458,6 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) { sFishingPlayerCinematicState = 11; Rumble_Override(0.0f, 150, 10, 10); FALLTHROUGH; - } case 11: player->actor.world.pos.z = 1360.0f; @@ -5428,9 +5481,7 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) { } break; - case 20: { // found the sinking lure - Camera* mainCam; - + case 20: // found the sinking lure Cutscene_StartManual(play, &play->csCtx); sSubCamId = Play_CreateSubCamera(play); Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STAT_WAIT); @@ -5448,7 +5499,6 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) { sCatchCamX = 45.0f; sFishingCinematicTimer = 10; FALLTHROUGH; - } case 21: if ((sFishingCinematicTimer == 0) && Message_ShouldAdvance(play)) { @@ -5596,6 +5646,7 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) { } } +#if OOT_DEBUG if (sREG(15) != 0) { if (sStormStrengthTarget != (sREG(15) - 1)) { if (sStormStrengthTarget == 0) { @@ -5616,6 +5667,7 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) { } sREG(14) = 0; +#endif PRINTF(VT_FGCOL(GREEN)); PRINTF("zelda_time %x\n", ((void)0, gSaveContext.save.dayTime)); @@ -5706,10 +5758,12 @@ void Fishing_UpdateOwner(Actor* thisx, PlayState* play2) { // convert length to weight. Theoretical max of 59 lbs (127^2*.0036+.5) gSaveContext.minigameScore = (SQ((f32)sFishLengthToWeigh) * 0.0036f) + 0.5f; +#if OOT_DEBUG if (BREG(26) != 0) { BREG(26) = 0; Message_StartTextbox(play, 0x407B + BREG(27), NULL); } +#endif PRINTF("HI_SCORE = %x\n", HIGH_SCORE(HS_FISHING)); } 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 aefb205dd3..acb8dbee3c 100644 --- a/src/overlays/actors/ovl_Item_Shield/z_item_shield.c +++ b/src/overlays/actors/ovl_Item_Shield/z_item_shield.c @@ -31,8 +31,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000004, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 15, 15, 0, { 0, 0, 0 } }, 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 0e32deee95..e861cc84e0 100644 --- a/src/overlays/actors/ovl_Magic_Fire/z_magic_fire.c +++ b/src/overlays/actors/ovl_Magic_Fire/z_magic_fire.c @@ -57,8 +57,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00020000, 0x00, 0x01 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_NONE, OCELEM_NONE, }, { 9, 9, 0, { 0, 0, 0 } }, @@ -133,9 +133,9 @@ void MagicFire_Update(Actor* thisx, PlayState* play) { } if (this->action == DF_ACTION_EXPAND_SLOWLY) { - this->collider.elem.toucher.damage = this->actionTimer + 25; + this->collider.elem.atDmgInfo.damage = this->actionTimer + 25; } else if (this->action == DF_ACTION_STOP_EXPANDING) { - this->collider.elem.toucher.damage = this->actionTimer; + this->collider.elem.atDmgInfo.damage = this->actionTimer; } Collider_UpdateCylinder(&this->actor, &this->collider); this->collider.dim.radius = (this->actor.scale.x * 325.0f); 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 38a50a745b..8c200e3dac 100644 --- a/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.c +++ b/src/overlays/actors/ovl_Mir_Ray/z_mir_ray.c @@ -57,8 +57,8 @@ static ColliderQuadInit sQuadInit = { ELEMTYPE_UNK0, { 0x00200000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, @@ -70,8 +70,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK0, { 0x00200000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { 0, { { 0, 0, 0 }, 50 }, 100 }, 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 ba2521531d..7a42022b69 100644 --- a/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c +++ b/src/overlays/actors/ovl_Obj_Bean/z_obj_bean.c @@ -97,8 +97,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 64, 30, -31, { 0, 0, 0 } }, 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 8428f34675..dc7cd70d92 100644 --- a/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.c +++ b/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.c @@ -43,8 +43,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x4FC1FFFE, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 55, 70, 0, { 0 } }, @@ -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.elem.acHitElem->toucher.dmgFlags & DMG_HAMMER))) { + ((this->collider.base.acFlags & AC_HIT) && (this->collider.elem.acHitElem->atDmgInfo.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 69b311e486..1c071363cf 100644 --- a/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c +++ b/src/overlays/actors/ovl_Obj_Comb/z_obj_comb.c @@ -38,8 +38,8 @@ static ColliderJntSphElementInit sJntSphElementsInit[1] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x4001FFFE, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 15 }, 100 }, @@ -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].base.acHitElem->toucher.dmgFlags; + dmgFlags = this->collider.elements[0].base.acHitElem->atDmgInfo.dmgFlags; if (dmgFlags & (DMG_HAMMER | DMG_ARROW | DMG_SLINGSHOT | DMG_DEKU_STICK)) { this->unk_1B0 = 1500; } else { 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 cae5d27338..3eb9e3347d 100644 --- a/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.c +++ b/src/overlays/actors/ovl_Obj_Hamishi/z_obj_hamishi.c @@ -39,8 +39,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x4FC1FFF6, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 50, 70, 0, { 0, 0, 0 } }, @@ -170,7 +170,7 @@ void ObjHamishi_Update(Actor* thisx, PlayState* play) { ObjHamishi_Shake(this); - if ((this->collider.base.acFlags & AC_HIT) && (this->collider.elem.acHitElem->toucher.dmgFlags & DMG_HAMMER)) { + if ((this->collider.base.acFlags & AC_HIT) && (this->collider.elem.acHitElem->atDmgInfo.dmgFlags & DMG_HAMMER)) { this->collider.base.acFlags &= ~AC_HIT; this->hitCount++; if (this->hitCount < 2) { diff --git a/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.c b/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.c index 76ce2203c1..6dea87f6b3 100644 --- a/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.c +++ b/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.c @@ -39,8 +39,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_NONE, + ATELEM_NONE, + ACELEM_NONE, OCELEM_ON, }, { 8, 10, 0, { 0, 0, 0 } }, 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 04a3096d5c..736ba66f77 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 @@ -42,8 +42,8 @@ static ColliderCylinderInit sCylinderInitIce = { ELEMTYPE_UNK0, { 0xFFCFFFFF, 0x02, 0x00 }, { 0x00020800, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NONE, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NONE, + ACELEM_ON, OCELEM_ON, }, { 50, 120, 0, { 0, 0, 0 } }, @@ -62,8 +62,8 @@ static ColliderCylinderInit sCylinderInitHard = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x4E01F7F6, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 50, 120, 0, { 0, 0, 0 } }, @@ -117,7 +117,7 @@ void ObjIcePoly_Idle(ObjIcePoly* this, PlayState* play) { Vec3f pos; if (this->colliderIce.base.acFlags & AC_HIT) { - this->meltTimer = -this->colliderIce.elem.acHitElem->toucher.damage; + this->meltTimer = -this->colliderIce.elem.acHitElem->atDmgInfo.damage; this->actor.focus.rot.y = this->actor.yawTowardsPlayer; OnePointCutscene_Init(play, 5120, 40, &this->actor, CAM_ID_MAIN); this->actionFunc = ObjIcePoly_Melt; diff --git a/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.c b/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.c index 9b2fe8884f..c7752a4891 100644 --- a/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.c +++ b/src/overlays/actors/ovl_Obj_Kibako/z_obj_kibako.c @@ -47,8 +47,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000002, 0x00, 0x01 }, { 0x4FC00748, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 12, 27, 0, { 0, 0, 0 } }, diff --git a/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.c b/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.c index 44b2389993..bfcc4bbf26 100644 --- a/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.c +++ b/src/overlays/actors/ovl_Obj_Kibako2/z_obj_kibako2.c @@ -42,8 +42,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x40000040, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 31, 48, 0, { 0, 0, 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 e03527e4c7..bb3bb56331 100644 --- a/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.c +++ b/src/overlays/actors/ovl_Obj_Lightswitch/z_obj_lightswitch.c @@ -53,8 +53,8 @@ static ColliderJntSphElementInit sColliderJntSphElementInit[] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00200000, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 0, { { 0, 0, 0 }, 19 }, 100 }, 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 2d513f5c70..23c0e243b9 100644 --- a/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.c +++ b/src/overlays/actors/ovl_Obj_Switch/z_obj_switch.c @@ -76,8 +76,8 @@ static ColliderTrisElementInit sRustyFloorTrisElementsInit[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x40000040, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { -20.0f, 19.0f, -20.0f }, { -20.0f, 19.0f, 20.0f }, { 20.0f, 19.0f, 20.0f } } }, @@ -87,8 +87,8 @@ static ColliderTrisElementInit sRustyFloorTrisElementsInit[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x40000040, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 20.0f, 19.0f, 20.0f }, { 20.0f, 19.0f, -20.0f }, { -20.0f, 19.0f, -20.0f } } }, @@ -114,8 +114,8 @@ static ColliderTrisElementInit sEyeTrisElementsInit[2] = { ELEMTYPE_UNK4, { 0x00000000, 0x00, 0x00 }, { 0x0001F824, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 0.0f, 23.0f, 8.5f }, { -23.0f, 0.0f, 8.5f }, { 0.0f, -23.0f, 8.5f } } }, @@ -125,8 +125,8 @@ static ColliderTrisElementInit sEyeTrisElementsInit[2] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x0001F824, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { { { 0.0f, 23.0f, 8.5f }, { 0.0f, -23.0f, 8.5f }, { 23.0f, 0.0f, 8.5f } } }, @@ -152,8 +152,8 @@ static ColliderJntSphElementInit sCrystalJntSphElementInit[1] = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xEFC1FFFE, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 0, { { 0, 300, 0 }, 20 }, 100 }, 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 f4dfe51a6e..7ea6b73d30 100644 --- a/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c +++ b/src/overlays/actors/ovl_Obj_Syokudai/z_obj_syokudai.c @@ -41,8 +41,8 @@ static ColliderCylinderInit sCylInitStand = { ELEMTYPE_UNK2, { 0x00100000, 0x00, 0x00 }, { 0xEE01FFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON | BUMP_HOOKABLE, + ATELEM_NONE, + ACELEM_ON | ACELEM_HOOKABLE, OCELEM_ON, }, { 12, 45, 0, { 0, 0, 0 } }, @@ -61,8 +61,8 @@ static ColliderCylinderInit sCylInitFlame = { ELEMTYPE_UNK2, { 0x00000000, 0x00, 0x00 }, { 0x00020820, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_NONE, }, { 15, 45, 45, { 0, 0, 0 } }, @@ -171,7 +171,7 @@ void ObjSyokudai_Update(Actor* thisx, PlayState* play2) { } } if (this->colliderFlame.base.acFlags & AC_HIT) { - dmgFlags = this->colliderFlame.elem.acHitElem->toucher.dmgFlags; + dmgFlags = this->colliderFlame.elem.acHitElem->atDmgInfo.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.elem.toucher.dmgFlags = DMG_ARROW_FIRE; + arrow->collider.elem.atDmgInfo.dmgFlags = DMG_ARROW_FIRE; } } if ((0 <= this->litTimer) && (this->litTimer < (50 * litTimeScale + 100)) && (torchType != 0)) { 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 0096e67318..e089a11481 100644 --- a/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c +++ b/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c @@ -67,8 +67,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000002, 0x00, 0x01 }, { 0x4FC1FFFE, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_ON, }, { 9, 26, 0, { 0, 0, 0 } }, @@ -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.elem.acHitElem->toucher.dmgFlags & + (this->collider.elem.acHitElem->atDmgInfo.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_Shot_Sun/z_shot_sun.c b/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.c index bc7bf1caa6..a6afa9baa9 100644 --- a/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.c +++ b/src/overlays/actors/ovl_Shot_Sun/z_shot_sun.c @@ -52,8 +52,8 @@ static ColliderCylinderInit sCylinderInit = { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0x00000020, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 30, 60, 0, { 0, 0, 0 } }, diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c index 4c87d44e01..ece01de630 100644 --- a/src/overlays/actors/ovl_player_actor/z_player.c +++ b/src/overlays/actors/ovl_player_actor/z_player.c @@ -4007,12 +4007,12 @@ s32 func_80837818(Player* this) { } void func_80837918(Player* this, s32 quadIndex, u32 dmgFlags) { - this->meleeWeaponQuads[quadIndex].elem.toucher.dmgFlags = dmgFlags; + this->meleeWeaponQuads[quadIndex].elem.atDmgInfo.dmgFlags = dmgFlags; if (dmgFlags == DMG_DEKU_STICK) { - this->meleeWeaponQuads[quadIndex].elem.toucherFlags = TOUCH_ON | TOUCH_NEAREST | TOUCH_SFX_WOOD; + this->meleeWeaponQuads[quadIndex].elem.atElemFlags = ATELEM_ON | ATELEM_NEAREST | ATELEM_SFX_WOOD; } else { - this->meleeWeaponQuads[quadIndex].elem.toucherFlags = TOUCH_ON | TOUCH_NEAREST; + this->meleeWeaponQuads[quadIndex].elem.atElemFlags = ATELEM_ON | ATELEM_NEAREST; } } @@ -4394,7 +4394,7 @@ s32 func_808382DC(Player* this, PlayState* play) { } } - if (sp64 && (this->shieldQuad.elem.acHitElem->toucher.effect == 1)) { + if (sp64 && (this->shieldQuad.elem.acHitElem->atDmgInfo.effect == 1)) { func_8083819C(this, play); } @@ -9737,8 +9737,8 @@ static ColliderCylinderInit D_80854624 = { ELEMTYPE_UNK1, { 0x00000000, 0x00, 0x00 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_NONE, - BUMP_ON, + ATELEM_NONE, + ACELEM_ON, OCELEM_ON, }, { 12, 60, 0, { 0, 0, 0 } }, @@ -9757,8 +9757,8 @@ static ColliderQuadInit D_80854650 = { ELEMTYPE_UNK2, { 0x00000100, 0x00, 0x01 }, { 0xFFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_NONE, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_NONE, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, @@ -9777,8 +9777,8 @@ static ColliderQuadInit D_808546A0 = { ELEMTYPE_UNK2, { 0x00100000, 0x00, 0x00 }, { 0xDFCFFFFF, 0x00, 0x00 }, - TOUCH_ON | TOUCH_SFX_NORMAL, - BUMP_ON, + ATELEM_ON | ATELEM_SFX_NORMAL, + ACELEM_ON, OCELEM_NONE, }, { { { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f }, { 0.0f, 0.0f, 0.0f } } }, diff --git a/tools/ZAPD/.github/workflows/main.yml b/tools/ZAPD/.github/workflows/main.yml new file mode 100644 index 0000000000..31a0f635a0 --- /dev/null +++ b/tools/ZAPD/.github/workflows/main.yml @@ -0,0 +1,83 @@ +name: Build ZAPD + +on: + push: + pull_request: + branches: + - master + +jobs: + build: + runs-on: self-hosted-runner + + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Build ZAPD + run: make -j WERROR=1 + + - name: Checkout Repos + run: echo "Checkout Repos" + + - name: Checkout oot + run: | + git clone https://github.com/zeldaret/oot.git + cd oot + git submodule update --init --recursive + + - name: Checkout mm + run: | + git clone https://github.com/zeldaret/mm.git + cd mm + + - name: Set up repos + run: echo "Set up repos" + + - name: Setup OOT + run: | + cd oot + mkdir -p baseroms/gc-eu-mq-dbg/segments + cp ~/baserom_original.z64 ./baseroms/gc-eu-mq-dbg/baserom.z64 + make venv + make -C tools -j + cp ../ZAPD.out tools/ZAPD/ + .venv/bin/python3 tools/decompress_baserom.py gc-eu-mq-dbg + .venv/bin/python3 tools/extract_baserom.py baseroms/gc-eu-mq-dbg/baserom-decompressed.z64 -o baseroms/gc-eu-mq-dbg/segments --dmadata-start 0x12f70 --dmadata-names baseroms/gc-eu-mq-dbg/dmadata_names.txt + .venv/bin/python3 extract_assets.py -j 4 + .venv/bin/python3 tools/msgdis.py --text-out assets/text/message_data.h --staff-text-out assets/text/message_data_staff.h + + - name: Setup MM + run: | + cd mm + python3 -m venv .mm-env + source .mm-env/bin/activate + python3 -m pip install -r requirements.txt + cp ~/baserom.mm.us.rev1.z64 ./baserom.mm.us.rev1.z64 + make -C tools -j + cp ../ZAPD.out tools/ZAPD/ + python3 tools/fixbaserom.py + python3 tools/extract_baserom.py + python3 tools/decompress_yars.py + python3 extract_assets.py -j $(nproc) + + - name: Build Repos + run: echo "Build Repos" + + - name: Build oot + run: | + cd oot + make venv + make -j + + - name: Build mm + run: | + cd mm + python3 -m venv .mm-env + source .mm-env/bin/activate + python3 -m pip install -r requirements.txt + make -j disasm + make -j + + - name: Clean workspace + run: git clean -fdX diff --git a/tools/ZAPD/.gitrepo b/tools/ZAPD/.gitrepo index 9010e72f76..994cf48d74 100644 --- a/tools/ZAPD/.gitrepo +++ b/tools/ZAPD/.gitrepo @@ -6,7 +6,7 @@ [subrepo] remote = https://github.com/zeldaret/ZAPD.git branch = master - commit = 2b6f459b9523603168b6869cf03057a0d68d5f89 - parent = 2ab90bc51788c6baac0a94c3acb256be5f39ca12 + commit = b3bfa14cf432115a0a675d243f3a1b3197f17cbd + parent = 59017f201eae4a1bc9212ea2c7dc51d4a036108b method = merge cmdver = 0.4.6 diff --git a/tools/ZAPD/README.md b/tools/ZAPD/README.md index 76dfbd1e95..d51dd05583 100644 --- a/tools/ZAPD/README.md +++ b/tools/ZAPD/README.md @@ -117,6 +117,11 @@ ZAPD also accepts the following list of extra parameters: - `-us` / `--unaccounted-static` : Mark unaccounted data as `static` - `-s` / `--static` : Mark every asset as `static`. - This behaviour can be overridden per asset using `Static=` in the respective XML node. +- `--cs-float` : How cutscene floats should be extracted. +- Valid values: + - `hex` + - `float` + - `both` - `-W...`: warning flags, see below Additionally, you can pass the flag `--version` to see the current ZAPD version. If that flag is passed, ZAPD will ignore any other parameter passed. diff --git a/tools/ZAPD/ZAPD/GameConfig.cpp b/tools/ZAPD/ZAPD/GameConfig.cpp index 7990a60863..2140464ec6 100644 --- a/tools/ZAPD/ZAPD/GameConfig.cpp +++ b/tools/ZAPD/ZAPD/GameConfig.cpp @@ -167,7 +167,7 @@ void GameConfig::ConfigFunc_ExternalFile(const tinyxml2::XMLElement& element) void GameConfig::ConfigFunc_EnumData(const tinyxml2::XMLElement& element) { - std::string path = Path::GetDirectoryName(configFilePath); + std::string path = Path::GetDirectoryName(configFilePath).string(); path = path.append("/").append(element.Attribute("File")); tinyxml2::XMLDocument doc; tinyxml2::XMLError eResult = doc.LoadFile(path.c_str()); @@ -247,6 +247,12 @@ void GameConfig::ConfigFunc_EnumData(const tinyxml2::XMLElement& element) else if (enumKey == "endSfx") enumData.endSfx[itemIndex] = itemID; + + else if (enumKey == "csSplineInterpType") + enumData.interpType[itemIndex] = itemID; + + else if (enumKey == "csSplineRelTo") + enumData.relTo[itemIndex] = itemID; } } } diff --git a/tools/ZAPD/ZAPD/GameConfig.h b/tools/ZAPD/ZAPD/GameConfig.h index 838d2da6d0..4f3b91f8c7 100644 --- a/tools/ZAPD/ZAPD/GameConfig.h +++ b/tools/ZAPD/ZAPD/GameConfig.h @@ -48,6 +48,8 @@ public: std::map rumbleType; std::map spawnFlag; std::map endSfx; + std::map interpType; + std::map relTo; }; class ZFile; diff --git a/tools/ZAPD/ZAPD/Globals.h b/tools/ZAPD/ZAPD/Globals.h index 0bfcaeec72..14bd065841 100644 --- a/tools/ZAPD/ZAPD/Globals.h +++ b/tools/ZAPD/ZAPD/Globals.h @@ -16,6 +16,13 @@ enum class VerbosityLevel VERBOSITY_DEBUG }; +enum class CsFloatType +{ + HexOnly, + FloatOnly, + HexAndFloat, +}; + class Globals { public: @@ -31,6 +38,7 @@ public: ZFileMode fileMode; fs::path baseRomPath, inputPath, outputPath, sourceOutputPath, cfgPath; TextureType texType; + CsFloatType floatType = CsFloatType::FloatOnly; ZGame game; GameConfig cfg; bool verboseUnaccounted = false; diff --git a/tools/ZAPD/ZAPD/Main.cpp b/tools/ZAPD/ZAPD/Main.cpp index 40a38bc601..eb1737d643 100644 --- a/tools/ZAPD/ZAPD/Main.cpp +++ b/tools/ZAPD/ZAPD/Main.cpp @@ -36,6 +36,7 @@ void Arg_SetExporter(int& i, char* argv[]); void Arg_EnableGCCCompat(int& i, char* argv[]); void Arg_ForceStatic(int& i, char* argv[]); void Arg_ForceUnaccountedStatic(int& i, char* argv[]); +void Arg_CsFloatMode(int& i, char* argv[]); int main(int argc, char* argv[]); @@ -252,6 +253,7 @@ void ParseArgs(int& argc, char* argv[]) {"--static", &Arg_ForceStatic}, {"-us", &Arg_ForceUnaccountedStatic}, {"--unaccounted-static", &Arg_ForceUnaccountedStatic}, + {"--cs-float", &Arg_CsFloatMode}, }; for (int32_t i = 2; i < argc; i++) @@ -392,6 +394,32 @@ void Arg_ForceUnaccountedStatic([[maybe_unused]] int& i, [[maybe_unused]] char* Globals::Instance->forceUnaccountedStatic = true; } +void Arg_CsFloatMode([[maybe_unused]] int& i, [[maybe_unused]] char* argv[]) +{ + i++; + if (std::strcmp(argv[i], "hex") == 0) + { + Globals::Instance->floatType = CsFloatType::HexOnly; + } + else if (std::strcmp(argv[i], "float") == 0) + { + Globals::Instance->floatType = CsFloatType::FloatOnly; + } + else if (std::strcmp(argv[i], "both") == 0) + { + Globals::Instance->floatType = CsFloatType::HexAndFloat; + } + else + { + Globals::Instance->floatType = CsFloatType::FloatOnly; + HANDLE_WARNING( + WarningType::Always, "Invalid CS Float Type", + StringHelper::Sprintf("Invalid CS float type entered. Expected \"hex\", \"float\", or " + "\"both\". Got %s.\n Defaulting to \"float\".", + argv[i])); + } +} + int HandleExtract(ZFileMode fileMode, ExporterSet* exporterSet) { bool procFileModeSuccess = false; diff --git a/tools/ZAPD/ZAPD/OtherStructs/CutsceneMM_Commands.cpp b/tools/ZAPD/ZAPD/OtherStructs/CutsceneMM_Commands.cpp index f18e313085..960404e598 100644 --- a/tools/ZAPD/ZAPD/OtherStructs/CutsceneMM_Commands.cpp +++ b/tools/ZAPD/ZAPD/OtherStructs/CutsceneMM_Commands.cpp @@ -4,6 +4,9 @@ #include "Globals.h" #include "Utils/BitConverter.h" #include "Utils/StringHelper.h" +#include "WarningHandler.h" + +#include "ZCutscene.h" /**** GENERIC ****/ @@ -126,42 +129,163 @@ std::string CutsceneMMCommand_GenericCmd::GetCommandMacro() const /**** CAMERA ****/ -CutsceneSubCommandEntry_Camera::CutsceneSubCommandEntry_Camera(const std::vector& rawData, - offset_t rawDataIndex) +CutsceneSubCommandEntry_SplineCamPoint::CutsceneSubCommandEntry_SplineCamPoint( + const std::vector& rawData, offset_t rawDataIndex) : CutsceneSubCommandEntry(rawData, rawDataIndex) { + interpType = BitConverter::ToUInt8BE(rawData, rawDataIndex + 0); + weight = BitConverter::ToUInt8BE(rawData, rawDataIndex + 1); + duration = BitConverter::ToUInt16BE(rawData, rawDataIndex + 2); + posX = BitConverter::ToUInt16BE(rawData, rawDataIndex + 4); + posY = BitConverter::ToUInt16BE(rawData, rawDataIndex + 6); + posZ = BitConverter::ToUInt16BE(rawData, rawDataIndex + 8); + relTo = BitConverter::ToUInt16BE(rawData, rawDataIndex + 10); } -std::string CutsceneSubCommandEntry_Camera::GetBodySourceCode() const +std::string CutsceneSubCommandEntry_SplineCamPoint::GetBodySourceCode() const { - return StringHelper::Sprintf("CMD_HH(0x%04X, 0x%04X)", base, startFrame); + const auto interpTypeMap = &Globals::Instance->cfg.enumData.interpType; + const auto relToMap = &Globals::Instance->cfg.enumData.relTo; + + return StringHelper::Sprintf("CS_CAM_POINT(%s, 0x%02X, 0x%04X, 0x%04X, 0x%04X, 0x%04X, %s)", + interpTypeMap->at(interpType).c_str(), weight, duration, posX, + posY, posZ, relToMap->at(relTo).c_str()); } -size_t CutsceneSubCommandEntry_Camera::GetRawSize() const +size_t CutsceneSubCommandEntry_SplineCamPoint::GetRawSize() const +{ + return 0x0C; +} + +CutsceneSubCommandEntry_SplineMiscPoint::CutsceneSubCommandEntry_SplineMiscPoint( + const std::vector& rawData, offset_t rawDataIndex) + : CutsceneSubCommandEntry(rawData, rawDataIndex) +{ + unused0 = BitConverter::ToUInt16BE(rawData, rawDataIndex + 0); + roll = BitConverter::ToUInt16BE(rawData, rawDataIndex + 2); + fov = BitConverter::ToUInt16BE(rawData, rawDataIndex + 4); + unused1 = BitConverter::ToUInt16BE(rawData, rawDataIndex + 6); +} + +std::string CutsceneSubCommandEntry_SplineMiscPoint::GetBodySourceCode() const +{ + return StringHelper::Sprintf("CS_CAM_MISC(0x%04X, 0x%04X, 0x%04X, 0x%04X)", unused0, roll, fov, + unused1); +} + +size_t CutsceneSubCommandEntry_SplineMiscPoint::GetRawSize() const +{ + return 0x08; +} + +CutsceneSubCommandEntry_SplineHeader::CutsceneSubCommandEntry_SplineHeader( + const std::vector& rawData, offset_t rawDataIndex) + : CutsceneSubCommandEntry(rawData, rawDataIndex) +{ + numEntries = BitConverter::ToUInt16BE(rawData, rawDataIndex + 0); + unused0 = BitConverter::ToUInt16BE(rawData, rawDataIndex + 2); + unused1 = BitConverter::ToUInt16BE(rawData, rawDataIndex + 4); + duration = BitConverter::ToUInt16BE(rawData, rawDataIndex + 6); +} + +std::string CutsceneSubCommandEntry_SplineHeader::GetBodySourceCode() const +{ + return StringHelper::Sprintf("CS_CAM_SPLINE(0x%04X, 0x%04X, 0x%04X, 0x%04X)", numEntries, + unused0, unused1, duration); +} + +size_t CutsceneSubCommandEntry_SplineHeader::GetRawSize() const +{ + return 0x08; +} + +CutsceneSubCommandEntry_SplineFooter::CutsceneSubCommandEntry_SplineFooter( + const std::vector& rawData, offset_t rawDataIndex) + : CutsceneSubCommandEntry(rawData, rawDataIndex) +{ + uint16_t firstHalfWord = BitConverter::ToUInt16BE(rawData, rawDataIndex); + uint16_t secondHalfWord = BitConverter::ToUInt16BE(rawData, rawDataIndex + 2); + + if (firstHalfWord != 0xFFFF || secondHalfWord != 4) + { + HANDLE_ERROR(WarningType::InvalidExtractedData, "Invalid Spline Footer", + StringHelper::Sprintf( + "Invalid Spline footer. Was expecting 0xFFFF, 0x0004. Got 0x%04X, 0x%04X", + firstHalfWord, secondHalfWord)); + } +} + +std::string CutsceneSubCommandEntry_SplineFooter::GetBodySourceCode() const +{ + return "CS_CAM_END()"; +} + +size_t CutsceneSubCommandEntry_SplineFooter::GetRawSize() const { return 0x04; } -CutsceneMMCommand_Camera::CutsceneMMCommand_Camera(const std::vector& rawData, +CutsceneMMCommand_Spline::CutsceneMMCommand_Spline(const std::vector& rawData, offset_t rawDataIndex) : CutsceneCommand(rawData, rawDataIndex) { + numHeaders = 0; + totalCommands = 0; rawDataIndex += 4; - entries.reserve(numEntries); - for (size_t i = 0; i < numEntries / 4; i++) + while (1) { - auto* entry = new CutsceneSubCommandEntry_Camera(rawData, rawDataIndex); - entries.push_back(entry); - rawDataIndex += entry->GetRawSize(); + if (BitConverter::ToUInt16BE(rawData, rawDataIndex) == 0xFFFF) + { + break; + } + numHeaders++; + + auto* header = new CutsceneSubCommandEntry_SplineHeader(rawData, rawDataIndex); + rawDataIndex += header->GetRawSize(); + entries.push_back(header); + + totalCommands += header->numEntries; + + for (uint32_t i = 0; i < header->numEntries; i++) + { + auto* entry = new CutsceneSubCommandEntry_SplineCamPoint(rawData, rawDataIndex); + entries.push_back(entry); + rawDataIndex += entry->GetRawSize(); + } + + for (uint32_t i = 0; i < header->numEntries; i++) + { + auto* entry = new CutsceneSubCommandEntry_SplineCamPoint(rawData, rawDataIndex); + entries.push_back(entry); + rawDataIndex += entry->GetRawSize(); + } + + for (uint32_t i = 0; i < header->numEntries; i++) + { + auto* entry = new CutsceneSubCommandEntry_SplineMiscPoint(rawData, rawDataIndex); + entries.push_back(entry); + rawDataIndex += entry->GetRawSize(); + } } + + auto* footer = new CutsceneSubCommandEntry_SplineFooter(rawData, rawDataIndex); + entries.push_back(footer); + rawDataIndex += footer->GetRawSize(); } -std::string CutsceneMMCommand_Camera::GetCommandMacro() const +std::string CutsceneMMCommand_Spline::GetCommandMacro() const { return StringHelper::Sprintf("CS_CAM_SPLINE_LIST(%i)", numEntries); } +size_t CutsceneMMCommand_Spline::GetCommandSize() const +{ + // 8 Bytes once for the spline command, 8 Bytes per spline the header, two groups of size 12, 1 + // group of size 8, 4 bytes for the footer. + return 8 + (8 * numHeaders) + ((totalCommands * 2) * 0xC) + (totalCommands * 8) + 4; +} + /**** TRANSITION GENERAL ****/ CutsceneSubCommandEntry_TransitionGeneral::CutsceneSubCommandEntry_TransitionGeneral( @@ -434,22 +558,29 @@ CutsceneMMSubCommandEntry_ActorCue::CutsceneMMSubCommandEntry_ActorCue( std::string CutsceneMMSubCommandEntry_ActorCue::GetBodySourceCode() const { EnumData* enumData = &Globals::Instance->cfg.enumData; + std::string normalXStr = + ZCutscene::GetCsEncodedFloat(normalX, Globals::Instance->floatType, true); + std::string normalYStr = + ZCutscene::GetCsEncodedFloat(normalY, Globals::Instance->floatType, true); + std::string normalZStr = + ZCutscene::GetCsEncodedFloat(normalZ, Globals::Instance->floatType, true); if (static_cast(commandID) == CutsceneMM_CommandType::CS_CMD_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)", + "%i, %i, %i, %i, %s, %s, %s)", enumData->playerCueId[base].c_str(), startFrame, endFrame, rotX, rotY, rotZ, startPosX, startPosY, startPosZ, endPosX, - endPosY, endPosZ, normalX, normalY, normalZ); + endPosY, endPosZ, normalXStr.c_str(), normalYStr.c_str(), + normalZStr.c_str()); } else { return StringHelper::Sprintf("CS_ACTOR_CUE(%i, %i, %i, 0x%04X, 0x%04X, 0x%04X, %i, %i, " - "%i, %i, %i, %i, %.8ef, %.8ef, %.8ef)", + "%i, %i, %i, %i, %s, %s, %s)", base, startFrame, endFrame, rotX, rotY, rotZ, startPosX, - startPosY, startPosZ, endPosX, endPosY, endPosZ, normalX, - normalY, normalZ); + startPosY, startPosZ, endPosX, endPosY, endPosZ, + normalXStr.c_str(), normalYStr.c_str(), normalZStr.c_str()); } } diff --git a/tools/ZAPD/ZAPD/OtherStructs/CutsceneMM_Commands.h b/tools/ZAPD/ZAPD/OtherStructs/CutsceneMM_Commands.h index fb2f772752..597f6788bc 100644 --- a/tools/ZAPD/ZAPD/OtherStructs/CutsceneMM_Commands.h +++ b/tools/ZAPD/ZAPD/OtherStructs/CutsceneMM_Commands.h @@ -268,24 +268,79 @@ public: // TODO: MM cutscene camera command is implemented as a placeholder until we better understand how // it works -class CutsceneSubCommandEntry_Camera : public CutsceneSubCommandEntry + +class CutsceneSubCommandEntry_SplineCamPoint : public CutsceneSubCommandEntry { public: - uint32_t unk_08; + uint8_t interpType; + uint8_t weight; + uint16_t duration; - CutsceneSubCommandEntry_Camera(const std::vector& rawData, offset_t rawDataIndex); + uint16_t posX; + uint16_t posY; + + uint16_t posZ; + uint16_t relTo; + + CutsceneSubCommandEntry_SplineCamPoint(const std::vector& rawData, + offset_t rawDataIndex); std::string GetBodySourceCode() const override; size_t GetRawSize() const override; }; -class CutsceneMMCommand_Camera : public CutsceneCommand +class CutsceneSubCommandEntry_SplineMiscPoint : public CutsceneSubCommandEntry { public: - CutsceneMMCommand_Camera(const std::vector& rawData, offset_t rawDataIndex); + uint16_t unused0; + uint16_t roll; + uint16_t fov; + uint16_t unused1; + + CutsceneSubCommandEntry_SplineMiscPoint(const std::vector& rawData, + offset_t rawDataIndex); + + std::string GetBodySourceCode() const override; + + size_t GetRawSize() const override; +}; + +class CutsceneSubCommandEntry_SplineFooter : public CutsceneSubCommandEntry +{ +public: + CutsceneSubCommandEntry_SplineFooter(const std::vector& rawData, + offset_t rawDataIndex); + + std::string GetBodySourceCode() const override; + + size_t GetRawSize() const override; +}; + +class CutsceneSubCommandEntry_SplineHeader : public CutsceneSubCommandEntry +{ +public: + uint16_t numEntries; + uint16_t unused0; + uint16_t unused1; + uint16_t duration; + CutsceneSubCommandEntry_SplineHeader(const std::vector& rawData, + offset_t rawDataIndex); + + std::string GetBodySourceCode() const override; + + size_t GetRawSize() const override; +}; + +class CutsceneMMCommand_Spline : public CutsceneCommand +{ +public: + uint32_t numHeaders; + uint32_t totalCommands; + CutsceneMMCommand_Spline(const std::vector& rawData, offset_t rawDataIndex); std::string GetCommandMacro() const override; + size_t GetCommandSize() const override; }; /**** TRANSITION GENERAL ****/ diff --git a/tools/ZAPD/ZAPD/OtherStructs/CutsceneOoT_Commands.cpp b/tools/ZAPD/ZAPD/OtherStructs/CutsceneOoT_Commands.cpp index 8c530f796e..f9a5c4f2d5 100644 --- a/tools/ZAPD/ZAPD/OtherStructs/CutsceneOoT_Commands.cpp +++ b/tools/ZAPD/ZAPD/OtherStructs/CutsceneOoT_Commands.cpp @@ -6,6 +6,8 @@ #include "Utils/BitConverter.h" #include "Utils/StringHelper.h" +#include "ZCutscene.h" + /**** GENERIC ****/ // Specific for command lists where each entry has size 0x30 bytes @@ -139,9 +141,11 @@ std::string CutsceneOoTCommand_CameraPoint::GetBodySourceCode() const if (continueFlag != 0) continueMacro = "CS_CAM_STOP"; - return StringHelper::Sprintf("CS_CAM_POINT(%s, 0x%02X, %i, %ff, %i, %i, %i, 0x%04X)", - continueMacro.c_str(), cameraRoll, nextPointFrame, viewAngle, posX, - posY, posZ, unused); + return StringHelper::Sprintf( + "CS_CAM_POINT(%s, 0x%02X, %i, %s, %i, %i, %i, 0x%04X)", continueMacro.c_str(), cameraRoll, + nextPointFrame, + ZCutscene::GetCsEncodedFloat(viewAngle, Globals::Instance->floatType, false).c_str(), posX, + posY, posZ, unused); } size_t CutsceneOoTCommand_CameraPoint::GetRawSize() const @@ -334,27 +338,34 @@ CutsceneOoTSubCommandEntry_ActorCue::CutsceneOoTSubCommandEntry_ActorCue( normalY = BitConverter::ToFloatBE(rawData, rawDataIndex + 0x28); normalZ = BitConverter::ToFloatBE(rawData, rawDataIndex + 0x2C); } - std::string CutsceneOoTSubCommandEntry_ActorCue::GetBodySourceCode() const { EnumData* enumData = &Globals::Instance->cfg.enumData; + std::string normalXStr = + ZCutscene::GetCsEncodedFloat(normalX, Globals::Instance->floatType, true); + std::string normalYStr = + ZCutscene::GetCsEncodedFloat(normalY, Globals::Instance->floatType, true); + std::string normalZStr = + ZCutscene::GetCsEncodedFloat(normalZ, Globals::Instance->floatType, true); + if (static_cast(commandID) == CutsceneOoT_CommandType::CS_CMD_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)", + "%i, %i, %i, %i, %s, %s, %s)", enumData->playerCueId[base].c_str(), startFrame, endFrame, rotX, rotY, rotZ, startPosX, startPosY, startPosZ, endPosX, - endPosY, endPosZ, normalX, normalY, normalZ); + endPosY, endPosZ, normalXStr.c_str(), normalYStr.c_str(), + normalZStr.c_str()); } else { return StringHelper::Sprintf("CS_ACTOR_CUE(%i, %i, %i, 0x%04X, 0x%04X, 0x%04X, %i, %i, " - "%i, %i, %i, %i, %.8ef, %.8ef, %.8ef)", + "%i, %i, %i, %i, %s, %s, %s)", base, startFrame, endFrame, rotX, rotY, rotZ, startPosX, - startPosY, startPosZ, endPosX, endPosY, endPosZ, normalX, - normalY, normalZ); + startPosY, startPosZ, endPosX, endPosY, endPosZ, + normalXStr.c_str(), normalYStr.c_str(), normalZStr.c_str()); } } diff --git a/tools/ZAPD/ZAPD/ZAPD.vcxproj b/tools/ZAPD/ZAPD/ZAPD.vcxproj index 77d0bd16eb..26a0b70363 100644 --- a/tools/ZAPD/ZAPD/ZAPD.vcxproj +++ b/tools/ZAPD/ZAPD/ZAPD.vcxproj @@ -45,6 +45,7 @@ true v142 MultiByte + false Application @@ -52,6 +53,7 @@ v142 true MultiByte + false @@ -186,21 +188,24 @@ mkdir build\ZAPD - + + + + - + @@ -278,7 +283,8 @@ mkdir build\ZAPD - + + @@ -287,6 +293,8 @@ mkdir build\ZAPD + + @@ -296,9 +304,9 @@ mkdir build\ZAPD - + diff --git a/tools/ZAPD/ZAPD/ZAPD.vcxproj.filters b/tools/ZAPD/ZAPD/ZAPD.vcxproj.filters index eac471961c..51723306b4 100644 --- a/tools/ZAPD/ZAPD/ZAPD.vcxproj.filters +++ b/tools/ZAPD/ZAPD/ZAPD.vcxproj.filters @@ -228,9 +228,6 @@ Source Files\Z64\ZRoom\Commands - - Source Files\Z64\ZRoom\Commands - Source Files\Z64\ZRoom\Commands @@ -279,9 +276,6 @@ Source Files\Z64 - - Source Files\Z64 - Source Files\Z64 @@ -297,6 +291,21 @@ Source Files\Z64 + + Source Files\Z64 + + + Source Files\Z64 + + + Source Files\Z64\ZRoom\Commands + + + Source Files\Z64 + + + Source Files\Z64 + @@ -497,9 +506,6 @@ Header Files\Z64\ZRoom\Commands - - Header Files\Z64\ZRoom\Commands - Header Files\Z64\ZRoom\Commands @@ -548,9 +554,6 @@ Header Files\Z64 - - Header Files\Z64 - Header Files\Z64 @@ -569,6 +572,21 @@ Header Files + + Header Files\Z64 + + + Header Files\Z64 + + + Header Files\Z64\ZRoom\Commands + + + Header Files\Z64 + + + Header Files\Z64 + diff --git a/tools/ZAPD/ZAPD/ZCKeyFrame.cpp b/tools/ZAPD/ZAPD/ZCKeyFrame.cpp new file mode 100644 index 0000000000..387f8ad2f2 --- /dev/null +++ b/tools/ZAPD/ZAPD/ZCKeyFrame.cpp @@ -0,0 +1,302 @@ +#include "ZCKeyFrame.h" + +#include "Globals.h" +#include "Utils/BitConverter.h" +#include "Utils/StringHelper.h" +#include "WarningHandler.h" + +REGISTER_ZFILENODE(KeyFrameSkel, ZKeyFrameSkel); +REGISTER_ZFILENODE(KeyFrameLimbList, ZKeyFrameLimbList); + +ZKeyFrameSkel::ZKeyFrameSkel(ZFile* nParent) : ZResource(nParent) +{ + RegisterRequiredAttribute("LimbType"); +} + +ZKeyFrameSkel::~ZKeyFrameSkel() +{ +} + +ZKeyFrameLimb::ZKeyFrameLimb(ZFile* nParent) : ZResource(nParent) +{ +} + +ZKeyFrameStandardLimb::ZKeyFrameStandardLimb(ZFile* nParent) : ZKeyFrameLimb(nParent) +{ +} + +ZKeyFrameFlexLimb::ZKeyFrameFlexLimb(ZFile* nParent) : ZKeyFrameLimb(nParent) +{ +} + +ZKeyFrameLimbList::ZKeyFrameLimbList(ZFile* nParent) : ZResource(nParent) +{ + RegisterRequiredAttribute("LimbType"); + RegisterRequiredAttribute("LimbCount"); +} + +ZKeyFrameLimbList::ZKeyFrameLimbList(ZFile* nParent, uint32_t limbCount, ZKeyframeSkelType type) + : ZResource(nParent) +{ + numLimbs = limbCount; + limbType = type; +} + +ZKeyFrameLimbList::~ZKeyFrameLimbList() +{ + for (const auto l : limbs) + delete l; +} + +void ZKeyFrameSkel::ParseXML(tinyxml2::XMLElement* reader) +{ + ZResource::ParseXML(reader); + + std::string limbTypeStr = registeredAttributes.at("LimbType").value; + + limbType = ZKeyFrameLimbList::ParseLimbTypeStr(limbTypeStr); + if (limbType == ZKeyframeSkelType::Error) + HANDLE_ERROR_RESOURCE( + WarningType::InvalidXML, parent, this, rawDataIndex, "Invalid limb type", + StringHelper::Sprintf("Invalid limb type. Was expecting 'Flex' or 'Normal'. Got %s.", + limbTypeStr.c_str())); +} +void ZKeyFrameLimbList::ParseXML(tinyxml2::XMLElement* reader) +{ + ZResource::ParseXML(reader); + + std::string limbTypeStr = registeredAttributes.at("LimbType").value; + std::string numLimbStr = registeredAttributes.at("LimbCount").value; + + limbType = ParseLimbTypeStr(limbTypeStr); + + if (limbType == ZKeyframeSkelType::Error) + HANDLE_ERROR_RESOURCE( + WarningType::InvalidXML, parent, this, rawDataIndex, "Invalid limb type", + StringHelper::Sprintf("Invalid limb type. Was expecting 'Flex' or 'Normal'. Got %s.", + limbTypeStr.c_str())); + + numLimbs = (uint8_t)StringHelper::StrToL(numLimbStr); +} + +void ZKeyFrameSkel::ParseRawData() +{ + ZResource::ParseRawData(); + + const auto& rawData = parent->GetRawData(); + limbCount = BitConverter::ToUInt8BE(rawData, rawDataIndex + 0); + dListCount = BitConverter::ToUInt8BE(rawData, rawDataIndex + 1); + limbsPtr = BitConverter::ToUInt32BE(rawData, rawDataIndex + 4); + + limbList = std::make_unique(parent, limbCount, limbType); + limbList->SetRawDataIndex(GETSEGOFFSET(limbsPtr)); + limbList->ParseRawData(); +} + +void ZKeyFrameSkel::DeclareReferences(const std::string& prefix) +{ + std::string defaultPrefix = name; + std::string declaration; + + if (defaultPrefix == "") + defaultPrefix = prefix; + + ZResource::DeclareReferences(defaultPrefix); + declaration += limbList->GetBodySourceCode(); + parent->AddDeclarationArray( + GETSEGOFFSET(limbsPtr), DeclarationAlignment::Align4, limbList->GetRawDataSize(), + limbList->GetSourceTypeName(), + StringHelper::Sprintf("%s_KeyFrameLimbs_%06X", prefix.c_str(), rawDataIndex), + limbList->limbs.size(), declaration); +} + +std::string ZKeyFrameSkel::GetBodySourceCode() const +{ + std::string limbStr; + + if (limbType == ZKeyframeSkelType::Normal) + Globals::Instance->GetSegmentedPtrName(limbsPtr, parent, "KeyFrameStandardLimb", limbStr); + else + Globals::Instance->GetSegmentedPtrName(limbsPtr, parent, "KeyFrameFlexLimb", limbStr); + + return StringHelper::Sprintf("\n\t0x%02X, 0x%02X, %s\n", limbCount, dListCount, + limbStr.c_str()); +} + +size_t ZKeyFrameSkel::GetRawDataSize() const +{ + return 0x8; +} + +std::string ZKeyFrameSkel::GetSourceTypeName() const +{ + return "KeyFrameSkeleton"; +} + +ZResourceType ZKeyFrameSkel::GetResourceType() const +{ + return ZResourceType::KeyFrameSkel; +} + +size_t ZKeyFrameStandardLimb::GetRawDataSize() const +{ + return 0xC; +} + +size_t ZKeyFrameFlexLimb::GetRawDataSize() const +{ + return 0x8; +} + +size_t ZKeyFrameLimbList::GetRawDataSize() const +{ + size_t limbSize; + if (limbType == ZKeyframeSkelType::Flex) + limbSize = 0x8; + else + limbSize = 0xC; + + return limbSize * numLimbs; +} + +ZKeyframeSkelType ZKeyFrameLimbList::ParseLimbTypeStr(const std::string& typeStr) +{ + if (typeStr == "Flex") + return ZKeyframeSkelType::Flex; + else if (typeStr == "Normal") + return ZKeyframeSkelType::Normal; + else + return ZKeyframeSkelType::Error; +} + +void ZKeyFrameLimb::ParseRawData() +{ + const auto& rawData = parent->GetRawData(); + + dlist = BitConverter::ToUInt32BE(rawData, rawDataIndex + 0x0); + numChildren = BitConverter::ToUInt8BE(rawData, rawDataIndex + 0x4); + flags = BitConverter::ToUInt8BE(rawData, rawDataIndex + 0x5); +} + +void ZKeyFrameStandardLimb::ParseRawData() +{ + const auto& rawData = parent->GetRawData(); + + ZKeyFrameLimb::ParseRawData(); + translation.x = BitConverter::ToUInt16BE(rawData, rawDataIndex + 0x6); + translation.y = BitConverter::ToUInt16BE(rawData, rawDataIndex + 0x8); + translation.z = BitConverter::ToUInt16BE(rawData, rawDataIndex + 0xA); +} + +void ZKeyFrameFlexLimb::ParseRawData() +{ + const auto& rawData = parent->GetRawData(); + + ZKeyFrameLimb::ParseRawData(); + callbackIndex = BitConverter::ToUInt8BE(rawData, rawDataIndex + 0x6); +} + +void ZKeyFrameLimbList::ParseRawData() +{ + limbs.reserve(numLimbs); + rawDataIndex = GetRawDataIndex(); + + for (uint32_t i = 0; i < numLimbs; i++) + { + ZKeyFrameLimb* limb; + if (limbType == ZKeyframeSkelType::Flex) + limb = new ZKeyFrameFlexLimb(parent); + else + limb = new ZKeyFrameStandardLimb(parent); + + limb->SetRawDataIndex(rawDataIndex + (offset_t)(i * limb->GetRawDataSize())); + limb->ParseRawData(); + limbs.push_back(limb); + } +} + +std::string ZKeyFrameLimbList::GetBodySourceCode() const +{ + std::string declaration; + + for (const auto l : limbs) + declaration += StringHelper::Sprintf("\t{ %s },\n", l->GetBodySourceCode().c_str()); + // Remove last newline + return declaration.substr(0, declaration.length() - 1); +} + +std::string ZKeyFrameStandardLimb::GetBodySourceCode() const +{ + std::string declaration; + std::string dlString; + + Globals::Instance->GetSegmentedArrayIndexedName(dlist, 8, parent, "Gfx", dlString); + + declaration += + StringHelper::Sprintf("%s, 0x%02X, 0x%02X, { 0x%04X, 0x%04X, 0x%04X},", dlString.c_str(), + numChildren, flags, translation.x, translation.y, translation.z); + return declaration; +} + +std::string ZKeyFrameFlexLimb::GetBodySourceCode() const +{ + std::string declaration; + + std::string dlString; + + Globals::Instance->GetSegmentedArrayIndexedName(dlist, 8, parent, "Gfx", dlString); + + declaration += StringHelper::Sprintf("%s, 0x%02X, 0x%02X, 0x%02X", dlString.c_str(), + numChildren, flags, callbackIndex); + return declaration; +} + +std::string ZKeyFrameStandardLimb::GetSourceTypeName() const +{ + return "KeyFrameStandardLimb"; +} + +std::string ZKeyFrameFlexLimb::GetSourceTypeName() const +{ + return "KeyFrameFlexLimb"; +} + +std::string ZKeyFrameLimbList::GetSourceTypeName() const +{ + switch (limbType) + { + case ZKeyframeSkelType::Flex: + return "KeyFrameFlexLimb"; + case ZKeyframeSkelType::Normal: + return "KeyFrameStandardLimb"; + default: + HANDLE_ERROR_RESOURCE(WarningType::InvalidXML, parent, this, rawDataIndex, + "Invalid limb type", ""); + break; + } +} + +ZResourceType ZKeyFrameStandardLimb::GetResourceType() const +{ + return ZResourceType::KeyFrameStandardLimb; +} + +ZResourceType ZKeyFrameFlexLimb::GetResourceType() const +{ + return ZResourceType::KeyFrameFlexLimb; +} + +ZResourceType ZKeyFrameLimbList::GetResourceType() const +{ + switch (limbType) + { + case ZKeyframeSkelType::Flex: + return ZResourceType::KeyFrameFlexLimb; + case ZKeyframeSkelType::Normal: + return ZResourceType::KeyFrameStandardLimb; + default: + HANDLE_ERROR_RESOURCE(WarningType::InvalidXML, parent, this, rawDataIndex, + "Invalid limb type", ""); + break; + } +} diff --git a/tools/ZAPD/ZAPD/ZCKeyFrame.h b/tools/ZAPD/ZAPD/ZCKeyFrame.h new file mode 100644 index 0000000000..417d7cc686 --- /dev/null +++ b/tools/ZAPD/ZAPD/ZCKeyFrame.h @@ -0,0 +1,121 @@ +#pragma once + +#include +#include +#include +#include + +#include "ZFile.h" + +class ZKeyFrameLimb; + +struct Vec3s +{ + int16_t x; + int16_t y; + int16_t z; +}; + +enum class ZKeyframeSkelType +{ + Normal, + Flex, + Error, +}; + +class ZKeyFrameLimbList : public ZResource +{ +public: + ZKeyFrameLimbList(); + ZKeyFrameLimbList(ZFile* nParent); + ZKeyFrameLimbList(ZFile* nParent, uint32_t limbCount, ZKeyframeSkelType type); + + ~ZKeyFrameLimbList(); + + void ParseRawData() override; + + std::string GetBodySourceCode() const override; + void ParseXML(tinyxml2::XMLElement* reader) override; + + std::string GetSourceTypeName() const override; + ZResourceType GetResourceType() const override; + + size_t GetRawDataSize() const override; + + static ZKeyframeSkelType ParseLimbTypeStr(const std::string& typeStr); + + std::vector limbs; + ZKeyframeSkelType limbType; + uint8_t numLimbs; +}; + +class ZKeyFrameLimb : public ZResource +{ +public: + segptr_t dlist; + uint8_t numChildren; + uint8_t flags; + + ZKeyFrameLimb(ZFile* nParent); + void ParseRawData() override; +}; + +class ZKeyFrameStandardLimb : public ZKeyFrameLimb +{ +public: + Vec3s translation; + + ZKeyFrameStandardLimb(ZFile* nParent); + void ParseRawData() override; + + std::string GetBodySourceCode() const override; + + + std::string GetSourceTypeName() const override; + ZResourceType GetResourceType() const override; + + size_t GetRawDataSize() const override; +}; + +class ZKeyFrameFlexLimb : public ZKeyFrameLimb +{ +public: + uint8_t callbackIndex; + + ZKeyFrameFlexLimb(ZFile* nParent); + // void ParseXML(tinyxml2::XMLElement* reader) override; + void ParseRawData() override; + + std::string GetBodySourceCode() const override; + + // std::string GetSourceOutputHeader(const std::string& prefix) override; + + std::string GetSourceTypeName() const override; + ZResourceType GetResourceType() const override; + + size_t GetRawDataSize() const override; +}; + +class ZKeyFrameSkel : public ZResource +{ +public: + std::unique_ptr limbList; + segptr_t limbsPtr; + ZKeyframeSkelType limbType; + uint8_t limbCount; + uint8_t dListCount; + + ZKeyFrameSkel(ZFile* nParent); + ~ZKeyFrameSkel(); + + void ParseXML(tinyxml2::XMLElement* reader) override; + void ParseRawData() override; + void DeclareReferences(const std::string& prefix) override; + + std::string GetBodySourceCode() const override; + + std::string GetSourceTypeName() const override; + ZResourceType GetResourceType() const override; + + size_t GetRawDataSize() const override; +}; diff --git a/tools/ZAPD/ZAPD/ZCKeyFrameAnim.cpp b/tools/ZAPD/ZAPD/ZCKeyFrameAnim.cpp new file mode 100644 index 0000000000..0b07471333 --- /dev/null +++ b/tools/ZAPD/ZAPD/ZCKeyFrameAnim.cpp @@ -0,0 +1,219 @@ +#include "ZCkeyFrameAnim.h" +#include "ZCKeyFrame.h" +#include "Globals.h" + +#include "Utils/BitConverter.h" + +REGISTER_ZFILENODE(KeyFrameAnimation, ZKeyFrameAnim); + +ZKeyFrameAnim::ZKeyFrameAnim(ZFile* nParent) : ZResource(nParent) +{ + RegisterRequiredAttribute("Skel"); +} + +ZKeyFrameAnim::~ZKeyFrameAnim() +{ +} + +void ZKeyFrameAnim::ParseXML(tinyxml2::XMLElement* reader) +{ + ZResource::ParseXML(reader); + + std::string skelAddrStr = registeredAttributes.at("Skel").value; + skelOffset = (offset_t)StringHelper::StrToL(skelAddrStr, 16); +} + +void ZKeyFrameAnim::DeclareReferencesLate(const std::string& prefix) +{ + std::string defaultPrefix = name; + std::string declaration; + + if (defaultPrefix == "") + defaultPrefix = prefix; + + ZResource::DeclareReferences(defaultPrefix); + + declaration += "\t"; + + if (skel->limbType == ZKeyframeSkelType::Normal) + { + for (const auto b : bitFlags) + { + declaration += StringHelper::Sprintf("0x%02X, ", b); + parent->AddDeclarationArray( + GETSEGOFFSET(bitFlagsAddr), DeclarationAlignment::Align4, bitFlags.size(), "u8", + StringHelper::Sprintf("%s_bitFlags_%06X", prefix.c_str(), rawDataIndex), + bitFlags.size(), declaration); + } + } + else + { + for (const auto b : bitFlagsFlex) + { + declaration += StringHelper::Sprintf("0x%04X, ", b); + parent->AddDeclarationArray( + GETSEGOFFSET(bitFlagsAddr), DeclarationAlignment::Align4, bitFlagsFlex.size() * 2, + "u16", StringHelper::Sprintf("%s_flexBitFlags_%06X", prefix.c_str(), rawDataIndex), + bitFlagsFlex.size(), declaration); + } + } + declaration.clear(); + + for (const auto kf : keyFrames) + { + declaration += + StringHelper::Sprintf(" \t { %i, %i, %i, },\n", kf.frame, kf.value, kf.velocity); + } + // Remove last new line to prevent an extra line after the last element + declaration = declaration.substr(0, declaration.length() - 1); + parent->AddDeclarationArray( + GETSEGOFFSET(keyFramesAddr), DeclarationAlignment::Align4, keyFrames.size() * 6, "KeyFrame", + StringHelper::Sprintf("%s_KeyFrame_%06X", prefix.c_str(), rawDataIndex), keyFrames.size(), + declaration); + + declaration.clear(); + + declaration += "\t"; + + for (const auto kfNum : kfNums) + { + declaration += StringHelper::Sprintf("0x%04X, ", kfNum); + } + + parent->AddDeclarationArray( + GETSEGOFFSET(kfNumsAddr), DeclarationAlignment::Align4, kfNums.size() * 2, "s16", + StringHelper::Sprintf("%s_kfNums_%06X", prefix.c_str(), rawDataIndex), kfNums.size(), + declaration); + declaration += "\n"; + + declaration.clear(); + + declaration += "\t"; + + for (const auto pv : presetValues) + { + declaration += StringHelper::Sprintf("0x%04X, ", pv); + } + declaration += "\n"; + parent->AddDeclarationArray( + GETSEGOFFSET(presentValuesAddr), DeclarationAlignment::Align4, presetValues.size() * 2, + "s16", StringHelper::Sprintf("%s_presetValues_%06X", prefix.c_str(), rawDataIndex), + presetValues.size(), declaration); + +} + +// ParseRawDataLate is used because we need to make sure the flex skel has been processed first. +void ZKeyFrameAnim::ParseRawDataLate() +{ + const auto& rawData = parent->GetRawData(); + + skel = static_cast(parent->FindResource(skelOffset)); + size_t numLimbs = skel->limbCount; + + bitFlagsAddr = BitConverter::ToUInt32BE(rawData, rawDataIndex + 0x0); + keyFramesAddr = BitConverter::ToUInt32BE(rawData, rawDataIndex + 0x4); + kfNumsAddr = BitConverter::ToUInt32BE(rawData, rawDataIndex + 0x8); + presentValuesAddr = BitConverter::ToUInt32BE(rawData, rawDataIndex + 0xC); + + uint32_t kfNumsSize = 0; + uint32_t presetValuesSize = 0; + uint32_t keyFramesCount = 0; + if (skel->limbType == ZKeyframeSkelType::Normal) + { + bitFlags.reserve(numLimbs); + for (size_t i = 0; i < numLimbs; i++) + { + uint8_t e = BitConverter::ToUInt8BE(rawData, GETSEGOFFSET(bitFlagsAddr) + i); + bitFlags.push_back(e); + kfNumsSize += GetSetBits((uint8_t)(e & 0b111111)); + presetValuesSize += GetSetBits((uint8_t)((e ^ 0xFF) & 0b111111)); + } + } + else + { + bitFlagsFlex.reserve(numLimbs); + for (size_t i = 0; i < numLimbs; i++) + { + uint16_t e = BitConverter::ToUInt16BE(rawData, GETSEGOFFSET(bitFlagsAddr) + (i * 2)); + bitFlagsFlex.push_back(e); + kfNumsSize += GetSetBits((uint16_t)(e & 0b111111111)); + presetValuesSize += GetSetBits((uint16_t)((e ^ 0xFFFF) & 0b111111111)); + } + } + + kfNums.reserve(kfNumsSize); + for (uint32_t i = 0; i < kfNumsSize; i++) + { + int16_t kfNum = BitConverter::ToUInt16BE(rawData, GETSEGOFFSET(kfNumsAddr) + (i * 2)); + keyFramesCount += kfNum; + kfNums.push_back(kfNum); + } + + keyFrames.reserve(keyFramesCount); + for (uint32_t i = 0; i < keyFramesCount; i++) + { + KeyFrame kf; + kf.frame = BitConverter::ToInt16BE(rawData, (GETSEGOFFSET(keyFramesAddr) + 0) + (i * 6)); + kf.value = BitConverter::ToInt16BE(rawData, (GETSEGOFFSET(keyFramesAddr) + 2) + (i * 6)); + kf.velocity = BitConverter::ToInt16BE(rawData, (GETSEGOFFSET(keyFramesAddr) + 4) + (i * 6)); + keyFrames.push_back(kf); + } + + presetValues.reserve(presetValuesSize); + for (uint32_t i = 0; i < presetValuesSize; i++) + { + presetValues.push_back( + BitConverter::ToInt16BE(rawData, GETSEGOFFSET(presentValuesAddr) + (i * 2))); + } + + unk_10 = BitConverter::ToInt16BE(rawData, GETSEGOFFSET(rawDataIndex) + 0x10); + duration = BitConverter::ToInt16BE(rawData, GETSEGOFFSET(rawDataIndex) + 0x12); +} + +std::string ZKeyFrameAnim::GetBodySourceCode() const +{ + std::string declaration; + + std::string bitFlagsStr; + std::string keyFrameStr; + std::string kfNumsStr; + std::string presetValuesStr; + + Globals::Instance->GetSegmentedPtrName(bitFlagsAddr, parent, "", bitFlagsStr); + Globals::Instance->GetSegmentedPtrName(keyFramesAddr, parent, "", keyFrameStr); + Globals::Instance->GetSegmentedPtrName(kfNumsAddr, parent, "", kfNumsStr); + Globals::Instance->GetSegmentedPtrName(presentValuesAddr, parent, "", presetValuesStr); + + return StringHelper::Sprintf("\n\t%s, %s, %s, %s, 0x%04X, 0x%04X\n", bitFlagsStr.c_str(), + keyFrameStr.c_str(), kfNumsStr.c_str(), presetValuesStr.c_str(), + unk_10, duration); +} + +std::string ZKeyFrameAnim::GetSourceTypeName() const +{ + return "KeyFrameAnimation"; +} + +ZResourceType ZKeyFrameAnim::GetResourceType() const +{ + return ZResourceType::KeyFrameAnimation; +} + +size_t ZKeyFrameAnim::GetRawDataSize() const +{ + return 0x14; +} + +template +uint32_t ZKeyFrameAnim::GetSetBits(T data) const +{ + uint32_t num = 0; + + for (size_t i = 0; i < sizeof(T) * 8; i++) + { + if ((data >> i) & 1) + num++; + } + + return num; +} \ No newline at end of file diff --git a/tools/ZAPD/ZAPD/ZCkeyFrameAnim.h b/tools/ZAPD/ZAPD/ZCkeyFrameAnim.h new file mode 100644 index 0000000000..64f95b13ae --- /dev/null +++ b/tools/ZAPD/ZAPD/ZCkeyFrameAnim.h @@ -0,0 +1,52 @@ +#pragma once +#include +#include +#include +#include + +#include "ZFile.h" + +class ZKeyFrameSkel; + +typedef struct +{ + int16_t frame; + int16_t value; + int16_t velocity; +} KeyFrame; + +class ZKeyFrameAnim : public ZResource +{ +public: + ZKeyFrameSkel* skel; + std::vector bitFlags; // Standard only + std::vector bitFlagsFlex; // Flex only + + std::vector keyFrames; + std::vector kfNums; + std::vector presetValues; + + uint16_t unk_10; + int16_t duration; + + ZKeyFrameAnim(ZFile* nParent); + ~ZKeyFrameAnim(); + void ParseXML(tinyxml2::XMLElement* reader) override; + void DeclareReferencesLate(const std::string& prefix) override; + void ParseRawDataLate() override; + std::string GetBodySourceCode() const override; + + std::string GetSourceTypeName() const override; + ZResourceType GetResourceType() const override; + + size_t GetRawDataSize() const override; + +private: + offset_t skelOffset; + segptr_t bitFlagsAddr; + segptr_t keyFramesAddr; + segptr_t kfNumsAddr; + segptr_t presentValuesAddr; + template + uint32_t GetSetBits(T data) const; +}; diff --git a/tools/ZAPD/ZAPD/ZCutscene.cpp b/tools/ZAPD/ZAPD/ZCutscene.cpp index ea723b2953..4cf375997a 100644 --- a/tools/ZAPD/ZAPD/ZCutscene.cpp +++ b/tools/ZAPD/ZAPD/ZCutscene.cpp @@ -323,7 +323,7 @@ CutsceneCommand* ZCutscene::GetCommandMM(uint32_t id, offset_t currentPtr) const return new CutsceneMMCommand_Text(rawData, currentPtr); case CutsceneMM_CommandType::CS_CMD_CAMERA_SPLINE: - return new CutsceneMMCommand_Camera(rawData, currentPtr); + return new CutsceneMMCommand_Spline(rawData, currentPtr); case CutsceneMM_CommandType::CS_CMD_TRANSITION_GENERAL: return new CutsceneMMCommand_TransitionGeneral(rawData, currentPtr); @@ -372,3 +372,36 @@ ZResourceType ZCutscene::GetResourceType() const { return ZResourceType::Cutscene; } + +std::string ZCutscene::GetCsEncodedFloat(float f, CsFloatType type, bool useSciNotation) +{ + switch (type) + { + default: + // This default case will NEVER be reached, but GCC still gives a warning. + case CsFloatType::HexOnly: + { + uint32_t i; + std::memcpy(&i, &f, sizeof(i)); + return StringHelper::Sprintf("0x%08X", i); + } + case CsFloatType::FloatOnly: + { + if (useSciNotation) + { + return StringHelper::Sprintf("%.8ef", f); + } + return StringHelper::Sprintf("%ff", f); + } + case CsFloatType::HexAndFloat: + { + uint32_t i; + std::memcpy(&i, &f, sizeof(i)); + if (useSciNotation) + { + return StringHelper::Sprintf("CS_FLOAT(0x%08X, %.8ef)", i, f); + } + return StringHelper::Sprintf("CS_FLOAT(0x%08X, %ff)", i, f); + } + } +} diff --git a/tools/ZAPD/ZAPD/ZCutscene.h b/tools/ZAPD/ZAPD/ZCutscene.h index 5b54426cea..5dbf475c33 100644 --- a/tools/ZAPD/ZAPD/ZCutscene.h +++ b/tools/ZAPD/ZAPD/ZCutscene.h @@ -10,6 +10,8 @@ #include "ZFile.h" #include "ZResource.h" +enum class CsFloatType; + class ZCutscene : public ZResource { public: @@ -27,6 +29,8 @@ public: std::string GetSourceTypeName() const override; ZResourceType GetResourceType() const override; + static std::string GetCsEncodedFloat(float f, CsFloatType type, bool useSciNotation); + int32_t numCommands; int32_t endFrame; std::vector commands; diff --git a/tools/ZAPD/ZAPD/ZResource.h b/tools/ZAPD/ZAPD/ZResource.h index 9754013984..768b785441 100644 --- a/tools/ZAPD/ZAPD/ZResource.h +++ b/tools/ZAPD/ZAPD/ZResource.h @@ -55,6 +55,10 @@ enum class ZResourceType Vector, Vertex, Waterbox, + KeyFrameFlexLimb, + KeyFrameStandardLimb, + KeyFrameSkel, + KeyFrameAnimation, }; class ResourceAttribute diff --git a/tools/bss_reordering.py b/tools/bss_reordering.py new file mode 100755 index 0000000000..d0eb77fc6e --- /dev/null +++ b/tools/bss_reordering.py @@ -0,0 +1,210 @@ +#!/usr/bin/env python3 + +# SPDX-FileCopyrightText: 2024 zeldaret +# SPDX-License-Identifier: CC0-1.0 + + +from __future__ import annotations + +import argparse +import dataclasses +import enum +from pathlib import Path +import sys +from typing import BinaryIO + +import elftools.elf.elffile +import mapfile_parser.mapfile + + +@dataclasses.dataclass +class Reloc: + name: str + offset_32: int | None + offset_hi16: int | None + offset_lo16: int | None + addend: int + + +@dataclasses.dataclass +class Pointer: + name: str + addend: int + base_value: int + build_value: int + + +def read_relocs(object_path: Path, section_name: str) -> list[Reloc]: + with open(object_path, "rb") as f: + elffile = elftools.elf.elffile.ELFFile(f) + symtab = elffile.get_section_by_name(".symtab") + data = elffile.get_section_by_name(section_name).data() + + reloc_section = elffile.get_section_by_name(f".rel{section_name}") + if reloc_section is None: + return [] + + relocs = [] + offset_hi16 = 0 + for reloc in reloc_section.iter_relocations(): + reloc_offset = reloc.entry["r_offset"] + reloc_type = reloc.entry["r_info_type"] + reloc_name = symtab.get_symbol(reloc.entry["r_info_sym"]).name + + if reloc_type == 2: # R_MIPS_32 + offset_32 = reloc_offset + addend = int.from_bytes( + data[reloc_offset : reloc_offset + 4], "big", signed=True + ) + relocs.append(Reloc(reloc_name, offset_32, None, None, addend)) + elif reloc_type == 4: # R_MIPS_26 + pass + elif reloc_type == 5: # R_MIPS_HI16 + offset_hi16 = reloc_offset + elif reloc_type == 6: # R_MIPS_LO16 + offset_lo16 = reloc_offset + addend_hi16 = int.from_bytes( + data[offset_hi16 + 2 : offset_hi16 + 4], "big", signed=False + ) + addend_lo16 = int.from_bytes( + data[offset_lo16 + 2 : offset_lo16 + 4], "big", signed=True + ) + addend = (addend_hi16 << 16) + addend_lo16 + relocs.append(Reloc(reloc_name, None, offset_hi16, offset_lo16, addend)) + else: + raise NotImplementedError(f"Unsupported relocation type: {reloc_type}") + + return relocs + + +def read_u32(f: BinaryIO, offset: int) -> int: + f.seek(offset) + return int.from_bytes(f.read(4), "big") + + +def read_u16(f: BinaryIO, offset: int) -> int: + f.seek(offset) + return int.from_bytes(f.read(2), "big") + + +def read_s16(f: BinaryIO, offset: int) -> int: + f.seek(offset) + return int.from_bytes(f.read(2), "big", signed=True) + + +def main(): + parser = argparse.ArgumentParser( + description="Report BSS reorderings between the baserom and the current build " + "by parsing relocations from the built object files and comparing their final values " + "between the baserom and the current build. " + "Assumes that the only differences are due to BSS ordering." + ) + parser.add_argument( + "--oot-version", + "-v", + type=str, + default="gc-eu-mq-dbg", + help="OOT version (default: gc-eu-mq-dbg)", + ) + parser.add_argument( + "--segment", + type=str, + help="ROM segment to check, e.g. 'boot', 'code', or 'ovl_player_actor' (default: all)", + ) + + args = parser.parse_args() + version = args.oot_version + + mapfile = mapfile_parser.mapfile.MapFile() + mapfile.readMapFile(f"build/{version}/oot-{version}.map") + + reloc_mapfile_segments = [] + for mapfile_segment in mapfile: + if args.segment and mapfile_segment.name != f"..{args.segment}": + continue + if not ( + mapfile_segment.name == "..boot" + or mapfile_segment.name == "..code" + or ( + mapfile_segment.name.startswith("..ovl_") + and not mapfile_segment.name.endswith(".bss") + ) + ): + continue + reloc_mapfile_segments.append(mapfile_segment) + + base = open(f"baseroms/{version}/baserom-decompressed.z64", "rb") + build = open(f"build/{version}/oot-{version}.z64", "rb") + + # Find all pointers with different values + pointers = [] + for mapfile_segment in reloc_mapfile_segments: + for file in mapfile_segment: + if not str(file.filepath).endswith(".o"): + continue + for reloc in read_relocs(file.filepath, file.sectionType): + if reloc.offset_32 is not None: + base_value = read_u32(base, file.vrom + reloc.offset_32) + build_value = read_u32(build, file.vrom + reloc.offset_32) + elif reloc.offset_hi16 is not None and reloc.offset_lo16 is not None: + if read_u16(base, file.vrom + reloc.offset_hi16) != read_u16( + build, file.vrom + reloc.offset_hi16 + ) or read_u16(base, file.vrom + reloc.offset_hi16) != read_u16( + build, file.vrom + reloc.offset_hi16 + ): + print( + f"Error: Relocation for {reloc.name} in {file.filepath} references a shifted portion of the ROM.\n" + "Please ensure that the only differences between the baserom and the current build are due to BSS reordering.", + file=sys.stderr, + ) + sys.exit(1) + + base_value = ( + read_u16(base, file.vrom + reloc.offset_hi16 + 2) << 16 + ) + read_s16(base, file.vrom + reloc.offset_lo16 + 2) + build_value = ( + read_u16(build, file.vrom + reloc.offset_hi16 + 2) << 16 + ) + read_s16(build, file.vrom + reloc.offset_lo16 + 2) + else: + assert False, "Invalid relocation" + + if base_value != build_value: + pointers.append( + Pointer(reloc.name, reloc.addend, base_value, build_value) + ) + + # Remove duplicates and sort by baserom address + pointers = list({p.base_value: p for p in pointers}.values()) + pointers.sort(key=lambda p: p.base_value) + + # Go through BSS sections and report differences + i = 0 + for mapfile_segment in mapfile: + for file in mapfile_segment: + if not file.sectionType == ".bss": + continue + + pointers_in_section = [ + p for p in pointers if file.vram <= p.build_value < file.vram + file.size + ] + if not pointers_in_section: + continue + + print(f"{file.filepath} BSS is reordered:") + for i, p in enumerate(pointers_in_section): + if p.addend > 0: + addend_str = f"+0x{p.addend:X}" + elif p.addend < 0: + addend_str = f"-0x{-p.addend:X}" + else: + addend_str = "" + + if i > 0 and p.build_value < pointers_in_section[i - 1].build_value: + print(" --------------------") # BSS wraps around + print( + f" {p.base_value:08X} -> {p.build_value:08X} {p.name}{addend_str}" + ) + + +if __name__ == "__main__": + main() diff --git a/tools/csdis.py b/tools/csdis.py index 2ecbf32318..cca1e1fec4 100755 --- a/tools/csdis.py +++ b/tools/csdis.py @@ -1,16 +1,19 @@ #!/usr/bin/env python3 +# Disassemble a cutscene script + from overlayhelpers import filemap import argparse, os, struct +import math """ Enumerations """ -command_continue_stop = { - 0x00: "CS_CMD_CONTINUE", - 0xFF: "CS_CMD_STOP", +cscam_continue_stop = { + 0x00: "CS_CAM_CONTINUE", + 0xFF: "CS_CAM_STOP", } cutscene_destinations = { @@ -189,6 +192,264 @@ ocarina_action_ids = { 0x31: "OCARINA_ACTION_CHECK_NOWARP_DONE", } +sequence_ids = { + 0x00: "NA_BGM_GENERAL_SFX", + 0x01: "NA_BGM_NATURE_AMBIENCE", + 0x02: "NA_BGM_FIELD_LOGIC", + 0x03: "NA_BGM_FIELD_INIT", + 0x04: "NA_BGM_FIELD_DEFAULT_1", + 0x05: "NA_BGM_FIELD_DEFAULT_2", + 0x06: "NA_BGM_FIELD_DEFAULT_3", + 0x07: "NA_BGM_FIELD_DEFAULT_4", + 0x08: "NA_BGM_FIELD_DEFAULT_5", + 0x09: "NA_BGM_FIELD_DEFAULT_6", + 0x0A: "NA_BGM_FIELD_DEFAULT_7", + 0x0B: "NA_BGM_FIELD_DEFAULT_8", + 0x0C: "NA_BGM_FIELD_DEFAULT_9", + 0x0D: "NA_BGM_FIELD_DEFAULT_A", + 0x0E: "NA_BGM_FIELD_DEFAULT_B", + 0x0F: "NA_BGM_FIELD_ENEMY_INIT", + 0x10: "NA_BGM_FIELD_ENEMY_1", + 0x11: "NA_BGM_FIELD_ENEMY_2", + 0x12: "NA_BGM_FIELD_ENEMY_3", + 0x13: "NA_BGM_FIELD_ENEMY_4", + 0x14: "NA_BGM_FIELD_STILL_1", + 0x15: "NA_BGM_FIELD_STILL_2", + 0x16: "NA_BGM_FIELD_STILL_3", + 0x17: "NA_BGM_FIELD_STILL_4", + 0x18: "NA_BGM_DUNGEON", + 0x19: "NA_BGM_KAKARIKO_ADULT", + 0x1A: "NA_BGM_ENEMY", + 0x1B: "NA_BGM_BOSS", + 0x1C: "NA_BGM_INSIDE_DEKU_TREE", + 0x1D: "NA_BGM_MARKET", + 0x1E: "NA_BGM_TITLE", + 0x1F: "NA_BGM_LINK_HOUSE", + 0x20: "NA_BGM_GAME_OVER", + 0x21: "NA_BGM_BOSS_CLEAR", + 0x22: "NA_BGM_ITEM_GET", + 0x23: "NA_BGM_OPENING_GANON", + 0x24: "NA_BGM_HEART_GET", + 0x25: "NA_BGM_OCA_LIGHT", + 0x26: "NA_BGM_JABU_JABU", + 0x27: "NA_BGM_KAKARIKO_KID", + 0x28: "NA_BGM_GREAT_FAIRY", + 0x29: "NA_BGM_ZELDA_THEME", + 0x2A: "NA_BGM_FIRE_TEMPLE", + 0x2B: "NA_BGM_OPEN_TRE_BOX", + 0x2C: "NA_BGM_FOREST_TEMPLE", + 0x2D: "NA_BGM_COURTYARD", + 0x2E: "NA_BGM_GANON_TOWER", + 0x2F: "NA_BGM_LONLON", + 0x30: "NA_BGM_GORON_CITY", + 0x31: "NA_BGM_FIELD_MORNING", + 0x32: "NA_BGM_SPIRITUAL_STONE", + 0x33: "NA_BGM_OCA_BOLERO", + 0x34: "NA_BGM_OCA_MINUET", + 0x35: "NA_BGM_OCA_SERENADE", + 0x36: "NA_BGM_OCA_REQUIEM", + 0x37: "NA_BGM_OCA_NOCTURNE", + 0x38: "NA_BGM_MINI_BOSS", + 0x39: "NA_BGM_SMALL_ITEM_GET", + 0x3A: "NA_BGM_TEMPLE_OF_TIME", + 0x3B: "NA_BGM_EVENT_CLEAR", + 0x3C: "NA_BGM_KOKIRI", + 0x3D: "NA_BGM_OCA_FAIRY_GET", + 0x3E: "NA_BGM_SARIA_THEME", + 0x3F: "NA_BGM_SPIRIT_TEMPLE", + 0x40: "NA_BGM_HORSE", + 0x41: "NA_BGM_HORSE_GOAL", + 0x42: "NA_BGM_INGO", + 0x43: "NA_BGM_MEDALLION_GET", + 0x44: "NA_BGM_OCA_SARIA", + 0x45: "NA_BGM_OCA_EPONA", + 0x46: "NA_BGM_OCA_ZELDA", + 0x47: "NA_BGM_OCA_SUNS", + 0x48: "NA_BGM_OCA_TIME", + 0x49: "NA_BGM_OCA_STORM", + 0x4A: "NA_BGM_NAVI_OPENING", + 0x4B: "NA_BGM_DEKU_TREE_CS", + 0x4C: "NA_BGM_WINDMILL", + 0x4D: "NA_BGM_HYRULE_CS", + 0x4E: "NA_BGM_MINI_GAME", + 0x4F: "NA_BGM_SHEIK", + 0x50: "NA_BGM_ZORA_DOMAIN", + 0x51: "NA_BGM_APPEAR", + 0x52: "NA_BGM_ADULT_LINK", + 0x53: "NA_BGM_MASTER_SWORD", + 0x54: "NA_BGM_INTRO_GANON", + 0x55: "NA_BGM_SHOP", + 0x56: "NA_BGM_CHAMBER_OF_SAGES", + 0x57: "NA_BGM_FILE_SELECT", + 0x58: "NA_BGM_ICE_CAVERN", + 0x59: "NA_BGM_DOOR_OF_TIME", + 0x5A: "NA_BGM_OWL", + 0x5B: "NA_BGM_SHADOW_TEMPLE", + 0x5C: "NA_BGM_WATER_TEMPLE", + 0x5D: "NA_BGM_BRIDGE_TO_GANONS", + 0x5E: "NA_BGM_OCARINA_OF_TIME", + 0x5F: "NA_BGM_GERUDO_VALLEY", + 0x60: "NA_BGM_POTION_SHOP", + 0x61: "NA_BGM_KOTAKE_KOUME", + 0x62: "NA_BGM_ESCAPE", + 0x63: "NA_BGM_UNDERGROUND", + 0x64: "NA_BGM_GANONDORF_BOSS", + 0x65: "NA_BGM_GANON_BOSS", + 0x66: "NA_BGM_END_DEMO", + 0x67: "NA_BGM_STAFF_1", + 0x68: "NA_BGM_STAFF_2", + 0x69: "NA_BGM_STAFF_3", + 0x6A: "NA_BGM_STAFF_4", + 0x6B: "NA_BGM_FIRE_BOSS", + 0x6C: "NA_BGM_TIMED_MINI_GAME", + 0x6D: "NA_BGM_CUTSCENE_EFFECTS", + 0x7F: "NA_BGM_NO_MUSIC", + 0x80: "NA_BGM_NATURE_SFX_RAIN", + 0xFFFF: "NA_BGM_DISABLED", +} + +cutscene_misc_types = { + 0x00: "CS_MISC_UNIMPLEMENTED_0", + 0x01: "CS_MISC_RAIN", + 0x02: "CS_MISC_LIGHTNING", + 0x03: "CS_MISC_SET_CSFLAG_0", + 0x04: "CS_MISC_UNIMPLEMENTED_4", + 0x05: "CS_MISC_UNIMPLEMENTED_5", + 0x06: "CS_MISC_LIFT_FOG", + 0x07: "CS_MISC_CLOUDY_SKY", + 0x08: "CS_MISC_FADE_KOKIRI_GRASS_ENV_ALPHA", + 0x09: "CS_MISC_SNOW", + 0x0A: "CS_MISC_SET_CSFLAG_1", + 0x0B: "CS_MISC_DEKU_TREE_DEATH", + 0x0C: "CS_MISC_STOP_CUTSCENE", + 0x0D: "CS_MISC_TRIFORCE_FLASH", + 0x0E: "CS_MISC_SET_LOCKED_VIEWPOINT", + 0x0F: "CS_MISC_SHOW_TITLE_CARD", + 0x10: "CS_MISC_QUAKE_START", + 0x11: "CS_MISC_QUAKE_STOP", + 0x12: "CS_MISC_STOP_STORM_AND_ADVANCE_TO_DAY", + 0x13: "CS_MISC_SET_FLAG_FAST_WINDMILL", + 0x14: "CS_MISC_SET_FLAG_WELL_DRAINED", + 0x15: "CS_MISC_SET_FLAG_LAKE_HYLIA_RESTORED", + 0x16: "CS_MISC_VISMONO_BLACK_AND_WHITE", + 0x17: "CS_MISC_VISMONO_SEPIA", + 0x18: "CS_MISC_HIDE_ROOM", + 0x19: "CS_MISC_TIME_ADVANCE_TO_NIGHT", + 0x1A: "CS_MISC_SET_TIME_BASED_LIGHT_SETTING", + 0x1B: "CS_MISC_RED_PULSATING_LIGHTS", + 0x1C: "CS_MISC_HALT_ALL_ACTORS", + 0x1D: "CS_MISC_RESUME_ALL_ACTORS", + 0x1E: "CS_MISC_SET_CSFLAG_3", + 0x1F: "CS_MISC_SET_CSFLAG_4", + 0x20: "CS_MISC_SANDSTORM_FILL", + 0x21: "CS_MISC_SUNSSONG_START", + 0x22: "CS_MISC_FREEZE_TIME", + 0x23: "CS_MISC_LONG_SCARECROW_SONG", +} + +cutscene_transition_types = { + 0x01: "CS_TRANS_GRAY_FILL_IN", + 0x02: "CS_TRANS_BLUE_FILL_IN", + 0x03: "CS_TRANS_RED_FILL_OUT", + 0x04: "CS_TRANS_GREEN_FILL_OUT", + 0x05: "CS_TRANS_GRAY_FILL_OUT", + 0x06: "CS_TRANS_BLUE_FILL_OUT", + 0x07: "CS_TRANS_RED_FILL_IN", + 0x08: "CS_TRANS_GREEN_FILL_IN", + 0x09: "CS_TRANS_TRIGGER_INSTANCE", + 0x0A: "CS_TRANS_BLACK_FILL_OUT", + 0x0B: "CS_TRANS_BLACK_FILL_IN", + 0x0C: "CS_TRANS_BLACK_FILL_OUT_TO_HALF", + 0x0D: "CS_TRANS_BLACK_FILL_IN_FROM_HALF", +} + +player_cue_ids = { + 0x00: "PLAYER_CUEID_NONE", + 0x01: "PLAYER_CUEID_1", + 0x02: "PLAYER_CUEID_2", + 0x03: "PLAYER_CUEID_3", + 0x04: "PLAYER_CUEID_4", + 0x05: "PLAYER_CUEID_5", + 0x06: "PLAYER_CUEID_6", + 0x07: "PLAYER_CUEID_7", + 0x08: "PLAYER_CUEID_8", + 0x09: "PLAYER_CUEID_9", + 0x0A: "PLAYER_CUEID_10", + 0x0B: "PLAYER_CUEID_11", + 0x0C: "PLAYER_CUEID_12", + 0x0D: "PLAYER_CUEID_13", + 0x0E: "PLAYER_CUEID_14", + 0x0F: "PLAYER_CUEID_15", + 0x10: "PLAYER_CUEID_16", + 0x11: "PLAYER_CUEID_17", + 0x12: "PLAYER_CUEID_18", + 0x13: "PLAYER_CUEID_19", + 0x14: "PLAYER_CUEID_20", + 0x15: "PLAYER_CUEID_21", + 0x16: "PLAYER_CUEID_22", + 0x17: "PLAYER_CUEID_23", + 0x18: "PLAYER_CUEID_24", + 0x19: "PLAYER_CUEID_25", + 0x1A: "PLAYER_CUEID_26", + 0x1B: "PLAYER_CUEID_27", + 0x1C: "PLAYER_CUEID_28", + 0x1D: "PLAYER_CUEID_29", + 0x1E: "PLAYER_CUEID_30", + 0x1F: "PLAYER_CUEID_31", + 0x20: "PLAYER_CUEID_32", + 0x21: "PLAYER_CUEID_33", + 0x22: "PLAYER_CUEID_34", + 0x23: "PLAYER_CUEID_35", + 0x24: "PLAYER_CUEID_36", + 0x25: "PLAYER_CUEID_37", + 0x26: "PLAYER_CUEID_38", + 0x27: "PLAYER_CUEID_39", + 0x28: "PLAYER_CUEID_40", + 0x29: "PLAYER_CUEID_41", + 0x2A: "PLAYER_CUEID_42", + 0x2B: "PLAYER_CUEID_43", + 0x2C: "PLAYER_CUEID_44", + 0x2D: "PLAYER_CUEID_45", + 0x2E: "PLAYER_CUEID_46", + 0x2F: "PLAYER_CUEID_47", + 0x30: "PLAYER_CUEID_48", + 0x31: "PLAYER_CUEID_49", + 0x32: "PLAYER_CUEID_50", + 0x33: "PLAYER_CUEID_51", + 0x34: "PLAYER_CUEID_52", + 0x35: "PLAYER_CUEID_53", + 0x36: "PLAYER_CUEID_54", + 0x37: "PLAYER_CUEID_55", + 0x38: "PLAYER_CUEID_56", + 0x39: "PLAYER_CUEID_57", + 0x3A: "PLAYER_CUEID_58", + 0x3B: "PLAYER_CUEID_59", + 0x3C: "PLAYER_CUEID_60", + 0x3D: "PLAYER_CUEID_61", + 0x3E: "PLAYER_CUEID_62", + 0x3F: "PLAYER_CUEID_63", + 0x40: "PLAYER_CUEID_64", + 0x41: "PLAYER_CUEID_65", + 0x42: "PLAYER_CUEID_66", + 0x43: "PLAYER_CUEID_67", + 0x44: "PLAYER_CUEID_68", + 0x45: "PLAYER_CUEID_69", + 0x46: "PLAYER_CUEID_70", + 0x47: "PLAYER_CUEID_71", + 0x48: "PLAYER_CUEID_72", + 0x49: "PLAYER_CUEID_73", + 0x4A: "PLAYER_CUEID_74", + 0x4B: "PLAYER_CUEID_75", + 0x4C: "PLAYER_CUEID_76", + 0x4D: "PLAYER_CUEID_77", + 0x4E: "PLAYER_CUEID_MAX", +} + +fade_out_seq_player = { + 0x03: "CS_FADE_OUT_FANFARE", + 0x04: "CS_FADE_OUT_BGM_MAIN", +} + """ Entry format: @@ -216,6 +477,7 @@ Argument format: s : decimal u : decimal unsigned x : hex + x-1 : hex but write the value read minus 1 f : float e : enumeration n : unique identifier of which enum to use @@ -226,19 +488,19 @@ cutscene_command_macros = { None, None), 3: ("CS_MISC_LIST(%w1:1:s)", 2, None, 0, - "CS_MISC(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x, %w1:10:x, %w1:11:x, %w1:12:x)", 12), + "CS_MISC(%h2:1:e4, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x, %w1:10:x, %w1:11:x, %w1:12:x)", 12), 4: ("CS_LIGHT_SETTING_LIST(%w1:1:s)", 2, None, 0, - "CS_LIGHT_SETTING(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x)", 12), + "CS_LIGHT_SETTING(%h2:1:x-1, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x)", 12), 86: ("CS_START_SEQ_LIST(%w1:1:s)", 2, None, 0, - "CS_START_SEQ(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x)", 12), + "CS_START_SEQ(%h2:1:e3, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x)", 12), 87: ("CS_STOP_SEQ_LIST(%w1:1:s)", 2, None, 0, - "CS_STOP_SEQ(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x)", 12), + "CS_STOP_SEQ(%h2:1:e3, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x)", 12), 124: ("CS_FADE_OUT_SEQ_LIST(%w1:1:s)", 2, None, 0, - "CS_FADE_OUT_SEQ(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x)", 12), + "CS_FADE_OUT_SEQ(%h2:1:e7, %h1:1:s, %h2:2:s, %h1:2:x, %w1:3:x, %w1:4:x, %w1:5:x, %w1:6:x, %w1:7:x, %w1:8:x, %w1:9:x)", 12), 9: ("CS_RUMBLE_CONTROLLER_LIST(%w1:1:s)", 2, None, 0, "CS_RUMBLE_CONTROLLER(%h2:1:x, %h1:1:s, %h2:2:s, %b2:2:x, %b1:2:x, %b4:3:x, %b3:3:x, %h1:3:x)", 3), @@ -247,7 +509,7 @@ cutscene_command_macros = { "CS_TIME(%h2:1:x, %h1:1:s, %h2:2:s, %b2:2:x, %b1:2:x, %w1:3:x)", 3), 10: ("CS_PLAYER_CUE_LIST(%w1:1:s)", 2, None, 0, - "CS_PLAYER_CUE(%h2:1:x, %h1:1:s, %h2:2:s, %h1:2:x, %h2:3:x, %h1:3:x, %w1:4:s, %w1:5:s, %w1:6:s, %w1:7:s, %w1:8:s, %w1:9:s, %w1:10:f, %w1:11:f, %w1:12:f)", 12), + "CS_PLAYER_CUE(%h2:1:e6, %h1:1:s, %h2:2:s, %h1:2:x, %h2:3:x, %h1:3:x, %w1:4:s, %w1:5:s, %w1:6:s, %w1:7:s, %w1:8:s, %w1:9:s, %w1:10:f, %w1:11:f, %w1:12:f)", 12), (15,17,18,23,34,39,46,76,85,93,105,107,110,119,123,138,139,144, # npc action 1 14,16,24,35,40,48,64,68,70,78,80,94,116,118,120,125,131,141, # npc action 2 25,36,41,50,67,69,72,74,81,106,117,121,126,132, # npc action 3 @@ -285,7 +547,7 @@ cutscene_command_macros = { ("CS_TEXT_LIST(%w1:1:s)", 2, None, 0, "__SPECIAL(CS_TEXT_LIST)", 3), 45: - ("CS_TRANSITION(%h2:2:x, %h1:2:s, %h2:3:s)", 4, None, None, + ("CS_TRANSITION(%h2:2:e5, %h1:2:s, %h2:3:s)", 4, None, None, None, None), } @@ -347,7 +609,17 @@ def get_word_unsigned(word): return struct.unpack(">I", struct.pack(">I", word))[0] def get_float(word): - return struct.unpack(">f", struct.pack(">i", word))[0] + word_bytes = struct.pack(">i", word) + v = struct.unpack(">f", word_bytes)[0] + if v == 0: + return v + ndigits = -math.ceil(math.log10(abs(v))) + while ndigits < 100: + v_rounded = round(v, ndigits) + if struct.pack(">f", v_rounded) == word_bytes: + return v_rounded + ndigits += 1 + return v """ Formatting @@ -387,19 +659,32 @@ def format_arg(arg, words): if "e" in format_type: enum_no = int(format_type[1]) if enum_no == 0: - result = command_continue_stop[unsigned_value] + result = cscam_continue_stop[unsigned_value] elif enum_no == 1: result = cutscene_destinations[unsigned_value] elif enum_no == 2: result = ocarina_action_ids[unsigned_value] + elif enum_no == 3: + result = sequence_ids[unsigned_value - 1] + elif enum_no == 4: + result = cutscene_misc_types[unsigned_value] + elif enum_no == 5: + result = cutscene_transition_types[unsigned_value] + elif enum_no == 6: + result = player_cue_ids[unsigned_value] + elif enum_no == 7: + result = fade_out_seq_player[unsigned_value] elif format_type == "u": result = str(value) elif format_type == "s": result = str(value) elif format_type == "x": result = "0x" + pad(hex(unsigned_value), pad_len).upper() + elif format_type == "x-1": + assert unsigned_value > 0 + result = "0x" + pad(hex(unsigned_value - 1), pad_len).upper() elif format_type == "f": - result = str(get_float(value))+"f" + result = f"CS_FLOAT(0x{unsigned_value:X}, {get_float(value)}f)" else: print("Something went wrong!") # TODO more debug info os._exit(1) @@ -496,7 +781,7 @@ def main(): script_dir = os.path.dirname(os.path.realpath(__file__)) cs_data = None - with open(script_dir + "/../baseroms/gc-eu-mq-dbg/segments/" + file_result.name, "rb") as ovl_file: + with open(script_dir + "/../extracted/gc-eu-mq-dbg/baserom/" + file_result.name, "rb") as ovl_file: ovl_file.seek(file_result.offset) cs_data = [i[0] for i in struct.iter_unpack(">I", bytearray(ovl_file.read()))] if cs_data is not None: diff --git a/tools/csdis_re.py b/tools/csdis_re.py new file mode 100644 index 0000000000..7bb284c45f --- /dev/null +++ b/tools/csdis_re.py @@ -0,0 +1,115 @@ +#!/usr/bin/env python3 + +# SPDX-FileCopyrightText: 2024 zeldaret +# SPDX-License-Identifier: CC0-1.0 + +# Re-disassemble cutscene scripts part of the source tree, +# using csdis.py and modifying files in-place + + +import re +from pathlib import Path +import struct + +import mapfile_parser + +import csdis +from overlayhelpers import filemap + + +SRC_ENCODING = "UTF-8" + +MAPFILE_P = Path("build/gc-eu-mq-dbg/oot-gc-eu-mq-dbg.map") +BASEROM_SEGMENTS_P = Path("extracted/gc-eu-mq-dbg/baserom/") + +HARDCODED_SYM_ROM = { + "D_8096C1A4": 0xD25834, + "D_80AF0880": 0xEA6860, + "D_80AF10A4": 0xEA7084, + "D_80AF1728": 0xEA7708, + "D_808BCE20": 0xC8BB20, + "D_808BD2A0": 0xC8BFA0, + "D_808BD520": 0xC8C220, + "D_808BD790": 0xC8C490, + "D_80AB431C": 0xE6A38C, + "D_8098786C": 0xD40EFC, + "D_80B4C5D0": 0xF022D0, + "D_80ABF9D0": 0xE75A40, + "D_80ABFB40": 0xE75BB0, + "D_80AF411C": 0xEAA0FC, + "D_80A88164": 0xE3ED34, + "D_808BB2F0": 0xC89FF0, + "D_808BB7A0": 0xC8A4A0, + "D_808BBD90": 0xC8AA90, + "gChildWarpInCS": 0xD45460, + "gAdultWarpOutToTCS": 0xD45340, + "gChildWarpOutToTCS": 0xD45840, + "gChildWarpInToTCS": 0xD45710, + "gAdultWarpInToTCS": 0xD45230, + "gAdultWarpInCS": 0xD44FA0, + "gChildWarpOutCS": 0xD45590, + "gAdultWarpOutCS": 0xD450B0, + "D_8099010C": 0xD4974C, +} + +mapfile = mapfile_parser.MapFile() +mapfile.readMapFile(MAPFILE_P) + +pat_CutsceneData = re.compile( + r""" + CutsceneData + \s+ + ( [^\s]* ) # symbol name + \s* + \[ \s* \] + \s* = \s* + \{ + (?: [^}]* | \n )* + \} ; + """, + re.VERBOSE, +) + + +def get_sym_rom(sym_name: str): + rom = HARDCODED_SYM_ROM.get(sym_name) + if rom: + return rom + print(f"Trying to find {sym_name} from the map (assuming OK build)") + sym = mapfile.findSymbolByName(sym_name) + print(f'"{sym_name}": 0x{sym.symbol.vrom:X}') + return sym.symbol.vrom + + +def repl(m: re.Match): + sym_name = m.group(1) + sym_rom = get_sym_rom(sym_name) + file_result = filemap.GetFromRom(sym_rom) + assert file_result is not None, (sym_name, sym_rom) + data = (BASEROM_SEGMENTS_P / file_result.name).read_bytes() + cs_data_bytes = data[file_result.offset :] + cs_data = [i[0] for i in struct.iter_unpack(">I", cs_data_bytes)] + return ( + f"CutsceneData {sym_name}[] = " + + "{\n" + + ( + "\n".join( + f" {line}" + for line in csdis.disassemble_cutscene(cs_data).splitlines() + ).rstrip() + ) + + "\n};" + ) + + +def main(): + for file_c in Path("src").glob("**/*.c"): + src = file_c.read_text(encoding=SRC_ENCODING) + src_new = pat_CutsceneData.sub(repl, src) + if src_new != src: + file_c.write_text(src_new, encoding=SRC_ENCODING) + print(file_c) + + +if __name__ == "__main__": + main() diff --git a/tools/decompress_baserom.py b/tools/decompress_baserom.py index 799c66a1e0..13b57265f6 100755 --- a/tools/decompress_baserom.py +++ b/tools/decompress_baserom.py @@ -88,9 +88,10 @@ def decompress_rom( dma_entry.to_bin(entry_data) decompressed.write(entry_data) # pad to size - padding_end = round_up(dma_entries[-1].vrom_end, 14) - decompressed.seek(padding_end - 1) - decompressed.write(bytearray([0])) + padding_start = dma_entries[-1].vrom_end + padding_end = round_up(padding_start, 12) + decompressed.seek(padding_start) + decompressed.write(b"\x00" * (padding_end - padding_start)) # re-calculate crc return bytearray(update_crc(decompressed).getbuffer()) @@ -127,9 +128,10 @@ def byte_swap(file_content: bytearray) -> bytearray: def per_version_fixes(file_content: bytearray, version: str) -> bytearray: if version == "gc-eu-mq-dbg": - # Strip the overdump + # Strip the overdump, which consists of an area of 0xFF bytes (which may + # be erased flash memory) and ROM data from an unrelated game print("Stripping overdump...") - file_content = file_content[0:0x3600000] + file_content = file_content[0:0x035CF000] # Patch the header print("Patching header...") @@ -137,15 +139,6 @@ def per_version_fixes(file_content: bytearray, version: str) -> bytearray: return file_content -def pad_rom(file_content: bytearray, dma_entries: list[dmadata.DmaEntry]) -> bytearray: - padding_start = round_up(dma_entries[-1].vrom_end, 12) - padding_end = round_up(dma_entries[-1].vrom_end, 14) - print(f"Padding from {padding_start:X} to {padding_end:X}...") - for i in range(padding_start, padding_end): - file_content[i] = 0xFF - return file_content - - # Determine if we have a ROM file ROM_FILE_EXTENSIONS = ["z64", "n64", "v64"] @@ -227,8 +220,6 @@ def main(): file_content, dmadata_start, dma_entries, is_zlib_compressed ) - file_content = pad_rom(file_content, dma_entries) - # Check to see if the ROM is a "vanilla" ROM str_hash = get_str_hash(file_content) if str_hash != correct_str_hash: @@ -237,7 +228,7 @@ def main(): ) if version == "gc-eu-mq-dbg": - if str_hash == "32fe2770c0f9b1a9cd2a4d449348c1cb": + if str_hash == "9fede30e3239558cf3993f12b7ed7458": print( "The provided baserom is a rom which has been edited with ZeldaEdit and is not suitable for use with decomp. Find a new one." ) diff --git a/tools/disasm/disasm.py b/tools/disasm/disasm.py index d0affdd485..85d087834d 100755 --- a/tools/disasm/disasm.py +++ b/tools/disasm/disasm.py @@ -91,6 +91,7 @@ def main(): context.addBannedSymbolRange(0x0000F000, 0x00010100) context.addBannedSymbolRange(0x10000000, 0x80000300) context.addBannedSymbolRange(0xA0000000, 0xFFFFFFFF) + context.addBannedSymbolRange(0x80B50000, 0x80B51000) # Hack for z_fishing.c spimdisasm.mips.InstructionConfig.parseArgs(args) spimdisasm.common.GlobalConfig.parseArgs(args) diff --git a/tools/disasm/gc-eu-mq/functions.txt b/tools/disasm/gc-eu-mq/functions.txt index 7b75f6ab7c..88a45efc38 100644 --- a/tools/disasm/gc-eu-mq/functions.txt +++ b/tools/disasm/gc-eu-mq/functions.txt @@ -900,13 +900,13 @@ Collider_SetBase = 0x80049B10; // type:func Collider_ResetATBase = 0x80049B54; // type:func Collider_ResetACBase = 0x80049B70; // type:func Collider_ResetOCBase = 0x80049B8C; // type:func -Collider_InitElementTouch = 0x80049BB4; // type:func -Collider_DestroyElementTouch = 0x80049BDC; // type:func -Collider_SetElementTouch = 0x80049BF0; // type:func +Collider_InitElementDamageInfoAT = 0x80049BB4; // type:func +Collider_DestroyElementDamageInfoAT = 0x80049BDC; // type:func +Collider_SetElementDamageInfoAT = 0x80049BF0; // type:func Collider_ResetATElement_Unk = 0x80049C18; // type:func -Collider_InitElementBump = 0x80049C28; // type:func -Collider_DestroyElementBump = 0x80049C58; // type:func -Collider_SetElementBump = 0x80049C6C; // type:func +Collider_InitElementDamageInfoAC = 0x80049C28; // type:func +Collider_DestroyElementDamageInfoAC = 0x80049C58; // type:func +Collider_SetElementDamageInfoAC = 0x80049C6C; // type:func Collider_InitElement = 0x80049C94; // type:func Collider_DestroyElement = 0x80049D14; // type:func Collider_SetElement = 0x80049D54; // type:func @@ -991,8 +991,8 @@ CollisionCheck_SetAC_SAC = 0x8004BBE0; // type:func CollisionCheck_SetOC = 0x8004BCF0; // type:func CollisionCheck_SetOC_SAC = 0x8004BDD0; // type:func CollisionCheck_SetOCLine = 0x8004BEE0; // type:func -CollisionCheck_SkipElementTouch = 0x8004BF6C; // type:func -CollisionCheck_SkipElementBump = 0x8004BF90; // type:func +CollisionCheck_IsElementNotAT = 0x8004BF6C; // type:func +CollisionCheck_IsElementNotAC = 0x8004BF90; // type:func CollisionCheck_NoSharedFlags = 0x8004BFB4; // type:func CollisionCheck_NoBlood = 0x8004BFDC; // type:func CollisionCheck_BlueBlood = 0x8004BFF0; // type:func @@ -10599,7 +10599,7 @@ EnReeba_Surface = 0x80AC5628; // type:func EnReeba_Move = 0x80AC5848; // type:func EnReeba_SetupMoveBig = 0x80AC5964; // type:func EnReeba_MoveBig = 0x80AC5988; // type:func -EnReeba_Bumped = 0x80AC5BF8; // type:func +EnReeba_Recoiled = 0x80AC5BF8; // type:func EnReeba_SetupSink = 0x80AC5C64; // type:func EnReeba_Sink = 0x80AC5CBC; // type:func EnReeba_SetupDamaged = 0x80AC5DCC; // type:func diff --git a/tools/elf2rom.c b/tools/elf2rom.c index 907e4e32b4..21c5337ba5 100644 --- a/tools/elf2rom.c +++ b/tools/elf2rom.c @@ -33,12 +33,6 @@ static bool parse_number(const char *str, int *num) return endptr > str; } -static unsigned int round_up(unsigned int num, unsigned int multiple) -{ - num += multiple - 1; - return num / multiple * multiple; -} - static char *sprintf_alloc(const char *fmt, ...) { va_list args; @@ -163,11 +157,10 @@ static void parse_input_file(const char *filename) free(syms); } -// Writes the N64 ROM, padding the file size to a multiple of 1 MiB +// Writes the N64 ROM static void write_rom_file(const char *filename, int cicType) { - size_t fileSize = round_up(g_romSize, 0x100000); - uint8_t *buffer = calloc(fileSize, 1); + uint8_t *buffer = calloc(g_romSize, 1); int i; uint32_t chksum[2]; @@ -179,16 +172,13 @@ static void write_rom_file(const char *filename, int cicType) memcpy(buffer + g_romSegments[i].romStart, g_romSegments[i].data, size); } - // pad the remaining space with 0xFF - memset(buffer + g_romSize, 0xFF, fileSize - g_romSize); - // write checksum if (!n64chksum_calculate(buffer, cicType, chksum)) util_fatal_error("invalid cic type %i", cicType); util_write_uint32_be(buffer + 0x10, chksum[0]); util_write_uint32_be(buffer + 0x14, chksum[1]); - util_write_whole_file(filename, buffer, fileSize); + util_write_whole_file(filename, buffer, g_romSize); free(buffer); } diff --git a/tools/ido_block_numbers.py b/tools/ido_block_numbers.py new file mode 100755 index 0000000000..8858481dc2 --- /dev/null +++ b/tools/ido_block_numbers.py @@ -0,0 +1,302 @@ +#!/usr/bin/env python3 + +# SPDX-FileCopyrightText: © 2024 ZeldaRET +# SPDX-License-Identifier: CC0-1.0 + +# IDO symbol table parser for BSS ordering debugging. The compiler will assign +# "block numbers" or "dense numbers" to symbols in order as it encounters them +# in the source file, and the BSS section is sorted by this block number mod 256. +# This script dumps the compiler-generated symbol table so you can see which +# block numbers are assigned to each symbol. +# +# Resources: +# https://hackmd.io/@Roman971/BJ2DOyhBa +# https://github.com/decompals/ultralib/blob/main/tools/mdebug.py +# https://www.cs.unibo.it/~solmi/teaching/arch_2002-2003/AssemblyLanguageProgDoc.pdf +# https://github.com/decompals/IDO/blob/main/IDO_7.1/dist/compiler_eoe/usr/include/sym.h + +import argparse +import itertools +from pathlib import Path +import platform +import struct +import subprocess +import sys + + +class Header: + SIZE = 0x60 + + def __init__(self, data): + ( + self.magic, + self.vstamp, + self.ilineMax, + self.cbLine, + self.cbLineOffset, + self.idnMax, + self.cbDnOffset, + self.ipdMax, + self.cbPdOffset, + self.isymMax, + self.cbSymOffset, + self.ioptMax, + self.cbOptOffset, + self.iauxMax, + self.cbAuxOffset, + self.issMax, + self.cbSsOffset, + self.issExtMax, + self.cbSsExtOffset, + self.ifdMax, + self.cbFdOffset, + self.crfd, + self.cbRfdOffset, + self.iextMax, + self.cbExtOffset, + ) = struct.unpack(">2H23I", data) + + +class FileDescriptor: + SIZE = 0x48 + + def __init__(self, data): + ( + self.adr, + self.rss, + self.issBase, + self.cbSs, + self.isymBase, + self.csym, + self.ilineBase, + self.cline, + self.ioptBase, + self.copt, + self.ipdFirst, + self.cpd, + self.iauxBase, + self.caux, + self.rfdBase, + self.crfd, + self.flags, + self.cbLineOffset, + self.cbLine, + ) = struct.unpack(">10I2H7I", data) + + +class Symbol: + SIZE = 0xC + + def __init__(self, data): + ( + self.iss, + self.value, + self.flags, + ) = struct.unpack(">3I", data) + + def symbol_type(self): + symbol_types = { + 0: "nil", + 1: "global", + 2: "static", + 3: "param", + 4: "local", + 5: "label", + 6: "proc", + 7: "block", + 8: "end", + 9: "member", + 10: "typedef", + 11: "file", + 14: "staticproc", + 15: "constant", + 26: "struct", + 27: "union", + 28: "enum", + 34: "indirect", + } + return symbol_types[self.flags >> 26] + + def symbol_storage_class(self): + symbol_storage_classes = { + 0: "nil", + 1: "text", + 2: "data", + 3: "bss", + 4: "register", + 5: "abs", + 6: "undefined", + 8: "bits", + 9: "dbx", + 10: "regimage", + 11: "info", + } + return symbol_storage_classes[(self.flags >> 21) & 0x1F] + + +class ExternalSymbol: + SIZE = 0x10 + + def __init__(self, data): + ( + self.flags, + self.ifd, + ) = struct.unpack(">2H", data[0:4]) + self.asym = Symbol(data[4:]) + + +def read_entry(data, base, offset, size): + start = base + offset * size + return data[start : start + size] + + +def read_string(data, start): + size = 0 + while data[start + size] != 0: + size += 1 + return data[start : start + size].decode("ascii") + + +def print_symbol_table(data): + header = Header(data[0 : Header.SIZE]) + + print(f"block [mod 256]: linkage type class name") + + # File descriptors + fds = [] + for i in range(header.ifdMax): + fds.append( + FileDescriptor(read_entry(data, header.cbFdOffset, i, FileDescriptor.SIZE)) + ) + + # Symbol identifiers ("dense numbers") + for i in range(header.idnMax): + ifd, isym = struct.unpack(">II", read_entry(data, header.cbDnOffset, i, 8)) + + if isym == 0xFFFFF: + # TODO: is this always a string? + extern = False + sym_name = "" + st = "string" + sc = "" + else: + extern = ifd == 0x7FFFFFFF + if extern: + ext = ExternalSymbol( + read_entry(data, header.cbExtOffset, isym, ExternalSymbol.SIZE) + ) + sym = ext.asym + sym_name = read_string(data, header.cbSsExtOffset + sym.iss) + else: + fd = fds[ifd] + sym = Symbol( + read_entry( + data, header.cbSymOffset, fd.isymBase + isym, Symbol.SIZE + ) + ) + sym_name = read_string(data, header.cbSsOffset + fd.issBase + sym.iss) + st = sym.symbol_type() + sc = sym.symbol_storage_class() + + print( + f'{i:>9} [{i%256:>3}]: {"extern" if extern else "":<7} {st:<10} {sc:<9} {sym_name:<40}' + ) + + +def find_compiler_command_line(filename, oot_version): + is_macos = platform.system() == "Darwin" + make = "gmake" if is_macos else "make" + make_command_line = [ + make, + "--always-make", + "--dry-run", + f"VERSION={oot_version}", + ] + + print(f"Running {make} to find compiler command line ...", file=sys.stderr) + make_output = ( + subprocess.check_output(make_command_line).decode("utf-8").splitlines() + ) + + found = 0 + for line in make_output: + parts = line.split() + if "-o" in parts and str(filename) in parts: + makefile_command_line = parts + found += 1 + + if found != 1: + print( + f"Could not determine compiler command line for {filename}", file=sys.stderr + ) + sys.exit(1) + + # Assume command line is of the form: + # tools/reencode.sh [COMPILER] [COMPILER_ARGS] + compiler_command_line = makefile_command_line[1:] + + print(f'Command line: {" ".join(compiler_command_line)}', file=sys.stderr) + return compiler_command_line + + +def generate_symbol_table(command_line): + # Find source file in compiler arguments + source_file = None + args = [] + for arg in command_line: + if arg.endswith(".c"): + source_file = Path(arg) + else: + args.append(arg) + + if source_file is None: + raise Exception("No source file found") + + source_contents = source_file.read_text() + + stem = "reencode_tmp" + input_file = Path(f"{stem}.c") + symbol_table_file = Path(f"{stem}.T") + ucode_file = Path(f"{stem}.B") + + try: + # Write temporary file with #line directive to simulate asm-processor + with open(input_file, "w") as f: + f.write('#line 1 "{}"\n'.format(source_file)) + f.write(source_contents) + + # Invoke compiler + # -Hf stops compilation after cfe so we can inspect the symbol table + subprocess.run(args + ["-Hf", input_file], check=True) + + # Read symbol table + return symbol_table_file.read_bytes() + finally: + # Cleanup + input_file.unlink(missing_ok=True) + symbol_table_file.unlink(missing_ok=True) + ucode_file.unlink(missing_ok=True) + + +def main(): + parser = argparse.ArgumentParser( + description="Dump IDO symbol table for debugging BSS ordering" + ) + parser.add_argument("filename", metavar="FILE", type=Path, help="C source file") + parser.add_argument( + "-v", + "--oot-version", + type=str, + default="gc-eu-mq-dbg", + help="OOT version (default: gc-eu-mq-dbg)", + ) + + args = parser.parse_args() + + command_line = find_compiler_command_line(args.filename, args.oot_version) + data = generate_symbol_table(command_line) + print_symbol_table(data) + + +if __name__ == "__main__": + main() diff --git a/tools/mkldscript.c b/tools/mkldscript.c index ed61e543e9..05ecdfd353 100644 --- a/tools/mkldscript.c +++ b/tools/mkldscript.c @@ -109,8 +109,6 @@ static void write_ld_script(FILE *fout) fprintf(fout, " %s (.data)\n" " . = ALIGN(0x10);\n", seg->includes[j].fpath); - fprintf(fout, " %s (.rodata)\n" - " . = ALIGN(0x10);\n", seg->includes[j].fpath); // Compilers other than IDO, such as GCC, produce different sections such as // the ones named directly below. These sections do not contain values that // need relocating, but we need to ensure that the base .rodata section @@ -119,12 +117,11 @@ static void write_ld_script(FILE *fout) // the beginning of the entire rodata area in order to remain consistent. // Inconsistencies will lead to various .rodata reloc crashes as a result of // either missing relocs or wrong relocs. - fprintf(fout, " %s (.rodata.str1.4)\n" - " . = ALIGN(0x10);\n", seg->includes[j].fpath); - fprintf(fout, " %s (.rodata.cst4)\n" - " . = ALIGN(0x10);\n", seg->includes[j].fpath); - fprintf(fout, " %s (.rodata.cst8)\n" - " . = ALIGN(0x10);\n", seg->includes[j].fpath); + fprintf(fout, " %s (.rodata)\n" + " %s (.rodata.str*)\n" + " %s (.rodata.cst*)\n" + " . = ALIGN(0x10);\n", + seg->includes[j].fpath, seg->includes[j].fpath, seg->includes[j].fpath); } fprintf(fout, " _%sSegmentRoDataEnd = .;\n", seg->name); diff --git a/tools/msgdis.py b/tools/msgdis.py index 1da85713ec..89447afdbc 100755 --- a/tools/msgdis.py +++ b/tools/msgdis.py @@ -259,12 +259,14 @@ textbox_ypos = { 3: "TEXTBOX_POS_BOTTOM", } -# message entry tables vrom addresses -nes_message_entry_table_addr = 0x00BC24C0 -ger_message_entry_table_addr = 0x00BC66E8 -fra_message_entry_table_addr = 0x00BC87F8 -staff_message_entry_table_addr = 0x00BCA908 -staff_message_entry_table_addr_end = 0x00BCAA90 +# Global variables for baserom version and message entry table vrom addresses, +# set based on command line arguments in main() +version = None +nes_message_entry_table_addr = None +ger_message_entry_table_addr = None +fra_message_entry_table_addr = None +staff_message_entry_table_addr = None +staff_message_entry_table_addr_end = None nes_message_entry_table = [] ger_message_entry_table = [] @@ -283,7 +285,7 @@ def read_tables(): global staff_message_entry_table baserom = None - with open("baseroms/gc-eu-mq-dbg/baserom-decompressed.z64","rb") as infile: + with open(f"baseroms/{version}/baserom-decompressed.z64","rb") as infile: baserom = infile.read() nes_message_entry_table = as_message_table_entry(baserom[nes_message_entry_table_addr:ger_message_entry_table_addr]) @@ -327,7 +329,7 @@ def dump_all_text(): nes_offset = segmented_to_physical(entry[3]) nes_length = next_entry[3] - entry[3] nes_text = "" - with open("baseroms/gc-eu-mq-dbg/segments/nes_message_data_static","rb") as infile: + with open(f"extracted/{version}/baserom/nes_message_data_static","rb") as infile: infile.seek(nes_offset) nes_text = fixup_message(decode(infile.read(nes_length), entry[1]).replace("\x00","",-1)) @@ -338,13 +340,13 @@ def dump_all_text(): next_entry = combined_message_entry_table[i+2] ger_offset = segmented_to_physical(entry[4]) ger_length = next_entry[4] - entry[4] - with open("baseroms/gc-eu-mq-dbg/segments/ger_message_data_static","rb") as infile: + with open(f"extracted/{version}/baserom/ger_message_data_static","rb") as infile: infile.seek(ger_offset) ger_text = fixup_message(decode(infile.read(ger_length), entry[1]).replace("\x00","",-1)) fra_offset = segmented_to_physical(entry[5]) fra_length = next_entry[5] - entry[5] - with open("baseroms/gc-eu-mq-dbg/segments/fra_message_data_static","rb") as infile: + with open(f"extracted/{version}/baserom/fra_message_data_static","rb") as infile: infile.seek(fra_offset) fra_text = fixup_message(decode(infile.read(fra_length), entry[1]).replace("\x00","",-1)) @@ -353,7 +355,7 @@ def dump_all_text(): return messages def dump_staff_text(): - staff_message_data_static_size = path.getsize("baseroms/gc-eu-mq-dbg/segments/staff_message_data_static") + staff_message_data_static_size = path.getsize(f"extracted/{version}/baserom/staff_message_data_static") # text id, ypos, type, staff messages = [] for i,entry in enumerate(staff_message_entry_table,0): @@ -362,7 +364,7 @@ def dump_staff_text(): staff_offset = segmented_to_physical(entry[3]) # hacky way to ensure the staff message entry table is read all the way to the end staff_length = (staff_message_data_static_size if entry[0] == 0x052F else segmented_to_physical(next_entry[3])) - segmented_to_physical(entry[3]) - with open("baseroms/gc-eu-mq-dbg/segments/staff_message_data_static","rb") as infile: + with open(f"extracted/{version}/baserom/staff_message_data_static","rb") as infile: infile.seek(staff_offset) messages.append((entry[0], entry[1], entry[2], fixup_message(decode(infile.read(staff_length), entry[1]).replace("\x00","",-1)))) else: @@ -376,20 +378,26 @@ def extract_all_text(text_out, staff_text_out): if text_out is not None: out = "" for message in dump_all_text(): - if message[0] == 0xFFFF: + # Skip 0xFFFC and 0xFFFD because they are committed + # Skip 0xFFFF, the last entry + if message[0] in {0xFFFC, 0xFFFD, 0xFFFF}: continue - if message[0] == 0xFFFC: - out += "#ifdef DEFINE_MESSAGE_FFFC\n" - out += f"DEFINE_MESSAGE(0x{message[0]:04X}, {textbox_type[message[1]]}, {textbox_ypos[message[2]]}," + is_nes_message = message[0] == 0xFFFC + if not is_nes_message: + out += "DEFINE_MESSAGE" + else: + out += "DEFINE_MESSAGE_NES" + out += f"(0x{message[0]:04X}, {textbox_type[message[1]]}, {textbox_ypos[message[2]]}," out += "\n" - out += f"{message[3]}" + ("\n" if message[3] != "" else "") + "," - out += "\n" if message[3] != "" else "" - out += f"{message[4]}" + ("\n" if message[4] != "" else "") + "," - out += "\n" if message[4] != "" else "" - out += f"{message[5]}\n)" - if message[0] == 0xFFFC: - out += "\n#endif" + out += f"{message[3]}" + if not is_nes_message: + out += ("\n" if message[3] != "" else "") + "," + out += "\n" if message[3] != "" else "" + out += f"{message[4]}" + ("\n" if message[4] != "" else "") + "," + out += "\n" if message[4] != "" else "" + out += f"{message[5]}" + out += "\n)" out += "\n\n" with open(text_out, "w", encoding="utf8") as outfile: @@ -408,9 +416,17 @@ def extract_all_text(text_out, staff_text_out): def main(): + global version + global nes_message_entry_table_addr + global ger_message_entry_table_addr + global fra_message_entry_table_addr + global staff_message_entry_table_addr + global staff_message_entry_table_addr_end + parser = argparse.ArgumentParser( description="Extract text from the baserom into .h files" ) + parser.add_argument("--oot-version", help="OOT version", default="gc-eu-mq-dbg", choices=["gc-eu-mq", "gc-eu-mq-dbg"]) parser.add_argument("--text-out", help="Path to output .h file for text") parser.add_argument( "--staff-text-out", help="Path to output .h file for staff text" @@ -420,6 +436,22 @@ def main(): if not (args.text_out or args.staff_text_out): parser.error("No output file requested") + version = args.oot_version + if version == "gc-eu-mq-dbg": + nes_message_entry_table_addr = 0x00BC24C0 + ger_message_entry_table_addr = 0x00BC66E8 + fra_message_entry_table_addr = 0x00BC87F8 + staff_message_entry_table_addr = 0x00BCA908 + staff_message_entry_table_addr_end = 0x00BCAA90 + elif version == "gc-eu-mq": + nes_message_entry_table_addr = 0x00B7E8F0 + ger_message_entry_table_addr = 0x00B82B18 + fra_message_entry_table_addr = 0x00B84C28 + staff_message_entry_table_addr = 0x00B86D38 + staff_message_entry_table_addr_end = 0x00B86EC0 + else: + parser.error("Unsupported OOT version") + extract_all_text(args.text_out, args.staff_text_out) diff --git a/tools/msgenc.py b/tools/msgenc.py index b62b7383cc..9af3b80454 100644 --- a/tools/msgenc.py +++ b/tools/msgenc.py @@ -4,6 +4,7 @@ # import argparse, ast, re +import sys def read_charmap(path): with open(path) as infile: @@ -50,22 +51,40 @@ def convert_text(text, charmap): def main(): parser = argparse.ArgumentParser(description="Encode message_data_static text headers") - parser.add_argument("charmap", help="path to charmap file specifying custom encoding elements") - parser.add_argument("input", help="path to file to be encoded") - parser.add_argument("output", help="encoded file") + parser.add_argument( + "input", + help="path to file to be encoded, or - for stdin", + ) + parser.add_argument( + "--output", + "-o", + help="path to write encoded file, or - for stdout", + required=True, + ) + parser.add_argument( + "--charmap", + help="path to charmap file specifying custom encoding elements", + required=True, + ) args = parser.parse_args() charmap = read_charmap(args.charmap) text = "" - with open(args.input, "r") as infile: - text = infile.read() + if args.input == "-": + text = sys.stdin.read() + else: + with open(args.input, "r") as infile: + text = infile.read() text = remove_comments(text) text = convert_text(text, charmap) - with open(args.output, "w", encoding="raw_unicode_escape") as outfile: - outfile.write(text) + if args.output == "-": + sys.stdout.buffer.write(text.encode("raw_unicode_escape")) + else: + with open(args.output, "w", encoding="raw_unicode_escape") as outfile: + outfile.write(text) if __name__ == "__main__": main() diff --git a/tools/overlayhelpers/colliderinit.py b/tools/overlayhelpers/colliderinit.py index 94f9685dbe..b82b781d83 100755 --- a/tools/overlayhelpers/colliderinit.py +++ b/tools/overlayhelpers/colliderinit.py @@ -387,7 +387,7 @@ def GetColliderInit(address, type, num, path): else: return("ItemInit type must specify number of elements") - ovlFile = open(path + "/baseroms/gc-eu-mq-dbg/segments/" + fileResult.name, "rb") + ovlFile = open(path + "/extracted/gc-eu-mq-dbg/baserom/" + fileResult.name, "rb") ovlData = bytearray(ovlFile.read()) ovlFile.close() diff --git a/tools/overlayhelpers/damage_table.py b/tools/overlayhelpers/damage_table.py index 63587f5365..b0d66a2d8e 100755 --- a/tools/overlayhelpers/damage_table.py +++ b/tools/overlayhelpers/damage_table.py @@ -132,7 +132,7 @@ def get_damage_bytes(address, repo): print(file_result) - with open(repo + os.sep + "baseroms/gc-eu-mq-dbg/segments" + os.sep + file_result.name, "rb") as ovl_file: + with open(repo + os.sep + "extracted/gc-eu-mq-dbg/baserom" + os.sep + file_result.name, "rb") as ovl_file: ovl_data = bytearray(ovl_file.read()) damage_data = ovl_data[file_result.offset:file_result.offset+0x20] diff --git a/tools/overlayhelpers/lmapmark.py b/tools/overlayhelpers/lmapmark.py index cf5f111872..cc3a8d639e 100644 --- a/tools/overlayhelpers/lmapmark.py +++ b/tools/overlayhelpers/lmapmark.py @@ -72,7 +72,7 @@ repo = scriptDir + os.sep + ".." + os.sep + ".." kaleido_scope_data = [] -with open(repo + "/baseroms/gc-eu-mq-dbg/segments/ovl_kaleido_scope", "rb") as file: +with open(repo + "/extracted/gc-eu-mq-dbg/baserom/ovl_kaleido_scope", "rb") as file: kaleido_scope_data = bytearray(file.read()) scenemaps = [] diff --git a/tools/overlayhelpers/mapmark.py b/tools/overlayhelpers/mapmark.py index b354bd9d0e..12c9f3ec89 100644 --- a/tools/overlayhelpers/mapmark.py +++ b/tools/overlayhelpers/mapmark.py @@ -97,7 +97,7 @@ repo = scriptDir + os.sep + ".." + os.sep + ".." map_mark_data = [] -with open(repo + "/baseroms/gc-eu-mq-dbg/segments/ovl_map_mark_data", "rb") as file: +with open(repo + "/extracted/gc-eu-mq-dbg/baserom/ovl_map_mark_data", "rb") as file: map_mark_data = bytearray(file.read()) scenemaps = [] diff --git a/tools/reencode.sh b/tools/reencode.sh new file mode 100755 index 0000000000..d027faf5b9 --- /dev/null +++ b/tools/reencode.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# The repo uses UTF-8 for text encoding, but the strings in the ROM are encoded in EUC-JP. +# This means for matching the source must be re-encoded to EUC-JP before IDO compiles it. +# This is conceptually equivalent to `gcc --finput-charset=UTF-8 --fexec-charset=EUC-JP`, +# except IDO has no equivalent arguments. +# Usage: reencode.sh [compile command minus input file...] [single input file] + +set -e + +# The last argument, the input source file to be compiled +srcfile="${@: -1}" + +# Create a temporary file, and remove it on script exit +tempfile=`mktemp`_oot.c +trap "rm -f $tempfile" EXIT + +# Re-encode from UTF-8 to EUC-JP +{ + printf '#line 1 "%s"\n' "$srcfile" # linemarker + cat "$srcfile" +} | iconv -f UTF-8 -t EUC-JP > "$tempfile" + +# All arguments but the last, forming the compile command +# Also include the source file's directory to have the include path as if we compiled the original source. +# Pass the EUC-JP encoded temporary file for compilation. +"${@:1:$# - 1}" -I `dirname $srcfile` $tempfile