mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-11-26 22:13:01 +00:00
4101 lines
175 KiB
C
4101 lines
175 KiB
C
static const Lights1 luigi_blue_lights_group = gdSPDefLights1(
|
|
0x0, 0x0, 0x7f,
|
|
0x0, 0x0, 0xff, 0x28, 0x28, 0x28
|
|
);
|
|
|
|
static const Lights1 luigi_green_lights_group = gdSPDefLights1(
|
|
0x0, 0x7f, 0x0,
|
|
0x0, 0xff, 0x0, 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
|
|
);
|
|
|
|
static const Lights1 luigi_black_lights_group = gdSPDefLights1(
|
|
0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x28, 0x28, 0x28
|
|
);
|
|
|
|
#include "actors/mario/mario_externs.h"
|
|
#define luigi_texture_metal_shade mario_texture_metal_shade
|
|
#define luigi_texture_metal_light mario_texture_metal_light
|
|
#define luigi_texture_yellow_button mario_texture_yellow_button
|
|
#define luigi_texture_eyes_front mario_texture_eyes_front
|
|
#define luigi_texture_eyes_half_closed mario_texture_eyes_half_closed
|
|
#define luigi_texture_eyes_closed mario_texture_eyes_closed
|
|
#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
|
|
#define luigi_texture_cap_inside mario_texture_cap_inside
|
|
|
|
ALIGNED8 const Texture luigi_texture_l_logo[] = {
|
|
#include "actors/luigi/custom_luigi_logo.rgba16.inc.c"
|
|
};
|
|
|
|
ALIGNED8 const Texture luigi_texture_l_blend[] = {
|
|
#include "actors/luigi/custom_luigi_logo_blend.rgba16.inc.c"
|
|
};
|
|
|
|
ALIGNED8 const Texture luigi_texture_l_cap[] = {
|
|
#include "actors/luigi/custom_luigi_cap.rgba16.inc.c"
|
|
};
|
|
|
|
ALIGNED8 const Texture luigi_texture_hair_sideburn[] = {
|
|
#include "actors/luigi/custom_luigi_sideburn.rgba32.inc.c"
|
|
};
|
|
|
|
ALIGNED8 const Texture luigi_texture_add_sideburn[] = {
|
|
#include "actors/luigi/custom_luigi_sideburn_add.rgba32.inc.c"
|
|
};
|
|
|
|
ALIGNED8 const Texture luigi_texture_skin_sideburn[] = {
|
|
#include "actors/luigi/custom_luigi_skin.rgba16.inc.c"
|
|
};
|
|
|
|
ALIGNED8 const Texture luigi_texture_mustache[] = {
|
|
#include "actors/luigi/custom_luigi_mustache.rgba16.inc.c"
|
|
};
|
|
|
|
static const Vtx luigi_butt_dl_vertex[76] = {
|
|
{{{-9, -66, 44}, 0, {0, 0}, {0xD3, 0x98, 0x3A, 0x0}}},
|
|
{{{-14, -71, 0}, 0, {0, 0}, {0xD0, 0x8A, 0x0, 0x0}}},
|
|
{{{34, -72, 37}, 0, {0, 0}, {0x1A, 0x8A, 0x27, 0x0}}},
|
|
{{{-35, -51, 33}, 0, {0, 0}, {0x95, 0xC6, 0x26, 0x0}}},
|
|
{{{7, -47, 70}, 0, {0, 0}, {0xEA, 0xBF, 0x6B, 0x0}}},
|
|
{{{44, -48, 64}, 0, {0, 0}, {0x35, 0xBE, 0x5F, 0x0}}},
|
|
{{{67, -55, 29}, 0, {0, 0}, {0x64, 0xB9, 0x20, 0x0}}},
|
|
{{{34, -72, -37}, 0, {0, 0}, {0x1B, 0x8A, 0xD9, 0x0}}},
|
|
{{{-8, -66, -45}, 0, {0, 0}, {0xD5, 0x98, 0xC4, 0x0}}},
|
|
{{{-35, -51, -34}, 0, {0, 0}, {0x96, 0xC6, 0xD9, 0x0}}},
|
|
{{{-40, 30, -32}, 0, {0, 0}, {0x8B, 0x28, 0xE3, 0x0}}},
|
|
{{{-40, 30, 31}, 0, {0, 0}, {0x8B, 0x28, 0x1C, 0x0}}},
|
|
{{{-24, -12, 65}, 0, {0, 0}, {0xA9, 0xF1, 0x5B, 0x0}}},
|
|
{{{10, -10, 80}, 0, {0, 0}, {0xF1, 0xF6, 0x7E, 0x0}}},
|
|
{{{51, -9, 75}, 0, {0, 0}, {0x48, 0xF4, 0x68, 0x0}}},
|
|
{{{85, 10, 0}, 0, {0, 0}, {0x7E, 0xC, 0x0, 0x0}}},
|
|
{{{67, -55, 29}, 0, {0, 0}, {0x64, 0xB9, 0x20, 0x0}}},
|
|
{{{67, -55, -29}, 0, {0, 0}, {0x64, 0xB9, 0xE0, 0x0}}},
|
|
{{{85, 10, 0}, 0, {0, 0}, {0x7E, 0xC, 0x0, 0x0}}},
|
|
{{{34, -72, -37}, 0, {0, 0}, {0x1B, 0x8A, 0xD9, 0x0}}},
|
|
{{{44, -48, -64}, 0, {0, 0}, {0x34, 0xBC, 0xA2, 0x0}}},
|
|
{{{8, -47, -70}, 0, {0, 0}, {0xEB, 0xBF, 0x95, 0x0}}},
|
|
{{{-8, -66, -45}, 0, {0, 0}, {0xD5, 0x98, 0xC4, 0x0}}},
|
|
{{{-35, -51, -34}, 0, {0, 0}, {0x96, 0xC6, 0xD9, 0x0}}},
|
|
{{{-23, -12, -66}, 0, {0, 0}, {0xAB, 0xF1, 0xA3, 0x0}}},
|
|
{{{-40, 30, -32}, 0, {0, 0}, {0x8B, 0x28, 0xE3, 0x0}}},
|
|
{{{-22, 23, -65}, 0, {0, 0}, {0xAD, 0x1E, 0xA4, 0x0}}},
|
|
{{{-8, 48, -59}, 0, {0, 0}, {0xCD, 0x54, 0xB0, 0x0}}},
|
|
{{{-14, 61, -28}, 0, {0, 0}, {0xBF, 0x6A, 0xE7, 0x0}}},
|
|
{{{-14, 61, 27}, 0, {0, 0}, {0xBF, 0x6B, 0x18, 0x0}}},
|
|
{{{-40, 30, 31}, 0, {0, 0}, {0x8B, 0x28, 0x1C, 0x0}}},
|
|
{{{-9, 48, 58}, 0, {0, 0}, {0xCC, 0x55, 0x4F, 0x0}}},
|
|
{{{-23, 23, 64}, 0, {0, 0}, {0xAC, 0x1E, 0x5B, 0x0}}},
|
|
{{{-9, 48, 58}, 0, {0, 0}, {0xCC, 0x55, 0x4F, 0x0}}},
|
|
{{{-40, 30, 31}, 0, {0, 0}, {0x8B, 0x28, 0x1C, 0x0}}},
|
|
{{{-24, -12, 65}, 0, {0, 0}, {0xA9, 0xF1, 0x5B, 0x0}}},
|
|
{{{6, 26, 76}, 0, {0, 0}, {0xEA, 0x26, 0x77, 0x0}}},
|
|
{{{10, -10, 80}, 0, {0, 0}, {0xF1, 0xF6, 0x7E, 0x0}}},
|
|
{{{51, -9, 75}, 0, {0, 0}, {0x48, 0xF4, 0x68, 0x0}}},
|
|
{{{49, 34, 74}, 0, {0, 0}, {0x3D, 0x2D, 0x66, 0x0}}},
|
|
{{{85, 10, 0}, 0, {0, 0}, {0x7E, 0xC, 0x0, 0x0}}},
|
|
{{{57, 62, 31}, 0, {0, 0}, {0x50, 0x5D, 0x20, 0x0}}},
|
|
{{{57, 62, -31}, 0, {0, 0}, {0x51, 0x5D, 0xE1, 0x0}}},
|
|
{{{49, 35, -74}, 0, {0, 0}, {0x3E, 0x2E, 0x9B, 0x0}}},
|
|
{{{52, -10, -75}, 0, {0, 0}, {0x49, 0xF3, 0x99, 0x0}}},
|
|
{{{67, -55, -29}, 0, {0, 0}, {0x64, 0xB9, 0xE0, 0x0}}},
|
|
{{{44, -48, -64}, 0, {0, 0}, {0x34, 0xBC, 0xA2, 0x0}}},
|
|
{{{11, -10, -80}, 0, {0, 0}, {0xF2, 0xF5, 0x82, 0x0}}},
|
|
{{{8, -47, -70}, 0, {0, 0}, {0xEB, 0xBF, 0x95, 0x0}}},
|
|
{{{11, -10, -80}, 0, {0, 0}, {0xF2, 0xF5, 0x82, 0x0}}},
|
|
{{{44, -48, -64}, 0, {0, 0}, {0x34, 0xBC, 0xA2, 0x0}}},
|
|
{{{-23, -12, -66}, 0, {0, 0}, {0xAB, 0xF1, 0xA3, 0x0}}},
|
|
{{{7, 26, -77}, 0, {0, 0}, {0xEB, 0x25, 0x88, 0x0}}},
|
|
{{{-22, 23, -65}, 0, {0, 0}, {0xAD, 0x1E, 0xA4, 0x0}}},
|
|
{{{-8, 48, -59}, 0, {0, 0}, {0xCD, 0x54, 0xB0, 0x0}}},
|
|
{{{30, 62, -52}, 0, {0, 0}, {0x8, 0x6B, 0xBB, 0x0}}},
|
|
{{{-14, 61, -28}, 0, {0, 0}, {0xBF, 0x6A, 0xE7, 0x0}}},
|
|
{{{23, 71, -21}, 0, {0, 0}, {0xFF, 0x7E, 0xF1, 0x0}}},
|
|
{{{-14, 61, 27}, 0, {0, 0}, {0xBF, 0x6B, 0x18, 0x0}}},
|
|
{{{23, 71, 21}, 0, {0, 0}, {0xFE, 0x7E, 0x10, 0x0}}},
|
|
{{{29, 62, 51}, 0, {0, 0}, {0x6, 0x6B, 0x45, 0x0}}},
|
|
{{{-9, 48, 58}, 0, {0, 0}, {0xCC, 0x55, 0x4F, 0x0}}},
|
|
{{{6, 26, 76}, 0, {0, 0}, {0xEA, 0x26, 0x77, 0x0}}},
|
|
{{{-23, 23, 64}, 0, {0, 0}, {0xAC, 0x1E, 0x5B, 0x0}}},
|
|
{{{49, 34, 74}, 0, {0, 0}, {0x3D, 0x2D, 0x66, 0x0}}},
|
|
{{{29, 62, 51}, 0, {0, 0}, {0x6, 0x6B, 0x45, 0x0}}},
|
|
{{{6, 26, 76}, 0, {0, 0}, {0xEA, 0x26, 0x77, 0x0}}},
|
|
{{{57, 62, 31}, 0, {0, 0}, {0x50, 0x5D, 0x20, 0x0}}},
|
|
{{{23, 71, 21}, 0, {0, 0}, {0xFE, 0x7E, 0x10, 0x0}}},
|
|
{{{23, 71, -21}, 0, {0, 0}, {0xFF, 0x7E, 0xF1, 0x0}}},
|
|
{{{57, 62, -31}, 0, {0, 0}, {0x51, 0x5D, 0xE1, 0x0}}},
|
|
{{{30, 62, -52}, 0, {0, 0}, {0x8, 0x6B, 0xBB, 0x0}}},
|
|
{{{49, 35, -74}, 0, {0, 0}, {0x3E, 0x2E, 0x9B, 0x0}}},
|
|
{{{7, 26, -77}, 0, {0, 0}, {0xEB, 0x25, 0x88, 0x0}}},
|
|
{{{52, -10, -75}, 0, {0, 0}, {0x49, 0xF3, 0x99, 0x0}}},
|
|
{{{11, -10, -80}, 0, {0, 0}, {0xF2, 0xF5, 0x82, 0x0}}},
|
|
};
|
|
|
|
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(),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT),
|
|
gsSPSetGeometryMode(G_TEXTURE_GEN),
|
|
gsSPTexture(4032, 1984, 0, 0, 1),
|
|
gsSPLight(&luigi_black_lights_group.l, 1),
|
|
gsSPCopyLightEXT(2, 15),
|
|
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_shade),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
|
|
gsDPLoadBlock(7, 0, 0, 2047, 128),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0),
|
|
gsDPSetTileSize(0, 0, 0, 252, 124),
|
|
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_light),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
|
|
gsDPLoadBlock(6, 0, 0, 2047, 128),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0),
|
|
gsDPSetTileSize(1, 0, 0, 252, 124),
|
|
gsSPDisplayList(luigi_butt_dl),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
static const Vtx luigi_left_arm_shared_dl_vertex[29] = {
|
|
{{{65, 19, 15}, 0, {0, 1024}, {0x34, 0x5B, 0x48, 0x0}}},
|
|
{{{65, 20, -21}, 0, {0, 1024}, {0x34, 0x5F, 0xBE, 0x0}}},
|
|
{{{7, 26, 19}, 0, {0, 1024}, {0xE1, 0x62, 0x4B, 0x0}}},
|
|
{{{75, 12, -15}, 0, {0, 1024}, {0x6F, 0x33, 0xDE, 0x0}}},
|
|
{{{75, 11, 9}, 0, {0, 1024}, {0x6F, 0x2E, 0x29, 0x0}}},
|
|
{{{74, -12, 15}, 0, {0, 1024}, {0x6D, 0xE6, 0x3C, 0x0}}},
|
|
{{{64, -15, 24}, 0, {0, 1024}, {0x32, 0xD5, 0x6D, 0x0}}},
|
|
{{{6, -16, 32}, 0, {0, 1024}, {0xDE, 0xD8, 0x74, 0x0}}},
|
|
{{{-10, -11, 18}, 0, {0, 1024}, {0x93, 0xEB, 0x3E, 0x0}}},
|
|
{{{-9, 15, 10}, 0, {0, 1024}, {0x94, 0x37, 0x27, 0x0}}},
|
|
{{{7, 28, -25}, 0, {0, 1024}, {0xE1, 0x67, 0xBD, 0x0}}},
|
|
{{{64, -13, -33}, 0, {0, 1024}, {0x32, 0xE0, 0x90, 0x0}}},
|
|
{{{74, -10, -24}, 0, {0, 1024}, {0x6D, 0xEF, 0xC0, 0x0}}},
|
|
{{{74, -26, -5}, 0, {0, 1024}, {0x6A, 0xBA, 0xFF, 0x0}}},
|
|
{{{63, -35, -6}, 0, {0, 1024}, {0x2E, 0x8A, 0xFA, 0x0}}},
|
|
{{{5, -42, -6}, 0, {0, 1024}, {0xDA, 0x87, 0xFC, 0x0}}},
|
|
{{{-10, -26, -6}, 0, {0, 1024}, {0x91, 0xC2, 0xFC, 0x0}}},
|
|
{{{5, -42, -6}, 0, {0, 1024}, {0xDA, 0x87, 0xFC, 0x0}}},
|
|
{{{6, -16, 32}, 0, {0, 1024}, {0xDE, 0xD8, 0x74, 0x0}}},
|
|
{{{-10, -11, 18}, 0, {0, 1024}, {0x93, 0xEB, 0x3E, 0x0}}},
|
|
{{{-10, -9, -26}, 0, {0, 1024}, {0x91, 0xF3, 0xC3, 0x0}}},
|
|
{{{-9, 16, -17}, 0, {0, 1024}, {0x94, 0x39, 0xDC, 0x0}}},
|
|
{{{-9, 15, 10}, 0, {0, 1024}, {0x94, 0x37, 0x27, 0x0}}},
|
|
{{{7, 28, -25}, 0, {0, 1024}, {0xE1, 0x67, 0xBD, 0x0}}},
|
|
{{{6, -14, -41}, 0, {0, 1024}, {0xDD, 0xE1, 0x8A, 0x0}}},
|
|
{{{64, -13, -33}, 0, {0, 1024}, {0x32, 0xE0, 0x90, 0x0}}},
|
|
{{{63, -35, -6}, 0, {0, 1024}, {0x2E, 0x8A, 0xFA, 0x0}}},
|
|
{{{74, -10, -24}, 0, {0, 1024}, {0x6D, 0xEF, 0xC0, 0x0}}},
|
|
{{{74, -26, -5}, 0, {0, 1024}, {0x6A, 0xBA, 0xFF, 0x0}}},
|
|
};
|
|
|
|
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[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
|
|
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] = {
|
|
{{{57, 14, 13}, 0, {0, 0}, {0x3E, 0x55, 0x47, 0x0}}},
|
|
{{{58, 16, -19}, 0, {0, 0}, {0x40, 0x5C, 0xC3, 0x0}}},
|
|
{{{-1, 19, 16}, 0, {0, 0}, {0xE3, 0x62, 0x4C, 0x0}}},
|
|
{{{71, -7, -4}, 0, {0, 0}, {0x7F, 0xFD, 0x1, 0x0}}},
|
|
{{{56, -17, 22}, 0, {0, 0}, {0x3C, 0xD7, 0x68, 0x0}}},
|
|
{{{-2, -17, 26}, 0, {0, 0}, {0xE0, 0xD7, 0x74, 0x0}}},
|
|
{{{-15, -13, 17}, 0, {0, 0}, {0x98, 0xEB, 0x46, 0x0}}},
|
|
{{{-15, 11, 10}, 0, {0, 0}, {0x99, 0x3B, 0x2D, 0x0}}},
|
|
{{{-1, 20, -21}, 0, {0, 0}, {0xE3, 0x68, 0xBC, 0x0}}},
|
|
{{{57, -14, -30}, 0, {0, 0}, {0x3C, 0xE1, 0x94, 0x0}}},
|
|
{{{56, -34, -5}, 0, {0, 0}, {0x3B, 0x90, 0xFA, 0x0}}},
|
|
{{{-3, -38, -5}, 0, {0, 0}, {0xDC, 0x86, 0xFA, 0x0}}},
|
|
{{{-16, -27, -4}, 0, {0, 0}, {0x94, 0xBD, 0x0, 0x0}}},
|
|
{{{-15, 12, -16}, 0, {0, 0}, {0x9A, 0x3F, 0xD7, 0x0}}},
|
|
{{{-2, -14, -34}, 0, {0, 0}, {0xE1, 0xE1, 0x89, 0x0}}},
|
|
{{{-15, -11, -25}, 0, {0, 0}, {0x99, 0xF0, 0xB7, 0x0}}},
|
|
};
|
|
|
|
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[44] = {
|
|
{{{-18, 45, 8}, 0, {0, 0}, {0x83, 0xF3, 0x13, 0xFF}}},
|
|
{{{-14, -14, -4}, 0, {0, 0}, {0x8C, 0xCD, 0x2, 0xFF}}},
|
|
{{{5, -6, 36}, 0, {0, 0}, {0x98, 0xD2, 0x38, 0xFF}}},
|
|
{{{-10, 26, -38}, 0, {0, 0}, {0xF0, 0x41, 0x94, 0xFF}}},
|
|
{{{17, -38, -39}, 0, {0, 0}, {0x1A, 0xB6, 0x9C, 0xFF}}},
|
|
{{{26, -25, -32}, 0, {0, 0}, {0x9, 0xC7, 0x8F, 0xFF}}},
|
|
{{{4, 24, -31}, 0, {0, 0}, {0xD5, 0x40, 0x9B, 0xFF}}},
|
|
{{{-1, 39, 5}, 0, {0, 0}, {0xEA, 0x6F, 0x3A, 0xFF}}},
|
|
{{{-18, 45, 8}, 0, {0, 0}, {0x2D, 0x72, 0x21, 0xFF}}},
|
|
{{{5, -6, 36}, 0, {0, 0}, {0x44, 0x1B, 0x68, 0xFF}}},
|
|
{{{17, -1, 27}, 0, {0, 0}, {0x0, 0xFD, 0x7F, 0xFF}}},
|
|
{{{34, -41, 3}, 0, {0, 0}, {0x42, 0xA2, 0x36, 0xFF}}},
|
|
{{{27, -58, 6}, 0, {0, 0}, {0x74, 0xD5, 0x1D, 0xFF}}},
|
|
{{{58, -45, 7}, 0, {0, 0}, {0x1, 0x84, 0x1C, 0xFF}}},
|
|
{{{80, -31, -61}, 0, {0, 0}, {0xC, 0xB2, 0x9C, 0xFF}}},
|
|
{{{33, 7, -44}, 0, {0, 0}, {0xC6, 0xFE, 0x8F, 0xFF}}},
|
|
{{{32, 63, -28}, 0, {0, 0}, {0xD0, 0x50, 0xA9, 0xFF}}},
|
|
{{{33, 7, -44}, 0, {0, 0}, {0xC6, 0xFE, 0x8F, 0xFF}}},
|
|
{{{4, 24, -31}, 0, {0, 0}, {0xD5, 0x40, 0x9B, 0xFF}}},
|
|
{{{12, 59, 10}, 0, {0, 0}, {0xA9, 0x59, 0x1B, 0xFF}}},
|
|
{{{-1, 39, 5}, 0, {0, 0}, {0xEA, 0x6F, 0x3A, 0xFF}}},
|
|
{{{36, 6, 42}, 0, {0, 0}, {0xE1, 0xF0, 0x7A, 0xFF}}},
|
|
{{{17, -1, 27}, 0, {0, 0}, {0x0, 0xFD, 0x7F, 0xFF}}},
|
|
{{{34, -41, 3}, 0, {0, 0}, {0x42, 0xA2, 0x36, 0xFF}}},
|
|
{{{58, -45, 7}, 0, {0, 0}, {0x1, 0x84, 0x1C, 0xFF}}},
|
|
{{{107, -26, 4}, 0, {0, 0}, {0x68, 0xC5, 0x2B, 0xFF}}},
|
|
{{{80, -31, -61}, 0, {0, 0}, {0xC, 0xB2, 0x9C, 0xFF}}},
|
|
{{{100, -6, -46}, 0, {0, 0}, {0x64, 0xA, 0xB2, 0xFF}}},
|
|
{{{61, 12, -60}, 0, {0, 0}, {0x0, 0x21, 0x85, 0xFF}}},
|
|
{{{57, 55, -37}, 0, {0, 0}, {0x22, 0x55, 0xA8, 0xFF}}},
|
|
{{{59, 81, 8}, 0, {0, 0}, {0x11, 0x7B, 0x1D, 0xFF}}},
|
|
{{{86, 29, 41}, 0, {0, 0}, {0x4C, 0x20, 0x61, 0xFF}}},
|
|
{{{107, -26, 4}, 0, {0, 0}, {0x68, 0xC5, 0x2B, 0xFF}}},
|
|
{{{99, 40, -16}, 0, {0, 0}, {0x6D, 0x3C, 0xE5, 0xFF}}},
|
|
{{{86, 29, 41}, 0, {0, 0}, {0x4C, 0x20, 0x61, 0xFF}}},
|
|
{{{100, -6, -46}, 0, {0, 0}, {0x64, 0xA, 0xB2, 0xFF}}},
|
|
{{{90, 17, -46}, 0, {0, 0}, {0x43, 0x35, 0xA2, 0xFF}}},
|
|
{{{61, 12, -60}, 0, {0, 0}, {0x0, 0x21, 0x85, 0xFF}}},
|
|
{{{57, 55, -37}, 0, {0, 0}, {0x22, 0x55, 0xA8, 0xFF}}},
|
|
{{{59, 81, 8}, 0, {0, 0}, {0x11, 0x7B, 0x1D, 0xFF}}},
|
|
{{{27, -58, 6}, 0, {0, 0}, {0xA2, 0xAC, 0x12, 0xFF}}},
|
|
{{{-14, -14, -4}, 0, {0, 0}, {0x8C, 0xCD, 0x2, 0xFF}}},
|
|
{{{17, -38, -39}, 0, {0, 0}, {0x1A, 0xB6, 0x9C, 0xFF}}},
|
|
{{{5, -6, 36}, 0, {0, 0}, {0x98, 0xD2, 0x38, 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(4, 1, 3, 0),
|
|
gsSP1Triangle(5, 4, 3, 0),
|
|
gsSP1Triangle(3, 6, 5, 0),
|
|
gsSP1Triangle(7, 6, 3, 0),
|
|
gsSP1Triangle(3, 8, 7, 0),
|
|
gsSP1Triangle(7, 8, 9, 0),
|
|
gsSP1Triangle(9, 10, 7, 0),
|
|
gsSP1Triangle(11, 10, 9, 0),
|
|
gsSP1Triangle(9, 12, 11, 0),
|
|
gsSP1Triangle(11, 12, 4, 0),
|
|
gsSP1Triangle(4, 5, 11, 0),
|
|
gsSP1Triangle(13, 11, 5, 0),
|
|
gsSP1Triangle(5, 14, 13, 0),
|
|
gsSP1Triangle(5, 15, 14, 0),
|
|
gsSP1Triangle(5, 6, 15, 0),
|
|
gsSPVertex(luigi_left_hand_closed_shared_dl_vertex + 16, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(3, 0, 2, 0),
|
|
gsSP1Triangle(2, 4, 3, 0),
|
|
gsSP1Triangle(4, 5, 3, 0),
|
|
gsSP1Triangle(4, 6, 5, 0),
|
|
gsSP1Triangle(5, 6, 7, 0),
|
|
gsSP1Triangle(7, 8, 5, 0),
|
|
gsSP1Triangle(8, 9, 5, 0),
|
|
gsSP1Triangle(10, 9, 8, 0),
|
|
gsSP1Triangle(10, 11, 9, 0),
|
|
gsSP1Triangle(12, 11, 10, 0),
|
|
gsSP1Triangle(1, 12, 10, 0),
|
|
gsSP1Triangle(12, 1, 0, 0),
|
|
gsSP1Triangle(12, 0, 13, 0),
|
|
gsSP1Triangle(14, 13, 0, 0),
|
|
gsSP1Triangle(0, 3, 14, 0),
|
|
gsSP1Triangle(5, 14, 3, 0),
|
|
gsSP1Triangle(5, 15, 14, 0),
|
|
gsSP1Triangle(9, 15, 5, 0),
|
|
gsSPVertex(luigi_left_hand_closed_shared_dl_vertex + 32, 12, 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(4, 6, 1, 0),
|
|
gsSP1Triangle(7, 1, 6, 0),
|
|
gsSP1Triangle(2, 1, 7, 0),
|
|
gsSP1Triangle(8, 9, 10, 0),
|
|
gsSP1Triangle(11, 9, 8, 0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
const Gfx luigi_left_hand_closed[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
|
|
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] = {
|
|
{{{5, -43, 6}, 0, {0, 1024}, {0xDB, 0x87, 0xFB, 0x0}}},
|
|
{{{6, -15, -29}, 0, {0, 1024}, {0xDD, 0xE1, 0x8A, 0x0}}},
|
|
{{{63, -14, -22}, 0, {0, 1024}, {0x32, 0xE2, 0x8F, 0x0}}},
|
|
{{{-10, -28, 7}, 0, {0, 1024}, {0x92, 0xC1, 0xFE, 0x0}}},
|
|
{{{-10, -13, 29}, 0, {0, 1024}, {0x92, 0xEC, 0x3D, 0x0}}},
|
|
{{{6, -18, 43}, 0, {0, 1024}, {0xDE, 0xD8, 0x74, 0x0}}},
|
|
{{{63, -37, 7}, 0, {0, 1024}, {0x31, 0x8B, 0xFD, 0x0}}},
|
|
{{{73, -12, -12}, 0, {0, 1024}, {0x6E, 0xEC, 0xC3, 0x0}}},
|
|
{{{64, 19, -9}, 0, {0, 1024}, {0x34, 0x61, 0xC0, 0x0}}},
|
|
{{{7, 27, -13}, 0, {0, 1024}, {0xDF, 0x68, 0xBE, 0x0}}},
|
|
{{{-10, -11, -14}, 0, {0, 1024}, {0x92, 0xF1, 0xC3, 0x0}}},
|
|
{{{-9, 14, -5}, 0, {0, 1024}, {0x93, 0x38, 0xDD, 0x0}}},
|
|
{{{-9, 13, 22}, 0, {0, 1024}, {0x95, 0x37, 0x29, 0x0}}},
|
|
{{{7, 24, 31}, 0, {0, 1024}, {0xE0, 0x60, 0x4D, 0x0}}},
|
|
{{{63, -17, 36}, 0, {0, 1024}, {0x30, 0xD7, 0x6E, 0x0}}},
|
|
{{{73, -14, 27}, 0, {0, 1024}, {0x6D, 0xE7, 0x3C, 0x0}}},
|
|
{{{73, -27, 7}, 0, {0, 1024}, {0x6E, 0xC0, 0xFC, 0x0}}},
|
|
{{{73, -14, 27}, 0, {0, 1024}, {0x6D, 0xE7, 0x3C, 0x0}}},
|
|
{{{63, -37, 7}, 0, {0, 1024}, {0x31, 0x8B, 0xFD, 0x0}}},
|
|
{{{73, -12, -12}, 0, {0, 1024}, {0x6E, 0xEC, 0xC3, 0x0}}},
|
|
{{{74, 11, -3}, 0, {0, 1024}, {0x6F, 0x34, 0xDF, 0x0}}},
|
|
{{{64, 19, -9}, 0, {0, 1024}, {0x34, 0x61, 0xC0, 0x0}}},
|
|
{{{64, 17, 27}, 0, {0, 1024}, {0x33, 0x59, 0x4B, 0x0}}},
|
|
{{{7, 27, -13}, 0, {0, 1024}, {0xDF, 0x68, 0xBE, 0x0}}},
|
|
{{{7, 24, 31}, 0, {0, 1024}, {0xE0, 0x60, 0x4D, 0x0}}},
|
|
{{{-9, 14, -5}, 0, {0, 1024}, {0x93, 0x38, 0xDD, 0x0}}},
|
|
{{{-10, -11, -14}, 0, {0, 1024}, {0x92, 0xF1, 0xC3, 0x0}}},
|
|
{{{-9, 13, 22}, 0, {0, 1024}, {0x95, 0x37, 0x29, 0x0}}},
|
|
{{{63, -17, 36}, 0, {0, 1024}, {0x30, 0xD7, 0x6E, 0x0}}},
|
|
{{{74, 9, 21}, 0, {0, 1024}, {0x70, 0x2C, 0x2A, 0x0}}},
|
|
};
|
|
|
|
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[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
|
|
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] = {
|
|
{{{-1, 19, 27}, 0, {0, 1024}, {0xE4, 0x62, 0x4B, 0x0}}},
|
|
{{{-3, -17, 37}, 0, {0, 1024}, {0xDF, 0xD7, 0x74, 0x0}}},
|
|
{{{57, -16, 33}, 0, {0, 1024}, {0x3D, 0xDC, 0x6A, 0x0}}},
|
|
{{{-15, 11, 21}, 0, {0, 1024}, {0x99, 0x3B, 0x2D, 0x0}}},
|
|
{{{-15, 12, -4}, 0, {0, 1024}, {0x99, 0x40, 0xDA, 0x0}}},
|
|
{{{-1, 20, -10}, 0, {0, 1024}, {0xE3, 0x67, 0xBB, 0x0}}},
|
|
{{{58, 14, 24}, 0, {0, 1024}, {0x40, 0x56, 0x45, 0x0}}},
|
|
{{{71, -8, 7}, 0, {0, 1024}, {0x7F, 0xFC, 0xFF, 0x0}}},
|
|
{{{57, -35, 7}, 0, {0, 1024}, {0x3C, 0x90, 0xFE, 0x0}}},
|
|
{{{-3, -38, 6}, 0, {0, 1024}, {0xDC, 0x86, 0xFA, 0x0}}},
|
|
{{{-16, -13, 28}, 0, {0, 1024}, {0x96, 0xEC, 0x43, 0x0}}},
|
|
{{{-16, -27, 7}, 0, {0, 1024}, {0x95, 0xBC, 0xFE, 0x0}}},
|
|
{{{-16, -11, -13}, 0, {0, 1024}, {0x96, 0xF0, 0xBB, 0x0}}},
|
|
{{{-2, -14, -23}, 0, {0, 1024}, {0xE0, 0xE2, 0x89, 0x0}}},
|
|
{{{58, 16, -7}, 0, {0, 1024}, {0x3F, 0x5D, 0xC5, 0x0}}},
|
|
{{{57, -14, -19}, 0, {0, 1024}, {0x3C, 0xE3, 0x94, 0x0}}},
|
|
};
|
|
|
|
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_dl_vertex[41] = {
|
|
{{{31, -40, -1}, 0, {0, 0}, {0x43, 0xA3, 0xC9, 0xFF}}},
|
|
{{{24, -57, -4}, 0, {0, 0}, {0x74, 0xD4, 0xE6, 0xFF}}},
|
|
{{{4, -3, -33}, 0, {0, 0}, {0x49, 0x1E, 0x9C, 0xFF}}},
|
|
{{{13, -38, 41}, 0, {0, 0}, {0x15, 0xB2, 0x62, 0xFF}}},
|
|
{{{23, -26, 35}, 0, {0, 0}, {0x4, 0xC2, 0x6F, 0xFF}}},
|
|
{{{55, -44, -4}, 0, {0, 0}, {0x0, 0x85, 0xDF, 0xFF}}},
|
|
{{{35, 9, -37}, 0, {0, 0}, {0xE5, 0xF5, 0x84, 0xFF}}},
|
|
{{{15, 0, -23}, 0, {0, 0}, {0x4, 0x1, 0x81, 0xFF}}},
|
|
{{{-2, 41, -1}, 0, {0, 0}, {0xED, 0x71, 0xC9, 0xFF}}},
|
|
{{{-19, 47, -4}, 0, {0, 0}, {0x30, 0x73, 0xE5, 0xFF}}},
|
|
{{{-14, 26, 41}, 0, {0, 0}, {0xED, 0x3D, 0x6E, 0xFF}}},
|
|
{{{1, 24, 35}, 0, {0, 0}, {0xD2, 0x3C, 0x66, 0xFF}}},
|
|
{{{-16, -12, 6}, 0, {0, 0}, {0x8B, 0xCF, 0xF8, 0xFF}}},
|
|
{{{-19, 47, -4}, 0, {0, 0}, {0x84, 0xF5, 0xE7, 0xFF}}},
|
|
{{{4, -3, -33}, 0, {0, 0}, {0x9A, 0xD5, 0xC2, 0xFF}}},
|
|
{{{24, -57, -4}, 0, {0, 0}, {0xA1, 0xAF, 0xE7, 0xFF}}},
|
|
{{{29, 6, 49}, 0, {0, 0}, {0xC2, 0xFA, 0x6F, 0xFF}}},
|
|
{{{1, 24, 35}, 0, {0, 0}, {0xD2, 0x3C, 0x66, 0xFF}}},
|
|
{{{23, -26, 35}, 0, {0, 0}, {0x4, 0xC2, 0x6F, 0xFF}}},
|
|
{{{29, 62, 34}, 0, {0, 0}, {0xCE, 0x4D, 0x58, 0xFF}}},
|
|
{{{57, 10, 66}, 0, {0, 0}, {0xFD, 0x1C, 0x7C, 0xFF}}},
|
|
{{{75, -33, 66}, 0, {0, 0}, {0x8, 0xAE, 0x61, 0xFF}}},
|
|
{{{55, -44, -4}, 0, {0, 0}, {0x0, 0x85, 0xDF, 0xFF}}},
|
|
{{{104, -26, 1}, 0, {0, 0}, {0x69, 0xC5, 0xD7, 0xFF}}},
|
|
{{{35, 9, -37}, 0, {0, 0}, {0xE5, 0xF5, 0x84, 0xFF}}},
|
|
{{{86, 30, -33}, 0, {0, 0}, {0x50, 0x22, 0xA3, 0xFF}}},
|
|
{{{58, 81, 0}, 0, {0, 0}, {0x14, 0x7B, 0xE9, 0xFF}}},
|
|
{{{10, 60, -4}, 0, {0, 0}, {0xAB, 0x5B, 0xE5, 0xFF}}},
|
|
{{{-2, 41, -1}, 0, {0, 0}, {0xED, 0x71, 0xC9, 0xFF}}},
|
|
{{{15, 0, -23}, 0, {0, 0}, {0x4, 0x1, 0x81, 0xFF}}},
|
|
{{{54, 54, 44}, 0, {0, 0}, {0x20, 0x51, 0x5C, 0xFF}}},
|
|
{{{86, 15, 52}, 0, {0, 0}, {0x41, 0x30, 0x62, 0xFF}}},
|
|
{{{96, -8, 52}, 0, {0, 0}, {0x61, 0x6, 0x52, 0xFF}}},
|
|
{{{86, 15, 52}, 0, {0, 0}, {0x41, 0x30, 0x62, 0xFF}}},
|
|
{{{57, 10, 66}, 0, {0, 0}, {0xFD, 0x1C, 0x7C, 0xFF}}},
|
|
{{{75, -33, 66}, 0, {0, 0}, {0x8, 0xAE, 0x61, 0xFF}}},
|
|
{{{104, -26, 1}, 0, {0, 0}, {0x69, 0xC5, 0xD7, 0xFF}}},
|
|
{{{97, 39, 24}, 0, {0, 0}, {0x6C, 0x3A, 0x21, 0xFF}}},
|
|
{{{86, 30, -33}, 0, {0, 0}, {0x50, 0x22, 0xA3, 0xFF}}},
|
|
{{{58, 81, 0}, 0, {0, 0}, {0x14, 0x7B, 0xE9, 0xFF}}},
|
|
{{{54, 54, 44}, 0, {0, 0}, {0x20, 0x51, 0x5C, 0xFF}}},
|
|
};
|
|
|
|
const Gfx luigi_right_hand_closed_dl[] = {
|
|
gsSPVertex(luigi_right_hand_closed_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_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_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[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
|
|
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, 1024}, {0x81, 0xF8, 0x0, 0x0}}},
|
|
{{{-1, -8, -31}, 0, {0, 1024}, {0xAD, 0xE2, 0xA5, 0x0}}},
|
|
{{{0, -35, 1}, 0, {0, 1024}, {0xAD, 0xA0, 0x0, 0x0}}},
|
|
{{{-4, 34, -19}, 0, {0, 1024}, {0xA6, 0x45, 0xC7, 0x0}}},
|
|
{{{-4, 34, 21}, 0, {0, 1024}, {0xA6, 0x46, 0x39, 0x0}}},
|
|
{{{-1, -8, 34}, 0, {0, 1024}, {0xAF, 0xE2, 0x5D, 0x0}}},
|
|
{{{19, -11, 42}, 0, {0, 1024}, {0xF0, 0xD9, 0x78, 0x0}}},
|
|
{{{21, -45, 0}, 0, {0, 1024}, {0xF1, 0x82, 0xFE, 0x0}}},
|
|
{{{19, -11, -40}, 0, {0, 1024}, {0xEE, 0xDA, 0x88, 0x0}}},
|
|
{{{15, 43, -24}, 0, {0, 1024}, {0xE8, 0x64, 0xB6, 0x0}}},
|
|
{{{15, 43, 26}, 0, {0, 1024}, {0xE8, 0x64, 0x4A, 0x0}}},
|
|
{{{97, 38, 21}, 0, {0, 1024}, {0x38, 0x5C, 0x43, 0x0}}},
|
|
{{{100, -5, 33}, 0, {0, 1024}, {0x3D, 0xE2, 0x6B, 0x0}}},
|
|
{{{102, -32, 0}, 0, {0, 1024}, {0x42, 0x93, 0x0, 0x0}}},
|
|
{{{100, -5, -32}, 0, {0, 1024}, {0x3C, 0xE3, 0x94, 0x0}}},
|
|
{{{97, 38, -19}, 0, {0, 1024}, {0x37, 0x5D, 0xBE, 0x0}}},
|
|
{{{122, 7, 0}, 0, {0, 1024}, {0x7F, 0x6, 0xFF, 0x0}}},
|
|
{{{97, 38, -19}, 0, {0, 1024}, {0x37, 0x5D, 0xBE, 0x0}}},
|
|
{{{97, 38, 21}, 0, {0, 1024}, {0x38, 0x5C, 0x43, 0x0}}},
|
|
{{{100, -5, 33}, 0, {0, 1024}, {0x3D, 0xE2, 0x6B, 0x0}}},
|
|
{{{102, -32, 0}, 0, {0, 1024}, {0x42, 0x93, 0x0, 0x0}}},
|
|
{{{100, -5, -32}, 0, {0, 1024}, {0x3C, 0xE3, 0x94, 0x0}}},
|
|
};
|
|
|
|
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(),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT),
|
|
gsSPSetGeometryMode(G_TEXTURE_GEN),
|
|
gsSPTexture(4032, 1984, 0, 0, 1),
|
|
gsSPLight(&luigi_black_lights_group.l, 1),
|
|
gsSPCopyLightEXT(2, 15),
|
|
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_shade),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
|
|
gsDPLoadBlock(7, 0, 0, 2047, 128),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0),
|
|
gsDPSetTileSize(0, 0, 0, 252, 124),
|
|
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_light),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
|
|
gsDPLoadBlock(6, 0, 0, 2047, 128),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0),
|
|
gsDPSetTileSize(1, 0, 0, 252, 124),
|
|
gsSPDisplayList(luigi_left_thigh_dl),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
static const Vtx luigi_left_leg_shared_dl_vertex[12] = {
|
|
{{{71, -45, 0}, 0, {0, 1024}, {0x30, 0x8A, 0x0, 0x0}}},
|
|
{{{74, -11, 38}, 0, {0, 1024}, {0x36, 0xDA, 0x6D, 0x0}}},
|
|
{{{0, -34, 0}, 0, {0, 1024}, {0xBB, 0x95, 0x0, 0x0}}},
|
|
{{{93, 3, 0}, 0, {0, 1024}, {0x7E, 0xF4, 0x0, 0x0}}},
|
|
{{{74, -11, -39}, 0, {0, 1024}, {0x35, 0xDB, 0x93, 0x0}}},
|
|
{{{3, -3, -33}, 0, {0, 1024}, {0xC5, 0xE8, 0x92, 0x0}}},
|
|
{{{-20, 12, 0}, 0, {0, 1024}, {0x82, 0x11, 0x0, 0x0}}},
|
|
{{{3, -3, 34}, 0, {0, 1024}, {0xC6, 0xE8, 0x6E, 0x0}}},
|
|
{{{7, 38, 21}, 0, {0, 1024}, {0xCD, 0x5E, 0x45, 0x0}}},
|
|
{{{80, 44, 24}, 0, {0, 1024}, {0x3E, 0x57, 0x45, 0x0}}},
|
|
{{{80, 45, -23}, 0, {0, 1024}, {0x3E, 0x59, 0xBE, 0x0}}},
|
|
{{{7, 38, -20}, 0, {0, 1024}, {0xCC, 0x5E, 0xBC, 0x0}}},
|
|
};
|
|
|
|
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] = {
|
|
{{{111, 12, -29}, 0, {0, 1024}, {0x2C, 0x77, 0xFE, 0x0}}},
|
|
{{{78, 24, -50}, 0, {0, 1024}, {0x2B, 0x78, 0x0, 0x0}}},
|
|
{{{111, 13, 27}, 0, {0, 1024}, {0x2A, 0x78, 0x0, 0x0}}},
|
|
{{{79, 24, 52}, 0, {0, 1024}, {0x2A, 0x78, 0x0, 0x0}}},
|
|
{{{-12, 56, -40}, 0, {0, 1024}, {0x2B, 0x78, 0xFF, 0x0}}},
|
|
{{{-11, 57, 45}, 0, {0, 1024}, {0x2A, 0x78, 0xFF, 0x0}}},
|
|
{{{-38, 66, -16}, 0, {0, 1024}, {0x2A, 0x78, 0xFF, 0x0}}},
|
|
{{{-40, 66, 18}, 0, {0, 1024}, {0x24, 0x7A, 0x2, 0x0}}},
|
|
{{{111, 12, -29}, 0, {0, 1024}, {0x4A, 0xAB, 0xC5, 0x0}}},
|
|
{{{111, 13, 27}, 0, {0, 1024}, {0x4D, 0xAC, 0x38, 0x0}}},
|
|
{{{82, -28, -1}, 0, {0, 1024}, {0x37, 0x8D, 0xFE, 0x0}}},
|
|
{{{47, -9, 45}, 0, {0, 1024}, {0x1, 0xB5, 0x67, 0x0}}},
|
|
{{{79, 24, 52}, 0, {0, 1024}, {0x1B, 0xCE, 0x72, 0x0}}},
|
|
{{{-11, 57, 45}, 0, {0, 1024}, {0xD0, 0x0, 0x76, 0x0}}},
|
|
{{{-33, 14, 36}, 0, {0, 1024}, {0xB4, 0xCD, 0x58, 0x0}}},
|
|
{{{-40, 66, 18}, 0, {0, 1024}, {0x8D, 0x18, 0x30, 0x0}}},
|
|
{{{-52, 17, 0}, 0, {0, 1024}, {0x89, 0xD3, 0xFD, 0x0}}},
|
|
{{{-33, 14, 36}, 0, {0, 1024}, {0xB4, 0xCD, 0x58, 0x0}}},
|
|
{{{-40, 66, 18}, 0, {0, 1024}, {0x8D, 0x18, 0x30, 0x0}}},
|
|
{{{-38, 66, -16}, 0, {0, 1024}, {0x90, 0x18, 0xC8, 0x0}}},
|
|
{{{-34, 13, -30}, 0, {0, 1024}, {0xB3, 0xCC, 0xA9, 0x0}}},
|
|
{{{-12, 56, -40}, 0, {0, 1024}, {0xCE, 0x0, 0x8B, 0x0}}},
|
|
{{{46, -9, -42}, 0, {0, 1024}, {0xFE, 0xB7, 0x98, 0x0}}},
|
|
{{{78, 24, -50}, 0, {0, 1024}, {0x13, 0xD1, 0x8B, 0x0}}},
|
|
{{{111, 12, -29}, 0, {0, 1024}, {0x4A, 0xAB, 0xC5, 0x0}}},
|
|
{{{82, -28, -1}, 0, {0, 1024}, {0x37, 0x8D, 0xFE, 0x0}}},
|
|
{{{28, -33, 0}, 0, {0, 1024}, {0xE7, 0x83, 0xFF, 0x0}}},
|
|
{{{47, -9, 45}, 0, {0, 1024}, {0x1, 0xB5, 0x67, 0x0}}},
|
|
};
|
|
|
|
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[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
|
|
gsSPCopyLightsPlayerPart(SHOES),
|
|
gsSPDisplayList(luigi_left_foot_shared_dl),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
static const Vtx luigi_right_thigh_shared_dl_vertex[26] = {
|
|
{{{19, -11, 40}, 0, {0, 1024}, {0xEE, 0xDA, 0x78, 0x0}}},
|
|
{{{21, -45, 0}, 0, {0, 1024}, {0xF1, 0x82, 0x2, 0x0}}},
|
|
{{{102, -32, 0}, 0, {0, 1024}, {0x42, 0x93, 0x1, 0x0}}},
|
|
{{{0, -35, -1}, 0, {0, 1024}, {0xAE, 0x9F, 0x0, 0x0}}},
|
|
{{{-1, -8, 31}, 0, {0, 1024}, {0xAD, 0xE1, 0x5B, 0x0}}},
|
|
{{{-4, 34, 19}, 0, {0, 1024}, {0xA7, 0x46, 0x3B, 0x0}}},
|
|
{{{15, 43, 24}, 0, {0, 1024}, {0xE9, 0x64, 0x4B, 0x0}}},
|
|
{{{97, 38, 19}, 0, {0, 1024}, {0x38, 0x5D, 0x42, 0x0}}},
|
|
{{{100, -5, 32}, 0, {0, 1024}, {0x3C, 0xE4, 0x6C, 0x0}}},
|
|
{{{122, 7, -1}, 0, {0, 1024}, {0x7F, 0x7, 0xFF, 0x0}}},
|
|
{{{99, -5, -34}, 0, {0, 1024}, {0x3B, 0xE2, 0x93, 0x0}}},
|
|
{{{18, -11, -42}, 0, {0, 1024}, {0xEE, 0xD9, 0x88, 0x0}}},
|
|
{{{-2, -8, -33}, 0, {0, 1024}, {0xAC, 0xE1, 0xA5, 0x0}}},
|
|
{{{-17, 2, -1}, 0, {0, 1024}, {0x81, 0xF7, 0x1, 0x0}}},
|
|
{{{-5, 34, -21}, 0, {0, 1024}, {0xA6, 0x46, 0xC7, 0x0}}},
|
|
{{{14, 43, -26}, 0, {0, 1024}, {0xE8, 0x64, 0xB6, 0x0}}},
|
|
{{{96, 38, -21}, 0, {0, 1024}, {0x36, 0x5D, 0xBD, 0x0}}},
|
|
{{{14, 43, -26}, 0, {0, 1024}, {0xE8, 0x64, 0xB6, 0x0}}},
|
|
{{{97, 38, 19}, 0, {0, 1024}, {0x38, 0x5D, 0x42, 0x0}}},
|
|
{{{122, 7, -1}, 0, {0, 1024}, {0x7F, 0x7, 0xFF, 0x0}}},
|
|
{{{100, -5, 32}, 0, {0, 1024}, {0x3C, 0xE4, 0x6C, 0x0}}},
|
|
{{{99, -5, -34}, 0, {0, 1024}, {0x3B, 0xE2, 0x93, 0x0}}},
|
|
{{{18, -11, -42}, 0, {0, 1024}, {0xEE, 0xD9, 0x88, 0x0}}},
|
|
{{{-5, 34, -21}, 0, {0, 1024}, {0xA6, 0x46, 0xC7, 0x0}}},
|
|
{{{-2, -8, -33}, 0, {0, 1024}, {0xAC, 0xE1, 0xA5, 0x0}}},
|
|
{{{-17, 2, -1}, 0, {0, 1024}, {0x81, 0xF7, 0x1, 0x0}}},
|
|
};
|
|
|
|
const Gfx luigi_right_thigh_shared_dl[] = {
|
|
gsSPVertex(luigi_right_thigh_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(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_shared_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[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
|
|
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] = {
|
|
{{{73, -10, -38}, 0, {0, 1024}, {0xFA, 0x22, 0x86, 0x0}}},
|
|
{{{6, 39, -21}, 0, {0, 1024}, {0xCB, 0x5D, 0xBC, 0x0}}},
|
|
{{{79, 46, -24}, 0, {0, 1024}, {0xF8, 0x1F, 0x85, 0x0}}},
|
|
{{{2, -2, -34}, 0, {0, 1024}, {0xC4, 0xE8, 0x92, 0x0}}},
|
|
{{{-20, 12, 0}, 0, {0, 1024}, {0x82, 0x10, 0x1, 0x0}}},
|
|
{{{0, -33, 0}, 0, {0, 1024}, {0xBC, 0x95, 0x0, 0x0}}},
|
|
{{{73, -10, -38}, 0, {0, 1024}, {0xF1, 0xA3, 0xAB, 0x0}}},
|
|
{{{70, -44, 0}, 0, {0, 1024}, {0xF2, 0xA2, 0xAB, 0x0}}},
|
|
{{{2, -3, 33}, 0, {0, 1024}, {0xC4, 0xE7, 0x6D, 0x0}}},
|
|
{{{74, -10, 38}, 0, {0, 1024}, {0xF2, 0xA3, 0x55, 0x0}}},
|
|
{{{70, -44, 0}, 0, {0, 1024}, {0xF2, 0xA3, 0x55, 0x0}}},
|
|
{{{7, 39, 20}, 0, {0, 1024}, {0xCC, 0x5E, 0x45, 0x0}}},
|
|
{{{74, -10, 38}, 0, {0, 1024}, {0xF9, 0x23, 0x7A, 0x0}}},
|
|
{{{80, 46, 23}, 0, {0, 1024}, {0xF8, 0x21, 0x7A, 0x0}}},
|
|
{{{80, 46, 23}, 0, {0, 1024}, {0xF4, 0x7E, 0x0, 0x0}}},
|
|
{{{79, 46, -24}, 0, {0, 1024}, {0xF4, 0x7E, 0x0, 0x0}}},
|
|
{{{95, 4, 0}, 0, {0, 1024}, {0x7E, 0xF4, 0xFF, 0x0}}},
|
|
{{{70, -44, 0}, 0, {0, 1024}, {0x71, 0xC5, 0xFF, 0x0}}},
|
|
{{{73, -10, -38}, 0, {0, 1024}, {0x6F, 0xE3, 0xCA, 0x0}}},
|
|
{{{74, -10, 38}, 0, {0, 1024}, {0x71, 0xE3, 0x33, 0x0}}},
|
|
{{{80, 46, 23}, 0, {0, 1024}, {0x79, 0x1C, 0x1B, 0x0}}},
|
|
{{{79, 46, -24}, 0, {0, 1024}, {0x78, 0x1B, 0xE1, 0x0}}},
|
|
};
|
|
|
|
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_dl_vertex[28] = {
|
|
{{{-37, 66, 15}, 0, {0, 1024}, {0x29, 0x78, 0xFE, 0x0}}},
|
|
{{{-11, 56, -46}, 0, {0, 1024}, {0x2A, 0x78, 0xFE, 0x0}}},
|
|
{{{-40, 66, -18}, 0, {0, 1024}, {0x26, 0x79, 0xFD, 0x0}}},
|
|
{{{-10, 57, 39}, 0, {0, 1024}, {0x2B, 0x78, 0xFE, 0x0}}},
|
|
{{{79, 23, -54}, 0, {0, 1024}, {0x2A, 0x78, 0xFE, 0x0}}},
|
|
{{{79, 25, 47}, 0, {0, 1024}, {0x2B, 0x78, 0xFF, 0x0}}},
|
|
{{{111, 13, -30}, 0, {0, 1024}, {0x29, 0x78, 0xFF, 0x0}}},
|
|
{{{112, 12, 26}, 0, {0, 1024}, {0x2F, 0x76, 0x1, 0x0}}},
|
|
{{{112, 12, 26}, 0, {0, 1024}, {0x4C, 0xAC, 0x3B, 0x0}}},
|
|
{{{82, -28, 0}, 0, {0, 1024}, {0x36, 0x8D, 0x3, 0x0}}},
|
|
{{{111, 13, -30}, 0, {0, 1024}, {0x4C, 0xAB, 0xC8, 0x0}}},
|
|
{{{48, -8, 41}, 0, {0, 1024}, {0x0, 0xB9, 0x6A, 0x0}}},
|
|
{{{79, 25, 47}, 0, {0, 1024}, {0x15, 0xD6, 0x76, 0x0}}},
|
|
{{{-10, 57, 39}, 0, {0, 1024}, {0xD0, 0x1, 0x76, 0x0}}},
|
|
{{{-32, 14, 30}, 0, {0, 1024}, {0xB7, 0xCF, 0x5B, 0x0}}},
|
|
{{{-37, 66, 15}, 0, {0, 1024}, {0x92, 0x19, 0x3B, 0x0}}},
|
|
{{{-32, 14, 30}, 0, {0, 1024}, {0xB7, 0xCF, 0x5B, 0x0}}},
|
|
{{{-37, 66, 15}, 0, {0, 1024}, {0x92, 0x19, 0x3B, 0x0}}},
|
|
{{{-52, 16, 0}, 0, {0, 1024}, {0x8A, 0xD2, 0x7, 0x0}}},
|
|
{{{-40, 66, -18}, 0, {0, 1024}, {0x8C, 0x18, 0xD3, 0x0}}},
|
|
{{{-33, 13, -36}, 0, {0, 1024}, {0xB3, 0xCC, 0xA9, 0x0}}},
|
|
{{{-11, 56, -46}, 0, {0, 1024}, {0xCE, 0x0, 0x8B, 0x0}}},
|
|
{{{47, -10, -46}, 0, {0, 1024}, {0x0, 0xB2, 0x9B, 0x0}}},
|
|
{{{79, 23, -54}, 0, {0, 1024}, {0x19, 0xCC, 0x8F, 0x0}}},
|
|
{{{111, 13, -30}, 0, {0, 1024}, {0x4C, 0xAB, 0xC8, 0x0}}},
|
|
{{{82, -28, 0}, 0, {0, 1024}, {0x36, 0x8D, 0x3, 0x0}}},
|
|
{{{29, -32, 0}, 0, {0, 1024}, {0xE6, 0x84, 0x5, 0x0}}},
|
|
{{{48, -8, 41}, 0, {0, 1024}, {0x0, 0xB9, 0x6A, 0x0}}},
|
|
};
|
|
|
|
const Gfx luigi_right_foot_dl[] = {
|
|
gsSPVertex(luigi_right_foot_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_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[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
|
|
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, {756, 940}, {0xE, 0x77, 0xD6, 0x0}}},
|
|
{{{19, 75, -23}, 0, {970, 550}, {0x26, 0x78, 0xEE, 0x0}}},
|
|
{{{39, 66, -27}, 0, {882, 72}, {0x41, 0x6A, 0xE4, 0x0}}},
|
|
{{{-5, 67, -49}, 0, {296, 972}, {0x3, 0x67, 0xB5, 0x0}}},
|
|
{{{8, 57, -61}, 0, {20, 624}, {0x12, 0x52, 0xA1, 0x0}}},
|
|
{{{24, 53, -59}, 0, {84, 268}, {0x21, 0x4F, 0xA2, 0x0}}},
|
|
{{{40, 56, -47}, 0, {406, -36}, {0x3C, 0x5C, 0xC0, 0x0}}},
|
|
{{{19, 75, 24}, 0, {10, 590}, {0x26, 0x78, 0x12, 0x0}}},
|
|
{{{1, 78, 33}, 0, {252, 966}, {0xE, 0x77, 0x2A, 0x0}}},
|
|
{{{39, 66, 28}, 0, {66, 106}, {0x41, 0x6A, 0x1C, 0x0}}},
|
|
{{{-5, 67, 50}, 0, {714, 966}, {0x4, 0x67, 0x4B, 0x0}}},
|
|
{{{8, 57, 61}, 0, {946, 602}, {0x14, 0x54, 0x5E, 0x0}}},
|
|
{{{24, 53, 60}, 0, {878, 246}, {0x1E, 0x50, 0x5E, 0x0}}},
|
|
{{{40, 56, 48}, 0, {536, -34}, {0x3C, 0x5C, 0x40, 0x0}}},
|
|
};
|
|
|
|
static const Vtx luigi_tshirt_shared_dl_vertex[30] = {
|
|
{{{39, 66, 28}, 0, {0, 0}, {0x41, 0x6A, 0x1C, 0x0}}},
|
|
{{{76, 31, 22}, 0, {0, 0}, {0x64, 0x4B, 0x19, 0x0}}},
|
|
{{{39, 66, -27}, 0, {0, 0}, {0x41, 0x6A, 0xE4, 0x0}}},
|
|
{{{76, 31, -21}, 0, {0, 0}, {0x64, 0x4B, 0xE7, 0x0}}},
|
|
{{{95, -2, 19}, 0, {0, 0}, {0x7B, 0x12, 0x1A, 0x0}}},
|
|
{{{95, -2, -18}, 0, {0, 0}, {0x7B, 0x12, 0xE6, 0x0}}},
|
|
{{{87, -36, 21}, 0, {0, 0}, {0x68, 0xBA, 0x14, 0x0}}},
|
|
{{{87, -36, -20}, 0, {0, 0}, {0x68, 0xBA, 0xEC, 0x0}}},
|
|
{{{47, -62, 0}, 0, {0, 0}, {0x2C, 0x89, 0x0, 0x0}}},
|
|
{{{39, -35, -67}, 0, {0, 0}, {0x1F, 0xCE, 0x8F, 0x0}}},
|
|
{{{77, -30, -50}, 0, {0, 0}, {0x57, 0xD7, 0xAD, 0x0}}},
|
|
{{{60, -51, -40}, 0, {0, 0}, {0x37, 0x98, 0xD0, 0x0}}},
|
|
{{{39, -1, -71}, 0, {0, 0}, {0x27, 0x7, 0x87, 0x0}}},
|
|
{{{-1, -13, -74}, 0, {0, 0}, {0x0, 0xEC, 0x83, 0x0}}},
|
|
{{{12, -60, -54}, 0, {0, 0}, {0x8, 0x9A, 0xB4, 0x0}}},
|
|
{{{4, 26, -73}, 0, {0, 0}, {0xA, 0x18, 0x84, 0x0}}},
|
|
{{{4, 26, -73}, 0, {0, 0}, {0xA, 0x18, 0x84, 0x0}}},
|
|
{{{36, 44, -60}, 0, {0, 0}, {0x34, 0x35, 0x99, 0x0}}},
|
|
{{{39, -1, -71}, 0, {0, 0}, {0x27, 0x7, 0x87, 0x0}}},
|
|
{{{74, 10, -49}, 0, {0, 0}, {0x59, 0x23, 0xAC, 0x0}}},
|
|
{{{77, -30, -50}, 0, {0, 0}, {0x57, 0xD7, 0xAD, 0x0}}},
|
|
{{{39, -35, 68}, 0, {0, 0}, {0x1F, 0xCE, 0x71, 0x0}}},
|
|
{{{-1, -14, 75}, 0, {0, 0}, {0x0, 0xEA, 0x7D, 0x0}}},
|
|
{{{12, -60, 55}, 0, {0, 0}, {0x8, 0x9A, 0x4B, 0x0}}},
|
|
{{{39, -1, 72}, 0, {0, 0}, {0x27, 0x7, 0x79, 0x0}}},
|
|
{{{77, -30, 51}, 0, {0, 0}, {0x57, 0xD7, 0x53, 0x0}}},
|
|
{{{60, -51, 41}, 0, {0, 0}, {0x37, 0x98, 0x30, 0x0}}},
|
|
{{{74, 10, 50}, 0, {0, 0}, {0x59, 0x23, 0x54, 0x0}}},
|
|
{{{36, 44, 61}, 0, {0, 0}, {0x34, 0x35, 0x67, 0x0}}},
|
|
{{{4, 26, 74}, 0, {0, 0}, {0xC, 0x18, 0x7C, 0x0}}},
|
|
};
|
|
|
|
static const Vtx luigi_pants_overalls_shared_dl_vertex[94] = {
|
|
{{{19, 75, 24}, 0, {0, 0}, {0x26, 0x78, 0x12, 0x0}}},
|
|
{{{1, 78, -32}, 0, {0, 0}, {0xE, 0x77, 0xD6, 0x0}}},
|
|
{{{1, 78, 33}, 0, {0, 0}, {0xE, 0x77, 0x2A, 0x0}}},
|
|
{{{19, 75, -23}, 0, {0, 0}, {0x26, 0x78, 0xEE, 0x0}}},
|
|
{{{39, 66, -27}, 0, {0, 0}, {0x41, 0x6A, 0xE4, 0x0}}},
|
|
{{{39, 66, 28}, 0, {0, 0}, {0x41, 0x6A, 0x1C, 0x0}}},
|
|
{{{-25, 77, 29}, 0, {0, 0}, {0xEF, 0x7A, 0x21, 0x0}}},
|
|
{{{-25, 77, -28}, 0, {0, 0}, {0xEF, 0x7A, 0xDF, 0x0}}},
|
|
{{{-5, 67, -49}, 0, {0, 0}, {0x3, 0x67, 0xB5, 0x0}}},
|
|
{{{-39, 54, -60}, 0, {0, 0}, {0xD3, 0x44, 0x9E, 0x0}}},
|
|
{{{-14, 49, -66}, 0, {0, 0}, {0xFA, 0x3C, 0x90, 0x0}}},
|
|
{{{8, 57, -61}, 0, {0, 0}, {0x12, 0x52, 0xA1, 0x0}}},
|
|
{{{4, 26, -73}, 0, {0, 0}, {0xA, 0x18, 0x84, 0x0}}},
|
|
{{{24, 53, -59}, 0, {0, 0}, {0x21, 0x4F, 0xA2, 0x0}}},
|
|
{{{36, 44, -60}, 0, {0, 0}, {0x34, 0x35, 0x99, 0x0}}},
|
|
{{{40, 56, -47}, 0, {0, 0}, {0x3C, 0x5C, 0xC0, 0x0}}},
|
|
{{{36, 44, -60}, 0, {0, 0}, {0x34, 0x35, 0x99, 0x0}}},
|
|
{{{40, 56, -47}, 0, {0, 0}, {0x3C, 0x5C, 0xC0, 0x0}}},
|
|
{{{74, 10, -49}, 0, {0, 0}, {0x59, 0x23, 0xAC, 0x0}}},
|
|
{{{76, 31, -21}, 0, {0, 0}, {0x64, 0x4B, 0xE7, 0x0}}},
|
|
{{{39, 66, -27}, 0, {0, 0}, {0x41, 0x6A, 0xE4, 0x0}}},
|
|
{{{95, -2, -18}, 0, {0, 0}, {0x7B, 0x12, 0xE6, 0x0}}},
|
|
{{{77, -30, -50}, 0, {0, 0}, {0x57, 0xD7, 0xAD, 0x0}}},
|
|
{{{87, -36, -20}, 0, {0, 0}, {0x68, 0xBA, 0xEC, 0x0}}},
|
|
{{{60, -51, -40}, 0, {0, 0}, {0x37, 0x98, 0xD0, 0x0}}},
|
|
{{{47, -62, 0}, 0, {0, 0}, {0x2C, 0x89, 0x0, 0x0}}},
|
|
{{{12, -60, -54}, 0, {0, 0}, {0x8, 0x9A, 0xB4, 0x0}}},
|
|
{{{0, -72, 0}, 0, {0, 0}, {0x1, 0x81, 0x0, 0x0}}},
|
|
{{{12, -60, 55}, 0, {0, 0}, {0x8, 0x9A, 0x4B, 0x0}}},
|
|
{{{60, -51, 41}, 0, {0, 0}, {0x37, 0x98, 0x30, 0x0}}},
|
|
{{{87, -36, 21}, 0, {0, 0}, {0x68, 0xBA, 0x14, 0x0}}},
|
|
{{{77, -30, 51}, 0, {0, 0}, {0x57, 0xD7, 0x53, 0x0}}},
|
|
{{{87, -36, 21}, 0, {0, 0}, {0x68, 0xBA, 0x14, 0x0}}},
|
|
{{{95, -2, 19}, 0, {0, 0}, {0x7B, 0x12, 0x1A, 0x0}}},
|
|
{{{77, -30, 51}, 0, {0, 0}, {0x57, 0xD7, 0x53, 0x0}}},
|
|
{{{74, 10, 50}, 0, {0, 0}, {0x59, 0x23, 0x54, 0x0}}},
|
|
{{{76, 31, 22}, 0, {0, 0}, {0x64, 0x4B, 0x19, 0x0}}},
|
|
{{{40, 56, 48}, 0, {0, 0}, {0x3C, 0x5C, 0x40, 0x0}}},
|
|
{{{39, 66, 28}, 0, {0, 0}, {0x41, 0x6A, 0x1C, 0x0}}},
|
|
{{{36, 44, 61}, 0, {0, 0}, {0x34, 0x35, 0x67, 0x0}}},
|
|
{{{24, 53, 60}, 0, {0, 0}, {0x1E, 0x50, 0x5E, 0x0}}},
|
|
{{{4, 26, 74}, 0, {0, 0}, {0xC, 0x18, 0x7C, 0x0}}},
|
|
{{{8, 57, 61}, 0, {0, 0}, {0x14, 0x54, 0x5E, 0x0}}},
|
|
{{{-14, 49, 68}, 0, {0, 0}, {0xFD, 0x3D, 0x6F, 0x0}}},
|
|
{{{-5, 67, 50}, 0, {0, 0}, {0x4, 0x67, 0x4B, 0x0}}},
|
|
{{{-39, 54, 61}, 0, {0, 0}, {0xD3, 0x46, 0x60, 0x0}}},
|
|
{{{-25, 77, 29}, 0, {0, 0}, {0xEF, 0x7A, 0x21, 0x0}}},
|
|
{{{1, 78, 33}, 0, {0, 0}, {0xE, 0x77, 0x2A, 0x0}}},
|
|
{{{-51, 63, 44}, 0, {0, 0}, {0xC7, 0x5A, 0x45, 0x0}}},
|
|
{{{-39, 54, 61}, 0, {0, 0}, {0xD3, 0x46, 0x60, 0x0}}},
|
|
{{{-25, 77, 29}, 0, {0, 0}, {0xEF, 0x7A, 0x21, 0x0}}},
|
|
{{{-83, 45, 25}, 0, {0, 0}, {0x8D, 0x25, 0x28, 0x0}}},
|
|
{{{-54, 72, 20}, 0, {0, 0}, {0xC7, 0x70, 0x13, 0x0}}},
|
|
{{{-54, 72, -19}, 0, {0, 0}, {0xC7, 0x70, 0xEC, 0x0}}},
|
|
{{{-25, 77, -28}, 0, {0, 0}, {0xEF, 0x7A, 0xDF, 0x0}}},
|
|
{{{-51, 62, -44}, 0, {0, 0}, {0xC5, 0x58, 0xB9, 0x0}}},
|
|
{{{-39, 54, -60}, 0, {0, 0}, {0xD3, 0x44, 0x9E, 0x0}}},
|
|
{{{-83, 45, -23}, 0, {0, 0}, {0x8D, 0x25, 0xD9, 0x0}}},
|
|
{{{-37, 20, -72}, 0, {0, 0}, {0xCC, 0xB, 0x8D, 0x0}}},
|
|
{{{-14, 49, -66}, 0, {0, 0}, {0xFA, 0x3C, 0x90, 0x0}}},
|
|
{{{4, 26, -73}, 0, {0, 0}, {0xA, 0x18, 0x84, 0x0}}},
|
|
{{{-1, -13, -74}, 0, {0, 0}, {0x0, 0xEC, 0x83, 0x0}}},
|
|
{{{-37, -27, -69}, 0, {0, 0}, {0xCB, 0xDC, 0x92, 0x0}}},
|
|
{{{12, -60, -54}, 0, {0, 0}, {0x8, 0x9A, 0xB4, 0x0}}},
|
|
{{{-39, -57, -47}, 0, {0, 0}, {0xCA, 0x9F, 0xC2, 0x0}}},
|
|
{{{-37, -27, -69}, 0, {0, 0}, {0xCB, 0xDC, 0x92, 0x0}}},
|
|
{{{12, -60, -54}, 0, {0, 0}, {0x8, 0x9A, 0xB4, 0x0}}},
|
|
{{{0, -72, 0}, 0, {0, 0}, {0x1, 0x81, 0x0, 0x0}}},
|
|
{{{-40, -65, 0}, 0, {0, 0}, {0xC5, 0x8F, 0x0, 0x0}}},
|
|
{{{-39, -57, 48}, 0, {0, 0}, {0xCA, 0x9F, 0x3E, 0x0}}},
|
|
{{{12, -60, 55}, 0, {0, 0}, {0x8, 0x9A, 0x4B, 0x0}}},
|
|
{{{-37, -27, 70}, 0, {0, 0}, {0xCB, 0xDB, 0x6D, 0x0}}},
|
|
{{{-1, -14, 75}, 0, {0, 0}, {0x0, 0xEA, 0x7D, 0x0}}},
|
|
{{{-37, 20, 74}, 0, {0, 0}, {0xCC, 0xA, 0x74, 0x0}}},
|
|
{{{4, 26, 74}, 0, {0, 0}, {0xC, 0x18, 0x7C, 0x0}}},
|
|
{{{-14, 49, 68}, 0, {0, 0}, {0xFD, 0x3D, 0x6F, 0x0}}},
|
|
{{{-39, 54, 61}, 0, {0, 0}, {0xD3, 0x46, 0x60, 0x0}}},
|
|
{{{-83, 45, 25}, 0, {0, 0}, {0x8D, 0x25, 0x28, 0x0}}},
|
|
{{{-70, -30, 31}, 0, {0, 0}, {0x91, 0xD0, 0x28, 0x0}}},
|
|
{{{-83, 45, -23}, 0, {0, 0}, {0x8D, 0x25, 0xD9, 0x0}}},
|
|
{{{-83, 45, -23}, 0, {0, 0}, {0x8D, 0x25, 0xD9, 0x0}}},
|
|
{{{-83, 45, 25}, 0, {0, 0}, {0x8D, 0x25, 0x28, 0x0}}},
|
|
{{{-54, 72, 20}, 0, {0, 0}, {0xC7, 0x70, 0x13, 0x0}}},
|
|
{{{-54, 72, -19}, 0, {0, 0}, {0xC7, 0x70, 0xEC, 0x0}}},
|
|
{{{-51, 62, -44}, 0, {0, 0}, {0xC5, 0x58, 0xB9, 0x0}}},
|
|
{{{-70, -30, -30}, 0, {0, 0}, {0x91, 0xD1, 0xD8, 0x0}}},
|
|
{{{-70, -30, 31}, 0, {0, 0}, {0x91, 0xD0, 0x28, 0x0}}},
|
|
{{{-40, -65, 0}, 0, {0, 0}, {0xC5, 0x8F, 0x0, 0x0}}},
|
|
{{{-39, -57, -47}, 0, {0, 0}, {0xCA, 0x9F, 0xC2, 0x0}}},
|
|
{{{-37, -27, -69}, 0, {0, 0}, {0xCB, 0xDC, 0x92, 0x0}}},
|
|
{{{-37, 20, -72}, 0, {0, 0}, {0xCC, 0xB, 0x8D, 0x0}}},
|
|
{{{-39, -57, 48}, 0, {0, 0}, {0xCA, 0x9F, 0x3E, 0x0}}},
|
|
{{{-37, -27, 70}, 0, {0, 0}, {0xCB, 0xDB, 0x6D, 0x0}}},
|
|
{{{-37, 20, 74}, 0, {0, 0}, {0xCC, 0xA, 0x74, 0x0}}},
|
|
};
|
|
|
|
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(),
|
|
};
|
|
|
|
Vtx luigi_l_logo_dl_vertex[7] = {
|
|
{{ {186, 83, 26}, 0, {730, 764}, {78, 83, 57, 255} }},
|
|
{{ {147, 31, 77}, 0, {1200, 1106}, {254, 70, 106, 255} }},
|
|
{{ {247, 60, 57}, 0, {1018, 94}, {63, 72, 83, 255} }},
|
|
{{ {273, 73, 0}, 0, {474, -182}, {96, 83, 0, 255} }},
|
|
{{ {186, 83, -25}, 0, {252, 768}, {78, 83, 199, 255} }},
|
|
{{ {247, 60, -56}, 0, {-38, 100}, {63, 73, 173, 255} }},
|
|
{{ {147, 31, -76}, 0, {-206, 1116}, {253, 70, 150, 255} }},
|
|
};
|
|
|
|
Vtx luigi_eyes_cap_on_dl_vertex[12] = {
|
|
{{ {78, 89, -20}, 0, {282, 1028}, {67, 68, 173, 255} }},
|
|
{{ {135, 74, -54}, 0, {-84, 412}, {25, 91, 171, 255} }},
|
|
{{ {94, 76, -56}, 0, {-98, 860}, {17, 100, 180, 255} }},
|
|
{{ {166, 84, -26}, 0, {202, 68}, {161, 84, 247, 255} }},
|
|
{{ {135, 91, 0}, 0, {480, 402}, {10, 127, 0, 255} }},
|
|
{{ {88, 92, 0}, 0, {488, 916}, {97, 82, 0, 255} }},
|
|
{{ {78, 89, 20}, 0, {700, 1020}, {70, 67, 82, 255} }},
|
|
{{ {166, 84, 27}, 0, {756, 60}, {161, 84, 9, 255} }},
|
|
{{ {135, 74, 55}, 0, {1054, 392}, {25, 91, 85, 255} }},
|
|
{{ {94, 76, 57}, 0, {1084, 840}, {17, 101, 76, 255} }},
|
|
{{ {147, 31, 77}, 0, {1282, 258}, {254, 70, 106, 255} }},
|
|
{{ {147, 31, -76}, 0, {-318, 286}, {253, 70, 150, 255} }},
|
|
};
|
|
|
|
Vtx luigi_hair_sideburn_cap_on_dl_vertex[12] = {
|
|
{{ {88, 42, -76}, 0, {-70, 700}, {7, 42, 136, 255} }},
|
|
{{ {147, 31, -76}, 0, {90, -58}, {253, 70, 150, 255} }},
|
|
{{ {115, -12, -91}, 0, {916, 184}, {235, 33, 135, 255} }},
|
|
{{ {80, -24, -92}, 0, {1150, 582}, {0, 89, 165, 255} }},
|
|
{{ {32, -5, -84}, 0, {842, 1210}, {187, 248, 149, 255} }},
|
|
{{ {34, 34, -78}, 0, {118, 1334}, {213, 31, 140, 255} }},
|
|
{{ {88, 42, 77}, 0, {-74, 726}, {6, 43, 119, 255} }},
|
|
{{ {115, -11, 93}, 0, {922, 122}, {235, 33, 121, 255} }},
|
|
{{ {147, 31, 77}, 0, {22, -68}, {254, 70, 106, 255} }},
|
|
{{ {80, -24, 93}, 0, {1238, 518}, {254, 89, 91, 255} }},
|
|
{{ {32, -5, 85}, 0, {968, 1192}, {187, 248, 107, 255} }},
|
|
{{ {34, 34, 79}, 0, {196, 1366}, {213, 31, 116, 255} }},
|
|
};
|
|
|
|
Vtx luigi_mustache_cap_on_dl_vertex[21] = {
|
|
{{ {78, 89, 20}, 0, {224, 146}, {70, 67, 82, 255} }},
|
|
{{ {58, 93, 28}, 0, {342, 368}, {20, 35, 120, 255} }},
|
|
{{ {66, 76, 68}, 0, {898, -18}, {7, 85, 94, 255} }},
|
|
{{ {35, 79, 58}, 0, {824, 500}, {211, 87, 81, 255} }},
|
|
{{ {35, 94, 27}, 0, {354, 690}, {183, 45, 94, 255} }},
|
|
{{ {13, 83, 24}, 0, {442, 982}, {173, 91, 31, 255} }},
|
|
{{ {24, 91, 0}, 0, {70, 924}, {139, 50, 0, 255} }},
|
|
{{ {-7, 40, 43}, 0, {892, 1090}, {147, 20, 62, 255} }},
|
|
{{ {34, 34, 79}, 0, {1296, 310}, {213, 31, 116, 255} }},
|
|
{{ {35, 94, -26}, 0, {340, 684}, {184, 46, 162, 255} }},
|
|
{{ {13, 83, -24}, 0, {394, 998}, {174, 91, 224, 255} }},
|
|
{{ {24, 91, 0}, 0, {50, 900}, {139, 50, 0, 255} }},
|
|
{{ {35, 79, -57}, 0, {792, 544}, {211, 86, 174, 255} }},
|
|
{{ {58, 93, -27}, 0, {362, 344}, {18, 35, 135, 255} }},
|
|
{{ {66, 76, -67}, 0, {922, -4}, {7, 85, 162, 255} }},
|
|
{{ {78, 89, -20}, 0, {274, 100}, {67, 68, 173, 255} }},
|
|
{{ {34, 34, -78}, 0, {1250, 390}, {213, 31, 140, 255} }},
|
|
{{ {35, 79, -57}, 0, {792, 544}, {211, 86, 174, 255} }},
|
|
{{ {66, 76, -67}, 0, {922, -4}, {7, 85, 162, 255} }},
|
|
{{ {-7, 40, -42}, 0, {806, 1162}, {147, 19, 194, 255} }},
|
|
{{ {13, 83, -24}, 0, {394, 998}, {174, 91, 224, 255} }},
|
|
};
|
|
|
|
Vtx luigi_face_cap_dl_vertex[43] = {
|
|
{{ {163, 124, -53}, 0, {0, 0}, {227, 81, 163, 255} }},
|
|
{{ {147, 31, -76}, 0, {0, 0}, {253, 70, 150, 255} }},
|
|
{{ {166, 84, -26}, 0, {0, 0}, {161, 84, 247, 255} }},
|
|
{{ {186, 83, -25}, 0, {0, 0}, {78, 83, 199, 255} }},
|
|
{{ {171, 155, 0}, 0, {0, 0}, {252, 127, 255, 255} }},
|
|
{{ {166, 84, 27}, 0, {0, 0}, {161, 84, 9, 255} }},
|
|
{{ {163, 125, 54}, 0, {0, 0}, {228, 82, 93, 255} }},
|
|
{{ {147, 31, 77}, 0, {0, 0}, {254, 70, 106, 255} }},
|
|
{{ {186, 83, 26}, 0, {0, 0}, {78, 83, 57, 255} }},
|
|
{{ {185, -5, -117}, 0, {0, 0}, {30, 9, 133, 255} }},
|
|
{{ {247, 60, -56}, 0, {0, 0}, {63, 73, 173, 255} }},
|
|
{{ {115, -12, -91}, 0, {0, 0}, {235, 33, 135, 255} }},
|
|
{{ {129, -50, -108}, 0, {0, 0}, {232, 224, 135, 255} }},
|
|
{{ {165, -90, -61}, 0, {0, 0}, {73, 168, 200, 255} }},
|
|
{{ {270, -2, -34}, 0, {0, 0}, {111, 212, 213, 255} }},
|
|
{{ {273, 73, 0}, 0, {0, 0}, {96, 83, 0, 255} }},
|
|
{{ {273, 73, 0}, 0, {0, 0}, {96, 83, 0, 255} }},
|
|
{{ {270, -2, 34}, 0, {0, 0}, {111, 212, 43, 255} }},
|
|
{{ {270, -2, -34}, 0, {0, 0}, {111, 212, 213, 255} }},
|
|
{{ {247, 60, 57}, 0, {0, 0}, {63, 72, 83, 255} }},
|
|
{{ {185, -5, 117}, 0, {0, 0}, {31, 9, 123, 255} }},
|
|
{{ {147, 31, 77}, 0, {0, 0}, {254, 70, 106, 255} }},
|
|
{{ {115, -11, 93}, 0, {0, 0}, {235, 33, 121, 255} }},
|
|
{{ {129, -50, 108}, 0, {0, 0}, {233, 222, 120, 255} }},
|
|
{{ {88, -51, 74}, 0, {0, 0}, {208, 190, 97, 255} }},
|
|
{{ {62, -96, 42}, 0, {0, 0}, {209, 168, 79, 255} }},
|
|
{{ {77, -135, 42}, 0, {0, 0}, {188, 162, 53, 255} }},
|
|
{{ {77, -135, -41}, 0, {0, 0}, {189, 162, 204, 255} }},
|
|
{{ {62, -96, -42}, 0, {0, 0}, {209, 169, 176, 255} }},
|
|
{{ {129, -50, -108}, 0, {0, 0}, {232, 224, 135, 255} }},
|
|
{{ {88, -51, -73}, 0, {0, 0}, {207, 192, 158, 255} }},
|
|
{{ {115, -12, -91}, 0, {0, 0}, {235, 33, 135, 255} }},
|
|
{{ {129, -50, -108}, 0, {0, 0}, {232, 224, 135, 255} }},
|
|
{{ {124, -138, -40}, 0, {0, 0}, {40, 144, 210, 255} }},
|
|
{{ {77, -135, -41}, 0, {0, 0}, {189, 162, 204, 255} }},
|
|
{{ {165, -90, -61}, 0, {0, 0}, {73, 168, 200, 255} }},
|
|
{{ {124, -138, 41}, 0, {0, 0}, {41, 145, 46, 255} }},
|
|
{{ {165, -89, 62}, 0, {0, 0}, {73, 169, 57, 255} }},
|
|
{{ {270, -2, -34}, 0, {0, 0}, {111, 212, 213, 255} }},
|
|
{{ {270, -2, 34}, 0, {0, 0}, {111, 212, 43, 255} }},
|
|
{{ {185, -5, 117}, 0, {0, 0}, {31, 9, 123, 255} }},
|
|
{{ {129, -50, 108}, 0, {0, 0}, {233, 222, 120, 255} }},
|
|
{{ {77, -135, 42}, 0, {0, 0}, {188, 162, 53, 255} }},
|
|
};
|
|
|
|
Vtx luigi_face_part_cap_on_dl_vertex[88] = {
|
|
{{ {66, 76, 68}, 0, {0, 0}, {7, 85, 94, 255} }},
|
|
{{ {94, 76, 57}, 0, {0, 0}, {17, 101, 76, 255} }},
|
|
{{ {78, 89, 20}, 0, {0, 0}, {70, 67, 82, 255} }},
|
|
{{ {88, 42, 77}, 0, {0, 0}, {6, 43, 119, 255} }},
|
|
{{ {34, 34, 79}, 0, {0, 0}, {213, 31, 116, 255} }},
|
|
{{ {135, 74, 55}, 0, {0, 0}, {25, 91, 85, 255} }},
|
|
{{ {147, 31, 77}, 0, {0, 0}, {254, 70, 106, 255} }},
|
|
{{ {13, 83, -24}, 0, {0, 0}, {174, 91, 224, 255} }},
|
|
{{ {13, 83, 24}, 0, {0, 0}, {173, 91, 31, 255} }},
|
|
{{ {24, 91, 0}, 0, {0, 0}, {139, 50, 0, 255} }},
|
|
{{ {-19, 46, 0}, 0, {0, 0}, {131, 25, 0, 255} }},
|
|
{{ {-7, 40, -42}, 0, {0, 0}, {147, 19, 194, 255} }},
|
|
{{ {12, -51, -34}, 0, {0, 0}, {132, 0, 227, 255} }},
|
|
{{ {32, -5, -84}, 0, {0, 0}, {187, 248, 149, 255} }},
|
|
{{ {34, 34, -78}, 0, {0, 0}, {213, 31, 140, 255} }},
|
|
{{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }},
|
|
{{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }},
|
|
{{ {32, -5, -84}, 0, {0, 0}, {187, 248, 149, 255} }},
|
|
{{ {57, -27, -110}, 0, {0, 0}, {217, 254, 135, 255} }},
|
|
{{ {80, -24, -92}, 0, {0, 0}, {0, 89, 165, 255} }},
|
|
{{ {95, -31, -110}, 0, {0, 0}, {43, 243, 137, 255} }},
|
|
{{ {115, -12, -91}, 0, {0, 0}, {235, 33, 135, 255} }},
|
|
{{ {88, -51, -73}, 0, {0, 0}, {207, 192, 158, 255} }},
|
|
{{ {13, 83, 24}, 0, {0, 0}, {173, 91, 31, 255} }},
|
|
{{ {-19, 46, 0}, 0, {0, 0}, {131, 25, 0, 255} }},
|
|
{{ {-7, 40, 43}, 0, {0, 0}, {147, 20, 62, 255} }},
|
|
{{ {12, -51, 35}, 0, {0, 0}, {133, 0, 30, 255} }},
|
|
{{ {12, -51, -34}, 0, {0, 0}, {132, 0, 227, 255} }},
|
|
{{ {26, -79, 0}, 0, {0, 0}, {160, 172, 0, 255} }},
|
|
{{ {32, -5, 85}, 0, {0, 0}, {187, 248, 107, 255} }},
|
|
{{ {34, 34, 79}, 0, {0, 0}, {213, 31, 116, 255} }},
|
|
{{ {51, -44, 65}, 0, {0, 0}, {208, 193, 100, 255} }},
|
|
{{ {51, -44, 65}, 0, {0, 0}, {208, 193, 100, 255} }},
|
|
{{ {57, -27, 111}, 0, {0, 0}, {217, 254, 121, 255} }},
|
|
{{ {32, -5, 85}, 0, {0, 0}, {187, 248, 107, 255} }},
|
|
{{ {88, -51, 74}, 0, {0, 0}, {208, 190, 97, 255} }},
|
|
{{ {95, -31, 111}, 0, {0, 0}, {42, 241, 119, 255} }},
|
|
{{ {115, -11, 93}, 0, {0, 0}, {235, 33, 121, 255} }},
|
|
{{ {80, -24, 93}, 0, {0, 0}, {254, 89, 91, 255} }},
|
|
{{ {88, 42, -76}, 0, {0, 0}, {7, 42, 136, 255} }},
|
|
{{ {135, 74, -54}, 0, {0, 0}, {25, 91, 171, 255} }},
|
|
{{ {147, 31, -76}, 0, {0, 0}, {253, 70, 150, 255} }},
|
|
{{ {94, 76, -56}, 0, {0, 0}, {17, 100, 180, 255} }},
|
|
{{ {66, 76, -67}, 0, {0, 0}, {7, 85, 162, 255} }},
|
|
{{ {34, 34, -78}, 0, {0, 0}, {213, 31, 140, 255} }},
|
|
{{ {78, 89, -20}, 0, {0, 0}, {67, 68, 173, 255} }},
|
|
{{ {35, 94, 27}, 0, {0, 0}, {183, 45, 94, 255} }},
|
|
{{ {15, 111, 0}, 0, {0, 0}, {132, 230, 254, 255} }},
|
|
{{ {24, 91, 0}, 0, {0, 0}, {139, 50, 0, 255} }},
|
|
{{ {29, 112, 36}, 0, {0, 0}, {179, 226, 96, 255} }},
|
|
{{ {58, 93, 28}, 0, {0, 0}, {20, 35, 120, 255} }},
|
|
{{ {55, 112, 41}, 0, {0, 0}, {255, 220, 122, 255} }},
|
|
{{ {81, 112, 36}, 0, {0, 0}, {75, 223, 97, 255} }},
|
|
{{ {78, 89, 20}, 0, {0, 0}, {70, 67, 82, 255} }},
|
|
{{ {96, 113, 0}, 0, {0, 0}, {125, 234, 0, 255} }},
|
|
{{ {88, 92, 0}, 0, {0, 0}, {97, 82, 0, 255} }},
|
|
{{ {78, 89, -20}, 0, {0, 0}, {67, 68, 173, 255} }},
|
|
{{ {81, 112, -35}, 0, {0, 0}, {75, 224, 158, 255} }},
|
|
{{ {58, 93, -27}, 0, {0, 0}, {18, 35, 135, 255} }},
|
|
{{ {55, 112, -40}, 0, {0, 0}, {255, 220, 134, 255} }},
|
|
{{ {29, 112, -35}, 0, {0, 0}, {178, 228, 160, 255} }},
|
|
{{ {35, 94, -26}, 0, {0, 0}, {184, 46, 162, 255} }},
|
|
{{ {29, 112, -35}, 0, {0, 0}, {178, 228, 160, 255} }},
|
|
{{ {15, 111, 0}, 0, {0, 0}, {132, 230, 254, 255} }},
|
|
{{ {32, 141, -35}, 0, {0, 0}, {191, 64, 167, 255} }},
|
|
{{ {15, 141, 0}, 0, {0, 0}, {142, 56, 254, 255} }},
|
|
{{ {29, 112, 36}, 0, {0, 0}, {179, 226, 96, 255} }},
|
|
{{ {32, 141, 36}, 0, {0, 0}, {193, 65, 89, 255} }},
|
|
{{ {55, 112, 41}, 0, {0, 0}, {255, 220, 122, 255} }},
|
|
{{ {58, 141, 41}, 0, {0, 0}, {0, 67, 108, 255} }},
|
|
{{ {82, 142, 36}, 0, {0, 0}, {69, 61, 88, 255} }},
|
|
{{ {81, 112, 36}, 0, {0, 0}, {75, 223, 97, 255} }},
|
|
{{ {96, 113, 0}, 0, {0, 0}, {125, 234, 0, 255} }},
|
|
{{ {96, 142, 0}, 0, {0, 0}, {117, 50, 255, 255} }},
|
|
{{ {81, 112, -35}, 0, {0, 0}, {75, 224, 158, 255} }},
|
|
{{ {82, 142, -35}, 0, {0, 0}, {69, 60, 168, 255} }},
|
|
{{ {55, 112, -40}, 0, {0, 0}, {255, 220, 134, 255} }},
|
|
{{ {58, 141, -40}, 0, {0, 0}, {0, 66, 147, 255} }},
|
|
{{ {58, 141, -40}, 0, {0, 0}, {0, 66, 147, 255} }},
|
|
{{ {32, 141, -35}, 0, {0, 0}, {191, 64, 167, 255} }},
|
|
{{ {39, 156, 0}, 0, {0, 0}, {224, 123, 0, 255} }},
|
|
{{ {15, 141, 0}, 0, {0, 0}, {142, 56, 254, 255} }},
|
|
{{ {32, 141, 36}, 0, {0, 0}, {193, 65, 89, 255} }},
|
|
{{ {58, 141, 41}, 0, {0, 0}, {0, 67, 108, 255} }},
|
|
{{ {77, 157, 0}, 0, {0, 0}, {35, 122, 0, 255} }},
|
|
{{ {82, 142, 36}, 0, {0, 0}, {69, 61, 88, 255} }},
|
|
{{ {96, 142, 0}, 0, {0, 0}, {117, 50, 255, 255} }},
|
|
{{ {82, 142, -35}, 0, {0, 0}, {69, 60, 168, 255} }},
|
|
};
|
|
|
|
Vtx luigi_face_back_hair_cap_on_dl_vertex[24] = {
|
|
{{ {88, -51, -73}, 0, {0, 0}, {207, 192, 158, 255} }},
|
|
{{ {62, -96, -42}, 0, {0, 0}, {209, 169, 176, 255} }},
|
|
{{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }},
|
|
{{ {46, -107, -45}, 0, {0, 0}, {60, 152, 215, 255} }},
|
|
{{ {24, -109, -21}, 0, {0, 0}, {239, 156, 77, 255} }},
|
|
{{ {26, -79, 0}, 0, {0, 0}, {160, 172, 0, 255} }},
|
|
{{ {62, -96, 42}, 0, {0, 0}, {209, 168, 79, 255} }},
|
|
{{ {24, -109, 21}, 0, {0, 0}, {239, 156, 179, 255} }},
|
|
{{ {46, -107, 45}, 0, {0, 0}, {60, 152, 41, 255} }},
|
|
{{ {51, -44, 65}, 0, {0, 0}, {208, 193, 100, 255} }},
|
|
{{ {88, -51, 74}, 0, {0, 0}, {208, 190, 97, 255} }},
|
|
{{ {19, -78, 73}, 0, {0, 0}, {226, 4, 123, 255} }},
|
|
{{ {12, -51, 35}, 0, {0, 0}, {133, 0, 30, 255} }},
|
|
{{ {-3, -81, 44}, 0, {0, 0}, {129, 11, 1, 255} }},
|
|
{{ {5, -113, 53}, 0, {0, 0}, {185, 158, 40, 255} }},
|
|
{{ {19, -78, -73}, 0, {0, 0}, {227, 5, 132, 255} }},
|
|
{{ {5, -113, -53}, 0, {0, 0}, {185, 158, 216, 255} }},
|
|
{{ {19, -78, -73}, 0, {0, 0}, {227, 5, 132, 255} }},
|
|
{{ {46, -107, -45}, 0, {0, 0}, {60, 152, 215, 255} }},
|
|
{{ {24, -109, -21}, 0, {0, 0}, {239, 156, 77, 255} }},
|
|
{{ {-3, -81, -44}, 0, {0, 0}, {129, 11, 255, 255} }},
|
|
{{ {26, -79, 0}, 0, {0, 0}, {160, 172, 0, 255} }},
|
|
{{ {12, -51, -34}, 0, {0, 0}, {132, 0, 227, 255} }},
|
|
{{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }},
|
|
};
|
|
|
|
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(),
|
|
};
|
|
|
|
Gfx luigi_eyes_cap_on_dl[] = {
|
|
gsSPVertex(luigi_eyes_cap_on_dl_vertex + 0, 12, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(3, 1, 0, 0),
|
|
gsSP1Triangle(4, 3, 0, 0),
|
|
gsSP1Triangle(5, 4, 0, 0),
|
|
gsSP1Triangle(5, 6, 4, 0),
|
|
gsSP1Triangle(4, 6, 7, 0),
|
|
gsSP1Triangle(7, 6, 8, 0),
|
|
gsSP1Triangle(9, 8, 6, 0),
|
|
gsSP1Triangle(7, 8, 10, 0),
|
|
gsSP1Triangle(3, 11, 1, 0),
|
|
gsSP1Triangle(4, 7, 3, 0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
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(),
|
|
};
|
|
|
|
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(),
|
|
};
|
|
|
|
Gfx luigi_face_part_cap_on_dl[] = {
|
|
gsSPVertex(luigi_face_part_cap_on_dl_vertex + 0, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(3, 1, 0, 0),
|
|
gsSP1Triangle(0, 4, 3, 0),
|
|
gsSP1Triangle(3, 5, 1, 0),
|
|
gsSP1Triangle(6, 5, 3, 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, 14, 13, 0),
|
|
gsSP1Triangle(12, 13, 15, 0),
|
|
gsSPVertex(luigi_face_part_cap_on_dl_vertex + 16, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(2, 1, 3, 0),
|
|
gsSP1Triangle(4, 2, 3, 0),
|
|
gsSP1Triangle(5, 4, 3, 0),
|
|
gsSP1Triangle(5, 6, 4, 0),
|
|
gsSP1Triangle(2, 4, 6, 0),
|
|
gsSP1Triangle(0, 2, 6, 0),
|
|
gsSP1Triangle(7, 8, 9, 0),
|
|
gsSP1Triangle(8, 10, 9, 0),
|
|
gsSP1Triangle(8, 11, 10, 0),
|
|
gsSP1Triangle(10, 11, 12, 0),
|
|
gsSP1Triangle(13, 9, 10, 0),
|
|
gsSP1Triangle(13, 14, 9, 0),
|
|
gsSP1Triangle(13, 10, 15, 0),
|
|
gsSPVertex(luigi_face_part_cap_on_dl_vertex + 32, 14, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(0, 3, 1, 0),
|
|
gsSP1Triangle(3, 4, 1, 0),
|
|
gsSP1Triangle(5, 4, 3, 0),
|
|
gsSP1Triangle(4, 5, 6, 0),
|
|
gsSP1Triangle(6, 1, 4, 0),
|
|
gsSP1Triangle(1, 6, 2, 0),
|
|
gsSP1Triangle(7, 8, 9, 0),
|
|
gsSP1Triangle(8, 7, 10, 0),
|
|
gsSP1Triangle(10, 7, 11, 0),
|
|
gsSP1Triangle(12, 11, 7, 0),
|
|
gsSP1Triangle(13, 10, 11, 0),
|
|
gsSPVertex(luigi_face_part_cap_on_dl_vertex + 46, 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_on_dl_vertex + 62, 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 + 78, 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(),
|
|
};
|
|
|
|
Gfx luigi_face_cap_dl[] = {
|
|
gsSPVertex(luigi_face_cap_dl_vertex + 0, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(1, 0, 3, 0),
|
|
gsSP1Triangle(4, 3, 0, 0),
|
|
gsSP1Triangle(4, 0, 2, 0),
|
|
gsSP1Triangle(5, 4, 2, 0),
|
|
gsSP1Triangle(4, 5, 6, 0),
|
|
gsSP1Triangle(6, 5, 7, 0),
|
|
gsSP1Triangle(6, 7, 8, 0),
|
|
gsSP1Triangle(4, 6, 8, 0),
|
|
gsSP1Triangle(4, 8, 3, 0),
|
|
gsSP1Triangle(9, 1, 10, 0),
|
|
gsSP1Triangle(11, 1, 9, 0),
|
|
gsSP1Triangle(12, 11, 9, 0),
|
|
gsSP1Triangle(13, 12, 9, 0),
|
|
gsSP1Triangle(9, 14, 13, 0),
|
|
gsSP1Triangle(10, 14, 9, 0),
|
|
gsSP1Triangle(14, 10, 15, 0),
|
|
gsSPVertex(luigi_face_cap_dl_vertex + 16, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(0, 3, 1, 0),
|
|
gsSP1Triangle(4, 1, 3, 0),
|
|
gsSP1Triangle(3, 5, 4, 0),
|
|
gsSP1Triangle(5, 6, 4, 0),
|
|
gsSP1Triangle(7, 4, 6, 0),
|
|
gsSP1Triangle(7, 6, 8, 0),
|
|
gsSP1Triangle(8, 9, 7, 0),
|
|
gsSP1Triangle(7, 9, 10, 0),
|
|
gsSP1Triangle(9, 11, 10, 0),
|
|
gsSP1Triangle(9, 12, 11, 0),
|
|
gsSP1Triangle(12, 13, 11, 0),
|
|
gsSP1Triangle(12, 14, 13, 0),
|
|
gsSP1Triangle(13, 14, 15, 0),
|
|
gsSPVertex(luigi_face_cap_dl_vertex + 32, 11, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(1, 0, 3, 0),
|
|
gsSP1Triangle(1, 3, 4, 0),
|
|
gsSP1Triangle(5, 4, 3, 0),
|
|
gsSP1Triangle(6, 5, 3, 0),
|
|
gsSP1Triangle(7, 5, 6, 0),
|
|
gsSP1Triangle(8, 5, 7, 0),
|
|
gsSP1Triangle(5, 8, 9, 0),
|
|
gsSP1Triangle(4, 5, 9, 0),
|
|
gsSP1Triangle(4, 9, 10, 0),
|
|
gsSP1Triangle(4, 10, 2, 0),
|
|
gsSP1Triangle(1, 4, 2, 0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
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(2, 3, 15, 0),
|
|
gsSPVertex(luigi_face_back_hair_cap_on_dl_vertex + 16, 8, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(0, 2, 3, 0),
|
|
gsSP1Triangle(0, 3, 4, 0),
|
|
gsSP1Triangle(4, 3, 5, 0),
|
|
gsSP1Triangle(6, 4, 5, 0),
|
|
gsSP1Triangle(6, 1, 4, 0),
|
|
gsSP1Triangle(6, 7, 1, 0),
|
|
gsSP1Triangle(0, 4, 1, 0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
const Gfx luigi_hair_sideburn_decal_cap_on[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, COMBINED, 0, 0, 0, COMBINED),
|
|
gsDPSetCycleType(G_CYC_2CYCLE),
|
|
gsSPTexture(65535, 65535, 0, 0, 1),
|
|
gsSPLight(&luigi_black_lights_group.l, 1),
|
|
gsSPCopyLightEXT(2, 11),
|
|
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
|
|
gsDPLoadBlock(7, 0, 0, 1023, 128),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
|
|
gsDPSetTileSize(0, 0, 0, 124, 124),
|
|
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 1, luigi_texture_add_sideburn),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
|
|
gsDPLoadBlock(6, 0, 0, 1023, 128),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
|
|
gsDPSetTileSize(1, 0, 0, 124, 124),
|
|
gsSPDisplayList(luigi_hair_sideburn_cap_on_dl),
|
|
gsDPSetCycleType(G_CYC_1CYCLE),
|
|
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA),
|
|
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_skin_sideburn),
|
|
gsDPLoadSync(),
|
|
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
|
|
gsSPCopyLightsPlayerPart(SKIN),
|
|
gsSPDisplayList(luigi_hair_sideburn_cap_on_dl),
|
|
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
const Gfx luigi_l_logo_decal[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0, COMBINED, TEXEL0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED),
|
|
gsDPSetCycleType(G_CYC_2CYCLE),
|
|
gsSPTexture(65535, 65535, 0, 0, 1),
|
|
gsDPSetPrimColor(0, 0, 127, 127, 127, 255),
|
|
gsSPLight(&luigi_black_lights_group.l, 1),
|
|
gsSPCopyLightEXT(2, 15),
|
|
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
|
|
gsDPLoadBlock(7, 0, 0, 1023, 256),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
|
|
gsDPSetTileSize(0, 0, 0, 124, 124),
|
|
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_blend),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
|
|
gsDPLoadBlock(6, 0, 0, 1023, 256),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
|
|
gsDPSetTileSize(1, 0, 0, 124, 124),
|
|
gsSPDisplayList(luigi_l_logo_dl),
|
|
gsDPSetCycleType(G_CYC_1CYCLE),
|
|
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA),
|
|
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_cap),
|
|
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),
|
|
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
const Gfx luigi_face_cap_on_dl[] = {
|
|
gsSPDisplayList(luigi_face_part_cap_on_dl),
|
|
gsSPCopyLightsPlayerPart(CAP),
|
|
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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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(),
|
|
};
|
|
|
|
Vtx luigi_eyes_cap_off_dl_vertex[12] = {
|
|
{{ {78, 89, -20}, 0, {282, 1028}, {67, 68, 173, 255} }},
|
|
{{ {135, 74, -54}, 0, {-84, 412}, {25, 91, 171, 255} }},
|
|
{{ {94, 76, -56}, 0, {-98, 860}, {17, 100, 180, 255} }},
|
|
{{ {166, 84, -26}, 0, {202, 68}, {25, 117, 214, 255} }},
|
|
{{ {135, 91, 0}, 0, {480, 402}, {10, 127, 0, 255} }},
|
|
{{ {88, 92, 0}, 0, {488, 916}, {97, 82, 0, 255} }},
|
|
{{ {78, 89, 20}, 0, {700, 1020}, {70, 67, 82, 255} }},
|
|
{{ {166, 84, 27}, 0, {756, 60}, {25, 118, 41, 255} }},
|
|
{{ {135, 74, 55}, 0, {1054, 392}, {25, 91, 85, 255} }},
|
|
{{ {94, 76, 57}, 0, {1084, 840}, {17, 101, 76, 255} }},
|
|
{{ {147, 31, 77}, 0, {1282, 258}, {0, 55, 115, 255} }},
|
|
{{ {147, 31, -76}, 0, {-318, 286}, {246, 51, 140, 255} }},
|
|
};
|
|
|
|
Vtx luigi_hair_sideburn_cap_off_dl_vertex[12] = {
|
|
{{ {88, 42, -76}, 0, {-70, 700}, {7, 42, 136, 255} }},
|
|
{{ {147, 31, -76}, 0, {90, -58}, {246, 51, 140, 255} }},
|
|
{{ {115, -12, -91}, 0, {916, 184}, {255, 17, 130, 255} }},
|
|
{{ {80, -24, -92}, 0, {1150, 582}, {0, 89, 165, 255} }},
|
|
{{ {32, -5, -84}, 0, {842, 1210}, {187, 248, 149, 255} }},
|
|
{{ {34, 34, -78}, 0, {118, 1334}, {213, 31, 140, 255} }},
|
|
{{ {88, 42, 77}, 0, {-74, 726}, {6, 43, 119, 255} }},
|
|
{{ {115, -11, 93}, 0, {922, 122}, {254, 18, 126, 255} }},
|
|
{{ {147, 31, 77}, 0, {22, -68}, {0, 55, 115, 255} }},
|
|
{{ {80, -24, 93}, 0, {1238, 518}, {254, 89, 91, 255} }},
|
|
{{ {32, -5, 85}, 0, {968, 1192}, {187, 248, 107, 255} }},
|
|
{{ {34, 34, 79}, 0, {196, 1366}, {213, 31, 116, 255} }},
|
|
};
|
|
|
|
Vtx luigi_mustache_cap_off_dl_vertex[21] = {
|
|
{{ {78, 89, 20}, 0, {248, 50}, {70, 67, 82, 255} }},
|
|
{{ {58, 93, 28}, 0, {330, 316}, {20, 35, 120, 255} }},
|
|
{{ {66, 76, 68}, 0, {948, -8}, {7, 85, 94, 255} }},
|
|
{{ {35, 79, 58}, 0, {784, 566}, {211, 87, 81, 255} }},
|
|
{{ {35, 94, 27}, 0, {292, 670}, {183, 45, 94, 255} }},
|
|
{{ {13, 83, 24}, 0, {336, 1006}, {173, 91, 31, 255} }},
|
|
{{ {24, 91, 0}, 0, {-30, 876}, {139, 50, 0, 255} }},
|
|
{{ {-7, 40, 43}, 0, {768, 1210}, {147, 20, 62, 255} }},
|
|
{{ {34, 34, 79}, 0, {1276, 438}, {213, 31, 116, 255} }},
|
|
{{ {35, 94, -26}, 0, {294, 656}, {184, 46, 162, 255} }},
|
|
{{ {13, 83, -24}, 0, {310, 1002}, {174, 91, 224, 255} }},
|
|
{{ {24, 91, 0}, 0, {-38, 852}, {139, 50, 0, 255} }},
|
|
{{ {35, 79, -57}, 0, {780, 576}, {211, 86, 174, 255} }},
|
|
{{ {58, 93, -27}, 0, {360, 296}, {18, 35, 135, 255} }},
|
|
{{ {66, 76, -67}, 0, {992, -10}, {7, 85, 162, 255} }},
|
|
{{ {78, 89, -20}, 0, {322, -20}, {67, 68, 173, 255} }},
|
|
{{ {34, 34, -78}, 0, {1272, 464}, {213, 31, 140, 255} }},
|
|
{{ {35, 79, -57}, 0, {780, 576}, {211, 86, 174, 255} }},
|
|
{{ {66, 76, -67}, 0, {992, -10}, {7, 85, 162, 255} }},
|
|
{{ {-7, 40, -42}, 0, {720, 1228}, {147, 19, 194, 255} }},
|
|
{{ {13, 83, -24}, 0, {310, 1002}, {174, 91, 224, 255} }},
|
|
};
|
|
|
|
Vtx luigi_face_part_cap_off_dl_vertex[88] = {
|
|
{{ {66, 76, 68}, 0, {0, 0}, {7, 85, 94, 255} }},
|
|
{{ {94, 76, 57}, 0, {0, 0}, {17, 101, 76, 255} }},
|
|
{{ {78, 89, 20}, 0, {0, 0}, {70, 67, 82, 255} }},
|
|
{{ {88, 42, 77}, 0, {0, 0}, {6, 43, 119, 255} }},
|
|
{{ {34, 34, 79}, 0, {0, 0}, {213, 31, 116, 255} }},
|
|
{{ {135, 74, 55}, 0, {0, 0}, {25, 91, 85, 255} }},
|
|
{{ {147, 31, 77}, 0, {0, 0}, {0, 55, 115, 255} }},
|
|
{{ {13, 83, -24}, 0, {0, 0}, {174, 91, 224, 255} }},
|
|
{{ {13, 83, 24}, 0, {0, 0}, {173, 91, 31, 255} }},
|
|
{{ {24, 91, 0}, 0, {0, 0}, {139, 50, 0, 255} }},
|
|
{{ {-19, 46, 0}, 0, {0, 0}, {131, 25, 0, 255} }},
|
|
{{ {-7, 40, -42}, 0, {0, 0}, {147, 19, 194, 255} }},
|
|
{{ {12, -51, -34}, 0, {0, 0}, {132, 0, 227, 255} }},
|
|
{{ {32, -5, -84}, 0, {0, 0}, {187, 248, 149, 255} }},
|
|
{{ {34, 34, -78}, 0, {0, 0}, {213, 31, 140, 255} }},
|
|
{{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }},
|
|
{{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }},
|
|
{{ {32, -5, -84}, 0, {0, 0}, {187, 248, 149, 255} }},
|
|
{{ {57, -27, -110}, 0, {0, 0}, {217, 254, 135, 255} }},
|
|
{{ {80, -24, -92}, 0, {0, 0}, {0, 89, 165, 255} }},
|
|
{{ {95, -31, -110}, 0, {0, 0}, {43, 243, 137, 255} }},
|
|
{{ {115, -12, -91}, 0, {0, 0}, {255, 17, 130, 255} }},
|
|
{{ {88, -51, -73}, 0, {0, 0}, {224, 184, 156, 255} }},
|
|
{{ {13, 83, 24}, 0, {0, 0}, {173, 91, 31, 255} }},
|
|
{{ {-19, 46, 0}, 0, {0, 0}, {131, 25, 0, 255} }},
|
|
{{ {-7, 40, 43}, 0, {0, 0}, {147, 20, 62, 255} }},
|
|
{{ {12, -51, 35}, 0, {0, 0}, {133, 0, 30, 255} }},
|
|
{{ {12, -51, -34}, 0, {0, 0}, {132, 0, 227, 255} }},
|
|
{{ {26, -79, 0}, 0, {0, 0}, {160, 172, 0, 255} }},
|
|
{{ {32, -5, 85}, 0, {0, 0}, {187, 248, 107, 255} }},
|
|
{{ {34, 34, 79}, 0, {0, 0}, {213, 31, 116, 255} }},
|
|
{{ {51, -44, 65}, 0, {0, 0}, {208, 193, 100, 255} }},
|
|
{{ {51, -44, 65}, 0, {0, 0}, {208, 193, 100, 255} }},
|
|
{{ {57, -27, 111}, 0, {0, 0}, {217, 254, 121, 255} }},
|
|
{{ {32, -5, 85}, 0, {0, 0}, {187, 248, 107, 255} }},
|
|
{{ {88, -51, 74}, 0, {0, 0}, {224, 183, 99, 255} }},
|
|
{{ {95, -31, 111}, 0, {0, 0}, {42, 241, 119, 255} }},
|
|
{{ {115, -11, 93}, 0, {0, 0}, {254, 18, 126, 255} }},
|
|
{{ {80, -24, 93}, 0, {0, 0}, {254, 89, 91, 255} }},
|
|
{{ {88, 42, -76}, 0, {0, 0}, {7, 42, 136, 255} }},
|
|
{{ {135, 74, -54}, 0, {0, 0}, {25, 91, 171, 255} }},
|
|
{{ {147, 31, -76}, 0, {0, 0}, {246, 51, 140, 255} }},
|
|
{{ {94, 76, -56}, 0, {0, 0}, {17, 100, 180, 255} }},
|
|
{{ {66, 76, -67}, 0, {0, 0}, {7, 85, 162, 255} }},
|
|
{{ {34, 34, -78}, 0, {0, 0}, {213, 31, 140, 255} }},
|
|
{{ {78, 89, -20}, 0, {0, 0}, {67, 68, 173, 255} }},
|
|
{{ {35, 94, 27}, 0, {0, 0}, {183, 45, 94, 255} }},
|
|
{{ {15, 111, 0}, 0, {0, 0}, {132, 230, 254, 255} }},
|
|
{{ {24, 91, 0}, 0, {0, 0}, {139, 50, 0, 255} }},
|
|
{{ {29, 112, 36}, 0, {0, 0}, {179, 226, 96, 255} }},
|
|
{{ {58, 93, 28}, 0, {0, 0}, {20, 35, 120, 255} }},
|
|
{{ {55, 112, 41}, 0, {0, 0}, {255, 220, 122, 255} }},
|
|
{{ {81, 112, 36}, 0, {0, 0}, {75, 223, 97, 255} }},
|
|
{{ {78, 89, 20}, 0, {0, 0}, {70, 67, 82, 255} }},
|
|
{{ {96, 113, 0}, 0, {0, 0}, {125, 234, 0, 255} }},
|
|
{{ {88, 92, 0}, 0, {0, 0}, {97, 82, 0, 255} }},
|
|
{{ {78, 89, -20}, 0, {0, 0}, {67, 68, 173, 255} }},
|
|
{{ {81, 112, -35}, 0, {0, 0}, {75, 224, 158, 255} }},
|
|
{{ {58, 93, -27}, 0, {0, 0}, {18, 35, 135, 255} }},
|
|
{{ {55, 112, -40}, 0, {0, 0}, {255, 220, 134, 255} }},
|
|
{{ {29, 112, -35}, 0, {0, 0}, {178, 228, 160, 255} }},
|
|
{{ {35, 94, -26}, 0, {0, 0}, {184, 46, 162, 255} }},
|
|
{{ {29, 112, -35}, 0, {0, 0}, {178, 228, 160, 255} }},
|
|
{{ {15, 111, 0}, 0, {0, 0}, {132, 230, 254, 255} }},
|
|
{{ {32, 141, -35}, 0, {0, 0}, {191, 64, 167, 255} }},
|
|
{{ {15, 141, 0}, 0, {0, 0}, {142, 56, 254, 255} }},
|
|
{{ {29, 112, 36}, 0, {0, 0}, {179, 226, 96, 255} }},
|
|
{{ {32, 141, 36}, 0, {0, 0}, {193, 65, 89, 255} }},
|
|
{{ {55, 112, 41}, 0, {0, 0}, {255, 220, 122, 255} }},
|
|
{{ {58, 141, 41}, 0, {0, 0}, {0, 67, 108, 255} }},
|
|
{{ {82, 142, 36}, 0, {0, 0}, {69, 61, 88, 255} }},
|
|
{{ {81, 112, 36}, 0, {0, 0}, {75, 223, 97, 255} }},
|
|
{{ {96, 113, 0}, 0, {0, 0}, {125, 234, 0, 255} }},
|
|
{{ {96, 142, 0}, 0, {0, 0}, {117, 50, 255, 255} }},
|
|
{{ {81, 112, -35}, 0, {0, 0}, {75, 224, 158, 255} }},
|
|
{{ {82, 142, -35}, 0, {0, 0}, {69, 60, 168, 255} }},
|
|
{{ {55, 112, -40}, 0, {0, 0}, {255, 220, 134, 255} }},
|
|
{{ {58, 141, -40}, 0, {0, 0}, {0, 66, 147, 255} }},
|
|
{{ {58, 141, -40}, 0, {0, 0}, {0, 66, 147, 255} }},
|
|
{{ {32, 141, -35}, 0, {0, 0}, {191, 64, 167, 255} }},
|
|
{{ {39, 156, 0}, 0, {0, 0}, {224, 123, 0, 255} }},
|
|
{{ {15, 141, 0}, 0, {0, 0}, {142, 56, 254, 255} }},
|
|
{{ {32, 141, 36}, 0, {0, 0}, {193, 65, 89, 255} }},
|
|
{{ {58, 141, 41}, 0, {0, 0}, {0, 67, 108, 255} }},
|
|
{{ {77, 157, 0}, 0, {0, 0}, {35, 122, 0, 255} }},
|
|
{{ {82, 142, 36}, 0, {0, 0}, {69, 61, 88, 255} }},
|
|
{{ {96, 142, 0}, 0, {0, 0}, {117, 50, 255, 255} }},
|
|
{{ {82, 142, -35}, 0, {0, 0}, {69, 60, 168, 255} }},
|
|
};
|
|
|
|
Vtx luigi_face_hair_cap_off_dl_vertex[95] = {
|
|
{{ {-3, -81, 44}, 0, {0, 0}, {129, 11, 1, 255} }},
|
|
{{ {12, -51, 35}, 0, {0, 0}, {133, 0, 30, 255} }},
|
|
{{ {26, -79, 0}, 0, {0, 0}, {160, 172, 0, 255} }},
|
|
{{ {19, -78, 73}, 0, {0, 0}, {226, 4, 123, 255} }},
|
|
{{ {5, -113, 53}, 0, {0, 0}, {185, 158, 40, 255} }},
|
|
{{ {24, -109, 21}, 0, {0, 0}, {239, 156, 179, 255} }},
|
|
{{ {62, -96, 42}, 0, {0, 0}, {243, 147, 64, 255} }},
|
|
{{ {62, -96, -42}, 0, {0, 0}, {243, 147, 191, 255} }},
|
|
{{ {24, -109, -21}, 0, {0, 0}, {239, 156, 77, 255} }},
|
|
{{ {-3, -81, -44}, 0, {0, 0}, {129, 11, 255, 255} }},
|
|
{{ {12, -51, -34}, 0, {0, 0}, {132, 0, 227, 255} }},
|
|
{{ {19, -78, -73}, 0, {0, 0}, {227, 5, 132, 255} }},
|
|
{{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }},
|
|
{{ {46, -107, -45}, 0, {0, 0}, {60, 152, 215, 255} }},
|
|
{{ {88, -51, -73}, 0, {0, 0}, {224, 184, 156, 255} }},
|
|
{{ {142, -81, -92}, 0, {0, 0}, {0, 206, 139, 255} }},
|
|
{{ {142, -81, -92}, 0, {0, 0}, {0, 206, 139, 255} }},
|
|
{{ {88, -51, -73}, 0, {0, 0}, {224, 184, 156, 255} }},
|
|
{{ {115, -12, -91}, 0, {0, 0}, {255, 17, 130, 255} }},
|
|
{{ {176, -9, -97}, 0, {0, 0}, {39, 5, 135, 255} }},
|
|
{{ {147, 31, -76}, 0, {0, 0}, {246, 51, 140, 255} }},
|
|
{{ {191, 61, -79}, 0, {0, 0}, {27, 59, 147, 255} }},
|
|
{{ {142, 63, -57}, 0, {0, 0}, {222, 89, 172, 255} }},
|
|
{{ {166, 84, -26}, 0, {0, 0}, {196, 92, 193, 255} }},
|
|
{{ {202, 84, -59}, 0, {0, 0}, {15, 71, 152, 255} }},
|
|
{{ {192, 116, -13}, 0, {0, 0}, {245, 127, 254, 255} }},
|
|
{{ {151, 87, 0}, 0, {0, 0}, {184, 105, 5, 255} }},
|
|
{{ {166, 84, 27}, 0, {0, 0}, {224, 107, 60, 255} }},
|
|
{{ {200, 79, 48}, 0, {0, 0}, {34, 95, 77, 255} }},
|
|
{{ {191, 66, 66}, 0, {0, 0}, {26, 77, 98, 255} }},
|
|
{{ {142, 63, 58}, 0, {0, 0}, {236, 86, 92, 255} }},
|
|
{{ {147, 31, 77}, 0, {0, 0}, {0, 55, 115, 255} }},
|
|
{{ {147, 31, 77}, 0, {0, 0}, {0, 55, 115, 255} }},
|
|
{{ {175, -9, 98}, 0, {0, 0}, {39, 8, 121, 255} }},
|
|
{{ {191, 66, 66}, 0, {0, 0}, {26, 77, 98, 255} }},
|
|
{{ {115, -11, 93}, 0, {0, 0}, {254, 18, 126, 255} }},
|
|
{{ {142, -80, 93}, 0, {0, 0}, {0, 206, 117, 255} }},
|
|
{{ {88, -51, 74}, 0, {0, 0}, {224, 183, 99, 255} }},
|
|
{{ {62, -96, 42}, 0, {0, 0}, {243, 147, 64, 255} }},
|
|
{{ {51, -44, 65}, 0, {0, 0}, {208, 193, 100, 255} }},
|
|
{{ {46, -107, 45}, 0, {0, 0}, {60, 152, 41, 255} }},
|
|
{{ {19, -78, 73}, 0, {0, 0}, {226, 4, 123, 255} }},
|
|
{{ {12, -51, 35}, 0, {0, 0}, {133, 0, 30, 255} }},
|
|
{{ {5, -113, 53}, 0, {0, 0}, {185, 158, 40, 255} }},
|
|
{{ {24, -109, 21}, 0, {0, 0}, {239, 156, 179, 255} }},
|
|
{{ {62, -96, -42}, 0, {0, 0}, {243, 147, 191, 255} }},
|
|
{{ {24, -109, -21}, 0, {0, 0}, {239, 156, 77, 255} }},
|
|
{{ {46, -107, -45}, 0, {0, 0}, {60, 152, 215, 255} }},
|
|
{{ {5, -113, -53}, 0, {0, 0}, {185, 158, 216, 255} }},
|
|
{{ {46, -107, -45}, 0, {0, 0}, {60, 152, 215, 255} }},
|
|
{{ {24, -109, -21}, 0, {0, 0}, {239, 156, 77, 255} }},
|
|
{{ {-3, -81, -44}, 0, {0, 0}, {129, 11, 255, 255} }},
|
|
{{ {19, -78, -73}, 0, {0, 0}, {227, 5, 132, 255} }},
|
|
{{ {175, -9, 98}, 0, {0, 0}, {39, 8, 121, 255} }},
|
|
{{ {218, 28, 63}, 0, {0, 0}, {102, 14, 74, 255} }},
|
|
{{ {191, 66, 66}, 0, {0, 0}, {26, 77, 98, 255} }},
|
|
{{ {221, -14, 49}, 0, {0, 0}, {112, 240, 58, 255} }},
|
|
{{ {186, -99, 63}, 0, {0, 0}, {71, 176, 68, 255} }},
|
|
{{ {142, -80, 93}, 0, {0, 0}, {0, 206, 117, 255} }},
|
|
{{ {114, -119, 58}, 0, {0, 0}, {233, 149, 64, 255} }},
|
|
{{ {62, -96, 42}, 0, {0, 0}, {243, 147, 64, 255} }},
|
|
{{ {117, -127, 0}, 0, {0, 0}, {242, 130, 255, 255} }},
|
|
{{ {62, -96, -42}, 0, {0, 0}, {243, 147, 191, 255} }},
|
|
{{ {114, -117, -58}, 0, {0, 0}, {233, 149, 191, 255} }},
|
|
{{ {142, -81, -92}, 0, {0, 0}, {0, 206, 139, 255} }},
|
|
{{ {114, -117, -58}, 0, {0, 0}, {233, 149, 191, 255} }},
|
|
{{ {62, -96, -42}, 0, {0, 0}, {243, 147, 191, 255} }},
|
|
{{ {186, -99, -62}, 0, {0, 0}, {71, 175, 188, 255} }},
|
|
{{ {176, -9, -97}, 0, {0, 0}, {39, 5, 135, 255} }},
|
|
{{ {221, -14, -49}, 0, {0, 0}, {112, 245, 196, 255} }},
|
|
{{ {212, 28, -61}, 0, {0, 0}, {106, 7, 186, 255} }},
|
|
{{ {191, 61, -79}, 0, {0, 0}, {27, 59, 147, 255} }},
|
|
{{ {202, 84, -59}, 0, {0, 0}, {15, 71, 152, 255} }},
|
|
{{ {223, 62, -34}, 0, {0, 0}, {113, 226, 206, 255} }},
|
|
{{ {239, 97, -43}, 0, {0, 0}, {101, 52, 199, 255} }},
|
|
{{ {192, 116, -13}, 0, {0, 0}, {245, 127, 254, 255} }},
|
|
{{ {200, 79, 48}, 0, {0, 0}, {34, 95, 77, 255} }},
|
|
{{ {222, 74, 33}, 0, {0, 0}, {100, 59, 52, 255} }},
|
|
{{ {218, 28, 63}, 0, {0, 0}, {102, 14, 74, 255} }},
|
|
{{ {191, 66, 66}, 0, {0, 0}, {26, 77, 98, 255} }},
|
|
{{ {218, 28, 63}, 0, {0, 0}, {102, 14, 74, 255} }},
|
|
{{ {228, 57, 0}, 0, {0, 0}, {127, 250, 4, 255} }},
|
|
{{ {222, 74, 33}, 0, {0, 0}, {100, 59, 52, 255} }},
|
|
{{ {221, -14, 49}, 0, {0, 0}, {112, 240, 58, 255} }},
|
|
{{ {235, -34, 0}, 0, {0, 0}, {125, 232, 0, 255} }},
|
|
{{ {186, -99, 63}, 0, {0, 0}, {71, 176, 68, 255} }},
|
|
{{ {198, -110, 0}, 0, {0, 0}, {80, 157, 0, 255} }},
|
|
{{ {114, -119, 58}, 0, {0, 0}, {233, 149, 64, 255} }},
|
|
{{ {117, -127, 0}, 0, {0, 0}, {242, 130, 255, 255} }},
|
|
{{ {114, -117, -58}, 0, {0, 0}, {233, 149, 191, 255} }},
|
|
{{ {186, -99, -62}, 0, {0, 0}, {71, 175, 188, 255} }},
|
|
{{ {221, -14, -49}, 0, {0, 0}, {112, 245, 196, 255} }},
|
|
{{ {212, 28, -61}, 0, {0, 0}, {106, 7, 186, 255} }},
|
|
{{ {223, 62, -34}, 0, {0, 0}, {113, 226, 206, 255} }},
|
|
{{ {239, 97, -43}, 0, {0, 0}, {101, 52, 199, 255} }},
|
|
};
|
|
|
|
Gfx luigi_eyes_cap_off_dl[] = {
|
|
gsSPVertex(luigi_eyes_cap_off_dl_vertex + 0, 12, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(3, 1, 0, 0),
|
|
gsSP1Triangle(4, 3, 0, 0),
|
|
gsSP1Triangle(5, 4, 0, 0),
|
|
gsSP1Triangle(5, 6, 4, 0),
|
|
gsSP1Triangle(4, 6, 7, 0),
|
|
gsSP1Triangle(7, 6, 8, 0),
|
|
gsSP1Triangle(9, 8, 6, 0),
|
|
gsSP1Triangle(7, 8, 10, 0),
|
|
gsSP1Triangle(3, 11, 1, 0),
|
|
gsSP1Triangle(4, 7, 3, 0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
Gfx luigi_mustache_cap_off_dl[] = {
|
|
gsSPVertex(luigi_mustache_cap_off_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_off_dl_vertex + 16, 5, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(1, 0, 3, 0),
|
|
gsSP1Triangle(1, 3, 4, 0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
Gfx luigi_hair_sideburn_cap_off_dl[] = {
|
|
gsSPVertex(luigi_hair_sideburn_cap_off_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(),
|
|
};
|
|
|
|
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, 1, 0, 0),
|
|
gsSP1Triangle(0, 4, 3, 0),
|
|
gsSP1Triangle(3, 5, 1, 0),
|
|
gsSP1Triangle(6, 5, 3, 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, 14, 13, 0),
|
|
gsSP1Triangle(12, 13, 15, 0),
|
|
gsSPVertex(luigi_face_part_cap_off_dl_vertex + 16, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(2, 1, 3, 0),
|
|
gsSP1Triangle(4, 2, 3, 0),
|
|
gsSP1Triangle(5, 4, 3, 0),
|
|
gsSP1Triangle(5, 6, 4, 0),
|
|
gsSP1Triangle(2, 4, 6, 0),
|
|
gsSP1Triangle(0, 2, 6, 0),
|
|
gsSP1Triangle(7, 8, 9, 0),
|
|
gsSP1Triangle(8, 10, 9, 0),
|
|
gsSP1Triangle(8, 11, 10, 0),
|
|
gsSP1Triangle(10, 11, 12, 0),
|
|
gsSP1Triangle(13, 9, 10, 0),
|
|
gsSP1Triangle(13, 14, 9, 0),
|
|
gsSP1Triangle(13, 10, 15, 0),
|
|
gsSPVertex(luigi_face_part_cap_off_dl_vertex + 32, 14, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(0, 3, 1, 0),
|
|
gsSP1Triangle(3, 4, 1, 0),
|
|
gsSP1Triangle(5, 4, 3, 0),
|
|
gsSP1Triangle(4, 5, 6, 0),
|
|
gsSP1Triangle(6, 1, 4, 0),
|
|
gsSP1Triangle(1, 6, 2, 0),
|
|
gsSP1Triangle(7, 8, 9, 0),
|
|
gsSP1Triangle(8, 7, 10, 0),
|
|
gsSP1Triangle(10, 7, 11, 0),
|
|
gsSP1Triangle(12, 11, 7, 0),
|
|
gsSP1Triangle(13, 10, 11, 0),
|
|
gsSPVertex(luigi_face_part_cap_off_dl_vertex + 46, 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 + 62, 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_off_dl_vertex + 78, 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(),
|
|
};
|
|
|
|
Gfx luigi_face_hair_cap_off_dl[] = {
|
|
gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 0, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(1, 0, 3, 0),
|
|
gsSP1Triangle(3, 0, 4, 0),
|
|
gsSP1Triangle(0, 5, 4, 0),
|
|
gsSP1Triangle(5, 0, 2, 0),
|
|
gsSP1Triangle(6, 5, 2, 0),
|
|
gsSP1Triangle(6, 2, 7, 0),
|
|
gsSP1Triangle(7, 2, 8, 0),
|
|
gsSP1Triangle(9, 8, 2, 0),
|
|
gsSP1Triangle(10, 9, 2, 0),
|
|
gsSP1Triangle(10, 11, 9, 0),
|
|
gsSP1Triangle(10, 12, 11, 0),
|
|
gsSP1Triangle(12, 13, 11, 0),
|
|
gsSP1Triangle(12, 7, 13, 0),
|
|
gsSP1Triangle(14, 7, 12, 0),
|
|
gsSP1Triangle(14, 15, 7, 0),
|
|
gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 16, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(3, 0, 2, 0),
|
|
gsSP1Triangle(2, 4, 3, 0),
|
|
gsSP1Triangle(4, 5, 3, 0),
|
|
gsSP1Triangle(5, 4, 6, 0),
|
|
gsSP1Triangle(7, 5, 6, 0),
|
|
gsSP1Triangle(5, 7, 8, 0),
|
|
gsSP1Triangle(8, 7, 9, 0),
|
|
gsSP1Triangle(7, 10, 9, 0),
|
|
gsSP1Triangle(9, 10, 11, 0),
|
|
gsSP1Triangle(12, 9, 11, 0),
|
|
gsSP1Triangle(11, 13, 12, 0),
|
|
gsSP1Triangle(11, 14, 13, 0),
|
|
gsSP1Triangle(15, 13, 14, 0),
|
|
gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 32, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(0, 3, 1, 0),
|
|
gsSP1Triangle(4, 1, 3, 0),
|
|
gsSP1Triangle(5, 4, 3, 0),
|
|
gsSP1Triangle(6, 4, 5, 0),
|
|
gsSP1Triangle(7, 6, 5, 0),
|
|
gsSP1Triangle(7, 8, 6, 0),
|
|
gsSP1Triangle(7, 9, 8, 0),
|
|
gsSP1Triangle(10, 9, 7, 0),
|
|
gsSP1Triangle(8, 9, 11, 0),
|
|
gsSP1Triangle(12, 8, 11, 0),
|
|
gsSP1Triangle(6, 8, 12, 0),
|
|
gsSP1Triangle(13, 14, 15, 0),
|
|
gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 48, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(0, 2, 3, 0),
|
|
gsSP1Triangle(0, 3, 4, 0),
|
|
gsSP1Triangle(0, 4, 1, 0),
|
|
gsSP1Triangle(5, 6, 7, 0),
|
|
gsSP1Triangle(6, 5, 8, 0),
|
|
gsSP1Triangle(8, 5, 9, 0),
|
|
gsSP1Triangle(10, 9, 5, 0),
|
|
gsSP1Triangle(10, 11, 9, 0),
|
|
gsSP1Triangle(12, 11, 10, 0),
|
|
gsSP1Triangle(12, 13, 11, 0),
|
|
gsSP1Triangle(12, 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(4, 3, 0, 0),
|
|
gsSP1Triangle(3, 4, 5, 0),
|
|
gsSP1Triangle(5, 4, 6, 0),
|
|
gsSP1Triangle(7, 6, 4, 0),
|
|
gsSP1Triangle(6, 7, 8, 0),
|
|
gsSP1Triangle(6, 8, 9, 0),
|
|
gsSP1Triangle(9, 8, 10, 0),
|
|
gsSP1Triangle(8, 11, 10, 0),
|
|
gsSP1Triangle(11, 12, 10, 0),
|
|
gsSP1Triangle(12, 13, 10, 0),
|
|
gsSP1Triangle(14, 13, 12, 0),
|
|
gsSP1Triangle(15, 14, 12, 0),
|
|
gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 80, 15, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(1, 0, 3, 0),
|
|
gsSP1Triangle(3, 4, 1, 0),
|
|
gsSP1Triangle(4, 3, 5, 0),
|
|
gsSP1Triangle(6, 4, 5, 0),
|
|
gsSP1Triangle(6, 5, 7, 0),
|
|
gsSP1Triangle(8, 6, 7, 0),
|
|
gsSP1Triangle(8, 9, 6, 0),
|
|
gsSP1Triangle(9, 10, 6, 0),
|
|
gsSP1Triangle(6, 10, 4, 0),
|
|
gsSP1Triangle(10, 11, 4, 0),
|
|
gsSP1Triangle(11, 1, 4, 0),
|
|
gsSP1Triangle(11, 12, 1, 0),
|
|
gsSP1Triangle(12, 13, 1, 0),
|
|
gsSP1Triangle(1, 13, 14, 0),
|
|
gsSP1Triangle(1, 14, 2, 0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
const Gfx luigi_hair_sideburn_decal_cap_off[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, COMBINED, 0, 0, 0, COMBINED),
|
|
gsDPSetCycleType(G_CYC_2CYCLE),
|
|
gsSPTexture(65535, 65535, 0, 0, 1),
|
|
gsSPLight(&luigi_black_lights_group.l, 1),
|
|
gsSPCopyLightEXT(2, 11),
|
|
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
|
|
gsDPLoadBlock(7, 0, 0, 1023, 128),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
|
|
gsDPSetTileSize(0, 0, 0, 124, 124),
|
|
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 1, luigi_texture_add_sideburn),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
|
|
gsDPLoadBlock(6, 0, 0, 1023, 128),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
|
|
gsDPSetTileSize(1, 0, 0, 124, 124),
|
|
gsSPDisplayList(luigi_hair_sideburn_cap_off_dl),
|
|
gsDPSetCycleType(G_CYC_1CYCLE),
|
|
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA),
|
|
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_skin_sideburn),
|
|
gsDPLoadSync(),
|
|
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
|
|
gsSPCopyLightsPlayerPart(SKIN),
|
|
gsSPDisplayList(luigi_hair_sideburn_cap_off_dl),
|
|
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
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),
|
|
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),
|
|
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),
|
|
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),
|
|
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),
|
|
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),
|
|
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),
|
|
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),
|
|
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[63] = {
|
|
{{{20, -27, -27}, 0, {0, 0}, {0x8, 0xBF, 0x93, 0x0}}},
|
|
{{{13, -39, -31}, 0, {0, 0}, {0x18, 0x99, 0xB9, 0x0}}},
|
|
{{{-10, 14, -43}, 0, {0, 0}, {0xD3, 0x19, 0x8C, 0x0}}},
|
|
{{{1, -33, -23}, 0, {0, 0}, {0x9B, 0xBA, 0xE0, 0x0}}},
|
|
{{{6, -38, 7}, 0, {0, 0}, {0xAD, 0xAA, 0x2B, 0x0}}},
|
|
{{{20, -46, 12}, 0, {0, 0}, {0x26, 0x9D, 0x46, 0x0}}},
|
|
{{{26, -32, 6}, 0, {0, 0}, {0x34, 0xA5, 0x48, 0x0}}},
|
|
{{{20, -27, -27}, 0, {0, 0}, {0x9, 0xBF, 0x93, 0x0}}},
|
|
{{{41, -37, -36}, 0, {0, 0}, {0xD8, 0x9A, 0xBF, 0x0}}},
|
|
{{{25, -1, -44}, 0, {0, 0}, {0xE4, 0xE0, 0x88, 0x0}}},
|
|
{{{1, 15, -37}, 0, {0, 0}, {0xD2, 0x9, 0x8A, 0x0}}},
|
|
{{{-3, 35, -9}, 0, {0, 0}, {0xCD, 0x73, 0x13, 0x0}}},
|
|
{{{-17, 40, -8}, 0, {0, 0}, {0xBC, 0x69, 0x16, 0x0}}},
|
|
{{{-20, 22, -7}, 0, {0, 0}, {0x83, 0x6, 0x14, 0x0}}},
|
|
{{{-15, 4, -32}, 0, {0, 0}, {0x88, 0xDD, 0xE7, 0x0}}},
|
|
{{{-6, -3, 17}, 0, {0, 0}, {0x8F, 0xDA, 0x2D, 0x0}}},
|
|
{{{2, 3, 26}, 0, {0, 0}, {0xF5, 0x17, 0x7C, 0x0}}},
|
|
{{{-6, -3, 17}, 0, {0, 0}, {0x8F, 0xDA, 0x2D, 0x0}}},
|
|
{{{6, -38, 7}, 0, {0, 0}, {0xAD, 0xAA, 0x2B, 0x0}}},
|
|
{{{20, -46, 12}, 0, {0, 0}, {0x26, 0x9D, 0x46, 0x0}}},
|
|
{{{26, -32, 6}, 0, {0, 0}, {0x34, 0xA5, 0x48, 0x0}}},
|
|
{{{11, 5, 17}, 0, {0, 0}, {0xFF, 0x1B, 0x7C, 0x0}}},
|
|
{{{26, 16, 28}, 0, {0, 0}, {0xDA, 0xC, 0x79, 0x0}}},
|
|
{{{45, -34, 10}, 0, {0, 0}, {0xFE, 0x99, 0x4B, 0x0}}},
|
|
{{{41, -37, -36}, 0, {0, 0}, {0xD8, 0x9A, 0xBF, 0x0}}},
|
|
{{{89, -47, -37}, 0, {0, 0}, {0x57, 0xA9, 0xDF, 0x0}}},
|
|
{{{76, -18, -48}, 0, {0, 0}, {0x27, 0xA, 0x87, 0x0}}},
|
|
{{{25, -1, -44}, 0, {0, 0}, {0xE4, 0xE0, 0x88, 0x0}}},
|
|
{{{26, 41, -41}, 0, {0, 0}, {0x5, 0x34, 0x8C, 0x0}}},
|
|
{{{11, 29, -52}, 0, {0, 0}, {0xB9, 0x2A, 0x9F, 0x0}}},
|
|
{{{1, 15, -37}, 0, {0, 0}, {0xD2, 0x9, 0x8A, 0x0}}},
|
|
{{{-3, 35, -9}, 0, {0, 0}, {0xCD, 0x73, 0x13, 0x0}}},
|
|
{{{-3, 35, -9}, 0, {0, 0}, {0xCD, 0x73, 0x13, 0x0}}},
|
|
{{{6, 53, -9}, 0, {0, 0}, {0xAF, 0x61, 0x0, 0x0}}},
|
|
{{{11, 29, -52}, 0, {0, 0}, {0xB9, 0x2A, 0x9F, 0x0}}},
|
|
{{{26, 16, 28}, 0, {0, 0}, {0xDA, 0xC, 0x79, 0x0}}},
|
|
{{{11, 5, 17}, 0, {0, 0}, {0xFF, 0x1B, 0x7C, 0x0}}},
|
|
{{{2, 3, 26}, 0, {0, 0}, {0xF5, 0x17, 0x7C, 0x0}}},
|
|
{{{-17, 40, -8}, 0, {0, 0}, {0xBC, 0x69, 0x16, 0x0}}},
|
|
{{{-20, 22, -7}, 0, {0, 0}, {0x83, 0x6, 0x14, 0x0}}},
|
|
{{{-6, -3, 17}, 0, {0, 0}, {0x8F, 0xDA, 0x2D, 0x0}}},
|
|
{{{-15, 4, -32}, 0, {0, 0}, {0x88, 0xDD, 0xE7, 0x0}}},
|
|
{{{70, 89, -20}, 0, {0, 0}, {0xEC, 0x7D, 0xF6, 0x0}}},
|
|
{{{77, 41, 21}, 0, {0, 0}, {0x1D, 0x2A, 0x74, 0x0}}},
|
|
{{{83, -17, 10}, 0, {0, 0}, {0x4E, 0xBC, 0x4B, 0x0}}},
|
|
{{{45, -34, 10}, 0, {0, 0}, {0xFE, 0x99, 0x4B, 0x0}}},
|
|
{{{89, -47, -37}, 0, {0, 0}, {0x57, 0xA9, 0xDF, 0x0}}},
|
|
{{{89, -6, -27}, 0, {0, 0}, {0x5D, 0xF5, 0xAA, 0x0}}},
|
|
{{{76, -18, -48}, 0, {0, 0}, {0x27, 0xA, 0x87, 0x0}}},
|
|
{{{89, -6, -27}, 0, {0, 0}, {0x5D, 0xF5, 0xAA, 0x0}}},
|
|
{{{89, -47, -37}, 0, {0, 0}, {0x57, 0xA9, 0xDF, 0x0}}},
|
|
{{{69, 10, -36}, 0, {0, 0}, {0x35, 0x1C, 0x90, 0x0}}},
|
|
{{{26, 41, -41}, 0, {0, 0}, {0x5, 0x34, 0x8C, 0x0}}},
|
|
{{{78, 59, -34}, 0, {0, 0}, {0xFE, 0xB, 0x81, 0x0}}},
|
|
{{{70, 89, -20}, 0, {0, 0}, {0xEC, 0x7D, 0xF6, 0x0}}},
|
|
{{{6, 53, -9}, 0, {0, 0}, {0xAF, 0x61, 0x0, 0x0}}},
|
|
{{{11, 29, -52}, 0, {0, 0}, {0xB9, 0x2A, 0x9F, 0x0}}},
|
|
{{{119, 70, -42}, 0, {0, 0}, {0x3D, 0x44, 0xA8, 0x0}}},
|
|
{{{133, 28, -40}, 0, {0, 0}, {0x46, 0xC9, 0xA5, 0x0}}},
|
|
{{{141, 34, -7}, 0, {0, 0}, {0x78, 0xC, 0x29, 0x0}}},
|
|
{{{121, 73, -21}, 0, {0, 0}, {0x47, 0x60, 0x2B, 0x0}}},
|
|
{{{77, 41, 21}, 0, {0, 0}, {0x1D, 0x2A, 0x74, 0x0}}},
|
|
{{{83, -17, 10}, 0, {0, 0}, {0x4E, 0xBC, 0x4B, 0x0}}},
|
|
};
|
|
|
|
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, 3, 2, 0),
|
|
gsSP1Triangle(4, 3, 1, 0),
|
|
gsSP1Triangle(5, 4, 1, 0),
|
|
gsSP1Triangle(6, 5, 1, 0),
|
|
gsSP1Triangle(1, 7, 6, 0),
|
|
gsSP1Triangle(6, 7, 8, 0),
|
|
gsSP1Triangle(7, 9, 8, 0),
|
|
gsSP1Triangle(7, 10, 9, 0),
|
|
gsSP1Triangle(2, 10, 7, 0),
|
|
gsSP1Triangle(11, 10, 2, 0),
|
|
gsSP1Triangle(2, 12, 11, 0),
|
|
gsSP1Triangle(2, 13, 12, 0),
|
|
gsSP1Triangle(2, 14, 13, 0),
|
|
gsSP1Triangle(3, 14, 2, 0),
|
|
gsSP1Triangle(15, 14, 3, 0),
|
|
gsSP1Triangle(3, 4, 15, 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(4, 5, 0, 0),
|
|
gsSP1Triangle(6, 5, 4, 0),
|
|
gsSP1Triangle(4, 7, 6, 0),
|
|
gsSP1Triangle(4, 8, 7, 0),
|
|
gsSP1Triangle(7, 8, 9, 0),
|
|
gsSP1Triangle(9, 8, 10, 0),
|
|
gsSP1Triangle(8, 11, 10, 0),
|
|
gsSP1Triangle(10, 11, 12, 0),
|
|
gsSP1Triangle(11, 13, 12, 0),
|
|
gsSP1Triangle(14, 13, 11, 0),
|
|
gsSP1Triangle(13, 14, 15, 0),
|
|
gsSPVertex(luigi_left_hand_open_shared_dl_vertex + 32, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(0, 3, 1, 0),
|
|
gsSP1Triangle(0, 4, 3, 0),
|
|
gsSP1Triangle(5, 4, 0, 0),
|
|
gsSP1Triangle(0, 6, 5, 0),
|
|
gsSP1Triangle(6, 7, 5, 0),
|
|
gsSP1Triangle(7, 8, 5, 0),
|
|
gsSP1Triangle(8, 7, 9, 0),
|
|
gsSP1Triangle(3, 10, 1, 0),
|
|
gsSP1Triangle(3, 11, 10, 0),
|
|
gsSP1Triangle(12, 11, 3, 0),
|
|
gsSP1Triangle(13, 12, 3, 0),
|
|
gsSP1Triangle(14, 12, 13, 0),
|
|
gsSP1Triangle(14, 15, 12, 0),
|
|
gsSPVertex(luigi_left_hand_open_shared_dl_vertex + 48, 15, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(0, 3, 1, 0),
|
|
gsSP1Triangle(0, 4, 3, 0),
|
|
gsSP1Triangle(4, 5, 3, 0),
|
|
gsSP1Triangle(6, 5, 4, 0),
|
|
gsSP1Triangle(4, 7, 6, 0),
|
|
gsSP1Triangle(7, 4, 8, 0),
|
|
gsSP1Triangle(9, 5, 6, 0),
|
|
gsSP1Triangle(5, 9, 10, 0),
|
|
gsSP1Triangle(9, 11, 10, 0),
|
|
gsSP1Triangle(12, 11, 9, 0),
|
|
gsSP1Triangle(6, 12, 9, 0),
|
|
gsSP1Triangle(12, 6, 13, 0),
|
|
gsSP1Triangle(11, 12, 13, 0),
|
|
gsSP1Triangle(14, 11, 13, 0),
|
|
gsSP1Triangle(10, 11, 14, 0),
|
|
gsSP1Triangle(1, 10, 14, 0),
|
|
gsSP1Triangle(5, 10, 1, 0),
|
|
gsSP1Triangle(3, 5, 1, 0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
const Gfx luigi_left_hand_open[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
|
|
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[61] = {
|
|
{{{75, 11, 32}, 0, {0, 0}, {0x3C, 0x23, 0x6A, 0x0}}},
|
|
{{{84, 59, 25}, 0, {0, 0}, {0x4, 0x15, 0x7D, 0x0}}},
|
|
{{{34, 43, 36}, 0, {0, 0}, {0xC, 0x3D, 0x6F, 0x0}}},
|
|
{{{76, 88, 9}, 0, {0, 0}, {0xEF, 0x7E, 0x0, 0x0}}},
|
|
{{{124, 69, 30}, 0, {0, 0}, {0x45, 0x4A, 0x4E, 0x0}}},
|
|
{{{136, 28, 31}, 0, {0, 0}, {0x4A, 0xCF, 0x5B, 0x0}}},
|
|
{{{93, -5, 22}, 0, {0, 0}, {0x62, 0xFA, 0x51, 0x0}}},
|
|
{{{75, 11, 32}, 0, {0, 0}, {0x3D, 0x23, 0x6A, 0x0}}},
|
|
{{{81, -15, 45}, 0, {0, 0}, {0x2F, 0x13, 0x75, 0x0}}},
|
|
{{{32, 2, 43}, 0, {0, 0}, {0xE9, 0xEB, 0x7B, 0x0}}},
|
|
{{{20, 33, 48}, 0, {0, 0}, {0xBF, 0x32, 0x61, 0x0}}},
|
|
{{{13, 53, 5}, 0, {0, 0}, {0xB0, 0x63, 0xFC, 0x0}}},
|
|
{{{30, 13, -30}, 0, {0, 0}, {0xD3, 0x3, 0x89, 0x0}}},
|
|
{{{81, 37, -28}, 0, {0, 0}, {0x18, 0x20, 0x87, 0x0}}},
|
|
{{{125, 71, 9}, 0, {0, 0}, {0x47, 0x5B, 0xCB, 0x0}}},
|
|
{{{143, 31, -1}, 0, {0, 0}, {0x76, 0x6, 0xD2, 0x0}}},
|
|
{{{86, -19, -13}, 0, {0, 0}, {0x49, 0xB6, 0xB8, 0x0}}},
|
|
{{{143, 31, -1}, 0, {0, 0}, {0x76, 0x6, 0xD2, 0x0}}},
|
|
{{{136, 28, 31}, 0, {0, 0}, {0x4A, 0xCF, 0x5B, 0x0}}},
|
|
{{{93, -5, 22}, 0, {0, 0}, {0x62, 0xFA, 0x51, 0x0}}},
|
|
{{{93, -45, 36}, 0, {0, 0}, {0x58, 0xAB, 0x23, 0x0}}},
|
|
{{{81, -15, 45}, 0, {0, 0}, {0x2F, 0x13, 0x75, 0x0}}},
|
|
{{{46, -35, 37}, 0, {0, 0}, {0xD8, 0xA1, 0x4B, 0x0}}},
|
|
{{{32, 2, 43}, 0, {0, 0}, {0xE9, 0xEB, 0x7B, 0x0}}},
|
|
{{{26, -24, 28}, 0, {0, 0}, {0xD, 0xC8, 0x71, 0x0}}},
|
|
{{{9, 18, 35}, 0, {0, 0}, {0xD8, 0x13, 0x77, 0x0}}},
|
|
{{{20, 33, 48}, 0, {0, 0}, {0xBF, 0x32, 0x61, 0x0}}},
|
|
{{{3, 36, 6}, 0, {0, 0}, {0xCE, 0x72, 0xE6, 0x0}}},
|
|
{{{13, 53, 5}, 0, {0, 0}, {0xB0, 0x63, 0xFC, 0x0}}},
|
|
{{{30, 13, -30}, 0, {0, 0}, {0xD3, 0x3, 0x89, 0x0}}},
|
|
{{{16, 4, -17}, 0, {0, 0}, {0xF9, 0x11, 0x82, 0x0}}},
|
|
{{{30, -32, -4}, 0, {0, 0}, {0x2F, 0x9E, 0xBE, 0x0}}},
|
|
{{{30, 13, -30}, 0, {0, 0}, {0xD3, 0x3, 0x89, 0x0}}},
|
|
{{{48, -35, -9}, 0, {0, 0}, {0xF7, 0x94, 0xBE, 0x0}}},
|
|
{{{30, -32, -4}, 0, {0, 0}, {0x2F, 0x9E, 0xBE, 0x0}}},
|
|
{{{86, -19, -13}, 0, {0, 0}, {0x49, 0xB6, 0xB8, 0x0}}},
|
|
{{{81, 37, -28}, 0, {0, 0}, {0x18, 0x20, 0x87, 0x0}}},
|
|
{{{143, 31, -1}, 0, {0, 0}, {0x76, 0x6, 0xD2, 0x0}}},
|
|
{{{125, 71, 9}, 0, {0, 0}, {0x47, 0x5B, 0xCB, 0x0}}},
|
|
{{{93, -45, 36}, 0, {0, 0}, {0x58, 0xAB, 0x23, 0x0}}},
|
|
{{{46, -35, 37}, 0, {0, 0}, {0xD8, 0xA1, 0x4B, 0x0}}},
|
|
{{{26, -24, 28}, 0, {0, 0}, {0xD, 0xC8, 0x71, 0x0}}},
|
|
{{{19, -36, 33}, 0, {0, 0}, {0x1A, 0x9F, 0x4E, 0x0}}},
|
|
{{{-1, 18, 42}, 0, {0, 0}, {0xD9, 0x23, 0x74, 0x0}}},
|
|
{{{9, 18, 35}, 0, {0, 0}, {0xD8, 0x13, 0x77, 0x0}}},
|
|
{{{3, 36, 6}, 0, {0, 0}, {0xCE, 0x72, 0xE6, 0x0}}},
|
|
{{{-9, 41, 5}, 0, {0, 0}, {0xBB, 0x67, 0xE5, 0x0}}},
|
|
{{{7, 1, -26}, 0, {0, 0}, {0xEE, 0xD, 0x83, 0x0}}},
|
|
{{{3, 36, 6}, 0, {0, 0}, {0xCE, 0x72, 0xE6, 0x0}}},
|
|
{{{16, 4, -17}, 0, {0, 0}, {0xF9, 0x11, 0x82, 0x0}}},
|
|
{{{7, 1, -26}, 0, {0, 0}, {0xEE, 0xD, 0x83, 0x0}}},
|
|
{{{30, -32, -4}, 0, {0, 0}, {0x2F, 0x9E, 0xBE, 0x0}}},
|
|
{{{25, -46, -9}, 0, {0, 0}, {0x21, 0x97, 0xC1, 0x0}}},
|
|
{{{19, -36, 33}, 0, {0, 0}, {0x1A, 0x9F, 0x4E, 0x0}}},
|
|
{{{11, -38, -3}, 0, {0, 0}, {0xA9, 0xAA, 0xE0, 0x0}}},
|
|
{{{7, -30, 26}, 0, {0, 0}, {0x9A, 0xC0, 0x29, 0x0}}},
|
|
{{{-1, 18, 42}, 0, {0, 0}, {0xD9, 0x23, 0x74, 0x0}}},
|
|
{{{-7, 7, 32}, 0, {0, 0}, {0x89, 0xE2, 0x20, 0x0}}},
|
|
{{{-12, 23, 6}, 0, {0, 0}, {0x82, 0x7, 0xF1, 0x0}}},
|
|
{{{-9, 41, 5}, 0, {0, 0}, {0xBB, 0x67, 0xE5, 0x0}}},
|
|
{{{0, -4, -15}, 0, {0, 0}, {0x8C, 0xDA, 0xDC, 0x0}}},
|
|
};
|
|
|
|
const Gfx luigi_right_hand_open_dl[] = {
|
|
gsSPVertex(luigi_right_hand_open_dl_vertex + 0, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(2, 1, 3, 0),
|
|
gsSP1Triangle(3, 1, 4, 0),
|
|
gsSP1Triangle(5, 4, 1, 0),
|
|
gsSP1Triangle(6, 5, 1, 0),
|
|
gsSP1Triangle(6, 1, 7, 0),
|
|
gsSP1Triangle(6, 7, 8, 0),
|
|
gsSP1Triangle(7, 2, 8, 0),
|
|
gsSP1Triangle(2, 9, 8, 0),
|
|
gsSP1Triangle(2, 10, 9, 0),
|
|
gsSP1Triangle(10, 2, 11, 0),
|
|
gsSP1Triangle(3, 11, 2, 0),
|
|
gsSP1Triangle(11, 3, 12, 0),
|
|
gsSP1Triangle(3, 13, 12, 0),
|
|
gsSP1Triangle(13, 3, 14, 0),
|
|
gsSP1Triangle(4, 14, 3, 0),
|
|
gsSP1Triangle(4, 15, 14, 0),
|
|
gsSP1Triangle(5, 15, 4, 0),
|
|
gsSPVertex(luigi_right_hand_open_dl_vertex + 16, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(0, 2, 3, 0),
|
|
gsSP1Triangle(0, 3, 4, 0),
|
|
gsSP1Triangle(4, 3, 5, 0),
|
|
gsSP1Triangle(5, 6, 4, 0),
|
|
gsSP1Triangle(5, 7, 6, 0),
|
|
gsSP1Triangle(6, 7, 8, 0),
|
|
gsSP1Triangle(7, 9, 8, 0),
|
|
gsSP1Triangle(7, 10, 9, 0),
|
|
gsSP1Triangle(11, 9, 10, 0),
|
|
gsSP1Triangle(10, 12, 11, 0),
|
|
gsSP1Triangle(12, 13, 11, 0),
|
|
gsSP1Triangle(13, 14, 11, 0),
|
|
gsSP1Triangle(15, 14, 13, 0),
|
|
gsSPVertex(luigi_right_hand_open_dl_vertex + 32, 16, 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(1, 3, 7, 0),
|
|
gsSP1Triangle(7, 8, 1, 0),
|
|
gsSP1Triangle(1, 8, 2, 0),
|
|
gsSP1Triangle(8, 9, 2, 0),
|
|
gsSP1Triangle(2, 9, 10, 0),
|
|
gsSP1Triangle(11, 10, 9, 0),
|
|
gsSP1Triangle(9, 12, 11, 0),
|
|
gsSP1Triangle(11, 12, 13, 0),
|
|
gsSP1Triangle(13, 14, 11, 0),
|
|
gsSP1Triangle(15, 14, 13, 0),
|
|
gsSPVertex(luigi_right_hand_open_dl_vertex + 48, 13, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(2, 1, 3, 0),
|
|
gsSP1Triangle(3, 4, 2, 0),
|
|
gsSP1Triangle(5, 4, 3, 0),
|
|
gsSP1Triangle(5, 6, 4, 0),
|
|
gsSP1Triangle(5, 7, 6, 0),
|
|
gsSP1Triangle(8, 7, 5, 0),
|
|
gsSP1Triangle(8, 9, 7, 0),
|
|
gsSP1Triangle(10, 9, 8, 0),
|
|
gsSP1Triangle(11, 10, 8, 0),
|
|
gsSP1Triangle(2, 10, 11, 0),
|
|
gsSP1Triangle(2, 12, 10, 0),
|
|
gsSP1Triangle(6, 12, 2, 0),
|
|
gsSP1Triangle(4, 6, 2, 0),
|
|
gsSP1Triangle(12, 6, 7, 0),
|
|
gsSP1Triangle(7, 9, 12, 0),
|
|
gsSP1Triangle(9, 10, 12, 0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
const Gfx luigi_right_hand_open[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
|
|
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] = {
|
|
{{{131, 47, -1}, 0, {1104, 228}, {0xD7, 0x60, 0xB8, 0xFE}}},
|
|
{{{107, -19, -33}, 0, {474, 32}, {0xD1, 0xE, 0x8B, 0xFE}}},
|
|
{{{78, 11, 40}, 0, {772, 818}, {0xD0, 0x3E, 0x9C, 0xFE}}},
|
|
{{{70, -52, 35}, 0, {196, 800}, {0xC5, 0xDE, 0x95, 0xFE}}},
|
|
{{{114, -92, -11}, 0, {-148, 188}, {0xC3, 0xB7, 0xAB, 0xFE}}},
|
|
};
|
|
|
|
static const Vtx luigi_right_hand_cap_hand_position_dl_vertex[46] = {
|
|
{{{1, 24, 35}, 0, {0, 0}, {0xD4, 0x3C, 0x67, 0xFE}}},
|
|
{{{29, 7, 48}, 0, {0, 0}, {0xC2, 0xFA, 0x6F, 0xFE}}},
|
|
{{{29, 62, 34}, 0, {0, 0}, {0xCD, 0x4D, 0x58, 0xFE}}},
|
|
{{{23, -25, 35}, 0, {0, 0}, {0x4, 0xC2, 0x6F, 0xFE}}},
|
|
{{{-13, 26, 41}, 0, {0, 0}, {0xEE, 0x3C, 0x6F, 0xFE}}},
|
|
{{{-2, 41, 0}, 0, {0, 0}, {0xEE, 0x72, 0xCA, 0xFE}}},
|
|
{{{11, 60, -3}, 0, {0, 0}, {0xAA, 0x5A, 0xE6, 0xFE}}},
|
|
{{{58, 81, 0}, 0, {0, 0}, {0x13, 0x7B, 0xE8, 0xFE}}},
|
|
{{{54, 54, 44}, 0, {0, 0}, {0x1F, 0x51, 0x5D, 0xFE}}},
|
|
{{{56, 11, 65}, 0, {0, 0}, {0xFC, 0x1B, 0x7C, 0xFE}}},
|
|
{{{75, -32, 65}, 0, {0, 0}, {0x8, 0xAE, 0x61, 0xFE}}},
|
|
{{{55, -43, -3}, 0, {0, 0}, {0x0, 0x85, 0xE0, 0xFE}}},
|
|
{{{31, -39, 0}, 0, {0, 0}, {0x42, 0xA2, 0xCA, 0xFE}}},
|
|
{{{13, -37, 41}, 0, {0, 0}, {0x12, 0xB0, 0x61, 0xFE}}},
|
|
{{{-15, -12, 7}, 0, {0, 0}, {0x8B, 0xCF, 0xF8, 0xFE}}},
|
|
{{{-19, 47, -4}, 0, {0, 0}, {0xAC, 0x55, 0xD3, 0xFE}}},
|
|
{{{4, -3, -32}, 0, {0, 0}, {0x11, 0x6, 0x82, 0xFE}}},
|
|
{{{-19, 47, -4}, 0, {0, 0}, {0xAC, 0x55, 0xD3, 0xFE}}},
|
|
{{{-2, 41, 0}, 0, {0, 0}, {0xEE, 0x72, 0xCA, 0xFE}}},
|
|
{{{16, 1, -22}, 0, {0, 0}, {0x4, 0x0, 0x81, 0xFE}}},
|
|
{{{35, 9, -36}, 0, {0, 0}, {0xE4, 0xF4, 0x85, 0xFE}}},
|
|
{{{11, 60, -3}, 0, {0, 0}, {0xAA, 0x5A, 0xE6, 0xFE}}},
|
|
{{{58, 81, 0}, 0, {0, 0}, {0x13, 0x7B, 0xE8, 0xFE}}},
|
|
{{{85, 30, -32}, 0, {0, 0}, {0x4F, 0x21, 0xA2, 0xFE}}},
|
|
{{{96, 39, 24}, 0, {0, 0}, {0x6C, 0x3A, 0x21, 0xFE}}},
|
|
{{{54, 54, 44}, 0, {0, 0}, {0x1F, 0x51, 0x5D, 0xFE}}},
|
|
{{{85, 15, 52}, 0, {0, 0}, {0x40, 0x30, 0x63, 0xFE}}},
|
|
{{{56, 11, 65}, 0, {0, 0}, {0xFC, 0x1B, 0x7C, 0xFE}}},
|
|
{{{95, -8, 52}, 0, {0, 0}, {0x60, 0x6, 0x52, 0xFE}}},
|
|
{{{75, -32, 65}, 0, {0, 0}, {0x8, 0xAE, 0x61, 0xFE}}},
|
|
{{{103, -25, 1}, 0, {0, 0}, {0x68, 0xC4, 0xD6, 0xFE}}},
|
|
{{{55, -43, -3}, 0, {0, 0}, {0x0, 0x85, 0xE0, 0xFE}}},
|
|
{{{35, 9, -36}, 0, {0, 0}, {0xE4, 0xF4, 0x85, 0xFE}}},
|
|
{{{55, -43, -3}, 0, {0, 0}, {0x0, 0x85, 0xE0, 0xFE}}},
|
|
{{{31, -39, 0}, 0, {0, 0}, {0x42, 0xA2, 0xCA, 0xFE}}},
|
|
{{{16, 1, -22}, 0, {0, 0}, {0x4, 0x0, 0x81, 0xFE}}},
|
|
{{{4, -3, -32}, 0, {0, 0}, {0x11, 0x6, 0x82, 0xFE}}},
|
|
{{{24, -55, -4}, 0, {0, 0}, {0x4, 0x8A, 0xD1, 0xFE}}},
|
|
{{{13, -37, 41}, 0, {0, 0}, {0x12, 0xB0, 0x61, 0xFE}}},
|
|
{{{-15, -12, 7}, 0, {0, 0}, {0x8B, 0xCF, 0xF8, 0xFE}}},
|
|
{{{-19, 47, -4}, 0, {0, 0}, {0xAC, 0x55, 0xD3, 0xFE}}},
|
|
{{{85, 30, -32}, 0, {0, 0}, {0x4F, 0x21, 0xA2, 0xFE}}},
|
|
{{{103, -25, 1}, 0, {0, 0}, {0x68, 0xC4, 0xD6, 0xFE}}},
|
|
{{{96, 39, 24}, 0, {0, 0}, {0x6C, 0x3A, 0x21, 0xFE}}},
|
|
{{{95, -8, 52}, 0, {0, 0}, {0x60, 0x6, 0x52, 0xFE}}},
|
|
{{{85, 15, 52}, 0, {0, 0}, {0x40, 0x30, 0x63, 0xFE}}},
|
|
};
|
|
|
|
static const Vtx luigi_right_hand_cap_top_dl_vertex[51] = {
|
|
{{{192, 11, -2}, 0, {0, 0}, {0x4C, 0x29, 0xA2, 0xFE}}},
|
|
{{{107, -19, -33}, 0, {0, 0}, {0xD1, 0xE, 0x8B, 0xFE}}},
|
|
{{{131, 47, -1}, 0, {0, 0}, {0xD7, 0x60, 0xB8, 0xFE}}},
|
|
{{{182, -72, -8}, 0, {0, 0}, {0x4E, 0xD9, 0xA3, 0xFE}}},
|
|
{{{192, 11, -2}, 0, {0, 0}, {0x4B, 0x29, 0xA2, 0xFE}}},
|
|
{{{114, -92, -11}, 0, {0, 0}, {0xC3, 0xB7, 0xAB, 0xFE}}},
|
|
{{{151, -168, 67}, 0, {0, 0}, {0xF4, 0x87, 0xDC, 0xFE}}},
|
|
{{{228, -121, 117}, 0, {0, 0}, {0x67, 0xCD, 0xCB, 0xFE}}},
|
|
{{{246, 29, 128}, 0, {0, 0}, {0x73, 0x20, 0xD4, 0xFE}}},
|
|
{{{183, 100, 86}, 0, {0, 0}, {0x11, 0x7C, 0xED, 0xFE}}},
|
|
{{{211, 81, 156}, 0, {0, 0}, {0x22, 0x6D, 0x37, 0xFE}}},
|
|
{{{160, 65, 148}, 0, {0, 0}, {0xB3, 0x47, 0x47, 0xFE}}},
|
|
{{{129, 65, 103}, 0, {0, 0}, {0xA6, 0x51, 0x27, 0xFE}}},
|
|
{{{78, 11, 40}, 0, {0, 0}, {0xD0, 0x3E, 0x9C, 0xFE}}},
|
|
{{{45, 49, 53}, 0, {0, 0}, {0xA7, 0x5B, 0xA, 0xFE}}},
|
|
{{{18, -13, 33}, 0, {0, 0}, {0x83, 0x10, 0xED, 0xFE}}},
|
|
{{{70, -52, 35}, 0, {0, 0}, {0xC5, 0xDE, 0x95, 0xFE}}},
|
|
{{{18, -13, 33}, 0, {0, 0}, {0x83, 0x10, 0xED, 0xFE}}},
|
|
{{{78, 11, 40}, 0, {0, 0}, {0xD0, 0x3E, 0x9C, 0xFE}}},
|
|
{{{29, -82, 43}, 0, {0, 0}, {0x94, 0xBD, 0x0, 0xFE}}},
|
|
{{{106, -124, 90}, 0, {0, 0}, {0x9D, 0xB1, 0x9, 0xFE}}},
|
|
{{{114, -92, -11}, 0, {0, 0}, {0xC3, 0xB7, 0xAB, 0xFE}}},
|
|
{{{151, -168, 67}, 0, {0, 0}, {0xF4, 0x87, 0xDC, 0xFE}}},
|
|
{{{137, -137, 134}, 0, {0, 0}, {0x9E, 0xDF, 0x4A, 0xFE}}},
|
|
{{{181, -167, 138}, 0, {0, 0}, {0x6, 0x87, 0x26, 0xFE}}},
|
|
{{{228, -121, 117}, 0, {0, 0}, {0x67, 0xCD, 0xCB, 0xFE}}},
|
|
{{{273, -105, 188}, 0, {0, 0}, {0x60, 0xBF, 0x34, 0xFE}}},
|
|
{{{285, -6, 196}, 0, {0, 0}, {0x7A, 0x23, 0xB, 0xFE}}},
|
|
{{{246, 29, 128}, 0, {0, 0}, {0x73, 0x20, 0xD4, 0xFE}}},
|
|
{{{211, 81, 156}, 0, {0, 0}, {0x22, 0x6D, 0x37, 0xFE}}},
|
|
{{{228, 1, 228}, 0, {0, 0}, {0x14, 0x22, 0x79, 0xFE}}},
|
|
{{{192, 42, 190}, 0, {0, 0}, {0xB2, 0x23, 0x5E, 0xFE}}},
|
|
{{{192, 42, 190}, 0, {0, 0}, {0xB2, 0x23, 0x5E, 0xFE}}},
|
|
{{{211, 81, 156}, 0, {0, 0}, {0x22, 0x6D, 0x37, 0xFE}}},
|
|
{{{160, 65, 148}, 0, {0, 0}, {0xB3, 0x47, 0x47, 0xFE}}},
|
|
{{{273, -105, 188}, 0, {0, 0}, {0x60, 0xBF, 0x34, 0xFE}}},
|
|
{{{285, -6, 196}, 0, {0, 0}, {0x7A, 0x23, 0xB, 0xFE}}},
|
|
{{{228, 1, 228}, 0, {0, 0}, {0x14, 0x22, 0x79, 0xFE}}},
|
|
{{{216, -104, 220}, 0, {0, 0}, {0xE5, 0xCC, 0x71, 0xFE}}},
|
|
{{{181, -167, 138}, 0, {0, 0}, {0x6, 0x87, 0x26, 0xFE}}},
|
|
{{{171, -129, 178}, 0, {0, 0}, {0xB2, 0xD1, 0x59, 0xFE}}},
|
|
{{{137, -137, 134}, 0, {0, 0}, {0x9E, 0xDF, 0x4A, 0xFE}}},
|
|
{{{65, -53, 55}, 0, {0, 0}, {0xB6, 0x1, 0x67, 0xFE}}},
|
|
{{{29, -82, 43}, 0, {0, 0}, {0x94, 0xBD, 0x0, 0xFE}}},
|
|
{{{106, -124, 90}, 0, {0, 0}, {0x9D, 0xB1, 0x9, 0xFE}}},
|
|
{{{18, -13, 33}, 0, {0, 0}, {0x83, 0x10, 0xED, 0xFE}}},
|
|
{{{73, 11, 60}, 0, {0, 0}, {0xBB, 0xFB, 0x6B, 0xFE}}},
|
|
{{{45, 49, 53}, 0, {0, 0}, {0xA7, 0x5B, 0xA, 0xFE}}},
|
|
{{{129, 65, 103}, 0, {0, 0}, {0xA6, 0x51, 0x27, 0xFE}}},
|
|
{{{45, 49, 53}, 0, {0, 0}, {0xA7, 0x5B, 0xA, 0xFE}}},
|
|
{{{73, 11, 60}, 0, {0, 0}, {0xBB, 0xFB, 0x6B, 0xFE}}},
|
|
};
|
|
|
|
static const Vtx luigi_right_hand_cap_bottom_dl_vertex[10] = {
|
|
{{{65, -53, 55}, 0, {0, 0}, {0xB6, 0x1, 0x67, 0xFE}}},
|
|
{{{106, -124, 90}, 0, {0, 0}, {0x9D, 0xB1, 0x9, 0xFE}}},
|
|
{{{137, -137, 134}, 0, {0, 0}, {0x9E, 0xDF, 0x4A, 0xFE}}},
|
|
{{{73, 11, 60}, 0, {0, 0}, {0xBB, 0xFB, 0x6B, 0xFE}}},
|
|
{{{129, 65, 103}, 0, {0, 0}, {0xA6, 0x51, 0x27, 0xFE}}},
|
|
{{{160, 65, 148}, 0, {0, 0}, {0xB3, 0x47, 0x47, 0xFE}}},
|
|
{{{192, 42, 190}, 0, {0, 0}, {0xB2, 0x23, 0x5E, 0xFE}}},
|
|
{{{171, -129, 178}, 0, {0, 0}, {0xB2, 0xD1, 0x59, 0xFE}}},
|
|
{{{216, -104, 220}, 0, {0, 0}, {0xE5, 0xCC, 0x71, 0xFE}}},
|
|
{{{228, 1, 228}, 0, {0, 0}, {0x14, 0x22, 0x79, 0xFE}}},
|
|
};
|
|
|
|
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(1, 3, 2, 0),
|
|
gsSP1Triangle(1, 4, 3, 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, 4, 0),
|
|
gsSP1Triangle(5, 1, 3, 0),
|
|
gsSP1Triangle(3, 6, 5, 0),
|
|
gsSP1Triangle(7, 6, 3, 0),
|
|
gsSP1Triangle(7, 3, 8, 0),
|
|
gsSP1Triangle(3, 0, 8, 0),
|
|
gsSP1Triangle(0, 9, 8, 0),
|
|
gsSP1Triangle(10, 8, 9, 0),
|
|
gsSP1Triangle(11, 10, 9, 0),
|
|
gsSP1Triangle(9, 12, 11, 0),
|
|
gsSP1Triangle(9, 2, 12, 0),
|
|
gsSP1Triangle(2, 9, 4, 0),
|
|
gsSP1Triangle(13, 12, 2, 0),
|
|
gsSP1Triangle(13, 14, 12, 0),
|
|
gsSP1Triangle(13, 15, 14, 0),
|
|
gsSPVertex(luigi_right_hand_cap_top_dl_vertex + 16, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(3, 1, 0, 0),
|
|
gsSP1Triangle(3, 0, 4, 0),
|
|
gsSP1Triangle(5, 4, 0, 0),
|
|
gsSP1Triangle(4, 5, 6, 0),
|
|
gsSP1Triangle(4, 6, 7, 0),
|
|
gsSP1Triangle(6, 8, 7, 0),
|
|
gsSP1Triangle(6, 9, 8, 0),
|
|
gsSP1Triangle(9, 10, 8, 0),
|
|
gsSP1Triangle(11, 10, 9, 0),
|
|
gsSP1Triangle(9, 12, 11, 0),
|
|
gsSP1Triangle(13, 11, 12, 0),
|
|
gsSP1Triangle(14, 11, 13, 0),
|
|
gsSP1Triangle(14, 13, 15, 0),
|
|
gsSPVertex(luigi_right_hand_cap_top_dl_vertex + 32, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(3, 4, 5, 0),
|
|
gsSP1Triangle(6, 3, 5, 0),
|
|
gsSP1Triangle(7, 3, 6, 0),
|
|
gsSP1Triangle(8, 7, 6, 0),
|
|
gsSP1Triangle(9, 7, 8, 0),
|
|
gsSP1Triangle(10, 11, 12, 0),
|
|
gsSP1Triangle(10, 13, 11, 0),
|
|
gsSP1Triangle(10, 14, 13, 0),
|
|
gsSP1Triangle(15, 13, 14, 0),
|
|
gsSPVertex(luigi_right_hand_cap_top_dl_vertex + 48, 3, 0),
|
|
gsSP1Triangle(0, 1, 2, 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(1, 0, 3, 0),
|
|
gsSP1Triangle(3, 0, 4, 0),
|
|
gsSP1Triangle(4, 0, 5, 0),
|
|
gsSP1Triangle(6, 5, 0, 0),
|
|
gsSP1Triangle(2, 6, 0, 0),
|
|
gsSP1Triangle(7, 6, 2, 0),
|
|
gsSP1Triangle(2, 8, 7, 0),
|
|
gsSP1Triangle(8, 2, 9, 0),
|
|
gsSP1Triangle(2, 1, 9, 0),
|
|
gsSP1Triangle(10, 9, 1, 0),
|
|
gsSP1Triangle(10, 1, 3, 0),
|
|
gsSP1Triangle(11, 10, 3, 0),
|
|
gsSP1Triangle(3, 12, 11, 0),
|
|
gsSP1Triangle(12, 3, 13, 0),
|
|
gsSP1Triangle(4, 13, 3, 0),
|
|
gsSP1Triangle(4, 14, 13, 0),
|
|
gsSP1Triangle(15, 14, 4, 0),
|
|
gsSP1Triangle(5, 15, 4, 0),
|
|
gsSPVertex(luigi_right_hand_cap_hand_position_dl_vertex + 16, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(2, 3, 0, 0),
|
|
gsSP1Triangle(4, 3, 2, 0),
|
|
gsSP1Triangle(5, 4, 2, 0),
|
|
gsSP1Triangle(5, 6, 4, 0),
|
|
gsSP1Triangle(6, 7, 4, 0),
|
|
gsSP1Triangle(6, 8, 7, 0),
|
|
gsSP1Triangle(9, 8, 6, 0),
|
|
gsSP1Triangle(8, 9, 10, 0),
|
|
gsSP1Triangle(10, 9, 11, 0),
|
|
gsSP1Triangle(12, 10, 11, 0),
|
|
gsSP1Triangle(13, 12, 11, 0),
|
|
gsSP1Triangle(14, 12, 13, 0),
|
|
gsSP1Triangle(15, 14, 13, 0),
|
|
gsSP1Triangle(4, 14, 15, 0),
|
|
gsSPVertex(luigi_right_hand_cap_hand_position_dl_vertex + 32, 14, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(2, 3, 0, 0),
|
|
gsSP1Triangle(4, 3, 2, 0),
|
|
gsSP1Triangle(2, 5, 4, 0),
|
|
gsSP1Triangle(6, 5, 2, 0),
|
|
gsSP1Triangle(6, 7, 5, 0),
|
|
gsSP1Triangle(5, 7, 4, 0),
|
|
gsSP1Triangle(4, 7, 8, 0),
|
|
gsSP1Triangle(0, 9, 10, 0),
|
|
gsSP1Triangle(9, 11, 10, 0),
|
|
gsSP1Triangle(10, 11, 12, 0),
|
|
gsSP1Triangle(12, 11, 13, 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_decal[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0, COMBINED, TEXEL0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED),
|
|
gsDPSetCycleType(G_CYC_2CYCLE),
|
|
gsSPTexture(65535, 65535, 0, 0, 1),
|
|
gsDPSetPrimColor(0, 0, 127, 127, 127, 255),
|
|
gsSPLight(&luigi_black_lights_group.l, 1),
|
|
gsSPCopyLightEXT(2, 15),
|
|
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
|
|
gsDPLoadBlock(7, 0, 0, 1023, 256),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
|
|
gsDPSetTileSize(0, 0, 0, 124, 124),
|
|
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_blend),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
|
|
gsDPLoadBlock(6, 0, 0, 1023, 256),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
|
|
gsDPSetTileSize(1, 0, 0, 124, 124),
|
|
gsSPDisplayList(luigi_right_hand_cap_l_logo_dl),
|
|
gsDPSetCycleType(G_CYC_1CYCLE),
|
|
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA),
|
|
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_cap),
|
|
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_SHADE, G_CC_SHADE),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
const Gfx luigi_right_hand_cap_dl[] = {
|
|
gsSPCopyLightsPlayerPart(CAP),
|
|
gsSPDisplayList(luigi_right_hand_cap_top_dl),
|
|
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in luigi_misc.c
|
|
gsSPDisplayList(luigi_right_hand_cap_hand_position_dl),
|
|
gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA),
|
|
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, (8 - 1) << G_TEXTURE_IMAGE_FRAC, (8 - 1) << G_TEXTURE_IMAGE_FRAC),
|
|
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_cap_inside),
|
|
gsDPLoadSync(),
|
|
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 8 * 8 - 1, CALC_DXT(8, G_IM_SIZ_16b_BYTES)),
|
|
gsSPCopyLightsPlayerPart(CAP),
|
|
gsSPDisplayList(luigi_right_hand_cap_bottom_dl),
|
|
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0401AF60
|
|
static const Vtx luigi_right_hand_cap_wings_half_1_dl_vertex[] = {
|
|
{{{ 368, 146, 7}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 166, 37, 68}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 212, 96, 143}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 368, 146, 7}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 322, 87, -67}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 166, 37, 68}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 178, -177, 128}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 149, -100, 60}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 319, -248, -14}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 290, -171, -81}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
|
};
|
|
|
|
// 0x0401B000
|
|
static const Vtx luigi_right_hand_cap_wings_half_2_dl_vertex[] = {
|
|
{{{ 414, 206, 82}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 212, 96, 143}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 258, 156, 218}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 368, 146, 7}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 178, -177, 128}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 319, -248, -14}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 349, -325, 53}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 207, -253, 195}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
|
|
};
|
|
|
|
// 0x0401B080 - 0x0401B0B0
|
|
const Gfx luigi_right_hand_cap_wings_half_1_dl[] = {
|
|
gsSPVertex(luigi_right_hand_cap_wings_half_1_dl_vertex, 10, 0),
|
|
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
|
|
gsSP2Triangles( 6, 7, 8, 0x0, 7, 9, 8, 0x0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0401B0B0 - 0x0401B0E0
|
|
const Gfx luigi_right_hand_cap_wings_half_2_dl[] = {
|
|
gsSPVertex(luigi_right_hand_cap_wings_half_2_dl_vertex, 8, 0),
|
|
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
|
|
gsSP2Triangles( 4, 5, 6, 0x0, 7, 4, 6, 0x0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0401B0E0 - 0x0401B138
|
|
const Gfx luigi_right_hand_cap_wings_intial_dl[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA),
|
|
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
|
|
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_transparent_intial_dl[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA),
|
|
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
|
|
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(),
|
|
};
|
|
|
|
// 0x0401B138 - 0x0401B158
|
|
const Gfx luigi_right_hand_cap_wings_end_dl[] = {
|
|
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
|
gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
const Gfx luigi_right_hand_cap[] = {
|
|
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_right_hand_cap_wings_transparent[] = {
|
|
gsSPDisplayList(luigi_right_hand_cap_wings_transparent_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(),
|
|
};
|
|
|
|
const Gfx luigi_metal_right_hand_cap_shared_dl_wings_transparent[] = {
|
|
gsSPDisplayList(luigi_right_hand_cap_wings_transparent_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[113] = {
|
|
{{{-4, 38, 0}, 0, {0, 0}, {0xD3, 0x67, 0x3C, 0xFE}}},
|
|
{{{0, 21, 37}, 0, {0, 0}, {0xFE, 0x45, 0x6B, 0x0}}},
|
|
{{{18, 30, 41}, 0, {0, 0}, {0xC0, 0x2B, 0x65, 0x0}}},
|
|
{{{84, 60, -7}, 0, {0, 0}, {0xC1, 0x67, 0x28, 0xFE}}},
|
|
{{{84, 48, 24}, 0, {0, 0}, {0xC1, 0x67, 0x28, 0xFE}}},
|
|
{{{126, 84, -3}, 0, {0, 0}, {0xC1, 0x67, 0x28, 0xFE}}},
|
|
{{{146, 59, -8}, 0, {0, 0}, {0x58, 0xA5, 0xF0, 0xFE}}},
|
|
{{{105, 17, 3}, 0, {0, 0}, {0x59, 0xA6, 0xF7, 0xFE}}},
|
|
{{{89, 18, -34}, 0, {0, 0}, {0x52, 0xA5, 0xDD, 0xFE}}},
|
|
{{{146, 59, -8}, 0, {0, 0}, {0x5E, 0x4D, 0x26, 0xFE}}},
|
|
{{{126, 84, -3}, 0, {0, 0}, {0x60, 0x48, 0x2A, 0x0}}},
|
|
{{{123, 72, 21}, 0, {0, 0}, {0x5E, 0x4D, 0x26, 0x0}}},
|
|
{{{123, 72, 21}, 0, {0, 0}, {0xC2, 0x67, 0x29, 0x0}}},
|
|
{{{126, 84, -3}, 0, {0, 0}, {0xC1, 0x67, 0x28, 0x0}}},
|
|
{{{139, 53, 25}, 0, {0, 0}, {0x5C, 0xA8, 0x2, 0xFE}}},
|
|
{{{105, 17, 3}, 0, {0, 0}, {0x59, 0xA6, 0xF7, 0x0}}},
|
|
{{{146, 59, -8}, 0, {0, 0}, {0x58, 0xA5, 0xF0, 0x0}}},
|
|
{{{123, 72, 21}, 0, {0, 0}, {0x5E, 0x4D, 0x26, 0xFE}}},
|
|
{{{139, 53, 25}, 0, {0, 0}, {0x5B, 0x53, 0x21, 0xFE}}},
|
|
{{{146, 59, -8}, 0, {0, 0}, {0x5E, 0x4D, 0x26, 0xFE}}},
|
|
{{{98, 10, 29}, 0, {0, 0}, {0x5C, 0xA8, 0x2, 0xFE}}},
|
|
{{{105, 17, 3}, 0, {0, 0}, {0x59, 0xA6, 0xF7, 0xFE}}},
|
|
{{{-21, 9, 33}, 0, {0, 0}, {0x89, 0xE1, 0x1F, 0x0}}},
|
|
{{{-25, 24, 0}, 0, {0, 0}, {0x83, 0xF8, 0xEA, 0x0}}},
|
|
{{{-8, -12, -20}, 0, {0, 0}, {0x92, 0xCF, 0xD7, 0x0}}},
|
|
{{{0, -35, 32}, 0, {0, 0}, {0x9C, 0xB9, 0x22, 0xFE}}},
|
|
{{{6, -49, 0}, 0, {0, 0}, {0xA8, 0xA6, 0xEC, 0xFE}}},
|
|
{{{15, -39, 42}, 0, {0, 0}, {0xC, 0xBE, 0x6C, 0xFE}}},
|
|
{{{24, -59, -3}, 0, {0, 0}, {0xCE, 0x91, 0x24, 0xFE}}},
|
|
{{{-15, 23, 43}, 0, {0, 0}, {0xD6, 0x31, 0x6D, 0xFE}}},
|
|
{{{-15, 23, 43}, 0, {0, 0}, {0xD6, 0x31, 0x6D, 0xFE}}},
|
|
{{{-21, 9, 33}, 0, {0, 0}, {0x89, 0xE1, 0x1F, 0xFE}}},
|
|
{{{0, -35, 32}, 0, {0, 0}, {0x9C, 0xB9, 0x22, 0xFE}}},
|
|
{{{-22, 43, -3}, 0, {0, 0}, {0x85, 0x10, 0xE4, 0xFE}}},
|
|
{{{-25, 24, 0}, 0, {0, 0}, {0x83, 0xF8, 0xEA, 0xFE}}},
|
|
{{{2, -5, -33}, 0, {0, 0}, {0xAC, 0xDA, 0xA8, 0xFE}}},
|
|
{{{-8, -12, -20}, 0, {0, 0}, {0x92, 0xCF, 0xD7, 0xFE}}},
|
|
{{{24, -59, -3}, 0, {0, 0}, {0xC4, 0xB8, 0xAA, 0xFE}}},
|
|
{{{6, -49, 0}, 0, {0, 0}, {0xA8, 0xA6, 0xEC, 0xFE}}},
|
|
{{{15, -39, 42}, 0, {0, 0}, {0xC, 0xBE, 0x6C, 0xFE}}},
|
|
{{{0, 21, 37}, 0, {0, 0}, {0xFE, 0x45, 0x6B, 0xFE}}},
|
|
{{{23, -29, 36}, 0, {0, 0}, {0x12, 0xEC, 0x7C, 0xFE}}},
|
|
{{{24, -59, -3}, 0, {0, 0}, {0x69, 0xC7, 0x2C, 0xFE}}},
|
|
{{{32, -43, 0}, 0, {0, 0}, {0x69, 0xC7, 0x2C, 0xFE}}},
|
|
{{{18, 30, 41}, 0, {0, 0}, {0xC0, 0x2B, 0x65, 0xFE}}},
|
|
{{{45, -29, 52}, 0, {0, 0}, {0xEB, 0xB8, 0x67, 0xFE}}},
|
|
{{{45, -29, 52}, 0, {0, 0}, {0xEB, 0xB8, 0x67, 0xFE}}},
|
|
{{{46, 49, 45}, 0, {0, 0}, {0xF8, 0x44, 0x6B, 0xFE}}},
|
|
{{{18, 30, 41}, 0, {0, 0}, {0xC0, 0x2B, 0x65, 0xFE}}},
|
|
{{{90, -3, 52}, 0, {0, 0}, {0x51, 0x7, 0x62, 0xFE}}},
|
|
{{{88, -34, 39}, 0, {0, 0}, {0x38, 0xA0, 0x3D, 0xFE}}},
|
|
{{{56, -47, -5}, 0, {0, 0}, {0xC, 0x86, 0xDE, 0xFE}}},
|
|
{{{101, -29, 15}, 0, {0, 0}, {0x53, 0xA3, 0x15, 0xFE}}},
|
|
{{{98, 10, 29}, 0, {0, 0}, {0x55, 0x16, 0x5B, 0xFE}}},
|
|
{{{84, 48, 24}, 0, {0, 0}, {0x32, 0x3E, 0x63, 0x0}}},
|
|
{{{139, 53, 25}, 0, {0, 0}, {0xFC, 0x13, 0x7E, 0xFE}}},
|
|
{{{123, 72, 21}, 0, {0, 0}, {0xFC, 0x15, 0x7D, 0x0}}},
|
|
{{{88, -34, 39}, 0, {0, 0}, {0x38, 0xA0, 0x3D, 0x0}}},
|
|
{{{56, -47, -5}, 0, {0, 0}, {0xC, 0x86, 0xDE, 0x0}}},
|
|
{{{94, -22, -18}, 0, {0, 0}, {0x1C, 0x84, 0x0, 0x0}}},
|
|
{{{32, -43, 0}, 0, {0, 0}, {0xEB, 0x88, 0x24, 0xFE}}},
|
|
{{{23, -29, 36}, 0, {0, 0}, {0xE3, 0x8A, 0x25, 0xFE}}},
|
|
{{{-15, 23, 43}, 0, {0, 0}, {0xD6, 0x31, 0x6D, 0xFE}}},
|
|
{{{0, 21, 37}, 0, {0, 0}, {0xFE, 0x45, 0x6B, 0xFE}}},
|
|
{{{-4, 38, 0}, 0, {0, 0}, {0xD3, 0x67, 0x3C, 0xFE}}},
|
|
{{{-22, 43, -3}, 0, {0, 0}, {0x1A, 0x73, 0x2F, 0xFE}}},
|
|
{{{56, 80, 1}, 0, {0, 0}, {0x1A, 0x6B, 0x40, 0xFE}}},
|
|
{{{84, 48, 24}, 0, {0, 0}, {0x32, 0x3E, 0x63, 0xFE}}},
|
|
{{{84, 60, -7}, 0, {0, 0}, {0x4E, 0x5E, 0x24, 0xFE}}},
|
|
{{{46, 49, 45}, 0, {0, 0}, {0xF8, 0x44, 0x6B, 0xFE}}},
|
|
{{{8, 58, -2}, 0, {0, 0}, {0xBC, 0x56, 0x40, 0xFE}}},
|
|
{{{18, 30, 41}, 0, {0, 0}, {0xC0, 0x2B, 0x65, 0xFE}}},
|
|
{{{90, -3, 52}, 0, {0, 0}, {0x51, 0x7, 0x62, 0xFE}}},
|
|
{{{-22, 43, -3}, 0, {0, 0}, {0x31, 0x4D, 0xA8, 0xFE}}},
|
|
{{{-4, 38, 0}, 0, {0, 0}, {0x31, 0x4D, 0xA8, 0x0}}},
|
|
{{{14, -1, -22}, 0, {0, 0}, {0x48, 0x20, 0x9C, 0x0}}},
|
|
{{{2, -5, -33}, 0, {0, 0}, {0x48, 0x20, 0x9C, 0xFE}}},
|
|
{{{32, -43, 0}, 0, {0, 0}, {0x53, 0xEE, 0xA1, 0x0}}},
|
|
{{{2, -5, -33}, 0, {0, 0}, {0x48, 0x20, 0x9C, 0xFE}}},
|
|
{{{32, -43, 0}, 0, {0, 0}, {0x53, 0xEE, 0xA1, 0x0}}},
|
|
{{{24, -59, -3}, 0, {0, 0}, {0x53, 0xEE, 0xA1, 0xFE}}},
|
|
{{{105, 17, 3}, 0, {0, 0}, {0xA, 0x7D, 0x14, 0xFE}}},
|
|
{{{98, 10, 29}, 0, {0, 0}, {0xA, 0x7A, 0x21, 0xFE}}},
|
|
{{{153, 7, 24}, 0, {0, 0}, {0xC, 0x7B, 0x1E, 0xFE}}},
|
|
{{{162, 14, -11}, 0, {0, 0}, {0xA, 0x7E, 0xD, 0xFE}}},
|
|
{{{89, 18, -34}, 0, {0, 0}, {0x6, 0x7F, 0xFF, 0xFE}}},
|
|
{{{166, -13, -17}, 0, {0, 0}, {0x7A, 0x8, 0x21, 0xFE}}},
|
|
{{{162, 14, -11}, 0, {0, 0}, {0x7A, 0x1, 0x25, 0xFE}}},
|
|
{{{153, 7, 24}, 0, {0, 0}, {0x7A, 0x8, 0x21, 0xFE}}},
|
|
{{{155, -15, 21}, 0, {0, 0}, {0x7A, 0x6, 0x23, 0xFE}}},
|
|
{{{101, -29, 15}, 0, {0, 0}, {0xFF, 0xE2, 0x7B, 0xFE}}},
|
|
{{{153, 7, 24}, 0, {0, 0}, {0xFF, 0xE2, 0x7B, 0xFE}}},
|
|
{{{98, 10, 29}, 0, {0, 0}, {0x7, 0xD6, 0x78, 0xFE}}},
|
|
{{{155, -15, 21}, 0, {0, 0}, {0xF5, 0xEF, 0x7D, 0xFE}}},
|
|
{{{33, 7, -37}, 0, {0, 0}, {0xDE, 0xF5, 0x86, 0xFE}}},
|
|
{{{56, -47, -5}, 0, {0, 0}, {0xC, 0x86, 0xDE, 0x0}}},
|
|
{{{32, -43, 0}, 0, {0, 0}, {0xDD, 0xBA, 0x9C, 0x0}}},
|
|
{{{94, -22, -18}, 0, {0, 0}, {0x7, 0xCD, 0x8C, 0xFE}}},
|
|
{{{89, 18, -34}, 0, {0, 0}, {0xA, 0x1B, 0x84, 0xFE}}},
|
|
{{{56, 80, 1}, 0, {0, 0}, {0xFE, 0x41, 0x93, 0xFE}}},
|
|
{{{8, 58, -2}, 0, {0, 0}, {0xD0, 0x30, 0x95, 0xFE}}},
|
|
{{{-4, 38, 0}, 0, {0, 0}, {0xB2, 0x18, 0x9E, 0xFE}}},
|
|
{{{14, -1, -22}, 0, {0, 0}, {0xBE, 0xE5, 0x97, 0xFE}}},
|
|
{{{32, -43, 0}, 0, {0, 0}, {0xDD, 0xBA, 0x9C, 0xFE}}},
|
|
{{{84, 60, -7}, 0, {0, 0}, {0xFB, 0x45, 0x95, 0xFE}}},
|
|
{{{126, 84, -3}, 0, {0, 0}, {0xFD, 0x37, 0x8D, 0xFE}}},
|
|
{{{146, 59, -8}, 0, {0, 0}, {0x15, 0x2A, 0x8A, 0xFE}}},
|
|
{{{162, 14, -11}, 0, {0, 0}, {0x26, 0x1E, 0x8B, 0xFE}}},
|
|
{{{166, -13, -17}, 0, {0, 0}, {0x18, 0xF9, 0x83, 0xFE}}},
|
|
{{{155, -15, 21}, 0, {0, 0}, {0x19, 0x84, 0xF1, 0xFE}}},
|
|
{{{94, -22, -18}, 0, {0, 0}, {0x1C, 0x84, 0x0, 0xFE}}},
|
|
{{{166, -13, -17}, 0, {0, 0}, {0x10, 0x82, 0x0, 0xFE}}},
|
|
{{{101, -29, 15}, 0, {0, 0}, {0x53, 0xA3, 0x15, 0xFE}}},
|
|
};
|
|
|
|
const Gfx luigi_right_hand_peace_shared_dl[] = {
|
|
gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 0, 14, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(3, 4, 5, 0),
|
|
gsSP1Triangle(6, 7, 8, 0),
|
|
gsSP1Triangle(9, 10, 11, 0),
|
|
gsSP1Triangle(4, 12, 13, 0),
|
|
gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 14, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(3, 4, 5, 0),
|
|
gsSP1Triangle(0, 6, 7, 0),
|
|
gsSP1Triangle(8, 9, 10, 0),
|
|
gsSP1Triangle(11, 8, 10, 0),
|
|
gsSP1Triangle(10, 12, 11, 0),
|
|
gsSP1Triangle(13, 11, 12, 0),
|
|
gsSP1Triangle(13, 12, 14, 0),
|
|
gsSP1Triangle(15, 11, 13, 0),
|
|
gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 30, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(3, 1, 0, 0),
|
|
gsSP1Triangle(3, 4, 1, 0),
|
|
gsSP1Triangle(5, 4, 3, 0),
|
|
gsSP1Triangle(5, 6, 4, 0),
|
|
gsSP1Triangle(7, 6, 5, 0),
|
|
gsSP1Triangle(7, 8, 6, 0),
|
|
gsSP1Triangle(9, 10, 0, 0),
|
|
gsSP1Triangle(9, 11, 10, 0),
|
|
gsSP1Triangle(12, 11, 9, 0),
|
|
gsSP1Triangle(12, 13, 11, 0),
|
|
gsSP1Triangle(10, 11, 14, 0),
|
|
gsSP1Triangle(11, 15, 14, 0),
|
|
gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 46, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(0, 3, 1, 0),
|
|
gsSP1Triangle(4, 3, 0, 0),
|
|
gsSP1Triangle(0, 5, 4, 0),
|
|
gsSP1Triangle(4, 6, 3, 0),
|
|
gsSP1Triangle(6, 7, 3, 0),
|
|
gsSP1Triangle(7, 8, 3, 0),
|
|
gsSP1Triangle(8, 7, 9, 0),
|
|
gsSP1Triangle(9, 10, 8, 0),
|
|
gsSP1Triangle(6, 11, 12, 0),
|
|
gsSP1Triangle(6, 12, 13, 0),
|
|
gsSP1Triangle(12, 0, 14, 0),
|
|
gsSP1Triangle(0, 15, 14, 0),
|
|
gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 62, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(0, 2, 3, 0),
|
|
gsSP1Triangle(4, 5, 6, 0),
|
|
gsSP1Triangle(7, 5, 4, 0),
|
|
gsSP1Triangle(7, 4, 8, 0),
|
|
gsSP1Triangle(7, 8, 9, 0),
|
|
gsSP1Triangle(9, 8, 2, 0),
|
|
gsSP1Triangle(10, 5, 7, 0),
|
|
gsSP1Triangle(11, 12, 13, 0),
|
|
gsSP1Triangle(11, 13, 14, 0),
|
|
gsSP1Triangle(14, 13, 15, 0),
|
|
gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 78, 16, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(3, 4, 5, 0),
|
|
gsSP1Triangle(3, 5, 6, 0),
|
|
gsSP1Triangle(6, 7, 3, 0),
|
|
gsSP1Triangle(8, 9, 10, 0),
|
|
gsSP1Triangle(8, 10, 11, 0),
|
|
gsSP1Triangle(12, 13, 14, 0),
|
|
gsSP1Triangle(12, 15, 13, 0),
|
|
gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 94, 15, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(1, 0, 3, 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(9, 8, 0, 0),
|
|
gsSP1Triangle(5, 10, 4, 0),
|
|
gsSP1Triangle(11, 4, 10, 0),
|
|
gsSP1Triangle(4, 11, 12, 0),
|
|
gsSP1Triangle(4, 13, 14, 0),
|
|
gsSP1Triangle(14, 3, 4, 0),
|
|
gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 109, 4, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(1, 0, 3, 0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
const Gfx luigi_right_hand_peace[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
|
|
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
|
|
gsSPDisplayList(luigi_right_hand_peace_shared_dl),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0401C940
|
|
static const Vtx luigi_wings_half_1_dl_vertex[] = {
|
|
{{{ -105, 212, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ -105, 0, 0}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 0, 0, 0}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 0, 212, 0}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
|
};
|
|
|
|
// 0x0401C980
|
|
static const Vtx luigi_wings_half_2_dl_vertex[] = {
|
|
{{{ 0, 0, 0}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 106, 212, 0}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 0, 212, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
|
{{{ 106, 0, 0}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
|
|
};
|
|
|
|
// 0x0401C9C0 - 0x0401C9E0
|
|
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(),
|
|
};
|
|
|
|
// 0x0401C9E0 - 0x0401CA00
|
|
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(),
|
|
};
|
|
|
|
// 0x0401CA00 - 0x0401CAB8
|
|
const Gfx luigi_cap_wings[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA),
|
|
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
|
|
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_LIGHTING | G_CULL_BACK),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0401CAB8 - 0x0401CB70
|
|
const Gfx luigi_cap_wings_transparent[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA),
|
|
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
|
|
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_LIGHTING | G_CULL_BACK),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0401CB70 - 0x0401CC28
|
|
const Gfx luigi_metal_cap_wings[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA),
|
|
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
|
|
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_LIGHTING | G_CULL_BACK),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
// 0x0401CC28 - 0x0401CD20
|
|
const Gfx luigi_metal_cap_wings_transparent[] = {
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA),
|
|
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
|
|
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_SHADEFADEA, G_CC_SHADEFADEA),
|
|
gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
const Gfx luigi_material_revert_render_settings[] = {
|
|
gsDPPipeSync(),
|
|
gsSPSetGeometryMode(G_LIGHTING),
|
|
gsSPClearGeometryMode(G_TEXTURE_GEN),
|
|
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
|
|
gsSPTexture(65535, 65535, 0, 0, 0),
|
|
gsDPSetEnvColor(255, 255, 255, 255),
|
|
gsDPSetAlphaCompare(G_AC_NONE),
|
|
|
|
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, 0),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
|
|
gsDPLoadBlock(7, 0, 0, 1023, 256),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
|
|
gsDPSetTileSize(0, 0, 0, 124, 124),
|
|
|
|
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, 0),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
|
|
gsDPLoadBlock(6, 0, 0, 1023, 256),
|
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
|
|
gsDPSetTileSize(1, 0, 0, 124, 124),
|
|
|
|
gsSPEndDisplayList(),
|
|
};
|