Browse Source

initial commit

master
Collin Norwood 6 years ago
parent
commit
2173cabb09
  1. 2482
      Doxyfile
  2. 28
      INSTALL.md
  3. 33
      Jenkinsfile
  4. 432
      Makefile
  5. 287
      Makefile.split
  6. 12
      README.md
  7. BIN
      actors/amp/0.rgba16.png
  8. BIN
      actors/amp/1.rgba16.png
  9. BIN
      actors/amp/2.rgba16.png
  10. BIN
      actors/amp/3.rgba16.png
  11. 2
      actors/amp/collision.s
  12. 54
      actors/amp/geo.s
  13. 503
      actors/amp/model.s
  14. 2
      actors/bird/collision.s
  15. 23
      actors/bird/geo.s
  16. 254
      actors/bird/model.s
  17. 2
      actors/blargg/collision.s
  18. 18
      actors/blargg/geo.s
  19. 545
      actors/blargg/model.s
  20. BIN
      actors/blue_coin_switch/0.rgba16.png
  21. BIN
      actors/blue_coin_switch/1.rgba16.png
  22. 28
      actors/blue_coin_switch/collision.s
  23. 8
      actors/blue_coin_switch/geo.s
  24. 79
      actors/blue_coin_switch/model.s
  25. BIN
      actors/blue_fish/0.rgba16.png
  26. 2
      actors/blue_fish/collision.s
  27. 28
      actors/blue_fish/geo.s
  28. 137
      actors/blue_fish/model.s
  29. BIN
      actors/bobomb/0.rgba16.png
  30. BIN
      actors/bobomb/1.rgba16.png
  31. BIN
      actors/bobomb/2.rgba16.png
  32. BIN
      actors/bobomb/3.rgba16.png
  33. BIN
      actors/bobomb/4.rgba16.png
  34. BIN
      actors/bobomb/5.rgba16.png
  35. 2
      actors/bobomb/collision.s
  36. 95
      actors/bobomb/geo.s
  37. 393
      actors/bobomb/model.s
  38. BIN
      actors/bomb/0.rgba16.png
  39. BIN
      actors/bomb/1.rgba16.png
  40. BIN
      actors/bomb/2.rgba16.png
  41. 2
      actors/bomb/collision.s
  42. 13
      actors/bomb/geo.s
  43. 186
      actors/bomb/model.s
  44. BIN
      actors/boo/0.rgba16.png
  45. BIN
      actors/boo/1.rgba16.png
  46. 2
      actors/boo/collision.s
  47. 15
      actors/boo/geo.s
  48. 319
      actors/boo/model.s
  49. BIN
      actors/boo_castle/0.rgba16.png
  50. BIN
      actors/boo_castle/1.rgba16.png
  51. 2
      actors/boo_castle/collision.s
  52. 15
      actors/boo_castle/geo.s
  53. 319
      actors/boo_castle/model.s
  54. BIN
      actors/book/0.rgba16.png
  55. 2
      actors/book/collision.s
  56. 6
      actors/book/geo.s
  57. 83
      actors/book/model.s
  58. BIN
      actors/bookend/0.rgba16.png
  59. BIN
      actors/bookend/1.rgba16.png
  60. BIN
      actors/bookend/2.rgba16.png
  61. BIN
      actors/bookend/3.rgba16.png
  62. BIN
      actors/bookend/4.rgba16.png
  63. 2
      actors/bookend/collision.s
  64. 27
      actors/bookend/geo.s
  65. 455
      actors/bookend/model.s
  66. 2
      actors/bowling_ball/collision.s
  67. 23
      actors/bowling_ball/geo.s
  68. 5
      actors/bowling_ball/model.s
  69. BIN
      actors/bowser/0.rgba16.png
  70. BIN
      actors/bowser/1.rgba16.png
  71. BIN
      actors/bowser/10.rgba16.png
  72. BIN
      actors/bowser/11.rgba16.png
  73. BIN
      actors/bowser/12.rgba16.png
  74. BIN
      actors/bowser/13.rgba16.png
  75. BIN
      actors/bowser/14.rgba16.png
  76. BIN
      actors/bowser/15.rgba16.png
  77. BIN
      actors/bowser/16.rgba16.png
  78. BIN
      actors/bowser/17.rgba16.png
  79. BIN
      actors/bowser/18.rgba16.png
  80. BIN
      actors/bowser/19.rgba16.png
  81. BIN
      actors/bowser/2.rgba16.png
  82. BIN
      actors/bowser/20.rgba16.png
  83. BIN
      actors/bowser/21.rgba16.png
  84. BIN
      actors/bowser/22.rgba16.png
  85. BIN
      actors/bowser/23.rgba16.png
  86. BIN
      actors/bowser/24.rgba16.png
  87. BIN
      actors/bowser/25.rgba16.png
  88. BIN
      actors/bowser/26.rgba16.png
  89. BIN
      actors/bowser/27.rgba16.png
  90. BIN
      actors/bowser/28.rgba16.png
  91. BIN
      actors/bowser/3.rgba16.png
  92. BIN
      actors/bowser/4.rgba16.png
  93. BIN
      actors/bowser/5.rgba16.png
  94. BIN
      actors/bowser/6.rgba16.png
  95. BIN
      actors/bowser/7.rgba16.png
  96. BIN
      actors/bowser/8.rgba16.png
  97. BIN
      actors/bowser/9.rgba16.png
  98. 2
      actors/bowser/collision.s
  99. 411
      actors/bowser/geo.s
  100. 9294
      actors/bowser/model.s

2482
Doxyfile
File diff suppressed because it is too large
View File

28
INSTALL.md

@ -0,0 +1,28 @@
# Linux
1] Install the following packages:
* make
* git
* binutils-mips-linux-gnu (>= 2.27)
* python3
* build-essential
* pkg-config
* zlib1g-dev
* libglib2.0-dev
* libpixman-1-dev
* libcapstone3
2] Clone https://github.com/camthesaxman/qemu-irix to somewhere and follow its install instructions in the README.
2b] Optionally, grab the prebuilt qemu-irix from the Releases section.
3] Take the executable "qemu-irix" in irix-linux-user and put it somewhere where you will define an environment variable to it.
4] Define "QEMU_IRIX" in your bashrc to point to this qemu-irix executable.
5] After setting this repository up, run `make` to build the ROM. Make sure your path is not too long or else this process will error, as the emulated IDO compiler cannot handle paths longer than 255 characters.
# Windows
For Windows, install WSL and a distro of your choice and follow the Linux guide.

33
Jenkinsfile

@ -0,0 +1,33 @@
pipeline {
agent any
stages {
stage('Build Tools') {
steps {
sh 'make -C tools/'
}
}
stage('Build J Source') {
steps {
sh 'make VERSION=jp'
}
}
stage('Build U Source') {
steps {
sh 'make VERSION=us'
}
}
stage('Build J Source, NON_MATCHING') {
steps {
sh 'make VERSION=jp NON_MATCHING=1'
}
}
stage('Build U Source, NON_MATCHING') {
steps {
sh 'make VERSION=us NON_MATCHING=1'
}
}
}
environment {
QEMU_IRIX = '/data/n64dev/irixsys/qemu-irix'
}
}

432
Makefile

@ -0,0 +1,432 @@
# Makefile to rebuild SM64 split image
### Default target ###
default: all
### Build Options ###
# Version of the game to build and graphics microcode used
VERSION ?= us
GRUCODE ?= f3d_old
# If COMPARE is 1, check the output sha1sum when building 'all'
COMPARE ?= 1
# If NON_MATCHING is 1, define the NON_MATCHING macro when building
NON_MATCHING ?= 0
# If ENDIAN_IND is 1, enable non-matching code changes that try to ensure
# endianness independence
ENDIAN_IND ?= 0
# Release
ifeq ($(VERSION),jp)
VERSION_CFLAGS := -DVERSION_JP=1
VERSION_ASFLAGS := --defsym VERSION_JP=1
GRUCODE_CFLAGS := -DF3D_OLD
GRUCODE_ASFLAGS := --defsym F3D_OLD=1
TARGET := sm64.j
else
ifeq ($(VERSION),us)
VERSION_CFLAGS := -DVERSION_US=1
VERSION_ASFLAGS := --defsym VERSION_US=1
GRUCODE_CFLAGS := -DF3D_OLD
GRUCODE_ASFLAGS := --defsym F3D_OLD=1
TARGET := sm64.u
else
ifeq ($(VERSION),eu)
$(warning Building EU is experimental and is prone to breaking. Try at your own risk.)
VERSION_CFLAGS := -DVERSION_EU=1
VERSION_ASFLAGS := --defsym VERSION_US=1 --defsym VERSION_EU=1
GRUCODE_CFLAGS := -DF3D_OLD
GRUCODE_ASFLAGS := --defsym F3D_OLD=1
TARGET := sm64.eu
else
$(error unknown version "$(VERSION)")
endif
endif
endif
# Microcode
ifeq ($(GRUCODE),f3dex) # Fast3DEX
GRUCODE_CFLAGS := -DF3DEX_GBI=1
GRUCODE_ASFLAGS := --defsym F3DEX_GBI_SHARED=1 --defsym F3DEX_GBI=1
TARGET := $(TARGET).f3dex
COMPARE := 0
else
ifeq ($(GRUCODE), f3dex2) # Fast3DEX2
GRUCODE_CFLAGS := -DF3DEX_GBI_2=1
GRUCODE_ASFLAGS := --defsym F3DEX_GBI_SHARED=1 --defsym F3DEX_GBI_2=1
TARGET := $(TARGET).f3dex2
COMPARE := 0
else
ifeq ($(GRUCODE),f3d_new) # Fast3D 2.0H (Shindou)
GRUCODE_CFLAGS := -DF3D_NEW
GRUCODE_ASFLAGS := --defsym F3D_NEW=1
TARGET := $(TARGET).f3d_new
COMPARE := 0
else
ifeq ($(GRUCODE),f3dzex) # Fast3DZEX (2.0J / Animal Forest - Dōbutsu no Mori)
$(warning Fast3DZEX is experimental. Try at your own risk.)
GRUCODE_CFLAGS := -DF3DEX_GBI_2=1
GRUCODE_ASFLAGS := --defsym F3DEX_GBI_SHARED=1 --defsym F3DZEX_GBI=1
TARGET := $(TARGET).f3dzex
COMPARE := 0
endif
endif
endif
endif
ifeq ($(NON_MATCHING),1)
VERSION_CFLAGS := $(VERSION_CFLAGS) -DNON_MATCHING=1
COMPARE := 0
endif
ifeq ($(ENDIAN_IND),1)
VERSION_CFLAGS := $(VERSION_CFLAGS) -DENDIAN_IND=1
COMPARE := 0
endif
################ Target Executable and Sources ###############
# BUILD_DIR is location where all build artifacts are placed
BUILD_DIR_BASE := build
BUILD_DIR := $(BUILD_DIR_BASE)/$(VERSION)
LIBULTRA := $(BUILD_DIR)/libultra.a
ROM := $(BUILD_DIR)/$(TARGET).z64
ELF := $(BUILD_DIR)/$(TARGET).elf
LD_SCRIPT := sm64.ld
MIO0_DIR := $(BUILD_DIR)/mio0
TEXTURE_DIR := textures
ACTOR_DIR := actors
# Directories containing source files
SRC_DIRS := src src/engine src/game src/goddard src/goddard/dynlists src/audio
ASM_DIRS := asm actors lib data levels assets text
BIN_DIRS := bin
ULTRA_SRC_DIRS := lib/src lib/src/math
ULTRA_ASM_DIRS := lib/asm lib/data
ULTRA_BIN_DIRS := lib/bin
LEVEL_DIRS := $(patsubst levels/%,%,$(dir $(wildcard levels/*/header.s)))
MIPSISET := -mips2 -32
ifeq ($(VERSION),eu)
OPT_FLAGS := -O2
else
OPT_FLAGS := -g
endif
# File dependencies and variables for specific files
include Makefile.split
# Source code files
C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c))
S_FILES := $(foreach dir,$(ASM_DIRS),$(wildcard $(dir)/*.s))
ULTRA_C_FILES := $(foreach dir,$(ULTRA_SRC_DIRS),$(wildcard $(dir)/*.c))
ULTRA_S_FILES := $(foreach dir,$(ULTRA_ASM_DIRS),$(wildcard $(dir)/*.s))
LEVEL_S_FILES := $(addsuffix header.s,$(addprefix bin/,$(LEVEL_DIRS)))
SEG_IN_FILES := $(foreach dir,$(BIN_DIRS),$(wildcard $(dir)/*.s.in))
SEG_S_FILES := $(foreach dir,$(BIN_DIRS),$(wildcard $(dir)/*.s)) \
$(foreach file,$(SEG_IN_FILES),$(file:.s.in=.s))
# Object files
O_FILES := $(foreach file,$(C_FILES),$(BUILD_DIR)/$(file:.c=.o)) \
$(foreach file,$(S_FILES),$(BUILD_DIR)/$(file:.s=.o)) \
$(foreach file,$(LEVEL_S_FILES),$(BUILD_DIR)/$(file:.s=.o))
ULTRA_O_FILES := $(foreach file,$(ULTRA_S_FILES),$(BUILD_DIR)/$(file:.s=.o)) \
$(foreach file,$(ULTRA_C_FILES),$(BUILD_DIR)/$(file:.c=.o))
# Automatic dependency files
DEP_FILES := $(O_FILES:.o=.d) $(ULTRA_O_FILES:.o=.d)
# Files with NON_MATCHING ifdefs
NON_MATCHING_C_FILES != grep -rl NON_MATCHING $(wildcard src/audio/*.c)
NON_MATCHING_O_FILES = $(foreach file,$(NON_MATCHING_C_FILES),$(BUILD_DIR)/$(file:.c=.o))
NON_MATCHING_DEP = $(BUILD_DIR)/src/audio/non_matching_dep
# Segment elf files
SEG_FILES := $(foreach file,$(SEG_S_FILES),$(BUILD_DIR)/$(file:.s=.elf)) $(ACTOR_ELF_FILES) $(LEVEL_ELF_FILES)
##################### Compiler Options #######################
IRIX_ROOT := tools/ido5.3_compiler
ifeq ($(shell type mips-linux-gnu-ld >/dev/null 2>/dev/null; echo $$?), 0)
CROSS := mips-linux-gnu-
else
CROSS := mips64-elf-
endif
AS := $(CROSS)as
CC := $(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/bin/cc
CPP := cpp -P
LD := $(CROSS)ld
AR := $(CROSS)ar
OBJDUMP := $(CROSS)objdump
OBJCOPY := $(CROSS)objcopy
# Check code syntax with host compiler
CC_CHECK := gcc -fsyntax-only -fsigned-char -nostdinc -I include -I $(BUILD_DIR)/include -I src -std=gnu90 -Wall -Wextra -Wno-format-security -D_LANGUAGE_C $(VERSION_CFLAGS) $(GRUCODE_CFLAGS)
ASFLAGS := -march=vr4300 -mabi=32 -I include -I $(BUILD_DIR) $(VERSION_ASFLAGS) $(GRUCODE_ASFLAGS)
CFLAGS = -Wab,-r4300_mul -non_shared -G 0 -Xcpluscomm -Xfullwarn $(OPT_FLAGS) -signed -I include -I $(BUILD_DIR)/include -I src -D_LANGUAGE_C $(VERSION_CFLAGS) $(MIPSISET) $(GRUCODE_CFLAGS)
OBJCOPYFLAGS := --pad-to=0x800000 --gap-fill=0xFF
SYMBOL_LINKING_FLAGS := $(addprefix -R ,$(SEG_FILES))
LDFLAGS := -T undefined_syms.txt -T $(BUILD_DIR)/$(LD_SCRIPT) -Map $(BUILD_DIR)/sm64.map --no-check-sections $(SYMBOL_LINKING_FLAGS)
ifeq ($(shell getconf LONG_BIT), 32)
# Work around memory allocation bug in QEMU
export QEMU_GUEST_BASE := 1
else
# Ensure that gcc treats the code as 32-bit
CC_CHECK += -m32
endif
####################### Other Tools #########################
# N64 tools
TOOLS_DIR = tools
MIO0TOOL = $(TOOLS_DIR)/mio0
N64CKSUM = $(TOOLS_DIR)/n64cksum
N64GRAPHICS = $(TOOLS_DIR)/n64graphics
N64GRAPHICS_CI = $(TOOLS_DIR)/n64graphics_ci
TEXTCONV = $(TOOLS_DIR)/textconv
IPLFONTUTIL = $(TOOLS_DIR)/iplfontutil
EMULATOR = mupen64plus
EMU_FLAGS = --noosd
LOADER = loader64
LOADER_FLAGS = -vwf
SHA1SUM = sha1sum
# Make tools if out of date
DUMMY != make -s -C tools >&2
###################### Dependency Check #####################
BINUTILS_VER_MAJOR := $(shell $(LD) --version | grep ^GNU | sed 's/^.* //; s/\..*//g')
BINUTILS_VER_MINOR := $(shell $(LD) --version | grep ^GNU | sed 's/^[^.]*\.//; s/\..*//g')
BINUTILS_DEPEND := $(shell expr $(BINUTILS_VER_MAJOR) \>= 2 \& $(BINUTILS_VER_MINOR) \>= 27)
ifeq ($(BINUTILS_DEPEND),0)
$(error binutils version 2.27 required, version $(BINUTILS_VER_MAJOR).$(BINUTILS_VER_MINOR) detected)
endif
ifndef QEMU_IRIX
$(error env variable QEMU_IRIX should point to the qemu-mips binary)
endif
######################## Targets #############################
all: $(ROM)
ifeq ($(COMPARE),1)
@$(SHA1SUM) -c $(TARGET).sha1
endif
clean:
$(RM) -r $(BUILD_DIR_BASE)
test: $(ROM)
$(EMULATOR) $(EMU_FLAGS) $<
load: $(ROM)
$(LOADER) $(LOADER_FLAGS) $<
libultra: $(BUILD_DIR)/libultra.a
asm/boot.s: $(BUILD_DIR)/lib/bin/ipl3_font.bin
$(BUILD_DIR)/lib/bin/ipl3_font.bin: lib/ipl3_font.png | $(BUILD_DIR)
$(IPLFONTUTIL) e $< $@
$(BUILD_DIR)/include/text_strings.h: include/text_strings.h.in | $(BUILD_DIR)
$(TEXTCONV) charmap.txt $< $@
$(BUILD_DIR)/text/%.s: text/$(VERSION)/%.s.in | $(BUILD_DIR)
$(TEXTCONV) charmap.txt $< $@
build/bin/segment2.o: bin/segment2.s
bin/segment2.s: $(BUILD_DIR)/text/debug.s $(BUILD_DIR)/text/dialog.s $(BUILD_DIR)/text/level.s $(BUILD_DIR)/text/star.s
touch bin/segment2.s
$(MIO0_DIR)/%.mio0: bin/%.bin
$(MIO0TOOL) $< $@
ALL_DIRS := $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) $(ASM_DIRS) $(ULTRA_SRC_DIRS) $(ULTRA_ASM_DIRS) $(ULTRA_BIN_DIRS) $(BIN_DIRS) $(TEXTURE_DIRS) $(addprefix levels/,$(LEVEL_DIRS)) $(addprefix bin/,$(LEVEL_DIRS)) include) $(MIO0_DIR) $(addprefix $(MIO0_DIR)/,$(LEVEL_DIRS))
# Make sure build directory exists before compiling anything
DUMMY != mkdir -p $(ALL_DIRS)
$(BUILD_DIR)/src/game/star_select.o: $(BUILD_DIR)/include/text_strings.h
$(BUILD_DIR)/src/game/file_select.o: $(BUILD_DIR)/include/text_strings.h
$(BUILD_DIR)/src/game/ingame_menu.o: $(BUILD_DIR)/include/text_strings.h
# texture generation
$(BUILD_DIR)/bin/%.rgba16: textures/%.rgba16.png
$(N64GRAPHICS) -i $@ -g $< -f rgba16
$(BUILD_DIR)/bin/%.ia16: textures/%.ia16.png
$(N64GRAPHICS) -i $@ -g $< -f ia16
$(BUILD_DIR)/bin/%.ia8: textures/%.ia8.png
$(N64GRAPHICS) -i $@ -g $< -f ia8
$(BUILD_DIR)/bin/%.ia4: textures/%.ia4.png
$(N64GRAPHICS) -i $@ -g $< -f ia4
$(BUILD_DIR)/bin/%.ia1: textures/%.ia1.png
$(N64GRAPHICS) -i $@ -g $< -f ia1
# Color index textures (not used by SM64)
$(BUILD_DIR)/bin/%.ci8: textures/%.ci8.png
$(N64GRAPHICS_CI) -i $@ -g $< -f ci8
$(BUILD_DIR)/bin/%.ci4: textures/%.ci4.png
$(N64GRAPHICS_CI) -i $@ -g $< -f ci4
# texture generation 2nd method: rgba16s are preferred (and used
# more often) over the ones listed below due to more colors.
$(BUILD_DIR)/actors/%.rgba16: actors/%.rgba16.png
$(N64GRAPHICS) -i $@ -g $< -f rgba16
$(BUILD_DIR)/actors/%.ia16: actors/%.ia16.png
$(N64GRAPHICS) -i $@ -g $< -f ia16
$(BUILD_DIR)/actors/%.ia8: actors/%.ia8.png
$(N64GRAPHICS) -i $@ -g $< -f ia8
$(BUILD_DIR)/actors/%.ia4: actors/%.ia4.png
$(N64GRAPHICS) -i $@ -g $< -f ia4
$(BUILD_DIR)/actors/%.ia1: actors/%.ia1.png
$(N64GRAPHICS) -i $@ -g $< -f ia1
# Color index textures (not used by SM64)
$(BUILD_DIR)/actors/%.ci8: actors/%.ci8.png
$(N64GRAPHICS_CI) -i $@ -g $< -f ci8
$(BUILD_DIR)/actors/%.ci4: actors/%.ci4.png
$(N64GRAPHICS_CI) -i $@ -g $< -f ci4
# texture generation 3rd method: rgba16s are preferred (and used
# more often) over the ones listed below due to more colors.
$(BUILD_DIR)/levels/%.rgba16: levels/%.rgba16.png
$(N64GRAPHICS) -i $@ -g $< -f rgba16
$(BUILD_DIR)/levels/%.ia16: levels/%.ia16.png
$(N64GRAPHICS) -i $@ -g $< -f ia16
$(BUILD_DIR)/levels/%.ia8: levels/%.ia8.png
$(N64GRAPHICS) -i $@ -g $< -f ia8
$(BUILD_DIR)/levels/%.ia4: levels/%.ia4.png
$(N64GRAPHICS) -i $@ -g $< -f ia4
$(BUILD_DIR)/levels/%.ia1: levels/%.ia1.png
$(N64GRAPHICS) -i $@ -g $< -f ia1
# Color index textures (not used by SM64)
$(BUILD_DIR)/levels/%.ci8: levels/%.ci8.png
$(N64GRAPHICS_CI) -i $@ -g $< -f ci8
$(BUILD_DIR)/levels/%.ci4: levels/%.ci4.png
$(N64GRAPHICS_CI) -i $@ -g $< -f ci4
# compressed segment generation
$(BUILD_DIR)/bin/%.o: bin/%.s
$(AS) $(ASFLAGS) --no-pad-sections -o $@ $<
# compressed segment generation (actors)
$(BUILD_DIR)/bin/%.o: actors/%.s
$(AS) $(ASFLAGS) --no-pad-sections -o $@ $<
$(BUILD_DIR)/bin/%/leveldata.o: levels/%/leveldata.s
$(AS) $(ASFLAGS) --no-pad-sections -o $@ $<
$(BUILD_DIR)/bin/%/header.o: levels/%/header.s $(MIO0_DIR)/%/leveldata.mio0 levels/%/script.s
$(AS) $(ASFLAGS) --no-pad-sections -o $@ $<
# TODO: ideally this would be `-Trodata-segment=0x07000000` but that doesn't set the address
$(BUILD_DIR)/bin/%.elf: $(BUILD_DIR)/bin/%.o
$(LD) -e 0 -Ttext=$(SEGMENT_ADDRESS) -Map $@.map -o $@ $<
# Override for level.elf, which otherwise matches the above pattern
.SECONDEXPANSION:
$(BUILD_DIR)/bin/%/leveldata.elf: $(BUILD_DIR)/bin/%/leveldata.o $(BUILD_DIR)/bin/$$(TEXTURE_BIN).elf
$(LD) -e 0 -Ttext=$(SEGMENT_ADDRESS) -Map $@.map --just-symbols=$(BUILD_DIR)/bin/$(TEXTURE_BIN).elf -o $@ $<
$(BUILD_DIR)/bin/%.bin: $(BUILD_DIR)/bin/%.elf
$(OBJCOPY) -j .rodata $< -O binary $@
$(MIO0_DIR)/%.mio0: $(BUILD_DIR)/bin/%.bin
$(MIO0TOOL) $< $@
$(MIO0_DIR)/%.mio0.o: $(MIO0_DIR)/%.mio0.s
$(AS) $(ASFLAGS) -o $@ $<
$(MIO0_DIR)/%.mio0.s: $(MIO0_DIR)/%.mio0
printf ".section .data\n\n.incbin \"$<\"\n" > $@
# Source code
$(BUILD_DIR)/src/goddard/%.o: OPT_FLAGS := -g
$(BUILD_DIR)/src/goddard/%.o: MIPSISET := -mips1
$(BUILD_DIR)/src/audio/%.o: CC := python3 tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
$(BUILD_DIR)/src/audio/%.o: OPT_FLAGS := -O2 -Wo,-loopunroll,0
$(BUILD_DIR)/src/audio/dma.o: OPT_FLAGS := -O2 -framepointer -Wo,-loopunroll,0
$(BUILD_DIR)/lib/src/%.o: OPT_FLAGS :=
$(BUILD_DIR)/lib/src/math/ll%.o: MIPSISET := -mips3 -32
$(BUILD_DIR)/lib/src/math/%.o: OPT_FLAGS := -O2
$(BUILD_DIR)/lib/src/math/ll%.o: OPT_FLAGS :=
$(BUILD_DIR)/lib/src/ldiv.o: OPT_FLAGS := -O2
$(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
# Rebuild files with '#ifdef NON_MATCHING' when that macro changes.
$(NON_MATCHING_O_FILES): $(NON_MATCHING_DEP).$(NON_MATCHING)
$(NON_MATCHING_DEP).$(NON_MATCHING):
@rm -f $(NON_MATCHING_DEP).*
touch $@
$(BUILD_DIR)/lib/src/math/%.o: lib/src/math/%.c
@$(CC_CHECK) -MMD -MP -MT $@ -MF $(BUILD_DIR)/lib/src/math/$*.d $<
$(CC) -c $(CFLAGS) -o $@ $<
tools/patch_libultra_math $@ || rm $@
$(BUILD_DIR)/%.o: %.c
@$(CC_CHECK) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
$(CC) -c $(CFLAGS) -o $@ $<
$(BUILD_DIR)/%.o: %.s $(MIO0_FILES)
$(AS) $(ASFLAGS) -MD $(BUILD_DIR)/$*.d -o $@ $<
$(BUILD_DIR)/$(LD_SCRIPT): $(LD_SCRIPT)
$(CPP) $(VERSION_CFLAGS) -I include/ -DBUILD_DIR=$(BUILD_DIR) -o $@ $<
$(BUILD_DIR)/libultra.a: $(ULTRA_O_FILES)
$(AR) rcs -o $@ $(ULTRA_O_FILES)
$(ELF): $(O_FILES) $(MIO0_OBJ_FILES) $(SEG_FILES) $(BUILD_DIR)/$(LD_SCRIPT) undefined_syms.txt $(BUILD_DIR)/libultra.a
$(LD) -L $(BUILD_DIR) $(LDFLAGS) -o $@ $(O_FILES)$(LIBS) -lultra
$(ROM): $(ELF)
$(OBJCOPY) $(OBJCOPYFLAGS) $< $(@:.z64=.bin) -O binary
$(N64CKSUM) $(@:.z64=.bin) $@
$(BUILD_DIR)/$(TARGET).objdump: $(ELF)
$(OBJDUMP) -D $< > $@
.PHONY: all clean default diff test load libultra
.PRECIOUS: $(BUILD_DIR)/mio0/%.mio0 $(BUILD_DIR)/bin/%.elf $(BUILD_DIR)/mio0/%.mio0.s
# Remove built-in rules, to improve performance
MAKEFLAGS += --no-builtin-rules
-include $(DEP_FILES)
print-% : ; $(info $* is a $(flavor $*) variable set to [$($*)]) @true

287
Makefile.split

@ -0,0 +1,287 @@
# --------------------------------------
# General Rules
# --------------------------------------
# obtain a list of segments from the *.s and *.s.in files in bin directory
SEGMENTS := $(notdir $(basename $(wildcard bin/*.s) $(basename $(wildcard bin/*.s.in))))
ACTORS := $(filter %/,$(wildcard actors/*/))
TEXTURE_DIRS := $(addprefix bin/,$(SEGMENTS)) $(ACTORS) bin/intro_raw
# NOTE: textures assume naming convention "texture.<encoding>.png" generates "texture.<encoding>"
ACTOR_GROUPS := \
group0 \
group1 \
group2 \
group3 \
group4 \
group5 \
group6 \
group7 \
group8 \
group9 \
group10 \
group11 \
group12 \
group13 \
group14 \
group15 \
group16 \
group17 \
common0 \
common1
LEVEL_FILES := $(addsuffix leveldata,$(LEVEL_DIRS))
MIO0_FILES := $(addprefix $(MIO0_DIR)/,$(addsuffix .mio0,$(BINARY_SEGMENTS) $(SEGMENTS) $(ACTOR_GROUPS) $(LEVEL_FILES)))
MIO0_OBJ_FILES := $(MIO0_FILES:.mio0=.mio0.o)
ACTOR_ELF_FILES := $(addprefix $(BUILD_DIR)/bin/,$(addsuffix .elf,$(ACTOR_GROUPS)))
LEVEL_ELF_FILES := $(addprefix $(BUILD_DIR)/bin/,$(addsuffix .elf,$(LEVEL_FILES)))
# --------------------------------------
# Actor Rules
# --------------------------------------
# Actor Directories
KOOPA_DIRS := koopa_flag poundable_pole koopa piranha_plant whomp chain_ball chain_chomp
CAPSWITCH_DIRS := capswitch springboard
CHILLYCHIEF_DIRS := chillychief moneybag
BULLY_DIRS := bully blargg
SPINDRIFT_DIRS := spindrift penguin snowman
KING_BOBOMB_DIRS := king_bobomb water_bubble
BOO_DIRS := bookend book chair small_key mad_piano boo haunted_cage
MR_I_DIRS := mr_i_eyeball mr_i_iris swoop snufit dorrie scuttlebug
HOOT_DIRS := yellow_sphere_small hoot yoshi_egg thwomp bullet_bill heave_ho
COINS_DIRS := mist explosion butterfly coin warp_pipe door bowser_key flame blue_fish pebble leaves warp_collision mario_cap power_meter mushroom_1up star sand dirt transparent_star snowball wooden_signpost tree
BUBBA_DIRS := bubba wiggler lakitu_enemy spiny_egg spiny
SKEETER_DIRS := skeeter seaweed water_mine cyan_fish bub water_ring treasure_chest
KLEPTO_DIRS := klepto eyerok pokey tornado
SEA_DIRS := clam_shell manta sushi unagi whirlpool
AMP_DIRS := blue_coin_switch amp cannon_lid cannon_base cannon_barrel chuckya purple_switch checkerboard_platform heart flyguy breakable_box exclamation_box goomba bobomb metal_box exclamation_box_outline test_platform koopa_shell
MOLE_DIRS := monty_mole_hole monty_mole smoke ukiki fwoosh
LAKITU_DIRS := lakitu_cameraman toad mips boo_castle
PEACH_DIRS := bird peach yoshi
BOWSER_DIRS := bowser_flame impact_ring yellow_sphere bowser bomb impact_smoke
MARIO_DIRS := mario bubble walk_smoke burn_smoke stomp_smoke water_wave sparkle water_splash snowball2 sparkle_animation
# Actor Files
AMP_CHUCKYA_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(AMP_DIRS)),$(basename $(wildcard $(dir)/*.png)))
BOBOMBS_BUBBLE_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(KING_BOBOMB_DIRS)),$(basename $(wildcard $(dir)/*.png)))
BOO_BOOKEND_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(BOO_DIRS)),$(basename $(wildcard $(dir)/*.png)))
CAPSWITCH_SPRINGBOARD_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(CAPSWITCH_DIRS)),$(basename $(wildcard $(dir)/*.png)))
COINS_PIPE_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(COINS_DIRS)),$(basename $(wildcard $(dir)/*.png)))
BOWSER_FLAMES_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(BOWSER_DIRS)),$(basename $(wildcard $(dir)/*.png)))
BUBBA_WIGGLER_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(BUBBA_DIRS)),$(basename $(wildcard $(dir)/*.png)))
BULLY_BLARGG_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(BULLY_DIRS)),$(basename $(wildcard $(dir)/*.png)))
CHILLYCHIEF_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(CHILLYCHIEF_DIRS)),$(basename $(wildcard $(dir)/*.png)))
HOOT_THWOMP_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(HOOT_DIRS)),$(basename $(wildcard $(dir)/*.png)))
KOOPA_LOG_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(KOOPA_DIRS)),$(basename $(wildcard $(dir)/*.png)))
KLEPTO_EYEROK_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(KLEPTO_DIRS)),$(basename $(wildcard $(dir)/*.png)))
LAKITU_TOAD_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(LAKITU_DIRS)),$(basename $(wildcard $(dir)/*.png)))
MARIO_WATER_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(MARIO_DIRS)),$(basename $(wildcard $(dir)/*.png)))
MOLE_UKIKI_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(MOLE_DIRS)),$(basename $(wildcard $(dir)/*.png)))
MR_I_SWOOP_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(MR_I_DIRS)),$(basename $(wildcard $(dir)/*.png)))
PEACH_TOADSTOOL_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(PEACH_DIRS)),$(basename $(wildcard $(dir)/*.png)))
SEA_CREATURES_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(SEA_DIRS)),$(basename $(wildcard $(dir)/*.png)))
SKEETER_FISH_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(SKEETER_DIRS)),$(basename $(wildcard $(dir)/*.png)))
SPINDRIFT_PENGUIN_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(SPINDRIFT_DIRS)),$(basename $(wildcard $(dir)/*.png)))
# Actor dependencies
$(BUILD_DIR)/bin/group0.o: $(addprefix $(BUILD_DIR)/,$(MARIO_WATER_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(MARIO_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/group1.o: $(addprefix $(BUILD_DIR)/,$(HOOT_THWOMP_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(HOOT_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/group2.o: $(addprefix $(BUILD_DIR)/,$(BULLY_BLARGG_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(BULLY_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/group3.o: $(addprefix $(BUILD_DIR)/,$(BOBOMBS_BUBBLE_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(KING_BOBOMB_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/group4.o: $(addprefix $(BUILD_DIR)/,$(SEA_CREATURES_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(SEA_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/group5.o: $(addprefix $(BUILD_DIR)/,$(KLEPTO_EYEROK_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(KLEPTO_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/group6.o: $(addprefix $(BUILD_DIR)/,$(MOLE_UKIKI_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(MOLE_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/group7.o: $(addprefix $(BUILD_DIR)/,$(SPINDRIFT_PENGUIN_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(SPINDRIFT_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/group8.o: $(addprefix $(BUILD_DIR)/,$(CAPSWITCH_SPRINGBOARD_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(CAPSWITCH_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/group9.o: $(addprefix $(BUILD_DIR)/,$(BOO_BOOKEND_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(BOO_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/group10.o: $(addprefix $(BUILD_DIR)/,$(PEACH_TOADSTOOL_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(PEACH_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/group11.o: $(addprefix $(BUILD_DIR)/,$(BUBBA_WIGGLER_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(BUBBA_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/group12.o: $(addprefix $(BUILD_DIR)/,$(BOWSER_FLAMES_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(BOWSER_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/group13.o: $(addprefix $(BUILD_DIR)/,$(SKEETER_FISH_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(SKEETER_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/group14.o: $(addprefix $(BUILD_DIR)/,$(KOOPA_LOG_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(KOOPA_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/group15.o: $(addprefix $(BUILD_DIR)/,$(LAKITU_TOAD_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(LAKITU_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/group16.o: $(addprefix $(BUILD_DIR)/,$(CHILLYCHIEF_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(CHILLYCHIEF_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/group17.o: $(addprefix $(BUILD_DIR)/,$(MR_I_SWOOP_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(MR_I_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/common0.o: $(addprefix $(BUILD_DIR)/,$(AMP_CHUCKYA_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(AMP_DIRS)),$(wildcard $(dir)/*.s))
$(BUILD_DIR)/bin/common1.o: $(addprefix $(BUILD_DIR)/,$(COINS_PIPE_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(COINS_DIRS)),$(wildcard $(dir)/*.s))
# Actor Elf Files
$(BUILD_DIR)/bin/group0.elf: SEGMENT_ADDRESS := 0x04000000
$(BUILD_DIR)/bin/group1.elf: SEGMENT_ADDRESS := 0x05000000
$(BUILD_DIR)/bin/group2.elf: SEGMENT_ADDRESS := 0x05000000
$(BUILD_DIR)/bin/group3.elf: SEGMENT_ADDRESS := 0x05000000
$(BUILD_DIR)/bin/group4.elf: SEGMENT_ADDRESS := 0x05000000
$(BUILD_DIR)/bin/group5.elf: SEGMENT_ADDRESS := 0x05000000
$(BUILD_DIR)/bin/group6.elf: SEGMENT_ADDRESS := 0x05000000
$(BUILD_DIR)/bin/group7.elf: SEGMENT_ADDRESS := 0x05000000
$(BUILD_DIR)/bin/group8.elf: SEGMENT_ADDRESS := 0x05000000
$(BUILD_DIR)/bin/group9.elf: SEGMENT_ADDRESS := 0x05000000
$(BUILD_DIR)/bin/group10.elf: SEGMENT_ADDRESS := 0x05000000
$(BUILD_DIR)/bin/group11.elf: SEGMENT_ADDRESS := 0x05000000
$(BUILD_DIR)/bin/group12.elf: SEGMENT_ADDRESS := 0x06000000
$(BUILD_DIR)/bin/group13.elf: SEGMENT_ADDRESS := 0x06000000
$(BUILD_DIR)/bin/group14.elf: SEGMENT_ADDRESS := 0x06000000
$(BUILD_DIR)/bin/group15.elf: SEGMENT_ADDRESS := 0x06000000
$(BUILD_DIR)/bin/group16.elf: SEGMENT_ADDRESS := 0x06000000
$(BUILD_DIR)/bin/group17.elf: SEGMENT_ADDRESS := 0x06000000
$(BUILD_DIR)/bin/common0.elf: SEGMENT_ADDRESS := 0x08000000
$(BUILD_DIR)/bin/common1.elf: SEGMENT_ADDRESS := 0x03000000
# --------------------------------------
# Level Rules
# --------------------------------------
# Using these rules:
# When defining a level, define the 3 variables needed and copy the rules
# as-is.
# TODO: Preprocess these rules from the level configs?
define level_rules =
$(1)_SEG7_FILES := $$(basename $$(notdir $$(wildcard levels/$(1)/*.png)))
$(1)_SEG7_FILES_RAW := $(shell find levels/$(1)/ -type f -iname '*')
$$(BUILD_DIR)/bin/$(1)/leveldata.o: $$(addprefix $$(BUILD_DIR)/levels/$(1)/,$$($(1)_SEG7_FILES)) $$($(1)_SEG7_FILES_RAW)
$$(BUILD_DIR)/bin/$(1)/leveldata.elf: SEGMENT_ADDRESS := $(2)
$$(BUILD_DIR)/bin/$(1)/leveldata.elf: TEXTURE_BIN := $(3)
endef
$(eval $(call level_rules,bbh,0x07000000,spooky)) # BBH (Big Boo's Haunt)
$(eval $(call level_rules,ccm,0x07000000,snow)) # CCM (Cool Cool Mountain)
$(eval $(call level_rules,castle_inside,0x07000000,inside)) # Castle Inside (Inside Princess Peach's Castle)
$(eval $(call level_rules,hmc,0x07000000,cave))# HMC (Hazy Maze Cave)
$(eval $(call level_rules,ssl,0x07000000,generic)) # SSL (Shifting Sand Land)
$(eval $(call level_rules,bob,0x07000000,generic)) # BOB (Bob-Omb Battlefield)
$(eval $(call level_rules,sl,0x07000000,snow)) # SL (Snowman's Land)
$(eval $(call level_rules,wdw,0x07000000,grass)) # WDW (Wet Dry World)
$(eval $(call level_rules,jrb,0x07000000,water)) # JRB (Jolly Roger Bay)
$(eval $(call level_rules,thi,0x07000000,grass)) # THI (Tiny Huge Island)
$(eval $(call level_rules,ttc,0x07000000,machine)) # TTC (Tick Tock Clock)
$(eval $(call level_rules,rr,0x07000000,sky)) # RR (Rainbow Ride)
$(eval $(call level_rules,castle_grounds,0x07000000,outside)) # Castle Grounds (Outside Princess Peach's Castle)
$(eval $(call level_rules,bitdw,0x07000000,sky)) # BitDW (Bowser in the Dark World)
$(eval $(call level_rules,vcutm,0x07000000,outside)) # VCUTM (Vanish Cap under the Moat)
$(eval $(call level_rules,bitfs,0x07000000,sky)) # BITFS (Bowser in the Fire Sea)
$(eval $(call level_rules,sa,0x07000000,inside)) # SA (The Secret Aquarium)
$(eval $(call level_rules,bits,0x07000000,sky)) # BITS (Bowser in the Sky)
$(eval $(call level_rules,lll,0x07000000,fire)) # LLL (Lethal Lava Land)
$(eval $(call level_rules,ddd,0x07000000,water)) # DDD (Dire Dire Docks)
$(eval $(call level_rules,wf,0x07000000,grass)) # WF (Whomp's Fortress)
$(eval $(call level_rules,ending,0x07000000,generic)) # Ending
$(eval $(call level_rules,castle_courtyard,0x07000000,outside)) # Castle Courtyard (The Courtyard of Princess Peach's Castle)
$(eval $(call level_rules,pss,0x07000000,mountain)) # PSS (The Princess's Secret Slide)
$(eval $(call level_rules,cotmc,0x07000000,cave)) # COTMC (Cavern of the Metal Cap)
$(eval $(call level_rules,totwc,0x07000000,sky)) # TOTWC (Tower of the Wing Cap)
$(eval $(call level_rules,bowser_1,0x07000000,generic)) # BOWSER_1 (Bowser in the Dark World [Boss Area])
$(eval $(call level_rules,wmotr,0x07000000,generic)) # WMOTR (Wing Mario over the Rainbow)
$(eval $(call level_rules,bowser_2,0x07000000,fire)) # BOWSER_2 (Bowser in the Fire Sea [Boss Area])
$(eval $(call level_rules,bowser_3,0x07000000,generic)) # BOWSER_3 (Bowser in the Sky [Boss Area])
$(eval $(call level_rules,totwc,0x07000000,sky)) # TOTWC (Tower of the Wing Cap)
$(eval $(call level_rules,ttm,0x07000000,mountain)) # TTM (Tall Tall Mountain)
$(eval $(call level_rules,intro,0x07000000,generic)) # Intro (Super Mario 64 Logo)
$(eval $(call level_rules,menu,0x07000000,generic)) # Menu (File Select)
# --------------------------------------
# Texture Bin Rules
# --------------------------------------
# Others
SEGMENT2_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/segment2/*.png)))
TITLE_SCREEN_BG_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/title_screen_bg/*.png)))
SPOOKY_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/spooky/*.png)))
GENERIC_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/generic/*.png)))
OUTSIDE_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/outside/*.png)))
SNOW_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/snow/*.png)))
EFFECT_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/effect/*.png)))
CAVE_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/cave/*.png)))
INSIDE_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/inside/*.png)))
WATER_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/water/*.png)))
FIRE_TEXTURES_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/fire/*.png)))
SKY_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/sky/*.png)))
MACHINE_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/machine/*.png)))
MOUNTAIN_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/mountain/*.png)))
GRASS_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/grass/*.png)))
# Texture Files
$(BUILD_DIR)/bin/segment2.o: $(addprefix $(BUILD_DIR)/bin/segment2/,$(SEGMENT2_FILES))
$(BUILD_DIR)/bin/title_screen_bg.o: $(addprefix $(BUILD_DIR)/bin/title_screen_bg/,$(TITLE_SCREEN_BG_FILES))
$(BUILD_DIR)/bin/spooky.o: $(addprefix $(BUILD_DIR)/bin/spooky/,$(SPOOKY_FILES))
$(BUILD_DIR)/bin/generic.o: $(addprefix $(BUILD_DIR)/bin/generic/,$(GENERIC_FILES))
$(BUILD_DIR)/bin/outside.o: $(addprefix $(BUILD_DIR)/bin/outside/,$(OUTSIDE_FILES))
$(BUILD_DIR)/bin/snow.o: $(addprefix $(BUILD_DIR)/bin/snow/,$(SNOW_FILES))
$(BUILD_DIR)/bin/effect.o: $(addprefix $(BUILD_DIR)/bin/effect/,$(EFFECT_FILES))
$(BUILD_DIR)/bin/cave.o: $(addprefix $(BUILD_DIR)/bin/cave/,$(CAVE_FILES))
$(BUILD_DIR)/bin/inside.o: $(addprefix $(BUILD_DIR)/bin/inside/,$(INSIDE_FILES))
$(BUILD_DIR)/bin/water.o: $(addprefix $(BUILD_DIR)/bin/water/,$(WATER_FILES))
$(BUILD_DIR)/bin/fire.o: $(addprefix $(BUILD_DIR)/bin/fire/,$(FIRE_TEXTURES_FILES))
$(BUILD_DIR)/bin/sky.o: $(addprefix $(BUILD_DIR)/bin/sky/,$(SKY_FILES))
$(BUILD_DIR)/bin/machine.o: $(addprefix $(BUILD_DIR)/bin/machine/,$(MACHINE_FILES))
$(BUILD_DIR)/bin/mountain.o: $(addprefix $(BUILD_DIR)/bin/mountain/,$(MOUNTAIN_FILES))
$(BUILD_DIR)/bin/grass.o: $(addprefix $(BUILD_DIR)/bin/grass/,$(GRASS_FILES))
# Others
$(BUILD_DIR)/bin/segment2.elf: SEGMENT_ADDRESS := 0x02000000
$(BUILD_DIR)/bin/title_screen_bg.elf: SEGMENT_ADDRESS := 0x0A000000
$(BUILD_DIR)/bin/debug_level_select.elf: SEGMENT_ADDRESS := 0x07000000
$(BUILD_DIR)/bin/effect.elf: SEGMENT_ADDRESS := 0x0B000000
$(BUILD_DIR)/bin/spooky.elf: SEGMENT_ADDRESS := 0x09000000
$(BUILD_DIR)/bin/generic.elf: SEGMENT_ADDRESS := 0x09000000
$(BUILD_DIR)/bin/outside.elf: SEGMENT_ADDRESS := 0x09000000
$(BUILD_DIR)/bin/snow.elf: SEGMENT_ADDRESS := 0x09000000
$(BUILD_DIR)/bin/cave.elf: SEGMENT_ADDRESS := 0x09000000
$(BUILD_DIR)/bin/inside.elf: SEGMENT_ADDRESS := 0x09000000
$(BUILD_DIR)/bin/water.elf: SEGMENT_ADDRESS := 0x09000000
$(BUILD_DIR)/bin/fire.elf: SEGMENT_ADDRESS := 0x09000000
$(BUILD_DIR)/bin/sky.elf: SEGMENT_ADDRESS := 0x09000000
$(BUILD_DIR)/bin/machine.elf: SEGMENT_ADDRESS := 0x09000000
$(BUILD_DIR)/bin/mountain.elf: SEGMENT_ADDRESS := 0x09000000
$(BUILD_DIR)/bin/grass.elf: SEGMENT_ADDRESS := 0x09000000
# --------------------------------------
# Skybox Rules
# --------------------------------------
# Skybox Files
BBH_SKYBOX_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/bbh_skybox/*.png)))
BIDW_SKYBOX_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/bidw_skybox/*.png)))
BITFS_SKYBOX_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/bitfs_skybox/*.png)))
BITS_SKYBOX_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/bits_skybox/*.png)))
CCM_SKYBOX_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/ccm_skybox/*.png)))
CLOUD_FLOOR_SKYBOX_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/cloud_floor_skybox/*.png)))
CLOUDS_SKYBOX_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/clouds_skybox/*.png)))
SSL_SKYBOX_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/ssl_skybox/*.png)))
WATER_SKYBOX_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/water_skybox/*.png)))
WDW_SKYBOX_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/wdw_skybox/*.png)))
# Skybox Files
$(BUILD_DIR)/bin/bbh_skybox.o: $(addprefix $(BUILD_DIR)/bin/bbh_skybox/,$(BBH_SKYBOX_FILES))
$(BUILD_DIR)/bin/bidw_skybox.o: $(addprefix $(BUILD_DIR)/bin/bidw_skybox/,$(BIDW_SKYBOX_FILES))
$(BUILD_DIR)/bin/bitfs_skybox.o: $(addprefix $(BUILD_DIR)/bin/bitfs_skybox/,$(BITFS_SKYBOX_FILES))
$(BUILD_DIR)/bin/bits_skybox.o: $(addprefix $(BUILD_DIR)/bin/bits_skybox/,$(BITS_SKYBOX_FILES))
$(BUILD_DIR)/bin/ccm_skybox.o: $(addprefix $(BUILD_DIR)/bin/ccm_skybox/,$(CCM_SKYBOX_FILES))
$(BUILD_DIR)/bin/cloud_floor_skybox.o: $(addprefix $(BUILD_DIR)/bin/cloud_floor_skybox/,$(CLOUD_FLOOR_SKYBOX_FILES))
$(BUILD_DIR)/bin/clouds_skybox.o: $(addprefix $(BUILD_DIR)/bin/clouds_skybox/,$(CLOUDS_SKYBOX_FILES))
$(BUILD_DIR)/bin/ssl_skybox.o: $(addprefix $(BUILD_DIR)/bin/ssl_skybox/,$(SSL_SKYBOX_FILES))
$(BUILD_DIR)/bin/water_skybox.o: $(addprefix $(BUILD_DIR)/bin/water_skybox/,$(WATER_SKYBOX_FILES))
$(BUILD_DIR)/bin/wdw_skybox.o: $(addprefix $(BUILD_DIR)/bin/wdw_skybox/,$(WDW_SKYBOX_FILES))
# Skybox Files
$(BUILD_DIR)/bin/bbh_skybox.elf: SEGMENT_ADDRESS := 0x0A000000
$(BUILD_DIR)/bin/bidw_skybox.elf: SEGMENT_ADDRESS := 0x0A000000
$(BUILD_DIR)/bin/bitfs_skybox.elf: SEGMENT_ADDRESS := 0x0A000000
$(BUILD_DIR)/bin/bits_skybox.elf: SEGMENT_ADDRESS := 0x0A000000
$(BUILD_DIR)/bin/ccm_skybox.elf: SEGMENT_ADDRESS := 0x0A000000
$(BUILD_DIR)/bin/cloud_floor_skybox.elf: SEGMENT_ADDRESS := 0x0A000000
$(BUILD_DIR)/bin/clouds_skybox.elf: SEGMENT_ADDRESS := 0x0A000000
$(BUILD_DIR)/bin/ssl_skybox.elf: SEGMENT_ADDRESS := 0x0A000000
$(BUILD_DIR)/bin/water_skybox.elf: SEGMENT_ADDRESS := 0x0A000000
$(BUILD_DIR)/bin/wdw_skybox.elf: SEGMENT_ADDRESS := 0x0A000000
# --------------------------------------
# Misc Rules
# --------------------------------------
# intro_raw textures are not compressed
INTRO_RAW_FILES := $(basename $(notdir $(wildcard $(TEXTURE_DIR)/intro_raw/*.png)))
$(BUILD_DIR)/data/goddard_tex_dl.o: $(addprefix $(BUILD_DIR)/bin/intro_raw/,$(INTRO_RAW_FILES))

12
README.md

@ -1,2 +1,10 @@
# sm64
Super Mario 64s source code. Not mine.
# Super Mario 64
This is a decompilation of Super Mario 64.
It builds the following rom(s):
* sm64.j.z64 `sha1: 8a20a5c83d6ceb0f0506cfc9fa20d8f438cafe51`
* sm64.u.z64 `sha1: 9bef1128717f958171a4afac3ed78ee2bb4e86ce`
To set up the repository, see [INSTALL.md](INSTALL.md).

BIN
actors/amp/0.rgba16.png

After

Width: 16  |  Height: 32  |  Size: 345 B

BIN
actors/amp/1.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 868 B

BIN
actors/amp/2.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 1.1 KiB

BIN
actors/amp/3.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 1.9 KiB

2
actors/amp/collision.s

@ -0,0 +1,2 @@
# Amp

54
actors/amp/geo.s

@ -0,0 +1,54 @@
glabel amp_geo # 0x0F000028
geo_shadow SHADOW_CIRCLE_4_VERTS, 0xC8, 100
geo_open_node
geo_scale 0x00, 16384
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002C88
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_switch_case 2, geo_switch_anim_state
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_dl_translated LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002BA0
geo_close_node
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_switch_case 2, geo_switch_anim_state
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_dl_translated LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002BA0
geo_close_node
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_switch_case 2, geo_switch_anim_state
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_dl_translated LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002BA0
geo_close_node
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_switch_case 2, geo_switch_anim_state
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_dl_translated LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002BA0
geo_close_node
geo_close_node
geo_close_node
geo_dl_translated LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002D70
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_billboard
geo_open_node
geo_display_list LAYER_ALPHA, amp_seg8_dl_08002E58
geo_close_node
geo_close_node
geo_close_node
geo_close_node
geo_close_node
geo_end

503
actors/amp/model.s

@ -0,0 +1,503 @@
# Amp
amp_seg8_texture_08000F18: # 0x08000F18
.incbin "actors/amp/0.rgba16"
amp_seg8_texture_08001318: # 0x08001318
.incbin "actors/amp/1.rgba16"
amp_seg8_texture_08001B18: # 0x08001B18
.incbin "actors/amp/2.rgba16"
amp_seg8_texture_08002318: # 0x08002318
.incbin "actors/amp/3.rgba16"
amp_seg8_vertex_08002B18: # 0x08002B18
vertex 224, 0, -89, 0, 480, 0xFF, 0xFF, 0xFF, 0xFF
vertex 187, 149, 0, 223, 1078, 0xFF, 0xFF, 0xFF, 0xFF
vertex 224, 0, 90, 479, 478, 0xFF, 0xFF, 0xFF, 0xFF
vertex 187, -148, 0, 224, -122, 0xFF, 0xFF, 0xFF, 0xFF
vertex 224, 0, -89, 0, 478, 0xFF, 0xFF, 0xFF, 0xFF
glabel amp_seg8_dl_08002B68 # 0x08002B68 - 0x08002BA0
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, amp_seg8_texture_08000F18
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x1FF, 0x200
gsSPVertex amp_seg8_vertex_08002B18, 5, 0
gsSP2Triangles 0, 1, 2, 0x0, 2, 3, 4, 0x0
gsSPEndDisplayList
glabel amp_seg8_dl_08002BA0 # 0x08002BA0 - 0x08002C10
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_TEXEL0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_TEXEL0
gsSPClearGeometryMode G_LIGHTING | G_CULL_BACK
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 4, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 60, 124
gsSPDisplayList amp_seg8_dl_08002B68
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPSetGeometryMode G_LIGHTING | G_CULL_BACK
gsSPEndDisplayList
amp_seg8_vertex_08002C10: # 0x08002C10
vertex 68, 72, 158, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF
vertex -27, -71, 164, 990, 990, 0xFF, 0xFF, 0xFF, 0xFF
vertex 68, -71, 158, 990, 0, 0xFF, 0xFF, 0xFF, 0xFF
vertex -27, 72, 164, 0, 990, 0xFF, 0xFF, 0xFF, 0xFF
glabel amp_seg8_dl_08002C50 # 0x08002C50 - 0x08002C88
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, amp_seg8_texture_08001318
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x3FF, 0x100
gsSPVertex amp_seg8_vertex_08002C10, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 3, 1, 0x0
gsSPEndDisplayList
glabel amp_seg8_dl_08002C88 # 0x08002C88 - 0x08002CF8
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_TEXEL0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_TEXEL0
gsSPClearGeometryMode G_LIGHTING
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 124, 124
gsSPDisplayList amp_seg8_dl_08002C50
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPSetGeometryMode G_LIGHTING
gsSPEndDisplayList
amp_seg8_vertex_08002CF8: # 0x08002CF8
vertex -29, 72, 164, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF
vertex -124, -71, 121, 990, 990, 0xFF, 0xFF, 0xFF, 0xFF
vertex -29, -71, 164, 990, 0, 0xFF, 0xFF, 0xFF, 0xFF
vertex -124, 72, 121, 0, 990, 0xFF, 0xFF, 0xFF, 0xFF
glabel amp_seg8_dl_08002D38 # 0x08002D38 - 0x08002D70
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, amp_seg8_texture_08002318
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x3FF, 0x100
gsSPVertex amp_seg8_vertex_08002CF8, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 3, 1, 0x0
gsSPEndDisplayList
glabel amp_seg8_dl_08002D70 # 0x08002D70 - 0x08002DE0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_TEXEL0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_TEXEL0
gsSPClearGeometryMode G_LIGHTING
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 124, 124
gsSPDisplayList amp_seg8_dl_08002D38
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPSetGeometryMode G_LIGHTING
gsSPEndDisplayList
amp_seg8_vertex_08002DE0: # 0x08002DE0
vertex -39, -39, 0, 0, 990, 0xFF, 0xFF, 0xFF, 0xFF
vertex 40, 40, 0, 990, 0, 0xFF, 0xFF, 0xFF, 0xFF
vertex -39, 40, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF
vertex 40, -39, 0, 990, 990, 0xFF, 0xFF, 0xFF, 0xFF
glabel amp_seg8_dl_08002E20 # 0x08002E20 - 0x08002E58
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, amp_seg8_texture_08001B18
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x3FF, 0x100
gsSPVertex amp_seg8_vertex_08002DE0, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 3, 1, 0x0
gsSPEndDisplayList
glabel amp_seg8_dl_08002E58 # 0x08002E58 - 0x08002EC8
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_TEXEL0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_TEXEL0
gsSPClearGeometryMode G_LIGHTING
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 124, 124
gsSPDisplayList amp_seg8_dl_08002E20
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPSetGeometryMode G_LIGHTING
gsSPEndDisplayList
amp_seg8_light_08002EC8: # 0x08002EC8
.byte 0x33, 0x3F, 0x00, 0x00, 0x33, 0x3F, 0x00, 0x00
amp_seg8_light_08002ED0: # 0x08002ED0
.byte 0xCF, 0xFF, 0x00, 0x00, 0xCF, 0xFF, 0x00, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
# //! Another malformed entry: Vertex interpreted as light
amp_seg8_vertex_08002EE0: # 0x08002EE0
vertex 280, 0, 35, 0, 0, 0x7B, 0xE2, 0x00, 0x00
vertex 240, -160, 0, 0, 0, 0x7B, 0xE2, 0x00, 0x00
vertex 280, 0, -35, 0, 0, 0x7B, 0xE2, 0x00, 0x00
vertex 280, 0, -35, 0, 0, 0x7B, 0x1E, 0x00, 0xFF
vertex 240, 160, 0, 0, 0, 0x7B, 0x1E, 0x00, 0xFF
vertex 280, 0, 35, 0, 0, 0x7B, 0x1E, 0x00, 0xFF
amp_seg8_vertex_08002F40: # 0x08002F40
vertex 280, 0, 35, 0, 0, 0x7B, 0xE2, 0x00, 0x00
vertex 240, -160, 0, 0, 0, 0x7B, 0xE2, 0x00, 0x00
vertex 280, 0, -35, 0, 0, 0x7B, 0xE2, 0x00, 0x00
vertex 280, 0, -35, 0, 0, 0x7B, 0x1E, 0x00, 0xFF
vertex 240, 160, 0, 0, 0, 0x7B, 0x1E, 0x00, 0xFF
vertex 280, 0, 35, 0, 0, 0x7B, 0x1E, 0x00, 0xFF
amp_seg8_vertex_08002FA0: # 0x08002FA0
vertex 280, 0, 35, 0, 0, 0x7B, 0xE2, 0x00, 0x00
vertex 240, -160, 0, 0, 0, 0x7B, 0xE2, 0x00, 0x00
vertex 280, 0, -35, 0, 0, 0x7B, 0xE2, 0x00, 0x00
vertex 280, 0, -35, 0, 0, 0x7B, 0x1E, 0x00, 0xFF
vertex 240, 160, 0, 0, 0, 0x7B, 0x1E, 0x00, 0xFF
vertex 280, 0, 35, 0, 0, 0x7B, 0x1E, 0x00, 0xFF
amp_seg8_vertex_08003000: # 0x08003000
vertex 280, 0, -35, 0, 0, 0x7B, 0x1E, 0x00, 0x00
vertex 240, 160, 0, 0, 0, 0x7B, 0x1E, 0x00, 0x00
vertex 280, 0, 35, 0, 0, 0x7B, 0x1E, 0x00, 0x00
vertex 280, 0, 35, 0, 0, 0x7B, 0xE2, 0x00, 0xFF
vertex 240, -160, 0, 0, 0, 0x7B, 0xE2, 0x00, 0xFF
vertex 280, 0, -35, 0, 0, 0x7B, 0xE2, 0x00, 0xFF
amp_seg8_vertex_08003060: # 0x08003060
vertex -184, -54, -54, 0, 0, 0x8B, 0xDE, 0xDE, 0x00
vertex -184, -76, 0, 0, 0, 0x8B, 0xD0, 0x00, 0x00
vertex -200, 0, 0, 0, 0, 0x81, 0x00, 0x00, 0x00
vertex -141, -100, -100, 0, 0, 0xA6, 0xC1, 0xC1, 0xFF
vertex -141, -141, 0, 0, 0, 0xA6, 0xA7, 0x00, 0xFF
vertex -76, -130, -130, 0, 0, 0xD0, 0xAE, 0xAE, 0xFF
vertex -76, -184, 0, 0, 0, 0xD0, 0x8B, 0x00, 0xFF
vertex 0, -141, -141, 0, 0, 0x00, 0xA7, 0xA7, 0xFF
vertex 0, -200, 0, 0, 0, 0x00, 0x81, 0x00, 0xFF
vertex 76, -130, -130, 0, 0, 0x30, 0xAE, 0xAE, 0xFF
vertex 76, -184, 0, 0, 0, 0x30, 0x8B, 0x00, 0xFF
vertex 141, -100, -100, 0, 0, 0x5A, 0xC1, 0xC1, 0xFF
vertex 141, -141, 0, 0, 0, 0x5A, 0xA7, 0x00, 0xFF
vertex 184, -54, -54, 0, 0, 0x75, 0xDE, 0xDE, 0xFF
vertex 184, -76, 0, 0, 0, 0x75, 0xD0, 0x00, 0xFF
vertex 200, 0, 0, 0, 0, 0x7F, 0x00, 0x00, 0xFF
amp_seg8_vertex_08003160: # 0x08003160
vertex -184, 0, -76, 0, 0, 0x8B, 0x00, 0xD0, 0xFF
vertex -184, -54, -54, 0, 0, 0x8B, 0xDE, 0xDE, 0x00
vertex -200, 0, 0, 0, 0, 0x81, 0x00, 0x00, 0x00
vertex -141, 0, -141, 0, 0, 0xA6, 0x00, 0xA7, 0xFF
vertex -141, -100, -100, 0, 0, 0xA6, 0xC1, 0xC1, 0xFF
vertex -76, 0, -184, 0, 0, 0xD0, 0x00, 0x8B, 0xFF
vertex -76, -130, -130, 0, 0, 0xD0, 0xAE, 0xAE, 0xFF
vertex 0, 0, -200, 0, 0, 0x00, 0x00, 0x81, 0xFF
vertex 0, -141, -141, 0, 0, 0x00, 0xA7, 0xA7, 0xFF
vertex 76, 0, -184, 0, 0, 0x30, 0x00, 0x8B, 0xFF
vertex 76, -130, -130, 0, 0, 0x30, 0xAE, 0xAE, 0xFF
vertex 141, 0, -141, 0, 0, 0x5A, 0x00, 0xA7, 0xFF
vertex 141, -100, -100, 0, 0, 0x5A, 0xC1, 0xC1, 0xFF
vertex 184, 0, -76, 0, 0, 0x75, 0x00, 0xD0, 0xFF
vertex 184, -54, -54, 0, 0, 0x75, 0xDE, 0xDE, 0xFF
vertex 200, 0, 0, 0, 0, 0x7F, 0x00, 0x00, 0xFF
amp_seg8_vertex_08003260: # 0x08003260
vertex -184, 54, -54, 0, 0, 0x8B, 0x22, 0xDE, 0xFF
vertex -184, 0, -76, 0, 0, 0x8B, 0x00, 0xD0, 0x00
vertex -200, 0, 0, 0, 0, 0x81, 0x00, 0x00, 0x00
vertex -141, 100, -100, 0, 0, 0xA6, 0x3F, 0xC1, 0xFF
vertex -141, 0, -141, 0, 0, 0xA6, 0x00, 0xA7, 0xFF
vertex -76, 130, -130, 0, 0, 0xD0, 0x52, 0xAE, 0xFF
vertex -76, 0, -184, 0, 0, 0xD0, 0x00, 0x8B, 0xFF
vertex 0, 141, -141, 0, 0, 0x00, 0x59, 0xA7, 0xFF
vertex 0, 0, -200, 0, 0, 0x00, 0x00, 0x81, 0xFF
vertex 76, 130, -130, 0, 0, 0x30, 0x52, 0xAE, 0xFF
vertex 76, 0, -184, 0, 0, 0x30, 0x00, 0x8B, 0xFF
vertex 141, 100, -100, 0, 0, 0x5A, 0x3F, 0xC1, 0xFF
vertex 141, 0, -141, 0, 0, 0x5A, 0x00, 0xA7, 0xFF
vertex 184, 54, -54, 0, 0, 0x75, 0x22, 0xDE, 0xFF
vertex 184, 0, -76, 0, 0, 0x75, 0x00, 0xD0, 0xFF
vertex 200, 0, 0, 0, 0, 0x7F, 0x00, 0x00, 0xFF
amp_seg8_vertex_08003360: # 0x08003360
vertex -184, 76, 0, 0, 0, 0x8B, 0x30, 0x00, 0xFF
vertex -184, 54, -54, 0, 0, 0x8B, 0x22, 0xDE, 0x00
vertex -200, 0, 0, 0, 0, 0x81, 0x00, 0x00, 0x00
vertex -141, 141, 0, 0, 0, 0xA6, 0x59, 0x00, 0xFF
vertex -141, 100, -100, 0, 0, 0xA6, 0x3F, 0xC1, 0xFF
vertex -76, 184, 0, 0, 0, 0xD0, 0x75, 0x00, 0xFF
vertex -76, 130, -130, 0, 0, 0xD0, 0x52, 0xAE, 0xFF
vertex 0, 200, 0, 0, 0, 0x00, 0x7F, 0x00, 0xFF
vertex 0, 141, -141, 0, 0, 0x00, 0x59, 0xA7, 0xFF
vertex 76, 184, 0, 0, 0, 0x30, 0x75, 0x00, 0xFF
vertex 76, 130, -130, 0, 0, 0x30, 0x52, 0xAE, 0xFF
vertex 141, 141, 0, 0, 0, 0x5A, 0x59, 0x00, 0xFF
vertex 141, 100, -100, 0, 0, 0x5A, 0x3F, 0xC1, 0xFF
vertex 184, 76, 0, 0, 0, 0x75, 0x30, 0x00, 0xFF
vertex 184, 54, -54, 0, 0, 0x75, 0x22, 0xDE, 0xFF
vertex 200, 0, 0, 0, 0, 0x7F, 0x00, 0x00, 0xFF
amp_seg8_vertex_08003460: # 0x08003460
vertex -184, 54, 54, 0, 0, 0x8B, 0x22, 0x22, 0xFF
vertex -184, 76, 0, 0, 0, 0x8B, 0x30, 0x00, 0x00
vertex -200, 0, 0, 0, 0, 0x81, 0x00, 0x00, 0x00
vertex -141, 100, 100, 0, 0, 0xA6, 0x3F, 0x3F, 0xFF
vertex -141, 141, 0, 0, 0, 0xA6, 0x59, 0x00, 0xFF
vertex -76, 130, 130, 0, 0, 0xD0, 0x52, 0x52, 0xFF
vertex -76, 184, 0, 0, 0, 0xD0, 0x75, 0x00, 0xFF
vertex 0, 141, 141, 0, 0, 0x00, 0x59, 0x59, 0xFF
vertex 0, 200, 0, 0, 0, 0x00, 0x7F, 0x00, 0xFF
vertex 76, 130, 130, 0, 0, 0x30, 0x52, 0x52, 0xFF
vertex 76, 184, 0, 0, 0, 0x30, 0x75, 0x00, 0xFF
vertex 141, 100, 100, 0, 0, 0x5A, 0x3F, 0x3F, 0xFF
vertex 141, 141, 0, 0, 0, 0x5A, 0x59, 0x00, 0xFF
vertex 184, 54, 54, 0, 0, 0x75, 0x22, 0x22, 0xFF
vertex 184, 76, 0, 0, 0, 0x75, 0x30, 0x00, 0xFF
vertex 200, 0, 0, 0, 0, 0x7F, 0x00, 0x00, 0xFF
amp_seg8_vertex_08003560: # 0x08003560
vertex -184, 0, 76, 0, 0, 0x8B, 0x00, 0x30, 0xFF
vertex -184, 54, 54, 0, 0, 0x8B, 0x22, 0x22, 0x00
vertex -200, 0, 0, 0, 0, 0x81, 0x00, 0x00, 0x00
vertex -141, 0, 141, 0, 0, 0xA6, 0x00, 0x59, 0xFF
vertex -141, 100, 100, 0, 0, 0xA6, 0x3F, 0x3F, 0xFF
vertex -76, 0, 184, 0, 0, 0xD0, 0x00, 0x75, 0xFF
vertex -76, 130, 130, 0, 0, 0xD0, 0x52, 0x52, 0xFF
vertex 0, 0, 200, 0, 0, 0x00, 0x00, 0x7F, 0xFF
vertex 0, 141, 141, 0, 0, 0x00, 0x59, 0x59, 0xFF
vertex 76, 0, 184, 0, 0, 0x30, 0x00, 0x75, 0xFF
vertex 76, 130, 130, 0, 0, 0x30, 0x52, 0x52, 0xFF
vertex 141, 0, 141, 0, 0, 0x5A, 0x00, 0x59, 0xFF
vertex 141, 100, 100, 0, 0, 0x5A, 0x3F, 0x3F, 0xFF
vertex 184, 0, 76, 0, 0, 0x75, 0x00, 0x30, 0xFF
vertex 184, 54, 54, 0, 0, 0x75, 0x22, 0x22, 0xFF
vertex 200, 0, 0, 0, 0, 0x7F, 0x00, 0x00, 0xFF
amp_seg8_vertex_08003660: # 0x08003660
vertex -184, -54, 54, 0, 0, 0x8B, 0xDE, 0x22, 0xFF
vertex -184, 0, 76, 0, 0, 0x8B, 0x00, 0x30, 0x00
vertex -200, 0, 0, 0, 0, 0x81, 0x00, 0x00, 0x00
vertex -141, -100, 100, 0, 0, 0xA6, 0xC1, 0x3F, 0xFF
vertex -141, 0, 141, 0, 0, 0xA6, 0x00, 0x59, 0xFF
vertex -76, -130, 130, 0, 0, 0xD0, 0xAE, 0x52, 0xFF
vertex -76, 0, 184, 0, 0, 0xD0, 0x00, 0x75, 0xFF
vertex 0, -141, 141, 0, 0, 0x00, 0xA7, 0x59, 0xFF
vertex 0, 0, 200, 0, 0, 0x00, 0x00, 0x7F, 0xFF
vertex 76, -130, 130, 0, 0, 0x30, 0xAE, 0x52, 0xFF
vertex 76, 0, 184, 0, 0, 0x30, 0x00, 0x75, 0xFF
vertex 141, -100, 100, 0, 0, 0x5A, 0xC1, 0x3F, 0xFF
vertex 141, 0, 141, 0, 0, 0x5A, 0x00, 0x59, 0xFF
vertex 184, -54, 54, 0, 0, 0x75, 0xDE, 0x22, 0xFF
vertex 184, 0, 76, 0, 0, 0x75, 0x00, 0x30, 0xFF
vertex 200, 0, 0, 0, 0, 0x7F, 0x00, 0x00, 0xFF
amp_seg8_vertex_08003760: # 0x08003760
vertex -184, -76, 0, 0, 0, 0x8B, 0xD0, 0x00, 0xFF
vertex -184, -54, 54, 0, 0, 0x8B, 0xDE, 0x22, 0x00
vertex -200, 0, 0, 0, 0, 0x81, 0x00, 0x00, 0x00
vertex -141, -141, 0, 0, 0, 0xA6, 0xA7, 0x00, 0xFF
vertex -141, -100, 100, 0, 0, 0xA6, 0xC1, 0x3F, 0xFF
vertex -76, -184, 0, 0, 0, 0xD0, 0x8B, 0x00, 0xFF
vertex -76, -130, 130, 0, 0, 0xD0, 0xAE, 0x52, 0xFF
vertex 0, -200, 0, 0, 0, 0x00, 0x81, 0x00, 0xFF
vertex 0, -141, 141, 0, 0, 0x00, 0xA7, 0x59, 0xFF
vertex 76, -184, 0, 0, 0, 0x30, 0x8B, 0x00, 0xFF
vertex 76, -130, 130, 0, 0, 0x30, 0xAE, 0x52, 0xFF
vertex 141, -141, 0, 0, 0, 0x5A, 0xA7, 0x00, 0xFF
vertex 141, -100, 100, 0, 0, 0x5A, 0xC1, 0x3F, 0xFF
vertex 184, -76, 0, 0, 0, 0x75, 0xD0, 0x00, 0xFF
vertex 184, -54, 54, 0, 0, 0x75, 0xDE, 0x22, 0xFF
vertex 200, 0, 0, 0, 0, 0x7F, 0x00, 0x00, 0xFF
amp_seg8_vertex_08003860: # 0x08003860
vertex -37, 90, 205, 0, 0, 0xCC, 0x00, 0x73, 0x00
vertex -129, 90, 163, 0, 0, 0xCC, 0x00, 0x73, 0x00
vertex -129, -90, 163, 0, 0, 0xCC, 0x00, 0x73, 0x00
vertex -37, -90, 205, 0, 0, 0xCC, 0x00, 0x73, 0xFF
amp_seg8_vertex_080038A0: # 0x080038A0
vertex 112, -7, 182, 0, 0, 0x4C, 0xD8, 0x5C, 0x00
vertex 66, -139, 162, 0, 0, 0x4C, 0xD8, 0x5C, 0x00
vertex 175, -77, 98, 0, 0, 0x4C, 0xD8, 0x5C, 0x00
amp_seg8_vertex_080038D0: # 0x080038D0
vertex 63, 90, 198, 0, 0, 0x08, 0x00, 0x7E, 0x00
vertex -35, 90, 205, 0, 0, 0x08, 0x00, 0x7E, 0x00
vertex -35, -90, 205, 0, 0, 0x08, 0x00, 0x7E, 0x00
vertex 63, -90, 198, 0, 0, 0x08, 0x00, 0x7E, 0xFF
glabel amp_seg8_dl_08003910 # 0x08003910 - 0x08003940
gsSPLight amp_seg8_light_08002ED0, 1
gsSPLight amp_seg8_light_08002EC8, 2
gsSPVertex amp_seg8_vertex_08002EE0, 6, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSPEndDisplayList
glabel amp_seg8_dl_08003940 # 0x08003940 - 0x08003970
gsSPLight amp_seg8_light_08002ED0, 1
gsSPLight amp_seg8_light_08002EC8, 2
gsSPVertex amp_seg8_vertex_08002F40, 6, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSPEndDisplayList
glabel amp_seg8_dl_08003970 # 0x08003970 - 0x080039A0
gsSPLight amp_seg8_light_08002ED0, 1
gsSPLight amp_seg8_light_08002EC8, 2
gsSPVertex amp_seg8_vertex_08002FA0, 6, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSPEndDisplayList
glabel amp_seg8_dl_080039A0 # 0x080039A0 - 0x080039D0
gsSPLight amp_seg8_light_08002ED0, 1
gsSPLight amp_seg8_light_08002EC8, 2
gsSPVertex amp_seg8_vertex_08003000, 6, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSPEndDisplayList
glabel amp_seg8_dl_080039D0 # 0x080039D0 - 0x08003DA8
gsSPLight amp_seg8_vertex_08002EE0 + 0x8, 1
gsSPLight amp_seg8_vertex_08002EE0, 2
gsSPVertex amp_seg8_vertex_08003060, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 1, 0, 3, 0x0
gsSP2Triangles 1, 3, 4, 0x0, 4, 3, 5, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 6, 5, 7, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 8, 7, 9, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 10, 9, 11, 0x0
gsSP2Triangles 10, 11, 12, 0x0, 12, 11, 13, 0x0
gsSP2Triangles 12, 13, 14, 0x0, 14, 13, 15, 0x0
gsSPVertex amp_seg8_vertex_08003160, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 1, 0, 3, 0x0
gsSP2Triangles 1, 3, 4, 0x0, 4, 3, 5, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 6, 5, 7, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 8, 7, 9, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 10, 9, 11, 0x0
gsSP2Triangles 10, 11, 12, 0x0, 12, 11, 13, 0x0
gsSP2Triangles 12, 13, 14, 0x0, 14, 13, 15, 0x0
gsSPVertex amp_seg8_vertex_08003260, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 1, 0, 3, 0x0
gsSP2Triangles 1, 3, 4, 0x0, 4, 3, 5, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 6, 5, 7, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 8, 7, 9, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 10, 9, 11, 0x0
gsSP2Triangles 10, 11, 12, 0x0, 12, 11, 13, 0x0
gsSP2Triangles 12, 13, 14, 0x0, 14, 13, 15, 0x0
gsSPVertex amp_seg8_vertex_08003360, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 1, 0, 3, 0x0
gsSP2Triangles 1, 3, 4, 0x0, 4, 3, 5, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 6, 5, 7, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 8, 7, 9, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 10, 9, 11, 0x0
gsSP2Triangles 10, 11, 12, 0x0, 12, 11, 13, 0x0
gsSP2Triangles 12, 13, 14, 0x0, 14, 13, 15, 0x0
gsSPVertex amp_seg8_vertex_08003460, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 1, 0, 3, 0x0
gsSP2Triangles 1, 3, 4, 0x0, 4, 3, 5, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 6, 5, 7, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 8, 7, 9, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 10, 9, 11, 0x0
gsSP2Triangles 10, 11, 12, 0x0, 12, 11, 13, 0x0
gsSP2Triangles 12, 13, 14, 0x0, 14, 13, 15, 0x0
gsSPVertex amp_seg8_vertex_08003560, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 1, 0, 3, 0x0
gsSP2Triangles 1, 3, 4, 0x0, 4, 3, 5, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 6, 5, 7, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 8, 7, 9, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 10, 9, 11, 0x0
gsSP2Triangles 10, 11, 12, 0x0, 12, 11, 13, 0x0
gsSP2Triangles 12, 13, 14, 0x0, 14, 13, 15, 0x0
gsSPVertex amp_seg8_vertex_08003660, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 1, 0, 3, 0x0
gsSP2Triangles 1, 3, 4, 0x0, 4, 3, 5, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 6, 5, 7, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 8, 7, 9, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 10, 9, 11, 0x0
gsSP2Triangles 10, 11, 12, 0x0, 12, 11, 13, 0x0
gsSP2Triangles 12, 13, 14, 0x0, 14, 13, 15, 0x0
gsSPVertex amp_seg8_vertex_08003760, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 1, 0, 3, 0x0
gsSP2Triangles 1, 3, 4, 0x0, 4, 3, 5, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 6, 5, 7, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 8, 7, 9, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 10, 9, 11, 0x0
gsSP2Triangles 10, 11, 12, 0x0, 12, 11, 13, 0x0
gsSP2Triangles 12, 13, 14, 0x0, 14, 13, 15, 0x0
gsSPEndDisplayList
glabel amp_seg8_dl_08003DA8 # 0x08003DA8 - 0x08003DD8
gsSPLight amp_seg8_vertex_08002EE0 + 0x8, 1
gsSPLight amp_seg8_vertex_08002EE0, 2
gsSPVertex amp_seg8_vertex_08003860, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSPEndDisplayList
glabel amp_seg8_dl_08003DD8 # 0x08003DD8 - 0x08003E00
gsSPLight amp_seg8_vertex_08002EE0 + 0x8, 1
gsSPLight amp_seg8_vertex_08002EE0, 2
gsSPVertex amp_seg8_vertex_080038A0, 3, 0
gsSP1Triangle 0, 1, 2, 0x0
gsSPEndDisplayList
glabel amp_seg8_dl_08003E00 # 0x08003E00 - 0x08003E30
gsSPLight amp_seg8_vertex_08002EE0 + 0x8, 1
gsSPLight amp_seg8_vertex_08002EE0, 2
gsSPVertex amp_seg8_vertex_080038D0, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSPEndDisplayList
amp_seg8_animvalue_08003E30: # 0x08003E30
.hword 0x0000, 0x0000, 0x0D79, 0x1AF2, 0x286B, 0x35E4, 0x435D, 0x50D6
.hword 0x5E50, 0x6BC9, 0x7942, 0x86BE, 0x9437, 0xA1B0, 0xAF2A, 0xBCA3
.hword 0xCA1C, 0xD795, 0xE50E, 0xF287, 0x1872, 0x0000, 0x1AF2, 0x35E4
.hword 0x50D6, 0x6BC9, 0x86BE, 0xA1B0, 0xBCA3, 0xD795, 0xF287, 0x0D79
.hword 0x286B, 0x435D, 0x5E50, 0x7942, 0x9437, 0xAF2A, 0xCA1C, 0xE50E
.hword 0x0000, 0x1AF2, 0x35E4, 0x50D6, 0x6BC9, 0x86BE, 0xA1B0, 0xBCA3
.hword 0xD795, 0xF287, 0x0D79, 0x286B, 0x435D, 0x5E50, 0x7942, 0x9437
.hword 0xAF2A, 0xCA1C, 0xE50E, 0x8001, 0x5793, 0x2F28, 0x06BC, 0xDE52
.hword 0xB5E6, 0x8D7B, 0x650C, 0x3CA1, 0x1435, 0xEBCB, 0xC35F, 0x9AF4
.hword 0x7285, 0x4A1A, 0x21AE, 0xF944, 0xD0D8, 0xA86D, 0x3FFF, 0x0000
.hword 0x0D7C, 0x1AF9, 0x2876, 0x35F3, 0x4370, 0x50ED, 0x5E6A, 0x6BE7
.hword 0x7964, 0x86E3, 0x9460, 0xA1DD, 0xAF5A, 0xBCD7, 0xCA54, 0xD7D1
.hword 0xE54E, 0xF2CB, 0xC001, 0x3FFF, 0x0000, 0x0D7B, 0x1AF7, 0x2873
.hword 0x35EF, 0x436B, 0x50E6, 0x5E62, 0x6BDE, 0x795A, 0x86D9, 0x9455
.hword 0xA1D0, 0xAF4C, 0xBCC8, 0xCA44, 0xD7C0, 0xE53B, 0xF2B7, 0xC001
.hword 0x3FFF, 0xC001, 0xCD7A, 0xDAF2, 0xE86B, 0xF5E3, 0x035B, 0x10D3
.hword 0x1E4C, 0x2BC4, 0x393D, 0x46B5, 0x542E, 0x61A6, 0x6F1F, 0x7C97
.hword 0x8A13, 0x978B, 0xA504, 0xB27D, 0xC001, 0x3FFF, 0x4D79, 0x5AF2
.hword 0x686C, 0x75E5, 0x8362, 0x90DB, 0x9E55, 0xABCF, 0xB948, 0xC6C2
.hword 0xD43B, 0xE1B5, 0xEF2F, 0xFCA8, 0x0A21, 0x179A, 0x2514, 0x328D
.hword 0xC001, 0x3FFF
amp_seg8_animindex_08003F74: # 0x08003F74
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x00A1, 0x0001, 0x0000, 0x0013, 0x008D, 0x0001, 0x00A0
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0013, 0x0001, 0x0001, 0x0000
.hword 0x0013, 0x0079, 0x0001, 0x008C, 0x0001, 0x0014, 0x0001, 0x0000
.hword 0x0013, 0x0015, 0x0001, 0x0000, 0x0013, 0x0064, 0x0001, 0x0077
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0013, 0x0028, 0x0001, 0x0000
.hword 0x0013, 0x004F, 0x0001, 0x0062, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0013, 0x003B, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0078
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0063, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x004E
amp_seg8_anim_0800401C: # 0x0800401C
.hword 0
.hword 0
.hword 0
.hword 0
.hword 0x13
.hword 0x0D
.word amp_seg8_animvalue_08003E30
.word amp_seg8_animindex_08003F74
.word 0
glabel amp_seg8_anims_08004034 # 0x08004034
.word amp_seg8_anim_0800401C

2
actors/bird/collision.s

@ -0,0 +1,2 @@
# Birds

23
actors/bird/geo.s

@ -0,0 +1,23 @@
glabel birds_geo # 0x0C000000
geo_shadow SHADOW_CIRCLE_4_VERTS, 0x96, 100
geo_open_node
geo_scale 0x00, 16384
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000670
geo_open_node
geo_dl_translated LAYER_OPAQUE, 1, -12, 37
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000528
geo_close_node
geo_dl_translated LAYER_OPAQUE, 1, -12, -37
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000600
geo_close_node
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000598
geo_close_node
geo_close_node
geo_close_node
geo_end

254
actors/bird/model.s

@ -0,0 +1,254 @@
# Birds
birds_seg5_light_05000000: # 0x05000000
.byte 0x07, 0x24, 0x2C, 0x00, 0x07, 0x24, 0x2C, 0x00
birds_seg5_light_05000008: # 0x05000008
.byte 0x1D, 0x91, 0xB0, 0x00, 0x1D, 0x91, 0xB0, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
birds_seg5_light_05000018: # 0x05000018
.byte 0x33, 0x27, 0x0D, 0x00, 0x33, 0x27, 0x0D, 0x00
birds_seg5_light_05000020: # 0x05000020
.byte 0xCE, 0x9D, 0x34, 0x00, 0xCE, 0x9D, 0x34, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
birds_seg5_light_05000030: # 0x05000030
.byte 0x3F, 0x3F, 0x3F, 0x00, 0x3F, 0x3F, 0x3F, 0x00
birds_seg5_light_05000038: # 0x05000038
.byte 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
birds_seg5_vertex_05000048: # 0x05000048
vertex 178, 2, 39, 0, 0, 0x0D, 0x7E, 0x00, 0x00
vertex 122, -4, -33, 0, 0, 0x10, 0x79, 0xDE, 0x00
vertex 97, 10, 13, 0, 0, 0x0B, 0x7E, 0xFF, 0x00
vertex 47, 4, 47, 0, 0, 0xFE, 0x7C, 0x1B, 0xFF
vertex 53, 14, 7, 0, 0, 0xFE, 0x7E, 0xF8, 0xFF
vertex 0, 5, 32, 0, 0, 0xF0, 0x7D, 0x03, 0xFF
vertex 27, 9, 16, 0, 0, 0xEE, 0x7D, 0x05, 0xFF
vertex 53, -8, -58, 0, 0, 0x0A, 0x78, 0xD8, 0xFF
vertex -4, -6, -64, 0, 0, 0xF1, 0x7B, 0xE9, 0xFF
birds_seg5_vertex_050000D8: # 0x050000D8
vertex -143, -7, -29, 0, 0, 0x16, 0x94, 0xC2, 0x00
vertex -86, -11, -2, 0, 0, 0x16, 0x94, 0xC2, 0x00
vertex -154, -21, -9, 0, 0, 0x16, 0x94, 0xC2, 0x00
birds_seg5_vertex_05000108: # 0x05000108
vertex -154, -21, 9, 0, 0, 0x16, 0x94, 0x3E, 0x00
vertex -86, -11, 2, 0, 0, 0x16, 0x94, 0x3E, 0x00
vertex -143, -7, 29, 0, 0, 0x16, 0x94, 0x3E, 0x00
birds_seg5_vertex_05000138: # 0x05000138
vertex -152, -30, -17, 0, 0, 0x26, 0x87, 0x00, 0x00
vertex -80, -7, 0, 0, 0, 0x26, 0x87, 0x00, 0x00
vertex -152, -30, 17, 0, 0, 0x26, 0x87, 0x00, 0x00
birds_seg5_vertex_05000168: # 0x05000168
vertex 97, 10, -13, 0, 0, 0x0B, 0x7E, 0x01, 0x00
vertex 122, -4, 33, 0, 0, 0x10, 0x79, 0x22, 0x00
vertex 178, 2, -39, 0, 0, 0x0D, 0x7E, 0x00, 0x00
vertex 47, 4, -47, 0, 0, 0xFE, 0x7C, 0xE5, 0xFF
vertex 53, 14, -7, 0, 0, 0xFF, 0x7F, 0x02, 0xFF
vertex 27, 9, -16, 0, 0, 0xF1, 0x7D, 0x06, 0xFF
vertex 0, 5, -32, 0, 0, 0xF0, 0x7D, 0xFD, 0xFF
vertex -4, -6, 64, 0, 0, 0xF7, 0x7C, 0x14, 0xFF
vertex 53, -8, 58, 0, 0, 0xFA, 0x79, 0x25, 0xFF
birds_seg5_vertex_050001F8: # 0x050001F8
vertex 69, 4, -40, 0, 0, 0x40, 0x26, 0x9A, 0x00
vertex 78, -51, -21, 0, 0, 0x27, 0xAE, 0xA8, 0x00
vertex -1, 0, -56, 0, 0, 0xF4, 0xC6, 0x90, 0x00
vertex 69, 4, 40, 0, 0, 0x40, 0x26, 0x66, 0xFF
vertex 10, 48, 56, 0, 0, 0xEF, 0x41, 0x6B, 0xFF
vertex -1, 0, 56, 0, 0, 0xF4, 0xC6, 0x70, 0xFF
vertex -88, 21, 0, 0, 0, 0xAA, 0x5D, 0x00, 0xFF
vertex -103, -10, -11, 0, 0, 0xA7, 0x30, 0xB4, 0xFF
vertex -103, -10, 11, 0, 0, 0xA7, 0x30, 0x4C, 0xFF
vertex 83, -57, 0, 0, 0, 0xDD, 0x87, 0x00, 0xFF
vertex -9, -30, 0, 0, 0, 0xE0, 0x86, 0x00, 0xFF
vertex 113, 0, -10, 0, 0, 0x4E, 0x32, 0xAB, 0xFF
vertex 113, 0, 10, 0, 0, 0x4E, 0x32, 0x55, 0xFF
vertex 78, -51, 21, 0, 0, 0x27, 0xAE, 0x58, 0xFF
vertex -103, -10, 11, 0, 0, 0xEA, 0x88, 0x1F, 0xFF
vertex 113, -23, 0, 0, 0, 0x62, 0xB0, 0x00, 0xFF
birds_seg5_vertex_050002F8: # 0x050002F8
vertex 83, -57, 0, 0, 0, 0x60, 0xAD, 0x00, 0xFF
vertex 113, -23, 0, 0, 0, 0x62, 0xB0, 0x00, 0x00
vertex 78, -51, 21, 0, 0, 0x27, 0xAE, 0x58, 0x00
vertex 78, -51, -21, 0, 0, 0x27, 0xAE, 0xA8, 0xFF
vertex -103, -10, -11, 0, 0, 0xA7, 0x30, 0xB4, 0xFF
vertex -88, 21, 0, 0, 0, 0xAA, 0x5D, 0x00, 0xFF
vertex 10, 48, -56, 0, 0, 0xEF, 0x41, 0x95, 0xFF
vertex -1, 0, -56, 0, 0, 0xF4, 0xC6, 0x90, 0xFF
vertex 10, 48, 56, 0, 0, 0xEF, 0x41, 0x6B, 0xFF
vertex -103, -10, 11, 0, 0, 0xA7, 0x30, 0x4C, 0xFF
vertex -103, -10, -11, 0, 0, 0xEA, 0x88, 0xE1, 0xFF
vertex -9, -30, 0, 0, 0, 0xE0, 0x86, 0x00, 0xFF
vertex -103, -10, 11, 0, 0, 0xEA, 0x88, 0x1F, 0xFF
vertex 83, -57, 0, 0, 0, 0xDD, 0x87, 0x00, 0xFF
vertex -1, 0, 56, 0, 0, 0xF4, 0xC6, 0x70, 0xFF
vertex 69, 4, -40, 0, 0, 0x40, 0x26, 0x9A, 0xFF
birds_seg5_vertex_050003F8: # 0x050003F8
vertex -1, 0, 56, 0, 0, 0xF4, 0xC6, 0x70, 0xFF
vertex 78, -51, 21, 0, 0, 0x27, 0xAE, 0x58, 0x00
vertex 69, 4, 40, 0, 0, 0x40, 0x26, 0x66, 0x00
birds_seg5_vertex_05000428: # 0x05000428
vertex 69, 4, -40, 0, 0, 0x40, 0x26, 0x9A, 0x00
vertex 10, 48, -56, 0, 0, 0xEF, 0x41, 0x95, 0x00
vertex 18, 78, 0, 0, 0, 0x54, 0x5E, 0x00, 0x00
vertex 10, 48, 56, 0, 0, 0xEF, 0x41, 0x6B, 0xFF
vertex 18, 78, 0, 0, 0, 0xC4, 0x6F, 0x00, 0xFF
vertex -88, 21, 0, 0, 0, 0xAA, 0x5D, 0x00, 0xFF
vertex 113, 0, -10, 0, 0, 0x4E, 0x32, 0xAB, 0xFF
vertex 69, 33, 0, 0, 0, 0x4B, 0x65, 0x00, 0xFF
vertex 113, 0, 10, 0, 0, 0x4E, 0x32, 0x55, 0xFF
vertex 69, 4, 40, 0, 0, 0x40, 0x26, 0x66, 0xFF
birds_seg5_vertex_050004C8: # 0x050004C8
vertex 113, -23, 0, 0, 0, 0x62, 0xB0, 0x00, 0x00
vertex 113, 0, -10, 0, 0, 0x4E, 0x32, 0xAB, 0x00
vertex 143, -2, 0, 0, 0, 0x24, 0xCB, 0x93, 0x00
vertex 113, 0, 10, 0, 0, 0x4E, 0x32, 0x55, 0xFF
vertex 143, -2, 0, 0, 0, 0x24, 0xCB, 0x6D, 0xFF
vertex 143, -2, 0, 0, 0, 0x07, 0x7E, 0x00, 0xFF
glabel birds_seg5_dl_05000528 # 0x05000528 - 0x05000598
gsSPLight birds_seg5_light_05000008, 1
gsSPLight birds_seg5_light_05000000, 2
gsSPVertex birds_seg5_vertex_05000048, 9, 0
gsSP2Triangles 0, 1, 2, 0x0, 2, 3, 0, 0x0
gsSP2Triangles 4, 3, 2, 0x0, 5, 3, 6, 0x0
gsSP2Triangles 4, 7, 8, 0x0, 4, 8, 6, 0x0
gsSP2Triangles 6, 8, 5, 0x0, 6, 3, 4, 0x0
gsSP2Triangles 2, 1, 7, 0x0, 2, 7, 4, 0x0
gsSPEndDisplayList
glabel birds_seg5_dl_05000598 # 0x05000598 - 0x05000600
gsSPLight birds_seg5_light_05000008, 1
gsSPLight birds_seg5_light_05000000, 2
gsSPVertex birds_seg5_vertex_050000D8, 3, 0
gsSP1Triangle 0, 1, 2, 0x0
gsSPLight birds_seg5_light_05000008, 1
gsSPLight birds_seg5_light_05000000, 2
gsSPVertex birds_seg5_vertex_05000108, 3, 0
gsSP1Triangle 0, 1, 2, 0x0
gsSPLight birds_seg5_light_05000008, 1
gsSPLight birds_seg5_light_05000000, 2
gsSPVertex birds_seg5_vertex_05000138, 3, 0
gsSP1Triangle 0, 1, 2, 0x0
gsSPEndDisplayList
glabel birds_seg5_dl_05000600 # 0x05000600 - 0x05000670
gsSPLight birds_seg5_light_05000008, 1
gsSPLight birds_seg5_light_05000000, 2
gsSPVertex birds_seg5_vertex_05000168, 9, 0
gsSP2Triangles 0, 1, 2, 0x0, 2, 3, 0, 0x0
gsSP2Triangles 0, 3, 4, 0x0, 5, 3, 6, 0x0
gsSP2Triangles 5, 7, 8, 0x0, 5, 8, 4, 0x0
gsSP2Triangles 6, 7, 5, 0x0, 4, 3, 5, 0x0
gsSP2Triangles 4, 8, 1, 0x0, 4, 1, 0, 0x0
gsSPEndDisplayList
glabel birds_seg5_dl_05000670 # 0x05000670 - 0x050007E0
gsSPLight birds_seg5_light_05000008, 1
gsSPLight birds_seg5_light_05000000, 2
gsSPVertex birds_seg5_vertex_050001F8, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 1, 9, 10, 0x0
gsSP2Triangles 1, 0, 11, 0x0, 12, 3, 13, 0x0
gsSP2Triangles 8, 5, 4, 0x0, 5, 14, 10, 0x0
gsSP2Triangles 13, 15, 12, 0x0, 11, 15, 1, 0x0
gsSPVertex birds_seg5_vertex_050002F8, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 1, 0, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 6, 7, 4, 0x0
gsSP2Triangles 8, 5, 9, 0x0, 10, 7, 11, 0x0
gsSP2Triangles 11, 12, 10, 0x0, 11, 13, 2, 0x0
gsSP2Triangles 2, 14, 11, 0x0, 11, 7, 3, 0x0
gsSP1Triangle 7, 6, 15, 0x0
gsSPVertex birds_seg5_vertex_050003F8, 3, 0
gsSP1Triangle 0, 1, 2, 0x0
gsSPLight birds_seg5_light_05000038, 1
gsSPLight birds_seg5_light_05000030, 2
gsSPVertex birds_seg5_vertex_05000428, 10, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 0, 7, 0x0, 7, 8, 6, 0x0
gsSP2Triangles 9, 7, 2, 0x0, 2, 7, 0, 0x0
gsSP2Triangles 2, 3, 9, 0x0, 7, 9, 8, 0x0
gsSP1Triangle 5, 4, 1, 0x0
gsSPLight birds_seg5_light_05000020, 1
gsSPLight birds_seg5_light_05000018, 2
gsSPVertex birds_seg5_vertex_050004C8, 6, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 0, 4, 0x0
gsSP1Triangle 1, 3, 5, 0x0
gsSPEndDisplayList
birds_seg5_animvalue_050007E0: # 0x050007E0
.hword 0x0000, 0x0013, 0x0017, 0x001A, 0x001E, 0x0022, 0x0020, 0x001A
.hword 0xFFFF, 0x3FFF, 0x0888, 0x0695, 0x024C, 0xFE04, 0xFC12, 0xFF4D
.hword 0x054D, 0x0000, 0xFF6C, 0xFE24, 0xFCDD, 0xFC48, 0xFD3F, 0xFF0A
.hword 0x31C6, 0x228D, 0x010E, 0xDF90, 0xD056, 0xE999, 0x1883, 0x8001
.hword 0x7F50, 0x7EC6, 0x7F88, 0x80B3, 0x816F, 0x80C8, 0xF778, 0xF8AE
.hword 0xFB59, 0xFE04, 0xFF3A, 0xFD37, 0xF97B, 0x0000, 0x0098, 0x01E8
.hword 0x0339, 0x03D1, 0x02D4, 0x00FD, 0x31C6, 0x22A8, 0x0165, 0xE023
.hword 0xD104, 0xEA1A, 0x18B0, 0x3FFF, 0x3FFF, 0xC001, 0x3FFF, 0xC001
.hword 0x3FFF, 0x8001, 0x7F50, 0x7EC6, 0x7F88, 0x80B3, 0x816F, 0x80C8
birds_seg5_animindex_5000870: # 0x05000870
.hword 0x0001, 0x0000, 0x0007, 0x0001, 0x0001, 0x0008, 0x0001, 0x0000
.hword 0x0001, 0x0009, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0007, 0x0041, 0x0001, 0x003E, 0x0001, 0x003F, 0x0001, 0x0040
.hword 0x0007, 0x000A, 0x0007, 0x0011, 0x0007, 0x0018, 0x0001, 0x003B
.hword 0x0001, 0x003C, 0x0001, 0x003D, 0x0007, 0x0026, 0x0007, 0x002D
.hword 0x0007, 0x0034, 0x0001, 0x0000, 0x0001, 0x0000, 0x0007, 0x001F
birds_seg5_anim_050008D0: # 0x050008D0
.hword 0
.hword 0
.hword 0
.hword 0
.hword 0x07
.hword 0x07
.word birds_seg5_animvalue_050007E0
.word birds_seg5_animindex_5000870
.word 0
birds_seg5_animvalue_050008E8: # 0x050008E8
.hword 0x0000, 0x001A, 0x001B, 0x001B, 0x001B, 0x001B, 0x001B, 0x001B
.hword 0x001A, 0xFFFF, 0x3FFF, 0x024C, 0x0246, 0x023A, 0x0234, 0x0238
.hword 0x0240, 0x0249, 0x024C, 0xFE24, 0xFE1D, 0xFE0F, 0xFE07, 0xFE0C
.hword 0xFE16, 0xFE20, 0xFE24, 0x010E, 0x0195, 0x0290, 0x0317, 0x02C6
.hword 0x0212, 0x015F, 0x010E, 0x7EC6, 0xFB59, 0xFB5E, 0xFB68, 0xFB6D
.hword 0xFB6A, 0xFB63, 0xFB5C, 0xFB59, 0x01E8, 0x01F5, 0x020B, 0x0218
.hword 0x0210, 0x0200, 0x01F0, 0x01E8, 0x0165, 0x01D1, 0x0299, 0x0304
.hword 0x02C3, 0x0235, 0x01A6, 0x0165, 0x3FFF, 0x3FFF, 0xC001, 0x3FFF
.hword 0xC001, 0x3FFF, 0x7EC6, 0x0000
birds_seg5_animindex_5000970: # 0x05000970
.hword 0x0001, 0x0000, 0x0008, 0x0001, 0x0001, 0x0009, 0x0001, 0x0000
.hword 0x0001, 0x000A, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0042, 0x0001, 0x003F, 0x0001, 0x0040, 0x0001, 0x0041
.hword 0x0008, 0x000B, 0x0008, 0x0013, 0x0008, 0x001B, 0x0001, 0x003C
.hword 0x0001, 0x003D, 0x0001, 0x003E, 0x0008, 0x0024, 0x0008, 0x002C
.hword 0x0008, 0x0034, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0023
birds_seg5_anim_050009D0: # 0x050009D0
.hword 0
.hword 0
.hword 0
.hword 0
.hword 0x08
.hword 0x07
.word birds_seg5_animvalue_050008E8
.word birds_seg5_animindex_5000970
.word 0
glabel birds_seg5_anims_050009E8 # 0x050009E8
.word birds_seg5_anim_050008D0
.word birds_seg5_anim_050009D0

2
actors/blargg/collision.s

@ -0,0 +1,2 @@
# Blargg (Unused)

18
actors/blargg/geo.s

@ -0,0 +1,18 @@
glabel blargg_geo # 0x0C000240
geo_scale 0x00, 16384
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, blargg_seg5_dl_05005D00
geo_open_node
geo_dl_translated LAYER_OPAQUE, 306, 0, 0, blargg_seg5_dl_05005A60
geo_open_node
geo_dl_translated LAYER_OPAQUE, 6, 3, 0
geo_open_node
geo_dl_translated 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_end

545
actors/blargg/model.s

@ -0,0 +1,545 @@
# Blargg (Unused)
# Unreferenced light
.byte 0x3F, 0x3F, 0x3F, 0x00, 0x3F, 0x3F, 0x3F, 0x00
.byte 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
blargg_seg5_light_05004740: # 0x05004740
.byte 0x3F, 0x0D, 0x05, 0x00, 0x3F, 0x0D, 0x05, 0x00
blargg_seg5_light_05004748: # 0x05004748
.byte 0xFF, 0x36, 0x16, 0x00, 0xFF, 0x36, 0x16, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
blargg_seg5_light_05004758: # 0x05004758
.byte 0x2C, 0x2C, 0x2C, 0x00, 0x2C, 0x2C, 0x2C, 0x00
blargg_seg5_light_05004760: # 0x05004760
.byte 0xB2, 0xB2, 0xB2, 0x00, 0xB2, 0xB2, 0xB2, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
blargg_seg5_light_05004770: # 0x05004770
.byte 0x3F, 0x0A, 0x06, 0x00, 0x3F, 0x0A, 0x06, 0x00
blargg_seg5_light_05004778: # 0x05004778
.byte 0xFF, 0x2A, 0x1A, 0x00, 0xFF, 0x2A, 0x1A, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
blargg_seg5_light_05004788: # 0x05004788
.byte 0x3F, 0x0B, 0x07, 0x00, 0x3F, 0x0B, 0x07, 0x00
blargg_seg5_light_05004790: # 0x05004790
.byte 0xFF, 0x2E, 0x1F, 0x00, 0xFF, 0x2E, 0x1F, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
blargg_seg5_vertex_050047A0: # 0x050047A0
vertex 378, -178, -92, 0, 0, 0x32, 0xE7, 0x8F, 0x00
vertex 298, -166, -131, 0, 0, 0x32, 0xE7, 0x8F, 0x00
vertex 306, -56, -152, 0, 0, 0x32, 0xE7, 0x8F, 0x00
vertex 417, -73, -99, 0, 0, 0x32, 0xE7, 0x8F, 0x00
vertex 298, -166, -131, 0, 0, 0x8D, 0xFF, 0xCB, 0x00
vertex 280, -163, -94, 0, 0, 0x8D, 0xFF, 0xCB, 0x00
vertex 276, -51, -88, 0, 0, 0x8D, 0xFF, 0xCB, 0x00
vertex 306, -56, -152, 0, 0, 0x8D, 0xFF, 0xCB, 0x00
vertex 280, -163, -94, 0, 0, 0xC9, 0xF7, 0x71, 0x00
vertex 361, -176, -56, 0, 0, 0xC9, 0xF7, 0x71, 0x00
vertex 387, -68, -35, 0, 0, 0xC9, 0xF7, 0x71, 0x00
vertex 276, -51, -88, 0, 0, 0xC9, 0xF7, 0x71, 0x00
vertex 361, -176, -56, 0, 0, 0x6D, 0xDC, 0x35, 0x00
vertex 378, -178, -92, 0, 0, 0x6D, 0xDC, 0x35, 0x00
vertex 417, -73, -99, 0, 0, 0x6D, 0xDC, 0x35, 0x00
vertex 387, -68, -35, 0, 0, 0x6D, 0xDC, 0x35, 0x00
blargg_seg5_vertex_050048A0: # 0x050048A0
vertex 361, -176, -56, 0, 0, 0xED, 0x83, 0x00, 0x00
vertex 280, -163, -94, 0, 0, 0xED, 0x83, 0x00, 0x00
vertex 298, -166, -131, 0, 0, 0xED, 0x83, 0x00, 0x00
vertex 378, -178, -92, 0, 0, 0xED, 0x83, 0x00, 0x00
vertex 417, -73, 99, 0, 0, 0x32, 0xE7, 0x71, 0x00
vertex 306, -56, 152, 0, 0, 0x32, 0xE7, 0x71, 0x00
vertex 298, -166, 131, 0, 0, 0x32, 0xE7, 0x71, 0x00
vertex 378, -178, 92, 0, 0, 0x32, 0xE7, 0x71, 0x00
vertex 306, -56, 152, 0, 0, 0x8D, 0xFF, 0x35, 0x00
vertex 276, -51, 88, 0, 0, 0x8D, 0xFF, 0x35, 0x00
vertex 280, -163, 94, 0, 0, 0x8D, 0xFF, 0x35, 0x00
vertex 298, -166, 131, 0, 0, 0x8D, 0xFF, 0x35, 0x00
vertex 276, -51, 88, 0, 0, 0xC9, 0xF7, 0x8F, 0x00
vertex 387, -68, 35, 0, 0, 0xC9, 0xF7, 0x8F, 0x00
vertex 361, -176, 56, 0, 0, 0xC9, 0xF7, 0x8F, 0x00
vertex 280, -163, 94, 0, 0, 0xC9, 0xF7, 0x8F, 0x00
blargg_seg5_vertex_050049A0: # 0x050049A0
vertex 387, -68, 35, 0, 0, 0x6D, 0xDC, 0xCB, 0x00
vertex 417, -73, 99, 0, 0, 0x6D, 0xDC, 0xCB, 0x00
vertex 378, -178, 92, 0, 0, 0x6D, 0xDC, 0xCB, 0x00
vertex 361, -176, 56, 0, 0, 0x6D, 0xDC, 0xCB, 0x00
vertex 378, -178, 92, 0, 0, 0xED, 0x83, 0x00, 0x00
vertex 298, -166, 131, 0, 0, 0xED, 0x83, 0x00, 0x00
vertex 280, -163, 94, 0, 0, 0xED, 0x83, 0x00, 0x00
vertex 361, -176, 56, 0, 0, 0xED, 0x83, 0x00, 0x00
blargg_seg5_vertex_05004A20: # 0x05004A20
vertex 556, -10, -56, 0, 0, 0x6E, 0x37, 0xE5, 0x00
vertex 556, -10, 56, 0, 0, 0x6E, 0x37, 0x1B, 0x00
vertex 556, -128, 120, 0, 0, 0x6B, 0x0F, 0x42, 0x00
vertex 556, -128, -120, 0, 0, 0x6B, 0x0F, 0xBE, 0x00
vertex 111, 99, 96, 0, 0, 0xD4, 0x72, 0x1F, 0x00
vertex 111, 99, -96, 0, 0, 0xE5, 0x71, 0xCE, 0x00
vertex -73, -8, -90, 0, 0, 0xC3, 0x67, 0xD8, 0x00
vertex -73, -8, 90, 0, 0, 0xCE, 0x54, 0x50, 0x00
vertex 556, -128, -120, 0, 0, 0xE9, 0x84, 0x00, 0x00
vertex 556, -128, 120, 0, 0, 0xE9, 0x84, 0x00, 0x00
vertex 318, -84, 267, 0, 0, 0xE9, 0x84, 0x00, 0x00
vertex -73, -8, 90, 0, 0, 0xE9, 0x84, 0x00, 0x00
vertex -73, -8, -90, 0, 0, 0xE9, 0x84, 0x00, 0x00
vertex 318, -84, -267, 0, 0, 0xE9, 0x84, 0x00, 0x00
vertex 410, 80, 203, 0, 0, 0x27, 0x66, 0x40, 0x00
vertex 410, 80, -203, 0, 0, 0x35, 0x58, 0xB7, 0x00
blargg_seg5_vertex_05004B20: # 0x05004B20
vertex 111, 99, -96, 0, 0, 0xE5, 0x71, 0xCE, 0x00
vertex 410, 80, -203, 0, 0, 0x35, 0x58, 0xB7, 0x00
vertex 318, -84, -267, 0, 0, 0xFF, 0x2D, 0x8A, 0x00
vertex -73, -8, -90, 0, 0, 0xC3, 0x67, 0xD8, 0x00
vertex 410, 80, 203, 0, 0, 0x27, 0x66, 0x40, 0x00
vertex 111, 99, 96, 0, 0, 0xD4, 0x72, 0x1F, 0x00
vertex -73, -8, 90, 0, 0, 0xCE, 0x54, 0x50, 0x00
vertex 318, -84, 267, 0, 0, 0x11, 0x25, 0x78, 0x00
vertex 556, -128, -120, 0, 0, 0x6B, 0x0F, 0xBE, 0x00
vertex 556, -10, 56, 0, 0, 0x6E, 0x37, 0x1B, 0x00
vertex 556, -10, -56, 0, 0, 0x6E, 0x37, 0xE5, 0x00
vertex 556, -128, 120, 0, 0, 0x6B, 0x0F, 0x42, 0x00
blargg_seg5_vertex_05004BE0: # 0x05004BE0
vertex 524, 82, 92, 0, 0, 0x36, 0x10, 0x71, 0x00
vertex 443, 83, 131, 0, 0, 0x36, 0x10, 0x71, 0x00
vertex 432, -25, 152, 0, 0, 0x36, 0x10, 0x71, 0x00
vertex 544, -28, 99, 0, 0, 0x36, 0x10, 0x71, 0x00
vertex 443, 83, 131, 0, 0, 0x8F, 0x15, 0x35, 0x00
vertex 425, 84, 94, 0, 0, 0x8F, 0x15, 0x35, 0x00
vertex 401, -25, 88, 0, 0, 0x8F, 0x15, 0x35, 0x00
vertex 432, -25, 152, 0, 0, 0x8F, 0x15, 0x35, 0x00
vertex 425, 84, 94, 0, 0, 0xCB, 0x12, 0x8F, 0x00
vertex 507, 82, 56, 0, 0, 0xCB, 0x12, 0x8F, 0x00
vertex 513, -27, 35, 0, 0, 0xCB, 0x12, 0x8F, 0x00
vertex 401, -25, 88, 0, 0, 0xCB, 0x12, 0x8F, 0x00
vertex 507, 82, 56, 0, 0, 0x71, 0x10, 0xCB, 0x00
vertex 524, 82, 92, 0, 0, 0x71, 0x10, 0xCB, 0x00
vertex 544, -28, 99, 0, 0, 0x71, 0x10, 0xCB, 0x00
vertex 513, -27, 35, 0, 0, 0x71, 0x10, 0xCB, 0x00
blargg_seg5_vertex_05004CE0: # 0x05004CE0
vertex 507, 82, 56, 0, 0, 0x02, 0x7F, 0x00, 0x00
vertex 425, 84, 94, 0, 0, 0x02, 0x7F, 0x00, 0x00
vertex 443, 83, 131, 0, 0, 0x02, 0x7F, 0x00, 0x00
vertex 524, 82, 92, 0, 0, 0x02, 0x7F, 0x00, 0x00
vertex 544, -28, -99, 0, 0, 0x36, 0x10, 0x8F, 0x00
vertex 432, -25, -152, 0, 0, 0x36, 0x10, 0x8F, 0x00
vertex 443, 83, -131, 0, 0, 0x36, 0x10, 0x8F, 0x00
vertex 524, 82, -92, 0, 0, 0x36, 0x10, 0x8F, 0x00
vertex 432, -25, -152, 0, 0, 0x8F, 0x15, 0xCB, 0x00
vertex 401, -25, -88, 0, 0, 0x8F, 0x15, 0xCB, 0x00
vertex 425, 84, -94, 0, 0, 0x8F, 0x15, 0xCB, 0x00
vertex 443, 83, -131, 0, 0, 0x8F, 0x15, 0xCB, 0x00
vertex 401, -25, -88, 0, 0, 0xCB, 0x12, 0x71, 0x00
vertex 513, -27, -35, 0, 0, 0xCB, 0x12, 0x71, 0x00
vertex 507, 82, -56, 0, 0, 0xCB, 0x12, 0x71, 0x00
vertex 425, 84, -94, 0, 0, 0xCB, 0x12, 0x71, 0x00
blargg_seg5_vertex_05004DE0: # 0x05004DE0
vertex 513, -27, -35, 0, 0, 0x71, 0x10, 0x35, 0x00
vertex 544, -28, -99, 0, 0, 0x71, 0x10, 0x35, 0x00
vertex 524, 82, -92, 0, 0, 0x71, 0x10, 0x35, 0x00
vertex 507, 82, -56, 0, 0, 0x71, 0x10, 0x35, 0x00
vertex 524, 82, -92, 0, 0, 0x02, 0x7F, 0x00, 0x00
vertex 443, 83, -131, 0, 0, 0x02, 0x7F, 0x00, 0x00
vertex 425, 84, -94, 0, 0, 0x02, 0x7F, 0x00, 0x00
vertex 507, 82, -56, 0, 0, 0x02, 0x7F, 0x00, 0x00
blargg_seg5_vertex_05004E60: # 0x05004E60
vertex 617, 23, -154, 0, 0, 0x6B, 0xDF, 0xC5, 0x00
vertex 571, -260, 0, 0, 0, 0x7A, 0xDD, 0x00, 0x00
vertex 555, -242, -127, 0, 0, 0x43, 0xBA, 0xB0, 0x00
vertex 2, -334, -93, 0, 0, 0x00, 0x8A, 0xD3, 0x00
vertex 78, -245, -177, 0, 0, 0x21, 0xBC, 0x9B, 0x00
vertex 130, -287, 0, 0, 0, 0x58, 0xA6, 0xFC, 0x00
vertex 571, -260, 0, 0, 0, 0x11, 0x83, 0x00, 0x00
vertex 261, -308, 0, 0, 0, 0xD4, 0x8A, 0xFF, 0x00
vertex 295, -262, -175, 0, 0, 0xEE, 0xA3, 0xAD, 0x00
vertex -88, 24, -119, 0, 0, 0x00, 0x7F, 0x00, 0x00
vertex -88, 24, 119, 0, 0, 0x01, 0x7F, 0x00, 0x00
vertex 326, 21, 307, 0, 0, 0x00, 0x7F, 0x00, 0x00
vertex 617, 23, 154, 0, 0, 0x00, 0x7F, 0x00, 0x00
vertex 662, 23, 0, 0, 0, 0x00, 0x7F, 0x00, 0x00
vertex 617, 23, -154, 0, 0, 0x00, 0x7F, 0xFF, 0x00
vertex 326, 21, -307, 0, 0, 0x00, 0x7F, 0xFE, 0x00
blargg_seg5_vertex_05004F60: # 0x05004F60
vertex 326, 21, 307, 0, 0, 0x00, 0xD6, 0x77, 0x00
vertex 295, -262, 175, 0, 0, 0xF1, 0xA2, 0x53, 0x00
vertex 555, -242, 127, 0, 0, 0x43, 0xBA, 0x50, 0x00
vertex 78, -245, -177, 0, 0, 0x21, 0xBC, 0x9B, 0x00
vertex 2, -334, -93, 0, 0, 0x00, 0x8A, 0xD3, 0x00
vertex -55, -257, -162, 0, 0, 0xD2, 0xC1, 0x9D, 0x00
vertex 2, -334, 93, 0, 0, 0xF8, 0x88, 0x25, 0x00
vertex -58, -257, 160, 0, 0, 0xCA, 0xC0, 0x5E, 0x00
vertex -107, -275, 91, 0, 0, 0x9C, 0xC1, 0x2C, 0x00
vertex 617, 23, 154, 0, 0, 0x6B, 0xDF, 0x3B, 0x00
vertex 326, 21, -307, 0, 0, 0xFF, 0xD5, 0x89, 0x00
vertex 617, 23, -154, 0, 0, 0x6B, 0xDF, 0xC5, 0x00
vertex 555, -242, -127, 0, 0, 0x43, 0xBA, 0xB0, 0x00
vertex 295, -262, -175, 0, 0, 0xEE, 0xA3, 0xAD, 0x00
vertex 140, -168, 171, 0, 0, 0xD0, 0xD3, 0x6C, 0x00
blargg_seg5_vertex_05005050: # 0x05005050
vertex 161, -168, -171, 0, 0, 0xCE, 0xD4, 0x95, 0x00
vertex -88, 24, -119, 0, 0, 0xEB, 0x06, 0x83, 0x00
vertex 326, 21, -307, 0, 0, 0xFF, 0xD5, 0x89, 0x00
vertex -88, 24, 119, 0, 0, 0x88, 0x1B, 0x1E, 0x00
vertex -88, 24, -119, 0, 0, 0x88, 0x1B, 0xE2, 0x00
vertex -158, -149, 0, 0, 0, 0x81, 0x00, 0x00, 0x00
vertex -62, -140, -183, 0, 0, 0xC2, 0x01, 0x92, 0x00
vertex 261, -308, 0, 0, 0, 0xD4, 0x8A, 0xFF, 0x00
vertex 295, -262, 175, 0, 0, 0xF1, 0xA2, 0x53, 0x00
vertex 140, -168, 171, 0, 0, 0xD0, 0xD3, 0x6C, 0x00
vertex -62, -140, 183, 0, 0, 0xC1, 0x01, 0x6D, 0x00
vertex -55, -257, -162, 0, 0, 0xD2, 0xC1, 0x9D, 0x00
vertex 2, -334, -93, 0, 0, 0x00, 0x8A, 0xD3, 0x00
vertex -107, -275, -91, 0, 0, 0xA1, 0xB6, 0xDB, 0x00
vertex 2, -334, 93, 0, 0, 0xF8, 0x88, 0x25, 0x00
vertex -107, -275, 91, 0, 0, 0x9C, 0xC1, 0x2C, 0x00
blargg_seg5_vertex_05005150: # 0x05005150
vertex -88, 24, 119, 0, 0, 0xEC, 0x09, 0x7C, 0x00
vertex -62, -140, 183, 0, 0, 0xC1, 0x01, 0x6D, 0x00
vertex 140, -168, 171, 0, 0, 0xD0, 0xD3, 0x6C, 0x00
vertex 78, -245, -177, 0, 0, 0x21, 0xBC, 0x9B, 0x00
vertex 161, -168, -171, 0, 0, 0x6F, 0xC7, 0xED, 0x00
vertex 130, -287, 0, 0, 0, 0x58, 0xA6, 0xFC, 0x00
vertex -58, -257, 160, 0, 0, 0xCA, 0xC0, 0x5E, 0x00
vertex 2, -334, 93, 0, 0, 0xF8, 0x88, 0x25, 0x00
vertex 78, -280, 177, 0, 0, 0x20, 0xB7, 0x62, 0x00
vertex -62, -140, -183, 0, 0, 0xC2, 0x01, 0x92, 0x00
vertex -88, 24, -119, 0, 0, 0xEB, 0x06, 0x83, 0x00
vertex 161, -168, -171, 0, 0, 0xCE, 0xD4, 0x95, 0x00
vertex 326, 21, 307, 0, 0, 0x00, 0xD6, 0x77, 0x00
vertex 326, 21, -307, 0, 0, 0xFF, 0xD5, 0x89, 0x00
vertex 295, -262, -175, 0, 0, 0xEE, 0xA3, 0xAD, 0x00
vertex 2, -334, -93, 0, 0, 0x00, 0x8A, 0xD3, 0x00
blargg_seg5_vertex_05005250: # 0x05005250
vertex 161, -168, -171, 0, 0, 0x6F, 0xC7, 0xED, 0x00
vertex 140, -168, 171, 0, 0, 0x76, 0xD8, 0x15, 0x00
vertex 130, -287, 0, 0, 0, 0x58, 0xA6, 0xFC, 0x00
vertex 78, -280, 177, 0, 0, 0x20, 0xB7, 0x62, 0x00
vertex -55, -257, -162, 0, 0, 0xD2, 0xC1, 0x9D, 0x00
vertex -62, -140, -183, 0, 0, 0xC2, 0x01, 0x92, 0x00
vertex 78, -245, -177, 0, 0, 0x21, 0xBC, 0x9B, 0x00
vertex -107, -275, -91, 0, 0, 0xA1, 0xB6, 0xDB, 0x00
vertex -158, -149, 0, 0, 0, 0x81, 0x00, 0x00, 0x00
vertex -107, -275, 91, 0, 0, 0x9C, 0xC1, 0x2C, 0x00
vertex -58, -257, 160, 0, 0, 0xCA, 0xC0, 0x5E, 0x00
vertex -62, -140, 183, 0, 0, 0xC1, 0x01, 0x6D, 0x00
vertex 617, 23, -154, 0, 0, 0x6B, 0xDF, 0xC5, 0x00
vertex 662, 23, 0, 0, 0, 0x78, 0xD9, 0x00, 0x00
vertex 571, -260, 0, 0, 0, 0x7A, 0xDD, 0x00, 0x00
blargg_seg5_vertex_05005340: # 0x05005340
vertex 617, 23, 154, 0, 0, 0x6B, 0xDF, 0x3B, 0x00
vertex 555, -242, 127, 0, 0, 0x43, 0xBA, 0x50, 0x00
vertex 571, -260, 0, 0, 0, 0x7A, 0xDD, 0x00, 0x00
vertex 571, -260, 0, 0, 0, 0x11, 0x83, 0x00, 0x00
vertex 295, -262, 175, 0, 0, 0xF1, 0xA2, 0x53, 0x00
vertex 261, -308, 0, 0, 0, 0xD4, 0x8A, 0xFF, 0x00
vertex 161, -168, -171, 0, 0, 0xCE, 0xD4, 0x95, 0x00
vertex 295, -262, -175, 0, 0, 0xEE, 0xA3, 0xAD, 0x00
vertex 140, -168, 171, 0, 0, 0xD0, 0xD3, 0x6C, 0x00
vertex 662, 23, 0, 0, 0, 0x78, 0xD9, 0x00, 0x00
blargg_seg5_vertex_050053E0: # 0x050053E0
vertex -243, -48, -45, 0, 0, 0xF9, 0xF0, 0x83, 0x00
vertex -104, -120, -43, 0, 0, 0xFA, 0xF0, 0x83, 0x00
vertex -200, -235, -23, 0, 0, 0xF9, 0xF0, 0x83, 0x00
vertex -298, -186, -23, 0, 0, 0xF8, 0xF0, 0x83, 0x00
vertex -104, -120, -43, 0, 0, 0x61, 0xAF, 0x00, 0x00
vertex -104, -120, 47, 0, 0, 0x61, 0xAF, 0x00, 0x00
vertex -200, -235, 23, 0, 0, 0x61, 0xAF, 0x00, 0x00
vertex -200, -235, -23, 0, 0, 0x61, 0xAF, 0x00, 0x00
vertex -104, -120, 47, 0, 0, 0xF7, 0xEF, 0x7D, 0x00
vertex -243, -48, 45, 0, 0, 0xF7, 0xF1, 0x7D, 0x00
vertex -298, -186, 23, 0, 0, 0xF7, 0xEF, 0x7D, 0x00
vertex -200, -235, 23, 0, 0, 0xF7, 0xEE, 0x7D, 0x00
vertex -243, -48, 45, 0, 0, 0x8A, 0x2E, 0x00, 0x00
vertex -243, -48, -45, 0, 0, 0x8A, 0x2E, 0x00, 0x00
vertex -298, -186, -23, 0, 0, 0x8A, 0x2E, 0x00, 0x00
vertex -298, -186, 23, 0, 0, 0x8A, 0x2E, 0x00, 0x00
blargg_seg5_vertex_050054E0: # 0x050054E0
vertex -298, -186, -23, 0, 0, 0xC8, 0x8F, 0x00, 0x00
vertex -200, -235, -23, 0, 0, 0xC8, 0x8F, 0x00, 0x00
vertex -200, -235, 23, 0, 0, 0xC8, 0x8F, 0x00, 0x00
vertex -298, -186, 23, 0, 0, 0xC8, 0x8F, 0x00, 0x00
vertex -70, -105, -52, 0, 0, 0x01, 0xEE, 0x83, 0x00
vertex 113, -88, -52, 0, 0, 0x01, 0xEE, 0x83, 0x00
vertex 99, -262, -27, 0, 0, 0x01, 0xEE, 0x83, 0x00
vertex -24, -273, -27, 0, 0, 0x01, 0xEE, 0x83, 0x00
vertex 113, -88, -52, 0, 0, 0x7E, 0xF7, 0x00, 0x00
vertex 113, -88, 53, 0, 0, 0x7E, 0xF7, 0x00, 0x00
vertex 99, -262, 27, 0, 0, 0x7E, 0xF7, 0x00, 0x00
vertex 99, -262, -27, 0, 0, 0x7E, 0xF7, 0x00, 0x00
vertex 113, -88, 53, 0, 0, 0x01, 0xEE, 0x7D, 0x00
vertex -70, -105, 53, 0, 0, 0x01, 0xEE, 0x7D, 0x00
vertex -24, -273, 27, 0, 0, 0x01, 0xEE, 0x7D, 0x00
vertex 99, -262, 27, 0, 0, 0x01, 0xEE, 0x7D, 0x00
blargg_seg5_vertex_050055E0: # 0x050055E0
vertex -70, -105, 53, 0, 0, 0x86, 0xDF, 0x00, 0x00
vertex -70, -105, -52, 0, 0, 0x86, 0xDF, 0x00, 0x00
vertex -24, -273, -27, 0, 0, 0x86, 0xDF, 0x00, 0x00
vertex -24, -273, 27, 0, 0, 0x86, 0xDF, 0x00, 0x00
vertex -24, -273, -27, 0, 0, 0x0A, 0x82, 0x00, 0x00
vertex 99, -262, -27, 0, 0, 0x0A, 0x82, 0x00, 0x00
vertex 99, -262, 27, 0, 0, 0x0A, 0x82, 0x00, 0x00
vertex -24, -273, 27, 0, 0, 0x0A, 0x82, 0x00, 0x00
vertex 286, 227, -123, 0, 0, 0x73, 0xF4, 0xCE, 0x00
vertex 286, 227, 123, 0, 0, 0x73, 0xF4, 0x32, 0x00
vertex 288, -17, 53, 0, 0, 0x64, 0xC7, 0x34, 0x00
vertex 288, -17, -53, 0, 0, 0x64, 0xC7, 0xCC, 0x00
vertex -317, -48, 0, 0, 0, 0xAE, 0xA0, 0x00, 0x00
vertex -183, -17, 128, 0, 0, 0xD5, 0xC4, 0x66, 0x00
vertex -233, 107, 161, 0, 0, 0xD0, 0xD2, 0x6B, 0x00
vertex -396, 69, 0, 0, 0, 0xB6, 0xCD, 0x58, 0x00
blargg_seg5_vertex_050056E0: # 0x050056E0
vertex 127, -116, -102, 0, 0, 0x26, 0x96, 0xC8, 0x00
vertex 127, -116, 102, 0, 0, 0x26, 0x96, 0x38, 0x00
vertex -114, -139, 64, 0, 0, 0xE0, 0x92, 0x35, 0x00
vertex -114, -139, -64, 0, 0, 0xE0, 0x92, 0xCB, 0x00
vertex 133, 191, -247, 0, 0, 0x23, 0xDE, 0x8C, 0x00
vertex 286, 227, -123, 0, 0, 0x73, 0xF4, 0xCE, 0x00
vertex 288, -17, -53, 0, 0, 0x64, 0xC7, 0xCC, 0x00
vertex 146, 26, -196, 0, 0, 0x20, 0xCB, 0x92, 0x00
vertex 133, 191, 247, 0, 0, 0x23, 0xDE, 0x74, 0x00
vertex -233, 107, 161, 0, 0, 0xD0, 0xD2, 0x6B, 0x00
vertex -183, -17, 128, 0, 0, 0xD5, 0xC4, 0x66, 0x00
vertex 146, 26, 196, 0, 0, 0x20, 0xCB, 0x6E, 0x00
vertex -233, 107, -161, 0, 0, 0xD0, 0xD2, 0x95, 0x00
vertex -183, -17, -128, 0, 0, 0xD5, 0xC4, 0x9A, 0x00
vertex 288, -17, 53, 0, 0, 0x64, 0xC7, 0x34, 0x00
vertex -317, -48, 0, 0, 0, 0xAE, 0xA0, 0x00, 0x00
blargg_seg5_vertex_050057E0: # 0x050057E0
vertex 146, 26, 196, 0, 0, 0x20, 0xCB, 0x6E, 0x00
vertex 288, -17, 53, 0, 0, 0x64, 0xC7, 0x34, 0x00
vertex 286, 227, 123, 0, 0, 0x73, 0xF4, 0x32, 0x00
vertex 133, 191, 247, 0, 0, 0x23, 0xDE, 0x74, 0x00
vertex -114, -139, 64, 0, 0, 0xE0, 0x92, 0x35, 0x00
vertex -317, -48, 0, 0, 0, 0xAE, 0xA0, 0x00, 0x00
vertex -114, -139, -64, 0, 0, 0xE0, 0x92, 0xCB, 0x00
vertex 127, -116, 102, 0, 0, 0x26, 0x96, 0x38, 0x00
vertex 146, 26, -196, 0, 0, 0x20, 0xCB, 0x92, 0x00
vertex 288, -17, -53, 0, 0, 0x64, 0xC7, 0xCC, 0x00
vertex 127, -116, -102, 0, 0, 0x26, 0x96, 0xC8, 0x00
vertex -183, -17, -128, 0, 0, 0xD5, 0xC4, 0x9A, 0x00
vertex -396, 69, 0, 0, 0, 0xB6, 0xCD, 0xA8, 0x00
vertex -233, 107, -161, 0, 0, 0xD0, 0xD2, 0x95, 0x00
vertex -183, -17, 128, 0, 0, 0xD5, 0xC4, 0x66, 0x00
glabel blargg_seg5_dl_050058D0 # 0x050058D0 - 0x05005A60
gsSPLight blargg_seg5_light_05004760, 1
gsSPLight blargg_seg5_light_05004758, 2
gsSPVertex blargg_seg5_vertex_050047A0, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 4, 6, 7, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 8, 10, 11, 0x0
gsSP2Triangles 12, 13, 14, 0x0, 12, 14, 15, 0x0
gsSPVertex blargg_seg5_vertex_050048A0, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 4, 6, 7, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 8, 10, 11, 0x0
gsSP2Triangles 12, 13, 14, 0x0, 12, 14, 15, 0x0
gsSPVertex blargg_seg5_vertex_050049A0, 8, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 4, 6, 7, 0x0
gsSPLight blargg_seg5_light_05004748, 1
gsSPLight blargg_seg5_light_05004740, 2
gsSPVertex blargg_seg5_vertex_05004A20, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 4, 6, 7, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 8, 10, 11, 0x0
gsSP2Triangles 8, 11, 12, 0x0, 8, 12, 13, 0x0
gsSP2Triangles 5, 4, 14, 0x0, 5, 14, 15, 0x0
gsSP1Triangle 1, 14, 2, 0x0
gsSPVertex blargg_seg5_vertex_05004B20, 12, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 4, 6, 7, 0x0
gsSP2Triangles 1, 8, 2, 0x0, 4, 9, 10, 0x0
gsSP2Triangles 4, 10, 1, 0x0, 4, 7, 11, 0x0
gsSP1Triangle 1, 10, 8, 0x0
gsSPEndDisplayList
glabel blargg_seg5_dl_05005A60 # 0x05005A60 - 0x05005D00
gsSPLight blargg_seg5_light_05004760, 1
gsSPLight blargg_seg5_light_05004758, 2
gsSPVertex blargg_seg5_vertex_05004BE0, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 4, 6, 7, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 8, 10, 11, 0x0
gsSP2Triangles 12, 13, 14, 0x0, 12, 14, 15, 0x0
gsSPVertex blargg_seg5_vertex_05004CE0, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 4, 6, 7, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 8, 10, 11, 0x0
gsSP2Triangles 12, 13, 14, 0x0, 12, 14, 15, 0x0
gsSPVertex blargg_seg5_vertex_05004DE0, 8, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 4, 6, 7, 0x0
gsSPLight blargg_seg5_light_05004778, 1
gsSPLight blargg_seg5_light_05004770, 2
gsSPVertex blargg_seg5_vertex_05004E60, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 2, 6, 7, 0x0, 2, 7, 8, 0x0
gsSP2Triangles 9, 10, 11, 0x0, 9, 11, 12, 0x0
gsSP2Triangles 9, 12, 13, 0x0, 9, 13, 14, 0x0
gsSP1Triangle 9, 14, 15, 0x0
gsSPVertex blargg_seg5_vertex_05004F60, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 2, 9, 0, 0x0
gsSP2Triangles 10, 11, 12, 0x0, 10, 12, 13, 0x0
gsSP1Triangle 0, 14, 1, 0x0
gsSPVertex blargg_seg5_vertex_05005050, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 4, 6, 5, 0x0, 7, 8, 9, 0x0
gsSP2Triangles 10, 3, 5, 0x0, 11, 12, 13, 0x0
gsSP2Triangles 14, 15, 13, 0x0, 14, 13, 12, 0x0
gsSPVertex blargg_seg5_vertex_05005150, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP2Triangles 11, 3, 9, 0x0, 1, 8, 2, 0x0
gsSP2Triangles 12, 0, 2, 0x0, 13, 14, 11, 0x0
gsSP2Triangles 5, 7, 15, 0x0, 5, 8, 7, 0x0
gsSPVertex blargg_seg5_vertex_05005250, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 1, 3, 2, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 7, 8, 5, 0x0
gsSP2Triangles 9, 10, 11, 0x0, 3, 11, 10, 0x0
gsSP2Triangles 7, 5, 4, 0x0, 9, 8, 7, 0x0
gsSP2Triangles 11, 8, 9, 0x0, 12, 13, 14, 0x0
gsSPVertex blargg_seg5_vertex_05005340, 10, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 1, 4, 0x0
gsSP2Triangles 3, 4, 5, 0x0, 6, 7, 5, 0x0
gsSP2Triangles 8, 6, 5, 0x0, 9, 0, 2, 0x0
gsSPEndDisplayList
glabel blargg_seg5_dl_05005D00 # 0x05005D00 - 0x05005EB8
gsSPLight blargg_seg5_light_05004790, 1
gsSPLight blargg_seg5_light_05004788, 2
gsSPVertex blargg_seg5_vertex_050053E0, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 4, 6, 7, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 8, 10, 11, 0x0
gsSP2Triangles 12, 13, 14, 0x0, 12, 14, 15, 0x0
gsSPVertex blargg_seg5_vertex_050054E0, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 4, 6, 7, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 8, 10, 11, 0x0
gsSP2Triangles 12, 13, 14, 0x0, 12, 14, 15, 0x0
gsSPVertex blargg_seg5_vertex_050055E0, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 4, 6, 7, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 8, 10, 11, 0x0
gsSP2Triangles 12, 13, 14, 0x0, 12, 14, 15, 0x0
gsSPVertex blargg_seg5_vertex_050056E0, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 4, 6, 7, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 8, 10, 11, 0x0
gsSP2Triangles 12, 4, 7, 0x0, 12, 7, 13, 0x0
gsSP2Triangles 0, 6, 14, 0x0, 0, 14, 1, 0x0
gsSP2Triangles 3, 15, 13, 0x0, 10, 15, 2, 0x0
gsSPVertex blargg_seg5_vertex_050057E0, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 7, 1, 0, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 11, 5, 12, 0x0
gsSP2Triangles 11, 12, 13, 0x0, 8, 10, 6, 0x0
gsSP2Triangles 8, 6, 11, 0x0, 14, 4, 7, 0x0
gsSP1Triangle 14, 7, 0, 0x0
gsSPEndDisplayList
blargg_seg5_animvalue_05005EB8: # 0x05005EB8
.hword 0x0000, 0x0016, 0xFFFC, 0xFFB9, 0xFF61, 0xFF08, 0xFEC0, 0xFE9F
.hword 0xFEAC, 0xFED8, 0xFF16, 0xFF59, 0xFF95, 0xFFBB, 0xFFD4, 0xFFED
.hword 0x0005, 0x001C, 0x0031, 0x0042, 0x004D, 0x0052, 0x004E, 0x0042
.hword 0x002B, 0xFFED, 0xFF79, 0xFEEE, 0xFE68, 0xFE02, 0xFDD9, 0xFDDF
.hword 0xFDF3, 0xFE13, 0xFE3C, 0xFE6C, 0xFEA1, 0xFED9, 0xFF13, 0xFF4C
.hword 0xFF81, 0xFFB2, 0xFFDB, 0xFFFB, 0x000F, 0x0016, 0x3FFF, 0x8785
.hword 0x8785, 0x8785, 0x8785, 0x8785, 0x8785, 0x8785, 0x8A1E, 0x909B
.hword 0x990A, 0xA17A, 0xA7F7, 0xAA8F, 0xAA75, 0xAA2A, 0xA9B1, 0xA90E
.hword 0xA843, 0xA753, 0xA643, 0xA516, 0xA3CE, 0xA26F, 0xA0FC, 0x9F79
.hword 0x9DE9, 0x9C4F, 0x9AAE, 0x990A, 0x9766, 0x95C6, 0x942C, 0x929B
.hword 0x9118, 0x8FA6, 0x8E47, 0x8CFF, 0x8BD1, 0x8AC1, 0x89D2, 0x8907
.hword 0x8863, 0x87EA, 0x879F, 0x8785, 0x804C, 0x0BCD, 0x0D29, 0x106F
.hword 0x1461, 0x17C8, 0x1967, 0x1806, 0x1248, 0x08E6, 0xFDBD, 0xF2AB
.hword 0xE990, 0xE448, 0xE1F8, 0xE072, 0xDFA4, 0xDF79, 0xDFDD, 0xE0BB
.hword 0xE1FF, 0xE394, 0xE567, 0xE762, 0xE972, 0xEE5F, 0xF6AA, 0xFED8
.hword 0x036F, 0x04F7, 0x064D, 0x0774, 0x086F, 0x0941, 0x09EF, 0x0A7C
.hword 0x0AEA, 0x0B3F, 0x0B7C, 0x0BA6, 0x0BC1, 0x0BCE, 0x0BD3, 0x0BD2
.hword 0x0BCE, 0x0BCD, 0x76C1, 0x76C1, 0x76C1, 0x76C1, 0x76C1, 0x76C1
.hword 0x76C1, 0x7543, 0x7181, 0x6C93, 0x678D, 0x6385, 0x6191, 0x613B
.hword 0x614D, 0x61BA, 0x627B, 0x6384, 0x64CA, 0x6645, 0x67E8, 0x69AB
.hword 0x6B83, 0x6D65, 0x7027, 0x7426, 0x78A4, 0x7CE5, 0x802E, 0x81BB
.hword 0x81FB, 0x81DE, 0x8172, 0x80C4, 0x7FDE, 0x7ED2, 0x7DAC, 0x7C77
.hword 0x7B41, 0x7A17, 0x7907, 0x781C, 0x7764, 0x76EC, 0x76C1, 0x0000
blargg_seg5_animindex_05006028: # 0x05006028
.hword 0x0001, 0x0000, 0x002D, 0x0001, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x002E, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x002D, 0x008A, 0x0001, 0x0000, 0x0001, 0x0000, 0x002D, 0x005D
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x005C, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x002D, 0x002F
blargg_seg5_anim_05006070: # 0x05006070
.hword 0
.hword 0
.hword 0
.hword 0
.hword 0x2D
.hword 0x05
.word blargg_seg5_animvalue_05005EB8
.word blargg_seg5_animindex_05006028
.word 0
blargg_seg5_animvalue_05006088: # 0x05006088
.hword 0x0000, 0x0016, 0x0018, 0x001C, 0x0022, 0x002A, 0x0033, 0x003D
.hword 0x0047, 0x0052, 0x005C, 0x0065, 0x006D, 0x0073, 0x0077, 0x0078
.hword 0x0077, 0x0074, 0x0070, 0x006B, 0x0064, 0x005C, 0x0054, 0x004C
.hword 0x0043, 0x003A, 0x0031, 0x0029, 0x0022, 0x001C, 0x0016, 0x3FFF
.hword 0x8785, 0x804C, 0x0BCD, 0x0BF1, 0x0C51, 0x0CD8, 0x0D72, 0x0E0C
.hword 0x0E91, 0x0EEE, 0x0F0F, 0x0EFC, 0x0ED0, 0x0E8F, 0x0E3C, 0x0DDE
.hword 0x0D78, 0x0D10, 0x0CA9, 0x0C48, 0x0BF2, 0x0BAB, 0x0B77, 0x0B5A
.hword 0x0B50, 0x0B55, 0x0B64, 0x0B7B, 0x0B94, 0x0BAD, 0x0BC1, 0x0BCD
.hword 0x76C1, 0x0000
blargg_seg5_animindex_0500610C: # 0x0500610C
.hword 0x0001, 0x0000, 0x001E, 0x0001, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x001F, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0040, 0x0001, 0x0000, 0x0001, 0x0000, 0x001E, 0x0022
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0021, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x0020
blargg_seg5_anim_05006154: # 0x05006154
.hword 0
.hword 0
.hword 0
.hword 0
.hword 0x1E
.hword 0x05
.word blargg_seg5_animvalue_05006088
.word blargg_seg5_animindex_0500610C
.word 0
# unreferenced
glabel blargg_seg5_anims_0500616C # 0x0500616C
.word blargg_seg5_anim_05006154
.word blargg_seg5_anim_05006070
.word 0

BIN
actors/blue_coin_switch/0.rgba16.png

After

Width: 32  |  Height: 16  |  Size: 1.5 KiB

BIN
actors/blue_coin_switch/1.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 2.6 KiB

28
actors/blue_coin_switch/collision.s

@ -0,0 +1,28 @@
# Generated by LakiTool
# Blue Coin Switch
glabel blue_coin_switch_seg8_collision_08000E98 # 0x08000E98 - 0x08000F10
colInit
colVertexInit 0x8
colVertex 26, 0, 26
colVertex 26, 26, 26
colVertex -25, 26, 26
colVertex -25, 0, 26
colVertex 26, 0, -25
colVertex 26, 26, -25
colVertex -25, 26, -25
colVertex -25, 0, -25
colTriInit SURF_ENV_DEFAULT, 10
colTri 0, 1, 2
colTri 0, 2, 3
colTri 4, 5, 1
colTri 5, 6, 2
colTri 5, 2, 1
colTri 7, 6, 5
colTri 7, 5, 4
colTri 3, 6, 7
colTri 3, 2, 6
colTri 4, 1, 0
colTriStop
colEnd

8
actors/blue_coin_switch/geo.s

@ -0,0 +1,8 @@
glabel blue_coin_switch_geo # 0x0F000000
geo_start_distance 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

79
actors/blue_coin_switch/model.s

@ -0,0 +1,79 @@
# Blue Coin Switch
blue_coin_switch_seg8_light_08000000: # 0x08000000
.byte 0x7F, 0x7F, 0x7F, 0x00, 0x7F, 0x7F, 0x7F, 0x00
blue_coin_switch_seg8_light_08000008: # 0x08000008
.byte 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
blue_coin_switch_seg8_texture_08000018: # 0x08000018
.incbin "actors/blue_coin_switch/0.rgba16"
blue_coin_switch_seg8_texture_08000418: # 0x08000418
.incbin "actors/blue_coin_switch/1.rgba16"
blue_coin_switch_seg8_vertex_08000C18: # 0x08000C18
vertex 26, 0, 26, 990, 479, 0x00, 0x00, 0x7F, 0xFF
vertex 26, 26, 26, 990, 0, 0x00, 0x00, 0x7F, 0xFF
vertex -25, 26, 26, 0, 0, 0x00, 0x00, 0x7F, 0xFF
vertex -25, 0, 26, 0, 479, 0x00, 0x00, 0x7F, 0xFF
vertex -25, 0, -25, 990, 479, 0x00, 0x00, 0x81, 0xFF
vertex 26, 26, -25, 0, 0, 0x00, 0x00, 0x81, 0xFF
vertex 26, 0, -25, 0, 479, 0x00, 0x00, 0x81, 0xFF
vertex -25, 26, -25, 990, 0, 0x00, 0x00, 0x81, 0xFF
vertex -25, 0, 26, 990, 479, 0x81, 0x00, 0x00, 0xFF
vertex -25, 26, -25, 0, 0, 0x81, 0x00, 0x00, 0xFF
vertex -25, 0, -25, 0, 479, 0x81, 0x00, 0x00, 0xFF
vertex -25, 26, 26, 990, 0, 0x81, 0x00, 0x00, 0xFF
vertex 26, 0, -25, 990, 479, 0x7F, 0x00, 0x00, 0xFF
vertex 26, 26, -25, 990, 0, 0x7F, 0x00, 0x00, 0xFF
vertex 26, 26, 26, 0, 0, 0x7F, 0x00, 0x00, 0xFF
vertex 26, 0, 26, 0, 479, 0x7F, 0x00, 0x00, 0xFF
blue_coin_switch_seg8_vertex_08000D18: # 0x08000D18
vertex 26, 26, -25, 990, 0, 0x00, 0x7F, 0x00, 0xFF
vertex -25, 26, 26, 0, 990, 0x00, 0x7F, 0x00, 0xFF
vertex 26, 26, 26, 990, 990, 0x00, 0x7F, 0x00, 0xFF
vertex -25, 26, -25, 0, 0, 0x00, 0x7F, 0x00, 0xFF
glabel blue_coin_switch_seg8_dl_08000D58 # 0x08000D58 - 0x08000DD0
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, blue_coin_switch_seg8_texture_08000018
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x1FF, 0x100
gsSPLight blue_coin_switch_seg8_light_08000008, 1
gsSPLight blue_coin_switch_seg8_light_08000000, 2
gsSPVertex blue_coin_switch_seg8_vertex_08000C18, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 4, 7, 5, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 8, 11, 9, 0x0
gsSP2Triangles 12, 13, 14, 0x0, 12, 14, 15, 0x0
gsSPEndDisplayList
glabel blue_coin_switch_seg8_dl_08000DD0 # 0x08000DD0 - 0x08000E08
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, blue_coin_switch_seg8_texture_08000418
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x3FF, 0x100
gsSPVertex blue_coin_switch_seg8_vertex_08000D18, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 3, 1, 0x0
gsSPEndDisplayList
glabel blue_coin_switch_seg8_dl_08000E08 # 0x08000E08 - 0x08000E98
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_TEXEL0, G_CCMUX_0, G_CCMUX_SHADE, G_CCMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPClearGeometryMode G_SHADING_SMOOTH
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 4, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 124, 60
gsSPDisplayList blue_coin_switch_seg8_dl_08000D58
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 124, 124
gsSPDisplayList blue_coin_switch_seg8_dl_08000DD0
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPSetGeometryMode G_SHADING_SMOOTH
gsSPEndDisplayList

BIN
actors/blue_fish/0.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 1.8 KiB

2
actors/blue_fish/collision.s

@ -0,0 +1,2 @@
# Blue Fish

28
actors/blue_fish/geo.s

@ -0,0 +1,28 @@
glabel fish2_geo # 0x16000BEC
geo_shadow SHADOW_CIRCLE_4_VERTS, 0x9B, 50
geo_open_node
geo_scale 0x00, 16384
geo_open_node
geo_dl_translated LAYER_OPAQUE, -16, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, blue_fish_seg3_dl_0301BFB8
geo_open_node
geo_dl_translated LAYER_OPAQUE, 97, 0, 0, blue_fish_seg3_dl_0301C150
geo_close_node
geo_close_node
geo_close_node
geo_close_node
geo_end
glabel fish_geo # 0x16000C44
geo_scale 0x00, 16384
geo_open_node
geo_dl_translated LAYER_OPAQUE, -16, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, blue_fish_seg3_dl_0301BFB8
geo_open_node
geo_dl_translated LAYER_OPAQUE, 97, 0, 0, blue_fish_seg3_dl_0301C150
geo_close_node
geo_close_node
geo_close_node
geo_end

137
actors/blue_fish/model.s

@ -0,0 +1,137 @@
# Blue Fish
blue_fish_seg3_light_0301B5C8: # 0x0301B5C8
.byte 0x3F, 0x3F, 0x3F, 0x00, 0x3F, 0x3F, 0x3F, 0x00
blue_fish_seg3_light_0301B5D0: # 0x0301B5D0
.byte 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
blue_fish_seg3_texture_0301B5E0: # 0x0301B5E0
.incbin "actors/blue_fish/0.rgba16"
blue_fish_seg3_vertex_0301BDE0: # 0x0301BDE0
vertex -108, 1, 0, 14, 566, 0x89, 0x00, 0xD7, 0xFF
vertex -44, -13, -31, 286, 688, 0xEB, 0x89, 0xDC, 0xFF
vertex -62, -19, 12, 210, 502, 0xE8, 0x84, 0x0A, 0xFF
vertex -44, 16, -31, 286, 688, 0xEA, 0x77, 0xDC, 0xFF
vertex -62, 21, 12, 210, 502, 0xE8, 0x7C, 0x0B, 0xFF
vertex -47, 1, -64, 274, 830, 0xBD, 0xFF, 0x95, 0xFF
vertex -97, 1, 23, 62, 462, 0xA2, 0x00, 0x54, 0xFF
vertex 55, 1, 127, 712, -8, 0x1A, 0x00, 0x7C, 0xFF
vertex 41, 16, 56, 656, 298, 0x43, 0x67, 0x1B, 0xFF
vertex 50, 16, -43, 692, 722, 0x35, 0x6F, 0xE6, 0xFF
vertex 41, -14, 56, 656, 298, 0x43, 0x99, 0x1B, 0xFF
vertex 50, -13, -43, 692, 722, 0x35, 0x91, 0xE6, 0xFF
vertex 62, 1, -92, 742, 930, 0x42, 0xFF, 0x94, 0xFF
vertex 101, 1, 1, 910, 520, 0x7E, 0x00, 0x01, 0xFF
glabel blue_fish_seg3_dl_0301BEC0 # 0x0301BEC0 - 0x0301BFB8
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, blue_fish_seg3_texture_0301B5E0
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x3FF, 0x100
gsSPLight blue_fish_seg3_light_0301B5D0, 1
gsSPLight blue_fish_seg3_light_0301B5C8, 2
gsSPVertex blue_fish_seg3_vertex_0301BDE0, 14, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 0, 4, 0x0
gsSP2Triangles 5, 0, 3, 0x0, 2, 6, 0, 0x0
gsSP2Triangles 0, 6, 4, 0x0, 5, 1, 0, 0x0
gsSP2Triangles 4, 6, 7, 0x0, 6, 2, 7, 0x0
gsSP2Triangles 7, 8, 4, 0x0, 9, 4, 8, 0x0
gsSP2Triangles 9, 3, 4, 0x0, 2, 10, 7, 0x0
gsSP2Triangles 1, 11, 2, 0x0, 11, 10, 2, 0x0
gsSP2Triangles 1, 5, 12, 0x0, 12, 5, 3, 0x0
gsSP2Triangles 9, 11, 12, 0x0, 3, 9, 12, 0x0
gsSP2Triangles 12, 11, 1, 0x0, 8, 7, 10, 0x0
gsSP2Triangles 13, 9, 8, 0x0, 9, 13, 11, 0x0
gsSP2Triangles 11, 13, 10, 0x0, 10, 13, 8, 0x0
gsSPEndDisplayList
glabel blue_fish_seg3_dl_0301BFB8 # 0x0301BFB8 - 0x0301C018
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_TEXEL0, G_CCMUX_0, G_CCMUX_SHADE, G_CCMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 124, 124
gsSPDisplayList blue_fish_seg3_dl_0301BEC0
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPEndDisplayList
blue_fish_seg3_vertex_0301C018: # 0x0301C018
vertex 67, 0, -58, 736, 728, 0x7A, 0x00, 0xDE, 0xFF
vertex 67, -3, -28, 704, 574, 0x53, 0xA3, 0x14, 0xFF
vertex 0, 1, -3, 1022, 356, 0xA1, 0xF9, 0xAD, 0xFF
vertex 67, 4, 27, 644, 290, 0x3F, 0x6D, 0xF3, 0xFF
vertex 53, 0, 0, 744, 414, 0x7E, 0x00, 0xFE, 0xFF
vertex 67, -3, 27, 644, 290, 0x40, 0x95, 0xEB, 0xFF
vertex 0, 0, 5, 1016, 312, 0x9E, 0xFD, 0x50, 0xFF
vertex 67, 4, -28, 704, 574, 0x54, 0x5C, 0x15, 0xFF
vertex 67, 0, 57, 612, 138, 0x7A, 0x00, 0x22, 0xFF
glabel blue_fish_seg3_dl_0301C0A8 # 0x0301C0A8 - 0x0301C150
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, blue_fish_seg3_texture_0301B5E0
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x3FF, 0x100
gsSPLight blue_fish_seg3_light_0301B5D0, 1
gsSPLight blue_fish_seg3_light_0301B5C8, 2
gsSPVertex blue_fish_seg3_vertex_0301C018, 9, 0
gsSP2Triangles 0, 1, 2, 0x0, 2, 3, 4, 0x0
gsSP2Triangles 4, 5, 2, 0x0, 2, 5, 6, 0x0
gsSP2Triangles 2, 1, 4, 0x0, 2, 6, 3, 0x0
gsSP2Triangles 4, 7, 2, 0x0, 2, 7, 0, 0x0
gsSP2Triangles 6, 8, 3, 0x0, 3, 8, 5, 0x0
gsSP2Triangles 3, 5, 4, 0x0, 4, 1, 7, 0x0
gsSP2Triangles 6, 5, 8, 0x0, 1, 0, 7, 0x0
gsSPEndDisplayList
glabel blue_fish_seg3_dl_0301C150 # 0x0301C150 - 0x0301C1B0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_TEXEL0, G_CCMUX_0, G_CCMUX_SHADE, G_CCMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 124, 124
gsSPDisplayList blue_fish_seg3_dl_0301C0A8
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPEndDisplayList
blue_fish_seg3_animvalue_0301C1B0: # 0x0301C1B0
.hword 0x0000, 0xFFF1, 0xFFF1, 0xFFF2, 0xFFF4, 0xFFF7, 0xFFFA, 0xFFFD
.hword 0x0000, 0x0002, 0x0005, 0x0008, 0x000A, 0x000C, 0x000E, 0x000E
.hword 0x000E, 0x000D, 0x000C, 0x000A, 0x0009, 0x0006, 0x0004, 0x0002
.hword 0x0000, 0xFFFD, 0xFFFB, 0xFFF8, 0xFFF6, 0xFFF3, 0xFFF1, 0xC001
.hword 0xF3F6, 0xF61A, 0xFAF7, 0x003A, 0x0390, 0x052A, 0x06BA, 0x0832
.hword 0x0984, 0x0AA1, 0x0B7C, 0x0C06, 0x0C31, 0x0BEE, 0x0B2F, 0x078D
.hword 0x00B3, 0xF9AA, 0xF579, 0xF3FF, 0xF306, 0xF27B, 0xF247, 0xF258
.hword 0xF298, 0xF2F4, 0xF356, 0xF3AB, 0xF3DE, 0xF3DA, 0x461C, 0x4623
.hword 0x462E, 0x4629, 0x4603, 0x45AA, 0x450A, 0x4410, 0x42C9, 0x4151
.hword 0x3FC6, 0x3E45, 0x3CEA, 0x3BD2, 0x3B1B, 0x3ACE, 0x3AD5, 0x3B20
.hword 0x3BA0, 0x3C43, 0x3CFA, 0x3DB5, 0x3E7E, 0x3F66, 0x4066, 0x4177
.hword 0x4292, 0x43AF, 0x44C7, 0x45D4
blue_fish_seg3_animindex_0301C268: # 0x0301C268
.hword 0x001E, 0x0001, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x001F
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x001E, 0x003E, 0x0001, 0x0000, 0x0001, 0x0000, 0x001E, 0x0020
blue_fish_seg3_anim_0301C298: # 0x0301C298
.hword 0
.hword 0
.hword 0
.hword 0
.hword 0x1E
.hword 0x03
.word blue_fish_seg3_animvalue_0301C1B0
.word blue_fish_seg3_animindex_0301C268
.word 0
glabel blue_fish_seg3_anims_0301C2B0 # 0x0301C2B0
.word blue_fish_seg3_anim_0301C298
.word 0

BIN
actors/bobomb/0.rgba16.png

After

Width: 32  |  Height: 64  |  Size: 1.1 KiB

BIN
actors/bobomb/1.rgba16.png

After

Width: 32  |  Height: 64  |  Size: 1.1 KiB

BIN
actors/bobomb/2.rgba16.png

After

Width: 32  |  Height: 64  |  Size: 1.4 KiB

BIN
actors/bobomb/3.rgba16.png

After

Width: 32  |  Height: 64  |  Size: 1.7 KiB

BIN
actors/bobomb/4.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 218 B

BIN
actors/bobomb/5.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 157 B

2
actors/bobomb/collision.s

@ -0,0 +1,2 @@
# Bobomb

95
actors/bobomb/geo.s

@ -0,0 +1,95 @@
glabel black_bobomb_geo # 0x0F0007B8
geo_shadow SHADOW_CIRCLE_4_VERTS, 0xC8, 70
geo_open_node
geo_scale 0x00, 24576
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_billboard
geo_open_node
geo_display_list LAYER_ALPHA, bobomb_seg8_dl_08022D08
geo_close_node
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 57, -60
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 91, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bobomb_seg8_dl_08023270
geo_close_node
geo_close_node
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 55, 62
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 91, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bobomb_seg8_dl_08023378
geo_close_node
geo_close_node
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bobomb_seg8_dl_08023480
geo_switch_case 2, geo_switch_anim_state
geo_open_node
geo_dl_translated LAYER_ALPHA, 0, 0, 0, bobomb_seg8_dl_08022B58
geo_dl_translated 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_end
glabel bobomb_buddy_geo # 0x0F0008F4
geo_shadow SHADOW_CIRCLE_4_VERTS, 0xC8, 70
geo_open_node
geo_scale 0x00, 24576
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_billboard
geo_open_node
geo_display_list LAYER_ALPHA, bobomb_seg8_dl_08022D78
geo_close_node
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 57, -60
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 91, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bobomb_seg8_dl_08023270
geo_close_node
geo_close_node
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 55, 62
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 91, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bobomb_seg8_dl_08023378
geo_close_node
geo_close_node
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bobomb_seg8_dl_08023480
geo_switch_case 2, geo_switch_anim_state
geo_open_node
geo_dl_translated LAYER_ALPHA, 0, 0, 0, bobomb_seg8_dl_08022B58
geo_dl_translated 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_end

393
actors/bobomb/model.s

@ -0,0 +1,393 @@
# Bobomb
bobomb_seg8_texture_0801DA60: # 0x0801DA60
.incbin "actors/bobomb/0.rgba16"
bobomb_seg8_texture_0801EA60: # 0x0801EA60
.incbin "actors/bobomb/1.rgba16"
bobomb_seg8_texture_0801FA60: # 0x0801FA60
.incbin "actors/bobomb/2.rgba16"
bobomb_seg8_texture_08020A60: # 0x08020A60
.incbin "actors/bobomb/3.rgba16"
bobomb_seg8_texture_08021A60: # 0x08021A60
.incbin "actors/bobomb/4.rgba16"
bobomb_seg8_texture_08022260: # 0x08022260
.incbin "actors/bobomb/5.rgba16"
bobomb_seg8_vertex_08022A60: # 0x08022A60
vertex 133, -47, 0, 480, 0, 0xFF, 0xFF, 0xFF, 0xFF
vertex 133, 32, 0, 480, 990, 0xFF, 0xFF, 0xFF, 0xFF
vertex 128, 32, 50, 990, 990, 0xFF, 0xFF, 0xFF, 0xFF
vertex 128, -47, -49, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF
vertex 128, -47, 50, 990, 0, 0xFF, 0xFF, 0xFF, 0xFF
vertex 128, 32, -49, 0, 990, 0xFF, 0xFF, 0xFF, 0xFF
glabel bobomb_seg8_dl_08022AC0 # 0x08022AC0 - 0x08022B08
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_TEXEL0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_TEXEL0
gsSPClearGeometryMode G_LIGHTING
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 124, 124
gsSPEndDisplayList
glabel bobomb_seg8_dl_08022B08 # 0x08022B08 - 0x08022B58
gsSPVertex bobomb_seg8_vertex_08022A60, 6, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 1, 0, 0x0
gsSP2Triangles 0, 2, 4, 0x0, 3, 5, 1, 0x0
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPSetGeometryMode G_LIGHTING
gsSPEndDisplayList
glabel bobomb_seg8_dl_08022B58 # 0x08022B58 - 0x08022B88
gsSPDisplayList bobomb_seg8_dl_08022AC0
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bobomb_seg8_texture_08021A60
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x3FF, 0x100
gsSPDisplayList bobomb_seg8_dl_08022B08
gsSPEndDisplayList
glabel bobomb_seg8_dl_08022B88 # 0x08022B88 - 0x08022BB8
gsSPDisplayList bobomb_seg8_dl_08022AC0
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bobomb_seg8_texture_08022260
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x3FF, 0x100
gsSPDisplayList bobomb_seg8_dl_08022B08
gsSPEndDisplayList
bobomb_seg8_vertex_08022BB8: # 0x08022BB8
vertex 0, 49, 0, 990, 0, 0xFF, 0xFF, 0xFF, 0xFF
vertex -49, -49, 0, 0, 2012, 0xFF, 0xFF, 0xFF, 0xFF
vertex 0, -49, 0, 990, 2012, 0xFF, 0xFF, 0xFF, 0xFF
vertex -49, 49, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF
bobomb_seg8_vertex_08022BF8: # 0x08022BF8
vertex 49, 49, 0, 990, 0, 0xFF, 0xFF, 0xFF, 0xFF
vertex 0, -49, 0, 0, 2012, 0xFF, 0xFF, 0xFF, 0xFF
vertex 49, -49, 0, 990, 2012, 0xFF, 0xFF, 0xFF, 0xFF
vertex 0, 49, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF
glabel bobomb_seg8_dl_08022C38 # 0x08022C38 - 0x08022CA0
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bobomb_seg8_texture_0801DA60
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x7FF, 0x100
gsSPVertex bobomb_seg8_vertex_08022BB8, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 3, 1, 0x0
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bobomb_seg8_texture_0801EA60
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x7FF, 0x100
gsSPVertex bobomb_seg8_vertex_08022BF8, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 3, 1, 0x0
gsSPEndDisplayList
glabel bobomb_seg8_dl_08022CA0 # 0x08022CA0 - 0x08022D08
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bobomb_seg8_texture_0801FA60
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x7FF, 0x100
gsSPVertex bobomb_seg8_vertex_08022BB8, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 3, 1, 0x0
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bobomb_seg8_texture_08020A60
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x7FF, 0x100
gsSPVertex bobomb_seg8_vertex_08022BF8, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 3, 1, 0x0
gsSPEndDisplayList
glabel bobomb_seg8_dl_08022D08 # 0x08022D08 - 0x08022D78
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_TEXEL0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_TEXEL0
gsSPClearGeometryMode G_LIGHTING
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 124, 252
gsSPDisplayList bobomb_seg8_dl_08022C38
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPSetGeometryMode G_LIGHTING
gsSPEndDisplayList
glabel bobomb_seg8_dl_08022D78 # 0x08022D78 - 0x08022DE8
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_TEXEL0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_TEXEL0
gsSPClearGeometryMode G_LIGHTING
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 124, 252
gsSPDisplayList bobomb_seg8_dl_08022CA0
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPSetGeometryMode G_LIGHTING
gsSPEndDisplayList
bobomb_seg8_light_08022DE8: # 0x08022DE8
.byte 0x3F, 0x26, 0x04, 0x00, 0x3F, 0x26, 0x04, 0x00
bobomb_seg8_light_08022DF0: # 0x08022DF0
.byte 0xFF, 0x99, 0x12, 0x00, 0xFF, 0x99, 0x12, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
bobomb_seg8_light_08022E00: # 0x08022E00
.byte 0x2C, 0x2C, 0x2C, 0x00, 0x2C, 0x2C, 0x2C, 0x00
bobomb_seg8_light_08022E08: # 0x08022E08
.byte 0xB2, 0xB2, 0xB2, 0x00, 0xB2, 0xB2, 0xB2, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
# Unreferenced light
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
bobomb_seg8_vertex_08022E30: # 0x08022E30
vertex 27, -26, -31, 0, 0, 0xEB, 0x96, 0xBF, 0x00
vertex -36, 0, -20, 0, 0, 0xB1, 0xD0, 0xAA, 0x00
vertex 32, 0, -41, 0, 0, 0xFC, 0xFB, 0x82, 0x00
vertex 85, 0, -32, 0, 0, 0x50, 0xF1, 0xA0, 0xFF
vertex 79, 28, -20, 0, 0, 0x34, 0x62, 0xC4, 0xFF
vertex 79, 28, 15, 0, 0, 0x34, 0x62, 0x3C, 0xFF
vertex 85, 0, 27, 0, 0, 0x50, 0xF1, 0x60, 0xFF
vertex 33, 28, 29, 0, 0, 0xFF, 0x69, 0x47, 0xFF
vertex -29, 28, 12, 0, 0, 0xC8, 0x60, 0x3C, 0xFF
vertex -36, 0, 16, 0, 0, 0xB1, 0xD0, 0x56, 0xFF
vertex 32, 0, 37, 0, 0, 0xFC, 0xFB, 0x7E, 0xFF
vertex 33, 28, -34, 0, 0, 0xFF, 0x69, 0xB9, 0xFF
vertex -29, 28, -16, 0, 0, 0xC8, 0x60, 0xC4, 0xFF
vertex 68, -30, 16, 0, 0, 0x26, 0x95, 0x36, 0xFF
vertex 68, -30, -21, 0, 0, 0x26, 0x95, 0xCA, 0xFF
vertex 27, -26, 27, 0, 0, 0xEB, 0x96, 0x41, 0xFF
bobomb_seg8_vertex_08022F30: # 0x08022F30
vertex 27, -26, -31, 0, 0, 0xED, 0x90, 0xC8, 0xFF
vertex 27, -26, 27, 0, 0, 0xF5, 0xA2, 0x53, 0x00
vertex -36, 0, 16, 0, 0, 0xA2, 0xF8, 0x54, 0x00
vertex -36, 0, -20, 0, 0, 0xA9, 0xDD, 0xAC, 0xFF
bobomb_seg8_vertex_08022F70: # 0x08022F70
vertex 32, 0, 41, 0, 0, 0xFC, 0xFB, 0x7E, 0x00
vertex -36, 0, 20, 0, 0, 0xB1, 0xD0, 0x56, 0x00
vertex 27, -26, 31, 0, 0, 0xEB, 0x96, 0x41, 0x00
vertex 84, 0, -27, 0, 0, 0x50, 0xF1, 0xA0, 0xFF
vertex 79, 28, -15, 0, 0, 0x34, 0x62, 0xC4, 0xFF
vertex 79, 28, 20, 0, 0, 0x34, 0x62, 0x3C, 0xFF
vertex 84, 0, 32, 0, 0, 0x50, 0xF1, 0x60, 0xFF
vertex 32, 0, -37, 0, 0, 0xFC, 0xFB, 0x82, 0xFF
vertex -36, 0, -16, 0, 0, 0xB1, 0xD0, 0xAA, 0xFF
vertex -28, 28, -12, 0, 0, 0xC8, 0x60, 0xC4, 0xFF
vertex 33, 28, -29, 0, 0, 0xFF, 0x69, 0xB9, 0xFF
vertex -28, 28, 16, 0, 0, 0xC8, 0x60, 0x3C, 0xFF
vertex 33, 28, 33, 0, 0, 0xFF, 0x69, 0x47, 0xFF
vertex 68, -29, 21, 0, 0, 0x26, 0x95, 0x36, 0xFF
vertex 68, -29, -16, 0, 0, 0x26, 0x95, 0xCA, 0xFF
vertex 27, -26, -27, 0, 0, 0xEB, 0x96, 0xBF, 0xFF
bobomb_seg8_vertex_08023070: # 0x08023070
vertex 27, -26, -27, 0, 0, 0xED, 0x90, 0xC8, 0xFF
vertex 27, -26, 31, 0, 0, 0xF5, 0xA2, 0x53, 0x00
vertex -36, 0, 20, 0, 0, 0xA2, 0xF8, 0x54, 0x00
vertex -36, 0, -16, 0, 0, 0xA9, 0xDD, 0xAC, 0xFF
bobomb_seg8_vertex_080230B0: # 0x080230B0
vertex 0, -100, 59, 0, 0, 0x00, 0xFE, 0x7F, 0x00
vertex -53, -99, 28, 0, 0, 0xC1, 0xFE, 0x6D, 0x00
vertex -53, -140, 27, 0, 0, 0xC1, 0xFE, 0x6D, 0x00
vertex 0, -141, 58, 0, 0, 0x00, 0xFE, 0x7F, 0xFF
vertex 53, -99, 28, 0, 0, 0x3F, 0xFE, 0x6D, 0xFF
vertex 53, -140, 27, 0, 0, 0x3F, 0xFE, 0x6D, 0xFF
vertex -53, -99, 28, 0, 0, 0x81, 0x00, 0x00, 0xFF
vertex -53, -98, -32, 0, 0, 0x81, 0x00, 0x00, 0xFF
vertex -53, -139, -33, 0, 0, 0x81, 0x00, 0x00, 0xFF
vertex -53, -140, 27, 0, 0, 0x81, 0x00, 0x00, 0xFF
vertex -53, -98, -32, 0, 0, 0xC1, 0x02, 0x93, 0xFF
vertex 0, -97, -63, 0, 0, 0xC1, 0x02, 0x93, 0xFF
vertex 0, -138, -64, 0, 0, 0xC1, 0x02, 0x93, 0xFF
vertex -53, -139, -33, 0, 0, 0xC1, 0x02, 0x93, 0xFF
bobomb_seg8_vertex_08023190: # 0x08023190
vertex 53, -98, -32, 0, 0, 0x7F, 0x00, 0x00, 0xFF
vertex 53, -99, 28, 0, 0, 0x7F, 0x00, 0x00, 0x00
vertex 53, -140, 27, 0, 0, 0x7F, 0x00, 0x00, 0x00
vertex 53, -139, -33, 0, 0, 0x7F, 0x00, 0x00, 0xFF
vertex 0, -97, -63, 0, 0, 0x3F, 0x02, 0x93, 0xFF
vertex 53, -98, -32, 0, 0, 0x3F, 0x02, 0x93, 0xFF
vertex 53, -139, -33, 0, 0, 0x3F, 0x02, 0x93, 0xFF
vertex 0, -138, -64, 0, 0, 0x3F, 0x02, 0x93, 0xFF
vertex 0, -138, -64, 0, 0, 0x00, 0x81, 0xFE, 0xFF
vertex 53, -139, -33, 0, 0, 0x00, 0x81, 0xFE, 0xFF
vertex 53, -140, 27, 0, 0, 0x00, 0x81, 0xFE, 0xFF
vertex 0, -141, 58, 0, 0, 0x00, 0x81, 0xFE, 0xFF
vertex -53, -140, 27, 0, 0, 0x00, 0x81, 0xFE, 0xFF
vertex -53, -139, -33, 0, 0, 0x00, 0x81, 0xFE, 0xFF
glabel bobomb_seg8_dl_08023270 # 0x08023270 - 0x08023378
gsSPLight bobomb_seg8_light_08022DF0, 1
gsSPLight bobomb_seg8_light_08022DE8, 2
gsSPVertex bobomb_seg8_vertex_08022E30, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 3, 5, 6, 0x0, 7, 8, 9, 0x0
gsSP2Triangles 7, 9, 10, 0x0, 11, 12, 8, 0x0
gsSP2Triangles 11, 8, 7, 0x0, 6, 13, 14, 0x0
gsSP2Triangles 6, 14, 3, 0x0, 9, 8, 12, 0x0
gsSP2Triangles 9, 12, 1, 0x0, 10, 9, 15, 0x0
gsSP2Triangles 2, 1, 12, 0x0, 2, 12, 11, 0x0
gsSP2Triangles 10, 6, 5, 0x0, 10, 5, 7, 0x0
gsSP2Triangles 0, 14, 13, 0x0, 0, 13, 15, 0x0
gsSP2Triangles 11, 4, 3, 0x0, 11, 3, 2, 0x0
gsSP2Triangles 2, 3, 14, 0x0, 2, 14, 0, 0x0
gsSP2Triangles 7, 5, 4, 0x0, 7, 4, 11, 0x0
gsSP2Triangles 15, 13, 6, 0x0, 15, 6, 10, 0x0
gsSPVertex bobomb_seg8_vertex_08022F30, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSPEndDisplayList
glabel bobomb_seg8_dl_08023378 # 0x08023378 - 0x08023480
gsSPLight bobomb_seg8_light_08022DF0, 1
gsSPLight bobomb_seg8_light_08022DE8, 2
gsSPVertex bobomb_seg8_vertex_08022F70, 16, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 3, 5, 6, 0x0, 7, 8, 9, 0x0
gsSP2Triangles 7, 9, 10, 0x0, 10, 9, 11, 0x0
gsSP2Triangles 10, 11, 12, 0x0, 6, 13, 14, 0x0
gsSP2Triangles 6, 14, 3, 0x0, 1, 11, 9, 0x0
gsSP2Triangles 1, 9, 8, 0x0, 15, 8, 7, 0x0
gsSP2Triangles 12, 11, 1, 0x0, 12, 1, 0, 0x0
gsSP2Triangles 10, 4, 3, 0x0, 10, 3, 7, 0x0
gsSP2Triangles 15, 14, 13, 0x0, 15, 13, 2, 0x0
gsSP2Triangles 0, 6, 5, 0x0, 0, 5, 12, 0x0
gsSP2Triangles 2, 13, 6, 0x0, 2, 6, 0, 0x0
gsSP2Triangles 12, 5, 4, 0x0, 12, 4, 10, 0x0
gsSP2Triangles 7, 3, 14, 0x0, 7, 14, 15, 0x0
gsSPVertex bobomb_seg8_vertex_08023070, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSPEndDisplayList
glabel bobomb_seg8_dl_08023480 # 0x08023480 - 0x08023528
gsSPLight bobomb_seg8_light_08022E08, 1
gsSPLight bobomb_seg8_light_08022E00, 2
gsSPVertex bobomb_seg8_vertex_080230B0, 14, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 0, 3, 0x0, 4, 3, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 6, 8, 9, 0x0
gsSP2Triangles 10, 11, 12, 0x0, 10, 12, 13, 0x0
gsSPVertex bobomb_seg8_vertex_08023190, 14, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 4, 6, 7, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 8, 10, 11, 0x0
gsSP2Triangles 8, 11, 12, 0x0, 8, 12, 13, 0x0
gsSPEndDisplayList
bobomb_seg8_animvalue_08023528: # 0x08023528
.hword 0x0000, 0xFFF8, 0xFFF8, 0xFFFA, 0xFFFC, 0xFFFF, 0x0000, 0x0001
.hword 0x0003, 0x0005, 0x0006, 0x0007, 0x0008, 0x0007, 0x0006, 0x0005
.hword 0x0003, 0x0001, 0x0000, 0xFFFF, 0xFFFD, 0xFFFC, 0xFFFA, 0xFFF9
.hword 0xFFF8, 0xFFF8, 0x00A2, 0x00A3, 0x00A6, 0x00AA, 0x00AD, 0x00AE
.hword 0x00AD, 0x00AB, 0x00A8, 0x00A5, 0x00A3, 0x00A2, 0x00A3, 0x00A5
.hword 0x00A8, 0x00AB, 0x00AD, 0x00AE, 0x00AD, 0x00AB, 0x00A9, 0x00A7
.hword 0x00A4, 0x00A3, 0x00A2, 0x3FFF, 0x0000, 0xFFFC, 0xFFF2, 0xFFE4
.hword 0xFFD3, 0xFFC4, 0xFFB8, 0xFFB2, 0xFFB3, 0xFFBF, 0xFFD8, 0x0000
.hword 0x0083, 0x016B, 0x0254, 0x02DA, 0x02D4, 0x027E, 0x0206, 0x019D
.hword 0x013E, 0x00D1, 0x006A, 0x001E, 0x0000, 0x0000, 0x0000, 0x0000
.hword 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
.hword 0x0000, 0xFFFE, 0xFFFA, 0xFFF9, 0x0000, 0x0016, 0x0038, 0x0057
.hword 0x0065, 0x005A, 0x0041, 0x0023, 0x000A, 0x0000, 0xA656, 0xA6E2
.hword 0xA869, 0xAAC1, 0xADBF, 0xB138, 0xB503, 0xB8F5, 0xBCE3, 0xC0A3
.hword 0xC40A, 0xC6EE, 0xC9DE, 0xCCB2, 0xCE29, 0xCD04, 0xC7AE, 0xBF3C
.hword 0xB66F, 0xB005, 0xAC43, 0xA984, 0xA7AF, 0xA6A8, 0xA656, 0xC7BF
.hword 0xCA53, 0xCEE8, 0xD0C6, 0xCB0D, 0xC265, 0xBB0B, 0xB3CD, 0xAE17
.hword 0xAA0D, 0xA78C, 0xA78F, 0xA977, 0xABE8, 0xAEC2, 0xB1E6, 0xB537
.hword 0xB896, 0xBBE5, 0xBF05, 0xC1D8, 0xC43F, 0xC61D, 0xC751, 0xC7BF
.hword 0x6925, 0x6773, 0x62CA, 0x5BD5, 0x533B, 0x49A4, 0x3FB9, 0x3622
.hword 0x2D88, 0x2693, 0x21EA, 0x2038, 0x2172, 0x24DD, 0x2A13, 0x30AE
.hword 0x3848, 0x407B, 0x48E1, 0x5114, 0x58AE, 0x5F49, 0x6480, 0x67EB
.hword 0x6925, 0x2108, 0x228D, 0x26B7, 0x2CEF, 0x349F, 0x3D32, 0x460F
.hword 0x4EA1, 0x5652, 0x5C8A, 0x60B4, 0x6238, 0x611F, 0x5E11, 0x5968
.hword 0x5381, 0x4CB5, 0x4561, 0x3DDF, 0x368B, 0x2FC0, 0x29D8, 0x2530
.hword 0x2221, 0x2108, 0x0206, 0x01DD, 0x0172, 0x00E1, 0x0044, 0xFFB8
.hword 0xFF27, 0xFE7F, 0xFDD5, 0xFD3F, 0xFCD6, 0xFCB0, 0xFCD1, 0xFD27
.hword 0xFDA3, 0xFE35, 0xFECD, 0xFF5E, 0xFFD8, 0x004A, 0x00C6, 0x013E
.hword 0x01A4, 0x01EC, 0x0206, 0x0034, 0x0030, 0x0027, 0x001A, 0x000B
.hword 0xFFFE, 0xFFEE, 0xFFDB, 0xFFC7, 0xFFB5, 0xFFA8, 0xFFA3, 0xFFA6
.hword 0xFFB0, 0xFFBE, 0xFFCF, 0xFFE0, 0xFFF0, 0xFFFE, 0x0008, 0x0015
.hword 0x0020, 0x002A, 0x0031, 0x0034, 0x7BED, 0x7C6C, 0x7D9A, 0x7F02
.hword 0x8030, 0x80A7, 0x8040, 0x7F48, 0x7E0E, 0x7CD6, 0x7BE6, 0x7B87
.hword 0x7BD0, 0x7C8A, 0x7D89, 0x7E9F, 0x7FA0, 0x8061, 0x80B0, 0x805B
.hword 0x7F79, 0x7E53, 0x7D2C, 0x7C48, 0x7BED, 0x0000
bobomb_seg8_animindex_08023754: # 0x08023754
.hword 0x0019, 0x0001, 0x0019, 0x001A, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0033, 0x0001, 0x0000, 0x0019, 0x00CA, 0x0019, 0x00E3
.hword 0x0019, 0x00FC, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0019, 0x0098, 0x0019, 0x0034, 0x0019, 0x004D
.hword 0x0019, 0x0066, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0019, 0x00B1, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0019, 0x007F, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x0000
bobomb_seg8_anim_080237FC: # 0x080237FC
.hword 0
.hword 0
.hword 0
.hword 0
.hword 0x19
.hword 0x0D
.word bobomb_seg8_animvalue_08023528
.word bobomb_seg8_animindex_08023754
.word 0
bobomb_seg8_animvalue_08023814: # 0x08023814
.hword 0x0000, 0x00B1, 0x0000, 0x0002, 0x0008, 0x000E, 0x0010, 0x000E
.hword 0x000A, 0x0005, 0x0001, 0x0000, 0x3FFF, 0x0FE3, 0x1004, 0x104C
.hword 0x1093, 0x10B4, 0x109E, 0x106A, 0x102D, 0x0FF9, 0x0FE3, 0xBBEE
.hword 0xBEFD, 0xC5B5, 0xCC6E, 0xCF7D, 0xCD74, 0xC89A, 0xC2D0, 0xBDF7
.hword 0xBBEE, 0xFC25, 0xFD6A, 0x0032, 0x02FB, 0x0440, 0x0368, 0x0165
.hword 0xFF00, 0xFCFD, 0xFC25, 0xF0FC, 0xEFB1, 0xECD9, 0xEA02, 0xE8B7
.hword 0xE993, 0xEBA0, 0xEE13, 0xF020, 0xF0FC, 0xD8C1, 0xD34A, 0xC744
.hword 0xBB3F, 0xB5C8, 0xB96B, 0xC217, 0xCC71, 0xD51E, 0xD8C1, 0x3FFF
.hword 0x3FFF, 0x74FE, 0x7655, 0x7946, 0x7C36, 0x7D8D, 0x7CA9, 0x7A8A
.hword 0x7801, 0x75E2, 0x74FE, 0x0000
bobomb_seg8_animindex_080238AC: # 0x080238AC
.hword 0x0001, 0x0000, 0x0001, 0x0001, 0x000A, 0x0002, 0x0001, 0x0000
.hword 0x0001, 0x000C, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x000A, 0x0041, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x003F, 0x0001, 0x0000, 0x000A, 0x000D
.hword 0x000A, 0x0017, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x0040, 0x000A, 0x0021, 0x000A, 0x002B
.hword 0x000A, 0x0035, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x0000
bobomb_seg8_anim_08023954: # 0x08023954
.hword 0
.hword 0
.hword 0
.hword 0
.hword 0x0A
.hword 0x0D
.word bobomb_seg8_animvalue_08023814
.word bobomb_seg8_animindex_080238AC
.word 0
glabel bobomb_seg8_anims_0802396C # 0x0802396C
.word bobomb_seg8_anim_080237FC
.word bobomb_seg8_anim_08023954
.word 0

BIN
actors/bomb/0.rgba16.png

After

Width: 32  |  Height: 64  |  Size: 1.1 KiB

BIN
actors/bomb/1.rgba16.png

After

Width: 32  |  Height: 64  |  Size: 1.3 KiB

BIN
actors/bomb/2.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 619 B

2
actors/bomb/collision.s

@ -0,0 +1,2 @@
# Bomb

13
actors/bomb/geo.s

@ -0,0 +1,13 @@
glabel bowser_bomb_geo # 0x0D000B78 / 0BBC
geo_start_distance 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

186
actors/bomb/model.s

@ -0,0 +1,186 @@
# Bomb
.balign 8
bomb_seg6_light_06057AA8: # 0x06057AA8
.byte 0x3F, 0x3F, 0x3F, 0x00, 0x3F, 0x3F, 0x3F, 0x00
bomb_seg6_light_06057AB0: # 0x06057AB0
.byte 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
bomb_seg6_texture_06057AC0: # 0x06057AC0
.incbin "actors/bomb/0.rgba16"
bomb_seg6_texture_06058AC0: # 0x06058AC0
.incbin "actors/bomb/1.rgba16"
bomb_seg6_texture_06059AC0: # 0x06059AC0
.incbin "actors/bomb/2.rgba16"
bomb_seg6_vertex_0605A2C0: # 0x0605A2C0
vertex 0, 120, 0, 992, 0, 0xFF, 0xFF, 0xFF, 0xFF
vertex -120, -120, 0, 0, 2016, 0xFF, 0xFF, 0xFF, 0xFF
vertex 0, -120, 0, 992, 2016, 0xFF, 0xFF, 0xFF, 0xFF
vertex -120, 120, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF
bomb_seg6_vertex_0605A300: # 0x0605A300
vertex 120, 120, 0, 992, 0, 0xFF, 0xFF, 0xFF, 0xFF
vertex 0, -120, 0, 0, 2016, 0xFF, 0xFF, 0xFF, 0xFF
vertex 120, -120, 0, 992, 2016, 0xFF, 0xFF, 0xFF, 0xFF
vertex 0, 120, 0, 0, 0, 0xFF, 0xFF, 0xFF, 0xFF
bomb_seg6_vertex_0605A340: # 0x0605A340
vertex 0, -59, 0, 502, -18, 0xF7, 0x82, 0xF7, 0xFF
vertex -9, -36, 0, 14, 976, 0x8A, 0xD2, 0xFD, 0xFF
vertex 0, -36, -8, 938, 980, 0xFD, 0xD7, 0x89, 0xFF
vertex 0, 37, -8, -6, 974, 0xFD, 0x29, 0x89, 0xFF
vertex -9, 37, 0, 972, 964, 0x8A, 0x2E, 0xFD, 0xFF
vertex 0, 60, 0, 434, -20, 0xF7, 0x7E, 0xF7, 0xFF
vertex 10, 37, 0, -14, 962, 0x74, 0x32, 0xFD, 0xFF
vertex 0, 37, -8, 960, 962, 0xFD, 0x29, 0x89, 0xFF
vertex 0, 60, 0, 468, -16, 0xF7, 0x7E, 0xF7, 0xFF
vertex -9, 37, 0, -8, 974, 0x8A, 0x2E, 0xFD, 0xFF
vertex 0, 37, 9, 974, 968, 0xFD, 0x2E, 0x76, 0xFF
vertex 0, 60, 0, 470, -6, 0xF7, 0x7E, 0xF7, 0xFF
vertex 0, 37, 9, 4, 974, 0xFD, 0x2E, 0x76, 0xFF
vertex 10, 37, 0, 960, 986, 0x74, 0x32, 0xFD, 0xFF
vertex 0, 60, 0, 492, 34, 0xF7, 0x7E, 0xF7, 0xFF
bomb_seg6_vertex_0605A430: # 0x0605A430
vertex 0, 10, 37, -20, 976, 0xFD, 0x74, 0x32, 0xFF
vertex -9, 0, 37, 974, 974, 0x8A, 0xF9, 0x2E, 0xFF
vertex 0, 0, 60, 428, 4, 0xF8, 0xEE, 0x7D, 0xFF
vertex 0, -59, 0, 494, -12, 0xF7, 0x82, 0xF7, 0xFF
vertex 0, -36, -8, -2, 946, 0xFD, 0xD7, 0x89, 0xFF
vertex 10, -36, 0, 964, 964, 0x74, 0xCE, 0xFD, 0xFF
vertex 0, -59, 0, 458, -18, 0xF7, 0x82, 0xF7, 0xFF
vertex 0, -36, 9, 10, 944, 0xFD, 0xD2, 0x76, 0xFF
vertex -9, -36, 0, 916, 956, 0x8A, 0xD2, 0xFD, 0xFF
vertex 0, -59, 0, 486, -6, 0xF7, 0x82, 0xF7, 0xFF
vertex 10, -36, 0, -4, 958, 0x74, 0xCE, 0xFD, 0xFF
vertex 0, -36, 9, 958, 952, 0xFD, 0xD2, 0x76, 0xFF
vertex 10, 0, 37, -8, 978, 0x74, 0xF9, 0x32, 0xFF
vertex 0, 10, 37, 952, 976, 0xFD, 0x74, 0x32, 0xFF
vertex 0, 0, 60, 428, -12, 0xF8, 0xEE, 0x7D, 0xFF
bomb_seg6_vertex_0605A520: # 0x0605A520
vertex 37, 0, -9, 10, 960, 0x2E, 0xF9, 0x8A, 0xFF
vertex 37, 10, 0, 928, 972, 0x32, 0x74, 0xFD, 0xFF
vertex 60, 0, 0, 494, -4, 0x7D, 0xEE, 0xF8, 0xFF
vertex 0, -8, 37, -10, 976, 0xFD, 0x89, 0x29, 0xFF
vertex 10, 0, 37, 956, 980, 0x74, 0xF9, 0x32, 0xFF
vertex 0, 0, 60, 428, -12, 0xF8, 0xEE, 0x7D, 0xFF
vertex -9, 0, 37, -24, 978, 0x8A, 0xF9, 0x2E, 0xFF
vertex 0, -8, 37, 974, 976, 0xFD, 0x89, 0x29, 0xFF
vertex 0, 0, 60, 476, -6, 0xF8, 0xEE, 0x7D, 0xFF
vertex 37, -8, 0, -20, 968, 0x29, 0x89, 0xFD, 0xFF
vertex 37, 0, -9, 954, 972, 0x2E, 0xF9, 0x8A, 0xFF
vertex 60, 0, 0, 402, -10, 0x7D, 0xEE, 0xF8, 0xFF
vertex 37, 10, 0, -8, 964, 0x32, 0x74, 0xFD, 0xFF
vertex 37, 0, 10, 978, 962, 0x32, 0xF9, 0x74, 0xFF
vertex 60, 0, 0, 462, -18, 0x7D, 0xEE, 0xF8, 0xFF
bomb_seg6_vertex_0605A610: # 0x0605A610
vertex -59, 0, 0, 452, 20, 0x83, 0xEE, 0xF8, 0xFF
vertex -36, 0, -9, -4, 974, 0xD2, 0xF9, 0x8A, 0xFF
vertex -36, -8, 0, 948, 980, 0xD7, 0x89, 0xFD, 0xFF
vertex 37, 0, 10, -10, 970, 0x32, 0xF9, 0x74, 0xFF
vertex 37, -8, 0, 960, 966, 0x29, 0x89, 0xFD, 0xFF
vertex 60, 0, 0, 488, -8, 0x7D, 0xEE, 0xF8, 0xFF
vertex -59, 0, 0, 370, 10, 0x83, 0xEE, 0xF8, 0xFF
vertex -36, 0, 10, -6, 964, 0xCE, 0xF9, 0x74, 0xFF
vertex -36, 10, 0, 950, 968, 0xCE, 0x74, 0xFD, 0xFF
vertex -59, 0, 0, 428, 12, 0x83, 0xEE, 0xF8, 0xFF
vertex -36, 10, 0, 8, 968, 0xCE, 0x74, 0xFD, 0xFF
vertex -36, 0, -9, 938, 974, 0xD2, 0xF9, 0x8A, 0xFF
vertex -59, 0, 0, 464, -18, 0x83, 0xEE, 0xF8, 0xFF
vertex -36, -8, 0, -4, 966, 0xD7, 0x89, 0xFD, 0xFF
vertex -36, 0, 10, 964, 974, 0xCE, 0xF9, 0x74, 0xFF
bomb_seg6_vertex_0605A700: # 0x0605A700
vertex 0, 0, -59, 464, 4, 0xF8, 0xEE, 0x83, 0xFF
vertex 0, 10, -36, -14, 968, 0xFD, 0x74, 0xCE, 0xFF
vertex 10, 0, -36, 942, 976, 0x74, 0xF9, 0xCE, 0xFF
vertex 0, 0, -59, 480, -20, 0xF8, 0xEE, 0x83, 0xFF
vertex -9, 0, -36, 20, 962, 0x8A, 0xF9, 0xD2, 0xFF
vertex 0, 10, -36, 946, 966, 0xFD, 0x74, 0xCE, 0xFF
vertex 0, 0, -59, 412, 6, 0xF8, 0xEE, 0x83, 0xFF
vertex 10, 0, -36, -16, 970, 0x74, 0xF9, 0xCE, 0xFF
vertex 0, -8, -36, 968, 968, 0xFD, 0x89, 0xD7, 0xFF
vertex 0, 0, -59, 402, 8, 0xF8, 0xEE, 0x83, 0xFF
vertex 0, -8, -36, 0, 970, 0xFD, 0x89, 0xD7, 0xFF
vertex -9, 0, -36, 952, 964, 0x8A, 0xF9, 0xD2, 0xFF
glabel bomb_seg6_dl_0605A7C0 # 0x0605A7C0 - 0x0605A7F8
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bomb_seg6_texture_06057AC0
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x7FF, 0x100
gsSPVertex bomb_seg6_vertex_0605A2C0, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 3, 1, 0x0
gsSPEndDisplayList
glabel bomb_seg6_dl_0605A7F8 # 0x0605A7F8 - 0x0605A830
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bomb_seg6_texture_06058AC0
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x7FF, 0x100
gsSPVertex bomb_seg6_vertex_0605A300, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 3, 1, 0x0
gsSPEndDisplayList
glabel bomb_seg6_dl_0605A830 # 0x0605A830 - 0x0605A8A8
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_TEXEL0, G_CCMUX_0, G_CCMUX_SHADE, G_CCMUX_0, G_ACMUX_TEXEL0, G_ACMUX_0, G_ACMUX_SHADE, G_ACMUX_0
gsSPClearGeometryMode G_LIGHTING
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 124, 252
gsSPDisplayList bomb_seg6_dl_0605A7C0
gsSPDisplayList bomb_seg6_dl_0605A7F8
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPSetGeometryMode G_LIGHTING
gsSPEndDisplayList
glabel bomb_seg6_dl_0605A8A8 # 0x0605A8A8 - 0x0605A9C0
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bomb_seg6_texture_06059AC0
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x3FF, 0x100
gsSPLight bomb_seg6_light_06057AB0, 1
gsSPLight bomb_seg6_light_06057AA8, 2
gsSPVertex bomb_seg6_vertex_0605A340, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex bomb_seg6_vertex_0605A430, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex bomb_seg6_vertex_0605A520, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex bomb_seg6_vertex_0605A610, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex bomb_seg6_vertex_0605A700, 12, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSPEndDisplayList
glabel bomb_seg6_dl_0605A9C0 # 0x0605A9C0 - 0x0605AA20
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_TEXEL0, G_CCMUX_0, G_CCMUX_SHADE, G_CCMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 124, 124
gsSPDisplayList bomb_seg6_dl_0605A8A8
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPEndDisplayList

BIN
actors/boo/0.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 2.5 KiB

BIN
actors/boo/1.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 1.4 KiB

2
actors/boo/collision.s

@ -0,0 +1,2 @@
# Boo

15
actors/boo/geo.s

@ -0,0 +1,15 @@
glabel boo_geo # 0x0C000224
geo_shadow SHADOW_CIRCLE_4_VERTS, 0x96, 70
geo_open_node
geo_scale 0x00, 26214
geo_open_node
geo_asm 0, Geo18_8029D924
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

319
actors/boo/model.s

@ -0,0 +1,319 @@
# Boo
.balign 8
boo_seg5_light_05009B28: # 0x05009B28
.byte 0x97, 0x9A, 0xFF, 0x00, 0x97, 0x9A, 0xFF, 0x00
boo_seg5_light_05009B30: # 0x05009B30
.byte 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
boo_seg5_texture_05009B40: # 0x05009B40
.incbin "actors/boo/0.rgba16"
boo_seg5_texture_0500AB40: # 0x0500AB40
.incbin "actors/boo/1.rgba16"
boo_seg5_vertex_0500B340: # 0x0500B340
vertex 0, -117, 131, 458, 990, 0x00, 0x9D, 0x4E, 0x9E
vertex 87, -78, 123, 1096, 684, 0x53, 0xC9, 0x4E, 0x9E
vertex 0, -47, 171, 458, 168, 0x00, 0xE9, 0x7C, 0x9E
vertex 0, -117, 131, 458, 990, 0x00, 0x9D, 0x4E, 0x9E
vertex 0, -47, 171, 458, 168, 0x00, 0xE9, 0x7C, 0x9E
vertex -86, -78, 123, -176, 684, 0xAD, 0xC9, 0x4E, 0x9E
vertex 87, -78, 123, 1096, 684, 0x53, 0xC9, 0x4E, 0x9E
vertex 108, 20, 118, 1248, -172, 0x57, 0x14, 0x5A, 0x9E
vertex 0, -47, 171, 458, 168, 0x00, 0xE9, 0x7C, 0x9E
vertex -86, -78, 123, -176, 684, 0xAD, 0xC9, 0x4E, 0x9E
vertex 0, -47, 171, 458, 168, 0x00, 0xE9, 0x7C, 0x9E
vertex -107, 20, 118, -328, -172, 0xA9, 0x14, 0x59, 0x9E
boo_seg5_vertex_0500B400: # 0x0500B400
vertex -107, 20, 118, -656, 538, 0xA9, 0x14, 0x59, 0x9E
vertex 0, 60, 166, 988, 148, 0x00, 0x26, 0x79, 0x9E
vertex -57, 128, 108, 76, -690, 0xD3, 0x60, 0x45, 0x9E
vertex -107, 20, 118, -656, 538, 0xA9, 0x14, 0x59, 0x9E
vertex 0, -47, 171, 1024, 1364, 0x00, 0xE9, 0x7C, 0x9E
vertex 0, 60, 166, 988, 148, 0x00, 0x26, 0x79, 0x9E
vertex 0, 60, 166, 988, 148, 0x00, 0x26, 0x79, 0x9E
vertex 0, -47, 171, 1024, 1364, 0x00, 0xE9, 0x7C, 0x9E
vertex 108, 20, 118, 2660, 540, 0x57, 0x14, 0x5A, 0x9E
vertex 108, 20, 118, 2660, 540, 0x57, 0x14, 0x5A, 0x9E
vertex 58, 128, 108, 1852, -688, 0x35, 0x58, 0x49, 0x9E
vertex 0, 60, 166, 988, 148, 0x00, 0x26, 0x79, 0x9E
boo_seg5_vertex_0500B4C0: # 0x0500B4C0
vertex -135, -70, 23, 0, 0, 0xB2, 0xAA, 0x33, 0x9E
vertex -127, -69, -89, 0, 0, 0x9C, 0xC6, 0xCE, 0x9E
vertex -72, -138, 30, 0, 0, 0xCF, 0x8C, 0x0A, 0x9E
vertex 73, -138, 30, 0, 0, 0x39, 0x90, 0x0E, 0x9E
vertex 0, -117, 131, 0, 0, 0x00, 0x9D, 0x4E, 0x9E
vertex -72, -138, 30, 0, 0, 0xCF, 0x8C, 0x0A, 0x9E
vertex -86, -78, 123, 0, 0, 0xAD, 0xC9, 0x4E, 0x9E
vertex -135, -70, 23, 0, 0, 0xB2, 0xAA, 0x33, 0x9E
vertex -72, -138, 30, 0, 0, 0xCF, 0x8C, 0x0A, 0x9E
vertex -59, -126, -86, 0, 0, 0xE1, 0x90, 0xD0, 0x9E
vertex 60, -126, -86, 0, 0, 0x20, 0x8B, 0xDB, 0x9E
vertex -72, -138, 30, 0, 0, 0xCF, 0x8C, 0x0A, 0x9E
vertex -72, -138, 30, 0, 0, 0xCF, 0x8C, 0x0A, 0x9E
vertex 60, -126, -86, 0, 0, 0x20, 0x8B, 0xDB, 0x9E
vertex 73, -138, 30, 0, 0, 0x39, 0x90, 0x0E, 0x9E
boo_seg5_vertex_0500B5B0: # 0x0500B5B0
vertex -86, -78, 123, 0, 0, 0xAD, 0xC9, 0x4E, 0x9E
vertex -72, -138, 30, 0, 0, 0xCF, 0x8C, 0x0A, 0x9E
vertex 0, -117, 131, 0, 0, 0x00, 0x9D, 0x4E, 0x9E
vertex -59, -126, -86, 0, 0, 0xE1, 0x90, 0xD0, 0x9E
vertex -72, -138, 30, 0, 0, 0xCF, 0x8C, 0x0A, 0x9E
vertex -127, -69, -89, 0, 0, 0x9C, 0xC6, 0xCE, 0x9E
vertex 60, -126, -86, 0, 0, 0x20, 0x8B, 0xDB, 0x9E
vertex -59, -126, -86, 0, 0, 0xE1, 0x90, 0xD0, 0x9E
vertex 46, -82, -160, 0, 0, 0x2E, 0xBA, 0xA2, 0x9E
vertex 46, -82, -160, 0, 0, 0x2E, 0xBA, 0xA2, 0x9E
vertex 128, -69, -89, 0, 0, 0x64, 0xC6, 0xCE, 0x9E
vertex 60, -126, -86, 0, 0, 0x20, 0x8B, 0xDB, 0x9E
vertex 60, -126, -86, 0, 0, 0x20, 0x8B, 0xDB, 0x9E
vertex 128, -69, -89, 0, 0, 0x64, 0xC6, 0xCE, 0x9E
vertex 73, -138, 30, 0, 0, 0x39, 0x90, 0x0E, 0x9E
boo_seg5_vertex_0500B6A0: # 0x0500B6A0
vertex 136, -70, 23, 0, 0, 0x4E, 0xAA, 0x33, 0x9E
vertex 73, -138, 30, 0, 0, 0x39, 0x90, 0x0E, 0x9E
vertex 128, -69, -89, 0, 0, 0x64, 0xC6, 0xCE, 0x9E
vertex 87, -78, 123, 0, 0, 0x53, 0xC9, 0x4E, 0x9E
vertex 73, -138, 30, 0, 0, 0x39, 0x90, 0x0E, 0x9E
vertex 136, -70, 23, 0, 0, 0x4E, 0xAA, 0x33, 0x9E
vertex 87, -78, 123, 0, 0, 0x53, 0xC9, 0x4E, 0x9E
vertex 0, -117, 131, 0, 0, 0x00, 0x9D, 0x4E, 0x9E
vertex 73, -138, 30, 0, 0, 0x39, 0x90, 0x0E, 0x9E
vertex -43, 162, 15, 0, 0, 0xDF, 0x7A, 0xF8, 0x9E
vertex -57, 128, 108, 0, 0, 0xD3, 0x60, 0x45, 0x9E
vertex 44, 162, 15, 0, 0, 0x21, 0x7A, 0x09, 0x9E
vertex -43, 162, 15, 0, 0, 0xDF, 0x7A, 0xF8, 0x9E
vertex 44, 162, 15, 0, 0, 0x21, 0x7A, 0x09, 0x9E
vertex 42, 130, -88, 0, 0, 0x25, 0x6A, 0xC7, 0x9E
boo_seg5_vertex_0500B790: # 0x0500B790
vertex 125, 99, 15, 0, 0, 0x65, 0x4C, 0x08, 0x9E
vertex 44, 162, 15, 0, 0, 0x21, 0x7A, 0x09, 0x9E
vertex 58, 128, 108, 0, 0, 0x35, 0x58, 0x49, 0x9E
vertex 58, 128, 108, 0, 0, 0x35, 0x58, 0x49, 0x9E
vertex 44, 162, 15, 0, 0, 0x21, 0x7A, 0x09, 0x9E
vertex -57, 128, 108, 0, 0, 0xD3, 0x60, 0x45, 0x9E
vertex 44, 162, 15, 0, 0, 0x21, 0x7A, 0x09, 0x9E
vertex 125, 99, 15, 0, 0, 0x65, 0x4C, 0x08, 0x9E
vertex 42, 130, -88, 0, 0, 0x25, 0x6A, 0xC7, 0x9E
vertex 122, 59, -94, 0, 0, 0x5F, 0x2E, 0xBB, 0x9E
vertex 42, 130, -88, 0, 0, 0x25, 0x6A, 0xC7, 0x9E
vertex 125, 99, 15, 0, 0, 0x65, 0x4C, 0x08, 0x9E
vertex 0, 62, -162, 0, 0, 0x00, 0x5A, 0xA8, 0x9E
vertex 42, 130, -88, 0, 0, 0x25, 0x6A, 0xC7, 0x9E
vertex 122, 59, -94, 0, 0, 0x5F, 0x2E, 0xBB, 0x9E
boo_seg5_vertex_0500B880: # 0x0500B880
vertex -41, 130, -88, 0, 0, 0xD4, 0x65, 0xC3, 0x9E
vertex -43, 162, 15, 0, 0, 0xDF, 0x7A, 0xF8, 0x9E
vertex 42, 130, -88, 0, 0, 0x25, 0x6A, 0xC7, 0x9E
vertex 0, 62, -162, 0, 0, 0x00, 0x5A, 0xA8, 0x9E
vertex -41, 130, -88, 0, 0, 0xD4, 0x65, 0xC3, 0x9E
vertex 42, 130, -88, 0, 0, 0x25, 0x6A, 0xC7, 0x9E
vertex -135, -70, 23, 0, 0, 0xB2, 0xAA, 0x33, 0x9E
vertex -86, -78, 123, 0, 0, 0xAD, 0xC9, 0x4E, 0x9E
vertex -155, 6, 33, 0, 0, 0x87, 0x0F, 0x22, 0x9E
vertex -86, -78, 123, 0, 0, 0xAD, 0xC9, 0x4E, 0x9E
vertex -107, 20, 118, 0, 0, 0xA9, 0x14, 0x59, 0x9E
vertex -155, 6, 33, 0, 0, 0x87, 0x0F, 0x22, 0x9E
vertex -199, -60, 25, 0, 0, 0xA2, 0xBF, 0x36, 0x9E
vertex -127, -69, -89, 0, 0, 0x9C, 0xC6, 0xCE, 0x9E
vertex -135, -70, 23, 0, 0, 0xB2, 0xAA, 0x33, 0x9E
boo_seg5_vertex_0500B970: # 0x0500B970
vertex -107, 20, 118, 0, 0, 0xA9, 0x14, 0x59, 0x9E
vertex -57, 128, 108, 0, 0, 0xD3, 0x60, 0x45, 0x9E
vertex -124, 99, 15, 0, 0, 0x9B, 0x4C, 0x08, 0x9E
vertex -124, 99, 15, 0, 0, 0x9B, 0x4C, 0x08, 0x9E
vertex -155, 6, 33, 0, 0, 0x87, 0x0F, 0x22, 0x9E
vertex -107, 20, 118, 0, 0, 0xA9, 0x14, 0x59, 0x9E
vertex -121, 59, -94, 0, 0, 0xA1, 0x2E, 0xBB, 0x9E
vertex -127, -69, -89, 0, 0, 0x9C, 0xC6, 0xCE, 0x9E
vertex -155, 6, 33, 0, 0, 0x87, 0x0F, 0x22, 0x9E
vertex -121, 59, -94, 0, 0, 0xA1, 0x2E, 0xBB, 0x9E
vertex -155, 6, 33, 0, 0, 0x87, 0x0F, 0x22, 0x9E
vertex -124, 99, 15, 0, 0, 0x9B, 0x4C, 0x08, 0x9E
vertex -199, -60, 25, 0, 0, 0xA2, 0xBF, 0x36, 0x9E
vertex -155, 6, 33, 0, 0, 0x87, 0x0F, 0x22, 0x9E
vertex -127, -69, -89, 0, 0, 0x9C, 0xC6, 0xCE, 0x9E
boo_seg5_vertex_0500BA60: # 0x0500BA60
vertex -199, -60, 25, 0, 0, 0xA2, 0xBF, 0x36, 0x9E
vertex -135, -70, 23, 0, 0, 0xB2, 0xAA, 0x33, 0x9E
vertex -155, 6, 33, 0, 0, 0x87, 0x0F, 0x22, 0x9E
vertex 200, -60, 25, 0, 0, 0x5E, 0xBF, 0x36, 0x9E
vertex 128, -69, -89, 0, 0, 0x64, 0xC6, 0xCE, 0x9E
vertex 156, 6, 33, 0, 0, 0x79, 0x0F, 0x22, 0x9E
vertex 108, 20, 118, 0, 0, 0x57, 0x14, 0x5A, 0x9E
vertex 156, 6, 33, 0, 0, 0x79, 0x0F, 0x22, 0x9E
vertex 125, 99, 15, 0, 0, 0x65, 0x4C, 0x08, 0x9E
vertex 125, 99, 15, 0, 0, 0x65, 0x4C, 0x08, 0x9E
vertex 156, 6, 33, 0, 0, 0x79, 0x0F, 0x22, 0x9E
vertex 122, 59, -94, 0, 0, 0x5F, 0x2E, 0xBB, 0x9E
vertex 200, -60, 25, 0, 0, 0x5E, 0xBF, 0x36, 0x9E
vertex 156, 6, 33, 0, 0, 0x79, 0x0F, 0x22, 0x9E
vertex 136, -70, 23, 0, 0, 0x4E, 0xAA, 0x33, 0x9E
boo_seg5_vertex_0500BB50: # 0x0500BB50
vertex 156, 6, 33, 0, 0, 0x79, 0x0F, 0x22, 0x9E
vertex 128, -69, -89, 0, 0, 0x64, 0xC6, 0xCE, 0x9E
vertex 122, 59, -94, 0, 0, 0x5F, 0x2E, 0xBB, 0x9E
vertex 200, -60, 25, 0, 0, 0x5E, 0xBF, 0x36, 0x9E
vertex 136, -70, 23, 0, 0, 0x4E, 0xAA, 0x33, 0x9E
vertex 128, -69, -89, 0, 0, 0x64, 0xC6, 0xCE, 0x9E
vertex -43, 162, 15, 0, 0, 0xDF, 0x7A, 0xF8, 0x9E
vertex -41, 130, -88, 0, 0, 0xD4, 0x65, 0xC3, 0x9E
vertex -124, 99, 15, 0, 0, 0x9B, 0x4C, 0x08, 0x9E
vertex -57, 128, 108, 0, 0, 0xD3, 0x60, 0x45, 0x9E
vertex -43, 162, 15, 0, 0, 0xDF, 0x7A, 0xF8, 0x9E
vertex -124, 99, 15, 0, 0, 0x9B, 0x4C, 0x08, 0x9E
vertex 128, -69, -89, 0, 0, 0x64, 0xC6, 0xCE, 0x9E
vertex 46, -82, -160, 0, 0, 0x2E, 0xBA, 0xA2, 0x9E
vertex 122, 59, -94, 0, 0, 0x5F, 0x2E, 0xBB, 0x9E
boo_seg5_vertex_0500BC40: # 0x0500BC40
vertex 0, 62, -162, 0, 0, 0x00, 0x5A, 0xA8, 0x9E
vertex 122, 59, -94, 0, 0, 0x5F, 0x2E, 0xBB, 0x9E
vertex 0, 24, -213, 0, 0, 0x00, 0x22, 0x86, 0x9E
vertex 0, 24, -213, 0, 0, 0x00, 0x22, 0x86, 0x9E
vertex 122, 59, -94, 0, 0, 0x5F, 0x2E, 0xBB, 0x9E
vertex 46, -82, -160, 0, 0, 0x2E, 0xBA, 0xA2, 0x9E
vertex 0, 62, -162, 0, 0, 0x00, 0x5A, 0xA8, 0x9E
vertex 0, 24, -213, 0, 0, 0x00, 0x22, 0x86, 0x9E
vertex -121, 59, -94, 0, 0, 0xA1, 0x2E, 0xBB, 0x9E
vertex -121, 59, -94, 0, 0, 0xA1, 0x2E, 0xBB, 0x9E
vertex -41, 130, -88, 0, 0, 0xD4, 0x65, 0xC3, 0x9E
vertex 0, 62, -162, 0, 0, 0x00, 0x5A, 0xA8, 0x9E
vertex 0, 24, -213, 0, 0, 0x00, 0x22, 0x86, 0x9E
vertex 46, -82, -160, 0, 0, 0x2E, 0xBA, 0xA2, 0x9E
vertex -45, -82, -160, 0, 0, 0xC9, 0xC5, 0x9F, 0x9E
boo_seg5_vertex_0500BD30: # 0x0500BD30
vertex -45, -82, -160, 0, 0, 0xC9, 0xC5, 0x9F, 0x9E
vertex 46, -82, -160, 0, 0, 0x2E, 0xBA, 0xA2, 0x9E
vertex -59, -126, -86, 0, 0, 0xE1, 0x90, 0xD0, 0x9E
vertex -127, -69, -89, 0, 0, 0x9C, 0xC6, 0xCE, 0x9E
vertex -121, 59, -94, 0, 0, 0xA1, 0x2E, 0xBB, 0x9E
vertex -45, -82, -160, 0, 0, 0xC9, 0xC5, 0x9F, 0x9E
vertex -45, -82, -160, 0, 0, 0xC9, 0xC5, 0x9F, 0x9E
vertex -59, -126, -86, 0, 0, 0xE1, 0x90, 0xD0, 0x9E
vertex -127, -69, -89, 0, 0, 0x9C, 0xC6, 0xCE, 0x9E
vertex 0, 24, -213, 0, 0, 0x00, 0x22, 0x86, 0x9E
vertex -45, -82, -160, 0, 0, 0xC9, 0xC5, 0x9F, 0x9E
vertex -121, 59, -94, 0, 0, 0xA1, 0x2E, 0xBB, 0x9E
vertex -41, 130, -88, 0, 0, 0xD4, 0x65, 0xC3, 0x9E
vertex -121, 59, -94, 0, 0, 0xA1, 0x2E, 0xBB, 0x9E
vertex -124, 99, 15, 0, 0, 0x9B, 0x4C, 0x08, 0x9E
boo_seg5_vertex_0500BE20: # 0x0500BE20
vertex -57, 128, 108, 0, 0, 0xD3, 0x60, 0x45, 0x9E
vertex 0, 60, 166, 0, 0, 0x00, 0x26, 0x79, 0x9E
vertex 58, 128, 108, 0, 0, 0x35, 0x58, 0x49, 0x9E
vertex 108, 20, 118, 0, 0, 0x57, 0x14, 0x5A, 0x9E
vertex 125, 99, 15, 0, 0, 0x65, 0x4C, 0x08, 0x9E
vertex 58, 128, 108, 0, 0, 0x35, 0x58, 0x49, 0x9E
vertex 136, -70, 23, 0, 0, 0x4E, 0xAA, 0x33, 0x9E
vertex 156, 6, 33, 0, 0, 0x79, 0x0F, 0x22, 0x9E
vertex 87, -78, 123, 0, 0, 0x53, 0xC9, 0x4E, 0x9E
vertex 108, 20, 118, 0, 0, 0x57, 0x14, 0x5A, 0x9E
vertex 87, -78, 123, 0, 0, 0x53, 0xC9, 0x4E, 0x9E
vertex 156, 6, 33, 0, 0, 0x79, 0x0F, 0x22, 0x9E
glabel boo_seg5_dl_0500BEE0 # 0x0500BEE0 - 0x0500BF48
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, boo_seg5_texture_0500AB40
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x3FF, 0x100
gsSPLight boo_seg5_light_05009B30, 1
gsSPLight boo_seg5_light_05009B28, 2
gsSPVertex boo_seg5_vertex_0500B340, 12, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSPEndDisplayList
glabel boo_seg5_dl_0500BF48 # 0x0500BF48 - 0x0500BFA0
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, boo_seg5_texture_05009B40
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x7FF, 0x080
gsSPVertex boo_seg5_vertex_0500B400, 12, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSPEndDisplayList
glabel boo_seg5_dl_0500BFA0 # 0x0500BFA0 - 0x0500C1B0
gsSPVertex boo_seg5_vertex_0500B4C0, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_seg5_vertex_0500B5B0, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_seg5_vertex_0500B6A0, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_seg5_vertex_0500B790, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_seg5_vertex_0500B880, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_seg5_vertex_0500B970, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_seg5_vertex_0500BA60, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_seg5_vertex_0500BB50, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_seg5_vertex_0500BC40, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_seg5_vertex_0500BD30, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_seg5_vertex_0500BE20, 12, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSPEndDisplayList
glabel boo_seg5_dl_0500C1B0 # 0x0500C1B0 - 0x0500C250
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_TEXEL0, G_CCMUX_SHADE, G_CCMUX_TEXEL0_ALPHA, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_ENVIRONMENT
gsSPNumLights NUMLIGHTS_0 # I cannot tell if they meant to put 0 or 1 here.
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 124, 124
gsSPDisplayList boo_seg5_dl_0500BEE0
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 6, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 252, 124
gsSPDisplayList boo_seg5_dl_0500BF48
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_ENVIRONMENT
gsSPDisplayList boo_seg5_dl_0500BFA0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsDPSetEnvColor 255, 255, 255, 255
gsSPEndDisplayList

BIN
actors/boo_castle/0.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 2.5 KiB

BIN
actors/boo_castle/1.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 1.4 KiB

2
actors/boo_castle/collision.s

@ -0,0 +1,2 @@
# Boo (Castle)

15
actors/boo_castle/geo.s

@ -0,0 +1,15 @@
glabel boo_castle_geo # 0x0D0005B0
geo_shadow SHADOW_CIRCLE_4_VERTS, 0x96, 70
geo_open_node
geo_scale 0x00, 26214
geo_open_node
geo_asm 0, Geo18_8029D924
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

319
actors/boo_castle/model.s

@ -0,0 +1,319 @@
# Boo (Castle)
.balign 8
boo_castle_seg6_light_06015658: # 0x06015658
.byte 0x97, 0x9A, 0xFF, 0x00, 0x97, 0x9A, 0xFF, 0x00
boo_castle_seg6_light_06015660: # 0x06015660
.byte 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
boo_castle_seg6_texture_06015670: # 0x06015670
.incbin "actors/boo_castle/0.rgba16"
boo_castle_seg6_texture_06016670: # 0x06016670
.incbin "actors/boo_castle/1.rgba16"
boo_castle_seg6_vertex_06016E70: # 0x06016E70
vertex 0, -117, 131, 458, 990, 0x00, 0x9D, 0x4E, 0x9E
vertex 87, -78, 123, 1096, 684, 0x53, 0xC9, 0x4E, 0x9E
vertex 0, -47, 171, 458, 168, 0x00, 0xE9, 0x7C, 0x9E
vertex 0, -117, 131, 458, 990, 0x00, 0x9D, 0x4E, 0x9E
vertex 0, -47, 171, 458, 168, 0x00, 0xE9, 0x7C, 0x9E
vertex -86, -78, 123, -176, 684, 0xAD, 0xC9, 0x4E, 0x9E
vertex 87, -78, 123, 1096, 684, 0x53, 0xC9, 0x4E, 0x9E
vertex 108, 20, 118, 1248, -172, 0x57, 0x14, 0x5A, 0x9E
vertex 0, -47, 171, 458, 168, 0x00, 0xE9, 0x7C, 0x9E
vertex -86, -78, 123, -176, 684, 0xAD, 0xC9, 0x4E, 0x9E
vertex 0, -47, 171, 458, 168, 0x00, 0xE9, 0x7C, 0x9E
vertex -107, 20, 118, -328, -172, 0xA9, 0x14, 0x59, 0x9E
boo_castle_seg6_vertex_06016F30: # 0x06016F30
vertex -107, 20, 118, -656, 538, 0xA9, 0x14, 0x59, 0x9E
vertex 0, 60, 166, 988, 148, 0x00, 0x26, 0x79, 0x9E
vertex -57, 128, 108, 76, -690, 0xD3, 0x60, 0x45, 0x9E
vertex -107, 20, 118, -656, 538, 0xA9, 0x14, 0x59, 0x9E
vertex 0, -47, 171, 1024, 1364, 0x00, 0xE9, 0x7C, 0x9E
vertex 0, 60, 166, 988, 148, 0x00, 0x26, 0x79, 0x9E
vertex 0, 60, 166, 988, 148, 0x00, 0x26, 0x79, 0x9E
vertex 0, -47, 171, 1024, 1364, 0x00, 0xE9, 0x7C, 0x9E
vertex 108, 20, 118, 2660, 540, 0x57, 0x14, 0x5A, 0x9E
vertex 108, 20, 118, 2660, 540, 0x57, 0x14, 0x5A, 0x9E
vertex 58, 128, 108, 1852, -688, 0x35, 0x58, 0x49, 0x9E
vertex 0, 60, 166, 988, 148, 0x00, 0x26, 0x79, 0x9E
boo_castle_seg6_vertex_06016FF0: # 0x06016FF0
vertex -135, -70, 23, 0, 0, 0xB2, 0xAA, 0x33, 0x9E
vertex -127, -69, -89, 0, 0, 0x9C, 0xC6, 0xCE, 0x9E
vertex -72, -138, 30, 0, 0, 0xCF, 0x8C, 0x0A, 0x9E
vertex 73, -138, 30, 0, 0, 0x39, 0x90, 0x0E, 0x9E
vertex 0, -117, 131, 0, 0, 0x00, 0x9D, 0x4E, 0x9E
vertex -72, -138, 30, 0, 0, 0xCF, 0x8C, 0x0A, 0x9E
vertex -86, -78, 123, 0, 0, 0xAD, 0xC9, 0x4E, 0x9E
vertex -135, -70, 23, 0, 0, 0xB2, 0xAA, 0x33, 0x9E
vertex -72, -138, 30, 0, 0, 0xCF, 0x8C, 0x0A, 0x9E
vertex -59, -126, -86, 0, 0, 0xE1, 0x90, 0xD0, 0x9E
vertex 60, -126, -86, 0, 0, 0x20, 0x8B, 0xDB, 0x9E
vertex -72, -138, 30, 0, 0, 0xCF, 0x8C, 0x0A, 0x9E
vertex -72, -138, 30, 0, 0, 0xCF, 0x8C, 0x0A, 0x9E
vertex 60, -126, -86, 0, 0, 0x20, 0x8B, 0xDB, 0x9E
vertex 73, -138, 30, 0, 0, 0x39, 0x90, 0x0E, 0x9E
boo_castle_seg6_vertex_060170E0: # 0x060170E0
vertex -86, -78, 123, 0, 0, 0xAD, 0xC9, 0x4E, 0x9E
vertex -72, -138, 30, 0, 0, 0xCF, 0x8C, 0x0A, 0x9E
vertex 0, -117, 131, 0, 0, 0x00, 0x9D, 0x4E, 0x9E
vertex -59, -126, -86, 0, 0, 0xE1, 0x90, 0xD0, 0x9E
vertex -72, -138, 30, 0, 0, 0xCF, 0x8C, 0x0A, 0x9E
vertex -127, -69, -89, 0, 0, 0x9C, 0xC6, 0xCE, 0x9E
vertex 60, -126, -86, 0, 0, 0x20, 0x8B, 0xDB, 0x9E
vertex -59, -126, -86, 0, 0, 0xE1, 0x90, 0xD0, 0x9E
vertex 46, -82, -160, 0, 0, 0x2E, 0xBA, 0xA2, 0x9E
vertex 46, -82, -160, 0, 0, 0x2E, 0xBA, 0xA2, 0x9E
vertex 128, -69, -89, 0, 0, 0x64, 0xC6, 0xCE, 0x9E
vertex 60, -126, -86, 0, 0, 0x20, 0x8B, 0xDB, 0x9E
vertex 60, -126, -86, 0, 0, 0x20, 0x8B, 0xDB, 0x9E
vertex 128, -69, -89, 0, 0, 0x64, 0xC6, 0xCE, 0x9E
vertex 73, -138, 30, 0, 0, 0x39, 0x90, 0x0E, 0x9E
boo_castle_seg6_vertex_060171D0: # 0x060171D0
vertex 136, -70, 23, 0, 0, 0x4E, 0xAA, 0x33, 0x9E
vertex 73, -138, 30, 0, 0, 0x39, 0x90, 0x0E, 0x9E
vertex 128, -69, -89, 0, 0, 0x64, 0xC6, 0xCE, 0x9E
vertex 87, -78, 123, 0, 0, 0x53, 0xC9, 0x4E, 0x9E
vertex 73, -138, 30, 0, 0, 0x39, 0x90, 0x0E, 0x9E
vertex 136, -70, 23, 0, 0, 0x4E, 0xAA, 0x33, 0x9E
vertex 87, -78, 123, 0, 0, 0x53, 0xC9, 0x4E, 0x9E
vertex 0, -117, 131, 0, 0, 0x00, 0x9D, 0x4E, 0x9E
vertex 73, -138, 30, 0, 0, 0x39, 0x90, 0x0E, 0x9E
vertex -43, 162, 15, 0, 0, 0xDF, 0x7A, 0xF8, 0x9E
vertex -57, 128, 108, 0, 0, 0xD3, 0x60, 0x45, 0x9E
vertex 44, 162, 15, 0, 0, 0x21, 0x7A, 0x09, 0x9E
vertex -43, 162, 15, 0, 0, 0xDF, 0x7A, 0xF8, 0x9E
vertex 44, 162, 15, 0, 0, 0x21, 0x7A, 0x09, 0x9E
vertex 42, 130, -88, 0, 0, 0x25, 0x6A, 0xC7, 0x9E
boo_castle_seg6_vertex_060172C0: # 0x060172C0
vertex 125, 99, 15, 0, 0, 0x65, 0x4C, 0x08, 0x9E
vertex 44, 162, 15, 0, 0, 0x21, 0x7A, 0x09, 0x9E
vertex 58, 128, 108, 0, 0, 0x35, 0x58, 0x49, 0x9E
vertex 58, 128, 108, 0, 0, 0x35, 0x58, 0x49, 0x9E
vertex 44, 162, 15, 0, 0, 0x21, 0x7A, 0x09, 0x9E
vertex -57, 128, 108, 0, 0, 0xD3, 0x60, 0x45, 0x9E
vertex 44, 162, 15, 0, 0, 0x21, 0x7A, 0x09, 0x9E
vertex 125, 99, 15, 0, 0, 0x65, 0x4C, 0x08, 0x9E
vertex 42, 130, -88, 0, 0, 0x25, 0x6A, 0xC7, 0x9E
vertex 122, 59, -94, 0, 0, 0x5F, 0x2E, 0xBB, 0x9E
vertex 42, 130, -88, 0, 0, 0x25, 0x6A, 0xC7, 0x9E
vertex 125, 99, 15, 0, 0, 0x65, 0x4C, 0x08, 0x9E
vertex 0, 62, -162, 0, 0, 0x00, 0x5A, 0xA8, 0x9E
vertex 42, 130, -88, 0, 0, 0x25, 0x6A, 0xC7, 0x9E
vertex 122, 59, -94, 0, 0, 0x5F, 0x2E, 0xBB, 0x9E
boo_castle_seg6_vertex_060173B0: # 0x060173B0
vertex -41, 130, -88, 0, 0, 0xD4, 0x65, 0xC3, 0x9E
vertex -43, 162, 15, 0, 0, 0xDF, 0x7A, 0xF8, 0x9E
vertex 42, 130, -88, 0, 0, 0x25, 0x6A, 0xC7, 0x9E
vertex 0, 62, -162, 0, 0, 0x00, 0x5A, 0xA8, 0x9E
vertex -41, 130, -88, 0, 0, 0xD4, 0x65, 0xC3, 0x9E
vertex 42, 130, -88, 0, 0, 0x25, 0x6A, 0xC7, 0x9E
vertex -135, -70, 23, 0, 0, 0xB2, 0xAA, 0x33, 0x9E
vertex -86, -78, 123, 0, 0, 0xAD, 0xC9, 0x4E, 0x9E
vertex -155, 6, 33, 0, 0, 0x87, 0x0F, 0x22, 0x9E
vertex -86, -78, 123, 0, 0, 0xAD, 0xC9, 0x4E, 0x9E
vertex -107, 20, 118, 0, 0, 0xA9, 0x14, 0x59, 0x9E
vertex -155, 6, 33, 0, 0, 0x87, 0x0F, 0x22, 0x9E
vertex -199, -60, 25, 0, 0, 0xA2, 0xBF, 0x36, 0x9E
vertex -127, -69, -89, 0, 0, 0x9C, 0xC6, 0xCE, 0x9E
vertex -135, -70, 23, 0, 0, 0xB2, 0xAA, 0x33, 0x9E
boo_castle_seg6_vertex_060174A0: # 0x060174A0
vertex -107, 20, 118, 0, 0, 0xA9, 0x14, 0x59, 0x9E
vertex -57, 128, 108, 0, 0, 0xD3, 0x60, 0x45, 0x9E
vertex -124, 99, 15, 0, 0, 0x9B, 0x4C, 0x08, 0x9E
vertex -124, 99, 15, 0, 0, 0x9B, 0x4C, 0x08, 0x9E
vertex -155, 6, 33, 0, 0, 0x87, 0x0F, 0x22, 0x9E
vertex -107, 20, 118, 0, 0, 0xA9, 0x14, 0x59, 0x9E
vertex -121, 59, -94, 0, 0, 0xA1, 0x2E, 0xBB, 0x9E
vertex -127, -69, -89, 0, 0, 0x9C, 0xC6, 0xCE, 0x9E
vertex -155, 6, 33, 0, 0, 0x87, 0x0F, 0x22, 0x9E
vertex -121, 59, -94, 0, 0, 0xA1, 0x2E, 0xBB, 0x9E
vertex -155, 6, 33, 0, 0, 0x87, 0x0F, 0x22, 0x9E
vertex -124, 99, 15, 0, 0, 0x9B, 0x4C, 0x08, 0x9E
vertex -199, -60, 25, 0, 0, 0xA2, 0xBF, 0x36, 0x9E
vertex -155, 6, 33, 0, 0, 0x87, 0x0F, 0x22, 0x9E
vertex -127, -69, -89, 0, 0, 0x9C, 0xC6, 0xCE, 0x9E
boo_castle_seg6_vertex_06017590: # 0x06017590
vertex -199, -60, 25, 0, 0, 0xA2, 0xBF, 0x36, 0x9E
vertex -135, -70, 23, 0, 0, 0xB2, 0xAA, 0x33, 0x9E
vertex -155, 6, 33, 0, 0, 0x87, 0x0F, 0x22, 0x9E
vertex 200, -60, 25, 0, 0, 0x5E, 0xBF, 0x36, 0x9E
vertex 128, -69, -89, 0, 0, 0x64, 0xC6, 0xCE, 0x9E
vertex 156, 6, 33, 0, 0, 0x79, 0x0F, 0x22, 0x9E
vertex 108, 20, 118, 0, 0, 0x57, 0x14, 0x5A, 0x9E
vertex 156, 6, 33, 0, 0, 0x79, 0x0F, 0x22, 0x9E
vertex 125, 99, 15, 0, 0, 0x65, 0x4C, 0x08, 0x9E
vertex 125, 99, 15, 0, 0, 0x65, 0x4C, 0x08, 0x9E
vertex 156, 6, 33, 0, 0, 0x79, 0x0F, 0x22, 0x9E
vertex 122, 59, -94, 0, 0, 0x5F, 0x2E, 0xBB, 0x9E
vertex 200, -60, 25, 0, 0, 0x5E, 0xBF, 0x36, 0x9E
vertex 156, 6, 33, 0, 0, 0x79, 0x0F, 0x22, 0x9E
vertex 136, -70, 23, 0, 0, 0x4E, 0xAA, 0x33, 0x9E
boo_castle_seg6_vertex_06017680: # 0x06017680
vertex 156, 6, 33, 0, 0, 0x79, 0x0F, 0x22, 0x9E
vertex 128, -69, -89, 0, 0, 0x64, 0xC6, 0xCE, 0x9E
vertex 122, 59, -94, 0, 0, 0x5F, 0x2E, 0xBB, 0x9E
vertex 200, -60, 25, 0, 0, 0x5E, 0xBF, 0x36, 0x9E
vertex 136, -70, 23, 0, 0, 0x4E, 0xAA, 0x33, 0x9E
vertex 128, -69, -89, 0, 0, 0x64, 0xC6, 0xCE, 0x9E
vertex -43, 162, 15, 0, 0, 0xDF, 0x7A, 0xF8, 0x9E
vertex -41, 130, -88, 0, 0, 0xD4, 0x65, 0xC3, 0x9E
vertex -124, 99, 15, 0, 0, 0x9B, 0x4C, 0x08, 0x9E
vertex -57, 128, 108, 0, 0, 0xD3, 0x60, 0x45, 0x9E
vertex -43, 162, 15, 0, 0, 0xDF, 0x7A, 0xF8, 0x9E
vertex -124, 99, 15, 0, 0, 0x9B, 0x4C, 0x08, 0x9E
vertex 128, -69, -89, 0, 0, 0x64, 0xC6, 0xCE, 0x9E
vertex 46, -82, -160, 0, 0, 0x2E, 0xBA, 0xA2, 0x9E
vertex 122, 59, -94, 0, 0, 0x5F, 0x2E, 0xBB, 0x9E
boo_castle_seg6_vertex_06017770: # 0x06017770
vertex 0, 62, -162, 0, 0, 0x00, 0x5A, 0xA8, 0x9E
vertex 122, 59, -94, 0, 0, 0x5F, 0x2E, 0xBB, 0x9E
vertex 0, 24, -213, 0, 0, 0x00, 0x22, 0x86, 0x9E
vertex 0, 24, -213, 0, 0, 0x00, 0x22, 0x86, 0x9E
vertex 122, 59, -94, 0, 0, 0x5F, 0x2E, 0xBB, 0x9E
vertex 46, -82, -160, 0, 0, 0x2E, 0xBA, 0xA2, 0x9E
vertex 0, 62, -162, 0, 0, 0x00, 0x5A, 0xA8, 0x9E
vertex 0, 24, -213, 0, 0, 0x00, 0x22, 0x86, 0x9E
vertex -121, 59, -94, 0, 0, 0xA1, 0x2E, 0xBB, 0x9E
vertex -121, 59, -94, 0, 0, 0xA1, 0x2E, 0xBB, 0x9E
vertex -41, 130, -88, 0, 0, 0xD4, 0x65, 0xC3, 0x9E
vertex 0, 62, -162, 0, 0, 0x00, 0x5A, 0xA8, 0x9E
vertex 0, 24, -213, 0, 0, 0x00, 0x22, 0x86, 0x9E
vertex 46, -82, -160, 0, 0, 0x2E, 0xBA, 0xA2, 0x9E
vertex -45, -82, -160, 0, 0, 0xC9, 0xC5, 0x9F, 0x9E
boo_castle_seg6_vertex_06017860: # 0x06017860
vertex -45, -82, -160, 0, 0, 0xC9, 0xC5, 0x9F, 0x9E
vertex 46, -82, -160, 0, 0, 0x2E, 0xBA, 0xA2, 0x9E
vertex -59, -126, -86, 0, 0, 0xE1, 0x90, 0xD0, 0x9E
vertex -127, -69, -89, 0, 0, 0x9C, 0xC6, 0xCE, 0x9E
vertex -121, 59, -94, 0, 0, 0xA1, 0x2E, 0xBB, 0x9E
vertex -45, -82, -160, 0, 0, 0xC9, 0xC5, 0x9F, 0x9E
vertex -45, -82, -160, 0, 0, 0xC9, 0xC5, 0x9F, 0x9E
vertex -59, -126, -86, 0, 0, 0xE1, 0x90, 0xD0, 0x9E
vertex -127, -69, -89, 0, 0, 0x9C, 0xC6, 0xCE, 0x9E
vertex 0, 24, -213, 0, 0, 0x00, 0x22, 0x86, 0x9E
vertex -45, -82, -160, 0, 0, 0xC9, 0xC5, 0x9F, 0x9E
vertex -121, 59, -94, 0, 0, 0xA1, 0x2E, 0xBB, 0x9E
vertex -41, 130, -88, 0, 0, 0xD4, 0x65, 0xC3, 0x9E
vertex -121, 59, -94, 0, 0, 0xA1, 0x2E, 0xBB, 0x9E
vertex -124, 99, 15, 0, 0, 0x9B, 0x4C, 0x08, 0x9E
boo_castle_seg6_vertex_06017950: # 0x06017950
vertex -57, 128, 108, 0, 0, 0xD3, 0x60, 0x45, 0x9E
vertex 0, 60, 166, 0, 0, 0x00, 0x26, 0x79, 0x9E
vertex 58, 128, 108, 0, 0, 0x35, 0x58, 0x49, 0x9E
vertex 108, 20, 118, 0, 0, 0x57, 0x14, 0x5A, 0x9E
vertex 125, 99, 15, 0, 0, 0x65, 0x4C, 0x08, 0x9E
vertex 58, 128, 108, 0, 0, 0x35, 0x58, 0x49, 0x9E
vertex 136, -70, 23, 0, 0, 0x4E, 0xAA, 0x33, 0x9E
vertex 156, 6, 33, 0, 0, 0x79, 0x0F, 0x22, 0x9E
vertex 87, -78, 123, 0, 0, 0x53, 0xC9, 0x4E, 0x9E
vertex 108, 20, 118, 0, 0, 0x57, 0x14, 0x5A, 0x9E
vertex 87, -78, 123, 0, 0, 0x53, 0xC9, 0x4E, 0x9E
vertex 156, 6, 33, 0, 0, 0x79, 0x0F, 0x22, 0x9E
glabel boo_castle_seg6_dl_06017A10 # 0x06017A10 - 0x06017A78
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, boo_castle_seg6_texture_06016670
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x3FF, 0x100
gsSPLight boo_castle_seg6_light_06015660, 1
gsSPLight boo_castle_seg6_light_06015658, 2
gsSPVertex boo_castle_seg6_vertex_06016E70, 12, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSPEndDisplayList
glabel boo_castle_seg6_dl_06017A78 # 0x06017A78 - 0x06017AD0
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, boo_castle_seg6_texture_06015670
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x7FF, 0x080
gsSPVertex boo_castle_seg6_vertex_06016F30, 12, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSPEndDisplayList
glabel boo_castle_seg6_dl_06017AD0 # 0x06017AD0 - 0x06017CE0
gsSPVertex boo_castle_seg6_vertex_06016FF0, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_castle_seg6_vertex_060170E0, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_castle_seg6_vertex_060171D0, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_castle_seg6_vertex_060172C0, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_castle_seg6_vertex_060173B0, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_castle_seg6_vertex_060174A0, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_castle_seg6_vertex_06017590, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_castle_seg6_vertex_06017680, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_castle_seg6_vertex_06017770, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_castle_seg6_vertex_06017860, 15, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSP1Triangle 12, 13, 14, 0x0
gsSPVertex boo_castle_seg6_vertex_06017950, 12, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSPEndDisplayList
glabel boo_castle_seg6_dl_06017CE0 # 0x06017CE0 - 0x06017D80
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_TEXEL0, G_CCMUX_SHADE, G_CCMUX_TEXEL0_ALPHA, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_ENVIRONMENT
gsSPNumLights NUMLIGHTS_0 # I cannot tell if they meant to put 0 or 1 here.
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 124, 124
gsSPDisplayList boo_castle_seg6_dl_06017A10
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 6, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 252, 124
gsSPDisplayList boo_castle_seg6_dl_06017A78
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_ENVIRONMENT
gsSPDisplayList boo_castle_seg6_dl_06017AD0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsDPSetEnvColor 255, 255, 255, 255
gsSPEndDisplayList

BIN
actors/book/0.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 1.7 KiB

2
actors/book/collision.s

@ -0,0 +1,2 @@
# Book (Pushable Book)

6
actors/book/geo.s

@ -0,0 +1,6 @@
glabel bookend_geo # 0x0C0000C0
geo_start_distance 300
geo_open_node
geo_display_list LAYER_OPAQUE, book_seg5_dl_05002FB0
geo_close_node
geo_end

83
actors/book/model.s

@ -0,0 +1,83 @@
# Book (Pushable Book)
# This actor file requires including actor bookend because of bookend_seg5_texture_05000C60
book_seg5_light_05002558: # 0x05002558
.byte 0x7F, 0x7F, 0x7F, 0x00, 0x7F, 0x7F, 0x7F, 0x00
book_seg5_light_05002560: # 0x05002560
.byte 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
book_seg5_texture_05002570: # 0x05002570
.incbin "actors/book/0.rgba16"
book_seg5_vertex_05002D70: # 0x05002D70
vertex -9, 31, -50, 990, 0, 0x00, 0x7F, 0x00, 0xFF
vertex 10, 31, 0, 0, 990, 0x00, 0x7F, 0x00, 0xFF
vertex 10, 31, -50, 0, 0, 0x00, 0x7F, 0x00, 0xFF
vertex -9, 31, 0, 479, 990, 0x00, 0x7F, 0x00, 0xFF
vertex 10, -30, -50, 0, 990, 0x00, 0x81, 0x00, 0xFF
vertex 10, -30, 0, 0, 0, 0x00, 0x81, 0x00, 0xFF
vertex -9, -30, 0, 479, 0, 0x00, 0x81, 0x00, 0xFF
vertex -9, -30, -50, 990, 990, 0x00, 0x81, 0x00, 0xFF
vertex 10, -30, -50, 0, 990, 0x00, 0x00, 0x81, 0xFF
vertex -9, 31, -50, 990, 0, 0x00, 0x00, 0x81, 0xFF
vertex 10, 31, -50, 0, 0, 0x00, 0x00, 0x81, 0xFF
vertex -9, -30, -50, 990, 990, 0x00, 0x00, 0x81, 0xFF
book_seg5_vertex_05002E30: # 0x05002E30
vertex 10, 31, 0, 990, 0, 0x00, 0x00, 0x7F, 0xFF
vertex -9, 31, 0, 0, 0, 0x00, 0x00, 0x7F, 0xFF
vertex -9, -30, 0, 0, 990, 0x00, 0x00, 0x7F, 0xFF
vertex 10, -30, 0, 990, 990, 0x00, 0x00, 0x7F, 0xFF
vertex -9, -30, -50, 990, 990, 0x81, 0x00, 0x00, 0xFF
vertex -9, 31, 0, 0, 0, 0x81, 0x00, 0x00, 0xFF
vertex -9, 31, -50, 990, 0, 0x81, 0x00, 0x00, 0xFF
vertex -9, -30, 0, 0, 990, 0x81, 0x00, 0x00, 0xFF
vertex 10, 31, -50, 990, 0, 0x7F, 0x00, 0x00, 0xFF
vertex 10, 31, 0, 0, 0, 0x7F, 0x00, 0x00, 0xFF
vertex 10, -30, 0, 0, 990, 0x7F, 0x00, 0x00, 0xFF
vertex 10, -30, -50, 990, 990, 0x7F, 0x00, 0x00, 0xFF
glabel book_seg5_dl_05002EF0 # 0x05002EF0 - 0x05002F58
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bookend_seg5_texture_05000C60
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x1FF, 0x200
gsSPLight book_seg5_light_05002560, 1
gsSPLight book_seg5_light_05002558, 2
gsSPVertex book_seg5_vertex_05002D70, 12, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 3, 1, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 4, 6, 7, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 8, 11, 9, 0x0
gsSPEndDisplayList
glabel book_seg5_dl_05002F58 # 0x05002F58 - 0x05002FB0
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, book_seg5_texture_05002570
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x3FF, 0x100
gsSPVertex book_seg5_vertex_05002E30, 12, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 4, 7, 5, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 8, 10, 11, 0x0
gsSPEndDisplayList
glabel book_seg5_dl_05002FB0 # 0x05002FB0 - 0x05003040
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_TEXEL0, G_CCMUX_0, G_CCMUX_SHADE, G_CCMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPClearGeometryMode G_SHADING_SMOOTH
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 4, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 60, 124
gsSPDisplayList book_seg5_dl_05002EF0
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 124, 124
gsSPDisplayList book_seg5_dl_05002F58
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPSetGeometryMode G_SHADING_SMOOTH
gsSPEndDisplayList

BIN
actors/bookend/0.rgba16.png

After

Width: 16  |  Height: 32  |  Size: 1.3 KiB

BIN
actors/bookend/1.rgba16.png

After

Width: 16  |  Height: 32  |  Size: 184 B

BIN
actors/bookend/2.rgba16.png

After

Width: 16  |  Height: 32  |  Size: 1.3 KiB

BIN
actors/bookend/3.rgba16.png

After

Width: 16  |  Height: 32  |  Size: 555 B

BIN
actors/bookend/4.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 1.7 KiB

2
actors/bookend/collision.s

@ -0,0 +1,2 @@
# Bookend

27
actors/bookend/geo.s

@ -0,0 +1,27 @@
glabel bookend_part_geo # 0x0C000000
geo_shadow SHADOW_CIRCLE_4_VERTS, 0x96, 100
geo_open_node
geo_scale 0x00, 16384
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bookend_seg5_dl_05001F98
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bookend_seg5_dl_05001B20
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bookend_seg5_dl_05002140
geo_close_node
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bookend_seg5_dl_05001D68
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bookend_seg5_dl_05001978
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bookend_seg5_dl_050022E0
geo_close_node
geo_close_node
geo_close_node
geo_close_node
geo_close_node #! more close than open nodes
geo_end

455
actors/bookend/model.s

@ -0,0 +1,455 @@
# Bookend
# Unreferenced Light
.byte 0x3F, 0x3F, 0x3F, 0x00, 0x3F, 0x3F, 0x3F, 0x00
.byte 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
# Unreferenced Light
.byte 0x03, 0x19, 0x09, 0x00, 0x03, 0x19, 0x09, 0x00
.byte 0x0C, 0x66, 0x26, 0x00, 0x0C, 0x66, 0x26, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
# Unreferenced Light
.byte 0x3F, 0x3F, 0x3F, 0x00, 0x3F, 0x3F, 0x3F, 0x00
.byte 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
# Unreferenced Light
.byte 0x3F, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00
.byte 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
bookend_seg5_texture_05000060: # 0x05000060
.incbin "actors/bookend/0.rgba16"
bookend_seg5_texture_05000460: # 0x05000460
.incbin "actors/bookend/1.rgba16"
bookend_seg5_texture_05000860: # 0x05000860
.incbin "actors/bookend/2.rgba16"
bookend_seg5_texture_05000C60: # 0x05000C60
.incbin "actors/bookend/3.rgba16"
bookend_seg5_texture_05001060: # 0x05001060
.incbin "actors/bookend/4.rgba16"
bookend_seg5_light_05001860: # 0x05001860
.byte 0x66, 0x66, 0x66, 0x00, 0x66, 0x66, 0x66, 0x00
bookend_seg5_light_05001868: # 0x05001868
.byte 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
bookend_seg5_vertex_05001878: # 0x05001878
vertex -10, 0, 108, 0, 990, 0x83, 0xED, 0x00, 0xFF
vertex -4, -39, -109, 479, 0, 0x83, 0xED, 0x00, 0xFF
vertex -4, -39, 108, 479, 990, 0x83, 0xED, 0x00, 0xFF
vertex -10, 0, -109, 0, 0, 0x83, 0xED, 0x00, 0xFF
bookend_seg5_vertex_050018B8: # 0x050018B8
vertex -4, -39, -109, 479, 0, 0x00, 0x81, 0x00, 0xFF
vertex 185, -39, 108, 0, 990, 0x00, 0x81, 0x00, 0xFF
vertex -4, -39, 108, 479, 990, 0x00, 0x81, 0x00, 0xFF
vertex 185, -39, -109, 0, 0, 0x00, 0x81, 0x00, 0xFF
glabel bookend_seg5_dl_050018F8 # 0x050018F8 - 0x05001940
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bookend_seg5_texture_05000060
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x1FF, 0x200
gsSPLight bookend_seg5_light_05001868, 1
gsSPLight bookend_seg5_light_05001860, 2
gsSPVertex bookend_seg5_vertex_05001878, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 3, 1, 0x0
gsSPEndDisplayList
glabel bookend_seg5_dl_05001940 # 0x05001940 - 0x05001978
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bookend_seg5_texture_05001060
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x3FF, 0x100
gsSPVertex bookend_seg5_vertex_050018B8, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 3, 1, 0x0
gsSPEndDisplayList
glabel bookend_seg5_dl_05001978 # 0x05001978 - 0x05001A08
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_TEXEL0, G_CCMUX_0, G_CCMUX_SHADE, G_CCMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPClearGeometryMode G_CULL_BACK | G_SHADING_SMOOTH
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 4, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 60, 124
gsSPDisplayList bookend_seg5_dl_050018F8
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 124, 124
gsSPDisplayList bookend_seg5_dl_05001940
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPSetGeometryMode G_CULL_BACK | G_SHADING_SMOOTH
gsSPEndDisplayList
bookend_seg5_light_05001A08: # 0x05001A08
.byte 0x66, 0x66, 0x66, 0x00, 0x66, 0x66, 0x66, 0x00
bookend_seg5_light_05001A10: # 0x05001A10
.byte 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
bookend_seg5_vertex_05001A20: # 0x05001A20
vertex -4, -39, -107, 479, 990, 0x83, 0xED, 0x00, 0xFF
vertex -4, -39, 110, 479, 0, 0x83, 0xED, 0x00, 0xFF
vertex -10, 0, 110, 0, 0, 0x83, 0xED, 0x00, 0xFF
vertex -10, 0, -107, 0, 990, 0x83, 0xED, 0x00, 0xFF
bookend_seg5_vertex_05001A60: # 0x05001A60
vertex -4, -39, -107, 0, 990, 0x00, 0x81, 0x00, 0xFF
vertex 185, -39, 110, 990, 0, 0x00, 0x81, 0x00, 0xFF
vertex -4, -39, 110, 0, 0, 0x00, 0x81, 0x00, 0xFF
vertex 185, -39, -107, 990, 990, 0x00, 0x81, 0x00, 0xFF
glabel bookend_seg5_dl_05001AA0 # 0x05001AA0 - 0x05001AE8
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bookend_seg5_texture_05000060
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x1FF, 0x200
gsSPLight bookend_seg5_light_05001A10, 1
gsSPLight bookend_seg5_light_05001A08, 2
gsSPVertex bookend_seg5_vertex_05001A20, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSPEndDisplayList
glabel bookend_seg5_dl_05001AE8 # 0x05001AE8 - 0x05001B20
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bookend_seg5_texture_05001060
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x3FF, 0x100
gsSPVertex bookend_seg5_vertex_05001A60, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 3, 1, 0x0
gsSPEndDisplayList
glabel bookend_seg5_dl_05001B20 # 0x05001B20 - 0x05001BB0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_TEXEL0, G_CCMUX_0, G_CCMUX_SHADE, G_CCMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPClearGeometryMode G_CULL_BACK | G_SHADING_SMOOTH
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 4, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 60, 124
gsSPDisplayList bookend_seg5_dl_05001AA0
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 124, 124
gsSPDisplayList bookend_seg5_dl_05001AE8
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPSetGeometryMode G_CULL_BACK | G_SHADING_SMOOTH
gsSPEndDisplayList
bookend_seg5_light_05001BB0: # 0x05001BB0
.byte 0x66, 0x66, 0x66, 0x00, 0x66, 0x66, 0x66, 0x00
bookend_seg5_light_05001BB8: # 0x05001BB8
.byte 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
bookend_seg5_vertex_05001BC8: # 0x05001BC8
vertex -10, 0, 103, 0, 990, 0x00, 0x7F, 0x00, 0xFF
vertex 159, 0, -104, 479, 0, 0x00, 0x7F, 0x00, 0xFF
vertex -10, 0, -104, 0, 0, 0x00, 0x7F, 0x00, 0xFF
vertex 159, 0, 103, 479, 990, 0x00, 0x7F, 0x00, 0xFF
bookend_seg5_vertex_05001C08: # 0x05001C08
vertex 159, 0, 103, 0, -6, 0x00, 0x00, 0x7F, 0xFF
vertex -10, 0, 103, 0, 990, 0x00, 0x00, 0x7F, 0xFF
vertex -4, -38, 103, 479, 990, 0x00, 0x00, 0x7F, 0xFF
vertex 170, -38, 103, 479, 0, 0x00, 0x00, 0x7F, 0xFF
vertex 159, 0, -104, 0, 0, 0x79, 0x23, 0x00, 0xFF
vertex 159, 0, 103, 0, 990, 0x79, 0x23, 0x00, 0xFF
vertex 170, -38, 103, 479, 990, 0x79, 0x23, 0x00, 0xFF
vertex 170, -38, -104, 479, 0, 0x79, 0x23, 0x00, 0xFF
vertex -10, 0, -104, 0, -6, 0x00, 0x00, 0x81, 0xFF
vertex 159, 0, -104, 0, 990, 0x00, 0x00, 0x81, 0xFF
vertex 170, -38, -104, 479, 990, 0x00, 0x00, 0x81, 0xFF
vertex -4, -38, -104, 479, 0, 0x00, 0x00, 0x81, 0xFF
glabel bookend_seg5_dl_05001CC8 # 0x05001CC8 - 0x05001D10
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bookend_seg5_texture_05000860
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x1FF, 0x200
gsSPLight bookend_seg5_light_05001BB8, 1
gsSPLight bookend_seg5_light_05001BB0, 2
gsSPVertex bookend_seg5_vertex_05001BC8, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 3, 1, 0x0
gsSPEndDisplayList
glabel bookend_seg5_dl_05001D10 # 0x05001D10 - 0x05001D68
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bookend_seg5_texture_05000C60
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x1FF, 0x200
gsSPVertex bookend_seg5_vertex_05001C08, 12, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 4, 6, 7, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 8, 10, 11, 0x0
gsSPEndDisplayList
glabel bookend_seg5_dl_05001D68 # 0x05001D68 - 0x05001DE0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_TEXEL0, G_CCMUX_0, G_CCMUX_SHADE, G_CCMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPClearGeometryMode G_SHADING_SMOOTH
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 4, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 60, 124
gsSPDisplayList bookend_seg5_dl_05001CC8
gsSPDisplayList bookend_seg5_dl_05001D10
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPSetGeometryMode G_SHADING_SMOOTH
gsSPEndDisplayList
bookend_seg5_light_05001DE0: # 0x05001DE0
.byte 0x66, 0x66, 0x66, 0x00, 0x66, 0x66, 0x66, 0x00
bookend_seg5_light_05001DE8: # 0x05001DE8
.byte 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
bookend_seg5_vertex_05001DF8: # 0x05001DF8
vertex -10, 0, 105, 0, 0, 0x00, 0x7F, 0x00, 0xFF
vertex 159, 0, -102, 479, 990, 0x00, 0x7F, 0x00, 0xFF
vertex -10, 0, -102, 0, 990, 0x00, 0x7F, 0x00, 0xFF
vertex 159, 0, 105, 479, 0, 0x00, 0x7F, 0x00, 0xFF
bookend_seg5_vertex_05001E38: # 0x05001E38
vertex 170, -38, -102, 479, 990, 0x00, 0x00, 0x81, 0xFF
vertex -4, -38, -102, 479, 0, 0x00, 0x00, 0x81, 0xFF
vertex -10, 0, -102, 0, -6, 0x00, 0x00, 0x81, 0xFF
vertex 159, 0, -102, 0, 990, 0x00, 0x00, 0x81, 0xFF
vertex 170, -38, 105, 479, 990, 0x79, 0x23, 0x00, 0xFF
vertex 170, -38, -102, 479, 0, 0x79, 0x23, 0x00, 0xFF
vertex 159, 0, -102, 0, 0, 0x79, 0x23, 0x00, 0xFF
vertex 159, 0, 105, 0, 990, 0x79, 0x23, 0x00, 0xFF
vertex -4, -38, 105, 479, 990, 0x00, 0x00, 0x7F, 0xFF
vertex 170, -38, 105, 479, 0, 0x00, 0x00, 0x7F, 0xFF
vertex 159, 0, 105, 0, -6, 0x00, 0x00, 0x7F, 0xFF
vertex -10, 0, 105, 0, 990, 0x00, 0x00, 0x7F, 0xFF
glabel bookend_seg5_dl_05001EF8 # 0x05001EF8 - 0x05001F40
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bookend_seg5_texture_05000860
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x1FF, 0x200
gsSPLight bookend_seg5_light_05001DE8, 1
gsSPLight bookend_seg5_light_05001DE0, 2
gsSPVertex bookend_seg5_vertex_05001DF8, 4, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 3, 1, 0x0
gsSPEndDisplayList
glabel bookend_seg5_dl_05001F40 # 0x05001F40 - 0x05001F98
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bookend_seg5_texture_05000C60
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x1FF, 0x200
gsSPVertex bookend_seg5_vertex_05001E38, 12, 0
gsSP2Triangles 0, 1, 2, 0x0, 0, 2, 3, 0x0
gsSP2Triangles 4, 5, 6, 0x0, 4, 6, 7, 0x0
gsSP2Triangles 8, 9, 10, 0x0, 8, 10, 11, 0x0
gsSPEndDisplayList
glabel bookend_seg5_dl_05001F98 # 0x05001F98 - 0x05002010
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_TEXEL0, G_CCMUX_0, G_CCMUX_SHADE, G_CCMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPClearGeometryMode G_SHADING_SMOOTH
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_CLAMP | G_TX_NOMIRROR, 4, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 60, 124
gsSPDisplayList bookend_seg5_dl_05001EF8
gsSPDisplayList bookend_seg5_dl_05001F40
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPSetGeometryMode G_SHADING_SMOOTH
gsSPEndDisplayList
bookend_seg5_light_05002010: # 0x05002010
.byte 0x66, 0x66, 0x66, 0x00, 0x66, 0x66, 0x66, 0x00
bookend_seg5_light_05002018: # 0x05002018
.byte 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
bookend_seg5_vertex_05002028: # 0x05002028
vertex 157, -1, -48, 6, 358, 0x83, 0xEE, 0x00, 0xFF
vertex 151, 39, -72, 475, 624, 0x83, 0xEE, 0x00, 0xFF
vertex 157, -1, -99, 372, -1002, 0x83, 0xEE, 0x00, 0xFF
vertex 157, -1, 0, 106, 390, 0x83, 0xEE, 0x00, 0xFF
vertex 151, 39, -24, 465, 636, 0x83, 0xEE, 0x00, 0xFF
vertex 157, -1, -48, 461, -950, 0x83, 0xEE, 0x00, 0xFF
vertex 157, -1, 51, -54, 352, 0x83, 0xEE, 0x00, 0xFF
vertex 151, 39, 26, 478, 570, 0x83, 0xEE, 0x00, 0xFF
vertex 157, -1, 0, 446, -978, 0x83, 0xEE, 0x00, 0xFF
vertex 157, -1, 103, 66, 302, 0x83, 0xEE, 0x00, 0xFF
vertex 151, 39, 78, 495, 590, 0x83, 0xEE, 0x00, 0xFF
vertex 157, -1, 51, 462, -962, 0x83, 0xEE, 0x00, 0xFF
glabel bookend_seg5_dl_050020E8 # 0x050020E8 - 0x05002140
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bookend_seg5_texture_05000460
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x1FF, 0x200
gsSPLight bookend_seg5_light_05002018, 1
gsSPLight bookend_seg5_light_05002010, 2
gsSPVertex bookend_seg5_vertex_05002028, 12, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSPEndDisplayList
glabel bookend_seg5_dl_05002140 # 0x05002140 - 0x050021B0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_TEXEL0, G_CCMUX_0, G_CCMUX_SHADE, G_CCMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPClearGeometryMode G_CULL_BACK
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 4, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 60, 124
gsSPDisplayList bookend_seg5_dl_050020E8
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPSetGeometryMode G_CULL_BACK
gsSPEndDisplayList
bookend_seg5_light_050021B0: # 0x050021B0
.byte 0x66, 0x66, 0x66, 0x00, 0x66, 0x66, 0x66, 0x00
bookend_seg5_light_050021B8: # 0x050021B8
.byte 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00
.byte 0x28, 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00
bookend_seg5_vertex_050021C8: # 0x050021C8
vertex 157, -1, 100, 32, 394, 0x83, 0xEE, 0x00, 0xFF
vertex 151, 39, 73, 426, 774, 0x83, 0xEE, 0x00, 0xFF
vertex 157, -1, 49, 414, -722, 0x83, 0xEE, 0x00, 0xFF
vertex 157, -1, 49, -39, 392, 0x83, 0xEE, 0x00, 0xFF
vertex 151, 39, 25, 457, 852, 0x83, 0xEE, 0x00, 0xFF
vertex 157, -1, 0, 363, -564, 0x83, 0xEE, 0x00, 0xFF
vertex 157, -1, 0, -1, 360, 0x83, 0xEE, 0x00, 0xFF
vertex 151, 39, -25, 473, 906, 0x83, 0xEE, 0x00, 0xFF
vertex 157, -1, -50, 372, -932, 0x83, 0xEE, 0x00, 0xFF
vertex 157, -1, -50, 12, 240, 0x83, 0xEE, 0x00, 0xFF
vertex 151, 39, -77, 491, 632, 0x83, 0xEE, 0x00, 0xFF
vertex 157, -1, -102, 365, -1004, 0x83, 0xEE, 0x00, 0xFF
glabel bookend_seg5_dl_05002288 # 0x05002288 - 0x050022E0
gsDPSetTextureImage G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bookend_seg5_texture_05000460
gsDPLoadSync
gsDPLoadBlock 7, 0, 0, 0x1FF, 0x200
gsSPLight bookend_seg5_light_050021B8, 1
gsSPLight bookend_seg5_light_050021B0, 2
gsSPVertex bookend_seg5_vertex_050021C8, 12, 0
gsSP2Triangles 0, 1, 2, 0x0, 3, 4, 5, 0x0
gsSP2Triangles 6, 7, 8, 0x0, 9, 10, 11, 0x0
gsSPEndDisplayList
glabel bookend_seg5_dl_050022E0 # 0x050022E0 - 0x05002350
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_TEXEL0, G_CCMUX_0, G_CCMUX_SHADE, G_CCMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPClearGeometryMode G_CULL_BACK
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD
gsSPTexture -1, -1, 0, 0, 1
gsDPTileSync
gsDPSetTile G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 4, G_TX_NOLOD
gsDPSetTileSize 0, 0, 0, 60, 124
gsSPDisplayList bookend_seg5_dl_05002288
gsSPTexture -1, -1, 0, 0, 0
gsDPPipeSync
gsDPSetCombineMode1Cycle G_CCMUX_0, G_CCMUX_0, G_CCMUX_0, G_CCMUX_SHADE, G_ACMUX_0, G_ACMUX_0, G_ACMUX_0, G_ACMUX_SHADE
gsSPSetGeometryMode G_CULL_BACK
gsSPEndDisplayList
bookend_seg5_animvalue_05002350: # 0x05002350
.hword 0x0000, 0xC001, 0x071C, 0x0D90, 0x198B, 0x1FFF, 0x198B, 0x0D90
.hword 0x0AAA, 0x1032, 0x1A77, 0x1FFF, 0x1A77, 0x1032, 0x3FFF, 0x8001
bookend_seg5_animindex_05002370: # 0x05002370
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0001
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0006, 0x0002, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x000E, 0x0001, 0x000F
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0006, 0x0008
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000
bookend_seg5_anim_050023F4: # 0x050023F4
.hword 0
.hword 0
.hword 0
.hword 0
.hword 0x06
.hword 0x0A
.word bookend_seg5_animvalue_05002350
.word bookend_seg5_animindex_05002370
.word 0
bookend_seg5_animvalue_0500240C: # 0x0500240C
.hword 0x0000, 0xC001, 0x3FFF, 0x3FFF, 0x3FFF, 0x3FFF, 0x3FFF, 0x3FFF
.hword 0x3FFF, 0x3FFF, 0x3FFF, 0x3FFF, 0x3FFF, 0x3FFF, 0x3FFF, 0x3FFF
.hword 0x3FFF, 0x3CB4, 0x381F, 0x3282, 0x2C20, 0x253E, 0x1E1D, 0x1701
.hword 0x102D, 0x09E4, 0x0469, 0x0000, 0xFEFB, 0x01A8, 0x0549, 0x071C
.hword 0x3FFF, 0x3FFF, 0x3FFF, 0x3FFF, 0x3FFF, 0x3FFF, 0x3FFF, 0x3FFF
.hword 0x3FFF, 0x3FFF, 0x3FFF, 0x3FFF, 0x3FFF, 0x3FFF, 0x3FFF, 0x3CAF
.hword 0x380D, 0x325E, 0x2BE8, 0x24F3, 0x1DC3, 0x169F, 0x0FCD, 0x0993
.hword 0x0437, 0x0000, 0xFFAB, 0x038E, 0x0855, 0x0AAA, 0x3FFF, 0x8001
bookend_seg5_animindex_0500248C: # 0x0500248C
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0001
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x001E, 0x0002, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x003E, 0x0001, 0x003F
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x001E, 0x0020
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000
.hword 0x0001, 0x0000
bookend_seg5_anim_05002510: # 0x05002510
.hword 0
.hword 0
.hword 0
.hword 0
.hword 0x1E
.hword 0x0A
.word bookend_seg5_animvalue_0500240C
.word bookend_seg5_animindex_0500248C
.word 0
# what the hell? no values/indexes for the table?
bookend_seg5_anim_05002528: # 0x05002528
.hword 0
.hword 0
.hword 0
.hword 0
.hword 0x01
.hword 0x0A
.word bookend_seg5_animvalue_0500240C
.word bookend_seg5_animindex_0500248C
.word 0
glabel bookend_seg5_anims_05002540 # 0x05002540
.word bookend_seg5_anim_05002528
.word bookend_seg5_anim_050023F4
.word bookend_seg5_anim_05002510
.word 0

2
actors/bowling_ball/collision.s

@ -0,0 +1,2 @@
# Bowling Ball

23
actors/bowling_ball/geo.s

@ -0,0 +1,23 @@
# This is a weird file where it cross-references another actor.
# Most likely, it was a compile time optimization due to the
# exact same DL being referenced.
glabel bowling_ball_geo # 0x0F000640
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
glabel bowling_ball2_geo # 0x0F00066C
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

5
actors/bowling_ball/model.s

@ -0,0 +1,5 @@
# Bowling Ball
# This one is weird. Instead of it including the DLs for a bowling ball, the game decides
# to reference the bobomb DLs instead. Most likely a compile-time optimization, but this
# is definitely a distinct actor due to the geo-layouts.

BIN
actors/bowser/0.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 2.6 KiB

BIN
actors/bowser/1.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 3.4 KiB

BIN
actors/bowser/10.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 3.4 KiB

BIN
actors/bowser/11.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 162 B

BIN
actors/bowser/12.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 1.6 KiB

BIN
actors/bowser/13.rgba16.png

After

Width: 32  |  Height: 64  |  Size: 2.3 KiB

BIN
actors/bowser/14.rgba16.png

After

Width: 32  |  Height: 64  |  Size: 2.5 KiB

BIN
actors/bowser/15.rgba16.png

After

Width: 32  |  Height: 64  |  Size: 1.2 KiB

BIN
actors/bowser/16.rgba16.png

After

Width: 32  |  Height: 64  |  Size: 1.9 KiB

BIN
actors/bowser/17.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 3.9 KiB

BIN
actors/bowser/18.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 3.6 KiB

BIN
actors/bowser/19.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 3.2 KiB

BIN
actors/bowser/2.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 1.6 KiB

BIN
actors/bowser/20.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 3.8 KiB

BIN
actors/bowser/21.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 3.7 KiB

BIN
actors/bowser/22.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 3.7 KiB

BIN
actors/bowser/23.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 3.9 KiB

BIN
actors/bowser/24.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 3.6 KiB

BIN
actors/bowser/25.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 3.2 KiB

BIN
actors/bowser/26.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 3.8 KiB

BIN
actors/bowser/27.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 3.7 KiB

BIN
actors/bowser/28.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 3.7 KiB

BIN
actors/bowser/3.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 2.4 KiB

BIN
actors/bowser/4.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 1.5 KiB

BIN
actors/bowser/5.rgba16.png

After

Width: 64  |  Height: 32  |  Size: 2.3 KiB

BIN
actors/bowser/6.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 1.1 KiB

BIN
actors/bowser/7.rgba16.png

After

Width: 32  |  Height: 64  |  Size: 1.8 KiB

BIN
actors/bowser/8.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 666 B

BIN
actors/bowser/9.rgba16.png

After

Width: 32  |  Height: 32  |  Size: 339 B

2
actors/bowser/collision.s

@ -0,0 +1,2 @@
# Bowser (King Koopa)

411
actors/bowser/geo.s

@ -0,0 +1,411 @@
glabel bowser_geo_0000D8 # 0x0D0000D8
geo_shadow SHADOW_CIRCLE_9_VERTS, 0x9B, 400
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06040210
geo_open_node
geo_dl_translated LAYER_OPAQUE, -89, -2, -18
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 69, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 85, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603D200
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603E6B8
geo_close_node
geo_close_node
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, -32, -112
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06043698
geo_asm 0, Geo18_802B798C
geo_close_node
geo_close_node
geo_dl_translated LAYER_OPAQUE, 118, 67, 105
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 65, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 49, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603B208
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060399D8
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060392E0
geo_close_node
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 136, 130
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 61, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, -13, 258, 0, bowser_seg6_dl_060431F0
geo_close_node
geo_switch_case 9, geo_switch_bowser_eyes
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042348
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060423A0
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060423F8
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042450
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060424A8
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042500
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042558
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_060425B0
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_06042608
geo_close_node
geo_close_node
geo_close_node
geo_dl_translated LAYER_OPAQUE, -118, 67, 105
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 65, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 49, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603DFB0
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603C6D0
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603BFC8
geo_close_node
geo_close_node
geo_dl_translated LAYER_OPAQUE, 89, -2, -18
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 69, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 85, 0, 0
geo_open_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603A4E8
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0, bowser_seg6_dl_0603B8D0
geo_close_node
geo_close_node
geo_close_node
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_dl_translated LAYER_OPAQUE, 0, 0, 0
geo_close_node
geo_close_node
geo_return
glabel bowser_geo_000424 # 0x0D000424
geo_shadow SHADOW_CIRCLE_9_VERTS, 0x9B, 400
geo_open_node
.ifdef VERSION_JP
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040210
.else
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040358
.endif
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, -89, -2, -18
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 69, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 85, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603D200
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603E6B8
geo_close_node
geo_close_node
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 0, -32, -112
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06043698
geo_asm 0, Geo18_802B798C
geo_close_node
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 118, 67, 105
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 65, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 49, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B208
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060399D8
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060392E0
geo_close_node
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 0, 136, 130
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 61, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, -13, 258, 0, bowser_seg6_dl_060431F0
geo_close_node
geo_switch_case 9, geo_switch_bowser_eyes
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042348
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060423A0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060423F8
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042450
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060424A8
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042500
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042558
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060425B0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042608
geo_close_node
geo_close_node
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, -118, 67, 105
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 65, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 49, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603DFB0
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603C6D0
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603BFC8
geo_close_node
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 89, -2, -18
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 69, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 85, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603A4E8
geo_close_node
.ifdef VERSION_JP
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B8D0
.else
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B948
.endif
geo_close_node
geo_close_node
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_close_node
geo_close_node
geo_return
glabel bowser_geo_000770 # 0x0D000770
geo_node_start
geo_open_node
.ifdef VERSION_JP
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040210
.else
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06040358
.endif
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, -89, -2, -18
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 69, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 85, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603D200
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603E6B8
geo_close_node
geo_close_node
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 0, -32, -112
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06043698
geo_asm 0, Geo18_802B798C
geo_close_node
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 118, 67, 105
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 65, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 49, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B208
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060399D8
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060392E0
geo_close_node
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 0, 136, 130
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 61, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, -13, 258, 0, bowser_seg6_dl_060431F0
geo_close_node
geo_switch_case 9, geo_switch_bowser_eyes
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042348
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060423A0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060423F8
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042450
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060424A8
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042500
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042558
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_060425B0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_06042608
geo_close_node
geo_close_node
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, -118, 67, 105
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 65, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 49, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603DFB0
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603C6D0
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603BFC8
geo_close_node
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 89, -2, -18
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 69, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 85, 0, 0
geo_open_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603A4E8
geo_close_node
.ifdef VERSION_JP
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B8D0
.else
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0, bowser_seg6_dl_0603B948
.endif
geo_close_node
geo_close_node
geo_close_node
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_dl_translated LAYER_TRANSPARENT, 0, 0, 0
geo_close_node
geo_close_node
geo_return
.ifdef VERSION_US
glabel bowser_shadow_geo # 0x0D000AB8
geo_shadow 0x00, 0x9B, 400
geo_return
.endif
glabel bowser_geo # 0x0D000AB8 / 0AC4
geo_node_start
geo_open_node
geo_asm 0, Geo18_8029D924
.ifdef VERSION_JP
geo_switch_case 2, geo_switch_anim_state
.endif
.ifdef VERSION_US
geo_switch_case 3, geo_switch_anim_state
.endif
geo_open_node
geo_node_start
geo_open_node
geo_asm 0, Geo18_802B7D44
geo_branch 1, bowser_geo_0000D8
geo_close_node
geo_node_start
geo_open_node
geo_asm 0, Geo18_802B7D44
geo_branch 1, bowser_geo_000424
geo_close_node
.ifdef VERSION_US
geo_node_start
geo_open_node
geo_asm 0, Geo18_802B7D44
geo_branch 1, bowser_shadow_geo
geo_close_node
.endif
geo_close_node
geo_close_node
geo_end
glabel bowser2_geo # 0x0D000B18 / 0B40
geo_node_start
geo_open_node
geo_asm 0, Geo18_8029D924
.ifdef VERSION_JP
geo_switch_case 2, geo_switch_anim_state
.endif
.ifdef VERSION_US
geo_switch_case 3, geo_switch_anim_state
.endif
geo_open_node
geo_node_start
geo_open_node
geo_asm 0, Geo18_802B7D44
geo_branch 1, bowser_geo_0000D8
geo_close_node
geo_node_start
geo_open_node
geo_asm 0, Geo18_802B7D44
geo_branch 1, bowser_geo_000770
geo_close_node
.ifdef VERSION_US
geo_node_start
geo_open_node
geo_asm 0, Geo18_802B7D44
geo_branch 1, bowser_shadow_geo
geo_close_node
.endif
geo_close_node
geo_close_node
geo_end

9294
actors/bowser/model.s
File diff suppressed because it is too large
View File

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

Loading…
Cancel
Save