You've already forked Microtransactions64
mirror of
https://github.com/Print-and-Panic/Microtransactions64.git
synced 2026-01-21 10:17:19 -08:00
Refresh 3
This commit is contained in:
27
CHANGES
27
CHANGES
@@ -1,3 +1,30 @@
|
||||
Refresh #3
|
||||
1.) Small bits of sound sample labelling
|
||||
2.) Append 'b' to fopen calls in n64graphics to satisfy Windows
|
||||
3.) Document synthesis.c and abi.h
|
||||
4.) Remove gbi_old.h and use gbi.h instead for F3D_OLD
|
||||
5.) Fix and change most values used by f3d commands
|
||||
6.) Convert actors to C
|
||||
7.) Make extract_assets.py fail on bad baserom
|
||||
8.) Fix some (pragma-ignored) warnings
|
||||
9.) Convert trig tables and data/ buffers into C
|
||||
10.) Document intro behaviors and some of camera.c
|
||||
11.) Match dma_sample_data
|
||||
12.) Convert levels, bin, text, goddard_tex_dl to C
|
||||
13.) Remove .bss size hardcoding
|
||||
14.) Add mips64 fallback and alt dump option to diff.sh
|
||||
15.) Convert behavior_data to C
|
||||
16.) Get rid of the enum in behavior_data.
|
||||
17.) Change more values used by f3d commands
|
||||
18.) Document game/skybox.c
|
||||
19.) Actors levels fixup
|
||||
20.) Convert Mario animations to C (kind of)
|
||||
22.) generate skybox data from 248x248 images
|
||||
23.) 64-bit fixes
|
||||
24.) Move demo data to C
|
||||
25.) Change uintptr_t to GeoLayout for actors
|
||||
26.) Move libc includes to include/libc/
|
||||
|
||||
Refresh #2a (hotfix)
|
||||
Changes from Refresh #2:
|
||||
|
||||
|
||||
86
Makefile
86
Makefile
@@ -125,14 +125,15 @@ LIBULTRA := $(BUILD_DIR)/libultra.a
|
||||
ROM := $(BUILD_DIR)/$(TARGET).z64
|
||||
ELF := $(BUILD_DIR)/$(TARGET).elf
|
||||
LD_SCRIPT := sm64.ld
|
||||
MIO0_DIR := $(BUILD_DIR)/mio0
|
||||
MIO0_DIR := $(BUILD_DIR)/bin
|
||||
SOUND_BIN_DIR := $(BUILD_DIR)/sound
|
||||
TEXTURE_DIR := textures
|
||||
ACTOR_DIR := actors
|
||||
LEVEL_DIRS := $(patsubst levels/%,%,$(dir $(wildcard levels/*/header.h)))
|
||||
|
||||
# Directories containing source files
|
||||
SRC_DIRS := src src/engine src/game src/audio src/menu src/buffers
|
||||
ASM_DIRS := asm actors lib data levels assets sound text
|
||||
SRC_DIRS := src src/engine src/game src/audio src/menu src/buffers actors levels text bin data assets
|
||||
ASM_DIRS := asm lib sound
|
||||
BIN_DIRS := bin bin/$(VERSION)
|
||||
|
||||
ULTRA_SRC_DIRS := lib/src lib/src/math
|
||||
@@ -141,7 +142,6 @@ ULTRA_BIN_DIRS := lib/bin
|
||||
|
||||
GODDARD_SRC_DIRS := src/goddard src/goddard/dynlists
|
||||
|
||||
LEVEL_DIRS := $(patsubst levels/%,%,$(dir $(wildcard levels/*/header.s)))
|
||||
|
||||
MIPSISET := -mips2 -32
|
||||
|
||||
@@ -155,12 +155,13 @@ endif
|
||||
include Makefile.split
|
||||
|
||||
# Source code files
|
||||
C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c))
|
||||
LEVEL_C_FILES := $(wildcard levels/*/leveldata.c) $(wildcard levels/*/script.c) $(wildcard levels/*/geo.c)
|
||||
C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)) $(LEVEL_C_FILES)
|
||||
S_FILES := $(foreach dir,$(ASM_DIRS),$(wildcard $(dir)/*.s))
|
||||
ULTRA_C_FILES := $(foreach dir,$(ULTRA_SRC_DIRS),$(wildcard $(dir)/*.c))
|
||||
GODDARD_C_FILES := $(foreach dir,$(GODDARD_SRC_DIRS),$(wildcard $(dir)/*.c))
|
||||
ULTRA_S_FILES := $(foreach dir,$(ULTRA_ASM_DIRS),$(wildcard $(dir)/*.s))
|
||||
LEVEL_S_FILES := $(addsuffix header.s,$(addprefix bin/,$(LEVEL_DIRS)))
|
||||
GENERATED_C_FILES := $(BUILD_DIR)/assets/mario_anim_data.c $(BUILD_DIR)/assets/demo_data.c
|
||||
|
||||
SOUND_BANK_FILES := $(wildcard sound/sound_banks/*.json)
|
||||
SOUND_SEQUENCE_FILES := $(wildcard sound/sequences/$(VERSION)/*.m64) \
|
||||
@@ -180,7 +181,7 @@ SOUND_OBJ_FILES := $(SOUND_BIN_DIR)/sound_data.ctl.o \
|
||||
# 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))
|
||||
$(foreach file,$(GENERATED_C_FILES),$(file:.c=.o))
|
||||
|
||||
ULTRA_O_FILES := $(foreach file,$(ULTRA_S_FILES),$(BUILD_DIR)/$(file:.s=.o)) \
|
||||
$(foreach file,$(ULTRA_C_FILES),$(BUILD_DIR)/$(file:.c=.o))
|
||||
@@ -224,11 +225,13 @@ OBJDUMP := $(CROSS)objdump
|
||||
OBJCOPY := $(CROSS)objcopy
|
||||
PYTHON := python3
|
||||
|
||||
INCLUDE_CFLAGS := -I include -I include/libc -I $(BUILD_DIR) -I $(BUILD_DIR)/include -I src -I .
|
||||
|
||||
# Check code syntax with host compiler
|
||||
CC_CHECK := gcc -fsyntax-only -fsigned-char -nostdinc -fno-builtin -I include -I $(BUILD_DIR)/include -I src -std=gnu90 -Wall -Wextra -Wno-format-security -D_LANGUAGE_C $(VERSION_CFLAGS) $(GRUCODE_CFLAGS)
|
||||
CC_CHECK := gcc -fsyntax-only -fsigned-char -nostdinc -fno-builtin $(INCLUDE_CFLAGS) -std=gnu90 -Wall -Wextra -Wno-format-security -DNON_MATCHING $(VERSION_CFLAGS) $(GRUCODE_CFLAGS) -DTARGET_N64
|
||||
|
||||
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)
|
||||
CFLAGS = -Wab,-r4300_mul -non_shared -G 0 -Xcpluscomm -Xfullwarn $(OPT_FLAGS) -signed $(INCLUDE_CFLAGS) $(VERSION_CFLAGS) $(MIPSISET) $(GRUCODE_CFLAGS) -DTARGET_N64
|
||||
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.$(VERSION).map --no-check-sections $(SYMBOL_LINKING_FLAGS)
|
||||
@@ -253,6 +256,8 @@ TEXTCONV = $(TOOLS_DIR)/textconv
|
||||
IPLFONTUTIL = $(TOOLS_DIR)/iplfontutil
|
||||
AIFF_EXTRACT_CODEBOOK = $(TOOLS_DIR)/aiff_extract_codebook
|
||||
VADPCM_ENC = $(TOOLS_DIR)/vadpcm_enc
|
||||
EXTRACT_DATA_FOR_MIO = $(TOOLS_DIR)/extract_data_for_mio
|
||||
SKYCONV = $(TOOLS_DIR)/skyconv
|
||||
EMULATOR = mupen64plus
|
||||
EMU_FLAGS = --noosd
|
||||
LOADER = loader64
|
||||
@@ -301,21 +306,21 @@ $(BUILD_DIR)/include/text_strings.h: include/text_strings.h.in
|
||||
$(BUILD_DIR)/include/text_menu_strings.h: include/text_menu_strings.h.in
|
||||
$(TEXTCONV) charmap_menu.txt $< $@
|
||||
|
||||
$(BUILD_DIR)/text/%.s: text/$(VERSION)/%.s.in
|
||||
$(BUILD_DIR)/text/%.inc.c: text/$(VERSION)/%.c.in
|
||||
$(TEXTCONV) charmap.txt $< $@
|
||||
|
||||
ifeq ($(VERSION),eu)
|
||||
ASM_DIRS += text/de text/en text/fr
|
||||
SRC_DIRS += text/de text/en text/fr
|
||||
# EU encoded text inserted into individual segment 0x19 files
|
||||
$(BUILD_DIR)/bin/$(VERSION)/translation_de.o: $(BUILD_DIR)/text/de/dialog.s $(BUILD_DIR)/text/de/level.s $(BUILD_DIR)/text/de/star.s
|
||||
$(BUILD_DIR)/bin/$(VERSION)/translation_en.o: $(BUILD_DIR)/text/en/dialog.s $(BUILD_DIR)/text/en/level.s $(BUILD_DIR)/text/en/star.s
|
||||
$(BUILD_DIR)/bin/$(VERSION)/translation_fr.o: $(BUILD_DIR)/text/fr/dialog.s $(BUILD_DIR)/text/fr/level.s $(BUILD_DIR)/text/fr/star.s
|
||||
$(BUILD_DIR)/bin/$(VERSION)/translation_de.o: $(BUILD_DIR)/text/de/dialog.inc.c $(BUILD_DIR)/text/de/level.inc.c $(BUILD_DIR)/text/de/star.inc.c
|
||||
$(BUILD_DIR)/bin/$(VERSION)/translation_en.o: $(BUILD_DIR)/text/en/dialog.inc.c $(BUILD_DIR)/text/en/level.inc.c $(BUILD_DIR)/text/en/star.inc.c
|
||||
$(BUILD_DIR)/bin/$(VERSION)/translation_fr.o: $(BUILD_DIR)/text/fr/dialog.inc.c $(BUILD_DIR)/text/fr/level.inc.c $(BUILD_DIR)/text/fr/star.inc.c
|
||||
else
|
||||
# non-EU encoded text inserted into segment 0x02
|
||||
$(BUILD_DIR)/bin/segment2.o: $(BUILD_DIR)/text/debug.s $(BUILD_DIR)/text/dialog.s $(BUILD_DIR)/text/level.s $(BUILD_DIR)/text/star.s
|
||||
$(BUILD_DIR)/bin/segment2.o: $(BUILD_DIR)/text/debug.inc.c $(BUILD_DIR)/text/dialog.inc.c $(BUILD_DIR)/text/level.inc.c $(BUILD_DIR)/text/star.inc.c
|
||||
endif
|
||||
|
||||
ALL_DIRS := $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) $(ASM_DIRS) $(GODDARD_SRC_DIRS) $(ULTRA_SRC_DIRS) $(ULTRA_ASM_DIRS) $(ULTRA_BIN_DIRS) $(BIN_DIRS) $(TEXTURE_DIRS) $(SOUND_SAMPLE_DIRS) $(addprefix levels/,$(LEVEL_DIRS)) $(addprefix bin/,$(LEVEL_DIRS)) include) $(MIO0_DIR) $(addprefix $(MIO0_DIR)/,$(LEVEL_DIRS)) $(addprefix $(MIO0_DIR)/,$(VERSION)) $(SOUND_BIN_DIR) $(SOUND_BIN_DIR)/sequences/$(VERSION)
|
||||
ALL_DIRS := $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) $(ASM_DIRS) $(GODDARD_SRC_DIRS) $(ULTRA_SRC_DIRS) $(ULTRA_ASM_DIRS) $(ULTRA_BIN_DIRS) $(BIN_DIRS) $(TEXTURE_DIRS) $(SOUND_SAMPLE_DIRS) $(addprefix levels/,$(LEVEL_DIRS)) include) $(MIO0_DIR) $(addprefix $(MIO0_DIR)/,$(VERSION)) $(SOUND_BIN_DIR) $(SOUND_BIN_DIR)/sequences/$(VERSION)
|
||||
|
||||
# Make sure build directory exists before compiling anything
|
||||
DUMMY != mkdir -p $(ALL_DIRS)
|
||||
@@ -333,6 +338,10 @@ $(BUILD_DIR)/src/game/ingame_menu.o: $(BUILD_DIR)/include/text_strings.h
|
||||
$(BUILD_DIR)/%: %.png
|
||||
$(N64GRAPHICS) -i $@ -g $< -f $(lastword $(subst ., ,$@))
|
||||
|
||||
$(BUILD_DIR)/%.inc.c: $(BUILD_DIR)/% %.png
|
||||
hexdump -v -e '1/1 "0x%X,"' $< > $@
|
||||
echo >> $@
|
||||
|
||||
# Color Index CI8
|
||||
$(BUILD_DIR)/%.ci8: %.ci8.png
|
||||
$(N64GRAPHICS_CI) -i $@ -g $< -f ci8
|
||||
@@ -344,38 +353,35 @@ $(BUILD_DIR)/%.ci4: %.ci4.png
|
||||
################################################################
|
||||
|
||||
# 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 $@ $<
|
||||
$(BUILD_DIR)/actors/%.elf: $(BUILD_DIR)/actors/%.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
|
||||
$(BUILD_DIR)/levels/%/leveldata.elf: $(BUILD_DIR)/levels/%/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 $@
|
||||
$(EXTRACT_DATA_FOR_MIO) $< $@
|
||||
|
||||
$(MIO0_DIR)/%.mio0: $(BUILD_DIR)/bin/%.bin
|
||||
$(BUILD_DIR)/actors/%.bin: $(BUILD_DIR)/actors/%.elf
|
||||
$(EXTRACT_DATA_FOR_MIO) $< $@
|
||||
|
||||
$(BUILD_DIR)/levels/%/leveldata.bin: $(BUILD_DIR)/levels/%/leveldata.elf
|
||||
$(EXTRACT_DATA_FOR_MIO) $< $@
|
||||
|
||||
$(BUILD_DIR)/%.mio0: $(BUILD_DIR)/%.bin
|
||||
$(MIO0TOOL) $< $@
|
||||
|
||||
$(MIO0_DIR)/%.mio0.o: $(MIO0_DIR)/%.mio0.s
|
||||
$(BUILD_DIR)/%.mio0.o: $(BUILD_DIR)/%.mio0.s
|
||||
$(AS) $(ASFLAGS) -o $@ $<
|
||||
|
||||
$(MIO0_DIR)/%.mio0.s: $(MIO0_DIR)/%.mio0
|
||||
$(BUILD_DIR)/%.mio0.s: $(BUILD_DIR)/%.mio0
|
||||
printf ".section .data\n\n.incbin \"$<\"\n" > $@
|
||||
|
||||
$(BUILD_DIR)/%.table: %.aiff
|
||||
@@ -405,6 +411,12 @@ $(SOUND_BIN_DIR)/%.o: $(SOUND_BIN_DIR)/%.s
|
||||
$(SOUND_BIN_DIR)/%.s: $(SOUND_BIN_DIR)/%
|
||||
printf ".section .data\n\n.incbin \"$<\"\n" > $@
|
||||
|
||||
$(BUILD_DIR)/assets/mario_anim_data.c: $(wildcard assets/anims/*.inc.c)
|
||||
$(PYTHON) tools/mario_anims_converter.py > $@
|
||||
|
||||
$(BUILD_DIR)/assets/demo_data.c: assets/demo_data.json $(wildcard assets/demos/*.bin)
|
||||
$(PYTHON) tools/demo_data_converter.py assets/demo_data.json $(VERSION_CFLAGS) > $@
|
||||
|
||||
# Source code
|
||||
$(BUILD_DIR)/src/goddard/%.o: OPT_FLAGS := -g
|
||||
$(BUILD_DIR)/src/goddard/%.o: MIPSISET := -mips1
|
||||
@@ -442,7 +454,11 @@ $(BUILD_DIR)/%.o: %.c
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
|
||||
$(BUILD_DIR)/%.o: %.s $(MIO0_FILES)
|
||||
$(BUILD_DIR)/%.o: $(BUILD_DIR)/%.c
|
||||
@$(CC_CHECK) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
$(BUILD_DIR)/%.o: %.s
|
||||
$(AS) $(ASFLAGS) -MD $(BUILD_DIR)/$*.d -o $@ $<
|
||||
|
||||
$(BUILD_DIR)/$(LD_SCRIPT): $(LD_SCRIPT)
|
||||
@@ -467,7 +483,7 @@ $(BUILD_DIR)/$(TARGET).objdump: $(ELF)
|
||||
|
||||
|
||||
.PHONY: all clean distclean default diff test load libultra
|
||||
.PRECIOUS: $(MIO0_DIR)/%.mio0 $(MIO0_DIR)/%.mio0.s $(BUILD_DIR)/bin/%.elf $(SOUND_BIN_DIR)/%.ctl $(SOUND_BIN_DIR)/%.tbl $(SOUND_SAMPLE_TABLES) $(SOUND_BIN_DIR)/%.s
|
||||
.PRECIOUS: $(BUILD_DIR)/bin/%.elf $(SOUND_BIN_DIR)/%.ctl $(SOUND_BIN_DIR)/%.tbl $(SOUND_SAMPLE_TABLES) $(SOUND_BIN_DIR)/%.s $(BUILD_DIR)/%
|
||||
.DELETE_ON_ERROR:
|
||||
|
||||
# Remove built-in rules, to improve performance
|
||||
|
||||
232
Makefile.split
232
Makefile.split
@@ -2,8 +2,8 @@
|
||||
# General Rules
|
||||
# --------------------------------------
|
||||
|
||||
# obtain a list of segments from the *.s files in bin directory
|
||||
SEGMENTS := $(notdir $(basename $(wildcard bin/*.s))) $(addprefix $(VERSION)/,$(notdir $(basename $(wildcard bin/$(VERSION)/*.s))))
|
||||
# obtain a list of segments from the *.c files in bin directory
|
||||
SEGMENTS := $(notdir $(basename $(wildcard bin/*.c))) $(addprefix $(VERSION)/,$(notdir $(basename $(wildcard bin/$(VERSION)/*.c)))) $(addsuffix _skybox,$(notdir $(basename $(wildcard textures/skyboxes/*.png))))
|
||||
ACTORS := $(filter %/,$(wildcard actors/*/))
|
||||
TEXTURE_DIRS := $(addprefix textures/,$(SEGMENTS)) $(ACTORS) textures/intro_raw
|
||||
|
||||
@@ -32,12 +32,12 @@ ACTOR_GROUPS := \
|
||||
common1
|
||||
|
||||
LEVEL_FILES := $(addsuffix leveldata,$(LEVEL_DIRS))
|
||||
MIO0_FILES := $(addprefix $(MIO0_DIR)/,$(addsuffix .mio0,$(SEGMENTS) $(ACTOR_GROUPS) $(LEVEL_FILES)))
|
||||
MIO0_FILES := $(addprefix $(MIO0_DIR)/,$(addsuffix .mio0,$(SEGMENTS))) $(addprefix $(BUILD_DIR)/actors/,$(addsuffix .mio0,$(ACTOR_GROUPS))) $(addprefix $(BUILD_DIR)/levels/,$(addsuffix .mio0,$(LEVEL_FILES)))
|
||||
MIO0_OBJ_FILES := $(MIO0_FILES:.mio0=.mio0.o)
|
||||
|
||||
SEGMENT_ELF_FILES := $(addprefix $(BUILD_DIR)/bin/,$(addsuffix .elf,$(SEGMENTS)))
|
||||
ACTOR_ELF_FILES := $(addprefix $(BUILD_DIR)/bin/,$(addsuffix .elf,$(ACTOR_GROUPS)))
|
||||
LEVEL_ELF_FILES := $(addprefix $(BUILD_DIR)/bin/,$(addsuffix .elf,$(LEVEL_FILES)))
|
||||
ACTOR_ELF_FILES := $(addprefix $(BUILD_DIR)/actors/,$(addsuffix .elf,$(ACTOR_GROUPS)))
|
||||
LEVEL_ELF_FILES := $(addprefix $(BUILD_DIR)/levels/,$(addsuffix .elf,$(LEVEL_FILES)))
|
||||
|
||||
# --------------------------------------
|
||||
# Actor Rules
|
||||
@@ -54,7 +54,7 @@ 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 white_particle wooden_signpost tree
|
||||
BUBBA_DIRS := bubba wiggler lakitu_enemy spiny_egg spiny
|
||||
BUBBA_DIRS := bubba wiggler wiggler_body_part 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
|
||||
@@ -66,70 +66,70 @@ BOWSER_DIRS := bowser_flame impact_ring yellow_sphere bowser bomb impact_sm
|
||||
MARIO_DIRS := mario bubble walk_smoke burn_smoke stomp_smoke water_waves sparkle water_splash white_particle_small 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)))
|
||||
AMP_CHUCKYA_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(AMP_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
BOBOMBS_BUBBLE_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(KING_BOBOMB_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
BOO_BOOKEND_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(BOO_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
CAPSWITCH_SPRINGBOARD_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(CAPSWITCH_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
COINS_PIPE_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(COINS_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
BOWSER_FLAMES_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(BOWSER_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
BUBBA_WIGGLER_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(BUBBA_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
BULLY_BLARGG_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(BULLY_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
CHILLYCHIEF_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(CHILLYCHIEF_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
HOOT_THWOMP_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(HOOT_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
KOOPA_LOG_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(KOOPA_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
KLEPTO_EYEROK_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(KLEPTO_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
LAKITU_TOAD_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(LAKITU_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
MARIO_WATER_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(MARIO_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
MOLE_UKIKI_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(MOLE_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
MR_I_SWOOP_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(MR_I_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
PEACH_TOADSTOOL_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(PEACH_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
SEA_CREATURES_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(SEA_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
SKEETER_FISH_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(SKEETER_DIRS)),$(patsubst %.png,%.inc.c,$(wildcard $(dir)/*.png)))
|
||||
SPINDRIFT_PENGUIN_FILES := $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(SPINDRIFT_DIRS)),$(patsubst %.png,%.inc.c,$(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))
|
||||
$(BUILD_DIR)/actors/group0.o: $(addprefix $(BUILD_DIR)/,$(MARIO_WATER_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(MARIO_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/group1.o: $(addprefix $(BUILD_DIR)/,$(HOOT_THWOMP_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(HOOT_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/group2.o: $(addprefix $(BUILD_DIR)/,$(BULLY_BLARGG_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(BULLY_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/group3.o: $(addprefix $(BUILD_DIR)/,$(BOBOMBS_BUBBLE_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(KING_BOBOMB_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/group4.o: $(addprefix $(BUILD_DIR)/,$(SEA_CREATURES_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(SEA_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/group5.o: $(addprefix $(BUILD_DIR)/,$(KLEPTO_EYEROK_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(KLEPTO_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/group6.o: $(addprefix $(BUILD_DIR)/,$(MOLE_UKIKI_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(MOLE_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/group7.o: $(addprefix $(BUILD_DIR)/,$(SPINDRIFT_PENGUIN_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(SPINDRIFT_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/group8.o: $(addprefix $(BUILD_DIR)/,$(CAPSWITCH_SPRINGBOARD_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(CAPSWITCH_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/group9.o: $(addprefix $(BUILD_DIR)/,$(BOO_BOOKEND_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(BOO_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/group10.o: $(addprefix $(BUILD_DIR)/,$(PEACH_TOADSTOOL_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(PEACH_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/group11.o: $(addprefix $(BUILD_DIR)/,$(BUBBA_WIGGLER_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(BUBBA_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/group12.o: $(addprefix $(BUILD_DIR)/,$(BOWSER_FLAMES_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(BOWSER_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/group13.o: $(addprefix $(BUILD_DIR)/,$(SKEETER_FISH_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(SKEETER_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/group14.o: $(addprefix $(BUILD_DIR)/,$(KOOPA_LOG_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(KOOPA_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/group15.o: $(addprefix $(BUILD_DIR)/,$(LAKITU_TOAD_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(LAKITU_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/group16.o: $(addprefix $(BUILD_DIR)/,$(CHILLYCHIEF_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(CHILLYCHIEF_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/group17.o: $(addprefix $(BUILD_DIR)/,$(MR_I_SWOOP_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(MR_I_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/common0.o: $(addprefix $(BUILD_DIR)/,$(AMP_CHUCKYA_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(AMP_DIRS)),$(wildcard $(dir)/*.c))
|
||||
$(BUILD_DIR)/actors/common1.o: $(addprefix $(BUILD_DIR)/,$(COINS_PIPE_FILES)) $(foreach dir,$(addprefix $(ACTOR_DIR)/,$(COINS_DIRS)),$(wildcard $(dir)/*.c))
|
||||
|
||||
# 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
|
||||
$(BUILD_DIR)/actors/group0.elf: SEGMENT_ADDRESS := 0x04000000
|
||||
$(BUILD_DIR)/actors/group1.elf: SEGMENT_ADDRESS := 0x05000000
|
||||
$(BUILD_DIR)/actors/group2.elf: SEGMENT_ADDRESS := 0x05000000
|
||||
$(BUILD_DIR)/actors/group3.elf: SEGMENT_ADDRESS := 0x05000000
|
||||
$(BUILD_DIR)/actors/group4.elf: SEGMENT_ADDRESS := 0x05000000
|
||||
$(BUILD_DIR)/actors/group5.elf: SEGMENT_ADDRESS := 0x05000000
|
||||
$(BUILD_DIR)/actors/group6.elf: SEGMENT_ADDRESS := 0x05000000
|
||||
$(BUILD_DIR)/actors/group7.elf: SEGMENT_ADDRESS := 0x05000000
|
||||
$(BUILD_DIR)/actors/group8.elf: SEGMENT_ADDRESS := 0x05000000
|
||||
$(BUILD_DIR)/actors/group9.elf: SEGMENT_ADDRESS := 0x05000000
|
||||
$(BUILD_DIR)/actors/group10.elf: SEGMENT_ADDRESS := 0x05000000
|
||||
$(BUILD_DIR)/actors/group11.elf: SEGMENT_ADDRESS := 0x05000000
|
||||
$(BUILD_DIR)/actors/group12.elf: SEGMENT_ADDRESS := 0x06000000
|
||||
$(BUILD_DIR)/actors/group13.elf: SEGMENT_ADDRESS := 0x06000000
|
||||
$(BUILD_DIR)/actors/group14.elf: SEGMENT_ADDRESS := 0x06000000
|
||||
$(BUILD_DIR)/actors/group15.elf: SEGMENT_ADDRESS := 0x06000000
|
||||
$(BUILD_DIR)/actors/group16.elf: SEGMENT_ADDRESS := 0x06000000
|
||||
$(BUILD_DIR)/actors/group17.elf: SEGMENT_ADDRESS := 0x06000000
|
||||
$(BUILD_DIR)/actors/common0.elf: SEGMENT_ADDRESS := 0x08000000
|
||||
$(BUILD_DIR)/actors/common1.elf: SEGMENT_ADDRESS := 0x03000000
|
||||
|
||||
# --------------------------------------
|
||||
# Level Rules
|
||||
@@ -141,11 +141,10 @@ $(BUILD_DIR)/bin/common1.elf: SEGMENT_ADDRESS := 0x03000000
|
||||
# TODO: Generate 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)
|
||||
$(1)_SEG7_FILES := $$(patsubst %.png,%.inc.c,$$(notdir $$(wildcard levels/$(1)/*.png)))
|
||||
$$(BUILD_DIR)/levels/$(1)/leveldata.o: $$(addprefix $$(BUILD_DIR)/levels/$(1)/,$$($(1)_SEG7_FILES))
|
||||
$$(BUILD_DIR)/levels/$(1)/leveldata.elf: SEGMENT_ADDRESS := $(2)
|
||||
$$(BUILD_DIR)/levels/$(1)/leveldata.elf: TEXTURE_BIN := $(3)
|
||||
endef
|
||||
|
||||
$(eval $(call level_rules,bbh,0x07000000,spooky)) # BBH (Big Boo's Haunt)
|
||||
@@ -169,7 +168,6 @@ $(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)
|
||||
@@ -183,26 +181,45 @@ $(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)
|
||||
|
||||
# Ending cake texture override
|
||||
ifeq ($(VERSION),eu)
|
||||
ending_SEG7_FILES := $(patsubst %.png,%.inc.c,$(notdir $(wildcard levels/ending/eu*.png levels/ending/*eu.png)))
|
||||
$(BUILD_DIR)/levels/ending/leveldata.o: $(addprefix $(BUILD_DIR)/levels/ending/,$(ending_SEG7_FILES))
|
||||
$(BUILD_DIR)/levels/ending/leveldata.elf: SEGMENT_ADDRESS := 0x07000000
|
||||
$(BUILD_DIR)/levels/ending/leveldata.elf: TEXTURE_BIN := generic
|
||||
|
||||
$(BUILD_DIR)/levels/ending/cake_eu.inc.c: levels/ending/cake_eu.png
|
||||
$(SKYCONV) --type cake-eu --split $^ $(BUILD_DIR)/levels/ending
|
||||
else
|
||||
ending_SEG7_FILES := cake.inc.c
|
||||
$(BUILD_DIR)/levels/ending/leveldata.o: $(BUILD_DIR)/levels/ending/cake.inc.c
|
||||
$(BUILD_DIR)/levels/ending/leveldata.elf: SEGMENT_ADDRESS := 0x07000000
|
||||
$(BUILD_DIR)/levels/ending/leveldata.elf: TEXTURE_BIN := generic
|
||||
|
||||
$(BUILD_DIR)/levels/ending/cake.inc.c: levels/ending/cake.png
|
||||
$(SKYCONV) --type cake --split $^ $(BUILD_DIR)/levels/ending
|
||||
endif
|
||||
|
||||
# --------------------------------------
|
||||
# Texture Bin Rules
|
||||
# --------------------------------------
|
||||
|
||||
# Others
|
||||
SEGMENT2_FILES := $(basename $(wildcard $(TEXTURE_DIR)/segment2/*.png))
|
||||
TITLE_SCREEN_BG_FILES := $(basename $(wildcard $(TEXTURE_DIR)/title_screen_bg/*.png))
|
||||
SPOOKY_FILES := $(basename $(wildcard $(TEXTURE_DIR)/spooky/*.png))
|
||||
GENERIC_FILES := $(basename $(wildcard $(TEXTURE_DIR)/generic/*.png))
|
||||
OUTSIDE_FILES := $(basename $(wildcard $(TEXTURE_DIR)/outside/*.png))
|
||||
SNOW_FILES := $(basename $(wildcard $(TEXTURE_DIR)/snow/*.png))
|
||||
EFFECT_FILES := $(basename $(wildcard $(TEXTURE_DIR)/effect/*.png))
|
||||
CAVE_FILES := $(basename $(wildcard $(TEXTURE_DIR)/cave/*.png))
|
||||
INSIDE_FILES := $(basename $(wildcard $(TEXTURE_DIR)/inside/*.png))
|
||||
WATER_FILES := $(basename $(wildcard $(TEXTURE_DIR)/water/*.png))
|
||||
FIRE_TEXTURES_FILES := $(basename $(wildcard $(TEXTURE_DIR)/fire/*.png))
|
||||
SKY_FILES := $(basename $(wildcard $(TEXTURE_DIR)/sky/*.png))
|
||||
MACHINE_FILES := $(basename $(wildcard $(TEXTURE_DIR)/machine/*.png))
|
||||
MOUNTAIN_FILES := $(basename $(wildcard $(TEXTURE_DIR)/mountain/*.png))
|
||||
GRASS_FILES := $(basename $(wildcard $(TEXTURE_DIR)/grass/*.png))
|
||||
SEGMENT2_FILES := $(patsubst %.png,%.inc.c,$(wildcard $(TEXTURE_DIR)/segment2/*.png))
|
||||
TITLE_SCREEN_BG_FILES := $(patsubst %.png,%.inc.c,$(wildcard $(TEXTURE_DIR)/title_screen_bg/*.png))
|
||||
SPOOKY_FILES := $(patsubst %.png,%.inc.c,$(wildcard $(TEXTURE_DIR)/spooky/*.png))
|
||||
GENERIC_FILES := $(patsubst %.png,%.inc.c,$(wildcard $(TEXTURE_DIR)/generic/*.png))
|
||||
OUTSIDE_FILES := $(patsubst %.png,%.inc.c,$(wildcard $(TEXTURE_DIR)/outside/*.png))
|
||||
SNOW_FILES := $(patsubst %.png,%.inc.c,$(wildcard $(TEXTURE_DIR)/snow/*.png))
|
||||
EFFECT_FILES := $(patsubst %.png,%.inc.c,$(wildcard $(TEXTURE_DIR)/effect/*.png))
|
||||
CAVE_FILES := $(patsubst %.png,%.inc.c,$(wildcard $(TEXTURE_DIR)/cave/*.png))
|
||||
INSIDE_FILES := $(patsubst %.png,%.inc.c,$(wildcard $(TEXTURE_DIR)/inside/*.png))
|
||||
WATER_FILES := $(patsubst %.png,%.inc.c,$(wildcard $(TEXTURE_DIR)/water/*.png))
|
||||
FIRE_TEXTURES_FILES := $(patsubst %.png,%.inc.c,$(wildcard $(TEXTURE_DIR)/fire/*.png))
|
||||
SKY_FILES := $(patsubst %.png,%.inc.c,$(wildcard $(TEXTURE_DIR)/sky/*.png))
|
||||
MACHINE_FILES := $(patsubst %.png,%.inc.c,$(wildcard $(TEXTURE_DIR)/machine/*.png))
|
||||
MOUNTAIN_FILES := $(patsubst %.png,%.inc.c,$(wildcard $(TEXTURE_DIR)/mountain/*.png))
|
||||
GRASS_FILES := $(patsubst %.png,%.inc.c,$(wildcard $(TEXTURE_DIR)/grass/*.png))
|
||||
|
||||
# Texture Files
|
||||
$(BUILD_DIR)/bin/segment2.o: $(addprefix $(BUILD_DIR)/,$(SEGMENT2_FILES))
|
||||
@@ -248,46 +265,15 @@ $(BUILD_DIR)/bin/$(VERSION)/translation_fr.elf: SEGMENT_ADDRESS := 0x19000000
|
||||
# Skybox Rules
|
||||
# --------------------------------------
|
||||
|
||||
# Skybox Files
|
||||
BBH_SKYBOX_FILES := $(basename $(wildcard $(TEXTURE_DIR)/bbh_skybox/*.png))
|
||||
BIDW_SKYBOX_FILES := $(basename $(wildcard $(TEXTURE_DIR)/bidw_skybox/*.png))
|
||||
BITFS_SKYBOX_FILES := $(basename $(wildcard $(TEXTURE_DIR)/bitfs_skybox/*.png))
|
||||
BITS_SKYBOX_FILES := $(basename $(wildcard $(TEXTURE_DIR)/bits_skybox/*.png))
|
||||
CCM_SKYBOX_FILES := $(basename $(wildcard $(TEXTURE_DIR)/ccm_skybox/*.png))
|
||||
CLOUD_FLOOR_SKYBOX_FILES := $(basename $(wildcard $(TEXTURE_DIR)/cloud_floor_skybox/*.png))
|
||||
CLOUDS_SKYBOX_FILES := $(basename $(wildcard $(TEXTURE_DIR)/clouds_skybox/*.png))
|
||||
SSL_SKYBOX_FILES := $(basename $(wildcard $(TEXTURE_DIR)/ssl_skybox/*.png))
|
||||
WATER_SKYBOX_FILES := $(basename $(wildcard $(TEXTURE_DIR)/water_skybox/*.png))
|
||||
WDW_SKYBOX_FILES := $(basename $(wildcard $(TEXTURE_DIR)/wdw_skybox/*.png))
|
||||
$(BUILD_DIR)/bin/%_skybox.c: textures/skyboxes/%.png
|
||||
$(SKYCONV) --type sky --split $^ $(BUILD_DIR)/bin
|
||||
|
||||
# Skybox Files
|
||||
$(BUILD_DIR)/bin/bbh_skybox.o: $(addprefix $(BUILD_DIR)/,$(BBH_SKYBOX_FILES))
|
||||
$(BUILD_DIR)/bin/bidw_skybox.o: $(addprefix $(BUILD_DIR)/,$(BIDW_SKYBOX_FILES))
|
||||
$(BUILD_DIR)/bin/bitfs_skybox.o: $(addprefix $(BUILD_DIR)/,$(BITFS_SKYBOX_FILES))
|
||||
$(BUILD_DIR)/bin/bits_skybox.o: $(addprefix $(BUILD_DIR)/,$(BITS_SKYBOX_FILES))
|
||||
$(BUILD_DIR)/bin/ccm_skybox.o: $(addprefix $(BUILD_DIR)/,$(CCM_SKYBOX_FILES))
|
||||
$(BUILD_DIR)/bin/cloud_floor_skybox.o: $(addprefix $(BUILD_DIR)/,$(CLOUD_FLOOR_SKYBOX_FILES))
|
||||
$(BUILD_DIR)/bin/clouds_skybox.o: $(addprefix $(BUILD_DIR)/,$(CLOUDS_SKYBOX_FILES))
|
||||
$(BUILD_DIR)/bin/ssl_skybox.o: $(addprefix $(BUILD_DIR)/,$(SSL_SKYBOX_FILES))
|
||||
$(BUILD_DIR)/bin/water_skybox.o: $(addprefix $(BUILD_DIR)/,$(WATER_SKYBOX_FILES))
|
||||
$(BUILD_DIR)/bin/wdw_skybox.o: $(addprefix $(BUILD_DIR)/,$(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
|
||||
$(BUILD_DIR)/bin/%_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)/textures/intro_raw/,$(INTRO_RAW_FILES))
|
||||
INTRO_RAW_FILES := $(wildcard $(TEXTURE_DIR)/intro_raw/*.png)
|
||||
$(BUILD_DIR)/src/goddard/renderer.o: $(addprefix $(BUILD_DIR)/,$(patsubst %.png,%.inc.c,$(INTRO_RAW_FILES)))
|
||||
|
||||
@@ -79,7 +79,7 @@ The recommended path is installing a Linux distribution under a VM.
|
||||
```
|
||||
sm64
|
||||
├── actors: object behaviors, geo layout, and display lists
|
||||
├── asm: handwritten assembly code
|
||||
├── asm: handwritten assembly code, rom header
|
||||
│ └── non_matchings: asm for non-matching sections
|
||||
├── assets: animation and demo data
|
||||
│ ├── anims: animation data
|
||||
|
||||
54
actors/amp/anims/anim_0800401C.inc.c
Normal file
54
actors/amp/anims/anim_0800401C.inc.c
Normal file
@@ -0,0 +1,54 @@
|
||||
// 0x08003E30
|
||||
static const s16 amp_seg8_animvalue_08003E30[] = {
|
||||
0x0000, 0x0000, 0x0D79, 0x1AF2, 0x286B, 0x35E4, 0x435D, 0x50D6,
|
||||
0x5E50, 0x6BC9, 0x7942, 0x86BE, 0x9437, 0xA1B0, 0xAF2A, 0xBCA3,
|
||||
0xCA1C, 0xD795, 0xE50E, 0xF287, 0x1872, 0x0000, 0x1AF2, 0x35E4,
|
||||
0x50D6, 0x6BC9, 0x86BE, 0xA1B0, 0xBCA3, 0xD795, 0xF287, 0x0D79,
|
||||
0x286B, 0x435D, 0x5E50, 0x7942, 0x9437, 0xAF2A, 0xCA1C, 0xE50E,
|
||||
0x0000, 0x1AF2, 0x35E4, 0x50D6, 0x6BC9, 0x86BE, 0xA1B0, 0xBCA3,
|
||||
0xD795, 0xF287, 0x0D79, 0x286B, 0x435D, 0x5E50, 0x7942, 0x9437,
|
||||
0xAF2A, 0xCA1C, 0xE50E, 0x8001, 0x5793, 0x2F28, 0x06BC, 0xDE52,
|
||||
0xB5E6, 0x8D7B, 0x650C, 0x3CA1, 0x1435, 0xEBCB, 0xC35F, 0x9AF4,
|
||||
0x7285, 0x4A1A, 0x21AE, 0xF944, 0xD0D8, 0xA86D, 0x3FFF, 0x0000,
|
||||
0x0D7C, 0x1AF9, 0x2876, 0x35F3, 0x4370, 0x50ED, 0x5E6A, 0x6BE7,
|
||||
0x7964, 0x86E3, 0x9460, 0xA1DD, 0xAF5A, 0xBCD7, 0xCA54, 0xD7D1,
|
||||
0xE54E, 0xF2CB, 0xC001, 0x3FFF, 0x0000, 0x0D7B, 0x1AF7, 0x2873,
|
||||
0x35EF, 0x436B, 0x50E6, 0x5E62, 0x6BDE, 0x795A, 0x86D9, 0x9455,
|
||||
0xA1D0, 0xAF4C, 0xBCC8, 0xCA44, 0xD7C0, 0xE53B, 0xF2B7, 0xC001,
|
||||
0x3FFF, 0xC001, 0xCD7A, 0xDAF2, 0xE86B, 0xF5E3, 0x035B, 0x10D3,
|
||||
0x1E4C, 0x2BC4, 0x393D, 0x46B5, 0x542E, 0x61A6, 0x6F1F, 0x7C97,
|
||||
0x8A13, 0x978B, 0xA504, 0xB27D, 0xC001, 0x3FFF, 0x4D79, 0x5AF2,
|
||||
0x686C, 0x75E5, 0x8362, 0x90DB, 0x9E55, 0xABCF, 0xB948, 0xC6C2,
|
||||
0xD43B, 0xE1B5, 0xEF2F, 0xFCA8, 0x0A21, 0x179A, 0x2514, 0x328D,
|
||||
0xC001, 0x3FFF,
|
||||
};
|
||||
|
||||
// 0x08003F74
|
||||
static const u16 amp_seg8_animindex_08003F74[] = {
|
||||
0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0000,
|
||||
0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x00A1,
|
||||
0x0001, 0x0000, 0x0013, 0x008D, 0x0001, 0x00A0,
|
||||
0x0001, 0x0000, 0x0001, 0x0000, 0x0013, 0x0001,
|
||||
0x0001, 0x0000, 0x0013, 0x0079, 0x0001, 0x008C,
|
||||
0x0001, 0x0014, 0x0001, 0x0000, 0x0013, 0x0015,
|
||||
0x0001, 0x0000, 0x0013, 0x0064, 0x0001, 0x0077,
|
||||
0x0001, 0x0000, 0x0001, 0x0000, 0x0013, 0x0028,
|
||||
0x0001, 0x0000, 0x0013, 0x004F, 0x0001, 0x0062,
|
||||
0x0001, 0x0000, 0x0001, 0x0000, 0x0013, 0x003B,
|
||||
0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0078,
|
||||
0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0063,
|
||||
0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x004E,
|
||||
};
|
||||
|
||||
// 0x0800401C
|
||||
static const struct Animation amp_seg8_anim_0800401C = {
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0x13,
|
||||
ANIMINDEX_NUMPARTS(amp_seg8_animindex_08003F74),
|
||||
amp_seg8_animvalue_08003E30,
|
||||
amp_seg8_animindex_08003F74,
|
||||
0,
|
||||
};
|
||||
1
actors/amp/anims/data.inc.c
Normal file
1
actors/amp/anims/data.inc.c
Normal file
@@ -0,0 +1 @@
|
||||
#include "anim_0800401C.inc.c"
|
||||
4
actors/amp/anims/table.inc.c
Normal file
4
actors/amp/anims/table.inc.c
Normal file
@@ -0,0 +1,4 @@
|
||||
// 0x08004034
|
||||
const struct Animation *const amp_seg8_anims_08004034[] = {
|
||||
&_seg8_anim_0800401C,
|
||||
};
|
||||
@@ -1,2 +0,0 @@
|
||||
# Amp
|
||||
|
||||
56
actors/amp/geo.inc.c
Normal file
56
actors/amp/geo.inc.c
Normal file
@@ -0,0 +1,56 @@
|
||||
// 0x0F000028
|
||||
const GeoLayout amp_geo[] = {
|
||||
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 100),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_SCALE(0x00, 16384),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002C88),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_SWITCH_CASE(2, geo_switch_anim_state),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
|
||||
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002BA0),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_SWITCH_CASE(2, geo_switch_anim_state),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
|
||||
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002BA0),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_SWITCH_CASE(2, geo_switch_anim_state),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
|
||||
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002BA0),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_SWITCH_CASE(2, geo_switch_anim_state),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
|
||||
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002BA0),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_ANIMATED_PART(LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002D70),
|
||||
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
|
||||
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(),
|
||||
};
|
||||
@@ -1,54 +0,0 @@
|
||||
glabel amp_geo # 0x0F000028
|
||||
geo_shadow SHADOW_CIRCLE_4_VERTS, 0xC8, 100
|
||||
geo_open_node
|
||||
geo_scale 0x00, 16384
|
||||
geo_open_node
|
||||
geo_animated_part LAYER_OPAQUE, 0, 0, 0
|
||||
geo_open_node
|
||||
geo_animated_part LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002C88
|
||||
geo_open_node
|
||||
geo_animated_part LAYER_OPAQUE, 0, 0, 0
|
||||
geo_open_node
|
||||
geo_switch_case 2, geo_switch_anim_state
|
||||
geo_open_node
|
||||
geo_animated_part LAYER_OPAQUE, 0, 0, 0
|
||||
geo_animated_part LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002BA0
|
||||
geo_close_node
|
||||
geo_close_node
|
||||
geo_animated_part LAYER_OPAQUE, 0, 0, 0
|
||||
geo_open_node
|
||||
geo_switch_case 2, geo_switch_anim_state
|
||||
geo_open_node
|
||||
geo_animated_part LAYER_OPAQUE, 0, 0, 0
|
||||
geo_animated_part LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002BA0
|
||||
geo_close_node
|
||||
geo_close_node
|
||||
geo_animated_part LAYER_OPAQUE, 0, 0, 0
|
||||
geo_open_node
|
||||
geo_switch_case 2, geo_switch_anim_state
|
||||
geo_open_node
|
||||
geo_animated_part LAYER_OPAQUE, 0, 0, 0
|
||||
geo_animated_part LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002BA0
|
||||
geo_close_node
|
||||
geo_close_node
|
||||
geo_animated_part LAYER_OPAQUE, 0, 0, 0
|
||||
geo_open_node
|
||||
geo_switch_case 2, geo_switch_anim_state
|
||||
geo_open_node
|
||||
geo_animated_part LAYER_OPAQUE, 0, 0, 0
|
||||
geo_animated_part LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002BA0
|
||||
geo_close_node
|
||||
geo_close_node
|
||||
geo_close_node
|
||||
geo_animated_part LAYER_ALPHA, 0, 0, 0, amp_seg8_dl_08002D70
|
||||
geo_animated_part 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
|
||||
534
actors/amp/model.inc.c
Normal file
534
actors/amp/model.inc.c
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
36
actors/bird/anims/anim_050008D0.inc.c
Normal file
36
actors/bird/anims/anim_050008D0.inc.c
Normal file
@@ -0,0 +1,36 @@
|
||||
// 0x050007E0
|
||||
static const s16 birds_seg5_animvalue_050007E0[] = {
|
||||
0x0000, 0x0013, 0x0017, 0x001A, 0x001E, 0x0022, 0x0020, 0x001A,
|
||||
0xFFFF, 0x3FFF, 0x0888, 0x0695, 0x024C, 0xFE04, 0xFC12, 0xFF4D,
|
||||
0x054D, 0x0000, 0xFF6C, 0xFE24, 0xFCDD, 0xFC48, 0xFD3F, 0xFF0A,
|
||||
0x31C6, 0x228D, 0x010E, 0xDF90, 0xD056, 0xE999, 0x1883, 0x8001,
|
||||
0x7F50, 0x7EC6, 0x7F88, 0x80B3, 0x816F, 0x80C8, 0xF778, 0xF8AE,
|
||||
0xFB59, 0xFE04, 0xFF3A, 0xFD37, 0xF97B, 0x0000, 0x0098, 0x01E8,
|
||||
0x0339, 0x03D1, 0x02D4, 0x00FD, 0x31C6, 0x22A8, 0x0165, 0xE023,
|
||||
0xD104, 0xEA1A, 0x18B0, 0x3FFF, 0x3FFF, 0xC001, 0x3FFF, 0xC001,
|
||||
0x3FFF, 0x8001, 0x7F50, 0x7EC6, 0x7F88, 0x80B3, 0x816F, 0x80C8,
|
||||
};
|
||||
|
||||
// 0x05000870
|
||||
static const u16 birds_seg5_animindex_5000870[] = {
|
||||
0x0001, 0x0000, 0x0007, 0x0001, 0x0001, 0x0008, 0x0001, 0x0000, 0x0001, 0x0009, 0x0001, 0x0000,
|
||||
0x0001, 0x0000, 0x0001, 0x0000, 0x0007, 0x0041,
|
||||
0x0001, 0x003E, 0x0001, 0x003F, 0x0001, 0x0040,
|
||||
0x0007, 0x000A, 0x0007, 0x0011, 0x0007, 0x0018,
|
||||
0x0001, 0x003B, 0x0001, 0x003C, 0x0001, 0x003D,
|
||||
0x0007, 0x0026, 0x0007, 0x002D, 0x0007, 0x0034,
|
||||
0x0001, 0x0000, 0x0001, 0x0000, 0x0007, 0x001F,
|
||||
};
|
||||
|
||||
// 0x050008D0
|
||||
static const struct Animation birds_seg5_anim_050008D0 = {
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0x07,
|
||||
ANIMINDEX_NUMPARTS(birds_seg5_animindex_5000870),
|
||||
birds_seg5_animvalue_050007E0,
|
||||
birds_seg5_animindex_5000870,
|
||||
0,
|
||||
};
|
||||
36
actors/bird/anims/anim_050009D0.inc.c
Normal file
36
actors/bird/anims/anim_050009D0.inc.c
Normal file
@@ -0,0 +1,36 @@
|
||||
// 0x050008E8
|
||||
static const s16 birds_seg5_animvalue_050008E8[] = {
|
||||
0x0000, 0x001A, 0x001B, 0x001B, 0x001B, 0x001B, 0x001B, 0x001B,
|
||||
0x001A, 0xFFFF, 0x3FFF, 0x024C, 0x0246, 0x023A, 0x0234, 0x0238,
|
||||
0x0240, 0x0249, 0x024C, 0xFE24, 0xFE1D, 0xFE0F, 0xFE07, 0xFE0C,
|
||||
0xFE16, 0xFE20, 0xFE24, 0x010E, 0x0195, 0x0290, 0x0317, 0x02C6,
|
||||
0x0212, 0x015F, 0x010E, 0x7EC6, 0xFB59, 0xFB5E, 0xFB68, 0xFB6D,
|
||||
0xFB6A, 0xFB63, 0xFB5C, 0xFB59, 0x01E8, 0x01F5, 0x020B, 0x0218,
|
||||
0x0210, 0x0200, 0x01F0, 0x01E8, 0x0165, 0x01D1, 0x0299, 0x0304,
|
||||
0x02C3, 0x0235, 0x01A6, 0x0165, 0x3FFF, 0x3FFF, 0xC001, 0x3FFF,
|
||||
0xC001, 0x3FFF, 0x7EC6, 0x0000,
|
||||
};
|
||||
|
||||
// 0x05000970
|
||||
static const u16 birds_seg5_animindex_5000970[] = {
|
||||
0x0001, 0x0000, 0x0008, 0x0001, 0x0001, 0x0009, 0x0001, 0x0000, 0x0001, 0x000A, 0x0001, 0x0000,
|
||||
0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0042,
|
||||
0x0001, 0x003F, 0x0001, 0x0040, 0x0001, 0x0041,
|
||||
0x0008, 0x000B, 0x0008, 0x0013, 0x0008, 0x001B,
|
||||
0x0001, 0x003C, 0x0001, 0x003D, 0x0001, 0x003E,
|
||||
0x0008, 0x0024, 0x0008, 0x002C, 0x0008, 0x0034,
|
||||
0x0001, 0x0000, 0x0001, 0x0000, 0x0001, 0x0023,
|
||||
};
|
||||
|
||||
// 0x050009D0
|
||||
static const struct Animation birds_seg5_anim_050009D0 = {
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0x08,
|
||||
ANIMINDEX_NUMPARTS(birds_seg5_animindex_5000970),
|
||||
birds_seg5_animvalue_050008E8,
|
||||
birds_seg5_animindex_5000970,
|
||||
0,
|
||||
};
|
||||
2
actors/bird/anims/data.inc.c
Normal file
2
actors/bird/anims/data.inc.c
Normal file
@@ -0,0 +1,2 @@
|
||||
#include "anim_050008D0.inc.c"
|
||||
#include "anim_050009D0.inc.c"
|
||||
5
actors/bird/anims/table.inc.c
Normal file
5
actors/bird/anims/table.inc.c
Normal file
@@ -0,0 +1,5 @@
|
||||
// 0x050009E8
|
||||
const struct Animation *const birds_seg5_anims_050009E8[] = {
|
||||
&birds_seg5_anim_050008D0,
|
||||
&birds_seg5_anim_050009D0,
|
||||
};
|
||||
@@ -1,2 +0,0 @@
|
||||
# Birds
|
||||
|
||||
25
actors/bird/geo.inc.c
Normal file
25
actors/bird/geo.inc.c
Normal file
@@ -0,0 +1,25 @@
|
||||
// 0x0C000000
|
||||
const GeoLayout birds_geo[] = {
|
||||
GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 100),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_SCALE(0x00, 16384),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, NULL),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000670),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_ANIMATED_PART(LAYER_OPAQUE, 1, -12, 37, NULL),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000528),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_ANIMATED_PART(LAYER_OPAQUE, 1, -12, -37, NULL),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000600),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000598),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_CLOSE_NODE(),
|
||||
GEO_END(),
|
||||
};
|
||||
@@ -1,23 +0,0 @@
|
||||
glabel birds_geo # 0x0C000000
|
||||
geo_shadow SHADOW_CIRCLE_4_VERTS, 0x96, 100
|
||||
geo_open_node
|
||||
geo_scale 0x00, 16384
|
||||
geo_open_node
|
||||
geo_animated_part LAYER_OPAQUE, 0, 0, 0
|
||||
geo_open_node
|
||||
geo_animated_part LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000670
|
||||
geo_open_node
|
||||
geo_animated_part LAYER_OPAQUE, 1, -12, 37
|
||||
geo_open_node
|
||||
geo_animated_part LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000528
|
||||
geo_close_node
|
||||
geo_animated_part LAYER_OPAQUE, 1, -12, -37
|
||||
geo_open_node
|
||||
geo_animated_part LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000600
|
||||
geo_close_node
|
||||
geo_close_node
|
||||
geo_animated_part LAYER_OPAQUE, 0, 0, 0, birds_seg5_dl_05000598
|
||||
geo_close_node
|
||||
geo_close_node
|
||||
geo_close_node
|
||||
geo_end
|
||||
227
actors/bird/model.inc.c
Normal file
227
actors/bird/model.inc.c
Normal file
@@ -0,0 +1,227 @@
|
||||
// Birds
|
||||
|
||||
// 0x05000000
|
||||
static const Ambient birds_seg5_light_05000000 = {
|
||||
{{0x07, 0x24, 0x2c}, 0, {0x07, 0x24, 0x2c}, 0}
|
||||
};
|
||||
|
||||
// 0x05000008
|
||||
static const Light birds_seg5_light_05000008 = {
|
||||
{{0x1d, 0x91, 0xb0}, 0, {0x1d, 0x91, 0xb0}, 0, {0x28, 0x28, 0x28}, 0}
|
||||
};
|
||||
|
||||
// 0x05000018
|
||||
static const Ambient birds_seg5_light_05000018 = {
|
||||
{{0x33, 0x27, 0x0d}, 0, {0x33, 0x27, 0x0d}, 0}
|
||||
};
|
||||
|
||||
// 0x05000020
|
||||
static const Light birds_seg5_light_05000020 = {
|
||||
{{0xce, 0x9d, 0x34}, 0, {0xce, 0x9d, 0x34}, 0, {0x28, 0x28, 0x28}, 0}
|
||||
};
|
||||
|
||||
// 0x05000030
|
||||
static const Ambient birds_seg5_light_05000030 = {
|
||||
{{0x3f, 0x3f, 0x3f}, 0, {0x3f, 0x3f, 0x3f}, 0}
|
||||
};
|
||||
|
||||
// 0x05000038
|
||||
static const Light birds_seg5_light_05000038 = {
|
||||
{{0xff, 0xff, 0xff}, 0, {0xff, 0xff, 0xff}, 0, {0x28, 0x28, 0x28}, 0}
|
||||
};
|
||||
|
||||
// 0x05000048
|
||||
static const Vtx birds_seg5_vertex_05000048[] = {
|
||||
{{{ 178, 2, 39}, 0, { 0, 0}, {0x0d, 0x7e, 0x00, 0x00}}},
|
||||
{{{ 122, -4, -33}, 0, { 0, 0}, {0x10, 0x79, 0xde, 0x00}}},
|
||||
{{{ 97, 10, 13}, 0, { 0, 0}, {0x0b, 0x7e, 0xff, 0x00}}},
|
||||
{{{ 47, 4, 47}, 0, { 0, 0}, {0xfe, 0x7c, 0x1b, 0xff}}},
|
||||
{{{ 53, 14, 7}, 0, { 0, 0}, {0xfe, 0x7e, 0xf8, 0xff}}},
|
||||
{{{ 0, 5, 32}, 0, { 0, 0}, {0xf0, 0x7d, 0x03, 0xff}}},
|
||||
{{{ 27, 9, 16}, 0, { 0, 0}, {0xee, 0x7d, 0x05, 0xff}}},
|
||||
{{{ 53, -8, -58}, 0, { 0, 0}, {0x0a, 0x78, 0xd8, 0xff}}},
|
||||
{{{ -4, -6, -64}, 0, { 0, 0}, {0xf1, 0x7b, 0xe9, 0xff}}},
|
||||
};
|
||||
|
||||
// 0x050000D8
|
||||
static const Vtx birds_seg5_vertex_050000D8[] = {
|
||||
{{{ -143, -7, -29}, 0, { 0, 0}, {0x16, 0x94, 0xc2, 0x00}}},
|
||||
{{{ -86, -11, -2}, 0, { 0, 0}, {0x16, 0x94, 0xc2, 0x00}}},
|
||||
{{{ -154, -21, -9}, 0, { 0, 0}, {0x16, 0x94, 0xc2, 0x00}}},
|
||||
};
|
||||
|
||||
// 0x05000108
|
||||
static const Vtx birds_seg5_vertex_05000108[] = {
|
||||
{{{ -154, -21, 9}, 0, { 0, 0}, {0x16, 0x94, 0x3e, 0x00}}},
|
||||
{{{ -86, -11, 2}, 0, { 0, 0}, {0x16, 0x94, 0x3e, 0x00}}},
|
||||
{{{ -143, -7, 29}, 0, { 0, 0}, {0x16, 0x94, 0x3e, 0x00}}},
|
||||
};
|
||||
|
||||
// 0x05000138
|
||||
static const Vtx birds_seg5_vertex_05000138[] = {
|
||||
{{{ -152, -30, -17}, 0, { 0, 0}, {0x26, 0x87, 0x00, 0x00}}},
|
||||
{{{ -80, -7, 0}, 0, { 0, 0}, {0x26, 0x87, 0x00, 0x00}}},
|
||||
{{{ -152, -30, 17}, 0, { 0, 0}, {0x26, 0x87, 0x00, 0x00}}},
|
||||
};
|
||||
|
||||
// 0x05000168
|
||||
static const Vtx birds_seg5_vertex_05000168[] = {
|
||||
{{{ 97, 10, -13}, 0, { 0, 0}, {0x0b, 0x7e, 0x01, 0x00}}},
|
||||
{{{ 122, -4, 33}, 0, { 0, 0}, {0x10, 0x79, 0x22, 0x00}}},
|
||||
{{{ 178, 2, -39}, 0, { 0, 0}, {0x0d, 0x7e, 0x00, 0x00}}},
|
||||
{{{ 47, 4, -47}, 0, { 0, 0}, {0xfe, 0x7c, 0xe5, 0xff}}},
|
||||
{{{ 53, 14, -7}, 0, { 0, 0}, {0xff, 0x7f, 0x02, 0xff}}},
|
||||
{{{ 27, 9, -16}, 0, { 0, 0}, {0xf1, 0x7d, 0x06, 0xff}}},
|
||||
{{{ 0, 5, -32}, 0, { 0, 0}, {0xf0, 0x7d, 0xfd, 0xff}}},
|
||||
{{{ -4, -6, 64}, 0, { 0, 0}, {0xf7, 0x7c, 0x14, 0xff}}},
|
||||
{{{ 53, -8, 58}, 0, { 0, 0}, {0xfa, 0x79, 0x25, 0xff}}},
|
||||
};
|
||||
|
||||
// 0x050001F8
|
||||
static const Vtx birds_seg5_vertex_050001F8[] = {
|
||||
{{{ 69, 4, -40}, 0, { 0, 0}, {0x40, 0x26, 0x9a, 0x00}}},
|
||||
{{{ 78, -51, -21}, 0, { 0, 0}, {0x27, 0xae, 0xa8, 0x00}}},
|
||||
{{{ -1, 0, -56}, 0, { 0, 0}, {0xf4, 0xc6, 0x90, 0x00}}},
|
||||
{{{ 69, 4, 40}, 0, { 0, 0}, {0x40, 0x26, 0x66, 0xff}}},
|
||||
{{{ 10, 48, 56}, 0, { 0, 0}, {0xef, 0x41, 0x6b, 0xff}}},
|
||||
{{{ -1, 0, 56}, 0, { 0, 0}, {0xf4, 0xc6, 0x70, 0xff}}},
|
||||
{{{ -88, 21, 0}, 0, { 0, 0}, {0xaa, 0x5d, 0x00, 0xff}}},
|
||||
{{{ -103, -10, -11}, 0, { 0, 0}, {0xa7, 0x30, 0xb4, 0xff}}},
|
||||
{{{ -103, -10, 11}, 0, { 0, 0}, {0xa7, 0x30, 0x4c, 0xff}}},
|
||||
{{{ 83, -57, 0}, 0, { 0, 0}, {0xdd, 0x87, 0x00, 0xff}}},
|
||||
{{{ -9, -30, 0}, 0, { 0, 0}, {0xe0, 0x86, 0x00, 0xff}}},
|
||||
{{{ 113, 0, -10}, 0, { 0, 0}, {0x4e, 0x32, 0xab, 0xff}}},
|
||||
{{{ 113, 0, 10}, 0, { 0, 0}, {0x4e, 0x32, 0x55, 0xff}}},
|
||||
{{{ 78, -51, 21}, 0, { 0, 0}, {0x27, 0xae, 0x58, 0xff}}},
|
||||
{{{ -103, -10, 11}, 0, { 0, 0}, {0xea, 0x88, 0x1f, 0xff}}},
|
||||
{{{ 113, -23, 0}, 0, { 0, 0}, {0x62, 0xb0, 0x00, 0xff}}},
|
||||
};
|
||||
|
||||
// 0x050002F8
|
||||
static const Vtx birds_seg5_vertex_050002F8[] = {
|
||||
{{{ 83, -57, 0}, 0, { 0, 0}, {0x60, 0xad, 0x00, 0xff}}},
|
||||
{{{ 113, -23, 0}, 0, { 0, 0}, {0x62, 0xb0, 0x00, 0x00}}},
|
||||
{{{ 78, -51, 21}, 0, { 0, 0}, {0x27, 0xae, 0x58, 0x00}}},
|
||||
{{{ 78, -51, -21}, 0, { 0, 0}, {0x27, 0xae, 0xa8, 0xff}}},
|
||||
{{{ -103, -10, -11}, 0, { 0, 0}, {0xa7, 0x30, 0xb4, 0xff}}},
|
||||
{{{ -88, 21, 0}, 0, { 0, 0}, {0xaa, 0x5d, 0x00, 0xff}}},
|
||||
{{{ 10, 48, -56}, 0, { 0, 0}, {0xef, 0x41, 0x95, 0xff}}},
|
||||
{{{ -1, 0, -56}, 0, { 0, 0}, {0xf4, 0xc6, 0x90, 0xff}}},
|
||||
{{{ 10, 48, 56}, 0, { 0, 0}, {0xef, 0x41, 0x6b, 0xff}}},
|
||||
{{{ -103, -10, 11}, 0, { 0, 0}, {0xa7, 0x30, 0x4c, 0xff}}},
|
||||
{{{ -103, -10, -11}, 0, { 0, 0}, {0xea, 0x88, 0xe1, 0xff}}},
|
||||
{{{ -9, -30, 0}, 0, { 0, 0}, {0xe0, 0x86, 0x00, 0xff}}},
|
||||
{{{ -103, -10, 11}, 0, { 0, 0}, {0xea, 0x88, 0x1f, 0xff}}},
|
||||
{{{ 83, -57, 0}, 0, { 0, 0}, {0xdd, 0x87, 0x00, 0xff}}},
|
||||
{{{ -1, 0, 56}, 0, { 0, 0}, {0xf4, 0xc6, 0x70, 0xff}}},
|
||||
{{{ 69, 4, -40}, 0, { 0, 0}, {0x40, 0x26, 0x9a, 0xff}}},
|
||||
};
|
||||
|
||||
// 0x050003F8
|
||||
static const Vtx birds_seg5_vertex_050003F8[] = {
|
||||
{{{ -1, 0, 56}, 0, { 0, 0}, {0xf4, 0xc6, 0x70, 0xff}}},
|
||||
{{{ 78, -51, 21}, 0, { 0, 0}, {0x27, 0xae, 0x58, 0x00}}},
|
||||
{{{ 69, 4, 40}, 0, { 0, 0}, {0x40, 0x26, 0x66, 0x00}}},
|
||||
};
|
||||
|
||||
// 0x05000428
|
||||
static const Vtx birds_seg5_vertex_05000428[] = {
|
||||
{{{ 69, 4, -40}, 0, { 0, 0}, {0x40, 0x26, 0x9a, 0x00}}},
|
||||
{{{ 10, 48, -56}, 0, { 0, 0}, {0xef, 0x41, 0x95, 0x00}}},
|
||||
{{{ 18, 78, 0}, 0, { 0, 0}, {0x54, 0x5e, 0x00, 0x00}}},
|
||||
{{{ 10, 48, 56}, 0, { 0, 0}, {0xef, 0x41, 0x6b, 0xff}}},
|
||||
{{{ 18, 78, 0}, 0, { 0, 0}, {0xc4, 0x6f, 0x00, 0xff}}},
|
||||
{{{ -88, 21, 0}, 0, { 0, 0}, {0xaa, 0x5d, 0x00, 0xff}}},
|
||||
{{{ 113, 0, -10}, 0, { 0, 0}, {0x4e, 0x32, 0xab, 0xff}}},
|
||||
{{{ 69, 33, 0}, 0, { 0, 0}, {0x4b, 0x65, 0x00, 0xff}}},
|
||||
{{{ 113, 0, 10}, 0, { 0, 0}, {0x4e, 0x32, 0x55, 0xff}}},
|
||||
{{{ 69, 4, 40}, 0, { 0, 0}, {0x40, 0x26, 0x66, 0xff}}},
|
||||
};
|
||||
|
||||
// 0x050004C8
|
||||
static const Vtx birds_seg5_vertex_050004C8[] = {
|
||||
{{{ 113, -23, 0}, 0, { 0, 0}, {0x62, 0xb0, 0x00, 0x00}}},
|
||||
{{{ 113, 0, -10}, 0, { 0, 0}, {0x4e, 0x32, 0xab, 0x00}}},
|
||||
{{{ 143, -2, 0}, 0, { 0, 0}, {0x24, 0xcb, 0x93, 0x00}}},
|
||||
{{{ 113, 0, 10}, 0, { 0, 0}, {0x4e, 0x32, 0x55, 0xff}}},
|
||||
{{{ 143, -2, 0}, 0, { 0, 0}, {0x24, 0xcb, 0x6d, 0xff}}},
|
||||
{{{ 143, -2, 0}, 0, { 0, 0}, {0x07, 0x7e, 0x00, 0xff}}},
|
||||
};
|
||||
|
||||
// 0x05000528 - 0x05000598
|
||||
const Gfx birds_seg5_dl_05000528[] = {
|
||||
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(),
|
||||
};
|
||||
|
||||
// 0x05000598 - 0x05000600
|
||||
const Gfx birds_seg5_dl_05000598[] = {
|
||||
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(),
|
||||
};
|
||||
|
||||
// 0x05000600 - 0x05000670
|
||||
const Gfx birds_seg5_dl_05000600[] = {
|
||||
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(),
|
||||
};
|
||||
|
||||
// 0x05000670 - 0x050007E0
|
||||
const Gfx birds_seg5_dl_05000670[] = {
|
||||
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(),
|
||||
};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user