Files
SpaghettiKart/courses/test_course/model.c
T
coco875 02ad54ca72 Refactor yaml and remove segment (#531)
* move yaml (still need to fix header path)

* fix header

* change kart to karts and add migration

* fix include

* Update migration.py

* fix common_texture_debug_font extraction

* Update torch

* update torch and header

* unduplicate texture for tumble

* Update torch

* Update migration.py

* put the sort by default

* fix replace_segmented_textures_with_o2r_textures

* Update torch

* fix yamls

* add manual_segments in data of course

* comment out replace_segmented_textures_with_o2r_textures and segment 3

* remove segment 5

* (wip) remove segment 6

still plenty of thing to do

* more vtx

* more change

* Update torch

* small fix

* Update BansheeBoardwalk.cpp

* fix blockFort

* Delete test.yaml

* fix bowser castle and simplify track sections

* fix choco mountain

* clean banshee

* fix dk jungle

* fix double deck

* fix macos

* fix error

* fix macos ci

* Update torch

* Update torch

* fix frappe snowland

* fix kalimari desert

* fix koopa troopa beach

* fix luigi raceway

* fix mario raceway and simplify thing

* fix moo moo farm

* fix rainbow road

* Update torch

* Update torch

* hopefully fix windows error

* fix a small error

* fix royal raceway (and podium in theory)

* fix sherbet_land

* fix skyscraper

* fix toads turnpike

* fix wario stadium

* fix yoshi valley

* update torch

* more clang tidy rules

* REMOVE totally SEGMENT (sorry for the PR)

* remove unused field in course and props and unused packed asset

* fix kart texture

* fix particle

* fix track section and transparency

* try fix mode extra

* fix macos build and render

* fix collision in extra

* small change and try fix windows error

* a little of clean

* more cleanup

* forget header and more clean up

* Update Makefile

* fix credits

* fix kart texture offset

* remove LoadTextures and add Unload

* fix definitevely mirror mode

* add unload but it's not perfect

* revert a bad fix

* clean no longer used python script

* fix crash with player

* being able to load the same course twice

* add a comment on DrawWater

* fix render of transparent object

* better hack

* add a proper migration instruction

* fix number

* add basic modsmanager

* add meta/mods.toml

* Update EditorMath.h

* Update ModsManager.cpp

* basic modManager (maybe I should rename it ModLoader)

* use range on dependencies

* add information about mods.toml

* fix coment

* some rename around

* Delete beta-to-v1.md

* Update migrations.md

* Update textures-pack.md

* Update modding.md

* Update modding.md

* clean yamls_old

* move to mods in engine

* rename ModsManger to  ModManager

* move init and unload at the top

* rename ModsMetadata to ModMetadata

* fix header

* Update ModManager.cpp

* put core mods at top
2025-12-07 07:34:53 -07:00

390 lines
19 KiB
C

#include <libultraship.h>
#include <libultra/gbi.h>
#include "assets/textures/other_textures.h"
Lights1 mario_f3dlite_material_009_lights = gdSPDefLights1(
0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x49, 0x49, 0x49);
Lights1 mario_f3dlite_material_lights = gdSPDefLights1(
0x7F, 0x7F, 0x7F,
0xFF, 0xFF, 0xFF, 0x49, 0x49, 0x49);
Vtx mario_Plane_001_mesh_vtx_cull[8] = {
{{ {-431, 0, -1544}, 0, {0, 0}, {0, 0, 0, 0} }},
{{ {-431, 0, 1394}, 0, {0, 0}, {0, 0, 0, 0} }},
{{ {-431, 9, 1394}, 0, {0, 0}, {0, 0, 0, 0} }},
{{ {-431, 9, -1544}, 0, {0, 0}, {0, 0, 0, 0} }},
{{ {1522, 0, -1544}, 0, {0, 0}, {0, 0, 0, 0} }},
{{ {1522, 0, 1394}, 0, {0, 0}, {0, 0, 0, 0} }},
{{ {1522, 9, 1394}, 0, {0, 0}, {0, 0, 0, 0} }},
{{ {1522, 9, -1544}, 0, {0, 0}, {0, 0, 0, 0} }},
};
Vtx mario_Plane_001_mesh_vtx_0[114] = {
{{ {984, 0, -1177}, 0, {2037, -25}, {0, 127, 0, 255} }},
{{ {925, 0, -1018}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {1011, 0, -1164}, 0, {2025, 1009}, {0, 127, 0, 255} }},
{{ {961, 0, -1184}, 0, {2035, -23}, {0, 127, 0, 255} }},
{{ {984, 0, -1177}, 0, {2025, 999}, {0, 127, 0, 255} }},
{{ {961, 0, -1184}, 0, {2036, 1008}, {0, 127, 0, 255} }},
{{ {925, 0, -1188}, 0, {2031, -20}, {0, 127, 0, 255} }},
{{ {925, 0, -1018}, 0, {-20, -16}, {0, 127, 0, 255} }},
{{ {-85, 0, 271}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {85, 0, 271}, 0, {2032, 1008}, {0, 127, 0, 255} }},
{{ {85, 0, -716}, 0, {2032, -16}, {0, 127, 0, 255} }},
{{ {-85, 0, -716}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {-85, 0, -716}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {85, 0, -716}, 0, {2032, 1008}, {0, 127, 0, 255} }},
{{ {85, 0, -1018}, 0, {2032, -16}, {0, 127, 0, 255} }},
{{ {-85, 0, -1107}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {-70, 0, -1146}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {-51, 0, -1173}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {85, 0, -1018}, 0, {2032, -16}, {0, 127, 0, 255} }},
{{ {-26, 0, -1192}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {2, 0, -1205}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {30, 0, -1211}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {60, 0, -1214}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {85, 0, -1217}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {124, 0, -1211}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {156, 0, -1188}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {925, 0, -1018}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {925, 0, -1188}, 0, {2032, 1008}, {0, 127, 0, 255} }},
{{ {156, 0, -1188}, 0, {2032, -16}, {0, 127, 0, 255} }},
{{ {85, 0, -1018}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {954, 0, 656}, 0, {-16, 880}, {0, 127, 0, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {1095, 0, 895}, 0, {2032, 1008}, {0, 127, 0, 255} }},
{{ {1095, 0, 417}, 0, {2032, 752}, {0, 127, 0, 255} }},
{{ {1095, 9, -62}, 0, {2032, 496}, {0, 127, 0, 255} }},
{{ {1095, 6, 178}, 0, {2032, 624}, {0, 127, 0, 255} }},
{{ {1095, 0, -540}, 0, {2032, 240}, {0, 127, 0, 255} }},
{{ {1095, 5, -301}, 0, {2032, 368}, {0, 127, 0, 255} }},
{{ {942, 9, -62}, 0, {-16, 496}, {0, 127, 0, 255} }},
{{ {946, 5, 178}, 0, {-16, 624}, {0, 127, 0, 255} }},
{{ {950, 0, 417}, 0, {-16, 752}, {0, 127, 0, 255} }},
{{ {938, 7, -301}, 0, {-16, 368}, {0, 127, 0, 255} }},
{{ {929, 0, -779}, 0, {-16, 112}, {0, 127, 0, 255} }},
{{ {925, 0, -1018}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {1095, 0, -1018}, 0, {2032, -16}, {0, 127, 0, 255} }},
{{ {933, 0, -540}, 0, {-16, 240}, {0, 127, 0, 255} }},
{{ {85, 0, 895}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {958, 0, 1065}, 0, {2032, -16}, {0, 127, 0, 255} }},
{{ {958, 0, 895}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {85, 0, 1065}, 0, {2032, 1008}, {0, 127, 0, 255} }},
{{ {51, 0, 1059}, 0, {2032, 1008}, {0, 127, 0, 255} }},
{{ {21, 0, 1053}, 0, {2032, 1008}, {0, 127, 0, 255} }},
{{ {-9, 0, 1042}, 0, {2032, 1008}, {0, 127, 0, 255} }},
{{ {-31, 0, 1029}, 0, {2032, 1008}, {0, 127, 0, 255} }},
{{ {-50, 0, 1008}, 0, {2032, 1008}, {0, 127, 0, 255} }},
{{ {-70, 0, 981}, 0, {2032, 1008}, {0, 127, 0, 255} }},
{{ {-78, 0, 963}, 0, {2032, 1008}, {0, 127, 0, 255} }},
{{ {-82, 0, 936}, 0, {2032, 1008}, {0, 127, 0, 255} }},
{{ {-85, 0, 895}, 0, {2032, 1008}, {0, 127, 0, 255} }},
{{ {85, 0, 271}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {-85, 0, 271}, 0, {2032, 1008}, {0, 127, 0, 255} }},
{{ {-85, 0, 895}, 0, {2032, -16}, {0, 127, 0, 255} }},
{{ {85, 0, 271}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {-85, 0, 895}, 0, {2032, -16}, {0, 127, 0, 255} }},
{{ {85, 0, 895}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {1095, 0, 895}, 0, {2032, 1008}, {0, 127, 252, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {0, 127, 252, 255} }},
{{ {1090, 1, 933}, 0, {2032, 1008}, {0, 127, 252, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {0, 127, 252, 255} }},
{{ {1090, 1, 933}, 0, {2032, 1008}, {255, 127, 0, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {255, 127, 0, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {255, 127, 0, 255} }},
{{ {1086, 1, 957}, 0, {2032, 1008}, {255, 127, 0, 255} }},
{{ {1086, 1, 957}, 0, {2032, 1008}, {255, 127, 0, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {255, 127, 0, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {255, 127, 0, 255} }},
{{ {1078, 1, 979}, 0, {2032, 1008}, {255, 127, 0, 255} }},
{{ {1078, 1, 979}, 0, {2032, 1008}, {255, 127, 0, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {255, 127, 0, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {255, 127, 0, 255} }},
{{ {1069, 1, 999}, 0, {2032, 1008}, {255, 127, 0, 255} }},
{{ {1069, 1, 999}, 0, {2032, 1008}, {255, 127, 0, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {255, 127, 0, 255} }},
{{ {1059, 1, 1019}, 0, {2032, 1008}, {255, 127, 0, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {255, 127, 0, 255} }},
{{ {1059, 1, 1019}, 0, {2032, 1008}, {255, 127, 255, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {255, 127, 255, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {255, 127, 255, 255} }},
{{ {1042, 1, 1035}, 0, {2032, 1008}, {255, 127, 255, 255} }},
{{ {1059, 1, 1019}, 0, {2032, 1008}, {0, 129, 0, 255} }},
{{ {1042, 1, 1035}, 0, {2032, 1008}, {0, 129, 0, 255} }},
{{ {1020, 1, 1047}, 0, {2032, 1008}, {0, 129, 0, 255} }},
{{ {1038, 1, 1031}, 0, {2032, 1008}, {0, 129, 0, 255} }},
{{ {1042, 1, 1035}, 0, {2032, 1008}, {0, 127, 255, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {0, 127, 255, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {0, 127, 255, 255} }},
{{ {1020, 1, 1047}, 0, {2032, 1008}, {0, 127, 255, 255} }},
{{ {1020, 1, 1047}, 0, {2032, 1008}, {0, 127, 255, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {0, 127, 255, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {0, 127, 255, 255} }},
{{ {991, 1, 1058}, 0, {2032, 1008}, {0, 127, 255, 255} }},
{{ {991, 1, 1058}, 0, {2032, 1008}, {251, 127, 0, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {251, 127, 0, 255} }},
{{ {958, 0, 1065}, 0, {2032, 1008}, {251, 127, 0, 255} }},
{{ {958, 0, 895}, 0, {-16, 1008}, {251, 127, 0, 255} }},
{{ {1095, 0, -1018}, 0, {2024, -19}, {0, 127, 0, 255} }},
{{ {1098, 0, -1036}, 0, {2045, -12}, {0, 127, 0, 255} }},
{{ {925, 0, -1018}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {1098, 0, -1058}, 0, {2040, -24}, {0, 127, 0, 255} }},
{{ {1090, 0, -1080}, 0, {2037, -18}, {0, 127, 0, 255} }},
{{ {1077, 0, -1103}, 0, {2037, -27}, {0, 127, 0, 255} }},
{{ {1059, 0, -1129}, 0, {2040, -13}, {0, 127, 0, 255} }},
{{ {1036, 0, -1149}, 0, {2032, -15}, {0, 127, 0, 255} }},
{{ {1011, 0, -1164}, 0, {2033, -15}, {0, 127, 0, 255} }},
};
Gfx mario_Plane_001_mesh_tri_0[] = {
gsSPVertex(mario_Plane_001_mesh_vtx_0 + 0, 30, 0),
gsSP2Triangles(0, 1, 2, 0, 3, 1, 4, 0),
gsSP2Triangles(5, 6, 7, 0, 8, 9, 10, 0),
gsSP2Triangles(8, 10, 11, 0, 12, 13, 14, 0),
gsSP2Triangles(12, 14, 15, 0, 15, 14, 14, 0),
gsSP2Triangles(15, 14, 16, 0, 16, 14, 17, 0),
gsSP2Triangles(14, 18, 17, 0, 17, 18, 18, 0),
gsSP2Triangles(17, 18, 19, 0, 19, 18, 18, 0),
gsSP2Triangles(19, 18, 20, 0, 20, 18, 18, 0),
gsSP2Triangles(20, 18, 21, 0, 21, 18, 14, 0),
gsSP2Triangles(21, 14, 22, 0, 22, 14, 23, 0),
gsSP2Triangles(14, 18, 23, 0, 23, 18, 14, 0),
gsSP2Triangles(23, 14, 24, 0, 24, 14, 18, 0),
gsSP2Triangles(24, 18, 25, 0, 26, 27, 28, 0),
gsSP1Triangle(26, 28, 29, 0),
gsSPVertex(mario_Plane_001_mesh_vtx_0 + 30, 32, 0),
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
gsSP2Triangles(0, 3, 4, 0, 3, 5, 4, 0),
gsSP2Triangles(0, 4, 6, 0, 4, 7, 6, 0),
gsSP2Triangles(8, 0, 6, 0, 8, 9, 0, 0),
gsSP2Triangles(9, 10, 0, 0, 6, 11, 8, 0),
gsSP2Triangles(6, 12, 11, 0, 6, 13, 12, 0),
gsSP2Triangles(6, 14, 13, 0, 12, 15, 11, 0),
gsSP2Triangles(16, 17, 18, 0, 16, 19, 17, 0),
gsSP2Triangles(19, 16, 16, 0, 19, 16, 20, 0),
gsSP2Triangles(20, 16, 16, 0, 20, 16, 21, 0),
gsSP2Triangles(21, 16, 16, 0, 21, 16, 22, 0),
gsSP2Triangles(22, 16, 16, 0, 22, 16, 23, 0),
gsSP2Triangles(23, 16, 16, 0, 23, 16, 24, 0),
gsSP2Triangles(24, 16, 16, 0, 24, 16, 25, 0),
gsSP2Triangles(25, 16, 16, 0, 25, 16, 26, 0),
gsSP2Triangles(26, 16, 16, 0, 26, 16, 27, 0),
gsSP2Triangles(27, 16, 28, 0, 16, 16, 28, 0),
gsSP1Triangle(29, 30, 31, 0),
gsSPVertex(mario_Plane_001_mesh_vtx_0 + 62, 31, 0),
gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0),
gsSP2Triangles(4, 6, 5, 0, 7, 8, 9, 0),
gsSP2Triangles(7, 9, 10, 0, 11, 12, 12, 0),
gsSP2Triangles(11, 12, 14, 0, 15, 16, 16, 0),
gsSP2Triangles(15, 16, 18, 0, 19, 20, 21, 0),
gsSP2Triangles(20, 22, 21, 0, 23, 24, 24, 0),
gsSP2Triangles(23, 24, 26, 0, 27, 28, 29, 0),
gsSP1Triangle(27, 29, 30, 0),
gsSPVertex(mario_Plane_001_mesh_vtx_0 + 93, 21, 0),
gsSP2Triangles(0, 1, 1, 0, 0, 1, 3, 0),
gsSP2Triangles(4, 5, 5, 0, 4, 5, 7, 0),
gsSP2Triangles(8, 9, 10, 0, 9, 11, 10, 0),
gsSP2Triangles(12, 13, 14, 0, 13, 15, 14, 0),
gsSP2Triangles(15, 16, 14, 0, 17, 14, 16, 0),
gsSP2Triangles(18, 14, 17, 0, 19, 14, 18, 0),
gsSP1Triangle(20, 14, 19, 0),
gsSPEndDisplayList(),
};
Vtx mario_Plane_001_mesh_vtx_1[92] = {
{{ {1090, 1, 933}, 0, {1008, 1008}, {32, 123, 0, 255} }},
{{ {1095, 0, 1065}, 0, {-16, 1008}, {32, 123, 0, 255} }},
{{ {1095, 0, 895}, 0, {1008, 1008}, {32, 123, 0, 255} }},
{{ {1086, 1, 957}, 0, {1008, 1008}, {6, 127, 1, 255} }},
{{ {1095, 0, 1065}, 0, {-16, 1008}, {6, 127, 1, 255} }},
{{ {1090, 1, 933}, 0, {1008, 1008}, {6, 127, 1, 255} }},
{{ {1078, 1, 979}, 0, {1008, 1008}, {3, 127, 1, 255} }},
{{ {1095, 0, 1065}, 0, {-16, 1008}, {3, 127, 1, 255} }},
{{ {1086, 1, 957}, 0, {1008, 1008}, {3, 127, 1, 255} }},
{{ {1069, 1, 999}, 0, {1008, 1008}, {3, 127, 1, 255} }},
{{ {1095, 0, 1065}, 0, {-16, 1008}, {3, 127, 1, 255} }},
{{ {1078, 1, 979}, 0, {1008, 1008}, {3, 127, 1, 255} }},
{{ {1059, 1, 1019}, 0, {1008, 1008}, {3, 127, 1, 255} }},
{{ {1095, 0, 1065}, 0, {-16, 1008}, {3, 127, 1, 255} }},
{{ {1069, 1, 999}, 0, {1008, 1008}, {3, 127, 1, 255} }},
{{ {1095, 0, 1065}, 0, {-16, 1008}, {2, 127, 3, 255} }},
{{ {1042, 1, 1035}, 0, {1008, 1008}, {2, 127, 3, 255} }},
{{ {1020, 1, 1047}, 0, {1008, 1008}, {2, 127, 3, 255} }},
{{ {1042, 1, 1035}, 0, {-16, 1008}, {2, 127, 2, 255} }},
{{ {1095, 0, 1065}, 0, {-16, 1008}, {2, 127, 2, 255} }},
{{ {1059, 1, 1019}, 0, {-16, 1008}, {2, 127, 2, 255} }},
{{ {991, 1, 1058}, 0, {1008, 1008}, {1, 127, 3, 255} }},
{{ {1095, 0, 1065}, 0, {-16, 1008}, {1, 127, 3, 255} }},
{{ {1020, 1, 1047}, 0, {1008, 1008}, {1, 127, 3, 255} }},
{{ {958, 0, 1065}, 0, {1008, 1008}, {0, 125, 23, 255} }},
{{ {1095, 0, 1065}, 0, {-16, 1008}, {0, 125, 23, 255} }},
{{ {991, 1, 1058}, 0, {1008, 1008}, {0, 125, 23, 255} }},
{{ {85, 0, -1018}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {85, 0, 895}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {958, 0, 895}, 0, {1008, 1008}, {0, 127, 0, 255} }},
{{ {942, 0, -62}, 0, {1008, 496}, {0, 127, 0, 255} }},
{{ {925, 0, -1018}, 0, {1008, -16}, {0, 127, 0, 255} }},
{{ {-431, 0, 1065}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {-85, 0, 1065}, 0, {1008, 1008}, {0, 127, 0, 255} }},
{{ {-85, 0, -1217}, 0, {1008, -16}, {0, 127, 0, 255} }},
{{ {-431, 0, -1217}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {-431, 0, 1394}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {1522, 0, 1394}, 0, {1008, 1008}, {0, 127, 0, 255} }},
{{ {1522, 0, 1065}, 0, {1008, -16}, {0, 127, 0, 255} }},
{{ {-431, 0, 1065}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {1095, 0, 23}, 0, {-16, 496}, {0, 127, 0, 255} }},
{{ {1095, 0, 1065}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {1522, 0, 1065}, 0, {1008, 1008}, {0, 127, 0, 255} }},
{{ {1095, 0, -1018}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {1522, 0, -1018}, 0, {1008, -16}, {0, 127, 0, 255} }},
{{ {-431, 0, -1544}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {-431, 0, -1217}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {156, 0, -1217}, 0, {240, 1008}, {0, 127, 0, 255} }},
{{ {925, 0, -1217}, 0, {496, 1008}, {0, 127, 0, 255} }},
{{ {1521, 0, -1544}, 0, {1008, -16}, {0, 127, 0, 255} }},
{{ {1521, 0, -1217}, 0, {1008, 1008}, {0, 127, 0, 255} }},
{{ {85, 0, 1065}, 0, {1008, 1008}, {0, 127, 0, 255} }},
{{ {51, 0, 1059}, 0, {1008, 1008}, {0, 127, 0, 255} }},
{{ {-85, 0, 1065}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {21, 0, 1053}, 0, {1008, 1008}, {0, 127, 0, 255} }},
{{ {-9, 0, 1042}, 0, {1008, 1008}, {0, 127, 0, 255} }},
{{ {-31, 0, 1029}, 0, {1008, 1008}, {0, 127, 0, 255} }},
{{ {-50, 0, 1008}, 0, {1008, 1008}, {0, 127, 0, 255} }},
{{ {-70, 0, 981}, 0, {1008, 1008}, {0, 127, 0, 255} }},
{{ {-78, 0, 963}, 0, {1008, 1008}, {0, 127, 0, 255} }},
{{ {-82, 0, 936}, 0, {1008, 1008}, {0, 127, 0, 255} }},
{{ {-85, 0, 895}, 0, {1008, 1008}, {0, 127, 0, 255} }},
{{ {925, 0, -1188}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {961, 0, -1184}, 0, {1010, 1008}, {0, 127, 0, 255} }},
{{ {156, 0, -1217}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {925, 0, -1188}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {925, 0, -1217}, 0, {496, 1008}, {0, 127, 0, 255} }},
{{ {156, 0, -1188}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {124, 0, -1211}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {85, 0, -1217}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {1098, 0, -1036}, 0, {1014, -12}, {0, 127, 0, 255} }},
{{ {1095, 0, -1018}, 0, {1004, -19}, {0, 127, 0, 255} }},
{{ {1522, 0, -1018}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {1098, 0, -1058}, 0, {1012, -24}, {0, 127, 0, 255} }},
{{ {1522, 0, -1058}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {1098, 0, -1217}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {1521, 0, -1217}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {1090, 0, -1080}, 0, {1010, -18}, {0, 127, 0, 255} }},
{{ {1077, 0, -1103}, 0, {1010, -27}, {0, 127, 0, 255} }},
{{ {1059, 0, -1129}, 0, {1012, -13}, {0, 127, 0, 255} }},
{{ {1036, 0, -1149}, 0, {1008, -15}, {0, 127, 0, 255} }},
{{ {1011, 0, -1164}, 0, {1008, -15}, {0, 127, 0, 255} }},
{{ {984, 0, -1177}, 0, {1011, -25}, {0, 127, 0, 255} }},
{{ {961, 0, -1184}, 0, {1010, -23}, {0, 127, 0, 255} }},
{{ {-85, 0, -1107}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {-70, 0, -1146}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {-85, 0, -1217}, 0, {-16, 1008}, {0, 127, 0, 255} }},
{{ {-51, 0, -1173}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {-26, 0, -1192}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {2, 0, -1205}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {30, 0, -1211}, 0, {-16, -16}, {0, 127, 0, 255} }},
{{ {60, 0, -1214}, 0, {-16, -16}, {0, 127, 0, 255} }},
};
Gfx mario_Plane_001_mesh_tri_1[] = {
gsSPVertex(mario_Plane_001_mesh_vtx_1 + 0, 32, 0),
gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0),
gsSP2Triangles(6, 7, 8, 0, 9, 10, 11, 0),
gsSP2Triangles(12, 13, 14, 0, 15, 16, 17, 0),
gsSP2Triangles(18, 19, 20, 0, 21, 22, 23, 0),
gsSP2Triangles(24, 25, 26, 0, 27, 28, 29, 0),
gsSP2Triangles(29, 30, 27, 0, 30, 31, 27, 0),
gsSPVertex(mario_Plane_001_mesh_vtx_1 + 32, 32, 0),
gsSP2Triangles(0, 1, 2, 0, 0, 2, 3, 0),
gsSP2Triangles(4, 5, 6, 0, 4, 6, 7, 0),
gsSP2Triangles(8, 9, 10, 0, 10, 11, 8, 0),
gsSP2Triangles(10, 12, 11, 0, 13, 14, 15, 0),
gsSP2Triangles(13, 15, 16, 0, 16, 17, 13, 0),
gsSP2Triangles(16, 18, 17, 0, 19, 20, 21, 0),
gsSP2Triangles(20, 22, 21, 0, 22, 23, 21, 0),
gsSP2Triangles(24, 21, 23, 0, 24, 25, 21, 0),
gsSP2Triangles(25, 26, 21, 0, 26, 27, 21, 0),
gsSP2Triangles(27, 28, 21, 0, 28, 29, 21, 0),
gsSP1Triangle(30, 31, 16, 0),
gsSPVertex(mario_Plane_001_mesh_vtx_1 + 64, 28, 0),
gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0),
gsSP2Triangles(3, 0, 4, 0, 5, 4, 0, 0),
gsSP2Triangles(6, 7, 8, 0, 9, 6, 8, 0),
gsSP2Triangles(9, 8, 10, 0, 11, 9, 10, 0),
gsSP2Triangles(11, 10, 12, 0, 9, 11, 13, 0),
gsSP2Triangles(13, 11, 14, 0, 14, 11, 15, 0),
gsSP2Triangles(15, 11, 16, 0, 16, 11, 17, 0),
gsSP2Triangles(17, 11, 18, 0, 18, 11, 19, 0),
gsSP2Triangles(2, 19, 11, 0, 20, 21, 22, 0),
gsSP2Triangles(23, 22, 21, 0, 23, 24, 22, 0),
gsSP2Triangles(24, 25, 22, 0, 25, 26, 22, 0),
gsSP2Triangles(26, 27, 22, 0, 27, 5, 22, 0),
gsSPEndDisplayList(),
};
Gfx mat_mario_f3dlite_material_009[] = {
gsSPClearGeometryMode(G_CLIPPING),
gsSPSetLights1(mario_f3dlite_material_009_lights),
gsDPPipeSync(),
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT),
gsDPSetAlphaDither(G_AD_NOISE),
gsSPTexture(65535, 65535, 0, 0, 1),
gsDPSetTextureImage(G_IM_FMT_I, G_IM_SIZ_8b_LOAD_BLOCK, 1, gTextureRoad2),
gsDPSetTile(G_IM_FMT_I, G_IM_SIZ_8b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPLoadBlock(7, 0, 0, 1023, 256),
gsDPSetTile(G_IM_FMT_I, G_IM_SIZ_8b, 8, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0),
gsDPSetTileSize(0, 0, 0, 252, 124),
gsSPEndDisplayList(),
};
Gfx mat_revert_mario_f3dlite_material_009[] = {
gsSPSetGeometryMode(G_CLIPPING),
gsDPPipeSync(),
gsDPSetAlphaDither(G_AD_DISABLE),
gsSPEndDisplayList(),
};
Gfx mat_mario_f3dlite_material[] = {
gsSPClearGeometryMode(G_CLIPPING),
gsSPSetLights1(mario_f3dlite_material_lights),
gsDPPipeSync(),
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
gsDPSetAlphaDither(G_AD_NOISE),
gsSPTexture(65535, 65535, 0, 0, 1),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, gTextureGrass1),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP, 0, 0, G_TX_WRAP, 0, 0),
gsDPLoadBlock(7, 0, 0, 1023, 256),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_WRAP, 5, 0, G_TX_WRAP, 5, 0),
gsDPSetTileSize(0, 0, 0, 32, 32),
gsSPEndDisplayList(),
};
Gfx mat_revert_mario_f3dlite_material[] = {
gsSPSetGeometryMode(G_CLIPPING),
gsDPPipeSync(),
gsDPSetAlphaDither(G_AD_DISABLE),
gsSPEndDisplayList(),
};
Gfx mario_Plane_001_mesh[] = {
gsSPClearGeometryMode(G_LIGHTING),
gsSPVertex(mario_Plane_001_mesh_vtx_cull + 0, 8, 0),
gsSPSetGeometryMode(G_LIGHTING),
gsSPCullDisplayList(0, 7),
gsSPDisplayList(mat_mario_f3dlite_material_009),
gsSPDisplayList(mario_Plane_001_mesh_tri_0),
gsSPDisplayList(mat_revert_mario_f3dlite_material_009),
gsSPDisplayList(mat_mario_f3dlite_material),
gsSPDisplayList(mario_Plane_001_mesh_tri_1),
gsSPDisplayList(mat_revert_mario_f3dlite_material),
gsDPPipeSync(),
gsSPSetGeometryMode(G_LIGHTING),
gsSPClearGeometryMode(G_TEXTURE_GEN),
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
gsSPTexture(65535, 65535, 0, 0, 0),
gsSPEndDisplayList(),
};