diff --git a/actors/luigi/custom_luigi_eyes_center.rgba16.png b/actors/luigi/custom_luigi_eyes_center.rgba16.png index 555db42d..4133ea13 100644 Binary files a/actors/luigi/custom_luigi_eyes_center.rgba16.png and b/actors/luigi/custom_luigi_eyes_center.rgba16.png differ diff --git a/actors/luigi/custom_luigi_eyes_closed.rgba16.png b/actors/luigi/custom_luigi_eyes_closed.rgba16.png index 72589efa..576c3d81 100644 Binary files a/actors/luigi/custom_luigi_eyes_closed.rgba16.png and b/actors/luigi/custom_luigi_eyes_closed.rgba16.png differ diff --git a/actors/luigi/custom_luigi_eyes_dead.ia8.png b/actors/luigi/custom_luigi_eyes_dead.ia8.png deleted file mode 100644 index 3749121c..00000000 Binary files a/actors/luigi/custom_luigi_eyes_dead.ia8.png and /dev/null differ diff --git a/actors/luigi/custom_luigi_eyes_half_closed.rgba16.png b/actors/luigi/custom_luigi_eyes_half_closed.rgba16.png index d9085f8d..fb26aa1a 100644 Binary files a/actors/luigi/custom_luigi_eyes_half_closed.rgba16.png and b/actors/luigi/custom_luigi_eyes_half_closed.rgba16.png differ diff --git a/actors/luigi/custom_luigi_logo.rgba16.png b/actors/luigi/custom_luigi_logo.rgba16.png index d61357b5..ca8351e8 100644 Binary files a/actors/luigi/custom_luigi_logo.rgba16.png and b/actors/luigi/custom_luigi_logo.rgba16.png differ diff --git a/actors/luigi/custom_luigi_mustache.rgba16.png b/actors/luigi/custom_luigi_mustache.rgba16.png index 1498198c..25a7f11b 100644 Binary files a/actors/luigi/custom_luigi_mustache.rgba16.png and b/actors/luigi/custom_luigi_mustache.rgba16.png differ diff --git a/actors/luigi/custom_luigi_sideburn.rgba16.png b/actors/luigi/custom_luigi_sideburn.rgba16.png index 83b56c2e..e02bb715 100644 Binary files a/actors/luigi/custom_luigi_sideburn.rgba16.png and b/actors/luigi/custom_luigi_sideburn.rgba16.png differ diff --git a/actors/luigi/geo.inc.c b/actors/luigi/geo.inc.c index e11583e9..95211829 100644 --- a/actors/luigi/geo.inc.c +++ b/actors/luigi/geo.inc.c @@ -1,955 +1,659 @@ -#include "src/game/envfx_snow.h" +// Normal Mario Geo -const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt1[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_002_switch_option_head__no_cap__mesh_mat_override_face_1___eye_half_1), - GEO_CLOSE_NODE(), - GEO_RETURN(), +const GeoLayout luigi_geo_face_and_wings[] = { + GEO_ASM(0, geo_mario_head_rotation), + GEO_ROTATION_NODE(0x00, 0, 0, 0), + GEO_OPEN_NODE(), + GEO_SWITCH_CASE(0, geo_switch_mario_cap_on_off), + GEO_OPEN_NODE(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_front), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_half_closed), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_closed), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_right), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_left), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_up), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_down), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_dead), + GEO_CLOSE_NODE(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_front), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_half_closed), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_closed), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_right), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_left), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_up), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_down), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_dead), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_TRANSLATE_ROTATE(0, 140, -50, -109, 22, -40, -135), + GEO_OPEN_NODE(), + GEO_ASM(0, geo_mario_rotate_wing_cap_wings), + GEO_ROTATION_NODE(0x00, 0, 0, 0), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_cap_wings), // left + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_TRANSLATE_ROTATE(0, 140, -50, 109, -22, 40, -135), + GEO_OPEN_NODE(), + GEO_ASM(1, geo_mario_rotate_wing_cap_wings), + GEO_ROTATION_NODE(0x00, 0, 0, 0), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_cap_wings), // right + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_RETURN(), }; -const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt2[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_002_switch_option_head__no_cap__mesh_mat_override_face_2___eye_closed_2), - GEO_CLOSE_NODE(), - GEO_RETURN(), + +const GeoLayout luigi_geo_left_hand[] = { + GEO_SWITCH_CASE(1, geo_switch_mario_hand), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, NULL), + GEO_OPEN_NODE(), + GEO_ASM(1, geo_mario_hand_foot_scaler), + GEO_SCALE(0x00, 65536), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_left_hand_closed), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, luigi_left_hand_open), + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, luigi_left_hand_closed), + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, luigi_left_hand_closed), + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, luigi_left_hand_closed), + GEO_CLOSE_NODE(), + GEO_RETURN(), }; -const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt3[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_002_switch_option_head__no_cap__mesh_mat_override_face_2___eye_closed_2), - GEO_CLOSE_NODE(), - GEO_RETURN(), + +const GeoLayout luigi_geo_right_hand[] = { + GEO_SWITCH_CASE(0, geo_switch_mario_hand), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, NULL), + GEO_OPEN_NODE(), + GEO_ASM(0, geo_mario_hand_foot_scaler), + GEO_SCALE(0x00, 65536), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_right_hand_closed), + GEO_CLOSE_NODE(), + GEO_HELD_OBJECT(0x00, 0, 0, 0, geo_switch_mario_hand_grab_pos), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, luigi_right_hand_open), + GEO_OPEN_NODE(), + GEO_HELD_OBJECT(0x00, 0, 0, 0, geo_switch_mario_hand_grab_pos), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, luigi_right_hand_peace), // here we go hand + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, luigi_right_hand_cap), + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, luigi_right_hand_cap), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_right_hand_cap_wings), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_RETURN(), }; -const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt4[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_002_switch_option_head__no_cap__mesh_mat_override_face_2___eye_closed_2), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt5[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_002_switch_option_head__no_cap__mesh_mat_override_face_2___eye_closed_2), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt6[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_002_switch_option_head__no_cap__mesh_mat_override_face_2___eye_closed_2), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt7[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_002_switch_option_head__no_cap__mesh_mat_override_face_7___eye_X_3), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_armature_002_switch_option_002[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_eyes), - GEO_OPEN_NODE(), - GEO_NODE_START(), + +// The body loads all the parts with some shared dls to apply the solid color of the dl that has it, the same rule applies to the medium and low poly geos + +const GeoLayout luigi_geo_body[] = { + GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 22, 0, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, luigi_butt), // starts sharing solid color with luigi_torso (blue) + GEO_OPEN_NODE(), + GEO_ASM(0, geo_move_mario_part_from_parent), + GEO_ASM(0, geo_mario_tilt_torso), + GEO_ROTATION_NODE(0x00, 0, 0, 0), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 81, 0, 0, luigi_torso), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_002_switch_option_head__no_cap__mesh), + GEO_ANIMATED_PART(LAYER_OPAQUE, 90, 0, 0, NULL), + GEO_OPEN_NODE(), + GEO_BRANCH(1, luigi_geo_face_and_wings), // stops sharing because faces has its own dl + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 55, -10, 65, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, luigi_left_arm), // starts sharing solid color with luigi_left_forearm_shared_dl (red) + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 63, 0, 0, luigi_left_forearm_shared_dl), + GEO_OPEN_NODE(), + GEO_BRANCH(1, luigi_geo_left_hand), // stops sharing because hand has its solid color (white) + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 56, -10, -65, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, luigi_right_arm), // starts sharing solid color of his dl with luigi_right_forearm_shared_dl (red) + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 63, 0, 0, luigi_right_forearm_shared_dl), + GEO_OPEN_NODE(), + GEO_BRANCH(1, luigi_geo_right_hand), // stops sharing because hand has its solid color (white) + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt1), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt2), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt3), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt4), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt5), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt6), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt7), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_right_hand_open_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 60, 0, 0, luigi_002_switch_option_right_hand_open_mesh), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_left_hand_open_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 60, 0, 0, luigi_002_switch_option_left_hand_open_mesh), - GEO_OPEN_NODE(), - GEO_HELD_OBJECT(0, 0, 0, 0, geo_switch_mario_hand_grab_pos), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_left_hand_peace_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 60, 0, 0, luigi_004_switch_option_left_hand_peace_mesh), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_left_hand_cap_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 60, 0, 0, luigi_005_switch_option_left_hand_cap_mesh), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_left_hand_wing_cap_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 60, 0, 0, luigi_006_switch_option_left_hand_wing_cap_mesh), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(4, luigi_006_switch_option_left_hand_wing_cap_wings_mesh), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt1[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_002_switch_option_head__no_cap__mesh_mat_override_face_1___eye_half_1), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt2[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_002_switch_option_head__no_cap__mesh_mat_override_face_2___eye_closed_2), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt3[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_002_switch_option_head__no_cap__mesh_mat_override_face_2___eye_closed_2), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt4[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_002_switch_option_head__no_cap__mesh_mat_override_face_2___eye_closed_2), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt5[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_002_switch_option_head__no_cap__mesh_mat_override_face_2___eye_closed_2), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt6[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_002_switch_option_head__no_cap__mesh_mat_override_face_2___eye_closed_2), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt7[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_002_switch_option_head__no_cap__mesh_mat_override_face_7___eye_X_3), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt1_jump_luigi_armature_002_switch_option_002[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_eyes), - GEO_OPEN_NODE(), - GEO_NODE_START(), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 15, -9, 40, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, luigi_left_thigh), // starts sharing solid color of his dl with luigi_left_leg_shared_dl (blue) GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_002_switch_option_head__no_cap__mesh), + GEO_ANIMATED_PART(LAYER_OPAQUE, 97, 0, 0, luigi_left_leg_shared_dl), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 81, 0, 0, luigi_left_foot), // stops sharing because foot has its solid color (brown) + GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt1), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt2), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt3), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt4), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt5), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt6), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt7), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt1_jump_luigi_right_hand_open_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 60, 0, 0, luigi_002_switch_option_right_hand_open_mesh), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt1_jump_luigi_left_hand_open_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 60, 0, 0, luigi_002_switch_option_left_hand_open_mesh), - GEO_OPEN_NODE(), - GEO_HELD_OBJECT(0, 0, 0, 0, geo_switch_mario_hand_grab_pos), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt1_jump_luigi_left_hand_peace_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 60, 0, 0, luigi_004_switch_option_left_hand_peace_mesh), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt1_jump_luigi_left_hand_cap_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 60, 0, 0, luigi_005_switch_option_left_hand_cap_mesh), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt1_jump_luigi_left_hand_wing_cap_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 60, 0, 0, luigi_006_switch_option_left_hand_wing_cap_mesh), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_006_switch_option_left_hand_wing_cap_wings_mesh), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt1[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_000_displaylist_mesh_mat_override_face_1___eye_half_1), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt2[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_000_displaylist_mesh_mat_override_face_2___eye_closed_2), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt3[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_000_displaylist_mesh_mat_override_face_7___eye_X_3), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt1[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 0, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 0, 0, 0, luigi_000_offset_mesh), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 15, -9, -40, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, luigi_right_thigh), // starts sharing solid color of his dl with luigi_left_leg_shared_dl (blue) GEO_OPEN_NODE(), - GEO_ASM(0, geo_move_mario_part_from_parent), - GEO_ASM(0, geo_mario_tilt_torso), - GEO_ROTATION_NODE(0, 0, 0, 0), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 74, 0, 0, luigi_000_offset_001_mesh), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 87, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ASM(0, geo_mario_head_rotation), - GEO_ROTATION_NODE(0, 0, 0, 0), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_cap_on_off), - GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_eyes), - GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_000_displaylist_mesh), - GEO_CLOSE_NODE(), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt1), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt2), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt3), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt1_jump_luigi_armature_002_switch_option_002), - GEO_CLOSE_NODE(), - GEO_TRANSLATE_ROTATE(0, 142, -51, -126, 15, -33, -133), - GEO_OPEN_NODE(), - GEO_ASM(0, geo_mario_rotate_wing_cap_wings), - GEO_ROTATION_NODE(0, 0, 0, 0), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_000_displaylist_001_mesh), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_TRANSLATE_ROTATE(0, 142, -51, 126, -15, 33, -133), - GEO_OPEN_NODE(), - GEO_ASM(1, geo_mario_rotate_wing_cap_wings), - GEO_ROTATION_NODE(0, 0, 0, 0), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_000_displaylist_002_mesh), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_ANIMATED_PART(1, 67, -10, 70, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 0, 0, 0, luigi_000_offset_003_mesh), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 65, 0, 0, luigi_000_offset_004_mesh), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(1, geo_switch_mario_hand), - GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 60, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ASM(1, geo_mario_hand_foot_scaler), - GEO_SCALE(0, 65536), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_000_displaylist_003_mesh), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt1_jump_luigi_right_hand_open_armature), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_ANIMATED_PART(1, 68, -10, -70, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 0, 0, 0, luigi_000_offset_006_mesh), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 65, 0, 0, luigi_000_offset_007_mesh), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_hand), - GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 60, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ASM(0, geo_mario_hand_foot_scaler), - GEO_SCALE(0, 65536), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_000_displaylist_004_mesh), - GEO_CLOSE_NODE(), - GEO_HELD_OBJECT(0, 0, 0, 0, geo_switch_mario_hand_grab_pos), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt1_jump_luigi_left_hand_open_armature), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt1_jump_luigi_left_hand_peace_armature), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt1_jump_luigi_left_hand_cap_armature), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt1_jump_luigi_left_hand_wing_cap_armature), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_ANIMATED_PART(1, 13, -8, 38, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 0, 0, 0, luigi_000_offset_009_mesh), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 89, 0, 0, luigi_000_offset_010_mesh), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 67, 0, 0, luigi_000_offset_011_mesh), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_ANIMATED_PART(1, 13, -8, -38, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 0, 0, 0, luigi_000_offset_012_mesh), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 89, 0, 0, luigi_000_offset_013_mesh), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 67, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ASM(2, geo_mario_hand_foot_scaler), - GEO_SCALE(0, 65536), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_000_displaylist_005_mesh), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 97, 0, 0, luigi_right_leg_shared_dl), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 81, 0, 0, NULL), + GEO_OPEN_NODE(), + GEO_ASM(2, geo_mario_hand_foot_scaler), + GEO_SCALE(0x00, 65536), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_right_foot), // stops sharing because foot has its solid color (brown) + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_RETURN(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_RETURN(), }; -const GeoLayout luigi_002_switch_opt0_001_switch_opt2_jump_luigi_armature_002_switch_option_002[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_eyes), - GEO_OPEN_NODE(), - GEO_NODE_START(), + +// Vanish Mario Geo + +const GeoLayout luigi_vanish_geo_face_and_wings[] = { + GEO_ASM(0, geo_mario_head_rotation), + GEO_ROTATION_NODE(0x00, 0, 0, 0), + GEO_OPEN_NODE(), + GEO_SWITCH_CASE(0, geo_switch_mario_cap_on_off), + GEO_OPEN_NODE(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_front), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_half_closed), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_closed), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_right), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_left), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_up), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_down), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_dead), + GEO_CLOSE_NODE(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_front), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_half_closed), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_closed), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_right), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_left), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_up), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_down), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_dead), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_TRANSLATE_ROTATE(0, 140, -50, -109, 22, -40, -135), + GEO_OPEN_NODE(), + GEO_ASM(0, geo_mario_rotate_wing_cap_wings), + GEO_ROTATION_NODE(0x00, 0, 0, 0), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_wings_transparent), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_TRANSLATE_ROTATE(0, 140, -50, 109, -22, 40, -135), + GEO_OPEN_NODE(), + GEO_ASM(1, geo_mario_rotate_wing_cap_wings), + GEO_ROTATION_NODE(0x00, 0, 0, 0), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_wings_transparent), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_RETURN(), +}; + +const GeoLayout luigi_vanish_geo_left_hand[] = { + GEO_SWITCH_CASE(1, geo_switch_mario_hand), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, NULL), + GEO_OPEN_NODE(), + GEO_ASM(1, geo_mario_hand_foot_scaler), + GEO_SCALE(0x00, 65536), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_left_hand_closed), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, luigi_left_hand_open), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, luigi_left_hand_closed), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, luigi_left_hand_closed), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, luigi_left_hand_closed), + GEO_CLOSE_NODE(), + GEO_RETURN(), +}; + +const GeoLayout luigi_vanish_geo_right_hand[] = { + GEO_SWITCH_CASE(0, geo_switch_mario_hand), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, NULL), + GEO_OPEN_NODE(), + GEO_ASM(0, geo_mario_hand_foot_scaler), + GEO_SCALE(0x00, 65536), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_right_hand_closed), + GEO_CLOSE_NODE(), + GEO_HELD_OBJECT(0x00, 0, 0, 0, geo_switch_mario_hand_grab_pos), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, luigi_right_hand_open), + GEO_OPEN_NODE(), + GEO_HELD_OBJECT(0x00, 0, 0, 0, geo_switch_mario_hand_grab_pos), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, luigi_right_hand_peace), // here we go hand + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, luigi_right_hand_cap), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, luigi_right_hand_cap), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_right_hand_cap_wings), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_RETURN(), +}; + +// Same rule body as Normal Mario + +const GeoLayout luigi_vanish_geo_body[] = { + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 22, 0, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, luigi_butt), + GEO_OPEN_NODE(), + GEO_ASM(0, geo_move_mario_part_from_parent), + GEO_ASM(0, geo_mario_tilt_torso), + GEO_ROTATION_NODE(0x00, 0, 0, 0), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 81, 0, 0, luigi_torso), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_002_switch_option_head__no_cap__mesh_mat_override_metal_0), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 90, 0, 0, NULL), + GEO_OPEN_NODE(), + GEO_BRANCH(1, luigi_vanish_geo_face_and_wings), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 55, -10, 65, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, luigi_left_arm), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 63, 0, 0, luigi_left_forearm_shared_dl), + GEO_OPEN_NODE(), + GEO_BRANCH(1, luigi_vanish_geo_left_hand), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 56, -10, -65, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, luigi_right_arm), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 63, 0, 0, luigi_right_forearm_shared_dl), + GEO_OPEN_NODE(), + GEO_BRANCH(1, luigi_vanish_geo_right_hand), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt2_jump_luigi_right_hand_open_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 60, 0, 0, luigi_002_switch_option_right_hand_open_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt2_jump_luigi_left_hand_open_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 60, 0, 0, luigi_002_switch_option_left_hand_open_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_HELD_OBJECT(0, 0, 0, 0, geo_switch_mario_hand_grab_pos), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt2_jump_luigi_left_hand_peace_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 60, 0, 0, luigi_004_switch_option_left_hand_peace_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt2_jump_luigi_left_hand_cap_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 60, 0, 0, luigi_005_switch_option_left_hand_cap_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt2_jump_luigi_left_hand_wing_cap_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 60, 0, 0, luigi_006_switch_option_left_hand_wing_cap_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(4, luigi_006_switch_option_left_hand_wing_cap_wings_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt2[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 0, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 0, 0, 0, luigi_000_offset_mesh_mat_override_metal_0), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 15, -9, 40, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, luigi_left_thigh), GEO_OPEN_NODE(), - GEO_ASM(0, geo_move_mario_part_from_parent), - GEO_ASM(0, geo_mario_tilt_torso), - GEO_ROTATION_NODE(0, 0, 0, 0), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 74, 0, 0, luigi_000_offset_001_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 87, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ASM(0, geo_mario_head_rotation), - GEO_ROTATION_NODE(0, 0, 0, 0), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_cap_on_off), - GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_eyes), - GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_000_displaylist_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt2_jump_luigi_armature_002_switch_option_002), - GEO_CLOSE_NODE(), - GEO_TRANSLATE_ROTATE(0, 142, -51, -126, 15, -33, -133), - GEO_OPEN_NODE(), - GEO_ASM(0, geo_mario_rotate_wing_cap_wings), - GEO_ROTATION_NODE(0, 0, 0, 0), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(4, luigi_000_displaylist_001_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_TRANSLATE_ROTATE(0, 142, -51, 126, -15, 33, -133), - GEO_OPEN_NODE(), - GEO_ASM(1, geo_mario_rotate_wing_cap_wings), - GEO_ROTATION_NODE(0, 0, 0, 0), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(4, luigi_000_displaylist_002_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_ANIMATED_PART(1, 67, -10, 70, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 0, 0, 0, luigi_000_offset_003_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 65, 0, 0, luigi_000_offset_004_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(1, geo_switch_mario_hand), - GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 60, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ASM(1, geo_mario_hand_foot_scaler), - GEO_SCALE(0, 65536), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_000_displaylist_003_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt2_jump_luigi_right_hand_open_armature), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_ANIMATED_PART(1, 68, -10, -70, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 0, 0, 0, luigi_000_offset_006_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 65, 0, 0, luigi_000_offset_007_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_hand), - GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 60, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ASM(0, geo_mario_hand_foot_scaler), - GEO_SCALE(0, 65536), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_000_displaylist_004_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_HELD_OBJECT(0, 0, 0, 0, geo_switch_mario_hand_grab_pos), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt2_jump_luigi_left_hand_open_armature), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt2_jump_luigi_left_hand_peace_armature), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt2_jump_luigi_left_hand_cap_armature), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt2_jump_luigi_left_hand_wing_cap_armature), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_ANIMATED_PART(1, 13, -8, 38, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 0, 0, 0, luigi_000_offset_009_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 89, 0, 0, luigi_000_offset_010_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 67, 0, 0, luigi_000_offset_011_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_ANIMATED_PART(1, 13, -8, -38, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 0, 0, 0, luigi_000_offset_012_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 89, 0, 0, luigi_000_offset_013_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 67, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ASM(2, geo_mario_hand_foot_scaler), - GEO_SCALE(0, 65536), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_000_displaylist_005_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 97, 0, 0, luigi_left_leg_shared_dl), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 81, 0, 0, luigi_left_foot), + GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt3_jump_luigi_armature_002_switch_option_002[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_eyes), - GEO_OPEN_NODE(), - GEO_NODE_START(), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 15, -9, -40, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, luigi_right_thigh), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_002_switch_option_head__no_cap__mesh_mat_override_metal_0), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 97, 0, 0, luigi_right_leg_shared_dl), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 81, 0, 0, NULL), + GEO_OPEN_NODE(), + GEO_ASM(2, geo_mario_hand_foot_scaler), + GEO_SCALE(0x00, 65536), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_right_foot), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_RETURN(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_RETURN(), }; -const GeoLayout luigi_002_switch_opt0_001_switch_opt3_jump_luigi_right_hand_open_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 60, 0, 0, luigi_002_switch_option_right_hand_open_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_RETURN(), + +// Metal Mario Geo + +const GeoLayout luigi_metal_geo_face_and_wings[] = { + GEO_ASM(0, geo_mario_head_rotation), + GEO_ROTATION_NODE(0x00, 0, 0, 0), + GEO_OPEN_NODE(), + GEO_SWITCH_CASE(0, geo_switch_mario_cap_on_off), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_metal_cap_on_shared_dl), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_metal_cap_off_shared_dl), + GEO_CLOSE_NODE(), + GEO_TRANSLATE_ROTATE(0, 140, -50, -109, 22, -40, -135), + GEO_OPEN_NODE(), + GEO_ASM(0, geo_mario_rotate_wing_cap_wings), + GEO_ROTATION_NODE(0x00, 0, 0, 0), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_metal_cap_wings), // left + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_TRANSLATE_ROTATE(0, 140, -50, 109, -22, 40, -135), + GEO_OPEN_NODE(), + GEO_ASM(1, geo_mario_rotate_wing_cap_wings), + GEO_ROTATION_NODE(0x00, 0, 0, 0), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_metal_cap_wings), // right + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_RETURN(), }; -const GeoLayout luigi_002_switch_opt0_001_switch_opt3_jump_luigi_left_hand_open_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 60, 0, 0, luigi_002_switch_option_left_hand_open_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_HELD_OBJECT(0, 0, 0, 0, geo_switch_mario_hand_grab_pos), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_RETURN(), + +const GeoLayout luigi_metal_geo_left_hand[] = { + GEO_SWITCH_CASE(1, geo_switch_mario_hand), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, NULL), + GEO_OPEN_NODE(), + GEO_ASM(1, geo_mario_hand_foot_scaler), + GEO_SCALE(0x00, 65536), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_left_hand_closed_shared_dl), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, luigi_left_hand_open_shared_dl), + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, luigi_left_hand_closed_shared_dl), + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, luigi_left_hand_closed_shared_dl), + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, luigi_left_hand_closed_shared_dl), + GEO_CLOSE_NODE(), + GEO_RETURN(), }; -const GeoLayout luigi_002_switch_opt0_001_switch_opt3_jump_luigi_left_hand_peace_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 60, 0, 0, luigi_004_switch_option_left_hand_peace_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_RETURN(), + +const GeoLayout luigi_metal_geo_right_hand[] = { + GEO_SWITCH_CASE(0, geo_switch_mario_hand), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, NULL), + GEO_OPEN_NODE(), + GEO_ASM(0, geo_mario_hand_foot_scaler), + GEO_SCALE(0x00, 65536), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_metal_right_hand_closed), + GEO_CLOSE_NODE(), + GEO_HELD_OBJECT(0x00, 0, 0, 0, geo_switch_mario_hand_grab_pos), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, luigi_metal_right_hand_open), + GEO_OPEN_NODE(), + GEO_HELD_OBJECT(0x00, 0, 0, 0, geo_switch_mario_hand_grab_pos), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, luigi_right_hand_peace_shared_dl), // here we go hand + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, luigi_metal_right_hand_cap_shared_dl), + GEO_ANIMATED_PART(LAYER_OPAQUE, 71, 0, 0, luigi_metal_right_hand_cap_shared_dl), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_metal_right_hand_cap_shared_dl_wings), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_RETURN(), }; -const GeoLayout luigi_002_switch_opt0_001_switch_opt3_jump_luigi_left_hand_cap_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 60, 0, 0, luigi_005_switch_option_left_hand_cap_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt3_jump_luigi_left_hand_wing_cap_armature[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 60, 0, 0, luigi_006_switch_option_left_hand_wing_cap_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_006_switch_option_left_hand_wing_cap_wings_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_RETURN(), -}; -const GeoLayout luigi_002_switch_opt0_001_switch_opt3[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 0, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 0, 0, 0, luigi_000_offset_mesh_mat_override_metal_0), + +// A difference from Normal Mario is that the dls after the butt and left thigh shares the metal texture of it, same rule applies to the medium and low poly geos + +const GeoLayout luigi_metal_geo_body[] = { + GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 22, 0, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, luigi_metal_butt), // starts sharing metal texture with the dls below + GEO_OPEN_NODE(), + GEO_ASM(0, geo_move_mario_part_from_parent), + GEO_ASM(0, geo_mario_tilt_torso), + GEO_ROTATION_NODE(0x00, 0, 0, 0), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 81, 0, 0, luigi_metal_torso_shared_dl), GEO_OPEN_NODE(), - GEO_ASM(0, geo_move_mario_part_from_parent), - GEO_ASM(0, geo_mario_tilt_torso), - GEO_ROTATION_NODE(0, 0, 0, 0), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 74, 0, 0, luigi_000_offset_001_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 87, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ASM(0, geo_mario_head_rotation), - GEO_ROTATION_NODE(0, 0, 0, 0), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_cap_on_off), - GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_eyes), - GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_000_displaylist_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt3_jump_luigi_armature_002_switch_option_002), - GEO_CLOSE_NODE(), - GEO_TRANSLATE_ROTATE(0, 142, -51, -126, 15, -33, -133), - GEO_OPEN_NODE(), - GEO_ASM(0, geo_mario_rotate_wing_cap_wings), - GEO_ROTATION_NODE(0, 0, 0, 0), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_000_displaylist_001_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_TRANSLATE_ROTATE(0, 142, -51, 126, -15, 33, -133), - GEO_OPEN_NODE(), - GEO_ASM(1, geo_mario_rotate_wing_cap_wings), - GEO_ROTATION_NODE(0, 0, 0, 0), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_000_displaylist_002_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_ANIMATED_PART(1, 67, -10, 70, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 0, 0, 0, luigi_000_offset_003_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 65, 0, 0, luigi_000_offset_004_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(1, geo_switch_mario_hand), - GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 60, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ASM(1, geo_mario_hand_foot_scaler), - GEO_SCALE(0, 65536), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_000_displaylist_003_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt3_jump_luigi_right_hand_open_armature), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_ANIMATED_PART(1, 68, -10, -70, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 0, 0, 0, luigi_000_offset_006_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 65, 0, 0, luigi_000_offset_007_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_hand), - GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 60, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ASM(0, geo_mario_hand_foot_scaler), - GEO_SCALE(0, 65536), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_000_displaylist_004_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_HELD_OBJECT(0, 0, 0, 0, geo_switch_mario_hand_grab_pos), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt3_jump_luigi_left_hand_open_armature), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt3_jump_luigi_left_hand_peace_armature), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt3_jump_luigi_left_hand_cap_armature), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt3_jump_luigi_left_hand_wing_cap_armature), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_ANIMATED_PART(1, 13, -8, 38, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 0, 0, 0, luigi_000_offset_009_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 89, 0, 0, luigi_000_offset_010_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 67, 0, 0, luigi_000_offset_011_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_ANIMATED_PART(1, 13, -8, -38, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 0, 0, 0, luigi_000_offset_012_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(5, 89, 0, 0, luigi_000_offset_013_mesh_mat_override_metal_0), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 67, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ASM(2, geo_mario_hand_foot_scaler), - GEO_SCALE(0, 65536), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(5, luigi_000_displaylist_005_mesh_mat_override_metal_0), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 90, 0, 0, NULL), + GEO_OPEN_NODE(), + GEO_BRANCH(1, luigi_metal_geo_face_and_wings), // unlike normal mario geo, these dls still share the metal texture + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 55, -10, 65, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, luigi_left_arm_shared_dl), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 63, 0, 0, luigi_left_forearm_shared_dl), + GEO_OPEN_NODE(), + GEO_BRANCH(1, luigi_metal_geo_left_hand), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 56, -10, -65, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, luigi_right_arm_shared_dl), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 63, 0, 0, luigi_right_forearm_shared_dl), + GEO_OPEN_NODE(), + GEO_BRANCH(1, luigi_metal_geo_right_hand), // stop sharing because the wing metal cap of it + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_RETURN(), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 15, -9, 40, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, luigi_metal_left_thigh), // starts sharing metal texture with the dls below + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 97, 0, 0, luigi_left_leg_shared_dl), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 81, 0, 0, luigi_left_foot_shared_dl), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 15, -9, -40, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 0, 0, luigi_right_thigh_shared_dl), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 97, 0, 0, luigi_right_leg_shared_dl), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_OPAQUE, 81, 0, 0, NULL), + GEO_OPEN_NODE(), + GEO_ASM(2, geo_mario_hand_foot_scaler), + GEO_SCALE(0x00, 65536), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_metal_right_foot), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_RETURN(), }; -const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt1[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_000_displaylist_mesh_mat_override_face_1___eye_half_1), - GEO_CLOSE_NODE(), - GEO_RETURN(), + +// Metal Vanish Mario Geo + +const GeoLayout luigi_metal_vanish_geo_face_and_wings[] = { + GEO_ASM(0, geo_mario_head_rotation), + GEO_ROTATION_NODE(0x00, 0, 0, 0), + GEO_OPEN_NODE(), + GEO_SWITCH_CASE(0, geo_switch_mario_cap_on_off), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_metal_cap_on_shared_dl), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_metal_cap_off_shared_dl), + GEO_CLOSE_NODE(), + GEO_TRANSLATE_ROTATE(0, 140, -50, -109, 22, -40, -135), + GEO_OPEN_NODE(), + GEO_ASM(0, geo_mario_rotate_wing_cap_wings), + GEO_ROTATION_NODE(0x00, 0, 0, 0), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_metal_cap_wings_transparent), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_TRANSLATE_ROTATE(0, 140, -50, 109, -22, 40, -135), + GEO_OPEN_NODE(), + GEO_ASM(1, geo_mario_rotate_wing_cap_wings), + GEO_ROTATION_NODE(0x00, 0, 0, 0), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_metal_cap_wings_transparent), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_RETURN(), }; -const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt2[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_000_displaylist_mesh_mat_override_face_2___eye_closed_2), - GEO_CLOSE_NODE(), - GEO_RETURN(), + +const GeoLayout luigi_metal_vanish_geo_left_hand[] = { + GEO_SWITCH_CASE(0, geo_switch_mario_hand), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, NULL), + GEO_OPEN_NODE(), + GEO_ASM(1, geo_mario_hand_foot_scaler), + GEO_SCALE(0x00, 65536), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_left_hand_closed_shared_dl), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, luigi_left_hand_open_shared_dl), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, luigi_left_hand_closed_shared_dl), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, luigi_left_hand_closed_shared_dl), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, luigi_left_hand_closed_shared_dl), + GEO_CLOSE_NODE(), + GEO_RETURN(), }; -const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt3[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_000_displaylist_mesh_mat_override_face_7___eye_X_3), - GEO_CLOSE_NODE(), - GEO_RETURN(), + +const GeoLayout luigi_metal_vanish_geo_right_hand[] = { + GEO_SWITCH_CASE(0, geo_switch_mario_hand), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, NULL), + GEO_OPEN_NODE(), + GEO_ASM(0, geo_mario_hand_foot_scaler), + GEO_SCALE(0x00, 65536), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_metal_right_hand_closed), + GEO_CLOSE_NODE(), + GEO_HELD_OBJECT(0x00, 0, 0, 0, geo_switch_mario_hand_grab_pos), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, luigi_metal_right_hand_open), + GEO_OPEN_NODE(), + GEO_HELD_OBJECT(0x00, 0, 0, 0, geo_switch_mario_hand_grab_pos), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, luigi_right_hand_peace_shared_dl), // here we go hand + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, luigi_metal_right_hand_cap_shared_dl), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 71, 0, 0, luigi_metal_right_hand_cap_shared_dl), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_metal_right_hand_cap_shared_dl_wings), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_RETURN(), }; + +// Same rules as Metal Mario + +const GeoLayout luigi_metal_vanish_geo_body[] = { + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 22, 0, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, luigi_metal_butt), + GEO_OPEN_NODE(), + GEO_ASM(0, geo_move_mario_part_from_parent), + GEO_ASM(0, geo_mario_tilt_torso), + GEO_ROTATION_NODE(0x00, 0, 0, 0), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 81, 0, 0, luigi_metal_torso_shared_dl), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 90, 0, 0, NULL), + GEO_OPEN_NODE(), + GEO_BRANCH(1, luigi_metal_vanish_geo_face_and_wings), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 55, -10, 65, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, luigi_left_arm_shared_dl), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 63, 0, 0, luigi_left_forearm_shared_dl), + GEO_OPEN_NODE(), + GEO_BRANCH(1, luigi_metal_vanish_geo_left_hand), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 56, -10, -65, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, luigi_right_arm_shared_dl), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 63, 0, 0, luigi_right_forearm_shared_dl), + GEO_OPEN_NODE(), + GEO_BRANCH(1, luigi_metal_vanish_geo_right_hand), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 15, -9, 40, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, luigi_metal_left_thigh), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 97, 0, 0, luigi_left_leg_shared_dl), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 81, 0, 0, luigi_left_foot_shared_dl), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 15, -9, -40, NULL), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 0, 0, luigi_right_thigh_shared_dl), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 97, 0, 0, luigi_right_leg_shared_dl), + GEO_OPEN_NODE(), + GEO_ANIMATED_PART(LAYER_TRANSPARENT, 81, 0, 0, NULL), + GEO_OPEN_NODE(), + GEO_ASM(2, geo_mario_hand_foot_scaler), + GEO_SCALE(0x00, 65536), + GEO_OPEN_NODE(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_metal_right_foot), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_RETURN(), +}; + +// High Poly + +const GeoLayout luigi_geo_load_body[] = { + GEO_SWITCH_CASE(0, geo_switch_mario_cap_effect), + GEO_OPEN_NODE(), + GEO_BRANCH(1, luigi_geo_body), + GEO_BRANCH(1, luigi_vanish_geo_body), + GEO_BRANCH(1, luigi_metal_geo_body), + GEO_BRANCH(1, luigi_metal_vanish_geo_body), + GEO_CLOSE_NODE(), + GEO_RETURN(), +}; + +// This last geo is used to load all of Mario Geo in the Level Scripts + const GeoLayout luigi_geo[] = { - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_SHADOW(0, 180, 100), - GEO_OPEN_NODE(), - GEO_SCALE(0, 17202), - GEO_OPEN_NODE(), - GEO_ASM(0, geo_mario_set_player_colors), - GEO_ASM(0, geo_mirror_mario_backface_culling), - GEO_ASM(0, geo_mirror_mario_set_alpha), - GEO_SWITCH_CASE(0, geo_switch_mario_stand_run), - GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_cap_effect), - GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 0, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 0, 0, 0, luigi_000_offset_mesh), - GEO_OPEN_NODE(), - GEO_ASM(0, geo_move_mario_part_from_parent), - GEO_ASM(0, geo_mario_tilt_torso), - GEO_ROTATION_NODE(0, 0, 0, 0), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 74, 0, 0, luigi_000_offset_001_mesh), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 87, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ASM(0, geo_mario_head_rotation), - GEO_ROTATION_NODE(0, 0, 0, 0), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_cap_on_off), - GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_eyes), - GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_000_displaylist_mesh), - GEO_CLOSE_NODE(), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt1), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt2), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt3), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_BRANCH(1, luigi_armature_002_switch_option_002), - GEO_CLOSE_NODE(), - GEO_TRANSLATE_ROTATE(0, 142, -51, -126, 15, -33, -133), - GEO_OPEN_NODE(), - GEO_ASM(0, geo_mario_rotate_wing_cap_wings), - GEO_ROTATION_NODE(0, 0, 0, 0), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(4, luigi_000_displaylist_001_mesh), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_TRANSLATE_ROTATE(0, 142, -51, 126, -15, 33, -133), - GEO_OPEN_NODE(), - GEO_ASM(1, geo_mario_rotate_wing_cap_wings), - GEO_ROTATION_NODE(0, 0, 0, 0), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(4, luigi_000_displaylist_002_mesh), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_ANIMATED_PART(1, 67, -10, 70, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 0, 0, 0, luigi_000_offset_003_mesh), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 65, 0, 0, luigi_000_offset_004_mesh), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(1, geo_switch_mario_hand), - GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 60, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ASM(1, geo_mario_hand_foot_scaler), - GEO_SCALE(0, 65536), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_000_displaylist_003_mesh), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_BRANCH(1, luigi_right_hand_open_armature), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_ANIMATED_PART(1, 68, -10, -70, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 0, 0, 0, luigi_000_offset_006_mesh), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 65, 0, 0, luigi_000_offset_007_mesh), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_hand), - GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 60, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ASM(0, geo_mario_hand_foot_scaler), - GEO_SCALE(0, 65536), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_000_displaylist_004_mesh), - GEO_CLOSE_NODE(), - GEO_HELD_OBJECT(0, 0, 0, 0, geo_switch_mario_hand_grab_pos), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_BRANCH(1, luigi_left_hand_open_armature), - GEO_BRANCH(1, luigi_left_hand_peace_armature), - GEO_BRANCH(1, luigi_left_hand_cap_armature), - GEO_BRANCH(1, luigi_left_hand_wing_cap_armature), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_ANIMATED_PART(1, 13, -8, 38, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 0, 0, 0, luigi_000_offset_009_mesh), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 89, 0, 0, luigi_000_offset_010_mesh), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 67, 0, 0, luigi_000_offset_011_mesh), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_ANIMATED_PART(1, 13, -8, -38, NULL), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 0, 0, 0, luigi_000_offset_012_mesh), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 89, 0, 0, luigi_000_offset_013_mesh), - GEO_OPEN_NODE(), - GEO_ANIMATED_PART(1, 67, 0, 0, NULL), - GEO_OPEN_NODE(), - GEO_ASM(2, geo_mario_hand_foot_scaler), - GEO_SCALE(0, 65536), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(1, luigi_000_displaylist_005_mesh), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt1), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt2), - GEO_BRANCH(1, luigi_002_switch_opt0_001_switch_opt3), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_ASM(1, geo_mirror_mario_backface_culling), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_DISPLAY_LIST(0, luigi_material_revert_render_settings), - GEO_DISPLAY_LIST(1, luigi_material_revert_render_settings), - GEO_DISPLAY_LIST(2, luigi_material_revert_render_settings), - GEO_DISPLAY_LIST(3, luigi_material_revert_render_settings), - GEO_DISPLAY_LIST(4, luigi_material_revert_render_settings), - GEO_DISPLAY_LIST(5, luigi_material_revert_render_settings), - GEO_DISPLAY_LIST(6, luigi_material_revert_render_settings), - GEO_DISPLAY_LIST(7, luigi_material_revert_render_settings), - GEO_CLOSE_NODE(), - GEO_END(), + GEO_SHADOW(SHADOW_CIRCLE_PLAYER, 0xB4, 100), + GEO_OPEN_NODE(), + GEO_SCALE(0x00, 16384), + GEO_OPEN_NODE(), + GEO_ASM(0, geo_mario_set_player_colors), + GEO_ASM(0, geo_mirror_mario_backface_culling), + GEO_ASM(0, geo_mirror_mario_set_alpha), + GEO_OPEN_NODE(), + GEO_BRANCH(1, luigi_geo_load_body), + GEO_CLOSE_NODE(), + GEO_ASM(1, geo_mirror_mario_backface_culling), + GEO_CLOSE_NODE(), + GEO_CLOSE_NODE(), + GEO_END(), }; diff --git a/actors/luigi/geo_header.h b/actors/luigi/geo_header.h index 23bba12c..f63542aa 100644 --- a/actors/luigi/geo_header.h +++ b/actors/luigi/geo_header.h @@ -1,229 +1,108 @@ -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt1[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt2[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt3[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt4[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt5[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt6[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt7[]; -extern const GeoLayout luigi_armature_002_switch_option_002[]; -extern const GeoLayout luigi_right_hand_open_armature[]; -extern const GeoLayout luigi_left_hand_open_armature[]; -extern const GeoLayout luigi_left_hand_peace_armature[]; -extern const GeoLayout luigi_left_hand_cap_armature[]; -extern const GeoLayout luigi_left_hand_wing_cap_armature[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt1[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt2[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt3[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt4[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt5[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt6[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt7[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt1_jump_luigi_armature_002_switch_option_002[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt1_jump_luigi_right_hand_open_armature[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt1_jump_luigi_left_hand_open_armature[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt1_jump_luigi_left_hand_peace_armature[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt1_jump_luigi_left_hand_cap_armature[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt1_jump_luigi_left_hand_wing_cap_armature[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt1[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt2[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt3[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt1[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt2_jump_luigi_armature_002_switch_option_002[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt2_jump_luigi_right_hand_open_armature[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt2_jump_luigi_left_hand_open_armature[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt2_jump_luigi_left_hand_peace_armature[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt2_jump_luigi_left_hand_cap_armature[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt2_jump_luigi_left_hand_wing_cap_armature[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt2[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt3_jump_luigi_armature_002_switch_option_002[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt3_jump_luigi_right_hand_open_armature[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt3_jump_luigi_left_hand_open_armature[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt3_jump_luigi_left_hand_peace_armature[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt3_jump_luigi_left_hand_cap_armature[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt3_jump_luigi_left_hand_wing_cap_armature[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt3[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt1[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt2[]; -extern const GeoLayout luigi_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt3[]; +extern const GeoLayout luigi_geo_face_and_wings[]; +extern const GeoLayout luigi_geo_left_hand[]; +extern const GeoLayout luigi_geo_right_hand[]; +extern const GeoLayout luigi_geo_body[]; +extern const GeoLayout luigi_vanish_geo_face_and_wings[]; +extern const GeoLayout luigi_vanish_geo_left_hand[]; +extern const GeoLayout luigi_vanish_geo_right_hand[]; +extern const GeoLayout luigi_vanish_geo_body[]; +extern const GeoLayout luigi_metal_geo_face_and_wings[]; +extern const GeoLayout luigi_metal_geo_left_hand[]; +extern const GeoLayout luigi_metal_geo_right_hand[]; +extern const GeoLayout luigi_metal_geo_body[]; +extern const GeoLayout luigi_metal_vanish_geo_face_and_wings[]; +extern const GeoLayout luigi_metal_vanish_geo_left_hand[]; +extern const GeoLayout luigi_metal_vanish_geo_right_hand[]; +extern const GeoLayout luigi_metal_vanish_geo_body[]; +extern const GeoLayout luigi_geo_load_body[]; extern const GeoLayout luigi_geo[]; - -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt1[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt2[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt3[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt4[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt5[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt6[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt0_000_switch_opt1_switch_face_opt7[]; -extern const GeoLayout luigi2_armature_002_switch_option_002[]; -extern const GeoLayout luigi2_right_hand_open_armature[]; -extern const GeoLayout luigi2_left_hand_open_armature[]; -extern const GeoLayout luigi2_left_hand_peace_armature[]; -extern const GeoLayout luigi2_left_hand_cap_armature[]; -extern const GeoLayout luigi2_left_hand_wing_cap_armature[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt1[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt2[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt3[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt4[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt5[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt6[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt1_000_switch_opt1_switch_face_opt7[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt1_jump_luigi_armature_002_switch_option_002[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt1_jump_luigi_right_hand_open_armature[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt1_jump_luigi_left_hand_open_armature[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt1_jump_luigi_left_hand_peace_armature[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt1_jump_luigi_left_hand_cap_armature[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt1_jump_luigi_left_hand_wing_cap_armature[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt1[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt2[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt1_000_switch_opt0_000_switch_001_opt3[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt1[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt2_jump_luigi_armature_002_switch_option_002[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt2_jump_luigi_right_hand_open_armature[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt2_jump_luigi_left_hand_open_armature[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt2_jump_luigi_left_hand_peace_armature[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt2_jump_luigi_left_hand_cap_armature[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt2_jump_luigi_left_hand_wing_cap_armature[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt2[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt3_jump_luigi_armature_002_switch_option_002[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt3_jump_luigi_right_hand_open_armature[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt3_jump_luigi_left_hand_open_armature[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt3_jump_luigi_left_hand_peace_armature[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt3_jump_luigi_left_hand_cap_armature[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt3_jump_luigi_left_hand_wing_cap_armature[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt3[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt1[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt2[]; -extern const GeoLayout luigi2_002_switch_opt0_001_switch_opt0_000_switch_opt0_000_switch_001_opt3[]; -extern const GeoLayout luigi2_geo[]; - -extern Vtx luigi_000_offset_mesh_vtx_0[76]; -extern Gfx luigi_000_offset_mesh_tri_0[]; -extern Vtx luigi_000_offset_001_mesh_vtx_0[106]; -extern Gfx luigi_000_offset_001_mesh_tri_0[]; -extern Vtx luigi_000_offset_001_mesh_vtx_1[31]; -extern Gfx luigi_000_offset_001_mesh_tri_1[]; -extern Vtx luigi_000_displaylist_mesh_vtx_0[95]; -extern Gfx luigi_000_displaylist_mesh_tri_0[]; -extern Vtx luigi_000_displaylist_mesh_vtx_1[12]; -extern Gfx luigi_000_displaylist_mesh_tri_1[]; -extern Vtx luigi_000_displaylist_mesh_vtx_2[27]; -extern Gfx luigi_000_displaylist_mesh_tri_2[]; -extern Vtx luigi_000_displaylist_mesh_vtx_3[29]; -extern Gfx luigi_000_displaylist_mesh_tri_3[]; -extern Vtx luigi_000_displaylist_mesh_vtx_4[56]; -extern Gfx luigi_000_displaylist_mesh_tri_4[]; -extern Vtx luigi_002_switch_option_head__no_cap__mesh_vtx_0[96]; -extern Gfx luigi_002_switch_option_head__no_cap__mesh_tri_0[]; -extern Vtx luigi_002_switch_option_head__no_cap__mesh_vtx_1[30]; -extern Gfx luigi_002_switch_option_head__no_cap__mesh_tri_1[]; -extern Vtx luigi_002_switch_option_head__no_cap__mesh_vtx_2[12]; -extern Gfx luigi_002_switch_option_head__no_cap__mesh_tri_2[]; -extern Vtx luigi_002_switch_option_head__no_cap__mesh_vtx_3[100]; -extern Gfx luigi_002_switch_option_head__no_cap__mesh_tri_3[]; -extern Vtx luigi_000_displaylist_001_mesh_vtx_0[4]; -extern Gfx luigi_000_displaylist_001_mesh_tri_0[]; -extern Vtx luigi_000_displaylist_001_mesh_vtx_1[4]; -extern Gfx luigi_000_displaylist_001_mesh_tri_1[]; -extern Vtx luigi_000_displaylist_002_mesh_vtx_0[4]; -extern Gfx luigi_000_displaylist_002_mesh_tri_0[]; -extern Vtx luigi_000_displaylist_002_mesh_vtx_1[4]; -extern Gfx luigi_000_displaylist_002_mesh_tri_1[]; -extern Vtx luigi_000_offset_003_mesh_vtx_0[31]; -extern Gfx luigi_000_offset_003_mesh_tri_0[]; -extern Vtx luigi_000_offset_004_mesh_vtx_0[16]; -extern Gfx luigi_000_offset_004_mesh_tri_0[]; -extern Vtx luigi_000_displaylist_003_mesh_vtx_0[46]; -extern Gfx luigi_000_displaylist_003_mesh_tri_0[]; -extern Vtx luigi_002_switch_option_right_hand_open_mesh_vtx_0[58]; -extern Gfx luigi_002_switch_option_right_hand_open_mesh_tri_0[]; -extern Vtx luigi_000_offset_006_mesh_vtx_0[30]; -extern Gfx luigi_000_offset_006_mesh_tri_0[]; -extern Vtx luigi_000_offset_007_mesh_vtx_0[16]; -extern Gfx luigi_000_offset_007_mesh_tri_0[]; -extern Vtx luigi_000_displaylist_004_mesh_vtx_0[36]; -extern Gfx luigi_000_displaylist_004_mesh_tri_0[]; -extern Vtx luigi_002_switch_option_left_hand_open_mesh_vtx_0[57]; -extern Gfx luigi_002_switch_option_left_hand_open_mesh_tri_0[]; -extern Vtx luigi_004_switch_option_left_hand_peace_mesh_vtx_0[84]; -extern Gfx luigi_004_switch_option_left_hand_peace_mesh_tri_0[]; -extern Vtx luigi_005_switch_option_left_hand_cap_mesh_vtx_0[36]; -extern Gfx luigi_005_switch_option_left_hand_cap_mesh_tri_0[]; -extern Vtx luigi_005_switch_option_left_hand_cap_mesh_vtx_1[71]; -extern Gfx luigi_005_switch_option_left_hand_cap_mesh_tri_1[]; -extern Vtx luigi_006_switch_option_left_hand_wing_cap_mesh_vtx_0[36]; -extern Gfx luigi_006_switch_option_left_hand_wing_cap_mesh_tri_0[]; -extern Vtx luigi_006_switch_option_left_hand_wing_cap_mesh_vtx_1[71]; -extern Gfx luigi_006_switch_option_left_hand_wing_cap_mesh_tri_1[]; -extern Vtx luigi_006_switch_option_left_hand_wing_cap_wings_mesh_vtx_0[8]; -extern Gfx luigi_006_switch_option_left_hand_wing_cap_wings_mesh_tri_0[]; -extern Vtx luigi_006_switch_option_left_hand_wing_cap_wings_mesh_vtx_1[8]; -extern Gfx luigi_006_switch_option_left_hand_wing_cap_wings_mesh_tri_1[]; -extern Vtx luigi_000_offset_009_mesh_vtx_0[22]; -extern Gfx luigi_000_offset_009_mesh_tri_0[]; -extern Vtx luigi_000_offset_010_mesh_vtx_0[12]; -extern Gfx luigi_000_offset_010_mesh_tri_0[]; -extern Vtx luigi_000_offset_011_mesh_vtx_0[29]; -extern Gfx luigi_000_offset_011_mesh_tri_0[]; -extern Vtx luigi_000_offset_012_mesh_vtx_0[22]; -extern Gfx luigi_000_offset_012_mesh_tri_0[]; -extern Vtx luigi_000_offset_013_mesh_vtx_0[12]; -extern Gfx luigi_000_offset_013_mesh_tri_0[]; -extern Vtx luigi_000_displaylist_005_mesh_vtx_0[28]; -extern Gfx luigi_000_displaylist_005_mesh_tri_0[]; - -extern Gfx luigi_000_offset_mesh[]; -extern Gfx luigi_000_offset_mesh_mat_override_metal_0[]; -extern Gfx luigi_000_offset_001_mesh[]; -extern Gfx luigi_000_offset_001_mesh_mat_override_metal_0[]; -extern Gfx luigi_000_displaylist_mesh[]; -extern Gfx luigi_000_displaylist_mesh_mat_override_metal_0[]; -extern Gfx luigi_000_displaylist_mesh_mat_override_face_1___eye_half_1[]; -extern Gfx luigi_000_displaylist_mesh_mat_override_face_2___eye_closed_2[]; -extern Gfx luigi_000_displaylist_mesh_mat_override_face_7___eye_X_3[]; -extern Gfx luigi_002_switch_option_head__no_cap__mesh[]; -extern Gfx luigi_002_switch_option_head__no_cap__mesh_mat_override_metal_0[]; -extern Gfx luigi_002_switch_option_head__no_cap__mesh_mat_override_face_1___eye_half_1[]; -extern Gfx luigi_002_switch_option_head__no_cap__mesh_mat_override_face_2___eye_closed_2[]; -extern Gfx luigi_002_switch_option_head__no_cap__mesh_mat_override_face_7___eye_X_3[]; -extern Gfx luigi_000_displaylist_001_mesh[]; -extern Gfx luigi_000_displaylist_001_mesh_mat_override_metal_0[]; -extern Gfx luigi_000_displaylist_002_mesh[]; -extern Gfx luigi_000_displaylist_002_mesh_mat_override_metal_0[]; -extern Gfx luigi_000_offset_003_mesh[]; -extern Gfx luigi_000_offset_003_mesh_mat_override_metal_0[]; -extern Gfx luigi_000_offset_004_mesh[]; -extern Gfx luigi_000_offset_004_mesh_mat_override_metal_0[]; -extern Gfx luigi_000_displaylist_003_mesh[]; -extern Gfx luigi_000_displaylist_003_mesh_mat_override_metal_0[]; -extern Gfx luigi_002_switch_option_right_hand_open_mesh[]; -extern Gfx luigi_002_switch_option_right_hand_open_mesh_mat_override_metal_0[]; -extern Gfx luigi_000_offset_006_mesh[]; -extern Gfx luigi_000_offset_006_mesh_mat_override_metal_0[]; -extern Gfx luigi_000_offset_007_mesh[]; -extern Gfx luigi_000_offset_007_mesh_mat_override_metal_0[]; -extern Gfx luigi_000_displaylist_004_mesh[]; -extern Gfx luigi_000_displaylist_004_mesh_mat_override_metal_0[]; -extern Gfx luigi_002_switch_option_left_hand_open_mesh[]; -extern Gfx luigi_002_switch_option_left_hand_open_mesh_mat_override_metal_0[]; -extern Gfx luigi_004_switch_option_left_hand_peace_mesh[]; -extern Gfx luigi_004_switch_option_left_hand_peace_mesh_mat_override_metal_0[]; -extern Gfx luigi_005_switch_option_left_hand_cap_mesh[]; -extern Gfx luigi_005_switch_option_left_hand_cap_mesh_mat_override_metal_0[]; -extern Gfx luigi_006_switch_option_left_hand_wing_cap_mesh[]; -extern Gfx luigi_006_switch_option_left_hand_wing_cap_mesh_mat_override_metal_0[]; -extern Gfx luigi_006_switch_option_left_hand_wing_cap_wings_mesh[]; -extern Gfx luigi_006_switch_option_left_hand_wing_cap_wings_mesh_mat_override_metal_0[]; -extern Gfx luigi_000_offset_009_mesh[]; -extern Gfx luigi_000_offset_009_mesh_mat_override_metal_0[]; -extern Gfx luigi_000_offset_010_mesh[]; -extern Gfx luigi_000_offset_010_mesh_mat_override_metal_0[]; -extern Gfx luigi_000_offset_011_mesh[]; -extern Gfx luigi_000_offset_011_mesh_mat_override_metal_0[]; -extern Gfx luigi_000_offset_012_mesh[]; -extern Gfx luigi_000_offset_012_mesh_mat_override_metal_0[]; -extern Gfx luigi_000_offset_013_mesh[]; -extern Gfx luigi_000_offset_013_mesh_mat_override_metal_0[]; -extern Gfx luigi_000_displaylist_005_mesh[]; -extern Gfx luigi_000_displaylist_005_mesh_mat_override_metal_0[]; -extern Gfx luigi_material_revert_render_settings[]; - +extern const Gfx luigi_butt_dl[]; +extern const Gfx luigi_butt[]; +extern const Gfx luigi_metal_butt[]; +extern const Gfx luigi_left_arm_shared_dl[]; +extern const Gfx luigi_left_arm[]; +extern const Gfx luigi_left_forearm_shared_dl[]; +extern const Gfx luigi_left_hand_closed_shared_dl[]; +extern const Gfx luigi_left_hand_closed[]; +extern const Gfx luigi_right_arm_shared_dl[]; +extern const Gfx luigi_right_arm[]; +extern const Gfx luigi_right_forearm_shared_dl[]; +extern const Gfx luigi_right_hand_closed_dl[]; +extern const Gfx luigi_right_hand_closed[]; +extern const Gfx luigi_metal_right_hand_closed[]; +extern const Gfx luigi_left_thigh_dl[]; +extern const Gfx luigi_left_thigh[]; +extern const Gfx luigi_metal_left_thigh[]; +extern const Gfx luigi_left_leg_shared_dl[]; +extern const Gfx luigi_left_foot_shared_dl[]; +extern const Gfx luigi_left_foot[]; +extern const Gfx luigi_right_thigh_shared_dl[]; +extern const Gfx luigi_right_thigh[]; +extern const Gfx luigi_right_leg_shared_dl[]; +extern const Gfx luigi_right_foot_dl[]; +extern const Gfx luigi_right_foot[]; +extern const Gfx luigi_metal_right_foot[]; +extern const Gfx luigi_yellow_button_dl[]; +extern const Gfx luigi_pants_overalls_shared_dl[]; +extern const Gfx luigi_tshirt_shared_dl[]; +extern const Gfx luigi_torso_dl[]; +extern const Gfx luigi_torso[]; +extern const Gfx luigi_metal_torso_shared_dl[]; +extern const Gfx luigi_l_logo_dl[]; +extern const Gfx luigi_eyes_cap_on_dl[]; +extern const Gfx luigi_hair_sideburn_cap_on_dl[]; +extern const Gfx luigi_mustache_cap_on_dl[]; +extern const Gfx luigi_face_part_cap_on_dl[]; +extern const Gfx luigi_face_cap_dl[]; +extern const Gfx luigi_face_back_hair_cap_on_dl[]; +extern const Gfx luigi_face_cap_on_dl[]; +extern const Gfx luigi_cap_on_eyes_front[]; +extern const Gfx luigi_cap_on_eyes_half_closed[]; +extern const Gfx luigi_cap_on_eyes_closed[]; +extern const Gfx luigi_cap_on_eyes_right[]; +extern const Gfx luigi_cap_on_eyes_left[]; +extern const Gfx luigi_cap_on_eyes_up[]; +extern const Gfx luigi_cap_on_eyes_down[]; +extern const Gfx luigi_cap_on_eyes_dead[]; +extern const Gfx luigi_metal_cap_on_shared_dl[]; +extern const Gfx luigi_eyes_cap_off_dl[]; +extern const Gfx luigi_mustache_cap_off_dl[]; +extern const Gfx luigi_hair_sideburn_cap_off_dl[]; +extern const Gfx luigi_face_part_cap_off_dl[]; +extern const Gfx luigi_face_hair_cap_off_dl[]; +extern const Gfx luigi_face_cap_off_dl[]; +extern const Gfx luigi_cap_off_eyes_front[]; +extern const Gfx luigi_cap_off_eyes_half_closed[]; +extern const Gfx luigi_cap_off_eyes_closed[]; +extern const Gfx luigi_cap_off_eyes_right[]; +extern const Gfx luigi_cap_off_eyes_left[]; +extern const Gfx luigi_cap_off_eyes_up[]; +extern const Gfx luigi_cap_off_eyes_down[]; +extern const Gfx luigi_cap_off_eyes_dead[]; +extern const Gfx luigi_metal_cap_off_shared_dl[]; +extern const Gfx luigi_left_hand_open_shared_dl[]; +extern const Gfx luigi_left_hand_open[]; +extern const Gfx luigi_right_hand_open_dl[]; +extern const Gfx luigi_right_hand_open[]; +extern const Gfx luigi_metal_right_hand_open[]; +extern const Gfx luigi_right_hand_cap_l_logo_dl[]; +extern const Gfx luigi_right_hand_cap_top_dl[]; +extern const Gfx luigi_right_hand_cap_hand_position_dl[]; +extern const Gfx luigi_right_hand_cap_bottom_dl[]; +extern const Gfx luigi_right_hand_cap_dl[]; +extern const Gfx luigi_right_hand_cap_wings_half_1_dl[]; +extern const Gfx luigi_right_hand_cap_wings_half_2_dl[]; +extern const Gfx luigi_right_hand_cap_wings_intial_dl[]; +extern const Gfx luigi_right_hand_cap_wings_end_dl[]; +extern const Gfx luigi_right_hand_cap[]; +extern const Gfx luigi_right_hand_cap_wings[]; +extern const Gfx luigi_metal_right_hand_cap_shared_dl[]; +extern const Gfx luigi_metal_right_hand_cap_shared_dl_wings[]; +extern const Gfx luigi_right_hand_peace_shared_dl[]; +extern const Gfx luigi_right_hand_peace[]; +extern const Gfx luigi_wings_half_1_dl[]; +extern const Gfx luigi_wings_half_2_dl[]; +extern const Gfx luigi_cap_wings[]; +extern const Gfx luigi_cap_wings_transparent[]; +extern const Gfx luigi_metal_cap_wings[]; +extern const Gfx luigi_metal_cap_wings_transparent[]; \ No newline at end of file diff --git a/actors/luigi/model.inc.c b/actors/luigi/model.inc.c index 40df0bbe..a3565fb6 100644 --- a/actors/luigi/model.inc.c +++ b/actors/luigi/model.inc.c @@ -1,3773 +1,755 @@ -Lights1 luigi_body_lights = gdSPDefLights1( - 0x0, 0x0, 0x7F, - 0x0, 0x0, 0xFE, 0x28, 0x28, 0x28); +static const Lights1 luigi_blue_lights_group = gdSPDefLights1( + 0x00, 0x00, 0x7f, + 0x00, 0x00, 0xff, 0x28, 0x28, 0x28 +); -Lights1 luigi_cap_lights = gdSPDefLights1( - 0x0, 0x4C, 0x0, - 0x0, 0x98, 0x0, 0x28, 0x28, 0x28); +static const Lights1 luigi_green_lights_group = gdSPDefLights1( + 0x00, 0x4f, 0x00, + 0x00, 0x9f, 0x00, 0x28, 0x28, 0x28 +); -Lights1 luigi_face_0___eye_open_lights = gdSPDefLights1( - 0x7E, 0x60, 0x3C, - 0xFD, 0xC0, 0x79, 0x28, 0x28, 0x28); +static const Lights1 luigi_white_lights_group = gdSPDefLights1( + 0x7F, 0x7F, 0x7F, + 0xFF, 0xFF, 0xFF, 0x28, 0x28, 0x28 +); -Lights1 luigi_sideburns_lights = gdSPDefLights1( - 0x7E, 0x60, 0x3C, - 0xFD, 0xC0, 0x79, 0x28, 0x28, 0x28); +static const Lights1 luigi_brown1_lights_group = gdSPDefLights1( + 0x39, 0x0e, 0x07, + 0x72, 0x1c, 0x0e, 0x28, 0x28, 0x28 +); -Lights1 luigi_mustache_lights = gdSPDefLights1( - 0x7E, 0x60, 0x3C, - 0xFD, 0xC0, 0x79, 0x28, 0x28, 0x28); +static const Lights1 luigi_beige_lights_group = gdSPDefLights1( + 0x7f, 0x60, 0x3c, + 0xfe, 0xc1, 0x79, 0x28, 0x28, 0x28 +); -Lights1 luigi_hair_lights = gdSPDefLights1( - 0x28, 0xB, 0x0, - 0x51, 0x16, 0x0, 0x28, 0x28, 0x28); +static const Lights1 luigi_brown2_lights_group = gdSPDefLights1( + 0x39, 0x03, 0x00, + 0x73, 0x06, 0x00, 0x28, 0x28, 0x28 +); -Lights1 luigi_face_1___eye_half_lights = gdSPDefLights1( - 0x7E, 0x60, 0x3C, - 0xFD, 0xC0, 0x79, 0x28, 0x28, 0x28); - -Lights1 luigi_face_2___eye_closed_lights = gdSPDefLights1( - 0x7E, 0x60, 0x3C, - 0xFD, 0xC0, 0x79, 0x28, 0x28, 0x28); - -Lights1 luigi_face_7___eye_X_lights = gdSPDefLights1( - 0x7E, 0x60, 0x3C, - 0xFD, 0xC0, 0x79, 0x28, 0x28, 0x28); - -Lights1 luigi_gloves_lights = gdSPDefLights1( - 0x7F, 0x7F, 0x7F, - 0xFE, 0xFE, 0xFE, 0x28, 0x28, 0x28); - -Lights1 luigi_shoes_lights = gdSPDefLights1( - 0x28, 0xA, 0x3, - 0x50, 0x15, 0x7, 0x28, 0x28, 0x28); - -u8 luigi_luigi_button_rgba16[] = { -#include "actors/mario/mario_overalls_button.rgba16.inc.c" -}; - -u8 luigi_metal_rgba16[] = { +ALIGNED8 static const u8 luigi_texture_metal[] = { #include "actors/mario/mario_metal.rgba16.inc.c" }; -u8 luigi_logo_rgba16[] = { +ALIGNED8 static const u8 luigi_texture_yellow_button[] = { +#include "actors/mario/mario_overalls_button.rgba16.inc.c" +}; + +ALIGNED8 static const u8 luigi_texture_l_logo[] = { #include "actors/luigi/custom_luigi_logo.rgba16.inc.c" }; -u8 luigi_eyes_center_rgba16[] = { -#include "actors/luigi/custom_luigi_eyes_center.rgba16.inc.c" -}; - -u8 luigi_sideburn_rgba16[] = { +ALIGNED8 static const u8 luigi_texture_hair_sideburn[] = { #include "actors/luigi/custom_luigi_sideburn.rgba16.inc.c" }; -u8 luigi_mustache_rgba16[] = { +ALIGNED8 static const u8 luigi_texture_mustache[] = { #include "actors/luigi/custom_luigi_mustache.rgba16.inc.c" }; -u8 luigi_eyes_half_closed_rgba16[] = { +ALIGNED8 static const u8 luigi_texture_eyes_front[] = { +#include "actors/luigi/custom_luigi_eyes_center.rgba16.inc.c" +}; + +ALIGNED8 static const u8 luigi_texture_eyes_half_closed[] = { #include "actors/luigi/custom_luigi_eyes_half_closed.rgba16.inc.c" }; -u8 luigi_eyes_closed_rgba16[] = { +ALIGNED8 static const u8 luigi_texture_eyes_closed[] = { #include "actors/luigi/custom_luigi_eyes_closed.rgba16.inc.c" }; -u8 luigi_eyes_dead_ia8[] = { -#include "actors/luigi/custom_luigi_eyes_dead.ia8.inc.c" +ALIGNED8 static const u8 luigi_texture_eyes_right[] = { +#include "actors/mario/mario_eyes_left_unused.rgba16.inc.c" }; -u8 luigi_wing_tip_rgba16[] = { -#include "actors/mario/mario_wing_tip.rgba16.inc.c" +ALIGNED8 static const u8 luigi_texture_eyes_left[] = { +#include "actors/mario/mario_eyes_right_unused.rgba16.inc.c" }; -u8 luigi_wing_rgba16[] = { +ALIGNED8 static const u8 luigi_texture_eyes_up[] = { +#include "actors/mario/mario_eyes_up_unused.rgba16.inc.c" +}; + +ALIGNED8 static const u8 luigi_texture_eyes_down[] = { +#include "actors/mario/mario_eyes_down_unused.rgba16.inc.c" +}; + +ALIGNED8 static const u8 luigi_texture_eyes_dead[] = { +#include "actors/mario/mario_eyes_dead.rgba16.inc.c" +}; + +ALIGNED8 static const u8 luigi_texture_wings_half_1[] = { #include "actors/mario/mario_wing.rgba16.inc.c" }; -Vtx luigi_000_offset_mesh_vtx_0[76] = { - {{{81, 9, 0},0, {-16, -16},{0x7F, 0x6, 0x0, 0xFF}}}, - {{{62, -53, -31},0, {-16, -16},{0x5F, 0xB0, 0xE3, 0xFF}}}, - {{{50, -8, -80},0, {-16, -16},{0x4C, 0xEF, 0x9B, 0xFF}}}, - {{{62, -53, 31},0, {-16, -16},{0x5F, 0xB1, 0x1D, 0xFF}}}, - {{{50, -7, 80},0, {-16, -16},{0x4C, 0xF0, 0x64, 0xFF}}}, - {{{49, 34, 79},0, {-16, -16},{0x41, 0x2D, 0x63, 0xFF}}}, - {{{59, 60, 33},0, {-16, -16},{0x58, 0x56, 0x1E, 0xFF}}}, - {{{59, 60, -33},0, {-16, -16},{0x58, 0x56, 0xE2, 0xFF}}}, - {{{49, 34, -79},0, {-16, -16},{0x41, 0x2D, 0x9D, 0xFF}}}, - {{{10, 28, -82},0, {-16, -16},{0xE6, 0x2A, 0x8B, 0xFF}}}, - {{{12, -6, -86},0, {-16, -16},{0xED, 0xF4, 0x83, 0xFF}}}, - {{{42, -44, -68},0, {-16, -16},{0x34, 0xB6, 0xA7, 0xFF}}}, - {{{31, -64, -40},0, {-16, -16},{0x15, 0x88, 0xDC, 0xFF}}}, - {{{31, -64, 39},0, {-16, -16},{0x14, 0x87, 0x21, 0xFF}}}, - {{{42, -45, 68},0, {-16, -16},{0x34, 0xB5, 0x58, 0xFF}}}, - {{{12, -6, 86},0, {-16, -16},{0xEC, 0xF4, 0x7D, 0xFF}}}, - {{{11, 28, 82},0, {-16, -16},{0xE8, 0x2A, 0x76, 0xFF}}}, - {{{12, -6, 86},0, {-16, -16},{0xEC, 0xF4, 0x7D, 0xFF}}}, - {{{50, -7, 80},0, {-16, -16},{0x4C, 0xF0, 0x64, 0xFF}}}, - {{{49, 34, 79},0, {-16, -16},{0x41, 0x2D, 0x63, 0xFF}}}, - {{{32, 62, 54},0, {-16, -16},{0xD, 0x6D, 0x40, 0xFF}}}, - {{{59, 60, 33},0, {-16, -16},{0x58, 0x56, 0x1E, 0xFF}}}, - {{{27, 71, 22},0, {-16, -16},{0x4, 0x7E, 0xE, 0xFF}}}, - {{{27, 71, -22},0, {-16, -16},{0x4, 0x7E, 0xF2, 0xFF}}}, - {{{59, 60, -33},0, {-16, -16},{0x58, 0x56, 0xE2, 0xFF}}}, - {{{32, 62, -54},0, {-16, -16},{0xD, 0x6D, 0xC0, 0xFF}}}, - {{{49, 34, -79},0, {-16, -16},{0x41, 0x2D, 0x9D, 0xFF}}}, - {{{10, 28, -82},0, {-16, -16},{0xE6, 0x2A, 0x8B, 0xFF}}}, - {{{-1, 51, -62},0, {-16, -16},{0xCC, 0x59, 0xB6, 0xFF}}}, - {{{-14, 27, -68},0, {-16, -16},{0xA7, 0x24, 0xAD, 0xFF}}}, - {{{-17, -6, -70},0, {-16, -16},{0xA2, 0xF5, 0xAC, 0xFF}}}, - {{{12, -6, -86},0, {-16, -16},{0xED, 0xF4, 0x83, 0xFF}}}, - {{{-17, -6, -70},0, {-16, -16},{0xA2, 0xF5, 0xAC, 0xFF}}}, - {{{12, -6, -86},0, {-16, -16},{0xED, 0xF4, 0x83, 0xFF}}}, - {{{8, -41, -74},0, {-16, -16},{0xE2, 0xBB, 0x99, 0xFF}}}, - {{{42, -44, -68},0, {-16, -16},{0x34, 0xB6, 0xA7, 0xFF}}}, - {{{31, -64, -40},0, {-16, -16},{0x15, 0x88, 0xDC, 0xFF}}}, - {{{-5, -60, -47},0, {-16, -16},{0xD1, 0x97, 0xCA, 0xFF}}}, - {{{-10, -64, 0},0, {-16, -16},{0xCC, 0x8C, 0x0, 0xFF}}}, - {{{31, -64, 39},0, {-16, -16},{0x14, 0x87, 0x21, 0xFF}}}, - {{{-5, -60, 47},0, {-16, -16},{0xD1, 0x96, 0x35, 0xFF}}}, - {{{8, -42, 74},0, {-16, -16},{0xE2, 0xBB, 0x66, 0xFF}}}, - {{{42, -45, 68},0, {-16, -16},{0x34, 0xB5, 0x58, 0xFF}}}, - {{{12, -6, 86},0, {-16, -16},{0xEC, 0xF4, 0x7D, 0xFF}}}, - {{{-17, -6, 70},0, {-16, -16},{0xA2, 0xF5, 0x54, 0xFF}}}, - {{{11, 28, 82},0, {-16, -16},{0xE8, 0x2A, 0x76, 0xFF}}}, - {{{-15, 27, 68},0, {-16, -16},{0xA7, 0x24, 0x53, 0xFF}}}, - {{{-1, 51, 62},0, {-16, -16},{0xCC, 0x59, 0x4A, 0xFF}}}, - {{{32, 62, 54},0, {-16, -16},{0xD, 0x6D, 0x40, 0xFF}}}, - {{{-1, 51, 62},0, {-16, -16},{0xCC, 0x59, 0x4A, 0xFF}}}, - {{{11, 28, 82},0, {-16, -16},{0xE8, 0x2A, 0x76, 0xFF}}}, - {{{-5, 63, 29},0, {-16, -16},{0xC1, 0x6C, 0x16, 0xFF}}}, - {{{27, 71, 22},0, {-16, -16},{0x4, 0x7E, 0xE, 0xFF}}}, - {{{27, 71, -22},0, {-16, -16},{0x4, 0x7E, 0xF2, 0xFF}}}, - {{{-5, 63, -29},0, {-16, -16},{0xC1, 0x6C, 0xEA, 0xFF}}}, - {{{32, 62, -54},0, {-16, -16},{0xD, 0x6D, 0xC0, 0xFF}}}, - {{{-1, 51, -62},0, {-16, -16},{0xCC, 0x59, 0xB6, 0xFF}}}, - {{{-30, 34, -33},0, {-16, -16},{0x8B, 0x2C, 0xE7, 0xFF}}}, - {{{-14, 27, -68},0, {-16, -16},{0xA7, 0x24, 0xAD, 0xFF}}}, - {{{-17, -6, -70},0, {-16, -16},{0xA2, 0xF5, 0xAC, 0xFF}}}, - {{{-28, -44, -36},0, {-16, -16},{0x92, 0xCB, 0xDD, 0xFF}}}, - {{{8, -41, -74},0, {-16, -16},{0xE2, 0xBB, 0x99, 0xFF}}}, - {{{-5, -60, -47},0, {-16, -16},{0xD1, 0x97, 0xCA, 0xFF}}}, - {{{-10, -64, 0},0, {-16, -16},{0xCC, 0x8C, 0x0, 0xFF}}}, - {{{-28, -44, 36},0, {-16, -16},{0x92, 0xCB, 0x22, 0xFF}}}, - {{{-28, -44, -36},0, {-16, -16},{0x92, 0xCB, 0xDD, 0xFF}}}, - {{{-10, -64, 0},0, {-16, -16},{0xCC, 0x8C, 0x0, 0xFF}}}, - {{{-5, -60, 47},0, {-16, -16},{0xD1, 0x96, 0x35, 0xFF}}}, - {{{8, -42, 74},0, {-16, -16},{0xE2, 0xBB, 0x66, 0xFF}}}, - {{{-17, -6, 70},0, {-16, -16},{0xA2, 0xF5, 0x54, 0xFF}}}, - {{{-30, 34, 33},0, {-16, -16},{0x8B, 0x2C, 0x18, 0xFF}}}, - {{{-15, 27, 68},0, {-16, -16},{0xA7, 0x24, 0x53, 0xFF}}}, - {{{-1, 51, 62},0, {-16, -16},{0xCC, 0x59, 0x4A, 0xFF}}}, - {{{-5, 63, 29},0, {-16, -16},{0xC1, 0x6C, 0x16, 0xFF}}}, - {{{-30, 34, -33},0, {-16, -16},{0x8B, 0x2C, 0xE7, 0xFF}}}, - {{{-5, 63, -29},0, {-16, -16},{0xC1, 0x6C, 0xEA, 0xFF}}}, +ALIGNED8 static const u8 luigi_texture_wings_half_2[] = { +#include "actors/mario/mario_wing_tip.rgba16.inc.c" }; -Gfx luigi_000_offset_mesh_tri_0[] = { - gsSPVertex(luigi_000_offset_mesh_vtx_0 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(3, 0, 4, 0), - gsSP1Triangle(5, 4, 0, 0), - gsSP1Triangle(0, 6, 5, 0), - gsSP1Triangle(6, 0, 7, 0), - gsSP1Triangle(8, 7, 0, 0), - gsSP1Triangle(0, 2, 8, 0), - gsSP1Triangle(9, 8, 2, 0), - gsSP1Triangle(2, 10, 9, 0), - gsSP1Triangle(10, 2, 11, 0), - gsSP1Triangle(1, 11, 2, 0), - gsSP1Triangle(1, 12, 11, 0), - gsSP1Triangle(12, 1, 3, 0), - gsSP1Triangle(3, 13, 12, 0), - gsSP1Triangle(14, 13, 3, 0), - gsSP1Triangle(4, 14, 3, 0), - gsSP1Triangle(15, 14, 4, 0), - gsSPVertex(luigi_000_offset_mesh_vtx_0 + 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(7, 6, 5, 0), - gsSP1Triangle(8, 7, 5, 0), - gsSP1Triangle(9, 7, 8, 0), - gsSP1Triangle(10, 9, 8, 0), - gsSP1Triangle(11, 9, 10, 0), - gsSP1Triangle(11, 12, 9, 0), - gsSP1Triangle(12, 11, 13, 0), - gsSP1Triangle(14, 13, 11, 0), - gsSP1Triangle(11, 15, 14, 0), - gsSPVertex(luigi_000_offset_mesh_vtx_0 + 32, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 2, 1, 0), - gsSP1Triangle(2, 3, 4, 0), - gsSP1Triangle(4, 5, 2, 0), - gsSP1Triangle(6, 5, 4, 0), - gsSP1Triangle(7, 6, 4, 0), - gsSP1Triangle(7, 8, 6, 0), - gsSP1Triangle(9, 8, 7, 0), - gsSP1Triangle(7, 10, 9, 0), - gsSP1Triangle(11, 9, 10, 0), - gsSP1Triangle(9, 11, 12, 0), - gsSP1Triangle(12, 11, 13, 0), - gsSP1Triangle(13, 14, 12, 0), - gsSP1Triangle(14, 13, 15, 0), - gsSPVertex(luigi_000_offset_mesh_vtx_0 + 48, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(0, 4, 3, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(6, 3, 5, 0), - gsSP1Triangle(6, 5, 7, 0), - gsSP1Triangle(8, 6, 7, 0), - gsSP1Triangle(9, 6, 8, 0), - gsSP1Triangle(8, 10, 9, 0), - gsSP1Triangle(9, 10, 11, 0), - gsSP1Triangle(9, 11, 12, 0), - gsSP1Triangle(11, 13, 12, 0), - gsSP1Triangle(13, 14, 12, 0), - gsSP1Triangle(12, 14, 15, 0), - gsSPVertex(luigi_000_offset_mesh_vtx_0 + 64, 12, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 3, 0, 0), - gsSP1Triangle(0, 3, 4, 0), - gsSP1Triangle(4, 5, 0, 0), - gsSP1Triangle(5, 6, 0, 0), - gsSP1Triangle(5, 7, 6, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(8, 9, 6, 0), - gsSP1Triangle(6, 9, 10, 0), - gsSP1Triangle(9, 11, 10, 0), - gsSP1Triangle(0, 6, 10, 0), - gsSP1Triangle(10, 1, 0, 0), - gsSPEndDisplayList(), +ALIGNED8 static const u8 luigi_texture_metal_wings_half_1[] = { +#include "actors/mario/mario_metal_wing_unused.rgba16.inc.c" }; -Vtx luigi_000_offset_001_mesh_vtx_0[106] = { - {{{48, 60, -28},0, {834, 56},{0x45, 0x67, 0xE5, 0xFF}}}, - {{{49, 50, -48},0, {296, -16},{0x44, 0x57, 0xC2, 0xFF}}}, - {{{34, 49, -61},0, {-40, 294},{0x34, 0x46, 0xA4, 0xFF}}}, - {{{21, 54, -64},0, {-74, 626},{0x21, 0x50, 0xA3, 0xFF}}}, - {{{9, 64, -53},0, {248, 956},{0xD, 0x6C, 0xBF, 0xFF}}}, - {{{14, 72, -34},0, {760, 904},{0x18, 0x78, 0xDF, 0xFF}}}, - {{{31, 69, -24},0, {974, 496},{0x2B, 0x76, 0xEE, 0xFF}}}, - {{{34, 49, 62},0, {886, 236},{0x35, 0x46, 0x5C, 0xFF}}}, - {{{49, 50, 49},0, {532, -16},{0x44, 0x57, 0x3E, 0xFF}}}, - {{{48, 60, 29},0, {18, 90},{0x45, 0x67, 0x1B, 0xFF}}}, - {{{21, 54, 65},0, {950, 574},{0x22, 0x4F, 0x5D, 0xFF}}}, - {{{9, 64, 54},0, {666, 950},{0xE, 0x6C, 0x41, 0xFF}}}, - {{{14, 72, 35},0, {164, 946},{0x19, 0x78, 0x21, 0xFF}}}, - {{{31, 69, 25},0, {-76, 556},{0x2B, 0x76, 0x12, 0xFF}}}, - {{{49, 50, -48},0, {-16, -16},{0x44, 0x57, 0xC2, 0xFF}}}, - {{{43, 41, -60},0, {-16, -16},{0x3D, 0x31, 0x9C, 0xFF}}}, - {{{34, 49, -61},0, {-16, -16},{0x34, 0x46, 0xA4, 0xFF}}}, - {{{80, 11, -47},0, {-16, -16},{0x5B, 0x28, 0xB1, 0xFF}}}, - {{{82, 29, -20},0, {-16, -16},{0x62, 0x4E, 0xE8, 0xFF}}}, - {{{48, 60, -28},0, {-16, -16},{0x45, 0x67, 0xE5, 0xFF}}}, - {{{100, 1, -17},0, {-16, -16},{0x7B, 0x15, 0xE7, 0xFF}}}, - {{{84, -21, -48},0, {-16, -16},{0x5A, 0xD7, 0xB1, 0xFF}}}, - {{{93, -27, -19},0, {-16, -16},{0x66, 0xB7, 0xEC, 0xFF}}}, - {{{66, -40, -39},0, {-16, -16},{0x37, 0x96, 0xD4, 0xFF}}}, - {{{54, -50, 0},0, {-16, -16},{0x2D, 0x89, 0x0, 0xFF}}}, - {{{20, -50, -55},0, {-16, -16},{0xE, 0x98, 0xB9, 0xFF}}}, - {{{8, -62, 0},0, {-16, -16},{0x6, 0x81, 0x0, 0xFF}}}, - {{{20, -50, 56},0, {-16, -16},{0xE, 0x98, 0x47, 0xFF}}}, - {{{66, -40, 40},0, {-16, -16},{0x37, 0x96, 0x2C, 0xFF}}}, - {{{93, -27, 20},0, {-16, -16},{0x66, 0xB7, 0x14, 0xFF}}}, - {{{66, -40, 40},0, {-16, -16},{0x37, 0x96, 0x2C, 0xFF}}}, - {{{93, -27, 20},0, {-16, -16},{0x66, 0xB7, 0x14, 0xFF}}}, - {{{84, -21, 49},0, {-16, -16},{0x5A, 0xD7, 0x4F, 0xFF}}}, - {{{100, 1, 18},0, {-16, -16},{0x7B, 0x15, 0x19, 0xFF}}}, - {{{80, 11, 48},0, {-16, -16},{0x5B, 0x28, 0x4F, 0xFF}}}, - {{{82, 29, 20},0, {-16, -16},{0x61, 0x4E, 0x17, 0xFF}}}, - {{{49, 50, 49},0, {-16, -16},{0x44, 0x57, 0x3E, 0xFF}}}, - {{{48, 60, 29},0, {-16, -16},{0x45, 0x67, 0x1B, 0xFF}}}, - {{{44, 41, 60},0, {-16, -16},{0x3F, 0x31, 0x63, 0xFF}}}, - {{{34, 49, 62},0, {-16, -16},{0x35, 0x46, 0x5C, 0xFF}}}, - {{{13, 27, 76},0, {-16, -16},{0x15, 0x18, 0x7B, 0xFF}}}, - {{{21, 54, 65},0, {-16, -16},{0x22, 0x4F, 0x5D, 0xFF}}}, - {{{-4, 49, 71},0, {-16, -16},{0xFF, 0x41, 0x6D, 0xFF}}}, - {{{9, 64, 54},0, {-16, -16},{0xE, 0x6C, 0x41, 0xFF}}}, - {{{-28, 54, 64},0, {-16, -16},{0xD3, 0x4B, 0x5C, 0xFF}}}, - {{{-15, 75, 29},0, {-16, -16},{0xF8, 0x7C, 0x1C, 0xFF}}}, - {{{9, 64, 54},0, {-16, -16},{0xE, 0x6C, 0x41, 0xFF}}}, - {{{14, 72, 35},0, {-16, -16},{0x19, 0x78, 0x21, 0xFF}}}, - {{{-15, 75, 29},0, {-16, -16},{0xF8, 0x7C, 0x1C, 0xFF}}}, - {{{14, 72, -34},0, {-16, -16},{0x18, 0x78, 0xDF, 0xFF}}}, - {{{31, 69, 25},0, {-16, -16},{0x2B, 0x76, 0x12, 0xFF}}}, - {{{31, 69, -24},0, {-16, -16},{0x2B, 0x76, 0xEE, 0xFF}}}, - {{{48, 60, -28},0, {-16, -16},{0x45, 0x67, 0xE5, 0xFF}}}, - {{{48, 60, 29},0, {-16, -16},{0x45, 0x67, 0x1B, 0xFF}}}, - {{{-15, 74, -29},0, {-16, -16},{0xF8, 0x7B, 0xE3, 0xFF}}}, - {{{9, 64, -53},0, {-16, -16},{0xD, 0x6C, 0xBF, 0xFF}}}, - {{{-28, 54, -63},0, {-16, -16},{0xD4, 0x4A, 0xA3, 0xFF}}}, - {{{-4, 49, -69},0, {-16, -16},{0xFE, 0x41, 0x93, 0xFF}}}, - {{{21, 54, -64},0, {-16, -16},{0x21, 0x50, 0xA3, 0xFF}}}, - {{{12, 27, -75},0, {-16, -16},{0x12, 0x19, 0x85, 0xFF}}}, - {{{34, 49, -61},0, {-16, -16},{0x34, 0x46, 0xA4, 0xFF}}}, - {{{43, 41, -60},0, {-16, -16},{0x3D, 0x31, 0x9C, 0xFF}}}, - {{{-27, 22, -76},0, {-16, -16},{0xCC, 0xE, 0x8D, 0xFF}}}, - {{{-4, 49, -69},0, {-16, -16},{0xFE, 0x41, 0x93, 0xFF}}}, - {{{12, 27, -75},0, {-16, -16},{0x12, 0x19, 0x85, 0xFF}}}, - {{{-28, 54, -63},0, {-16, -16},{0xD4, 0x4A, 0xA3, 0xFF}}}, - {{{-71, 46, -25},0, {-16, -16},{0x8D, 0x28, 0xDA, 0xFF}}}, - {{{-59, -24, -32},0, {-16, -16},{0x91, 0xCF, 0xDA, 0xFF}}}, - {{{-27, -21, -73},0, {-16, -16},{0xCC, 0xD8, 0x93, 0xFF}}}, - {{{6, -8, -77},0, {-16, -16},{0x6, 0xE9, 0x83, 0xFF}}}, - {{{20, -50, -55},0, {-16, -16},{0xE, 0x98, 0xB9, 0xFF}}}, - {{{-29, -49, -50},0, {-16, -16},{0xCD, 0x9C, 0xC5, 0xFF}}}, - {{{8, -62, 0},0, {-16, -16},{0x6, 0x81, 0x0, 0xFF}}}, - {{{-30, -56, 0},0, {-16, -16},{0xC8, 0x8E, 0x0, 0xFF}}}, - {{{-29, -49, 50},0, {-16, -16},{0xCC, 0x9B, 0x3A, 0xFF}}}, - {{{20, -50, 56},0, {-16, -16},{0xE, 0x98, 0x47, 0xFF}}}, - {{{-27, -21, 74},0, {-16, -16},{0xCC, 0xD6, 0x6C, 0xFF}}}, - {{{6, -8, 78},0, {-16, -16},{0x7, 0xE8, 0x7D, 0xFF}}}, - {{{6, -8, 78},0, {-16, -16},{0x7, 0xE8, 0x7D, 0xFF}}}, - {{{-27, 22, 78},0, {-16, -16},{0xCB, 0xD, 0x73, 0xFF}}}, - {{{-27, -21, 74},0, {-16, -16},{0xCC, 0xD6, 0x6C, 0xFF}}}, - {{{13, 27, 76},0, {-16, -16},{0x15, 0x18, 0x7B, 0xFF}}}, - {{{-4, 49, 71},0, {-16, -16},{0xFF, 0x41, 0x6D, 0xFF}}}, - {{{-28, 54, 64},0, {-16, -16},{0xD3, 0x4B, 0x5C, 0xFF}}}, - {{{-71, 46, 26},0, {-16, -16},{0x8D, 0x28, 0x26, 0xFF}}}, - {{{-40, 62, 47},0, {-16, -16},{0xC7, 0x5C, 0x42, 0xFF}}}, - {{{-15, 75, 29},0, {-16, -16},{0xF8, 0x7C, 0x1C, 0xFF}}}, - {{{-43, 71, 21},0, {-16, -16},{0xCA, 0x71, 0x13, 0xFF}}}, - {{{-43, 71, -20},0, {-16, -16},{0xCB, 0x72, 0xED, 0xFF}}}, - {{{-15, 74, -29},0, {-16, -16},{0xF8, 0x7B, 0xE3, 0xFF}}}, - {{{-40, 62, -46},0, {-16, -16},{0xC7, 0x5C, 0xBE, 0xFF}}}, - {{{-28, 54, -63},0, {-16, -16},{0xD4, 0x4A, 0xA3, 0xFF}}}, - {{{-71, 46, -25},0, {-16, -16},{0x8D, 0x28, 0xDA, 0xFF}}}, - {{{-59, -24, 32},0, {-16, -16},{0x91, 0xCF, 0x26, 0xFF}}}, - {{{-71, 46, -25},0, {-16, -16},{0x8D, 0x28, 0xDA, 0xFF}}}, - {{{-59, -24, -32},0, {-16, -16},{0x91, 0xCF, 0xDA, 0xFF}}}, - {{{-59, -24, 32},0, {-16, -16},{0x91, 0xCF, 0x26, 0xFF}}}, - {{{-30, -56, 0},0, {-16, -16},{0xC8, 0x8E, 0x0, 0xFF}}}, - {{{-29, -49, -50},0, {-16, -16},{0xCD, 0x9C, 0xC5, 0xFF}}}, - {{{-27, -21, -73},0, {-16, -16},{0xCC, 0xD8, 0x93, 0xFF}}}, - {{{-29, -49, 50},0, {-16, -16},{0xCC, 0x9B, 0x3A, 0xFF}}}, - {{{-27, -21, 74},0, {-16, -16},{0xCC, 0xD6, 0x6C, 0xFF}}}, - {{{-27, 22, 78},0, {-16, -16},{0xCB, 0xD, 0x73, 0xFF}}}, - {{{-71, 46, 26},0, {-16, -16},{0x8D, 0x28, 0x26, 0xFF}}}, - {{{-40, 62, 47},0, {-16, -16},{0xC7, 0x5C, 0x42, 0xFF}}}, - {{{-43, 71, 21},0, {-16, -16},{0xCA, 0x71, 0x13, 0xFF}}}, +ALIGNED8 static const u8 luigi_texture_metal_wings_half_2[] = { +#include "actors/mario/mario_metal_wing_tip_unused.rgba16.inc.c" }; -Gfx luigi_000_offset_001_mesh_tri_0[] = { - gsSPVertex(luigi_000_offset_001_mesh_vtx_0 + 0, 14, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 3, 0, 0), - gsSP1Triangle(3, 4, 0, 0), - gsSP1Triangle(4, 5, 0, 0), - gsSP1Triangle(5, 6, 0, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(10, 7, 9, 0), - gsSP1Triangle(11, 10, 9, 0), - gsSP1Triangle(12, 11, 9, 0), - gsSP1Triangle(9, 13, 12, 0), - gsSPVertex(luigi_000_offset_001_mesh_vtx_0 + 14, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(0, 5, 4, 0), - gsSP1Triangle(3, 4, 6, 0), - gsSP1Triangle(3, 6, 7, 0), - gsSP1Triangle(6, 8, 7, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(10, 9, 8, 0), - gsSP1Triangle(11, 9, 10, 0), - gsSP1Triangle(10, 12, 11, 0), - gsSP1Triangle(13, 12, 10, 0), - gsSP1Triangle(13, 10, 14, 0), - gsSP1Triangle(15, 14, 10, 0), - gsSPVertex(luigi_000_offset_001_mesh_vtx_0 + 30, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 1, 3, 0), - gsSP1Triangle(4, 2, 3, 0), - gsSP1Triangle(3, 5, 4, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(7, 6, 5, 0), - gsSP1Triangle(6, 8, 4, 0), - gsSP1Triangle(9, 8, 6, 0), - gsSP1Triangle(10, 8, 9, 0), - gsSP1Triangle(9, 11, 10, 0), - gsSP1Triangle(11, 12, 10, 0), - gsSP1Triangle(13, 12, 11, 0), - gsSP1Triangle(14, 12, 13, 0), - gsSP1Triangle(15, 14, 13, 0), - gsSPVertex(luigi_000_offset_001_mesh_vtx_0 + 46, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 3, 2, 0), - gsSP1Triangle(1, 4, 3, 0), - gsSP1Triangle(4, 5, 3, 0), - gsSP1Triangle(6, 5, 4, 0), - gsSP1Triangle(6, 4, 7, 0), - gsSP1Triangle(3, 8, 2, 0), - gsSP1Triangle(8, 3, 9, 0), - gsSP1Triangle(8, 9, 10, 0), - gsSP1Triangle(10, 9, 11, 0), - gsSP1Triangle(12, 11, 9, 0), - gsSP1Triangle(13, 11, 12, 0), - gsSP1Triangle(13, 12, 14, 0), - gsSP1Triangle(13, 14, 15, 0), - gsSPVertex(luigi_000_offset_001_mesh_vtx_0 + 62, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(3, 0, 4, 0), - gsSP1Triangle(5, 4, 0, 0), - gsSP1Triangle(0, 6, 5, 0), - gsSP1Triangle(6, 0, 7, 0), - gsSP1Triangle(7, 0, 2, 0), - gsSP1Triangle(8, 6, 7, 0), - gsSP1Triangle(8, 9, 6, 0), - gsSP1Triangle(9, 8, 10, 0), - gsSP1Triangle(10, 11, 9, 0), - gsSP1Triangle(10, 12, 11, 0), - gsSP1Triangle(10, 13, 12, 0), - gsSP1Triangle(12, 13, 14, 0), - gsSP1Triangle(13, 15, 14, 0), - gsSPVertex(luigi_000_offset_001_mesh_vtx_0 + 78, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(1, 3, 4, 0), - gsSP1Triangle(5, 1, 4, 0), - gsSP1Triangle(6, 1, 5, 0), - gsSP1Triangle(6, 5, 7, 0), - gsSP1Triangle(8, 7, 5, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(10, 9, 8, 0), - gsSP1Triangle(10, 8, 11, 0), - gsSP1Triangle(10, 11, 12, 0), - gsSP1Triangle(13, 12, 11, 0), - gsSP1Triangle(12, 13, 14, 0), - gsSP1Triangle(14, 10, 12, 0), - gsSP1Triangle(9, 10, 14, 0), - gsSP1Triangle(9, 14, 6, 0), - gsSP1Triangle(14, 15, 6, 0), - gsSPVertex(luigi_000_offset_001_mesh_vtx_0 + 94, 12, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 1, 3, 0), - gsSP1Triangle(3, 1, 4, 0), - gsSP1Triangle(5, 4, 1, 0), - gsSP1Triangle(3, 6, 2, 0), - gsSP1Triangle(6, 7, 2, 0), - gsSP1Triangle(2, 7, 8, 0), - gsSP1Triangle(8, 9, 2, 0), - gsSP1Triangle(10, 11, 9, 0), - gsSPEndDisplayList(), -};Vtx luigi_000_offset_001_mesh_vtx_1[31] = { - {{{54, -50, 0},0, {-16, -16},{0x2D, 0x89, 0x0, 0xFF}}}, - {{{93, -27, -19},0, {-16, -16},{0x66, 0xB7, 0xEC, 0xFF}}}, - {{{93, -27, 20},0, {-16, -16},{0x66, 0xB7, 0x14, 0xFF}}}, - {{{100, 1, -17},0, {-16, -16},{0x7B, 0x15, 0xE7, 0xFF}}}, - {{{100, 1, 18},0, {-16, -16},{0x7B, 0x15, 0x19, 0xFF}}}, - {{{82, 29, -20},0, {-16, -16},{0x62, 0x4E, 0xE8, 0xFF}}}, - {{{82, 29, 20},0, {-16, -16},{0x61, 0x4E, 0x17, 0xFF}}}, - {{{48, 60, -28},0, {-16, -16},{0x45, 0x67, 0xE5, 0xFF}}}, - {{{48, 60, 29},0, {-16, -16},{0x45, 0x67, 0x1B, 0xFF}}}, - {{{20, -50, 56},0, {-16, -16},{0xE, 0x98, 0x47, 0xFF}}}, - {{{46, -27, 68},0, {-16, -16},{0x26, 0xC9, 0x6C, 0xFF}}}, - {{{6, -8, 78},0, {-16, -16},{0x7, 0xE8, 0x7D, 0xFF}}}, - {{{66, -40, 40},0, {-16, -16},{0x37, 0x96, 0x2C, 0xFF}}}, - {{{84, -21, 49},0, {-16, -16},{0x5A, 0xD7, 0x4F, 0xFF}}}, - {{{47, 2, 72},0, {-16, -16},{0x2F, 0x9, 0x76, 0xFF}}}, - {{{80, 11, 48},0, {-16, -16},{0x5B, 0x28, 0x4F, 0xFF}}}, - {{{44, 41, 60},0, {-16, -16},{0x3F, 0x31, 0x63, 0xFF}}}, - {{{47, 2, 72},0, {-16, -16},{0x2F, 0x9, 0x76, 0xFF}}}, - {{{80, 11, 48},0, {-16, -16},{0x5B, 0x28, 0x4F, 0xFF}}}, - {{{13, 27, 76},0, {-16, -16},{0x15, 0x18, 0x7B, 0xFF}}}, - {{{6, -8, 78},0, {-16, -16},{0x7, 0xE8, 0x7D, 0xFF}}}, - {{{46, -27, 68},0, {-16, -16},{0x26, 0xC9, 0x6C, 0xFF}}}, - {{{6, -8, -77},0, {-16, -16},{0x6, 0xE9, 0x83, 0xFF}}}, - {{{46, -27, -67},0, {-16, -16},{0x26, 0xC9, 0x94, 0xFF}}}, - {{{20, -50, -55},0, {-16, -16},{0xE, 0x98, 0xB9, 0xFF}}}, - {{{47, 2, -71},0, {-16, -16},{0x2F, 0x8, 0x8A, 0xFF}}}, - {{{12, 27, -75},0, {-16, -16},{0x12, 0x19, 0x85, 0xFF}}}, - {{{43, 41, -60},0, {-16, -16},{0x3D, 0x31, 0x9C, 0xFF}}}, - {{{80, 11, -47},0, {-16, -16},{0x5B, 0x28, 0xB1, 0xFF}}}, - {{{84, -21, -48},0, {-16, -16},{0x5A, 0xD7, 0xB1, 0xFF}}}, - {{{66, -40, -39},0, {-16, -16},{0x37, 0x96, 0xD4, 0xFF}}}, +static const Vtx luigi_butt_dl_vertex[76] = { + {{{-7, -65, 43},0, {0, 0},{0xDA, 0x94, 0x38, 0xFF}}}, + {{{-13, -71, 0},0, {0, 0},{0xD4, 0x89, 0x0, 0xFF}}}, + {{{35, -67, 37},0, {0, 0},{0x17, 0x88, 0x23, 0xFF}}}, + {{{-33, -51, 33},0, {0, 0},{0x96, 0xC5, 0x26, 0xFF}}}, + {{{8, -47, 70},0, {0, 0},{0xEA, 0xBB, 0x69, 0xFF}}}, + {{{46, -48, 64},0, {0, 0},{0x33, 0xB9, 0x5C, 0xFF}}}, + {{{69, -55, 29},0, {0, 0},{0x60, 0xB3, 0x20, 0xFF}}}, + {{{35, -67, -37},0, {0, 0},{0x18, 0x88, 0xDD, 0xFF}}}, + {{{-7, -65, -45},0, {0, 0},{0xD8, 0x97, 0xC5, 0xFF}}}, + {{{-33, -50, -34},0, {0, 0},{0x96, 0xC7, 0xD8, 0xFF}}}, + {{{-38, 31, -32},0, {0, 0},{0x8B, 0x28, 0xE3, 0xFF}}}, + {{{-38, 30, 31},0, {0, 0},{0x8B, 0x28, 0x1C, 0xFF}}}, + {{{-23, -11, 65},0, {0, 0},{0xA8, 0xF2, 0x5B, 0xFF}}}, + {{{11, -10, 80},0, {0, 0},{0xF2, 0xF9, 0x7E, 0xFF}}}, + {{{53, -9, 74},0, {0, 0},{0x49, 0xF6, 0x68, 0xFF}}}, + {{{86, 10, 0},0, {0, 0},{0x7E, 0xD, 0x0, 0xFF}}}, + {{{69, -55, 29},0, {0, 0},{0x60, 0xB3, 0x20, 0xFF}}}, + {{{69, -55, -29},0, {0, 0},{0x60, 0xB3, 0xE1, 0xFF}}}, + {{{86, 10, 0},0, {0, 0},{0x7E, 0xD, 0x0, 0xFF}}}, + {{{35, -67, -37},0, {0, 0},{0x18, 0x88, 0xDD, 0xFF}}}, + {{{46, -48, -64},0, {0, 0},{0x33, 0xB8, 0xA4, 0xFF}}}, + {{{9, -47, -70},0, {0, 0},{0xEB, 0xBC, 0x97, 0xFF}}}, + {{{-7, -65, -45},0, {0, 0},{0xD8, 0x97, 0xC5, 0xFF}}}, + {{{-33, -50, -34},0, {0, 0},{0x96, 0xC7, 0xD8, 0xFF}}}, + {{{-22, -11, -65},0, {0, 0},{0xA9, 0xF1, 0xA4, 0xFF}}}, + {{{-38, 31, -32},0, {0, 0},{0x8B, 0x28, 0xE3, 0xFF}}}, + {{{-21, 23, -65},0, {0, 0},{0xAD, 0x1E, 0xA4, 0xFF}}}, + {{{-7, 48, -58},0, {0, 0},{0xCD, 0x56, 0xB1, 0xFF}}}, + {{{-13, 61, -27},0, {0, 0},{0xBF, 0x6A, 0xE7, 0xFF}}}, + {{{-13, 61, 26},0, {0, 0},{0xBE, 0x6A, 0x19, 0xFF}}}, + {{{-38, 30, 31},0, {0, 0},{0x8B, 0x28, 0x1C, 0xFF}}}, + {{{-7, 48, 57},0, {0, 0},{0xCE, 0x56, 0x4F, 0xFF}}}, + {{{-22, 23, 64},0, {0, 0},{0xAD, 0x20, 0x5B, 0xFF}}}, + {{{-7, 48, 57},0, {0, 0},{0xCE, 0x56, 0x4F, 0xFF}}}, + {{{-38, 30, 31},0, {0, 0},{0x8B, 0x28, 0x1C, 0xFF}}}, + {{{-23, -11, 65},0, {0, 0},{0xA8, 0xF2, 0x5B, 0xFF}}}, + {{{8, 26, 75},0, {0, 0},{0xEC, 0x27, 0x77, 0xFF}}}, + {{{11, -10, 80},0, {0, 0},{0xF2, 0xF9, 0x7E, 0xFF}}}, + {{{53, -9, 74},0, {0, 0},{0x49, 0xF6, 0x68, 0xFF}}}, + {{{50, 34, 73},0, {0, 0},{0x3D, 0x2D, 0x66, 0xFF}}}, + {{{86, 10, 0},0, {0, 0},{0x7E, 0xD, 0x0, 0xFF}}}, + {{{58, 62, 31},0, {0, 0},{0x50, 0x5D, 0x20, 0xFF}}}, + {{{58, 62, -31},0, {0, 0},{0x51, 0x5D, 0xE0, 0xFF}}}, + {{{50, 34, -73},0, {0, 0},{0x3F, 0x2D, 0x9B, 0xFF}}}, + {{{54, -10, -74},0, {0, 0},{0x4B, 0xF5, 0x9A, 0xFF}}}, + {{{69, -55, -29},0, {0, 0},{0x60, 0xB3, 0xE1, 0xFF}}}, + {{{46, -48, -64},0, {0, 0},{0x33, 0xB8, 0xA4, 0xFF}}}, + {{{13, -10, -80},0, {0, 0},{0xF3, 0xF5, 0x82, 0xFF}}}, + {{{9, -47, -70},0, {0, 0},{0xEB, 0xBC, 0x97, 0xFF}}}, + {{{13, -10, -80},0, {0, 0},{0xF3, 0xF5, 0x82, 0xFF}}}, + {{{46, -48, -64},0, {0, 0},{0x33, 0xB8, 0xA4, 0xFF}}}, + {{{-22, -11, -65},0, {0, 0},{0xA9, 0xF1, 0xA4, 0xFF}}}, + {{{8, 26, -77},0, {0, 0},{0xEC, 0x25, 0x88, 0xFF}}}, + {{{-21, 23, -65},0, {0, 0},{0xAD, 0x1E, 0xA4, 0xFF}}}, + {{{-7, 48, -58},0, {0, 0},{0xCD, 0x56, 0xB1, 0xFF}}}, + {{{31, 62, -51},0, {0, 0},{0x8, 0x6B, 0xBB, 0xFF}}}, + {{{-13, 61, -27},0, {0, 0},{0xBF, 0x6A, 0xE7, 0xFF}}}, + {{{24, 71, -21},0, {0, 0},{0xFE, 0x7E, 0xF0, 0xFF}}}, + {{{-13, 61, 26},0, {0, 0},{0xBE, 0x6A, 0x19, 0xFF}}}, + {{{24, 71, 21},0, {0, 0},{0xFE, 0x7E, 0x11, 0xFF}}}, + {{{31, 62, 50},0, {0, 0},{0x7, 0x6A, 0x45, 0xFF}}}, + {{{-7, 48, 57},0, {0, 0},{0xCE, 0x56, 0x4F, 0xFF}}}, + {{{8, 26, 75},0, {0, 0},{0xEC, 0x27, 0x77, 0xFF}}}, + {{{-22, 23, 64},0, {0, 0},{0xAD, 0x20, 0x5B, 0xFF}}}, + {{{50, 34, 73},0, {0, 0},{0x3D, 0x2D, 0x66, 0xFF}}}, + {{{31, 62, 50},0, {0, 0},{0x7, 0x6A, 0x45, 0xFF}}}, + {{{8, 26, 75},0, {0, 0},{0xEC, 0x27, 0x77, 0xFF}}}, + {{{58, 62, 31},0, {0, 0},{0x50, 0x5D, 0x20, 0xFF}}}, + {{{24, 71, 21},0, {0, 0},{0xFE, 0x7E, 0x11, 0xFF}}}, + {{{24, 71, -21},0, {0, 0},{0xFE, 0x7E, 0xF0, 0xFF}}}, + {{{58, 62, -31},0, {0, 0},{0x51, 0x5D, 0xE0, 0xFF}}}, + {{{31, 62, -51},0, {0, 0},{0x8, 0x6B, 0xBB, 0xFF}}}, + {{{50, 34, -73},0, {0, 0},{0x3F, 0x2D, 0x9B, 0xFF}}}, + {{{8, 26, -77},0, {0, 0},{0xEC, 0x25, 0x88, 0xFF}}}, + {{{54, -10, -74},0, {0, 0},{0x4B, 0xF5, 0x9A, 0xFF}}}, + {{{13, -10, -80},0, {0, 0},{0xF3, 0xF5, 0x82, 0xFF}}}, }; -Gfx luigi_000_offset_001_mesh_tri_1[] = { - gsSPVertex(luigi_000_offset_001_mesh_vtx_1 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 2, 1, 0), - gsSP1Triangle(3, 4, 2, 0), - gsSP1Triangle(4, 3, 5, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(7, 6, 5, 0), - gsSP1Triangle(7, 8, 6, 0), - gsSP1Triangle(9, 10, 11, 0), - gsSP1Triangle(9, 12, 10, 0), - gsSP1Triangle(13, 10, 12, 0), - gsSP1Triangle(14, 10, 13, 0), - gsSP1Triangle(15, 14, 13, 0), - gsSPVertex(luigi_000_offset_001_mesh_vtx_1 + 16, 15, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(3, 4, 1, 0), - gsSP1Triangle(5, 1, 4, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(6, 9, 7, 0), - gsSP1Triangle(6, 10, 9, 0), - gsSP1Triangle(9, 10, 11, 0), - gsSP1Triangle(12, 9, 11, 0), - gsSP1Triangle(13, 9, 12, 0), - gsSP1Triangle(13, 7, 9, 0), - gsSP1Triangle(14, 7, 13, 0), - gsSP1Triangle(7, 14, 8, 0), - gsSPEndDisplayList(), +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(), }; -Vtx luigi_000_displaylist_mesh_vtx_0[95] = { - {{{95, 84, 18},0, {708, 942},{0x46, 0x41, 0x54, 0xFF}}}, - {{{101, 71, 54},0, {1122, 848},{0x12, 0x67, 0x48, 0xFF}}}, - {{{138, 70, 53},0, {1092, 412},{0x15, 0x5C, 0x55, 0xFF}}}, - {{{167, 78, 31},0, {826, 96},{0x19, 0x74, 0x2D, 0xFF}}}, - {{{147, 27, 77},0, {1346, 280},{0xF, 0x36, 0x72, 0xFF}}}, - {{{139, 85, 0},0, {464, 430},{0xD, 0x7E, 0x0, 0xFF}}}, - {{{167, 78, -30},0, {90, 114},{0x19, 0x74, 0xD3, 0xFF}}}, - {{{95, 84, -18},0, {240, 954},{0x41, 0x42, 0xAA, 0xFF}}}, - {{{138, 70, -52},0, {-162, 444},{0x15, 0x5C, 0xAB, 0xFF}}}, - {{{147, 27, -76},0, {-420, 326},{0xF, 0x36, 0x8E, 0xFF}}}, - {{{101, 71, -53},0, {-176, 882},{0x12, 0x67, 0xB8, 0xFF}}}, - {{{90, 68, 65},0, {-16, -16},{0x1C, 0x4E, 0x61, 0xFF}}}, - {{{101, 71, 54},0, {-16, -16},{0x12, 0x67, 0x48, 0xFF}}}, - {{{95, 84, 18},0, {-16, -16},{0x46, 0x41, 0x54, 0xFF}}}, - {{{94, 39, 74},0, {-16, -16},{0xFF, 0x2B, 0x78, 0xFF}}}, - {{{46, 34, 71},0, {-16, -16},{0xD4, 0x1C, 0x74, 0xFF}}}, - {{{138, 70, 53},0, {-16, -16},{0x15, 0x5C, 0x55, 0xFF}}}, - {{{101, 71, 54},0, {-16, -16},{0x12, 0x67, 0x48, 0xFF}}}, - {{{94, 39, 74},0, {-16, -16},{0xFF, 0x2B, 0x78, 0xFF}}}, - {{{147, 27, 77},0, {-16, -16},{0xF, 0x36, 0x72, 0xFF}}}, - {{{44, 0, -75},0, {-16, -16},{0xBC, 0xFE, 0x95, 0xFF}}}, - {{{-3, 40, -33},0, {-16, -16},{0x96, 0x1E, 0xC1, 0xFF}}}, - {{{46, 34, -70},0, {-16, -16},{0xD4, 0x1F, 0x8D, 0xFF}}}, - {{{13, -39, -33},0, {-16, -16},{0x95, 0xD8, 0xC8, 0xFF}}}, - {{{57, -35, -57},0, {-16, -16},{0xC0, 0xA9, 0xBE, 0xFF}}}, - {{{62, -19, -107},0, {-16, -16},{0xCF, 0x8, 0x8B, 0xFF}}}, - {{{84, -18, -87},0, {-16, -16},{0xFF, 0x5D, 0xAA, 0xFF}}}, - {{{99, -26, -109},0, {-16, -16},{0x2E, 0xEE, 0x8B, 0xFF}}}, - {{{116, -9, -88},0, {-16, -16},{0x17, 0x1C, 0x86, 0xFF}}}, - {{{89, -43, -66},0, {-16, -16},{0x0, 0x88, 0xD7, 0xFF}}}, - {{{-12, 46, 0},0, {-16, -16},{0x88, 0x29, 0xFF, 0xFF}}}, - {{{13, -39, 34},0, {-16, -16},{0x95, 0xD9, 0x38, 0xFF}}}, - {{{13, -39, 34},0, {-16, -16},{0x95, 0xD9, 0x38, 0xFF}}}, - {{{-3, 40, 34},0, {-16, -16},{0x96, 0x1E, 0x3F, 0xFF}}}, - {{{-12, 46, 0},0, {-16, -16},{0x88, 0x29, 0xFF, 0xFF}}}, - {{{44, 0, 75},0, {-16, -16},{0xBC, 0xFE, 0x6B, 0xFF}}}, - {{{57, -35, 58},0, {-16, -16},{0xBF, 0xAA, 0x42, 0xFF}}}, - {{{62, -19, 108},0, {-16, -16},{0xCF, 0x9, 0x75, 0xFF}}}, - {{{89, -43, 67},0, {-16, -16},{0x0, 0x88, 0x29, 0xFF}}}, - {{{99, -26, 109},0, {-16, -16},{0x2E, 0xED, 0x75, 0xFF}}}, - {{{116, -9, 89},0, {-16, -16},{0x17, 0x1B, 0x7A, 0xFF}}}, - {{{84, -18, 88},0, {-16, -16},{0xFF, 0x5D, 0x56, 0xFF}}}, - {{{46, 34, 71},0, {-16, -16},{0xD4, 0x1C, 0x74, 0xFF}}}, - {{{90, 68, -64},0, {-16, -16},{0x1C, 0x4E, 0x9F, 0xFF}}}, - {{{94, 39, -73},0, {-16, -16},{0x0, 0x2B, 0x88, 0xFF}}}, - {{{46, 34, -70},0, {-16, -16},{0xD4, 0x1F, 0x8D, 0xFF}}}, - {{{101, 71, -53},0, {-16, -16},{0x12, 0x67, 0xB8, 0xFF}}}, - {{{95, 84, -18},0, {-16, -16},{0x41, 0x42, 0xAA, 0xFF}}}, - {{{94, 39, -73},0, {-16, -16},{0x0, 0x2B, 0x88, 0xFF}}}, - {{{101, 71, -53},0, {-16, -16},{0x12, 0x67, 0xB8, 0xFF}}}, - {{{138, 70, -52},0, {-16, -16},{0x15, 0x5C, 0xAB, 0xFF}}}, - {{{147, 27, -76},0, {-16, -16},{0xF, 0x36, 0x8E, 0xFF}}}, - {{{139, 85, 0},0, {464, 430},{0xD, 0x7E, 0x0, 0xFF}}}, - {{{105, 86, 0},0, {472, 838},{0x5C, 0x58, 0x0, 0xFF}}}, - {{{95, 84, 18},0, {708, 942},{0x46, 0x41, 0x54, 0xFF}}}, - {{{95, 84, -18},0, {240, 954},{0x41, 0x42, 0xAA, 0xFF}}}, - {{{76, 87, 25},0, {-16, -16},{0xA, 0x24, 0x79, 0xFF}}}, - {{{95, 84, 18},0, {-16, -16},{0x46, 0x41, 0x54, 0xFF}}}, - {{{99, 106, 34},0, {-16, -16},{0x48, 0xD9, 0x61, 0xFF}}}, - {{{112, 107, 0},0, {-16, -16},{0x7B, 0xE0, 0xFF, 0xFF}}}, - {{{105, 86, 0},0, {-16, -16},{0x5C, 0x58, 0x0, 0xFF}}}, - {{{95, 84, -18},0, {-16, -16},{0x41, 0x42, 0xAA, 0xFF}}}, - {{{99, 106, -32},0, {-16, -16},{0x4A, 0xDA, 0xA0, 0xFF}}}, - {{{76, 87, -24},0, {-16, -16},{0xA, 0x25, 0x87, 0xFF}}}, - {{{75, 105, -36},0, {-16, -16},{0xFC, 0xDC, 0x86, 0xFF}}}, - {{{99, 106, -32},0, {-16, -16},{0x4A, 0xDA, 0xA0, 0xFF}}}, - {{{76, 87, -24},0, {-16, -16},{0xA, 0x25, 0x87, 0xFF}}}, - {{{54, 104, -31},0, {-16, -16},{0xB5, 0xE3, 0x9D, 0xFF}}}, - {{{55, 88, -20},0, {-16, -16},{0xB2, 0x33, 0xAA, 0xFF}}}, - {{{39, 104, 0},0, {-16, -16},{0x82, 0xED, 0xFF, 0xFF}}}, - {{{46, 86, 0},0, {-16, -16},{0x93, 0x41, 0x0, 0xFF}}}, - {{{55, 88, 20},0, {-16, -16},{0xAE, 0x32, 0x53, 0xFF}}}, - {{{54, 104, 32},0, {-16, -16},{0xB5, 0xE1, 0x62, 0xFF}}}, - {{{76, 87, 25},0, {-16, -16},{0xA, 0x24, 0x79, 0xFF}}}, - {{{75, 105, 37},0, {-16, -16},{0xFA, 0xDC, 0x7A, 0xFF}}}, - {{{99, 106, 34},0, {-16, -16},{0x48, 0xD9, 0x61, 0xFF}}}, - {{{103, 135, 34},0, {-16, -16},{0x48, 0x33, 0x5C, 0xFF}}}, - {{{112, 107, 0},0, {-16, -16},{0x7B, 0xE0, 0xFF, 0xFF}}}, - {{{116, 135, 0},0, {-16, -16},{0x7B, 0x21, 0x0, 0xFF}}}, - {{{103, 137, -33},0, {-16, -16},{0x47, 0x34, 0xA5, 0xFF}}}, - {{{75, 105, -36},0, {-16, -16},{0xFC, 0xDC, 0x86, 0xFF}}}, - {{{80, 138, -36},0, {-16, -16},{0x2, 0x41, 0x93, 0xFF}}}, - {{{103, 137, -33},0, {-16, -16},{0x47, 0x34, 0xA5, 0xFF}}}, - {{{57, 141, -31},0, {-16, -16},{0xC3, 0x43, 0xA7, 0xFF}}}, - {{{54, 104, -31},0, {-16, -16},{0xB5, 0xE3, 0x9D, 0xFF}}}, - {{{39, 104, 0},0, {-16, -16},{0x82, 0xED, 0xFF, 0xFF}}}, - {{{41, 141, 0},0, {-16, -16},{0x91, 0x3E, 0x0, 0xFF}}}, - {{{54, 104, 32},0, {-16, -16},{0xB5, 0xE1, 0x62, 0xFF}}}, - {{{57, 139, 32},0, {-16, -16},{0xC4, 0x40, 0x5B, 0xFF}}}, - {{{75, 105, 37},0, {-16, -16},{0xFA, 0xDC, 0x7A, 0xFF}}}, - {{{80, 136, 37},0, {-16, -16},{0x2, 0x3F, 0x6E, 0xFF}}}, - {{{103, 135, 34},0, {-16, -16},{0x48, 0x33, 0x5C, 0xFF}}}, - {{{102, 151, 0},0, {-16, -16},{0x36, 0x73, 0x2, 0xFF}}}, - {{{116, 135, 0},0, {-16, -16},{0x7B, 0x21, 0x0, 0xFF}}}, - {{{66, 155, 0},0, {-16, -16},{0xEC, 0x7D, 0x2, 0xFF}}}, -}; - -Gfx luigi_000_displaylist_mesh_tri_0[] = { - gsSPVertex(luigi_000_displaylist_mesh_vtx_0 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 3, 0, 0), - gsSP1Triangle(4, 3, 2, 0), - gsSP1Triangle(3, 5, 0, 0), - gsSP1Triangle(6, 5, 3, 0), - gsSP1Triangle(7, 5, 6, 0), - gsSP1Triangle(7, 6, 8, 0), - gsSP1Triangle(8, 6, 9, 0), - gsSP1Triangle(10, 7, 8, 0), - gsSP1Triangle(11, 12, 13, 0), - gsSP1Triangle(12, 11, 14, 0), - gsSP1Triangle(15, 14, 11, 0), - gsSPVertex(luigi_000_displaylist_mesh_vtx_0 + 16, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 3, 0, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(4, 7, 5, 0), - gsSP1Triangle(4, 8, 7, 0), - gsSP1Triangle(4, 9, 8, 0), - gsSP1Triangle(10, 9, 4, 0), - gsSP1Triangle(10, 11, 9, 0), - gsSP1Triangle(11, 10, 12, 0), - gsSP1Triangle(11, 12, 13, 0), - gsSP1Triangle(9, 11, 13, 0), - gsSP1Triangle(8, 9, 13, 0), - gsSP1Triangle(7, 14, 5, 0), - gsSP1Triangle(7, 15, 14, 0), - gsSPVertex(luigi_000_displaylist_mesh_vtx_0 + 32, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(0, 4, 3, 0), - gsSP1Triangle(5, 3, 4, 0), - gsSP1Triangle(5, 4, 6, 0), - gsSP1Triangle(5, 6, 7, 0), - gsSP1Triangle(6, 8, 7, 0), - gsSP1Triangle(8, 9, 7, 0), - gsSP1Triangle(5, 7, 9, 0), - gsSP1Triangle(3, 5, 9, 0), - gsSP1Triangle(10, 1, 3, 0), - gsSP1Triangle(11, 12, 13, 0), - gsSP1Triangle(12, 11, 14, 0), - gsSP1Triangle(11, 15, 14, 0), - gsSPVertex(luigi_000_displaylist_mesh_vtx_0 + 48, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 3, 0, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(7, 5, 4, 0), - gsSP1Triangle(8, 9, 10, 0), - gsSP1Triangle(11, 10, 9, 0), - gsSP1Triangle(9, 12, 11, 0), - gsSP1Triangle(11, 12, 13, 0), - gsSP1Triangle(13, 14, 11, 0), - gsSP1Triangle(14, 13, 15, 0), - gsSPVertex(luigi_000_displaylist_mesh_vtx_0 + 64, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 0, 2, 0), - gsSP1Triangle(2, 4, 3, 0), - gsSP1Triangle(5, 3, 4, 0), - gsSP1Triangle(4, 6, 5, 0), - gsSP1Triangle(5, 6, 7, 0), - gsSP1Triangle(7, 8, 5, 0), - gsSP1Triangle(8, 7, 9, 0), - gsSP1Triangle(10, 8, 9, 0), - gsSP1Triangle(11, 10, 9, 0), - gsSP1Triangle(10, 11, 12, 0), - gsSP1Triangle(12, 11, 13, 0), - gsSP1Triangle(14, 12, 13, 0), - gsSP1Triangle(13, 1, 14, 0), - gsSP1Triangle(1, 15, 14, 0), - gsSP1Triangle(0, 15, 1, 0), - gsSPVertex(luigi_000_displaylist_mesh_vtx_0 + 80, 15, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(6, 3, 5, 0), - gsSP1Triangle(5, 7, 6, 0), - gsSP1Triangle(7, 8, 6, 0), - gsSP1Triangle(8, 7, 9, 0), - gsSP1Triangle(8, 9, 10, 0), - gsSP1Triangle(10, 9, 11, 0), - gsSP1Triangle(11, 12, 10, 0), - gsSP1Triangle(12, 11, 13, 0), - gsSP1Triangle(12, 13, 2, 0), - gsSP1Triangle(12, 2, 1, 0), - gsSP1Triangle(1, 14, 12, 0), - gsSP1Triangle(14, 1, 3, 0), - gsSP1Triangle(6, 14, 3, 0), - gsSP1Triangle(6, 8, 14, 0), - gsSP1Triangle(8, 10, 14, 0), - gsSP1Triangle(14, 10, 12, 0), - gsSPEndDisplayList(), -};Vtx luigi_000_displaylist_mesh_vtx_1[12] = { - {{{94, 39, 74},0, {-90, 710},{0xFF, 0x2B, 0x78, 0xFF}}}, - {{{46, 34, 71},0, {180, 1350},{0xD4, 0x1C, 0x74, 0xFF}}}, - {{{44, 0, 75},0, {952, 1176},{0xBC, 0xFE, 0x6B, 0xFF}}}, - {{{84, -18, 88},0, {1222, 502},{0xFF, 0x5D, 0x56, 0xFF}}}, - {{{116, -9, 89},0, {906, 106},{0x17, 0x1B, 0x7A, 0xFF}}}, - {{{147, 27, 77},0, {6, -84},{0xF, 0x36, 0x72, 0xFF}}}, - {{{44, 0, -75},0, {826, 1194},{0xBC, 0xFE, 0x95, 0xFF}}}, - {{{46, 34, -70},0, {102, 1318},{0xD4, 0x1F, 0x8D, 0xFF}}}, - {{{94, 39, -73},0, {-86, 684},{0x0, 0x2B, 0x88, 0xFF}}}, - {{{84, -18, -87},0, {1134, 566},{0xFF, 0x5D, 0xAA, 0xFF}}}, - {{{116, -9, -88},0, {900, 168},{0x17, 0x1C, 0x86, 0xFF}}}, - {{{147, 27, -76},0, {74, -74},{0xF, 0x36, 0x8E, 0xFF}}}, -}; - -Gfx luigi_000_displaylist_mesh_tri_1[] = { - gsSPVertex(luigi_000_displaylist_mesh_vtx_1 + 0, 12, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 3, 0, 0), - gsSP1Triangle(3, 4, 0, 0), - gsSP1Triangle(5, 0, 4, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(8, 9, 6, 0), - gsSP1Triangle(9, 8, 10, 0), - gsSP1Triangle(10, 8, 11, 0), - gsSPEndDisplayList(), -};Vtx luigi_000_displaylist_mesh_vtx_2[27] = { - {{{30, 78, 21},0, {426, 966},{0xBD, 0x68, 0x1D, 0xFF}}}, - {{{55, 88, 20},0, {338, 674},{0xAE, 0x32, 0x53, 0xFF}}}, - {{{46, 86, 0},0, {54, 908},{0x93, 0x41, 0x0, 0xFF}}}, - {{{49, 71, 58},0, {872, 548},{0xD8, 0x54, 0x56, 0xFF}}}, - {{{-3, 40, 34},0, {876, 1074},{0x96, 0x1E, 0x3F, 0xFF}}}, - {{{46, 34, 71},0, {1280, 422},{0xD4, 0x1C, 0x74, 0xFF}}}, - {{{90, 68, 65},0, {882, -34},{0x1C, 0x4E, 0x61, 0xFF}}}, - {{{76, 87, 25},0, {326, 352},{0xA, 0x24, 0x79, 0xFF}}}, - {{{95, 84, 18},0, {208, 130},{0x46, 0x41, 0x54, 0xFF}}}, - {{{46, 86, 0},0, {34, 884},{0x93, 0x41, 0x0, 0xFF}}}, - {{{55, 88, -20},0, {324, 668},{0xB2, 0x33, 0xAA, 0xFF}}}, - {{{30, 78, -20},0, {378, 982},{0xBD, 0x68, 0xE3, 0xFF}}}, - {{{49, 71, -56},0, {840, 592},{0xD8, 0x55, 0xAB, 0xFF}}}, - {{{76, 87, -24},0, {346, 328},{0xA, 0x25, 0x87, 0xFF}}}, - {{{90, 68, -64},0, {906, -20},{0x1C, 0x4E, 0x9F, 0xFF}}}, - {{{95, 84, -18},0, {258, 84},{0x41, 0x42, 0xAA, 0xFF}}}, - {{{90, 68, -64},0, {906, -20},{0x1C, 0x4E, 0x9F, 0xFF}}}, - {{{46, 34, -70},0, {1234, 502},{0xD4, 0x1F, 0x8D, 0xFF}}}, - {{{49, 71, -56},0, {840, 592},{0xD8, 0x55, 0xAB, 0xFF}}}, - {{{-3, 40, -33},0, {790, 1146},{0x96, 0x1E, 0xC1, 0xFF}}}, - {{{30, 78, -20},0, {378, 982},{0xBD, 0x68, 0xE3, 0xFF}}}, - {{{46, 86, 0},0, {-16, -16},{0x93, 0x41, 0x0, 0xFF}}}, - {{{30, 78, -20},0, {-16, -16},{0xBD, 0x68, 0xE3, 0xFF}}}, - {{{30, 78, 21},0, {-16, -16},{0xBD, 0x68, 0x1D, 0xFF}}}, - {{{-12, 46, 0},0, {-16, -16},{0x88, 0x29, 0xFF, 0xFF}}}, - {{{-3, 40, -33},0, {-16, -16},{0x96, 0x1E, 0xC1, 0xFF}}}, - {{{-3, 40, 34},0, {-16, -16},{0x96, 0x1E, 0x3F, 0xFF}}}, -}; - -Gfx luigi_000_displaylist_mesh_tri_2[] = { - gsSPVertex(luigi_000_displaylist_mesh_vtx_2 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(5, 3, 4, 0), - gsSP1Triangle(3, 5, 6, 0), - gsSP1Triangle(6, 7, 3, 0), - gsSP1Triangle(7, 6, 8, 0), - gsSP1Triangle(7, 1, 3, 0), - gsSP1Triangle(9, 10, 11, 0), - gsSP1Triangle(10, 12, 11, 0), - gsSP1Triangle(12, 10, 13, 0), - gsSP1Triangle(12, 13, 14, 0), - gsSP1Triangle(14, 13, 15, 0), - gsSPVertex(luigi_000_displaylist_mesh_vtx_2 + 16, 11, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 2, 1, 0), - gsSP1Triangle(4, 2, 3, 0), - gsSP1Triangle(5, 6, 7, 0), - gsSP1Triangle(7, 6, 8, 0), - gsSP1Triangle(6, 9, 8, 0), - gsSP1Triangle(8, 10, 7, 0), - gsSPEndDisplayList(), -};Vtx luigi_000_displaylist_mesh_vtx_3[29] = { - {{{57, -35, -57},0, {-16, -16},{0xF1, 0xF7, 0x82, 0xFF}}}, - {{{89, -43, -66},0, {-16, -16},{0xD5, 0xCD, 0x94, 0xFF}}}, - {{{64, -82, -38},0, {-16, -16},{0x3E, 0x99, 0xD7, 0xFF}}}, - {{{55, -91, -44},0, {-16, -16},{0x46, 0x9E, 0xD8, 0xFF}}}, - {{{34, -91, -25},0, {-16, -16},{0xEC, 0x94, 0x40, 0xFF}}}, - {{{30, -65, 0},0, {-16, -16},{0xA7, 0xA6, 0x1, 0xFF}}}, - {{{64, -82, 38},0, {-16, -16},{0x3E, 0x97, 0x24, 0xFF}}}, - {{{34, -91, 26},0, {-16, -16},{0xEC, 0x93, 0xC2, 0xFF}}}, - {{{55, -91, 45},0, {-16, -16},{0x45, 0x9E, 0x29, 0xFF}}}, - {{{57, -35, 58},0, {-16, -16},{0xF0, 0xF6, 0x7E, 0xFF}}}, - {{{89, -43, 67},0, {-16, -16},{0xD4, 0xCB, 0x6B, 0xFF}}}, - {{{30, -66, 65},0, {-16, -16},{0xE4, 0xFA, 0x7C, 0xFF}}}, - {{{13, -39, 34},0, {-16, -16},{0x86, 0x19, 0x19, 0xFF}}}, - {{{5, -67, 42},0, {-16, -16},{0x84, 0xEB, 0x15, 0xFF}}}, - {{{13, -39, -33},0, {-16, -16},{0x86, 0x1B, 0xEB, 0xFF}}}, - {{{5, -67, -42},0, {-16, -16},{0x84, 0xEA, 0xEE, 0xFF}}}, - {{{26, -66, -65},0, {-16, -16},{0xDC, 0xFA, 0x86, 0xFF}}}, - {{{5, -67, -42},0, {-16, -16},{0x84, 0xEA, 0xEE, 0xFF}}}, - {{{13, -39, -33},0, {-16, -16},{0x86, 0x1B, 0xEB, 0xFF}}}, - {{{57, -35, -57},0, {-16, -16},{0xF1, 0xF7, 0x82, 0xFF}}}, - {{{55, -91, -44},0, {-16, -16},{0x46, 0x9E, 0xD8, 0xFF}}}, - {{{33, -94, -49},0, {-16, -16},{0xE4, 0x91, 0xC9, 0xFF}}}, - {{{34, -91, -25},0, {-16, -16},{0xEC, 0x94, 0x40, 0xFF}}}, - {{{30, -65, 0},0, {-16, -16},{0xA7, 0xA6, 0x1, 0xFF}}}, - {{{34, -91, 26},0, {-16, -16},{0xEC, 0x93, 0xC2, 0xFF}}}, - {{{5, -67, 42},0, {-16, -16},{0x84, 0xEB, 0x15, 0xFF}}}, - {{{33, -94, 50},0, {-16, -16},{0xE2, 0x93, 0x3A, 0xFF}}}, - {{{55, -91, 45},0, {-16, -16},{0x45, 0x9E, 0x29, 0xFF}}}, - {{{30, -66, 65},0, {-16, -16},{0xE4, 0xFA, 0x7C, 0xFF}}}, -}; - -Gfx luigi_000_displaylist_mesh_tri_3[] = { - gsSPVertex(luigi_000_displaylist_mesh_vtx_3 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 2, 3, 0), - gsSP1Triangle(4, 3, 2, 0), - gsSP1Triangle(5, 4, 2, 0), - gsSP1Triangle(5, 2, 6, 0), - gsSP1Triangle(5, 6, 7, 0), - gsSP1Triangle(8, 7, 6, 0), - gsSP1Triangle(8, 6, 9, 0), - gsSP1Triangle(6, 10, 9, 0), - gsSP1Triangle(9, 11, 8, 0), - gsSP1Triangle(11, 9, 12, 0), - gsSP1Triangle(12, 13, 11, 0), - gsSP1Triangle(13, 12, 5, 0), - gsSP1Triangle(14, 5, 12, 0), - gsSP1Triangle(5, 14, 15, 0), - gsSPVertex(luigi_000_displaylist_mesh_vtx_3 + 16, 13, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 3, 0, 0), - gsSP1Triangle(4, 0, 3, 0), - gsSP1Triangle(5, 0, 4, 0), - gsSP1Triangle(6, 5, 4, 0), - gsSP1Triangle(1, 5, 6, 0), - gsSP1Triangle(1, 6, 7, 0), - gsSP1Triangle(0, 5, 1, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(8, 10, 9, 0), - gsSP1Triangle(11, 10, 8, 0), - gsSP1Triangle(12, 10, 11, 0), - gsSP1Triangle(9, 10, 12, 0), - gsSPEndDisplayList(), -};Vtx luigi_000_displaylist_mesh_vtx_4[56] = { - {{{186, 81, 26},0, {728, 716},{0x4E, 0x52, 0x3A, 0xFF}}}, - {{{147, 27, 77},0, {1234, 1050},{0xEA, 0x50, 0x61, 0xFF}}}, - {{{237, 56, 59},0, {1016, 136},{0x43, 0x42, 0x55, 0xFF}}}, - {{{256, 77, 0},0, {456, -32},{0x5C, 0x57, 0x0, 0xFF}}}, - {{{186, 81, -25},0, {216, 720},{0x4E, 0x52, 0xC6, 0xFF}}}, - {{{237, 56, -58},0, {-94, 142},{0x43, 0x42, 0xAA, 0xFF}}}, - {{{147, 27, -76},0, {-274, 1060},{0xE9, 0x51, 0xA1, 0xFF}}}, - {{{116, -9, -88},0, {-16, -16},{0xC3, 0x21, 0x95, 0xFF}}}, - {{{126, -46, -100},0, {-16, -16},{0xE4, 0xD8, 0x8B, 0xFF}}}, - {{{89, -43, -66},0, {-16, -16},{0xAA, 0xFA, 0xA3, 0xFF}}}, - {{{178, -5, -112},0, {-16, -16},{0x1E, 0x4, 0x85, 0xFF}}}, - {{{147, 27, -76},0, {-16, -16},{0xE9, 0x51, 0xA1, 0xFF}}}, - {{{237, 56, -58},0, {-16, -16},{0x43, 0x42, 0xAA, 0xFF}}}, - {{{255, 0, -34},0, {-16, -16},{0x6F, 0xD1, 0xD8, 0xFF}}}, - {{{256, 77, 0},0, {-16, -16},{0x5C, 0x57, 0x0, 0xFF}}}, - {{{255, 0, 35},0, {-16, -16},{0x6F, 0xD1, 0x28, 0xFF}}}, - {{{255, 0, 35},0, {-16, -16},{0x6F, 0xD1, 0x28, 0xFF}}}, - {{{256, 77, 0},0, {-16, -16},{0x5C, 0x57, 0x0, 0xFF}}}, - {{{237, 56, 59},0, {-16, -16},{0x43, 0x42, 0x55, 0xFF}}}, - {{{178, -5, 112},0, {-16, -16},{0x1E, 0x4, 0x7B, 0xFF}}}, - {{{147, 27, 77},0, {-16, -16},{0xEA, 0x50, 0x61, 0xFF}}}, - {{{116, -9, 89},0, {-16, -16},{0xC4, 0x21, 0x6B, 0xFF}}}, - {{{126, -46, 101},0, {-16, -16},{0xE6, 0xD8, 0x76, 0xFF}}}, - {{{89, -43, 67},0, {-16, -16},{0xAA, 0xF8, 0x5D, 0xFF}}}, - {{{64, -82, 38},0, {-16, -16},{0x97, 0xD8, 0x3B, 0xFF}}}, - {{{76, -112, 38},0, {-16, -16},{0xB9, 0xA4, 0x33, 0xFF}}}, - {{{76, -112, -37},0, {-16, -16},{0xBA, 0xA3, 0xCE, 0xFF}}}, - {{{64, -82, -38},0, {-16, -16},{0x98, 0xD7, 0xC4, 0xFF}}}, - {{{126, -46, -100},0, {-16, -16},{0xE4, 0xD8, 0x8B, 0xFF}}}, - {{{89, -43, -66},0, {-16, -16},{0xAA, 0xFA, 0xA3, 0xFF}}}, - {{{118, -117, -37},0, {-16, -16},{0x22, 0x8D, 0xD5, 0xFF}}}, - {{{157, -76, -60},0, {-16, -16},{0x43, 0xA3, 0xCA, 0xFF}}}, - {{{178, -5, -112},0, {-16, -16},{0x1E, 0x4, 0x85, 0xFF}}}, - {{{157, -76, -60},0, {-16, -16},{0x43, 0xA3, 0xCA, 0xFF}}}, - {{{126, -46, -100},0, {-16, -16},{0xE4, 0xD8, 0x8B, 0xFF}}}, - {{{255, 0, -34},0, {-16, -16},{0x6F, 0xD1, 0xD8, 0xFF}}}, - {{{157, -76, 60},0, {-16, -16},{0x45, 0xA4, 0x36, 0xFF}}}, - {{{255, 0, 35},0, {-16, -16},{0x6F, 0xD1, 0x28, 0xFF}}}, - {{{178, -5, 112},0, {-16, -16},{0x1E, 0x4, 0x7B, 0xFF}}}, - {{{126, -46, 101},0, {-16, -16},{0xE6, 0xD8, 0x76, 0xFF}}}, - {{{118, -117, 38},0, {-16, -16},{0x22, 0x8D, 0x2B, 0xFF}}}, - {{{76, -112, 38},0, {-16, -16},{0xB9, 0xA4, 0x33, 0xFF}}}, - {{{76, -112, -37},0, {-16, -16},{0xBA, 0xA3, 0xCE, 0xFF}}}, - {{{118, -117, -37},0, {-16, -16},{0x22, 0x8D, 0xD5, 0xFF}}}, - {{{147, 27, 77},0, {-16, -16},{0xEA, 0x50, 0x61, 0xFF}}}, - {{{165, 118, 53},0, {-16, -16},{0xE4, 0x57, 0x59, 0xFF}}}, - {{{167, 78, 31},0, {-16, -16},{0x84, 0xC, 0xE9, 0xFF}}}, - {{{186, 81, 26},0, {-16, -16},{0x4E, 0x52, 0x3A, 0xFF}}}, - {{{186, 81, 26},0, {-16, -16},{0x4E, 0x52, 0x3A, 0xFF}}}, - {{{174, 139, 0},0, {-16, -16},{0xFE, 0x7F, 0x0, 0xFF}}}, - {{{165, 118, 53},0, {-16, -16},{0xE4, 0x57, 0x59, 0xFF}}}, - {{{186, 81, -25},0, {-16, -16},{0x4E, 0x52, 0xC6, 0xFF}}}, - {{{165, 118, -52},0, {-16, -16},{0xE4, 0x57, 0xA7, 0xFF}}}, - {{{147, 27, -76},0, {-16, -16},{0xE9, 0x51, 0xA1, 0xFF}}}, - {{{167, 78, -30},0, {-16, -16},{0x84, 0xC, 0x17, 0xFF}}}, - {{{167, 78, 31},0, {-16, -16},{0x84, 0xC, 0xE9, 0xFF}}}, -}; - -Gfx luigi_000_displaylist_mesh_tri_4[] = { - gsSPVertex(luigi_000_displaylist_mesh_vtx_4 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 3, 0, 0), - gsSP1Triangle(3, 4, 0, 0), - gsSP1Triangle(3, 5, 4, 0), - gsSP1Triangle(5, 6, 4, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(10, 8, 7, 0), - gsSP1Triangle(11, 10, 7, 0), - gsSP1Triangle(11, 12, 10, 0), - gsSP1Triangle(13, 10, 12, 0), - gsSP1Triangle(12, 14, 13, 0), - gsSP1Triangle(13, 14, 15, 0), - gsSPVertex(luigi_000_displaylist_mesh_vtx_4 + 16, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 3, 0, 0), - gsSP1Triangle(3, 2, 4, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(5, 6, 3, 0), - gsSP1Triangle(7, 6, 5, 0), - gsSP1Triangle(7, 8, 6, 0), - gsSP1Triangle(6, 8, 9, 0), - gsSP1Triangle(9, 8, 10, 0), - gsSP1Triangle(8, 11, 10, 0), - gsSP1Triangle(10, 11, 12, 0), - gsSP1Triangle(13, 12, 11, 0), - gsSP1Triangle(12, 14, 10, 0), - gsSP1Triangle(15, 14, 12, 0), - gsSPVertex(luigi_000_displaylist_mesh_vtx_4 + 32, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(1, 3, 4, 0), - gsSP1Triangle(3, 5, 4, 0), - gsSP1Triangle(5, 6, 4, 0), - gsSP1Triangle(7, 4, 6, 0), - gsSP1Triangle(7, 8, 4, 0), - gsSP1Triangle(9, 8, 7, 0), - gsSP1Triangle(10, 8, 9, 0), - gsSP1Triangle(10, 11, 8, 0), - gsSP1Triangle(8, 11, 1, 0), - gsSP1Triangle(1, 4, 8, 0), - gsSP1Triangle(12, 13, 14, 0), - gsSP1Triangle(15, 13, 12, 0), - gsSPVertex(luigi_000_displaylist_mesh_vtx_4 + 48, 8, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 1, 3, 0), - gsSP1Triangle(4, 3, 5, 0), - gsSP1Triangle(6, 4, 5, 0), - gsSP1Triangle(6, 1, 4, 0), - gsSP1Triangle(6, 7, 1, 0), - gsSP1Triangle(2, 1, 7, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_002_switch_option_head__no_cap__mesh_vtx_0[96] = { - {{{102, 71, -53},0, {-176, 882},{0x12, 0x67, 0xB8, 0xFF}}}, - {{{96, 84, -18},0, {240, 954},{0x41, 0x42, 0xAA, 0xFF}}}, - {{{139, 70, -52},0, {-162, 444},{0x15, 0x5C, 0xAB, 0xFF}}}, - {{{168, 78, -30},0, {90, 114},{0x19, 0x74, 0xD3, 0xFF}}}, - {{{140, 85, 0},0, {464, 430},{0xD, 0x7E, 0x0, 0xFF}}}, - {{{106, 86, 0},0, {472, 838},{0x5C, 0x58, 0x0, 0xFF}}}, - {{{96, 84, 18},0, {708, 942},{0x46, 0x41, 0x54, 0xFF}}}, - {{{168, 78, 31},0, {826, 96},{0x19, 0x74, 0x2D, 0xFF}}}, - {{{139, 70, 53},0, {1092, 412},{0x15, 0x5C, 0x55, 0xFF}}}, - {{{102, 71, 54},0, {1122, 848},{0x12, 0x67, 0x48, 0xFF}}}, - {{{148, 27, 77},0, {1346, 280},{0xF, 0x36, 0x72, 0xFF}}}, - {{{148, 27, -76},0, {-420, 326},{0xF, 0x36, 0x8E, 0xFF}}}, - {{{139, 70, -52},0, {-16, -16},{0x15, 0x5C, 0xAB, 0xFF}}}, - {{{148, 27, -76},0, {-16, -16},{0xF, 0x36, 0x8E, 0xFF}}}, - {{{95, 39, -73},0, {-16, -16},{0x0, 0x2B, 0x88, 0xFF}}}, - {{{102, 71, -53},0, {-16, -16},{0x12, 0x67, 0xB8, 0xFF}}}, - {{{95, 39, -73},0, {-16, -16},{0x0, 0x2B, 0x88, 0xFF}}}, - {{{91, 68, -64},0, {-16, -16},{0x1C, 0x4E, 0x9F, 0xFF}}}, - {{{102, 71, -53},0, {-16, -16},{0x12, 0x67, 0xB8, 0xFF}}}, - {{{47, 34, -70},0, {-16, -16},{0xD4, 0x1F, 0x8D, 0xFF}}}, - {{{96, 84, -18},0, {-16, -16},{0x41, 0x42, 0xAA, 0xFF}}}, - {{{91, 68, 65},0, {-16, -16},{0x1C, 0x4E, 0x61, 0xFF}}}, - {{{102, 71, 54},0, {-16, -16},{0x12, 0x67, 0x48, 0xFF}}}, - {{{96, 84, 18},0, {-16, -16},{0x46, 0x41, 0x54, 0xFF}}}, - {{{95, 39, 74},0, {-16, -16},{0xFF, 0x2B, 0x78, 0xFF}}}, - {{{47, 34, 71},0, {-16, -16},{0xD4, 0x1C, 0x74, 0xFF}}}, - {{{139, 70, 53},0, {-16, -16},{0x15, 0x5C, 0x55, 0xFF}}}, - {{{148, 27, 77},0, {-16, -16},{0xF, 0x36, 0x72, 0xFF}}}, - {{{45, 0, -75},0, {-16, -16},{0xBC, 0xFE, 0x95, 0xFF}}}, - {{{-2, 40, -33},0, {-16, -16},{0x96, 0x1E, 0xC1, 0xFF}}}, - {{{14, -39, -33},0, {-16, -16},{0x95, 0xD8, 0xC8, 0xFF}}}, - {{{58, -35, -57},0, {-16, -16},{0xC0, 0xA9, 0xBE, 0xFF}}}, - {{{45, 0, -75},0, {-16, -16},{0xBC, 0xFE, 0x95, 0xFF}}}, - {{{63, -19, -107},0, {-16, -16},{0xCF, 0x8, 0x8B, 0xFF}}}, - {{{58, -35, -57},0, {-16, -16},{0xC0, 0xA9, 0xBE, 0xFF}}}, - {{{85, -18, -87},0, {-16, -16},{0xFF, 0x5D, 0xAA, 0xFF}}}, - {{{100, -26, -109},0, {-16, -16},{0x2E, 0xEE, 0x8B, 0xFF}}}, - {{{117, -9, -88},0, {-16, -16},{0x17, 0x1C, 0x86, 0xFF}}}, - {{{90, -43, -66},0, {-16, -16},{0x0, 0x88, 0xD7, 0xFF}}}, - {{{14, -39, -33},0, {-16, -16},{0x95, 0xD8, 0xC8, 0xFF}}}, - {{{-11, 46, 0},0, {-16, -16},{0x88, 0x29, 0xFF, 0xFF}}}, - {{{-2, 40, -33},0, {-16, -16},{0x96, 0x1E, 0xC1, 0xFF}}}, - {{{14, -39, 34},0, {-16, -16},{0x95, 0xD9, 0x38, 0xFF}}}, - {{{-2, 40, 34},0, {-16, -16},{0x96, 0x1E, 0x3F, 0xFF}}}, - {{{45, 0, 75},0, {-16, -16},{0xBC, 0xFE, 0x6B, 0xFF}}}, - {{{58, -35, 58},0, {-16, -16},{0xBF, 0xAA, 0x42, 0xFF}}}, - {{{63, -19, 108},0, {-16, -16},{0xCF, 0x9, 0x75, 0xFF}}}, - {{{90, -43, 67},0, {-16, -16},{0x0, 0x88, 0x29, 0xFF}}}, - {{{63, -19, 108},0, {-16, -16},{0xCF, 0x9, 0x75, 0xFF}}}, - {{{90, -43, 67},0, {-16, -16},{0x0, 0x88, 0x29, 0xFF}}}, - {{{100, -26, 109},0, {-16, -16},{0x2E, 0xED, 0x75, 0xFF}}}, - {{{117, -9, 89},0, {-16, -16},{0x17, 0x1B, 0x7A, 0xFF}}}, - {{{85, -18, 88},0, {-16, -16},{0xFF, 0x5D, 0x56, 0xFF}}}, - {{{45, 0, 75},0, {-16, -16},{0xBC, 0xFE, 0x6B, 0xFF}}}, - {{{47, 34, 71},0, {-16, -16},{0xD4, 0x1C, 0x74, 0xFF}}}, - {{{-2, 40, 34},0, {-16, -16},{0x96, 0x1E, 0x3F, 0xFF}}}, - {{{100, 106, -32},0, {-16, -16},{0x4A, 0xDA, 0xA0, 0xFF}}}, - {{{96, 84, -18},0, {-16, -16},{0x41, 0x42, 0xAA, 0xFF}}}, - {{{77, 87, -24},0, {-16, -16},{0xA, 0x25, 0x87, 0xFF}}}, - {{{113, 107, 0},0, {-16, -16},{0x7B, 0xE0, 0xFF, 0xFF}}}, - {{{117, 135, 0},0, {-16, -16},{0x7B, 0x21, 0x0, 0xFF}}}, - {{{104, 137, -33},0, {-16, -16},{0x47, 0x34, 0xA5, 0xFF}}}, - {{{76, 105, -36},0, {-16, -16},{0xFC, 0xDC, 0x86, 0xFF}}}, - {{{55, 104, -31},0, {-16, -16},{0xB5, 0xE3, 0x9D, 0xFF}}}, - {{{77, 87, -24},0, {-16, -16},{0xA, 0x25, 0x87, 0xFF}}}, - {{{56, 88, -20},0, {-16, -16},{0xB2, 0x33, 0xAA, 0xFF}}}, - {{{55, 104, -31},0, {-16, -16},{0xB5, 0xE3, 0x9D, 0xFF}}}, - {{{40, 104, 0},0, {-16, -16},{0x82, 0xED, 0xFF, 0xFF}}}, - {{{47, 86, 0},0, {-16, -16},{0x93, 0x41, 0x0, 0xFF}}}, - {{{56, 88, 20},0, {-16, -16},{0xAE, 0x32, 0x53, 0xFF}}}, - {{{55, 104, 32},0, {-16, -16},{0xB5, 0xE1, 0x62, 0xFF}}}, - {{{77, 87, 25},0, {-16, -16},{0xA, 0x24, 0x79, 0xFF}}}, - {{{76, 105, 37},0, {-16, -16},{0xFA, 0xDC, 0x7A, 0xFF}}}, - {{{100, 106, 34},0, {-16, -16},{0x48, 0xD9, 0x61, 0xFF}}}, - {{{96, 84, 18},0, {-16, -16},{0x46, 0x41, 0x54, 0xFF}}}, - {{{113, 107, 0},0, {-16, -16},{0x7B, 0xE0, 0xFF, 0xFF}}}, - {{{106, 86, 0},0, {-16, -16},{0x5C, 0x58, 0x0, 0xFF}}}, - {{{96, 84, -18},0, {-16, -16},{0x41, 0x42, 0xAA, 0xFF}}}, - {{{104, 135, 34},0, {-16, -16},{0x48, 0x33, 0x5C, 0xFF}}}, - {{{81, 136, 37},0, {-16, -16},{0x2, 0x3F, 0x6E, 0xFF}}}, - {{{104, 135, 34},0, {-16, -16},{0x48, 0x33, 0x5C, 0xFF}}}, - {{{103, 151, 0},0, {-16, -16},{0x36, 0x73, 0x2, 0xFF}}}, - {{{81, 136, 37},0, {-16, -16},{0x2, 0x3F, 0x6E, 0xFF}}}, - {{{117, 135, 0},0, {-16, -16},{0x7B, 0x21, 0x0, 0xFF}}}, - {{{113, 107, 0},0, {-16, -16},{0x7B, 0xE0, 0xFF, 0xFF}}}, - {{{104, 137, -33},0, {-16, -16},{0x47, 0x34, 0xA5, 0xFF}}}, - {{{81, 138, -36},0, {-16, -16},{0x2, 0x41, 0x93, 0xFF}}}, - {{{76, 105, -36},0, {-16, -16},{0xFC, 0xDC, 0x86, 0xFF}}}, - {{{58, 141, -31},0, {-16, -16},{0xC3, 0x43, 0xA7, 0xFF}}}, - {{{55, 104, -31},0, {-16, -16},{0xB5, 0xE3, 0x9D, 0xFF}}}, - {{{40, 104, 0},0, {-16, -16},{0x82, 0xED, 0xFF, 0xFF}}}, - {{{42, 141, 0},0, {-16, -16},{0x91, 0x3E, 0x0, 0xFF}}}, - {{{55, 104, 32},0, {-16, -16},{0xB5, 0xE1, 0x62, 0xFF}}}, - {{{58, 139, 32},0, {-16, -16},{0xC4, 0x40, 0x5B, 0xFF}}}, - {{{76, 105, 37},0, {-16, -16},{0xFA, 0xDC, 0x7A, 0xFF}}}, - {{{67, 155, 0},0, {-16, -16},{0xEC, 0x7D, 0x2, 0xFF}}}, -}; - -Gfx luigi_002_switch_option_head__no_cap__mesh_tri_0[] = { - gsSPVertex(luigi_002_switch_option_head__no_cap__mesh_vtx_0 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 3, 2, 0), - gsSP1Triangle(1, 4, 3, 0), - gsSP1Triangle(1, 5, 4, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(7, 4, 6, 0), - gsSP1Triangle(8, 7, 6, 0), - gsSP1Triangle(6, 9, 8, 0), - gsSP1Triangle(10, 7, 8, 0), - gsSP1Triangle(2, 3, 11, 0), - gsSP1Triangle(3, 4, 7, 0), - gsSP1Triangle(12, 13, 14, 0), - gsSP1Triangle(14, 15, 12, 0), - gsSPVertex(luigi_002_switch_option_head__no_cap__mesh_vtx_0 + 16, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(1, 4, 2, 0), - gsSP1Triangle(5, 6, 7, 0), - gsSP1Triangle(6, 5, 8, 0), - gsSP1Triangle(9, 8, 5, 0), - gsSP1Triangle(10, 6, 8, 0), - gsSP1Triangle(8, 11, 10, 0), - gsSP1Triangle(12, 13, 3, 0), - gsSP1Triangle(12, 14, 13, 0), - gsSP1Triangle(12, 15, 14, 0), - gsSPVertex(luigi_002_switch_option_head__no_cap__mesh_vtx_0 + 32, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(3, 4, 1, 0), - gsSP1Triangle(4, 3, 5, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(1, 4, 6, 0), - gsSP1Triangle(2, 1, 6, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(7, 10, 8, 0), - gsSP1Triangle(10, 11, 8, 0), - gsSP1Triangle(11, 10, 12, 0), - gsSP1Triangle(10, 13, 12, 0), - gsSP1Triangle(14, 12, 13, 0), - gsSP1Triangle(14, 13, 15, 0), - gsSPVertex(luigi_002_switch_option_head__no_cap__mesh_vtx_0 + 48, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 3, 2, 0), - gsSP1Triangle(3, 4, 2, 0), - gsSP1Triangle(0, 2, 4, 0), - gsSP1Triangle(5, 0, 4, 0), - gsSP1Triangle(6, 7, 5, 0), - gsSP1Triangle(8, 9, 10, 0), - gsSP1Triangle(9, 8, 11, 0), - gsSP1Triangle(11, 8, 12, 0), - gsSP1Triangle(8, 13, 12, 0), - gsSP1Triangle(14, 13, 8, 0), - gsSP1Triangle(14, 8, 10, 0), - gsSP1Triangle(15, 14, 10, 0), - gsSPVertex(luigi_002_switch_option_head__no_cap__mesh_vtx_0 + 64, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 2, 1, 0), - gsSP1Triangle(1, 4, 3, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(5, 6, 3, 0), - gsSP1Triangle(6, 5, 7, 0), - gsSP1Triangle(8, 6, 7, 0), - gsSP1Triangle(9, 8, 7, 0), - gsSP1Triangle(7, 10, 9, 0), - gsSP1Triangle(11, 9, 10, 0), - gsSP1Triangle(10, 12, 11, 0), - gsSP1Triangle(11, 12, 13, 0), - gsSP1Triangle(14, 9, 11, 0), - gsSP1Triangle(8, 9, 14, 0), - gsSP1Triangle(15, 8, 14, 0), - gsSPVertex(luigi_002_switch_option_head__no_cap__mesh_vtx_0 + 80, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(3, 0, 4, 0), - gsSP1Triangle(1, 3, 5, 0), - gsSP1Triangle(1, 5, 6, 0), - gsSP1Triangle(7, 6, 5, 0), - gsSP1Triangle(8, 6, 7, 0), - gsSP1Triangle(9, 8, 7, 0), - gsSP1Triangle(8, 9, 10, 0), - gsSP1Triangle(11, 8, 10, 0), - gsSP1Triangle(10, 12, 11, 0), - gsSP1Triangle(12, 13, 11, 0), - gsSP1Triangle(13, 12, 14, 0), - gsSP1Triangle(13, 14, 2, 0), - gsSP1Triangle(13, 2, 15, 0), - gsSP1Triangle(15, 2, 1, 0), - gsSP1Triangle(6, 15, 1, 0), - gsSP1Triangle(15, 6, 8, 0), - gsSP1Triangle(11, 15, 8, 0), - gsSP1Triangle(11, 13, 15, 0), - gsSPEndDisplayList(), -};Vtx luigi_002_switch_option_head__no_cap__mesh_vtx_1[30] = { - {{{47, 34, 71},0, {-16, -16},{0xD4, 0x1C, 0x74, 0xFF}}}, - {{{50, 71, 58},0, {-16, -16},{0xD8, 0x54, 0x56, 0xFF}}}, - {{{-2, 40, 34},0, {-16, -16},{0x96, 0x1E, 0x3F, 0xFF}}}, - {{{91, 68, -64},0, {976, -26},{0x1C, 0x4E, 0x9F, 0xFF}}}, - {{{77, 87, -24},0, {344, 280},{0xA, 0x25, 0x87, 0xFF}}}, - {{{96, 84, -18},0, {282, 4},{0x41, 0x42, 0xAA, 0xFF}}}, - {{{50, 71, -56},0, {828, 624},{0xD8, 0x55, 0xAB, 0xFF}}}, - {{{47, 34, -70},0, {1256, 576},{0xD4, 0x1F, 0x8D, 0xFF}}}, - {{{-2, 40, -33},0, {704, 1212},{0x96, 0x1E, 0xC1, 0xFF}}}, - {{{31, 78, -20},0, {294, 986},{0xBD, 0x68, 0xE3, 0xFF}}}, - {{{56, 88, -20},0, {278, 640},{0xB2, 0x33, 0xAA, 0xFF}}}, - {{{47, 86, 0},0, {-54, 836},{0x93, 0x41, 0x0, 0xFF}}}, - {{{77, 87, 25},0, {314, 300},{0xA, 0x24, 0x79, 0xFF}}}, - {{{91, 68, 65},0, {932, -24},{0x1C, 0x4E, 0x61, 0xFF}}}, - {{{96, 84, 18},0, {232, 34},{0x46, 0x41, 0x54, 0xFF}}}, - {{{50, 71, 58},0, {832, 614},{0xD8, 0x54, 0x56, 0xFF}}}, - {{{77, 87, 25},0, {314, 300},{0xA, 0x24, 0x79, 0xFF}}}, - {{{56, 88, 20},0, {276, 654},{0xAE, 0x32, 0x53, 0xFF}}}, - {{{50, 71, 58},0, {832, 614},{0xD8, 0x54, 0x56, 0xFF}}}, - {{{31, 78, 21},0, {320, 990},{0xBD, 0x68, 0x1D, 0xFF}}}, - {{{47, 86, 0},0, {-46, 860},{0x93, 0x41, 0x0, 0xFF}}}, - {{{-2, 40, 34},0, {752, 1194},{0x96, 0x1E, 0x3F, 0xFF}}}, - {{{47, 34, 71},0, {1260, 550},{0xD4, 0x1C, 0x74, 0xFF}}}, - {{{91, 68, 65},0, {932, -24},{0x1C, 0x4E, 0x61, 0xFF}}}, - {{{-11, 46, 0},0, {-16, -16},{0x88, 0x29, 0xFF, 0xFF}}}, - {{{-2, 40, 34},0, {-16, -16},{0x96, 0x1E, 0x3F, 0xFF}}}, - {{{31, 78, 21},0, {-16, -16},{0xBD, 0x68, 0x1D, 0xFF}}}, - {{{31, 78, -20},0, {-16, -16},{0xBD, 0x68, 0xE3, 0xFF}}}, - {{{47, 86, 0},0, {-16, -16},{0x93, 0x41, 0x0, 0xFF}}}, - {{{-2, 40, -33},0, {-16, -16},{0x96, 0x1E, 0xC1, 0xFF}}}, -}; - -Gfx luigi_002_switch_option_head__no_cap__mesh_tri_1[] = { - gsSPVertex(luigi_002_switch_option_head__no_cap__mesh_vtx_1 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(6, 4, 3, 0), - gsSP1Triangle(3, 7, 6, 0), - gsSP1Triangle(8, 6, 7, 0), - gsSP1Triangle(9, 6, 8, 0), - gsSP1Triangle(10, 6, 9, 0), - gsSP1Triangle(11, 10, 9, 0), - gsSP1Triangle(6, 10, 4, 0), - gsSP1Triangle(12, 13, 14, 0), - gsSP1Triangle(13, 12, 15, 0), - gsSPVertex(luigi_002_switch_option_head__no_cap__mesh_vtx_1 + 16, 14, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 2, 1, 0), - gsSP1Triangle(3, 1, 4, 0), - gsSP1Triangle(5, 2, 3, 0), - gsSP1Triangle(2, 6, 7, 0), - gsSP1Triangle(8, 9, 10, 0), - gsSP1Triangle(10, 11, 8, 0), - gsSP1Triangle(12, 11, 10, 0), - gsSP1Triangle(11, 13, 8, 0), - gsSPEndDisplayList(), -};Vtx luigi_002_switch_option_head__no_cap__mesh_vtx_2[12] = { - {{{45, 0, -75},0, {826, 1194},{0xBC, 0xFE, 0x95, 0xFF}}}, - {{{47, 34, -70},0, {102, 1318},{0xD4, 0x1F, 0x8D, 0xFF}}}, - {{{95, 39, -73},0, {-86, 684},{0x0, 0x2B, 0x88, 0xFF}}}, - {{{85, -18, -87},0, {1134, 566},{0xFF, 0x5D, 0xAA, 0xFF}}}, - {{{117, -9, -88},0, {900, 168},{0x17, 0x1C, 0x86, 0xFF}}}, - {{{148, 27, -76},0, {74, -74},{0xF, 0x36, 0x8E, 0xFF}}}, - {{{95, 39, 74},0, {-90, 710},{0xFF, 0x2B, 0x78, 0xFF}}}, - {{{47, 34, 71},0, {180, 1350},{0xD4, 0x1C, 0x74, 0xFF}}}, - {{{45, 0, 75},0, {952, 1176},{0xBC, 0xFE, 0x6B, 0xFF}}}, - {{{85, -18, 88},0, {1222, 502},{0xFF, 0x5D, 0x56, 0xFF}}}, - {{{117, -9, 89},0, {906, 106},{0x17, 0x1B, 0x7A, 0xFF}}}, - {{{148, 27, 77},0, {6, -84},{0xF, 0x36, 0x72, 0xFF}}}, -}; - -Gfx luigi_002_switch_option_head__no_cap__mesh_tri_2[] = { - gsSPVertex(luigi_002_switch_option_head__no_cap__mesh_vtx_2 + 0, 12, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 3, 0, 0), - gsSP1Triangle(3, 2, 4, 0), - gsSP1Triangle(4, 2, 5, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(8, 9, 6, 0), - gsSP1Triangle(9, 10, 6, 0), - gsSP1Triangle(11, 6, 10, 0), - gsSPEndDisplayList(), -};Vtx luigi_002_switch_option_head__no_cap__mesh_vtx_3[100] = { - {{{14, -39, -33},0, {-16, -16},{0x86, 0x1B, 0xEB, 0xFF}}}, - {{{31, -65, 0},0, {-16, -16},{0xA7, 0xA6, 0x1, 0xFF}}}, - {{{14, -39, 34},0, {-16, -16},{0x86, 0x18, 0x19, 0xFF}}}, - {{{6, -67, -42},0, {-16, -16},{0x84, 0xEA, 0xEE, 0xFF}}}, - {{{27, -66, -65},0, {-16, -16},{0xDC, 0xFA, 0x86, 0xFF}}}, - {{{58, -35, -57},0, {-16, -16},{0xF1, 0xF7, 0x82, 0xFF}}}, - {{{56, -91, -44},0, {-16, -16},{0x46, 0x9E, 0xD8, 0xFF}}}, - {{{65, -82, -38},0, {-16, -16},{0x0, 0x8D, 0xCA, 0xFF}}}, - {{{90, -43, -66},0, {-16, -16},{0xC6, 0xDC, 0x95, 0xFF}}}, - {{{135, -69, -85},0, {-16, -16},{0xF8, 0xC9, 0x8E, 0xFF}}}, - {{{116, -9, -88},0, {-16, -16},{0xDD, 0x3, 0x86, 0xFF}}}, - {{{169, -7, -97},0, {-16, -16},{0x24, 0xFE, 0x86, 0xFF}}}, - {{{142, 26, -77},0, {-16, -16},{0xD8, 0x32, 0x92, 0xFF}}}, - {{{186, 59, -82},0, {-16, -16},{0x1D, 0x40, 0x96, 0xFF}}}, - {{{145, 65, -52},0, {-16, -16},{0xDB, 0x63, 0xBA, 0xFF}}}, - {{{168, 77, -29},0, {-16, -16},{0xC5, 0x60, 0xC5, 0xFF}}}, - {{{186, 59, -82},0, {-16, -16},{0x1D, 0x40, 0x96, 0xFF}}}, - {{{168, 77, -29},0, {-16, -16},{0xC5, 0x60, 0xC5, 0xFF}}}, - {{{196, 77, -60},0, {-16, -16},{0x1C, 0x51, 0xA3, 0xFF}}}, - {{{187, 106, -11},0, {-16, -16},{0xF1, 0x7E, 0xFE, 0xFF}}}, - {{{146, 79, 0},0, {-16, -16},{0xBA, 0x6A, 0x2, 0xFF}}}, - {{{168, 78, 31},0, {-16, -16},{0xE1, 0x6F, 0x36, 0xFF}}}, - {{{194, 73, 51},0, {-16, -16},{0x2D, 0x62, 0x43, 0xFF}}}, - {{{186, 63, 71},0, {-16, -16},{0x1D, 0x4F, 0x5F, 0xFF}}}, - {{{145, 65, 53},0, {-16, -16},{0xE1, 0x5D, 0x50, 0xFF}}}, - {{{142, 26, 78},0, {-16, -16},{0xE6, 0x36, 0x70, 0xFF}}}, - {{{168, -7, 97},0, {-16, -16},{0x23, 0x2, 0x7A, 0xFF}}}, - {{{116, -9, 89},0, {-16, -16},{0xDF, 0x3, 0x7B, 0xFF}}}, - {{{135, -68, 86},0, {-16, -16},{0xF7, 0xCB, 0x73, 0xFF}}}, - {{{90, -43, 67},0, {-16, -16},{0xC7, 0xDA, 0x6B, 0xFF}}}, - {{{65, -82, 38},0, {-16, -16},{0xFF, 0x8C, 0x33, 0xFF}}}, - {{{57, -35, 58},0, {-16, -16},{0xF0, 0xF6, 0x7E, 0xFF}}}, - {{{56, -91, 45},0, {-16, -16},{0x47, 0x9F, 0x29, 0xFF}}}, - {{{65, -82, 38},0, {-16, -16},{0xFF, 0x8C, 0x33, 0xFF}}}, - {{{57, -35, 58},0, {-16, -16},{0xF0, 0xF6, 0x7E, 0xFF}}}, - {{{31, -66, 65},0, {-16, -16},{0xE4, 0xFA, 0x7C, 0xFF}}}, - {{{14, -39, 34},0, {-16, -16},{0x86, 0x18, 0x19, 0xFF}}}, - {{{6, -67, 42},0, {-16, -16},{0x84, 0xEB, 0x15, 0xFF}}}, - {{{31, -65, 0},0, {-16, -16},{0xA7, 0xA6, 0x1, 0xFF}}}, - {{{35, -91, 26},0, {-16, -16},{0xEC, 0x93, 0xC2, 0xFF}}}, - {{{65, -82, -38},0, {-16, -16},{0x0, 0x8D, 0xCA, 0xFF}}}, - {{{35, -91, -25},0, {-16, -16},{0xEC, 0x94, 0x40, 0xFF}}}, - {{{6, -67, -42},0, {-16, -16},{0x84, 0xEA, 0xEE, 0xFF}}}, - {{{34, -94, -49},0, {-16, -16},{0xE4, 0x91, 0xC9, 0xFF}}}, - {{{27, -66, -65},0, {-16, -16},{0xDC, 0xFA, 0x86, 0xFF}}}, - {{{56, -91, -44},0, {-16, -16},{0x46, 0x9E, 0xD8, 0xFF}}}, - {{{111, -109, 0},0, {-16, -16},{0xEB, 0x83, 0xFE, 0xFF}}}, - {{{108, -100, -53},0, {-16, -16},{0xE3, 0x97, 0xBF, 0xFF}}}, - {{{135, -69, -85},0, {-16, -16},{0xF8, 0xC9, 0x8E, 0xFF}}}, - {{{108, -100, -53},0, {-16, -16},{0xE3, 0x97, 0xBF, 0xFF}}}, - {{{65, -82, -38},0, {-16, -16},{0x0, 0x8D, 0xCA, 0xFF}}}, - {{{175, -86, -59},0, {-16, -16},{0x42, 0xAB, 0xBD, 0xFF}}}, - {{{169, -7, -97},0, {-16, -16},{0x24, 0xFE, 0x86, 0xFF}}}, - {{{210, -12, -49},0, {-16, -16},{0x70, 0xED, 0xC7, 0xFF}}}, - {{{205, 29, -62},0, {-16, -16},{0x6E, 0x3, 0xC1, 0xFF}}}, - {{{186, 59, -82},0, {-16, -16},{0x1D, 0x40, 0x96, 0xFF}}}, - {{{196, 77, -60},0, {-16, -16},{0x1C, 0x51, 0xA3, 0xFF}}}, - {{{215, 59, -29},0, {-16, -16},{0x72, 0xDB, 0xD5, 0xFF}}}, - {{{234, 90, -37},0, {-16, -16},{0x6B, 0x30, 0xD0, 0xFF}}}, - {{{187, 106, -11},0, {-16, -16},{0xF1, 0x7E, 0xFE, 0xFF}}}, - {{{194, 73, 51},0, {-16, -16},{0x2D, 0x62, 0x43, 0xFF}}}, - {{{214, 69, 28},0, {-16, -16},{0x6C, 0x30, 0x2F, 0xFF}}}, - {{{210, 29, 64},0, {-16, -16},{0x6A, 0xA, 0x45, 0xFF}}}, - {{{186, 63, 71},0, {-16, -16},{0x1D, 0x4F, 0x5F, 0xFF}}}, - {{{168, -7, 97},0, {-16, -16},{0x23, 0x2, 0x7A, 0xFF}}}, - {{{210, 29, 64},0, {-16, -16},{0x6A, 0xA, 0x45, 0xFF}}}, - {{{186, 63, 71},0, {-16, -16},{0x1D, 0x4F, 0x5F, 0xFF}}}, - {{{210, -12, 50},0, {-16, -16},{0x70, 0xE8, 0x37, 0xFF}}}, - {{{175, -86, 61},0, {-16, -16},{0x43, 0xAC, 0x45, 0xFF}}}, - {{{135, -68, 86},0, {-16, -16},{0xF7, 0xCB, 0x73, 0xFF}}}, - {{{108, -102, 54},0, {-16, -16},{0xE2, 0x97, 0x41, 0xFF}}}, - {{{65, -82, 38},0, {-16, -16},{0xFF, 0x8C, 0x33, 0xFF}}}, - {{{111, -109, 0},0, {-16, -16},{0xEB, 0x83, 0xFE, 0xFF}}}, - {{{186, -99, 0},0, {-16, -16},{0x4B, 0x9A, 0xFF, 0xFF}}}, - {{{108, -100, -53},0, {-16, -16},{0xE3, 0x97, 0xBF, 0xFF}}}, - {{{175, -86, -59},0, {-16, -16},{0x42, 0xAB, 0xBD, 0xFF}}}, - {{{223, -29, 0},0, {-16, -16},{0x7C, 0xE3, 0x0, 0xFF}}}, - {{{210, -12, -49},0, {-16, -16},{0x70, 0xED, 0xC7, 0xFF}}}, - {{{219, 55, 0},0, {-16, -16},{0x7E, 0xF2, 0x7, 0xFF}}}, - {{{205, 29, -62},0, {-16, -16},{0x6E, 0x3, 0xC1, 0xFF}}}, - {{{205, 29, -62},0, {-16, -16},{0x6E, 0x3, 0xC1, 0xFF}}}, - {{{215, 59, -29},0, {-16, -16},{0x72, 0xDB, 0xD5, 0xFF}}}, - {{{219, 55, 0},0, {-16, -16},{0x7E, 0xF2, 0x7, 0xFF}}}, - {{{234, 90, -37},0, {-16, -16},{0x6B, 0x30, 0xD0, 0xFF}}}, - {{{214, 69, 28},0, {-16, -16},{0x6C, 0x30, 0x2F, 0xFF}}}, - {{{210, 29, 64},0, {-16, -16},{0x6A, 0xA, 0x45, 0xFF}}}, - {{{210, -12, 50},0, {-16, -16},{0x70, 0xE8, 0x37, 0xFF}}}, - {{{223, -29, 0},0, {-16, -16},{0x7C, 0xE3, 0x0, 0xFF}}}, - {{{175, -86, 61},0, {-16, -16},{0x43, 0xAC, 0x45, 0xFF}}}, - {{{186, -99, 0},0, {-16, -16},{0x4B, 0x9A, 0xFF, 0xFF}}}, - {{{108, -102, 54},0, {-16, -16},{0xE2, 0x97, 0x41, 0xFF}}}, - {{{56, -91, 45},0, {-16, -16},{0x47, 0x9F, 0x29, 0xFF}}}, - {{{35, -91, 26},0, {-16, -16},{0xEC, 0x93, 0xC2, 0xFF}}}, - {{{65, -82, 38},0, {-16, -16},{0xFF, 0x8C, 0x33, 0xFF}}}, - {{{34, -94, 50},0, {-16, -16},{0xE2, 0x93, 0x3A, 0xFF}}}, - {{{31, -66, 65},0, {-16, -16},{0xE4, 0xFA, 0x7C, 0xFF}}}, - {{{6, -67, 42},0, {-16, -16},{0x84, 0xEB, 0x15, 0xFF}}}, - {{{34, -94, 50},0, {-16, -16},{0xE2, 0x93, 0x3A, 0xFF}}}, - {{{31, -66, 65},0, {-16, -16},{0xE4, 0xFA, 0x7C, 0xFF}}}, - {{{35, -91, 26},0, {-16, -16},{0xEC, 0x93, 0xC2, 0xFF}}}, -}; - -Gfx luigi_002_switch_option_head__no_cap__mesh_tri_3[] = { - gsSPVertex(luigi_002_switch_option_head__no_cap__mesh_vtx_3 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(0, 5, 4, 0), - gsSP1Triangle(6, 4, 5, 0), - gsSP1Triangle(5, 7, 6, 0), - gsSP1Triangle(5, 8, 7, 0), - gsSP1Triangle(8, 9, 7, 0), - gsSP1Triangle(9, 8, 10, 0), - gsSP1Triangle(11, 9, 10, 0), - gsSP1Triangle(10, 12, 11, 0), - gsSP1Triangle(12, 13, 11, 0), - gsSP1Triangle(13, 12, 14, 0), - gsSP1Triangle(15, 13, 14, 0), - gsSPVertex(luigi_002_switch_option_head__no_cap__mesh_vtx_3 + 16, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 1, 3, 0), - gsSP1Triangle(1, 4, 3, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(6, 3, 5, 0), - gsSP1Triangle(5, 7, 6, 0), - gsSP1Triangle(5, 8, 7, 0), - gsSP1Triangle(9, 7, 8, 0), - gsSP1Triangle(9, 10, 7, 0), - gsSP1Triangle(9, 11, 10, 0), - gsSP1Triangle(12, 10, 11, 0), - gsSP1Triangle(13, 12, 11, 0), - gsSP1Triangle(14, 12, 13, 0), - gsSP1Triangle(14, 13, 15, 0), - gsSPVertex(luigi_002_switch_option_head__no_cap__mesh_vtx_3 + 32, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 3, 0, 0), - gsSP1Triangle(3, 2, 4, 0), - gsSP1Triangle(4, 5, 3, 0), - gsSP1Triangle(5, 4, 6, 0), - gsSP1Triangle(6, 7, 5, 0), - gsSP1Triangle(6, 1, 7, 0), - gsSP1Triangle(6, 8, 1, 0), - gsSP1Triangle(6, 9, 8, 0), - gsSP1Triangle(10, 9, 6, 0), - gsSP1Triangle(10, 11, 9, 0), - gsSP1Triangle(12, 11, 10, 0), - gsSP1Triangle(11, 12, 13, 0), - gsSP1Triangle(9, 11, 13, 0), - gsSP1Triangle(9, 13, 8, 0), - gsSP1Triangle(1, 8, 14, 0), - gsSP1Triangle(8, 15, 14, 0), - gsSPVertex(luigi_002_switch_option_head__no_cap__mesh_vtx_3 + 48, 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_002_switch_option_head__no_cap__mesh_vtx_3 + 64, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(3, 0, 4, 0), - gsSP1Triangle(5, 4, 0, 0), - gsSP1Triangle(5, 6, 4, 0), - gsSP1Triangle(7, 6, 5, 0), - gsSP1Triangle(7, 8, 6, 0), - gsSP1Triangle(8, 9, 6, 0), - gsSP1Triangle(8, 10, 9, 0), - gsSP1Triangle(10, 11, 9, 0), - gsSP1Triangle(9, 11, 12, 0), - gsSP1Triangle(11, 13, 12, 0), - gsSP1Triangle(13, 14, 12, 0), - gsSP1Triangle(13, 15, 14, 0), - gsSPVertex(luigi_002_switch_option_head__no_cap__mesh_vtx_3 + 80, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 1, 3, 0), - gsSP1Triangle(2, 3, 4, 0), - gsSP1Triangle(5, 2, 4, 0), - gsSP1Triangle(2, 5, 6, 0), - gsSP1Triangle(6, 7, 2, 0), - gsSP1Triangle(7, 6, 8, 0), - gsSP1Triangle(9, 7, 8, 0), - gsSP1Triangle(9, 8, 10, 0), - gsSP1Triangle(11, 12, 13, 0), - gsSP1Triangle(11, 14, 12, 0), - gsSP1Triangle(15, 14, 11, 0), - gsSPVertex(luigi_002_switch_option_head__no_cap__mesh_vtx_3 + 96, 4, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_000_displaylist_001_mesh_vtx_0[4] = { - {{{0, 0, 0},0, {-16, 2032},{0x17, 0x0, 0x7D, 0xFF}}}, - {{{104, 0, -19},0, {1008, 2032},{0x18, 0xFF, 0x7D, 0xFF}}}, - {{{104, 212, -19},0, {1002, -16},{0x17, 0x0, 0x7D, 0xFF}}}, - {{{0, 212, 0},0, {-16, -14},{0x17, 0x0, 0x7D, 0xFF}}}, -}; - -Gfx luigi_000_displaylist_001_mesh_tri_0[] = { - gsSPVertex(luigi_000_displaylist_001_mesh_vtx_0 + 0, 4, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 2, 3, 0), - gsSPEndDisplayList(), -};Vtx luigi_000_displaylist_001_mesh_vtx_1[4] = { - {{{-103, 212, 18},0, {-16, -14},{0x17, 0x0, 0x7D, 0xFF}}}, - {{{0, 0, 0},0, {1008, 2030},{0x17, 0x0, 0x7D, 0xFF}}}, - {{{0, 212, 0},0, {1008, -16},{0x17, 0x0, 0x7D, 0xFF}}}, - {{{-103, 0, 19},0, {-16, 2032},{0x17, 0x0, 0x7D, 0xFF}}}, -}; - -Gfx luigi_000_displaylist_001_mesh_tri_1[] = { - gsSPVertex(luigi_000_displaylist_001_mesh_vtx_1 + 0, 4, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_000_displaylist_002_mesh_vtx_0[4] = { - {{{0, 0, 0},0, {-16, 2032},{0xE9, 0x0, 0x7D, 0xFF}}}, - {{{104, 0, 19},0, {1008, 2032},{0xE8, 0x1, 0x7D, 0xFF}}}, - {{{104, 212, 19},0, {1002, -16},{0xE9, 0x0, 0x7D, 0xFF}}}, - {{{0, 212, 0},0, {-16, -14},{0xE9, 0x0, 0x7D, 0xFF}}}, -}; - -Gfx luigi_000_displaylist_002_mesh_tri_0[] = { - gsSPVertex(luigi_000_displaylist_002_mesh_vtx_0 + 0, 4, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 2, 3, 0), - gsSPEndDisplayList(), -};Vtx luigi_000_displaylist_002_mesh_vtx_1[4] = { - {{{-103, 212, -18},0, {-16, -14},{0xE9, 0x0, 0x7D, 0xFF}}}, - {{{-103, 0, -19},0, {-16, 2032},{0xE9, 0x0, 0x7D, 0xFF}}}, - {{{0, 0, 0},0, {1008, 2030},{0xE9, 0x0, 0x7D, 0xFF}}}, - {{{0, 212, 0},0, {1008, -16},{0xE9, 0x0, 0x7D, 0xFF}}}, -}; - -Gfx luigi_000_displaylist_002_mesh_tri_1[] = { - gsSPVertex(luigi_000_displaylist_002_mesh_vtx_1 + 0, 4, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 2, 3, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_000_offset_003_mesh_vtx_0[31] = { - {{{6, -11, -37},0, {-16, -16},{0xDD, 0xE1, 0x8A, 0xFF}}}, - {{{-8, -8, -24},0, {-16, -16},{0x93, 0xEF, 0xC1, 0xFF}}}, - {{{-8, 15, -15},0, {-16, -16},{0x94, 0x39, 0xDD, 0xFF}}}, - {{{5, -37, -4},0, {-16, -16},{0xDA, 0x87, 0xFE, 0xFF}}}, - {{{57, -32, -4},0, {-16, -16},{0x2E, 0x8A, 0xFE, 0xFF}}}, - {{{58, -11, -30},0, {-16, -16},{0x2F, 0xE0, 0x8E, 0xFF}}}, - {{{7, 26, -23},0, {-16, -16},{0xE1, 0x67, 0xBD, 0xFF}}}, - {{{-8, 14, 9},0, {-16, -16},{0x94, 0x36, 0x28, 0xFF}}}, - {{{-8, -9, 16},0, {-16, -16},{0x93, 0xED, 0x3E, 0xFF}}}, - {{{-9, -23, -4},0, {-16, -16},{0x90, 0xC4, 0xFF, 0xFF}}}, - {{{6, -14, 28},0, {-16, -16},{0xDD, 0xD7, 0x73, 0xFF}}}, - {{{58, -13, 22},0, {-16, -16},{0x31, 0xD8, 0x6E, 0xFF}}}, - {{{67, -10, 14},0, {-16, -16},{0x6C, 0xE8, 0x3E, 0xFF}}}, - {{{67, -23, -4},0, {-16, -16},{0x6B, 0xBC, 0x0, 0xFF}}}, - {{{68, -9, -22},0, {-16, -16},{0x6B, 0xEC, 0xBF, 0xFF}}}, - {{{68, 11, -14},0, {-16, -16},{0x6C, 0x36, 0xD9, 0xFF}}}, - {{{59, 18, -18},0, {-16, -16},{0x33, 0x61, 0xC0, 0xFF}}}, - {{{68, 11, -14},0, {-16, -16},{0x6C, 0x36, 0xD9, 0xFF}}}, - {{{58, -11, -30},0, {-16, -16},{0x2F, 0xE0, 0x8E, 0xFF}}}, - {{{7, 26, -23},0, {-16, -16},{0xE1, 0x67, 0xBD, 0xFF}}}, - {{{7, 24, 18},0, {-16, -16},{0xE1, 0x60, 0x4D, 0xFF}}}, - {{{-8, 14, 9},0, {-16, -16},{0x94, 0x36, 0x28, 0xFF}}}, - {{{-8, -9, 16},0, {-16, -16},{0x93, 0xED, 0x3E, 0xFF}}}, - {{{6, -14, 28},0, {-16, -16},{0xDD, 0xD7, 0x73, 0xFF}}}, - {{{-9, -23, -4},0, {-16, -16},{0x90, 0xC4, 0xFF, 0xFF}}}, - {{{59, 18, 13},0, {-16, -16},{0x35, 0x5C, 0x46, 0xFF}}}, - {{{58, -13, 22},0, {-16, -16},{0x31, 0xD8, 0x6E, 0xFF}}}, - {{{67, -10, 14},0, {-16, -16},{0x6C, 0xE8, 0x3E, 0xFF}}}, - {{{68, 10, 8},0, {-16, -16},{0x6F, 0x2D, 0x2A, 0xFF}}}, - {{{68, -9, -22},0, {-16, -16},{0x6B, 0xEC, 0xBF, 0xFF}}}, - {{{67, -23, -4},0, {-16, -16},{0x6B, 0xBC, 0x0, 0xFF}}}, -}; - -Gfx luigi_000_offset_003_mesh_tri_0[] = { - gsSPVertex(luigi_000_offset_003_mesh_vtx_0 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(3, 0, 4, 0), - gsSP1Triangle(0, 5, 4, 0), - gsSP1Triangle(0, 6, 5, 0), - gsSP1Triangle(0, 2, 6, 0), - gsSP1Triangle(6, 2, 7, 0), - gsSP1Triangle(8, 7, 2, 0), - gsSP1Triangle(2, 1, 8, 0), - gsSP1Triangle(1, 9, 8, 0), - gsSP1Triangle(3, 9, 1, 0), - gsSP1Triangle(10, 9, 3, 0), - gsSP1Triangle(10, 3, 11, 0), - gsSP1Triangle(3, 4, 11, 0), - gsSP1Triangle(4, 12, 11, 0), - gsSP1Triangle(4, 13, 12, 0), - gsSP1Triangle(14, 13, 4, 0), - gsSP1Triangle(5, 14, 4, 0), - gsSP1Triangle(15, 14, 5, 0), - gsSPVertex(luigi_000_offset_003_mesh_vtx_0 + 16, 15, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 0, 2, 0), - gsSP1Triangle(3, 4, 0, 0), - gsSP1Triangle(3, 5, 4, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(4, 6, 7, 0), - gsSP1Triangle(7, 6, 8, 0), - gsSP1Triangle(4, 7, 9, 0), - gsSP1Triangle(7, 10, 9, 0), - gsSP1Triangle(10, 11, 9, 0), - gsSP1Triangle(11, 12, 9, 0), - gsSP1Triangle(12, 11, 13, 0), - gsSP1Triangle(11, 14, 13, 0), - gsSP1Triangle(12, 13, 1, 0), - gsSP1Triangle(9, 12, 1, 0), - gsSP1Triangle(9, 1, 0, 0), - gsSP1Triangle(4, 9, 0, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_000_offset_004_mesh_vtx_0[16] = { - {{{-2, 18, -18},0, {-16, -16},{0xE1, 0x68, 0xBE, 0xFF}}}, - {{{-14, 11, -13},0, {-16, -16},{0x9A, 0x42, 0xDB, 0xFF}}}, - {{{-14, 9, 9},0, {-16, -16},{0x98, 0x39, 0x2D, 0xFF}}}, - {{{-3, -12, -30},0, {-16, -16},{0xDE, 0xE1, 0x8A, 0xFF}}}, - {{{46, -12, -27},0, {-16, -16},{0x3E, 0xE0, 0x96, 0xFF}}}, - {{{47, 14, -17},0, {-16, -16},{0x41, 0x5B, 0xC3, 0xFF}}}, - {{{-2, 17, 14},0, {-16, -16},{0xE2, 0x62, 0x4B, 0xFF}}}, - {{{-15, -11, 15},0, {-16, -16},{0x96, 0xED, 0x43, 0xFF}}}, - {{{-15, -24, -3},0, {-16, -16},{0x95, 0xBC, 0xFD, 0xFF}}}, - {{{-15, -9, -21},0, {-16, -16},{0x95, 0xF2, 0xBD, 0xFF}}}, - {{{-3, -34, -3},0, {-16, -16},{0xDD, 0x86, 0xFD, 0xFF}}}, - {{{45, -30, -3},0, {-16, -16},{0x3C, 0x90, 0xFC, 0xFF}}}, - {{{58, -6, -2},0, {-16, -16},{0x7F, 0xFD, 0x4, 0xFF}}}, - {{{47, 12, 11},0, {-16, -16},{0x41, 0x54, 0x46, 0xFF}}}, - {{{-3, -15, 23},0, {-16, -16},{0xE0, 0xD7, 0x74, 0xFF}}}, - {{{46, -15, 19},0, {-16, -16},{0x3D, 0xD8, 0x68, 0xFF}}}, -}; - -Gfx luigi_000_offset_004_mesh_tri_0[] = { - gsSPVertex(luigi_000_offset_004_mesh_vtx_0 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(3, 0, 4, 0), - gsSP1Triangle(0, 5, 4, 0), - gsSP1Triangle(0, 6, 5, 0), - gsSP1Triangle(0, 2, 6, 0), - gsSP1Triangle(6, 2, 7, 0), - gsSP1Triangle(8, 7, 2, 0), - gsSP1Triangle(8, 2, 1, 0), - gsSP1Triangle(9, 8, 1, 0), - gsSP1Triangle(3, 9, 1, 0), - gsSP1Triangle(10, 9, 3, 0), - gsSP1Triangle(10, 3, 11, 0), - gsSP1Triangle(3, 4, 11, 0), - gsSP1Triangle(4, 12, 11, 0), - gsSP1Triangle(5, 12, 4, 0), - gsSP1Triangle(13, 12, 5, 0), - gsSP1Triangle(6, 13, 5, 0), - gsSP1Triangle(6, 14, 13, 0), - gsSP1Triangle(6, 7, 14, 0), - gsSP1Triangle(14, 7, 8, 0), - gsSP1Triangle(14, 8, 10, 0), - gsSP1Triangle(10, 8, 9, 0), - gsSP1Triangle(14, 10, 15, 0), - gsSP1Triangle(10, 11, 15, 0), - gsSP1Triangle(11, 12, 15, 0), - gsSP1Triangle(15, 12, 13, 0), - gsSP1Triangle(14, 15, 13, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_000_displaylist_003_mesh_vtx_0[46] = { - {{{15, -34, -35},0, {-16, -16},{0x9D, 0xB9, 0xDC, 0xFF}}}, - {{{-12, -12, -3},0, {-16, -16},{0x8B, 0xCE, 0x5, 0xFF}}}, - {{{-9, 23, -34},0, {-16, -16},{0x88, 0xEA, 0xDC, 0xFF}}}, - {{{24, -52, 5},0, {-16, -16},{0xA1, 0xAD, 0xD, 0xFF}}}, - {{{4, -5, 32},0, {-16, -16},{0x98, 0xD2, 0x39, 0xFF}}}, - {{{-16, 40, 7},0, {-16, -16},{0x82, 0xF4, 0xE, 0xFF}}}, - {{{23, -22, -28},0, {-16, -16},{0x1A, 0xCA, 0x90, 0xFF}}}, - {{{15, -34, -35},0, {-16, -16},{0x60, 0xEF, 0xAE, 0xFF}}}, - {{{-9, 23, -34},0, {-16, -16},{0x37, 0x52, 0xB1, 0xFF}}}, - {{{30, -36, 2},0, {-16, -16},{0x3F, 0x98, 0x25, 0xFF}}}, - {{{52, -40, 6},0, {-16, -16},{0x6, 0x8A, 0x2F, 0xFF}}}, - {{{72, -27, -54},0, {-16, -16},{0x1D, 0xB6, 0x9D, 0xFF}}}, - {{{29, 6, -39},0, {-16, -16},{0xC3, 0xFB, 0x91, 0xFF}}}, - {{{3, 21, -27},0, {-16, -16},{0x0, 0x46, 0x96, 0xFF}}}, - {{{0, 35, 4},0, {-16, -16},{0xD2, 0x6E, 0x2D, 0xFF}}}, - {{{-16, 40, 7},0, {-16, -16},{0x2A, 0x74, 0x1D, 0xFF}}}, - {{{0, 35, 4},0, {-16, -16},{0xD2, 0x6E, 0x2D, 0xFF}}}, - {{{-16, 40, 7},0, {-16, -16},{0x2A, 0x74, 0x1D, 0xFF}}}, - {{{4, -5, 32},0, {-16, -16},{0x42, 0x1B, 0x69, 0xFF}}}, - {{{15, 0, 24},0, {-16, -16},{0xFC, 0xFF, 0x7F, 0xFF}}}, - {{{30, -36, 2},0, {-16, -16},{0x3F, 0x98, 0x25, 0xFF}}}, - {{{24, -52, 5},0, {-16, -16},{0x76, 0xD8, 0x17, 0xFF}}}, - {{{15, -34, -35},0, {-16, -16},{0x60, 0xEF, 0xAE, 0xFF}}}, - {{{32, 5, 37},0, {-16, -16},{0xE3, 0xEE, 0x7A, 0xFF}}}, - {{{10, 53, 9},0, {-16, -16},{0xAE, 0x53, 0x31, 0xFF}}}, - {{{53, 72, 7},0, {-16, -16},{0x15, 0x79, 0x21, 0xFF}}}, - {{{77, 26, 36},0, {-16, -16},{0x3F, 0x1A, 0x6B, 0xFF}}}, - {{{96, -23, 3},0, {-16, -16},{0x65, 0xBF, 0x29, 0xFF}}}, - {{{52, -40, 6},0, {-16, -16},{0x6, 0x8A, 0x2F, 0xFF}}}, - {{{72, -27, -54},0, {-16, -16},{0x1D, 0xB6, 0x9D, 0xFF}}}, - {{{90, -5, -41},0, {-16, -16},{0x69, 0xFD, 0xB9, 0xFF}}}, - {{{54, 10, -54},0, {-16, -16},{0xF2, 0x15, 0x83, 0xFF}}}, - {{{29, 6, -39},0, {-16, -16},{0xC3, 0xFB, 0x91, 0xFF}}}, - {{{54, 10, -54},0, {-16, -16},{0xF2, 0x15, 0x83, 0xFF}}}, - {{{72, -27, -54},0, {-16, -16},{0x1D, 0xB6, 0x9D, 0xFF}}}, - {{{28, 56, -25},0, {-16, -16},{0xD0, 0x5B, 0xB6, 0xFF}}}, - {{{3, 21, -27},0, {-16, -16},{0x0, 0x46, 0x96, 0xFF}}}, - {{{10, 53, 9},0, {-16, -16},{0xAE, 0x53, 0x31, 0xFF}}}, - {{{0, 35, 4},0, {-16, -16},{0xD2, 0x6E, 0x2D, 0xFF}}}, - {{{53, 72, 7},0, {-16, -16},{0x15, 0x79, 0x21, 0xFF}}}, - {{{51, 49, -33},0, {-16, -16},{0x17, 0x55, 0xA5, 0xFF}}}, - {{{89, 36, -14},0, {-16, -16},{0x6B, 0x41, 0xEB, 0xFF}}}, - {{{77, 26, 36},0, {-16, -16},{0x3F, 0x1A, 0x6B, 0xFF}}}, - {{{96, -23, 3},0, {-16, -16},{0x65, 0xBF, 0x29, 0xFF}}}, - {{{90, -5, -41},0, {-16, -16},{0x69, 0xFD, 0xB9, 0xFF}}}, - {{{81, 15, -41},0, {-16, -16},{0x46, 0x32, 0xA3, 0xFF}}}, -}; - -Gfx luigi_000_displaylist_003_mesh_tri_0[] = { - gsSPVertex(luigi_000_displaylist_003_mesh_vtx_0 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 1, 3, 0), - gsSP1Triangle(5, 1, 4, 0), - gsSP1Triangle(2, 1, 5, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(7, 6, 9, 0), - gsSP1Triangle(10, 9, 6, 0), - gsSP1Triangle(6, 11, 10, 0), - gsSP1Triangle(6, 12, 11, 0), - gsSP1Triangle(6, 13, 12, 0), - gsSP1Triangle(8, 13, 6, 0), - gsSP1Triangle(14, 13, 8, 0), - gsSP1Triangle(8, 15, 14, 0), - gsSPVertex(luigi_000_displaylist_003_mesh_vtx_0 + 16, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 3, 0, 0), - gsSP1Triangle(4, 3, 2, 0), - gsSP1Triangle(2, 5, 4, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(7, 3, 4, 0), - gsSP1Triangle(0, 3, 7, 0), - gsSP1Triangle(0, 7, 8, 0), - gsSP1Triangle(7, 9, 8, 0), - gsSP1Triangle(7, 10, 9, 0), - gsSP1Triangle(11, 10, 7, 0), - gsSP1Triangle(12, 11, 7, 0), - gsSP1Triangle(4, 12, 7, 0), - gsSP1Triangle(13, 11, 12, 0), - gsSP1Triangle(13, 14, 11, 0), - gsSP1Triangle(15, 14, 13, 0), - gsSPVertex(luigi_000_displaylist_003_mesh_vtx_0 + 32, 14, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(3, 0, 4, 0), - gsSP1Triangle(5, 3, 4, 0), - gsSP1Triangle(4, 6, 5, 0), - gsSP1Triangle(3, 5, 7, 0), - gsSP1Triangle(7, 8, 3, 0), - gsSP1Triangle(7, 9, 8, 0), - gsSP1Triangle(10, 9, 7, 0), - gsSP1Triangle(11, 9, 10, 0), - gsSP1Triangle(12, 9, 11, 0), - gsSP1Triangle(13, 9, 12, 0), - gsSP1Triangle(1, 13, 12, 0), - gsSP1Triangle(8, 13, 1, 0), - gsSP1Triangle(1, 3, 8, 0), - gsSP1Triangle(13, 8, 9, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_002_switch_option_right_hand_open_mesh_vtx_0[58] = { - {{{2, 3, 26},0, {-16, -16},{0x4A, 0x34, 0x59, 0xFF}}}, - {{{20, -46, 12},0, {-16, -16},{0x75, 0xDD, 0x23, 0xFF}}}, - {{{26, -32, 6},0, {-16, -16},{0x37, 0xA8, 0x49, 0xFF}}}, - {{{13, -39, -31},0, {-16, -16},{0x63, 0xDD, 0xB9, 0xFF}}}, - {{{20, -27, -27},0, {-16, -16},{0x11, 0xB1, 0x9E, 0xFF}}}, - {{{-10, 14, -43},0, {-16, -16},{0x32, 0x3C, 0x9C, 0xFF}}}, - {{{1, 15, -37},0, {-16, -16},{0xE0, 0x1D, 0x88, 0xFF}}}, - {{{-3, 35, -9},0, {-16, -16},{0xCE, 0x72, 0x19, 0xFF}}}, - {{{-17, 40, -8},0, {-16, -16},{0x2B, 0x78, 0x0, 0xFF}}}, - {{{11, 5, 17},0, {-16, -16},{0x6, 0x1C, 0x7C, 0xFF}}}, - {{{26, 16, 28},0, {-16, -16},{0xDE, 0xD, 0x7A, 0xFF}}}, - {{{45, -34, 10},0, {-16, -16},{0xFF, 0x9F, 0x52, 0xFF}}}, - {{{41, -37, -36},0, {-16, -16},{0xD7, 0x9E, 0xBB, 0xFF}}}, - {{{25, -1, -44},0, {-16, -16},{0xDF, 0xE2, 0x89, 0xFF}}}, - {{{11, 29, -52},0, {-16, -16},{0xDA, 0x1F, 0x8B, 0xFF}}}, - {{{6, 53, -9},0, {-16, -16},{0xAC, 0x5C, 0x17, 0xFF}}}, - {{{26, 16, 28},0, {-16, -16},{0xDE, 0xD, 0x7A, 0xFF}}}, - {{{70, 89, -20},0, {-16, -16},{0xF0, 0x7E, 0xF8, 0xFF}}}, - {{{6, 53, -9},0, {-16, -16},{0xAC, 0x5C, 0x17, 0xFF}}}, - {{{77, 41, 21},0, {-16, -16},{0x14, 0x28, 0x77, 0xFF}}}, - {{{83, -17, 10},0, {-16, -16},{0x42, 0xC1, 0x58, 0xFF}}}, - {{{45, -34, 10},0, {-16, -16},{0xFF, 0x9F, 0x52, 0xFF}}}, - {{{89, -47, -37},0, {-16, -16},{0x4B, 0xA4, 0xD3, 0xFF}}}, - {{{41, -37, -36},0, {-16, -16},{0xD7, 0x9E, 0xBB, 0xFF}}}, - {{{76, -18, -48},0, {-16, -16},{0x2D, 0x3, 0x89, 0xFF}}}, - {{{25, -1, -44},0, {-16, -16},{0xDF, 0xE2, 0x89, 0xFF}}}, - {{{26, 41, -41},0, {-16, -16},{0xF5, 0x42, 0x94, 0xFF}}}, - {{{11, 29, -52},0, {-16, -16},{0xDA, 0x1F, 0x8B, 0xFF}}}, - {{{78, 59, -34},0, {-16, -16},{0xF6, 0x16, 0x83, 0xFF}}}, - {{{119, 70, -42},0, {-16, -16},{0x33, 0x40, 0x9F, 0xFF}}}, - {{{121, 73, -21},0, {-16, -16},{0x4D, 0x5F, 0x22, 0xFF}}}, - {{{141, 34, -7},0, {-16, -16},{0x74, 0xF7, 0x33, 0xFF}}}, - {{{133, 28, -40},0, {-16, -16},{0x50, 0xD8, 0xA6, 0xFF}}}, - {{{141, 34, -7},0, {-16, -16},{0x74, 0xF7, 0x33, 0xFF}}}, - {{{83, -17, 10},0, {-16, -16},{0x42, 0xC1, 0x58, 0xFF}}}, - {{{89, -6, -27},0, {-16, -16},{0x64, 0xE3, 0xB8, 0xFF}}}, - {{{89, -47, -37},0, {-16, -16},{0x4B, 0xA4, 0xD3, 0xFF}}}, - {{{76, -18, -48},0, {-16, -16},{0x2D, 0x3, 0x89, 0xFF}}}, - {{{69, 10, -36},0, {-16, -16},{0x34, 0x1D, 0x90, 0xFF}}}, - {{{26, 41, -41},0, {-16, -16},{0xF5, 0x42, 0x94, 0xFF}}}, - {{{78, 59, -34},0, {-16, -16},{0xF6, 0x16, 0x83, 0xFF}}}, - {{{119, 70, -42},0, {-16, -16},{0x33, 0x40, 0x9F, 0xFF}}}, - {{{121, 73, -21},0, {-16, -16},{0x4D, 0x5F, 0x22, 0xFF}}}, - {{{2, 3, 26},0, {-16, -16},{0xA8, 0xF0, 0x5A, 0xFF}}}, - {{{6, -38, 7},0, {-16, -16},{0xA7, 0xB0, 0x2A, 0xFF}}}, - {{{20, -46, 12},0, {-16, -16},{0xBA, 0xA1, 0x2E, 0xFF}}}, - {{{-6, -3, 17},0, {-16, -16},{0x97, 0xE2, 0x42, 0xFF}}}, - {{{-20, 22, -7},0, {-16, -16},{0x83, 0x0, 0x17, 0xFF}}}, - {{{-17, 40, -8},0, {-16, -16},{0x84, 0x16, 0x11, 0xFF}}}, - {{{-20, 22, -7},0, {-16, -16},{0x83, 0x0, 0x17, 0xFF}}}, - {{{2, 3, 26},0, {-16, -16},{0xA8, 0xF0, 0x5A, 0xFF}}}, - {{{-10, 14, -43},0, {-16, -16},{0x91, 0xF4, 0xC4, 0xFF}}}, - {{{-15, 4, -32},0, {-16, -16},{0x8D, 0xDE, 0xD6, 0xFF}}}, - {{{1, -33, -23},0, {-16, -16},{0x9F, 0xB3, 0xE2, 0xFF}}}, - {{{13, -39, -31},0, {-16, -16},{0xB5, 0xA4, 0xD4, 0xFF}}}, - {{{6, -38, 7},0, {-16, -16},{0xA7, 0xB0, 0x2A, 0xFF}}}, - {{{20, -46, 12},0, {-16, -16},{0xBA, 0xA1, 0x2E, 0xFF}}}, - {{{-6, -3, 17},0, {-16, -16},{0x97, 0xE2, 0x42, 0xFF}}}, -}; - -Gfx luigi_002_switch_option_right_hand_open_mesh_tri_0[] = { - gsSPVertex(luigi_002_switch_option_right_hand_open_mesh_vtx_0 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 1, 3, 0), - gsSP1Triangle(3, 4, 2, 0), - gsSP1Triangle(4, 3, 5, 0), - gsSP1Triangle(5, 6, 4, 0), - gsSP1Triangle(7, 6, 5, 0), - gsSP1Triangle(5, 8, 7, 0), - gsSP1Triangle(7, 8, 0, 0), - gsSP1Triangle(0, 9, 7, 0), - gsSP1Triangle(2, 9, 0, 0), - gsSP1Triangle(10, 9, 2, 0), - gsSP1Triangle(2, 11, 10, 0), - gsSP1Triangle(2, 12, 11, 0), - gsSP1Triangle(2, 4, 12, 0), - gsSP1Triangle(4, 13, 12, 0), - gsSP1Triangle(4, 6, 13, 0), - gsSP1Triangle(6, 14, 13, 0), - gsSP1Triangle(14, 6, 7, 0), - gsSP1Triangle(7, 15, 14, 0), - gsSP1Triangle(7, 10, 15, 0), - gsSP1Triangle(7, 9, 10, 0), - gsSPVertex(luigi_002_switch_option_right_hand_open_mesh_vtx_0 + 16, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(5, 4, 0, 0), - gsSP1Triangle(6, 4, 5, 0), - gsSP1Triangle(5, 7, 6, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(7, 9, 8, 0), - gsSP1Triangle(8, 9, 10, 0), - gsSP1Triangle(9, 11, 10, 0), - gsSP1Triangle(2, 10, 11, 0), - gsSP1Triangle(10, 2, 1, 0), - gsSP1Triangle(1, 12, 10, 0), - gsSP1Triangle(13, 12, 1, 0), - gsSP1Triangle(1, 14, 13, 0), - gsSP1Triangle(14, 1, 3, 0), - gsSP1Triangle(15, 14, 3, 0), - gsSP1Triangle(4, 15, 3, 0), - gsSPVertex(luigi_002_switch_option_right_hand_open_mesh_vtx_0 + 32, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 0, 2, 0), - gsSP1Triangle(4, 3, 2, 0), - gsSP1Triangle(5, 3, 4, 0), - gsSP1Triangle(5, 6, 3, 0), - gsSP1Triangle(5, 7, 6, 0), - gsSP1Triangle(7, 8, 6, 0), - gsSP1Triangle(6, 8, 3, 0), - gsSP1Triangle(8, 0, 3, 0), - gsSP1Triangle(8, 9, 0, 0), - gsSP1Triangle(9, 1, 0, 0), - gsSP1Triangle(10, 1, 9, 0), - gsSP1Triangle(11, 12, 13, 0), - gsSP1Triangle(11, 14, 12, 0), - gsSP1Triangle(15, 14, 11, 0), - gsSPVertex(luigi_002_switch_option_right_hand_open_mesh_vtx_0 + 48, 10, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(3, 4, 1, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(6, 5, 3, 0), - gsSP1Triangle(7, 5, 6, 0), - gsSP1Triangle(8, 7, 6, 0), - gsSP1Triangle(5, 7, 9, 0), - gsSP1Triangle(9, 4, 5, 0), - gsSP1Triangle(9, 1, 4, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_000_offset_006_mesh_vtx_0[30] = { - {{{57, -34, 5},0, {-16, -16},{0x31, 0x8B, 0xF7, 0xFF}}}, - {{{66, -25, 5},0, {-16, -16},{0x6D, 0xBF, 0xF8, 0xFF}}}, - {{{67, -12, 25},0, {-16, -16},{0x6C, 0xE8, 0x3E, 0xFF}}}, - {{{67, -10, -11},0, {-16, -16},{0x6D, 0xEF, 0xC0, 0xFF}}}, - {{{57, -12, -19},0, {-16, -16},{0x2F, 0xE3, 0x8E, 0xFF}}}, - {{{5, -39, 4},0, {-16, -16},{0xDA, 0x87, 0xF7, 0xFF}}}, - {{{6, -17, 39},0, {-16, -16},{0xDD, 0xD5, 0x72, 0xFF}}}, - {{{57, -15, 33},0, {-16, -16},{0x2F, 0xD7, 0x6F, 0xFF}}}, - {{{58, 15, 24},0, {-16, -16},{0x33, 0x5B, 0x49, 0xFF}}}, - {{{67, 9, 18},0, {-16, -16},{0x6D, 0x37, 0x23, 0xFF}}}, - {{{67, 9, -3},0, {-16, -16},{0x6F, 0x34, 0xDF, 0xFF}}}, - {{{58, 17, -8},0, {-16, -16},{0x35, 0x61, 0xC2, 0xFF}}}, - {{{6, -13, -27},0, {-16, -16},{0xDE, 0xE4, 0x89, 0xFF}}}, - {{{-9, -25, 5},0, {-16, -16},{0x92, 0xC1, 0xFB, 0xFF}}}, - {{{-9, -11, 27},0, {-16, -16},{0x94, 0xF0, 0x41, 0xFF}}}, - {{{-8, 12, 19},0, {-16, -16},{0x95, 0x38, 0x28, 0xFF}}}, - {{{7, 22, 28},0, {-16, -16},{0xE0, 0x60, 0x4C, 0xFF}}}, - {{{-8, 12, 19},0, {-16, -16},{0x95, 0x38, 0x28, 0xFF}}}, - {{{6, -17, 39},0, {-16, -16},{0xDD, 0xD5, 0x72, 0xFF}}}, - {{{57, -15, 33},0, {-16, -16},{0x2F, 0xD7, 0x6F, 0xFF}}}, - {{{58, 15, 24},0, {-16, -16},{0x33, 0x5B, 0x49, 0xFF}}}, - {{{7, 24, -11},0, {-16, -16},{0xE1, 0x69, 0xC0, 0xFF}}}, - {{{58, 17, -8},0, {-16, -16},{0x35, 0x61, 0xC2, 0xFF}}}, - {{{67, 9, -3},0, {-16, -16},{0x6F, 0x34, 0xDF, 0xFF}}}, - {{{67, 9, 18},0, {-16, -16},{0x6D, 0x37, 0x23, 0xFF}}}, - {{{6, -13, -27},0, {-16, -16},{0xDE, 0xE4, 0x89, 0xFF}}}, - {{{-9, -9, -13},0, {-16, -16},{0x92, 0xF5, 0xC2, 0xFF}}}, - {{{-9, -25, 5},0, {-16, -16},{0x92, 0xC1, 0xFB, 0xFF}}}, - {{{-9, -11, 27},0, {-16, -16},{0x94, 0xF0, 0x41, 0xFF}}}, - {{{-8, 13, -4},0, {-16, -16},{0x96, 0x3C, 0xDC, 0xFF}}}, -}; - -Gfx luigi_000_offset_006_mesh_tri_0[] = { - gsSPVertex(luigi_000_offset_006_mesh_vtx_0 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(4, 0, 5, 0), - gsSP1Triangle(0, 6, 5, 0), - gsSP1Triangle(0, 7, 6, 0), - gsSP1Triangle(0, 2, 7, 0), - gsSP1Triangle(7, 2, 8, 0), - gsSP1Triangle(2, 9, 8, 0), - gsSP1Triangle(10, 9, 2, 0), - gsSP1Triangle(10, 2, 1, 0), - gsSP1Triangle(3, 10, 1, 0), - gsSP1Triangle(11, 10, 3, 0), - gsSP1Triangle(11, 3, 4, 0), - gsSP1Triangle(11, 4, 12, 0), - gsSP1Triangle(4, 5, 12, 0), - gsSP1Triangle(5, 13, 12, 0), - gsSP1Triangle(14, 13, 5, 0), - gsSP1Triangle(6, 14, 5, 0), - gsSP1Triangle(15, 14, 6, 0), - gsSPVertex(luigi_000_offset_006_mesh_vtx_0 + 16, 14, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 0, 2, 0), - gsSP1Triangle(3, 4, 0, 0), - gsSP1Triangle(4, 5, 0, 0), - gsSP1Triangle(4, 6, 5, 0), - gsSP1Triangle(4, 7, 6, 0), - gsSP1Triangle(4, 8, 7, 0), - gsSP1Triangle(6, 9, 5, 0), - gsSP1Triangle(9, 10, 5, 0), - gsSP1Triangle(11, 10, 9, 0), - gsSP1Triangle(10, 11, 12, 0), - gsSP1Triangle(12, 13, 10, 0), - gsSP1Triangle(12, 1, 13, 0), - gsSP1Triangle(13, 1, 0, 0), - gsSP1Triangle(5, 13, 0, 0), - gsSP1Triangle(10, 13, 5, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_000_offset_007_mesh_vtx_0[16] = { - {{{-2, -16, 34},0, {-16, -16},{0xDD, 0xD6, 0x73, 0xFF}}}, - {{{-14, -12, 25},0, {-16, -16},{0x95, 0xEE, 0x42, 0xFF}}}, - {{{-3, -35, 5},0, {-16, -16},{0xDA, 0x87, 0xF8, 0xFF}}}, - {{{-13, 9, 18},0, {-16, -16},{0x97, 0x3B, 0x29, 0xFF}}}, - {{{-1, 16, 25},0, {-16, -16},{0xE0, 0x60, 0x4D, 0xFF}}}, - {{{47, -15, 30},0, {-16, -16},{0x3F, 0xD9, 0x67, 0xFF}}}, - {{{46, -32, 5},0, {-16, -16},{0x3B, 0x90, 0xF9, 0xFF}}}, - {{{47, -13, -17},0, {-16, -16},{0x3D, 0xE5, 0x94, 0xFF}}}, - {{{-2, -13, -20},0, {-16, -16},{0xDE, 0xE3, 0x89, 0xFF}}}, - {{{-14, -25, 5},0, {-16, -16},{0x94, 0xBE, 0xF8, 0xFF}}}, - {{{-14, -10, -11},0, {-16, -16},{0x95, 0xF5, 0xBD, 0xFF}}}, - {{{-13, 10, -3},0, {-16, -16},{0x98, 0x3F, 0xDB, 0xFF}}}, - {{{-1, 18, -8},0, {-16, -16},{0xE2, 0x69, 0xBE, 0xFF}}}, - {{{48, 11, 22},0, {-16, -16},{0x42, 0x54, 0x44, 0xFF}}}, - {{{59, -7, 6},0, {-16, -16},{0x7F, 0xFD, 0xFE, 0xFF}}}, - {{{48, 13, -6},0, {-16, -16},{0x41, 0x5C, 0xC5, 0xFF}}}, -}; - -Gfx luigi_000_offset_007_mesh_tri_0[] = { - gsSPVertex(luigi_000_offset_007_mesh_vtx_0 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(5, 4, 0, 0), - gsSP1Triangle(6, 5, 0, 0), - gsSP1Triangle(6, 0, 2, 0), - gsSP1Triangle(7, 6, 2, 0), - gsSP1Triangle(7, 2, 8, 0), - gsSP1Triangle(2, 9, 8, 0), - gsSP1Triangle(1, 9, 2, 0), - gsSP1Triangle(9, 1, 3, 0), - gsSP1Triangle(10, 9, 3, 0), - gsSP1Triangle(10, 3, 11, 0), - gsSP1Triangle(11, 3, 4, 0), - gsSP1Triangle(12, 11, 4, 0), - gsSP1Triangle(13, 12, 4, 0), - gsSP1Triangle(5, 13, 4, 0), - gsSP1Triangle(5, 14, 13, 0), - gsSP1Triangle(6, 14, 5, 0), - gsSP1Triangle(7, 14, 6, 0), - gsSP1Triangle(15, 14, 7, 0), - gsSP1Triangle(15, 7, 8, 0), - gsSP1Triangle(15, 8, 12, 0), - gsSP1Triangle(8, 10, 12, 0), - gsSP1Triangle(9, 10, 8, 0), - gsSP1Triangle(10, 11, 12, 0), - gsSP1Triangle(13, 14, 15, 0), - gsSP1Triangle(13, 15, 12, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_000_displaylist_004_mesh_vtx_0[36] = { - {{{-12, 23, 36},0, {-16, -16},{0x30, 0x4F, 0x57, 0xFF}}}, - {{{11, -34, 36},0, {-16, -16},{0x56, 0xE3, 0x58, 0xFF}}}, - {{{20, -23, 31},0, {-16, -16},{0xE, 0xBF, 0x6C, 0xFF}}}, - {{{27, -36, 0},0, {-16, -16},{0x40, 0x9A, 0xD8, 0xFF}}}, - {{{21, -51, -3},0, {-16, -16},{0x76, 0xD4, 0xED, 0xFF}}}, - {{{3, -2, -29},0, {-16, -16},{0x4D, 0x22, 0xA1, 0xFF}}}, - {{{13, 0, -20},0, {-16, -16},{0xC, 0x0, 0x82, 0xFF}}}, - {{{-1, 36, 0},0, {-16, -16},{0xD5, 0x6F, 0xD3, 0xFF}}}, - {{{-17, 42, -3},0, {-16, -16},{0x30, 0x74, 0xEC, 0xFF}}}, - {{{0, 21, 31},0, {-16, -16},{0xF8, 0x3F, 0x6E, 0xFF}}}, - {{{26, 5, 44},0, {-16, -16},{0xBF, 0xF9, 0x6D, 0xFF}}}, - {{{67, -29, 59},0, {-16, -16},{0x19, 0xB2, 0x61, 0xFF}}}, - {{{49, -39, -3},0, {-16, -16},{0x7, 0x8C, 0xCD, 0xFF}}}, - {{{31, 8, -33},0, {-16, -16},{0xE6, 0xF6, 0x84, 0xFF}}}, - {{{9, 54, -3},0, {-16, -16},{0xB0, 0x57, 0xD3, 0xFF}}}, - {{{26, 55, 30},0, {-16, -16},{0xCF, 0x5A, 0x4C, 0xFF}}}, - {{{26, 55, 30},0, {-16, -16},{0xCF, 0x5A, 0x4C, 0xFF}}}, - {{{26, 5, 44},0, {-16, -16},{0xBF, 0xF9, 0x6D, 0xFF}}}, - {{{51, 9, 59},0, {-16, -16},{0xF4, 0x16, 0x7D, 0xFF}}}, - {{{67, -29, 59},0, {-16, -16},{0x19, 0xB2, 0x61, 0xFF}}}, - {{{86, -7, 46},0, {-16, -16},{0x68, 0xF9, 0x48, 0xFF}}}, - {{{93, -23, 0},0, {-16, -16},{0x64, 0xBF, 0xD5, 0xFF}}}, - {{{49, -39, -3},0, {-16, -16},{0x7, 0x8C, 0xCD, 0xFF}}}, - {{{31, 8, -33},0, {-16, -16},{0xE6, 0xF6, 0x84, 0xFF}}}, - {{{77, 27, -29},0, {-16, -16},{0x44, 0x1D, 0x99, 0xFF}}}, - {{{52, 72, 0},0, {-16, -16},{0x17, 0x7A, 0xE4, 0xFF}}}, - {{{9, 54, -3},0, {-16, -16},{0xB0, 0x57, 0xD3, 0xFF}}}, - {{{48, 48, 39},0, {-16, -16},{0x13, 0x52, 0x5F, 0xFF}}}, - {{{77, 13, 46},0, {-16, -16},{0x45, 0x2E, 0x61, 0xFF}}}, - {{{87, 35, 21},0, {-16, -16},{0x6B, 0x3E, 0x1D, 0xFF}}}, - {{{3, -2, -29},0, {-16, -16},{0x99, 0xD7, 0xC2, 0xFF}}}, - {{{-14, -10, 5},0, {-16, -16},{0x8B, 0xD0, 0xF6, 0xFF}}}, - {{{-17, 42, -3},0, {-16, -16},{0x83, 0xF6, 0xED, 0xFF}}}, - {{{21, -51, -3},0, {-16, -16},{0x9F, 0xB1, 0xEC, 0xFF}}}, - {{{11, -34, 36},0, {-16, -16},{0x9A, 0xBA, 0x1D, 0xFF}}}, - {{{-12, 23, 36},0, {-16, -16},{0x86, 0xEB, 0x1E, 0xFF}}}, -}; - -Gfx luigi_000_displaylist_004_mesh_tri_0[] = { - gsSPVertex(luigi_000_displaylist_004_mesh_vtx_0 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 2, 1, 0), - gsSP1Triangle(1, 4, 3, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(5, 6, 3, 0), - gsSP1Triangle(7, 6, 5, 0), - gsSP1Triangle(5, 8, 7, 0), - gsSP1Triangle(7, 8, 0, 0), - gsSP1Triangle(0, 9, 7, 0), - gsSP1Triangle(2, 9, 0, 0), - gsSP1Triangle(10, 9, 2, 0), - gsSP1Triangle(11, 10, 2, 0), - gsSP1Triangle(12, 11, 2, 0), - gsSP1Triangle(2, 3, 12, 0), - gsSP1Triangle(13, 12, 3, 0), - gsSP1Triangle(3, 6, 13, 0), - gsSP1Triangle(13, 6, 7, 0), - gsSP1Triangle(14, 13, 7, 0), - gsSP1Triangle(14, 7, 9, 0), - gsSP1Triangle(15, 14, 9, 0), - gsSP1Triangle(9, 10, 15, 0), - gsSPVertex(luigi_000_displaylist_004_mesh_vtx_0 + 16, 14, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 2, 1, 0), - gsSP1Triangle(3, 4, 2, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(6, 5, 3, 0), - gsSP1Triangle(7, 5, 6, 0), - gsSP1Triangle(7, 8, 5, 0), - gsSP1Triangle(9, 8, 7, 0), - gsSP1Triangle(10, 9, 7, 0), - gsSP1Triangle(9, 10, 0, 0), - gsSP1Triangle(0, 11, 9, 0), - gsSP1Triangle(11, 0, 2, 0), - gsSP1Triangle(12, 11, 2, 0), - gsSP1Triangle(4, 12, 2, 0), - gsSP1Triangle(4, 13, 12, 0), - gsSP1Triangle(5, 13, 4, 0), - gsSP1Triangle(8, 13, 5, 0), - gsSP1Triangle(9, 13, 8, 0), - gsSP1Triangle(11, 13, 9, 0), - gsSP1Triangle(13, 11, 12, 0), - gsSPVertex(luigi_000_displaylist_004_mesh_vtx_0 + 30, 6, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 1, 3, 0), - gsSP1Triangle(5, 1, 4, 0), - gsSP1Triangle(2, 1, 5, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_002_switch_option_left_hand_open_mesh_vtx_0[57] = { - {{{7, 1, -26},0, {-16, -16},{0x4C, 0x2B, 0xA4, 0xFF}}}, - {{{-9, 41, 5},0, {-16, -16},{0x32, 0x74, 0xF3, 0xFF}}}, - {{{3, 36, 6},0, {-16, -16},{0xD7, 0x74, 0xE0, 0xFF}}}, - {{{-1, 18, 42},0, {-16, -16},{0x3E, 0x42, 0x5A, 0xFF}}}, - {{{9, 18, 35},0, {-16, -16},{0xEA, 0x29, 0x76, 0xFF}}}, - {{{26, -24, 28},0, {-16, -16},{0xE, 0xBA, 0x69, 0xFF}}}, - {{{19, -36, 33},0, {-16, -16},{0x66, 0xE1, 0x45, 0xFF}}}, - {{{30, -32, -4},0, {-16, -16},{0x37, 0xA3, 0xBD, 0xFF}}}, - {{{25, -46, -9},0, {-16, -16},{0x77, 0xE1, 0xDF, 0xFF}}}, - {{{16, 4, -17},0, {-16, -16},{0xFF, 0x11, 0x82, 0xFF}}}, - {{{30, 13, -30},0, {-16, -16},{0xD6, 0x3, 0x88, 0xFF}}}, - {{{13, 53, 5},0, {-16, -16},{0xAE, 0x5E, 0xE7, 0xFF}}}, - {{{20, 33, 48},0, {-16, -16},{0xE2, 0x2B, 0x74, 0xFF}}}, - {{{32, 2, 43},0, {-16, -16},{0xE2, 0xED, 0x7A, 0xFF}}}, - {{{46, -35, 37},0, {-16, -16},{0xD8, 0xA4, 0x4E, 0xFF}}}, - {{{48, -35, -9},0, {-16, -16},{0xF7, 0x99, 0xB7, 0xFF}}}, - {{{30, 13, -30},0, {-16, -16},{0xD6, 0x3, 0x88, 0xFF}}}, - {{{86, -19, -13},0, {-16, -16},{0x3D, 0xB9, 0xAB, 0xFF}}}, - {{{48, -35, -9},0, {-16, -16},{0xF7, 0x99, 0xB7, 0xFF}}}, - {{{81, 37, -28},0, {-16, -16},{0x11, 0x1E, 0x86, 0xFF}}}, - {{{76, 88, 9},0, {-16, -16},{0xF2, 0x7E, 0xFE, 0xFF}}}, - {{{13, 53, 5},0, {-16, -16},{0xAE, 0x5E, 0xE7, 0xFF}}}, - {{{34, 43, 36},0, {-16, -16},{0xFD, 0x4A, 0x67, 0xFF}}}, - {{{20, 33, 48},0, {-16, -16},{0xE2, 0x2B, 0x74, 0xFF}}}, - {{{32, 2, 43},0, {-16, -16},{0xE2, 0xED, 0x7A, 0xFF}}}, - {{{81, -15, 45},0, {-16, -16},{0x35, 0xC, 0x73, 0xFF}}}, - {{{46, -35, 37},0, {-16, -16},{0xD8, 0xA4, 0x4E, 0xFF}}}, - {{{93, -45, 36},0, {-16, -16},{0x4C, 0xA7, 0x31, 0xFF}}}, - {{{93, -5, 22},0, {-16, -16},{0x68, 0xE6, 0x45, 0xFF}}}, - {{{136, 28, 31},0, {-16, -16},{0x51, 0xDD, 0x5B, 0xFF}}}, - {{{143, 31, -1},0, {-16, -16},{0x72, 0xF0, 0xCB, 0xFF}}}, - {{{125, 71, 9},0, {-16, -16},{0x4E, 0x5B, 0xD4, 0xFF}}}, - {{{124, 69, 30},0, {-16, -16},{0x38, 0x45, 0x5A, 0xFF}}}, - {{{125, 71, 9},0, {-16, -16},{0x4E, 0x5B, 0xD4, 0xFF}}}, - {{{76, 88, 9},0, {-16, -16},{0xF2, 0x7E, 0xFE, 0xFF}}}, - {{{84, 59, 25},0, {-16, -16},{0xFD, 0x21, 0x7B, 0xFF}}}, - {{{34, 43, 36},0, {-16, -16},{0xFD, 0x4A, 0x67, 0xFF}}}, - {{{75, 11, 32},0, {-16, -16},{0x3E, 0x24, 0x69, 0xFF}}}, - {{{81, -15, 45},0, {-16, -16},{0x35, 0xC, 0x73, 0xFF}}}, - {{{93, -5, 22},0, {-16, -16},{0x68, 0xE6, 0x45, 0xFF}}}, - {{{93, -45, 36},0, {-16, -16},{0x4C, 0xA7, 0x31, 0xFF}}}, - {{{136, 28, 31},0, {-16, -16},{0x51, 0xDD, 0x5B, 0xFF}}}, - {{{143, 31, -1},0, {-16, -16},{0x72, 0xF0, 0xCB, 0xFF}}}, - {{{25, -46, -9},0, {-16, -16},{0xB8, 0x9F, 0xDA, 0xFF}}}, - {{{11, -38, -3},0, {-16, -16},{0xA5, 0xAD, 0xE2, 0xFF}}}, - {{{7, 1, -26},0, {-16, -16},{0x9E, 0xE7, 0xB3, 0xFF}}}, - {{{19, -36, 33},0, {-16, -16},{0xB6, 0xA8, 0x37, 0xFF}}}, - {{{7, -30, 26},0, {-16, -16},{0x9E, 0xBA, 0x2A, 0xFF}}}, - {{{-1, 18, 42},0, {-16, -16},{0x94, 0xFD, 0x42, 0xFF}}}, - {{{7, -30, 26},0, {-16, -16},{0x9E, 0xBA, 0x2A, 0xFF}}}, - {{{19, -36, 33},0, {-16, -16},{0xB6, 0xA8, 0x37, 0xFF}}}, - {{{-7, 7, 32},0, {-16, -16},{0x8E, 0xE6, 0x31, 0xFF}}}, - {{{-12, 23, 6},0, {-16, -16},{0x82, 0x0, 0xF0, 0xFF}}}, - {{{-9, 41, 5},0, {-16, -16},{0x83, 0x14, 0xF4, 0xFF}}}, - {{{7, 1, -26},0, {-16, -16},{0x9E, 0xE7, 0xB3, 0xFF}}}, - {{{0, -4, -15},0, {-16, -16},{0x92, 0xDD, 0xCB, 0xFF}}}, - {{{11, -38, -3},0, {-16, -16},{0xA5, 0xAD, 0xE2, 0xFF}}}, -}; - -Gfx luigi_002_switch_option_left_hand_open_mesh_tri_0[] = { - gsSPVertex(luigi_002_switch_option_left_hand_open_mesh_vtx_0 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 1, 3, 0), - gsSP1Triangle(3, 4, 2, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(3, 6, 5, 0), - gsSP1Triangle(7, 5, 6, 0), - gsSP1Triangle(6, 8, 7, 0), - gsSP1Triangle(7, 8, 0, 0), - gsSP1Triangle(0, 9, 7, 0), - gsSP1Triangle(2, 9, 0, 0), - gsSP1Triangle(10, 9, 2, 0), - gsSP1Triangle(11, 10, 2, 0), - gsSP1Triangle(12, 11, 2, 0), - gsSP1Triangle(2, 4, 12, 0), - gsSP1Triangle(13, 12, 4, 0), - gsSP1Triangle(13, 4, 5, 0), - gsSP1Triangle(14, 13, 5, 0), - gsSP1Triangle(14, 5, 7, 0), - gsSP1Triangle(15, 14, 7, 0), - gsSP1Triangle(10, 15, 7, 0), - gsSP1Triangle(7, 9, 10, 0), - gsSPVertex(luigi_002_switch_option_left_hand_open_mesh_vtx_0 + 16, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(5, 4, 0, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(7, 6, 5, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(6, 8, 9, 0), - gsSP1Triangle(9, 8, 10, 0), - gsSP1Triangle(9, 10, 11, 0), - gsSP1Triangle(11, 10, 2, 0), - gsSP1Triangle(2, 1, 11, 0), - gsSP1Triangle(1, 12, 11, 0), - gsSP1Triangle(1, 13, 12, 0), - gsSP1Triangle(1, 14, 13, 0), - gsSP1Triangle(3, 14, 1, 0), - gsSP1Triangle(3, 15, 14, 0), - gsSP1Triangle(3, 4, 15, 0), - gsSPVertex(luigi_002_switch_option_left_hand_open_mesh_vtx_0 + 32, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 3, 0, 0), - gsSP1Triangle(4, 3, 2, 0), - gsSP1Triangle(5, 3, 4, 0), - gsSP1Triangle(5, 4, 6, 0), - gsSP1Triangle(7, 5, 6, 0), - gsSP1Triangle(8, 7, 6, 0), - gsSP1Triangle(7, 3, 5, 0), - gsSP1Triangle(7, 9, 3, 0), - gsSP1Triangle(9, 0, 3, 0), - gsSP1Triangle(9, 10, 0, 0), - gsSP1Triangle(0, 10, 1, 0), - gsSP1Triangle(11, 12, 13, 0), - gsSP1Triangle(14, 12, 11, 0), - gsSP1Triangle(14, 15, 12, 0), - gsSPVertex(luigi_002_switch_option_left_hand_open_mesh_vtx_0 + 48, 9, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(5, 4, 0, 0), - gsSP1Triangle(6, 4, 5, 0), - gsSP1Triangle(6, 7, 4, 0), - gsSP1Triangle(8, 7, 6, 0), - gsSP1Triangle(7, 8, 1, 0), - gsSP1Triangle(1, 3, 7, 0), - gsSP1Triangle(3, 4, 7, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_004_switch_option_left_hand_peace_mesh_vtx_0[84] = { - {{{166, -13, -17},0, {-16, -16},{0x7A, 0x9, 0x23, 0xFF}}}, - {{{162, 14, -11},0, {-16, -16},{0x7A, 0xB, 0x22, 0xFF}}}, - {{{153, 7, 24},0, {-16, -16},{0x49, 0xF2, 0x67, 0xFF}}}, - {{{155, -15, 21},0, {-16, -16},{0x47, 0xF8, 0x69, 0xFF}}}, - {{{101, -29, 15},0, {-16, -16},{0x42, 0x97, 0x1A, 0xFF}}}, - {{{98, 10, 29},0, {-16, -16},{0x4F, 0x9, 0x63, 0xFF}}}, - {{{90, -3, 52},0, {-16, -16},{0x47, 0x3, 0x69, 0xFF}}}, - {{{84, 48, 24},0, {-16, -16},{0x1A, 0x4F, 0x60, 0xFF}}}, - {{{139, 53, 25},0, {-16, -16},{0xFC, 0x14, 0x7D, 0xFF}}}, - {{{123, 72, 21},0, {-16, -16},{0xFC, 0x17, 0x7D, 0xFF}}}, - {{{46, 49, 45},0, {-16, -16},{0xF7, 0x48, 0x68, 0xFF}}}, - {{{56, 80, 1},0, {-16, -16},{0x7, 0x7D, 0xEC, 0xFF}}}, - {{{84, 60, -7},0, {-16, -16},{0x2, 0x70, 0xC4, 0xFF}}}, - {{{126, 84, -3},0, {-16, -16},{0xC3, 0x67, 0x2B, 0xFF}}}, - {{{123, 72, 21},0, {-16, -16},{0xC4, 0x67, 0x2C, 0xFF}}}, - {{{89, 18, -34},0, {-16, -16},{0x7, 0xB, 0x82, 0xFF}}}, - {{{126, 84, -3},0, {-16, -16},{0x6, 0x33, 0x8C, 0xFF}}}, - {{{89, 18, -34},0, {-16, -16},{0x7, 0xB, 0x82, 0xFF}}}, - {{{84, 60, -7},0, {-16, -16},{0x2, 0x70, 0xC4, 0xFF}}}, - {{{146, 59, -8},0, {-16, -16},{0x17, 0x2A, 0x8A, 0xFF}}}, - {{{56, 80, 1},0, {-16, -16},{0x7, 0x7D, 0xEC, 0xFF}}}, - {{{33, 7, -37},0, {-16, -16},{0xDF, 0xF9, 0x86, 0xFF}}}, - {{{94, -22, -18},0, {-16, -16},{0x1A, 0xA8, 0xA9, 0xFF}}}, - {{{166, -13, -17},0, {-16, -16},{0x1E, 0x7, 0x85, 0xFF}}}, - {{{162, 14, -11},0, {-16, -16},{0x27, 0x20, 0x8B, 0xFF}}}, - {{{56, -47, -5},0, {-16, -16},{0x3, 0x8A, 0xD1, 0xFF}}}, - {{{32, -43, 0},0, {-16, -16},{0x34, 0x95, 0xD3, 0xFF}}}, - {{{45, -29, 52},0, {-16, -16},{0xE7, 0xBC, 0x69, 0xFF}}}, - {{{88, -34, 39},0, {-16, -16},{0x3D, 0xA6, 0x41, 0xFF}}}, - {{{101, -29, 15},0, {-16, -16},{0x42, 0x97, 0x1A, 0xFF}}}, - {{{155, -15, 21},0, {-16, -16},{0x15, 0x83, 0xF6, 0xFF}}}, - {{{166, -13, -17},0, {-16, -16},{0x10, 0x82, 0xFE, 0xFF}}}, - {{{88, -34, 39},0, {-16, -16},{0x3D, 0xA6, 0x41, 0xFF}}}, - {{{101, -29, 15},0, {-16, -16},{0x42, 0x97, 0x1A, 0xFF}}}, - {{{90, -3, 52},0, {-16, -16},{0x47, 0x3, 0x69, 0xFF}}}, - {{{45, -29, 52},0, {-16, -16},{0xE7, 0xBC, 0x69, 0xFF}}}, - {{{46, 49, 45},0, {-16, -16},{0xF7, 0x48, 0x68, 0xFF}}}, - {{{18, 30, 41},0, {-16, -16},{0xC9, 0x2E, 0x69, 0xFF}}}, - {{{8, 58, -2},0, {-16, -16},{0xAF, 0x5D, 0xE2, 0xFF}}}, - {{{56, 80, 1},0, {-16, -16},{0x7, 0x7D, 0xEC, 0xFF}}}, - {{{33, 7, -37},0, {-16, -16},{0xDF, 0xF9, 0x86, 0xFF}}}, - {{{-4, 38, 0},0, {-16, -16},{0xD9, 0x72, 0xD8, 0xFF}}}, - {{{14, -1, -22},0, {-16, -16},{0x4, 0x4, 0x81, 0xFF}}}, - {{{32, -43, 0},0, {-16, -16},{0x34, 0x95, 0xD3, 0xFF}}}, - {{{2, -5, -33},0, {-16, -16},{0x4A, 0x26, 0xA0, 0xFF}}}, - {{{24, -59, -3},0, {-16, -16},{0x71, 0xCD, 0xE5, 0xFF}}}, - {{{23, -29, 36},0, {-16, -16},{0x17, 0xC5, 0x6E, 0xFF}}}, - {{{0, 21, 37},0, {-16, -16},{0x5, 0x44, 0x6B, 0xFF}}}, - {{{-15, 23, 43},0, {-16, -16},{0x2C, 0x53, 0x55, 0xFF}}}, - {{{0, 21, 37},0, {-16, -16},{0x5, 0x44, 0x6B, 0xFF}}}, - {{{-4, 38, 0},0, {-16, -16},{0xD9, 0x72, 0xD8, 0xFF}}}, - {{{15, -39, 42},0, {-16, -16},{0x5B, 0xEA, 0x56, 0xFF}}}, - {{{23, -29, 36},0, {-16, -16},{0x17, 0xC5, 0x6E, 0xFF}}}, - {{{24, -59, -3},0, {-16, -16},{0x71, 0xCD, 0xE5, 0xFF}}}, - {{{-22, 43, -3},0, {-16, -16},{0x28, 0x76, 0xE7, 0xFF}}}, - {{{14, -1, -22},0, {-16, -16},{0x4, 0x4, 0x81, 0xFF}}}, - {{{2, -5, -33},0, {-16, -16},{0x4A, 0x26, 0xA0, 0xFF}}}, - {{{146, 59, -8},0, {-16, -16},{0x5E, 0x4B, 0x29, 0xFF}}}, - {{{126, 84, -3},0, {-16, -16},{0x60, 0x44, 0x2F, 0xFF}}}, - {{{123, 72, 21},0, {-16, -16},{0x5D, 0x4C, 0x28, 0xFF}}}, - {{{139, 53, 25},0, {-16, -16},{0x5A, 0x53, 0x22, 0xFF}}}, - {{{24, -59, -3},0, {-16, -16},{0xC0, 0x95, 0xE8, 0xFF}}}, - {{{-8, -12, -20},0, {-16, -16},{0x9B, 0xD0, 0xC4, 0xFF}}}, - {{{2, -5, -33},0, {-16, -16},{0xAA, 0xDC, 0xAA, 0xFF}}}, - {{{24, -59, -3},0, {-16, -16},{0xC0, 0x95, 0xE8, 0xFF}}}, - {{{6, -49, 0},0, {-16, -16},{0xAC, 0xA5, 0xE6, 0xFF}}}, - {{{-8, -12, -20},0, {-16, -16},{0x9B, 0xD0, 0xC4, 0xFF}}}, - {{{15, -39, 42},0, {-16, -16},{0xBC, 0xAC, 0x44, 0xFF}}}, - {{{0, -35, 32},0, {-16, -16},{0xA4, 0xB8, 0x32, 0xFF}}}, - {{{-15, 23, 43},0, {-16, -16},{0x93, 0x1, 0x41, 0xFF}}}, - {{{-21, 9, 33},0, {-16, -16},{0x8D, 0xE6, 0x30, 0xFF}}}, - {{{-22, 43, -3},0, {-16, -16},{0x85, 0x11, 0xE6, 0xFF}}}, - {{{-25, 24, 0},0, {-16, -16},{0x84, 0xFB, 0xE5, 0xFF}}}, - {{{2, -5, -33},0, {-16, -16},{0xAA, 0xDC, 0xAA, 0xFF}}}, - {{{105, 17, 3},0, {-16, -16},{0x77, 0x2D, 0x3, 0xFF}}}, - {{{98, 10, 29},0, {-16, -16},{0x6E, 0x30, 0x2B, 0xFF}}}, - {{{153, 7, 24},0, {-16, -16},{0xD, 0x7B, 0x1E, 0xFF}}}, - {{{139, 53, 25},0, {-16, -16},{0x5B, 0xA8, 0x3, 0xFF}}}, - {{{146, 59, -8},0, {-16, -16},{0x59, 0xA6, 0xF5, 0xFF}}}, - {{{89, 18, -34},0, {-16, -16},{0x70, 0x25, 0xD0, 0xFF}}}, - {{{162, 14, -11},0, {-16, -16},{0xB, 0x7D, 0x13, 0xFF}}}, - {{{89, 18, -34},0, {-16, -16},{0x70, 0x25, 0xD0, 0xFF}}}, - {{{105, 17, 3},0, {-16, -16},{0x77, 0x2D, 0x3, 0xFF}}}, - {{{153, 7, 24},0, {-16, -16},{0xD, 0x7B, 0x1E, 0xFF}}}, -}; - -Gfx luigi_004_switch_option_left_hand_peace_mesh_tri_0[] = { - gsSPVertex(luigi_004_switch_option_left_hand_peace_mesh_vtx_0 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 2, 3, 0), - gsSP1Triangle(4, 3, 2, 0), - gsSP1Triangle(4, 2, 5, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(5, 7, 6, 0), - gsSP1Triangle(7, 5, 8, 0), - gsSP1Triangle(8, 9, 7, 0), - gsSP1Triangle(6, 7, 10, 0), - gsSP1Triangle(10, 7, 11, 0), - gsSP1Triangle(11, 7, 12, 0), - gsSP1Triangle(12, 7, 13, 0), - gsSP1Triangle(7, 14, 13, 0), - gsSP1Triangle(11, 12, 15, 0), - gsSPVertex(luigi_004_switch_option_left_hand_peace_mesh_vtx_0 + 16, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(4, 1, 5, 0), - gsSP1Triangle(5, 1, 6, 0), - gsSP1Triangle(7, 6, 1, 0), - gsSP1Triangle(1, 8, 7, 0), - gsSP1Triangle(9, 5, 6, 0), - gsSP1Triangle(5, 9, 10, 0), - gsSP1Triangle(9, 11, 10, 0), - gsSP1Triangle(11, 9, 12, 0), - gsSP1Triangle(13, 12, 9, 0), - gsSP1Triangle(13, 9, 6, 0), - gsSP1Triangle(6, 14, 13, 0), - gsSP1Triangle(14, 6, 15, 0), - gsSPVertex(luigi_004_switch_option_left_hand_peace_mesh_vtx_0 + 32, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 2, 3, 0), - gsSP1Triangle(3, 2, 4, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(4, 6, 5, 0), - gsSP1Triangle(4, 7, 6, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(6, 8, 9, 0), - gsSP1Triangle(8, 10, 9, 0), - gsSP1Triangle(11, 10, 8, 0), - gsSP1Triangle(12, 10, 11, 0), - gsSP1Triangle(12, 11, 13, 0), - gsSP1Triangle(13, 11, 14, 0), - gsSP1Triangle(3, 14, 11, 0), - gsSP1Triangle(14, 3, 5, 0), - gsSP1Triangle(15, 14, 5, 0), - gsSP1Triangle(9, 15, 5, 0), - gsSP1Triangle(5, 6, 9, 0), - gsSPVertex(luigi_004_switch_option_left_hand_peace_mesh_vtx_0 + 48, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(3, 4, 1, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(0, 2, 6, 0), - gsSP1Triangle(6, 2, 7, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(9, 10, 11, 0), - gsSP1Triangle(11, 12, 9, 0), - gsSP1Triangle(13, 14, 15, 0), - gsSPVertex(luigi_004_switch_option_left_hand_peace_mesh_vtx_0 + 64, 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, 8, 7, 0), - gsSP1Triangle(9, 2, 8, 0), - gsSP1Triangle(6, 8, 2, 0), - gsSP1Triangle(4, 6, 2, 0), - gsSP1Triangle(2, 1, 4, 0), - gsSP1Triangle(10, 11, 12, 0), - gsSP1Triangle(13, 11, 10, 0), - gsSP1Triangle(13, 10, 14, 0), - gsSP1Triangle(14, 10, 15, 0), - gsSPVertex(luigi_004_switch_option_left_hand_peace_mesh_vtx_0 + 80, 4, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 3, 0, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_005_switch_option_left_hand_cap_mesh_vtx_0[36] = { - {{{-4, -3, -41},0, {-16, -16},{0x48, 0x20, 0x9D, 0xFF}}}, - {{{-27, 47, -13},0, {-16, -16},{0x2F, 0x74, 0xE8, 0xFF}}}, - {{{-10, 41, -9},0, {-16, -16},{0xDD, 0x73, 0xD7, 0xFF}}}, - {{{-21, 26, 32},0, {-16, -16},{0x2E, 0x50, 0x57, 0xFF}}}, - {{{-7, 24, 26},0, {-16, -16},{0xF8, 0x3F, 0x6E, 0xFF}}}, - {{{15, -25, 26},0, {-16, -16},{0x10, 0xC1, 0x6D, 0xFF}}}, - {{{5, -37, 32},0, {-16, -16},{0x57, 0xE5, 0x59, 0xFF}}}, - {{{23, -39, -9},0, {-16, -16},{0x3C, 0x98, 0xD7, 0xFF}}}, - {{{16, -55, -13},0, {-16, -16},{0x74, 0xD2, 0xE9, 0xFF}}}, - {{{8, 1, -31},0, {-16, -16},{0x4, 0xFF, 0x81, 0xFF}}}, - {{{27, 9, -45},0, {-16, -16},{0xE6, 0xF5, 0x84, 0xFF}}}, - {{{3, 60, -12},0, {-16, -16},{0xB1, 0x59, 0xD2, 0xFF}}}, - {{{21, 62, 25},0, {-16, -16},{0xCE, 0x59, 0x4B, 0xFF}}}, - {{{21, 7, 39},0, {-16, -16},{0xC1, 0xF9, 0x6E, 0xFF}}}, - {{{67, -32, 56},0, {-16, -16},{0x19, 0xB2, 0x61, 0xFF}}}, - {{{47, -43, -12},0, {-16, -16},{0x7, 0x8C, 0xCD, 0xFF}}}, - {{{27, 9, -45},0, {-16, -16},{0xE6, 0xF5, 0x84, 0xFF}}}, - {{{95, -25, -8},0, {-16, -16},{0x65, 0xC0, 0xD6, 0xFF}}}, - {{{47, -43, -12},0, {-16, -16},{0x7, 0x8C, 0xCD, 0xFF}}}, - {{{77, 30, -41},0, {-16, -16},{0x45, 0x1C, 0x99, 0xFF}}}, - {{{50, 81, -9},0, {-16, -16},{0x18, 0x79, 0xE3, 0xFF}}}, - {{{3, 60, -12},0, {-16, -16},{0xB1, 0x59, 0xD2, 0xFF}}}, - {{{21, 62, 25},0, {-16, -16},{0xCE, 0x59, 0x4B, 0xFF}}}, - {{{46, 54, 35},0, {-16, -16},{0x15, 0x51, 0x5F, 0xFF}}}, - {{{48, 11, 56},0, {-16, -16},{0xF0, 0x13, 0x7D, 0xFF}}}, - {{{21, 7, 39},0, {-16, -16},{0xC1, 0xF9, 0x6E, 0xFF}}}, - {{{67, -32, 56},0, {-16, -16},{0x19, 0xB2, 0x61, 0xFF}}}, - {{{87, -8, 43},0, {-16, -16},{0x67, 0xF9, 0x4A, 0xFF}}}, - {{{88, 39, 15},0, {-16, -16},{0x6C, 0x3D, 0x1C, 0xFF}}}, - {{{77, 15, 43},0, {-16, -16},{0x44, 0x2D, 0x61, 0xFF}}}, - {{{5, -37, 32},0, {-16, -16},{0x9B, 0xB8, 0x1E, 0xFF}}}, - {{{-23, -12, -2},0, {-16, -16},{0x8B, 0xCF, 0xF8, 0xFF}}}, - {{{16, -55, -13},0, {-16, -16},{0xA1, 0xAF, 0xEC, 0xFF}}}, - {{{-21, 26, 32},0, {-16, -16},{0x87, 0xEA, 0x1F, 0xFF}}}, - {{{-27, 47, -13},0, {-16, -16},{0x83, 0xF4, 0xED, 0xFF}}}, - {{{-4, -3, -41},0, {-16, -16},{0x99, 0xD5, 0xC3, 0xFF}}}, -}; - -Gfx luigi_005_switch_option_left_hand_cap_mesh_tri_0[] = { - gsSPVertex(luigi_005_switch_option_left_hand_cap_mesh_vtx_0 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 1, 3, 0), - gsSP1Triangle(3, 4, 2, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(3, 6, 5, 0), - gsSP1Triangle(7, 5, 6, 0), - gsSP1Triangle(6, 8, 7, 0), - gsSP1Triangle(7, 8, 0, 0), - gsSP1Triangle(0, 9, 7, 0), - gsSP1Triangle(2, 9, 0, 0), - gsSP1Triangle(10, 9, 2, 0), - gsSP1Triangle(11, 10, 2, 0), - gsSP1Triangle(11, 2, 4, 0), - gsSP1Triangle(12, 11, 4, 0), - gsSP1Triangle(4, 13, 12, 0), - gsSP1Triangle(13, 4, 5, 0), - gsSP1Triangle(14, 13, 5, 0), - gsSP1Triangle(15, 14, 5, 0), - gsSP1Triangle(5, 7, 15, 0), - gsSP1Triangle(10, 15, 7, 0), - gsSP1Triangle(7, 9, 10, 0), - gsSPVertex(luigi_005_switch_option_left_hand_cap_mesh_vtx_0 + 16, 14, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(5, 4, 0, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(6, 7, 4, 0), - gsSP1Triangle(7, 6, 8, 0), - gsSP1Triangle(6, 9, 8, 0), - gsSP1Triangle(10, 8, 9, 0), - gsSP1Triangle(10, 11, 8, 0), - gsSP1Triangle(1, 11, 10, 0), - gsSP1Triangle(2, 1, 10, 0), - gsSP1Triangle(1, 12, 11, 0), - gsSP1Triangle(3, 12, 1, 0), - gsSP1Triangle(4, 12, 3, 0), - gsSP1Triangle(7, 12, 4, 0), - gsSP1Triangle(12, 7, 13, 0), - gsSP1Triangle(13, 7, 8, 0), - gsSP1Triangle(11, 13, 8, 0), - gsSP1Triangle(11, 12, 13, 0), - gsSPVertex(luigi_005_switch_option_left_hand_cap_mesh_vtx_0 + 30, 6, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 1, 3, 0), - gsSP1Triangle(5, 1, 4, 0), - gsSP1Triangle(2, 1, 5, 0), - gsSPEndDisplayList(), -};Vtx luigi_005_switch_option_left_hand_cap_mesh_vtx_1[71] = { - {{{124, -96, 95},0, {-16, -16},{0x99, 0xC3, 0x2A, 0xFF}}}, - {{{148, -108, 137},0, {-16, -16},{0x99, 0xE9, 0x46, 0xFF}}}, - {{{83, -50, 60},0, {-16, -16},{0x9B, 0xFC, 0x4C, 0xFF}}}, - {{{171, -86, 173},0, {-16, -16},{0x9B, 0xFC, 0x4D, 0xFF}}}, - {{{200, -58, 210},0, {-16, -16},{0x9C, 0x0, 0x4E, 0xFF}}}, - {{{200, 18, 210},0, {-16, -16},{0x9C, 0x0, 0x4E, 0xFF}}}, - {{{171, 47, 173},0, {-16, -16},{0x9B, 0x4, 0x4C, 0xFF}}}, - {{{148, 69, 137},0, {-16, -16},{0x96, 0xE, 0x44, 0xFF}}}, - {{{124, 57, 95},0, {-16, -16},{0x94, 0x15, 0x3F, 0xFF}}}, - {{{83, 11, 60},0, {-16, -16},{0xAD, 0x0, 0x60, 0xFF}}}, - {{{124, 57, 95},0, {-16, -16},{0xCA, 0xDB, 0x6D, 0xFF}}}, - {{{44, 33, 48},0, {-16, -16},{0xCF, 0xE6, 0x72, 0xFF}}}, - {{{83, 11, 60},0, {-16, -16},{0xCB, 0xE9, 0x71, 0xFF}}}, - {{{28, -20, 33},0, {-16, -16},{0xCE, 0x0, 0x75, 0xFF}}}, - {{{83, -50, 60},0, {-16, -16},{0xCB, 0x17, 0x71, 0xFF}}}, - {{{44, -72, 48},0, {-16, -16},{0xCF, 0x1A, 0x72, 0xFF}}}, - {{{83, -50, 60},0, {-16, -16},{0xCB, 0x17, 0x71, 0xFF}}}, - {{{44, -72, 48},0, {-16, -16},{0xCF, 0x1A, 0x72, 0xFF}}}, - {{{124, -96, 95},0, {-16, -16},{0xCA, 0x25, 0x6D, 0xFF}}}, - {{{86, 6, 41},0, {728, 716},{0xCB, 0x3A, 0x9C, 0xFF}}}, - {{{124, 57, 95},0, {1234, 1050},{0xB5, 0x64, 0xEC, 0xFF}}}, - {{{127, 39, 1},0, {1016, 136},{0xD8, 0x55, 0xAB, 0xFF}}}, - {{{113, -20, -24},0, {456, -32},{0xCC, 0x0, 0x8C, 0xFF}}}, - {{{86, -45, 41},0, {216, 720},{0xCB, 0xC6, 0x9C, 0xFF}}}, - {{{127, -78, 1},0, {-94, 142},{0xD8, 0xAB, 0xAB, 0xFF}}}, - {{{124, -96, 95},0, {-274, 1060},{0xB4, 0x9C, 0xED, 0xFF}}}, - {{{86, 6, 41},0, {-16, -16},{0xCB, 0x3A, 0x9C, 0xFF}}}, - {{{44, 33, 48},0, {-16, -16},{0x10, 0x38, 0x8F, 0xFF}}}, - {{{124, 57, 95},0, {-16, -16},{0xB5, 0x64, 0xEC, 0xFF}}}, - {{{28, -20, 33},0, {-16, -16},{0x6, 0x0, 0x81, 0xFF}}}, - {{{86, -45, 41},0, {-16, -16},{0xCB, 0xC6, 0x9C, 0xFF}}}, - {{{44, -72, 48},0, {-16, -16},{0x10, 0xC8, 0x8F, 0xFF}}}, - {{{44, -72, 48},0, {-16, -16},{0x10, 0xC8, 0x8F, 0xFF}}}, - {{{86, -45, 41},0, {-16, -16},{0xCB, 0xC6, 0x9C, 0xFF}}}, - {{{124, -96, 95},0, {-16, -16},{0xB4, 0x9C, 0xED, 0xFF}}}, - {{{148, -108, 137},0, {-16, -16},{0xCD, 0x95, 0x2F, 0xFF}}}, - {{{186, -120, 139},0, {-16, -16},{0x1D, 0x8B, 0x27, 0xFF}}}, - {{{171, -86, 173},0, {-16, -16},{0xE9, 0xA3, 0x53, 0xFF}}}, - {{{165, -132, 77},0, {-16, -16},{0x6, 0x84, 0xE3, 0xFF}}}, - {{{127, -78, 1},0, {-16, -16},{0xD8, 0xAB, 0xAB, 0xFF}}}, - {{{186, -54, 2},0, {-16, -16},{0x51, 0xD8, 0xA7, 0xFF}}}, - {{{113, -20, -24},0, {-16, -16},{0xCC, 0x0, 0x8C, 0xFF}}}, - {{{186, 15, 2},0, {-16, -16},{0x51, 0x28, 0xA7, 0xFF}}}, - {{{127, 39, 1},0, {-16, -16},{0xD8, 0x55, 0xAB, 0xFF}}}, - {{{165, 92, 77},0, {-16, -16},{0x6, 0x7B, 0xE2, 0xFF}}}, - {{{124, 57, 95},0, {-16, -16},{0xB5, 0x64, 0xEC, 0xFF}}}, - {{{148, 69, 137},0, {-16, -16},{0xCD, 0x6B, 0x2E, 0xFF}}}, - {{{186, 81, 139},0, {-16, -16},{0x1D, 0x76, 0x26, 0xFF}}}, - {{{171, 47, 173},0, {-16, -16},{0xEB, 0x5D, 0x54, 0xFF}}}, - {{{186, 81, 139},0, {-16, -16},{0x1D, 0x76, 0x26, 0xFF}}}, - {{{148, 69, 137},0, {-16, -16},{0xCD, 0x6B, 0x2E, 0xFF}}}, - {{{200, 18, 210},0, {-16, -16},{0x3, 0x3C, 0x70, 0xFF}}}, - {{{232, 18, 208},0, {-16, -16},{0x40, 0x33, 0x61, 0xFF}}}, - {{{232, -57, 208},0, {-16, -16},{0x41, 0xCE, 0x61, 0xFF}}}, - {{{200, -58, 210},0, {-16, -16},{0x4, 0xC3, 0x6F, 0xFF}}}, - {{{186, -120, 139},0, {-16, -16},{0x1D, 0x8B, 0x27, 0xFF}}}, - {{{171, -86, 173},0, {-16, -16},{0xE9, 0xA3, 0x53, 0xFF}}}, - {{{251, -57, 170},0, {-16, -16},{0x77, 0xD5, 0x6, 0xFF}}}, - {{{225, -80, 120},0, {-16, -16},{0x6E, 0xCA, 0xDE, 0xFF}}}, - {{{165, -132, 77},0, {-16, -16},{0x6, 0x84, 0xE3, 0xFF}}}, - {{{186, -54, 2},0, {-16, -16},{0x51, 0xD8, 0xA7, 0xFF}}}, - {{{225, 40, 120},0, {-16, -16},{0x6E, 0x35, 0xDD, 0xFF}}}, - {{{186, 15, 2},0, {-16, -16},{0x51, 0x28, 0xA7, 0xFF}}}, - {{{165, 92, 77},0, {-16, -16},{0x6, 0x7B, 0xE2, 0xFF}}}, - {{{186, 81, 139},0, {-16, -16},{0x1D, 0x76, 0x26, 0xFF}}}, - {{{251, 18, 170},0, {-16, -16},{0x77, 0x2B, 0x6, 0xFF}}}, - {{{225, 40, 120},0, {-16, -16},{0x6E, 0x35, 0xDD, 0xFF}}}, - {{{232, 18, 208},0, {-16, -16},{0x40, 0x33, 0x61, 0xFF}}}, - {{{232, -57, 208},0, {-16, -16},{0x41, 0xCE, 0x61, 0xFF}}}, - {{{251, -57, 170},0, {-16, -16},{0x77, 0xD5, 0x6, 0xFF}}}, - {{{225, -80, 120},0, {-16, -16},{0x6E, 0xCA, 0xDE, 0xFF}}}, -}; - -Gfx luigi_005_switch_option_left_hand_cap_mesh_tri_1[] = { - gsSPVertex(luigi_005_switch_option_left_hand_cap_mesh_vtx_1 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 2, 1, 0), - gsSP1Triangle(4, 2, 3, 0), - gsSP1Triangle(4, 5, 2, 0), - gsSP1Triangle(5, 6, 2, 0), - gsSP1Triangle(7, 2, 6, 0), - gsSP1Triangle(8, 2, 7, 0), - gsSP1Triangle(9, 2, 8, 0), - gsSP1Triangle(10, 11, 12, 0), - gsSP1Triangle(11, 13, 12, 0), - gsSP1Triangle(14, 12, 13, 0), - gsSP1Triangle(14, 13, 15, 0), - gsSPVertex(luigi_005_switch_option_left_hand_cap_mesh_vtx_1 + 16, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(5, 6, 3, 0), - gsSP1Triangle(6, 7, 3, 0), - gsSP1Triangle(6, 8, 7, 0), - gsSP1Triangle(8, 9, 7, 0), - gsSP1Triangle(10, 11, 12, 0), - gsSP1Triangle(10, 13, 11, 0), - gsSP1Triangle(14, 13, 10, 0), - gsSP1Triangle(15, 13, 14, 0), - gsSPVertex(luigi_005_switch_option_left_hand_cap_mesh_vtx_1 + 32, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(6, 4, 3, 0), - gsSP1Triangle(2, 6, 3, 0), - gsSP1Triangle(2, 7, 6, 0), - gsSP1Triangle(8, 6, 7, 0), - gsSP1Triangle(7, 9, 8, 0), - gsSP1Triangle(8, 9, 10, 0), - gsSP1Triangle(10, 9, 11, 0), - gsSP1Triangle(11, 12, 10, 0), - gsSP1Triangle(12, 11, 13, 0), - gsSP1Triangle(12, 13, 14, 0), - gsSP1Triangle(14, 15, 12, 0), - gsSPVertex(luigi_005_switch_option_left_hand_cap_mesh_vtx_1 + 48, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(1, 3, 4, 0), - gsSP1Triangle(4, 3, 5, 0), - gsSP1Triangle(3, 6, 5, 0), - gsSP1Triangle(5, 6, 7, 0), - gsSP1Triangle(8, 7, 6, 0), - gsSP1Triangle(7, 9, 5, 0), - gsSP1Triangle(10, 9, 7, 0), - gsSP1Triangle(11, 10, 7, 0), - gsSP1Triangle(10, 11, 12, 0), - gsSP1Triangle(10, 12, 13, 0), - gsSP1Triangle(12, 14, 13, 0), - gsSP1Triangle(14, 15, 13, 0), - gsSP1Triangle(1, 13, 15, 0), - gsSPVertex(luigi_005_switch_option_left_hand_cap_mesh_vtx_1 + 64, 7, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 1, 3, 0), - gsSP1Triangle(4, 5, 1, 0), - gsSP1Triangle(1, 5, 6, 0), - gsSP1Triangle(6, 2, 1, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_006_switch_option_left_hand_wing_cap_mesh_vtx_0[36] = { - {{{-2, -3, -39},0, {-16, -16},{0x48, 0x20, 0x9D, 0xFF}}}, - {{{-25, 47, -11},0, {-16, -16},{0x2F, 0x74, 0xE8, 0xFF}}}, - {{{-8, 41, -7},0, {-16, -16},{0xDD, 0x73, 0xD7, 0xFF}}}, - {{{-19, 26, 34},0, {-16, -16},{0x2E, 0x50, 0x57, 0xFF}}}, - {{{-5, 24, 28},0, {-16, -16},{0xF8, 0x3F, 0x6E, 0xFF}}}, - {{{17, -25, 28},0, {-16, -16},{0x10, 0xC1, 0x6D, 0xFF}}}, - {{{7, -37, 34},0, {-16, -16},{0x57, 0xE5, 0x59, 0xFF}}}, - {{{25, -39, -7},0, {-16, -16},{0x3C, 0x98, 0xD7, 0xFF}}}, - {{{18, -55, -11},0, {-16, -16},{0x74, 0xD2, 0xE9, 0xFF}}}, - {{{10, 1, -29},0, {-16, -16},{0x4, 0xFF, 0x81, 0xFF}}}, - {{{29, 9, -43},0, {-16, -16},{0xE6, 0xF5, 0x84, 0xFF}}}, - {{{5, 60, -10},0, {-16, -16},{0xB1, 0x59, 0xD2, 0xFF}}}, - {{{23, 62, 27},0, {-16, -16},{0xCE, 0x59, 0x4B, 0xFF}}}, - {{{23, 7, 41},0, {-16, -16},{0xC1, 0xF9, 0x6E, 0xFF}}}, - {{{69, -32, 58},0, {-16, -16},{0x19, 0xB2, 0x61, 0xFF}}}, - {{{49, -43, -10},0, {-16, -16},{0x7, 0x8C, 0xCD, 0xFF}}}, - {{{29, 9, -43},0, {-16, -16},{0xE6, 0xF5, 0x84, 0xFF}}}, - {{{97, -25, -6},0, {-16, -16},{0x65, 0xC0, 0xD6, 0xFF}}}, - {{{49, -43, -10},0, {-16, -16},{0x7, 0x8C, 0xCD, 0xFF}}}, - {{{79, 30, -39},0, {-16, -16},{0x45, 0x1C, 0x99, 0xFF}}}, - {{{52, 81, -7},0, {-16, -16},{0x18, 0x79, 0xE3, 0xFF}}}, - {{{5, 60, -10},0, {-16, -16},{0xB1, 0x59, 0xD2, 0xFF}}}, - {{{23, 62, 27},0, {-16, -16},{0xCE, 0x59, 0x4B, 0xFF}}}, - {{{48, 54, 37},0, {-16, -16},{0x15, 0x51, 0x5F, 0xFF}}}, - {{{50, 11, 58},0, {-16, -16},{0xF0, 0x13, 0x7D, 0xFF}}}, - {{{23, 7, 41},0, {-16, -16},{0xC1, 0xF9, 0x6E, 0xFF}}}, - {{{69, -32, 58},0, {-16, -16},{0x19, 0xB2, 0x61, 0xFF}}}, - {{{89, -8, 45},0, {-16, -16},{0x67, 0xF9, 0x4A, 0xFF}}}, - {{{90, 39, 17},0, {-16, -16},{0x6C, 0x3D, 0x1C, 0xFF}}}, - {{{79, 15, 45},0, {-16, -16},{0x44, 0x2D, 0x61, 0xFF}}}, - {{{7, -37, 34},0, {-16, -16},{0x9B, 0xB8, 0x1E, 0xFF}}}, - {{{-21, -12, 0},0, {-16, -16},{0x8B, 0xCF, 0xF8, 0xFF}}}, - {{{18, -55, -11},0, {-16, -16},{0xA1, 0xAF, 0xEC, 0xFF}}}, - {{{-19, 26, 34},0, {-16, -16},{0x87, 0xEA, 0x1F, 0xFF}}}, - {{{-25, 47, -11},0, {-16, -16},{0x83, 0xF4, 0xED, 0xFF}}}, - {{{-2, -3, -39},0, {-16, -16},{0x99, 0xD5, 0xC3, 0xFF}}}, -}; - -Gfx luigi_006_switch_option_left_hand_wing_cap_mesh_tri_0[] = { - gsSPVertex(luigi_006_switch_option_left_hand_wing_cap_mesh_vtx_0 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 1, 3, 0), - gsSP1Triangle(3, 4, 2, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(3, 6, 5, 0), - gsSP1Triangle(7, 5, 6, 0), - gsSP1Triangle(6, 8, 7, 0), - gsSP1Triangle(7, 8, 0, 0), - gsSP1Triangle(0, 9, 7, 0), - gsSP1Triangle(2, 9, 0, 0), - gsSP1Triangle(10, 9, 2, 0), - gsSP1Triangle(11, 10, 2, 0), - gsSP1Triangle(11, 2, 4, 0), - gsSP1Triangle(12, 11, 4, 0), - gsSP1Triangle(4, 13, 12, 0), - gsSP1Triangle(13, 4, 5, 0), - gsSP1Triangle(14, 13, 5, 0), - gsSP1Triangle(15, 14, 5, 0), - gsSP1Triangle(5, 7, 15, 0), - gsSP1Triangle(10, 15, 7, 0), - gsSP1Triangle(7, 9, 10, 0), - gsSPVertex(luigi_006_switch_option_left_hand_wing_cap_mesh_vtx_0 + 16, 14, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(5, 4, 0, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(6, 7, 4, 0), - gsSP1Triangle(7, 6, 8, 0), - gsSP1Triangle(6, 9, 8, 0), - gsSP1Triangle(10, 8, 9, 0), - gsSP1Triangle(10, 11, 8, 0), - gsSP1Triangle(1, 11, 10, 0), - gsSP1Triangle(2, 1, 10, 0), - gsSP1Triangle(1, 12, 11, 0), - gsSP1Triangle(3, 12, 1, 0), - gsSP1Triangle(4, 12, 3, 0), - gsSP1Triangle(7, 12, 4, 0), - gsSP1Triangle(12, 7, 13, 0), - gsSP1Triangle(13, 7, 8, 0), - gsSP1Triangle(11, 13, 8, 0), - gsSP1Triangle(11, 12, 13, 0), - gsSPVertex(luigi_006_switch_option_left_hand_wing_cap_mesh_vtx_0 + 30, 6, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 1, 3, 0), - gsSP1Triangle(5, 1, 4, 0), - gsSP1Triangle(2, 1, 5, 0), - gsSPEndDisplayList(), -};Vtx luigi_006_switch_option_left_hand_wing_cap_mesh_vtx_1[71] = { - {{{125, -88, 96},0, {-16, -16},{0x98, 0xC4, 0x2A, 0xFF}}}, - {{{149, -101, 138},0, {-16, -16},{0x99, 0xEB, 0x47, 0xFF}}}, - {{{85, -41, 61},0, {-16, -16},{0x9B, 0xFD, 0x4C, 0xFF}}}, - {{{172, -80, 174},0, {-16, -16},{0x9B, 0xFE, 0x4D, 0xFF}}}, - {{{201, -52, 211},0, {-16, -16},{0x9C, 0x1, 0x4E, 0xFF}}}, - {{{203, 24, 212},0, {-16, -16},{0x9C, 0x1, 0x4E, 0xFF}}}, - {{{175, 53, 176},0, {-16, -16},{0x9B, 0x5, 0x4C, 0xFF}}}, - {{{152, 76, 139},0, {-16, -16},{0x96, 0x10, 0x44, 0xFF}}}, - {{{128, 65, 98},0, {-16, -16},{0x94, 0x16, 0x40, 0xFF}}}, - {{{86, 20, 62},0, {-16, -16},{0xAD, 0x1, 0x60, 0xFF}}}, - {{{128, 65, 98},0, {-16, -16},{0xCA, 0xDB, 0x6D, 0xFF}}}, - {{{48, 43, 50},0, {-16, -16},{0xCF, 0xE6, 0x72, 0xFF}}}, - {{{86, 20, 62},0, {-16, -16},{0xCB, 0xE9, 0x71, 0xFF}}}, - {{{30, -10, 35},0, {-16, -16},{0xCE, 0x0, 0x75, 0xFF}}}, - {{{85, -41, 61},0, {-16, -16},{0xCB, 0x17, 0x71, 0xFF}}}, - {{{46, -62, 50},0, {-16, -16},{0xD0, 0x1A, 0x73, 0xFF}}}, - {{{85, -41, 61},0, {-16, -16},{0xCB, 0x17, 0x71, 0xFF}}}, - {{{46, -62, 50},0, {-16, -16},{0xD0, 0x1A, 0x73, 0xFF}}}, - {{{125, -88, 96},0, {-16, -16},{0xCB, 0x25, 0x6D, 0xFF}}}, - {{{89, 15, 43},0, {728, 716},{0xCD, 0x3B, 0x9C, 0xFF}}}, - {{{128, 65, 98},0, {1234, 1050},{0xB7, 0x66, 0xED, 0xFF}}}, - {{{130, 48, 3},0, {1016, 136},{0xDA, 0x57, 0xAC, 0xFF}}}, - {{{116, -11, -22},0, {456, -32},{0xCC, 0x1, 0x8C, 0xFF}}}, - {{{88, -36, 42},0, {216, 720},{0xCB, 0xC9, 0x9B, 0xFF}}}, - {{{128, -69, 2},0, {-94, 142},{0xD6, 0xAC, 0xAB, 0xFF}}}, - {{{125, -88, 96},0, {-274, 1060},{0xB2, 0x9D, 0xEC, 0xFF}}}, - {{{89, 15, 43},0, {-16, -16},{0xCD, 0x3B, 0x9C, 0xFF}}}, - {{{48, 43, 50},0, {-16, -16},{0x11, 0x39, 0x90, 0xFF}}}, - {{{128, 65, 98},0, {-16, -16},{0xB7, 0x66, 0xED, 0xFF}}}, - {{{30, -10, 35},0, {-16, -16},{0x6, 0x1, 0x81, 0xFF}}}, - {{{88, -36, 42},0, {-16, -16},{0xCB, 0xC9, 0x9B, 0xFF}}}, - {{{46, -62, 50},0, {-16, -16},{0xF, 0xC8, 0x8F, 0xFF}}}, - {{{46, -62, 50},0, {-16, -16},{0xF, 0xC8, 0x8F, 0xFF}}}, - {{{88, -36, 42},0, {-16, -16},{0xCB, 0xC9, 0x9B, 0xFF}}}, - {{{125, -88, 96},0, {-16, -16},{0xB2, 0x9D, 0xEC, 0xFF}}}, - {{{149, -101, 138},0, {-16, -16},{0xCB, 0x96, 0x2E, 0xFF}}}, - {{{187, -114, 140},0, {-16, -16},{0x1B, 0x8A, 0x26, 0xFF}}}, - {{{172, -80, 174},0, {-16, -16},{0xE8, 0xA2, 0x53, 0xFF}}}, - {{{165, -125, 78},0, {-16, -16},{0x3, 0x85, 0xE2, 0xFF}}}, - {{{128, -69, 2},0, {-16, -16},{0xD6, 0xAC, 0xAB, 0xFF}}}, - {{{187, -46, 4},0, {-16, -16},{0x51, 0xD8, 0xA6, 0xFF}}}, - {{{116, -11, -22},0, {-16, -16},{0xCC, 0x1, 0x8C, 0xFF}}}, - {{{189, 23, 4},0, {-16, -16},{0x52, 0x27, 0xA7, 0xFF}}}, - {{{130, 48, 3},0, {-16, -16},{0xDA, 0x57, 0xAC, 0xFF}}}, - {{{169, 99, 79},0, {-16, -16},{0x8, 0x7B, 0xE3, 0xFF}}}, - {{{128, 65, 98},0, {-16, -16},{0xB7, 0x66, 0xED, 0xFF}}}, - {{{152, 76, 139},0, {-16, -16},{0xD0, 0x6C, 0x2E, 0xFF}}}, - {{{191, 87, 142},0, {-16, -16},{0x1F, 0x75, 0x27, 0xFF}}}, - {{{175, 53, 176},0, {-16, -16},{0xED, 0x5D, 0x55, 0xFF}}}, - {{{191, 87, 142},0, {-16, -16},{0x1F, 0x75, 0x27, 0xFF}}}, - {{{152, 76, 139},0, {-16, -16},{0xD0, 0x6C, 0x2E, 0xFF}}}, - {{{203, 24, 212},0, {-16, -16},{0x4, 0x3A, 0x71, 0xFF}}}, - {{{235, 23, 210},0, {-16, -16},{0x40, 0x31, 0x62, 0xFF}}}, - {{{234, -52, 210},0, {-16, -16},{0x3F, 0xCC, 0x61, 0xFF}}}, - {{{201, -52, 211},0, {-16, -16},{0x3, 0xC3, 0x6F, 0xFF}}}, - {{{187, -114, 140},0, {-16, -16},{0x1B, 0x8A, 0x26, 0xFF}}}, - {{{172, -80, 174},0, {-16, -16},{0xE8, 0xA2, 0x53, 0xFF}}}, - {{{252, -52, 172},0, {-16, -16},{0x77, 0xD3, 0x6, 0xFF}}}, - {{{226, -74, 121},0, {-16, -16},{0x6D, 0xC8, 0xDE, 0xFF}}}, - {{{165, -125, 78},0, {-16, -16},{0x3, 0x85, 0xE2, 0xFF}}}, - {{{187, -46, 4},0, {-16, -16},{0x51, 0xD8, 0xA6, 0xFF}}}, - {{{228, 46, 122},0, {-16, -16},{0x6F, 0x34, 0xDE, 0xFF}}}, - {{{189, 23, 4},0, {-16, -16},{0x52, 0x27, 0xA7, 0xFF}}}, - {{{169, 99, 79},0, {-16, -16},{0x8, 0x7B, 0xE3, 0xFF}}}, - {{{191, 87, 142},0, {-16, -16},{0x1F, 0x75, 0x27, 0xFF}}}, - {{{254, 23, 172},0, {-16, -16},{0x78, 0x29, 0x6, 0xFF}}}, - {{{228, 46, 122},0, {-16, -16},{0x6F, 0x34, 0xDE, 0xFF}}}, - {{{235, 23, 210},0, {-16, -16},{0x40, 0x31, 0x62, 0xFF}}}, - {{{234, -52, 210},0, {-16, -16},{0x3F, 0xCC, 0x61, 0xFF}}}, - {{{252, -52, 172},0, {-16, -16},{0x77, 0xD3, 0x6, 0xFF}}}, - {{{226, -74, 121},0, {-16, -16},{0x6D, 0xC8, 0xDE, 0xFF}}}, -}; - -Gfx luigi_006_switch_option_left_hand_wing_cap_mesh_tri_1[] = { - gsSPVertex(luigi_006_switch_option_left_hand_wing_cap_mesh_vtx_1 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 2, 1, 0), - gsSP1Triangle(4, 2, 3, 0), - gsSP1Triangle(4, 5, 2, 0), - gsSP1Triangle(5, 6, 2, 0), - gsSP1Triangle(7, 2, 6, 0), - gsSP1Triangle(8, 2, 7, 0), - gsSP1Triangle(9, 2, 8, 0), - gsSP1Triangle(10, 11, 12, 0), - gsSP1Triangle(11, 13, 12, 0), - gsSP1Triangle(14, 12, 13, 0), - gsSP1Triangle(14, 13, 15, 0), - gsSPVertex(luigi_006_switch_option_left_hand_wing_cap_mesh_vtx_1 + 16, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(5, 6, 3, 0), - gsSP1Triangle(6, 7, 3, 0), - gsSP1Triangle(6, 8, 7, 0), - gsSP1Triangle(8, 9, 7, 0), - gsSP1Triangle(10, 11, 12, 0), - gsSP1Triangle(10, 13, 11, 0), - gsSP1Triangle(14, 13, 10, 0), - gsSP1Triangle(15, 13, 14, 0), - gsSPVertex(luigi_006_switch_option_left_hand_wing_cap_mesh_vtx_1 + 32, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(6, 4, 3, 0), - gsSP1Triangle(2, 6, 3, 0), - gsSP1Triangle(2, 7, 6, 0), - gsSP1Triangle(8, 6, 7, 0), - gsSP1Triangle(7, 9, 8, 0), - gsSP1Triangle(8, 9, 10, 0), - gsSP1Triangle(10, 9, 11, 0), - gsSP1Triangle(11, 12, 10, 0), - gsSP1Triangle(12, 11, 13, 0), - gsSP1Triangle(12, 13, 14, 0), - gsSP1Triangle(14, 15, 12, 0), - gsSPVertex(luigi_006_switch_option_left_hand_wing_cap_mesh_vtx_1 + 48, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(1, 3, 4, 0), - gsSP1Triangle(4, 3, 5, 0), - gsSP1Triangle(3, 6, 5, 0), - gsSP1Triangle(5, 6, 7, 0), - gsSP1Triangle(8, 7, 6, 0), - gsSP1Triangle(7, 9, 5, 0), - gsSP1Triangle(10, 9, 7, 0), - gsSP1Triangle(11, 10, 7, 0), - gsSP1Triangle(10, 11, 12, 0), - gsSP1Triangle(10, 12, 13, 0), - gsSP1Triangle(12, 14, 13, 0), - gsSP1Triangle(14, 15, 13, 0), - gsSP1Triangle(1, 13, 15, 0), - gsSPVertex(luigi_006_switch_option_left_hand_wing_cap_mesh_vtx_1 + 64, 7, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 1, 3, 0), - gsSP1Triangle(4, 5, 1, 0), - gsSP1Triangle(1, 5, 6, 0), - gsSP1Triangle(6, 2, 1, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_006_switch_option_left_hand_wing_cap_wings_mesh_vtx_0[8] = { - {{{172, -156, 121},0, {-13, 2032},{0xA8, 0xB3, 0xCF, 0xFF}}}, - {{{313, -227, -21},0, {-16, -6},{0xA8, 0xB4, 0xCE, 0xFF}}}, - {{{343, -304, 46},0, {1008, -16},{0xA8, 0xB3, 0xCF, 0xFF}}}, - {{{201, -232, 188},0, {1001, 2032},{0xA8, 0xB3, 0xCF, 0xFF}}}, - {{{408, 206, 75},0, {1008, -15},{0xBD, 0x64, 0xD8, 0xFF}}}, - {{{362, 146, 0},0, {-16, -16},{0xBE, 0x65, 0xD8, 0xFF}}}, - {{{206, 96, 136},0, {-16, 2031},{0xBE, 0x65, 0xD8, 0xFF}}}, - {{{252, 156, 211},0, {1008, 2032},{0xBD, 0x64, 0xD8, 0xFF}}}, -}; - -Gfx luigi_006_switch_option_left_hand_wing_cap_wings_mesh_tri_0[] = { - gsSPVertex(luigi_006_switch_option_left_hand_wing_cap_wings_mesh_vtx_0 + 0, 8, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 0, 2, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(4, 6, 7, 0), - gsSPEndDisplayList(), -};Vtx luigi_006_switch_option_left_hand_wing_cap_wings_mesh_vtx_1[8] = { - {{{362, 146, 0},0, {1001, -16},{0xBE, 0x65, 0xD8, 0xFF}}}, - {{{160, 37, 61},0, {-16, 2032},{0xBE, 0x65, 0xD9, 0xFF}}}, - {{{206, 96, 136},0, {1008, 2032},{0xBE, 0x65, 0xD8, 0xFF}}}, - {{{316, 87, -74},0, {-16, -10},{0xBE, 0x65, 0xD8, 0xFF}}}, - {{{172, -156, 121},0, {1008, 2032},{0xA8, 0xB3, 0xCF, 0xFF}}}, - {{{143, -79, 53},0, {-16, 2027},{0xA8, 0xB4, 0xCE, 0xFF}}}, - {{{313, -227, -21},0, {1008, -16},{0xA8, 0xB4, 0xCE, 0xFF}}}, - {{{284, -150, -88},0, {-10, -14},{0xA8, 0xB4, 0xCE, 0xFF}}}, -}; - -Gfx luigi_006_switch_option_left_hand_wing_cap_wings_mesh_tri_1[] = { - gsSPVertex(luigi_006_switch_option_left_hand_wing_cap_wings_mesh_vtx_1 + 0, 8, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(5, 7, 6, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_000_offset_009_mesh_vtx_0[22] = { - {{{-5, 33, 27},0, {-16, -16},{0xA0, 0x42, 0x33, 0xFF}}}, - {{{-15, 0, 6},0, {-16, -16},{0x81, 0xF6, 0xFD, 0xFF}}}, - {{{-1, -10, 42},0, {-16, -16},{0xA8, 0xE3, 0x57, 0xFF}}}, - {{{-4, 33, -15},0, {-16, -16},{0xA3, 0x40, 0xC7, 0xFF}}}, - {{{14, 43, -20},0, {-16, -16},{0xE4, 0x63, 0xB6, 0xFF}}}, - {{{13, 43, 34},0, {-16, -16},{0xE1, 0x63, 0x49, 0xFF}}}, - {{{18, -13, 52},0, {-16, -16},{0xEC, 0xD9, 0x77, 0xFF}}}, - {{{1, -39, 7},0, {-16, -16},{0xAD, 0xA0, 0xFF, 0xFF}}}, - {{{0, -11, -28},0, {-16, -16},{0xAC, 0xDE, 0xA7, 0xFF}}}, - {{{19, -13, -37},0, {-16, -16},{0xEF, 0xD9, 0x88, 0xFF}}}, - {{{92, 40, -14},0, {-16, -16},{0x38, 0x5D, 0xBF, 0xFF}}}, - {{{91, 40, 28},0, {-16, -16},{0x37, 0x5F, 0x41, 0xFF}}}, - {{{95, -4, 43},0, {-16, -16},{0x3F, 0xE6, 0x6B, 0xFF}}}, - {{{98, -33, 7},0, {-16, -16},{0x47, 0x97, 0xFF, 0xFF}}}, - {{{21, -48, 7},0, {-16, -16},{0xF4, 0x82, 0xFF, 0xFF}}}, - {{{96, -4, -27},0, {-16, -16},{0x41, 0xE5, 0x96, 0xFF}}}, - {{{92, 40, -14},0, {-16, -16},{0x38, 0x5D, 0xBF, 0xFF}}}, - {{{116, 9, 7},0, {-16, -16},{0x7F, 0xB, 0x0, 0xFF}}}, - {{{96, -4, -27},0, {-16, -16},{0x41, 0xE5, 0x96, 0xFF}}}, - {{{91, 40, 28},0, {-16, -16},{0x37, 0x5F, 0x41, 0xFF}}}, - {{{95, -4, 43},0, {-16, -16},{0x3F, 0xE6, 0x6B, 0xFF}}}, - {{{98, -33, 7},0, {-16, -16},{0x47, 0x97, 0xFF, 0xFF}}}, -}; - -Gfx luigi_000_offset_009_mesh_tri_0[] = { - gsSPVertex(luigi_000_offset_009_mesh_vtx_0 + 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(0, 2, 6, 0), - gsSP1Triangle(6, 2, 7, 0), - gsSP1Triangle(2, 1, 7, 0), - gsSP1Triangle(7, 1, 8, 0), - gsSP1Triangle(8, 1, 3, 0), - gsSP1Triangle(9, 8, 3, 0), - gsSP1Triangle(9, 3, 4, 0), - gsSP1Triangle(9, 4, 10, 0), - gsSP1Triangle(4, 5, 10, 0), - gsSP1Triangle(5, 11, 10, 0), - gsSP1Triangle(5, 6, 11, 0), - gsSP1Triangle(6, 12, 11, 0), - gsSP1Triangle(13, 12, 6, 0), - gsSP1Triangle(6, 14, 13, 0), - gsSP1Triangle(6, 7, 14, 0), - gsSP1Triangle(14, 7, 9, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(14, 9, 13, 0), - gsSP1Triangle(9, 15, 13, 0), - gsSP1Triangle(10, 15, 9, 0), - gsSPVertex(luigi_000_offset_009_mesh_vtx_0 + 16, 6, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 1, 3, 0), - gsSP1Triangle(5, 1, 4, 0), - gsSP1Triangle(2, 1, 5, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_000_offset_010_mesh_vtx_0[12] = { - {{{8, 39, 29},0, {-16, -16},{0xC7, 0x5D, 0x40, 0xFF}}}, - {{{65, -9, 48},0, {-16, -16},{0x38, 0xDC, 0x6C, 0xFF}}}, - {{{68, 40, 33},0, {-16, -16},{0x3F, 0x57, 0x44, 0xFF}}}, - {{{6, -5, 44},0, {-16, -16},{0xC2, 0xE3, 0x6B, 0xFF}}}, - {{{-14, 7, 7},0, {-16, -16},{0x81, 0x6, 0xFD, 0xFF}}}, - {{{9, 39, -14},0, {-16, -16},{0xC9, 0x5D, 0xBE, 0xFF}}}, - {{{69, 40, -16},0, {-16, -16},{0x42, 0x57, 0xBF, 0xFF}}}, - {{{81, 2, 8},0, {-16, -16},{0x7F, 0xF7, 0x1, 0xFF}}}, - {{{64, -41, 8},0, {-16, -16},{0x35, 0x8C, 0x0, 0xFF}}}, - {{{4, -33, 8},0, {-16, -16},{0xBD, 0x94, 0x0, 0xFF}}}, - {{{6, -5, -27},0, {-16, -16},{0xC3, 0xE2, 0x95, 0xFF}}}, - {{{66, -9, -32},0, {-16, -16},{0x3A, 0xDC, 0x95, 0xFF}}}, -}; - -Gfx luigi_000_offset_010_mesh_tri_0[] = { - gsSPVertex(luigi_000_offset_010_mesh_vtx_0 + 0, 12, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(0, 4, 3, 0), - gsSP1Triangle(5, 4, 0, 0), - gsSP1Triangle(6, 5, 0, 0), - gsSP1Triangle(0, 2, 6, 0), - gsSP1Triangle(2, 7, 6, 0), - gsSP1Triangle(1, 7, 2, 0), - gsSP1Triangle(8, 7, 1, 0), - gsSP1Triangle(9, 8, 1, 0), - gsSP1Triangle(1, 3, 9, 0), - gsSP1Triangle(3, 4, 9, 0), - gsSP1Triangle(9, 4, 10, 0), - gsSP1Triangle(10, 4, 5, 0), - gsSP1Triangle(11, 10, 5, 0), - gsSP1Triangle(5, 6, 11, 0), - gsSP1Triangle(6, 7, 11, 0), - gsSP1Triangle(11, 7, 8, 0), - gsSP1Triangle(9, 11, 8, 0), - gsSP1Triangle(9, 10, 11, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_000_offset_011_mesh_vtx_0[29] = { - {{{-9, 53, 47},0, {-16, -16},{0x2D, 0x77, 0xFE, 0xFF}}}, - {{{-35, 62, -7},0, {-16, -16},{0x2E, 0x76, 0xFE, 0xFF}}}, - {{{-36, 63, 23},0, {-16, -16},{0x2E, 0x76, 0xFE, 0xFF}}}, - {{{-10, 52, -28},0, {-16, -16},{0x2D, 0x77, 0xFE, 0xFF}}}, - {{{70, 23, 54},0, {-16, -16},{0x2B, 0x78, 0xFF, 0xFF}}}, - {{{68, 23, -36},0, {-16, -16},{0x2C, 0x77, 0xFF, 0xFF}}}, - {{{99, 13, 31},0, {-16, -16},{0x2A, 0x78, 0xFF, 0xFF}}}, - {{{99, 12, -18},0, {-16, -16},{0x2C, 0x77, 0xFE, 0xFF}}}, - {{{-30, 15, 39},0, {-16, -16},{0xB3, 0xCF, 0x58, 0xFF}}}, - {{{-9, 53, 47},0, {-16, -16},{0xD1, 0x3, 0x76, 0xFF}}}, - {{{-36, 63, 23},0, {-16, -16},{0x8F, 0x1A, 0x33, 0xFF}}}, - {{{38, -11, 48},0, {-16, -16},{0xFF, 0xB0, 0x62, 0xFF}}}, - {{{24, -26, 9},0, {-16, -16},{0xE4, 0x84, 0xFA, 0xFF}}}, - {{{-48, 18, 7},0, {-16, -16},{0x89, 0xD3, 0xFC, 0xFF}}}, - {{{-35, 62, -7},0, {-16, -16},{0x91, 0x18, 0xC7, 0xFF}}}, - {{{-31, 14, -18},0, {-16, -16},{0xB5, 0xCA, 0xA8, 0xFF}}}, - {{{-35, 62, -7},0, {-16, -16},{0x91, 0x18, 0xC7, 0xFF}}}, - {{{-10, 52, -28},0, {-16, -16},{0xD0, 0xFD, 0x8A, 0xFF}}}, - {{{-31, 14, -18},0, {-16, -16},{0xB5, 0xCA, 0xA8, 0xFF}}}, - {{{39, -5, -29},0, {-16, -16},{0xFB, 0xB6, 0x99, 0xFF}}}, - {{{68, 23, -36},0, {-16, -16},{0x12, 0xD0, 0x8C, 0xFF}}}, - {{{99, 12, -18},0, {-16, -16},{0x47, 0xA9, 0xC6, 0xFF}}}, - {{{72, -22, 6},0, {-16, -16},{0x35, 0x8D, 0xF8, 0xFF}}}, - {{{99, 13, 31},0, {-16, -16},{0x4D, 0xAB, 0x36, 0xFF}}}, - {{{38, -11, 48},0, {-16, -16},{0xFF, 0xB0, 0x62, 0xFF}}}, - {{{70, 23, 54},0, {-16, -16},{0x1C, 0xD1, 0x73, 0xFF}}}, - {{{-9, 53, 47},0, {-16, -16},{0xD1, 0x3, 0x76, 0xFF}}}, - {{{24, -26, 9},0, {-16, -16},{0xE4, 0x84, 0xFA, 0xFF}}}, - {{{-48, 18, 7},0, {-16, -16},{0x89, 0xD3, 0xFC, 0xFF}}}, -}; - -Gfx luigi_000_offset_011_mesh_tri_0[] = { - gsSPVertex(luigi_000_offset_011_mesh_vtx_0 + 0, 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(6, 7, 5, 0), - gsSP1Triangle(8, 9, 10, 0), - gsSP1Triangle(8, 11, 9, 0), - gsSP1Triangle(12, 11, 8, 0), - gsSP1Triangle(12, 8, 13, 0), - gsSP1Triangle(10, 13, 8, 0), - gsSP1Triangle(13, 10, 14, 0), - gsSP1Triangle(14, 15, 13, 0), - gsSPVertex(luigi_000_offset_011_mesh_vtx_0 + 16, 13, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 2, 1, 0), - gsSP1Triangle(3, 1, 4, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(5, 6, 3, 0), - gsSP1Triangle(6, 5, 7, 0), - gsSP1Triangle(8, 6, 7, 0), - gsSP1Triangle(7, 9, 8, 0), - gsSP1Triangle(8, 9, 10, 0), - gsSP1Triangle(6, 8, 11, 0), - gsSP1Triangle(11, 3, 6, 0), - gsSP1Triangle(2, 3, 11, 0), - gsSP1Triangle(12, 2, 11, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_000_offset_012_mesh_vtx_0[22] = { - {{{95, -2, -44},0, {-16, -16},{0x3F, 0xE9, 0x94, 0xFF}}}, - {{{116, 9, -8},0, {-16, -16},{0x7F, 0xA, 0xFF, 0xFF}}}, - {{{98, -31, -9},0, {-16, -16},{0x47, 0x97, 0xFC, 0xFF}}}, - {{{90, 42, -28},0, {-16, -16},{0x36, 0x61, 0xC1, 0xFF}}}, - {{{18, -11, -52},0, {-16, -16},{0xEC, 0xDC, 0x88, 0xFF}}}, - {{{22, -48, -8},0, {-16, -16},{0xF7, 0x81, 0xFE, 0xFF}}}, - {{{19, -14, 36},0, {-16, -16},{0xF0, 0xD5, 0x77, 0xFF}}}, - {{{96, -4, 27},0, {-16, -16},{0x41, 0xE3, 0x69, 0xFF}}}, - {{{91, 41, 14},0, {-16, -16},{0x37, 0x5D, 0x42, 0xFF}}}, - {{{12, 44, -33},0, {-16, -16},{0xE1, 0x64, 0xB8, 0xFF}}}, - {{{-6, 34, -27},0, {-16, -16},{0x9F, 0x41, 0xCE, 0xFF}}}, - {{{-1, -9, -42},0, {-16, -16},{0xA9, 0xE2, 0xA9, 0xFF}}}, - {{{1, -39, -8},0, {-16, -16},{0xAF, 0x9F, 0xFE, 0xFF}}}, - {{{0, -12, 27},0, {-16, -16},{0xAD, 0xDA, 0x58, 0xFF}}}, - {{{-5, 32, 16},0, {-16, -16},{0xA1, 0x3B, 0x3D, 0xFF}}}, - {{{13, 43, 21},0, {-16, -16},{0xE3, 0x61, 0x4D, 0xFF}}}, - {{{-6, 34, -27},0, {-16, -16},{0x9F, 0x41, 0xCE, 0xFF}}}, - {{{-15, 0, -6},0, {-16, -16},{0x82, 0xF4, 0x3, 0xFF}}}, - {{{-5, 32, 16},0, {-16, -16},{0xA1, 0x3B, 0x3D, 0xFF}}}, - {{{-1, -9, -42},0, {-16, -16},{0xA9, 0xE2, 0xA9, 0xFF}}}, - {{{1, -39, -8},0, {-16, -16},{0xAF, 0x9F, 0xFE, 0xFF}}}, - {{{0, -12, 27},0, {-16, -16},{0xAD, 0xDA, 0x58, 0xFF}}}, -}; - -Gfx luigi_000_offset_012_mesh_tri_0[] = { - gsSPVertex(luigi_000_offset_012_mesh_vtx_0 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(3, 0, 4, 0), - gsSP1Triangle(4, 0, 2, 0), - gsSP1Triangle(2, 5, 4, 0), - gsSP1Triangle(2, 6, 5, 0), - gsSP1Triangle(2, 7, 6, 0), - gsSP1Triangle(2, 1, 7, 0), - gsSP1Triangle(7, 1, 8, 0), - gsSP1Triangle(8, 1, 3, 0), - gsSP1Triangle(8, 3, 9, 0), - gsSP1Triangle(3, 4, 9, 0), - gsSP1Triangle(4, 10, 9, 0), - gsSP1Triangle(4, 11, 10, 0), - gsSP1Triangle(12, 11, 4, 0), - gsSP1Triangle(5, 12, 4, 0), - gsSP1Triangle(6, 12, 5, 0), - gsSP1Triangle(6, 13, 12, 0), - gsSP1Triangle(14, 13, 6, 0), - gsSP1Triangle(15, 14, 6, 0), - gsSP1Triangle(8, 15, 6, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(8, 9, 15, 0), - gsSP1Triangle(9, 10, 15, 0), - gsSP1Triangle(10, 14, 15, 0), - gsSPVertex(luigi_000_offset_012_mesh_vtx_0 + 16, 6, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 1, 3, 0), - gsSP1Triangle(5, 1, 4, 0), - gsSP1Triangle(2, 1, 5, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_000_offset_013_mesh_vtx_0[12] = { - {{{66, -9, 30},0, {-16, -16},{0x38, 0xD9, 0x6B, 0xFF}}}, - {{{69, 40, 16},0, {-16, -16},{0x3F, 0x56, 0x44, 0xFF}}}, - {{{9, 39, 14},0, {-16, -16},{0xC9, 0x5B, 0x45, 0xFF}}}, - {{{83, 3, -9},0, {-16, -16},{0x7F, 0xF6, 0x0, 0xFF}}}, - {{{63, -40, -10},0, {-16, -16},{0x32, 0x8B, 0xFE, 0xFF}}}, - {{{4, -32, -9},0, {-16, -16},{0xBC, 0x95, 0xFF, 0xFF}}}, - {{{6, -5, 27},0, {-16, -16},{0xC2, 0xE0, 0x6A, 0xFF}}}, - {{{-13, 9, -8},0, {-16, -16},{0x81, 0x9, 0x2, 0xFF}}}, - {{{9, 41, -29},0, {-16, -16},{0xC8, 0x61, 0xC3, 0xFF}}}, - {{{69, 41, -33},0, {-16, -16},{0x40, 0x58, 0xBE, 0xFF}}}, - {{{65, -8, -50},0, {-16, -16},{0x36, 0xDD, 0x92, 0xFF}}}, - {{{5, -2, -45},0, {-16, -16},{0xBF, 0xE8, 0x96, 0xFF}}}, -}; - -Gfx luigi_000_offset_013_mesh_tri_0[] = { - gsSPVertex(luigi_000_offset_013_mesh_vtx_0 + 0, 12, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(4, 0, 5, 0), - gsSP1Triangle(0, 6, 5, 0), - gsSP1Triangle(2, 6, 0, 0), - gsSP1Triangle(2, 7, 6, 0), - gsSP1Triangle(8, 7, 2, 0), - gsSP1Triangle(8, 2, 1, 0), - gsSP1Triangle(1, 9, 8, 0), - gsSP1Triangle(1, 3, 9, 0), - gsSP1Triangle(9, 3, 10, 0), - gsSP1Triangle(10, 3, 4, 0), - gsSP1Triangle(10, 4, 5, 0), - gsSP1Triangle(5, 11, 10, 0), - gsSP1Triangle(5, 7, 11, 0), - gsSP1Triangle(6, 7, 5, 0), - gsSP1Triangle(11, 7, 8, 0), - gsSP1Triangle(10, 11, 8, 0), - gsSP1Triangle(9, 10, 8, 0), - gsSPEndDisplayList(), -}; - -Vtx luigi_000_displaylist_005_mesh_vtx_0[28] = { - {{{67, 25, 36},0, {-16, -16},{0x2B, 0x78, 0x0, 0xFF}}}, - {{{98, 14, 18},0, {-16, -16},{0x2B, 0x78, 0x1, 0xFF}}}, - {{{99, 14, -32},0, {-16, -16},{0x2A, 0x78, 0x0, 0xFF}}}, - {{{70, 24, -54},0, {-16, -16},{0x2A, 0x78, 0x0, 0xFF}}}, - {{{-12, 53, 26},0, {-16, -16},{0x2A, 0x78, 0x0, 0xFF}}}, - {{{-9, 52, -50},0, {-16, -16},{0x2B, 0x78, 0x0, 0xFF}}}, - {{{-36, 61, 4},0, {-16, -16},{0x29, 0x78, 0x1, 0xFF}}}, - {{{-37, 62, -26},0, {-16, -16},{0x2D, 0x77, 0x2, 0xFF}}}, - {{{99, 14, -32},0, {-16, -16},{0x4F, 0xAB, 0xCB, 0xFF}}}, - {{{98, 14, 18},0, {-16, -16},{0x47, 0xAB, 0x3D, 0xFF}}}, - {{{72, -21, -6},0, {-16, -16},{0x37, 0x8E, 0xA, 0xFF}}}, - {{{39, -4, 28},0, {-16, -16},{0xFC, 0xB8, 0x68, 0xFF}}}, - {{{67, 25, 36},0, {-16, -16},{0x10, 0xD1, 0x75, 0xFF}}}, - {{{-12, 53, 26},0, {-16, -16},{0xCE, 0xFF, 0x75, 0xFF}}}, - {{{-32, 14, 17},0, {-16, -16},{0xB4, 0xCC, 0x58, 0xFF}}}, - {{{-36, 61, 4},0, {-16, -16},{0x90, 0x19, 0x37, 0xFF}}}, - {{{-48, 17, -9},0, {-16, -16},{0x8A, 0xD1, 0x3, 0xFF}}}, - {{{-32, 14, 17},0, {-16, -16},{0xB4, 0xCC, 0x58, 0xFF}}}, - {{{-36, 61, 4},0, {-16, -16},{0x90, 0x19, 0x37, 0xFF}}}, - {{{-37, 62, -26},0, {-16, -16},{0x8E, 0x16, 0xCC, 0xFF}}}, - {{{-30, 14, -41},0, {-16, -16},{0xB4, 0xCC, 0xA9, 0xFF}}}, - {{{-9, 52, -50},0, {-16, -16},{0xD3, 0x0, 0x89, 0xFF}}}, - {{{38, -11, -49},0, {-16, -16},{0x2, 0xAF, 0x9F, 0xFF}}}, - {{{70, 24, -54},0, {-16, -16},{0x1E, 0xD4, 0x8D, 0xFF}}}, - {{{99, 14, -32},0, {-16, -16},{0x4F, 0xAB, 0xCB, 0xFF}}}, - {{{72, -21, -6},0, {-16, -16},{0x37, 0x8E, 0xA, 0xFF}}}, - {{{24, -26, -9},0, {-16, -16},{0xE7, 0x84, 0x9, 0xFF}}}, - {{{39, -4, 28},0, {-16, -16},{0xFC, 0xB8, 0x68, 0xFF}}}, -}; - -Gfx luigi_000_displaylist_005_mesh_tri_0[] = { - gsSPVertex(luigi_000_displaylist_005_mesh_vtx_0 + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 2, 3, 0), - gsSP1Triangle(4, 0, 3, 0), - gsSP1Triangle(4, 3, 5, 0), - gsSP1Triangle(6, 4, 5, 0), - gsSP1Triangle(7, 6, 5, 0), - gsSP1Triangle(8, 9, 10, 0), - gsSP1Triangle(11, 10, 9, 0), - gsSP1Triangle(9, 12, 11, 0), - gsSP1Triangle(12, 13, 11, 0), - gsSP1Triangle(13, 14, 11, 0), - gsSP1Triangle(14, 13, 15, 0), - gsSPVertex(luigi_000_displaylist_005_mesh_vtx_0 + 16, 12, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 3, 0, 0), - gsSP1Triangle(4, 0, 3, 0), - gsSP1Triangle(3, 5, 4, 0), - gsSP1Triangle(5, 6, 4, 0), - gsSP1Triangle(5, 7, 6, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(8, 9, 6, 0), - gsSP1Triangle(10, 6, 9, 0), - gsSP1Triangle(9, 11, 10, 0), - gsSP1Triangle(10, 11, 1, 0), - gsSP1Triangle(10, 1, 0, 0), - gsSP1Triangle(0, 4, 10, 0), - gsSP1Triangle(4, 6, 10, 0), - gsSPEndDisplayList(), -}; - - -Gfx mat_luigi_body[] = { +const Gfx luigi_butt[] = { gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPTileSync(), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, luigi_luigi_button_rgba16), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), - gsDPLoadSync(), - gsDPLoadTile(7, 0, 0, 124, 124), - gsDPPipeSync(), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsSPCopyLightEXT(1, 3), // gsSPSetLights1(luigi_body_lights) - gsSPCopyLightEXT(2, 4), // + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPCopyLightEXT(1, 3), // gsSPLight(&luigi_blue_lights_group.l, 1), + gsSPCopyLightEXT(2, 4), // gsSPLight(&luigi_blue_lights_group.a, 2), + gsSPDisplayList(luigi_butt_dl), gsSPEndDisplayList(), }; - -Gfx mat_luigi_metal[] = { +const Gfx luigi_metal_butt[] = { gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT), gsSPSetGeometryMode(G_TEXTURE_GEN), - gsSPTexture(4031, 1983, 0, 0, 1), - gsDPTileSync(), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, luigi_metal_rgba16), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0), - gsDPLoadSync(), - gsDPLoadTile(7, 0, 0, 252, 124), - gsDPPipeSync(), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(0, 0, 0, 252, 124), - gsSPCopyLightEXT(1, 5), - gsSPCopyLightEXT(2, 6), + gsDPSetCombineMode(G_CC_DECALFADE, G_CC_DECALFADE), + gsDPLoadTextureBlock(luigi_texture_metal, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD), + gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON), + gsSPLight(&luigi_white_lights_group.l, 1), + gsSPLight(&luigi_white_lights_group.a, 2), + gsSPDisplayList(luigi_butt_dl), gsSPEndDisplayList(), }; -Gfx mat_revert_luigi_metal[] = { - gsDPPipeSync(), - gsSPClearGeometryMode(G_TEXTURE_GEN), - gsSPEndDisplayList(), +static const Vtx luigi_left_arm_shared_dl_vertex[29] = { + {{{63, 24, 21},0, {0, 0},{0x34, 0x5B, 0x48, 0xFF}}}, + {{{63, 25, -16},0, {0, 0},{0x35, 0x5E, 0xBC, 0xFF}}}, + {{{6, 31, 24},0, {0, 0},{0xE0, 0x63, 0x49, 0xFF}}}, + {{{73, 17, -9},0, {0, 0},{0x70, 0x32, 0xDF, 0xFF}}}, + {{{73, 16, 15},0, {0, 0},{0x6F, 0x2E, 0x29, 0xFF}}}, + {{{72, -7, 21},0, {0, 0},{0x6C, 0xE4, 0x3D, 0xFF}}}, + {{{62, -9, 30},0, {0, 0},{0x31, 0xD8, 0x6E, 0xFF}}}, + {{{5, -11, 38},0, {0, 0},{0xDD, 0xD9, 0x74, 0xFF}}}, + {{{-11, -6, 23},0, {0, 0},{0x92, 0xEC, 0x3C, 0xFF}}}, + {{{-10, 20, 15},0, {0, 0},{0x94, 0x37, 0x27, 0xFF}}}, + {{{6, 33, -19},0, {0, 0},{0xE1, 0x67, 0xBD, 0xFF}}}, + {{{62, -8, -27},0, {0, 0},{0x32, 0xDF, 0x90, 0xFF}}}, + {{{72, -5, -18},0, {0, 0},{0x6D, 0xEF, 0xC0, 0xFF}}}, + {{{72, -21, 0},0, {0, 0},{0x6A, 0xBA, 0xFA, 0xFF}}}, + {{{61, -30, 0},0, {0, 0},{0x2E, 0x8A, 0xFC, 0xFF}}}, + {{{3, -37, 0},0, {0, 0},{0xD8, 0x87, 0xFD, 0xFF}}}, + {{{-11, -21, 0},0, {0, 0},{0x8F, 0xC5, 0xFD, 0xFF}}}, + {{{3, -37, 0},0, {0, 0},{0xD8, 0x87, 0xFD, 0xFF}}}, + {{{5, -11, 38},0, {0, 0},{0xDD, 0xD9, 0x74, 0xFF}}}, + {{{-11, -6, 23},0, {0, 0},{0x92, 0xEC, 0x3C, 0xFF}}}, + {{{-11, -4, -20},0, {0, 0},{0x91, 0xF4, 0xC3, 0xFF}}}, + {{{-10, 21, -11},0, {0, 0},{0x94, 0x39, 0xDC, 0xFF}}}, + {{{-10, 20, 15},0, {0, 0},{0x94, 0x37, 0x27, 0xFF}}}, + {{{6, 33, -19},0, {0, 0},{0xE1, 0x67, 0xBD, 0xFF}}}, + {{{5, -9, -35},0, {0, 0},{0xDE, 0xE1, 0x8A, 0xFF}}}, + {{{62, -8, -27},0, {0, 0},{0x32, 0xDF, 0x90, 0xFF}}}, + {{{61, -30, 0},0, {0, 0},{0x2E, 0x8A, 0xFC, 0xFF}}}, + {{{72, -5, -18},0, {0, 0},{0x6D, 0xEF, 0xC0, 0xFF}}}, + {{{72, -21, 0},0, {0, 0},{0x6A, 0xBA, 0xFA, 0xFF}}}, }; - -Gfx mat_luigi_cap[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPTileSync(), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, luigi_logo_rgba16), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 7, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPLoadSync(), - gsDPLoadTile(7, 0, 0, 124, 124), - gsDPPipeSync(), - 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), - gsSPCopyLightEXT(1, 5), // gsSPSetLights1(luigi_cap_lights) - gsSPCopyLightEXT(2, 6), // - gsSPEndDisplayList(), +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(), }; - -Gfx mat_luigi_face_0___eye_open[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPTileSync(), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, luigi_eyes_center_rgba16), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 7, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPLoadSync(), - gsDPLoadTile(7, 0, 0, 124, 124), - gsDPPipeSync(), - 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), - gsSPSetLights1(luigi_face_0___eye_open_lights), - gsSPEndDisplayList(), +const Gfx luigi_left_arm[] = { + gsSPCopyLightEXT(1, 5), // gsSPLight(&luigi_green_lights_group.l, 1), + gsSPCopyLightEXT(2, 6), // gsSPLight(&luigi_green_lights_group.a, 2), + gsSPDisplayList(luigi_left_arm_shared_dl), + gsSPEndDisplayList(), }; - -Gfx mat_luigi_sideburns[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPTileSync(), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, luigi_sideburn_rgba16), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 7, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPLoadSync(), - gsDPLoadTile(7, 0, 0, 124, 124), - gsDPPipeSync(), - 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), - gsSPSetLights1(luigi_face_0___eye_open_lights), - gsSPEndDisplayList(), +static const Vtx luigi_left_forearm_shared_dl_vertex[16] = { + {{{64, 20, 16},0, {0, 0},{0x3E, 0x57, 0x45, 0xFF}}}, + {{{65, 21, -16},0, {0, 0},{0x3F, 0x5A, 0xC0, 0xFF}}}, + {{{6, 25, 20},0, {0, 0},{0xE4, 0x62, 0x4C, 0xFF}}}, + {{{78, -1, 0},0, {0, 0},{0x7F, 0xFE, 0x2, 0xFF}}}, + {{{63, -11, 25},0, {0, 0},{0x3C, 0xD8, 0x69, 0xFF}}}, + {{{4, -11, 30},0, {0, 0},{0xDE, 0xD7, 0x73, 0xFF}}}, + {{{-8, -7, 21},0, {0, 0},{0x97, 0xEC, 0x44, 0xFF}}}, + {{{-8, 17, 14},0, {0, 0},{0x99, 0x3B, 0x2D, 0xFF}}}, + {{{6, 26, -17},0, {0, 0},{0xE4, 0x68, 0xBD, 0xFF}}}, + {{{64, -8, -26},0, {0, 0},{0x3D, 0xE0, 0x95, 0xFF}}}, + {{{63, -28, -1},0, {0, 0},{0x3B, 0x8F, 0xFC, 0xFF}}}, + {{{3, -32, -1},0, {0, 0},{0xDB, 0x87, 0xFC, 0xFF}}}, + {{{-9, -21, 0},0, {0, 0},{0x92, 0xC0, 0x0, 0xFF}}}, + {{{-8, 18, -12},0, {0, 0},{0x99, 0x40, 0xD9, 0xFF}}}, + {{{4, -8, -31},0, {0, 0},{0xE0, 0xE2, 0x89, 0xFF}}}, + {{{-8, -5, -22},0, {0, 0},{0x97, 0xF2, 0xB9, 0xFF}}}, }; -Gfx mat_revert_luigi_sideburns[] = { - gsDPPipeSync(), - gsDPSetTextureLUT(G_TT_NONE), - gsSPEndDisplayList(), +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(), }; - -Gfx mat_luigi_mustache[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPTileSync(), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, luigi_mustache_rgba16), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 7, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPLoadSync(), - gsDPLoadTile(7, 0, 0, 124, 124), - gsDPPipeSync(), - 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), - gsSPSetLights1(luigi_mustache_lights), - gsSPEndDisplayList(), +static const Vtx luigi_left_hand_closed_shared_dl_vertex[37] = { + {{{32, -37, 8},0, {0, 0},{0x3C, 0x98, 0x29, 0xFF}}}, + {{{25, -54, 10},0, {0, 0},{0x75, 0xD3, 0x16, 0xFF}}}, + {{{15, -35, -34},0, {0, 0},{0x2, 0xB4, 0x9A, 0xFF}}}, + {{{3, -3, 40},0, {0, 0},{0x43, 0x1B, 0x69, 0xFF}}}, + {{{15, 3, 31},0, {0, 0},{0xFC, 0x0, 0x7F, 0xFF}}}, + {{{34, 10, 46},0, {0, 0},{0xE3, 0xEF, 0x7B, 0xFF}}}, + {{{56, -41, 12},0, {0, 0},{0x6, 0x8A, 0x30, 0xFF}}}, + {{{24, -21, -27},0, {0, 0},{0x15, 0xC9, 0x8F, 0xFF}}}, + {{{-12, 29, -33},0, {0, 0},{0xCC, 0x38, 0x9B, 0xFF}}}, + {{{-16, -11, 0},0, {0, 0},{0x8C, 0xCD, 0x2, 0xFF}}}, + {{{25, -54, 10},0, {0, 0},{0xA3, 0xAB, 0xE, 0xFF}}}, + {{{3, -3, 40},0, {0, 0},{0x99, 0xD2, 0x3A, 0xFF}}}, + {{{-20, 49, 13},0, {0, 0},{0x82, 0xF5, 0xE, 0xFF}}}, + {{{2, 27, -26},0, {0, 0},{0xFB, 0x44, 0x95, 0xFF}}}, + {{{-3, 42, 9},0, {0, 0},{0xDE, 0x73, 0x2A, 0xFF}}}, + {{{-20, 49, 13},0, {0, 0},{0x35, 0x70, 0x1B, 0xFF}}}, + {{{-3, 42, 9},0, {0, 0},{0xDE, 0x73, 0x2A, 0xFF}}}, + {{{34, 10, 46},0, {0, 0},{0xE3, 0xEF, 0x7B, 0xFF}}}, + {{{10, 63, 15},0, {0, 0},{0xAF, 0x55, 0x30, 0xFF}}}, + {{{57, 84, 13},0, {0, 0},{0x15, 0x79, 0x21, 0xFF}}}, + {{{83, 33, 46},0, {0, 0},{0x3E, 0x19, 0x6C, 0xFF}}}, + {{{104, -22, 8},0, {0, 0},{0x66, 0xBF, 0x28, 0xFF}}}, + {{{56, -41, 12},0, {0, 0},{0x6, 0x8A, 0x30, 0xFF}}}, + {{{77, -28, -56},0, {0, 0},{0x1B, 0xB5, 0x9D, 0xFF}}}, + {{{24, -21, -27},0, {0, 0},{0x15, 0xC9, 0x8F, 0xFF}}}, + {{{31, 11, -39},0, {0, 0},{0xC3, 0xFD, 0x91, 0xFF}}}, + {{{2, 27, -26},0, {0, 0},{0xFB, 0x44, 0x95, 0xFF}}}, + {{{29, 66, -23},0, {0, 0},{0xD0, 0x5B, 0xB6, 0xFF}}}, + {{{55, 58, -32},0, {0, 0},{0x18, 0x55, 0xA5, 0xFF}}}, + {{{97, 43, -11},0, {0, 0},{0x6C, 0x3F, 0xEB, 0xFF}}}, + {{{97, -3, -41},0, {0, 0},{0x69, 0xFC, 0xB9, 0xFF}}}, + {{{58, 16, -55},0, {0, 0},{0xF4, 0x17, 0x84, 0xFF}}}, + {{{55, 58, -32},0, {0, 0},{0x18, 0x55, 0xA5, 0xFF}}}, + {{{88, 20, -41},0, {0, 0},{0x49, 0x2F, 0xA3, 0xFF}}}, + {{{58, 16, -55},0, {0, 0},{0xF4, 0x17, 0x84, 0xFF}}}, + {{{97, 43, -11},0, {0, 0},{0x6C, 0x3F, 0xEB, 0xFF}}}, + {{{97, -3, -41},0, {0, 0},{0x69, 0xFC, 0xB9, 0xFF}}}, }; - -Gfx mat_luigi_hair[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPSetLights1(luigi_hair_lights), - gsSPEndDisplayList(), +const Gfx luigi_left_hand_closed_shared_dl[] = { + gsSPVertex(luigi_left_hand_closed_shared_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 1, 0, 0), + gsSP1Triangle(0, 4, 3, 0), + gsSP1Triangle(5, 4, 0, 0), + gsSP1Triangle(0, 6, 5, 0), + gsSP1Triangle(6, 0, 7, 0), + gsSP1Triangle(2, 7, 0, 0), + gsSP1Triangle(7, 2, 8, 0), + gsSP1Triangle(2, 9, 8, 0), + gsSP1Triangle(10, 9, 2, 0), + gsSP1Triangle(11, 9, 10, 0), + gsSP1Triangle(12, 9, 11, 0), + gsSP1Triangle(8, 9, 12, 0), + gsSP1Triangle(8, 13, 7, 0), + gsSP1Triangle(14, 13, 8, 0), + gsSP1Triangle(8, 15, 14, 0), + gsSP1Triangle(14, 15, 3, 0), + gsSP1Triangle(3, 4, 14, 0), + gsSP1Triangle(14, 4, 5, 0), + gsSPVertex(luigi_left_hand_closed_shared_dl_vertex + 16, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 3, 2, 0), + gsSP1Triangle(1, 4, 3, 0), + gsSP1Triangle(5, 4, 1, 0), + gsSP1Triangle(6, 5, 1, 0), + gsSP1Triangle(7, 5, 6, 0), + gsSP1Triangle(8, 7, 6, 0), + gsSP1Triangle(8, 9, 7, 0), + gsSP1Triangle(8, 10, 9, 0), + gsSP1Triangle(11, 9, 10, 0), + gsSP1Triangle(2, 11, 10, 0), + gsSP1Triangle(10, 0, 2, 0), + gsSP1Triangle(11, 2, 3, 0), + gsSP1Triangle(3, 12, 11, 0), + gsSP1Triangle(3, 13, 12, 0), + gsSP1Triangle(4, 13, 3, 0), + gsSP1Triangle(5, 13, 4, 0), + gsSP1Triangle(14, 13, 5, 0), + gsSP1Triangle(7, 14, 5, 0), + gsSP1Triangle(15, 14, 7, 0), + gsSP1Triangle(9, 15, 7, 0), + gsSP1Triangle(15, 9, 11, 0), + gsSP1Triangle(15, 11, 12, 0), + gsSPVertex(luigi_left_hand_closed_shared_dl_vertex + 32, 5, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 0, 3, 0), + gsSP1Triangle(1, 3, 4, 0), + gsSP1Triangle(2, 1, 4, 0), + gsSPEndDisplayList(), }; - -Gfx mat_luigi_face_1___eye_half[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPTileSync(), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, luigi_eyes_half_closed_rgba16), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 7, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPLoadSync(), - gsDPLoadTile(7, 0, 0, 124, 124), - gsDPPipeSync(), - 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), - gsSPSetLights1(luigi_face_1___eye_half_lights), - gsSPEndDisplayList(), +const Gfx luigi_left_hand_closed[] = { + gsSPLight(&luigi_white_lights_group.l, 1), + gsSPLight(&luigi_white_lights_group.a, 2), + gsSPDisplayList(luigi_left_hand_closed_shared_dl), + gsSPEndDisplayList(), }; - -Gfx mat_luigi_face_2___eye_closed[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPTileSync(), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, luigi_eyes_closed_rgba16), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 7, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPLoadSync(), - gsDPLoadTile(7, 0, 0, 124, 124), - gsDPPipeSync(), - 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), - gsSPSetLights1(luigi_face_2___eye_closed_lights), - gsSPEndDisplayList(), +static const Vtx luigi_right_arm_shared_dl_vertex[30] = { + {{{4, -32, 0},0, {0, 0},{0xDB, 0x87, 0xFC, 0xFF}}}, + {{{5, -5, -36},0, {0, 0},{0xDE, 0xE0, 0x8A, 0xFF}}}, + {{{61, -4, -29},0, {0, 0},{0x34, 0xE2, 0x90, 0xFF}}}, + {{{-11, -17, 0},0, {0, 0},{0x91, 0xC2, 0xFB, 0xFF}}}, + {{{-11, -3, 23},0, {0, 0},{0x94, 0xEB, 0x3F, 0xFF}}}, + {{{5, -8, 36},0, {0, 0},{0xDF, 0xD7, 0x74, 0xFF}}}, + {{{61, -27, 0},0, {0, 0},{0x32, 0x8B, 0xFB, 0xFF}}}, + {{{71, -1, -18},0, {0, 0},{0x6F, 0xF0, 0xC5, 0xFF}}}, + {{{62, 29, -15},0, {0, 0},{0x34, 0x62, 0xC2, 0xFF}}}, + {{{5, 36, -20},0, {0, 0},{0xDF, 0x67, 0xBD, 0xFF}}}, + {{{-11, -1, -21},0, {0, 0},{0x92, 0xEF, 0xC3, 0xFF}}}, + {{{-10, 24, -12},0, {0, 0},{0x93, 0x38, 0xDD, 0xFF}}}, + {{{-10, 23, 16},0, {0, 0},{0x94, 0x35, 0x2A, 0xFF}}}, + {{{5, 34, 24},0, {0, 0},{0xDF, 0x61, 0x4B, 0xFF}}}, + {{{61, -7, 30},0, {0, 0},{0x32, 0xD8, 0x6E, 0xFF}}}, + {{{71, -4, 20},0, {0, 0},{0x6E, 0xE7, 0x3A, 0xFF}}}, + {{{71, -16, 0},0, {0, 0},{0x70, 0xC4, 0xFA, 0xFF}}}, + {{{71, -4, 20},0, {0, 0},{0x6E, 0xE7, 0x3A, 0xFF}}}, + {{{61, -27, 0},0, {0, 0},{0x32, 0x8B, 0xFB, 0xFF}}}, + {{{71, -1, -18},0, {0, 0},{0x6F, 0xF0, 0xC5, 0xFF}}}, + {{{72, 21, -9},0, {0, 0},{0x6F, 0x34, 0xE0, 0xFF}}}, + {{{62, 29, -15},0, {0, 0},{0x34, 0x62, 0xC2, 0xFF}}}, + {{{62, 27, 20},0, {0, 0},{0x32, 0x5B, 0x49, 0xFF}}}, + {{{5, 36, -20},0, {0, 0},{0xDF, 0x67, 0xBD, 0xFF}}}, + {{{5, 34, 24},0, {0, 0},{0xDF, 0x61, 0x4B, 0xFF}}}, + {{{-10, 24, -12},0, {0, 0},{0x93, 0x38, 0xDD, 0xFF}}}, + {{{-11, -1, -21},0, {0, 0},{0x92, 0xEF, 0xC3, 0xFF}}}, + {{{-10, 23, 16},0, {0, 0},{0x94, 0x35, 0x2A, 0xFF}}}, + {{{61, -7, 30},0, {0, 0},{0x32, 0xD8, 0x6E, 0xFF}}}, + {{{72, 19, 15},0, {0, 0},{0x6E, 0x2C, 0x2F, 0xFF}}}, }; - -Gfx mat_luigi_face_7___eye_X[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPTileSync(), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_8b, 32, luigi_eyes_dead_ia8), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 4, 0, 7, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPLoadSync(), - gsDPLoadTile(7, 0, 0, 124, 124), - gsDPPipeSync(), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 4, 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), - gsSPSetLights1(luigi_face_7___eye_X_lights), - gsSPEndDisplayList(), +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(), }; - -Gfx mat_luigi_wing_2[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(0, 0, 0, TEXEL0, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, ENVIRONMENT, 0), - gsSPClearGeometryMode(G_CULL_BACK), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPTileSync(), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, luigi_wing_tip_rgba16), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPLoadSync(), - gsDPLoadTile(7, 0, 0, 124, 252), - gsDPPipeSync(), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 252), - gsSPEndDisplayList(), +const Gfx luigi_right_arm[] = { + gsSPCopyLightEXT(1, 5), // gsSPLight(&luigi_green_lights_group.l, 1), + gsSPCopyLightEXT(2, 6), // gsSPLight(&luigi_green_lights_group.a, 2), + gsSPDisplayList(luigi_right_arm_shared_dl), + gsSPEndDisplayList(), }; -Gfx mat_revert_luigi_wing_2[] = { - gsDPPipeSync(), - gsSPSetGeometryMode(G_CULL_BACK), - gsSPEndDisplayList(), +static const Vtx luigi_right_forearm_shared_dl_vertex[16] = { + {{{3, 28, 20},0, {0, 0},{0xE3, 0x63, 0x4A, 0xFF}}}, + {{{2, -8, 31},0, {0, 0},{0xE1, 0xD7, 0x74, 0xFF}}}, + {{{61, -7, 26},0, {0, 0},{0x3E, 0xDB, 0x68, 0xFF}}}, + {{{-10, 20, 15},0, {0, 0},{0x99, 0x3A, 0x2E, 0xFF}}}, + {{{-10, 21, -10},0, {0, 0},{0x97, 0x3F, 0xDD, 0xFF}}}, + {{{3, 29, -16},0, {0, 0},{0xE1, 0x68, 0xBE, 0xFF}}}, + {{{62, 23, 17},0, {0, 0},{0x41, 0x55, 0x44, 0xFF}}}, + {{{74, 1, 0},0, {0, 0},{0x7F, 0xFC, 0xFF, 0xFF}}}, + {{{61, -25, 0},0, {0, 0},{0x3D, 0x91, 0xFD, 0xFF}}}, + {{{2, -29, 0},0, {0, 0},{0xDC, 0x86, 0xFB, 0xFF}}}, + {{{-11, -4, 22},0, {0, 0},{0x96, 0xEB, 0x43, 0xFF}}}, + {{{-11, -17, 0},0, {0, 0},{0x92, 0xC0, 0xFA, 0xFF}}}, + {{{-11, -1, -20},0, {0, 0},{0x95, 0xF4, 0xBC, 0xFF}}}, + {{{2, -5, -30},0, {0, 0},{0xDE, 0xE1, 0x8A, 0xFF}}}, + {{{62, 25, -14},0, {0, 0},{0x41, 0x5C, 0xC4, 0xFF}}}, + {{{61, -5, -25},0, {0, 0},{0x3D, 0xE1, 0x95, 0xFF}}}, }; - -Gfx mat_luigi_wing_1[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(0, 0, 0, TEXEL0, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, ENVIRONMENT, 0), - gsSPClearGeometryMode(G_CULL_BACK), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPTileSync(), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 32, luigi_wing_rgba16), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPLoadSync(), - gsDPLoadTile(7, 0, 0, 124, 252), - gsDPPipeSync(), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 252), - gsSPEndDisplayList(), +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(), }; -Gfx mat_revert_luigi_wing_1[] = { - gsDPPipeSync(), - gsSPSetGeometryMode(G_CULL_BACK), - gsSPEndDisplayList(), +static const Vtx luigi_right_hand_closed_shared_dl_vertex[41] = { + {{{30, -37, -7},0, {0, 0},{0x3B, 0x9A, 0xD1, 0xFF}}}, + {{{23, -54, -9},0, {0, 0},{0x75, 0xD2, 0xEF, 0xFF}}}, + {{{2, 0, -39},0, {0, 0},{0x48, 0x23, 0x9D, 0xFF}}}, + {{{11, -36, 35},0, {0, 0},{0xF8, 0xAE, 0x61, 0xFF}}}, + {{{22, -23, 30},0, {0, 0},{0xA, 0xBE, 0x6C, 0xFF}}}, + {{{54, -41, -9},0, {0, 0},{0x7, 0x8B, 0xCE, 0xFF}}}, + {{{33, 11, -42},0, {0, 0},{0xE8, 0xF6, 0x84, 0xFF}}}, + {{{14, 2, -29},0, {0, 0},{0xB, 0xFE, 0x81, 0xFF}}}, + {{{-4, 43, -7},0, {0, 0},{0xDA, 0x70, 0xD1, 0xFF}}}, + {{{-21, 49, -9},0, {0, 0},{0x2C, 0x76, 0xED, 0xFF}}}, + {{{-15, 28, 35},0, {0, 0},{0xC4, 0x34, 0x63, 0xFF}}}, + {{{0, 26, 30},0, {0, 0},{0xF2, 0x3C, 0x6F, 0xFF}}}, + {{{-17, -9, 0},0, {0, 0},{0x8B, 0xD0, 0xF6, 0xFF}}}, + {{{-21, 49, -9},0, {0, 0},{0x83, 0xF5, 0xEE, 0xFF}}}, + {{{2, 0, -39},0, {0, 0},{0x99, 0xD5, 0xC4, 0xFF}}}, + {{{23, -54, -9},0, {0, 0},{0xA0, 0xAF, 0xEC, 0xFF}}}, + {{{27, 9, 43},0, {0, 0},{0xC2, 0xFB, 0x6F, 0xFF}}}, + {{{0, 26, 30},0, {0, 0},{0xF2, 0x3C, 0x6F, 0xFF}}}, + {{{22, -23, 30},0, {0, 0},{0xA, 0xBE, 0x6C, 0xFF}}}, + {{{27, 64, 28},0, {0, 0},{0xCF, 0x59, 0x4D, 0xFF}}}, + {{{55, 12, 59},0, {0, 0},{0xF3, 0x13, 0x7D, 0xFF}}}, + {{{73, -30, 59},0, {0, 0},{0x18, 0xB2, 0x61, 0xFF}}}, + {{{54, -41, -9},0, {0, 0},{0x7, 0x8B, 0xCE, 0xFF}}}, + {{{102, -23, -5},0, {0, 0},{0x65, 0xBF, 0xD7, 0xFF}}}, + {{{33, 11, -42},0, {0, 0},{0xE8, 0xF6, 0x84, 0xFF}}}, + {{{83, 33, -39},0, {0, 0},{0x43, 0x1D, 0x98, 0xFF}}}, + {{{56, 83, -6},0, {0, 0},{0x17, 0x7A, 0xE4, 0xFF}}}, + {{{8, 63, -9},0, {0, 0},{0xB1, 0x59, 0xD4, 0xFF}}}, + {{{-4, 43, -7},0, {0, 0},{0xDA, 0x70, 0xD1, 0xFF}}}, + {{{14, 2, -29},0, {0, 0},{0xB, 0xFE, 0x81, 0xFF}}}, + {{{52, 56, 38},0, {0, 0},{0x13, 0x51, 0x60, 0xFF}}}, + {{{83, 18, 46},0, {0, 0},{0x42, 0x2E, 0x63, 0xFF}}}, + {{{94, -5, 46},0, {0, 0},{0x67, 0xFA, 0x4B, 0xFF}}}, + {{{83, 18, 46},0, {0, 0},{0x42, 0x2E, 0x63, 0xFF}}}, + {{{55, 12, 59},0, {0, 0},{0xF3, 0x13, 0x7D, 0xFF}}}, + {{{73, -30, 59},0, {0, 0},{0x18, 0xB2, 0x61, 0xFF}}}, + {{{102, -23, -5},0, {0, 0},{0x65, 0xBF, 0xD7, 0xFF}}}, + {{{95, 41, 18},0, {0, 0},{0x6B, 0x3E, 0x1C, 0xFF}}}, + {{{83, 33, -39},0, {0, 0},{0x43, 0x1D, 0x98, 0xFF}}}, + {{{56, 83, -6},0, {0, 0},{0x17, 0x7A, 0xE4, 0xFF}}}, + {{{52, 56, 38},0, {0, 0},{0x13, 0x51, 0x60, 0xFF}}}, }; - -Gfx mat_luigi_gloves[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPSetLights1(luigi_gloves_lights), - gsSPEndDisplayList(), +const Gfx luigi_right_hand_closed_dl[] = { + gsSPVertex(luigi_right_hand_closed_shared_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 1, 0, 0), + gsSP1Triangle(0, 4, 3, 0), + gsSP1Triangle(4, 0, 5, 0), + gsSP1Triangle(6, 5, 0, 0), + gsSP1Triangle(0, 7, 6, 0), + gsSP1Triangle(2, 7, 0, 0), + gsSP1Triangle(8, 7, 2, 0), + gsSP1Triangle(2, 9, 8, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSP1Triangle(10, 11, 8, 0), + gsSP1Triangle(4, 11, 10, 0), + gsSP1Triangle(10, 3, 4, 0), + gsSP1Triangle(10, 12, 3, 0), + gsSP1Triangle(13, 12, 10, 0), + gsSP1Triangle(14, 12, 13, 0), + gsSP1Triangle(15, 12, 14, 0), + gsSP1Triangle(3, 12, 15, 0), + gsSPVertex(luigi_right_hand_closed_shared_dl_vertex + 16, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 0, 3, 0), + gsSP1Triangle(3, 0, 4, 0), + gsSP1Triangle(5, 4, 0, 0), + gsSP1Triangle(5, 0, 2, 0), + gsSP1Triangle(6, 5, 2, 0), + gsSP1Triangle(6, 7, 5, 0), + gsSP1Triangle(8, 7, 6, 0), + gsSP1Triangle(8, 9, 7, 0), + gsSP1Triangle(10, 9, 8, 0), + gsSP1Triangle(11, 10, 8, 0), + gsSP1Triangle(11, 8, 12, 0), + gsSP1Triangle(8, 13, 12, 0), + gsSP1Triangle(11, 12, 1, 0), + gsSP1Triangle(3, 11, 1, 0), + gsSP1Triangle(10, 11, 3, 0), + gsSP1Triangle(3, 14, 10, 0), + gsSP1Triangle(14, 3, 4, 0), + gsSP1Triangle(15, 14, 4, 0), + gsSPVertex(luigi_right_hand_closed_shared_dl_vertex + 32, 9, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 0, 2, 0), + gsSP1Triangle(4, 0, 3, 0), + gsSP1Triangle(4, 5, 0, 0), + gsSP1Triangle(6, 5, 4, 0), + gsSP1Triangle(7, 5, 6, 0), + gsSP1Triangle(8, 5, 7, 0), + gsSP1Triangle(5, 8, 1, 0), + gsSP1Triangle(0, 5, 1, 0), + gsSPEndDisplayList(), }; - -Gfx mat_luigi_shoes[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPSetLights1(luigi_shoes_lights), - gsSPEndDisplayList(), +const Gfx luigi_right_hand_closed[] = { + gsSPLight(&luigi_white_lights_group.l, 1), + gsSPLight(&luigi_white_lights_group.a, 2), + gsSPDisplayList(luigi_right_hand_closed_dl), + gsSPEndDisplayList(), }; - -Gfx luigi_000_offset_mesh[] = { - gsSPDisplayList(mat_luigi_body), - gsSPDisplayList(luigi_000_offset_mesh_tri_0), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_offset_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_offset_mesh_tri_0), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_000_offset_001_mesh[] = { - gsSPDisplayList(mat_luigi_body), - gsSPDisplayList(luigi_000_offset_001_mesh_tri_0), - gsSPDisplayList(mat_luigi_cap), - gsSPDisplayList(luigi_000_offset_001_mesh_tri_1), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_offset_001_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_offset_001_mesh_tri_0), - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_offset_001_mesh_tri_1), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_000_displaylist_mesh[] = { - gsSPDisplayList(mat_luigi_face_0___eye_open), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_0), - gsSPDisplayList(mat_luigi_sideburns), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_1), - gsSPDisplayList(mat_revert_luigi_sideburns), - gsSPDisplayList(mat_luigi_mustache), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_2), - gsSPDisplayList(mat_luigi_hair), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_3), - gsSPDisplayList(mat_luigi_cap), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_4), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_displaylist_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_0), - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_1), - gsSPDisplayList(mat_revert_luigi_metal), - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_2), - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_3), - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_4), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_displaylist_mesh_mat_override_face_1___eye_half_1[] = { - gsSPDisplayList(mat_luigi_face_1___eye_half), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_0), - gsSPDisplayList(mat_luigi_sideburns), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_1), - gsSPDisplayList(mat_revert_luigi_sideburns), - gsSPDisplayList(mat_luigi_mustache), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_2), - gsSPDisplayList(mat_luigi_hair), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_3), - gsSPDisplayList(mat_luigi_cap), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_4), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_displaylist_mesh_mat_override_face_2___eye_closed_2[] = { - gsSPDisplayList(mat_luigi_face_2___eye_closed), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_0), - gsSPDisplayList(mat_luigi_sideburns), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_1), - gsSPDisplayList(mat_revert_luigi_sideburns), - gsSPDisplayList(mat_luigi_mustache), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_2), - gsSPDisplayList(mat_luigi_hair), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_3), - gsSPDisplayList(mat_luigi_cap), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_4), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_displaylist_mesh_mat_override_face_7___eye_X_3[] = { - gsSPDisplayList(mat_luigi_face_7___eye_X), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_0), - gsSPDisplayList(mat_luigi_sideburns), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_1), - gsSPDisplayList(mat_revert_luigi_sideburns), - gsSPDisplayList(mat_luigi_mustache), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_2), - gsSPDisplayList(mat_luigi_hair), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_3), - gsSPDisplayList(mat_luigi_cap), - gsSPDisplayList(luigi_000_displaylist_mesh_tri_4), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_002_switch_option_head__no_cap__mesh[] = { - gsSPDisplayList(mat_luigi_face_0___eye_open), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_0), - gsSPDisplayList(mat_luigi_mustache), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_1), - gsSPDisplayList(mat_luigi_sideburns), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_2), - gsSPDisplayList(mat_revert_luigi_sideburns), - gsSPDisplayList(mat_luigi_hair), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_3), - gsSPEndDisplayList(), -}; - -Gfx luigi_002_switch_option_head__no_cap__mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_0), - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_1), - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_2), - gsSPDisplayList(mat_revert_luigi_metal), - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_3), - gsSPEndDisplayList(), -}; - -Gfx luigi_002_switch_option_head__no_cap__mesh_mat_override_face_1___eye_half_1[] = { - gsSPDisplayList(mat_luigi_face_1___eye_half), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_0), - gsSPDisplayList(mat_luigi_mustache), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_1), - gsSPDisplayList(mat_luigi_sideburns), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_2), - gsSPDisplayList(mat_revert_luigi_sideburns), - gsSPDisplayList(mat_luigi_hair), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_3), - gsSPEndDisplayList(), -}; - -Gfx luigi_002_switch_option_head__no_cap__mesh_mat_override_face_2___eye_closed_2[] = { - gsSPDisplayList(mat_luigi_face_2___eye_closed), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_0), - gsSPDisplayList(mat_luigi_mustache), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_1), - gsSPDisplayList(mat_luigi_sideburns), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_2), - gsSPDisplayList(mat_revert_luigi_sideburns), - gsSPDisplayList(mat_luigi_hair), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_3), - gsSPEndDisplayList(), -}; - -Gfx luigi_002_switch_option_head__no_cap__mesh_mat_override_face_7___eye_X_3[] = { - gsSPDisplayList(mat_luigi_face_7___eye_X), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_0), - gsSPDisplayList(mat_luigi_mustache), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_1), - gsSPDisplayList(mat_luigi_sideburns), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_2), - gsSPDisplayList(mat_revert_luigi_sideburns), - gsSPDisplayList(mat_luigi_hair), - gsSPDisplayList(luigi_002_switch_option_head__no_cap__mesh_tri_3), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_000_displaylist_001_mesh[] = { - gsSPDisplayList(mat_luigi_wing_2), - gsSPDisplayList(luigi_000_displaylist_001_mesh_tri_0), - gsSPDisplayList(mat_revert_luigi_wing_2), - gsSPDisplayList(mat_luigi_wing_1), - gsSPDisplayList(luigi_000_displaylist_001_mesh_tri_1), - gsSPDisplayList(mat_revert_luigi_wing_1), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_displaylist_001_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_wing_2), - gsSPDisplayList(luigi_000_displaylist_001_mesh_tri_0), - gsSPDisplayList(mat_revert_luigi_wing_2), - gsSPDisplayList(mat_luigi_wing_1), - gsSPDisplayList(luigi_000_displaylist_001_mesh_tri_1), - gsSPDisplayList(mat_revert_luigi_wing_1), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_000_displaylist_002_mesh[] = { - gsSPDisplayList(mat_luigi_wing_2), - gsSPDisplayList(luigi_000_displaylist_002_mesh_tri_0), - gsSPDisplayList(mat_revert_luigi_wing_2), - gsSPDisplayList(mat_luigi_wing_1), - gsSPDisplayList(luigi_000_displaylist_002_mesh_tri_1), - gsSPDisplayList(mat_revert_luigi_wing_1), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_displaylist_002_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_wing_2), - gsSPDisplayList(luigi_000_displaylist_002_mesh_tri_0), - gsSPDisplayList(mat_revert_luigi_wing_2), - gsSPDisplayList(mat_luigi_wing_1), - gsSPDisplayList(luigi_000_displaylist_002_mesh_tri_1), - gsSPDisplayList(mat_revert_luigi_wing_1), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_000_offset_003_mesh[] = { - gsSPDisplayList(mat_luigi_cap), - gsSPDisplayList(luigi_000_offset_003_mesh_tri_0), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_offset_003_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_offset_003_mesh_tri_0), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_000_offset_004_mesh[] = { - gsSPDisplayList(mat_luigi_cap), - gsSPDisplayList(luigi_000_offset_004_mesh_tri_0), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_offset_004_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_offset_004_mesh_tri_0), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_000_displaylist_003_mesh[] = { - gsSPDisplayList(mat_luigi_gloves), - gsSPDisplayList(luigi_000_displaylist_003_mesh_tri_0), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_displaylist_003_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_displaylist_003_mesh_tri_0), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_002_switch_option_right_hand_open_mesh[] = { - gsSPDisplayList(mat_luigi_gloves), - gsSPDisplayList(luigi_002_switch_option_right_hand_open_mesh_tri_0), - gsSPEndDisplayList(), -}; - -Gfx luigi_002_switch_option_right_hand_open_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_002_switch_option_right_hand_open_mesh_tri_0), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_000_offset_006_mesh[] = { - gsSPDisplayList(mat_luigi_cap), - gsSPDisplayList(luigi_000_offset_006_mesh_tri_0), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_offset_006_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_offset_006_mesh_tri_0), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_000_offset_007_mesh[] = { - gsSPDisplayList(mat_luigi_cap), - gsSPDisplayList(luigi_000_offset_007_mesh_tri_0), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_offset_007_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_offset_007_mesh_tri_0), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_000_displaylist_004_mesh[] = { - gsSPDisplayList(mat_luigi_gloves), - gsSPDisplayList(luigi_000_displaylist_004_mesh_tri_0), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_displaylist_004_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_displaylist_004_mesh_tri_0), +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), @@ -3775,183 +757,3165 @@ Gfx luigi_000_displaylist_004_mesh_mat_override_metal_0[] = { gsSPEndDisplayList(), }; -Gfx luigi_002_switch_option_left_hand_open_mesh[] = { - gsSPDisplayList(mat_luigi_gloves), - gsSPDisplayList(luigi_002_switch_option_left_hand_open_mesh_tri_0), - gsSPEndDisplayList(), +static const Vtx luigi_left_thigh_dl_vertex[22] = { + {{{-16, 2, 1},0, {0, 0},{0x81, 0xF7, 0x0, 0xFF}}}, + {{{-1, -8, -31},0, {0, 0},{0xAD, 0xDF, 0xA5, 0xFF}}}, + {{{0, -34, 1},0, {0, 0},{0xAB, 0xA1, 0x1, 0xFF}}}, + {{{-4, 34, -19},0, {0, 0},{0xA6, 0x45, 0xC7, 0xFF}}}, + {{{-4, 34, 21},0, {0, 0},{0xA6, 0x45, 0x3A, 0xFF}}}, + {{{-1, -8, 33},0, {0, 0},{0xB0, 0xDF, 0x5D, 0xFF}}}, + {{{19, -10, 41},0, {0, 0},{0xF0, 0xDA, 0x78, 0xFF}}}, + {{{20, -45, 0},0, {0, 0},{0xED, 0x82, 0xFF, 0xFF}}}, + {{{19, -10, -40},0, {0, 0},{0xEE, 0xDC, 0x87, 0xFF}}}, + {{{15, 43, -24},0, {0, 0},{0xE8, 0x65, 0xB6, 0xFF}}}, + {{{15, 43, 26},0, {0, 0},{0xE8, 0x64, 0x4B, 0xFF}}}, + {{{96, 38, 21},0, {0, 0},{0x38, 0x5C, 0x43, 0xFF}}}, + {{{99, -5, 33},0, {0, 0},{0x3C, 0xE2, 0x6C, 0xFF}}}, + {{{102, -32, 0},0, {0, 0},{0x43, 0x94, 0x0, 0xFF}}}, + {{{99, -5, -32},0, {0, 0},{0x3B, 0xE4, 0x93, 0xFF}}}, + {{{96, 38, -19},0, {0, 0},{0x37, 0x5D, 0xBE, 0xFF}}}, + {{{121, 7, 0},0, {0, 0},{0x7F, 0x7, 0xFF, 0xFF}}}, + {{{96, 38, -19},0, {0, 0},{0x37, 0x5D, 0xBE, 0xFF}}}, + {{{96, 38, 21},0, {0, 0},{0x38, 0x5C, 0x43, 0xFF}}}, + {{{99, -5, 33},0, {0, 0},{0x3C, 0xE2, 0x6C, 0xFF}}}, + {{{102, -32, 0},0, {0, 0},{0x43, 0x94, 0x0, 0xFF}}}, + {{{99, -5, -32},0, {0, 0},{0x3B, 0xE4, 0x93, 0xFF}}}, }; -Gfx luigi_002_switch_option_left_hand_open_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_002_switch_option_left_hand_open_mesh_tri_0), - gsSPEndDisplayList(), +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(), }; - - -Gfx luigi_004_switch_option_left_hand_peace_mesh[] = { - gsSPDisplayList(mat_luigi_gloves), - gsSPDisplayList(luigi_004_switch_option_left_hand_peace_mesh_tri_0), - gsSPEndDisplayList(), -}; - -Gfx luigi_004_switch_option_left_hand_peace_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_004_switch_option_left_hand_peace_mesh_tri_0), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_005_switch_option_left_hand_cap_mesh[] = { - gsSPDisplayList(mat_luigi_gloves), - gsSPDisplayList(luigi_005_switch_option_left_hand_cap_mesh_tri_0), - gsSPDisplayList(mat_luigi_cap), - gsSPDisplayList(luigi_005_switch_option_left_hand_cap_mesh_tri_1), - gsSPEndDisplayList(), -}; - -Gfx luigi_005_switch_option_left_hand_cap_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_005_switch_option_left_hand_cap_mesh_tri_0), - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_005_switch_option_left_hand_cap_mesh_tri_1), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_006_switch_option_left_hand_wing_cap_mesh[] = { - gsSPDisplayList(mat_luigi_gloves), - gsSPDisplayList(luigi_006_switch_option_left_hand_wing_cap_mesh_tri_0), - gsSPDisplayList(mat_luigi_cap), - gsSPDisplayList(luigi_006_switch_option_left_hand_wing_cap_mesh_tri_1), - gsSPEndDisplayList(), -}; - -Gfx luigi_006_switch_option_left_hand_wing_cap_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_006_switch_option_left_hand_wing_cap_mesh_tri_0), - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_006_switch_option_left_hand_wing_cap_mesh_tri_1), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_006_switch_option_left_hand_wing_cap_wings_mesh[] = { - gsSPDisplayList(mat_luigi_wing_2), - gsSPDisplayList(luigi_006_switch_option_left_hand_wing_cap_wings_mesh_tri_0), - gsSPDisplayList(mat_revert_luigi_wing_2), - gsSPDisplayList(mat_luigi_wing_1), - gsSPDisplayList(luigi_006_switch_option_left_hand_wing_cap_wings_mesh_tri_1), - gsSPDisplayList(mat_revert_luigi_wing_1), - gsSPEndDisplayList(), -}; - -Gfx luigi_006_switch_option_left_hand_wing_cap_wings_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_wing_2), - gsSPDisplayList(luigi_006_switch_option_left_hand_wing_cap_wings_mesh_tri_0), - gsSPDisplayList(mat_revert_luigi_wing_2), - gsSPDisplayList(mat_luigi_wing_1), - gsSPDisplayList(luigi_006_switch_option_left_hand_wing_cap_wings_mesh_tri_1), - gsSPDisplayList(mat_revert_luigi_wing_1), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_000_offset_009_mesh[] = { - gsSPDisplayList(mat_luigi_body), - gsSPDisplayList(luigi_000_offset_009_mesh_tri_0), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_offset_009_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_offset_009_mesh_tri_0), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_000_offset_010_mesh[] = { - gsSPDisplayList(mat_luigi_body), - gsSPDisplayList(luigi_000_offset_010_mesh_tri_0), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_offset_010_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_offset_010_mesh_tri_0), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_000_offset_011_mesh[] = { - gsSPDisplayList(mat_luigi_shoes), - gsSPDisplayList(luigi_000_offset_011_mesh_tri_0), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_offset_011_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_offset_011_mesh_tri_0), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_000_offset_012_mesh[] = { - gsSPDisplayList(mat_luigi_body), - gsSPDisplayList(luigi_000_offset_012_mesh_tri_0), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_offset_012_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_offset_012_mesh_tri_0), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_000_offset_013_mesh[] = { - gsSPDisplayList(mat_luigi_body), - gsSPDisplayList(luigi_000_offset_013_mesh_tri_0), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_offset_013_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_offset_013_mesh_tri_0), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_000_displaylist_005_mesh[] = { - gsSPDisplayList(mat_luigi_shoes), - gsSPDisplayList(luigi_000_displaylist_005_mesh_tri_0), - gsSPEndDisplayList(), -}; - -Gfx luigi_000_displaylist_005_mesh_mat_override_metal_0[] = { - gsSPDisplayList(mat_luigi_metal), - gsSPDisplayList(luigi_000_displaylist_005_mesh_tri_0), - gsSPEndDisplayList(), -}; - - - -Gfx luigi_material_revert_render_settings[] = { +const Gfx luigi_left_thigh[] = { 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), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPCopyLightEXT(1, 3), // gsSPLight(&luigi_blue_lights_group.l, 1), + gsSPCopyLightEXT(2, 4), // gsSPLight(&luigi_blue_lights_group.a, 2), + gsSPDisplayList(luigi_left_thigh_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_metal_left_thigh[] = { + gsDPPipeSync(), + gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineMode(G_CC_DECALFADE, G_CC_DECALFADE), + gsDPLoadTextureBlock(luigi_texture_metal, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD), + gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON), + gsSPLight(&luigi_white_lights_group.l, 1), + gsSPLight(&luigi_white_lights_group.a, 2), + gsSPDisplayList(luigi_left_thigh_dl), + gsSPEndDisplayList(), +}; + +static const Vtx luigi_left_leg_shared_dl_vertex[12] = { + {{{66, -52, 0},0, {0, 0},{0x22, 0x86, 0x0, 0xFF}}}, + {{{73, -17, 38},0, {0, 0},{0x32, 0xD7, 0x6D, 0xFF}}}, + {{{-2, -33, 0},0, {0, 0},{0xB1, 0x9C, 0x0, 0xFF}}}, + {{{93, -6, 0},0, {0, 0},{0x7D, 0xE9, 0x0, 0xFF}}}, + {{{73, -17, -39},0, {0, 0},{0x31, 0xD8, 0x92, 0xFF}}}, + {{{3, -2, -33},0, {0, 0},{0xC2, 0xF1, 0x92, 0xFF}}}, + {{{-18, 14, 0},0, {0, 0},{0x85, 0x1E, 0x0, 0xFF}}}, + {{{3, -2, 33},0, {0, 0},{0xC2, 0xEE, 0x6E, 0xFF}}}, + {{{11, 36, 21},0, {0, 0},{0xD6, 0x62, 0x45, 0xFF}}}, + {{{83, 35, 24},0, {0, 0},{0x45, 0x51, 0x45, 0xFF}}}, + {{{83, 36, -23},0, {0, 0},{0x44, 0x54, 0xBD, 0xFF}}}, + {{{11, 36, -19},0, {0, 0},{0xD7, 0x64, 0xBD, 0xFF}}}, +}; + +const Gfx luigi_left_leg_shared_dl[] = { + gsSPVertex(luigi_left_leg_shared_dl_vertex + 0, 12, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 1, 0, 0), + gsSP1Triangle(3, 0, 4, 0), + gsSP1Triangle(4, 0, 2, 0), + gsSP1Triangle(5, 4, 2, 0), + gsSP1Triangle(6, 5, 2, 0), + gsSP1Triangle(6, 2, 7, 0), + gsSP1Triangle(7, 2, 1, 0), + gsSP1Triangle(7, 1, 8, 0), + gsSP1Triangle(1, 9, 8, 0), + gsSP1Triangle(3, 9, 1, 0), + gsSP1Triangle(3, 10, 9, 0), + gsSP1Triangle(3, 4, 10, 0), + gsSP1Triangle(10, 4, 11, 0), + gsSP1Triangle(5, 11, 4, 0), + gsSP1Triangle(6, 11, 5, 0), + gsSP1Triangle(6, 8, 11, 0), + gsSP1Triangle(6, 7, 8, 0), + gsSP1Triangle(11, 8, 10, 0), + gsSP1Triangle(9, 10, 8, 0), + gsSPEndDisplayList(), +}; + +static const Vtx luigi_left_foot_shared_dl_vertex[28] = { + {{{124, 9, -29},0, {0, 0},{0x28, 0x79, 0xFE, 0xFF}}}, + {{{90, 20, -50},0, {0, 0},{0x28, 0x79, 0xFF, 0xFF}}}, + {{{124, 10, 26},0, {0, 0},{0x26, 0x79, 0xFF, 0xFF}}}, + {{{92, 20, 51},0, {0, 0},{0x27, 0x79, 0x0, 0xFF}}}, + {{{0, 51, -40},0, {0, 0},{0x29, 0x78, 0x0, 0xFF}}}, + {{{1, 51, 45},0, {0, 0},{0x28, 0x79, 0x0, 0xFF}}}, + {{{-26, 60, -16},0, {0, 0},{0x28, 0x79, 0x0, 0xFF}}}, + {{{-28, 60, 18},0, {0, 0},{0x24, 0x7A, 0x2, 0xFF}}}, + {{{124, 9, -29},0, {0, 0},{0x4B, 0xAB, 0xC6, 0xFF}}}, + {{{124, 10, 26},0, {0, 0},{0x4F, 0xAD, 0x37, 0xFF}}}, + {{{95, -31, -1},0, {0, 0},{0x38, 0x8E, 0xFE, 0xFF}}}, + {{{60, -13, 45},0, {0, 0},{0x3, 0xB5, 0x67, 0xFF}}}, + {{{92, 20, 51},0, {0, 0},{0x1E, 0xCF, 0x71, 0xFF}}}, + {{{1, 51, 45},0, {0, 0},{0xD0, 0xFF, 0x76, 0xFF}}}, + {{{-20, 9, 35},0, {0, 0},{0xB4, 0xCC, 0x58, 0xFF}}}, + {{{-28, 60, 18},0, {0, 0},{0x8C, 0x15, 0x30, 0xFF}}}, + {{{-39, 11, 0},0, {0, 0},{0x8A, 0xD0, 0xFF, 0xFF}}}, + {{{-20, 9, 35},0, {0, 0},{0xB4, 0xCC, 0x58, 0xFF}}}, + {{{-28, 60, 18},0, {0, 0},{0x8C, 0x15, 0x30, 0xFF}}}, + {{{-26, 60, -16},0, {0, 0},{0x90, 0x17, 0xC9, 0xFF}}}, + {{{-22, 8, -30},0, {0, 0},{0xB3, 0xCC, 0xA9, 0xFF}}}, + {{{0, 51, -40},0, {0, 0},{0xCE, 0x0, 0x8B, 0xFF}}}, + {{{58, -13, -42},0, {0, 0},{0xFF, 0xB6, 0x99, 0xFF}}}, + {{{90, 20, -50},0, {0, 0},{0x14, 0xD1, 0x8C, 0xFF}}}, + {{{124, 9, -29},0, {0, 0},{0x4B, 0xAB, 0xC6, 0xFF}}}, + {{{95, -31, -1},0, {0, 0},{0x38, 0x8E, 0xFE, 0xFF}}}, + {{{41, -37, 0},0, {0, 0},{0xE9, 0x83, 0xFF, 0xFF}}}, + {{{60, -13, 45},0, {0, 0},{0x3, 0xB5, 0x67, 0xFF}}}, +}; + +const Gfx luigi_left_foot_shared_dl[] = { + gsSPVertex(luigi_left_foot_shared_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(2, 1, 3, 0), + gsSP1Triangle(1, 4, 3, 0), + gsSP1Triangle(3, 4, 5, 0), + gsSP1Triangle(4, 6, 5, 0), + gsSP1Triangle(6, 7, 5, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSP1Triangle(10, 9, 11, 0), + gsSP1Triangle(12, 11, 9, 0), + gsSP1Triangle(12, 13, 11, 0), + gsSP1Triangle(11, 13, 14, 0), + gsSP1Triangle(13, 15, 14, 0), + gsSPVertex(luigi_left_foot_shared_dl_vertex + 16, 12, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(2, 3, 0, 0), + gsSP1Triangle(4, 0, 3, 0), + gsSP1Triangle(5, 4, 3, 0), + gsSP1Triangle(4, 5, 6, 0), + gsSP1Triangle(5, 7, 6, 0), + gsSP1Triangle(7, 8, 6, 0), + gsSP1Triangle(9, 6, 8, 0), + gsSP1Triangle(6, 9, 10, 0), + gsSP1Triangle(11, 10, 9, 0), + gsSP1Triangle(11, 1, 10, 0), + gsSP1Triangle(1, 0, 10, 0), + gsSP1Triangle(4, 10, 0, 0), + gsSP1Triangle(6, 10, 4, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_left_foot[] = { + gsSPLight(&luigi_brown1_lights_group.l, 1), + gsSPLight(&luigi_brown1_lights_group.a, 2), + gsSPDisplayList(luigi_left_foot_shared_dl), + gsSPEndDisplayList(), +}; + +static const Vtx luigi_right_thigh_dl_vertex[26] = { + {{{19, -10, 40},0, {0, 0},{0xEE, 0xDC, 0x79, 0xFF}}}, + {{{20, -45, 0},0, {0, 0},{0xEE, 0x82, 0x1, 0xFF}}}, + {{{102, -32, 0},0, {0, 0},{0x43, 0x94, 0x0, 0xFF}}}, + {{{0, -34, -1},0, {0, 0},{0xAC, 0xA0, 0xFF, 0xFF}}}, + {{{-1, -8, 31},0, {0, 0},{0xAE, 0xDF, 0x5C, 0xFF}}}, + {{{-4, 34, 19},0, {0, 0},{0xA7, 0x46, 0x3B, 0xFF}}}, + {{{15, 43, 24},0, {0, 0},{0xE9, 0x64, 0x4A, 0xFF}}}, + {{{96, 38, 19},0, {0, 0},{0x38, 0x5D, 0x42, 0xFF}}}, + {{{99, -5, 32},0, {0, 0},{0x3C, 0xE4, 0x6D, 0xFF}}}, + {{{121, 7, -1},0, {0, 0},{0x7F, 0x7, 0xFF, 0xFF}}}, + {{{98, -5, -33},0, {0, 0},{0x3A, 0xE1, 0x93, 0xFF}}}, + {{{18, -10, -41},0, {0, 0},{0xEF, 0xDB, 0x88, 0xFF}}}, + {{{-2, -8, -32},0, {0, 0},{0xAE, 0xDE, 0xA6, 0xFF}}}, + {{{-17, 2, -1},0, {0, 0},{0x81, 0xF7, 0x1, 0xFF}}}, + {{{-5, 34, -21},0, {0, 0},{0xA7, 0x46, 0xC5, 0xFF}}}, + {{{14, 43, -25},0, {0, 0},{0xE9, 0x65, 0xB7, 0xFF}}}, + {{{96, 38, -21},0, {0, 0},{0x38, 0x5C, 0xBC, 0xFF}}}, + {{{14, 43, -25},0, {0, 0},{0xE9, 0x65, 0xB7, 0xFF}}}, + {{{96, 38, 19},0, {0, 0},{0x38, 0x5D, 0x42, 0xFF}}}, + {{{121, 7, -1},0, {0, 0},{0x7F, 0x7, 0xFF, 0xFF}}}, + {{{99, -5, 32},0, {0, 0},{0x3C, 0xE4, 0x6D, 0xFF}}}, + {{{98, -5, -33},0, {0, 0},{0x3A, 0xE1, 0x93, 0xFF}}}, + {{{18, -10, -41},0, {0, 0},{0xEF, 0xDB, 0x88, 0xFF}}}, + {{{-5, 34, -21},0, {0, 0},{0xA7, 0x46, 0xC5, 0xFF}}}, + {{{-2, -8, -32},0, {0, 0},{0xAE, 0xDE, 0xA6, 0xFF}}}, + {{{-17, 2, -1},0, {0, 0},{0x81, 0xF7, 0x1, 0xFF}}}, +}; + +const Gfx luigi_right_thigh_shared_dl[] = { + gsSPVertex(luigi_right_thigh_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 1, 0, 0), + gsSP1Triangle(4, 3, 0, 0), + gsSP1Triangle(4, 0, 5, 0), + gsSP1Triangle(5, 0, 6, 0), + gsSP1Triangle(6, 0, 7, 0), + gsSP1Triangle(8, 7, 0, 0), + gsSP1Triangle(8, 0, 2, 0), + gsSP1Triangle(9, 8, 2, 0), + gsSP1Triangle(9, 2, 10, 0), + gsSP1Triangle(10, 2, 11, 0), + gsSP1Triangle(1, 11, 2, 0), + gsSP1Triangle(3, 11, 1, 0), + gsSP1Triangle(12, 11, 3, 0), + gsSP1Triangle(13, 12, 3, 0), + gsSP1Triangle(13, 3, 4, 0), + gsSP1Triangle(13, 4, 5, 0), + gsSP1Triangle(13, 5, 14, 0), + gsSP1Triangle(5, 6, 14, 0), + gsSP1Triangle(14, 6, 15, 0), + gsSP1Triangle(15, 6, 7, 0), + gsSPVertex(luigi_right_thigh_dl_vertex + 16, 10, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 0, 2, 0), + gsSP1Triangle(3, 2, 4, 0), + gsSP1Triangle(3, 5, 0, 0), + gsSP1Triangle(5, 6, 0, 0), + gsSP1Triangle(6, 1, 0, 0), + gsSP1Triangle(7, 1, 6, 0), + gsSP1Triangle(8, 7, 6, 0), + gsSP1Triangle(9, 7, 8, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_right_thigh[] = { + gsSPCopyLightEXT(1, 3), // gsSPLight(&luigi_blue_lights_group.l, 1), + gsSPCopyLightEXT(2, 4), // gsSPLight(&luigi_blue_lights_group.a, 2), + gsSPDisplayList(luigi_right_thigh_shared_dl), + gsSPEndDisplayList(), +}; + +static const Vtx luigi_right_leg_shared_dl_vertex[22] = { + {{{72, -17, -38},0, {0, 0},{0xFD, 0x21, 0x85, 0xFF}}}, + {{{10, 38, -21},0, {0, 0},{0xD4, 0x61, 0xBB, 0xFF}}}, + {{{82, 38, -24},0, {0, 0},{0xFB, 0x20, 0x85, 0xFF}}}, + {{{2, -2, -33},0, {0, 0},{0xC1, 0xED, 0x93, 0xFF}}}, + {{{-18, 14, 0},0, {0, 0},{0x84, 0x1B, 0x0, 0xFF}}}, + {{{-2, -33, 0},0, {0, 0},{0xB3, 0x9B, 0x0, 0xFF}}}, + {{{72, -17, -38},0, {0, 0},{0xE8, 0xA5, 0xAB, 0xFF}}}, + {{{65, -50, 0},0, {0, 0},{0xE9, 0xA4, 0xAC, 0xFF}}}, + {{{2, -2, 33},0, {0, 0},{0xC1, 0xEE, 0x6D, 0xFF}}}, + {{{73, -17, 38},0, {0, 0},{0xE8, 0xA5, 0x56, 0xFF}}}, + {{{65, -50, 0},0, {0, 0},{0xE9, 0xA4, 0x55, 0xFF}}}, + {{{11, 38, 21},0, {0, 0},{0xD6, 0x62, 0x46, 0xFF}}}, + {{{73, -17, 38},0, {0, 0},{0xFE, 0x23, 0x7A, 0xFF}}}, + {{{83, 38, 23},0, {0, 0},{0xFD, 0x22, 0x7A, 0xFF}}}, + {{{83, 38, 23},0, {0, 0},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{82, 38, -24},0, {0, 0},{0x0, 0x7F, 0x0, 0xFF}}}, + {{{95, -5, 0},0, {0, 0},{0x7D, 0xE9, 0xFF, 0xFF}}}, + {{{65, -50, 0},0, {0, 0},{0x6A, 0xBA, 0xFF, 0xFF}}}, + {{{72, -17, -38},0, {0, 0},{0x6D, 0xD9, 0xCB, 0xFF}}}, + {{{73, -17, 38},0, {0, 0},{0x6E, 0xD9, 0x33, 0xFF}}}, + {{{83, 38, 23},0, {0, 0},{0x7B, 0x13, 0x1B, 0xFF}}}, + {{{82, 38, -24},0, {0, 0},{0x79, 0x13, 0xE0, 0xFF}}}, +}; + +const Gfx luigi_right_leg_shared_dl[] = { + gsSPVertex(luigi_right_leg_shared_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 1, 0, 0), + gsSP1Triangle(4, 1, 3, 0), + gsSP1Triangle(4, 3, 5, 0), + gsSP1Triangle(3, 6, 5, 0), + gsSP1Triangle(7, 5, 6, 0), + gsSP1Triangle(4, 5, 8, 0), + gsSP1Triangle(8, 5, 9, 0), + gsSP1Triangle(9, 5, 10, 0), + gsSP1Triangle(4, 8, 11, 0), + gsSP1Triangle(8, 12, 11, 0), + gsSP1Triangle(13, 11, 12, 0), + gsSP1Triangle(4, 11, 1, 0), + gsSP1Triangle(11, 14, 1, 0), + gsSP1Triangle(15, 1, 14, 0), + gsSPVertex(luigi_right_leg_shared_dl_vertex + 16, 6, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 3, 1, 0), + gsSP1Triangle(0, 4, 3, 0), + gsSP1Triangle(0, 5, 4, 0), + gsSP1Triangle(0, 2, 5, 0), + gsSPEndDisplayList(), +}; + +static const Vtx luigi_right_foot_shared_dl_vertex[28] = { + {{{-26, 60, 15},0, {0, 0},{0x27, 0x79, 0xFF, 0xFF}}}, + {{{0, 51, -46},0, {0, 0},{0x28, 0x79, 0xFF, 0xFF}}}, + {{{-30, 60, -17},0, {0, 0},{0x21, 0x7B, 0xFC, 0xFF}}}, + {{{1, 51, 39},0, {0, 0},{0x28, 0x79, 0xFF, 0xFF}}}, + {{{90, 20, -54},0, {0, 0},{0x28, 0x79, 0xFF, 0xFF}}}, + {{{90, 22, 47},0, {0, 0},{0x28, 0x79, 0xFE, 0xFF}}}, + {{{122, 10, -30},0, {0, 0},{0x28, 0x79, 0xFE, 0xFF}}}, + {{{124, 10, 26},0, {0, 0},{0x29, 0x78, 0xFF, 0xFF}}}, + {{{124, 10, 26},0, {0, 0},{0x4D, 0xAE, 0x3B, 0xFF}}}, + {{{94, -31, 0},0, {0, 0},{0x38, 0x8E, 0x3, 0xFF}}}, + {{{122, 10, -30},0, {0, 0},{0x4D, 0xAC, 0xC8, 0xFF}}}, + {{{60, -12, 41},0, {0, 0},{0x1, 0xB9, 0x69, 0xFF}}}, + {{{90, 22, 47},0, {0, 0},{0x16, 0xD7, 0x76, 0xFF}}}, + {{{1, 51, 39},0, {0, 0},{0xD0, 0x0, 0x76, 0xFF}}}, + {{{-20, 9, 30},0, {0, 0},{0xB7, 0xCD, 0x5B, 0xFF}}}, + {{{-26, 60, 15},0, {0, 0},{0x92, 0x16, 0x3C, 0xFF}}}, + {{{-20, 9, 30},0, {0, 0},{0xB7, 0xCD, 0x5B, 0xFF}}}, + {{{-26, 60, 15},0, {0, 0},{0x92, 0x16, 0x3C, 0xFF}}}, + {{{-40, 11, 0},0, {0, 0},{0x8B, 0xD0, 0x7, 0xFF}}}, + {{{-30, 60, -17},0, {0, 0},{0x8A, 0x15, 0xD5, 0xFF}}}, + {{{-22, 8, -35},0, {0, 0},{0xB3, 0xCA, 0xAB, 0xFF}}}, + {{{0, 51, -46},0, {0, 0},{0xCE, 0xFE, 0x8B, 0xFF}}}, + {{{58, -14, -46},0, {0, 0},{0x0, 0xB2, 0x9B, 0xFF}}}, + {{{90, 20, -54},0, {0, 0},{0x1A, 0xCD, 0x8F, 0xFF}}}, + {{{122, 10, -30},0, {0, 0},{0x4D, 0xAC, 0xC8, 0xFF}}}, + {{{94, -31, 0},0, {0, 0},{0x38, 0x8E, 0x3, 0xFF}}}, + {{{41, -36, 0},0, {0, 0},{0xE8, 0x83, 0x5, 0xFF}}}, + {{{60, -12, 41},0, {0, 0},{0x1, 0xB9, 0x69, 0xFF}}}, +}; + +const Gfx luigi_right_foot_dl[] = { + gsSPVertex(luigi_right_foot_shared_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 1, 0, 0), + gsSP1Triangle(4, 1, 3, 0), + gsSP1Triangle(5, 4, 3, 0), + gsSP1Triangle(6, 4, 5, 0), + gsSP1Triangle(7, 6, 5, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSP1Triangle(9, 8, 11, 0), + gsSP1Triangle(12, 11, 8, 0), + gsSP1Triangle(13, 11, 12, 0), + gsSP1Triangle(14, 11, 13, 0), + gsSP1Triangle(13, 15, 14, 0), + gsSPVertex(luigi_right_foot_shared_dl_vertex + 16, 12, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 2, 1, 0), + gsSP1Triangle(2, 3, 4, 0), + gsSP1Triangle(5, 4, 3, 0), + gsSP1Triangle(6, 4, 5, 0), + gsSP1Triangle(7, 6, 5, 0), + gsSP1Triangle(7, 8, 6, 0), + gsSP1Triangle(9, 6, 8, 0), + gsSP1Triangle(6, 9, 10, 0), + gsSP1Triangle(11, 10, 9, 0), + gsSP1Triangle(11, 0, 10, 0), + gsSP1Triangle(0, 2, 10, 0), + gsSP1Triangle(4, 10, 2, 0), + gsSP1Triangle(6, 10, 4, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_right_foot[] = { + gsSPLight(&luigi_brown1_lights_group.l, 1), + gsSPLight(&luigi_brown1_lights_group.a, 2), + gsSPDisplayList(luigi_right_foot_dl), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsDPSetEnvColor(255, 255, 255, 255), gsDPSetAlphaCompare(G_AC_NONE), gsSPEndDisplayList(), }; + +const Gfx luigi_metal_right_foot[] = { + gsSPDisplayList(luigi_right_foot_dl), + gsDPPipeSync(), + gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), + gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), + gsDPSetEnvColor(255, 255, 255, 255), + gsDPSetAlphaCompare(G_AC_NONE), + gsSPEndDisplayList(), +}; + +static const Vtx luigi_yellow_button_dl_vertex[14] = { + {{{1, 78, -32},0, {799, 971},{0x10, 0x76, 0xD4, 0xFF}}}, + {{{18, 74, -23},0, {973, 546},{0x26, 0x79, 0xF6, 0xFF}}}, + {{{39, 66, -26},0, {853, 75},{0x3F, 0x6B, 0xE5, 0xFF}}}, + {{{-6, 66, -49},0, {323, 1014},{0x1, 0x67, 0xB5, 0xFF}}}, + {{{8, 57, -61},0, {11, 654},{0x12, 0x52, 0xA0, 0xFF}}}, + {{{24, 53, -58},0, {28, 302},{0x24, 0x4D, 0xA2, 0xFF}}}, + {{{39, 56, -47},0, {324, -20},{0x3A, 0x5C, 0xBE, 0xFF}}}, + {{{18, 74, 24},0, {8, 500},{0x26, 0x79, 0xA, 0xFF}}}, + {{{1, 78, 33},0, {175, 930},{0x10, 0x75, 0x2E, 0xFF}}}, + {{{39, 66, 27},0, {130, 50},{0x3F, 0x6B, 0x1B, 0xFF}}}, + {{{-6, 66, 49},0, {640, 1014},{0x3, 0x67, 0x4B, 0xFF}}}, + {{{8, 57, 61},0, {949, 683},{0x13, 0x54, 0x5D, 0xFF}}}, + {{{24, 53, 59},0, {935, 334},{0x20, 0x50, 0x5E, 0xFF}}}, + {{{39, 56, 48},0, {647, -8},{0x3A, 0x5D, 0x41, 0xFF}}}, +}; + +static const Vtx luigi_tshirt_shared_dl_vertex[30] = { + {{{39, 66, 27},0, {0, 0},{0x3F, 0x6B, 0x1B, 0xFF}}}, + {{{76, 31, 22},0, {0, 0},{0x64, 0x4A, 0x1B, 0xFF}}}, + {{{39, 66, -26},0, {0, 0},{0x3F, 0x6B, 0xE5, 0xFF}}}, + {{{76, 31, -21},0, {0, 0},{0x64, 0x4A, 0xE5, 0xFF}}}, + {{{94, -2, 19},0, {0, 0},{0x7B, 0x11, 0x1B, 0xFF}}}, + {{{94, -2, -18},0, {0, 0},{0x7B, 0x10, 0xE6, 0xFF}}}, + {{{86, -35, 21},0, {0, 0},{0x69, 0xBB, 0x13, 0xFF}}}, + {{{86, -35, -19},0, {0, 0},{0x69, 0xBB, 0xEE, 0xFF}}}, + {{{47, -62, 0},0, {0, 0},{0x2C, 0x89, 0x0, 0xFF}}}, + {{{39, -34, -66},0, {0, 0},{0x1F, 0xCD, 0x90, 0xFF}}}, + {{{77, -30, -49},0, {0, 0},{0x59, 0xD6, 0xAF, 0xFF}}}, + {{{60, -50, -40},0, {0, 0},{0x38, 0x99, 0xCF, 0xFF}}}, + {{{39, -1, -71},0, {0, 0},{0x26, 0x6, 0x87, 0xFF}}}, + {{{-1, -13, -73},0, {0, 0},{0x0, 0xEC, 0x83, 0xFF}}}, + {{{12, -59, -54},0, {0, 0},{0x8, 0x9B, 0xB3, 0xFF}}}, + {{{4, 26, -72},0, {0, 0},{0xA, 0x18, 0x84, 0xFF}}}, + {{{4, 26, -72},0, {0, 0},{0xA, 0x18, 0x84, 0xFF}}}, + {{{36, 43, -59},0, {0, 0},{0x34, 0x33, 0x98, 0xFF}}}, + {{{39, -1, -71},0, {0, 0},{0x26, 0x6, 0x87, 0xFF}}}, + {{{73, 10, -49},0, {0, 0},{0x59, 0x23, 0xAC, 0xFF}}}, + {{{77, -30, -49},0, {0, 0},{0x59, 0xD6, 0xAF, 0xFF}}}, + {{{39, -34, 67},0, {0, 0},{0x1F, 0xCD, 0x70, 0xFF}}}, + {{{-1, -14, 74},0, {0, 0},{0x0, 0xEB, 0x7D, 0xFF}}}, + {{{12, -59, 55},0, {0, 0},{0x8, 0x9A, 0x4C, 0xFF}}}, + {{{39, -1, 72},0, {0, 0},{0x27, 0x6, 0x79, 0xFF}}}, + {{{77, -30, 50},0, {0, 0},{0x58, 0xD7, 0x51, 0xFF}}}, + {{{60, -50, 41},0, {0, 0},{0x37, 0x99, 0x31, 0xFF}}}, + {{{73, 10, 49},0, {0, 0},{0x59, 0x23, 0x53, 0xFF}}}, + {{{36, 43, 61},0, {0, 0},{0x33, 0x35, 0x68, 0xFF}}}, + {{{4, 26, 73},0, {0, 0},{0xA, 0x18, 0x7C, 0xFF}}}, +}; + +static const Vtx luigi_pants_overalls_shared_dl_vertex[94] = { + {{{18, 74, 24},0, {0, 0},{0x26, 0x79, 0xA, 0xFF}}}, + {{{1, 78, -32},0, {0, 0},{0x10, 0x76, 0xD4, 0xFF}}}, + {{{1, 78, 33},0, {0, 0},{0x10, 0x75, 0x2E, 0xFF}}}, + {{{18, 74, -23},0, {0, 0},{0x26, 0x79, 0xF6, 0xFF}}}, + {{{39, 66, -26},0, {0, 0},{0x3F, 0x6B, 0xE5, 0xFF}}}, + {{{39, 66, 27},0, {0, 0},{0x3F, 0x6B, 0x1B, 0xFF}}}, + {{{-25, 77, 29},0, {0, 0},{0xEF, 0x79, 0x22, 0xFF}}}, + {{{-25, 77, -27},0, {0, 0},{0xEF, 0x7A, 0xDF, 0xFF}}}, + {{{-6, 66, -49},0, {0, 0},{0x1, 0x67, 0xB5, 0xFF}}}, + {{{-39, 54, -59},0, {0, 0},{0xD3, 0x45, 0x9F, 0xFF}}}, + {{{-14, 49, -65},0, {0, 0},{0xFA, 0x3D, 0x91, 0xFF}}}, + {{{8, 57, -61},0, {0, 0},{0x12, 0x52, 0xA0, 0xFF}}}, + {{{4, 26, -72},0, {0, 0},{0xA, 0x18, 0x84, 0xFF}}}, + {{{24, 53, -58},0, {0, 0},{0x24, 0x4D, 0xA2, 0xFF}}}, + {{{36, 43, -59},0, {0, 0},{0x34, 0x33, 0x98, 0xFF}}}, + {{{39, 56, -47},0, {0, 0},{0x3A, 0x5C, 0xBE, 0xFF}}}, + {{{36, 43, -59},0, {0, 0},{0x34, 0x33, 0x98, 0xFF}}}, + {{{39, 56, -47},0, {0, 0},{0x3A, 0x5C, 0xBE, 0xFF}}}, + {{{73, 10, -49},0, {0, 0},{0x59, 0x23, 0xAC, 0xFF}}}, + {{{76, 31, -21},0, {0, 0},{0x64, 0x4A, 0xE5, 0xFF}}}, + {{{39, 66, -26},0, {0, 0},{0x3F, 0x6B, 0xE5, 0xFF}}}, + {{{94, -2, -18},0, {0, 0},{0x7B, 0x10, 0xE6, 0xFF}}}, + {{{77, -30, -49},0, {0, 0},{0x59, 0xD6, 0xAF, 0xFF}}}, + {{{86, -35, -19},0, {0, 0},{0x69, 0xBB, 0xEE, 0xFF}}}, + {{{60, -50, -40},0, {0, 0},{0x38, 0x99, 0xCF, 0xFF}}}, + {{{47, -62, 0},0, {0, 0},{0x2C, 0x89, 0x0, 0xFF}}}, + {{{12, -59, -54},0, {0, 0},{0x8, 0x9B, 0xB3, 0xFF}}}, + {{{0, -71, 0},0, {0, 0},{0x0, 0x81, 0x0, 0xFF}}}, + {{{12, -59, 55},0, {0, 0},{0x8, 0x9A, 0x4C, 0xFF}}}, + {{{60, -50, 41},0, {0, 0},{0x37, 0x99, 0x31, 0xFF}}}, + {{{86, -35, 21},0, {0, 0},{0x69, 0xBB, 0x13, 0xFF}}}, + {{{77, -30, 50},0, {0, 0},{0x58, 0xD7, 0x51, 0xFF}}}, + {{{86, -35, 21},0, {0, 0},{0x69, 0xBB, 0x13, 0xFF}}}, + {{{94, -2, 19},0, {0, 0},{0x7B, 0x11, 0x1B, 0xFF}}}, + {{{77, -30, 50},0, {0, 0},{0x58, 0xD7, 0x51, 0xFF}}}, + {{{73, 10, 49},0, {0, 0},{0x59, 0x23, 0x53, 0xFF}}}, + {{{76, 31, 22},0, {0, 0},{0x64, 0x4A, 0x1B, 0xFF}}}, + {{{39, 56, 48},0, {0, 0},{0x3A, 0x5D, 0x41, 0xFF}}}, + {{{39, 66, 27},0, {0, 0},{0x3F, 0x6B, 0x1B, 0xFF}}}, + {{{36, 43, 61},0, {0, 0},{0x33, 0x35, 0x68, 0xFF}}}, + {{{24, 53, 59},0, {0, 0},{0x20, 0x50, 0x5E, 0xFF}}}, + {{{4, 26, 73},0, {0, 0},{0xA, 0x18, 0x7C, 0xFF}}}, + {{{8, 57, 61},0, {0, 0},{0x13, 0x54, 0x5D, 0xFF}}}, + {{{-14, 49, 67},0, {0, 0},{0xFD, 0x3E, 0x6F, 0xFF}}}, + {{{-6, 66, 49},0, {0, 0},{0x3, 0x67, 0x4B, 0xFF}}}, + {{{-39, 54, 61},0, {0, 0},{0xD3, 0x45, 0x61, 0xFF}}}, + {{{-25, 77, 29},0, {0, 0},{0xEF, 0x79, 0x22, 0xFF}}}, + {{{1, 78, 33},0, {0, 0},{0x10, 0x75, 0x2E, 0xFF}}}, + {{{-51, 63, 43},0, {0, 0},{0xC6, 0x5B, 0x43, 0xFF}}}, + {{{-39, 54, 61},0, {0, 0},{0xD3, 0x45, 0x61, 0xFF}}}, + {{{-25, 77, 29},0, {0, 0},{0xEF, 0x79, 0x22, 0xFF}}}, + {{{-82, 45, 25},0, {0, 0},{0x8D, 0x25, 0x28, 0xFF}}}, + {{{-54, 72, 19},0, {0, 0},{0xC6, 0x70, 0x13, 0xFF}}}, + {{{-54, 72, -19},0, {0, 0},{0xC7, 0x70, 0xEB, 0xFF}}}, + {{{-25, 77, -27},0, {0, 0},{0xEF, 0x7A, 0xDF, 0xFF}}}, + {{{-51, 62, -43},0, {0, 0},{0xC5, 0x57, 0xB9, 0xFF}}}, + {{{-39, 54, -59},0, {0, 0},{0xD3, 0x45, 0x9F, 0xFF}}}, + {{{-82, 45, -23},0, {0, 0},{0x8D, 0x25, 0xD8, 0xFF}}}, + {{{-36, 21, -72},0, {0, 0},{0xCE, 0xC, 0x8C, 0xFF}}}, + {{{-14, 49, -65},0, {0, 0},{0xFA, 0x3D, 0x91, 0xFF}}}, + {{{4, 26, -72},0, {0, 0},{0xA, 0x18, 0x84, 0xFF}}}, + {{{-1, -13, -73},0, {0, 0},{0x0, 0xEC, 0x83, 0xFF}}}, + {{{-36, -26, -69},0, {0, 0},{0xCD, 0xDD, 0x91, 0xFF}}}, + {{{12, -59, -54},0, {0, 0},{0x8, 0x9B, 0xB3, 0xFF}}}, + {{{-39, -56, -47},0, {0, 0},{0xCA, 0x9F, 0xC1, 0xFF}}}, + {{{-36, -26, -69},0, {0, 0},{0xCD, 0xDD, 0x91, 0xFF}}}, + {{{12, -59, -54},0, {0, 0},{0x8, 0x9B, 0xB3, 0xFF}}}, + {{{0, -71, 0},0, {0, 0},{0x0, 0x81, 0x0, 0xFF}}}, + {{{-40, -64, 0},0, {0, 0},{0xC6, 0x8F, 0x0, 0xFF}}}, + {{{-39, -56, 48},0, {0, 0},{0xCA, 0x9F, 0x3E, 0xFF}}}, + {{{12, -59, 55},0, {0, 0},{0x8, 0x9A, 0x4C, 0xFF}}}, + {{{-36, -26, 70},0, {0, 0},{0xCD, 0xDD, 0x6F, 0xFF}}}, + {{{-1, -14, 74},0, {0, 0},{0x0, 0xEB, 0x7D, 0xFF}}}, + {{{-36, 21, 73},0, {0, 0},{0xCE, 0xB, 0x74, 0xFF}}}, + {{{4, 26, 73},0, {0, 0},{0xA, 0x18, 0x7C, 0xFF}}}, + {{{-14, 49, 67},0, {0, 0},{0xFD, 0x3E, 0x6F, 0xFF}}}, + {{{-39, 54, 61},0, {0, 0},{0xD3, 0x45, 0x61, 0xFF}}}, + {{{-82, 45, 25},0, {0, 0},{0x8D, 0x25, 0x28, 0xFF}}}, + {{{-70, -30, 31},0, {0, 0},{0x91, 0xD1, 0x29, 0xFF}}}, + {{{-82, 45, -23},0, {0, 0},{0x8D, 0x25, 0xD8, 0xFF}}}, + {{{-82, 45, -23},0, {0, 0},{0x8D, 0x25, 0xD8, 0xFF}}}, + {{{-82, 45, 25},0, {0, 0},{0x8D, 0x25, 0x28, 0xFF}}}, + {{{-54, 72, 19},0, {0, 0},{0xC6, 0x70, 0x13, 0xFF}}}, + {{{-54, 72, -19},0, {0, 0},{0xC7, 0x70, 0xEB, 0xFF}}}, + {{{-51, 62, -43},0, {0, 0},{0xC5, 0x57, 0xB9, 0xFF}}}, + {{{-70, -30, -30},0, {0, 0},{0x91, 0xD1, 0xD7, 0xFF}}}, + {{{-70, -30, 31},0, {0, 0},{0x91, 0xD1, 0x29, 0xFF}}}, + {{{-40, -64, 0},0, {0, 0},{0xC6, 0x8F, 0x0, 0xFF}}}, + {{{-39, -56, -47},0, {0, 0},{0xCA, 0x9F, 0xC1, 0xFF}}}, + {{{-36, -26, -69},0, {0, 0},{0xCD, 0xDD, 0x91, 0xFF}}}, + {{{-36, 21, -72},0, {0, 0},{0xCE, 0xC, 0x8C, 0xFF}}}, + {{{-39, -56, 48},0, {0, 0},{0xCA, 0x9F, 0x3E, 0xFF}}}, + {{{-36, -26, 70},0, {0, 0},{0xCD, 0xDD, 0x6F, 0xFF}}}, + {{{-36, 21, 73},0, {0, 0},{0xCE, 0xB, 0x74, 0xFF}}}, +}; + +const Gfx luigi_yellow_button_dl[] = { + gsSPVertex(luigi_yellow_button_dl_vertex + 0, 14, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 2, 3, 0), + gsSP1Triangle(3, 2, 4, 0), + gsSP1Triangle(4, 2, 5, 0), + gsSP1Triangle(6, 5, 2, 0), + gsSP1Triangle(7, 8, 9, 0), + gsSP1Triangle(10, 9, 8, 0), + gsSP1Triangle(11, 9, 10, 0), + gsSP1Triangle(12, 9, 11, 0), + gsSP1Triangle(13, 9, 12, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_pants_overalls_shared_dl[] = { + gsSPVertex(luigi_pants_overalls_shared_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 1, 0, 0), + gsSP1Triangle(3, 0, 4, 0), + gsSP1Triangle(0, 5, 4, 0), + gsSP1Triangle(1, 6, 2, 0), + gsSP1Triangle(7, 6, 1, 0), + gsSP1Triangle(8, 7, 1, 0), + gsSP1Triangle(8, 9, 7, 0), + gsSP1Triangle(8, 10, 9, 0), + gsSP1Triangle(8, 11, 10, 0), + gsSP1Triangle(10, 11, 12, 0), + gsSP1Triangle(11, 13, 12, 0), + gsSP1Triangle(13, 14, 12, 0), + gsSP1Triangle(14, 13, 15, 0), + gsSPVertex(luigi_pants_overalls_shared_dl_vertex + 16, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(2, 1, 3, 0), + gsSP1Triangle(4, 3, 1, 0), + gsSP1Triangle(3, 5, 2, 0), + gsSP1Triangle(5, 6, 2, 0), + gsSP1Triangle(7, 6, 5, 0), + gsSP1Triangle(7, 8, 6, 0), + gsSP1Triangle(8, 7, 9, 0), + gsSP1Triangle(9, 10, 8, 0), + gsSP1Triangle(11, 10, 9, 0), + gsSP1Triangle(9, 12, 11, 0), + gsSP1Triangle(13, 12, 9, 0), + gsSP1Triangle(13, 9, 14, 0), + gsSP1Triangle(14, 15, 13, 0), + gsSPVertex(luigi_pants_overalls_shared_dl_vertex + 32, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(2, 1, 3, 0), + gsSP1Triangle(4, 3, 1, 0), + gsSP1Triangle(4, 5, 3, 0), + gsSP1Triangle(5, 4, 6, 0), + gsSP1Triangle(7, 3, 5, 0), + gsSP1Triangle(7, 5, 8, 0), + gsSP1Triangle(7, 8, 9, 0), + gsSP1Triangle(10, 9, 8, 0), + gsSP1Triangle(11, 9, 10, 0), + gsSP1Triangle(11, 10, 12, 0), + gsSP1Triangle(11, 12, 13, 0), + gsSP1Triangle(13, 12, 14, 0), + gsSP1Triangle(15, 14, 12, 0), + gsSPVertex(luigi_pants_overalls_shared_dl_vertex + 48, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 0, 3, 0), + gsSP1Triangle(4, 3, 0, 0), + gsSP1Triangle(2, 4, 0, 0), + gsSP1Triangle(4, 2, 5, 0), + gsSP1Triangle(6, 5, 2, 0), + gsSP1Triangle(6, 7, 5, 0), + gsSP1Triangle(7, 6, 8, 0), + gsSP1Triangle(8, 9, 7, 0), + gsSP1Triangle(10, 9, 8, 0), + gsSP1Triangle(8, 11, 10, 0), + gsSP1Triangle(11, 12, 10, 0), + gsSP1Triangle(10, 12, 13, 0), + gsSP1Triangle(10, 13, 14, 0), + gsSP1Triangle(14, 13, 15, 0), + gsSPVertex(luigi_pants_overalls_shared_dl_vertex + 64, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(2, 3, 0, 0), + gsSP1Triangle(4, 0, 3, 0), + gsSP1Triangle(4, 3, 5, 0), + gsSP1Triangle(5, 3, 6, 0), + gsSP1Triangle(7, 5, 6, 0), + gsSP1Triangle(7, 6, 8, 0), + gsSP1Triangle(9, 7, 8, 0), + gsSP1Triangle(10, 9, 8, 0), + gsSP1Triangle(10, 11, 9, 0), + gsSP1Triangle(9, 11, 12, 0), + gsSP1Triangle(9, 12, 13, 0), + gsSP1Triangle(13, 14, 9, 0), + gsSP1Triangle(14, 13, 15, 0), + gsSPVertex(luigi_pants_overalls_shared_dl_vertex + 80, 14, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 0, 2, 0), + gsSP1Triangle(3, 4, 0, 0), + gsSP1Triangle(5, 6, 0, 0), + gsSP1Triangle(5, 7, 6, 0), + gsSP1Triangle(5, 8, 7, 0), + gsSP1Triangle(8, 5, 9, 0), + gsSP1Triangle(9, 5, 10, 0), + gsSP1Triangle(0, 10, 5, 0), + gsSP1Triangle(11, 6, 7, 0), + gsSP1Triangle(12, 6, 11, 0), + gsSP1Triangle(12, 13, 6, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_tshirt_shared_dl[] = { + gsSPVertex(luigi_tshirt_shared_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 3, 2, 0), + gsSP1Triangle(3, 1, 4, 0), + gsSP1Triangle(5, 3, 4, 0), + gsSP1Triangle(4, 6, 5, 0), + gsSP1Triangle(6, 7, 5, 0), + gsSP1Triangle(7, 6, 8, 0), + gsSP1Triangle(9, 10, 11, 0), + gsSP1Triangle(9, 12, 10, 0), + gsSP1Triangle(12, 9, 13, 0), + gsSP1Triangle(9, 14, 13, 0), + gsSP1Triangle(11, 14, 9, 0), + gsSP1Triangle(15, 12, 13, 0), + gsSPVertex(luigi_tshirt_shared_dl_vertex + 16, 14, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(2, 1, 3, 0), + gsSP1Triangle(2, 3, 4, 0), + gsSP1Triangle(5, 6, 7, 0), + gsSP1Triangle(8, 6, 5, 0), + gsSP1Triangle(5, 9, 8, 0), + gsSP1Triangle(5, 10, 9, 0), + gsSP1Triangle(10, 5, 7, 0), + gsSP1Triangle(8, 9, 11, 0), + gsSP1Triangle(8, 11, 12, 0), + gsSP1Triangle(8, 12, 13, 0), + gsSP1Triangle(6, 8, 13, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_torso_dl[] = { + gsSPDisplayList(luigi_pants_overalls_shared_dl), + gsSPCopyLightEXT(1, 5), // gsSPLight(&luigi_green_lights_group.l, 1), + gsSPCopyLightEXT(2, 6), // gsSPLight(&luigi_green_lights_group.a, 2), + gsSPDisplayList(luigi_tshirt_shared_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_torso[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_yellow_button), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_yellow_button_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_torso_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_metal_torso_shared_dl[] = { + gsSPDisplayList(luigi_yellow_button_dl), + gsSPDisplayList(luigi_pants_overalls_shared_dl), + gsSPDisplayList(luigi_tshirt_shared_dl), + gsSPEndDisplayList(), +}; + +static const Vtx luigi_l_logo_dl_vertex[7] = { + {{{186, 82, 26},0, {732, 864},{0x4D, 0x55, 0x38, 0xFF}}}, + {{{147, 30, 77},0, {1214, 1190},{0xFD, 0x45, 0x6B, 0xFF}}}, + {{{246, 59, 57},0, {998, 194},{0x3F, 0x48, 0x54, 0xFF}}}, + {{{272, 72, 0},0, {466, -50},{0x60, 0x53, 0x0, 0xFF}}}, + {{{186, 82, -25},0, {248, 876},{0x4D, 0x54, 0xC8, 0xFF}}}, + {{{246, 59, -56},0, {-52, 224},{0x3F, 0x48, 0xAC, 0xFF}}}, + {{{147, 30, -75},0, {-212, 1230},{0xFE, 0x45, 0x95, 0xFF}}}, +}; + +static const Vtx luigi_eyes_cap_on_dl_vertex[12] = { + {{{166, 83, -26},0, {194, 72},{0xA2, 0x54, 0xF3, 0xFF}}}, + {{{147, 30, -75},0, {-334, 216},{0xFE, 0x45, 0x95, 0xFF}}}, + {{{135, 73, -54},0, {-94, 378},{0x1A, 0x5A, 0xAA, 0xFF}}}, + {{{78, 89, -19},0, {272, 992},{0x44, 0x42, 0xAB, 0xFF}}}, + {{{94, 75, -56},0, {-108, 832},{0x14, 0x63, 0xB2, 0xFF}}}, + {{{135, 93, 0},0, {480, 426},{0xB, 0x7F, 0x0, 0xFF}}}, + {{{166, 83, 26},0, {754, 64},{0xA2, 0x55, 0xD, 0xFF}}}, + {{{78, 89, 19},0, {704, 984},{0x47, 0x41, 0x53, 0xFF}}}, + {{{88, 91, 0},0, {488, 928},{0x5A, 0x5A, 0x0, 0xFF}}}, + {{{135, 73, 55},0, {1054, 362},{0x1B, 0x5B, 0x54, 0xFF}}}, + {{{94, 75, 57},0, {1084, 812},{0x14, 0x64, 0x4C, 0xFF}}}, + {{{147, 30, 77},0, {1290, 192},{0xFD, 0x45, 0x6B, 0xFF}}}, +}; + +static const Vtx luigi_hair_sideburn_cap_on_dl_vertex[12] = { + {{{88, 42, -75},0, {-20, 677},{0x7, 0x29, 0x88, 0xFF}}}, + {{{147, 30, -75},0, {146, -91},{0xFE, 0x45, 0x95, 0xFF}}}, + {{{122, -10, -90},0, {903, 197},{0xEA, 0x24, 0x88, 0xFF}}}, + {{{78, -26, -90},0, {1236, 633},{0x2, 0x59, 0xA5, 0xFF}}}, + {{{35, -5, -82},0, {873, 1170},{0xBE, 0xFA, 0x94, 0xFF}}}, + {{{35, 34, -78},0, {177, 1280},{0xD6, 0x1A, 0x8B, 0xFF}}}, + {{{88, 42, 77},0, {-49, 678},{0x6, 0x29, 0x78, 0xFF}}}, + {{{122, -10, 91},0, {890, 135},{0xE9, 0x23, 0x78, 0xFF}}}, + {{{147, 30, 77},0, {93, -96},{0xFD, 0x45, 0x6B, 0xFF}}}, + {{{78, -26, 91},0, {1308, 629},{0x2, 0x58, 0x5C, 0xFF}}}, + {{{35, -5, 83},0, {935, 1165},{0xBD, 0xF9, 0x6C, 0xFF}}}, + {{{35, 34, 79},0, {185, 1281},{0xD4, 0x1B, 0x74, 0xFF}}}, +}; + +static const Vtx luigi_mustache_cap_on_dl_vertex[21] = { + {{{78, 89, 19},0, {287, -37},{0x47, 0x41, 0x53, 0xFF}}}, + {{{58, 93, 27},0, {392, 376},{0x13, 0x21, 0x79, 0xFF}}}, + {{{67, 77, 67},0, {910, 14},{0x8, 0x58, 0x5C, 0xFF}}}, + {{{36, 79, 57},0, {776, 534},{0xD1, 0x57, 0x50, 0xFF}}}, + {{{36, 94, 26},0, {339, 690},{0xB6, 0x29, 0x5F, 0xFF}}}, + {{{14, 82, 24},0, {376, 1000},{0xAC, 0x5A, 0x20, 0xFF}}}, + {{{24, 90, 0},0, {42, 934},{0x8C, 0x33, 0x0, 0xFF}}}, + {{{-6, 40, 42},0, {825, 1115},{0x93, 0x14, 0x3F, 0xFF}}}, + {{{35, 34, 79},0, {1273, 323},{0xD4, 0x1B, 0x74, 0xFF}}}, + {{{36, 94, -26},0, {324, 713},{0xBB, 0x2C, 0x9F, 0xFF}}}, + {{{14, 82, -24},0, {347, 1008},{0xAC, 0x5A, 0xE0, 0xFF}}}, + {{{24, 90, 0},0, {29, 971},{0x8C, 0x33, 0x0, 0xFF}}}, + {{{36, 79, -57},0, {749, 534},{0xD3, 0x57, 0xAF, 0xFF}}}, + {{{58, 93, -26},0, {388, 378},{0x13, 0x22, 0x87, 0xFF}}}, + {{{67, 77, -66},0, {900, 22},{0x9, 0x57, 0xA3, 0xFF}}}, + {{{78, 89, -19},0, {302, 17},{0x44, 0x42, 0xAB, 0xFF}}}, + {{{35, 34, -78},0, {1236, 294},{0xD6, 0x1A, 0x8B, 0xFF}}}, + {{{36, 79, -57},0, {749, 534},{0xD3, 0x57, 0xAF, 0xFF}}}, + {{{67, 77, -66},0, {900, 22},{0x9, 0x57, 0xA3, 0xFF}}}, + {{{-6, 40, -42},0, {774, 1088},{0x94, 0x14, 0xC1, 0xFF}}}, + {{{14, 82, -24},0, {347, 1008},{0xAC, 0x5A, 0xE0, 0xFF}}}, +}; + +static const Vtx luigi_face_cap_dl_vertex[40] = { + {{{246, 59, 57},0, {0, 0},{0x3F, 0x48, 0x54, 0xFF}}}, + {{{147, 30, 77},0, {0, 0},{0xFD, 0x45, 0x6B, 0xFF}}}, + {{{184, -5, 117},0, {0, 0},{0x1C, 0xA, 0x7B, 0xFF}}}, + {{{122, -10, 91},0, {0, 0},{0xE9, 0x23, 0x78, 0xFF}}}, + {{{130, -56, 107},0, {0, 0},{0xE8, 0xDD, 0x78, 0xFF}}}, + {{{92, -58, 73},0, {0, 0},{0xCB, 0xC2, 0x61, 0xFF}}}, + {{{66, -98, 42},0, {0, 0},{0xD5, 0x9E, 0x44, 0xFF}}}, + {{{77, -134, 42},0, {0, 0},{0xBB, 0xA3, 0x34, 0xFF}}}, + {{{77, -134, -41},0, {0, 0},{0xBB, 0xA2, 0xCD, 0xFF}}}, + {{{66, -98, -42},0, {0, 0},{0xD4, 0xA0, 0xB9, 0xFF}}}, + {{{130, -56, -106},0, {0, 0},{0xE9, 0xDE, 0x88, 0xFF}}}, + {{{92, -58, -72},0, {0, 0},{0xCB, 0xC2, 0x9E, 0xFF}}}, + {{{122, -10, -90},0, {0, 0},{0xEA, 0x24, 0x88, 0xFF}}}, + {{{184, -5, -115},0, {0, 0},{0x1C, 0xB, 0x85, 0xFF}}}, + {{{147, 30, -75},0, {0, 0},{0xFE, 0x45, 0x95, 0xFF}}}, + {{{246, 59, -56},0, {0, 0},{0x3F, 0x48, 0xAC, 0xFF}}}, + {{{246, 59, -56},0, {0, 0},{0x3F, 0x48, 0xAC, 0xFF}}}, + {{{269, -2, -33},0, {0, 0},{0x70, 0xD5, 0xD5, 0xFF}}}, + {{{184, -5, -115},0, {0, 0},{0x1C, 0xB, 0x85, 0xFF}}}, + {{{272, 72, 0},0, {0, 0},{0x60, 0x53, 0x0, 0xFF}}}, + {{{269, -2, 34},0, {0, 0},{0x70, 0xD5, 0x2B, 0xFF}}}, + {{{246, 59, 57},0, {0, 0},{0x3F, 0x48, 0x54, 0xFF}}}, + {{{184, -5, 117},0, {0, 0},{0x1C, 0xA, 0x7B, 0xFF}}}, + {{{168, -88, 62},0, {0, 0},{0x49, 0xA7, 0x37, 0xFF}}}, + {{{130, -56, 107},0, {0, 0},{0xE8, 0xDD, 0x78, 0xFF}}}, + {{{123, -135, 41},0, {0, 0},{0x28, 0x90, 0x2C, 0xFF}}}, + {{{77, -134, 42},0, {0, 0},{0xBB, 0xA3, 0x34, 0xFF}}}, + {{{77, -134, -41},0, {0, 0},{0xBB, 0xA2, 0xCD, 0xFF}}}, + {{{123, -135, -40},0, {0, 0},{0x28, 0x90, 0xD4, 0xFF}}}, + {{{130, -56, -106},0, {0, 0},{0xE9, 0xDE, 0x88, 0xFF}}}, + {{{168, -88, -61},0, {0, 0},{0x49, 0xA8, 0xC9, 0xFF}}}, + {{{163, 118, 54},0, {0, 0},{0xE4, 0x52, 0x5D, 0xFF}}}, + {{{147, 30, 77},0, {0, 0},{0xFD, 0x45, 0x6B, 0xFF}}}, + {{{186, 82, 26},0, {0, 0},{0x4D, 0x55, 0x38, 0xFF}}}, + {{{166, 83, 26},0, {0, 0},{0xA2, 0x55, 0xD, 0xFF}}}, + {{{170, 147, 0},0, {0, 0},{0xF9, 0x7F, 0xFF, 0xFF}}}, + {{{186, 82, -25},0, {0, 0},{0x4D, 0x54, 0xC8, 0xFF}}}, + {{{163, 117, -53},0, {0, 0},{0xE3, 0x51, 0xA2, 0xFF}}}, + {{{147, 30, -75},0, {0, 0},{0xFE, 0x45, 0x95, 0xFF}}}, + {{{166, 83, -26},0, {0, 0},{0xA2, 0x54, 0xF3, 0xFF}}}, +}; + +static const Vtx luigi_face_part_cap_on_dl_vertex[90] = { + {{{88, 42, -75},0, {0, 0},{0x7, 0x29, 0x88, 0xFF}}}, + {{{135, 73, -54},0, {0, 0},{0x1A, 0x5A, 0xAA, 0xFF}}}, + {{{147, 30, -75},0, {0, 0},{0xFE, 0x45, 0x95, 0xFF}}}, + {{{94, 75, -56},0, {0, 0},{0x14, 0x63, 0xB2, 0xFF}}}, + {{{67, 77, -66},0, {0, 0},{0x9, 0x57, 0xA3, 0xFF}}}, + {{{35, 34, -78},0, {0, 0},{0xD6, 0x1A, 0x8B, 0xFF}}}, + {{{78, 89, -19},0, {0, 0},{0x44, 0x42, 0xAB, 0xFF}}}, + {{{67, 77, 67},0, {0, 0},{0x8, 0x58, 0x5C, 0xFF}}}, + {{{94, 75, 57},0, {0, 0},{0x14, 0x64, 0x4C, 0xFF}}}, + {{{78, 89, 19},0, {0, 0},{0x47, 0x41, 0x53, 0xFF}}}, + {{{88, 42, 77},0, {0, 0},{0x6, 0x29, 0x78, 0xFF}}}, + {{{35, 34, 79},0, {0, 0},{0xD4, 0x1B, 0x74, 0xFF}}}, + {{{135, 73, 55},0, {0, 0},{0x1B, 0x5B, 0x54, 0xFF}}}, + {{{147, 30, 77},0, {0, 0},{0xFD, 0x45, 0x6B, 0xFF}}}, + {{{-6, 40, -42},0, {0, 0},{0x94, 0x14, 0xC1, 0xFF}}}, + {{{35, -5, -82},0, {0, 0},{0xBE, 0xFA, 0x94, 0xFF}}}, + {{{-6, 40, -42},0, {0, 0},{0x94, 0x14, 0xC1, 0xFF}}}, + {{{35, -5, -82},0, {0, 0},{0xBE, 0xFA, 0x94, 0xFF}}}, + {{{12, -57, -34},0, {0, 0},{0x85, 0xFB, 0xE2, 0xFF}}}, + {{{58, -49, -64},0, {0, 0},{0xD0, 0xC1, 0x9C, 0xFF}}}, + {{{56, -29, -115},0, {0, 0},{0xCE, 0x6, 0x8B, 0xFF}}}, + {{{78, -26, -90},0, {0, 0},{0x2, 0x59, 0xA5, 0xFF}}}, + {{{95, -37, -115},0, {0, 0},{0x25, 0xED, 0x88, 0xFF}}}, + {{{122, -10, -90},0, {0, 0},{0xEA, 0x24, 0x88, 0xFF}}}, + {{{92, -58, -72},0, {0, 0},{0xCB, 0xC2, 0x9E, 0xFF}}}, + {{{-18, 46, 0},0, {0, 0},{0x84, 0x1B, 0x0, 0xFF}}}, + {{{12, -57, 34},0, {0, 0},{0x84, 0xFB, 0x1D, 0xFF}}}, + {{{28, -80, 0},0, {0, 0},{0xA8, 0xA4, 0x0, 0xFF}}}, + {{{-6, 40, 42},0, {0, 0},{0x93, 0x14, 0x3F, 0xFF}}}, + {{{35, -5, 83},0, {0, 0},{0xBD, 0xF9, 0x6C, 0xFF}}}, + {{{58, -49, 65},0, {0, 0},{0xD0, 0xC2, 0x64, 0xFF}}}, + {{{56, -29, 115},0, {0, 0},{0xCE, 0x5, 0x75, 0xFF}}}, + {{{58, -49, 65},0, {0, 0},{0xD0, 0xC2, 0x64, 0xFF}}}, + {{{92, -58, 73},0, {0, 0},{0xCB, 0xC2, 0x61, 0xFF}}}, + {{{56, -29, 115},0, {0, 0},{0xCE, 0x5, 0x75, 0xFF}}}, + {{{95, -37, 115},0, {0, 0},{0x25, 0xEC, 0x78, 0xFF}}}, + {{{122, -10, 91},0, {0, 0},{0xE9, 0x23, 0x78, 0xFF}}}, + {{{78, -26, 91},0, {0, 0},{0x2, 0x58, 0x5C, 0xFF}}}, + {{{35, -5, 83},0, {0, 0},{0xBD, 0xF9, 0x6C, 0xFF}}}, + {{{35, 34, 79},0, {0, 0},{0xD4, 0x1B, 0x74, 0xFF}}}, + {{{-6, 40, 42},0, {0, 0},{0x93, 0x14, 0x3F, 0xFF}}}, + {{{14, 82, 24},0, {0, 0},{0xAC, 0x5A, 0x20, 0xFF}}}, + {{{-18, 46, 0},0, {0, 0},{0x84, 0x1B, 0x0, 0xFF}}}, + {{{14, 82, -24},0, {0, 0},{0xAC, 0x5A, 0xE0, 0xFF}}}, + {{{24, 90, 0},0, {0, 0},{0x8C, 0x33, 0x0, 0xFF}}}, + {{{-6, 40, -42},0, {0, 0},{0x94, 0x14, 0xC1, 0xFF}}}, + {{{36, 94, 26},0, {0, 0},{0xB6, 0x29, 0x5F, 0xFF}}}, + {{{15, 111, 0},0, {0, 0},{0x84, 0xE6, 0xFF, 0xFF}}}, + {{{15, 111, 0},0, {0, 0},{0x84, 0xE6, 0xFF, 0xFF}}}, + {{{36, 94, 26},0, {0, 0},{0xB6, 0x29, 0x5F, 0xFF}}}, + {{{29, 111, 35},0, {0, 0},{0xB2, 0xDF, 0x5F, 0xFF}}}, + {{{58, 93, 27},0, {0, 0},{0x13, 0x21, 0x79, 0xFF}}}, + {{{58, 111, 41},0, {0, 0},{0x1, 0xD9, 0x79, 0xFF}}}, + {{{82, 111, 35},0, {0, 0},{0x4D, 0xDC, 0x5E, 0xFF}}}, + {{{78, 89, 19},0, {0, 0},{0x47, 0x41, 0x53, 0xFF}}}, + {{{96, 112, 0},0, {0, 0},{0x7D, 0xE8, 0xFF, 0xFF}}}, + {{{88, 91, 0},0, {0, 0},{0x5A, 0x5A, 0x0, 0xFF}}}, + {{{78, 89, -19},0, {0, 0},{0x44, 0x42, 0xAB, 0xFF}}}, + {{{82, 111, -34},0, {0, 0},{0x4D, 0xDD, 0xA1, 0xFF}}}, + {{{58, 93, -26},0, {0, 0},{0x13, 0x22, 0x87, 0xFF}}}, + {{{58, 111, -40},0, {0, 0},{0x1, 0xD9, 0x87, 0xFF}}}, + {{{29, 111, -34},0, {0, 0},{0xB1, 0xE2, 0xA1, 0xFF}}}, + {{{36, 94, -26},0, {0, 0},{0xBB, 0x2C, 0x9F, 0xFF}}}, + {{{24, 90, 0},0, {0, 0},{0x8C, 0x33, 0x0, 0xFF}}}, + {{{29, 111, -34},0, {0, 0},{0xB1, 0xE2, 0xA1, 0xFF}}}, + {{{15, 111, 0},0, {0, 0},{0x84, 0xE6, 0xFF, 0xFF}}}, + {{{32, 141, -34},0, {0, 0},{0xBF, 0x3F, 0xA7, 0xFF}}}, + {{{15, 141, 0},0, {0, 0},{0x8D, 0x37, 0xFE, 0xFF}}}, + {{{29, 111, 35},0, {0, 0},{0xB2, 0xDF, 0x5F, 0xFF}}}, + {{{32, 141, 35},0, {0, 0},{0xC0, 0x41, 0x59, 0xFF}}}, + {{{58, 111, 41},0, {0, 0},{0x1, 0xD9, 0x79, 0xFF}}}, + {{{58, 141, 41},0, {0, 0},{0x0, 0x43, 0x6C, 0xFF}}}, + {{{83, 141, 35},0, {0, 0},{0x49, 0x3A, 0x57, 0xFF}}}, + {{{82, 111, 35},0, {0, 0},{0x4D, 0xDC, 0x5E, 0xFF}}}, + {{{96, 112, 0},0, {0, 0},{0x7D, 0xE8, 0xFF, 0xFF}}}, + {{{96, 141, 0},0, {0, 0},{0x75, 0x31, 0xFF, 0xFF}}}, + {{{82, 111, -34},0, {0, 0},{0x4D, 0xDD, 0xA1, 0xFF}}}, + {{{83, 141, -34},0, {0, 0},{0x49, 0x3A, 0xA9, 0xFF}}}, + {{{58, 111, -40},0, {0, 0},{0x1, 0xD9, 0x87, 0xFF}}}, + {{{58, 141, -40},0, {0, 0},{0x0, 0x42, 0x93, 0xFF}}}, + {{{58, 141, -40},0, {0, 0},{0x0, 0x42, 0x93, 0xFF}}}, + {{{32, 141, -34},0, {0, 0},{0xBF, 0x3F, 0xA7, 0xFF}}}, + {{{36, 155, 0},0, {0, 0},{0xDC, 0x7A, 0x0, 0xFF}}}, + {{{15, 141, 0},0, {0, 0},{0x8D, 0x37, 0xFE, 0xFF}}}, + {{{32, 141, 35},0, {0, 0},{0xC0, 0x41, 0x59, 0xFF}}}, + {{{58, 141, 41},0, {0, 0},{0x0, 0x43, 0x6C, 0xFF}}}, + {{{77, 157, 0},0, {0, 0},{0x24, 0x7A, 0x0, 0xFF}}}, + {{{83, 141, 35},0, {0, 0},{0x49, 0x3A, 0x57, 0xFF}}}, + {{{96, 141, 0},0, {0, 0},{0x75, 0x31, 0xFF, 0xFF}}}, + {{{83, 141, -34},0, {0, 0},{0x49, 0x3A, 0xA9, 0xFF}}}, +}; + +static const Vtx luigi_face_back_hair_cap_on_dl_vertex[24] = { + {{{92, -58, -72},0, {0, 0},{0xCB, 0xC2, 0x9E, 0xFF}}}, + {{{66, -98, -42},0, {0, 0},{0xD4, 0xA0, 0xB9, 0xFF}}}, + {{{58, -49, -64},0, {0, 0},{0xD0, 0xC1, 0x9C, 0xFF}}}, + {{{52, -110, -51},0, {0, 0},{0x42, 0x9B, 0xD9, 0xFF}}}, + {{{20, -111, -30},0, {0, 0},{0xD5, 0x9C, 0x42, 0xFF}}}, + {{{28, -80, 0},0, {0, 0},{0xA8, 0xA4, 0x0, 0xFF}}}, + {{{66, -98, 42},0, {0, 0},{0xD5, 0x9E, 0x44, 0xFF}}}, + {{{20, -111, 30},0, {0, 0},{0xD4, 0x9D, 0xBE, 0xFF}}}, + {{{52, -110, 53},0, {0, 0},{0x42, 0x9C, 0x2B, 0xFF}}}, + {{{58, -49, 65},0, {0, 0},{0xD0, 0xC2, 0x64, 0xFF}}}, + {{{92, -58, 73},0, {0, 0},{0xCB, 0xC2, 0x61, 0xFF}}}, + {{{24, -80, 74},0, {0, 0},{0xE1, 0x13, 0x7A, 0xFF}}}, + {{{12, -57, 34},0, {0, 0},{0x84, 0xFB, 0x1D, 0xFF}}}, + {{{3, -83, 48},0, {0, 0},{0x82, 0xC, 0xB, 0xFF}}}, + {{{11, -115, 63},0, {0, 0},{0xBF, 0xA5, 0x3D, 0xFF}}}, + {{{11, -115, -62},0, {0, 0},{0xC0, 0xA5, 0xC3, 0xFF}}}, + {{{11, -115, -62},0, {0, 0},{0xC0, 0xA5, 0xC3, 0xFF}}}, + {{{24, -80, -73},0, {0, 0},{0xE2, 0x12, 0x86, 0xFF}}}, + {{{52, -110, -51},0, {0, 0},{0x42, 0x9B, 0xD9, 0xFF}}}, + {{{3, -83, -47},0, {0, 0},{0x82, 0xC, 0xF6, 0xFF}}}, + {{{20, -111, -30},0, {0, 0},{0xD5, 0x9C, 0x42, 0xFF}}}, + {{{28, -80, 0},0, {0, 0},{0xA8, 0xA4, 0x0, 0xFF}}}, + {{{12, -57, -34},0, {0, 0},{0x85, 0xFB, 0xE2, 0xFF}}}, + {{{58, -49, -64},0, {0, 0},{0xD0, 0xC1, 0x9C, 0xFF}}}, +}; + +const Gfx luigi_l_logo_dl[] = { + gsSPVertex(luigi_l_logo_dl_vertex + 0, 7, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 0, 2, 0), + gsSP1Triangle(4, 0, 3, 0), + gsSP1Triangle(5, 4, 3, 0), + gsSP1Triangle(6, 4, 5, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_eyes_cap_on_dl[] = { + gsSPVertex(luigi_eyes_cap_on_dl_vertex + 0, 12, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 2, 3, 0), + gsSP1Triangle(3, 2, 4, 0), + gsSP1Triangle(5, 0, 3, 0), + gsSP1Triangle(5, 6, 0, 0), + gsSP1Triangle(5, 7, 6, 0), + gsSP1Triangle(8, 7, 5, 0), + gsSP1Triangle(8, 5, 3, 0), + gsSP1Triangle(6, 7, 9, 0), + gsSP1Triangle(10, 9, 7, 0), + gsSP1Triangle(6, 9, 11, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_hair_sideburn_cap_on_dl[] = { + gsSPVertex(luigi_hair_sideburn_cap_on_dl_vertex + 0, 12, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 0, 2, 0), + gsSP1Triangle(3, 4, 0, 0), + gsSP1Triangle(4, 5, 0, 0), + gsSP1Triangle(6, 7, 8, 0), + gsSP1Triangle(6, 9, 7, 0), + gsSP1Triangle(10, 9, 6, 0), + gsSP1Triangle(11, 10, 6, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_mustache_cap_on_dl[] = { + gsSPVertex(luigi_mustache_cap_on_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 3, 2, 0), + gsSP1Triangle(4, 3, 1, 0), + gsSP1Triangle(3, 4, 5, 0), + gsSP1Triangle(4, 6, 5, 0), + gsSP1Triangle(3, 5, 7, 0), + gsSP1Triangle(3, 7, 8, 0), + gsSP1Triangle(8, 2, 3, 0), + gsSP1Triangle(9, 10, 11, 0), + gsSP1Triangle(12, 10, 9, 0), + gsSP1Triangle(9, 13, 12, 0), + gsSP1Triangle(13, 14, 12, 0), + gsSP1Triangle(15, 14, 13, 0), + gsSPVertex(luigi_mustache_cap_on_dl_vertex + 16, 5, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 0, 3, 0), + gsSP1Triangle(1, 3, 4, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_face_part_cap_on_dl[] = { + gsSPVertex(luigi_face_part_cap_on_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 0, 3, 0), + gsSP1Triangle(3, 0, 4, 0), + gsSP1Triangle(5, 4, 0, 0), + gsSP1Triangle(6, 3, 4, 0), + gsSP1Triangle(7, 8, 9, 0), + gsSP1Triangle(10, 8, 7, 0), + gsSP1Triangle(7, 11, 10, 0), + gsSP1Triangle(10, 12, 8, 0), + gsSP1Triangle(13, 12, 10, 0), + gsSP1Triangle(14, 5, 15, 0), + gsSPVertex(luigi_face_part_cap_on_dl_vertex + 16, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(2, 1, 3, 0), + gsSP1Triangle(3, 1, 4, 0), + gsSP1Triangle(4, 1, 5, 0), + gsSP1Triangle(6, 4, 5, 0), + gsSP1Triangle(7, 6, 5, 0), + gsSP1Triangle(7, 8, 6, 0), + gsSP1Triangle(4, 6, 8, 0), + gsSP1Triangle(3, 4, 8, 0), + gsSP1Triangle(0, 2, 9, 0), + gsSP1Triangle(9, 2, 10, 0), + gsSP1Triangle(10, 2, 11, 0), + gsSP1Triangle(9, 10, 12, 0), + gsSP1Triangle(13, 12, 10, 0), + gsSP1Triangle(13, 10, 14, 0), + gsSP1Triangle(14, 15, 13, 0), + gsSPVertex(luigi_face_part_cap_on_dl_vertex + 32, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 3, 2, 0), + gsSP1Triangle(4, 3, 1, 0), + gsSP1Triangle(3, 4, 5, 0), + gsSP1Triangle(5, 2, 3, 0), + gsSP1Triangle(2, 5, 6, 0), + gsSP1Triangle(6, 7, 8, 0), + gsSP1Triangle(9, 10, 8, 0), + gsSP1Triangle(11, 10, 9, 0), + gsSP1Triangle(11, 9, 12, 0), + gsSP1Triangle(13, 10, 11, 0), + gsSP1Triangle(14, 15, 12, 0), + gsSPVertex(luigi_face_part_cap_on_dl_vertex + 48, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 3, 2, 0), + gsSP1Triangle(2, 3, 4, 0), + gsSP1Triangle(3, 5, 4, 0), + gsSP1Triangle(5, 3, 6, 0), + gsSP1Triangle(6, 7, 5, 0), + gsSP1Triangle(8, 7, 6, 0), + gsSP1Triangle(9, 7, 8, 0), + gsSP1Triangle(7, 9, 10, 0), + gsSP1Triangle(9, 11, 10, 0), + gsSP1Triangle(10, 11, 12, 0), + gsSP1Triangle(11, 13, 12, 0), + gsSP1Triangle(13, 11, 14, 0), + gsSP1Triangle(14, 0, 13, 0), + gsSP1Triangle(15, 0, 14, 0), + gsSPVertex(luigi_face_part_cap_on_dl_vertex + 64, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 3, 2, 0), + gsSP1Triangle(4, 3, 1, 0), + gsSP1Triangle(5, 3, 4, 0), + gsSP1Triangle(5, 4, 6, 0), + gsSP1Triangle(5, 6, 7, 0), + gsSP1Triangle(8, 7, 6, 0), + gsSP1Triangle(9, 8, 6, 0), + gsSP1Triangle(9, 10, 8, 0), + gsSP1Triangle(10, 11, 8, 0), + gsSP1Triangle(11, 10, 12, 0), + gsSP1Triangle(13, 11, 12, 0), + gsSP1Triangle(13, 12, 14, 0), + gsSP1Triangle(15, 13, 14, 0), + gsSP1Triangle(14, 2, 15, 0), + gsSP1Triangle(14, 0, 2, 0), + gsSPVertex(luigi_face_part_cap_on_dl_vertex + 80, 10, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(2, 1, 3, 0), + gsSP1Triangle(2, 3, 4, 0), + gsSP1Triangle(2, 4, 5, 0), + gsSP1Triangle(6, 2, 5, 0), + gsSP1Triangle(7, 6, 5, 0), + gsSP1Triangle(7, 8, 6, 0), + gsSP1Triangle(9, 6, 8, 0), + gsSP1Triangle(9, 0, 6, 0), + gsSP1Triangle(6, 0, 2, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_face_cap_dl[] = { + gsSPVertex(luigi_face_cap_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 3, 2, 0), + gsSP1Triangle(4, 2, 3, 0), + gsSP1Triangle(4, 3, 5, 0), + gsSP1Triangle(5, 6, 4, 0), + gsSP1Triangle(4, 6, 7, 0), + gsSP1Triangle(6, 8, 7, 0), + gsSP1Triangle(6, 9, 8, 0), + gsSP1Triangle(9, 10, 8, 0), + gsSP1Triangle(9, 11, 10, 0), + gsSP1Triangle(10, 11, 12, 0), + gsSP1Triangle(10, 12, 13, 0), + gsSP1Triangle(12, 14, 13, 0), + gsSP1Triangle(13, 14, 15, 0), + gsSPVertex(luigi_face_cap_dl_vertex + 16, 15, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 0, 3, 0), + gsSP1Triangle(3, 4, 1, 0), + gsSP1Triangle(3, 5, 4, 0), + gsSP1Triangle(6, 4, 5, 0), + gsSP1Triangle(6, 7, 4, 0), + gsSP1Triangle(7, 6, 8, 0), + gsSP1Triangle(9, 7, 8, 0), + gsSP1Triangle(9, 8, 10, 0), + gsSP1Triangle(9, 10, 11, 0), + gsSP1Triangle(12, 9, 11, 0), + gsSP1Triangle(13, 12, 11, 0), + gsSP1Triangle(12, 13, 14, 0), + gsSP1Triangle(14, 13, 2, 0), + gsSP1Triangle(2, 1, 14, 0), + gsSP1Triangle(1, 7, 14, 0), + gsSP1Triangle(4, 7, 1, 0), + gsSP1Triangle(7, 9, 14, 0), + gsSP1Triangle(12, 14, 9, 0), + gsSPVertex(luigi_face_cap_dl_vertex + 31, 9, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 3, 1, 0), + gsSP1Triangle(4, 3, 0, 0), + gsSP1Triangle(4, 0, 2, 0), + gsSP1Triangle(4, 2, 5, 0), + gsSP1Triangle(4, 5, 6, 0), + gsSP1Triangle(7, 6, 5, 0), + gsSP1Triangle(6, 7, 8, 0), + gsSP1Triangle(4, 6, 8, 0), + gsSP1Triangle(3, 4, 8, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_face_back_hair_cap_on_dl[] = { + gsSPVertex(luigi_face_back_hair_cap_on_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(2, 1, 3, 0), + gsSP1Triangle(1, 4, 3, 0), + gsSP1Triangle(1, 5, 4, 0), + gsSP1Triangle(6, 5, 1, 0), + gsSP1Triangle(6, 7, 5, 0), + gsSP1Triangle(6, 8, 7, 0), + gsSP1Triangle(9, 8, 6, 0), + gsSP1Triangle(9, 6, 10, 0), + gsSP1Triangle(9, 11, 8, 0), + gsSP1Triangle(12, 11, 9, 0), + gsSP1Triangle(12, 13, 11, 0), + gsSP1Triangle(13, 12, 5, 0), + gsSP1Triangle(7, 13, 5, 0), + gsSP1Triangle(13, 7, 14, 0), + gsSP1Triangle(7, 8, 14, 0), + gsSP1Triangle(8, 11, 14, 0), + gsSP1Triangle(11, 13, 14, 0), + gsSP1Triangle(15, 3, 4, 0), + gsSPVertex(luigi_face_back_hair_cap_on_dl_vertex + 16, 8, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 3, 1, 0), + gsSP1Triangle(0, 4, 3, 0), + gsSP1Triangle(3, 4, 5, 0), + gsSP1Triangle(6, 3, 5, 0), + gsSP1Triangle(6, 1, 3, 0), + gsSP1Triangle(6, 7, 1, 0), + gsSP1Triangle(7, 2, 1, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_face_cap_on_dl[] = { + gsSPDisplayList(luigi_face_part_cap_on_dl), + gsSPCopyLightEXT(1, 5), // gsSPLight(&luigi_green_lights_group.l, 1), + gsSPCopyLightEXT(2, 6), // gsSPLight(&luigi_green_lights_group.a, 2), + gsSPDisplayList(luigi_face_cap_dl), + gsSPLight(&luigi_brown2_lights_group.l, 1), + gsSPLight(&luigi_brown2_lights_group.a, 2), + gsSPDisplayList(luigi_face_back_hair_cap_on_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_cap_on_eyes_front[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_l_logo), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_front), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPLight(&luigi_beige_lights_group.l, 1), + gsSPLight(&luigi_beige_lights_group.a, 2), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_cap_on_eyes_half_closed[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_l_logo), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_half_closed), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPLight(&luigi_beige_lights_group.l, 1), + gsSPLight(&luigi_beige_lights_group.a, 2), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_cap_on_eyes_closed[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_l_logo), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_closed), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPLight(&luigi_beige_lights_group.l, 1), + gsSPLight(&luigi_beige_lights_group.a, 2), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_cap_on_eyes_right[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_l_logo), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_right), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPLight(&luigi_beige_lights_group.l, 1), + gsSPLight(&luigi_beige_lights_group.a, 2), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_cap_on_eyes_left[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_l_logo), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_left), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPLight(&luigi_beige_lights_group.l, 1), + gsSPLight(&luigi_beige_lights_group.a, 2), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_cap_on_eyes_up[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_l_logo), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_up), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPLight(&luigi_beige_lights_group.l, 1), + gsSPLight(&luigi_beige_lights_group.a, 2), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_cap_on_eyes_down[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_l_logo), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_down), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPLight(&luigi_beige_lights_group.l, 1), + gsSPLight(&luigi_beige_lights_group.a, 2), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_cap_on_eyes_dead[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_l_logo), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_dead), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPLight(&luigi_beige_lights_group.l, 1), + gsSPLight(&luigi_beige_lights_group.a, 2), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_metal_cap_on_shared_dl[] = { + gsSPDisplayList(luigi_l_logo_dl), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPDisplayList(luigi_face_part_cap_on_dl), + gsSPDisplayList(luigi_face_cap_dl), + gsSPDisplayList(luigi_face_back_hair_cap_on_dl), + gsSPEndDisplayList(), +}; + +static const Vtx luigi_eyes_cap_off_dl_vertex[12] = { + {{{167, 84, 26},0, {754, 64},{0x1C, 0x74, 0x2C, 0xFF}}}, + {{{136, 74, 55},0, {1054, 362},{0x1B, 0x5A, 0x55, 0xFF}}}, + {{{147, 30, 77},0, {1290, 192},{0x0, 0x33, 0x74, 0xFF}}}, + {{{78, 90, 20},0, {704, 984},{0x46, 0x41, 0x54, 0xFF}}}, + {{{136, 93, 0},0, {480, 426},{0xB, 0x7F, 0x0, 0xFF}}}, + {{{167, 84, -26},0, {194, 72},{0x1C, 0x74, 0xD3, 0xFF}}}, + {{{78, 90, -20},0, {272, 992},{0x43, 0x42, 0xAA, 0xFF}}}, + {{{136, 74, -54},0, {-94, 378},{0x1A, 0x5A, 0xAA, 0xFF}}}, + {{{147, 30, -76},0, {-334, 216},{0xF9, 0x31, 0x8B, 0xFF}}}, + {{{94, 76, -56},0, {-108, 832},{0x13, 0x63, 0xB3, 0xFF}}}, + {{{94, 76, 57},0, {1084, 812},{0x13, 0x64, 0x4D, 0xFF}}}, + {{{89, 92, 0},0, {488, 928},{0x5C, 0x58, 0x0, 0xFF}}}, +}; + +static const Vtx luigi_hair_sideburn_cap_off_dl_vertex[12] = { + {{{89, 43, 77},0, {-49, 678},{0x7, 0x29, 0x78, 0xFF}}}, + {{{122, -10, 92},0, {890, 135},{0x4, 0xF, 0x7E, 0xFF}}}, + {{{147, 30, 77},0, {93, -96},{0x0, 0x33, 0x74, 0xFF}}}, + {{{78, -26, 92},0, {1308, 629},{0x3, 0x59, 0x5A, 0xFF}}}, + {{{34, -5, 84},0, {935, 1165},{0xBD, 0xFA, 0x6C, 0xFF}}}, + {{{34, 35, 79},0, {185, 1281},{0xD4, 0x1C, 0x74, 0xFF}}}, + {{{89, 43, -76},0, {-20, 677},{0x7, 0x29, 0x88, 0xFF}}}, + {{{147, 30, -76},0, {146, -91},{0xF9, 0x31, 0x8B, 0xFF}}}, + {{{122, -10, -91},0, {903, 197},{0x4, 0xF, 0x82, 0xFF}}}, + {{{78, -26, -91},0, {1236, 633},{0x3, 0x5A, 0xA6, 0xFF}}}, + {{{34, -5, -83},0, {873, 1170},{0xBE, 0xFA, 0x93, 0xFF}}}, + {{{34, 34, -78},0, {177, 1280},{0xD5, 0x1B, 0x8B, 0xFF}}}, +}; + +static const Vtx luigi_mustache_cap_off_dl_vertex[21] = { + {{{78, 90, -20},0, {340, 44},{0x43, 0x42, 0xAA, 0xFF}}}, + {{{67, 77, -67},0, {920, -16},{0x8, 0x56, 0xA3, 0xFF}}}, + {{{58, 93, -26},0, {400, 416},{0x11, 0x24, 0x87, 0xFF}}}, + {{{36, 79, -58},0, {768, 512},{0xD3, 0x57, 0xAF, 0xFF}}}, + {{{34, 34, -78},0, {1224, 264},{0xD5, 0x1B, 0x8B, 0xFF}}}, + {{{-7, 40, -43},0, {724, 1084},{0x94, 0x15, 0xC1, 0xFF}}}, + {{{14, 83, -24},0, {316, 1000},{0xAD, 0x5B, 0xE1, 0xFF}}}, + {{{36, 94, -26},0, {316, 696},{0xBB, 0x2E, 0x9F, 0xFF}}}, + {{{24, 91, 0},0, {28, 980},{0x8B, 0x32, 0x0, 0xFF}}}, + {{{78, 90, 20},0, {332, -12},{0x46, 0x41, 0x54, 0xFF}}}, + {{{58, 93, 28},0, {404, 416},{0x12, 0x23, 0x79, 0xFF}}}, + {{{67, 77, 68},0, {932, -28},{0x7, 0x57, 0x5D, 0xFF}}}, + {{{36, 79, 57},0, {764, 512},{0xD2, 0x57, 0x50, 0xFF}}}, + {{{36, 94, 26},0, {332, 672},{0xB6, 0x29, 0x5F, 0xFF}}}, + {{{14, 83, 24},0, {344, 992},{0xAD, 0x5B, 0x1F, 0xFF}}}, + {{{24, 91, 0},0, {40, 940},{0x8B, 0x32, 0x0, 0xFF}}}, + {{{36, 79, 57},0, {764, 512},{0xD2, 0x57, 0x50, 0xFF}}}, + {{{14, 83, 24},0, {344, 992},{0xAD, 0x5B, 0x1F, 0xFF}}}, + {{{-7, 40, 43},0, {768, 1112},{0x93, 0x15, 0x3E, 0xFF}}}, + {{{34, 35, 79},0, {1260, 292},{0xD4, 0x1C, 0x74, 0xFF}}}, + {{{67, 77, 68},0, {932, -28},{0x7, 0x57, 0x5D, 0xFF}}}, +}; + +static const Vtx luigi_face_part_cap_off_dl_vertex[88] = { + {{{34, 34, -78},0, {0, 0},{0xD5, 0x1B, 0x8B, 0xFF}}}, + {{{67, 77, -67},0, {0, 0},{0x8, 0x56, 0xA3, 0xFF}}}, + {{{89, 43, -76},0, {0, 0},{0x7, 0x29, 0x88, 0xFF}}}, + {{{94, 76, -56},0, {0, 0},{0x13, 0x63, 0xB3, 0xFF}}}, + {{{78, 90, -20},0, {0, 0},{0x43, 0x42, 0xAA, 0xFF}}}, + {{{136, 74, -54},0, {0, 0},{0x1A, 0x5A, 0xAA, 0xFF}}}, + {{{147, 30, -76},0, {0, 0},{0xF9, 0x31, 0x8B, 0xFF}}}, + {{{14, 83, -24},0, {0, 0},{0xAD, 0x5B, 0xE1, 0xFF}}}, + {{{14, 83, 24},0, {0, 0},{0xAD, 0x5B, 0x1F, 0xFF}}}, + {{{24, 91, 0},0, {0, 0},{0x8B, 0x32, 0x0, 0xFF}}}, + {{{-18, 46, 0},0, {0, 0},{0x84, 0x1B, 0x0, 0xFF}}}, + {{{-7, 40, -43},0, {0, 0},{0x94, 0x15, 0xC1, 0xFF}}}, + {{{12, -58, -34},0, {0, 0},{0x85, 0xFB, 0xE1, 0xFF}}}, + {{{34, -5, -83},0, {0, 0},{0xBE, 0xFA, 0x93, 0xFF}}}, + {{{58, -49, -64},0, {0, 0},{0xD0, 0xC2, 0x9C, 0xFF}}}, + {{{56, -29, -116},0, {0, 0},{0xD0, 0x7, 0x8B, 0xFF}}}, + {{{56, -29, -116},0, {0, 0},{0xD0, 0x7, 0x8B, 0xFF}}}, + {{{34, -5, -83},0, {0, 0},{0xBE, 0xFA, 0x93, 0xFF}}}, + {{{78, -26, -91},0, {0, 0},{0x3, 0x5A, 0xA6, 0xFF}}}, + {{{95, -37, -116},0, {0, 0},{0x26, 0xEF, 0x88, 0xFF}}}, + {{{122, -10, -91},0, {0, 0},{0x4, 0xF, 0x82, 0xFF}}}, + {{{92, -59, -72},0, {0, 0},{0xE7, 0xB6, 0x9C, 0xFF}}}, + {{{58, -49, -64},0, {0, 0},{0xD0, 0xC2, 0x9C, 0xFF}}}, + {{{67, 77, 68},0, {0, 0},{0x7, 0x57, 0x5D, 0xFF}}}, + {{{94, 76, 57},0, {0, 0},{0x13, 0x64, 0x4D, 0xFF}}}, + {{{78, 90, 20},0, {0, 0},{0x46, 0x41, 0x54, 0xFF}}}, + {{{89, 43, 77},0, {0, 0},{0x7, 0x29, 0x78, 0xFF}}}, + {{{34, 35, 79},0, {0, 0},{0xD4, 0x1C, 0x74, 0xFF}}}, + {{{136, 74, 55},0, {0, 0},{0x1B, 0x5A, 0x55, 0xFF}}}, + {{{147, 30, 77},0, {0, 0},{0x0, 0x33, 0x74, 0xFF}}}, + {{{14, 83, 24},0, {0, 0},{0xAD, 0x5B, 0x1F, 0xFF}}}, + {{{-18, 46, 0},0, {0, 0},{0x84, 0x1B, 0x0, 0xFF}}}, + {{{-7, 40, 43},0, {0, 0},{0x93, 0x15, 0x3E, 0xFF}}}, + {{{12, -58, 35},0, {0, 0},{0x84, 0xFB, 0x1D, 0xFF}}}, + {{{12, -58, -34},0, {0, 0},{0x85, 0xFB, 0xE1, 0xFF}}}, + {{{28, -80, 0},0, {0, 0},{0xA8, 0xA4, 0x0, 0xFF}}}, + {{{34, -5, 84},0, {0, 0},{0xBD, 0xFA, 0x6C, 0xFF}}}, + {{{34, 35, 79},0, {0, 0},{0xD4, 0x1C, 0x74, 0xFF}}}, + {{{58, -49, 66},0, {0, 0},{0xD0, 0xC2, 0x64, 0xFF}}}, + {{{56, -29, 116},0, {0, 0},{0xD0, 0x6, 0x76, 0xFF}}}, + {{{92, -59, 74},0, {0, 0},{0xE7, 0xB5, 0x64, 0xFF}}}, + {{{95, -37, 116},0, {0, 0},{0x25, 0xEE, 0x78, 0xFF}}}, + {{{122, -10, 92},0, {0, 0},{0x4, 0xF, 0x7E, 0xFF}}}, + {{{78, -26, 92},0, {0, 0},{0x3, 0x59, 0x5A, 0xFF}}}, + {{{78, 90, -20},0, {0, 0},{0x43, 0x42, 0xAA, 0xFF}}}, + {{{97, 113, 0},0, {0, 0},{0x7D, 0xE8, 0xFF, 0xFF}}}, + {{{89, 92, 0},0, {0, 0},{0x5C, 0x58, 0x0, 0xFF}}}, + {{{82, 112, -35},0, {0, 0},{0x4C, 0xDD, 0xA0, 0xFF}}}, + {{{58, 93, -26},0, {0, 0},{0x11, 0x24, 0x87, 0xFF}}}, + {{{58, 112, -40},0, {0, 0},{0x1, 0xDA, 0x87, 0xFF}}}, + {{{29, 112, -35},0, {0, 0},{0xB1, 0xE3, 0xA1, 0xFF}}}, + {{{36, 94, -26},0, {0, 0},{0xBB, 0x2E, 0x9F, 0xFF}}}, + {{{15, 112, 0},0, {0, 0},{0x84, 0xE6, 0xFE, 0xFF}}}, + {{{24, 91, 0},0, {0, 0},{0x8B, 0x32, 0x0, 0xFF}}}, + {{{36, 94, 26},0, {0, 0},{0xB6, 0x29, 0x5F, 0xFF}}}, + {{{29, 112, 36},0, {0, 0},{0xB2, 0xE0, 0x5F, 0xFF}}}, + {{{58, 93, 28},0, {0, 0},{0x12, 0x23, 0x79, 0xFF}}}, + {{{58, 112, 41},0, {0, 0},{0x1, 0xDA, 0x79, 0xFF}}}, + {{{82, 112, 36},0, {0, 0},{0x4C, 0xDC, 0x5F, 0xFF}}}, + {{{78, 90, 20},0, {0, 0},{0x46, 0x41, 0x54, 0xFF}}}, + {{{82, 112, 36},0, {0, 0},{0x4C, 0xDC, 0x5F, 0xFF}}}, + {{{97, 113, 0},0, {0, 0},{0x7D, 0xE8, 0xFF, 0xFF}}}, + {{{83, 141, 36},0, {0, 0},{0x47, 0x3B, 0x57, 0xFF}}}, + {{{97, 141, 0},0, {0, 0},{0x75, 0x31, 0xFF, 0xFF}}}, + {{{82, 112, -35},0, {0, 0},{0x4C, 0xDD, 0xA0, 0xFF}}}, + {{{83, 141, -35},0, {0, 0},{0x48, 0x3A, 0xA8, 0xFF}}}, + {{{58, 112, -40},0, {0, 0},{0x1, 0xDA, 0x87, 0xFF}}}, + {{{58, 141, -40},0, {0, 0},{0x0, 0x42, 0x93, 0xFF}}}, + {{{32, 141, -35},0, {0, 0},{0xBF, 0x3F, 0xA7, 0xFF}}}, + {{{29, 112, -35},0, {0, 0},{0xB1, 0xE3, 0xA1, 0xFF}}}, + {{{15, 112, 0},0, {0, 0},{0x84, 0xE6, 0xFE, 0xFF}}}, + {{{15, 141, 0},0, {0, 0},{0x8D, 0x35, 0xFE, 0xFF}}}, + {{{29, 112, 36},0, {0, 0},{0xB2, 0xE0, 0x5F, 0xFF}}}, + {{{32, 141, 36},0, {0, 0},{0xC0, 0x40, 0x59, 0xFF}}}, + {{{58, 112, 41},0, {0, 0},{0x1, 0xDA, 0x79, 0xFF}}}, + {{{58, 141, 41},0, {0, 0},{0x0, 0x43, 0x6C, 0xFF}}}, + {{{83, 141, 36},0, {0, 0},{0x47, 0x3B, 0x57, 0xFF}}}, + {{{77, 158, 0},0, {0, 0},{0x25, 0x7A, 0x0, 0xFF}}}, + {{{58, 141, 41},0, {0, 0},{0x0, 0x43, 0x6C, 0xFF}}}, + {{{97, 141, 0},0, {0, 0},{0x75, 0x31, 0xFF, 0xFF}}}, + {{{83, 141, -35},0, {0, 0},{0x48, 0x3A, 0xA8, 0xFF}}}, + {{{58, 141, -40},0, {0, 0},{0x0, 0x42, 0x93, 0xFF}}}, + {{{36, 156, 0},0, {0, 0},{0xDB, 0x7A, 0x0, 0xFF}}}, + {{{32, 141, -35},0, {0, 0},{0xBF, 0x3F, 0xA7, 0xFF}}}, + {{{15, 141, 0},0, {0, 0},{0x8D, 0x35, 0xFE, 0xFF}}}, + {{{32, 141, 36},0, {0, 0},{0xC0, 0x40, 0x59, 0xFF}}}, +}; + +static const Vtx luigi_face_hair_cap_off_dl_vertex[92] = { + {{{167, 84, 26},0, {0, 0},{0xD8, 0x6A, 0x39, 0xFF}}}, + {{{146, 66, 53},0, {0, 0},{0xDD, 0x5A, 0x53, 0xFF}}}, + {{{193, 71, 67},0, {0, 0},{0x1C, 0x50, 0x5F, 0xFF}}}, + {{{147, 30, 77},0, {0, 0},{0x0, 0x33, 0x74, 0xFF}}}, + {{{176, -9, 93},0, {0, 0},{0x2A, 0x0, 0x78, 0xFF}}}, + {{{122, -10, 92},0, {0, 0},{0x4, 0xF, 0x7E, 0xFF}}}, + {{{140, -79, 84},0, {0, 0},{0x3, 0xCD, 0x74, 0xFF}}}, + {{{92, -59, 74},0, {0, 0},{0xE7, 0xB5, 0x64, 0xFF}}}, + {{{66, -99, 43},0, {0, 0},{0x0, 0x8C, 0x33, 0xFF}}}, + {{{58, -49, 66},0, {0, 0},{0xD0, 0xC2, 0x64, 0xFF}}}, + {{{52, -110, 53},0, {0, 0},{0x42, 0x9C, 0x2A, 0xFF}}}, + {{{24, -80, 75},0, {0, 0},{0xE2, 0x12, 0x7A, 0xFF}}}, + {{{12, -58, 35},0, {0, 0},{0x84, 0xFB, 0x1D, 0xFF}}}, + {{{2, -84, 48},0, {0, 0},{0x82, 0xC, 0xB, 0xFF}}}, + {{{28, -80, 0},0, {0, 0},{0xA8, 0xA4, 0x0, 0xFF}}}, + {{{20, -112, 30},0, {0, 0},{0xD5, 0x9D, 0xBD, 0xFF}}}, + {{{66, -99, 43},0, {0, 0},{0x0, 0x8C, 0x33, 0xFF}}}, + {{{28, -80, 0},0, {0, 0},{0xA8, 0xA4, 0x0, 0xFF}}}, + {{{66, -99, -43},0, {0, 0},{0xFF, 0x8C, 0xCB, 0xFF}}}, + {{{20, -112, -30},0, {0, 0},{0xD6, 0x9D, 0x43, 0xFF}}}, + {{{2, -84, -47},0, {0, 0},{0x82, 0xB, 0xF6, 0xFF}}}, + {{{12, -58, -34},0, {0, 0},{0x85, 0xFB, 0xE1, 0xFF}}}, + {{{24, -81, -74},0, {0, 0},{0xE3, 0x12, 0x86, 0xFF}}}, + {{{58, -49, -64},0, {0, 0},{0xD0, 0xC2, 0x9C, 0xFF}}}, + {{{52, -110, -52},0, {0, 0},{0x42, 0x9B, 0xD7, 0xFF}}}, + {{{92, -59, -72},0, {0, 0},{0xE7, 0xB6, 0x9C, 0xFF}}}, + {{{140, -81, -83},0, {0, 0},{0x2, 0xCD, 0x8C, 0xFF}}}, + {{{122, -10, -91},0, {0, 0},{0x4, 0xF, 0x82, 0xFF}}}, + {{{176, -9, -92},0, {0, 0},{0x2A, 0xFE, 0x88, 0xFF}}}, + {{{147, 30, -76},0, {0, 0},{0xF9, 0x31, 0x8B, 0xFF}}}, + {{{193, 66, -78},0, {0, 0},{0x1B, 0x3C, 0x93, 0xFF}}}, + {{{146, 66, -52},0, {0, 0},{0xD5, 0x5B, 0xB3, 0xFF}}}, + {{{167, 84, -26},0, {0, 0},{0xC2, 0x5E, 0xC5, 0xFF}}}, + {{{193, 66, -78},0, {0, 0},{0x1B, 0x3C, 0x93, 0xFF}}}, + {{{146, 66, -52},0, {0, 0},{0xD5, 0x5B, 0xB3, 0xFF}}}, + {{{204, 86, -58},0, {0, 0},{0x1B, 0x4B, 0x9D, 0xFF}}}, + {{{194, 118, -10},0, {0, 0},{0xF6, 0x7F, 0x0, 0xFF}}}, + {{{155, 87, 0},0, {0, 0},{0xB2, 0x64, 0x4, 0xFF}}}, + {{{167, 84, 26},0, {0, 0},{0xD8, 0x6A, 0x39, 0xFF}}}, + {{{201, 81, 48},0, {0, 0},{0x2B, 0x60, 0x47, 0xFF}}}, + {{{193, 71, 67},0, {0, 0},{0x1C, 0x50, 0x5F, 0xFF}}}, + {{{218, 33, 60},0, {0, 0},{0x68, 0xA, 0x48, 0xFF}}}, + {{{176, -9, 93},0, {0, 0},{0x2A, 0x0, 0x78, 0xFF}}}, + {{{218, -14, 47},0, {0, 0},{0x6F, 0xEC, 0x3B, 0xFF}}}, + {{{183, -97, 58},0, {0, 0},{0x47, 0xB3, 0x47, 0xFF}}}, + {{{140, -79, 84},0, {0, 0},{0x3, 0xCD, 0x74, 0xFF}}}, + {{{114, -120, 54},0, {0, 0},{0xED, 0x96, 0x44, 0xFF}}}, + {{{66, -99, 43},0, {0, 0},{0x0, 0x8C, 0x33, 0xFF}}}, + {{{66, -99, 43},0, {0, 0},{0x0, 0x8C, 0x33, 0xFF}}}, + {{{116, -128, 0},0, {0, 0},{0xF2, 0x82, 0xFF, 0xFF}}}, + {{{114, -120, 54},0, {0, 0},{0xED, 0x96, 0x44, 0xFF}}}, + {{{66, -99, -43},0, {0, 0},{0xFF, 0x8C, 0xCB, 0xFF}}}, + {{{114, -118, -54},0, {0, 0},{0xEE, 0x97, 0xBB, 0xFF}}}, + {{{140, -81, -83},0, {0, 0},{0x2, 0xCD, 0x8C, 0xFF}}}, + {{{183, -97, -57},0, {0, 0},{0x47, 0xB3, 0xB8, 0xFF}}}, + {{{176, -9, -92},0, {0, 0},{0x2A, 0xFE, 0x88, 0xFF}}}, + {{{218, -14, -46},0, {0, 0},{0x6E, 0xF0, 0xC3, 0xFF}}}, + {{{214, 33, -58},0, {0, 0},{0x6D, 0x2, 0xBE, 0xFF}}}, + {{{193, 66, -78},0, {0, 0},{0x1B, 0x3C, 0x93, 0xFF}}}, + {{{204, 86, -58},0, {0, 0},{0x1B, 0x4B, 0x9D, 0xFF}}}, + {{{223, 66, -26},0, {0, 0},{0x73, 0xE7, 0xD0, 0xFF}}}, + {{{238, 99, -35},0, {0, 0},{0x6A, 0x34, 0xD0, 0xFF}}}, + {{{194, 118, -10},0, {0, 0},{0xF6, 0x7F, 0x0, 0xFF}}}, + {{{201, 81, 48},0, {0, 0},{0x2B, 0x60, 0x47, 0xFF}}}, + {{{201, 81, 48},0, {0, 0},{0x2B, 0x60, 0x47, 0xFF}}}, + {{{222, 77, 26},0, {0, 0},{0x68, 0x35, 0x32, 0xFF}}}, + {{{238, 99, -35},0, {0, 0},{0x6A, 0x34, 0xD0, 0xFF}}}, + {{{218, 33, 60},0, {0, 0},{0x68, 0xA, 0x48, 0xFF}}}, + {{{229, 61, 0},0, {0, 0},{0x7F, 0xFB, 0x5, 0xFF}}}, + {{{218, -14, 47},0, {0, 0},{0x6F, 0xEC, 0x3B, 0xFF}}}, + {{{232, -33, 0},0, {0, 0},{0x7C, 0xE4, 0x0, 0xFF}}}, + {{{183, -97, 58},0, {0, 0},{0x47, 0xB3, 0x47, 0xFF}}}, + {{{193, -112, 0},0, {0, 0},{0x50, 0x9D, 0x0, 0xFF}}}, + {{{114, -120, 54},0, {0, 0},{0xED, 0x96, 0x44, 0xFF}}}, + {{{116, -128, 0},0, {0, 0},{0xF2, 0x82, 0xFF, 0xFF}}}, + {{{114, -118, -54},0, {0, 0},{0xEE, 0x97, 0xBB, 0xFF}}}, + {{{183, -97, -57},0, {0, 0},{0x47, 0xB3, 0xB8, 0xFF}}}, + {{{218, -14, -46},0, {0, 0},{0x6E, 0xF0, 0xC3, 0xFF}}}, + {{{214, 33, -58},0, {0, 0},{0x6D, 0x2, 0xBE, 0xFF}}}, + {{{223, 66, -26},0, {0, 0},{0x73, 0xE7, 0xD0, 0xFF}}}, + {{{66, -99, -43},0, {0, 0},{0xFF, 0x8C, 0xCB, 0xFF}}}, + {{{20, -112, -30},0, {0, 0},{0xD6, 0x9D, 0x43, 0xFF}}}, + {{{52, -110, -52},0, {0, 0},{0x42, 0x9B, 0xD7, 0xFF}}}, + {{{10, -116, -62},0, {0, 0},{0xC0, 0xA4, 0xC4, 0xFF}}}, + {{{2, -84, -47},0, {0, 0},{0x82, 0xB, 0xF6, 0xFF}}}, + {{{24, -81, -74},0, {0, 0},{0xE3, 0x12, 0x86, 0xFF}}}, + {{{66, -99, 43},0, {0, 0},{0x0, 0x8C, 0x33, 0xFF}}}, + {{{52, -110, 53},0, {0, 0},{0x42, 0x9C, 0x2A, 0xFF}}}, + {{{20, -112, 30},0, {0, 0},{0xD5, 0x9D, 0xBD, 0xFF}}}, + {{{10, -116, 63},0, {0, 0},{0xC0, 0xA4, 0x3C, 0xFF}}}, + {{{24, -80, 75},0, {0, 0},{0xE2, 0x12, 0x7A, 0xFF}}}, + {{{2, -84, 48},0, {0, 0},{0x82, 0xC, 0xB, 0xFF}}}, +}; + +const Gfx luigi_eyes_cap_off_dl[] = { + gsSPVertex(luigi_eyes_cap_off_dl_vertex + 0, 12, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 3, 1, 0), + gsSP1Triangle(4, 3, 0, 0), + gsSP1Triangle(4, 0, 5, 0), + gsSP1Triangle(4, 5, 6, 0), + gsSP1Triangle(5, 7, 6, 0), + gsSP1Triangle(5, 8, 7, 0), + gsSP1Triangle(6, 7, 9, 0), + gsSP1Triangle(10, 1, 3, 0), + gsSP1Triangle(11, 4, 6, 0), + gsSP1Triangle(11, 3, 4, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_mustache_cap_off_dl[] = { + gsSPVertex(luigi_mustache_cap_off_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(2, 1, 3, 0), + gsSP1Triangle(4, 3, 1, 0), + gsSP1Triangle(3, 4, 5, 0), + gsSP1Triangle(3, 5, 6, 0), + gsSP1Triangle(3, 6, 7, 0), + gsSP1Triangle(7, 6, 8, 0), + gsSP1Triangle(7, 2, 3, 0), + gsSP1Triangle(9, 10, 11, 0), + gsSP1Triangle(10, 12, 11, 0), + gsSP1Triangle(13, 12, 10, 0), + gsSP1Triangle(12, 13, 14, 0), + gsSP1Triangle(13, 15, 14, 0), + gsSPVertex(luigi_mustache_cap_off_dl_vertex + 16, 5, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 2, 3, 0), + gsSP1Triangle(3, 4, 0, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_hair_sideburn_cap_off_dl[] = { + gsSPVertex(luigi_hair_sideburn_cap_off_dl_vertex + 0, 12, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 3, 1, 0), + gsSP1Triangle(4, 3, 0, 0), + gsSP1Triangle(5, 4, 0, 0), + gsSP1Triangle(6, 7, 8, 0), + gsSP1Triangle(9, 6, 8, 0), + gsSP1Triangle(9, 10, 6, 0), + gsSP1Triangle(10, 11, 6, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_face_part_cap_off_dl[] = { + gsSPVertex(luigi_face_part_cap_off_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 2, 1, 0), + gsSP1Triangle(4, 3, 1, 0), + gsSP1Triangle(5, 2, 3, 0), + gsSP1Triangle(2, 5, 6, 0), + gsSP1Triangle(7, 8, 9, 0), + gsSP1Triangle(7, 10, 8, 0), + gsSP1Triangle(11, 10, 7, 0), + gsSP1Triangle(11, 12, 10, 0), + gsSP1Triangle(11, 13, 12, 0), + gsSP1Triangle(11, 0, 13, 0), + gsSP1Triangle(12, 13, 14, 0), + gsSP1Triangle(14, 13, 15, 0), + gsSPVertex(luigi_face_part_cap_off_dl_vertex + 16, 14, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 0, 2, 0), + gsSP1Triangle(4, 3, 2, 0), + gsSP1Triangle(4, 5, 3, 0), + gsSP1Triangle(0, 3, 5, 0), + gsSP1Triangle(6, 0, 5, 0), + gsSP1Triangle(7, 8, 9, 0), + gsSP1Triangle(10, 8, 7, 0), + gsSP1Triangle(7, 11, 10, 0), + gsSP1Triangle(10, 12, 8, 0), + gsSP1Triangle(13, 12, 10, 0), + gsSPVertex(luigi_face_part_cap_off_dl_vertex + 30, 14, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 3, 2, 0), + gsSP1Triangle(1, 4, 3, 0), + gsSP1Triangle(3, 4, 5, 0), + gsSP1Triangle(6, 2, 3, 0), + gsSP1Triangle(6, 7, 2, 0), + gsSP1Triangle(6, 3, 8, 0), + gsSP1Triangle(8, 9, 6, 0), + gsSP1Triangle(8, 10, 9, 0), + gsSP1Triangle(10, 11, 9, 0), + gsSP1Triangle(12, 11, 10, 0), + gsSP1Triangle(11, 12, 13, 0), + gsSP1Triangle(13, 9, 11, 0), + gsSP1Triangle(9, 13, 6, 0), + gsSPVertex(luigi_face_part_cap_off_dl_vertex + 44, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 0, 3, 0), + gsSP1Triangle(0, 4, 3, 0), + gsSP1Triangle(3, 4, 5, 0), + gsSP1Triangle(4, 6, 5, 0), + gsSP1Triangle(6, 4, 7, 0), + gsSP1Triangle(7, 8, 6, 0), + gsSP1Triangle(9, 8, 7, 0), + gsSP1Triangle(10, 8, 9, 0), + gsSP1Triangle(8, 10, 11, 0), + gsSP1Triangle(10, 12, 11, 0), + gsSP1Triangle(11, 12, 13, 0), + gsSP1Triangle(12, 14, 13, 0), + gsSP1Triangle(14, 12, 15, 0), + gsSP1Triangle(15, 1, 14, 0), + gsSP1Triangle(2, 1, 15, 0), + gsSPVertex(luigi_face_part_cap_off_dl_vertex + 60, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 3, 2, 0), + gsSP1Triangle(3, 1, 4, 0), + gsSP1Triangle(5, 3, 4, 0), + gsSP1Triangle(5, 4, 6, 0), + gsSP1Triangle(7, 5, 6, 0), + gsSP1Triangle(6, 8, 7, 0), + gsSP1Triangle(6, 9, 8, 0), + gsSP1Triangle(9, 10, 8, 0), + gsSP1Triangle(10, 11, 8, 0), + gsSP1Triangle(12, 11, 10, 0), + gsSP1Triangle(13, 11, 12, 0), + gsSP1Triangle(13, 12, 14, 0), + gsSP1Triangle(13, 14, 15, 0), + gsSP1Triangle(2, 15, 14, 0), + gsSP1Triangle(0, 2, 14, 0), + gsSPVertex(luigi_face_part_cap_off_dl_vertex + 76, 10, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 3, 1, 0), + gsSP1Triangle(4, 1, 3, 0), + gsSP1Triangle(4, 5, 1, 0), + gsSP1Triangle(1, 5, 6, 0), + gsSP1Triangle(5, 7, 6, 0), + gsSP1Triangle(6, 7, 8, 0), + gsSP1Triangle(6, 8, 9, 0), + gsSP1Triangle(6, 9, 2, 0), + gsSP1Triangle(1, 6, 2, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_face_hair_cap_off_dl[] = { + gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 2, 1, 0), + gsSP1Triangle(3, 4, 2, 0), + gsSP1Triangle(3, 5, 4, 0), + gsSP1Triangle(6, 4, 5, 0), + gsSP1Triangle(7, 6, 5, 0), + gsSP1Triangle(8, 6, 7, 0), + gsSP1Triangle(9, 8, 7, 0), + gsSP1Triangle(9, 10, 8, 0), + gsSP1Triangle(9, 11, 10, 0), + gsSP1Triangle(12, 11, 9, 0), + gsSP1Triangle(12, 13, 11, 0), + gsSP1Triangle(13, 12, 14, 0), + gsSP1Triangle(15, 13, 14, 0), + gsSP1Triangle(8, 15, 14, 0), + gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 16, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(2, 1, 3, 0), + gsSP1Triangle(4, 3, 1, 0), + gsSP1Triangle(5, 4, 1, 0), + gsSP1Triangle(5, 6, 4, 0), + gsSP1Triangle(5, 7, 6, 0), + gsSP1Triangle(7, 8, 6, 0), + gsSP1Triangle(7, 2, 8, 0), + gsSP1Triangle(9, 2, 7, 0), + gsSP1Triangle(9, 10, 2, 0), + gsSP1Triangle(10, 9, 11, 0), + gsSP1Triangle(12, 10, 11, 0), + gsSP1Triangle(11, 13, 12, 0), + gsSP1Triangle(13, 14, 12, 0), + gsSP1Triangle(14, 13, 15, 0), + gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 32, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 0, 3, 0), + gsSP1Triangle(3, 0, 4, 0), + gsSP1Triangle(0, 5, 4, 0), + gsSP1Triangle(4, 5, 6, 0), + gsSP1Triangle(7, 4, 6, 0), + gsSP1Triangle(6, 8, 7, 0), + gsSP1Triangle(8, 9, 7, 0), + gsSP1Triangle(10, 9, 8, 0), + gsSP1Triangle(9, 10, 11, 0), + gsSP1Triangle(11, 10, 12, 0), + gsSP1Triangle(13, 12, 10, 0), + gsSP1Triangle(13, 14, 12, 0), + gsSP1Triangle(15, 14, 13, 0), + gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 48, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 3, 1, 0), + gsSP1Triangle(3, 4, 1, 0), + gsSP1Triangle(5, 4, 3, 0), + gsSP1Triangle(6, 4, 5, 0), + gsSP1Triangle(7, 6, 5, 0), + gsSP1Triangle(6, 7, 8, 0), + gsSP1Triangle(8, 7, 9, 0), + gsSP1Triangle(10, 9, 7, 0), + gsSP1Triangle(9, 10, 11, 0), + gsSP1Triangle(9, 11, 12, 0), + gsSP1Triangle(12, 11, 13, 0), + gsSP1Triangle(11, 14, 13, 0), + gsSP1Triangle(14, 15, 13, 0), + gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 64, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 1, 0, 0), + gsSP1Triangle(3, 4, 1, 0), + gsSP1Triangle(4, 3, 5, 0), + gsSP1Triangle(5, 6, 4, 0), + gsSP1Triangle(6, 5, 7, 0), + gsSP1Triangle(8, 6, 7, 0), + gsSP1Triangle(8, 7, 9, 0), + gsSP1Triangle(10, 8, 9, 0), + gsSP1Triangle(10, 11, 8, 0), + gsSP1Triangle(11, 12, 8, 0), + gsSP1Triangle(8, 12, 6, 0), + gsSP1Triangle(12, 13, 6, 0), + gsSP1Triangle(13, 4, 6, 0), + gsSP1Triangle(13, 14, 4, 0), + gsSP1Triangle(14, 15, 4, 0), + gsSP1Triangle(4, 15, 2, 0), + gsSP1Triangle(4, 2, 1, 0), + gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 80, 12, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 2, 1, 0), + gsSP1Triangle(3, 1, 4, 0), + gsSP1Triangle(3, 4, 5, 0), + gsSP1Triangle(3, 5, 2, 0), + gsSP1Triangle(6, 7, 8, 0), + gsSP1Triangle(8, 7, 9, 0), + gsSP1Triangle(7, 10, 9, 0), + gsSP1Triangle(10, 11, 9, 0), + gsSP1Triangle(11, 8, 9, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_face_cap_off_dl[] = { + gsSPDisplayList(luigi_face_part_cap_off_dl), + gsSPLight(&luigi_brown2_lights_group.l, 1), + gsSPLight(&luigi_brown2_lights_group.a, 2), + 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)), + gsSPLight(&luigi_beige_lights_group.l, 1), + gsSPLight(&luigi_beige_lights_group.a, 2), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_cap_off_eyes_half_closed[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_half_closed), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPLight(&luigi_beige_lights_group.l, 1), + gsSPLight(&luigi_beige_lights_group.a, 2), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_cap_off_eyes_closed[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_closed), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPLight(&luigi_beige_lights_group.l, 1), + gsSPLight(&luigi_beige_lights_group.a, 2), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_cap_off_eyes_right[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_right), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPLight(&luigi_beige_lights_group.l, 1), + gsSPLight(&luigi_beige_lights_group.a, 2), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_cap_off_eyes_left[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_left), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPLight(&luigi_beige_lights_group.l, 1), + gsSPLight(&luigi_beige_lights_group.a, 2), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_cap_off_eyes_up[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_up), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPLight(&luigi_beige_lights_group.l, 1), + gsSPLight(&luigi_beige_lights_group.a, 2), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_cap_off_eyes_down[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_down), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPLight(&luigi_beige_lights_group.l, 1), + gsSPLight(&luigi_beige_lights_group.a, 2), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_cap_off_eyes_dead[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_dead), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPLight(&luigi_beige_lights_group.l, 1), + gsSPLight(&luigi_beige_lights_group.a, 2), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_metal_cap_off_shared_dl[] = { + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsSPDisplayList(luigi_face_part_cap_off_dl), + gsSPDisplayList(luigi_face_hair_cap_off_dl), + gsSPEndDisplayList(), +}; + +static const Vtx luigi_left_hand_open_shared_dl_vertex[56] = { + {{{120, 76, -15},0, {0, 0},{0x4D, 0x5F, 0x22, 0xFF}}}, + {{{69, 92, -14},0, {0, 0},{0xF0, 0x7E, 0xF9, 0xFF}}}, + {{{76, 44, 27},0, {0, 0},{0x14, 0x28, 0x77, 0xFF}}}, + {{{118, 73, -36},0, {0, 0},{0x32, 0x41, 0x9F, 0xFF}}}, + {{{140, 37, -1},0, {0, 0},{0x74, 0xF8, 0x34, 0xFF}}}, + {{{82, -14, 16},0, {0, 0},{0x43, 0xC1, 0x58, 0xFF}}}, + {{{25, 19, 34},0, {0, 0},{0xDE, 0xD, 0x7A, 0xFF}}}, + {{{5, 56, -3},0, {0, 0},{0xAC, 0x5D, 0x17, 0xFF}}}, + {{{25, 44, -35},0, {0, 0},{0xF5, 0x41, 0x93, 0xFF}}}, + {{{77, 62, -28},0, {0, 0},{0xF6, 0x16, 0x83, 0xFF}}}, + {{{132, 31, -34},0, {0, 0},{0x50, 0xD8, 0xA6, 0xFF}}}, + {{{88, -3, -21},0, {0, 0},{0x65, 0xE3, 0xB8, 0xFF}}}, + {{{88, -44, -31},0, {0, 0},{0x4B, 0xA4, 0xD4, 0xFF}}}, + {{{44, -31, 16},0, {0, 0},{0xFF, 0x9F, 0x52, 0xFF}}}, + {{{25, -29, 12},0, {0, 0},{0x37, 0xA8, 0x49, 0xFF}}}, + {{{10, 8, 23},0, {0, 0},{0x5, 0x1B, 0x7C, 0xFF}}}, + {{{-4, 38, -3},0, {0, 0},{0xCE, 0x72, 0x18, 0xFF}}}, + {{{10, 8, 23},0, {0, 0},{0x5, 0x1B, 0x7C, 0xFF}}}, + {{{25, 19, 34},0, {0, 0},{0xDE, 0xD, 0x7A, 0xFF}}}, + {{{5, 56, -3},0, {0, 0},{0xAC, 0x5D, 0x17, 0xFF}}}, + {{{10, 32, -46},0, {0, 0},{0xDB, 0x1E, 0x8A, 0xFF}}}, + {{{25, 44, -35},0, {0, 0},{0xF5, 0x41, 0x93, 0xFF}}}, + {{{24, 2, -38},0, {0, 0},{0xE0, 0xE3, 0x89, 0xFF}}}, + {{{75, -15, -42},0, {0, 0},{0x2D, 0x3, 0x89, 0xFF}}}, + {{{68, 13, -30},0, {0, 0},{0x33, 0x1D, 0x8F, 0xFF}}}, + {{{77, 62, -28},0, {0, 0},{0xF6, 0x16, 0x83, 0xFF}}}, + {{{88, -3, -21},0, {0, 0},{0x65, 0xE3, 0xB8, 0xFF}}}, + {{{132, 31, -34},0, {0, 0},{0x50, 0xD8, 0xA6, 0xFF}}}, + {{{88, -44, -31},0, {0, 0},{0x4B, 0xA4, 0xD4, 0xFF}}}, + {{{40, -34, -30},0, {0, 0},{0xD8, 0x9D, 0xBB, 0xFF}}}, + {{{44, -31, 16},0, {0, 0},{0xFF, 0x9F, 0x52, 0xFF}}}, + {{{25, -29, 12},0, {0, 0},{0x37, 0xA8, 0x49, 0xFF}}}, + {{{25, -29, 12},0, {0, 0},{0x37, 0xA8, 0x49, 0xFF}}}, + {{{19, -24, -21},0, {0, 0},{0x10, 0xB2, 0x9D, 0xFF}}}, + {{{40, -34, -30},0, {0, 0},{0xD8, 0x9D, 0xBB, 0xFF}}}, + {{{12, -36, -25},0, {0, 0},{0x13, 0xA4, 0xAB, 0xFF}}}, + {{{19, -43, 18},0, {0, 0},{0x27, 0x99, 0x40, 0xFF}}}, + {{{1, 6, 32},0, {0, 0},{0xF9, 0x19, 0x7C, 0xFF}}}, + {{{10, 8, 23},0, {0, 0},{0x5, 0x1B, 0x7C, 0xFF}}}, + {{{-4, 38, -3},0, {0, 0},{0xCE, 0x72, 0x18, 0xFF}}}, + {{{-18, 43, -2},0, {0, 0},{0xC4, 0x6F, 0xC, 0xFF}}}, + {{{-11, 17, -37},0, {0, 0},{0xD7, 0x23, 0x8D, 0xFF}}}, + {{{0, 18, -31},0, {0, 0},{0xE1, 0x1C, 0x88, 0xFF}}}, + {{{10, 32, -46},0, {0, 0},{0xDB, 0x1E, 0x8A, 0xFF}}}, + {{{24, 2, -38},0, {0, 0},{0xE0, 0xE3, 0x89, 0xFF}}}, + {{{75, -15, -42},0, {0, 0},{0x2D, 0x3, 0x89, 0xFF}}}, + {{{0, -30, -17},0, {0, 0},{0x9F, 0xB3, 0xE2, 0xFF}}}, + {{{5, -35, 13},0, {0, 0},{0xA7, 0xB0, 0x2A, 0xFF}}}, + {{{1, 6, 32},0, {0, 0},{0xF9, 0x19, 0x7C, 0xFF}}}, + {{{-7, 0, 23},0, {0, 0},{0x97, 0xE2, 0x42, 0xFF}}}, + {{{5, -35, 13},0, {0, 0},{0xA7, 0xB0, 0x2A, 0xFF}}}, + {{{-21, 25, -1},0, {0, 0},{0x83, 0x0, 0x16, 0xFF}}}, + {{{-18, 43, -2},0, {0, 0},{0xC4, 0x6F, 0xC, 0xFF}}}, + {{{-11, 17, -37},0, {0, 0},{0xD7, 0x23, 0x8D, 0xFF}}}, + {{{-16, 7, -26},0, {0, 0},{0x8D, 0xDE, 0xD6, 0xFF}}}, + {{{0, -30, -17},0, {0, 0},{0x9F, 0xB3, 0xE2, 0xFF}}}, +}; + +const Gfx luigi_left_hand_open_shared_dl[] = { + gsSPVertex(luigi_left_hand_open_shared_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 0, 3, 0), + gsSP1Triangle(0, 4, 3, 0), + gsSP1Triangle(4, 0, 2, 0), + gsSP1Triangle(5, 4, 2, 0), + gsSP1Triangle(5, 2, 6, 0), + gsSP1Triangle(6, 2, 1, 0), + gsSP1Triangle(6, 1, 7, 0), + gsSP1Triangle(8, 7, 1, 0), + gsSP1Triangle(1, 9, 8, 0), + gsSP1Triangle(3, 9, 1, 0), + gsSP1Triangle(9, 3, 10, 0), + gsSP1Triangle(3, 4, 10, 0), + gsSP1Triangle(10, 4, 5, 0), + gsSP1Triangle(11, 10, 5, 0), + gsSP1Triangle(12, 11, 5, 0), + gsSP1Triangle(12, 5, 13, 0), + gsSP1Triangle(13, 5, 6, 0), + gsSP1Triangle(14, 13, 6, 0), + gsSP1Triangle(6, 15, 14, 0), + gsSPVertex(luigi_left_hand_open_shared_dl_vertex + 16, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 2, 3, 0), + gsSP1Triangle(0, 3, 4, 0), + gsSP1Triangle(3, 5, 4, 0), + gsSP1Triangle(6, 4, 5, 0), + gsSP1Triangle(7, 6, 5, 0), + gsSP1Triangle(7, 5, 8, 0), + gsSP1Triangle(5, 9, 8, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSP1Triangle(9, 11, 10, 0), + gsSP1Triangle(7, 8, 10, 0), + gsSP1Triangle(7, 10, 12, 0), + gsSP1Triangle(12, 13, 7, 0), + gsSP1Triangle(14, 13, 12, 0), + gsSP1Triangle(15, 13, 14, 0), + gsSPVertex(luigi_left_hand_open_shared_dl_vertex + 32, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 1, 0, 0), + gsSP1Triangle(0, 4, 3, 0), + gsSP1Triangle(5, 4, 0, 0), + gsSP1Triangle(0, 6, 5, 0), + gsSP1Triangle(5, 6, 7, 0), + gsSP1Triangle(7, 8, 5, 0), + gsSP1Triangle(9, 8, 7, 0), + gsSP1Triangle(7, 10, 9, 0), + gsSP1Triangle(11, 10, 7, 0), + gsSP1Triangle(10, 11, 12, 0), + gsSP1Triangle(1, 10, 12, 0), + gsSP1Triangle(1, 12, 2, 0), + gsSP1Triangle(2, 12, 13, 0), + gsSP1Triangle(9, 10, 1, 0), + gsSP1Triangle(1, 3, 9, 0), + gsSP1Triangle(3, 14, 9, 0), + gsSP1Triangle(15, 14, 3, 0), + gsSP1Triangle(4, 15, 3, 0), + gsSP1Triangle(5, 15, 4, 0), + gsSPVertex(luigi_left_hand_open_shared_dl_vertex + 48, 8, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 1, 0, 0), + gsSP1Triangle(4, 3, 0, 0), + gsSP1Triangle(5, 3, 4, 0), + gsSP1Triangle(5, 6, 3, 0), + gsSP1Triangle(7, 6, 5, 0), + gsSP1Triangle(1, 6, 7, 0), + gsSP1Triangle(7, 2, 1, 0), + gsSP1Triangle(1, 3, 6, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_left_hand_open[] = { + gsSPLight(&luigi_white_lights_group.l, 1), + gsSPLight(&luigi_white_lights_group.a, 2), + gsSPDisplayList(luigi_left_hand_open_shared_dl), + gsSPEndDisplayList(), +}; + +static const Vtx luigi_right_hand_open_dl_vertex[60] = { + {{{135, 31, 25},0, {0, 0},{0x52, 0xDE, 0x5B, 0xFF}}}, + {{{123, 72, 24},0, {0, 0},{0x39, 0x46, 0x5A, 0xFF}}}, + {{{83, 62, 19},0, {0, 0},{0xFD, 0x21, 0x7B, 0xFF}}}, + {{{142, 34, -7},0, {0, 0},{0x73, 0xF0, 0xCC, 0xFF}}}, + {{{85, -16, -19},0, {0, 0},{0x3E, 0xB9, 0xAB, 0xFF}}}, + {{{92, -2, 16},0, {0, 0},{0x68, 0xE6, 0x45, 0xFF}}}, + {{{74, 14, 26},0, {0, 0},{0x3D, 0x24, 0x6A, 0xFF}}}, + {{{33, 46, 30},0, {0, 0},{0xFD, 0x4A, 0x67, 0xFF}}}, + {{{75, 91, 3},0, {0, 0},{0xF3, 0x7E, 0xFF, 0xFF}}}, + {{{124, 74, 3},0, {0, 0},{0x4E, 0x5A, 0xD4, 0xFF}}}, + {{{80, 40, -34},0, {0, 0},{0x10, 0x1D, 0x85, 0xFF}}}, + {{{29, 16, -36},0, {0, 0},{0xD7, 0x3, 0x88, 0xFF}}}, + {{{47, -32, -15},0, {0, 0},{0xF7, 0x99, 0xB6, 0xFF}}}, + {{{92, -42, 30},0, {0, 0},{0x4C, 0xA7, 0x30, 0xFF}}}, + {{{80, -12, 39},0, {0, 0},{0x35, 0xB, 0x73, 0xFF}}}, + {{{31, 5, 37},0, {0, 0},{0xE3, 0xEE, 0x7A, 0xFF}}}, + {{{33, 46, 30},0, {0, 0},{0xFD, 0x4A, 0x67, 0xFF}}}, + {{{19, 36, 42},0, {0, 0},{0xE2, 0x2A, 0x74, 0xFF}}}, + {{{31, 5, 37},0, {0, 0},{0xE3, 0xEE, 0x7A, 0xFF}}}, + {{{12, 56, -1},0, {0, 0},{0xAE, 0x5E, 0xE7, 0xFF}}}, + {{{75, 91, 3},0, {0, 0},{0xF3, 0x7E, 0xFF, 0xFF}}}, + {{{29, 16, -36},0, {0, 0},{0xD7, 0x3, 0x88, 0xFF}}}, + {{{80, 40, -34},0, {0, 0},{0x10, 0x1D, 0x85, 0xFF}}}, + {{{124, 74, 3},0, {0, 0},{0x4E, 0x5A, 0xD4, 0xFF}}}, + {{{2, 39, 0},0, {0, 0},{0xD7, 0x74, 0xE1, 0xFF}}}, + {{{15, 7, -23},0, {0, 0},{0x0, 0x11, 0x82, 0xFF}}}, + {{{29, -29, -10},0, {0, 0},{0x37, 0xA3, 0xBD, 0xFF}}}, + {{{47, -32, -15},0, {0, 0},{0xF7, 0x99, 0xB6, 0xFF}}}, + {{{45, -32, 31},0, {0, 0},{0xD8, 0xA4, 0x4E, 0xFF}}}, + {{{92, -42, 30},0, {0, 0},{0x4C, 0xA7, 0x30, 0xFF}}}, + {{{80, -12, 39},0, {0, 0},{0x35, 0xB, 0x73, 0xFF}}}, + {{{25, -21, 22},0, {0, 0},{0xD, 0xBA, 0x69, 0xFF}}}, + {{{31, 5, 37},0, {0, 0},{0xE3, 0xEE, 0x7A, 0xFF}}}, + {{{8, 21, 29},0, {0, 0},{0xEA, 0x28, 0x77, 0xFF}}}, + {{{25, -21, 22},0, {0, 0},{0xD, 0xBA, 0x69, 0xFF}}}, + {{{19, 36, 42},0, {0, 0},{0xE2, 0x2A, 0x74, 0xFF}}}, + {{{2, 39, 0},0, {0, 0},{0xD7, 0x74, 0xE1, 0xFF}}}, + {{{12, 56, -1},0, {0, 0},{0xAE, 0x5E, 0xE7, 0xFF}}}, + {{{-2, 21, 36},0, {0, 0},{0xE1, 0x2F, 0x72, 0xFF}}}, + {{{18, -33, 27},0, {0, 0},{0x16, 0xA9, 0x5A, 0xFF}}}, + {{{6, -27, 20},0, {0, 0},{0x9E, 0xBA, 0x2A, 0xFF}}}, + {{{-8, 10, 26},0, {0, 0},{0x8D, 0xE7, 0x31, 0xFF}}}, + {{{-13, 26, 0},0, {0, 0},{0x82, 0x0, 0xF0, 0xFF}}}, + {{{-10, 44, -1},0, {0, 0},{0xC7, 0x70, 0xEC, 0xFF}}}, + {{{6, 4, -32},0, {0, 0},{0xF2, 0xD, 0x82, 0xFF}}}, + {{{15, 7, -23},0, {0, 0},{0x0, 0x11, 0x82, 0xFF}}}, + {{{29, -29, -10},0, {0, 0},{0x37, 0xA3, 0xBD, 0xFF}}}, + {{{24, -43, -15},0, {0, 0},{0x28, 0x96, 0xC6, 0xFF}}}, + {{{45, -32, 31},0, {0, 0},{0xD8, 0xA4, 0x4E, 0xFF}}}, + {{{25, -21, 22},0, {0, 0},{0xD, 0xBA, 0x69, 0xFF}}}, + {{{29, -29, -10},0, {0, 0},{0x37, 0xA3, 0xBD, 0xFF}}}, + {{{18, -33, 27},0, {0, 0},{0x16, 0xA9, 0x5A, 0xFF}}}, + {{{10, -35, -9},0, {0, 0},{0xA4, 0xAD, 0xE3, 0xFF}}}, + {{{24, -43, -15},0, {0, 0},{0x28, 0x96, 0xC6, 0xFF}}}, + {{{6, -27, 20},0, {0, 0},{0x9E, 0xBA, 0x2A, 0xFF}}}, + {{{-1, -1, -21},0, {0, 0},{0x91, 0xDE, 0xCC, 0xFF}}}, + {{{-8, 10, 26},0, {0, 0},{0x8D, 0xE7, 0x31, 0xFF}}}, + {{{-13, 26, 0},0, {0, 0},{0x82, 0x0, 0xF0, 0xFF}}}, + {{{6, 4, -32},0, {0, 0},{0xF2, 0xD, 0x82, 0xFF}}}, + {{{-10, 44, -1},0, {0, 0},{0xC7, 0x70, 0xEC, 0xFF}}}, +}; + +const Gfx luigi_right_hand_open_dl[] = { + gsSPVertex(luigi_right_hand_open_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 3, 1, 0), + gsSP1Triangle(4, 3, 0, 0), + gsSP1Triangle(4, 0, 5, 0), + gsSP1Triangle(5, 0, 2, 0), + gsSP1Triangle(5, 2, 6, 0), + gsSP1Triangle(6, 2, 7, 0), + gsSP1Triangle(7, 2, 8, 0), + gsSP1Triangle(8, 2, 1, 0), + gsSP1Triangle(1, 9, 8, 0), + gsSP1Triangle(1, 3, 9, 0), + gsSP1Triangle(10, 9, 3, 0), + gsSP1Triangle(10, 3, 4, 0), + gsSP1Triangle(11, 10, 4, 0), + gsSP1Triangle(11, 4, 12, 0), + gsSP1Triangle(12, 4, 13, 0), + gsSP1Triangle(4, 5, 13, 0), + gsSP1Triangle(13, 5, 14, 0), + gsSP1Triangle(5, 6, 14, 0), + gsSP1Triangle(6, 7, 14, 0), + gsSP1Triangle(7, 15, 14, 0), + gsSPVertex(luigi_right_hand_open_dl_vertex + 16, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 0, 3, 0), + gsSP1Triangle(4, 3, 0, 0), + gsSP1Triangle(3, 4, 5, 0), + gsSP1Triangle(4, 6, 5, 0), + gsSP1Triangle(6, 4, 7, 0), + gsSP1Triangle(3, 5, 8, 0), + gsSP1Triangle(5, 9, 8, 0), + gsSP1Triangle(10, 9, 5, 0), + gsSP1Triangle(5, 11, 10, 0), + gsSP1Triangle(11, 12, 10, 0), + gsSP1Triangle(13, 12, 11, 0), + gsSP1Triangle(14, 12, 13, 0), + gsSP1Triangle(14, 2, 12, 0), + gsSP1Triangle(12, 2, 15, 0), + gsSPVertex(luigi_right_hand_open_dl_vertex + 32, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 3, 1, 0), + gsSP1Triangle(4, 1, 3, 0), + gsSP1Triangle(3, 5, 4, 0), + gsSP1Triangle(6, 1, 4, 0), + gsSP1Triangle(2, 1, 6, 0), + gsSP1Triangle(6, 7, 2, 0), + gsSP1Triangle(6, 8, 7, 0), + gsSP1Triangle(6, 9, 8, 0), + gsSP1Triangle(10, 9, 6, 0), + gsSP1Triangle(11, 10, 6, 0), + gsSP1Triangle(4, 11, 6, 0), + gsSP1Triangle(12, 11, 4, 0), + gsSP1Triangle(4, 13, 12, 0), + gsSP1Triangle(12, 13, 14, 0), + gsSP1Triangle(14, 15, 12, 0), + gsSP1Triangle(7, 15, 14, 0), + gsSP1Triangle(14, 2, 7, 0), + gsSPVertex(luigi_right_hand_open_dl_vertex + 48, 12, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 4, 5, 0), + gsSP1Triangle(3, 6, 4, 0), + gsSP1Triangle(7, 4, 6, 0), + gsSP1Triangle(6, 8, 7, 0), + gsSP1Triangle(8, 9, 7, 0), + gsSP1Triangle(10, 7, 9, 0), + gsSP1Triangle(10, 9, 11, 0), + gsSP1Triangle(4, 7, 10, 0), + gsSP1Triangle(5, 4, 10, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_right_hand_open[] = { + gsSPLight(&luigi_white_lights_group.l, 1), + gsSPLight(&luigi_white_lights_group.a, 2), + gsSPDisplayList(luigi_right_hand_open_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_metal_right_hand_open[] = { + gsSPDisplayList(luigi_right_hand_open_dl), + gsDPPipeSync(), + gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), + gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), + gsSPEndDisplayList(), +}; + +static const Vtx luigi_right_hand_cap_l_logo_dl_vertex[5] = { + {{{125, -18, -40},0, {466, -5},{0xDA, 0xD, 0x87, 0xFF}}}, + {{{86, 7, 39},0, {735, 920},{0xD8, 0x46, 0x9E, 0xFF}}}, + {{{135, 34, -7},0, {1085, 268},{0xE1, 0x5F, 0xB1, 0xFF}}}, + {{{80, -45, 36},0, {161, 905},{0xC8, 0xD7, 0x95, 0xFF}}}, + {{{120, -76, -15},0, {-162, 239},{0xCA, 0xBA, 0xA5, 0xFF}}}, +}; + +static const Vtx luigi_right_hand_cap_hand_position_dl_vertex[45] = { + {{{33, 11, -43},0, {0, 0},{0xE8, 0xF6, 0x84, 0xFF}}}, + {{{54, -41, -9},0, {0, 0},{0x7, 0x8C, 0xCD, 0xFF}}}, + {{{30, -37, -7},0, {0, 0},{0x3A, 0x99, 0xD1, 0xFF}}}, + {{{102, -23, -5},0, {0, 0},{0x65, 0xBF, 0xD7, 0xFF}}}, + {{{84, 33, -39},0, {0, 0},{0x44, 0x1D, 0x98, 0xFF}}}, + {{{56, 84, -6},0, {0, 0},{0x17, 0x7A, 0xE4, 0xFF}}}, + {{{8, 63, -9},0, {0, 0},{0xB0, 0x59, 0xD4, 0xFF}}}, + {{{-3, 44, -7},0, {0, 0},{0xD8, 0x6F, 0xD1, 0xFF}}}, + {{{14, 2, -29},0, {0, 0},{0xD, 0xFF, 0x82, 0xFF}}}, + {{{2, 0, -39},0, {0, 0},{0xF0, 0xFC, 0x82, 0xFF}}}, + {{{23, -54, -9},0, {0, 0},{0x1C, 0x89, 0xDC, 0xFF}}}, + {{{12, -36, 36},0, {0, 0},{0xFB, 0xB0, 0x62, 0xFF}}}, + {{{22, -23, 30},0, {0, 0},{0xE, 0xBF, 0x6C, 0xFF}}}, + {{{74, -30, 60},0, {0, 0},{0x19, 0xB2, 0x61, 0xFF}}}, + {{{94, -5, 46},0, {0, 0},{0x67, 0xFB, 0x4A, 0xFF}}}, + {{{95, 41, 18},0, {0, 0},{0x6C, 0x3D, 0x1C, 0xFF}}}, + {{{53, 56, 38},0, {0, 0},{0x16, 0x51, 0x5F, 0xFF}}}, + {{{95, 41, 18},0, {0, 0},{0x6C, 0x3D, 0x1C, 0xFF}}}, + {{{56, 84, -6},0, {0, 0},{0x17, 0x7A, 0xE4, 0xFF}}}, + {{{28, 64, 29},0, {0, 0},{0xD0, 0x59, 0x4D, 0xFF}}}, + {{{8, 63, -9},0, {0, 0},{0xB0, 0x59, 0xD4, 0xFF}}}, + {{{0, 26, 30},0, {0, 0},{0xF5, 0x3D, 0x6F, 0xFF}}}, + {{{-3, 44, -7},0, {0, 0},{0xD8, 0x6F, 0xD1, 0xFF}}}, + {{{-15, 29, 36},0, {0, 0},{0xC6, 0x35, 0x64, 0xFF}}}, + {{{-21, 49, -9},0, {0, 0},{0xBC, 0x66, 0xDD, 0xFF}}}, + {{{2, 0, -39},0, {0, 0},{0xF0, 0xFC, 0x82, 0xFF}}}, + {{{14, 2, -29},0, {0, 0},{0xD, 0xFF, 0x82, 0xFF}}}, + {{{-17, -9, 0},0, {0, 0},{0x8B, 0xD0, 0xF6, 0xFF}}}, + {{{23, -54, -9},0, {0, 0},{0x1C, 0x89, 0xDC, 0xFF}}}, + {{{12, -36, 36},0, {0, 0},{0xFB, 0xB0, 0x62, 0xFF}}}, + {{{22, -23, 30},0, {0, 0},{0xE, 0xBF, 0x6C, 0xFF}}}, + {{{28, 9, 44},0, {0, 0},{0xC0, 0xFA, 0x6E, 0xFF}}}, + {{{74, -30, 60},0, {0, 0},{0x19, 0xB2, 0x61, 0xFF}}}, + {{{28, 9, 44},0, {0, 0},{0xC0, 0xFA, 0x6E, 0xFF}}}, + {{{22, -23, 30},0, {0, 0},{0xE, 0xBF, 0x6C, 0xFF}}}, + {{{55, 13, 60},0, {0, 0},{0xF4, 0x14, 0x7D, 0xFF}}}, + {{{94, -5, 46},0, {0, 0},{0x67, 0xFB, 0x4A, 0xFF}}}, + {{{84, 18, 46},0, {0, 0},{0x43, 0x2E, 0x62, 0xFF}}}, + {{{95, 41, 18},0, {0, 0},{0x6C, 0x3D, 0x1C, 0xFF}}}, + {{{53, 56, 38},0, {0, 0},{0x16, 0x51, 0x5F, 0xFF}}}, + {{{28, 64, 29},0, {0, 0},{0xD0, 0x59, 0x4D, 0xFF}}}, + {{{0, 26, 30},0, {0, 0},{0xF5, 0x3D, 0x6F, 0xFF}}}, + {{{-21, 49, -9},0, {0, 0},{0xBC, 0x66, 0xDD, 0xFF}}}, + {{{-17, -9, 0},0, {0, 0},{0x8B, 0xD0, 0xF6, 0xFF}}}, + {{{-15, 29, 36},0, {0, 0},{0xC6, 0x35, 0x64, 0xFF}}}, +}; + +static const Vtx luigi_right_hand_cap_top_dl_vertex[44] = { + {{{86, 7, 39},0, {0, 0},{0xD8, 0x46, 0x9E, 0xFF}}}, + {{{126, 47, 99},0, {0, 0},{0xA4, 0x4C, 0x2B, 0xFF}}}, + {{{135, 34, -7},0, {0, 0},{0xE1, 0x5F, 0xB1, 0xFF}}}, + {{{49, 39, 49},0, {0, 0},{0xB7, 0x68, 0x3, 0xFF}}}, + {{{17, -10, 28},0, {0, 0},{0x88, 0x10, 0xD8, 0xFF}}}, + {{{80, -45, 36},0, {0, 0},{0xC8, 0xD7, 0x95, 0xFF}}}, + {{{37, -68, 41},0, {0, 0},{0x9F, 0xAE, 0xF6, 0xFF}}}, + {{{107, -105, 86},0, {0, 0},{0x97, 0xBC, 0x17, 0xFF}}}, + {{{120, -76, -15},0, {0, 0},{0xCA, 0xBA, 0xA5, 0xFF}}}, + {{{148, -147, 62},0, {0, 0},{0xF2, 0x87, 0xDC, 0xFF}}}, + {{{189, -62, -11},0, {0, 0},{0x4E, 0xD2, 0xA6, 0xFF}}}, + {{{125, -18, -40},0, {0, 0},{0xDA, 0xD, 0x87, 0xFF}}}, + {{{196, 3, -7},0, {0, 0},{0x58, 0x27, 0xAD, 0xFF}}}, + {{{178, 83, 79},0, {0, 0},{0x11, 0x7D, 0xEE, 0xFF}}}, + {{{154, 47, 139},0, {0, 0},{0xA9, 0x43, 0x40, 0xFF}}}, + {{{197, 66, 147},0, {0, 0},{0x1A, 0x74, 0x2E, 0xFF}}}, + {{{197, 66, 147},0, {0, 0},{0x1A, 0x74, 0x2E, 0xFF}}}, + {{{154, 47, 139},0, {0, 0},{0xA9, 0x43, 0x40, 0xFF}}}, + {{{177, 28, 183},0, {0, 0},{0xBA, 0x39, 0x59, 0xFF}}}, + {{{208, -7, 220},0, {0, 0},{0xF5, 0x25, 0x79, 0xFF}}}, + {{{274, -15, 190},0, {0, 0},{0x74, 0x1D, 0x2C, 0xFF}}}, + {{{263, -94, 184},0, {0, 0},{0x68, 0xC1, 0x25, 0xFF}}}, + {{{198, -91, 214},0, {0, 0},{0xEA, 0xCE, 0x73, 0xFF}}}, + {{{171, -146, 131},0, {0, 0},{0xFD, 0x84, 0x19, 0xFF}}}, + {{{160, -110, 172},0, {0, 0},{0xAB, 0xCC, 0x4F, 0xFF}}}, + {{{135, -115, 126},0, {0, 0},{0x9C, 0xCB, 0x3A, 0xFF}}}, + {{{148, -147, 62},0, {0, 0},{0xF2, 0x87, 0xDC, 0xFF}}}, + {{{107, -105, 86},0, {0, 0},{0x97, 0xBC, 0x17, 0xFF}}}, + {{{224, -105, 113},0, {0, 0},{0x64, 0xBF, 0xD6, 0xFF}}}, + {{{239, 16, 122},0, {0, 0},{0x72, 0x2D, 0xDF, 0xFF}}}, + {{{189, -62, -11},0, {0, 0},{0x4E, 0xD2, 0xA6, 0xFF}}}, + {{{196, 3, -7},0, {0, 0},{0x58, 0x27, 0xAD, 0xFF}}}, + {{{178, 83, 79},0, {0, 0},{0x11, 0x7D, 0xEE, 0xFF}}}, + {{{239, 16, 122},0, {0, 0},{0x72, 0x2D, 0xDF, 0xFF}}}, + {{{196, 3, -7},0, {0, 0},{0x58, 0x27, 0xAD, 0xFF}}}, + {{{197, 66, 147},0, {0, 0},{0x1A, 0x74, 0x2E, 0xFF}}}, + {{{274, -15, 190},0, {0, 0},{0x74, 0x1D, 0x2C, 0xFF}}}, + {{{37, -68, 41},0, {0, 0},{0x9F, 0xAE, 0xF6, 0xFF}}}, + {{{107, -105, 86},0, {0, 0},{0x97, 0xBC, 0x17, 0xFF}}}, + {{{71, -45, 53},0, {0, 0},{0xB9, 0x9, 0x69, 0xFF}}}, + {{{17, -10, 28},0, {0, 0},{0x88, 0x10, 0xD8, 0xFF}}}, + {{{78, 7, 58},0, {0, 0},{0xB9, 0xF8, 0x69, 0xFF}}}, + {{{49, 39, 49},0, {0, 0},{0xB7, 0x68, 0x3, 0xFF}}}, + {{{126, 47, 99},0, {0, 0},{0xA4, 0x4C, 0x2B, 0xFF}}}, +}; + +static const Vtx luigi_right_hand_cap_bottom_dl_vertex[10] = { + {{{71, -45, 53},0, {0, 0},{0xB9, 0x9, 0x69, 0xFF}}}, + {{{107, -105, 86},0, {0, 0},{0x97, 0xBC, 0x17, 0xFF}}}, + {{{135, -115, 126},0, {0, 0},{0x9C, 0xCB, 0x3A, 0xFF}}}, + {{{78, 7, 58},0, {0, 0},{0xB9, 0xF8, 0x69, 0xFF}}}, + {{{126, 47, 99},0, {0, 0},{0xA4, 0x4C, 0x2B, 0xFF}}}, + {{{154, 47, 139},0, {0, 0},{0xA9, 0x43, 0x40, 0xFF}}}, + {{{177, 28, 183},0, {0, 0},{0xBA, 0x39, 0x59, 0xFF}}}, + {{{160, -110, 172},0, {0, 0},{0xAB, 0xCC, 0x4F, 0xFF}}}, + {{{198, -91, 214},0, {0, 0},{0xEA, 0xCE, 0x73, 0xFF}}}, + {{{208, -7, 220},0, {0, 0},{0xF5, 0x25, 0x79, 0xFF}}}, +}; + +const Gfx luigi_right_hand_cap_l_logo_dl[] = { + gsSPVertex(luigi_right_hand_cap_l_logo_dl_vertex + 0, 5, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 1, 0, 0), + gsSP1Triangle(4, 3, 0, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_right_hand_cap_top_dl[] = { + gsSPVertex(luigi_right_hand_cap_top_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 1, 0, 0), + gsSP1Triangle(4, 3, 0, 0), + gsSP1Triangle(4, 0, 5, 0), + gsSP1Triangle(4, 5, 6, 0), + gsSP1Triangle(7, 6, 5, 0), + gsSP1Triangle(7, 5, 8, 0), + gsSP1Triangle(9, 7, 8, 0), + gsSP1Triangle(8, 10, 9, 0), + gsSP1Triangle(10, 8, 11, 0), + gsSP1Triangle(11, 12, 10, 0), + gsSP1Triangle(11, 2, 12, 0), + gsSP1Triangle(13, 12, 2, 0), + gsSP1Triangle(2, 1, 13, 0), + gsSP1Triangle(1, 14, 13, 0), + gsSP1Triangle(15, 13, 14, 0), + gsSPVertex(luigi_right_hand_cap_top_dl_vertex + 16, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(2, 3, 0, 0), + gsSP1Triangle(0, 3, 4, 0), + gsSP1Triangle(4, 3, 5, 0), + gsSP1Triangle(5, 3, 6, 0), + gsSP1Triangle(6, 7, 5, 0), + gsSP1Triangle(6, 8, 7, 0), + gsSP1Triangle(7, 8, 9, 0), + gsSP1Triangle(7, 9, 10, 0), + gsSP1Triangle(9, 11, 10, 0), + gsSP1Triangle(12, 7, 10, 0), + gsSP1Triangle(5, 7, 12, 0), + gsSP1Triangle(5, 12, 4, 0), + gsSP1Triangle(13, 4, 12, 0), + gsSP1Triangle(14, 13, 12, 0), + gsSP1Triangle(10, 14, 12, 0), + gsSP1Triangle(15, 13, 14, 0), + gsSPVertex(luigi_right_hand_cap_top_dl_vertex + 32, 12, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 0, 3, 0), + gsSP1Triangle(4, 1, 3, 0), + gsSP1Triangle(5, 6, 7, 0), + gsSP1Triangle(8, 5, 7, 0), + gsSP1Triangle(9, 8, 7, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSP1Triangle(10, 9, 11, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_right_hand_cap_hand_position_dl[] = { + gsSPVertex(luigi_right_hand_cap_hand_position_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 3, 1, 0), + gsSP1Triangle(0, 4, 3, 0), + gsSP1Triangle(5, 4, 0, 0), + gsSP1Triangle(6, 5, 0, 0), + gsSP1Triangle(6, 0, 7, 0), + gsSP1Triangle(0, 8, 7, 0), + gsSP1Triangle(2, 8, 0, 0), + gsSP1Triangle(9, 8, 2, 0), + gsSP1Triangle(2, 10, 9, 0), + gsSP1Triangle(11, 10, 2, 0), + gsSP1Triangle(2, 12, 11, 0), + gsSP1Triangle(12, 2, 1, 0), + gsSP1Triangle(1, 13, 12, 0), + gsSP1Triangle(1, 3, 13, 0), + gsSP1Triangle(3, 14, 13, 0), + gsSP1Triangle(3, 15, 14, 0), + gsSP1Triangle(4, 15, 3, 0), + gsSP1Triangle(5, 15, 4, 0), + gsSPVertex(luigi_right_hand_cap_hand_position_dl_vertex + 16, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 0, 2, 0), + gsSP1Triangle(2, 4, 3, 0), + gsSP1Triangle(3, 4, 5, 0), + gsSP1Triangle(4, 6, 5, 0), + gsSP1Triangle(7, 5, 6, 0), + gsSP1Triangle(6, 8, 7, 0), + gsSP1Triangle(9, 8, 6, 0), + gsSP1Triangle(6, 10, 9, 0), + gsSP1Triangle(9, 11, 8, 0), + gsSP1Triangle(12, 11, 9, 0), + gsSP1Triangle(13, 11, 12, 0), + gsSP1Triangle(7, 11, 13, 0), + gsSP1Triangle(7, 13, 14, 0), + gsSP1Triangle(14, 5, 7, 0), + gsSP1Triangle(15, 5, 14, 0), + gsSPVertex(luigi_right_hand_cap_hand_position_dl_vertex + 32, 13, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 3, 1, 0), + gsSP1Triangle(0, 4, 3, 0), + gsSP1Triangle(4, 5, 3, 0), + gsSP1Triangle(4, 6, 5, 0), + gsSP1Triangle(6, 7, 5, 0), + gsSP1Triangle(5, 7, 3, 0), + gsSP1Triangle(7, 8, 3, 0), + gsSP1Triangle(8, 1, 3, 0), + gsSP1Triangle(9, 1, 8, 0), + gsSP1Triangle(10, 11, 12, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_right_hand_cap_bottom_dl[] = { + gsSPVertex(luigi_right_hand_cap_bottom_dl_vertex + 0, 10, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 0, 2, 0), + gsSP1Triangle(4, 3, 2, 0), + gsSP1Triangle(5, 4, 2, 0), + gsSP1Triangle(6, 5, 2, 0), + gsSP1Triangle(6, 2, 7, 0), + gsSP1Triangle(6, 7, 8, 0), + gsSP1Triangle(8, 9, 6, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_right_hand_cap_dl[] = { + gsSPDisplayList(luigi_right_hand_cap_top_dl), + gsSPLight(&luigi_white_lights_group.l, 1), + gsSPLight(&luigi_white_lights_group.a, 2), + gsSPDisplayList(luigi_right_hand_cap_hand_position_dl), + gsSPLight(&luigi_brown2_lights_group.l, 1), + gsSPLight(&luigi_brown2_lights_group.a, 2), + gsSPDisplayList(luigi_right_hand_cap_bottom_dl), + gsSPEndDisplayList(), +}; + +static const Vtx luigi_right_hand_cap_wings_half_1_dl_vertex[8] = { + {{{374, 128, 14},0, {990, 16},{0xBF, 0x65, 0xD6, 0xFF}}}, + {{{164, 16, 68},0, {0, 2028},{0xBF, 0x65, 0xD6, 0xFF}}}, + {{{208, 77, 147},0, {990, 2028},{0xBF, 0x65, 0xD6, 0xFF}}}, + {{{330, 68, -64},0, {0, 16},{0xBF, 0x65, 0xD7, 0xFF}}}, + {{{179, -153, 135},0, {990, 2028},{0xAA, 0xB3, 0xCB, 0xFF}}}, + {{{154, -75, 63},0, {0, 2028},{0xAA, 0xB3, 0xCB, 0xFF}}}, + {{{331, -225, -5},0, {990, 16},{0xAA, 0xB3, 0xCB, 0xFF}}}, + {{{304, -147, -75},0, {0, 16},{0xAA, 0xB2, 0xCC, 0xFF}}}, +}; + +static const Vtx luigi_right_hand_cap_wings_half_2_dl_vertex[8] = { + {{{179, -153, 135},0, {0, 2028},{0xAA, 0xB3, 0xCB, 0xFF}}}, + {{{331, -225, -5},0, {0, 16},{0xAA, 0xB3, 0xCB, 0xFF}}}, + {{{359, -305, 66},0, {990, 16},{0xAA, 0xB3, 0xCB, 0xFF}}}, + {{{207, -231, 205},0, {990, 2028},{0xAA, 0xB2, 0xCB, 0xFF}}}, + {{{417, 190, 93},0, {990, 16},{0xBF, 0x65, 0xD5, 0xFF}}}, + {{{374, 128, 14},0, {0, 16},{0xBF, 0x65, 0xD6, 0xFF}}}, + {{{208, 77, 147},0, {0, 2028},{0xBF, 0x65, 0xD6, 0xFF}}}, + {{{252, 139, 225},0, {990, 2028},{0xBF, 0x64, 0xD5, 0xFF}}}, +}; + +const Gfx luigi_right_hand_cap_wings_half_1_dl[] = { + gsSPVertex(luigi_right_hand_cap_wings_half_1_dl_vertex + 0, 8, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 3, 1, 0), + gsSP1Triangle(4, 5, 6, 0), + gsSP1Triangle(5, 7, 6, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_right_hand_cap_wings_half_2_dl[] = { + gsSPVertex(luigi_right_hand_cap_wings_half_2_dl_vertex + 0, 8, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 0, 2, 0), + gsSP1Triangle(4, 5, 6, 0), + gsSP1Triangle(4, 6, 7, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_right_hand_cap_wings_intial_dl[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA), + gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsSPLight(&luigi_white_lights_group.l, 1), + gsSPLight(&luigi_white_lights_group.a, 2), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC), + gsSPEndDisplayList(), +}; + +const Gfx luigi_right_hand_cap_wings_end_dl[] = { + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), + gsSPEndDisplayList(), +}; + +const Gfx luigi_right_hand_cap[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_l_logo), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_right_hand_cap_l_logo_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_right_hand_cap_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_right_hand_cap_wings[] = { + gsSPDisplayList(luigi_right_hand_cap_wings_intial_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_wings_half_1), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_right_hand_cap_wings_half_1_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_wings_half_2), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_right_hand_cap_wings_half_2_dl), + gsSPDisplayList(luigi_right_hand_cap_wings_end_dl), + gsSPEndDisplayList(), +}; + +const Gfx luigi_metal_right_hand_cap_shared_dl[] = { + gsSPDisplayList(luigi_right_hand_cap_l_logo_dl), + gsSPDisplayList(luigi_right_hand_cap_top_dl), + gsSPDisplayList(luigi_right_hand_cap_hand_position_dl), + gsSPDisplayList(luigi_right_hand_cap_bottom_dl), + gsDPPipeSync(), + gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), + gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), + gsSPEndDisplayList(), +}; + +const Gfx luigi_metal_right_hand_cap_shared_dl_wings[] = { + gsSPDisplayList(luigi_right_hand_cap_wings_intial_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_metal_wings_half_1), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_right_hand_cap_wings_half_1_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_metal_wings_half_2), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_right_hand_cap_wings_half_2_dl), + gsSPDisplayList(luigi_right_hand_cap_wings_end_dl), + gsSPEndDisplayList(), +}; + +static const Vtx luigi_right_hand_peace_shared_dl_vertex[88] = { + {{{104, 20, -3},0, {0, 0},{0x9, 0x7D, 0x12, 0xFF}}}, + {{{97, 13, 23},0, {0, 0},{0x9, 0x7A, 0x23, 0xFF}}}, + {{{152, 10, 18},0, {0, 0},{0xC, 0x7B, 0x1E, 0xFF}}}, + {{{161, 17, -17},0, {0, 0},{0xB, 0x7D, 0x13, 0xFF}}}, + {{{88, 21, -40},0, {0, 0},{0x6, 0x7F, 0x0, 0xFF}}}, + {{{165, -10, -23},0, {0, 0},{0x7A, 0x9, 0x22, 0xFF}}}, + {{{161, 17, -17},0, {0, 0},{0x7A, 0xA, 0x21, 0xFF}}}, + {{{152, 10, 18},0, {0, 0},{0x7A, 0x8, 0x23, 0xFF}}}, + {{{154, -12, 15},0, {0, 0},{0x7A, 0x6, 0x23, 0xFF}}}, + {{{100, -26, 9},0, {0, 0},{0x4, 0xDC, 0x7A, 0xFF}}}, + {{{152, 10, 18},0, {0, 0},{0xFE, 0xE4, 0x7C, 0xFF}}}, + {{{97, 13, 23},0, {0, 0},{0x8, 0xD6, 0x78, 0xFF}}}, + {{{154, -12, 15},0, {0, 0},{0xF7, 0xEE, 0x7D, 0xFF}}}, + {{{88, 21, -40},0, {0, 0},{0x7, 0xA, 0x82, 0xFF}}}, + {{{161, 17, -17},0, {0, 0},{0x26, 0x1F, 0x8B, 0xFF}}}, + {{{165, -10, -23},0, {0, 0},{0x1E, 0x6, 0x85, 0xFF}}}, + {{{165, -10, -23},0, {0, 0},{0x1E, 0x6, 0x85, 0xFF}}}, + {{{93, -19, -24},0, {0, 0},{0x1A, 0xA8, 0xA8, 0xFF}}}, + {{{88, 21, -40},0, {0, 0},{0x7, 0xA, 0x82, 0xFF}}}, + {{{32, 10, -43},0, {0, 0},{0xDF, 0xFA, 0x85, 0xFF}}}, + {{{55, -44, -11},0, {0, 0},{0x3, 0x8A, 0xD1, 0xFF}}}, + {{{100, -26, 9},0, {0, 0},{0x47, 0x97, 0xFB, 0xFF}}}, + {{{154, -12, 15},0, {0, 0},{0x15, 0x83, 0xF6, 0xFF}}}, + {{{165, -10, -23},0, {0, 0},{0xF, 0x82, 0xFE, 0xFF}}}, + {{{87, -31, 33},0, {0, 0},{0x3D, 0xA6, 0x41, 0xFF}}}, + {{{89, 0, 46},0, {0, 0},{0x48, 0x2, 0x69, 0xFF}}}, + {{{97, 13, 23},0, {0, 0},{0x5F, 0x1A, 0x51, 0xFF}}}, + {{{83, 51, 18},0, {0, 0},{0x2E, 0x40, 0x64, 0xFF}}}, + {{{138, 56, 19},0, {0, 0},{0xFC, 0x13, 0x7E, 0xFF}}}, + {{{122, 75, 15},0, {0, 0},{0xFC, 0x16, 0x7D, 0xFF}}}, + {{{45, 52, 39},0, {0, 0},{0xF7, 0x48, 0x68, 0xFF}}}, + {{{55, 83, -5},0, {0, 0},{0x6, 0x7D, 0xED, 0xFF}}}, + {{{55, 83, -5},0, {0, 0},{0x6, 0x7D, 0xED, 0xFF}}}, + {{{83, 51, 18},0, {0, 0},{0x2E, 0x40, 0x64, 0xFF}}}, + {{{83, 63, -13},0, {0, 0},{0x18, 0x5D, 0xAC, 0xFF}}}, + {{{88, 21, -40},0, {0, 0},{0x7, 0xA, 0x82, 0xFF}}}, + {{{125, 87, -9},0, {0, 0},{0x6, 0x33, 0x8C, 0xFF}}}, + {{{145, 62, -14},0, {0, 0},{0x17, 0x2A, 0x8A, 0xFF}}}, + {{{32, 10, -43},0, {0, 0},{0xDF, 0xFA, 0x85, 0xFF}}}, + {{{7, 61, -8},0, {0, 0},{0xAF, 0x5D, 0xE2, 0xFF}}}, + {{{-5, 41, -6},0, {0, 0},{0xD9, 0x73, 0xD9, 0xFF}}}, + {{{13, 2, -28},0, {0, 0},{0x3, 0x4, 0x81, 0xFF}}}, + {{{31, -40, -6},0, {0, 0},{0x33, 0x94, 0xD4, 0xFF}}}, + {{{55, -44, -11},0, {0, 0},{0x3, 0x8A, 0xD1, 0xFF}}}, + {{{44, -26, 46},0, {0, 0},{0xE7, 0xBC, 0x69, 0xFF}}}, + {{{87, -31, 33},0, {0, 0},{0x3D, 0xA6, 0x41, 0xFF}}}, + {{{89, 0, 46},0, {0, 0},{0x48, 0x2, 0x69, 0xFF}}}, + {{{45, 52, 39},0, {0, 0},{0xF7, 0x48, 0x68, 0xFF}}}, + {{{44, -26, 46},0, {0, 0},{0xE7, 0xBC, 0x69, 0xFF}}}, + {{{45, 52, 39},0, {0, 0},{0xF7, 0x48, 0x68, 0xFF}}}, + {{{17, 33, 35},0, {0, 0},{0xC9, 0x2D, 0x69, 0xFF}}}, + {{{7, 61, -8},0, {0, 0},{0xAF, 0x5D, 0xE2, 0xFF}}}, + {{{55, 83, -5},0, {0, 0},{0x6, 0x7D, 0xED, 0xFF}}}, + {{{-5, 41, -6},0, {0, 0},{0xD9, 0x73, 0xD9, 0xFF}}}, + {{{-1, 24, 31},0, {0, 0},{0x5, 0x44, 0x6B, 0xFF}}}, + {{{-16, 26, 37},0, {0, 0},{0xD4, 0x3B, 0x68, 0xFF}}}, + {{{-23, 46, -9},0, {0, 0},{0xC3, 0x69, 0xDA, 0xFF}}}, + {{{13, 2, -28},0, {0, 0},{0x3, 0x4, 0x81, 0xFF}}}, + {{{1, -2, -39},0, {0, 0},{0xFA, 0x2, 0x81, 0xFF}}}, + {{{31, -40, -6},0, {0, 0},{0x33, 0x94, 0xD4, 0xFF}}}, + {{{23, -56, -9},0, {0, 0},{0x26, 0x8D, 0xDB, 0xFF}}}, + {{{22, -26, 30},0, {0, 0},{0x16, 0xC5, 0x6E, 0xFF}}}, + {{{14, -36, 36},0, {0, 0},{0x12, 0xBA, 0x68, 0xFF}}}, + {{{-1, -32, 26},0, {0, 0},{0xA3, 0xB8, 0x31, 0xFF}}}, + {{{-16, 26, 37},0, {0, 0},{0xD4, 0x3B, 0x68, 0xFF}}}, + {{{-22, 12, 27},0, {0, 0},{0x8D, 0xE7, 0x2F, 0xFF}}}, + {{{-1, -32, 26},0, {0, 0},{0xA3, 0xB8, 0x31, 0xFF}}}, + {{{-23, 46, -9},0, {0, 0},{0xC3, 0x69, 0xDA, 0xFF}}}, + {{{-26, 27, -6},0, {0, 0},{0x84, 0xFB, 0xE5, 0xFF}}}, + {{{1, -2, -39},0, {0, 0},{0xFA, 0x2, 0x81, 0xFF}}}, + {{{-9, -9, -26},0, {0, 0},{0x9B, 0xD0, 0xC4, 0xFF}}}, + {{{23, -56, -9},0, {0, 0},{0x26, 0x8D, 0xDB, 0xFF}}}, + {{{5, -46, -6},0, {0, 0},{0xAB, 0xA5, 0xE6, 0xFF}}}, + {{{14, -36, 36},0, {0, 0},{0x12, 0xBA, 0x68, 0xFF}}}, + {{{22, -26, 30},0, {0, 0},{0x16, 0xC5, 0x6E, 0xFF}}}, + {{{83, 63, -13},0, {0, 0},{0xC1, 0x67, 0x28, 0xFF}}}, + {{{83, 51, 18},0, {0, 0},{0xC2, 0x67, 0x29, 0xFF}}}, + {{{125, 87, -9},0, {0, 0},{0xC3, 0x67, 0x2A, 0xFF}}}, + {{{122, 75, 15},0, {0, 0},{0xC4, 0x67, 0x2C, 0xFF}}}, + {{{145, 62, -14},0, {0, 0},{0x59, 0xA6, 0xF6, 0xFF}}}, + {{{104, 20, -3},0, {0, 0},{0x59, 0xA6, 0xF1, 0xFF}}}, + {{{88, 21, -40},0, {0, 0},{0x52, 0xA6, 0xDA, 0xFF}}}, + {{{138, 56, 19},0, {0, 0},{0x5C, 0xA8, 0x2, 0xFF}}}, + {{{97, 13, 23},0, {0, 0},{0x5C, 0xA8, 0x1, 0xFF}}}, + {{{145, 62, -14},0, {0, 0},{0x5E, 0x4C, 0x28, 0xFF}}}, + {{{125, 87, -9},0, {0, 0},{0x61, 0x44, 0x2E, 0xFF}}}, + {{{122, 75, 15},0, {0, 0},{0x5E, 0x4C, 0x28, 0xFF}}}, + {{{138, 56, 19},0, {0, 0},{0x5A, 0x53, 0x22, 0xFF}}}, +}; + +const Gfx luigi_right_hand_peace_shared_dl[] = { + gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 0, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 2, 3, 0), + gsSP1Triangle(3, 4, 0, 0), + gsSP1Triangle(5, 6, 7, 0), + gsSP1Triangle(5, 7, 8, 0), + gsSP1Triangle(9, 10, 11, 0), + gsSP1Triangle(9, 12, 10, 0), + gsSP1Triangle(13, 14, 15, 0), + gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 16, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 2, 1, 0), + gsSP1Triangle(4, 3, 1, 0), + gsSP1Triangle(5, 4, 1, 0), + gsSP1Triangle(1, 6, 5, 0), + gsSP1Triangle(6, 1, 7, 0), + gsSP1Triangle(5, 8, 4, 0), + gsSP1Triangle(8, 5, 9, 0), + gsSP1Triangle(5, 10, 9, 0), + gsSP1Triangle(10, 11, 9, 0), + gsSP1Triangle(11, 10, 12, 0), + gsSP1Triangle(12, 13, 11, 0), + gsSP1Triangle(9, 11, 14, 0), + gsSP1Triangle(14, 11, 15, 0), + gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 32, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 2, 3, 0), + gsSP1Triangle(4, 3, 2, 0), + gsSP1Triangle(3, 4, 5, 0), + gsSP1Triangle(0, 3, 6, 0), + gsSP1Triangle(7, 0, 6, 0), + gsSP1Triangle(7, 6, 8, 0), + gsSP1Triangle(6, 9, 8, 0), + gsSP1Triangle(10, 9, 6, 0), + gsSP1Triangle(6, 11, 10, 0), + gsSP1Triangle(11, 12, 10, 0), + gsSP1Triangle(12, 11, 13, 0), + gsSP1Triangle(13, 14, 12, 0), + gsSP1Triangle(12, 14, 15, 0), + gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 48, 16, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(1, 3, 2, 0), + gsSP1Triangle(1, 4, 3, 0), + gsSP1Triangle(2, 3, 5, 0), + gsSP1Triangle(5, 6, 2, 0), + gsSP1Triangle(7, 6, 5, 0), + gsSP1Triangle(7, 5, 8, 0), + gsSP1Triangle(8, 5, 9, 0), + gsSP1Triangle(8, 9, 10, 0), + gsSP1Triangle(10, 9, 11, 0), + gsSP1Triangle(10, 11, 12, 0), + gsSP1Triangle(12, 11, 13, 0), + gsSP1Triangle(0, 13, 11, 0), + gsSP1Triangle(13, 0, 2, 0), + gsSP1Triangle(6, 13, 2, 0), + gsSP1Triangle(14, 13, 6, 0), + gsSP1Triangle(14, 6, 7, 0), + gsSP1Triangle(7, 15, 14, 0), + gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 64, 15, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 1, 0, 0), + gsSP1Triangle(3, 4, 1, 0), + gsSP1Triangle(5, 4, 3, 0), + gsSP1Triangle(5, 6, 4, 0), + gsSP1Triangle(7, 6, 5, 0), + gsSP1Triangle(7, 8, 6, 0), + gsSP1Triangle(9, 8, 7, 0), + gsSP1Triangle(7, 10, 9, 0), + gsSP1Triangle(9, 2, 8, 0), + gsSP1Triangle(6, 8, 2, 0), + gsSP1Triangle(2, 1, 6, 0), + gsSP1Triangle(1, 4, 6, 0), + gsSP1Triangle(11, 12, 13, 0), + gsSP1Triangle(12, 14, 13, 0), + gsSPVertex(luigi_right_hand_peace_shared_dl_vertex + 79, 9, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(3, 1, 0, 0), + gsSP1Triangle(3, 4, 1, 0), + gsSP1Triangle(5, 6, 7, 0), + gsSP1Triangle(7, 8, 5, 0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_right_hand_peace[] = { + gsSPLight(&luigi_white_lights_group.l, 1), + gsSPLight(&luigi_white_lights_group.a, 2), + gsSPDisplayList(luigi_right_hand_peace_shared_dl), + gsSPEndDisplayList(), +}; + +static const Vtx luigi_wings_half_1_dl_vertex[] = { + {{{ -105, 212, 0}, 0, { 0, 0}, {0x00, 0x00, 0x7f, 0xff}}}, + {{{ -105, 0, 0}, 0, { 0, 2012}, {0x00, 0x00, 0x7f, 0xff}}}, + {{{ 0, 0, 0}, 0, { 990, 2012}, {0x00, 0x00, 0x7f, 0xff}}}, + {{{ 0, 212, 0}, 0, { 990, 0}, {0x00, 0x00, 0x7f, 0xff}}}, +}; + +static const Vtx luigi_wings_half_2_dl_vertex[] = { + {{{ 0, 0, 0}, 0, { 0, 2012}, {0x00, 0x00, 0x7f, 0xff}}}, + {{{ 106, 212, 0}, 0, { 990, 0}, {0x00, 0x00, 0x7f, 0xff}}}, + {{{ 0, 212, 0}, 0, { 0, 0}, {0x00, 0x00, 0x7f, 0xff}}}, + {{{ 106, 0, 0}, 0, { 990, 2012}, {0x00, 0x00, 0x7f, 0xff}}}, +}; + +const Gfx luigi_wings_half_1_dl[] = { + gsSPVertex(luigi_wings_half_1_dl_vertex, 4, 0), + gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_wings_half_2_dl[] = { + gsSPVertex(luigi_wings_half_2_dl_vertex, 4, 0), + gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0), + gsSPEndDisplayList(), +}; + +const Gfx luigi_cap_wings[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA), + gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC), + gsSPLight(&luigi_white_lights_group.l, 1), + gsSPLight(&luigi_white_lights_group.a, 2), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_wings_half_1), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_wings_half_1_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_wings_half_2), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_wings_half_2_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), + gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), + gsSPEndDisplayList(), +}; + +const Gfx luigi_cap_wings_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA), + gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC), + gsSPLight(&luigi_white_lights_group.l, 1), + gsSPLight(&luigi_white_lights_group.a, 2), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_wings_half_1), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_wings_half_1_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_wings_half_2), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_wings_half_2_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), + gsSPEndDisplayList(), +}; + +const Gfx luigi_metal_cap_wings[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA), + gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC), + gsSPLight(&luigi_white_lights_group.l, 1), + gsSPLight(&luigi_white_lights_group.a, 2), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_metal_wings_half_1), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_wings_half_1_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_metal_wings_half_2), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_wings_half_2_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), + gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), + gsSPEndDisplayList(), +}; + +const Gfx luigi_metal_cap_wings_transparent[] = { + gsDPPipeSync(), + gsSPClearGeometryMode(G_TEXTURE_GEN), + gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), + gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA), + gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_metal_wings_half_1), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_wings_half_1_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_metal_wings_half_2), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_wings_half_2_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK | G_SHADING_SMOOTH), + gsDPSetCombineMode(G_CC_DECALFADE, G_CC_DECALFADE), + gsDPLoadTextureBlock(luigi_texture_metal, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD), + gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON), + gsSPEndDisplayList(), +}; diff --git a/actors/luigi_cap/custom_luigi_cap_logo.rgba16.png b/actors/luigi_cap/custom_luigi_cap_logo.rgba16.png index d61357b5..ca8351e8 100644 Binary files a/actors/luigi_cap/custom_luigi_cap_logo.rgba16.png and b/actors/luigi_cap/custom_luigi_cap_logo.rgba16.png differ