Created inital yaml for decompressed rom, edited makefile to build it and fixed all undefined symbol/multiple definition errors

This commit is contained in:
Mr-Wiseguy
2022-10-28 02:46:26 -04:00
parent cc8a6ffc78
commit e1bf4549e3
174 changed files with 3648 additions and 1282 deletions

287
Makefile
View File

@@ -59,20 +59,6 @@ PROGRESS_READ := $(PYTHON) tools/progress_read.py
# Inputs # Inputs
OVERLAYS := core1 core2 MM TTC CC BGS FP lair GV CCW RBB MMM SM fight cutscenes OVERLAYS := core1 core2 MM TTC CC BGS FP lair GV CCW RBB MMM SM fight cutscenes
# Creates a list of all the source files for the given overlay (e.g. BGS_C_SRCS)
# Appends that list to OVERLAY_C_FILES
define get_overlay_sources
$(1)_C_SRCS := $(filter $(SRC_ROOT)/$(1)/%,$(ALL_C_SRCS))
$(1)_ASM_SRCS := $(filter $(ASM_ROOT)/$(1)/%,$(ALL_ASM_SRCS))
$(1)_BINS := $(filter $(BIN_ROOT)/$(1)/%,$(ALL_BINS))
OVERLAY_C_SRCS += $$($(1)_C_SRCS)
OVERLAY_ASM_SRCS += $$($(1)_ASM_SRCS)
OVERLAY_BINS += $$($(1)_BINS)
# Overlay inputs
$(1)_NEW_FILES := $$(filter $(BIN_ROOT)/$(1)/%, $(NEW_BINS)) $$(filter $(SRC_ROOT)/$(1)/%, $(NEW_C_SRCS)) $$(filter $(ASM_ROOT)/$(1)/%, $(NEW_ASM_SRCS)) $$(filter $(ASM_ROOT)/data/$(1)/%, $(NEW_ASM_SRCS))
OVERLAY_NEW_FILES += $$($(1)_NEW_FILES)
endef
# Source files # Source files
SRC_ROOT := src SRC_ROOT := src
ASM_ROOT := asm ASM_ROOT := asm
@@ -84,35 +70,27 @@ NONMATCHING_DIR := $(ASM_ROOT)/$(NONMATCHINGS)
BUILD_ROOT := build BUILD_ROOT := build
BUILD_DIR := $(BUILD_ROOT)/$(VERSION) BUILD_DIR := $(BUILD_ROOT)/$(VERSION)
ALL_ASSET_FILES := $(shell find $(ASSET_ROOT) -type f -iname '*.*' 2> /dev/null) ALL_ASSET_FILES := $(shell find $(ASSET_ROOT) -type f -iname '*.*' 2> /dev/null)
ALL_C_SRCS := $(shell find $(SRC_ROOT) -type f -iname '*.c' 2> /dev/null) C_SRCS := $(shell find $(SRC_ROOT) -type f -iname '*.c' 2> /dev/null)
BOOT_C_SRCS := $(wildcard $(SRC_ROOT)/done/*.c)
ALL_ASM_SRCS := $(filter-out $(ASM_ROOT)/$(NONMATCHINGS), $(shell find $(ASM_ROOT) -name $(NONMATCHINGS) -prune -o -iname '*.s' 2> /dev/null)) ALL_ASM_SRCS := $(filter-out $(ASM_ROOT)/$(NONMATCHINGS), $(shell find $(ASM_ROOT) -name $(NONMATCHINGS) -prune -o -iname '*.s' 2> /dev/null))
ALL_BINS := $(shell find $(BIN_ROOT) -type f -iname '*.bin' 2> /dev/null) ALL_BINS := $(shell find $(BIN_ROOT) -type f -iname '*.bin' 2> /dev/null)
# Files referenced in the splat files # Files referenced in the splat file
YAML_CALL := $(SPLAT_INPUTS) $(BASENAME).$(VERSION).yaml $(addprefix $(SUBYAML)/, $(addsuffix .$(VERSION).yaml, $(OVERLAYS))) YAML_CALL := $(SPLAT_INPUTS) decompressed.$(VERSION).yaml
YAML_SRCS := $(shell $(SPLAT_INPUTS) $(BASENAME).$(VERSION).yaml $(addprefix $(SUBYAML)/, $(addsuffix .$(VERSION).yaml, $(OVERLAYS)))) YAML_SRCS := $(sort $(shell $(SPLAT_INPUTS) decompressed.$(VERSION).yaml))
YAML_C_SRCS := $(filter %.c, $(YAML_SRCS)) YAML_C_SRCS := $(filter %.c, $(YAML_SRCS))
YAML_ASM_SRCS := $(filter %.s, $(YAML_SRCS)) YAML_ASM_SRCS := $(filter %.s, $(YAML_SRCS))
YAML_BINS := $(filter %.bin, $(YAML_SRCS)) YAML_BINS := $(filter %.bin, $(YAML_SRCS))
# Files that need to be extracted # Files that need to be extracted
NEW_C_SRCS := $(filter-out $(ALL_C_SRCS), $(YAML_C_SRCS)) NEW_C_SRCS := $(filter-out $(C_SRCS), $(YAML_C_SRCS))
NEW_ASM_SRCS := $(filter-out $(ALL_ASM_SRCS), $(YAML_ASM_SRCS)) NEW_ASM_SRCS := $(filter-out $(ALL_ASM_SRCS), $(YAML_ASM_SRCS))
NEW_BINS := $(filter-out $(ALL_BINS), $(YAML_BINS)) NEW_BINS := $(filter-out $(ALL_BINS), $(YAML_BINS))
NEW_FILES := $(NEW_C_SRCS) $(NEW_ASM_SRCS) $(NEW_BINS) NEW_FILES := $(NEW_C_SRCS) $(NEW_ASM_SRCS) $(NEW_BINS)
$(foreach overlay,$(OVERLAYS),$(eval $(call get_overlay_sources,$(overlay)))) BOOT_ASM_SRCS := $(filter-out asm/core1/%,$(NEW_ASM_SRCS) $(ALL_ASM_SRCS))
# Files for the rom itself
MAIN_C_SRCS := $(filter-out $(OVERLAY_C_SRCS),$(ALL_C_SRCS))
MAIN_ASM_SRCS := $(filter-out $(OVERLAY_ASM_SRCS),$(ALL_ASM_SRCS))
MAIN_BINS := $(filter-out $(OVERLAY_BINS),$(ALL_BINS))
# Files that need to be extracted for the rom itself
MAIN_NEW_FILES := $(filter-out $(OVERLAY_NEW_FILES), $(NEW_FILES))
# Any source files that have GLOBAL_ASM in them or do not exist before splitting # Any source files that have GLOBAL_ASM in them or do not exist before splitting
GLOBAL_ASM_C_SRCS := $(shell $(GREP) GLOBAL_ASM $(SRC_ROOT) </dev/null) $(NEW_C_SRCS) GLOBAL_ASM_C_SRCS := $(shell $(GREP) GLOBAL_ASM $(SRC_ROOT) </dev/null) $(NEW_C_SRCS)
CORE2_CODE_CRC_C_SRCS := $(shell $(GREP) CORE2_CODE_CRC2 $(SRC_ROOT) </dev/null)
CORE2_DATA_CRC_C_SRCS := $(shell $(GREP) CORE2_DATA_CRC2 $(SRC_ROOT) </dev/null)
# Build folders # Build folders
C_DIRS := $(sort $(dir $(ALL_C_SRCS) $(NEW_C_SRCS))) C_DIRS := $(sort $(dir $(C_SRCS) $(NEW_C_SRCS)))
ASM_DIRS := $(sort $(dir $(ALL_ASM_SRCS) $(NEW_ASM_SRCS))) ASM_DIRS := $(sort $(dir $(ALL_ASM_SRCS) $(NEW_ASM_SRCS)))
BIN_DIRS := $(sort $(dir $(ALL_BINS) $(NEW_BINS))) BIN_DIRS := $(sort $(dir $(ALL_BINS) $(NEW_BINS)))
C_BUILD_DIRS := $(addprefix $(BUILD_DIR)/,$(C_DIRS)) C_BUILD_DIRS := $(addprefix $(BUILD_DIR)/,$(C_DIRS))
@@ -122,42 +100,27 @@ ALL_DIRS := $(C_BUILD_DIRS) $(ASM_BUILD_DIRS) $(BIN_BUILD_DIRS) $(BUILD_DI
# Build files # Build files
BASEROM := baserom.$(VERSION).z64 BASEROM := baserom.$(VERSION).z64
C_OBJS := $(addprefix $(BUILD_DIR)/,$(ALL_C_SRCS:.c=.c.o)) C_OBJS := $(addprefix $(BUILD_DIR)/,$(C_SRCS:.c=.c.o))
BOOT_C_OBJS := $(addprefix $(BUILD_DIR)/,$(BOOT_C_SRCS:.c=.c.o))
GLOBAL_ASM_C_OBJS := $(addprefix $(BUILD_DIR)/,$(GLOBAL_ASM_C_SRCS:.c=.c.o)) GLOBAL_ASM_C_OBJS := $(addprefix $(BUILD_DIR)/,$(GLOBAL_ASM_C_SRCS:.c=.c.o))
CORE2_CODE_CRC_C_OBJS := $(addprefix $(BUILD_DIR)/,$(CORE2_CODE_CRC_C_SRCS:.c=.c.o))
CORE2_DATA_CRC_C_OBJS := $(addprefix $(BUILD_DIR)/,$(CORE2_DATA_CRC_C_SRCS:.c=.c.o))
# TODO remove this when all files in GLOBAL_ASM_C_OBJS are matched
GLOBAL_ASM_C_OBJS := $(filter-out $(CORE2_DATA_CRC_C_OBJS),$(GLOBAL_ASM_C_OBJS))
C_DEPS := $(C_OBJS:.o=.d) C_DEPS := $(C_OBJS:.o=.d)
ASM_OBJS := $(addprefix $(BUILD_DIR)/,$(ALL_ASM_SRCS:.s=.s.o) $(NEW_ASM_SRCS:.s=.s.o)) ASM_OBJS := $(addprefix $(BUILD_DIR)/,$(ALL_ASM_SRCS:.s=.s.o) $(NEW_ASM_SRCS:.s=.s.o))
BOOT_ASM_OBJS := $(addprefix $(BUILD_DIR)/,$(BOOT_ASM_SRCS:.s=.s.o))
BIN_OBJS := $(addprefix $(BUILD_DIR)/,$(ALL_BINS:.bin=.bin.o) $(NEW_BINS:.bin=.bin.o)) BIN_OBJS := $(addprefix $(BUILD_DIR)/,$(ALL_BINS:.bin=.bin.o) $(NEW_BINS:.bin=.bin.o))
Z64 := $(addprefix $(BUILD_DIR)/,$(BASENAME).$(VERSION).z64) Z64 := $(addprefix $(BUILD_DIR)/,$(BASENAME).$(VERSION).z64)
ELF := $(Z64:.z64=.elf) ELF := $(Z64:.z64=.elf)
LD_SCRIPT := $(BASENAME).ld LD_SCRIPT := $(BASENAME).ld
BK_BOOT_LD_SCRIPT := bk_boot.ld BK_BOOT_LD_SCRIPT := bk_boot.ld
OVERLAY_ELFS := $(addprefix $(BUILD_DIR)/,$(addsuffix .elf,$(OVERLAYS)))
OVERLAY_CODE_BINS := $(OVERLAY_ELFS:.elf=.code)
OVERLAY_DATA_BINS := $(OVERLAY_ELFS:.elf=.data)
OVERLAY_BINS := $(addprefix $(BUILD_DIR)/,$(addsuffix .$(VERSION).bin,$(OVERLAYS)))
ASSET_BIN := $(BUILD_DIR)/assets.bin ASSET_BIN := $(BUILD_DIR)/assets.bin
OVERLAY_RZIPS := $(addprefix $(BIN_ROOT)/,$(addsuffix .$(VERSION).rzip.bin,$(OVERLAYS)))
OVERLAY_RZIP_OUTS := $(addprefix $(BUILD_DIR)/,$(addsuffix .rzip.bin,$(OVERLAYS)))
OVERLAY_RZIP_OBJS := $(addprefix $(BUILD_DIR)/$(BIN_ROOT)/,$(addsuffix .$(VERSION).rzip.bin.o,$(OVERLAYS)))
CRC_OBJS := $(BUILD_DIR)/$(BIN_ROOT)/crc.bin.o
DUMMY_CRC_OBJ := $(BUILD_DIR)/$(BIN_ROOT)/dummy_crc.bin.o DUMMY_CRC_OBJ := $(BUILD_DIR)/$(BIN_ROOT)/dummy_crc.bin.o
ASSET_OBJS := $(BUILD_DIR)/$(BIN_ROOT)/assets.bin.o ASSET_OBJS := $(BUILD_DIR)/$(BIN_ROOT)/assets.bin.o
BIN_OBJS := $(filter-out $(OVERLAY_RZIP_OBJS) $(CRC_OBJS) $(ASSET_OBJS),$(BIN_OBJS)) BIN_OBJS := $(filter-out $(ASSET_OBJS),$(BIN_OBJS))
ALL_OBJS := $(C_OBJS) $(ASM_OBJS) $(BIN_OBJS) $(OVERLAY_RZIP_OBJS) $(CRC_OBJS) ALL_OBJS := $(C_OBJS) $(ASM_OBJS) $(BIN_OBJS)
SYMBOL_ADDRS := symbol_addrs.$(VERSION).txt SYMBOL_ADDRS := symbol_addrs.$(VERSION).txt
SYMBOL_ADDR_FILES := $(filter-out $(SYMBOL_ADDRS), $(wildcard symbol_addrs.*.$(VERSION).txt)) SYMBOL_ADDR_FILES := $(filter-out $(SYMBOL_ADDRS), $(wildcard symbol_addrs.*.$(VERSION).txt))
MIPS3_OBJS := $(BUILD_DIR)/$(SRC_ROOT)/done/ll.c.o $(BUILD_DIR)/$(SRC_ROOT)/core1/done/ll.c.o MIPS3_OBJS := $(BUILD_DIR)/$(SRC_ROOT)/core1/done/ll.c.o
# Object files for the rom itself BOOT_MIPS3_OBJS := $(BUILD_DIR)/$(SRC_ROOT)/done/ll.c.o
MAIN_C_OBJS := $(addprefix $(BUILD_DIR)/,$(MAIN_C_SRCS:.c=.c.o)) BOOT_C_OBJS := $(filter-out $(BOOT_MIPS3_OBJS),$(BOOT_C_OBJS))
MAIN_ASM_OBJS := $(addprefix $(BUILD_DIR)/,$(MAIN_ASM_SRCS:.s=.s.o))
MAIN_BIN_OBJS := $(addprefix $(BUILD_DIR)/,$(MAIN_BINS:.bin=.bin.o))
MAIN_OBJS := $(MAIN_C_OBJS) $(MAIN_ASM_OBJS) $(MAIN_BIN_OBJS)
# Includes the build artifacts of any files to be extracted
MAIN_ALL_OBJS := $(MAIN_OBJS) $(addprefix $(BUILD_DIR)/, $(addsuffix .o, $(MAIN_NEW_FILES)))
# Progress files # Progress files
MAIN_PROG_CSV := progress/progress.bk_boot.csv MAIN_PROG_CSV := progress/progress.bk_boot.csv
@@ -168,18 +131,6 @@ OVERLAY_PROG_CSVS := $(addprefix progress/progress., $(addsuffix .csv, $(OVERLAY
OVERLAY_PROG_SVGS := $(addprefix progress/progress_, $(addsuffix .svg, $(OVERLAYS))) OVERLAY_PROG_SVGS := $(addprefix progress/progress_, $(addsuffix .svg, $(OVERLAYS)))
README_MD := README.md README_MD := README.md
# Creates a list of all the object files for the given overlay
define get_overlay_objects
$(1)_C_OBJS := $(addprefix $(BUILD_DIR)/,$($(1)_C_SRCS:.c=.c.o))
$(1)_ASM_OBJS := $(addprefix $(BUILD_DIR)/,$($(1)_ASM_SRCS:.s=.s.o))
$(1)_BIN_OBJS := $(addprefix $(BUILD_DIR)/,$($(1)_BINS:.bin=.bin.o))
$(1)_OBJS := $$($(1)_C_OBJS) $$($(1)_ASM_OBJS) $$($(1)_BIN_OBJS)
$(1)_ALL_OBJS := $$($(1)_OBJS) $$(addprefix $(BUILD_DIR)/, $$(addsuffix .o, $$($(1)_NEW_FILES)))
OVERLAY_OBJS += $$($(1)_OBJS)
endef
$(foreach overlay,$(OVERLAYS),$(eval $(call get_overlay_objects,$(overlay))))
### Functions ### ### Functions ###
# Colorful text printing # Colorful text printing
@@ -238,31 +189,15 @@ $(addprefix progress-,$(OVERLAYS)) : progress-% : progress/progress.%.csv
# Verify that the roms match, also sets up diff_settings # Verify that the roms match, also sets up diff_settings
verify: $(Z64) verify: $(Z64)
@$(DIFF) $(BASEROM) $(Z64) > /dev/null && \ @$(DIFF) decompressed.us.v10.z64 $(Z64) > /dev/null && \
$(PRINT) "$(YELLOW) _\n _( )_\n [ ]_\n ) _ _)\n [_( )_]\n$(BLUE)$(BASENAME).$(VERSION).z64$(NO_COL): $(GREEN)OK$(NO_COL)\n" || \ $(PRINT) "$(YELLOW) _\n _( )_\n [ ]_\n ) _ _)\n [_( )_]\n$(BLUE)$(BASENAME).$(VERSION).z64$(NO_COL): $(GREEN)OK$(NO_COL)\n" || \
$(PRINT) "$(BLUE)$(BASEROM) $(RED)differs$(NO_COL)\n" $(PRINT) "$(BLUE)$(BASEROM) $(RED)differs$(NO_COL)\n"
@$(PRINT) "def apply(config, args):\n" > diff_settings.py # @$(PRINT) "def apply(config, args):\n" > diff_settings.py
@$(PRINT) "\tconfig[\"baseimg\"] = \"$(BASEROM)\"\n" >> diff_settings.py # @$(PRINT) "\tconfig[\"baseimg\"] = \"$(BASEROM)\"\n" >> diff_settings.py
@$(PRINT) "\tconfig[\"myimg\"] = \"$(Z64)\"\n" >> diff_settings.py # @$(PRINT) "\tconfig[\"myimg\"] = \"$(Z64)\"\n" >> diff_settings.py
@$(PRINT) "\tconfig[\"mapfile\"] = \"$(Z64:.z64=.map)\"\n" >> diff_settings.py # @$(PRINT) "\tconfig[\"mapfile\"] = \"$(Z64:.z64=.map)\"\n" >> diff_settings.py
@$(PRINT) "\tconfig[\"source_directories\"] = ['$(SRC_ROOT)', 'include']\n" >> diff_settings.py # @$(PRINT) "\tconfig[\"source_directories\"] = ['$(SRC_ROOT)', 'include']\n" >> diff_settings.py
@$(PRINT) "\tconfig[\"makeflags\"] = ['-s']\n" >> diff_settings.py # @$(PRINT) "\tconfig[\"makeflags\"] = ['-s']\n" >> diff_settings.py
# Musical note print for individual overlays
# Need to figure out how to print this only when building a single overlay
# $(YELLOW) ╒════╕\n │ │\n _│ _│\n └─┘ └─┘\n
# Verify that any given overlay matches, also sets up diff_settings
verify-%: $(BUILD_DIR)/%.rzip.bin $(BIN_ROOT)/%.$(VERSION).rzip.bin $(BUILD_DIR)/%.full progress/progress_%.svg
@$(DIFF) $< $(BIN_ROOT)/$*.$(VERSION).rzip.bin > /dev/null && \
$(PRINT) "$(BLUE)%-10s$(NO_COL): $(GREEN)OK$(NO_COL)\n" "$*" || \
$(PRINT) "$(BLUE)$* $(RED)differs$(NO_COL)\n"
@$(PRINT) "def apply(config, args):\n" > diff_settings.py
@$(PRINT) "\tconfig[\"baseimg\"] = \"$(BUILD_DIR)/$*.$(VERSION).bin\"\n" >> diff_settings.py
@$(PRINT) "\tconfig[\"myimg\"] = \"$(BUILD_DIR)/$*.full\"\n" >> diff_settings.py
@$(PRINT) "\tconfig[\"mapfile\"] = \"$(BUILD_DIR)/$*.map\"\n" >> diff_settings.py
@$(PRINT) "\tconfig[\"source_directories\"] = ['$(SRC_ROOT)/$*', 'include']\n" >> diff_settings.py
@$(PRINT) "\tconfig[\"makeflags\"] = ['TARGET=$*','-s']\n" >> diff_settings.py
$(OVERLAY_PROG_SVGS) : progress/progress_%.svg: progress/progress.%.csv $(OVERLAY_PROG_SVGS) : progress/progress_%.svg: progress/progress.%.csv
$(call print1,Creating progress svg for:,$*) $(call print1,Creating progress svg for:,$*)
@@ -292,29 +227,6 @@ $(TOTAL_PROG_CSV): $(OVERLAY_PROG_CSVS) $(MAIN_PROG_CSV)
$(README_MD): $(TOTAL_PROG_SVG) $(README_MD): $(TOTAL_PROG_SVG)
@head -n 21 $< | tail -n 1 | head -c -8 | tail -c +32 | xargs -i sed -i "/# banjo*/c\# banjo ({})" $@ @head -n 21 $< | tail -n 1 | head -c -8 | tail -c +32 | xargs -i sed -i "/# banjo*/c\# banjo ({})" $@
# Verify that each overlay matches
verify-each: $(addprefix verify-,$(OVERLAYS))
# per-overlay rules
define overlay_rules
# .o -> .elf (overlay)
$(BUILD_DIR)/$(1).elf : $$($(1)_ALL_OBJS) $(1).ld
$(LD) -T $(1).ld -R core2.elf --allow-multiple-definition -Map $(BUILD_DIR)/$(1).map $$(LDFLAGS_COMMON) -T undefined_syms_auto.$(1).$(VERSION).txt -T undefined_funcs_auto.$(1).$(VERSION).txt -o $$@
# split overlay
$(BUILD_DIR)/$(1)_SPLAT_TIMESTAMP : $(SUBYAML)/$(1).$(VERSION).yaml $(BUILD_DIR)/$(1).$(VERSION).bin $(SYMBOL_ADDRS)
$(call print1,Splitting bin:,$$<)
$(SPLAT) $(SUBYAML)/$(1).$(VERSION).yaml
@touch $$@
@touch $(1).ld
# Dummy target to make sure extraction happens before compilation, mainly for extracted asm
$$($(1)_C_SRCS) $$($(1)_ASM_SRCS) $$($(1)_BINS) : | $(BUILD_DIR)/$(1)_SPLAT_TIMESTAMP
@:
# Dummy target to make sure extraction happens before processing extracted files and linking
$$($(1)_NEW_FILES) $(1).ld: $(BUILD_DIR)/$(1)_SPLAT_TIMESTAMP
@:
endef
$(foreach overlay,$(OVERLAYS),$(eval $(call overlay_rules,$(overlay))))
# Additional symbols for core2 # Additional symbols for core2
$(BUILD_DIR)/core2.elf: LDFLAGS_COMMON = -T symbol_addrs.core1.$(VERSION).txt -T symbol_addrs.core2.$(VERSION).txt -T symbol_addrs.global.$(VERSION).txt -T undefined_syms.$(VERSION).txt -T undefined_syms.libultra.txt --no-check-sections --accept-unknown-input-arch -T level_symbols.$(VERSION).txt $(BUILD_DIR)/core2.elf: LDFLAGS_COMMON = -T symbol_addrs.core1.$(VERSION).txt -T symbol_addrs.core2.$(VERSION).txt -T symbol_addrs.global.$(VERSION).txt -T undefined_syms.$(VERSION).txt -T undefined_syms.libultra.txt --no-check-sections --accept-unknown-input-arch -T level_symbols.$(VERSION).txt
$(BUILD_DIR)/core2.temp.elf: LDFLAGS_COMMON = -T symbol_addrs.core1.$(VERSION).txt -T symbol_addrs.core2.$(VERSION).txt -T symbol_addrs.global.$(VERSION).txt -T undefined_syms.$(VERSION).txt -T undefined_syms.libultra.txt --no-check-sections --accept-unknown-input-arch -T level_symbols.$(VERSION).txt $(BUILD_DIR)/core2.temp.elf: LDFLAGS_COMMON = -T symbol_addrs.core1.$(VERSION).txt -T symbol_addrs.core2.$(VERSION).txt -T symbol_addrs.global.$(VERSION).txt -T undefined_syms.$(VERSION).txt -T undefined_syms.libultra.txt --no-check-sections --accept-unknown-input-arch -T level_symbols.$(VERSION).txt
@@ -329,29 +241,20 @@ $(BUILD_DIR)/%.s.o: %.s | $(ASM_BUILD_DIRS)
$(call print2,Assembling:,$<,$@) $(call print2,Assembling:,$<,$@)
@$(GCC) $(GCC_ASFLAGS) $(INCLUDE_CFLAGS) -o $@ $< @$(GCC) $(GCC_ASFLAGS) $(INCLUDE_CFLAGS) -o $@ $<
# .s -> .o (boot)
$(BOOT_ASM_OBJS) : $(BUILD_DIR)/%.s.o : %.s | $(ASM_BUILD_DIRS)
$(call print2,Assembling:,$<,$@)
@$(GCC) $(GCC_ASFLAGS) $(INCLUDE_CFLAGS) -o $@ $<
$(OBJCOPY) --prefix-symbols=boot_ $@
# .bin -> .o # .bin -> .o
$(BIN_OBJS) : $(BUILD_DIR)/%.bin.o : %.bin | $(BIN_BUILD_DIRS) $(BIN_OBJS) : $(BUILD_DIR)/%.bin.o : %.bin | $(BIN_BUILD_DIRS)
$(call print2,Objcopying:,$<,$@) $(call print2,Objcopying:,$<,$@)
@$(OBJCOPY) $(BINOFLAGS) $< $@ @$(OBJCOPY) $(BINOFLAGS) $< $@
# .bin -> .o (overlay)
$(OVERLAY_RZIP_OBJS) : $(BUILD_DIR)/$(BIN_ROOT)/%.$(VERSION).rzip.bin.o : $(BUILD_DIR)/%.rzip.bin
$(call print2,Objcopying:,$<,$@)
@$(OBJCOPY) $(BINOFLAGS) $< $@
$(BUILD_DIR)/bk_boot.full: $(BUILD_DIR)/bk_boot.elf $(BUILD_DIR)/bk_boot.full: $(BUILD_DIR)/bk_boot.elf
@mips-linux-gnu-objcopy -I elf32-tradbigmips -O binary --only-section .boot_bk_boot $(BUILD_DIR)/bk_boot.elf $@ @mips-linux-gnu-objcopy -I elf32-tradbigmips -O binary --only-section .boot_bk_boot $(BUILD_DIR)/bk_boot.elf $@
$(BUILD_DIR)/crc.bin : $(BUILD_DIR)/bk_boot.full $(BUILD_DIR)/core1.code $(BUILD_DIR)/core1.data $(BK_CRC)
@$(BK_CRC) $(BUILD_DIR)/bk_boot.full > $(BUILD_DIR)/crc.bin
@$(BK_CRC) $(BUILD_DIR)/core1.code >> $(BUILD_DIR)/crc.bin
@$(BK_CRC) $(BUILD_DIR)/core1.data >> $(BUILD_DIR)/crc.bin
# .bin -> .o (overlay crc check)
$(CRC_OBJS) : $(BUILD_DIR)/crc.bin
$(call print2,Objcopying:,$<,$@)
@$(OBJCOPY) $(BINOFLAGS) $< $@
# Creates a dummy crc file of 32 bytes to use in the initial link # Creates a dummy crc file of 32 bytes to use in the initial link
$(BUILD_DIR)/dummy_crc.bin: $(BUILD_DIR)/dummy_crc.bin:
$(call print1,Creating dummy crc file:$@) $(call print1,Creating dummy crc file:$@)
@@ -381,113 +284,38 @@ $(GLOBAL_ASM_C_OBJS) : $(BUILD_DIR)/%.c.o : %.c | $(C_BUILD_DIRS)
@$(ASM_PROCESSOR) $(OPT_FLAGS) $< --post-process $@ \ @$(ASM_PROCESSOR) $(OPT_FLAGS) $< --post-process $@ \
--assembler "$(AS) $(ASFLAGS)" --asm-prelude include/prelude.s --assembler "$(AS) $(ASFLAGS)" --asm-prelude include/prelude.s
# .c -> .o (boot)
$(BOOT_C_OBJS) : $(BUILD_DIR)/%.c.o : %.c | $(C_BUILD_DIRS)
$(call print2,Compiling:,$<,$@)
@$(CC) $(CFLAGS) $(CPPFLAGS) $(INCLUDE_CFLAGS) $(OPT_FLAGS) $(MIPSBIT) -o $@ $<
mips-linux-gnu-strip $@ -N asdasdasasdasd
$(OBJCOPY) --prefix-symbols=boot_ $@
$(OBJCOPY) --strip-unneeded $@
# .c -> .o (mips3, boot)
$(BOOT_MIPS3_OBJS) : $(BUILD_DIR)/%.c.o : %.c | $(C_BUILD_DIRS)
$(call print2,Compiling:,$<,$@)
@$(CC) -c -32 $(CFLAGS) $(CPPFLAGS) $(INCLUDE_CFLAGS) $(OPT_FLAGS) $(LOOP_UNROLL) $(MIPSBIT) -o $@ $<
@tools/set_o32abi_bit.py $@
$(OBJCOPY) --prefix-symbols=boot_ $@
$(OBJCOPY) --strip-unneeded $@
# Split baserom # Split baserom
$(BUILD_DIR)/SPLAT_TIMESTAMP: $(BASENAME).$(VERSION).yaml $(SYMBOL_ADDRS) | $(BUILD_DIR) $(BUILD_DIR)/SPLAT_TIMESTAMP: decompressed.$(VERSION).yaml $(SYMBOL_ADDRS) | $(BUILD_DIR)
$(call print1,Splitting rom:,$<) $(call print1,Splitting rom:,$<)
@touch $@ @touch $@
@$(SPLAT) $(BASENAME).$(VERSION).yaml @$(SPLAT) decompressed.$(VERSION).yaml
@touch $(LD_SCRIPT) @touch $(LD_SCRIPT)
sed -i '7s/.*/glabel D_80392D90\n .double 0.99999/' asm/nonmatchings/FP/code_5CC0/func_8038C428.s
# Dummy target to make the LD script and overlay rzips depend on splat being run # Dummy target to make the LD script and overlay rzips depend on splat being run
# without causing it to be rerun once for every overlay # without causing it to be rerun once for every overlay
# Bin files are also dependent on the splat timestamp since they get overwritten on resplit # Bin files are also dependent on the splat timestamp since they get overwritten on resplit
$(MAIN_NEW_FILES) $(LD_SCRIPT) $(MAIN_BINS) : $(BUILD_DIR)/SPLAT_TIMESTAMP $(NEW_FILES) $(LD_SCRIPT) $(ALL_BINS) : $(BUILD_DIR)/SPLAT_TIMESTAMP
@: @:
# Dummy target to make sure extraction happens before compilation, mainly for extracted asm # Dummy target to make sure extraction happens before compilation, mainly for extracted asm
$(MAIN_C_SRCS) $(MAIN_ASM_SRCS) : | $(BUILD_DIR)/SPLAT_TIMESTAMP $(C_SRCS) $(ASM_SRCS) : | $(BUILD_DIR)/SPLAT_TIMESTAMP
@: @:
# .rzip.bin -> .bin
$(OVERLAY_BINS) : $(BUILD_DIR)/%.$(VERSION).bin : $(BIN_ROOT)/%.$(VERSION).rzip.bin $(BK_INFLATE) | $(BUILD_DIR)
$(call print1,Decompressing rzip:,$<)
@$(BK_INFLATE) $< $@
# Special rules to handle core2 code checksumming
ifneq ($(CORE2_CODE_CRC_C_OBJS),)
CORE2_TEMP_LD := core2.temp.ld
CORE2_CODE_CRC_C_TEMP_OBJS := $(CORE2_CODE_CRC_C_OBJS:.c.o=.c.o_)
core2_NON_CRC_OBJS := $(filter-out $(CORE2_CODE_CRC_C_OBJS),$(core2_ALL_OBJS))
# core2.ld -> core2.temp.ld
$(CORE2_TEMP_LD) : core2.ld
$(call print0,Creating linker script for initial core2 linking step)
@$(CP) $< $@
$(foreach obj, $(CORE2_CODE_CRC_C_OBJS), sed -i 's:$(obj):$(obj)_:g' $@)
# core2 .c -> .o with zero for core2 code CRC
$(CORE2_CODE_CRC_C_TEMP_OBJS) : $(BUILD_DIR)/%.c.o_ : %.c | $(C_BUILD_DIRS)
$(call print2,Compiling temp file:,$<,$@)
@$(CC) $(CFLAGS) $(CPPFLAGS) $(INCLUDE_CFLAGS) $(OPT_FLAGS) $(MIPSBIT) -o $@ $<
# core2 objects with zero for code CRC -> core2.temp.elf
$(BUILD_DIR)/core2.temp.elf : $(core2_NON_CRC_OBJS) $(CORE2_TEMP_LD) $(CORE2_CODE_CRC_C_TEMP_OBJS)
$(call print1,Linking elf:,$@)
@$(LD) -T $(CORE2_TEMP_LD) -Map $(BUILD_DIR)/core2.map $(LDFLAGS_COMMON) -T undefined_syms_auto.core2.$(VERSION).txt -T undefined_funcs_auto.core2.$(VERSION).txt -o $@
$(BUILD_DIR)/core2.temp.full : $(BUILD_DIR)/core2.temp.elf
@$(OBJCOPY) -I elf32-tradbigmips -O binary $< $@
# core2.temp.elf -> core2.temp.code
$(BUILD_DIR)/core2.temp.code : $(BUILD_DIR)/core2.temp.full $(BUILD_DIR)/core2.temp.elf
$(call print2,Converting initial core2 code:,$<,$@)
@head -c $(shell {\
text_offset=0x$$(nm $(BUILD_DIR)/core2.temp.elf | grep core2_TEXT_START | head -c 8) ;\
data_offset=0x$$(nm $(BUILD_DIR)/core2.temp.elf | grep core2_DATA_START | head -c 8) ;\
echo $$(($$data_offset - $$text_offset)) ;\
}) $< > $@
# core2 code -> core2 code crc
$(BUILD_DIR)/core2.code.crc : $(BUILD_DIR)/core2.temp.code $(BK_CRC)
$(call print0,Calculating core2 code CRC)
@$(BK_CRC) -D CORE2_CODE $< > $@
# core2 .c -> .o with correct core2 code CRC
$(CORE2_CODE_CRC_C_OBJS) : $(BUILD_DIR)/%.c.o : %.c $(BUILD_DIR)/core2.code.crc | $(C_BUILD_DIRS)
$(call print2,Compiling:,$<,$@)
@$(CC) $(CFLAGS) $(CPPFLAGS) $(INCLUDE_CFLAGS) $(OPT_FLAGS) $(MIPSBIT) $(shell cat $(BUILD_DIR)/core2.code.crc) -o $@ $<
endif
# core2 data -> core2 data CRC
$(BUILD_DIR)/core2.data.crc : $(BUILD_DIR)/core2.data $(BK_CRC)
$(call print0,Calculating core2 data CRC)
@$(BK_CRC) -D CORE2_DATA $< > $@
# core1 .c -> .o with correct core2 data CRC
$(CORE2_DATA_CRC_C_OBJS) : $(BUILD_DIR)/%.o : % $(BUILD_DIR)/core2.data.crc | $(C_BUILD_DIRS)
$(call print2,Compiling file with core2 data CRC (with ASM Processor):,$<,$@)
@$(ASM_PROCESSOR) $(OPT_FLAGS) $< > $(BUILD_DIR)/$<
@$(CC) -32 $(CFLAGS) $(CPPFLAGS) $(INCLUDE_CFLAGS) $(OPT_FLAGS) $(MIPSBIT) $(shell cat $(BUILD_DIR)/core2.data.crc) -o $@ $(BUILD_DIR)/$<
@$(ASM_PROCESSOR) $(OPT_FLAGS) $< --post-process $@ \
--assembler "$(AS) $(ASFLAGS)" --asm-prelude include/prelude.s
# .elf -> .code
$(OVERLAY_CODE_BINS) : $(BUILD_DIR)/%.code : $(BUILD_DIR)/%.full $(BUILD_DIR)/%.elf
$(call print2,Converting overlay code:,$<,$@)
@head -c $(shell {\
text_offset=0x$$(nm $(BUILD_DIR)/$*.elf | grep $*_TEXT_START | head -c 8) ;\
data_offset=0x$$(nm $(BUILD_DIR)/$*.elf | grep $*_DATA_START | sort -r | head -c 8) ;\
echo $$(($$data_offset - $$text_offset)) ;\
}) $< > $@
# @$(OBJCOPY) -I elf32-tradbigmips -O binary --only-section .$*_code --only-section .$*_mips3 $< $@
# .elf -> .data
$(OVERLAY_DATA_BINS) : $(BUILD_DIR)/%.data : $(BUILD_DIR)/%.full $(BUILD_DIR)/%.elf
$(call print2,Converting overlay data:,$<,$@)
@tail -c +$(shell {\
text_offset=0x$$(nm $(BUILD_DIR)/$*.elf | grep $*_TEXT_START | head -c 8) ;\
data_offset=0x$$(nm $(BUILD_DIR)/$*.elf | grep $*_DATA_START | sort -r | head -c 8) ;\
echo $$(($$data_offset - $$text_offset + 1)) ;\
}) $< > $@
# @$(OBJCOPY) -I elf32-tradbigmips -O binary --only-section .$*_data --only-section .*_data_* $< $@
# .elf -> .full
$(BUILD_DIR)/%.full : $(BUILD_DIR)/%.elf
@$(OBJCOPY) -I elf32-tradbigmips -O binary $< $@
# .data + .code -> .rzip.bin
$(BUILD_DIR)/%.rzip.bin : $(BUILD_DIR)/%.code $(BUILD_DIR)/%.data $(BK_DEFLATE)
$(call print1,Compressing overlay:,$@)
@cd $(BK_TOOLS) && ../../$(BK_DEFLATE) ../../$@ ../../$(BUILD_DIR)/$*.code ../../$(BUILD_DIR)/$*.data
# .bin -> .yaml # .bin -> .yaml
$(ASSET_ROOT)/assets.yaml : $(BIN_ROOT)/assets.bin $(BK_ASSET_TOOL) $(ASSET_ROOT)/assets.yaml : $(BIN_ROOT)/assets.bin $(BK_ASSET_TOOL)
$(call print1,Extracting Assets:,$@) $(call print1,Extracting Assets:,$@)
@@ -510,20 +338,21 @@ $(ASSET_OBJS): $(ASSET_BIN)
@$(OBJCOPY) $(BINOFLAGS) $< $@ @$(OBJCOPY) $(BINOFLAGS) $< $@
# .o -> .elf (game) # .o -> .elf (game)
$(ELF): $(MAIN_ALL_OBJS) $(LD_SCRIPT) $(OVERLAY_RZIP_OBJS) $(addprefix $(BUILD_DIR)/, $(addsuffix .full, $(OVERLAYS))) $(ASSET_OBJS) $(ELF): $(ALL_OBJS) $(LD_SCRIPT) $(ASSET_OBJS)
$(call print1,Linking elf:,$@) $(call print1,Linking elf:,$@)
@$(LD) $(LDFLAGS) -T undefined_syms_auto.$(VERSION).txt -o $@ @$(LD) $(LDFLAGS) -T undefined_syms_auto.$(VERSION).txt -T undefined_syms.$(VERSION).txt -T rzip_dummy_addrs.txt -o $@
$(BK_BOOT_LD_SCRIPT): $(LD_SCRIPT) $(BK_BOOT_LD_SCRIPT): $(LD_SCRIPT)
sed 's|$(CRC_OBJS)|$(DUMMY_CRC_OBJ)|' $< > $@ sed 's|$(CRC_OBJS)|$(DUMMY_CRC_OBJ)|' $< > $@
# .o -> .elf (game) # .o -> .elf (game)
$(BUILD_DIR)/bk_boot.elf: $(DUMMY_CRC_OBJ) $(filter-out $(CRC_OBJS),$(MAIN_ALL_OBJS)) $(BK_BOOT_LD_SCRIPT) $(OVERLAY_RZIP_OBJS) $(addprefix $(BUILD_DIR)/, $(addsuffix .full, $(OVERLAYS))) $(BUILD_DIR)/bk_boot.elf: $(DUMMY_CRC_OBJ) $(filter-out $(CRC_OBJS),$(MAIN_ALL_OBJS)) $(BK_BOOT_LD_SCRIPT) $(ASSET_OBJS)
$(call print1,Linking elf:,$@) $(call print1,Linking elf:,$@)
@$(LD) -T $(BK_BOOT_LD_SCRIPT) -Map $(ELF:.elf=.map) --no-check-sections --accept-unknown-input-arch -T undefined_syms.libultra.txt -T undefined_syms_auto.$(VERSION).txt -o $@ @$(LD) -T $(BK_BOOT_LD_SCRIPT) -Map $(ELF:.elf=.map) --no-check-sections --accept-unknown-input-arch -T undefined_syms.libultra.txt -T undefined_syms_auto.$(VERSION).txt -T undefined_syms.$(VERSION).txt -T rzip_dummy_addrs.txt -o $@
# .elf -> .z64 # .elf -> .z64
$(Z64) : $(ELF) $(OVERLAY_PROG_SVGS) $(MAIN_PROG_SVG) $(TOTAL_PROG_SVG) $(README_MD) $(Z64) : $(ELF)
#$(OVERLAY_PROG_SVGS) $(MAIN_PROG_SVG) $(TOTAL_PROG_SVG) $(README_MD)
$(call print1,Creating z64:,$@) $(call print1,Creating z64:,$@)
@$(OBJCOPY) $< $@ -O binary $(OCOPYFLAGS) @$(OBJCOPY) $< $@ -O binary $(OCOPYFLAGS)
@@ -550,9 +379,6 @@ $(SYMBOL_ADDRS): $(SYMBOL_ADDR_FILES)
$(call print0,Combining symbol address files) $(call print0,Combining symbol address files)
@$(CAT) symbol_addrs.*.$(VERSION).txt > $@ @$(CAT) symbol_addrs.*.$(VERSION).txt > $@
# Shorthand rules for each overlay (e.g. SM)
$(OVERLAYS): %: verify-%
clean: clean:
$(call print0,Cleaning build artifacts) $(call print0,Cleaning build artifacts)
@$(RM) -rf $(BUILD_ROOT) @$(RM) -rf $(BUILD_ROOT)
@@ -564,7 +390,6 @@ clean:
@$(RM) -rf $(ASM_ROOT)/core1/os @$(RM) -rf $(ASM_ROOT)/core1/os
@$(RM) -f undefined_syms_auto* undefined_funcs_auto* @$(RM) -f undefined_syms_auto* undefined_funcs_auto*
@$(RM) -f *.ld @$(RM) -f *.ld
@$(RM) -f $(SYMBOL_ADDRS)
# Per-file flag definitions # Per-file flag definitions
build/$(VERSION)/src/core1/io/%.c.o: OPT_FLAGS = -O1 build/$(VERSION)/src/core1/io/%.c.o: OPT_FLAGS = -O1

2209
decompressed.us.v10.yaml Normal file

File diff suppressed because it is too large Load Diff

255
first_diff.py Executable file
View File

@@ -0,0 +1,255 @@
#!/usr/bin/env python3
import os.path
import argparse
from subprocess import check_call
parser = argparse.ArgumentParser(
description="Find the first difference(s) between the built ROM and the base ROM."
)
parser.add_argument(
"-c",
"--count",
type=int,
default=5,
help="find up to this many instruction difference(s)",
)
parser.add_argument(
"-d",
"--diff",
dest="diff_args",
nargs="?",
action="store",
default=False,
const="prompt",
help="run diff.py on the result with the provided arguments"
)
parser.add_argument(
"-m", "--make", help="run ninja before finding difference(s)", action="store_true"
)
args = parser.parse_args()
diff_count = args.count
if args.make:
check_call(["make"])
baseimg = f"decompressed.us.v10.z64"
basemap = f"decompressed.map"
myimg = f"build/us.v10/banjo.us.v10.z64"
mymap = f"build/us.v10/banjo.us.v10.map"
if not os.path.isfile(baseimg):
print(f"{baseimg} must exist.")
exit(1)
if not os.path.isfile(myimg) or not os.path.isfile(mymap):
print(f"{myimg} and {mymap} must exist.")
exit(1)
mybin = open(myimg, "rb").read()
basebin = open(baseimg, "rb").read()
# if len(mybin) != len(basebin):
# print("Modified ROM has different size...")
# exit(1)
if mybin == basebin:
print("No differences!")
exit(0)
def search_rom_address(target_addr):
ram_offset = None
prev_ram = 0
prev_rom = 0
prev_sym = "<start of rom>"
cur_file = "<no file>"
prev_file = cur_file
prev_line = ""
with open(mymap) as f:
for line in f:
if "load address" in line:
# Ignore .bss sections since we're looking for a ROM address
if ".bss" in line or ".bss" in prev_line:
ram_offset = None
continue
ram = int(line[16 : 16 + 18], 0)
rom = int(line[59 : 59 + 18], 0)
ram_offset = ram - rom
continue
prev_line = line
if (
ram_offset is None
or "=" in line
or "*fill*" in line
or " 0x" not in line
):
continue
ram = int(line[16 : 16 + 18], 0)
rom = ram - ram_offset
sym = line.split()[-1]
if "0x" in sym:
ram_offset = None
continue
if "/" in sym:
cur_file = sym
continue
if rom > target_addr:
return f"{prev_sym} (RAM 0x{prev_ram:X}, ROM 0x{prev_rom:X}, {prev_file})"
prev_ram = ram
prev_rom = rom
prev_sym = sym
prev_file = cur_file
return "at end of rom?"
def parse_map(map_fname):
ram_offset = None
cur_file = "<no file>"
syms = {}
prev_sym = None
prev_line = ""
with open(map_fname) as f:
for line in f:
if "load address" in line:
ram = int(line[16 : 16 + 18], 0)
rom = int(line[59 : 59 + 18], 0)
ram_offset = ram - rom
continue
prev_line = line
if (
ram_offset is None
or "=" in line
or "*fill*" in line
or " 0x" not in line
):
continue
ram = int(line[16 : 16 + 18], 0)
rom = ram - ram_offset
sym = line.split()[-1]
if "0x" in sym:
ram_offset = None
continue
elif "/" in sym:
cur_file = sym
continue
syms[sym] = (rom, cur_file, prev_sym, ram)
prev_sym = sym
return syms
def map_diff():
map1 = parse_map(mymap)
map2 = parse_map(basemap)
min_ram = None
found = None
for sym, addr in map1.items():
if sym not in map2:
continue
if addr[0] != map2[sym][0]:
if min_ram is None or addr[0] < min_ram:
min_ram = addr[0]
found = (sym, addr[1], addr[2])
if min_ram is None:
return False
else:
print(
f"Map appears to have shifted just before {found[0]} ({found[1]}) -- in {found[2]}?"
)
if found[2] is not None and found[2] not in map2:
print(
f"(Base map file {basemap} out of date due to new or renamed symbols, so result may be imprecise.)"
)
return True
def hexbytes(bs):
return ":".join("{:02X}".format(c) for c in bs)
found_instr_diff = []
map_search_diff = []
diffs = 0
shift_cap = 1000
for i in range(24, len(mybin), 4):
# (mybin[i:i+4] != basebin[i:i+4], but that's slightly slower in CPython...)
if diffs <= shift_cap and (
mybin[i] != basebin[i]
or mybin[i + 1] != basebin[i + 1]
or mybin[i + 2] != basebin[i + 2]
or mybin[i + 3] != basebin[i + 3]
):
if diffs == 0:
print(f"First difference at ROM addr 0x{i:X}, {search_rom_address(i)}")
print(
f"Bytes: {hexbytes(mybin[i : i + 4])} vs {hexbytes(basebin[i : i + 4])}"
)
diffs += 1
if (
len(found_instr_diff) < diff_count
and mybin[i] >> 2 != basebin[i] >> 2
and not search_rom_address(i) in map_search_diff
):
found_instr_diff.append(i)
map_search_diff.append(search_rom_address(i))
if diffs == 0:
print("No differences but ROMs differ?")
exit()
if len(found_instr_diff) > 0:
for i in found_instr_diff:
print(f"Instruction difference at ROM addr 0x{i:X}, {search_rom_address(i)}")
print(
f"Bytes: {hexbytes(mybin[i : i + 4])} vs {hexbytes(basebin[i : i + 4])}"
)
print()
definite_shift = diffs > shift_cap
if definite_shift:
print(f"Over {shift_cap} differing words, must be a shifted ROM.")
else:
print(f"{diffs} differing word(s).")
if diffs > 100:
if not os.path.isfile(basemap):
print(
f"To find ROM shifts, copy a clean .map file to {basemap} and rerun this script."
)
elif not map_diff():
print(f"No ROM shift{' (!?)' if definite_shift else ''}")
if args.diff_args:
if len(found_instr_diff) < 1:
print(f"No instruction difference to run diff.py on")
exit()
diff_sym = search_rom_address(found_instr_diff[0]).split()[0]
if args.diff_args == "prompt":
diff_args = input("Call diff.py with which arguments? ") or "--"
else:
diff_args = args.diff_args
if diff_args[0] != "-":
diff_args = "-" + diff_args
check_call(
[
"python3",
"diff.py",
diff_args,
diff_sym,
]
)

View File

@@ -77,7 +77,7 @@ extern "C" {
#define ERR_OSCREATEPIMANAGER 35 #define ERR_OSCREATEPIMANAGER 35
#define ERR_OSVIGETCURRENTMODE 36 #define ERR_OSVIGETCURRENTMODE 36
#define ERR_OSVIGETCURRENTFRAMEBUFFER 37 #define ERR_OSVIGETCURRENTFRAMEBUFFER 37
#define ERR_OSVIGETNEXTFRAMEBUFFER 38 #define ERR_osViGetNextFramebuffer 38
#define ERR_OSVISETXSCALE_VALUE 39 #define ERR_OSVISETXSCALE_VALUE 39
#define ERR_OSVISETXSCALE_VIMGR 40 #define ERR_OSVISETXSCALE_VIMGR 40
#define ERR_OSVISETYSCALE_VALUE 41 #define ERR_OSVISETYSCALE_VALUE 41

View File

@@ -155,7 +155,7 @@ void _n_collectPVoices();
s32 _n_timeToSamples(s32 micros); s32 _n_timeToSamples(s32 micros);
ALMicroTime _n_samplesToTime(s32 samples); ALMicroTime _n_samplesToTime(s32 samples);
int n_alEnvmixerResampleParam(N_PVoice *v, s32 paramId, void* param); int n_alEnvmixerParam(N_PVoice *v, s32 paramId, void* param);
//n_alLoadParam //n_alLoadParam
int n_alLoadParam(N_PVoice *v, s32 paramId, void* param); int n_alLoadParam(N_PVoice *v, s32 paramId, void* param);
#endif #endif

View File

@@ -10,28 +10,28 @@
#define MAX(a,b) (((a)>(b))?(a):(b)) #define MAX(a,b) (((a)>(b))?(a):(b))
#endif #endif
ALVoiceState *__mapVoice(ALSeqPlayer *, u8, u8, u8); ALVoiceState *__n_mapVoice(ALSeqPlayer *, u8, u8, u8);
void __unmapVoice(ALSeqPlayer *seqp, ALVoice *voice); void __n_unmapVoice(ALSeqPlayer *seqp, ALVoice *voice);
char __voiceNeedsNoteKill(ALSeqPlayer *seqp, ALVoice *voice, ALMicroTime killTime); /* sct 1/5/96 */ char __n_voiceNeedsNoteKill(ALSeqPlayer *seqp, ALVoice *voice, ALMicroTime killTime); /* sct 1/5/96 */
ALVoiceState *__lookupVoice(ALSeqPlayer *, u8, u8); ALVoiceState *__n_lookupVoice(ALSeqPlayer *, u8, u8);
ALSound *__lookupSound(ALSeqPlayer *, u8, u8, u8); ALSound *__lookupSound(ALSeqPlayer *, u8, u8, u8);
ALSound *__lookupSoundQuick(ALSeqPlayer *, u8, u8, u8); ALSound *__n_lookupSoundQuick(ALSeqPlayer *, u8, u8, u8);
s16 __vsVol(ALVoiceState *voice, ALSeqPlayer *seqp); s16 __n_vsVol(ALVoiceState *voice, ALSeqPlayer *seqp);
ALMicroTime __vsDelta(ALVoiceState *voice, ALMicroTime t); ALMicroTime __n_vsDelta(ALVoiceState *voice, ALMicroTime t);
ALPan __vsPan(ALVoiceState *voice, ALSeqPlayer *seqp); ALPan __n_vsPan(ALVoiceState *voice, ALSeqPlayer *seqp);
void __initFromBank(ALSeqPlayer *seqp, ALBank *b); void __n_initFromBank(ALSeqPlayer *seqp, ALBank *b);
void __initChanState(ALSeqPlayer *seqp); void __n_initChanState(ALSeqPlayer *seqp);
void __resetPerfChanState(ALSeqPlayer *seqp, s32 chan); void __resetPerfChanState(ALSeqPlayer *seqp, s32 chan);
void __setInstChanState(ALSeqPlayer *seqp, ALInstrument *inst, s32 chan); void __n_setInstChanState(ALSeqPlayer *seqp, ALInstrument *inst, s32 chan);
void __seqpPrintVoices(ALSeqPlayer *); void __seqpPrintVoices(ALSeqPlayer *);
void __seqpReleaseVoice(ALSeqPlayer *seqp, ALVoice *voice, void __n_seqpReleaseVoice(ALSeqPlayer *seqp, ALVoice *voice,
ALMicroTime deltaTime); ALMicroTime deltaTime);
void __seqpStopOsc(ALSeqPlayer *seqp, ALVoiceState *vs); void __n_seqpStopOsc(ALSeqPlayer *seqp, ALVoiceState *vs);
void __postNextSeqEvent(ALSeqPlayer *seqp); /* sct 11/7/95 */ void __postNextSeqEvent(ALSeqPlayer *seqp); /* sct 11/7/95 */

32
rzip_dummy_addrs.txt Normal file
View File

@@ -0,0 +1,32 @@
boot_core1_us_v10_rzip_ROM_START = 0xF19250;
boot_core1_us_v10_rzip_ROM_END = 0xF37F90;
boot_core2_us_v10_rzip_ROM_START = 0xF37F90;
boot_core2_us_v10_rzip_ROM_END = 0xFA3FD0;
boot_CC_us_v10_rzip_ROM_START = 0xFA3FD0;
boot_CC_us_v10_rzip_ROM_END = 0xFA5F50;
boot_MMM_us_v10_rzip_ROM_START = 0xFA5F50;
boot_MMM_us_v10_rzip_ROM_END = 0xFA9150;
boot_GV_us_v10_rzip_ROM_START = 0xFA9150;
boot_GV_us_v10_rzip_ROM_END = 0xFAE860;
boot_TTC_us_v10_rzip_ROM_START = 0xFAE860;
boot_TTC_us_v10_rzip_ROM_END = 0xFB24A0;
boot_MM_us_v10_rzip_ROM_START = 0xFB24A0;
boot_MM_us_v10_rzip_ROM_END = 0xFB44E0;
boot_BGS_us_v10_rzip_ROM_START = 0xFB44E0;
boot_BGS_us_v10_rzip_ROM_END = 0xFB9A30;
boot_RBB_us_v10_rzip_ROM_START = 0xFB9A30;
boot_RBB_us_v10_rzip_ROM_END = 0xFBEBE0;
boot_FP_us_v10_rzip_ROM_START = 0xFBEBE0;
boot_FP_us_v10_rzip_ROM_END = 0xFC4810;
boot_CCW_us_v10_rzip_ROM_START = 0xFD6190;
boot_CCW_us_v10_rzip_ROM_END = 0xFDAA10;
boot_SM_us_v10_rzip_ROM_START = 0xFC4810;
boot_SM_us_v10_rzip_ROM_END = 0xFC6F20;
boot_cutscenes_us_v10_rzip_ROM_START = 0xFC6F20;
boot_cutscenes_us_v10_rzip_ROM_END = 0xFC9150;
boot_lair_us_v10_rzip_ROM_START = 0xFC9150;
boot_lair_us_v10_rzip_ROM_END = 0xFD0420;
boot_fight_us_v10_rzip_ROM_START = 0xFD0420;
boot_fight_us_v10_rzip_ROM_END = 0xFD6190;
boot_emptyLvl_us_v10_rzip_ROM_START = 0xFDAA10;
boot_emptyLvl_us_v10_rzip_ROM_END = 0xFDAA30;

View File

@@ -218,7 +218,7 @@ void func_80387FD4(Actor *this){
} }
} }
void bgs_func_803885DC(void){ void BGS_func_803885DC(void){
s32 i; s32 i;
for(i = 0; i<5; i++) for(i = 0; i<5; i++)
bgs_D_803907B8[i] = 0; bgs_D_803907B8[i] = 0;

View File

@@ -33,7 +33,7 @@ ActorInfo D_80390690 = {
f32 D_803906B4[3] = {0.0f, 0.0f, 0.0f}; f32 D_803906B4[3] = {0.0f, 0.0f, 0.0f};
/* .code */ /* .code */
bool func_803863F0(Actor *this, f32 arg1[3], s32 arg2){ bool BGS_func_803863F0(Actor *this, f32 arg1[3], s32 arg2){
ActorLocal_Flibbit *local = (ActorLocal_Flibbit *)&this->local; ActorLocal_Flibbit *local = (ActorLocal_Flibbit *)&this->local;
@@ -73,7 +73,7 @@ bool func_80386564(Actor *this){
sp30[1] = sp3C[1] + this->position_y; sp30[1] = sp3C[1] + this->position_y;
sp30[2] = sp3C[2] + this->position_z; sp30[2] = sp3C[2] + this->position_z;
if(func_80329210(this, sp30)) if(func_80329210(this, sp30))
return func_803863F0(this, sp30, 1); return BGS_func_803863F0(this, sp30, 1);
} }
} }
return 0; return 0;
@@ -109,7 +109,7 @@ s32 func_803866A4(Actor *this) {
sp3C[2] = (f32) local->unkE[2]; sp3C[2] = (f32) local->unkE[2];
} }
if (func_80329210(this, sp3C) != 0) { if (func_80329210(this, sp3C) != 0) {
return func_803863F0(this, sp3C, 0); return BGS_func_803863F0(this, sp3C, 0);
} }
} }
return 0; return 0;
@@ -143,7 +143,7 @@ bool func_8038686C(Actor *this) {
sp68[1] += this->position[1]; sp68[1] += this->position[1];
sp68[2] += this->position[2]; sp68[2] += this->position[2];
if (func_80329210(this, sp68)) { if (func_80329210(this, sp68)) {
return func_803863F0(this, sp68, 0); return BGS_func_803863F0(this, sp68, 0);
} }
} }
return FALSE; return FALSE;
@@ -242,7 +242,7 @@ void func_80386AEC(Actor *this, s32 next_state) {
} }
void func_80386E30(ActorMarker *this, ActorMarker *other){ void BGS_func_80386E30(ActorMarker *this, ActorMarker *other){
Actor *thisActor = marker_getActor(this); Actor *thisActor = marker_getActor(this);
if(thisActor->state < 6){ if(thisActor->state < 6){
func_80386AEC(thisActor, 4); func_80386AEC(thisActor, 4);
@@ -325,7 +325,7 @@ void chflibbit_update(Actor *this){
if(!this->unk16C_4){ if(!this->unk16C_4){
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
marker_setCollisionScripts(this->marker, func_80386E30, func_80386E70, func_80386EB0); marker_setCollisionScripts(this->marker, BGS_func_80386E30, func_80386E70, func_80386EB0);
local->unk1C[0] = randf2(-2.0f, -1.0f); local->unk1C[0] = randf2(-2.0f, -1.0f);
local->unk1C[1] = randf2(-2.0f, -1.0f); local->unk1C[1] = randf2(-2.0f, -1.0f);

View File

@@ -89,7 +89,7 @@ void func_8038BB40(ActorMarker * arg0){
} }
} }
void func_8038BBA0(Actor *this, s32 arg1){ void BGS_func_8038BBA0(Actor *this, s32 arg1){
ActorLocal_MrVile *local; ActorLocal_MrVile *local;
local = (ActorLocal_MrVile *)&this->local; local = (ActorLocal_MrVile *)&this->local;
@@ -138,7 +138,7 @@ void func_8038BD84(Actor *this){
local->unk28[0] = 0.0f; local->unk28[0] = 0.0f;
local->unk28[1] = 0.0f; local->unk28[1] = 0.0f;
local->unk28[2] = 0.0f; local->unk28[2] = 0.0f;
func_8038BBA0(this, 101); BGS_func_8038BBA0(this, 101);
} }
void func_8038BDD4(Actor *this) { void func_8038BDD4(Actor *this) {
@@ -200,26 +200,26 @@ void func_8038C0C8(Actor * this, s32 next_state){
local = (ActorLocal_MrVile *)&this->local; local = (ActorLocal_MrVile *)&this->local;
if(next_state == 1) if(next_state == 1)
func_8038BBA0(this, 101); BGS_func_8038BBA0(this, 101);
if(next_state == 2) if(next_state == 2)
func_8038BBA0(this, 101); BGS_func_8038BBA0(this, 101);
if(next_state == 3) if(next_state == 3)
func_8038BBA0(this, 102); BGS_func_8038BBA0(this, 102);
if(next_state == 4) if(next_state == 4)
func_8038BBA0(this, 102); BGS_func_8038BBA0(this, 102);
if(next_state == 5){ if(next_state == 5){
local->target_position[0] = local->target_position[1] = local->target_position[2] = 0.0f; local->target_position[0] = local->target_position[1] = local->target_position[2] = 0.0f;
func_8038BBA0(this, 102); BGS_func_8038BBA0(this, 102);
} }
if(next_state == 6){ if(next_state == 6){
local->target_position[0] = local->target_position[1] = local->target_position[2] = 0.0f; local->target_position[0] = local->target_position[1] = local->target_position[2] = 0.0f;
local->unk24 = 300.0f; local->unk24 = 300.0f;
func_8038BBA0(this, 102); BGS_func_8038BBA0(this, 102);
} }
this->state = next_state; this->state = next_state;
@@ -269,7 +269,7 @@ bool func_8038C2A8(ActorMarker *marker) {
} }
bool func_8038C338(ActorMarker *marker){ bool BGS_func_8038C338(ActorMarker *marker){
Actor *this; Actor *this;
this = marker_getActor(marker); this = marker_getActor(marker);
@@ -312,14 +312,14 @@ void func_8038C408(ActorMarker *marker){
func_8038C0C8(this, 5); func_8038C0C8(this, 5);
} }
void func_8038C434(ActorMarker *marker){ void BGS_func_8038C434(ActorMarker *marker){
Actor *this; Actor *this;
this = marker_getActor(marker); this = marker_getActor(marker);
func_8038C0C8(this, 6); func_8038C0C8(this, 6);
} }
void func_8038C460(ActorMarker *arg0){ void BGS_func_8038C460(ActorMarker *arg0){
func_8038C0C8(marker_getActor(arg0), 1); func_8038C0C8(marker_getActor(arg0), 1);
} }
@@ -394,22 +394,22 @@ void chvile_update(Actor *this) {
func_80258A4C(this->position, this->yaw - 90.0f, local->target_position, &sp70, &sp6C, &sp68); func_80258A4C(this->position, this->yaw - 90.0f, local->target_position, &sp70, &sp6C, &sp68);
if (local->unkC == 102) { if (local->unkC == 102) {
if ((-0.8 < sp68) && (sp68 < 0.8) && (sp70 <= 150.0f) && var_v1) { if ((-0.8 < sp68) && (sp68 < 0.8) && (sp70 <= 150.0f) && var_v1) {
func_8038BBA0(this, 103); BGS_func_8038BBA0(this, 103);
} }
} }
if (local->unkC == 103) { if (local->unkC == 103) {
if (sp70 <= 50.0f) { if (sp70 <= 50.0f) {
if (chvilegame_cpu_consume_piece(local->game_marker, local->target_position)) { if (chvilegame_cpu_consume_piece(local->game_marker, local->target_position)) {
func_8038BBA0(this, 104); BGS_func_8038BBA0(this, 104);
} else { } else {
func_8038BBA0(this, 102); BGS_func_8038BBA0(this, 102);
} }
} else if (func_80335794(this->unk148) >= 3) { } else if (func_80335794(this->unk148) >= 3) {
func_8038BBA0(this, 102); BGS_func_8038BBA0(this, 102);
} }
} }
if ((local->unkC == 104) && (func_80335794(this->unk148) >= 3)) { if ((local->unkC == 104) && (func_80335794(this->unk148) >= 3)) {
func_8038BBA0(this, 102); BGS_func_8038BBA0(this, 102);
} }
} }
} }
@@ -417,7 +417,7 @@ void chvile_update(Actor *this) {
player_getPosition(local->target_position); player_getPosition(local->target_position);
local->unk10 = 500.0f; local->unk10 = 500.0f;
if ((local->unkC == 102) && (ml_vec3f_distance(this->position, local->target_position) < 200.0f)) { if ((local->unkC == 102) && (ml_vec3f_distance(this->position, local->target_position) < 200.0f)) {
func_8038BBA0(this, 103); BGS_func_8038BBA0(this, 103);
} }
if ((local->unkC == 103) && (func_80335794(this->unk148) >= 2)) { if ((local->unkC == 103) && (func_80335794(this->unk148) >= 2)) {
func_8038C0C8(this, 1); func_8038C0C8(this, 1);

View File

@@ -21,14 +21,14 @@ enum chtanktup_leg_e {
TANKTUP_LEG_BACK_RIGHT, TANKTUP_LEG_BACK_RIGHT,
}; };
ActorAnimationInfo D_80390C20[] = { ActorAnimationInfo BGS_D_80390C20[] = {
{0, 0.0f}, {0, 0.0f},
{0x101, 7.5f}, {0x101, 7.5f},
{0x102, 1.75f}, {0x102, 1.75f},
{0x107, 1.75f} {0x107, 1.75f}
}; };
ActorInfo D_80390C40 = {MARKER_6C_TANKTUP, ACTOR_E8_TANKTUP, ASSET_3EE_TANKTUP, 0x01, D_80390C20, ActorInfo D_80390C40 = {MARKER_6C_TANKTUP, ACTOR_E8_TANKTUP, ASSET_3EE_TANKTUP, 0x01, BGS_D_80390C20,
func_8038F6A4, func_80326224, func_80325888, func_8038F6A4, func_80326224, func_80325888,
0, 0x80, 0.0f, 0 0, 0x80, 0.0f, 0
}; };

View File

@@ -18,17 +18,17 @@ typedef struct {
}ActorLocal_Yellow_Flibbit; }ActorLocal_Yellow_Flibbit;
Actor *func_8038DE5C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx** vtx); Actor *func_8038DE5C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx** vtx);
void func_8038E034(Actor *this); void BGS_func_8038E034(Actor *this);
/* .data */ /* .data */
ActorInfo D_80390AE0 = { ActorInfo BGS_D_80390AE0 = {
MARKER_C5_FLIBBIT_YELLOW, ACTOR_137_FLIBBIT_YELLOW, ASSET_385_MODEL_FLIBBIT_YELLOW, MARKER_C5_FLIBBIT_YELLOW, ACTOR_137_FLIBBIT_YELLOW, ASSET_385_MODEL_FLIBBIT_YELLOW,
0, NULL, 0, NULL,
func_8038E034, NULL, func_8038DE5C, BGS_func_8038E034, NULL, func_8038DE5C,
0, 0, 1.0f, 0 0, 0, 1.0f, 0
}; };
s32 D_80390B04[3] = {0xFF, 0xB3, 0}; s32 D_80390B04[3] = {0xFF, 0xB3, 0};
f32 D_80390B10[3] = {0.0f, 0.0f, 0.0f}; f32 BGS_D_80390B10[3] = {0.0f, 0.0f, 0.0f};
/* .code */ /* .code */
void func_8038D1E0(Actor *this) { void func_8038D1E0(Actor *this) {
@@ -325,7 +325,7 @@ Actor *func_8038DE5C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
return this; return this;
} }
void func_8038E034(Actor *this) { void BGS_func_8038E034(Actor *this) {
f32 spB4[3]; f32 spB4[3];
f32 spA8[3]; f32 spA8[3];
f32 spA4; f32 spA4;
@@ -365,7 +365,7 @@ void func_8038E034(Actor *this) {
} }
if (!local->unk2) { if (!local->unk2) {
local->unk2 = TRUE; local->unk2 = TRUE;
func_8038CED0(); BGS_func_8038CED0();
} }
player_getPosition(spB4); player_getPosition(spB4);
spA8[0] = spB4[0] - this->position[0]; spA8[0] = spB4[0] - this->position[0];
@@ -446,7 +446,7 @@ void func_8038E034(Actor *this) {
sp60[0] = (f32) (local->unkA[0] - local->unk4[0]); sp60[0] = (f32) (local->unkA[0] - local->unk4[0]);
sp60[1] = (f32) (local->unkA[1] - local->unk4[1]); sp60[1] = (f32) (local->unkA[1] - local->unk4[1]);
sp60[2] = (f32) (local->unkA[2] - local->unk4[2]); sp60[2] = (f32) (local->unkA[2] - local->unk4[2]);
func_80258A4C(D_80390B10, this->yaw - 90.0f, sp60, &sp74, &sp70, &sp6C); func_80258A4C(BGS_D_80390B10, this->yaw - 90.0f, sp60, &sp74, &sp70, &sp6C);
this->yaw += sp6C * 220.0f * sp9C; this->yaw += sp6C * 220.0f * sp9C;
} }
} }

View File

@@ -10,15 +10,15 @@ typedef struct{
}ActorLocal_BGS_3030; }ActorLocal_BGS_3030;
void func_80389668(Actor *this); void func_80389668(Actor *this);
Actor *func_80389610(ActorMarker *marker, Gfx **, Mtx **, Vtx**); Actor *BGS_func_80389610(ActorMarker *marker, Gfx **, Mtx **, Vtx**);
/* .data */ /* .data */
ActorInfo D_80390880 = { MARKER_19B_CHOIR_TURTLE_YELLOW, ACTOR_27B_CHOIR_TURTLE_YELLOW, ASSET_3F9_MODEL_CHOIR_TURTLE, 0, NULL, func_80389668, NULL, func_80389610, 0, 0, 1.5f, 0}; ActorInfo D_80390880 = { MARKER_19B_CHOIR_TURTLE_YELLOW, ACTOR_27B_CHOIR_TURTLE_YELLOW, ASSET_3F9_MODEL_CHOIR_TURTLE, 0, NULL, func_80389668, NULL, BGS_func_80389610, 0, 0, 1.5f, 0};
ActorInfo D_803908A4 = { MARKER_19C_CHOIR_TURTLE_CYAN, ACTOR_27C_CHOIR_TURTLE_CYAN, ASSET_3F9_MODEL_CHOIR_TURTLE, 0, NULL, func_80389668, NULL, func_80389610, 0, 0, 1.5f, 0}; ActorInfo D_803908A4 = { MARKER_19C_CHOIR_TURTLE_CYAN, ACTOR_27C_CHOIR_TURTLE_CYAN, ASSET_3F9_MODEL_CHOIR_TURTLE, 0, NULL, func_80389668, NULL, BGS_func_80389610, 0, 0, 1.5f, 0};
ActorInfo D_803908C8 = { MARKER_19D_CHOIR_TURTLE_BLUE, ACTOR_27D_CHOIR_TURTLE_BLUE, ASSET_3F9_MODEL_CHOIR_TURTLE, 0, NULL, func_80389668, NULL, func_80389610, 0, 0, 1.5f, 0}; ActorInfo D_803908C8 = { MARKER_19D_CHOIR_TURTLE_BLUE, ACTOR_27D_CHOIR_TURTLE_BLUE, ASSET_3F9_MODEL_CHOIR_TURTLE, 0, NULL, func_80389668, NULL, BGS_func_80389610, 0, 0, 1.5f, 0};
ActorInfo D_803908EC = { MARKER_19E_CHOIR_TURTLE_RED, ACTOR_27E_CHOIR_TURTLE_RED, ASSET_3F9_MODEL_CHOIR_TURTLE, 0, NULL, func_80389668, NULL, func_80389610, 0, 0, 1.5f, 0}; ActorInfo D_803908EC = { MARKER_19E_CHOIR_TURTLE_RED, ACTOR_27E_CHOIR_TURTLE_RED, ASSET_3F9_MODEL_CHOIR_TURTLE, 0, NULL, func_80389668, NULL, BGS_func_80389610, 0, 0, 1.5f, 0};
ActorInfo D_80390910 = { MARKER_19F_CHOIR_TURTLE_PINK, ACTOR_27F_CHOIR_TURTLE_PINK, ASSET_3F9_MODEL_CHOIR_TURTLE, 0, NULL, func_80389668, NULL, func_80389610, 0, 0, 1.5f, 0}; ActorInfo D_80390910 = { MARKER_19F_CHOIR_TURTLE_PINK, ACTOR_27F_CHOIR_TURTLE_PINK, ASSET_3F9_MODEL_CHOIR_TURTLE, 0, NULL, func_80389668, NULL, BGS_func_80389610, 0, 0, 1.5f, 0};
ActorInfo D_80390934 = { MARKER_1A0_CHOIR_TURTLE_PURPLE, ACTOR_280_CHOIR_TURTLE_PURPLE, ASSET_3F9_MODEL_CHOIR_TURTLE, 0, NULL, func_80389668, NULL, func_80389610, 0, 0, 1.5f, 0}; ActorInfo D_80390934 = { MARKER_1A0_CHOIR_TURTLE_PURPLE, ACTOR_280_CHOIR_TURTLE_PURPLE, ASSET_3F9_MODEL_CHOIR_TURTLE, 0, NULL, func_80389668, NULL, BGS_func_80389610, 0, 0, 1.5f, 0};
/* .code */ /* .code */
void func_80389420(ActorMarker *marker) { void func_80389420(ActorMarker *marker) {
@@ -60,7 +60,7 @@ void func_803895D0(ActorMarker *marker, ActorMarker *other_marker){
} }
} }
Actor *func_80389610(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) { Actor *BGS_func_80389610(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
func_8033A45C(4, marker->unk14_20 - 0x19A); func_8033A45C(4, marker->unk14_20 - 0x19A);
return func_80325888(marker, gfx, mtx, vtx); return func_80325888(marker, gfx, mtx, vtx);
} }

View File

@@ -41,11 +41,11 @@ enum asset_e D_80390984[] = { 0, 0xC66, 0xC68, 0xC6A, 0xC92, 0xC93, 0xC94,
enum asset_e D_803909A4[] = { 0, 0xC67, 0xC69, 0, 0xC95, 0xC96, 0xC97}; enum asset_e D_803909A4[] = { 0, 0xC67, 0xC69, 0, 0xC95, 0xC96, 0xC97};
enum asset_e D_803909C0[] = { 0, 0xC6E, 0xC6F, 0, 0xC95, 0xC96, 0xC97}; enum asset_e D_803909C0[] = { 0, 0xC6E, 0xC6F, 0, 0xC95, 0xC96, 0xC97};
enum asset_e D_803909DC[] = {0xC65, 0xC65, 0xC65, 0xC8F, 0, 0, 0}; enum asset_e D_803909DC[] = {0xC65, 0xC65, 0xC65, 0xC8F, 0, 0, 0};
enum asset_e D_803909F8[] = {0xC64, 0, 0, 0xC8E, 0, 0, 0, 0}; enum asset_e BGS_D_803909F8[] = {0xC64, 0, 0, 0xC8E, 0, 0, 0, 0};
enum asset_e D_80390A18[] = {0xC6D, 0xC70, 0xC71, 0xC8E, 0, 0, 0, 0}; enum asset_e D_80390A18[] = {0xC6D, 0xC70, 0xC71, 0xC8E, 0, 0, 0, 0};
/* .code */ /* .code */
bool func_80389810(f32 arg0[3]) { bool BGS_func_80389810(f32 arg0[3]) {
if (func_8028ECAC() != BSGROUP_7_CROC_ATTACK) { if (func_8028ECAC() != BSGROUP_7_CROC_ATTACK) {
return FALSE; return FALSE;
} }
@@ -53,7 +53,7 @@ bool func_80389810(f32 arg0[3]) {
return TRUE; return TRUE;
} }
void func_80389850(Actor *this, s32 arg1) { void BGS_func_80389850(Actor *this, s32 arg1) {
ActorLocal_BGS_3420 *local; ActorLocal_BGS_3420 *local;
Actor *vile; Actor *vile;
f32 sp94[3]; f32 sp94[3];
@@ -158,11 +158,11 @@ void func_80389C58(ActorMarker *marker) {
this = marker_getActor(marker); this = marker_getActor(marker);
local = (ActorLocal_BGS_3420 *)&this->local; local = (ActorLocal_BGS_3420 *)&this->local;
func_80389850(this, 0); BGS_func_80389850(this, 0);
func_80311480(D_80390984[local->unkC], 0xF, func_8038C284(local->vile_marker), this->marker, func_80389BF8, NULL); func_80311480(D_80390984[local->unkC], 0xF, func_8038C284(local->vile_marker), this->marker, func_80389BF8, NULL);
} }
void func_80389CD8(ActorMarker *marker, enum asset_e text_id, s32 arg2){ void BGS_func_80389CD8(ActorMarker *marker, enum asset_e text_id, s32 arg2){
Actor *this; Actor *this;
this = marker_getActor(marker); this = marker_getActor(marker);
@@ -177,11 +177,11 @@ void func_80389D20(ActorMarker *marker) {
this = marker_getActor(marker); this = marker_getActor(marker);
local = (ActorLocal_BGS_3420 *)&this->local; local = (ActorLocal_BGS_3420 *)&this->local;
func_80389850(this, 0); BGS_func_80389850(this, 0);
if (local->unkC == local->unkD) { if (local->unkC == local->unkD) {
func_80311480(D_803909A4[local->unkC], 0xF, func_8038C284(local->vile_marker), this->marker, func_80389CD8, NULL); func_80311480(D_803909A4[local->unkC], 0xF, func_8038C284(local->vile_marker), this->marker, BGS_func_80389CD8, NULL);
} else { } else {
func_80311480(D_803909C0[local->unkC], 0xF, func_8038C284(local->vile_marker), this->marker, func_80389CD8, NULL); func_80311480(D_803909C0[local->unkC], 0xF, func_8038C284(local->vile_marker), this->marker, BGS_func_80389CD8, NULL);
} }
func_80347A14(0); func_80347A14(0);
} }
@@ -202,7 +202,7 @@ void func_80389E40(ActorMarker *marker) {
this = marker_getActor(marker); this = marker_getActor(marker);
local = (ActorLocal_BGS_3420 *)&this->local; local = (ActorLocal_BGS_3420 *)&this->local;
func_80389850(this, 1); BGS_func_80389850(this, 1);
func_80311480(0xC6B, 0xF, func_8038C284(local->vile_marker), this->marker, func_80389DF8, NULL); func_80311480(0xC6B, 0xF, func_8038C284(local->vile_marker), this->marker, func_80389DF8, NULL);
} }
@@ -227,7 +227,7 @@ void func_80389F08(ActorMarker *marker) {
this = marker_getActor(marker); this = marker_getActor(marker);
local = (ActorLocal_BGS_3420 *)&this->local; local = (ActorLocal_BGS_3420 *)&this->local;
func_80389850(this, 0); BGS_func_80389850(this, 0);
var_s2 = func_80326F58(0x49); var_s2 = func_80326F58(0x49);
vile = marker_getActor(local->vile_marker); vile = marker_getActor(local->vile_marker);
if (var_s2 > 0) { if (var_s2 > 0) {
@@ -278,7 +278,7 @@ void func_8038A068(Actor *this, s32 next_state) {
} }
if (next_state == 4) { if (next_state == 4) {
if (local->unkC == local->unkD) { if (local->unkC == local->unkD) {
func_80311480(D_803909F8[local->unkC], 0xE | ((D_803909F8[local->unkC] == 0xC8E) ? 1 : 0) | 0xE, func_8038C284(local->vile_marker), this->marker, func_80389BC8, NULL); func_80311480(BGS_D_803909F8[local->unkC], 0xE | ((BGS_D_803909F8[local->unkC] == 0xC8E) ? 1 : 0) | 0xE, func_8038C284(local->vile_marker), this->marker, func_80389BC8, NULL);
} else { } else {
func_80311480(D_80390A18[local->unkC], 0xF , func_8038C284(local->vile_marker), this->marker, func_80389BC8, NULL); func_80311480(D_80390A18[local->unkC], 0xF , func_8038C284(local->vile_marker), this->marker, func_80389BC8, NULL);
} }
@@ -290,7 +290,7 @@ void func_8038A068(Actor *this, s32 next_state) {
local->unkD = local->unkC; local->unkD = local->unkC;
} }
if (local->unkC == 7) { if (local->unkC == 7) {
func_8038C434(local->vile_marker); BGS_func_8038C434(local->vile_marker);
} else { } else {
local->current_type = YUMBLIE; local->current_type = YUMBLIE;
local->player_score = 0; local->player_score = 0;
@@ -315,7 +315,7 @@ void func_8038A068(Actor *this, s32 next_state) {
func_8038A044(); func_8038A044();
} }
} }
func_8038C460(local->vile_marker); BGS_func_8038C460(local->vile_marker);
func_80347A14(1); func_80347A14(1);
} }
if (next_state == 6) { if (next_state == 6) {
@@ -363,7 +363,7 @@ void chvilegame_player_consume_piece(Actor *this) {
begin = (struct vilegame_piece *)vector_getBegin(local->game_pieces); begin = (struct vilegame_piece *)vector_getBegin(local->game_pieces);
end = (struct vilegame_piece *) vector_getEnd(local->game_pieces); end = (struct vilegame_piece *) vector_getEnd(local->game_pieces);
if ((end != begin) && func_80389810(sp44)){ if ((end != begin) && BGS_func_80389810(sp44)){
sp44[1] = 0.0f; sp44[1] = 0.0f;
for(i_ptr = begin; i_ptr < end; i_ptr++){ for(i_ptr = begin; i_ptr < end; i_ptr++){
if ((ml_vec3f_distance(i_ptr->position, sp44) < 65.25) && chyumblie_is_edible(i_ptr->marker)) { if ((ml_vec3f_distance(i_ptr->position, sp44) < 65.25) && chyumblie_is_edible(i_ptr->marker)) {
@@ -640,7 +640,7 @@ void chvilegame_update(Actor *this) {
} }
} }
} }
if ((this->state == 7) && (func_8038C338(local->vile_marker) != 0)) { if ((this->state == 7) && (BGS_func_8038C338(local->vile_marker) != 0)) {
func_8038A068(this, 1); func_8038A068(this, 1);
} }
} }

View File

@@ -22,25 +22,25 @@ ActorInfo D_80390C88 = {MARKER_6D_TANKTUP_LEG, ACTOR_E9_TANKTUP_LEG_FL, ASSET_3E
}; };
u8 pad_80390CCC[4] = {0}; u8 pad_80390CCC[4] = {0};
ActorAnimationInfo D_80390CB0[3] = { ActorAnimationInfo BGS_D_80390CB0[3] = {
{0, 0.0f}, {0, 0.0f},
{0x104, 8000000.0f}, {0x104, 8000000.0f},
{0x104, 0.75f} {0x104, 0.75f}
}; };
ActorInfo D_80390CC8 = {MARKER_6D_TANKTUP_LEG, ACTOR_EA_TANKTUP_LEG_BL, ASSET_3F0_MODEL_TANKTUP_LEG_BL, 0x01, D_80390CB0, ActorInfo D_80390CC8 = {MARKER_6D_TANKTUP_LEG, ACTOR_EA_TANKTUP_LEG_BL, ASSET_3F0_MODEL_TANKTUP_LEG_BL, 0x01, BGS_D_80390CB0,
func_8038FBF8, func_80326224, func_80325888, func_8038FBF8, func_80326224, func_80325888,
0, 0x166, 0.0f, 0 0, 0x166, 0.0f, 0
}; };
u8 pad_80390CEC[4] = {0}; u8 pad_80390CEC[4] = {0};
ActorAnimationInfo D_80390CF0[3] = { ActorAnimationInfo BGS_D_80390CF0[3] = {
{0, 0.0f}, {0, 0.0f},
{0x105, 8000000.0f}, {0x105, 8000000.0f},
{0x105, 0.75f} {0x105, 0.75f}
}; };
ActorInfo D_80390D08 = {MARKER_6D_TANKTUP_LEG, ACTOR_EB_TANKTUP_LEG_FR, ASSET_3F1_MODEL_TANKTUP_LEG_FR, 0x01, D_80390CF0, ActorInfo D_80390D08 = {MARKER_6D_TANKTUP_LEG, ACTOR_EB_TANKTUP_LEG_FR, ASSET_3F1_MODEL_TANKTUP_LEG_FR, 0x01, BGS_D_80390CF0,
func_8038FBF8, func_80326224, func_80325888, func_8038FBF8, func_80326224, func_80325888,
0, 0x166, 0.0f, 0 0, 0x166, 0.0f, 0
}; };
@@ -67,7 +67,7 @@ void func_8038FB40(ActorMarker *this, s32 arg1){
FUNC_8030E624(SFX_A_BANJO_LANDING_05, 0.8f, 32750); FUNC_8030E624(SFX_A_BANJO_LANDING_05, 0.8f, 32750);
} }
void func_8038FB84(ActorMarker *this, ActorMarker *other_marker){ void BGS_func_8038FB84(ActorMarker *this, ActorMarker *other_marker){
Actor *thisActor; Actor *thisActor;
thisActor = marker_getActor(this); thisActor = marker_getActor(this);
@@ -81,7 +81,7 @@ void func_8038FBF8(Actor *this){
if(!this->initialized){ if(!this->initialized){
this->initialized = 1; this->initialized = 1;
this->marker->propPtr->unk8_3 = 1; this->marker->propPtr->unk8_3 = 1;
marker_setCollisionScripts(this->marker, NULL, NULL, func_8038FB84); marker_setCollisionScripts(this->marker, NULL, NULL, BGS_func_8038FB84);
} }
if(this->state == 2){ if(this->state == 2){
if(animctrl_isAt(this->animctrl, 0.65f)){ if(animctrl_isAt(this->animctrl, 0.65f)){

View File

@@ -3,7 +3,7 @@
#include "variables.h" #include "variables.h"
void func_80324E88(f32); void func_80324E88(f32);
void func_803888E4(Actor *this, s32 arg1); void BGS_func_803888E4(Actor *this, s32 arg1);
typedef struct{ typedef struct{
u32 unk0; u32 unk0;
@@ -33,11 +33,11 @@ s16 D_8039085C[] = {0, 0xC77, 0xC79, 0xC7B}; //success texts
u8 D_80390864[] = {3, 3, 5, 7}; //chchoirgame_sequence_length u8 D_80390864[] = {3, 3, 5, 7}; //chchoirgame_sequence_length
f32 D_80390868[3] = {0.0f, 100.0f, -1020.0f}; //chchoirgame_jiggy_position f32 D_80390868[3] = {0.0f, 100.0f, -1020.0f}; //chchoirgame_jiggy_position
void func_80388660(ActorMarker *this){ void BGS_func_80388660(ActorMarker *this){
func_803888E4(marker_getActor(this), 6); BGS_func_803888E4(marker_getActor(this), 6);
} }
void func_8038868C(void){ void BGS_func_8038868C(void){
jiggySpawn(JIGGY_27_BGS_TIPTUP, D_80390868); jiggySpawn(JIGGY_27_BGS_TIPTUP, D_80390868);
} }
@@ -61,14 +61,14 @@ void func_803886F4(ActorMarker *this){
thisActor = marker_getActor(this); thisActor = marker_getActor(this);
item_set(ITEM_6_HOURGLASS, 1); item_set(ITEM_6_HOURGLASS, 1);
item_set(ITEM_0_HOURGLASS_TIMER, 30*60-1); item_set(ITEM_0_HOURGLASS_TIMER, 30*60-1);
func_803888E4(thisActor, 5); BGS_func_803888E4(thisActor, 5);
} }
void func_8038873C(void){ void func_8038873C(void){
func_8025A6EC(COMUSIC_2B_DING_B, 28000); func_8025A6EC(COMUSIC_2B_DING_B, 28000);
} }
void func_80388760(void){ void BGS_func_80388760(void){
func_8025A6EC(COMUSIC_2C_BUZZER, 28000); func_8025A6EC(COMUSIC_2C_BUZZER, 28000);
} }
@@ -79,20 +79,20 @@ void func_80388784(ActorMarker *this, s32 arg1, s32 arg2){
switch(arg1){ switch(arg1){
case 0xc72: case 0xc72:
case 0xc74: case 0xc74:
func_803888E4(thisActor, 3); BGS_func_803888E4(thisActor, 3);
break; break;
case 0xc78: case 0xc78:
case 0xc7a: case 0xc7a:
case 0xc7c: case 0xc7c:
func_803888E4(thisActor, 4); BGS_func_803888E4(thisActor, 4);
break; break;
case 0xc77: case 0xc77:
case 0xc79: case 0xc79:
func_80324E38(0.0f, 0); func_80324E38(0.0f, 0);
func_803888E4(thisActor, 3); BGS_func_803888E4(thisActor, 3);
break; break;
case 0xc7b: case 0xc7b:
timedFunc_set_0(0.0f, func_8038868C); timedFunc_set_0(0.0f, BGS_func_8038868C);
func_80324E88(2.5f); func_80324E88(2.5f);
func_80324E38(2.5f, 0); func_80324E38(2.5f, 0);
break; break;
@@ -117,11 +117,11 @@ void func_80388848(ActorMarker *this){
func_803204E4(5,1); func_803204E4(5,1);
} }
else{ else{
func_80388660(thisActor->marker); BGS_func_80388660(thisActor->marker);
} }
} }
void func_803888E4(Actor *this, s32 arg1){ void BGS_func_803888E4(Actor *this, s32 arg1){
ActorLocal_BGS_2270 *unqPtr; ActorLocal_BGS_2270 *unqPtr;
f32 sp54; f32 sp54;
@@ -242,7 +242,7 @@ void func_80388E94(ActorMarker *this, s32 arg1){
} }
else{ else{
func_8028F55C(1, thisActor->marker); func_8028F55C(1, thisActor->marker);
timedFunc_set_0(0.5f, func_80388760); timedFunc_set_0(0.5f, BGS_func_80388760);
if(!mapSpecificFlags_get(1) && !func_803203FC(2) && func_80311480(0xc75, 0, NULL, NULL, NULL, NULL)) if(!mapSpecificFlags_get(1) && !func_803203FC(2) && func_80311480(0xc75, 0, NULL, NULL, NULL, NULL))
mapSpecificFlags_set(1,TRUE); mapSpecificFlags_set(1,TRUE);
} }
@@ -296,7 +296,7 @@ void func_80389080(Actor *this){
unqPtr->unkA = 3; unqPtr->unkA = 3;
this->position_y = this->position_y - 300.0f; this->position_y = this->position_y - 300.0f;
} }
func_803888E4(this, 1); BGS_func_803888E4(this, 1);
if(jiggyscore_isSpawned(JIGGY_27_BGS_TIPTUP) && !func_803203FC(2) && !func_803203FC(1)) if(jiggyscore_isSpawned(JIGGY_27_BGS_TIPTUP) && !func_803203FC(2) && !func_803203FC(1))
marker_despawn(this->marker); marker_despawn(this->marker);
} }
@@ -315,12 +315,12 @@ void func_80389080(Actor *this){
if(func_803203FC(2)){ if(func_803203FC(2)){
if(func_803203FC(3)){ if(func_803203FC(3)){
func_80324E38(0.0f,0); func_80324E38(0.0f,0);
func_803888E4(this, 3); BGS_func_803888E4(this, 3);
} }
} }
else{ else{
if(ml_vec3f_distance(this->position, &sp44) < 300.0f && player_getTransformation() == TRANSFORM_1_BANJO && !jiggyscore_isSpawned(JIGGY_27_BGS_TIPTUP)){ if(ml_vec3f_distance(this->position, &sp44) < 300.0f && player_getTransformation() == TRANSFORM_1_BANJO && !jiggyscore_isSpawned(JIGGY_27_BGS_TIPTUP)){
func_803888E4(this, 2); BGS_func_803888E4(this, 2);
} }
} }
} }
@@ -334,7 +334,7 @@ void func_80389080(Actor *this){
} //L80389370 } //L80389370
else{ else{
if(ml_vec3f_distance(this->position, &sp44) >= 300.0f) if(ml_vec3f_distance(this->position, &sp44) >= 300.0f)
func_803888E4(this, 1); BGS_func_803888E4(this, 1);
} }
}//L803893A0 }//L803893A0
if(this->state == 6){ if(this->state == 6){

View File

@@ -9,7 +9,7 @@ void func_8025A58C(u32, u32);
void func_80324E88(f32); void func_80324E88(f32);
ActorInfo D_80390AB0 = {MARKER_C4_YELLOW_FLIBBIT_CTRL, ACTOR_136_YELLOW_FLIBBIT_CONTROLLER, 0x00, 0x00, NULL, ActorInfo BGS_D_80390AB0 = {MARKER_C4_YELLOW_FLIBBIT_CTRL, ACTOR_136_YELLOW_FLIBBIT_CONTROLLER, 0x00, 0x00, NULL,
func_8038CEE8, NULL, func_80325340, func_8038CEE8, NULL, func_80325340,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
@@ -20,7 +20,7 @@ f32 D_80390AD4[3] = {1985.0f, 200.0f, -1386.0f};
u8 D_80391240[4]; u8 D_80391240[4];
/* .code */ /* .code */
void func_8038CB20(void){ void BGS_func_8038CB20(void){
jiggySpawn(JIGGY_24_BGS_FLIBBITS, D_80390AD4); jiggySpawn(JIGGY_24_BGS_FLIBBITS, D_80390AD4);
} }
@@ -97,7 +97,7 @@ void func_8038CC08(Actor * arg0, u32 arg1){
if(arg1 == 5){ if(arg1 == 5){
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timed_setCameraToNode(0.0f, 0x27); timed_setCameraToNode(0.0f, 0x27);
timedFunc_set_0(0.2f, func_8038CB20); timedFunc_set_0(0.2f, BGS_func_8038CB20);
func_80324E88(3.0f); func_80324E88(3.0f);
func_80324E38(3.0f, 0); func_80324E38(3.0f, 0);
arg1 = 6; arg1 = 6;
@@ -121,7 +121,7 @@ void func_8038CEB8(void){
D_80391240[2]++; D_80391240[2]++;
} }
void func_8038CED0(void){ void BGS_func_8038CED0(void){
D_80391240[3]++; D_80391240[3]++;
} }

View File

@@ -16,8 +16,8 @@ extern ActorInfo D_80390C88;
extern ActorInfo D_80390CC8; extern ActorInfo D_80390CC8;
extern ActorInfo D_80390D08; extern ActorInfo D_80390D08;
extern ActorInfo D_80390D48; extern ActorInfo D_80390D48;
extern ActorInfo D_80390AB0; extern ActorInfo BGS_D_80390AB0;
extern ActorInfo D_80390AE0; extern ActorInfo BGS_D_80390AE0;
extern ActorInfo D_80390960; extern ActorInfo D_80390960;
extern ActorInfo D_80390A40; extern ActorInfo D_80390A40;
extern ActorInfo D_80390A70; extern ActorInfo D_80390A70;
@@ -33,7 +33,7 @@ extern ActorInfo D_80390D70;
extern ActorInfo D_80390BD8; extern ActorInfo D_80390BD8;
extern ActorInfo D_80390BFC; extern ActorInfo D_80390BFC;
void bgs_func_8038F1E0(void){//bgs_updateSpawnableActors void BGS_func_8038F1E0(void){//bgs_updateSpawnableActors
spawnableActorList_add(&D_80390804, actor_new, 0x00000088);//croctus spawnableActorList_add(&D_80390804, actor_new, 0x00000088);//croctus
spawnableActorList_add(&D_80390690, actor_new, 0x020108A1); //flibbit spawnableActorList_add(&D_80390690, actor_new, 0x020108A1); //flibbit
spawnableActorList_add(&D_803906F8, actor_new, 0x400); //pink_egg_largest spawnableActorList_add(&D_803906F8, actor_new, 0x400); //pink_egg_largest
@@ -47,8 +47,8 @@ void bgs_func_8038F1E0(void){//bgs_updateSpawnableActors
spawnableActorList_add(&D_80390CC8, actor_new, 0x400042c);//tanktup_leg spawnableActorList_add(&D_80390CC8, actor_new, 0x400042c);//tanktup_leg
spawnableActorList_add(&D_80390D08, actor_new, 0x400042c);//tanktup_leg spawnableActorList_add(&D_80390D08, actor_new, 0x400042c);//tanktup_leg
spawnableActorList_add(&D_80390D48, actor_new, 0x400042c);//tanktup_leg spawnableActorList_add(&D_80390D48, actor_new, 0x400042c);//tanktup_leg
spawnableActorList_add(&D_80390AB0, actor_new, 0x81); spawnableActorList_add(&BGS_D_80390AB0, actor_new, 0x81);
spawnableActorList_add(&D_80390AE0, actor_new, 0x20108a1); //yellow_flibbit spawnableActorList_add(&BGS_D_80390AE0, actor_new, 0x20108a1); //yellow_flibbit
spawnableActorList_add(&D_80390960, actor_new, 0); spawnableActorList_add(&D_80390960, actor_new, 0);
spawnableActorList_add(&D_80390A40, actor_new, 0x880); //yumblie spawnableActorList_add(&D_80390A40, actor_new, 0x880); //yumblie
spawnableActorList_add(&D_80390A70, actor_new, 0x9a2); //mr. vile spawnableActorList_add(&D_80390A70, actor_new, 0x9a2); //mr. vile

View File

@@ -119,7 +119,7 @@ void func_80389520(ActorMarker *marker, ActorMarker *otherMarker){
FUNC_8030E624(SFX_65_METALLIC_SCRATCH, 1.0f, 30000); FUNC_8030E624(SFX_65_METALLIC_SCRATCH, 1.0f, 30000);
} }
void func_8038954C(ActorMarker *marker, ActorMarker *otherMarker){ void CC_func_8038954C(ActorMarker *marker, ActorMarker *otherMarker){
Actor *actor = marker_getActor(marker); Actor *actor = marker_getActor(marker);
ActorLocal_CC_3130 *local = (ActorLocal_CC_3130 *) &actor->local; ActorLocal_CC_3130 *local = (ActorLocal_CC_3130 *) &actor->local;
@@ -138,7 +138,7 @@ void chSawblade_update(Actor *this){
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
this->roll = this->yaw; this->roll = this->yaw;
this->yaw = 0.0f; this->yaw = 0.0f;
marker_setCollisionScripts(this->marker, func_80389520, NULL, func_8038954C); marker_setCollisionScripts(this->marker, func_80389520, NULL, CC_func_8038954C);
local->unk0 = &D_80389C30[(this->modelCacheIndex < 0x43) ? this->modelCacheIndex - 0x3D : this->modelCacheIndex - 0x28A]; local->unk0 = &D_80389C30[(this->modelCacheIndex < 0x43) ? this->modelCacheIndex - 0x3D : this->modelCacheIndex - 0x28A];
local->unk4 = 0; local->unk4 = 0;
func_80256C60(this->position, 100); func_80256C60(this->position, 100);

View File

@@ -20,7 +20,7 @@ ActorInfo D_80389AA0 = {
}; };
/* .code */ /* .code */
void func_803863F0(Actor *this, s32 next_state){ void CC_func_803863F0(Actor *this, s32 next_state){
ActorLocal_CC_0 * local = (ActorLocal_CC_0 *)this->local; ActorLocal_CC_0 * local = (ActorLocal_CC_0 *)this->local;
if(this->state == 4){ if(this->state == 4){
func_80388ED4(0); func_80388ED4(0);
@@ -55,7 +55,7 @@ void func_803864D4(Actor *this){
if(!this->unk16C_4){ if(!this->unk16C_4){
this->unk16C_4 = 1; this->unk16C_4 = 1;
marker->propPtr->unk8_3 = 1; marker->propPtr->unk8_3 = 1;
func_803863F0(this, 1); CC_func_803863F0(this, 1);
}//L80386530 }//L80386530
func_80388B4C(&sp4C); func_80388B4C(&sp4C);
@@ -65,27 +65,27 @@ void func_803864D4(Actor *this){
sp30[0] = sp4C[0] - sp40[0]; sp30[0] = sp4C[0] - sp40[0];
sp30[1] = 0.0f; sp30[1] = 0.0f;
sp30[2] = sp4C[2] - sp40[2]; sp30[2] = sp4C[2] - sp40[2];
if(!func_80388CA0()){ if(!CC_func_80388CA0()){
local->unk4 = 2.0f; local->unk4 = 2.0f;
} }
else if(60.0f < gu_sqrtf(sp30[0]*sp30[0] + sp30[1]*sp30[1] + sp30[2]*sp30[2])){ else if(60.0f < gu_sqrtf(sp30[0]*sp30[0] + sp30[1]*sp30[1] + sp30[2]*sp30[2])){
local->unk4 = 0.05f; local->unk4 = 0.05f;
} }
else{ else{
func_803863F0(this, 2); CC_func_803863F0(this, 2);
} }
}//L80386634 }//L80386634
if(func_8025773C(&local->unk0, sp3C)){ if(func_8025773C(&local->unk0, sp3C)){
func_803863F0(this, 4); CC_func_803863F0(this, 4);
} }
if((this->state == 2) && (1.0 <= local->unk8)){ if((this->state == 2) && (1.0 <= local->unk8)){
func_803863F0(this, 3); CC_func_803863F0(this, 3);
}//L803866B4 }//L803866B4
if((this->state == 4) && (1.0 <= local->unk8)){ if((this->state == 4) && (1.0 <= local->unk8)){
func_803863F0(this, 1); CC_func_803863F0(this, 1);
}//L80386714 }//L80386714
if(this->state == 1){ if(this->state == 1){

View File

@@ -66,7 +66,7 @@ void func_80387940(Struct_CC_13C0_1 *arg0, Struct68s *arg1) {
func_803878F0(arg0, arg1, 1); func_803878F0(arg0, arg1, 1);
} }
void func_80387960(Struct_CC_13C0_1 *arg0, Struct68s *arg1) { void CC_func_80387960(Struct_CC_13C0_1 *arg0, Struct68s *arg1) {
func_803878F0(arg0, arg1, 2); func_803878F0(arg0, arg1, 2);
} }
@@ -82,19 +82,19 @@ void func_803879C0(Struct_CC_13C0_1 *arg0, Struct68s *arg1) {
func_803878F0(arg0, arg1, 5); func_803878F0(arg0, arg1, 5);
} }
void func_803879E0(Struct_CC_13C0_1 *arg0, Struct68s *arg1) { void CC_func_803879E0(Struct_CC_13C0_1 *arg0, Struct68s *arg1) {
func_803878F0(arg0, arg1, 6); func_803878F0(arg0, arg1, 6);
} }
void func_80387A00(Struct_CC_13C0_1 *arg0, Struct68s *arg1) { void CC_func_80387A00(Struct_CC_13C0_1 *arg0, Struct68s *arg1) {
func_803878F0(arg0, arg1, 7); func_803878F0(arg0, arg1, 7);
} }
void func_80387A20(Struct_CC_13C0_1 *arg0, Struct68s *arg1) { void CC_func_80387A20(Struct_CC_13C0_1 *arg0, Struct68s *arg1) {
func_803878F0(arg0, arg1, 8); func_803878F0(arg0, arg1, 8);
} }
void func_80387A40(Struct_CC_13C0_1* arg0, Struct68s* arg1, f32 arg2) { void CC_func_80387A40(Struct_CC_13C0_1* arg0, Struct68s* arg1, f32 arg2) {
s32 temp_v0; s32 temp_v0;
f32 sp50[3]; f32 sp50[3];
f32 sp44[3]; f32 sp44[3];
@@ -160,7 +160,7 @@ void func_80387CC0(void){
} }
void func_80387D4C(void){ void CC_func_80387D4C(void){
u32 sp1C; u32 sp1C;
u32 tmp_v0; u32 tmp_v0;
osPiReadIo(0x504, &sp1C); osPiReadIo(0x504, &sp1C);

View File

@@ -25,7 +25,7 @@ extern ActorInfo D_80389E68;
extern ActorInfo D_80389E8C; extern ActorInfo D_80389E8C;
/* .code */ /* .code */
void func_80387DA0(void) void CC_func_80387DA0(void)
{ {
spawnableActorList_add(&D_80389AA0, actor_new, 0X4080); spawnableActorList_add(&D_80389AA0, actor_new, 0X4080);
spawnableActorList_add(&D_80389E44, actor_new, 0X10080); spawnableActorList_add(&D_80389E44, actor_new, 0X10080);

View File

@@ -20,7 +20,7 @@ void func_80387F80(void){
func_8034E71C(func_8034C5AC(0x131), 0x190, 0.0f); func_8034E71C(func_8034C5AC(0x131), 0x190, 0.0f);
} }
void func_80387FB0(void){ void CC_func_80387FB0(void){
item_set(ITEM_0_HOURGLASS_TIMER, 48*60 - 1); item_set(ITEM_0_HOURGLASS_TIMER, 48*60 - 1);
item_set(ITEM_6_HOURGLASS, 1); item_set(ITEM_6_HOURGLASS, 1);
D_80389F90.unk1 = 1; D_80389F90.unk1 = 1;
@@ -41,7 +41,7 @@ s32 func_80388010(void){
void func_8038803C(s32 arg0){ void func_8038803C(s32 arg0){
if(arg0 == D_80389F90.unk0){ if(arg0 == D_80389F90.unk0){
if(arg0 == 1){ if(arg0 == 1){
func_80387FB0(); CC_func_80387FB0();
} }
D_80389F90.unk0++; D_80389F90.unk0++;
if(D_80389F90.unk0 >= 9){ if(D_80389F90.unk0 >= 9){

View File

@@ -112,7 +112,7 @@ void func_80388664(void) {
jiggySpawn(JIGGY_17_CC_CLANKER_RAISED, D_80389C00); jiggySpawn(JIGGY_17_CC_CLANKER_RAISED, D_80389C00);
} }
void func_8038868C(void) { void CC_func_8038868C(void) {
func_80324E38(0, 3); func_80324E38(0, 3);
timed_setCameraToNode(0, 0); timed_setCameraToNode(0, 0);
timed_setCameraToNode(5.5f, 1); timed_setCameraToNode(5.5f, 1);
@@ -128,7 +128,7 @@ void func_8038868C(void) {
} }
void func_80388760(Gfx **gfx, Mtx **mtx, Vtx **vtx){ void CC_func_80388760(Gfx **gfx, Mtx **mtx, Vtx **vtx){
BKVertexList *tmp_v0; BKVertexList *tmp_v0;
s32 s1; s32 s1;
f32 spA4[3]; f32 spA4[3];
@@ -237,11 +237,11 @@ void func_80388C50(s32 arg0, s32 arg1){
func_8031CD20(arg0, 0xb, 1); func_8031CD20(arg0, 0xb, 1);
} }
void func_80388C78(s32 arg0, s32 arg1){ void CC_func_80388C78(s32 arg0, s32 arg1){
func_8031CD20(arg0, 0xb, 2); func_8031CD20(arg0, 0xb, 2);
} }
int func_80388CA0(void){ int CC_func_80388CA0(void){
return D_80389FA0.unk21 == 3; return D_80389FA0.unk21 == 3;
} }
@@ -317,7 +317,7 @@ void func_80388ED4(s32 arg0){
D_80389FA0.unk8 = 1.0f; D_80389FA0.unk8 = 1.0f;
} }
void func_80388F4C(void){ void CC_func_80388F4C(void){
f32 sp6C[3]; f32 sp6C[3];
f32 sp68 = time_getDelta(); f32 sp68 = time_getDelta();
f32 sp64; f32 sp64;
@@ -327,7 +327,7 @@ void func_80388F4C(void){
BKCollisionTri *tmp_v0; BKCollisionTri *tmp_v0;
f32 pad[3]; f32 pad[3];
func_80387D4C(); CC_func_80387D4C();
if(D_80389FA0.unk21 != 0 && func_80334904() == 2){ if(D_80389FA0.unk21 != 0 && func_80334904() == 2){
player_getPosition(sp6C); player_getPosition(sp6C);
D_80389FA0.unk20 = (ml_vec3f_distance(sp6C, D_80389FA0.unkC) < 200.0f); D_80389FA0.unk20 = (ml_vec3f_distance(sp6C, D_80389FA0.unkC) < 200.0f);

View File

@@ -30,7 +30,7 @@ ActorInfo D_80389AD0 = {
f32 D_80389AF4[3] = {6200.0f, -2600.0f, 0.0f}; f32 D_80389AF4[3] = {6200.0f, -2600.0f, 0.0f};
/* .code */ /* .code */
void func_80386920(Actor *this, s32 next_state){ void CC_func_80386920(Actor *this, s32 next_state){
ActorLocal_CC_530 *local = (ActorLocal_CC_530 *)&this->local; ActorLocal_CC_530 *local = (ActorLocal_CC_530 *)&this->local;
f32 sp28[3]; f32 sp28[3];
s16 sp20[3]; s16 sp20[3];
@@ -57,7 +57,7 @@ void func_80386920(Actor *this, s32 next_state){
} }
if(next_state == 4){ if(next_state == 4){
func_8038868C(); CC_func_8038868C();
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF); func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF);
} }
@@ -76,7 +76,7 @@ void func_80386AD0(ActorMarker *arg0, s32 arg1) {
void func_80386AF8(Actor *arg0) { void func_80386AF8(Actor *arg0) {
ActorLocal_CC_530 *local = (ActorLocal_CC_530 *)&arg0->local; ActorLocal_CC_530 *local = (ActorLocal_CC_530 *)&arg0->local;
func_80386920(arg0, 0); CC_func_80386920(arg0, 0);
func_8030DA44(local->unk0); func_8030DA44(local->unk0);
} }
@@ -107,10 +107,10 @@ void func_80386B28(Actor *this){
this->position_y = -2620.0f; this->position_y = -2620.0f;
this->position_z = -20.0f; this->position_z = -20.0f;
if(jiggyscore_isSpawned(JIGGY_17_CC_CLANKER_RAISED)){ if(jiggyscore_isSpawned(JIGGY_17_CC_CLANKER_RAISED)){
func_80386920(this, 5); CC_func_80386920(this, 5);
} }
else{ else{
func_80386920(this, 1); CC_func_80386920(this, 1);
} }
} }
else{//L80386C40 else{//L80386C40
@@ -159,10 +159,10 @@ void func_80386B28(Actor *this){
local->unk4[2] = sp58[2]; local->unk4[2] = sp58[2];
if(this->state == 0x1 && local->unk2 == 1){ if(this->state == 0x1 && local->unk2 == 1){
if(--local->unk3 == 0){ if(--local->unk3 == 0){
func_80386920(this, 4); CC_func_80386920(this, 4);
} }
else{ else{
func_80386920(this, 2); CC_func_80386920(this, 2);
} }
}//L80386E4C }//L80386E4C
@@ -172,7 +172,7 @@ void func_80386B28(Actor *this){
} }
this->pitch = (f32)local->unk10 + 30.0f*local->unk14; this->pitch = (f32)local->unk10 + 30.0f*local->unk14;
if(1.0f <= local->unk14){ if(1.0f <= local->unk14){
func_80386920(this, 3); CC_func_80386920(this, 3);
} }
}//L80386EC0 }//L80386EC0
@@ -182,7 +182,7 @@ void func_80386B28(Actor *this){
} }
this->pitch = (f32)local->unk10 + 30.0f*(1.0f - local->unk14); this->pitch = (f32)local->unk10 + 30.0f*(1.0f - local->unk14);
if(1.0f <= local->unk14){ if(1.0f <= local->unk14){
func_80386920(this, 1); CC_func_80386920(this, 1);
} }
}//L80386F44 }//L80386F44
@@ -192,7 +192,7 @@ void func_80386B28(Actor *this){
} }
this->pitch = (f32)local->unk10 + 180.0f*(local->unk14/5.0f); this->pitch = (f32)local->unk10 + 180.0f*(local->unk14/5.0f);
if(5.0f <= local->unk14){ if(5.0f <= local->unk14){
func_80386920(this, 5); CC_func_80386920(this, 5);
func_80388EA4(); func_80388EA4();
} }
}//L80386FC0 }//L80386FC0

View File

@@ -29,7 +29,7 @@ extern ActorInfo D_80389B24 = {
u8 D_80389F80; u8 D_80389F80;
/* .code */ /* .code */
void func_80386FE0(Actor *this, s32 next_state){ void CC_func_80386FE0(Actor *this, s32 next_state){
ActorLocal_CC_BF0 *local = (ActorLocal_CC_BF0 *)&this->local; ActorLocal_CC_BF0 *local = (ActorLocal_CC_BF0 *)&this->local;
s32 prev_state = this->state; s32 prev_state = this->state;
this->state = next_state; this->state = next_state;
@@ -54,7 +54,7 @@ void func_80386FE0(Actor *this, s32 next_state){
} }
} }
void func_803870E0(void) { void CC_func_803870E0(void) {
D_80389F80 = 0; D_80389F80 = 0;
} }
@@ -82,9 +82,9 @@ void func_803870F8(Actor *this){
this->roll = 0.0f; this->roll = 0.0f;
local->unk0 = (marker->modelId == 0x309) ? 1 : 2; local->unk0 = (marker->modelId == 0x309) ? 1 : 2;
local->egg_count = 0; local->egg_count = 0;
func_80386FE0(this, 1); CC_func_80386FE0(this, 1);
if(levelSpecificFlags_get((local->unk0 == 1)? LEVEL_FLAG_0_CC_TOKEN_TOOTH_OPEN: LEVEL_FLAG_1_CC_JIGGY_TOOTH_OPEN)){ if(levelSpecificFlags_get((local->unk0 == 1)? LEVEL_FLAG_0_CC_TOKEN_TOOTH_OPEN: LEVEL_FLAG_1_CC_JIGGY_TOOTH_OPEN)){
func_80386FE0(this, 3); CC_func_80386FE0(this, 3);
} }
}//L803871D8 }//L803871D8
player_getPosition(&sp70); player_getPosition(&sp70);
@@ -119,7 +119,7 @@ void func_803870F8(Actor *this){
D_80389F80 = 0; D_80389F80 = 0;
local->egg_count++; local->egg_count++;
if(local->egg_count == 3){ if(local->egg_count == 3){
func_80386FE0(this, 2); CC_func_80386FE0(this, 2);
}else{ }else{
func_8025A6EC(COMUSIC_2B_DING_B, 28000); func_8025A6EC(COMUSIC_2B_DING_B, 28000);
} }
@@ -131,7 +131,7 @@ void func_803870F8(Actor *this){
((flagCnt == 0)? 0xd30 : 0xd31) : ((flagCnt == 0)? 0xd30 : 0xd31) :
((flagCnt == 0)? 0xd2e : 0xd2f), 4, NULL, NULL, NULL, NULL); ((flagCnt == 0)? 0xd2e : 0xd2f), 4, NULL, NULL, NULL, NULL);
} }
func_80386FE0(this, 3); CC_func_80386FE0(this, 3);
}//L80387474 }//L80387474
if(this->state == 3){ if(this->state == 3){

View File

@@ -8,7 +8,7 @@ ActorInfo D_8038EB50 = { 0x1AC, 0x298, 0x444, 0x0, NULL, func_803864B8, NULL, fu
ActorInfo D_8038EB74 = { 0x1AC, 0x29A, 0x445, 0x0, NULL, func_803864B8, NULL, func_80325888, 0, 0, 0.0f, 0}; ActorInfo D_8038EB74 = { 0x1AC, 0x29A, 0x445, 0x0, NULL, func_803864B8, NULL, func_80325888, 0, 0, 0.0f, 0};
/* .code */ /* .code */
void func_803863F0(Actor *this, s32 next_state){ void CCW_func_803863F0(Actor *this, s32 next_state){
if(next_state == 2){ if(next_state == 2){
FUNC_8030E8B4(SFX_2F_ORANGE_SPLAT, 1.0f, 32000, this->position, 500, 3000); FUNC_8030E8B4(SFX_2F_ORANGE_SPLAT, 1.0f, 32000, this->position, 500, 3000);
levelSpecificFlags_set(0x10, TRUE); levelSpecificFlags_set(0x10, TRUE);
@@ -20,7 +20,7 @@ void func_803863F0(Actor *this, s32 next_state){
void func_80386468(ActorMarker* marker, ActorMarker *arg1) { void func_80386468(ActorMarker* marker, ActorMarker *arg1) {
Actor* actor = marker_getActor(marker); Actor* actor = marker_getActor(marker);
if (actor->state == 1 && map_get() == MAP_44_CCW_SUMMER) { if (actor->state == 1 && map_get() == MAP_44_CCW_SUMMER) {
func_803863F0(actor, 2); CCW_func_803863F0(actor, 2);
} }
} }
@@ -29,7 +29,7 @@ void func_803864B8(Actor *this){
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
marker_setCollisionScripts(this->marker, NULL, NULL, func_80386468); marker_setCollisionScripts(this->marker, NULL, NULL, func_80386468);
func_803863F0(this, 1); CCW_func_803863F0(this, 1);
if(levelSpecificFlags_get(0x10)){ if(levelSpecificFlags_get(0x10)){
marker_despawn(this->marker); marker_despawn(this->marker);
} }

View File

@@ -21,7 +21,7 @@ typedef struct {
f32 unk18[3]; f32 unk18[3];
}ActorLocal_CCW_14B0; }ActorLocal_CCW_14B0;
void func_80387A40(Actor *this); void CCW_func_80387A40(Actor *this);
/* .data */ /* .data */
Struct_CCW_14B0_0 D_8038EC00[] = { Struct_CCW_14B0_0 D_8038EC00[] = {
@@ -30,7 +30,7 @@ Struct_CCW_14B0_0 D_8038EC00[] = {
0 0
}; };
ActorInfo D_8038EC14 = { 0x1AF, 0x29C, 0x446, 0x0, NULL, func_80387A40, NULL, func_80325888, 0, 0, 1.0f, 0}; ActorInfo D_8038EC14 = { 0x1AF, 0x29C, 0x446, 0x0, NULL, CCW_func_80387A40, NULL, func_80325888, 0, 0, 1.0f, 0};
/* .code */ /* .code */
void func_803878A0(Actor *this, s32 next_state) { void func_803878A0(Actor *this, s32 next_state) {
@@ -53,12 +53,12 @@ void func_803878A0(Actor *this, s32 next_state) {
this->state = next_state; this->state = next_state;
} }
void func_80387A20(Actor *this){ void CCW_func_80387A20(Actor *this){
ActorLocal_CCW_14B0 *local = (ActorLocal_CCW_14B0 *)&this->local; ActorLocal_CCW_14B0 *local = (ActorLocal_CCW_14B0 *)&this->local;
func_8030DA44(local->unk0); func_8030DA44(local->unk0);
} }
void func_80387A40(Actor *this) { void CCW_func_80387A40(Actor *this) {
ActorLocal_CCW_14B0 *local; ActorLocal_CCW_14B0 *local;
f32 sp68; f32 sp68;
f32 sp5C[3]; f32 sp5C[3];
@@ -71,7 +71,7 @@ void func_80387A40(Actor *this) {
sp68 = time_getDelta(); sp68 = time_getDelta();
if (!this->unk16C_4) { if (!this->unk16C_4) {
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
this->marker->unk30 = func_80387A20; this->marker->unk30 = CCW_func_80387A20;
local->unk4 = &D_8038EC00[0]; local->unk4 = &D_8038EC00[0];
while((local->unk4->unk0 != 0) && (map_get() != local->unk4->unk0)) { while((local->unk4->unk0 != 0) && (map_get() != local->unk4->unk0)) {
local->unk4++; local->unk4++;

View File

@@ -16,7 +16,7 @@ void func_8038687C(Actor *this);
ActorInfo D_8038EBA0 = { 0x1AD, 0x299, 0x443, 0x0, NULL, func_8038687C, NULL, func_80325888, 0, 0, 0.0f, 0}; ActorInfo D_8038EBA0 = { 0x1AD, 0x299, 0x443, 0x0, NULL, func_8038687C, NULL, func_80325888, 0, 0, 0.0f, 0};
/* .code */ /* .code */
void func_80386550(ActorMarker *marker){ void CCW_func_80386550(ActorMarker *marker){
Actor *this; Actor *this;
ActorLocal_CCW_160 *local; ActorLocal_CCW_160 *local;
@@ -69,7 +69,7 @@ void func_803865F4(Actor *this, s32 next_state) {
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000); func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 28000);
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timed_setCameraToNode(2.0f, 4); timed_setCameraToNode(2.0f, 4);
timedFunc_set_1(2.0f, (GenMethod_1)func_80386550, (s32) this->marker); timedFunc_set_1(2.0f, (GenMethod_1)CCW_func_80386550, (s32) this->marker);
func_80324E88(4.0f); func_80324E88(4.0f);
func_80324E38(4.0f, 0); func_80324E38(4.0f, 0);
} }

View File

@@ -17,7 +17,7 @@ typedef struct{
}ActorLocal_CCW_1B20; }ActorLocal_CCW_1B20;
void func_80387F64(Actor *this, s32 next_state); void func_80387F64(Actor *this, s32 next_state);
Actor *func_803882F4(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *CCW_func_803882F4(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
void func_80388478(Actor *this); void func_80388478(Actor *this);
/* .data */ /* .data */
@@ -28,7 +28,7 @@ Struct_CCW_1B20_0 D_8038EC40[4] ={
{0x183, 1, 1, 0x000, 0x000, 0x00, 0} {0x183, 1, 1, 0x000, 0x000, 0x00, 0}
}; };
ActorInfo D_8038EC70 = { 0x1B0, 0x29D, 0x447, 0x0, NULL, func_80388478, NULL, func_803882F4, 0, 0, 1.0f, 0}; ActorInfo D_8038EC70 = { 0x1B0, 0x29D, 0x447, 0x0, NULL, func_80388478, NULL, CCW_func_803882F4, 0, 0, 1.0f, 0};
f32 D_8038EC94[3] = {200.0f, 2120.0f, -5570.0f}; f32 D_8038EC94[3] = {200.0f, 2120.0f, -5570.0f};
/* .code */ /* .code */
@@ -90,7 +90,7 @@ bool func_80388260(ActorMarker *marker, s32 arg1){
return marker->unk40_31 != 1; return marker->unk40_31 != 1;
} }
void func_80388278(ActorMarker *marker, ActorMarker *other_marker) { void CCW_func_80388278(ActorMarker *marker, ActorMarker *other_marker) {
func_8025A6EC(COMUSIC_2B_DING_B, 28000); func_8025A6EC(COMUSIC_2B_DING_B, 28000);
} }
@@ -102,7 +102,7 @@ void func_803882A4(ActorMarker* marker, ActorMarker *other_marker) {
} }
} }
Actor *func_803882F4(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) { Actor *CCW_func_803882F4(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
Actor *this; Actor *this;
s32 sp18; s32 sp18;
@@ -144,7 +144,7 @@ void func_80388478(Actor *this) {
if (!this->unk16C_4) { if (!this->unk16C_4) {
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
func_803300C0(this->marker, func_80388260); func_803300C0(this->marker, func_80388260);
marker_setCollisionScripts(this->marker, NULL, func_80388278, func_803882A4); marker_setCollisionScripts(this->marker, NULL, CCW_func_80388278, func_803882A4);
actor_collisionOn(this); actor_collisionOn(this);
if (!jiggyscore_isSpawned(JIGGY_4D_CCW_FLOWER)) { if (!jiggyscore_isSpawned(JIGGY_4D_CCW_FLOWER)) {
func_80320004(0xE5, FALSE); func_80320004(0xE5, FALSE);

View File

@@ -15,7 +15,7 @@ typedef struct{
void *unk8; void *unk8;
}ActorLocal_CCW_2270; }ActorLocal_CCW_2270;
void func_8038868C(Actor *this, s32 next_state); void CCW_func_8038868C(Actor *this, s32 next_state);
Actor *func_803889AC(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *func_803889AC(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
void func_80388AA0(Actor *this); void func_80388AA0(Actor *this);
@@ -34,11 +34,11 @@ ActorInfo D_8038ECE8 = {
}; };
/* .code */ /* .code */
void func_80388660(ActorMarker* marker, s32 arg1) { void CCW_func_80388660(ActorMarker* marker, s32 arg1) {
func_8038868C(marker_getActor(marker), arg1); CCW_func_8038868C(marker_getActor(marker), arg1);
} }
void func_8038868C(Actor *this, s32 next_state) { void CCW_func_8038868C(Actor *this, s32 next_state) {
ActorLocal_CCW_2270 *local; ActorLocal_CCW_2270 *local;
local = (ActorLocal_CCW_2270*)&this->local; local = (ActorLocal_CCW_2270*)&this->local;
@@ -60,7 +60,7 @@ void func_8038868C(Actor *this, s32 next_state) {
timed_playSfx(0.8f, SFX_4B_GULPING, 0.8f, 28000); timed_playSfx(0.8f, SFX_4B_GULPING, 0.8f, 28000);
timed_playSfx(1.4f, SFX_4B_GULPING, 0.8f, 28000); timed_playSfx(1.4f, SFX_4B_GULPING, 0.8f, 28000);
timed_playSfx(2.0f, SFX_4B_GULPING, 0.8f, 28000); timed_playSfx(2.0f, SFX_4B_GULPING, 0.8f, 28000);
timedFunc_set_2(3.2f, (TFQM2) func_80388660, (s32) this->marker, 3); timedFunc_set_2(3.2f, (TFQM2) CCW_func_80388660, (s32) this->marker, 3);
} }
if (next_state == 3) { if (next_state == 3) {
func_803883F4(); func_803883F4();
@@ -95,7 +95,7 @@ void func_8038894C(ActorMarker* marker, ActorMarker *other_marker) {
Actor* actor = marker_getActor(marker); Actor* actor = marker_getActor(marker);
if (actor->state == 1) { if (actor->state == 1) {
actor_collisionOff(actor); actor_collisionOff(actor);
timedFunc_set_2(0.5f, (TFQM2)func_80388660, (s32)actor->marker, 2); timedFunc_set_2(0.5f, (TFQM2)CCW_func_80388660, (s32)actor->marker, 2);
} }
} }
@@ -150,9 +150,9 @@ void func_80388AA0(Actor *this) {
} }
if( (map_get() == MAP_44_CCW_SUMMER) && func_8031FF1C(0xE3) && !func_8031FF1C(0xE4)) { if( (map_get() == MAP_44_CCW_SUMMER) && func_8031FF1C(0xE3) && !func_8031FF1C(0xE4)) {
func_8038868C(this, 1); CCW_func_8038868C(this, 1);
} else if( (map_get() == MAP_45_CCW_AUTUMN) && func_8031FF1C(0xE4) && !func_8031FF1C(0xE5) ) { } else if( (map_get() == MAP_45_CCW_AUTUMN) && func_8031FF1C(0xE4) && !func_8031FF1C(0xE5) ) {
func_8038868C(this, 1); CCW_func_8038868C(this, 1);
} else{ } else{
marker_despawn(this->marker); marker_despawn(this->marker);
} }
@@ -177,9 +177,9 @@ void func_80388AA0(Actor *this) {
if(this->state == 3){ if(this->state == 3){
if (!func_80388438()) { if (!func_80388438()) {
if (map_get() == MAP_44_CCW_SUMMER) { if (map_get() == MAP_44_CCW_SUMMER) {
func_8038868C(this, 4); CCW_func_8038868C(this, 4);
} else { } else {
func_8038868C(this, 5); CCW_func_8038868C(this, 5);
} }
} }
} }
@@ -203,14 +203,14 @@ void func_80388AA0(Actor *this) {
if (this->state == 5){ if (this->state == 5){
if(func_80335794(this->unk148) > 0) { if(func_80335794(this->unk148) > 0) {
func_8038868C(this, 6); CCW_func_8038868C(this, 6);
} }
} }
if (this->state == 6) { if (this->state == 6) {
func_80326224(this); func_80326224(this);
if (0.99 < (f64) this->unk48) { if (0.99 < (f64) this->unk48) {
func_8038868C(this, 7); CCW_func_8038868C(this, 7);
} }
} }
} }

View File

@@ -2,11 +2,11 @@
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
Actor *func_8038954C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *CCW_func_8038954C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
void func_803895F4(Actor *this); void func_803895F4(Actor *this);
/* .data */ /* .data */
ActorInfo D_8038EE70 = { 0x1B3, 0x2A0, 0x483, 0x0, NULL, func_803895F4, NULL, func_8038954C, 0, 0, 0.0f, 0}; ActorInfo D_8038EE70 = { 0x1B3, 0x2A0, 0x483, 0x0, NULL, func_803895F4, NULL, CCW_func_8038954C, 0, 0, 0.0f, 0};
/* .code */ /* .code */
void func_80389440(Actor *this, s32 next_state) { void func_80389440(Actor *this, s32 next_state) {
@@ -33,7 +33,7 @@ void func_8038950C(ActorMarker* marker, ActorMarker* other_marker) {
} }
} }
Actor *func_8038954C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) { Actor *CCW_func_8038954C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
Actor *this; Actor *this;
this = marker_getActor(marker); this = marker_getActor(marker);

View File

@@ -41,7 +41,7 @@ typedef struct {
}ActorLocal_CCW_3310; }ActorLocal_CCW_3310;
Actor *func_80389B24(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *func_80389B24(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
void func_80389BFC(Actor *this); void CCW_func_80389BFC(Actor *this);
/* .data */ /* .data */
Struct_CCW_3310_1 D_8038EEA0[] = { Struct_CCW_3310_1 D_8038EEA0[] = {
@@ -96,7 +96,7 @@ Struct_CCW_3310_0 D_8038F080[] = {
0 0
}; };
ActorInfo D_8038F130 = { MARKER_1B4_EEYRIE_BABY, ACTOR_2A1_EEYRIE_BABY, ASSET_484_MODEL_EAGLE_BABY, 0x0, NULL, func_80389BFC, NULL, func_80389B24, 0, 0, 0.0f, 0}; ActorInfo D_8038F130 = { MARKER_1B4_EEYRIE_BABY, ACTOR_2A1_EEYRIE_BABY, ASSET_484_MODEL_EAGLE_BABY, 0x0, NULL, CCW_func_80389BFC, NULL, func_80389B24, 0, 0, 0.0f, 0};
/* .bss */ /* .bss */
u8 pad_8038FDD0[0x10]; u8 pad_8038FDD0[0x10];
@@ -204,7 +204,7 @@ void func_80389BD8(f32 dst[3]){
dst[2] = D_8038FDE0[2]; dst[2] = D_8038FDE0[2];
} }
void func_80389BFC(Actor *this) { void CCW_func_80389BFC(Actor *this) {
Struct_CCW_3310_1 *iPtr; Struct_CCW_3310_1 *iPtr;
ActorLocal_CCW_3310 *local; ActorLocal_CCW_3310 *local;
f32 sp5C; f32 sp5C;

View File

@@ -33,7 +33,7 @@ void func_8038C0E8(ActorMarker* marker) {
func_8030E878(SFX_81_UUU, sp20, (s32)randf2(10000.0f, 31000.0f), sp24->position, 500.0f, 2500.0f); func_8030E878(SFX_81_UUU, sp20, (s32)randf2(10000.0f, 31000.0f), sp24->position, 500.0f, 2500.0f);
} }
void func_8038C16C(Actor *this, s32 next_state) { void CCW_func_8038C16C(Actor *this, s32 next_state) {
Actor *other; Actor *other;
if (next_state == 1) { if (next_state == 1) {
@@ -102,9 +102,9 @@ void func_8038C41C(Actor *this) {
&& !jiggyscore_isSpawned(JIGGY_4A_CCW_NABNUT) && !jiggyscore_isSpawned(JIGGY_4A_CCW_NABNUT)
&& (this->marker->unk14_20 == 0x1C6 || this->marker->unk14_20 == 0x1CA) && (this->marker->unk14_20 == 0x1C6 || this->marker->unk14_20 == 0x1CA)
){ ){
func_8038C16C(this, 1); CCW_func_8038C16C(this, 1);
} else { } else {
func_8038C16C(this, 2); CCW_func_8038C16C(this, 2);
} }
} }

View File

@@ -16,24 +16,24 @@ void func_8038C7A8(Actor *this);
ActorInfo D_8038F460 = { 0x1BC, 0x2A9, 0x48E, 0x0, NULL, func_8038C7A8, NULL, func_80325888, 0, 0, 0.8f, 0}; ActorInfo D_8038F460 = { 0x1BC, 0x2A9, 0x48E, 0x0, NULL, func_8038C7A8, NULL, func_80325888, 0, 0, 0.8f, 0};
/* .code */ /* .code */
void func_8038C5D0(ActorMarker* marker) { void CCW_func_8038C5D0(ActorMarker* marker) {
Actor* actor = marker_getActor(marker); Actor* actor = marker_getActor(marker);
func_8030E878(SFX_3F2_UNKNOWN, randf2(0.95f, 1.05f), 26000, actor->position, 500.0f, 1000.0f); func_8030E878(SFX_3F2_UNKNOWN, randf2(0.95f, 1.05f), 26000, actor->position, 500.0f, 1000.0f);
} }
void func_8038C638(ActorMarker* marker) { void CCW_func_8038C638(ActorMarker* marker) {
Actor* actor = marker_getActor(marker); Actor* actor = marker_getActor(marker);
func_8030E878(SFX_5_BANJO_LANDING_01, randf2(0.95f, 1.05f), 22000, actor->position, 500.0f, 1000.0f); func_8030E878(SFX_5_BANJO_LANDING_01, randf2(0.95f, 1.05f), 22000, actor->position, 500.0f, 1000.0f);
} }
void func_8038C6A0(Actor *this, s32 next_state) { void CCW_func_8038C6A0(Actor *this, s32 next_state) {
ActorLocal_CCW_61E0 *local; ActorLocal_CCW_61E0 *local;
local = (ActorLocal_CCW_61E0 *)&this->local; local = (ActorLocal_CCW_61E0 *)&this->local;
if (next_state == 1) { if (next_state == 1) {
func_80335924(this->unk148, 0x25B, 0.0f, 1.0f); func_80335924(this->unk148, 0x25B, 0.0f, 1.0f);
func_80335800(this->unk148, 0.5f, func_8038C5D0, this->marker); func_80335800(this->unk148, 0.5f, CCW_func_8038C5D0, this->marker);
func_80335800(this->unk148, 0.7f, func_8038C638, this->marker); func_80335800(this->unk148, 0.7f, CCW_func_8038C638, this->marker);
} }
if (next_state == 3) { if (next_state == 3) {
local->unk0[0] = this->position[0]; local->unk0[0] = this->position[0];
@@ -68,7 +68,7 @@ void func_8038C7A8(Actor *this) {
sp4C = (func_8028E86C() == this->marker); sp4C = (func_8028E86C() == this->marker);
if (this->state == 0) { if (this->state == 0) {
func_8038C6A0(this, sp4C ? 2 : 1); CCW_func_8038C6A0(this, sp4C ? 2 : 1);
} }
if (this->state == 1) { if (this->state == 1) {
@@ -76,16 +76,16 @@ void func_8038C7A8(Actor *this) {
if (ml_vec3f_distance(this->position, sp38) < 50.0f) { if (ml_vec3f_distance(this->position, sp38) < 50.0f) {
func_8028F030(0x2A9); func_8028F030(0x2A9);
FUNC_8030E8B4(SFX_C5_TWINKLY_POP, 1.0f, 25000, this->position, 500, 2500); FUNC_8030E8B4(SFX_C5_TWINKLY_POP, 1.0f, 25000, this->position, 500, 2500);
func_8038C6A0(this, 5); CCW_func_8038C6A0(this, 5);
} }
} }
if (this->state == 2) { if (this->state == 2) {
if (this->unk138_21) { if (this->unk138_21) {
func_8028F010(0x2A9); func_8028F010(0x2A9);
func_8038C6A0(this, 3); CCW_func_8038C6A0(this, 3);
} else if (!sp4C) { } else if (!sp4C) {
func_8028F050(0x2A9); func_8028F050(0x2A9);
func_8038C6A0(this, 5); CCW_func_8038C6A0(this, 5);
} }
} }
if (this->state == 3) { if (this->state == 3) {
@@ -94,7 +94,7 @@ void func_8038C7A8(Actor *this) {
func_80255FE4(this->position, local->unk0, local->unkC, local->unk18); func_80255FE4(this->position, local->unk0, local->unkC, local->unk18);
this->position[1] += 50.0f * sinf(local->unk18 * BAD_PI); this->position[1] += 50.0f * sinf(local->unk18 * BAD_PI);
if (local->unk18 == 1.0) { if (local->unk18 == 1.0) {
func_8038C6A0(this, 4); CCW_func_8038C6A0(this, 4);
} }
} }
} }

View File

@@ -15,7 +15,7 @@ typedef struct{
f32 unk4[3]; f32 unk4[3];
}ActorLocal_CCW_6620; }ActorLocal_CCW_6620;
Actor *func_8038CBF0(ActorMarker *this, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *CCW_func_8038CBF0(ActorMarker *this, Gfx **gfx, Mtx **mtx, Vtx **vtx);
void func_8038CC4C(Actor *this); void func_8038CC4C(Actor *this);
/* .data */ /* .data */
@@ -29,7 +29,7 @@ Struct_CCW_6620_0 D_8038F490[] ={
ActorInfo D_8038F4A8 = { ActorInfo D_8038F4A8 = {
0x1BD, 0x2AA, 0x48F, 0x1BD, 0x2AA, 0x48F,
0x0, NULL, 0x0, NULL,
func_8038CC4C, NULL, func_8038CBF0, func_8038CC4C, NULL, CCW_func_8038CBF0,
0, 0, 2.2f, 0 0, 0, 2.2f, 0
}; };
@@ -67,7 +67,7 @@ void func_8038CB40(Actor *this, s32 next_state) {
} }
Actor *func_8038CBF0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) { Actor *CCW_func_8038CBF0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
Actor *this; Actor *this;
ActorLocal_CCW_6620 *local; ActorLocal_CCW_6620 *local;

View File

@@ -17,7 +17,7 @@ ActorInfo D_8038F640 = {
}; };
/* .code */ /* .code */
void func_8038D510(Actor *this) { void CCW_func_8038D510(Actor *this) {
static s32 D_8038F664[3] = {0xDE, 0xA7, 0x71}; static s32 D_8038F664[3] = {0xDE, 0xA7, 0x71};
static struct42s D_8038F670 = { static struct42s D_8038F670 = {
{{ 0.0f, 50.0f, 0.0f}, { 70.0f, 100.0f, 70.0f}}, {{ 0.0f, 50.0f, 0.0f}, { 70.0f, 100.0f, 70.0f}},
@@ -70,7 +70,7 @@ void func_8038D6D8(Actor *this, s32 next_state) {
if (next_state == 2) { if (next_state == 2) {
this->marker->propPtr->unk8_3 = FALSE; this->marker->propPtr->unk8_3 = FALSE;
func_802BB3DC(0, 60.0f, 0.7f); func_802BB3DC(0, 60.0f, 0.7f);
func_8038D510(this); CCW_func_8038D510(this);
func_8038D5DC(this); func_8038D5DC(this);
FUNC_8030E624(SFX_9B_BOULDER_BREAKING_1, 0.3f, 15000); FUNC_8030E624(SFX_9B_BOULDER_BREAKING_1, 0.3f, 15000);
FUNC_8030E624(SFX_9B_BOULDER_BREAKING_1, 0.5f, 15000); FUNC_8030E624(SFX_9B_BOULDER_BREAKING_1, 0.5f, 15000);

View File

@@ -61,7 +61,7 @@ extern ActorInfo D_8038F81C;
extern ActorInfo D_8038F840; extern ActorInfo D_8038F840;
extern ActorInfo D_8038F864; extern ActorInfo D_8038F864;
void func_8038DB0C(Actor *this); void CCW_func_8038DB0C(Actor *this);
void func_8038DAB0(Actor *this); void func_8038DAB0(Actor *this);
/* .data */ /* .data */
@@ -72,9 +72,9 @@ ActorInfo D_8038F78C = { 0x238, 0x262, 0x4FB, 0x1, NULL, func_802D3D54, func_803
ActorInfo D_8038F7B0 = { 0x243, 0x2E6, 0x533, 0x1, NULL, func_802D3D54, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_8038F7B0 = { 0x243, 0x2E6, 0x533, 0x1, NULL, func_802D3D54, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_8038F7D4 = { 0x263, 0x2E7, 0x518, 0x1, NULL, func_8038DAB0, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_8038F7D4 = { 0x263, 0x2E7, 0x518, 0x1, NULL, func_8038DAB0, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_8038F7F8 = { 0x21E, 0x233, 0x3B3, 0x1, NULL, func_802D3D74, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_8038F7F8 = { 0x21E, 0x233, 0x3B3, 0x1, NULL, func_802D3D74, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_8038F81C = { 0x26B, 0x2DE, 0x531, 0x1, NULL, func_8038DB0C, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_8038F81C = { 0x26B, 0x2DE, 0x531, 0x1, NULL, CCW_func_8038DB0C, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_8038F840 = { 0x26C, 0x2DD, 0x53E, 0x1, NULL, func_8038DB0C, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_8038F840 = { 0x26C, 0x2DD, 0x53E, 0x1, NULL, CCW_func_8038DB0C, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_8038F864 = { 0x26D, 0x2DC, 0x53F, 0x1, NULL, func_8038DB0C, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_8038F864 = { 0x26D, 0x2DC, 0x53F, 0x1, NULL, CCW_func_8038DB0C, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_8038F888 = { 0x1CC, 0x318, 0x0, 0x0, NULL, func_80325F84, NULL, func_80325340, 0, 0, 0.0f, 0}; ActorInfo D_8038F888 = { 0x1CC, 0x318, 0x0, 0x0, NULL, func_80325F84, NULL, func_80325340, 0, 0, 0.0f, 0};
@@ -89,7 +89,7 @@ void func_8038DAB0(Actor *this){
} }
} }
void func_8038DB0C(Actor *this){ void CCW_func_8038DB0C(Actor *this){
if(!this->initialized){ if(!this->initialized){
func_802D3D74(this); func_802D3D74(this);
this->initialized = TRUE; this->initialized = TRUE;
@@ -99,7 +99,7 @@ void func_8038DB0C(Actor *this){
} }
} }
void func_8038DB6C(void) void CCW_func_8038DB6C(void)
{ {
spawnableActorList_add(&D_8038EB50, actor_new, 0X80); spawnableActorList_add(&D_8038EB50, actor_new, 0X80);
spawnableActorList_add(&D_8038EB74, actor_new, 0X80); spawnableActorList_add(&D_8038EB74, actor_new, 0X80);

View File

@@ -25,7 +25,7 @@ void func_8038DFE0(Actor* actor) {
actor->unk38_31 = randi2(0, 0); actor->unk38_31 = randi2(0, 0);
} }
void func_8038E034(Actor* actor) { void CCW_func_8038E034(Actor* actor) {
func_80328B8C(actor, 2, 0.001f, 1); func_80328B8C(actor, 2, 0.001f, 1);
} }
@@ -101,7 +101,7 @@ void func_8038E0C8(Actor *this) {
&& (this->unk38_31 == 0) && (this->unk38_31 == 0)
&& (player_getTransformation() == TRANSFORM_1_BANJO) && (player_getTransformation() == TRANSFORM_1_BANJO)
) { ) {
func_8038E034(this); CCW_func_8038E034(this);
} }
break; break;

View File

@@ -83,7 +83,7 @@ void func_80387124(ActorMarker* marker, ActorMarker *other_marker) {
chwasp_setState(marker_getActor(marker), 3); chwasp_setState(marker_getActor(marker), 3);
} }
void func_80387150(ActorMarker* marker, ActorMarker *other_marker) { void CCW_func_80387150(ActorMarker* marker, ActorMarker *other_marker) {
chwasp_setState(marker_getActor(marker), 4); chwasp_setState(marker_getActor(marker), 4);
} }
@@ -120,7 +120,7 @@ void chwasp_update(Actor *this) {
func_8030DD14(local->unk0, 2); func_8030DD14(local->unk0, 2);
func_8030DBB4(local->unk0, 0.9f); func_8030DBB4(local->unk0, 0.9f);
sfxsource_setSampleRate(local->unk0, 0); sfxsource_setSampleRate(local->unk0, 0);
marker_setCollisionScripts(this->marker, func_80387124, NULL, func_80387150); marker_setCollisionScripts(this->marker, func_80387124, NULL, CCW_func_80387150);
chwasp_setState(this, 1); chwasp_setState(this, 1);
return; return;
} }

View File

@@ -5,22 +5,22 @@
void func_803867BC(Actor *this); void func_803867BC(Actor *this);
/* .data */ /* .data */
ActorAnimationInfo D_803919F0[] ={ ActorAnimationInfo FP_D_803919F0[] ={
{ASSET_1A1_ANIM_SLED, 1.0f}, {ASSET_1A1_ANIM_SLED, 1.0f},
{ASSET_1A1_ANIM_SLED, 1.0f}, {ASSET_1A1_ANIM_SLED, 1.0f},
{ASSET_1A1_ANIM_SLED, 1.0f}, {ASSET_1A1_ANIM_SLED, 1.0f},
{ASSET_1A1_ANIM_SLED, 1.0f} {ASSET_1A1_ANIM_SLED, 1.0f}
}; };
ActorInfo D_80391A10 = { ActorInfo FP_D_80391A10 = {
MARKER_3B_SCARF_SLED, ACTOR_181_SCARF_SLED, ASSET_352_MODEL_SLED, MARKER_3B_SCARF_SLED, ACTOR_181_SCARF_SLED, ASSET_352_MODEL_SLED,
0, D_803919F0, 0, FP_D_803919F0,
NULL, func_803867BC, func_80325888, NULL, func_803867BC, func_80325888,
1000, 0, 0.0f, 0 1000, 0, 0.0f, 0
}; };
/* .code */ /* .code */
void func_803863F0(Actor *this, s32 next_state){ void FP_func_803863F0(Actor *this, s32 next_state){
func_80328A84(this, next_state); func_80328A84(this, next_state);
if(next_state == 2){ if(next_state == 2){
@@ -47,7 +47,7 @@ void func_803864F4(ActorMarker *this_marker, ActorMarker *other_marker){
if(player_getTransformation() != TRANSFORM_1_BANJO) return; if(player_getTransformation() != TRANSFORM_1_BANJO) return;
if(func_8028F68C(BS_INTR_27_BANJO_SLED, this->marker)) if(func_8028F68C(BS_INTR_27_BANJO_SLED, this->marker))
func_803863F0(this, 2); FP_func_803863F0(this, 2);
} }
void func_8038655C(Actor *this){ void func_8038655C(Actor *this){
@@ -128,7 +128,7 @@ void func_803867BC(Actor *this){
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
this->unk10_12 = 0; this->unk10_12 = 0;
ml_vec3f_clear(this->velocity); ml_vec3f_clear(this->velocity);
func_803863F0(this, 1); FP_func_803863F0(this, 1);
} }
if(!this->unk16C_4){ if(!this->unk16C_4){

View File

@@ -143,7 +143,7 @@ void func_803881AC(Actor *this){
if( 1.0f == this->velocity_x && func_80387EE4(this)){ if( 1.0f == this->velocity_x && func_80387EE4(this)){
func_8025A6EC(COMUSIC_2B_DING_B, 28000); func_8025A6EC(COMUSIC_2B_DING_B, 28000);
func_8038BA88(this->unkF4_8); FP_func_8038BA88(this->unkF4_8);
} }
if(func_80388000(this)){ if(func_80388000(this)){

View File

@@ -25,7 +25,7 @@ typedef struct {
Actor *func_80388740(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *func_80388740(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
void func_80388D70(ActorMarker *caller, enum asset_e text_id, s32 arg2); void func_80388D70(ActorMarker *caller, enum asset_e text_id, s32 arg2);
void func_80388EE8(ParticleEmitter *pCtrl); void func_80388EE8(ParticleEmitter *pCtrl);
void func_80388F4C(Actor *this); void FP_func_80388F4C(Actor *this);
void func_803896FC(Actor *this); void func_803896FC(Actor *this);
/* .data */ /* .data */
@@ -47,7 +47,7 @@ ActorAnimationInfo D_80391C80[] = {
ActorInfo D_80391CE8 = { 0x97, ACTOR_C8_BOGGY_2, ASSET_38A_MODEL_BOGGY_1, ActorInfo D_80391CE8 = { 0x97, ACTOR_C8_BOGGY_2, ASSET_38A_MODEL_BOGGY_1,
0x1, D_80391C80, 0x1, D_80391C80,
func_80388F4C, func_803896FC, func_80388740, FP_func_80388F4C, func_803896FC, func_80388740,
0, 0, 1.4f, 0 0, 0, 1.4f, 0
}; };
f32 D_80391D0C[3] = {1842.0f, 658.0f, 5758.0f}; f32 D_80391D0C[3] = {1842.0f, 658.0f, 5758.0f};
@@ -67,7 +67,7 @@ struct42s D_80391D58 = {
}; };
f32 D_80391D88[3] = { 1592.0f, 673.0f, 5895.0f}; f32 D_80391D88[3] = { 1592.0f, 673.0f, 5895.0f};
f32 D_80391D94[3] = {0.0f, 0.0f, 0.0f}; f32 FP_D_80391D94[3] = {0.0f, 0.0f, 0.0f};
s32 D_80391DA0[3] = {0x5F5, 0x292, 0x1539}; s32 D_80391DA0[3] = {0x5F5, 0x292, 0x1539};
s32 D_80391DAC[3] = {-0x11F8, 0x637, -0x1816}; s32 D_80391DAC[3] = {-0x11F8, 0x637, -0x1816};
Struct_FP_2350 D_80391DB8[7]={ Struct_FP_2350 D_80391DB8[7]={
@@ -117,7 +117,7 @@ Actor *func_80388740(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
return this; return this;
} }
void func_803888E4(Actor *this){ void FP_func_803888E4(Actor *this){
func_80328B8C(this, 0xC, 0.0001f, 1); func_80328B8C(this, 0xC, 0.0001f, 1);
if(!jiggyscore_isSpawned(JIGGY_30_FP_BOGGY_2)){ if(!jiggyscore_isSpawned(JIGGY_30_FP_BOGGY_2)){
if(mapSpecificFlags_get(5)){ if(mapSpecificFlags_get(5)){
@@ -200,7 +200,7 @@ void func_80388C88(Actor *this){
local->unk18 = 1; local->unk18 = 1;
} }
bool func_80388CA0(Actor *this){ bool FP_func_80388CA0(Actor *this){
ActorLocal_FP_2350 *local = (ActorLocal_FP_2350 *)&this->local; ActorLocal_FP_2350 *local = (ActorLocal_FP_2350 *)&this->local;
u32 sp20; u32 sp20;
@@ -241,7 +241,7 @@ void func_80388D70(ActorMarker *caller, enum asset_e text_id, s32 arg2){
default://L80388E78 default://L80388E78
switch(arg2){ switch(arg2){
case 1: case 1:
func_803888E4(this); FP_func_803888E4(this);
mapSpecificFlags_set(6, TRUE); mapSpecificFlags_set(6, TRUE);
break; break;
case 0: case 0:
@@ -263,10 +263,10 @@ void func_80388EE8(ParticleEmitter *pCtrl){
func_802F0D54(pCtrl); func_802F0D54(pCtrl);
} }
void func_80388F4C(Actor *this){} void FP_func_80388F4C(Actor *this){}
void func_80388F54(ActorMarker *marker){ void func_80388F54(ActorMarker *marker){
Actor *other = func_80328230(ACTOR_C8_BOGGY_2, D_80391D88, D_80391D94); Actor *other = func_80328230(ACTOR_C8_BOGGY_2, D_80391D88, FP_D_80391D94);
func_80343DEC(other); func_80343DEC(other);
} }
@@ -463,11 +463,11 @@ void func_803896FC(Actor *this){
switch(this->state){ switch(this->state){
case 1:// L803899B8 case 1:// L803899B8
if(func_80388CA0(this)){ if(FP_func_80388CA0(this)){
func_80388B18(this, local->unk19); func_80388B18(this, local->unk19);
}//L803899DC }//L803899DC
else if(!jiggyscore_isCollected(JIGGY_30_FP_BOGGY_2) && func_8028ECAC() == BSGROUP_C_WALRUS_SLED){ else if(!jiggyscore_isCollected(JIGGY_30_FP_BOGGY_2) && func_8028ECAC() == BSGROUP_C_WALRUS_SLED){
func_803888E4(this); FP_func_803888E4(this);
} }
else if( func_80329530(this, 0x1C2) else if( func_80329530(this, 0x1C2)
&& func_8028ECAC() == 0 && func_8028ECAC() == 0

View File

@@ -27,7 +27,7 @@ ActorInfo D_80391E08 = { MARKER_1FA_POLAR_BEAR_CUB_BLUE, ACTOR_1EA_POLAR_BEAR_CU
2500, 0, 1.2f, 0 2500, 0, 1.2f, 0
}; };
ActorInfo D_80391E2C = { MARKER_1FB_POLAR_BEAR_CUB_GREEN, ACTOR_1EB_POLAR_BEAR_CUB_GREEN, ASSET_44D_MODEL_POLAR_BEAR_CUB_GREEN, ActorInfo FP_D_80391E2C = { MARKER_1FB_POLAR_BEAR_CUB_GREEN, ACTOR_1EB_POLAR_BEAR_CUB_GREEN, ASSET_44D_MODEL_POLAR_BEAR_CUB_GREEN,
0x1, D_80391DF0, 0x1, D_80391DF0,
func_8038A384, func_80326224, func_80325888, func_8038A384, func_80326224, func_80325888,
2500, 0, 1.2f, 0 2500, 0, 1.2f, 0
@@ -39,7 +39,7 @@ ActorInfo D_80391E50 = { MARKER_1FC_POLAR_BEAR_CUB_RED, ACTOR_1EC_POLAR_BEAR_CUB
2500, 0, 1.2f, 0 2500, 0, 1.2f, 0
}; };
f32 D_80391E74[3] = {-5.0f, 180.0f, 1.0f}; f32 FP_D_80391E74[3] = {-5.0f, 180.0f, 1.0f};
Struct_FP_3E00 D_80391E80[] ={ Struct_FP_3E00 D_80391E80[] ={
{0x11, MARKER_1FD_BLUE_PRESENT_COLLECTABLE, ACTOR_1ED_BLUE_PRESENT_COLLECTABLE, 0x1EE}, {0x11, MARKER_1FD_BLUE_PRESENT_COLLECTABLE, ACTOR_1ED_BLUE_PRESENT_COLLECTABLE, 0x1EE},
{0x12, MARKER_1FE_GREEN_PRESENT_COLLECTABLE, ACTOR_1EF_GREEN_PRESENT_COLLECTABLE, 0x1F0}, {0x12, MARKER_1FE_GREEN_PRESENT_COLLECTABLE, ACTOR_1EF_GREEN_PRESENT_COLLECTABLE, 0x1F0},
@@ -72,7 +72,7 @@ void func_8038A274(Actor *this){
void func_8038A318(ActorMarker *caller, enum asset_e text_id, s32 arg1){ void func_8038A318(ActorMarker *caller, enum asset_e text_id, s32 arg1){
if(text_id == 0xc19){ if(text_id == 0xc19){
func_802BAFE4(0x25); func_802BAFE4(0x25);
jiggySpawn(JIGGY_2E_FP_PRESENTS, D_80391E74); jiggySpawn(JIGGY_2E_FP_PRESENTS, FP_D_80391E74);
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 32000); func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 32000);
func_8025A6EC(COMUSIC_5B_FP_IGLOO_HAPPY, 25000); func_8025A6EC(COMUSIC_5B_FP_IGLOO_HAPPY, 25000);
func_8025A58C(0, 4000); func_8025A58C(0, 4000);

View File

@@ -14,7 +14,7 @@ typedef struct {
extern Struct_FP_45D0_0 D_80392F50; extern Struct_FP_45D0_0 D_80392F50;
/* .code */ /* .code */
void func_8038A9C0(void){ void FP_func_8038A9C0(void){
if( map_get() != MAP_27_FP_FREEZEEZY_PEAK if( map_get() != MAP_27_FP_FREEZEEZY_PEAK
|| jiggyscore_isCollected(JIGGY_2D_FP_SNOWMAN_BUTTONS) || jiggyscore_isCollected(JIGGY_2D_FP_SNOWMAN_BUTTONS)
|| jiggyscore_isSpawned(JIGGY_2D_FP_SNOWMAN_BUTTONS) || jiggyscore_isSpawned(JIGGY_2D_FP_SNOWMAN_BUTTONS)

View File

@@ -44,7 +44,7 @@ extern Struct_FP_4770 D_80393280[0x27];
/* .code */ /* .code */
void func_8038AB60(s32 arg0){ void FP_func_8038AB60(s32 arg0){
int i; int i;
func_8028F8F8(0xe, arg0 ^ 1); func_8028F8F8(0xe, arg0 ^ 1);
@@ -176,7 +176,7 @@ void func_8038B074(s32 indx){
} }
} }
void func_8038B0B8(void){ void FP_func_8038B0B8(void){
int i; int i;
for(i = 0; i < 5; i++){ for(i = 0; i < 5; i++){
func_8038B074(i); func_8038B074(i);
@@ -210,7 +210,7 @@ void func_8038B1C4(void){
void func_8038B1D0(enum jiggy_e jiggy_id){ void func_8038B1D0(enum jiggy_e jiggy_id){
timed_setCameraToNode(0.0f, 3); timed_setCameraToNode(0.0f, 3);
timedFunc_set_0(0.0f, func_8038AEA0); timedFunc_set_0(0.0f, func_8038AEA0);
timedFunc_set_0(0.0f, func_8038B0B8); timedFunc_set_0(0.0f, FP_func_8038B0B8);
timedFunc_set_1(0.1f, (GenMethod_1) func_8038B130, jiggy_id); timedFunc_set_1(0.1f, (GenMethod_1) func_8038B130, jiggy_id);
timedFunc_set_0(5.0f, func_8038B190); timedFunc_set_0(5.0f, func_8038B190);
timedFunc_set_0(5.0f, func_8038B1C4); timedFunc_set_0(5.0f, func_8038B1C4);
@@ -221,7 +221,7 @@ void func_8038B1D0(enum jiggy_e jiggy_id){
void func_8038B268(void){ void func_8038B268(void){
func_80324E88(0.0f); func_80324E88(0.0f);
timedFunc_set_0(0.0f, func_8038AEA0); timedFunc_set_0(0.0f, func_8038AEA0);
timedFunc_set_0(0.0f, func_8038B0B8); timedFunc_set_0(0.0f, FP_func_8038B0B8);
func_8028FA14(map_get(), 0x11); func_8028FA14(map_get(), 0x11);
func_8028F66C(BS_INTR_2A); func_8028F66C(BS_INTR_2A);
} }
@@ -264,7 +264,7 @@ void func_8038B39C(void){
} }
func_8028F918(1); func_8028F918(1);
func_8025A6EC(COMUSIC_3B_MINIGAME_VICTORY, 28000); func_8025A6EC(COMUSIC_3B_MINIGAME_VICTORY, 28000);
func_8038AB60(0); FP_func_8038AB60(0);
func_8038ABDC(); func_8038ABDC();
timed_setCameraToNode(0.0f, 1); timed_setCameraToNode(0.0f, 1);
} }
@@ -278,7 +278,7 @@ void func_8038B410(void){
sp2C->unk38_31 = 1; sp2C->unk38_31 = 1;
func_8025A6EC(COMUSIC_3C_MINIGAME_LOSS, 28000); func_8025A6EC(COMUSIC_3C_MINIGAME_LOSS, 28000);
func_8038AB60(0); FP_func_8038AB60(0);
func_8038ABDC(); func_8038ABDC();
if(!jiggyscore_isCollected(JIGGY_30_FP_BOGGY_2)){ if(!jiggyscore_isCollected(JIGGY_30_FP_BOGGY_2)){
timed_setCameraToNode(0.0f, 1); timed_setCameraToNode(0.0f, 1);
@@ -355,7 +355,7 @@ void func_8038B544(void){
void func_8038B7A4(void){ void func_8038B7A4(void){
int i; int i;
func_8038AB60(0); FP_func_8038AB60(0);
if(map_get() != MAP_27_FP_FREEZEEZY_PEAK || jiggyscore_isCollected(JIGGY_2C_FP_BOGGY_3)){ if(map_get() != MAP_27_FP_FREEZEEZY_PEAK || jiggyscore_isCollected(JIGGY_2C_FP_BOGGY_3)){
D_803935A8.unk0 = 0; D_803935A8.unk0 = 0;
@@ -442,11 +442,11 @@ void func_8038B9C8(void){
D_803935A8.unk18 = 0; D_803935A8.unk18 = 0;
D_803935A8.unk19 = 0; D_803935A8.unk19 = 0;
D_803935A8.unk1A = 0; D_803935A8.unk1A = 0;
func_8038AB60(1); FP_func_8038AB60(1);
D_803935A8.unk0 = 2; D_803935A8.unk0 = 2;
} }
void func_8038BA88(s32 arg0){ void FP_func_8038BA88(s32 arg0){
D_803935A8.unk8 = --arg0; D_803935A8.unk8 = --arg0;
func_8038AC20(arg0, 3); func_8038AC20(arg0, 3);
@@ -517,7 +517,7 @@ void func_8038BC0C(s32 arg0){
if(D_803935A8.unk1A) if(D_803935A8.unk1A)
break; break;
D_803935A8.unk1A = TRUE; D_803935A8.unk1A = TRUE;
func_8038AB60(0); FP_func_8038AB60(0);
if(!func_8028F22C()){ if(!func_8028F22C()){
func_8028F918(2); func_8028F918(2);
func_80311480(0xc10, 0x20, NULL, NULL, func_8038B2C8, NULL); func_80311480(0xc10, 0x20, NULL, NULL, func_8038B2C8, NULL);

View File

@@ -6,16 +6,16 @@ Actor *func_803868C0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
void func_80386AA4(Actor *this); void func_80386AA4(Actor *this);
/* .data */ /* .data */
ActorAnimationInfo D_80391A40 []= { ActorAnimationInfo FP_D_80391A40 []= {
{ ASSET_1A1_ANIM_SLED, 1.0f}, { ASSET_1A1_ANIM_SLED, 1.0f},
{ ASSET_1A1_ANIM_SLED, 1.0f}, { ASSET_1A1_ANIM_SLED, 1.0f},
{ ASSET_1A1_ANIM_SLED, 1.0f}, { ASSET_1A1_ANIM_SLED, 1.0f},
{ ASSET_1A1_ANIM_SLED, 1.0f} { ASSET_1A1_ANIM_SLED, 1.0f}
}; };
ActorInfo D_80391A60 = { ActorInfo FP_D_80391A60 = {
MARKER_3C_RACE_SLED, ACTOR_182_RACE_SLED, ASSET_352_MODEL_SLED, MARKER_3C_RACE_SLED, ACTOR_182_RACE_SLED, ASSET_352_MODEL_SLED,
0x0, D_80391A40, 0x0, FP_D_80391A40,
func_80386AA4, NULL, func_803868C0, func_80386AA4, NULL, func_803868C0,
1000, 0, 0.0f, 0 1000, 0, 0.0f, 0
}; };
@@ -29,7 +29,7 @@ Actor *func_803868C0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
return this; return this;
} }
void func_80386920(Actor *this, s32 next_state){ void FP_func_80386920(Actor *this, s32 next_state){
if(this->state != 1 || next_state != 1){ if(this->state != 1 || next_state != 1){
func_80328A84(this, next_state); func_80328A84(this, next_state);
switch(next_state){ switch(next_state){
@@ -60,7 +60,7 @@ void func_803869FC(ActorMarker *this_marker, ActorMarker *other_marker){
&& player_getTransformation() == TRANSFORM_4_WALRUS && player_getTransformation() == TRANSFORM_4_WALRUS
&& func_8028F68C(BS_INTR_27_WALRUS_SLED, this->marker) && func_8028F68C(BS_INTR_27_WALRUS_SLED, this->marker)
){ ){
func_80386920(this, 3); //start_race FP_func_80386920(this, 3); //start_race
} }
} }
} }
@@ -70,23 +70,23 @@ void func_80386AA4(Actor *this){
if(!this->initialized){ if(!this->initialized){
this->initialized = TRUE; this->initialized = TRUE;
marker_setCollisionScripts(this->marker, func_803869FC, NULL, NULL); marker_setCollisionScripts(this->marker, func_803869FC, NULL, NULL);
func_80386920(this, 1); FP_func_80386920(this, 1);
} }
sp24 = mapSpecificFlags_get(4); sp24 = mapSpecificFlags_get(4);
if(sp24 == 0){ if(sp24 == 0){
func_80386920(this, 1); FP_func_80386920(this, 1);
} }
switch (this->state){ switch (this->state){
case 1://L80386B38 case 1://L80386B38
if(sp24){ if(sp24){
func_80386920(this, 2); FP_func_80386920(this, 2);
} }
break; break;
case 3://L80386B50 case 3://L80386B50
if(func_8028ECAC() != BSGROUP_C_WALRUS_SLED){ if(func_8028ECAC() != BSGROUP_C_WALRUS_SLED){
func_80386920(this, 2); FP_func_80386920(this, 2);
} }
break; break;
} }

View File

@@ -5,7 +5,7 @@
extern void func_80324CD8(f32); extern void func_80324CD8(f32);
extern Actor *func_8032813C(enum actor_e, f32[3], s32); extern Actor *func_8032813C(enum actor_e, f32[3], s32);
Actor *func_8038CED0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *FP_func_8038CED0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
void func_8038D6C8(Actor *this); void func_8038D6C8(Actor *this);
/* .data */ /* .data */
@@ -19,7 +19,7 @@ ActorAnimationInfo D_803920C0[] ={
ActorInfo D_803920E8 = { 0x204, 0x336, 0x442, ActorInfo D_803920E8 = { 0x204, 0x336, 0x442,
0x1, D_803920C0, 0x1, D_803920C0,
func_8038D6C8, func_80326224, func_8038CED0, func_8038D6C8, func_80326224, FP_func_8038CED0,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
@@ -115,7 +115,7 @@ enum actor_e D_8039236C[4] = {
f32 D_8039237C[3] = {-3940.0f, 69.0f, 3570.0f}; f32 D_8039237C[3] = {-3940.0f, 69.0f, 3570.0f};
/* .code */ /* .code */
Actor *func_8038CED0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ Actor *FP_func_8038CED0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
Actor *this = marker_getActor(marker); Actor *this = marker_getActor(marker);
if( func_8038BFA0() || func_8031FF1C(BKPROG_13) ){ if( func_8038BFA0() || func_8031FF1C(BKPROG_13) ){
if(0.0f == this->velocity[1]) if(0.0f == this->velocity[1])

View File

@@ -3,20 +3,20 @@
#include "variables.h" #include "variables.h"
Actor *func_80386B80(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *func_80386B80(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
void func_80386CF8(Actor *this); void FP_func_80386CF8(Actor *this);
/* .data */ /* .data */
ActorAnimationInfo D_80391A90[] ={ ActorAnimationInfo FP_D_80391A90[] ={
{0, 0.0}, {0, 0.0},
{ASSET_143_ANIM_SNOWMAN_BUTTON, 800000.0f}, {ASSET_143_ANIM_SNOWMAN_BUTTON, 800000.0f},
{ASSET_143_ANIM_SNOWMAN_BUTTON, 0.5f}, {ASSET_143_ANIM_SNOWMAN_BUTTON, 0.5f},
{ASSET_143_ANIM_SNOWMAN_BUTTON, 800000.0f} {ASSET_143_ANIM_SNOWMAN_BUTTON, 800000.0f}
}; };
ActorInfo D_80391AB0 = { ActorInfo FP_D_80391AB0 = {
MARKER_B9_FP_SNOWMAN_BUTTON, ACTOR_116_FP_SNOWMAN_BUTTON, ASSET_421_MODEL_FP_SNOWMAN_BUTTON, MARKER_B9_FP_SNOWMAN_BUTTON, ACTOR_116_FP_SNOWMAN_BUTTON, ASSET_421_MODEL_FP_SNOWMAN_BUTTON,
0x1, D_80391A90, 0x1, FP_D_80391A90,
func_80386CF8, func_80326224, func_80386B80, FP_func_80386CF8, func_80326224, func_80386B80,
0, 0x800, 0.0f, 0 0, 0x800, 0.0f, 0
}; };
@@ -45,7 +45,7 @@ Actor *func_80386B80(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
} }
void func_80386BEC(Actor *this){ void FP_func_80386BEC(Actor *this){
f32 plyr_pos[3]; f32 plyr_pos[3];
ParticleEmitter *pCtrl = partEmitList_pushNew(12); ParticleEmitter *pCtrl = partEmitList_pushNew(12);
@@ -67,11 +67,11 @@ void func_80386CB8(ActorMarker *this_marker, ActorMarker *other_marker){
Actor *this = marker_getActor(this_marker); Actor *this = marker_getActor(this_marker);
if(this->state == 1) if(this->state == 1)
func_80386BEC(this); FP_func_80386BEC(this);
} }
void func_80386CF8(Actor *this){ void FP_func_80386CF8(Actor *this){
marker_setCollisionScripts(this->marker, NULL, NULL, func_80386CB8); marker_setCollisionScripts(this->marker, NULL, NULL, func_80386CB8);
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
actor_collisionOn(this); actor_collisionOn(this);

View File

@@ -11,14 +11,14 @@ typedef struct {
} ActorLocal_Wozza; } ActorLocal_Wozza;
Actor *func_8038F210(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *func_8038F210(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
void func_8038F7AC(Actor *this); void FP_func_8038F7AC(Actor *this);
/* .data */ /* .data */
extern ActorAnimationInfo D_80392520[]; extern ActorAnimationInfo D_80392520[];
extern ActorInfo D_80392588 = { MARKER_20B_WOZZA, ACTOR_1F3_WOZZA, ASSET_494_MODEL_WOZZA, extern ActorInfo D_80392588 = { MARKER_20B_WOZZA, ACTOR_1F3_WOZZA, ASSET_494_MODEL_WOZZA,
0x1, D_80392520, 0x1, D_80392520,
func_8038F7AC, func_80326224, func_8038F210, FP_func_8038F7AC, func_80326224, func_8038F210,
0, 0, 1.6f, 0 0, 0, 1.6f, 0
}; };
@@ -132,7 +132,7 @@ bool func_8038F5D4(Actor *this, f32 arg1[3], f32 arg2, f32 arg3, s32 arg4){
} }
bool func_8038F6C4(Actor *this, f32 arg1[3], f32 arg2){ bool FP_func_8038F6C4(Actor *this, f32 arg1[3], f32 arg2){
s32 dTheta; s32 dTheta;
func_80328C64(this, func_803297C8(this, arg1)); func_80328C64(this, func_803297C8(this, arg1));
@@ -144,7 +144,7 @@ bool func_8038F6C4(Actor *this, f32 arg1[3], f32 arg2){
return FALSE; return FALSE;
} }
void func_8038F758(ActorMarker *marker){ void FP_func_8038F758(ActorMarker *marker){
Actor *this = marker_getActor(reinterpret_cast(ActorMarker *, marker)); Actor *this = marker_getActor(reinterpret_cast(ActorMarker *, marker));
Actor *jiggy = spawn_child_actor(ACTOR_1F4_WOZZAS_JIGGY, &this); Actor *jiggy = spawn_child_actor(ACTOR_1F4_WOZZAS_JIGGY, &this);
s32 pad; s32 pad;
@@ -155,7 +155,7 @@ void func_8038F758(ActorMarker *marker){
} }
void func_8038F7AC(Actor *this){ void FP_func_8038F7AC(Actor *this){
ActorLocal_Wozza * local = (ActorLocal_Wozza *)&this->local; ActorLocal_Wozza * local = (ActorLocal_Wozza *)&this->local;
if(func_803203FC(0xC4)){ if(func_803203FC(0xC4)){
@@ -190,7 +190,7 @@ void func_8038F7AC(Actor *this){
this->position[0] = local->unkC[0];\ this->position[0] = local->unkC[0];\
this->position[1] = local->unkC[1];\ this->position[1] = local->unkC[1];\
this->position[2] = local->unkC[2]; this->position[2] = local->unkC[2];
__spawnqueue_add_1(func_8038F758, this->marker); __spawnqueue_add_1(FP_func_8038F758, this->marker);
local->unk30 = FALSE; local->unk30 = FALSE;
} }
}//L8038F910 }//L8038F910
@@ -244,7 +244,7 @@ void func_8038F7AC(Actor *this){
break; break;
case 5: //L8038FB50 case 5: //L8038FB50
func_8038F6C4(this, local->unk18, 1.0f); FP_func_8038F6C4(this, local->unk18, 1.0f);
if(0.97 < animctrl_getAnimTimer(this->animctrl)){ if(0.97 < animctrl_getAnimTimer(this->animctrl)){
func_80328B8C(this, 6, 0.02f, 1); func_80328B8C(this, 6, 0.02f, 1);
actor_loopAnimation(this); actor_loopAnimation(this);
@@ -252,7 +252,7 @@ void func_8038F7AC(Actor *this){
break; break;
case 6: //L8038FBA8 case 6: //L8038FBA8
func_8038F6C4(this, local->unk18, 1.0f); FP_func_8038F6C4(this, local->unk18, 1.0f);
if( func_80329530(this, 1700) ) break; if( func_80329530(this, 1700) ) break;
if( func_8028ECAC() == BSGROUP_A_FLYING ) break; if( func_8028ECAC() == BSGROUP_A_FLYING ) break;
@@ -266,7 +266,7 @@ void func_8038F7AC(Actor *this){
break; break;
case 7: //L8038FC30 case 7: //L8038FC30
if(!func_8038F6C4(this, local->unkC, 4.5f)) if(!FP_func_8038F6C4(this, local->unkC, 4.5f))
break; break;
if(func_80329530(this, 1000) || func_8028ECAC() == BSGROUP_A_FLYING){ if(func_80329530(this, 1000) || func_8028ECAC() == BSGROUP_A_FLYING){
@@ -294,7 +294,7 @@ void func_8038F7AC(Actor *this){
}//L8038FD40 }//L8038FD40
if(mapSpecificFlags_get(8)){ if(mapSpecificFlags_get(8)){
if(func_8038F6C4(this, D_803925AC, 9.0f)){ if(FP_func_8038F6C4(this, D_803925AC, 9.0f)){
func_80328B8C(this, 9, 0.02f, 1); func_80328B8C(this, 9, 0.02f, 1);
actor_playAnimationOnce(this); actor_playAnimationOnce(this);
} }
@@ -315,7 +315,7 @@ void func_8038F7AC(Actor *this){
break; break;
case 9: //L8038FE14 case 9: //L8038FE14
func_8038F6C4(this, D_803925AC, 9.0f); FP_func_8038F6C4(this, D_803925AC, 9.0f);
if(0.97 < animctrl_getAnimTimer(this->animctrl)){ if(0.97 < animctrl_getAnimTimer(this->animctrl)){
func_80328B8C(this, 10, 0.02f, 1); func_80328B8C(this, 10, 0.02f, 1);
actor_loopAnimation(this); actor_loopAnimation(this);

View File

@@ -2,21 +2,21 @@
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
Actor *func_80386E30(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *FP_func_80386E30(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
void chXmasTree_update(Actor *this); void chXmasTree_update(Actor *this);
/* .data */ /* .data */
ActorInfo D_80391B50 = { ActorInfo D_80391B50 = {
MARKER_BA_XMAS_TREE, ACTOR_15F_XMAS_TREE, ASSET_488_MODEL_XMAS_TREE, MARKER_BA_XMAS_TREE, ACTOR_15F_XMAS_TREE, ASSET_488_MODEL_XMAS_TREE,
0x1, NULL, 0x1, NULL,
chXmasTree_update, func_80326224, func_80386E30, chXmasTree_update, func_80326224, FP_func_80386E30,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
s32 chXmasTree_switch_spawn_position[3] = {-0x1220, 0x6A, 0x1945}; s32 chXmasTree_switch_spawn_position[3] = {-0x1220, 0x6A, 0x1945};
/* .code */ /* .code */
Actor *func_80386E30(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ Actor *FP_func_80386E30(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
Actor *this = marker_getActor(marker); Actor *this = marker_getActor(marker);
func_8033A45C(5, this->unk38_31); func_8033A45C(5, this->unk38_31);
func_8033A45C(6, func_8031FF1C(0x13) && !func_8033A0F0(5)); func_8033A45C(6, func_8031FF1C(0x13) && !func_8033A0F0(5));
@@ -34,7 +34,7 @@ void func_80386EAC(Actor *this){
} }
} }
void func_80386EF4(Actor *this, int arg1){ void FP_func_80386EF4(Actor *this, int arg1){
this->unk38_31 = arg1; this->unk38_31 = arg1;
mapSpecificFlags_set(0, this->unk38_31); mapSpecificFlags_set(0, this->unk38_31);
@@ -49,14 +49,14 @@ void func_80386F3C(void){
void func_80386F84(Actor * this){ void func_80386F84(Actor * this){
func_80328A84(this, 2); func_80328A84(this, 2);
func_80386EF4(this, 0); FP_func_80386EF4(this, 0);
} }
void func_80386FB4(void){ void func_80386FB4(void){
func_8032811C(ACTOR_338_XMAS_TREE_SWITCH, chXmasTree_switch_spawn_position, 350); func_8032811C(ACTOR_338_XMAS_TREE_SWITCH, chXmasTree_switch_spawn_position, 350);
} }
void func_80386FE0(void *marker){ void FP_func_80386FE0(void *marker){
Actor *this = marker_getActor(reinterpret_cast(ActorMarker *, marker)); Actor *this = marker_getActor(reinterpret_cast(ActorMarker *, marker));
Actor *child = spawn_child_actor(0x339, &this); Actor *child = spawn_child_actor(0x339, &this);
s32 pad; s32 pad;
@@ -99,7 +99,7 @@ void chXmasTree_update(Actor *this){
sfxsource_setSampleRate(this->unk44_31, 28000); sfxsource_setSampleRate(this->unk44_31, 28000);
} }
func_802C3BF8(func_80386FB4); func_802C3BF8(func_80386FB4);
__spawnqueue_add_1(func_80386FE0, this->marker); __spawnqueue_add_1(FP_func_80386FE0, this->marker);
if(func_8031FF1C(0x13)){ if(func_8031FF1C(0x13)){
func_80386F84(this); func_80386F84(this);
mapSpecificFlags_set(2, FALSE); mapSpecificFlags_set(2, FALSE);
@@ -108,13 +108,13 @@ void chXmasTree_update(Actor *this){
this->unk124_9 = 1; this->unk124_9 = 1;
if(jiggyscore_isCollected(JIGGY_2F_FP_XMAS_TREE) || levelSpecificFlags_get(0x29)){ if(jiggyscore_isCollected(JIGGY_2F_FP_XMAS_TREE) || levelSpecificFlags_get(0x29)){
func_80386EF4(this, 1); FP_func_80386EF4(this, 1);
return; return;
} }
switch(this->state){ switch(this->state){
case 1: // L80387268 case 1: // L80387268
func_80386EF4(this, 0); FP_func_80386EF4(this, 0);
if(func_8031FF1C(0x13)){ if(func_8031FF1C(0x13)){
func_80386F84(this); func_80386F84(this);
} }
@@ -133,14 +133,14 @@ void chXmasTree_update(Actor *this){
case 3: // L803872F0 case 3: // L803872F0
if(0.0 <= this->unk60){ if(0.0 <= this->unk60){
if( 1.8 < this->unk60){ if( 1.8 < this->unk60){
func_80386EF4(this, 0); FP_func_80386EF4(this, 0);
} }
else if(this->unk60 < 0.2){//L80387340 else if(this->unk60 < 0.2){//L80387340
func_80386EF4(this, 1); FP_func_80386EF4(this, 1);
} }
else{ else{
if(randf() < 0.2){ if(randf() < 0.2){
func_80386EF4(this, this->unk38_31 ^ 1); FP_func_80386EF4(this, this->unk38_31 ^ 1);
func_8038709C(this); func_8038709C(this);
} }
}//L803873AC }//L803873AC
@@ -149,7 +149,7 @@ void chXmasTree_update(Actor *this){
else{//L803873BC else{//L803873BC
if(func_802BB270()){ if(func_802BB270()){
func_80328A84(this, 4); func_80328A84(this, 4);
func_80386EF4(this, 1); FP_func_80386EF4(this, 1);
item_set(ITEM_0_HOURGLASS_TIMER, 3600 - 1); item_set(ITEM_0_HOURGLASS_TIMER, 3600 - 1);
item_set(ITEM_6_HOURGLASS, TRUE); item_set(ITEM_6_HOURGLASS, TRUE);
@@ -160,7 +160,7 @@ void chXmasTree_update(Actor *this){
case 4: // L80387400 case 4: // L80387400
if(mapSpecificFlags_get(3)){ if(mapSpecificFlags_get(3)){
func_80328A84(this, 6); func_80328A84(this, 6);
func_80386EF4(this, 1); FP_func_80386EF4(this, 1);
item_set(ITEM_6_HOURGLASS, FALSE); item_set(ITEM_6_HOURGLASS, FALSE);
tmp_a0 = this->unk44_31; tmp_a0 = this->unk44_31;
if(tmp_a0){ if(tmp_a0){
@@ -189,14 +189,14 @@ void chXmasTree_update(Actor *this){
case 5: // L803874EC case 5: // L803874EC
if(0.0 <= this->unk60){ if(0.0 <= this->unk60){
if( 1.8 < this->unk60){ if( 1.8 < this->unk60){
func_80386EF4(this, 1); FP_func_80386EF4(this, 1);
} }
else if(this->unk60 < 0.2){ else if(this->unk60 < 0.2){
func_80386EF4(this, 0); FP_func_80386EF4(this, 0);
} }
else{ else{
if(randf() < 0.2){ if(randf() < 0.2){
func_80386EF4(this, this->unk38_31 ^ 1); FP_func_80386EF4(this, this->unk38_31 ^ 1);
func_8038709C(this); func_8038709C(this);
} }
} }

View File

@@ -7,12 +7,12 @@ extern s32 func_8024DB50(f32[3], f32);
void func_80390EB0(Actor *this); void func_80390EB0(Actor *this);
/* .data */ /* .data */
extern ActorInfo D_80392840 = { MARKER_245_XMAS_TREE_EGG_TOLL, ACTOR_353_XMAS_TREE_EGG_TOLL, ASSET_402_MODEL_EGG_TOLL, extern ActorInfo FP_D_80392840 = { MARKER_245_XMAS_TREE_EGG_TOLL, ACTOR_353_XMAS_TREE_EGG_TOLL, ASSET_402_MODEL_EGG_TOLL,
0x0, NULL, 0x0, NULL,
func_80390EB0, func_80326224, func_80325340, func_80390EB0, func_80326224, func_80325340,
2000, 0, 0.0f, 0 2000, 0, 0.0f, 0
}; };
struct40s D_80392864; extern struct40s FP_D_80392864;
s32 D_80392894[3]; s32 D_80392894[3];
struct40s D_803928A0; struct40s D_803928A0;
s32 D_803928D0[3]; s32 D_803928D0[3];
@@ -33,7 +33,7 @@ void func_80390C70(f32 position[3]){
0.0f, 40.0f, 0.0f, 0.0f, 40.0f, 0.0f,
0.0f, 90.0f, 0.0f 0.0f, 90.0f, 0.0f
); );
func_802EFC28(pCtrl, &D_80392864); func_802EFC28(pCtrl, &FP_D_80392864);
} }
void func_80390D58(f32 position[3]){ void func_80390D58(f32 position[3]){

View File

@@ -7,16 +7,16 @@
extern ActorInfo D_80367FE0; extern ActorInfo D_80367FE0;
extern ActorInfo D_80391A10; extern ActorInfo FP_D_80391A10;
extern ActorInfo D_80391A60; extern ActorInfo FP_D_80391A60;
extern ActorInfo D_80391AB0; extern ActorInfo FP_D_80391AB0;
extern ActorInfo D_80391B50; extern ActorInfo D_80391B50;
extern ActorInfo D_80391BB0; extern ActorInfo D_80391BB0;
extern ActorInfo D_80391C18; extern ActorInfo D_80391C18;
extern ActorInfo D_80391C58; extern ActorInfo D_80391C58;
extern ActorInfo D_80391CE8; extern ActorInfo D_80391CE8;
extern ActorInfo D_80391E08; extern ActorInfo D_80391E08;
extern ActorInfo D_80391E2C; extern ActorInfo FP_D_80391E2C;
extern ActorInfo D_80391E50; extern ActorInfo D_80391E50;
extern ActorInfo D_80391F88; extern ActorInfo D_80391F88;
extern ActorInfo D_80391FAC; extern ActorInfo D_80391FAC;
@@ -35,25 +35,25 @@ extern ActorInfo D_80392690;
extern ActorInfo D_803926C0; extern ActorInfo D_803926C0;
extern ActorInfo D_80392700; extern ActorInfo D_80392700;
extern ActorInfo D_80392730; extern ActorInfo D_80392730;
extern ActorInfo D_80392840; extern ActorInfo FP_D_80392840;
void func_80391040(Actor *this); void func_80391040(Actor *this);
void func_80391180(Actor *this); void func_80391180(Actor *this);
void func_80391254(Actor *this); void FP_func_80391254(Actor *this);
void func_803912EC(Actor *this); void func_803912EC(Actor *this);
void func_8039180C(Actor *this); void func_8039180C(Actor *this);
void func_80391894(Actor *this); void func_80391894(Actor *this);
/* .data */ /* .data */
ActorInfo D_803928E0 = { 0x247, 0x355, 0x4E5, 0x0, NULL, func_80391040, func_80326224, func_80325888, 3000, 0, 0.0f, 0}; ActorInfo FP_D_803928E0 = { 0x247, 0x355, 0x4E5, 0x0, NULL, func_80391040, func_80326224, func_80325888, 3000, 0, 0.0f, 0};
ActorInfo D_80392904 = { 0x248, 0x356, 0x4E6, 0x0, NULL, func_80391040, func_80326224, func_80325888, 3000, 0, 0.0f, 0}; ActorInfo D_80392904 = { 0x248, 0x356, 0x4E6, 0x0, NULL, func_80391040, func_80326224, func_80325888, 3000, 0, 0.0f, 0};
ActorInfo D_80392928 = { 0x249, 0x357, 0x4E7, 0x0, NULL, func_80391040, func_80326224, func_80325888, 3000, 0, 0.0f, 0}; ActorInfo D_80392928 = { 0x249, 0x357, 0x4E7, 0x0, NULL, func_80391040, func_80326224, func_80325888, 3000, 0, 0.0f, 0};
ActorInfo D_8039294C = { 0x24A, 0x358, 0x4E8, 0x0, NULL, func_80391040, func_80326224, func_80325888, 3000, 0, 0.0f, 0}; ActorInfo D_8039294C = { 0x24A, 0x358, 0x4E8, 0x0, NULL, func_80391040, func_80326224, func_80325888, 3000, 0, 0.0f, 0};
ActorInfo D_80392970 = { 0x21F, 0x22B, 0x4C4, 0x1, NULL, func_80391180, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_80392970 = { 0x21F, 0x22B, 0x4C4, 0x1, NULL, func_80391180, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_80392994 = { 0x220, 0x22C, 0x4C5, 0x1, NULL, func_80391180, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_80392994 = { 0x220, 0x22C, 0x4C5, 0x1, NULL, func_80391180, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_803929B8 = { 0x221, 0x22D, 0x4C6, 0x1, NULL, func_80391254, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_803929B8 = { 0x221, 0x22D, 0x4C6, 0x1, NULL, FP_func_80391254, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_803929DC = { 0x222, 0x22E, 0x4C6, 0x1, NULL, func_80391254, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_803929DC = { 0x222, 0x22E, 0x4C6, 0x1, NULL, FP_func_80391254, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_80392A00 = { 0x223, 0x22F, 0x4C6, 0x1, NULL, func_80391254, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_80392A00 = { 0x223, 0x22F, 0x4C6, 0x1, NULL, FP_func_80391254, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_80392A24 = { 0x24B, 0x35D, 0x4E9, 0x1, NULL, func_803912EC, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_80392A24 = { 0x24B, 0x35D, 0x4E9, 0x1, NULL, func_803912EC, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_80392A48 = { 0x24C, 0x35E, 0x4EC, 0x1, NULL, func_803912EC, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_80392A48 = { 0x24C, 0x35E, 0x4EC, 0x1, NULL, func_803912EC, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
ActorInfo D_80392A6C = { 0x24D, 0x35F, 0x4EA, 0x1, NULL, func_803912EC, func_80326224, func_80325E78, 0, 0, 0.0f, 0}; ActorInfo D_80392A6C = { 0x24D, 0x35F, 0x4EA, 0x1, NULL, func_803912EC, func_80326224, func_80325E78, 0, 0, 0.0f, 0};
@@ -131,7 +131,7 @@ void func_80391180(Actor *this){
} }
} }
void func_80391254(Actor *this){ void FP_func_80391254(Actor *this){
func_802D3D74(this); func_802D3D74(this);
if(!this->unk16C_4){ if(!this->unk16C_4){
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
@@ -152,15 +152,15 @@ void func_803912EC(Actor *this){
} }
void func_80391324(void) void FP_func_80391324(void)
{ {
spawnableActorList_add(&D_80391AB0, actor_new, 0X600); spawnableActorList_add(&FP_D_80391AB0, actor_new, 0X600);
spawnableActorList_add(&D_80391BB0, actor_new, 0X2A); spawnableActorList_add(&D_80391BB0, actor_new, 0X2A);
spawnableActorList_add(&D_80391C18, actor_new, 0X180084); spawnableActorList_add(&D_80391C18, actor_new, 0X180084);
spawnableActorList_add(&D_80391C58, actor_new, 0X180084); spawnableActorList_add(&D_80391C58, actor_new, 0X180084);
spawnableActorList_add(&D_80391CE8, actor_new, 0X2002E); spawnableActorList_add(&D_80391CE8, actor_new, 0X2002E);
spawnableActorList_add(&D_80391E08, actor_new, 0X100); spawnableActorList_add(&D_80391E08, actor_new, 0X100);
spawnableActorList_add(&D_80391E2C, actor_new, 0X100); spawnableActorList_add(&FP_D_80391E2C, actor_new, 0X100);
spawnableActorList_add(&D_80391E50, actor_new, 0X100); spawnableActorList_add(&D_80391E50, actor_new, 0X100);
spawnableActorList_add(&D_80391F88, actor_new, 0X2100C); spawnableActorList_add(&D_80391F88, actor_new, 0X2100C);
spawnableActorList_add(&D_80391FAC, actor_new, 0X2100C); spawnableActorList_add(&D_80391FAC, actor_new, 0X2100C);
@@ -174,17 +174,17 @@ void func_80391324(void)
spawnableActorList_add(&D_803924B0, actor_new, 8); spawnableActorList_add(&D_803924B0, actor_new, 8);
spawnableActorList_add(&D_803924D4, actor_new, 8); spawnableActorList_add(&D_803924D4, actor_new, 8);
spawnableActorList_add(&D_803924F8, actor_new, 8); spawnableActorList_add(&D_803924F8, actor_new, 8);
spawnableActorList_add(&D_80391A10, actor_new, 0); spawnableActorList_add(&FP_D_80391A10, actor_new, 0);
spawnableActorList_add(&D_80391A60, actor_new, 0X20); spawnableActorList_add(&FP_D_80391A60, actor_new, 0X20);
spawnableActorList_add(&D_80392588, actor_new, 0X80108); spawnableActorList_add(&D_80392588, actor_new, 0X80108);
spawnableActorList_add(&D_80392628, actor_new, 0X44); spawnableActorList_add(&D_80392628, actor_new, 0X44);
spawnableActorList_add(&D_80392690, actor_new, 0XA8); spawnableActorList_add(&D_80392690, actor_new, 0XA8);
spawnableActorList_add(&D_803926C0, actor_new, 0X8000400); spawnableActorList_add(&D_803926C0, actor_new, 0X8000400);
spawnableActorList_add(&D_80392700, actor_new, 0X108); spawnableActorList_add(&D_80392700, actor_new, 0X108);
spawnableActorList_add(&D_80392840, actor_new, 0); spawnableActorList_add(&FP_D_80392840, actor_new, 0);
spawnableActorList_add(&D_80392730, actor_new, 0X20000); spawnableActorList_add(&D_80392730, actor_new, 0X20000);
spawnableActorList_add(&D_80367FE0, actor_new, 0); spawnableActorList_add(&D_80367FE0, actor_new, 0);
spawnableActorList_add(&D_803928E0, actor_new, 0X40); spawnableActorList_add(&FP_D_803928E0, actor_new, 0X40);
spawnableActorList_add(&D_80392904, actor_new, 0X40); spawnableActorList_add(&D_80392904, actor_new, 0X40);
spawnableActorList_add(&D_80392928, actor_new, 0X40); spawnableActorList_add(&D_80392928, actor_new, 0X40);
spawnableActorList_add(&D_8039294C, actor_new, 0X40); spawnableActorList_add(&D_8039294C, actor_new, 0X40);

View File

@@ -5,7 +5,7 @@
void chtoots_update(Actor *this); void chtoots_update(Actor *this);
/* .data */ /* .data */
ActorAnimationInfo D_80390BD0[] = { ActorAnimationInfo GV_D_80390BD0[] = {
{0x000, 0.0f}, {0x000, 0.0f},
{ASSET_162_ANIM_TOOTS_IDLE, 5.0f}, {ASSET_162_ANIM_TOOTS_IDLE, 5.0f},
{ASSET_162_ANIM_TOOTS_IDLE, 2.5f}, {ASSET_162_ANIM_TOOTS_IDLE, 2.5f},
@@ -13,7 +13,7 @@ ActorAnimationInfo D_80390BD0[] = {
}; };
ActorInfo D_80390BF0 = { MARKER_1F4_TOOTS, ACTOR_1E4_TOOTS, ASSET_434_MODEL_TOOTS, ActorInfo D_80390BF0 = { MARKER_1F4_TOOTS, ACTOR_1E4_TOOTS, ASSET_434_MODEL_TOOTS,
0x1, D_80390BD0, 0x1, GV_D_80390BD0,
chtoots_update, func_80326224, func_80325888, chtoots_update, func_80326224, func_80325888,
2000, 0, 0.5f, 0 2000, 0, 0.5f, 0
}; };
@@ -23,12 +23,12 @@ s32 D_80391A30;
s32 D_80391A34; s32 D_80391A34;
/* .code */ /* .code */
void func_803863F0(Actor *this){ void GV_func_803863F0(Actor *this){
func_80328B8C(this, 1, 0.0001f, 1); func_80328B8C(this, 1, 0.0001f, 1);
D_80391A30 = FALSE; D_80391A30 = FALSE;
} }
void func_80386420(Actor *this){ void GV_func_80386420(Actor *this){
func_80328B8C(this, 2, 0.0001f, 1); func_80328B8C(this, 2, 0.0001f, 1);
this->unk38_31 = 0x23; this->unk38_31 = 0x23;
} }
@@ -50,7 +50,7 @@ void chtoots_update(Actor *this){
func_80386464(this); func_80386464(this);
} }
else if(D_80391A30 == TRUE){ else if(D_80391A30 == TRUE){
func_80386420(this); GV_func_80386420(this);
} }
break; break;
case 2://L80386540 case 2://L80386540
@@ -64,12 +64,12 @@ void chtoots_update(Actor *this){
} }
} }
else{ else{
func_803863F0(this); GV_func_803863F0(this);
} }
break; break;
case 3://L803865C8 case 3://L803865C8
if(!D_80391A34) if(!D_80391A34)
func_803863F0(this); GV_func_803863F0(this);
break; break;
}//L803865DC }//L803865DC
} }

View File

@@ -13,7 +13,7 @@ void chgobi2_update(Actor *this);
Actor *chgobi2_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *chgobi2_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
/* .data */ /* .data */
ActorInfo D_80390CB0 = { MARKER_BF_GOBI_2, ACTOR_131_GOBI_2, ASSET_3E0_MODEL_GOBI, ActorInfo GV_D_80390CB0 = { MARKER_BF_GOBI_2, ACTOR_131_GOBI_2, ASSET_3E0_MODEL_GOBI,
0x0, NULL, 0x0, NULL,
NULL, chgobi2_update, chgobi2_draw, NULL, chgobi2_update, chgobi2_draw,
0, 0x533, 0.0f, 0 0, 0x533, 0.0f, 0
@@ -26,7 +26,7 @@ f32 D_80390CEC[3] = {1145.0f, 443.0f, 9197.0f};
extern u8 D_80391A50; extern u8 D_80391A50;
/* .code */ /* .code */
void func_80387960(void){ void GV_func_80387960(void){
func_8028F490(D_80390CD4); func_8028F490(D_80390CD4);
} }
@@ -43,7 +43,7 @@ void func_803879D4(ActorMarker *this_marker){
chgobi2_setState(this, 4); chgobi2_setState(this, 4);
} }
void func_80387A00(ActorMarker *this_marker){ void GV_func_80387A00(ActorMarker *this_marker){
Actor *this = marker_getActor(reinterpret_cast(ActorMarker *, this_marker)); Actor *this = marker_getActor(reinterpret_cast(ActorMarker *, this_marker));
chgobi2_setState(this, 7); chgobi2_setState(this, 7);
} }
@@ -57,7 +57,7 @@ void func_80387A2C(ActorMarker *caller, enum asset_e text_id, s32 arg2){
timed_setCameraToNode(3.0f, 0xd); timed_setCameraToNode(3.0f, 0xd);
timedFunc_set_0(3.5f, __chgobi2_spawnJIggy); timedFunc_set_0(3.5f, __chgobi2_spawnJIggy);
func_80324E88(6.0f); func_80324E88(6.0f);
timedFunc_set_1(6.0f, (GenMethod_1) func_80387A00, reinterpret_cast(s32, caller)); timedFunc_set_1(6.0f, (GenMethod_1) GV_func_80387A00, reinterpret_cast(s32, caller));
func_80324E38(6.0f, 0); func_80324E38(6.0f, 0);
} }
@@ -76,7 +76,7 @@ void chgobi2_setState(Actor *this, s32 next_state){
} }
if(next_state == 3){ if(next_state == 3){
timedFunc_set_0(0.05f, func_80387960); timedFunc_set_0(0.05f, GV_func_80387960);
timed_playSfx(0.05f, SFX_84_GOBI_CRYING, 1.1f, 32000); timed_playSfx(0.05f, SFX_84_GOBI_CRYING, 1.1f, 32000);
func_80324E38(0.051f, 1); func_80324E38(0.051f, 1);
timedFunc_set_1(0.06f, (GenMethod_1)func_803879D4, reinterpret_cast(s32, this->marker)); timedFunc_set_1(0.06f, (GenMethod_1)func_803879D4, reinterpret_cast(s32, this->marker));

View File

@@ -17,9 +17,9 @@ void chancientone_update(Actor *this);
Actor *chancientone_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *chancientone_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
/* .data */ /* .data */
s16 D_80390C20[4] = {5, 6, 7, 8}; s16 GV_D_80390C20[4] = {5, 6, 7, 8};
ActorMarker *D_80390C28[5] = {NULL}; ActorMarker *D_80390C28[5] = {NULL};
ActorAnimationInfo D_80390C3C[] = { ActorAnimationInfo GV_D_80390C3C[] = {
{0, 0.0f}, {0, 0.0f},
{0, 0.0f}, {0, 0.0f},
{ASSET_ED_ANIM_ANCIENT_ONE, 2.0f}, {ASSET_ED_ANIM_ANCIENT_ONE, 2.0f},
@@ -27,7 +27,7 @@ ActorAnimationInfo D_80390C3C[] = {
}; };
ActorInfo D_80390C5C = { MARKER_F4_ANCIENT_ONE, ACTOR_147_ANCIENT_ONE, ASSET_3E8_MODEL_ANCIENT_ONE, ActorInfo D_80390C5C = { MARKER_F4_ANCIENT_ONE, ACTOR_147_ANCIENT_ONE, ASSET_3E8_MODEL_ANCIENT_ONE,
0x1, D_80390C3C, 0x1, GV_D_80390C3C,
chancientone_update, func_80326224, chancientone_draw, chancientone_update, func_80326224, chancientone_draw,
0, 0x100, 0.0f, 0 0, 0x100, 0.0f, 0
}; };
@@ -48,19 +48,19 @@ void func_80386620(Actor *this){
return; return;
} }
D_80390C20[0] = 5; GV_D_80390C20[0] = 5;
D_80390C20[1] = 6; GV_D_80390C20[1] = 6;
D_80390C20[2] = 7; GV_D_80390C20[2] = 7;
D_80390C20[3] = 8; GV_D_80390C20[3] = 8;
phi_s3 = (randf() * 1.0737418e9f); phi_s3 = (randf() * 1.0737418e9f);
phi_s2 = 1; phi_s2 = 1;
phi_s1 = 0; phi_s1 = 0;
while(phi_s2 != 0x40000000){ while(phi_s2 != 0x40000000){
if ((phi_s3 & phi_s2) != 0) { if ((phi_s3 & phi_s2) != 0) {
temp_a1 = D_80390C20[phi_s1]; temp_a1 = GV_D_80390C20[phi_s1];
D_80390C20[phi_s1] = D_80390C20[phi_s1 + 1]; GV_D_80390C20[phi_s1] = GV_D_80390C20[phi_s1 + 1];
D_80390C20[phi_s1 + 1] = temp_a1; GV_D_80390C20[phi_s1 + 1] = temp_a1;
temp_a0 = D_80390C28[phi_s1 + 1]; temp_a0 = D_80390C28[phi_s1 + 1];
D_80390C28[phi_s1 + 1] = D_80390C28[phi_s1 + 2]; D_80390C28[phi_s1 + 1] = D_80390C28[phi_s1 + 2];
D_80390C28[phi_s1 + 2] = temp_a0; D_80390C28[phi_s1 + 2] = temp_a0;
@@ -166,7 +166,7 @@ void chancientone_update(Actor *this){
actor_playAnimationOnce(this); actor_playAnimationOnce(this);
if(this->unkF4_8 < 5){ if(this->unkF4_8 < 5){
D_80390C28[this->unkF4_8]->propPtr->unk8_4 = TRUE; D_80390C28[this->unkF4_8]->propPtr->unk8_4 = TRUE;
func_802BAFE4(D_80390C20[this->unkF4_8 - 1]); func_802BAFE4(GV_D_80390C20[this->unkF4_8 - 1]);
func_80244BB0(2, 0x86, 0x7ff8, 0.3f); func_80244BB0(2, 0x86, 0x7ff8, 0.3f);
timedFunc_set_0(0.45f, func_8038678C); timedFunc_set_0(0.45f, func_8038678C);
@@ -259,7 +259,7 @@ Actor *chancientone_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **v
} }
void func_80387118(void){ void GV_func_80387118(void){
int i; int i;
for(i = 0; i < 5; i++){ for(i = 0; i < 5; i++){
D_80390C28[i] = NULL; D_80390C28[i] = NULL;

View File

@@ -24,7 +24,8 @@ ActorInfo D_80390D60 = { 0xBE, 0x130, 0x3E4,
f32 D_80390D84[3] = {5644.0f, 2930.0f, -3258.0f}; f32 D_80390D84[3] = {5644.0f, 2930.0f, -3258.0f};
/*.bss */ /*.bss */
u8 D_80391A60; u8 GV_pad1[0x10];
u8 GV_D_80391A60;
/* .code */ /* .code */
void func_80388B20(Actor *this, s32 next_state){ void func_80388B20(Actor *this, s32 next_state){
@@ -32,11 +33,11 @@ void func_80388B20(Actor *this, s32 next_state){
this->state = next_state; this->state = next_state;
local->unk14 = 0.0f; local->unk14 = 0.0f;
D_80391A60 = FALSE; GV_D_80391A60 = FALSE;
if(this->state == 2){ if(this->state == 2){
this->marker->propPtr->unk8_3 = FALSE; this->marker->propPtr->unk8_3 = FALSE;
local->unk14 = 2.6f; local->unk14 = 2.6f;
D_80391A60 = TRUE; GV_D_80391A60 = TRUE;
func_8028F428(2, this->marker); func_8028F428(2, this->marker);
FUNC_8030E624(SFX_9B_BOULDER_BREAKING_1, 0.3f, 9000); FUNC_8030E624(SFX_9B_BOULDER_BREAKING_1, 0.3f, 9000);
FUNC_8030E624(SFX_9B_BOULDER_BREAKING_1, 0.5f, 9000); FUNC_8030E624(SFX_9B_BOULDER_BREAKING_1, 0.5f, 9000);
@@ -79,7 +80,7 @@ Actor *func_80388C64(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
} }
s32 func_80388D78(void){ s32 func_80388D78(void){
return D_80391A60; return GV_D_80391A60;
} }
void func_80388D84(Actor *this){ void func_80388D84(Actor *this){
@@ -103,7 +104,7 @@ void func_80388DC8(Actor *this){
marker_setCollisionScripts(this->marker, NULL, NULL, func_80388C24); marker_setCollisionScripts(this->marker, NULL, NULL, func_80388C24);
local->unkC = particleEmitter_new(20); local->unkC = particleEmitter_new(20);
local->unk10 = particleEmitter_new(30); local->unk10 = particleEmitter_new(30);
D_80391A60 = FALSE; GV_D_80391A60 = FALSE;
sp28 = func_80326D68(this->position, ACTOR_12E_GOBI_1, -1, &sp2C); sp28 = func_80326D68(this->position, ACTOR_12E_GOBI_1, -1, &sp2C);
if(sp28){ if(sp28){
this->position_x = sp28->position_x; this->position_x = sp28->position_x;

View File

@@ -15,7 +15,7 @@ ActorInfo D_80390D90 = {
}; };
/* .code */ /* .code */
void func_80388F70(Actor *this, s32 next_state){ void GV_func_80388F70(Actor *this, s32 next_state){
this->state = next_state; this->state = next_state;
if(this->state == 1){ if(this->state == 1){
func_80335924(this->unk148, ASSET_FE_ANIM_TRUCKER_SHORT, 0.1f, 2.5f); func_80335924(this->unk148, ASSET_FE_ANIM_TRUCKER_SHORT, 0.1f, 2.5f);
@@ -62,10 +62,10 @@ void func_80389144(Actor *this){
actor_collisionOff(this); actor_collisionOff(this);
mapSpecificFlags_set(0xC, FALSE); mapSpecificFlags_set(0xC, FALSE);
if(jiggyscore_isSpawned(JIGGY_45_GV_GOBI_2) && !func_803203FC(1)){ if(jiggyscore_isSpawned(JIGGY_45_GV_GOBI_2) && !func_803203FC(1)){
func_80388F70(this, 3); GV_func_80388F70(this, 3);
} }
else{//L803891CC else{//L803891CC
func_80388F70(this, 1); GV_func_80388F70(this, 1);
} }
}//L803891D8 }//L803891D8
if( this->state == 1 if( this->state == 1
@@ -87,5 +87,5 @@ void func_80389144(Actor *this){
} }
if(sp28) if(sp28)
func_80388F70(this, sp28); GV_func_80388F70(this, sp28);
} }

View File

@@ -11,7 +11,7 @@ extern ActorAnimationInfo D_80390DC0[]={
{ASSET_F1_ANIM_MAGIC_CARPET, 2.0f} {ASSET_F1_ANIM_MAGIC_CARPET, 2.0f}
}; };
extern ActorInfo D_80390DD0 = { MARKER_AF_MAGIC_CARPET_SHADOW, ACTOR_122_MAGIC_CARPET_SHADOW, ASSET_3E7_MODEL_MAGIC_CARPET_SHADOW, extern ActorInfo GV_D_80390DD0 = { MARKER_AF_MAGIC_CARPET_SHADOW, ACTOR_122_MAGIC_CARPET_SHADOW, ASSET_3E7_MODEL_MAGIC_CARPET_SHADOW,
0x1, D_80390DC0, 0x1, D_80390DC0,
func_8038938C, func_80326224, func_803892D0, func_8038938C, func_80326224, func_803892D0,
2500, 0, 0.0f, 0 2500, 0, 0.0f, 0

View File

@@ -9,7 +9,7 @@ void func_80389634(Actor *this);
void func_803898B8(Actor *this); void func_803898B8(Actor *this);
/* .data */ /* .data */
ActorAnimationInfo D_80390E00[] = { ActorAnimationInfo GV_D_80390E00[] = {
{0x00, 0.0f}, {0x00, 0.0f},
{0xCD, 8000000.0f}, {0xCD, 8000000.0f},
{0xCD, 2.5f}, {0xCD, 2.5f},
@@ -18,14 +18,14 @@ ActorAnimationInfo D_80390E00[] = {
{0xCD, 4.5f}, {0xCD, 4.5f},
}; };
ActorInfo D_80390E30 = { 0xA8, 0x11A, 0x33D, ActorInfo GV_D_80390E30 = { 0xA8, 0x11A, 0x33D,
0x1, D_80390E00, 0x1, GV_D_80390E00,
func_80389634, func_80326224, func_80325888, func_80389634, func_80326224, func_80325888,
2500, 0, 0.0f, 0 2500, 0, 0.0f, 0
}; };
ActorInfo D_80390E54 = { 0x23B, 0x244, 0x33D, ActorInfo D_80390E54 = { 0x23B, 0x244, 0x33D,
0x1, D_80390E00, 0x1, GV_D_80390E00,
func_803898B8, func_80326224, func_80325888, func_803898B8, func_80326224, func_80325888,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
@@ -33,7 +33,7 @@ s32 D_80390E78[4] = {0xff, 0xd0, 0x5d, 0xb4};
s32 D_80390E88[4] = {0, 0, 0, 0}; s32 D_80390E88[4] = {0, 0, 0, 0};
/* .code */ /* .code */
void func_803894B0(Actor *this){ void GV_func_803894B0(Actor *this){
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
actor_collisionOff(this); actor_collisionOff(this);
func_80328B8C(this, 1, 0.01f, 1); func_80328B8C(this, 1, 0.01f, 1);
@@ -68,7 +68,7 @@ void func_80389634(Actor *this){
switch(this->state){ switch(this->state){
case 1: //L80389680 case 1: //L80389680
if(!this->initialized){ if(!this->initialized){
func_803894B0(this); GV_func_803894B0(this);
} }
if(func_80329530(this, 500) && func_8038957C(this)){ if(func_80329530(this, 500) && func_8038957C(this)){
func_80328B8C(this, 2, 0.01f, 1); func_80328B8C(this, 2, 0.01f, 1);
@@ -120,7 +120,7 @@ void func_80389634(Actor *this){
void func_803898B8(Actor *this){ void func_803898B8(Actor *this){
if(!this->initialized){ if(!this->initialized){
func_803894B0(this); GV_func_803894B0(this);
if(func_8031FF1C(BKPROG_A4_UNKOWN)) if(func_8031FF1C(BKPROG_A4_UNKOWN))
func_80328B8C(this, 3, 0.5f, 1); func_80328B8C(this, 3, 0.5f, 1);
this->unk1C[0] = 0.0f; this->unk1C[0] = 0.0f;

View File

@@ -2,22 +2,22 @@
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
void func_80389E90(Actor *this); void GV_func_80389E90(Actor *this);
void func_80389EA8(Actor *this); void GV_func_80389EA8(Actor *this);
/* .data */ /* .data */
ActorInfo D_80390F00 = { MARKER_AB_RUBEES_EGG_POT, ACTOR_11D_RUBEES_EGG_POT, ASSET_3E1_MODEL_RUBEES_EGG_POT, ActorInfo D_80390F00 = { MARKER_AB_RUBEES_EGG_POT, ACTOR_11D_RUBEES_EGG_POT, ASSET_3E1_MODEL_RUBEES_EGG_POT,
0x1, NULL, 0x1, NULL,
func_80389E90, func_80389EA8, func_80325888, GV_func_80389E90, GV_func_80389EA8, func_80325888,
2500, 0, 0.9f, 0 2500, 0, 0.9f, 0
}; };
/* .code */ /* .code */
void func_80389E90(Actor *this){ void GV_func_80389E90(Actor *this){
this->marker->propPtr->unk8_3 = FALSE; this->marker->propPtr->unk8_3 = FALSE;
} }
void func_80389EA8(Actor *this){ void GV_func_80389EA8(Actor *this){
this->marker->propPtr->unk8_3 = FALSE; this->marker->propPtr->unk8_3 = FALSE;
this->unk4C = 100 + 40*func_8038E178(); this->unk4C = 100 + 40*func_8038E178();
func_80343DEC(this); func_80343DEC(this);

View File

@@ -4,12 +4,12 @@
extern int func_8024DB50(f32[3], f32); extern int func_8024DB50(f32[3], f32);
void func_8038A084(Actor *this); void GV_func_8038A084(Actor *this);
/* .data */ /* .data */
ActorInfo D_80390F40 = { 0x24F, 0x37C, 0x0, ActorInfo D_80390F40 = { 0x24F, 0x37C, 0x0,
0, NULL, 0, NULL,
func_8038A084, func_80326224, func_80325340, GV_func_8038A084, func_80326224, func_80325340,
2000, 0, 0.0f, 0 2000, 0, 0.0f, 0
}; };
@@ -45,7 +45,7 @@ void func_80389FA0(f32 position[3]){
func_802EFC28(pCtrl, &D_80390F64); func_802EFC28(pCtrl, &D_80390F64);
} }
void func_8038A084(Actor *this){ void GV_func_8038A084(Actor *this){
if(this->unkF4_8 == 6 && !this->unk16C_4){ if(this->unkF4_8 == 6 && !this->unk16C_4){
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
if( jiggyscore_isCollected(JIGGY_42_GV_WATER_PYRAMID) && this->yaw == 1.0f){ if( jiggyscore_isCollected(JIGGY_42_GV_WATER_PYRAMID) && this->yaw == 1.0f){

View File

@@ -7,7 +7,7 @@ void func_80329904(ActorMarker *, s32, void *);
void func_8038A948(Actor *this); void func_8038A948(Actor *this);
void func_8038A9C0(Actor *this); void GV_func_8038A9C0(Actor *this);
Actor *func_8038A7A0(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *func_8038A7A0(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
/* .data */ /* .data */
@@ -18,7 +18,7 @@ ActorAnimationInfo D_80391000[] = {
ActorInfo D_80391010 = { MARKER_A7_MAGIC_CARPET_1, ACTOR_119_MAGIC_CARPET_1, ASSET_3DC_MODEL_MAGIC_CARPET, ActorInfo D_80391010 = { MARKER_A7_MAGIC_CARPET_1, ACTOR_119_MAGIC_CARPET_1, ASSET_3DC_MODEL_MAGIC_CARPET,
0x1, D_80391000, 0x1, D_80391000,
func_8038A948, func_8038A9C0, func_8038A7A0, func_8038A948, GV_func_8038A9C0, func_8038A7A0,
2500, 0, 0.0f, 0 2500, 0, 0.0f, 0
}; };
@@ -73,7 +73,7 @@ void func_8038A948(Actor *this){
} }
} }
void func_8038A9C0(Actor *this){ void GV_func_8038A9C0(Actor *this){
Actor * sp24; Actor * sp24;
if(!this->initialized){ if(!this->initialized){
this->initialized = TRUE; this->initialized = TRUE;

View File

@@ -34,7 +34,7 @@ struct43s D_803910D4 = {
}; };
/* .bss */ /* .bss */
f32 D_80391A70[3]; f32 GV_D_80391A70[3];
/* .code */ /* .code */
void func_8038AB30(ParticleEmitter *pCtrl, f32 position[3], s32 cnt){ void func_8038AB30(ParticleEmitter *pCtrl, f32 position[3], s32 cnt){
@@ -233,15 +233,15 @@ void func_8038B124(Actor *this){
func_8038ABD8(this->position, 8); func_8038ABD8(this->position, 8);
} }
else{ else{
D_80391A70[0] = 2*this->unk28; GV_D_80391A70[0] = 2*this->unk28;
D_80391A70[1] = 0.0f; GV_D_80391A70[1] = 0.0f;
D_80391A70[2] = 0.0f; GV_D_80391A70[2] = 0.0f;
ml_vec3f_yaw_rotate_copy(D_80391A70, D_80391A70, this->yaw - 90.0); ml_vec3f_yaw_rotate_copy(GV_D_80391A70, GV_D_80391A70, this->yaw - 90.0);
D_80391A70[0] = D_80391A70[0] + this->position[0]; GV_D_80391A70[0] = GV_D_80391A70[0] + this->position[0];
D_80391A70[1] = D_80391A70[1] + this->position[1]; GV_D_80391A70[1] = GV_D_80391A70[1] + this->position[1];
D_80391A70[2] = D_80391A70[2] + this->position[2]; GV_D_80391A70[2] = GV_D_80391A70[2] + this->position[2];
func_8038ABD8(D_80391A70, 1); func_8038ABD8(GV_D_80391A70, 1);
} }
break; break;
@@ -261,10 +261,10 @@ void func_8038B124(Actor *this){
case 5: //L8038B67C case 5: //L8038B67C
if(this->marker->unk14_21 && actor_animationIsAt(this, 0.79f)){ if(this->marker->unk14_21 && actor_animationIsAt(this, 0.79f)){
func_8034A174(this->marker->unk44, 5, D_80391A70); func_8034A174(this->marker->unk44, 5, GV_D_80391A70);
func_8038ACEC(D_80391A70, 2); func_8038ACEC(GV_D_80391A70, 2);
func_8034A174(this->marker->unk44, 6, D_80391A70); func_8034A174(this->marker->unk44, 6, GV_D_80391A70);
func_8038ACEC(D_80391A70, 3); func_8038ACEC(GV_D_80391A70, 3);
func_802BB3DC(0, 18.0f, 0.92f); func_802BB3DC(0, 18.0f, 0.92f);
func_8030E878(SFX_3_DULL_CANNON_SHOT, 1.0f, 32000, this->position, 2250.0f, 4500.0f); func_8030E878(SFX_3_DULL_CANNON_SHOT, 1.0f, 32000, this->position, 2250.0f, 4500.0f);
}//L8038B734 }//L8038B734
@@ -304,12 +304,12 @@ void func_8038B124(Actor *this){
case 9: //L8038B870 case 9: //L8038B870
func_80328A84(this, 0xA); func_80328A84(this, 0xA);
func_8038ACEC(this->position, 2); func_8038ACEC(this->position, 2);
func_8034A174(this->marker->unk44, 5, D_80391A70); func_8034A174(this->marker->unk44, 5, GV_D_80391A70);
func_8038ACEC(D_80391A70, 2); func_8038ACEC(GV_D_80391A70, 2);
func_8038ADFC(D_80391A70, 3); func_8038ADFC(GV_D_80391A70, 3);
func_8034A174(this->marker->unk44, 6, D_80391A70); func_8034A174(this->marker->unk44, 6, GV_D_80391A70);
func_8038ACEC(D_80391A70, 3); func_8038ACEC(GV_D_80391A70, 3);
func_8038ADFC(D_80391A70, 2); func_8038ADFC(GV_D_80391A70, 2);
break; break;
case 10: //L8038B900 case 10: //L8038B900

View File

@@ -9,7 +9,7 @@ typedef struct {
s32 unk0; s32 unk0;
}ActorLocal_Grabba; }ActorLocal_Grabba;
void func_8038BEA0(Actor *this); void GV_func_8038BEA0(Actor *this);
/* .data */ /* .data */
ActorAnimationInfo D_80391120[] ={ ActorAnimationInfo D_80391120[] ={
@@ -24,7 +24,7 @@ ActorAnimationInfo D_80391120[] ={
ActorInfo D_80391158 = { MARKER_A6_GRABBA, ACTOR_118_GRABBA, ASSET_371_MODEL_GRABBA, ActorInfo D_80391158 = { MARKER_A6_GRABBA, ACTOR_118_GRABBA, ASSET_371_MODEL_GRABBA,
0x1, D_80391120, 0x1, D_80391120,
func_8038BEA0, func_80326224, func_80325888, GV_func_8038BEA0, func_80326224, func_80325888,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
@@ -153,7 +153,7 @@ void func_8038BD8C(f32 position[3], s32 cnt){
particleEmitter_emitN(pCtrl, cnt); particleEmitter_emitN(pCtrl, cnt);
} }
void func_8038BEA0(Actor *this){ void GV_func_8038BEA0(Actor *this){
ActorLocal_Grabba *local = (ActorLocal_Grabba *)&this->local; ActorLocal_Grabba *local = (ActorLocal_Grabba *)&this->local;
f32 sp38[3]; f32 sp38[3];
@@ -318,6 +318,6 @@ void func_8038BEA0(Actor *this){
}//L8038C5AC }//L8038C5AC
} }
s32 func_8038C5BC(void){ s32 GV_func_8038C5BC(void){
return D_80391A80; return D_80391A80;
} }

View File

@@ -2,8 +2,8 @@
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
void func_8038C658(Actor *this); void GV_func_8038C658(Actor *this);
Actor *func_8038C5D0(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx); Actor *GV_func_8038C5D0(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
/* .data */ /* .data */
ActorAnimationInfo D_80391190[] = { ActorAnimationInfo D_80391190[] = {
@@ -17,32 +17,33 @@ ActorAnimationInfo D_80391190[] = {
ActorInfo D_803911C0 = { 0xAC, 0x11E, 0x3E5, ActorInfo D_803911C0 = { 0xAC, 0x11E, 0x3E5,
0, D_80391190, 0, D_80391190,
func_8038C658, func_80326224, func_8038C5D0, GV_func_8038C658, func_80326224, GV_func_8038C5D0,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
/* .bss */ /* .bss */
s32 D_80391A90; u8 GV_pad2[0x10];
s32 GV_D_80391A90;
/* .code */ /* .code */
Actor *func_8038C5D0(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){ Actor *GV_func_8038C5D0(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
Actor *this = marker_getActor(this_marker); Actor *this = marker_getActor(this_marker);
if( this->state == 2 if( this->state == 2
|| this->state == 3 || this->state == 3
|| this->state == 4 || this->state == 4
|| this->state == 5 || this->state == 5
){ ){
if(!D_80391A90) if(!GV_D_80391A90)
return func_80325888(this_marker, gfx, mtx, vtx); return func_80325888(this_marker, gfx, mtx, vtx);
} }
return this; return this;
} }
void func_8038C658(Actor *this){ void GV_func_8038C658(Actor *this){
s32 sp24; s32 sp24;
if(!this->initialized){ if(!this->initialized){
actor_collisionOff(this); actor_collisionOff(this);
D_80391A90 = FALSE; GV_D_80391A90 = FALSE;
this->initialized = TRUE; this->initialized = TRUE;
this->position_y += 4.0f; this->position_y += 4.0f;
} }
@@ -51,13 +52,13 @@ void func_8038C658(Actor *this){
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
func_80328B8C(this, this->state, 0.01f, 1); func_80328B8C(this, this->state, 0.01f, 1);
} }
sp24 = func_8038C5BC(); sp24 = GV_func_8038C5BC();
if(D_80391A90) if(GV_D_80391A90)
marker_despawn(this->marker); marker_despawn(this->marker);
if(this->state != sp24) if(this->state != sp24)
func_80328A84(this, sp24); func_80328A84(this, sp24);
} }
void func_8038C748(void){ void func_8038C748(void){
D_80391A90 = TRUE; GV_D_80391A90 = TRUE;
} }

View File

@@ -29,7 +29,7 @@ ActorInfo D_80391318 = { 0xAA, 0x11C, 0x3DE,
extern struct { extern struct {
s32 unk0; s32 unk0;
s32 unk4; s32 unk4;
}D_80391AB0; }GV_D_80391AB0;
extern s32 D_80391AB8; extern s32 D_80391AB8;
/* .code */ /* .code */
@@ -69,25 +69,25 @@ Actor *func_8038DA18(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
} }
void func_8038DB0C(Actor *this){ void GV_func_8038DB0C(Actor *this){
func_80328B8C(this, 1, 0.99f, 0); func_80328B8C(this, 1, 0.99f, 0);
animctrl_setPlaybackType(this->animctrl, ANIMCTRL_STOPPED); animctrl_setPlaybackType(this->animctrl, ANIMCTRL_STOPPED);
} }
void func_8038DB4C(s32 arg0){ void func_8038DB4C(s32 arg0){
D_80391AB0.unk0 = arg0; GV_D_80391AB0.unk0 = arg0;
} }
void func_8038DB58(s32 arg0){ void func_8038DB58(s32 arg0){
D_80391AB0.unk4 = arg0; GV_D_80391AB0.unk4 = arg0;
} }
s32 func_8038DB64(void){ s32 func_8038DB64(void){
return D_80391AB0.unk4; return GV_D_80391AB0.unk4;
} }
void func_8038DB70(void){ void func_8038DB70(void){
D_80391AB0.unk4++; GV_D_80391AB0.unk4++;
} }
@@ -141,7 +141,7 @@ void func_8038DBDC(Actor *this){
} }
} }
else if(actor_animationIsAt(this, 0.99f)){//L8038DD94 else if(actor_animationIsAt(this, 0.99f)){//L8038DD94
func_8038DB0C(this); GV_func_8038DB0C(this);
func_8038DB88(this); func_8038DB88(this);
} }
else{ //L8038DDC0 else{ //L8038DDC0
@@ -211,7 +211,7 @@ void func_8038DBDC(Actor *this){
break; break;
case 6: //8038E080 case 6: //8038E080
if(actor_animationIsAt(this, 0.89f)){ if(actor_animationIsAt(this, 0.89f)){
func_8038DB0C(this); GV_func_8038DB0C(this);
func_8038DB88(this); func_8038DB88(this);
} }
else{ else{

View File

@@ -6,16 +6,16 @@ struct {
s32 unk0; s32 unk0;
u8 pad4[4]; u8 pad4[4];
s32 unk8; s32 unk8;
}D_80391AB0; }GV_D_80391AB0;
/* .code */ /* .code */
void func_8038E140(void){ void func_8038E140(void){
D_80391AB0.unk0++; GV_D_80391AB0.unk0++;
func_8025A6EC(COMUSIC_2B_DING_B, 26000); func_8025A6EC(COMUSIC_2B_DING_B, 26000);
} }
s32 func_8038E178(void){ s32 func_8038E178(void){
return D_80391AB0.unk0; return GV_D_80391AB0.unk0;
} }
s32 func_8038E184(void){ s32 func_8038E184(void){
@@ -23,5 +23,5 @@ s32 func_8038E184(void){
} }
void func_8038E18C(void){ void func_8038E18C(void){
D_80391AB0.unk8 = TRUE; GV_D_80391AB0.unk8 = TRUE;
} }

View File

@@ -5,18 +5,18 @@
void func_8038E3B0(Actor *this); void func_8038E3B0(Actor *this);
/* .data */ /* .data */
ActorAnimationInfo D_80391380[] = { ActorAnimationInfo GV_D_80391380[] = {
{0, 0.0f}, {0, 0.0f},
{0, 0.0f} {0, 0.0f}
}; };
ActorInfo D_80391390 = { 0xFA, 0x1F8, 0x423, ActorInfo GV_D_80391390 = { 0xFA, 0x1F8, 0x423,
0x1, D_80391380, 0x1, GV_D_80391380,
func_8038E3B0, func_80326224, func_80325888, func_8038E3B0, func_80326224, func_80325888,
0, 0x100, 0.0f, 0 0, 0x100, 0.0f, 0
}; };
ActorInfo D_803913B4 = { 0xFB, 0x1F9, 0x424, ActorInfo D_803913B4 = { 0xFB, 0x1F9, 0x424,
0x1, D_80391380, 0x1, GV_D_80391380,
func_8038E3B0, func_80326224, func_80325888, func_8038E3B0, func_80326224, func_80325888,
0, 0x100, 0.0f, 0 0, 0x100, 0.0f, 0
}; };

View File

@@ -16,11 +16,11 @@ extern ActorInfo D_80390C5C;
extern ActorInfo D_80390C80; extern ActorInfo D_80390C80;
extern ActorInfo D_80390D30; extern ActorInfo D_80390D30;
extern ActorInfo D_80390D60; extern ActorInfo D_80390D60;
extern ActorInfo D_80390CB0; extern ActorInfo GV_D_80390CB0;
extern ActorInfo D_80390D00; extern ActorInfo D_80390D00;
extern ActorInfo D_80390D90; extern ActorInfo D_80390D90;
extern ActorInfo D_80390DD0; extern ActorInfo GV_D_80390DD0;
extern ActorInfo D_80390E30; extern ActorInfo GV_D_80390E30;
extern ActorInfo D_80390E54; extern ActorInfo D_80390E54;
extern ActorInfo D_80390ED0; extern ActorInfo D_80390ED0;
extern ActorInfo D_80390F00; extern ActorInfo D_80390F00;
@@ -36,7 +36,7 @@ extern ActorInfo D_80391260;
extern ActorInfo D_80391318; extern ActorInfo D_80391318;
extern ActorInfo D_80391358; extern ActorInfo D_80391358;
extern ActorInfo D_803912B8; extern ActorInfo D_803912B8;
extern ActorInfo D_80391390; extern ActorInfo GV_D_80391390;
extern ActorInfo D_803913B4; extern ActorInfo D_803913B4;
extern ActorInfo D_80390F40; extern ActorInfo D_80390F40;
extern ActorInfo D_80391494; extern ActorInfo D_80391494;
@@ -44,8 +44,8 @@ extern ActorInfo D_803915C0;
extern ActorInfo D_80391620; extern ActorInfo D_80391620;
extern ActorInfo D_803914B8; extern ActorInfo D_803914B8;
extern ActorInfo D_803914DC; extern ActorInfo D_803914DC;
extern ActorInfo D_80391500; extern ActorInfo GV_D_80391500;
extern ActorInfo D_80391524; extern ActorInfo GV_D_80391524;
extern ActorInfo D_8039156C; extern ActorInfo D_8039156C;
extern ActorInfo D_80391428; extern ActorInfo D_80391428;
extern ActorInfo D_8039144C; extern ActorInfo D_8039144C;
@@ -116,13 +116,13 @@ ActorInfo D_803914DC = { MARKER_ED_GV_SUN_DOOR, ACTOR_140_GV_SUN_DOOR, ASSET_3FF
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
ActorInfo D_80391500 = { MARKER_F0_GV_KAZOOIE_DOOR, ACTOR_143_GV_KAZOOIE_DOOR, ASSET_3D9_MODEL_GV_KAZOOIE_DOOR, ActorInfo GV_D_80391500 = { MARKER_F0_GV_KAZOOIE_DOOR, ACTOR_143_GV_KAZOOIE_DOOR, ASSET_3D9_MODEL_GV_KAZOOIE_DOOR,
0x1, 0x0, 0x1, 0x0,
chKazooieDoor_update, func_80326224, func_80325F2C, chKazooieDoor_update, func_80326224, func_80325F2C,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
ActorInfo D_80391524 = { MARKER_EF_GV_STAR_HATCH, ACTOR_142_GV_STAR_HATCH, ASSET_3DB_MODEL_GV_STAR_HATCH, ActorInfo GV_D_80391524 = { MARKER_EF_GV_STAR_HATCH, ACTOR_142_GV_STAR_HATCH, ASSET_3DB_MODEL_GV_STAR_HATCH,
0x1, 0x0, 0x1, 0x0,
func_8038E648, func_80326224, func_80325F2C, func_8038E648, func_80326224, func_80325F2C,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
@@ -465,18 +465,18 @@ void func_8038F130(UNK_TYPE(s32) arg0, ActorMarker *arg1){
func_8038F028(arg0, arg1, 1, 0); //JINXY egg flags? func_8038F028(arg0, arg1, 1, 0); //JINXY egg flags?
} }
void func_8038F154(void) void GV_func_8038F154(void)
{ {
spawnableActorList_add(&D_80390BF0, actor_new, 0X180); spawnableActorList_add(&D_80390BF0, actor_new, 0X180);
spawnableActorList_add(&D_80390C5C, actor_new, 0X58A); spawnableActorList_add(&D_80390C5C, actor_new, 0X58A);
spawnableActorList_add(&D_80390C80, actor_new, 0X9A8); spawnableActorList_add(&D_80390C80, actor_new, 0X9A8);
spawnableActorList_add(&D_80390D30, actor_new, 0X880); spawnableActorList_add(&D_80390D30, actor_new, 0X880);
spawnableActorList_add(&D_80390D60, actor_new, 0X80); spawnableActorList_add(&D_80390D60, actor_new, 0X80);
spawnableActorList_add(&D_80390CB0, actor_new, 0XDA8); spawnableActorList_add(&GV_D_80390CB0, actor_new, 0XDA8);
spawnableActorList_add(&D_80390D00, actor_new, 0X9A8); spawnableActorList_add(&D_80390D00, actor_new, 0X9A8);
spawnableActorList_add(&D_80390D90, actor_new, 0XD80); spawnableActorList_add(&D_80390D90, actor_new, 0XD80);
spawnableActorList_add(&D_80390DD0, actor_new, 0X4004); spawnableActorList_add(&GV_D_80390DD0, actor_new, 0X4004);
spawnableActorList_add(&D_80390E30, actor_new, 0X448); spawnableActorList_add(&GV_D_80390E30, actor_new, 0X448);
spawnableActorList_add(&D_80390E54, actor_new, 0X48); spawnableActorList_add(&D_80390E54, actor_new, 0X48);
spawnableActorList_add(&D_80390ED0, actor_new, 0X180); spawnableActorList_add(&D_80390ED0, actor_new, 0X180);
spawnableActorList_add(&D_80390F00, actor_new, 0X80); spawnableActorList_add(&D_80390F00, actor_new, 0X80);
@@ -492,7 +492,7 @@ void func_8038F154(void)
spawnableActorList_add(&D_80391318, actor_new, 0X78A); spawnableActorList_add(&D_80391318, actor_new, 0X78A);
spawnableActorList_add(&D_80391358, actor_new, 0X518); spawnableActorList_add(&D_80391358, actor_new, 0X518);
spawnableActorList_add(&D_803912B8, actor_new, 0X500); spawnableActorList_add(&D_803912B8, actor_new, 0X500);
spawnableActorList_add(&D_80391390, actor_new, 0X500); spawnableActorList_add(&GV_D_80391390, actor_new, 0X500);
spawnableActorList_add(&D_803913B4, actor_new, 0X500); spawnableActorList_add(&D_803913B4, actor_new, 0X500);
spawnableActorList_add(&D_80390F40, actor_new, 0); spawnableActorList_add(&D_80390F40, actor_new, 0);
spawnableActorList_add(&D_80391494, actor_new, 0X408); spawnableActorList_add(&D_80391494, actor_new, 0X408);
@@ -500,8 +500,8 @@ void func_8038F154(void)
spawnableActorList_add(&D_80391620, actor_new, 0X400); spawnableActorList_add(&D_80391620, actor_new, 0X400);
spawnableActorList_add(&D_803914B8, actor_new, 0X400); spawnableActorList_add(&D_803914B8, actor_new, 0X400);
spawnableActorList_add(&D_803914DC, actor_new, 0X400); spawnableActorList_add(&D_803914DC, actor_new, 0X400);
spawnableActorList_add(&D_80391500, actor_new, 0X400); spawnableActorList_add(&GV_D_80391500, actor_new, 0X400);
spawnableActorList_add(&D_80391524, actor_new, 0X400); spawnableActorList_add(&GV_D_80391524, actor_new, 0X400);
spawnableActorList_add(&D_8039156C, actor_new, 0X400); spawnableActorList_add(&D_8039156C, actor_new, 0X400);
spawnableActorList_add(&D_80391428, actor_new, 8); spawnableActorList_add(&D_80391428, actor_new, 8);
spawnableActorList_add(&D_8039144C, actor_new, 8); spawnableActorList_add(&D_8039144C, actor_new, 8);

View File

@@ -30,7 +30,7 @@ Struct_GV_9DB0_1 D_80391650[] = {
{0x19F, 7, 0 }, {0x19F, 7, 0 },
{0x000, 0, 0 }, {0x000, 0, 0 },
}; };
f32 D_803916D8[3] = {0.0f, 100.0f, 0.0f}; f32 GV_D_803916D8[3] = {0.0f, 100.0f, 0.0f};
/*.bss */ /*.bss */
extern struct { extern struct {
@@ -63,7 +63,7 @@ void func_80390218(void *arg0){
} }
void func_80390248(void){ void func_80390248(void){
jiggySpawn(JIGGY_40_GV_MATCHING_GAME, D_803916D8); jiggySpawn(JIGGY_40_GV_MATCHING_GAME, GV_D_803916D8);
} }
//matchingGame_setState //matchingGame_setState

View File

@@ -3,10 +3,11 @@
#include "variables.h" #include "variables.h"
/* .bss */ /* .bss */
u8 GV_pad3[0x40];
struct { struct {
u8 unk0; u8 unk0;
f32 unk4; f32 unk4;
}D_80391B00; }GV_D_80391B00;
/* .code */ /* .code */
void func_80390880(void){ void func_80390880(void){
@@ -20,8 +21,8 @@ void func_80390880(void){
void func_803908C4(s32 arg0){ void func_803908C4(s32 arg0){
void *tmp_v0; void *tmp_v0;
D_80391B00.unk0 = arg0; GV_D_80391B00.unk0 = arg0;
if(D_80391B00.unk0 == 2){ if(GV_D_80391B00.unk0 == 2){
func_80324E38(0.0f, 3); func_80324E38(0.0f, 3);
timed_setCameraToNode(0.0f, 0); timed_setCameraToNode(0.0f, 0);
timedFunc_set_0(3.0f, func_80390880); timedFunc_set_0(3.0f, func_80390880);
@@ -36,7 +37,7 @@ void func_803908C4(s32 arg0){
} }
} }
if(D_80391B00.unk0 == 3){ if(GV_D_80391B00.unk0 == 3){
levelSpecificFlags_set(6, TRUE); levelSpecificFlags_set(6, TRUE);
func_803228D8(); func_803228D8();
func_803204E4(0xe, 1); func_803204E4(0xe, 1);
@@ -51,7 +52,7 @@ void func_803909F4(void){
void *tmp_v0_2; void *tmp_v0_2;
D_80391B00.unk0 = 0; GV_D_80391B00.unk0 = 0;
if(map_get() != MAP_15_GV_WATER_PYRAMID) return; if(map_get() != MAP_15_GV_WATER_PYRAMID) return;
if(jiggyscore_isCollected(JIGGY_42_GV_WATER_PYRAMID)){ if(jiggyscore_isCollected(JIGGY_42_GV_WATER_PYRAMID)){
@@ -64,7 +65,7 @@ void func_803909F4(void){
func_8034E71C(tmp_v0_2, -1460, 0.0f); func_8034E71C(tmp_v0_2, -1460, 0.0f);
} }
else{ else{
D_80391B00.unk4 = 0.0f; GV_D_80391B00.unk4 = 0.0f;
func_803908C4(1); func_803908C4(1);
} }
} }
@@ -75,23 +76,23 @@ void func_80390A94(void){
time_delta = time_getDelta(); time_delta = time_getDelta();
if(!D_80391B00.unk0) return; if(!GV_D_80391B00.unk0) return;
if(D_80391B00.unk0 == 1){ if(GV_D_80391B00.unk0 == 1){
if(0.0f < D_80391B00.unk4){ if(0.0f < GV_D_80391B00.unk4){
D_80391B00.unk4 -= time_delta; GV_D_80391B00.unk4 -= time_delta;
if(D_80391B00.unk4 <= 0.0f){ if(GV_D_80391B00.unk4 <= 0.0f){
func_803908C4(2); func_803908C4(2);
} }
} }
else{ else{
if(jiggyscore_isCollected(JIGGY_42_GV_WATER_PYRAMID)){ if(jiggyscore_isCollected(JIGGY_42_GV_WATER_PYRAMID)){
D_80391B00.unk4 = 0.01f; GV_D_80391B00.unk4 = 0.01f;
} }
} }
}//L80390B34 }//L80390B34
if(D_80391B00.unk0 == 2){ if(GV_D_80391B00.unk0 == 2){
tmp_v0 = func_8034C528(0x190); tmp_v0 = func_8034C528(0x190);
if(tmp_v0 && func_8034DC78(tmp_v0) == 1){ if(tmp_v0 && func_8034DC78(tmp_v0) == 1){
func_8030E760(SFX_7F_HEAVYDOOR_SLAM, 0.8f, 0x7fd0); func_8030E760(SFX_7F_HEAVYDOOR_SLAM, 0.8f, 0x7fd0);

View File

@@ -24,20 +24,22 @@ ActorInfo D_80390C80 = { MARKER_BC_GOBI_1, ACTOR_12E_GOBI_1, ASSET_3E0_MODEL_GOB
0, 0x533, 0.0f, 0 0, 0x533, 0.0f, 0
}; };
/* .bss */ /* .bss */
u8 GV_pad0[0x10];
struct { struct {
u8 unk0; u8 unk0;
u8 unk1; u8 unk1;
}D_80391A40; }GV_D_80391A40;
/* .code */ /* .code */
void func_80387150(Actor *this, s32 next_state){ void GV_func_80387150(Actor *this, s32 next_state){
ActorLocal_GV_D60 *local = (ActorLocal_GV_D60 *)&this->local; ActorLocal_GV_D60 *local = (ActorLocal_GV_D60 *)&this->local;
this->state = next_state; this->state = next_state;
D_80391A40.unk0 = FALSE; GV_D_80391A40.unk0 = FALSE;
D_80391A40.unk1 = FALSE; GV_D_80391A40.unk1 = FALSE;
if(this->state == 1){ if(this->state == 1){
func_80335924(this->unk148, 0xd9, 0.5f, 4.0f); func_80335924(this->unk148, 0xd9, 0.5f, 4.0f);
@@ -47,14 +49,14 @@ void func_80387150(Actor *this, s32 next_state){
if(this->state == 2){ if(this->state == 2){
func_80335924(this->unk148, 0xda, 1.0f, 5.0f); func_80335924(this->unk148, 0xda, 1.0f, 5.0f);
local->unkC = 0.9f; local->unkC = 0.9f;
D_80391A40.unk0 = TRUE; GV_D_80391A40.unk0 = TRUE;
} }
if(this->state == 3){ if(this->state == 3){
func_8028F918(2); func_8028F918(2);
func_80335924(this->unk148, 0xf7, 1.0f, 5.33f); func_80335924(this->unk148, 0xf7, 1.0f, 5.33f);
local->unk14 = 0.01f; local->unk14 = 0.01f;
D_80391A40.unk1 = TRUE; GV_D_80391A40.unk1 = TRUE;
} }
if(this->state == 4){ if(this->state == 4){
@@ -78,16 +80,16 @@ Actor *chgobi1_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
} }
s32 func_80387354(void){ s32 func_80387354(void){
return D_80391A40.unk0; return GV_D_80391A40.unk0;
} }
s32 func_80387360(void){ s32 func_80387360(void){
return D_80391A40.unk1; return GV_D_80391A40.unk1;
} }
void func_8038736C(Actor *this){ void func_8038736C(Actor *this){
ActorLocal_GV_D60 *local = (ActorLocal_GV_D60 *)&this->local; ActorLocal_GV_D60 *local = (ActorLocal_GV_D60 *)&this->local;
func_80387150(this, 0); GV_func_80387150(this, 0);
func_8030DA44(local->unk0[0]); func_8030DA44(local->unk0[0]);
func_8030DA44(local->unk0[1]); func_8030DA44(local->unk0[1]);
} }
@@ -118,8 +120,8 @@ void func_80387408(Actor *this){
marker->unk30 = func_8038736C; marker->unk30 = func_8038736C;
marker->propPtr->unk8_3 = TRUE; marker->propPtr->unk8_3 = TRUE;
marker->collidable = TRUE; marker->collidable = TRUE;
D_80391A40.unk0 = 0; GV_D_80391A40.unk0 = 0;
D_80391A40.unk1 = 0; GV_D_80391A40.unk1 = 0;
local->unk0[0] = func_8030D90C(); local->unk0[0] = func_8030D90C();
local->unk0[1] = func_8030D90C(); local->unk0[1] = func_8030D90C();
local->unk8 = 0.0f; local->unk8 = 0.0f;
@@ -128,7 +130,7 @@ void func_80387408(Actor *this){
local->unk14 = 0.0f; local->unk14 = 0.0f;
this->unk1C[0] = 0.0f; this->unk1C[0] = 0.0f;
this->unk1C[1] = 0.0f; this->unk1C[1] = 0.0f;
func_80387150(this, 1); GV_func_80387150(this, 1);
if(jiggyscore_isSpawned(JIGGY_44_GV_GOBI_1) && ! func_803203FC(1)){ if(jiggyscore_isSpawned(JIGGY_44_GV_GOBI_1) && ! func_803203FC(1)){
marker_despawn(this->marker); marker_despawn(this->marker);
} }
@@ -228,5 +230,5 @@ void func_80387408(Actor *this){
this->unk1C[0] = 0.0f; this->unk1C[0] = 0.0f;
if(sp6C) if(sp6C)
func_80387150(this, sp6C); GV_func_80387150(this, sp6C);
} }

View File

@@ -21,7 +21,7 @@ void func_80328B8C(Actor*, s32, f32, s32);
void func_802C8F70(f32); void func_802C8F70(f32);
void func_80324E88(f32); void func_80324E88(f32);
Actor *func_8032811C(s32 actor_id, s32 position[3], s32 yaw); Actor *func_8032811C(s32 actor_id, s32 position[3], s32 yaw);
void func_80387F44(void); void MM_func_80387F44(void);
void func_803876D0(Actor *); void func_803876D0(Actor *);
@@ -180,7 +180,7 @@ void func_803873C8(ActorMarker *congaMarker){
f32 iVelY; f32 iVelY;
congaPtr->unk10_12 -= (congaPtr->unk10_12 && ( conga_state == 7)); congaPtr->unk10_12 -= (congaPtr->unk10_12 && ( conga_state == 7));
func_80387F44(); MM_func_80387F44();
congaPtr->unk28 = 2.0f; congaPtr->unk28 = 2.0f;
orangePtr = func_8032811C(ACTOR_14_ORANGE_PROJECTILE, conga_localPtr->orangeSpawnPosition, congaPtr->yaw); orangePtr = func_8032811C(ACTOR_14_ORANGE_PROJECTILE, conga_localPtr->orangeSpawnPosition, congaPtr->yaw);

View File

@@ -44,7 +44,7 @@ void func_80388300(Actor **arg0){
if(arg0); if(arg0);
} }
void func_803883AC(Actor *this){ void MM_func_803883AC(Actor *this){
f32 sp2C; f32 sp2C;
f32 sp28; f32 sp28;
static D_80389A5C = 0; static D_80389A5C = 0;
@@ -85,7 +85,7 @@ void func_803885D0(Actor *this){
func_80343DEC(this); func_80343DEC(this);
}else{//L80388630 }else{//L80388630
if(func_80329530(this, 0x2BC) && !func_803114B0()){ if(func_80329530(this, 0x2BC) && !func_803114B0()){
func_803883AC(this); MM_func_803883AC(this);
}//L8038865C }//L8038865C
switch(this->state){ switch(this->state){
case 1://L80388690 case 1://L80388690

View File

@@ -11,13 +11,13 @@
f32 func_80309724(f32*); f32 func_80309724(f32*);
/* public functions */ /* public functions */
void func_80387FF4(Actor *this); void MM_func_80387FF4(Actor *this);
Actor* func_80388188(ActorMarker *, Gfx **, Mtx**, Vtx**); Actor* func_80388188(ActorMarker *, Gfx **, Mtx**, Vtx**);
/* .data */ /* .data */
ActorInfo chorangeInfo = { MARKER_C_ORANGE_PROJECTILE, ACTOR_14_ORANGE_PROJECTILE, ASSET_2D2_MODEL_ORANGE, ActorInfo chorangeInfo = { MARKER_C_ORANGE_PROJECTILE, ACTOR_14_ORANGE_PROJECTILE, ASSET_2D2_MODEL_ORANGE,
1, NULL, 1, NULL,
func_80387FF4, func_80326224, func_80388188, MM_func_80387FF4, func_80326224, func_80388188,
0, 0, 0.6f, 0 0, 0, 0.6f, 0
}; };
@@ -35,7 +35,7 @@ void func_80387F90(ActorMarker *arg0, ActorMarker *other_marker){
if(arg0); if(arg0);
} }
void func_80387FF4(Actor * this){ void MM_func_80387FF4(Actor * this){
f32 temp_f2; f32 temp_f2;
f32 temp_f0; f32 temp_f0;

View File

@@ -19,7 +19,7 @@ ActorInfo chorangepadInfo = { MARKER_66_ORANGE_PAD, ACTOR_57_ORANGE_PAD, ASSET_2
}; };
/*.code */ /*.code */
void func_803863F0(s32 x, s32 y, s32 z){ void MM_func_803863F0(s32 x, s32 y, s32 z){
f32 pos[3]; f32 pos[3];
TUPLE_ASSIGN(pos, x, y, z); TUPLE_ASSIGN(pos, x, y, z);
@@ -49,7 +49,7 @@ void func_80386444(ActorMarker *arg0){
func_802BAFE4(temp_a0); func_802BAFE4(temp_a0);
sp44[1] += 50.0f; sp44[1] += 50.0f;
timedFunc_set_3(0.6f, (TFQM3) func_803863F0, (s32)sp44[0], (s32)sp44[1], (s32)sp44[2]); timedFunc_set_3(0.6f, (TFQM3) MM_func_803863F0, (s32)sp44[0], (s32)sp44[1], (s32)sp44[2]);
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF); func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF);
if(!jiggyscore_isCollected(JIGGY_8_MM_ORANGE_PADS)){ if(!jiggyscore_isCollected(JIGGY_8_MM_ORANGE_PADS)){
func_80311480(0xB3B, 4, NULL, NULL, NULL, NULL); func_80311480(0xB3B, 4, NULL, NULL, NULL, NULL);

View File

@@ -15,7 +15,7 @@ extern ActorInfo chjujuInfo;
extern ActorInfo chorangepadInfo; extern ActorInfo chorangepadInfo;
extern ActorInfo chlmonkeyInfo; extern ActorInfo chlmonkeyInfo;
void func_803888B0(void){ void MM_func_803888B0(void){
spawnableActorList_add( &chhutInfo, actor_new, 0X400); spawnableActorList_add( &chhutInfo, actor_new, 0X400);
spawnableActorList_add( &chchimpystump, actor_new, 0x0); spawnableActorList_add( &chchimpystump, actor_new, 0x0);
spawnableActorList_add( &chgrublinInfo, actor_new, 0X2000121); spawnableActorList_add( &chgrublinInfo, actor_new, 0X2000121);

View File

@@ -27,7 +27,7 @@ void func_80387EC0(void) {
} }
} }
void func_80387F44(void) { void MM_func_80387F44(void) {
s32 sp1C; s32 sp1C;
osPiReadIo(0x578, (u32 *)&sp1C); osPiReadIo(0x578, (u32 *)&sp1C);

View File

@@ -175,7 +175,7 @@ void chnapper_update(Actor *this){
__chnapper_setState(this, 2); __chnapper_setState(this, 2);
} }
if(func_80389530() || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)){ if(MMM_func_80389530() || func_803203FC(UNKFLAGS1_1F_IN_CHARACTER_PARADE)){
__chnapper_setState(this, 3); __chnapper_setState(this, 3);
} }
}//L80386F74 }//L80386F74

View File

@@ -78,7 +78,7 @@ void func_80387B14(Actor *this, s32 next_state){
} }
void func_80387CF4(ActorMarker *this_marker, ActorMarker *other_marker) { void MMM_func_80387CF4(ActorMarker *this_marker, ActorMarker *other_marker) {
func_8030E6D4(0x1E); func_8030E6D4(0x1E);
} }
@@ -176,7 +176,7 @@ void func_80388028(Actor *this){
if(!this->unk16C_4){ if(!this->unk16C_4){
this->unk16C_4 = TRUE; this->unk16C_4 = TRUE;
this->unk16C_0 = TRUE; this->unk16C_0 = TRUE;
marker_setCollisionScripts(this->marker, NULL, func_80387CF4, func_80387D1C); marker_setCollisionScripts(this->marker, NULL, MMM_func_80387CF4, func_80387D1C);
__spawnqueue_add_1(func_80387D48, this->marker); __spawnqueue_add_1(func_80387D48, this->marker);
func_80387B14(this, (this->state < 5) ? 1 : 6); func_80387B14(this, (this->state < 5) ? 1 : 6);
}//L803880B4 }//L803880B4

View File

@@ -160,7 +160,7 @@ ActorInfo D_8038BDFC = {
s32 D_8038BE20[4] = {0x87, 0x87, 0x87, 0xB4}; s32 D_8038BE20[4] = {0x87, 0x87, 0x87, 0xB4};
/* .code */ /* .code */
f32 func_80388430(Actor *this, s32 arg1, s32 arg2, f32 arg3) { f32 MMM_func_80388430(Actor *this, s32 arg1, s32 arg2, f32 arg3) {
f32 sp4C[3]; f32 sp4C[3];
f32 sp40[3]; f32 sp40[3];
f32 sp34[3]; f32 sp34[3];
@@ -230,11 +230,11 @@ void func_803888B8(Actor *this){
case 4: case 4:
switch(this->marker->unk14_20){ switch(this->marker->unk14_20){
case 0x9F: case 0x9F:
this->roll = func_80388430(this, 0, -1, this->roll); this->roll = MMM_func_80388430(this, 0, -1, this->roll);
break; break;
case 0xa0: case 0xa0:
case 0xff: case 0xff:
this->pitch = func_80388430(this, 2, 1, this->pitch); this->pitch = MMM_func_80388430(this, 2, 1, this->pitch);
break; break;
} }
break; break;
@@ -390,7 +390,7 @@ void func_803890B8(Actor *this) {
func_8038AC04(); func_8038AC04();
} }
void func_803890E0(void){ void MMM_func_803890E0(void){
spawnableActorList_add(&D_8038BC28, actor_new, 0); spawnableActorList_add(&D_8038BC28, actor_new, 0);
spawnableActorList_add(&D_8038BCDC, actor_new, 0); spawnableActorList_add(&D_8038BCDC, actor_new, 0);
spawnableActorList_add(&D_8038BC4C, actor_new, 0); spawnableActorList_add(&D_8038BC4C, actor_new, 0);

View File

@@ -20,7 +20,7 @@ u8 func_80389524() {
return D_8038C4E0.unk0; return D_8038C4E0.unk0;
} }
u8 func_80389530() { u8 MMM_func_80389530() {
return D_8038C4E0.unk2; return D_8038C4E0.unk2;
} }

View File

@@ -2,7 +2,7 @@
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
extern void func_8038B6D4(f32* arg0, s32 arg1); extern void MMM_func_8038B6D4(f32* arg0, s32 arg1);
/* internal definitions */ /* internal definitions */
typedef struct { typedef struct {
@@ -145,7 +145,7 @@ extern struct {
}D_8038C4F0; }D_8038C4F0;
/* .code */ /* .code */
void func_80389810(ActorMarker *caller, enum asset_e text_id, s32 arg2) { void MMM_func_80389810(ActorMarker *caller, enum asset_e text_id, s32 arg2) {
switch (D_8038C4F0.unkC) { switch (D_8038C4F0.unkC) {
case 2: case 2:
func_80389A0C(3); func_80389A0C(3);
@@ -162,11 +162,11 @@ void func_80389810(ActorMarker *caller, enum asset_e text_id, s32 arg2) {
} }
} }
void func_803898A0() { void MMM_func_803898A0() {
jiggySpawn(JIGGY_60_MMM_MOTZHAND, D_8038C1E0); jiggySpawn(JIGGY_60_MMM_MOTZHAND, D_8038C1E0);
} }
void func_803898C8() { void MMM_func_803898C8() {
func_8025A58C(0, 450); func_8025A58C(0, 450);
} }
@@ -175,10 +175,10 @@ void func_803898EC() {
} }
void func_80389910() { void func_80389910() {
func_80311480(0xAD5, 0xE, NULL, NULL, func_80389810, NULL); func_80311480(0xAD5, 0xE, NULL, NULL, MMM_func_80389810, NULL);
timedFunc_set_2(0.0f, func_8025A6EC, COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF); timedFunc_set_2(0.0f, func_8025A6EC, COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF);
timed_setCameraToNode(2.0f, 0); timed_setCameraToNode(2.0f, 0);
timedFunc_set_0(2.1f, func_803898A0); timedFunc_set_0(2.1f, MMM_func_803898A0);
timedFunc_set_0(6.0f, func_803898EC); timedFunc_set_0(6.0f, func_803898EC);
func_80324E88(6.0f); func_80324E88(6.0f);
func_80324E38(6.0f, 0); func_80324E38(6.0f, 0);
@@ -195,10 +195,10 @@ void func_80389A0C(s32 next_state){
if(next_state == 2){ if(next_state == 2){
if(D_8038C4F0.unkD == 0){ if(D_8038C4F0.unkD == 0){
D_8038C4F0.unkD = 1; D_8038C4F0.unkD = 1;
func_80311480(0xad3, 4, NULL, NULL, func_80389810, NULL); func_80311480(0xad3, 4, NULL, NULL, MMM_func_80389810, NULL);
} }
else{//L80389A84 else{//L80389A84
func_80311480(0xad6, 4, NULL, NULL, func_80389810, NULL); func_80311480(0xad6, 4, NULL, NULL, MMM_func_80389810, NULL);
} }
}//L80389A9C }//L80389A9C
@@ -215,18 +215,18 @@ void func_80389A0C(s32 next_state){
}//L80389AF4 }//L80389AF4
if(next_state == 4){ if(next_state == 4){
func_80311480(0xadd, 4, NULL, NULL, func_80389810, NULL); func_80311480(0xadd, 4, NULL, NULL, MMM_func_80389810, NULL);
func_80387720(D_8038C4F0.unk4); func_80387720(D_8038C4F0.unk4);
} }
if(next_state == 5){ if(next_state == 5){
D_8038C4F0.unkD++; D_8038C4F0.unkD++;
func_80311480(0xad4, 4, NULL, NULL, func_80389810, NULL); func_80311480(0xad4, 4, NULL, NULL, MMM_func_80389810, NULL);
func_80387720(D_8038C4F0.unk4); func_80387720(D_8038C4F0.unk4);
} }
if(next_state == 6){ if(next_state == 6){
func_803898C8(); MMM_func_803898C8();
timedFunc_set_0(1.25f, func_803899BC); timedFunc_set_0(1.25f, func_803899BC);
func_80387654(D_8038C4F0.unk4); func_80387654(D_8038C4F0.unk4);
} }
@@ -266,7 +266,7 @@ void func_80389BCC(s32 key_indx, f32 position[3]) {
} }
} }
void func_80389CD8() {} void MMM_func_80389CD8() {}
void func_80389CE0() {} void func_80389CE0() {}
@@ -296,7 +296,7 @@ int func_80389CE8(s32 arg0, s32 arg1, s32 arg2){
void func_80389D9C(s32 key_id){ void func_80389D9C(s32 key_id){
s32 sp24; s32 sp24;
sp24 = D_8038C198[key_id].unk1; sp24 = D_8038C198[key_id].unk1;
func_8038B6D4(func_803517B8(sp24), func_803517E8(sp24)); MMM_func_8038B6D4(func_803517B8(sp24), func_803517E8(sp24));
D_8038C4F0.unk0++; D_8038C4F0.unk0++;
} }

View File

@@ -65,7 +65,7 @@ struct {
u8 unk8; u8 unk8;
BKModel *unkC; BKModel *unkC;
s32 unk10; s32 unk10;
} D_8038C510; } MMM_D_8038C510;
/* .code */ /* .code */
void func_8038A140(UNK_TYPE(s32) arg0) { void func_8038A140(UNK_TYPE(s32) arg0) {
@@ -78,20 +78,20 @@ void func_8038A140(UNK_TYPE(s32) arg0) {
timedFunc_set_1(3.0f, func_8038A140, 3); timedFunc_set_1(3.0f, func_8038A140, 3);
} }
if (arg0 == 3) { if (arg0 == 3) {
if (D_8038C510.unk8 == 1) { if (MMM_D_8038C510.unk8 == 1) {
mapSpecificFlags_set(3, 1); mapSpecificFlags_set(3, 1);
} }
item_set(ITEM_0_HOURGLASS_TIMER, 75*60 - 1); item_set(ITEM_0_HOURGLASS_TIMER, 75*60 - 1);
item_set(6, 1); item_set(6, 1);
} }
if (D_8038C510.unk8 == 3) { if (MMM_D_8038C510.unk8 == 3) {
item_set(6, 0); item_set(6, 0);
mapSpecificFlags_set(4, 1); mapSpecificFlags_set(4, 1);
} }
if (arg0 == 4) { if (arg0 == 4) {
func_8028F66C(BS_INTR_F); func_8028F66C(BS_INTR_F);
} }
D_8038C510.unk8 = arg0; MMM_D_8038C510.unk8 = arg0;
} }
Struct_MMM_3D50_0 *func_8038A26C(s32 arg0){ Struct_MMM_3D50_0 *func_8038A26C(s32 arg0){
@@ -116,7 +116,7 @@ void func_8038A2B8(void){
} }
} }
void func_8038A2F0(s32 mesh_id, BKVtxRef *ref_vert, Vtx* vert, Struct_MMM_3D50_0 *arg3) { void MMM_func_8038A2F0(s32 mesh_id, BKVtxRef *ref_vert, Vtx* vert, Struct_MMM_3D50_0 *arg3) {
f32 temp_f2; f32 temp_f2;
if (arg3->unk4 < 0.5) { if (arg3->unk4 < 0.5) {
@@ -134,7 +134,7 @@ void func_8038A2F0(s32 mesh_id, BKVtxRef *ref_vert, Vtx* vert, Struct_MMM_3D50_0
} }
void func_8038A54C(Struct_MMM_3D50_0 *arg0, s32 arg1){ void MMM_func_8038A54C(Struct_MMM_3D50_0 *arg0, s32 arg1){
s32 v0 = arg0->unk3; s32 v0 = arg0->unk3;
arg0->unk3 = arg1; arg0->unk3 = arg1;
arg0->unk4 = 0.0f; arg0->unk4 = 0.0f;
@@ -165,10 +165,10 @@ void func_8038A750(void){
for(v1 = &D_8038C1F0[0]; v1->unk0 != 0; v1++){ for(v1 = &D_8038C1F0[0]; v1->unk0 != 0; v1++){
v1->unk4 += f20; v1->unk4 += f20;
if(v1->unk3 == 1){ if(v1->unk3 == 1){
func_8033F120(D_8038C510.unk0, v1->unk0, func_8038A2F0, v1); func_8033F120(MMM_D_8038C510.unk0, v1->unk0, MMM_func_8038A2F0, v1);
} }
else if(v1->unk3 == 3){ else if(v1->unk3 == 3){
func_8033F120(D_8038C510.unk0, v1->unk0, func_8038A58C, v1); func_8033F120(MMM_D_8038C510.unk0, v1->unk0, func_8038A58C, v1);
} }
} }
} }
@@ -179,9 +179,9 @@ void func_8038A82C(Struct_MMM_3D50_0 * arg0){
Struct_MMM_3D50_1 *iPtr; Struct_MMM_3D50_1 *iPtr;
if(arg0->unk2 == 'X'){ if(arg0->unk2 == 'X'){
func_8038A54C(arg0, 1); MMM_func_8038A54C(arg0, 1);
player_getPosition(sp44); player_getPosition(sp44);
func_8038AD10(D_8038C510.unkC, D_8038C510.unk10, sp38); func_8038AD10(MMM_D_8038C510.unkC, MMM_D_8038C510.unk10, sp38);
sp38[1] = sp44[1]; sp38[1] = sp44[1];
func_8028F620(sp38, 300.0f, -1500.0f); func_8028F620(sp38, 300.0f, -1500.0f);
return; return;
@@ -189,10 +189,10 @@ void func_8038A82C(Struct_MMM_3D50_0 * arg0){
for(iPtr = &D_8038C2F0[0]; iPtr->unk0 != 0; iPtr++){//L8038A8C8 for(iPtr = &D_8038C2F0[0]; iPtr->unk0 != 0; iPtr++){//L8038A8C8
if(arg0->unk2 == iPtr->unk0[iPtr->unk4]){ if(arg0->unk2 == iPtr->unk0[iPtr->unk4]){
iPtr->unk4++; iPtr->unk4++;
func_8038A54C(arg0, 3); MMM_func_8038A54C(arg0, 3);
if( iPtr->unk0[iPtr->unk4] == 0){ if( iPtr->unk0[iPtr->unk4] == 0){
func_8038A140(5); func_8038A140(5);
func_8038AF3C(D_8038C510.unkC, D_8038C510.unk10); func_8038AF3C(MMM_D_8038C510.unkC, MMM_D_8038C510.unk10);
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 32000); func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 32000);
} }
else{ else{
@@ -216,12 +216,12 @@ void func_8038A994() {
void func_8038A9B4(void){ void func_8038A9B4(void){
D_8038C510.unk8 = 0; MMM_D_8038C510.unk8 = 0;
if(map_get() == MAP_24_MMM_TUMBLARS_SHED){ if(map_get() == MAP_24_MMM_TUMBLARS_SHED){
D_8038C510.unkC = NULL; MMM_D_8038C510.unkC = NULL;
D_8038C510.unk0 = func_80309744(0); MMM_D_8038C510.unk0 = func_80309744(0);
D_8038C510.unk4 = NULL; MMM_D_8038C510.unk4 = NULL;
func_8038A2B8(); func_8038A2B8();
func_8038A964(); func_8038A964();
@@ -235,8 +235,8 @@ void func_8038A9B4(void){
} }
void func_8038AA30(BKModel *arg0, s32 arg1){ void func_8038AA30(BKModel *arg0, s32 arg1){
D_8038C510.unkC = arg0; MMM_D_8038C510.unkC = arg0;
D_8038C510.unk10 = arg1; MMM_D_8038C510.unk10 = arg1;
} }
void func_8038AA44(void){ void func_8038AA44(void){
@@ -244,12 +244,12 @@ void func_8038AA44(void){
f32 sp28[3]; f32 sp28[3];
Struct_MMM_3D50_0 *sp24; Struct_MMM_3D50_0 *sp24;
if(D_8038C510.unk8 == 0) return; if(MMM_D_8038C510.unk8 == 0) return;
func_8038A750(); func_8038A750();
if( D_8038C510.unk8 == 1 if( MMM_D_8038C510.unk8 == 1
&& D_8038C510.unkC != NULL && MMM_D_8038C510.unkC != NULL
&& func_8038AD4C(D_8038C510.unkC, D_8038C510.unk10) && func_8038AD4C(MMM_D_8038C510.unkC, MMM_D_8038C510.unk10)
){ ){
if(!levelSpecificFlags_get(0x2f)){ if(!levelSpecificFlags_get(0x2f)){
levelSpecificFlags_set(0x2f, TRUE); levelSpecificFlags_set(0x2f, TRUE);
@@ -260,33 +260,33 @@ void func_8038AA44(void){
} }
} }
if(D_8038C510.unk8 == 3){ if(MMM_D_8038C510.unk8 == 3){
if(item_empty(ITEM_6_HOURGLASS)){ if(item_empty(ITEM_6_HOURGLASS)){
func_8038A140(4); func_8038A140(4);
} }
else if( D_8038C510.unkC != NULL else if( MMM_D_8038C510.unkC != NULL
&& func_8038AD4C(D_8038C510.unkC, D_8038C510.unk10) && func_8038AD4C(MMM_D_8038C510.unkC, MMM_D_8038C510.unk10)
){ ){
func_8038AD10(D_8038C510.unkC, D_8038C510.unk10, sp28); func_8038AD10(MMM_D_8038C510.unkC, MMM_D_8038C510.unk10, sp28);
tmp_v0 = func_8033F3C0(D_8038C510.unk0, sp28); tmp_v0 = func_8033F3C0(MMM_D_8038C510.unk0, sp28);
if(tmp_v0){ if(tmp_v0){
sp24 = func_8038A26C(tmp_v0); sp24 = func_8038A26C(tmp_v0);
if( sp24 if( sp24
&& sp24->unk3 == 2 && sp24->unk3 == 2
&& sp24 != D_8038C510.unk4 && sp24 != MMM_D_8038C510.unk4
){ ){
func_8038A82C(sp24); func_8038A82C(sp24);
D_8038C510.unk4 = sp24; MMM_D_8038C510.unk4 = sp24;
} }
} }
else{ else{
D_8038C510.unk4 = 0; MMM_D_8038C510.unk4 = 0;
} }
} }
}//L8038AB7C }//L8038AB7C
if( D_8038C510.unk8 == 5 if( MMM_D_8038C510.unk8 == 5
&& func_8038AD38(D_8038C510.unkC, D_8038C510.unk10) && func_8038AD38(MMM_D_8038C510.unkC, MMM_D_8038C510.unk10)
){ ){
func_8038A140(6); func_8038A140(6);
} }

View File

@@ -14,7 +14,7 @@ typedef struct {
}Struct_MMM_47D0_0; }Struct_MMM_47D0_0;
/* .code */ /* .code */
void func_8038ABC0(s32 arg0) { void MMM_func_8038ABC0(s32 arg0) {
if (getGameMode() != 7) { if (getGameMode() != 7) {
func_80295864(func_802957F0() & ~arg0); func_80295864(func_802957F0() & ~arg0);
} }
@@ -22,7 +22,7 @@ void func_8038ABC0(s32 arg0) {
void func_8038AC04(void){ void func_8038AC04(void){
if((*(u32*)PHYS_TO_K1(0x1D0)) - 0x356BAAAE){ if((*(u32*)PHYS_TO_K1(0x1D0)) - 0x356BAAAE){
func_8038ABC0(0x820); MMM_func_8038ABC0(0x820);
} }
} }
@@ -61,7 +61,7 @@ bool func_8038AD4C(s32 arg0, s32 arg1) {
&& (func_8028ECAC() == 0); && (func_8028ECAC() == 0);
} }
void func_8038ADF0(Struct_MMM_47D0_0 *arg0, Struct68s *arg1) { void MMM_func_8038ADF0(Struct_MMM_47D0_0 *arg0, Struct68s *arg1) {
u8 sp3F; u8 sp3F;
f32 sp38; f32 sp38;
Actor *jiggy; Actor *jiggy;

View File

@@ -86,7 +86,7 @@ void func_8038B630(Struct5Fs *arg0, Struct68s *arg1){
} }
void func_8038B6D4(Struct5Fs * arg0, Struct68s *arg1) { void MMM_func_8038B6D4(Struct5Fs * arg0, Struct68s *arg1) {
arg0->unk0 = 1.0f; arg0->unk0 = 1.0f;
func_8038B6FC(arg0, arg1); func_8038B6FC(arg0, arg1);
} }

View File

@@ -29,7 +29,7 @@ void func_803871D4(s32 arg0) {
levelSpecificFlags_setN(0x39, arg0, 3); levelSpecificFlags_setN(0x39, arg0, 3);
} }
void func_803871FC(Actor *this){ void MMM_func_803871FC(Actor *this){
switch(this->state){ switch(this->state){
case 1: case 1:
func_8033A45C(3, FALSE); func_8033A45C(3, FALSE);
@@ -50,7 +50,7 @@ void func_80387280(Actor *this){
this->marker->propPtr->unk8_3 = TRUE; this->marker->propPtr->unk8_3 = TRUE;
if(!this->initialized){ if(!this->initialized){
this->initialized = TRUE; this->initialized = TRUE;
this->unk130 = func_803871FC; this->unk130 = MMM_func_803871FC;
} }
switch(this->state){ switch(this->state){
@@ -66,7 +66,7 @@ void func_80387280(Actor *this){
} }
} }
bool func_80387340(ActorMarker *marker){ bool MMM_func_80387340(ActorMarker *marker){
Actor *actor = marker_getActor(marker); Actor *actor = marker_getActor(marker);
f32 sp20[3]; f32 sp20[3];
s32 sp1C; s32 sp1C;

View File

@@ -43,7 +43,7 @@ Struct_RBB_0_1 D_80390074[4] = {
}; };
/* .code */ /* .code */
void func_803863F0(Actor *actor, s32 arg1){ void RBB_func_803863F0(Actor *actor, s32 arg1){
ActorLocal_RBB_0 * local = (ActorLocal_RBB_0 *) &actor->local; ActorLocal_RBB_0 * local = (ActorLocal_RBB_0 *) &actor->local;
void *temp_a0; void *temp_a0;
f32 sp3C[3]; f32 sp3C[3];
@@ -92,7 +92,7 @@ void func_803865A4(ActorMarker *marker, s32 arg1){
void func_803865D0(ActorMarker *marker){ void func_803865D0(ActorMarker *marker){
Actor* actor = marker_getActor(marker); Actor* actor = marker_getActor(marker);
ActorLocal_RBB_0 * local = (ActorLocal_RBB_0 *) &actor->local; ActorLocal_RBB_0 * local = (ActorLocal_RBB_0 *) &actor->local;
func_803863F0(actor, 1); RBB_func_803863F0(actor, 1);
timed_setCameraToNode(0.0f, D_80390074[local->unk4].unk0); timed_setCameraToNode(0.0f, D_80390074[local->unk4].unk0);
timedFunc_set_2(0.75*D_80390074[local->unk4].unk4, (TFQM2) func_803865A4, actor->marker, 4); timedFunc_set_2(0.75*D_80390074[local->unk4].unk4, (TFQM2) func_803865A4, actor->marker, 4);
func_80324E88(0.75*D_80390074[local->unk4].unk4); func_80324E88(0.75*D_80390074[local->unk4].unk4);
@@ -158,7 +158,7 @@ void func_803868F0(Actor *this){
local->unk4 = (this->unk78_13 == 0xB)? 3: local->unk4; local->unk4 = (this->unk78_13 == 0xB)? 3: local->unk4;
func_803866F4(this, 1); func_803866F4(this, 1);
} }
func_803863F0(this, 0); RBB_func_803863F0(this, 0);
}//L803869F4 }//L803869F4
if(this->state == 2){ if(this->state == 2){
if(--local->unkC <= 0){ if(--local->unkC <= 0){

View File

@@ -7,12 +7,12 @@
/* typedefs and declarations */ /* typedefs and declarations */
void func_803881E8(Actor *this, s32 arg1); void func_803881E8(Actor *this, s32 arg1);
void func_803882F4(Actor *this); void RBB_func_803882F4(Actor *this);
/* .data */ /* .data */
ActorInfo D_80390270 = { ActorInfo D_80390270 = {
0x184, 0x174, 0x402, 0x0, NULL, 0x184, 0x174, 0x402, 0x0, NULL,
func_803882F4, NULL, func_80325340, RBB_func_803882F4, NULL, func_80325340,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
@@ -43,7 +43,7 @@ struct41s D_80390344= {
}; };
/*.code */ /*.code */
void func_80387960(f32 arg0){ void RBB_func_80387960(f32 arg0){
f32 sp34[3]; f32 sp34[3];
void * temp_v0; void * temp_v0;
f32 sp24[3]; f32 sp24[3];
@@ -159,11 +159,11 @@ void func_80387E20(void){
func_802EF3F4(actor, &D_8039032C, &D_80390338, 0x19); func_802EF3F4(actor, &D_8039032C, &D_80390338, 0x19);
} }
void func_80387F18(ActorMarker *marker, s32 arg1){ void RBB_func_80387F18(ActorMarker *marker, s32 arg1){
func_803881E8(marker_getActor(marker), arg1); func_803881E8(marker_getActor(marker), arg1);
} }
void func_80387F44(void){ void RBB_func_80387F44(void){
func_80250E94(0.5f, 1.0f, 1.5f, 0.0f, 1.0f, 1.5f); func_80250E94(0.5f, 1.0f, 1.5f, 0.0f, 1.0f, 1.5f);
} }
@@ -187,13 +187,13 @@ void func_80387F88(ActorMarker *marker){
timed_playSfx(3.0f, SFX_1A_BIG_THINGS_FALL_OVER, 0.6f, 22000); timed_playSfx(3.0f, SFX_1A_BIG_THINGS_FALL_OVER, 0.6f, 22000);
func_80324E88(4.0f); func_80324E88(4.0f);
func_80324E38(4.0f, 0); func_80324E38(4.0f, 0);
timedFunc_set_2(4.0f, (TFQM2) func_80387F18, (s32) actor->marker, 3); timedFunc_set_2(4.0f, (TFQM2) RBB_func_80387F18, (s32) actor->marker, 3);
} }
void func_80388154(ActorMarker *marker){ void func_80388154(ActorMarker *marker){
Actor *actor = marker_getActor(marker); Actor *actor = marker_getActor(marker);
func_803879F0(); func_803879F0();
timedFunc_set_0(0.0f, (TFQM0) func_80387F44); timedFunc_set_0(0.0f, (TFQM0) RBB_func_80387F44);
timed_playSfx(0.0f, SFX_7F_HEAVYDOOR_SLAM, 1.0f, 0x7fc6); timed_playSfx(0.0f, SFX_7F_HEAVYDOOR_SLAM, 1.0f, 0x7fc6);
timedFunc_set_2(1.2f, (TFQM2) func_80387B8C, 0x19f, 0); timedFunc_set_2(1.2f, (TFQM2) func_80387B8C, 0x19f, 0);
timed_setCameraToNode(1.2f, 8); timed_setCameraToNode(1.2f, 8);
@@ -203,7 +203,7 @@ void func_80388154(ActorMarker *marker){
void func_803881E8(Actor *this, s32 arg1){ void func_803881E8(Actor *this, s32 arg1){
this->state = arg1; this->state = arg1;
if(this->state == 2){ if(this->state == 2){
func_80387960(0.05f); RBB_func_80387960(0.05f);
timedFunc_set_2(0.05f, (TFQM2)func_80387BEC, 0x19f, 0x1f4); timedFunc_set_2(0.05f, (TFQM2)func_80387BEC, 0x19f, 0x1f4);
timedFunc_set_2(0.1f, (TFQM2)func_8025A6EC, COMUSIC_2B_DING_B, 28000); timedFunc_set_2(0.1f, (TFQM2)func_8025A6EC, COMUSIC_2B_DING_B, 28000);
func_80324E38(0.2f, 3); func_80324E38(0.2f, 3);
@@ -219,12 +219,12 @@ void func_803882B4(ActorMarker *marker, s32 arg1){
func_803881E8(actor, 2); func_803881E8(actor, 2);
} }
void func_803882F4(Actor *this){ void RBB_func_803882F4(Actor *this){
if(!this->unk16C_4){ if(!this->unk16C_4){
this->unk16C_4 = 1; this->unk16C_4 = 1;
if(levelSpecificFlags_get(0x2d)){ if(levelSpecificFlags_get(0x2d)){
func_80387AC0(); func_80387AC0();
func_80387960(0.0f); RBB_func_80387960(0.0f);
func_80387B24(); func_80387B24();
func_803881E8(this, 3); func_803881E8(this, 3);
}else{ }else{

View File

@@ -36,7 +36,7 @@ void func_803883B0(Actor *this, s32 arg1){
this->state = arg1; this->state = arg1;
} }
void func_80388430(ActorMarker * marker, ActorMarker *other_marker){ void RBB_func_80388430(ActorMarker * marker, ActorMarker *other_marker){
Actor * actor = marker_getActor(marker); Actor * actor = marker_getActor(marker);
ActorLocal_RBB_1FC0 *local = (ActorLocal_RBB_1FC0 *) &actor->local; ActorLocal_RBB_1FC0 *local = (ActorLocal_RBB_1FC0 *) &actor->local;
func_8030E6D4(SFX_111_WHIPCRACK_DEATH); func_8030E6D4(SFX_111_WHIPCRACK_DEATH);
@@ -97,7 +97,7 @@ void func_80388620(Actor *this){
if(!this->unk16C_4){ if(!this->unk16C_4){
this->unk16C_4 = 1; this->unk16C_4 = 1;
this->marker->propPtr->unk8_3 = 1; this->marker->propPtr->unk8_3 = 1;
marker_setCollisionScripts(this->marker, func_80388430, NULL, NULL); marker_setCollisionScripts(this->marker, RBB_func_80388430, NULL, NULL);
local->unk4 = 0; local->unk4 = 0;
local->unk0 = 0.0f; local->unk0 = 0.0f;
local->unk8 = 0.0f; local->unk8 = 0.0f;

View File

@@ -2,17 +2,17 @@
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
void func_803899C0(Actor *this); void RBB_func_803899C0(Actor *this);
/* .data */ /* .data */
ActorInfo D_803906B0 = { ActorInfo D_803906B0 = {
0x194, 0x1BE, 0x412, 0x0, NULL, 0x194, 0x1BE, 0x412, 0x0, NULL,
func_803899C0, NULL, func_80325888, RBB_func_803899C0, NULL, func_80325888,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
/* .code */ /* .code */
void func_803898A0(void){ void RBB_func_803898A0(void){
mapSpecificFlags_set(0, 1); mapSpecificFlags_set(0, 1);
} }
@@ -23,7 +23,7 @@ void func_803898C4(Actor * this, s32 arg1){
this->position_y -= 35.0f; this->position_y -= 35.0f;
func_80324E38(1.0f, 3); func_80324E38(1.0f, 3);
timed_setCameraToNode(1.0f, 0); timed_setCameraToNode(1.0f, 0);
timedFunc_set_0(1.0f, func_803898A0); timedFunc_set_0(1.0f, RBB_func_803898A0);
func_80324E88(5.0f); func_80324E88(5.0f);
func_80324E38(5.0f, 0); func_80324E38(5.0f, 0);
} }
@@ -36,7 +36,7 @@ void func_80389980(ActorMarker *marker, s32 arg1){
} }
} }
void func_803899C0(Actor *this){ void RBB_func_803899C0(Actor *this){
if(!this->unk16C_4){ if(!this->unk16C_4){
this->marker->propPtr->unk8_3 = 1; this->marker->propPtr->unk8_3 = 1;
this->unk16C_4 = 1; this->unk16C_4 = 1;

View File

@@ -35,7 +35,7 @@ ActorInfo D_80390738 = {
}; };
/* .code */ /* .code */
void func_8038A0A0(Actor *this, s32 arg1){ void RBB_func_8038A0A0(Actor *this, s32 arg1){
ActorLocal_RBB_3CB0 *local = (ActorLocal_RBB_3CB0 *)&this->local; ActorLocal_RBB_3CB0 *local = (ActorLocal_RBB_3CB0 *)&this->local;
if(arg1 == 1) if(arg1 == 1)
@@ -62,7 +62,7 @@ void func_8038A0A0(Actor *this, s32 arg1){
void func_8038A1C8(ActorMarker *marker, s32 arg1){ void func_8038A1C8(ActorMarker *marker, s32 arg1){
Actor *actor = marker_getActor(marker); Actor *actor = marker_getActor(marker);
if(actor->state == 1){ if(actor->state == 1){
func_8038A0A0(actor, 2); RBB_func_8038A0A0(actor, 2);
} }
else if(actor->state == 2){ else if(actor->state == 2){
func_8038FF40(); func_8038FF40();
@@ -109,16 +109,16 @@ void func_8038A324(Actor *this){
this->position_y = (f32)local->unk0->unk0[1]; this->position_y = (f32)local->unk0->unk0[1];
this->position_z = (f32)local->unk0->unk0[2]; this->position_z = (f32)local->unk0->unk0[2];
if(levelSpecificFlags_get(local->unk0->unkA)) if(levelSpecificFlags_get(local->unk0->unkA))
func_8038A0A0(this, 2); RBB_func_8038A0A0(this, 2);
else else
func_8038A0A0(this, 1); RBB_func_8038A0A0(this, 1);
}//L8038A47C }//L8038A47C
if(this->state == 2){ if(this->state == 2){
if( !levelSpecificFlags_get(local->unk0->unkA) if( !levelSpecificFlags_get(local->unk0->unkA)
&& !levelSpecificFlags_get(3) && !levelSpecificFlags_get(3)
&& !levelSpecificFlags_get(4) && !levelSpecificFlags_get(4)
){ ){
func_8038A0A0(this, 1); RBB_func_8038A0A0(this, 1);
} }
} }
} }

View File

@@ -53,7 +53,7 @@ s32 D_8039092C[3] = { 0, 0xFF, 0};
s32 D_80390938[3] = { 0xFF, 0, 0}; s32 D_80390938[3] = { 0xFF, 0, 0};
/* .code */ /* .code */
Struct_RBB_47D0 *func_8038ABC0(Actor *arg0){ Struct_RBB_47D0 *RBB_func_8038ABC0(Actor *arg0){
Struct_RBB_47D0 *iPtr = D_80390870; Struct_RBB_47D0 *iPtr = D_80390870;
while(iPtr->unk0 != 0){ while(iPtr->unk0 != 0){
if(iPtr->unk0 == arg0->modelCacheIndex) if(iPtr->unk0 == arg0->modelCacheIndex)
@@ -134,7 +134,7 @@ void func_8038AEB8(Actor *this){
this->marker->propPtr->unk8_3 = 1; this->marker->propPtr->unk8_3 = 1;
this->marker->unk30 = func_8038AD7C; this->marker->unk30 = func_8038AD7C;
marker_setCollisionScripts(this->marker, NULL, func_8038AD3C, NULL); marker_setCollisionScripts(this->marker, NULL, func_8038AD3C, NULL);
local->unk4 = func_8038ABC0(this); local->unk4 = RBB_func_8038ABC0(this);
mapSpecificFlags_set(local->unk4->unk10, FALSE); mapSpecificFlags_set(local->unk4->unk10, FALSE);
this->position_x = local->unk4->unk4[0]; this->position_x = local->unk4->unk4[0];
this->position_y = local->unk4->unk4[1]; this->position_y = local->unk4->unk4[1];

View File

@@ -40,7 +40,7 @@ ActorInfo D_803909D4 = {
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
ActorInfo D_803909F8 = { ActorInfo RBB_D_803909F8 = {
0x2C, 0x1C4, 0x416, 0x0, NULL, 0x2C, 0x1C4, 0x416, 0x0, NULL,
func_8038B340, NULL, func_8038B230, func_8038B340, NULL, func_8038B230,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
@@ -65,7 +65,7 @@ Struct_RBB_4C70 *func_8038B060(Actor *this){
return NULL; return NULL;
} }
void func_8038B0B8(Actor *this, s32 arg1){ void RBB_func_8038B0B8(Actor *this, s32 arg1){
ActorLocal_RBB_4C70 *local = (ActorLocal_RBB_4C70 *)&this->local; ActorLocal_RBB_4C70 *local = (ActorLocal_RBB_4C70 *)&this->local;
ParticleEmitter *other; ParticleEmitter *other;
@@ -137,16 +137,16 @@ void func_8038B340(Actor * this){
this->yaw = -90.0f; this->yaw = -90.0f;
this->scale = 0.25f; this->scale = 0.25f;
func_8038B0B8(this, 1); RBB_func_8038B0B8(this, 1);
}//L8038B3E4 }//L8038B3E4
if(this->state == 1){ if(this->state == 1){
if(mapSpecificFlags_get(local->unk0->unk10)) if(mapSpecificFlags_get(local->unk0->unk10))
func_8038B0B8(this, 2); RBB_func_8038B0B8(this, 2);
} }
if(this->state == 2){ if(this->state == 2){
if( func_80335794(this->unk148) > 0 ) if( func_80335794(this->unk148) > 0 )
func_8038B0B8(this, 1); RBB_func_8038B0B8(this, 1);
} }
} }

View File

@@ -8,7 +8,7 @@ extern s32 func_802EDD8C(f32 (*)[3], f32, f32);
void func_8038B900(Actor *this); void func_8038B900(Actor *this);
/* .data */ /* .data */
ActorInfo D_80390AB0 = { ActorInfo RBB_D_80390AB0 = {
0x30, 0x1C8, 0x41C, 0x0, NULL, 0x30, 0x1C8, 0x41C, 0x0, NULL,
NULL, func_8038B900, func_80325888, NULL, func_8038B900, func_80325888,
0, 0, 0.0f, 0 0, 0, 0.0f, 0

View File

@@ -5,14 +5,14 @@
void func_8038BF28(Actor *this); void func_8038BF28(Actor *this);
/* .data */ /* .data */
ActorInfo D_80390AE0 = { ActorInfo RBB_D_80390AE0 = {
0x31, 0x1C9, 0x41D, 0x0, NULL, 0x31, 0x1C9, 0x41D, 0x0, NULL,
func_8038BF28, NULL, func_80325888, func_8038BF28, NULL, func_80325888,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
/* .code */ /* .code */
void func_8038BEA0(Actor *this, s32 arg1){ void RBB_func_8038BEA0(Actor *this, s32 arg1){
if(arg1 == 1) if(arg1 == 1)
func_80335924(this->unk148, ASSET_141_ANIM_ANCHOR_LOWERED, 0.0f, 5.5f); func_80335924(this->unk148, ASSET_141_ANIM_ANCHOR_LOWERED, 0.0f, 5.5f);
@@ -31,14 +31,14 @@ void func_8038BF28(Actor *this){
this->position_z = 1460.0f; this->position_z = 1460.0f;
this->marker->propPtr->unk8_3 = 1; this->marker->propPtr->unk8_3 = 1;
this->yaw = 0.0f; this->yaw = 0.0f;
func_8038BEA0(this, 1); RBB_func_8038BEA0(this, 1);
if(jiggyscore_isSpawned(JIGGY_53_RBB_SNORKEL)){ if(jiggyscore_isSpawned(JIGGY_53_RBB_SNORKEL)){
marker_despawn(this->marker); marker_despawn(this->marker);
} }
} }
else{ else{
if(this->state == 1 && mapSpecificFlags_get(8)){ if(this->state == 1 && mapSpecificFlags_get(8)){
func_8038BEA0(this, 2); RBB_func_8038BEA0(this, 2);
} }
} }
} }

View File

@@ -8,7 +8,7 @@ void func_8038C0FC(Actor *this, s32 new_state);
void func_8038C204(Actor *this); void func_8038C204(Actor *this);
/* .data */ /* .data */
ActorInfo D_80390B10 = { ActorInfo RBB_D_80390B10 = {
0x199, 0x1CB, 0x0, 0x0, NULL, 0x199, 0x1CB, 0x0, 0x0, NULL,
func_8038C204, NULL, func_80325340, func_8038C204, NULL, func_80325340,
0, 0, 0.0f, 0 0, 0, 0.0f, 0

View File

@@ -34,7 +34,7 @@ typedef struct{
f32 unk28; f32 unk28;
} ActorLocal_RBB_5F80; } ActorLocal_RBB_5F80;
void func_8038CC9C(Actor *this, s32 new_state); void RBB_func_8038CC9C(Actor *this, s32 new_state);
void func_8038D7E8(ActorMarker *marker, s32 arg1); void func_8038D7E8(ActorMarker *marker, s32 arg1);
Actor *func_8038D638(ActorMarker *marker, Gfx **gdl, Mtx ** mptr, s32 arg3); Actor *func_8038D638(ActorMarker *marker, Gfx **gdl, Mtx ** mptr, s32 arg3);
void func_8038D8BC(Actor *this); void func_8038D8BC(Actor *this);
@@ -47,7 +47,7 @@ Struct_RBB_5F80 D_80390B70[4] = {
{ACTOR_284_BOSS_BOOM_BOX_SMALL, 0.25f, 2.0f, 0x5, 0x02, 0x2, 1.5f, 1.1f}, {ACTOR_284_BOSS_BOOM_BOX_SMALL, 0.25f, 2.0f, 0x5, 0x02, 0x2, 1.5f, 1.1f},
}; };
ActorInfo D_80390BD0 = { ActorInfo RBB_D_80390BD0 = {
MARKER_1A1_BOSS_BOOM_BOX_LARGEST, ACTOR_281_BOSS_BOOM_BOX_LARGEST, ASSET_428_MODEL_BOSS_BOOM_BOX, 0x0, NULL, MARKER_1A1_BOSS_BOOM_BOX_LARGEST, ACTOR_281_BOSS_BOOM_BOX_LARGEST, ASSET_428_MODEL_BOSS_BOOM_BOX, 0x0, NULL,
func_8038D8BC, NULL, func_8038D638, func_8038D8BC, NULL, func_8038D638,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
@@ -65,7 +65,7 @@ ActorInfo D_80390C18 = {
0, 0, 0.0f, 0 0, 0, 0.0f, 0
}; };
ActorInfo D_80390C3C = { ActorInfo RBB_D_80390C3C = {
MARKER_1A4_BOSS_BOOM_BOX_SMALL, ACTOR_284_BOSS_BOOM_BOX_SMALL, ASSET_428_MODEL_BOSS_BOOM_BOX, 0x0, NULL, MARKER_1A4_BOSS_BOOM_BOX_SMALL, ACTOR_284_BOSS_BOOM_BOX_SMALL, ASSET_428_MODEL_BOSS_BOOM_BOX, 0x0, NULL,
func_8038D8BC, NULL, func_8038D638, func_8038D8BC, NULL, func_8038D638,
0, 0, 0.0f, 0 0, 0, 0.0f, 0
@@ -93,9 +93,9 @@ s32 pad_80391284;
f32 D_80391288[3]; f32 D_80391288[3];
/* .code */ /* .code */
void func_8038C370(ActorMarker *marker, s32 arg1){ void RBB_func_8038C370(ActorMarker *marker, s32 arg1){
Actor *actor = marker_getActor(marker); Actor *actor = marker_getActor(marker);
func_8038CC9C(actor, arg1); RBB_func_8038CC9C(actor, arg1);
} }
void func_8038C39C(Actor *this){ void func_8038C39C(Actor *this){
@@ -120,7 +120,7 @@ void func_8038C39C(Actor *this){
particleEmitter_emitN(other, local->unk0->unkE); particleEmitter_emitN(other, local->unk0->unkE);
} }
void func_8038C538(Actor *this){ void RBB_func_8038C538(Actor *this){
ActorLocal_RBB_5F80 *local = (ActorLocal_RBB_5F80 *) &this->local; ActorLocal_RBB_5F80 *local = (ActorLocal_RBB_5F80 *) &this->local;
ParticleEmitter *other = partEmitList_pushNew(3*local->unk0->unkE); ParticleEmitter *other = partEmitList_pushNew(3*local->unk0->unkE);
particleEmitter_setSprite(other, ASSET_70E_SPRITE_SMOKE_2); particleEmitter_setSprite(other, ASSET_70E_SPRITE_SMOKE_2);
@@ -144,7 +144,7 @@ void func_8038C538(Actor *this){
} }
void func_8038C70C(Actor *this){ void RBB_func_8038C70C(Actor *this){
ActorLocal_RBB_5F80 *local = (ActorLocal_RBB_5F80 *) &this->local; ActorLocal_RBB_5F80 *local = (ActorLocal_RBB_5F80 *) &this->local;
ParticleEmitter *other = partEmitList_pushNew(0xa); ParticleEmitter *other = partEmitList_pushNew(0xa);
@@ -230,7 +230,7 @@ void func_8038CB68(ActorMarker *marker, s32 arg1, s32 arg2){
Actor *actor = marker_getActor(marker); Actor *actor = marker_getActor(marker);
func_80324E88(0.0f); func_80324E88(0.0f);
func_80324E38(0.0f, 0); func_80324E38(0.0f, 0);
timedFunc_set_2(0.0f, (TFQM2)func_8038C370, actor->marker, 3); timedFunc_set_2(0.0f, (TFQM2)RBB_func_8038C370, actor->marker, 3);
} }
void func_8038CBC0(void){ void func_8038CBC0(void){
@@ -239,7 +239,7 @@ void func_8038CBC0(void){
func_802C8090(actor); func_802C8090(actor);
} }
int func_8038CBF0(Actor *this){ int RBB_func_8038CBF0(Actor *this){
f32 sp2C[3]; f32 sp2C[3];
f32 sp20[3]; f32 sp20[3];
ActorLocal_RBB_5F80 *local = (ActorLocal_RBB_5F80 *) &this->local; ActorLocal_RBB_5F80 *local = (ActorLocal_RBB_5F80 *) &this->local;
@@ -258,7 +258,7 @@ int func_8038CBF0(Actor *this){
} }
void func_8038CC9C(Actor *this, s32 new_state){ void RBB_func_8038CC9C(Actor *this, s32 new_state){
f32 sp8C[3]; f32 sp8C[3];
f32 sp80[3]; f32 sp80[3];
ActorLocal_RBB_5F80 *local = (ActorLocal_RBB_5F80 *) &this->local; ActorLocal_RBB_5F80 *local = (ActorLocal_RBB_5F80 *) &this->local;
@@ -320,7 +320,7 @@ void func_8038CC9C(Actor *this, s32 new_state){
item_set(ITEM_0_HOURGLASS_TIMER, 0x1067); item_set(ITEM_0_HOURGLASS_TIMER, 0x1067);
func_80324E88(2.4f); func_80324E88(2.4f);
func_80324E38(2.4f, 0); func_80324E38(2.4f, 0);
timedFunc_set_2(2.4f, (TFQM2)func_8038C370, (s32)this->marker, 3); timedFunc_set_2(2.4f, (TFQM2)RBB_func_8038C370, (s32)this->marker, 3);
} }
else{//L8038CEFC else{//L8038CEFC
timedFunc_set_3(2.4f, (TFQM3)comusic_8025AB44, COMUSIC_62_RBB_BOOMBOX, 0x1f40, 0x12C); timedFunc_set_3(2.4f, (TFQM3)comusic_8025AB44, COMUSIC_62_RBB_BOOMBOX, 0x1f40, 0x12C);
@@ -351,8 +351,8 @@ void func_8038CC9C(Actor *this, s32 new_state){
local->unk14[2] = sp80[2] + this->position_z; local->unk14[2] = sp80[2] + this->position_z;
local->unk14[1] = 0.0f; local->unk14[1] = 0.0f;
func_8038CA70(this, &local->unk14); func_8038CA70(this, &local->unk14);
func_8038C70C(this); RBB_func_8038C70C(this);
func_8038C538(this); RBB_func_8038C538(this);
}//L8038D17C }//L8038D17C
if(this->state == 6){ if(this->state == 6){
@@ -398,11 +398,11 @@ void func_8038CC9C(Actor *this, s32 new_state){
local->unk14[0] = this->position_x; local->unk14[0] = this->position_x;
local->unk14[1] = this->position_y; local->unk14[1] = this->position_y;
local->unk14[2] = this->position_z; local->unk14[2] = this->position_z;
local->unk20 = func_8038CBF0(this); local->unk20 = RBB_func_8038CBF0(this);
}//L8038D3FC }//L8038D3FC
if(this->state == 3 || this->state == 4 || this->state == 5){ if(this->state == 3 || this->state == 4 || this->state == 5){
local->unk20 = func_8038CBF0(this); local->unk20 = RBB_func_8038CBF0(this);
if( local->unk20 == 0){ if( local->unk20 == 0){
sp64 = local->unk0->unk4*300.0f; sp64 = local->unk0->unk4*300.0f;
for(i = 0; i < 10; i++){ for(i = 0; i < 10; i++){
@@ -410,7 +410,7 @@ void func_8038CC9C(Actor *this, s32 new_state){
local->unk14[1] = local->unk14[1]; local->unk14[1] = local->unk14[1];
local->unk14[2] = local->unk8[2] + randf2(-sp64, sp64); local->unk14[2] = local->unk8[2] + randf2(-sp64, sp64);
func_8038CA70(this, &local->unk14); func_8038CA70(this, &local->unk14);
local->unk20 = func_8038CBF0(this); local->unk20 = RBB_func_8038CBF0(this);
if(local->unk20) if(local->unk20)
break; break;
} }
@@ -434,7 +434,7 @@ void func_8038CC9C(Actor *this, s32 new_state){
void func_8038D590(ActorMarker *marker, s32 arg1){ void func_8038D590(ActorMarker *marker, s32 arg1){
Actor *actor = marker_getActor(marker); Actor *actor = marker_getActor(marker);
func_8038CC9C(actor, 4); RBB_func_8038CC9C(actor, 4);
} }
void func_8038D5BC(ActorMarker *marker, s32 arg1){ void func_8038D5BC(ActorMarker *marker, s32 arg1){
@@ -442,7 +442,7 @@ void func_8038D5BC(ActorMarker *marker, s32 arg1){
ActorLocal_RBB_5F80 *local = (ActorLocal_RBB_5F80 *) &actor->local; ActorLocal_RBB_5F80 *local = (ActorLocal_RBB_5F80 *) &actor->local;
func_8030E6A4(0x3f5, local->unk0->unk10, 0x4e20); func_8030E6A4(0x3f5, local->unk0->unk10, 0x4e20);
func_8038CC9C(actor, 4); RBB_func_8038CC9C(actor, 4);
func_8038C8A8(actor); func_8038C8A8(actor);
} }
@@ -480,9 +480,9 @@ void func_8038D7E8(ActorMarker *marker, s32 arg1){
func_8030E6A4(SFX_D7_GRABBA_DEATH, local->unk0->unk10, 0x7530); func_8030E6A4(SFX_D7_GRABBA_DEATH, local->unk0->unk10, 0x7530);
local->unk4 += (arg1) ? 1 : 5; local->unk4 += (arg1) ? 1 : 5;
if(local->unk4 >= local->unk0->unkC) if(local->unk4 >= local->unk0->unkC)
func_8038CC9C(actor, 5); RBB_func_8038CC9C(actor, 5);
else{ else{
func_8038CC9C(actor, 4); RBB_func_8038CC9C(actor, 4);
} }
if(!arg1) if(!arg1)
@@ -518,11 +518,11 @@ void func_8038D8BC(Actor *this){
marker_setCollisionScripts(this->marker, func_8038D590, func_8038D5BC, func_8038D608); marker_setCollisionScripts(this->marker, func_8038D590, func_8038D5BC, func_8038D608);
func_803300D8(this->marker, func_8038D8B4); func_803300D8(this->marker, func_8038D8B4);
if(local->unk0->unk0 == ACTOR_281_BOSS_BOOM_BOX_LARGEST){ if(local->unk0->unk0 == ACTOR_281_BOSS_BOOM_BOX_LARGEST){
func_8038CC9C(this, 1); RBB_func_8038CC9C(this, 1);
D_80391280 = 0; D_80391280 = 0;
} }
else{ else{
func_8038CC9C(this, 7); RBB_func_8038CC9C(this, 7);
} }
if(jiggyscore_isSpawned(JIGGY_56_RBB_BOSS_BOOM_BOX) && !func_803203FC(2)) if(jiggyscore_isSpawned(JIGGY_56_RBB_BOSS_BOOM_BOX) && !func_803203FC(2))
@@ -544,12 +544,12 @@ void func_8038D8BC(Actor *this){
if(this->state == 1){ if(this->state == 1){
if(func_803203FC(2)){ if(func_803203FC(2)){
if(func_803203FC(3)){ if(func_803203FC(3)){
func_8038CC9C(this, 2); RBB_func_8038CC9C(this, 2);
} }
} }
else{//L8038DAA8 else{//L8038DAA8
if(ml_vec3f_distance(&this->position, &sp64) < 1200.0f){ if(ml_vec3f_distance(&this->position, &sp64) < 1200.0f){
func_8038CC9C(this, 2); RBB_func_8038CC9C(this, 2);
} }
} }
}//L8038DAD8 }//L8038DAD8
@@ -578,7 +578,7 @@ void func_8038D8BC(Actor *this){
if(item_empty(ITEM_0_HOURGLASS_TIMER)){ if(item_empty(ITEM_0_HOURGLASS_TIMER)){
func_803204E4(3, 0); func_803204E4(3, 0);
func_803204E4(5, 0); func_803204E4(5, 0);
func_8038CC9C(this, 8); RBB_func_8038CC9C(this, 8);
} }
} }
func_8033568C(this->unk148, &sp54, &sp50); func_8033568C(this->unk148, &sp54, &sp50);
@@ -589,13 +589,13 @@ void func_8038D8BC(Actor *this){
} }
if(func_80335794(this->unk148) > 0) if(func_80335794(this->unk148) > 0)
func_8038CC9C(this, 3); RBB_func_8038CC9C(this, 3);
}//L8038DD64 }//L8038DD64
if(this->state == 5){ if(this->state == 5){
if(func_80335794(this->unk148) > 0){ if(func_80335794(this->unk148) > 0){
func_8038CC9C(this, 6); RBB_func_8038CC9C(this, 6);
}else{ }else{
tmp_f2 = func_80335684(this->unk148); tmp_f2 = func_80335684(this->unk148);
if(tmp_f2 <= 0.3) if(tmp_f2 <= 0.3)
@@ -608,6 +608,6 @@ void func_8038D8BC(Actor *this){
if(this->state == 7){ if(this->state == 7){
if(func_80335794(this->unk148) > 0) if(func_80335794(this->unk148) > 0)
func_8038CC9C(this, 3); RBB_func_8038CC9C(this, 3);
} }
} }

View File

@@ -30,22 +30,22 @@ extern ActorInfo D_803908E4;
extern ActorInfo D_80390908; extern ActorInfo D_80390908;
extern ActorInfo D_803909B0; extern ActorInfo D_803909B0;
extern ActorInfo D_803909D4; extern ActorInfo D_803909D4;
extern ActorInfo D_803909F8; extern ActorInfo RBB_D_803909F8;
extern ActorInfo D_80390A50; extern ActorInfo D_80390A50;
extern ActorInfo D_80390380; extern ActorInfo D_80390380;
extern ActorInfo D_80390A80; //anchorswitch extern ActorInfo D_80390A80; //anchorswitch
extern ActorInfo D_80390AB0; //dolphin extern ActorInfo RBB_D_80390AB0; //dolphin
extern ActorInfo D_80390AE0; //anchor extern ActorInfo RBB_D_80390AE0; //anchor
extern ActorInfo D_80390B10; extern ActorInfo RBB_D_80390B10;
extern ActorInfo D_80390B40; //rarewareflag extern ActorInfo D_80390B40; //rarewareflag
extern ActorInfo D_80390BD0; extern ActorInfo RBB_D_80390BD0;
extern ActorInfo D_80390BF4; extern ActorInfo D_80390BF4;
extern ActorInfo D_80390C18; extern ActorInfo D_80390C18;
extern ActorInfo D_80390C3C; extern ActorInfo RBB_D_80390C3C;
extern ActorInfo D_80390CF0; extern ActorInfo RBB_D_80390CF0;
extern ActorInfo D_80390D88; extern ActorInfo D_80390D88;
extern ActorInfo D_80390DAC; //TNTpart_IDStruct; extern ActorInfo D_80390DAC; //TNTpart_IDStruct;
extern ActorInfo D_80390E00; extern ActorInfo RBB_D_80390E00;
extern ActorInfo D_80390E34; extern ActorInfo D_80390E34;
extern ActorInfo D_80390E58; extern ActorInfo D_80390E58;
extern ActorInfo D_803900E0; extern ActorInfo D_803900E0;
@@ -168,7 +168,7 @@ void func_80386BF8(Actor *arg0){
func_802D4A9C(arg0, 0); func_802D4A9C(arg0, 0);
} }
void rbb_func_80386C48(void){ void RBB_func_80386C48(void){
spawnableActorList_add(&D_80390D20, actor_new, 0x4880); spawnableActorList_add(&D_80390D20, actor_new, 0x4880);
spawnableActorList_add(&D_80390050, actor_new, 0); spawnableActorList_add(&D_80390050, actor_new, 0);
spawnableActorList_add(&D_80390200, actor_new, 0x80); spawnableActorList_add(&D_80390200, actor_new, 0x80);
@@ -195,22 +195,22 @@ void rbb_func_80386C48(void){
spawnableActorList_add(&D_80390908, actor_new, 0x80); spawnableActorList_add(&D_80390908, actor_new, 0x80);
spawnableActorList_add(&D_803909B0, actor_new, 0x880); spawnableActorList_add(&D_803909B0, actor_new, 0x880);
spawnableActorList_add(&D_803909D4, actor_new, 0x880); spawnableActorList_add(&D_803909D4, actor_new, 0x880);
spawnableActorList_add(&D_803909F8, actor_new, 0x880); spawnableActorList_add(&RBB_D_803909F8, actor_new, 0x880);
spawnableActorList_add(&D_80390A50, actor_new, 0x80); spawnableActorList_add(&D_80390A50, actor_new, 0x80);
spawnableActorList_add(&D_80390380, actor_new, 0x9aa); spawnableActorList_add(&D_80390380, actor_new, 0x9aa);
spawnableActorList_add(&D_80390A80, actor_new, 0x80); //anchorswitch spawnableActorList_add(&D_80390A80, actor_new, 0x80); //anchorswitch
spawnableActorList_add(&D_80390AB0, actor_new, 0x8C8); //dolphin spawnableActorList_add(&RBB_D_80390AB0, actor_new, 0x8C8); //dolphin
spawnableActorList_add(&D_80390AE0, actor_new, 0xC80); //anchor spawnableActorList_add(&RBB_D_80390AE0, actor_new, 0xC80); //anchor
spawnableActorList_add(&D_80390B10, actor_new, 0x80); spawnableActorList_add(&RBB_D_80390B10, actor_new, 0x80);
spawnableActorList_add(&D_80390B40, actor_new, 0x880); //rarewareflag spawnableActorList_add(&D_80390B40, actor_new, 0x880); //rarewareflag
spawnableActorList_add(&D_80390BD0, actor_new, 0xc2c); spawnableActorList_add(&RBB_D_80390BD0, actor_new, 0xc2c);
spawnableActorList_add(&D_80390BF4, actor_new, 0xc2c); spawnableActorList_add(&D_80390BF4, actor_new, 0xc2c);
spawnableActorList_add(&D_80390C18, actor_new, 0xc2c); spawnableActorList_add(&D_80390C18, actor_new, 0xc2c);
spawnableActorList_add(&D_80390C3C, actor_new, 0xc2c); spawnableActorList_add(&RBB_D_80390C3C, actor_new, 0xc2c);
spawnableActorList_add(&D_80390CF0, actor_new, 0x80); spawnableActorList_add(&RBB_D_80390CF0, actor_new, 0x80);
spawnableActorList_add(&D_80390D88, actor_new, 0x2000889); spawnableActorList_add(&D_80390D88, actor_new, 0x2000889);
spawnableActorList_add(&D_80390DAC, actor_new, 0x2000889); spawnableActorList_add(&D_80390DAC, actor_new, 0x2000889);
spawnableActorList_add(&D_80390E00, actor_new, 0x80); spawnableActorList_add(&RBB_D_80390E00, actor_new, 0x80);
spawnableActorList_add(&D_80390E34, actor_new, 0x80); spawnableActorList_add(&D_80390E34, actor_new, 0x80);
spawnableActorList_add(&D_80390E58, actor_new, 0x80); spawnableActorList_add(&D_80390E58, actor_new, 0x80);
spawnableActorList_add(&D_803900E0, actor_new, 0); spawnableActorList_add(&D_803900E0, actor_new, 0);

Some files were not shown because too many files have changed in this diff Show More