Make adjustments to most course files (#318)

* Make adjustments to the Mario Raceway course file

Added quotes in "*.mk" to the find command for finding the .mk files.

* Make adjustments to the Choco Mountain course file

* Make adjustments to the Frappe Snowland course file

* Make adjustments to the Toad's Turnpike course file

* Make adjustments to the Moo Moo Farm course file

* Make adjustments to the Luigi Raceway course file

* Make adjustments to the Koopa Troopa Beach course file

* Make adjustments to the Kalimari Desert course file

* Make adjustments to the Bowser's Castle course file

* Make adjustements to the Wario Stadium course file

* Make adjustments to the Sherbet Land course file

* Make adjustments to the Royal Raceway course file

* Make adjustments to the Banshee Boardwalk course file

* Make adjustments to the Yoshi Valley course file

* Make adjustments to the Rainbow Road course file

* Make adjustments to the Big Donut course file

* Make adjustments to the Block Fort course file

* Remove some unneeded lines from the Makefile

Signed-off-by: Taggerung <tyler.taggerung@email.com>
This commit is contained in:
Tyler McGavran 2023-06-28 16:20:02 -04:00 committed by GitHub
parent 7970b8d9c2
commit 1b659170dc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
68 changed files with 21744 additions and 20088 deletions

View File

@ -273,7 +273,7 @@ $(BUILD_DIR)/src/startup_logo.inc.o: src/startup_logo.inc.c
############################### Assets ############################### ############################### Assets ###############################
ASSET_INCLUDES := $(shell find $(ASSET_DIR)/include -type f -name *.mk) ASSET_INCLUDES := $(shell find $(ASSET_DIR)/include -type f -name '*.mk')
ASSET_DIRECTORIES := ASSET_DIRECTORIES :=
$(foreach inc,$(ASSET_INCLUDES),$(eval include $(inc))) $(foreach inc,$(ASSET_INCLUDES),$(eval include $(inc)))
@ -350,7 +350,6 @@ $(COURSE_MODEL_TARGETS) : $(BUILD_DIR)/%/model.inc.mio0.o : %/model.inc.c $(COUR
COURSE_TEXTURE_FILES := $(foreach dir,textures/courses,$(subst .png, , $(wildcard $(dir)/*))) COURSE_TEXTURE_FILES := $(foreach dir,textures/courses,$(subst .png, , $(wildcard $(dir)/*)))
COURSE_TLUT := $(foreach dir,textures/courses/tlut,$(subst .png, , $(wildcard $(dir)/*))) COURSE_TLUT := $(foreach dir,textures/courses/tlut,$(subst .png, , $(wildcard $(dir)/*)))
COURSE_TLUT2 := $(foreach dir,textures/courses/tlut2,$(subst .png, , $(wildcard $(dir)/*))) COURSE_TLUT2 := $(foreach dir,textures/courses/tlut2,$(subst .png, , $(wildcard $(dir)/*)))
COURSE_TLUT3 := $(foreach dir,textures/courses/tlut3,$(subst .png, , $(wildcard $(dir)/*)))
#RAINBOW_ROAD_TEXTURE_FILES := $(foreach dir,textures/courses/rainbow_road,$(subst .png, , $(wildcard $(dir)/*))) #RAINBOW_ROAD_TEXTURE_FILES := $(foreach dir,textures/courses/rainbow_road,$(subst .png, , $(wildcard $(dir)/*)))
COURSE_DATA_TARGETS := $(foreach dir,$(COURSE_DIRS),$(BUILD_DIR)/$(dir)/course_data.inc.mio0.o) COURSE_DATA_TARGETS := $(foreach dir,$(COURSE_DIRS),$(BUILD_DIR)/$(dir)/course_data.inc.mio0.o)
@ -365,11 +364,7 @@ $(COURSE_TLUT):
$(COURSE_TLUT2): $(COURSE_TLUT2):
$(N64GRAPHICS) -i $(BUILD_DIR)/$@.inc.c -g $@.png -f $(lastword $(subst ., ,$@)) -s u8 -c $(lastword $(subst ., ,$(subst .$(lastword $(subst ., ,$(COURSE_TLUT2))), ,$(COURSE_TLUT2)))) -p $(BUILD_DIR)/$@.tlut.inc.c -m 0xFFFF $(N64GRAPHICS) -i $(BUILD_DIR)/$@.inc.c -g $@.png -f $(lastword $(subst ., ,$@)) -s u8 -c $(lastword $(subst ., ,$(subst .$(lastword $(subst ., ,$(COURSE_TLUT2))), ,$(COURSE_TLUT2)))) -p $(BUILD_DIR)/$@.tlut.inc.c -m 0xFFFF
$(COURSE_TLUT3): $(COURSE_DATA_TARGETS_O): $(BUILD_DIR)/%/course_data.inc.o : %/course_data.inc.c $(COURSE_TEXTURE_FILES) $(COURSE_TLUT) $(COURSE_TLUT2)
$(N64GRAPHICS) -Z $(BUILD_DIR)/$@.inc.c -g $@.png -s u8 -c rgba16 -f ci8 -p textures/courses/$(basename $(notdir $@)).png
# tluts
$(COURSE_DATA_TARGETS_O): $(BUILD_DIR)/%/course_data.inc.o : %/course_data.inc.c $(COURSE_TEXTURE_FILES) $(COURSE_TLUT) $(COURSE_TLUT2) $(COURSE_TLUT3)
@$(CC_CHECK) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $< @$(CC_CHECK) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
$(CC) -c $(CFLAGS) -o $@ $< $(CC) -c $(CFLAGS) -o $@ $<
$(PYTHON) tools/set_o32abi_bit.py $@ $(PYTHON) tools/set_o32abi_bit.py $@

View File

@ -65,26 +65,7 @@ TEXTURE_DATA_MIO0_NAMES := \
texture_692888 \ texture_692888 \
texture_692CC0 \ texture_692CC0 \
texture_69333C \ texture_69333C \
texture_693790 \ texture_693790
texture_693BC4 \
texture_693F48 \
texture_69429C \
texture_694628 \
texture_694990 \
texture_694CAC \
texture_694F7C \
texture_695268 \
texture_6955AC \
texture_6958C0 \
texture_695BA4 \
texture_695EE4 \
texture_6961E0 \
texture_696488 \
texture_6967FC \
texture_699E24 \
texture_69A154 \
texture_69A4C0 \
texture_ghosts
TEXTURE_DATA_MIO0_FILES := $(addprefix $(BUILD_DIR)/bin/,$(addsuffix .mio0,$(TEXTURE_DATA_MIO0_NAMES))) TEXTURE_DATA_MIO0_FILES := $(addprefix $(BUILD_DIR)/bin/,$(addsuffix .mio0,$(TEXTURE_DATA_MIO0_NAMES)))

View File

@ -193,16 +193,6 @@
"bin/texture_692CC0.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x692CC0","0x0"]}}, "bin/texture_692CC0.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x692CC0","0x0"]}},
"bin/texture_69333C.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x69333C","0x0"]}}, "bin/texture_69333C.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x69333C","0x0"]}},
"bin/texture_693790.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x693790","0x0"]}}, "bin/texture_693790.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x693790","0x0"]}},
"bin/texture_693BC4.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x693BC4","0x0"]}},
"bin/texture_693F48.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x693F48","0x0"]}},
"bin/texture_69429C.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x69429C","0x0"]}},
"bin/texture_694628.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x694628","0x0"]}},
"bin/texture_694990.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x694990","0x0"]}},
"bin/texture_694CAC.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x694CAC","0x0"]}},
"bin/texture_694F7C.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x694F7C","0x0"]}},
"bin/texture_695268.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x695268","0x0"]}},
"bin/texture_6955AC.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x6955AC","0x0"]}},
"bin/texture_6958C0.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x6958C0","0x0"]}},
"bin/texture_695BA4.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x695BA4","0x0"]}}, "bin/texture_695BA4.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x695BA4","0x0"]}},
"bin/texture_695EE4.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x695EE4","0x0"]}}, "bin/texture_695EE4.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x695EE4","0x0"]}},
"bin/texture_6961E0.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x6961E0","0x0"]}}, "bin/texture_6961E0.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x6961E0","0x0"]}},
@ -225,9 +215,6 @@
"bin/texture_698FF4.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x698FF4","0x0"]}}, "bin/texture_698FF4.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x698FF4","0x0"]}},
"bin/texture_6991F8.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x6991F8","0x0"]}}, "bin/texture_6991F8.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x6991F8","0x0"]}},
"bin/texture_699500.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x699500","0x0"]}}, "bin/texture_699500.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x699500","0x0"]}},
"bin/texture_699E24.bin": {"meta":{"size": "0x400"}, "offsets":{"us":["0x699E24","0x0"]}},
"bin/texture_69A154.bin": {"meta":{"size": "0x400"}, "offsets":{"us":["0x69A154","0x0"]}},
"bin/texture_69A4C0.bin": {"meta":{"size": "0x400"}, "offsets":{"us":["0x69A4C0","0x0"]}},
"bin/texture_69F158.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x69F158","0x0"]}}, "bin/texture_69F158.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x69F158","0x0"]}},
"bin/texture_69F390.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x69F390","0x0"]}}, "bin/texture_69F390.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x69F390","0x0"]}},
"bin/texture_69F5E4.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x69F5E4","0x0"]}}, "bin/texture_69F5E4.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x69F5E4","0x0"]}},
@ -236,7 +223,6 @@
"bin/texture_69FF30.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x69FF30","0x0"]}}, "bin/texture_69FF30.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x69FF30","0x0"]}},
"bin/texture_6A010C.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x6A010C","0x0"]}}, "bin/texture_6A010C.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x6A010C","0x0"]}},
"bin/texture_6A0350.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x6A0350","0x0"]}}, "bin/texture_6A0350.bin": {"meta":{"size": "0x800"}, "offsets":{"us":["0x6A0350","0x0"]}},
"bin/texture_ghosts.bin": {"meta":{"size": "0xD980"}, "offsets":{"us":["0x712DC0","0x0"]}},
"bin/gTexturePlayerSelect.rgba16.tkmk00": {"meta":{"size":"0xC00"}, "offsets": {"us":["0x7FA3C0", "0x0"]}}, "bin/gTexturePlayerSelect.rgba16.tkmk00": {"meta":{"size":"0xC00"}, "offsets": {"us":["0x7FA3C0", "0x0"]}},
"bin/gTextureOption.rgba16.tkmk00": {"meta":{"size":"0x900"}, "offsets": {"us":["0x7FAFC0", "0x0"]}}, "bin/gTextureOption.rgba16.tkmk00": {"meta":{"size":"0x900"}, "offsets": {"us":["0x7FAFC0", "0x0"]}},
@ -433,8 +419,6 @@
"textures/standalone/wood_door_0.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x648830", "0x00000"]}}, "textures/standalone/wood_door_0.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x648830", "0x00000"]}},
"textures/standalone/wood_door_1.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x648AC4", "0x00000"]}}, "textures/standalone/wood_door_1.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x648AC4", "0x00000"]}},
"textures/standalone/grass_2.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x6493C8", "0x00000"]}}, "textures/standalone/grass_2.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x6493C8", "0x00000"]}},
"textures/standalone/sign_moo_moo_farm_0.rgba16.png": {"meta":{"dims":[64,32]}, "offsets": {"us":["0x6497E0", "0x00000"]}},
"textures/standalone/sign_moo_moo_farm_1.rgba16.png": {"meta":{"dims":[64,32]}, "offsets": {"us":["0x64A248", "0x00000"]}},
"textures/standalone/texture_64ACAC.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x64ACAC", "0x00000"]}}, "textures/standalone/texture_64ACAC.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x64ACAC", "0x00000"]}},
"textures/standalone/texture_64AF50.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x64AF50", "0x00000"]}}, "textures/standalone/texture_64AF50.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x64AF50", "0x00000"]}},
"textures/standalone/texture_64B090.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x64B090", "0x00000"]}}, "textures/standalone/texture_64B090.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x64B090", "0x00000"]}},
@ -693,35 +677,9 @@
"textures/692CC0_00000.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x4C68", "0x132B50"]}, "offsets": {"us":["0x692CC0", "0x00000"]}}, "textures/692CC0_00000.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x4C68", "0x132B50"]}, "offsets": {"us":["0x692CC0", "0x00000"]}},
"textures/standalone/shrub.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x692F3C", "0x00000"]}}, "textures/standalone/shrub.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x692F3C", "0x00000"]}},
"textures/69333C_00000.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x7320", "0x83F740"]}, "offsets": {"us":["0x69333C", "0x00000"]}},
"textures/693790_00000.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x7320", "0x83F740"]}, "offsets": {"us":["0x693790", "0x00000"]}},
"textures/courses/moo_moo_farm_cow_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x852E20", "0x13870"]}},
"textures/gTextureCow01Left.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x13870", "0x852E20"]}, "offsets": {"us":["0x693BC4", "0x00000"]}},
"textures/gTextureCow01Right.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x13870", "0x852E20"]}, "offsets": {"us":["0x693F48", "0x00000"]}},
"textures/gTextureCow02Left.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x13870", "0x852E20"]}, "offsets": {"us":["0x69429C", "0x00000"]}},
"textures/gTextureCow02Right.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x13870", "0x852E20"]}, "offsets": {"us":["0x694628", "0x00000"]}},
"textures/gTextureCow03Left.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x13870", "0x852E20"]}, "offsets": {"us":["0x694990", "0x00000"]}},
"textures/gTextureCow03Right.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x13870", "0x852E20"]}, "offsets": {"us":["0x694CAC", "0x00000"]}},
"textures/gTextureCow04Left.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x13870", "0x852E20"]}, "offsets": {"us":["0x694F7C", "0x00000"]}},
"textures/gTextureCow04Right.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x13870", "0x852E20"]}, "offsets": {"us":["0x695268", "0x00000"]}},
"textures/gTextureCow05Left.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x13870", "0x852E20"]}, "offsets": {"us":["0x6955AC", "0x00000"]}},
"textures/gTextureCow05Right.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x13870", "0x852E20"]}, "offsets": {"us":["0x6958C0", "0x00000"]}},
"textures/gTLUTCactus.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x8666A0", "0x8380"]}},
"textures/gTextureCactus01Left.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x8380", "0x8666A0"]}, "offsets": {"us":["0x695BA4", "0x00000"]}},
"textures/gTextureCactus01Right.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x8380", "0x8666A0"]}, "offsets": {"us":["0x695EE4", "0x00000"]}},
"textures/gTextureCactus02Left.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x8380", "0x8666A0"]}, "offsets": {"us":["0x6961E0", "0x00000"]}},
"textures/gTextureCactus02Right.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x8380", "0x8666A0"]}, "offsets": {"us":["0x696488", "0x00000"]}},
"textures/gTextureCactus03.rgba16.ci8.png": {"meta":{"dims":[32,64], "pal":["0x8380", "0x8666A0"]}, "offsets": {"us":["0x6967FC", "0x00000"]}},
"textures/standalone/texture_6997E0.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x6997E0", "0x00000"]}}, "textures/standalone/texture_6997E0.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x6997E0", "0x00000"]}},
"textures/courses/dks_jungle_parkway_kiwano_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x885A10", "0x13978"]}},
"textures/gTextureKiwanoFruit01.rgba16.ci8.png": {"meta":{"dims":[32,32], "pal":["0x13978", "0x885A10"]}, "offsets": {"us":["0x699E24", "0x00000"]}},
"textures/gTextureKiwanoFruit02.rgba16.ci8.png": {"meta":{"dims":[32,32], "pal":["0x13978", "0x885A10"]}, "offsets": {"us":["0x69A154", "0x00000"]}},
"textures/gTextureKiwanoFruit03.rgba16.ci8.png": {"meta":{"dims":[32,32], "pal":["0x13978", "0x885A10"]}, "offsets": {"us":["0x69A4C0", "0x00000"]}},
"textures/standalone/kart_shadow.i8.png": {"meta":{"dims":[64,64]}, "offsets": {"us":["0x69A830", "0x00000"]}}, "textures/standalone/kart_shadow.i8.png": {"meta":{"dims":[64,64]}, "offsets": {"us":["0x69A830", "0x00000"]}},
"textures/standalone/texture_69B03C.i8.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x69B03C", "0x00000"]}}, "textures/standalone/texture_69B03C.i8.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x69B03C", "0x00000"]}},
"textures/standalone/texture_69B140.i8.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x69B140", "0x00000"]}}, "textures/standalone/texture_69B140.i8.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x69B140", "0x00000"]}},
@ -756,37 +714,6 @@
"textures/standalone/lightning_zap_0.ia8.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x6A04E4", "0x00000"]}}, "textures/standalone/lightning_zap_0.ia8.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x6A04E4", "0x00000"]}},
"textures/standalone/lightning_zap_1.ia8.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x6A0798", "0x00000"]}}, "textures/standalone/lightning_zap_1.ia8.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x6A0798", "0x00000"]}},
"textures/courses/gTLUTBoo.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x831DC0", "0x5C80"]}},
"textures/712DC0_00000.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x00000"]}},
"textures/712DC0_00780.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x00780"]}},
"textures/712DC0_00F00.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x00F00"]}},
"textures/712DC0_01680.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x01680"]}},
"textures/712DC0_01E00.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x01E00"]}},
"textures/712DC0_02580.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x02580"]}},
"textures/712DC0_02D00.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x02D00"]}},
"textures/712DC0_03480.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x03480"]}},
"textures/712DC0_03C00.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x03C00"]}},
"textures/712DC0_04380.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x04380"]}},
"textures/712DC0_04B00.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x04B00"]}},
"textures/712DC0_05280.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x05280"]}},
"textures/712DC0_05A00.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x05A00"]}},
"textures/712DC0_06180.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x06180"]}},
"textures/712DC0_06900.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x06900"]}},
"textures/712DC0_07080.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x07080"]}},
"textures/712DC0_07800.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x07800"]}},
"textures/712DC0_07F80.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x07F80"]}},
"textures/712DC0_08700.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x08700"]}},
"textures/712DC0_08E80.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x08E80"]}},
"textures/712DC0_09600.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x09600"]}},
"textures/712DC0_09D80.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x09D80"]}},
"textures/712DC0_0A500.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x0A500"]}},
"textures/712DC0_0AC80.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x0AC80"]}},
"textures/712DC0_0B400.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x0B400"]}},
"textures/712DC0_0BB80.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x0BB80"]}},
"textures/712DC0_0C300.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x0C300"]}},
"textures/712DC0_0CA80.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x0CA80"]}},
"textures/712DC0_0D200.rgba16.ci8.png": {"meta":{"dims":[48,40], "pal":["0x5C80", "0x831DC0"]}, "offsets": {"us":["0x712DC0", "0x0D200"]}},
"textures/standalone/exhaust_0.ia8.png": {"meta":{"dims":[32,96]}, "offsets": {"us":["0x717A84", "0x00000"]}}, "textures/standalone/exhaust_0.ia8.png": {"meta":{"dims":[32,96]}, "offsets": {"us":["0x717A84", "0x00000"]}},
"textures/standalone/exhaust_1.ia8.png": {"meta":{"dims":[32,96]}, "offsets": {"us":["0x717F00", "0x00000"]}}, "textures/standalone/exhaust_1.ia8.png": {"meta":{"dims":[32,96]}, "offsets": {"us":["0x717F00", "0x00000"]}},
"textures/standalone/exhaust_2.ia8.png": {"meta":{"dims":[32,96]}, "offsets": {"us":["0x718388", "0x00000"]}}, "textures/standalone/exhaust_2.ia8.png": {"meta":{"dims":[32,96]}, "offsets": {"us":["0x718388", "0x00000"]}},
@ -1329,189 +1256,5 @@
"textures/821D10_06BD0.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x821D10", "0x06BD0"]}}, "textures/821D10_06BD0.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x821D10", "0x06BD0"]}},
"textures/821D10_07760.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x821D10", "0x07760"]}}, "textures/821D10_07760.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x821D10", "0x07760"]}},
"textures/821D10_08070.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x821D10", "0x08070"]}}, "textures/821D10_08070.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x821D10", "0x08070"]}},
"textures/825800_08A48.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x825800", "0x08A48"]}}, "textures/825800_08A48.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x825800", "0x08A48"]}}
"textures/courses/mario_raceway_sign_left.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x8284D0", "0x07068"]}},
"textures/courses/mario_raceway_sign_right.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x8284D0", "0x08068"]}},
"textures/courses/choco_mountain_wall.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x82B620", "0x05B38"]}},
"textures/courses/choco_mountain_rock.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x82B620", "0x06338"]}},
"textures/courses/bowsers_castle_thwomp.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x82DF40", "0x06738"]}},
"textures/courses/tlut/bowsers_castle_thwomp_face.rgba16.ci8.png": {"meta":{"dims":[16,384], "pal":"0x6F38"}, "offsets": {"us":["0x82DF40", "0x07138"]}},
"textures/courses/banshee_boardwalk_fish_eyes.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x831DC0", "0x06E50"]}},
"textures/courses/tlut/banshee_boardwalk_bat.rgba16.ci8.png": {"meta":{"dims":[32,256], "pal":"0x7BB8"}, "offsets": {"us":["0x831DC0", "0x07DB8"]}},
"textures/courses/banshee_boardwalk_0A050.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x831DC0", "0x0A050"]}},
"textures/courses/banshee_boardwalk_0AA78.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x831DC0", "0x0AA78"]}},
"textures/courses/yoshi_valley_yoshi_flag.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x835BA0", "0x139A0"]}},
"textures/courses/tlut2/yoshi_valley_hedgehog.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x14908"}, "offsets": {"us":["0x835BA0", "0x14B08"]}},
"textures/courses/yoshi_valley_egg_spot.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x835BA0", "0x16570"]}},
"textures/courses/yoshi_valley_egg.rgba16.png": {"meta":{"dims":[64,32]}, "offsets": {"us":["0x835BA0", "0x16FA8"]}},
"textures/courses/tlut2/frappe_snowland_snowman.rgba16.ci8.png": {"meta":{"dims":[64,128], "pal":"0x4B20"}, "offsets": {"us":["0x83F740", "0x04D20"]}},
"textures/courses/tlut/frappe_snowland_snow.rgba16.ci8.png": {"meta":{"dims":[32,32], "pal":"0x6D20"}, "offsets": {"us":["0x83F740", "0x06F20"]}},
"textures/courses/frappe_snowland_tree.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x83F740", "0x07320"]}},
"textures/courses/koopa_troopa_beach_crab1.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x842E40", "0x0D628"]}},
"textures/courses/koopa_troopa_beach_crab2.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x842E40", "0x0D628"]}},
"textures/courses/koopa_troopa_beach_crab3.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x842E40", "0x0D628"]}},
"textures/courses/koopa_troopa_beach_crab4.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x842E40", "0x0D628"]}},
"textures/courses/koopa_troopa_beach_crab5.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x842E40", "0x0D628"]}},
"textures/courses/koopa_troopa_beach_crab6.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x842E40", "0x0D628"]}},
"textures/courses/koopa_troopa_beach_crab7.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x842E40", "0x0D628"]}},
"textures/courses/tlut3/koopa_troopa_beach_crab1.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0xD628"}, "offsets": {"us":["0x842E40", "0x0D828"]}},
"textures/courses/tlut3/koopa_troopa_beach_crab2.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0xD628"}, "offsets": {"us":["0x842E40", "0x0E828"]}},
"textures/courses/tlut3/koopa_troopa_beach_crab3.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0xD628"}, "offsets": {"us":["0x842E40", "0x0F828"]}},
"textures/courses/tlut3/koopa_troopa_beach_crab4.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0xD628"}, "offsets": {"us":["0x842E40", "0x10828"]}},
"textures/courses/tlut3/koopa_troopa_beach_crab5.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0xD628"}, "offsets": {"us":["0x842E40", "0x11828"]}},
"textures/courses/tlut3/koopa_troopa_beach_crab6.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0xD628"}, "offsets": {"us":["0x842E40", "0x12828"]}},
"textures/courses/tlut3/koopa_troopa_beach_crab7.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0xD628"}, "offsets": {"us":["0x842E40", "0x13828"]}},
"textures/courses/koopa_troopa_beach_bird_wing.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x842E40", "0x14C00"]}},
"textures/courses/koopa_troopa_beach_bird_reflection_map.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x842E40", "0x15400"]}},
"textures/courses/koopa_troopa_beach_orange.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x842E40", "0x15C00"]}},
"textures/courses/koopa_troopa_beach_leaf.rgba16.png": {"meta":{"dims":[64,32]}, "offsets": {"us":["0x842E40", "0x16D20"]}},
"textures/courses/koopa_troopa_beach_wood.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x842E40", "0x17D20"]}},
"textures/courses/luigi_raceway_sign_left.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x84E8E0", "0x0C588"]}},
"textures/courses/luigi_raceway_sign_right.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x84E8E0", "0x0D588"]}},
"textures/courses/luigi_raceway_balloon_basket.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x84E8E0", "0x0E588"]}},
"textures/courses/luigi_raceway_balloon_rope.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x84E8E0", "0x0ED88"]}},
"textures/courses/tlut/moo_moo_farm_mole.rgba16.ci8.png": {"meta":{"dims":[32,448], "pal":"0xFC70"}, "offsets": {"us":["0x852E20", "0x0FE70"]}},
"textures/courses/moo_moo_farm_mole_dirt.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x852E20", "0x13670"]}},
"textures/courses/toads_turnpike_857E80_059B8.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x857E80", "0x059B8"]}},
"textures/courses/toads_turnpike_truck1_box.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x069B8"]}},
"textures/courses/toads_turnpike_truck1_headlights.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x071B8"]}},
"textures/courses/toads_turnpike_truck1_tyre.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x079B8"]}},
"textures/courses/toads_turnpike_truck1_cab.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x081B8"]}},
"textures/courses/toads_turnpike_truck1_cab_side.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x089B8"]}},
"textures/courses/toads_turnpike_bus_back_lod0.rgba16.png": {"meta":{"dims":[64,32]}, "offsets": {"us":["0x857E80", "0x091B8"]}},
"textures/courses/toads_turnpike_bus_side.rgba16.png": {"meta":{"dims":[64,32]}, "offsets": {"us":["0x857E80", "0x0A1B8"]}},
"textures/courses/toads_turnpike_bus_door_lod0.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x0B1B8"]}},
"textures/courses/toads_turnpike_bus_window.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x0B9B8"]}},
"textures/courses/toads_turnpike_bus_front_lod0.rgba16.png": {"meta":{"dims":[64,32]}, "offsets": {"us":["0x857E80", "0x0C1B8"]}},
"textures/courses/toads_turnpike_black.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x0D1B8"]}},
"textures/courses/toads_turnpike_bus_driver_window.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x0D9B8"]}},
"textures/courses/toads_turnpike_bus_door_lod1.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x0E1B8"]}},
"textures/courses/toads_turnpike_bus_side_lod1.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x0E9B8"]}},
"textures/courses/toads_turnpike_bus_front_lod1.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x0F1B8"]}},
"textures/courses/toads_turnpike_bus_back_lod1.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x0F9B8"]}},
"textures/courses/toads_turnpike_tanker_truck_stripe.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x101B8"]}},
"textures/courses/toads_turnpike_tanker_truck_windshield.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x109B8"]}},
"textures/courses/toads_turnpike_tanker_truck_front.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x111B8"]}},
"textures/courses/toads_turnpike_tanker_truck_headlights.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x119B8"]}},
"textures/courses/toads_turnpike_tanker_truck_bumper.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x121B8"]}},
"textures/courses/toads_turnpike_tanker_truck_side_back_lod1.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x129B8"]}},
"textures/courses/toads_turnpike_tanker_truck_back_lod1.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x131B8"]}},
"textures/courses/toads_turnpike_tanker_truck_side_front_lod1.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x139B8"]}},
"textures/courses/toads_turnpike_tanker_truck_front_lod1.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x141B8"]}},
"textures/courses/toads_turnpike_truck2_box.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x149B8"]}},
"textures/courses/toads_turnpike_truck3_box.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x151B8"]}},
"textures/courses/toads_turnpike_car_headlights.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x159B8"]}},
"textures/courses/toads_turnpike_car_taillights.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x161B8"]}},
"textures/courses/toads_turnpike_car_front_lod1.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x169B8"]}},
"textures/courses/toads_turnpike_car_back_lod1.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x171B8"]}},
"textures/courses/toads_turnpike_car_side_lod1.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x857E80", "0x179B8"]}},
"textures/courses/kalimari_desert_crossing_signal_1.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x8666A0", "0x087E8"]}},
"textures/courses/kalimari_desert_crossing_signal_2.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x8666A0", "0x097E8"]}},
"textures/courses/kalimari_desert_crossing_signal_3.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x8666A0", "0x0A7E8"]}},
"textures/courses/kalimari_desert_crossing_signal_4.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x8666A0", "0x0B7E8"]}},
"textures/courses/kalimari_desert_crossing_signal_5.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x8666A0", "0x0C7E8"]}},
"textures/courses/kalimari_desert_crossing_signal_6.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x8666A0", "0x0D7E8"]}},
"textures/courses/kalimari_desert_crossing_signal_7.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x8666A0", "0x0E7E8"]}},
"textures/courses/kalimari_desert_crossing_signal_8.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x8666A0", "0x0F7E8"]}},
"textures/courses/kalimari_desert_locomotive_64.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x8666A0", "0x10E60"]}},
"textures/courses/kalimari_desert_locomotive_cab_window.rgba16.png": {"meta":{"dims":[64,32]}, "offsets": {"us":["0x8666A0", "0x11660"]}},
"textures/courses/kalimari_desert_locomotive_cab_window_front.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x8666A0", "0x12660"]}},
"textures/courses/kalimari_desert_locomotive_chassis.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x8666A0", "0x13660"]}},
"textures/courses/kalimari_desert_locomotive_lamp.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x8666A0", "0x13E60"]}},
"textures/courses/kalimari_desert_locomotive_boiler.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x8666A0", "0x14660"]}},
"textures/courses/kalimari_desert_carriage_railing.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x8666A0", "0x14E60"]}},
"textures/courses/kalimari_desert_locomotive_tender.rgba16.png": {"meta":{"dims":[64,32]}, "offsets": {"us":["0x8666A0", "0x15E60"]}},
"textures/courses/kalimari_desert_railway_ballast.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x8666A0", "0x16E60"]}},
"textures/courses/kalimari_desert_carriage_lower.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x8666A0", "0x17660"]}},
"textures/courses/kalimari_desert_carriage_door.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x8666A0", "0x17E60"]}},
"textures/courses/kalimari_desert_carriage_window.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x8666A0", "0x18E60"]}},
"textures/courses/kalimari_desert_train_bogie.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x8666A0", "0x21D28"]}},
"textures/courses/sherbet_land_ice.ia16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x86ECF0", "0x068E8"]}},
"textures/courses/sherbet_land_penguin_beak.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x86ECF0", "0x072E8"]}},
"textures/courses/sherbet_land_penguin_eye.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x86ECF0", "0x07AE8"]}},
"textures/courses/rainbow_road_neon_mushroom1.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x05400"]}},
"textures/courses/rainbow_road_neon_mushroom2.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x05600"]}},
"textures/courses/rainbow_road_neon_mushroom3.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x05800"]}},
"textures/courses/rainbow_road_neon_mushroom4.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x05A00"]}},
"textures/courses/rainbow_road_neon_mushroom5.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x05C00"]}},
"textures/courses/rainbow_road_neon_mario1.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x05E00"]}},
"textures/courses/rainbow_road_neon_mario2.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x06000"]}},
"textures/courses/rainbow_road_neon_mario3.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x06200"]}},
"textures/courses/rainbow_road_neon_mario4.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x06400"]}},
"textures/courses/rainbow_road_neon_mario5.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x06600"]}},
"textures/courses/rainbow_road_neon_boo1.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x06800"]}},
"textures/courses/rainbow_road_neon_boo2.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x06A00"]}},
"textures/courses/rainbow_road_neon_boo3.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x06C00"]}},
"textures/courses/rainbow_road_neon_boo4.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x06E00"]}},
"textures/courses/rainbow_road_neon_boo5.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x07000"]}},
"textures/courses/rainbow_road_neon_peach.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x07200"]}},
"textures/courses/rainbow_road_neon_luigi.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x07400"]}},
"textures/courses/rainbow_road_neon_donkey_kong.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x07600"]}},
"textures/courses/rainbow_road_neon_yoshi.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x07800"]}},
"textures/courses/rainbow_road_neon_bowser.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x07A00"]}},
"textures/courses/rainbow_road_neon_wario.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x07C00"]}},
"textures/courses/rainbow_road_neon_toad.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x872A00", "0x07E00"]}},
"textures/rainbow_road_neon_mushroom1.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x5400"}, "offsets": {"us":["0x872A00", "0x08000"]}},
"textures/rainbow_road_neon_mushroom2.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x5600"}, "offsets": {"us":["0x872A00", "0x08000"]}},
"textures/rainbow_road_neon_mushroom3.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x5800"}, "offsets": {"us":["0x872A00", "0x08000"]}},
"textures/courses/tlut3/rainbow_road_neon_mushroom4.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x5A00"}, "offsets": {"us":["0x872A00", "0x08000"]}},
"textures/rainbow_road_neon_mushroom5.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x5C00"}, "offsets": {"us":["0x872A00", "0x08000"]}},
"textures/courses/tlut3/rainbow_road_neon_mario1.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x5E00"}, "offsets": {"us":["0x872A00", "0x09000"]}},
"textures/courses/tlut3/rainbow_road_neon_mario2.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x6000"}, "offsets": {"us":["0x872A00", "0x09000"]}},
"textures/courses/tlut3/rainbow_road_neon_mario3.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x6200"}, "offsets": {"us":["0x872A00", "0x09000"]}},
"textures/courses/tlut3/rainbow_road_neon_mario4.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x6400"}, "offsets": {"us":["0x872A00", "0x09000"]}},
"textures/courses/tlut3/rainbow_road_neon_mario5.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x6600"}, "offsets": {"us":["0x872A00", "0x09000"]}},
"textures/courses/tlut3/rainbow_road_neon_boo1.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x6800"}, "offsets": {"us":["0x872A00", "0x0A000"]}},
"textures/courses/tlut3/rainbow_road_neon_boo2.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x6A00"}, "offsets": {"us":["0x872A00", "0x0A000"]}},
"textures/courses/tlut3/rainbow_road_neon_boo3.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x6C00"}, "offsets": {"us":["0x872A00", "0x0A000"]}},
"textures/courses/tlut3/rainbow_road_neon_boo4.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x6E00"}, "offsets": {"us":["0x872A00", "0x0A000"]}},
"textures/courses/tlut3/rainbow_road_neon_boo5.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x7000"}, "offsets": {"us":["0x872A00", "0x0A000"]}},
"textures/courses/tlut3/rainbow_road_neon_peach.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x7200"}, "offsets": {"us":["0x872A00", "0x0B000"]}},
"textures/courses/tlut3/rainbow_road_neon_luigi.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x7400"}, "offsets": {"us":["0x872A00", "0x0C000"]}},
"textures/courses/tlut3/rainbow_road_neon_donkey_kong.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x7600"}, "offsets": {"us":["0x872A00", "0x0D000"]}},
"textures/courses/tlut3/rainbow_road_neon_yoshi.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x7800"}, "offsets": {"us":["0x872A00", "0x0E000"]}},
"textures/courses/tlut3/rainbow_road_neon_bowser.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x7A00"}, "offsets": {"us":["0x872A00", "0x0F000"]}},
"textures/courses/tlut3/rainbow_road_neon_wario.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x7C00"}, "offsets": {"us":["0x872A00", "0x10000"]}},
"textures/courses/tlut3/rainbow_road_neon_toad.rgba16.ci8.png": {"meta":{"dims":[64,64], "pal":"0x7E00"}, "offsets": {"us":["0x872A00", "0x11000"]}},
"textures/courses/rainbow_road_sphere.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x872A00", "0x12028"]}},
"textures/courses/reflection_map_metal.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x872A00", "0x13028"]}},
"textures/courses/reflection_map_gold.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x872A00", "0x13828"]}},
"textures/courses/rainbow_road_heart.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x872A00", "0x14028"]}},
"textures/courses/rainbow_road_eye.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x872A00", "0x14828"]}},
"textures/courses/wario_stadium_sign_left.rgba16.png": {"meta":{"dims":[64,64]}, "offsets": {"us":["0x8804A0", "0x08890"]}},
"textures/courses/wario_stadium_sign_right.rgba16.png": {"meta":{"dims":[64,64]}, "offsets": {"us":["0x8804A0", "0x0A890"]}},
"textures/courses/royal_raceway_tree_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x84ABD0", "0x0D610"]}},
"textures/courses/dks_jungle_parkway_boat_mario_sign.rgba16.png": {"meta":{"dims":[64,32]}, "offsets": {"us":["0x885A10", "0x09E48"]}},
"textures/courses/dks_jungle_parkway_tree.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x885A10", "0x0AE48"]}},
"textures/courses/dks_jungle_parkway_boat_window_upper.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x885A10", "0x0B648"]}},
"textures/courses/dks_jungle_parkway_boat_window_lower.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x885A10", "0x0C648"]}},
"textures/courses/dks_jungle_parkway_boat_railing.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x885A10", "0x0D648"]}},
"textures/courses/dks_jungle_parkway_boat_paddle.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x885A10", "0x0EAE0"]}},
"textures/courses/dks_jungle_parkway_boat_paddle2.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x885A10", "0x0F2E0"]}},
"textures/courses/dks_jungle_parkway_tree2.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x885A10", "0x0FCC0"]}},
"textures/courses/dks_jungle_parkway_tree3.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x885A10", "0x10DC8"]}},
"textures/courses/dks_jungle_parkway_tree4.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x885A10", "0x115C8"]}},
"textures/courses/dks_jungle_parkway_palm_tree.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x885A10", "0x13078"]}},
"textures/courses/dks_jungle_parkway_tree5.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x885A10", "0x126F0"]}},
"textures/courses/dks_jungle_parkway_tree_trunk.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x885A10", "0x11EF0"]}}
} }

View File

@ -0,0 +1,42 @@
{
"gTLUTBoo": {"output_dir": "banshee_boardwalk", "rom_offset": "0x831DC0", "block_offset": "0x5C80", "width": 16, "height": 16, "type": "rgba16"},
"gTextureBansheeBoardwalkFishEyes": {"output_dir": "banshee_boardwalk", "rom_offset": "0x831DC0", "block_offset": "0x6E50", "width": 32, "height": 32, "type": "rgba16"},
"gTLUTBat": {"output_dir": "banshee_boardwalk", "rom_offset": "0x831DC0", "block_offset": "0x7BB8", "width": 16, "height": 16, "type": "rgba16"},
"gTextureBat1": {"output_dir": "banshee_boardwalk", "rom_offset": "0x831DC0", "block_offset": "0x7DB8", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTBat"},
"gTextureBat2": {"output_dir": "banshee_boardwalk", "rom_offset": "0x831DC0", "block_offset": "0x85B8", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTBat"},
"gTextureBat3": {"output_dir": "banshee_boardwalk", "rom_offset": "0x831DC0", "block_offset": "0x8DB8", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTBat"},
"gTextureBat4": {"output_dir": "banshee_boardwalk", "rom_offset": "0x831DC0", "block_offset": "0x95B8", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTBat"},
"gTextureBansheBoardwalkA050": {"output_dir": "banshee_boardwalk", "rom_offset": "0x831DC0", "block_offset": "0xA050", "width": 32, "height": 32, "type": "rgba16"},
"gTextureBansheBoardwalkAA78": {"output_dir": "banshee_boardwalk", "rom_offset": "0x831DC0", "block_offset": "0xAA78", "width": 32, "height": 32, "type": "rgba16"},
"gTextureBoo01": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x00000", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo02": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x00780", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo03": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x00F00", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo04": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x01680", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo05": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x01E00", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo06": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x02580", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo07": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x02D00", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo08": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x03480", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo09": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x03C00", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo10": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x04380", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo11": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x04B00", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo12": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x05280", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo13": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x05A00", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo14": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x06180", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo15": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x06900", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo16": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x07080", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo17": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x07800", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo18": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x07F80", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo19": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x08700", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo20": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x08E80", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo21": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x09600", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo22": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x09D80", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo23": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x0A500", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo24": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x0AC80", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo25": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x0B400", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo26": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x0BB80", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo27": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x0C300", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo28": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x0CA80", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"},
"gTextureBoo29": {"output_dir": "banshee_boardwalk", "rom_offset": "0x712DC0", "block_offset": "0x0D200", "width": 48, "height": 40, "type": "ci8", "tlut": "gTLUTBoo"}
}

View File

@ -0,0 +1,10 @@
{
"gTextureThwompSide": {"output_dir": "bowsers_castle", "rom_offset": "0x82DF40", "block_offset": "0x6738", "width": 32, "height": 32, "type": "rgba16"},
"gTLUTThwomp": {"output_dir": "bowsers_castle", "rom_offset": "0x82DF40", "block_offset": "0x6F38", "width": 16, "height": 16, "type": "rgba16"},
"gTextureThwompFace1": {"output_dir": "bowsers_castle", "rom_offset": "0x82DF40", "block_offset": "0x7138", "width": 16, "height": 64, "type": "ci8", "tlut": "gTLUTThwomp"},
"gTextureThwompFace2": {"output_dir": "bowsers_castle", "rom_offset": "0x82DF40", "block_offset": "0x7538", "width": 16, "height": 64, "type": "ci8", "tlut": "gTLUTThwomp"},
"gTextureThwompFace3": {"output_dir": "bowsers_castle", "rom_offset": "0x82DF40", "block_offset": "0x7938", "width": 16, "height": 64, "type": "ci8", "tlut": "gTLUTThwomp"},
"gTextureThwompFace4": {"output_dir": "bowsers_castle", "rom_offset": "0x82DF40", "block_offset": "0x7D38", "width": 16, "height": 64, "type": "ci8", "tlut": "gTLUTThwomp"},
"gTextureThwompFace5": {"output_dir": "bowsers_castle", "rom_offset": "0x82DF40", "block_offset": "0x8138", "width": 16, "height": 64, "type": "ci8", "tlut": "gTLUTThwomp"},
"gTextureThwompFace6": {"output_dir": "bowsers_castle", "rom_offset": "0x82DF40", "block_offset": "0x8538", "width": 16, "height": 64, "type": "ci8", "tlut": "gTLUTThwomp"}
}

View File

@ -0,0 +1,4 @@
{
"gTextureChocoMountainWall": {"output_dir": "choco_mountain", "rom_offset": "0x82B620", "block_offset": "0x05B38", "width": 32, "height": 32, "type": "rgba16"},
"gTextureChocoMountainRock": {"output_dir": "choco_mountain", "rom_offset": "0x82B620", "block_offset": "0x06338", "width": 32, "height": 32, "type": "rgba16"}
}

View File

@ -0,0 +1,21 @@
{
"gTextureDksJungleParkwayBoatMarioSign": {"output_dir": "dks_jungle_parkway", "rom_offset": "0x885A10", "block_offset": "0x09E48", "width": 64, "height": 32, "type": "rgba16"},
"gTextureDksJungleParkwayTreeBark": {"output_dir": "dks_jungle_parkway", "rom_offset": "0x885A10", "block_offset": "0x0AE48", "width": 32, "height": 32, "type": "rgba16"},
"gTextureDksJungleParkwayBoatWindowUpper": {"output_dir": "dks_jungle_parkway", "rom_offset": "0x885A10", "block_offset": "0x0B648", "width": 32, "height": 64, "type": "rgba16"},
"gTextureDksJungleParkwayBoatWindowLower": {"output_dir": "dks_jungle_parkway", "rom_offset": "0x885A10", "block_offset": "0x0C648", "width": 32, "height": 64, "type": "rgba16"},
"gTextureDksJungleParkwayBoatRailing": {"output_dir": "dks_jungle_parkway", "rom_offset": "0x885A10", "block_offset": "0x0D648", "width": 32, "height": 32, "type": "rgba16"},
"gTextureDksJungleParkwayBoatPaddle1": {"output_dir": "dks_jungle_parkway", "rom_offset": "0x885A10", "block_offset": "0x0EAE0", "width": 32, "height": 32, "type": "rgba16"},
"gTextureDksJungleParkwayBoatPaddle2": {"output_dir": "dks_jungle_parkway", "rom_offset": "0x885A10", "block_offset": "0x0F2E0", "width": 32, "height": 32, "type": "rgba16"},
"gTextureDksJungleParkwayTree2Top": {"output_dir": "dks_jungle_parkway", "rom_offset": "0x885A10", "block_offset": "0x0FCC0", "width": 32, "height": 32, "type": "rgba16"},
"gTextureDksJungleParkwayTree2Trunk": {"output_dir": "dks_jungle_parkway", "rom_offset": "0x885A10", "block_offset": "0x104C0", "width": 32, "height": 32, "type": "rgba16"},
"gTextureDksJungleParkwayTree3TopRight": {"output_dir": "dks_jungle_parkway", "rom_offset": "0x885A10", "block_offset": "0x10DC8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureDksJungleParkwayTree3TopLeft": {"output_dir": "dks_jungle_parkway", "rom_offset": "0x885A10", "block_offset": "0x115C8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureDksJungleParkwayTreeTrunk": {"output_dir": "dks_jungle_parkway", "rom_offset": "0x885A10", "block_offset": "0x11EF0", "width": 32, "height": 32, "type": "rgba16"},
"gTextureDksJungleParkwayTree1Top": {"output_dir": "dks_jungle_parkway", "rom_offset": "0x885A10", "block_offset": "0x126F0", "width": 32, "height": 32, "type": "rgba16"},
"gTextureDksJungleParkwayPalmTreeTop": {"output_dir": "dks_jungle_parkway", "rom_offset": "0x885A10", "block_offset": "0x13078", "width": 32, "height": 32, "type": "rgba16"},
"gTLUTDksJungleParkwayKiwanoFruit": {"output_dir": "dks_jungle_parkway", "rom_offset": "0x885A10", "block_offset": "0x13978", "width": 16, "height": 16, "type": "rgba16"},
"gTextureDksJungleParkwayKiwanoFruit1": {"output_dir": "dks_jungle_parkway", "rom_offset": "0x699E24", "width": 32, "height": 32, "type": "ci8", "tlut": "gTLUTDksJungleParkwayKiwanoFruit"},
"gTextureDksJungleParkwayKiwanoFruit2": {"output_dir": "dks_jungle_parkway", "rom_offset": "0x69A154", "width": 32, "height": 32, "type": "ci8", "tlut": "gTLUTDksJungleParkwayKiwanoFruit"},
"gTextureDksJungleParkwayKiwanoFruit3": {"output_dir": "dks_jungle_parkway", "rom_offset": "0x69A4C0", "width": 32, "height": 32, "type": "ci8", "tlut": "gTLUTDksJungleParkwayKiwanoFruit"}
}

View File

@ -0,0 +1,12 @@
{
"gTLUTSnowman": {"output_dir": "frappe_snowland", "rom_offset": "0x83F740", "block_offset": "0x4B20", "width": 16, "height": 16, "type": "rgba16"},
"gTextureSnowmanHead": {"output_dir": "frappe_snowland", "rom_offset": "0x83F740", "block_offset": "0x4D20", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTSnowman"},
"gTextureSnowmanBody": {"output_dir": "frappe_snowland", "rom_offset": "0x83F740", "block_offset": "0x5D20", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTSnowman"},
"gTLUTSnow": {"output_dir": "frappe_snowland", "rom_offset": "0x83F740", "block_offset": "0x6D20", "width": 16, "height": 16, "type": "rgba16"},
"gTextureSnow": {"output_dir": "frappe_snowland", "rom_offset": "0x83F740", "block_offset": "0x6F20", "width": 32, "height": 32, "type": "ci8", "tlut": "gTLUTSnow"},
"gTLUTFrappeSnowlandTree": {"output_dir": "frappe_snowland", "rom_offset": "0x83F740", "block_offset": "0x7320", "width": 16, "height": 16, "type": "rgba16"},
"gTextureFrappeSnowlandTreeLeft": {"output_dir": "frappe_snowland", "rom_offset": "0x69333C", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTFrappeSnowlandTree"},
"gTextureFrappeSnowlandTreeRight": {"output_dir": "frappe_snowland", "rom_offset": "0x693790", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTFrappeSnowlandTree"}
}

View File

@ -0,0 +1,32 @@
{
"gTLUTCactus": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x08380", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTCactusImport": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x08380", "width": 4, "height": 29, "type": "rgba16"},
"gTextureCactus1Left": {"output_dir": "kalimari_desert", "rom_offset": "0x695BA4", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTCactus"},
"gTextureCactus1Right": {"output_dir": "kalimari_desert", "rom_offset": "0x695EE4", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTCactus"},
"gTextureCactus2Left": {"output_dir": "kalimari_desert", "rom_offset": "0x6961E0", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTCactus"},
"gTextureCactus2Right": {"output_dir": "kalimari_desert", "rom_offset": "0x696488", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTCactus"},
"gTextureCactus3": {"output_dir": "kalimari_desert", "rom_offset": "0x6967FC", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTCactus"},
"gTextureCrossingSignalInactiveTopLeft": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x087E8", "width": 32, "height": 64, "type": "rgba16"},
"gTextureCrossingSignalInactiveTopRight": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x097E8", "width": 32, "height": 64, "type": "rgba16"},
"gTextureCrossingSignalInactiveBottomLeft": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x0A7E8", "width": 32, "height": 64, "type": "rgba16"},
"gTextureCrossingSignalInactiveBottomRight": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x0B7E8", "width": 32, "height": 64, "type": "rgba16"},
"gTextureCrossingSignalActiveTopLeft": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x0C7E8", "width": 32, "height": 64, "type": "rgba16"},
"gTextureCrossingSignalActiveTopRight": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x0D7E8", "width": 32, "height": 64, "type": "rgba16"},
"gTextureCrossingSignalActiveBottomLeft": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x0E7E8", "width": 32, "height": 64, "type": "rgba16"},
"gTextureCrossingSignalActiveBottomRight": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x0F7E8", "width": 32, "height": 64, "type": "rgba16"},
"gTextureLocomotive64": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x10E60", "width": 32, "height": 32, "type": "rgba16"},
"gTextureLocomotiveCabWindow": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x11660", "width": 64, "height": 32, "type": "rgba16"},
"gTextureLocomotiveCabWindowFront": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x12660", "width": 32, "height": 64, "type": "rgba16"},
"gTextureLocomotiveChasis": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x13660", "width": 32, "height": 32, "type": "rgba16"},
"gTextureLocomotiveLamp": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x13E60", "width": 32, "height": 32, "type": "rgba16"},
"gTextureLocomotiveBoiler": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x14660", "width": 32, "height": 32, "type": "rgba16"},
"gTextureCarriageRailing": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x14E60", "width": 32, "height": 64, "type": "rgba16"},
"gTextureLocomotiveTender": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x15E60", "width": 64, "height": 32, "type": "rgba16"},
"gTextureLocomotiveBallast": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x16E60", "width": 32, "height": 32, "type": "rgba16"},
"gTextureCarriageLower": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x17660", "width": 32, "height": 32, "type": "rgba16"},
"gTextureCarriageDoor": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x17E60", "width": 32, "height": 64, "type": "rgba16"},
"gTextureCarriageWindow": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x18E60", "width": 32, "height": 64, "type": "rgba16"},
"gTextureLocomotiveBogie": {"output_dir": "kalimari_desert", "rom_offset": "0x8666A0", "block_offset": "0x21D28", "width": 32, "height": 64, "type": "rgba16"}
}

View File

@ -0,0 +1,17 @@
{
"gTLUTCrab": {"output_dir": "koopa_troopa_beach", "rom_offset": "0x842E40", "block_offset": "0x0D628", "width": 16, "height": 16, "type": "rgba16"},
"gTextureCrab1": {"output_dir": "koopa_troopa_beach", "rom_offset": "0x842E40", "block_offset": "0x0D828", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTCrab"},
"gTextureCrab2": {"output_dir": "koopa_troopa_beach", "rom_offset": "0x842E40", "block_offset": "0x0E828", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTCrab"},
"gTextureCrab3": {"output_dir": "koopa_troopa_beach", "rom_offset": "0x842E40", "block_offset": "0x0F828", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTCrab"},
"gTextureCrab4": {"output_dir": "koopa_troopa_beach", "rom_offset": "0x842E40", "block_offset": "0x10828", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTCrab"},
"gTextureCrab5": {"output_dir": "koopa_troopa_beach", "rom_offset": "0x842E40", "block_offset": "0x11828", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTCrab"},
"gTextureCrab6": {"output_dir": "koopa_troopa_beach", "rom_offset": "0x842E40", "block_offset": "0x12828", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTCrab"},
"gTextureCrab7": {"output_dir": "koopa_troopa_beach", "rom_offset": "0x842E40", "block_offset": "0x13828", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTCrab"},
"gTextureKoopaTroopaBirdWing": {"output_dir": "koopa_troopa_beach", "rom_offset": "0x842E40", "block_offset": "0x14C00", "width": 32, "height": 32, "type": "rgba16"},
"gTextureKoopaTroopaBirdEye": {"output_dir": "koopa_troopa_beach", "rom_offset": "0x842E40", "block_offset": "0x15400", "width": 32, "height": 32, "type": "rgba16"},
"gTextureKoopaTroopaBirdBeak": {"output_dir": "koopa_troopa_beach", "rom_offset": "0x842E40", "block_offset": "0x15C00", "width": 32, "height": 32, "type": "rgba16"},
"gTextureKoopaTroopaPalmFrond": {"output_dir": "koopa_troopa_beach", "rom_offset": "0x842E40", "block_offset": "0x16D20", "width": 64, "height": 32, "type": "rgba16"},
"gTextureKoopaTroopaPalmTrunk": {"output_dir": "koopa_troopa_beach", "rom_offset": "0x842E40", "block_offset": "0x17D20", "width": 32, "height": 32, "type": "rgba16"}
}

View File

@ -0,0 +1,6 @@
{
"gTextureLuigiRacewaySignLeft": {"output_dir": "luigi_raceway", "rom_offset": "0x84E8E0", "block_offset": "0x0C588", "width": 32, "height": 64, "type": "rgba16"},
"gTextureLuigiRacewaySignRight": {"output_dir": "luigi_raceway", "rom_offset": "0x84E8E0", "block_offset": "0x0D588", "width": 32, "height": 64, "type": "rgba16"},
"gTextureLuigiRacewayBalloonBasket": {"output_dir": "luigi_raceway", "rom_offset": "0x84E8E0", "block_offset": "0x0E588", "width": 32, "height": 32, "type": "rgba16"},
"gTextureLuigiRacewayBalloonRope": {"output_dir": "luigi_raceway", "rom_offset": "0x84E8E0", "block_offset": "0x0ED88", "width": 32, "height": 32, "type": "rgba16"}
}

View File

@ -0,0 +1,14 @@
{
"gTextureMarioRacewaySignLeft": {"output_dir": "mario_raceway", "rom_offset": "0x8284D0", "block_offset": "0x7068", "width": 32, "height": 64, "type": "rgba16"},
"gTextureMarioRacewaySignRight": {"output_dir": "mario_raceway", "rom_offset": "0x8284D0", "block_offset": "0x8068", "width": 32, "height": 64, "type": "rgba16"},
"gTLUTMarioRacewayPiranhaPlant": {"output_dir": "mario_raceway", "rom_offset": "0x8284D0", "block_offset": "0x6750", "width": 16, "height": 16, "type": "rgba16"},
"gTexturePiranhaPlant1": {"output_dir": "mario_raceway", "rom_offset": "0x698378", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTMarioRacewayPiranhaPlant"},
"gTexturePiranhaPlant2": {"output_dir": "mario_raceway", "rom_offset": "0x69859C", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTMarioRacewayPiranhaPlant"},
"gTexturePiranhaPlant3": {"output_dir": "mario_raceway", "rom_offset": "0x6987FC", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTMarioRacewayPiranhaPlant"},
"gTexturePiranhaPlant4": {"output_dir": "mario_raceway", "rom_offset": "0x698A40", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTMarioRacewayPiranhaPlant"},
"gTexturePiranhaPlant5": {"output_dir": "mario_raceway", "rom_offset": "0x698C60", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTMarioRacewayPiranhaPlant"},
"gTexturePiranhaPlant6": {"output_dir": "mario_raceway", "rom_offset": "0x698E38", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTMarioRacewayPiranhaPlant"},
"gTexturePiranhaPlant7": {"output_dir": "mario_raceway", "rom_offset": "0x698FF4", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTMarioRacewayPiranhaPlant"},
"gTexturePiranhaPlant8": {"output_dir": "mario_raceway", "rom_offset": "0x6991F8", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTMarioRacewayPiranhaPlant"},
"gTexturePiranhaPlant9": {"output_dir": "mario_raceway", "rom_offset": "0x699500", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTMarioRacewayPiranhaPlant"}
}

View File

@ -0,0 +1,28 @@
{
"gTLUTMole": {"output_dir": "moo_moo_farm", "rom_offset": "0x852E20", "block_offset": "0xFC70", "width": 16, "height": 16, "type": "rgba16"},
"gTextureMole1": {"output_dir": "moo_moo_farm", "rom_offset": "0x852E20", "block_offset": "0x0FE70", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTMole"},
"gTextureMole2": {"output_dir": "moo_moo_farm", "rom_offset": "0x852E20", "block_offset": "0x10670", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTMole"},
"gTextureMole3": {"output_dir": "moo_moo_farm", "rom_offset": "0x852E20", "block_offset": "0x10E70", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTMole"},
"gTextureMole4": {"output_dir": "moo_moo_farm", "rom_offset": "0x852E20", "block_offset": "0x11670", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTMole"},
"gTextureMole5": {"output_dir": "moo_moo_farm", "rom_offset": "0x852E20", "block_offset": "0x11E70", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTMole"},
"gTextureMole6": {"output_dir": "moo_moo_farm", "rom_offset": "0x852E20", "block_offset": "0x12670", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTMole"},
"gTextureMole7": {"output_dir": "moo_moo_farm", "rom_offset": "0x852E20", "block_offset": "0x12E70", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTMole"},
"gTextureMooMooFarmDirt": {"output_dir": "moo_moo_farm", "rom_offset": "0x852E20", "block_offset": "0x13670", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTCowImport": {"output_dir": "moo_moo_farm", "rom_offset": "0x852E20", "block_offset": "0x13870", "width": 12, "height": 17, "type": "rgba16"},
"gTLUTCow": {"output_dir": "moo_moo_farm", "rom_offset": "0x852E20", "block_offset": "0x13870", "width": 16, "height": 16, "type": "rgba16"},
"gTextureCow01Left": {"output_dir": "moo_moo_farm", "rom_offset": "0x693BC4", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTCow"},
"gTextureCow01Right": {"output_dir": "moo_moo_farm", "rom_offset": "0x693F48", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTCow"},
"gTextureCow02Left": {"output_dir": "moo_moo_farm", "rom_offset": "0x69429C", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTCow"},
"gTextureCow02Right": {"output_dir": "moo_moo_farm", "rom_offset": "0x694628", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTCow"},
"gTextureCow03Left": {"output_dir": "moo_moo_farm", "rom_offset": "0x694990", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTCow"},
"gTextureCow03Right": {"output_dir": "moo_moo_farm", "rom_offset": "0x694CAC", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTCow"},
"gTextureCow04Left": {"output_dir": "moo_moo_farm", "rom_offset": "0x694F7C", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTCow"},
"gTextureCow04Right": {"output_dir": "moo_moo_farm", "rom_offset": "0x695268", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTCow"},
"gTextureCow05Left": {"output_dir": "moo_moo_farm", "rom_offset": "0x6955AC", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTCow"},
"gTextureCow05Right": {"output_dir": "moo_moo_farm", "rom_offset": "0x6958C0", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTCow"},
"gTextureMooMooFarmSignLeft": {"output_dir": "moo_moo_farm", "rom_offset": "0x6497E0", "width": 64, "height": 32, "type": "rgba16"},
"gTextureMooMooFarmSignRight": {"output_dir": "moo_moo_farm", "rom_offset": "0x64A248", "width": 64, "height": 32, "type": "rgba16"}
}

View File

@ -0,0 +1,44 @@
{
"gTLUTRainbowRoadNeonMushroom1": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x05400", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonMushroom2": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x05600", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonMushroom3": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x05800", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonMushroom4": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x05A00", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonMushroom5": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x05C00", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonMario1": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x05E00", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonMario2": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x06000", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonMario3": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x06200", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonMario4": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x06400", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonMario5": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x06600", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonBoo1": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x06800", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonBoo2": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x06A00", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonBoo3": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x06C00", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonBoo4": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x06E00", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonBoo5": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x07000", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonPeach": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x07200", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonLuigi": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x07400", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonDonkeyKong": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x07600", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonYoshi": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x07800", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonBowser": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x07A00", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonWario": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x07C00", "width": 16, "height": 16, "type": "rgba16"},
"gTLUTRainbowRoadNeonToad": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x07E00", "width": 16, "height": 16, "type": "rgba16"},
"gTextureRainbowRoadNeonMushroom": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x08000", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTRainbowRoadNeonMushroom4"},
"gTextureRainbowRoadNeonMario": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x09000", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTRainbowRoadNeonMario5"},
"gTextureRainbowRoadNeonBoo": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x0A000", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTRainbowRoadNeonBoo5"},
"gTextureRainbowRoadNeonPeach": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x0B000", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTRainbowRoadNeonPeach"},
"gTextureRainbowRoadNeonLuigi": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x0C000", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTRainbowRoadNeonLuigi"},
"gTextureRainbowRoadNeonDonkeyKong": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x0D000", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTRainbowRoadNeonDonkeyKong"},
"gTextureRainbowRoadNeonYoshi": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x0E000", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTRainbowRoadNeonYoshi"},
"gTextureRainbowRoadNeonBowser": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x0F000", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTRainbowRoadNeonBowser"},
"gTextureRainbowRoadNeonWario": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x10000", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTRainbowRoadNeonWario"},
"gTextureRainbowRoadNeonToad": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x11000", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTRainbowRoadNeonToad"},
"gTextureRainbowRoadSphere": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x12028", "width": 32, "height": 64, "type": "rgba16"},
"gTextureRainbowRoadReflectionMapMetal": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x13028", "width": 32, "height": 32, "type": "rgba16"},
"gTextureRainbowRoadReflectionMapGold": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x13828", "width": 32, "height": 32, "type": "rgba16"},
"gTextureRainbowRoadChainChompTongue": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x14028", "width": 32, "height": 32, "type": "rgba16"},
"gTextureRainbowRoadChainChompEye": {"output_dir": "rainbow_road", "rom_offset": "0x872A00", "block_offset": "0x14828", "width": 32, "height": 32, "type": "rgba16"}
}

View File

@ -0,0 +1,3 @@
{
"gTLUTRoyalRacewayPiranhaPlant": {"output_dir": "royal_raceway", "rom_offset": "0x84ABD0", "block_offset": "0x0D610", "width": 16, "height": 16, "type": "rgba16"}
}

View File

@ -0,0 +1,5 @@
{
"gTextureSherbetLandIce": {"output_dir": "sherbet_land", "rom_offset": "0x86ECF0", "block_offset": "0x068E8", "width": 32, "height": 32, "type": "ia16"},
"gTexturePenguinBeak": {"output_dir": "sherbet_land", "rom_offset": "0x86ECF0", "block_offset": "0x072E8", "width": 32, "height": 32, "type": "rgba16"},
"gTexturePenguinEye": {"output_dir": "sherbet_land", "rom_offset": "0x86ECF0", "block_offset": "0x07AE8", "width": 32, "height": 32, "type": "rgba16"}
}

View File

@ -0,0 +1,40 @@
{
"gTextureToadsTurnpikeTruckWindshieldLeft": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x059B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeTruckWindshieldRight": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x061B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeTruckBox1": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x069B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeTruckHeadlights": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x071B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeTruckTyre": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x079B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeTruckCab": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x081B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeTruckCabSide": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x089B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeBusBackLod0": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x091B8", "width": 64, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeBusSide": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x0A1B8", "width": 64, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeBusDoorLod0": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x0B1B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeBusWindow": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x0B9B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeBusFrontLod0": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x0C1B8", "width": 64, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeBusUnknown1": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x0D1B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeBusDriverWindow": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x0D9B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeBusDoorLod1": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x0E1B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeBusSideLod1": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x0E9B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeBusFrontLod1": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x0F1B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeBusBackLod1": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x0F9B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeTankerStripe": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x101B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeTankerWindshield": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x109B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeTankerFront": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x111B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeTankerHeadlights": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x119B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeTankerBumper": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x121B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeTankerSideBackLod1": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x129B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeTankerBackLod1": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x131B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeTankerSideFrontLod1": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x139B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeTankerFrontLod1": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x141B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeTruckBox2": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x149B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeTruckBox3": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x151B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeCarHeadlights": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x159B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeCarTaillights": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x161B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeCarFrontLod1": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x169B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeCarBackLod1": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x171B8", "width": 32, "height": 32, "type": "rgba16"},
"gTextureToadsTurnpikeCarSideLod1": {"output_dir": "toads_turnpike", "rom_offset": "0x857E80", "block_offset": "0x179B8", "width": 32, "height": 32, "type": "rgba16"}
}

View File

@ -0,0 +1,6 @@
{
"gTextureWarioStadiumSignTopLeft": {"output_dir": "wario_stadium", "rom_offset": "0x8804A0", "block_offset": "0x08890", "width": 64, "height": 32, "type": "rgba16"},
"gTextureWarioStadiumSignBottomLeft": {"output_dir": "wario_stadium", "rom_offset": "0x8804A0", "block_offset": "0x09890", "width": 64, "height": 32, "type": "rgba16"},
"gTextureWarioStadiumSignTopRight": {"output_dir": "wario_stadium", "rom_offset": "0x8804A0", "block_offset": "0x0A890", "width": 64, "height": 32, "type": "rgba16"},
"gTextureWarioStadiumSignBottomRight": {"output_dir": "wario_stadium", "rom_offset": "0x8804A0", "block_offset": "0x0B890", "width": 64, "height": 32, "type": "rgba16"}
}

View File

@ -0,0 +1,7 @@
{
"gTextureYoshiValleyYoshiFlag": {"output_dir": "yoshi_valley", "rom_offset": "0x835BA0", "block_offset": "0x139A0", "width": 32, "height": 32, "type": "rgba16"},
"gTLUTYoshiValleyHedgehog": {"output_dir": "yoshi_valley", "rom_offset": "0x835BA0", "block_offset": "0x14908", "width": 16, "height": 16, "type": "rgba16"},
"gTextureYoshiValleyHedgehog": {"output_dir": "yoshi_valley", "rom_offset": "0x835BA0", "block_offset": "0x14B08", "width": 64, "height": 64, "type": "ci8", "tlut": "gTLUTYoshiValleyHedgehog"},
"gTextureYoshiValleyEggSpot": {"output_dir": "yoshi_valley", "rom_offset": "0x835BA0", "block_offset": "0x16570", "width": 32, "height": 32, "type": "rgba16"},
"gTextureYoshiValleyEgg": {"output_dir": "yoshi_valley", "rom_offset": "0x835BA0", "block_offset": "0x16FA8", "width": 64, "height": 32, "type": "rgba16"}
}

View File

@ -0,0 +1,84 @@
BANSHEE_BOARDWALK_DIR := assets/courses/banshee_boardwalk
BANSHEE_BOARDWALK_BOO_PALETTE := $(BANSHEE_BOARDWALK_DIR)/gTLUTBoo.png
BANSHEE_BOARDWALK_BOO_FRAMES := \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo01.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo02.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo03.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo04.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo05.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo06.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo07.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo08.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo09.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo10.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo11.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo12.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo13.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo14.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo15.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo16.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo17.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo18.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo19.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo20.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo21.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo22.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo23.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo24.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo25.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo26.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo27.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo28.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBoo29.png
BANSHEE_BOARDWALK_BAT_PALETTE := $(BANSHEE_BOARDWALK_DIR)/gTLUTBat.png
BANSHEE_BOARDWALK_BAT_FRAMES := \
$(BANSHEE_BOARDWALK_DIR)/gTextureBat1.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBat2.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBat3.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBat4.png
BANSHEE_BOARDWALK_PNG := \
$(BANSHEE_BOARDWALK_DIR)/gTextureBansheeBoardwalkFishEyes.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBansheBoardwalkA050.png \
$(BANSHEE_BOARDWALK_DIR)/gTextureBansheBoardwalkAA78.png
BANSHEE_BOARDWALK_EXPORT_SENTINEL := $(BANSHEE_BOARDWALK_DIR)/.export
ASSET_DIRECTORIES += $(BANSHEE_BOARDWALK_DIR)
$(BUILD_DIR)/data/other_textures.o: $(BANSHEE_BOARDWALK_DIR)/boo_frames.mio0
$(BANSHEE_BOARDWALK_DIR)/boo_frames.mio0: $(BANSHEE_BOARDWALK_DIR)/boo_frames.bin
$(MIO0TOOL) -c $< $@
# Making a .c or .s file that includes the Boo frame data as .inc.c or .bin files, respectively,
# would also work.
# We would then have a rule like
# $(DATA_DIR)/boo_frames.bin: $(DATA_DIR)/boo_frames.o
# $(OBJCOPY) --only-section=.data -O binary $@ $<
# cat'ing the files together is easier though
$(BANSHEE_BOARDWALK_DIR)/boo_frames.bin: $(BANSHEE_BOARDWALK_BOO_FRAMES:%.png=%.bin)
cat $^ > $@
$(BANSHEE_BOARDWALK_BOO_FRAMES:%.png=%.bin): %.bin : %.png
$(N64GRAPHICS) -Z $@ -g $< -s raw -f ci8 -c rgba16 -p $(BANSHEE_BOARDWALK_BOO_PALETTE)
$(BUILD_DIR)/courses/special_cup/banshee_boardwalk/course_data.inc.o: $(BANSHEE_BOARDWALK_BOO_PALETTE:%.png=%.inc.c)
$(BUILD_DIR)/courses/special_cup/banshee_boardwalk/course_data.inc.o: $(BANSHEE_BOARDWALK_BAT_PALETTE:%.png=%.inc.c) $(BANSHEE_BOARDWALK_BAT_FRAMES:%.png=%.inc.c)
$(BUILD_DIR)/courses/special_cup/banshee_boardwalk/course_data.inc.o: $(BANSHEE_BOARDWALK_PNG:%.png=%.inc.c)
$(BANSHEE_BOARDWALK_BAT_FRAMES:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -Z $@ -g $< -s u8 -f ci8 -c rgba16 -p $(BANSHEE_BOARDWALK_BAT_PALETTE)
$(BANSHEE_BOARDWALK_PNG:%.png=%.inc.c) $(BANSHEE_BOARDWALK_BOO_PALETTE:%.png=%.inc.c) $(BANSHEE_BOARDWALK_BAT_PALETTE:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(BANSHEE_BOARDWALK_BOO_PALETTE) $(BANSHEE_BOARDWALK_BOO_FRAMES): $(BANSHEE_BOARDWALK_EXPORT_SENTINEL) ;
$(BANSHEE_BOARDWALK_BAT_PALETTE) $(BANSHEE_BOARDWALK_BAT_FRAMES): $(BANSHEE_BOARDWALK_EXPORT_SENTINEL) ;
$(BANSHEE_BOARDWALK_PNG): $(BANSHEE_BOARDWALK_EXPORT_SENTINEL) ;
$(BANSHEE_BOARDWALK_EXPORT_SENTINEL): $(ASSET_DIR)/courses/banshee_boardwalk.json
$(ASSET_EXTRACT) $(BASEROM) $<
touch $@

View File

@ -0,0 +1,32 @@
BOWSERS_CASTLE_DIR := assets/courses/bowsers_castle
THWOMP_PALETTE := $(BOWSERS_CASTLE_DIR)/gTLUTThwomp.png
THWOMP_FACE_FRAMES := \
$(BOWSERS_CASTLE_DIR)/gTextureThwompFace1.png \
$(BOWSERS_CASTLE_DIR)/gTextureThwompFace2.png \
$(BOWSERS_CASTLE_DIR)/gTextureThwompFace3.png \
$(BOWSERS_CASTLE_DIR)/gTextureThwompFace4.png \
$(BOWSERS_CASTLE_DIR)/gTextureThwompFace5.png \
$(BOWSERS_CASTLE_DIR)/gTextureThwompFace6.png
THOWMP_SIDE_PNG := $(BOWSERS_CASTLE_DIR)/gTextureThwompSide.png
BOWSERS_CASTLE_EXPORT_SENTINEL := $(BOWSERS_CASTLE_DIR)/.export
ASSET_DIRECTORIES += $(BOWSERS_CASTLE_DIR)
$(BUILD_DIR)/courses/star_cup/bowsers_castle/course_data.inc.o: $(THWOMP_FACE_FRAMES:%.png=%.inc.c) $(THWOMP_PALETTE:%.png=%.inc.c)
$(BUILD_DIR)/courses/star_cup/bowsers_castle/course_data.inc.o: $(THOWMP_SIDE_PNG:%.png=%.inc.c)
$(THOWMP_SIDE_PNG:%.png=%.inc.c) $(THWOMP_PALETTE:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(THWOMP_FACE_FRAMES:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -Z $@ -g $< -s u8 -f ci8 -c rgba16 -p $(THWOMP_PALETTE)
$(THWOMP_PALETTE) $(THWOMP_FACE_FRAMES) $(THOWMP_SIDE_PNG): $(BOWSERS_CASTLE_EXPORT_SENTINEL) ;
$(BOWSERS_CASTLE_EXPORT_SENTINEL): $(ASSET_DIR)/courses/bowsers_castle.json
$(ASSET_EXTRACT) $(BASEROM) $<
touch $@

View File

@ -0,0 +1,20 @@
CHOCO_MOUNTAIN_DIR := assets/courses/choco_mountain
CHOCO_MOUNTAIN_PNG := \
$(CHOCO_MOUNTAIN_DIR)/gTextureChocoMountainWall.png \
$(CHOCO_MOUNTAIN_DIR)/gTextureChocoMountainRock.png
CHOCO_MOUNTAIN_EXPORT_SENTINEL := $(CHOCO_MOUNTAIN_DIR)/.export
ASSET_DIRECTORIES += $(CHOCO_MOUNTAIN_DIR)
$(BUILD_DIR)/courses/flower_cup/choco_mountain/course_data.inc.o: $(CHOCO_MOUNTAIN_PNG:%.png=%.inc.c)
$(CHOCO_MOUNTAIN_PNG:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(CHOCO_MOUNTAIN_PNG): $(CHOCO_MOUNTAIN_EXPORT_SENTINEL) ;
$(CHOCO_MOUNTAIN_EXPORT_SENTINEL): $(ASSET_DIR)/courses/choco_mountain.json
$(ASSET_EXTRACT) $(BASEROM) $<
touch $@

View File

@ -0,0 +1,48 @@
DKS_JUNGLE_PARKWAY_DIR := assets/courses/dks_jungle_parkway
DKS_JUNGLE_PARKWAY_PNG := \
$(DKS_JUNGLE_PARKWAY_DIR)/gTextureDksJungleParkwayBoatMarioSign.png \
$(DKS_JUNGLE_PARKWAY_DIR)/gTextureDksJungleParkwayTreeBark.png \
$(DKS_JUNGLE_PARKWAY_DIR)/gTextureDksJungleParkwayBoatWindowUpper.png \
$(DKS_JUNGLE_PARKWAY_DIR)/gTextureDksJungleParkwayBoatWindowLower.png \
$(DKS_JUNGLE_PARKWAY_DIR)/gTextureDksJungleParkwayBoatRailing.png \
$(DKS_JUNGLE_PARKWAY_DIR)/gTextureDksJungleParkwayBoatPaddle1.png \
$(DKS_JUNGLE_PARKWAY_DIR)/gTextureDksJungleParkwayBoatPaddle2.png \
$(DKS_JUNGLE_PARKWAY_DIR)/gTextureDksJungleParkwayTree2Top.png \
$(DKS_JUNGLE_PARKWAY_DIR)/gTextureDksJungleParkwayTree2Trunk.png \
$(DKS_JUNGLE_PARKWAY_DIR)/gTextureDksJungleParkwayTree3TopRight.png \
$(DKS_JUNGLE_PARKWAY_DIR)/gTextureDksJungleParkwayTree3TopLeft.png \
$(DKS_JUNGLE_PARKWAY_DIR)/gTextureDksJungleParkwayTreeTrunk.png \
$(DKS_JUNGLE_PARKWAY_DIR)/gTextureDksJungleParkwayTree1Top.png \
$(DKS_JUNGLE_PARKWAY_DIR)/gTextureDksJungleParkwayPalmTreeTop.png
DKS_JUNGLE_PARKWAY_KIWANO_PALETTE := $(DKS_JUNGLE_PARKWAY_DIR)/gTLUTDksJungleParkwayKiwanoFruit.png
DKS_JUNGLE_PARKWAY_KIWANO_FRAMES := \
$(DKS_JUNGLE_PARKWAY_DIR)/gTextureDksJungleParkwayKiwanoFruit1.png \
$(DKS_JUNGLE_PARKWAY_DIR)/gTextureDksJungleParkwayKiwanoFruit2.png \
$(DKS_JUNGLE_PARKWAY_DIR)/gTextureDksJungleParkwayKiwanoFruit3.png
DKS_JUNGLE_PARKWAY_EXPORT_SENTINEL := $(DKS_JUNGLE_PARKWAY_DIR)/.export
ASSET_DIRECTORIES += $(DKS_JUNGLE_PARKWAY_DIR)
$(BUILD_DIR)/data/other_textures.o: $(DKS_JUNGLE_PARKWAY_KIWANO_FRAMES:%.png=%.mio0)
$(DKS_JUNGLE_PARKWAY_KIWANO_FRAMES:%.png=%.mio0): %.mio0 : %.bin
$(MIO0TOOL) -c $< $@
$(DKS_JUNGLE_PARKWAY_KIWANO_FRAMES:%.png=%.bin): %.bin : %.png
$(N64GRAPHICS) -Z $@ -g $< -s raw -f ci8 -c rgba16 -p $(DKS_JUNGLE_PARKWAY_KIWANO_PALETTE)
$(BUILD_DIR)/courses/special_cup/dks_jungle_parkway/course_data.inc.o: $(DKS_JUNGLE_PARKWAY_KIWANO_PALETTE:%.png=%.inc.c)
$(BUILD_DIR)/courses/special_cup/dks_jungle_parkway/course_data.inc.o: $(DKS_JUNGLE_PARKWAY_PNG:%.png=%.inc.c)
$(DKS_JUNGLE_PARKWAY_PNG:%.png=%.inc.c) $(DKS_JUNGLE_PARKWAY_KIWANO_PALETTE:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(DKS_JUNGLE_PARKWAY_KIWANO_PALETTE) $(DKS_JUNGLE_PARKWAY_KIWANO_FRAMES): $(DKS_JUNGLE_PARKWAY_EXPORT_SENTINEL) ;
$(DKS_JUNGLE_PARKWAY_PNG): $(DKS_JUNGLE_PARKWAY_EXPORT_SENTINEL) ;
$(DKS_JUNGLE_PARKWAY_EXPORT_SENTINEL): $(ASSET_DIR)/courses/dks_jungle_parkway.json
$(ASSET_EXTRACT) $(BASEROM) $<
touch $@

View File

@ -0,0 +1,48 @@
FRAPPE_SNOWLAND_DIR := assets/courses/frappe_snowland
FRAPPE_SNOWLAND_SNOWMAN_PALETTE := $(FRAPPE_SNOWLAND_DIR)/gTLUTSnowman.png
FRAPPE_SNOWLAND_SNOW_PALETTE := $(FRAPPE_SNOWLAND_DIR)/gTLUTSnow.png
FRAPPE_SNOWLAND_TREE_PALETTE := $(FRAPPE_SNOWLAND_DIR)/gTLUTFrappeSnowlandTree.png
FRAPPE_SNOWLAND_SNOWMAN_PNG := \
$(FRAPPE_SNOWLAND_DIR)/gTextureSnowmanHead.png \
$(FRAPPE_SNOWLAND_DIR)/gTextureSnowmanBody.png \
FRAPPE_SNOWLAND_SNOW_PNG := \
$(FRAPPE_SNOWLAND_DIR)/gTextureSnow.png \
FRAPPE_SNOWLAND_TREE_PNG := \
$(FRAPPE_SNOWLAND_DIR)/gTextureFrappeSnowlandTreeLeft.png \
$(FRAPPE_SNOWLAND_DIR)/gTextureFrappeSnowlandTreeRight.png \
FRAPPE_SNOWLAND_EXPORT_SENTINEL := $(FRAPPE_SNOWLAND_DIR)/.export
ASSET_DIRECTORIES += $(FRAPPE_SNOWLAND_DIR)
$(BUILD_DIR)/courses/flower_cup/frappe_snowland/course_data.inc.o: $(FRAPPE_SNOWLAND_SNOWMAN_PNG:%.png=%.inc.c) $(FRAPPE_SNOWLAND_SNOW_PNG:%.png=%.inc.c)
$(BUILD_DIR)/courses/flower_cup/frappe_snowland/course_data.inc.o: $(FRAPPE_SNOWLAND_SNOWMAN_PALETTE:%.png=%.inc.c) $(FRAPPE_SNOWLAND_SNOW_PALETTE:%.png=%.inc.c)
$(BUILD_DIR)/courses/flower_cup/frappe_snowland/course_data.inc.o: $(FRAPPE_SNOWLAND_TREE_PALETTE:%.png=%.inc.c)
$(FRAPPE_SNOWLAND_SNOWMAN_PNG:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -Z $@ -g $< -s u8 -f ci8 -c rgba16 -p $(FRAPPE_SNOWLAND_SNOWMAN_PALETTE)
$(FRAPPE_SNOWLAND_SNOW_PNG:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -Z $@ -g $< -s u8 -f ci8 -c rgba16 -p $(FRAPPE_SNOWLAND_SNOW_PALETTE)
$(BUILD_DIR)/$(DATA_DIR)/other_textures.o: $(FRAPPE_SNOWLAND_TREE_PNG:%.png=%.mio0)
$(FRAPPE_SNOWLAND_TREE_PNG:%.png=%.mio0): %.mio0 : %.bin
$(MIO0TOOL) -c $< $@
$(FRAPPE_SNOWLAND_TREE_PNG:%.png=%.bin): %.bin : %.png
$(N64GRAPHICS) -Z $@ -g $< -s raw -f ci8 -c rgba16 -p $(FRAPPE_SNOWLAND_TREE_PALETTE)
$(FRAPPE_SNOWLAND_SNOWMAN_PALETTE:%.png=%.inc.c) $(FRAPPE_SNOWLAND_SNOW_PALETTE:%.png=%.inc.c) $(FRAPPE_SNOWLAND_TREE_PALETTE:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(FRAPPE_SNOWLAND_SNOWMAN_PNG) $(FRAPPE_SNOWLAND_SNOW_PNG) $(FRAPPE_SNOWLAND_TREE_PNG): $(FRAPPE_SNOWLAND_EXPORT_SENTINEL) ;
$(FRAPPE_SNOWLAND_SNOWMAN_PALETTE) $(FRAPPE_SNOWLAND_SNOW_PALETTE) $(FRAPPE_SNOWLAND_TREE_PALETTE): $(FRAPPE_SNOWLAND_EXPORT_SENTINEL) ;
$(FRAPPE_SNOWLAND_EXPORT_SENTINEL): $(ASSET_DIR)/courses/frappe_snowland.json
$(ASSET_EXTRACT) $(BASEROM) $<
touch $@

View File

@ -0,0 +1,63 @@
KALIMARI_DESERT_DIR := assets/courses/kalimari_desert
# The Cactus palette is really really strange. There's only 4x29 (116) entires as opposed to the usual 16x16 (256) that TLUTs have.
# So we do something a little strange. We extract 2 versions of the TLUT.
# gTLUTCactus is 16x16, meaning that is has some vertex data filling out the backend. This is the one used to extract/import the rest of
# the cow pictures
# gTLUTCactusImport is 4x29. Only used as an inc.c file.
CACTUS_PALETTE := $(KALIMARI_DESERT_DIR)/gTLUTCactus.png
CACTUS_PALETTE_IMPORT := $(KALIMARI_DESERT_DIR)/gTLUTCactusImport.png
CACTUS_PNG := \
$(KALIMARI_DESERT_DIR)/gTextureCactus1Left.png \
$(KALIMARI_DESERT_DIR)/gTextureCactus1Right.png \
$(KALIMARI_DESERT_DIR)/gTextureCactus2Left.png \
$(KALIMARI_DESERT_DIR)/gTextureCactus2Right.png \
$(KALIMARI_DESERT_DIR)/gTextureCactus3.png
KALIMARI_DESERT_PNG := \
$(KALIMARI_DESERT_DIR)/gTextureCrossingSignalInactiveTopLeft.png \
$(KALIMARI_DESERT_DIR)/gTextureCrossingSignalInactiveTopRight.png \
$(KALIMARI_DESERT_DIR)/gTextureCrossingSignalInactiveBottomLeft.png \
$(KALIMARI_DESERT_DIR)/gTextureCrossingSignalInactiveBottomRight.png \
$(KALIMARI_DESERT_DIR)/gTextureCrossingSignalActiveTopLeft.png \
$(KALIMARI_DESERT_DIR)/gTextureCrossingSignalActiveTopRight.png \
$(KALIMARI_DESERT_DIR)/gTextureCrossingSignalActiveBottomLeft.png \
$(KALIMARI_DESERT_DIR)/gTextureCrossingSignalActiveBottomRight.png \
$(KALIMARI_DESERT_DIR)/gTextureLocomotive64.png \
$(KALIMARI_DESERT_DIR)/gTextureLocomotiveCabWindow.png \
$(KALIMARI_DESERT_DIR)/gTextureLocomotiveCabWindowFront.png \
$(KALIMARI_DESERT_DIR)/gTextureLocomotiveChasis.png \
$(KALIMARI_DESERT_DIR)/gTextureLocomotiveLamp.png \
$(KALIMARI_DESERT_DIR)/gTextureLocomotiveBoiler.png \
$(KALIMARI_DESERT_DIR)/gTextureCarriageRailing.png \
$(KALIMARI_DESERT_DIR)/gTextureLocomotiveTender.png \
$(KALIMARI_DESERT_DIR)/gTextureLocomotiveBallast.png \
$(KALIMARI_DESERT_DIR)/gTextureCarriageLower.png \
$(KALIMARI_DESERT_DIR)/gTextureCarriageDoor.png \
$(KALIMARI_DESERT_DIR)/gTextureCarriageWindow.png \
$(KALIMARI_DESERT_DIR)/gTextureLocomotiveBogie.png
KALIMARI_DESERT_EXPORT_SENTINEL := $(KALIMARI_DESERT_DIR)/.export
ASSET_DIRECTORIES += $(KALIMARI_DESERT_DIR)
$(BUILD_DIR)/courses/mushroom_cup/kalimari_desert/course_data.inc.o: $(KALIMARI_DESERT_PNG:%.png=%.inc.c) $(CACTUS_PALETTE_IMPORT:%.png=%.inc.c)
$(KALIMARI_DESERT_PNG:%.png=%.inc.c) $(CACTUS_PALETTE_IMPORT:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(BUILD_DIR)/data/other_textures.o: $(CACTUS_PNG:%.png=%.mio0)
$(CACTUS_PNG:%.png=%.mio0): %.mio0 : %.bin
$(MIO0TOOL) -c $< $@
$(CACTUS_PNG:%.png=%.bin): %.bin : %.png
$(N64GRAPHICS) -Z $@ -g $< -s raw -f ci8 -c rgba16 -p $(CACTUS_PALETTE)
$(CACTUS_PALETTE) $(CACTUS_PALETTE_IMPORT) $(CACTUS_PNG): $(KALIMARI_DESERT_EXPORT_SENTINEL) ;
$(KALIMARI_DESERT_PNG): $(KALIMARI_DESERT_EXPORT_SENTINEL) ;
$(KALIMARI_DESERT_EXPORT_SENTINEL): $(ASSET_DIR)/courses/kalimari_desert.json
$(ASSET_EXTRACT) $(BASEROM) $<
touch $@

View File

@ -0,0 +1,38 @@
KOOPA_TROOPA_BEACH_DIR := assets/courses/koopa_troopa_beach
KOOPA_TROOPA_BEACH_CRAB_PALETTE := $(KOOPA_TROOPA_BEACH_DIR)/gTLUTCrab.png
KOOPA_TROOPA_BEACH_CRAB_FRAMES := \
$(KOOPA_TROOPA_BEACH_DIR)/gTextureCrab1.png \
$(KOOPA_TROOPA_BEACH_DIR)/gTextureCrab2.png \
$(KOOPA_TROOPA_BEACH_DIR)/gTextureCrab3.png \
$(KOOPA_TROOPA_BEACH_DIR)/gTextureCrab4.png \
$(KOOPA_TROOPA_BEACH_DIR)/gTextureCrab5.png \
$(KOOPA_TROOPA_BEACH_DIR)/gTextureCrab6.png \
$(KOOPA_TROOPA_BEACH_DIR)/gTextureCrab7.png
KOOPA_TROOPA_BEACH_PNG := \
$(KOOPA_TROOPA_BEACH_DIR)/gTextureKoopaTroopaBirdWing.png \
$(KOOPA_TROOPA_BEACH_DIR)/gTextureKoopaTroopaBirdEye.png \
$(KOOPA_TROOPA_BEACH_DIR)/gTextureKoopaTroopaBirdBeak.png \
$(KOOPA_TROOPA_BEACH_DIR)/gTextureKoopaTroopaPalmFrond.png \
$(KOOPA_TROOPA_BEACH_DIR)/gTextureKoopaTroopaPalmTrunk.png
KOOPA_TROOPA_BEACH_EXPORT_SENTINEL := $(KOOPA_TROOPA_BEACH_DIR)/.export
ASSET_DIRECTORIES += $(KOOPA_TROOPA_BEACH_DIR)
$(BUILD_DIR)/courses/mushroom_cup/koopa_troopa_beach/course_data.inc.o: $(KOOPA_TROOPA_BEACH_CRAB_PALETTE:%.png=%.inc.c) $(KOOPA_TROOPA_BEACH_CRAB_FRAMES:%.png=%.inc.c)
$(BUILD_DIR)/courses/mushroom_cup/koopa_troopa_beach/course_data.inc.o: $(KOOPA_TROOPA_BEACH_PNG:%.png=%.inc.c)
$(KOOPA_TROOPA_BEACH_CRAB_FRAMES:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -Z $@ -g $< -s u8 -f ci8 -c rgba16 -p $(KOOPA_TROOPA_BEACH_CRAB_PALETTE)
$(KOOPA_TROOPA_BEACH_CRAB_PALETTE:%.png=%.inc.c) $(KOOPA_TROOPA_BEACH_PNG:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(KOOPA_TROOPA_BEACH_CRAB_PALETTE) $(KOOPA_TROOPA_BEACH_CRAB_FRAMES) $(KOOPA_TROOPA_BEACH_PNG): $(KOOPA_TROOPA_BEACH_EXPORT_SENTINEL) ;
$(KOOPA_TROOPA_BEACH_EXPORT_SENTINEL): $(ASSET_DIR)/courses/koopa_troopa_beach.json
$(ASSET_EXTRACT) $(BASEROM) $<
touch $@

View File

@ -0,0 +1,22 @@
LUIGI_RACEWAY_DIR := assets/courses/luigi_raceway
LUIGI_RACEWAY_PNG := \
$(LUIGI_RACEWAY_DIR)/gTextureLuigiRacewaySignLeft.png \
$(LUIGI_RACEWAY_DIR)/gTextureLuigiRacewaySignRight.png \
$(LUIGI_RACEWAY_DIR)/gTextureLuigiRacewayBalloonBasket.png \
$(LUIGI_RACEWAY_DIR)/gTextureLuigiRacewayBalloonRope.png
LUIGI_RACEWAY_EXPORT_SENTINEL := $(LUIGI_RACEWAY_DIR)/.export
ASSET_DIRECTORIES += $(LUIGI_RACEWAY_DIR)
$(BUILD_DIR)/courses/mushroom_cup/luigi_raceway/course_data.inc.o: $(LUIGI_RACEWAY_PNG:%.png=%.inc.c)
$(LUIGI_RACEWAY_PNG:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(LUIGI_RACEWAY_PNG): $(LUIGI_RACEWAY_EXPORT_SENTINEL) ;
$(LUIGI_RACEWAY_EXPORT_SENTINEL): $(ASSET_DIR)/courses/luigi_raceway.json
$(ASSET_EXTRACT) $(BASEROM) $<
touch $@

View File

@ -0,0 +1,41 @@
MARIO_RACEWAY_DIR := assets/courses/mario_raceway
MARIO_RACEWAY_PIRANHA_PLANT_PALETTE := $(MARIO_RACEWAY_DIR)/gTLUTMarioRacewayPiranhaPlant.png
PIRANHA_PLANT_FRAMES := \
$(MARIO_RACEWAY_DIR)/gTexturePiranhaPlant1.png \
$(MARIO_RACEWAY_DIR)/gTexturePiranhaPlant2.png \
$(MARIO_RACEWAY_DIR)/gTexturePiranhaPlant3.png \
$(MARIO_RACEWAY_DIR)/gTexturePiranhaPlant4.png \
$(MARIO_RACEWAY_DIR)/gTexturePiranhaPlant5.png \
$(MARIO_RACEWAY_DIR)/gTexturePiranhaPlant6.png \
$(MARIO_RACEWAY_DIR)/gTexturePiranhaPlant7.png \
$(MARIO_RACEWAY_DIR)/gTexturePiranhaPlant8.png \
$(MARIO_RACEWAY_DIR)/gTexturePiranhaPlant9.png
MARIO_RACEWAY_SIGN := \
$(MARIO_RACEWAY_DIR)/gTextureMarioRacewaySignLeft.png \
$(MARIO_RACEWAY_DIR)/gTextureMarioRacewaySignRight.png
PIRANHA_PLANT_EXPORT_SENTINEL := $(MARIO_RACEWAY_DIR)/.export
ASSET_DIRECTORIES += $(MARIO_RACEWAY_DIR)
$(BUILD_DIR)/$(DATA_DIR)/other_textures.o: $(PIRANHA_PLANT_FRAMES:%.png=%.mio0)
$(PIRANHA_PLANT_FRAMES:%.png=%.mio0): %.mio0 : %.bin
$(MIO0TOOL) -c $< $@
$(PIRANHA_PLANT_FRAMES:%.png=%.bin): %.bin : %.png
$(N64GRAPHICS) -Z $@ -g $< -s raw -f ci8 -c rgba16 -p $(MARIO_RACEWAY_PIRANHA_PLANT_PALETTE)
$(BUILD_DIR)/courses/flower_cup/mario_raceway/course_data.inc.o: $(MARIO_RACEWAY_PIRANHA_PLANT_PALETTE:%.png=%.inc.c) $(MARIO_RACEWAY_SIGN:%.png=%.inc.c)
$(MARIO_RACEWAY_PIRANHA_PLANT_PALETTE:%.png=%.inc.c) $(MARIO_RACEWAY_SIGN:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(PIRANHA_PLANT_FRAMES) $(MARIO_RACEWAY_PIRANHA_PLANT_PALETTE) $(MARIO_RACEWAY_SIGN): $(PIRANHA_PLANT_EXPORT_SENTINEL) ;
$(PIRANHA_PLANT_EXPORT_SENTINEL): $(ASSET_DIR)/courses/mario_raceway.json
$(ASSET_EXTRACT) $(BASEROM) $<
touch $@

View File

@ -0,0 +1,74 @@
MOO_MOO_FARM_DIR := assets/courses/moo_moo_farm
MOLE_PALETTE := $(MOO_MOO_FARM_DIR)/gTLUTMole.png
MOLE_FRAMES := \
$(MOO_MOO_FARM_DIR)/gTextureMole1.png \
$(MOO_MOO_FARM_DIR)/gTextureMole2.png \
$(MOO_MOO_FARM_DIR)/gTextureMole3.png \
$(MOO_MOO_FARM_DIR)/gTextureMole4.png \
$(MOO_MOO_FARM_DIR)/gTextureMole5.png \
$(MOO_MOO_FARM_DIR)/gTextureMole6.png \
$(MOO_MOO_FARM_DIR)/gTextureMole7.png
# The Cow palette is really really strange. There's only 12x17 (204) entires as opposed to the usual 16x16 (256) that TLUTs have.
# So we do something a little strange. We extract 2 versions of the TLUT.
# gTLUTCow is 16x16, meaning that is has some vertex data filling out the backend. This is the one used to extract/import the rest of
# the cow pictures
# gTLUTCowImport is 12x17. Only used as an inc.c file.
COW_PALETTE := $(MOO_MOO_FARM_DIR)/gTLUTCow.png
COW_PALETTE_IMPORT := $(MOO_MOO_FARM_DIR)/gTLUTCowImport.png
COW_PNG := \
$(MOO_MOO_FARM_DIR)/gTextureCow01Left.png \
$(MOO_MOO_FARM_DIR)/gTextureCow01Right.png \
$(MOO_MOO_FARM_DIR)/gTextureCow02Left.png \
$(MOO_MOO_FARM_DIR)/gTextureCow02Right.png \
$(MOO_MOO_FARM_DIR)/gTextureCow03Left.png \
$(MOO_MOO_FARM_DIR)/gTextureCow03Right.png \
$(MOO_MOO_FARM_DIR)/gTextureCow04Left.png \
$(MOO_MOO_FARM_DIR)/gTextureCow04Right.png \
$(MOO_MOO_FARM_DIR)/gTextureCow05Left.png \
$(MOO_MOO_FARM_DIR)/gTextureCow05Right.png
MOO_MOO_FARM_SIGN_PNG := \
$(MOO_MOO_FARM_DIR)/gTextureMooMooFarmSignLeft.png \
$(MOO_MOO_FARM_DIR)/gTextureMooMooFarmSignRight.png
MOO_MOO_FARM_DIRT_PNG := $(MOO_MOO_FARM_DIR)/gTextureMooMooFarmDirt.png
MOO_MOO_FARM_EXPORT_SENTINEL := $(MOO_MOO_FARM_DIR)/.export
ASSET_DIRECTORIES += $(MOO_MOO_FARM_DIR)
$(BUILD_DIR)/courses/mushroom_cup/moo_moo_farm/course_data.inc.o: $(MOLE_PALETTE:%.png=%.inc.c) $(MOLE_FRAMES:%.png=%.inc.c)
$(BUILD_DIR)/courses/mushroom_cup/moo_moo_farm/course_data.inc.o: $(COW_PALETTE_IMPORT:%.png=%.inc.c)
$(BUILD_DIR)/courses/mushroom_cup/moo_moo_farm/course_data.inc.o: $(MOO_MOO_FARM_DIRT_PNG:%.png=%.inc.c)
$(MOLE_FRAMES:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -Z $@ -g $< -s u8 -f ci8 -c rgba16 -p $(MOLE_PALETTE)
$(MOLE_PALETTE:%.png=%.inc.c) $(COW_PALETTE_IMPORT:%.png=%.inc.c) $(MOO_MOO_FARM_DIRT_PNG:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(BUILD_DIR)/data/other_textures.o: $(COW_PNG:%.png=%.mio0)
$(BUILD_DIR)/data/other_textures.o: $(MOO_MOO_FARM_SIGN_PNG:%.png=%.mio0)
$(COW_PNG:%.png=%.mio0) $(MOO_MOO_FARM_SIGN_PNG:%.png=%.mio0): %.mio0 : %.bin
$(MIO0TOOL) -c $< $@
$(MOO_MOO_FARM_SIGN_PNG:%.png=%.bin): %.bin : %.png
$(N64GRAPHICS) -i $@ -g $< -s raw -f rgba16
$(COW_PNG:%.png=%.bin): %.bin : %.png
$(N64GRAPHICS) -Z $@ -g $< -s raw -f ci8 -c rgba16 -p $(COW_PALETTE)
$(MOLE_PALETTE) $(COW_PALETTE) $(COW_PALETTE_IMPORT): $(MOO_MOO_FARM_EXPORT_SENTINEL) ;
$(MOLE_FRAMES) $(COW_PNG): $(MOO_MOO_FARM_EXPORT_SENTINEL) ;
$(MOO_MOO_FARM_SIGN_PNG) $(MOO_MOO_FARM_DIRT_PNG): $(MOO_MOO_FARM_EXPORT_SENTINEL) ;
$(MOO_MOO_FARM_EXPORT_SENTINEL): $(ASSET_DIR)/courses/moo_moo_farm.json
$(ASSET_EXTRACT) $(BASEROM) $<
touch $@

View File

@ -0,0 +1,104 @@
RAINBOW_ROAD_DIR := assets/courses/rainbow_road
RAINBOW_ROAD_MUSHROOM_PALETTES := \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonMushroom1.png \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonMushroom2.png \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonMushroom3.png \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonMushroom4.png \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonMushroom5.png
RAINBOW_ROAD_MUSHROOM_PNG := $(RAINBOW_ROAD_DIR)/gTextureRainbowRoadNeonMushroom.png
RAINBOW_ROAD_MARIO_PALETTES := \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonMario1.png \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonMario2.png \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonMario3.png \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonMario4.png \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonMario5.png
RAINBOW_ROAD_MARIO_PNG := $(RAINBOW_ROAD_DIR)/gTextureRainbowRoadNeonMario.png
RAINBOW_ROAD_BOO_PALETTES := \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonBoo1.png \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonBoo2.png \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonBoo3.png \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonBoo4.png \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonBoo5.png
RAINBOW_ROAD_BOO_PNG := $(RAINBOW_ROAD_DIR)/gTextureRainbowRoadNeonBoo.png
RAINBOW_ROAD_CHARACTER_PALETTES := \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonPeach.png \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonLuigi.png \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonDonkeyKong.png \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonYoshi.png \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonBowser.png \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonWario.png \
$(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonToad.png
RAINBOW_ROAD_CHARACTER_PNG := \
$(RAINBOW_ROAD_DIR)/gTextureRainbowRoadNeonPeach.png \
$(RAINBOW_ROAD_DIR)/gTextureRainbowRoadNeonLuigi.png \
$(RAINBOW_ROAD_DIR)/gTextureRainbowRoadNeonDonkeyKong.png \
$(RAINBOW_ROAD_DIR)/gTextureRainbowRoadNeonYoshi.png \
$(RAINBOW_ROAD_DIR)/gTextureRainbowRoadNeonBowser.png \
$(RAINBOW_ROAD_DIR)/gTextureRainbowRoadNeonWario.png \
$(RAINBOW_ROAD_DIR)/gTextureRainbowRoadNeonToad.png
RAINBOW_ROAD_PNG := \
$(RAINBOW_ROAD_DIR)/gTextureRainbowRoadSphere.png \
$(RAINBOW_ROAD_DIR)/gTextureRainbowRoadReflectionMapMetal.png \
$(RAINBOW_ROAD_DIR)/gTextureRainbowRoadReflectionMapGold.png \
$(RAINBOW_ROAD_DIR)/gTextureRainbowRoadChainChompTongue.png \
$(RAINBOW_ROAD_DIR)/gTextureRainbowRoadChainChompEye.png
RAINBOW_ROAD_EXPORT_SENTINEL := $(RAINBOW_ROAD_DIR)/.export
ASSET_DIRECTORIES += $(RAINBOW_ROAD_DIR)
$(BUILD_DIR)/courses/special_cup/rainbow_road/course_data.inc.o: $(RAINBOW_ROAD_MUSHROOM_PNG:%.png=%.inc.c)
$(BUILD_DIR)/courses/special_cup/rainbow_road/course_data.inc.o: $(RAINBOW_ROAD_MARIO_PNG:%.png=%.inc.c)
$(BUILD_DIR)/courses/special_cup/rainbow_road/course_data.inc.o: $(RAINBOW_ROAD_BOO_PNG:%.png=%.inc.c)
$(BUILD_DIR)/courses/special_cup/rainbow_road/course_data.inc.o: $(RAINBOW_ROAD_CHARACTER_PNG:%.png=%.inc.c)
$(BUILD_DIR)/courses/special_cup/rainbow_road/course_data.inc.o: $(RAINBOW_ROAD_MUSHROOM_PALETTES:%.png=%.inc.c)
$(BUILD_DIR)/courses/special_cup/rainbow_road/course_data.inc.o: $(RAINBOW_ROAD_MARIO_PALETTES:%.png=%.inc.c)
$(BUILD_DIR)/courses/special_cup/rainbow_road/course_data.inc.o: $(RAINBOW_ROAD_BOO_PALETTES:%.png=%.inc.c)
$(BUILD_DIR)/courses/special_cup/rainbow_road/course_data.inc.o: $(RAINBOW_ROAD_CHARACTER_PALETTES:%.png=%.inc.c)
$(BUILD_DIR)/courses/special_cup/rainbow_road/course_data.inc.o: $(RAINBOW_ROAD_PNG:%.png=%.inc.c)
$(RAINBOW_ROAD_MUSHROOM_PNG:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -Z $@ -g $< -s u8 -f ci8 -c rgba16 -p $(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonMushroom4.png
$(RAINBOW_ROAD_MARIO_PNG:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -Z $@ -g $< -s u8 -f ci8 -c rgba16 -p $(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonMario5.png
$(RAINBOW_ROAD_BOO_PNG:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -Z $@ -g $< -s u8 -f ci8 -c rgba16 -p $(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeonBoo5.png
$(RAINBOW_ROAD_CHARACTER_PNG:%.png=%.inc.c) : $(RAINBOW_ROAD_DIR)/gTextureRainbowRoadNeon%.inc.c : $(RAINBOW_ROAD_DIR)/gTextureRainbowRoadNeon%.png
$(N64GRAPHICS) -Z $@ -g $< -s u8 -f ci8 -c rgba16 -p $(RAINBOW_ROAD_DIR)/gTLUTRainbowRoadNeon$*.png
$(RAINBOW_ROAD_MUSHROOM_PALETTES:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(RAINBOW_ROAD_MARIO_PALETTES:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(RAINBOW_ROAD_BOO_PALETTES:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(RAINBOW_ROAD_CHARACTER_PALETTES:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(RAINBOW_ROAD_PNG:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(RAINBOW_ROAD_MUSHROOM_PALETTES) $(RAINBOW_ROAD_MUSHROOM_PNG): $(RAINBOW_ROAD_EXPORT_SENTINEL) ;
$(RAINBOW_ROAD_MARIO_PALETTES) $(RAINBOW_ROAD_MARIO_PNG): $(RAINBOW_ROAD_EXPORT_SENTINEL) ;
$(RAINBOW_ROAD_BOO_PALETTES) $(RAINBOW_ROAD_BOO_PNG): $(RAINBOW_ROAD_EXPORT_SENTINEL) ;
$(RAINBOW_ROAD_CHARACTER_PALETTES) $(RAINBOW_ROAD_CHARACTER_PNG): $(RAINBOW_ROAD_EXPORT_SENTINEL) ;
$(RAINBOW_ROAD_PNG): $(RAINBOW_ROAD_EXPORT_SENTINEL) ;
$(RAINBOW_ROAD_EXPORT_SENTINEL): $(ASSET_DIR)/courses/rainbow_road.json
$(ASSET_EXTRACT) $(BASEROM) $<
touch $@

View File

@ -0,0 +1,18 @@
ROYAL_RACEWAY_DIR := assets/courses/royal_raceway
ROYAL_RACEWAY_PIRANHA_PLANT_PALETTE := $(ROYAL_RACEWAY_DIR)/gTLUTRoyalRacewayPiranhaPlant.png
ROYAL_RACEWAY_EXPORT_SENTINEL := $(ROYAL_RACEWAY_DIR)/.export
ASSET_DIRECTORIES += $(ROYAL_RACEWAY_DIR)
$(BUILD_DIR)/courses/star_cup/royal_raceway/course_data.inc.o: $(ROYAL_RACEWAY_PIRANHA_PLANT_PALETTE:%.png=%.inc.c)
$(ROYAL_RACEWAY_PIRANHA_PLANT_PALETTE:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(ROYAL_RACEWAY_PIRANHA_PLANT_PALETTE): $(ROYAL_RACEWAY_EXPORT_SENTINEL) ;
$(ROYAL_RACEWAY_EXPORT_SENTINEL): $(ASSET_DIR)/courses/royal_raceway.json
$(ASSET_EXTRACT) $(BASEROM) $<
touch $@

View File

@ -0,0 +1,25 @@
SHERBET_LAND_DIR := assets/courses/sherbet_land
SHERBET_LAND_ICE := $(SHERBET_LAND_DIR)/gTextureSherbetLandIce.png
PENGUIN_PNG := \
$(SHERBET_LAND_DIR)/gTexturePenguinBeak.png \
$(SHERBET_LAND_DIR)/gTexturePenguinEye.png
SHERBET_LAND_EXPORT_SENTINEL := $(SHERBET_LAND_DIR)/.export
ASSET_DIRECTORIES += $(SHERBET_LAND_DIR)
$(BUILD_DIR)/courses/star_cup/sherbet_land/course_data.inc.o: $(SHERBET_LAND_ICE:%.png=%.inc.c) $(PENGUIN_PNG:%.png=%.inc.c)
$(SHERBET_LAND_ICE:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f ia16
$(PENGUIN_PNG:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(SHERBET_LAND_PNG) $(PENGUIN_PNG) $(SHERBET_LAND_ICE): $(SHERBET_LAND_EXPORT_SENTINEL) ;
$(SHERBET_LAND_EXPORT_SENTINEL): $(ASSET_DIR)/courses/sherbet_land.json
$(ASSET_EXTRACT) $(BASEROM) $<
touch $@

View File

@ -0,0 +1,52 @@
TOADS_TURNPIKE_DIR := assets/courses/toads_turnpike
TOADS_TURNPIKE_PNG := \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeTruckWindshieldLeft.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeTruckWindshieldRight.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeTruckBox1.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeTruckHeadlights.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeTruckTyre.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeTruckCab.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeTruckCabSide.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeBusBackLod0.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeBusSide.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeBusDoorLod0.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeBusWindow.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeBusFrontLod0.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeBusUnknown1.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeBusDriverWindow.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeBusDoorLod1.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeBusSideLod1.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeBusFrontLod1.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeBusBackLod1.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeTankerStripe.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeTankerWindshield.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeTankerFront.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeTankerHeadlights.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeTankerBumper.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeTankerSideBackLod1.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeTankerBackLod1.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeTankerSideFrontLod1.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeTankerFrontLod1.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeTruckBox2.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeTruckBox3.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeCarHeadlights.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeCarTaillights.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeCarFrontLod1.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeCarBackLod1.png \
$(TOADS_TURNPIKE_DIR)/gTextureToadsTurnpikeCarSideLod1.png
TOADS_TURNPIKE_EXPORT_SENTINEL := $(TOADS_TURNPIKE_DIR)/.export
ASSET_DIRECTORIES += $(TOADS_TURNPIKE_DIR)
$(BUILD_DIR)/courses/flower_cup/toads_turnpike/course_data.inc.o: $(TOADS_TURNPIKE_PNG:%.png=%.inc.c)
$(TOADS_TURNPIKE_PNG:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(TOADS_TURNPIKE_PNG): $(TOADS_TURNPIKE_EXPORT_SENTINEL) ;
$(TOADS_TURNPIKE_EXPORT_SENTINEL): $(ASSET_DIR)/courses/toads_turnpike.json
$(ASSET_EXTRACT) $(BASEROM) $<
touch $@

View File

@ -0,0 +1,22 @@
WARIO_STADIUM_DIR := assets/courses/wario_stadium
WARIO_STADIUM_SIGN := \
$(WARIO_STADIUM_DIR)/gTextureWarioStadiumSignTopLeft.png \
$(WARIO_STADIUM_DIR)/gTextureWarioStadiumSignBottomLeft.png \
$(WARIO_STADIUM_DIR)/gTextureWarioStadiumSignTopRight.png \
$(WARIO_STADIUM_DIR)/gTextureWarioStadiumSignBottomRight.png
WARIO_STADIUM_EXPORT_SENTINEL := $(WARIO_STADIUM_DIR)/.export
ASSET_DIRECTORIES += $(WARIO_STADIUM_DIR)
$(BUILD_DIR)/courses/star_cup/wario_stadium/course_data.inc.o: $(WARIO_STADIUM_SIGN:%.png=%.inc.c)
$(WARIO_STADIUM_SIGN:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(WARIO_STADIUM_SIGN): $(WARIO_STADIUM_EXPORT_SENTINEL) ;
$(WARIO_STADIUM_EXPORT_SENTINEL): $(ASSET_DIR)/courses/wario_stadium.json
$(ASSET_EXTRACT) $(BASEROM) $<
touch $@

View File

@ -0,0 +1,29 @@
YOSHI_VALLEY_DIR := assets/courses/yoshi_valley
YOSHI_VALLEY_PNG := \
$(YOSHI_VALLEY_DIR)/gTextureYoshiValleyYoshiFlag.png \
$(YOSHI_VALLEY_DIR)/gTextureYoshiValleyEggSpot.png \
$(YOSHI_VALLEY_DIR)/gTextureYoshiValleyEgg.png
YOSHI_VALLEY_HEDGEHOG_PALETTE := $(YOSHI_VALLEY_DIR)/gTLUTYoshiValleyHedgehog.png
YOSHI_VALLEY_HEDGEHOG_PNG := $(YOSHI_VALLEY_DIR)/gTextureYoshiValleyHedgehog.png
YOSHI_VALLEY_EXPORT_SENTINEL := $(YOSHI_VALLEY_DIR)/.export
ASSET_DIRECTORIES += $(YOSHI_VALLEY_DIR)
$(BUILD_DIR)/courses/special_cup/yoshi_valley/course_data.inc.o: $(YOSHI_VALLEY_HEDGEHOG_PALETTE:%.png=%.inc.c) $(YOSHI_VALLEY_HEDGEHOG_PNG:%.png=%.inc.c)
$(BUILD_DIR)/courses/special_cup/yoshi_valley/course_data.inc.o: $(YOSHI_VALLEY_PNG:%.png=%.inc.c)
$(YOSHI_VALLEY_HEDGEHOG_PNG:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -Z $@ -g $< -s u8 -f ci8 -c rgba16 -p $(YOSHI_VALLEY_HEDGEHOG_PALETTE)
$(YOSHI_VALLEY_PNG:%.png=%.inc.c) $(YOSHI_VALLEY_HEDGEHOG_PALETTE:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(YOSHI_VALLEY_HEDGEHOG_PALETTE) $(YOSHI_VALLEY_HEDGEHOG_PNG): $(YOSHI_VALLEY_EXPORT_SENTINEL) ;
$(YOSHI_VALLEY_PNG): $(YOSHI_VALLEY_EXPORT_SENTINEL) ;
$(YOSHI_VALLEY_EXPORT_SENTINEL): $(ASSET_DIR)/courses/yoshi_valley.json
$(ASSET_EXTRACT) $(BASEROM) $<
touch $@

View File

@ -1,37 +0,0 @@
PIRANHA_PLANT_DIR := assets/piranha_plant
PIRANHA_PLANT_PALETTE := $(PIRANHA_PLANT_DIR)/gTLUTPiranhaPlant.png
PIRANHA_PLANT_FRAMES := \
$(PIRANHA_PLANT_DIR)/gTexturePiranhaPlant1.png \
$(PIRANHA_PLANT_DIR)/gTexturePiranhaPlant2.png \
$(PIRANHA_PLANT_DIR)/gTexturePiranhaPlant3.png \
$(PIRANHA_PLANT_DIR)/gTexturePiranhaPlant4.png \
$(PIRANHA_PLANT_DIR)/gTexturePiranhaPlant5.png \
$(PIRANHA_PLANT_DIR)/gTexturePiranhaPlant6.png \
$(PIRANHA_PLANT_DIR)/gTexturePiranhaPlant7.png \
$(PIRANHA_PLANT_DIR)/gTexturePiranhaPlant8.png \
$(PIRANHA_PLANT_DIR)/gTexturePiranhaPlant9.png
PIRANHA_PLANT_EXPORT_SENTINEL := $(PIRANHA_PLANT_DIR)/.export
ASSET_DIRECTORIES += $(PIRANHA_PLANT_DIR)
$(BUILD_DIR)/$(DATA_DIR)/other_textures.o: $(PIRANHA_PLANT_FRAMES:%.png=%.mio0)
$(PIRANHA_PLANT_FRAMES:%.png=%.mio0): %.mio0 : %.bin
$(MIO0TOOL) -c $< $@
$(PIRANHA_PLANT_FRAMES:%.png=%.bin): %.bin : %.png
$(N64GRAPHICS) -Z $@ -g $< -s raw -f ci8 -c rgba16 -p $(PIRANHA_PLANT_PALETTE)
$(BUILD_DIR)/courses/flower_cup/mario_raceway/course_data.inc.o: $(PIRANHA_PLANT_PALETTE:%.png=%.inc.c)
$(PIRANHA_PLANT_PALETTE:%.png=%.inc.c): %.inc.c : %.png
$(N64GRAPHICS) -i $@ -g $< -s u8 -f rgba16
$(PIRANHA_PLANT_FRAMES) $(PIRANHA_PLANT_PALETTE): $(PIRANHA_PLANT_EXPORT_SENTINEL) ;
$(PIRANHA_PLANT_EXPORT_SENTINEL): $(ASSET_DIR)/piranha_plant.json
$(ASSET_EXTRACT) $(BASEROM) $<
touch $@

View File

@ -1,12 +0,0 @@
{
"gTLUTPiranhaPlant": {"output_dir": "piranha_plant", "rom_offset": "0x8284D0", "block_offset": "0x6750", "width": 16, "height": 16, "type": "rgba16"},
"gTexturePiranhaPlant1": {"output_dir": "piranha_plant", "rom_offset": "0x698378", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTPiranhaPlant"},
"gTexturePiranhaPlant2": {"output_dir": "piranha_plant", "rom_offset": "0x69859C", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTPiranhaPlant"},
"gTexturePiranhaPlant3": {"output_dir": "piranha_plant", "rom_offset": "0x6987FC", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTPiranhaPlant"},
"gTexturePiranhaPlant4": {"output_dir": "piranha_plant", "rom_offset": "0x698A40", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTPiranhaPlant"},
"gTexturePiranhaPlant5": {"output_dir": "piranha_plant", "rom_offset": "0x698C60", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTPiranhaPlant"},
"gTexturePiranhaPlant6": {"output_dir": "piranha_plant", "rom_offset": "0x698E38", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTPiranhaPlant"},
"gTexturePiranhaPlant7": {"output_dir": "piranha_plant", "rom_offset": "0x698FF4", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTPiranhaPlant"},
"gTexturePiranhaPlant8": {"output_dir": "piranha_plant", "rom_offset": "0x6991F8", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTPiranhaPlant"},
"gTexturePiranhaPlant9": {"output_dir": "piranha_plant", "rom_offset": "0x699500", "width": 32, "height": 64, "type": "ci8", "tlut": "gTLUTPiranhaPlant"}
}

View File

@ -20,29 +20,29 @@ Gfx d_course_big_donut_dl[] = {
// Item box spawn locations // Item box spawn locations
struct ActorSpawnData d_course_big_donut_spawn_item_box[] = { struct ActorSpawnData d_course_big_donut_spawn_item_box[] = {
{{ 0xFFD8, 0x00DE, 0x0338 }, { 0x0000 }}, {{ -40, 222, 824 }, {0} },
{{ 0x007D, 0x00C8, 0x023D }, { 0x0000 }}, {{ 125, 200, 573 }, {0} },
{{ 0xFED2, 0x00FB, 0x0379 }, { 0x0000 }}, {{ -302, 251, 889 }, {0} },
{{ 0x0026, 0x00CB, 0x028E }, { 0x0000 }}, {{ 38, 203, 654 }, {0} },
{{ 0x0016, 0x00CF, 0x02CC }, { 0x0000 }}, {{ 22, 207, 716 }, {0} },
{{ 0x006E, 0x00CD, 0x02AA }, { 0x0000 }}, {{ 110, 205, 682 }, {0} },
{{ 0x02A9, 0x00CD, 0x0035 }, { 0x0001 }}, {{ 681, 205, 53 }, {1} },
{{ 0x02F7, 0x00DA, 0xFF03 }, { 0x0001 }}, {{ 759, 218, -253 }, {1} },
{{ 0x031E, 0x00DD, 0x00AC }, { 0x0001 }}, {{ 798, 221, 172 }, {1} },
{{ 0x022D, 0x00C8, 0xFF91 }, { 0x0001 }}, {{ 557, 200, -111 }, {1} },
{{ 0x0275, 0x00C9, 0xFF82 }, { 0x0001 }}, {{ 629, 201, -126 }, {1} },
{{ 0x02C0, 0x00CF, 0xFF77 }, { 0x0001 }}, {{ 704, 207, -137 }, {1} },
{{ 0xFF91, 0x00C8, 0xFDD6 }, { 0x0002 }}, {{ -111, 200, -554 }, {2} },
{{ 0x0048, 0x00FA, 0xFC5B }, { 0x0002 }}, {{ 72, 250, -933 }, {2} },
{{ 0xFFE7, 0x00CF, 0xFD3F }, { 0x0002 }}, {{ -25, 207, -705 }, {2} },
{{ 0xFFEB, 0x00E1, 0xFCB5 }, { 0x0002 }}, {{ -21, 225, -843 }, {2} },
{{ 0xFFAD, 0x00DC, 0xFCD9 }, { 0x0002 }}, {{ -83, 220, -807 }, {2} },
{{ 0xFFCF, 0x00D6, 0xFCF9 }, { 0x0002 }}, {{ -49, 214, -775 }, {2} },
{{ 0xFCD9, 0x00DC, 0x0035 }, { 0x0003 }}, {{ -807, 220, 53 }, {3} },
{{ 0xFCA5, 0x00F2, 0x012C }, { 0x0003 }}, {{ -859, 242, 300 }, {3} },
{{ 0xFD60, 0x00CF, 0xFF25 }, { 0x0003 }}, {{ -672, 207, -219 }, {3} },
{{ 0xFC8B, 0x006C, 0xFFC5 }, { 0x0003 }}, {{ -885, 108, -59 }, {3} },
{{ 0xFCE7, 0x0067, 0xFFDF }, { 0x0003 }}, {{ -793, 103, -33 }, {3} },
{{ 0xFD0B, 0x00D6, 0x00A6 }, { 0x0003 }}, {{ -757, 214, 166 }, {3} },
{{ 0x8000, 0x0000, 0x0000 }, { 0x0000 }}, {{ -32768, 0, 0 }, {0} },
}; };

View File

@ -15,41 +15,41 @@ Gfx d_course_block_fort_dl[] = {
// Item box spawn locations // Item box spawn locations
struct ActorSpawnData d_course_block_fort_spawn_item_box[] = { struct ActorSpawnData d_course_block_fort_spawn_item_box[] = {
{{ 0xFFDA, 0x0000, 0x02E8 }, { 0x0000 }}, {{ -38, 0, 744 }, {0} },
{{ 0x001D, 0x0000, 0x02C6 }, { 0x0000 }}, {{ 29, 0, 710 }, {0} },
{{ 0xFFF3, 0x0000, 0x02AD }, { 0x0000 }}, {{ -13, 0, 685 }, {0} },
{{ 0xFDD7, 0x002F, 0x021F }, { 0x0000 }}, {{ -553, 47, 543 }, {0} },
{{ 0xFDF1, 0x002F, 0x020E }, { 0x0000 }}, {{ -527, 47, 526 }, {0} },
{{ 0xFF73, 0x002F, 0x0099 }, { 0x0000 }}, {{ -141, 47, 153 }, {0} },
{{ 0xFF47, 0x002F, 0x00B3 }, { 0x0000 }}, {{ -185, 47, 179 }, {0} },
{{ 0xFE7C, 0x005C, 0x016E }, { 0x0000 }}, {{ -388, 92, 366 }, {0} },
{{ 0xFE54, 0x005C, 0x01A8 }, { 0x0000 }}, {{ -428, 92, 424 }, {0} },
{{ 0xFD2C, 0x0000, 0xFFCE }, { 0x0001 }}, {{ -724, 0, -50 }, {1} },
{{ 0xFD59, 0x0000, 0xFFFC }, { 0x0001 }}, {{ -679, 0, -4 }, {1} },
{{ 0xFD20, 0x0000, 0x0025 }, { 0x0001 }}, {{ -736, 0, 37 }, {1} },
{{ 0xFDD6, 0x002F, 0xFDDA }, { 0x0001 }}, {{ -554, 47, -550 }, {1} },
{{ 0xFDEE, 0x002F, 0xFDE8 }, { 0x0001 }}, {{ -530, 47, -536 }, {1} },
{{ 0xFF56, 0x002F, 0xFF54 }, { 0x0001 }}, {{ -170, 47, -172 }, {1} },
{{ 0xFF76, 0x002F, 0xFF7B }, { 0x0001 }}, {{ -138, 47, -133 }, {1} },
{{ 0xFE4F, 0x005C, 0xFE53 }, { 0x0001 }}, {{ -433, 92, -429 }, {1} },
{{ 0xFE85, 0x005C, 0xFE7A }, { 0x0001 }}, {{ -379, 92, -390 }, {1} },
{{ 0xFFC3, 0x0000, 0xFD28 }, { 0x0002 }}, {{ -61, 0, -728 }, {2} },
{{ 0xFFEF, 0x0000, 0xFD62 }, { 0x0002 }}, {{ -17, 0, -670 }, {2} },
{{ 0x001A, 0x0000, 0xFD3C }, { 0x0002 }}, {{ 26, 0, -708 }, {2} },
{{ 0x0225, 0x002F, 0xFDDC }, { 0x0002 }}, {{ 549, 47, -548 }, {2} },
{{ 0x020F, 0x002F, 0xFDEC }, { 0x0002 }}, {{ 527, 47, -532 }, {2} },
{{ 0x0094, 0x002F, 0xFF6E }, { 0x0002 }}, {{ 148, 47, -146 }, {2} },
{{ 0x00C0, 0x002F, 0xFF4B }, { 0x0002 }}, {{ 192, 47, -181 }, {2} },
{{ 0x01D7, 0x005C, 0xFE39 }, { 0x0002 }}, {{ 471, 92, -455 }, {2} },
{{ 0x019E, 0x005C, 0xFE56 }, { 0x0002 }}, {{ 414, 92, -426 }, {2} },
{{ 0x02D8, 0x0000, 0xFFDC }, { 0x0003 }}, {{ 728, 0, -36 }, {3} },
{{ 0x02A4, 0x0000, 0xFFFC }, { 0x0003 }}, {{ 676, 0, -4 }, {3} },
{{ 0x02BC, 0x0000, 0x001F }, { 0x0003 }}, {{ 700, 0, 31 }, {3} },
{{ 0x008C, 0x002F, 0x00A3 }, { 0x0003 }}, {{ 140, 47, 163 }, {3} },
{{ 0x00B2, 0x002F, 0x00C9 }, { 0x0003 }}, {{ 178, 47, 201 }, {3} },
{{ 0x0211, 0x002F, 0x0214 }, { 0x0003 }}, {{ 529, 47, 532 }, {3} },
{{ 0x022A, 0x002F, 0x022D }, { 0x0003 }}, {{ 554, 47, 557 }, {3} },
{{ 0x01D6, 0x005C, 0x01E2 }, { 0x0003 }}, {{ 470, 92, 482 }, {3} },
{{ 0x01B6, 0x005C, 0x01BA }, { 0x0003 }}, {{ 438, 92, 442 }, {3} },
{{ 0x8000, 0x0000, 0x0000 }, { 0x0000 }}, {{ -32768, 0, 0 }, {0} },
}; };

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,6 @@
#include <ultra64.h> #include <ultra64.h>
#include <macros.h> #include <macros.h>
#include <PR/gbi.h> #include <PR/gbi.h>
#include <actor_types.h>
#include <course.h> #include <course.h>
Gfx d_course_choco_mountain_packed_dl_0[] = Gfx d_course_choco_mountain_packed_dl_0[] =

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,6 @@
#include <ultra64.h> #include <ultra64.h>
#include <macros.h> #include <macros.h>
#include <PR/gbi.h> #include <PR/gbi.h>
#include <actor_types.h>
#include <course.h> #include <course.h>
Gfx d_course_frappe_snowland_packed_dl_0[] = Gfx d_course_frappe_snowland_packed_dl_0[] =

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,6 @@
#include <ultra64.h> #include <ultra64.h>
#include <macros.h> #include <macros.h>
#include <PR/gbi.h> #include <PR/gbi.h>
#include <actor_types.h>
#include <course.h> #include <course.h>
Gfx d_course_mario_raceway_packed_dl_0[] = Gfx d_course_mario_raceway_packed_dl_0[] =

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,6 @@
#include <ultra64.h> #include <ultra64.h>
#include <macros.h> #include <macros.h>
#include <PR/gbi.h> #include <PR/gbi.h>
#include <actor_types.h>
#include <course.h> #include <course.h>
Gfx d_course_toads_turnpike_packed_dl_0[] = Gfx d_course_toads_turnpike_packed_dl_0[] =

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,6 @@
#include <ultra64.h> #include <ultra64.h>
#include <macros.h> #include <macros.h>
#include <PR/gbi.h> #include <PR/gbi.h>
#include <actor_types.h>
#include <course.h> #include <course.h>
Gfx d_course_kalimari_desert_packed_dl_0[] = Gfx d_course_kalimari_desert_packed_dl_0[] =

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,6 @@
#include <ultra64.h> #include <ultra64.h>
#include <macros.h> #include <macros.h>
#include <PR/gbi.h> #include <PR/gbi.h>
#include <actor_types.h>
#include <course.h> #include <course.h>
Gfx d_course_koopa_troopa_beach_packed_dl_0[] = Gfx d_course_koopa_troopa_beach_packed_dl_0[] =

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,6 @@
#include <ultra64.h> #include <ultra64.h>
#include <macros.h> #include <macros.h>
#include <PR/gbi.h> #include <PR/gbi.h>
#include <actor_types.h>
#include <course.h> #include <course.h>
Gfx d_course_luigi_raceway_packed_dl_0[] = Gfx d_course_luigi_raceway_packed_dl_0[] =

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,6 @@
#include <ultra64.h> #include <ultra64.h>
#include <macros.h> #include <macros.h>
#include <PR/gbi.h> #include <PR/gbi.h>
#include <actor_types.h>
#include <course.h> #include <course.h>
Gfx d_course_moo_moo_farm_packed_dl_0[] = Gfx d_course_moo_moo_farm_packed_dl_0[] =

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,6 @@
#include <ultra64.h> #include <ultra64.h>
#include <macros.h> #include <macros.h>
#include <PR/gbi.h> #include <PR/gbi.h>
#include <actor_types.h>
#include <course.h> #include <course.h>
Gfx d_course_bowsers_castle_packed_dl_0[] = Gfx d_course_bowsers_castle_packed_dl_0[] =

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -168,12 +168,12 @@ glabel gTextureGrass2
.incbin "textures/standalone/grass_2.rgba16.mio0" .incbin "textures/standalone/grass_2.rgba16.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTextureSignMooMooFarm0 glabel gTextureMooMooFarmSignLeft
.incbin "textures/standalone/sign_moo_moo_farm_0.rgba16.mio0" .incbin "assets/courses/moo_moo_farm/gTextureMooMooFarmSignLeft.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTextureSignMooMooFarm1 glabel gTextureMooMooFarmSignRight
.incbin "textures/standalone/sign_moo_moo_farm_1.rgba16.mio0" .incbin "assets/courses/moo_moo_farm/gTextureMooMooFarmSignRight.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture64ACAC glabel gTexture64ACAC
@ -1256,72 +1256,72 @@ glabel gTextureShrub
.incbin "textures/standalone/shrub.rgba16.mio0" .incbin "textures/standalone/shrub.rgba16.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture69333C glabel gTextureFrappeSnowlandTreeLeft
.incbin "bin/texture_69333C.mio0" .incbin "assets/courses/frappe_snowland/gTextureFrappeSnowlandTreeLeft.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture693790 glabel gTextureFrappeSnowlandTreeRight
.incbin "bin/texture_693790.mio0" .incbin "assets/courses/frappe_snowland/gTextureFrappeSnowlandTreeRight.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture693BC4 glabel gTextureCow01Left
.incbin "bin/texture_693BC4.mio0" .incbin "assets/courses/moo_moo_farm/gTextureCow01Left.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture693F48 glabel gTextureCow01Right
.incbin "bin/texture_693F48.mio0" .incbin "assets/courses/moo_moo_farm/gTextureCow01Right.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture69429C glabel gTextureCow02Left
.incbin "bin/texture_69429C.mio0" .incbin "assets/courses/moo_moo_farm/gTextureCow02Left.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture694628 glabel gTextureCow02Right
.incbin "bin/texture_694628.mio0" .incbin "assets/courses/moo_moo_farm/gTextureCow02Right.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture694990 glabel gTextureCow03Left
.incbin "bin/texture_694990.mio0" .incbin "assets/courses/moo_moo_farm/gTextureCow03Left.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture694CAC glabel gTextureCow03Right
.incbin "bin/texture_694CAC.mio0" .incbin "assets/courses/moo_moo_farm/gTextureCow03Right.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture694F7C glabel gTextureCow04Left
.incbin "bin/texture_694F7C.mio0" .incbin "assets/courses/moo_moo_farm/gTextureCow04Left.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture695268 glabel gTextureCow04Right
.incbin "bin/texture_695268.mio0" .incbin "assets/courses/moo_moo_farm/gTextureCow04Right.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture6955AC glabel gTextureCow05Left
.incbin "bin/texture_6955AC.mio0" .incbin "assets/courses/moo_moo_farm/gTextureCow05Left.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture6958C0 glabel gTextureCow05Right
.incbin "bin/texture_6958C0.mio0" .incbin "assets/courses/moo_moo_farm/gTextureCow05Right.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture695BA4 glabel gTextureCactus1Left
.incbin "bin/texture_695BA4.mio0" .incbin "assets/courses/kalimari_desert/gTextureCactus1Left.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture695EE4 glabel gTextureCactus1Right
.incbin "bin/texture_695EE4.mio0" .incbin "assets/courses/kalimari_desert/gTextureCactus1Right.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture6961E0 glabel gTextureCactus2Left
.incbin "bin/texture_6961E0.mio0" .incbin "assets/courses/kalimari_desert/gTextureCactus2Left.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture696488 glabel gTextureCactus2Right
.incbin "bin/texture_696488.mio0" .incbin "assets/courses/kalimari_desert/gTextureCactus2Right.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture6967FC glabel gTextureCactus3
.incbin "bin/texture_6967FC.mio0" .incbin "assets/courses/kalimari_desert/gTextureCactus3.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTextureFinishLineBanner1 glabel gTextureFinishLineBanner1
@ -1357,55 +1357,55 @@ glabel gTextureFinishLineBanner8
.balign 4, 0x00 .balign 4, 0x00
glabel gTexturePiranhaPlant1 glabel gTexturePiranhaPlant1
.incbin "assets/piranha_plant/gTexturePiranhaPlant1.mio0" .incbin "assets/courses/mario_raceway/gTexturePiranhaPlant1.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexturePiranhaPlant2 glabel gTexturePiranhaPlant2
.incbin "assets/piranha_plant/gTexturePiranhaPlant2.mio0" .incbin "assets/courses/mario_raceway/gTexturePiranhaPlant2.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexturePiranhaPlant3 glabel gTexturePiranhaPlant3
.incbin "assets/piranha_plant/gTexturePiranhaPlant3.mio0" .incbin "assets/courses/mario_raceway/gTexturePiranhaPlant3.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexturePiranhaPlant4 glabel gTexturePiranhaPlant4
.incbin "assets/piranha_plant/gTexturePiranhaPlant4.mio0" .incbin "assets/courses/mario_raceway/gTexturePiranhaPlant4.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexturePiranhaPlant5 glabel gTexturePiranhaPlant5
.incbin "assets/piranha_plant/gTexturePiranhaPlant5.mio0" .incbin "assets/courses/mario_raceway/gTexturePiranhaPlant5.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexturePiranhaPlant6 glabel gTexturePiranhaPlant6
.incbin "assets/piranha_plant/gTexturePiranhaPlant6.mio0" .incbin "assets/courses/mario_raceway/gTexturePiranhaPlant6.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexturePiranhaPlant7 glabel gTexturePiranhaPlant7
.incbin "assets/piranha_plant/gTexturePiranhaPlant7.mio0" .incbin "assets/courses/mario_raceway/gTexturePiranhaPlant7.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexturePiranhaPlant8 glabel gTexturePiranhaPlant8
.incbin "assets/piranha_plant/gTexturePiranhaPlant8.mio0" .incbin "assets/courses/mario_raceway/gTexturePiranhaPlant8.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexturePiranhaPlant9 glabel gTexturePiranhaPlant9
.incbin "assets/piranha_plant/gTexturePiranhaPlant9.mio0" .incbin "assets/courses/mario_raceway/gTexturePiranhaPlant9.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture6997E0 glabel gTexture6997E0
.incbin "textures/standalone/texture_6997E0.rgba16.mio0" .incbin "textures/standalone/texture_6997E0.rgba16.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture699E24 glabel gTextureDksJungleParkwayKiwanoFruit1
.incbin "bin/texture_699E24.mio0" .incbin "assets/courses/dks_jungle_parkway/gTextureDksJungleParkwayKiwanoFruit1.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture69A154 glabel gTextureDksJungleParkwayKiwanoFruit2
.incbin "bin/texture_69A154.mio0" .incbin "assets/courses/dks_jungle_parkway/gTextureDksJungleParkwayKiwanoFruit2.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTexture69A4C0 glabel gTextureDksJungleParkwayKiwanoFruit3
.incbin "bin/texture_69A4C0.mio0" .incbin "assets/courses/dks_jungle_parkway/gTextureDksJungleParkwayKiwanoFruit3.mio0"
.balign 16, 0x00 .balign 16, 0x00
glabel gTextureKartShadow glabel gTextureKartShadow
@ -1572,7 +1572,7 @@ glabel gTextureLightningBolt1
.balign 4, 0x00 .balign 4, 0x00
glabel gTextureGhosts glabel gTextureGhosts
.incbin "bin/texture_ghosts.mio0" .incbin "assets/courses/banshee_boardwalk/boo_frames.mio0"
.balign 4, 0x00 .balign 4, 0x00
glabel gTextureExhaust0 glabel gTextureExhaust0

View File

@ -140,9 +140,19 @@ struct ActorSpawnData {
// Required for func_80298AC0 due to diff size. // Required for func_80298AC0 due to diff size.
// members unverified. data located at D_06013F78 // members unverified. data located at D_06013F78
/**
* There are nearly 100 trees in DK Jungle Parkway. If they were put into the actor list proper
* they would fill it up, leaving no space for stuff like item boxes, shells, bananas, kiwano fruits,
* etc.
* So, this struct type acts as both spawn data AND a stripped down Actor for those trees.
* Give the tree a position, a byte for flags stuffed into an s16 used to indicate tree sub-type,
* and an s16 containing as the tree's original Y position.
**/
struct UnkActorSpawnData { struct UnkActorSpawnData {
/* 0x00 */ Vec3s pos; /* 0x00 */ Vec3s pos;
/* 0x06 */ s16 someId; // Usually populated, but not necessarily used by all actors types // Techinically only the bottom byte of someId is the "id". The top byte is used for flags.
/* 0x06 */ s16 someId;
// Stores the tree's original Y position.
/* 0x08 */ s16 unk8; /* 0x08 */ s16 unk8;
}; };

View File

@ -23,8 +23,8 @@ extern u8 gTexture68CDA0[];
extern u8 gTexture6442D4[]; extern u8 gTexture6442D4[];
extern u8 gTexture64440C[]; extern u8 gTexture64440C[];
extern u8 gTexture6446AC[]; extern u8 gTexture6446AC[];
extern u8 gTextureSignMooMooFarm0[]; extern u8 gTextureMooMooFarmSignLeft[];
extern u8 gTextureSignMooMooFarm1[]; extern u8 gTextureMooMooFarmSignRight[];
extern u8 gTexture64ACAC[]; extern u8 gTexture64ACAC[];
extern u8 gTexture66D698[]; extern u8 gTexture66D698[];
extern u8 gTexture66EBF0[]; extern u8 gTexture66EBF0[];
@ -145,8 +145,8 @@ const course_texture moo_moo_farm_textures[] = {
{gTexture6442D4, 0x0138, 0x0800, 0x0}, {gTexture6442D4, 0x0138, 0x0800, 0x0},
{gTexture64440C, 0x029D, 0x1000, 0x0}, {gTexture64440C, 0x029D, 0x1000, 0x0},
{gTexture6446AC, 0x0116, 0x0800, 0x0}, {gTexture6446AC, 0x0116, 0x0800, 0x0},
{gTextureSignMooMooFarm0, 0x0A66, 0x1000, 0x0}, {gTextureMooMooFarmSignLeft, 0x0A66, 0x1000, 0x0},
{gTextureSignMooMooFarm1, 0x0A64, 0x1000, 0x0}, {gTextureMooMooFarmSignRight, 0x0A64, 0x1000, 0x0},
{gTexture64ACAC, 0x02A3, 0x0800, 0x0}, {gTexture64ACAC, 0x02A3, 0x0800, 0x0},
{gTexture66D698, 0x0370, 0x0800, 0x0}, {gTexture66D698, 0x0370, 0x0800, 0x0},
{gTexture66EBF0, 0x0146, 0x0800, 0x0}, {gTexture66EBF0, 0x0146, 0x0800, 0x0},

View File

@ -218,7 +218,7 @@ def export_image(baserom, asset, asset_list):
subprocess.run(cmd, check=True) subprocess.run(cmd, check=True)
def export_bin(baserom, asset): def export_bin(baserom, asset):
asset_filename = os.path.join({asset["output_dir"]}, f'{asset["name"]}.{asset["type"]}') asset_filename = os.path.join(asset["output_dir"], f'{asset["name"]}.{asset["type"]}')
os.makedirs(asset["output_dir"], exist_ok=True) os.makedirs(asset["output_dir"], exist_ok=True)
with open(asset_filename, "wb") as asset_file: with open(asset_filename, "wb") as asset_file: