Merge branch 'n64decomp:master' into pythonfromenv

This commit is contained in:
mrpotatogun 2023-09-04 14:06:08 -04:00 committed by GitHub
commit 7e8bd8d32f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1327 changed files with 73566 additions and 26397 deletions

26
CHANGES
View File

@ -1,3 +1,29 @@
Refresh 16 (Two years later...)
1.) remove capstone from readme, slight update (#1212)
2.) Update ido static recomp (#1211)
3.) Fix misleading pointer (#1209)
4.) update outdated link (#1208)
5.) Match iQue (#1207)
6.) iQue matching except BSS (#1124)
7.) Create LICENSE.md
8.) Reorganize and apply licenses to some of the tools/ programs per discussions with their author(s). (#1203)
9.) Fix rumble_init libultra includes and checks (#1195)
10.) Stacksize moved to defines (#1199)
11.) Renamings we were too lazy to make a PR for for 3 years (#1198)
12.) Fix spelling error in sound.h comment (#1197)
13.) Update instrument sample names (#1196)
14.) Object Labeling, Behavior Params, and Cleanup (#1193)
15.) Significantly more Libultra Cleanup (#1192)
16.) Typedefs for area Terrain Data and Rooms (#1178)
17.) Allow spaces in filename for vadpcm_enc (#1175)
18.) Label all warp nodes (#1191)
19.) Remove hardware.h (#1190)
20.) Document __osSetHWintrRoutine (#1186)
21.) Change 3 space indent to 4 space indent and cleanup (#1189)
22.) Libultra cleanup and labelling (#1188)
23.) in-game menu renaming (#1187)
24.) AVOID_UB fixes and cleanup (#1185)
Refresh 15 (mostly a hotfix for RSP microcode selection)
1.) Renamed frame_buffer funcs and _ZBUFFER (#1184)

View File

@ -3,9 +3,8 @@ FROM ubuntu:18.04 as build
RUN apt-get update && \
apt-get install -y \
binutils-mips-linux-gnu \
bsdmainutils \
build-essential \
libcapstone-dev \
git \
pkgconf \
python3

16
Jenkinsfile vendored
View File

@ -12,32 +12,38 @@ pipeline {
sh 'ln -s "$ROMS_DIR/Super Mario 64 (U) [!].z64" baserom.us.z64'
sh 'ln -s "$ROMS_DIR/Super Mario 64 (E) (M3) [!].z64" baserom.eu.z64'
sh 'ln -s "$ROMS_DIR/Super Mario 64 - Shindou Edition (J) [!].z64" baserom.sh.z64'
sh 'ln -s "$ROMS_DIR/Super Mario 64 - iQue (Ch).z64" baserom.cn.z64'
// verify no assets were committed to repo
sh '[ -z "$(find {actors,levels,textures}/ -name \'*.png\')" ]'
sh '[ -z "$(find assets/ -name \'*.m64\' -or \'*.bin\')" ]'
sh './extract_assets.py jp us eu sh'
sh './extract_assets.py jp us eu sh cn'
}
}
stage('Build U Source') {
stage('Build US Source') {
steps {
sh 'make -j4 VERSION=us VERBOSE=1 COLOR=0'
}
}
stage('Build S Source') {
stage('Build SH Source') {
steps {
sh 'make -j4 VERSION=sh VERBOSE=1 COLOR=0'
}
}
stage('Build E Source') {
stage('Build EU Source') {
steps {
sh 'make -j4 VERSION=eu VERBOSE=1 COLOR=0'
}
}
stage('Build J Source') {
stage('Build JP Source') {
steps {
sh 'make -j4 VERSION=jp VERBOSE=1 COLOR=0'
}
}
stage('Build CN Source') {
steps {
sh 'make -j4 VERSION=cn VERBOSE=1 COLOR=0 COMPARE=0'
}
}
stage('Test Enhancements') {
steps {
sh '''

271
Makefile
View File

@ -32,29 +32,40 @@ $(eval $(call validate-option,COMPILER,ido gcc))
# us - builds the 1996 North American version
# eu - builds the 1997 PAL version
# sh - builds the 1997 Japanese Shindou version, with rumble pak support
# cn - builds the 2003 Chinese iQue version
VERSION ?= us
$(eval $(call validate-option,VERSION,jp us eu sh))
$(eval $(call validate-option,VERSION,jp us eu sh cn))
ifeq ($(VERSION),jp)
DEFINES += VERSION_JP=1
OPT_FLAGS := -g
GRUCODE ?= f3d_old
VERSION_JP_US ?= true
VERSION_SH_CN ?= false
else ifeq ($(VERSION),us)
DEFINES += VERSION_US=1
OPT_FLAGS := -g
GRUCODE ?= f3d_old
VERSION_JP_US ?= true
VERSION_SH_CN ?= false
else ifeq ($(VERSION),eu)
DEFINES += VERSION_EU=1
OPT_FLAGS := -O2
GRUCODE ?= f3d_new
VERSION_JP_US ?= false
VERSION_SH_CN ?= false
else ifeq ($(VERSION),sh)
DEFINES += VERSION_SH=1
OPT_FLAGS := -O2
GRUCODE ?= f3d_new
VERSION_JP_US ?= false
VERSION_SH_CN ?= true
else ifeq ($(VERSION),cn)
DEFINES += VERSION_CN=1
OPT_FLAGS := -O2
GRUCODE ?= f3d_new
VERSION_JP_US ?= false
VERSION_SH_CN ?= true
endif
TARGET := sm64.$(VERSION)
@ -129,7 +140,7 @@ $(eval $(call validate-option,COMPARE,0 1))
TARGET_STRING := sm64.$(VERSION).$(GRUCODE)
# If non-default settings were chosen, disable COMPARE
ifeq ($(filter $(TARGET_STRING), sm64.jp.f3d_old sm64.us.f3d_old sm64.eu.f3d_new sm64.sh.f3d_new),)
ifeq ($(filter $(TARGET_STRING), sm64.jp.f3d_old sm64.us.f3d_old sm64.eu.f3d_new sm64.sh.f3d_new sm64.cn.f3d_new),)
COMPARE := 0
endif
@ -161,6 +172,7 @@ ifeq ($(filter clean distclean,$(MAKECMDGOALS)),)
$(info =======================)
endif
DEFINES += _FINALROM=1
#==============================================================================#
# Universal Dependencies #
@ -186,11 +198,16 @@ ifeq ($(filter clean distclean print-%,$(MAKECMDGOALS)),)
endif
# Make tools if out of date
$(info Building tools...)
$(info Building general tools...)
DUMMY != $(MAKE) -s -C $(TOOLS_DIR) $(if $(filter-out ido0,$(COMPILER)$(USE_QEMU_IRIX)),all-except-recomp,) >&2 || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to build tools)
endif
$(info Building sm64tools...)
DUMMY != $(MAKE) -s -C $(TOOLS_DIR)/sm64tools $(if $(filter-out ido0,$(COMPILER)$(USE_QEMU_IRIX)),) >&2 || echo FAIL
ifeq ($(DUMMY),FAIL)
$(error Failed to build tools)
endif
$(info Building ROM...)
endif
@ -207,6 +224,8 @@ ROM := $(BUILD_DIR)/$(TARGET).z64
ELF := $(BUILD_DIR)/$(TARGET).elf
LIBULTRA := $(BUILD_DIR)/libultra.a
LD_SCRIPT := sm64.ld
CHARMAP := charmap.txt
CHARMAP_DEBUG := charmap.debug.txt
MIO0_DIR := $(BUILD_DIR)/bin
SOUND_BIN_DIR := $(BUILD_DIR)/sound
TEXTURE_DIR := textures
@ -217,6 +236,10 @@ LEVEL_DIRS := $(patsubst levels/%,%,$(dir $(wildcard levels/*/header.h)))
SRC_DIRS := src src/engine src/game src/audio src/menu src/buffers actors levels bin data assets asm lib sound
BIN_DIRS := bin bin/$(VERSION)
ifeq ($(VERSION),cn)
LIBGCC_SRC_DIRS += lib/src/libgcc
endif
ULTRA_SRC_DIRS := lib/src lib/src/math lib/asm lib/data
ULTRA_BIN_DIRS := lib/bin
@ -232,6 +255,7 @@ S_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.s))
ULTRA_C_FILES := $(foreach dir,$(ULTRA_SRC_DIRS),$(wildcard $(dir)/*.c))
GODDARD_C_FILES := $(foreach dir,$(GODDARD_SRC_DIRS),$(wildcard $(dir)/*.c))
ULTRA_S_FILES := $(foreach dir,$(ULTRA_SRC_DIRS),$(wildcard $(dir)/*.s))
LIBGCC_C_FILES := $(foreach dir,$(LIBGCC_SRC_DIRS),$(wildcard $(dir)/*.c))
GENERATED_C_FILES := $(BUILD_DIR)/assets/mario_anim_data.c $(BUILD_DIR)/assets/demo_data.c
# Sound files
@ -240,7 +264,11 @@ SOUND_SAMPLE_DIRS := $(wildcard sound/samples/*)
SOUND_SAMPLE_AIFFS := $(foreach dir,$(SOUND_SAMPLE_DIRS),$(wildcard $(dir)/*.aiff))
SOUND_SAMPLE_TABLES := $(foreach file,$(SOUND_SAMPLE_AIFFS),$(BUILD_DIR)/$(file:.aiff=.table))
SOUND_SAMPLE_AIFCS := $(foreach file,$(SOUND_SAMPLE_AIFFS),$(BUILD_DIR)/$(file:.aiff=.aifc))
SOUND_SEQUENCE_DIRS := sound/sequences sound/sequences/$(VERSION)
ifeq ($(VERSION),cn)
SOUND_SEQUENCE_DIRS := sound/sequences sound/sequences/sh
else
SOUND_SEQUENCE_DIRS := sound/sequences sound/sequences/$(VERSION)
endif
# all .m64 files in SOUND_SEQUENCE_DIRS, plus all .m64 files that are generated from .s files in SOUND_SEQUENCE_DIRS
SOUND_SEQUENCE_FILES := \
$(foreach dir,$(SOUND_SEQUENCE_DIRS),\
@ -258,16 +286,14 @@ ULTRA_O_FILES := $(foreach file,$(ULTRA_S_FILES),$(BUILD_DIR)/$(file:.s=.o)) \
GODDARD_O_FILES := $(foreach file,$(GODDARD_C_FILES),$(BUILD_DIR)/$(file:.c=.o))
LIBGCC_O_FILES := $(foreach file,$(LIBGCC_C_FILES),$(BUILD_DIR)/$(file:.c=.o))
# Automatic dependency files
DEP_FILES := $(O_FILES:.o=.d) $(ULTRA_O_FILES:.o=.d) $(GODDARD_O_FILES:.o=.d) $(BUILD_DIR)/$(LD_SCRIPT).d
DEP_FILES := $(O_FILES:.o=.d) $(ULTRA_O_FILES:.o=.d) $(GODDARD_O_FILES:.o=.d) $(LIBGCC_O_FILES:.o=.d) $(BUILD_DIR)/$(LD_SCRIPT).d
# Files with GLOBAL_ASM blocks
ifeq ($(NON_MATCHING),0)
ifeq ($(VERSION),sh)
GLOBAL_ASM_C_FILES != grep -rl 'GLOBAL_ASM(' $(wildcard src/**/*.c) $(wildcard lib/src/*.c)
else
GLOBAL_ASM_C_FILES != grep -rl 'GLOBAL_ASM(' $(wildcard src/**/*.c)
endif
GLOBAL_ASM_C_FILES != grep -rl 'GLOBAL_ASM(' $(wildcard src/**/*.c)
GLOBAL_ASM_O_FILES = $(foreach file,$(GLOBAL_ASM_C_FILES),$(BUILD_DIR)/$(file:.c=.o))
GLOBAL_ASM_DEP = $(BUILD_DIR)/src/audio/non_matching_dep
endif
@ -277,6 +303,9 @@ endif
# Compiler Options #
#==============================================================================#
IQUE_EGCS_PATH := $(TOOLS_DIR)/ique_egcs
IQUE_LD_PATH := $(TOOLS_DIR)/ique_ld
# detect prefix for MIPS toolchain
ifneq ($(call find-command,mips-linux-gnu-ld),)
CROSS := mips-linux-gnu-
@ -288,26 +317,30 @@ else
$(error Unable to detect a suitable MIPS toolchain installed)
endif
AS := $(CROSS)as
AS := $(CROSS)as
ifeq ($(COMPILER),gcc)
CC := $(CROSS)gcc
CC := $(CROSS)gcc
else
ifeq ($(USE_QEMU_IRIX),1)
IRIX_ROOT := $(TOOLS_DIR)/ido5.3_compiler
CC := $(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/bin/cc
ACPP := $(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/lib/acpp
COPT := $(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/lib/copt
CC := $(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/bin/cc
ACPP := $(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/lib/acpp
COPT := $(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/lib/copt
else
IDO_ROOT := $(TOOLS_DIR)/ido5.3_recomp
CC := $(IDO_ROOT)/cc
ACPP := $(IDO_ROOT)/acpp
COPT := $(IDO_ROOT)/copt
IDO_ROOT := $(TOOLS_DIR)/ido-static-recomp/build/out
CC := $(IDO_ROOT)/cc
ACPP := $(IDO_ROOT)/acpp
COPT := $(IDO_ROOT)/copt
endif
endif
LD := $(CROSS)ld
AR := $(CROSS)ar
OBJDUMP := $(CROSS)objdump
OBJCOPY := $(CROSS)objcopy
ifeq ($(VERSION),cn)
LD := LD_LIBRARY_PATH=$(IQUE_LD_PATH) $(IQUE_LD_PATH)/mips64-elf-ld
else
LD := $(CROSS)ld
endif
AR := $(CROSS)ar
OBJDUMP := $(CROSS)objdump
OBJCOPY := $(CROSS)objcopy
ifeq ($(TARGET_N64),1)
TARGET_CFLAGS := -nostdinc -DTARGET_N64 -D_LANGUAGE_C
@ -322,13 +355,41 @@ endif
C_DEFINES := $(foreach d,$(DEFINES),-D$(d))
DEF_INC_CFLAGS := $(foreach i,$(INCLUDE_DIRS),-I$(i)) $(C_DEFINES)
IQUE_AS := $(IQUE_EGCS_PATH)/as
IQUE_ASFLAGS = -mcpu=r4300 -mabi=32 $(MIPSISET) $(foreach i,$(INCLUDE_DIRS),-I$(i)) $(foreach d,$(DEFINES),--defsym $(d))
ifeq ($(VERSION),cn)
IQUE_REASSEMBLED_ASM_FILES := $(wildcard asm/*.s) $(wildcard lib/asm/*.s)
IQUE_REASSEMBLED_ASM_FILES := $(filter-out asm/ipl3_font.s,$(IQUE_REASSEMBLED_ASM_FILES))
IQUE_REASSEMBLED := $(foreach file,$(IQUE_REASSEMBLED_ASM_FILES),$(BUILD_DIR)/$(file:.s=.o))
$(IQUE_REASSEMBLED): AS := $(IQUE_AS)
$(IQUE_REASSEMBLED): MIPSISET :=
$(IQUE_REASSEMBLED): ASFLAGS = $(IQUE_ASFLAGS)
endif
IQUE_CC := COMPILER_PATH=$(IQUE_EGCS_PATH) $(IQUE_EGCS_PATH)/gcc
IQUE_CFLAGS = -G 0 $(TARGET_CFLAGS) $(OPT_FLAGS) -D__sgi -DBBPLAYER -mcpu=r4300 -mgp32 -fno-pic -Wa,--strip-local-absolute $(MIPSISET) $(DEF_INC_CFLAGS)
# iQue recompiled some files with a different compiler
ifeq ($(VERSION),cn)
IQUE_RECOMPILED_SRC_GAME := $(addprefix $(BUILD_DIR)/src/game/,rumble_init.o level_update.o memory.o area.o print.o ingame_menu.o hud.o cn_common_syms_1.o cn_common_syms_2.o) $(addprefix $(BUILD_DIR)/src/menu/,title_screen.o intro_geo.o file_select.o star_select.o)
IQUE_RECOMPILED_LIB_SRC := $(ULTRA_O_FILES)
# osDriveRomInit is weird
IQUE_RECOMPILED_LIB_SRC := $(filter-out $(addprefix $(BUILD_DIR)/lib/src/,osDriveRomInit.o),$(IQUE_RECOMPILED_LIB_SRC))
IQUE_RECOMPILED_LIBGCC_SRC := $(LIBGCC_O_FILES)
IQUE_RECOMPILED = $(IQUE_RECOMPILED_SRC_GAME) $(IQUE_RECOMPILED_LIB_SRC) $(IQUE_RECOMPILED_LIBGCC_SRC)
$(IQUE_RECOMPILED): CC := $(IQUE_CC)
$(IQUE_RECOMPILED): MIPSISET :=
$(IQUE_RECOMPILED): CFLAGS = $(IQUE_CFLAGS)
endif
# Prefer clang as C preprocessor if installed on the system
ifneq (,$(call find-command,clang))
CPP := clang
CPPFLAGS := -E -P -x c -Wno-trigraphs $(DEF_INC_CFLAGS)
CPPFLAGS := -E -P -x c -Wno-trigraphs -D_LANGUAGE_ASSEMBLY $(DEF_INC_CFLAGS)
else
CPP := cpp
CPPFLAGS := -P -Wno-trigraphs $(DEF_INC_CFLAGS)
CPPFLAGS := -P -Wno-trigraphs -D_LANGUAGE_ASSEMBLY $(DEF_INC_CFLAGS)
endif
# Check code syntax with host compiler
@ -343,7 +404,7 @@ else
CFLAGS += -non_shared -Wab,-r4300_mul -Xcpluscomm -Xfullwarn -signed -32
endif
ASFLAGS := -march=vr4300 -mabi=32 $(foreach i,$(INCLUDE_DIRS),-I$(i)) $(foreach d,$(DEFINES),--defsym $(d))
ASFLAGS := -march=vr4300 -mabi=32 $(foreach i,$(INCLUDE_DIRS),-I$(i)) $(foreach d,$(DEFINES),--defsym $(d))
RSPASMFLAGS := $(foreach d,$(DEFINES),-definelabel $(subst =, ,$(d)))
ifeq ($(shell getconf LONG_BIT), 32)
@ -362,10 +423,10 @@ export LANG := C
#==============================================================================#
# N64 tools
MIO0TOOL := $(TOOLS_DIR)/mio0
N64CKSUM := $(TOOLS_DIR)/n64cksum
N64GRAPHICS := $(TOOLS_DIR)/n64graphics
N64GRAPHICS_CI := $(TOOLS_DIR)/n64graphics_ci
MIO0TOOL := $(TOOLS_DIR)/sm64tools/mio0
N64CKSUM := $(TOOLS_DIR)/sm64tools/n64cksum
N64GRAPHICS := $(TOOLS_DIR)/sm64tools/n64graphics
N64GRAPHICS_CI := $(TOOLS_DIR)/sm64tools/n64graphics_ci
TEXTCONV := $(TOOLS_DIR)/textconv
AIFF_EXTRACT_CODEBOOK := $(TOOLS_DIR)/aiff_extract_codebook
VADPCM_ENC := $(TOOLS_DIR)/vadpcm_enc
@ -394,10 +455,13 @@ YELLOW := \033[0;33m
BLINK := \033[33;5m
endif
# Use Objcopy instead of extract_data_for_mio
# Use objcopy instead of extract_data_for_mio to get 16-byte aligned padding
ifeq ($(COMPILER),gcc)
EXTRACT_DATA_FOR_MIO := $(OBJCOPY) -O binary --only-section=.data
endif
ifeq ($(VERSION),cn)
EXTRACT_DATA_FOR_MIO := $(OBJCOPY) -O binary --only-section=.data
endif
# Common build print status function
define print
@ -420,6 +484,7 @@ clean:
distclean: clean
$(PYTHON) extract_assets.py --clean
$(MAKE) -C $(TOOLS_DIR) clean
$(MAKE) -C $(TOOLS_DIR)/sm64tools clean
test: $(ROM)
$(EMULATOR) $(EMU_FLAGS) $<
@ -430,13 +495,13 @@ load: $(ROM)
libultra: $(BUILD_DIR)/libultra.a
# Extra object file dependencies
$(BUILD_DIR)/asm/boot.o: $(IPL3_RAW_FILES)
$(BUILD_DIR)/asm/ipl3_font.o: $(IPL3_RAW_FILES)
$(BUILD_DIR)/src/game/crash_screen.o: $(CRASH_TEXTURE_C_FILES)
$(BUILD_DIR)/lib/rsp.o: $(BUILD_DIR)/rsp/rspboot.bin $(BUILD_DIR)/rsp/fast3d.bin $(BUILD_DIR)/rsp/audio.bin
$(SOUND_BIN_DIR)/sound_data.o: $(SOUND_BIN_DIR)/sound_data.ctl.inc.c $(SOUND_BIN_DIR)/sound_data.tbl.inc.c $(SOUND_BIN_DIR)/sequences.bin.inc.c $(SOUND_BIN_DIR)/bank_sets.inc.c
$(BUILD_DIR)/levels/scripts.o: $(BUILD_DIR)/include/level_headers.h
ifeq ($(VERSION),sh)
ifeq ($(VERSION_SH_CN),true)
$(BUILD_DIR)/src/audio/load_sh.o: $(SOUND_BIN_DIR)/bank_sets.inc.c $(SOUND_BIN_DIR)/sequences_header.inc.c $(SOUND_BIN_DIR)/ctl_header.inc.c $(SOUND_BIN_DIR)/tbl_header.inc.c
endif
@ -468,8 +533,9 @@ else
$(BUILD_DIR)/bin/segment2.o: $(BUILD_DIR)/text/$(VERSION)/define_text.inc.c
endif
endif
$(BUILD_DIR)/bin/segment2.o: $(BUILD_DIR)/text/debug_text.raw.inc.c
ALL_DIRS := $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) $(GODDARD_SRC_DIRS) $(ULTRA_SRC_DIRS) $(ULTRA_BIN_DIRS) $(BIN_DIRS) $(TEXTURE_DIRS) $(TEXT_DIRS) $(SOUND_SAMPLE_DIRS) $(addprefix levels/,$(LEVEL_DIRS)) rsp include) $(MIO0_DIR) $(addprefix $(MIO0_DIR)/,$(VERSION)) $(SOUND_BIN_DIR) $(SOUND_BIN_DIR)/sequences/$(VERSION)
ALL_DIRS := $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) $(GODDARD_SRC_DIRS) $(ULTRA_SRC_DIRS) $(ULTRA_BIN_DIRS) $(LIBGCC_SRC_DIRS) $(BIN_DIRS) $(TEXTURE_DIRS) $(TEXT_DIRS) $(SOUND_SAMPLE_DIRS) $(addprefix levels/,$(LEVEL_DIRS)) rsp include) $(MIO0_DIR) $(addprefix $(MIO0_DIR)/,$(VERSION)) $(SOUND_BIN_DIR) $(SOUND_BIN_DIR)/sequences/$(VERSION)
# Make sure build directory exists before compiling anything
DUMMY != mkdir -p $(ALL_DIRS)
@ -608,18 +674,27 @@ $(BUILD_DIR)/assets/demo_data.c: assets/demo_data.json $(wildcard assets/demos/*
$(V)$(PYTHON) $(TOOLS_DIR)/demo_data_converter.py assets/demo_data.json $(DEF_INC_CFLAGS) > $@
# Encode in-game text strings
$(BUILD_DIR)/include/text_strings.h: include/text_strings.h.in
$(BUILD_DIR)/$(CHARMAP): $(CHARMAP)
$(call print,Preprocessing charmap:,$<,$@)
$(V)$(CPP) $(CPPFLAGS) -DBUILD_DIR=$(BUILD_DIR) -MMD -MP -MT $@ -MF $@.d -o $@ $<
$(BUILD_DIR)/$(CHARMAP_DEBUG): $(CHARMAP)
$(call print,Preprocessing charmap:,$<,$@)
$(V)$(CPP) $(CPPFLAGS) -DCHARMAP_DEBUG -DBUILD_DIR=$(BUILD_DIR) -MMD -MP -MT $@ -MF $@.d -o $@ $<
$(BUILD_DIR)/include/text_strings.h: include/text_strings.h.in $(BUILD_DIR)/$(CHARMAP)
$(call print,Encoding:,$<,$@)
$(V)$(TEXTCONV) charmap.txt $< $@
$(V)$(TEXTCONV) $(BUILD_DIR)/$(CHARMAP) $< $@
$(BUILD_DIR)/include/text_menu_strings.h: include/text_menu_strings.h.in
$(call print,Encoding:,$<,$@)
$(V)$(TEXTCONV) charmap_menu.txt $< $@
$(BUILD_DIR)/text/%/define_courses.inc.c: text/define_courses.inc.c text/%/courses.h
@$(PRINT) "$(GREEN)Preprocessing: $(BLUE)$@ $(NO_COL)\n"
$(V)$(CPP) $(CPPFLAGS) $< -o - -I text/$*/ | $(TEXTCONV) charmap.txt - $@
$(V)$(CPP) $(CPPFLAGS) $< -o - -I text/$*/ | $(TEXTCONV) $(BUILD_DIR)/$(CHARMAP) - $@
$(BUILD_DIR)/text/%/define_text.inc.c: text/define_text.inc.c text/%/courses.h text/%/dialogs.h
@$(PRINT) "$(GREEN)Preprocessing: $(BLUE)$@ $(NO_COL)\n"
$(V)$(CPP) $(CPPFLAGS) $< -o - -I text/$*/ | $(TEXTCONV) charmap.txt - $@
$(V)$(CPP) $(CPPFLAGS) $< -o - -I text/$*/ | $(TEXTCONV) $(BUILD_DIR)/$(CHARMAP) - $@
$(BUILD_DIR)/text/debug_text.raw.inc.c: text/debug_text.inc.c $(BUILD_DIR)/$(CHARMAP_DEBUG)
@$(PRINT) "$(GREEN)Preprocessing: $(BLUE)$@ $(NO_COL)\n"
$(V)$(CPP) $(CPPFLAGS) $< -o - -I text/$*/ | $(TEXTCONV) $(BUILD_DIR)/$(CHARMAP_DEBUG) - $@
# Level headers
$(BUILD_DIR)/include/level_headers.h: levels/level_headers.h.in
@ -645,12 +720,18 @@ $(GLOBAL_ASM_DEP).$(NON_MATCHING):
# Compile C code
$(BUILD_DIR)/%.o: %.c
$(call print,Compiling:,$<,$@)
@$(CC_CHECK) $(CC_CHECK_CFLAGS) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
$(V)$(CC_CHECK) $(CC_CHECK_CFLAGS) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
$(V)$(CC) -c $(CFLAGS) -o $@ $<
ifeq ($(VERSION),cn)
$(V)$(TOOLS_DIR)/patch_elf_32bit $@
endif
$(BUILD_DIR)/%.o: $(BUILD_DIR)/%.c
$(call print,Compiling:,$<,$@)
@$(CC_CHECK) $(CC_CHECK_CFLAGS) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
$(V)$(CC_CHECK) $(CC_CHECK_CFLAGS) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
$(V)$(CC) -c $(CFLAGS) -o $@ $<
ifeq ($(VERSION),cn)
$(V)$(TOOLS_DIR)/patch_elf_32bit $@
endif
# Alternate compiler flags needed for matching
ifeq ($(COMPILER),ido)
@ -659,6 +740,8 @@ ifeq ($(COMPILER),ido)
$(BUILD_DIR)/bin/%.o: OPT_FLAGS := -g
$(BUILD_DIR)/src/goddard/%.o: OPT_FLAGS := -g
$(BUILD_DIR)/src/goddard/%.o: MIPSISET := -mips1
$(BUILD_DIR)/lib/asm/__osDisableInt.o: MIPSISET := -mips2
$(BUILD_DIR)/lib/asm/bcopy.o: MIPSISET := -mips2
$(BUILD_DIR)/lib/src/%.o: OPT_FLAGS :=
$(BUILD_DIR)/lib/src/math/%.o: OPT_FLAGS := -O2
$(BUILD_DIR)/lib/src/math/ll%.o: OPT_FLAGS :=
@ -667,14 +750,97 @@ ifeq ($(COMPILER),ido)
$(BUILD_DIR)/lib/src/string.o: OPT_FLAGS := -O2
$(BUILD_DIR)/lib/src/gu%.o: OPT_FLAGS := -O3
$(BUILD_DIR)/lib/src/al%.o: OPT_FLAGS := -O3
ifeq ($(VERSION),sh)
ifeq ($(VERSION_SH_CN),true)
$(BUILD_DIR)/lib/src/_Ldtob.o: OPT_FLAGS := -O3
$(BUILD_DIR)/lib/src/_Litob.o: OPT_FLAGS := -O3
$(BUILD_DIR)/lib/src/_Printf.o: OPT_FLAGS := -O3
$(BUILD_DIR)/lib/src/sprintf.o: OPT_FLAGS := -O3
$(BUILD_DIR)/lib/src/osDriveRomInit.o: OPT_FLAGS := -g
endif
ifeq ($(VERSION),cn)
$(BUILD_DIR)/lib/src/osAiSetFrequency.o: MIPSISET := -mips2
$(BUILD_DIR)/lib/src/osVirtualToPhysical.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osInitializeIQueWrapper.o: OPT_FLAGS := -O2
$(BUILD_DIR)/lib/src/osAiGetLength.o: OPT_FLAGS := -O2
$(BUILD_DIR)/lib/src/osAiSetFrequency.o: OPT_FLAGS := -O2
$(BUILD_DIR)/lib/src/math/cosf.o: OPT_FLAGS := -O2 -mips2
$(BUILD_DIR)/lib/src/guOrthoF.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/guPerspectiveF.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osAiSetNextBuffer.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osContStartReadData.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osContInit.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/math/sinf.o: OPT_FLAGS := -O2 -mips2
$(BUILD_DIR)/lib/src/math/ll%.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/string.o: OPT_FLAGS := -O2 -mips2
$(BUILD_DIR)/lib/src/sprintf.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osSyncPrintf.o: OPT_FLAGS := -O2
$(BUILD_DIR)/lib/src/_Printf.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osCreateMesgQueue.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osRecvMesg.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osSendMesg.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osSetEventMesg.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osSpTaskLoadGo.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osSpTaskYield.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osSpTaskYielded.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osSiRawStartDma.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osSiCreateAccessQueue.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osCreateThread.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osSetThreadPri.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osStartThread.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osDequeueThread.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osGetCurrFaultedThread.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osGetTime.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osSetTime.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osSetTimer.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osTimer.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osCreateViManager.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osViSetEvent.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osViSetMode.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osViSetSpecialFeatures.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osViSwapBuffer.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osViSwapContext.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osViBlack.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/guRotateF.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osEepromProbe.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osEepromLongWrite.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osEepromLongRead.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osCreatePiManager.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osEPiRawStartDma.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/epidma.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osCartRomInit.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osDevMgrMain.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osPiCreateAccessQueue.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osPiStartDma.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/motor.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osInitialize.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osAiDeviceBusy.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/_Litob.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/_Ldtob.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osJamMesg.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osSpDeviceBusy.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osSpGetStatus.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osSpSetStatus.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osSpSetPc.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osSpRawStartDma.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osSiRawReadIo.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osSiRawWriteIo.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osDestroyThread.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osGetThreadPri.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osYieldThread.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osViInit.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osViGetCurrentContext.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osEepromRead.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osEepromWrite.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osSetGlobalIntMask.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osResetGlobalIntMask.o: OPT_FLAGS := -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osPiRawStartDma.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osPiGetCmdQueue.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osEPiRawReadIo.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/osEPiRawWriteIo.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/ldiv.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/__osSiDeviceBusy.o: OPT_FLAGS := -O2 -mno-abicalls -mips2
$(BUILD_DIR)/lib/src/libgcc/%.o: OPT_FLAGS := -O2 -g -mips2
endif
ifeq ($(VERSION),eu)
$(BUILD_DIR)/lib/src/_Ldtob.o: OPT_FLAGS := -O3
$(BUILD_DIR)/lib/src/_Litob.o: OPT_FLAGS := -O3
@ -733,16 +899,31 @@ $(BUILD_DIR)/libgoddard.a: $(GODDARD_O_FILES)
@$(PRINT) "$(GREEN)Linking libgoddard: $(BLUE)$@ $(NO_COL)\n"
$(V)$(AR) rcs -o $@ $(GODDARD_O_FILES)
# Link libgcc
$(BUILD_DIR)/libgcc.a: $(LIBGCC_O_FILES)
@$(PRINT) "$(GREEN)Linking libgcc: $(BLUE)$@ $(NO_COL)\n"
$(V)$(AR) rcs -o $@ $(LIBGCC_O_FILES)
# Link SM64 ELF file
$(ELF): $(O_FILES) $(MIO0_OBJ_FILES) $(SEG_FILES) $(BUILD_DIR)/$(LD_SCRIPT) undefined_syms.txt $(BUILD_DIR)/libultra.a $(BUILD_DIR)/libgoddard.a
$(ELF): $(O_FILES) $(MIO0_OBJ_FILES) $(SEG_FILES) $(BUILD_DIR)/$(LD_SCRIPT) undefined_syms.txt $(BUILD_DIR)/libultra.a $(BUILD_DIR)/libgoddard.a $(BUILD_DIR)/libgcc.a
@$(PRINT) "$(GREEN)Linking ELF file: $(BLUE)$@ $(NO_COL)\n"
$(V)$(LD) -L $(BUILD_DIR) -T undefined_syms.txt -T $(BUILD_DIR)/$(LD_SCRIPT) -Map $(BUILD_DIR)/sm64.$(VERSION).map --no-check-sections $(addprefix -R ,$(SEG_FILES)) -o $@ $(O_FILES) -lultra -lgoddard
$(V)$(LD) -L $(BUILD_DIR) -T undefined_syms.txt -T $(BUILD_DIR)/$(LD_SCRIPT) -Map $(BUILD_DIR)/sm64.$(VERSION).map --no-check-sections $(addprefix -R ,$(SEG_FILES)) -o $@ $(O_FILES) -lultra -lgoddard -lgcc
# Build ROM
ifeq ($(VERSION),cn)
PAD_TO_GAP_FILL := --pad-to=0x7B0000 --gap-fill=0x00
else
PAD_TO_GAP_FILL := --pad-to=0x800000 --gap-fill=0xFF
endif
$(ROM): $(ELF)
$(call print,Building ROM:,$<,$@)
$(V)$(OBJCOPY) --pad-to=0x800000 --gap-fill=0xFF $< $(@:.z64=.bin) -O binary
ifeq ($(VERSION),cn) # cn has no checksums
$(V)$(OBJCOPY) $(PAD_TO_GAP_FILL) $< $(@) -O binary
else
$(V)$(OBJCOPY) $(PAD_TO_GAP_FILL) $< $(@:.z64=.bin) -O binary
$(V)$(N64CKSUM) $(@:.z64=.bin) $@
endif
$(BUILD_DIR)/$(TARGET).objdump: $(ELF)
$(OBJDUMP) -D $< > $@

View File

@ -178,6 +178,9 @@ $(eval $(call level_rules,menu,generic)) # Menu (File Select)
# --------------------------------------
# Ending cake textures are generated in a special way
$(BUILD_DIR)/levels/ending/cake_cn.inc.c: levels/ending/cake_cn.png
$(call print,Splitting:,$<,$@)
$(V)$(SKYCONV) --type cake-cn --split $^ $(BUILD_DIR)/levels/ending
$(BUILD_DIR)/levels/ending/cake_eu.inc.c: levels/ending/cake_eu.png
$(call print,Splitting:,$<,$@)
$(V)$(SKYCONV) --type cake-eu --split $^ $(BUILD_DIR)/levels/ending

View File

@ -1,6 +1,6 @@
# Super Mario 64
- This repo contains a full decompilation of Super Mario 64 (J), (U), (E), and (SH).
- This repo contains a full decompilation of Super Mario 64 of the following releases: Japan (jp), North America (us), Europe (eu), Shindou (sh) and iQue Player (cn).
- Naming and documentation of the source code and data structures are in progress.
It builds the following ROMs:
@ -9,16 +9,17 @@ It builds the following ROMs:
* sm64.us.z64 `sha1: 9bef1128717f958171a4afac3ed78ee2bb4e86ce`
* sm64.eu.z64 `sha1: 4ac5721683d0e0b6bbb561b58a71740845dceea9`
* sm64.sh.z64 `sha1: 3f319ae697533a255a1003d09202379d78d5a2e0`
* sm64.cn.z64 `sha1: 2e1db2780985a1f068077dc0444b685f39cd90ec`
This repo does not include all assets necessary for compiling the ROMs.
A prior copy of the game is required to extract the assets.
## Quick Start (for Ubuntu)
1. Install prerequisites: `sudo apt install -y build-essential git binutils-mips-linux-gnu python3`
1. Install prerequisites: `sudo apt install -y binutils-mips-linux-gnu build-essential git pkgconf python3`
2. Clone the repo from within Linux: `git clone https://github.com/n64decomp/sm64.git`
3. Place a Super Mario 64 ROM called `baserom.<VERSION>.z64` into the project folder for asset extraction, where `VERSION` can be `us`, `jp`, `eu`, or `sh`.
4. Run `make` to build. Qualify the version through `make VERSION=<VERSION>`. Add `-j4` to improve build speed (hardware dependent).
3. Place a Super Mario 64 ROM called `baserom.<VERSION>.z64` into the project folder for asset extraction, where `VERSION` can be `jp`, `us`, `eu`, `sh`, or `cn`.
4. Run `make` to build. Specify the version through `make VERSION=<VERSION>`. Add `-j4` to improve build speed (hardware dependent).
Ensure the repo path length does not exceed 255 characters. Long path names result in build errors.
@ -44,7 +45,6 @@ There are 3 steps to set up a working build.
The build system has the following package requirements:
* binutils-mips
* capstone
* pkgconf
* python3 >= 3.6
@ -53,18 +53,17 @@ Dependency installation instructions for common Linux distros are provided below
##### Debian / Ubuntu
To install build dependencies:
```
sudo apt install -y binutils-mips-linux-gnu build-essential git libcapstone-dev pkgconf python3
sudo apt install -y binutils-mips-linux-gnu build-essential git pkgconf python3
```
##### Arch Linux
To install build dependencies:
```
sudo pacman -S base-devel capstone python
sudo pacman -S base-devel python
```
Install the following AUR packages:
* [mips64-elf-binutils](https://aur.archlinux.org/packages/mips64-elf-binutils) (AUR)
##### Other Linux distributions
Most modern Linux distributions should have equivalent packages to the other two listed above.
@ -79,7 +78,7 @@ You may also use [Docker](#docker-installation) to handle installing an image wi
#### Step 2: Copy baserom(s) for asset extraction
For each version (jp/us/eu/sh) for which you want to build a ROM, put an existing ROM at
For each version (jp/us/eu/sh/cn) for which you want to build a ROM, put an existing ROM at
`./baserom.<VERSION>.z64` for asset extraction.
##### Step 3: Build the ROM
@ -95,10 +94,10 @@ Resulting artifacts can be found in the `build` directory.
The full list of configurable variables are listed below, with the default being the first listed:
* ``VERSION``: ``us``, ``jp``, ``eu``, ``sh``
* ``VERSION``: ``jp``, ``us``, ``eu``, ``sh``, ``cn``
* ``GRUCODE``: ``f3d_old``, ``f3d_new``, ``f3dex``, ``f3dex2``, ``f3dzex``
* ``COMPARE``: ``1`` (compare ROM hash), ``0`` (do not compare ROM hash)
* ``NON_MATCHING``: Use functionally equivalent C implementations for non-matchings (Currently there aren't any non-matchings, but this will apply to iQue). Also will avoid instances of undefined behavior.
* ``NON_MATCHING``: Use functionally equivalent C implementations for non-matchings. Also will avoid instances of undefined behavior.
* ``CROSS``: Cross-compiler tool prefix (Example: ``mips64-elf-``).
### macOS
@ -111,12 +110,12 @@ With macOS, you may either use Homebrew or [Docker](#docker-installation).
Install [Homebrew](https://brew.sh) and the following dependencies:
```
brew update
brew install capstone coreutils make pkg-config tehzz/n64-dev/mips64-elf-binutils
brew install coreutils make pkg-config tehzz/n64-dev/mips64-elf-binutils
```
#### Step 2: Copy baserom(s) for asset extraction
For each version (jp/us/eu/sh) for which you want to build a ROM, put an existing ROM at
For each version (jp/us/eu/sh/cn) for which you want to build a ROM, put an existing ROM at
`./baserom.<VERSION>.z64` for asset extraction.
##### Step 3: Build the ROM

View File

@ -1,55 +1,55 @@
const GeoLayout dAmpGeo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, dAmpEyeDl),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, dAmpElectricityDl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, dAmpElectricityDl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, dAmpElectricityDl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, dAmpElectricityDl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, dAmpMouthDl),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, dAmpBodyDl),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, dAmpEyeDl),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, dAmpElectricityDl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, dAmpElectricityDl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, dAmpElectricityDl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, dAmpElectricityDl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, dAmpMouthDl),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, dAmpBodyDl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,25 +1,25 @@
// 0x0C000000
const GeoLayout birds_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000670),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 1, -12, 37, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000528),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 1, -12, -37, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000600),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000670),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 1, -12, 37, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000528),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 1, -12, -37, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000600),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000598),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000598),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,20 +1,20 @@
// 0x0C000240
const GeoLayout blargg_geo[] = {
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, blargg_seg5_dl_05005D00),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 306, 0, 0, blargg_seg5_dl_05005A60),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, blargg_seg5_dl_05005D00),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 6, 3, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, blargg_seg5_dl_050058D0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 306, 0, 0, blargg_seg5_dl_05005A60),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 6, 3, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, blargg_seg5_dl_050058D0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,10 +1,10 @@
// 0x0F000000
const GeoLayout blue_coin_switch_geo[] = {
GEO_CULLING_RADIUS(300),
GEO_OPEN_NODE(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, blue_coin_switch_seg8_dl_08000E08),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(300),
GEO_OPEN_NODE(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, blue_coin_switch_seg8_dl_08000E08),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,32 +1,32 @@
// 0x16000BEC
const GeoLayout fish_shadow_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x9B, 50),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -16, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, blue_fish_seg3_dl_0301BFB8),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x9B, 50),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -16, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 97, 0, 0, blue_fish_seg3_dl_0301C150),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, blue_fish_seg3_dl_0301BFB8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 97, 0, 0, blue_fish_seg3_dl_0301C150),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x16000C44
const GeoLayout fish_geo[] = {
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -16, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, blue_fish_seg3_dl_0301BFB8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 97, 0, 0, blue_fish_seg3_dl_0301C150),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -16, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, blue_fish_seg3_dl_0301BFB8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 97, 0, 0, blue_fish_seg3_dl_0301C150),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,99 +1,99 @@
// 0x0F0007B8
const GeoLayout black_bobomb_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 70),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 24576),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 70),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 24576),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bobomb_seg8_dl_08022D08),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 57, -60, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 91, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bobomb_seg8_dl_08023270),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 55, 62, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 91, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bobomb_seg8_dl_08023378),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bobomb_seg8_dl_08023480),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, bobomb_seg8_dl_08022B58),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, bobomb_seg8_dl_08022B88),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bobomb_seg8_dl_08022D08),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 57, -60, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 91, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bobomb_seg8_dl_08023270),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 55, 62, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 91, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bobomb_seg8_dl_08023378),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bobomb_seg8_dl_08023480),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, bobomb_seg8_dl_08022B58),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, bobomb_seg8_dl_08022B88),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x0F0008F4
const GeoLayout bobomb_buddy_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 70),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 24576),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 70),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 24576),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bobomb_seg8_dl_08022D78),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 57, -60, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 91, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bobomb_seg8_dl_08023270),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 55, 62, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 91, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bobomb_seg8_dl_08023378),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bobomb_seg8_dl_08023480),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, bobomb_seg8_dl_08022B58),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, bobomb_seg8_dl_08022B88),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bobomb_seg8_dl_08022D78),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 57, -60, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 91, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bobomb_seg8_dl_08023270),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 55, 62, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 91, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bobomb_seg8_dl_08023378),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bobomb_seg8_dl_08023480),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, bobomb_seg8_dl_08022B58),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, bobomb_seg8_dl_08022B88),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,15 +1,15 @@
// 0x0D000B78 / 0BBC
const GeoLayout bowser_bomb_geo[] = {
GEO_CULLING_RADIUS(1000),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 196608),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, bomb_seg6_dl_0605A9C0),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bomb_seg6_dl_0605A830),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(1000),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 196608),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, bomb_seg6_dl_0605A9C0),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bomb_seg6_dl_0605A830),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,17 +1,17 @@
// 0x0C000224
const GeoLayout boo_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 70),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 26214),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, boo_seg5_dl_0500C1B0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, boo_seg5_dl_0500C1B0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 70),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 26214),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, boo_seg5_dl_0500C1B0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, boo_seg5_dl_0500C1B0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};

View File

@ -1,17 +1,17 @@
// 0x0D0005B0
const GeoLayout boo_castle_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 70),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 26214),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, boo_castle_seg6_dl_06017CE0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, boo_castle_seg6_dl_06017CE0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 70),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 26214),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, boo_castle_seg6_dl_06017CE0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, boo_castle_seg6_dl_06017CE0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};

View File

@ -1,8 +1,8 @@
// 0x0C0000C0
const GeoLayout bookend_geo[] = {
GEO_CULLING_RADIUS(300),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, book_seg5_dl_05002FB0),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(300),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, book_seg5_dl_05002FB0),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,29 +1,29 @@
// 0x0C000000
const GeoLayout bookend_part_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bookend_seg5_dl_05001F98),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bookend_seg5_dl_05001B20),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bookend_seg5_dl_05002140),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bookend_seg5_dl_05001F98),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bookend_seg5_dl_05001B20),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bookend_seg5_dl_05002140),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bookend_seg5_dl_05001D68),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bookend_seg5_dl_05001978),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bookend_seg5_dl_050022E0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bookend_seg5_dl_05001D68),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bookend_seg5_dl_05001978),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bookend_seg5_dl_050022E0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};

View File

@ -4,24 +4,24 @@
// 0x0F000640
const GeoLayout bowling_ball_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 280),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 170393),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bobomb_seg8_dl_08022D08),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 280),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 170393),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bobomb_seg8_dl_08022D08),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x0F00066C
const GeoLayout bowling_ball_track_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 170393),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bobomb_seg8_dl_08022D08),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 170393),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bobomb_seg8_dl_08022D08),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,419 +1,419 @@
// 0x0D0000D8
const GeoLayout bowser_geo_0000D8[] = {
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0x9B, 400),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06040210),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -89, -2, -18, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0x9B, 400),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06040210),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -89, -2, -18, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 69, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 85, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603D200),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603E6B8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 69, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 85, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603D200),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603E6B8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, -32, -112, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, -32, -112, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06043698),
GEO_ASM(0, geo_update_body_rot_from_parent),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06043698),
GEO_ASM(0, geo_update_body_rot_from_parent),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 118, 67, 105, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 118, 67, 105, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 65, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 49, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603B208),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060399D8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060392E0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 65, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 49, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603B208),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060399D8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060392E0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 136, 130, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 136, 130, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 61, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -13, 258, 0, bowser_seg6_dl_060431F0),
GEO_CLOSE_NODE(),
GEO_SWITCH_CASE(9, geo_switch_bowser_eyes),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042348),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060423A0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060423F8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042450),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060424A8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042500),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042558),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060425B0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042608),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 61, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -13, 258, 0, bowser_seg6_dl_060431F0),
GEO_CLOSE_NODE(),
GEO_SWITCH_CASE(9, geo_switch_bowser_eyes),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042348),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060423A0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060423F8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042450),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060424A8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042500),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042558),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060425B0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042608),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -118, 67, 105, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, -118, 67, 105, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 65, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 49, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603DFB0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603C6D0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603BFC8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 65, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 49, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603DFB0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603C6D0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603BFC8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 89, -2, -18, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 89, -2, -18, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 69, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 85, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603A4E8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603B8D0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 69, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 85, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603A4E8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603B8D0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
// 0x0D000424
const GeoLayout bowser_geo_000424[] = {
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0x9B, 400),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0x9B, 400),
GEO_OPEN_NODE(),
#if BUGFIX_BOWSER_FADING_OUT
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040358),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040358),
#else
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040210),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040210),
#endif
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, -89, -2, -18, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, -89, -2, -18, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 69, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 85, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603D200),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603E6B8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 69, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 85, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603D200),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603E6B8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, -32, -112, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, -32, -112, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06043698),
GEO_ASM(0, geo_update_body_rot_from_parent),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06043698),
GEO_ASM(0, geo_update_body_rot_from_parent),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 118, 67, 105, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 118, 67, 105, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 49, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B208),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060399D8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060392E0),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 49, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B208),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060399D8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060392E0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 136, 130, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 136, 130, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 61, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, -13, 258, 0, bowser_seg6_dl_060431F0),
GEO_CLOSE_NODE(),
GEO_SWITCH_CASE(9, geo_switch_bowser_eyes),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042348),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060423A0),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060423F8),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042450),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060424A8),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042500),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042558),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060425B0),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042608),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 61, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, -13, 258, 0, bowser_seg6_dl_060431F0),
GEO_CLOSE_NODE(),
GEO_SWITCH_CASE(9, geo_switch_bowser_eyes),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042348),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060423A0),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060423F8),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042450),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060424A8),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042500),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042558),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060425B0),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042608),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, -118, 67, 105, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, -118, 67, 105, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 49, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603DFB0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603C6D0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603BFC8),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 49, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603DFB0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603C6D0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603BFC8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 89, -2, -18, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 89, -2, -18, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 69, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 85, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603A4E8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 69, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 85, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603A4E8),
GEO_CLOSE_NODE(),
#if BUGFIX_BOWSER_FADING_OUT
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B948),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B948),
#else
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B8D0),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B8D0),
#endif
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
// 0x0D000770
const GeoLayout bowser_geo_000770[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
#if BUGFIX_BOWSER_FADING_OUT
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040358),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040358),
#else
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040210),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040210),
#endif
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, -89, -2, -18, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, -89, -2, -18, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 69, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 85, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603D200),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603E6B8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 69, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 85, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603D200),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603E6B8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, -32, -112, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, -32, -112, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06043698),
GEO_ASM(0, geo_update_body_rot_from_parent),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06043698),
GEO_ASM(0, geo_update_body_rot_from_parent),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 118, 67, 105, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 118, 67, 105, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 49, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B208),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060399D8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060392E0),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 49, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B208),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060399D8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060392E0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 136, 130, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 136, 130, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 61, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, -13, 258, 0, bowser_seg6_dl_060431F0),
GEO_CLOSE_NODE(),
GEO_SWITCH_CASE(9, geo_switch_bowser_eyes),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042348),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060423A0),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060423F8),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042450),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060424A8),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042500),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042558),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060425B0),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042608),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 61, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, -13, 258, 0, bowser_seg6_dl_060431F0),
GEO_CLOSE_NODE(),
GEO_SWITCH_CASE(9, geo_switch_bowser_eyes),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042348),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060423A0),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060423F8),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042450),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060424A8),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042500),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042558),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060425B0),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042608),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, -118, 67, 105, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, -118, 67, 105, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 49, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603DFB0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603C6D0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603BFC8),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 49, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603DFB0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603C6D0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603BFC8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 89, -2, -18, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 89, -2, -18, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 69, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 85, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603A4E8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 69, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 85, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603A4E8),
GEO_CLOSE_NODE(),
#if BUGFIX_BOWSER_FADING_OUT
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B948),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B948),
#else
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B8D0),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B8D0),
#endif
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
#ifndef VERSION_JP
// 0x0D000AB8
const GeoLayout bowser_shadow_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0x9B, 400),
GEO_RETURN(),
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0x9B, 400),
GEO_RETURN(),
};
#endif
// 0x0D000AB8 / 0AC4
const GeoLayout bowser_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
#ifndef VERSION_JP
GEO_SWITCH_CASE(3, geo_switch_anim_state),
GEO_SWITCH_CASE(3, geo_switch_anim_state),
#else
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
#endif
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_bits_bowser_coloring),
GEO_BRANCH(1, bowser_geo_0000D8),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_bits_bowser_coloring),
GEO_BRANCH(1, bowser_geo_0000D8),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_bits_bowser_coloring),
GEO_BRANCH(1, bowser_geo_000424),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_bits_bowser_coloring),
GEO_BRANCH(1, bowser_geo_000424),
GEO_CLOSE_NODE(),
#ifndef VERSION_JP
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_bits_bowser_coloring),
GEO_BRANCH(1, bowser_shadow_geo),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_bits_bowser_coloring),
GEO_BRANCH(1, bowser_shadow_geo),
GEO_CLOSE_NODE(),
#endif
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x0D000B18 / 0B40
const GeoLayout bowser_geo_no_shadow[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
#ifndef VERSION_JP
GEO_SWITCH_CASE(3, geo_switch_anim_state),
GEO_SWITCH_CASE(3, geo_switch_anim_state),
#else
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
#endif
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_bits_bowser_coloring),
GEO_BRANCH(1, bowser_geo_0000D8),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_bits_bowser_coloring),
GEO_BRANCH(1, bowser_geo_0000D8),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_bits_bowser_coloring),
GEO_BRANCH(1, bowser_geo_000770),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_bits_bowser_coloring),
GEO_BRANCH(1, bowser_geo_000770),
GEO_CLOSE_NODE(),
#ifndef VERSION_JP
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_bits_bowser_coloring),
GEO_BRANCH(1, bowser_shadow_geo),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_bits_bowser_coloring),
GEO_BRANCH(1, bowser_shadow_geo),
GEO_CLOSE_NODE(),
#endif
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,24 +1,24 @@
// 0x0D000000
const GeoLayout bowser_flames_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(14, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C108),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C1A8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C248),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C2E8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C388),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C428),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C4C8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C568),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C608),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C6A8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C748),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C7E8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C888),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C928),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(14, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C108),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C1A8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C248),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C2E8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C388),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C428),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C4C8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C568),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C608),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C6A8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C748),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C7E8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C888),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg6_dl_0601C928),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,31 +1,31 @@
// 0x16000A84
const GeoLayout bowser_key_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x9B, 300),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 65536),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_key_dl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x9B, 300),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 65536),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_key_dl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x16000AB0
const GeoLayout bowser_key_cutscene_geo[] = {
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_scale_bowser_key),
GEO_SCALE(0x00, 65536),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_key_dl),
GEO_ASM(0, geo_scale_bowser_key),
GEO_SCALE(0x00, 65536),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_key_dl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};

View File

@ -1,28 +1,28 @@
// 0x0F0005D0
const GeoLayout breakable_box_geo[] = {
GEO_CULLING_RADIUS(500),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_SQUARE_PERMANENT, 0xB4, 240),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, breakable_box_seg8_dl_08012D20),
GEO_DISPLAY_LIST(LAYER_OPAQUE, breakable_box_seg8_dl_08012D48),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(500),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_SQUARE_PERMANENT, 0xB4, 240),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, breakable_box_seg8_dl_08012D20),
GEO_DISPLAY_LIST(LAYER_OPAQUE, breakable_box_seg8_dl_08012D48),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x0F000610
const GeoLayout breakable_box_small_geo[] = {
GEO_CULLING_RADIUS(500),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, breakable_box_seg8_dl_08012D20),
GEO_DISPLAY_LIST(LAYER_OPAQUE, breakable_box_seg8_dl_08012D48),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(500),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, breakable_box_seg8_dl_08012D20),
GEO_DISPLAY_LIST(LAYER_OPAQUE, breakable_box_seg8_dl_08012D48),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,22 +1,22 @@
// 0x0D00038C
const GeoLayout bub_geo[] = {
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -13, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bub_seg6_dl_06011B28),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 135, 0, 0, bub_seg6_dl_06011CF0),
GEO_ANIMATED_PART(LAYER_OPAQUE, -33, -86, -35, NULL),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -13, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bub_seg6_dl_06011B28),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bub_seg6_dl_06011E48),
GEO_ANIMATED_PART(LAYER_OPAQUE, 135, 0, 0, bub_seg6_dl_06011CF0),
GEO_ANIMATED_PART(LAYER_OPAQUE, -33, -86, -35, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bub_seg6_dl_06011E48),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -34, 71, -36, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bub_seg6_dl_06011FA0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -34, 71, -36, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bub_seg6_dl_06011FA0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,12 +1,12 @@
// 0x0C000000
const GeoLayout bubba_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, bubba_seg5_dl_05004E80),
GEO_DISPLAY_LIST(LAYER_OPAQUE, bubba_seg5_dl_05005978),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, bubba_seg5_dl_05004E80),
GEO_DISPLAY_LIST(LAYER_OPAQUE, bubba_seg5_dl_05005978),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,17 +1,17 @@
// 0x17000000
const GeoLayout bubble_geo[] = {
GEO_SWITCH_CASE(1, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bubble_seg4_dl_0401DD60),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SWITCH_CASE(1, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bubble_seg4_dl_0401DD60),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x1700001C
const GeoLayout purple_marble_geo[] = {
GEO_SWITCH_CASE(1, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bubble_seg4_dl_0401DDE0),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SWITCH_CASE(1, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bubble_seg4_dl_0401DDE0),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,11 +1,11 @@
// 0x0C000264
const GeoLayout bullet_bill_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_SQUARE_PERMANENT, 0x96, 400),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, bullet_bill_seg5_dl_0500E8A8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_SQUARE_PERMANENT, 0x96, 400),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, bullet_bill_seg5_dl_0500E8A8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,91 +1,91 @@
// 0x0C000000
const GeoLayout bully_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 70),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 24576),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 70),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 24576),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bully_seg5_dl_05003708),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, -75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bully_seg5_dl_050037A0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bully_seg5_dl_05003D40),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bully_seg5_dl_05000398),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, bully_seg5_dl_05003FC8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bully_seg5_dl_05003708),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, -75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bully_seg5_dl_050037A0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bully_seg5_dl_05003D40),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bully_seg5_dl_05000398),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, bully_seg5_dl_05003FC8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x0C000120
const GeoLayout bully_boss_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 210),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 49152),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 210),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 49152),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bully_seg5_dl_05003708),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, -75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bully_seg5_dl_050037A0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bully_seg5_dl_05003EA8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bully_seg5_dl_05000398),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, bully_seg5_dl_05003FC8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bully_seg5_dl_05003708),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, -75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bully_seg5_dl_050037A0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, bully_seg5_dl_05003EA8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, bully_seg5_dl_05000398),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, bully_seg5_dl_05003FC8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,8 +1,8 @@
// 0x17000084
const GeoLayout burn_smoke_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, burn_smoke_seg4_dl_04022070),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, burn_smoke_seg4_dl_04022070),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,26 +1,26 @@
// 0x160000A8
const GeoLayout butterfly_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xB4, 25),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, butterfly_seg3_dl_03005408),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xB4, 25),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, butterfly_seg3_dl_030054A0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, butterfly_seg3_dl_03005408),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, butterfly_seg3_dl_030054A0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,8 +1,8 @@
// 0x0F0001C0
const GeoLayout cannon_barrel_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, cannon_barrel_seg8_dl_08006660),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, cannon_barrel_seg8_dl_08006660),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,8 +1,8 @@
// 0x0F0001A8
const GeoLayout cannon_base_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, cannon_base_seg8_dl_080057F8),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, cannon_base_seg8_dl_080057F8),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,15 +1,15 @@
// 0x0C000048
const GeoLayout cap_switch_geo[] = {
GEO_CULLING_RADIUS(600),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, cap_switch_exclamation_seg5_dl_05002E00),
GEO_SWITCH_CASE(4, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, capswitch_seg5_dl_05003350),
GEO_DISPLAY_LIST(LAYER_OPAQUE, capswitch_seg5_dl_05003370),
GEO_DISPLAY_LIST(LAYER_OPAQUE, capswitch_seg5_dl_05003390),
GEO_DISPLAY_LIST(LAYER_OPAQUE, capswitch_seg5_dl_050033B0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(600),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, cap_switch_exclamation_seg5_dl_05002E00),
GEO_SWITCH_CASE(4, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, capswitch_seg5_dl_05003350),
GEO_DISPLAY_LIST(LAYER_OPAQUE, capswitch_seg5_dl_05003370),
GEO_DISPLAY_LIST(LAYER_OPAQUE, capswitch_seg5_dl_05003390),
GEO_DISPLAY_LIST(LAYER_OPAQUE, capswitch_seg5_dl_050033B0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,8 +1,8 @@
// 0x0D0005D0
const GeoLayout metallic_ball_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 60),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chain_ball_seg6_dl_060212E8),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 60),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chain_ball_seg6_dl_060212E8),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,22 +1,22 @@
// 0x0D0005EC
const GeoLayout chain_chomp_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 200),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chain_chomp_seg6_dl_06024940),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chain_chomp_seg6_dl_06024FC0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chain_chomp_seg6_dl_06024240),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chain_chomp_seg6_dl_06024D60),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, chain_chomp_seg6_dl_06024B00),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 200),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chain_chomp_seg6_dl_06024940),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chain_chomp_seg6_dl_06024FC0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chain_chomp_seg6_dl_06024240),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chain_chomp_seg6_dl_06024D60),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, chain_chomp_seg6_dl_06024B00),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};

View File

@ -1,29 +1,29 @@
// 0x0C0000D8
const GeoLayout haunted_chair_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chair_seg5_dl_05005190),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -7, -9, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chair_seg5_dl_05005680),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 156, -9, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chair_seg5_dl_05005408),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -3, 17, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chair_seg5_dl_05004EE8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chair_seg5_dl_05005190),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -7, -9, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chair_seg5_dl_05005680),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 156, -9, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chair_seg5_dl_05005408),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -3, 17, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chair_seg5_dl_05004EE8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};

View File

@ -1,8 +1,8 @@
// 0x0F0004E4
const GeoLayout checkerboard_platform_geo[] = {
GEO_CULLING_RADIUS(400),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, checkerboard_platform_seg8_dl_0800D680),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(400),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, checkerboard_platform_seg8_dl_0800D680),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,92 +1,92 @@
// Why are these scripts compressed unlike the other ones?
// 0x06003754
const GeoLayout chilly_chief_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 0x46),
GEO_OPEN_NODE(),
GEO_SCALE(0, 0x7333),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 0x46),
GEO_OPEN_NODE(),
GEO_SCALE(0, 0x7333),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, chilly_chief_seg6_dl_06002B30),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, -75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, chilly_chief_seg6_dl_06002BC8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chilly_chief_seg6_dl_06002D88),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, chilly_chief_seg6_dl_06002C60),
GEO_ANIMATED_PART(4, 0, 0, 0, chilly_chief_seg6_dl_06003010),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, chilly_chief_seg6_dl_06002B30),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, -75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, chilly_chief_seg6_dl_06002BC8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chilly_chief_seg6_dl_06002D88),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, chilly_chief_seg6_dl_06002C60),
GEO_ANIMATED_PART(4, 0, 0, 0, chilly_chief_seg6_dl_06003010),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x06003874
const GeoLayout chilly_chief_big_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 0xD2),
GEO_OPEN_NODE(),
GEO_SCALE(0, 0xE666),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 0xD2),
GEO_OPEN_NODE(),
GEO_SCALE(0, 0xE666),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, chilly_chief_seg6_dl_06002B30),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, -75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, chilly_chief_seg6_dl_06002BC8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chilly_chief_seg6_dl_06002EF0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, chilly_chief_seg6_dl_06002C60),
GEO_ANIMATED_PART(4, 0, 0, 0, chilly_chief_seg6_dl_06003010),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, chilly_chief_seg6_dl_06002B30),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, -75, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 146, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, chilly_chief_seg6_dl_06002BC8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chilly_chief_seg6_dl_06002EF0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, chilly_chief_seg6_dl_06002C60),
GEO_ANIMATED_PART(4, 0, 0, 0, chilly_chief_seg6_dl_06003010),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,117 +1,117 @@
// 0x0F0001D8
const GeoLayout chuckya_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 281, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chuckya_seg8_dl_0800ABE8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 113, -152, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 281, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 74, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 96, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chuckya_seg8_dl_0800ABE8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 113, -152, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 74, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chuckya_seg8_dl_0800A5F8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 96, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chuckya_seg8_dl_0800A5F8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chuckya_seg8_dl_0800A998),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, chuckya_seg8_dl_0800A758),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chuckya_seg8_dl_0800A068),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 1, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 209, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chuckya_seg8_dl_0800A1D0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 95, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chuckya_seg8_dl_0800A998),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, chuckya_seg8_dl_0800A758),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chuckya_seg8_dl_0800A068),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 1, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 209, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chuckya_seg8_dl_0800A428),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chuckya_seg8_dl_0800A1D0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 95, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chuckya_seg8_dl_0800A428),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 1, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 209, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chuckya_seg8_dl_0800A338),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 95, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 1, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 209, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chuckya_seg8_dl_0800A510),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ASM(0, geo_update_held_mario_pos),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chuckya_seg8_dl_0800A338),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 95, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, chuckya_seg8_dl_0800A510),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ASM(0, geo_update_held_mario_pos),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chuckya_seg8_dl_0800A8D0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, chuckya_seg8_dl_0800A8D0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,20 +1,20 @@
// 0x0C000000
const GeoLayout clam_shell_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, clam_shell_seg5_dl_05001568),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -520, -6, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, clam_shell_seg5_dl_050012B8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, clam_shell_seg5_dl_05001568),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -520, -6, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, clam_shell_seg5_dl_050012B8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,113 +1,113 @@
// 0x1600013C
const GeoLayout yellow_coin_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xB4, 50),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007800),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007800),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007828),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007828),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007850),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007850),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007878),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007878),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xB4, 50),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007800),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007800),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007828),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007828),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007850),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007850),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007878),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007878),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x160001A0
const GeoLayout yellow_coin_no_shadow_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007800),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007800),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007828),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007828),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007850),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007850),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007878),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007878),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007800),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007800),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007828),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007828),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007850),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007850),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007878),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007878),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x16000200
const GeoLayout blue_coin_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xB4, 80),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078A0),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078A0),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078C8),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078C8),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078F0),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078F0),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007918),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007918),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xB4, 80),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078A0),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078A0),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078C8),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078C8),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078F0),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078F0),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007918),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007918),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x16000264
const GeoLayout blue_coin_no_shadow_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078A0),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078A0),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078C8),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078C8),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078F0),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078F0),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007918),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007918),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078A0),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078A0),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078C8),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078C8),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078F0),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030078F0),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007918),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007918),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x160002C4
const GeoLayout red_coin_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xB4, 80),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007940),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007940),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007968),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007968),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007990),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007990),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030079B8),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030079B8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xB4, 80),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007940),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007940),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007968),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007968),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007990),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007990),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030079B8),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030079B8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x16000328
const GeoLayout red_coin_no_shadow_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007940),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007940),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007968),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007968),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007990),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007990),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030079B8),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030079B8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007940),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007940),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007968),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007968),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007990),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_03007990),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030079B8),
GEO_DISPLAY_LIST(LAYER_ALPHA, coin_seg3_dl_030079B8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,18 +1,18 @@
// 0x0D000324
const GeoLayout cyan_fish_geo[] = {
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, cyan_fish_seg6_dl_0600DDD8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 160, 0, 0, cyan_fish_seg6_dl_0600E038),
GEO_ANIMATED_PART(LAYER_OPAQUE, 32, 112, 0, NULL),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, cyan_fish_seg6_dl_0600DDD8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, cyan_fish_seg6_dl_0600DED8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 160, 0, 0, cyan_fish_seg6_dl_0600E038),
GEO_ANIMATED_PART(LAYER_OPAQUE, 32, 112, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, cyan_fish_seg6_dl_0600DED8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,33 +1,33 @@
// 0x16000ED4
const GeoLayout dirt_animation_geo[] = {
GEO_CULLING_RADIUS(300),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(6, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C378),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C3B0),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C3E8),
GEO_DISPLAY_LIST(LAYER_ALPHA, dirt_seg3_dl_0302C028),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C420),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C458),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(300),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(6, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C378),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C3B0),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C3E8),
GEO_DISPLAY_LIST(LAYER_ALPHA, dirt_seg3_dl_0302C028),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C420),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C458),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// This is probably wrongly named according to the Bin IDs...
// 0x16000F24
const GeoLayout cartoon_star_geo[] = {
GEO_CULLING_RADIUS(300),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(5, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C298),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C2B8),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C2D8),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C2F8),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C318),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(300),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(5, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C298),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C2B8),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C2D8),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C2F8),
GEO_DISPLAY_LIST(LAYER_OPAQUE, dirt_seg3_dl_0302C318),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,320 +1,320 @@
// 0x160003A8
const GeoLayout castle_door_geo[] = {
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 3500),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(3500, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014100),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 3500),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(3500, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014100),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};
// 0x1600043C
const GeoLayout cabin_door_geo[] = {
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 3500),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013EA8),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(3500, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014128),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 3500),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013EA8),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(3500, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014128),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};
// 0x160004D0
const GeoLayout wooden_door_geo[] = {
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 3500),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014A80),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(3500, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014F98),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 3500),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014A80),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(3500, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014F98),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};
// 0x16000564
const GeoLayout wooden_door2_geo[] = {
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 3500),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014B30),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(3500, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03015008),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 3500),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014B30),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(3500, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03015008),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};
// 0x160005F8
const GeoLayout metal_door_geo[] = {
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 3500),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014BE0),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(3500, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03015078),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 3500),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014BE0),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(3500, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03015078),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};
// 0x1600068C
const GeoLayout hazy_maze_door_geo[] = {
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 3500),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014C90),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(3500, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_030150E8),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 3500),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014C90),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(3500, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_030150E8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};
// 0x16000720
const GeoLayout haunted_door_geo[] = {
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 3500),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014D40),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(3500, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03015158),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 3500),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03014D40),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(3500, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03015158),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};
// 0x160007B4
const GeoLayout castle_door_0_star_geo[] = {
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 1000),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, door_seg3_dl_03014250),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(1000, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, door_seg3_dl_03014280),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 1000),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, door_seg3_dl_03014250),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(1000, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, door_seg3_dl_03014280),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};
// 0x16000868
const GeoLayout castle_door_1_star_geo[] = {
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 1000),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, door_seg3_dl_030142B0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(1000, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, door_seg3_dl_030142E0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 1000),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, door_seg3_dl_030142B0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(1000, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, door_seg3_dl_030142E0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};
// 0x1600091C
const GeoLayout castle_door_3_stars_geo[] = {
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 1000),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, door_seg3_dl_03014310),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(1000, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, door_seg3_dl_03014340),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 1000),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, door_seg3_dl_03014310),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(1000, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, door_seg3_dl_03014340),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};
// 0x160009D0
const GeoLayout key_door_geo[] = {
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_TRANSLATE_NODE(0x00, 78, 0, 0),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -300, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 1000),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, door_seg3_dl_03014540),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(1000, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, door_seg3_dl_03014528),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_RENDER_RANGE(-2048, 1000),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, door_seg3_dl_03014540),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RENDER_RANGE(1000, 32767),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, door_seg3_dl_03013E28),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, door_seg3_dl_03014528),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};

View File

@ -1,54 +1,54 @@
// 0x0D000230
const GeoLayout dorrie_geo[] = {
GEO_CULLING_RADIUS(5000),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, dorrie_seg6_dl_0600CFD0),
GEO_CULLING_RADIUS(5000),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 1295, 0, 0, dorrie_seg6_dl_0600C8B8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 916, 0, 0, dorrie_seg6_dl_0600C468),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 874, 0, 0, dorrie_seg6_dl_0600BAF8),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, dorrie_seg6_dl_0600DFA8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 30, 444, -6, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, dorrie_seg6_dl_0600CFD0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 1295, 0, 0, dorrie_seg6_dl_0600C8B8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 916, 0, 0, dorrie_seg6_dl_0600C468),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, dorrie_seg6_dl_0600C030),
GEO_ANIMATED_PART(LAYER_OPAQUE, 874, 0, 0, dorrie_seg6_dl_0600BAF8),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, dorrie_seg6_dl_0600DFA8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 30, 444, -6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, dorrie_seg6_dl_0600C030),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -893, -490, -6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, dorrie_seg6_dl_0600D440),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 1300, 0, 0, dorrie_seg6_dl_0600D6D8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -1086, 91, -700, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, dorrie_seg6_dl_0600DE38),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 902, 700, -785, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, dorrie_seg6_dl_0600DA88),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -1086, 91, 698, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, dorrie_seg6_dl_0600DC60),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 902, 700, 783, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, dorrie_seg6_dl_0600D8B0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -893, -490, -6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, dorrie_seg6_dl_0600D440),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 1300, 0, 0, dorrie_seg6_dl_0600D6D8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -1086, 91, -700, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, dorrie_seg6_dl_0600DE38),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 902, 700, -785, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, dorrie_seg6_dl_0600DA88),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -1086, 91, 698, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, dorrie_seg6_dl_0600DC60),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 902, 700, 783, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, dorrie_seg6_dl_0600D8B0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};

View File

@ -1,17 +1,17 @@
// 0x0F000694
const GeoLayout exclamation_box_geo[] = {
GEO_CULLING_RADIUS(300),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_SQUARE_PERMANENT, 0xB4, 70),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(4, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, exclamation_box_seg8_dl_08019318),
GEO_DISPLAY_LIST(LAYER_OPAQUE, exclamation_box_seg8_dl_08019378),
GEO_DISPLAY_LIST(LAYER_OPAQUE, exclamation_box_seg8_dl_080193D8),
GEO_DISPLAY_LIST(LAYER_OPAQUE, exclamation_box_seg8_dl_08019438),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(300),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_SQUARE_PERMANENT, 0xB4, 70),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(4, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, exclamation_box_seg8_dl_08019318),
GEO_DISPLAY_LIST(LAYER_OPAQUE, exclamation_box_seg8_dl_08019378),
GEO_DISPLAY_LIST(LAYER_OPAQUE, exclamation_box_seg8_dl_080193D8),
GEO_DISPLAY_LIST(LAYER_OPAQUE, exclamation_box_seg8_dl_08019438),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,18 +1,18 @@
// 0x0F000A5A
const GeoLayout exclamation_box_outline_geo[] = {
GEO_CULLING_RADIUS(300),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_SQUARE_PERMANENT, 0xB4, 70),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(4, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, exclamation_box_outline_seg8_dl_08024F88),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, exclamation_box_outline_seg8_dl_08024FA8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, exclamation_box_outline_seg8_dl_08024FC8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, exclamation_box_outline_seg8_dl_08024FE8),
GEO_CLOSE_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, exclamation_box_outline_seg8_dl_080259F8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(300),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_SQUARE_PERMANENT, 0xB4, 70),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(4, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, exclamation_box_outline_seg8_dl_08024F88),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, exclamation_box_outline_seg8_dl_08024FA8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, exclamation_box_outline_seg8_dl_08024FC8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, exclamation_box_outline_seg8_dl_08024FE8),
GEO_CLOSE_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, exclamation_box_outline_seg8_dl_080259F8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,19 +1,19 @@
// 0x16000040
const GeoLayout explosion_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(9, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, explosion_seg3_dl_03004298),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, explosion_seg3_dl_03004298),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, explosion_seg3_dl_030042B0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, explosion_seg3_dl_030042B0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, explosion_seg3_dl_030042C8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, explosion_seg3_dl_030042E0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, explosion_seg3_dl_030042F8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, explosion_seg3_dl_03004310),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, explosion_seg3_dl_03004328),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(9, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, explosion_seg3_dl_03004298),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, explosion_seg3_dl_03004298),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, explosion_seg3_dl_030042B0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, explosion_seg3_dl_030042B0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, explosion_seg3_dl_030042C8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, explosion_seg3_dl_030042E0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, explosion_seg3_dl_030042F8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, explosion_seg3_dl_03004310),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, explosion_seg3_dl_03004328),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,131 +1,131 @@
// 0x0C0002AC
const GeoLayout eyerok_geo_0002AC[] = {
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 447, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C640),
GEO_ANIMATED_PART(LAYER_OPAQUE, 281, 5, -419, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 447, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 400, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 401, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500BF00),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C100),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C378),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 281, 5, -218, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 400, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 401, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500BF00),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C100),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C378),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 281, 5, -18, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 400, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 401, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500BF00),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C100),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C378),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 281, 5, 180, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 400, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 401, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500BF00),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C100),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C378),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C908),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(4, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, eyerok_seg5_dl_0500C9B8),
GEO_DISPLAY_LIST(LAYER_ALPHA, eyerok_seg5_dl_0500CA50),
GEO_DISPLAY_LIST(LAYER_ALPHA, eyerok_seg5_dl_0500CAE8),
GEO_DISPLAY_LIST(LAYER_ALPHA, eyerok_seg5_dl_0500CB80),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 181, 89, 80, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 199, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500BC88),
GEO_ANIMATED_PART(LAYER_OPAQUE, 200, 199, 199, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 336, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C640),
GEO_ANIMATED_PART(LAYER_OPAQUE, 281, 5, -419, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 400, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500B748),
GEO_ANIMATED_PART(LAYER_OPAQUE, 401, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500BF00),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C100),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500B9C0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C378),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 281, 5, -218, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 400, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 401, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500BF00),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C100),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C378),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 281, 5, -18, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 400, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 401, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500BF00),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C100),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C378),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 281, 5, 180, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 400, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 401, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500BF00),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C100),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C378),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500C908),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(4, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, eyerok_seg5_dl_0500C9B8),
GEO_DISPLAY_LIST(LAYER_ALPHA, eyerok_seg5_dl_0500CA50),
GEO_DISPLAY_LIST(LAYER_ALPHA, eyerok_seg5_dl_0500CAE8),
GEO_DISPLAY_LIST(LAYER_ALPHA, eyerok_seg5_dl_0500CB80),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 181, 89, 80, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 199, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500BC88),
GEO_ANIMATED_PART(LAYER_OPAQUE, 200, 199, 199, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 336, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500B748),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, eyerok_seg5_dl_0500B9C0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
// 0x0C0005A8
const GeoLayout eyerok_left_hand_geo[] = {
GEO_SHADOW(SHADOW_SQUARE_SCALABLE, 0xB4, 300),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, eyerok_seg5_dl_0500CC18),
GEO_BRANCH(1, eyerok_geo_0002AC),
GEO_DISPLAY_LIST(LAYER_OPAQUE, eyerok_seg5_dl_0500CC30),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_SQUARE_SCALABLE, 0xB4, 300),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, eyerok_seg5_dl_0500CC18),
GEO_BRANCH(1, eyerok_geo_0002AC),
GEO_DISPLAY_LIST(LAYER_OPAQUE, eyerok_seg5_dl_0500CC30),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x0C0005E4
const GeoLayout eyerok_right_hand_geo[] = {
GEO_SHADOW(SHADOW_SQUARE_SCALABLE, 0xB4, 300),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_BRANCH(1, eyerok_geo_0002AC),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_SQUARE_SCALABLE, 0xB4, 300),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_BRANCH(1, eyerok_geo_0002AC),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,46 +1,46 @@
// 0x16000B10
const GeoLayout red_flame_shadow_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x50, 20),
GEO_OPEN_NODE(),
GEO_BRANCH_AND_LINK(red_flame_geo),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x50, 20),
GEO_OPEN_NODE(),
GEO_BRANCH_AND_LINK(red_flame_geo),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x16000B2C
const GeoLayout red_flame_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B3B0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B3C8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B3E0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B3F8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B410),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B428),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B440),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B458),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B3B0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B3C8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B3E0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B3F8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B410),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B428),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B440),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B458),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x16000B8C
const GeoLayout blue_flame_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B500),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B518),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B530),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B548),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B560),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B578),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B590),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B5A8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B500),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B518),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B530),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B548),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B560),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B578),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B590),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, flame_seg3_dl_0301B5A8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,29 +1,29 @@
// 0x0F000518
const GeoLayout flyguy_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, flyguy_seg8_dl_08011710),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -45, -20, -55, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, flyguy_seg8_dl_08010840),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -45, -20, 55, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, flyguy_seg8_dl_08010968),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 250, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, flyguy_seg8_dl_08010B80),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, flyguy_seg8_dl_08011710),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -45, -20, -55, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, flyguy_seg8_dl_08010840),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -45, -20, 55, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, flyguy_seg8_dl_08010968),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 250, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, flyguy_seg8_dl_08010B80),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,8 +1,8 @@
// 0x0C00036C
const GeoLayout fwoosh_geo[] = {
GEO_CULLING_RADIUS(200),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, fwoosh_seg5_dl_05016040),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(200),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, fwoosh_seg5_dl_05016040),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,35 +1,35 @@
// 0x0F0006E4
const GeoLayout goomba_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, goomba_seg8_dl_0801D760),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, goomba_seg8_dl_0801D760),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, goomba_seg8_dl_0801B690),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, goomba_seg8_dl_0801B690),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 48, 0, 0, goomba_seg8_dl_0801B5C8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 48, 0, 0, goomba_seg8_dl_0801B5F0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -60, -16, 45, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, goomba_seg8_dl_0801CE20),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -60, -16, -45, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, goomba_seg8_dl_0801CF78),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 48, 0, 0, goomba_seg8_dl_0801B5C8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 48, 0, 0, goomba_seg8_dl_0801B5F0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -60, -16, 45, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, goomba_seg8_dl_0801CE20),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -60, -16, -45, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, goomba_seg8_dl_0801CF78),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,13 +1,13 @@
// 0x0C000274
const GeoLayout haunted_cage_geo[] = {
GEO_CULLING_RADIUS(300),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, haunted_cage_seg5_dl_0500F7D8),
GEO_DISPLAY_LIST(LAYER_OPAQUE, haunted_cage_seg5_dl_0500FC28),
GEO_DISPLAY_LIST(LAYER_ALPHA, haunted_cage_seg5_dl_05010100),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(300),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, haunted_cage_seg5_dl_0500F7D8),
GEO_DISPLAY_LIST(LAYER_OPAQUE, haunted_cage_seg5_dl_0500FC28),
GEO_DISPLAY_LIST(LAYER_ALPHA, haunted_cage_seg5_dl_05010100),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,8 +1,8 @@
// 0x0F0004FC
const GeoLayout heart_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x64, 100),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, heart_seg8_dl_0800DFE0),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x64, 100),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, heart_seg8_dl_0800DFE0),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,60 +1,60 @@
// 0x0C00028C
const GeoLayout heave_ho_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, heave_ho_seg5_dl_05014D80),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 140, -11, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, heave_ho_seg5_dl_05011EC0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 150, 50, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, heave_ho_seg5_dl_05014560),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, heave_ho_seg5_dl_050127F8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 135, 0, -84, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, heave_ho_seg5_dl_050126E8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 168, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, heave_ho_seg5_dl_050126E8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 168, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 149, -28, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, heave_ho_seg5_dl_050125F8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, heave_ho_seg5_dl_05012148),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, heave_ho_seg5_dl_050123A8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, heave_ho_seg5_dl_050126E8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, heave_ho_seg5_dl_05014D80),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 140, -11, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, heave_ho_seg5_dl_05011EC0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 150, 50, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, heave_ho_seg5_dl_05014560),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, heave_ho_seg5_dl_050127F8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 135, 0, -84, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, heave_ho_seg5_dl_050126E8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 168, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, heave_ho_seg5_dl_050126E8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 168, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 149, -28, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, heave_ho_seg5_dl_050125F8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, heave_ho_seg5_dl_05012148),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, heave_ho_seg5_dl_050123A8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, heave_ho_seg5_dl_050126E8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,62 +1,62 @@
// 0x0C000018
const GeoLayout hoot_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xFF, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 147, -5, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, hoot_seg5_dl_05004D48),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xFF, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 147, -5, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 96, 0, 0, hoot_seg5_dl_05001DF0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 34, -35, 31, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, hoot_seg5_dl_05003728),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 91, 0, 0, hoot_seg5_dl_050034D8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 121, 0, 0, hoot_seg5_dl_050033B0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 121, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 91, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, hoot_seg5_dl_05003600),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -31, 5, 37, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, hoot_seg5_dl_05004A98),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 42, 0, 0, hoot_seg5_dl_05004928),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -31, 5, -37, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, hoot_seg5_dl_05004CA8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 42, 0, 0, hoot_seg5_dl_05004B38),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 34, -35, -31, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, hoot_seg5_dl_05003288),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 91, 0, 0, hoot_seg5_dl_05003038),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 121, 0, 0, hoot_seg5_dl_05002F10),
GEO_ANIMATED_PART(LAYER_OPAQUE, 121, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 91, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, hoot_seg5_dl_05003160),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, hoot_seg5_dl_05004D48),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 96, 0, 0, hoot_seg5_dl_05001DF0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 34, -35, 31, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, hoot_seg5_dl_05003728),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 91, 0, 0, hoot_seg5_dl_050034D8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 121, 0, 0, hoot_seg5_dl_050033B0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 121, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 91, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, hoot_seg5_dl_05003600),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -31, 5, 37, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, hoot_seg5_dl_05004A98),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 42, 0, 0, hoot_seg5_dl_05004928),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -31, 5, -37, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, hoot_seg5_dl_05004CA8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 42, 0, 0, hoot_seg5_dl_05004B38),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 34, -35, -31, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, hoot_seg5_dl_05003288),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 91, 0, 0, hoot_seg5_dl_05003038),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 121, 0, 0, hoot_seg5_dl_05002F10),
GEO_ANIMATED_PART(LAYER_OPAQUE, 121, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 91, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, hoot_seg5_dl_05003160),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};

View File

@ -1,9 +1,9 @@
// 0x0D000090
const GeoLayout invisible_bowser_accessory_geo[] = {
GEO_CULLING_RADIUS(10000),
GEO_OPEN_NODE(),
GEO_ASM(20, geo_update_layer_transparency),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, impact_ring_seg6_dl_0601EAC0),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(10000),
GEO_OPEN_NODE(),
GEO_ASM(20, geo_update_layer_transparency),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, impact_ring_seg6_dl_0601EAC0),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,16 +1,16 @@
// 0x0D000BB8 / 0BFC
const GeoLayout bowser_impact_smoke_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
GEO_SWITCH_CASE(5, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, impact_smoke_seg6_dl_06062B38),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, impact_smoke_seg6_dl_06062BD8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, impact_smoke_seg6_dl_06062C78),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, impact_smoke_seg6_dl_06062D18),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, impact_smoke_seg6_dl_06062BD8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
GEO_SWITCH_CASE(5, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, impact_smoke_seg6_dl_06062B38),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, impact_smoke_seg6_dl_06062BD8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, impact_smoke_seg6_dl_06062C78),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, impact_smoke_seg6_dl_06062D18),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, impact_smoke_seg6_dl_06062BD8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,120 +1,120 @@
// 0x0C000000
const GeoLayout king_bobomb_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 300),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 300),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, king_bobomb_seg5_dl_0500B188),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, -243, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 488, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 110, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, king_bobomb_seg5_dl_0500AD08),
GEO_DISPLAY_LIST(LAYER_ALPHA, king_bobomb_seg5_dl_0500B188),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, -243, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, king_bobomb_seg5_dl_0500A5D8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, king_bobomb_seg5_dl_0500B2D0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, king_bobomb_seg5_dl_0500B418),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, king_bobomb_seg5_dl_0500B6C0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 243, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 488, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 110, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, king_bobomb_seg5_dl_0500B068),
GEO_ANIMATED_PART(LAYER_OPAQUE, 488, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 110, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, king_bobomb_seg5_dl_0500AD08),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, king_bobomb_seg5_dl_0500A5D8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, king_bobomb_seg5_dl_0500B2D0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, king_bobomb_seg5_dl_0500B418),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, king_bobomb_seg5_dl_0500B6C0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 243, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, king_bobomb_seg5_dl_0500A890),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 488, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 110, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, king_bobomb_seg5_dl_0500B068),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, king_bobomb_seg5_dl_0500A890),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, -1, 36, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 548, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, -1, 36, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, king_bobomb_seg5_dl_0500A4F0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 548, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, king_bobomb_seg5_dl_0500A4F0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 189, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, king_bobomb_seg5_dl_0500A6C0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ASM(0, geo_update_held_mario_pos),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 189, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, king_bobomb_seg5_dl_0500A6C0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ASM(0, geo_update_held_mario_pos),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 1, 36, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 548, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 1, 36, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, king_bobomb_seg5_dl_0500A7A8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 548, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, king_bobomb_seg5_dl_0500A7A8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 189, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, king_bobomb_seg5_dl_0500A978),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 189, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, king_bobomb_seg5_dl_0500A978),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};

View File

@ -1,96 +1,96 @@
// 0x0C000000
const GeoLayout klepto_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 250),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 65536),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, klepto_seg5_dl_050041E8),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 250),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 65536),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 62, 0, 0, klepto_seg5_dl_05003F20),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 44, 0, 0, klepto_seg5_dl_05003D80),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 58, 0, 0, klepto_seg5_dl_05003BD0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -3, 17, 17, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, klepto_seg5_dl_05004330),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 68, 0, 0, klepto_seg5_dl_050047C8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(4, geo_switch_anim_state),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, klepto_seg5_dl_050041E8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 62, 0, 0, klepto_seg5_dl_05003F20),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 44, 0, 0, klepto_seg5_dl_05003D80),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_offset_klepto_held_object),
GEO_TRANSLATE_ROTATE_WITH_DL(LAYER_OPAQUE, 0, 100, 0, 180, 270, 0, mario_cap_seg3_dl_03022F48),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_offset_klepto_held_object),
GEO_TRANSLATE_ROTATE_WITH_DL(LAYER_OPAQUE, 0, 100, 0, 180, 270, 0, star_seg3_dl_0302B870),
GEO_ASM(0, geo_offset_klepto_held_object),
GEO_TRANSLATE_ROTATE_WITH_DL(LAYER_ALPHA, 0, 100, 0, 180, 270, 0, star_seg3_dl_0302BA18),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_offset_klepto_held_object),
GEO_TRANSLATE_ROTATE_WITH_DL(LAYER_OPAQUE, 0, 100, 0, 180, 270, 0, transparent_star_seg3_dl_0302C620),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 58, 0, 0, klepto_seg5_dl_05003BD0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -3, 17, -17, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, klepto_seg5_dl_05004438),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 68, 0, 0, klepto_seg5_dl_05004B58),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 49, -9, -17, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, klepto_seg5_dl_05004D38),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 34, 0, 0, klepto_seg5_dl_05004F58),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 79, 0, 0, klepto_seg5_dl_05005178),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 49, -9, 17, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, klepto_seg5_dl_05004C28),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 34, 0, 0, klepto_seg5_dl_05004E48),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 79, 0, 0, klepto_seg5_dl_05005068),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -3, 17, 17, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, klepto_seg5_dl_05004330),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 68, 0, 0, klepto_seg5_dl_050047C8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(4, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_offset_klepto_held_object),
GEO_TRANSLATE_ROTATE_WITH_DL(LAYER_OPAQUE, 0, 100, 0, 180, 270, 0, mario_cap_seg3_dl_03022F48),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_offset_klepto_held_object),
GEO_TRANSLATE_ROTATE_WITH_DL(LAYER_OPAQUE, 0, 100, 0, 180, 270, 0, star_seg3_dl_0302B870),
GEO_ASM(0, geo_offset_klepto_held_object),
GEO_TRANSLATE_ROTATE_WITH_DL(LAYER_ALPHA, 0, 100, 0, 180, 270, 0, star_seg3_dl_0302BA18),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_offset_klepto_held_object),
GEO_TRANSLATE_ROTATE_WITH_DL(LAYER_OPAQUE, 0, 100, 0, 180, 270, 0, transparent_star_seg3_dl_0302C620),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -3, 17, -17, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, klepto_seg5_dl_05004438),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 68, 0, 0, klepto_seg5_dl_05004B58),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 49, -9, -17, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, klepto_seg5_dl_05004D38),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 34, 0, 0, klepto_seg5_dl_05004F58),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 79, 0, 0, klepto_seg5_dl_05005178),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 49, -9, 17, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, klepto_seg5_dl_05004C28),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 34, 0, 0, klepto_seg5_dl_05004E48),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 79, 0, 0, klepto_seg5_dl_05005068),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, klepto_seg5_dl_05004118),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, klepto_seg5_dl_05004118),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,99 +1,99 @@
// 0x0D0000D0
const GeoLayout koopa_without_shell_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x9B, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_0600C498),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x9B, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 114, 0, 0, koopa_seg6_dl_06007AF8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 114, 0, 0, koopa_seg6_dl_06007B20),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -29, 39, 60, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_0600B838),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 60, 0, 0, koopa_seg6_dl_060086D0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -29, 39, -60, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_0600BA10),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 60, 0, 0, koopa_seg6_dl_06008B50),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 55, 25, -73, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_0600BC18),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 54, 0, 0, koopa_seg6_dl_0600BA90),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 55, 25, 74, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_0600BE10),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 54, 0, 0, koopa_seg6_dl_0600BC88),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_0600C498),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 114, 0, 0, koopa_seg6_dl_06007AF8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 114, 0, 0, koopa_seg6_dl_06007B20),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -29, 39, 60, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_0600B838),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 60, 0, 0, koopa_seg6_dl_060086D0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -29, 39, -60, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_0600BA10),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 60, 0, 0, koopa_seg6_dl_06008B50),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 55, 25, -73, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_0600BC18),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 54, 0, 0, koopa_seg6_dl_0600BA90),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 55, 25, 74, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_0600BE10),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 54, 0, 0, koopa_seg6_dl_0600BC88),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x0D000214
const GeoLayout koopa_with_shell_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x9B, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_06008250),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x9B, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 114, 0, 0, koopa_seg6_dl_06007AF8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 114, 0, 0, koopa_seg6_dl_06007B20),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -29, 39, 60, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_0600B838),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 60, 0, 0, koopa_seg6_dl_060086D0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -29, 39, -60, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_0600BA10),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 60, 0, 0, koopa_seg6_dl_06008B50),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 55, 25, -73, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_0600BC18),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 54, 0, 0, koopa_seg6_dl_0600BA90),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 55, 25, 74, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_0600BE10),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 54, 0, 0, koopa_seg6_dl_0600BC88),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_06008250),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 114, 0, 0, koopa_seg6_dl_06007AF8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 114, 0, 0, koopa_seg6_dl_06007B20),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -29, 39, 60, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_0600B838),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 60, 0, 0, koopa_seg6_dl_060086D0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -29, 39, -60, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_0600BA10),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 60, 0, 0, koopa_seg6_dl_06008B50),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 55, 25, -73, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_0600BC18),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 54, 0, 0, koopa_seg6_dl_0600BA90),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 55, 25, 74, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_seg6_dl_0600BE10),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 54, 0, 0, koopa_seg6_dl_0600BC88),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,32 +1,32 @@
// 0x0D000000
const GeoLayout koopa_flag_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_flag_seg6_dl_06000A08),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 2040, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_flag_seg6_dl_06000B08),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 460, 0, 0, koopa_flag_seg6_dl_06000BF8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 460, 0, 0, koopa_flag_seg6_dl_06000CE0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_flag_seg6_dl_06000A08),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 2040, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, koopa_flag_seg6_dl_06000B08),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 344, 0, 0, koopa_flag_seg6_dl_06000DB0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 288, 0, 0, koopa_flag_seg6_dl_06000E38),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 460, 0, 0, koopa_flag_seg6_dl_06000BF8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 460, 0, 0, koopa_flag_seg6_dl_06000CE0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 344, 0, 0, koopa_flag_seg6_dl_06000DB0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 288, 0, 0, koopa_flag_seg6_dl_06000E38),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,35 +1,35 @@
// 0x0F000AB0
const GeoLayout koopa_shell_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 70),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 65536),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, koopa_shell_seg8_dl_08028B78),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 70),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 65536),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, koopa_shell_seg8_dl_08028B78),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x0F000ADC
const GeoLayout koopa_shell2_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 70),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, koopa_shell_seg8_dl_08027420),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 70),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, koopa_shell_seg8_dl_08027420),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x0F000B08
const GeoLayout koopa_shell3_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 70),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, koopa_shell_seg8_dl_080273C8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 70),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, koopa_shell_seg8_dl_080273C8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,43 +1,43 @@
// 0x0D000000
const GeoLayout lakitu_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_seg6_dl_06003E30),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 132, 0, 0, lakitu_seg6_dl_06004680),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, lakitu_seg6_dl_06004C60),
GEO_DISPLAY_LIST(LAYER_ALPHA, lakitu_seg6_dl_06004C88),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 87, 18, 72, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_seg6_dl_060047E8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 87, 18, -72, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_seg6_dl_060049E0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 334, -214, -50, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_seg6_dl_06005610),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_seg6_dl_06003E30),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 132, 0, 0, lakitu_seg6_dl_06004680),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 191, 0, 0, lakitu_seg6_dl_06005360),
GEO_DISPLAY_LIST(LAYER_ALPHA, lakitu_seg6_dl_06004C60),
GEO_DISPLAY_LIST(LAYER_ALPHA, lakitu_seg6_dl_06004C88),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_seg6_dl_060055E8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_seg6_dl_06005598),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 87, 18, 72, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_seg6_dl_060047E8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 87, 18, -72, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_seg6_dl_060049E0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 334, -214, -50, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_seg6_dl_06005610),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 191, 0, 0, lakitu_seg6_dl_06005360),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_seg6_dl_060055E8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_seg6_dl_06005598),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,34 +1,34 @@
// 0x0C0001BC
const GeoLayout enemy_lakitu_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 63, -62, lakitu_enemy_seg5_dl_050138B0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_enemy_seg5_dl_05012910),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 63, -62, lakitu_enemy_seg5_dl_050138B0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 132, 0, 0, lakitu_enemy_seg5_dl_05013160),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, lakitu_enemy_seg5_dl_05013350),
GEO_DISPLAY_LIST(LAYER_ALPHA, lakitu_enemy_seg5_dl_05013378),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 87, 18, 72, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_enemy_seg5_dl_050136A0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 87, 18, -72, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_enemy_seg5_dl_050134A8),
GEO_ASM(0, geo_update_projectile_pos_from_parent),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_enemy_seg5_dl_05012910),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 132, 0, 0, lakitu_enemy_seg5_dl_05013160),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, lakitu_enemy_seg5_dl_05013350),
GEO_DISPLAY_LIST(LAYER_ALPHA, lakitu_enemy_seg5_dl_05013378),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 87, 18, 72, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_enemy_seg5_dl_050136A0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 87, 18, -72, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, lakitu_enemy_seg5_dl_050134A8),
GEO_ASM(0, geo_update_projectile_pos_from_parent),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,8 +1,8 @@
// 0x16000C8C
const GeoLayout leaves_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, leaves_seg3_dl_0301CDE0),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, leaves_seg3_dl_0301CDE0),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,21 +1,21 @@
// 0x0C0001B4
const GeoLayout mad_piano_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mad_piano_seg5_dl_050098E8),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -141, -546, 218, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mad_piano_seg5_dl_05008CB0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mad_piano_seg5_dl_050098E8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -141, -546, 218, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mad_piano_seg5_dl_05008CB0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};

View File

@ -1,60 +1,60 @@
// 0x05008D14
const GeoLayout manta_seg5_geo_05008D14[] = {
GEO_SCALE(0, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05006750),
GEO_SCALE(0, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 440, 220, 6, NULL),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05006750),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05005358),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 220, 0, 0, manta_seg5_dl_050055A8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 180, 0, 0, manta_seg5_dl_05005768),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 440, -220, 6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05005C38),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 220, 0, 0, manta_seg5_dl_05005E88),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 180, 0, 0, manta_seg5_dl_05006048),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05006C08),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 168, 0, 0, manta_seg5_dl_05006B70),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 236, 0, 0, manta_seg5_dl_05006B08),
GEO_ANIMATED_PART(1, 236, 0, 0, manta_seg5_dl_05004E90),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 688, 120, -6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05005038),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 668, 170, 6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05004DB8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 688, -120, -6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05005918),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 668, -170, 6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05004A70),
GEO_ANIMATED_PART(1, 440, 220, 6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05005358),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 220, 0, 0, manta_seg5_dl_050055A8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 180, 0, 0, manta_seg5_dl_05005768),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 440, -220, 6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05005C38),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 220, 0, 0, manta_seg5_dl_05005E88),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 180, 0, 0, manta_seg5_dl_05006048),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05006C08),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 168, 0, 0, manta_seg5_dl_05006B70),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 236, 0, 0, manta_seg5_dl_05006B08),
GEO_ANIMATED_PART(1, 236, 0, 0, manta_seg5_dl_05004E90),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 688, 120, -6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05005038),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 668, 170, 6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05004DB8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 688, -120, -6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05005918),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(1, 668, -170, 6, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(1, 0, 0, 0, manta_seg5_dl_05004A70),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_END(),
};

File diff suppressed because it is too large Load Diff

View File

@ -1,81 +1,81 @@
// 0x16000CA4
const GeoLayout marios_cap_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_seg3_dl_03022F48),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_seg3_dl_03022F48),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_seg3_dl_03022F48),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_seg3_dl_03022F48),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x16000CF0
const GeoLayout marios_metal_cap_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_seg3_dl_03022FF8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_seg3_dl_03022FF8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_seg3_dl_03022FF8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_seg3_dl_03022FF8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x16000D3C
const GeoLayout marios_wing_cap_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_seg3_dl_03022F48),
GEO_DISPLAY_LIST(LAYER_ALPHA, mario_cap_seg3_dl_030230B0),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_seg3_dl_03022F48),
GEO_DISPLAY_LIST(LAYER_ALPHA, mario_cap_seg3_dl_030230B0),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_seg3_dl_03023160),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_seg3_dl_03023160),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x16000DA8
const GeoLayout marios_winged_metal_cap_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 75),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_seg3_dl_03022FF8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mario_cap_seg3_dl_03023108),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_seg3_dl_03022FF8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mario_cap_seg3_dl_03023108),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_seg3_dl_03023298),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_seg3_dl_03023298),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,11 +1,11 @@
// 0x0F000A30
const GeoLayout metal_box_geo[] = {
GEO_CULLING_RADIUS(500),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_SQUARE_PERMANENT, 0xB4, 70),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, metal_box_dl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(500),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_SQUARE_PERMANENT, 0xB4, 70),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, metal_box_dl),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,56 +1,56 @@
// 0x0D000448
const GeoLayout mips_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mips_seg6_dl_06010C40),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 64, 0, 0, mips_seg6_dl_060107B8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 52, -24, -32, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mips_seg6_dl_06011DB0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 79, 0, 0, mips_seg6_dl_06011BB0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 52, -24, 32, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mips_seg6_dl_060110B0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 79, 0, 0, mips_seg6_dl_06010E60),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -31, 4, -39, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mips_seg6_dl_06011FC0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 45, 0, 0, mips_seg6_dl_06011990),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 52, 0, 0, mips_seg6_dl_06011780),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -31, 4, 40, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mips_seg6_dl_06011ED8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 45, 0, 0, mips_seg6_dl_06011520),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 52, 0, 0, mips_seg6_dl_06011310),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mips_seg6_dl_06010C40),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 64, 0, 0, mips_seg6_dl_060107B8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 52, -24, -32, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mips_seg6_dl_06011DB0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 79, 0, 0, mips_seg6_dl_06011BB0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 52, -24, 32, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mips_seg6_dl_060110B0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 79, 0, 0, mips_seg6_dl_06010E60),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -31, 4, -39, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mips_seg6_dl_06011FC0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 45, 0, 0, mips_seg6_dl_06011990),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 52, 0, 0, mips_seg6_dl_06011780),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -31, 4, 40, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, mips_seg6_dl_06011ED8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 45, 0, 0, mips_seg6_dl_06011520),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 52, 0, 0, mips_seg6_dl_06011310),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};
UNUSED static const u64 mips_unused_1 = 0;

View File

@ -1,19 +1,19 @@
// 0x16000000
const GeoLayout mist_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mist_seg3_dl_03000880),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mist_seg3_dl_03000880),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x16000020
const GeoLayout white_puff_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mist_seg3_dl_03000920),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mist_seg3_dl_03000920),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,59 +1,59 @@
// 0x0D000000
const GeoLayout moneybag_geo_000000[] = {
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, moneybag_seg6_dl_06005750),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, -120, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, moneybag_seg6_dl_06005980),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 120, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, moneybag_seg6_dl_060059F0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, moneybag_seg6_dl_06005688),
GEO_CLOSE_NODE(),
GEO_RETURN(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, moneybag_seg6_dl_06005750),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, -120, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, moneybag_seg6_dl_06005980),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 120, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, moneybag_seg6_dl_060059F0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, moneybag_seg6_dl_06005688),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
// 0x0D000078
const GeoLayout moneybag_geo_000078[] = {
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, moneybag_seg6_dl_06005750),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, -120, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, moneybag_seg6_dl_06005980),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 120, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, moneybag_seg6_dl_060059F0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, moneybag_seg6_dl_06005688),
GEO_CLOSE_NODE(),
GEO_RETURN(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, moneybag_seg6_dl_06005750),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, -120, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, moneybag_seg6_dl_06005980),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 120, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, moneybag_seg6_dl_060059F0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, moneybag_seg6_dl_06005688),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
// 0x0D0000F0
const GeoLayout moneybag_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_BRANCH(1, moneybag_geo_000000),
GEO_BRANCH(1, moneybag_geo_000078),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_BRANCH(1, moneybag_geo_000000),
GEO_BRANCH(1, moneybag_geo_000078),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};
UNUSED static const u64 moneybag_unused_1 = 0;

View File

@ -1,41 +1,41 @@
// 0x0C000000
const GeoLayout monty_mole_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, monty_mole_seg5_dl_050044B0),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 116, 0, 0, monty_mole_seg5_dl_05004C00),
GEO_ANIMATED_PART(LAYER_ALPHA, 116, 0, 0, monty_mole_seg5_dl_05004D30),
GEO_ANIMATED_PART(LAYER_OPAQUE, -68, -5, -40, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, monty_mole_seg5_dl_05003C48),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -68, -5, 40, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, monty_mole_seg5_dl_05003518),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 80, 1, 78, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, monty_mole_seg5_dl_050032A0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 80, 0, 0, monty_mole_seg5_dl_05003820),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 80, 1, -78, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, monty_mole_seg5_dl_050039D0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 80, 0, 0, monty_mole_seg5_dl_05003F50),
GEO_ASM(0, geo_update_projectile_pos_from_parent),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, monty_mole_seg5_dl_050044B0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 116, 0, 0, monty_mole_seg5_dl_05004C00),
GEO_ANIMATED_PART(LAYER_ALPHA, 116, 0, 0, monty_mole_seg5_dl_05004D30),
GEO_ANIMATED_PART(LAYER_OPAQUE, -68, -5, -40, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, monty_mole_seg5_dl_05003C48),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -68, -5, 40, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, monty_mole_seg5_dl_05003518),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 80, 1, 78, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, monty_mole_seg5_dl_050032A0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 80, 0, 0, monty_mole_seg5_dl_05003820),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 80, 1, -78, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, monty_mole_seg5_dl_050039D0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 80, 0, 0, monty_mole_seg5_dl_05003F50),
GEO_ASM(0, geo_update_projectile_pos_from_parent),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,8 +1,8 @@
// 0x0D000000
const GeoLayout mr_i_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x9B, 200),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_eyeball_seg6_dl_06002080),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x9B, 200),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_eyeball_seg6_dl_06002080),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,30 +1,30 @@
// 0x0D00001C
const GeoLayout mr_i_iris_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(20, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041F0),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_06004208),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_06004220),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_06004208),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041F0),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041F0),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_06004208),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_06004220),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_06004208),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041F0),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(20, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041F0),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_06004208),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_06004220),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_06004208),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041F0),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041F0),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_06004208),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_06004220),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_06004208),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041F0),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_iris_seg6_dl_060041D8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,8 +1,8 @@
// 0x16000E84
const GeoLayout mushroom_1up_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xB4, 80),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, mushroom_1up_seg3_dl_0302A660),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xB4, 80),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, mushroom_1up_seg3_dl_0302A660),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,20 +1,20 @@
// 0x16000E14
const GeoLayout number_geo[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(10, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_0),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_1),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_2),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_3),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_4),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_5),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_6),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_7),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_8),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_9),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(10, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_0),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_1),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_2),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_3),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_4),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_5),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_6),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_7),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_8),
GEO_DISPLAY_LIST(LAYER_ALPHA, dl_billboard_num_9),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,154 +1,154 @@
// 0x0C000098
const GeoLayout peach_geo_000098[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, peach_seg5_dl_05007230),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 78, 0, 0, peach_seg5_dl_05006A18),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, peach_seg5_dl_05007230),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 132, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_peach_eyes),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, peach_seg5_dl_05005CE0),
GEO_DISPLAY_LIST(LAYER_OPAQUE, peach_seg5_dl_05005D38),
GEO_DISPLAY_LIST(LAYER_OPAQUE, peach_seg5_dl_05005D90),
GEO_DISPLAY_LIST(LAYER_OPAQUE, peach_seg5_dl_05005DE8),
GEO_DISPLAY_LIST(LAYER_OPAQUE, peach_seg5_dl_05005E40),
GEO_DISPLAY_LIST(LAYER_OPAQUE, peach_seg5_dl_05005E98),
GEO_DISPLAY_LIST(LAYER_OPAQUE, peach_seg5_dl_05005EF0),
GEO_DISPLAY_LIST(LAYER_OPAQUE, peach_seg5_dl_05005F48),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 38, -78, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, peach_seg5_dl_05007AB8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 132, 0, 0, peach_seg5_dl_05009148),
GEO_ANIMATED_PART(LAYER_OPAQUE, 132, 0, 0, peach_seg5_dl_05008F20),
GEO_ANIMATED_PART(LAYER_OPAQUE, 63, 0, 84, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, peach_seg5_dl_05007E58),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 104, 0, 0, peach_seg5_dl_050087A8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 87, 0, 0, peach_seg5_dl_05009500),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, peach_seg5_dl_05008560),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 63, 0, -84, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, peach_seg5_dl_05008228),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 104, 0, 0, peach_seg5_dl_05008CF8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 87, 0, 0, peach_seg5_dl_05009940),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, peach_seg5_dl_05008AB0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 78, 0, 0, peach_seg5_dl_05006A18),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 132, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_peach_eyes),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, peach_seg5_dl_05005CE0),
GEO_DISPLAY_LIST(LAYER_OPAQUE, peach_seg5_dl_05005D38),
GEO_DISPLAY_LIST(LAYER_OPAQUE, peach_seg5_dl_05005D90),
GEO_DISPLAY_LIST(LAYER_OPAQUE, peach_seg5_dl_05005DE8),
GEO_DISPLAY_LIST(LAYER_OPAQUE, peach_seg5_dl_05005E40),
GEO_DISPLAY_LIST(LAYER_OPAQUE, peach_seg5_dl_05005E98),
GEO_DISPLAY_LIST(LAYER_OPAQUE, peach_seg5_dl_05005EF0),
GEO_DISPLAY_LIST(LAYER_OPAQUE, peach_seg5_dl_05005F48),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 38, -78, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, peach_seg5_dl_05007AB8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 132, 0, 0, peach_seg5_dl_05009148),
GEO_ANIMATED_PART(LAYER_OPAQUE, 132, 0, 0, peach_seg5_dl_05008F20),
GEO_ANIMATED_PART(LAYER_OPAQUE, 63, 0, 84, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, peach_seg5_dl_05007E58),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 104, 0, 0, peach_seg5_dl_050087A8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 87, 0, 0, peach_seg5_dl_05009500),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, peach_seg5_dl_05008560),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 63, 0, -84, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, peach_seg5_dl_05008228),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 104, 0, 0, peach_seg5_dl_05008CF8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 87, 0, 0, peach_seg5_dl_05009940),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, peach_seg5_dl_05008AB0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 78, 0, 0, peach_seg5_dl_050060E0),
GEO_ANIMATED_PART(LAYER_OPAQUE, -23, -1, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, peach_seg5_dl_0500A0A8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 78, 0, 0, peach_seg5_dl_050060E0),
GEO_ANIMATED_PART(LAYER_OPAQUE, -23, -1, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, peach_seg5_dl_0500A0A8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
// 0x0C000254
const GeoLayout peach_geo_000254[] = {
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
#ifdef VERSION_JP
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, peach_seg5_dl_05007230),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, peach_seg5_dl_05007230),
#else
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, peach_seg5_us_dl_05007288),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, peach_seg5_us_dl_05007288),
#endif
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 78, 0, 0, peach_seg5_dl_05006A18),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 132, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_peach_eyes),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, peach_seg5_dl_05005CE0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, peach_seg5_dl_05005D38),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, peach_seg5_dl_05005D90),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, peach_seg5_dl_05005DE8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, peach_seg5_dl_05005E40),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, peach_seg5_dl_05005E98),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, peach_seg5_dl_05005EF0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, peach_seg5_dl_05005F48),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 38, -78, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, peach_seg5_dl_05007AB8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 132, 0, 0, peach_seg5_dl_05009148),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 132, 0, 0, peach_seg5_dl_05008F20),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 63, 0, 84, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, peach_seg5_dl_05007E58),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 104, 0, 0, peach_seg5_dl_050087A8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 87, 0, 0, peach_seg5_dl_05009500),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, peach_seg5_dl_05008560),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 63, 0, -84, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, peach_seg5_dl_05008228),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 104, 0, 0, peach_seg5_dl_05008CF8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 87, 0, 0, peach_seg5_dl_05009940),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, peach_seg5_dl_05008AB0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 78, 0, 0, peach_seg5_dl_050060E0),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, -23, -1, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 78, 0, 0, peach_seg5_dl_05006A18),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 132, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(8, geo_switch_peach_eyes),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, peach_seg5_dl_05005CE0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, peach_seg5_dl_05005D38),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, peach_seg5_dl_05005D90),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, peach_seg5_dl_05005DE8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, peach_seg5_dl_05005E40),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, peach_seg5_dl_05005E98),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, peach_seg5_dl_05005EF0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, peach_seg5_dl_05005F48),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 38, -78, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, peach_seg5_dl_05007AB8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 132, 0, 0, peach_seg5_dl_05009148),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 132, 0, 0, peach_seg5_dl_05008F20),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 63, 0, 84, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, peach_seg5_dl_05007E58),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 104, 0, 0, peach_seg5_dl_050087A8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 87, 0, 0, peach_seg5_dl_05009500),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, peach_seg5_dl_05008560),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 63, 0, -84, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, peach_seg5_dl_05008228),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 104, 0, 0, peach_seg5_dl_05008CF8),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 87, 0, 0, peach_seg5_dl_05009940),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, peach_seg5_dl_05008AB0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 78, 0, 0, peach_seg5_dl_050060E0),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, -23, -1, 0, NULL),
GEO_OPEN_NODE(),
#ifdef VERSION_JP
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, peach_seg5_dl_0500A0A8),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, peach_seg5_dl_0500A0A8),
#else
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, peach_seg5_us_dl_0500A188),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, peach_seg5_us_dl_0500A188),
#endif
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_RETURN(),
};
// 0x0C000410
const GeoLayout peach_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_BRANCH(1, peach_geo_000098),
GEO_BRANCH(1, peach_geo_000254),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(10, geo_update_layer_transparency),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_BRANCH(1, peach_geo_000098),
GEO_BRANCH(1, peach_geo_000254),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
UNUSED static const u64 peach_unused_1 = 0;

View File

@ -1,44 +1,44 @@
// 0x0C000104
const GeoLayout penguin_geo[] = {
#if defined(VERSION_EU) || defined(VERSION_SH)
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0x96, 60),
#if defined(VERSION_EU) || defined(VERSION_SH) || defined(VERSION_CN)
GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0x96, 60),
#else
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
#endif
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 40, penguin_seg5_dl_05007540),
GEO_OPEN_NODE(),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 40, penguin_seg5_dl_05007540),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -51, 84, -13, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, penguin_seg5_dl_05007198),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, penguin_seg5_dl_05007198),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 51, 84, -13, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, penguin_seg5_dl_050071E8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, penguin_seg5_dl_050071E8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -38, -54, -13, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, penguin_seg5_dl_05007238),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, penguin_seg5_dl_05007238),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 38, -54, -13, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, penguin_seg5_dl_050072C8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, penguin_seg5_dl_050072C8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 111, -19, NULL),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(5, geo_switch_tuxie_mother_eyes),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, penguin_seg5_dl_05006428),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, penguin_seg5_dl_05006458),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, penguin_seg5_dl_05006488),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, penguin_seg5_dl_050064B8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, penguin_seg5_dl_050064E8), // unused, seen in Shoshinkai 1995 footage
GEO_CLOSE_NODE(),
GEO_SWITCH_CASE(5, geo_switch_tuxie_mother_eyes),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, penguin_seg5_dl_05006428),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, penguin_seg5_dl_05006458),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, penguin_seg5_dl_05006488),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, penguin_seg5_dl_050064B8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, penguin_seg5_dl_050064E8), // unused, seen in Shoshinkai 1995 footage
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,47 +1,47 @@
// 0x0D000358
const GeoLayout piranha_plant_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x9B, 200),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 14, 3, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, piranha_plant_seg6_dl_06015850),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x9B, 200),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 14, 3, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 46, 0, 0, piranha_plant_seg6_dl_06016F20),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 154, 0, 0, piranha_plant_seg6_dl_06016D98),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 153, 0, 0, piranha_plant_seg6_dl_06016C10),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 236, 42, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, piranha_plant_seg6_dl_06015850),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 46, 0, 0, piranha_plant_seg6_dl_06016F20),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 154, 0, 0, piranha_plant_seg6_dl_06016D98),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, piranha_plant_seg6_dl_060160B0),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, piranha_plant_seg6_dl_06016120),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 153, 0, 0, piranha_plant_seg6_dl_06016C10),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 236, 42, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, piranha_plant_seg6_dl_060160B0),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, piranha_plant_seg6_dl_06016120),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 217, -2, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, piranha_plant_seg6_dl_060169E8),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, piranha_plant_seg6_dl_06016A78),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 217, -2, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 49, 0, -34, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, piranha_plant_seg6_dl_060169E8),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, piranha_plant_seg6_dl_06016A78),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, piranha_plant_seg6_dl_06015480),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 49, 0, -34, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, piranha_plant_seg6_dl_06015480),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 49, 0, 37, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, piranha_plant_seg6_dl_06015578),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 49, 0, 37, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, piranha_plant_seg6_dl_06015578),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,21 +1,21 @@
// 0x0C000610
const GeoLayout pokey_head_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 50),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, pokey_seg5_dl_050127D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, pokey_seg5_dl_05012808),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 50),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, pokey_seg5_dl_050127D8),
GEO_DISPLAY_LIST(LAYER_ALPHA, pokey_seg5_dl_05012808),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x0C000644
const GeoLayout pokey_body_part_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 50),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, pokey_seg5_dl_050130B0),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 50),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, pokey_seg5_dl_050130B0),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,8 +1,8 @@
// 0x0D0000B8
const GeoLayout wooden_post_geo[] = {
GEO_CULLING_RADIUS(450),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, poundable_pole_seg6_dl_06002410),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(450),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, poundable_pole_seg6_dl_06002410),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -2,6 +2,15 @@
UNUSED static const u64 power_meter_unused_1 = 0;
#if defined(VERSION_CN)
ALIGNED8 static const Texture texture_power_meter_left_side[] = {
#include "actors/power_meter/power_meter_left_side_cn.rgba16.inc.c"
};
ALIGNED8 static const Texture texture_power_meter_right_side[] = {
#include "actors/power_meter/power_meter_right_side_cn.rgba16.inc.c"
};
#else
// 0x030233E0
ALIGNED8 static const Texture texture_power_meter_left_side[] = {
#include "actors/power_meter/power_meter_left_side.rgba16.inc.c"
@ -11,6 +20,7 @@ ALIGNED8 static const Texture texture_power_meter_left_side[] = {
ALIGNED8 static const Texture texture_power_meter_right_side[] = {
#include "actors/power_meter/power_meter_right_side.rgba16.inc.c"
};
#endif
// 0x030253E0
ALIGNED8 static const Texture texture_power_meter_full[] = {
@ -102,10 +112,17 @@ const Gfx dl_power_meter_base[] = {
// 0x03029530
static const Vtx vertex_power_meter_health_segments[] = {
#if defined(VERSION_CN)
{{{ -16, -20, 0}, 0, { 0, 992}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 15, -20, 0}, 0, { 992, 992}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 15, 12, 0}, 0, { 992, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -16, 12, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
#else
{{{ -16, -16, 0}, 0, { 0, 992}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 15, -16, 0}, 0, { 992, 992}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 15, 16, 0}, 0, { 992, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -16, 16, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
#endif
};
// 0x03029570 - 0x030295A0

View File

@ -1,8 +1,8 @@
// 0x0F0004CC
const GeoLayout purple_switch_geo[] = {
GEO_CULLING_RADIUS(300),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, purple_switch_seg8_dl_0800C718),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(300),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, purple_switch_seg8_dl_0800C718),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,118 +1,118 @@
// 0x0D000394
const GeoLayout scuttlebug_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, -29, 0, NULL),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -1, 113, 112, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 198, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 195, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014378),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014270),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014188),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -1, 109, -116, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 198, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 195, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014378),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014270),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014188),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, scuttlebug_seg6_dl_060139F8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -29, -57, 28, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 158, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, -29, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -1, 113, 112, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, scuttlebug_seg6_dl_06013AE8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 198, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 195, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014378),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014270),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014188),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06013CB8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -29, 55, 28, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 157, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -1, 109, -116, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, scuttlebug_seg6_dl_06013BD0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 198, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 195, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014378),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014270),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014188),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06013DA0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -1, -116, -111, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 198, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 195, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014378),
GEO_DISPLAY_LIST(LAYER_ALPHA, scuttlebug_seg6_dl_060139F8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014270),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014188),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -1, -116, 112, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 195, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 199, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -29, -57, 28, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014378),
GEO_ANIMATED_PART(LAYER_OPAQUE, 158, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, scuttlebug_seg6_dl_06013AE8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06013CB8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014270),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014188),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, scuttlebug_seg6_dl_060140F0),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -29, 55, 28, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 157, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, scuttlebug_seg6_dl_06013BD0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06013DA0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -1, -116, -111, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 198, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 195, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014378),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014270),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014188),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -1, -116, 112, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 195, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 199, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014378),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014270),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, scuttlebug_seg6_dl_06014188),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, scuttlebug_seg6_dl_060140F0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,20 +1,20 @@
// 0x0D000284
const GeoLayout seaweed_geo[] = {
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, seaweed_seg6_dl_0600A180),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 238, 0, 0, seaweed_seg6_dl_0600A088),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, seaweed_seg6_dl_0600A180),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 317, 0, 0, seaweed_seg6_dl_06009F90),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 314, 0, 0, seaweed_seg6_dl_06009E98),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 238, 0, 0, seaweed_seg6_dl_0600A088),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 317, 0, 0, seaweed_seg6_dl_06009F90),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 314, 0, 0, seaweed_seg6_dl_06009E98),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,98 +1,98 @@
// 0x0D000000
const GeoLayout skeeter_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, skeeter_seg6_dl_06000A08),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 100, -75, -105, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, skeeter_seg6_dl_06004070),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 405, 0, 0, skeeter_seg6_dl_06004040),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 540, 0, 0, skeeter_seg6_dl_06000EC0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -40, -75, -125, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, skeeter_seg6_dl_06004120),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 405, 0, 0, skeeter_seg6_dl_060040F0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 540, 0, 0, skeeter_seg6_dl_06000EC0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -40, -75, 125, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, skeeter_seg6_dl_060041D0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 405, 0, 0, skeeter_seg6_dl_060041A0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 540, 0, 0, skeeter_seg6_dl_06000EC0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -150, -87, 111, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, skeeter_seg6_dl_06000BD8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, skeeter_seg6_dl_06000CA8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -150, -87, -111, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, skeeter_seg6_dl_06000D78),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, skeeter_seg6_dl_06000BD8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 100, -75, 95, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, skeeter_seg6_dl_06004648),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 405, 0, 0, skeeter_seg6_dl_06004618),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 540, 0, 0, skeeter_seg6_dl_06000EC0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 147, 84, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, skeeter_seg6_dl_06005328),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 216, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, skeeter_seg6_dl_06000A08),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 100, -75, -105, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, skeeter_seg6_dl_06004070),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, skeeter_seg6_dl_06000AF0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 405, 0, 0, skeeter_seg6_dl_06004040),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 540, 0, 0, skeeter_seg6_dl_06000EC0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 216, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -40, -75, -125, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, skeeter_seg6_dl_06004120),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 405, 0, 0, skeeter_seg6_dl_060040F0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 540, 0, 0, skeeter_seg6_dl_06000EC0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -40, -75, 125, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, skeeter_seg6_dl_060041D0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 405, 0, 0, skeeter_seg6_dl_060041A0),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 540, 0, 0, skeeter_seg6_dl_06000EC0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -150, -87, 111, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, skeeter_seg6_dl_06000BD8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, skeeter_seg6_dl_06000CA8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -150, -87, -111, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, skeeter_seg6_dl_06000D78),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, skeeter_seg6_dl_06000BD8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 100, -75, 95, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, skeeter_seg6_dl_06004648),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 405, 0, 0, skeeter_seg6_dl_06004618),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 540, 0, 0, skeeter_seg6_dl_06000EC0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 147, 84, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, skeeter_seg6_dl_06005328),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 216, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, skeeter_seg6_dl_06000AF0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 216, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,11 +1,11 @@
// 0x0C000188
const GeoLayout small_key_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 80),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, small_key_seg5_dl_05006A68),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 80),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, small_key_seg5_dl_05006A68),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,57 +1,57 @@
// 0x0C00021C
const GeoLayout mr_blizzard_hidden_geo[] = {
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, snowman_seg5_dl_0500C620),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, snowman_seg5_dl_0500C620),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 356, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, snowman_seg5_dl_0500CBF8),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 356, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, snowman_seg5_dl_0500CBF8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 356, 0, 0, snowman_seg5_dl_0500CCE8),
GEO_ANIMATED_PART(LAYER_ALPHA, 356, 0, 0, snowman_seg5_dl_0500C760),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 65536),
GEO_OPEN_NODE(),
GEO_TRANSLATE_ROTATE_WITH_DL(LAYER_OPAQUE, 490, 14, 43, 305, 0, 248, mario_cap_seg3_dl_03022F48),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 89, 0, -229, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, snowman_seg5_dl_0500C500),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 68, 0, 0, snowman_seg5_dl_0500CAA8),
GEO_ASM(0, geo_update_projectile_pos_from_parent),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 356, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 356, 0, 0, snowman_seg5_dl_0500CCE8),
GEO_ANIMATED_PART(LAYER_ALPHA, 356, 0, 0, snowman_seg5_dl_0500C760),
GEO_SWITCH_CASE(2, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 65536),
GEO_OPEN_NODE(),
GEO_TRANSLATE_ROTATE_WITH_DL(LAYER_OPAQUE, 490, 14, 43, 305, 0, 248, mario_cap_seg3_dl_03022F48),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 89, 0, -229, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, snowman_seg5_dl_0500C500),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 68, 0, 0, snowman_seg5_dl_0500CAA8),
GEO_ASM(0, geo_update_projectile_pos_from_parent),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 356, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x0C000348
const GeoLayout mr_blizzard_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xB4, 160),
GEO_OPEN_NODE(),
GEO_BRANCH_AND_LINK(mr_blizzard_hidden_geo),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xB4, 160),
GEO_OPEN_NODE(),
GEO_BRANCH_AND_LINK(mr_blizzard_hidden_geo),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,27 +1,27 @@
// 0x0D0001A0
const GeoLayout snufit_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_snufit_move_mask),
GEO_TRANSLATE_NODE(0x00, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, snufit_seg6_dl_06009748),
GEO_CLOSE_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, snufit_seg6_dl_06009498),
GEO_DISPLAY_LIST(LAYER_OPAQUE, snufit_seg6_dl_06009938),
GEO_DISPLAY_LIST(LAYER_OPAQUE, snufit_seg6_dl_06009B68),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_snufit_scale_body),
GEO_SCALE(0x00, 0),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_snufit_move_mask),
GEO_TRANSLATE_NODE(0x00, 0, 0, 0),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, snufit_seg6_dl_06009A10),
GEO_DISPLAY_LIST(LAYER_OPAQUE, snufit_seg6_dl_06009748),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, snufit_seg6_dl_06009498),
GEO_DISPLAY_LIST(LAYER_OPAQUE, snufit_seg6_dl_06009938),
GEO_DISPLAY_LIST(LAYER_OPAQUE, snufit_seg6_dl_06009B68),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_snufit_scale_body),
GEO_SCALE(0x00, 0),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, snufit_seg6_dl_06009A10),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(), //! more close than open nodes
GEO_END(),
};

View File

@ -1,19 +1,19 @@
// 0x170001BC
const GeoLayout sparkles_geo[] = {
GEO_SWITCH_CASE(12, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A570),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A570),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A558),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A558),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A540),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A540),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A528),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A528),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A510),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A510),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A4F8),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A4F8),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SWITCH_CASE(12, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A570),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A570),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A558),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A558),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A540),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A540),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A528),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A528),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A510),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A510),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A4F8),
GEO_DISPLAY_LIST(LAYER_ALPHA, sparkles_seg4_dl_0402A4F8),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,16 +1,16 @@
// 0x17000284
const GeoLayout sparkles_animation_geo[] = {
GEO_SWITCH_CASE(9, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sparkles_animation_seg4_dl_04035300),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sparkles_animation_seg4_dl_04035318),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sparkles_animation_seg4_dl_04035330),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sparkles_animation_seg4_dl_04035348),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sparkles_animation_seg4_dl_04035360),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sparkles_animation_seg4_dl_04035348),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sparkles_animation_seg4_dl_04035330),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sparkles_animation_seg4_dl_04035318),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sparkles_animation_seg4_dl_04035300),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SWITCH_CASE(9, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sparkles_animation_seg4_dl_04035300),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sparkles_animation_seg4_dl_04035318),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sparkles_animation_seg4_dl_04035330),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sparkles_animation_seg4_dl_04035348),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sparkles_animation_seg4_dl_04035360),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sparkles_animation_seg4_dl_04035348),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sparkles_animation_seg4_dl_04035330),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sparkles_animation_seg4_dl_04035318),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sparkles_animation_seg4_dl_04035300),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,36 +1,36 @@
// 0x0C000000
const GeoLayout spindrift_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 32768),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, spindrift_seg5_dl_05002900),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 100, 0, 0, spindrift_seg5_dl_05000328),
GEO_ANIMATED_PART(LAYER_ALPHA, 100, 0, 0, spindrift_seg5_dl_05002A20),
GEO_ANIMATED_PART(LAYER_ALPHA, 100, 0, 0, spindrift_seg5_dl_05002B30),
GEO_ANIMATED_PART(LAYER_OPAQUE, -88, -32, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spindrift_seg5_dl_050002A0),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, spindrift_seg5_dl_05002D08),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 32768),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, spindrift_seg5_dl_05002748),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, spindrift_seg5_dl_05002900),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 100, 0, 0, spindrift_seg5_dl_05000328),
GEO_ANIMATED_PART(LAYER_ALPHA, 100, 0, 0, spindrift_seg5_dl_05002A20),
GEO_ANIMATED_PART(LAYER_ALPHA, 100, 0, 0, spindrift_seg5_dl_05002B30),
GEO_ANIMATED_PART(LAYER_OPAQUE, -88, -32, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spindrift_seg5_dl_050002A0),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, spindrift_seg5_dl_05002D08),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_BILLBOARD(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_ALPHA, spindrift_seg5_dl_05002748),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, spindrift_seg5_dl_05002830),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, spindrift_seg5_dl_05002830),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,57 +1,57 @@
// 0x0C000328
const GeoLayout spiny_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 72, -7, spiny_seg5_dl_05016A48),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 72, -7, spiny_seg5_dl_05016A48),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_seg5_dl_05016738),
GEO_ANIMATED_PART(LAYER_OPAQUE, -1, 55, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 77, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_seg5_dl_05016418),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, -48, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 88, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_seg5_dl_050164E0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -1, 55, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 77, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_seg5_dl_050165A8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, -48, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 88, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_seg5_dl_05016670),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_seg5_dl_05016738),
GEO_ANIMATED_PART(LAYER_OPAQUE, -1, 55, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 77, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_seg5_dl_05016418),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, -48, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 88, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_seg5_dl_050164E0),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -1, 55, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 77, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_seg5_dl_050165A8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, -48, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 88, 0, 0, NULL),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_seg5_dl_05016670),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,21 +1,21 @@
// 0x0C000290
const GeoLayout spiny_ball_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -18, -34, 10, spiny_egg_seg5_dl_05015368),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_egg_seg5_dl_05015330),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_egg_seg5_dl_050152F8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_egg_seg5_dl_050152C0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_egg_seg5_dl_05015288),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_egg_seg5_dl_05015250),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_egg_seg5_dl_05015218),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_egg_seg5_dl_050151E0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_egg_seg5_dl_050151A8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, -18, -34, 10, spiny_egg_seg5_dl_05015368),
GEO_OPEN_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_egg_seg5_dl_05015330),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_egg_seg5_dl_050152F8),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_egg_seg5_dl_050152C0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_egg_seg5_dl_05015288),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_egg_seg5_dl_05015250),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_egg_seg5_dl_05015218),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_egg_seg5_dl_050151E0),
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, spiny_egg_seg5_dl_050151A8),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,29 +1,29 @@
// top of beta trampoline - unused
// 0x0C000000
const GeoLayout springboard_top_geo[] = {
GEO_CULLING_RADIUS(500),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, springboard_checkerboard_seg5_dl_050016B8),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(500),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, springboard_checkerboard_seg5_dl_050016B8),
GEO_CLOSE_NODE(),
GEO_END(),
};
// middle of beta trampoline - unused
// 0x0C000018
const GeoLayout springboard_spring_geo[] = {
GEO_CULLING_RADIUS(500),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, springboard_spring_seg5_dl_05001800),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(500),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, springboard_spring_seg5_dl_05001800),
GEO_CLOSE_NODE(),
GEO_END(),
};
// bottom of beta trampoline - unused
// 0x0C000030
const GeoLayout springboard_bottom_geo[] = {
GEO_CULLING_RADIUS(500),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, springboard_checkerboard_seg5_dl_05001900),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_CULLING_RADIUS(500),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, springboard_checkerboard_seg5_dl_05001900),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,12 +1,12 @@
// 0x16000EA0
const GeoLayout star_geo[] = {
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x9B, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, star_seg3_dl_0302B870),
GEO_DISPLAY_LIST(LAYER_ALPHA, star_seg3_dl_0302BA18),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x9B, 100),
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, star_seg3_dl_0302B870),
GEO_DISPLAY_LIST(LAYER_ALPHA, star_seg3_dl_0302BA18),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_END(),
};

View File

@ -1,28 +1,28 @@
// 0x1700009C
const GeoLayout small_water_splash_geo[] = {
GEO_SWITCH_CASE(6, geo_switch_anim_state),
GEO_OPEN_NODE(),
// TODO: Rename these display lists
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_040251F8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_04025210),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_04025228),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_04025240),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_04025258),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_04025270),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SWITCH_CASE(6, geo_switch_anim_state),
GEO_OPEN_NODE(),
// TODO: Rename these display lists
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_040251F8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_04025210),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_04025228),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_04025240),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_04025258),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_04025270),
GEO_CLOSE_NODE(),
GEO_END(),
};
// 0x170000E0
const GeoLayout mario_TODO_geo_0000E0[] = {
GEO_SWITCH_CASE(6, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_04025288),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_040252A0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_040252B8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_040252D0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_040252E8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_04025300),
GEO_CLOSE_NODE(),
GEO_END(),
GEO_SWITCH_CASE(6, geo_switch_anim_state),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_04025288),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_040252A0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_040252B8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_040252D0),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_040252E8),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, stomp_smoke_seg4_dl_04025300),
GEO_CLOSE_NODE(),
GEO_END(),
};

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