static const Lights1 luigi_blue_lights_group = gdSPDefLights1( 0x00, 0x00, 0x7f, 0x00, 0x00, 0xff, 0x28, 0x28, 0x28 ); static const Lights1 luigi_green_lights_group = gdSPDefLights1( 0x00, 0x4f, 0x00, 0x00, 0x9f, 0x00, 0x28, 0x28, 0x28 ); static const Lights1 luigi_white_lights_group = gdSPDefLights1( 0x7F, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0x28, 0x28, 0x28 ); static const Lights1 luigi_brown1_lights_group = gdSPDefLights1( 0x39, 0x0e, 0x07, 0x72, 0x1c, 0x0e, 0x28, 0x28, 0x28 ); static const Lights1 luigi_beige_lights_group = gdSPDefLights1( 0x7f, 0x60, 0x3c, 0xfe, 0xc1, 0x79, 0x28, 0x28, 0x28 ); static const Lights1 luigi_brown2_lights_group = gdSPDefLights1( 0x39, 0x03, 0x00, 0x73, 0x06, 0x00, 0x28, 0x28, 0x28 ); #include "actors/mario/mario_externs.h" #define luigi_texture_metal mario_texture_metal #define luigi_texture_yellow_button mario_texture_yellow_button #define luigi_texture_eyes_left mario_texture_eyes_left #define luigi_texture_eyes_right mario_texture_eyes_right #define luigi_texture_eyes_up mario_texture_eyes_up #define luigi_texture_eyes_down mario_texture_eyes_down #define luigi_texture_eyes_dead mario_texture_eyes_dead #define luigi_texture_wings_half_1 mario_texture_wings_half_1 #define luigi_texture_wings_half_2 mario_texture_wings_half_2 #define luigi_texture_metal_wings_half_1 mario_texture_metal_wings_half_1 #define luigi_texture_metal_wings_half_2 mario_texture_metal_wings_half_2 ALIGNED8 const Texture luigi_texture_l_logo[] = { #include "actors/luigi/custom_luigi_logo.rgba16.inc.c" }; ALIGNED8 const Texture luigi_texture_hair_sideburn[] = { #include "actors/luigi/custom_luigi_sideburn.rgba16.inc.c" }; ALIGNED8 const Texture luigi_texture_mustache[] = { #include "actors/luigi/custom_luigi_mustache.rgba16.inc.c" }; ALIGNED8 const Texture luigi_texture_eyes_front[] = { #include "actors/luigi/custom_luigi_eyes_center.rgba16.inc.c" }; ALIGNED8 const Texture luigi_texture_eyes_half_closed[] = { #include "actors/luigi/custom_luigi_eyes_half_closed.rgba16.inc.c" }; ALIGNED8 const Texture luigi_texture_eyes_closed[] = { #include "actors/luigi/custom_luigi_eyes_closed.rgba16.inc.c" }; static const Vtx luigi_butt_dl_vertex[76] = { {{{-7, -65, 43},0, {0, 0},{0xDA, 0x94, 0x38, 0xFF}}}, {{{-13, -71, 0},0, {0, 0},{0xD4, 0x89, 0x0, 0xFF}}}, {{{35, -67, 37},0, {0, 0},{0x17, 0x88, 0x23, 0xFF}}}, {{{-33, -51, 33},0, {0, 0},{0x96, 0xC5, 0x26, 0xFF}}}, {{{8, -47, 70},0, {0, 0},{0xEA, 0xBB, 0x69, 0xFF}}}, {{{46, -48, 64},0, {0, 0},{0x33, 0xB9, 0x5C, 0xFF}}}, {{{69, -55, 29},0, {0, 0},{0x60, 0xB3, 0x20, 0xFF}}}, {{{35, -67, -37},0, {0, 0},{0x18, 0x88, 0xDD, 0xFF}}}, {{{-7, -65, -45},0, {0, 0},{0xD8, 0x97, 0xC5, 0xFF}}}, {{{-33, -50, -34},0, {0, 0},{0x96, 0xC7, 0xD8, 0xFF}}}, {{{-38, 31, -32},0, {0, 0},{0x8B, 0x28, 0xE3, 0xFF}}}, {{{-38, 30, 31},0, {0, 0},{0x8B, 0x28, 0x1C, 0xFF}}}, {{{-23, -11, 65},0, {0, 0},{0xA8, 0xF2, 0x5B, 0xFF}}}, {{{11, -10, 80},0, {0, 0},{0xF2, 0xF9, 0x7E, 0xFF}}}, {{{53, -9, 74},0, {0, 0},{0x49, 0xF6, 0x68, 0xFF}}}, {{{86, 10, 0},0, {0, 0},{0x7E, 0xD, 0x0, 0xFF}}}, {{{69, -55, 29},0, {0, 0},{0x60, 0xB3, 0x20, 0xFF}}}, {{{69, -55, -29},0, {0, 0},{0x60, 0xB3, 0xE1, 0xFF}}}, {{{86, 10, 0},0, {0, 0},{0x7E, 0xD, 0x0, 0xFF}}}, {{{35, -67, -37},0, {0, 0},{0x18, 0x88, 0xDD, 0xFF}}}, {{{46, -48, -64},0, {0, 0},{0x33, 0xB8, 0xA4, 0xFF}}}, {{{9, -47, -70},0, {0, 0},{0xEB, 0xBC, 0x97, 0xFF}}}, {{{-7, -65, -45},0, {0, 0},{0xD8, 0x97, 0xC5, 0xFF}}}, {{{-33, -50, -34},0, {0, 0},{0x96, 0xC7, 0xD8, 0xFF}}}, {{{-22, -11, -65},0, {0, 0},{0xA9, 0xF1, 0xA4, 0xFF}}}, {{{-38, 31, -32},0, {0, 0},{0x8B, 0x28, 0xE3, 0xFF}}}, {{{-21, 23, -65},0, {0, 0},{0xAD, 0x1E, 0xA4, 0xFF}}}, {{{-7, 48, -58},0, {0, 0},{0xCD, 0x56, 0xB1, 0xFF}}}, {{{-13, 61, -27},0, {0, 0},{0xBF, 0x6A, 0xE7, 0xFF}}}, {{{-13, 61, 26},0, {0, 0},{0xBE, 0x6A, 0x19, 0xFF}}}, {{{-38, 30, 31},0, {0, 0},{0x8B, 0x28, 0x1C, 0xFF}}}, {{{-7, 48, 57},0, {0, 0},{0xCE, 0x56, 0x4F, 0xFF}}}, {{{-22, 23, 64},0, {0, 0},{0xAD, 0x20, 0x5B, 0xFF}}}, {{{-7, 48, 57},0, {0, 0},{0xCE, 0x56, 0x4F, 0xFF}}}, {{{-38, 30, 31},0, {0, 0},{0x8B, 0x28, 0x1C, 0xFF}}}, {{{-23, -11, 65},0, {0, 0},{0xA8, 0xF2, 0x5B, 0xFF}}}, {{{8, 26, 75},0, {0, 0},{0xEC, 0x27, 0x77, 0xFF}}}, {{{11, -10, 80},0, {0, 0},{0xF2, 0xF9, 0x7E, 0xFF}}}, {{{53, -9, 74},0, {0, 0},{0x49, 0xF6, 0x68, 0xFF}}}, {{{50, 34, 73},0, {0, 0},{0x3D, 0x2D, 0x66, 0xFF}}}, {{{86, 10, 0},0, {0, 0},{0x7E, 0xD, 0x0, 0xFF}}}, {{{58, 62, 31},0, {0, 0},{0x50, 0x5D, 0x20, 0xFF}}}, {{{58, 62, -31},0, {0, 0},{0x51, 0x5D, 0xE0, 0xFF}}}, {{{50, 34, -73},0, {0, 0},{0x3F, 0x2D, 0x9B, 0xFF}}}, {{{54, -10, -74},0, {0, 0},{0x4B, 0xF5, 0x9A, 0xFF}}}, {{{69, -55, -29},0, {0, 0},{0x60, 0xB3, 0xE1, 0xFF}}}, {{{46, -48, -64},0, {0, 0},{0x33, 0xB8, 0xA4, 0xFF}}}, {{{13, -10, -80},0, {0, 0},{0xF3, 0xF5, 0x82, 0xFF}}}, {{{9, -47, -70},0, {0, 0},{0xEB, 0xBC, 0x97, 0xFF}}}, {{{13, -10, -80},0, {0, 0},{0xF3, 0xF5, 0x82, 0xFF}}}, {{{46, -48, -64},0, {0, 0},{0x33, 0xB8, 0xA4, 0xFF}}}, {{{-22, -11, -65},0, {0, 0},{0xA9, 0xF1, 0xA4, 0xFF}}}, {{{8, 26, -77},0, {0, 0},{0xEC, 0x25, 0x88, 0xFF}}}, {{{-21, 23, -65},0, {0, 0},{0xAD, 0x1E, 0xA4, 0xFF}}}, {{{-7, 48, -58},0, {0, 0},{0xCD, 0x56, 0xB1, 0xFF}}}, {{{31, 62, -51},0, {0, 0},{0x8, 0x6B, 0xBB, 0xFF}}}, {{{-13, 61, -27},0, {0, 0},{0xBF, 0x6A, 0xE7, 0xFF}}}, {{{24, 71, -21},0, {0, 0},{0xFE, 0x7E, 0xF0, 0xFF}}}, {{{-13, 61, 26},0, {0, 0},{0xBE, 0x6A, 0x19, 0xFF}}}, {{{24, 71, 21},0, {0, 0},{0xFE, 0x7E, 0x11, 0xFF}}}, {{{31, 62, 50},0, {0, 0},{0x7, 0x6A, 0x45, 0xFF}}}, {{{-7, 48, 57},0, {0, 0},{0xCE, 0x56, 0x4F, 0xFF}}}, {{{8, 26, 75},0, {0, 0},{0xEC, 0x27, 0x77, 0xFF}}}, {{{-22, 23, 64},0, {0, 0},{0xAD, 0x20, 0x5B, 0xFF}}}, {{{50, 34, 73},0, {0, 0},{0x3D, 0x2D, 0x66, 0xFF}}}, {{{31, 62, 50},0, {0, 0},{0x7, 0x6A, 0x45, 0xFF}}}, {{{8, 26, 75},0, {0, 0},{0xEC, 0x27, 0x77, 0xFF}}}, {{{58, 62, 31},0, {0, 0},{0x50, 0x5D, 0x20, 0xFF}}}, {{{24, 71, 21},0, {0, 0},{0xFE, 0x7E, 0x11, 0xFF}}}, {{{24, 71, -21},0, {0, 0},{0xFE, 0x7E, 0xF0, 0xFF}}}, {{{58, 62, -31},0, {0, 0},{0x51, 0x5D, 0xE0, 0xFF}}}, {{{31, 62, -51},0, {0, 0},{0x8, 0x6B, 0xBB, 0xFF}}}, {{{50, 34, -73},0, {0, 0},{0x3F, 0x2D, 0x9B, 0xFF}}}, {{{8, 26, -77},0, {0, 0},{0xEC, 0x25, 0x88, 0xFF}}}, {{{54, -10, -74},0, {0, 0},{0x4B, 0xF5, 0x9A, 0xFF}}}, {{{13, -10, -80},0, {0, 0},{0xF3, 0xF5, 0x82, 0xFF}}}, }; const Gfx luigi_butt_dl[] = { gsSPVertex(luigi_butt_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 3, 1, 0), gsSP1Triangle(0, 4, 3, 0), gsSP1Triangle(0, 2, 4, 0), gsSP1Triangle(5, 4, 2, 0), gsSP1Triangle(6, 5, 2, 0), gsSP1Triangle(2, 7, 6, 0), gsSP1Triangle(1, 7, 2, 0), gsSP1Triangle(8, 7, 1, 0), gsSP1Triangle(8, 1, 9, 0), gsSP1Triangle(9, 1, 3, 0), gsSP1Triangle(9, 3, 10, 0), gsSP1Triangle(11, 10, 3, 0), gsSP1Triangle(11, 3, 12, 0), gsSP1Triangle(12, 3, 4, 0), gsSP1Triangle(13, 12, 4, 0), gsSP1Triangle(4, 5, 13, 0), gsSP1Triangle(5, 14, 13, 0), gsSP1Triangle(5, 6, 14, 0), gsSP1Triangle(15, 14, 6, 0), gsSPVertex(luigi_butt_dl_vertex + 16, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 0, 3, 0), gsSP1Triangle(3, 4, 1, 0), gsSP1Triangle(4, 3, 5, 0), gsSP1Triangle(6, 5, 3, 0), gsSP1Triangle(6, 7, 5, 0), gsSP1Triangle(5, 7, 8, 0), gsSP1Triangle(8, 7, 9, 0), gsSP1Triangle(10, 8, 9, 0), gsSP1Triangle(10, 9, 11, 0), gsSP1Triangle(12, 11, 9, 0), gsSP1Triangle(12, 9, 13, 0), gsSP1Triangle(13, 9, 14, 0), gsSP1Triangle(15, 13, 14, 0), gsSPVertex(luigi_butt_dl_vertex + 32, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 2, 3, 0), gsSP1Triangle(0, 3, 4, 0), gsSP1Triangle(5, 4, 3, 0), gsSP1Triangle(5, 6, 4, 0), gsSP1Triangle(6, 7, 4, 0), gsSP1Triangle(6, 8, 7, 0), gsSP1Triangle(9, 7, 8, 0), gsSP1Triangle(8, 10, 9, 0), gsSP1Triangle(10, 8, 11, 0), gsSP1Triangle(12, 11, 8, 0), gsSP1Triangle(13, 12, 8, 0), gsSP1Triangle(14, 12, 13, 0), gsSP1Triangle(15, 12, 14, 0), gsSPVertex(luigi_butt_dl_vertex + 48, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 0, 3, 0), gsSP1Triangle(1, 3, 4, 0), gsSP1Triangle(5, 4, 3, 0), gsSP1Triangle(4, 5, 6, 0), gsSP1Triangle(6, 7, 4, 0), gsSP1Triangle(8, 7, 6, 0), gsSP1Triangle(9, 7, 8, 0), gsSP1Triangle(9, 8, 10, 0), gsSP1Triangle(11, 9, 10, 0), gsSP1Triangle(11, 10, 12, 0), gsSP1Triangle(10, 13, 12, 0), gsSP1Triangle(13, 14, 12, 0), gsSP1Triangle(14, 13, 15, 0), gsSPVertex(luigi_butt_dl_vertex + 64, 12, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 3, 1, 0), gsSP1Triangle(4, 1, 3, 0), gsSP1Triangle(4, 3, 5, 0), gsSP1Triangle(5, 3, 6, 0), gsSP1Triangle(5, 6, 7, 0), gsSP1Triangle(6, 8, 7, 0), gsSP1Triangle(7, 8, 9, 0), gsSP1Triangle(8, 10, 9, 0), gsSP1Triangle(11, 9, 10, 0), gsSPEndDisplayList(), }; const Gfx luigi_butt[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPCopyLightsPlayerPart(PANTS), // gsSPLight(&luigi_blue_lights_group.a, 2), gsSPDisplayList(luigi_butt_dl), gsSPEndDisplayList(), }; const Gfx luigi_metal_butt[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN), gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT), gsDPLoadTextureBlock(luigi_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), gsSPCopyLightsPlayerPart(METAL), gsSPDisplayList(luigi_butt_dl), gsSPEndDisplayList(), }; static const Vtx luigi_left_arm_shared_dl_vertex[29] = { {{{63, 24, 21},0, {0, 0},{0x34, 0x5B, 0x48, 0xFF}}}, {{{63, 25, -16},0, {0, 0},{0x35, 0x5E, 0xBC, 0xFF}}}, {{{6, 31, 24},0, {0, 0},{0xE0, 0x63, 0x49, 0xFF}}}, {{{73, 17, -9},0, {0, 0},{0x70, 0x32, 0xDF, 0xFF}}}, {{{73, 16, 15},0, {0, 0},{0x6F, 0x2E, 0x29, 0xFF}}}, {{{72, -7, 21},0, {0, 0},{0x6C, 0xE4, 0x3D, 0xFF}}}, {{{62, -9, 30},0, {0, 0},{0x31, 0xD8, 0x6E, 0xFF}}}, {{{5, -11, 38},0, {0, 0},{0xDD, 0xD9, 0x74, 0xFF}}}, {{{-11, -6, 23},0, {0, 0},{0x92, 0xEC, 0x3C, 0xFF}}}, {{{-10, 20, 15},0, {0, 0},{0x94, 0x37, 0x27, 0xFF}}}, {{{6, 33, -19},0, {0, 0},{0xE1, 0x67, 0xBD, 0xFF}}}, {{{62, -8, -27},0, {0, 0},{0x32, 0xDF, 0x90, 0xFF}}}, {{{72, -5, -18},0, {0, 0},{0x6D, 0xEF, 0xC0, 0xFF}}}, {{{72, -21, 0},0, {0, 0},{0x6A, 0xBA, 0xFA, 0xFF}}}, {{{61, -30, 0},0, {0, 0},{0x2E, 0x8A, 0xFC, 0xFF}}}, {{{3, -37, 0},0, {0, 0},{0xD8, 0x87, 0xFD, 0xFF}}}, {{{-11, -21, 0},0, {0, 0},{0x8F, 0xC5, 0xFD, 0xFF}}}, {{{3, -37, 0},0, {0, 0},{0xD8, 0x87, 0xFD, 0xFF}}}, {{{5, -11, 38},0, {0, 0},{0xDD, 0xD9, 0x74, 0xFF}}}, {{{-11, -6, 23},0, {0, 0},{0x92, 0xEC, 0x3C, 0xFF}}}, {{{-11, -4, -20},0, {0, 0},{0x91, 0xF4, 0xC3, 0xFF}}}, {{{-10, 21, -11},0, {0, 0},{0x94, 0x39, 0xDC, 0xFF}}}, {{{-10, 20, 15},0, {0, 0},{0x94, 0x37, 0x27, 0xFF}}}, {{{6, 33, -19},0, {0, 0},{0xE1, 0x67, 0xBD, 0xFF}}}, {{{5, -9, -35},0, {0, 0},{0xDE, 0xE1, 0x8A, 0xFF}}}, {{{62, -8, -27},0, {0, 0},{0x32, 0xDF, 0x90, 0xFF}}}, {{{61, -30, 0},0, {0, 0},{0x2E, 0x8A, 0xFC, 0xFF}}}, {{{72, -5, -18},0, {0, 0},{0x6D, 0xEF, 0xC0, 0xFF}}}, {{{72, -21, 0},0, {0, 0},{0x6A, 0xBA, 0xFA, 0xFF}}}, }; const Gfx luigi_left_arm_shared_dl[] = { gsSPVertex(luigi_left_arm_shared_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 1, 0, 0), gsSP1Triangle(4, 3, 0, 0), gsSP1Triangle(4, 0, 5, 0), gsSP1Triangle(5, 0, 6, 0), gsSP1Triangle(6, 0, 7, 0), gsSP1Triangle(7, 0, 2, 0), gsSP1Triangle(8, 7, 2, 0), gsSP1Triangle(9, 8, 2, 0), gsSP1Triangle(9, 2, 10, 0), gsSP1Triangle(2, 1, 10, 0), gsSP1Triangle(1, 11, 10, 0), gsSP1Triangle(3, 11, 1, 0), gsSP1Triangle(12, 11, 3, 0), gsSP1Triangle(12, 3, 4, 0), gsSP1Triangle(5, 12, 4, 0), gsSP1Triangle(13, 12, 5, 0), gsSP1Triangle(13, 5, 14, 0), gsSP1Triangle(5, 6, 14, 0), gsSP1Triangle(14, 6, 15, 0), gsSP1Triangle(15, 6, 7, 0), gsSPVertex(luigi_left_arm_shared_dl_vertex + 16, 13, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 0, 2, 0), gsSP1Triangle(0, 3, 4, 0), gsSP1Triangle(4, 3, 5, 0), gsSP1Triangle(6, 5, 3, 0), gsSP1Triangle(5, 6, 7, 0), gsSP1Triangle(5, 7, 8, 0), gsSP1Triangle(7, 9, 8, 0), gsSP1Triangle(9, 10, 8, 0), gsSP1Triangle(11, 10, 9, 0), gsSP1Triangle(12, 10, 11, 0), gsSP1Triangle(8, 10, 1, 0), gsSP1Triangle(4, 8, 1, 0), gsSP1Triangle(0, 4, 1, 0), gsSP1Triangle(4, 5, 8, 0), gsSPEndDisplayList(), }; const Gfx luigi_left_arm[] = { gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&luigi_green_lights_group.a, 2), gsSPDisplayList(luigi_left_arm_shared_dl), gsSPEndDisplayList(), }; static const Vtx luigi_left_forearm_shared_dl_vertex[16] = { {{{64, 20, 16},0, {0, 0},{0x3E, 0x57, 0x45, 0xFF}}}, {{{65, 21, -16},0, {0, 0},{0x3F, 0x5A, 0xC0, 0xFF}}}, {{{6, 25, 20},0, {0, 0},{0xE4, 0x62, 0x4C, 0xFF}}}, {{{78, -1, 0},0, {0, 0},{0x7F, 0xFE, 0x2, 0xFF}}}, {{{63, -11, 25},0, {0, 0},{0x3C, 0xD8, 0x69, 0xFF}}}, {{{4, -11, 30},0, {0, 0},{0xDE, 0xD7, 0x73, 0xFF}}}, {{{-8, -7, 21},0, {0, 0},{0x97, 0xEC, 0x44, 0xFF}}}, {{{-8, 17, 14},0, {0, 0},{0x99, 0x3B, 0x2D, 0xFF}}}, {{{6, 26, -17},0, {0, 0},{0xE4, 0x68, 0xBD, 0xFF}}}, {{{64, -8, -26},0, {0, 0},{0x3D, 0xE0, 0x95, 0xFF}}}, {{{63, -28, -1},0, {0, 0},{0x3B, 0x8F, 0xFC, 0xFF}}}, {{{3, -32, -1},0, {0, 0},{0xDB, 0x87, 0xFC, 0xFF}}}, {{{-9, -21, 0},0, {0, 0},{0x92, 0xC0, 0x0, 0xFF}}}, {{{-8, 18, -12},0, {0, 0},{0x99, 0x40, 0xD9, 0xFF}}}, {{{4, -8, -31},0, {0, 0},{0xE0, 0xE2, 0x89, 0xFF}}}, {{{-8, -5, -22},0, {0, 0},{0x97, 0xF2, 0xB9, 0xFF}}}, }; const Gfx luigi_left_forearm_shared_dl[] = { gsSPVertex(luigi_left_forearm_shared_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 1, 0, 0), gsSP1Triangle(3, 0, 4, 0), gsSP1Triangle(4, 0, 5, 0), gsSP1Triangle(5, 0, 2, 0), gsSP1Triangle(6, 5, 2, 0), gsSP1Triangle(7, 6, 2, 0), gsSP1Triangle(7, 2, 8, 0), gsSP1Triangle(2, 1, 8, 0), gsSP1Triangle(1, 9, 8, 0), gsSP1Triangle(3, 9, 1, 0), gsSP1Triangle(3, 10, 9, 0), gsSP1Triangle(3, 4, 10, 0), gsSP1Triangle(10, 4, 11, 0), gsSP1Triangle(11, 4, 5, 0), gsSP1Triangle(12, 11, 5, 0), gsSP1Triangle(6, 12, 5, 0), gsSP1Triangle(6, 7, 12, 0), gsSP1Triangle(7, 13, 12, 0), gsSP1Triangle(13, 7, 8, 0), gsSP1Triangle(13, 8, 14, 0), gsSP1Triangle(8, 9, 14, 0), gsSP1Triangle(9, 10, 14, 0), gsSP1Triangle(14, 10, 11, 0), gsSP1Triangle(15, 14, 11, 0), gsSP1Triangle(12, 15, 11, 0), gsSP1Triangle(12, 13, 15, 0), gsSP1Triangle(15, 13, 14, 0), gsSPEndDisplayList(), }; static const Vtx luigi_left_hand_closed_shared_dl_vertex[37] = { {{{32, -37, 8},0, {0, 0},{0x3C, 0x98, 0x29, 0xFF}}}, {{{25, -54, 10},0, {0, 0},{0x75, 0xD3, 0x16, 0xFF}}}, {{{15, -35, -34},0, {0, 0},{0x2, 0xB4, 0x9A, 0xFF}}}, {{{3, -3, 40},0, {0, 0},{0x43, 0x1B, 0x69, 0xFF}}}, {{{15, 3, 31},0, {0, 0},{0xFC, 0x0, 0x7F, 0xFF}}}, {{{34, 10, 46},0, {0, 0},{0xE3, 0xEF, 0x7B, 0xFF}}}, {{{56, -41, 12},0, {0, 0},{0x6, 0x8A, 0x30, 0xFF}}}, {{{24, -21, -27},0, {0, 0},{0x15, 0xC9, 0x8F, 0xFF}}}, {{{-12, 29, -33},0, {0, 0},{0xCC, 0x38, 0x9B, 0xFF}}}, {{{-16, -11, 0},0, {0, 0},{0x8C, 0xCD, 0x2, 0xFF}}}, {{{25, -54, 10},0, {0, 0},{0xA3, 0xAB, 0xE, 0xFF}}}, {{{3, -3, 40},0, {0, 0},{0x99, 0xD2, 0x3A, 0xFF}}}, {{{-20, 49, 13},0, {0, 0},{0x82, 0xF5, 0xE, 0xFF}}}, {{{2, 27, -26},0, {0, 0},{0xFB, 0x44, 0x95, 0xFF}}}, {{{-3, 42, 9},0, {0, 0},{0xDE, 0x73, 0x2A, 0xFF}}}, {{{-20, 49, 13},0, {0, 0},{0x35, 0x70, 0x1B, 0xFF}}}, {{{-3, 42, 9},0, {0, 0},{0xDE, 0x73, 0x2A, 0xFF}}}, {{{34, 10, 46},0, {0, 0},{0xE3, 0xEF, 0x7B, 0xFF}}}, {{{10, 63, 15},0, {0, 0},{0xAF, 0x55, 0x30, 0xFF}}}, {{{57, 84, 13},0, {0, 0},{0x15, 0x79, 0x21, 0xFF}}}, {{{83, 33, 46},0, {0, 0},{0x3E, 0x19, 0x6C, 0xFF}}}, {{{104, -22, 8},0, {0, 0},{0x66, 0xBF, 0x28, 0xFF}}}, {{{56, -41, 12},0, {0, 0},{0x6, 0x8A, 0x30, 0xFF}}}, {{{77, -28, -56},0, {0, 0},{0x1B, 0xB5, 0x9D, 0xFF}}}, {{{24, -21, -27},0, {0, 0},{0x15, 0xC9, 0x8F, 0xFF}}}, {{{31, 11, -39},0, {0, 0},{0xC3, 0xFD, 0x91, 0xFF}}}, {{{2, 27, -26},0, {0, 0},{0xFB, 0x44, 0x95, 0xFF}}}, {{{29, 66, -23},0, {0, 0},{0xD0, 0x5B, 0xB6, 0xFF}}}, {{{55, 58, -32},0, {0, 0},{0x18, 0x55, 0xA5, 0xFF}}}, {{{97, 43, -11},0, {0, 0},{0x6C, 0x3F, 0xEB, 0xFF}}}, {{{97, -3, -41},0, {0, 0},{0x69, 0xFC, 0xB9, 0xFF}}}, {{{58, 16, -55},0, {0, 0},{0xF4, 0x17, 0x84, 0xFF}}}, {{{55, 58, -32},0, {0, 0},{0x18, 0x55, 0xA5, 0xFF}}}, {{{88, 20, -41},0, {0, 0},{0x49, 0x2F, 0xA3, 0xFF}}}, {{{58, 16, -55},0, {0, 0},{0xF4, 0x17, 0x84, 0xFF}}}, {{{97, 43, -11},0, {0, 0},{0x6C, 0x3F, 0xEB, 0xFF}}}, {{{97, -3, -41},0, {0, 0},{0x69, 0xFC, 0xB9, 0xFF}}}, }; const Gfx luigi_left_hand_closed_shared_dl[] = { gsSPVertex(luigi_left_hand_closed_shared_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 1, 0, 0), gsSP1Triangle(0, 4, 3, 0), gsSP1Triangle(5, 4, 0, 0), gsSP1Triangle(0, 6, 5, 0), gsSP1Triangle(6, 0, 7, 0), gsSP1Triangle(2, 7, 0, 0), gsSP1Triangle(7, 2, 8, 0), gsSP1Triangle(2, 9, 8, 0), gsSP1Triangle(10, 9, 2, 0), gsSP1Triangle(11, 9, 10, 0), gsSP1Triangle(12, 9, 11, 0), gsSP1Triangle(8, 9, 12, 0), gsSP1Triangle(8, 13, 7, 0), gsSP1Triangle(14, 13, 8, 0), gsSP1Triangle(8, 15, 14, 0), gsSP1Triangle(14, 15, 3, 0), gsSP1Triangle(3, 4, 14, 0), gsSP1Triangle(14, 4, 5, 0), gsSPVertex(luigi_left_hand_closed_shared_dl_vertex + 16, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 3, 2, 0), gsSP1Triangle(1, 4, 3, 0), gsSP1Triangle(5, 4, 1, 0), gsSP1Triangle(6, 5, 1, 0), gsSP1Triangle(7, 5, 6, 0), gsSP1Triangle(8, 7, 6, 0), gsSP1Triangle(8, 9, 7, 0), gsSP1Triangle(8, 10, 9, 0), gsSP1Triangle(11, 9, 10, 0), gsSP1Triangle(2, 11, 10, 0), gsSP1Triangle(10, 0, 2, 0), gsSP1Triangle(11, 2, 3, 0), gsSP1Triangle(3, 12, 11, 0), gsSP1Triangle(3, 13, 12, 0), gsSP1Triangle(4, 13, 3, 0), gsSP1Triangle(5, 13, 4, 0), gsSP1Triangle(14, 13, 5, 0), gsSP1Triangle(7, 14, 5, 0), gsSP1Triangle(15, 14, 7, 0), gsSP1Triangle(9, 15, 7, 0), gsSP1Triangle(15, 9, 11, 0), gsSP1Triangle(15, 11, 12, 0), gsSPVertex(luigi_left_hand_closed_shared_dl_vertex + 32, 5, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 0, 3, 0), gsSP1Triangle(1, 3, 4, 0), gsSP1Triangle(2, 1, 4, 0), gsSPEndDisplayList(), }; const Gfx luigi_left_hand_closed[] = { gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c gsSPDisplayList(luigi_left_hand_closed_shared_dl), gsSPEndDisplayList(), }; static const Vtx luigi_right_arm_shared_dl_vertex[30] = { {{{4, -32, 0},0, {0, 0},{0xDB, 0x87, 0xFC, 0xFF}}}, {{{5, -5, -36},0, {0, 0},{0xDE, 0xE0, 0x8A, 0xFF}}}, {{{61, -4, -29},0, {0, 0},{0x34, 0xE2, 0x90, 0xFF}}}, {{{-11, -17, 0},0, {0, 0},{0x91, 0xC2, 0xFB, 0xFF}}}, {{{-11, -3, 23},0, {0, 0},{0x94, 0xEB, 0x3F, 0xFF}}}, {{{5, -8, 36},0, {0, 0},{0xDF, 0xD7, 0x74, 0xFF}}}, {{{61, -27, 0},0, {0, 0},{0x32, 0x8B, 0xFB, 0xFF}}}, {{{71, -1, -18},0, {0, 0},{0x6F, 0xF0, 0xC5, 0xFF}}}, {{{62, 29, -15},0, {0, 0},{0x34, 0x62, 0xC2, 0xFF}}}, {{{5, 36, -20},0, {0, 0},{0xDF, 0x67, 0xBD, 0xFF}}}, {{{-11, -1, -21},0, {0, 0},{0x92, 0xEF, 0xC3, 0xFF}}}, {{{-10, 24, -12},0, {0, 0},{0x93, 0x38, 0xDD, 0xFF}}}, {{{-10, 23, 16},0, {0, 0},{0x94, 0x35, 0x2A, 0xFF}}}, {{{5, 34, 24},0, {0, 0},{0xDF, 0x61, 0x4B, 0xFF}}}, {{{61, -7, 30},0, {0, 0},{0x32, 0xD8, 0x6E, 0xFF}}}, {{{71, -4, 20},0, {0, 0},{0x6E, 0xE7, 0x3A, 0xFF}}}, {{{71, -16, 0},0, {0, 0},{0x70, 0xC4, 0xFA, 0xFF}}}, {{{71, -4, 20},0, {0, 0},{0x6E, 0xE7, 0x3A, 0xFF}}}, {{{61, -27, 0},0, {0, 0},{0x32, 0x8B, 0xFB, 0xFF}}}, {{{71, -1, -18},0, {0, 0},{0x6F, 0xF0, 0xC5, 0xFF}}}, {{{72, 21, -9},0, {0, 0},{0x6F, 0x34, 0xE0, 0xFF}}}, {{{62, 29, -15},0, {0, 0},{0x34, 0x62, 0xC2, 0xFF}}}, {{{62, 27, 20},0, {0, 0},{0x32, 0x5B, 0x49, 0xFF}}}, {{{5, 36, -20},0, {0, 0},{0xDF, 0x67, 0xBD, 0xFF}}}, {{{5, 34, 24},0, {0, 0},{0xDF, 0x61, 0x4B, 0xFF}}}, {{{-10, 24, -12},0, {0, 0},{0x93, 0x38, 0xDD, 0xFF}}}, {{{-11, -1, -21},0, {0, 0},{0x92, 0xEF, 0xC3, 0xFF}}}, {{{-10, 23, 16},0, {0, 0},{0x94, 0x35, 0x2A, 0xFF}}}, {{{61, -7, 30},0, {0, 0},{0x32, 0xD8, 0x6E, 0xFF}}}, {{{72, 19, 15},0, {0, 0},{0x6E, 0x2C, 0x2F, 0xFF}}}, }; const Gfx luigi_right_arm_shared_dl[] = { gsSPVertex(luigi_right_arm_shared_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 1, 0, 0), gsSP1Triangle(3, 0, 4, 0), gsSP1Triangle(4, 0, 5, 0), gsSP1Triangle(5, 0, 6, 0), gsSP1Triangle(6, 0, 2, 0), gsSP1Triangle(7, 6, 2, 0), gsSP1Triangle(7, 2, 8, 0), gsSP1Triangle(2, 1, 8, 0), gsSP1Triangle(1, 9, 8, 0), gsSP1Triangle(10, 9, 1, 0), gsSP1Triangle(10, 1, 3, 0), gsSP1Triangle(3, 4, 10, 0), gsSP1Triangle(11, 10, 4, 0), gsSP1Triangle(12, 11, 4, 0), gsSP1Triangle(4, 5, 12, 0), gsSP1Triangle(12, 5, 13, 0), gsSP1Triangle(13, 5, 14, 0), gsSP1Triangle(14, 5, 6, 0), gsSP1Triangle(15, 14, 6, 0), gsSPVertex(luigi_right_arm_shared_dl_vertex + 16, 14, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 2, 3, 0), gsSP1Triangle(4, 0, 3, 0), gsSP1Triangle(4, 3, 5, 0), gsSP1Triangle(4, 5, 6, 0), gsSP1Triangle(5, 7, 6, 0), gsSP1Triangle(7, 8, 6, 0), gsSP1Triangle(9, 8, 7, 0), gsSP1Triangle(9, 7, 10, 0), gsSP1Triangle(11, 8, 9, 0), gsSP1Triangle(6, 8, 12, 0), gsSP1Triangle(1, 6, 12, 0), gsSP1Triangle(13, 6, 1, 0), gsSP1Triangle(13, 1, 4, 0), gsSP1Triangle(1, 0, 4, 0), gsSP1Triangle(13, 4, 6, 0), gsSPEndDisplayList(), }; const Gfx luigi_right_arm[] = { gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&luigi_green_lights_group.a, 2), gsSPDisplayList(luigi_right_arm_shared_dl), gsSPEndDisplayList(), }; static const Vtx luigi_right_forearm_shared_dl_vertex[16] = { {{{3, 28, 20},0, {0, 0},{0xE3, 0x63, 0x4A, 0xFF}}}, {{{2, -8, 31},0, {0, 0},{0xE1, 0xD7, 0x74, 0xFF}}}, {{{61, -7, 26},0, {0, 0},{0x3E, 0xDB, 0x68, 0xFF}}}, {{{-10, 20, 15},0, {0, 0},{0x99, 0x3A, 0x2E, 0xFF}}}, {{{-10, 21, -10},0, {0, 0},{0x97, 0x3F, 0xDD, 0xFF}}}, {{{3, 29, -16},0, {0, 0},{0xE1, 0x68, 0xBE, 0xFF}}}, {{{62, 23, 17},0, {0, 0},{0x41, 0x55, 0x44, 0xFF}}}, {{{74, 1, 0},0, {0, 0},{0x7F, 0xFC, 0xFF, 0xFF}}}, {{{61, -25, 0},0, {0, 0},{0x3D, 0x91, 0xFD, 0xFF}}}, {{{2, -29, 0},0, {0, 0},{0xDC, 0x86, 0xFB, 0xFF}}}, {{{-11, -4, 22},0, {0, 0},{0x96, 0xEB, 0x43, 0xFF}}}, {{{-11, -17, 0},0, {0, 0},{0x92, 0xC0, 0xFA, 0xFF}}}, {{{-11, -1, -20},0, {0, 0},{0x95, 0xF4, 0xBC, 0xFF}}}, {{{2, -5, -30},0, {0, 0},{0xDE, 0xE1, 0x8A, 0xFF}}}, {{{62, 25, -14},0, {0, 0},{0x41, 0x5C, 0xC4, 0xFF}}}, {{{61, -5, -25},0, {0, 0},{0x3D, 0xE1, 0x95, 0xFF}}}, }; const Gfx luigi_right_forearm_shared_dl[] = { gsSPVertex(luigi_right_forearm_shared_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 1, 0, 0), gsSP1Triangle(3, 0, 4, 0), gsSP1Triangle(4, 0, 5, 0), gsSP1Triangle(5, 0, 6, 0), gsSP1Triangle(6, 0, 2, 0), gsSP1Triangle(7, 6, 2, 0), gsSP1Triangle(7, 2, 8, 0), gsSP1Triangle(2, 1, 8, 0), gsSP1Triangle(1, 9, 8, 0), gsSP1Triangle(10, 9, 1, 0), gsSP1Triangle(10, 1, 3, 0), gsSP1Triangle(10, 3, 11, 0), gsSP1Triangle(11, 3, 12, 0), gsSP1Triangle(3, 4, 12, 0), gsSP1Triangle(4, 5, 12, 0), gsSP1Triangle(12, 5, 13, 0), gsSP1Triangle(13, 5, 14, 0), gsSP1Triangle(14, 5, 6, 0), gsSP1Triangle(7, 14, 6, 0), gsSP1Triangle(7, 15, 14, 0), gsSP1Triangle(7, 8, 15, 0), gsSP1Triangle(8, 9, 15, 0), gsSP1Triangle(9, 13, 15, 0), gsSP1Triangle(11, 13, 9, 0), gsSP1Triangle(11, 9, 10, 0), gsSP1Triangle(12, 13, 11, 0), gsSP1Triangle(15, 13, 14, 0), gsSPEndDisplayList(), }; static const Vtx luigi_right_hand_closed_shared_dl_vertex[41] = { {{{30, -37, -7},0, {0, 0},{0x3B, 0x9A, 0xD1, 0xFF}}}, {{{23, -54, -9},0, {0, 0},{0x75, 0xD2, 0xEF, 0xFF}}}, {{{2, 0, -39},0, {0, 0},{0x48, 0x23, 0x9D, 0xFF}}}, {{{11, -36, 35},0, {0, 0},{0xF8, 0xAE, 0x61, 0xFF}}}, {{{22, -23, 30},0, {0, 0},{0xA, 0xBE, 0x6C, 0xFF}}}, {{{54, -41, -9},0, {0, 0},{0x7, 0x8B, 0xCE, 0xFF}}}, {{{33, 11, -42},0, {0, 0},{0xE8, 0xF6, 0x84, 0xFF}}}, {{{14, 2, -29},0, {0, 0},{0xB, 0xFE, 0x81, 0xFF}}}, {{{-4, 43, -7},0, {0, 0},{0xDA, 0x70, 0xD1, 0xFF}}}, {{{-21, 49, -9},0, {0, 0},{0x2C, 0x76, 0xED, 0xFF}}}, {{{-15, 28, 35},0, {0, 0},{0xC4, 0x34, 0x63, 0xFF}}}, {{{0, 26, 30},0, {0, 0},{0xF2, 0x3C, 0x6F, 0xFF}}}, {{{-17, -9, 0},0, {0, 0},{0x8B, 0xD0, 0xF6, 0xFF}}}, {{{-21, 49, -9},0, {0, 0},{0x83, 0xF5, 0xEE, 0xFF}}}, {{{2, 0, -39},0, {0, 0},{0x99, 0xD5, 0xC4, 0xFF}}}, {{{23, -54, -9},0, {0, 0},{0xA0, 0xAF, 0xEC, 0xFF}}}, {{{27, 9, 43},0, {0, 0},{0xC2, 0xFB, 0x6F, 0xFF}}}, {{{0, 26, 30},0, {0, 0},{0xF2, 0x3C, 0x6F, 0xFF}}}, {{{22, -23, 30},0, {0, 0},{0xA, 0xBE, 0x6C, 0xFF}}}, {{{27, 64, 28},0, {0, 0},{0xCF, 0x59, 0x4D, 0xFF}}}, {{{55, 12, 59},0, {0, 0},{0xF3, 0x13, 0x7D, 0xFF}}}, {{{73, -30, 59},0, {0, 0},{0x18, 0xB2, 0x61, 0xFF}}}, {{{54, -41, -9},0, {0, 0},{0x7, 0x8B, 0xCE, 0xFF}}}, {{{102, -23, -5},0, {0, 0},{0x65, 0xBF, 0xD7, 0xFF}}}, {{{33, 11, -42},0, {0, 0},{0xE8, 0xF6, 0x84, 0xFF}}}, {{{83, 33, -39},0, {0, 0},{0x43, 0x1D, 0x98, 0xFF}}}, {{{56, 83, -6},0, {0, 0},{0x17, 0x7A, 0xE4, 0xFF}}}, {{{8, 63, -9},0, {0, 0},{0xB1, 0x59, 0xD4, 0xFF}}}, {{{-4, 43, -7},0, {0, 0},{0xDA, 0x70, 0xD1, 0xFF}}}, {{{14, 2, -29},0, {0, 0},{0xB, 0xFE, 0x81, 0xFF}}}, {{{52, 56, 38},0, {0, 0},{0x13, 0x51, 0x60, 0xFF}}}, {{{83, 18, 46},0, {0, 0},{0x42, 0x2E, 0x63, 0xFF}}}, {{{94, -5, 46},0, {0, 0},{0x67, 0xFA, 0x4B, 0xFF}}}, {{{83, 18, 46},0, {0, 0},{0x42, 0x2E, 0x63, 0xFF}}}, {{{55, 12, 59},0, {0, 0},{0xF3, 0x13, 0x7D, 0xFF}}}, {{{73, -30, 59},0, {0, 0},{0x18, 0xB2, 0x61, 0xFF}}}, {{{102, -23, -5},0, {0, 0},{0x65, 0xBF, 0xD7, 0xFF}}}, {{{95, 41, 18},0, {0, 0},{0x6B, 0x3E, 0x1C, 0xFF}}}, {{{83, 33, -39},0, {0, 0},{0x43, 0x1D, 0x98, 0xFF}}}, {{{56, 83, -6},0, {0, 0},{0x17, 0x7A, 0xE4, 0xFF}}}, {{{52, 56, 38},0, {0, 0},{0x13, 0x51, 0x60, 0xFF}}}, }; const Gfx luigi_right_hand_closed_dl[] = { gsSPVertex(luigi_right_hand_closed_shared_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 1, 0, 0), gsSP1Triangle(0, 4, 3, 0), gsSP1Triangle(4, 0, 5, 0), gsSP1Triangle(6, 5, 0, 0), gsSP1Triangle(0, 7, 6, 0), gsSP1Triangle(2, 7, 0, 0), gsSP1Triangle(8, 7, 2, 0), gsSP1Triangle(2, 9, 8, 0), gsSP1Triangle(8, 9, 10, 0), gsSP1Triangle(10, 11, 8, 0), gsSP1Triangle(4, 11, 10, 0), gsSP1Triangle(10, 3, 4, 0), gsSP1Triangle(10, 12, 3, 0), gsSP1Triangle(13, 12, 10, 0), gsSP1Triangle(14, 12, 13, 0), gsSP1Triangle(15, 12, 14, 0), gsSP1Triangle(3, 12, 15, 0), gsSPVertex(luigi_right_hand_closed_shared_dl_vertex + 16, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 0, 3, 0), gsSP1Triangle(3, 0, 4, 0), gsSP1Triangle(5, 4, 0, 0), gsSP1Triangle(5, 0, 2, 0), gsSP1Triangle(6, 5, 2, 0), gsSP1Triangle(6, 7, 5, 0), gsSP1Triangle(8, 7, 6, 0), gsSP1Triangle(8, 9, 7, 0), gsSP1Triangle(10, 9, 8, 0), gsSP1Triangle(11, 10, 8, 0), gsSP1Triangle(11, 8, 12, 0), gsSP1Triangle(8, 13, 12, 0), gsSP1Triangle(11, 12, 1, 0), gsSP1Triangle(3, 11, 1, 0), gsSP1Triangle(10, 11, 3, 0), gsSP1Triangle(3, 14, 10, 0), gsSP1Triangle(14, 3, 4, 0), gsSP1Triangle(15, 14, 4, 0), gsSPVertex(luigi_right_hand_closed_shared_dl_vertex + 32, 9, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 0, 2, 0), gsSP1Triangle(4, 0, 3, 0), gsSP1Triangle(4, 5, 0, 0), gsSP1Triangle(6, 5, 4, 0), gsSP1Triangle(7, 5, 6, 0), gsSP1Triangle(8, 5, 7, 0), gsSP1Triangle(5, 8, 1, 0), gsSP1Triangle(0, 5, 1, 0), gsSPEndDisplayList(), }; const Gfx luigi_right_hand_closed[] = { gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c gsSPDisplayList(luigi_right_hand_closed_dl), gsSPEndDisplayList(), }; const Gfx luigi_metal_right_hand_closed[] = { gsSPDisplayList(luigi_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(), }; static const Vtx luigi_left_thigh_dl_vertex[22] = { {{{-16, 2, 1},0, {0, 0},{0x81, 0xF7, 0x0, 0xFF}}}, {{{-1, -8, -31},0, {0, 0},{0xAD, 0xDF, 0xA5, 0xFF}}}, {{{0, -34, 1},0, {0, 0},{0xAB, 0xA1, 0x1, 0xFF}}}, {{{-4, 34, -19},0, {0, 0},{0xA6, 0x45, 0xC7, 0xFF}}}, {{{-4, 34, 21},0, {0, 0},{0xA6, 0x45, 0x3A, 0xFF}}}, {{{-1, -8, 33},0, {0, 0},{0xB0, 0xDF, 0x5D, 0xFF}}}, {{{19, -10, 41},0, {0, 0},{0xF0, 0xDA, 0x78, 0xFF}}}, {{{20, -45, 0},0, {0, 0},{0xED, 0x82, 0xFF, 0xFF}}}, {{{19, -10, -40},0, {0, 0},{0xEE, 0xDC, 0x87, 0xFF}}}, {{{15, 43, -24},0, {0, 0},{0xE8, 0x65, 0xB6, 0xFF}}}, {{{15, 43, 26},0, {0, 0},{0xE8, 0x64, 0x4B, 0xFF}}}, {{{96, 38, 21},0, {0, 0},{0x38, 0x5C, 0x43, 0xFF}}}, {{{99, -5, 33},0, {0, 0},{0x3C, 0xE2, 0x6C, 0xFF}}}, {{{102, -32, 0},0, {0, 0},{0x43, 0x94, 0x0, 0xFF}}}, {{{99, -5, -32},0, {0, 0},{0x3B, 0xE4, 0x93, 0xFF}}}, {{{96, 38, -19},0, {0, 0},{0x37, 0x5D, 0xBE, 0xFF}}}, {{{121, 7, 0},0, {0, 0},{0x7F, 0x7, 0xFF, 0xFF}}}, {{{96, 38, -19},0, {0, 0},{0x37, 0x5D, 0xBE, 0xFF}}}, {{{96, 38, 21},0, {0, 0},{0x38, 0x5C, 0x43, 0xFF}}}, {{{99, -5, 33},0, {0, 0},{0x3C, 0xE2, 0x6C, 0xFF}}}, {{{102, -32, 0},0, {0, 0},{0x43, 0x94, 0x0, 0xFF}}}, {{{99, -5, -32},0, {0, 0},{0x3B, 0xE4, 0x93, 0xFF}}}, }; const Gfx luigi_left_thigh_dl[] = { gsSPVertex(luigi_left_thigh_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 3, 1, 0), gsSP1Triangle(0, 4, 3, 0), gsSP1Triangle(0, 5, 4, 0), gsSP1Triangle(0, 2, 5, 0), gsSP1Triangle(5, 2, 6, 0), gsSP1Triangle(2, 7, 6, 0), gsSP1Triangle(2, 8, 7, 0), gsSP1Triangle(1, 8, 2, 0), gsSP1Triangle(3, 8, 1, 0), gsSP1Triangle(3, 9, 8, 0), gsSP1Triangle(9, 3, 4, 0), gsSP1Triangle(4, 10, 9, 0), gsSP1Triangle(4, 6, 10, 0), gsSP1Triangle(6, 4, 5, 0), gsSP1Triangle(6, 11, 10, 0), gsSP1Triangle(12, 11, 6, 0), gsSP1Triangle(12, 6, 13, 0), gsSP1Triangle(7, 13, 6, 0), gsSP1Triangle(8, 13, 7, 0), gsSP1Triangle(14, 13, 8, 0), gsSP1Triangle(14, 8, 15, 0), gsSP1Triangle(9, 15, 8, 0), gsSP1Triangle(10, 15, 9, 0), gsSP1Triangle(11, 15, 10, 0), gsSPVertex(luigi_left_thigh_dl_vertex + 16, 6, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 2, 3, 0), gsSP1Triangle(0, 3, 4, 0), gsSP1Triangle(0, 4, 5, 0), gsSP1Triangle(0, 5, 1, 0), gsSPEndDisplayList(), }; const Gfx luigi_left_thigh[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPCopyLightsPlayerPart(PANTS), // gsSPLight(&luigi_blue_lights_group.a, 2), gsSPDisplayList(luigi_left_thigh_dl), gsSPEndDisplayList(), }; const Gfx luigi_metal_left_thigh[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN), gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT), gsDPLoadTextureBlock(luigi_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), gsSPCopyLightsPlayerPart(METAL), gsSPDisplayList(luigi_left_thigh_dl), gsSPEndDisplayList(), }; static const Vtx luigi_left_leg_shared_dl_vertex[12] = { {{{66, -52, 0},0, {0, 0},{0x22, 0x86, 0x0, 0xFF}}}, {{{73, -17, 38},0, {0, 0},{0x32, 0xD7, 0x6D, 0xFF}}}, {{{-2, -33, 0},0, {0, 0},{0xB1, 0x9C, 0x0, 0xFF}}}, {{{93, -6, 0},0, {0, 0},{0x7D, 0xE9, 0x0, 0xFF}}}, {{{73, -17, -39},0, {0, 0},{0x31, 0xD8, 0x92, 0xFF}}}, {{{3, -2, -33},0, {0, 0},{0xC2, 0xF1, 0x92, 0xFF}}}, {{{-18, 14, 0},0, {0, 0},{0x85, 0x1E, 0x0, 0xFF}}}, {{{3, -2, 33},0, {0, 0},{0xC2, 0xEE, 0x6E, 0xFF}}}, {{{11, 36, 21},0, {0, 0},{0xD6, 0x62, 0x45, 0xFF}}}, {{{83, 35, 24},0, {0, 0},{0x45, 0x51, 0x45, 0xFF}}}, {{{83, 36, -23},0, {0, 0},{0x44, 0x54, 0xBD, 0xFF}}}, {{{11, 36, -19},0, {0, 0},{0xD7, 0x64, 0xBD, 0xFF}}}, }; const Gfx luigi_left_leg_shared_dl[] = { gsSPVertex(luigi_left_leg_shared_dl_vertex + 0, 12, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 1, 0, 0), gsSP1Triangle(3, 0, 4, 0), gsSP1Triangle(4, 0, 2, 0), gsSP1Triangle(5, 4, 2, 0), gsSP1Triangle(6, 5, 2, 0), gsSP1Triangle(6, 2, 7, 0), gsSP1Triangle(7, 2, 1, 0), gsSP1Triangle(7, 1, 8, 0), gsSP1Triangle(1, 9, 8, 0), gsSP1Triangle(3, 9, 1, 0), gsSP1Triangle(3, 10, 9, 0), gsSP1Triangle(3, 4, 10, 0), gsSP1Triangle(10, 4, 11, 0), gsSP1Triangle(5, 11, 4, 0), gsSP1Triangle(6, 11, 5, 0), gsSP1Triangle(6, 8, 11, 0), gsSP1Triangle(6, 7, 8, 0), gsSP1Triangle(11, 8, 10, 0), gsSP1Triangle(9, 10, 8, 0), gsSPEndDisplayList(), }; static const Vtx luigi_left_foot_shared_dl_vertex[28] = { {{{124, 9, -29},0, {0, 0},{0x28, 0x79, 0xFE, 0xFF}}}, {{{90, 20, -50},0, {0, 0},{0x28, 0x79, 0xFF, 0xFF}}}, {{{124, 10, 26},0, {0, 0},{0x26, 0x79, 0xFF, 0xFF}}}, {{{92, 20, 51},0, {0, 0},{0x27, 0x79, 0x0, 0xFF}}}, {{{0, 51, -40},0, {0, 0},{0x29, 0x78, 0x0, 0xFF}}}, {{{1, 51, 45},0, {0, 0},{0x28, 0x79, 0x0, 0xFF}}}, {{{-26, 60, -16},0, {0, 0},{0x28, 0x79, 0x0, 0xFF}}}, {{{-28, 60, 18},0, {0, 0},{0x24, 0x7A, 0x2, 0xFF}}}, {{{124, 9, -29},0, {0, 0},{0x4B, 0xAB, 0xC6, 0xFF}}}, {{{124, 10, 26},0, {0, 0},{0x4F, 0xAD, 0x37, 0xFF}}}, {{{95, -31, -1},0, {0, 0},{0x38, 0x8E, 0xFE, 0xFF}}}, {{{60, -13, 45},0, {0, 0},{0x3, 0xB5, 0x67, 0xFF}}}, {{{92, 20, 51},0, {0, 0},{0x1E, 0xCF, 0x71, 0xFF}}}, {{{1, 51, 45},0, {0, 0},{0xD0, 0xFF, 0x76, 0xFF}}}, {{{-20, 9, 35},0, {0, 0},{0xB4, 0xCC, 0x58, 0xFF}}}, {{{-28, 60, 18},0, {0, 0},{0x8C, 0x15, 0x30, 0xFF}}}, {{{-39, 11, 0},0, {0, 0},{0x8A, 0xD0, 0xFF, 0xFF}}}, {{{-20, 9, 35},0, {0, 0},{0xB4, 0xCC, 0x58, 0xFF}}}, {{{-28, 60, 18},0, {0, 0},{0x8C, 0x15, 0x30, 0xFF}}}, {{{-26, 60, -16},0, {0, 0},{0x90, 0x17, 0xC9, 0xFF}}}, {{{-22, 8, -30},0, {0, 0},{0xB3, 0xCC, 0xA9, 0xFF}}}, {{{0, 51, -40},0, {0, 0},{0xCE, 0x0, 0x8B, 0xFF}}}, {{{58, -13, -42},0, {0, 0},{0xFF, 0xB6, 0x99, 0xFF}}}, {{{90, 20, -50},0, {0, 0},{0x14, 0xD1, 0x8C, 0xFF}}}, {{{124, 9, -29},0, {0, 0},{0x4B, 0xAB, 0xC6, 0xFF}}}, {{{95, -31, -1},0, {0, 0},{0x38, 0x8E, 0xFE, 0xFF}}}, {{{41, -37, 0},0, {0, 0},{0xE9, 0x83, 0xFF, 0xFF}}}, {{{60, -13, 45},0, {0, 0},{0x3, 0xB5, 0x67, 0xFF}}}, }; const Gfx luigi_left_foot_shared_dl[] = { gsSPVertex(luigi_left_foot_shared_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(2, 1, 3, 0), gsSP1Triangle(1, 4, 3, 0), gsSP1Triangle(3, 4, 5, 0), gsSP1Triangle(4, 6, 5, 0), gsSP1Triangle(6, 7, 5, 0), gsSP1Triangle(8, 9, 10, 0), gsSP1Triangle(10, 9, 11, 0), gsSP1Triangle(12, 11, 9, 0), gsSP1Triangle(12, 13, 11, 0), gsSP1Triangle(11, 13, 14, 0), gsSP1Triangle(13, 15, 14, 0), gsSPVertex(luigi_left_foot_shared_dl_vertex + 16, 12, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(2, 3, 0, 0), gsSP1Triangle(4, 0, 3, 0), gsSP1Triangle(5, 4, 3, 0), gsSP1Triangle(4, 5, 6, 0), gsSP1Triangle(5, 7, 6, 0), gsSP1Triangle(7, 8, 6, 0), gsSP1Triangle(9, 6, 8, 0), gsSP1Triangle(6, 9, 10, 0), gsSP1Triangle(11, 10, 9, 0), gsSP1Triangle(11, 1, 10, 0), gsSP1Triangle(1, 0, 10, 0), gsSP1Triangle(4, 10, 0, 0), gsSP1Triangle(6, 10, 4, 0), gsSPEndDisplayList(), }; const Gfx luigi_left_foot[] = { gsSPCopyLightsPlayerPart(SHOES), gsSPDisplayList(luigi_left_foot_shared_dl), gsSPEndDisplayList(), }; static const Vtx luigi_right_thigh_dl_vertex[26] = { {{{19, -10, 40},0, {0, 0},{0xEE, 0xDC, 0x79, 0xFF}}}, {{{20, -45, 0},0, {0, 0},{0xEE, 0x82, 0x1, 0xFF}}}, {{{102, -32, 0},0, {0, 0},{0x43, 0x94, 0x0, 0xFF}}}, {{{0, -34, -1},0, {0, 0},{0xAC, 0xA0, 0xFF, 0xFF}}}, {{{-1, -8, 31},0, {0, 0},{0xAE, 0xDF, 0x5C, 0xFF}}}, {{{-4, 34, 19},0, {0, 0},{0xA7, 0x46, 0x3B, 0xFF}}}, {{{15, 43, 24},0, {0, 0},{0xE9, 0x64, 0x4A, 0xFF}}}, {{{96, 38, 19},0, {0, 0},{0x38, 0x5D, 0x42, 0xFF}}}, {{{99, -5, 32},0, {0, 0},{0x3C, 0xE4, 0x6D, 0xFF}}}, {{{121, 7, -1},0, {0, 0},{0x7F, 0x7, 0xFF, 0xFF}}}, {{{98, -5, -33},0, {0, 0},{0x3A, 0xE1, 0x93, 0xFF}}}, {{{18, -10, -41},0, {0, 0},{0xEF, 0xDB, 0x88, 0xFF}}}, {{{-2, -8, -32},0, {0, 0},{0xAE, 0xDE, 0xA6, 0xFF}}}, {{{-17, 2, -1},0, {0, 0},{0x81, 0xF7, 0x1, 0xFF}}}, {{{-5, 34, -21},0, {0, 0},{0xA7, 0x46, 0xC5, 0xFF}}}, {{{14, 43, -25},0, {0, 0},{0xE9, 0x65, 0xB7, 0xFF}}}, {{{96, 38, -21},0, {0, 0},{0x38, 0x5C, 0xBC, 0xFF}}}, {{{14, 43, -25},0, {0, 0},{0xE9, 0x65, 0xB7, 0xFF}}}, {{{96, 38, 19},0, {0, 0},{0x38, 0x5D, 0x42, 0xFF}}}, {{{121, 7, -1},0, {0, 0},{0x7F, 0x7, 0xFF, 0xFF}}}, {{{99, -5, 32},0, {0, 0},{0x3C, 0xE4, 0x6D, 0xFF}}}, {{{98, -5, -33},0, {0, 0},{0x3A, 0xE1, 0x93, 0xFF}}}, {{{18, -10, -41},0, {0, 0},{0xEF, 0xDB, 0x88, 0xFF}}}, {{{-5, 34, -21},0, {0, 0},{0xA7, 0x46, 0xC5, 0xFF}}}, {{{-2, -8, -32},0, {0, 0},{0xAE, 0xDE, 0xA6, 0xFF}}}, {{{-17, 2, -1},0, {0, 0},{0x81, 0xF7, 0x1, 0xFF}}}, }; const Gfx luigi_right_thigh_shared_dl[] = { gsSPVertex(luigi_right_thigh_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 1, 0, 0), gsSP1Triangle(4, 3, 0, 0), gsSP1Triangle(4, 0, 5, 0), gsSP1Triangle(5, 0, 6, 0), gsSP1Triangle(6, 0, 7, 0), gsSP1Triangle(8, 7, 0, 0), gsSP1Triangle(8, 0, 2, 0), gsSP1Triangle(9, 8, 2, 0), gsSP1Triangle(9, 2, 10, 0), gsSP1Triangle(10, 2, 11, 0), gsSP1Triangle(1, 11, 2, 0), gsSP1Triangle(3, 11, 1, 0), gsSP1Triangle(12, 11, 3, 0), gsSP1Triangle(13, 12, 3, 0), gsSP1Triangle(13, 3, 4, 0), gsSP1Triangle(13, 4, 5, 0), gsSP1Triangle(13, 5, 14, 0), gsSP1Triangle(5, 6, 14, 0), gsSP1Triangle(14, 6, 15, 0), gsSP1Triangle(15, 6, 7, 0), gsSPVertex(luigi_right_thigh_dl_vertex + 16, 10, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 0, 2, 0), gsSP1Triangle(3, 2, 4, 0), gsSP1Triangle(3, 5, 0, 0), gsSP1Triangle(5, 6, 0, 0), gsSP1Triangle(6, 1, 0, 0), gsSP1Triangle(7, 1, 6, 0), gsSP1Triangle(8, 7, 6, 0), gsSP1Triangle(9, 7, 8, 0), gsSPEndDisplayList(), }; const Gfx luigi_right_thigh[] = { gsSPCopyLightsPlayerPart(PANTS), // gsSPLight(&luigi_blue_lights_group.a, 2), gsSPDisplayList(luigi_right_thigh_shared_dl), gsSPEndDisplayList(), }; static const Vtx luigi_right_leg_shared_dl_vertex[22] = { {{{72, -17, -38},0, {0, 0},{0xFD, 0x21, 0x85, 0xFF}}}, {{{10, 38, -21},0, {0, 0},{0xD4, 0x61, 0xBB, 0xFF}}}, {{{82, 38, -24},0, {0, 0},{0xFB, 0x20, 0x85, 0xFF}}}, {{{2, -2, -33},0, {0, 0},{0xC1, 0xED, 0x93, 0xFF}}}, {{{-18, 14, 0},0, {0, 0},{0x84, 0x1B, 0x0, 0xFF}}}, {{{-2, -33, 0},0, {0, 0},{0xB3, 0x9B, 0x0, 0xFF}}}, {{{72, -17, -38},0, {0, 0},{0xE8, 0xA5, 0xAB, 0xFF}}}, {{{65, -50, 0},0, {0, 0},{0xE9, 0xA4, 0xAC, 0xFF}}}, {{{2, -2, 33},0, {0, 0},{0xC1, 0xEE, 0x6D, 0xFF}}}, {{{73, -17, 38},0, {0, 0},{0xE8, 0xA5, 0x56, 0xFF}}}, {{{65, -50, 0},0, {0, 0},{0xE9, 0xA4, 0x55, 0xFF}}}, {{{11, 38, 21},0, {0, 0},{0xD6, 0x62, 0x46, 0xFF}}}, {{{73, -17, 38},0, {0, 0},{0xFE, 0x23, 0x7A, 0xFF}}}, {{{83, 38, 23},0, {0, 0},{0xFD, 0x22, 0x7A, 0xFF}}}, {{{83, 38, 23},0, {0, 0},{0x0, 0x7F, 0x0, 0xFF}}}, {{{82, 38, -24},0, {0, 0},{0x0, 0x7F, 0x0, 0xFF}}}, {{{95, -5, 0},0, {0, 0},{0x7D, 0xE9, 0xFF, 0xFF}}}, {{{65, -50, 0},0, {0, 0},{0x6A, 0xBA, 0xFF, 0xFF}}}, {{{72, -17, -38},0, {0, 0},{0x6D, 0xD9, 0xCB, 0xFF}}}, {{{73, -17, 38},0, {0, 0},{0x6E, 0xD9, 0x33, 0xFF}}}, {{{83, 38, 23},0, {0, 0},{0x7B, 0x13, 0x1B, 0xFF}}}, {{{82, 38, -24},0, {0, 0},{0x79, 0x13, 0xE0, 0xFF}}}, }; const Gfx luigi_right_leg_shared_dl[] = { gsSPVertex(luigi_right_leg_shared_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 1, 0, 0), gsSP1Triangle(4, 1, 3, 0), gsSP1Triangle(4, 3, 5, 0), gsSP1Triangle(3, 6, 5, 0), gsSP1Triangle(7, 5, 6, 0), gsSP1Triangle(4, 5, 8, 0), gsSP1Triangle(8, 5, 9, 0), gsSP1Triangle(9, 5, 10, 0), gsSP1Triangle(4, 8, 11, 0), gsSP1Triangle(8, 12, 11, 0), gsSP1Triangle(13, 11, 12, 0), gsSP1Triangle(4, 11, 1, 0), gsSP1Triangle(11, 14, 1, 0), gsSP1Triangle(15, 1, 14, 0), gsSPVertex(luigi_right_leg_shared_dl_vertex + 16, 6, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 3, 1, 0), gsSP1Triangle(0, 4, 3, 0), gsSP1Triangle(0, 5, 4, 0), gsSP1Triangle(0, 2, 5, 0), gsSPEndDisplayList(), }; static const Vtx luigi_right_foot_shared_dl_vertex[28] = { {{{-26, 60, 15},0, {0, 0},{0x27, 0x79, 0xFF, 0xFF}}}, {{{0, 51, -46},0, {0, 0},{0x28, 0x79, 0xFF, 0xFF}}}, {{{-30, 60, -17},0, {0, 0},{0x21, 0x7B, 0xFC, 0xFF}}}, {{{1, 51, 39},0, {0, 0},{0x28, 0x79, 0xFF, 0xFF}}}, {{{90, 20, -54},0, {0, 0},{0x28, 0x79, 0xFF, 0xFF}}}, {{{90, 22, 47},0, {0, 0},{0x28, 0x79, 0xFE, 0xFF}}}, {{{122, 10, -30},0, {0, 0},{0x28, 0x79, 0xFE, 0xFF}}}, {{{124, 10, 26},0, {0, 0},{0x29, 0x78, 0xFF, 0xFF}}}, {{{124, 10, 26},0, {0, 0},{0x4D, 0xAE, 0x3B, 0xFF}}}, {{{94, -31, 0},0, {0, 0},{0x38, 0x8E, 0x3, 0xFF}}}, {{{122, 10, -30},0, {0, 0},{0x4D, 0xAC, 0xC8, 0xFF}}}, {{{60, -12, 41},0, {0, 0},{0x1, 0xB9, 0x69, 0xFF}}}, {{{90, 22, 47},0, {0, 0},{0x16, 0xD7, 0x76, 0xFF}}}, {{{1, 51, 39},0, {0, 0},{0xD0, 0x0, 0x76, 0xFF}}}, {{{-20, 9, 30},0, {0, 0},{0xB7, 0xCD, 0x5B, 0xFF}}}, {{{-26, 60, 15},0, {0, 0},{0x92, 0x16, 0x3C, 0xFF}}}, {{{-20, 9, 30},0, {0, 0},{0xB7, 0xCD, 0x5B, 0xFF}}}, {{{-26, 60, 15},0, {0, 0},{0x92, 0x16, 0x3C, 0xFF}}}, {{{-40, 11, 0},0, {0, 0},{0x8B, 0xD0, 0x7, 0xFF}}}, {{{-30, 60, -17},0, {0, 0},{0x8A, 0x15, 0xD5, 0xFF}}}, {{{-22, 8, -35},0, {0, 0},{0xB3, 0xCA, 0xAB, 0xFF}}}, {{{0, 51, -46},0, {0, 0},{0xCE, 0xFE, 0x8B, 0xFF}}}, {{{58, -14, -46},0, {0, 0},{0x0, 0xB2, 0x9B, 0xFF}}}, {{{90, 20, -54},0, {0, 0},{0x1A, 0xCD, 0x8F, 0xFF}}}, {{{122, 10, -30},0, {0, 0},{0x4D, 0xAC, 0xC8, 0xFF}}}, {{{94, -31, 0},0, {0, 0},{0x38, 0x8E, 0x3, 0xFF}}}, {{{41, -36, 0},0, {0, 0},{0xE8, 0x83, 0x5, 0xFF}}}, {{{60, -12, 41},0, {0, 0},{0x1, 0xB9, 0x69, 0xFF}}}, }; const Gfx luigi_right_foot_dl[] = { gsSPVertex(luigi_right_foot_shared_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 1, 0, 0), gsSP1Triangle(4, 1, 3, 0), gsSP1Triangle(5, 4, 3, 0), gsSP1Triangle(6, 4, 5, 0), gsSP1Triangle(7, 6, 5, 0), gsSP1Triangle(8, 9, 10, 0), gsSP1Triangle(9, 8, 11, 0), gsSP1Triangle(12, 11, 8, 0), gsSP1Triangle(13, 11, 12, 0), gsSP1Triangle(14, 11, 13, 0), gsSP1Triangle(13, 15, 14, 0), gsSPVertex(luigi_right_foot_shared_dl_vertex + 16, 12, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 2, 1, 0), gsSP1Triangle(2, 3, 4, 0), gsSP1Triangle(5, 4, 3, 0), gsSP1Triangle(6, 4, 5, 0), gsSP1Triangle(7, 6, 5, 0), gsSP1Triangle(7, 8, 6, 0), gsSP1Triangle(9, 6, 8, 0), gsSP1Triangle(6, 9, 10, 0), gsSP1Triangle(11, 10, 9, 0), gsSP1Triangle(11, 0, 10, 0), gsSP1Triangle(0, 2, 10, 0), gsSP1Triangle(4, 10, 2, 0), gsSP1Triangle(6, 10, 4, 0), gsSPEndDisplayList(), }; const Gfx luigi_right_foot[] = { gsSPCopyLightsPlayerPart(SHOES), gsSPDisplayList(luigi_right_foot_dl), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsDPSetEnvColor(255, 255, 255, 255), gsDPSetAlphaCompare(G_AC_NONE), gsSPEndDisplayList(), }; const Gfx luigi_metal_right_foot[] = { gsSPDisplayList(luigi_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(), }; static const Vtx luigi_yellow_button_dl_vertex[14] = { {{{1, 78, -32},0, {799, 971},{0x10, 0x76, 0xD4, 0xFF}}}, {{{18, 74, -23},0, {973, 546},{0x26, 0x79, 0xF6, 0xFF}}}, {{{39, 66, -26},0, {853, 75},{0x3F, 0x6B, 0xE5, 0xFF}}}, {{{-6, 66, -49},0, {323, 1014},{0x1, 0x67, 0xB5, 0xFF}}}, {{{8, 57, -61},0, {11, 654},{0x12, 0x52, 0xA0, 0xFF}}}, {{{24, 53, -58},0, {28, 302},{0x24, 0x4D, 0xA2, 0xFF}}}, {{{39, 56, -47},0, {324, -20},{0x3A, 0x5C, 0xBE, 0xFF}}}, {{{18, 74, 24},0, {8, 500},{0x26, 0x79, 0xA, 0xFF}}}, {{{1, 78, 33},0, {175, 930},{0x10, 0x75, 0x2E, 0xFF}}}, {{{39, 66, 27},0, {130, 50},{0x3F, 0x6B, 0x1B, 0xFF}}}, {{{-6, 66, 49},0, {640, 1014},{0x3, 0x67, 0x4B, 0xFF}}}, {{{8, 57, 61},0, {949, 683},{0x13, 0x54, 0x5D, 0xFF}}}, {{{24, 53, 59},0, {935, 334},{0x20, 0x50, 0x5E, 0xFF}}}, {{{39, 56, 48},0, {647, -8},{0x3A, 0x5D, 0x41, 0xFF}}}, }; static const Vtx luigi_tshirt_shared_dl_vertex[30] = { {{{39, 66, 27},0, {0, 0},{0x3F, 0x6B, 0x1B, 0xFF}}}, {{{76, 31, 22},0, {0, 0},{0x64, 0x4A, 0x1B, 0xFF}}}, {{{39, 66, -26},0, {0, 0},{0x3F, 0x6B, 0xE5, 0xFF}}}, {{{76, 31, -21},0, {0, 0},{0x64, 0x4A, 0xE5, 0xFF}}}, {{{94, -2, 19},0, {0, 0},{0x7B, 0x11, 0x1B, 0xFF}}}, {{{94, -2, -18},0, {0, 0},{0x7B, 0x10, 0xE6, 0xFF}}}, {{{86, -35, 21},0, {0, 0},{0x69, 0xBB, 0x13, 0xFF}}}, {{{86, -35, -19},0, {0, 0},{0x69, 0xBB, 0xEE, 0xFF}}}, {{{47, -62, 0},0, {0, 0},{0x2C, 0x89, 0x0, 0xFF}}}, {{{39, -34, -66},0, {0, 0},{0x1F, 0xCD, 0x90, 0xFF}}}, {{{77, -30, -49},0, {0, 0},{0x59, 0xD6, 0xAF, 0xFF}}}, {{{60, -50, -40},0, {0, 0},{0x38, 0x99, 0xCF, 0xFF}}}, {{{39, -1, -71},0, {0, 0},{0x26, 0x6, 0x87, 0xFF}}}, {{{-1, -13, -73},0, {0, 0},{0x0, 0xEC, 0x83, 0xFF}}}, {{{12, -59, -54},0, {0, 0},{0x8, 0x9B, 0xB3, 0xFF}}}, {{{4, 26, -72},0, {0, 0},{0xA, 0x18, 0x84, 0xFF}}}, {{{4, 26, -72},0, {0, 0},{0xA, 0x18, 0x84, 0xFF}}}, {{{36, 43, -59},0, {0, 0},{0x34, 0x33, 0x98, 0xFF}}}, {{{39, -1, -71},0, {0, 0},{0x26, 0x6, 0x87, 0xFF}}}, {{{73, 10, -49},0, {0, 0},{0x59, 0x23, 0xAC, 0xFF}}}, {{{77, -30, -49},0, {0, 0},{0x59, 0xD6, 0xAF, 0xFF}}}, {{{39, -34, 67},0, {0, 0},{0x1F, 0xCD, 0x70, 0xFF}}}, {{{-1, -14, 74},0, {0, 0},{0x0, 0xEB, 0x7D, 0xFF}}}, {{{12, -59, 55},0, {0, 0},{0x8, 0x9A, 0x4C, 0xFF}}}, {{{39, -1, 72},0, {0, 0},{0x27, 0x6, 0x79, 0xFF}}}, {{{77, -30, 50},0, {0, 0},{0x58, 0xD7, 0x51, 0xFF}}}, {{{60, -50, 41},0, {0, 0},{0x37, 0x99, 0x31, 0xFF}}}, {{{73, 10, 49},0, {0, 0},{0x59, 0x23, 0x53, 0xFF}}}, {{{36, 43, 61},0, {0, 0},{0x33, 0x35, 0x68, 0xFF}}}, {{{4, 26, 73},0, {0, 0},{0xA, 0x18, 0x7C, 0xFF}}}, }; static const Vtx luigi_pants_overalls_shared_dl_vertex[94] = { {{{18, 74, 24},0, {0, 0},{0x26, 0x79, 0xA, 0xFF}}}, {{{1, 78, -32},0, {0, 0},{0x10, 0x76, 0xD4, 0xFF}}}, {{{1, 78, 33},0, {0, 0},{0x10, 0x75, 0x2E, 0xFF}}}, {{{18, 74, -23},0, {0, 0},{0x26, 0x79, 0xF6, 0xFF}}}, {{{39, 66, -26},0, {0, 0},{0x3F, 0x6B, 0xE5, 0xFF}}}, {{{39, 66, 27},0, {0, 0},{0x3F, 0x6B, 0x1B, 0xFF}}}, {{{-25, 77, 29},0, {0, 0},{0xEF, 0x79, 0x22, 0xFF}}}, {{{-25, 77, -27},0, {0, 0},{0xEF, 0x7A, 0xDF, 0xFF}}}, {{{-6, 66, -49},0, {0, 0},{0x1, 0x67, 0xB5, 0xFF}}}, {{{-39, 54, -59},0, {0, 0},{0xD3, 0x45, 0x9F, 0xFF}}}, {{{-14, 49, -65},0, {0, 0},{0xFA, 0x3D, 0x91, 0xFF}}}, {{{8, 57, -61},0, {0, 0},{0x12, 0x52, 0xA0, 0xFF}}}, {{{4, 26, -72},0, {0, 0},{0xA, 0x18, 0x84, 0xFF}}}, {{{24, 53, -58},0, {0, 0},{0x24, 0x4D, 0xA2, 0xFF}}}, {{{36, 43, -59},0, {0, 0},{0x34, 0x33, 0x98, 0xFF}}}, {{{39, 56, -47},0, {0, 0},{0x3A, 0x5C, 0xBE, 0xFF}}}, {{{36, 43, -59},0, {0, 0},{0x34, 0x33, 0x98, 0xFF}}}, {{{39, 56, -47},0, {0, 0},{0x3A, 0x5C, 0xBE, 0xFF}}}, {{{73, 10, -49},0, {0, 0},{0x59, 0x23, 0xAC, 0xFF}}}, {{{76, 31, -21},0, {0, 0},{0x64, 0x4A, 0xE5, 0xFF}}}, {{{39, 66, -26},0, {0, 0},{0x3F, 0x6B, 0xE5, 0xFF}}}, {{{94, -2, -18},0, {0, 0},{0x7B, 0x10, 0xE6, 0xFF}}}, {{{77, -30, -49},0, {0, 0},{0x59, 0xD6, 0xAF, 0xFF}}}, {{{86, -35, -19},0, {0, 0},{0x69, 0xBB, 0xEE, 0xFF}}}, {{{60, -50, -40},0, {0, 0},{0x38, 0x99, 0xCF, 0xFF}}}, {{{47, -62, 0},0, {0, 0},{0x2C, 0x89, 0x0, 0xFF}}}, {{{12, -59, -54},0, {0, 0},{0x8, 0x9B, 0xB3, 0xFF}}}, {{{0, -71, 0},0, {0, 0},{0x0, 0x81, 0x0, 0xFF}}}, {{{12, -59, 55},0, {0, 0},{0x8, 0x9A, 0x4C, 0xFF}}}, {{{60, -50, 41},0, {0, 0},{0x37, 0x99, 0x31, 0xFF}}}, {{{86, -35, 21},0, {0, 0},{0x69, 0xBB, 0x13, 0xFF}}}, {{{77, -30, 50},0, {0, 0},{0x58, 0xD7, 0x51, 0xFF}}}, {{{86, -35, 21},0, {0, 0},{0x69, 0xBB, 0x13, 0xFF}}}, {{{94, -2, 19},0, {0, 0},{0x7B, 0x11, 0x1B, 0xFF}}}, {{{77, -30, 50},0, {0, 0},{0x58, 0xD7, 0x51, 0xFF}}}, {{{73, 10, 49},0, {0, 0},{0x59, 0x23, 0x53, 0xFF}}}, {{{76, 31, 22},0, {0, 0},{0x64, 0x4A, 0x1B, 0xFF}}}, {{{39, 56, 48},0, {0, 0},{0x3A, 0x5D, 0x41, 0xFF}}}, {{{39, 66, 27},0, {0, 0},{0x3F, 0x6B, 0x1B, 0xFF}}}, {{{36, 43, 61},0, {0, 0},{0x33, 0x35, 0x68, 0xFF}}}, {{{24, 53, 59},0, {0, 0},{0x20, 0x50, 0x5E, 0xFF}}}, {{{4, 26, 73},0, {0, 0},{0xA, 0x18, 0x7C, 0xFF}}}, {{{8, 57, 61},0, {0, 0},{0x13, 0x54, 0x5D, 0xFF}}}, {{{-14, 49, 67},0, {0, 0},{0xFD, 0x3E, 0x6F, 0xFF}}}, {{{-6, 66, 49},0, {0, 0},{0x3, 0x67, 0x4B, 0xFF}}}, {{{-39, 54, 61},0, {0, 0},{0xD3, 0x45, 0x61, 0xFF}}}, {{{-25, 77, 29},0, {0, 0},{0xEF, 0x79, 0x22, 0xFF}}}, {{{1, 78, 33},0, {0, 0},{0x10, 0x75, 0x2E, 0xFF}}}, {{{-51, 63, 43},0, {0, 0},{0xC6, 0x5B, 0x43, 0xFF}}}, {{{-39, 54, 61},0, {0, 0},{0xD3, 0x45, 0x61, 0xFF}}}, {{{-25, 77, 29},0, {0, 0},{0xEF, 0x79, 0x22, 0xFF}}}, {{{-82, 45, 25},0, {0, 0},{0x8D, 0x25, 0x28, 0xFF}}}, {{{-54, 72, 19},0, {0, 0},{0xC6, 0x70, 0x13, 0xFF}}}, {{{-54, 72, -19},0, {0, 0},{0xC7, 0x70, 0xEB, 0xFF}}}, {{{-25, 77, -27},0, {0, 0},{0xEF, 0x7A, 0xDF, 0xFF}}}, {{{-51, 62, -43},0, {0, 0},{0xC5, 0x57, 0xB9, 0xFF}}}, {{{-39, 54, -59},0, {0, 0},{0xD3, 0x45, 0x9F, 0xFF}}}, {{{-82, 45, -23},0, {0, 0},{0x8D, 0x25, 0xD8, 0xFF}}}, {{{-36, 21, -72},0, {0, 0},{0xCE, 0xC, 0x8C, 0xFF}}}, {{{-14, 49, -65},0, {0, 0},{0xFA, 0x3D, 0x91, 0xFF}}}, {{{4, 26, -72},0, {0, 0},{0xA, 0x18, 0x84, 0xFF}}}, {{{-1, -13, -73},0, {0, 0},{0x0, 0xEC, 0x83, 0xFF}}}, {{{-36, -26, -69},0, {0, 0},{0xCD, 0xDD, 0x91, 0xFF}}}, {{{12, -59, -54},0, {0, 0},{0x8, 0x9B, 0xB3, 0xFF}}}, {{{-39, -56, -47},0, {0, 0},{0xCA, 0x9F, 0xC1, 0xFF}}}, {{{-36, -26, -69},0, {0, 0},{0xCD, 0xDD, 0x91, 0xFF}}}, {{{12, -59, -54},0, {0, 0},{0x8, 0x9B, 0xB3, 0xFF}}}, {{{0, -71, 0},0, {0, 0},{0x0, 0x81, 0x0, 0xFF}}}, {{{-40, -64, 0},0, {0, 0},{0xC6, 0x8F, 0x0, 0xFF}}}, {{{-39, -56, 48},0, {0, 0},{0xCA, 0x9F, 0x3E, 0xFF}}}, {{{12, -59, 55},0, {0, 0},{0x8, 0x9A, 0x4C, 0xFF}}}, {{{-36, -26, 70},0, {0, 0},{0xCD, 0xDD, 0x6F, 0xFF}}}, {{{-1, -14, 74},0, {0, 0},{0x0, 0xEB, 0x7D, 0xFF}}}, {{{-36, 21, 73},0, {0, 0},{0xCE, 0xB, 0x74, 0xFF}}}, {{{4, 26, 73},0, {0, 0},{0xA, 0x18, 0x7C, 0xFF}}}, {{{-14, 49, 67},0, {0, 0},{0xFD, 0x3E, 0x6F, 0xFF}}}, {{{-39, 54, 61},0, {0, 0},{0xD3, 0x45, 0x61, 0xFF}}}, {{{-82, 45, 25},0, {0, 0},{0x8D, 0x25, 0x28, 0xFF}}}, {{{-70, -30, 31},0, {0, 0},{0x91, 0xD1, 0x29, 0xFF}}}, {{{-82, 45, -23},0, {0, 0},{0x8D, 0x25, 0xD8, 0xFF}}}, {{{-82, 45, -23},0, {0, 0},{0x8D, 0x25, 0xD8, 0xFF}}}, {{{-82, 45, 25},0, {0, 0},{0x8D, 0x25, 0x28, 0xFF}}}, {{{-54, 72, 19},0, {0, 0},{0xC6, 0x70, 0x13, 0xFF}}}, {{{-54, 72, -19},0, {0, 0},{0xC7, 0x70, 0xEB, 0xFF}}}, {{{-51, 62, -43},0, {0, 0},{0xC5, 0x57, 0xB9, 0xFF}}}, {{{-70, -30, -30},0, {0, 0},{0x91, 0xD1, 0xD7, 0xFF}}}, {{{-70, -30, 31},0, {0, 0},{0x91, 0xD1, 0x29, 0xFF}}}, {{{-40, -64, 0},0, {0, 0},{0xC6, 0x8F, 0x0, 0xFF}}}, {{{-39, -56, -47},0, {0, 0},{0xCA, 0x9F, 0xC1, 0xFF}}}, {{{-36, -26, -69},0, {0, 0},{0xCD, 0xDD, 0x91, 0xFF}}}, {{{-36, 21, -72},0, {0, 0},{0xCE, 0xC, 0x8C, 0xFF}}}, {{{-39, -56, 48},0, {0, 0},{0xCA, 0x9F, 0x3E, 0xFF}}}, {{{-36, -26, 70},0, {0, 0},{0xCD, 0xDD, 0x6F, 0xFF}}}, {{{-36, 21, 73},0, {0, 0},{0xCE, 0xB, 0x74, 0xFF}}}, }; const Gfx luigi_yellow_button_dl[] = { gsSPVertex(luigi_yellow_button_dl_vertex + 0, 14, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 2, 3, 0), gsSP1Triangle(3, 2, 4, 0), gsSP1Triangle(4, 2, 5, 0), gsSP1Triangle(6, 5, 2, 0), gsSP1Triangle(7, 8, 9, 0), gsSP1Triangle(10, 9, 8, 0), gsSP1Triangle(11, 9, 10, 0), gsSP1Triangle(12, 9, 11, 0), gsSP1Triangle(13, 9, 12, 0), gsSPEndDisplayList(), }; const Gfx luigi_pants_overalls_shared_dl[] = { gsSPVertex(luigi_pants_overalls_shared_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 1, 0, 0), gsSP1Triangle(3, 0, 4, 0), gsSP1Triangle(0, 5, 4, 0), gsSP1Triangle(1, 6, 2, 0), gsSP1Triangle(7, 6, 1, 0), gsSP1Triangle(8, 7, 1, 0), gsSP1Triangle(8, 9, 7, 0), gsSP1Triangle(8, 10, 9, 0), gsSP1Triangle(8, 11, 10, 0), gsSP1Triangle(10, 11, 12, 0), gsSP1Triangle(11, 13, 12, 0), gsSP1Triangle(13, 14, 12, 0), gsSP1Triangle(14, 13, 15, 0), gsSPVertex(luigi_pants_overalls_shared_dl_vertex + 16, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(2, 1, 3, 0), gsSP1Triangle(4, 3, 1, 0), gsSP1Triangle(3, 5, 2, 0), gsSP1Triangle(5, 6, 2, 0), gsSP1Triangle(7, 6, 5, 0), gsSP1Triangle(7, 8, 6, 0), gsSP1Triangle(8, 7, 9, 0), gsSP1Triangle(9, 10, 8, 0), gsSP1Triangle(11, 10, 9, 0), gsSP1Triangle(9, 12, 11, 0), gsSP1Triangle(13, 12, 9, 0), gsSP1Triangle(13, 9, 14, 0), gsSP1Triangle(14, 15, 13, 0), gsSPVertex(luigi_pants_overalls_shared_dl_vertex + 32, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(2, 1, 3, 0), gsSP1Triangle(4, 3, 1, 0), gsSP1Triangle(4, 5, 3, 0), gsSP1Triangle(5, 4, 6, 0), gsSP1Triangle(7, 3, 5, 0), gsSP1Triangle(7, 5, 8, 0), gsSP1Triangle(7, 8, 9, 0), gsSP1Triangle(10, 9, 8, 0), gsSP1Triangle(11, 9, 10, 0), gsSP1Triangle(11, 10, 12, 0), gsSP1Triangle(11, 12, 13, 0), gsSP1Triangle(13, 12, 14, 0), gsSP1Triangle(15, 14, 12, 0), gsSPVertex(luigi_pants_overalls_shared_dl_vertex + 48, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 0, 3, 0), gsSP1Triangle(4, 3, 0, 0), gsSP1Triangle(2, 4, 0, 0), gsSP1Triangle(4, 2, 5, 0), gsSP1Triangle(6, 5, 2, 0), gsSP1Triangle(6, 7, 5, 0), gsSP1Triangle(7, 6, 8, 0), gsSP1Triangle(8, 9, 7, 0), gsSP1Triangle(10, 9, 8, 0), gsSP1Triangle(8, 11, 10, 0), gsSP1Triangle(11, 12, 10, 0), gsSP1Triangle(10, 12, 13, 0), gsSP1Triangle(10, 13, 14, 0), gsSP1Triangle(14, 13, 15, 0), gsSPVertex(luigi_pants_overalls_shared_dl_vertex + 64, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(2, 3, 0, 0), gsSP1Triangle(4, 0, 3, 0), gsSP1Triangle(4, 3, 5, 0), gsSP1Triangle(5, 3, 6, 0), gsSP1Triangle(7, 5, 6, 0), gsSP1Triangle(7, 6, 8, 0), gsSP1Triangle(9, 7, 8, 0), gsSP1Triangle(10, 9, 8, 0), gsSP1Triangle(10, 11, 9, 0), gsSP1Triangle(9, 11, 12, 0), gsSP1Triangle(9, 12, 13, 0), gsSP1Triangle(13, 14, 9, 0), gsSP1Triangle(14, 13, 15, 0), gsSPVertex(luigi_pants_overalls_shared_dl_vertex + 80, 14, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 0, 2, 0), gsSP1Triangle(3, 4, 0, 0), gsSP1Triangle(5, 6, 0, 0), gsSP1Triangle(5, 7, 6, 0), gsSP1Triangle(5, 8, 7, 0), gsSP1Triangle(8, 5, 9, 0), gsSP1Triangle(9, 5, 10, 0), gsSP1Triangle(0, 10, 5, 0), gsSP1Triangle(11, 6, 7, 0), gsSP1Triangle(12, 6, 11, 0), gsSP1Triangle(12, 13, 6, 0), gsSPEndDisplayList(), }; const Gfx luigi_tshirt_shared_dl[] = { gsSPVertex(luigi_tshirt_shared_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 3, 2, 0), gsSP1Triangle(3, 1, 4, 0), gsSP1Triangle(5, 3, 4, 0), gsSP1Triangle(4, 6, 5, 0), gsSP1Triangle(6, 7, 5, 0), gsSP1Triangle(7, 6, 8, 0), gsSP1Triangle(9, 10, 11, 0), gsSP1Triangle(9, 12, 10, 0), gsSP1Triangle(12, 9, 13, 0), gsSP1Triangle(9, 14, 13, 0), gsSP1Triangle(11, 14, 9, 0), gsSP1Triangle(15, 12, 13, 0), gsSPVertex(luigi_tshirt_shared_dl_vertex + 16, 14, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(2, 1, 3, 0), gsSP1Triangle(2, 3, 4, 0), gsSP1Triangle(5, 6, 7, 0), gsSP1Triangle(8, 6, 5, 0), gsSP1Triangle(5, 9, 8, 0), gsSP1Triangle(5, 10, 9, 0), gsSP1Triangle(10, 5, 7, 0), gsSP1Triangle(8, 9, 11, 0), gsSP1Triangle(8, 11, 12, 0), gsSP1Triangle(8, 12, 13, 0), gsSP1Triangle(6, 8, 13, 0), gsSPEndDisplayList(), }; const Gfx luigi_torso_dl[] = { gsSPDisplayList(luigi_pants_overalls_shared_dl), gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&luigi_green_lights_group.a, 2), gsSPDisplayList(luigi_tshirt_shared_dl), gsSPEndDisplayList(), }; const Gfx luigi_torso[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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, luigi_texture_yellow_button), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_yellow_button_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_torso_dl), gsSPEndDisplayList(), }; const Gfx luigi_metal_torso_shared_dl[] = { gsSPDisplayList(luigi_yellow_button_dl), gsSPDisplayList(luigi_pants_overalls_shared_dl), gsSPDisplayList(luigi_tshirt_shared_dl), gsSPEndDisplayList(), }; static const Vtx luigi_l_logo_dl_vertex[7] = { {{{186, 82, 26},0, {732, 864},{0x4D, 0x55, 0x38, 0xFF}}}, {{{147, 30, 77},0, {1214, 1190},{0xFD, 0x45, 0x6B, 0xFF}}}, {{{246, 59, 57},0, {998, 194},{0x3F, 0x48, 0x54, 0xFF}}}, {{{272, 72, 0},0, {466, -50},{0x60, 0x53, 0x0, 0xFF}}}, {{{186, 82, -25},0, {248, 876},{0x4D, 0x54, 0xC8, 0xFF}}}, {{{246, 59, -56},0, {-52, 224},{0x3F, 0x48, 0xAC, 0xFF}}}, {{{147, 30, -75},0, {-212, 1230},{0xFE, 0x45, 0x95, 0xFF}}}, }; static const Vtx luigi_eyes_cap_on_dl_vertex[12] = { {{{166, 83, -26},0, {194, 72},{0xA2, 0x54, 0xF3, 0xFF}}}, {{{147, 30, -75},0, {-334, 216},{0xFE, 0x45, 0x95, 0xFF}}}, {{{135, 73, -54},0, {-94, 378},{0x1A, 0x5A, 0xAA, 0xFF}}}, {{{78, 89, -19},0, {272, 992},{0x44, 0x42, 0xAB, 0xFF}}}, {{{94, 75, -56},0, {-108, 832},{0x14, 0x63, 0xB2, 0xFF}}}, {{{135, 93, 0},0, {480, 426},{0xB, 0x7F, 0x0, 0xFF}}}, {{{166, 83, 26},0, {754, 64},{0xA2, 0x55, 0xD, 0xFF}}}, {{{78, 89, 19},0, {704, 984},{0x47, 0x41, 0x53, 0xFF}}}, {{{88, 91, 0},0, {488, 928},{0x5A, 0x5A, 0x0, 0xFF}}}, {{{135, 73, 55},0, {1054, 362},{0x1B, 0x5B, 0x54, 0xFF}}}, {{{94, 75, 57},0, {1084, 812},{0x14, 0x64, 0x4C, 0xFF}}}, {{{147, 30, 77},0, {1290, 192},{0xFD, 0x45, 0x6B, 0xFF}}}, }; static const Vtx luigi_hair_sideburn_cap_on_dl_vertex[12] = { {{{88, 42, -75},0, {-20, 677},{0x7, 0x29, 0x88, 0xFF}}}, {{{147, 30, -75},0, {146, -91},{0xFE, 0x45, 0x95, 0xFF}}}, {{{122, -10, -90},0, {903, 197},{0xEA, 0x24, 0x88, 0xFF}}}, {{{78, -26, -90},0, {1236, 633},{0x2, 0x59, 0xA5, 0xFF}}}, {{{35, -5, -82},0, {873, 1170},{0xBE, 0xFA, 0x94, 0xFF}}}, {{{35, 34, -78},0, {177, 1280},{0xD6, 0x1A, 0x8B, 0xFF}}}, {{{88, 42, 77},0, {-49, 678},{0x6, 0x29, 0x78, 0xFF}}}, {{{122, -10, 91},0, {890, 135},{0xE9, 0x23, 0x78, 0xFF}}}, {{{147, 30, 77},0, {93, -96},{0xFD, 0x45, 0x6B, 0xFF}}}, {{{78, -26, 91},0, {1308, 629},{0x2, 0x58, 0x5C, 0xFF}}}, {{{35, -5, 83},0, {935, 1165},{0xBD, 0xF9, 0x6C, 0xFF}}}, {{{35, 34, 79},0, {185, 1281},{0xD4, 0x1B, 0x74, 0xFF}}}, }; static const Vtx luigi_mustache_cap_on_dl_vertex[21] = { {{{78, 89, 19},0, {287, -37},{0x47, 0x41, 0x53, 0xFF}}}, {{{58, 93, 27},0, {392, 376},{0x13, 0x21, 0x79, 0xFF}}}, {{{67, 77, 67},0, {910, 14},{0x8, 0x58, 0x5C, 0xFF}}}, {{{36, 79, 57},0, {776, 534},{0xD1, 0x57, 0x50, 0xFF}}}, {{{36, 94, 26},0, {339, 690},{0xB6, 0x29, 0x5F, 0xFF}}}, {{{14, 82, 24},0, {376, 1000},{0xAC, 0x5A, 0x20, 0xFF}}}, {{{24, 90, 0},0, {42, 934},{0x8C, 0x33, 0x0, 0xFF}}}, {{{-6, 40, 42},0, {825, 1115},{0x93, 0x14, 0x3F, 0xFF}}}, {{{35, 34, 79},0, {1273, 323},{0xD4, 0x1B, 0x74, 0xFF}}}, {{{36, 94, -26},0, {324, 713},{0xBB, 0x2C, 0x9F, 0xFF}}}, {{{14, 82, -24},0, {347, 1008},{0xAC, 0x5A, 0xE0, 0xFF}}}, {{{24, 90, 0},0, {29, 971},{0x8C, 0x33, 0x0, 0xFF}}}, {{{36, 79, -57},0, {749, 534},{0xD3, 0x57, 0xAF, 0xFF}}}, {{{58, 93, -26},0, {388, 378},{0x13, 0x22, 0x87, 0xFF}}}, {{{67, 77, -66},0, {900, 22},{0x9, 0x57, 0xA3, 0xFF}}}, {{{78, 89, -19},0, {302, 17},{0x44, 0x42, 0xAB, 0xFF}}}, {{{35, 34, -78},0, {1236, 294},{0xD6, 0x1A, 0x8B, 0xFF}}}, {{{36, 79, -57},0, {749, 534},{0xD3, 0x57, 0xAF, 0xFF}}}, {{{67, 77, -66},0, {900, 22},{0x9, 0x57, 0xA3, 0xFF}}}, {{{-6, 40, -42},0, {774, 1088},{0x94, 0x14, 0xC1, 0xFF}}}, {{{14, 82, -24},0, {347, 1008},{0xAC, 0x5A, 0xE0, 0xFF}}}, }; static const Vtx luigi_face_cap_dl_vertex[40] = { {{{246, 59, 57},0, {0, 0},{0x3F, 0x48, 0x54, 0xFF}}}, {{{147, 30, 77},0, {0, 0},{0xFD, 0x45, 0x6B, 0xFF}}}, {{{184, -5, 117},0, {0, 0},{0x1C, 0xA, 0x7B, 0xFF}}}, {{{122, -10, 91},0, {0, 0},{0xE9, 0x23, 0x78, 0xFF}}}, {{{130, -56, 107},0, {0, 0},{0xE8, 0xDD, 0x78, 0xFF}}}, {{{92, -58, 73},0, {0, 0},{0xCB, 0xC2, 0x61, 0xFF}}}, {{{66, -98, 42},0, {0, 0},{0xD5, 0x9E, 0x44, 0xFF}}}, {{{77, -134, 42},0, {0, 0},{0xBB, 0xA3, 0x34, 0xFF}}}, {{{77, -134, -41},0, {0, 0},{0xBB, 0xA2, 0xCD, 0xFF}}}, {{{66, -98, -42},0, {0, 0},{0xD4, 0xA0, 0xB9, 0xFF}}}, {{{130, -56, -106},0, {0, 0},{0xE9, 0xDE, 0x88, 0xFF}}}, {{{92, -58, -72},0, {0, 0},{0xCB, 0xC2, 0x9E, 0xFF}}}, {{{122, -10, -90},0, {0, 0},{0xEA, 0x24, 0x88, 0xFF}}}, {{{184, -5, -115},0, {0, 0},{0x1C, 0xB, 0x85, 0xFF}}}, {{{147, 30, -75},0, {0, 0},{0xFE, 0x45, 0x95, 0xFF}}}, {{{246, 59, -56},0, {0, 0},{0x3F, 0x48, 0xAC, 0xFF}}}, {{{246, 59, -56},0, {0, 0},{0x3F, 0x48, 0xAC, 0xFF}}}, {{{269, -2, -33},0, {0, 0},{0x70, 0xD5, 0xD5, 0xFF}}}, {{{184, -5, -115},0, {0, 0},{0x1C, 0xB, 0x85, 0xFF}}}, {{{272, 72, 0},0, {0, 0},{0x60, 0x53, 0x0, 0xFF}}}, {{{269, -2, 34},0, {0, 0},{0x70, 0xD5, 0x2B, 0xFF}}}, {{{246, 59, 57},0, {0, 0},{0x3F, 0x48, 0x54, 0xFF}}}, {{{184, -5, 117},0, {0, 0},{0x1C, 0xA, 0x7B, 0xFF}}}, {{{168, -88, 62},0, {0, 0},{0x49, 0xA7, 0x37, 0xFF}}}, {{{130, -56, 107},0, {0, 0},{0xE8, 0xDD, 0x78, 0xFF}}}, {{{123, -135, 41},0, {0, 0},{0x28, 0x90, 0x2C, 0xFF}}}, {{{77, -134, 42},0, {0, 0},{0xBB, 0xA3, 0x34, 0xFF}}}, {{{77, -134, -41},0, {0, 0},{0xBB, 0xA2, 0xCD, 0xFF}}}, {{{123, -135, -40},0, {0, 0},{0x28, 0x90, 0xD4, 0xFF}}}, {{{130, -56, -106},0, {0, 0},{0xE9, 0xDE, 0x88, 0xFF}}}, {{{168, -88, -61},0, {0, 0},{0x49, 0xA8, 0xC9, 0xFF}}}, {{{163, 118, 54},0, {0, 0},{0xE4, 0x52, 0x5D, 0xFF}}}, {{{147, 30, 77},0, {0, 0},{0xFD, 0x45, 0x6B, 0xFF}}}, {{{186, 82, 26},0, {0, 0},{0x4D, 0x55, 0x38, 0xFF}}}, {{{166, 83, 26},0, {0, 0},{0xA2, 0x55, 0xD, 0xFF}}}, {{{170, 147, 0},0, {0, 0},{0xF9, 0x7F, 0xFF, 0xFF}}}, {{{186, 82, -25},0, {0, 0},{0x4D, 0x54, 0xC8, 0xFF}}}, {{{163, 117, -53},0, {0, 0},{0xE3, 0x51, 0xA2, 0xFF}}}, {{{147, 30, -75},0, {0, 0},{0xFE, 0x45, 0x95, 0xFF}}}, {{{166, 83, -26},0, {0, 0},{0xA2, 0x54, 0xF3, 0xFF}}}, }; static const Vtx luigi_face_part_cap_on_dl_vertex[90] = { {{{88, 42, -75},0, {0, 0},{0x7, 0x29, 0x88, 0xFF}}}, {{{135, 73, -54},0, {0, 0},{0x1A, 0x5A, 0xAA, 0xFF}}}, {{{147, 30, -75},0, {0, 0},{0xFE, 0x45, 0x95, 0xFF}}}, {{{94, 75, -56},0, {0, 0},{0x14, 0x63, 0xB2, 0xFF}}}, {{{67, 77, -66},0, {0, 0},{0x9, 0x57, 0xA3, 0xFF}}}, {{{35, 34, -78},0, {0, 0},{0xD6, 0x1A, 0x8B, 0xFF}}}, {{{78, 89, -19},0, {0, 0},{0x44, 0x42, 0xAB, 0xFF}}}, {{{67, 77, 67},0, {0, 0},{0x8, 0x58, 0x5C, 0xFF}}}, {{{94, 75, 57},0, {0, 0},{0x14, 0x64, 0x4C, 0xFF}}}, {{{78, 89, 19},0, {0, 0},{0x47, 0x41, 0x53, 0xFF}}}, {{{88, 42, 77},0, {0, 0},{0x6, 0x29, 0x78, 0xFF}}}, {{{35, 34, 79},0, {0, 0},{0xD4, 0x1B, 0x74, 0xFF}}}, {{{135, 73, 55},0, {0, 0},{0x1B, 0x5B, 0x54, 0xFF}}}, {{{147, 30, 77},0, {0, 0},{0xFD, 0x45, 0x6B, 0xFF}}}, {{{-6, 40, -42},0, {0, 0},{0x94, 0x14, 0xC1, 0xFF}}}, {{{35, -5, -82},0, {0, 0},{0xBE, 0xFA, 0x94, 0xFF}}}, {{{-6, 40, -42},0, {0, 0},{0x94, 0x14, 0xC1, 0xFF}}}, {{{35, -5, -82},0, {0, 0},{0xBE, 0xFA, 0x94, 0xFF}}}, {{{12, -57, -34},0, {0, 0},{0x85, 0xFB, 0xE2, 0xFF}}}, {{{58, -49, -64},0, {0, 0},{0xD0, 0xC1, 0x9C, 0xFF}}}, {{{56, -29, -115},0, {0, 0},{0xCE, 0x6, 0x8B, 0xFF}}}, {{{78, -26, -90},0, {0, 0},{0x2, 0x59, 0xA5, 0xFF}}}, {{{95, -37, -115},0, {0, 0},{0x25, 0xED, 0x88, 0xFF}}}, {{{122, -10, -90},0, {0, 0},{0xEA, 0x24, 0x88, 0xFF}}}, {{{92, -58, -72},0, {0, 0},{0xCB, 0xC2, 0x9E, 0xFF}}}, {{{-18, 46, 0},0, {0, 0},{0x84, 0x1B, 0x0, 0xFF}}}, {{{12, -57, 34},0, {0, 0},{0x84, 0xFB, 0x1D, 0xFF}}}, {{{28, -80, 0},0, {0, 0},{0xA8, 0xA4, 0x0, 0xFF}}}, {{{-6, 40, 42},0, {0, 0},{0x93, 0x14, 0x3F, 0xFF}}}, {{{35, -5, 83},0, {0, 0},{0xBD, 0xF9, 0x6C, 0xFF}}}, {{{58, -49, 65},0, {0, 0},{0xD0, 0xC2, 0x64, 0xFF}}}, {{{56, -29, 115},0, {0, 0},{0xCE, 0x5, 0x75, 0xFF}}}, {{{58, -49, 65},0, {0, 0},{0xD0, 0xC2, 0x64, 0xFF}}}, {{{92, -58, 73},0, {0, 0},{0xCB, 0xC2, 0x61, 0xFF}}}, {{{56, -29, 115},0, {0, 0},{0xCE, 0x5, 0x75, 0xFF}}}, {{{95, -37, 115},0, {0, 0},{0x25, 0xEC, 0x78, 0xFF}}}, {{{122, -10, 91},0, {0, 0},{0xE9, 0x23, 0x78, 0xFF}}}, {{{78, -26, 91},0, {0, 0},{0x2, 0x58, 0x5C, 0xFF}}}, {{{35, -5, 83},0, {0, 0},{0xBD, 0xF9, 0x6C, 0xFF}}}, {{{35, 34, 79},0, {0, 0},{0xD4, 0x1B, 0x74, 0xFF}}}, {{{-6, 40, 42},0, {0, 0},{0x93, 0x14, 0x3F, 0xFF}}}, {{{14, 82, 24},0, {0, 0},{0xAC, 0x5A, 0x20, 0xFF}}}, {{{-18, 46, 0},0, {0, 0},{0x84, 0x1B, 0x0, 0xFF}}}, {{{14, 82, -24},0, {0, 0},{0xAC, 0x5A, 0xE0, 0xFF}}}, {{{24, 90, 0},0, {0, 0},{0x8C, 0x33, 0x0, 0xFF}}}, {{{-6, 40, -42},0, {0, 0},{0x94, 0x14, 0xC1, 0xFF}}}, {{{36, 94, 26},0, {0, 0},{0xB6, 0x29, 0x5F, 0xFF}}}, {{{15, 111, 0},0, {0, 0},{0x84, 0xE6, 0xFF, 0xFF}}}, {{{15, 111, 0},0, {0, 0},{0x84, 0xE6, 0xFF, 0xFF}}}, {{{36, 94, 26},0, {0, 0},{0xB6, 0x29, 0x5F, 0xFF}}}, {{{29, 111, 35},0, {0, 0},{0xB2, 0xDF, 0x5F, 0xFF}}}, {{{58, 93, 27},0, {0, 0},{0x13, 0x21, 0x79, 0xFF}}}, {{{58, 111, 41},0, {0, 0},{0x1, 0xD9, 0x79, 0xFF}}}, {{{82, 111, 35},0, {0, 0},{0x4D, 0xDC, 0x5E, 0xFF}}}, {{{78, 89, 19},0, {0, 0},{0x47, 0x41, 0x53, 0xFF}}}, {{{96, 112, 0},0, {0, 0},{0x7D, 0xE8, 0xFF, 0xFF}}}, {{{88, 91, 0},0, {0, 0},{0x5A, 0x5A, 0x0, 0xFF}}}, {{{78, 89, -19},0, {0, 0},{0x44, 0x42, 0xAB, 0xFF}}}, {{{82, 111, -34},0, {0, 0},{0x4D, 0xDD, 0xA1, 0xFF}}}, {{{58, 93, -26},0, {0, 0},{0x13, 0x22, 0x87, 0xFF}}}, {{{58, 111, -40},0, {0, 0},{0x1, 0xD9, 0x87, 0xFF}}}, {{{29, 111, -34},0, {0, 0},{0xB1, 0xE2, 0xA1, 0xFF}}}, {{{36, 94, -26},0, {0, 0},{0xBB, 0x2C, 0x9F, 0xFF}}}, {{{24, 90, 0},0, {0, 0},{0x8C, 0x33, 0x0, 0xFF}}}, {{{29, 111, -34},0, {0, 0},{0xB1, 0xE2, 0xA1, 0xFF}}}, {{{15, 111, 0},0, {0, 0},{0x84, 0xE6, 0xFF, 0xFF}}}, {{{32, 141, -34},0, {0, 0},{0xBF, 0x3F, 0xA7, 0xFF}}}, {{{15, 141, 0},0, {0, 0},{0x8D, 0x37, 0xFE, 0xFF}}}, {{{29, 111, 35},0, {0, 0},{0xB2, 0xDF, 0x5F, 0xFF}}}, {{{32, 141, 35},0, {0, 0},{0xC0, 0x41, 0x59, 0xFF}}}, {{{58, 111, 41},0, {0, 0},{0x1, 0xD9, 0x79, 0xFF}}}, {{{58, 141, 41},0, {0, 0},{0x0, 0x43, 0x6C, 0xFF}}}, {{{83, 141, 35},0, {0, 0},{0x49, 0x3A, 0x57, 0xFF}}}, {{{82, 111, 35},0, {0, 0},{0x4D, 0xDC, 0x5E, 0xFF}}}, {{{96, 112, 0},0, {0, 0},{0x7D, 0xE8, 0xFF, 0xFF}}}, {{{96, 141, 0},0, {0, 0},{0x75, 0x31, 0xFF, 0xFF}}}, {{{82, 111, -34},0, {0, 0},{0x4D, 0xDD, 0xA1, 0xFF}}}, {{{83, 141, -34},0, {0, 0},{0x49, 0x3A, 0xA9, 0xFF}}}, {{{58, 111, -40},0, {0, 0},{0x1, 0xD9, 0x87, 0xFF}}}, {{{58, 141, -40},0, {0, 0},{0x0, 0x42, 0x93, 0xFF}}}, {{{58, 141, -40},0, {0, 0},{0x0, 0x42, 0x93, 0xFF}}}, {{{32, 141, -34},0, {0, 0},{0xBF, 0x3F, 0xA7, 0xFF}}}, {{{36, 155, 0},0, {0, 0},{0xDC, 0x7A, 0x0, 0xFF}}}, {{{15, 141, 0},0, {0, 0},{0x8D, 0x37, 0xFE, 0xFF}}}, {{{32, 141, 35},0, {0, 0},{0xC0, 0x41, 0x59, 0xFF}}}, {{{58, 141, 41},0, {0, 0},{0x0, 0x43, 0x6C, 0xFF}}}, {{{77, 157, 0},0, {0, 0},{0x24, 0x7A, 0x0, 0xFF}}}, {{{83, 141, 35},0, {0, 0},{0x49, 0x3A, 0x57, 0xFF}}}, {{{96, 141, 0},0, {0, 0},{0x75, 0x31, 0xFF, 0xFF}}}, {{{83, 141, -34},0, {0, 0},{0x49, 0x3A, 0xA9, 0xFF}}}, }; static const Vtx luigi_face_back_hair_cap_on_dl_vertex[24] = { {{{92, -58, -72},0, {0, 0},{0xCB, 0xC2, 0x9E, 0xFF}}}, {{{66, -98, -42},0, {0, 0},{0xD4, 0xA0, 0xB9, 0xFF}}}, {{{58, -49, -64},0, {0, 0},{0xD0, 0xC1, 0x9C, 0xFF}}}, {{{52, -110, -51},0, {0, 0},{0x42, 0x9B, 0xD9, 0xFF}}}, {{{20, -111, -30},0, {0, 0},{0xD5, 0x9C, 0x42, 0xFF}}}, {{{28, -80, 0},0, {0, 0},{0xA8, 0xA4, 0x0, 0xFF}}}, {{{66, -98, 42},0, {0, 0},{0xD5, 0x9E, 0x44, 0xFF}}}, {{{20, -111, 30},0, {0, 0},{0xD4, 0x9D, 0xBE, 0xFF}}}, {{{52, -110, 53},0, {0, 0},{0x42, 0x9C, 0x2B, 0xFF}}}, {{{58, -49, 65},0, {0, 0},{0xD0, 0xC2, 0x64, 0xFF}}}, {{{92, -58, 73},0, {0, 0},{0xCB, 0xC2, 0x61, 0xFF}}}, {{{24, -80, 74},0, {0, 0},{0xE1, 0x13, 0x7A, 0xFF}}}, {{{12, -57, 34},0, {0, 0},{0x84, 0xFB, 0x1D, 0xFF}}}, {{{3, -83, 48},0, {0, 0},{0x82, 0xC, 0xB, 0xFF}}}, {{{11, -115, 63},0, {0, 0},{0xBF, 0xA5, 0x3D, 0xFF}}}, {{{11, -115, -62},0, {0, 0},{0xC0, 0xA5, 0xC3, 0xFF}}}, {{{11, -115, -62},0, {0, 0},{0xC0, 0xA5, 0xC3, 0xFF}}}, {{{24, -80, -73},0, {0, 0},{0xE2, 0x12, 0x86, 0xFF}}}, {{{52, -110, -51},0, {0, 0},{0x42, 0x9B, 0xD9, 0xFF}}}, {{{3, -83, -47},0, {0, 0},{0x82, 0xC, 0xF6, 0xFF}}}, {{{20, -111, -30},0, {0, 0},{0xD5, 0x9C, 0x42, 0xFF}}}, {{{28, -80, 0},0, {0, 0},{0xA8, 0xA4, 0x0, 0xFF}}}, {{{12, -57, -34},0, {0, 0},{0x85, 0xFB, 0xE2, 0xFF}}}, {{{58, -49, -64},0, {0, 0},{0xD0, 0xC1, 0x9C, 0xFF}}}, }; const Gfx luigi_l_logo_dl[] = { gsSPVertex(luigi_l_logo_dl_vertex + 0, 7, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 0, 2, 0), gsSP1Triangle(4, 0, 3, 0), gsSP1Triangle(5, 4, 3, 0), gsSP1Triangle(6, 4, 5, 0), gsSPEndDisplayList(), }; const Gfx luigi_eyes_cap_on_dl[] = { gsSPVertex(luigi_eyes_cap_on_dl_vertex + 0, 12, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 2, 3, 0), gsSP1Triangle(3, 2, 4, 0), gsSP1Triangle(5, 0, 3, 0), gsSP1Triangle(5, 6, 0, 0), gsSP1Triangle(5, 7, 6, 0), gsSP1Triangle(8, 7, 5, 0), gsSP1Triangle(8, 5, 3, 0), gsSP1Triangle(6, 7, 9, 0), gsSP1Triangle(10, 9, 7, 0), gsSP1Triangle(6, 9, 11, 0), gsSPEndDisplayList(), }; const Gfx luigi_hair_sideburn_cap_on_dl[] = { gsSPVertex(luigi_hair_sideburn_cap_on_dl_vertex + 0, 12, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 0, 2, 0), gsSP1Triangle(3, 4, 0, 0), gsSP1Triangle(4, 5, 0, 0), gsSP1Triangle(6, 7, 8, 0), gsSP1Triangle(6, 9, 7, 0), gsSP1Triangle(10, 9, 6, 0), gsSP1Triangle(11, 10, 6, 0), gsSPEndDisplayList(), }; const Gfx luigi_mustache_cap_on_dl[] = { gsSPVertex(luigi_mustache_cap_on_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 3, 2, 0), gsSP1Triangle(4, 3, 1, 0), gsSP1Triangle(3, 4, 5, 0), gsSP1Triangle(4, 6, 5, 0), gsSP1Triangle(3, 5, 7, 0), gsSP1Triangle(3, 7, 8, 0), gsSP1Triangle(8, 2, 3, 0), gsSP1Triangle(9, 10, 11, 0), gsSP1Triangle(12, 10, 9, 0), gsSP1Triangle(9, 13, 12, 0), gsSP1Triangle(13, 14, 12, 0), gsSP1Triangle(15, 14, 13, 0), gsSPVertex(luigi_mustache_cap_on_dl_vertex + 16, 5, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 0, 3, 0), gsSP1Triangle(1, 3, 4, 0), gsSPEndDisplayList(), }; const Gfx luigi_face_part_cap_on_dl[] = { gsSPVertex(luigi_face_part_cap_on_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 0, 3, 0), gsSP1Triangle(3, 0, 4, 0), gsSP1Triangle(5, 4, 0, 0), gsSP1Triangle(6, 3, 4, 0), gsSP1Triangle(7, 8, 9, 0), gsSP1Triangle(10, 8, 7, 0), gsSP1Triangle(7, 11, 10, 0), gsSP1Triangle(10, 12, 8, 0), gsSP1Triangle(13, 12, 10, 0), gsSP1Triangle(14, 5, 15, 0), gsSPVertex(luigi_face_part_cap_on_dl_vertex + 16, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(2, 1, 3, 0), gsSP1Triangle(3, 1, 4, 0), gsSP1Triangle(4, 1, 5, 0), gsSP1Triangle(6, 4, 5, 0), gsSP1Triangle(7, 6, 5, 0), gsSP1Triangle(7, 8, 6, 0), gsSP1Triangle(4, 6, 8, 0), gsSP1Triangle(3, 4, 8, 0), gsSP1Triangle(0, 2, 9, 0), gsSP1Triangle(9, 2, 10, 0), gsSP1Triangle(10, 2, 11, 0), gsSP1Triangle(9, 10, 12, 0), gsSP1Triangle(13, 12, 10, 0), gsSP1Triangle(13, 10, 14, 0), gsSP1Triangle(14, 15, 13, 0), gsSPVertex(luigi_face_part_cap_on_dl_vertex + 32, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 3, 2, 0), gsSP1Triangle(4, 3, 1, 0), gsSP1Triangle(3, 4, 5, 0), gsSP1Triangle(5, 2, 3, 0), gsSP1Triangle(2, 5, 6, 0), gsSP1Triangle(6, 7, 8, 0), gsSP1Triangle(9, 10, 8, 0), gsSP1Triangle(11, 10, 9, 0), gsSP1Triangle(11, 9, 12, 0), gsSP1Triangle(13, 10, 11, 0), gsSP1Triangle(14, 15, 12, 0), gsSPVertex(luigi_face_part_cap_on_dl_vertex + 48, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 3, 2, 0), gsSP1Triangle(2, 3, 4, 0), gsSP1Triangle(3, 5, 4, 0), gsSP1Triangle(5, 3, 6, 0), gsSP1Triangle(6, 7, 5, 0), gsSP1Triangle(8, 7, 6, 0), gsSP1Triangle(9, 7, 8, 0), gsSP1Triangle(7, 9, 10, 0), gsSP1Triangle(9, 11, 10, 0), gsSP1Triangle(10, 11, 12, 0), gsSP1Triangle(11, 13, 12, 0), gsSP1Triangle(13, 11, 14, 0), gsSP1Triangle(14, 0, 13, 0), gsSP1Triangle(15, 0, 14, 0), gsSPVertex(luigi_face_part_cap_on_dl_vertex + 64, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 3, 2, 0), gsSP1Triangle(4, 3, 1, 0), gsSP1Triangle(5, 3, 4, 0), gsSP1Triangle(5, 4, 6, 0), gsSP1Triangle(5, 6, 7, 0), gsSP1Triangle(8, 7, 6, 0), gsSP1Triangle(9, 8, 6, 0), gsSP1Triangle(9, 10, 8, 0), gsSP1Triangle(10, 11, 8, 0), gsSP1Triangle(11, 10, 12, 0), gsSP1Triangle(13, 11, 12, 0), gsSP1Triangle(13, 12, 14, 0), gsSP1Triangle(15, 13, 14, 0), gsSP1Triangle(14, 2, 15, 0), gsSP1Triangle(14, 0, 2, 0), gsSPVertex(luigi_face_part_cap_on_dl_vertex + 80, 10, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(2, 1, 3, 0), gsSP1Triangle(2, 3, 4, 0), gsSP1Triangle(2, 4, 5, 0), gsSP1Triangle(6, 2, 5, 0), gsSP1Triangle(7, 6, 5, 0), gsSP1Triangle(7, 8, 6, 0), gsSP1Triangle(9, 6, 8, 0), gsSP1Triangle(9, 0, 6, 0), gsSP1Triangle(6, 0, 2, 0), gsSPEndDisplayList(), }; const Gfx luigi_face_cap_dl[] = { gsSPVertex(luigi_face_cap_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 3, 2, 0), gsSP1Triangle(4, 2, 3, 0), gsSP1Triangle(4, 3, 5, 0), gsSP1Triangle(5, 6, 4, 0), gsSP1Triangle(4, 6, 7, 0), gsSP1Triangle(6, 8, 7, 0), gsSP1Triangle(6, 9, 8, 0), gsSP1Triangle(9, 10, 8, 0), gsSP1Triangle(9, 11, 10, 0), gsSP1Triangle(10, 11, 12, 0), gsSP1Triangle(10, 12, 13, 0), gsSP1Triangle(12, 14, 13, 0), gsSP1Triangle(13, 14, 15, 0), gsSPVertex(luigi_face_cap_dl_vertex + 16, 15, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 0, 3, 0), gsSP1Triangle(3, 4, 1, 0), gsSP1Triangle(3, 5, 4, 0), gsSP1Triangle(6, 4, 5, 0), gsSP1Triangle(6, 7, 4, 0), gsSP1Triangle(7, 6, 8, 0), gsSP1Triangle(9, 7, 8, 0), gsSP1Triangle(9, 8, 10, 0), gsSP1Triangle(9, 10, 11, 0), gsSP1Triangle(12, 9, 11, 0), gsSP1Triangle(13, 12, 11, 0), gsSP1Triangle(12, 13, 14, 0), gsSP1Triangle(14, 13, 2, 0), gsSP1Triangle(2, 1, 14, 0), gsSP1Triangle(1, 7, 14, 0), gsSP1Triangle(4, 7, 1, 0), gsSP1Triangle(7, 9, 14, 0), gsSP1Triangle(12, 14, 9, 0), gsSPVertex(luigi_face_cap_dl_vertex + 31, 9, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 3, 1, 0), gsSP1Triangle(4, 3, 0, 0), gsSP1Triangle(4, 0, 2, 0), gsSP1Triangle(4, 2, 5, 0), gsSP1Triangle(4, 5, 6, 0), gsSP1Triangle(7, 6, 5, 0), gsSP1Triangle(6, 7, 8, 0), gsSP1Triangle(4, 6, 8, 0), gsSP1Triangle(3, 4, 8, 0), gsSPEndDisplayList(), }; const Gfx luigi_face_back_hair_cap_on_dl[] = { gsSPVertex(luigi_face_back_hair_cap_on_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(2, 1, 3, 0), gsSP1Triangle(1, 4, 3, 0), gsSP1Triangle(1, 5, 4, 0), gsSP1Triangle(6, 5, 1, 0), gsSP1Triangle(6, 7, 5, 0), gsSP1Triangle(6, 8, 7, 0), gsSP1Triangle(9, 8, 6, 0), gsSP1Triangle(9, 6, 10, 0), gsSP1Triangle(9, 11, 8, 0), gsSP1Triangle(12, 11, 9, 0), gsSP1Triangle(12, 13, 11, 0), gsSP1Triangle(13, 12, 5, 0), gsSP1Triangle(7, 13, 5, 0), gsSP1Triangle(13, 7, 14, 0), gsSP1Triangle(7, 8, 14, 0), gsSP1Triangle(8, 11, 14, 0), gsSP1Triangle(11, 13, 14, 0), gsSP1Triangle(15, 3, 4, 0), gsSPVertex(luigi_face_back_hair_cap_on_dl_vertex + 16, 8, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 3, 1, 0), gsSP1Triangle(0, 4, 3, 0), gsSP1Triangle(3, 4, 5, 0), gsSP1Triangle(6, 3, 5, 0), gsSP1Triangle(6, 1, 3, 0), gsSP1Triangle(6, 7, 1, 0), gsSP1Triangle(7, 2, 1, 0), gsSPEndDisplayList(), }; const Gfx luigi_face_cap_on_dl[] = { gsSPDisplayList(luigi_face_part_cap_on_dl), gsSPCopyLightsPlayerPart(CAP), // gsSPLight(&luigi_green_lights_group.a, 2), gsSPDisplayList(luigi_face_cap_dl), gsSPCopyLightsPlayerPart(HAIR), gsSPDisplayList(luigi_face_back_hair_cap_on_dl), gsSPEndDisplayList(), }; const Gfx luigi_cap_on_eyes_front[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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, luigi_texture_l_logo), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(luigi_l_logo_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_front), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_on_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_cap_on_dl), gsSPEndDisplayList(), }; const Gfx luigi_cap_on_eyes_half_closed[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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, luigi_texture_l_logo), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(luigi_l_logo_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_half_closed), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_on_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_cap_on_dl), gsSPEndDisplayList(), }; const Gfx luigi_cap_on_eyes_closed[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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, luigi_texture_l_logo), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(luigi_l_logo_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_closed), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_on_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_cap_on_dl), gsSPEndDisplayList(), }; const Gfx luigi_cap_on_eyes_right[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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, luigi_texture_l_logo), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(luigi_l_logo_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_right), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_on_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_cap_on_dl), gsSPEndDisplayList(), }; const Gfx luigi_cap_on_eyes_left[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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, luigi_texture_l_logo), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(luigi_l_logo_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_left), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_on_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_cap_on_dl), gsSPEndDisplayList(), }; const Gfx luigi_cap_on_eyes_up[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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, luigi_texture_l_logo), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(luigi_l_logo_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_up), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_on_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_cap_on_dl), gsSPEndDisplayList(), }; const Gfx luigi_cap_on_eyes_down[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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, luigi_texture_l_logo), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(luigi_l_logo_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_down), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_on_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_cap_on_dl), gsSPEndDisplayList(), }; const Gfx luigi_cap_on_eyes_dead[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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, luigi_texture_l_logo), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(luigi_l_logo_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_dead), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_on_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_cap_on_dl), gsSPEndDisplayList(), }; const Gfx luigi_metal_cap_on_shared_dl[] = { gsSPDisplayList(luigi_l_logo_dl), gsSPDisplayList(luigi_eyes_cap_on_dl), gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), gsSPDisplayList(luigi_mustache_cap_on_dl), gsSPDisplayList(luigi_face_part_cap_on_dl), gsSPDisplayList(luigi_face_cap_dl), gsSPDisplayList(luigi_face_back_hair_cap_on_dl), gsSPEndDisplayList(), }; static const Vtx luigi_eyes_cap_off_dl_vertex[12] = { {{{167, 84, 26},0, {754, 64},{0x1C, 0x74, 0x2C, 0xFF}}}, {{{136, 74, 55},0, {1054, 362},{0x1B, 0x5A, 0x55, 0xFF}}}, {{{147, 30, 77},0, {1290, 192},{0x0, 0x33, 0x74, 0xFF}}}, {{{78, 90, 20},0, {704, 984},{0x46, 0x41, 0x54, 0xFF}}}, {{{136, 93, 0},0, {480, 426},{0xB, 0x7F, 0x0, 0xFF}}}, {{{167, 84, -26},0, {194, 72},{0x1C, 0x74, 0xD3, 0xFF}}}, {{{78, 90, -20},0, {272, 992},{0x43, 0x42, 0xAA, 0xFF}}}, {{{136, 74, -54},0, {-94, 378},{0x1A, 0x5A, 0xAA, 0xFF}}}, {{{147, 30, -76},0, {-334, 216},{0xF9, 0x31, 0x8B, 0xFF}}}, {{{94, 76, -56},0, {-108, 832},{0x13, 0x63, 0xB3, 0xFF}}}, {{{94, 76, 57},0, {1084, 812},{0x13, 0x64, 0x4D, 0xFF}}}, {{{89, 92, 0},0, {488, 928},{0x5C, 0x58, 0x0, 0xFF}}}, }; static const Vtx luigi_hair_sideburn_cap_off_dl_vertex[12] = { {{{89, 43, 77},0, {-49, 678},{0x7, 0x29, 0x78, 0xFF}}}, {{{122, -10, 92},0, {890, 135},{0x4, 0xF, 0x7E, 0xFF}}}, {{{147, 30, 77},0, {93, -96},{0x0, 0x33, 0x74, 0xFF}}}, {{{78, -26, 92},0, {1308, 629},{0x3, 0x59, 0x5A, 0xFF}}}, {{{34, -5, 84},0, {935, 1165},{0xBD, 0xFA, 0x6C, 0xFF}}}, {{{34, 35, 79},0, {185, 1281},{0xD4, 0x1C, 0x74, 0xFF}}}, {{{89, 43, -76},0, {-20, 677},{0x7, 0x29, 0x88, 0xFF}}}, {{{147, 30, -76},0, {146, -91},{0xF9, 0x31, 0x8B, 0xFF}}}, {{{122, -10, -91},0, {903, 197},{0x4, 0xF, 0x82, 0xFF}}}, {{{78, -26, -91},0, {1236, 633},{0x3, 0x5A, 0xA6, 0xFF}}}, {{{34, -5, -83},0, {873, 1170},{0xBE, 0xFA, 0x93, 0xFF}}}, {{{34, 34, -78},0, {177, 1280},{0xD5, 0x1B, 0x8B, 0xFF}}}, }; static const Vtx luigi_mustache_cap_off_dl_vertex[21] = { {{{78, 90, -20},0, {340, 44},{0x43, 0x42, 0xAA, 0xFF}}}, {{{67, 77, -67},0, {920, -16},{0x8, 0x56, 0xA3, 0xFF}}}, {{{58, 93, -26},0, {400, 416},{0x11, 0x24, 0x87, 0xFF}}}, {{{36, 79, -58},0, {768, 512},{0xD3, 0x57, 0xAF, 0xFF}}}, {{{34, 34, -78},0, {1224, 264},{0xD5, 0x1B, 0x8B, 0xFF}}}, {{{-7, 40, -43},0, {724, 1084},{0x94, 0x15, 0xC1, 0xFF}}}, {{{14, 83, -24},0, {316, 1000},{0xAD, 0x5B, 0xE1, 0xFF}}}, {{{36, 94, -26},0, {316, 696},{0xBB, 0x2E, 0x9F, 0xFF}}}, {{{24, 91, 0},0, {28, 980},{0x8B, 0x32, 0x0, 0xFF}}}, {{{78, 90, 20},0, {332, -12},{0x46, 0x41, 0x54, 0xFF}}}, {{{58, 93, 28},0, {404, 416},{0x12, 0x23, 0x79, 0xFF}}}, {{{67, 77, 68},0, {932, -28},{0x7, 0x57, 0x5D, 0xFF}}}, {{{36, 79, 57},0, {764, 512},{0xD2, 0x57, 0x50, 0xFF}}}, {{{36, 94, 26},0, {332, 672},{0xB6, 0x29, 0x5F, 0xFF}}}, {{{14, 83, 24},0, {344, 992},{0xAD, 0x5B, 0x1F, 0xFF}}}, {{{24, 91, 0},0, {40, 940},{0x8B, 0x32, 0x0, 0xFF}}}, {{{36, 79, 57},0, {764, 512},{0xD2, 0x57, 0x50, 0xFF}}}, {{{14, 83, 24},0, {344, 992},{0xAD, 0x5B, 0x1F, 0xFF}}}, {{{-7, 40, 43},0, {768, 1112},{0x93, 0x15, 0x3E, 0xFF}}}, {{{34, 35, 79},0, {1260, 292},{0xD4, 0x1C, 0x74, 0xFF}}}, {{{67, 77, 68},0, {932, -28},{0x7, 0x57, 0x5D, 0xFF}}}, }; static const Vtx luigi_face_part_cap_off_dl_vertex[88] = { {{{34, 34, -78},0, {0, 0},{0xD5, 0x1B, 0x8B, 0xFF}}}, {{{67, 77, -67},0, {0, 0},{0x8, 0x56, 0xA3, 0xFF}}}, {{{89, 43, -76},0, {0, 0},{0x7, 0x29, 0x88, 0xFF}}}, {{{94, 76, -56},0, {0, 0},{0x13, 0x63, 0xB3, 0xFF}}}, {{{78, 90, -20},0, {0, 0},{0x43, 0x42, 0xAA, 0xFF}}}, {{{136, 74, -54},0, {0, 0},{0x1A, 0x5A, 0xAA, 0xFF}}}, {{{147, 30, -76},0, {0, 0},{0xF9, 0x31, 0x8B, 0xFF}}}, {{{14, 83, -24},0, {0, 0},{0xAD, 0x5B, 0xE1, 0xFF}}}, {{{14, 83, 24},0, {0, 0},{0xAD, 0x5B, 0x1F, 0xFF}}}, {{{24, 91, 0},0, {0, 0},{0x8B, 0x32, 0x0, 0xFF}}}, {{{-18, 46, 0},0, {0, 0},{0x84, 0x1B, 0x0, 0xFF}}}, {{{-7, 40, -43},0, {0, 0},{0x94, 0x15, 0xC1, 0xFF}}}, {{{12, -58, -34},0, {0, 0},{0x85, 0xFB, 0xE1, 0xFF}}}, {{{34, -5, -83},0, {0, 0},{0xBE, 0xFA, 0x93, 0xFF}}}, {{{58, -49, -64},0, {0, 0},{0xD0, 0xC2, 0x9C, 0xFF}}}, {{{56, -29, -116},0, {0, 0},{0xD0, 0x7, 0x8B, 0xFF}}}, {{{56, -29, -116},0, {0, 0},{0xD0, 0x7, 0x8B, 0xFF}}}, {{{34, -5, -83},0, {0, 0},{0xBE, 0xFA, 0x93, 0xFF}}}, {{{78, -26, -91},0, {0, 0},{0x3, 0x5A, 0xA6, 0xFF}}}, {{{95, -37, -116},0, {0, 0},{0x26, 0xEF, 0x88, 0xFF}}}, {{{122, -10, -91},0, {0, 0},{0x4, 0xF, 0x82, 0xFF}}}, {{{92, -59, -72},0, {0, 0},{0xE7, 0xB6, 0x9C, 0xFF}}}, {{{58, -49, -64},0, {0, 0},{0xD0, 0xC2, 0x9C, 0xFF}}}, {{{67, 77, 68},0, {0, 0},{0x7, 0x57, 0x5D, 0xFF}}}, {{{94, 76, 57},0, {0, 0},{0x13, 0x64, 0x4D, 0xFF}}}, {{{78, 90, 20},0, {0, 0},{0x46, 0x41, 0x54, 0xFF}}}, {{{89, 43, 77},0, {0, 0},{0x7, 0x29, 0x78, 0xFF}}}, {{{34, 35, 79},0, {0, 0},{0xD4, 0x1C, 0x74, 0xFF}}}, {{{136, 74, 55},0, {0, 0},{0x1B, 0x5A, 0x55, 0xFF}}}, {{{147, 30, 77},0, {0, 0},{0x0, 0x33, 0x74, 0xFF}}}, {{{14, 83, 24},0, {0, 0},{0xAD, 0x5B, 0x1F, 0xFF}}}, {{{-18, 46, 0},0, {0, 0},{0x84, 0x1B, 0x0, 0xFF}}}, {{{-7, 40, 43},0, {0, 0},{0x93, 0x15, 0x3E, 0xFF}}}, {{{12, -58, 35},0, {0, 0},{0x84, 0xFB, 0x1D, 0xFF}}}, {{{12, -58, -34},0, {0, 0},{0x85, 0xFB, 0xE1, 0xFF}}}, {{{28, -80, 0},0, {0, 0},{0xA8, 0xA4, 0x0, 0xFF}}}, {{{34, -5, 84},0, {0, 0},{0xBD, 0xFA, 0x6C, 0xFF}}}, {{{34, 35, 79},0, {0, 0},{0xD4, 0x1C, 0x74, 0xFF}}}, {{{58, -49, 66},0, {0, 0},{0xD0, 0xC2, 0x64, 0xFF}}}, {{{56, -29, 116},0, {0, 0},{0xD0, 0x6, 0x76, 0xFF}}}, {{{92, -59, 74},0, {0, 0},{0xE7, 0xB5, 0x64, 0xFF}}}, {{{95, -37, 116},0, {0, 0},{0x25, 0xEE, 0x78, 0xFF}}}, {{{122, -10, 92},0, {0, 0},{0x4, 0xF, 0x7E, 0xFF}}}, {{{78, -26, 92},0, {0, 0},{0x3, 0x59, 0x5A, 0xFF}}}, {{{78, 90, -20},0, {0, 0},{0x43, 0x42, 0xAA, 0xFF}}}, {{{97, 113, 0},0, {0, 0},{0x7D, 0xE8, 0xFF, 0xFF}}}, {{{89, 92, 0},0, {0, 0},{0x5C, 0x58, 0x0, 0xFF}}}, {{{82, 112, -35},0, {0, 0},{0x4C, 0xDD, 0xA0, 0xFF}}}, {{{58, 93, -26},0, {0, 0},{0x11, 0x24, 0x87, 0xFF}}}, {{{58, 112, -40},0, {0, 0},{0x1, 0xDA, 0x87, 0xFF}}}, {{{29, 112, -35},0, {0, 0},{0xB1, 0xE3, 0xA1, 0xFF}}}, {{{36, 94, -26},0, {0, 0},{0xBB, 0x2E, 0x9F, 0xFF}}}, {{{15, 112, 0},0, {0, 0},{0x84, 0xE6, 0xFE, 0xFF}}}, {{{24, 91, 0},0, {0, 0},{0x8B, 0x32, 0x0, 0xFF}}}, {{{36, 94, 26},0, {0, 0},{0xB6, 0x29, 0x5F, 0xFF}}}, {{{29, 112, 36},0, {0, 0},{0xB2, 0xE0, 0x5F, 0xFF}}}, {{{58, 93, 28},0, {0, 0},{0x12, 0x23, 0x79, 0xFF}}}, {{{58, 112, 41},0, {0, 0},{0x1, 0xDA, 0x79, 0xFF}}}, {{{82, 112, 36},0, {0, 0},{0x4C, 0xDC, 0x5F, 0xFF}}}, {{{78, 90, 20},0, {0, 0},{0x46, 0x41, 0x54, 0xFF}}}, {{{82, 112, 36},0, {0, 0},{0x4C, 0xDC, 0x5F, 0xFF}}}, {{{97, 113, 0},0, {0, 0},{0x7D, 0xE8, 0xFF, 0xFF}}}, {{{83, 141, 36},0, {0, 0},{0x47, 0x3B, 0x57, 0xFF}}}, {{{97, 141, 0},0, {0, 0},{0x75, 0x31, 0xFF, 0xFF}}}, {{{82, 112, -35},0, {0, 0},{0x4C, 0xDD, 0xA0, 0xFF}}}, {{{83, 141, -35},0, {0, 0},{0x48, 0x3A, 0xA8, 0xFF}}}, {{{58, 112, -40},0, {0, 0},{0x1, 0xDA, 0x87, 0xFF}}}, {{{58, 141, -40},0, {0, 0},{0x0, 0x42, 0x93, 0xFF}}}, {{{32, 141, -35},0, {0, 0},{0xBF, 0x3F, 0xA7, 0xFF}}}, {{{29, 112, -35},0, {0, 0},{0xB1, 0xE3, 0xA1, 0xFF}}}, {{{15, 112, 0},0, {0, 0},{0x84, 0xE6, 0xFE, 0xFF}}}, {{{15, 141, 0},0, {0, 0},{0x8D, 0x35, 0xFE, 0xFF}}}, {{{29, 112, 36},0, {0, 0},{0xB2, 0xE0, 0x5F, 0xFF}}}, {{{32, 141, 36},0, {0, 0},{0xC0, 0x40, 0x59, 0xFF}}}, {{{58, 112, 41},0, {0, 0},{0x1, 0xDA, 0x79, 0xFF}}}, {{{58, 141, 41},0, {0, 0},{0x0, 0x43, 0x6C, 0xFF}}}, {{{83, 141, 36},0, {0, 0},{0x47, 0x3B, 0x57, 0xFF}}}, {{{77, 158, 0},0, {0, 0},{0x25, 0x7A, 0x0, 0xFF}}}, {{{58, 141, 41},0, {0, 0},{0x0, 0x43, 0x6C, 0xFF}}}, {{{97, 141, 0},0, {0, 0},{0x75, 0x31, 0xFF, 0xFF}}}, {{{83, 141, -35},0, {0, 0},{0x48, 0x3A, 0xA8, 0xFF}}}, {{{58, 141, -40},0, {0, 0},{0x0, 0x42, 0x93, 0xFF}}}, {{{36, 156, 0},0, {0, 0},{0xDB, 0x7A, 0x0, 0xFF}}}, {{{32, 141, -35},0, {0, 0},{0xBF, 0x3F, 0xA7, 0xFF}}}, {{{15, 141, 0},0, {0, 0},{0x8D, 0x35, 0xFE, 0xFF}}}, {{{32, 141, 36},0, {0, 0},{0xC0, 0x40, 0x59, 0xFF}}}, }; static const Vtx luigi_face_hair_cap_off_dl_vertex[92] = { {{{167, 84, 26},0, {0, 0},{0xD8, 0x6A, 0x39, 0xFF}}}, {{{146, 66, 53},0, {0, 0},{0xDD, 0x5A, 0x53, 0xFF}}}, {{{193, 71, 67},0, {0, 0},{0x1C, 0x50, 0x5F, 0xFF}}}, {{{147, 30, 77},0, {0, 0},{0x0, 0x33, 0x74, 0xFF}}}, {{{176, -9, 93},0, {0, 0},{0x2A, 0x0, 0x78, 0xFF}}}, {{{122, -10, 92},0, {0, 0},{0x4, 0xF, 0x7E, 0xFF}}}, {{{140, -79, 84},0, {0, 0},{0x3, 0xCD, 0x74, 0xFF}}}, {{{92, -59, 74},0, {0, 0},{0xE7, 0xB5, 0x64, 0xFF}}}, {{{66, -99, 43},0, {0, 0},{0x0, 0x8C, 0x33, 0xFF}}}, {{{58, -49, 66},0, {0, 0},{0xD0, 0xC2, 0x64, 0xFF}}}, {{{52, -110, 53},0, {0, 0},{0x42, 0x9C, 0x2A, 0xFF}}}, {{{24, -80, 75},0, {0, 0},{0xE2, 0x12, 0x7A, 0xFF}}}, {{{12, -58, 35},0, {0, 0},{0x84, 0xFB, 0x1D, 0xFF}}}, {{{2, -84, 48},0, {0, 0},{0x82, 0xC, 0xB, 0xFF}}}, {{{28, -80, 0},0, {0, 0},{0xA8, 0xA4, 0x0, 0xFF}}}, {{{20, -112, 30},0, {0, 0},{0xD5, 0x9D, 0xBD, 0xFF}}}, {{{66, -99, 43},0, {0, 0},{0x0, 0x8C, 0x33, 0xFF}}}, {{{28, -80, 0},0, {0, 0},{0xA8, 0xA4, 0x0, 0xFF}}}, {{{66, -99, -43},0, {0, 0},{0xFF, 0x8C, 0xCB, 0xFF}}}, {{{20, -112, -30},0, {0, 0},{0xD6, 0x9D, 0x43, 0xFF}}}, {{{2, -84, -47},0, {0, 0},{0x82, 0xB, 0xF6, 0xFF}}}, {{{12, -58, -34},0, {0, 0},{0x85, 0xFB, 0xE1, 0xFF}}}, {{{24, -81, -74},0, {0, 0},{0xE3, 0x12, 0x86, 0xFF}}}, {{{58, -49, -64},0, {0, 0},{0xD0, 0xC2, 0x9C, 0xFF}}}, {{{52, -110, -52},0, {0, 0},{0x42, 0x9B, 0xD7, 0xFF}}}, {{{92, -59, -72},0, {0, 0},{0xE7, 0xB6, 0x9C, 0xFF}}}, {{{140, -81, -83},0, {0, 0},{0x2, 0xCD, 0x8C, 0xFF}}}, {{{122, -10, -91},0, {0, 0},{0x4, 0xF, 0x82, 0xFF}}}, {{{176, -9, -92},0, {0, 0},{0x2A, 0xFE, 0x88, 0xFF}}}, {{{147, 30, -76},0, {0, 0},{0xF9, 0x31, 0x8B, 0xFF}}}, {{{193, 66, -78},0, {0, 0},{0x1B, 0x3C, 0x93, 0xFF}}}, {{{146, 66, -52},0, {0, 0},{0xD5, 0x5B, 0xB3, 0xFF}}}, {{{167, 84, -26},0, {0, 0},{0xC2, 0x5E, 0xC5, 0xFF}}}, {{{193, 66, -78},0, {0, 0},{0x1B, 0x3C, 0x93, 0xFF}}}, {{{146, 66, -52},0, {0, 0},{0xD5, 0x5B, 0xB3, 0xFF}}}, {{{204, 86, -58},0, {0, 0},{0x1B, 0x4B, 0x9D, 0xFF}}}, {{{194, 118, -10},0, {0, 0},{0xF6, 0x7F, 0x0, 0xFF}}}, {{{155, 87, 0},0, {0, 0},{0xB2, 0x64, 0x4, 0xFF}}}, {{{167, 84, 26},0, {0, 0},{0xD8, 0x6A, 0x39, 0xFF}}}, {{{201, 81, 48},0, {0, 0},{0x2B, 0x60, 0x47, 0xFF}}}, {{{193, 71, 67},0, {0, 0},{0x1C, 0x50, 0x5F, 0xFF}}}, {{{218, 33, 60},0, {0, 0},{0x68, 0xA, 0x48, 0xFF}}}, {{{176, -9, 93},0, {0, 0},{0x2A, 0x0, 0x78, 0xFF}}}, {{{218, -14, 47},0, {0, 0},{0x6F, 0xEC, 0x3B, 0xFF}}}, {{{183, -97, 58},0, {0, 0},{0x47, 0xB3, 0x47, 0xFF}}}, {{{140, -79, 84},0, {0, 0},{0x3, 0xCD, 0x74, 0xFF}}}, {{{114, -120, 54},0, {0, 0},{0xED, 0x96, 0x44, 0xFF}}}, {{{66, -99, 43},0, {0, 0},{0x0, 0x8C, 0x33, 0xFF}}}, {{{66, -99, 43},0, {0, 0},{0x0, 0x8C, 0x33, 0xFF}}}, {{{116, -128, 0},0, {0, 0},{0xF2, 0x82, 0xFF, 0xFF}}}, {{{114, -120, 54},0, {0, 0},{0xED, 0x96, 0x44, 0xFF}}}, {{{66, -99, -43},0, {0, 0},{0xFF, 0x8C, 0xCB, 0xFF}}}, {{{114, -118, -54},0, {0, 0},{0xEE, 0x97, 0xBB, 0xFF}}}, {{{140, -81, -83},0, {0, 0},{0x2, 0xCD, 0x8C, 0xFF}}}, {{{183, -97, -57},0, {0, 0},{0x47, 0xB3, 0xB8, 0xFF}}}, {{{176, -9, -92},0, {0, 0},{0x2A, 0xFE, 0x88, 0xFF}}}, {{{218, -14, -46},0, {0, 0},{0x6E, 0xF0, 0xC3, 0xFF}}}, {{{214, 33, -58},0, {0, 0},{0x6D, 0x2, 0xBE, 0xFF}}}, {{{193, 66, -78},0, {0, 0},{0x1B, 0x3C, 0x93, 0xFF}}}, {{{204, 86, -58},0, {0, 0},{0x1B, 0x4B, 0x9D, 0xFF}}}, {{{223, 66, -26},0, {0, 0},{0x73, 0xE7, 0xD0, 0xFF}}}, {{{238, 99, -35},0, {0, 0},{0x6A, 0x34, 0xD0, 0xFF}}}, {{{194, 118, -10},0, {0, 0},{0xF6, 0x7F, 0x0, 0xFF}}}, {{{201, 81, 48},0, {0, 0},{0x2B, 0x60, 0x47, 0xFF}}}, {{{201, 81, 48},0, {0, 0},{0x2B, 0x60, 0x47, 0xFF}}}, {{{222, 77, 26},0, {0, 0},{0x68, 0x35, 0x32, 0xFF}}}, {{{238, 99, -35},0, {0, 0},{0x6A, 0x34, 0xD0, 0xFF}}}, {{{218, 33, 60},0, {0, 0},{0x68, 0xA, 0x48, 0xFF}}}, {{{229, 61, 0},0, {0, 0},{0x7F, 0xFB, 0x5, 0xFF}}}, {{{218, -14, 47},0, {0, 0},{0x6F, 0xEC, 0x3B, 0xFF}}}, {{{232, -33, 0},0, {0, 0},{0x7C, 0xE4, 0x0, 0xFF}}}, {{{183, -97, 58},0, {0, 0},{0x47, 0xB3, 0x47, 0xFF}}}, {{{193, -112, 0},0, {0, 0},{0x50, 0x9D, 0x0, 0xFF}}}, {{{114, -120, 54},0, {0, 0},{0xED, 0x96, 0x44, 0xFF}}}, {{{116, -128, 0},0, {0, 0},{0xF2, 0x82, 0xFF, 0xFF}}}, {{{114, -118, -54},0, {0, 0},{0xEE, 0x97, 0xBB, 0xFF}}}, {{{183, -97, -57},0, {0, 0},{0x47, 0xB3, 0xB8, 0xFF}}}, {{{218, -14, -46},0, {0, 0},{0x6E, 0xF0, 0xC3, 0xFF}}}, {{{214, 33, -58},0, {0, 0},{0x6D, 0x2, 0xBE, 0xFF}}}, {{{223, 66, -26},0, {0, 0},{0x73, 0xE7, 0xD0, 0xFF}}}, {{{66, -99, -43},0, {0, 0},{0xFF, 0x8C, 0xCB, 0xFF}}}, {{{20, -112, -30},0, {0, 0},{0xD6, 0x9D, 0x43, 0xFF}}}, {{{52, -110, -52},0, {0, 0},{0x42, 0x9B, 0xD7, 0xFF}}}, {{{10, -116, -62},0, {0, 0},{0xC0, 0xA4, 0xC4, 0xFF}}}, {{{2, -84, -47},0, {0, 0},{0x82, 0xB, 0xF6, 0xFF}}}, {{{24, -81, -74},0, {0, 0},{0xE3, 0x12, 0x86, 0xFF}}}, {{{66, -99, 43},0, {0, 0},{0x0, 0x8C, 0x33, 0xFF}}}, {{{52, -110, 53},0, {0, 0},{0x42, 0x9C, 0x2A, 0xFF}}}, {{{20, -112, 30},0, {0, 0},{0xD5, 0x9D, 0xBD, 0xFF}}}, {{{10, -116, 63},0, {0, 0},{0xC0, 0xA4, 0x3C, 0xFF}}}, {{{24, -80, 75},0, {0, 0},{0xE2, 0x12, 0x7A, 0xFF}}}, {{{2, -84, 48},0, {0, 0},{0x82, 0xC, 0xB, 0xFF}}}, }; const Gfx luigi_eyes_cap_off_dl[] = { gsSPVertex(luigi_eyes_cap_off_dl_vertex + 0, 12, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 3, 1, 0), gsSP1Triangle(4, 3, 0, 0), gsSP1Triangle(4, 0, 5, 0), gsSP1Triangle(4, 5, 6, 0), gsSP1Triangle(5, 7, 6, 0), gsSP1Triangle(5, 8, 7, 0), gsSP1Triangle(6, 7, 9, 0), gsSP1Triangle(10, 1, 3, 0), gsSP1Triangle(11, 4, 6, 0), gsSP1Triangle(11, 3, 4, 0), gsSPEndDisplayList(), }; const Gfx luigi_mustache_cap_off_dl[] = { gsSPVertex(luigi_mustache_cap_off_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(2, 1, 3, 0), gsSP1Triangle(4, 3, 1, 0), gsSP1Triangle(3, 4, 5, 0), gsSP1Triangle(3, 5, 6, 0), gsSP1Triangle(3, 6, 7, 0), gsSP1Triangle(7, 6, 8, 0), gsSP1Triangle(7, 2, 3, 0), gsSP1Triangle(9, 10, 11, 0), gsSP1Triangle(10, 12, 11, 0), gsSP1Triangle(13, 12, 10, 0), gsSP1Triangle(12, 13, 14, 0), gsSP1Triangle(13, 15, 14, 0), gsSPVertex(luigi_mustache_cap_off_dl_vertex + 16, 5, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 2, 3, 0), gsSP1Triangle(3, 4, 0, 0), gsSPEndDisplayList(), }; const Gfx luigi_hair_sideburn_cap_off_dl[] = { gsSPVertex(luigi_hair_sideburn_cap_off_dl_vertex + 0, 12, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 3, 1, 0), gsSP1Triangle(4, 3, 0, 0), gsSP1Triangle(5, 4, 0, 0), gsSP1Triangle(6, 7, 8, 0), gsSP1Triangle(9, 6, 8, 0), gsSP1Triangle(9, 10, 6, 0), gsSP1Triangle(10, 11, 6, 0), gsSPEndDisplayList(), }; const Gfx luigi_face_part_cap_off_dl[] = { gsSPVertex(luigi_face_part_cap_off_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 2, 1, 0), gsSP1Triangle(4, 3, 1, 0), gsSP1Triangle(5, 2, 3, 0), gsSP1Triangle(2, 5, 6, 0), gsSP1Triangle(7, 8, 9, 0), gsSP1Triangle(7, 10, 8, 0), gsSP1Triangle(11, 10, 7, 0), gsSP1Triangle(11, 12, 10, 0), gsSP1Triangle(11, 13, 12, 0), gsSP1Triangle(11, 0, 13, 0), gsSP1Triangle(12, 13, 14, 0), gsSP1Triangle(14, 13, 15, 0), gsSPVertex(luigi_face_part_cap_off_dl_vertex + 16, 14, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 0, 2, 0), gsSP1Triangle(4, 3, 2, 0), gsSP1Triangle(4, 5, 3, 0), gsSP1Triangle(0, 3, 5, 0), gsSP1Triangle(6, 0, 5, 0), gsSP1Triangle(7, 8, 9, 0), gsSP1Triangle(10, 8, 7, 0), gsSP1Triangle(7, 11, 10, 0), gsSP1Triangle(10, 12, 8, 0), gsSP1Triangle(13, 12, 10, 0), gsSPVertex(luigi_face_part_cap_off_dl_vertex + 30, 14, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 3, 2, 0), gsSP1Triangle(1, 4, 3, 0), gsSP1Triangle(3, 4, 5, 0), gsSP1Triangle(6, 2, 3, 0), gsSP1Triangle(6, 7, 2, 0), gsSP1Triangle(6, 3, 8, 0), gsSP1Triangle(8, 9, 6, 0), gsSP1Triangle(8, 10, 9, 0), gsSP1Triangle(10, 11, 9, 0), gsSP1Triangle(12, 11, 10, 0), gsSP1Triangle(11, 12, 13, 0), gsSP1Triangle(13, 9, 11, 0), gsSP1Triangle(9, 13, 6, 0), gsSPVertex(luigi_face_part_cap_off_dl_vertex + 44, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 0, 3, 0), gsSP1Triangle(0, 4, 3, 0), gsSP1Triangle(3, 4, 5, 0), gsSP1Triangle(4, 6, 5, 0), gsSP1Triangle(6, 4, 7, 0), gsSP1Triangle(7, 8, 6, 0), gsSP1Triangle(9, 8, 7, 0), gsSP1Triangle(10, 8, 9, 0), gsSP1Triangle(8, 10, 11, 0), gsSP1Triangle(10, 12, 11, 0), gsSP1Triangle(11, 12, 13, 0), gsSP1Triangle(12, 14, 13, 0), gsSP1Triangle(14, 12, 15, 0), gsSP1Triangle(15, 1, 14, 0), gsSP1Triangle(2, 1, 15, 0), gsSPVertex(luigi_face_part_cap_off_dl_vertex + 60, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 3, 2, 0), gsSP1Triangle(3, 1, 4, 0), gsSP1Triangle(5, 3, 4, 0), gsSP1Triangle(5, 4, 6, 0), gsSP1Triangle(7, 5, 6, 0), gsSP1Triangle(6, 8, 7, 0), gsSP1Triangle(6, 9, 8, 0), gsSP1Triangle(9, 10, 8, 0), gsSP1Triangle(10, 11, 8, 0), gsSP1Triangle(12, 11, 10, 0), gsSP1Triangle(13, 11, 12, 0), gsSP1Triangle(13, 12, 14, 0), gsSP1Triangle(13, 14, 15, 0), gsSP1Triangle(2, 15, 14, 0), gsSP1Triangle(0, 2, 14, 0), gsSPVertex(luigi_face_part_cap_off_dl_vertex + 76, 10, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 3, 1, 0), gsSP1Triangle(4, 1, 3, 0), gsSP1Triangle(4, 5, 1, 0), gsSP1Triangle(1, 5, 6, 0), gsSP1Triangle(5, 7, 6, 0), gsSP1Triangle(6, 7, 8, 0), gsSP1Triangle(6, 8, 9, 0), gsSP1Triangle(6, 9, 2, 0), gsSP1Triangle(1, 6, 2, 0), gsSPEndDisplayList(), }; const Gfx luigi_face_hair_cap_off_dl[] = { gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 2, 1, 0), gsSP1Triangle(3, 4, 2, 0), gsSP1Triangle(3, 5, 4, 0), gsSP1Triangle(6, 4, 5, 0), gsSP1Triangle(7, 6, 5, 0), gsSP1Triangle(8, 6, 7, 0), gsSP1Triangle(9, 8, 7, 0), gsSP1Triangle(9, 10, 8, 0), gsSP1Triangle(9, 11, 10, 0), gsSP1Triangle(12, 11, 9, 0), gsSP1Triangle(12, 13, 11, 0), gsSP1Triangle(13, 12, 14, 0), gsSP1Triangle(15, 13, 14, 0), gsSP1Triangle(8, 15, 14, 0), gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 16, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(2, 1, 3, 0), gsSP1Triangle(4, 3, 1, 0), gsSP1Triangle(5, 4, 1, 0), gsSP1Triangle(5, 6, 4, 0), gsSP1Triangle(5, 7, 6, 0), gsSP1Triangle(7, 8, 6, 0), gsSP1Triangle(7, 2, 8, 0), gsSP1Triangle(9, 2, 7, 0), gsSP1Triangle(9, 10, 2, 0), gsSP1Triangle(10, 9, 11, 0), gsSP1Triangle(12, 10, 11, 0), gsSP1Triangle(11, 13, 12, 0), gsSP1Triangle(13, 14, 12, 0), gsSP1Triangle(14, 13, 15, 0), gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 32, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 0, 3, 0), gsSP1Triangle(3, 0, 4, 0), gsSP1Triangle(0, 5, 4, 0), gsSP1Triangle(4, 5, 6, 0), gsSP1Triangle(7, 4, 6, 0), gsSP1Triangle(6, 8, 7, 0), gsSP1Triangle(8, 9, 7, 0), gsSP1Triangle(10, 9, 8, 0), gsSP1Triangle(9, 10, 11, 0), gsSP1Triangle(11, 10, 12, 0), gsSP1Triangle(13, 12, 10, 0), gsSP1Triangle(13, 14, 12, 0), gsSP1Triangle(15, 14, 13, 0), gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 48, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 3, 1, 0), gsSP1Triangle(3, 4, 1, 0), gsSP1Triangle(5, 4, 3, 0), gsSP1Triangle(6, 4, 5, 0), gsSP1Triangle(7, 6, 5, 0), gsSP1Triangle(6, 7, 8, 0), gsSP1Triangle(8, 7, 9, 0), gsSP1Triangle(10, 9, 7, 0), gsSP1Triangle(9, 10, 11, 0), gsSP1Triangle(9, 11, 12, 0), gsSP1Triangle(12, 11, 13, 0), gsSP1Triangle(11, 14, 13, 0), gsSP1Triangle(14, 15, 13, 0), gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 64, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 1, 0, 0), gsSP1Triangle(3, 4, 1, 0), gsSP1Triangle(4, 3, 5, 0), gsSP1Triangle(5, 6, 4, 0), gsSP1Triangle(6, 5, 7, 0), gsSP1Triangle(8, 6, 7, 0), gsSP1Triangle(8, 7, 9, 0), gsSP1Triangle(10, 8, 9, 0), gsSP1Triangle(10, 11, 8, 0), gsSP1Triangle(11, 12, 8, 0), gsSP1Triangle(8, 12, 6, 0), gsSP1Triangle(12, 13, 6, 0), gsSP1Triangle(13, 4, 6, 0), gsSP1Triangle(13, 14, 4, 0), gsSP1Triangle(14, 15, 4, 0), gsSP1Triangle(4, 15, 2, 0), gsSP1Triangle(4, 2, 1, 0), gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 80, 12, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 2, 1, 0), gsSP1Triangle(3, 1, 4, 0), gsSP1Triangle(3, 4, 5, 0), gsSP1Triangle(3, 5, 2, 0), gsSP1Triangle(6, 7, 8, 0), gsSP1Triangle(8, 7, 9, 0), gsSP1Triangle(7, 10, 9, 0), gsSP1Triangle(10, 11, 9, 0), gsSP1Triangle(11, 8, 9, 0), gsSPEndDisplayList(), }; const Gfx luigi_face_cap_off_dl[] = { gsSPDisplayList(luigi_face_part_cap_off_dl), gsSPCopyLightsPlayerPart(HAIR), gsSPDisplayList(luigi_face_hair_cap_off_dl), gsSPEndDisplayList(), }; const Gfx luigi_cap_off_eyes_front[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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, luigi_texture_eyes_front), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_off_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_cap_off_dl), gsSPEndDisplayList(), }; const Gfx luigi_cap_off_eyes_half_closed[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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, luigi_texture_eyes_half_closed), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_off_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_cap_off_dl), gsSPEndDisplayList(), }; const Gfx luigi_cap_off_eyes_closed[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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, luigi_texture_eyes_closed), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_off_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_cap_off_dl), gsSPEndDisplayList(), }; const Gfx luigi_cap_off_eyes_right[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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, luigi_texture_eyes_right), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_off_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_cap_off_dl), gsSPEndDisplayList(), }; const Gfx luigi_cap_off_eyes_left[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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, luigi_texture_eyes_left), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_off_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_cap_off_dl), gsSPEndDisplayList(), }; const Gfx luigi_cap_off_eyes_up[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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, luigi_texture_eyes_up), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_off_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_cap_off_dl), gsSPEndDisplayList(), }; const Gfx luigi_cap_off_eyes_down[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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, luigi_texture_eyes_down), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_off_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_cap_off_dl), gsSPEndDisplayList(), }; const Gfx luigi_cap_off_eyes_dead[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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, luigi_texture_eyes_dead), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_off_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_cap_off_dl), gsSPEndDisplayList(), }; const Gfx luigi_metal_cap_off_shared_dl[] = { gsSPDisplayList(luigi_eyes_cap_off_dl), gsSPDisplayList(luigi_mustache_cap_off_dl), gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), gsSPDisplayList(luigi_face_part_cap_off_dl), gsSPDisplayList(luigi_face_hair_cap_off_dl), gsSPEndDisplayList(), }; static const Vtx luigi_left_hand_open_shared_dl_vertex[56] = { {{{120, 76, -15},0, {0, 0},{0x4D, 0x5F, 0x22, 0xFF}}}, {{{69, 92, -14},0, {0, 0},{0xF0, 0x7E, 0xF9, 0xFF}}}, {{{76, 44, 27},0, {0, 0},{0x14, 0x28, 0x77, 0xFF}}}, {{{118, 73, -36},0, {0, 0},{0x32, 0x41, 0x9F, 0xFF}}}, {{{140, 37, -1},0, {0, 0},{0x74, 0xF8, 0x34, 0xFF}}}, {{{82, -14, 16},0, {0, 0},{0x43, 0xC1, 0x58, 0xFF}}}, {{{25, 19, 34},0, {0, 0},{0xDE, 0xD, 0x7A, 0xFF}}}, {{{5, 56, -3},0, {0, 0},{0xAC, 0x5D, 0x17, 0xFF}}}, {{{25, 44, -35},0, {0, 0},{0xF5, 0x41, 0x93, 0xFF}}}, {{{77, 62, -28},0, {0, 0},{0xF6, 0x16, 0x83, 0xFF}}}, {{{132, 31, -34},0, {0, 0},{0x50, 0xD8, 0xA6, 0xFF}}}, {{{88, -3, -21},0, {0, 0},{0x65, 0xE3, 0xB8, 0xFF}}}, {{{88, -44, -31},0, {0, 0},{0x4B, 0xA4, 0xD4, 0xFF}}}, {{{44, -31, 16},0, {0, 0},{0xFF, 0x9F, 0x52, 0xFF}}}, {{{25, -29, 12},0, {0, 0},{0x37, 0xA8, 0x49, 0xFF}}}, {{{10, 8, 23},0, {0, 0},{0x5, 0x1B, 0x7C, 0xFF}}}, {{{-4, 38, -3},0, {0, 0},{0xCE, 0x72, 0x18, 0xFF}}}, {{{10, 8, 23},0, {0, 0},{0x5, 0x1B, 0x7C, 0xFF}}}, {{{25, 19, 34},0, {0, 0},{0xDE, 0xD, 0x7A, 0xFF}}}, {{{5, 56, -3},0, {0, 0},{0xAC, 0x5D, 0x17, 0xFF}}}, {{{10, 32, -46},0, {0, 0},{0xDB, 0x1E, 0x8A, 0xFF}}}, {{{25, 44, -35},0, {0, 0},{0xF5, 0x41, 0x93, 0xFF}}}, {{{24, 2, -38},0, {0, 0},{0xE0, 0xE3, 0x89, 0xFF}}}, {{{75, -15, -42},0, {0, 0},{0x2D, 0x3, 0x89, 0xFF}}}, {{{68, 13, -30},0, {0, 0},{0x33, 0x1D, 0x8F, 0xFF}}}, {{{77, 62, -28},0, {0, 0},{0xF6, 0x16, 0x83, 0xFF}}}, {{{88, -3, -21},0, {0, 0},{0x65, 0xE3, 0xB8, 0xFF}}}, {{{132, 31, -34},0, {0, 0},{0x50, 0xD8, 0xA6, 0xFF}}}, {{{88, -44, -31},0, {0, 0},{0x4B, 0xA4, 0xD4, 0xFF}}}, {{{40, -34, -30},0, {0, 0},{0xD8, 0x9D, 0xBB, 0xFF}}}, {{{44, -31, 16},0, {0, 0},{0xFF, 0x9F, 0x52, 0xFF}}}, {{{25, -29, 12},0, {0, 0},{0x37, 0xA8, 0x49, 0xFF}}}, {{{25, -29, 12},0, {0, 0},{0x37, 0xA8, 0x49, 0xFF}}}, {{{19, -24, -21},0, {0, 0},{0x10, 0xB2, 0x9D, 0xFF}}}, {{{40, -34, -30},0, {0, 0},{0xD8, 0x9D, 0xBB, 0xFF}}}, {{{12, -36, -25},0, {0, 0},{0x13, 0xA4, 0xAB, 0xFF}}}, {{{19, -43, 18},0, {0, 0},{0x27, 0x99, 0x40, 0xFF}}}, {{{1, 6, 32},0, {0, 0},{0xF9, 0x19, 0x7C, 0xFF}}}, {{{10, 8, 23},0, {0, 0},{0x5, 0x1B, 0x7C, 0xFF}}}, {{{-4, 38, -3},0, {0, 0},{0xCE, 0x72, 0x18, 0xFF}}}, {{{-18, 43, -2},0, {0, 0},{0xC4, 0x6F, 0xC, 0xFF}}}, {{{-11, 17, -37},0, {0, 0},{0xD7, 0x23, 0x8D, 0xFF}}}, {{{0, 18, -31},0, {0, 0},{0xE1, 0x1C, 0x88, 0xFF}}}, {{{10, 32, -46},0, {0, 0},{0xDB, 0x1E, 0x8A, 0xFF}}}, {{{24, 2, -38},0, {0, 0},{0xE0, 0xE3, 0x89, 0xFF}}}, {{{75, -15, -42},0, {0, 0},{0x2D, 0x3, 0x89, 0xFF}}}, {{{0, -30, -17},0, {0, 0},{0x9F, 0xB3, 0xE2, 0xFF}}}, {{{5, -35, 13},0, {0, 0},{0xA7, 0xB0, 0x2A, 0xFF}}}, {{{1, 6, 32},0, {0, 0},{0xF9, 0x19, 0x7C, 0xFF}}}, {{{-7, 0, 23},0, {0, 0},{0x97, 0xE2, 0x42, 0xFF}}}, {{{5, -35, 13},0, {0, 0},{0xA7, 0xB0, 0x2A, 0xFF}}}, {{{-21, 25, -1},0, {0, 0},{0x83, 0x0, 0x16, 0xFF}}}, {{{-18, 43, -2},0, {0, 0},{0xC4, 0x6F, 0xC, 0xFF}}}, {{{-11, 17, -37},0, {0, 0},{0xD7, 0x23, 0x8D, 0xFF}}}, {{{-16, 7, -26},0, {0, 0},{0x8D, 0xDE, 0xD6, 0xFF}}}, {{{0, -30, -17},0, {0, 0},{0x9F, 0xB3, 0xE2, 0xFF}}}, }; const Gfx luigi_left_hand_open_shared_dl[] = { gsSPVertex(luigi_left_hand_open_shared_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 0, 3, 0), gsSP1Triangle(0, 4, 3, 0), gsSP1Triangle(4, 0, 2, 0), gsSP1Triangle(5, 4, 2, 0), gsSP1Triangle(5, 2, 6, 0), gsSP1Triangle(6, 2, 1, 0), gsSP1Triangle(6, 1, 7, 0), gsSP1Triangle(8, 7, 1, 0), gsSP1Triangle(1, 9, 8, 0), gsSP1Triangle(3, 9, 1, 0), gsSP1Triangle(9, 3, 10, 0), gsSP1Triangle(3, 4, 10, 0), gsSP1Triangle(10, 4, 5, 0), gsSP1Triangle(11, 10, 5, 0), gsSP1Triangle(12, 11, 5, 0), gsSP1Triangle(12, 5, 13, 0), gsSP1Triangle(13, 5, 6, 0), gsSP1Triangle(14, 13, 6, 0), gsSP1Triangle(6, 15, 14, 0), gsSPVertex(luigi_left_hand_open_shared_dl_vertex + 16, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 2, 3, 0), gsSP1Triangle(0, 3, 4, 0), gsSP1Triangle(3, 5, 4, 0), gsSP1Triangle(6, 4, 5, 0), gsSP1Triangle(7, 6, 5, 0), gsSP1Triangle(7, 5, 8, 0), gsSP1Triangle(5, 9, 8, 0), gsSP1Triangle(8, 9, 10, 0), gsSP1Triangle(9, 11, 10, 0), gsSP1Triangle(7, 8, 10, 0), gsSP1Triangle(7, 10, 12, 0), gsSP1Triangle(12, 13, 7, 0), gsSP1Triangle(14, 13, 12, 0), gsSP1Triangle(15, 13, 14, 0), gsSPVertex(luigi_left_hand_open_shared_dl_vertex + 32, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 1, 0, 0), gsSP1Triangle(0, 4, 3, 0), gsSP1Triangle(5, 4, 0, 0), gsSP1Triangle(0, 6, 5, 0), gsSP1Triangle(5, 6, 7, 0), gsSP1Triangle(7, 8, 5, 0), gsSP1Triangle(9, 8, 7, 0), gsSP1Triangle(7, 10, 9, 0), gsSP1Triangle(11, 10, 7, 0), gsSP1Triangle(10, 11, 12, 0), gsSP1Triangle(1, 10, 12, 0), gsSP1Triangle(1, 12, 2, 0), gsSP1Triangle(2, 12, 13, 0), gsSP1Triangle(9, 10, 1, 0), gsSP1Triangle(1, 3, 9, 0), gsSP1Triangle(3, 14, 9, 0), gsSP1Triangle(15, 14, 3, 0), gsSP1Triangle(4, 15, 3, 0), gsSP1Triangle(5, 15, 4, 0), gsSPVertex(luigi_left_hand_open_shared_dl_vertex + 48, 8, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 1, 0, 0), gsSP1Triangle(4, 3, 0, 0), gsSP1Triangle(5, 3, 4, 0), gsSP1Triangle(5, 6, 3, 0), gsSP1Triangle(7, 6, 5, 0), gsSP1Triangle(1, 6, 7, 0), gsSP1Triangle(7, 2, 1, 0), gsSP1Triangle(1, 3, 6, 0), gsSPEndDisplayList(), }; const Gfx luigi_left_hand_open[] = { gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c gsSPDisplayList(luigi_left_hand_open_shared_dl), gsSPEndDisplayList(), }; static const Vtx luigi_right_hand_open_dl_vertex[60] = { {{{135, 31, 25},0, {0, 0},{0x52, 0xDE, 0x5B, 0xFF}}}, {{{123, 72, 24},0, {0, 0},{0x39, 0x46, 0x5A, 0xFF}}}, {{{83, 62, 19},0, {0, 0},{0xFD, 0x21, 0x7B, 0xFF}}}, {{{142, 34, -7},0, {0, 0},{0x73, 0xF0, 0xCC, 0xFF}}}, {{{85, -16, -19},0, {0, 0},{0x3E, 0xB9, 0xAB, 0xFF}}}, {{{92, -2, 16},0, {0, 0},{0x68, 0xE6, 0x45, 0xFF}}}, {{{74, 14, 26},0, {0, 0},{0x3D, 0x24, 0x6A, 0xFF}}}, {{{33, 46, 30},0, {0, 0},{0xFD, 0x4A, 0x67, 0xFF}}}, {{{75, 91, 3},0, {0, 0},{0xF3, 0x7E, 0xFF, 0xFF}}}, {{{124, 74, 3},0, {0, 0},{0x4E, 0x5A, 0xD4, 0xFF}}}, {{{80, 40, -34},0, {0, 0},{0x10, 0x1D, 0x85, 0xFF}}}, {{{29, 16, -36},0, {0, 0},{0xD7, 0x3, 0x88, 0xFF}}}, {{{47, -32, -15},0, {0, 0},{0xF7, 0x99, 0xB6, 0xFF}}}, {{{92, -42, 30},0, {0, 0},{0x4C, 0xA7, 0x30, 0xFF}}}, {{{80, -12, 39},0, {0, 0},{0x35, 0xB, 0x73, 0xFF}}}, {{{31, 5, 37},0, {0, 0},{0xE3, 0xEE, 0x7A, 0xFF}}}, {{{33, 46, 30},0, {0, 0},{0xFD, 0x4A, 0x67, 0xFF}}}, {{{19, 36, 42},0, {0, 0},{0xE2, 0x2A, 0x74, 0xFF}}}, {{{31, 5, 37},0, {0, 0},{0xE3, 0xEE, 0x7A, 0xFF}}}, {{{12, 56, -1},0, {0, 0},{0xAE, 0x5E, 0xE7, 0xFF}}}, {{{75, 91, 3},0, {0, 0},{0xF3, 0x7E, 0xFF, 0xFF}}}, {{{29, 16, -36},0, {0, 0},{0xD7, 0x3, 0x88, 0xFF}}}, {{{80, 40, -34},0, {0, 0},{0x10, 0x1D, 0x85, 0xFF}}}, {{{124, 74, 3},0, {0, 0},{0x4E, 0x5A, 0xD4, 0xFF}}}, {{{2, 39, 0},0, {0, 0},{0xD7, 0x74, 0xE1, 0xFF}}}, {{{15, 7, -23},0, {0, 0},{0x0, 0x11, 0x82, 0xFF}}}, {{{29, -29, -10},0, {0, 0},{0x37, 0xA3, 0xBD, 0xFF}}}, {{{47, -32, -15},0, {0, 0},{0xF7, 0x99, 0xB6, 0xFF}}}, {{{45, -32, 31},0, {0, 0},{0xD8, 0xA4, 0x4E, 0xFF}}}, {{{92, -42, 30},0, {0, 0},{0x4C, 0xA7, 0x30, 0xFF}}}, {{{80, -12, 39},0, {0, 0},{0x35, 0xB, 0x73, 0xFF}}}, {{{25, -21, 22},0, {0, 0},{0xD, 0xBA, 0x69, 0xFF}}}, {{{31, 5, 37},0, {0, 0},{0xE3, 0xEE, 0x7A, 0xFF}}}, {{{8, 21, 29},0, {0, 0},{0xEA, 0x28, 0x77, 0xFF}}}, {{{25, -21, 22},0, {0, 0},{0xD, 0xBA, 0x69, 0xFF}}}, {{{19, 36, 42},0, {0, 0},{0xE2, 0x2A, 0x74, 0xFF}}}, {{{2, 39, 0},0, {0, 0},{0xD7, 0x74, 0xE1, 0xFF}}}, {{{12, 56, -1},0, {0, 0},{0xAE, 0x5E, 0xE7, 0xFF}}}, {{{-2, 21, 36},0, {0, 0},{0xE1, 0x2F, 0x72, 0xFF}}}, {{{18, -33, 27},0, {0, 0},{0x16, 0xA9, 0x5A, 0xFF}}}, {{{6, -27, 20},0, {0, 0},{0x9E, 0xBA, 0x2A, 0xFF}}}, {{{-8, 10, 26},0, {0, 0},{0x8D, 0xE7, 0x31, 0xFF}}}, {{{-13, 26, 0},0, {0, 0},{0x82, 0x0, 0xF0, 0xFF}}}, {{{-10, 44, -1},0, {0, 0},{0xC7, 0x70, 0xEC, 0xFF}}}, {{{6, 4, -32},0, {0, 0},{0xF2, 0xD, 0x82, 0xFF}}}, {{{15, 7, -23},0, {0, 0},{0x0, 0x11, 0x82, 0xFF}}}, {{{29, -29, -10},0, {0, 0},{0x37, 0xA3, 0xBD, 0xFF}}}, {{{24, -43, -15},0, {0, 0},{0x28, 0x96, 0xC6, 0xFF}}}, {{{45, -32, 31},0, {0, 0},{0xD8, 0xA4, 0x4E, 0xFF}}}, {{{25, -21, 22},0, {0, 0},{0xD, 0xBA, 0x69, 0xFF}}}, {{{29, -29, -10},0, {0, 0},{0x37, 0xA3, 0xBD, 0xFF}}}, {{{18, -33, 27},0, {0, 0},{0x16, 0xA9, 0x5A, 0xFF}}}, {{{10, -35, -9},0, {0, 0},{0xA4, 0xAD, 0xE3, 0xFF}}}, {{{24, -43, -15},0, {0, 0},{0x28, 0x96, 0xC6, 0xFF}}}, {{{6, -27, 20},0, {0, 0},{0x9E, 0xBA, 0x2A, 0xFF}}}, {{{-1, -1, -21},0, {0, 0},{0x91, 0xDE, 0xCC, 0xFF}}}, {{{-8, 10, 26},0, {0, 0},{0x8D, 0xE7, 0x31, 0xFF}}}, {{{-13, 26, 0},0, {0, 0},{0x82, 0x0, 0xF0, 0xFF}}}, {{{6, 4, -32},0, {0, 0},{0xF2, 0xD, 0x82, 0xFF}}}, {{{-10, 44, -1},0, {0, 0},{0xC7, 0x70, 0xEC, 0xFF}}}, }; const Gfx luigi_right_hand_open_dl[] = { gsSPVertex(luigi_right_hand_open_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 3, 1, 0), gsSP1Triangle(4, 3, 0, 0), gsSP1Triangle(4, 0, 5, 0), gsSP1Triangle(5, 0, 2, 0), gsSP1Triangle(5, 2, 6, 0), gsSP1Triangle(6, 2, 7, 0), gsSP1Triangle(7, 2, 8, 0), gsSP1Triangle(8, 2, 1, 0), gsSP1Triangle(1, 9, 8, 0), gsSP1Triangle(1, 3, 9, 0), gsSP1Triangle(10, 9, 3, 0), gsSP1Triangle(10, 3, 4, 0), gsSP1Triangle(11, 10, 4, 0), gsSP1Triangle(11, 4, 12, 0), gsSP1Triangle(12, 4, 13, 0), gsSP1Triangle(4, 5, 13, 0), gsSP1Triangle(13, 5, 14, 0), gsSP1Triangle(5, 6, 14, 0), gsSP1Triangle(6, 7, 14, 0), gsSP1Triangle(7, 15, 14, 0), gsSPVertex(luigi_right_hand_open_dl_vertex + 16, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 0, 3, 0), gsSP1Triangle(4, 3, 0, 0), gsSP1Triangle(3, 4, 5, 0), gsSP1Triangle(4, 6, 5, 0), gsSP1Triangle(6, 4, 7, 0), gsSP1Triangle(3, 5, 8, 0), gsSP1Triangle(5, 9, 8, 0), gsSP1Triangle(10, 9, 5, 0), gsSP1Triangle(5, 11, 10, 0), gsSP1Triangle(11, 12, 10, 0), gsSP1Triangle(13, 12, 11, 0), gsSP1Triangle(14, 12, 13, 0), gsSP1Triangle(14, 2, 12, 0), gsSP1Triangle(12, 2, 15, 0), gsSPVertex(luigi_right_hand_open_dl_vertex + 32, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 3, 1, 0), gsSP1Triangle(4, 1, 3, 0), gsSP1Triangle(3, 5, 4, 0), gsSP1Triangle(6, 1, 4, 0), gsSP1Triangle(2, 1, 6, 0), gsSP1Triangle(6, 7, 2, 0), gsSP1Triangle(6, 8, 7, 0), gsSP1Triangle(6, 9, 8, 0), gsSP1Triangle(10, 9, 6, 0), gsSP1Triangle(11, 10, 6, 0), gsSP1Triangle(4, 11, 6, 0), gsSP1Triangle(12, 11, 4, 0), gsSP1Triangle(4, 13, 12, 0), gsSP1Triangle(12, 13, 14, 0), gsSP1Triangle(14, 15, 12, 0), gsSP1Triangle(7, 15, 14, 0), gsSP1Triangle(14, 2, 7, 0), gsSPVertex(luigi_right_hand_open_dl_vertex + 48, 12, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 4, 5, 0), gsSP1Triangle(3, 6, 4, 0), gsSP1Triangle(7, 4, 6, 0), gsSP1Triangle(6, 8, 7, 0), gsSP1Triangle(8, 9, 7, 0), gsSP1Triangle(10, 7, 9, 0), gsSP1Triangle(10, 9, 11, 0), gsSP1Triangle(4, 7, 10, 0), gsSP1Triangle(5, 4, 10, 0), gsSPEndDisplayList(), }; const Gfx luigi_right_hand_open[] = { gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c gsSPDisplayList(luigi_right_hand_open_dl), gsSPEndDisplayList(), }; const Gfx luigi_metal_right_hand_open[] = { gsSPDisplayList(luigi_right_hand_open_dl), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsSPEndDisplayList(), }; static const Vtx luigi_right_hand_cap_l_logo_dl_vertex[5] = { {{{125, -18, -40},0, {466, -5},{0xDA, 0xD, 0x87, 0xFF}}}, {{{86, 7, 39},0, {735, 920},{0xD8, 0x46, 0x9E, 0xFF}}}, {{{135, 34, -7},0, {1085, 268},{0xE1, 0x5F, 0xB1, 0xFF}}}, {{{80, -45, 36},0, {161, 905},{0xC8, 0xD7, 0x95, 0xFF}}}, {{{120, -76, -15},0, {-162, 239},{0xCA, 0xBA, 0xA5, 0xFF}}}, }; static const Vtx luigi_right_hand_cap_hand_position_dl_vertex[45] = { {{{33, 11, -43},0, {0, 0},{0xE8, 0xF6, 0x84, 0xFF}}}, {{{54, -41, -9},0, {0, 0},{0x7, 0x8C, 0xCD, 0xFF}}}, {{{30, -37, -7},0, {0, 0},{0x3A, 0x99, 0xD1, 0xFF}}}, {{{102, -23, -5},0, {0, 0},{0x65, 0xBF, 0xD7, 0xFF}}}, {{{84, 33, -39},0, {0, 0},{0x44, 0x1D, 0x98, 0xFF}}}, {{{56, 84, -6},0, {0, 0},{0x17, 0x7A, 0xE4, 0xFF}}}, {{{8, 63, -9},0, {0, 0},{0xB0, 0x59, 0xD4, 0xFF}}}, {{{-3, 44, -7},0, {0, 0},{0xD8, 0x6F, 0xD1, 0xFF}}}, {{{14, 2, -29},0, {0, 0},{0xD, 0xFF, 0x82, 0xFF}}}, {{{2, 0, -39},0, {0, 0},{0xF0, 0xFC, 0x82, 0xFF}}}, {{{23, -54, -9},0, {0, 0},{0x1C, 0x89, 0xDC, 0xFF}}}, {{{12, -36, 36},0, {0, 0},{0xFB, 0xB0, 0x62, 0xFF}}}, {{{22, -23, 30},0, {0, 0},{0xE, 0xBF, 0x6C, 0xFF}}}, {{{74, -30, 60},0, {0, 0},{0x19, 0xB2, 0x61, 0xFF}}}, {{{94, -5, 46},0, {0, 0},{0x67, 0xFB, 0x4A, 0xFF}}}, {{{95, 41, 18},0, {0, 0},{0x6C, 0x3D, 0x1C, 0xFF}}}, {{{53, 56, 38},0, {0, 0},{0x16, 0x51, 0x5F, 0xFF}}}, {{{95, 41, 18},0, {0, 0},{0x6C, 0x3D, 0x1C, 0xFF}}}, {{{56, 84, -6},0, {0, 0},{0x17, 0x7A, 0xE4, 0xFF}}}, {{{28, 64, 29},0, {0, 0},{0xD0, 0x59, 0x4D, 0xFF}}}, {{{8, 63, -9},0, {0, 0},{0xB0, 0x59, 0xD4, 0xFF}}}, {{{0, 26, 30},0, {0, 0},{0xF5, 0x3D, 0x6F, 0xFF}}}, {{{-3, 44, -7},0, {0, 0},{0xD8, 0x6F, 0xD1, 0xFF}}}, {{{-15, 29, 36},0, {0, 0},{0xC6, 0x35, 0x64, 0xFF}}}, {{{-21, 49, -9},0, {0, 0},{0xBC, 0x66, 0xDD, 0xFF}}}, {{{2, 0, -39},0, {0, 0},{0xF0, 0xFC, 0x82, 0xFF}}}, {{{14, 2, -29},0, {0, 0},{0xD, 0xFF, 0x82, 0xFF}}}, {{{-17, -9, 0},0, {0, 0},{0x8B, 0xD0, 0xF6, 0xFF}}}, {{{23, -54, -9},0, {0, 0},{0x1C, 0x89, 0xDC, 0xFF}}}, {{{12, -36, 36},0, {0, 0},{0xFB, 0xB0, 0x62, 0xFF}}}, {{{22, -23, 30},0, {0, 0},{0xE, 0xBF, 0x6C, 0xFF}}}, {{{28, 9, 44},0, {0, 0},{0xC0, 0xFA, 0x6E, 0xFF}}}, {{{74, -30, 60},0, {0, 0},{0x19, 0xB2, 0x61, 0xFF}}}, {{{28, 9, 44},0, {0, 0},{0xC0, 0xFA, 0x6E, 0xFF}}}, {{{22, -23, 30},0, {0, 0},{0xE, 0xBF, 0x6C, 0xFF}}}, {{{55, 13, 60},0, {0, 0},{0xF4, 0x14, 0x7D, 0xFF}}}, {{{94, -5, 46},0, {0, 0},{0x67, 0xFB, 0x4A, 0xFF}}}, {{{84, 18, 46},0, {0, 0},{0x43, 0x2E, 0x62, 0xFF}}}, {{{95, 41, 18},0, {0, 0},{0x6C, 0x3D, 0x1C, 0xFF}}}, {{{53, 56, 38},0, {0, 0},{0x16, 0x51, 0x5F, 0xFF}}}, {{{28, 64, 29},0, {0, 0},{0xD0, 0x59, 0x4D, 0xFF}}}, {{{0, 26, 30},0, {0, 0},{0xF5, 0x3D, 0x6F, 0xFF}}}, {{{-21, 49, -9},0, {0, 0},{0xBC, 0x66, 0xDD, 0xFF}}}, {{{-17, -9, 0},0, {0, 0},{0x8B, 0xD0, 0xF6, 0xFF}}}, {{{-15, 29, 36},0, {0, 0},{0xC6, 0x35, 0x64, 0xFF}}}, }; static const Vtx luigi_right_hand_cap_top_dl_vertex[44] = { {{{86, 7, 39},0, {0, 0},{0xD8, 0x46, 0x9E, 0xFF}}}, {{{126, 47, 99},0, {0, 0},{0xA4, 0x4C, 0x2B, 0xFF}}}, {{{135, 34, -7},0, {0, 0},{0xE1, 0x5F, 0xB1, 0xFF}}}, {{{49, 39, 49},0, {0, 0},{0xB7, 0x68, 0x3, 0xFF}}}, {{{17, -10, 28},0, {0, 0},{0x88, 0x10, 0xD8, 0xFF}}}, {{{80, -45, 36},0, {0, 0},{0xC8, 0xD7, 0x95, 0xFF}}}, {{{37, -68, 41},0, {0, 0},{0x9F, 0xAE, 0xF6, 0xFF}}}, {{{107, -105, 86},0, {0, 0},{0x97, 0xBC, 0x17, 0xFF}}}, {{{120, -76, -15},0, {0, 0},{0xCA, 0xBA, 0xA5, 0xFF}}}, {{{148, -147, 62},0, {0, 0},{0xF2, 0x87, 0xDC, 0xFF}}}, {{{189, -62, -11},0, {0, 0},{0x4E, 0xD2, 0xA6, 0xFF}}}, {{{125, -18, -40},0, {0, 0},{0xDA, 0xD, 0x87, 0xFF}}}, {{{196, 3, -7},0, {0, 0},{0x58, 0x27, 0xAD, 0xFF}}}, {{{178, 83, 79},0, {0, 0},{0x11, 0x7D, 0xEE, 0xFF}}}, {{{154, 47, 139},0, {0, 0},{0xA9, 0x43, 0x40, 0xFF}}}, {{{197, 66, 147},0, {0, 0},{0x1A, 0x74, 0x2E, 0xFF}}}, {{{197, 66, 147},0, {0, 0},{0x1A, 0x74, 0x2E, 0xFF}}}, {{{154, 47, 139},0, {0, 0},{0xA9, 0x43, 0x40, 0xFF}}}, {{{177, 28, 183},0, {0, 0},{0xBA, 0x39, 0x59, 0xFF}}}, {{{208, -7, 220},0, {0, 0},{0xF5, 0x25, 0x79, 0xFF}}}, {{{274, -15, 190},0, {0, 0},{0x74, 0x1D, 0x2C, 0xFF}}}, {{{263, -94, 184},0, {0, 0},{0x68, 0xC1, 0x25, 0xFF}}}, {{{198, -91, 214},0, {0, 0},{0xEA, 0xCE, 0x73, 0xFF}}}, {{{171, -146, 131},0, {0, 0},{0xFD, 0x84, 0x19, 0xFF}}}, {{{160, -110, 172},0, {0, 0},{0xAB, 0xCC, 0x4F, 0xFF}}}, {{{135, -115, 126},0, {0, 0},{0x9C, 0xCB, 0x3A, 0xFF}}}, {{{148, -147, 62},0, {0, 0},{0xF2, 0x87, 0xDC, 0xFF}}}, {{{107, -105, 86},0, {0, 0},{0x97, 0xBC, 0x17, 0xFF}}}, {{{224, -105, 113},0, {0, 0},{0x64, 0xBF, 0xD6, 0xFF}}}, {{{239, 16, 122},0, {0, 0},{0x72, 0x2D, 0xDF, 0xFF}}}, {{{189, -62, -11},0, {0, 0},{0x4E, 0xD2, 0xA6, 0xFF}}}, {{{196, 3, -7},0, {0, 0},{0x58, 0x27, 0xAD, 0xFF}}}, {{{178, 83, 79},0, {0, 0},{0x11, 0x7D, 0xEE, 0xFF}}}, {{{239, 16, 122},0, {0, 0},{0x72, 0x2D, 0xDF, 0xFF}}}, {{{196, 3, -7},0, {0, 0},{0x58, 0x27, 0xAD, 0xFF}}}, {{{197, 66, 147},0, {0, 0},{0x1A, 0x74, 0x2E, 0xFF}}}, {{{274, -15, 190},0, {0, 0},{0x74, 0x1D, 0x2C, 0xFF}}}, {{{37, -68, 41},0, {0, 0},{0x9F, 0xAE, 0xF6, 0xFF}}}, {{{107, -105, 86},0, {0, 0},{0x97, 0xBC, 0x17, 0xFF}}}, {{{71, -45, 53},0, {0, 0},{0xB9, 0x9, 0x69, 0xFF}}}, {{{17, -10, 28},0, {0, 0},{0x88, 0x10, 0xD8, 0xFF}}}, {{{78, 7, 58},0, {0, 0},{0xB9, 0xF8, 0x69, 0xFF}}}, {{{49, 39, 49},0, {0, 0},{0xB7, 0x68, 0x3, 0xFF}}}, {{{126, 47, 99},0, {0, 0},{0xA4, 0x4C, 0x2B, 0xFF}}}, }; static const Vtx luigi_right_hand_cap_bottom_dl_vertex[10] = { {{{71, -45, 53},0, {0, 0},{0xB9, 0x9, 0x69, 0xFF}}}, {{{107, -105, 86},0, {0, 0},{0x97, 0xBC, 0x17, 0xFF}}}, {{{135, -115, 126},0, {0, 0},{0x9C, 0xCB, 0x3A, 0xFF}}}, {{{78, 7, 58},0, {0, 0},{0xB9, 0xF8, 0x69, 0xFF}}}, {{{126, 47, 99},0, {0, 0},{0xA4, 0x4C, 0x2B, 0xFF}}}, {{{154, 47, 139},0, {0, 0},{0xA9, 0x43, 0x40, 0xFF}}}, {{{177, 28, 183},0, {0, 0},{0xBA, 0x39, 0x59, 0xFF}}}, {{{160, -110, 172},0, {0, 0},{0xAB, 0xCC, 0x4F, 0xFF}}}, {{{198, -91, 214},0, {0, 0},{0xEA, 0xCE, 0x73, 0xFF}}}, {{{208, -7, 220},0, {0, 0},{0xF5, 0x25, 0x79, 0xFF}}}, }; const Gfx luigi_right_hand_cap_l_logo_dl[] = { gsSPVertex(luigi_right_hand_cap_l_logo_dl_vertex + 0, 5, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 1, 0, 0), gsSP1Triangle(4, 3, 0, 0), gsSPEndDisplayList(), }; const Gfx luigi_right_hand_cap_top_dl[] = { gsSPVertex(luigi_right_hand_cap_top_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 1, 0, 0), gsSP1Triangle(4, 3, 0, 0), gsSP1Triangle(4, 0, 5, 0), gsSP1Triangle(4, 5, 6, 0), gsSP1Triangle(7, 6, 5, 0), gsSP1Triangle(7, 5, 8, 0), gsSP1Triangle(9, 7, 8, 0), gsSP1Triangle(8, 10, 9, 0), gsSP1Triangle(10, 8, 11, 0), gsSP1Triangle(11, 12, 10, 0), gsSP1Triangle(11, 2, 12, 0), gsSP1Triangle(13, 12, 2, 0), gsSP1Triangle(2, 1, 13, 0), gsSP1Triangle(1, 14, 13, 0), gsSP1Triangle(15, 13, 14, 0), gsSPVertex(luigi_right_hand_cap_top_dl_vertex + 16, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(2, 3, 0, 0), gsSP1Triangle(0, 3, 4, 0), gsSP1Triangle(4, 3, 5, 0), gsSP1Triangle(5, 3, 6, 0), gsSP1Triangle(6, 7, 5, 0), gsSP1Triangle(6, 8, 7, 0), gsSP1Triangle(7, 8, 9, 0), gsSP1Triangle(7, 9, 10, 0), gsSP1Triangle(9, 11, 10, 0), gsSP1Triangle(12, 7, 10, 0), gsSP1Triangle(5, 7, 12, 0), gsSP1Triangle(5, 12, 4, 0), gsSP1Triangle(13, 4, 12, 0), gsSP1Triangle(14, 13, 12, 0), gsSP1Triangle(10, 14, 12, 0), gsSP1Triangle(15, 13, 14, 0), gsSPVertex(luigi_right_hand_cap_top_dl_vertex + 32, 12, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 0, 3, 0), gsSP1Triangle(4, 1, 3, 0), gsSP1Triangle(5, 6, 7, 0), gsSP1Triangle(8, 5, 7, 0), gsSP1Triangle(9, 8, 7, 0), gsSP1Triangle(8, 9, 10, 0), gsSP1Triangle(10, 9, 11, 0), gsSPEndDisplayList(), }; const Gfx luigi_right_hand_cap_hand_position_dl[] = { gsSPVertex(luigi_right_hand_cap_hand_position_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 3, 1, 0), gsSP1Triangle(0, 4, 3, 0), gsSP1Triangle(5, 4, 0, 0), gsSP1Triangle(6, 5, 0, 0), gsSP1Triangle(6, 0, 7, 0), gsSP1Triangle(0, 8, 7, 0), gsSP1Triangle(2, 8, 0, 0), gsSP1Triangle(9, 8, 2, 0), gsSP1Triangle(2, 10, 9, 0), gsSP1Triangle(11, 10, 2, 0), gsSP1Triangle(2, 12, 11, 0), gsSP1Triangle(12, 2, 1, 0), gsSP1Triangle(1, 13, 12, 0), gsSP1Triangle(1, 3, 13, 0), gsSP1Triangle(3, 14, 13, 0), gsSP1Triangle(3, 15, 14, 0), gsSP1Triangle(4, 15, 3, 0), gsSP1Triangle(5, 15, 4, 0), gsSPVertex(luigi_right_hand_cap_hand_position_dl_vertex + 16, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 0, 2, 0), gsSP1Triangle(2, 4, 3, 0), gsSP1Triangle(3, 4, 5, 0), gsSP1Triangle(4, 6, 5, 0), gsSP1Triangle(7, 5, 6, 0), gsSP1Triangle(6, 8, 7, 0), gsSP1Triangle(9, 8, 6, 0), gsSP1Triangle(6, 10, 9, 0), gsSP1Triangle(9, 11, 8, 0), gsSP1Triangle(12, 11, 9, 0), gsSP1Triangle(13, 11, 12, 0), gsSP1Triangle(7, 11, 13, 0), gsSP1Triangle(7, 13, 14, 0), gsSP1Triangle(14, 5, 7, 0), gsSP1Triangle(15, 5, 14, 0), gsSPVertex(luigi_right_hand_cap_hand_position_dl_vertex + 32, 13, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 3, 1, 0), gsSP1Triangle(0, 4, 3, 0), gsSP1Triangle(4, 5, 3, 0), gsSP1Triangle(4, 6, 5, 0), gsSP1Triangle(6, 7, 5, 0), gsSP1Triangle(5, 7, 3, 0), gsSP1Triangle(7, 8, 3, 0), gsSP1Triangle(8, 1, 3, 0), gsSP1Triangle(9, 1, 8, 0), gsSP1Triangle(10, 11, 12, 0), gsSPEndDisplayList(), }; const Gfx luigi_right_hand_cap_bottom_dl[] = { gsSPVertex(luigi_right_hand_cap_bottom_dl_vertex + 0, 10, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 0, 2, 0), gsSP1Triangle(4, 3, 2, 0), gsSP1Triangle(5, 4, 2, 0), gsSP1Triangle(6, 5, 2, 0), gsSP1Triangle(6, 2, 7, 0), gsSP1Triangle(6, 7, 8, 0), gsSP1Triangle(8, 9, 6, 0), gsSPEndDisplayList(), }; const Gfx luigi_right_hand_cap_dl[] = { gsSPDisplayList(luigi_right_hand_cap_top_dl), gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c gsSPDisplayList(luigi_right_hand_cap_hand_position_dl), gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(luigi_right_hand_cap_bottom_dl), gsSPEndDisplayList(), }; static const Vtx luigi_right_hand_cap_wings_half_1_dl_vertex[8] = { {{{374, 128, 14},0, {990, 16},{0xBF, 0x65, 0xD6, 0xFF}}}, {{{164, 16, 68},0, {0, 2028},{0xBF, 0x65, 0xD6, 0xFF}}}, {{{208, 77, 147},0, {990, 2028},{0xBF, 0x65, 0xD6, 0xFF}}}, {{{330, 68, -64},0, {0, 16},{0xBF, 0x65, 0xD7, 0xFF}}}, {{{179, -153, 135},0, {990, 2028},{0xAA, 0xB3, 0xCB, 0xFF}}}, {{{154, -75, 63},0, {0, 2028},{0xAA, 0xB3, 0xCB, 0xFF}}}, {{{331, -225, -5},0, {990, 16},{0xAA, 0xB3, 0xCB, 0xFF}}}, {{{304, -147, -75},0, {0, 16},{0xAA, 0xB2, 0xCC, 0xFF}}}, }; static const Vtx luigi_right_hand_cap_wings_half_2_dl_vertex[8] = { {{{179, -153, 135},0, {0, 2028},{0xAA, 0xB3, 0xCB, 0xFF}}}, {{{331, -225, -5},0, {0, 16},{0xAA, 0xB3, 0xCB, 0xFF}}}, {{{359, -305, 66},0, {990, 16},{0xAA, 0xB3, 0xCB, 0xFF}}}, {{{207, -231, 205},0, {990, 2028},{0xAA, 0xB2, 0xCB, 0xFF}}}, {{{417, 190, 93},0, {990, 16},{0xBF, 0x65, 0xD5, 0xFF}}}, {{{374, 128, 14},0, {0, 16},{0xBF, 0x65, 0xD6, 0xFF}}}, {{{208, 77, 147},0, {0, 2028},{0xBF, 0x65, 0xD6, 0xFF}}}, {{{252, 139, 225},0, {990, 2028},{0xBF, 0x64, 0xD5, 0xFF}}}, }; const Gfx luigi_right_hand_cap_wings_half_1_dl[] = { gsSPVertex(luigi_right_hand_cap_wings_half_1_dl_vertex + 0, 8, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 3, 1, 0), gsSP1Triangle(4, 5, 6, 0), gsSP1Triangle(5, 7, 6, 0), gsSPEndDisplayList(), }; const Gfx luigi_right_hand_cap_wings_half_2_dl[] = { gsSPVertex(luigi_right_hand_cap_wings_half_2_dl_vertex + 0, 8, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 0, 2, 0), gsSP1Triangle(4, 5, 6, 0), gsSP1Triangle(4, 6, 7, 0), gsSPEndDisplayList(), }; const Gfx luigi_right_hand_cap_wings_intial_dl[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA), 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), gsSPLight(&luigi_white_lights_group.l, 1), gsSPLight(&luigi_white_lights_group.a, 2), 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), gsSPEndDisplayList(), }; const Gfx luigi_right_hand_cap_wings_end_dl[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPEndDisplayList(), }; const Gfx luigi_right_hand_cap[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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, luigi_texture_l_logo), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(luigi_right_hand_cap_l_logo_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_right_hand_cap_dl), gsSPEndDisplayList(), }; const Gfx luigi_right_hand_cap_wings[] = { gsSPDisplayList(luigi_right_hand_cap_wings_intial_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_wings_half_1), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_right_hand_cap_wings_half_1_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_wings_half_2), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_right_hand_cap_wings_half_2_dl), gsSPDisplayList(luigi_right_hand_cap_wings_end_dl), gsSPEndDisplayList(), }; const Gfx luigi_metal_right_hand_cap_shared_dl[] = { gsSPDisplayList(luigi_right_hand_cap_l_logo_dl), gsSPDisplayList(luigi_right_hand_cap_top_dl), gsSPDisplayList(luigi_right_hand_cap_hand_position_dl), gsSPDisplayList(luigi_right_hand_cap_bottom_dl), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsSPEndDisplayList(), }; const Gfx luigi_metal_right_hand_cap_shared_dl_wings[] = { gsSPDisplayList(luigi_right_hand_cap_wings_intial_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_metal_wings_half_1), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_right_hand_cap_wings_half_1_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_metal_wings_half_2), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_right_hand_cap_wings_half_2_dl), gsSPDisplayList(luigi_right_hand_cap_wings_end_dl), gsSPEndDisplayList(), }; static const Vtx luigi_right_hand_peace_shared_dl_vertex[88] = { {{{104, 20, -3},0, {0, 0},{0x9, 0x7D, 0x12, 0xFF}}}, {{{97, 13, 23},0, {0, 0},{0x9, 0x7A, 0x23, 0xFF}}}, {{{152, 10, 18},0, {0, 0},{0xC, 0x7B, 0x1E, 0xFF}}}, {{{161, 17, -17},0, {0, 0},{0xB, 0x7D, 0x13, 0xFF}}}, {{{88, 21, -40},0, {0, 0},{0x6, 0x7F, 0x0, 0xFF}}}, {{{165, -10, -23},0, {0, 0},{0x7A, 0x9, 0x22, 0xFF}}}, {{{161, 17, -17},0, {0, 0},{0x7A, 0xA, 0x21, 0xFF}}}, {{{152, 10, 18},0, {0, 0},{0x7A, 0x8, 0x23, 0xFF}}}, {{{154, -12, 15},0, {0, 0},{0x7A, 0x6, 0x23, 0xFF}}}, {{{100, -26, 9},0, {0, 0},{0x4, 0xDC, 0x7A, 0xFF}}}, {{{152, 10, 18},0, {0, 0},{0xFE, 0xE4, 0x7C, 0xFF}}}, {{{97, 13, 23},0, {0, 0},{0x8, 0xD6, 0x78, 0xFF}}}, {{{154, -12, 15},0, {0, 0},{0xF7, 0xEE, 0x7D, 0xFF}}}, {{{88, 21, -40},0, {0, 0},{0x7, 0xA, 0x82, 0xFF}}}, {{{161, 17, -17},0, {0, 0},{0x26, 0x1F, 0x8B, 0xFF}}}, {{{165, -10, -23},0, {0, 0},{0x1E, 0x6, 0x85, 0xFF}}}, {{{165, -10, -23},0, {0, 0},{0x1E, 0x6, 0x85, 0xFF}}}, {{{93, -19, -24},0, {0, 0},{0x1A, 0xA8, 0xA8, 0xFF}}}, {{{88, 21, -40},0, {0, 0},{0x7, 0xA, 0x82, 0xFF}}}, {{{32, 10, -43},0, {0, 0},{0xDF, 0xFA, 0x85, 0xFF}}}, {{{55, -44, -11},0, {0, 0},{0x3, 0x8A, 0xD1, 0xFF}}}, {{{100, -26, 9},0, {0, 0},{0x47, 0x97, 0xFB, 0xFF}}}, {{{154, -12, 15},0, {0, 0},{0x15, 0x83, 0xF6, 0xFF}}}, {{{165, -10, -23},0, {0, 0},{0xF, 0x82, 0xFE, 0xFF}}}, {{{87, -31, 33},0, {0, 0},{0x3D, 0xA6, 0x41, 0xFF}}}, {{{89, 0, 46},0, {0, 0},{0x48, 0x2, 0x69, 0xFF}}}, {{{97, 13, 23},0, {0, 0},{0x5F, 0x1A, 0x51, 0xFF}}}, {{{83, 51, 18},0, {0, 0},{0x2E, 0x40, 0x64, 0xFF}}}, {{{138, 56, 19},0, {0, 0},{0xFC, 0x13, 0x7E, 0xFF}}}, {{{122, 75, 15},0, {0, 0},{0xFC, 0x16, 0x7D, 0xFF}}}, {{{45, 52, 39},0, {0, 0},{0xF7, 0x48, 0x68, 0xFF}}}, {{{55, 83, -5},0, {0, 0},{0x6, 0x7D, 0xED, 0xFF}}}, {{{55, 83, -5},0, {0, 0},{0x6, 0x7D, 0xED, 0xFF}}}, {{{83, 51, 18},0, {0, 0},{0x2E, 0x40, 0x64, 0xFF}}}, {{{83, 63, -13},0, {0, 0},{0x18, 0x5D, 0xAC, 0xFF}}}, {{{88, 21, -40},0, {0, 0},{0x7, 0xA, 0x82, 0xFF}}}, {{{125, 87, -9},0, {0, 0},{0x6, 0x33, 0x8C, 0xFF}}}, {{{145, 62, -14},0, {0, 0},{0x17, 0x2A, 0x8A, 0xFF}}}, {{{32, 10, -43},0, {0, 0},{0xDF, 0xFA, 0x85, 0xFF}}}, {{{7, 61, -8},0, {0, 0},{0xAF, 0x5D, 0xE2, 0xFF}}}, {{{-5, 41, -6},0, {0, 0},{0xD9, 0x73, 0xD9, 0xFF}}}, {{{13, 2, -28},0, {0, 0},{0x3, 0x4, 0x81, 0xFF}}}, {{{31, -40, -6},0, {0, 0},{0x33, 0x94, 0xD4, 0xFF}}}, {{{55, -44, -11},0, {0, 0},{0x3, 0x8A, 0xD1, 0xFF}}}, {{{44, -26, 46},0, {0, 0},{0xE7, 0xBC, 0x69, 0xFF}}}, {{{87, -31, 33},0, {0, 0},{0x3D, 0xA6, 0x41, 0xFF}}}, {{{89, 0, 46},0, {0, 0},{0x48, 0x2, 0x69, 0xFF}}}, {{{45, 52, 39},0, {0, 0},{0xF7, 0x48, 0x68, 0xFF}}}, {{{44, -26, 46},0, {0, 0},{0xE7, 0xBC, 0x69, 0xFF}}}, {{{45, 52, 39},0, {0, 0},{0xF7, 0x48, 0x68, 0xFF}}}, {{{17, 33, 35},0, {0, 0},{0xC9, 0x2D, 0x69, 0xFF}}}, {{{7, 61, -8},0, {0, 0},{0xAF, 0x5D, 0xE2, 0xFF}}}, {{{55, 83, -5},0, {0, 0},{0x6, 0x7D, 0xED, 0xFF}}}, {{{-5, 41, -6},0, {0, 0},{0xD9, 0x73, 0xD9, 0xFF}}}, {{{-1, 24, 31},0, {0, 0},{0x5, 0x44, 0x6B, 0xFF}}}, {{{-16, 26, 37},0, {0, 0},{0xD4, 0x3B, 0x68, 0xFF}}}, {{{-23, 46, -9},0, {0, 0},{0xC3, 0x69, 0xDA, 0xFF}}}, {{{13, 2, -28},0, {0, 0},{0x3, 0x4, 0x81, 0xFF}}}, {{{1, -2, -39},0, {0, 0},{0xFA, 0x2, 0x81, 0xFF}}}, {{{31, -40, -6},0, {0, 0},{0x33, 0x94, 0xD4, 0xFF}}}, {{{23, -56, -9},0, {0, 0},{0x26, 0x8D, 0xDB, 0xFF}}}, {{{22, -26, 30},0, {0, 0},{0x16, 0xC5, 0x6E, 0xFF}}}, {{{14, -36, 36},0, {0, 0},{0x12, 0xBA, 0x68, 0xFF}}}, {{{-1, -32, 26},0, {0, 0},{0xA3, 0xB8, 0x31, 0xFF}}}, {{{-16, 26, 37},0, {0, 0},{0xD4, 0x3B, 0x68, 0xFF}}}, {{{-22, 12, 27},0, {0, 0},{0x8D, 0xE7, 0x2F, 0xFF}}}, {{{-1, -32, 26},0, {0, 0},{0xA3, 0xB8, 0x31, 0xFF}}}, {{{-23, 46, -9},0, {0, 0},{0xC3, 0x69, 0xDA, 0xFF}}}, {{{-26, 27, -6},0, {0, 0},{0x84, 0xFB, 0xE5, 0xFF}}}, {{{1, -2, -39},0, {0, 0},{0xFA, 0x2, 0x81, 0xFF}}}, {{{-9, -9, -26},0, {0, 0},{0x9B, 0xD0, 0xC4, 0xFF}}}, {{{23, -56, -9},0, {0, 0},{0x26, 0x8D, 0xDB, 0xFF}}}, {{{5, -46, -6},0, {0, 0},{0xAB, 0xA5, 0xE6, 0xFF}}}, {{{14, -36, 36},0, {0, 0},{0x12, 0xBA, 0x68, 0xFF}}}, {{{22, -26, 30},0, {0, 0},{0x16, 0xC5, 0x6E, 0xFF}}}, {{{83, 63, -13},0, {0, 0},{0xC1, 0x67, 0x28, 0xFF}}}, {{{83, 51, 18},0, {0, 0},{0xC2, 0x67, 0x29, 0xFF}}}, {{{125, 87, -9},0, {0, 0},{0xC3, 0x67, 0x2A, 0xFF}}}, {{{122, 75, 15},0, {0, 0},{0xC4, 0x67, 0x2C, 0xFF}}}, {{{145, 62, -14},0, {0, 0},{0x59, 0xA6, 0xF6, 0xFF}}}, {{{104, 20, -3},0, {0, 0},{0x59, 0xA6, 0xF1, 0xFF}}}, {{{88, 21, -40},0, {0, 0},{0x52, 0xA6, 0xDA, 0xFF}}}, {{{138, 56, 19},0, {0, 0},{0x5C, 0xA8, 0x2, 0xFF}}}, {{{97, 13, 23},0, {0, 0},{0x5C, 0xA8, 0x1, 0xFF}}}, {{{145, 62, -14},0, {0, 0},{0x5E, 0x4C, 0x28, 0xFF}}}, {{{125, 87, -9},0, {0, 0},{0x61, 0x44, 0x2E, 0xFF}}}, {{{122, 75, 15},0, {0, 0},{0x5E, 0x4C, 0x28, 0xFF}}}, {{{138, 56, 19},0, {0, 0},{0x5A, 0x53, 0x22, 0xFF}}}, }; const Gfx luigi_right_hand_peace_shared_dl[] = { gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 0, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 2, 3, 0), gsSP1Triangle(3, 4, 0, 0), gsSP1Triangle(5, 6, 7, 0), gsSP1Triangle(5, 7, 8, 0), gsSP1Triangle(9, 10, 11, 0), gsSP1Triangle(9, 12, 10, 0), gsSP1Triangle(13, 14, 15, 0), gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 16, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 2, 1, 0), gsSP1Triangle(4, 3, 1, 0), gsSP1Triangle(5, 4, 1, 0), gsSP1Triangle(1, 6, 5, 0), gsSP1Triangle(6, 1, 7, 0), gsSP1Triangle(5, 8, 4, 0), gsSP1Triangle(8, 5, 9, 0), gsSP1Triangle(5, 10, 9, 0), gsSP1Triangle(10, 11, 9, 0), gsSP1Triangle(11, 10, 12, 0), gsSP1Triangle(12, 13, 11, 0), gsSP1Triangle(9, 11, 14, 0), gsSP1Triangle(14, 11, 15, 0), gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 32, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(0, 2, 3, 0), gsSP1Triangle(4, 3, 2, 0), gsSP1Triangle(3, 4, 5, 0), gsSP1Triangle(0, 3, 6, 0), gsSP1Triangle(7, 0, 6, 0), gsSP1Triangle(7, 6, 8, 0), gsSP1Triangle(6, 9, 8, 0), gsSP1Triangle(10, 9, 6, 0), gsSP1Triangle(6, 11, 10, 0), gsSP1Triangle(11, 12, 10, 0), gsSP1Triangle(12, 11, 13, 0), gsSP1Triangle(13, 14, 12, 0), gsSP1Triangle(12, 14, 15, 0), gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 48, 16, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(1, 3, 2, 0), gsSP1Triangle(1, 4, 3, 0), gsSP1Triangle(2, 3, 5, 0), gsSP1Triangle(5, 6, 2, 0), gsSP1Triangle(7, 6, 5, 0), gsSP1Triangle(7, 5, 8, 0), gsSP1Triangle(8, 5, 9, 0), gsSP1Triangle(8, 9, 10, 0), gsSP1Triangle(10, 9, 11, 0), gsSP1Triangle(10, 11, 12, 0), gsSP1Triangle(12, 11, 13, 0), gsSP1Triangle(0, 13, 11, 0), gsSP1Triangle(13, 0, 2, 0), gsSP1Triangle(6, 13, 2, 0), gsSP1Triangle(14, 13, 6, 0), gsSP1Triangle(14, 6, 7, 0), gsSP1Triangle(7, 15, 14, 0), gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 64, 15, 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, 8, 6, 0), gsSP1Triangle(9, 8, 7, 0), gsSP1Triangle(7, 10, 9, 0), gsSP1Triangle(9, 2, 8, 0), gsSP1Triangle(6, 8, 2, 0), gsSP1Triangle(2, 1, 6, 0), gsSP1Triangle(1, 4, 6, 0), gsSP1Triangle(11, 12, 13, 0), gsSP1Triangle(12, 14, 13, 0), gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 79, 9, 0), gsSP1Triangle(0, 1, 2, 0), gsSP1Triangle(3, 1, 0, 0), gsSP1Triangle(3, 4, 1, 0), gsSP1Triangle(5, 6, 7, 0), gsSP1Triangle(7, 8, 5, 0), gsSPEndDisplayList(), }; const Gfx luigi_right_hand_peace[] = { gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c gsSPDisplayList(luigi_right_hand_peace_shared_dl), gsSPEndDisplayList(), }; static const Vtx luigi_wings_half_1_dl_vertex[] = { {{{ -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 luigi_wings_half_2_dl_vertex[] = { {{{ 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 luigi_wings_half_1_dl[] = { gsSPVertex(luigi_wings_half_1_dl_vertex, 4, 0), gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), gsSPEndDisplayList(), }; const Gfx luigi_wings_half_2_dl[] = { gsSPVertex(luigi_wings_half_2_dl_vertex, 4, 0), gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0), gsSPEndDisplayList(), }; const Gfx luigi_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(&luigi_white_lights_group.l, 1), gsSPLight(&luigi_white_lights_group.a, 2), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_wings_half_1), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_wings_half_1_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_wings_half_2), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_wings_half_2_dl), 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 luigi_cap_wings_transparent[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA), 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(&luigi_white_lights_group.l, 1), gsSPLight(&luigi_white_lights_group.a, 2), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_wings_half_1), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_wings_half_1_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_wings_half_2), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_wings_half_2_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPEndDisplayList(), }; const Gfx luigi_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(&luigi_white_lights_group.l, 1), gsSPLight(&luigi_white_lights_group.a, 2), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_metal_wings_half_1), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_wings_half_1_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_metal_wings_half_2), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_wings_half_2_dl), 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 luigi_metal_cap_wings_transparent[] = { gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA), 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), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_metal_wings_half_1), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_wings_half_1_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_metal_wings_half_2), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_wings_half_2_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK | G_SHADING_SMOOTH), gsDPSetCombineMode(G_CC_DECALFADE, G_CC_DECALFADE), gsDPLoadTextureBlock(luigi_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), gsSPEndDisplayList(), };