Super Mario 64 OpenGL port for PC. Mirror of https://github.com/sm64pc/sm64pc https://github.com/sm64pc/sm64pc
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

6825 lines
373 KiB

// Mario
// 0x04000000 # solid color blue - butt, left thigh, right thigh - all poly types
static const Lights1 mario_blue_lights_group = gdSPDefLights1(
0x00, 0x00, 0x7f,
0x00, 0x00, 0xff, 0x28, 0x28, 0x28
);
// 0x04000018 # solid color red - left & right arm, torso (tshirt part), caps - all poly types
static const Lights1 mario_red_lights_group = gdSPDefLights1(
0x7f, 0x00, 0x00,
0xff, 0x00, 0x00, 0x28, 0x28, 0x28
);
// 0x04000030 # solid color white - metal butt & left thigh - normal left & right hand closed & open (with cap too) and all wings - all poly types
static const Lights1 mario_white_lights_group = gdSPDefLights1(
0x7f, 0x7f, 0x7f,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
// 0x04000048 # solid color brown 1 - foot - all poly types
static const Lights1 mario_brown1_lights_group = gdSPDefLights1(
0x39, 0x0e, 0x07,
0x72, 0x1c, 0x0e, 0x28, 0x28, 0x28
);
// 0x04000060 # solid color beige skin - face (cap on and off dls) - all poly types
static const Lights1 mario_beige_lights_group = gdSPDefLights1(
0x7f, 0x60, 0x3c,
0xfe, 0xc1, 0x79, 0x28, 0x28, 0x28
);
// 0x04000078 # solid color brown 2 - hair - all poly types
static const Lights1 mario_brown2_lights_group = gdSPDefLights1(
0x39, 0x03, 0x00,
0x73, 0x06, 0x00, 0x28, 0x28, 0x28
);
// 0x04000090
ALIGNED8 static const u8 mario_texture_metal[] = {
#include "actors/mario/mario_metal.rgba16.inc.c"
};
// 0x04001090
ALIGNED8 static const u8 mario_texture_yellow_button[] = {
#include "actors/mario/mario_overalls_button.rgba16.inc.c"
};
// 0x04001890
ALIGNED8 static const u8 mario_texture_m_logo[] = {
#include "actors/mario/mario_logo.rgba16.inc.c"
};
// 0x04002090
ALIGNED8 static const u8 mario_texture_hair_sideburn[] = {
#include "actors/mario/mario_sideburn.rgba16.inc.c"
};
// 0x04002890
ALIGNED8 static const u8 mario_texture_mustache[] = {
#include "actors/mario/mario_mustache.rgba16.inc.c"
};
// 0x04003090
ALIGNED8 static const u8 mario_texture_eyes_front[] = {
#include "actors/mario/mario_eyes_center.rgba16.inc.c"
};
// 0x04003890
ALIGNED8 static const u8 mario_texture_eyes_half_closed[] = {
#include "actors/mario/mario_eyes_half_closed.rgba16.inc.c"
};
// 0x04004090
ALIGNED8 static const u8 mario_texture_eyes_closed[] = {
#include "actors/mario/mario_eyes_closed.rgba16.inc.c"
};
// Unreferenced
// 0x04004890
ALIGNED8 static const u8 mario_texture_eyes_closed_unused1[] = {
#include "actors/mario/mario_eyes_closed_unused_0.rgba16.inc.c"
};
// Unreferenced
// 0x04005090
ALIGNED8 static const u8 mario_texture_eyes_closed_unused2[] = {
#include "actors/mario/mario_eyes_closed_unused_1.rgba16.inc.c"
};
// 0x04005890
ALIGNED8 static const u8 mario_texture_eyes_right[] = {
#include "actors/mario/mario_eyes_left_unused.rgba16.inc.c"
};
// 0x04006090
ALIGNED8 static const u8 mario_texture_eyes_left[] = {
#include "actors/mario/mario_eyes_right_unused.rgba16.inc.c"
};
// 0x04006890
ALIGNED8 static const u8 mario_texture_eyes_up[] = {
#include "actors/mario/mario_eyes_up_unused.rgba16.inc.c"
};
// 0x04007090
ALIGNED8 static const u8 mario_texture_eyes_down[] = {
#include "actors/mario/mario_eyes_down_unused.rgba16.inc.c"
};
// 0x04007890
ALIGNED8 static const u8 mario_texture_eyes_dead[] = {
#include "actors/mario/mario_eyes_dead.rgba16.inc.c"
};
// 0x04008090
ALIGNED8 static const u8 mario_texture_wings_half_1[] = {
#include "actors/mario/mario_wing.rgba16.inc.c"
};
// 0x04009090
ALIGNED8 static const u8 mario_texture_wings_half_2[] = {
#include "actors/mario/mario_wing_tip.rgba16.inc.c"
};
// 0x0400A090
ALIGNED8 static const u8 mario_texture_metal_wings_half_1[] = {
#include "actors/mario/mario_metal_wing_unused.rgba16.inc.c"
};
// 0x0400B090
ALIGNED8 static const u8 mario_texture_metal_wings_half_2[] = {
#include "actors/mario/mario_metal_wing_tip_unused.rgba16.inc.c"
};
// 0x0400C090
static const Vtx mario_butt_dl_vertex_group1[] = {
{{{ -9, 73, -34}, 0, { 0, 0}, {0xc2, 0x6b, 0xe6, 0x00}}},
{{{ -9, 73, 34}, 0, { 0, 0}, {0xbe, 0x6a, 0x12, 0x00}}},
{{{ 22, 82, -26}, 0, { 0, 0}, {0x07, 0x7e, 0xf5, 0x00}}},
{{{ 73, 11, 0}, 0, { 0, 0}, {0x7e, 0x04, 0x00, 0x00}}},
{{{ 55, -61, -36}, 0, { 0, 0}, {0x67, 0xbe, 0xe1, 0x00}}},
{{{ 44, -10, -92}, 0, { 0, 0}, {0x4f, 0xf2, 0x9e, 0x00}}},
{{{ 7, 33, 95}, 0, { 0, 0}, {0xe6, 0x26, 0x75, 0x00}}},
{{{ 44, -9, 92}, 0, { 0, 0}, {0x4f, 0xf2, 0x62, 0x00}}},
{{{ 43, 40, 91}, 0, { 0, 0}, {0x4e, 0x30, 0x57, 0x00}}},
{{{ 8, -8, -99}, 0, { 0, 0}, {0xf3, 0xee, 0x84, 0x00}}},
{{{ 36, -51, -79}, 0, { 0, 0}, {0x30, 0xb8, 0xa4, 0x00}}},
{{{ 26, -74, -46}, 0, { 0, 0}, {0x18, 0x88, 0xe2, 0x00}}},
{{{ 36, -52, 79}, 0, { 0, 0}, {0x30, 0xb8, 0x5c, 0x00}}},
{{{ 26, -74, 45}, 0, { 0, 0}, {0x12, 0x88, 0x22, 0x00}}},
{{{ 55, -61, 36}, 0, { 0, 0}, {0x60, 0xb3, 0x1a, 0x00}}},
};
// 0x0400C180
static const Vtx mario_butt_dl_vertex_group2[] = {
{{{ -5, 59, 72}, 0, { 0, 0}, {0xc0, 0x52, 0x47, 0x00}}},
{{{ -9, 73, 34}, 0, { 0, 0}, {0xbe, 0x6a, 0x12, 0x00}}},
{{{ -32, 40, 39}, 0, { 0, 0}, {0x8b, 0x25, 0x1d, 0x00}}},
{{{ 52, 70, 38}, 0, { 0, 0}, {0x53, 0x5d, 0x16, 0x00}}},
{{{ 22, 82, 26}, 0, { 0, 0}, {0x07, 0x7d, 0x11, 0x00}}},
{{{ 27, 72, 63}, 0, { 0, 0}, {0x06, 0x6c, 0x42, 0x00}}},
{{{ 43, 40, -91}, 0, { 0, 0}, {0x4e, 0x30, 0xa9, 0x00}}},
{{{ 27, 72, -63}, 0, { 0, 0}, {0x07, 0x6b, 0xbe, 0x00}}},
{{{ 52, 70, -39}, 0, { 0, 0}, {0x59, 0x56, 0xe5, 0x00}}},
{{{ -5, 59, -72}, 0, { 0, 0}, {0xc0, 0x52, 0xb9, 0x00}}},
{{{ -17, 32, -79}, 0, { 0, 0}, {0xa4, 0x23, 0xb1, 0x00}}},
{{{ -32, 40, -39}, 0, { 0, 0}, {0x89, 0x25, 0xeb, 0x00}}},
{{{ 73, 11, 0}, 0, { 0, 0}, {0x7e, 0x04, 0x00, 0x00}}},
{{{ 43, 40, 91}, 0, { 0, 0}, {0x4e, 0x30, 0x57, 0x00}}},
};
// 0x0400C260
static const Vtx mario_butt_dl_vertex_group3[] = {
{{{ -14, -74, 0}, 0, { 0, 0}, {0xcb, 0x8d, 0x00, 0x00}}},
{{{ -9, -69, 55}, 0, { 0, 0}, {0xcd, 0x97, 0x30, 0x00}}},
{{{ -31, -51, 42}, 0, { 0, 0}, {0x8d, 0xd7, 0x1f, 0x00}}},
{{{ 26, -74, -46}, 0, { 0, 0}, {0x18, 0x88, 0xe2, 0x00}}},
{{{ -9, -69, -55}, 0, { 0, 0}, {0xcd, 0x97, 0xd0, 0x00}}},
{{{ 4, -48, -86}, 0, { 0, 0}, {0xd8, 0xba, 0x9f, 0x00}}},
{{{ 4, -49, 86}, 0, { 0, 0}, {0xd8, 0xb9, 0x61, 0x00}}},
{{{ 26, -74, 45}, 0, { 0, 0}, {0x12, 0x88, 0x22, 0x00}}},
{{{ -32, 40, 39}, 0, { 0, 0}, {0x8b, 0x25, 0x1d, 0x00}}},
{{{ -9, 73, 34}, 0, { 0, 0}, {0xbe, 0x6a, 0x12, 0x00}}},
{{{ -32, 40, -39}, 0, { 0, 0}, {0x89, 0x25, 0xeb, 0x00}}},
{{{ 27, 72, 63}, 0, { 0, 0}, {0x06, 0x6c, 0x42, 0x00}}},
{{{ -5, 59, 72}, 0, { 0, 0}, {0xc0, 0x52, 0x47, 0x00}}},
{{{ 52, 70, -39}, 0, { 0, 0}, {0x59, 0x56, 0xe5, 0x00}}},
{{{ 22, 82, -26}, 0, { 0, 0}, {0x07, 0x7e, 0xf5, 0x00}}},
{{{ 52, 70, 38}, 0, { 0, 0}, {0x53, 0x5d, 0x16, 0x00}}},
};
// 0x0400C360
static const Vtx mario_butt_dl_vertex_group4[] = {
{{{ 6, 33, -95}, 0, { 0, 0}, {0xe6, 0x26, 0x8b, 0x00}}},
{{{ 27, 72, -63}, 0, { 0, 0}, {0x07, 0x6b, 0xbe, 0x00}}},
{{{ 43, 40, -91}, 0, { 0, 0}, {0x4e, 0x30, 0xa9, 0x00}}},
{{{ -31, -51, 42}, 0, { 0, 0}, {0x8d, 0xd7, 0x1f, 0x00}}},
{{{ -31, -51, -42}, 0, { 0, 0}, {0x91, 0xd0, 0xdc, 0x00}}},
{{{ -14, -74, 0}, 0, { 0, 0}, {0xcb, 0x8d, 0x00, 0x00}}},
{{{ -9, -69, -55}, 0, { 0, 0}, {0xcd, 0x97, 0xd0, 0x00}}},
{{{ 73, 11, 0}, 0, { 0, 0}, {0x7e, 0x04, 0x00, 0x00}}},
{{{ 44, -10, -92}, 0, { 0, 0}, {0x4f, 0xf2, 0x9e, 0x00}}},
{{{ 52, 70, 38}, 0, { 0, 0}, {0x53, 0x5d, 0x16, 0x00}}},
{{{ 52, 70, -39}, 0, { 0, 0}, {0x59, 0x56, 0xe5, 0x00}}},
{{{ 43, 40, 91}, 0, { 0, 0}, {0x4e, 0x30, 0x57, 0x00}}},
{{{ 44, -9, 92}, 0, { 0, 0}, {0x4f, 0xf2, 0x62, 0x00}}},
{{{ 7, 33, 95}, 0, { 0, 0}, {0xe6, 0x26, 0x75, 0x00}}},
{{{ 27, 72, 63}, 0, { 0, 0}, {0x06, 0x6c, 0x42, 0x00}}},
};
// 0x0400C450
static const Vtx mario_butt_dl_vertex_group5[] = {
{{{ -5, 59, -72}, 0, { 0, 0}, {0xc0, 0x52, 0xb9, 0x00}}},
{{{ -9, 73, -34}, 0, { 0, 0}, {0xc2, 0x6b, 0xe6, 0x00}}},
{{{ 27, 72, -63}, 0, { 0, 0}, {0x07, 0x6b, 0xbe, 0x00}}},
{{{ -32, 40, -39}, 0, { 0, 0}, {0x89, 0x25, 0xeb, 0x00}}},
{{{ -32, 40, 39}, 0, { 0, 0}, {0x8b, 0x25, 0x1d, 0x00}}},
{{{ -18, 32, 79}, 0, { 0, 0}, {0xa4, 0x23, 0x4f, 0x00}}},
{{{ -5, 59, 72}, 0, { 0, 0}, {0xc0, 0x52, 0x47, 0x00}}},
{{{ 22, 82, -26}, 0, { 0, 0}, {0x07, 0x7e, 0xf5, 0x00}}},
{{{ 52, 70, -39}, 0, { 0, 0}, {0x59, 0x56, 0xe5, 0x00}}},
{{{ 27, 72, 63}, 0, { 0, 0}, {0x06, 0x6c, 0x42, 0x00}}},
{{{ 43, 40, 91}, 0, { 0, 0}, {0x4e, 0x30, 0x57, 0x00}}},
{{{ 52, 70, 38}, 0, { 0, 0}, {0x53, 0x5d, 0x16, 0x00}}},
{{{ 8, -8, 99}, 0, { 0, 0}, {0xf3, 0xef, 0x7c, 0x00}}},
{{{ 36, -52, 79}, 0, { 0, 0}, {0x30, 0xb8, 0x5c, 0x00}}},
{{{ 44, -9, 92}, 0, { 0, 0}, {0x4f, 0xf2, 0x62, 0x00}}},
};
// 0x0400C540
static const Vtx mario_butt_dl_vertex_group6[] = {
{{{ 6, 33, -95}, 0, { 0, 0}, {0xe6, 0x26, 0x8b, 0x00}}},
{{{ 43, 40, -91}, 0, { 0, 0}, {0x4e, 0x30, 0xa9, 0x00}}},
{{{ 44, -10, -92}, 0, { 0, 0}, {0x4f, 0xf2, 0x9e, 0x00}}},
{{{ 44, -9, 92}, 0, { 0, 0}, {0x4f, 0xf2, 0x62, 0x00}}},
{{{ 36, -52, 79}, 0, { 0, 0}, {0x30, 0xb8, 0x5c, 0x00}}},
{{{ 55, -61, 36}, 0, { 0, 0}, {0x60, 0xb3, 0x1a, 0x00}}},
{{{ -18, 32, 79}, 0, { 0, 0}, {0xa4, 0x23, 0x4f, 0x00}}},
{{{ 7, 33, 95}, 0, { 0, 0}, {0xe6, 0x26, 0x75, 0x00}}},
{{{ -5, 59, 72}, 0, { 0, 0}, {0xc0, 0x52, 0x47, 0x00}}},
{{{ -20, -7, 81}, 0, { 0, 0}, {0xa3, 0xf9, 0x55, 0x00}}},
{{{ 8, -8, 99}, 0, { 0, 0}, {0xf3, 0xef, 0x7c, 0x00}}},
{{{ 4, -49, 86}, 0, { 0, 0}, {0xd8, 0xb9, 0x61, 0x00}}},
{{{ -20, -8, -81}, 0, { 0, 0}, {0xa3, 0xf8, 0xab, 0x00}}},
{{{ 8, -8, -99}, 0, { 0, 0}, {0xf3, 0xee, 0x84, 0x00}}},
{{{ 4, -48, -86}, 0, { 0, 0}, {0xd8, 0xba, 0x9f, 0x00}}},
};
// 0x0400C630
static const Vtx mario_butt_dl_vertex_group7[] = {
{{{ -5, 59, -72}, 0, { 0, 0}, {0xc0, 0x52, 0xb9, 0x00}}},
{{{ 6, 33, -95}, 0, { 0, 0}, {0xe6, 0x26, 0x8b, 0x00}}},
{{{ -17, 32, -79}, 0, { 0, 0}, {0xa4, 0x23, 0xb1, 0x00}}},
{{{ -20, -8, -81}, 0, { 0, 0}, {0xa3, 0xf8, 0xab, 0x00}}},
{{{ 7, 33, 95}, 0, { 0, 0}, {0xe6, 0x26, 0x75, 0x00}}},
{{{ -18, 32, 79}, 0, { 0, 0}, {0xa4, 0x23, 0x4f, 0x00}}},
{{{ -20, -7, 81}, 0, { 0, 0}, {0xa3, 0xf9, 0x55, 0x00}}},
{{{ -32, 40, -39}, 0, { 0, 0}, {0x89, 0x25, 0xeb, 0x00}}},
{{{ 55, -61, 36}, 0, { 0, 0}, {0x60, 0xb3, 0x1a, 0x00}}},
{{{ 73, 11, 0}, 0, { 0, 0}, {0x7e, 0x04, 0x00, 0x00}}},
{{{ 44, -9, 92}, 0, { 0, 0}, {0x4f, 0xf2, 0x62, 0x00}}},
{{{ 55, -61, -36}, 0, { 0, 0}, {0x67, 0xbe, 0xe1, 0x00}}},
{{{ 36, -51, -79}, 0, { 0, 0}, {0x30, 0xb8, 0xa4, 0x00}}},
{{{ 44, -10, -92}, 0, { 0, 0}, {0x4f, 0xf2, 0x9e, 0x00}}},
{{{ 8, -8, -99}, 0, { 0, 0}, {0xf3, 0xee, 0x84, 0x00}}},
};
// 0x0400C720
static const Vtx mario_butt_dl_vertex_group8[] = {
{{{ 8, -8, 99}, 0, { 0, 0}, {0xf3, 0xef, 0x7c, 0x00}}},
{{{ 4, -49, 86}, 0, { 0, 0}, {0xd8, 0xb9, 0x61, 0x00}}},
{{{ 36, -52, 79}, 0, { 0, 0}, {0x30, 0xb8, 0x5c, 0x00}}},
{{{ -9, 73, -34}, 0, { 0, 0}, {0xc2, 0x6b, 0xe6, 0x00}}},
{{{ 22, 82, -26}, 0, { 0, 0}, {0x07, 0x7e, 0xf5, 0x00}}},
{{{ 27, 72, -63}, 0, { 0, 0}, {0x07, 0x6b, 0xbe, 0x00}}},
{{{ 27, 72, 63}, 0, { 0, 0}, {0x06, 0x6c, 0x42, 0x00}}},
{{{ -5, 59, 72}, 0, { 0, 0}, {0xc0, 0x52, 0x47, 0x00}}},
{{{ 7, 33, 95}, 0, { 0, 0}, {0xe6, 0x26, 0x75, 0x00}}},
{{{ 6, 33, -95}, 0, { 0, 0}, {0xe6, 0x26, 0x8b, 0x00}}},
{{{ -5, 59, -72}, 0, { 0, 0}, {0xc0, 0x52, 0xb9, 0x00}}},
{{{ 22, 82, 26}, 0, { 0, 0}, {0x07, 0x7d, 0x11, 0x00}}},
{{{ 52, 70, 38}, 0, { 0, 0}, {0x53, 0x5d, 0x16, 0x00}}},
{{{ -9, 73, 34}, 0, { 0, 0}, {0xbe, 0x6a, 0x12, 0x00}}},
{{{ -32, 40, -39}, 0, { 0, 0}, {0x89, 0x25, 0xeb, 0x00}}},
{{{ 26, -74, 45}, 0, { 0, 0}, {0x12, 0x88, 0x22, 0x00}}},
};
// 0x0400C820
static const Vtx mario_butt_dl_vertex_group9[] = {
{{{ 4, -48, -86}, 0, { 0, 0}, {0xd8, 0xba, 0x9f, 0x00}}},
{{{ 36, -51, -79}, 0, { 0, 0}, {0x30, 0xb8, 0xa4, 0x00}}},
{{{ 26, -74, -46}, 0, { 0, 0}, {0x18, 0x88, 0xe2, 0x00}}},
{{{ -20, -7, 81}, 0, { 0, 0}, {0xa3, 0xf9, 0x55, 0x00}}},
{{{ -18, 32, 79}, 0, { 0, 0}, {0xa4, 0x23, 0x4f, 0x00}}},
{{{ -32, 40, 39}, 0, { 0, 0}, {0x8b, 0x25, 0x1d, 0x00}}},
{{{ 8, -8, -99}, 0, { 0, 0}, {0xf3, 0xee, 0x84, 0x00}}},
{{{ 7, 33, 95}, 0, { 0, 0}, {0xe6, 0x26, 0x75, 0x00}}},
{{{ 8, -8, 99}, 0, { 0, 0}, {0xf3, 0xef, 0x7c, 0x00}}},
{{{ 44, -9, 92}, 0, { 0, 0}, {0x4f, 0xf2, 0x62, 0x00}}},
{{{ -9, 73, 34}, 0, { 0, 0}, {0xbe, 0x6a, 0x12, 0x00}}},
{{{ 22, 82, 26}, 0, { 0, 0}, {0x07, 0x7d, 0x11, 0x00}}},
{{{ 22, 82, -26}, 0, { 0, 0}, {0x07, 0x7e, 0xf5, 0x00}}},
{{{ -9, -69, -55}, 0, { 0, 0}, {0xcd, 0x97, 0xd0, 0x00}}},
{{{ -31, -51, -42}, 0, { 0, 0}, {0x91, 0xd0, 0xdc, 0x00}}},
{{{ -20, -8, -81}, 0, { 0, 0}, {0xa3, 0xf8, 0xab, 0x00}}},
};
// 0x0400C920
static const Vtx mario_butt_dl_vertex_group10[] = {
{{{ -31, -51, 42}, 0, { 0, 0}, {0x8d, 0xd7, 0x1f, 0x00}}},
{{{ -9, -69, 55}, 0, { 0, 0}, {0xcd, 0x97, 0x30, 0x00}}},
{{{ 4, -49, 86}, 0, { 0, 0}, {0xd8, 0xb9, 0x61, 0x00}}},
{{{ -20, -7, 81}, 0, { 0, 0}, {0xa3, 0xf9, 0x55, 0x00}}},
{{{ -32, 40, 39}, 0, { 0, 0}, {0x8b, 0x25, 0x1d, 0x00}}},
{{{ -32, 40, -39}, 0, { 0, 0}, {0x89, 0x25, 0xeb, 0x00}}},
{{{ -20, -8, -81}, 0, { 0, 0}, {0xa3, 0xf8, 0xab, 0x00}}},
{{{ -31, -51, -42}, 0, { 0, 0}, {0x91, 0xd0, 0xdc, 0x00}}},
{{{ 55, -61, 36}, 0, { 0, 0}, {0x60, 0xb3, 0x1a, 0x00}}},
{{{ 26, -74, 45}, 0, { 0, 0}, {0x12, 0x88, 0x22, 0x00}}},
{{{ 26, -74, -46}, 0, { 0, 0}, {0x18, 0x88, 0xe2, 0x00}}},
{{{ -14, -74, 0}, 0, { 0, 0}, {0xcb, 0x8d, 0x00, 0x00}}},
{{{ -9, -69, -55}, 0, { 0, 0}, {0xcd, 0x97, 0xd0, 0x00}}},
{{{ 55, -61, -36}, 0, { 0, 0}, {0x67, 0xbe, 0xe1, 0x00}}},
};
// 0x0400CA00 - 0x0400CC98
const Gfx mario_butt_dl[] = {
gsSPVertex(mario_butt_dl_vertex_group1, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 9, 5, 10, 0x0),
gsSP2Triangles( 4, 11, 10, 0x0, 12, 13, 14, 0x0),
gsSPVertex(mario_butt_dl_vertex_group2, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 9, 10, 11, 0x0),
gsSP2Triangles(12, 3, 13, 0x0, 6, 8, 12, 0x0),
gsSPVertex(mario_butt_dl_vertex_group3, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 1, 7, 0x0, 8, 9, 10, 0x0),
gsSP2Triangles(11, 9, 12, 0x0, 13, 14, 15, 0x0),
gsSPVertex(mario_butt_dl_vertex_group4, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 4, 6, 5, 0x0, 7, 8, 2, 0x0),
gsSP2Triangles( 9, 7, 10, 0x0, 11, 12, 7, 0x0),
gsSP1Triangle(13, 11, 14, 0x0),
gsSPVertex(mario_butt_dl_vertex_group5, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 1, 0, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 2, 7, 8, 0x0),
gsSP2Triangles( 9, 10, 11, 0x0, 12, 13, 14, 0x0),
gsSPVertex(mario_butt_dl_vertex_group6, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 9, 10, 7, 0x0),
gsSP2Triangles(11, 10, 9, 0x0, 12, 13, 14, 0x0),
gsSP1Triangle( 0, 13, 12, 0x0),
gsSPVertex(mario_butt_dl_vertex_group7, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 2, 1, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 7, 2, 3, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 9, 8, 11, 0x0),
gsSP2Triangles(11, 12, 13, 0x0, 13, 14, 1, 0x0),
gsSPVertex(mario_butt_dl_vertex_group8, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 9, 10, 5, 0x0),
gsSP2Triangles( 4, 11, 12, 0x0, 6, 11, 13, 0x0),
gsSP2Triangles(13, 3, 14, 0x0, 15, 2, 1, 0x0),
gsSPVertex(mario_butt_dl_vertex_group9, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 1, 0, 6, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 0, 13, 14, 0x0),
gsSP1Triangle(15, 0, 14, 0x0),
gsSPVertex(mario_butt_dl_vertex_group10, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 3, 0, 0x0),
gsSP2Triangles( 3, 4, 0, 0x0, 0, 4, 5, 0x0),
gsSP2Triangles( 5, 6, 7, 0x0, 5, 7, 0, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 9, 11, 10, 0x0),
gsSP2Triangles( 9, 1, 11, 0x0, 11, 12, 10, 0x0),
gsSP1Triangle(10, 13, 8, 0x0),
gsSPEndDisplayList(),
};
// 0x0400CC98 - 0x0400CCC8
const Gfx mario_butt[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPLight(&mario_blue_lights_group.l, 1),
gsSPLight(&mario_blue_lights_group.a, 2),
gsSPDisplayList(mario_butt_dl),
gsSPEndDisplayList(),
};
// 0x0400CCC8 - 0x0400CD40
const Gfx mario_metal_butt[] = {
gsDPPipeSync(),
gsSPSetGeometryMode(G_TEXTURE_GEN),
gsDPSetCombineMode(G_CC_DECALFADE, G_CC_DECALFADE),
gsDPLoadTextureBlock(mario_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),
gsSPLight(&mario_white_lights_group.l, 1),
gsSPLight(&mario_white_lights_group.a, 2),
gsSPDisplayList(mario_butt_dl),
gsSPEndDisplayList(),
};
// 0x0400CD40
static const Vtx mario_left_arm_shared_dl_vertex_group1[] = {
{{{ 7, 27, 20}, 0, { 0, 0}, {0xda, 0x61, 0x47, 0x00}}},
{{{ 59, 20, 15}, 0, { 0, 0}, {0x44, 0x4a, 0x4c, 0x00}}},
{{{ 59, 21, -21}, 0, { 0, 0}, {0x37, 0x67, 0xd0, 0x00}}},
{{{ 6, -16, 32}, 0, { 0, 0}, {0xd5, 0xdc, 0x71, 0x00}}},
{{{ 58, -15, 25}, 0, { 0, 0}, {0x32, 0xc6, 0x64, 0x00}}},
{{{ 5, -42, -5}, 0, { 0, 0}, {0xd3, 0x8a, 0xff, 0x00}}},
{{{ 57, -36, -5}, 0, { 0, 0}, {0x3e, 0x93, 0xef, 0x00}}},
{{{ 6, -13, -42}, 0, { 0, 0}, {0xd6, 0xde, 0x8e, 0x00}}},
{{{ 58, -13, -34}, 0, { 0, 0}, {0x3b, 0xfb, 0x90, 0x00}}},
{{{ 7, 29, -26}, 0, { 0, 0}, {0xda, 0x62, 0xbb, 0x00}}},
{{{ -8, 17, -17}, 0, { 0, 0}, {0x90, 0x2a, 0xd6, 0x00}}},
{{{ -8, 16, 10}, 0, { 0, 0}, {0x9a, 0x44, 0x1d, 0x00}}},
{{{ -8, -9, -27}, 0, { 0, 0}, {0x8e, 0xe8, 0xce, 0x00}}},
{{{ -9, -26, -5}, 0, { 0, 0}, {0x96, 0xbd, 0x0e, 0x00}}},
{{{ -8, -11, 18}, 0, { 0, 0}, {0x8b, 0xff, 0x2f, 0x00}}},
};
// 0x0400CE30
static const Vtx mario_left_arm_shared_dl_vertex_group2[] = {
{{{ 68, 13, -16}, 0, { 0, 0}, {0x6a, 0x38, 0xd9, 0x00}}},
{{{ 68, -10, -25}, 0, { 0, 0}, {0x75, 0xe7, 0xd9, 0x00}}},
{{{ 58, -13, -34}, 0, { 0, 0}, {0x3b, 0xfb, 0x90, 0x00}}},
{{{ 59, 20, 15}, 0, { 0, 0}, {0x44, 0x4a, 0x4c, 0x00}}},
{{{ 68, 12, 9}, 0, { 0, 0}, {0x78, 0x1f, 0x1b, 0x00}}},
{{{ 67, -12, 16}, 0, { 0, 0}, {0x6f, 0xe8, 0x37, 0x00}}},
{{{ 57, -36, -5}, 0, { 0, 0}, {0x3e, 0x93, 0xef, 0x00}}},
{{{ 67, -26, -5}, 0, { 0, 0}, {0x6e, 0xc2, 0xfe, 0x00}}},
{{{ 58, -15, 25}, 0, { 0, 0}, {0x32, 0xc6, 0x64, 0x00}}},
{{{ 59, 21, -21}, 0, { 0, 0}, {0x37, 0x67, 0xd0, 0x00}}},
{{{ 7, 27, 20}, 0, { 0, 0}, {0xda, 0x61, 0x47, 0x00}}},
{{{ -8, -11, 18}, 0, { 0, 0}, {0x8b, 0xff, 0x2f, 0x00}}},
{{{ 6, -16, 32}, 0, { 0, 0}, {0xd5, 0xdc, 0x71, 0x00}}},
{{{ -9, -26, -5}, 0, { 0, 0}, {0x96, 0xbd, 0x0e, 0x00}}},
{{{ 5, -42, -5}, 0, { 0, 0}, {0xd3, 0x8a, 0xff, 0x00}}},
};
// 0x0400CF20
static const Vtx mario_left_arm_shared_dl_vertex_group3[] = {
{{{ 5, -42, -5}, 0, { 0, 0}, {0xd3, 0x8a, 0xff, 0x00}}},
{{{ -8, -9, -27}, 0, { 0, 0}, {0x8e, 0xe8, 0xce, 0x00}}},
{{{ 6, -13, -42}, 0, { 0, 0}, {0xd6, 0xde, 0x8e, 0x00}}},
{{{ -8, 17, -17}, 0, { 0, 0}, {0x90, 0x2a, 0xd6, 0x00}}},
{{{ 7, 29, -26}, 0, { 0, 0}, {0xda, 0x62, 0xbb, 0x00}}},
{{{ -8, 16, 10}, 0, { 0, 0}, {0x9a, 0x44, 0x1d, 0x00}}},
{{{ 7, 27, 20}, 0, { 0, 0}, {0xda, 0x61, 0x47, 0x00}}},
{{{ 58, -13, -34}, 0, { 0, 0}, {0x3b, 0xfb, 0x90, 0x00}}},
{{{ 57, -36, -5}, 0, { 0, 0}, {0x3e, 0x93, 0xef, 0x00}}},
{{{ 6, -16, 32}, 0, { 0, 0}, {0xd5, 0xdc, 0x71, 0x00}}},
{{{ 58, -15, 25}, 0, { 0, 0}, {0x32, 0xc6, 0x64, 0x00}}},
{{{ 59, 20, 15}, 0, { 0, 0}, {0x44, 0x4a, 0x4c, 0x00}}},
{{{ 59, 21, -21}, 0, { 0, 0}, {0x37, 0x67, 0xd0, 0x00}}},
{{{ -8, -11, 18}, 0, { 0, 0}, {0x8b, 0xff, 0x2f, 0x00}}},
};
// 0x0400D000
static const Vtx mario_left_arm_shared_dl_vertex_group4[] = {
{{{ 68, 12, 9}, 0, { 0, 0}, {0x78, 0x1f, 0x1b, 0x00}}},
{{{ 68, -10, -25}, 0, { 0, 0}, {0x75, 0xe7, 0xd9, 0x00}}},
{{{ 68, 13, -16}, 0, { 0, 0}, {0x6a, 0x38, 0xd9, 0x00}}},
{{{ 67, -12, 16}, 0, { 0, 0}, {0x6f, 0xe8, 0x37, 0x00}}},
{{{ 67, -26, -5}, 0, { 0, 0}, {0x6e, 0xc2, 0xfe, 0x00}}},
{{{ -8, 17, -17}, 0, { 0, 0}, {0x90, 0x2a, 0xd6, 0x00}}},
{{{ -8, -9, -27}, 0, { 0, 0}, {0x8e, 0xe8, 0xce, 0x00}}},
{{{ -8, -11, 18}, 0, { 0, 0}, {0x8b, 0xff, 0x2f, 0x00}}},
{{{ -9, -26, -5}, 0, { 0, 0}, {0x96, 0xbd, 0x0e, 0x00}}},
};
// 0x0400D090 - 0x0400D1D8
const Gfx mario_left_arm_shared_dl[] = {
gsSPVertex(mario_left_arm_shared_dl_vertex_group1, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 1, 0x0),
gsSP2Triangles( 5, 6, 4, 0x0, 7, 8, 6, 0x0),
gsSP2Triangles( 9, 2, 8, 0x0, 9, 10, 11, 0x0),
gsSP2Triangles( 7, 12, 10, 0x0, 5, 13, 12, 0x0),
gsSP2Triangles( 3, 14, 13, 0x0, 0, 11, 14, 0x0),
gsSPVertex(mario_left_arm_shared_dl_vertex_group2, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 0, 0x0),
gsSP2Triangles( 5, 4, 3, 0x0, 6, 7, 5, 0x0),
gsSP2Triangles( 1, 7, 6, 0x0, 2, 1, 6, 0x0),
gsSP2Triangles( 6, 5, 8, 0x0, 8, 5, 3, 0x0),
gsSP2Triangles( 3, 0, 9, 0x0, 9, 0, 2, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 12, 13, 14, 0x0),
gsSPVertex(mario_left_arm_shared_dl_vertex_group3, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 3, 4, 0x0),
gsSP2Triangles( 4, 5, 6, 0x0, 2, 4, 7, 0x0),
gsSP2Triangles( 0, 2, 8, 0x0, 9, 0, 10, 0x0),
gsSP2Triangles( 6, 9, 11, 0x0, 4, 6, 12, 0x0),
gsSP1Triangle(13, 5, 3, 0x0),
gsSPVertex(mario_left_arm_shared_dl_vertex_group4, 9, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsSP2Triangles( 3, 4, 1, 0x0, 5, 6, 7, 0x0),
gsSP1Triangle( 6, 8, 7, 0x0),
gsSPEndDisplayList(),
};
// 0x0400D1D8 - 0x0400D1F8
const Gfx mario_left_arm[] = {
gsSPLight(&mario_red_lights_group.l, 1),
gsSPLight(&mario_red_lights_group.a, 2),
gsSPDisplayList(mario_left_arm_shared_dl),
gsSPEndDisplayList(),
};
// 0x0400D1F8
static const Vtx mario_left_forearm_shared_dl_vertex[] = {
{{{ -2, 19, 16}, 0, { 0, 0}, {0xdb, 0x61, 0x48, 0x00}}},
{{{ 47, 14, 13}, 0, { 0, 0}, {0x44, 0x44, 0x51, 0x00}}},
{{{ 47, 16, -19}, 0, { 0, 0}, {0x45, 0x61, 0xd6, 0x00}}},
{{{ -3, -17, 26}, 0, { 0, 0}, {0xd7, 0xdb, 0x71, 0x00}}},
{{{ 46, -17, 22}, 0, { 0, 0}, {0x41, 0xc7, 0x5c, 0x00}}},
{{{ -3, -38, -4}, 0, { 0, 0}, {0xd4, 0x89, 0xfe, 0x00}}},
{{{ 45, -34, -4}, 0, { 0, 0}, {0x3f, 0x95, 0xe8, 0x00}}},
{{{ -3, -14, -34}, 0, { 0, 0}, {0xd7, 0xde, 0x8e, 0x00}}},
{{{ 46, -14, -30}, 0, { 0, 0}, {0x42, 0xf4, 0x95, 0x00}}},
{{{ -2, 21, -21}, 0, { 0, 0}, {0xdb, 0x63, 0xbb, 0x00}}},
{{{ -14, 13, -15}, 0, { 0, 0}, {0x93, 0x2c, 0xd3, 0x00}}},
{{{ -14, 11, 10}, 0, { 0, 0}, {0x93, 0x3b, 0x19, 0x00}}},
{{{ -15, -11, -24}, 0, { 0, 0}, {0x9a, 0xde, 0xbe, 0x00}}},
{{{ -15, -27, -4}, 0, { 0, 0}, {0x8b, 0xd2, 0x0a, 0x00}}},
{{{ -15, -13, 17}, 0, { 0, 0}, {0x9b, 0xfb, 0x4c, 0x00}}},
{{{ 58, -7, -3}, 0, { 0, 0}, {0x7e, 0xfc, 0x00, 0x00}}},
};
// 0x0400D2F8 - 0x0400D3E8
const Gfx mario_left_forearm_shared_dl[] = {
gsSPVertex(mario_left_forearm_shared_dl_vertex, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 1, 0x0),
gsSP2Triangles( 5, 6, 4, 0x0, 7, 8, 6, 0x0),
gsSP2Triangles( 9, 2, 8, 0x0, 9, 10, 11, 0x0),
gsSP2Triangles( 7, 12, 10, 0x0, 5, 13, 12, 0x0),
gsSP2Triangles( 3, 14, 13, 0x0, 0, 11, 14, 0x0),
gsSP2Triangles( 8, 15, 6, 0x0, 6, 15, 4, 0x0),
gsSP2Triangles( 4, 15, 1, 0x0, 1, 15, 2, 0x0),
gsSP2Triangles( 2, 15, 8, 0x0, 0, 14, 3, 0x0),
gsSP2Triangles( 3, 13, 5, 0x0, 5, 12, 7, 0x0),
gsSP2Triangles( 7, 10, 9, 0x0, 9, 11, 0, 0x0),
gsSP2Triangles( 7, 9, 8, 0x0, 5, 7, 6, 0x0),
gsSP2Triangles( 3, 5, 4, 0x0, 0, 3, 1, 0x0),
gsSP2Triangles( 9, 0, 2, 0x0, 12, 13, 10, 0x0),
gsSP2Triangles(13, 11, 10, 0x0, 13, 14, 11, 0x0),
gsSPEndDisplayList(),
};
// 0x0400D3E8
static const Vtx mario_left_hand_closed_shared_dl_vertex_group1[] = {
{{{ 36, 6, 42}, 0, { 0, 0}, {0xe1, 0xf0, 0x79, 0x00}}},
{{{ 17, -1, 27}, 0, { 0, 0}, {0x00, 0xfd, 0x7f, 0x00}}},
{{{ 34, -41, 3}, 0, { 0, 0}, {0x42, 0xa3, 0x36, 0x00}}},
{{{ 26, -25, -32}, 0, { 0, 0}, {0x09, 0xc7, 0x8f, 0x00}}},
{{{ 4, 24, -31}, 0, { 0, 0}, {0xd5, 0x3f, 0x9c, 0x00}}},
{{{ 33, 7, -44}, 0, { 0, 0}, {0xc6, 0xfe, 0x90, 0x00}}},
{{{ -1, 39, 5}, 0, { 0, 0}, {0xea, 0x6e, 0x3a, 0x00}}},
{{{ 5, -6, 36}, 0, { 0, 0}, {0x44, 0x1b, 0x67, 0x00}}},
{{{ -10, 26, -38}, 0, { 0, 0}, {0xf0, 0x41, 0x95, 0x00}}},
{{{ 17, -38, -39}, 0, { 0, 0}, {0x1a, 0xb7, 0x9d, 0x00}}},
{{{ 86, 29, 41}, 0, { 0, 0}, {0x4b, 0x20, 0x60, 0x00}}},
{{{ 59, 81, 8}, 0, { 0, 0}, {0x11, 0x7a, 0x1d, 0x00}}},
{{{ 107, -26, 4}, 0, { 0, 0}, {0x67, 0xc5, 0x2b, 0x00}}},
{{{ 61, 12, -60}, 0, { 0, 0}, {0x00, 0x21, 0x86, 0x00}}},
{{{ 90, 17, -46}, 0, { 0, 0}, {0x43, 0x35, 0xa3, 0x00}}},
{{{ 100, -6, -46}, 0, { 0, 0}, {0x63, 0x0a, 0xb3, 0x00}}},
};
// 0x0400D4E8
static const Vtx mario_left_hand_closed_shared_dl_vertex_group2[] = {
{{{ 90, 17, -46}, 0, { 0, 0}, {0x43, 0x35, 0xa3, 0x00}}},
{{{ 57, 55, -37}, 0, { 0, 0}, {0x22, 0x54, 0xa9, 0x00}}},
{{{ 99, 40, -16}, 0, { 0, 0}, {0x6c, 0x3c, 0xe5, 0x00}}},
{{{ 32, 63, -28}, 0, { 0, 0}, {0xd0, 0x4f, 0xaa, 0x00}}},
{{{ 12, 59, 10}, 0, { 0, 0}, {0xaa, 0x58, 0x1b, 0x00}}},
{{{ 59, 81, 8}, 0, { 0, 0}, {0x11, 0x7a, 0x1d, 0x00}}},
{{{ 80, -31, -61}, 0, { 0, 0}, {0x0c, 0xb2, 0x9d, 0x00}}},
{{{ 100, -6, -46}, 0, { 0, 0}, {0x63, 0x0a, 0xb3, 0x00}}},
{{{ 107, -26, 4}, 0, { 0, 0}, {0x67, 0xc5, 0x2b, 0x00}}},
{{{ 61, 12, -60}, 0, { 0, 0}, {0x00, 0x21, 0x86, 0x00}}},
{{{ 33, 7, -44}, 0, { 0, 0}, {0xc6, 0xfe, 0x90, 0x00}}},
{{{ 86, 29, 41}, 0, { 0, 0}, {0x4b, 0x20, 0x60, 0x00}}},
{{{ 58, -45, 7}, 0, { 0, 0}, {0x01, 0x85, 0x1c, 0x00}}},
{{{ 36, 6, 42}, 0, { 0, 0}, {0xe1, 0xf0, 0x79, 0x00}}},
};
// 0x0400D5C8
static const Vtx mario_left_hand_closed_shared_dl_vertex_group3[] = {
{{{ 27, -58, 6}, 0, { 0, 0}, {0xa3, 0xad, 0x12, 0x00}}},
{{{ -14, -14, -4}, 0, { 0, 0}, {0x8c, 0xcd, 0x02, 0x00}}},
{{{ 17, -38, -39}, 0, { 0, 0}, {0x1a, 0xb7, 0x9d, 0x00}}},
{{{ -10, 26, -38}, 0, { 0, 0}, {0xf0, 0x41, 0x95, 0x00}}},
{{{ -18, 45, 8}, 0, { 0, 0}, {0x84, 0xf3, 0x13, 0x00}}},
{{{ 5, -6, 36}, 0, { 0, 0}, {0x99, 0xd2, 0x38, 0x00}}},
{{{ 34, -41, 3}, 0, { 0, 0}, {0x42, 0xa3, 0x36, 0x00}}},
{{{ 27, -58, 6}, 0, { 0, 0}, {0x73, 0xd5, 0x1d, 0x00}}},
{{{ 26, -25, -32}, 0, { 0, 0}, {0x09, 0xc7, 0x8f, 0x00}}},
{{{ -18, 45, 8}, 0, { 0, 0}, {0x2d, 0x71, 0x21, 0x00}}},
{{{ -1, 39, 5}, 0, { 0, 0}, {0xea, 0x6e, 0x3a, 0x00}}},
{{{ 5, -6, 36}, 0, { 0, 0}, {0x44, 0x1b, 0x67, 0x00}}},
{{{ 36, 6, 42}, 0, { 0, 0}, {0xe1, 0xf0, 0x79, 0x00}}},
{{{ 12, 59, 10}, 0, { 0, 0}, {0xaa, 0x58, 0x1b, 0x00}}},
{{{ 58, -45, 7}, 0, { 0, 0}, {0x01, 0x85, 0x1c, 0x00}}},
};
// 0x0400D6B8
static const Vtx mario_left_hand_closed_shared_dl_vertex_group4[] = {
{{{ 26, -25, -32}, 0, { 0, 0}, {0x09, 0xc7, 0x8f, 0x00}}},
{{{ 33, 7, -44}, 0, { 0, 0}, {0xc6, 0xfe, 0x90, 0x00}}},
{{{ 80, -31, -61}, 0, { 0, 0}, {0x0c, 0xb2, 0x9d, 0x00}}},
{{{ 58, -45, 7}, 0, { 0, 0}, {0x01, 0x85, 0x1c, 0x00}}},
{{{ 34, -41, 3}, 0, { 0, 0}, {0x42, 0xa3, 0x36, 0x00}}},
{{{ 61, 12, -60}, 0, { 0, 0}, {0x00, 0x21, 0x86, 0x00}}},
{{{ 12, 59, 10}, 0, { 0, 0}, {0xaa, 0x58, 0x1b, 0x00}}},
{{{ 32, 63, -28}, 0, { 0, 0}, {0xd0, 0x4f, 0xaa, 0x00}}},
{{{ 4, 24, -31}, 0, { 0, 0}, {0xd5, 0x3f, 0x9c, 0x00}}},
{{{ -1, 39, 5}, 0, { 0, 0}, {0xea, 0x6e, 0x3a, 0x00}}},
};
// 0x0400D758 - 0x0400D8F0
const Gfx mario_left_hand_closed_shared_dl[] = {
gsSPVertex(mario_left_hand_closed_shared_dl_vertex_group1, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 1, 0, 0x0, 2, 1, 7, 0x0),
gsSP2Triangles( 7, 1, 6, 0x0, 6, 4, 8, 0x0),
gsSP2Triangles( 8, 4, 3, 0x0, 9, 3, 2, 0x0),
gsSP2Triangles( 0, 10, 11, 0x0, 12, 10, 0, 0x0),
gsSP1Triangle(13, 14, 15, 0x0),
gsSPVertex(mario_left_hand_closed_shared_dl_vertex_group2, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 5, 1, 3, 0x0, 6, 7, 8, 0x0),
gsSP2Triangles( 9, 10, 3, 0x0, 1, 0, 9, 0x0),
gsSP2Triangles( 9, 3, 1, 0x0, 5, 2, 1, 0x0),
gsSP2Triangles( 0, 2, 7, 0x0, 7, 2, 8, 0x0),
gsSP2Triangles( 8, 2, 11, 0x0, 11, 2, 5, 0x0),
gsSP2Triangles( 9, 7, 6, 0x0, 6, 8, 12, 0x0),
gsSP2Triangles(12, 8, 13, 0x0, 13, 5, 4, 0x0),
gsSPVertex(mario_left_hand_closed_shared_dl_vertex_group3, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 1, 3, 0x0),
gsSP2Triangles( 3, 1, 4, 0x0, 4, 1, 5, 0x0),
gsSP2Triangles( 5, 1, 0, 0x0, 6, 7, 2, 0x0),
gsSP2Triangles( 8, 2, 3, 0x0, 3, 9, 10, 0x0),
gsSP2Triangles(10, 9, 11, 0x0, 11, 7, 6, 0x0),
gsSP2Triangles(10, 12, 13, 0x0, 6, 14, 12, 0x0),
gsSPVertex(mario_left_hand_closed_shared_dl_vertex_group4, 10, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 0, 0x0),
gsSP2Triangles( 1, 5, 2, 0x0, 0, 2, 3, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 8, 9, 6, 0x0),
gsSP1Triangle( 7, 1, 8, 0x0),
gsSPEndDisplayList(),
};
// 0x0400D8F0 - 0x0400D910
const Gfx mario_left_hand_closed[] = {
gsSPLight(&mario_white_lights_group.l, 1),
gsSPLight(&mario_white_lights_group.a, 2),
gsSPDisplayList(mario_left_hand_closed_shared_dl),
gsSPEndDisplayList(),
};
// 0x0400D910
static const Vtx mario_right_arm_shared_dl_vertex_group1[] = {
{{{ 57, -14, -22}, 0, { 0, 0}, {0x33, 0xcf, 0x97, 0x00}}},
{{{ 5, -44, 5}, 0, { 0, 0}, {0xd3, 0x8a, 0xf7, 0x00}}},
{{{ 6, -15, -30}, 0, { 0, 0}, {0xd6, 0xe6, 0x8c, 0x00}}},
{{{ 57, -38, 6}, 0, { 0, 0}, {0x3e, 0x93, 0x07, 0x00}}},
{{{ 6, -19, 44}, 0, { 0, 0}, {0xd5, 0xd4, 0x6e, 0x00}}},
{{{ 57, -17, 37}, 0, { 0, 0}, {0x33, 0xe8, 0x71, 0x00}}},
{{{ 7, 25, 32}, 0, { 0, 0}, {0xd9, 0x5c, 0x4d, 0x00}}},
{{{ 58, 17, 27}, 0, { 0, 0}, {0x44, 0x59, 0x39, 0x00}}},
{{{ 7, 27, -13}, 0, { 0, 0}, {0xda, 0x67, 0xc2, 0x00}}},
{{{ 58, 19, -9}, 0, { 0, 0}, {0x3e, 0x4a, 0xaf, 0x00}}},
{{{ -9, -28, 6}, 0, { 0, 0}, {0x96, 0xbf, 0xec, 0x00}}},
{{{ -9, -10, -15}, 0, { 0, 0}, {0x8f, 0x01, 0xc7, 0x00}}},
{{{ -8, 15, -5}, 0, { 0, 0}, {0x91, 0x39, 0xed, 0x00}}},
{{{ -8, 14, 22}, 0, { 0, 0}, {0x99, 0x2e, 0x38, 0x00}}},
{{{ -9, -13, 30}, 0, { 0, 0}, {0x8a, 0xe9, 0x26, 0x00}}},
{{{ 67, -12, -13}, 0, { 0, 0}, {0x68, 0xeb, 0xbc, 0x00}}},
};
// 0x0400DA10
static const Vtx mario_right_arm_shared_dl_vertex_group2[] = {
{{{ 57, -38, 6}, 0, { 0, 0}, {0x3e, 0x93, 0x07, 0x00}}},
{{{ 67, -14, 28}, 0, { 0, 0}, {0x6f, 0xe8, 0x37, 0x00}}},
{{{ 57, -17, 37}, 0, { 0, 0}, {0x33, 0xe8, 0x71, 0x00}}},
{{{ 58, 17, 27}, 0, { 0, 0}, {0x44, 0x59, 0x39, 0x00}}},
{{{ 67, 11, -4}, 0, { 0, 0}, {0x78, 0x26, 0xf1, 0x00}}},
{{{ 58, 19, -9}, 0, { 0, 0}, {0x3e, 0x4a, 0xaf, 0x00}}},
{{{ 67, 10, 21}, 0, { 0, 0}, {0x71, 0x2a, 0x25, 0x00}}},
{{{ 66, -28, 6}, 0, { 0, 0}, {0x75, 0xd1, 0xfe, 0x00}}},
{{{ 67, -12, -13}, 0, { 0, 0}, {0x68, 0xeb, 0xbc, 0x00}}},
{{{ -9, -13, 30}, 0, { 0, 0}, {0x8a, 0xe9, 0x26, 0x00}}},
{{{ -9, -28, 6}, 0, { 0, 0}, {0x96, 0xbf, 0xec, 0x00}}},
{{{ 5, -44, 5}, 0, { 0, 0}, {0xd3, 0x8a, 0xf7, 0x00}}},
{{{ -8, 14, 22}, 0, { 0, 0}, {0x99, 0x2e, 0x38, 0x00}}},
{{{ 6, -19, 44}, 0, { 0, 0}, {0xd5, 0xd4, 0x6e, 0x00}}},
{{{ -8, 15, -5}, 0, { 0, 0}, {0x91, 0x39, 0xed, 0x00}}},
{{{ 7, 25, 32}, 0, { 0, 0}, {0xd9, 0x5c, 0x4d, 0x00}}},
};
// 0x0400DB10
static const Vtx mario_right_arm_shared_dl_vertex_group3[] = {
{{{ -9, -10, -15}, 0, { 0, 0}, {0x8f, 0x01, 0xc7, 0x00}}},
{{{ -8, 15, -5}, 0, { 0, 0}, {0x91, 0x39, 0xed, 0x00}}},
{{{ 7, 27, -13}, 0, { 0, 0}, {0xda, 0x67, 0xc2, 0x00}}},
{{{ -9, -28, 6}, 0, { 0, 0}, {0x96, 0xbf, 0xec, 0x00}}},
{{{ 6, -15, -30}, 0, { 0, 0}, {0xd6, 0xe6, 0x8c, 0x00}}},
{{{ 58, 19, -9}, 0, { 0, 0}, {0x3e, 0x4a, 0xaf, 0x00}}},
{{{ 57, -14, -22}, 0, { 0, 0}, {0x33, 0xcf, 0x97, 0x00}}},
{{{ 58, 17, 27}, 0, { 0, 0}, {0x44, 0x59, 0x39, 0x00}}},
{{{ 57, -17, 37}, 0, { 0, 0}, {0x33, 0xe8, 0x71, 0x00}}},
{{{ 7, 25, 32}, 0, { 0, 0}, {0xd9, 0x5c, 0x4d, 0x00}}},
{{{ 57, -38, 6}, 0, { 0, 0}, {0x3e, 0x93, 0x07, 0x00}}},
{{{ 6, -19, 44}, 0, { 0, 0}, {0xd5, 0xd4, 0x6e, 0x00}}},
{{{ 5, -44, 5}, 0, { 0, 0}, {0xd3, 0x8a, 0xf7, 0x00}}},
{{{ 67, -12, -13}, 0, { 0, 0}, {0x68, 0xeb, 0xbc, 0x00}}},
{{{ 67, 11, -4}, 0, { 0, 0}, {0x78, 0x26, 0xf1, 0x00}}},
{{{ 66, -28, 6}, 0, { 0, 0}, {0x75, 0xd1, 0xfe, 0x00}}},
};
// 0x0400DC10
static const Vtx mario_right_arm_shared_dl_vertex_group4[] = {
{{{ -9, -10, -15}, 0, { 0, 0}, {0x8f, 0x01, 0xc7, 0x00}}},
{{{ -9, -28, 6}, 0, { 0, 0}, {0x96, 0xbf, 0xec, 0x00}}},
{{{ -9, -13, 30}, 0, { 0, 0}, {0x8a, 0xe9, 0x26, 0x00}}},
{{{ -8, 15, -5}, 0, { 0, 0}, {0x91, 0x39, 0xed, 0x00}}},
{{{ -8, 14, 22}, 0, { 0, 0}, {0x99, 0x2e, 0x38, 0x00}}},
{{{ 67, 11, -4}, 0, { 0, 0}, {0x78, 0x26, 0xf1, 0x00}}},
{{{ 67, -14, 28}, 0, { 0, 0}, {0x6f, 0xe8, 0x37, 0x00}}},
{{{ 66, -28, 6}, 0, { 0, 0}, {0x75, 0xd1, 0xfe, 0x00}}},
{{{ 67, 10, 21}, 0, { 0, 0}, {0x71, 0x2a, 0x25, 0x00}}},
};
// 0x0400DCA0 - 0x0400DDE8
const Gfx mario_right_arm_shared_dl[] = {
gsSPVertex(mario_right_arm_shared_dl_vertex_group1, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 1, 0x0),
gsSP2Triangles( 5, 6, 4, 0x0, 7, 8, 6, 0x0),
gsSP2Triangles( 9, 2, 8, 0x0, 1, 10, 2, 0x0),
gsSP2Triangles( 2, 11, 8, 0x0, 8, 12, 6, 0x0),
gsSP2Triangles( 6, 13, 4, 0x0, 4, 14, 1, 0x0),
gsSP2Triangles( 9, 15, 0, 0x0, 0, 15, 3, 0x0),
gsSPVertex(mario_right_arm_shared_dl_vertex_group2, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 1, 3, 0x0),
gsSP2Triangles( 3, 4, 5, 0x0, 3, 6, 4, 0x0),
gsSP2Triangles( 1, 6, 3, 0x0, 0, 7, 1, 0x0),
gsSP2Triangles( 8, 7, 0, 0x0, 5, 4, 8, 0x0),
gsSP2Triangles( 9, 10, 11, 0x0, 12, 9, 13, 0x0),
gsSP1Triangle(14, 12, 15, 0x0),
gsSPVertex(mario_right_arm_shared_dl_vertex_group3, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 0, 4, 0x0),
gsSP2Triangles( 5, 6, 4, 0x0, 7, 5, 2, 0x0),
gsSP2Triangles( 8, 7, 9, 0x0, 10, 8, 11, 0x0),
gsSP2Triangles( 6, 10, 12, 0x0, 13, 14, 15, 0x0),
gsSPVertex(mario_right_arm_shared_dl_vertex_group4, 9, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 3, 0, 0x0),
gsSP2Triangles( 2, 4, 3, 0x0, 5, 6, 7, 0x0),
gsSP1Triangle( 5, 8, 6, 0x0),
gsSPEndDisplayList(),
};
// 0x0400DDE8 - 0x0400DE08
const Gfx mario_right_arm[] = {
gsSPLight(&mario_red_lights_group.l, 1),
gsSPLight(&mario_red_lights_group.a, 2),
gsSPDisplayList(mario_right_arm_shared_dl),
gsSPEndDisplayList(),
};
// 0x0400DE08
static const Vtx mario_right_forearm_shared_dl_vertex[] = {
{{{ 47, -15, -19}, 0, { 0, 0}, {0x41, 0xcf, 0x9f, 0x00}}},
{{{ -3, -39, 6}, 0, { 0, 0}, {0xd4, 0x8a, 0xf8, 0x00}}},
{{{ -2, -15, -23}, 0, { 0, 0}, {0xd7, 0xe5, 0x8c, 0x00}}},
{{{ 46, -36, 6}, 0, { 0, 0}, {0x3f, 0x94, 0x0f, 0x00}}},
{{{ -2, -18, 38}, 0, { 0, 0}, {0xd6, 0xd5, 0x6f, 0x00}}},
{{{ 47, -17, 34}, 0, { 0, 0}, {0x42, 0xec, 0x6a, 0x00}}},
{{{ -1, 18, 28}, 0, { 0, 0}, {0xdb, 0x5d, 0x4d, 0x00}}},
{{{ 48, 13, 25}, 0, { 0, 0}, {0x45, 0x5d, 0x32, 0x00}}},
{{{ -1, 20, -9}, 0, { 0, 0}, {0xdb, 0x67, 0xc1, 0x00}}},
{{{ 48, 15, -7}, 0, { 0, 0}, {0x45, 0x4c, 0xb6, 0x00}}},
{{{ -14, -28, 6}, 0, { 0, 0}, {0x90, 0xc9, 0xef, 0x00}}},
{{{ -14, -12, -13}, 0, { 0, 0}, {0x91, 0x01, 0xc3, 0x00}}},
{{{ -13, 12, -4}, 0, { 0, 0}, {0x9e, 0x4b, 0xe7, 0x00}}},
{{{ -13, 10, 21}, 0, { 0, 0}, {0x8d, 0x22, 0x28, 0x00}}},
{{{ -14, -14, 28}, 0, { 0, 0}, {0x9a, 0xd8, 0x3f, 0x00}}},
{{{ 59, -8, 7}, 0, { 0, 0}, {0x7f, 0xfd, 0x00, 0x00}}},
};
// 0x0400DF08 - 0x0400DFF8
const Gfx mario_right_forearm_shared_dl[] = {
gsSPVertex(mario_right_forearm_shared_dl_vertex, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 1, 0x0),
gsSP2Triangles( 5, 6, 4, 0x0, 7, 8, 6, 0x0),
gsSP2Triangles( 9, 2, 8, 0x0, 1, 10, 2, 0x0),
gsSP2Triangles( 2, 11, 8, 0x0, 8, 12, 6, 0x0),
gsSP2Triangles( 6, 13, 4, 0x0, 4, 14, 1, 0x0),
gsSP2Triangles( 9, 15, 0, 0x0, 0, 15, 3, 0x0),
gsSP2Triangles( 3, 15, 5, 0x0, 5, 15, 7, 0x0),
gsSP2Triangles( 7, 15, 9, 0x0, 14, 10, 1, 0x0),
gsSP2Triangles(13, 14, 4, 0x0, 12, 13, 6, 0x0),
gsSP2Triangles(11, 12, 8, 0x0, 10, 11, 2, 0x0),
gsSP2Triangles( 9, 0, 2, 0x0, 7, 9, 8, 0x0),
gsSP2Triangles( 5, 7, 6, 0x0, 3, 5, 4, 0x0),
gsSP2Triangles( 0, 3, 1, 0x0, 11, 13, 12, 0x0),
gsSP2Triangles(11, 10, 13, 0x0, 10, 14, 13, 0x0),
gsSPEndDisplayList(),
};
// 0x0400DFF8
static const Vtx mario_right_hand_closed_dl_vertex_group1[] = {
{{{ 35, 9, -37}, 0, { 0, 0}, {0xe5, 0xf5, 0x85, 0x00}}},
{{{ 55, -44, -4}, 0, { 0, 0}, {0x00, 0x86, 0xdf, 0x00}}},
{{{ 31, -40, -1}, 0, { 0, 0}, {0x43, 0xa4, 0xc9, 0x00}}},
{{{ 10, 60, -4}, 0, { 0, 0}, {0xac, 0x5a, 0xe5, 0x00}}},
{{{ -2, 41, -1}, 0, { 0, 0}, {0xed, 0x70, 0xc9, 0x00}}},
{{{ 24, -57, -4}, 0, { 0, 0}, {0x73, 0xd4, 0xe6, 0x00}}},
{{{ 4, -3, -33}, 0, { 0, 0}, {0x48, 0x1e, 0x9d, 0x00}}},
{{{ -19, 47, -4}, 0, { 0, 0}, {0x30, 0x72, 0xe5, 0x00}}},
{{{ -14, 26, 41}, 0, { 0, 0}, {0xed, 0x3d, 0x6d, 0x00}}},
{{{ 13, -38, 41}, 0, { 0, 0}, {0x15, 0xb3, 0x61, 0x00}}},
{{{ 23, -26, 35}, 0, { 0, 0}, {0x04, 0xc3, 0x6e, 0x00}}},
{{{ 24, -57, -4}, 0, { 0, 0}, {0xa2, 0xaf, 0xe7, 0x00}}},
{{{ -16, -12, 6}, 0, { 0, 0}, {0x8c, 0xcf, 0xf8, 0x00}}},
{{{ 4, -3, -33}, 0, { 0, 0}, {0x9b, 0xd5, 0xc2, 0x00}}},
{{{ -19, 47, -4}, 0, { 0, 0}, {0x85, 0xf5, 0xe7, 0x00}}},
{{{ 58, 81, 0}, 0, { 0, 0}, {0x14, 0x7b, 0xe9, 0x00}}},
};
// 0x0400E0F8
static const Vtx mario_right_hand_closed_dl_vertex_group2[] = {
{{{ 35, 9, -37}, 0, { 0, 0}, {0xe5, 0xf5, 0x85, 0x00}}},
{{{ 104, -26, 1}, 0, { 0, 0}, {0x68, 0xc5, 0xd7, 0x00}}},
{{{ 55, -44, -4}, 0, { 0, 0}, {0x00, 0x86, 0xdf, 0x00}}},
{{{ 75, -33, 66}, 0, { 0, 0}, {0x08, 0xaf, 0x60, 0x00}}},
{{{ 96, -8, 52}, 0, { 0, 0}, {0x60, 0x06, 0x51, 0x00}}},
{{{ 57, 10, 66}, 0, { 0, 0}, {0xfd, 0x1c, 0x7b, 0x00}}},
{{{ 58, 81, 0}, 0, { 0, 0}, {0x14, 0x7b, 0xe9, 0x00}}},
{{{ 97, 39, 24}, 0, { 0, 0}, {0x6b, 0x3a, 0x21, 0x00}}},
{{{ 86, 30, -33}, 0, { 0, 0}, {0x4f, 0x22, 0xa4, 0x00}}},
{{{ 86, 15, 52}, 0, { 0, 0}, {0x40, 0x30, 0x61, 0x00}}},
{{{ 54, 54, 44}, 0, { 0, 0}, {0x20, 0x51, 0x5c, 0x00}}},
{{{ 29, 62, 34}, 0, { 0, 0}, {0xce, 0x4c, 0x57, 0x00}}},
{{{ 29, 6, 49}, 0, { 0, 0}, {0xc2, 0xfa, 0x6e, 0x00}}},
{{{ 10, 60, -4}, 0, { 0, 0}, {0xac, 0x5a, 0xe5, 0x00}}},
};
// 0x0400E1D8
static const Vtx mario_right_hand_closed_dl_vertex_group3[] = {
{{{ 31, -40, -1}, 0, { 0, 0}, {0x43, 0xa4, 0xc9, 0x00}}},
{{{ 23, -26, 35}, 0, { 0, 0}, {0x04, 0xc3, 0x6e, 0x00}}},
{{{ 13, -38, 41}, 0, { 0, 0}, {0x15, 0xb3, 0x61, 0x00}}},
{{{ 1, 24, 35}, 0, { 0, 0}, {0xd2, 0x3c, 0x65, 0x00}}},
{{{ -14, 26, 41}, 0, { 0, 0}, {0xed, 0x3d, 0x6d, 0x00}}},
{{{ -2, 41, -1}, 0, { 0, 0}, {0xed, 0x70, 0xc9, 0x00}}},
{{{ 15, 0, -23}, 0, { 0, 0}, {0x04, 0x01, 0x82, 0x00}}},
{{{ 4, -3, -33}, 0, { 0, 0}, {0x48, 0x1e, 0x9d, 0x00}}},
{{{ 35, 9, -37}, 0, { 0, 0}, {0xe5, 0xf5, 0x85, 0x00}}},
{{{ 29, 6, 49}, 0, { 0, 0}, {0xc2, 0xfa, 0x6e, 0x00}}},
{{{ 55, -44, -4}, 0, { 0, 0}, {0x00, 0x86, 0xdf, 0x00}}},
{{{ 75, -33, 66}, 0, { 0, 0}, {0x08, 0xaf, 0x60, 0x00}}},
{{{ 57, 10, 66}, 0, { 0, 0}, {0xfd, 0x1c, 0x7b, 0x00}}},
{{{ 10, 60, -4}, 0, { 0, 0}, {0xac, 0x5a, 0xe5, 0x00}}},
{{{ 29, 62, 34}, 0, { 0, 0}, {0xce, 0x4c, 0x57, 0x00}}},
};
// 0x0400E2C8 - 0x0400E458
const Gfx mario_right_hand_closed_dl[] = {
gsSPVertex(mario_right_hand_closed_dl_vertex_group1, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 0, 4, 0x0),
gsSP2Triangles( 2, 5, 6, 0x0, 6, 7, 4, 0x0),
gsSP2Triangles( 4, 7, 8, 0x0, 8, 9, 10, 0x0),
gsSP2Triangles( 9, 5, 2, 0x0, 11, 12, 13, 0x0),
gsSP2Triangles(13, 12, 14, 0x0, 14, 12, 8, 0x0),
gsSP2Triangles( 8, 12, 9, 0x0, 9, 12, 11, 0x0),
gsSP1Triangle( 3, 15, 0, 0x0),
gsSPVertex(mario_right_hand_closed_dl_vertex_group2, 14, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 1, 3, 0x0),
gsSP2Triangles( 3, 4, 5, 0x0, 6, 7, 8, 0x0),
gsSP2Triangles( 8, 7, 1, 0x0, 1, 7, 4, 0x0),
gsSP2Triangles( 4, 7, 9, 0x0, 10, 7, 6, 0x0),
gsSP2Triangles( 9, 10, 5, 0x0, 10, 11, 5, 0x0),
gsSP2Triangles(11, 12, 5, 0x0, 1, 4, 3, 0x0),
gsSP2Triangles(11, 10, 6, 0x0, 6, 13, 11, 0x0),
gsSP2Triangles( 7, 10, 9, 0x0, 4, 9, 5, 0x0),
gsSP2Triangles( 0, 8, 1, 0x0, 6, 8, 0, 0x0),
gsSPVertex(mario_right_hand_closed_dl_vertex_group3, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 1, 3, 4, 0x0),
gsSP2Triangles( 4, 3, 5, 0x0, 5, 6, 7, 0x0),
gsSP2Triangles( 7, 6, 0, 0x0, 8, 6, 5, 0x0),
gsSP2Triangles( 9, 3, 1, 0x0, 0, 6, 8, 0x0),
gsSP2Triangles(10, 11, 1, 0x0, 11, 9, 1, 0x0),
gsSP2Triangles(11, 12, 9, 0x0, 1, 0, 10, 0x0),
gsSP2Triangles(13, 5, 3, 0x0, 3, 9, 14, 0x0),
gsSP1Triangle(14, 13, 3, 0x0),
gsSPEndDisplayList(),
};
// 0x0400E458 - 0x0400E478
const Gfx mario_right_hand_closed[] = {
gsSPLight(&mario_white_lights_group.l, 1),
gsSPLight(&mario_white_lights_group.a, 2),
gsSPDisplayList(mario_right_hand_closed_dl),
gsSPEndDisplayList(),
};
// 0x0400E478 - 0x0400E4A8
const Gfx mario_metal_right_hand_closed[] = {
gsSPDisplayList(mario_right_hand_closed_dl),
gsDPPipeSync(),
gsSPClearGeometryMode(G_TEXTURE_GEN),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF),
gsSPEndDisplayList(),
};
// 0x0400E4A8
static const Vtx mario_left_thigh_dl_vertex_group1[] = {
{{{ 1, -44, 8}, 0, { 0, 0}, {0xab, 0xa2, 0x00, 0x00}}},
{{{ -15, 0, 7}, 0, { 0, 0}, {0x82, 0xf7, 0xff, 0x00}}},
{{{ 0, -13, -32}, 0, { 0, 0}, {0x9f, 0xe1, 0xb5, 0x00}}},
{{{ -4, 37, -17}, 0, { 0, 0}, {0x9e, 0x30, 0xc0, 0x00}}},
{{{ -5, 37, 31}, 0, { 0, 0}, {0xa0, 0x3f, 0x34, 0x00}}},
{{{ -1, -12, 47}, 0, { 0, 0}, {0x9e, 0xe3, 0x49, 0x00}}},
{{{ 95, -5, 48}, 0, { 0, 0}, {0x4e, 0xe9, 0x60, 0x00}}},
{{{ 116, 10, 8}, 0, { 0, 0}, {0x7e, 0x09, 0x01, 0x00}}},
{{{ 91, 45, 32}, 0, { 0, 0}, {0x3c, 0x4e, 0x4f, 0x00}}},
{{{ 92, 45, -16}, 0, { 0, 0}, {0x35, 0x5d, 0xbd, 0x00}}},
{{{ 96, -5, -31}, 0, { 0, 0}, {0x50, 0xe8, 0xa1, 0x00}}},
{{{ 98, -37, 8}, 0, { 0, 0}, {0x46, 0x97, 0x01, 0x00}}},
{{{ 19, -15, -42}, 0, { 0, 0}, {0xec, 0xd9, 0x8a, 0x00}}},
{{{ 14, 48, -23}, 0, { 0, 0}, {0xd7, 0x67, 0xc5, 0x00}}},
{{{ 13, 48, 38}, 0, { 0, 0}, {0xe7, 0x6d, 0x3a, 0x00}}},
{{{ 18, -15, 58}, 0, { 0, 0}, {0xea, 0xda, 0x76, 0x00}}},
};
// 0x0400E5A8
static const Vtx mario_left_thigh_dl_vertex_group2[] = {
{{{ 18, -15, 58}, 0, { 0, 0}, {0xea, 0xda, 0x76, 0x00}}},
{{{ 1, -44, 8}, 0, { 0, 0}, {0xab, 0xa2, 0x00, 0x00}}},
{{{ 21, -54, 8}, 0, { 0, 0}, {0xf0, 0x83, 0x00, 0x00}}},
{{{ 19, -15, -42}, 0, { 0, 0}, {0xec, 0xd9, 0x8a, 0x00}}},
{{{ -1, -12, 47}, 0, { 0, 0}, {0x9e, 0xe3, 0x49, 0x00}}},
{{{ -15, 0, 7}, 0, { 0, 0}, {0x82, 0xf7, 0xff, 0x00}}},
{{{ 98, -37, 8}, 0, { 0, 0}, {0x46, 0x97, 0x01, 0x00}}},
{{{ 13, 48, 38}, 0, { 0, 0}, {0xe7, 0x6d, 0x3a, 0x00}}},
{{{ 91, 45, 32}, 0, { 0, 0}, {0x3c, 0x4e, 0x4f, 0x00}}},
{{{ 14, 48, -23}, 0, { 0, 0}, {0xd7, 0x67, 0xc5, 0x00}}},
{{{ 92, 45, -16}, 0, { 0, 0}, {0x35, 0x5d, 0xbd, 0x00}}},
{{{ 96, -5, -31}, 0, { 0, 0}, {0x50, 0xe8, 0xa1, 0x00}}},
{{{ 95, -5, 48}, 0, { 0, 0}, {0x4e, 0xe9, 0x60, 0x00}}},
{{{ 0, -13, -32}, 0, { 0, 0}, {0x9f, 0xe1, 0xb5, 0x00}}},
{{{ -5, 37, 31}, 0, { 0, 0}, {0xa0, 0x3f, 0x34, 0x00}}},
{{{ -4, 37, -17}, 0, { 0, 0}, {0x9e, 0x30, 0xc0, 0x00}}},
};
// 0x0400E6A8 - 0x0400E7B0
const Gfx mario_left_thigh_dl[] = {
gsSPVertex(mario_left_thigh_dl_vertex_group1, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 1, 3, 0x0),
gsSP2Triangles( 3, 1, 4, 0x0, 4, 1, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 8, 7, 9, 0x0),
gsSP2Triangles( 9, 7, 10, 0x0, 10, 7, 11, 0x0),
gsSP2Triangles(11, 7, 6, 0x0, 12, 3, 13, 0x0),
gsSP2Triangles(13, 4, 14, 0x0, 14, 4, 15, 0x0),
gsSPVertex(mario_left_thigh_dl_vertex_group2, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 1, 3, 0x0),
gsSP2Triangles( 4, 5, 1, 0x0, 0, 2, 6, 0x0),
gsSP2Triangles( 7, 0, 8, 0x0, 9, 7, 10, 0x0),
gsSP2Triangles( 3, 9, 10, 0x0, 2, 3, 6, 0x0),
gsSP2Triangles( 3, 11, 6, 0x0, 10, 11, 3, 0x0),
gsSP2Triangles( 7, 8, 10, 0x0, 0, 12, 8, 0x0),
gsSP2Triangles( 6, 12, 0, 0x0, 1, 13, 3, 0x0),
gsSP2Triangles( 0, 4, 1, 0x0, 14, 4, 0, 0x0),
gsSP2Triangles( 9, 15, 14, 0x0, 3, 13, 15, 0x0),
gsSPEndDisplayList(),
};
// 0x0400E7B0 - 0x0400E7E0
const Gfx mario_left_thigh[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPLight(&mario_blue_lights_group.l, 1),
gsSPLight(&mario_blue_lights_group.a, 2),
gsSPDisplayList(mario_left_thigh_dl),
gsSPEndDisplayList(),
};
// 0x0400E7E0 - 0x0400E858
const Gfx mario_metal_left_thigh[] = {
gsDPPipeSync(),
gsSPSetGeometryMode(G_TEXTURE_GEN),
gsDPSetCombineMode(G_CC_DECALFADE, G_CC_DECALFADE),
gsDPLoadTextureBlock(mario_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),
gsSPLight(&mario_white_lights_group.l, 1),
gsSPLight(&mario_white_lights_group.a, 2),
gsSPDisplayList(mario_left_thigh_dl),
gsSPEndDisplayList(),
};
// 0x0400E858
static const Vtx mario_left_leg_shared_dl_vertex[] = {
{{{ 4, -37, 9}, 0, { 0, 0}, {0xc1, 0x93, 0x00, 0x00}}},
{{{ 64, -46, 9}, 0, { 0, 0}, {0x4b, 0x9a, 0x01, 0x00}}},
{{{ 65, -11, 54}, 0, { 0, 0}, {0x2d, 0xdb, 0x70, 0x00}}},
{{{ 8, 44, 33}, 0, { 0, 0}, {0xcc, 0x5e, 0x43, 0x00}}},
{{{ 68, 45, 37}, 0, { 0, 0}, {0x52, 0x4b, 0x3c, 0x00}}},
{{{ 69, 45, -18}, 0, { 0, 0}, {0x42, 0x61, 0xd1, 0x00}}},
{{{ 9, 44, -16}, 0, { 0, 0}, {0xc4, 0x4d, 0xaf, 0x00}}},
{{{ 66, -11, -36}, 0, { 0, 0}, {0x2e, 0xda, 0x91, 0x00}}},
{{{ 6, -6, -31}, 0, { 0, 0}, {0xb4, 0xe5, 0x9f, 0x00}}},
{{{ 6, -6, 49}, 0, { 0, 0}, {0xb3, 0xe7, 0x60, 0x00}}},
{{{ -14, 8, 8}, 0, { 0, 0}, {0x82, 0x06, 0xff, 0x00}}},
{{{ 81, 3, 9}, 0, { 0, 0}, {0x7e, 0xfa, 0x01, 0x00}}},
};
// 0x0400E918 - 0x0400E9C8
const Gfx mario_left_leg_shared_dl[] = {
gsSPVertex(mario_left_leg_shared_dl_vertex, 12, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 2, 4, 0x0),
gsSP2Triangles( 3, 4, 5, 0x0, 6, 5, 7, 0x0),
gsSP2Triangles( 0, 7, 1, 0x0, 0, 8, 7, 0x0),
gsSP2Triangles( 7, 8, 6, 0x0, 5, 6, 3, 0x0),
gsSP2Triangles( 3, 9, 2, 0x0, 2, 9, 0, 0x0),
gsSP2Triangles( 3, 10, 9, 0x0, 5, 11, 7, 0x0),
gsSP2Triangles( 7, 11, 1, 0x0, 1, 11, 2, 0x0),
gsSP2Triangles( 2, 11, 4, 0x0, 4, 11, 5, 0x0),
gsSP2Triangles( 9, 10, 0, 0x0, 0, 10, 8, 0x0),
gsSP2Triangles( 8, 10, 6, 0x0, 6, 10, 3, 0x0),
gsSPEndDisplayList(),
};
// 0x0400E9C8
static const Vtx mario_left_foot_shared_dl_vertex_group1[] = {
{{{ 110, 9, 35}, 0, { 0, 0}, {0x2b, 0x77, 0xff, 0x00}}},
{{{ 110, 8, -20}, 0, { 0, 0}, {0x2b, 0x77, 0xff, 0x00}}},
{{{ 76, 20, -41}, 0, { 0, 0}, {0x2b, 0x77, 0xff, 0x00}}},
{{{ 78, 21, 61}, 0, { 0, 0}, {0x2b, 0x77, 0xff, 0x00}}},
{{{ -12, 53, -32}, 0, { 0, 0}, {0x2b, 0x77, 0xff, 0x00}}},
{{{ -11, 54, 53}, 0, { 0, 0}, {0x2b, 0x77, 0xff, 0x00}}},
{{{ -39, 64, -8}, 0, { 0, 0}, {0x2b, 0x77, 0xff, 0x00}}},
{{{ -41, 65, 26}, 0, { 0, 0}, {0x2b, 0x77, 0xff, 0x00}}},
{{{ 43, -18, 54}, 0, { 0, 0}, {0x07, 0xb3, 0x64, 0x00}}},
{{{ 78, 21, 61}, 0, { 0, 0}, {0x15, 0xdb, 0x77, 0x00}}},
{{{ -11, 54, 53}, 0, { 0, 0}, {0xd9, 0x00, 0x78, 0x00}}},
{{{ 44, -12, -33}, 0, { 0, 0}, {0x01, 0xb7, 0x99, 0x00}}},
{{{ -35, 11, -21}, 0, { 0, 0}, {0xb5, 0xd2, 0xa5, 0x00}}},
{{{ -12, 53, -32}, 0, { 0, 0}, {0xd7, 0xfd, 0x89, 0x00}}},
{{{ -34, 12, 44}, 0, { 0, 0}, {0xb2, 0xd2, 0x58, 0x00}}},
{{{ 76, 20, -41}, 0, { 0, 0}, {0x0c, 0xd8, 0x89, 0x00}}},
};
// 0x0400EAC8
static const Vtx mario_left_foot_shared_dl_vertex_group2[] = {
{{{ 44, -12, -33}, 0, { 0, 0}, {0x01, 0xb7, 0x99, 0x00}}},
{{{ 76, 20, -41}, 0, { 0, 0}, {0x0c, 0xd8, 0x89, 0x00}}},
{{{ 110, 8, -20}, 0, { 0, 0}, {0x44, 0xad, 0xbe, 0x00}}},
{{{ 80, -31, 7}, 0, { 0, 0}, {0x34, 0x8d, 0xfb, 0x00}}},
{{{ 110, 9, 35}, 0, { 0, 0}, {0x4c, 0xaf, 0x3c, 0x00}}},
{{{ 78, 21, 61}, 0, { 0, 0}, {0x15, 0xdb, 0x77, 0x00}}},
{{{ 43, -18, 54}, 0, { 0, 0}, {0x07, 0xb3, 0x64, 0x00}}},
{{{ -34, 12, 44}, 0, { 0, 0}, {0xb2, 0xd2, 0x58, 0x00}}},
{{{ -11, 54, 53}, 0, { 0, 0}, {0xd9, 0x00, 0x78, 0x00}}},
{{{ -41, 65, 26}, 0, { 0, 0}, {0x90, 0x17, 0x35, 0x00}}},
{{{ -39, 64, -8}, 0, { 0, 0}, {0x93, 0x16, 0xc4, 0x00}}},
{{{ -35, 11, -21}, 0, { 0, 0}, {0xb5, 0xd2, 0xa5, 0x00}}},
{{{ -54, 15, 8}, 0, { 0, 0}, {0x88, 0xd8, 0xfd, 0x00}}},
{{{ -12, 53, -32}, 0, { 0, 0}, {0xd7, 0xfd, 0x89, 0x00}}},
{{{ 27, -35, 11}, 0, { 0, 0}, {0xdb, 0x87, 0xfc, 0x00}}},
};
// 0x0400EBB8 - 0x0400ECA0
const Gfx mario_left_foot_shared_dl[] = {
gsSPVertex(mario_left_foot_shared_dl_vertex_group1, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 0, 2, 0x0),
gsSP2Triangles( 3, 2, 4, 0x0, 5, 3, 4, 0x0),
gsSP2Triangles( 5, 4, 6, 0x0, 5, 6, 7, 0x0),
gsSP2Triangles( 8, 9, 10, 0x0, 11, 12, 13, 0x0),
gsSP2Triangles(14, 8, 10, 0x0, 11, 13, 15, 0x0),
gsSPVertex(mario_left_foot_shared_dl_vertex_group2, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 2, 4, 0x0),
gsSP2Triangles( 2, 3, 0, 0x0, 4, 5, 6, 0x0),
gsSP2Triangles( 6, 3, 4, 0x0, 7, 8, 9, 0x0),
gsSP2Triangles(10, 11, 12, 0x0, 10, 13, 11, 0x0),
gsSP2Triangles(12, 9, 10, 0x0, 9, 12, 7, 0x0),
gsSP2Triangles(14, 0, 3, 0x0, 11, 0, 14, 0x0),
gsSP2Triangles( 3, 6, 14, 0x0, 14, 6, 7, 0x0),
gsSP2Triangles(14, 7, 12, 0x0, 12, 11, 14, 0x0),
gsSPEndDisplayList(),
};
// 0x0400ECA0 - 0x0400ECC0
const Gfx mario_left_foot[] = {
gsSPLight(&mario_brown1_lights_group.l, 1),
gsSPLight(&mario_brown1_lights_group.a, 2),
gsSPDisplayList(mario_left_foot_shared_dl),
gsSPEndDisplayList(),
};
// 0x0400ECC0
static const Vtx mario_right_thigh_shared_dl_vertex_group1[] = {
{{{ 98, -35, -10}, 0, { 0, 0}, {0x47, 0x97, 0xfc, 0x00}}},
{{{ 19, -16, 41}, 0, { 0, 0}, {0xee, 0xd6, 0x76, 0x00}}},
{{{ 22, -54, -9}, 0, { 0, 0}, {0xf2, 0x82, 0xfd, 0x00}}},
{{{ 91, 46, 16}, 0, { 0, 0}, {0x35, 0x5c, 0x44, 0x00}}},
{{{ 13, 48, 24}, 0, { 0, 0}, {0xd6, 0x66, 0x3e, 0x00}}},
{{{ 12, 49, -37}, 0, { 0, 0}, {0xe5, 0x6e, 0xc9, 0x00}}},
{{{ 90, 47, -32}, 0, { 0, 0}, {0x3b, 0x50, 0xb2, 0x00}}},
{{{ 18, -13, -58}, 0, { 0, 0}, {0xea, 0xdc, 0x89, 0x00}}},
{{{ 1, -44, -9}, 0, { 0, 0}, {0xad, 0xa1, 0xff, 0x00}}},
{{{ -15, 0, -7}, 0, { 0, 0}, {0x82, 0xf5, 0x02, 0x00}}},
{{{ -1, -11, -47}, 0, { 0, 0}, {0x9d, 0xe3, 0xb7, 0x00}}},
{{{ -6, 38, -31}, 0, { 0, 0}, {0x9e, 0x3f, 0xcf, 0x00}}},
{{{ -5, 36, 18}, 0, { 0, 0}, {0x9e, 0x2d, 0x42, 0x00}}},
{{{ 95, -3, -49}, 0, { 0, 0}, {0x4d, 0xec, 0x9e, 0x00}}},
{{{ 116, 11, -9}, 0, { 0, 0}, {0x7e, 0x0b, 0xfe, 0x00}}},
{{{ 96, -5, 30}, 0, { 0, 0}, {0x51, 0xe7, 0x5d, 0x00}}},
};
// 0x0400EDC0
static const Vtx mario_right_thigh_shared_dl_vertex_group2[] = {
{{{ -5, 36, 18}, 0, { 0, 0}, {0x9e, 0x2d, 0x42, 0x00}}},
{{{ -15, 0, -7}, 0, { 0, 0}, {0x82, 0xf5, 0x02, 0x00}}},
{{{ 0, -14, 31}, 0, { 0, 0}, {0xa0, 0xdf, 0x4b, 0x00}}},
{{{ 1, -44, -9}, 0, { 0, 0}, {0xad, 0xa1, 0xff, 0x00}}},
{{{ 19, -16, 41}, 0, { 0, 0}, {0xee, 0xd6, 0x76, 0x00}}},
{{{ -6, 38, -31}, 0, { 0, 0}, {0x9e, 0x3f, 0xcf, 0x00}}},
{{{ 13, 48, 24}, 0, { 0, 0}, {0xd6, 0x66, 0x3e, 0x00}}},
{{{ 18, -13, -58}, 0, { 0, 0}, {0xea, 0xdc, 0x89, 0x00}}},
{{{ -1, -11, -47}, 0, { 0, 0}, {0x9d, 0xe3, 0xb7, 0x00}}},
{{{ 95, -3, -49}, 0, { 0, 0}, {0x4d, 0xec, 0x9e, 0x00}}},
{{{ 98, -35, -10}, 0, { 0, 0}, {0x47, 0x97, 0xfc, 0x00}}},
{{{ 90, 47, -32}, 0, { 0, 0}, {0x3b, 0x50, 0xb2, 0x00}}},
{{{ 91, 46, 16}, 0, { 0, 0}, {0x35, 0x5c, 0x44, 0x00}}},
{{{ 12, 49, -37}, 0, { 0, 0}, {0xe5, 0x6e, 0xc9, 0x00}}},
{{{ 96, -5, 30}, 0, { 0, 0}, {0x51, 0xe7, 0x5d, 0x00}}},
};
// 0x0400EEB0 - 0x0400EFB8
const Gfx mario_right_thigh_shared_dl[] = {
gsSPVertex(mario_right_thigh_shared_dl_vertex_group1, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 1, 0x0),
gsSP2Triangles( 3, 5, 4, 0x0, 6, 7, 5, 0x0),
gsSP2Triangles( 0, 2, 7, 0x0, 8, 9, 10, 0x0),
gsSP2Triangles( 1, 8, 2, 0x0, 2, 8, 7, 0x0),
gsSP2Triangles( 7, 11, 5, 0x0, 5, 11, 4, 0x0),
gsSP2Triangles( 4, 12, 1, 0x0, 13, 14, 0, 0x0),
gsSP2Triangles( 0, 14, 15, 0x0, 15, 14, 3, 0x0),
gsSP2Triangles( 3, 14, 6, 0x0, 6, 14, 13, 0x0),
gsSP2Triangles(10, 9, 11, 0x0, 11, 9, 12, 0x0),
gsSPVertex(mario_right_thigh_shared_dl_vertex_group2, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 1, 3, 0x0),
gsSP2Triangles( 0, 2, 4, 0x0, 5, 0, 6, 0x0),
gsSP2Triangles( 7, 8, 5, 0x0, 3, 8, 7, 0x0),
gsSP2Triangles( 4, 2, 3, 0x0, 7, 9, 10, 0x0),
gsSP2Triangles(11, 9, 7, 0x0, 12, 11, 13, 0x0),
gsSP2Triangles( 4, 14, 12, 0x0, 10, 14, 4, 0x0),
gsSPEndDisplayList(),
};
// 0x0400EFB8 - 0x0400EFD8
const Gfx mario_right_thigh[] = {
gsSPLight(&mario_blue_lights_group.l, 1),
gsSPLight(&mario_blue_lights_group.a, 2),
gsSPDisplayList(mario_right_thigh_shared_dl),
gsSPEndDisplayList(),
};
// 0x0400EFD8
static const Vtx mario_right_leg_shared_dl_vertex_group1[] = {
{{{ 63, -45, -12}, 0, { 0, 0}, {0xf2, 0x9b, 0x4a, 0x00}}},
{{{ 66, -11, 34}, 0, { 0, 0}, {0xf2, 0x9b, 0x4a, 0x00}}},
{{{ 4, -36, -10}, 0, { 0, 0}, {0xc0, 0x93, 0xfe, 0x00}}},
{{{ 66, -11, 34}, 0, { 0, 0}, {0xfb, 0x22, 0x7a, 0x00}}},
{{{ 69, 45, 18}, 0, { 0, 0}, {0xfc, 0x22, 0x7a, 0x00}}},
{{{ 9, 44, 16}, 0, { 0, 0}, {0xc6, 0x4b, 0x53, 0x00}}},
{{{ 69, 45, 18}, 0, { 0, 0}, {0xff, 0x7f, 0x03, 0x00}}},
{{{ 69, 46, -37}, 0, { 0, 0}, {0xff, 0x7f, 0x03, 0x00}}},
{{{ 9, 46, -33}, 0, { 0, 0}, {0xcd, 0x60, 0xc0, 0x00}}},
{{{ 69, 46, -37}, 0, { 0, 0}, {0xf7, 0x27, 0x88, 0x00}}},
{{{ 65, -9, -56}, 0, { 0, 0}, {0xf8, 0x28, 0x88, 0x00}}},
{{{ 65, -9, -56}, 0, { 0, 0}, {0xef, 0xa0, 0xb0, 0x00}}},
{{{ 63, -45, -12}, 0, { 0, 0}, {0xef, 0xa0, 0xb0, 0x00}}},
{{{ 6, -6, 30}, 0, { 0, 0}, {0xb4, 0xe4, 0x61, 0x00}}},
{{{ -13, 10, -9}, 0, { 0, 0}, {0x82, 0x08, 0x02, 0x00}}},
{{{ 5, -3, -50}, 0, { 0, 0}, {0xb2, 0xea, 0xa0, 0x00}}},
};
// 0x0400F0D8
static const Vtx mario_right_leg_shared_dl_vertex_group2[] = {
{{{ 65, -9, -56}, 0, { 0, 0}, {0x75, 0xee, 0xd5, 0x00}}},
{{{ 83, 4, -10}, 0, { 0, 0}, {0x7e, 0xf9, 0xfe, 0x00}}},
{{{ 63, -45, -12}, 0, { 0, 0}, {0x75, 0xd1, 0xfd, 0x00}}},
{{{ 66, -11, 34}, 0, { 0, 0}, {0x77, 0xec, 0x26, 0x00}}},
{{{ 69, 45, 18}, 0, { 0, 0}, {0x7a, 0x18, 0x17, 0x00}}},
{{{ 69, 46, -37}, 0, { 0, 0}, {0x79, 0x19, 0xe6, 0x00}}},
{{{ 4, -36, -10}, 0, { 0, 0}, {0xc0, 0x93, 0xfe, 0x00}}},
{{{ 5, -3, -50}, 0, { 0, 0}, {0xb2, 0xea, 0xa0, 0x00}}},
{{{ 65, -9, -56}, 0, { 0, 0}, {0xef, 0xa0, 0xb0, 0x00}}},
{{{ 65, -9, -56}, 0, { 0, 0}, {0xf8, 0x28, 0x88, 0x00}}},
{{{ 9, 46, -33}, 0, { 0, 0}, {0xcd, 0x60, 0xc0, 0x00}}},
{{{ 9, 44, 16}, 0, { 0, 0}, {0xc6, 0x4b, 0x53, 0x00}}},
{{{ 69, 45, 18}, 0, { 0, 0}, {0xff, 0x7f, 0x03, 0x00}}},
{{{ 6, -6, 30}, 0, { 0, 0}, {0xb4, 0xe4, 0x61, 0x00}}},
{{{ 66, -11, 34}, 0, { 0, 0}, {0xfb, 0x22, 0x7a, 0x00}}},
{{{ 66, -11, 34}, 0, { 0, 0}, {0xf2, 0x9b, 0x4a, 0x00}}},
};
// 0x0400F1D8 - 0x0400F290
const Gfx mario_right_leg_shared_dl[] = {
gsSPVertex(mario_right_leg_shared_dl_vertex_group1, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
gsSP2Triangles( 6, 7, 8, 0x0, 9, 10, 8, 0x0),
gsSP2Triangles(11, 12, 2, 0x0, 13, 14, 2, 0x0),
gsSP2Triangles( 2, 14, 15, 0x0, 15, 14, 8, 0x0),
gsSP2Triangles( 8, 14, 5, 0x0, 5, 14, 13, 0x0),
gsSPVertex(mario_right_leg_shared_dl_vertex_group2, 16, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 1, 3, 0x0),
gsSP2Triangles( 3, 1, 4, 0x0, 4, 1, 5, 0x0),
gsSP2Triangles( 5, 1, 0, 0x0, 6, 7, 8, 0x0),
gsSP2Triangles( 9, 7, 10, 0x0, 10, 11, 12, 0x0),
gsSP2Triangles(11, 13, 14, 0x0, 15, 13, 6, 0x0),
gsSPEndDisplayList(),
};
// 0x0400F290
static const Vtx mario_right_foot_dl_vertex_group1[] = {
{{{ 27, -35, -11}, 0, { 0, 0}, {0xdc, 0x87, 0x06, 0x00}}},
{{{ -36, 11, 19}, 0, { 0, 0}, {0xb5, 0xd3, 0x5b, 0x00}}},
{{{ -54, 14, -10}, 0, { 0, 0}, {0x89, 0xd6, 0x03, 0x00}}},
{{{ -34, 11, -46}, 0, { 0, 0}, {0xb4, 0xd0, 0xa8, 0x00}}},
{{{ 43, -18, -55}, 0, { 0, 0}, {0x0a, 0xb2, 0x9d, 0x00}}},
{{{ 80, -29, -7}, 0, { 0, 0}, {0x36, 0x8e, 0x08, 0x00}}},
{{{ 44, -11, 32}, 0, { 0, 0}, {0x01, 0xb8, 0x68, 0x00}}},
{{{ -42, 64, -29}, 0, { 0, 0}, {0x90, 0x14, 0xc9, 0x00}}},
{{{ -40, 63, 5}, 0, { 0, 0}, {0x92, 0x15, 0x3b, 0x00}}},
{{{ -14, 54, 29}, 0, { 0, 0}, {0xd5, 0xfe, 0x77, 0x00}}},
{{{ -11, 53, -56}, 0, { 0, 0}, {0xda, 0xfe, 0x87, 0x00}}},
{{{ 110, 11, -36}, 0, { 0, 0}, {0x4e, 0xb0, 0xc6, 0x00}}},
{{{ 78, 22, -61}, 0, { 0, 0}, {0x17, 0xd9, 0x8a, 0x00}}},
{{{ 109, 11, 20}, 0, { 0, 0}, {0x45, 0xaf, 0x44, 0x00}}},
{{{ 75, 23, 40}, 0, { 0, 0}, {0x0b, 0xda, 0x78, 0x00}}},
};
// 0x0400F380
static const Vtx mario_right_foot_dl_vertex_group2[] = {
{{{ -42, 64, -29}, 0, { 0, 0}, {0x29, 0x77, 0x00, 0x00}}},
{{{ -40, 63, 5}, 0, { 0, 0}, {0x29, 0x77, 0x00, 0x00}}},
{{{ -11, 53, -56}, 0, { 0, 0}, {0x29, 0x77, 0x00, 0x00}}},
{{{ -14, 54, 29}, 0, { 0, 0}, {0x29, 0x77, 0x00, 0x00}}},
{{{ 78, 22, -61}, 0, { 0, 0}, {0x29, 0x77, 0x00, 0x00}}},
{{{ 75, 23, 40}, 0, { 0, 0}, {0x29, 0x77, 0x00, 0x00}}},
{{{ 110, 11, -36}, 0, { 0, 0}, {0x29, 0x77, 0x00, 0x00}}},
{{{ 109, 11, 20}, 0, { 0, 0}, {0x29, 0x77, 0x00, 0x00}}},
};
// 0x0400F400 - 0x0400F4E8
const Gfx mario_right_foot_dl[] = {
gsSPVertex(mario_right_foot_dl_vertex_group1, 15, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 3, 0, 0x0),
gsSP2Triangles( 3, 4, 0, 0x0, 0, 4, 5, 0x0),
gsSP2Triangles( 0, 6, 1, 0x0, 5, 6, 0, 0x0),
gsSP2Triangles( 3, 2, 7, 0x0, 8, 7, 2, 0x0),
gsSP2Triangles( 1, 9, 8, 0x0, 2, 1, 8, 0x0),
gsSP2Triangles( 7, 10, 3, 0x0, 11, 5, 4, 0x0),
gsSP2Triangles( 4, 12, 11, 0x0, 6, 5, 13, 0x0),
gsSP2Triangles(11, 13, 5, 0x0, 13, 14, 6, 0x0),
gsSP2Triangles(14, 9, 6, 0x0, 10, 4, 3, 0x0),
gsSP2Triangles( 9, 1, 6, 0x0, 10, 12, 4, 0x0),
gsSPVertex(mario_right_foot_dl_vertex_group2, 8, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 1, 3, 2, 0x0),
gsSP2Triangles( 3, 4, 2, 0x0, 3, 5, 4, 0x0),
gsSP2Triangles( 5, 6, 4, 0x0, 5, 7, 6, 0x0),
gsSPEndDisplayList(),
};
// 0x0400F4E8 - 0x0400F528
const Gfx mario_right_foot[] = {
gsSPLight(&mario_brown1_lights_group.l, 1),
gsSPLight(&mario_brown1_lights_group.a, 2),
gsSPDisplayList(mario_right_foot_dl),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsDPSetEnvColor(255, 255, 255, 255),
gsDPSetAlphaCompare(G_AC_NONE),
gsSPEndDisplayList(),
};
// 0x0400F528 - 0x0400F568
const Gfx mario_metal_right_foot[] = {
gsSPDisplayList(mario_right_foot_dl),
gsDPPipeSync(),
gsSPClearGeometryMode(G_TEXTURE_GEN),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF),
gsDPSetEnvColor(255, 255, 255, 255),
gsDPSetAlphaCompare(G_AC_NONE),
gsSPEndDisplayList(),
};
// 0x0400F568
static const Vtx mario_yellow_button_dl_vertex[] = {
{{{ 9, 89, 41}, 0, { 180, 962}, {0x14, 0x78, 0x23, 0xff}}},
{{{ 3, 77, 62}, 0, { 682, 966}, {0x04, 0x6a, 0x44, 0xff}}},
{{{ 47, 75, 35}, 0, { 34, 106}, {0x39, 0x6a, 0x26, 0xff}}},
{{{ 28, 85, 30}, 0, { -60, 572}, {0x2c, 0x76, 0x08, 0xff}}},
{{{ 17, 66, 76}, 0, { 966, 590}, {0x19, 0x58, 0x57, 0xff}}},
{{{ 32, 62, 74}, 0, { 902, 252}, {0x29, 0x53, 0x56, 0xff}}},
{{{ 48, 64, 59}, 0, { 548, 0}, {0x4d, 0x51, 0x3a, 0xff}}},
{{{ 9, 89, -40}, 0, { 776, 920}, {0x10, 0x7b, 0xe7, 0xff}}},
{{{ 28, 85, -29}, 0, { 990, 512}, {0x2d, 0x75, 0xf2, 0xff}}},
{{{ 47, 75, -34}, 0, { 850, 72}, {0x3e, 0x6a, 0xe2, 0xff}}},
{{{ 3, 77, -61}, 0, { 264, 972}, {0x03, 0x6a, 0xbb, 0xff}}},
{{{ 48, 64, -58}, 0, { 312, 0}, {0x4d, 0x50, 0xc5, 0xff}}},
{{{ 32, 62, -73}, 0, { -24, 310}, {0x29, 0x52, 0xa9, 0xff}}},
{{{ 17, 66, -75}, 0, { -58, 642}, {0x17, 0x58, 0xa8, 0xff}}},
};
// 0x0400F648
static const Vtx mario_tshirt_shared_dl_vertex_group1[] = {
{{{ 47, 75, -34}, 0, { 0, 0}, {0x3e, 0x6a, 0xe2, 0xff}}},
{{{ 47, 75, 35}, 0, { 0, 0}, {0x39, 0x6a, 0x26, 0xff}}},
{{{ 82, 37, 27}, 0, { 0, 0}, {0x66, 0x48, 0x14, 0xff}}},
{{{ 82, 37, -26}, 0, { 0, 0}, {0x69, 0x43, 0xec, 0xff}}},
{{{ 100, 1, 24}, 0, { 0, 0}, {0x7a, 0x17, 0x16, 0xff}}},
{{{ 100, 1, -23}, 0, { 0, 0}, {0x7c, 0x09, 0xea, 0xff}}},
{{{ 6, -10, -92}, 0, { 0, 0}, {0x00, 0xeb, 0x83, 0xff}}},
{{{ 47, 3, -88}, 0, { 0, 0}, {0x30, 0x09, 0x8b, 0xff}}},
{{{ 46, -34, -83}, 0, { 0, 0}, {0x24, 0xc8, 0x95, 0xff}}},
{{{ 12, 33, -90}, 0, { 0, 0}, {0x11, 0x20, 0x87, 0xff}}},
{{{ 20, -61, -67}, 0, { 0, 0}, {0x0a, 0x9a, 0xb7, 0xff}}},
{{{ 66, -52, -50}, 0, { 0, 0}, {0x3b, 0x9a, 0xd3, 0xff}}},
{{{ 84, -29, -62}, 0, { 0, 0}, {0x5f, 0xde, 0xb4, 0xff}}},
{{{ 20, -61, 68}, 0, { 0, 0}, {0x0a, 0x99, 0x49, 0xff}}},
{{{ 66, -52, 51}, 0, { 0, 0}, {0x3b, 0x9a, 0x2d, 0xff}}},
{{{ 46, -34, 84}, 0, { 0, 0}, {0x24, 0xc8, 0x6b, 0xff}}},
};
// 0x0400F748
static const Vtx mario_tshirt_shared_dl_vertex_group2[] = {
{{{ 20, -61, 68}, 0, { 0, 0}, {0x0a, 0x99, 0x49, 0xff}}},
{{{ 46, -34, 84}, 0, { 0, 0}, {0x24, 0xc8, 0x6b, 0xff}}},
{{{ 6, -11, 93}, 0, { 0, 0}, {0x00, 0xea, 0x7c, 0xff}}},
{{{ 47, 3, 89}, 0, { 0, 0}, {0x30, 0x08, 0x75, 0xff}}},
{{{ 84, -29, 63}, 0, { 0, 0}, {0x5f, 0xde, 0x4c, 0xff}}},
{{{ 66, -52, 51}, 0, { 0, 0}, {0x3b, 0x9a, 0x2d, 0xff}}},
{{{ 13, 33, 91}, 0, { 0, 0}, {0x12, 0x20, 0x79, 0xff}}},
{{{ 100, 1, -23}, 0, { 0, 0}, {0x7c, 0x09, 0xea, 0xff}}},
{{{ 100, 1, 24}, 0, { 0, 0}, {0x7a, 0x17, 0x16, 0xff}}},
{{{ 93, -36, 26}, 0, { 0, 0}, {0x6b, 0xbf, 0x0d, 0xff}}},
{{{ 93, -36, -25}, 0, { 0, 0}, {0x66, 0xb7, 0xf0, 0xff}}},
{{{ 54, -63, 0}, 0, { 0, 0}, {0x30, 0x8b, 0x00, 0xff}}},
{{{ 80, 14, 62}, 0, { 0, 0}, {0x60, 0x28, 0x47, 0xff}}},
{{{ 44, 51, 75}, 0, { 0, 0}, {0x3c, 0x34, 0x62, 0xff}}},
};
// 0x0400F828
static const Vtx mario_tshirt_shared_dl_vertex_group3[] = {
{{{ 80, 14, -61}, 0, { 0, 0}, {0x60, 0x28, 0xb8, 0xff}}},
{{{ 47, 3, -88}, 0, { 0, 0}, {0x30, 0x09, 0x8b, 0xff}}},
{{{ 43, 51, -74}, 0, { 0, 0}, {0x3c, 0x32, 0x9d, 0xff}}},
{{{ 84, -29, -62}, 0, { 0, 0}, {0x5f, 0xde, 0xb4, 0xff}}},
{{{ 12, 33, -90}, 0, { 0, 0}, {0x11, 0x20, 0x87, 0xff}}},
};
// 0x0400F878
static const Vtx mario_pants_overalls_shared_dl_vertex_group1[] = {
{{{ 47, 75, -34}, 0, { 0, 0}, {0x3e, 0x6a, 0xe2, 0xff}}},
{{{ 28, 85, 30}, 0, { 0, 0}, {0x2c, 0x76, 0x08, 0xff}}},
{{{ 47, 75, 35}, 0, { 0, 0}, {0x39, 0x6a, 0x26, 0xff}}},
{{{ 28, 85, -29}, 0, { 0, 0}, {0x2d, 0x75, 0xf2, 0xff}}},
{{{ 9, 89, 41}, 0, { 0, 0}, {0x14, 0x78, 0x23, 0xff}}},
{{{ 9, 89, -40}, 0, { 0, 0}, {0x10, 0x7b, 0xe7, 0xff}}},
{{{ -15, 88, 35}, 0, { 0, 0}, {0xec, 0x7a, 0x1c, 0xff}}},
{{{ -15, 87, -35}, 0, { 0, 0}, {0xea, 0x76, 0xda, 0xff}}},
{{{ 3, 77, -61}, 0, { 0, 0}, {0x03, 0x6a, 0xbb, 0xff}}},
{{{ -43, 83, -24}, 0, { 0, 0}, {0xcc, 0x72, 0xee, 0xff}}},
{{{ -28, 63, -74}, 0, { 0, 0}, {0xd1, 0x4f, 0xaa, 0xff}}},
{{{ -40, 72, -54}, 0, { 0, 0}, {0xc5, 0x5f, 0xc6, 0xff}}},
{{{ -40, 72, 55}, 0, { 0, 0}, {0xc4, 0x5e, 0x3a, 0xff}}},
{{{ -43, 83, 25}, 0, { 0, 0}, {0xbc, 0x69, 0x11, 0xff}}},
{{{ -28, 63, 75}, 0, { 0, 0}, {0xd0, 0x50, 0x55, 0xff}}},
};
// 0x0400F968
static const Vtx mario_pants_overalls_shared_dl_vertex_group2[] = {
{{{ 80, 14, -61}, 0, { 0, 0}, {0x60, 0x28, 0xb8, 0xff}}},
{{{ 43, 51, -74}, 0, { 0, 0}, {0x3c, 0x32, 0x9d, 0xff}}},
{{{ 48, 64, -58}, 0, { 0, 0}, {0x4d, 0x50, 0xc5, 0xff}}},
{{{ 3, 77, 62}, 0, { 0, 0}, {0x04, 0x6a, 0x44, 0xff}}},
{{{ 9, 89, 41}, 0, { 0, 0}, {0x14, 0x78, 0x23, 0xff}}},
{{{ -15, 88, 35}, 0, { 0, 0}, {0xec, 0x7a, 0x1c, 0xff}}},
{{{ 47, 75, 35}, 0, { 0, 0}, {0x39, 0x6a, 0x26, 0xff}}},
{{{ 48, 64, 59}, 0, { 0, 0}, {0x4d, 0x51, 0x3a, 0xff}}},
{{{ 82, 37, 27}, 0, { 0, 0}, {0x66, 0x48, 0x14, 0xff}}},