Match common_textures.inc.c, memory & actor decomp (#188)

* More actor decomp

* memory.c decomp plus bss import into actor code

* Match actors and segment D match

* Match common_textures.inc.c

* Add tool bin2c.py
This commit is contained in:
MegaMech 2022-05-12 16:57:56 -06:00 committed by GitHub
parent 49845b1fe9
commit e4a176d8f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 4646 additions and 1948 deletions

220
Makefile
View File

@ -167,8 +167,8 @@ endif
MIO0TOOL = $(TOOLS_DIR)/mio0
N64CKSUM = $(TOOLS_DIR)/n64cksum
N64GRAPHICS = $(TOOLS_DIR)/n64graphics
BIN2C = $(PYTHON) $(TOOLS_DIR)/bin2c.py
EXTRACT_DATA_FOR_MIO := $(TOOLS_DIR)/extract_data_for_mio
REMOVE_BYTES := $(PYTHON) $(TOOLS_DIR)/remove_bytes.py
EMULATOR = mupen64plus
EMU_FLAGS = --noosd
LOADER = loader64
@ -244,6 +244,211 @@ $(BUILD_DIR)/src/startup_logo.inc.o: src/startup_logo.inc.c
$(CC) -c $(CFLAGS) -o $@ $<
$(PYTHON) tools/set_o32abi_bit.py $@
# common textures
$(BUILD_DIR)/src/common_textures.inc.o: src/common_textures.inc.c
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_00000_tlut.rgba16.inc.c -g textures/132B50_00000_tlut.rgba16.png -f rgba16 -s u8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_00200.rgba16.inc.c -g textures/132B50_00200.rgba16.png -f rgba16 -s u8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_01EE8.rgba16.inc.c -g textures/132B50_01EE8.rgba16.png -f rgba16 -s u8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_03348.rgba16.inc.c -g textures/132B50_03348.rgba16.png -f rgba16 -s u8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_03B48.rgba16.inc.c -g textures/132B50_03B48.rgba16.png -f rgba16 -s u8
$(BIN2C) textures/132B50_04C68_tlut.rgba16.bin $(BUILD_DIR)/textures/132B50_04C68_tlut.rgba16
$(BIN2C) textures/132B50_04E38_tlut.rgba16.bin $(BUILD_DIR)/textures/132B50_04E38_tlut.rgba16
$(BIN2C) textures/132B50_04E68_tlut.rgba16.bin $(BUILD_DIR)/textures/132B50_04E68_tlut.rgba16
$(BIN2C) textures/132B50_05068_tlut.rgba16.bin $(BUILD_DIR)/textures/132B50_05068_tlut.rgba16
#$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_04C68_tlut.rgba16.inc.c -g textures/132B50_04C68_tlut.rgba16.png -f rgba16 -s u8
#$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_04E68_tlut.rgba16.inc.c -g textures/132B50_04E68_tlut.rgba16.png -f rgba16 -s u8
#$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_05068_tlut.rgba16.inc.c -g textures/132B50_05068_tlut.rgba16.png -f rgba16 -s u8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_06A58.i4.inc.c -g textures/132B50_06A58.i4.png -f i4 -s u8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_06AD8.ia8.inc.c -g textures/132B50_06AD8.ia8.png -f ia8 -s u8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_06EF8.rgba16.ci4.inc.c -g textures/132B50_06EF8.rgba16.ci4.png -f ci4 -s u8 -c rgba16 -w 128 -h 32 -p textures/132B50_06ED8_tlut_gen.rgba16.bin
$(BIN2C) textures/132B50_06ED8_tlut.rgba16.bin $(BUILD_DIR)/textures/132B50_06ED8_tlut.rgba16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_08150.ia8.inc.c -g textures/132B50_08150.ia8.png -f ia8 -s u8 -w 100 -h 8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_08470.ia8.inc.c -g textures/132B50_08470.ia8.png -f ia8 -s u8 -w 100 -h 8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_08790.ia8.inc.c -g textures/132B50_08790.ia8.png -f ia8 -s u8 -w 100 -h 8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_09958.i4.inc.c -g textures/132B50_09958.i4.png -s u8 -w 64 -h 96 -f i4
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_0A558.i4.inc.c -g textures/132B50_0A558.i4.png -s u8 -w 64 -h 16 -f i4
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_0A958.rgba16.inc.c -g textures/132B50_0A958.rgba16.png -s u8 -w 32 -h 8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_0AB58.rgba16.inc.c -g textures/132B50_0AB58.rgba16.png -s u8 -w 32 -h 8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_0AD58.rgba16.inc.c -g textures/132B50_0AD58.rgba16.png -s u8 -w 32 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_0B158.rgba16.inc.c -g textures/132B50_0B158.rgba16.png -s u8 -w 32 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_0B558.rgba16.inc.c -g textures/132B50_0B558.rgba16.png -s u8 -w 32 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_0B958.rgba16.inc.c -g textures/132B50_0B958.rgba16.png -s u8 -w 32 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_0BD58.rgba16.inc.c -g textures/132B50_0BD58.rgba16.png -s u8 -w 32 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_0C158.rgba16.inc.c -g textures/132B50_0C158.rgba16.png -s u8 -w 32 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_0C558.rgba16.inc.c -g textures/132B50_0C558.rgba16.png -s u8 -w 104 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_0D258.i4.inc.c -g textures/132B50_0D258.i4.png -s u8 -w 128 -h 64 -f i4
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_0E258.i4.inc.c -g textures/132B50_0E258.i4.png -s u8 -w 128 -h 64 -f i4
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_0F258.i4.inc.c -g textures/132B50_0F258.i4.png -s u8 -w 128 -h 64 -f i4
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_10258.i4.inc.c -g textures/132B50_10258.i4.png -s u8 -w 128 -h 64 -f i4
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_11258.i4.inc.c -g textures/132B50_11258.i4.png -s u8 -w 128 -h 64 -f i4
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_12258.i4.inc.c -g textures/132B50_12258.i4.png -s u8 -w 128 -h 64 -f i4
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_13258.i4.inc.c -g textures/132B50_13258.i4.png -s u8 -w 128 -h 64 -f i4
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_14258.i4.inc.c -g textures/132B50_14258.i4.png -s u8 -w 128 -h 64 -f i4
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_15258.i4.inc.c -g textures/132B50_15258.i4.png -s u8 -w 64 -h 64 -f i4
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_15A58.i4.inc.c -g textures/132B50_15A58.i4.png -s u8 -w 64 -h 64 -f i4
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_16258.i4.inc.c -g textures/132B50_16258.i4.png -s u8 -w 64 -h 64 -f i4
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_16A58.i4.inc.c -g textures/132B50_16A58.i4.png -s u8 -w 64 -h 64 -f i4
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_17258_tlut.rgba16.inc.c -g textures/132B50_17258_tlut.rgba16.png -s u8 -w 38 -h 6
$(BIN2C) textures/132B50_17458_combined_data.bin $(BUILD_DIR)/textures/132B50_17458_combined_data
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_17458.rgba16.ci8.inc.c -g textures/132B50_17458.rgba16.ci8.png -s u8 -w 64 -h 32 -c rgba16 -p textures/132B50_17258_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_17C58.rgba16.ci8.inc.c -g textures/132B50_17C58.rgba16.ci8.png -s u8 -w 64 -h 32 -c rgba16 -p textures/132B50_17258_tlut.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_18458.rgba16.ci8.inc.c -g textures/132B50_18458.rgba16.ci8.png -s u8 -w 64 -h 32 -c rgba16 -p textures/132B50_17258_tlut.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_18C58.rgba16.ci8.inc.c -g textures/132B50_18C58.rgba16.ci8.png -s u8 -w 64 -h 32 -c rgba16 -p textures/132B50_17258_tlut.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_19458_tlut.rgba16.inc.c -g textures/132B50_19458_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_19658.rgba16.ci8.inc.c -g textures/132B50_19658.rgba16.ci8.png -s u8 -w 16 -h 16 -c rgba16 -p textures/132B50_19458_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_19758.rgba16.ci8.inc.c -g textures/132B50_19758.rgba16.ci8.png -s u8 -w 16 -h 16 -c rgba16 -p textures/132B50_19458_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_19858.rgba16.ci8.inc.c -g textures/132B50_19858.rgba16.ci8.png -s u8 -w 16 -h 16 -c rgba16 -p textures/132B50_19458_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_19958.rgba16.ci8.inc.c -g textures/132B50_19958.rgba16.ci8.png -s u8 -w 16 -h 16 -c rgba16 -p textures/132B50_19458_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_19A58.rgba16.ci8.inc.c -g textures/132B50_19A58.rgba16.ci8.png -s u8 -w 16 -h 16 -c rgba16 -p textures/132B50_19458_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_19B58.rgba16.ci8.inc.c -g textures/132B50_19B58.rgba16.ci8.png -s u8 -w 16 -h 16 -c rgba16 -p textures/132B50_19458_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_19C58.rgba16.ci8.inc.c -g textures/132B50_19C58.rgba16.ci8.png -s u8 -w 16 -h 16 -c rgba16 -p textures/132B50_19458_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_19D58.rgba16.ci8.inc.c -g textures/132B50_19D58.rgba16.ci8.png -s u8 -w 16 -h 16 -c rgba16 -p textures/132B50_19458_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1A058.rgba16.ci8.inc.c -g textures/132B50_1A058.rgba16.ci8.png -s u8 -w 8 -h 8 -c rgba16 -p textures/132B50_19E58_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1A098.rgba16.ci8.inc.c -g textures/132B50_1A098.rgba16.ci8.png -s u8 -w 8 -h 8 -c rgba16 -p textures/132B50_19E58_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1A0D8.rgba16.ci8.inc.c -g textures/132B50_1A0D8.rgba16.ci8.png -s u8 -w 8 -h 8 -c rgba16 -p textures/132B50_19E58_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1A118.rgba16.ci8.inc.c -g textures/132B50_1A118.rgba16.ci8.png -s u8 -w 8 -h 8 -c rgba16 -p textures/132B50_19E58_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1A158.rgba16.ci8.inc.c -g textures/132B50_1A158.rgba16.ci8.png -s u8 -w 8 -h 8 -c rgba16 -p textures/132B50_19E58_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1A198.rgba16.ci8.inc.c -g textures/132B50_1A198.rgba16.ci8.png -s u8 -w 8 -h 8 -c rgba16 -p textures/132B50_19E58_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1A1D8.rgba16.ci8.inc.c -g textures/132B50_1A1D8.rgba16.ci8.png -s u8 -w 8 -h 8 -c rgba16 -p textures/132B50_19E58_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1A218.rgba16.ci8.inc.c -g textures/132B50_1A218.rgba16.ci8.png -s u8 -w 8 -h 8 -c rgba16 -p textures/132B50_19E58_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1A258.rgba16.ci8.inc.c -g textures/132B50_1A258.rgba16.ci8.png -s u8 -w 8 -h 8 -c rgba16 -p textures/132B50_19E58_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1A298.rgba16.ci8.inc.c -g textures/132B50_1A298.rgba16.ci8.png -s u8 -w 8 -h 8 -c rgba16 -p textures/132B50_19E58_tlut.rgba16.png
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1A2D8.ia4.inc.c -g textures/132B50_1A2D8.ia4.png -s u8 -f ia4
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1A4D8_tlut.rgba16.inc.c -g textures/132B50_1A4D8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1A6D8_tlut.rgba16.inc.c -g textures/132B50_1A6D8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1A8D8_tlut.rgba16.inc.c -g textures/132B50_1A8D8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1AAD8_tlut.rgba16.inc.c -g textures/132B50_1AAD8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1ACD8_tlut.rgba16.inc.c -g textures/132B50_1ACD8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1AED8_tlut.rgba16.inc.c -g textures/132B50_1AED8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1B0D8_tlut.rgba16.inc.c -g textures/132B50_1B0D8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1B2D8_tlut.rgba16.inc.c -g textures/132B50_1B2D8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1B4D8_tlut.rgba16.inc.c -g textures/132B50_1B4D8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1B6D8.rgba16.ci8.inc.c -g textures/132B50_1B6D8.rgba16.ci8.png -s u8 -w 32 -h 32 -f ci8 -c rgba16 -p textures/132B50_1A4D8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1BAD8.rgba16.ci8.inc.c -g textures/132B50_1BAD8.rgba16.ci8.png -s u8 -w 32 -h 32 -f ci8 -c rgba16 -p textures/132B50_1A6D8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1BED8.rgba16.ci8.inc.c -g textures/132B50_1BED8.rgba16.ci8.png -s u8 -w 32 -h 32 -f ci8 -c rgba16 -p textures/132B50_1A8D8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1C2D8.rgba16.ci8.inc.c -g textures/132B50_1C2D8.rgba16.ci8.png -s u8 -w 32 -h 32 -f ci8 -c rgba16 -p textures/132B50_1AAD8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1C6D8.rgba16.ci8.inc.c -g textures/132B50_1C6D8.rgba16.ci8.png -s u8 -w 32 -h 32 -f ci8 -c rgba16 -p textures/132B50_1ACD8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1CAD8.rgba16.ci8.inc.c -g textures/132B50_1CAD8.rgba16.ci8.png -s u8 -w 32 -h 32 -f ci8 -c rgba16 -p textures/132B50_1AED8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1CED8.rgba16.ci8.inc.c -g textures/132B50_1CED8.rgba16.ci8.png -s u8 -w 32 -h 32 -f ci8 -c rgba16 -p textures/132B50_1B0D8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1D2D8.rgba16.ci8.inc.c -g textures/132B50_1D2D8.rgba16.ci8.png -s u8 -w 32 -h 32 -f ci8 -c rgba16 -p textures/132B50_1B2D8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1D6D8.rgba16.ci8.inc.c -g textures/132B50_1D6D8.rgba16.ci8.png -s u8 -w 32 -h 32 -f ci8 -c rgba16 -p textures/132B50_1B4D8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1DAD8.rgba16.ci8.inc.c -g textures/132B50_1DAD8.rgba16.ci8.png -s u8 -w 32 -h 32 -f ci8 -c rgba16 -p textures/132B50_1B4D8_tlut_gen.rgba16.bin
$(BIN2C) textures/132B50_1DAD8.rgba16.ci8.bin $(BUILD_DIR)/textures/132B50_1DAD8.rgba16.ci8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1DED8_tlut.rgba16.inc.c -g textures/132B50_1DED8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1E0D8_tlut.rgba16.inc.c -g textures/132B50_1E0D8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1E2D8_tlut.rgba16.inc.c -g textures/132B50_1E2D8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1E4D8_tlut.rgba16.inc.c -g textures/132B50_1E4D8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1E6D8_tlut.rgba16.inc.c -g textures/132B50_1E6D8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1E8D8_tlut.rgba16.inc.c -g textures/132B50_1E8D8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1EAD8_tlut.rgba16.inc.c -g textures/132B50_1EAD8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1ECD8_tlut.rgba16.inc.c -g textures/132B50_1ECD8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1EED8_tlut.rgba16.inc.c -g textures/132B50_1EED8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1F0D8_tlut.rgba16.inc.c -g textures/132B50_1F0D8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1F2D8_tlut.rgba16.inc.c -g textures/132B50_1F2D8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1F4D8_tlut.rgba16.inc.c -g textures/132B50_1F4D8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1F6D8_tlut.rgba16.inc.c -g textures/132B50_1F6D8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1F8D8_tlut.rgba16.inc.c -g textures/132B50_1F8D8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1FAD8_tlut.rgba16.inc.c -g textures/132B50_1FAD8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1FCD8_tlut.rgba16.inc.c -g textures/132B50_1FCD8_tlut.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_1FED8.rgba16.ci8.inc.c -g textures/132B50_1FED8.rgba16.ci8.png -s u8 -w 40 -h 32 -f ci8 -c rgba16 -p textures/132B50_1DED8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_203D8.rgba16.ci8.inc.c -g textures/132B50_203D8.rgba16.ci8.png -s u8 -w 40 -h 32 -f ci8 -c rgba16 -p textures/132B50_1E0D8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_208D8.rgba16.ci8.inc.c -g textures/132B50_208D8.rgba16.ci8.png -s u8 -w 40 -h 32 -f ci8 -c rgba16 -p textures/132B50_1E2D8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_20DD8.rgba16.ci8.inc.c -g textures/132B50_20DD8.rgba16.ci8.png -s u8 -w 40 -h 32 -f ci8 -c rgba16 -p textures/132B50_1E4D8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_212D8.rgba16.ci8.inc.c -g textures/132B50_212D8.rgba16.ci8.png -s u8 -w 40 -h 32 -f ci8 -c rgba16 -p textures/132B50_1E6D8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_217D8.rgba16.ci8.inc.c -g textures/132B50_217D8.rgba16.ci8.png -s u8 -w 40 -h 32 -f ci8 -c rgba16 -p textures/132B50_1E8D8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_21CD8.rgba16.ci8.inc.c -g textures/132B50_21CD8.rgba16.ci8.png -s u8 -w 40 -h 32 -f ci8 -c rgba16 -p textures/132B50_1EAD8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_221D8.rgba16.ci8.inc.c -g textures/132B50_221D8.rgba16.ci8.png -s u8 -w 40 -h 32 -f ci8 -c rgba16 -p textures/132B50_1ECD8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_226D8.rgba16.ci8.inc.c -g textures/132B50_226D8.rgba16.ci8.png -s u8 -w 40 -h 32 -f ci8 -c rgba16 -p textures/132B50_1EED8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_22BD8.rgba16.ci8.inc.c -g textures/132B50_22BD8.rgba16.ci8.png -s u8 -w 40 -h 32 -f ci8 -c rgba16 -p textures/132B50_1F0D8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_230D8.rgba16.ci8.inc.c -g textures/132B50_230D8.rgba16.ci8.png -s u8 -w 40 -h 32 -f ci8 -c rgba16 -p textures/132B50_1F2D8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_235D8.rgba16.ci8.inc.c -g textures/132B50_235D8.rgba16.ci8.png -s u8 -w 40 -h 32 -f ci8 -c rgba16 -p textures/132B50_1F4D8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_23AD8.rgba16.ci8.inc.c -g textures/132B50_23AD8.rgba16.ci8.png -s u8 -w 40 -h 32 -f ci8 -c rgba16 -p textures/132B50_1F6D8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_23FD8.rgba16.ci8.inc.c -g textures/132B50_23FD8.rgba16.ci8.png -s u8 -w 40 -h 32 -f ci8 -c rgba16 -p textures/132B50_1F8D8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_244D8.rgba16.ci8.inc.c -g textures/132B50_244D8.rgba16.ci8.png -s u8 -w 40 -h 32 -f ci8 -c rgba16 -p textures/132B50_1FAD8_tlut_gen.rgba16.bin
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_249D8.rgba16.ci8.inc.c -g textures/132B50_249D8.rgba16.ci8.png -s u8 -w 40 -h 32 -f ci8 -c rgba16 -p textures/132B50_1FCD8_tlut_gen.rgba16.bin
$(BIN2C) textures/132B50_24ED8_tlut.rgba16.bin $(BUILD_DIR)/textures/132B50_24ED8_tlut.rgba16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_25ED8_tlut.rgba16.inc.c -g textures/132B50_25ED8_tlut.rgba16.png -s u8 -w 16 -h 16
$(BIN2C) textures/132B50_260D8.rgba16.ci8.bin $(BUILD_DIR)/textures/132B50_260D8.rgba16.ci8
$(BIN2C) textures/132B50_26558.rgba16.ci8.bin $(BUILD_DIR)/textures/132B50_26558.rgba16.ci8
$(BIN2C) textures/132B50_269D8.rgba16.ci8.bin $(BUILD_DIR)/textures/132B50_269D8.rgba16.ci8
$(BIN2C) textures/132B50_26E58.rgba16.ci8.bin $(BUILD_DIR)/textures/132B50_26E58.rgba16.ci8
$(BIN2C) textures/132B50_272D8.rgba16.ci8.bin $(BUILD_DIR)/textures/132B50_272D8.rgba16.ci8
$(BIN2C) textures/132B50_27758.rgba16.ci8.bin $(BUILD_DIR)/textures/132B50_27758.rgba16.ci8
$(BIN2C) textures/132B50_27BD8.rgba16.ci8.bin $(BUILD_DIR)/textures/132B50_27BD8.rgba16.ci8
$(BIN2C) textures/132B50_28058.rgba16.ci8.bin $(BUILD_DIR)/textures/132B50_28058.rgba16.ci8
$(BIN2C) textures/132B50_284D8.rgba16.ci8.bin $(BUILD_DIR)/textures/132B50_284D8.rgba16.ci8
$(BIN2C) textures/132B50_28958.rgba16.ci8.bin $(BUILD_DIR)/textures/132B50_28958.rgba16.ci8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_28DD8.rgba16.inc.c -g textures/132B50_28DD8.rgba16.png -s u8 -w 32 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_291D8.rgba16.inc.c -g textures/132B50_291D8.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_293D8.i4.inc.c -g textures/132B50_293D8.i4.png -s u8 -w 16 -h 16 -f i4
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_29458.i8.inc.c -g textures/132B50_29458.i8.png -s u8 -w 32 -h 32 -f i8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_29858.rgba16.ci8.inc.c -g textures/132B50_29858.rgba16.ci8.png -s u8 -w 32 -h 32 -f ci8 -c rgba16 -p textures/132B50_2A858_pal.rgba16.bin
$(BIN2C) textures/132B50_29C58.rgba16.ci8.bin $(BUILD_DIR)/textures/132B50_29C58.rgba16.ci8
$(BIN2C) textures/132B50_2A058.rgba16.ci8.bin $(BUILD_DIR)/textures/132B50_2A058.rgba16.ci8
$(BIN2C) textures/132B50_2A458.rgba16.ci8.bin $(BUILD_DIR)/textures/132B50_2A458.rgba16.ci8
#$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_29C58.rgba16.ci8.inc.c -g textures/132B50_29C58.rgba16.ci8.png -s u8 -w 32 -h 32 -f ci8 -c rgba16 -p textures/a.rgba16.png
#$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2A058.rgba16.ci8.inc.c -g textures/132B50_2A058.rgba16.ci8.png -s u8 -w 32 -h 32 -f ci8 -c rgba16 -p textures/b.rgba16.bin
#$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2A458.rgba16.ci8.inc.c -g textures/132B50_2A458.rgba16.ci8.png -s u8 -w 32 -h 32 -f ci8 -c rgba16 -p textures/c.rgba16.bin
$(BIN2C) textures/132B50_2A858_tlut.rgba16.bin $(BUILD_DIR)/textures/132B50_2A858_tlut.rgba16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2AA58.rgba16.inc.c -g textures/132B50_2AA58.rgba16.png -s u8 -w 16 -h 16
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2AC58.i8.inc.c -g textures/132B50_2AC58.i8.png -s u8 -w 32 -h 32 -f i8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2B058.i8.inc.c -g textures/132B50_2B058.i8.png -s u8 -w 32 -h 32 -f i8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2B458.i8.inc.c -g textures/132B50_2B458.i8.png -s u8 -w 32 -h 32 -f i8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2B858.i8.inc.c -g textures/132B50_2B858.i8.png -s u8 -w 32 -h 32 -f i8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2BC58.i8.inc.c -g textures/132B50_2BC58.i8.png -s u8 -w 32 -h 32 -f i8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2C058.i8.inc.c -g textures/132B50_2C058.i8.png -s u8 -w 32 -h 32 -f i8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2C458.i8.inc.c -g textures/132B50_2C458.i8.png -s u8 -w 32 -h 32 -f i8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2C858.i8.inc.c -g textures/132B50_2C858.i8.png -s u8 -w 32 -h 32 -f i8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2CC58.rgba16.inc.c -g textures/132B50_2CC58.rgba16.png -s u8 -w 8 -h 8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2CCD8.rgba16.inc.c -g textures/132B50_2CCD8.rgba16.png -s u8 -w 8 -h 8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2CD58.rgba16.inc.c -g textures/132B50_2CD58.rgba16.png -s u8 -w 8 -h 8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2CDD8.rgba16.inc.c -g textures/132B50_2CDD8.rgba16.png -s u8 -w 8 -h 8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2CE58.rgba16.inc.c -g textures/132B50_2CE58.rgba16.png -s u8 -w 8 -h 8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2CED8.rgba16.inc.c -g textures/132B50_2CED8.rgba16.png -s u8 -w 8 -h 8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2CF58.rgba16.inc.c -g textures/132B50_2CF58.rgba16.png -s u8 -w 8 -h 8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2CFD8.rgba16.inc.c -g textures/132B50_2CFD8.rgba16.png -s u8 -w 8 -h 8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2D058.rgba16.inc.c -g textures/132B50_2D058.rgba16.png -s u8 -w 8 -h 8
$(N64GRAPHICS) -i $(BUILD_DIR)/textures/132B50_2D0D8.rgba16.inc.c -g textures/132B50_2D0D8.rgba16.png -s u8 -w 8 -h 8
@$(CC_CHECK) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
$(CC) -c $(CFLAGS) -o $@ $<
$(PYTHON) tools/set_o32abi_bit.py $@
$(BUILD_DIR)/%.o: %.c
@$(CC_CHECK) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
$(CC) -c $(CFLAGS) -o $@ $<
@ -450,7 +655,7 @@ $(BUILD_DIR)/src/trophy_model.inc.mio0.o: $(BUILD_DIR)/src/trophy_model.inc.o
printf ".include \"macros.inc\"\n\n.data\n\n.balign 4\n\nglabel trophy_model\n\n.incbin \"build/us/src/trophy_model.inc.mio0\"\n\n.balign 16\nglabel data_821D10_end\n" > build/us/src/trophy_model.inc.mio0.s
$(AS) $(ASFLAGS) -o $(BUILD_DIR)/src/trophy_model.inc.mio0.o $(BUILD_DIR)/src/trophy_model.inc.mio0.s
# startup_logo.c
# startup_logo.inc.c
$(BUILD_DIR)/src/startup_logo.inc.mio0.o: src/startup_logo.inc.c
$(LD) -t -e 0 -Ttext=06000000 -Map $(BUILD_DIR)/src/startup_logo.inc.elf.map -o $(BUILD_DIR)/src/startup_logo.inc.elf $(BUILD_DIR)/src/startup_logo.inc.o --no-check-sections
@ -459,7 +664,16 @@ $(BUILD_DIR)/src/startup_logo.inc.mio0.o: src/startup_logo.inc.c
printf ".include \"macros.inc\"\n\n.data\n\n\n\n.balign 4\n\n\nglabel startup_logo\n\n.incbin \"build/us/src/startup_logo.inc.mio0\"\n\n.balign 16\n\nglabel data_825800_end\n" > build/us/src/startup_logo.inc.mio0.s
$(AS) $(ASFLAGS) -o $(BUILD_DIR)/src/startup_logo.inc.mio0.o $(BUILD_DIR)/src/startup_logo.inc.mio0.s
$(BUILD_DIR)/$(TARGET).elf: $(O_FILES) $(COURSE_MIO0_OBJ_FILES) $(BUILD_DIR)/$(LD_SCRIPT) $(BUILD_DIR)/src/startup_logo.inc.mio0.o $(BUILD_DIR)/src/trophy_model.inc.mio0.o $(LD_COURSE_VERTEX_DEPENDENCIES) undefined_syms.txt
# common_textures.inc.c
$(BUILD_DIR)/src/common_textures.inc.mio0.o: $(BUILD_DIR)/src/common_textures.inc.o
$(LD) -t -e 0 -Ttext=0D000000 --unresolved-symbols=ignore-all -Map $(BUILD_DIR)/src/common_textures.inc.elf.map -o $(BUILD_DIR)/src/common_textures.inc.elf $(BUILD_DIR)/src/common_textures.inc.o --no-check-sections
$(V)$(EXTRACT_DATA_FOR_MIO) $(BUILD_DIR)/src/common_textures.inc.elf $(BUILD_DIR)/src/common_textures.inc.bin
$(MIO0TOOL) -c $(BUILD_DIR)/src/common_textures.inc.bin $(BUILD_DIR)/src/common_textures.inc.mio0
printf ".include \"macros.inc\"\n\n.section .data\n\n.balign 4\n\n.incbin \"src/common_textures.inc.mio0\"\n\n" > build/us/src/common_textures.inc.mio0.s
$(AS) $(ASFLAGS) -o $(BUILD_DIR)/src/common_textures.inc.mio0.o $(BUILD_DIR)/src/common_textures.inc.mio0.s
$(BUILD_DIR)/$(TARGET).elf: $(O_FILES) $(COURSE_MIO0_OBJ_FILES) $(BUILD_DIR)/$(LD_SCRIPT) $(BUILD_DIR)/src/startup_logo.inc.mio0.o $(BUILD_DIR)/src/trophy_model.inc.mio0.o $(BUILD_DIR)/src/common_textures.inc.mio0.o $(LD_COURSE_VERTEX_DEPENDENCIES) undefined_syms.txt
$(LD) $(LDFLAGS) -o $@
$(BUILD_DIR)/$(TARGET).z64: $(BUILD_DIR)/$(TARGET).elf

View File

@ -39,7 +39,6 @@ OTHER_DATA_MIO0_NAMES := \
OTHER_DATA_MIO0_FILES := $(addprefix $(BUILD_DIR)/bin/,$(addsuffix .mio0,$(OTHER_DATA_MIO0_NAMES)))
TEXTURE_DATA_MIO0_NAMES := \
common_textures \
texture_68EB50 \
texture_68EDA0 \
texture_68EFF0 \

View File

@ -1,21 +0,0 @@
.include "macros.inc"
.section .bss
glabel D_802BA050
.skip 4
glabel D_802BA054
.skip 4
glabel D_802BA058
.skip 4
glabel D_802BA05C
.skip 4
glabel D_802BA060
.skip 512
glabel D_802BA260
.skip 16

View File

@ -1,39 +0,0 @@
glabel func_80297230
/* 100840 80297230 3C0E800E */ lui $t6, %hi(camera1) # $t6, 0x800e
/* 100844 80297234 8DCEDB40 */ lw $t6, %lo(camera1)($t6)
/* 100848 80297238 240100B8 */ li $at, 184
/* 10084C 8029723C 008E1023 */ subu $v0, $a0, $t6
/* 100850 80297240 0041001A */ div $zero, $v0, $at
/* 100854 80297244 00007812 */ mflo $t7
/* 100858 80297248 24010001 */ li $at, 1
/* 10085C 8029724C 51E0000A */ beql $t7, $zero, .L80297278
/* 100860 80297250 84B80002 */ lh $t8, 2($a1)
/* 100864 80297254 11E1000B */ beq $t7, $at, .L80297284
/* 100868 80297258 24010002 */ li $at, 2
/* 10086C 8029725C 11E1000D */ beq $t7, $at, .L80297294
/* 100870 80297260 24010003 */ li $at, 3
/* 100874 80297264 51E10010 */ beql $t7, $at, .L802972A8
/* 100878 80297268 84AC0002 */ lh $t4, 2($a1)
/* 10087C 8029726C 03E00008 */ jr $ra
/* 100880 80297270 00000000 */ nop
/* 100884 80297274 84B80002 */ lh $t8, 2($a1)
.L80297278:
/* 100888 80297278 3319FFFE */ andi $t9, $t8, 0xfffe
/* 10088C 8029727C 03E00008 */ jr $ra
/* 100890 80297280 A4B90002 */ sh $t9, 2($a1)
.L80297284:
/* 100894 80297284 84A80002 */ lh $t0, 2($a1)
/* 100898 80297288 3109FFFD */ andi $t1, $t0, 0xfffd
/* 10089C 8029728C 03E00008 */ jr $ra
/* 1008A0 80297290 A4A90002 */ sh $t1, 2($a1)
.L80297294:
/* 1008A4 80297294 84AA0002 */ lh $t2, 2($a1)
/* 1008A8 80297298 314BFFFB */ andi $t3, $t2, 0xfffb
/* 1008AC 8029729C 03E00008 */ jr $ra
/* 1008B0 802972A0 A4AB0002 */ sh $t3, 2($a1)
/* 1008B4 802972A4 84AC0002 */ lh $t4, 2($a1)
.L802972A8:
/* 1008B8 802972A8 318DFFF7 */ andi $t5, $t4, 0xfff7
/* 1008BC 802972AC A4AD0002 */ sh $t5, 2($a1)
/* 1008C0 802972B0 03E00008 */ jr $ra
/* 1008C4 802972B4 00000000 */ nop

View File

@ -1,43 +0,0 @@
glabel func_802972B8
/* 1008C8 802972B8 3C0E800E */ lui $t6, %hi(camera1) # $t6, 0x800e
/* 1008CC 802972BC 8DCEDB40 */ lw $t6, %lo(camera1)($t6)
/* 1008D0 802972C0 240100B8 */ li $at, 184
/* 1008D4 802972C4 008E1023 */ subu $v0, $a0, $t6
/* 1008D8 802972C8 0041001A */ div $zero, $v0, $at
/* 1008DC 802972CC 00007812 */ mflo $t7
/* 1008E0 802972D0 24010001 */ li $at, 1
/* 1008E4 802972D4 51E0000A */ beql $t7, $zero, .L80297300
/* 1008E8 802972D8 84B80002 */ lh $t8, 2($a1)
/* 1008EC 802972DC 11E1000B */ beq $t7, $at, .L8029730C
/* 1008F0 802972E0 24010002 */ li $at, 2
/* 1008F4 802972E4 11E1000D */ beq $t7, $at, .L8029731C
/* 1008F8 802972E8 24010003 */ li $at, 3
/* 1008FC 802972EC 51E10010 */ beql $t7, $at, .L80297330
/* 100900 802972F0 84AC0002 */ lh $t4, 2($a1)
/* 100904 802972F4 03E00008 */ jr $ra
/* 100908 802972F8 00000000 */ nop
/* 10090C 802972FC 84B80002 */ lh $t8, 2($a1)
.L80297300:
/* 100910 80297300 37190001 */ ori $t9, $t8, 1
/* 100914 80297304 03E00008 */ jr $ra
/* 100918 80297308 A4B90002 */ sh $t9, 2($a1)
.L8029730C:
/* 10091C 8029730C 84A80002 */ lh $t0, 2($a1)
/* 100920 80297310 35090002 */ ori $t1, $t0, 2
/* 100924 80297314 03E00008 */ jr $ra
/* 100928 80297318 A4A90002 */ sh $t1, 2($a1)
.L8029731C:
/* 10092C 8029731C 84AA0002 */ lh $t2, 2($a1)
/* 100930 80297320 354B0004 */ ori $t3, $t2, 4
/* 100934 80297324 03E00008 */ jr $ra
/* 100938 80297328 A4AB0002 */ sh $t3, 2($a1)
/* 10093C 8029732C 84AC0002 */ lh $t4, 2($a1)
.L80297330:
/* 100940 80297330 358D0008 */ ori $t5, $t4, 8
/* 100944 80297334 A4AD0002 */ sh $t5, 2($a1)
/* 100948 80297338 03E00008 */ jr $ra
/* 10094C 8029733C 00000000 */ nop

View File

@ -1,244 +0,0 @@
glabel func_80297340
/* 100950 80297340 3C058016 */ lui $a1, %hi(D_8015F8D0) # $a1, 0x8016
/* 100954 80297344 24A5F8D0 */ addiu $a1, %lo(D_8015F8D0) # addiu $a1, $a1, -0x730
/* 100958 80297348 C4A40008 */ lwc1 $f4, 8($a1)
/* 10095C 8029734C 3C18800E */ lui $t8, %hi(D_800DC50C) # $t8, 0x800e
/* 100960 80297350 8F18C50C */ lw $t8, %lo(D_800DC50C)($t8)
/* 100964 80297354 4600218D */ trunc.w.s $f6, $f4
/* 100968 80297358 27BDFF88 */ addiu $sp, $sp, -0x78
/* 10096C 8029735C 24010009 */ li $at, 9
/* 100970 80297360 AFBF0014 */ sw $ra, 0x14($sp)
/* 100974 80297364 440F3000 */ mfc1 $t7, $f6
/* 100978 80297368 AFA40078 */ sw $a0, 0x78($sp)
/* 10097C 8029736C 13010069 */ beq $t8, $at, .L80297514
/* 100980 80297370 A7AF0036 */ sh $t7, 0x36($sp)
/* 100984 80297374 0C0AD548 */ jal mtxf_translate
/* 100988 80297378 27A40038 */ addiu $a0, $sp, 0x38
/* 10098C 8029737C 27A40038 */ addiu $a0, $sp, 0x38
/* 100990 80297380 0C0AD3FE */ jal func_802B4FF8
/* 100994 80297384 00002825 */ move $a1, $zero
/* 100998 80297388 10400062 */ beqz $v0, .L80297514
/* 10099C 8029738C 87B90036 */ lh $t9, 0x36($sp)
/* 1009A0 80297390 44994000 */ mtc1 $t9, $f8
/* 1009A4 80297394 8FA80078 */ lw $t0, 0x78($sp)
/* 1009A8 80297398 3C09800E */ lui $t1, %hi(D_800DC5BC) # $t1, 0x800e
/* 1009AC 8029739C 468042A0 */ cvt.s.w $f10, $f8
/* 1009B0 802973A0 C5100008 */ lwc1 $f16, 8($t0)
/* 1009B4 802973A4 3C08800E */ lui $t0, %hi(D_800DC5BC) # $t0, 0x800e
/* 1009B8 802973A8 4610503C */ c.lt.s $f10, $f16
/* 1009BC 802973AC 00000000 */ nop
/* 1009C0 802973B0 4500002D */ bc1f .L80297468
/* 1009C4 802973B4 00000000 */ nop
/* 1009C8 802973B8 9529C5BC */ lhu $t1, %lo(D_800DC5BC)($t1)
/* 1009CC 802973BC 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 1009D0 802973C0 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 1009D4 802973C4 11200020 */ beqz $t1, .L80297448
/* 1009D8 802973C8 3C0A0D00 */ lui $t2, 0xd00
/* 1009DC 802973CC 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 1009E0 802973D0 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 1009E4 802973D4 8C620000 */ lw $v0, ($v1)
/* 1009E8 802973D8 3C0BF800 */ lui $t3, 0xf800
/* 1009EC 802973DC 3C0F8016 */ lui $t7, %hi(D_801625F4) # $t7, 0x8016
/* 1009F0 802973E0 244A0008 */ addiu $t2, $v0, 8
/* 1009F4 802973E4 AC6A0000 */ sw $t2, ($v1)
/* 1009F8 802973E8 AC4B0000 */ sw $t3, ($v0)
/* 1009FC 802973EC 8DEF25F4 */ lw $t7, %lo(D_801625F4)($t7)
/* 100A00 802973F0 3C0C8016 */ lui $t4, %hi(D_801625EC) # $t4, 0x8016
/* 100A04 802973F4 3C098016 */ lui $t1, %hi(D_801625F0) # $t1, 0x8016
/* 100A08 802973F8 8D2925F0 */ lw $t1, %lo(D_801625F0)($t1)
/* 100A0C 802973FC 8D8D25EC */ lw $t5, %lo(D_801625EC)($t4)
/* 100A10 80297400 31F800FF */ andi $t8, $t7, 0xff
/* 100A14 80297404 0018CC00 */ sll $t9, $t8, 0x10
/* 100A18 80297408 312A00FF */ andi $t2, $t1, 0xff
/* 100A1C 8029740C 000D7600 */ sll $t6, $t5, 0x18
/* 100A20 80297410 01D94025 */ or $t0, $t6, $t9
/* 100A24 80297414 000A5A00 */ sll $t3, $t2, 8
/* 100A28 80297418 010B6025 */ or $t4, $t0, $t3
/* 100A2C 8029741C 358D00FF */ ori $t5, $t4, 0xff
/* 100A30 80297420 AC4D0004 */ sw $t5, 4($v0)
/* 100A34 80297424 8C620000 */ lw $v0, ($v1)
/* 100A38 80297428 3C0E0D00 */ lui $t6, %hi(D_0D001C20) # $t6, 0xd00
/* 100A3C 8029742C 25CE1C20 */ addiu $t6, %lo(D_0D001C20) # addiu $t6, $t6, 0x1c20
/* 100A40 80297430 244F0008 */ addiu $t7, $v0, 8
/* 100A44 80297434 AC6F0000 */ sw $t7, ($v1)
/* 100A48 80297438 3C180600 */ lui $t8, 0x600
/* 100A4C 8029743C AC580000 */ sw $t8, ($v0)
/* 100A50 80297440 10000034 */ b .L80297514
/* 100A54 80297444 AC4E0004 */ sw $t6, 4($v0)
.L80297448:
/* 100A58 80297448 8C620000 */ lw $v0, ($v1)
/* 100A5C 8029744C 3C090600 */ lui $t1, 0x600
/* 100A60 80297450 254A1B90 */ addiu $t2, $t2, 0x1b90
/* 100A64 80297454 24590008 */ addiu $t9, $v0, 8
/* 100A68 80297458 AC790000 */ sw $t9, ($v1)
/* 100A6C 8029745C AC4A0004 */ sw $t2, 4($v0)
/* 100A70 80297460 1000002C */ b .L80297514
/* 100A74 80297464 AC490000 */ sw $t1, ($v0)
.L80297468:
/* 100A78 80297468 9508C5BC */ lhu $t0, %lo(D_800DC5BC)($t0)
/* 100A7C 8029746C 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 100A80 80297470 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 100A84 80297474 11000020 */ beqz $t0, .L802974F8
/* 100A88 80297478 3C0B0D00 */ lui $t3, 0xd00
/* 100A8C 8029747C 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 100A90 80297480 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 100A94 80297484 8C620000 */ lw $v0, ($v1)
/* 100A98 80297488 3C0CF800 */ lui $t4, 0xf800
/* 100A9C 8029748C 3C0E8016 */ lui $t6, %hi(D_801625F4) # $t6, 0x8016
/* 100AA0 80297490 244B0008 */ addiu $t3, $v0, 8
/* 100AA4 80297494 AC6B0000 */ sw $t3, ($v1)
/* 100AA8 80297498 AC4C0000 */ sw $t4, ($v0)
/* 100AAC 8029749C 8DCE25F4 */ lw $t6, %lo(D_801625F4)($t6)
/* 100AB0 802974A0 3C0D8016 */ lui $t5, %hi(D_801625EC) # $t5, 0x8016
/* 100AB4 802974A4 3C088016 */ lui $t0, %hi(D_801625F0) # $t0, 0x8016
/* 100AB8 802974A8 8D0825F0 */ lw $t0, %lo(D_801625F0)($t0)
/* 100ABC 802974AC 8DAF25EC */ lw $t7, %lo(D_801625EC)($t5)
/* 100AC0 802974B0 31D900FF */ andi $t9, $t6, 0xff
/* 100AC4 802974B4 00194C00 */ sll $t1, $t9, 0x10
/* 100AC8 802974B8 310B00FF */ andi $t3, $t0, 0xff
/* 100ACC 802974BC 000FC600 */ sll $t8, $t7, 0x18
/* 100AD0 802974C0 03095025 */ or $t2, $t8, $t1
/* 100AD4 802974C4 000B6200 */ sll $t4, $t3, 8
/* 100AD8 802974C8 014C6825 */ or $t5, $t2, $t4
/* 100ADC 802974CC 35AF00FF */ ori $t7, $t5, 0xff
/* 100AE0 802974D0 AC4F0004 */ sw $t7, 4($v0)
/* 100AE4 802974D4 8C620000 */ lw $v0, ($v1)
/* 100AE8 802974D8 3C180D00 */ lui $t8, %hi(D_0D001C88) # $t8, 0xd00
/* 100AEC 802974DC 27181C88 */ addiu $t8, %lo(D_0D001C88) # addiu $t8, $t8, 0x1c88
/* 100AF0 802974E0 244E0008 */ addiu $t6, $v0, 8
/* 100AF4 802974E4 AC6E0000 */ sw $t6, ($v1)
/* 100AF8 802974E8 3C190600 */ lui $t9, 0x600
/* 100AFC 802974EC AC590000 */ sw $t9, ($v0)
/* 100B00 802974F0 10000008 */ b .L80297514
/* 100B04 802974F4 AC580004 */ sw $t8, 4($v0)
.L802974F8:
/* 100B08 802974F8 8C620000 */ lw $v0, ($v1)
/* 100B0C 802974FC 3C080600 */ lui $t0, 0x600
/* 100B10 80297500 256B1BD8 */ addiu $t3, $t3, 0x1bd8
/* 100B14 80297504 24490008 */ addiu $t1, $v0, 8
/* 100B18 80297508 AC690000 */ sw $t1, ($v1)
/* 100B1C 8029750C AC4B0004 */ sw $t3, 4($v0)
/* 100B20 80297510 AC480000 */ sw $t0, ($v0)
.L80297514:
/* 100B24 80297514 8FBF0014 */ lw $ra, 0x14($sp)
/* 100B28 80297518 27BD0078 */ addiu $sp, $sp, 0x78
/* 100B2C 8029751C 03E00008 */ jr $ra
/* 100B30 80297520 00000000 */ nop
/* 100B34 80297524 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 100B38 80297528 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 100B3C 8029752C 8C620000 */ lw $v0, ($v1)
/* 100B40 80297530 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 100B44 80297534 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 100B48 80297538 244E0008 */ addiu $t6, $v0, 8
/* 100B4C 8029753C AC6E0000 */ sw $t6, ($v1)
/* 100B50 80297540 0081C024 */ and $t8, $a0, $at
/* 100B54 80297544 3C0FFD10 */ lui $t7, 0xfd10
/* 100B58 80297548 AC4F0000 */ sw $t7, ($v0)
/* 100B5C 8029754C AC580004 */ sw $t8, 4($v0)
/* 100B60 80297550 8C620000 */ lw $v0, ($v1)
/* 100B64 80297554 3C0E0708 */ lui $t6, (0x07080200 >> 16) # lui $t6, 0x708
/* 100B68 80297558 3C08F510 */ lui $t0, 0xf510
/* 100B6C 8029755C 24590008 */ addiu $t9, $v0, 8
/* 100B70 80297560 AC790000 */ sw $t9, ($v1)
/* 100B74 80297564 35CE0200 */ ori $t6, (0x07080200 & 0xFFFF) # ori $t6, $t6, 0x200
/* 100B78 80297568 00A60019 */ multu $a1, $a2
/* 100B7C 8029756C AC4E0004 */ sw $t6, 4($v0)
/* 100B80 80297570 AC480000 */ sw $t0, ($v0)
/* 100B84 80297574 8C620000 */ lw $v0, ($v1)
/* 100B88 80297578 3C18E600 */ lui $t8, 0xe600
/* 100B8C 8029757C 3C0EF300 */ lui $t6, 0xf300
/* 100B90 80297580 244F0008 */ addiu $t7, $v0, 8
/* 100B94 80297584 AC6F0000 */ sw $t7, ($v1)
/* 100B98 80297588 AC400004 */ sw $zero, 4($v0)
/* 100B9C 8029758C AC580000 */ sw $t8, ($v0)
/* 100BA0 80297590 8C670000 */ lw $a3, ($v1)
/* 100BA4 80297594 00006012 */ mflo $t4
/* 100BA8 80297598 258CFFFF */ addiu $t4, $t4, -1
/* 100BAC 8029759C 24F90008 */ addiu $t9, $a3, 8
/* 100BB0 802975A0 AC790000 */ sw $t9, ($v1)
/* 100BB4 802975A4 298107FF */ slti $at, $t4, 0x7ff
/* 100BB8 802975A8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 100BBC 802975AC 10200003 */ beqz $at, .L802975BC
/* 100BC0 802975B0 ACEE0000 */ sw $t6, ($a3)
/* 100BC4 802975B4 10000002 */ b .L802975C0
/* 100BC8 802975B8 01802025 */ move $a0, $t4
.L802975BC:
/* 100BCC 802975BC 240407FF */ li $a0, 2047
.L802975C0:
/* 100BD0 802975C0 00054840 */ sll $t1, $a1, 1
/* 100BD4 802975C4 05210003 */ bgez $t1, .L802975D4
/* 100BD8 802975C8 000910C3 */ sra $v0, $t1, 3
/* 100BDC 802975CC 25210007 */ addiu $at, $t1, 7
/* 100BE0 802975D0 000110C3 */ sra $v0, $at, 3
.L802975D4:
/* 100BE4 802975D4 1C400003 */ bgtz $v0, .L802975E4
/* 100BE8 802975D8 00405025 */ move $t2, $v0
/* 100BEC 802975DC 10000001 */ b .L802975E4
/* 100BF0 802975E0 240A0001 */ li $t2, 1
.L802975E4:
/* 100BF4 802975E4 1C400003 */ bgtz $v0, .L802975F4
/* 100BF8 802975E8 254F07FF */ addiu $t7, $t2, 0x7ff
/* 100BFC 802975EC 10000002 */ b .L802975F8
/* 100C00 802975F0 240B0001 */ li $t3, 1
.L802975F4:
/* 100C04 802975F4 00405825 */ move $t3, $v0
.L802975F8:
/* 100C08 802975F8 01EB001A */ div $zero, $t7, $t3
/* 100C0C 802975FC 15600002 */ bnez $t3, .L80297608
/* 100C10 80297600 00000000 */ nop
/* 100C14 80297604 0007000D */ break 7
.L80297608:
/* 100C18 80297608 2401FFFF */ li $at, -1
/* 100C1C 8029760C 15610004 */ bne $t3, $at, .L80297620
/* 100C20 80297610 3C018000 */ lui $at, 0x8000
/* 100C24 80297614 15E10002 */ bne $t7, $at, .L80297620
/* 100C28 80297618 00000000 */ nop
/* 100C2C 8029761C 0006000D */ break 6
.L80297620:
/* 100C30 80297620 0000C012 */ mflo $t8
/* 100C34 80297624 33190FFF */ andi $t9, $t8, 0xfff
/* 100C38 80297628 3C010700 */ lui $at, 0x700
/* 100C3C 8029762C 308F0FFF */ andi $t7, $a0, 0xfff
/* 100C40 80297630 000FC300 */ sll $t8, $t7, 0xc
/* 100C44 80297634 03217025 */ or $t6, $t9, $at
/* 100C48 80297638 01D8C825 */ or $t9, $t6, $t8
/* 100C4C 8029763C ACF90004 */ sw $t9, 4($a3)
/* 100C50 80297640 8C620000 */ lw $v0, ($v1)
/* 100C54 80297644 3C0EE700 */ lui $t6, 0xe700
/* 100C58 80297648 25390007 */ addiu $t9, $t1, 7
/* 100C5C 8029764C 244F0008 */ addiu $t7, $v0, 8
/* 100C60 80297650 AC6F0000 */ sw $t7, ($v1)
/* 100C64 80297654 AC400004 */ sw $zero, 4($v0)
/* 100C68 80297658 AC4E0000 */ sw $t6, ($v0)
/* 100C6C 8029765C 00406025 */ move $t4, $v0
/* 100C70 80297660 8C620000 */ lw $v0, ($v1)
/* 100C74 80297664 001978C3 */ sra $t7, $t9, 3
/* 100C78 80297668 31EE01FF */ andi $t6, $t7, 0x1ff
/* 100C7C 8029766C 24580008 */ addiu $t8, $v0, 8
/* 100C80 80297670 AC780000 */ sw $t8, ($v1)
/* 100C84 80297674 000EC240 */ sll $t8, $t6, 9
/* 100C88 80297678 3C0F0008 */ lui $t7, (0x00080200 >> 16) # lui $t7, 8
/* 100C8C 8029767C 35EF0200 */ ori $t7, (0x00080200 & 0xFFFF) # ori $t7, $t7, 0x200
/* 100C90 80297680 0308C825 */ or $t9, $t8, $t0
/* 100C94 80297684 AC590000 */ sw $t9, ($v0)
/* 100C98 80297688 AC4F0004 */ sw $t7, 4($v0)
/* 100C9C 8029768C 00406825 */ move $t5, $v0
/* 100CA0 80297690 8C620000 */ lw $v0, ($v1)
/* 100CA4 80297694 24AFFFFF */ addiu $t7, $a1, -1
/* 100CA8 80297698 3C18F200 */ lui $t8, 0xf200
/* 100CAC 8029769C 244E0008 */ addiu $t6, $v0, 8
/* 100CB0 802976A0 AC6E0000 */ sw $t6, ($v1)
/* 100CB4 802976A4 AFA20004 */ sw $v0, 4($sp)
/* 100CB8 802976A8 000F7080 */ sll $t6, $t7, 2
/* 100CBC 802976AC AC580000 */ sw $t8, ($v0)
/* 100CC0 802976B0 31D80FFF */ andi $t8, $t6, 0xfff
/* 100CC4 802976B4 00187B00 */ sll $t7, $t8, 0xc
/* 100CC8 802976B8 24CEFFFF */ addiu $t6, $a2, -1
/* 100CCC 802976BC 000EC080 */ sll $t8, $t6, 2
/* 100CD0 802976C0 330E0FFF */ andi $t6, $t8, 0xfff
/* 100CD4 802976C4 01EEC025 */ or $t8, $t7, $t6
/* 100CD8 802976C8 27BD0020 */ addiu $sp, $sp, 0x20
/* 100CDC 802976CC AC580004 */ sw $t8, 4($v0)
/* 100CE0 802976D0 03E00008 */ jr $ra
/* 100CE4 802976D4 0040C825 */ move $t9, $v0

View File

@ -0,0 +1,118 @@
glabel func_80297524
/* 100B34 80297524 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 100B38 80297528 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 100B3C 8029752C 8C620000 */ lw $v0, ($v1)
/* 100B40 80297530 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 100B44 80297534 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 100B48 80297538 244E0008 */ addiu $t6, $v0, 8
/* 100B4C 8029753C AC6E0000 */ sw $t6, ($v1)
/* 100B50 80297540 0081C024 */ and $t8, $a0, $at
/* 100B54 80297544 3C0FFD10 */ lui $t7, 0xfd10
/* 100B58 80297548 AC4F0000 */ sw $t7, ($v0)
/* 100B5C 8029754C AC580004 */ sw $t8, 4($v0)
/* 100B60 80297550 8C620000 */ lw $v0, ($v1)
/* 100B64 80297554 3C0E0708 */ lui $t6, (0x07080200 >> 16) # lui $t6, 0x708
/* 100B68 80297558 3C08F510 */ lui $t0, 0xf510
/* 100B6C 8029755C 24590008 */ addiu $t9, $v0, 8
/* 100B70 80297560 AC790000 */ sw $t9, ($v1)
/* 100B74 80297564 35CE0200 */ ori $t6, (0x07080200 & 0xFFFF) # ori $t6, $t6, 0x200
/* 100B78 80297568 00A60019 */ multu $a1, $a2
/* 100B7C 8029756C AC4E0004 */ sw $t6, 4($v0)
/* 100B80 80297570 AC480000 */ sw $t0, ($v0)
/* 100B84 80297574 8C620000 */ lw $v0, ($v1)
/* 100B88 80297578 3C18E600 */ lui $t8, 0xe600
/* 100B8C 8029757C 3C0EF300 */ lui $t6, 0xf300
/* 100B90 80297580 244F0008 */ addiu $t7, $v0, 8
/* 100B94 80297584 AC6F0000 */ sw $t7, ($v1)
/* 100B98 80297588 AC400004 */ sw $zero, 4($v0)
/* 100B9C 8029758C AC580000 */ sw $t8, ($v0)
/* 100BA0 80297590 8C670000 */ lw $a3, ($v1)
/* 100BA4 80297594 00006012 */ mflo $t4
/* 100BA8 80297598 258CFFFF */ addiu $t4, $t4, -1
/* 100BAC 8029759C 24F90008 */ addiu $t9, $a3, 8
/* 100BB0 802975A0 AC790000 */ sw $t9, ($v1)
/* 100BB4 802975A4 298107FF */ slti $at, $t4, 0x7ff
/* 100BB8 802975A8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 100BBC 802975AC 10200003 */ beqz $at, .L802975BC
/* 100BC0 802975B0 ACEE0000 */ sw $t6, ($a3)
/* 100BC4 802975B4 10000002 */ b .L802975C0
/* 100BC8 802975B8 01802025 */ move $a0, $t4
.L802975BC:
/* 100BCC 802975BC 240407FF */ li $a0, 2047
.L802975C0:
/* 100BD0 802975C0 00054840 */ sll $t1, $a1, 1
/* 100BD4 802975C4 05210003 */ bgez $t1, .L802975D4
/* 100BD8 802975C8 000910C3 */ sra $v0, $t1, 3
/* 100BDC 802975CC 25210007 */ addiu $at, $t1, 7
/* 100BE0 802975D0 000110C3 */ sra $v0, $at, 3
.L802975D4:
/* 100BE4 802975D4 1C400003 */ bgtz $v0, .L802975E4
/* 100BE8 802975D8 00405025 */ move $t2, $v0
/* 100BEC 802975DC 10000001 */ b .L802975E4
/* 100BF0 802975E0 240A0001 */ li $t2, 1
.L802975E4:
/* 100BF4 802975E4 1C400003 */ bgtz $v0, .L802975F4
/* 100BF8 802975E8 254F07FF */ addiu $t7, $t2, 0x7ff
/* 100BFC 802975EC 10000002 */ b .L802975F8
/* 100C00 802975F0 240B0001 */ li $t3, 1
.L802975F4:
/* 100C04 802975F4 00405825 */ move $t3, $v0
.L802975F8:
/* 100C08 802975F8 01EB001A */ div $zero, $t7, $t3
/* 100C0C 802975FC 15600002 */ bnez $t3, .L80297608
/* 100C10 80297600 00000000 */ nop
/* 100C14 80297604 0007000D */ break 7
.L80297608:
/* 100C18 80297608 2401FFFF */ li $at, -1
/* 100C1C 8029760C 15610004 */ bne $t3, $at, .L80297620
/* 100C20 80297610 3C018000 */ lui $at, 0x8000
/* 100C24 80297614 15E10002 */ bne $t7, $at, .L80297620
/* 100C28 80297618 00000000 */ nop
/* 100C2C 8029761C 0006000D */ break 6
.L80297620:
/* 100C30 80297620 0000C012 */ mflo $t8
/* 100C34 80297624 33190FFF */ andi $t9, $t8, 0xfff
/* 100C38 80297628 3C010700 */ lui $at, 0x700
/* 100C3C 8029762C 308F0FFF */ andi $t7, $a0, 0xfff
/* 100C40 80297630 000FC300 */ sll $t8, $t7, 0xc
/* 100C44 80297634 03217025 */ or $t6, $t9, $at
/* 100C48 80297638 01D8C825 */ or $t9, $t6, $t8
/* 100C4C 8029763C ACF90004 */ sw $t9, 4($a3)
/* 100C50 80297640 8C620000 */ lw $v0, ($v1)
/* 100C54 80297644 3C0EE700 */ lui $t6, 0xe700
/* 100C58 80297648 25390007 */ addiu $t9, $t1, 7
/* 100C5C 8029764C 244F0008 */ addiu $t7, $v0, 8
/* 100C60 80297650 AC6F0000 */ sw $t7, ($v1)
/* 100C64 80297654 AC400004 */ sw $zero, 4($v0)
/* 100C68 80297658 AC4E0000 */ sw $t6, ($v0)
/* 100C6C 8029765C 00406025 */ move $t4, $v0
/* 100C70 80297660 8C620000 */ lw $v0, ($v1)
/* 100C74 80297664 001978C3 */ sra $t7, $t9, 3
/* 100C78 80297668 31EE01FF */ andi $t6, $t7, 0x1ff
/* 100C7C 8029766C 24580008 */ addiu $t8, $v0, 8
/* 100C80 80297670 AC780000 */ sw $t8, ($v1)
/* 100C84 80297674 000EC240 */ sll $t8, $t6, 9
/* 100C88 80297678 3C0F0008 */ lui $t7, (0x00080200 >> 16) # lui $t7, 8
/* 100C8C 8029767C 35EF0200 */ ori $t7, (0x00080200 & 0xFFFF) # ori $t7, $t7, 0x200
/* 100C90 80297680 0308C825 */ or $t9, $t8, $t0
/* 100C94 80297684 AC590000 */ sw $t9, ($v0)
/* 100C98 80297688 AC4F0004 */ sw $t7, 4($v0)
/* 100C9C 8029768C 00406825 */ move $t5, $v0
/* 100CA0 80297690 8C620000 */ lw $v0, ($v1)
/* 100CA4 80297694 24AFFFFF */ addiu $t7, $a1, -1
/* 100CA8 80297698 3C18F200 */ lui $t8, 0xf200
/* 100CAC 8029769C 244E0008 */ addiu $t6, $v0, 8
/* 100CB0 802976A0 AC6E0000 */ sw $t6, ($v1)
/* 100CB4 802976A4 AFA20004 */ sw $v0, 4($sp)
/* 100CB8 802976A8 000F7080 */ sll $t6, $t7, 2
/* 100CBC 802976AC AC580000 */ sw $t8, ($v0)
/* 100CC0 802976B0 31D80FFF */ andi $t8, $t6, 0xfff
/* 100CC4 802976B4 00187B00 */ sll $t7, $t8, 0xc
/* 100CC8 802976B8 24CEFFFF */ addiu $t6, $a2, -1
/* 100CCC 802976BC 000EC080 */ sll $t8, $t6, 2
/* 100CD0 802976C0 330E0FFF */ andi $t6, $t8, 0xfff
/* 100CD4 802976C4 01EEC025 */ or $t8, $t7, $t6
/* 100CD8 802976C8 27BD0020 */ addiu $sp, $sp, 0x20
/* 100CDC 802976CC AC580004 */ sw $t8, 4($v0)
/* 100CE0 802976D0 03E00008 */ jr $ra
/* 100CE4 802976D4 0040C825 */ move $t9, $v0

View File

@ -1,250 +0,0 @@
glabel func_80298328
/* 101938 80298328 3C0E800E */ lui $t6, %hi(camera1) # $t6, 0x800e
/* 10193C 8029832C 8DCEDB40 */ lw $t6, %lo(camera1)($t6)
/* 101940 80298330 240100B8 */ li $at, 184
/* 101944 80298334 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 101948 80298338 008E4023 */ subu $t0, $a0, $t6
/* 10194C 8029833C 0101001A */ div $zero, $t0, $at
/* 101950 80298340 AFBF0024 */ sw $ra, 0x24($sp)
/* 101954 80298344 AFB00020 */ sw $s0, 0x20($sp)
/* 101958 80298348 AFA50044 */ sw $a1, 0x44($sp)
/* 10195C 8029834C 84C20002 */ lh $v0, 2($a2)
/* 101960 80298350 00007812 */ mflo $t7
/* 101964 80298354 000F1C00 */ sll $v1, $t7, 0x10
/* 101968 80298358 30590800 */ andi $t9, $v0, 0x800
/* 10196C 8029835C 00C08025 */ move $s0, $a2
/* 101970 80298360 172000CF */ bnez $t9, .L802986A0
/* 101974 80298364 0003C403 */ sra $t8, $v1, 0x10
/* 101978 80298368 000F6880 */ sll $t5, $t7, 2
/* 10197C 8029836C 3C018015 */ lui $at, %hi(D_80150130)
/* 101980 80298370 002D0821 */ addu $at, $at, $t5
/* 101984 80298374 C4240130 */ lwc1 $f4, %lo(D_80150130)($at)
/* 101988 80298378 3C01802C */ lui $at, %hi(D_802B9624) # $at, 0x802c
/* 10198C 8029837C 24C50018 */ addiu $a1, $a2, 0x18
/* 101990 80298380 C4269624 */ lwc1 $f6, %lo(D_802B9624)($at)
/* 101994 80298384 94860026 */ lhu $a2, 0x26($a0)
/* 101998 80298388 A7B80036 */ sh $t8, 0x36($sp)
/* 10199C 8029838C 24070000 */ li $a3, 0
/* 1019A0 80298390 E7A40010 */ swc1 $f4, 0x10($sp)
/* 1019A4 80298394 0C0AE034 */ jal func_802B80D0
/* 1019A8 80298398 E7A60014 */ swc1 $f6, 0x14($sp)
/* 1019AC 8029839C 44804000 */ mtc1 $zero, $f8
/* 1019B0 802983A0 87A30036 */ lh $v1, 0x36($sp)
/* 1019B4 802983A4 8FA40044 */ lw $a0, 0x44($sp)
/* 1019B8 802983A8 4608003C */ c.lt.s $f0, $f8
/* 1019BC 802983AC 46000086 */ mov.s $f2, $f0
/* 1019C0 802983B0 45020017 */ bc1fl .L80298410
/* 1019C4 802983B4 C60A0018 */ lwc1 $f10, 0x18($s0)
/* 1019C8 802983B8 1060000C */ beqz $v1, .L802983EC
/* 1019CC 802983BC 240EFFFF */ li $t6, -1
/* 1019D0 802983C0 24020001 */ li $v0, 1
/* 1019D4 802983C4 1062000B */ beq $v1, $v0, .L802983F4
/* 1019D8 802983C8 240FFFFF */ li $t7, -1
/* 1019DC 802983CC 24010002 */ li $at, 2
/* 1019E0 802983D0 1061000A */ beq $v1, $at, .L802983FC
/* 1019E4 802983D4 2418FFFF */ li $t8, -1
/* 1019E8 802983D8 24010003 */ li $at, 3
/* 1019EC 802983DC 10610009 */ beq $v1, $at, .L80298404
/* 1019F0 802983E0 2419FFFF */ li $t9, -1
/* 1019F4 802983E4 100000AF */ b .L802986A4
/* 1019F8 802983E8 8FBF0024 */ lw $ra, 0x24($sp)
.L802983EC:
/* 1019FC 802983EC 100000AC */ b .L802986A0
/* 101A00 802983F0 A60E0004 */ sh $t6, 4($s0)
.L802983F4:
/* 101A04 802983F4 100000AA */ b .L802986A0
/* 101A08 802983F8 A60F0006 */ sh $t7, 6($s0)
.L802983FC:
/* 101A0C 802983FC 100000A8 */ b .L802986A0
/* 101A10 80298400 A6180008 */ sh $t8, 8($s0)
.L80298404:
/* 101A14 80298404 100000A6 */ b .L802986A0
/* 101A18 80298408 A619000A */ sh $t9, 0xa($s0)
/* 101A1C 8029840C C60A0018 */ lwc1 $f10, 0x18($s0)
.L80298410:
/* 101A20 80298410 00002825 */ move $a1, $zero
/* 101A24 80298414 E48A0030 */ swc1 $f10, 0x30($a0)
/* 101A28 80298418 C610001C */ lwc1 $f16, 0x1c($s0)
/* 101A2C 8029841C E4900034 */ swc1 $f16, 0x34($a0)
/* 101A30 80298420 C6120020 */ lwc1 $f18, 0x20($s0)
/* 101A34 80298424 E4920038 */ swc1 $f18, 0x38($a0)
/* 101A38 80298428 E7A2002C */ swc1 $f2, 0x2c($sp)
/* 101A3C 8029842C 0C0AD3FE */ jal func_802B4FF8
/* 101A40 80298430 A7A30036 */ sh $v1, 0x36($sp)
/* 101A44 80298434 87A30036 */ lh $v1, 0x36($sp)
/* 101A48 80298438 10400099 */ beqz $v0, .L802986A0
/* 101A4C 8029843C C7A2002C */ lwc1 $f2, 0x2c($sp)
/* 101A50 80298440 3C01802C */ lui $at, %hi(D_802B9628) # $at, 0x802c
/* 101A54 80298444 C4249628 */ lwc1 $f4, %lo(D_802B9628)($at)
/* 101A58 80298448 3C19802C */ lui $t9, %hi(D_802BA058) # $t9, 0x802c
/* 101A5C 8029844C 4602203C */ c.lt.s $f4, $f2
/* 101A60 80298450 00000000 */ nop
/* 101A64 80298454 45000017 */ bc1f .L802984B4
/* 101A68 80298458 00000000 */ nop
/* 101A6C 8029845C 1060000C */ beqz $v1, .L80298490
/* 101A70 80298460 00006025 */ move $t4, $zero
/* 101A74 80298464 24020001 */ li $v0, 1
/* 101A78 80298468 1062000B */ beq $v1, $v0, .L80298498
/* 101A7C 8029846C 00006025 */ move $t4, $zero
/* 101A80 80298470 24010002 */ li $at, 2
/* 101A84 80298474 1061000A */ beq $v1, $at, .L802984A0
/* 101A88 80298478 00006025 */ move $t4, $zero
/* 101A8C 8029847C 24010003 */ li $at, 3
/* 101A90 80298480 5061000A */ beql $v1, $at, .L802984AC
/* 101A94 80298484 A600000A */ sh $zero, 0xa($s0)
/* 101A98 80298488 1000002D */ b .L80298540
/* 101A9C 8029848C 00006025 */ move $t4, $zero
.L80298490:
/* 101AA0 80298490 1000002B */ b .L80298540
/* 101AA4 80298494 A6000004 */ sh $zero, 4($s0)
.L80298498:
/* 101AA8 80298498 10000029 */ b .L80298540
/* 101AAC 8029849C A6000006 */ sh $zero, 6($s0)
.L802984A0:
/* 101AB0 802984A0 10000027 */ b .L80298540
/* 101AB4 802984A4 A6000008 */ sh $zero, 8($s0)
/* 101AB8 802984A8 A600000A */ sh $zero, 0xa($s0)
.L802984AC:
/* 101ABC 802984AC 10000024 */ b .L80298540
/* 101AC0 802984B0 00006025 */ move $t4, $zero
.L802984B4:
/* 101AC4 802984B4 1060000A */ beqz $v1, .L802984E0
/* 101AC8 802984B8 24020001 */ li $v0, 1
/* 101ACC 802984BC 24020001 */ li $v0, 1
/* 101AD0 802984C0 10620009 */ beq $v1, $v0, .L802984E8
/* 101AD4 802984C4 24010002 */ li $at, 2
/* 101AD8 802984C8 10610009 */ beq $v1, $at, .L802984F0
/* 101ADC 802984CC 24010003 */ li $at, 3
/* 101AE0 802984D0 5061000A */ beql $v1, $at, .L802984FC
/* 101AE4 802984D4 A602000A */ sh $v0, 0xa($s0)
/* 101AE8 802984D8 10000008 */ b .L802984FC
/* 101AEC 802984DC 00000000 */ nop
.L802984E0:
/* 101AF0 802984E0 10000006 */ b .L802984FC
/* 101AF4 802984E4 A6020004 */ sh $v0, 4($s0)
.L802984E8:
/* 101AF8 802984E8 10000004 */ b .L802984FC
/* 101AFC 802984EC A6020006 */ sh $v0, 6($s0)
.L802984F0:
/* 101B00 802984F0 10000002 */ b .L802984FC
/* 101B04 802984F4 A6020008 */ sh $v0, 8($s0)
/* 101B08 802984F8 A602000A */ sh $v0, 0xa($s0)
.L802984FC:
/* 101B0C 802984FC 10600009 */ beqz $v1, .L80298524
/* 101B10 80298500 00000000 */ nop
/* 101B14 80298504 10620009 */ beq $v1, $v0, .L8029852C
/* 101B18 80298508 24010002 */ li $at, 2
/* 101B1C 8029850C 10610009 */ beq $v1, $at, .L80298534
/* 101B20 80298510 24010003 */ li $at, 3
/* 101B24 80298514 5061000A */ beql $v1, $at, .L80298540
/* 101B28 80298518 860C002A */ lh $t4, 0x2a($s0)
/* 101B2C 8029851C 10000008 */ b .L80298540
/* 101B30 80298520 87AC0034 */ lh $t4, 0x34($sp)
.L80298524:
/* 101B34 80298524 10000006 */ b .L80298540
/* 101B38 80298528 860C0024 */ lh $t4, 0x24($s0)
.L8029852C:
/* 101B3C 8029852C 10000004 */ b .L80298540
/* 101B40 80298530 860C0026 */ lh $t4, 0x26($s0)
.L80298534:
/* 101B44 80298534 10000002 */ b .L80298540
/* 101B48 80298538 860C0028 */ lh $t4, 0x28($s0)
/* 101B4C 8029853C 860C002A */ lh $t4, 0x2a($s0)
.L80298540:
/* 101B50 80298540 24010006 */ li $at, 6
/* 101B54 80298544 0181001A */ div $zero, $t4, $at
/* 101B58 80298548 00006812 */ mflo $t5
/* 101B5C 8029854C 000D7400 */ sll $t6, $t5, 0x10
/* 101B60 80298550 000E6403 */ sra $t4, $t6, 0x10
/* 101B64 80298554 29810009 */ slti $at, $t4, 9
/* 101B68 80298558 14200002 */ bnez $at, .L80298564
/* 101B6C 8029855C 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
/* 101B70 80298560 240C0008 */ li $t4, 8
.L80298564:
/* 101B74 80298564 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
/* 101B78 80298568 8C620000 */ lw $v0, ($v1)
/* 101B7C 8029856C 8F39A058 */ lw $t9, %lo(D_802BA058)($t9)
/* 101B80 80298570 000CC2C0 */ sll $t8, $t4, 0xb
/* 101B84 80298574 3C011FFF */ lui $at, (0x1FFFFFFF >> 16) # lui $at, 0x1fff
/* 101B88 80298578 244D0008 */ addiu $t5, $v0, 8
/* 101B8C 8029857C AC6D0000 */ sw $t5, ($v1)
/* 101B90 80298580 3421FFFF */ ori $at, (0x1FFFFFFF & 0xFFFF) # ori $at, $at, 0xffff
/* 101B94 80298584 03195821 */ addu $t3, $t8, $t9
/* 101B98 80298588 01617824 */ and $t7, $t3, $at
/* 101B9C 8029858C 3C0EFD50 */ lui $t6, 0xfd50
/* 101BA0 80298590 AC4E0000 */ sw $t6, ($v0)
/* 101BA4 80298594 AC4F0004 */ sw $t7, 4($v0)
/* 101BA8 80298598 8C620000 */ lw $v0, ($v1)
/* 101BAC 8029859C 3C0D0708 */ lui $t5, (0x07080100 >> 16) # lui $t5, 0x708
/* 101BB0 802985A0 35AD0100 */ ori $t5, (0x07080100 & 0xFFFF) # ori $t5, $t5, 0x100
/* 101BB4 802985A4 24580008 */ addiu $t8, $v0, 8
/* 101BB8 802985A8 AC780000 */ sw $t8, ($v1)
/* 101BBC 802985AC 3C19F550 */ lui $t9, 0xf550
/* 101BC0 802985B0 AC590000 */ sw $t9, ($v0)
/* 101BC4 802985B4 AC4D0004 */ sw $t5, 4($v0)
/* 101BC8 802985B8 8C620000 */ lw $v0, ($v1)
/* 101BCC 802985BC 3C0FE600 */ lui $t7, 0xe600
/* 101BD0 802985C0 3C0D073F */ lui $t5, (0x073FF200 >> 16) # lui $t5, 0x73f
/* 101BD4 802985C4 244E0008 */ addiu $t6, $v0, 8
/* 101BD8 802985C8 AC6E0000 */ sw $t6, ($v1)
/* 101BDC 802985CC AC400004 */ sw $zero, 4($v0)
/* 101BE0 802985D0 AC4F0000 */ sw $t7, ($v0)
/* 101BE4 802985D4 8C620000 */ lw $v0, ($v1)
/* 101BE8 802985D8 35ADF200 */ ori $t5, (0x073FF200 & 0xFFFF) # ori $t5, $t5, 0xf200
/* 101BEC 802985DC 3C19F300 */ lui $t9, 0xf300
/* 101BF0 802985E0 24580008 */ addiu $t8, $v0, 8
/* 101BF4 802985E4 AC780000 */ sw $t8, ($v1)
/* 101BF8 802985E8 AC4D0004 */ sw $t5, 4($v0)
/* 101BFC 802985EC AC590000 */ sw $t9, ($v0)
/* 101C00 802985F0 8C620000 */ lw $v0, ($v1)
/* 101C04 802985F4 3C0FE700 */ lui $t7, 0xe700
/* 101C08 802985F8 3C19F548 */ lui $t9, (0xF5480800 >> 16) # lui $t9, 0xf548
/* 101C0C 802985FC 244E0008 */ addiu $t6, $v0, 8
/* 101C10 80298600 AC6E0000 */ sw $t6, ($v1)
/* 101C14 80298604 AC400004 */ sw $zero, 4($v0)
/* 101C18 80298608 AC4F0000 */ sw $t7, ($v0)
/* 101C1C 8029860C 8C620000 */ lw $v0, ($v1)
/* 101C20 80298610 3C0D0008 */ lui $t5, (0x00080100 >> 16) # lui $t5, 8
/* 101C24 80298614 35AD0100 */ ori $t5, (0x00080100 & 0xFFFF) # ori $t5, $t5, 0x100
/* 101C28 80298618 24580008 */ addiu $t8, $v0, 8
/* 101C2C 8029861C AC780000 */ sw $t8, ($v1)
/* 101C30 80298620 37390800 */ ori $t9, (0xF5480800 & 0xFFFF) # ori $t9, $t9, 0x800
/* 101C34 80298624 AC590000 */ sw $t9, ($v0)
/* 101C38 80298628 AC4D0004 */ sw $t5, 4($v0)
/* 101C3C 8029862C 8C620000 */ lw $v0, ($v1)
/* 101C40 80298630 3C180007 */ lui $t8, (0x0007C0FC >> 16) # lui $t8, 7
/* 101C44 80298634 3718C0FC */ ori $t8, (0x0007C0FC & 0xFFFF) # ori $t8, $t8, 0xc0fc
/* 101C48 80298638 244E0008 */ addiu $t6, $v0, 8
/* 101C4C 8029863C AC6E0000 */ sw $t6, ($v1)
/* 101C50 80298640 3C0FF200 */ lui $t7, 0xf200
/* 101C54 80298644 3C19800E */ lui $t9, %hi(gCurrentCourseId) # $t9, 0x800e
/* 101C58 80298648 AC4F0000 */ sw $t7, ($v0)
/* 101C5C 8029864C AC580004 */ sw $t8, 4($v0)
/* 101C60 80298650 8739C5A0 */ lh $t9, %lo(gCurrentCourseId)($t9)
/* 101C64 80298654 3C0E0600 */ lui $t6, 0x600
/* 101C68 80298658 3C0D0601 */ lui $t5, 0x601
/* 101C6C 8029865C 5720000A */ bnel $t9, $zero, .L80298688
/* 101C70 80298660 8C620000 */ lw $v0, ($v1)
/* 101C74 80298664 8C620000 */ lw $v0, ($v1)
/* 101C78 80298668 3C0F0600 */ lui $t7, %hi(D_06006990) # $t7, 0x600
/* 101C7C 8029866C 25EF6990 */ addiu $t7, %lo(D_06006990) # addiu $t7, $t7, 0x6990
/* 101C80 80298670 244D0008 */ addiu $t5, $v0, 8
/* 101C84 80298674 AC6D0000 */ sw $t5, ($v1)
/* 101C88 80298678 AC4F0004 */ sw $t7, 4($v0)
/* 101C8C 8029867C 10000008 */ b .L802986A0
/* 101C90 80298680 AC4E0000 */ sw $t6, ($v0)
/* 101C94 80298684 8C620000 */ lw $v0, ($v1)
.L80298688:
/* 101C98 80298688 3C190600 */ lui $t9, 0x600
/* 101C9C 8029868C 25ADD850 */ addiu $t5, $t5, -0x27b0
/* 101CA0 80298690 24580008 */ addiu $t8, $v0, 8
/* 101CA4 80298694 AC780000 */ sw $t8, ($v1)
/* 101CA8 80298698 AC4D0004 */ sw $t5, 4($v0)
/* 101CAC 8029869C AC590000 */ sw $t9, ($v0)
.L802986A0:
/* 101CB0 802986A0 8FBF0024 */ lw $ra, 0x24($sp)
.L802986A4:
/* 101CB4 802986A4 8FB00020 */ lw $s0, 0x20($sp)
/* 101CB8 802986A8 27BD0040 */ addiu $sp, $sp, 0x40
/* 101CBC 802986AC 03E00008 */ jr $ra
/* 101CC0 802986B0 00000000 */ nop

View File

@ -1,70 +0,0 @@
glabel update_obj_yoshi_valley_egg
/* 10120C 80297BFC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 101210 80297C00 AFBF0014 */ sw $ra, 0x14($sp)
/* 101214 80297C04 848E0010 */ lh $t6, 0x10($a0)
/* 101218 80297C08 00802825 */ move $a1, $a0
/* 10121C 80297C0C 25CF005B */ addiu $t7, $t6, 0x5b
/* 101220 80297C10 A48F0010 */ sh $t7, 0x10($a0)
/* 101224 80297C14 AFA50018 */ sw $a1, 0x18($sp)
/* 101228 80297C18 0C0AE006 */ jal sins
/* 10122C 80297C1C 31E4FFFF */ andi $a0, $t7, 0xffff
/* 101230 80297C20 8FA50018 */ lw $a1, 0x18($sp)
/* 101234 80297C24 C4A40008 */ lwc1 $f4, 8($a1)
/* 101238 80297C28 C4A80024 */ lwc1 $f8, 0x24($a1)
/* 10123C 80297C2C 94A40010 */ lhu $a0, 0x10($a1)
/* 101240 80297C30 46040182 */ mul.s $f6, $f0, $f4
/* 101244 80297C34 46083280 */ add.s $f10, $f6, $f8
/* 101248 80297C38 0C0AE00E */ jal coss
/* 10124C 80297C3C E4AA0018 */ swc1 $f10, 0x18($a1)
/* 101250 80297C40 8FA50018 */ lw $a1, 0x18($sp)
/* 101254 80297C44 3C01C040 */ li $at, 0xC0400000 # -3.000000
/* 101258 80297C48 C4B00008 */ lwc1 $f16, 8($a1)
/* 10125C 80297C4C C4A4002C */ lwc1 $f4, 0x2c($a1)
/* 101260 80297C50 84B80002 */ lh $t8, 2($a1)
/* 101264 80297C54 46100482 */ mul.s $f18, $f0, $f16
/* 101268 80297C58 33190400 */ andi $t9, $t8, 0x400
/* 10126C 80297C5C 46049180 */ add.s $f6, $f18, $f4
/* 101270 80297C60 13200021 */ beqz $t9, .L80297CE8
/* 101274 80297C64 E4A60020 */ swc1 $f6, 0x20($a1)
/* 101278 80297C68 44811000 */ mtc1 $at, $f2
/* 10127C 80297C6C C4A80028 */ lwc1 $f8, 0x28($a1)
/* 101280 80297C70 3C01802C */ lui $at, %hi(D_802B9610)
/* 101284 80297C74 D4309610 */ ldc1 $f16, %lo(D_802B9610)($at)
/* 101288 80297C78 460042A1 */ cvt.d.s $f10, $f8
/* 10128C 80297C7C 46305481 */ sub.d $f18, $f10, $f16
/* 101290 80297C80 46209120 */ cvt.s.d $f4, $f18
/* 101294 80297C84 E4A40028 */ swc1 $f4, 0x28($a1)
/* 101298 80297C88 C4A00028 */ lwc1 $f0, 0x28($a1)
/* 10129C 80297C8C 4602003C */ c.lt.s $f0, $f2
/* 1012A0 80297C90 00000000 */ nop
/* 1012A4 80297C94 45020004 */ bc1fl .L80297CA8
/* 1012A8 80297C98 C4A6001C */ lwc1 $f6, 0x1c($a1)
/* 1012AC 80297C9C E4A20028 */ swc1 $f2, 0x28($a1)
/* 1012B0 80297CA0 C4A00028 */ lwc1 $f0, 0x28($a1)
/* 1012B4 80297CA4 C4A6001C */ lwc1 $f6, 0x1c($a1)
.L80297CA8:
/* 1012B8 80297CA8 44801000 */ mtc1 $zero, $f2
/* 1012BC 80297CAC 46003200 */ add.s $f8, $f6, $f0
/* 1012C0 80297CB0 E4A8001C */ swc1 $f8, 0x1c($a1)
/* 1012C4 80297CB4 C4AA001C */ lwc1 $f10, 0x1c($a1)
/* 1012C8 80297CB8 4602503C */ c.lt.s $f10, $f2
/* 1012CC 80297CBC 00000000 */ nop
/* 1012D0 80297CC0 45020007 */ bc1fl .L80297CE0
/* 1012D4 80297CC4 84AA0012 */ lh $t2, 0x12($a1)
/* 1012D8 80297CC8 84A80002 */ lh $t0, 2($a1)
/* 1012DC 80297CCC E4A2001C */ swc1 $f2, 0x1c($a1)
/* 1012E0 80297CD0 E4A20028 */ swc1 $f2, 0x28($a1)
/* 1012E4 80297CD4 3109FBFF */ andi $t1, $t0, 0xfbff
/* 1012E8 80297CD8 A4A90002 */ sh $t1, 2($a1)
/* 1012EC 80297CDC 84AA0012 */ lh $t2, 0x12($a1)
.L80297CE0:
/* 1012F0 80297CE0 254BFB06 */ addiu $t3, $t2, -0x4fa
/* 1012F4 80297CE4 A4AB0012 */ sh $t3, 0x12($a1)
.L80297CE8:
/* 1012F8 80297CE8 84AC0012 */ lh $t4, 0x12($a1)
/* 1012FC 80297CEC 258DFDDE */ addiu $t5, $t4, -0x222
/* 101300 80297CF0 A4AD0012 */ sh $t5, 0x12($a1)
/* 101304 80297CF4 8FBF0014 */ lw $ra, 0x14($sp)
/* 101308 80297CF8 27BD0018 */ addiu $sp, $sp, 0x18
/* 10130C 80297CFC 03E00008 */ jr $ra
/* 101310 80297D00 00000000 */ nop

View File

@ -38,6 +38,3 @@ glabel func_802A87A8
/* 111E48 802A8838 27BD0028 */ addiu $sp, $sp, 0x28
/* 111E4C 802A883C 03E00008 */ jr $ra
/* 111E50 802A8840 00000000 */ nop
/* 111E54 802A8844 03E00008 */ jr $ra
/* 111E58 802A8848 00000000 */ nop

View File

@ -12122,15 +12122,22 @@
"bin/texture_8209C0.rgba16.tkmk00": {"meta":{"size":"0x100"}, "offsets": {"us":["0x8209C0", "0x0"]}},
"bin/texture_820AC0.rgba16.tkmk00": {"meta":{"size":"0x500"}, "offsets": {"us":["0x820AC0", "0x0"]}},
"bin/texture_820FC0.rgba16.tkmk00": {"meta":{"size":"0xD50"}, "offsets": {"us":["0x820FC0", "0x0"]}},
"textures/132B50_00000_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets":{"us":["0x132B50","0x0"]}},
"textures/132B50_00200.rgba16.png": {"meta":{"dims":[32,64]}, "offsets":{"us":["0x132B50","0x200"]}},
"textures/132B50_01EE8.rgba16.png": {"meta":{"dims":[32,64]}, "offsets": {"us":["0x132B50", "0x01EE8"]}},
"textures/132B50_03348.rgba16.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x132B50", "0x03348"]}},
"textures/132B50_03B48.rgba16.png": {"meta":{"dims":[64,32]}, "offsets": {"us":["0x132B50", "0x03B48"]}},
"textures/132B50_04C68_tlut.rgba16.bin": {"meta":{"size":"0x1D0"}, "offsets": {"us":["0x132B50", "0x04C68"]}},
"textures/132B50_04E38_tlut.rgba16.bin": {"meta":{"size":"0x30"}, "offsets": {"us":["0x132B50", "0x04E38"]}},
"textures/132B50_04E68_tlut.rgba16.bin": {"meta":{"size":"0x200"}, "offsets": {"us":["0x132B50", "0x04E68"]}},
"textures/132B50_05068_tlut.rgba16.bin": {"meta":{"size":"0x1D0"}, "offsets": {"us":["0x132B50", "0x05068"]}},
"textures/132B50_06A58.i4.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x06A58"]}},
"textures/132B50_06AD8.ia8.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x132B50", "0x06AD8"]}},
"textures/132B50_06ED8_tlut.rgba16.bin": {"meta":{"size":"0x20"}, "offsets": {"us":["0x132B50", "0x06ED8"]}},
"textures/132B50_06EF8.rgba16.ci4.png": {"meta":{"dims":[128,32], "pal":"0x06ED8"}, "offsets": {"us":["0x132B50", "0x06EF8"]}},
"textures/132B50_08150.ia8.png": {"meta":{"dims":[100,8]}, "offsets": {"us":["0x132B50", "0x08150"]}},
"textures/132B50_08470.ia8.png": {"meta":{"dims":[100,8]}, "offsets": {"us":["0x132B50", "0x08470"]}},
"textures/132B50_08790.ia8.png": {"meta":{"dims":[100,8]}, "offsets": {"us":["0x132B50", "0x08790"]}},
"textures/132B50_08790.ia8.png": {"meta":{"dims":[100,10]}, "offsets": {"us":["0x132B50", "0x08790"]}},
"textures/132B50_09958.i4.png": {"meta":{"dims":[64,96]}, "offsets": {"us":["0x132B50", "0x09958"]}},
"textures/132B50_0A558.i4.png": {"meta":{"dims":[64,32]}, "offsets": {"us":["0x132B50", "0x0A558"]}},
"textures/132B50_0A958.rgba16.png": {"meta":{"dims":[32,8]}, "offsets": {"us":["0x132B50", "0x0A958"]}},
@ -12154,10 +12161,13 @@
"textures/132B50_15A58.i4.png": {"meta":{"dims":[64,64]}, "offsets": {"us":["0x132B50", "0x15A58"]}},
"textures/132B50_16258.i4.png": {"meta":{"dims":[64,64]}, "offsets": {"us":["0x132B50", "0x16258"]}},
"textures/132B50_16A58.i4.png": {"meta":{"dims":[64,64]}, "offsets": {"us":["0x132B50", "0x16A58"]}},
"textures/132B50_17258_tlut.rgba16.png": {"meta":{"dims":[38,6]}, "offsets": {"us":["0x132B50", "0x17258"]}},
"textures/132B50_17458_combined_data.bin": {"meta":{"size":"0x2E80"}, "offsets": {"us":["0x132B50", "0x17458"]}},
"textures/132B50_17458.rgba16.ci8.png": {"meta":{"dims":[64,32], "pal":"0x17258"}, "offsets": {"us":["0x132B50", "0x17458"]}},
"textures/132B50_17C58.rgba16.ci8.png": {"meta":{"dims":[64,32], "pal":"0x17258"}, "offsets": {"us":["0x132B50", "0x17C58"]}},
"textures/132B50_18458.rgba16.ci8.png": {"meta":{"dims":[64,32], "pal":"0x17258"}, "offsets": {"us":["0x132B50", "0x18458"]}},
"textures/132B50_18C58.rgba16.ci8.png": {"meta":{"dims":[64,32], "pal":"0x17258"}, "offsets": {"us":["0x132B50", "0x18C58"]}},
"textures/132B50_19458_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x19458"]}},
"textures/132B50_19658.rgba16.ci8.png": {"meta":{"dims":[16,16], "pal":"0x19458"}, "offsets": {"us":["0x132B50", "0x19658"]}},
"textures/132B50_19758.rgba16.ci8.png": {"meta":{"dims":[16,16], "pal":"0x19458"}, "offsets": {"us":["0x132B50", "0x19758"]}},
"textures/132B50_19858.rgba16.ci8.png": {"meta":{"dims":[16,16], "pal":"0x19458"}, "offsets": {"us":["0x132B50", "0x19858"]}},
@ -12166,6 +12176,7 @@
"textures/132B50_19B58.rgba16.ci8.png": {"meta":{"dims":[16,16], "pal":"0x19458"}, "offsets": {"us":["0x132B50", "0x19B58"]}},
"textures/132B50_19C58.rgba16.ci8.png": {"meta":{"dims":[16,16], "pal":"0x19458"}, "offsets": {"us":["0x132B50", "0x19C58"]}},
"textures/132B50_19D58.rgba16.ci8.png": {"meta":{"dims":[16,16], "pal":"0x19458"}, "offsets": {"us":["0x132B50", "0x19D58"]}},
"textures/132B50_19E58_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x19E58"]}},
"textures/132B50_1A058.rgba16.ci8.png": {"meta":{"dims":[8,8], "pal":"0x19E58"}, "offsets": {"us":["0x132B50", "0x1A058"]}},
"textures/132B50_1A098.rgba16.ci8.png": {"meta":{"dims":[8,8], "pal":"0x19E58"}, "offsets": {"us":["0x132B50", "0x1A098"]}},
"textures/132B50_1A0D8.rgba16.ci8.png": {"meta":{"dims":[8,8], "pal":"0x19E58"}, "offsets": {"us":["0x132B50", "0x1A0D8"]}},
@ -12177,6 +12188,17 @@
"textures/132B50_1A258.rgba16.ci8.png": {"meta":{"dims":[8,8], "pal":"0x19E58"}, "offsets": {"us":["0x132B50", "0x1A258"]}},
"textures/132B50_1A298.rgba16.ci8.png": {"meta":{"dims":[8,8], "pal":"0x19E58"}, "offsets": {"us":["0x132B50", "0x1A298"]}},
"textures/132B50_1A2D8.ia4.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x132B50", "0x1A2D8"]}},
"textures/132B50_1A4D8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1A4D8"]}},
"textures/132B50_1A6D8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1A6D8"]}},
"textures/132B50_1A8D8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1A8D8"]}},
"textures/132B50_1AAD8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1AAD8"]}},
"textures/132B50_1ACD8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1ACD8"]}},
"textures/132B50_1AED8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1AED8"]}},
"textures/132B50_1B0D8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1B0D8"]}},
"textures/132B50_1B2D8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1B2D8"]}},
"textures/132B50_1B4D8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1B4D8"]}},
"textures/132B50_1B6D8.rgba16.ci8.png": {"meta":{"dims":[32,32], "pal":"0x1A4D8"}, "offsets": {"us":["0x132B50", "0x1B6D8"]}},
"textures/132B50_1BAD8.rgba16.ci8.png": {"meta":{"dims":[32,32], "pal":"0x1A6D8"}, "offsets": {"us":["0x132B50", "0x1BAD8"]}},
"textures/132B50_1BED8.rgba16.ci8.png": {"meta":{"dims":[32,32], "pal":"0x1A8D8"}, "offsets": {"us":["0x132B50", "0x1BED8"]}},
@ -12187,6 +12209,25 @@
"textures/132B50_1D2D8.rgba16.ci8.png": {"meta":{"dims":[32,32], "pal":"0x1B2D8"}, "offsets": {"us":["0x132B50", "0x1D2D8"]}},
"textures/132B50_1D6D8.rgba16.ci8.png": {"meta":{"dims":[32,32], "pal":"0x1B4D8"}, "offsets": {"us":["0x132B50", "0x1D6D8"]}},
"textures/132B50_1DAD8.rgba16.ci8.png": {"meta":{"dims":[32,32], "pal":"0x1B4D8"}, "offsets": {"us":["0x132B50", "0x1DAD8"]}},
"textures/132B50_1DAD8.rgba16.ci8.bin": {"meta":{"size":"0x400"}, "offsets": {"us":["0x132B50", "0x1DAD8"]}},
"textures/132B50_1DED8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1DED8"]}},
"textures/132B50_1E0D8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1E0D8"]}},
"textures/132B50_1E2D8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1E2D8"]}},
"textures/132B50_1E4D8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1E4D8"]}},
"textures/132B50_1E6D8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1E6D8"]}},
"textures/132B50_1E8D8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1E8D8"]}},
"textures/132B50_1EAD8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1EAD8"]}},
"textures/132B50_1ECD8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1ECD8"]}},
"textures/132B50_1EED8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1EED8"]}},
"textures/132B50_1F0D8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1F0D8"]}},
"textures/132B50_1F2D8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1F2D8"]}},
"textures/132B50_1F4D8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1F4D8"]}},
"textures/132B50_1F6D8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1F6D8"]}},
"textures/132B50_1F8D8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1F8D8"]}},
"textures/132B50_1FAD8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1FAD8"]}},
"textures/132B50_1FCD8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x1FCD8"]}},
"textures/132B50_1FED8.rgba16.ci8.png": {"meta":{"dims":[40,32], "pal":"0x1DED8"}, "offsets": {"us":["0x132B50", "0x1FED8"]}},
"textures/132B50_203D8.rgba16.ci8.png": {"meta":{"dims":[40,32], "pal":"0x1E0D8"}, "offsets": {"us":["0x132B50", "0x203D8"]}},
"textures/132B50_208D8.rgba16.ci8.png": {"meta":{"dims":[40,32], "pal":"0x1E2D8"}, "offsets": {"us":["0x132B50", "0x208D8"]}},
@ -12203,24 +12244,33 @@
"textures/132B50_23FD8.rgba16.ci8.png": {"meta":{"dims":[40,32], "pal":"0x1F8D8"}, "offsets": {"us":["0x132B50", "0x23FD8"]}},
"textures/132B50_244D8.rgba16.ci8.png": {"meta":{"dims":[40,32], "pal":"0x1FAD8"}, "offsets": {"us":["0x132B50", "0x244D8"]}},
"textures/132B50_249D8.rgba16.ci8.png": {"meta":{"dims":[40,32], "pal":"0x1FCD8"}, "offsets": {"us":["0x132B50", "0x249D8"]}},
"textures/132B50_260D8.rgba16.ci8.png": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x260D8"]}},
"textures/132B50_26558.rgba16.ci8.png": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x26558"]}},
"textures/132B50_269D8.rgba16.ci8.png": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x269D8"]}},
"textures/132B50_26E58.rgba16.ci8.png": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x26E58"]}},
"textures/132B50_272D8.rgba16.ci8.png": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x272D8"]}},
"textures/132B50_27758.rgba16.ci8.png": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x27758"]}},
"textures/132B50_27BD8.rgba16.ci8.png": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x27BD8"]}},
"textures/132B50_28058.rgba16.ci8.png": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x28058"]}},
"textures/132B50_284D8.rgba16.ci8.png": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x284D8"]}},
"textures/132B50_28958.rgba16.ci8.png": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x28958"]}},
"textures/132B50_24ED8_tlut.rgba16.bin": {"meta":{"size":"0x1000"}, "offsets": {"us":["0x132B50", "0x24ED8"]}},
"textures/132B50_25ED8_tlut.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x25ED8"]}},
"textures/132B50_260D8.rgba16.ci8.bin": {"meta":{"size":"0x480"}, "offsets": {"us":["0x132B50", "0x260D8"]}},
"textures/132B50_26558.rgba16.ci8.bin": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x26558"]}},
"textures/132B50_269D8.rgba16.ci8.bin": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x269D8"]}},
"textures/132B50_26E58.rgba16.ci8.bin": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x26E58"]}},
"textures/132B50_272D8.rgba16.ci8.bin": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x272D8"]}},
"textures/132B50_27758.rgba16.ci8.bin": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x27758"]}},
"textures/132B50_27BD8.rgba16.ci8.bin": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x27BD8"]}},
"textures/132B50_28058.rgba16.ci8.bin": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x28058"]}},
"textures/132B50_284D8.rgba16.ci8.bin": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x284D8"]}},
"textures/132B50_28958.rgba16.ci8.bin": {"meta":{"dims":[24,48], "pal":"0x25ED8"}, "offsets": {"us":["0x132B50", "0x28958"]}},
"textures/132B50_28DD8.rgba16.png": {"meta":{"dims":[32,16]}, "offsets": {"us":["0x132B50", "0x28DD8"]}},
"textures/132B50_291D8.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x291D8"]}},
"textures/132B50_293D8.i8.png": {"meta":{"dims":[8,16]}, "offsets": {"us":["0x132B50", "0x293D8"]}},
"textures/132B50_293D8.i4.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x293D8"]}},
"textures/132B50_29458.i8.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x132B50", "0x29458"]}},
"textures/132B50_29858.rgba16.ci8.png": {"meta":{"dims":[32,32], "pal":"0x2A858"}, "offsets": {"us":["0x132B50", "0x29858"]}},
"textures/132B50_29C58.rgba16.ci8.png": {"meta":{"dims":[32,32], "pal":"0x2A858"}, "offsets": {"us":["0x132B50", "0x29C58"]}},
"textures/132B50_2A058.rgba16.ci8.png": {"meta":{"dims":[32,32], "pal":"0x2A858"}, "offsets": {"us":["0x132B50", "0x2A058"]}},
"textures/132B50_2A458.rgba16.ci8.png": {"meta":{"dims":[32,32], "pal":"0x2A858"}, "offsets": {"us":["0x132B50", "0x2A458"]}},
"textures/132B50_29C58.rgba16.ci8.bin": {"meta":{"size":"0x400"}, "offsets": {"us":["0x132B50", "0x29C58"]}},
"textures/132B50_2A058.rgba16.ci8.bin": {"meta":{"size":"0x400"}, "offsets": {"us":["0x132B50", "0x2A058"]}},
"textures/132B50_2A458.rgba16.ci8.bin": {"meta":{"size":"0x400"}, "offsets": {"us":["0x132B50", "0x2A458"]}},
"textures/132B50_2A858_tlut.rgba16.bin": {"meta":{"size":"0x200"}, "offsets": {"us":["0x132B50", "0x2A858"]}},
"textures/132B50_2AA58.rgba16.png": {"meta":{"dims":[16,16]}, "offsets": {"us":["0x132B50", "0x2AA58"]}},
"textures/132B50_2AC58.i8.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x132B50", "0x2AC58"]}},
"textures/132B50_2B058.i8.png": {"meta":{"dims":[32,32]}, "offsets": {"us":["0x132B50", "0x2B058"]}},

View File

@ -1,9 +0,0 @@
# Mario Kart 64 (U) disassembly and split file
# generated by n64split v0.4a - N64 ROM splitter
.include "macros.inc"
.data
.align 2, 0x00
.incbin "bin/common_textures.mio0"

View File

@ -14,35 +14,35 @@
#glabel D_802B8CE8
#.word 0xbc000002, 0x80000040
glabel D_802B8CF0
.word 0xb7000000, 0x00002000
glabel D_802B8CF8
.word 0xb6000000, 0x00002000
glabel D_802B8D00
.word 0xbe000000, 0x00000140
glabel D_802B8D08
.word 0xfc121824, 0xff33ffff
glabel D_802B8D10
.word 0xfc127e24, 0xfffff3f9
glabel D_802B8D18
.word 0xfcffffff, 0xfffe793c
glabel D_802B8D20
.word 0xfc127e24, 0xfffff3f9
glabel D_802B8D28
.word 0xfcffffff, 0xfffcf279
#glabel D_802B8CF0
#.word 0xb7000000, 0x00002000
#glabel D_802B8CF8
#.word 0xb6000000, 0x00002000
#glabel D_802B8D00
#.word 0xbe000000, 0x00000140
#glabel D_802B8D08
#.word 0xfc121824, 0xff33ffff
#glabel D_802B8D10
#.word 0xfc127e24, 0xfffff3f9
#glabel D_802B8D18
#.word 0xfcffffff, 0xfffe793c
#glabel D_802B8D20
#.word 0xfc127e24, 0xfffff3f9
#glabel D_802B8D28
#.word 0xfcffffff, 0xfffcf279
glabel D_802B8D30
.word 0xb900031d, 0x00552078
glabel D_802B8D38
.word 0xb900031d, 0x00553078
glabel D_802B8D40
.word 0xb900031d, 0x005049d8
glabel D_802B8D48
.word 0xb900031d, 0x00442d58
glabel D_802B8D50
.word 0xb900031d, 0x00404dd8
glabel D_802B8D58
.word 0xe8000000, 0x00000000
#glabel D_802B8D30
#.word 0xb900031d, 0x00552078
#glabel D_802B8D38
#.word 0xb900031d, 0x00553078
#glabel D_802B8D40
#.word 0xb900031d, 0x005049d8
#glabel D_802B8D48
#.word 0xb900031d, 0x00442d58
#glabel D_802B8D50
#.word 0xb900031d, 0x00404dd8
#glabel D_802B8D58
#.word 0xe8000000, 0x00000000
glabel D_802B8D60
.word 0xe8000000, 0x00000000
glabel D_802B8D68

View File

@ -59,34 +59,38 @@ glabel D_80284E94
.word 0x00000000
glabel D_80284ED0
.word 0x01020304, 0x05060700, 0x00000000, 0x00000000
.word 0xBA001402, 0x00000000, 0xBA001701, 0x00800000
.word 0xBA001001, 0x00000000, 0xBA000E02, 0x00000000
.word 0xBA001102, 0x00000000, 0xBA001301, 0x00080000
.word 0xBA000C02, 0x00002000, 0xBA000903, 0x00000C00
.word 0xBA000801, 0x00000000, 0xB9000002, 0x00000000
.word 0xBA000602, 0x000000C0, 0xBA000602, 0x00000000
.word 0xB900031D, 0x0F0A4000, 0xFCFFFFFF, 0xFFFE793C
.word 0xB6000000, 0x001F3000, 0xB7000000, 0x00000204
.word 0xBB000000, 0x00000000, 0xB8000000, 0x00000000
.word 0xFC121824, 0xFF33FFFF, 0xB900031D, 0x00552078
.word 0xBB000001, 0xFFFFFFFF, 0x06000000, 0x070067E8
.word 0x06000000, 0x0700AEF8, 0x06000000, 0x07001438
.word 0x06000000, 0x0700A970, 0x06000000, 0x07000CE0
.word 0x06000000, 0x07000E88, 0x06000000, 0x0700A618
.word 0x06000000, 0x0700AC30, 0x06000000, 0x07003728
.word 0x06000000, 0x070036B8, 0x06000000, 0x07003628
.word 0x06000000, 0x07003540, 0x06000000, 0x07003DC0
.word 0x06000000, 0x07003E50, 0x06000000, 0x07003F18
.word 0x06000000, 0x070050B0, 0x06000000, 0x07005138
.word 0x06000000, 0x070055D0, 0x06000000, 0x07005B50
.word 0x06000000, 0x07005C00, 0x06000000, 0x07005D18
.word 0x06000000, 0x07005DC8, 0x06000000, 0x07005EF8
.word 0x06000000, 0x07005740, 0x06000000, 0x070057F0
.word 0x06000000, 0x070058E8, 0x06000000, 0x07001788
.word 0x06000000, 0x07001AA0, 0x06000000, 0x07001A30
.word 0x06000000, 0x070023F8, 0x06000000, 0x07002478
.word 0x06000000, 0x07003790, 0xFC127E24, 0xFFFFF3F9
.word 0xB900031D, 0x00553078, 0x06000000, 0x070006D0
.word 0x06000000, 0x070004D0, 0x06000000, 0x07000840
.word 0xB8000000
.word 0x01020304, 0x05060700,
#.word 0x00000000 # padding
# start of DLs see 128480.bin
#.word 0xBA001402, 0x00000000, 0xBA001701, 0x00800000
#.word 0xBA001001, 0x00000000, 0xBA000E02, 0x00000000
#.word 0xBA001102, 0x00000000, 0xBA001301, 0x00080000
#.word 0xBA000C02, 0x00002000, 0xBA000903, 0x00000C00
#.word 0xBA000801, 0x00000000, 0xB9000002, 0x00000000
#.word 0xBA000602, 0x000000C0, 0xBA000602, 0x00000000
#.word 0xB900031D, 0x0F0A4000, 0xFCFFFFFF, 0xFFFE793C
#.word 0xB6000000, 0x001F3000, 0xB7000000, 0x00000204
#.word 0xBB000000, 0x00000000, 0xB8000000, 0x00000000
#.word 0xFC121824, 0xFF33FFFF, 0xB900031D, 0x00552078
#.word 0xBB000001, 0xFFFFFFFF, 0x06000000, 0x070067E8
#.word 0x06000000, 0x0700AEF8, 0x06000000, 0x07001438
#.word 0x06000000, 0x0700A970, 0x06000000, 0x07000CE0
#.word 0x06000000, 0x07000E88, 0x06000000, 0x0700A618
#.word 0x06000000, 0x0700AC30, 0x06000000, 0x07003728
#.word 0x06000000, 0x070036B8, 0x06000000, 0x07003628
#.word 0x06000000, 0x07003540, 0x06000000, 0x07003DC0
#.word 0x06000000, 0x07003E50, 0x06000000, 0x07003F18
#.word 0x06000000, 0x070050B0, 0x06000000, 0x07005138
#.word 0x06000000, 0x070055D0, 0x06000000, 0x07005B50
#.word 0x06000000, 0x07005C00, 0x06000000, 0x07005D18
#.word 0x06000000, 0x07005DC8, 0x06000000, 0x07005EF8
#.word 0x06000000, 0x07005740, 0x06000000, 0x070057F0
#.word 0x06000000, 0x070058E8, 0x06000000, 0x07001788
#.word 0x06000000, 0x07001AA0, 0x06000000, 0x07001A30
#.word 0x06000000, 0x070023F8, 0x06000000, 0x07002478
#.word 0x06000000, 0x07003790, 0xFC127E24, 0xFFFFF3F9
#.word 0xB900031D, 0x00553078, 0x06000000, 0x070006D0
#.word 0x06000000, 0x070004D0, 0x06000000, 0x07000840
#.word 0xB8000000

View File

@ -190,10 +190,15 @@ def main():
print("extracting", asset)
if "size" in meta:
# TODO: hack for extracting raw binary from MIO0 block
if magic == b"MIO0":
# hack to build common_textures. Requires more altering to use .bin in general in a mio0 file.
if assets[0][0].endswith(".bin") and rom_offset == int("0x132B50", 16):
size = int(meta["size"], 0)
elif magic == b"MIO0":
size = len(image)
else:
size = int(meta["size"], 0)
elif "dims" in meta:
w, h = meta["dims"]
pixels = w * h

View File

@ -2172,30 +2172,27 @@ typedef union {
_g->words.w1 = __gsSP1Quadrangle_w2f(v0, v1, v2, v3, flag); \
}
// unmodified gsSP1Quadrangle
#ifdef NON_MATCHING_GBI
// Unmodified gsSP1Quadrangle
#define gsSP1Quadrangle(v0, v1, v2, v3, flag) \
{{ \
(_SHIFTL(G_TRI2, 24, 8)| \
__gsSP1Quadrangle_w1f(v0, v1, v2, v3, flag)), \
__gsSP1Quadrangle_w2f(v0, v1, v2, v3, flag) \
}}
#else
/**
* Modified to match startup_logo.inc.c
* Likely due to a development version of gbi.h
*/
#define __mk_gsSP1Triangle_w1(v0, v1, v2, v3) \
(_SHIFTL((v3)*2,24,8)|_SHIFTL((v0)*2,16,8)|_SHIFTL((v1)*2,8,8)|_SHIFTL((v2)*2,0,8))
(_SHIFTL((v3)*2,24,8)|_SHIFTL((v0)*2,16,8)|\
_SHIFTL((v1)*2,8,8)|_SHIFTL((v2)*2,0,8))
#define gsSP1Quadrangle(v0, v1, v2, v3) \
#define mk_gsSP1Quadrangle(v0, v1, v2, v3) \
{{ \
_SHIFTL(G_QUAD, 24, 8), \
__mk_gsSP1Triangle_w1(v0, v1, v2, v3) \
}}
#endif /* NON_MATCHING */
#endif /* F3DEX_GBI_2 */
#if (defined(F3DLP_GBI)||defined(F3DEX_GBI))

View File

@ -320,7 +320,7 @@ SECTIONS
BEGIN_NOLOAD(code_8028DF00) {
BUILD_DIR/src/code_8028DF00.o(.bss);
BUILD_DIR/asm/bss_8028DF00.o(.bss);
BUILD_DIR/src/code_80296A50.o(.bss);
BUILD_DIR/src/memory.o(.bss);
BUILD_DIR/src/framebuffers.o(.bss*);
BUILD_DIR/src/audio/synthesis.o(.bss*);
@ -346,6 +346,7 @@ SECTIONS
BUILD_DIR/src/code_80281FA0.o(.text);
BUILD_DIR/src/code_80280650.o(.data);
BUILD_DIR/data/data_credits_128480.o(.data);
BUILD_DIR/src/dl_unk_80284EE0.inc.o(.data);
BUILD_DIR/src/credits_01.inc.o(.data);
BUILD_DIR/data/data_credits_128480_1.o(.data);
}
@ -377,7 +378,7 @@ SECTIONS
/* common textures, decompressed and set as segment 0x0D */
BEGIN_SEG(common_textures, 0x0D000000)
{
BUILD_DIR/data/common_textures.mio0.o(.data);
BUILD_DIR/src/common_textures.inc.mio0.o(.data);
. = ALIGN(0x10);
}
END_SEG(common_textures)

View File

@ -3,6 +3,7 @@
#include "types.h"
#include "variables.h"
#include <defines.h>
#include <config.h>
#include "code_80281780.h"
@ -10,6 +11,18 @@ extern Camera cameras[];
extern s32 gPrevLoadedAddress;
/*
extern Gfx D_070067E8[];
extern Gfx D_0700AEF8[];
extern Gfx D_0700A970[];
extern Gfx D_0700AC30[];
extern Gfx D_07000CE0[];
extern Gfx D_07000E88[];
extern Gfx D_0700A618[];
extern Gfx D_070023F8[];
extern Gfx D_07002478[];
*/
// unk4 is buttonDown?
void func_80281780(void) {
if (gEnableDebugMode != 0) {
@ -86,8 +99,8 @@ void load_ending_sequence_royalraceway(void) {
func_802A74BC();
camera->unk30 = 60.0f;
D_80150130[0] = 60.0f;
D_800DC5EC->screenWidth = 320;
D_800DC5EC->screenHeight = 240;
D_800DC5EC->screenWidth = SCREEN_WIDTH;
D_800DC5EC->screenHeight = SCREEN_HEIGHT;
D_800DC5EC->screenStartX = 160;
D_800DC5EC->screenStartY = 120;
gScreenModeSelection = SCREEN_MODE_1P;
@ -115,6 +128,8 @@ void load_ending_sequence_royalraceway(void) {
D_800DC5BC = (u16)0;
D_800DC5C8 = (u16)0;
D_8015F580 = (s32) gPrevLoadedAddress;
// @bug these segmented addresses need to be symbols for mobility
// This syntax is required to match
func_802AF5AC(0x70067E8, -1);
func_802AF5AC(0x700AEF8, -1);
func_802AF5AC(0x700A970, 8);

View File

@ -51,20 +51,20 @@ void func_80282048(void) {
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80282008(f32 *); // extern
// ? func_80282008(f32 *); // extern
f32 sins(u16); // extern
f32 coss(s32); // extern
f32 coss(u16); // extern
void func_80282050(Vec3f arg0, UNUSED f32 arg1, u16 arg2) {
f32 sp2C;
f32 sp28;
UNUSED void func_80282050(Vec3f arg0, UNUSED f32 arg1, u16 arg2) {
Vec3f sp20;
Vec3f sp30;
// f32 sp28 = sins(arg2);
func_80282008(&sp2C);
sp28 = sins(arg2);
arg0[0] = (coss(arg2 & 0xFFFF) * sp2C) + (sp34 * sp28);
arg0[1] = sp30;
sp28 = coss(arg2 & 0xFFFF);
arg0[2] = (sp34 * sp28) - (sins(arg2 & 0xFFFF) * sp2C);
func_80282008(arg0, sp30);
arg0[0] = (coss(arg2 & 0xFFFF) * sp20[2]) + (sp30[1] * sins(arg2));
arg0[1] = sp30[0];
// sp28 = coss(arg2 & 0xFFFF);
arg0[2] = (sp30[1] * coss(arg2 & 0xFFFF)) - (sins(arg2 & 0xFFFF) * sp20[2]);
}
#else
GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80282050.s")
@ -73,10 +73,10 @@ GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80282050.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80282008(f32 *); // extern
f32 sins(s32); // extern
f32 sins(u16); // extern
f32 coss(u16); // extern
void func_802820F8(void *arg0, u16 arg2) {
UNUSED void func_802820F8(void *arg0, u16 arg2) {
f32 sp2C;
f32 sp28;
@ -91,7 +91,8 @@ void func_802820F8(void *arg0, u16 arg2) {
GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_802820F8.s")
#endif
s32 func_802821A0(f32* arg0, f32 arg1, f32 arg2) {
// Called just before fish shoots trophy at awards cutscene.
s32 func_802821A0(f32 *arg0, f32 arg1, f32 arg2) {
if (arg2 > 1.0f) {
arg2 = 1.0f;
}
@ -227,7 +228,7 @@ GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80282454.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
f32 sins(u16); // extern
f32 coss(s32); // extern
f32 coss(u16); // extern
void func_80282504(void *arg0, void *arg1, f32 arg2, s32 arg3, u16 arg4) {
f32 sp24;
@ -801,7 +802,7 @@ GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80283430.s")
s32 func_8028336C(? *, ? *); // extern
? func_80283428(); // extern
? func_80284AE8(? *); // extern
f32 sins(f32, s32); // extern
f32 sins(u16); // extern
f32 coss(u16); // extern
extern s32 D_802876D8;
extern ? D_802876E0;

View File

@ -17,10 +17,10 @@ s32 func_802B4FF8(Mat4, s32);
void func_802B5F74(Mat4, Vec3f, Vec3s);
void func_802B5F00(Mat4, f32);
void mtxf_translate(Mat4, Vec3f); /* extern */
void func_802B52BC(Vec3s, s16, s16, s16);
void load_giant_egg(Vec3f, f32, f32, f32);
s16 func_8029EC88(Vec3f, Vec3s, Vec3f, s16);
extern struct Actor *D_802BA05C;
extern Player gPlayers[];
extern Player *gPlayerOne;
@ -37,6 +37,20 @@ extern f32 D_80150130[];
extern u16 D_801637B8[];
extern Lights1 D_800DC610[];
extern f32 gCourseDirection;
extern uintptr_t gSegmentTable[];
extern s8 D_0D004E38[];
s32 D_802BA050;
s32 D_802BA054;
s32 D_802BA058;
struct Actor *D_802BA05C;
s8 D_802BA060[512]; // tlut 256
u16 D_802BA260;
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
? func_8000EE58(u16, void *, u16, s32); /* extern */
@ -423,70 +437,77 @@ void func_802972B8(Camera *arg0, struct Actor *arg1) {
}
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
s32 func_802B4FF8(? *, ?); /* extern */
? mtxf_translate(? *, ? *); /* extern */
extern ? D_0D001C20;
extern ? D_0D001C88;
extern s8 D_0D001C20[];
extern s8 D_0D001C88[];
extern s8 D_0D001B90[];
extern s8 D_0D001BD8[];
extern s32 D_800DC50C;
extern ? D_8015F8D0;
extern Vec3f D_8015F8D0;
extern s32 D_801625EC;
extern s32 D_801625F0;
extern s32 D_801625F4;
static u16 D_800DC5BC; /* type too large by 2; unable to generate initializer */
extern u16 D_800DC5BC;
void func_80297340(Camera *arg0) {
? sp38;
s16 sp36;
void *temp_v0;
void *temp_v0_2;
void *temp_v0_3;
void *temp_v0_4;
void *temp_v0_5;
void *temp_v0_6;
Mat4 sp38;
s16 temp = D_8015F8D0[2];
sp36 = D_8015F8D0.unk8;
if ((D_800DC50C != CREDITS_SEQUENCE) && (mtxf_translate(&sp38, &D_8015F8D0), (func_802B4FF8(&sp38, 0) != 0))) {
if (sp36 < arg0->unk_08) {
if (D_800DC50C == CREDITS_SEQUENCE) { return; }
mtxf_translate(sp38, D_8015F8D0);
if (func_802B4FF8(sp38, 0) == 0) { return; }
if (temp < arg0->pos[2]) {
if (D_800DC5BC != 0) {
temp_v0 = gDisplayListHead;
gDisplayListHead = temp_v0 + 8;
temp_v0->unk0 = 0xF8000000;
temp_v0->unk_04 = (D_801625EC << 0x18) | ((D_801625F4 & 0xFF) << 0x10) | ((D_801625F0 & 0xFF) << 8) | 0xFF;
temp_v0_2 = gDisplayListHead;
gDisplayListHead = temp_v0_2 + 8;
temp_v0_2->unk0 = 0x6000000;
temp_v0_2->unk_04 = &D_0D001C20;
return;
gDPSetFogColor(gDisplayListHead++, D_801625EC, D_801625F4, D_801625F0, 0xFF);
gSPDisplayList(gDisplayListHead++, &D_0D001C20);
} else {
gSPDisplayList(gDisplayListHead++, &D_0D001B90);
}
temp_v0_3 = gDisplayListHead;
gDisplayListHead = temp_v0_3 + 8;
temp_v0_3->unk_04 = 0xD001B90;
temp_v0_3->unk0 = 0x6000000;
return;
}
if (D_800DC5BC != 0) {
temp_v0_4 = gDisplayListHead;
gDisplayListHead = temp_v0_4 + 8;
temp_v0_4->unk0 = 0xF8000000;
temp_v0_4->unk_04 = (D_801625EC << 0x18) | ((D_801625F4 & 0xFF) << 0x10) | ((D_801625F0 & 0xFF) << 8) | 0xFF;
temp_v0_5 = gDisplayListHead;
gDisplayListHead = temp_v0_5 + 8;
temp_v0_5->unk0 = 0x6000000;
temp_v0_5->unk_04 = &D_0D001C88;
return;
}
temp_v0_6 = gDisplayListHead;
gDisplayListHead = temp_v0_6 + 8;
temp_v0_6->unk_04 = 0xD001BD8;
temp_v0_6->unk0 = 0x6000000;
/* Duplicate return node #9. Try simplifying control flow for better match */
} else if (D_800DC5BC != 0) {
gDPSetFogColor(gDisplayListHead++, D_801625EC, D_801625F4, D_801625F0, 0xFF);
gSPDisplayList(gDisplayListHead++, &D_0D001C88);
} else {
gSPDisplayList(gDisplayListHead++, &D_0D001BD8);
}
}
#ifdef NON_MATCHING
// Possibly gDPLoadTextureBlock
UNUSED void func_80297524(intptr_t addr, s32 a, s32 b) {
gDPSetTextureImage(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, addr);
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD);
gDPLoadSync(gDisplayListHead++);
/*
if (temp_t4 < 0x7FF) {
phi_a0 = temp_t4;
} else {
phi_a0 = 0x7FF;
}
temp_t1 = arg1 * 2;
temp_v0_4 = temp_t1 / 8;
phi_t2 = temp_v0_4;
if (temp_v0_4 <= 0) {
phi_t2 = 1;
}
if (temp_v0_4 <= 0) {
phi_t3 = 1;
} else {
phi_t3 = temp_v0_4;
}
*/
gDPLoadBlock(gDisplayListHead++, G_TX_LOADTILE, 0, 0, 0, 0);
gDPPipeSync(gDisplayListHead++);
gDPSetTile(gDisplayListHead++, G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0x0000, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOLOD);
gDPSetTileSize(gDisplayListHead++, G_TX_RENDERTILE, 0, 0, 0, 0);
}
#else
GLOBAL_ASM("asm/non_matchings/code_actors/func_80297340.s")
GLOBAL_ASM("asm/non_matchings/code_actors/func_80297524.s")
#endif
void func_802976D8(Vec3s arg0) {
@ -540,9 +561,11 @@ void func_802977E4(Player *arg0) {
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_0D004E38;
extern s16 D_802BA060;
extern ? gSegmentTable;
//extern ? D_0D004E38;
//extern s16 D_802BA060;
//extern ? gSegmentTable;
extern s8 D_0D004E38[];
void func_80297818(void) {
s16 *temp_v0;
@ -555,11 +578,13 @@ void func_80297818(void) {
s16 *phi_v1;
s16 *phi_v0;
s32 phi_a1;
phi_v1 = *(&gSegmentTable + ((&D_0D004E38 >> 0x18) * 4)) + (&D_0D004E38 & 0xFFFFFF) + 0x80000000;
s32 i;
phi_v1 = &gSegmentTable[D_0D004738[0] + D_0D004C68[0x1D0] & 0xFFFFFF] + 0x80000000;
//phi_v1 = *(&gSegmentTable + ((&D_0D004E38 >> 0x18) * 4)) + (&D_0D004E38 & 0xFFFFFF) + 0x80000000;
phi_v0 = &D_802BA060;
phi_a1 = 0;
do {
for (i = 0; i < 100; i++) {
//do {
temp_a0 = *phi_v1;
temp_a1 = phi_a1 + 4;
temp_v1 = phi_v1 + 8;
@ -574,7 +599,7 @@ void func_80297818(void) {
phi_v1 = temp_v1;
phi_v0 = temp_v0;
phi_a1 = temp_a1;
} while (temp_a1 != 0x100);
} //while (temp_a1 != 0x100);
}
#else
GLOBAL_ASM("asm/non_matchings/code_actors/func_80297818.s")
@ -609,67 +634,47 @@ void func_802979F8(struct Actor *arg0, f32 arg1) {
}
}
#ifdef MIPS_TO_C
//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd
s32 func_802B4FF8(f32 (*)[4], ?); /* extern */
f32 func_802B80D0(f32 *, u16, ?, f32, f32); /* extern */
extern ? D_06013C00;
extern ? D_06013CA0;
extern ? D_06013D20;
extern ? D_06013DA0;
extern ? D_06013E20;
extern ? D_80150130;
static f32 D_802B95F8 = 4000000.0f;
extern s8 D_06013C00[];
extern s8 D_06013CA0[];
extern s8 D_06013D20[];
extern s8 D_06013DA0[];
extern s8 D_06013E20[];
extern f32 D_802B95F8;
void func_80297A50(Camera *camera, f32 (*arg1)[4], struct Actor *arg2) {
Gfx *temp_v0;
Gfx *temp_v0_2;
Gfx *temp_v0_3;
Gfx *temp_v0_4;
Gfx *temp_v0_5;
#ifdef MISSING_RODATA // jpt_802B95FC
void func_80297A50(Camera *camera, Mat4 arg1, struct Actor *arg2) {
u16 temp_t0;
f32 temp = func_802B80D0(camera->pos, arg2->unk18, camera->rotX[1], 0, D_80150130[camera - camera1], D_802B95F8);
if (!(func_802B80D0(arg2->pos, (u16) camera->rotX2, 0, *(&D_80150130 + (((s32) (camera - camera1) / 184) * 4)), D_802B95F8) < 0.0f) && (arg1->unk30 = (f32) arg2->pos[0], arg1->unk34 = (f32) arg2->pos[1], arg1->unk38 = (f32) arg2->pos[2], (func_802B4FF8(arg1, 0) != 0))) {
temp_t0 = (u16) arg2->state;
if (temp < 0.0f) { return; }
arg1[3][0] = arg2->unk18[0];
arg1[3][1] = arg2->unk18[1];
arg1[3][2] = arg2->unk18[2];
if (func_802B4FF8(arg1, 0) != 0) { return; }
temp_t0 = arg2->unk6;
switch (temp_t0) {
case 0:
temp_v0 = gDisplayListHead;
gDisplayListHead = temp_v0 + 8;
temp_v0->words.w0 = 0x06000000;
temp_v0->words.w1 = (u32) &D_06013C00;
return;
gSPDisplayList(gDisplayListHead++, D_06013C00);
break;
case 1:
temp_v0_2 = gDisplayListHead;
gDisplayListHead = temp_v0_2 + 8;
temp_v0_2->words.w0 = 0x06000000;
temp_v0_2->words.w1 = (u32) &D_06013CA0;
return;
gSPDisplayList(gDisplayListHead++, D_06013CA0);
break;
case 2:
temp_v0_3 = gDisplayListHead;
gDisplayListHead = temp_v0_3 + 8;
temp_v0_3->words.w0 = 0x06000000;
temp_v0_3->words.w1 = (u32) &D_06013D20;
return;
gSPDisplayList(gDisplayListHead++, D_06013D20);
break;
case 3:
temp_v0_4 = gDisplayListHead;
gDisplayListHead = temp_v0_4 + 8;
temp_v0_4->words.w0 = 0x06000000;
temp_v0_4->words.w1 = (u32) &D_06013DA0;
return;
gSPDisplayList(gDisplayListHead++, D_06013DA0);
break;
case 4:
temp_v0_5 = gDisplayListHead;
gDisplayListHead = temp_v0_5 + 8;
temp_v0_5->words.w0 = 0x06000000;
temp_v0_5->words.w1 = (u32) &D_06013E20;
gSPDisplayList(gDisplayListHead++, D_06013E20);
break;
}
} else {
default:
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_actors/func_80297A50.s")
#endif
GLOBAL_ASM("asm/non_matchings/code_actors/func_80297A50.s")
extern f64 D_802B9610;
@ -707,7 +712,7 @@ void update_obj_trees_cacti_shrubs(struct Actor *arg0) {
? func_800C9060(f32, f32, s32, ?, struct KiwanoFruit *, Player **); /* extern */
s32 func_802ABD10(u16); /* extern */
extern s32 D_80162DF8;
extern ? D_80164438;
extern u16 D_80164438;
extern s32 D_80164490;
static f32 D_802B9618 = 2.3f;
static f32 D_802B961C = 0.7f;
@ -733,6 +738,103 @@ void update_obj_kiwano_fruit(struct KiwanoFruit *fruit) {
s32 temp_v0_2;
struct KiwanoFruit *temp_a2;
void *temp_v0;
/* old unfinished wip decomp
u32 temp_t7 = arg0->unk4;
Player *temp_v1 = &gPlayers[temp_t7];
void *phi_a2;
s16 phi_a0;
void *phi_a2_2;
void *phi_a2_3;
temp_a2 = arg0;
phi_a2 = temp_a2;
phi_a2_2 = temp_a2;
phi_a2_3 = temp_a2;
if (((temp_v1->unk_000 & 0x1000) != 0) || (temp_v1->unk_110.unk34 == 0)) {
arg0->unk6 = 0;
return;
}
switch(arg0->unk6) {
case 0:
//sp24 = temp_v1;
//phi_a2 = arg0;
if ((func_802ABD10(temp_v1->unk_110.unk3A, arg0) & 0xFF) == 8) {
arg0->unk6 = 1;
arg0->unk24[0] = 80.0f;
break;
case 1:
temp_v0 = D_80164490 + D_80164438[(u16)(temp_v1 - gPlayerOne)];
temp_f2 = temp_v1->pos - temp_v0->unk0;
arg0 = phi_a2;
sp20 = temp_f2;
//sp24 = temp_t7 + &gPlayers;
temp_f16 = (temp_t7 + &gPlayers)->unk18 - temp_v0->unk2;
sp1C = temp_f16;
temp_f14 = (temp_t7 + &gPlayers)->unk1C - temp_v0->unk4;
sp18 = temp_f14;
temp_a2_2 = arg0;
temp_f18 = temp_a2_2->unk24;
temp_f12 = temp_f18 / sqrtf((temp_f2 * temp_f2) + (temp_f16 * temp_f16) + (temp_f14 * temp_f14));
temp_f2_2 = temp_f2 * temp_f12;
temp_f16_2 = temp_f16 * temp_f12;
temp_a2_2->unk18 = (temp_t7 + &gPlayers)->unk14 + temp_f2_2;
temp_f14_2 = temp_f14 * temp_f12;
temp_a2_2->unk1C = (temp_t7 + &gPlayers)->unk18 + temp_f16_2;
temp_a2_2->unk24 = temp_f18 - 2.0f;
temp_a2_2->unk20 = (temp_t7 + &gPlayers)->unk1C + temp_f14_2;
phi_a2_3 = temp_a2_2;
if (temp_a2_2->unk24 <= 0.0f) {
temp_a2_2->unk6 = 2;
temp_a2_2->unk8 = 30.0f;
temp_a2_2->unk24 = 0.0f;
temp_a2_2->unk28 = D_802B9618;
temp_a2_2->unk2C = 0.0f;
temp_v0_2 = (temp_t7 + &gPlayers)->unkBC;
if ((temp_v0_2 & 0x200) != 0) {
arg0 = temp_a2_2;
func_800C9060((u8)(temp_t7 - gPlayerOne), 0x1900A052);
phi_a2_3 = arg0;
} else {
temp_f12_2 = D_802B961C;
(temp_t7 + &gPlayers)->unkBC = temp_v0_2 | 0x8000;
(temp_t7 + &gPlayers)->unk14 = (temp_t7 + &gPlayers)->unk14 - (temp_f2_2 * 4.0f);
(temp_t7 + &gPlayers)->unk1C = (temp_t7 + &gPlayers)->unk1C - (temp_f14_2 * 4.0f);
(temp_t7 + &gPlayers)->unk34 = (temp_t7 + &gPlayers)->unk34 - (temp_f2_2 * temp_f12_2);
(temp_t7 + &gPlayers)->unk3C = (temp_t7 + &gPlayers)->unk3C - (temp_f14_2 * temp_f12_2);
arg0 = temp_a2_2;
func_800C9060((u8)(temp_t7 - gPlayerOne), 0x19007018);
phi_a2_3 = arg0;
if (gModeSelection != GRAND_PRIX) {
D_80162DF8 = 1;
}
}
}
break;
case 2:
arg0->unk24[1] -= D_802B9620;
arg0->unk18[0] += arg0->unk24[0];
arg0->unk18[1] += arg0->unk24[1];
arg0->unk18[2] += arg0->unk24[2];
arg0->unk8 = arg0->unk8 - 1.0f;
if (arg0->unk8 < 0.0f) {
arg0->unk6 = 0;
}
goto block_17;
break;
}
phi_a0 = phi_a2_3->unk6;
phi_a2_2 = phi_a2_3;
if (phi_a0 != 0) {
phi_a2_2->unk12 = phi_a2_2->unk12 + 1;
if (phi_a2_2->unk12 == 8) {
phi_a2_2->unk12 = 0;
phi_a2_2->unk10 = phi_a2_2->unk10 + 1;
if (phi_a2_2->unk10 == 3) {
phi_a2_2->unk10 = 0;
*/
s16 phi_a0;
struct KiwanoFruit *phi_a2;
struct KiwanoFruit *phi_a2_2;
@ -828,6 +930,7 @@ block_17:
}
goto block_17;
}
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_actors/update_obj_kiwano_fruit.s")
@ -904,163 +1007,115 @@ void update_obj_piranha_plant(struct PiranhaPlant *arg0) {
}
}
#ifdef MIPS_TO_C
//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd
s32 func_802B4FF8(f32 (*)[4], ?); /* extern */
f32 func_802B80D0(f32 *, u16, ?, f32, f32); /* extern */
extern ? D_06006990;
extern ? D_80150130;
extern s8 D_06006990[];
extern s8 D_0600D850[];
extern f32 D_802B9624;
extern f32 D_802B9628;
extern s32 D_802BA058;
static f32 D_802B9624 = 1000000.0f;
static f32 D_802B9628 = 90000.0f;
s16 gCurrentCourseId; /* unable to generate initializer */
void func_80298328(Camera *camera, Mat4 arg1, struct PiranhaPlant *actor) {
s16 sp36;
f32 sp2C;
Gfx *temp_v0;
Gfx *temp_v0_2;
Gfx *temp_v0_3;
Gfx *temp_v0_4;
Gfx *temp_v0_5;
Gfx *temp_v0_6;
Gfx *temp_v0_7;
Gfx *temp_v0_8;
Gfx *temp_v0_9;
f32 temp_f0;
f32 temp_f2;
s32 temp_lo;
s32 temp_lo_2;
// Mario Raceway Load piranha plant textures?
void func_80298328(Camera *arg0, Mat4 arg1, struct PiranhaPlant *arg2) {
s32 pad;
s32 addr;
s16 temp_lo = arg0 - camera1;
s16 phi_t4;
s16 phi_t4_2;
s16 temp = arg2->flags;
f32 temp_f0;
if (temp & 0x800) { return; }
temp_f0 = func_802B80D0(arg0->pos, arg2->pos, arg0->rotX[1], 0, D_80150130[arg0 - camera1], D_802B9624);
temp_lo = (s32) (camera - camera1) / 184;
if ((actor->flags & 0x800) == 0) {
sp36 = (s16) temp_lo;
temp_f0 = func_802B80D0(actor->pos, (u16) camera->rotX2, 0, *(&D_80150130 + (temp_lo * 4)), D_802B9624);
temp_f2 = temp_f0;
if (temp_f0 < 0.0f) {
switch (sp36) { /* switch 2; irregular */
case 0: /* switch 2 */
actor->visibilityStates[0] = -1;
return;
case 1: /* switch 2 */
actor->visibilityStates[1] = -1;
return;
case 2: /* switch 2 */
actor->visibilityStates[2] = -1;
return;
case 3: /* switch 2 */
actor->visibilityStates[3] = -1;
return;
}
} else {
arg1->unk30 = (f32) actor->pos[0];
arg1->unk34 = (f32) actor->pos[1];
arg1->unk38 = (f32) actor->pos[2];
sp2C = temp_f2;
sp36 = sp36;
if (func_802B4FF8(arg1, 0) != 0) {
if (D_802B9628 < temp_f2) {
phi_t4 = 0;
switch (sp36) { /* switch 1; irregular */
case 0: /* switch 1 */
actor->visibilityStates[0] = 0;
break;
case 1: /* switch 1 */
actor->visibilityStates[1] = 0;
break;
case 2: /* switch 1 */
actor->visibilityStates[2] = 0;
break;
case 3: /* switch 1 */
actor->visibilityStates[3] = 0;
break;
}
} else {
switch (sp36) { /* irregular */
switch(temp_lo) {
case 0:
actor->visibilityStates[0] = 1;
arg2->visibilityStates[0] = -1;
break;
case 1:
actor->visibilityStates[1] = 1;
arg2->visibilityStates[1] = -1;
break;
case 2:
actor->visibilityStates[2] = 1;
arg2->visibilityStates[2] = -1;
break;
case 3:
actor->visibilityStates[3] = 1;
arg2->visibilityStates[3] = -1;
break;
}
if (sp36 != 0) {
if (sp36 != 1) {
if (sp36 != 2) {
if (sp36 != 3) {
phi_t4 = sp34;
} else {
phi_t4 = actor->timers[3];
}
} else {
phi_t4 = actor->timers[2];
}
} else {
phi_t4 = actor->timers[1];
}
} else {
phi_t4 = actor->timers[0];
}
}
temp_lo_2 = phi_t4 / 6;
phi_t4_2 = (s16) temp_lo_2;
if ((s16) temp_lo_2 >= 9) {
phi_t4_2 = 8;
}
temp_v0 = gDisplayListHead;
gDisplayListHead = temp_v0 + 8;
temp_v0->words.w0 = 0xFD500000;
temp_v0->words.w1 = ((phi_t4_2 << 0xB) + D_802BA058) & 0x1FFFFFFF;
temp_v0_2 = gDisplayListHead;
gDisplayListHead = temp_v0_2 + 8;
temp_v0_2->words.w0 = 0xF5500000;
temp_v0_2->words.w1 = 0x07080100;
temp_v0_3 = gDisplayListHead;
gDisplayListHead = temp_v0_3 + 8;
temp_v0_3->words.w1 = 0;
temp_v0_3->words.w0 = 0xE6000000;
temp_v0_4 = gDisplayListHead;
gDisplayListHead = temp_v0_4 + 8;
temp_v0_4->words.w1 = 0x073FF200;
temp_v0_4->words.w0 = 0xF3000000;
temp_v0_5 = gDisplayListHead;
gDisplayListHead = temp_v0_5 + 8;
temp_v0_5->words.w1 = 0;
temp_v0_5->words.w0 = 0xE7000000;
temp_v0_6 = gDisplayListHead;
gDisplayListHead = temp_v0_6 + 8;
temp_v0_6->words.w0 = 0xF5480800;
temp_v0_6->words.w1 = 0x00080100;
temp_v0_7 = gDisplayListHead;
gDisplayListHead = temp_v0_7 + 8;
temp_v0_7->words.w0 = 0xF2000000;
temp_v0_7->words.w1 = 0x0007C0FC;
if (gCurrentCourseId == 0) {
temp_v0_8 = gDisplayListHead;
gDisplayListHead = temp_v0_8 + 8;
temp_v0_8->words.w1 = (u32) &D_06006990;
temp_v0_8->words.w0 = 0x06000000;
return;
}
temp_v0_9 = gDisplayListHead;
gDisplayListHead = temp_v0_9 + 8;
temp_v0_9->words.w1 = 0x0600D850;
temp_v0_9->words.w0 = 0x06000000;
arg1[3][0] = arg2->pos[0];
arg1[3][1] = arg2->pos[1];
arg1[3][2] = arg2->pos[2];
if (func_802B4FF8(arg1, 0) == 0) { return; }
if (D_802B9628 < temp_f0) {
switch(temp_lo) {
case 0:
arg2->visibilityStates[0] = 0;
break;
case 1:
arg2->visibilityStates[1] = 0;
break;
case 2:
arg2->visibilityStates[2] = 0;
break;
case 3:
arg2->visibilityStates[3] = 0;
break;
}
phi_t4 = 0;
} else {
switch(temp_lo) {
case 0:
arg2->visibilityStates[0] = 1;
break;
case 1:
arg2->visibilityStates[1] = 1;
break;
case 2:
arg2->visibilityStates[2] = 1;
break;
case 3:
arg2->visibilityStates[3] = 1;
break;
}
switch(temp_lo) {
case 0:
phi_t4 = arg2->timers[0];
break;
case 1:
phi_t4 = arg2->timers[1];
break;
case 2:
phi_t4 = arg2->timers[2];
break;
case 3:
phi_t4 = arg2->timers[3];
break;
}
}
phi_t4 /= 6;
if (phi_t4 > 8) {
phi_t4 = 8;
}
addr = D_802BA058 + (phi_t4 << 0xB);
gDPLoadTextureBlock(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(addr), G_IM_FMT_CI, G_IM_SIZ_8b, 32, 64, 0,
G_TX_MIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
if (gCurrentCourseId == COURSE_MARIO_RACEWAY) {
gSPDisplayList(gDisplayListHead++, &D_06006990);
} else {
gSPDisplayList(gDisplayListHead++, &D_0600D850);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_actors/func_80298328.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd
@ -2349,25 +2404,22 @@ GLOBAL_ASM("asm/non_matchings/code_actors/func_8029A3AC.s")
#endif
void func_8029A3AC(Camera*, Mat4, struct Actor*); // extern
extern s8 D_0D004E38[];
void func_8029A690(Camera *arg0, Mat4 arg1, struct Actor *arg2) {
gDPLoadTLUT_pal256(gDisplayListHead++, &D_0D004E38);
func_8029A3AC(arg0, arg1, arg2);
}
extern s8 D_802BA060[];
void func_8029A75C(Camera *arg0, Mat4 arg1, struct Actor *arg2) {
gDPLoadTLUT_pal256(gDisplayListHead++, &D_802BA060);
func_8029A3AC(arg0, arg1, arg2);
}
extern s8 D_0D005038[];
extern s8 D_0D004E68[];
// Middle of a tlut access
void func_8029A828(Camera *arg0, Mat4 arg1, struct Actor *arg2) {
gDPLoadTLUT_pal256(gDisplayListHead++, &D_0D005038);
gDPLoadTLUT_pal256(gDisplayListHead++, &D_0D004E68[0x1D0]);
func_8029A3AC(arg0, arg1, arg2);
@ -3427,43 +3479,41 @@ GLOBAL_ASM("asm/non_matchings/code_actors/func_8029CA90.s")
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s32 func_8029EC88(f32 *, ? *, ? *, ?); // extern
? func_802B52BC(? *, ?, ?, ?); // extern
? load_giant_egg(? *, ?, ?, ?); // extern
extern ? D_8015F9B8;
extern f32 gCourseDirection;
extern ? gSegmentTable;
//s32 func_8029EC88(f32 *, ? *, ? *, ?); // extern
//extern ? gSegmentTable;
void place_piranha_plants(u32 arg0) {
f32 sp68;
f32 sp64;
f32 sp60;
? sp54;
? sp4C;
f32 *temp_a0;
Vec3f sp60;
//f32 sp68;
//f32 sp64;
Vec3f sp54;
Vec3s sp4C;
Vec3f temp_a0;
s16 *temp_s0;
s16 *temp_s0_2;
s16 temp_s1;
s16 temp_s1_2;
void *temp_v1;
struct piranha_plant *temp_v1;
s16 phi_s1;
s16 *phi_s0;
Vec3s *phi_s0;
temp_s0 = *(&gSegmentTable + ((arg0 >> 0x18) * 4)) + (arg0 & 0xFFFFFF) + 0x80000000;
load_giant_egg(&sp54, 0, 0, 0);
func_802B52BC(&sp4C, 0, 0, 0);
temp_s1 = *temp_s0;
phi_s1 = temp_s1;
if (temp_s1 != -0x8000) {
phi_s0 = temp_s0;
do {
temp_a0 = &sp60;
sp60 = phi_s1 * gCourseDirection;
sp64 = phi_s0->unk2;
sp68 = phi_s0->unk_04;
temp_s0 = VIRTUAL_TO_PHYSICAL2(gSegmentTable[arg0 >> 18] + SEGMENT_OFFSET(arg0));
load_giant_egg(sp54, 0, 0, 0);
func_802B52BC(sp4C, 0, 0, 0);
//temp_s1 = *temp_s0;
//phi_s1 = temp_s1;
//if (temp_s1 != -0x8000) {
//phi_s0 = temp_s0;
while (temp_s1_2 != -0x8000) {
// temp_a0 = &sp60;
sp60[0] = phi_s1 * gCourseDirection;
sp60[1] = phi_s0->unk2;
sp60[2] = phi_s0->unk4;
temp_s0_2 = phi_s0 + 8;
temp_v1 = &D_8015F9B8 + (func_8029EC88(temp_a0, &sp4C, &sp54, 0xA) * 0x70);
temp_v1->unk_04 = 0;
temp_v1 = (struct piranha_plant *) &D_8015F9B8[func_8029EC88(temp_a0, sp4C, sp54, 0xA)];
temp_v1->unk4 = 0;
temp_v1->unk6 = 0;
temp_v1->unk_08 = 0;
temp_v1->unkA = 0;
@ -3471,11 +3521,12 @@ void place_piranha_plants(u32 arg0) {
temp_v1->unk26 = 0;
temp_v1->unk28 = 0;
temp_v1->unk2A = 0;
temp_s1_2 = *temp_s0_2;
phi_s1 = temp_s1_2;
phi_s0 = temp_s0_2;
} while (temp_s1_2 != -0x8000);
//temp_s1_2 = *temp_s0_2;
//phi_s1 = temp_s1_2;
//phi_s0 = temp_s0_2;
phi_s0++;
}
//}
}
#else
GLOBAL_ASM("asm/non_matchings/code_actors/place_piranha_plants.s")
@ -4035,6 +4086,7 @@ static ? D_802B8850; /* unable to generate initia
static ? D_802B885C; /* unable to generate initializer */
static u16 gCurrentCourseId; /* type too large by 2; unable to generate initializer */
// Place course actors
void func_8029DB44(void) {
f32 sp40;
? sp34;
@ -4264,7 +4316,7 @@ void func_8029E158(void) {
u16 temp_t6;
set_segment_base_addr(3, gPrevLoadedAddress);
D_802BA050 = func_802A84F4(&D_0F04CBE0, 0x257, 0x400);
D_802BA050 = func_802A84F4(&D_0F04CBE0, 0x257, 0x400); // shell
func_802A84F4(&D_0F04CE30, 0x242, 0x400);
func_802A84F4(&D_0F04D080, 0x259, 0x400);
func_802A84F4(&D_0F04D2D8, 0x256, 0x400);
@ -5767,6 +5819,7 @@ extern f32 D_802B99D0;
extern f32 D_802B99D4;
void func_802ADDC8(UnkActorInner*, f32, f32, f32, f32);
void func_802B4E30(struct Actor*);
void update_obj_fake_item_box(struct FakeItemBox *fake_item_box) {
u32 temp_v1 = fake_item_box->playerId;
Player *temp_v0_4 = &gPlayers[temp_v1];
@ -5806,7 +5859,7 @@ void update_obj_fake_item_box(struct FakeItemBox *fake_item_box) {
temp_v1_3->buttonDepressed &= 0xDFFF;
func_802A1064(fake_item_box);
temp_v0_4->unk_00C &= 0xFFFBFFFF;
func_800C9060(((temp_v0_4 - gPlayerOne)) & 0xFF, 0x19008012);
func_800C9060((u8)(temp_v0_4 - gPlayerOne), 0x19008012);
}
}
break;
@ -6767,7 +6820,6 @@ void func_8029A23C(Camera *, Mat4, struct Actor*); /* extern */
void func_8029A75C(Camera *, Mat4, struct Actor*); /* extern */
void func_8029A828(Camera *, Mat4, struct Actor*); /* extern */
void func_8029A8F4(Camera *, Mat4, struct BananaActor*); /* extern */
void func_80298328(Camera *, Mat4, struct Actor*);
void func_8029AC18(Camera *, Mat4, struct Actor*); /* extern */
//void func_8029AE1C(Camera *, struct Actor*, Mat4, u16); /* extern */
void func_8029B06C(Camera *, struct Actor*); /* extern */
@ -6793,8 +6845,8 @@ void func_802A3008(struct UnkStruct_800DC5EC *arg0) {
struct Actor *phi_s0;
Vec3f sp4C = {0.0f, 5.0f, 10.0f};
f32 sp48 = sins((temp_s1->rotX[1] - 0x8000)); // unk26;
f32 temp_f0 = coss((temp_s1->rotX[1] - 0x8000));
f32 sp48 = sins(temp_s1->rotX[1] - 0x8000); // unk26;
f32 temp_f0 = coss(temp_s1->rotX[1] - 0x8000);
D_801502C0[0][0] = temp_f0;

2859
src/common_textures.inc.c Normal file

File diff suppressed because it is too large Load Diff

104
src/dl_unk_80284EE0.inc.c Normal file
View File

@ -0,0 +1,104 @@
#include <types.h>
#include <PR/gbi.h>
extern Gfx D_070067E8[];
extern Gfx D_0700AEF8[];
extern Gfx D_0700A970[];
extern Gfx D_0700AC30[];
extern Gfx D_07000CE0[];
extern Gfx D_07000E88[];
extern Gfx D_0700A618[];
extern Gfx D_070023F8[];
extern Gfx D_07002478[];
extern Gfx D_07001438[];
extern Gfx D_07003728[];
extern Gfx D_070036B8[];
extern Gfx D_07003628[];
extern Gfx D_07003540[];
extern Gfx D_07003DC0[];
extern Gfx D_07003E50[];
extern Gfx D_07003F18[];
extern Gfx D_070050B0[];
extern Gfx D_07005138[];
extern Gfx D_070055D0[];
extern Gfx D_07005B50[];
extern Gfx D_07005C00[];
extern Gfx D_07005D18[];
extern Gfx D_07005DC8[];
extern Gfx D_07005EF8[];
extern Gfx D_07005740[];
extern Gfx D_070057F0[];
extern Gfx D_070058E8[];
extern Gfx D_07001788[];
extern Gfx D_07001AA0[];
extern Gfx D_07001A30[];
extern Gfx D_07003790[];
extern Gfx D_070006D0[];
extern Gfx D_070004D0[];
extern Gfx D_07000840[];
// Unknown displaylists
Gfx D_80284EE0[] = {
gsDPSetCycleType(G_CYC_1CYCLE),
gsDPPipelineMode(G_PM_1PRIMITIVE),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureLUT(G_TT_NONE),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureFilter(G_TF_BILERP),
gsDPSetTextureConvert(G_TC_FILT),
gsDPSetCombineKey(G_CK_NONE),
gsDPSetAlphaCompare(G_AC_NONE),
gsDPSetColorDither(G_CD_DISABLE),
gsDPSetColorDither(G_CD_MAGICSQ),
gsDPSetRenderMode(G_RM_OPA_SURF, G_RM_OPA_SURF2),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPClearGeometryMode(G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR | G_LOD),
gsSPSetGeometryMode(G_SHADE | G_SHADING_SMOOTH),
gsSPTexture(0, 0, 0, G_TX_RENDERTILE, G_OFF),
gsSPEndDisplayList(),
};
Gfx D_80284F70[] = {
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsSPDisplayList(D_070067E8),
gsSPDisplayList(D_0700AEF8),
gsSPDisplayList(D_07001438),
gsSPDisplayList(D_0700A970),
gsSPDisplayList(D_07000CE0),
gsSPDisplayList(D_07000E88),
gsSPDisplayList(D_0700A618),
gsSPDisplayList(D_0700AC30),
gsSPDisplayList(D_07003728),
gsSPDisplayList(D_070036B8),
gsSPDisplayList(D_07003628),
gsSPDisplayList(D_07003540),
gsSPDisplayList(D_07003DC0),
gsSPDisplayList(D_07003E50),
gsSPDisplayList(D_07003F18),
gsSPDisplayList(D_070050B0),
gsSPDisplayList(D_07005138),
gsSPDisplayList(D_070055D0),
gsSPDisplayList(D_07005B50),
gsSPDisplayList(D_07005C00),
gsSPDisplayList(D_07005D18),
gsSPDisplayList(D_07005DC8),
gsSPDisplayList(D_07005EF8),
gsSPDisplayList(D_07005740),
gsSPDisplayList(D_070057F0),
gsSPDisplayList(D_070058E8),
gsSPDisplayList(D_07001788),
gsSPDisplayList(D_07001AA0),
gsSPDisplayList(D_07001A30),
gsSPDisplayList(D_070023F8),
gsSPDisplayList(D_07002478),
gsSPDisplayList(D_07003790),
gsDPSetCombineMode(G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA),
gsDPSetRenderMode(G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2),
gsSPDisplayList(D_070006D0),
gsSPDisplayList(D_070004D0),
gsSPDisplayList(D_07000840),
gsSPEndDisplayList(),
};

View File

@ -217,7 +217,7 @@ extern u8 _common_texturesSegmentRomStart[];
extern u8 _common_texturesSegmentRomEnd[];
extern u8 _data_802BA370SegmentRomStart[];
extern u32 gHeapEndPtr;
extern u32 *D_801978D0;
extern u32 *D_801978D0; // Segment? Keeps track of segmented addresses?

View File

@ -63,7 +63,6 @@ struct UnkStruct_802B8CD4 D_802B8CD4[] = {
0
};
s32 D_802B8CE4 = 0; // pad
s32 D_802B8CE8[] = {0xBC000002, 0x80000040};
s32 func_802A7B70(s32 segment) {
s32 old;
@ -488,289 +487,143 @@ void func_802A87A8(s32 arg0, u32 arg1) {
set_segment_base_addr(4, endptr);
}
UNUSED void func_802A8844(void) {
}
#else
GLOBAL_ASM("asm/non_matchings/memory/func_802A87A8.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_802B8CE8;
UNUSED void func_802A8844(void) {
}
void func_802A884C(Gfx *arg0, u8 arg1, s8 arg2) {
s32 pad;
s32 a = (arg2 * 0x18) + 0x9000008;
s32 b = (arg2 * 0x18) + 0x9000000;
Gfx macro[] = {gsSPNumLights(NUMLIGHTS_1)};
arg0[D_802BA270].words.w0 = macro->words.w0;
arg0[D_802BA270].words.w1 = macro->words.w1;
D_802BA270++;
arg0[D_802BA270].words.w0 = 0x3860010;
arg0[D_802BA270].words.w1 = a;
D_802BA270++;
arg0[D_802BA270].words.w0 = 0x3880010;
arg0[D_802BA270].words.w1 = b;
D_802BA270++;
}
void func_802A8940(Gfx *arg0, u8 *arg1, u8 arg2) {
u32 temp_v0 = arg1[D_802BA274++];
u32 temp_t7 = ((arg1[D_802BA274++]) << 8 | temp_v0) * 8;
arg0[D_802BA270].words.w0 = 0x6000000;
arg0[D_802BA270].words.w1 = 0x7000000 + temp_t7;
D_802BA270++;
}
extern s32 D_802BA270;
void func_802A884C(s32 arg0, ? arg1, s8 arg2) {
s32 temp_t2;
s32 temp_t2_2;
s32 temp_t3;
s32 temp_t4;
s32 temp_v0;
sp->unk0 = D_802B8CE8.unk0;
sp->unk4 = D_802B8CE8.unk4;
*(arg0 + (D_802BA270 * 8)) = sp0;
(arg0 + (D_802BA270 * 8))->unk4 = sp4;
temp_t2 = D_802BA270 + 1;
temp_t3 = temp_t2 * 8;
D_802BA270 = temp_t2;
*(arg0 + temp_t3) = 0x3860010;
temp_v0 = arg2 * 0x18;
(arg0 + (D_802BA270 * 8))->unk4 = temp_v0 + 0x9000008;
temp_t2_2 = D_802BA270 + 1;
temp_t4 = temp_t2_2 * 8;
D_802BA270 = temp_t2_2;
*(arg0 + temp_t4) = 0x3880010;
(arg0 + (D_802BA270 * 8))->unk4 = temp_v0 + 0x9000000;
D_802BA270 = D_802BA270 + 1;
// end display list
void func_802A89C0(Gfx *arg0, u8 arg1, u8 arg2) {
arg0[D_802BA270].words.w0 = G_ENDDL << 24;
arg0[D_802BA270].words.w1 = 0;
D_802BA270++;
}
#else
GLOBAL_ASM("asm/non_matchings/memory/func_802A884C.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern s32 D_802BA270;
extern s32 D_802BA274;
void func_802A8940(s32 arg0, s32 arg1, ? arg2) {
s32 temp_t7;
s32 temp_v1;
u8 temp_v0;
temp_v1 = D_802BA274;
temp_t7 = temp_v1 + 1;
temp_v0 = *(temp_v1 + arg1);
D_802BA274 = temp_t7;
D_802BA274 = temp_t7 + 1;
*(arg0 + (D_802BA270 * 8)) = 0x6000000;
(arg0 + (D_802BA270 * 8))->unk4 = (((*(temp_t7 + arg1) << 8) | temp_v0) * 8) + 0x7000000;
D_802BA270 = D_802BA270 + 1;
void func_802A8A04(Gfx *arg0, u8 arg1, u8 arg2) {
Gfx macro[] = {gsSPSetGeometryMode(G_CULL_BACK)};
arg0[D_802BA270].words.w0 = macro->words.w0;
arg0[D_802BA270].words.w1 = macro->words.w1;
D_802BA270++;
}
#else
GLOBAL_ASM("asm/non_matchings/memory/func_802A8940.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern s32 D_802BA270;
void func_802A89C0(s32 arg0, ? arg1, ? arg2) {
*(arg0 + (D_802BA270 * 8)) = 0xB8000000;
(arg0 + (D_802BA270 * 8))->unk4 = 0;
D_802BA270 = D_802BA270 + 1;
void func_802A8A70(Gfx *arg0, u8 arg1, u8 arg2) {
Gfx macro[] = {gsSPClearGeometryMode(G_CULL_BACK)};
arg0[D_802BA270].words.w0 = macro->words.w0;
arg0[D_802BA270].words.w1 = macro->words.w1;
D_802BA270++;
}
#else
GLOBAL_ASM("asm/non_matchings/memory/func_802A89C0.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_802B8CF0;
extern s32 D_802BA270;
void func_802A8A04(s32 arg0, ? arg1, ? arg2) {
sp->unk0 = D_802B8CF0.unk0;
sp->unk4 = D_802B8CF0.unk4;
*(arg0 + (D_802BA270 * 8)) = sp0;
(arg0 + (D_802BA270 * 8))->unk4 = sp4;
D_802BA270 = D_802BA270 + 1;
void func_802A8ADC(Gfx *arg0, u8 arg1, u8 arg2) {
Gfx macro[] = {gsSPCullDisplayList(0, 160)};
arg0[D_802BA270].words.w0 = macro->words.w0;
arg0[D_802BA270].words.w1 = macro->words.w1;
D_802BA270++;
}
#else
GLOBAL_ASM("asm/non_matchings/memory/func_802A8A04.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_802B8CF8;
extern s32 D_802BA270;
void func_802A8A70(s32 arg0, ? arg1, ? arg2) {
sp->unk0 = D_802B8CF8.unk0;
sp->unk4 = D_802B8CF8.unk4;
*(arg0 + (D_802BA270 * 8)) = sp0;
(arg0 + (D_802BA270 * 8))->unk4 = sp4;
D_802BA270 = D_802BA270 + 1;
void func_802A8B48(Gfx *arg0, u8 arg1, u8 arg2) {
Gfx macro[] = {gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA)};
arg0[D_802BA270].words.w0 = macro->words.w0;
arg0[D_802BA270].words.w1 = macro->words.w1;
D_802BA270++;
}
#else
GLOBAL_ASM("asm/non_matchings/memory/func_802A8A70.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_802B8D00;
extern s32 D_802BA270;
void func_802A8ADC(s32 arg0, ? arg1, ? arg2) {
sp->unk0 = D_802B8D00.unk0;
sp->unk4 = D_802B8D00.unk4;
*(arg0 + (D_802BA270 * 8)) = sp0;
(arg0 + (D_802BA270 * 8))->unk4 = sp4;
D_802BA270 = D_802BA270 + 1;
void func_802A8BB4(Gfx *arg0, u8 arg1, u8 arg2) {
Gfx macro[] = {gsDPSetCombineMode(G_CC_MODULATERGBDECALA, G_CC_MODULATERGBDECALA)};
arg0[D_802BA270].words.w0 = macro->words.w0;
arg0[D_802BA270].words.w1 = macro->words.w1;
D_802BA270++;
}
#else
GLOBAL_ASM("asm/non_matchings/memory/func_802A8ADC.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_802B8D08;
extern s32 D_802BA270;
void func_802A8B48(s32 arg0, ? arg1, ? arg2) {
sp->unk0 = D_802B8D08.unk0;
sp->unk4 = D_802B8D08.unk4;
*(arg0 + (D_802BA270 * 8)) = sp0;
(arg0 + (D_802BA270 * 8))->unk4 = sp4;
D_802BA270 = D_802BA270 + 1;
void func_802A8C20(Gfx *arg0, u8 arg1, u8 arg2) {
Gfx macro[] = {gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE)};
arg0[D_802BA270].words.w0 = macro->words.w0;
arg0[D_802BA270].words.w1 = macro->words.w1;
D_802BA270++;
}
#else
GLOBAL_ASM("asm/non_matchings/memory/func_802A8B48.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_802B8D10;
extern s32 D_802BA270;
void func_802A8BB4(s32 arg0, ? arg1, ? arg2) {
sp->unk0 = D_802B8D10.unk0;
sp->unk4 = D_802B8D10.unk4;
*(arg0 + (D_802BA270 * 8)) = sp0;
(arg0 + (D_802BA270 * 8))->unk4 = sp4;
D_802BA270 = D_802BA270 + 1;
void func_802A8C8C(Gfx *arg0, u8 arg1, u8 arg2) {
Gfx macro[] = {gsDPSetCombineMode(G_CC_MODULATERGBDECALA, G_CC_MODULATERGBDECALA)};
arg0[D_802BA270].words.w0 = macro->words.w0;
arg0[D_802BA270].words.w1 = macro->words.w1;
D_802BA270++;
}
#else
GLOBAL_ASM("asm/non_matchings/memory/func_802A8BB4.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_802B8D18;
extern s32 D_802BA270;
void func_802A8C20(s32 arg0, ? arg1, ? arg2) {
sp->unk0 = D_802B8D18.unk0;
sp->unk4 = D_802B8D18.unk4;
*(arg0 + (D_802BA270 * 8)) = sp0;
(arg0 + (D_802BA270 * 8))->unk4 = sp4;
D_802BA270 = D_802BA270 + 1;
void func_802A8CF8(Gfx *arg0, u8 arg1, u8 arg2) {
Gfx macro[] = {gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA)};
arg0[D_802BA270].words.w0 = macro->words.w0;
arg0[D_802BA270].words.w1 = macro->words.w1;
D_802BA270++;
}
#else
GLOBAL_ASM("asm/non_matchings/memory/func_802A8C20.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_802B8D20;
extern s32 D_802BA270;
void func_802A8C8C(s32 arg0, ? arg1, ? arg2) {
sp->unk0 = D_802B8D20.unk0;
sp->unk4 = D_802B8D20.unk4;
*(arg0 + (D_802BA270 * 8)) = sp0;
(arg0 + (D_802BA270 * 8))->unk4 = sp4;
D_802BA270 = D_802BA270 + 1;
void func_802A8D64(Gfx *arg0, u8 arg1, u8 arg2) {
Gfx macro[] = {gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2)};
arg0[D_802BA270].words.w0 = macro->words.w0;
arg0[D_802BA270].words.w1 = macro->words.w1;
D_802BA270++;
}
#else
GLOBAL_ASM("asm/non_matchings/memory/func_802A8C8C.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_802B8D28;
extern s32 D_802BA270;
void func_802A8CF8(s32 arg0, ? arg1, ? arg2) {
sp->unk0 = D_802B8D28.unk0;
sp->unk4 = D_802B8D28.unk4;
*(arg0 + (D_802BA270 * 8)) = sp0;
(arg0 + (D_802BA270 * 8))->unk4 = sp4;
D_802BA270 = D_802BA270 + 1;
void func_802A8DD0(Gfx *arg0, u8 arg1, u8 arg2) {
Gfx macro[] = {gsDPSetRenderMode(G_RM_AA_ZB_TEX_EDGE, G_RM_AA_ZB_TEX_EDGE2)};
arg0[D_802BA270].words.w0 = macro->words.w0;
arg0[D_802BA270].words.w1 = macro->words.w1;
D_802BA270++;
}
#else
GLOBAL_ASM("asm/non_matchings/memory/func_802A8CF8.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_802B8D30;
extern s32 D_802BA270;
void func_802A8D64(s32 arg0, ? arg1, ? arg2) {
sp->unk0 = D_802B8D30.unk0;
sp->unk4 = D_802B8D30.unk4;
*(arg0 + (D_802BA270 * 8)) = sp0;
(arg0 + (D_802BA270 * 8))->unk4 = sp4;
D_802BA270 = D_802BA270 + 1;
void func_802A8E3C(Gfx *arg0, u8 arg1, u8 arg2) {
Gfx macro[] = {gsDPSetRenderMode(G_RM_AA_ZB_XLU_SURF, G_RM_AA_ZB_XLU_SURF2)};
arg0[D_802BA270].words.w0 = macro->words.w0;
arg0[D_802BA270].words.w1 = macro->words.w1;
D_802BA270++;
}
#else
GLOBAL_ASM("asm/non_matchings/memory/func_802A8D64.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_802B8D38;
extern s32 D_802BA270;
void func_802A8DD0(s32 arg0, ? arg1, ? arg2) {
sp->unk0 = D_802B8D38.unk0;
sp->unk4 = D_802B8D38.unk4;
*(arg0 + (D_802BA270 * 8)) = sp0;
(arg0 + (D_802BA270 * 8))->unk4 = sp4;
D_802BA270 = D_802BA270 + 1;
void func_802A8EA8(Gfx *arg0, u8 arg1, u8 arg2) {
Gfx macro[] = {gsDPSetRenderMode(G_RM_AA_ZB_OPA_DECAL, G_RM_AA_ZB_OPA_DECAL)};
arg0[D_802BA270].words.w0 = macro->words.w0;
arg0[D_802BA270].words.w1 = macro->words.w1;
D_802BA270++;
}
#else
GLOBAL_ASM("asm/non_matchings/memory/func_802A8DD0.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_802B8D40;
extern s32 D_802BA270;
void func_802A8E3C(s32 arg0, ? arg1, ? arg2) {
sp->unk0 = D_802B8D40.unk0;
sp->unk4 = D_802B8D40.unk4;
*(arg0 + (D_802BA270 * 8)) = sp0;
(arg0 + (D_802BA270 * 8))->unk4 = sp4;
D_802BA270 = D_802BA270 + 1;
void func_802A8F14(Gfx *arg0, u8 arg1, u8 arg2) {
Gfx macro[] = {gsDPSetRenderMode(G_RM_AA_ZB_XLU_DECAL, G_RM_AA_ZB_XLU_DECAL)};
arg0[D_802BA270].words.w0 = macro->words.w0;
arg0[D_802BA270].words.w1 = macro->words.w1;
D_802BA270++;
}
#else
GLOBAL_ASM("asm/non_matchings/memory/func_802A8E3C.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_802B8D48;
extern s32 D_802BA270;
void func_802A8EA8(s32 arg0, ? arg1, ? arg2) {
sp->unk0 = D_802B8D48.unk0;
sp->unk4 = D_802B8D48.unk4;
*(arg0 + (D_802BA270 * 8)) = sp0;
(arg0 + (D_802BA270 * 8))->unk4 = sp4;
D_802BA270 = D_802BA270 + 1;
}
#else
GLOBAL_ASM("asm/non_matchings/memory/func_802A8EA8.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_802B8D50;
extern s32 D_802BA270;
void func_802A8F14(s32 arg0, ? arg1, ? arg2) {
sp->unk0 = D_802B8D50.unk0;
sp->unk4 = D_802B8D50.unk4;
*(arg0 + (D_802BA270 * 8)) = sp0;
(arg0 + (D_802BA270 * 8))->unk4 = sp4;
D_802BA270 = D_802BA270 + 1;
}
#else
GLOBAL_ASM("asm/non_matchings/memory/func_802A8F14.s")
#endif
Gfx D_802B8D58[] = {gsDPTileSync()};
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909

File diff suppressed because it is too large Load Diff

53
tools/bin2c.py Normal file
View File

@ -0,0 +1,53 @@
#!/usr/bin/env python3
import sys, os, binascii, struct
if (sys.argv[1] == "-h" or sys.argv[1] == "--help" or sys.argv[1] == "help" or sys.argv[1] == "h"):
print("Usage: ./bin2c.py input.bin output_name")
print(" Output extension is .inc.c")
sys.exit(0)
f = open(sys.argv[1],"rb")
fi = open(str(sys.argv[2])+".inc.c", "w")
lineCount = int((os.path.getsize(sys.argv[1]) - 16))
off = "0"
base = off
fB = f.read()
fB = fB[int(off,16):]
off = 0
while True:
if off >= lineCount+16:
break
buf = str(binascii.hexlify(fB[off:off+0x10]))
buf = buf[2:-1]
fi.write("0x{:02x},0x{:02x},0x{:02x},0x{:02x},0x{:02x},0x{:02x},0x{:02x},0x{:02x},0x{:02x},0x{:02x},0x{:02x},0x{:02x},0x{:02x},0x{:02x},0x{:02x},0x{:02x}".format(
int(buf[0:2],16),
int(buf[2:4],16),
int(buf[4:6],16),
int(buf[6:8],16),
int(buf[8:10],16),
int(buf[10:12],16),
int(buf[12:14],16),
int(buf[14:16],16),
int(buf[16:18],16),
int(buf[18:20],16),
int(buf[20:22],16),
int(buf[22:24],16),
int(buf[24:26],16),
int(buf[26:28],16),
int(buf[28:30],16),
int(buf[30:32],16),
)
)
# Remove final comma
if (off <= lineCount - 16):
fi.write(",")
elif (off >= lineCount -16):
fi.write("\n")
off += 0x10

View File

@ -61,6 +61,18 @@ D_000FFF00 = 0x000FFF00;
D_00284EE0 = 0x00284EE0;
D_00284F70 = 0x00284F70;
D_03004000 = 0x03004000;
D_03004800 = 0x03004800;
D_03005000 = 0x03005000;
D_03005800 = 0x03005800;
D_03006000 = 0x03006000;
D_03006800 = 0x03006800;
D_03007000 = 0x03007000;
D_03007800 = 0x03007800;
D_03008000 = 0x03008000;
D_03008800 = 0x03008800;
D_05FF8DB8 = 0x05FF8DB8;
D_06000028 = 0x06000028;
D_06000038 = 0x06000038;
@ -174,6 +186,7 @@ D_0600D578 = 0x0600D578;
D_0600D628 = 0x0600D628;
D_0600D780 = 0x0600D780;
D_0600D828 = 0x0600D828;
D_0600D850 = 0x0600D850;
D_0600D8E8 = 0x0600D8E8;
D_0600D9C8 = 0x0600D9C8;
D_0600D9F0 = 0x0600D9F0;
@ -318,6 +331,8 @@ D_0D0017E0 = 0x0D0017E0;
D_0D0017F8 = 0x0D0017F8;
D_0D001810 = 0x0D001810;
D_0D001828 = 0x0D001828;
D_0D001B90 = 0x0D001B90;
D_0D001BD8 = 0x0D001BD8;
D_0D001C20 = 0x0D001C20;
D_0D001C88 = 0x0D001C88;
D_0D002EE8 = 0x0D002EE8;
@ -334,7 +349,7 @@ D_0D004B48 = 0x0D004B48;
D_0D004BD8 = 0x0D004BD8;
D_0D004C68 = 0x0D004C68;
D_0D004E38 = 0x0D004E38;
D_0D005038 = 0x0D005038;
D_0D004E68 = 0x0D004E68;
D_0D005338 = 0x0D005338;
D_0D005368 = 0x0D005368;
D_0D005470 = 0x0D005470;
@ -697,6 +712,43 @@ D_E6FFFFFC = 0xE6FFFFFC;
D_FA00000C = 0xFA00000C;
D_FA000010 = 0xFA000010;
D_FA000018 = 0xFA000018;
D_070067E8 = 0x070067E8;
D_0700AEF8 = 0x0700AEF8;
D_0700A970 = 0x0700A970;
D_0700AC30 = 0x0700AC30;
D_07000CE0 = 0x07000CE0;
D_07000E88 = 0x07000E88;
D_0700A618 = 0x0700A618;
D_070023F8 = 0x070023F8;
D_07002478 = 0x07002478;
D_07001438 = 0x07001438;
D_07003728 = 0x07003728;
D_070036B8 = 0x070036B8;
D_07003628 = 0x07003628;
D_07003540 = 0x07003540;
D_07003DC0 = 0x07003DC0;
D_07003E50 = 0x07003E50;
D_07003F18 = 0x07003F18;
D_070050B0 = 0x070050B0;
D_07005138 = 0x07005138;
D_070055D0 = 0x070055D0;
D_07005B50 = 0x07005B50;
D_07005C00 = 0x07005C00;
D_07005D18 = 0x07005D18;
D_07005DC8 = 0x07005DC8;
D_07005EF8 = 0x07005EF8;
D_07005740 = 0x07005740;
D_070057F0 = 0x070057F0;
D_070058E8 = 0x070058E8;
D_07001788 = 0x07001788;
D_07001AA0 = 0x07001AA0;
D_07001A30 = 0x07001A30;
D_07003790 = 0x07003790;
D_070006D0 = 0x070006D0;
D_070004D0 = 0x070004D0;
D_07000840 = 0x07000840;
D_mario_raceway_06000000 = 0x06000000;
D_mario_raceway_060001D0 = 0x060001D0;
D_mario_raceway_060000E8 = 0x060000E8;