Merge branch 'decompressed_build' into 'master'
New build system to accommodate future shiftability See merge request banjo.decomp/banjo-kazooie!43
This commit is contained in:
commit
2ade0605a9
|
@ -67,7 +67,6 @@ undefined_funcs_auto*
|
|||
|
||||
#progress reports
|
||||
*.csv
|
||||
symbol_addrs.us.v10.txt
|
||||
|
||||
#secret folder
|
||||
tmp/
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
[submodule "tools/bk_tools"]
|
||||
path = tools/bk_tools
|
||||
url = https://github.com/MittenzHugg/bk_tools.git
|
||||
[submodule "tools/asm-differ"]
|
||||
path = tools/asm-differ
|
||||
url = https://github.com/simonlindholm/asm-differ.git
|
||||
|
@ -16,3 +13,6 @@
|
|||
[submodule "tools/bk_asset_tool"]
|
||||
path = tools/bk_asset_tool
|
||||
url = https://github.com/MittenzHugg/bk_asset_tool.git
|
||||
[submodule "tools/bk_rom_compressor"]
|
||||
path = tools/bk_rom_compressor
|
||||
url = https://github.com/MittenzHugg/bk_rom_compressor.git
|
||||
|
|
|
@ -5,6 +5,8 @@ ENV DEBIAN_FRONTEND=noninteractive
|
|||
COPY packages.txt /
|
||||
RUN apt-get update && apt-get install -y $(cat packages.txt)
|
||||
|
||||
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||
|
||||
COPY requirements.txt /
|
||||
RUN python3 -m pip install -r requirements.txt
|
||||
|
||||
|
|
398
Makefile
398
Makefile
|
@ -18,7 +18,6 @@ ifeq ($(VERSION),jp)
|
|||
C_VERSION=3
|
||||
endif
|
||||
|
||||
IN_CFLAGS ?= -DCODE2_CODE_CRC2=0 -DCODE2_DATA_CRC2=0
|
||||
### Tools ###
|
||||
|
||||
# System tools
|
||||
|
@ -42,12 +41,9 @@ PYTHON := python3
|
|||
GREP := grep -rl
|
||||
SPLAT := $(PYTHON) tools/n64splat/split.py
|
||||
PRINT := printf
|
||||
PATCH_LIB_MATH := tools/patch_libultra_math
|
||||
ASM_PROCESSOR_DIR := tools/asm-processor
|
||||
BK_TOOLS := tools/bk_tools
|
||||
BK_CRC := tools/bk_crc/bk_crc
|
||||
BK_INFLATE := $(BK_TOOLS)/bk_inflate_code
|
||||
BK_DEFLATE := $(BK_TOOLS)/bk_deflate_code
|
||||
BK_ROM_COMPRESS := tools/bk_rom_compressor/target/release/bk_rom_compress
|
||||
BK_ROM_DECOMPRESS := tools/bk_rom_compressor/target/release/bk_rom_decompress
|
||||
BK_ASSET_TOOL := tools/bk_asset_tool/bk_asset_tool
|
||||
ASM_PROCESSOR := $(PYTHON) $(ASM_PROCESSOR_DIR)/asm_processor.py
|
||||
SPLAT_INPUTS := $(PYTHON) tools/splat_inputs.py
|
||||
|
@ -59,20 +55,6 @@ PROGRESS_READ := $(PYTHON) tools/progress_read.py
|
|||
# Inputs
|
||||
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
|
||||
SRC_ROOT := src
|
||||
ASM_ROOT := asm
|
||||
|
@ -84,35 +66,27 @@ NONMATCHING_DIR := $(ASM_ROOT)/$(NONMATCHINGS)
|
|||
BUILD_ROOT := build
|
||||
BUILD_DIR := $(BUILD_ROOT)/$(VERSION)
|
||||
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_BINS := $(shell find $(BIN_ROOT) -type f -iname '*.bin' 2> /dev/null)
|
||||
# Files referenced in the splat files
|
||||
YAML_CALL := $(SPLAT_INPUTS) $(BASENAME).$(VERSION).yaml $(addprefix $(SUBYAML)/, $(addsuffix .$(VERSION).yaml, $(OVERLAYS)))
|
||||
YAML_SRCS := $(shell $(SPLAT_INPUTS) $(BASENAME).$(VERSION).yaml $(addprefix $(SUBYAML)/, $(addsuffix .$(VERSION).yaml, $(OVERLAYS))))
|
||||
# Files referenced in the splat file
|
||||
YAML_CALL := $(SPLAT_INPUTS) decompressed.$(VERSION).yaml
|
||||
YAML_SRCS := $(sort $(shell $(SPLAT_INPUTS) decompressed.$(VERSION).yaml))
|
||||
YAML_C_SRCS := $(filter %.c, $(YAML_SRCS))
|
||||
YAML_ASM_SRCS := $(filter %.s, $(YAML_SRCS))
|
||||
YAML_BINS := $(filter %.bin, $(YAML_SRCS))
|
||||
# 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_BINS := $(filter-out $(ALL_BINS), $(YAML_BINS))
|
||||
NEW_FILES := $(NEW_C_SRCS) $(NEW_ASM_SRCS) $(NEW_BINS)
|
||||
$(foreach overlay,$(OVERLAYS),$(eval $(call get_overlay_sources,$(overlay))))
|
||||
# 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))
|
||||
BOOT_ASM_SRCS := $(filter-out asm/core1/%,$(NEW_ASM_SRCS) $(ALL_ASM_SRCS))
|
||||
# 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)
|
||||
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
|
||||
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)))
|
||||
BIN_DIRS := $(sort $(dir $(ALL_BINS) $(NEW_BINS)))
|
||||
C_BUILD_DIRS := $(addprefix $(BUILD_DIR)/,$(C_DIRS))
|
||||
|
@ -121,43 +95,31 @@ BIN_BUILD_DIRS := $(addprefix $(BUILD_DIR)/,$(BIN_DIRS))
|
|||
ALL_DIRS := $(C_BUILD_DIRS) $(ASM_BUILD_DIRS) $(BIN_BUILD_DIRS) $(BUILD_DIR)
|
||||
|
||||
# Build files
|
||||
BASEROM := baserom.$(VERSION).z64
|
||||
C_OBJS := $(addprefix $(BUILD_DIR)/,$(ALL_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)
|
||||
ASM_OBJS := $(addprefix $(BUILD_DIR)/,$(ALL_ASM_SRCS:.s=.s.o) $(NEW_ASM_SRCS:.s=.s.o))
|
||||
BIN_OBJS := $(addprefix $(BUILD_DIR)/,$(ALL_BINS:.bin=.bin.o) $(NEW_BINS:.bin=.bin.o))
|
||||
Z64 := $(addprefix $(BUILD_DIR)/,$(BASENAME).$(VERSION).z64)
|
||||
ELF := $(Z64:.z64=.elf)
|
||||
LD_SCRIPT := $(BASENAME).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
|
||||
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
|
||||
ASSET_OBJS := $(BUILD_DIR)/$(BIN_ROOT)/assets.bin.o
|
||||
BIN_OBJS := $(filter-out $(OVERLAY_RZIP_OBJS) $(CRC_OBJS) $(ASSET_OBJS),$(BIN_OBJS))
|
||||
ALL_OBJS := $(C_OBJS) $(ASM_OBJS) $(BIN_OBJS) $(OVERLAY_RZIP_OBJS) $(CRC_OBJS)
|
||||
SYMBOL_ADDRS := 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
|
||||
# Object files for the rom itself
|
||||
MAIN_C_OBJS := $(addprefix $(BUILD_DIR)/,$(MAIN_C_SRCS:.c=.c.o))
|
||||
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)))
|
||||
BASEROM := baserom.$(VERSION).z64
|
||||
DECOMPRESSED_BASEROM := decompressed.$(VERSION).z64
|
||||
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))
|
||||
C_DEPS := $(C_OBJS:.o=.d)
|
||||
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))
|
||||
PRELIM_Z64 := $(addprefix $(BUILD_DIR)/,$(BASENAME).$(VERSION).prelim.z64)
|
||||
PRELIM_ELF := $(PRELIM_Z64:.z64=.elf)
|
||||
UNCOMPRESSED_Z64 := $(addprefix $(BUILD_DIR)/,$(BASENAME).$(VERSION).uncompressed.z64)
|
||||
FINAL_Z64 := $(addprefix $(BUILD_DIR)/,$(BASENAME).$(VERSION).z64)
|
||||
ELF := $(FINAL_Z64:.z64=.elf)
|
||||
LD_SCRIPT := $(BASENAME).ld
|
||||
ASSET_BIN := $(BUILD_DIR)/assets.bin
|
||||
ASSET_OBJS := $(BUILD_DIR)/$(BIN_ROOT)/assets.bin.o
|
||||
BIN_OBJS := $(filter-out $(ASSET_OBJS),$(BIN_OBJS))
|
||||
ALL_OBJS := $(C_OBJS) $(ASM_OBJS) $(BIN_OBJS)
|
||||
SYMBOL_ADDRS := symbol_addrs.$(VERSION).txt
|
||||
SYMBOL_ADDR_FILES := $(filter-out $(SYMBOL_ADDRS), $(wildcard symbol_addrs.*.$(VERSION).txt))
|
||||
MIPS3_OBJS := $(BUILD_DIR)/$(SRC_ROOT)/core1/done/ll.c.o
|
||||
BOOT_MIPS3_OBJS := $(BUILD_DIR)/$(SRC_ROOT)/done/ll.c.o
|
||||
BOOT_C_OBJS := $(filter-out $(BOOT_MIPS3_OBJS),$(BOOT_C_OBJS))
|
||||
COMPRESSED_SYMBOLS := $(BUILD_DIR)/compressed_symbols.txt
|
||||
|
||||
# Progress files
|
||||
MAIN_PROG_CSV := progress/progress.bk_boot.csv
|
||||
|
@ -168,18 +130,6 @@ OVERLAY_PROG_CSVS := $(addprefix progress/progress., $(addsuffix .csv, $(OVERLAY
|
|||
OVERLAY_PROG_SVGS := $(addprefix progress/progress_, $(addsuffix .svg, $(OVERLAYS)))
|
||||
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 ###
|
||||
|
||||
# Colorful text printing
|
||||
|
@ -210,14 +160,12 @@ endef
|
|||
# Build tool flags
|
||||
CFLAGS := -c -Wab,-r4300_mul -non_shared -G 0 -Xcpluscomm $(OPT_FLAGS) $(MIPSBIT) -D_FINALROM -DF3DEX_GBI -DVERSION='$(C_VERSION)'
|
||||
CFLAGS += -woff 649,654,838,807
|
||||
CFLAGS += $(IN_CFLAGS)
|
||||
CPPFLAGS := -D_FINALROM -DN_MICRO
|
||||
INCLUDE_CFLAGS := -I . -I include -I include/2.0L -I include/2.0L/PR
|
||||
OPT_FLAGS := -O2
|
||||
MIPSBIT := -mips2
|
||||
ASFLAGS := -EB -mtune=vr4300 -march=vr4300 -mabi=32 -I include
|
||||
GCC_ASFLAGS := -c -x assembler-with-cpp -mabi=32 -ffreestanding -mtune=vr4300 -march=vr4300 -mfix4300 -G 0 -O -mno-shared -fno-PIC -mno-abicalls
|
||||
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
|
||||
LDFLAGS := -T $(LD_SCRIPT) -Map $(ELF:.elf=.map) --no-check-sections --accept-unknown-input-arch -T undefined_syms.libultra.txt
|
||||
BINOFLAGS := -I binary -O elf32-tradbigmips
|
||||
|
||||
|
@ -227,50 +175,29 @@ BINOFLAGS := -I binary -O elf32-tradbigmips
|
|||
all: verify
|
||||
|
||||
# Shows progress for all overlays, boot, and total
|
||||
progress: $(OVERLAY_PROG_CSVS) $(MAIN_PROG_CSV) $(TOTAL_PROG_CSV)
|
||||
progress: $(OVERLAY_PROG_CSVS) $(MAIN_PROG_CSV) $(TOTAL_PROG_CSV)
|
||||
@$(foreach overlay,$(OVERLAYS),$(PROGRESS_READ) progress/progress.$(overlay).csv $(VERSION) $(overlay) &&) \
|
||||
$(PROGRESS_READ) $(MAIN_PROG_CSV) $(VERSION) bk_boot
|
||||
@$(PROGRESS_READ) $(TOTAL_PROG_CSV) $(VERSION) total
|
||||
@head -n 21 $(TOTAL_PROG_CSV) | tail -n 1 | head -c -8 | tail -c +32 | xargs -i sed -i "/# banjo*/c\# banjo ({})" $(README_MD)
|
||||
|
||||
# Shows progress for a single overlay (e.g. progress-SM)
|
||||
$(addprefix progress-,$(OVERLAYS)) : progress-% : progress/progress.%.csv
|
||||
@$(PROGRESS_READ) $< $(VERSION) $*
|
||||
|
||||
# Verify that the roms match, also sets up diff_settings
|
||||
verify: $(Z64)
|
||||
@$(DIFF) $(BASEROM) $(Z64) > /dev/null && \
|
||||
verify: $(BASEROM) $(FINAL_Z64)
|
||||
@$(DIFF) $(BASEROM) $(FINAL_Z64) > /dev/null && \
|
||||
$(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) "def apply(config, args):\n" > diff_settings.py
|
||||
@$(PRINT) "\tconfig[\"baseimg\"] = \"$(BASEROM)\"\n" >> diff_settings.py
|
||||
@$(PRINT) "\tconfig[\"myimg\"] = \"$(Z64)\"\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[\"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
|
||||
$(call print1,Creating progress svg for:,$*)
|
||||
@$(PROGRESS_READ) $< $(VERSION) $*
|
||||
|
||||
$(OVERLAY_PROG_CSVS) : progress/progress.%.csv: $(BUILD_DIR)/%.elf
|
||||
$(OVERLAY_PROG_CSVS) : progress/progress.%.csv: $(ELF)
|
||||
$(call print1,Calculating progress for:,$*)
|
||||
@$(PROGRESS) . $(BUILD_DIR)/$*.elf .$* --version $(VERSION) --subcode $* > $@
|
||||
@$(PROGRESS) . $(ELF) .$* --version $(VERSION) --subcode $* > $@
|
||||
|
||||
$(MAIN_PROG_SVG): $(MAIN_PROG_CSV)
|
||||
$(call print1,Creating progress svg for:,boot)
|
||||
|
@ -289,36 +216,6 @@ $(TOTAL_PROG_CSV): $(OVERLAY_PROG_CSVS) $(MAIN_PROG_CSV)
|
|||
$(call print0,Calculating total progress)
|
||||
@cat $^ > $@
|
||||
|
||||
$(README_MD): $(TOTAL_PROG_SVG)
|
||||
@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
|
||||
$(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
|
||||
|
||||
# mkdir
|
||||
$(ALL_DIRS) :
|
||||
$(call print1,Making folder:,$@)
|
||||
|
@ -329,39 +226,17 @@ $(BUILD_DIR)/%.s.o: %.s | $(ASM_BUILD_DIRS)
|
|||
$(call print2,Assembling:,$<,$@)
|
||||
@$(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_OBJS) : $(BUILD_DIR)/%.bin.o : %.bin | $(BIN_BUILD_DIRS)
|
||||
$(call print2,Objcopying:,$<,$@)
|
||||
@$(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
|
||||
@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
|
||||
$(BUILD_DIR)/dummy_crc.bin:
|
||||
$(call print1,Creating dummy crc file:$@)
|
||||
truncate -s 32 $@
|
||||
|
||||
# .bin -> .o (dummy crc)
|
||||
$(DUMMY_CRC_OBJ) : $(BUILD_DIR)/dummy_crc.bin
|
||||
$(call print2,Objcopying:,$<,$@)
|
||||
@$(OBJCOPY) $(BINOFLAGS) $< $@
|
||||
|
||||
# .c -> .o
|
||||
$(BUILD_DIR)/%.c.o : %.c | $(C_BUILD_DIRS)
|
||||
$(call print2,Compiling:,$<,$@)
|
||||
|
@ -381,113 +256,38 @@ $(GLOBAL_ASM_C_OBJS) : $(BUILD_DIR)/%.c.o : %.c | $(C_BUILD_DIRS)
|
|||
@$(ASM_PROCESSOR) $(OPT_FLAGS) $< --post-process $@ \
|
||||
--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
|
||||
$(BUILD_DIR)/SPLAT_TIMESTAMP: $(BASENAME).$(VERSION).yaml $(SYMBOL_ADDRS) | $(BUILD_DIR)
|
||||
$(BUILD_DIR)/SPLAT_TIMESTAMP: decompressed.$(VERSION).yaml $(SYMBOL_ADDRS) $(DECOMPRESSED_BASEROM) | $(BUILD_DIR)
|
||||
$(call print1,Splitting rom:,$<)
|
||||
@$(SPLAT) decompressed.$(VERSION).yaml
|
||||
@touch $@
|
||||
@$(SPLAT) $(BASENAME).$(VERSION).yaml
|
||||
@touch $(LD_SCRIPT)
|
||||
|
||||
# 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
|
||||
# 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
|
||||
$(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
|
||||
$(ASSET_ROOT)/assets.yaml : $(BIN_ROOT)/assets.bin $(BK_ASSET_TOOL)
|
||||
$(call print1,Extracting Assets:,$@)
|
||||
|
@ -509,53 +309,52 @@ $(ASSET_OBJS): $(ASSET_BIN)
|
|||
$(call print2,Objcopying:,$<,$@)
|
||||
@$(OBJCOPY) $(BINOFLAGS) $< $@
|
||||
|
||||
# .o -> .elf (game)
|
||||
$(ELF): $(MAIN_ALL_OBJS) $(LD_SCRIPT) $(OVERLAY_RZIP_OBJS) $(addprefix $(BUILD_DIR)/, $(addsuffix .full, $(OVERLAYS))) $(ASSET_OBJS)
|
||||
# decompress baserom
|
||||
$(DECOMPRESSED_BASEROM): $(BASEROM) $(BK_ROM_DECOMPRESS)
|
||||
@$(BK_ROM_DECOMPRESS) $< $@
|
||||
|
||||
# .o -> .elf (dummy symbols)
|
||||
$(PRELIM_ELF): $(ALL_OBJS) $(LD_SCRIPT) $(ASSET_OBJS)
|
||||
$(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)
|
||||
sed 's|$(CRC_OBJS)|$(DUMMY_CRC_OBJ)|' $< > $@
|
||||
|
||||
# .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)))
|
||||
$(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 $@
|
||||
|
||||
# .elf -> .z64
|
||||
$(Z64) : $(ELF) $(OVERLAY_PROG_SVGS) $(MAIN_PROG_SVG) $(TOTAL_PROG_SVG) $(README_MD)
|
||||
# .elf -> .z64 (dummy symbols)
|
||||
$(PRELIM_Z64) : $(PRELIM_ELF)
|
||||
$(call print1,Creating z64:,$@)
|
||||
@$(OBJCOPY) $< $@ -O binary $(OCOPYFLAGS)
|
||||
|
||||
$(BK_TOOLS)/gzip-1.2.4/gzip: $(BK_TOOLS)/gzip-1.2.4/Makefile
|
||||
@$(CD) $(BK_TOOLS)/gzip-1.2.4 && $(MAKE) gzip
|
||||
# generate compressed ROM symbols
|
||||
$(COMPRESSED_SYMBOLS): $(PRELIM_ELF) $(PRELIM_Z64) $(BK_ROM_COMPRESS)
|
||||
@$(BK_ROM_COMPRESS) --symbols $(PRELIM_ELF) $(PRELIM_Z64) $@
|
||||
|
||||
$(BK_TOOLS)/gzip-1.2.4/Makefile:
|
||||
@$(CD) $(BK_TOOLS)/gzip-1.2.4 && ./configure
|
||||
# .o -> .elf (game)
|
||||
$(ELF): $(ALL_OBJS) $(LD_SCRIPT) $(ASSET_OBJS) $(COMPRESSED_SYMBOLS)
|
||||
$(call print1,Linking elf:,$@)
|
||||
@$(LD) $(LDFLAGS) -T undefined_syms_auto.$(VERSION).txt -T undefined_syms.$(VERSION).txt -T $(COMPRESSED_SYMBOLS) -o $@
|
||||
|
||||
# .elf -> .z64 (uncompressed)
|
||||
$(UNCOMPRESSED_Z64) : $(ELF)
|
||||
$(call print1,Creating z64:,$@)
|
||||
@$(OBJCOPY) $< $@ -O binary $(OCOPYFLAGS)
|
||||
|
||||
# .z64 (uncompressed) + .elf -> .z64 (final)
|
||||
$(FINAL_Z64) : $(UNCOMPRESSED_Z64) $(ELF) $(BK_ROM_COMPRESS)
|
||||
@$(BK_ROM_COMPRESS) $(ELF) $(UNCOMPRESSED_Z64) $@
|
||||
|
||||
$(BK_ASSET_TOOL):
|
||||
@$(CD) tools/bk_asset_tool && cargo build --release
|
||||
@$(CP) tools/bk_asset_tool/target/release/bk_asset_tool $@
|
||||
|
||||
# Build tools
|
||||
$(BK_TOOLS)/%: $(BK_TOOLS)/gzip-1.2.4/gzip
|
||||
$(call print1,Compiling build tool:,$@)
|
||||
@$(CD) $(BK_TOOLS) && $(MAKE) $*
|
||||
$(BK_ROM_COMPRESS):
|
||||
@$(CD) tools/bk_rom_compressor && cargo build --release --bin bk_rom_compress
|
||||
|
||||
$(BK_CRC) :
|
||||
g++ $@.cpp -o $@
|
||||
|
||||
# Combined symbol addresses file
|
||||
$(SYMBOL_ADDRS): $(SYMBOL_ADDR_FILES)
|
||||
$(call print0,Combining symbol address files)
|
||||
@$(CAT) symbol_addrs.*.$(VERSION).txt > $@
|
||||
|
||||
# Shorthand rules for each overlay (e.g. SM)
|
||||
$(OVERLAYS): %: verify-%
|
||||
$(BK_ROM_DECOMPRESS):
|
||||
@$(CD) tools/bk_rom_compressor && cargo build --release --bin bk_rom_decompress
|
||||
|
||||
clean:
|
||||
$(call print0,Cleaning build artifacts)
|
||||
@$(RM) -rf $(BUILD_ROOT)
|
||||
@$(RM) -rf $(DECOMPRESSED_BASEROM)
|
||||
@$(RM) -rf $(BIN_ROOT)
|
||||
@$(RM) -rf $(NONMATCHING_DIR)
|
||||
@$(RM) -rf $(ASM_ROOT)/*.s
|
||||
|
@ -564,7 +363,6 @@ clean:
|
|||
@$(RM) -rf $(ASM_ROOT)/core1/os
|
||||
@$(RM) -f undefined_syms_auto* undefined_funcs_auto*
|
||||
@$(RM) -f *.ld
|
||||
@$(RM) -f $(SYMBOL_ADDRS)
|
||||
|
||||
# Per-file flag definitions
|
||||
build/$(VERSION)/src/core1/io/%.c.o: OPT_FLAGS = -O1
|
||||
|
|
|
@ -59,6 +59,8 @@ Ubuntu 18.04 or higher.
|
|||
```sh
|
||||
sudo apt-get update && sudo apt-get install -y $(cat packages.txt)
|
||||
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||
|
||||
python3 -m pip install -r requirements.txt
|
||||
```
|
||||
|
||||
|
|
|
@ -195,6 +195,8 @@ segments:
|
|||
type: bin #type: rzip_code/overlay #compressed code
|
||||
start: 0xFD6190
|
||||
#vram: 0x803863F0
|
||||
- [0xFDAA10, bin, emptyLvl.us.v10.rzip]
|
||||
- name: emptyLvl.us.v10.rzip
|
||||
type: bin #type: rzip_code/overlay #compressed code
|
||||
start: 0xFD6190
|
||||
- [0xFDAA30, bin, trailer] # 0xff to end
|
||||
- [0x1000000] # end of ROM
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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,
|
||||
]
|
||||
)
|
|
@ -77,7 +77,7 @@ extern "C" {
|
|||
#define ERR_OSCREATEPIMANAGER 35
|
||||
#define ERR_OSVIGETCURRENTMODE 36
|
||||
#define ERR_OSVIGETCURRENTFRAMEBUFFER 37
|
||||
#define ERR_OSVIGETNEXTFRAMEBUFFER 38
|
||||
#define ERR_osViGetNextFramebuffer 38
|
||||
#define ERR_OSVISETXSCALE_VALUE 39
|
||||
#define ERR_OSVISETXSCALE_VIMGR 40
|
||||
#define ERR_OSVISETYSCALE_VALUE 41
|
||||
|
|
|
@ -155,7 +155,7 @@ void _n_collectPVoices();
|
|||
s32 _n_timeToSamples(s32 micros);
|
||||
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
|
||||
int n_alLoadParam(N_PVoice *v, s32 paramId, void* param);
|
||||
#endif
|
||||
|
|
|
@ -10,28 +10,28 @@
|
|||
#define MAX(a,b) (((a)>(b))?(a):(b))
|
||||
#endif
|
||||
|
||||
ALVoiceState *__mapVoice(ALSeqPlayer *, u8, u8, u8);
|
||||
void __unmapVoice(ALSeqPlayer *seqp, ALVoice *voice);
|
||||
char __voiceNeedsNoteKill(ALSeqPlayer *seqp, ALVoice *voice, ALMicroTime killTime); /* sct 1/5/96 */
|
||||
ALVoiceState *__n_mapVoice(ALSeqPlayer *, u8, u8, u8);
|
||||
void __n_unmapVoice(ALSeqPlayer *seqp, ALVoice *voice);
|
||||
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 *__lookupSoundQuick(ALSeqPlayer *, u8, u8, u8);
|
||||
ALSound *__n_lookupSoundQuick(ALSeqPlayer *, u8, u8, u8);
|
||||
|
||||
s16 __vsVol(ALVoiceState *voice, ALSeqPlayer *seqp);
|
||||
ALMicroTime __vsDelta(ALVoiceState *voice, ALMicroTime t);
|
||||
ALPan __vsPan(ALVoiceState *voice, ALSeqPlayer *seqp);
|
||||
s16 __n_vsVol(ALVoiceState *voice, ALSeqPlayer *seqp);
|
||||
ALMicroTime __n_vsDelta(ALVoiceState *voice, ALMicroTime t);
|
||||
ALPan __n_vsPan(ALVoiceState *voice, ALSeqPlayer *seqp);
|
||||
|
||||
void __initFromBank(ALSeqPlayer *seqp, ALBank *b);
|
||||
void __initChanState(ALSeqPlayer *seqp);
|
||||
void __n_initFromBank(ALSeqPlayer *seqp, ALBank *b);
|
||||
void __n_initChanState(ALSeqPlayer *seqp);
|
||||
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 __seqpReleaseVoice(ALSeqPlayer *seqp, ALVoice *voice,
|
||||
void __n_seqpReleaseVoice(ALSeqPlayer *seqp, ALVoice *voice,
|
||||
ALMicroTime deltaTime);
|
||||
|
||||
void __seqpStopOsc(ALSeqPlayer *seqp, ALVoiceState *vs);
|
||||
void __n_seqpStopOsc(ALSeqPlayer *seqp, ALVoiceState *vs);
|
||||
|
||||
void __postNextSeqEvent(ALSeqPlayer *seqp); /* sct 11/7/95 */
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ build-essential
|
|||
cmake
|
||||
gcc-mips-linux-gnu
|
||||
less
|
||||
curl
|
||||
libglib2.0-0
|
||||
libssl-dev
|
||||
python3
|
||||
|
|
|
@ -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;
|
|
@ -218,7 +218,7 @@ void func_80387FD4(Actor *this){
|
|||
}
|
||||
}
|
||||
|
||||
void bgs_func_803885DC(void){
|
||||
void BGS_func_803885DC(void){
|
||||
s32 i;
|
||||
for(i = 0; i<5; i++)
|
||||
bgs_D_803907B8[i] = 0;
|
||||
|
|
|
@ -33,7 +33,7 @@ ActorInfo D_80390690 = {
|
|||
f32 D_803906B4[3] = {0.0f, 0.0f, 0.0f};
|
||||
|
||||
/* .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;
|
||||
|
||||
|
@ -73,7 +73,7 @@ bool func_80386564(Actor *this){
|
|||
sp30[1] = sp3C[1] + this->position_y;
|
||||
sp30[2] = sp3C[2] + this->position_z;
|
||||
if(func_80329210(this, sp30))
|
||||
return func_803863F0(this, sp30, 1);
|
||||
return BGS_func_803863F0(this, sp30, 1);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
@ -109,7 +109,7 @@ s32 func_803866A4(Actor *this) {
|
|||
sp3C[2] = (f32) local->unkE[2];
|
||||
}
|
||||
if (func_80329210(this, sp3C) != 0) {
|
||||
return func_803863F0(this, sp3C, 0);
|
||||
return BGS_func_803863F0(this, sp3C, 0);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
@ -143,7 +143,7 @@ bool func_8038686C(Actor *this) {
|
|||
sp68[1] += this->position[1];
|
||||
sp68[2] += this->position[2];
|
||||
if (func_80329210(this, sp68)) {
|
||||
return func_803863F0(this, sp68, 0);
|
||||
return BGS_func_803863F0(this, sp68, 0);
|
||||
}
|
||||
}
|
||||
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);
|
||||
if(thisActor->state < 6){
|
||||
func_80386AEC(thisActor, 4);
|
||||
|
@ -325,7 +325,7 @@ void chflibbit_update(Actor *this){
|
|||
|
||||
if(!this->unk16C_4){
|
||||
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[1] = randf2(-2.0f, -1.0f);
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
local = (ActorLocal_MrVile *)&this->local;
|
||||
|
@ -138,7 +138,7 @@ void func_8038BD84(Actor *this){
|
|||
local->unk28[0] = 0.0f;
|
||||
local->unk28[1] = 0.0f;
|
||||
local->unk28[2] = 0.0f;
|
||||
func_8038BBA0(this, 101);
|
||||
BGS_func_8038BBA0(this, 101);
|
||||
}
|
||||
|
||||
void func_8038BDD4(Actor *this) {
|
||||
|
@ -200,26 +200,26 @@ void func_8038C0C8(Actor * this, s32 next_state){
|
|||
|
||||
local = (ActorLocal_MrVile *)&this->local;
|
||||
if(next_state == 1)
|
||||
func_8038BBA0(this, 101);
|
||||
BGS_func_8038BBA0(this, 101);
|
||||
|
||||
if(next_state == 2)
|
||||
func_8038BBA0(this, 101);
|
||||
BGS_func_8038BBA0(this, 101);
|
||||
|
||||
if(next_state == 3)
|
||||
func_8038BBA0(this, 102);
|
||||
BGS_func_8038BBA0(this, 102);
|
||||
|
||||
if(next_state == 4)
|
||||
func_8038BBA0(this, 102);
|
||||
BGS_func_8038BBA0(this, 102);
|
||||
|
||||
if(next_state == 5){
|
||||
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){
|
||||
local->target_position[0] = local->target_position[1] = local->target_position[2] = 0.0f;
|
||||
local->unk24 = 300.0f;
|
||||
func_8038BBA0(this, 102);
|
||||
BGS_func_8038BBA0(this, 102);
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
this = marker_getActor(marker);
|
||||
|
@ -312,14 +312,14 @@ void func_8038C408(ActorMarker *marker){
|
|||
func_8038C0C8(this, 5);
|
||||
}
|
||||
|
||||
void func_8038C434(ActorMarker *marker){
|
||||
void BGS_func_8038C434(ActorMarker *marker){
|
||||
Actor *this;
|
||||
|
||||
this = marker_getActor(marker);
|
||||
func_8038C0C8(this, 6);
|
||||
}
|
||||
|
||||
void func_8038C460(ActorMarker *arg0){
|
||||
void BGS_func_8038C460(ActorMarker *arg0){
|
||||
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);
|
||||
if (local->unkC == 102) {
|
||||
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 (sp70 <= 50.0f) {
|
||||
if (chvilegame_cpu_consume_piece(local->game_marker, local->target_position)) {
|
||||
func_8038BBA0(this, 104);
|
||||
BGS_func_8038BBA0(this, 104);
|
||||
} else {
|
||||
func_8038BBA0(this, 102);
|
||||
BGS_func_8038BBA0(this, 102);
|
||||
}
|
||||
} 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)) {
|
||||
func_8038BBA0(this, 102);
|
||||
BGS_func_8038BBA0(this, 102);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -417,7 +417,7 @@ void chvile_update(Actor *this) {
|
|||
player_getPosition(local->target_position);
|
||||
local->unk10 = 500.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)) {
|
||||
func_8038C0C8(this, 1);
|
||||
|
|
|
@ -21,14 +21,14 @@ enum chtanktup_leg_e {
|
|||
TANKTUP_LEG_BACK_RIGHT,
|
||||
};
|
||||
|
||||
ActorAnimationInfo D_80390C20[] = {
|
||||
ActorAnimationInfo BGS_D_80390C20[] = {
|
||||
{0, 0.0f},
|
||||
{0x101, 7.5f},
|
||||
{0x102, 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,
|
||||
0, 0x80, 0.0f, 0
|
||||
};
|
||||
|
|
|
@ -18,17 +18,17 @@ typedef struct {
|
|||
}ActorLocal_Yellow_Flibbit;
|
||||
|
||||
Actor *func_8038DE5C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx** vtx);
|
||||
void func_8038E034(Actor *this);
|
||||
void BGS_func_8038E034(Actor *this);
|
||||
|
||||
/* .data */
|
||||
ActorInfo D_80390AE0 = {
|
||||
ActorInfo BGS_D_80390AE0 = {
|
||||
MARKER_C5_FLIBBIT_YELLOW, ACTOR_137_FLIBBIT_YELLOW, ASSET_385_MODEL_FLIBBIT_YELLOW,
|
||||
0, NULL,
|
||||
func_8038E034, NULL, func_8038DE5C,
|
||||
BGS_func_8038E034, NULL, func_8038DE5C,
|
||||
0, 0, 1.0f, 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 */
|
||||
void func_8038D1E0(Actor *this) {
|
||||
|
@ -325,7 +325,7 @@ Actor *func_8038DE5C(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx) {
|
|||
return this;
|
||||
}
|
||||
|
||||
void func_8038E034(Actor *this) {
|
||||
void BGS_func_8038E034(Actor *this) {
|
||||
f32 spB4[3];
|
||||
f32 spA8[3];
|
||||
f32 spA4;
|
||||
|
@ -365,7 +365,7 @@ void func_8038E034(Actor *this) {
|
|||
}
|
||||
if (!local->unk2) {
|
||||
local->unk2 = TRUE;
|
||||
func_8038CED0();
|
||||
BGS_func_8038CED0();
|
||||
}
|
||||
player_getPosition(spB4);
|
||||
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[1] = (f32) (local->unkA[1] - local->unk4[1]);
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,15 +10,15 @@ typedef struct{
|
|||
}ActorLocal_BGS_3030;
|
||||
|
||||
void func_80389668(Actor *this);
|
||||
Actor *func_80389610(ActorMarker *marker, Gfx **, Mtx **, Vtx**);
|
||||
Actor *BGS_func_80389610(ActorMarker *marker, Gfx **, Mtx **, Vtx**);
|
||||
|
||||
/* .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_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_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_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_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_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_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, 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, 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, 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, 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, BGS_func_80389610, 0, 0, 1.5f, 0};
|
||||
|
||||
/* .code */
|
||||
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);
|
||||
return func_80325888(marker, gfx, mtx, vtx);
|
||||
}
|
||||
|
|
|
@ -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_803909C0[] = { 0, 0xC6E, 0xC6F, 0, 0xC95, 0xC96, 0xC97};
|
||||
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};
|
||||
|
||||
/* .code */
|
||||
bool func_80389810(f32 arg0[3]) {
|
||||
bool BGS_func_80389810(f32 arg0[3]) {
|
||||
if (func_8028ECAC() != BSGROUP_7_CROC_ATTACK) {
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -53,7 +53,7 @@ bool func_80389810(f32 arg0[3]) {
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
void func_80389850(Actor *this, s32 arg1) {
|
||||
void BGS_func_80389850(Actor *this, s32 arg1) {
|
||||
ActorLocal_BGS_3420 *local;
|
||||
Actor *vile;
|
||||
f32 sp94[3];
|
||||
|
@ -158,11 +158,11 @@ void func_80389C58(ActorMarker *marker) {
|
|||
|
||||
this = marker_getActor(marker);
|
||||
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);
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
this = marker_getActor(marker);
|
||||
|
@ -177,11 +177,11 @@ void func_80389D20(ActorMarker *marker) {
|
|||
|
||||
this = marker_getActor(marker);
|
||||
local = (ActorLocal_BGS_3420 *)&this->local;
|
||||
func_80389850(this, 0);
|
||||
BGS_func_80389850(this, 0);
|
||||
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 {
|
||||
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);
|
||||
}
|
||||
|
@ -202,7 +202,7 @@ void func_80389E40(ActorMarker *marker) {
|
|||
this = marker_getActor(marker);
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -227,7 +227,7 @@ void func_80389F08(ActorMarker *marker) {
|
|||
|
||||
this = marker_getActor(marker);
|
||||
local = (ActorLocal_BGS_3420 *)&this->local;
|
||||
func_80389850(this, 0);
|
||||
BGS_func_80389850(this, 0);
|
||||
var_s2 = func_80326F58(0x49);
|
||||
vile = marker_getActor(local->vile_marker);
|
||||
if (var_s2 > 0) {
|
||||
|
@ -278,7 +278,7 @@ void func_8038A068(Actor *this, s32 next_state) {
|
|||
}
|
||||
if (next_state == 4) {
|
||||
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 {
|
||||
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;
|
||||
}
|
||||
if (local->unkC == 7) {
|
||||
func_8038C434(local->vile_marker);
|
||||
BGS_func_8038C434(local->vile_marker);
|
||||
} else {
|
||||
local->current_type = YUMBLIE;
|
||||
local->player_score = 0;
|
||||
|
@ -315,7 +315,7 @@ void func_8038A068(Actor *this, s32 next_state) {
|
|||
func_8038A044();
|
||||
}
|
||||
}
|
||||
func_8038C460(local->vile_marker);
|
||||
BGS_func_8038C460(local->vile_marker);
|
||||
func_80347A14(1);
|
||||
}
|
||||
if (next_state == 6) {
|
||||
|
@ -363,7 +363,7 @@ void chvilegame_player_consume_piece(Actor *this) {
|
|||
|
||||
begin = (struct vilegame_piece *)vector_getBegin(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;
|
||||
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)) {
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,25 +22,25 @@ ActorInfo D_80390C88 = {MARKER_6D_TANKTUP_LEG, ACTOR_E9_TANKTUP_LEG_FL, ASSET_3E
|
|||
};
|
||||
u8 pad_80390CCC[4] = {0};
|
||||
|
||||
ActorAnimationInfo D_80390CB0[3] = {
|
||||
ActorAnimationInfo BGS_D_80390CB0[3] = {
|
||||
{0, 0.0f},
|
||||
{0x104, 8000000.0f},
|
||||
{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,
|
||||
0, 0x166, 0.0f, 0
|
||||
};
|
||||
u8 pad_80390CEC[4] = {0};
|
||||
|
||||
ActorAnimationInfo D_80390CF0[3] = {
|
||||
ActorAnimationInfo BGS_D_80390CF0[3] = {
|
||||
{0, 0.0f},
|
||||
{0x105, 8000000.0f},
|
||||
{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,
|
||||
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);
|
||||
}
|
||||
|
||||
void func_8038FB84(ActorMarker *this, ActorMarker *other_marker){
|
||||
void BGS_func_8038FB84(ActorMarker *this, ActorMarker *other_marker){
|
||||
Actor *thisActor;
|
||||
|
||||
thisActor = marker_getActor(this);
|
||||
|
@ -81,7 +81,7 @@ void func_8038FBF8(Actor *this){
|
|||
if(!this->initialized){
|
||||
this->initialized = 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(animctrl_isAt(this->animctrl, 0.65f)){
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#include "variables.h"
|
||||
|
||||
void func_80324E88(f32);
|
||||
void func_803888E4(Actor *this, s32 arg1);
|
||||
void BGS_func_803888E4(Actor *this, s32 arg1);
|
||||
|
||||
typedef struct{
|
||||
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
|
||||
f32 D_80390868[3] = {0.0f, 100.0f, -1020.0f}; //chchoirgame_jiggy_position
|
||||
|
||||
void func_80388660(ActorMarker *this){
|
||||
func_803888E4(marker_getActor(this), 6);
|
||||
void BGS_func_80388660(ActorMarker *this){
|
||||
BGS_func_803888E4(marker_getActor(this), 6);
|
||||
}
|
||||
|
||||
void func_8038868C(void){
|
||||
void BGS_func_8038868C(void){
|
||||
jiggySpawn(JIGGY_27_BGS_TIPTUP, D_80390868);
|
||||
}
|
||||
|
||||
|
@ -61,14 +61,14 @@ void func_803886F4(ActorMarker *this){
|
|||
thisActor = marker_getActor(this);
|
||||
item_set(ITEM_6_HOURGLASS, 1);
|
||||
item_set(ITEM_0_HOURGLASS_TIMER, 30*60-1);
|
||||
func_803888E4(thisActor, 5);
|
||||
BGS_func_803888E4(thisActor, 5);
|
||||
}
|
||||
|
||||
void func_8038873C(void){
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||
}
|
||||
|
||||
void func_80388760(void){
|
||||
void BGS_func_80388760(void){
|
||||
func_8025A6EC(COMUSIC_2C_BUZZER, 28000);
|
||||
}
|
||||
|
||||
|
@ -79,20 +79,20 @@ void func_80388784(ActorMarker *this, s32 arg1, s32 arg2){
|
|||
switch(arg1){
|
||||
case 0xc72:
|
||||
case 0xc74:
|
||||
func_803888E4(thisActor, 3);
|
||||
BGS_func_803888E4(thisActor, 3);
|
||||
break;
|
||||
case 0xc78:
|
||||
case 0xc7a:
|
||||
case 0xc7c:
|
||||
func_803888E4(thisActor, 4);
|
||||
BGS_func_803888E4(thisActor, 4);
|
||||
break;
|
||||
case 0xc77:
|
||||
case 0xc79:
|
||||
func_80324E38(0.0f, 0);
|
||||
func_803888E4(thisActor, 3);
|
||||
BGS_func_803888E4(thisActor, 3);
|
||||
break;
|
||||
case 0xc7b:
|
||||
timedFunc_set_0(0.0f, func_8038868C);
|
||||
timedFunc_set_0(0.0f, BGS_func_8038868C);
|
||||
func_80324E88(2.5f);
|
||||
func_80324E38(2.5f, 0);
|
||||
break;
|
||||
|
@ -117,11 +117,11 @@ void func_80388848(ActorMarker *this){
|
|||
func_803204E4(5,1);
|
||||
}
|
||||
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;
|
||||
f32 sp54;
|
||||
|
||||
|
@ -242,7 +242,7 @@ void func_80388E94(ActorMarker *this, s32 arg1){
|
|||
}
|
||||
else{
|
||||
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))
|
||||
mapSpecificFlags_set(1,TRUE);
|
||||
}
|
||||
|
@ -296,7 +296,7 @@ void func_80389080(Actor *this){
|
|||
unqPtr->unkA = 3;
|
||||
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))
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
|
@ -315,12 +315,12 @@ void func_80389080(Actor *this){
|
|||
if(func_803203FC(2)){
|
||||
if(func_803203FC(3)){
|
||||
func_80324E38(0.0f,0);
|
||||
func_803888E4(this, 3);
|
||||
BGS_func_803888E4(this, 3);
|
||||
}
|
||||
}
|
||||
else{
|
||||
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
|
||||
else{
|
||||
if(ml_vec3f_distance(this->position, &sp44) >= 300.0f)
|
||||
func_803888E4(this, 1);
|
||||
BGS_func_803888E4(this, 1);
|
||||
}
|
||||
}//L803893A0
|
||||
if(this->state == 6){
|
||||
|
|
|
@ -9,7 +9,7 @@ void func_8025A58C(u32, u32);
|
|||
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,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
@ -20,7 +20,7 @@ f32 D_80390AD4[3] = {1985.0f, 200.0f, -1386.0f};
|
|||
u8 D_80391240[4];
|
||||
|
||||
/* .code */
|
||||
void func_8038CB20(void){
|
||||
void BGS_func_8038CB20(void){
|
||||
jiggySpawn(JIGGY_24_BGS_FLIBBITS, D_80390AD4);
|
||||
}
|
||||
|
||||
|
@ -97,7 +97,7 @@ void func_8038CC08(Actor * arg0, u32 arg1){
|
|||
if(arg1 == 5){
|
||||
func_80324E38(0.0f, 3);
|
||||
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_80324E38(3.0f, 0);
|
||||
arg1 = 6;
|
||||
|
@ -121,7 +121,7 @@ void func_8038CEB8(void){
|
|||
D_80391240[2]++;
|
||||
}
|
||||
|
||||
void func_8038CED0(void){
|
||||
void BGS_func_8038CED0(void){
|
||||
D_80391240[3]++;
|
||||
}
|
||||
|
||||
|
|
|
@ -16,8 +16,8 @@ extern ActorInfo D_80390C88;
|
|||
extern ActorInfo D_80390CC8;
|
||||
extern ActorInfo D_80390D08;
|
||||
extern ActorInfo D_80390D48;
|
||||
extern ActorInfo D_80390AB0;
|
||||
extern ActorInfo D_80390AE0;
|
||||
extern ActorInfo BGS_D_80390AB0;
|
||||
extern ActorInfo BGS_D_80390AE0;
|
||||
extern ActorInfo D_80390960;
|
||||
extern ActorInfo D_80390A40;
|
||||
extern ActorInfo D_80390A70;
|
||||
|
@ -33,7 +33,7 @@ extern ActorInfo D_80390D70;
|
|||
extern ActorInfo D_80390BD8;
|
||||
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_80390690, actor_new, 0x020108A1); //flibbit
|
||||
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_80390D08, actor_new, 0x400042c);//tanktup_leg
|
||||
spawnableActorList_add(&D_80390D48, actor_new, 0x400042c);//tanktup_leg
|
||||
spawnableActorList_add(&D_80390AB0, actor_new, 0x81);
|
||||
spawnableActorList_add(&D_80390AE0, actor_new, 0x20108a1); //yellow_flibbit
|
||||
spawnableActorList_add(&BGS_D_80390AB0, actor_new, 0x81);
|
||||
spawnableActorList_add(&BGS_D_80390AE0, actor_new, 0x20108a1); //yellow_flibbit
|
||||
spawnableActorList_add(&D_80390960, actor_new, 0);
|
||||
spawnableActorList_add(&D_80390A40, actor_new, 0x880); //yumblie
|
||||
spawnableActorList_add(&D_80390A70, actor_new, 0x9a2); //mr. vile
|
||||
|
|
|
@ -119,7 +119,7 @@ void func_80389520(ActorMarker *marker, ActorMarker *otherMarker){
|
|||
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);
|
||||
ActorLocal_CC_3130 *local = (ActorLocal_CC_3130 *) &actor->local;
|
||||
|
||||
|
@ -138,7 +138,7 @@ void chSawblade_update(Actor *this){
|
|||
this->unk16C_4 = TRUE;
|
||||
this->roll = this->yaw;
|
||||
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->unk4 = 0;
|
||||
func_80256C60(this->position, 100);
|
||||
|
|
|
@ -20,7 +20,7 @@ ActorInfo D_80389AA0 = {
|
|||
};
|
||||
|
||||
/* .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;
|
||||
if(this->state == 4){
|
||||
func_80388ED4(0);
|
||||
|
@ -55,7 +55,7 @@ void func_803864D4(Actor *this){
|
|||
if(!this->unk16C_4){
|
||||
this->unk16C_4 = 1;
|
||||
marker->propPtr->unk8_3 = 1;
|
||||
func_803863F0(this, 1);
|
||||
CC_func_803863F0(this, 1);
|
||||
}//L80386530
|
||||
|
||||
func_80388B4C(&sp4C);
|
||||
|
@ -65,27 +65,27 @@ void func_803864D4(Actor *this){
|
|||
sp30[0] = sp4C[0] - sp40[0];
|
||||
sp30[1] = 0.0f;
|
||||
sp30[2] = sp4C[2] - sp40[2];
|
||||
if(!func_80388CA0()){
|
||||
if(!CC_func_80388CA0()){
|
||||
local->unk4 = 2.0f;
|
||||
}
|
||||
else if(60.0f < gu_sqrtf(sp30[0]*sp30[0] + sp30[1]*sp30[1] + sp30[2]*sp30[2])){
|
||||
local->unk4 = 0.05f;
|
||||
}
|
||||
else{
|
||||
func_803863F0(this, 2);
|
||||
CC_func_803863F0(this, 2);
|
||||
}
|
||||
}//L80386634
|
||||
|
||||
if(func_8025773C(&local->unk0, sp3C)){
|
||||
func_803863F0(this, 4);
|
||||
CC_func_803863F0(this, 4);
|
||||
}
|
||||
|
||||
if((this->state == 2) && (1.0 <= local->unk8)){
|
||||
func_803863F0(this, 3);
|
||||
CC_func_803863F0(this, 3);
|
||||
}//L803866B4
|
||||
|
||||
if((this->state == 4) && (1.0 <= local->unk8)){
|
||||
func_803863F0(this, 1);
|
||||
CC_func_803863F0(this, 1);
|
||||
}//L80386714
|
||||
|
||||
if(this->state == 1){
|
||||
|
|
|
@ -66,7 +66,7 @@ void func_80387940(Struct_CC_13C0_1 *arg0, Struct68s *arg1) {
|
|||
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);
|
||||
}
|
||||
|
||||
|
@ -82,19 +82,19 @@ void func_803879C0(Struct_CC_13C0_1 *arg0, Struct68s *arg1) {
|
|||
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);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
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;
|
||||
f32 sp50[3];
|
||||
f32 sp44[3];
|
||||
|
@ -160,7 +160,7 @@ void func_80387CC0(void){
|
|||
|
||||
}
|
||||
|
||||
void func_80387D4C(void){
|
||||
void CC_func_80387D4C(void){
|
||||
u32 sp1C;
|
||||
u32 tmp_v0;
|
||||
osPiReadIo(0x504, &sp1C);
|
||||
|
|
|
@ -25,7 +25,7 @@ extern ActorInfo D_80389E68;
|
|||
extern ActorInfo D_80389E8C;
|
||||
|
||||
/* .code */
|
||||
void func_80387DA0(void)
|
||||
void CC_func_80387DA0(void)
|
||||
{
|
||||
spawnableActorList_add(&D_80389AA0, actor_new, 0X4080);
|
||||
spawnableActorList_add(&D_80389E44, actor_new, 0X10080);
|
||||
|
|
|
@ -20,7 +20,7 @@ void func_80387F80(void){
|
|||
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_6_HOURGLASS, 1);
|
||||
D_80389F90.unk1 = 1;
|
||||
|
@ -41,7 +41,7 @@ s32 func_80388010(void){
|
|||
void func_8038803C(s32 arg0){
|
||||
if(arg0 == D_80389F90.unk0){
|
||||
if(arg0 == 1){
|
||||
func_80387FB0();
|
||||
CC_func_80387FB0();
|
||||
}
|
||||
D_80389F90.unk0++;
|
||||
if(D_80389F90.unk0 >= 9){
|
||||
|
|
|
@ -112,7 +112,7 @@ void func_80388664(void) {
|
|||
jiggySpawn(JIGGY_17_CC_CLANKER_RAISED, D_80389C00);
|
||||
}
|
||||
|
||||
void func_8038868C(void) {
|
||||
void CC_func_8038868C(void) {
|
||||
func_80324E38(0, 3);
|
||||
timed_setCameraToNode(0, 0);
|
||||
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;
|
||||
s32 s1;
|
||||
f32 spA4[3];
|
||||
|
@ -237,11 +237,11 @@ void func_80388C50(s32 arg0, s32 arg1){
|
|||
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);
|
||||
}
|
||||
|
||||
int func_80388CA0(void){
|
||||
int CC_func_80388CA0(void){
|
||||
return D_80389FA0.unk21 == 3;
|
||||
}
|
||||
|
||||
|
@ -317,7 +317,7 @@ void func_80388ED4(s32 arg0){
|
|||
D_80389FA0.unk8 = 1.0f;
|
||||
}
|
||||
|
||||
void func_80388F4C(void){
|
||||
void CC_func_80388F4C(void){
|
||||
f32 sp6C[3];
|
||||
f32 sp68 = time_getDelta();
|
||||
f32 sp64;
|
||||
|
@ -327,7 +327,7 @@ void func_80388F4C(void){
|
|||
BKCollisionTri *tmp_v0;
|
||||
f32 pad[3];
|
||||
|
||||
func_80387D4C();
|
||||
CC_func_80387D4C();
|
||||
if(D_80389FA0.unk21 != 0 && func_80334904() == 2){
|
||||
player_getPosition(sp6C);
|
||||
D_80389FA0.unk20 = (ml_vec3f_distance(sp6C, D_80389FA0.unkC) < 200.0f);
|
||||
|
|
|
@ -30,7 +30,7 @@ ActorInfo D_80389AD0 = {
|
|||
f32 D_80389AF4[3] = {6200.0f, -2600.0f, 0.0f};
|
||||
|
||||
/* .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;
|
||||
f32 sp28[3];
|
||||
s16 sp20[3];
|
||||
|
@ -57,7 +57,7 @@ void func_80386920(Actor *this, s32 next_state){
|
|||
}
|
||||
|
||||
if(next_state == 4){
|
||||
func_8038868C();
|
||||
CC_func_8038868C();
|
||||
func_8025A6EC(COMUSIC_2D_PUZZLE_SOLVED_FANFARE, 0x7FFF);
|
||||
}
|
||||
|
||||
|
@ -76,7 +76,7 @@ void func_80386AD0(ActorMarker *arg0, s32 arg1) {
|
|||
|
||||
void func_80386AF8(Actor *arg0) {
|
||||
ActorLocal_CC_530 *local = (ActorLocal_CC_530 *)&arg0->local;
|
||||
func_80386920(arg0, 0);
|
||||
CC_func_80386920(arg0, 0);
|
||||
func_8030DA44(local->unk0);
|
||||
}
|
||||
|
||||
|
@ -107,10 +107,10 @@ void func_80386B28(Actor *this){
|
|||
this->position_y = -2620.0f;
|
||||
this->position_z = -20.0f;
|
||||
if(jiggyscore_isSpawned(JIGGY_17_CC_CLANKER_RAISED)){
|
||||
func_80386920(this, 5);
|
||||
CC_func_80386920(this, 5);
|
||||
}
|
||||
else{
|
||||
func_80386920(this, 1);
|
||||
CC_func_80386920(this, 1);
|
||||
}
|
||||
}
|
||||
else{//L80386C40
|
||||
|
@ -159,10 +159,10 @@ void func_80386B28(Actor *this){
|
|||
local->unk4[2] = sp58[2];
|
||||
if(this->state == 0x1 && local->unk2 == 1){
|
||||
if(--local->unk3 == 0){
|
||||
func_80386920(this, 4);
|
||||
CC_func_80386920(this, 4);
|
||||
}
|
||||
else{
|
||||
func_80386920(this, 2);
|
||||
CC_func_80386920(this, 2);
|
||||
}
|
||||
}//L80386E4C
|
||||
|
||||
|
@ -172,7 +172,7 @@ void func_80386B28(Actor *this){
|
|||
}
|
||||
this->pitch = (f32)local->unk10 + 30.0f*local->unk14;
|
||||
if(1.0f <= local->unk14){
|
||||
func_80386920(this, 3);
|
||||
CC_func_80386920(this, 3);
|
||||
}
|
||||
}//L80386EC0
|
||||
|
||||
|
@ -182,7 +182,7 @@ void func_80386B28(Actor *this){
|
|||
}
|
||||
this->pitch = (f32)local->unk10 + 30.0f*(1.0f - local->unk14);
|
||||
if(1.0f <= local->unk14){
|
||||
func_80386920(this, 1);
|
||||
CC_func_80386920(this, 1);
|
||||
}
|
||||
}//L80386F44
|
||||
|
||||
|
@ -192,7 +192,7 @@ void func_80386B28(Actor *this){
|
|||
}
|
||||
this->pitch = (f32)local->unk10 + 180.0f*(local->unk14/5.0f);
|
||||
if(5.0f <= local->unk14){
|
||||
func_80386920(this, 5);
|
||||
CC_func_80386920(this, 5);
|
||||
func_80388EA4();
|
||||
}
|
||||
}//L80386FC0
|
||||
|
|
|
@ -29,7 +29,7 @@ extern ActorInfo D_80389B24 = {
|
|||
u8 D_80389F80;
|
||||
|
||||
/* .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;
|
||||
s32 prev_state = this->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;
|
||||
}
|
||||
|
||||
|
@ -82,9 +82,9 @@ void func_803870F8(Actor *this){
|
|||
this->roll = 0.0f;
|
||||
local->unk0 = (marker->modelId == 0x309) ? 1 : 2;
|
||||
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)){
|
||||
func_80386FE0(this, 3);
|
||||
CC_func_80386FE0(this, 3);
|
||||
}
|
||||
}//L803871D8
|
||||
player_getPosition(&sp70);
|
||||
|
@ -119,7 +119,7 @@ void func_803870F8(Actor *this){
|
|||
D_80389F80 = 0;
|
||||
local->egg_count++;
|
||||
if(local->egg_count == 3){
|
||||
func_80386FE0(this, 2);
|
||||
CC_func_80386FE0(this, 2);
|
||||
}else{
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||
}
|
||||
|
@ -131,7 +131,7 @@ void func_803870F8(Actor *this){
|
|||
((flagCnt == 0)? 0xd30 : 0xd31) :
|
||||
((flagCnt == 0)? 0xd2e : 0xd2f), 4, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
func_80386FE0(this, 3);
|
||||
CC_func_80386FE0(this, 3);
|
||||
}//L80387474
|
||||
|
||||
if(this->state == 3){
|
||||
|
|
|
@ -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};
|
||||
|
||||
/* .code */
|
||||
void func_803863F0(Actor *this, s32 next_state){
|
||||
void CCW_func_803863F0(Actor *this, s32 next_state){
|
||||
if(next_state == 2){
|
||||
FUNC_8030E8B4(SFX_2F_ORANGE_SPLAT, 1.0f, 32000, this->position, 500, 3000);
|
||||
levelSpecificFlags_set(0x10, TRUE);
|
||||
|
@ -20,7 +20,7 @@ void func_803863F0(Actor *this, s32 next_state){
|
|||
void func_80386468(ActorMarker* marker, ActorMarker *arg1) {
|
||||
Actor* actor = marker_getActor(marker);
|
||||
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->marker->propPtr->unk8_3 = TRUE;
|
||||
marker_setCollisionScripts(this->marker, NULL, NULL, func_80386468);
|
||||
func_803863F0(this, 1);
|
||||
CCW_func_803863F0(this, 1);
|
||||
if(levelSpecificFlags_get(0x10)){
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ typedef struct {
|
|||
f32 unk18[3];
|
||||
}ActorLocal_CCW_14B0;
|
||||
|
||||
void func_80387A40(Actor *this);
|
||||
void CCW_func_80387A40(Actor *this);
|
||||
|
||||
/* .data */
|
||||
Struct_CCW_14B0_0 D_8038EC00[] = {
|
||||
|
@ -30,7 +30,7 @@ Struct_CCW_14B0_0 D_8038EC00[] = {
|
|||
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 */
|
||||
void func_803878A0(Actor *this, s32 next_state) {
|
||||
|
@ -53,12 +53,12 @@ void func_803878A0(Actor *this, s32 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;
|
||||
func_8030DA44(local->unk0);
|
||||
}
|
||||
|
||||
void func_80387A40(Actor *this) {
|
||||
void CCW_func_80387A40(Actor *this) {
|
||||
ActorLocal_CCW_14B0 *local;
|
||||
f32 sp68;
|
||||
f32 sp5C[3];
|
||||
|
@ -71,7 +71,7 @@ void func_80387A40(Actor *this) {
|
|||
sp68 = time_getDelta();
|
||||
if (!this->unk16C_4) {
|
||||
this->unk16C_4 = TRUE;
|
||||
this->marker->unk30 = func_80387A20;
|
||||
this->marker->unk30 = CCW_func_80387A20;
|
||||
local->unk4 = &D_8038EC00[0];
|
||||
while((local->unk4->unk0 != 0) && (map_get() != local->unk4->unk0)) {
|
||||
local->unk4++;
|
||||
|
|
|
@ -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};
|
||||
|
||||
/* .code */
|
||||
void func_80386550(ActorMarker *marker){
|
||||
void CCW_func_80386550(ActorMarker *marker){
|
||||
Actor *this;
|
||||
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_80324E38(0.0f, 3);
|
||||
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_80324E38(4.0f, 0);
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@ typedef struct{
|
|||
}ActorLocal_CCW_1B20;
|
||||
|
||||
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);
|
||||
|
||||
/* .data */
|
||||
|
@ -28,7 +28,7 @@ Struct_CCW_1B20_0 D_8038EC40[4] ={
|
|||
{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};
|
||||
|
||||
/* .code */
|
||||
|
@ -90,7 +90,7 @@ bool func_80388260(ActorMarker *marker, s32 arg1){
|
|||
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);
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
s32 sp18;
|
||||
|
||||
|
@ -144,7 +144,7 @@ void func_80388478(Actor *this) {
|
|||
if (!this->unk16C_4) {
|
||||
this->unk16C_4 = TRUE;
|
||||
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);
|
||||
if (!jiggyscore_isSpawned(JIGGY_4D_CCW_FLOWER)) {
|
||||
func_80320004(0xE5, FALSE);
|
||||
|
|
|
@ -15,7 +15,7 @@ typedef struct{
|
|||
void *unk8;
|
||||
}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);
|
||||
void func_80388AA0(Actor *this);
|
||||
|
||||
|
@ -34,11 +34,11 @@ ActorInfo D_8038ECE8 = {
|
|||
};
|
||||
|
||||
/* .code */
|
||||
void func_80388660(ActorMarker* marker, s32 arg1) {
|
||||
func_8038868C(marker_getActor(marker), arg1);
|
||||
void CCW_func_80388660(ActorMarker* marker, s32 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;
|
||||
|
||||
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(1.4f, 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) {
|
||||
func_803883F4();
|
||||
|
@ -95,7 +95,7 @@ void func_8038894C(ActorMarker* marker, ActorMarker *other_marker) {
|
|||
Actor* actor = marker_getActor(marker);
|
||||
if (actor->state == 1) {
|
||||
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)) {
|
||||
func_8038868C(this, 1);
|
||||
CCW_func_8038868C(this, 1);
|
||||
} else if( (map_get() == MAP_45_CCW_AUTUMN) && func_8031FF1C(0xE4) && !func_8031FF1C(0xE5) ) {
|
||||
func_8038868C(this, 1);
|
||||
CCW_func_8038868C(this, 1);
|
||||
} else{
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
|
@ -177,9 +177,9 @@ void func_80388AA0(Actor *this) {
|
|||
if(this->state == 3){
|
||||
if (!func_80388438()) {
|
||||
if (map_get() == MAP_44_CCW_SUMMER) {
|
||||
func_8038868C(this, 4);
|
||||
CCW_func_8038868C(this, 4);
|
||||
} else {
|
||||
func_8038868C(this, 5);
|
||||
CCW_func_8038868C(this, 5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -203,14 +203,14 @@ void func_80388AA0(Actor *this) {
|
|||
|
||||
if (this->state == 5){
|
||||
if(func_80335794(this->unk148) > 0) {
|
||||
func_8038868C(this, 6);
|
||||
CCW_func_8038868C(this, 6);
|
||||
}
|
||||
}
|
||||
|
||||
if (this->state == 6) {
|
||||
func_80326224(this);
|
||||
if (0.99 < (f64) this->unk48) {
|
||||
func_8038868C(this, 7);
|
||||
CCW_func_8038868C(this, 7);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
#include "functions.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);
|
||||
|
||||
/* .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 */
|
||||
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;
|
||||
|
||||
this = marker_getActor(marker);
|
||||
|
|
|
@ -41,7 +41,7 @@ typedef struct {
|
|||
}ActorLocal_CCW_3310;
|
||||
|
||||
Actor *func_80389B24(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
||||
void func_80389BFC(Actor *this);
|
||||
void CCW_func_80389BFC(Actor *this);
|
||||
|
||||
/* .data */
|
||||
Struct_CCW_3310_1 D_8038EEA0[] = {
|
||||
|
@ -96,7 +96,7 @@ Struct_CCW_3310_0 D_8038F080[] = {
|
|||
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 */
|
||||
u8 pad_8038FDD0[0x10];
|
||||
|
@ -204,7 +204,7 @@ void func_80389BD8(f32 dst[3]){
|
|||
dst[2] = D_8038FDE0[2];
|
||||
}
|
||||
|
||||
void func_80389BFC(Actor *this) {
|
||||
void CCW_func_80389BFC(Actor *this) {
|
||||
Struct_CCW_3310_1 *iPtr;
|
||||
ActorLocal_CCW_3310 *local;
|
||||
f32 sp5C;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
void func_8038C16C(Actor *this, s32 next_state) {
|
||||
void CCW_func_8038C16C(Actor *this, s32 next_state) {
|
||||
Actor *other;
|
||||
|
||||
if (next_state == 1) {
|
||||
|
@ -102,9 +102,9 @@ void func_8038C41C(Actor *this) {
|
|||
&& !jiggyscore_isSpawned(JIGGY_4A_CCW_NABNUT)
|
||||
&& (this->marker->unk14_20 == 0x1C6 || this->marker->unk14_20 == 0x1CA)
|
||||
){
|
||||
func_8038C16C(this, 1);
|
||||
CCW_func_8038C16C(this, 1);
|
||||
} else {
|
||||
func_8038C16C(this, 2);
|
||||
CCW_func_8038C16C(this, 2);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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};
|
||||
|
||||
/* .code */
|
||||
void func_8038C5D0(ActorMarker* marker) {
|
||||
void CCW_func_8038C5D0(ActorMarker* marker) {
|
||||
Actor* actor = marker_getActor(marker);
|
||||
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);
|
||||
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;
|
||||
|
||||
local = (ActorLocal_CCW_61E0 *)&this->local;
|
||||
if (next_state == 1) {
|
||||
func_80335924(this->unk148, 0x25B, 0.0f, 1.0f);
|
||||
func_80335800(this->unk148, 0.5f, func_8038C5D0, this->marker);
|
||||
func_80335800(this->unk148, 0.7f, func_8038C638, this->marker);
|
||||
func_80335800(this->unk148, 0.5f, CCW_func_8038C5D0, this->marker);
|
||||
func_80335800(this->unk148, 0.7f, CCW_func_8038C638, this->marker);
|
||||
}
|
||||
if (next_state == 3) {
|
||||
local->unk0[0] = this->position[0];
|
||||
|
@ -68,7 +68,7 @@ void func_8038C7A8(Actor *this) {
|
|||
|
||||
sp4C = (func_8028E86C() == this->marker);
|
||||
if (this->state == 0) {
|
||||
func_8038C6A0(this, sp4C ? 2 : 1);
|
||||
CCW_func_8038C6A0(this, sp4C ? 2 : 1);
|
||||
}
|
||||
|
||||
if (this->state == 1) {
|
||||
|
@ -76,16 +76,16 @@ void func_8038C7A8(Actor *this) {
|
|||
if (ml_vec3f_distance(this->position, sp38) < 50.0f) {
|
||||
func_8028F030(0x2A9);
|
||||
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->unk138_21) {
|
||||
func_8028F010(0x2A9);
|
||||
func_8038C6A0(this, 3);
|
||||
CCW_func_8038C6A0(this, 3);
|
||||
} else if (!sp4C) {
|
||||
func_8028F050(0x2A9);
|
||||
func_8038C6A0(this, 5);
|
||||
CCW_func_8038C6A0(this, 5);
|
||||
}
|
||||
}
|
||||
if (this->state == 3) {
|
||||
|
@ -94,7 +94,7 @@ void func_8038C7A8(Actor *this) {
|
|||
func_80255FE4(this->position, local->unk0, local->unkC, local->unk18);
|
||||
this->position[1] += 50.0f * sinf(local->unk18 * BAD_PI);
|
||||
if (local->unk18 == 1.0) {
|
||||
func_8038C6A0(this, 4);
|
||||
CCW_func_8038C6A0(this, 4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ typedef struct{
|
|||
f32 unk4[3];
|
||||
}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);
|
||||
|
||||
/* .data */
|
||||
|
@ -29,7 +29,7 @@ Struct_CCW_6620_0 D_8038F490[] ={
|
|||
ActorInfo D_8038F4A8 = {
|
||||
0x1BD, 0x2AA, 0x48F,
|
||||
0x0, NULL,
|
||||
func_8038CC4C, NULL, func_8038CBF0,
|
||||
func_8038CC4C, NULL, CCW_func_8038CBF0,
|
||||
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;
|
||||
ActorLocal_CCW_6620 *local;
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ ActorInfo D_8038F640 = {
|
|||
};
|
||||
|
||||
/* .code */
|
||||
void func_8038D510(Actor *this) {
|
||||
void CCW_func_8038D510(Actor *this) {
|
||||
static s32 D_8038F664[3] = {0xDE, 0xA7, 0x71};
|
||||
static struct42s D_8038F670 = {
|
||||
{{ 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) {
|
||||
this->marker->propPtr->unk8_3 = FALSE;
|
||||
func_802BB3DC(0, 60.0f, 0.7f);
|
||||
func_8038D510(this);
|
||||
CCW_func_8038D510(this);
|
||||
func_8038D5DC(this);
|
||||
FUNC_8030E624(SFX_9B_BOULDER_BREAKING_1, 0.3f, 15000);
|
||||
FUNC_8030E624(SFX_9B_BOULDER_BREAKING_1, 0.5f, 15000);
|
||||
|
|
|
@ -61,7 +61,7 @@ extern ActorInfo D_8038F81C;
|
|||
extern ActorInfo D_8038F840;
|
||||
extern ActorInfo D_8038F864;
|
||||
|
||||
void func_8038DB0C(Actor *this);
|
||||
void CCW_func_8038DB0C(Actor *this);
|
||||
void func_8038DAB0(Actor *this);
|
||||
|
||||
/* .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_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_8038F81C = { 0x26B, 0x2DE, 0x531, 0x1, NULL, 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_8038F864 = { 0x26D, 0x2DC, 0x53F, 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, CCW_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};
|
||||
|
||||
|
||||
|
@ -89,7 +89,7 @@ void func_8038DAB0(Actor *this){
|
|||
}
|
||||
}
|
||||
|
||||
void func_8038DB0C(Actor *this){
|
||||
void CCW_func_8038DB0C(Actor *this){
|
||||
if(!this->initialized){
|
||||
func_802D3D74(this);
|
||||
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_8038EB74, actor_new, 0X80);
|
||||
|
|
|
@ -25,7 +25,7 @@ void func_8038DFE0(Actor* actor) {
|
|||
actor->unk38_31 = randi2(0, 0);
|
||||
}
|
||||
|
||||
void func_8038E034(Actor* actor) {
|
||||
void CCW_func_8038E034(Actor* actor) {
|
||||
func_80328B8C(actor, 2, 0.001f, 1);
|
||||
}
|
||||
|
||||
|
@ -101,7 +101,7 @@ void func_8038E0C8(Actor *this) {
|
|||
&& (this->unk38_31 == 0)
|
||||
&& (player_getTransformation() == TRANSFORM_1_BANJO)
|
||||
) {
|
||||
func_8038E034(this);
|
||||
CCW_func_8038E034(this);
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ void func_80387124(ActorMarker* marker, ActorMarker *other_marker) {
|
|||
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);
|
||||
}
|
||||
|
||||
|
@ -120,7 +120,7 @@ void chwasp_update(Actor *this) {
|
|||
func_8030DD14(local->unk0, 2);
|
||||
func_8030DBB4(local->unk0, 0.9f);
|
||||
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);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -5,22 +5,22 @@
|
|||
void func_803867BC(Actor *this);
|
||||
|
||||
/* .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}
|
||||
};
|
||||
|
||||
ActorInfo D_80391A10 = {
|
||||
ActorInfo FP_D_80391A10 = {
|
||||
MARKER_3B_SCARF_SLED, ACTOR_181_SCARF_SLED, ASSET_352_MODEL_SLED,
|
||||
0, D_803919F0,
|
||||
0, FP_D_803919F0,
|
||||
NULL, func_803867BC, func_80325888,
|
||||
1000, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
/* .code */
|
||||
void func_803863F0(Actor *this, s32 next_state){
|
||||
void FP_func_803863F0(Actor *this, s32 next_state){
|
||||
func_80328A84(this, next_state);
|
||||
|
||||
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(func_8028F68C(BS_INTR_27_BANJO_SLED, this->marker))
|
||||
func_803863F0(this, 2);
|
||||
FP_func_803863F0(this, 2);
|
||||
}
|
||||
|
||||
void func_8038655C(Actor *this){
|
||||
|
@ -128,7 +128,7 @@ void func_803867BC(Actor *this){
|
|||
this->marker->propPtr->unk8_3 = TRUE;
|
||||
this->unk10_12 = 0;
|
||||
ml_vec3f_clear(this->velocity);
|
||||
func_803863F0(this, 1);
|
||||
FP_func_803863F0(this, 1);
|
||||
}
|
||||
|
||||
if(!this->unk16C_4){
|
||||
|
|
|
@ -143,7 +143,7 @@ void func_803881AC(Actor *this){
|
|||
|
||||
if( 1.0f == this->velocity_x && func_80387EE4(this)){
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 28000);
|
||||
func_8038BA88(this->unkF4_8);
|
||||
FP_func_8038BA88(this->unkF4_8);
|
||||
}
|
||||
|
||||
if(func_80388000(this)){
|
||||
|
|
|
@ -25,7 +25,7 @@ typedef struct {
|
|||
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_80388EE8(ParticleEmitter *pCtrl);
|
||||
void func_80388F4C(Actor *this);
|
||||
void FP_func_80388F4C(Actor *this);
|
||||
void func_803896FC(Actor *this);
|
||||
|
||||
/* .data */
|
||||
|
@ -47,7 +47,7 @@ ActorAnimationInfo D_80391C80[] = {
|
|||
|
||||
ActorInfo D_80391CE8 = { 0x97, ACTOR_C8_BOGGY_2, ASSET_38A_MODEL_BOGGY_1,
|
||||
0x1, D_80391C80,
|
||||
func_80388F4C, func_803896FC, func_80388740,
|
||||
FP_func_80388F4C, func_803896FC, func_80388740,
|
||||
0, 0, 1.4f, 0
|
||||
};
|
||||
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_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_80391DAC[3] = {-0x11F8, 0x637, -0x1816};
|
||||
Struct_FP_2350 D_80391DB8[7]={
|
||||
|
@ -117,7 +117,7 @@ Actor *func_80388740(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
|||
return this;
|
||||
}
|
||||
|
||||
void func_803888E4(Actor *this){
|
||||
void FP_func_803888E4(Actor *this){
|
||||
func_80328B8C(this, 0xC, 0.0001f, 1);
|
||||
if(!jiggyscore_isSpawned(JIGGY_30_FP_BOGGY_2)){
|
||||
if(mapSpecificFlags_get(5)){
|
||||
|
@ -200,7 +200,7 @@ void func_80388C88(Actor *this){
|
|||
local->unk18 = 1;
|
||||
}
|
||||
|
||||
bool func_80388CA0(Actor *this){
|
||||
bool FP_func_80388CA0(Actor *this){
|
||||
ActorLocal_FP_2350 *local = (ActorLocal_FP_2350 *)&this->local;
|
||||
u32 sp20;
|
||||
|
||||
|
@ -241,7 +241,7 @@ void func_80388D70(ActorMarker *caller, enum asset_e text_id, s32 arg2){
|
|||
default://L80388E78
|
||||
switch(arg2){
|
||||
case 1:
|
||||
func_803888E4(this);
|
||||
FP_func_803888E4(this);
|
||||
mapSpecificFlags_set(6, TRUE);
|
||||
break;
|
||||
case 0:
|
||||
|
@ -263,10 +263,10 @@ void func_80388EE8(ParticleEmitter *pCtrl){
|
|||
func_802F0D54(pCtrl);
|
||||
}
|
||||
|
||||
void func_80388F4C(Actor *this){}
|
||||
void FP_func_80388F4C(Actor *this){}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -463,11 +463,11 @@ void func_803896FC(Actor *this){
|
|||
|
||||
switch(this->state){
|
||||
case 1:// L803899B8
|
||||
if(func_80388CA0(this)){
|
||||
if(FP_func_80388CA0(this)){
|
||||
func_80388B18(this, local->unk19);
|
||||
}//L803899DC
|
||||
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)
|
||||
&& func_8028ECAC() == 0
|
||||
|
|
|
@ -27,7 +27,7 @@ ActorInfo D_80391E08 = { MARKER_1FA_POLAR_BEAR_CUB_BLUE, ACTOR_1EA_POLAR_BEAR_CU
|
|||
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,
|
||||
func_8038A384, func_80326224, func_80325888,
|
||||
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
|
||||
};
|
||||
|
||||
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[] ={
|
||||
{0x11, MARKER_1FD_BLUE_PRESENT_COLLECTABLE, ACTOR_1ED_BLUE_PRESENT_COLLECTABLE, 0x1EE},
|
||||
{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){
|
||||
if(text_id == 0xc19){
|
||||
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_5B_FP_IGLOO_HAPPY, 25000);
|
||||
func_8025A58C(0, 4000);
|
||||
|
|
|
@ -14,7 +14,7 @@ typedef struct {
|
|||
extern Struct_FP_45D0_0 D_80392F50;
|
||||
|
||||
/* .code */
|
||||
void func_8038A9C0(void){
|
||||
void FP_func_8038A9C0(void){
|
||||
if( map_get() != MAP_27_FP_FREEZEEZY_PEAK
|
||||
|| jiggyscore_isCollected(JIGGY_2D_FP_SNOWMAN_BUTTONS)
|
||||
|| jiggyscore_isSpawned(JIGGY_2D_FP_SNOWMAN_BUTTONS)
|
||||
|
|
|
@ -44,7 +44,7 @@ extern Struct_FP_4770 D_80393280[0x27];
|
|||
|
||||
|
||||
/* .code */
|
||||
void func_8038AB60(s32 arg0){
|
||||
void FP_func_8038AB60(s32 arg0){
|
||||
int i;
|
||||
|
||||
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;
|
||||
for(i = 0; i < 5; i++){
|
||||
func_8038B074(i);
|
||||
|
@ -210,7 +210,7 @@ void func_8038B1C4(void){
|
|||
void func_8038B1D0(enum jiggy_e jiggy_id){
|
||||
timed_setCameraToNode(0.0f, 3);
|
||||
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_0(5.0f, func_8038B190);
|
||||
timedFunc_set_0(5.0f, func_8038B1C4);
|
||||
|
@ -221,7 +221,7 @@ void func_8038B1D0(enum jiggy_e jiggy_id){
|
|||
void func_8038B268(void){
|
||||
func_80324E88(0.0f);
|
||||
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_8028F66C(BS_INTR_2A);
|
||||
}
|
||||
|
@ -264,7 +264,7 @@ void func_8038B39C(void){
|
|||
}
|
||||
func_8028F918(1);
|
||||
func_8025A6EC(COMUSIC_3B_MINIGAME_VICTORY, 28000);
|
||||
func_8038AB60(0);
|
||||
FP_func_8038AB60(0);
|
||||
func_8038ABDC();
|
||||
timed_setCameraToNode(0.0f, 1);
|
||||
}
|
||||
|
@ -278,7 +278,7 @@ void func_8038B410(void){
|
|||
|
||||
sp2C->unk38_31 = 1;
|
||||
func_8025A6EC(COMUSIC_3C_MINIGAME_LOSS, 28000);
|
||||
func_8038AB60(0);
|
||||
FP_func_8038AB60(0);
|
||||
func_8038ABDC();
|
||||
if(!jiggyscore_isCollected(JIGGY_30_FP_BOGGY_2)){
|
||||
timed_setCameraToNode(0.0f, 1);
|
||||
|
@ -355,7 +355,7 @@ void func_8038B544(void){
|
|||
void func_8038B7A4(void){
|
||||
int i;
|
||||
|
||||
func_8038AB60(0);
|
||||
FP_func_8038AB60(0);
|
||||
|
||||
if(map_get() != MAP_27_FP_FREEZEEZY_PEAK || jiggyscore_isCollected(JIGGY_2C_FP_BOGGY_3)){
|
||||
D_803935A8.unk0 = 0;
|
||||
|
@ -442,11 +442,11 @@ void func_8038B9C8(void){
|
|||
D_803935A8.unk18 = 0;
|
||||
D_803935A8.unk19 = 0;
|
||||
D_803935A8.unk1A = 0;
|
||||
func_8038AB60(1);
|
||||
FP_func_8038AB60(1);
|
||||
D_803935A8.unk0 = 2;
|
||||
}
|
||||
|
||||
void func_8038BA88(s32 arg0){
|
||||
void FP_func_8038BA88(s32 arg0){
|
||||
|
||||
D_803935A8.unk8 = --arg0;
|
||||
func_8038AC20(arg0, 3);
|
||||
|
@ -517,7 +517,7 @@ void func_8038BC0C(s32 arg0){
|
|||
if(D_803935A8.unk1A)
|
||||
break;
|
||||
D_803935A8.unk1A = TRUE;
|
||||
func_8038AB60(0);
|
||||
FP_func_8038AB60(0);
|
||||
if(!func_8028F22C()){
|
||||
func_8028F918(2);
|
||||
func_80311480(0xc10, 0x20, NULL, NULL, func_8038B2C8, NULL);
|
||||
|
|
|
@ -6,16 +6,16 @@ Actor *func_803868C0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
|||
void func_80386AA4(Actor *this);
|
||||
|
||||
/* .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}
|
||||
};
|
||||
|
||||
ActorInfo D_80391A60 = {
|
||||
ActorInfo FP_D_80391A60 = {
|
||||
MARKER_3C_RACE_SLED, ACTOR_182_RACE_SLED, ASSET_352_MODEL_SLED,
|
||||
0x0, D_80391A40,
|
||||
0x0, FP_D_80391A40,
|
||||
func_80386AA4, NULL, func_803868C0,
|
||||
1000, 0, 0.0f, 0
|
||||
};
|
||||
|
@ -29,7 +29,7 @@ Actor *func_803868C0(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
|||
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){
|
||||
func_80328A84(this, next_state);
|
||||
switch(next_state){
|
||||
|
@ -60,7 +60,7 @@ void func_803869FC(ActorMarker *this_marker, ActorMarker *other_marker){
|
|||
&& player_getTransformation() == TRANSFORM_4_WALRUS
|
||||
&& 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){
|
||||
this->initialized = TRUE;
|
||||
marker_setCollisionScripts(this->marker, func_803869FC, NULL, NULL);
|
||||
func_80386920(this, 1);
|
||||
FP_func_80386920(this, 1);
|
||||
}
|
||||
|
||||
sp24 = mapSpecificFlags_get(4);
|
||||
if(sp24 == 0){
|
||||
func_80386920(this, 1);
|
||||
FP_func_80386920(this, 1);
|
||||
}
|
||||
|
||||
switch (this->state){
|
||||
case 1://L80386B38
|
||||
if(sp24){
|
||||
func_80386920(this, 2);
|
||||
FP_func_80386920(this, 2);
|
||||
}
|
||||
break;
|
||||
case 3://L80386B50
|
||||
if(func_8028ECAC() != BSGROUP_C_WALRUS_SLED){
|
||||
func_80386920(this, 2);
|
||||
FP_func_80386920(this, 2);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
extern void func_80324CD8(f32);
|
||||
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);
|
||||
|
||||
/* .data */
|
||||
|
@ -19,7 +19,7 @@ ActorAnimationInfo D_803920C0[] ={
|
|||
|
||||
ActorInfo D_803920E8 = { 0x204, 0x336, 0x442,
|
||||
0x1, D_803920C0,
|
||||
func_8038D6C8, func_80326224, func_8038CED0,
|
||||
func_8038D6C8, func_80326224, FP_func_8038CED0,
|
||||
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};
|
||||
|
||||
/* .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);
|
||||
if( func_8038BFA0() || func_8031FF1C(BKPROG_13) ){
|
||||
if(0.0f == this->velocity[1])
|
||||
|
|
|
@ -3,20 +3,20 @@
|
|||
#include "variables.h"
|
||||
|
||||
Actor *func_80386B80(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
||||
void func_80386CF8(Actor *this);
|
||||
void FP_func_80386CF8(Actor *this);
|
||||
|
||||
/* .data */
|
||||
ActorAnimationInfo D_80391A90[] ={
|
||||
ActorAnimationInfo FP_D_80391A90[] ={
|
||||
{0, 0.0},
|
||||
{ASSET_143_ANIM_SNOWMAN_BUTTON, 800000.0f},
|
||||
{ASSET_143_ANIM_SNOWMAN_BUTTON, 0.5f},
|
||||
{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,
|
||||
0x1, D_80391A90,
|
||||
func_80386CF8, func_80326224, func_80386B80,
|
||||
0x1, FP_D_80391A90,
|
||||
FP_func_80386CF8, func_80326224, func_80386B80,
|
||||
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];
|
||||
ParticleEmitter *pCtrl = partEmitList_pushNew(12);
|
||||
|
||||
|
@ -67,11 +67,11 @@ void func_80386CB8(ActorMarker *this_marker, ActorMarker *other_marker){
|
|||
Actor *this = marker_getActor(this_marker);
|
||||
|
||||
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);
|
||||
this->marker->propPtr->unk8_3 = TRUE;
|
||||
actor_collisionOn(this);
|
||||
|
|
|
@ -11,14 +11,14 @@ typedef struct {
|
|||
} ActorLocal_Wozza;
|
||||
|
||||
Actor *func_8038F210(ActorMarker *marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
||||
void func_8038F7AC(Actor *this);
|
||||
void FP_func_8038F7AC(Actor *this);
|
||||
|
||||
/* .data */
|
||||
extern ActorAnimationInfo D_80392520[];
|
||||
|
||||
extern ActorInfo D_80392588 = { MARKER_20B_WOZZA, ACTOR_1F3_WOZZA, ASSET_494_MODEL_WOZZA,
|
||||
0x1, D_80392520,
|
||||
func_8038F7AC, func_80326224, func_8038F210,
|
||||
FP_func_8038F7AC, func_80326224, func_8038F210,
|
||||
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;
|
||||
|
||||
func_80328C64(this, func_803297C8(this, arg1));
|
||||
|
@ -144,7 +144,7 @@ bool func_8038F6C4(Actor *this, f32 arg1[3], f32 arg2){
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
void func_8038F758(ActorMarker *marker){
|
||||
void FP_func_8038F758(ActorMarker *marker){
|
||||
Actor *this = marker_getActor(reinterpret_cast(ActorMarker *, marker));
|
||||
Actor *jiggy = spawn_child_actor(ACTOR_1F4_WOZZAS_JIGGY, &this);
|
||||
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;
|
||||
|
||||
if(func_803203FC(0xC4)){
|
||||
|
@ -190,7 +190,7 @@ void func_8038F7AC(Actor *this){
|
|||
this->position[0] = local->unkC[0];\
|
||||
this->position[1] = local->unkC[1];\
|
||||
this->position[2] = local->unkC[2];
|
||||
__spawnqueue_add_1(func_8038F758, this->marker);
|
||||
__spawnqueue_add_1(FP_func_8038F758, this->marker);
|
||||
local->unk30 = FALSE;
|
||||
}
|
||||
}//L8038F910
|
||||
|
@ -244,7 +244,7 @@ void func_8038F7AC(Actor *this){
|
|||
break;
|
||||
|
||||
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)){
|
||||
func_80328B8C(this, 6, 0.02f, 1);
|
||||
actor_loopAnimation(this);
|
||||
|
@ -252,7 +252,7 @@ void func_8038F7AC(Actor *this){
|
|||
break;
|
||||
|
||||
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_8028ECAC() == BSGROUP_A_FLYING ) break;
|
||||
|
||||
|
@ -266,7 +266,7 @@ void func_8038F7AC(Actor *this){
|
|||
break;
|
||||
|
||||
case 7: //L8038FC30
|
||||
if(!func_8038F6C4(this, local->unkC, 4.5f))
|
||||
if(!FP_func_8038F6C4(this, local->unkC, 4.5f))
|
||||
break;
|
||||
|
||||
if(func_80329530(this, 1000) || func_8028ECAC() == BSGROUP_A_FLYING){
|
||||
|
@ -294,7 +294,7 @@ void func_8038F7AC(Actor *this){
|
|||
}//L8038FD40
|
||||
|
||||
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);
|
||||
actor_playAnimationOnce(this);
|
||||
}
|
||||
|
@ -315,7 +315,7 @@ void func_8038F7AC(Actor *this){
|
|||
break;
|
||||
|
||||
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)){
|
||||
func_80328B8C(this, 10, 0.02f, 1);
|
||||
actor_loopAnimation(this);
|
||||
|
|
|
@ -2,21 +2,21 @@
|
|||
#include "functions.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);
|
||||
|
||||
/* .data */
|
||||
ActorInfo D_80391B50 = {
|
||||
MARKER_BA_XMAS_TREE, ACTOR_15F_XMAS_TREE, ASSET_488_MODEL_XMAS_TREE,
|
||||
0x1, NULL,
|
||||
chXmasTree_update, func_80326224, func_80386E30,
|
||||
chXmasTree_update, func_80326224, FP_func_80386E30,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
s32 chXmasTree_switch_spawn_position[3] = {-0x1220, 0x6A, 0x1945};
|
||||
|
||||
/* .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);
|
||||
func_8033A45C(5, this->unk38_31);
|
||||
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;
|
||||
mapSpecificFlags_set(0, this->unk38_31);
|
||||
|
||||
|
@ -49,14 +49,14 @@ void func_80386F3C(void){
|
|||
|
||||
void func_80386F84(Actor * this){
|
||||
func_80328A84(this, 2);
|
||||
func_80386EF4(this, 0);
|
||||
FP_func_80386EF4(this, 0);
|
||||
}
|
||||
|
||||
void func_80386FB4(void){
|
||||
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 *child = spawn_child_actor(0x339, &this);
|
||||
s32 pad;
|
||||
|
@ -99,7 +99,7 @@ void chXmasTree_update(Actor *this){
|
|||
sfxsource_setSampleRate(this->unk44_31, 28000);
|
||||
}
|
||||
func_802C3BF8(func_80386FB4);
|
||||
__spawnqueue_add_1(func_80386FE0, this->marker);
|
||||
__spawnqueue_add_1(FP_func_80386FE0, this->marker);
|
||||
if(func_8031FF1C(0x13)){
|
||||
func_80386F84(this);
|
||||
mapSpecificFlags_set(2, FALSE);
|
||||
|
@ -108,13 +108,13 @@ void chXmasTree_update(Actor *this){
|
|||
|
||||
this->unk124_9 = 1;
|
||||
if(jiggyscore_isCollected(JIGGY_2F_FP_XMAS_TREE) || levelSpecificFlags_get(0x29)){
|
||||
func_80386EF4(this, 1);
|
||||
FP_func_80386EF4(this, 1);
|
||||
return;
|
||||
}
|
||||
|
||||
switch(this->state){
|
||||
case 1: // L80387268
|
||||
func_80386EF4(this, 0);
|
||||
FP_func_80386EF4(this, 0);
|
||||
if(func_8031FF1C(0x13)){
|
||||
func_80386F84(this);
|
||||
}
|
||||
|
@ -133,14 +133,14 @@ void chXmasTree_update(Actor *this){
|
|||
case 3: // L803872F0
|
||||
if(0.0 <= this->unk60){
|
||||
if( 1.8 < this->unk60){
|
||||
func_80386EF4(this, 0);
|
||||
FP_func_80386EF4(this, 0);
|
||||
}
|
||||
else if(this->unk60 < 0.2){//L80387340
|
||||
func_80386EF4(this, 1);
|
||||
FP_func_80386EF4(this, 1);
|
||||
}
|
||||
else{
|
||||
if(randf() < 0.2){
|
||||
func_80386EF4(this, this->unk38_31 ^ 1);
|
||||
FP_func_80386EF4(this, this->unk38_31 ^ 1);
|
||||
func_8038709C(this);
|
||||
}
|
||||
}//L803873AC
|
||||
|
@ -149,7 +149,7 @@ void chXmasTree_update(Actor *this){
|
|||
else{//L803873BC
|
||||
if(func_802BB270()){
|
||||
func_80328A84(this, 4);
|
||||
func_80386EF4(this, 1);
|
||||
FP_func_80386EF4(this, 1);
|
||||
item_set(ITEM_0_HOURGLASS_TIMER, 3600 - 1);
|
||||
item_set(ITEM_6_HOURGLASS, TRUE);
|
||||
|
||||
|
@ -160,7 +160,7 @@ void chXmasTree_update(Actor *this){
|
|||
case 4: // L80387400
|
||||
if(mapSpecificFlags_get(3)){
|
||||
func_80328A84(this, 6);
|
||||
func_80386EF4(this, 1);
|
||||
FP_func_80386EF4(this, 1);
|
||||
item_set(ITEM_6_HOURGLASS, FALSE);
|
||||
tmp_a0 = this->unk44_31;
|
||||
if(tmp_a0){
|
||||
|
@ -189,14 +189,14 @@ void chXmasTree_update(Actor *this){
|
|||
case 5: // L803874EC
|
||||
if(0.0 <= this->unk60){
|
||||
if( 1.8 < this->unk60){
|
||||
func_80386EF4(this, 1);
|
||||
FP_func_80386EF4(this, 1);
|
||||
}
|
||||
else if(this->unk60 < 0.2){
|
||||
func_80386EF4(this, 0);
|
||||
FP_func_80386EF4(this, 0);
|
||||
}
|
||||
else{
|
||||
if(randf() < 0.2){
|
||||
func_80386EF4(this, this->unk38_31 ^ 1);
|
||||
FP_func_80386EF4(this, this->unk38_31 ^ 1);
|
||||
func_8038709C(this);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,12 +7,12 @@ extern s32 func_8024DB50(f32[3], f32);
|
|||
void func_80390EB0(Actor *this);
|
||||
|
||||
/* .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,
|
||||
func_80390EB0, func_80326224, func_80325340,
|
||||
2000, 0, 0.0f, 0
|
||||
};
|
||||
struct40s D_80392864;
|
||||
extern struct40s FP_D_80392864;
|
||||
s32 D_80392894[3];
|
||||
struct40s D_803928A0;
|
||||
s32 D_803928D0[3];
|
||||
|
@ -33,7 +33,7 @@ void func_80390C70(f32 position[3]){
|
|||
0.0f, 40.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]){
|
||||
|
|
|
@ -7,16 +7,16 @@
|
|||
|
||||
extern ActorInfo D_80367FE0;
|
||||
|
||||
extern ActorInfo D_80391A10;
|
||||
extern ActorInfo D_80391A60;
|
||||
extern ActorInfo D_80391AB0;
|
||||
extern ActorInfo FP_D_80391A10;
|
||||
extern ActorInfo FP_D_80391A60;
|
||||
extern ActorInfo FP_D_80391AB0;
|
||||
extern ActorInfo D_80391B50;
|
||||
extern ActorInfo D_80391BB0;
|
||||
extern ActorInfo D_80391C18;
|
||||
extern ActorInfo D_80391C58;
|
||||
extern ActorInfo D_80391CE8;
|
||||
extern ActorInfo D_80391E08;
|
||||
extern ActorInfo D_80391E2C;
|
||||
extern ActorInfo FP_D_80391E2C;
|
||||
extern ActorInfo D_80391E50;
|
||||
extern ActorInfo D_80391F88;
|
||||
extern ActorInfo D_80391FAC;
|
||||
|
@ -35,25 +35,25 @@ extern ActorInfo D_80392690;
|
|||
extern ActorInfo D_803926C0;
|
||||
extern ActorInfo D_80392700;
|
||||
extern ActorInfo D_80392730;
|
||||
extern ActorInfo D_80392840;
|
||||
extern ActorInfo FP_D_80392840;
|
||||
|
||||
void func_80391040(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_8039180C(Actor *this);
|
||||
void func_80391894(Actor *this);
|
||||
|
||||
/* .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_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_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_803929B8 = { 0x221, 0x22D, 0x4C6, 0x1, NULL, 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_80392A00 = { 0x223, 0x22F, 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, FP_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_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};
|
||||
|
@ -131,7 +131,7 @@ void func_80391180(Actor *this){
|
|||
}
|
||||
}
|
||||
|
||||
void func_80391254(Actor *this){
|
||||
void FP_func_80391254(Actor *this){
|
||||
func_802D3D74(this);
|
||||
if(!this->unk16C_4){
|
||||
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_80391C18, actor_new, 0X180084);
|
||||
spawnableActorList_add(&D_80391C58, actor_new, 0X180084);
|
||||
spawnableActorList_add(&D_80391CE8, actor_new, 0X2002E);
|
||||
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_80391F88, 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_803924D4, actor_new, 8);
|
||||
spawnableActorList_add(&D_803924F8, actor_new, 8);
|
||||
spawnableActorList_add(&D_80391A10, actor_new, 0);
|
||||
spawnableActorList_add(&D_80391A60, actor_new, 0X20);
|
||||
spawnableActorList_add(&FP_D_80391A10, actor_new, 0);
|
||||
spawnableActorList_add(&FP_D_80391A60, actor_new, 0X20);
|
||||
spawnableActorList_add(&D_80392588, actor_new, 0X80108);
|
||||
spawnableActorList_add(&D_80392628, actor_new, 0X44);
|
||||
spawnableActorList_add(&D_80392690, actor_new, 0XA8);
|
||||
spawnableActorList_add(&D_803926C0, actor_new, 0X8000400);
|
||||
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_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_80392928, actor_new, 0X40);
|
||||
spawnableActorList_add(&D_8039294C, actor_new, 0X40);
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
void chtoots_update(Actor *this);
|
||||
|
||||
/* .data */
|
||||
ActorAnimationInfo D_80390BD0[] = {
|
||||
ActorAnimationInfo GV_D_80390BD0[] = {
|
||||
{0x000, 0.0f},
|
||||
{ASSET_162_ANIM_TOOTS_IDLE, 5.0f},
|
||||
{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,
|
||||
0x1, D_80390BD0,
|
||||
0x1, GV_D_80390BD0,
|
||||
chtoots_update, func_80326224, func_80325888,
|
||||
2000, 0, 0.5f, 0
|
||||
};
|
||||
|
@ -23,12 +23,12 @@ s32 D_80391A30;
|
|||
s32 D_80391A34;
|
||||
|
||||
/* .code */
|
||||
void func_803863F0(Actor *this){
|
||||
void GV_func_803863F0(Actor *this){
|
||||
func_80328B8C(this, 1, 0.0001f, 1);
|
||||
D_80391A30 = FALSE;
|
||||
}
|
||||
|
||||
void func_80386420(Actor *this){
|
||||
void GV_func_80386420(Actor *this){
|
||||
func_80328B8C(this, 2, 0.0001f, 1);
|
||||
this->unk38_31 = 0x23;
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ void chtoots_update(Actor *this){
|
|||
func_80386464(this);
|
||||
}
|
||||
else if(D_80391A30 == TRUE){
|
||||
func_80386420(this);
|
||||
GV_func_80386420(this);
|
||||
}
|
||||
break;
|
||||
case 2://L80386540
|
||||
|
@ -64,12 +64,12 @@ void chtoots_update(Actor *this){
|
|||
}
|
||||
}
|
||||
else{
|
||||
func_803863F0(this);
|
||||
GV_func_803863F0(this);
|
||||
}
|
||||
break;
|
||||
case 3://L803865C8
|
||||
if(!D_80391A34)
|
||||
func_803863F0(this);
|
||||
GV_func_803863F0(this);
|
||||
break;
|
||||
}//L803865DC
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ void chgobi2_update(Actor *this);
|
|||
Actor *chgobi2_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
||||
|
||||
/* .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,
|
||||
NULL, chgobi2_update, chgobi2_draw,
|
||||
0, 0x533, 0.0f, 0
|
||||
|
@ -26,7 +26,7 @@ f32 D_80390CEC[3] = {1145.0f, 443.0f, 9197.0f};
|
|||
extern u8 D_80391A50;
|
||||
|
||||
/* .code */
|
||||
void func_80387960(void){
|
||||
void GV_func_80387960(void){
|
||||
func_8028F490(D_80390CD4);
|
||||
}
|
||||
|
||||
|
@ -43,7 +43,7 @@ void func_803879D4(ActorMarker *this_marker){
|
|||
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));
|
||||
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);
|
||||
timedFunc_set_0(3.5f, __chgobi2_spawnJIggy);
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -76,7 +76,7 @@ void chgobi2_setState(Actor *this, s32 next_state){
|
|||
}
|
||||
|
||||
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);
|
||||
func_80324E38(0.051f, 1);
|
||||
timedFunc_set_1(0.06f, (GenMethod_1)func_803879D4, reinterpret_cast(s32, this->marker));
|
||||
|
|
|
@ -17,9 +17,9 @@ void chancientone_update(Actor *this);
|
|||
Actor *chancientone_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
||||
|
||||
/* .data */
|
||||
s16 D_80390C20[4] = {5, 6, 7, 8};
|
||||
s16 GV_D_80390C20[4] = {5, 6, 7, 8};
|
||||
ActorMarker *D_80390C28[5] = {NULL};
|
||||
ActorAnimationInfo D_80390C3C[] = {
|
||||
ActorAnimationInfo GV_D_80390C3C[] = {
|
||||
{0, 0.0f},
|
||||
{0, 0.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,
|
||||
0x1, D_80390C3C,
|
||||
0x1, GV_D_80390C3C,
|
||||
chancientone_update, func_80326224, chancientone_draw,
|
||||
0, 0x100, 0.0f, 0
|
||||
};
|
||||
|
@ -48,19 +48,19 @@ void func_80386620(Actor *this){
|
|||
return;
|
||||
}
|
||||
|
||||
D_80390C20[0] = 5;
|
||||
D_80390C20[1] = 6;
|
||||
D_80390C20[2] = 7;
|
||||
D_80390C20[3] = 8;
|
||||
GV_D_80390C20[0] = 5;
|
||||
GV_D_80390C20[1] = 6;
|
||||
GV_D_80390C20[2] = 7;
|
||||
GV_D_80390C20[3] = 8;
|
||||
|
||||
phi_s3 = (randf() * 1.0737418e9f);
|
||||
phi_s2 = 1;
|
||||
phi_s1 = 0;
|
||||
while(phi_s2 != 0x40000000){
|
||||
if ((phi_s3 & phi_s2) != 0) {
|
||||
temp_a1 = D_80390C20[phi_s1];
|
||||
D_80390C20[phi_s1] = D_80390C20[phi_s1 + 1];
|
||||
D_80390C20[phi_s1 + 1] = temp_a1;
|
||||
temp_a1 = GV_D_80390C20[phi_s1];
|
||||
GV_D_80390C20[phi_s1] = GV_D_80390C20[phi_s1 + 1];
|
||||
GV_D_80390C20[phi_s1 + 1] = temp_a1;
|
||||
temp_a0 = D_80390C28[phi_s1 + 1];
|
||||
D_80390C28[phi_s1 + 1] = D_80390C28[phi_s1 + 2];
|
||||
D_80390C28[phi_s1 + 2] = temp_a0;
|
||||
|
@ -166,7 +166,7 @@ void chancientone_update(Actor *this){
|
|||
actor_playAnimationOnce(this);
|
||||
if(this->unkF4_8 < 5){
|
||||
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);
|
||||
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;
|
||||
for(i = 0; i < 5; i++){
|
||||
D_80390C28[i] = NULL;
|
||||
|
|
|
@ -24,7 +24,8 @@ ActorInfo D_80390D60 = { 0xBE, 0x130, 0x3E4,
|
|||
f32 D_80390D84[3] = {5644.0f, 2930.0f, -3258.0f};
|
||||
|
||||
/*.bss */
|
||||
u8 D_80391A60;
|
||||
u8 GV_pad1[0x10];
|
||||
u8 GV_D_80391A60;
|
||||
|
||||
/* .code */
|
||||
void func_80388B20(Actor *this, s32 next_state){
|
||||
|
@ -32,11 +33,11 @@ void func_80388B20(Actor *this, s32 next_state){
|
|||
|
||||
this->state = next_state;
|
||||
local->unk14 = 0.0f;
|
||||
D_80391A60 = FALSE;
|
||||
GV_D_80391A60 = FALSE;
|
||||
if(this->state == 2){
|
||||
this->marker->propPtr->unk8_3 = FALSE;
|
||||
local->unk14 = 2.6f;
|
||||
D_80391A60 = TRUE;
|
||||
GV_D_80391A60 = TRUE;
|
||||
func_8028F428(2, this->marker);
|
||||
FUNC_8030E624(SFX_9B_BOULDER_BREAKING_1, 0.3f, 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){
|
||||
return D_80391A60;
|
||||
return GV_D_80391A60;
|
||||
}
|
||||
|
||||
void func_80388D84(Actor *this){
|
||||
|
@ -103,7 +104,7 @@ void func_80388DC8(Actor *this){
|
|||
marker_setCollisionScripts(this->marker, NULL, NULL, func_80388C24);
|
||||
local->unkC = particleEmitter_new(20);
|
||||
local->unk10 = particleEmitter_new(30);
|
||||
D_80391A60 = FALSE;
|
||||
GV_D_80391A60 = FALSE;
|
||||
sp28 = func_80326D68(this->position, ACTOR_12E_GOBI_1, -1, &sp2C);
|
||||
if(sp28){
|
||||
this->position_x = sp28->position_x;
|
||||
|
|
|
@ -15,7 +15,7 @@ ActorInfo D_80390D90 = {
|
|||
};
|
||||
|
||||
/* .code */
|
||||
void func_80388F70(Actor *this, s32 next_state){
|
||||
void GV_func_80388F70(Actor *this, s32 next_state){
|
||||
this->state = next_state;
|
||||
if(this->state == 1){
|
||||
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);
|
||||
mapSpecificFlags_set(0xC, FALSE);
|
||||
if(jiggyscore_isSpawned(JIGGY_45_GV_GOBI_2) && !func_803203FC(1)){
|
||||
func_80388F70(this, 3);
|
||||
GV_func_80388F70(this, 3);
|
||||
}
|
||||
else{//L803891CC
|
||||
func_80388F70(this, 1);
|
||||
GV_func_80388F70(this, 1);
|
||||
}
|
||||
}//L803891D8
|
||||
if( this->state == 1
|
||||
|
@ -87,5 +87,5 @@ void func_80389144(Actor *this){
|
|||
}
|
||||
|
||||
if(sp28)
|
||||
func_80388F70(this, sp28);
|
||||
GV_func_80388F70(this, sp28);
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ extern ActorAnimationInfo D_80390DC0[]={
|
|||
{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,
|
||||
func_8038938C, func_80326224, func_803892D0,
|
||||
2500, 0, 0.0f, 0
|
||||
|
|
|
@ -9,7 +9,7 @@ void func_80389634(Actor *this);
|
|||
void func_803898B8(Actor *this);
|
||||
|
||||
/* .data */
|
||||
ActorAnimationInfo D_80390E00[] = {
|
||||
ActorAnimationInfo GV_D_80390E00[] = {
|
||||
{0x00, 0.0f},
|
||||
{0xCD, 8000000.0f},
|
||||
{0xCD, 2.5f},
|
||||
|
@ -18,14 +18,14 @@ ActorAnimationInfo D_80390E00[] = {
|
|||
{0xCD, 4.5f},
|
||||
};
|
||||
|
||||
ActorInfo D_80390E30 = { 0xA8, 0x11A, 0x33D,
|
||||
0x1, D_80390E00,
|
||||
ActorInfo GV_D_80390E30 = { 0xA8, 0x11A, 0x33D,
|
||||
0x1, GV_D_80390E00,
|
||||
func_80389634, func_80326224, func_80325888,
|
||||
2500, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
ActorInfo D_80390E54 = { 0x23B, 0x244, 0x33D,
|
||||
0x1, D_80390E00,
|
||||
0x1, GV_D_80390E00,
|
||||
func_803898B8, func_80326224, func_80325888,
|
||||
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};
|
||||
|
||||
/* .code */
|
||||
void func_803894B0(Actor *this){
|
||||
void GV_func_803894B0(Actor *this){
|
||||
this->marker->propPtr->unk8_3 = TRUE;
|
||||
actor_collisionOff(this);
|
||||
func_80328B8C(this, 1, 0.01f, 1);
|
||||
|
@ -68,7 +68,7 @@ void func_80389634(Actor *this){
|
|||
switch(this->state){
|
||||
case 1: //L80389680
|
||||
if(!this->initialized){
|
||||
func_803894B0(this);
|
||||
GV_func_803894B0(this);
|
||||
}
|
||||
if(func_80329530(this, 500) && func_8038957C(this)){
|
||||
func_80328B8C(this, 2, 0.01f, 1);
|
||||
|
@ -120,7 +120,7 @@ void func_80389634(Actor *this){
|
|||
|
||||
void func_803898B8(Actor *this){
|
||||
if(!this->initialized){
|
||||
func_803894B0(this);
|
||||
GV_func_803894B0(this);
|
||||
if(func_8031FF1C(BKPROG_A4_UNKOWN))
|
||||
func_80328B8C(this, 3, 0.5f, 1);
|
||||
this->unk1C[0] = 0.0f;
|
||||
|
|
|
@ -2,22 +2,22 @@
|
|||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
void func_80389E90(Actor *this);
|
||||
void func_80389EA8(Actor *this);
|
||||
void GV_func_80389E90(Actor *this);
|
||||
void GV_func_80389EA8(Actor *this);
|
||||
|
||||
/* .data */
|
||||
ActorInfo D_80390F00 = { MARKER_AB_RUBEES_EGG_POT, ACTOR_11D_RUBEES_EGG_POT, ASSET_3E1_MODEL_RUBEES_EGG_POT,
|
||||
0x1, NULL,
|
||||
func_80389E90, func_80389EA8, func_80325888,
|
||||
GV_func_80389E90, GV_func_80389EA8, func_80325888,
|
||||
2500, 0, 0.9f, 0
|
||||
};
|
||||
|
||||
/* .code */
|
||||
void func_80389E90(Actor *this){
|
||||
void GV_func_80389E90(Actor *this){
|
||||
this->marker->propPtr->unk8_3 = FALSE;
|
||||
}
|
||||
|
||||
void func_80389EA8(Actor *this){
|
||||
void GV_func_80389EA8(Actor *this){
|
||||
this->marker->propPtr->unk8_3 = FALSE;
|
||||
this->unk4C = 100 + 40*func_8038E178();
|
||||
func_80343DEC(this);
|
||||
|
|
|
@ -4,12 +4,12 @@
|
|||
|
||||
extern int func_8024DB50(f32[3], f32);
|
||||
|
||||
void func_8038A084(Actor *this);
|
||||
void GV_func_8038A084(Actor *this);
|
||||
|
||||
/* .data */
|
||||
ActorInfo D_80390F40 = { 0x24F, 0x37C, 0x0,
|
||||
0, NULL,
|
||||
func_8038A084, func_80326224, func_80325340,
|
||||
GV_func_8038A084, func_80326224, func_80325340,
|
||||
2000, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@ -45,7 +45,7 @@ void func_80389FA0(f32 position[3]){
|
|||
func_802EFC28(pCtrl, &D_80390F64);
|
||||
}
|
||||
|
||||
void func_8038A084(Actor *this){
|
||||
void GV_func_8038A084(Actor *this){
|
||||
if(this->unkF4_8 == 6 && !this->unk16C_4){
|
||||
this->unk16C_4 = TRUE;
|
||||
if( jiggyscore_isCollected(JIGGY_42_GV_WATER_PYRAMID) && this->yaw == 1.0f){
|
||||
|
|
|
@ -7,7 +7,7 @@ void func_80329904(ActorMarker *, s32, void *);
|
|||
|
||||
|
||||
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);
|
||||
|
||||
/* .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,
|
||||
0x1, D_80391000,
|
||||
func_8038A948, func_8038A9C0, func_8038A7A0,
|
||||
func_8038A948, GV_func_8038A9C0, func_8038A7A0,
|
||||
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;
|
||||
if(!this->initialized){
|
||||
this->initialized = TRUE;
|
||||
|
|
|
@ -34,7 +34,7 @@ struct43s D_803910D4 = {
|
|||
};
|
||||
|
||||
/* .bss */
|
||||
f32 D_80391A70[3];
|
||||
f32 GV_D_80391A70[3];
|
||||
|
||||
/* .code */
|
||||
void func_8038AB30(ParticleEmitter *pCtrl, f32 position[3], s32 cnt){
|
||||
|
@ -233,15 +233,15 @@ void func_8038B124(Actor *this){
|
|||
func_8038ABD8(this->position, 8);
|
||||
}
|
||||
else{
|
||||
D_80391A70[0] = 2*this->unk28;
|
||||
D_80391A70[1] = 0.0f;
|
||||
D_80391A70[2] = 0.0f;
|
||||
ml_vec3f_yaw_rotate_copy(D_80391A70, D_80391A70, this->yaw - 90.0);
|
||||
GV_D_80391A70[0] = 2*this->unk28;
|
||||
GV_D_80391A70[1] = 0.0f;
|
||||
GV_D_80391A70[2] = 0.0f;
|
||||
ml_vec3f_yaw_rotate_copy(GV_D_80391A70, GV_D_80391A70, this->yaw - 90.0);
|
||||
|
||||
D_80391A70[0] = D_80391A70[0] + this->position[0];
|
||||
D_80391A70[1] = D_80391A70[1] + this->position[1];
|
||||
D_80391A70[2] = D_80391A70[2] + this->position[2];
|
||||
func_8038ABD8(D_80391A70, 1);
|
||||
GV_D_80391A70[0] = GV_D_80391A70[0] + this->position[0];
|
||||
GV_D_80391A70[1] = GV_D_80391A70[1] + this->position[1];
|
||||
GV_D_80391A70[2] = GV_D_80391A70[2] + this->position[2];
|
||||
func_8038ABD8(GV_D_80391A70, 1);
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -261,10 +261,10 @@ void func_8038B124(Actor *this){
|
|||
|
||||
case 5: //L8038B67C
|
||||
if(this->marker->unk14_21 && actor_animationIsAt(this, 0.79f)){
|
||||
func_8034A174(this->marker->unk44, 5, D_80391A70);
|
||||
func_8038ACEC(D_80391A70, 2);
|
||||
func_8034A174(this->marker->unk44, 6, D_80391A70);
|
||||
func_8038ACEC(D_80391A70, 3);
|
||||
func_8034A174(this->marker->unk44, 5, GV_D_80391A70);
|
||||
func_8038ACEC(GV_D_80391A70, 2);
|
||||
func_8034A174(this->marker->unk44, 6, GV_D_80391A70);
|
||||
func_8038ACEC(GV_D_80391A70, 3);
|
||||
func_802BB3DC(0, 18.0f, 0.92f);
|
||||
func_8030E878(SFX_3_DULL_CANNON_SHOT, 1.0f, 32000, this->position, 2250.0f, 4500.0f);
|
||||
}//L8038B734
|
||||
|
@ -304,12 +304,12 @@ void func_8038B124(Actor *this){
|
|||
case 9: //L8038B870
|
||||
func_80328A84(this, 0xA);
|
||||
func_8038ACEC(this->position, 2);
|
||||
func_8034A174(this->marker->unk44, 5, D_80391A70);
|
||||
func_8038ACEC(D_80391A70, 2);
|
||||
func_8038ADFC(D_80391A70, 3);
|
||||
func_8034A174(this->marker->unk44, 6, D_80391A70);
|
||||
func_8038ACEC(D_80391A70, 3);
|
||||
func_8038ADFC(D_80391A70, 2);
|
||||
func_8034A174(this->marker->unk44, 5, GV_D_80391A70);
|
||||
func_8038ACEC(GV_D_80391A70, 2);
|
||||
func_8038ADFC(GV_D_80391A70, 3);
|
||||
func_8034A174(this->marker->unk44, 6, GV_D_80391A70);
|
||||
func_8038ACEC(GV_D_80391A70, 3);
|
||||
func_8038ADFC(GV_D_80391A70, 2);
|
||||
break;
|
||||
|
||||
case 10: //L8038B900
|
||||
|
|
|
@ -9,7 +9,7 @@ typedef struct {
|
|||
s32 unk0;
|
||||
}ActorLocal_Grabba;
|
||||
|
||||
void func_8038BEA0(Actor *this);
|
||||
void GV_func_8038BEA0(Actor *this);
|
||||
|
||||
/* .data */
|
||||
ActorAnimationInfo D_80391120[] ={
|
||||
|
@ -24,7 +24,7 @@ ActorAnimationInfo D_80391120[] ={
|
|||
|
||||
ActorInfo D_80391158 = { MARKER_A6_GRABBA, ACTOR_118_GRABBA, ASSET_371_MODEL_GRABBA,
|
||||
0x1, D_80391120,
|
||||
func_8038BEA0, func_80326224, func_80325888,
|
||||
GV_func_8038BEA0, func_80326224, func_80325888,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@ -153,7 +153,7 @@ void func_8038BD8C(f32 position[3], s32 cnt){
|
|||
particleEmitter_emitN(pCtrl, cnt);
|
||||
}
|
||||
|
||||
void func_8038BEA0(Actor *this){
|
||||
void GV_func_8038BEA0(Actor *this){
|
||||
ActorLocal_Grabba *local = (ActorLocal_Grabba *)&this->local;
|
||||
f32 sp38[3];
|
||||
|
||||
|
@ -318,6 +318,6 @@ void func_8038BEA0(Actor *this){
|
|||
}//L8038C5AC
|
||||
}
|
||||
|
||||
s32 func_8038C5BC(void){
|
||||
s32 GV_func_8038C5BC(void){
|
||||
return D_80391A80;
|
||||
}
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
void func_8038C658(Actor *this);
|
||||
Actor *func_8038C5D0(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
||||
void GV_func_8038C658(Actor *this);
|
||||
Actor *GV_func_8038C5D0(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx);
|
||||
|
||||
/* .data */
|
||||
ActorAnimationInfo D_80391190[] = {
|
||||
|
@ -17,32 +17,33 @@ ActorAnimationInfo D_80391190[] = {
|
|||
|
||||
ActorInfo D_803911C0 = { 0xAC, 0x11E, 0x3E5,
|
||||
0, D_80391190,
|
||||
func_8038C658, func_80326224, func_8038C5D0,
|
||||
GV_func_8038C658, func_80326224, GV_func_8038C5D0,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
/* .bss */
|
||||
s32 D_80391A90;
|
||||
u8 GV_pad2[0x10];
|
||||
s32 GV_D_80391A90;
|
||||
|
||||
/* .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);
|
||||
if( this->state == 2
|
||||
|| this->state == 3
|
||||
|| this->state == 4
|
||||
|| this->state == 5
|
||||
){
|
||||
if(!D_80391A90)
|
||||
if(!GV_D_80391A90)
|
||||
return func_80325888(this_marker, gfx, mtx, vtx);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
void func_8038C658(Actor *this){
|
||||
void GV_func_8038C658(Actor *this){
|
||||
s32 sp24;
|
||||
if(!this->initialized){
|
||||
actor_collisionOff(this);
|
||||
D_80391A90 = FALSE;
|
||||
GV_D_80391A90 = FALSE;
|
||||
this->initialized = TRUE;
|
||||
this->position_y += 4.0f;
|
||||
}
|
||||
|
@ -51,13 +52,13 @@ void func_8038C658(Actor *this){
|
|||
this->unk16C_4 = TRUE;
|
||||
func_80328B8C(this, this->state, 0.01f, 1);
|
||||
}
|
||||
sp24 = func_8038C5BC();
|
||||
if(D_80391A90)
|
||||
sp24 = GV_func_8038C5BC();
|
||||
if(GV_D_80391A90)
|
||||
marker_despawn(this->marker);
|
||||
if(this->state != sp24)
|
||||
func_80328A84(this, sp24);
|
||||
}
|
||||
|
||||
void func_8038C748(void){
|
||||
D_80391A90 = TRUE;
|
||||
GV_D_80391A90 = TRUE;
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ ActorInfo D_80391318 = { 0xAA, 0x11C, 0x3DE,
|
|||
extern struct {
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
}D_80391AB0;
|
||||
}GV_D_80391AB0;
|
||||
extern s32 D_80391AB8;
|
||||
|
||||
/* .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);
|
||||
animctrl_setPlaybackType(this->animctrl, ANIMCTRL_STOPPED);
|
||||
}
|
||||
|
||||
void func_8038DB4C(s32 arg0){
|
||||
D_80391AB0.unk0 = arg0;
|
||||
GV_D_80391AB0.unk0 = arg0;
|
||||
}
|
||||
|
||||
void func_8038DB58(s32 arg0){
|
||||
D_80391AB0.unk4 = arg0;
|
||||
GV_D_80391AB0.unk4 = arg0;
|
||||
}
|
||||
|
||||
s32 func_8038DB64(void){
|
||||
return D_80391AB0.unk4;
|
||||
return GV_D_80391AB0.unk4;
|
||||
}
|
||||
|
||||
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
|
||||
func_8038DB0C(this);
|
||||
GV_func_8038DB0C(this);
|
||||
func_8038DB88(this);
|
||||
}
|
||||
else{ //L8038DDC0
|
||||
|
@ -211,7 +211,7 @@ void func_8038DBDC(Actor *this){
|
|||
break;
|
||||
case 6: //8038E080
|
||||
if(actor_animationIsAt(this, 0.89f)){
|
||||
func_8038DB0C(this);
|
||||
GV_func_8038DB0C(this);
|
||||
func_8038DB88(this);
|
||||
}
|
||||
else{
|
||||
|
|
|
@ -6,16 +6,16 @@ struct {
|
|||
s32 unk0;
|
||||
u8 pad4[4];
|
||||
s32 unk8;
|
||||
}D_80391AB0;
|
||||
}GV_D_80391AB0;
|
||||
|
||||
/* .code */
|
||||
void func_8038E140(void){
|
||||
D_80391AB0.unk0++;
|
||||
GV_D_80391AB0.unk0++;
|
||||
func_8025A6EC(COMUSIC_2B_DING_B, 26000);
|
||||
}
|
||||
|
||||
s32 func_8038E178(void){
|
||||
return D_80391AB0.unk0;
|
||||
return GV_D_80391AB0.unk0;
|
||||
}
|
||||
|
||||
s32 func_8038E184(void){
|
||||
|
@ -23,5 +23,5 @@ s32 func_8038E184(void){
|
|||
}
|
||||
|
||||
void func_8038E18C(void){
|
||||
D_80391AB0.unk8 = TRUE;
|
||||
GV_D_80391AB0.unk8 = TRUE;
|
||||
}
|
||||
|
|
|
@ -5,18 +5,18 @@
|
|||
void func_8038E3B0(Actor *this);
|
||||
|
||||
/* .data */
|
||||
ActorAnimationInfo D_80391380[] = {
|
||||
ActorAnimationInfo GV_D_80391380[] = {
|
||||
{0, 0.0f},
|
||||
{0, 0.0f}
|
||||
};
|
||||
ActorInfo D_80391390 = { 0xFA, 0x1F8, 0x423,
|
||||
0x1, D_80391380,
|
||||
ActorInfo GV_D_80391390 = { 0xFA, 0x1F8, 0x423,
|
||||
0x1, GV_D_80391380,
|
||||
func_8038E3B0, func_80326224, func_80325888,
|
||||
0, 0x100, 0.0f, 0
|
||||
};
|
||||
|
||||
ActorInfo D_803913B4 = { 0xFB, 0x1F9, 0x424,
|
||||
0x1, D_80391380,
|
||||
0x1, GV_D_80391380,
|
||||
func_8038E3B0, func_80326224, func_80325888,
|
||||
0, 0x100, 0.0f, 0
|
||||
};
|
||||
|
|
|
@ -16,11 +16,11 @@ extern ActorInfo D_80390C5C;
|
|||
extern ActorInfo D_80390C80;
|
||||
extern ActorInfo D_80390D30;
|
||||
extern ActorInfo D_80390D60;
|
||||
extern ActorInfo D_80390CB0;
|
||||
extern ActorInfo GV_D_80390CB0;
|
||||
extern ActorInfo D_80390D00;
|
||||
extern ActorInfo D_80390D90;
|
||||
extern ActorInfo D_80390DD0;
|
||||
extern ActorInfo D_80390E30;
|
||||
extern ActorInfo GV_D_80390DD0;
|
||||
extern ActorInfo GV_D_80390E30;
|
||||
extern ActorInfo D_80390E54;
|
||||
extern ActorInfo D_80390ED0;
|
||||
extern ActorInfo D_80390F00;
|
||||
|
@ -36,7 +36,7 @@ extern ActorInfo D_80391260;
|
|||
extern ActorInfo D_80391318;
|
||||
extern ActorInfo D_80391358;
|
||||
extern ActorInfo D_803912B8;
|
||||
extern ActorInfo D_80391390;
|
||||
extern ActorInfo GV_D_80391390;
|
||||
extern ActorInfo D_803913B4;
|
||||
extern ActorInfo D_80390F40;
|
||||
extern ActorInfo D_80391494;
|
||||
|
@ -44,8 +44,8 @@ extern ActorInfo D_803915C0;
|
|||
extern ActorInfo D_80391620;
|
||||
extern ActorInfo D_803914B8;
|
||||
extern ActorInfo D_803914DC;
|
||||
extern ActorInfo D_80391500;
|
||||
extern ActorInfo D_80391524;
|
||||
extern ActorInfo GV_D_80391500;
|
||||
extern ActorInfo GV_D_80391524;
|
||||
extern ActorInfo D_8039156C;
|
||||
extern ActorInfo D_80391428;
|
||||
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
|
||||
};
|
||||
|
||||
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,
|
||||
chKazooieDoor_update, func_80326224, func_80325F2C,
|
||||
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,
|
||||
func_8038E648, func_80326224, func_80325F2C,
|
||||
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?
|
||||
}
|
||||
|
||||
void func_8038F154(void)
|
||||
void GV_func_8038F154(void)
|
||||
{
|
||||
spawnableActorList_add(&D_80390BF0, actor_new, 0X180);
|
||||
spawnableActorList_add(&D_80390C5C, actor_new, 0X58A);
|
||||
spawnableActorList_add(&D_80390C80, actor_new, 0X9A8);
|
||||
spawnableActorList_add(&D_80390D30, actor_new, 0X880);
|
||||
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_80390D90, actor_new, 0XD80);
|
||||
spawnableActorList_add(&D_80390DD0, actor_new, 0X4004);
|
||||
spawnableActorList_add(&D_80390E30, actor_new, 0X448);
|
||||
spawnableActorList_add(&GV_D_80390DD0, actor_new, 0X4004);
|
||||
spawnableActorList_add(&GV_D_80390E30, actor_new, 0X448);
|
||||
spawnableActorList_add(&D_80390E54, actor_new, 0X48);
|
||||
spawnableActorList_add(&D_80390ED0, actor_new, 0X180);
|
||||
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_80391358, actor_new, 0X518);
|
||||
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_80390F40, actor_new, 0);
|
||||
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_803914B8, actor_new, 0X400);
|
||||
spawnableActorList_add(&D_803914DC, actor_new, 0X400);
|
||||
spawnableActorList_add(&D_80391500, actor_new, 0X400);
|
||||
spawnableActorList_add(&D_80391524, actor_new, 0X400);
|
||||
spawnableActorList_add(&GV_D_80391500, actor_new, 0X400);
|
||||
spawnableActorList_add(&GV_D_80391524, actor_new, 0X400);
|
||||
spawnableActorList_add(&D_8039156C, actor_new, 0X400);
|
||||
spawnableActorList_add(&D_80391428, actor_new, 8);
|
||||
spawnableActorList_add(&D_8039144C, actor_new, 8);
|
||||
|
|
|
@ -30,7 +30,7 @@ Struct_GV_9DB0_1 D_80391650[] = {
|
|||
{0x19F, 7, 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 */
|
||||
extern struct {
|
||||
|
@ -63,7 +63,7 @@ void func_80390218(void *arg0){
|
|||
}
|
||||
|
||||
void func_80390248(void){
|
||||
jiggySpawn(JIGGY_40_GV_MATCHING_GAME, D_803916D8);
|
||||
jiggySpawn(JIGGY_40_GV_MATCHING_GAME, GV_D_803916D8);
|
||||
}
|
||||
|
||||
//matchingGame_setState
|
||||
|
|
|
@ -3,10 +3,11 @@
|
|||
#include "variables.h"
|
||||
|
||||
/* .bss */
|
||||
u8 GV_pad3[0x40];
|
||||
struct {
|
||||
u8 unk0;
|
||||
f32 unk4;
|
||||
}D_80391B00;
|
||||
}GV_D_80391B00;
|
||||
|
||||
/* .code */
|
||||
void func_80390880(void){
|
||||
|
@ -20,8 +21,8 @@ void func_80390880(void){
|
|||
|
||||
void func_803908C4(s32 arg0){
|
||||
void *tmp_v0;
|
||||
D_80391B00.unk0 = arg0;
|
||||
if(D_80391B00.unk0 == 2){
|
||||
GV_D_80391B00.unk0 = arg0;
|
||||
if(GV_D_80391B00.unk0 == 2){
|
||||
func_80324E38(0.0f, 3);
|
||||
timed_setCameraToNode(0.0f, 0);
|
||||
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);
|
||||
func_803228D8();
|
||||
func_803204E4(0xe, 1);
|
||||
|
@ -51,7 +52,7 @@ void func_803909F4(void){
|
|||
void *tmp_v0_2;
|
||||
|
||||
|
||||
D_80391B00.unk0 = 0;
|
||||
GV_D_80391B00.unk0 = 0;
|
||||
if(map_get() != MAP_15_GV_WATER_PYRAMID) return;
|
||||
|
||||
if(jiggyscore_isCollected(JIGGY_42_GV_WATER_PYRAMID)){
|
||||
|
@ -64,7 +65,7 @@ void func_803909F4(void){
|
|||
func_8034E71C(tmp_v0_2, -1460, 0.0f);
|
||||
}
|
||||
else{
|
||||
D_80391B00.unk4 = 0.0f;
|
||||
GV_D_80391B00.unk4 = 0.0f;
|
||||
func_803908C4(1);
|
||||
}
|
||||
}
|
||||
|
@ -75,23 +76,23 @@ void func_80390A94(void){
|
|||
|
||||
time_delta = time_getDelta();
|
||||
|
||||
if(!D_80391B00.unk0) return;
|
||||
if(!GV_D_80391B00.unk0) return;
|
||||
|
||||
if(D_80391B00.unk0 == 1){
|
||||
if(0.0f < D_80391B00.unk4){
|
||||
D_80391B00.unk4 -= time_delta;
|
||||
if(D_80391B00.unk4 <= 0.0f){
|
||||
if(GV_D_80391B00.unk0 == 1){
|
||||
if(0.0f < GV_D_80391B00.unk4){
|
||||
GV_D_80391B00.unk4 -= time_delta;
|
||||
if(GV_D_80391B00.unk4 <= 0.0f){
|
||||
func_803908C4(2);
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(jiggyscore_isCollected(JIGGY_42_GV_WATER_PYRAMID)){
|
||||
D_80391B00.unk4 = 0.01f;
|
||||
GV_D_80391B00.unk4 = 0.01f;
|
||||
}
|
||||
}
|
||||
}//L80390B34
|
||||
|
||||
if(D_80391B00.unk0 == 2){
|
||||
if(GV_D_80391B00.unk0 == 2){
|
||||
tmp_v0 = func_8034C528(0x190);
|
||||
if(tmp_v0 && func_8034DC78(tmp_v0) == 1){
|
||||
func_8030E760(SFX_7F_HEAVYDOOR_SLAM, 0.8f, 0x7fd0);
|
||||
|
|
|
@ -24,20 +24,22 @@ ActorInfo D_80390C80 = { MARKER_BC_GOBI_1, ACTOR_12E_GOBI_1, ASSET_3E0_MODEL_GOB
|
|||
0, 0x533, 0.0f, 0
|
||||
};
|
||||
|
||||
|
||||
/* .bss */
|
||||
u8 GV_pad0[0x10];
|
||||
struct {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
}D_80391A40;
|
||||
}GV_D_80391A40;
|
||||
|
||||
|
||||
/* .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;
|
||||
|
||||
this->state = next_state;
|
||||
D_80391A40.unk0 = FALSE;
|
||||
D_80391A40.unk1 = FALSE;
|
||||
GV_D_80391A40.unk0 = FALSE;
|
||||
GV_D_80391A40.unk1 = FALSE;
|
||||
|
||||
if(this->state == 1){
|
||||
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){
|
||||
func_80335924(this->unk148, 0xda, 1.0f, 5.0f);
|
||||
local->unkC = 0.9f;
|
||||
D_80391A40.unk0 = TRUE;
|
||||
GV_D_80391A40.unk0 = TRUE;
|
||||
}
|
||||
|
||||
if(this->state == 3){
|
||||
func_8028F918(2);
|
||||
func_80335924(this->unk148, 0xf7, 1.0f, 5.33f);
|
||||
local->unk14 = 0.01f;
|
||||
D_80391A40.unk1 = TRUE;
|
||||
GV_D_80391A40.unk1 = TRUE;
|
||||
}
|
||||
|
||||
if(this->state == 4){
|
||||
|
@ -78,16 +80,16 @@ Actor *chgobi1_draw(ActorMarker *this_marker, Gfx **gfx, Mtx **mtx, Vtx **vtx){
|
|||
}
|
||||
|
||||
s32 func_80387354(void){
|
||||
return D_80391A40.unk0;
|
||||
return GV_D_80391A40.unk0;
|
||||
}
|
||||
|
||||
s32 func_80387360(void){
|
||||
return D_80391A40.unk1;
|
||||
return GV_D_80391A40.unk1;
|
||||
}
|
||||
|
||||
void func_8038736C(Actor *this){
|
||||
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[1]);
|
||||
}
|
||||
|
@ -118,8 +120,8 @@ void func_80387408(Actor *this){
|
|||
marker->unk30 = func_8038736C;
|
||||
marker->propPtr->unk8_3 = TRUE;
|
||||
marker->collidable = TRUE;
|
||||
D_80391A40.unk0 = 0;
|
||||
D_80391A40.unk1 = 0;
|
||||
GV_D_80391A40.unk0 = 0;
|
||||
GV_D_80391A40.unk1 = 0;
|
||||
local->unk0[0] = func_8030D90C();
|
||||
local->unk0[1] = func_8030D90C();
|
||||
local->unk8 = 0.0f;
|
||||
|
@ -128,7 +130,7 @@ void func_80387408(Actor *this){
|
|||
local->unk14 = 0.0f;
|
||||
this->unk1C[0] = 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)){
|
||||
marker_despawn(this->marker);
|
||||
}
|
||||
|
@ -228,5 +230,5 @@ void func_80387408(Actor *this){
|
|||
this->unk1C[0] = 0.0f;
|
||||
|
||||
if(sp6C)
|
||||
func_80387150(this, sp6C);
|
||||
GV_func_80387150(this, sp6C);
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ void func_80328B8C(Actor*, s32, f32, s32);
|
|||
void func_802C8F70(f32);
|
||||
void func_80324E88(f32);
|
||||
Actor *func_8032811C(s32 actor_id, s32 position[3], s32 yaw);
|
||||
void func_80387F44(void);
|
||||
void MM_func_80387F44(void);
|
||||
|
||||
void func_803876D0(Actor *);
|
||||
|
||||
|
@ -48,7 +48,7 @@ ActorAnimationInfo chCongaAnimations[9] = {
|
|||
{ASSET_52_ANIM_CONGA_OW, 1.0f}
|
||||
};
|
||||
|
||||
ActorInfo D_80389998 = { MARKER_7_CONGA, ACTOR_8_CONGA, ASSET_35C_MODEL_CONGA,
|
||||
ActorInfo chcongaInfo = { MARKER_7_CONGA, ACTOR_8_CONGA, ASSET_35C_MODEL_CONGA,
|
||||
1, chCongaAnimations,
|
||||
func_803876D0, func_80326224, func_80325888,
|
||||
0, 0x333, 0.0f, 0
|
||||
|
@ -180,7 +180,7 @@ void func_803873C8(ActorMarker *congaMarker){
|
|||
f32 iVelY;
|
||||
|
||||
congaPtr->unk10_12 -= (congaPtr->unk10_12 && ( conga_state == 7));
|
||||
func_80387F44();
|
||||
MM_func_80387F44();
|
||||
congaPtr->unk28 = 2.0f;
|
||||
orangePtr = func_8032811C(ACTOR_14_ORANGE_PROJECTILE, conga_localPtr->orangeSpawnPosition, congaPtr->yaw);
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ void func_80388300(Actor **arg0){
|
|||
if(arg0);
|
||||
}
|
||||
|
||||
void func_803883AC(Actor *this){
|
||||
void MM_func_803883AC(Actor *this){
|
||||
f32 sp2C;
|
||||
f32 sp28;
|
||||
static D_80389A5C = 0;
|
||||
|
@ -85,7 +85,7 @@ void func_803885D0(Actor *this){
|
|||
func_80343DEC(this);
|
||||
}else{//L80388630
|
||||
if(func_80329530(this, 0x2BC) && !func_803114B0()){
|
||||
func_803883AC(this);
|
||||
MM_func_803883AC(this);
|
||||
}//L8038865C
|
||||
switch(this->state){
|
||||
case 1://L80388690
|
||||
|
|
|
@ -11,13 +11,13 @@
|
|||
f32 func_80309724(f32*);
|
||||
|
||||
/* public functions */
|
||||
void func_80387FF4(Actor *this);
|
||||
void MM_func_80387FF4(Actor *this);
|
||||
Actor* func_80388188(ActorMarker *, Gfx **, Mtx**, Vtx**);
|
||||
|
||||
/* .data */
|
||||
ActorInfo chorangeInfo = { MARKER_C_ORANGE_PROJECTILE, ACTOR_14_ORANGE_PROJECTILE, ASSET_2D2_MODEL_ORANGE,
|
||||
1, NULL,
|
||||
func_80387FF4, func_80326224, func_80388188,
|
||||
MM_func_80387FF4, func_80326224, func_80388188,
|
||||
0, 0, 0.6f, 0
|
||||
};
|
||||
|
||||
|
@ -35,7 +35,7 @@ void func_80387F90(ActorMarker *arg0, ActorMarker *other_marker){
|
|||
if(arg0);
|
||||
}
|
||||
|
||||
void func_80387FF4(Actor * this){
|
||||
void MM_func_80387FF4(Actor * this){
|
||||
f32 temp_f2;
|
||||
f32 temp_f0;
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ ActorInfo chorangepadInfo = { MARKER_66_ORANGE_PAD, ACTOR_57_ORANGE_PAD, ASSET_2
|
|||
};
|
||||
|
||||
/*.code */
|
||||
void func_803863F0(s32 x, s32 y, s32 z){
|
||||
void MM_func_803863F0(s32 x, s32 y, s32 z){
|
||||
f32 pos[3];
|
||||
|
||||
TUPLE_ASSIGN(pos, x, y, z);
|
||||
|
@ -49,7 +49,7 @@ void func_80386444(ActorMarker *arg0){
|
|||
|
||||
func_802BAFE4(temp_a0);
|
||||
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);
|
||||
if(!jiggyscore_isCollected(JIGGY_8_MM_ORANGE_PADS)){
|
||||
func_80311480(0xB3B, 4, NULL, NULL, NULL, NULL);
|
||||
|
|
|
@ -15,7 +15,7 @@ extern ActorInfo chjujuInfo;
|
|||
extern ActorInfo chorangepadInfo;
|
||||
extern ActorInfo chlmonkeyInfo;
|
||||
|
||||
void func_803888B0(void){
|
||||
void MM_func_803888B0(void){
|
||||
spawnableActorList_add( &chhutInfo, actor_new, 0X400);
|
||||
spawnableActorList_add( &chchimpystump, actor_new, 0x0);
|
||||
spawnableActorList_add( &chgrublinInfo, actor_new, 0X2000121);
|
||||
|
|
|
@ -27,7 +27,7 @@ void func_80387EC0(void) {
|
|||
}
|
||||
}
|
||||
|
||||
void func_80387F44(void) {
|
||||
void MM_func_80387F44(void) {
|
||||
s32 sp1C;
|
||||
|
||||
osPiReadIo(0x578, (u32 *)&sp1C);
|
||||
|
|
|
@ -175,7 +175,7 @@ void chnapper_update(Actor *this){
|
|||
__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);
|
||||
}
|
||||
}//L80386F74
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -176,7 +176,7 @@ void func_80388028(Actor *this){
|
|||
if(!this->unk16C_4){
|
||||
this->unk16C_4 = 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);
|
||||
func_80387B14(this, (this->state < 5) ? 1 : 6);
|
||||
}//L803880B4
|
||||
|
|
|
@ -160,7 +160,7 @@ ActorInfo D_8038BDFC = {
|
|||
s32 D_8038BE20[4] = {0x87, 0x87, 0x87, 0xB4};
|
||||
|
||||
/* .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 sp40[3];
|
||||
f32 sp34[3];
|
||||
|
@ -230,11 +230,11 @@ void func_803888B8(Actor *this){
|
|||
case 4:
|
||||
switch(this->marker->unk14_20){
|
||||
case 0x9F:
|
||||
this->roll = func_80388430(this, 0, -1, this->roll);
|
||||
this->roll = MMM_func_80388430(this, 0, -1, this->roll);
|
||||
break;
|
||||
case 0xa0:
|
||||
case 0xff:
|
||||
this->pitch = func_80388430(this, 2, 1, this->pitch);
|
||||
this->pitch = MMM_func_80388430(this, 2, 1, this->pitch);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
@ -390,7 +390,7 @@ void func_803890B8(Actor *this) {
|
|||
func_8038AC04();
|
||||
}
|
||||
|
||||
void func_803890E0(void){
|
||||
void MMM_func_803890E0(void){
|
||||
spawnableActorList_add(&D_8038BC28, actor_new, 0);
|
||||
spawnableActorList_add(&D_8038BCDC, actor_new, 0);
|
||||
spawnableActorList_add(&D_8038BC4C, actor_new, 0);
|
||||
|
|
|
@ -20,7 +20,7 @@ u8 func_80389524() {
|
|||
return D_8038C4E0.unk0;
|
||||
}
|
||||
|
||||
u8 func_80389530() {
|
||||
u8 MMM_func_80389530() {
|
||||
return D_8038C4E0.unk2;
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
extern void func_8038B6D4(f32* arg0, s32 arg1);
|
||||
extern void MMM_func_8038B6D4(f32* arg0, s32 arg1);
|
||||
|
||||
/* internal definitions */
|
||||
typedef struct {
|
||||
|
@ -145,7 +145,7 @@ extern struct {
|
|||
}D_8038C4F0;
|
||||
|
||||
/* .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) {
|
||||
case 2:
|
||||
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);
|
||||
}
|
||||
|
||||
void func_803898C8() {
|
||||
void MMM_func_803898C8() {
|
||||
func_8025A58C(0, 450);
|
||||
}
|
||||
|
||||
|
@ -175,10 +175,10 @@ void func_803898EC() {
|
|||
}
|
||||
|
||||
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);
|
||||
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);
|
||||
func_80324E88(6.0f);
|
||||
func_80324E38(6.0f, 0);
|
||||
|
@ -195,10 +195,10 @@ void func_80389A0C(s32 next_state){
|
|||
if(next_state == 2){
|
||||
if(D_8038C4F0.unkD == 0){
|
||||
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
|
||||
func_80311480(0xad6, 4, NULL, NULL, func_80389810, NULL);
|
||||
func_80311480(0xad6, 4, NULL, NULL, MMM_func_80389810, NULL);
|
||||
}
|
||||
}//L80389A9C
|
||||
|
||||
|
@ -215,18 +215,18 @@ void func_80389A0C(s32 next_state){
|
|||
}//L80389AF4
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
if(next_state == 5){
|
||||
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);
|
||||
}
|
||||
|
||||
if(next_state == 6){
|
||||
func_803898C8();
|
||||
MMM_func_803898C8();
|
||||
timedFunc_set_0(1.25f, func_803899BC);
|
||||
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() {}
|
||||
|
||||
|
@ -296,7 +296,7 @@ int func_80389CE8(s32 arg0, s32 arg1, s32 arg2){
|
|||
void func_80389D9C(s32 key_id){
|
||||
s32 sp24;
|
||||
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++;
|
||||
}
|
||||
|
||||
|
|
|
@ -65,7 +65,7 @@ struct {
|
|||
u8 unk8;
|
||||
BKModel *unkC;
|
||||
s32 unk10;
|
||||
} D_8038C510;
|
||||
} MMM_D_8038C510;
|
||||
|
||||
/* .code */
|
||||
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);
|
||||
}
|
||||
if (arg0 == 3) {
|
||||
if (D_8038C510.unk8 == 1) {
|
||||
if (MMM_D_8038C510.unk8 == 1) {
|
||||
mapSpecificFlags_set(3, 1);
|
||||
}
|
||||
item_set(ITEM_0_HOURGLASS_TIMER, 75*60 - 1);
|
||||
item_set(6, 1);
|
||||
}
|
||||
if (D_8038C510.unk8 == 3) {
|
||||
if (MMM_D_8038C510.unk8 == 3) {
|
||||
item_set(6, 0);
|
||||
mapSpecificFlags_set(4, 1);
|
||||
}
|
||||
if (arg0 == 4) {
|
||||
func_8028F66C(BS_INTR_F);
|
||||
}
|
||||
D_8038C510.unk8 = arg0;
|
||||
MMM_D_8038C510.unk8 = 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;
|
||||
|
||||
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;
|
||||
arg0->unk3 = arg1;
|
||||
arg0->unk4 = 0.0f;
|
||||
|
@ -165,10 +165,10 @@ void func_8038A750(void){
|
|||
for(v1 = &D_8038C1F0[0]; v1->unk0 != 0; v1++){
|
||||
v1->unk4 += f20;
|
||||
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){
|
||||
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;
|
||||
|
||||
if(arg0->unk2 == 'X'){
|
||||
func_8038A54C(arg0, 1);
|
||||
MMM_func_8038A54C(arg0, 1);
|
||||
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];
|
||||
func_8028F620(sp38, 300.0f, -1500.0f);
|
||||
return;
|
||||
|
@ -189,10 +189,10 @@ void func_8038A82C(Struct_MMM_3D50_0 * arg0){
|
|||
for(iPtr = &D_8038C2F0[0]; iPtr->unk0 != 0; iPtr++){//L8038A8C8
|
||||
if(arg0->unk2 == iPtr->unk0[iPtr->unk4]){
|
||||
iPtr->unk4++;
|
||||
func_8038A54C(arg0, 3);
|
||||
MMM_func_8038A54C(arg0, 3);
|
||||
if( iPtr->unk0[iPtr->unk4] == 0){
|
||||
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);
|
||||
}
|
||||
else{
|
||||
|
@ -216,12 +216,12 @@ void func_8038A994() {
|
|||
|
||||
void func_8038A9B4(void){
|
||||
|
||||
D_8038C510.unk8 = 0;
|
||||
MMM_D_8038C510.unk8 = 0;
|
||||
|
||||
if(map_get() == MAP_24_MMM_TUMBLARS_SHED){
|
||||
D_8038C510.unkC = NULL;
|
||||
D_8038C510.unk0 = func_80309744(0);
|
||||
D_8038C510.unk4 = NULL;
|
||||
MMM_D_8038C510.unkC = NULL;
|
||||
MMM_D_8038C510.unk0 = func_80309744(0);
|
||||
MMM_D_8038C510.unk4 = NULL;
|
||||
|
||||
func_8038A2B8();
|
||||
func_8038A964();
|
||||
|
@ -235,8 +235,8 @@ void func_8038A9B4(void){
|
|||
}
|
||||
|
||||
void func_8038AA30(BKModel *arg0, s32 arg1){
|
||||
D_8038C510.unkC = arg0;
|
||||
D_8038C510.unk10 = arg1;
|
||||
MMM_D_8038C510.unkC = arg0;
|
||||
MMM_D_8038C510.unk10 = arg1;
|
||||
}
|
||||
|
||||
void func_8038AA44(void){
|
||||
|
@ -244,12 +244,12 @@ void func_8038AA44(void){
|
|||
f32 sp28[3];
|
||||
Struct_MMM_3D50_0 *sp24;
|
||||
|
||||
if(D_8038C510.unk8 == 0) return;
|
||||
if(MMM_D_8038C510.unk8 == 0) return;
|
||||
|
||||
func_8038A750();
|
||||
if( D_8038C510.unk8 == 1
|
||||
&& D_8038C510.unkC != NULL
|
||||
&& func_8038AD4C(D_8038C510.unkC, D_8038C510.unk10)
|
||||
if( MMM_D_8038C510.unk8 == 1
|
||||
&& MMM_D_8038C510.unkC != NULL
|
||||
&& func_8038AD4C(MMM_D_8038C510.unkC, MMM_D_8038C510.unk10)
|
||||
){
|
||||
if(!levelSpecificFlags_get(0x2f)){
|
||||
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)){
|
||||
func_8038A140(4);
|
||||
}
|
||||
else if( D_8038C510.unkC != NULL
|
||||
&& func_8038AD4C(D_8038C510.unkC, D_8038C510.unk10)
|
||||
else if( MMM_D_8038C510.unkC != NULL
|
||||
&& func_8038AD4C(MMM_D_8038C510.unkC, MMM_D_8038C510.unk10)
|
||||
){
|
||||
func_8038AD10(D_8038C510.unkC, D_8038C510.unk10, sp28);
|
||||
tmp_v0 = func_8033F3C0(D_8038C510.unk0, sp28);
|
||||
func_8038AD10(MMM_D_8038C510.unkC, MMM_D_8038C510.unk10, sp28);
|
||||
tmp_v0 = func_8033F3C0(MMM_D_8038C510.unk0, sp28);
|
||||
if(tmp_v0){
|
||||
sp24 = func_8038A26C(tmp_v0);
|
||||
if( sp24
|
||||
&& sp24->unk3 == 2
|
||||
&& sp24 != D_8038C510.unk4
|
||||
&& sp24 != MMM_D_8038C510.unk4
|
||||
){
|
||||
func_8038A82C(sp24);
|
||||
D_8038C510.unk4 = sp24;
|
||||
MMM_D_8038C510.unk4 = sp24;
|
||||
}
|
||||
}
|
||||
else{
|
||||
D_8038C510.unk4 = 0;
|
||||
MMM_D_8038C510.unk4 = 0;
|
||||
}
|
||||
}
|
||||
}//L8038AB7C
|
||||
|
||||
if( D_8038C510.unk8 == 5
|
||||
&& func_8038AD38(D_8038C510.unkC, D_8038C510.unk10)
|
||||
if( MMM_D_8038C510.unk8 == 5
|
||||
&& func_8038AD38(MMM_D_8038C510.unkC, MMM_D_8038C510.unk10)
|
||||
){
|
||||
func_8038A140(6);
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ typedef struct {
|
|||
}Struct_MMM_47D0_0;
|
||||
|
||||
/* .code */
|
||||
void func_8038ABC0(s32 arg0) {
|
||||
void MMM_func_8038ABC0(s32 arg0) {
|
||||
if (getGameMode() != 7) {
|
||||
func_80295864(func_802957F0() & ~arg0);
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ void func_8038ABC0(s32 arg0) {
|
|||
|
||||
void func_8038AC04(void){
|
||||
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);
|
||||
}
|
||||
|
||||
void func_8038ADF0(Struct_MMM_47D0_0 *arg0, Struct68s *arg1) {
|
||||
void MMM_func_8038ADF0(Struct_MMM_47D0_0 *arg0, Struct68s *arg1) {
|
||||
u8 sp3F;
|
||||
f32 sp38;
|
||||
Actor *jiggy;
|
||||
|
|
|
@ -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;
|
||||
func_8038B6FC(arg0, arg1);
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ void func_803871D4(s32 arg0) {
|
|||
levelSpecificFlags_setN(0x39, arg0, 3);
|
||||
}
|
||||
|
||||
void func_803871FC(Actor *this){
|
||||
void MMM_func_803871FC(Actor *this){
|
||||
switch(this->state){
|
||||
case 1:
|
||||
func_8033A45C(3, FALSE);
|
||||
|
@ -50,7 +50,7 @@ void func_80387280(Actor *this){
|
|||
this->marker->propPtr->unk8_3 = TRUE;
|
||||
if(!this->initialized){
|
||||
this->initialized = TRUE;
|
||||
this->unk130 = func_803871FC;
|
||||
this->unk130 = MMM_func_803871FC;
|
||||
}
|
||||
|
||||
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);
|
||||
f32 sp20[3];
|
||||
s32 sp1C;
|
||||
|
|
|
@ -43,7 +43,7 @@ Struct_RBB_0_1 D_80390074[4] = {
|
|||
};
|
||||
|
||||
/* .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;
|
||||
void *temp_a0;
|
||||
f32 sp3C[3];
|
||||
|
@ -92,7 +92,7 @@ void func_803865A4(ActorMarker *marker, s32 arg1){
|
|||
void func_803865D0(ActorMarker *marker){
|
||||
Actor* actor = marker_getActor(marker);
|
||||
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);
|
||||
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);
|
||||
|
@ -158,7 +158,7 @@ void func_803868F0(Actor *this){
|
|||
local->unk4 = (this->unk78_13 == 0xB)? 3: local->unk4;
|
||||
func_803866F4(this, 1);
|
||||
}
|
||||
func_803863F0(this, 0);
|
||||
RBB_func_803863F0(this, 0);
|
||||
}//L803869F4
|
||||
if(this->state == 2){
|
||||
if(--local->unkC <= 0){
|
||||
|
|
|
@ -7,12 +7,12 @@
|
|||
|
||||
/* typedefs and declarations */
|
||||
void func_803881E8(Actor *this, s32 arg1);
|
||||
void func_803882F4(Actor *this);
|
||||
void RBB_func_803882F4(Actor *this);
|
||||
|
||||
/* .data */
|
||||
ActorInfo D_80390270 = {
|
||||
0x184, 0x174, 0x402, 0x0, NULL,
|
||||
func_803882F4, NULL, func_80325340,
|
||||
RBB_func_803882F4, NULL, func_80325340,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
|
@ -43,7 +43,7 @@ struct41s D_80390344= {
|
|||
};
|
||||
|
||||
/*.code */
|
||||
void func_80387960(f32 arg0){
|
||||
void RBB_func_80387960(f32 arg0){
|
||||
f32 sp34[3];
|
||||
void * temp_v0;
|
||||
f32 sp24[3];
|
||||
|
@ -159,11 +159,11 @@ void func_80387E20(void){
|
|||
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);
|
||||
}
|
||||
|
||||
void func_80387F44(void){
|
||||
void RBB_func_80387F44(void){
|
||||
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);
|
||||
func_80324E88(4.0f);
|
||||
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){
|
||||
Actor *actor = marker_getActor(marker);
|
||||
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);
|
||||
timedFunc_set_2(1.2f, (TFQM2) func_80387B8C, 0x19f, 0);
|
||||
timed_setCameraToNode(1.2f, 8);
|
||||
|
@ -203,7 +203,7 @@ void func_80388154(ActorMarker *marker){
|
|||
void func_803881E8(Actor *this, s32 arg1){
|
||||
this->state = arg1;
|
||||
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.1f, (TFQM2)func_8025A6EC, COMUSIC_2B_DING_B, 28000);
|
||||
func_80324E38(0.2f, 3);
|
||||
|
@ -219,12 +219,12 @@ void func_803882B4(ActorMarker *marker, s32 arg1){
|
|||
func_803881E8(actor, 2);
|
||||
}
|
||||
|
||||
void func_803882F4(Actor *this){
|
||||
void RBB_func_803882F4(Actor *this){
|
||||
if(!this->unk16C_4){
|
||||
this->unk16C_4 = 1;
|
||||
if(levelSpecificFlags_get(0x2d)){
|
||||
func_80387AC0();
|
||||
func_80387960(0.0f);
|
||||
RBB_func_80387960(0.0f);
|
||||
func_80387B24();
|
||||
func_803881E8(this, 3);
|
||||
}else{
|
||||
|
|
|
@ -36,7 +36,7 @@ void func_803883B0(Actor *this, s32 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);
|
||||
ActorLocal_RBB_1FC0 *local = (ActorLocal_RBB_1FC0 *) &actor->local;
|
||||
func_8030E6D4(SFX_111_WHIPCRACK_DEATH);
|
||||
|
@ -97,7 +97,7 @@ void func_80388620(Actor *this){
|
|||
if(!this->unk16C_4){
|
||||
this->unk16C_4 = 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->unk0 = 0.0f;
|
||||
local->unk8 = 0.0f;
|
||||
|
|
|
@ -2,17 +2,17 @@
|
|||
#include "functions.h"
|
||||
#include "variables.h"
|
||||
|
||||
void func_803899C0(Actor *this);
|
||||
void RBB_func_803899C0(Actor *this);
|
||||
|
||||
/* .data */
|
||||
ActorInfo D_803906B0 = {
|
||||
0x194, 0x1BE, 0x412, 0x0, NULL,
|
||||
func_803899C0, NULL, func_80325888,
|
||||
RBB_func_803899C0, NULL, func_80325888,
|
||||
0, 0, 0.0f, 0
|
||||
};
|
||||
|
||||
/* .code */
|
||||
void func_803898A0(void){
|
||||
void RBB_func_803898A0(void){
|
||||
mapSpecificFlags_set(0, 1);
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,7 @@ void func_803898C4(Actor * this, s32 arg1){
|
|||
this->position_y -= 35.0f;
|
||||
func_80324E38(1.0f, 3);
|
||||
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_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){
|
||||
this->marker->propPtr->unk8_3 = 1;
|
||||
this->unk16C_4 = 1;
|
||||
|
|
|
@ -35,7 +35,7 @@ ActorInfo D_80390738 = {
|
|||
};
|
||||
|
||||
/* .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;
|
||||
|
||||
if(arg1 == 1)
|
||||
|
@ -62,7 +62,7 @@ void func_8038A0A0(Actor *this, s32 arg1){
|
|||
void func_8038A1C8(ActorMarker *marker, s32 arg1){
|
||||
Actor *actor = marker_getActor(marker);
|
||||
if(actor->state == 1){
|
||||
func_8038A0A0(actor, 2);
|
||||
RBB_func_8038A0A0(actor, 2);
|
||||
}
|
||||
else if(actor->state == 2){
|
||||
func_8038FF40();
|
||||
|
@ -109,16 +109,16 @@ void func_8038A324(Actor *this){
|
|||
this->position_y = (f32)local->unk0->unk0[1];
|
||||
this->position_z = (f32)local->unk0->unk0[2];
|
||||
if(levelSpecificFlags_get(local->unk0->unkA))
|
||||
func_8038A0A0(this, 2);
|
||||
RBB_func_8038A0A0(this, 2);
|
||||
else
|
||||
func_8038A0A0(this, 1);
|
||||
RBB_func_8038A0A0(this, 1);
|
||||
}//L8038A47C
|
||||
if(this->state == 2){
|
||||
if( !levelSpecificFlags_get(local->unk0->unkA)
|
||||
&& !levelSpecificFlags_get(3)
|
||||
&& !levelSpecificFlags_get(4)
|
||||
){
|
||||
func_8038A0A0(this, 1);
|
||||
RBB_func_8038A0A0(this, 1);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -53,7 +53,7 @@ s32 D_8039092C[3] = { 0, 0xFF, 0};
|
|||
s32 D_80390938[3] = { 0xFF, 0, 0};
|
||||
|
||||
/* .code */
|
||||
Struct_RBB_47D0 *func_8038ABC0(Actor *arg0){
|
||||
Struct_RBB_47D0 *RBB_func_8038ABC0(Actor *arg0){
|
||||
Struct_RBB_47D0 *iPtr = D_80390870;
|
||||
while(iPtr->unk0 != 0){
|
||||
if(iPtr->unk0 == arg0->modelCacheIndex)
|
||||
|
@ -134,7 +134,7 @@ void func_8038AEB8(Actor *this){
|
|||
this->marker->propPtr->unk8_3 = 1;
|
||||
this->marker->unk30 = func_8038AD7C;
|
||||
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);
|
||||
this->position_x = local->unk4->unk4[0];
|
||||
this->position_y = local->unk4->unk4[1];
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue