mirror of
https://github.com/n64decomp/mk64.git
synced 2024-11-26 22:50:47 +00:00
Add ymls for Torch code generator (#497)
* Add torch * update jenkinsfile
This commit is contained in:
parent
2b66867af1
commit
3da5a4f343
8
.gitignore
vendored
8
.gitignore
vendored
@ -45,7 +45,7 @@ doxygen/doxygen/*
|
||||
docs/html/*
|
||||
xml/*
|
||||
/build/*
|
||||
# decomp permuter
|
||||
# Decomp permuter
|
||||
/nonmatchings/*
|
||||
*.dump
|
||||
*.mio0
|
||||
@ -53,6 +53,10 @@ xml/*
|
||||
*.map
|
||||
.assets-local.txt
|
||||
|
||||
# Torch
|
||||
include/assets/*
|
||||
tools/torch/*
|
||||
|
||||
# no context header for now, until it's greenlit for the repo
|
||||
context_gen_header.h
|
||||
contexts/*
|
||||
@ -64,6 +68,7 @@ expected/*
|
||||
|
||||
# Assets. Generally ignored, but ones with "custom" in the name are fine.
|
||||
/bin/*
|
||||
/modding/*
|
||||
/courses/**/*linkonly*
|
||||
/textures/**/*.png
|
||||
/textures/**/*.bin
|
||||
@ -73,6 +78,7 @@ expected/*
|
||||
/assets/**/*.mio0
|
||||
/assets/**/*.raw
|
||||
/assets/**/*.inc.c
|
||||
/assets/code/*
|
||||
/music/**/*.m64
|
||||
/sound/**/*.m64
|
||||
/sound/**/*.aiff
|
||||
|
1
Jenkinsfile
vendored
1
Jenkinsfile
vendored
@ -30,6 +30,7 @@ pipeline {
|
||||
}
|
||||
stage('Build U Source') {
|
||||
steps {
|
||||
sh 'make assets -j4'
|
||||
sh 'make -j4 VERSION=us'
|
||||
}
|
||||
}
|
||||
|
34
Makefile
34
Makefile
@ -212,7 +212,8 @@ DATA_DIR := data
|
||||
INCLUDE_DIRS := include
|
||||
|
||||
# Directories containing source files
|
||||
SRC_DIRS := src src/data src/buffers src/racing src/ending src/audio src/debug src/os src/os/math courses
|
||||
SRC_ASSETS_DIR := assets/code/ceremony_data assets/code/startup_logo assets/code/data_800E45C0 assets/code/data_segment2 assets/code/data_800E8700 assets/code/common_data
|
||||
SRC_DIRS := src src/data src/buffers src/racing src/ending src/audio src/debug src/os src/os/math courses assets/code/ceremony_data assets/code/startup_logo $(SRC_ASSETS_DIR)
|
||||
ASM_DIRS := asm asm/os asm/unused $(DATA_DIR) $(DATA_DIR)/sound_data $(DATA_DIR)/karts
|
||||
|
||||
|
||||
@ -223,7 +224,7 @@ TEXTURE_DIRS := textures/common
|
||||
|
||||
ALL_DIRS = $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) $(COURSE_DIRS) include $(ASM_DIRS) $(TEXTURES_DIR)/raw \
|
||||
$(TEXTURES_DIR)/standalone $(TEXTURES_DIR)/startup_logo $(TEXTURES_DIR)/crash_screen $(TEXTURES_DIR)/trophy $(TEXTURES_DIR)/courses \
|
||||
$(TEXTURE_DIRS) $(TEXTURE_DIRS)/tlut $(BIN_DIR))
|
||||
$(TEXTURE_DIRS) $(TEXTURE_DIRS)/tlut $(BIN_DIR)) assets/course_metadata
|
||||
|
||||
# file dependencies generated by splitter
|
||||
MAKEFILE_SPLIT = Makefile.split
|
||||
@ -233,7 +234,7 @@ include $(MAKEFILE_SPLIT)
|
||||
# We filter them out from the regular C_FILES since we don't need nor want the
|
||||
# UTF-8 versions getting compiled
|
||||
EUC_JP_FILES := src/ending/credits.c src/code_80005FD0.c src/code_80091750.c
|
||||
C_FILES := $(filter-out $(EUC_JP_FILES),$(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)))
|
||||
C_FILES := $(filter-out %.inc.c,$(filter-out $(EUC_JP_FILES),$(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c))))
|
||||
S_FILES := $(foreach dir,$(ASM_DIRS),$(wildcard $(dir)/*.s))
|
||||
# Include source files in courses/course_name/files.c but exclude .inc.c files.
|
||||
COURSE_FILES := $(foreach dir,$(COURSE_DIRS),$(filter-out %.inc.c,$(wildcard $(dir)/*.c)))
|
||||
@ -355,6 +356,7 @@ BIN2C := $(PYTHON) $(TOOLS_DIR)/bin2c.py
|
||||
EXTRACT_DATA_FOR_MIO := $(TOOLS_DIR)/extract_data_for_mio
|
||||
ASSET_EXTRACT := $(PYTHON) $(TOOLS_DIR)/new_extract_assets.py
|
||||
LINKONLY_GENERATOR := $(PYTHON) $(TOOLS_DIR)/linkonly_generator.py
|
||||
TORCH := tools/torch/torch
|
||||
EMULATOR = mupen64plus
|
||||
EMU_FLAGS = --noosd
|
||||
LOADER = loader64
|
||||
@ -395,6 +397,12 @@ ifeq ($(COMPARE),1)
|
||||
@$(SHA1SUM) -c $(TARGET).sha1 > $(NULL_OUT) && $(PRINT) "$(TARGET): $(GREEN)OK$(NO_COL)\n" || ($(PRINT) "$(YELLOW)Building the ROM file has succeeded, but does not match the original ROM.\nThis is expected, and not an error, if you are making modifications.\nTo silence this message, use 'make COMPARE=0.' $(NO_COL)\n" && $(FALSE))
|
||||
endif
|
||||
|
||||
assets:
|
||||
@echo "Extracting torch assets..."
|
||||
@$(TORCH) code $(BASEROM) -v
|
||||
@$(TORCH) header $(BASEROM)
|
||||
@$(TORCH) modding export $(BASEROM)
|
||||
|
||||
doc:
|
||||
$(PYTHON) $(TOOLS_DIR)/doxygen_symbol_gen.py
|
||||
doxygen
|
||||
@ -477,7 +485,7 @@ $(TEXTURE_FILES_TLUT):
|
||||
$(V)$(N64GRAPHICS) -i $(BUILD_DIR)/$@.inc.c -g $@.png -f $(lastword $(subst ., ,$@)) -s u8 -c $(lastword $(subst ., ,$(subst .$(lastword $(subst ., ,$(TEXTURE_FILES_TLUT))), ,$(TEXTURE_FILES_TLUT)))) -p $(BUILD_DIR)/$@.tlut.inc.c
|
||||
|
||||
# common textures
|
||||
$(BUILD_DIR)/src/data/common_textures.o: src/data/common_textures.c $(TEXTURE_FILES) $(TEXTURE_FILES_TLUT)
|
||||
$(BUILD_DIR)/assets/code/common_data/common_data.o: assets/code/common_data/common_data.c $(TEXTURE_FILES) $(TEXTURE_FILES_TLUT)
|
||||
@$(PRINT) "$(GREEN)Compiling Common Textures: $(BLUE)$@ $(NO_COL)\n"
|
||||
@$(CC_CHECK) $(CC_CHECK_CFLAGS) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
|
||||
$(V)$(CC) -c $(CFLAGS) -o $@ $<
|
||||
@ -622,7 +630,7 @@ endif
|
||||
# Compile Trophy and Podium Models #
|
||||
#==============================================================================#
|
||||
|
||||
LDFLAGS += -R $(BUILD_DIR)/src/ending/ceremony_data.elf
|
||||
LDFLAGS += -R $(BUILD_DIR)/assets/code/ceremony_data/ceremony_data.elf
|
||||
|
||||
%/ceremony_data.elf: %/ceremony_data.o
|
||||
$(V)$(LD) -t -e 0 -Ttext=0B000000 -Map $@.map -o $@ $< --no-check-sections
|
||||
@ -642,7 +650,7 @@ LDFLAGS += -R $(BUILD_DIR)/src/ending/ceremony_data.elf
|
||||
# Compile Startup Logo #
|
||||
#==============================================================================#
|
||||
|
||||
LDFLAGS += -R $(BUILD_DIR)/src/data/startup_logo.elf
|
||||
LDFLAGS += -R $(BUILD_DIR)/assets/code/startup_logo/startup_logo.elf
|
||||
|
||||
%/startup_logo.elf: %/startup_logo.o
|
||||
$(V)$(LD) -t -e 0 -Ttext=06000000 -Map $@.map -o $@ $< --no-check-sections
|
||||
@ -661,19 +669,19 @@ LDFLAGS += -R $(BUILD_DIR)/src/data/startup_logo.elf
|
||||
# Compile Common Textures #
|
||||
#==============================================================================#
|
||||
|
||||
LDFLAGS += -R $(BUILD_DIR)/src/data/common_textures.elf
|
||||
LDFLAGS += -R $(BUILD_DIR)/assets/code/common_data/common_data.elf
|
||||
|
||||
%/common_textures.elf: %/common_textures.o
|
||||
%/common_data.elf: %/common_data.o
|
||||
$(V)$(LD) -t -e 0 -Ttext=0D000000 -Map $@.map -o $@ $< --no-check-sections
|
||||
|
||||
%/common_textures.bin: %/common_textures.elf
|
||||
%/common_data.bin: %/common_data.elf
|
||||
$(V)$(EXTRACT_DATA_FOR_MIO) $< $@
|
||||
|
||||
%/common_textures.mio0: %/common_textures.bin
|
||||
%/common_data.mio0: %/common_data.bin
|
||||
@$(PRINT) "$(GREEN)Compressing Common Textures: $(BLUE)$@ $(NO_COL)\n"
|
||||
$(V)$(MIO0TOOL) -c $< $@
|
||||
|
||||
%/common_textures.mio0.s: %/common_textures.mio0
|
||||
%/common_data.mio0.s: %/common_data.mio0
|
||||
$(PRINT) ".include \"macros.inc\"\n\n.section .data\n\n.balign 4\n\n.incbin \"$<\"\n\n" > $@
|
||||
|
||||
|
||||
@ -688,7 +696,7 @@ $(BUILD_DIR)/$(LD_SCRIPT): $(LD_SCRIPT)
|
||||
$(V)$(CPP) $(CPPFLAGS) -DBUILD_DIR=$(BUILD_DIR) -MMD -MP -MT $@ -MF $@.d -o $@ $<
|
||||
|
||||
# Link MK64 ELF file
|
||||
$(ELF): $(O_FILES) $(COURSE_DATA_TARGETS) $(BUILD_DIR)/$(LD_SCRIPT) $(BUILD_DIR)/src/data/startup_logo.mio0.o $(BUILD_DIR)/src/ending/ceremony_data.mio0.o $(BUILD_DIR)/src/data/common_textures.mio0.o $(COURSE_GEOGRAPHY_TARGETS) undefined_syms.txt
|
||||
$(ELF): $(O_FILES) $(COURSE_DATA_TARGETS) $(BUILD_DIR)/$(LD_SCRIPT) $(BUILD_DIR)/assets/code/startup_logo/startup_logo.mio0.o $(BUILD_DIR)/assets/code/ceremony_data/ceremony_data.mio0.o $(BUILD_DIR)/assets/code/common_data/common_data.mio0.o $(COURSE_GEOGRAPHY_TARGETS) undefined_syms.txt
|
||||
@$(PRINT) "$(GREEN)Linking ELF file: $(BLUE)$@ $(NO_COL)\n"
|
||||
$(V)$(LD) $(LDFLAGS) -o $@
|
||||
|
||||
@ -706,7 +714,7 @@ $(BUILD_DIR)/$(TARGET).objdump: $(ELF)
|
||||
$(OBJDUMP) -D $< > $@
|
||||
|
||||
|
||||
.PHONY: all clean distclean distclean_assets default diff test load
|
||||
.PHONY: all clean distclean distclean_assets default diff test load assets
|
||||
# with no prerequisites, .SECONDARY causes no intermediate target to be removed
|
||||
.SECONDARY:
|
||||
|
||||
|
@ -35,6 +35,10 @@ Game code progress consists of `main`, `ending` and `racing`.
|
||||
```
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
Extract assets
|
||||
```
|
||||
make assets -j
|
||||
```
|
||||
```
|
||||
make -j
|
||||
```
|
||||
|
@ -26,11 +26,11 @@ glabel D_800ECFC8
|
||||
glabel func_80009B60
|
||||
/* 00A760 80009B60 3C0E800E */ lui $t6, %hi(gCurrentCourseId)
|
||||
/* 00A764 80009B64 85CEC5A0 */ lh $t6, %lo(gCurrentCourseId)($t6)
|
||||
/* 00A768 80009B68 3C01800E */ lui $at, %hi(gKartAICourseMaximumWaypointSeparation)
|
||||
/* 00A768 80009B68 3C01800E */ lui $at, %hi(gKartAICourseMaximumSeparation)
|
||||
/* 00A76C 80009B6C 3C0A8016 */ lui $t2, %hi(D_80163100) # $t2, 0x8016
|
||||
/* 00A770 80009B70 000E7880 */ sll $t7, $t6, 2
|
||||
/* 00A774 80009B74 002F0821 */ addu $at, $at, $t7
|
||||
/* 00A778 80009B78 C424CA4C */ lwc1 $f4, %lo(gKartAICourseMaximumWaypointSeparation)($at)
|
||||
/* 00A778 80009B78 C424CA4C */ lwc1 $f4, %lo(gKartAICourseMaximumSeparation)($at)
|
||||
/* 00A77C 80009B7C 27BDFF30 */ addiu $sp, $sp, -0xd0
|
||||
/* 00A780 80009B80 254A3100 */ addiu $t2, %lo(D_80163100) # addiu $t2, $t2, 0x3100
|
||||
/* 00A784 80009B84 4600218D */ trunc.w.s $f6, $f4
|
||||
@ -1195,7 +1195,7 @@ glabel func_80009B60
|
||||
/* 00B854 8000AC54 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 00B858 8000AC58 44055000 */ mfc1 $a1, $f10
|
||||
/* 00B85C 8000AC5C 3C0B800E */ lui $t3, %hi(gCurrentCourseId)
|
||||
/* 00B860 8000AC60 3C03800E */ lui $v1, %hi(D_800DCA20)
|
||||
/* 00B860 8000AC60 3C03800E */ lui $v1, %hi(gKartAISteeringSensitivity)
|
||||
/* 00B864 8000AC64 00057C00 */ sll $t7, $a1, 0x10
|
||||
/* 00B868 8000AC68 44023000 */ mfc1 $v0, $f6
|
||||
/* 00B86C 8000AC6C 000F6403 */ sra $t4, $t7, 0x10
|
||||
@ -1223,7 +1223,7 @@ glabel func_80009B60
|
||||
/* 00B8BC 8000ACBC 000B6040 */ sll $t4, $t3, 1
|
||||
/* 00B8C0 8000ACC0 006C1821 */ addu $v1, $v1, $t4
|
||||
/* 00B8C4 8000ACC4 10410006 */ beq $v0, $at, .L8000ACE0
|
||||
/* 00B8C8 8000ACC8 8463CA20 */ lh $v1, %lo(D_800DCA20)($v1)
|
||||
/* 00B8C8 8000ACC8 8463CA20 */ lh $v1, %lo(gKartAISteeringSensitivity)($v1)
|
||||
/* 00B8CC 8000ACCC 24010003 */ li $at, 3
|
||||
/* 00B8D0 8000ACD0 50410014 */ beql $v0, $at, .L8000AD24
|
||||
/* 00B8D4 8000ACD4 3C013F00 */ lui $at, 0x3f00
|
||||
|
@ -341,8 +341,8 @@ glabel L8009F8B8
|
||||
/* 0A04FC 8009F8FC 100003F1 */ b .L800A08C4
|
||||
/* 0A0500 8009F900 AE020000 */ sw $v0, ($s0)
|
||||
glabel L8009F904
|
||||
/* 0A0504 8009F904 3C11800E */ lui $s1, %hi(D_800E7574) # $s1, 0x800e
|
||||
/* 0A0508 8009F908 26317574 */ addiu $s1, %lo(D_800E7574) # addiu $s1, $s1, 0x7574
|
||||
/* 0A0504 8009F904 3C11800E */ lui $s1, %hi(gCourseNamesDup) # $s1, 0x800e
|
||||
/* 0A0508 8009F908 26317574 */ addiu $s1, %lo(gCourseNamesDup) # addiu $s1, $s1, 0x7574
|
||||
/* 0A050C 8009F90C 0C024C0D */ jal get_string_width
|
||||
/* 0A0510 8009F910 8E240000 */ lw $a0, ($s1)
|
||||
/* 0A0514 8009F914 244A0005 */ addiu $t2, $v0, 5
|
||||
@ -1228,13 +1228,13 @@ glabel L800A05C4
|
||||
/* 0A11D4 800A05D4 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 0A11D8 800A05D8 44819000 */ mtc1 $at, $f18
|
||||
/* 0A11DC 800A05DC C6300024 */ lwc1 $f16, 0x24($s1)
|
||||
/* 0A11E0 800A05E0 3C06800E */ lui $a2, %hi(D_800E7524)
|
||||
/* 0A11E0 800A05E0 3C06800E */ lui $a2, %hi(gCourseNames)
|
||||
/* 0A11E4 800A05E4 00194880 */ sll $t1, $t9, 2
|
||||
/* 0A11E8 800A05E8 00C93021 */ addu $a2, $a2, $t1
|
||||
/* 0A11EC 800A05EC 8E24000C */ lw $a0, 0xc($s1)
|
||||
/* 0A11F0 800A05F0 8E250010 */ lw $a1, 0x10($s1)
|
||||
/* 0A11F4 800A05F4 8E27001C */ lw $a3, 0x1c($s1)
|
||||
/* 0A11F8 800A05F8 8CC67524 */ lw $a2, %lo(D_800E7524)($a2)
|
||||
/* 0A11F8 800A05F8 8CC67524 */ lw $a2, %lo(gCourseNames)($a2)
|
||||
/* 0A11FC 800A05FC E7B20014 */ swc1 $f18, 0x14($sp)
|
||||
/* 0A1200 800A0600 0C024CC9 */ jal func_80093324
|
||||
/* 0A1204 800A0604 E7B00010 */ swc1 $f16, 0x10($sp)
|
||||
|
@ -488,7 +488,7 @@ glabel L800A23DC
|
||||
/* 0A3204 800A2604 24010002 */ li $at, 2
|
||||
.L800A2608:
|
||||
/* 0A3208 800A2608 80620005 */ lb $v0, 5($v1)
|
||||
/* 0A320C 800A260C 3C06800E */ lui $a2, %hi(D_800E75C4)
|
||||
/* 0A320C 800A260C 3C06800E */ lui $a2, %hi(gCourseNamesDup2)
|
||||
/* 0A3210 800A2610 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A3214 800A2614 04410003 */ bgez $v0, .L800A2624
|
||||
/* 0A3218 800A2618 00024083 */ sra $t0, $v0, 2
|
||||
@ -511,7 +511,7 @@ glabel L800A23DC
|
||||
/* 0A3254 800A2654 000D7080 */ sll $t6, $t5, 2
|
||||
/* 0A3258 800A2658 00CE3021 */ addu $a2, $a2, $t6
|
||||
/* 0A325C 800A265C 0C024CC9 */ jal func_80093324
|
||||
/* 0A3260 800A2660 8CC675C4 */ lw $a2, %lo(D_800E75C4)($a2)
|
||||
/* 0A3260 800A2660 8CC675C4 */ lw $a2, %lo(gCourseNamesDup2)($a2)
|
||||
/* 0A3264 800A2664 24010002 */ li $at, 2
|
||||
.L800A2668:
|
||||
/* 0A3268 800A2668 02208025 */ move $s0, $s1
|
||||
@ -681,7 +681,7 @@ glabel L800A26A8
|
||||
/* 0A34C0 800A28C0 24010002 */ li $at, 2
|
||||
.L800A28C4:
|
||||
/* 0A34C4 800A28C4 80620005 */ lb $v0, 5($v1)
|
||||
/* 0A34C8 800A28C8 3C06800E */ lui $a2, %hi(D_800E75C4)
|
||||
/* 0A34C8 800A28C8 3C06800E */ lui $a2, %hi(gCourseNamesDup2)
|
||||
/* 0A34CC 800A28CC E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A34D0 800A28D0 04410003 */ bgez $v0, .L800A28E0
|
||||
/* 0A34D4 800A28D4 00026883 */ sra $t5, $v0, 2
|
||||
@ -704,7 +704,7 @@ glabel L800A26A8
|
||||
/* 0A3510 800A2910 00085080 */ sll $t2, $t0, 2
|
||||
/* 0A3514 800A2914 00CA3021 */ addu $a2, $a2, $t2
|
||||
/* 0A3518 800A2918 0C024CC9 */ jal func_80093324
|
||||
/* 0A351C 800A291C 8CC675C4 */ lw $a2, %lo(D_800E75C4)($a2)
|
||||
/* 0A351C 800A291C 8CC675C4 */ lw $a2, %lo(gCourseNamesDup2)($a2)
|
||||
/* 0A3520 800A2920 24010002 */ li $at, 2
|
||||
.L800A2924:
|
||||
/* 0A3524 800A2924 02208025 */ move $s0, $s1
|
||||
@ -899,7 +899,7 @@ glabel L800A29D0
|
||||
/* 0A37DC 800A2BDC 24010002 */ li $at, 2
|
||||
.L800A2BE0:
|
||||
/* 0A37E0 800A2BE0 80620005 */ lb $v0, 5($v1)
|
||||
/* 0A37E4 800A2BE4 3C06800E */ lui $a2, %hi(D_800E75C4)
|
||||
/* 0A37E4 800A2BE4 3C06800E */ lui $a2, %hi(gCourseNamesDup2)
|
||||
/* 0A37E8 800A2BE8 E7B40014 */ swc1 $f20, 0x14($sp)
|
||||
/* 0A37EC 800A2BEC 04410003 */ bgez $v0, .L800A2BFC
|
||||
/* 0A37F0 800A2BF0 00026083 */ sra $t4, $v0, 2
|
||||
@ -922,7 +922,7 @@ glabel L800A29D0
|
||||
/* 0A382C 800A2C2C 00194080 */ sll $t0, $t9, 2
|
||||
/* 0A3830 800A2C30 00C83021 */ addu $a2, $a2, $t0
|
||||
/* 0A3834 800A2C34 0C024CC9 */ jal func_80093324
|
||||
/* 0A3838 800A2C38 8CC675C4 */ lw $a2, %lo(D_800E75C4)($a2)
|
||||
/* 0A3838 800A2C38 8CC675C4 */ lw $a2, %lo(gCourseNamesDup2)($a2)
|
||||
/* 0A383C 800A2C3C 24010002 */ li $at, 2
|
||||
.L800A2C40:
|
||||
/* 0A3840 800A2C40 02208025 */ move $s0, $s1
|
||||
|
@ -184,7 +184,6 @@
|
||||
"bin/gTextureMenu100cc.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x8080C0", "0x0"]}},
|
||||
"bin/gTextureMenu150cc.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x8082C0", "0x0"]}},
|
||||
"bin/gTextureMenuExtra.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x8084C0", "0x0"]}},
|
||||
|
||||
"bin/gTextureMenuWithoutItem.rgba16.tkmk00": {"meta":{"size":"0x300"}, "offsets": {"us":["0x8086C0", "0x0"]}},
|
||||
"bin/gTextureMenuWithItem.rgba16.tkmk00": {"meta":{"size":"0x300"}, "offsets": {"us":["0x8089C0", "0x0"]}},
|
||||
"bin/gTextureMenuBegin.rgba16.tkmk00": {"meta":{"size":"0x200"}, "offsets": {"us":["0x808CC0", "0x0"]}},
|
||||
|
30
config.yml
Normal file
30
config.yml
Normal file
@ -0,0 +1,30 @@
|
||||
579c48e211ae952530ffc8738709f078d5dd215e:
|
||||
name: Mario Kart 64 [US]
|
||||
path: yamls/us
|
||||
config:
|
||||
gbi: F3DEX_MK64
|
||||
sort: OFFSET
|
||||
enums:
|
||||
- include/defines.h
|
||||
output:
|
||||
binary: mkcube.otr
|
||||
headers: include/assets
|
||||
code: assets/code
|
||||
metadata: [yamls/courses]
|
||||
segments:
|
||||
- 0x000000
|
||||
- 0x000000
|
||||
- 0x12AAE0
|
||||
- 0x000000
|
||||
- 0x000000
|
||||
- 0x000000
|
||||
- 0x825800
|
||||
- 0x000000
|
||||
- 0x000000
|
||||
- 0x88CD70
|
||||
- 0x729A30
|
||||
- 0x821D10
|
||||
- 0x7FA3C0
|
||||
- 0x132B50
|
||||
- 0x000000
|
||||
- 0x145470
|
@ -1964,7 +1964,7 @@ Gfx d_course_frappe_snowland_dl_33E0[] =
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
TrackWaypoint d_course_frappe_unknown_waypoints[] = {
|
||||
TrackWaypoint d_course_frappe_snowland_unknown_waypoints[] = {
|
||||
{-4, 0, -259, 0},
|
||||
{-4, 0, -282, 0},
|
||||
{-10, 0, -526, 0},
|
||||
@ -2040,7 +2040,7 @@ TrackWaypoint d_course_frappe_unknown_waypoints[] = {
|
||||
{-32768, 0, 0, 0},
|
||||
};
|
||||
|
||||
TrackWaypoint d_course_frappe_track_waypoints[] = {
|
||||
TrackWaypoint d_course_frappe_snowland_track_waypoints[] = {
|
||||
{-4, 0, -270, 1},
|
||||
{-4, 0, -290, 1},
|
||||
{-4, 0, -310, 2},
|
||||
|
@ -75,8 +75,8 @@ extern Gfx d_course_frappe_snowland_dl_3198[];
|
||||
extern Gfx d_course_frappe_snowland_dl_3270[];
|
||||
extern Gfx d_course_frappe_snowland_dl_3328[];
|
||||
extern Gfx d_course_frappe_snowland_dl_33E0[];
|
||||
extern TrackWaypoint d_course_frappe_unknown_waypoints[];
|
||||
extern TrackWaypoint d_course_frappe_track_waypoints[];
|
||||
extern TrackWaypoint d_course_frappe_snowland_unknown_waypoints[];
|
||||
extern TrackWaypoint d_course_frappe_snowland_track_waypoints[];
|
||||
extern u8 d_course_frappe_snowland_snowman_tlut[];
|
||||
extern u8 d_course_frappe_snowland_snowman_head[];
|
||||
extern u8 d_course_frappe_snowland_snowman_body[];
|
||||
|
@ -6766,7 +6766,7 @@ Gfx d_course_koopa_troopa_beach_dl_AD40[] =
|
||||
};
|
||||
|
||||
// 0xADE0 path
|
||||
TrackWaypoint d_course_koopa_troopa_beach_unknown_waypoints0[] = {
|
||||
TrackWaypoint d_course_koopa_troopa_beach_unknown_waypoints[] = {
|
||||
{-34, 0, 103, 0},
|
||||
{-34, 0, 60, 0},
|
||||
{-38, 0, -184, 0},
|
||||
@ -6893,7 +6893,7 @@ TrackWaypoint d_course_koopa_troopa_beach_unknown_waypoints1[] = {
|
||||
{-32768, 0, 0, 0},
|
||||
};
|
||||
|
||||
TrackWaypoint d_course_koopa_troopa_beach_track_waypoints0[] = {
|
||||
TrackWaypoint d_course_koopa_troopa_beach_track_waypoints[] = {
|
||||
{-34, 1, 81, 1},
|
||||
{-34, 1, 61, 1},
|
||||
{-34, 1, 41, 1},
|
||||
@ -7505,7 +7505,7 @@ TrackWaypoint d_course_koopa_troopa_beach_track_waypoints0[] = {
|
||||
{-32768, -32768, -32768, 0},
|
||||
};
|
||||
|
||||
TrackWaypoint d_course_koopa_troopa_beach_track_waypoints1[] = {
|
||||
TrackWaypoint d_course_koopa_troopa_beach_track_waypoints_2[] = {
|
||||
{-29, 1, 88, 1},
|
||||
{-29, 1, 68, 1},
|
||||
{-29, 1, 48, 1},
|
||||
|
@ -306,10 +306,10 @@ extern Gfx d_course_koopa_troopa_beach_dl_AB88[];
|
||||
extern Gfx d_course_koopa_troopa_beach_dl_AC10[];
|
||||
extern Gfx d_course_koopa_troopa_beach_dl_AC68[];
|
||||
extern Gfx d_course_koopa_troopa_beach_dl_AD40[];
|
||||
extern TrackWaypoint d_course_koopa_troopa_beach_unknown_waypoints0[];
|
||||
extern TrackWaypoint d_course_koopa_troopa_beach_unknown_waypoints[];
|
||||
extern TrackWaypoint d_course_koopa_troopa_beach_unknown_waypoints1[];
|
||||
extern TrackWaypoint d_course_koopa_troopa_beach_track_waypoints0[];
|
||||
extern TrackWaypoint d_course_koopa_troopa_beach_track_waypoints1[];
|
||||
extern TrackWaypoint d_course_koopa_troopa_beach_track_waypoints[];
|
||||
extern TrackWaypoint d_course_koopa_troopa_beach_track_waypoints_2[];
|
||||
extern u8 d_course_koopa_troopa_beach_crab_tlut[];
|
||||
extern u8 d_course_koopa_troopa_beach_crab_frames[][4096];
|
||||
extern u32 d_course_koopa_troopa_beach_unk_data1[];
|
||||
|
@ -3017,7 +3017,7 @@ Gfx d_course_sherbet_land_dl_4B20[] =
|
||||
};
|
||||
|
||||
// unk 0x4BF8
|
||||
TrackWaypoint d_course_sherbet_land_uknown_waypoints[] = {
|
||||
TrackWaypoint d_course_sherbet_land_unknown_waypoints[] = {
|
||||
{-10, 0, 10, 0},
|
||||
{-10, 0, -8, 0},
|
||||
{-18, 0, -213, 0},
|
||||
|
@ -152,7 +152,7 @@ extern Gfx d_course_sherbet_land_dl_4930[];
|
||||
extern Gfx d_course_sherbet_land_dl_4A20[];
|
||||
extern Gfx d_course_sherbet_land_dl_4A98[];
|
||||
extern Gfx d_course_sherbet_land_dl_4B20[];
|
||||
extern TrackWaypoint d_course_sherbet_land_uknown_waypoints[];
|
||||
extern TrackWaypoint d_course_sherbet_land_unknown_waypoints[];
|
||||
extern TrackWaypoint d_course_sherbet_land_track_waypoints[];
|
||||
extern Vtx d_course_sherbet_land_model1[];
|
||||
extern Vtx d_course_sherbet_land_model2[];
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <PR/ultratypes.h>
|
||||
#include <PR/mbi.h>
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "course_offsets.h"
|
||||
#include "course_data.h"
|
||||
|
||||
|
@ -3294,7 +3294,7 @@ TrackWaypoint d_course_wario_stadium_unknown_waypoints[] = {
|
||||
{-32768, 0, 0, 0},
|
||||
};
|
||||
|
||||
TrackWaypoint d_course_wario_staduim_track_waypoints[] = {
|
||||
TrackWaypoint d_course_wario_stadium_track_waypoints[] = {
|
||||
{13, 0, -9, 1},
|
||||
{11, 0, -28, 1},
|
||||
{11, 0, -48, 1},
|
||||
|
@ -116,7 +116,7 @@ extern Gfx d_course_wario_stadium_dl_5460[];
|
||||
extern Gfx d_course_wario_stadium_dl_54E8[];
|
||||
extern Gfx d_course_wario_stadium_dl_5588[];
|
||||
extern TrackWaypoint d_course_wario_stadium_unknown_waypoints[];
|
||||
extern TrackWaypoint d_course_wario_staduim_track_waypoints[];
|
||||
extern TrackWaypoint d_course_wario_stadium_track_waypoints[];
|
||||
extern Vtx d_course_wario_stadium_sign_head_model1[];
|
||||
extern Vtx d_course_wario_stadium_sign_head_model2[];
|
||||
extern Vtx d_course_wario_stadium_sign_head_model3[];
|
||||
|
@ -7407,7 +7407,7 @@ Gfx d_course_yoshi_valley_dl_D540[] =
|
||||
|
||||
|
||||
// 0xD780
|
||||
TrackWaypoint d_course_yoshi_valley_unknown_waypoints0[] = {
|
||||
TrackWaypoint d_course_yoshi_valley_unknown_waypoints[] = {
|
||||
{-3, 0, -4, 0},
|
||||
{-3, 0, -20, 0},
|
||||
{-3, 0, -261, 0},
|
||||
@ -7483,7 +7483,7 @@ TrackWaypoint d_course_yoshi_valley_unknown_waypoints0[] = {
|
||||
{-32768, 0, 0, 0},
|
||||
};
|
||||
|
||||
TrackWaypoint d_course_yoshi_valley_unknown_waypoints1[] = {
|
||||
TrackWaypoint d_course_yoshi_valley_unknown_waypoints_2[] = {
|
||||
{-6, 0, -5, 1},
|
||||
{-6, 0, -21, 1},
|
||||
{-5, 0, -434, 1},
|
||||
@ -7560,7 +7560,7 @@ TrackWaypoint d_course_yoshi_valley_unknown_waypoints1[] = {
|
||||
{-32768, 0, 0, 0},
|
||||
};
|
||||
|
||||
TrackWaypoint d_course_yoshi_valley_unknown_waypoints2[] = {
|
||||
TrackWaypoint d_course_yoshi_valley_unknown_waypoints_3[] = {
|
||||
{-3, 0, -3, 4},
|
||||
{-3, 0, -19, 4},
|
||||
{0, 0, -268, 4},
|
||||
@ -7645,7 +7645,7 @@ TrackWaypoint d_course_yoshi_valley_unknown_waypoints2[] = {
|
||||
{-32768, 0, 0, 0},
|
||||
};
|
||||
|
||||
TrackWaypoint d_course_yoshi_valley_unknown_waypoints3[] = {
|
||||
TrackWaypoint d_course_yoshi_valley_unknown_waypoints_4[] = {
|
||||
{-2, 0, -1, 7},
|
||||
{0, 0, -18, 7},
|
||||
{-2, 0, -268, 7},
|
||||
@ -7733,7 +7733,7 @@ TrackWaypoint d_course_yoshi_valley_unknown_waypoints3[] = {
|
||||
{-32768, 0, 0, 0},
|
||||
};
|
||||
|
||||
TrackWaypoint d_course_yoshi_valley_track_waypoints0[] = {
|
||||
TrackWaypoint d_course_yoshi_valley_track_waypoints[] = {
|
||||
{-3, 180, -12, 1},
|
||||
{-3, 180, -32, 2},
|
||||
{-3, 180, -52, 2},
|
||||
@ -8414,7 +8414,7 @@ TrackWaypoint d_course_yoshi_valley_track_waypoints0[] = {
|
||||
{-32768, -32768, -32768, 0},
|
||||
};
|
||||
|
||||
TrackWaypoint d_course_yoshi_valley_track_waypoints1[] = {
|
||||
TrackWaypoint d_course_yoshi_valley_track_waypoints_2[] = {
|
||||
{-6, 180, -13, 1},
|
||||
{-5, 180, -33, 2},
|
||||
{-5, 180, -53, 2},
|
||||
@ -9084,7 +9084,7 @@ TrackWaypoint d_course_yoshi_valley_track_waypoints1[] = {
|
||||
{-32768, -32768, -32768, 0},
|
||||
};
|
||||
|
||||
TrackWaypoint d_course_yoshi_valley_track_waypoints2[] = {
|
||||
TrackWaypoint d_course_yoshi_valley_track_waypoints_3[] = {
|
||||
{-3, 180, -11, 1},
|
||||
{-2, 180, -31, 2},
|
||||
{-2, 180, -51, 2},
|
||||
@ -9766,7 +9766,7 @@ TrackWaypoint d_course_yoshi_valley_track_waypoints2[] = {
|
||||
{-32768, -32768, -32768, 0},
|
||||
};
|
||||
|
||||
TrackWaypoint d_course_yoshi_valley_track_waypoints3[] = {
|
||||
TrackWaypoint d_course_yoshi_valley_track_waypoints_4[] = {
|
||||
{-1, 180, -9, 1},
|
||||
{0, 180, -29, 2},
|
||||
{0, 180, -49, 2},
|
||||
|
@ -133,14 +133,14 @@ extern Gfx d_course_yoshi_valley_dl_D018[];
|
||||
extern Gfx d_course_yoshi_valley_dl_D1E8[];
|
||||
extern Gfx d_course_yoshi_valley_dl_D3D0[];
|
||||
extern Gfx d_course_yoshi_valley_dl_D540[];
|
||||
extern TrackWaypoint d_course_yoshi_valley_unknown_waypoints0[];
|
||||
extern TrackWaypoint d_course_yoshi_valley_unknown_waypoints1[];
|
||||
extern TrackWaypoint d_course_yoshi_valley_unknown_waypoints2[];
|
||||
extern TrackWaypoint d_course_yoshi_valley_unknown_waypoints3[];
|
||||
extern TrackWaypoint d_course_yoshi_valley_track_waypoints0[];
|
||||
extern TrackWaypoint d_course_yoshi_valley_track_waypoints1[];
|
||||
extern TrackWaypoint d_course_yoshi_valley_track_waypoints2[];
|
||||
extern TrackWaypoint d_course_yoshi_valley_track_waypoints3[];
|
||||
extern TrackWaypoint d_course_yoshi_valley_unknown_waypoints[];
|
||||
extern TrackWaypoint d_course_yoshi_valley_unknown_waypoints_2[];
|
||||
extern TrackWaypoint d_course_yoshi_valley_unknown_waypoints_3[];
|
||||
extern TrackWaypoint d_course_yoshi_valley_unknown_waypoints_4[];
|
||||
extern TrackWaypoint d_course_yoshi_valley_track_waypoints[];
|
||||
extern TrackWaypoint d_course_yoshi_valley_track_waypoints_2[];
|
||||
extern TrackWaypoint d_course_yoshi_valley_track_waypoints_3[];
|
||||
extern TrackWaypoint d_course_yoshi_valley_track_waypoints_4[];
|
||||
extern Lights1 d_course_yoshi_valley_unknown_light1;
|
||||
extern Lights1 d_course_yoshi_valley_unknown_light2;
|
||||
extern Lights1 d_course_yoshi_valley_unknown_light3;
|
||||
|
@ -75,11 +75,11 @@
|
||||
#include "src/code_80091440.h"
|
||||
#include "src/code_80091750.h"
|
||||
#include "src/code_800AF9B0.h"
|
||||
#include "src/common_textures.h"
|
||||
#include "src/data/data_800E45C0.h"
|
||||
#include "src/data/data_800E8700.h"
|
||||
#include <assets/common_data.h>
|
||||
#include <assets/data_800E45C0.h>
|
||||
#include <assets/data_800E8700.h>
|
||||
#include "src/data/some_data.h"
|
||||
#include "src/data/path_spawn_data.h"
|
||||
#include "src/data/path_spawn_metadata.h"
|
||||
#include "src/buffers/trig_tables.h"
|
||||
#include "src/data_segment2.h"
|
||||
#include "src/effects.h"
|
||||
|
@ -10,9 +10,11 @@ The build system has the following package requirements:
|
||||
|
||||
To add submodules run `git submodule update --init --recursive` after cloning.
|
||||
|
||||
Run `make assets` to extract assets.
|
||||
|
||||
# Linux
|
||||
```bash
|
||||
sudo apt install build-essential pkg-config git binutils-mips-linux-gnu python3 zlib1g-dev libaudiofile-dev libcapstone-dev
|
||||
sudo apt install cmake build-essential pkg-config git binutils-mips-linux-gnu python3 zlib1g-dev libaudiofile-dev libcapstone-dev
|
||||
```
|
||||
|
||||
### Arch
|
||||
|
@ -58,6 +58,6 @@ extern BombKart gBombKarts[NUM_BOMB_KARTS_MAX];
|
||||
extern Collision D_80164038[NUM_BOMB_KARTS_MAX];
|
||||
|
||||
// data/data_0DD0A0_1.s
|
||||
extern BombKartSpawn D_800DCC08[NUM_COURSES][NUM_BOMB_KARTS_MAX];
|
||||
extern BombKartSpawn gBombKartSpawns[NUM_COURSES][NUM_BOMB_KARTS_MAX];
|
||||
|
||||
#endif
|
||||
|
@ -4,6 +4,9 @@
|
||||
#include "ultra64.h"
|
||||
|
||||
typedef f32 Vec3f[3];
|
||||
typedef f32 Vec4f[4];
|
||||
|
||||
typedef s32 Vec3iu[3];
|
||||
|
||||
typedef s16 Vec3s[3];
|
||||
typedef u16 Vec3su[3];
|
||||
|
@ -290,7 +290,7 @@
|
||||
/**
|
||||
* @brief Item IDs
|
||||
*/
|
||||
typedef enum {
|
||||
typedef enum ITEMS {
|
||||
/* 0x00 */ ITEM_NONE = 0,
|
||||
/* 0x01 */ ITEM_BANANA,
|
||||
/* 0x02 */ ITEM_BANANA_BUNCH,
|
||||
@ -307,7 +307,22 @@ typedef enum {
|
||||
/* 0x0D */ ITEM_DOUBLE_MUSHROOM,
|
||||
/* 0x0E */ ITEM_TRIPLE_MUSHROOM,
|
||||
/* 0x0F */ ITEM_SUPER_MUSHROOM
|
||||
} ITEMS;
|
||||
};
|
||||
|
||||
typedef enum KART_AI_BEHAVIOURS {
|
||||
BEHAVIOUR_NONE = 0,
|
||||
BEHAVIOUR_1,
|
||||
BEHAVIOUR_HOP,
|
||||
BEHAVIOUR_3,
|
||||
BEHAVIOUR_4,
|
||||
BEHAVIOUR_5,
|
||||
BEHAVIOUR_NORMAL_SPEED,
|
||||
BEHAVIOUR_FAST_SPEED,
|
||||
BEHAVIOUR_SLOW_SPEED,
|
||||
BEHAVIOUR_9,
|
||||
BEHAVIOUR_10,
|
||||
BEHAVIOUR_MAX_SPEED
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Balloon status
|
||||
|
@ -52,6 +52,23 @@
|
||||
#define ALIGNED16
|
||||
#endif
|
||||
|
||||
// Fixed point macros
|
||||
#define FTOFIX(f) ((s32)((f) * 65536.0))
|
||||
#define ITOFIX(i) ((s32)((i) << 16))
|
||||
#define FIXTOF(x) ((double)((x) / 65536.0))
|
||||
#define FIXTOI(x) ((s32)((x) >> 16))
|
||||
|
||||
// Split fixed-point values into its integer or fractional parts.
|
||||
#define toFixedInt(f) (FTOFIX(f) >> 16)
|
||||
#define toFrac(f) (FTOFIX(f) & 0xFFFF)
|
||||
|
||||
// Setup a fixed-point matrix using floats or doubles. Recommend using doubles for more precision.
|
||||
#define toFixedPointMatrix(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16) \
|
||||
{{((toFixedInt(x1)) << 16) | toFixedInt(x2), ((toFixedInt(x3)) << 16) | toFixedInt(x4), (toFixedInt(x5) << 16) | toFixedInt(x6), (toFixedInt(x7) << 16) | toFixedInt(x8)}, \
|
||||
{((toFixedInt(x9)) << 16) | toFixedInt(x10), ((toFixedInt(x11)) << 16) | toFixedInt(x12), (toFixedInt(x13) << 16) | toFixedInt(x14), (toFixedInt(x15) << 16) | toFixedInt(x16)}, \
|
||||
{((toFrac(x1)) << 16) | toFrac(x2), ((toFrac(x3)) << 16) | toFrac(x4), (toFrac(x5) << 16) | toFrac(x6), (toFrac(x7) << 16) | toFrac(x8)}, \
|
||||
{((toFrac(x9)) << 16) | toFrac(x10), ((toFrac(x11)) << 16) | toFrac(x12), (toFrac(x13) << 16) | toFrac(x14), (toFrac(x15) << 16) | toFrac(x16)}}
|
||||
|
||||
// convert a virtual address to physical.
|
||||
#define VIRTUAL_TO_PHYSICAL(addr) ((uintptr_t)(addr) & 0x1FFFFFFF)
|
||||
|
||||
|
@ -5,6 +5,12 @@
|
||||
#include <common_structs.h>
|
||||
#include "camera.h"
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ s16 waypointStart;
|
||||
/* 0x2 */ s16 waypointEnd;
|
||||
/* 0x4 */ s32 type;
|
||||
} KartAIBehaviour; // size = 0x8
|
||||
|
||||
enum SpTaskState {
|
||||
SPTASK_STATE_NOT_STARTED,
|
||||
SPTASK_STATE_RUNNING,
|
||||
|
14
mk64.ld
14
mk64.ld
@ -216,7 +216,7 @@ SECTIONS
|
||||
BUILD_DIR/src/profiler.o(.data);
|
||||
BUILD_DIR/src/crash_screen.o(.data);
|
||||
BUILD_DIR/src/staff_ghosts.o(.data);
|
||||
BUILD_DIR/src/data/path_spawn_data.o(.data);
|
||||
BUILD_DIR/src/data/path_spawn_metadata.o(.data);
|
||||
BUILD_DIR/src/camera.o(.data);
|
||||
BUILD_DIR/src/render_player.o(.data);
|
||||
BUILD_DIR/src/kart_dma.o(.data);
|
||||
@ -224,7 +224,7 @@ SECTIONS
|
||||
BUILD_DIR/src/player_controller.o(.data);
|
||||
BUILD_DIR/src/spawn_players.o(.data);
|
||||
BUILD_DIR/src/update_objects.o(.data);
|
||||
BUILD_DIR/src/data/data_800E45C0.o(.data);
|
||||
BUILD_DIR/assets/code/data_800E45C0/data_800E45C0.o(.data);
|
||||
BUILD_DIR/src/code_80057C60.o(.data);
|
||||
BUILD_DIR/src/data/some_data.o(.data);
|
||||
BUILD_DIR/src/effects.o(.data);
|
||||
@ -233,7 +233,7 @@ SECTIONS
|
||||
BUILD_DIR/src/code_800AF9B0.o(.data);
|
||||
BUILD_DIR/src/menus.o(.data);
|
||||
BUILD_DIR/src/save.o(.data);
|
||||
BUILD_DIR/src/data/data_800E8700.o(.data);
|
||||
BUILD_DIR/assets/code/data_800E8700/data_800E8700.o(.data);
|
||||
BUILD_DIR/src/audio/synthesis.o(.data);
|
||||
BUILD_DIR/src/audio/heap.o(.data);
|
||||
BUILD_DIR/src/audio/load.o(.data);
|
||||
@ -449,7 +449,7 @@ SECTIONS
|
||||
BEGIN_SEG(data_segment2, 0x02000000)
|
||||
{
|
||||
BUILD_DIR/src/data/textures.o(.data);
|
||||
BUILD_DIR/src/data/data_segment2.o(.data);
|
||||
BUILD_DIR/assets/code/data_segment2/data_segment2.o(.data);
|
||||
}
|
||||
END_SEG(data_segment2)
|
||||
|
||||
@ -457,7 +457,7 @@ SECTIONS
|
||||
/* common textures, decompressed and set as segment 0x0D */
|
||||
BEGIN_SEG(common_textures, 0x0D000000)
|
||||
{
|
||||
BUILD_DIR/src/data/common_textures.mio0.o(.data);
|
||||
BUILD_DIR/assets/code/common_data/common_data.mio0.o(.data);
|
||||
. = ALIGN(0x10);
|
||||
}
|
||||
END_SEG(common_textures)
|
||||
@ -515,14 +515,14 @@ SECTIONS
|
||||
0x828400 -> 0x8028DE30 (0xD0) */
|
||||
BEGIN_SEG(ceremonyData, 0x0B000000)
|
||||
{
|
||||
BUILD_DIR/src/ending/ceremony_data.mio0.o(.data);
|
||||
BUILD_DIR/assets/code/ceremony_data/ceremony_data.mio0.o(.data);
|
||||
. = ALIGN(0x10);
|
||||
}
|
||||
END_SEG(ceremonyData)
|
||||
|
||||
BEGIN_SEG(startupLogo, 0x06000000)
|
||||
{
|
||||
BUILD_DIR/src/data/startup_logo.mio0.o(.data);
|
||||
BUILD_DIR/assets/code/startup_logo/startup_logo.mio0.o(.data);
|
||||
. = ALIGN(0x10);
|
||||
}
|
||||
END_SEG(startupLogo)
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <actors.h>
|
||||
#include <PR/gbi.h>
|
||||
#include <main.h>
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
|
||||
/**
|
||||
* @brief Renders the green shell actor.
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <actors.h>
|
||||
#include <PR/gbi.h>
|
||||
#include <main.h>
|
||||
#include <common_textures.h>
|
||||
#include <assets/common_data.h>
|
||||
#include "courses/all_course_data.h"
|
||||
|
||||
/**
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include "code_80057C60.h"
|
||||
#include "bomb_kart.h"
|
||||
#include "courses/all_course_data.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "common_structs.h"
|
||||
#include "main.h"
|
||||
#include "menus.h"
|
||||
@ -29,7 +29,7 @@
|
||||
#include "ending/podium_ceremony_actors.h"
|
||||
#include "spawn_players.h"
|
||||
#include "sounds.h"
|
||||
#include "data/path_spawn_data.h"
|
||||
#include "data/path_spawn_metadata.h"
|
||||
|
||||
s32 unk_code_80005FD0_pad[24];
|
||||
Collision D_80162E70;
|
||||
@ -1683,7 +1683,7 @@ void func_80009B60(s32 playerId) {
|
||||
f32 athing = 1.5f;
|
||||
|
||||
player = &gPlayers[playerId];
|
||||
if ((s32) gKartAICourseMaximumWaypointSeparation[gCurrentCourseId] >= 0) {
|
||||
if ((s32) gKartAICourseMaximumSeparation[gCurrentCourseId] >= 0) {
|
||||
D_80163100[playerId] += 1;
|
||||
if (playerId == 0) {
|
||||
D_80163378++;
|
||||
@ -1955,7 +1955,7 @@ void func_80009B60(s32 playerId) {
|
||||
if (var_a2 < (s16) temp_f6) {
|
||||
var_a2 = temp_f6;
|
||||
}
|
||||
var_v1 = D_800DCA20[gCurrentCourseId];
|
||||
var_v1 = gKartAISteeringSensitivity[gCurrentCourseId];
|
||||
switch (D_801631D8[playerId]) { /* switch 4; irregular */
|
||||
case 2: /* switch 4 */
|
||||
if (D_80163068[playerId] > (0.5f * 1.0f)) {
|
||||
@ -2194,7 +2194,7 @@ f32 func_8000B874(f32 posX, f32 posZ, u16 waypointIndex, s32 pathIndex) {
|
||||
void func_8000B95C(s32 playerId, u16 waypointIndex, s32 pathIndex) {
|
||||
UNUSED Vec3f pad;
|
||||
D_80163068[playerId] = 0.0f;
|
||||
if ((s32) gKartAICourseMaximumWaypointSeparation[gCurrentCourseId] >= 0) {
|
||||
if ((s32) gKartAICourseMaximumSeparation[gCurrentCourseId] >= 0) {
|
||||
if ((gPlayers[playerId].type & 0x8000) != 0) {
|
||||
D_80163068[playerId] = func_8000B874(gPlayers[playerId].pos[0], gPlayers[playerId].pos[2], waypointIndex, pathIndex);
|
||||
}
|
||||
@ -2947,7 +2947,7 @@ void set_bomb_kart_spawn_positions(void) {
|
||||
BombKartSpawn *temp_s1;
|
||||
|
||||
for (var_s3 = 0; var_s3 < NUM_BOMB_KARTS_VERSUS; var_s3++) {
|
||||
temp_s1 = &D_800DCC08[gCurrentCourseId][var_s3];
|
||||
temp_s1 = &gBombKartSpawns[gCurrentCourseId][var_s3];
|
||||
switch (gCurrentCourseId) {
|
||||
case COURSE_YOSHI_VALLEY:
|
||||
startingXPos = temp_s1->startingXPos;
|
||||
@ -3432,7 +3432,7 @@ void func_8000F2BC(TrackWaypoint *arg0, size_t size) {
|
||||
// Appears to allocate memory for each course.
|
||||
void func_8000F2DC(void) {
|
||||
|
||||
struct _struct_D_800DD9D0_0x10 *ptr = &D_800DD9D0[gCurrentCourseId];
|
||||
struct _struct_gCoursePathSizes_0x10 *ptr = &gCoursePathSizes[gCurrentCourseId];
|
||||
s32 temp;
|
||||
s32 i;
|
||||
|
||||
@ -3553,7 +3553,7 @@ void func_8000F628(void) {
|
||||
D_80163068[i] = 0.0f;
|
||||
D_80163090[i] = 0.0f;
|
||||
var_s5 = &D_801634F8[i];
|
||||
var_s5->unkC = gKartAICourseMinimumWaypointSeparation[gCurrentCourseId] * (f32) (((i + 1) % 3) - 1);
|
||||
var_s5->unkC = gKartAICourseMinimumSeparation[gCurrentCourseId] * (f32) (((i + 1) % 3) - 1);
|
||||
var_s5->unk4 = var_s5->unkC;
|
||||
var_s5->unk0 = 0.0f;
|
||||
var_s5->unk8 = 0.015f;
|
||||
@ -3678,11 +3678,11 @@ void func_800100F0(s32 pathIndex) {
|
||||
s32 i;
|
||||
|
||||
// cast required
|
||||
if ((s32)gKartAICourseMaximumWaypointSeparation[gCurrentCourseId] >= 0) {
|
||||
if ((s32)gKartAICourseMaximumSeparation[gCurrentCourseId] >= 0) {
|
||||
pathDest = D_80164550[pathIndex];
|
||||
bInvalidPath = 1;
|
||||
if (gCurrentCourseId != COURSE_AWARD_CEREMONY) {
|
||||
var_v0 = process_path_data(pathDest, segmented_to_virtual_dupe_2(D_800DC8D0[gCurrentCourseId][pathIndex]));
|
||||
var_v0 = process_path_data(pathDest, segmented_to_virtual_dupe_2(gCoursePathTable2[gCurrentCourseId][pathIndex]));
|
||||
gWaypointCountByPathIndex[pathIndex] = (u16) var_v0;
|
||||
} else {
|
||||
// Course path included in course_data which has already been loaded into memory.
|
||||
@ -3729,8 +3729,8 @@ void func_80010218(s32 pathIndex) {
|
||||
TrackWaypoint *var_s1;
|
||||
TrackWaypoint *var_s2;
|
||||
|
||||
if (((s32) gKartAICourseMaximumWaypointSeparation[gCurrentCourseId]) >= 0) {
|
||||
waypointWidth = gKartAICourseMaximumWaypointSeparation[gCurrentCourseId];
|
||||
if (((s32) gKartAICourseMaximumSeparation[gCurrentCourseId]) >= 0) {
|
||||
waypointWidth = gKartAICourseMaximumSeparation[gCurrentCourseId];
|
||||
waypoint = &D_80164550[pathIndex][0];
|
||||
var_s1 = &D_80164560[pathIndex][0];
|
||||
var_s2 = &D_80164570[pathIndex][0];
|
||||
@ -3779,7 +3779,7 @@ f32 func_80010480(s32 pathIndex, u16 waypointIndex) {
|
||||
f32 root2;
|
||||
f32 root1;
|
||||
|
||||
if ((s32) gKartAICourseMaximumWaypointSeparation[gCurrentCourseId] < 0) {
|
||||
if ((s32) gKartAICourseMaximumSeparation[gCurrentCourseId] < 0) {
|
||||
return 0.0f;
|
||||
}
|
||||
waypointCount = gWaypointCountByPathIndex[pathIndex];
|
||||
@ -3821,7 +3821,7 @@ void func_800107C4(s32 pathIndex) {
|
||||
s32 var_a3;
|
||||
s16 *wut;
|
||||
|
||||
if ((s32) gKartAICourseMaximumWaypointSeparation[gCurrentCourseId] >= 0) {
|
||||
if ((s32) gKartAICourseMaximumSeparation[gCurrentCourseId] >= 0) {
|
||||
var_a3 = gWaypointCountByPathIndex[pathIndex];
|
||||
var_t4 = &D_80164580[pathIndex][0];
|
||||
for(var_s0 = 0; var_s0 < var_a3; var_s0++, var_t4++) {
|
||||
@ -3889,7 +3889,7 @@ void func_80010DBC(s32 pathIndex) {
|
||||
s32 waypointIndex;
|
||||
u16 *angle;
|
||||
|
||||
if ((s32) gKartAICourseMaximumWaypointSeparation[gCurrentCourseId] >= 0) {
|
||||
if ((s32) gKartAICourseMaximumSeparation[gCurrentCourseId] >= 0) {
|
||||
for (angle = &D_80164590[pathIndex][0], waypointIndex = 0; waypointIndex < gWaypointCountByPathIndex[pathIndex]; waypointIndex++, angle++) {
|
||||
*angle = func_80010CB0(pathIndex, waypointIndex);
|
||||
}
|
||||
@ -4168,7 +4168,7 @@ s32 func_8001168C(PathNoY *pathDest, TrackWaypoint *pathSrc, s32 numWaypoints) {
|
||||
|
||||
void copy_courses_kart_ai_behaviour(void) {
|
||||
s32 i;
|
||||
for (i = 0; i < NUM_COURSES-1; i++) {
|
||||
for (i = 0; i < NUM_COURSES - 1; i++) {
|
||||
gCoursesKartAIBehaviour[i] = segmented_to_virtual_dupe_2(gKartAIBehaviourLUT[i]);
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include "vehicles.h"
|
||||
#include "camera.h"
|
||||
#include "waypoints.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
|
||||
struct struct_801642D8 {
|
||||
/* 0x0 */ u16 unk0;
|
||||
|
@ -23,9 +23,9 @@
|
||||
#include "update_objects.h"
|
||||
#include "code_80086E70.h"
|
||||
#include "effects.h"
|
||||
#include "src/data/data_800E8700.h"
|
||||
#include <assets/data_800E8700.h>
|
||||
#include "skybox_and_splitscreen.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "audio/external.h"
|
||||
#include "objects.h"
|
||||
#include "bomb_kart.h"
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include "objects.h"
|
||||
#include "bomb_kart.h"
|
||||
#include "save.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include <sounds.h>
|
||||
#include <decode.h>
|
||||
#include "audio/external.h"
|
||||
|
@ -20,13 +20,13 @@
|
||||
#include "audio/external.h"
|
||||
#include "render_objects.h"
|
||||
#include "staff_ghosts.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "textures.h"
|
||||
#include "math_util.h"
|
||||
#include "save_data.h"
|
||||
#include "podium_ceremony_actors.h"
|
||||
#include "skybox_and_splitscreen.h"
|
||||
#include "src/data/startup_logo.h"
|
||||
#include <assets/startup_logo.h>
|
||||
#include "buffers.h"
|
||||
#include "racing/race_logic.h"
|
||||
#include "ending/code_80281C40.h"
|
||||
@ -393,115 +393,34 @@ char *gCupNames[] = {
|
||||
"special cup",
|
||||
};
|
||||
|
||||
char *D_800E7524[] = {
|
||||
"mario raceway",
|
||||
"choco mountain",
|
||||
"bowser's castle",
|
||||
"banshee boardwalk",
|
||||
"yoshi valley",
|
||||
"frappe snowland",
|
||||
"koopa troopa beach",
|
||||
"royal raceway",
|
||||
"luigi raceway",
|
||||
"moo moo farm",
|
||||
"toad's turnpike",
|
||||
"kalimari desert",
|
||||
"sherbet land",
|
||||
"rainbow road",
|
||||
"wario stadium",
|
||||
"block fort",
|
||||
"skyscraper",
|
||||
"double deck",
|
||||
"d.k.'s jungle parkway",
|
||||
"big donut",
|
||||
// Displays at beginning of course
|
||||
char *gCourseNames[] = {
|
||||
#include "assets/course_metadata/gCourseNames.inc.c"
|
||||
};
|
||||
|
||||
char *D_800E7574[] = {
|
||||
"mario raceway",
|
||||
"choco mountain",
|
||||
"bowser's castle",
|
||||
"banshee boardwalk",
|
||||
"yoshi valley",
|
||||
"frappe snowland",
|
||||
"koopa troopa beach",
|
||||
"royal raceway",
|
||||
"luigi raceway",
|
||||
"moo moo farm",
|
||||
"toad's turnpike",
|
||||
"kalimari desert",
|
||||
"sherbet land",
|
||||
"rainbow road",
|
||||
"wario stadium",
|
||||
"block fort",
|
||||
"skyscraper",
|
||||
"double deck",
|
||||
"d.k.'s jungle parkway",
|
||||
"big donut",
|
||||
char *gCourseNamesDup[] = {
|
||||
#include "assets/course_metadata/gCourseNames.inc.c"
|
||||
};
|
||||
|
||||
char *D_800E75C4[] = {
|
||||
"mario raceway",
|
||||
"choco mountain",
|
||||
"bowser's castle",
|
||||
"banshee boardwalk",
|
||||
"yoshi valley",
|
||||
"frappe snowland",
|
||||
"koopa troopa beach",
|
||||
"royal raceway",
|
||||
"luigi raceway",
|
||||
"moo moo farm",
|
||||
"toad's turnpike",
|
||||
"kalimari desert",
|
||||
"sherbet land",
|
||||
"rainbow road",
|
||||
"wario stadium",
|
||||
"block fort",
|
||||
"skyscraper",
|
||||
"double deck",
|
||||
"d.k.'s jungle parkway",
|
||||
"big donut",
|
||||
char *gCourseNamesDup2[] = {
|
||||
#include "assets/course_metadata/gCourseNames.inc.c"
|
||||
};
|
||||
|
||||
// Used in debug menu at splash screen
|
||||
char *gDebugCourseNames[] = {
|
||||
"m circuit",
|
||||
"mountain",
|
||||
"castle",
|
||||
"ghost",
|
||||
"maze",
|
||||
"snow",
|
||||
"beach",
|
||||
"p circuit",
|
||||
"l circuit",
|
||||
"farm",
|
||||
"highway",
|
||||
"desert",
|
||||
"sherbet",
|
||||
"rainbow",
|
||||
"stadium",
|
||||
"block",
|
||||
"skyscraper",
|
||||
"deck",
|
||||
"jungle",
|
||||
"doughnut",
|
||||
#include "assets/course_metadata/gCourseDebugNames.inc.c"
|
||||
};
|
||||
|
||||
const s8 gPerCupIndexByCourseId[] = {
|
||||
3, 2, 3, 2,
|
||||
1, 1, 2, 2,
|
||||
0, 1, 0, 3,
|
||||
1, 3, 0, 1,
|
||||
3, 2, 0, 0,
|
||||
#include "assets/course_metadata/gPerCupIndexByCourseId.inc.c"
|
||||
};
|
||||
|
||||
// @todo Increase this array for more than eight players
|
||||
const s8 D_800EFD64[] = { 0, 1, 4, 3, 5, 6, 2, 7 };
|
||||
|
||||
// Maps course IDs (as defined in the COURSES enum) to the cup they belong to
|
||||
s8 gCupSelectionByCourseId[] = {
|
||||
FLOWER_CUP, FLOWER_CUP, STAR_CUP, SPECIAL_CUP,
|
||||
SPECIAL_CUP, FLOWER_CUP, MUSHROOM_CUP, STAR_CUP,
|
||||
MUSHROOM_CUP, MUSHROOM_CUP, FLOWER_CUP, MUSHROOM_CUP,
|
||||
STAR_CUP, SPECIAL_CUP, STAR_CUP, BATTLE_CUP,
|
||||
BATTLE_CUP, BATTLE_CUP, SPECIAL_CUP, BATTLE_CUP,
|
||||
#include "assets/course_metadata/gCupSelectionByCourseId.inc.c"
|
||||
};
|
||||
|
||||
char *D_800E7678[] = {
|
||||
@ -636,27 +555,8 @@ char D_800E77B4[] = "a BUTTON*SEE DATA B BUTTON*EXIT";
|
||||
// This is plain data, it should not end up in rodata
|
||||
char D_800E77D8[] = "distance";
|
||||
|
||||
char *D_800E77E4[] = {
|
||||
"567m",
|
||||
"687m",
|
||||
"777m",
|
||||
"747m",
|
||||
"772m",
|
||||
"734m",
|
||||
"691m",
|
||||
"1025m",
|
||||
"717m",
|
||||
"527m",
|
||||
"1036m",
|
||||
"753m",
|
||||
"756m",
|
||||
"2000m",
|
||||
"1591m",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"893m",
|
||||
"",
|
||||
char *sCourseLengths[] = {
|
||||
#include "assets/course_metadata/sCourseLengths.inc.c"
|
||||
};
|
||||
|
||||
char *D_800E7834[] = {
|
||||
@ -2815,7 +2715,7 @@ void func_80095574(void) {
|
||||
} else {
|
||||
debug_print_str2(0x000000AA, 0x00000064, "off");
|
||||
}
|
||||
if ((gCurrentCourseId >= 0x14) || (gCurrentCourseId < 0)) {
|
||||
if ((gCurrentCourseId >= (NUM_COURSES - 1)) || (gCurrentCourseId < 0)) {
|
||||
gCurrentCourseId = 0;
|
||||
}
|
||||
print_str_num(0x00000050, 0x0000006E, "map_number", gCurrentCourseId);
|
||||
@ -6616,10 +6516,10 @@ void func_8009F5E0(struct_8018D9E0_entry *arg0) {
|
||||
}
|
||||
break;
|
||||
case 0x5: /* switch 6 */
|
||||
var_t0 = (s32) ((f32) (get_string_width(D_800E7574[0]) + 5) * 0.9f) / 2;
|
||||
var_t0 = (s32) ((f32) (get_string_width(gCourseNamesDup[0]) + 5) * 0.9f) / 2;
|
||||
gDisplayListHead = draw_box(gDisplayListHead, 0xA0 - var_t0, 0x0000007B, var_t0 + 0xA0, 0x000000A4, 0, 0, 0, 0x00000096);
|
||||
set_text_color(1);
|
||||
draw_text(0x0000009B, 0x0000008C, D_800E7574[0], 0, 0.9f, 0.9f);
|
||||
draw_text(0x0000009B, 0x0000008C, gCourseNamesDup[0], 0, 0.9f, 0.9f);
|
||||
temp_v1 = func_800B4EB4(0, 7) & 0xFFFFF;
|
||||
if (temp_v1 < 0x1EAA) {
|
||||
set_text_color((s32) gGlobalTimer % 2);
|
||||
@ -6886,7 +6786,7 @@ void func_8009F5E0(struct_8018D9E0_entry *arg0) {
|
||||
break;
|
||||
case 0x97: /* switch 6 */
|
||||
set_text_color(5);
|
||||
func_80093324(arg0->column, arg0->row, D_800E7524[gCurrentCourseId], arg0->unk1C, arg0->unk24, 1.0f);
|
||||
func_80093324(arg0->column, arg0->row, gCourseNames[gCurrentCourseId], arg0->unk1C, arg0->unk24, 1.0f);
|
||||
break;
|
||||
case 0x98: /* switch 6 */
|
||||
func_800A2D1C(arg0);
|
||||
@ -7368,10 +7268,10 @@ void func_800A1A20(struct_8018D9E0_entry *arg0) {
|
||||
courseId = gCupCourseOrder[gTimeTrialDataCourseIndex / 4][gTimeTrialDataCourseIndex % 4];
|
||||
arg0->column = 0x14;
|
||||
set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1);
|
||||
draw_text(0x69, arg0->row + 0x19, D_800E7574[courseId], 0, 0.75f, 0.75f);
|
||||
draw_text(0x69, arg0->row + 0x19, gCourseNamesDup[courseId], 0, 0.75f, 0.75f);
|
||||
set_text_color(TEXT_RED);
|
||||
func_80093324(0x2D, arg0->row + 0x28, (char *)&D_800E77D8, 0, 0.75f, 0.75f);
|
||||
func_800936B8(0xA5, arg0->row + 0x28, D_800E77E4[courseId], 1, 0.75f, 0.75f);
|
||||
func_800936B8(0xA5, arg0->row + 0x28, sCourseLengths[courseId], 1, 0.75f, 0.75f);
|
||||
set_text_color(TEXT_YELLOW);
|
||||
func_80093324(0xA0, arg0->row + 0x86, D_800E7728[0], 0, 0.75f, 0.75f);
|
||||
// Print the 3 Lap Time Trial records
|
||||
@ -7621,7 +7521,7 @@ void func_800A1FB0(struct_8018D9E0_entry *arg0) {
|
||||
if (var_v1->ghostDataSaved == 0) {
|
||||
func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f);
|
||||
} else {
|
||||
func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E75C4[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f);
|
||||
func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), gCourseNamesDup2[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -7657,7 +7557,7 @@ void func_800A1FB0(struct_8018D9E0_entry *arg0) {
|
||||
if (var_v1->ghostDataSaved == 0) {
|
||||
func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f);
|
||||
} else {
|
||||
func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E75C4[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f);
|
||||
func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), gCourseNamesDup2[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -7705,7 +7605,7 @@ void func_800A1FB0(struct_8018D9E0_entry *arg0) {
|
||||
if (var_v1->ghostDataSaved == 0) {
|
||||
func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E7A44, 0, 0.5f, 0.5f);
|
||||
} else {
|
||||
func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), D_800E75C4[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f);
|
||||
func_80093324(0x2A + (var_s1 * 0x89), 0x96 + (0x1E * var_s2), gCourseNamesDup2[gCupCourseOrder[var_v1->courseIndex / 4][var_v1->courseIndex % 4]], 0, 0.5f, 0.5f);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -7984,7 +7884,7 @@ void func_800A3C84(struct_8018D9E0_entry *arg0) {
|
||||
s32 rowOffset;
|
||||
|
||||
set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_1);
|
||||
draw_text(arg0->column + 0x43, arg0->row + 0x19, D_800E7574[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 0.6f, 0.6f);
|
||||
draw_text(arg0->column + 0x43, arg0->row + 0x19, gCourseNamesDup[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 0.6f, 0.6f);
|
||||
set_text_color(TEXT_YELLOW);
|
||||
draw_text(arg0->column + 0x46, arg0->row + 0x28, D_800E7730, 0, 0.75f, 0.75f);
|
||||
for(recordType = 0, rowOffset = 0; recordType < TIME_TRIAL_3LAP_RECORD_5; recordType += 1, rowOffset += 0xF) {
|
||||
@ -8019,7 +7919,7 @@ void func_800A3E60(struct_8018D9E0_entry *arg0) {
|
||||
if (var_v0 == 0x0000001F) return;
|
||||
|
||||
set_text_color(4);
|
||||
draw_text(arg0->column + 0x55, 0x19 - arg0->row, D_800E7574[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 0.6f, 0.6f);
|
||||
draw_text(arg0->column + 0x55, 0x19 - arg0->row, gCourseNamesDup[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 0.6f, 0.6f);
|
||||
set_text_color(3);
|
||||
draw_text(arg0->column + 0x55, 0x28 - arg0->row, D_800E7730, 0, 0.75f, 0.75f);
|
||||
for (var_s1 = 0; var_s1 < 4; var_s1++) {
|
||||
@ -8083,7 +7983,7 @@ void func_800A3E60(struct_8018D9E0_entry *arg0) {
|
||||
if (D_8018EE10[var_s1].ghostDataSaved == 0) {
|
||||
func_80093324(0xBB - arg0->column, 0xAA + (0x1E * var_s1), D_800E7A44, 0, 0.45f, 0.45f);
|
||||
} else {
|
||||
func_80093324(0xBB - arg0->column, 0xAA + (0x1E * var_s1), D_800E75C4[gCupCourseOrder[D_8018EE10[var_s1].courseIndex / 4][D_8018EE10[var_s1].courseIndex % 4]], 0, 0.45f, 0.45f);
|
||||
func_80093324(0xBB - arg0->column, 0xAA + (0x1E * var_s1), gCourseNamesDup2[gCupCourseOrder[D_8018EE10[var_s1].courseIndex / 4][D_8018EE10[var_s1].courseIndex % 4]], 0, 0.45f, 0.45f);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -8306,7 +8206,7 @@ void render_pause_menu_time_trials(struct_8018D9E0_entry *arg0) {
|
||||
|
||||
gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, 0x0000008C);
|
||||
set_text_color(TEXT_YELLOW);
|
||||
draw_text(0x000000A0, 0x00000050, D_800E7574[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 1.0f, 1.0f);
|
||||
draw_text(0x000000A0, 0x00000050, gCourseNamesDup[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 1.0f, 1.0f);
|
||||
set_text_color(TEXT_RED);
|
||||
draw_text(0x0000009D, 0x00000060, D_800E7728[0], 0, 0.8f, 0.8f);
|
||||
temp_a0 = func_800B4E24(TIME_TRIAL_3LAP_RECORD_1);
|
||||
@ -8390,7 +8290,7 @@ void render_pause_grand_prix(struct_8018D9E0_entry *arg0) {
|
||||
set_text_color(TEXT_YELLOW);
|
||||
draw_text(160 + temp_s0, temp_s3->row - 50, D_800E76CC[gCCSelection], 0, 1.0f, 1.0f);
|
||||
set_text_color(TEXT_YELLOW);
|
||||
draw_text(160, temp_s3->row - 30, D_800E7574[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 1.0f, 1.0f);
|
||||
draw_text(160, temp_s3->row - 30, gCourseNamesDup[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 1.0f, 1.0f);
|
||||
for (var_s0 = 0; var_s0 < 2; var_s0++) {
|
||||
text_rainbow_effect(arg0->cursor - 31, var_s0, TEXT_YELLOW);
|
||||
func_80093324(temp_s3->column, temp_s3->row + (var_s0 * 13), gTextPauseButton[var_s0 * 4], 0, 0.75f, 0.75f);
|
||||
@ -8499,7 +8399,7 @@ void func_800A5738(struct_8018D9E0_entry *arg0) {
|
||||
gDisplayListHead = draw_box(gDisplayListHead, 0, 0, 0x0000013F, 0x000000EF, 0, 0, 0, var_s1);
|
||||
gDPSetPrimColor(gDisplayListHead++, 0, 0, 0x00, 0x00, 0x00, var_s2);
|
||||
set_text_color(3);
|
||||
func_80093754(0x000000A0, 0x00000050, D_800E7574[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 1.0f, 1.0f);
|
||||
func_80093754(0x000000A0, 0x00000050, gCourseNamesDup[gCupCourseOrder[gCupSelection][gCupCourseSelection]], 0, 1.0f, 1.0f);
|
||||
switch (arg0->cursor) { /* switch 1 */
|
||||
case 1: /* switch 1 */
|
||||
case 11: /* switch 1 */
|
||||
@ -8561,7 +8461,7 @@ void func_800A5738(struct_8018D9E0_entry *arg0) {
|
||||
if (D_8018EE10[var_s1].ghostDataSaved == 0) {
|
||||
func_80093324(0x69 - arg0->column, (0x96 + (0x14 * var_s1)), D_800E7A44, 0, 0.75f, 0.75f);
|
||||
} else {
|
||||
func_80093324(0x69 - arg0->column, (0x96 + (0x14 * var_s1)), D_800E75C4[gCupCourseOrder[D_8018EE10[var_s1].courseIndex / 4][D_8018EE10[var_s1].courseIndex % 4]], 0, 0.75f, 0.75f);
|
||||
func_80093324(0x69 - arg0->column, (0x96 + (0x14 * var_s1)), gCourseNamesDup2[gCupCourseOrder[D_8018EE10[var_s1].courseIndex / 4][D_8018EE10[var_s1].courseIndex % 4]], 0, 0.75f, 0.75f);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -8630,7 +8530,7 @@ void func_800A6034(struct_8018D9E0_entry *arg0) {
|
||||
text = gCupNames[D_800DC540];
|
||||
set_text_color(TEXT_BLUE_GREEN_RED_CYCLE_2);
|
||||
func_80093754(arg0->column + 0x41, arg0->row + 0xA0, text, 0, 0.85f, 1.0f);
|
||||
text = D_800E7524[gCurrentCourseId];
|
||||
text = gCourseNames[gCurrentCourseId];
|
||||
set_text_color((s32) gCurrentCourseId % 4);
|
||||
func_80093754(arg0->column + 0x41, arg0->row + 0xC3, text, 0, 0.65f, 0.85f);
|
||||
}
|
||||
@ -11263,7 +11163,7 @@ void func_800ABF68(struct_8018D9E0_entry *arg0) {
|
||||
case 0:
|
||||
arg0->column = 0x140;
|
||||
arg0->cursor = 1;
|
||||
arg0->unk20 = 0xA0 - (get_string_width(D_800E7524[gCurrentCourseId]) / 2);
|
||||
arg0->unk20 = 0xA0 - (get_string_width(gCourseNames[gCurrentCourseId]) / 2);
|
||||
/* fallthrough */
|
||||
case 1:
|
||||
func_800A9208(arg0, arg0->unk20);
|
||||
|
@ -492,9 +492,9 @@ extern RGBA16 D_800E74D0[];
|
||||
extern RGBA16 D_800E74E8[];
|
||||
extern const s16 gGlyphDisplayWidth[];
|
||||
extern char *gCupNames[];
|
||||
extern char *D_800E7524[];
|
||||
extern char *D_800E7574[];
|
||||
extern char *D_800E75C4[];
|
||||
extern char *gCourseNames[];
|
||||
extern char *gCourseNamesDup[];
|
||||
extern char *gCourseNamesDup2[];
|
||||
extern char *gDebugCourseNames[];
|
||||
// Maps course IDs (as defined in the COURSES enum) to an index in a given cup's track order
|
||||
extern const s8 gPerCupIndexByCourseId[]; // D_800EFD50
|
||||
@ -520,7 +520,7 @@ extern char *D_800E77A0[];
|
||||
extern char *D_800E77A8[];
|
||||
extern char D_800E77B4[];
|
||||
extern char D_800E77D8[];
|
||||
extern char *D_800E77E4[];
|
||||
extern char *sCourseLengths[];
|
||||
extern char *D_800E7834[];
|
||||
extern char *D_800E7840[];
|
||||
extern char *D_800E7848[];
|
||||
|
@ -1,390 +0,0 @@
|
||||
#ifndef COMMON_TEXTURES_H
|
||||
#define COMMON_TEXTURES_H
|
||||
|
||||
#include <types.h>
|
||||
#include <PR/gbi.h>
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ s16 waypointStart;
|
||||
/* 0x2 */ s16 waypointEnd;
|
||||
/* 0x4 */ s32 type;
|
||||
} KartAIBehaviour; // size = 0x8
|
||||
|
||||
enum {
|
||||
BEHAVIOUR_NONE = 0,
|
||||
BEHAVIOUR_1,
|
||||
BEHAVIOUR_HOP,
|
||||
BEHAVIOUR_3,
|
||||
BEHAVIOUR_4,
|
||||
BEHAVIOUR_5,
|
||||
BEHAVIOUR_NORMAL_SPEED,
|
||||
BEHAVIOUR_FAST_SPEED,
|
||||
BEHAVIOUR_SLOW_SPEED,
|
||||
BEHAVIOUR_9,
|
||||
BEHAVIOUR_10,
|
||||
BEHAVIOUR_MAX_SPEED
|
||||
};
|
||||
|
||||
/** @cond */
|
||||
|
||||
extern u8 common_tlut_finish_line_banner[];
|
||||
extern u8 common_texture_particle_fire[];
|
||||
extern Vtx D_0D001200[];
|
||||
extern Vtx D_0D001210[];
|
||||
extern Vtx D_0D001240[];
|
||||
extern Vtx D_0D001270[];
|
||||
extern Vtx D_0D0012A0[];
|
||||
extern Vtx D_0D0012D0[];
|
||||
extern Vtx D_0D001300[];
|
||||
extern Vtx D_0D001330[];
|
||||
extern Vtx D_0D001360[];
|
||||
extern Vtx D_0D001390[];
|
||||
extern Vtx common_vertex_finish_post[];
|
||||
extern Vtx D_0D001710[];
|
||||
extern Gfx D_0D001750[];
|
||||
extern Gfx D_0D001780[];
|
||||
extern Gfx D_0D001798[];
|
||||
extern Gfx D_0D0017B0[];
|
||||
extern Gfx D_0D0017C8[];
|
||||
extern Gfx D_0D0017E0[];
|
||||
extern Gfx D_0D0017F8[];
|
||||
extern Gfx D_0D001810[];
|
||||
extern Gfx D_0D001828[];
|
||||
extern Gfx D_0D001840[];
|
||||
extern Gfx common_model_finish_post[];
|
||||
extern Gfx D_0D001B68[];
|
||||
extern Gfx D_0D001B90[];
|
||||
extern Gfx D_0D001BD8[];
|
||||
extern Gfx D_0D001C20[];
|
||||
extern Gfx D_0D001C88[];
|
||||
extern Vtx D_0D001CE8[];
|
||||
extern Vtx common_vtx_itembox_question_mark[];
|
||||
extern Vtx D_0D001D68[];
|
||||
extern Vtx D_0D001D98[];
|
||||
extern Vtx D_0D001DC8[];
|
||||
extern Vtx D_0D001DF8[];
|
||||
extern Vtx D_0D001E28[];
|
||||
extern Vtx D_0D001E58[];
|
||||
extern Vtx D_0D001E88[];
|
||||
extern Vtx D_0D001EB8[];
|
||||
extern u8 common_texture_item_box_question_mark[];
|
||||
extern Gfx D_0D002EE8[];
|
||||
extern Vtx common_fake_item_box_question_mark_vertices[];
|
||||
extern Gfx common_model_fake_itembox[];
|
||||
extern Gfx itemBoxQuestionMarkModel[];
|
||||
extern Gfx D_0D003090[];
|
||||
extern Gfx D_0D0030F8[];
|
||||
extern Gfx D_0D003128[];
|
||||
extern Gfx D_0D003158[];
|
||||
extern Gfx D_0D003188[];
|
||||
extern Gfx D_0D0031B8[];
|
||||
extern Gfx D_0D0031E8[];
|
||||
extern Gfx D_0D003218[];
|
||||
extern Gfx D_0D003248[];
|
||||
extern Gfx D_0D003278[];
|
||||
extern Gfx D_0D003288[];
|
||||
extern Vtx common_vtx_banana[];
|
||||
extern Vtx common_vtx_flat_banana[];
|
||||
extern u8 common_texture_banana[];
|
||||
extern u8 common_texture_flat_banana[];
|
||||
extern Gfx common_model_banana[];
|
||||
extern Gfx common_model_flat_banana[];
|
||||
extern u8 common_tlut_trees_import[];
|
||||
extern u8 common_tlut_green_shell[];
|
||||
extern u8 common_tlut_blue_shell[];
|
||||
extern Vtx D_0D005238[];
|
||||
extern Vtx D_0D005278[];
|
||||
extern Gfx D_0D0052B8[];
|
||||
extern Gfx D_0D005308[];
|
||||
extern Gfx D_0D005338[];
|
||||
extern Gfx D_0D005368[];
|
||||
extern Gfx D_toads_turnpike_0D005398[];
|
||||
extern Gfx D_toads_turnpike_0D0053B0[];
|
||||
extern Gfx D_toads_turnpike_0D0053C8[];
|
||||
extern Gfx D_toads_turnpike_0D0053F0[];
|
||||
extern Gfx D_toads_turnpike_0D005418[];
|
||||
extern Vtx D_0D005430[];
|
||||
extern Vtx common_vtx_player_minimap_icon[];
|
||||
extern Vtx D_0D0054B0[];
|
||||
extern Vtx common_vtx_rectangle[];
|
||||
extern Vtx D_0D0057B0[];
|
||||
extern Vtx D_0D0057F0[];
|
||||
extern Vtx D_0D0058E0[];
|
||||
extern Vtx D_0D005920[];
|
||||
extern Vtx D_0D005AA0[];
|
||||
extern Vtx D_0D005AE0[];
|
||||
extern Vtx D_0D005B20[];
|
||||
extern Vtx D_0D005B60[];
|
||||
extern Vtx D_0D005BA0[];
|
||||
extern Vtx D_0D005BD0[];
|
||||
extern Vtx D_0D005C00[];
|
||||
extern Vtx D_0D005C30[];
|
||||
extern Vtx D_0D005E80[];
|
||||
extern Vtx D_0D005EB0[];
|
||||
extern Vtx D_0D005F00[];
|
||||
extern Vtx D_0D005F30[];
|
||||
extern Vtx D_0D005F80[];
|
||||
extern Vtx D_0D005FB0;
|
||||
extern Vtx D_0D005FC0[];
|
||||
extern Vtx D_0D005FF0;
|
||||
extern Vtx D_0D006000[];
|
||||
extern Vtx D_0D006030[];
|
||||
extern Vtx D_0D006080[];
|
||||
extern Vtx D_0D0060B0[];
|
||||
extern Vtx D_0D006100[];
|
||||
extern Vtx D_0D006130[];
|
||||
extern Vtx D_0D006180[];
|
||||
extern Vtx D_0D0061B0[];
|
||||
extern Vtx D_0D006280[];
|
||||
extern Vtx D_0D0062B0[];
|
||||
extern Vtx D_0D006480[];
|
||||
extern Vtx D_0D0064B0[];
|
||||
extern Vtx D_0D006700[];
|
||||
extern Vtx D_0D006730[];
|
||||
extern Vtx D_0D0068C0[];
|
||||
extern Vtx D_0D0068F0[];
|
||||
extern Gfx D_0D006930[];
|
||||
extern Gfx common_rectangle_display[];
|
||||
extern Gfx D_0D006950[];
|
||||
extern Gfx D_0D006968[];
|
||||
extern Gfx D_0D006980[];
|
||||
extern Gfx D_0D006998[];
|
||||
extern Gfx D_0D0069B0[];
|
||||
extern Gfx D_0D0069C8[];
|
||||
extern Gfx D_0D0069E0[];
|
||||
extern Gfx D_0D0069F8[];
|
||||
extern Gfx D_0D006A10[];
|
||||
extern Gfx D_0D006A28[];
|
||||
extern Gfx D_0D006A40[];
|
||||
extern u8 D_0D006A58[];
|
||||
extern u8 D_0D006AD8[];
|
||||
extern u8 common_tlut_debug_font[];
|
||||
extern u8 common_texture_debug_font[];
|
||||
extern Gfx D_0D0076F8[];
|
||||
extern Gfx D_0D007780[];
|
||||
extern Gfx D_0D0077A0[];
|
||||
extern Gfx D_0D0077D0[];
|
||||
extern Gfx D_0D0077F8[];
|
||||
extern Gfx D_0D007828[];
|
||||
extern Gfx D_0D007850[];
|
||||
extern Gfx D_0D007878[];
|
||||
extern Gfx D_0D0078A0[];
|
||||
extern Gfx D_0D0078D0[];
|
||||
extern Gfx D_0D0078F8[];
|
||||
extern Gfx D_0D007928[];
|
||||
extern Gfx D_0D007948[];
|
||||
extern Gfx D_0D007968[];
|
||||
extern Gfx D_0D007988[];
|
||||
extern Gfx D_0D0079A8[];
|
||||
extern Gfx D_0D0079C8[];
|
||||
extern Gfx D_0D0079E8[];
|
||||
extern Gfx D_0D007A08[];
|
||||
extern Gfx D_0D007A40[];
|
||||
extern Gfx D_0D007A60[];
|
||||
extern Gfx D_0D007A80[];
|
||||
extern Gfx D_0D007AA0[];
|
||||
extern Gfx D_0D007AC0[];
|
||||
extern Gfx D_0D007AE0[];
|
||||
extern Gfx D_0D007B00[];
|
||||
extern Gfx D_0D007B20[];
|
||||
extern Gfx D_0D007B98[];
|
||||
extern Gfx D_0D007C10[];
|
||||
extern Gfx D_0D007C88[];
|
||||
extern Gfx D_0D007CB8[];
|
||||
extern Gfx D_0D007CD8[];
|
||||
extern Gfx D_0D007CF8[];
|
||||
extern Gfx D_0D007D18[];
|
||||
extern Gfx D_0D007D38[];
|
||||
extern Gfx D_0D007D58[];
|
||||
extern Gfx D_0D007D78[];
|
||||
extern Gfx D_0D007D98[];
|
||||
extern Gfx D_0D007DB8[];
|
||||
extern Gfx D_0D007DD8[];
|
||||
extern Gfx D_0D007DF8[];
|
||||
extern Gfx D_0D007E18[];
|
||||
extern Gfx D_0D007E38[];
|
||||
extern Gfx D_0D007E58[];
|
||||
extern Gfx D_0D007E78[];
|
||||
extern Gfx D_0D007E98[];
|
||||
extern Gfx D_0D007EB8[];
|
||||
extern Gfx D_0D007ED8[];
|
||||
extern Gfx D_0D007EF8[];
|
||||
extern Gfx D_0D007F18[];
|
||||
extern Gfx D_0D007F38[];
|
||||
extern Gfx D_0D007F58[];
|
||||
extern Gfx D_0D007F78[];
|
||||
extern Gfx D_0D007F98[];
|
||||
extern Gfx D_0D007FB8[];
|
||||
extern Gfx D_0D007FE0[];
|
||||
extern Gfx D_0D008000[];
|
||||
extern Gfx D_0D008020[];
|
||||
extern Gfx D_0D008040[];
|
||||
extern Gfx D_0D008060[];
|
||||
extern Gfx D_0D008080[];
|
||||
extern Gfx D_0D008108[];
|
||||
extern Gfx D_0D008120[];
|
||||
extern Gfx D_0D008138[];
|
||||
extern u8 common_grand_prix_human_item_curve[][100];
|
||||
extern u8 common_grand_prix_kart_ai_item_curve[][100];
|
||||
extern u8 common_versus_2_player_item_curve[][100];
|
||||
extern u8 common_versus_3_player_item_curve[][100];
|
||||
extern u8 common_versus_4_player_item_curve[][100];
|
||||
extern u8 common_battle_item_curve[][100];
|
||||
extern Vtx D_0D008B78[];
|
||||
extern Vtx D_0D008BB8[];
|
||||
extern Vtx D_0D008BF8[];
|
||||
extern Vtx D_0D008C38[];
|
||||
extern Gfx common_square_plain_render[];
|
||||
extern Gfx D_0D008C90[];
|
||||
extern Gfx common_setting_render_character[];
|
||||
extern Gfx D_0D008D10[];
|
||||
extern Gfx D_0D008D58[];
|
||||
extern Gfx D_0D008DA0[];
|
||||
extern Gfx D_0D008DB8[];
|
||||
extern Gfx D_0D008DF8[];
|
||||
extern Gfx D_0D008E20[];
|
||||
extern Gfx D_0D008E48[];
|
||||
extern Gfx D_0D008E70[];
|
||||
extern Mtx D_0D008E98;
|
||||
extern Vtx D_0D008ED8[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_battle_courses[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_mario_raceway[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_choco_mountain[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_bowser_castle[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_banshee_boardwalk[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_yoshi_valley[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_frappe_snowland[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_koopa_beach[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_royal_raceway[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_luigi_raceway[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_moo_moo_farm[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_toad_turnpike[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_kalamari_desert[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_sherbet_land[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_rainbow_road[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_wario_stadium[];
|
||||
extern KartAIBehaviour common_kart_ai_behaviour_dk_jungle[];
|
||||
extern f32 D_0D009418[][4];
|
||||
extern f32 D_0D009568[][4];
|
||||
extern f32 D_0D0096B8[][4];
|
||||
extern f32 D_0D009808[][4];
|
||||
extern s32 unkPad;
|
||||
extern u8 common_texture_speedometer[];
|
||||
extern u8 common_texture_speedometer_needle[];
|
||||
extern u8 common_texture_hud_lap[];
|
||||
extern u8 common_texture_hud_123[];
|
||||
extern u8 common_texture_hud_lap_time[];
|
||||
extern u8 common_texture_hud_lap_1_on_3[];
|
||||
extern u8 common_texture_hud_lap_2_on_3[];
|
||||
extern u8 common_texture_hud_lap_3_on_3[];
|
||||
extern u8 common_texture_hud_total_time[];
|
||||
extern u8 common_texture_hud_time[];
|
||||
extern u8 common_texture_hud_normal_digit[];
|
||||
extern u8 common_texture_hud_place[][4096];
|
||||
extern u8 D_0D00E258[];
|
||||
extern u8 D_0D00F258[];
|
||||
extern u8 D_0D010258[];
|
||||
extern u8 D_0D011258[];
|
||||
extern u8 D_0D012258[];
|
||||
extern u8 D_0D013258[];
|
||||
extern u8 D_0D014258[];
|
||||
extern u8 D_0D015258[][2048];
|
||||
extern u8 D_0D015A58[];
|
||||
extern u8 D_0D016258[];
|
||||
extern u8 D_0D016A58[];
|
||||
extern u8 common_tlut_player_emblem[];
|
||||
extern s16 tlutPad[];
|
||||
extern u8 common_texture_player_emblem[][2048];
|
||||
extern u8 common_tlut_hud_type_C_rank_font[];
|
||||
extern u8 common_texture_hud_type_C_rank_font[][256];
|
||||
extern u8 common_tlut_hud_type_C_rank_tiny_font[];
|
||||
extern u8 common_texture_hud_type_C_rank_tiny_font[][64];
|
||||
extern u8 common_texture_character_portrait_border[];
|
||||
extern u8 common_tlut_portrait_mario[];
|
||||
extern u8 common_tlut_portrait_luigi[];
|
||||
extern u8 common_tlut_portrait_peach[];
|
||||
extern u8 common_tlut_portrait_toad[];
|
||||
extern u8 common_tlut_portrait_yoshi[];
|
||||
extern u8 common_tlut_portrait_donkey_kong[];
|
||||
extern u8 common_tlut_portrait_wario[];
|
||||
extern u8 common_tlut_portrait_bowser[];
|
||||
extern u8 common_tlut_portrait_bomb_kart_and_question_mark[];
|
||||
extern u8 common_texture_portrait_mario[];
|
||||
extern u8 common_texture_portrait_luigi[];
|
||||
extern u8 common_texture_portrait_peach[];
|
||||
extern u8 common_texture_portrait_toad[];
|
||||
extern u8 common_texture_portrait_yoshi[];
|
||||
extern u8 common_texture_portrait_donkey_kong[];
|
||||
extern u8 common_texture_portrait_wario[];
|
||||
extern u8 common_texture_portrait_bowser[];
|
||||
extern u8 common_texture_portrait_bomb_kart[];
|
||||
extern u8 common_texture_portrait_question_mark[];
|
||||
extern u8 common_tlut_item_window_none[];
|
||||
extern u8 common_tlut_item_window_banana[];
|
||||
extern u8 common_tlut_item_window_banana_bunch[];
|
||||
extern u8 common_tlut_item_window_mushroom[];
|
||||
extern u8 common_tlut_item_window_double_mushroom[];
|
||||
extern u8 common_tlut_item_window_triple_mushroom[];
|
||||
extern u8 common_tlut_item_window_super_mushroom[];
|
||||
extern u8 common_tlut_item_window_blue_shell[];
|
||||
extern u8 common_tlut_item_window_boo[];
|
||||
extern u8 common_tlut_item_window_green_shell[];
|
||||
extern u8 common_tlut_item_window_triple_green_shell[];
|
||||
extern u8 common_tlut_item_window_red_shell[];
|
||||
extern u8 common_tlut_item_window_triple_red_shell[];
|
||||
extern u8 common_tlut_item_window_star[];
|
||||
extern u8 common_tlut_item_window_thunder_bolt[];
|
||||
extern u8 common_tlut_item_window_fake_item_box[];
|
||||
extern u8 common_texture_item_window_none[];
|
||||
extern u8 common_texture_item_window_banana[];
|
||||
extern u8 common_texture_item_window_banana_bunch[];
|
||||
extern u8 common_texture_item_window_mushroom[];
|
||||
extern u8 common_texture_item_window_double_mushroom[];
|
||||
extern u8 common_texture_item_window_triple_mushroom[];
|
||||
extern u8 common_texture_item_window_super_mushroom[];
|
||||
extern u8 common_texture_item_window_blue_shell[];
|
||||
extern u8 common_texture_item_window_boo[];
|
||||
extern u8 common_texture_item_window_green_shell[];
|
||||
extern u8 common_texture_item_window_triple_green_shell[];
|
||||
extern u8 common_texture_item_window_red_shell[];
|
||||
extern u8 common_texture_item_window_triple_red_shell[];
|
||||
extern u8 common_texture_item_window_star[];
|
||||
extern u8 common_texture_item_window_thunder_bolt[];
|
||||
extern u8 common_texture_item_window_fake_item_box[];
|
||||
extern u8 common_tlut_lakitu_countdown[][512];
|
||||
extern u8 common_tlut_lakitu_checkered_flag[];
|
||||
extern u8 common_tlut_lakitu_second_lap[];
|
||||
extern u8 common_tlut_lakitu_final_lap[];
|
||||
extern u8 common_tlut_lakitu_reverse[];
|
||||
extern u8 common_tlut_lakitu_fishing[];
|
||||
|
||||
extern u8 common_texture_particle_leaf[];
|
||||
extern u8 common_tlut_traffic_light[];
|
||||
extern u8 common_texture_traffic_light_01[];
|
||||
extern u8 common_texture_traffic_light_02[];
|
||||
extern u8 common_texture_traffic_light_03[];
|
||||
extern u8 common_texture_traffic_light_04[];
|
||||
extern u8 common_texture_traffic_light_05[];
|
||||
extern u8 common_texture_traffic_light_06[];
|
||||
extern u8 common_texture_traffic_light_07[];
|
||||
extern u8 common_texture_traffic_light_08[];
|
||||
extern u8 common_texture_traffic_light_09[];
|
||||
extern u8 common_texture_traffic_light_10[];
|
||||
extern u8 common_texture_unused_particle_leaf[];
|
||||
extern u8 D_0D0293D8[];
|
||||
extern u8 D_0D029458[];
|
||||
extern u8 common_texture_bomb[][1024];
|
||||
extern u8 D_0D029C58[];
|
||||
extern u8 D_0D02A058[];
|
||||
extern u8 D_0D02A458[];
|
||||
extern u8 common_tlut_bomb[];
|
||||
extern u8 D_0D02AA58[];
|
||||
extern u8 common_texture_particle_spark[][1024];
|
||||
extern u8 common_texture_particle_smoke[][1024];
|
||||
extern u8 common_texture_minimap_finish_line[];
|
||||
extern u8 common_texture_minimap_kart_character[][128];
|
||||
extern u8 common_texture_minimap_progress_dot[];
|
||||
|
||||
/** @endcond */
|
||||
|
||||
#endif
|
File diff suppressed because it is too large
Load Diff
@ -1,73 +0,0 @@
|
||||
#include "data_800E45C0.h"
|
||||
|
||||
Lights1 D_800E45C0[] = {
|
||||
gdSPDefLights1(
|
||||
0x64, 0x00, 0x00,
|
||||
0x64, 0x00, 0x00, 0x00, 0x88, 0x00
|
||||
),
|
||||
gdSPDefLights1(
|
||||
0x64, 0x64, 0x00,
|
||||
0xff, 0xff, 0x00, 0x00, 0x88, 0x00
|
||||
),
|
||||
gdSPDefLights1(
|
||||
0x64, 0x64, 0x64,
|
||||
0xff, 0xff, 0xff, 0x00, 0x88, 0x00
|
||||
),
|
||||
gdSPDefLights1(
|
||||
0x64, 0x00, 0x00,
|
||||
0x64, 0x00, 0x00, 0x00, 0x88, 0x00
|
||||
),
|
||||
};
|
||||
|
||||
Lights1 D_800E4620 = gdSPDefLights1(
|
||||
0x96, 0xb4, 0xfa,
|
||||
0xff, 0xff, 0xff, 0x00, 0x00, 0x00
|
||||
);
|
||||
|
||||
Lights1 D_800E4638 = gdSPDefLights1(
|
||||
0x55, 0x55, 0x55,
|
||||
0xff, 0xff, 0xff, 0x00, 0x88, 0x00
|
||||
);
|
||||
|
||||
Lights1 D_800E4650 = gdSPDefLights1(
|
||||
0x55, 0x55, 0x00,
|
||||
0xff, 0xff, 0x00, 0x00, 0x78, 0x00
|
||||
);
|
||||
|
||||
Lights1 D_800E4668 = gdSPDefLights1(
|
||||
0x55, 0x55, 0x55,
|
||||
0xff, 0xff, 0xff, 0xbe, 0x52, 0xc9
|
||||
);
|
||||
|
||||
Lights1 D_800E4680 = gdSPDefLights1(
|
||||
0x55, 0x55, 0x55,
|
||||
0xff, 0xff, 0xff, 0x00, 0x00, 0x78
|
||||
);
|
||||
|
||||
Lights1 D_800E4698 = gdSPDefLights1(
|
||||
0x55, 0x55, 0x55,
|
||||
0xff, 0xff, 0xff, 0x00, 0x00, 0x78
|
||||
);
|
||||
|
||||
Lights1 D_800E46B0 = gdSPDefLights1(
|
||||
0x55, 0x55, 0x55,
|
||||
0xff, 0xff, 0xff, 0x00, 0x00, 0x78
|
||||
);
|
||||
|
||||
Lights1 D_800E46C8 = gdSPDefLights1(
|
||||
0x55, 0x55, 0x55,
|
||||
0xff, 0xff, 0xff, 0x00, 0x00, 0x78
|
||||
);
|
||||
|
||||
Lights1 D_800E46E0 = gdSPDefLights1(
|
||||
0x55, 0x55, 0x55,
|
||||
0xff, 0xff, 0xff, 0x00, 0x00, 0x78
|
||||
);
|
||||
|
||||
Vec3u32 D_800E46F8[] = {
|
||||
{0x000000ff, 0x000000ff, 0x000000ff},
|
||||
{0x000000ff, 0x000000ff, 0x00000000},
|
||||
{0x000000ff, 0x00000000, 0x00000000},
|
||||
};
|
||||
|
||||
u8 D_800E471C[] = { 0x00, 0x01, 0x02, 0x03, 0x02, 0x01, 0x00 };
|
@ -1,24 +0,0 @@
|
||||
#ifndef DATA_800E45C0_H
|
||||
#define DATA_800E45C0_H
|
||||
|
||||
#include <ultra64.h>
|
||||
|
||||
typedef u32 Vec3u32[3];
|
||||
|
||||
extern Lights1 D_800E45C0[];
|
||||
extern Lights1 D_800E45D8;
|
||||
extern Lights1 D_800E45F0;
|
||||
extern Lights1 D_800E4608;
|
||||
extern Lights1 D_800E4620;
|
||||
extern Lights1 D_800E4638;
|
||||
extern Lights1 D_800E4650;
|
||||
extern Lights1 D_800E4668;
|
||||
extern Lights1 D_800E4680;
|
||||
extern Lights1 D_800E4698;
|
||||
extern Lights1 D_800E46B0;
|
||||
extern Lights1 D_800E46C8;
|
||||
extern Lights1 D_800E46E0;
|
||||
extern Vec3u32 D_800E46F8[];
|
||||
extern u8 D_800E471C[];
|
||||
|
||||
#endif
|
@ -1,215 +0,0 @@
|
||||
#include <ultra64.h>
|
||||
#include "data_800E8700.h"
|
||||
|
||||
Vtx D_800E8700[] = {
|
||||
{{{ 8, 8, 0}, 0, {960, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 8, -8, 0}, 0, {960, 960}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -8, -8, 0}, 0, {0, 960}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -8, 8, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8740[] = {
|
||||
{{{ 1, 2, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 2, -2, 0}, 0, {0, 960}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, -2, 0}, 0, {960, 960}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -1, 2, 0}, 0, {960, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8780[] = {
|
||||
{{{ 2, 4, 0}, 0, {4032, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 2, 0, 0}, 0, {4032, 4032}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, 0, 0}, 0, {0, 4032}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, 4, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E87C0[] = {
|
||||
{{{ 2, 2, 0}, 0, {1984, 0}, {0x00, 0x00, 0x7F, 0xFF}}},
|
||||
{{{ 2, -2, 0}, 0, {1984, 1984}, {0x00, 0x00, 0x7F, 0xFF}}},
|
||||
{{{ -2, -2, 0}, 0, {0, 1984}, {0x00, 0x00, 0x7F, 0xFF}}},
|
||||
{{{ -2, 2, 0}, 0, {0, 0}, {0x00, 0x00, 0x7F, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8800[] = {
|
||||
{{{ 0, 4, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 0, 0, 0}, 0, {0, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -4, 0, 0}, 0, {4032, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -4, 4, 0}, 0, {4032, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8840[] = {
|
||||
{{{ 4, 4, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 4, 0, 0}, 0, {0, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 0, 0, 0}, 0, {4032, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 0, 4, 0}, 0, {4032, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8880[] = {
|
||||
{{{ 2, 2, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 2, 0, 0}, 0, {0, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, 0, 0}, 0, {4032, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, 2, 0}, 0, {4032, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E88C0[] = {
|
||||
{{{ 2, 0, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 2, -2, 0}, 0, {0, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, -2, 0}, 0, {4032, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, 0, 0}, 0, {4032, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8900[][4] = {
|
||||
{
|
||||
{{{ 2, 4, 0}, 0, {0, 0}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
{{{ 2, 0, 0}, 0, {0, 4032}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
{{{ 0, 0, 0}, 0, {1984, 4032}, {0xFF, 0xFF, 0x00, 0x70}}},
|
||||
{{{ 0, 4, 0}, 0, {1984, 0}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
},
|
||||
|
||||
{
|
||||
{{{ 0, 4, 0}, 0, {0, 0}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
{{{ 0, 0, 0}, 0, {0, 4032}, {0xFF, 0xFF, 0x00, 0x70}}},
|
||||
{{{ -2, 0, 0}, 0, {1984, 4032}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
{{{ -2, 4, 0}, 0, {1984, 0}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
},
|
||||
|
||||
{
|
||||
{{{ 2, 4, 0}, 0, {1984, 0}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
{{{ 2, 0, 0}, 0, {1984, 4032}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
{{{ 0, 0, 0}, 0, {0, 4032}, {0xFF, 0xFF, 0x00, 0x70}}},
|
||||
{{{ 0, 4, 0}, 0, {0, 0}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
},
|
||||
|
||||
{
|
||||
{{{ 0, 4, 0}, 0, {1984, 0}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
{{{ 0, 0, 0}, 0, {1984, 4032}, {0xFF, 0xFF, 0x00, 0x70}}},
|
||||
{{{ -2, 0, 0}, 0, {0, 4032}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
{{{ -2, 4, 0}, 0, {0, 0}, {0x00, 0xFF, 0xFF, 0x70}}},
|
||||
},
|
||||
};
|
||||
|
||||
Vtx D_800E8A00[] = {
|
||||
{{{ 2, 4, 0}, 0, {0, 0}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
{{{ 2, 0, 0}, 0, {0, 4032}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
{{{ 0, 0, 0}, 0, {1984, 4032}, {0xFF, 0xFF, 0x14, 0x60}}},
|
||||
{{{ 0, 4, 0}, 0, {1984, 0}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8A40[] = {
|
||||
{{{ 0, 4, 0}, 0, {0, 0}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
{{{ 0, 0, 0}, 0, {0, 4032}, {0xFF, 0xFF, 0x14, 0x60}}},
|
||||
{{{ -2, 0, 0}, 0, {1984, 4032}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
{{{ -2, 4, 0}, 0, {1984, 0}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8A80[] = {
|
||||
{{{ 2, 4, 0}, 0, {1984, 0}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
{{{ 2, 0, 0}, 0, {1984, 4032}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
{{{ 0, 0, 0}, 0, {0, 4032}, {0xFF, 0xFF, 0x14, 0x60}}},
|
||||
{{{ 0, 4, 0}, 0, {0, 0}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8AC0[] = {
|
||||
{{{ 0, 4, 0}, 0, {1984, 0}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
{{{ 0, 0, 0}, 0, {1984, 4032}, {0xFF, 0xFF, 0x14, 0x60}}},
|
||||
{{{ -2, 0, 0}, 0, {0, 4032}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
{{{ -2, 4, 0}, 0, {0, 0}, {0xF0, 0x00, 0x00, 0x60}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8B00[] = {
|
||||
{{{ 1, 12, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xF0}}},
|
||||
{{{ 2, 0, 0}, 0, {0, 4032}, {0xFF, 0xFF, 0xFF, 0xF0}}},
|
||||
{{{ -2, 0, 0}, 0, {1984, 4032}, {0xFF, 0xFF, 0xFF, 0xF0}}},
|
||||
{{{ -1, 12, 0}, 0, {1984, 0}, {0xFF, 0xFF, 0xFF, 0xF0}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8B40[] = {
|
||||
{{{ 2, 1, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 2, -1, 0}, 0, {0, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, -1, 0}, 0, {4032, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, 1, 0}, 0, {4032, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8B80[] = {
|
||||
{{{ 4, 1, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 4, -1, 0}, 0, {0, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 0, -1, 0}, 0, {4032, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 0, 1, 0}, 0, {4032, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8BC0[] = {
|
||||
{{{ 0, 1, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 0, -1, 0}, 0, {0, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -4, -1, 0}, 0, {4032, 1984}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -4, 1, 0}, 0, {4032, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8C00[] = {
|
||||
{{{ 2, 4, 0}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ 2, 0, 0}, 0, {0, 4032}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, 0, 0}, 0, {1984, 4032}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
{{{ -2, 4, 0}, 0, {1984, 0}, {0xFF, 0xFF, 0xFF, 0xFF}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8C40[] = {
|
||||
{{{ 9, 18, -9}, 0, {0, 990}, {0xFF, 0xFF, 0xFF, 0x37}}},
|
||||
{{{ 9, 0, -9}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0x9B}}},
|
||||
{{{ -9, 0, -9}, 0, {990, 0}, {0xFF, 0xFF, 0xFF, 0x9B}}},
|
||||
{{{ -9, 18, -9}, 0, {990, 990}, {0xFF, 0xFF, 0xFF, 0x37}}},
|
||||
{{{ 9, 18, 9}, 0, {0, 990}, {0xFF, 0xFF, 0xFF, 0x37}}},
|
||||
{{{ 9, 0, 9}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0x9B}}},
|
||||
{{{ -9, 0, 9}, 0, {990, 0}, {0xFF, 0xFF, 0xFF, 0x9B}}},
|
||||
{{{ -9, 18, 9}, 0, {990, 990}, {0xFF, 0xFF, 0xFF, 0x37}}},
|
||||
};
|
||||
|
||||
Vtx D_800E8CC0[] = {
|
||||
{{{ 9, 70, -9}, 0, {0, 990}, {0xFF, 0xFF, 0xFF, 0x37}}},
|
||||
{{{ 9, 0, -9}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0x9B}}},
|
||||
{{{ -9, 0, -9}, 0, {990, 0}, {0xFF, 0xFF, 0xFF, 0x9B}}},
|
||||
{{{ -9, 70, -9}, 0, {990, 990}, {0xFF, 0xFF, 0xFF, 0x37}}},
|
||||
{{{ 9, 70, 9}, 0, {0, 990}, {0xFF, 0xFF, 0xFF, 0x37}}},
|
||||
{{{ 9, 0, 9}, 0, {0, 0}, {0xFF, 0xFF, 0xFF, 0x9B}}},
|
||||
{{{ -9, 0, 9}, 0, {990, 0}, {0xFF, 0xFF, 0xFF, 0x9B}}},
|
||||
{{{ -9, 70, 9}, 0, {990, 990}, {0xFF, 0xFF, 0xFF, 0x37}}},
|
||||
};
|
||||
|
||||
Gfx D_800E8D40[] = {
|
||||
gsSPClearGeometryMode(G_LIGHTING),
|
||||
gsDPSetAlphaCompare(G_AC_NONE),
|
||||
gsDPSetRenderMode(G_RM_AA_ZB_XLU_SURF, G_RM_AA_ZB_XLU_SURF2),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPVertex(D_800E8C40, 8, 0),
|
||||
gsSP1Triangle(0, 1, 2, 0),
|
||||
gsSP1Triangle(0, 2, 3, 0),
|
||||
gsSP1Triangle(4, 7, 6, 0),
|
||||
gsSP1Triangle(4, 6, 5, 0),
|
||||
gsSP1Triangle(0, 4, 5, 0),
|
||||
gsSP1Triangle(0, 5, 1, 0),
|
||||
gsSP1Triangle(3, 7, 4, 0),
|
||||
gsSP1Triangle(0, 3, 4, 0),
|
||||
gsSP1Triangle(7, 3, 6, 0),
|
||||
gsSP1Triangle(3, 2, 6, 0),
|
||||
gsSP1Triangle(1, 5, 6, 0),
|
||||
gsSP1Triangle(2, 1, 6, 0),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
Gfx D_800E8DD0[] = {
|
||||
gsSPClearGeometryMode(G_LIGHTING),
|
||||
gsDPSetAlphaCompare(G_AC_NONE),
|
||||
gsDPSetRenderMode(G_RM_AA_ZB_XLU_SURF, G_RM_AA_ZB_XLU_SURF2),
|
||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||
gsSPVertex(D_800E8CC0, 8, 0),
|
||||
gsSP1Triangle(0, 1, 2, 0),
|
||||
gsSP1Triangle(0, 2, 3, 0),
|
||||
gsSP1Triangle(4, 7, 6, 0),
|
||||
gsSP1Triangle(4, 6, 5, 0),
|
||||
gsSP1Triangle(0, 4, 5, 0),
|
||||
gsSP1Triangle(0, 5, 1, 0),
|
||||
gsSP1Triangle(3, 7, 4, 0),
|
||||
gsSP1Triangle(0, 3, 4, 0),
|
||||
gsSP1Triangle(7, 3, 6, 0),
|
||||
gsSP1Triangle(3, 2, 6, 0),
|
||||
gsSP1Triangle(1, 5, 6, 0),
|
||||
gsSP1Triangle(2, 1, 6, 0),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
@ -1,29 +0,0 @@
|
||||
#ifndef DATA_800E8700_H
|
||||
#define DATA_800E8700_H
|
||||
|
||||
#include <ultra64.h>
|
||||
|
||||
extern Vtx D_800E8700[];
|
||||
extern Vtx D_800E8740[];
|
||||
extern Vtx D_800E8780[];
|
||||
extern Vtx D_800E87C0[];
|
||||
extern Vtx D_800E8800[];
|
||||
extern Vtx D_800E8840[];
|
||||
extern Vtx D_800E8880[];
|
||||
extern Vtx D_800E88C0[];
|
||||
extern Vtx D_800E8900[][4];
|
||||
extern Vtx D_800E8A00[];
|
||||
extern Vtx D_800E8A40[];
|
||||
extern Vtx D_800E8A80[];
|
||||
extern Vtx D_800E8AC0[];
|
||||
extern Vtx D_800E8B00[];
|
||||
extern Vtx D_800E8B40[];
|
||||
extern Vtx D_800E8B80[];
|
||||
extern Vtx D_800E8BC0[];
|
||||
extern Vtx D_800E8C00[];
|
||||
extern Vtx D_800E8C40[];
|
||||
extern Vtx D_800E8CC0[];
|
||||
extern Gfx D_800E8D40[];
|
||||
extern Gfx D_800E8DD0[];
|
||||
|
||||
#endif
|
@ -3,7 +3,7 @@
|
||||
#include <PR/ultratypes.h>
|
||||
#include <PR/gbi.h>
|
||||
#include "data_segment2.h"
|
||||
#include "src/data/startup_logo.h"
|
||||
#include <assets/startup_logo.h>"
|
||||
|
||||
Gfx D_02007650[] = {
|
||||
gsDPPipeSync(),
|
||||
|
@ -1,393 +0,0 @@
|
||||
#include "data/path_spawn_data.h"
|
||||
#include "courses/all_course_data.h"
|
||||
#include "ending/ceremony_data.h"
|
||||
|
||||
KartAIBehaviour *gKartAIBehaviourLUT[NUM_COURSES+1] = {
|
||||
common_kart_ai_behaviour_mario_raceway,
|
||||
common_kart_ai_behaviour_choco_mountain,
|
||||
common_kart_ai_behaviour_bowser_castle,
|
||||
common_kart_ai_behaviour_banshee_boardwalk,
|
||||
common_kart_ai_behaviour_yoshi_valley,
|
||||
common_kart_ai_behaviour_frappe_snowland,
|
||||
common_kart_ai_behaviour_koopa_beach,
|
||||
common_kart_ai_behaviour_royal_raceway,
|
||||
common_kart_ai_behaviour_luigi_raceway,
|
||||
common_kart_ai_behaviour_moo_moo_farm,
|
||||
common_kart_ai_behaviour_toad_turnpike,
|
||||
common_kart_ai_behaviour_kalamari_desert,
|
||||
common_kart_ai_behaviour_sherbet_land,
|
||||
common_kart_ai_behaviour_rainbow_road,
|
||||
common_kart_ai_behaviour_wario_stadium,
|
||||
common_kart_ai_behaviour_battle_courses, /* COURSE_BLOCK_FORT */
|
||||
common_kart_ai_behaviour_battle_courses, /* COURSE_SKYSCRAPER */
|
||||
common_kart_ai_behaviour_battle_courses, /* COURSE_DOUBLE_DECK */
|
||||
common_kart_ai_behaviour_dk_jungle,
|
||||
common_kart_ai_behaviour_battle_courses, /* COURSE_BIG_DONUT */
|
||||
common_kart_ai_behaviour_battle_courses, /* COURSE_AWARD_CEREMONY */
|
||||
NULL, /* NUM_COURSES */
|
||||
};
|
||||
|
||||
TrackWaypoint nullPath = { 0x8000, 0x0000, 0x0000, 0x0000 };
|
||||
|
||||
TrackWaypoint *gCoursePathTable[][4] = {
|
||||
{ d_course_mario_raceway_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_choco_mountain_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_bowsers_castle_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_banshee_boardwalk_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_yoshi_valley_unknown_waypoints0, d_course_yoshi_valley_unknown_waypoints1, d_course_yoshi_valley_unknown_waypoints2, d_course_yoshi_valley_unknown_waypoints3 },
|
||||
{ d_course_frappe_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_koopa_troopa_beach_unknown_waypoints0, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_royal_raceway_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_luigi_raceway_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_moo_moo_farm_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_toads_turnpike_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_kalimari_desert_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_sherbet_land_uknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_rainbow_road_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_wario_stadium_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ &nullPath, &nullPath, &nullPath, &nullPath },
|
||||
{ &nullPath, &nullPath, &nullPath, &nullPath },
|
||||
{ &nullPath, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_dks_jungle_parkway_unknown_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ &nullPath, &nullPath, &nullPath, &nullPath },
|
||||
{ ending_sequence, ending_sequence2, ending_sequence3, ending_sequence4 },
|
||||
};
|
||||
|
||||
TrackWaypoint *D_800DC8D0[][4] = {
|
||||
{ d_course_mario_raceway_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_choco_mountain_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_bowsers_castle_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_banshee_boardwalk_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_yoshi_valley_track_waypoints0, d_course_yoshi_valley_track_waypoints1, d_course_yoshi_valley_track_waypoints2, d_course_yoshi_valley_track_waypoints3 },
|
||||
{ d_course_frappe_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_koopa_troopa_beach_track_waypoints0, d_course_koopa_troopa_beach_track_waypoints1, &nullPath, &nullPath },
|
||||
{ d_course_royal_raceway_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_luigi_raceway_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_moo_moo_farm_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_toads_turnpike_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_kalimari_desert_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_sherbet_land_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_rainbow_road_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_wario_staduim_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ &nullPath, &nullPath, &nullPath, &nullPath },
|
||||
{ &nullPath, &nullPath, &nullPath, &nullPath },
|
||||
{ &nullPath, &nullPath, &nullPath, &nullPath },
|
||||
{ d_course_dks_jungle_parkway_track_waypoints, &nullPath, &nullPath, &nullPath },
|
||||
{ &nullPath, &nullPath, &nullPath, &nullPath },
|
||||
{ &nullPath, &nullPath, &nullPath, &nullPath },
|
||||
};
|
||||
|
||||
s16 D_800DCA20[] = {
|
||||
0x0030, 0x0035, 0x0035, 0x0035, 0x0035, 0x0035, 0x0035, 0x0035,
|
||||
0x0030, 0x0030, 0x0028, 0x0035, 0x0035, 0x0026, 0x0035, 0x0035,
|
||||
0x0035, 0x0035, 0x0035, 0x0028, 0x0035, 0x0000,
|
||||
};
|
||||
|
||||
f32 gKartAICourseMaximumWaypointSeparation[] = {
|
||||
50.0, 35.0, 35.0, 40.0,
|
||||
35.0, 50.0, 50.0, 50.0,
|
||||
50.0, 50.0, 50.0, 50.0,
|
||||
50.0, 50.0, 50.0, -1.0,
|
||||
-1.0, -1.0, 40.0, -1.0,
|
||||
40.0,
|
||||
};
|
||||
|
||||
f32 gKartAICourseMinimumWaypointSeparation[] = {
|
||||
0.3, 0.3, 0.2, 0.4,
|
||||
0.0, 0.3, 0.5, 0.4,
|
||||
0.7, 0.5, 0.5, 0.3,
|
||||
0.3, 0.4, 0.6, 0.1,
|
||||
0.5, 0.5, 0.1, 0.5,
|
||||
0.5,
|
||||
};
|
||||
|
||||
// I think the types for D_800DCAF4, D_800DCB34, and D_800DCBB4 are all
|
||||
// wrong in some way based on their usage in func_800088D8
|
||||
// But I cannot be bothered to figure it out
|
||||
s16 D_800DCAF4[] = {
|
||||
0x0014, 0x0005, 0x000a, 0x000f, 0x0014, 0x0019, 0x001e, 0x0023,
|
||||
0x001e, 0x0019, 0x0032, 0x004b, 0x0064, 0x007d, 0x0096, 0x00af,
|
||||
0x0028, 0x001e, 0x003c, 0x005a, 0x0078, 0x0096, 0x00b4, 0x00d2,
|
||||
0x0032, 0x0028, 0x0050, 0x0078, 0x00a0, 0x00c8, 0x00f0, 0x0118,
|
||||
};
|
||||
|
||||
s16 D_800DCB34[] = {
|
||||
0x0014, 0x0005, 0x000a, 0x000f, 0x0014, 0x0019, 0x001e, 0x0023,
|
||||
0x001e, 0x0019, 0x002d, 0x0041, 0x005a, 0x0073, 0x008c, 0x00a5,
|
||||
0x0028, 0x0003, 0x0006, 0x0010, 0x002e, 0x0031, 0x003b, 0x0059,
|
||||
0x0032, 0x001e, 0x003c, 0x003f, 0x0049, 0x004e, 0x006c, 0x008a,
|
||||
0x000a, 0x0005, 0x000a, 0x000f, 0x0014, 0x0019, 0x001e, 0x0023,
|
||||
0x000a, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
|
||||
0x000a, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
|
||||
0x000a, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
|
||||
};
|
||||
|
||||
s16 *D_800DCBB4[] = {
|
||||
D_800DCB34, D_800DCAF4, D_800DCAF4, D_800DCAF4,
|
||||
D_800DCAF4, D_800DCAF4, D_800DCAF4, D_800DCAF4,
|
||||
D_800DCAF4, D_800DCAF4, D_800DCAF4, D_800DCAF4,
|
||||
D_800DCAF4, D_800DCAF4, D_800DCAF4, D_800DCAF4,
|
||||
D_800DCAF4, D_800DCAF4, D_800DCAF4, D_800DCAF4,
|
||||
D_800DCAF4,
|
||||
};
|
||||
|
||||
BombKartSpawn D_800DCC08[][NUM_BOMB_KARTS_MAX] = {
|
||||
{
|
||||
// Mario Raceway Bomb Kart spawns
|
||||
{ 0x0028, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0109, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x011d, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x01a4, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Choco Mountain Bomb Kart spawns
|
||||
{ 0x008c, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00a5, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x014a, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0226, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0253, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Bowser Castle Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0096, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00c8, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0104, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x01b3, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Banshee Boardwalk Bomb Kart spawns
|
||||
{ 0x006e, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00be, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x01db, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0262, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Yoshi Valley Bomb Kart spawns
|
||||
{ 0x0000, 0x0000, 0.8333333, -1533.0, -682.0, -103.0, 0.0 },
|
||||
{ 0x000a, 0x0000, 0.8333333, -1565.0, -619.0, -109.0, 0.0 },
|
||||
{ 0x0014, 0x0000, 0.8333333, -1529.0, -579.0, -109.0, 0.0 },
|
||||
{ 0x001e, 0x0000, 0.8333333, -1588.0, -534.0, -106.0, 0.0 },
|
||||
{ 0x0028, 0x0000, 0.8333333, -1598.0, -207.0, -105.0, 0.0 },
|
||||
{ 0x0032, 0x0000, 0.8333333, -1646.0, -147.0, -93.0, 0.0 },
|
||||
{ 0x003c, 0x0000, 0.8333333, -2532.0, -445.0, -90.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Frappe Snowland Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0122, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x015e, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Koopa Troopa Beach Bomb Kart spawns
|
||||
{ 0x003c, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0078, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00c8, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0118, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x01b3, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Royal Raceway Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0128, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0190, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x02ea, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Luigi Raceway Bomb Kart spawns
|
||||
{ 0x0032, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00c8, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0131, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x01b8, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0203, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Moo Moo Farm Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x008c, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00e1, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x013c, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x01b2, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Toads Turnpike Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00c8, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Kalamari Desert Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x008a, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0118, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0194, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x01fe, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Sherbet Land Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00c8, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Rainbow Road Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00c8, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Wario Stadium Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00c8, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Block Fort Bomb Kart spawns
|
||||
{ 0x0014, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Skyscraper Bomb Kart spawns
|
||||
{ 0x0014, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Double Deck Bomb Kart spawns
|
||||
{ 0x0014, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// DK Jungle Bomb Kart spawns
|
||||
{ 0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00be, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Big Donut Bomb Kart spawns
|
||||
{ 0x0014, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
|
||||
{
|
||||
// Award Ceremony Bomb Kart spawns
|
||||
{ 0x0003, 0x0005, 1.250000, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
{ 0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0 },
|
||||
},
|
||||
};
|
||||
|
||||
struct _struct_D_800DD9D0_0x10 D_800DD9D0[] = {
|
||||
{ 0x0258, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x02bc, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x030c, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x02ee, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x02b2, 0x02a8, 0x02b2, 0x0320, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x02ee, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x02bc, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x03e8, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x02da, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x0230, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x03e8, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x02bc, 0x0001, 0x0001, 0x0001, 0x0226, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x02bc, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x076c, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x0640, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x0370, 0x0001, 0x0001, 0x0001, 0x01f4, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
{ 0x01f4, 0x01f4, 0x01f4, 0x01f4, 0x0001, { 0x0000, 0x0000, 0x0000}},
|
||||
};
|
||||
|
||||
s32 D_800DDB20 = 0x00000000;
|
||||
|
||||
s32 D_800DDB24 = 0x00000001;
|
@ -1,33 +0,0 @@
|
||||
#ifndef PATH_SPAWN_DATA_H
|
||||
#define PATH_SPAWN_DATA_H
|
||||
|
||||
#include "waypoints.h"
|
||||
#include "common_structs.h"
|
||||
#include "common_textures.h"
|
||||
#include "include/bomb_kart.h"
|
||||
|
||||
struct _struct_D_800DD9D0_0x10 {
|
||||
/* 0x00 */ u16 unk0;
|
||||
/* 0x02 */ u16 unk2;
|
||||
/* 0x04 */ u16 unk4;
|
||||
/* 0x06 */ u16 unk6;
|
||||
/* 0x08 */ u16 unk8;
|
||||
/* 0x0A */ char padA[6];
|
||||
}; // size 0x10
|
||||
|
||||
extern KartAIBehaviour *gKartAIBehaviourLUT[NUM_COURSES+1];
|
||||
extern TrackWaypoint nullPath;
|
||||
extern TrackWaypoint *gCoursePathTable[][4];
|
||||
extern TrackWaypoint *D_800DC8D0[][4];
|
||||
extern s16 D_800DCA20[];
|
||||
extern f32 gKartAICourseMaximumWaypointSeparation[];
|
||||
extern f32 gKartAICourseMinimumWaypointSeparation[];
|
||||
extern s16 D_800DCAF4[];
|
||||
extern s16 D_800DCB34[];
|
||||
extern s16 *D_800DCBB4[];
|
||||
extern BombKartSpawn D_800DCC08[][NUM_BOMB_KARTS_MAX];
|
||||
extern struct _struct_D_800DD9D0_0x10 D_800DD9D0[];
|
||||
extern s32 D_800DDB20;
|
||||
extern s32 D_800DDB24;
|
||||
|
||||
#endif
|
73
src/data/path_spawn_metadata.c
Normal file
73
src/data/path_spawn_metadata.c
Normal file
@ -0,0 +1,73 @@
|
||||
#include "data/path_spawn_metadata.h"
|
||||
#include "courses/all_course_data.h"
|
||||
#include <assets/ceremony_data.h>
|
||||
|
||||
// @warning Array contains an extra zero element at the end.
|
||||
KartAIBehaviour *gKartAIBehaviourLUT[] = {
|
||||
#include "assets/course_metadata/gKartAIBehaviourLUT.inc.c"
|
||||
|
||||
};
|
||||
|
||||
TrackWaypoint nullPath = { 0x8000, 0x0000, 0x0000, 0x0000 };
|
||||
|
||||
TrackWaypoint *gCoursePathTable[][4] = {
|
||||
#include "assets/course_metadata/gCoursePathTableUnknown.inc.c"
|
||||
};
|
||||
|
||||
TrackWaypoint *gCoursePathTable2[][4] = {
|
||||
#include "assets/course_metadata/gCoursePathTable.inc.c"
|
||||
};
|
||||
|
||||
// @warning Array contains an extra zero element at the end.
|
||||
s16 gKartAISteeringSensitivity[] = {
|
||||
#include "assets/course_metadata/gCPUSteeringSensitivity.inc.c"
|
||||
};
|
||||
|
||||
// Possibly maximum cpu separation
|
||||
f32 gKartAICourseMaximumSeparation[] = {
|
||||
#include "assets/course_metadata/gKartAICourseMaximumSeparation.inc.c"
|
||||
};
|
||||
|
||||
// Possibly minimum cpu separation
|
||||
f32 gKartAICourseMinimumSeparation[] = {
|
||||
#include "assets/course_metadata/gKartAICourseMinimumSeparation.inc.c"
|
||||
};
|
||||
|
||||
// I think the types for D_800DCAF4, D_800DCB34, and D_800DCBB4 are all
|
||||
// wrong in some way based on their usage in func_800088D8
|
||||
// But I cannot be bothered to figure it out
|
||||
// Used as a ptr in D_800DCBB4
|
||||
s16 D_800DCAF4[] = {
|
||||
0x0014, 0x0005, 0x000a, 0x000f, 0x0014, 0x0019, 0x001e, 0x0023,
|
||||
0x001e, 0x0019, 0x0032, 0x004b, 0x0064, 0x007d, 0x0096, 0x00af,
|
||||
0x0028, 0x001e, 0x003c, 0x005a, 0x0078, 0x0096, 0x00b4, 0x00d2,
|
||||
0x0032, 0x0028, 0x0050, 0x0078, 0x00a0, 0x00c8, 0x00f0, 0x0118,
|
||||
};
|
||||
|
||||
// Used as a ptr in D_800DCBB4
|
||||
s16 D_800DCB34[] = {
|
||||
0x0014, 0x0005, 0x000a, 0x000f, 0x0014, 0x0019, 0x001e, 0x0023,
|
||||
0x001e, 0x0019, 0x002d, 0x0041, 0x005a, 0x0073, 0x008c, 0x00a5,
|
||||
0x0028, 0x0003, 0x0006, 0x0010, 0x002e, 0x0031, 0x003b, 0x0059,
|
||||
0x0032, 0x001e, 0x003c, 0x003f, 0x0049, 0x004e, 0x006c, 0x008a,
|
||||
0x000a, 0x0005, 0x000a, 0x000f, 0x0014, 0x0019, 0x001e, 0x0023,
|
||||
0x000a, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
|
||||
0x000a, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
|
||||
0x000a, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005, 0x0005,
|
||||
};
|
||||
|
||||
s16 *D_800DCBB4[] = {
|
||||
#include "assets/course_metadata/D_800DCBB4.inc.c"
|
||||
};
|
||||
|
||||
BombKartSpawn gBombKartSpawns[][NUM_BOMB_KARTS_MAX] = {
|
||||
#include "assets/course_metadata/gBombKartSpawns.inc.c"
|
||||
};
|
||||
|
||||
struct _struct_gCoursePathSizes_0x10 gCoursePathSizes[] = {
|
||||
#include "assets/course_metadata/gCoursePathSizes.inc.c"
|
||||
};
|
||||
|
||||
s32 D_800DDB20 = 0x00000000;
|
||||
|
||||
s32 D_800DDB24 = 0x00000001;
|
33
src/data/path_spawn_metadata.h
Normal file
33
src/data/path_spawn_metadata.h
Normal file
@ -0,0 +1,33 @@
|
||||
#ifndef PATH_SPAWN_METADATA_H
|
||||
#define PATH_SPAWN_METADATA_H
|
||||
|
||||
#include "waypoints.h"
|
||||
#include "common_structs.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "include/bomb_kart.h"
|
||||
|
||||
struct _struct_gCoursePathSizes_0x10 {
|
||||
/* 0x00 */ u16 unk0;
|
||||
/* 0x02 */ u16 unk2;
|
||||
/* 0x04 */ u16 unk4;
|
||||
/* 0x06 */ u16 unk6;
|
||||
/* 0x08 */ u16 unk8;
|
||||
/* 0x0A */ char padA[6];
|
||||
}; // size 0x10
|
||||
|
||||
extern KartAIBehaviour *gKartAIBehaviourLUT[];
|
||||
extern TrackWaypoint nullPath;
|
||||
extern TrackWaypoint *gCoursePathTable[][4];
|
||||
extern TrackWaypoint *gCoursePathTable2[][4];
|
||||
extern s16 gKartAISteeringSensitivity[];
|
||||
extern f32 gKartAICourseMaximumSeparation[];
|
||||
extern f32 gKartAICourseMinimumSeparation[];
|
||||
extern s16 D_800DCAF4[];
|
||||
extern s16 D_800DCB34[];
|
||||
extern s16 *D_800DCBB4[];
|
||||
extern BombKartSpawn gBombKartSpawns[][NUM_BOMB_KARTS_MAX];
|
||||
extern struct _struct_gCoursePathSizes_0x10 gCoursePathSizes[];
|
||||
extern s32 D_800DDB20;
|
||||
extern s32 D_800DDB24;
|
||||
|
||||
#endif
|
File diff suppressed because it is too large
Load Diff
@ -1,33 +0,0 @@
|
||||
#ifndef STARTUP_LOGO_H
|
||||
#define STARTUP_LOGO_H
|
||||
|
||||
extern Vtx startup_logo[];
|
||||
extern Gfx startup_logo_dl[];
|
||||
extern Gfx startup_logo_dl2[];
|
||||
extern Gfx startup_logo_dl3[];
|
||||
extern Gfx startup_logo_dl4[];
|
||||
extern Gfx startup_logo_dl5[];
|
||||
extern Gfx startup_logo_dl6[];
|
||||
extern Gfx startup_logo_dl7[];
|
||||
extern Gfx startup_logo_dl8[];
|
||||
extern Vtx startup_logo2[];
|
||||
extern Gfx startup_logo_dl9[];
|
||||
extern Gfx startup_logo_dl10[];
|
||||
extern Gfx startup_logo_dl11[];
|
||||
extern Gfx startup_logo_dl12[];
|
||||
extern Gfx startup_logo_dl13[];
|
||||
extern Gfx startup_logo_dl14[];
|
||||
extern Gfx startup_logo_dl15[];
|
||||
extern Gfx startup_logo_dl16[];
|
||||
extern Gfx startup_logo_dl17[];
|
||||
extern Gfx startup_logo_dl18[];
|
||||
extern Gfx startup_logo_dl19[];
|
||||
extern Gfx startup_logo_dl20[];
|
||||
extern u8 reflection_map_gold[2048];
|
||||
extern Gfx startup_texture_dl1[];
|
||||
extern Lights1 lights;
|
||||
extern Gfx startup_texture_dl2[];
|
||||
extern Gfx startup_texture_dl3[];
|
||||
extern Gfx startup_texture_dl4[];
|
||||
|
||||
#endif
|
@ -30,7 +30,7 @@
|
||||
#include <code_80281780.h>
|
||||
#include <code_80281C40.h>
|
||||
#include <collision.h>
|
||||
#include <common_textures.h>
|
||||
#include <assets/common_data.h>
|
||||
#include <credits.h>
|
||||
#include <data_segment2.h>
|
||||
#include <buffers.h>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,56 +0,0 @@
|
||||
#ifndef CEREMONY_DATA_H
|
||||
#define CEREMONY_DATA_H
|
||||
|
||||
#include <types.h>
|
||||
#include "waypoints.h"
|
||||
|
||||
extern Vtx silver_trophy_model[];
|
||||
extern Gfx silver_trophy_dl[];
|
||||
extern Gfx silver_trophy_dl2[];
|
||||
extern Gfx silver_trophy_dl3[];
|
||||
extern Gfx silver_trophy_dl4[];
|
||||
extern Gfx silver_trophy_dl5[];
|
||||
extern Gfx silver_trophy_dl6[];
|
||||
extern Vtx gold_trophy_model[];
|
||||
extern u8 reflection_map_brass[];
|
||||
extern u8 reflection_map_silver[];
|
||||
extern u8 reflection_map_gold[];
|
||||
extern Gfx gold_trophy_dl[];
|
||||
extern Gfx gold_trophy_dl2[];
|
||||
extern Gfx gold_trophy_dl3[];
|
||||
extern Gfx gold_trophy_dl4[];
|
||||
extern Gfx gold_trophy_dl5[];
|
||||
extern Gfx gold_trophy_dl6[];
|
||||
extern Gfx gold_trophy_dl7[];
|
||||
extern Gfx gold_trophy_dl8[];
|
||||
extern Gfx gold_trophy_dl9[];
|
||||
extern Gfx gold_trophy_dl10[];
|
||||
extern Gfx gold_trophy_dl11[];
|
||||
extern Gfx gold_trophy_dl12[];
|
||||
extern Gfx gold_trophy_dl13[];
|
||||
extern Gfx gold_trophy_dl14[];
|
||||
extern Gfx gold_trophy_dl15[];
|
||||
extern Lights1 light1;
|
||||
extern u8 texture_podium1[];
|
||||
extern Vtx tall_podium_model[];
|
||||
extern Gfx podium_dl[];
|
||||
extern Gfx podium_dl2[];
|
||||
extern Gfx podium_dl3[];
|
||||
extern Vtx short_podium_model[];
|
||||
extern Lights1 light2;
|
||||
extern u8 texture_podium2[];
|
||||
extern Gfx podium2_dl[];
|
||||
extern Gfx podium2_dl2[];
|
||||
extern Gfx podium2_dl3[];
|
||||
extern Lights1 light3;
|
||||
extern u8 texture_podium3[];
|
||||
extern Vtx short_podium_model2[];
|
||||
extern Gfx podium3_dl[];
|
||||
extern Gfx podium3_dl2[];
|
||||
extern Gfx podium3_dl3[];
|
||||
extern TrackWaypoint ending_sequence[];
|
||||
extern TrackWaypoint ending_sequence2[];
|
||||
extern TrackWaypoint ending_sequence3[];
|
||||
extern TrackWaypoint ending_sequence4[];
|
||||
|
||||
#endif
|
@ -7,7 +7,7 @@
|
||||
#include <common_structs.h>
|
||||
#include "main.h"
|
||||
#include "memory.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "render_player.h"
|
||||
#include "render_objects.h"
|
||||
#include "podium_ceremony_actors.h"
|
||||
|
@ -1047,7 +1047,7 @@ void splash_menu_act(struct Controller *controller, u16 arg1) {
|
||||
{
|
||||
if (btnAndStick & R_JPAD) {
|
||||
play_sound2(SOUND_MENU_CURSOR_MOVE);
|
||||
if (gCurrentCourseId < 0x13) {
|
||||
if (gCurrentCourseId < (NUM_COURSES - 2)) {
|
||||
gCurrentCourseId += 1;
|
||||
} else {
|
||||
gCurrentCourseId = 0;
|
||||
@ -1058,7 +1058,7 @@ void splash_menu_act(struct Controller *controller, u16 arg1) {
|
||||
if (gCurrentCourseId > 0) {
|
||||
gCurrentCourseId -= 1;
|
||||
} else {
|
||||
gCurrentCourseId = 0x13;
|
||||
gCurrentCourseId = (NUM_COURSES - 2);
|
||||
}
|
||||
}
|
||||
if (btnAndStick & U_JPAD) {
|
||||
|
@ -21,7 +21,7 @@
|
||||
#include "effects.h"
|
||||
#include "collision.h"
|
||||
#include "audio/external.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "courses/all_course_data.h"
|
||||
#include "main.h"
|
||||
#include "data/other_textures.h"
|
||||
|
@ -16,6 +16,7 @@
|
||||
// Here to appease the pragma gods
|
||||
double fabs(double x);
|
||||
|
||||
void func_802B5794(Mat4, Vec3f, Vec3f);
|
||||
s32 func_802B4F60(s32, Vec3f, s32, f32, f32);
|
||||
s32 render_set_position(Mat4, s32);
|
||||
f32 func_802B51E8(Vec3f, Vec3f);
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include <common_structs.h>
|
||||
#include "memory.h"
|
||||
#include "camera.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "render_player.h"
|
||||
#include "code_80057C60.h"
|
||||
#include "code_80091750.h"
|
||||
@ -318,52 +318,37 @@ s32 D_802B8A90[] = {
|
||||
0xba001402, 0x00000000, 0xb8000000, 0x00000000,
|
||||
};
|
||||
|
||||
struct Skybox sSkyColors[21] = {
|
||||
{128, 4280, 6136, 216, 7144, 32248},
|
||||
{255, 255, 255, 255, 255, 255},
|
||||
{48, 1544, 49528, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{113, 70, 255, 255, 184, 99},
|
||||
{28, 11, 90, 0, 99, 164},
|
||||
{48, 1688, 54136, 216, 7144, 32248},
|
||||
{238, 144, 255, 255, 224, 240},
|
||||
{128, 4280, 6136, 216, 7144, 32248},
|
||||
{0, 18, 255, 197, 211, 255},
|
||||
{0, 2, 94, 209, 65, 23},
|
||||
{195, 231, 255, 255, 0xc0, 0},
|
||||
{128, 4280, 6136, 216, 7144, 32248},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{20, 30, 56, 40, 60, 110},
|
||||
{128, 4280, 6136, 216, 7144, 32248},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{113, 70, 255, 255, 184, 99},
|
||||
{255, 174, 0, 255, 229, 124},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{238, 144, 255, 255, 224, 240},
|
||||
struct Skybox sSkyColors[] = {
|
||||
#include "assets/course_metadata/sSkyColors.inc.c"
|
||||
|
||||
};
|
||||
|
||||
struct Skybox D_802B8BCC[21] = {
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{255, 255, 255, 255, 255, 255},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{95, 40, 15, 0, 0, 0},
|
||||
{0, 99, 164, 0, 0, 0},
|
||||
{48, 1688, 54136, 0, 0, 0},
|
||||
{255, 224, 240, 0, 0, 0},
|
||||
{216, 7144, 32248, 0, 0, 0},
|
||||
{255, 184, 99, 0, 0, 0},
|
||||
{209, 65, 23, 0, 0, 0},
|
||||
{255, 192, 0, 0, 0, 0},
|
||||
{216, 7144, 32248, 128, 4280, 6136},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{216, 7144, 32248, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{255, 224, 240, 0, 0, 0},
|
||||
{22, 145, 22, 0, 0, 0},
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
{255, 224, 240, 0, 0, 0},
|
||||
// struct Skybox sSkyColors[] = {
|
||||
// {128, 4280, 6136, 216, 7144, 32248},
|
||||
// {255, 255, 255, 255, 255, 255},
|
||||
// {48, 1544, 49528, 0, 0, 0},
|
||||
// {0, 0, 0, 0, 0, 0},
|
||||
// {113, 70, 255, 255, 184, 99},
|
||||
// {28, 11, 90, 0, 99, 164},
|
||||
// {48, 1688, 54136, 216, 7144, 32248},
|
||||
// {238, 144, 255, 255, 224, 240},
|
||||
// {128, 4280, 6136, 216, 7144, 32248},
|
||||
// {0, 18, 255, 197, 211, 255},
|
||||
// {0, 2, 94, 209, 65, 23},
|
||||
// {195, 231, 255, 255, 0xc0, 0},
|
||||
// {128, 4280, 6136, 216, 7144, 32248},
|
||||
// {0, 0, 0, 0, 0, 0},
|
||||
// {20, 30, 56, 40, 60, 110},
|
||||
// {128, 4280, 6136, 216, 7144, 32248},
|
||||
// {0, 0, 0, 0, 0, 0},
|
||||
// {113, 70, 255, 255, 184, 99},
|
||||
// {255, 174, 0, 255, 229, 124},
|
||||
// {0, 0, 0, 0, 0, 0},
|
||||
// {238, 144, 255, 255, 224, 240},
|
||||
// };
|
||||
|
||||
struct Skybox sSkyColors2[] = {
|
||||
#include "assets/course_metadata/sSkyColors2.inc.c"
|
||||
};
|
||||
|
||||
void func_802A450C(Vtx *skybox) {
|
||||
@ -415,18 +400,18 @@ void func_802A450C(Vtx *skybox) {
|
||||
skybox[3].v.cn[0] = sSkyColors[gCurrentCourseId].unk0;
|
||||
skybox[3].v.cn[1] = sSkyColors[gCurrentCourseId].unk2;
|
||||
skybox[3].v.cn[2] = sSkyColors[gCurrentCourseId].unk4;
|
||||
skybox[4].v.cn[0] = D_802B8BCC[gCurrentCourseId].unk0;
|
||||
skybox[4].v.cn[1] = D_802B8BCC[gCurrentCourseId].unk2;
|
||||
skybox[4].v.cn[2] = D_802B8BCC[gCurrentCourseId].unk4;
|
||||
skybox[5].v.cn[0] = D_802B8BCC[gCurrentCourseId].unk6;
|
||||
skybox[5].v.cn[1] = D_802B8BCC[gCurrentCourseId].unk8;
|
||||
skybox[5].v.cn[2] = D_802B8BCC[gCurrentCourseId].unkA;
|
||||
skybox[6].v.cn[0] = D_802B8BCC[gCurrentCourseId].unk6;
|
||||
skybox[6].v.cn[1] = D_802B8BCC[gCurrentCourseId].unk8;
|
||||
skybox[6].v.cn[2] = D_802B8BCC[gCurrentCourseId].unkA;
|
||||
skybox[7].v.cn[0] = D_802B8BCC[gCurrentCourseId].unk0;
|
||||
skybox[7].v.cn[1] = D_802B8BCC[gCurrentCourseId].unk2;
|
||||
skybox[7].v.cn[2] = D_802B8BCC[gCurrentCourseId].unk4;
|
||||
skybox[4].v.cn[0] = sSkyColors2[gCurrentCourseId].unk0;
|
||||
skybox[4].v.cn[1] = sSkyColors2[gCurrentCourseId].unk2;
|
||||
skybox[4].v.cn[2] = sSkyColors2[gCurrentCourseId].unk4;
|
||||
skybox[5].v.cn[0] = sSkyColors2[gCurrentCourseId].unk6;
|
||||
skybox[5].v.cn[1] = sSkyColors2[gCurrentCourseId].unk8;
|
||||
skybox[5].v.cn[2] = sSkyColors2[gCurrentCourseId].unkA;
|
||||
skybox[6].v.cn[0] = sSkyColors2[gCurrentCourseId].unk6;
|
||||
skybox[6].v.cn[1] = sSkyColors2[gCurrentCourseId].unk8;
|
||||
skybox[6].v.cn[2] = sSkyColors2[gCurrentCourseId].unkA;
|
||||
skybox[7].v.cn[0] = sSkyColors2[gCurrentCourseId].unk0;
|
||||
skybox[7].v.cn[1] = sSkyColors2[gCurrentCourseId].unk2;
|
||||
skybox[7].v.cn[2] = sSkyColors2[gCurrentCourseId].unk4;
|
||||
}
|
||||
|
||||
void func_802A487C(Vtx *arg0, UNUSED struct UnkStruct_800DC5EC *arg1, UNUSED s32 arg2, UNUSED s32 arg3, UNUSED f32 *arg4) {
|
||||
@ -831,7 +816,11 @@ void render_player_one_2p_screen_vertical(void) {
|
||||
UNUSED s32 pad[2];
|
||||
u16 perspNorm;
|
||||
Mat4 matrix;
|
||||
#ifdef VERSION_EU
|
||||
f32 sp9C;
|
||||
#else
|
||||
UNUSED f32 sp9C;
|
||||
#endif
|
||||
|
||||
func_802A50EC();
|
||||
#ifdef VERSION_EU
|
||||
@ -888,7 +877,11 @@ void render_player_two_2p_screen_vertical(void) {
|
||||
UNUSED s32 pad[2];
|
||||
u16 perspNorm;
|
||||
Mat4 matrix;
|
||||
#ifdef VERSION_EU
|
||||
f32 sp9C;
|
||||
#else
|
||||
UNUSED f32 sp9C;
|
||||
#endif
|
||||
|
||||
func_802A5004();
|
||||
init_rdp();
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include "objects.h"
|
||||
#include "waypoints.h"
|
||||
#include "bomb_kart.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "render_player.h"
|
||||
#include "code_80004740.h"
|
||||
#include "code_80005FD0.h"
|
||||
@ -30,7 +30,7 @@
|
||||
#include "menus.h"
|
||||
#include "code_80086E70.h"
|
||||
#include "code_800029B0.h"
|
||||
#include "src/data/data_800E45C0.h"
|
||||
#include <assets/data_800E45C0.h>
|
||||
#include "courses/all_course_data.h"
|
||||
#include <vehicles.h>
|
||||
#include "data/some_data.h"
|
||||
|
@ -17,7 +17,7 @@
|
||||
#include "waypoints.h"
|
||||
#include "player_controller.h"
|
||||
#include "render_objects.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "skybox_and_splitscreen.h"
|
||||
#include "spawn_players.h"
|
||||
|
||||
@ -705,44 +705,67 @@ void mtxf_scale2(Mat4 arg0, f32 scale) {
|
||||
arg0[2][2] *= scale;
|
||||
}
|
||||
|
||||
UNUSED void func_80021FF8(Mtx *arg0, Mat4 arg1) {
|
||||
f32 someMultiplier = 65536.0f;
|
||||
arg0->m[0][0] = arg1[0][0] * someMultiplier;
|
||||
arg0->m[0][1] = arg1[0][1] * someMultiplier;
|
||||
arg0->m[0][2] = arg1[0][2] * someMultiplier;
|
||||
arg0->m[0][3] = arg1[0][3] * someMultiplier;
|
||||
arg0->m[1][0] = arg1[1][0] * someMultiplier;
|
||||
arg0->m[1][1] = arg1[1][1] * someMultiplier;
|
||||
arg0->m[1][2] = arg1[1][2] * someMultiplier;
|
||||
arg0->m[1][3] = arg1[1][3] * someMultiplier;
|
||||
arg0->m[2][0] = arg1[2][0] * someMultiplier;
|
||||
arg0->m[2][1] = arg1[2][1] * someMultiplier;
|
||||
arg0->m[2][2] = arg1[2][2] * someMultiplier;
|
||||
arg0->m[2][3] = arg1[2][3] * someMultiplier;
|
||||
arg0->m[3][0] = arg1[3][0] * someMultiplier;
|
||||
arg0->m[3][1] = arg1[3][1] * someMultiplier;
|
||||
arg0->m[3][2] = arg1[3][2] * someMultiplier;
|
||||
arg0->m[3][3] = arg1[3][3] * someMultiplier;
|
||||
/**
|
||||
* This function writes a fixed-point value to each Mtx entry. This is not how the Mtx struct works.
|
||||
* The first half of Mtx only holds s16 whole numbers and the second half holds the s16 decimal (fractional) parts.
|
||||
* See convert_to_fixed_point_matrix() for correct calculations. Note that each Mtx entry is the size of s32.
|
||||
* This means each Mtx entry holds two s16 values.
|
||||
* The first sixteen entries contain only the integer parts and the second sixteen entries hold only the decimal (fractional) parts.
|
||||
*/
|
||||
UNUSED void failed_fixed_point_matrix_conversion(Mtx *dest, Mat4 src) {
|
||||
f32 toFixed = 65536.0f;
|
||||
dest->m[0][0] = src[0][0] * toFixed;
|
||||
dest->m[0][1] = src[0][1] * toFixed;
|
||||
dest->m[0][2] = src[0][2] * toFixed;
|
||||
dest->m[0][3] = src[0][3] * toFixed;
|
||||
dest->m[1][0] = src[1][0] * toFixed;
|
||||
dest->m[1][1] = src[1][1] * toFixed;
|
||||
dest->m[1][2] = src[1][2] * toFixed;
|
||||
dest->m[1][3] = src[1][3] * toFixed;
|
||||
dest->m[2][0] = src[2][0] * toFixed;
|
||||
dest->m[2][1] = src[2][1] * toFixed;
|
||||
dest->m[2][2] = src[2][2] * toFixed;
|
||||
dest->m[2][3] = src[2][3] * toFixed;
|
||||
dest->m[3][0] = src[3][0] * toFixed;
|
||||
dest->m[3][1] = src[3][1] * toFixed;
|
||||
dest->m[3][2] = src[3][2] * toFixed;
|
||||
dest->m[3][3] = src[3][3] * toFixed;
|
||||
}
|
||||
|
||||
void convert_to_fixed_point_matrix(Mtx *fixedPointMatrix, Mat4 arg1) {
|
||||
f32 someMultiplier = 65536.0f;
|
||||
fixedPointMatrix->m[0][0] = ((s32) (arg1[0][0] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[0][1] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
fixedPointMatrix->m[0][1] = ((s32) (arg1[0][2] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[0][3] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
fixedPointMatrix->m[0][2] = ((s32) (arg1[1][0] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[1][1] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
fixedPointMatrix->m[0][3] = ((s32) (arg1[1][2] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[1][3] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
fixedPointMatrix->m[1][0] = ((s32) (arg1[2][0] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[2][1] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
fixedPointMatrix->m[1][1] = ((s32) (arg1[2][2] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[2][3] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
fixedPointMatrix->m[1][2] = ((s32) (arg1[3][0] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[3][1] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
fixedPointMatrix->m[1][3] = ((s32) (arg1[3][2] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[3][3] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
fixedPointMatrix->m[2][0] = ((s32) (arg1[0][0] * someMultiplier) << 0x10) | ((s32) (arg1[0][1] * someMultiplier) & 0xFFFF);
|
||||
fixedPointMatrix->m[2][1] = ((s32) (arg1[0][2] * someMultiplier) << 0x10) | ((s32) (arg1[0][3] * someMultiplier) & 0xFFFF);
|
||||
fixedPointMatrix->m[2][2] = ((s32) (arg1[1][0] * someMultiplier) << 0x10) | ((s32) (arg1[1][1] * someMultiplier) & 0xFFFF);
|
||||
fixedPointMatrix->m[2][3] = ((s32) (arg1[1][2] * someMultiplier) << 0x10) | ((s32) (arg1[1][3] * someMultiplier) & 0xFFFF);
|
||||
fixedPointMatrix->m[3][0] = ((s32) (arg1[2][0] * someMultiplier) << 0x10) | ((s32) (arg1[2][1] * someMultiplier) & 0xFFFF);
|
||||
fixedPointMatrix->m[3][1] = ((s32) (arg1[2][2] * someMultiplier) << 0x10) | ((s32) (arg1[2][3] * someMultiplier) & 0xFFFF);
|
||||
fixedPointMatrix->m[3][2] = ((s32) (arg1[3][0] * someMultiplier) << 0x10) | ((s32) (arg1[3][1] * someMultiplier) & 0xFFFF);
|
||||
fixedPointMatrix->m[3][3] = ((s32) (arg1[3][2] * someMultiplier) << 0x10) | ((s32) (arg1[3][3] * someMultiplier) & 0xFFFF);
|
||||
/**
|
||||
* Takes a floating-point matrix and converts it to an s15.16 internal matrix.
|
||||
* Each Mtx entry is a size of s32 that holds two values.
|
||||
* The first 16 entries hold only the integer values and the second 16 entries hold only the decimal (fractional) parts.
|
||||
* In simpler words, the integer and decimal gets split up and stored in their own section.
|
||||
* Mtx is setup this way due to hardware restrictions of the n64 or as an optimization.
|
||||
*
|
||||
* @param Mtx A new internal fixed-point matrix.
|
||||
* @param Mat4 An array of f32
|
||||
* Mat4 to Mtx explanation: https://blarg.ca/2020/10/11/fixed-point-math.
|
||||
*/
|
||||
void convert_to_fixed_point_matrix(Mtx *dest, Mat4 src) {
|
||||
#ifdef AVOID_UB
|
||||
// Use os function guMtxF2L instead. This helps little-endian systems.
|
||||
guMtxF2L(src, dest);
|
||||
#else
|
||||
f32 toFixed = 65536.0f; // 2 ^ 16
|
||||
dest->m[0][0] = ((s32) (src[0][0] * toFixed) & 0xFFFF0000) | (((s32) (src[0][1] * toFixed) >> 0x10) & 0xFFFF);
|
||||
dest->m[0][1] = ((s32) (src[0][2] * toFixed) & 0xFFFF0000) | (((s32) (src[0][3] * toFixed) >> 0x10) & 0xFFFF);
|
||||
dest->m[0][2] = ((s32) (src[1][0] * toFixed) & 0xFFFF0000) | (((s32) (src[1][1] * toFixed) >> 0x10) & 0xFFFF);
|
||||
dest->m[0][3] = ((s32) (src[1][2] * toFixed) & 0xFFFF0000) | (((s32) (src[1][3] * toFixed) >> 0x10) & 0xFFFF);
|
||||
dest->m[1][0] = ((s32) (src[2][0] * toFixed) & 0xFFFF0000) | (((s32) (src[2][1] * toFixed) >> 0x10) & 0xFFFF);
|
||||
dest->m[1][1] = ((s32) (src[2][2] * toFixed) & 0xFFFF0000) | (((s32) (src[2][3] * toFixed) >> 0x10) & 0xFFFF);
|
||||
dest->m[1][2] = ((s32) (src[3][0] * toFixed) & 0xFFFF0000) | (((s32) (src[3][1] * toFixed) >> 0x10) & 0xFFFF);
|
||||
dest->m[1][3] = ((s32) (src[3][2] * toFixed) & 0xFFFF0000) | (((s32) (src[3][3] * toFixed) >> 0x10) & 0xFFFF);
|
||||
dest->m[2][0] = ((s32) (src[0][0] * toFixed) << 0x10) | ((s32) (src[0][1] * toFixed) & 0xFFFF);
|
||||
dest->m[2][1] = ((s32) (src[0][2] * toFixed) << 0x10) | ((s32) (src[0][3] * toFixed) & 0xFFFF);
|
||||
dest->m[2][2] = ((s32) (src[1][0] * toFixed) << 0x10) | ((s32) (src[1][1] * toFixed) & 0xFFFF);
|
||||
dest->m[2][3] = ((s32) (src[1][2] * toFixed) << 0x10) | ((s32) (src[1][3] * toFixed) & 0xFFFF);
|
||||
dest->m[3][0] = ((s32) (src[2][0] * toFixed) << 0x10) | ((s32) (src[2][1] * toFixed) & 0xFFFF);
|
||||
dest->m[3][1] = ((s32) (src[2][2] * toFixed) << 0x10) | ((s32) (src[2][3] * toFixed) & 0xFFFF);
|
||||
dest->m[3][2] = ((s32) (src[3][0] * toFixed) << 0x10) | ((s32) (src[3][1] * toFixed) & 0xFFFF);
|
||||
dest->m[3][3] = ((s32) (src[3][2] * toFixed) << 0x10) | ((s32) (src[3][3] * toFixed) & 0xFFFF);
|
||||
#endif
|
||||
}
|
||||
|
||||
bool adjust_angle(s16 *angle, s16 targetAngle, s16 step) {
|
||||
|
@ -30,7 +30,7 @@ void func_80021DA8(void);
|
||||
void mtxf_translate_rotate(Mat4, Vec3f, Vec3s);
|
||||
void func_80021F50(Mat4, Vec3f);
|
||||
void mtxf_scale2(Mat4, f32);
|
||||
void func_80021FF8(Mtx*, Mat4);
|
||||
void failed_fixed_point_matrix_conversion(Mtx*, Mat4);
|
||||
void convert_to_fixed_point_matrix(Mtx*, Mat4);
|
||||
s32 adjust_angle(s16*, s16, s16);
|
||||
void move_s32_towards(s32*, s32, f32);
|
||||
|
@ -17,7 +17,7 @@
|
||||
#include "code_80057C60.h"
|
||||
#include "code_8006E9C0.h"
|
||||
#include "code_80086E70.h"
|
||||
#include "common_textures.h"
|
||||
#include <assets/common_data.h>
|
||||
#include "audio/external.h"
|
||||
#include "sounds.h"
|
||||
#include <actors.h>
|
||||
@ -28,7 +28,7 @@
|
||||
#include "code_80091750.h"
|
||||
#include "podium_ceremony_actors.h"
|
||||
#include "courses/all_course_data.h"
|
||||
#include "src/ending/ceremony_data.h"
|
||||
#include <assets/ceremony_data.h>
|
||||
#include "src/ending/ceremony_and_credits.h"
|
||||
#include "menus.h"
|
||||
#include "data/other_textures.h"
|
||||
|
2
tools/.gitignore
vendored
2
tools/.gitignore
vendored
@ -5,6 +5,6 @@
|
||||
/displaylist_packer
|
||||
/tkmk00
|
||||
/extract_data_for_mio
|
||||
|
||||
/torch/build-cmake/*
|
||||
__pycache__
|
||||
*.pyc
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
# Compilation flags
|
||||
CC := gcc
|
||||
MAKE = make
|
||||
CFLAGS := -I . -Wall -Wextra -Wno-unused-parameter -pedantic -std=c99 -O2 -s
|
||||
|
||||
# Tools to compile
|
||||
@ -28,6 +29,19 @@ n64cksum_CFLAGS := -DN64CKSUM_STANDALONE
|
||||
|
||||
extract_data_for_mio_SOURCES := extract_data_for_mio.c
|
||||
|
||||
ifeq ($(OS),Windows_NT)
|
||||
DETECTED_OS=windows
|
||||
# Set Windows temporary directory to its environment variable
|
||||
export TMPDIR=$(TEMP)
|
||||
else
|
||||
UNAME_S := $(shell uname -s)
|
||||
ifeq ($(UNAME_S),Linux)
|
||||
DETECTED_OS=linux
|
||||
else ifeq ($(UNAME_S),Darwin)
|
||||
DETECTED_OS=macos
|
||||
endif
|
||||
endif
|
||||
|
||||
# Build tools and recomp
|
||||
all: $(PROGRAMS)
|
||||
|
||||
@ -48,3 +62,5 @@ $(1): $($1_SOURCES)
|
||||
endef
|
||||
|
||||
$(foreach p,$(PROGRAMS),$(eval $(call COMPILE,$(p))))
|
||||
|
||||
.PHONY: all clean default
|
File diff suppressed because it is too large
Load Diff
@ -212,7 +212,7 @@ def export_image(baserom, asset, asset_list):
|
||||
|
||||
if asset["type"] in ("ci4", "ci8"):
|
||||
# This is hightly specific to MK64:
|
||||
# Some TLUT images have a "stitched palette". This means that they're palette is actually
|
||||
# Some TLUT images have a "stitched palette". This means that their palette is actually
|
||||
# two smaller palettes stitched together.
|
||||
if "stitched_palette" in asset.get("meta", set()):
|
||||
palette_file = export_stitched_palette(baserom, asset, asset_list)
|
||||
|
BIN
tools/torch/torch
Executable file
BIN
tools/torch/torch
Executable file
Binary file not shown.
38
yamls/courses/banshee_boardwalk_metadata.yml
Normal file
38
yamls/courses/banshee_boardwalk_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 3
|
||||
name: banshee boardwalk
|
||||
debug_name: ghost
|
||||
cup: SPECIAL_CUP
|
||||
cup_index: 2
|
||||
course_length: 747m
|
||||
kart_ai_behaviour_ptr: D_0D009058
|
||||
kart_ai_maximum_separation: 40.0f
|
||||
kart_ai_minimum_separation: 0.4f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 53
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x006e, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x00be, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x01db, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0262, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x02EE, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: [d_course_banshee_boardwalk_track_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: [d_course_banshee_boardwalk_unknown_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [0, 0, 0, 0, 0, 0]
|
||||
sky_colors2: [0, 0, 0, 0, 0, 0]
|
38
yamls/courses/big_donut_metadata.yml
Normal file
38
yamls/courses/big_donut_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 19
|
||||
name: big donut
|
||||
debug_name: doughnut
|
||||
cup: BATTLE_CUP
|
||||
cup_index: 0
|
||||
course_length: ""
|
||||
kart_ai_behaviour_ptr: D_0D008F18
|
||||
kart_ai_maximum_separation: -1.0f
|
||||
kart_ai_minimum_separation: 0.5f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 40
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x0014, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: ["&nullPath", "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: ["&nullPath", "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [0, 0, 0, 0, 0, 0]
|
||||
sky_colors2: [0, 0, 0, 0, 0, 0]
|
38
yamls/courses/block_fort_metadata.yml
Normal file
38
yamls/courses/block_fort_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 15
|
||||
name: block fort
|
||||
debug_name: block
|
||||
cup: BATTLE_CUP
|
||||
cup_index: 1
|
||||
course_length: ""
|
||||
kart_ai_behaviour_ptr: D_0D008F18
|
||||
kart_ai_maximum_separation: -1.0f
|
||||
kart_ai_minimum_separation: 0.1f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 53
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x0014, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: ["&nullPath", "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: ["&nullPath", "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [128, 4280, 6136, 216, 7144, 32248]
|
||||
sky_colors2: [216, 7144, 32248, 0, 0, 0]
|
38
yamls/courses/bowsers_castle_metadata.yml
Normal file
38
yamls/courses/bowsers_castle_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 2
|
||||
name: bowser's castle
|
||||
debug_name: castle
|
||||
cup: STAR_CUP
|
||||
cup_index: 3
|
||||
course_length: 777m
|
||||
kart_ai_behaviour_ptr: D_0D008FB8
|
||||
kart_ai_maximum_separation: 35.0f
|
||||
kart_ai_minimum_separation: 0.2f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 53
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0096, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x00c8, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0104, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x01b3, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x030C, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: [d_course_bowsers_castle_track_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: [d_course_bowsers_castle_unknown_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [48, 1544, 49528, 0, 0, 0]
|
||||
sky_colors2: [0, 0, 0, 0, 0, 0]
|
38
yamls/courses/choco_mountain_metadata.yml
Normal file
38
yamls/courses/choco_mountain_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 1
|
||||
name: choco mountain
|
||||
debug_name: mountain
|
||||
cup: FLOWER_CUP
|
||||
cup_index: 2
|
||||
course_length: 687m
|
||||
kart_ai_behaviour_ptr: D_0D008F80
|
||||
kart_ai_maximum_separation: 35.0f
|
||||
kart_ai_minimum_separation: 0.3f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 53
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x008c, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x00a5, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x014a, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0226, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0253, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x02BC, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: [d_course_choco_mountain_track_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: [d_course_choco_mountain_unknown_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [255, 255, 255, 255, 255, 255]
|
||||
sky_colors2: [255, 255, 255, 255, 255, 255]
|
38
yamls/courses/dks_jungle_parkway_metadata.yml
Normal file
38
yamls/courses/dks_jungle_parkway_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 18
|
||||
name: d.k.'s jungle parkway
|
||||
debug_name: jungle
|
||||
cup: SPECIAL_CUP
|
||||
cup_index: 0
|
||||
course_length: 893m
|
||||
kart_ai_behaviour_ptr: D_0D0093C0
|
||||
kart_ai_maximum_separation: 40.0f
|
||||
kart_ai_minimum_separation: 0.1f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 53
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x00be, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x0370, 0x0001, 0x0001, 0x0001, 0x01F4, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: [d_course_dks_jungle_parkway_track_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: [d_course_dks_jungle_parkway_unknown_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [255, 174, 0, 255, 229, 124]
|
||||
sky_colors2: [22, 145, 22, 0, 0, 0]
|
38
yamls/courses/double_deck_metadata.yml
Normal file
38
yamls/courses/double_deck_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 17
|
||||
name: double deck
|
||||
debug_name: deck
|
||||
cup: BATTLE_CUP
|
||||
cup_index: 2
|
||||
course_length: ""
|
||||
kart_ai_behaviour_ptr: D_0D008F18
|
||||
kart_ai_maximum_separation: -1.0f
|
||||
kart_ai_minimum_separation: 0.5f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 53
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x0014, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: ["&nullPath", "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: ["&nullPath", "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [113, 70, 255, 255, 184, 99]
|
||||
sky_colors2: [255, 224, 240, 0, 0, 0]
|
38
yamls/courses/frappe_snowland_metadata.yml
Normal file
38
yamls/courses/frappe_snowland_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 5
|
||||
name: frappe snowland
|
||||
debug_name: snow
|
||||
cup: FLOWER_CUP
|
||||
cup_index: 1
|
||||
course_length: 734m
|
||||
kart_ai_behaviour_ptr: D_0D0090F8
|
||||
kart_ai_maximum_separation: 50.0f
|
||||
kart_ai_minimum_separation: 0.3f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 53
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0122, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x015e, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x02EE, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: [d_course_frappe_snowland_track_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: [d_course_frappe_snowland_unknown_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [28, 11, 90, 0, 99, 164]
|
||||
sky_colors2: [0, 99, 164, 0, 0, 0]
|
38
yamls/courses/kalimari_desert_metadata.yml
Normal file
38
yamls/courses/kalimari_desert_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 11
|
||||
name: kalimari desert
|
||||
debug_name: desert
|
||||
cup: MUSHROOM_CUP
|
||||
cup_index: 3
|
||||
course_length: 753m
|
||||
kart_ai_behaviour_ptr: D_0D009260
|
||||
kart_ai_maximum_separation: 50.0f
|
||||
kart_ai_minimum_separation: 0.3f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 53
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x008a, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0118, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0194, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x01fe, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x02BC, 0x0001, 0x0001, 0x0001, 0x0226, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: [d_course_kalimari_desert_track_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: [d_course_kalimari_desert_unknown_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [195, 231, 255, 255, 192, 0]
|
||||
sky_colors2: [255, 192, 0, 0, 0, 0]
|
38
yamls/courses/koopa_beach_metadata.yml
Normal file
38
yamls/courses/koopa_beach_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 6
|
||||
name: koopa troopa beach
|
||||
debug_name: beach
|
||||
cup: MUSHROOM_CUP
|
||||
cup_index: 2
|
||||
course_length: 691m
|
||||
kart_ai_behaviour_ptr: D_0D009158
|
||||
kart_ai_maximum_separation: 50.0f
|
||||
kart_ai_minimum_separation: 0.5f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 53
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x003c, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0078, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x00c8, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0118, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x01b3, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x02BC, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: [d_course_koopa_troopa_beach_track_waypoints, "d_course_koopa_troopa_beach_track_waypoints_2", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: [d_course_koopa_troopa_beach_unknown_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [48, 1688, 54136, 216, 7144, 32248]
|
||||
sky_colors2: [48, 1688, 54136, 0, 0, 0]
|
38
yamls/courses/luigi_raceway_metadata.yml
Normal file
38
yamls/courses/luigi_raceway_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 8
|
||||
name: luigi raceway
|
||||
debug_name: l circuit
|
||||
cup: MUSHROOM_CUP
|
||||
cup_index: 0
|
||||
course_length: 717m
|
||||
kart_ai_behaviour_ptr: D_0D0091E8
|
||||
kart_ai_maximum_separation: 50.0f
|
||||
kart_ai_minimum_separation: 0.7f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 48
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x0032, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x00c8, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0131, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x01b8, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0203, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x02DA, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: [d_course_luigi_raceway_track_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: [d_course_luigi_raceway_unknown_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [128, 4280, 6136, 216, 7144, 32248]
|
||||
sky_colors2: [216, 7144, 32248, 0, 0, 0]
|
38
yamls/courses/mario_raceway_metadata.yml
Normal file
38
yamls/courses/mario_raceway_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 0
|
||||
name: mario raceway
|
||||
debug_name: m circuit
|
||||
cup: FLOWER_CUP
|
||||
cup_index: 3
|
||||
course_length: 567m
|
||||
kart_ai_behaviour_ptr: D_0D008F28
|
||||
kart_ai_maximum_separation: 50.0f
|
||||
kart_ai_minimum_separation: 0.3f
|
||||
D_800DCBB4: D_800DCB34
|
||||
cpu_steering_sensitivity: 48
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x0028, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0064, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0109, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x011d, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x01a4, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x0258, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: [d_course_mario_raceway_track_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: [d_course_mario_raceway_unknown_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [128, 4280, 6136, 216, 7144, 32248]
|
||||
sky_colors2: [0, 0, 0, 0, 0, 0]
|
38
yamls/courses/moo_moo_farm_metadata.yml
Normal file
38
yamls/courses/moo_moo_farm_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 9
|
||||
name: moo moo farm
|
||||
debug_name: farm
|
||||
cup: MUSHROOM_CUP
|
||||
cup_index: 1
|
||||
course_length: 527m
|
||||
kart_ai_behaviour_ptr: D_0D009210
|
||||
kart_ai_maximum_separation: 50.0f
|
||||
kart_ai_minimum_separation: 0.5f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 48
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x008c, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x00e1, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x013c, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x01b2, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x0230, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: [d_course_moo_moo_farm_track_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: [d_course_moo_moo_farm_unknown_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [0, 18, 255, 197, 211, 255]
|
||||
sky_colors2: [255, 184, 99, 0, 0, 0]
|
38
yamls/courses/podium_ceremony_metadata.yml
Normal file
38
yamls/courses/podium_ceremony_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 20
|
||||
name: # unknown (does not exist)
|
||||
debug_name: # unk (does not exist)
|
||||
cup: null
|
||||
cup_index: -1
|
||||
course_length: null
|
||||
kart_ai_behaviour_ptr: D_0D008F18
|
||||
kart_ai_maximum_separation: 40.0f # entry
|
||||
kart_ai_minimum_separation: 0.5f # entry
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 53 # entry
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x0003, 0x0005, 1.25, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x01F4, 0x01F4, 0x01F4, 0x01F4, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [0.0f, 0.0f, 0.0f, 0.0f]
|
||||
D_0D009568: [0.0f, 0.0f, 0.0f, 0.0f]
|
||||
D_0D0096B8: [0.0f, 0.0f, 0.0f, 0.0f]
|
||||
D_0D009808: [0.0f, 0.0f, 0.0f, 0.0f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: ["&nullPath", "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: [podium_ceremony_path, podium_ceremony_path_2, podium_ceremony_path_3, podium_ceremony_path_4]
|
||||
|
||||
sky_colors: [238, 144, 255, 255, 224, 240]
|
||||
sky_colors2: [255, 224, 240, 0, 0, 0]
|
38
yamls/courses/rainbow_road_metadata.yml
Normal file
38
yamls/courses/rainbow_road_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 13
|
||||
name: rainbow road
|
||||
debug_name: rainbow
|
||||
cup: SPECIAL_CUP
|
||||
cup_index: 3
|
||||
course_length: 2000m
|
||||
kart_ai_behaviour_ptr: D_0D0092C8
|
||||
kart_ai_maximum_separation: 50.0f
|
||||
kart_ai_minimum_separation: 0.4f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 38
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x00c8, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x076C, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: [d_course_rainbow_road_track_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: [d_course_rainbow_road_unknown_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [0, 0, 0, 0, 0, 0]
|
||||
sky_colors2: [0, 0, 0, 0, 0, 0]
|
38
yamls/courses/royal_raceway_metadata.yml
Normal file
38
yamls/courses/royal_raceway_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 7
|
||||
name: royal raceway
|
||||
debug_name: p circuit
|
||||
cup: STAR_CUP
|
||||
cup_index: 2
|
||||
course_length: 1025m
|
||||
kart_ai_behaviour_ptr: D_0D009188
|
||||
kart_ai_maximum_separation: 50.0f
|
||||
kart_ai_minimum_separation: 0.4f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 53
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0064, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0128, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0190, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x02ea, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x03E8, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: [d_course_royal_raceway_track_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: [d_course_royal_raceway_unknown_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [238, 144, 255, 255, 224, 240]
|
||||
sky_colors2: [255, 224, 240, 0, 0, 0]
|
38
yamls/courses/sherbet_land_metadata.yml
Normal file
38
yamls/courses/sherbet_land_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 12
|
||||
name: sherbet land
|
||||
debug_name: sherbet
|
||||
cup: STAR_CUP
|
||||
cup_index: 1
|
||||
course_length: 756m
|
||||
kart_ai_behaviour_ptr: D_0D009280
|
||||
kart_ai_maximum_separation: 50.0f
|
||||
kart_ai_minimum_separation: 0.3f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 53
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x00c8, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x02BC, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: [d_course_sherbet_land_track_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: [d_course_sherbet_land_unknown_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [128, 4280, 6136, 216, 7144, 32248]
|
||||
sky_colors2: [216, 7144, 32248, 128, 4280, 6136]
|
38
yamls/courses/skyscraper_metadata.yml
Normal file
38
yamls/courses/skyscraper_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 16
|
||||
name: skyscraper
|
||||
debug_name: skyscraper
|
||||
cup: BATTLE_CUP
|
||||
cup_index: 3
|
||||
course_length: ""
|
||||
kart_ai_behaviour_ptr: D_0D008F18
|
||||
kart_ai_maximum_separation: -1.0f
|
||||
kart_ai_minimum_separation: 0.5f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 53
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x0014, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0028, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x003c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0050, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0064, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0078, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x008c, 0x0000, 1.0, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: ["&nullPath", "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: ["&nullPath", "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [0, 0, 0, 0, 0, 0]
|
||||
sky_colors2: [0, 0, 0, 0, 0, 0]
|
38
yamls/courses/toads_turnpike_metadata.yml
Normal file
38
yamls/courses/toads_turnpike_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 10
|
||||
name: toad's turnpike
|
||||
debug_name: highway
|
||||
cup: FLOWER_CUP
|
||||
cup_index: 0
|
||||
course_length: 1036m
|
||||
kart_ai_behaviour_ptr: D_0D009238
|
||||
kart_ai_maximum_separation: 50.0f
|
||||
kart_ai_minimum_separation: 0.5f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 40
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x00c8, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x03E8, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: [d_course_toads_turnpike_track_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: [d_course_toads_turnpike_unknown_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [0, 2, 94, 209, 65, 23]
|
||||
sky_colors2: [209, 65, 23, 0, 0, 0]
|
38
yamls/courses/wario_stadium_metadata.yml
Normal file
38
yamls/courses/wario_stadium_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 14
|
||||
name: wario stadium
|
||||
debug_name: stadium
|
||||
cup: STAR_CUP
|
||||
cup_index: 0
|
||||
course_length: 1591m
|
||||
kart_ai_behaviour_ptr: D_0D009310
|
||||
kart_ai_maximum_separation: 50.0f
|
||||
kart_ai_minimum_separation: 0.6f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 53
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x0032, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0064, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0096, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x00c8, 0x0001, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x00fa, 0x0003, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
- [0x0000, 0x0000, 0.8333333, 0.0, 0.0, 0.0, 0.0]
|
||||
path_sizes: [0x0640, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
D_0D0096B8: [3.3333332f, 3.9166667f, 4.5f, 5.0833334f]
|
||||
D_0D009808: [3.75f, 5.1666665f, 5.75f, 6.3333334f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: [d_course_wario_stadium_track_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: [d_course_wario_stadium_unknown_waypoints, "&nullPath", "&nullPath", "&nullPath"]
|
||||
|
||||
sky_colors: [20, 30, 56, 40, 60, 110]
|
||||
sky_colors2: [0, 0, 0, 0, 0, 0]
|
38
yamls/courses/yoshi_valley_metadata.yml
Normal file
38
yamls/courses/yoshi_valley_metadata.yml
Normal file
@ -0,0 +1,38 @@
|
||||
course:
|
||||
type: MK64:METADATA
|
||||
offset: 0x0
|
||||
id: 4
|
||||
name: yoshi valley
|
||||
debug_name: maze
|
||||
cup: SPECIAL_CUP
|
||||
cup_index: 1
|
||||
course_length: 772m
|
||||
kart_ai_behaviour_ptr: D_0D0090B8
|
||||
kart_ai_maximum_separation: 35.0f
|
||||
kart_ai_minimum_separation: 0.0f
|
||||
D_800DCBB4: D_800DCAF4
|
||||
cpu_steering_sensitivity: 53
|
||||
bomb_kart_spawns: # 7 bomb kart spawn locations
|
||||
- [0x0000, 0x0000, 0.8333333, -1533.0, -682.0, -103.0, 0.0]
|
||||
- [0x000a, 0x0000, 0.8333333, -1565.0, -619.0, -109.0, 0.0]
|
||||
- [0x0014, 0x0000, 0.8333333, -1529.0, -579.0, -109.0, 0.0]
|
||||
- [0x001e, 0x0000, 0.8333333, -1588.0, -534.0, -106.0, 0.0]
|
||||
- [0x0028, 0x0000, 0.8333333, -1598.0, -207.0, -105.0, 0.0]
|
||||
- [0x0032, 0x0000, 0.8333333, -1646.0, -147.0, -93.0, 0.0]
|
||||
- [0x003c, 0x0000, 0.8333333, -2532.0, -445.0, -90.0, 0.0]
|
||||
path_sizes: [0x02B2, 0x02A8, 0x02B2, 0x0320, 0x0001, 0x0000, 0x0000, 0x0000]
|
||||
|
||||
# unk common_textures data
|
||||
D_0D009418: [4.1666665f, 5.5833334f, 6.1666665f, 6.75f]
|
||||
D_0D009568: [3.75f, 4.5833334f, 4.5833334f, 4.5833334f]
|
||||
D_0D0096B8: [3.3333332f, 3.3333332f, 3.3333332f, 3.3333332f]
|
||||
D_0D009808: [2.9166667f, 3.75f, 3.75f, 3.75f]
|
||||
|
||||
# Course waypoints
|
||||
path_table: [d_course_yoshi_valley_track_waypoints, "d_course_yoshi_valley_track_waypoints_2", "d_course_yoshi_valley_track_waypoints_3", "d_course_yoshi_valley_track_waypoints_4"]
|
||||
|
||||
# Unused except in podium ceremony
|
||||
path_table_unknown: [d_course_yoshi_valley_unknown_waypoints, d_course_yoshi_valley_unknown_waypoints_2, d_course_yoshi_valley_unknown_waypoints_3, d_course_yoshi_valley_unknown_waypoints_4]
|
||||
|
||||
sky_colors: [113, 70, 255, 255, 184, 99]
|
||||
sky_colors2: [95, 40, 15, 0, 0, 0]
|
238
yamls/us/ceremony_data.yml
Normal file
238
yamls/us/ceremony_data.yml
Normal file
@ -0,0 +1,238 @@
|
||||
:config:
|
||||
segments:
|
||||
- [0x0B, 0x821D10]
|
||||
header:
|
||||
code:
|
||||
- '#include <assets/ceremony_data.h>'
|
||||
header:
|
||||
- '#include <types.h>'
|
||||
- '#include <waypoints.h>'
|
||||
|
||||
silver_trophy_dl:
|
||||
symbol: silver_trophy_dl
|
||||
type: gfx
|
||||
offset: 0xFE0
|
||||
silver_trophy_dl2:
|
||||
symbol: silver_trophy_dl2
|
||||
type: gfx
|
||||
offset: 0x10B8
|
||||
silver_trophy_dl3:
|
||||
symbol: silver_trophy_dl3
|
||||
type: gfx
|
||||
offset: 0x1188
|
||||
silver_trophy_dl4:
|
||||
symbol: silver_trophy_dl4
|
||||
type: gfx
|
||||
offset: 0x1260
|
||||
silver_trophy_dl5:
|
||||
symbol: silver_trophy_dl5
|
||||
type: gfx
|
||||
offset: 0x1418
|
||||
silver_trophy_dl6:
|
||||
symbol: silver_trophy_dl6
|
||||
type: gfx
|
||||
offset: 0x14D0
|
||||
some_vtx:
|
||||
symbol: unused_trophy_base_with_handle
|
||||
type: vtx
|
||||
offset: 0x18C0 # 2200
|
||||
count: 211 # 274
|
||||
some_vtx2:
|
||||
symbol: unused_trophy_base2
|
||||
type: vtx
|
||||
offset: 0x2F30
|
||||
count: 63
|
||||
reflection_map_brass:
|
||||
symbol: reflection_map_brass
|
||||
type: texture
|
||||
ctype: u16
|
||||
offset: 0x4670
|
||||
size: 2048
|
||||
width: 32
|
||||
height: 32
|
||||
format: RGBA16
|
||||
reflection_map_silver:
|
||||
symbol: reflection_map_silver
|
||||
type: texture
|
||||
ctype: u16
|
||||
offset: 0x4E70
|
||||
size: 2048
|
||||
width: 32
|
||||
height: 32
|
||||
format: RGBA16
|
||||
reflection_map_gold:
|
||||
symbol: reflection_map_gold
|
||||
type: texture
|
||||
ctype: u16
|
||||
offset: 0x5670
|
||||
size: 2048
|
||||
width: 32
|
||||
height: 32
|
||||
format: RGBA16
|
||||
gold_trophy_dl:
|
||||
symbol: gold_trophy_dl
|
||||
type: gfx
|
||||
offset: 0x5E70
|
||||
gold_trophy_dl2:
|
||||
symbol: gold_trophy_dl2
|
||||
type: gfx
|
||||
offset: 0x5F20
|
||||
gold_trophy_dl3:
|
||||
symbol: gold_trophy_dl3
|
||||
type: gfx
|
||||
offset: 0x5FD0
|
||||
gold_trophy_dl4:
|
||||
symbol: gold_trophy_dl4
|
||||
type: gfx
|
||||
offset: 0x6218
|
||||
gold_trophy_dl5:
|
||||
symbol: gold_trophy_dl5
|
||||
type: gfx
|
||||
offset: 0x62C8
|
||||
gold_trophy_dl6:
|
||||
symbol: gold_trophy_dl6
|
||||
type: gfx
|
||||
offset: 0x6518
|
||||
gold_trophy_dl7:
|
||||
symbol: gold_trophy_dl7
|
||||
type: gfx
|
||||
offset: 0x6720
|
||||
gold_trophy_dl8:
|
||||
symbol: gold_trophy_dl8
|
||||
type: gfx
|
||||
offset: 0x6880
|
||||
gold_trophy_dl9:
|
||||
symbol: gold_trophy_dl9
|
||||
type: gfx
|
||||
offset: 0x6948
|
||||
gold_trophy_dl10:
|
||||
symbol: gold_trophy_dl10
|
||||
type: gfx
|
||||
offset: 0x69D8
|
||||
gold_trophy_dl11:
|
||||
symbol: gold_trophy_dl11
|
||||
type: gfx
|
||||
offset: 0x6A28
|
||||
gold_trophy_dl12:
|
||||
symbol: gold_trophy_dl12
|
||||
type: gfx
|
||||
offset: 0x6A78
|
||||
gold_trophy_dl13:
|
||||
symbol: gold_trophy_dl13
|
||||
type: gfx
|
||||
offset: 0x6AC8
|
||||
gold_trophy_dl14:
|
||||
symbol: gold_trophy_dl14
|
||||
type: gfx
|
||||
offset: 0x6B18
|
||||
gold_trophy_dl15:
|
||||
symbol: gold_trophy_dl15
|
||||
type: gfx
|
||||
offset: 0x6B68
|
||||
light1:
|
||||
symbol: light1
|
||||
type: lights
|
||||
offset: 0x6BB8
|
||||
texture_podium1:
|
||||
symbol: gTexturePodium1
|
||||
type: texture
|
||||
ctype: u16
|
||||
offset: 0x6BD0
|
||||
size: 2048
|
||||
width: 32
|
||||
height: 32
|
||||
format: RGBA16
|
||||
podium_dl:
|
||||
symbol: podium_dl
|
||||
type: gfx
|
||||
offset: 0x7510
|
||||
podium_dl2:
|
||||
symbol: podium_dl2
|
||||
type: gfx
|
||||
offset: 0x75E0
|
||||
podium_dl3:
|
||||
symbol: podium_dl3
|
||||
type: gfx
|
||||
offset: 0x75F0
|
||||
podium_dl4:
|
||||
symbol: podium_dl4
|
||||
type: gfx
|
||||
offset: 0x7600
|
||||
light2:
|
||||
symbol: light2
|
||||
type: lights
|
||||
offset: 0x7748
|
||||
texture_podium2:
|
||||
symbol: gTexturePodium2
|
||||
type: texture
|
||||
ctype: u16
|
||||
offset: 0x7760
|
||||
size: 2048
|
||||
width: 32
|
||||
height: 32
|
||||
format: RGBA16
|
||||
podium2_dl:
|
||||
symbol: podium2_dl
|
||||
type: gfx
|
||||
offset: 0x7F60
|
||||
podium2_dl2:
|
||||
symbol: podium2_dl2
|
||||
type: gfx
|
||||
offset: 0x8030
|
||||
podium2_dl3:
|
||||
symbol: podium2_dl3
|
||||
type: gfx
|
||||
offset: 0x8040
|
||||
podium2_dl4:
|
||||
symbol: podium2_dl4
|
||||
type: gfx
|
||||
offset: 0x8050
|
||||
light3:
|
||||
symbol: light3
|
||||
type: lights
|
||||
offset: 0x8058
|
||||
texture_podium3:
|
||||
symbol: gTexturePodium3
|
||||
type: texture
|
||||
ctype: u16
|
||||
offset: 0x8070
|
||||
size: 2048
|
||||
width: 32
|
||||
height: 32
|
||||
format: RGBA16
|
||||
podium3_dl:
|
||||
symbol: podium3_dl
|
||||
type: gfx
|
||||
offset: 0x89B0
|
||||
podium3_dl2:
|
||||
symbol: podium3_dl2
|
||||
type: gfx
|
||||
offset: 0x8A80
|
||||
podium3_dl3:
|
||||
symbol: podium3_dl3
|
||||
type: gfx
|
||||
offset: 0x8A90
|
||||
podium3_dl4:
|
||||
symbol: podium3_dl4
|
||||
type: gfx
|
||||
offset: 0x8AA0
|
||||
ending_sequence:
|
||||
symbol: podium_ceremony_path
|
||||
type: mk64:track_waypoints
|
||||
offset: 0x8AA8
|
||||
count: 24
|
||||
ending_sequence2:
|
||||
symbol: podium_ceremony_path_2
|
||||
type: mk64:track_waypoints
|
||||
offset: 0x8B68
|
||||
count: 23
|
||||
ending_sequence3:
|
||||
symbol: podium_ceremony_path_3
|
||||
type: mk64:track_waypoints
|
||||
offset: 0x8C20
|
||||
count: 24
|
||||
ending_sequence4:
|
||||
symbol: podium_ceremony_path_4
|
||||
type: mk64:track_waypoints
|
||||
offset: 0x8CE0
|
||||
count: 21
|
17
yamls/us/ceremony_rsp_init_80284EE0.yml
Normal file
17
yamls/us/ceremony_rsp_init_80284EE0.yml
Normal file
@ -0,0 +1,17 @@
|
||||
:config:
|
||||
vram:
|
||||
addr: 0x80284EE0
|
||||
offset: 0x128520
|
||||
header:
|
||||
code:
|
||||
- '#include <types.h>'
|
||||
- '#include <PR/gbi.h>'
|
||||
- '#include "courses/royal_raceway/course_displaylists.inc.h"'
|
||||
D_80284EE0:
|
||||
symbol: D_80284EE0
|
||||
type: gfx
|
||||
offset: 0x80284EE0
|
||||
D_80284F70:
|
||||
symbol: D_80284F70
|
||||
type: gfx
|
||||
offset: 0x80284F70
|
2393
yamls/us/common_data.yml
Normal file
2393
yamls/us/common_data.yml
Normal file
File diff suppressed because it is too large
Load Diff
4
yamls/us/course_metadata.yml
Normal file
4
yamls/us/course_metadata.yml
Normal file
@ -0,0 +1,4 @@
|
||||
course_metadata:
|
||||
type: mk64:metadata
|
||||
input_directory: yamls/courses
|
||||
out_directory: "assets/course_metadata"
|
78
yamls/us/data_800E45C0.yml
Normal file
78
yamls/us/data_800E45C0.yml
Normal file
@ -0,0 +1,78 @@
|
||||
:config:
|
||||
vram:
|
||||
addr: 0x800E45C0
|
||||
offset: 0xE51C0
|
||||
header:
|
||||
code:
|
||||
- '#include <assets/data_800E45C0.h>'
|
||||
header:
|
||||
- '#include <ultra64.h>'
|
||||
- '#include <common_structs.h>'
|
||||
tables:
|
||||
D_800E45C0:
|
||||
range: [0x800E45C0, 0x800E4608]
|
||||
mode: APPEND
|
||||
D_800E45C0:
|
||||
symbol: D_800E45C0
|
||||
type: lights
|
||||
offset: 0x800E45C0
|
||||
D_800E45D8:
|
||||
symbol: D_800E45D8
|
||||
type: lights
|
||||
offset: 0x800E45D8
|
||||
D_800E45F0:
|
||||
symbol: D_800E45F0
|
||||
type: lights
|
||||
offset: 0x800E45F0
|
||||
D_800E4608:
|
||||
symbol: D_800E4608
|
||||
type: lights
|
||||
offset: 0x800E4608
|
||||
D_800E4620:
|
||||
symbol: D_800E4620
|
||||
type: lights
|
||||
offset: 0x800E4620
|
||||
D_800E4638:
|
||||
symbol: D_800E4638
|
||||
type: lights
|
||||
offset: 0x800E4638
|
||||
D_800E4650:
|
||||
symbol: D_800E4650
|
||||
type: lights
|
||||
offset: 0x800E4650
|
||||
D_800E4668:
|
||||
symbol: D_800E4668
|
||||
type: lights
|
||||
offset: 0x800E4668
|
||||
D_800E4680:
|
||||
symbol: D_800E4680
|
||||
type: lights
|
||||
offset: 0x800E4680
|
||||
D_800E4698:
|
||||
symbol: D_800E4698
|
||||
type: lights
|
||||
offset: 0x800E4698
|
||||
D_800E46B0:
|
||||
symbol: D_800E46B0
|
||||
type: lights
|
||||
offset: 0x800E46B0
|
||||
D_800E46C8:
|
||||
symbol: D_800E46C8
|
||||
type: lights
|
||||
offset: 0x800E46C8
|
||||
D_800E46E0:
|
||||
symbol: D_800E46E0
|
||||
type: lights
|
||||
offset: 0x800E46E0
|
||||
D_800E46F8:
|
||||
symbol: D_800E46F8
|
||||
type: array
|
||||
offset: 0x800E46F8
|
||||
count: 3
|
||||
array_type: Vec3iu
|
||||
D_800E471C:
|
||||
symbol: D_800E471C
|
||||
type: array
|
||||
offset: 0x800E471C
|
||||
count: 7
|
||||
array_type: u8
|
137
yamls/us/data_800E8700.yml
Normal file
137
yamls/us/data_800E8700.yml
Normal file
@ -0,0 +1,137 @@
|
||||
:config:
|
||||
vram:
|
||||
addr: 0x800E8700
|
||||
offset: 0xE9300
|
||||
header:
|
||||
code:
|
||||
- '#include <ultra64.h>'
|
||||
- '#include <assets/data_800E8700.h>'
|
||||
header:
|
||||
- '#include <ultra64.h>'
|
||||
tables:
|
||||
D_800E8900:
|
||||
range: [0x800E8900, 0x800E89C0]
|
||||
mode: APPEND
|
||||
D_800E8700:
|
||||
symbol: D_800E8700
|
||||
type: vtx
|
||||
offset: 0x800E8700
|
||||
count: 4
|
||||
D_800E8740:
|
||||
symbol: D_800E8740
|
||||
type: vtx
|
||||
offset: 0x800E8740
|
||||
count: 4
|
||||
D_800E8780:
|
||||
symbol: D_800E8780
|
||||
type: vtx
|
||||
offset: 0x800E8780
|
||||
count: 4
|
||||
D_800E87C0:
|
||||
symbol: D_800E87C0
|
||||
type: vtx
|
||||
offset: 0x800E87C0
|
||||
count: 4
|
||||
D_800E8800:
|
||||
symbol: D_800E8800
|
||||
type: vtx
|
||||
offset: 0x800E8800
|
||||
count: 4
|
||||
D_800E8840:
|
||||
symbol: D_800E8840
|
||||
type: vtx
|
||||
offset: 0x800E8840
|
||||
count: 4
|
||||
D_800E8880:
|
||||
symbol: D_800E8880
|
||||
type: vtx
|
||||
offset: 0x800E8880
|
||||
count: 4
|
||||
D_800E88C0:
|
||||
symbol: D_800E88C0
|
||||
type: vtx
|
||||
offset: 0x800E88C0
|
||||
count: 4
|
||||
D_800E8900:
|
||||
symbol: D_800E8900
|
||||
type: vtx
|
||||
offset: 0x800E8900
|
||||
count: 4
|
||||
D_800E8940:
|
||||
symbol: D_800E8940
|
||||
type: vtx
|
||||
offset: 0x800E8940
|
||||
count: 4
|
||||
D_800E8980:
|
||||
symbol: D_800E8980
|
||||
type: vtx
|
||||
offset: 0x800E8980
|
||||
count: 4
|
||||
D_800E89C0:
|
||||
symbol: D_800E89C0
|
||||
type: vtx
|
||||
offset: 0x800E89C0
|
||||
count: 4
|
||||
D_800E8A00:
|
||||
symbol: D_800E8A00
|
||||
type: vtx
|
||||
offset: 0x800E8A00
|
||||
count: 4
|
||||
D_800E8A40:
|
||||
symbol: D_800E8A40
|
||||
type: vtx
|
||||
offset: 0x800E8A40
|
||||
count: 4
|
||||
D_800E8A80:
|
||||
symbol: D_800E8A80
|
||||
type: vtx
|
||||
offset: 0x800E8A80
|
||||
count: 4
|
||||
D_800E8AC0:
|
||||
symbol: D_800E8AC0
|
||||
type: vtx
|
||||
offset: 0x800E8AC0
|
||||
count: 4
|
||||
D_800E8B00:
|
||||
symbol: D_800E8B00
|
||||
type: vtx
|
||||
offset: 0x800E8B00
|
||||
count: 4
|
||||
D_800E8B40:
|
||||
symbol: D_800E8B40
|
||||
type: vtx
|
||||
offset: 0x800E8B40
|
||||
count: 4
|
||||
D_800E8B80:
|
||||
symbol: D_800E8B80
|
||||
type: vtx
|
||||
offset: 0x800E8B80
|
||||
count: 4
|
||||
D_800E8BC0:
|
||||
symbol: D_800E8BC0
|
||||
type: vtx
|
||||
offset: 0x800E8BC0
|
||||
count: 4
|
||||
D_800E8C00:
|
||||
symbol: D_800E8C00
|
||||
type: vtx
|
||||
offset: 0x800E8C00
|
||||
count: 4
|
||||
D_800E8C40:
|
||||
symbol: D_800E8C40
|
||||
type: vtx
|
||||
offset: 0x800E8C40
|
||||
count: 8
|
||||
D_800E8CC0:
|
||||
symbol: D_800E8CC0
|
||||
type: vtx
|
||||
offset: 0x800E8CC0
|
||||
count: 8
|
||||
D_800E8D40:
|
||||
symbol: D_800E8D40
|
||||
type: gfx
|
||||
offset: 0x800E8D40
|
||||
D_800E8DD0:
|
||||
symbol: D_800E8DD0
|
||||
type: gfx
|
||||
offset: 0x800E8DD0
|
326
yamls/us/data_segment2.yml
Normal file
326
yamls/us/data_segment2.yml
Normal file
@ -0,0 +1,326 @@
|
||||
:config:
|
||||
segments:
|
||||
- [0x02, 0x12AAE0]
|
||||
- [0x0D, 0x132B50]
|
||||
header:
|
||||
code:
|
||||
- '#include <macros.h>'
|
||||
- '#include <types.h>'
|
||||
- '#include <PR/ultratypes.h>'
|
||||
- '#include <PR/gbi.h>'
|
||||
- '#include "data_segment2.h"'
|
||||
- '#include <assets/startup_logo.h>'
|
||||
header:
|
||||
- '#include <PR/gbi.h>'
|
||||
D_02007650:
|
||||
symbol: D_02007650
|
||||
type: gfx
|
||||
offset: 0x7650
|
||||
D_020076B0:
|
||||
symbol: D_020076B0
|
||||
type: Gfx
|
||||
offset: 0x76B0
|
||||
D_020076E0:
|
||||
symbol: D_020076E0
|
||||
type: Gfx
|
||||
offset: 0x76E0
|
||||
D_02007708:
|
||||
symbol: D_02007708
|
||||
type: Gfx
|
||||
offset: 0x7708
|
||||
D_02007728:
|
||||
symbol: D_02007728
|
||||
type: Gfx
|
||||
offset: 0x7728
|
||||
D_02007748:
|
||||
symbol: D_02007748
|
||||
type: Gfx
|
||||
offset: 0x7748
|
||||
D_02007768:
|
||||
symbol: D_02007768
|
||||
type: Gfx
|
||||
offset: 0x7768
|
||||
D_02007788:
|
||||
symbol: D_02007788
|
||||
type: Gfx
|
||||
offset: 0x7788
|
||||
D_020077A8:
|
||||
symbol: D_020077A8
|
||||
type: Gfx
|
||||
offset: 0x77A8
|
||||
D_020077D8:
|
||||
symbol: D_020077D8
|
||||
type: Gfx
|
||||
offset: 0x77D8
|
||||
D_020077F8:
|
||||
symbol: D_020077F8
|
||||
type: Gfx
|
||||
offset: 0x77F8
|
||||
D_02007818:
|
||||
symbol: D_02007818
|
||||
type: Gfx
|
||||
offset: 0x7818
|
||||
D_02007838:
|
||||
symbol: D_02007838
|
||||
type: Gfx
|
||||
offset: 0x7838
|
||||
D_02007858:
|
||||
symbol: D_02007858
|
||||
type: Gfx
|
||||
offset: 0x7858
|
||||
D_02007878:
|
||||
symbol: D_02007878
|
||||
type: Gfx
|
||||
offset: 0x7878
|
||||
D_02007898:
|
||||
symbol: D_02007898
|
||||
type: Gfx
|
||||
offset: 0x7898
|
||||
D_020078B8:
|
||||
symbol: D_020078B8
|
||||
type: Gfx
|
||||
offset: 0x78B8
|
||||
D_020078D8:
|
||||
symbol: D_020078D8
|
||||
type: Gfx
|
||||
offset: 0x78D8
|
||||
D_020078F8:
|
||||
symbol: D_020078F8
|
||||
type: Gfx
|
||||
offset: 0x78F8
|
||||
D_02007918:
|
||||
symbol: D_02007918
|
||||
type: Gfx
|
||||
offset: 0x7918
|
||||
D_02007938:
|
||||
symbol: D_02007938
|
||||
type: Gfx
|
||||
offset: 0x7938
|
||||
D_02007958:
|
||||
symbol: D_02007958
|
||||
type: Gfx
|
||||
offset: 0x7958
|
||||
D_02007978:
|
||||
symbol: D_02007978
|
||||
type: Gfx
|
||||
offset: 0x7978
|
||||
D_02007998:
|
||||
symbol: D_02007998
|
||||
type: Gfx
|
||||
offset: 0x7998
|
||||
D_020079B8:
|
||||
symbol: D_020079B8
|
||||
type: Gfx
|
||||
offset: 0x79B8
|
||||
D_020079D8:
|
||||
symbol: D_020079D8
|
||||
type: Gfx
|
||||
offset: 0x79D8
|
||||
D_020079F8:
|
||||
symbol: D_020079F8
|
||||
type: Gfx
|
||||
offset: 0x79F8
|
||||
D_02007A18:
|
||||
symbol: D_02007A18
|
||||
type: Gfx
|
||||
offset: 0x7A18
|
||||
D_02007A38:
|
||||
symbol: D_02007A38
|
||||
type: Gfx
|
||||
offset: 0x7A38
|
||||
D_02007A58:
|
||||
symbol: D_02007A58
|
||||
type: Gfx
|
||||
offset: 0x7A58
|
||||
D_02007A78:
|
||||
symbol: D_02007A78
|
||||
type: Gfx
|
||||
offset: 0x7A78
|
||||
D_02007A98:
|
||||
symbol: D_02007A98
|
||||
type: Gfx
|
||||
offset: 0x7A98
|
||||
D_02007AB8:
|
||||
symbol: D_02007AB8
|
||||
type: Gfx
|
||||
offset: 0x7AB8
|
||||
D_02007AD8:
|
||||
symbol: D_02007AD8
|
||||
type: Gfx
|
||||
offset: 0x7AD8
|
||||
D_02007AF8:
|
||||
symbol: D_02007AF8
|
||||
type: Gfx
|
||||
offset: 0x7AF8
|
||||
D_02007B18:
|
||||
symbol: D_02007B18
|
||||
type: Gfx
|
||||
offset: 0x7B18
|
||||
D_02007B38:
|
||||
symbol: D_02007B38
|
||||
type: vtx
|
||||
offset: 0x7B38
|
||||
count: 8
|
||||
D_02007BB8:
|
||||
symbol: D_02007BB8
|
||||
type: vtx
|
||||
offset: 0x7BB8
|
||||
count: 2
|
||||
D_02007BD8:
|
||||
symbol: D_02007BD8
|
||||
type: vtx
|
||||
offset: 0x7BD8
|
||||
count: 2
|
||||
D_02007BF8:
|
||||
symbol: D_02007BF8
|
||||
type: vtx
|
||||
offset: 0x7BF8
|
||||
count: 2
|
||||
D_02007C18:
|
||||
symbol: D_02007C18
|
||||
type: vtx
|
||||
offset: 0x7C18
|
||||
count: 2
|
||||
D_02007C38:
|
||||
symbol: D_02007C38
|
||||
type: vtx
|
||||
offset: 0x7C38
|
||||
count: 2
|
||||
D_02007C58:
|
||||
symbol: D_02007C58
|
||||
type: vtx
|
||||
offset: 0x7C58
|
||||
count: 2
|
||||
D_02007C78:
|
||||
symbol: D_02007C78
|
||||
type: vtx
|
||||
offset: 0x7C78
|
||||
count: 2
|
||||
D_02007C98:
|
||||
symbol: D_02007C98
|
||||
type: vtx
|
||||
offset: 0x7C98
|
||||
count: 2
|
||||
D_02007CB8:
|
||||
symbol: D_02007CB8
|
||||
type: vtx
|
||||
offset: 0x7CB8
|
||||
count: 2
|
||||
D_02007CD8:
|
||||
symbol: D_02007CD8
|
||||
type: vtx
|
||||
offset: 0x7CD8
|
||||
count: 2
|
||||
D_02007CF8:
|
||||
symbol: D_02007CF8
|
||||
type: vtx
|
||||
offset: 0x7CF8
|
||||
count: 2
|
||||
D_02007D18:
|
||||
symbol: D_02007D18
|
||||
type: vtx
|
||||
offset: 0x7D18
|
||||
count: 2
|
||||
D_02007D38:
|
||||
symbol: D_02007D38
|
||||
type: vtx
|
||||
offset: 0x7D38
|
||||
count: 2
|
||||
D_02007D58:
|
||||
symbol: D_02007D58
|
||||
type: vtx
|
||||
offset: 0x7D58
|
||||
count: 2
|
||||
D_02007D78:
|
||||
symbol: D_02007D78
|
||||
type: vtx
|
||||
offset: 0x7D78
|
||||
count: 2
|
||||
D_02007D98:
|
||||
symbol: D_02007D98
|
||||
type: vtx
|
||||
offset: 0x7D98
|
||||
count: 2
|
||||
D_02007DB8:
|
||||
symbol: D_02007DB8
|
||||
type: vtx
|
||||
offset: 0x7DB8
|
||||
count: 2
|
||||
D_02007DD8:
|
||||
symbol: D_02007DD8
|
||||
type: vtx
|
||||
offset: 0x7DD8
|
||||
count: 2
|
||||
D_02007DF8:
|
||||
symbol: D_02007DF8
|
||||
type: vtx
|
||||
offset: 0x7DF8
|
||||
count: 2
|
||||
D_02007E18:
|
||||
symbol: D_02007E18
|
||||
type: vtx
|
||||
offset: 0x7E18
|
||||
count: 2
|
||||
D_02007E38:
|
||||
symbol: D_02007E38
|
||||
type: vtx
|
||||
offset: 0x7E38
|
||||
count: 2
|
||||
D_02007E58:
|
||||
symbol: D_02007E58
|
||||
type: vtx
|
||||
offset: 0x7E58
|
||||
count: 2
|
||||
D_02007E78:
|
||||
symbol: D_02007E78
|
||||
type: vtx
|
||||
offset: 0x7E78
|
||||
count: 2
|
||||
D_02007E98:
|
||||
symbol: D_02007E98
|
||||
type: vtx
|
||||
offset: 0x7E98
|
||||
count: 2
|
||||
D_02007EB8:
|
||||
symbol: D_02007EB8
|
||||
type: vtx
|
||||
offset: 0x7EB8
|
||||
count: 2
|
||||
D_02007ED8:
|
||||
symbol: D_02007ED8
|
||||
type: vtx
|
||||
offset: 0x7ED8
|
||||
count: 2
|
||||
D_02007EF8:
|
||||
symbol: D_02007EF8
|
||||
type: vtx
|
||||
offset: 0x7EF8
|
||||
count: 2
|
||||
D_02007F18:
|
||||
symbol: D_02007F18
|
||||
type: gfx
|
||||
offset: 0x7F18
|
||||
D_02007F48:
|
||||
symbol: D_02007F48
|
||||
type: gfx
|
||||
offset: 0x7F48
|
||||
D_02007F60:
|
||||
symbol: D_02007F60
|
||||
type: gfx
|
||||
offset: 0x7F60
|
||||
D_02007FC8:
|
||||
symbol: D_02007FC8
|
||||
type: gfx
|
||||
offset: 0x7FC8
|
||||
D_02008008:
|
||||
symbol: D_02008008
|
||||
type: gfx
|
||||
offset: 0x8008
|
||||
D_02008030:
|
||||
symbol: D_02008030
|
||||
type: gfx
|
||||
offset: 0x8030
|
||||
D_02008058:
|
||||
symbol: D_02008058
|
||||
type: gfx
|
||||
offset: 0x8058
|
118
yamls/us/startup_logo.yml
Normal file
118
yamls/us/startup_logo.yml
Normal file
@ -0,0 +1,118 @@
|
||||
:config:
|
||||
segments:
|
||||
- [0x06, 0x825800]
|
||||
header:
|
||||
code:
|
||||
- '#include <assets/startup_logo.h>'
|
||||
header:
|
||||
- '#include "types.h"'
|
||||
|
||||
dl1:
|
||||
symbol: startup_logo_dl
|
||||
type: gfx
|
||||
offset: 0x2B00
|
||||
dl2:
|
||||
symbol: startup_logo_dl2
|
||||
type: gfx
|
||||
offset: 0x2C88
|
||||
dl3:
|
||||
symbol: startup_logo_dl3
|
||||
type: gfx
|
||||
offset: 0x2D58
|
||||
dl4:
|
||||
symbol: startup_logo_dl4
|
||||
type: gfx
|
||||
offset: 0x2F20
|
||||
dl5:
|
||||
symbol: startup_logo_dl5
|
||||
type: gfx
|
||||
offset: 0x2FF0
|
||||
dl6:
|
||||
symbol: startup_logo_dl6
|
||||
type: gfx
|
||||
offset: 0x3180
|
||||
dl7:
|
||||
symbol: startup_logo_dl7
|
||||
type: gfx
|
||||
offset: 0x3308
|
||||
dl8:
|
||||
symbol: startup_logo_dl8
|
||||
type: gfx
|
||||
offset: 0x33D8
|
||||
dl9:
|
||||
symbol: startup_logo_dl9
|
||||
type: gfx
|
||||
offset: 0x7988
|
||||
dl10:
|
||||
symbol: startup_logo_dl10
|
||||
type: gfx
|
||||
offset: 0x7C18
|
||||
dl11:
|
||||
symbol: startup_logo_dl11
|
||||
type: gfx
|
||||
offset: 0x7CE8
|
||||
dl12:
|
||||
symbol: startup_logo_dl12
|
||||
type: gfx
|
||||
offset: 0x7E50
|
||||
dl13:
|
||||
symbol: startup_logo_dl13
|
||||
type: gfx
|
||||
offset: 0x7E90
|
||||
dl14:
|
||||
symbol: startup_logo_dl14
|
||||
type: gfx
|
||||
offset: 0x7ED0
|
||||
dl15:
|
||||
symbol: startup_logo_dl15
|
||||
type: gfx
|
||||
offset: 0x7F88
|
||||
dl16:
|
||||
symbol: startup_logo_dl16
|
||||
type: gfx
|
||||
offset: 0x80F0
|
||||
dl17:
|
||||
symbol: startup_logo_dl17
|
||||
type: gfx
|
||||
offset: 0x8250
|
||||
dl18:
|
||||
symbol: startup_logo_dl18
|
||||
type: gfx
|
||||
offset: 0x83C8
|
||||
dl19:
|
||||
symbol: startup_logo_dl19
|
||||
type: gfx
|
||||
offset: 0x8548
|
||||
dl20:
|
||||
symbol: startup_logo_dl20
|
||||
type: gfx
|
||||
offset: 0x87A0
|
||||
reflection_map_gold:
|
||||
symbol: reflection_map_gold
|
||||
type: texture
|
||||
ctype: u16
|
||||
offset: 0x8A48
|
||||
size: 2048
|
||||
width: 32
|
||||
height: 32
|
||||
format: RGBA16
|
||||
startup_texture_dl1:
|
||||
symbol: startup_texture_dl1
|
||||
type: gfx
|
||||
offset: 0x9248
|
||||
lights:
|
||||
symbol: lights
|
||||
type: lights
|
||||
offset: 0x9308
|
||||
startup_texture_dl2:
|
||||
symbol: startup_texture_dl2
|
||||
type: gfx
|
||||
offset: 0x9320
|
||||
startup_texture_dl3:
|
||||
symbol: startup_texture_dl3
|
||||
type: gfx
|
||||
offset: 0x93F8
|
||||
startup_texture_dl4:
|
||||
symbol: startup_texture_dl4
|
||||
type: gfx
|
||||
offset: 0x9410
|
Loading…
Reference in New Issue
Block a user