sm64ex-coop/actors/toad_player/model.inc.c

1445 lines
68 KiB
C

// Toad player
///////////
// metal //
///////////
static const Lights1 toad_player_lights_white = gdSPDefLights1(
0x7f, 0x7f, 0x7f,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
ALIGNED8 static const u8 toad_player_texture_metal[] = {
#include "actors/mario/mario_metal.rgba16.inc.c"
};
const Gfx toad_player_metal_start[] = {
gsDPPipeSync(),
gsSPSetGeometryMode(G_TEXTURE_GEN),
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsDPLoadTextureBlock(toad_player_texture_metal, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPEndDisplayList(),
};
const Gfx toad_player_metal_stop[] = {
gsDPPipeSync(),
gsSPClearGeometryMode(G_TEXTURE_GEN),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF),
gsSPEndDisplayList(),
};
//////////
// face //
//////////
static const Lights1 toad_player_lights_face = gdSPDefLights1(
0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
ALIGNED8 static const u8 toad_player_texture_face[] = {
#include "actors/toad_player/custom_toad_face.rgba16.inc.c"
};
ALIGNED8 static const u8 toad_player_texture_eyes_closed[] = {
#include "actors/toad_player/custom_toad_eyes_closed.rgba16.inc.c"
};
ALIGNED8 static const u8 toad_player_texture_eyes_half_closed[] = {
#include "actors/toad_player/custom_toad_eyes_half_closed.rgba16.inc.c"
};
ALIGNED8 static const u8 toad_player_texture_eyes_dead[] = {
#include "actors/toad_player/custom_toad_eyes_dead.rgba16.inc.c"
};
Vtx toad_player_vertex_face[] = {
{{{-50, 14, 3},0, {-436, 298},{0xC2, 0x68, 0xD9, 0xFF}}},
{{{-24, 27, 39},0, {-134, 0},{0xDE, 0x7A, 0xF3, 0xFF}}},
{{{0, 20, 0},0, {-436, 298},{0x0, 0x75, 0xCE, 0xFF}}},
{{{-68, -1, 10},0, {-436, 298},{0x99, 0x47, 0xE8, 0xFF}}},
{{{-42, 21, 72},0, {-134, 0},{0xBC, 0x68, 0x1C, 0xFF}}},
{{{-79, -28, 21},0, {-436, 298},{0x87, 0x24, 0xF4, 0xFF}}},
{{{-51, 1, 95},0, {-134, 0},{0xAE, 0x43, 0x46, 0xFF}}},
{{{-56, -20, 101},0, {-134, 0},{0xA6, 0x1B, 0x55, 0xFF}}},
{{{-86, -52, 32},0, {-436, 298},{0x81, 0x1, 0xFF, 0xFF}}},
{{{-56, -68, 103},0, {-124, 432},{0xA6, 0xF8, 0x59, 0xFF}}},
{{{-77, -96, 50},0, {-330, 686},{0x8D, 0xCB, 0xD, 0xFF}}},
{{{-43, -102, 106},0, {20, 832},{0xB7, 0xCC, 0x5A, 0xFF}}},
{{{-42, -128, 69},0, {30, 974},{0xBC, 0x98, 0x1B, 0xFF}}},
{{{0, -135, 97},0, {470, 1028},{0x0, 0x92, 0x40, 0xFF}}},
{{{0, -99, 124},0, {464, 706},{0x0, 0xD8, 0x79, 0xFF}}},
{{{44, -102, 106},0, {914, 824},{0x48, 0xCC, 0x5B, 0xFF}}},
{{{0, -135, 97},0, {470, 1028},{0x0, 0x92, 0x40, 0xFF}}},
{{{43, -128, 69},0, {910, 964},{0x43, 0x98, 0x1D, 0xFF}}},
{{{44, -102, 106},0, {914, 824},{0x48, 0xCC, 0x5B, 0xFF}}},
{{{78, -96, 50},0, {1258, 672},{0x73, 0xCC, 0xF, 0xFF}}},
{{{57, -68, 103},0, {1042, 420},{0x5A, 0xF8, 0x59, 0xFF}}},
{{{87, -52, 32},0, {1348, 280},{0x7F, 0x2, 0xFF, 0xFF}}},
{{{57, -20, 101},0, {1036, -12},{0x5A, 0x1B, 0x55, 0xFF}}},
{{{80, -28, 21},0, {1348, 280},{0x79, 0x24, 0xF4, 0xFF}}},
{{{52, 1, 95},0, {1036, -12},{0x52, 0x43, 0x46, 0xFF}}},
{{{43, 21, 72},0, {1036, -12},{0x44, 0x68, 0x1C, 0xFF}}},
{{{69, -1, 10},0, {1348, 280},{0x67, 0x47, 0xE8, 0xFF}}},
{{{24, 27, 39},0, {1036, -12},{0x22, 0x7A, 0xF3, 0xFF}}},
{{{51, 14, 3},0, {1348, 280},{0x3E, 0x68, 0xD9, 0xFF}}},
{{{0, 20, 0},0, {1036, -12},{0x0, 0x75, 0xCE, 0xFF}}},
{{{0, 32, 50},0, {444, -224},{0x0, 0x7F, 0xFC, 0xFF}}},
{{{0, 20, 0},0, {444, -224},{0x0, 0x75, 0xCE, 0xFF}}},
{{{43, 21, 72},0, {1036, -12},{0x44, 0x68, 0x1C, 0xFF}}},
{{{0, 32, 50},0, {444, -224},{0x0, 0x7F, 0xFC, 0xFF}}},
{{{0, 28, 88},0, {444, -224},{0x0, 0x72, 0x38, 0xFF}}},
{{{-42, 21, 72},0, {-134, 0},{0xBC, 0x68, 0x1C, 0xFF}}},
{{{-24, 27, 39},0, {-134, 0},{0xDE, 0x7A, 0xF3, 0xFF}}},
{{{0, 20, 0},0, {-134, 0},{0x0, 0x75, 0xCE, 0xFF}}},
{{{-51, 1, 95},0, {-134, 0},{0xAE, 0x43, 0x46, 0xFF}}},
{{{0, 4, 113},0, {444, -224},{0x0, 0x44, 0x6B, 0xFF}}},
{{{-56, -20, 101},0, {-134, 0},{0xA6, 0x1B, 0x55, 0xFF}}},
{{{0, -29, 125},0, {450, 76},{0x0, 0x17, 0x7D, 0xFF}}},
{{{-56, -68, 103},0, {-124, 432},{0xA6, 0xF8, 0x59, 0xFF}}},
{{{0, -55, 127},0, {456, 316},{0x0, 0x1, 0x7F, 0xFF}}},
{{{-43, -102, 106},0, {20, 832},{0xB7, 0xCC, 0x5A, 0xFF}}},
{{{0, -99, 124},0, {464, 706},{0x0, 0xD8, 0x79, 0xFF}}},
{{{44, -102, 106},0, {914, 824},{0x48, 0xCC, 0x5B, 0xFF}}},
{{{57, -68, 103},0, {1042, 420},{0x5A, 0xF8, 0x59, 0xFF}}},
{{{57, -68, 103},0, {1042, 420},{0x5A, 0xF8, 0x59, 0xFF}}},
{{{57, -20, 101},0, {1036, -12},{0x5A, 0x1B, 0x55, 0xFF}}},
{{{0, -29, 125},0, {450, 76},{0x0, 0x17, 0x7D, 0xFF}}},
{{{0, 4, 113},0, {444, -224},{0x0, 0x44, 0x6B, 0xFF}}},
{{{52, 1, 95},0, {1036, -12},{0x52, 0x43, 0x46, 0xFF}}},
{{{0, 28, 88},0, {444, -224},{0x0, 0x72, 0x38, 0xFF}}},
{{{43, 21, 72},0, {1036, -12},{0x44, 0x68, 0x1C, 0xFF}}},
{{{-35, 1, -23},0, {-354, 24},{0xDA, 0x5C, 0xB1, 0xFF}}},
{{{-50, 14, 3},0, {-874, -276},{0xC2, 0x68, 0xD9, 0xFF}}},
{{{0, 20, 0},0, {-354, 24},{0x0, 0x75, 0xCE, 0xFF}}},
{{{-68, -1, 10},0, {-874, -276},{0x99, 0x47, 0xE8, 0xFF}}},
{{{-53, -23, -35},0, {-354, 24},{0xB3, 0x25, 0xA2, 0xFF}}},
{{{0, -8, -41},0, {-108, 166},{0x0, 0x52, 0x9F, 0xFF}}},
{{{0, 20, 0},0, {-108, 166},{0x0, 0x75, 0xCE, 0xFF}}},
{{{0, -32, -55},0, {-108, 166},{0x0, 0x19, 0x83, 0xFF}}},
{{{54, -23, -35},0, {-354, 24},{0x4C, 0x25, 0xA1, 0xFF}}},
{{{54, -23, -35},0, {-354, 24},{0x4C, 0x25, 0xA1, 0xFF}}},
{{{0, -8, -41},0, {-108, 166},{0x0, 0x52, 0x9F, 0xFF}}},
{{{36, 1, -23},0, {-354, 24},{0x26, 0x5C, 0xB1, 0xFF}}},
{{{0, 20, 0},0, {-354, 24},{0x0, 0x75, 0xCE, 0xFF}}},
{{{69, -1, 10},0, {-874, -276},{0x67, 0x47, 0xE8, 0xFF}}},
{{{80, -28, 21},0, {-874, -276},{0x79, 0x24, 0xF4, 0xFF}}},
{{{62, -51, -28},0, {-354, 24},{0x5C, 0xF5, 0xA9, 0xFF}}},
{{{87, -52, 32},0, {-874, -276},{0x7F, 0x2, 0xFF, 0xFF}}},
{{{62, -80, -18},0, {-354, 24},{0x59, 0xD2, 0xB2, 0xFF}}},
{{{78, -96, 50},0, {-1014, 166},{0x73, 0xCC, 0xF, 0xFF}}},
{{{57, -113, 7},0, {-576, 354},{0x52, 0xAC, 0xD0, 0xFF}}},
{{{43, -128, 69},0, {-1162, 494},{0x43, 0x98, 0x1D, 0xFF}}},
{{{30, -135, 34},0, {-818, 576},{0x32, 0x8C, 0xF5, 0xFF}}},
{{{0, -135, 97},0, {-1428, 558},{0x0, 0x92, 0x40, 0xFF}}},
{{{0, -143, 8},0, {-562, 656},{0x6, 0x87, 0xD9, 0xFF}}},
{{{-29, -135, 34},0, {-818, 576},{0xCB, 0x8D, 0xFB, 0xFF}}},
{{{0, -135, 97},0, {-1428, 558},{0x0, 0x92, 0x40, 0xFF}}},
{{{-42, -128, 69},0, {-1162, 494},{0xBC, 0x98, 0x1B, 0xFF}}},
{{{-29, -135, 34},0, {-818, 576},{0xCB, 0x8D, 0xFB, 0xFF}}},
{{{-77, -96, 50},0, {-1014, 166},{0x8D, 0xCB, 0xD, 0xFF}}},
{{{-56, -113, 7},0, {-576, 354},{0xAA, 0xAE, 0xD4, 0xFF}}},
{{{-86, -52, 32},0, {-874, -276},{0x81, 0x1, 0xFF, 0xFF}}},
{{{-61, -80, -18},0, {-354, 24},{0xA5, 0xD3, 0xB3, 0xFF}}},
{{{-61, -51, -28},0, {-354, 24},{0xA4, 0xF5, 0xA9, 0xFF}}},
{{{-79, -28, 21},0, {-874, -276},{0x87, 0x24, 0xF4, 0xFF}}},
{{{-53, -23, -35},0, {-354, 24},{0xB3, 0x25, 0xA2, 0xFF}}},
{{{-68, -1, 10},0, {-874, -276},{0x99, 0x47, 0xE8, 0xFF}}},
{{{0, -62, -54},0, {-108, 166},{0x0, 0xE7, 0x83, 0xFF}}},
{{{0, -94, -43},0, {-108, 166},{0x0, 0xC7, 0x8E, 0xFF}}},
{{{62, -80, -18},0, {-354, 24},{0x59, 0xD2, 0xB2, 0xFF}}},
{{{62, -51, -28},0, {-354, 24},{0x5C, 0xF5, 0xA9, 0xFF}}},
{{{54, -23, -35},0, {-354, 24},{0x4C, 0x25, 0xA1, 0xFF}}},
{{{0, -62, -54},0, {-108, 166},{0x0, 0xE7, 0x83, 0xFF}}},
{{{0, -32, -55},0, {-108, 166},{0x0, 0x19, 0x83, 0xFF}}},
{{{54, -23, -35},0, {-354, 24},{0x4C, 0x25, 0xA1, 0xFF}}},
{{{-53, -23, -35},0, {-354, 24},{0xB3, 0x25, 0xA2, 0xFF}}},
{{{57, -113, 7},0, {-576, 354},{0x52, 0xAC, 0xD0, 0xFF}}},
{{{0, -94, -43},0, {-108, 166},{0x0, 0xC7, 0x8E, 0xFF}}},
{{{62, -80, -18},0, {-354, 24},{0x59, 0xD2, 0xB2, 0xFF}}},
{{{0, -124, -23},0, {-270, 476},{0x3, 0xA4, 0xA8, 0xFF}}},
{{{30, -135, 34},0, {-818, 576},{0x32, 0x8C, 0xF5, 0xFF}}},
{{{0, -143, 8},0, {-562, 656},{0x6, 0x87, 0xD9, 0xFF}}},
{{{-56, -113, 7},0, {-576, 354},{0xAA, 0xAE, 0xD4, 0xFF}}},
{{{-29, -135, 34},0, {-818, 576},{0xCB, 0x8D, 0xFB, 0xFF}}},
{{{-61, -80, -18},0, {-354, 24},{0xA5, 0xD3, 0xB3, 0xFF}}},
{{{51, 14, 3},0, {-874, -276},{0x3E, 0x68, 0xD9, 0xFF}}},
{{{36, 1, -23},0, {-354, 24},{0x26, 0x5C, 0xB1, 0xFF}}},
{{{0, 20, 0},0, {-874, -276},{0x0, 0x75, 0xCE, 0xFF}}},
{{{69, -1, 10},0, {-874, -276},{0x67, 0x47, 0xE8, 0xFF}}},
{{{36, 1, -23},0, {-354, 24},{0x26, 0x5C, 0xB1, 0xFF}}},
{{{51, 14, 3},0, {-874, -276},{0x3E, 0x68, 0xD9, 0xFF}}},
};
const Gfx toad_player_dl_face_inner[] = {
gsSPVertex(toad_player_vertex_face + 0, 16, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(3, 1, 0, 0),
gsSP1Triangle(3, 4, 1, 0),
gsSP1Triangle(5, 4, 3, 0),
gsSP1Triangle(5, 6, 4, 0),
gsSP1Triangle(7, 6, 5, 0),
gsSP1Triangle(7, 5, 8, 0),
gsSP1Triangle(9, 7, 8, 0),
gsSP1Triangle(8, 10, 9, 0),
gsSP1Triangle(11, 9, 10, 0),
gsSP1Triangle(10, 12, 11, 0),
gsSP1Triangle(13, 11, 12, 0),
gsSP1Triangle(13, 14, 11, 0),
gsSP1Triangle(13, 15, 14, 0),
gsSPVertex(toad_player_vertex_face + 16, 16, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(2, 1, 3, 0),
gsSP1Triangle(3, 4, 2, 0),
gsSP1Triangle(4, 3, 5, 0),
gsSP1Triangle(5, 6, 4, 0),
gsSP1Triangle(6, 5, 7, 0),
gsSP1Triangle(6, 7, 8, 0),
gsSP1Triangle(7, 9, 8, 0),
gsSP1Triangle(7, 10, 9, 0),
gsSP1Triangle(10, 11, 9, 0),
gsSP1Triangle(10, 12, 11, 0),
gsSP1Triangle(11, 12, 13, 0),
gsSP1Triangle(9, 11, 14, 0),
gsSP1Triangle(14, 11, 15, 0),
gsSPVertex(toad_player_vertex_face + 32, 16, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(3, 2, 1, 0),
gsSP1Triangle(3, 1, 4, 0),
gsSP1Triangle(4, 1, 5, 0),
gsSP1Triangle(6, 2, 3, 0),
gsSP1Triangle(6, 7, 2, 0),
gsSP1Triangle(8, 7, 6, 0),
gsSP1Triangle(8, 9, 7, 0),
gsSP1Triangle(9, 8, 10, 0),
gsSP1Triangle(10, 11, 9, 0),
gsSP1Triangle(11, 10, 12, 0),
gsSP1Triangle(12, 13, 11, 0),
gsSP1Triangle(11, 13, 14, 0),
gsSP1Triangle(14, 15, 11, 0),
gsSP1Triangle(9, 11, 15, 0),
gsSPVertex(toad_player_vertex_face + 48, 16, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(1, 3, 2, 0),
gsSP1Triangle(1, 4, 3, 0),
gsSP1Triangle(4, 5, 3, 0),
gsSP1Triangle(4, 6, 5, 0),
gsSP1Triangle(7, 8, 9, 0),
gsSP1Triangle(10, 8, 7, 0),
gsSP1Triangle(10, 7, 11, 0),
gsSP1Triangle(11, 7, 12, 0),
gsSP1Triangle(12, 7, 13, 0),
gsSP1Triangle(11, 12, 14, 0),
gsSP1Triangle(15, 14, 12, 0),
gsSPVertex(toad_player_vertex_face + 64, 16, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(2, 1, 3, 0),
gsSP1Triangle(4, 0, 2, 0),
gsSP1Triangle(5, 0, 4, 0),
gsSP1Triangle(5, 6, 0, 0),
gsSP1Triangle(7, 6, 5, 0),
gsSP1Triangle(7, 8, 6, 0),
gsSP1Triangle(9, 8, 7, 0),
gsSP1Triangle(9, 10, 8, 0),
gsSP1Triangle(11, 10, 9, 0),
gsSP1Triangle(11, 12, 10, 0),
gsSP1Triangle(13, 12, 11, 0),
gsSP1Triangle(13, 14, 12, 0),
gsSP1Triangle(13, 15, 14, 0),
gsSPVertex(toad_player_vertex_face + 80, 16, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(2, 1, 3, 0),
gsSP1Triangle(2, 3, 4, 0),
gsSP1Triangle(4, 3, 5, 0),
gsSP1Triangle(4, 5, 6, 0),
gsSP1Triangle(5, 7, 6, 0),
gsSP1Triangle(5, 8, 7, 0),
gsSP1Triangle(8, 9, 7, 0),
gsSP1Triangle(8, 10, 9, 0),
gsSP1Triangle(11, 7, 9, 0),
gsSP1Triangle(6, 7, 11, 0),
gsSP1Triangle(6, 11, 12, 0),
gsSP1Triangle(13, 12, 11, 0),
gsSP1Triangle(13, 11, 14, 0),
gsSP1Triangle(11, 15, 14, 0),
gsSPVertex(toad_player_vertex_face + 96, 16, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(0, 3, 1, 0),
gsSP1Triangle(4, 5, 6, 0),
gsSP1Triangle(4, 7, 5, 0),
gsSP1Triangle(8, 7, 4, 0),
gsSP1Triangle(8, 9, 7, 0),
gsSP1Triangle(9, 10, 7, 0),
gsSP1Triangle(9, 11, 10, 0),
gsSP1Triangle(7, 10, 12, 0),
gsSP1Triangle(7, 12, 5, 0),
gsSP1Triangle(13, 14, 15, 0),
gsSPVertex(toad_player_vertex_face + 112, 3, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSPEndDisplayList(),
};
const Gfx toad_player_dl_face[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBFADE, G_CC_MODULATERGBFADE),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, toad_player_texture_face),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&toad_player_lights_face.l, 1),
gsSPLight(&toad_player_lights_face.a, 2),
gsSPDisplayList(toad_player_dl_face_inner),
gsDPTileSync(),
gsSPEndDisplayList(),
};
const Gfx toad_player_dl_eyes_closed[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBFADE, G_CC_MODULATERGBFADE),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, toad_player_texture_eyes_closed),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&toad_player_lights_face.l, 1),
gsSPLight(&toad_player_lights_face.a, 2),
gsSPDisplayList(toad_player_dl_face_inner),
gsDPTileSync(),
gsSPEndDisplayList(),
};
const Gfx toad_player_dl_eyes_half_closed[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBFADE, G_CC_MODULATERGBFADE),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, toad_player_texture_eyes_half_closed),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&toad_player_lights_face.l, 1),
gsSPLight(&toad_player_lights_face.a, 2),
gsSPDisplayList(toad_player_dl_face_inner),
gsDPTileSync(),
gsSPEndDisplayList(),
};
const Gfx toad_player_dl_eyes_dead[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBFADE, G_CC_MODULATERGBFADE),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, toad_player_texture_eyes_dead),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&toad_player_lights_face.l, 1),
gsSPLight(&toad_player_lights_face.a, 2),
gsSPDisplayList(toad_player_dl_face_inner),
gsDPTileSync(),
gsSPEndDisplayList(),
};
//////////
// hair //
//////////
ALIGNED8 static const u8 toad_player_texture_hair[] = {
#include "actors/toad_player/custom_toad_hair.rgba16.inc.c"
};
Vtx toad_player_vertex_hair[] = {
{{{-20, 10 + 40, -11}, 0, {-7, -8},{0x0, 0x27, 0x79, 0xFF}}},
{{{ 20, -28 + 40, 1}, 0, {999, 997},{0x0, 0x27, 0x79, 0xFF}}},
{{{ 20, 10 + 40, -11}, 0, {999, -8},{0x0, 0x27, 0x79, 0xFF}}},
{{{-20, -28 + 40, 1}, 0, {-7, 997},{0x0, 0x27, 0x79, 0xFF}}},
};
const Gfx toad_player_dl_hair_inner[] = {
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPClearGeometryMode(G_CULL_BACK),
gsSPVertex(toad_player_vertex_hair + 0, 4, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(0, 3, 1, 0),
gsSPSetGeometryMode(G_CULL_BACK),
gsSPEndDisplayList(),
};
const Gfx toad_player_dl_hair[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, toad_player_texture_hair),
gsSPDisplayList(toad_player_dl_hair_inner),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsSPEndDisplayList(),
};
/////////
// cap //
/////////
ALIGNED8 static const u8 toad_player_texture_cap[] = {
#include "actors/toad_player/custom_toad_cap.rgba16.inc.c"
};
static const Lights1 toad_player_lights_cap = gdSPDefLights1(
0x7f, 0x7f, 0x7f,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
Vtx toad_player_vertex_cap_decal[] = {
{{{34, -28, 97},0, {-42, 926},{0x18, 0x99, 0x46, 0xFF}}},
{{{142, -44, 36},0, {1024, 984},{0x61, 0xB9, 0x28, 0xFF}}},
{{{71, 13, 144},0, {82, 380},{0x4A, 0xC0, 0x52, 0xFF}}},
{{{176, 0, 13},0, {1466, 550},{0x7A, 0xE2, 0x10, 0xFF}}},
{{{89, 71, 148},0, {290, -208},{0x49, 0x17, 0x66, 0xFF}}},
{{{89, 71, 148},0, {-92, 952},{0x49, 0x17, 0x66, 0xFF}}},
{{{176, 0, 13},0, {1016, 906},{0x7A, 0xE2, 0x10, 0xFF}}},
{{{176, 47, -12},0, {1010, 594},{0x7C, 0x1C, 0x5, 0xFF}}},
{{{89, 119, 122},0, {-98, 640},{0x3D, 0x51, 0x4D, 0xFF}}},
{{{142, 91, -36},0, {892, 212},{0x51, 0x60, 0xEB, 0xFF}}},
{{{71, 149, 72},0, {2, 250},{0x35, 0x6D, 0x25, 0xFF}}},
{{{79, 122, -52},0, {688, -162},{0x34, 0x63, 0xC3, 0xFF}}},
{{{176, 0, 13},0, {-196, 438},{0x7A, 0xE2, 0x10, 0xFF}}},
{{{88, -24, -147},0, {1220, 36},{0x2D, 0xDD, 0x8E, 0xFF}}},
{{{176, 47, -12},0, {-198, -10},{0x7C, 0x1C, 0x5, 0xFF}}},
{{{88, -72, -121},0, {1222, 482},{0x4E, 0xBE, 0xB4, 0xFF}}},
{{{142, -44, 36},0, {-54, 916},{0x61, 0xB9, 0x28, 0xFF}}},
{{{88, -72, -121},0, {1222, 482},{0x4E, 0xBE, 0xB4, 0xFF}}},
{{{176, 0, 13},0, {-196, 438},{0x7A, 0xE2, 0x10, 0xFF}}},
{{{71, -102, -71},0, {1084, 952},{0x5F, 0xAD, 0xEF, 0xFF}}},
{{{-70, 13, 145},0, {184, 1066},{0xC6, 0xEA, 0x6F, 0xFF}}},
{{{89, 71, 148},0, {1214, 712},{0x49, 0x17, 0x66, 0xFF}}},
{{{-87, 71, 148},0, {34, 812},{0xC3, 0x13, 0x6E, 0xFF}}},
{{{89, 119, 122},0, {1186, 352},{0x3D, 0x51, 0x4D, 0xFF}}},
{{{-87, 119, 122},0, {6, 452},{0xD2, 0x4B, 0x5C, 0xFF}}},
{{{71, 149, 72},0, {1050, -18},{0x35, 0x6D, 0x25, 0xFF}}},
{{{-70, 149, 72},0, {104, 62},{0xE8, 0x78, 0x23, 0xFF}}},
{{{-141, 91, -35},0, {456, 1066},{0xC3, 0x62, 0xCC, 0xFF}}},
{{{-70, 149, 72},0, {1404, 676},{0xE8, 0x78, 0x23, 0xFF}}},
{{{-38, 154, 8},0, {1000, 266},{0xD2, 0x72, 0xE1, 0xFF}}},
{{{-78, 122, -51},0, {474, 484},{0xD0, 0x68, 0xC9, 0xFF}}},
{{{0, 133, -57},0, {490, -104},{0xFB, 0x6C, 0xBD, 0xFF}}},
{{{-38, 90, -112},0, {-38, 168},{0xE8, 0x55, 0xA4, 0xFF}}},
{{{-78, 122, -51},0, {474, 484},{0xD0, 0x68, 0xC9, 0xFF}}},
{{{0, 133, -57},0, {490, -104},{0xFB, 0x6C, 0xBD, 0xFF}}},
{{{-70, 34, -143},0, {-462, 496},{0xEF, 0x2D, 0x8A, 0xFF}}},
{{{-141, 91, -35},0, {456, 1066},{0xC3, 0x62, 0xCC, 0xFF}}},
{{{-141, -44, 37},0, {-184, 898},{0x97, 0xC1, 0x22, 0xFF}}},
{{{-70, 13, 145},0, {1120, 942},{0xC6, 0xEA, 0x6F, 0xFF}}},
{{{-87, 71, 148},0, {1264, 448},{0xC3, 0x13, 0x6E, 0xFF}}},
{{{-175, 0, 13},0, {-362, 392},{0x86, 0xE2, 0x10, 0xFF}}},
{{{-87, 119, 122},0, {1258, -4},{0xD2, 0x4B, 0x5C, 0xFF}}},
{{{-175, 48, -12},0, {-370, -58},{0x81, 0x0, 0x0, 0xFF}}},
{{{71, 34, -144},0, {-26, 196},{0x10, 0x2D, 0x8A, 0xFF}}},
{{{-70, 34, -143},0, {888, 166},{0xEF, 0x2D, 0x8A, 0xFF}}},
{{{-38, 90, -112},0, {646, -188},{0xE8, 0x55, 0xA4, 0xFF}}},
{{{88, -24, -147},0, {-106, 592},{0x2D, 0xDD, 0x8E, 0xFF}}},
{{{-88, -23, -147},0, {1032, 556},{0xD2, 0xDE, 0x8E, 0xFF}}},
{{{88, -72, -121},0, {-88, 942},{0x4E, 0xBE, 0xB4, 0xFF}}},
{{{-88, -23, -147},0, {1032, 556},{0xD2, 0xDE, 0x8E, 0xFF}}},
{{{88, -24, -147},0, {-106, 592},{0x2D, 0xDD, 0x8E, 0xFF}}},
{{{-88, -72, -121},0, {1050, 906},{0xB2, 0xBE, 0xB4, 0xFF}}},
{{{-70, -102, -71},0, {-96, 882},{0xA2, 0xAD, 0xF0, 0xFF}}},
{{{-141, -44, 37},0, {1122, 1024},{0x97, 0xC1, 0x22, 0xFF}}},
{{{-175, 0, 13},0, {1320, 596},{0x86, 0xE2, 0x10, 0xFF}}},
{{{-88, -72, -121},0, {-198, 414},{0xB2, 0xBE, 0xB4, 0xFF}}},
{{{-175, 48, -12},0, {1372, 98},{0x81, 0x0, 0x0, 0xFF}}},
{{{-88, -23, -147},0, {-146, -82},{0xD2, 0xDE, 0x8E, 0xFF}}},
{{{71, 34, -144},0, {832, 1186},{0x10, 0x2D, 0x8A, 0xFF}}},
{{{-38, 90, -112},0, {1162, -70},{0xE8, 0x55, 0xA4, 0xFF}}},
{{{39, 90, -112},0, {654, 498},{0x17, 0x55, 0xA4, 0xFF}}},
{{{0, 133, -57},0, {414, -278},{0xFB, 0x6C, 0xBD, 0xFF}}},
{{{79, 122, -52},0, {-98, 326},{0x34, 0x63, 0xC3, 0xFF}}},
{{{142, 91, -36},0, {-524, 874},{0x51, 0x60, 0xEB, 0xFF}}},
};
Vtx toad_player_vertex_cap[] = {
{{{-175, 48, -12},0, {-418, 482},{0x86, 0x1F, 0xF1, 0xFF}}},
{{{-70, 149, 72},0, {178, 72},{0xD3, 0x74, 0x1A, 0xFF}}},
{{{-141, 91, -35},0, {-280, 152},{0xA6, 0x50, 0xD6, 0xFF}}},
{{{89, 71, 148},0, {-92, 952},{0x3D, 0x12, 0x6E, 0xFF}}},
{{{176, 0, 13},0, {1016, 906},{0x7A, 0xE2, 0x10, 0xFF}}},
{{{176, 47, -12},0, {1010, 594},{0x7A, 0x1E, 0xF0, 0xFF}}},
{{{89, 119, 122},0, {-98, 640},{0x3D, 0x51, 0x4D, 0xFF}}},
{{{142, 91, -36},0, {892, 212},{0x5B, 0x4F, 0xD6, 0xFF}}},
{{{71, 149, 72},0, {2, 250},{0x2C, 0x74, 0x1A, 0xFF}}},
{{{79, 122, -52},0, {688, -162},{0x2F, 0x68, 0xC8, 0xFF}}},
{{{39, 154, 7},0, {194, -140},{0x17, 0x7B, 0xED, 0xFF}}},
{{{176, 0, 13},0, {-196, 438},{0x7A, 0xE2, 0x10, 0xFF}}},
{{{88, -24, -147},0, {1220, 36},{0x3D, 0xED, 0x92, 0xFF}}},
{{{176, 47, -12},0, {-198, -10},{0x7A, 0x1E, 0xF0, 0xFF}}},
{{{88, -72, -121},0, {1222, 482},{0x3D, 0xAF, 0xB3, 0xFF}}},
{{{142, -44, 36},0, {-54, 916},{0x51, 0xAA, 0x2E, 0xFF}}},
{{{142, -44, 36},0, {-54, 916},{0x51, 0xAA, 0x2E, 0xFF}}},
{{{71, -102, -71},0, {1084, 952},{0x28, 0x88, 0xF1, 0xFF}}},
{{{88, -72, -121},0, {1222, 482},{0x3D, 0xAF, 0xB3, 0xFF}}},
{{{-70, 13, 145},0, {184, 1066},{0xD9, 0xC9, 0x6C, 0xFF}}},
{{{89, 71, 148},0, {1214, 712},{0x3D, 0x12, 0x6E, 0xFF}}},
{{{-87, 71, 148},0, {34, 812},{0xC3, 0x13, 0x6E, 0xFF}}},
{{{89, 119, 122},0, {1186, 352},{0x3D, 0x51, 0x4D, 0xFF}}},
{{{-87, 119, 122},0, {6, 452},{0xC3, 0x51, 0x4D, 0xFF}}},
{{{71, 149, 72},0, {1050, -18},{0x2C, 0x74, 0x1A, 0xFF}}},
{{{-70, 149, 72},0, {104, 62},{0xD3, 0x74, 0x1A, 0xFF}}},
{{{-70, 149, 72},0, {178, 72},{0xD3, 0x74, 0x1A, 0xFF}}},
{{{39, 154, 7},0, {780, -272},{0x17, 0x7B, 0xED, 0xFF}}},
{{{-38, 154, 8},0, {304, -170},{0xE9, 0x7B, 0xED, 0xFF}}},
{{{71, 149, 72},0, {1036, -112},{0x2C, 0x74, 0x1A, 0xFF}}},
{{{-141, 91, -35},0, {456, 1066},{0xA6, 0x50, 0xD6, 0xFF}}},
{{{-70, 149, 72},0, {1404, 676},{0xD3, 0x74, 0x1A, 0xFF}}},
{{{-38, 154, 8},0, {1000, 266},{0xE9, 0x7B, 0xED, 0xFF}}},
{{{-78, 122, -51},0, {474, 484},{0xD0, 0x68, 0xC9, 0xFF}}},
{{{0, 133, -57},0, {490, -104},{0x0, 0x70, 0xC4, 0xFF}}},
{{{-38, 90, -112},0, {-38, 168},{0xE8, 0x55, 0xA4, 0xFF}}},
{{{-70, 34, -143},0, {-462, 496},{0xD4, 0x2C, 0x91, 0xFF}}},
{{{-38, 154, 8},0, {-16, -16},{0xE9, 0x7B, 0xED, 0xFF}}},
{{{39, 154, 7},0, {-16, -16},{0x17, 0x7B, 0xED, 0xFF}}},
{{{0, 133, -57},0, {-16, -16},{0x0, 0x70, 0xC4, 0xFF}}},
{{{79, 122, -52},0, {-16, -16},{0x2F, 0x68, 0xC8, 0xFF}}},
{{{-141, -44, 37},0, {-184, 898},{0xAE, 0xAA, 0x2E, 0xFF}}},
{{{-70, 13, 145},0, {1120, 942},{0xD9, 0xC9, 0x6C, 0xFF}}},
{{{-87, 71, 148},0, {1264, 448},{0xC3, 0x13, 0x6E, 0xFF}}},
{{{-175, 0, 13},0, {-362, 392},{0x86, 0xE2, 0x10, 0xFF}}},
{{{-87, 119, 122},0, {1258, -4},{0xC3, 0x51, 0x4D, 0xFF}}},
{{{-175, 0, 13},0, {-362, 392},{0x86, 0xE2, 0x10, 0xFF}}},
{{{-87, 119, 122},0, {1258, -4},{0xC3, 0x51, 0x4D, 0xFF}}},
{{{-175, 48, -12},0, {-370, -58},{0x86, 0x1F, 0xF1, 0xFF}}},
{{{-70, 149, 72},0, {1100, -320},{0xD3, 0x74, 0x1A, 0xFF}}},
{{{71, 34, -144},0, {-26, 196},{0x2D, 0x2B, 0x91, 0xFF}}},
{{{-70, 34, -143},0, {888, 166},{0xD4, 0x2C, 0x91, 0xFF}}},
{{{-38, 90, -112},0, {646, -188},{0xE8, 0x55, 0xA4, 0xFF}}},
{{{88, -24, -147},0, {-106, 592},{0x3D, 0xED, 0x92, 0xFF}}},
{{{-88, -23, -147},0, {1032, 556},{0xC3, 0xEF, 0x92, 0xFF}}},
{{{88, -72, -121},0, {-88, 942},{0x3D, 0xAF, 0xB3, 0xFF}}},
{{{-88, -72, -121},0, {1050, 906},{0xC3, 0xAF, 0xB3, 0xFF}}},
{{{-70, -102, -71},0, {-96, 882},{0xD8, 0x88, 0xF1, 0xFF}}},
{{{-141, -44, 37},0, {1122, 1024},{0xAE, 0xAA, 0x2E, 0xFF}}},
{{{-175, 0, 13},0, {1320, 596},{0x86, 0xE2, 0x10, 0xFF}}},
{{{-88, -72, -121},0, {-198, 414},{0xC3, 0xAF, 0xB3, 0xFF}}},
{{{-175, 48, -12},0, {1372, 98},{0x86, 0x1F, 0xF1, 0xFF}}},
{{{-88, -72, -121},0, {-198, 414},{0xC3, 0xAF, 0xB3, 0xFF}}},
{{{-175, 48, -12},0, {1372, 98},{0x86, 0x1F, 0xF1, 0xFF}}},
{{{-88, -23, -147},0, {-146, -82},{0xC3, 0xEF, 0x92, 0xFF}}},
{{{176, 47, -12},0, {-16, -16},{0x7A, 0x1E, 0xF0, 0xFF}}},
{{{71, 34, -144},0, {-16, -16},{0x2D, 0x2B, 0x91, 0xFF}}},
{{{142, 91, -36},0, {-16, -16},{0x5B, 0x4F, 0xD6, 0xFF}}},
{{{88, -24, -147},0, {-16, -16},{0x3D, 0xED, 0x92, 0xFF}}},
{{{71, -102, -71},0, {-16, -16},{0x28, 0x88, 0xF1, 0xFF}}},
{{{-88, -72, -121},0, {-16, -16},{0xC3, 0xAF, 0xB3, 0xFF}}},
{{{88, -72, -121},0, {-16, -16},{0x3D, 0xAF, 0xB3, 0xFF}}},
{{{-70, -102, -71},0, {-16, -16},{0xD8, 0x88, 0xF1, 0xFF}}},
{{{-88, -23, -147},0, {-16, -16},{0xC3, 0xEF, 0x92, 0xFF}}},
{{{-141, 91, -35},0, {-16, -16},{0xA6, 0x50, 0xD6, 0xFF}}},
{{{-70, 34, -143},0, {-16, -16},{0xD4, 0x2C, 0x91, 0xFF}}},
{{{-175, 48, -12},0, {-16, -16},{0x86, 0x1F, 0xF1, 0xFF}}},
{{{34, -28, 97},0, {-42, 926},{0xD8, 0xAD, 0x57, 0xFF}}},
{{{-17, 8, 42},0, {-548, 1048},{0x29, 0x88, 0xFB, 0xFF}}},
{{{18, 8, 42},0, {-42, 926},{0xDF, 0x86, 0xF9, 0xFF}}},
{{{-33, -28, 97},0, {-548, 1048},{0x2C, 0xB3, 0x5B, 0xFF}}},
{{{34, -28, 97},0, {-42, 926},{0x8, 0xC2, 0x6F, 0xFF}}},
{{{-33, -28, 97},0, {-548, 1048},{0xFC, 0xC1, 0x6E, 0xFF}}},
{{{71, 13, 144},0, {82, 380},{0x27, 0xC7, 0x6B, 0xFF}}},
{{{142, -44, 36},0, {1024, 984},{0x51, 0xAA, 0x2E, 0xFF}}},
{{{176, 0, 13},0, {1466, 550},{0x7A, 0xE2, 0x10, 0xFF}}},
{{{89, 71, 148},0, {290, -208},{0x3D, 0x12, 0x6E, 0xFF}}},
{{{-70, 13, 145},0, {-982, 638},{0xD9, 0xC9, 0x6C, 0xFF}}},
{{{34, -28, 97},0, {718, 1666},{0x8, 0xC2, 0x6F, 0xFF}}},
{{{76, -57, 47},0, {606, 1810},{0x15, 0xBA, 0x68, 0xFF}}},
{{{142, -44, 36},0, {624, 1980},{0x51, 0xAA, 0x2E, 0xFF}}},
{{{34, -28, 97},0, {718, 1666},{0xD8, 0xAD, 0x57, 0xFF}}},
{{{76, -57, 47},0, {606, 1810},{0xC9, 0xE2, 0x6F, 0xFF}}},
{{{76, -57, 47},0, {606, 1810},{0xC9, 0xE2, 0x6F, 0xFF}}},
{{{34, -28, 97},0, {718, 1666},{0xD8, 0xAD, 0x57, 0xFF}}},
{{{18, 8, 42},0, {718, 1666},{0xDF, 0x86, 0xF9, 0xFF}}},
{{{39, -7, 17},0, {606, 1810},{0xB4, 0xA8, 0x33, 0xFF}}},
{{{18, -23, -10},0, {442, 1742},{0xDE, 0xCB, 0x6E, 0xFF}}},
{{{-34, -9, 16},0, {538, 1444},{0x4F, 0xAB, 0x33, 0xFF}}},
{{{-17, 8, 42},0, {690, 1492},{0x29, 0x88, 0xFB, 0xFF}}},
{{{-33, -28, 97},0, {690, 1492},{0x2C, 0xB3, 0x5B, 0xFF}}},
{{{-66, -61, 45},0, {538, 1444},{0x3C, 0xE5, 0x6D, 0xFF}}},
{{{-33, -28, 97},0, {690, 1492},{0xFC, 0xC1, 0x6E, 0xFF}}},
{{{-66, -61, 45},0, {538, 1444},{0xED, 0xB8, 0x67, 0xFF}}},
{{{-70, 13, 145},0, {826, 1356},{0xD9, 0xC9, 0x6C, 0xFF}}},
{{{-141, -44, 37},0, {508, 1254},{0xAE, 0xAA, 0x2E, 0xFF}}},
{{{-33, -88, -5},0, {416, 1570},{0xF5, 0xAA, 0x5D, 0xFF}}},
{{{-70, -102, -71},0, {250, 1518},{0xD8, 0x88, 0xF1, 0xFF}}},
{{{34, -88, -5},0, {442, 1742},{0xB, 0xAB, 0x5E, 0xFF}}},
{{{34, -88, -5},0, {442, 1742},{0xB, 0xAB, 0x5E, 0xFF}}},
{{{-70, -102, -71},0, {250, 1518},{0xD8, 0x88, 0xF1, 0xFF}}},
{{{71, -102, -71},0, {306, 1880},{0x28, 0x88, 0xF1, 0xFF}}},
{{{76, -57, 47},0, {606, 1810},{0x15, 0xBA, 0x68, 0xFF}}},
{{{142, -44, 36},0, {624, 1980},{0x51, 0xAA, 0x2E, 0xFF}}},
{{{76, -57, 47},0, {606, 1810},{0xC9, 0xE2, 0x6F, 0xFF}}},
{{{34, -88, -5},0, {442, 1742},{0xE9, 0xFF, 0x7D, 0xFF}}},
{{{39, -7, 17},0, {606, 1810},{0xB4, 0xA8, 0x33, 0xFF}}},
{{{18, -23, -10},0, {442, 1742},{0xDE, 0xCB, 0x6E, 0xFF}}},
{{{-33, -88, -5},0, {416, 1570},{0x19, 0xFE, 0x7D, 0xFF}}},
{{{-17, -23, -10},0, {416, 1570},{0x27, 0xCB, 0x6D, 0xFF}}},
{{{-34, -9, 16},0, {538, 1444},{0x4F, 0xAB, 0x33, 0xFF}}},
{{{-66, -61, 45},0, {538, 1444},{0x3C, 0xE5, 0x6D, 0xFF}}},
{{{-66, -61, 45},0, {538, 1444},{0xED, 0xB8, 0x67, 0xFF}}},
{{{-33, -88, -5},0, {416, 1570},{0xF5, 0xAA, 0x5D, 0xFF}}},
{{{71, 34, -144},0, {832, 1186},{0x2D, 0x2B, 0x91, 0xFF}}},
{{{-38, 90, -112},0, {1162, -70},{0xE8, 0x55, 0xA4, 0xFF}}},
{{{39, 90, -112},0, {654, 498},{0x17, 0x55, 0xA4, 0xFF}}},
{{{0, 133, -57},0, {414, -278},{0x0, 0x70, 0xC4, 0xFF}}},
{{{79, 122, -52},0, {-98, 326},{0x2F, 0x68, 0xC8, 0xFF}}},
{{{142, 91, -36},0, {-524, 874},{0x5B, 0x4F, 0xD6, 0xFF}}},
};
const Gfx toad_player_dl_cap_decal[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA),
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, toad_player_texture_cap),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
//gsSPClearGeometryMode(G_CULL_BACK),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPVertex(toad_player_vertex_cap_decal + 0, 16, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(2, 1, 3, 0),
gsSP1Triangle(2, 3, 4, 0),
gsSP1Triangle(5, 6, 7, 0),
gsSP1Triangle(5, 7, 8, 0),
gsSP1Triangle(8, 7, 9, 0),
gsSP1Triangle(8, 9, 10, 0),
gsSP1Triangle(10, 9, 11, 0),
gsSP1Triangle(12, 13, 14, 0),
gsSP1Triangle(12, 15, 13, 0),
gsSPVertex(toad_player_vertex_cap_decal + 16, 16, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(0, 3, 1, 0),
gsSP1Triangle(4, 5, 6, 0),
gsSP1Triangle(6, 5, 7, 0),
gsSP1Triangle(6, 7, 8, 0),
gsSP1Triangle(8, 7, 9, 0),
gsSP1Triangle(8, 9, 10, 0),
gsSP1Triangle(11, 12, 13, 0),
gsSP1Triangle(11, 13, 14, 0),
gsSP1Triangle(14, 13, 15, 0),
gsSPVertex(toad_player_vertex_cap_decal + 32, 16, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(3, 1, 0, 0),
gsSP1Triangle(3, 4, 1, 0),
gsSP1Triangle(5, 6, 7, 0),
gsSP1Triangle(5, 7, 8, 0),
gsSP1Triangle(8, 7, 9, 0),
gsSP1Triangle(8, 9, 10, 0),
gsSP1Triangle(11, 12, 13, 0),
gsSP1Triangle(14, 12, 11, 0),
gsSP1Triangle(14, 15, 12, 0),
gsSPVertex(toad_player_vertex_cap_decal + 48, 16, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(0, 3, 1, 0),
gsSP1Triangle(4, 5, 6, 0),
gsSP1Triangle(4, 6, 7, 0),
gsSP1Triangle(7, 6, 8, 0),
gsSP1Triangle(7, 8, 9, 0),
gsSP1Triangle(10, 11, 12, 0),
gsSP1Triangle(12, 11, 13, 0),
gsSP1Triangle(14, 12, 13, 0),
gsSP1Triangle(15, 12, 14, 0),
gsSP1Triangle(15, 10, 12, 0),
//gsSPSetGeometryMode(G_CULL_BACK),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPEndDisplayList(),
};
const Gfx toad_player_dl_cap_inner[] = {
gsSPVertex(toad_player_vertex_cap + 0, 16, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(3, 4, 5, 0),
gsSP1Triangle(3, 5, 6, 0),
gsSP1Triangle(6, 5, 7, 0),
gsSP1Triangle(6, 7, 8, 0),
gsSP1Triangle(8, 7, 9, 0),
gsSP1Triangle(8, 9, 10, 0),
gsSP1Triangle(11, 12, 13, 0),
gsSP1Triangle(11, 14, 12, 0),
gsSP1Triangle(15, 14, 11, 0),
gsSPVertex(toad_player_vertex_cap + 16, 14, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(3, 4, 5, 0),
gsSP1Triangle(5, 4, 6, 0),
gsSP1Triangle(5, 6, 7, 0),
gsSP1Triangle(7, 6, 8, 0),
gsSP1Triangle(7, 8, 9, 0),
gsSP1Triangle(10, 11, 12, 0),
gsSP1Triangle(10, 13, 11, 0),
gsSPVertex(toad_player_vertex_cap + 30, 16, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(0, 2, 3, 0),
gsSP1Triangle(3, 2, 4, 0),
gsSP1Triangle(5, 3, 4, 0),
gsSP1Triangle(6, 3, 5, 0),
gsSP1Triangle(6, 0, 3, 0),
gsSP1Triangle(7, 8, 9, 0),
gsSP1Triangle(8, 10, 9, 0),
gsSP1Triangle(11, 12, 13, 0),
gsSP1Triangle(11, 13, 14, 0),
gsSP1Triangle(14, 13, 15, 0),
gsSPVertex(toad_player_vertex_cap + 46, 16, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(2, 1, 3, 0),
gsSP1Triangle(4, 5, 6, 0),
gsSP1Triangle(7, 5, 4, 0),
gsSP1Triangle(7, 8, 5, 0),
gsSP1Triangle(9, 8, 7, 0),
gsSP1Triangle(9, 10, 8, 0),
gsSP1Triangle(11, 12, 13, 0),
gsSP1Triangle(11, 13, 14, 0),
gsSP1Triangle(14, 13, 15, 0),
gsSPVertex(toad_player_vertex_cap + 62, 15, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(3, 4, 5, 0),
gsSP1Triangle(3, 6, 4, 0),
gsSP1Triangle(7, 8, 9, 0),
gsSP1Triangle(7, 10, 8, 0),
gsSP1Triangle(11, 12, 13, 0),
gsSP1Triangle(11, 14, 12, 0),
gsSPVertex(toad_player_vertex_cap + 77, 16, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(0, 3, 1, 0),
gsSP1Triangle(4, 3, 0, 0),
gsSP1Triangle(4, 5, 3, 0),
gsSP1Triangle(5, 4, 6, 0),
gsSP1Triangle(4, 7, 6, 0),
gsSP1Triangle(6, 7, 8, 0),
gsSP1Triangle(6, 8, 9, 0),
gsSP1Triangle(10, 6, 9, 0),
gsSP1Triangle(5, 6, 10, 0),
gsSP1Triangle(11, 12, 13, 0),
gsSP1Triangle(12, 11, 14, 0),
gsSP1Triangle(12, 14, 15, 0),
gsSPVertex(toad_player_vertex_cap + 93, 16, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(0, 2, 3, 0),
gsSP1Triangle(4, 3, 2, 0),
gsSP1Triangle(5, 4, 2, 0),
gsSP1Triangle(2, 6, 5, 0),
gsSP1Triangle(7, 5, 6, 0),
gsSP1Triangle(7, 8, 5, 0),
gsSP1Triangle(9, 8, 7, 0),
gsSP1Triangle(9, 10, 8, 0),
gsSP1Triangle(10, 9, 11, 0),
gsSP1Triangle(10, 11, 12, 0),
gsSP1Triangle(13, 10, 12, 0),
gsSP1Triangle(13, 12, 14, 0),
gsSP1Triangle(15, 13, 14, 0),
gsSPVertex(toad_player_vertex_cap + 109, 15, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(3, 0, 2, 0),
gsSP1Triangle(3, 2, 4, 0),
gsSP1Triangle(0, 3, 5, 0),
gsSP1Triangle(0, 5, 6, 0),
gsSP1Triangle(6, 5, 7, 0),
gsSP1Triangle(6, 7, 8, 0),
gsSP1Triangle(9, 6, 8, 0),
gsSP1Triangle(9, 8, 10, 0),
gsSP1Triangle(11, 10, 8, 0),
gsSP1Triangle(12, 10, 11, 0),
gsSP1Triangle(12, 9, 10, 0),
gsSP1Triangle(13, 9, 12, 0),
gsSP1Triangle(13, 14, 9, 0),
gsSP1Triangle(14, 6, 9, 0),
gsSP1Triangle(14, 0, 6, 0),
gsSPVertex(toad_player_vertex_cap + 124, 6, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(2, 1, 3, 0),
gsSP1Triangle(4, 2, 3, 0),
gsSP1Triangle(5, 2, 4, 0),
gsSP1Triangle(5, 0, 2, 0),
gsSPEndDisplayList(),
};
const Gfx toad_player_dl_cap[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPLight(&toad_player_lights_cap.l, 1),
gsSPLight(&toad_player_lights_cap.a, 2),
gsSPDisplayList(toad_player_dl_cap_inner),
gsSPEndDisplayList(),
};
///////////////
// cap wings //
///////////////
static const Lights1 toad_player_lights_wings = gdSPDefLights1(
0x7f, 0x7f, 0x7f,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
ALIGNED8 static const u8 toad_player_texture_wings_half_1[] = {
#include "actors/mario/mario_wing.rgba16.inc.c"
};
ALIGNED8 static const u8 toad_player_texture_wings_half_2[] = {
#include "actors/mario/mario_wing_tip.rgba16.inc.c"
};
ALIGNED8 static const u8 toad_player_texture_metal_wings_half_1[] = {
#include "actors/mario/mario_metal_wing_unused.rgba16.inc.c"
};
ALIGNED8 static const u8 toad_player_texture_metal_wings_half_2[] = {
#include "actors/mario/mario_metal_wing_tip_unused.rgba16.inc.c"
};
static const Vtx toad_player_vertex_wings_half_1[] = {
{{{ -105, 212, 0}, 0, { 0, 0}, {0x00, 0x00, 0x7f, 0xff}}},
{{{ -105, 0, 0}, 0, { 0, 2012}, {0x00, 0x00, 0x7f, 0xff}}},
{{{ 0, 0, 0}, 0, { 990, 2012}, {0x00, 0x00, 0x7f, 0xff}}},
{{{ 0, 212, 0}, 0, { 990, 0}, {0x00, 0x00, 0x7f, 0xff}}},
};
static const Vtx toad_player_vertex_wings_half_2[] = {
{{{ 0, 0, 0}, 0, { 0, 2012}, {0x00, 0x00, 0x7f, 0xff}}},
{{{ 106, 212, 0}, 0, { 990, 0}, {0x00, 0x00, 0x7f, 0xff}}},
{{{ 0, 212, 0}, 0, { 0, 0}, {0x00, 0x00, 0x7f, 0xff}}},
{{{ 106, 0, 0}, 0, { 990, 2012}, {0x00, 0x00, 0x7f, 0xff}}},
};
const Gfx toad_player_dl_wings_half_1[] = {
gsSPVertex(toad_player_vertex_wings_half_1, 4, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSPEndDisplayList(),
};
const Gfx toad_player_dl_wings_half_2[] = {
gsSPVertex(toad_player_vertex_wings_half_2, 4, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsSPEndDisplayList(),
};
const Gfx toad_player_cap_wings[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
gsSPLight(&toad_player_lights_wings.l, 1),
gsSPLight(&toad_player_lights_wings.a, 2),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, toad_player_texture_wings_half_1),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(toad_player_dl_wings_half_1),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, toad_player_texture_wings_half_2),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(toad_player_dl_wings_half_2),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};
const Gfx toad_player_metal_cap_wings[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
gsSPLight(&toad_player_lights_wings.l, 1),
gsSPLight(&toad_player_lights_wings.a, 2),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, toad_player_texture_metal_wings_half_1),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(toad_player_dl_wings_half_1),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, toad_player_texture_metal_wings_half_2),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPDisplayList(toad_player_dl_wings_half_2),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH),
gsSPEndDisplayList(),
};
////////////////////
static const Vtx toad_player_dl_vertex_jacket_1[] = {
{{{ -80, -27, -24}, 0, { 0, 0}, {0x90, 0x28, 0xd5, 0xff}}},
{{{ -61, 26, 28}, 0, { 0, 0}, {0x9c, 0x3a, 0x32, 0xff}}},
{{{ -61, 26, -27}, 0, { 0, 0}, {0x93, 0x37, 0xdf, 0xff}}},
{{{ -35, 68, -34}, 0, { 0, 0}, {0xc6, 0x48, 0xaa, 0xff}}},
{{{ 36, 68, -34}, 0, { 0, 0}, {0x57, 0x4b, 0xcb, 0xff}}},
{{{ 31, 26, -60}, 0, { 0, 0}, {0x26, 0x35, 0x94, 0xff}}},
{{{ 36, 60, 20}, 0, { 0, 0}, {0x54, 0x4d, 0x35, 0xff}}},
{{{ 62, 26, 28}, 0, { 0, 0}, {0x63, 0x3f, 0x2d, 0xff}}},
{{{ 62, 26, -27}, 0, { 0, 0}, {0x6d, 0x2e, 0xd5, 0xff}}},
{{{ 26, 29, 50}, 0, { 0, 0}, {0x45, 0x31, 0x5e, 0xff}}},
{{{ 81, -23, 30}, 0, { 0, 0}, {0x6a, 0x2e, 0x33, 0xff}}},
{{{ 81, -27, -24}, 0, { 0, 0}, {0x71, 0x26, 0xd6, 0xff}}},
{{{ 40, -30, -76}, 0, { 0, 0}, {0x32, 0x25, 0x92, 0xff}}},
{{{ 40, -18, 65}, 0, { 0, 0}, {0x4f, 0x32, 0x55, 0xff}}},
{{{ -80, -23, 30}, 0, { 0, 0}, {0x93, 0x2c, 0x2f, 0xff}}},
{{{ -30, 26, -60}, 0, { 0, 0}, {0xcf, 0x2b, 0x94, 0xff}}},
};
static const Vtx toad_player_dl_vertex_jacket_2[] = {
{{{ -35, 60, 20}, 0, { 0, 0}, {0xa1, 0x4b, 0x23, 0xff}}},
{{{ -61, 26, -27}, 0, { 0, 0}, {0x93, 0x37, 0xdf, 0xff}}},
{{{ -61, 26, 28}, 0, { 0, 0}, {0x9c, 0x3a, 0x32, 0xff}}},
{{{ -25, 29, 50}, 0, { 0, 0}, {0xc2, 0x3a, 0x5d, 0xff}}},
{{{ -39, -18, 65}, 0, { 0, 0}, {0xb7, 0x2a, 0x5e, 0xff}}},
{{{ -35, 68, -34}, 0, { 0, 0}, {0xc6, 0x48, 0xaa, 0xff}}},
{{{ 40, -30, -76}, 0, { 0, 0}, {0x32, 0x25, 0x92, 0xff}}},
{{{ -39, -30, -76}, 0, { 0, 0}, {0xcd, 0x27, 0x93, 0xff}}},
{{{ -30, 26, -60}, 0, { 0, 0}, {0xcf, 0x2b, 0x94, 0xff}}},
{{{ 31, 26, -60}, 0, { 0, 0}, {0x26, 0x35, 0x94, 0xff}}},
{{{ -80, -23, 30}, 0, { 0, 0}, {0x93, 0x2c, 0x2f, 0xff}}},
{{{ -80, -27, -24}, 0, { 0, 0}, {0x90, 0x28, 0xd5, 0xff}}},
};
const Gfx toad_player_dl_jacket_inner[] = {
gsSPClearGeometryMode(G_CULL_BACK),
gsSPVertex(toad_player_dl_vertex_jacket_1, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 4, 6, 7, 0x0, 4, 7, 8, 0x0),
gsSP2Triangles( 8, 5, 4, 0x0, 9, 7, 6, 0x0),
gsSP2Triangles(10, 8, 7, 0x0, 10, 7, 9, 0x0),
gsSP2Triangles(10, 11, 8, 0x0, 12, 8, 11, 0x0),
gsSP2Triangles(12, 5, 8, 0x0, 10, 9, 13, 0x0),
gsSP2Triangles( 0, 14, 1, 0x0, 15, 0, 2, 0x0),
gsSPVertex(toad_player_dl_vertex_jacket_2, 12, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 3, 0, 0x0),
gsSP2Triangles( 4, 3, 2, 0x0, 0, 5, 1, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 6, 8, 9, 0x0),
gsSP2Triangles( 5, 9, 8, 0x0, 4, 2, 10, 0x0),
gsSP2Triangles( 8, 1, 5, 0x0, 8, 7, 11, 0x0),
gsSPSetGeometryMode(G_CULL_BACK),
gsSPEndDisplayList(),
};
const Gfx toad_player_dl_jacket[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightEXT(1, 3),
gsSPCopyLightEXT(2, 4),
gsSPDisplayList(toad_player_dl_jacket_inner),
gsSPEndDisplayList(),
};
static const Lights1 toad_player_lights_body_1 = gdSPDefLights1(
0x7f, 0x7f, 0x7f,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
static const Lights1 toad_player_lights_body_2 = gdSPDefLights1(
0x7f, 0x6a, 0x50,
0xfe, 0xd5, 0xa1, 0x28, 0x28, 0x28
);
static const Vtx toad_player_vertex_body_1[] = {
{{{ 44, -69, -33}, 0, { 0, 0}, {0x21, 0x90, 0xd1, 0xff}}},
{{{ -34, -45, -60}, 0, { 0, 0}, {0xdb, 0xd0, 0x91, 0xff}}},
{{{ 35, -45, -60}, 0, { 0, 0}, {0x2e, 0xf5, 0x8b, 0xff}}},
{{{ 71, -33, 25}, 0, { 0, 0}, {0x74, 0x05, 0x32, 0xff}}},
{{{ 57, 9, 22}, 0, { 0, 0}, {0x67, 0x41, 0x23, 0xff}}},
{{{ 29, 9, 49}, 0, { 0, 0}, {0x2b, 0x33, 0x6b, 0xff}}},
{{{ 35, -33, 61}, 0, { 0, 0}, {0x28, 0xe3, 0x74, 0xff}}},
{{{ 44, -69, 34}, 0, { 0, 0}, {0x43, 0xa0, 0x2e, 0xff}}},
{{{ 71, -38, -29}, 0, { 0, 0}, {0x72, 0xdc, 0xd7, 0xff}}},
{{{ 57, 9, -26}, 0, { 0, 0}, {0x69, 0x30, 0xce, 0xff}}},
{{{ -43, -69, 34}, 0, { 0, 0}, {0xdb, 0x96, 0x3a, 0xff}}},
{{{ -34, -33, 61}, 0, { 0, 0}, {0xcf, 0x04, 0x74, 0xff}}},
{{{ -28, 9, -51}, 0, { 0, 0}, {0xd6, 0x25, 0x8f, 0xff}}},
{{{ 29, 9, -51}, 0, { 0, 0}, {0x21, 0x2d, 0x8f, 0xff}}},
};
static const Vtx toad_player_vertex_body_2[] = {
{{{ -70, -38, -29}, 0, { 0, 0}, {0x8d, 0xfe, 0xcc, 0xff}}},
{{{ -56, 9, 22}, 0, { 0, 0}, {0x96, 0x35, 0x2c, 0xff}}},
{{{ -56, 9, -26}, 0, { 0, 0}, {0x98, 0x3c, 0xda, 0xff}}},
{{{ 44, -69, -33}, 0, { 0, 0}, {0x21, 0x90, 0xd1, 0xff}}},
{{{ -43, -69, 34}, 0, { 0, 0}, {0xdb, 0x96, 0x3a, 0xff}}},
{{{ -43, -69, -33}, 0, { 0, 0}, {0xc0, 0x99, 0xdc, 0xff}}},
{{{ -34, -45, -60}, 0, { 0, 0}, {0xdb, 0xd0, 0x91, 0xff}}},
{{{ -34, -33, 61}, 0, { 0, 0}, {0xcf, 0x04, 0x74, 0xff}}},
{{{ -28, 9, 49}, 0, { 0, 0}, {0xdf, 0x3f, 0x68, 0xff}}},
{{{ -70, -33, 25}, 0, { 0, 0}, {0x8c, 0xe2, 0x29, 0xff}}},
{{{ 29, 9, 49}, 0, { 0, 0}, {0x2b, 0x33, 0x6b, 0xff}}},
{{{ -28, 9, -51}, 0, { 0, 0}, {0xd6, 0x25, 0x8f, 0xff}}},
};
static const Vtx toad_player_vertex_body_3[] = {
{{{ 29, 9, 49}, 0, { 0, 0}, {0x2b, 0x33, 0x6b, 0xff}}},
{{{ 57, 9, 22}, 0, { 0, 0}, {0x67, 0x41, 0x23, 0xff}}},
{{{ 21, 55, 14}, 0, { 0, 0}, {0x22, 0x6d, 0x36, 0xff}}},
{{{ -28, 9, 49}, 0, { 0, 0}, {0xdf, 0x3f, 0x68, 0xff}}},
{{{ 21, 55, -28}, 0, { 0, 0}, {0x43, 0x60, 0xd0, 0xff}}},
{{{ 57, 9, -26}, 0, { 0, 0}, {0x69, 0x30, 0xce, 0xff}}},
{{{ -20, 55, -28}, 0, { 0, 0}, {0xdc, 0x67, 0xc0, 0xff}}},
{{{ -20, 55, 14}, 0, { 0, 0}, {0xc0, 0x65, 0x29, 0xff}}},
{{{ 29, 9, -51}, 0, { 0, 0}, {0x21, 0x2d, 0x8f, 0xff}}},
{{{ -28, 9, -51}, 0, { 0, 0}, {0xd6, 0x25, 0x8f, 0xff}}},
{{{ -56, 9, 22}, 0, { 0, 0}, {0x96, 0x35, 0x2c, 0xff}}},
{{{ -56, 9, -26}, 0, { 0, 0}, {0x98, 0x3c, 0xda, 0xff}}},
};
const Gfx toad_player_dl_body_inner[] = {
gsSPVertex(toad_player_vertex_body_1, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 5, 6, 0x0, 3, 6, 7, 0x0),
gsSP2Triangles( 7, 8, 3, 0x0, 3, 9, 4, 0x0),
gsSP2Triangles( 3, 8, 9, 0x0, 10, 7, 6, 0x0),
gsSP2Triangles(10, 6, 11, 0x0, 11, 6, 5, 0x0),
gsSP2Triangles( 7, 0, 8, 0x0, 0, 7, 10, 0x0),
gsSP2Triangles( 2, 12, 13, 0x0, 2, 1, 12, 0x0),
gsSP2Triangles( 2, 8, 0, 0x0, 2, 13, 9, 0x0),
gsSP1Triangle( 2, 9, 8, 0x0),
gsSPVertex(toad_player_vertex_body_2, 12, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 5, 6, 0x0, 7, 8, 1, 0x0),
gsSP2Triangles( 7, 1, 9, 0x0, 7, 10, 8, 0x0),
gsSP2Triangles( 7, 9, 4, 0x0, 5, 4, 9, 0x0),
gsSP2Triangles( 5, 9, 0, 0x0, 0, 9, 1, 0x0),
gsSP2Triangles(11, 6, 0, 0x0, 11, 0, 2, 0x0),
gsSP1Triangle( 0, 6, 5, 0x0),
gsSPLight(&toad_player_lights_body_2.l, 1),
gsSPLight(&toad_player_lights_body_2.a, 2),
gsSPVertex(toad_player_vertex_body_3, 12, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 3, 0, 0x0),
gsSP2Triangles( 4, 2, 1, 0x0, 4, 1, 5, 0x0),
gsSP2Triangles( 6, 7, 2, 0x0, 6, 2, 4, 0x0),
gsSP2Triangles( 2, 7, 3, 0x0, 5, 8, 4, 0x0),
gsSP2Triangles( 6, 8, 9, 0x0, 6, 4, 8, 0x0),
gsSP2Triangles(10, 3, 7, 0x0, 7, 11, 10, 0x0),
gsSP2Triangles( 7, 6, 11, 0x0, 9, 11, 6, 0x0),
gsSPEndDisplayList(),
};
const Gfx toad_player_metal_dl_body_inner[] = {
gsSPVertex(toad_player_vertex_body_1, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 5, 6, 0x0, 3, 6, 7, 0x0),
gsSP2Triangles( 7, 8, 3, 0x0, 3, 9, 4, 0x0),
gsSP2Triangles( 3, 8, 9, 0x0, 10, 7, 6, 0x0),
gsSP2Triangles(10, 6, 11, 0x0, 11, 6, 5, 0x0),
gsSP2Triangles( 7, 0, 8, 0x0, 0, 7, 10, 0x0),
gsSP2Triangles( 2, 12, 13, 0x0, 2, 1, 12, 0x0),
gsSP2Triangles( 2, 8, 0, 0x0, 2, 13, 9, 0x0),
gsSP1Triangle( 2, 9, 8, 0x0),
gsSPVertex(toad_player_vertex_body_2, 12, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 3, 5, 6, 0x0, 7, 8, 1, 0x0),
gsSP2Triangles( 7, 1, 9, 0x0, 7, 10, 8, 0x0),
gsSP2Triangles( 7, 9, 4, 0x0, 5, 4, 9, 0x0),
gsSP2Triangles( 5, 9, 0, 0x0, 0, 9, 1, 0x0),
gsSP2Triangles(11, 6, 0, 0x0, 11, 0, 2, 0x0),
gsSP1Triangle( 0, 6, 5, 0x0),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPVertex(toad_player_vertex_body_3, 12, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 3, 0, 0x0),
gsSP2Triangles( 4, 2, 1, 0x0, 4, 1, 5, 0x0),
gsSP2Triangles( 6, 7, 2, 0x0, 6, 2, 4, 0x0),
gsSP2Triangles( 2, 7, 3, 0x0, 5, 8, 4, 0x0),
gsSP2Triangles( 6, 8, 9, 0x0, 6, 4, 8, 0x0),
gsSP2Triangles(10, 3, 7, 0x0, 7, 11, 10, 0x0),
gsSP2Triangles( 7, 6, 11, 0x0, 9, 11, 6, 0x0),
gsSPEndDisplayList(),
};
const Gfx toad_player_dl_body[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPDisplayList(toad_player_dl_body_inner),
gsSPCopyLightEXT(1, 3),
gsSPCopyLightEXT(2, 4),
gsSPDisplayList(toad_player_dl_jacket_inner),
gsSPEndDisplayList(),
};
const Gfx toad_player_metal_dl_body[] = {
gsSPDisplayList(toad_player_metal_dl_body_inner),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPDisplayList(toad_player_dl_jacket_inner),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPEndDisplayList(),
};
static const Lights1 toad_player_lights_arm_left = gdSPDefLights1(
0x7f, 0x6a, 0x50,
0xfe, 0xd5, 0xa1, 0x28, 0x28, 0x28
);
static const Vtx toad_player_vertex_arm_left_1[] = {
{{{ 7, 14, -12}, 0, { 0, 0}, {0x4b, 0x1f, 0x9f, 0xff}}},
{{{ -1, 14, -12}, 0, { 0, 0}, {0xcf, 0x36, 0x99, 0xff}}},
{{{ 11, 34, 0}, 0, { 0, 0}, {0x24, 0x79, 0xfc, 0xff}}},
{{{ 3, -43, -27}, 0, { 0, 0}, {0x35, 0x1e, 0x91, 0xff}}},
{{{ 11, -43, -2}, 0, { 0, 0}, {0x7e, 0xf5, 0x0a, 0xff}}},
{{{ -11, 14, 0}, 0, { 0, 0}, {0x97, 0x46, 0x0d, 0xff}}},
{{{ -1, 14, 13}, 0, { 0, 0}, {0xd2, 0x3f, 0x63, 0xff}}},
{{{ 7, 14, 13}, 0, { 0, 0}, {0x3d, 0x21, 0x69, 0xff}}},
{{{ 3, -43, 28}, 0, { 0, 0}, {0x50, 0xee, 0x60, 0xff}}},
{{{ 20, -51, -15}, 0, { 0, 0}, {0x73, 0xf7, 0xcd, 0xff}}},
{{{ 4, -57, 18}, 0, { 0, 0}, {0x62, 0xd9, 0x45, 0xff}}},
{{{ 4, -57, -25}, 0, { 0, 0}, {0x40, 0xbe, 0xa9, 0xff}}},
{{{ -17, -43, -27}, 0, { 0, 0}, {0xcb, 0xf8, 0x8d, 0xff}}},
{{{ -17, -43, 28}, 0, { 0, 0}, {0xcd, 0xf9, 0x73, 0xff}}},
{{{ 12, -76, 3}, 0, { 0, 0}, {0x42, 0xa7, 0x3b, 0xff}}},
{{{ 12, -76, -9}, 0, { 0, 0}, {0x50, 0xa6, 0xdb, 0xff}}},
};
static const Vtx toad_player_vertex_arm_left_2[] = {
{{{ 4, -57, 18}, 0, { 0, 0}, {0x62, 0xd9, 0x45, 0xff}}},
{{{ -17, -43, 28}, 0, { 0, 0}, {0xcd, 0xf9, 0x73, 0xff}}},
{{{ -15, -73, 8}, 0, { 0, 0}, {0xd4, 0x97, 0x37, 0xff}}},
{{{ 3, -43, 28}, 0, { 0, 0}, {0x50, 0xee, 0x60, 0xff}}},
{{{ 12, -76, 3}, 0, { 0, 0}, {0x42, 0xa7, 0x3b, 0xff}}},
{{{ -15, -73, -12}, 0, { 0, 0}, {0xc5, 0xa6, 0xbe, 0xff}}},
{{{ -17, -43, -27}, 0, { 0, 0}, {0xcb, 0xf8, 0x8d, 0xff}}},
{{{ 4, -57, -25}, 0, { 0, 0}, {0x40, 0xbe, 0xa9, 0xff}}},
{{{ 12, -76, -9}, 0, { 0, 0}, {0x50, 0xa6, 0xdb, 0xff}}},
{{{ -35, -43, 0}, 0, { 0, 0}, {0x83, 0xfa, 0xef, 0xff}}},
{{{ -11, 14, 0}, 0, { 0, 0}, {0x97, 0x46, 0x0d, 0xff}}},
{{{ -1, 14, 13}, 0, { 0, 0}, {0xd2, 0x3f, 0x63, 0xff}}},
{{{ -1, 14, -12}, 0, { 0, 0}, {0xcf, 0x36, 0x99, 0xff}}},
};
const Gfx toad_player_dl_arm_left_inner[] = {
gsSPVertex(toad_player_vertex_arm_left_1, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 1, 0, 3, 0x0),
gsSP2Triangles( 0, 2, 4, 0x0, 4, 3, 0, 0x0),
gsSP2Triangles( 2, 5, 6, 0x0, 6, 7, 2, 0x0),
gsSP2Triangles( 4, 2, 7, 0x0, 5, 2, 1, 0x0),
gsSP2Triangles( 7, 8, 4, 0x0, 4, 9, 3, 0x0),
gsSP2Triangles( 4, 8, 10, 0x0, 11, 9, 4, 0x0),
gsSP2Triangles( 4, 10, 11, 0x0, 1, 3, 12, 0x0),
gsSP2Triangles(11, 3, 9, 0x0, 12, 3, 11, 0x0),
gsSP2Triangles( 7, 13, 8, 0x0, 7, 6, 13, 0x0),
gsSP2Triangles(10, 14, 15, 0x0, 10, 15, 11, 0x0),
gsSPVertex(toad_player_vertex_arm_left_2, 13, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsSP2Triangles( 2, 4, 0, 0x0, 5, 6, 7, 0x0),
gsSP2Triangles( 7, 8, 5, 0x0, 2, 8, 4, 0x0),
gsSP2Triangles( 2, 5, 8, 0x0, 5, 2, 9, 0x0),
gsSP2Triangles( 5, 9, 6, 0x0, 9, 2, 1, 0x0),
gsSP2Triangles(10, 9, 1, 0x0, 10, 1, 11, 0x0),
gsSP2Triangles( 9, 12, 6, 0x0, 9, 10, 12, 0x0),
gsSPEndDisplayList(),
};
const Gfx toad_player_dl_arm_left[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPLight(&toad_player_lights_arm_left.l, 1),
gsSPLight(&toad_player_lights_arm_left.a, 2),
gsSPDisplayList(toad_player_dl_arm_left_inner),
gsSPEndDisplayList(),
};
static const Lights1 toad_player_lights_arm_right = gdSPDefLights1(
0x7f, 0x6a, 0x50,
0xfe, 0xd5, 0xa1, 0x28, 0x28, 0x28
);
static const Vtx toad_player_vertex_arm_right_1[] = {
{{{ 11, -43, 3}, 0, { 0, 0}, {0x7d, 0xf5, 0xf5, 0xff}}},
{{{ 3, -43, -27}, 0, { 0, 0}, {0x40, 0xfa, 0x93, 0xff}}},
{{{ 7, 15, -12}, 0, { 0, 0}, {0x4d, 0x1f, 0xa1, 0xff}}},
{{{ 3, -43, 28}, 0, { 0, 0}, {0x41, 0x1c, 0x69, 0xff}}},
{{{ 20, -51, 16}, 0, { 0, 0}, {0x73, 0xf7, 0x33, 0xff}}},
{{{ 4, -57, -17}, 0, { 0, 0}, {0x53, 0xc9, 0xb2, 0xff}}},
{{{ 4, -57, 26}, 0, { 0, 0}, {0x54, 0xce, 0x50, 0xff}}},
{{{ 11, 34, 0}, 0, { 0, 0}, {0x25, 0x79, 0xff, 0xff}}},
{{{ 7, 15, 13}, 0, { 0, 0}, {0x3c, 0x22, 0x6a, 0xff}}},
{{{ -1, 15, -12}, 0, { 0, 0}, {0xcf, 0x37, 0x99, 0xff}}},
{{{ -11, 15, 0}, 0, { 0, 0}, {0x98, 0x46, 0x0d, 0xff}}},
{{{ -1, 15, 13}, 0, { 0, 0}, {0xd2, 0x40, 0x62, 0xff}}},
{{{ -17, -43, 28}, 0, { 0, 0}, {0xca, 0x05, 0x72, 0xff}}},
{{{ -15, -73, 13}, 0, { 0, 0}, {0xcc, 0x9b, 0x37, 0xff}}},
{{{ 12, -76, 10}, 0, { 0, 0}, {0x3e, 0xa2, 0x3a, 0xff}}},
{{{ 12, -76, -2}, 0, { 0, 0}, {0x52, 0xa9, 0xda, 0xff}}},
};
static const Vtx toad_player_vertex_arm_right_2[] = {
{{{ -15, -73, -7}, 0, { 0, 0}, {0xcf, 0xa0, 0xbe, 0xff}}},
{{{ -17, -43, -27}, 0, { 0, 0}, {0xd1, 0xe4, 0x8e, 0xff}}},
{{{ 4, -57, -17}, 0, { 0, 0}, {0x53, 0xc9, 0xb2, 0xff}}},
{{{ 3, -43, -27}, 0, { 0, 0}, {0x40, 0xfa, 0x93, 0xff}}},
{{{ 12, -76, -2}, 0, { 0, 0}, {0x52, 0xa9, 0xda, 0xff}}},
{{{ -15, -73, 13}, 0, { 0, 0}, {0xcc, 0x9b, 0x37, 0xff}}},
{{{ 12, -76, 10}, 0, { 0, 0}, {0x3e, 0xa2, 0x3a, 0xff}}},
{{{ -35, -43, 0}, 0, { 0, 0}, {0x83, 0xf9, 0xf0, 0xff}}},
{{{ -17, -43, 28}, 0, { 0, 0}, {0xca, 0x05, 0x72, 0xff}}},
{{{ -1, 15, -12}, 0, { 0, 0}, {0xcf, 0x37, 0x99, 0xff}}},
{{{ -11, 15, 0}, 0, { 0, 0}, {0x98, 0x46, 0x0d, 0xff}}},
};
const Gfx toad_player_dl_arm_right_inner[] = {
gsSPVertex(toad_player_vertex_arm_right_1, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 0, 0x0),
gsSP2Triangles( 5, 1, 0, 0x0, 0, 4, 6, 0x0),
gsSP2Triangles( 0, 7, 8, 0x0, 8, 3, 0, 0x0),
gsSP2Triangles( 2, 7, 0, 0x0, 6, 5, 0, 0x0),
gsSP2Triangles( 9, 10, 7, 0x0, 7, 11, 8, 0x0),
gsSP2Triangles( 7, 2, 9, 0x0, 11, 7, 10, 0x0),
gsSP2Triangles(12, 3, 8, 0x0, 12, 8, 11, 0x0),
gsSP2Triangles( 4, 3, 6, 0x0, 6, 3, 12, 0x0),
gsSP2Triangles( 1, 9, 2, 0x0, 12, 11, 10, 0x0),
gsSP2Triangles( 6, 12, 13, 0x0, 6, 14, 15, 0x0),
gsSP2Triangles( 6, 15, 5, 0x0, 13, 14, 6, 0x0),
gsSPVertex(toad_player_vertex_arm_right_2, 11, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 1, 3, 2, 0x0),
gsSP2Triangles( 2, 4, 0, 0x0, 4, 5, 0, 0x0),
gsSP2Triangles( 4, 6, 5, 0x0, 7, 0, 5, 0x0),
gsSP2Triangles( 8, 7, 5, 0x0, 3, 1, 9, 0x0),
gsSP2Triangles( 1, 0, 7, 0x0, 9, 1, 7, 0x0),
gsSP2Triangles( 8, 10, 7, 0x0, 9, 7, 10, 0x0),
gsSPEndDisplayList(),
};
const Gfx toad_player_dl_arm_right[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPLight(&toad_player_lights_arm_right.l, 1),
gsSPLight(&toad_player_lights_arm_right.a, 2),
gsSPDisplayList(toad_player_dl_arm_right_inner),
gsSPEndDisplayList(),
};
static const Lights1 toad_player_lights_foot_left = gdSPDefLights1(
0x34, 0x20, 0x0d,
0x68, 0x40, 0x1b, 0x28, 0x28, 0x28
);
static const Vtx toad_player_vertex_foot_left_1[] = {
{{{ -17, 17, -45}, 0, { 0, 0}, {0xce, 0x3b, 0x9d, 0xff}}},
{{{ 18, 17, -45}, 0, { 0, 0}, {0x28, 0x51, 0xa8, 0xff}}},
{{{ 23, -15, -51}, 0, { 0, 0}, {0x1e, 0x98, 0xbf, 0xff}}},
{{{ -22, -15, -51}, 0, { 0, 0}, {0xcf, 0xd9, 0x92, 0xff}}},
{{{ 46, -15, -25}, 0, { 0, 0}, {0x77, 0xe2, 0xe3, 0xff}}},
{{{ 34, -15, 26}, 0, { 0, 0}, {0x70, 0xdf, 0x30, 0xff}}},
{{{ 17, -15, 52}, 0, { 0, 0}, {0x2c, 0xab, 0x52, 0xff}}},
{{{ -45, -15, -25}, 0, { 0, 0}, {0x89, 0xe0, 0xe6, 0xff}}},
{{{ -33, -15, 26}, 0, { 0, 0}, {0xa5, 0xb1, 0x27, 0xff}}},
{{{ -16, -15, 52}, 0, { 0, 0}, {0xc7, 0xda, 0x6a, 0xff}}},
{{{ 36, 17, -20}, 0, { 0, 0}, {0x6f, 0x39, 0xea, 0xff}}},
{{{ -35, 17, -20}, 0, { 0, 0}, {0x9b, 0x4b, 0xf9, 0xff}}},
{{{ -26, 11, 26}, 0, { 0, 0}, {0x99, 0x36, 0x31, 0xff}}},
{{{ -13, 7, 47}, 0, { 0, 0}, {0xda, 0x51, 0x59, 0xff}}},
{{{ 14, 7, 47}, 0, { 0, 0}, {0x34, 0x3b, 0x63, 0xff}}},
{{{ 27, 11, 26}, 0, { 0, 0}, {0x5f, 0x45, 0x2e, 0xff}}},
};
static const Vtx toad_player_vertex_foot_left_2[] = {
{{{ -13, 7, 47}, 0, { 0, 0}, {0xda, 0x51, 0x59, 0xff}}},
{{{ 14, 7, 47}, 0, { 0, 0}, {0x34, 0x3b, 0x63, 0xff}}},
{{{ 14, 21, 26}, 0, { 0, 0}, {0x18, 0x6f, 0x37, 0xff}}},
{{{ -13, 21, 26}, 0, { 0, 0}, {0xcf, 0x69, 0x31, 0xff}}},
{{{ -26, 11, 26}, 0, { 0, 0}, {0x99, 0x36, 0x31, 0xff}}},
{{{ 18, 35, -16}, 0, { 0, 0}, {0x37, 0x72, 0xfd, 0xff}}},
{{{ -17, 35, -16}, 0, { 0, 0}, {0xe0, 0x7a, 0xf3, 0xff}}},
{{{ 27, 11, 26}, 0, { 0, 0}, {0x5f, 0x45, 0x2e, 0xff}}},
{{{ -35, 17, -20}, 0, { 0, 0}, {0x9b, 0x4b, 0xf9, 0xff}}},
{{{ 34, -15, 26}, 0, { 0, 0}, {0x70, 0xdf, 0x30, 0xff}}},
{{{ 36, 17, -20}, 0, { 0, 0}, {0x6f, 0x39, 0xea, 0xff}}},
{{{ 18, 17, -45}, 0, { 0, 0}, {0x28, 0x51, 0xa8, 0xff}}},
{{{ -17, 17, -45}, 0, { 0, 0}, {0xce, 0x3b, 0x9d, 0xff}}},
};
const Gfx toad_player_dl_foot_left_inner[] = {
gsSPVertex(toad_player_vertex_foot_left_1, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 2, 4, 5, 0x0, 2, 5, 6, 0x0),
gsSP2Triangles( 2, 7, 3, 0x0, 2, 8, 7, 0x0),
gsSP2Triangles( 2, 9, 8, 0x0, 2, 6, 9, 0x0),
gsSP2Triangles( 2, 1, 10, 0x0, 2, 10, 4, 0x0),
gsSP2Triangles( 7, 11, 0, 0x0, 12, 11, 7, 0x0),
gsSP2Triangles(12, 7, 8, 0x0, 7, 0, 3, 0x0),
gsSP2Triangles(12, 8, 9, 0x0, 10, 5, 4, 0x0),
gsSP2Triangles(12, 9, 13, 0x0, 14, 9, 6, 0x0),
gsSP2Triangles(14, 13, 9, 0x0, 5, 14, 6, 0x0),
gsSP1Triangle(10, 15, 5, 0x0),
gsSPVertex(toad_player_vertex_foot_left_2, 13, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 3, 4, 0, 0x0, 2, 5, 6, 0x0),
gsSP2Triangles( 2, 6, 3, 0x0, 2, 1, 7, 0x0),
gsSP2Triangles( 7, 5, 2, 0x0, 8, 4, 3, 0x0),
gsSP2Triangles( 8, 3, 6, 0x0, 9, 7, 1, 0x0),
gsSP2Triangles( 7, 10, 5, 0x0, 5, 10, 11, 0x0),
gsSP2Triangles(11, 6, 5, 0x0, 11, 12, 6, 0x0),
gsSP1Triangle( 6, 12, 8, 0x0),
gsSPEndDisplayList(),
};
const Gfx toad_player_dl_foot_left[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPLight(&toad_player_lights_foot_left.l, 1),
gsSPLight(&toad_player_lights_foot_left.a, 2),
gsSPDisplayList(toad_player_dl_foot_left_inner),
gsSPEndDisplayList(),
};
static const Lights1 toad_player_lights_foot_right = gdSPDefLights1(
0x34, 0x20, 0x0d,
0x68, 0x40, 0x1b, 0x28, 0x28, 0x28
);
static const Vtx toad_player_vertex_foot_right_1[] = {
{{{ -22, -15, 52}, 0, { 0, 0}, {0xe2, 0x98, 0x41, 0xff}}},
{{{ -17, 17, 46}, 0, { 0, 0}, {0xd8, 0x51, 0x58, 0xff}}},
{{{ -35, 17, 21}, 0, { 0, 0}, {0x91, 0x39, 0x16, 0xff}}},
{{{ 23, -15, 52}, 0, { 0, 0}, {0x31, 0xd9, 0x6e, 0xff}}},
{{{ 18, 17, 46}, 0, { 0, 0}, {0x32, 0x3b, 0x63, 0xff}}},
{{{ -45, -15, 26}, 0, { 0, 0}, {0x89, 0xe2, 0x1d, 0xff}}},
{{{ -33, -15, -25}, 0, { 0, 0}, {0x90, 0xdf, 0xd0, 0xff}}},
{{{ -16, -15, -51}, 0, { 0, 0}, {0xd4, 0xab, 0xae, 0xff}}},
{{{ 46, -15, 26}, 0, { 0, 0}, {0x77, 0xe0, 0x1a, 0xff}}},
{{{ 34, -15, -25}, 0, { 0, 0}, {0x5b, 0xb1, 0xd9, 0xff}}},
{{{ 17, -15, -51}, 0, { 0, 0}, {0x39, 0xda, 0x96, 0xff}}},
{{{ 27, 11, -25}, 0, { 0, 0}, {0x67, 0x36, 0xcf, 0xff}}},
{{{ 36, 17, 21}, 0, { 0, 0}, {0x65, 0x4b, 0x07, 0xff}}},
{{{ -13, 7, -46}, 0, { 0, 0}, {0xcc, 0x3b, 0x9d, 0xff}}},
{{{ 14, 7, -46}, 0, { 0, 0}, {0x26, 0x51, 0xa7, 0xff}}},
{{{ -26, 11, -25}, 0, { 0, 0}, {0xa1, 0x45, 0xd2, 0xff}}},
};
static const Vtx toad_player_vertex_foot_right_2[] = {
{{{ -13, 21, -25}, 0, { 0, 0}, {0xe8, 0x6f, 0xc9, 0xff}}},
{{{ -17, 35, 17}, 0, { 0, 0}, {0xc9, 0x72, 0x03, 0xff}}},
{{{ 18, 35, 17}, 0, { 0, 0}, {0x20, 0x7a, 0x0d, 0xff}}},
{{{ 14, 21, -25}, 0, { 0, 0}, {0x31, 0x69, 0xcf, 0xff}}},
{{{ -26, 11, -25}, 0, { 0, 0}, {0xa1, 0x45, 0xd2, 0xff}}},
{{{ 14, 7, -46}, 0, { 0, 0}, {0x26, 0x51, 0xa7, 0xff}}},
{{{ -13, 7, -46}, 0, { 0, 0}, {0xcc, 0x3b, 0x9d, 0xff}}},
{{{ 27, 11, -25}, 0, { 0, 0}, {0x67, 0x36, 0xcf, 0xff}}},
{{{ 36, 17, 21}, 0, { 0, 0}, {0x65, 0x4b, 0x07, 0xff}}},
{{{ -35, 17, 21}, 0, { 0, 0}, {0x91, 0x39, 0x16, 0xff}}},
{{{ 18, 17, 46}, 0, { 0, 0}, {0x32, 0x3b, 0x63, 0xff}}},
{{{ -17, 17, 46}, 0, { 0, 0}, {0xd8, 0x51, 0x58, 0xff}}},
};
const Gfx toad_player_dl_foot_right_inner[] = {
gsSPVertex(toad_player_vertex_foot_right_1, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 4, 0x0),
gsSP2Triangles( 0, 4, 1, 0x0, 0, 2, 5, 0x0),
gsSP2Triangles( 0, 5, 6, 0x0, 0, 6, 7, 0x0),
gsSP2Triangles( 0, 8, 3, 0x0, 0, 9, 8, 0x0),
gsSP2Triangles( 0, 10, 9, 0x0, 0, 7, 10, 0x0),
gsSP2Triangles( 8, 11, 12, 0x0, 8, 9, 11, 0x0),
gsSP2Triangles( 8, 12, 4, 0x0, 8, 4, 3, 0x0),
gsSP2Triangles(10, 11, 9, 0x0, 6, 5, 2, 0x0),
gsSP2Triangles(10, 13, 14, 0x0, 10, 7, 13, 0x0),
gsSP2Triangles(10, 14, 11, 0x0, 13, 7, 6, 0x0),
gsSP2Triangles(13, 6, 15, 0x0, 6, 2, 15, 0x0),
gsSPVertex(toad_player_vertex_foot_right_2, 12, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 1, 0, 4, 0x0, 0, 3, 5, 0x0),
gsSP2Triangles( 0, 5, 6, 0x0, 6, 4, 0, 0x0),
gsSP2Triangles( 7, 5, 3, 0x0, 3, 8, 7, 0x0),
gsSP2Triangles( 3, 2, 8, 0x0, 1, 4, 9, 0x0),
gsSP2Triangles(10, 8, 2, 0x0, 2, 11, 10, 0x0),
gsSP2Triangles( 2, 1, 11, 0x0, 9, 11, 1, 0x0),
gsSPEndDisplayList(),
};
const Gfx toad_player_dl_foot_right[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPLight(&toad_player_lights_foot_right.l, 1),
gsSPLight(&toad_player_lights_foot_right.a, 2),
gsSPDisplayList(toad_player_dl_foot_right_inner),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsDPSetEnvColor(255, 255, 255, 255),
gsDPSetAlphaCompare(G_AC_NONE),
gsSPClearGeometryMode(G_CULL_FRONT),
gsSPSetGeometryMode(G_CULL_BACK),
gsSPEndDisplayList(),
};
const Gfx toad_player_dl_foot_right_metal[] = {
gsSPDisplayList(toad_player_dl_foot_right_inner),
gsDPPipeSync(),
gsSPClearGeometryMode(G_TEXTURE_GEN),
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF),
gsDPSetEnvColor(255, 255, 255, 255),
gsDPSetAlphaCompare(G_AC_NONE),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPEndDisplayList(),
};
Gfx toad_material_revert_render_settings[] = {
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),
gsDPSetEnvColor(255, 255, 255, 255),
gsDPSetAlphaCompare(G_AC_NONE),
gsSPEndDisplayList(),
};