diff --git a/actors/luigi/custom_luigi_cap.rgba16.png b/actors/luigi/custom_luigi_cap.rgba16.png deleted file mode 100644 index d8216b003..000000000 Binary files a/actors/luigi/custom_luigi_cap.rgba16.png and /dev/null differ diff --git a/actors/luigi/custom_luigi_logo.ia16.png b/actors/luigi/custom_luigi_logo.ia16.png new file mode 100644 index 000000000..b96a4a9d4 Binary files /dev/null and b/actors/luigi/custom_luigi_logo.ia16.png differ diff --git a/actors/luigi/custom_luigi_logo.rgba16.png b/actors/luigi/custom_luigi_logo.rgba16.png deleted file mode 100644 index d163ae8ee..000000000 Binary files a/actors/luigi/custom_luigi_logo.rgba16.png and /dev/null differ diff --git a/actors/luigi/custom_luigi_logo_blend.rgba16.png b/actors/luigi/custom_luigi_logo_blend.rgba16.png deleted file mode 100644 index d23e29bc6..000000000 Binary files a/actors/luigi/custom_luigi_logo_blend.rgba16.png and /dev/null differ diff --git a/actors/luigi/custom_luigi_sideburn.ia16.png b/actors/luigi/custom_luigi_sideburn.ia16.png new file mode 100644 index 000000000..462fcdbc5 Binary files /dev/null and b/actors/luigi/custom_luigi_sideburn.ia16.png differ diff --git a/actors/luigi/custom_luigi_sideburn.rgba16.png b/actors/luigi/custom_luigi_sideburn.rgba16.png deleted file mode 100644 index 2458e0dd1..000000000 Binary files a/actors/luigi/custom_luigi_sideburn.rgba16.png and /dev/null differ diff --git a/actors/luigi/custom_luigi_sideburn_add.rgba16.png b/actors/luigi/custom_luigi_sideburn_add.rgba16.png deleted file mode 100644 index c254d7756..000000000 Binary files a/actors/luigi/custom_luigi_sideburn_add.rgba16.png and /dev/null differ diff --git a/actors/luigi/custom_luigi_skin.rgba16.png b/actors/luigi/custom_luigi_skin.rgba16.png deleted file mode 100644 index 714f2cde4..000000000 Binary files a/actors/luigi/custom_luigi_skin.rgba16.png and /dev/null differ diff --git a/actors/luigi/geo.inc.c b/actors/luigi/geo.inc.c index 1f128bc3d..f17b8fde7 100644 --- a/actors/luigi/geo.inc.c +++ b/actors/luigi/geo.inc.c @@ -1,46 +1,34 @@ #include "geo_header.h" -// Normal Mario Geo +// Normal Luigi Geo +// 0x170002E0 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_NODE_START(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_l_logo_decal), - GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_hair_sideburn_decal_cap_on), - 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_CLOSE_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_NODE_START(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_hair_sideburn_decal_cap_off), - GEO_OPEN_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_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, -45, -110, 22, -40, -135), @@ -63,6 +51,7 @@ const GeoLayout luigi_geo_face_and_wings[] = { GEO_RETURN(), }; +// 0x1700041C const GeoLayout luigi_geo_left_hand[] = { GEO_SWITCH_CASE(1, geo_switch_mario_hand), GEO_OPEN_NODE(), @@ -82,6 +71,7 @@ const GeoLayout luigi_geo_left_hand[] = { GEO_RETURN(), }; +// 0x17000494 const GeoLayout luigi_geo_right_hand[] = { GEO_SWITCH_CASE(0, geo_switch_mario_hand), GEO_OPEN_NODE(), @@ -100,12 +90,8 @@ const GeoLayout luigi_geo_right_hand[] = { GEO_CLOSE_NODE(), GEO_ANIMATED_PART(LAYER_OPAQUE, 65, 0, 0, luigi_right_hand_peace), // here we go hand GEO_ANIMATED_PART(LAYER_OPAQUE, 65, 0, 0, luigi_right_hand_cap), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_right_hand_cap_decal), - GEO_CLOSE_NODE(), GEO_ANIMATED_PART(LAYER_OPAQUE, 65, 0, 0, luigi_right_hand_cap), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_right_hand_cap_decal), GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_right_hand_cap_wings), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), @@ -114,6 +100,7 @@ const GeoLayout luigi_geo_right_hand[] = { // 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 +// 0x1700053C const GeoLayout luigi_geo_body[] = { GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 22, 0, NULL), GEO_OPEN_NODE(), @@ -183,48 +170,36 @@ const GeoLayout luigi_geo_body[] = { GEO_RETURN(), }; -// Vanish Mario Geo +// Vanish Luigi Geo +// 0x17000DEC 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_NODE_START(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_l_logo_decal), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_hair_sideburn_decal_cap_on), - 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_CLOSE_NODE(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_front_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_half_closed_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_closed_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_right_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_left_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_up_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_down_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_dead_transparent), GEO_CLOSE_NODE(), - GEO_NODE_START(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_hair_sideburn_decal_cap_off), - GEO_OPEN_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_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_front_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_half_closed_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_closed_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_right_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_left_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_up_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_down_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_dead_transparent), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_TRANSLATE_ROTATE(0, 140, -45, -110, 22, -40, -135), @@ -247,6 +222,7 @@ const GeoLayout luigi_vanish_geo_face_and_wings[] = { GEO_RETURN(), }; +// 0x17000F28 const GeoLayout luigi_vanish_geo_left_hand[] = { GEO_SWITCH_CASE(1, geo_switch_mario_hand), GEO_OPEN_NODE(), @@ -266,6 +242,7 @@ const GeoLayout luigi_vanish_geo_left_hand[] = { GEO_RETURN(), }; +// 0x17000FA0 const GeoLayout luigi_vanish_geo_right_hand[] = { GEO_SWITCH_CASE(0, geo_switch_mario_hand), GEO_OPEN_NODE(), @@ -284,20 +261,17 @@ const GeoLayout luigi_vanish_geo_right_hand[] = { GEO_CLOSE_NODE(), GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, luigi_right_hand_peace), // here we go hand GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, luigi_right_hand_cap), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_right_hand_cap_decal), - GEO_CLOSE_NODE(), GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, luigi_right_hand_cap), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_right_hand_cap_decal), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_right_hand_cap_wings_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_right_hand_cap_wings), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_RETURN(), }; -// Same rule body as Normal Mario +// Same rule body as Normal Luigi +// 0x17001048 const GeoLayout luigi_vanish_geo_body[] = { GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 22, 0, NULL), GEO_OPEN_NODE(), @@ -367,8 +341,9 @@ const GeoLayout luigi_vanish_geo_body[] = { GEO_RETURN(), }; -// Metal Mario Geo +// Metal Luigi Geo +// 0x170018F8 const GeoLayout luigi_metal_geo_face_and_wings[] = { GEO_ASM(0, geo_mario_head_rotation), GEO_ROTATION_NODE(0x00, 0, 0, 0), @@ -398,6 +373,7 @@ const GeoLayout luigi_metal_geo_face_and_wings[] = { GEO_RETURN(), }; +// 0x170019A4 const GeoLayout luigi_metal_geo_left_hand[] = { GEO_SWITCH_CASE(1, geo_switch_mario_hand), GEO_OPEN_NODE(), @@ -417,6 +393,7 @@ const GeoLayout luigi_metal_geo_left_hand[] = { GEO_RETURN(), }; +// 0x17001A1C const GeoLayout luigi_metal_geo_right_hand[] = { GEO_SWITCH_CASE(0, geo_switch_mario_hand), GEO_OPEN_NODE(), @@ -443,8 +420,9 @@ const GeoLayout luigi_metal_geo_right_hand[] = { GEO_RETURN(), }; -// 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 +// A difference from Normal Luigi 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 +// 0x17001AC4 const GeoLayout luigi_metal_geo_body[] = { GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 22, 0, NULL), GEO_OPEN_NODE(), @@ -514,8 +492,9 @@ const GeoLayout luigi_metal_geo_body[] = { GEO_RETURN(), }; -// Metal Vanish Mario Geo +// Metal Vanish Luigi Geo +// 0x170022E4 const GeoLayout luigi_metal_vanish_geo_face_and_wings[] = { GEO_ASM(0, geo_mario_head_rotation), GEO_ROTATION_NODE(0x00, 0, 0, 0), @@ -545,6 +524,7 @@ const GeoLayout luigi_metal_vanish_geo_face_and_wings[] = { GEO_RETURN(), }; +// 0x17002390 const GeoLayout luigi_metal_vanish_geo_left_hand[] = { GEO_SWITCH_CASE(0, geo_switch_mario_hand), GEO_OPEN_NODE(), @@ -564,6 +544,7 @@ const GeoLayout luigi_metal_vanish_geo_left_hand[] = { GEO_RETURN(), }; +// 0x17002408 const GeoLayout luigi_metal_vanish_geo_right_hand[] = { GEO_SWITCH_CASE(0, geo_switch_mario_hand), GEO_OPEN_NODE(), @@ -584,14 +565,15 @@ const GeoLayout luigi_metal_vanish_geo_right_hand[] = { GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, luigi_metal_right_hand_cap_shared_dl), GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 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_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_metal_right_hand_cap_shared_dl_wings), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_RETURN(), }; -// Same rules as Metal Mario +// Same rules as Metal Luigi +// 0x170024B0 const GeoLayout luigi_metal_vanish_geo_body[] = { GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 22, 0, NULL), GEO_OPEN_NODE(), @@ -661,8 +643,7 @@ const GeoLayout luigi_metal_vanish_geo_body[] = { GEO_RETURN(), }; -// High Poly - +// 0x17002CE0 const GeoLayout luigi_geo_load_body[] = { GEO_SWITCH_CASE(0, geo_switch_mario_cap_effect), GEO_OPEN_NODE(), @@ -674,8 +655,9 @@ const GeoLayout luigi_geo_load_body[] = { GEO_RETURN(), }; -// This last geo is used to load all of Mario Geo in the Level Scripts +// This last geo is used to load all of Luigi Geo in the Level Scripts +// 0x17002DD4 const GeoLayout luigi_geo[] = { GEO_NODE_START(), GEO_OPEN_NODE(), @@ -684,23 +666,31 @@ const GeoLayout luigi_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_ALPHA + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_TRANSPARENT + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_OPAQUE << 2, geo_mirror_mario_backface_culling), + GEO_ASM(LAYER_OPAQUE_DECAL << 2, geo_mirror_mario_backface_culling), GEO_ASM(LAYER_ALPHA << 2, geo_mirror_mario_backface_culling), GEO_ASM(LAYER_TRANSPARENT << 2, geo_mirror_mario_backface_culling), + GEO_ASM(LAYER_TRANSPARENT_DECAL << 2, 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((LAYER_OPAQUE << 2) | 1, geo_mirror_mario_backface_culling), + GEO_ASM((LAYER_OPAQUE_DECAL << 2) | 1, geo_mirror_mario_backface_culling), GEO_ASM((LAYER_ALPHA << 2) | 1, geo_mirror_mario_backface_culling), GEO_ASM((LAYER_TRANSPARENT << 2) | 1, geo_mirror_mario_backface_culling), + GEO_ASM((LAYER_TRANSPARENT_DECAL << 2) | 1, geo_mirror_mario_backface_culling), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, luigi_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, luigi_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; diff --git a/actors/luigi/geo_header.h b/actors/luigi/geo_header.h index ccff7c5e9..a57bd6532 100644 --- a/actors/luigi/geo_header.h +++ b/actors/luigi/geo_header.h @@ -55,8 +55,6 @@ 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_hair_sideburn_decal_cap_on[]; -extern const Gfx luigi_l_logo_decal[]; 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[]; @@ -66,13 +64,20 @@ 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_cap_on_eyes_front_transparent[]; +extern const Gfx luigi_cap_on_eyes_half_closed_transparent[]; +extern const Gfx luigi_cap_on_eyes_closed_transparent[]; +extern const Gfx luigi_cap_on_eyes_right_transparent[]; +extern const Gfx luigi_cap_on_eyes_left_transparent[]; +extern const Gfx luigi_cap_on_eyes_up_transparent[]; +extern const Gfx luigi_cap_on_eyes_down_transparent[]; +extern const Gfx luigi_cap_on_eyes_dead_transparent[]; 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_hair_sideburn_decal_cap_off[]; 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[]; @@ -82,6 +87,14 @@ 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_cap_off_eyes_front_transparent[]; +extern const Gfx luigi_cap_off_eyes_half_closed_transparent[]; +extern const Gfx luigi_cap_off_eyes_closed_transparent[]; +extern const Gfx luigi_cap_off_eyes_right_transparent[]; +extern const Gfx luigi_cap_off_eyes_left_transparent[]; +extern const Gfx luigi_cap_off_eyes_up_transparent[]; +extern const Gfx luigi_cap_off_eyes_down_transparent[]; +extern const Gfx luigi_cap_off_eyes_dead_transparent[]; 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[]; @@ -92,20 +105,15 @@ 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_decal[]; 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_transparent_intial_dl[]; -extern const Gfx luigi_right_hand_cap_metal_wings_intial_dl[]; +extern const Gfx luigi_right_hand_cap_wings_initial_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_right_hand_cap_wings_transparent[]; 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_metal_right_hand_cap_shared_dl_wings_transparent[]; extern const Gfx luigi_right_hand_peace_shared_dl[]; extern const Gfx luigi_right_hand_peace[]; extern const Gfx luigi_wings_half_1_dl[]; diff --git a/actors/luigi/luigi_externs.h b/actors/luigi/luigi_externs.h index 0e8222c07..02c986ae1 100644 --- a/actors/luigi/luigi_externs.h +++ b/actors/luigi/luigi_externs.h @@ -1,7 +1,3 @@ extern ALIGNED8 const Texture luigi_texture_l_logo[]; -extern ALIGNED8 const Texture luigi_texture_l_blend[]; -extern ALIGNED8 const Texture luigi_texture_l_cap[]; extern ALIGNED8 const Texture luigi_texture_hair_sideburn[]; -extern ALIGNED8 const Texture luigi_texture_add_sideburn[]; -extern ALIGNED8 const Texture luigi_texture_skin_sideburn[]; extern ALIGNED8 const Texture luigi_texture_mustache[]; \ No newline at end of file diff --git a/actors/luigi/model.inc.c b/actors/luigi/model.inc.c index b8b73999e..1effcb9bd 100644 --- a/actors/luigi/model.inc.c +++ b/actors/luigi/model.inc.c @@ -1,82 +1,64 @@ #include "pc/rom_assets.h" // Luigi +// 0x04000000 # solid color blue - butt, left thigh, right thigh - all poly types static const Lights1 luigi_blue_lights_group = gdSPDefLights1( - 0x0, 0x0, 0x7f, - 0x0, 0x0, 0xff, 0x28, 0x28, 0x28 + 0x00, 0x00, 0x7f, + 0x00, 0x00, 0xff, 0x28, 0x28, 0x28 ); +// 0x04000018 # solid color green - left & right arm, torso (tshirt part), caps - all poly types static const Lights1 luigi_green_lights_group = gdSPDefLights1( - 0x0, 0x7f, 0x0, - 0x0, 0xff, 0x0, 0x28, 0x28, 0x28 + 0x00, 0x7f, 0x00, + 0x00, 0xff, 0x00, 0x28, 0x28, 0x28 ); +// 0x04000030 # solid color white - metal butt & left thigh - normal left & right hand closed & open (with cap too) and all wings - all poly types static const Lights1 luigi_white_lights_group = gdSPDefLights1( 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0x28, 0x28, 0x28 ); +// 0x04000048 # solid color brown 1 - foot - all poly types static const Lights1 luigi_brown1_lights_group = gdSPDefLights1( 0x39, 0x0e, 0x07, 0x72, 0x1c, 0x0e, 0x28, 0x28, 0x28 ); +// 0x04000060 # solid color beige skin - face (cap on and off dls) - all poly types static const Lights1 luigi_beige_lights_group = gdSPDefLights1( 0x7f, 0x60, 0x3c, 0xfe, 0xc1, 0x79, 0x28, 0x28, 0x28 ); +// 0x04000078 # solid color brown 2 - hair - all poly types static const Lights1 luigi_brown2_lights_group = gdSPDefLights1( 0x39, 0x03, 0x00, 0x73, 0x06, 0x00, 0x28, 0x28, 0x28 ); -static const Lights1 luigi_black_lights_group = gdSPDefLights1( - 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x28, 0x28, 0x28 -); - #include "actors/mario/mario_externs.h" -#define luigi_texture_metal_shade mario_texture_metal_shade -#define luigi_texture_metal_light mario_texture_metal_light -#define luigi_texture_yellow_button mario_texture_yellow_button -#define luigi_texture_eyes_front mario_texture_eyes_front -#define luigi_texture_eyes_half_closed mario_texture_eyes_half_closed -#define luigi_texture_eyes_closed mario_texture_eyes_closed -#define luigi_texture_eyes_left mario_texture_eyes_left -#define luigi_texture_eyes_right mario_texture_eyes_right -#define luigi_texture_eyes_up mario_texture_eyes_up -#define luigi_texture_eyes_down mario_texture_eyes_down -#define luigi_texture_eyes_dead mario_texture_eyes_dead -#define luigi_texture_wings_half_1 mario_texture_wings_half_1 -#define luigi_texture_wings_half_2 mario_texture_wings_half_2 -#define luigi_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1_shade -#define luigi_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1_light -#define luigi_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2_shade -#define luigi_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2_light +#define luigi_texture_metal mario_texture_metal +#define luigi_texture_yellow_button mario_texture_yellow_button +#define luigi_texture_eyes_front mario_texture_eyes_front +#define luigi_texture_eyes_half_closed mario_texture_eyes_half_closed +#define luigi_texture_eyes_closed mario_texture_eyes_closed +#define luigi_texture_eyes_left mario_texture_eyes_left +#define luigi_texture_eyes_right mario_texture_eyes_right +#define luigi_texture_eyes_up mario_texture_eyes_up +#define luigi_texture_eyes_down mario_texture_eyes_down +#define luigi_texture_eyes_dead mario_texture_eyes_dead +#define luigi_texture_wings_half_1 mario_texture_wings_half_1 +#define luigi_texture_wings_half_2 mario_texture_wings_half_2 +#define luigi_texture_metal_wings_half_1 mario_texture_metal_wings_half_1 +#define luigi_texture_metal_wings_half_2 mario_texture_metal_wings_half_2 ALIGNED8 const Texture luigi_texture_l_logo[] = { -#include "actors/luigi/custom_luigi_logo.rgba16.inc.c" -}; - -ALIGNED8 const Texture luigi_texture_l_blend[] = { -#include "actors/luigi/custom_luigi_logo_blend.rgba16.inc.c" -}; - -ALIGNED8 const Texture luigi_texture_l_cap[] = { -#include "actors/luigi/custom_luigi_cap.rgba16.inc.c" +#include "actors/luigi/custom_luigi_logo.ia16.inc.c" }; ALIGNED8 const Texture luigi_texture_hair_sideburn[] = { -#include "actors/luigi/custom_luigi_sideburn.rgba16.inc.c" -}; - -ALIGNED8 const Texture luigi_texture_add_sideburn[] = { -#include "actors/luigi/custom_luigi_sideburn_add.rgba16.inc.c" -}; - -ALIGNED8 const Texture luigi_texture_skin_sideburn[] = { -#include "actors/luigi/custom_luigi_skin.rgba16.inc.c" +#include "actors/luigi/custom_luigi_sideburn.ia16.inc.c" }; ALIGNED8 const Texture luigi_texture_mustache[] = { @@ -253,21 +235,18 @@ const Gfx luigi_butt[] = { const Gfx luigi_metal_butt[] = { gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT), gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsSPLight(&luigi_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_shade), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 128), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), gsDPSetTileSize(0, 0, 0, 252, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 128), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(luigi_butt_dl), gsSPEndDisplayList(), }; @@ -647,6 +626,7 @@ const Gfx luigi_metal_right_hand_closed[] = { gsSPDisplayList(luigi_right_hand_closed_dl), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsSPEndDisplayList(), @@ -723,21 +703,18 @@ const Gfx luigi_left_thigh[] = { const Gfx luigi_metal_left_thigh[] = { gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT), gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsSPLight(&luigi_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_shade), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 128), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), gsDPSetTileSize(0, 0, 0, 252, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 128), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(luigi_left_thigh_dl), gsSPEndDisplayList(), }; @@ -1056,6 +1033,7 @@ const Gfx luigi_metal_right_foot[] = { gsSPDisplayList(luigi_right_foot_dl), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsDPSetEnvColor(255, 255, 255, 255), @@ -1383,543 +1361,336 @@ const Gfx luigi_metal_torso_shared_dl[] = { }; Vtx luigi_l_logo_dl_vertex[7] = { - {{ {186, 83, 26}, 0, {730, 764}, {78, 83, 57, 255} }}, - {{ {147, 31, 77}, 0, {1200, 1106}, {254, 70, 106, 255} }}, - {{ {247, 60, 57}, 0, {1018, 94}, {63, 72, 83, 255} }}, - {{ {273, 73, 0}, 0, {474, -182}, {96, 83, 0, 255} }}, - {{ {186, 83, -25}, 0, {252, 768}, {78, 83, 199, 255} }}, - {{ {247, 60, -56}, 0, {-38, 100}, {63, 73, 173, 255} }}, - {{ {147, 31, -76}, 0, {-206, 1116}, {253, 70, 150, 255} }}, + {{{186, 83, 26}, 0, {728, 764}, {0x52, 0x55, 0x30, 0xFF}}}, + {{{147, 31, 77}, 0, {1198, 1106}, {0x04, 0x46, 0x6A, 0xFF}}}, + {{{247, 60, 57}, 0, {1004, 94}, {0x39, 0x4A, 0x55, 0xFF}}}, + {{{273, 73, 0}, 0, {472, -182}, {0x5F, 0x54, 0x00, 0xFF}}}, + {{{186, 83, -25}, 0, {248, 768}, {0x51, 0x54, 0xCF, 0xFF}}}, + {{{247, 60, -56}, 0, {-50, 100}, {0x39, 0x4A, 0xAB, 0xFF}}}, + {{{147, 31, -76}, 0, {-206, 1116}, {0x03, 0x46, 0x96, 0xFF}}}, }; Vtx luigi_eyes_cap_on_dl_vertex[12] = { - {{ {78, 89, -20}, 0, {282, 1028}, {67, 68, 173, 255} }}, - {{ {135, 74, -54}, 0, {-84, 412}, {25, 91, 171, 255} }}, - {{ {94, 76, -56}, 0, {-98, 860}, {17, 100, 180, 255} }}, - {{ {166, 84, -26}, 0, {202, 68}, {161, 84, 247, 255} }}, - {{ {135, 91, 0}, 0, {480, 402}, {10, 127, 0, 255} }}, - {{ {88, 92, 0}, 0, {488, 916}, {97, 82, 0, 255} }}, - {{ {78, 89, 20}, 0, {700, 1020}, {70, 67, 82, 255} }}, - {{ {166, 84, 27}, 0, {756, 60}, {161, 84, 9, 255} }}, - {{ {135, 74, 55}, 0, {1054, 392}, {25, 91, 85, 255} }}, - {{ {94, 76, 57}, 0, {1084, 840}, {17, 101, 76, 255} }}, - {{ {147, 31, 77}, 0, {1282, 258}, {254, 70, 106, 255} }}, - {{ {147, 31, -76}, 0, {-318, 286}, {253, 70, 150, 255} }}, + {{{94, 76, -56}, 0, {-102, 860}, {0x30, 0x5C, 0xB7, 0xFF}}}, + {{{78, 89, -20}, 0, {282, 1022}, {0x40, 0x5B, 0xC3, 0xFF}}}, + {{{135, 74, -54}, 0, {-88, 412}, {0x19, 0x5C, 0xAC, 0xFF}}}, + {{{166, 84, -26}, 0, {198, 66}, {0xC6, 0x6E, 0xE7, 0xFF}}}, + {{{135, 91, 0}, 0, {480, 398}, {0x13, 0x7E, 0x00, 0xFF}}}, + {{{88, 92, 0}, 0, {488, 902}, {0x6A, 0x46, 0x00, 0xFF}}}, + {{{78, 89, 20}, 0, {698, 1010}, {0x40, 0x5B, 0x3D, 0xFF}}}, + {{{166, 84, 27}, 0, {750, 48}, {0xC6, 0x6E, 0x19, 0xFF}}}, + {{{135, 74, 55}, 0, {1050, 380}, {0x19, 0x5C, 0x54, 0xFF}}}, + {{{94, 76, 57}, 0, {1080, 826}, {0x30, 0x5C, 0x49, 0xFF}}}, + {{{147, 31, 77}, 0, {1280, 240}, {0x04, 0x46, 0x6A, 0xFF}}}, + {{{147, 31, -76}, 0, {-322, 286}, {0x03, 0x46, 0x96, 0xFF}}}, }; Vtx luigi_hair_sideburn_cap_on_dl_vertex[12] = { - {{ {88, 42, -76}, 0, {-70, 700}, {7, 42, 136, 255} }}, - {{ {147, 31, -76}, 0, {90, -58}, {253, 70, 150, 255} }}, - {{ {115, -12, -91}, 0, {916, 184}, {235, 33, 135, 255} }}, - {{ {80, -24, -92}, 0, {1150, 582}, {0, 89, 165, 255} }}, - {{ {32, -5, -84}, 0, {842, 1210}, {187, 248, 149, 255} }}, - {{ {34, 34, -78}, 0, {118, 1334}, {213, 31, 140, 255} }}, - {{ {88, 42, 77}, 0, {-74, 726}, {6, 43, 119, 255} }}, - {{ {115, -11, 93}, 0, {922, 122}, {235, 33, 121, 255} }}, - {{ {147, 31, 77}, 0, {22, -68}, {254, 70, 106, 255} }}, - {{ {80, -24, 93}, 0, {1238, 518}, {254, 89, 91, 255} }}, - {{ {32, -5, 85}, 0, {968, 1192}, {187, 248, 107, 255} }}, - {{ {34, 34, 79}, 0, {196, 1366}, {213, 31, 116, 255} }}, + {{{115, -12, -91}, 0, {916, 184}, {0xED, 0x24, 0x88, 0xFF}}}, + {{{88, 42, -76}, 0, {-70, 700}, {0x11, 0x27, 0x88, 0xFF}}}, + {{{147, 31, -76}, 0, {90, -58}, {0x03, 0x46, 0x96, 0xFF}}}, + {{{80, -24, -92}, 0, {1150, 582}, {0x06, 0x59, 0xA6, 0xFF}}}, + {{{32, -5, -84}, 0, {842, 1210}, {0xC2, 0x05, 0x91, 0xFF}}}, + {{{34, 34, -78}, 0, {118, 1334}, {0xDA, 0x21, 0x8B, 0xFF}}}, + {{{88, 42, 77}, 0, {-74, 726}, {0x10, 0x28, 0x77, 0xFF}}}, + {{{34, 34, 79}, 0, {196, 1366}, {0xDA, 0x21, 0x75, 0xFF}}}, + {{{32, -5, 85}, 0, {968, 1192}, {0xC2, 0x05, 0x6F, 0xFF}}}, + {{{80, -24, 93}, 0, {1238, 518}, {0x04, 0x59, 0x5B, 0xFF}}}, + {{{115, -11, 93}, 0, {922, 122}, {0xED, 0x24, 0x78, 0xFF}}}, + {{{147, 31, 77}, 0, {22, -68}, {0x04, 0x46, 0x6A, 0xFF}}}, }; -Vtx luigi_mustache_cap_on_dl_vertex[21] = { - {{ {78, 89, 20}, 0, {224, 146}, {70, 67, 82, 255} }}, - {{ {58, 93, 28}, 0, {342, 368}, {20, 35, 120, 255} }}, - {{ {66, 76, 68}, 0, {898, -18}, {7, 85, 94, 255} }}, - {{ {35, 79, 58}, 0, {824, 500}, {211, 87, 81, 255} }}, - {{ {35, 94, 27}, 0, {354, 690}, {183, 45, 94, 255} }}, - {{ {13, 83, 24}, 0, {442, 982}, {173, 91, 31, 255} }}, - {{ {24, 91, 0}, 0, {70, 924}, {139, 50, 0, 255} }}, - {{ {-7, 40, 43}, 0, {892, 1090}, {147, 20, 62, 255} }}, - {{ {34, 34, 79}, 0, {1296, 310}, {213, 31, 116, 255} }}, - {{ {35, 94, -26}, 0, {340, 684}, {184, 46, 162, 255} }}, - {{ {13, 83, -24}, 0, {394, 998}, {174, 91, 224, 255} }}, - {{ {24, 91, 0}, 0, {50, 900}, {139, 50, 0, 255} }}, - {{ {35, 79, -57}, 0, {792, 544}, {211, 86, 174, 255} }}, - {{ {58, 93, -27}, 0, {362, 344}, {18, 35, 135, 255} }}, - {{ {66, 76, -67}, 0, {922, -4}, {7, 85, 162, 255} }}, - {{ {78, 89, -20}, 0, {274, 100}, {67, 68, 173, 255} }}, - {{ {34, 34, -78}, 0, {1250, 390}, {213, 31, 140, 255} }}, - {{ {35, 79, -57}, 0, {792, 544}, {211, 86, 174, 255} }}, - {{ {66, 76, -67}, 0, {922, -4}, {7, 85, 162, 255} }}, - {{ {-7, 40, -42}, 0, {806, 1162}, {147, 19, 194, 255} }}, - {{ {13, 83, -24}, 0, {394, 998}, {174, 91, 224, 255} }}, +Vtx luigi_mustache_cap_on_dl_vertex[18] = { + {{{58, 93, 28}, 0, {342, 368}, {0x0E, 0x16, 0x7C, 0xFF}}}, + {{{66, 76, 68}, 0, {898, -18}, {0x23, 0x59, 0x53, 0xFF}}}, + {{{78, 89, 20}, 0, {224, 146}, {0x40, 0x5B, 0x3D, 0xFF}}}, + {{{35, 79, 58}, 0, {824, 500}, {0xD7, 0x61, 0x47, 0xFF}}}, + {{{35, 94, 27}, 0, {354, 690}, {0xA8, 0x33, 0x4B, 0xFF}}}, + {{{13, 83, 24}, 0, {442, 982}, {0xB1, 0x61, 0x16, 0xFF}}}, + {{{24, 91, 0}, 0, {70, 924}, {0x95, 0x44, 0x00, 0xFF}}}, + {{{-7, 40, 43}, 0, {892, 1090}, {0x94, 0x1D, 0x3C, 0xFF}}}, + {{{34, 34, 79}, 0, {1296, 310}, {0xDA, 0x21, 0x75, 0xFF}}}, + {{{24, 91, 0}, 0, {50, 900}, {0x95, 0x44, 0x00, 0xFF}}}, + {{{35, 94, -26}, 0, {340, 684}, {0xA7, 0x32, 0xB4, 0xFF}}}, + {{{13, 83, -24}, 0, {394, 998}, {0xB1, 0x61, 0xEA, 0xFF}}}, + {{{35, 79, -57}, 0, {792, 544}, {0xD7, 0x61, 0xB9, 0xFF}}}, + {{{58, 93, -27}, 0, {362, 344}, {0x0E, 0x16, 0x84, 0xFF}}}, + {{{66, 76, -67}, 0, {922, -4}, {0x23, 0x59, 0xAD, 0xFF}}}, + {{{78, 89, -20}, 0, {274, 100}, {0x40, 0x5B, 0xC3, 0xFF}}}, + {{{34, 34, -78}, 0, {1250, 390}, {0xDA, 0x21, 0x8B, 0xFF}}}, + {{{-7, 40, -42}, 0, {806, 1162}, {0x94, 0x1D, 0xC4, 0xFF}}}, }; -Vtx luigi_face_cap_dl_vertex[43] = { - {{ {163, 124, -53}, 0, {0, 0}, {227, 81, 163, 255} }}, - {{ {147, 31, -76}, 0, {0, 0}, {253, 70, 150, 255} }}, - {{ {166, 84, -26}, 0, {0, 0}, {161, 84, 247, 255} }}, - {{ {186, 83, -25}, 0, {0, 0}, {78, 83, 199, 255} }}, - {{ {171, 155, 0}, 0, {0, 0}, {252, 127, 255, 255} }}, - {{ {166, 84, 27}, 0, {0, 0}, {161, 84, 9, 255} }}, - {{ {163, 125, 54}, 0, {0, 0}, {228, 82, 93, 255} }}, - {{ {147, 31, 77}, 0, {0, 0}, {254, 70, 106, 255} }}, - {{ {186, 83, 26}, 0, {0, 0}, {78, 83, 57, 255} }}, - {{ {185, -5, -117}, 0, {0, 0}, {30, 9, 133, 255} }}, - {{ {247, 60, -56}, 0, {0, 0}, {63, 73, 173, 255} }}, - {{ {115, -12, -91}, 0, {0, 0}, {235, 33, 135, 255} }}, - {{ {129, -50, -108}, 0, {0, 0}, {232, 224, 135, 255} }}, - {{ {165, -90, -61}, 0, {0, 0}, {73, 168, 200, 255} }}, - {{ {270, -2, -34}, 0, {0, 0}, {111, 212, 213, 255} }}, - {{ {273, 73, 0}, 0, {0, 0}, {96, 83, 0, 255} }}, - {{ {273, 73, 0}, 0, {0, 0}, {96, 83, 0, 255} }}, - {{ {270, -2, 34}, 0, {0, 0}, {111, 212, 43, 255} }}, - {{ {270, -2, -34}, 0, {0, 0}, {111, 212, 213, 255} }}, - {{ {247, 60, 57}, 0, {0, 0}, {63, 72, 83, 255} }}, - {{ {185, -5, 117}, 0, {0, 0}, {31, 9, 123, 255} }}, - {{ {147, 31, 77}, 0, {0, 0}, {254, 70, 106, 255} }}, - {{ {115, -11, 93}, 0, {0, 0}, {235, 33, 121, 255} }}, - {{ {129, -50, 108}, 0, {0, 0}, {233, 222, 120, 255} }}, - {{ {88, -51, 74}, 0, {0, 0}, {208, 190, 97, 255} }}, - {{ {62, -96, 42}, 0, {0, 0}, {209, 168, 79, 255} }}, - {{ {77, -135, 42}, 0, {0, 0}, {188, 162, 53, 255} }}, - {{ {77, -135, -41}, 0, {0, 0}, {189, 162, 204, 255} }}, - {{ {62, -96, -42}, 0, {0, 0}, {209, 169, 176, 255} }}, - {{ {129, -50, -108}, 0, {0, 0}, {232, 224, 135, 255} }}, - {{ {88, -51, -73}, 0, {0, 0}, {207, 192, 158, 255} }}, - {{ {115, -12, -91}, 0, {0, 0}, {235, 33, 135, 255} }}, - {{ {129, -50, -108}, 0, {0, 0}, {232, 224, 135, 255} }}, - {{ {124, -138, -40}, 0, {0, 0}, {40, 144, 210, 255} }}, - {{ {77, -135, -41}, 0, {0, 0}, {189, 162, 204, 255} }}, - {{ {165, -90, -61}, 0, {0, 0}, {73, 168, 200, 255} }}, - {{ {124, -138, 41}, 0, {0, 0}, {41, 145, 46, 255} }}, - {{ {165, -89, 62}, 0, {0, 0}, {73, 169, 57, 255} }}, - {{ {270, -2, -34}, 0, {0, 0}, {111, 212, 213, 255} }}, - {{ {270, -2, 34}, 0, {0, 0}, {111, 212, 43, 255} }}, - {{ {185, -5, 117}, 0, {0, 0}, {31, 9, 123, 255} }}, - {{ {129, -50, 108}, 0, {0, 0}, {233, 222, 120, 255} }}, - {{ {77, -135, 42}, 0, {0, 0}, {188, 162, 53, 255} }}, +Vtx luigi_face_cap_dl_vertex[30] = { + {{{115, -12, -91}, 0, {0, 0}, {0xED, 0x24, 0x88, 0xFF}}}, + {{{129, -50, -108}, 0, {0, 0}, {0xDE, 0xD4, 0x8E, 0xFF}}}, + {{{88, -51, -73}, 0, {0, 0}, {0xD9, 0xAF, 0xA6, 0xFF}}}, + {{{185, -5, -117}, 0, {0, 0}, {0x1E, 0x04, 0x85, 0xFF}}}, + {{{147, 31, -76}, 0, {0, 0}, {0x03, 0x46, 0x96, 0xFF}}}, + {{{247, 60, -56}, 0, {0, 0}, {0x39, 0x4A, 0xAB, 0xFF}}}, + {{{270, -2, -34}, 0, {0, 0}, {0x6F, 0xCE, 0xDC, 0xFF}}}, + {{{273, 73, 0}, 0, {0, 0}, {0x5F, 0x54, 0x00, 0xFF}}}, + {{{270, -2, 34}, 0, {0, 0}, {0x72, 0xDC, 0x2B, 0xFF}}}, + {{{247, 60, 57}, 0, {0, 0}, {0x39, 0x4A, 0x55, 0xFF}}}, + {{{185, -5, 117}, 0, {0, 0}, {0x1F, 0x04, 0x7B, 0xFF}}}, + {{{147, 31, 77}, 0, {0, 0}, {0x04, 0x46, 0x6A, 0xFF}}}, + {{{115, -11, 93}, 0, {0, 0}, {0xED, 0x24, 0x78, 0xFF}}}, + {{{129, -50, 108}, 0, {0, 0}, {0xDF, 0xD3, 0x72, 0xFF}}}, + {{{88, -51, 74}, 0, {0, 0}, {0xD9, 0xAF, 0x59, 0xFF}}}, + {{{62, -96, 42}, 0, {0, 0}, {0xC9, 0x99, 0x31, 0xFF}}}, + {{{77, -135, 42}, 0, {0, 0}, {0xC1, 0xA4, 0x3C, 0xFF}}}, + {{{77, -135, -41}, 0, {0, 0}, {0xBB, 0x9D, 0xD8, 0xFF}}}, + {{{62, -96, -42}, 0, {0, 0}, {0xDE, 0x94, 0xC7, 0xFF}}}, + {{{124, -138, -40}, 0, {0, 0}, {0x28, 0x93, 0xCD, 0xFF}}}, + {{{165, -90, -61}, 0, {0, 0}, {0x51, 0xA9, 0xD5, 0xFF}}}, + {{{165, -89, 62}, 0, {0, 0}, {0x4E, 0xA6, 0x2B, 0xFF}}}, + {{{124, -138, 41}, 0, {0, 0}, {0x2D, 0x8E, 0x22, 0xFF}}}, + {{{166, 84, -26}, 0, {0, 0}, {0xC6, 0x6E, 0xE7, 0xFF}}}, + {{{163, 124, -53}, 0, {0, 0}, {0xDA, 0x5B, 0xB0, 0xFF}}}, + {{{171, 155, 0}, 0, {0, 0}, {0xED, 0x7E, 0x00, 0xFF}}}, + {{{166, 84, 27}, 0, {0, 0}, {0xC6, 0x6E, 0x19, 0xFF}}}, + {{{163, 125, 54}, 0, {0, 0}, {0xDA, 0x5B, 0x50, 0xFF}}}, + {{{186, 83, 26}, 0, {0, 0}, {0x52, 0x55, 0x30, 0xFF}}}, + {{{186, 83, -25}, 0, {0, 0}, {0x51, 0x54, 0xCF, 0xFF}}}, }; -Vtx luigi_face_part_cap_on_dl_vertex[88] = { - {{ {66, 76, 68}, 0, {0, 0}, {7, 85, 94, 255} }}, - {{ {94, 76, 57}, 0, {0, 0}, {17, 101, 76, 255} }}, - {{ {78, 89, 20}, 0, {0, 0}, {70, 67, 82, 255} }}, - {{ {88, 42, 77}, 0, {0, 0}, {6, 43, 119, 255} }}, - {{ {34, 34, 79}, 0, {0, 0}, {213, 31, 116, 255} }}, - {{ {135, 74, 55}, 0, {0, 0}, {25, 91, 85, 255} }}, - {{ {147, 31, 77}, 0, {0, 0}, {254, 70, 106, 255} }}, - {{ {13, 83, -24}, 0, {0, 0}, {174, 91, 224, 255} }}, - {{ {13, 83, 24}, 0, {0, 0}, {173, 91, 31, 255} }}, - {{ {24, 91, 0}, 0, {0, 0}, {139, 50, 0, 255} }}, - {{ {-19, 46, 0}, 0, {0, 0}, {131, 25, 0, 255} }}, - {{ {-7, 40, -42}, 0, {0, 0}, {147, 19, 194, 255} }}, - {{ {12, -51, -34}, 0, {0, 0}, {132, 0, 227, 255} }}, - {{ {32, -5, -84}, 0, {0, 0}, {187, 248, 149, 255} }}, - {{ {34, 34, -78}, 0, {0, 0}, {213, 31, 140, 255} }}, - {{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }}, - {{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }}, - {{ {32, -5, -84}, 0, {0, 0}, {187, 248, 149, 255} }}, - {{ {57, -27, -110}, 0, {0, 0}, {217, 254, 135, 255} }}, - {{ {80, -24, -92}, 0, {0, 0}, {0, 89, 165, 255} }}, - {{ {95, -31, -110}, 0, {0, 0}, {43, 243, 137, 255} }}, - {{ {115, -12, -91}, 0, {0, 0}, {235, 33, 135, 255} }}, - {{ {88, -51, -73}, 0, {0, 0}, {207, 192, 158, 255} }}, - {{ {13, 83, 24}, 0, {0, 0}, {173, 91, 31, 255} }}, - {{ {-19, 46, 0}, 0, {0, 0}, {131, 25, 0, 255} }}, - {{ {-7, 40, 43}, 0, {0, 0}, {147, 20, 62, 255} }}, - {{ {12, -51, 35}, 0, {0, 0}, {133, 0, 30, 255} }}, - {{ {12, -51, -34}, 0, {0, 0}, {132, 0, 227, 255} }}, - {{ {26, -79, 0}, 0, {0, 0}, {160, 172, 0, 255} }}, - {{ {32, -5, 85}, 0, {0, 0}, {187, 248, 107, 255} }}, - {{ {34, 34, 79}, 0, {0, 0}, {213, 31, 116, 255} }}, - {{ {51, -44, 65}, 0, {0, 0}, {208, 193, 100, 255} }}, - {{ {51, -44, 65}, 0, {0, 0}, {208, 193, 100, 255} }}, - {{ {57, -27, 111}, 0, {0, 0}, {217, 254, 121, 255} }}, - {{ {32, -5, 85}, 0, {0, 0}, {187, 248, 107, 255} }}, - {{ {88, -51, 74}, 0, {0, 0}, {208, 190, 97, 255} }}, - {{ {95, -31, 111}, 0, {0, 0}, {42, 241, 119, 255} }}, - {{ {115, -11, 93}, 0, {0, 0}, {235, 33, 121, 255} }}, - {{ {80, -24, 93}, 0, {0, 0}, {254, 89, 91, 255} }}, - {{ {88, 42, -76}, 0, {0, 0}, {7, 42, 136, 255} }}, - {{ {135, 74, -54}, 0, {0, 0}, {25, 91, 171, 255} }}, - {{ {147, 31, -76}, 0, {0, 0}, {253, 70, 150, 255} }}, - {{ {94, 76, -56}, 0, {0, 0}, {17, 100, 180, 255} }}, - {{ {66, 76, -67}, 0, {0, 0}, {7, 85, 162, 255} }}, - {{ {34, 34, -78}, 0, {0, 0}, {213, 31, 140, 255} }}, - {{ {78, 89, -20}, 0, {0, 0}, {67, 68, 173, 255} }}, - {{ {35, 94, 27}, 0, {0, 0}, {183, 45, 94, 255} }}, - {{ {15, 111, 0}, 0, {0, 0}, {132, 230, 254, 255} }}, - {{ {24, 91, 0}, 0, {0, 0}, {139, 50, 0, 255} }}, - {{ {29, 112, 36}, 0, {0, 0}, {179, 226, 96, 255} }}, - {{ {58, 93, 28}, 0, {0, 0}, {20, 35, 120, 255} }}, - {{ {55, 112, 41}, 0, {0, 0}, {255, 220, 122, 255} }}, - {{ {81, 112, 36}, 0, {0, 0}, {75, 223, 97, 255} }}, - {{ {78, 89, 20}, 0, {0, 0}, {70, 67, 82, 255} }}, - {{ {96, 113, 0}, 0, {0, 0}, {125, 234, 0, 255} }}, - {{ {88, 92, 0}, 0, {0, 0}, {97, 82, 0, 255} }}, - {{ {78, 89, -20}, 0, {0, 0}, {67, 68, 173, 255} }}, - {{ {81, 112, -35}, 0, {0, 0}, {75, 224, 158, 255} }}, - {{ {58, 93, -27}, 0, {0, 0}, {18, 35, 135, 255} }}, - {{ {55, 112, -40}, 0, {0, 0}, {255, 220, 134, 255} }}, - {{ {29, 112, -35}, 0, {0, 0}, {178, 228, 160, 255} }}, - {{ {35, 94, -26}, 0, {0, 0}, {184, 46, 162, 255} }}, - {{ {29, 112, -35}, 0, {0, 0}, {178, 228, 160, 255} }}, - {{ {15, 111, 0}, 0, {0, 0}, {132, 230, 254, 255} }}, - {{ {32, 141, -35}, 0, {0, 0}, {191, 64, 167, 255} }}, - {{ {15, 141, 0}, 0, {0, 0}, {142, 56, 254, 255} }}, - {{ {29, 112, 36}, 0, {0, 0}, {179, 226, 96, 255} }}, - {{ {32, 141, 36}, 0, {0, 0}, {193, 65, 89, 255} }}, - {{ {55, 112, 41}, 0, {0, 0}, {255, 220, 122, 255} }}, - {{ {58, 141, 41}, 0, {0, 0}, {0, 67, 108, 255} }}, - {{ {82, 142, 36}, 0, {0, 0}, {69, 61, 88, 255} }}, - {{ {81, 112, 36}, 0, {0, 0}, {75, 223, 97, 255} }}, - {{ {96, 113, 0}, 0, {0, 0}, {125, 234, 0, 255} }}, - {{ {96, 142, 0}, 0, {0, 0}, {117, 50, 255, 255} }}, - {{ {81, 112, -35}, 0, {0, 0}, {75, 224, 158, 255} }}, - {{ {82, 142, -35}, 0, {0, 0}, {69, 60, 168, 255} }}, - {{ {55, 112, -40}, 0, {0, 0}, {255, 220, 134, 255} }}, - {{ {58, 141, -40}, 0, {0, 0}, {0, 66, 147, 255} }}, - {{ {58, 141, -40}, 0, {0, 0}, {0, 66, 147, 255} }}, - {{ {32, 141, -35}, 0, {0, 0}, {191, 64, 167, 255} }}, - {{ {39, 156, 0}, 0, {0, 0}, {224, 123, 0, 255} }}, - {{ {15, 141, 0}, 0, {0, 0}, {142, 56, 254, 255} }}, - {{ {32, 141, 36}, 0, {0, 0}, {193, 65, 89, 255} }}, - {{ {58, 141, 41}, 0, {0, 0}, {0, 67, 108, 255} }}, - {{ {77, 157, 0}, 0, {0, 0}, {35, 122, 0, 255} }}, - {{ {82, 142, 36}, 0, {0, 0}, {69, 61, 88, 255} }}, - {{ {96, 142, 0}, 0, {0, 0}, {117, 50, 255, 255} }}, - {{ {82, 142, -35}, 0, {0, 0}, {69, 60, 168, 255} }}, +Vtx luigi_face_part_cap_on_dl_vertex[60] = { + {{{24, 91, 0}, 0, {0, 0}, {0x95, 0x44, 0x00, 0xFF}}}, + {{{13, 83, -24}, 0, {0, 0}, {0xB1, 0x61, 0xEA, 0xFF}}}, + {{{13, 83, 24}, 0, {0, 0}, {0xB1, 0x61, 0x16, 0xFF}}}, + {{{-19, 46, 0}, 0, {0, 0}, {0x84, 0x1D, 0x00, 0xFF}}}, + {{{-7, 40, -42}, 0, {0, 0}, {0x94, 0x1D, 0xC4, 0xFF}}}, + {{{12, -51, -34}, 0, {0, 0}, {0x88, 0xF8, 0xD7, 0xFF}}}, + {{{32, -5, -84}, 0, {0, 0}, {0xC2, 0x05, 0x91, 0xFF}}}, + {{{34, 34, -78}, 0, {0, 0}, {0xDA, 0x21, 0x8B, 0xFF}}}, + {{{51, -44, -64}, 0, {0, 0}, {0xE3, 0xCA, 0x91, 0xFF}}}, + {{{57, -27, -110}, 0, {0, 0}, {0xCC, 0xE5, 0x8F, 0xFF}}}, + {{{80, -24, -92}, 0, {0, 0}, {0x06, 0x59, 0xA6, 0xFF}}}, + {{{95, -31, -110}, 0, {0, 0}, {0x32, 0x19, 0x8E, 0xFF}}}, + {{{115, -12, -91}, 0, {0, 0}, {0xED, 0x24, 0x88, 0xFF}}}, + {{{88, -51, -73}, 0, {0, 0}, {0xD9, 0xAF, 0xA6, 0xFF}}}, + {{{-7, 40, 43}, 0, {0, 0}, {0x94, 0x1D, 0x3C, 0xFF}}}, + {{{12, -51, 35}, 0, {0, 0}, {0x88, 0xF8, 0x29, 0xFF}}}, + {{{26, -79, 0}, 0, {0, 0}, {0x9F, 0xAE, 0x00, 0xFF}}}, + {{{32, -5, 85}, 0, {0, 0}, {0xC2, 0x05, 0x6F, 0xFF}}}, + {{{51, -44, 65}, 0, {0, 0}, {0xE3, 0xCA, 0x6F, 0xFF}}}, + {{{57, -27, 111}, 0, {0, 0}, {0xCC, 0xE5, 0x71, 0xFF}}}, + {{{88, -51, 74}, 0, {0, 0}, {0xD9, 0xAF, 0x59, 0xFF}}}, + {{{95, -31, 111}, 0, {0, 0}, {0x30, 0x18, 0x73, 0xFF}}}, + {{{115, -11, 93}, 0, {0, 0}, {0xED, 0x24, 0x78, 0xFF}}}, + {{{80, -24, 93}, 0, {0, 0}, {0x04, 0x59, 0x5B, 0xFF}}}, + {{{34, 34, 79}, 0, {0, 0}, {0xDA, 0x21, 0x75, 0xFF}}}, + {{{66, 76, 68}, 0, {0, 0}, {0x23, 0x59, 0x53, 0xFF}}}, + {{{94, 76, 57}, 0, {0, 0}, {0x30, 0x5C, 0x49, 0xFF}}}, + {{{78, 89, 20}, 0, {0, 0}, {0x40, 0x5B, 0x3D, 0xFF}}}, + {{{88, 42, 77}, 0, {0, 0}, {0x10, 0x28, 0x77, 0xFF}}}, + {{{135, 74, 55}, 0, {0, 0}, {0x19, 0x5C, 0x54, 0xFF}}}, + {{{147, 31, 77}, 0, {0, 0}, {0x04, 0x46, 0x6A, 0xFF}}}, + {{{135, 74, -54}, 0, {0, 0}, {0x19, 0x5C, 0xAC, 0xFF}}}, + {{{147, 31, -76}, 0, {0, 0}, {0x03, 0x46, 0x96, 0xFF}}}, + {{{88, 42, -76}, 0, {0, 0}, {0x11, 0x27, 0x88, 0xFF}}}, + {{{94, 76, -56}, 0, {0, 0}, {0x30, 0x5C, 0xB7, 0xFF}}}, + {{{66, 76, -67}, 0, {0, 0}, {0x23, 0x59, 0xAD, 0xFF}}}, + {{{78, 89, -20}, 0, {0, 0}, {0x40, 0x5B, 0xC3, 0xFF}}}, + {{{35, 94, -26}, 0, {0, 0}, {0xA7, 0x32, 0xB4, 0xFF}}}, + {{{15, 111, 0}, 0, {0, 0}, {0x84, 0xE8, 0xF8, 0xFF}}}, + {{{35, 94, 27}, 0, {0, 0}, {0xA8, 0x33, 0x4B, 0xFF}}}, + {{{29, 112, 36}, 0, {0, 0}, {0xB0, 0xE4, 0x5E, 0xFF}}}, + {{{58, 93, 28}, 0, {0, 0}, {0x0E, 0x16, 0x7C, 0xFF}}}, + {{{55, 112, 41}, 0, {0, 0}, {0x00, 0xEC, 0x7D, 0xFF}}}, + {{{81, 112, 36}, 0, {0, 0}, {0x45, 0xD6, 0x62, 0xFF}}}, + {{{96, 113, 0}, 0, {0, 0}, {0x7B, 0xE1, 0x06, 0xFF}}}, + {{{88, 92, 0}, 0, {0, 0}, {0x6A, 0x46, 0x00, 0xFF}}}, + {{{81, 112, -35}, 0, {0, 0}, {0x51, 0xDC, 0xA5, 0xFF}}}, + {{{58, 93, -27}, 0, {0, 0}, {0x0E, 0x16, 0x84, 0xFF}}}, + {{{55, 112, -40}, 0, {0, 0}, {0x00, 0xEC, 0x83, 0xFF}}}, + {{{29, 112, -35}, 0, {0, 0}, {0xBB, 0xDE, 0x9B, 0xFF}}}, + {{{32, 141, -35}, 0, {0, 0}, {0xB8, 0x34, 0xA6, 0xFF}}}, + {{{15, 141, 0}, 0, {0, 0}, {0x8E, 0x38, 0x09, 0xFF}}}, + {{{32, 141, 36}, 0, {0, 0}, {0xC8, 0x3D, 0x60, 0xFF}}}, + {{{58, 141, 41}, 0, {0, 0}, {0x03, 0x56, 0x5E, 0xFF}}}, + {{{82, 142, 36}, 0, {0, 0}, {0x52, 0x27, 0x58, 0xFF}}}, + {{{96, 142, 0}, 0, {0, 0}, {0x7A, 0x23, 0xF6, 0xFF}}}, + {{{82, 142, -35}, 0, {0, 0}, {0x44, 0x31, 0xA1, 0xFF}}}, + {{{58, 141, -40}, 0, {0, 0}, {0x03, 0x55, 0xA1, 0xFF}}}, + {{{39, 156, 0}, 0, {0, 0}, {0xEA, 0x7D, 0x00, 0xFF}}}, + {{{77, 157, 0}, 0, {0, 0}, {0x27, 0x79, 0x00, 0xFF}}}, }; -Vtx luigi_face_back_hair_cap_on_dl_vertex[24] = { - {{ {88, -51, -73}, 0, {0, 0}, {207, 192, 158, 255} }}, - {{ {62, -96, -42}, 0, {0, 0}, {209, 169, 176, 255} }}, - {{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }}, - {{ {46, -107, -45}, 0, {0, 0}, {60, 152, 215, 255} }}, - {{ {24, -109, -21}, 0, {0, 0}, {239, 156, 77, 255} }}, - {{ {26, -79, 0}, 0, {0, 0}, {160, 172, 0, 255} }}, - {{ {62, -96, 42}, 0, {0, 0}, {209, 168, 79, 255} }}, - {{ {24, -109, 21}, 0, {0, 0}, {239, 156, 179, 255} }}, - {{ {46, -107, 45}, 0, {0, 0}, {60, 152, 41, 255} }}, - {{ {51, -44, 65}, 0, {0, 0}, {208, 193, 100, 255} }}, - {{ {88, -51, 74}, 0, {0, 0}, {208, 190, 97, 255} }}, - {{ {19, -78, 73}, 0, {0, 0}, {226, 4, 123, 255} }}, - {{ {12, -51, 35}, 0, {0, 0}, {133, 0, 30, 255} }}, - {{ {-3, -81, 44}, 0, {0, 0}, {129, 11, 1, 255} }}, - {{ {5, -113, 53}, 0, {0, 0}, {185, 158, 40, 255} }}, - {{ {19, -78, -73}, 0, {0, 0}, {227, 5, 132, 255} }}, - {{ {5, -113, -53}, 0, {0, 0}, {185, 158, 216, 255} }}, - {{ {19, -78, -73}, 0, {0, 0}, {227, 5, 132, 255} }}, - {{ {46, -107, -45}, 0, {0, 0}, {60, 152, 215, 255} }}, - {{ {24, -109, -21}, 0, {0, 0}, {239, 156, 77, 255} }}, - {{ {-3, -81, -44}, 0, {0, 0}, {129, 11, 255, 255} }}, - {{ {26, -79, 0}, 0, {0, 0}, {160, 172, 0, 255} }}, - {{ {12, -51, -34}, 0, {0, 0}, {132, 0, 227, 255} }}, - {{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }}, +Vtx luigi_face_back_hair_cap_on_dl_vertex[19] = { + {{{62, -96, 42}, 0, {0, 0}, {0xC9, 0x99, 0x31, 0xFF}}}, + {{{88, -51, 74}, 0, {0, 0}, {0xD9, 0xAF, 0x59, 0xFF}}}, + {{{51, -44, 65}, 0, {0, 0}, {0xE3, 0xCA, 0x6F, 0xFF}}}, + {{{46, -107, 45}, 0, {0, 0}, {0x58, 0xB3, 0x32, 0xFF}}}, + {{{19, -78, 73}, 0, {0, 0}, {0xDB, 0xFD, 0x79, 0xFF}}}, + {{{12, -51, 35}, 0, {0, 0}, {0x88, 0xF8, 0x29, 0xFF}}}, + {{{-3, -81, 44}, 0, {0, 0}, {0x86, 0xDF, 0x0B, 0xFF}}}, + {{{26, -79, 0}, 0, {0, 0}, {0x9F, 0xAE, 0x00, 0xFF}}}, + {{{24, -109, 21}, 0, {0, 0}, {0xFB, 0x8E, 0xC9, 0xFF}}}, + {{{62, -96, -42}, 0, {0, 0}, {0xDE, 0x94, 0xC7, 0xFF}}}, + {{{24, -109, -21}, 0, {0, 0}, {0xFB, 0x8E, 0x37, 0xFF}}}, + {{{-3, -81, -44}, 0, {0, 0}, {0x86, 0xDF, 0xF5, 0xFF}}}, + {{{12, -51, -34}, 0, {0, 0}, {0x88, 0xF8, 0xD7, 0xFF}}}, + {{{19, -78, -73}, 0, {0, 0}, {0xDB, 0xFD, 0x87, 0xFF}}}, + {{{51, -44, -64}, 0, {0, 0}, {0xE3, 0xCA, 0x91, 0xFF}}}, + {{{46, -107, -45}, 0, {0, 0}, {0x58, 0xB3, 0xCE, 0xFF}}}, + {{{88, -51, -73}, 0, {0, 0}, {0xD9, 0xAF, 0xA6, 0xFF}}}, + {{{5, -113, -53}, 0, {0, 0}, {0xDA, 0x93, 0xCB, 0xFF}}}, + {{{5, -113, 53}, 0, {0, 0}, {0xDA, 0x93, 0x35, 0xFF}}}, }; 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(), + gsSPVertex(luigi_l_logo_dl_vertex + 0, 7, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 3, 0, 0), + gsSP2Triangles(3, 4, 0, 0, 3, 5, 4, 0), + gsSP1Triangle(5, 6, 4, 0), + gsSPEndDisplayList(), }; Gfx luigi_eyes_cap_on_dl[] = { - gsSPVertex(luigi_eyes_cap_on_dl_vertex + 0, 12, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(5, 4, 0, 0), - gsSP1Triangle(5, 6, 4, 0), - gsSP1Triangle(4, 6, 7, 0), - gsSP1Triangle(7, 6, 8, 0), - gsSP1Triangle(9, 8, 6, 0), - gsSP1Triangle(7, 8, 10, 0), - gsSP1Triangle(3, 11, 1, 0), - gsSP1Triangle(4, 7, 3, 0), - gsSPEndDisplayList(), + gsSPVertex(luigi_eyes_cap_on_dl_vertex + 0, 12, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(1, 4, 3, 0, 1, 5, 4, 0), + gsSP2Triangles(4, 5, 6, 0, 7, 4, 6, 0), + gsSP2Triangles(8, 7, 6, 0, 6, 9, 8, 0), + gsSP2Triangles(10, 7, 8, 0, 3, 4, 7, 0), + gsSP1Triangle(2, 3, 11, 0), + gsSPEndDisplayList(), }; Gfx luigi_hair_sideburn_cap_on_dl[] = { - gsSPVertex(luigi_hair_sideburn_cap_on_dl_vertex + 0, 12, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 0, 2, 0), - gsSP1Triangle(3, 4, 0, 0), - gsSP1Triangle(4, 5, 0, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(6, 9, 7, 0), - gsSP1Triangle(10, 9, 6, 0), - gsSP1Triangle(11, 10, 6, 0), - gsSPEndDisplayList(), + gsSPVertex(luigi_hair_sideburn_cap_on_dl_vertex + 0, 12, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0), + gsSP2Triangles(1, 3, 4, 0, 4, 5, 1, 0), + gsSP2Triangles(6, 7, 8, 0, 8, 9, 6, 0), + gsSP2Triangles(9, 10, 6, 0, 11, 6, 10, 0), + gsSPEndDisplayList(), }; Gfx luigi_mustache_cap_on_dl[] = { - gsSPVertex(luigi_mustache_cap_on_dl_vertex + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 3, 2, 0), - gsSP1Triangle(4, 3, 1, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(4, 6, 5, 0), - gsSP1Triangle(3, 5, 7, 0), - gsSP1Triangle(3, 7, 8, 0), - gsSP1Triangle(8, 2, 3, 0), - gsSP1Triangle(9, 10, 11, 0), - gsSP1Triangle(12, 10, 9, 0), - gsSP1Triangle(9, 13, 12, 0), - gsSP1Triangle(13, 14, 12, 0), - gsSP1Triangle(15, 14, 13, 0), - gsSPVertex(luigi_mustache_cap_on_dl_vertex + 16, 5, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(1, 3, 4, 0), - gsSPEndDisplayList(), + gsSPVertex(luigi_mustache_cap_on_dl_vertex + 0, 18, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 0, 3, 0), + gsSP2Triangles(0, 4, 3, 0, 5, 3, 4, 0), + gsSP2Triangles(5, 4, 6, 0, 7, 3, 5, 0), + gsSP2Triangles(8, 3, 7, 0, 3, 8, 1, 0), + gsSP2Triangles(9, 10, 11, 0, 10, 12, 11, 0), + gsSP2Triangles(12, 10, 13, 0, 12, 13, 14, 0), + gsSP2Triangles(14, 13, 15, 0, 14, 16, 12, 0), + gsSP2Triangles(17, 12, 16, 0, 11, 12, 17, 0), + gsSPEndDisplayList(), }; Gfx luigi_face_part_cap_on_dl[] = { - gsSPVertex(luigi_face_part_cap_on_dl_vertex + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(0, 4, 3, 0), - gsSP1Triangle(3, 5, 1, 0), - gsSP1Triangle(6, 5, 3, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(7, 10, 8, 0), - gsSP1Triangle(11, 10, 7, 0), - gsSP1Triangle(11, 12, 10, 0), - gsSP1Triangle(11, 13, 12, 0), - gsSP1Triangle(11, 14, 13, 0), - gsSP1Triangle(12, 13, 15, 0), - gsSPVertex(luigi_face_part_cap_on_dl_vertex + 16, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 1, 3, 0), - gsSP1Triangle(4, 2, 3, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(5, 6, 4, 0), - gsSP1Triangle(2, 4, 6, 0), - gsSP1Triangle(0, 2, 6, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(8, 10, 9, 0), - gsSP1Triangle(8, 11, 10, 0), - gsSP1Triangle(10, 11, 12, 0), - gsSP1Triangle(13, 9, 10, 0), - gsSP1Triangle(13, 14, 9, 0), - gsSP1Triangle(13, 10, 15, 0), - gsSPVertex(luigi_face_part_cap_on_dl_vertex + 32, 14, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(3, 4, 1, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(6, 1, 4, 0), - gsSP1Triangle(1, 6, 2, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(8, 7, 10, 0), - gsSP1Triangle(10, 7, 11, 0), - gsSP1Triangle(12, 11, 7, 0), - gsSP1Triangle(13, 10, 11, 0), - gsSPVertex(luigi_face_part_cap_on_dl_vertex + 46, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(0, 4, 3, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(4, 6, 5, 0), - gsSP1Triangle(6, 4, 7, 0), - gsSP1Triangle(7, 8, 6, 0), - gsSP1Triangle(9, 8, 7, 0), - gsSP1Triangle(10, 8, 9, 0), - gsSP1Triangle(8, 10, 11, 0), - gsSP1Triangle(10, 12, 11, 0), - gsSP1Triangle(11, 12, 13, 0), - gsSP1Triangle(12, 14, 13, 0), - gsSP1Triangle(14, 12, 15, 0), - gsSP1Triangle(15, 1, 14, 0), - gsSP1Triangle(2, 1, 15, 0), - gsSPVertex(luigi_face_part_cap_on_dl_vertex + 62, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 3, 2, 0), - gsSP1Triangle(4, 3, 1, 0), - gsSP1Triangle(5, 3, 4, 0), - gsSP1Triangle(5, 4, 6, 0), - gsSP1Triangle(5, 6, 7, 0), - gsSP1Triangle(8, 7, 6, 0), - gsSP1Triangle(9, 8, 6, 0), - gsSP1Triangle(9, 10, 8, 0), - gsSP1Triangle(10, 11, 8, 0), - gsSP1Triangle(11, 10, 12, 0), - gsSP1Triangle(13, 11, 12, 0), - gsSP1Triangle(13, 12, 14, 0), - gsSP1Triangle(15, 13, 14, 0), - gsSP1Triangle(14, 2, 15, 0), - gsSP1Triangle(14, 0, 2, 0), - gsSPVertex(luigi_face_part_cap_on_dl_vertex + 78, 10, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 1, 3, 0), - gsSP1Triangle(2, 3, 4, 0), - gsSP1Triangle(2, 4, 5, 0), - gsSP1Triangle(6, 2, 5, 0), - gsSP1Triangle(7, 6, 5, 0), - gsSP1Triangle(7, 8, 6, 0), - gsSP1Triangle(9, 6, 8, 0), - gsSP1Triangle(9, 0, 6, 0), - gsSP1Triangle(6, 0, 2, 0), - gsSPEndDisplayList(), + gsSPVertex(luigi_face_part_cap_on_dl_vertex + 0, 60, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 1, 3, 0), + gsSP2Triangles(1, 4, 3, 0, 5, 3, 4, 0), + gsSP2Triangles(6, 5, 4, 0, 6, 4, 7, 0), + gsSP2Triangles(6, 8, 5, 0, 6, 9, 8, 0), + gsSP2Triangles(10, 9, 6, 0, 10, 11, 9, 0), + gsSP2Triangles(11, 10, 12, 0, 11, 12, 13, 0), + gsSP2Triangles(9, 11, 13, 0, 8, 9, 13, 0), + gsSP2Triangles(3, 14, 2, 0, 15, 14, 3, 0), + gsSP2Triangles(5, 15, 3, 0, 5, 16, 15, 0), + gsSP2Triangles(14, 15, 17, 0, 15, 18, 17, 0), + gsSP2Triangles(19, 17, 18, 0, 19, 18, 20, 0), + gsSP2Triangles(19, 20, 21, 0, 20, 22, 21, 0), + gsSP2Triangles(22, 23, 21, 0, 19, 21, 23, 0), + gsSP2Triangles(17, 19, 23, 0, 24, 14, 17, 0), + gsSP2Triangles(25, 26, 27, 0, 26, 25, 28, 0), + gsSP2Triangles(24, 28, 25, 0, 29, 26, 28, 0), + gsSP2Triangles(28, 30, 29, 0, 31, 32, 33, 0), + gsSP2Triangles(33, 34, 31, 0, 33, 35, 34, 0), + gsSP2Triangles(35, 33, 7, 0, 35, 36, 34, 0), + gsSP2Triangles(37, 0, 38, 0, 38, 0, 39, 0), + gsSP2Triangles(39, 40, 38, 0, 40, 39, 41, 0), + gsSP2Triangles(42, 40, 41, 0, 43, 42, 41, 0), + gsSP2Triangles(41, 27, 43, 0, 44, 43, 27, 0), + gsSP2Triangles(27, 45, 44, 0, 44, 45, 36, 0), + gsSP2Triangles(36, 46, 44, 0, 46, 36, 47, 0), + gsSP2Triangles(48, 46, 47, 0, 49, 48, 47, 0), + gsSP2Triangles(47, 37, 49, 0, 38, 49, 37, 0), + gsSP2Triangles(50, 49, 38, 0, 51, 50, 38, 0), + gsSP2Triangles(38, 40, 51, 0, 40, 52, 51, 0), + gsSP2Triangles(52, 40, 42, 0, 52, 42, 53, 0), + gsSP2Triangles(53, 42, 54, 0, 42, 43, 54, 0), + gsSP2Triangles(54, 43, 44, 0, 55, 54, 44, 0), + gsSP2Triangles(44, 46, 55, 0, 46, 56, 55, 0), + gsSP2Triangles(48, 56, 46, 0, 48, 57, 56, 0), + gsSP2Triangles(50, 57, 48, 0, 49, 50, 48, 0), + gsSP2Triangles(58, 57, 50, 0, 57, 58, 59, 0), + gsSP2Triangles(58, 53, 59, 0, 52, 53, 58, 0), + gsSP2Triangles(51, 52, 58, 0, 51, 58, 50, 0), + gsSP2Triangles(54, 59, 53, 0, 59, 54, 55, 0), + gsSP2Triangles(59, 55, 56, 0, 59, 56, 57, 0), + gsSPEndDisplayList(), }; Gfx luigi_face_cap_dl[] = { - gsSPVertex(luigi_face_cap_dl_vertex + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(4, 0, 2, 0), - gsSP1Triangle(5, 4, 2, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(6, 5, 7, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(4, 6, 8, 0), - gsSP1Triangle(4, 8, 3, 0), - gsSP1Triangle(9, 1, 10, 0), - gsSP1Triangle(11, 1, 9, 0), - gsSP1Triangle(12, 11, 9, 0), - gsSP1Triangle(13, 12, 9, 0), - gsSP1Triangle(9, 14, 13, 0), - gsSP1Triangle(10, 14, 9, 0), - gsSP1Triangle(14, 10, 15, 0), - gsSPVertex(luigi_face_cap_dl_vertex + 16, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(4, 1, 3, 0), - gsSP1Triangle(3, 5, 4, 0), - gsSP1Triangle(5, 6, 4, 0), - gsSP1Triangle(7, 4, 6, 0), - gsSP1Triangle(7, 6, 8, 0), - gsSP1Triangle(8, 9, 7, 0), - gsSP1Triangle(7, 9, 10, 0), - gsSP1Triangle(9, 11, 10, 0), - gsSP1Triangle(9, 12, 11, 0), - gsSP1Triangle(12, 13, 11, 0), - gsSP1Triangle(12, 14, 13, 0), - gsSP1Triangle(13, 14, 15, 0), - gsSPVertex(luigi_face_cap_dl_vertex + 32, 11, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(1, 3, 4, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(6, 5, 3, 0), - gsSP1Triangle(7, 5, 6, 0), - gsSP1Triangle(8, 5, 7, 0), - gsSP1Triangle(5, 8, 9, 0), - gsSP1Triangle(4, 5, 9, 0), - gsSP1Triangle(4, 9, 10, 0), - gsSP1Triangle(4, 10, 2, 0), - gsSP1Triangle(1, 4, 2, 0), - gsSPEndDisplayList(), + gsSPVertex(luigi_face_cap_dl_vertex + 0, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0), + gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), + gsSP2Triangles(6, 3, 5, 0, 5, 7, 6, 0), + gsSP2Triangles(6, 7, 8, 0, 8, 7, 9, 0), + gsSP2Triangles(9, 10, 8, 0, 10, 9, 11, 0), + gsSP2Triangles(10, 11, 12, 0, 12, 13, 10, 0), + gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), + gsSP2Triangles(13, 15, 16, 0, 16, 15, 17, 0), + gsSP2Triangles(15, 18, 17, 0, 17, 18, 1, 0), + gsSP2Triangles(2, 1, 18, 0, 1, 19, 17, 0), + gsSP2Triangles(20, 19, 1, 0, 3, 20, 1, 0), + gsSP2Triangles(20, 3, 6, 0, 20, 6, 21, 0), + gsSP2Triangles(6, 8, 21, 0, 8, 10, 21, 0), + gsSP2Triangles(13, 21, 10, 0, 13, 22, 21, 0), + gsSP2Triangles(16, 22, 13, 0, 17, 22, 16, 0), + gsSP2Triangles(17, 19, 22, 0, 22, 19, 20, 0), + gsSP2Triangles(20, 21, 22, 0, 23, 24, 4, 0), + gsSP2Triangles(23, 25, 24, 0, 23, 26, 25, 0), + gsSP2Triangles(27, 25, 26, 0, 11, 27, 26, 0), + gsSP2Triangles(28, 27, 11, 0, 28, 25, 27, 0), + gsSP2Triangles(29, 25, 28, 0, 24, 25, 29, 0), + gsSP1Triangle(24, 29, 4, 0), + gsSPEndDisplayList(), }; Gfx luigi_face_back_hair_cap_on_dl[] = { - gsSPVertex(luigi_face_back_hair_cap_on_dl_vertex + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 1, 3, 0), - gsSP1Triangle(1, 4, 3, 0), - gsSP1Triangle(1, 5, 4, 0), - gsSP1Triangle(6, 5, 1, 0), - gsSP1Triangle(6, 7, 5, 0), - gsSP1Triangle(6, 8, 7, 0), - gsSP1Triangle(9, 8, 6, 0), - gsSP1Triangle(9, 6, 10, 0), - gsSP1Triangle(9, 11, 8, 0), - gsSP1Triangle(12, 11, 9, 0), - gsSP1Triangle(12, 13, 11, 0), - gsSP1Triangle(13, 12, 5, 0), - gsSP1Triangle(7, 13, 5, 0), - gsSP1Triangle(13, 7, 14, 0), - gsSP1Triangle(7, 8, 14, 0), - gsSP1Triangle(8, 11, 14, 0), - gsSP1Triangle(11, 13, 14, 0), - gsSP1Triangle(2, 3, 15, 0), - gsSPVertex(luigi_face_back_hair_cap_on_dl_vertex + 16, 8, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 2, 3, 0), - gsSP1Triangle(0, 3, 4, 0), - gsSP1Triangle(4, 3, 5, 0), - gsSP1Triangle(6, 4, 5, 0), - gsSP1Triangle(6, 1, 4, 0), - gsSP1Triangle(6, 7, 1, 0), - gsSP1Triangle(0, 4, 1, 0), - gsSPEndDisplayList(), + gsSPVertex(luigi_face_back_hair_cap_on_dl_vertex + 0, 19, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(2, 4, 3, 0, 4, 2, 5, 0), + gsSP2Triangles(5, 6, 4, 0, 6, 5, 7, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 0, 8, 0), + gsSP2Triangles(7, 9, 0, 0, 7, 10, 9, 0), + gsSP2Triangles(11, 10, 7, 0, 7, 12, 11, 0), + gsSP2Triangles(13, 11, 12, 0, 12, 14, 13, 0), + gsSP2Triangles(15, 13, 14, 0, 14, 9, 15, 0), + gsSP2Triangles(14, 16, 9, 0, 10, 15, 9, 0), + gsSP2Triangles(10, 17, 15, 0, 11, 17, 10, 0), + gsSP2Triangles(13, 17, 11, 0, 17, 13, 15, 0), + gsSP2Triangles(3, 8, 0, 0, 3, 18, 8, 0), + gsSP2Triangles(4, 18, 3, 0, 6, 18, 4, 0), + gsSP1Triangle(8, 18, 6, 0), + gsSPEndDisplayList(), }; -const Gfx luigi_hair_sideburn_decal_cap_on[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, COMBINED, 0, 0, 0, COMBINED), +// 0x04011960 - 0x040119A0 +const Gfx luigi_face_cap_on_dl[] = { + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&luigi_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 11), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_add_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 124), gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(SKIN), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_skin_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPEndDisplayList(), -}; - -const Gfx luigi_l_logo_decal[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&luigi_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 17), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_blend), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 124), - gsSPDisplayList(luigi_l_logo_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(CAP), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_cap), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 124), - gsSPDisplayList(luigi_l_logo_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPEndDisplayList(), -}; - -const Gfx luigi_face_cap_on_dl[] = { + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_part_cap_on_dl), gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(luigi_face_cap_dl), @@ -1928,17 +1699,30 @@ const Gfx luigi_face_cap_on_dl[] = { gsSPEndDisplayList(), }; +// 0x040119A0 - 0x04011A90 const Gfx luigi_cap_on_eyes_front[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), @@ -1952,17 +1736,30 @@ const Gfx luigi_cap_on_eyes_front[] = { gsSPEndDisplayList(), }; +// 0x04011A90 - 0x04011B80 const Gfx luigi_cap_on_eyes_half_closed[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), @@ -1976,17 +1773,30 @@ const Gfx luigi_cap_on_eyes_half_closed[] = { gsSPEndDisplayList(), }; +// 0x04011B80 - 0x04011C70 const Gfx luigi_cap_on_eyes_closed[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), @@ -2000,17 +1810,30 @@ const Gfx luigi_cap_on_eyes_closed[] = { gsSPEndDisplayList(), }; +// 0x04011C70 - 0x04011D60 const Gfx luigi_cap_on_eyes_right[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), @@ -2024,17 +1847,30 @@ const Gfx luigi_cap_on_eyes_right[] = { gsSPEndDisplayList(), }; +// 0x04011D60 - 0x04011E50 const Gfx luigi_cap_on_eyes_left[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), @@ -2048,17 +1884,30 @@ const Gfx luigi_cap_on_eyes_left[] = { gsSPEndDisplayList(), }; +// 0x04011E50 - 0x04011F40 const Gfx luigi_cap_on_eyes_up[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), @@ -2072,17 +1921,30 @@ const Gfx luigi_cap_on_eyes_up[] = { gsSPEndDisplayList(), }; +// 0x04011F40 - 0x04012030 const Gfx luigi_cap_on_eyes_down[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), @@ -2096,17 +1958,30 @@ const Gfx luigi_cap_on_eyes_down[] = { gsSPEndDisplayList(), }; +// 0x04012030 - 0x04012120 const Gfx luigi_cap_on_eyes_dead[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), @@ -2120,6 +1995,329 @@ const Gfx luigi_cap_on_eyes_dead[] = { gsSPEndDisplayList(), }; +// 0x04011960 - 0x040119A0 +const Gfx luigi_face_cap_on_transparent_dl[] = { + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_part_cap_on_dl), + gsSPCopyLightsPlayerPart(CAP), + gsSPDisplayList(luigi_face_cap_dl), + gsSPCopyLightsPlayerPart(HAIR), + gsSPDisplayList(luigi_face_back_hair_cap_on_dl), + gsSPEndDisplayList(), +}; + +// 0x040119A0 - 0x04011A90 +const Gfx luigi_cap_on_eyes_front_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_front), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04011A90 - 0x04011B80 +const Gfx luigi_cap_on_eyes_half_closed_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_half_closed), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04011B80 - 0x04011C70 +const Gfx luigi_cap_on_eyes_closed_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_closed), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04011C70 - 0x04011D60 +const Gfx luigi_cap_on_eyes_right_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_right), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04011D60 - 0x04011E50 +const Gfx luigi_cap_on_eyes_left_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_left), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04011E50 - 0x04011F40 +const Gfx luigi_cap_on_eyes_up_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_up), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04011F40 - 0x04012030 +const Gfx luigi_cap_on_eyes_down_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_down), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04012030 - 0x04012120 +const Gfx luigi_cap_on_eyes_dead_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_dead), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04012120 - 0x04012160 const Gfx luigi_metal_cap_on_shared_dl[] = { gsSPDisplayList(luigi_l_logo_dl), gsSPDisplayList(luigi_eyes_cap_on_dl), @@ -2132,528 +2330,327 @@ const Gfx luigi_metal_cap_on_shared_dl[] = { }; Vtx luigi_eyes_cap_off_dl_vertex[12] = { - {{ {78, 89, -20}, 0, {282, 1028}, {67, 68, 173, 255} }}, - {{ {135, 74, -54}, 0, {-84, 412}, {25, 91, 171, 255} }}, - {{ {94, 76, -56}, 0, {-98, 860}, {17, 100, 180, 255} }}, - {{ {166, 84, -26}, 0, {202, 68}, {25, 117, 214, 255} }}, - {{ {135, 91, 0}, 0, {480, 402}, {10, 127, 0, 255} }}, - {{ {88, 92, 0}, 0, {488, 916}, {97, 82, 0, 255} }}, - {{ {78, 89, 20}, 0, {700, 1020}, {70, 67, 82, 255} }}, - {{ {166, 84, 27}, 0, {756, 60}, {25, 118, 41, 255} }}, - {{ {135, 74, 55}, 0, {1054, 392}, {25, 91, 85, 255} }}, - {{ {94, 76, 57}, 0, {1084, 840}, {17, 101, 76, 255} }}, - {{ {147, 31, 77}, 0, {1282, 258}, {0, 55, 115, 255} }}, - {{ {147, 31, -76}, 0, {-318, 286}, {246, 51, 140, 255} }}, + {{{94, 76, -56}, 0, {-102, 860}, {0x30, 0x5C, 0xB7, 0xFF}}}, + {{{78, 89, -20}, 0, {282, 1022}, {0x40, 0x5B, 0xC3, 0xFF}}}, + {{{135, 74, -54}, 0, {-88, 412}, {0x19, 0x5C, 0xAC, 0xFF}}}, + {{{166, 84, -26}, 0, {198, 66}, {0xF5, 0x73, 0xCC, 0xFF}}}, + {{{135, 91, 0}, 0, {480, 398}, {0x13, 0x7E, 0x00, 0xFF}}}, + {{{88, 92, 0}, 0, {488, 902}, {0x6A, 0x46, 0x00, 0xFF}}}, + {{{78, 89, 20}, 0, {698, 1010}, {0x40, 0x5B, 0x3D, 0xFF}}}, + {{{166, 84, 27}, 0, {750, 48}, {0x01, 0x76, 0x2F, 0xFF}}}, + {{{135, 74, 55}, 0, {1050, 380}, {0x19, 0x5C, 0x54, 0xFF}}}, + {{{94, 76, 57}, 0, {1080, 826}, {0x30, 0x5C, 0x49, 0xFF}}}, + {{{147, 31, 77}, 0, {1280, 240}, {0x05, 0x38, 0x72, 0xFF}}}, + {{{147, 31, -76}, 0, {-322, 286}, {0xFE, 0x36, 0x8D, 0xFF}}}, }; Vtx luigi_hair_sideburn_cap_off_dl_vertex[12] = { - {{ {88, 42, -76}, 0, {-70, 700}, {7, 42, 136, 255} }}, - {{ {147, 31, -76}, 0, {90, -58}, {246, 51, 140, 255} }}, - {{ {115, -12, -91}, 0, {916, 184}, {255, 17, 130, 255} }}, - {{ {80, -24, -92}, 0, {1150, 582}, {0, 89, 165, 255} }}, - {{ {32, -5, -84}, 0, {842, 1210}, {187, 248, 149, 255} }}, - {{ {34, 34, -78}, 0, {118, 1334}, {213, 31, 140, 255} }}, - {{ {88, 42, 77}, 0, {-74, 726}, {6, 43, 119, 255} }}, - {{ {115, -11, 93}, 0, {922, 122}, {254, 18, 126, 255} }}, - {{ {147, 31, 77}, 0, {22, -68}, {0, 55, 115, 255} }}, - {{ {80, -24, 93}, 0, {1238, 518}, {254, 89, 91, 255} }}, - {{ {32, -5, 85}, 0, {968, 1192}, {187, 248, 107, 255} }}, - {{ {34, 34, 79}, 0, {196, 1366}, {213, 31, 116, 255} }}, + {{{88, 42, 77}, 0, {-74, 726}, {0x10, 0x28, 0x77, 0xFF}}}, + {{{34, 34, 79}, 0, {196, 1366}, {0xDA, 0x21, 0x75, 0xFF}}}, + {{{32, -5, 85}, 0, {968, 1192}, {0xC2, 0x05, 0x6F, 0xFF}}}, + {{{80, -24, 93}, 0, {1238, 518}, {0x04, 0x59, 0x5B, 0xFF}}}, + {{{115, -11, 93}, 0, {922, 122}, {0xFF, 0x13, 0x7E, 0xFF}}}, + {{{147, 31, 77}, 0, {22, -68}, {0x05, 0x38, 0x72, 0xFF}}}, + {{{32, -5, -84}, 0, {842, 1210}, {0xC2, 0x05, 0x91, 0xFF}}}, + {{{34, 34, -78}, 0, {118, 1334}, {0xDA, 0x21, 0x8B, 0xFF}}}, + {{{88, 42, -76}, 0, {-70, 700}, {0x11, 0x27, 0x88, 0xFF}}}, + {{{80, -24, -92}, 0, {1150, 582}, {0x06, 0x59, 0xA6, 0xFF}}}, + {{{115, -12, -91}, 0, {916, 184}, {0xFF, 0x13, 0x82, 0xFF}}}, + {{{147, 31, -76}, 0, {90, -58}, {0xFE, 0x36, 0x8D, 0xFF}}}, }; -Vtx luigi_mustache_cap_off_dl_vertex[21] = { - {{ {78, 89, 20}, 0, {248, 50}, {70, 67, 82, 255} }}, - {{ {58, 93, 28}, 0, {330, 316}, {20, 35, 120, 255} }}, - {{ {66, 76, 68}, 0, {948, -8}, {7, 85, 94, 255} }}, - {{ {35, 79, 58}, 0, {784, 566}, {211, 87, 81, 255} }}, - {{ {35, 94, 27}, 0, {292, 670}, {183, 45, 94, 255} }}, - {{ {13, 83, 24}, 0, {336, 1006}, {173, 91, 31, 255} }}, - {{ {24, 91, 0}, 0, {-30, 876}, {139, 50, 0, 255} }}, - {{ {-7, 40, 43}, 0, {768, 1210}, {147, 20, 62, 255} }}, - {{ {34, 34, 79}, 0, {1276, 438}, {213, 31, 116, 255} }}, - {{ {35, 94, -26}, 0, {294, 656}, {184, 46, 162, 255} }}, - {{ {13, 83, -24}, 0, {310, 1002}, {174, 91, 224, 255} }}, - {{ {24, 91, 0}, 0, {-38, 852}, {139, 50, 0, 255} }}, - {{ {35, 79, -57}, 0, {780, 576}, {211, 86, 174, 255} }}, - {{ {58, 93, -27}, 0, {360, 296}, {18, 35, 135, 255} }}, - {{ {66, 76, -67}, 0, {992, -10}, {7, 85, 162, 255} }}, - {{ {78, 89, -20}, 0, {322, -20}, {67, 68, 173, 255} }}, - {{ {34, 34, -78}, 0, {1272, 464}, {213, 31, 140, 255} }}, - {{ {35, 79, -57}, 0, {780, 576}, {211, 86, 174, 255} }}, - {{ {66, 76, -67}, 0, {992, -10}, {7, 85, 162, 255} }}, - {{ {-7, 40, -42}, 0, {720, 1228}, {147, 19, 194, 255} }}, - {{ {13, 83, -24}, 0, {310, 1002}, {174, 91, 224, 255} }}, +Vtx luigi_mustache_cap_off_dl_vertex[18] = { + {{{66, 76, -67}, 0, {992, -10}, {0x23, 0x59, 0xAD, 0xFF}}}, + {{{58, 93, -27}, 0, {360, 296}, {0x0E, 0x16, 0x84, 0xFF}}}, + {{{78, 89, -20}, 0, {322, -20}, {0x40, 0x5B, 0xC3, 0xFF}}}, + {{{35, 79, -57}, 0, {780, 576}, {0xD7, 0x61, 0xB9, 0xFF}}}, + {{{34, 34, -78}, 0, {1272, 464}, {0xDA, 0x21, 0x8B, 0xFF}}}, + {{{-7, 40, -42}, 0, {720, 1228}, {0x94, 0x1D, 0xC4, 0xFF}}}, + {{{13, 83, -24}, 0, {310, 1002}, {0xB1, 0x61, 0xEA, 0xFF}}}, + {{{35, 94, -26}, 0, {294, 656}, {0xA7, 0x32, 0xB4, 0xFF}}}, + {{{24, 91, 0}, 0, {-38, 852}, {0x95, 0x44, 0x00, 0xFF}}}, + {{{58, 93, 28}, 0, {330, 316}, {0x0E, 0x16, 0x7C, 0xFF}}}, + {{{66, 76, 68}, 0, {948, -8}, {0x23, 0x59, 0x53, 0xFF}}}, + {{{78, 89, 20}, 0, {248, 50}, {0x40, 0x5B, 0x3D, 0xFF}}}, + {{{35, 79, 58}, 0, {784, 566}, {0xD7, 0x61, 0x47, 0xFF}}}, + {{{35, 94, 27}, 0, {292, 670}, {0xA8, 0x33, 0x4B, 0xFF}}}, + {{{13, 83, 24}, 0, {336, 1006}, {0xB1, 0x61, 0x16, 0xFF}}}, + {{{24, 91, 0}, 0, {-30, 876}, {0x95, 0x44, 0x00, 0xFF}}}, + {{{-7, 40, 43}, 0, {768, 1210}, {0x94, 0x1D, 0x3C, 0xFF}}}, + {{{34, 34, 79}, 0, {1276, 438}, {0xDA, 0x21, 0x75, 0xFF}}}, }; -Vtx luigi_face_part_cap_off_dl_vertex[88] = { - {{ {66, 76, 68}, 0, {0, 0}, {7, 85, 94, 255} }}, - {{ {94, 76, 57}, 0, {0, 0}, {17, 101, 76, 255} }}, - {{ {78, 89, 20}, 0, {0, 0}, {70, 67, 82, 255} }}, - {{ {88, 42, 77}, 0, {0, 0}, {6, 43, 119, 255} }}, - {{ {34, 34, 79}, 0, {0, 0}, {213, 31, 116, 255} }}, - {{ {135, 74, 55}, 0, {0, 0}, {25, 91, 85, 255} }}, - {{ {147, 31, 77}, 0, {0, 0}, {0, 55, 115, 255} }}, - {{ {13, 83, -24}, 0, {0, 0}, {174, 91, 224, 255} }}, - {{ {13, 83, 24}, 0, {0, 0}, {173, 91, 31, 255} }}, - {{ {24, 91, 0}, 0, {0, 0}, {139, 50, 0, 255} }}, - {{ {-19, 46, 0}, 0, {0, 0}, {131, 25, 0, 255} }}, - {{ {-7, 40, -42}, 0, {0, 0}, {147, 19, 194, 255} }}, - {{ {12, -51, -34}, 0, {0, 0}, {132, 0, 227, 255} }}, - {{ {32, -5, -84}, 0, {0, 0}, {187, 248, 149, 255} }}, - {{ {34, 34, -78}, 0, {0, 0}, {213, 31, 140, 255} }}, - {{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }}, - {{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }}, - {{ {32, -5, -84}, 0, {0, 0}, {187, 248, 149, 255} }}, - {{ {57, -27, -110}, 0, {0, 0}, {217, 254, 135, 255} }}, - {{ {80, -24, -92}, 0, {0, 0}, {0, 89, 165, 255} }}, - {{ {95, -31, -110}, 0, {0, 0}, {43, 243, 137, 255} }}, - {{ {115, -12, -91}, 0, {0, 0}, {255, 17, 130, 255} }}, - {{ {88, -51, -73}, 0, {0, 0}, {224, 184, 156, 255} }}, - {{ {13, 83, 24}, 0, {0, 0}, {173, 91, 31, 255} }}, - {{ {-19, 46, 0}, 0, {0, 0}, {131, 25, 0, 255} }}, - {{ {-7, 40, 43}, 0, {0, 0}, {147, 20, 62, 255} }}, - {{ {12, -51, 35}, 0, {0, 0}, {133, 0, 30, 255} }}, - {{ {12, -51, -34}, 0, {0, 0}, {132, 0, 227, 255} }}, - {{ {26, -79, 0}, 0, {0, 0}, {160, 172, 0, 255} }}, - {{ {32, -5, 85}, 0, {0, 0}, {187, 248, 107, 255} }}, - {{ {34, 34, 79}, 0, {0, 0}, {213, 31, 116, 255} }}, - {{ {51, -44, 65}, 0, {0, 0}, {208, 193, 100, 255} }}, - {{ {51, -44, 65}, 0, {0, 0}, {208, 193, 100, 255} }}, - {{ {57, -27, 111}, 0, {0, 0}, {217, 254, 121, 255} }}, - {{ {32, -5, 85}, 0, {0, 0}, {187, 248, 107, 255} }}, - {{ {88, -51, 74}, 0, {0, 0}, {224, 183, 99, 255} }}, - {{ {95, -31, 111}, 0, {0, 0}, {42, 241, 119, 255} }}, - {{ {115, -11, 93}, 0, {0, 0}, {254, 18, 126, 255} }}, - {{ {80, -24, 93}, 0, {0, 0}, {254, 89, 91, 255} }}, - {{ {88, 42, -76}, 0, {0, 0}, {7, 42, 136, 255} }}, - {{ {135, 74, -54}, 0, {0, 0}, {25, 91, 171, 255} }}, - {{ {147, 31, -76}, 0, {0, 0}, {246, 51, 140, 255} }}, - {{ {94, 76, -56}, 0, {0, 0}, {17, 100, 180, 255} }}, - {{ {66, 76, -67}, 0, {0, 0}, {7, 85, 162, 255} }}, - {{ {34, 34, -78}, 0, {0, 0}, {213, 31, 140, 255} }}, - {{ {78, 89, -20}, 0, {0, 0}, {67, 68, 173, 255} }}, - {{ {35, 94, 27}, 0, {0, 0}, {183, 45, 94, 255} }}, - {{ {15, 111, 0}, 0, {0, 0}, {132, 230, 254, 255} }}, - {{ {24, 91, 0}, 0, {0, 0}, {139, 50, 0, 255} }}, - {{ {29, 112, 36}, 0, {0, 0}, {179, 226, 96, 255} }}, - {{ {58, 93, 28}, 0, {0, 0}, {20, 35, 120, 255} }}, - {{ {55, 112, 41}, 0, {0, 0}, {255, 220, 122, 255} }}, - {{ {81, 112, 36}, 0, {0, 0}, {75, 223, 97, 255} }}, - {{ {78, 89, 20}, 0, {0, 0}, {70, 67, 82, 255} }}, - {{ {96, 113, 0}, 0, {0, 0}, {125, 234, 0, 255} }}, - {{ {88, 92, 0}, 0, {0, 0}, {97, 82, 0, 255} }}, - {{ {78, 89, -20}, 0, {0, 0}, {67, 68, 173, 255} }}, - {{ {81, 112, -35}, 0, {0, 0}, {75, 224, 158, 255} }}, - {{ {58, 93, -27}, 0, {0, 0}, {18, 35, 135, 255} }}, - {{ {55, 112, -40}, 0, {0, 0}, {255, 220, 134, 255} }}, - {{ {29, 112, -35}, 0, {0, 0}, {178, 228, 160, 255} }}, - {{ {35, 94, -26}, 0, {0, 0}, {184, 46, 162, 255} }}, - {{ {29, 112, -35}, 0, {0, 0}, {178, 228, 160, 255} }}, - {{ {15, 111, 0}, 0, {0, 0}, {132, 230, 254, 255} }}, - {{ {32, 141, -35}, 0, {0, 0}, {191, 64, 167, 255} }}, - {{ {15, 141, 0}, 0, {0, 0}, {142, 56, 254, 255} }}, - {{ {29, 112, 36}, 0, {0, 0}, {179, 226, 96, 255} }}, - {{ {32, 141, 36}, 0, {0, 0}, {193, 65, 89, 255} }}, - {{ {55, 112, 41}, 0, {0, 0}, {255, 220, 122, 255} }}, - {{ {58, 141, 41}, 0, {0, 0}, {0, 67, 108, 255} }}, - {{ {82, 142, 36}, 0, {0, 0}, {69, 61, 88, 255} }}, - {{ {81, 112, 36}, 0, {0, 0}, {75, 223, 97, 255} }}, - {{ {96, 113, 0}, 0, {0, 0}, {125, 234, 0, 255} }}, - {{ {96, 142, 0}, 0, {0, 0}, {117, 50, 255, 255} }}, - {{ {81, 112, -35}, 0, {0, 0}, {75, 224, 158, 255} }}, - {{ {82, 142, -35}, 0, {0, 0}, {69, 60, 168, 255} }}, - {{ {55, 112, -40}, 0, {0, 0}, {255, 220, 134, 255} }}, - {{ {58, 141, -40}, 0, {0, 0}, {0, 66, 147, 255} }}, - {{ {58, 141, -40}, 0, {0, 0}, {0, 66, 147, 255} }}, - {{ {32, 141, -35}, 0, {0, 0}, {191, 64, 167, 255} }}, - {{ {39, 156, 0}, 0, {0, 0}, {224, 123, 0, 255} }}, - {{ {15, 141, 0}, 0, {0, 0}, {142, 56, 254, 255} }}, - {{ {32, 141, 36}, 0, {0, 0}, {193, 65, 89, 255} }}, - {{ {58, 141, 41}, 0, {0, 0}, {0, 67, 108, 255} }}, - {{ {77, 157, 0}, 0, {0, 0}, {35, 122, 0, 255} }}, - {{ {82, 142, 36}, 0, {0, 0}, {69, 61, 88, 255} }}, - {{ {96, 142, 0}, 0, {0, 0}, {117, 50, 255, 255} }}, - {{ {82, 142, -35}, 0, {0, 0}, {69, 60, 168, 255} }}, +Vtx luigi_face_part_cap_off_dl_vertex[60] = { + {{{66, 76, -67}, 0, {0, 0}, {0x23, 0x59, 0xAD, 0xFF}}}, + {{{78, 89, -20}, 0, {0, 0}, {0x40, 0x5B, 0xC3, 0xFF}}}, + {{{94, 76, -56}, 0, {0, 0}, {0x30, 0x5C, 0xB7, 0xFF}}}, + {{{88, 42, -76}, 0, {0, 0}, {0x11, 0x27, 0x88, 0xFF}}}, + {{{135, 74, -54}, 0, {0, 0}, {0x19, 0x5C, 0xAC, 0xFF}}}, + {{{147, 31, -76}, 0, {0, 0}, {0xFE, 0x36, 0x8D, 0xFF}}}, + {{{34, 34, -78}, 0, {0, 0}, {0xDA, 0x21, 0x8B, 0xFF}}}, + {{{34, 34, 79}, 0, {0, 0}, {0xDA, 0x21, 0x75, 0xFF}}}, + {{{88, 42, 77}, 0, {0, 0}, {0x10, 0x28, 0x77, 0xFF}}}, + {{{66, 76, 68}, 0, {0, 0}, {0x23, 0x59, 0x53, 0xFF}}}, + {{{94, 76, 57}, 0, {0, 0}, {0x30, 0x5C, 0x49, 0xFF}}}, + {{{135, 74, 55}, 0, {0, 0}, {0x19, 0x5C, 0x54, 0xFF}}}, + {{{147, 31, 77}, 0, {0, 0}, {0x05, 0x38, 0x72, 0xFF}}}, + {{{78, 89, 20}, 0, {0, 0}, {0x40, 0x5B, 0x3D, 0xFF}}}, + {{{-7, 40, 43}, 0, {0, 0}, {0x94, 0x1D, 0x3C, 0xFF}}}, + {{{32, -5, 85}, 0, {0, 0}, {0xC2, 0x05, 0x6F, 0xFF}}}, + {{{12, -51, 35}, 0, {0, 0}, {0x88, 0xF8, 0x29, 0xFF}}}, + {{{-19, 46, 0}, 0, {0, 0}, {0x84, 0x1D, 0x00, 0xFF}}}, + {{{13, 83, 24}, 0, {0, 0}, {0xB1, 0x61, 0x16, 0xFF}}}, + {{{13, 83, -24}, 0, {0, 0}, {0xB1, 0x61, 0xEA, 0xFF}}}, + {{{24, 91, 0}, 0, {0, 0}, {0x95, 0x44, 0x00, 0xFF}}}, + {{{-7, 40, -42}, 0, {0, 0}, {0x94, 0x1D, 0xC4, 0xFF}}}, + {{{12, -51, -34}, 0, {0, 0}, {0x88, 0xF8, 0xD7, 0xFF}}}, + {{{32, -5, -84}, 0, {0, 0}, {0xC2, 0x05, 0x91, 0xFF}}}, + {{{51, -44, -64}, 0, {0, 0}, {0xE3, 0xCA, 0x91, 0xFF}}}, + {{{57, -27, -110}, 0, {0, 0}, {0xCC, 0xE5, 0x8F, 0xFF}}}, + {{{80, -24, -92}, 0, {0, 0}, {0x06, 0x59, 0xA6, 0xFF}}}, + {{{95, -31, -110}, 0, {0, 0}, {0x32, 0x19, 0x8E, 0xFF}}}, + {{{115, -12, -91}, 0, {0, 0}, {0xFF, 0x13, 0x82, 0xFF}}}, + {{{88, -51, -73}, 0, {0, 0}, {0xE8, 0xA9, 0xA6, 0xFF}}}, + {{{26, -79, 0}, 0, {0, 0}, {0x9F, 0xAE, 0x00, 0xFF}}}, + {{{88, 92, 0}, 0, {0, 0}, {0x6A, 0x46, 0x00, 0xFF}}}, + {{{96, 113, 0}, 0, {0, 0}, {0x7B, 0xE1, 0x06, 0xFF}}}, + {{{81, 112, -35}, 0, {0, 0}, {0x51, 0xDC, 0xA5, 0xFF}}}, + {{{58, 93, -27}, 0, {0, 0}, {0x0E, 0x16, 0x84, 0xFF}}}, + {{{55, 112, -40}, 0, {0, 0}, {0x00, 0xEC, 0x83, 0xFF}}}, + {{{29, 112, -35}, 0, {0, 0}, {0xBB, 0xDE, 0x9B, 0xFF}}}, + {{{35, 94, -26}, 0, {0, 0}, {0xA7, 0x32, 0xB4, 0xFF}}}, + {{{15, 111, 0}, 0, {0, 0}, {0x84, 0xE8, 0xF8, 0xFF}}}, + {{{35, 94, 27}, 0, {0, 0}, {0xA8, 0x33, 0x4B, 0xFF}}}, + {{{29, 112, 36}, 0, {0, 0}, {0xB0, 0xE4, 0x5E, 0xFF}}}, + {{{58, 93, 28}, 0, {0, 0}, {0x0E, 0x16, 0x7C, 0xFF}}}, + {{{55, 112, 41}, 0, {0, 0}, {0x00, 0xEC, 0x7D, 0xFF}}}, + {{{81, 112, 36}, 0, {0, 0}, {0x45, 0xD6, 0x62, 0xFF}}}, + {{{82, 142, 36}, 0, {0, 0}, {0x52, 0x27, 0x58, 0xFF}}}, + {{{96, 142, 0}, 0, {0, 0}, {0x7A, 0x23, 0xF6, 0xFF}}}, + {{{82, 142, -35}, 0, {0, 0}, {0x44, 0x31, 0xA1, 0xFF}}}, + {{{58, 141, -40}, 0, {0, 0}, {0x03, 0x55, 0xA1, 0xFF}}}, + {{{32, 141, -35}, 0, {0, 0}, {0xB8, 0x34, 0xA6, 0xFF}}}, + {{{15, 141, 0}, 0, {0, 0}, {0x8E, 0x38, 0x09, 0xFF}}}, + {{{32, 141, 36}, 0, {0, 0}, {0xC8, 0x3D, 0x60, 0xFF}}}, + {{{58, 141, 41}, 0, {0, 0}, {0x03, 0x56, 0x5E, 0xFF}}}, + {{{77, 157, 0}, 0, {0, 0}, {0x27, 0x79, 0x00, 0xFF}}}, + {{{39, 156, 0}, 0, {0, 0}, {0xEA, 0x7D, 0x00, 0xFF}}}, + {{{51, -44, 65}, 0, {0, 0}, {0xE3, 0xCA, 0x6F, 0xFF}}}, + {{{57, -27, 111}, 0, {0, 0}, {0xCC, 0xE5, 0x71, 0xFF}}}, + {{{88, -51, 74}, 0, {0, 0}, {0xE9, 0xA9, 0x59, 0xFF}}}, + {{{95, -31, 111}, 0, {0, 0}, {0x30, 0x18, 0x73, 0xFF}}}, + {{{115, -11, 93}, 0, {0, 0}, {0xFF, 0x13, 0x7E, 0xFF}}}, + {{{80, -24, 93}, 0, {0, 0}, {0x04, 0x59, 0x5B, 0xFF}}}, }; -Vtx luigi_face_hair_cap_off_dl_vertex[95] = { - {{ {-3, -81, 44}, 0, {0, 0}, {129, 11, 1, 255} }}, - {{ {12, -51, 35}, 0, {0, 0}, {133, 0, 30, 255} }}, - {{ {26, -79, 0}, 0, {0, 0}, {160, 172, 0, 255} }}, - {{ {19, -78, 73}, 0, {0, 0}, {226, 4, 123, 255} }}, - {{ {5, -113, 53}, 0, {0, 0}, {185, 158, 40, 255} }}, - {{ {24, -109, 21}, 0, {0, 0}, {239, 156, 179, 255} }}, - {{ {62, -96, 42}, 0, {0, 0}, {243, 147, 64, 255} }}, - {{ {62, -96, -42}, 0, {0, 0}, {243, 147, 191, 255} }}, - {{ {24, -109, -21}, 0, {0, 0}, {239, 156, 77, 255} }}, - {{ {-3, -81, -44}, 0, {0, 0}, {129, 11, 255, 255} }}, - {{ {12, -51, -34}, 0, {0, 0}, {132, 0, 227, 255} }}, - {{ {19, -78, -73}, 0, {0, 0}, {227, 5, 132, 255} }}, - {{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }}, - {{ {46, -107, -45}, 0, {0, 0}, {60, 152, 215, 255} }}, - {{ {88, -51, -73}, 0, {0, 0}, {224, 184, 156, 255} }}, - {{ {142, -81, -92}, 0, {0, 0}, {0, 206, 139, 255} }}, - {{ {142, -81, -92}, 0, {0, 0}, {0, 206, 139, 255} }}, - {{ {88, -51, -73}, 0, {0, 0}, {224, 184, 156, 255} }}, - {{ {115, -12, -91}, 0, {0, 0}, {255, 17, 130, 255} }}, - {{ {176, -9, -97}, 0, {0, 0}, {39, 5, 135, 255} }}, - {{ {147, 31, -76}, 0, {0, 0}, {246, 51, 140, 255} }}, - {{ {191, 61, -79}, 0, {0, 0}, {27, 59, 147, 255} }}, - {{ {142, 63, -57}, 0, {0, 0}, {222, 89, 172, 255} }}, - {{ {166, 84, -26}, 0, {0, 0}, {196, 92, 193, 255} }}, - {{ {202, 84, -59}, 0, {0, 0}, {15, 71, 152, 255} }}, - {{ {192, 116, -13}, 0, {0, 0}, {245, 127, 254, 255} }}, - {{ {151, 87, 0}, 0, {0, 0}, {184, 105, 5, 255} }}, - {{ {166, 84, 27}, 0, {0, 0}, {224, 107, 60, 255} }}, - {{ {200, 79, 48}, 0, {0, 0}, {34, 95, 77, 255} }}, - {{ {191, 66, 66}, 0, {0, 0}, {26, 77, 98, 255} }}, - {{ {142, 63, 58}, 0, {0, 0}, {236, 86, 92, 255} }}, - {{ {147, 31, 77}, 0, {0, 0}, {0, 55, 115, 255} }}, - {{ {147, 31, 77}, 0, {0, 0}, {0, 55, 115, 255} }}, - {{ {175, -9, 98}, 0, {0, 0}, {39, 8, 121, 255} }}, - {{ {191, 66, 66}, 0, {0, 0}, {26, 77, 98, 255} }}, - {{ {115, -11, 93}, 0, {0, 0}, {254, 18, 126, 255} }}, - {{ {142, -80, 93}, 0, {0, 0}, {0, 206, 117, 255} }}, - {{ {88, -51, 74}, 0, {0, 0}, {224, 183, 99, 255} }}, - {{ {62, -96, 42}, 0, {0, 0}, {243, 147, 64, 255} }}, - {{ {51, -44, 65}, 0, {0, 0}, {208, 193, 100, 255} }}, - {{ {46, -107, 45}, 0, {0, 0}, {60, 152, 41, 255} }}, - {{ {19, -78, 73}, 0, {0, 0}, {226, 4, 123, 255} }}, - {{ {12, -51, 35}, 0, {0, 0}, {133, 0, 30, 255} }}, - {{ {5, -113, 53}, 0, {0, 0}, {185, 158, 40, 255} }}, - {{ {24, -109, 21}, 0, {0, 0}, {239, 156, 179, 255} }}, - {{ {62, -96, -42}, 0, {0, 0}, {243, 147, 191, 255} }}, - {{ {24, -109, -21}, 0, {0, 0}, {239, 156, 77, 255} }}, - {{ {46, -107, -45}, 0, {0, 0}, {60, 152, 215, 255} }}, - {{ {5, -113, -53}, 0, {0, 0}, {185, 158, 216, 255} }}, - {{ {46, -107, -45}, 0, {0, 0}, {60, 152, 215, 255} }}, - {{ {24, -109, -21}, 0, {0, 0}, {239, 156, 77, 255} }}, - {{ {-3, -81, -44}, 0, {0, 0}, {129, 11, 255, 255} }}, - {{ {19, -78, -73}, 0, {0, 0}, {227, 5, 132, 255} }}, - {{ {175, -9, 98}, 0, {0, 0}, {39, 8, 121, 255} }}, - {{ {218, 28, 63}, 0, {0, 0}, {102, 14, 74, 255} }}, - {{ {191, 66, 66}, 0, {0, 0}, {26, 77, 98, 255} }}, - {{ {221, -14, 49}, 0, {0, 0}, {112, 240, 58, 255} }}, - {{ {186, -99, 63}, 0, {0, 0}, {71, 176, 68, 255} }}, - {{ {142, -80, 93}, 0, {0, 0}, {0, 206, 117, 255} }}, - {{ {114, -119, 58}, 0, {0, 0}, {233, 149, 64, 255} }}, - {{ {62, -96, 42}, 0, {0, 0}, {243, 147, 64, 255} }}, - {{ {117, -127, 0}, 0, {0, 0}, {242, 130, 255, 255} }}, - {{ {62, -96, -42}, 0, {0, 0}, {243, 147, 191, 255} }}, - {{ {114, -117, -58}, 0, {0, 0}, {233, 149, 191, 255} }}, - {{ {142, -81, -92}, 0, {0, 0}, {0, 206, 139, 255} }}, - {{ {114, -117, -58}, 0, {0, 0}, {233, 149, 191, 255} }}, - {{ {62, -96, -42}, 0, {0, 0}, {243, 147, 191, 255} }}, - {{ {186, -99, -62}, 0, {0, 0}, {71, 175, 188, 255} }}, - {{ {176, -9, -97}, 0, {0, 0}, {39, 5, 135, 255} }}, - {{ {221, -14, -49}, 0, {0, 0}, {112, 245, 196, 255} }}, - {{ {212, 28, -61}, 0, {0, 0}, {106, 7, 186, 255} }}, - {{ {191, 61, -79}, 0, {0, 0}, {27, 59, 147, 255} }}, - {{ {202, 84, -59}, 0, {0, 0}, {15, 71, 152, 255} }}, - {{ {223, 62, -34}, 0, {0, 0}, {113, 226, 206, 255} }}, - {{ {239, 97, -43}, 0, {0, 0}, {101, 52, 199, 255} }}, - {{ {192, 116, -13}, 0, {0, 0}, {245, 127, 254, 255} }}, - {{ {200, 79, 48}, 0, {0, 0}, {34, 95, 77, 255} }}, - {{ {222, 74, 33}, 0, {0, 0}, {100, 59, 52, 255} }}, - {{ {218, 28, 63}, 0, {0, 0}, {102, 14, 74, 255} }}, - {{ {191, 66, 66}, 0, {0, 0}, {26, 77, 98, 255} }}, - {{ {218, 28, 63}, 0, {0, 0}, {102, 14, 74, 255} }}, - {{ {228, 57, 0}, 0, {0, 0}, {127, 250, 4, 255} }}, - {{ {222, 74, 33}, 0, {0, 0}, {100, 59, 52, 255} }}, - {{ {221, -14, 49}, 0, {0, 0}, {112, 240, 58, 255} }}, - {{ {235, -34, 0}, 0, {0, 0}, {125, 232, 0, 255} }}, - {{ {186, -99, 63}, 0, {0, 0}, {71, 176, 68, 255} }}, - {{ {198, -110, 0}, 0, {0, 0}, {80, 157, 0, 255} }}, - {{ {114, -119, 58}, 0, {0, 0}, {233, 149, 64, 255} }}, - {{ {117, -127, 0}, 0, {0, 0}, {242, 130, 255, 255} }}, - {{ {114, -117, -58}, 0, {0, 0}, {233, 149, 191, 255} }}, - {{ {186, -99, -62}, 0, {0, 0}, {71, 175, 188, 255} }}, - {{ {221, -14, -49}, 0, {0, 0}, {112, 245, 196, 255} }}, - {{ {212, 28, -61}, 0, {0, 0}, {106, 7, 186, 255} }}, - {{ {223, 62, -34}, 0, {0, 0}, {113, 226, 206, 255} }}, - {{ {239, 97, -43}, 0, {0, 0}, {101, 52, 199, 255} }}, +Vtx luigi_face_hair_cap_off_dl_vertex[52] = { + {{{147, 31, 77}, 0, {0, 0}, {0x05, 0x38, 0x72, 0xFF}}}, + {{{191, 66, 66}, 0, {0, 0}, {0x10, 0x52, 0x5F, 0xFF}}}, + {{{142, 63, 58}, 0, {0, 0}, {0xE4, 0x5D, 0x52, 0xFF}}}, + {{{175, -9, 98}, 0, {0, 0}, {0x2D, 0x01, 0x77, 0xFF}}}, + {{{115, -11, 93}, 0, {0, 0}, {0xFF, 0x13, 0x7E, 0xFF}}}, + {{{142, -80, 93}, 0, {0, 0}, {0xEF, 0xD0, 0x74, 0xFF}}}, + {{{88, -51, 74}, 0, {0, 0}, {0xE9, 0xA9, 0x59, 0xFF}}}, + {{{62, -96, 42}, 0, {0, 0}, {0xF3, 0x8A, 0x2E, 0xFF}}}, + {{{51, -44, 65}, 0, {0, 0}, {0xE3, 0xCA, 0x6F, 0xFF}}}, + {{{46, -107, 45}, 0, {0, 0}, {0x58, 0xB3, 0x32, 0xFF}}}, + {{{19, -78, 73}, 0, {0, 0}, {0xDB, 0xFD, 0x79, 0xFF}}}, + {{{12, -51, 35}, 0, {0, 0}, {0x88, 0xF8, 0x29, 0xFF}}}, + {{{-3, -81, 44}, 0, {0, 0}, {0x86, 0xDF, 0x0B, 0xFF}}}, + {{{26, -79, 0}, 0, {0, 0}, {0x9F, 0xAE, 0x00, 0xFF}}}, + {{{24, -109, 21}, 0, {0, 0}, {0xFB, 0x8E, 0xC9, 0xFF}}}, + {{{62, -96, -42}, 0, {0, 0}, {0xF3, 0x8A, 0xD2, 0xFF}}}, + {{{24, -109, -21}, 0, {0, 0}, {0xFB, 0x8E, 0x37, 0xFF}}}, + {{{-3, -81, -44}, 0, {0, 0}, {0x86, 0xDF, 0xF5, 0xFF}}}, + {{{12, -51, -34}, 0, {0, 0}, {0x88, 0xF8, 0xD7, 0xFF}}}, + {{{19, -78, -73}, 0, {0, 0}, {0xDB, 0xFD, 0x87, 0xFF}}}, + {{{51, -44, -64}, 0, {0, 0}, {0xE3, 0xCA, 0x91, 0xFF}}}, + {{{46, -107, -45}, 0, {0, 0}, {0x58, 0xB3, 0xCE, 0xFF}}}, + {{{88, -51, -73}, 0, {0, 0}, {0xE8, 0xA9, 0xA6, 0xFF}}}, + {{{142, -81, -92}, 0, {0, 0}, {0xEF, 0xCF, 0x8C, 0xFF}}}, + {{{115, -12, -91}, 0, {0, 0}, {0xFF, 0x13, 0x82, 0xFF}}}, + {{{176, -9, -97}, 0, {0, 0}, {0x2F, 0xFE, 0x8A, 0xFF}}}, + {{{147, 31, -76}, 0, {0, 0}, {0xFE, 0x36, 0x8D, 0xFF}}}, + {{{191, 61, -79}, 0, {0, 0}, {0x07, 0x49, 0x98, 0xFF}}}, + {{{142, 63, -57}, 0, {0, 0}, {0xD6, 0x5B, 0xB3, 0xFF}}}, + {{{166, 84, -26}, 0, {0, 0}, {0xF5, 0x73, 0xCC, 0xFF}}}, + {{{202, 84, -59}, 0, {0, 0}, {0x31, 0x46, 0xA2, 0xFF}}}, + {{{192, 116, -13}, 0, {0, 0}, {0xE4, 0x7C, 0xFB, 0xFF}}}, + {{{151, 87, 0}, 0, {0, 0}, {0xB7, 0x68, 0xFE, 0xFF}}}, + {{{166, 84, 27}, 0, {0, 0}, {0x01, 0x76, 0x2F, 0xFF}}}, + {{{200, 79, 48}, 0, {0, 0}, {0x38, 0x61, 0x3C, 0xFF}}}, + {{{218, 28, 63}, 0, {0, 0}, {0x6E, 0x12, 0x3D, 0xFF}}}, + {{{221, -14, 49}, 0, {0, 0}, {0x73, 0xEC, 0x32, 0xFF}}}, + {{{186, -99, 63}, 0, {0, 0}, {0x51, 0xBA, 0x45, 0xFF}}}, + {{{114, -119, 58}, 0, {0, 0}, {0xFB, 0x8E, 0x38, 0xFF}}}, + {{{117, -127, 0}, 0, {0, 0}, {0xE8, 0x83, 0xFF, 0xFF}}}, + {{{114, -117, -58}, 0, {0, 0}, {0xFC, 0x8E, 0xC8, 0xFF}}}, + {{{186, -99, -62}, 0, {0, 0}, {0x50, 0xB9, 0xBD, 0xFF}}}, + {{{221, -14, -49}, 0, {0, 0}, {0x73, 0xF1, 0xCC, 0xFF}}}, + {{{212, 28, -61}, 0, {0, 0}, {0x72, 0x03, 0xC8, 0xFF}}}, + {{{223, 62, -34}, 0, {0, 0}, {0x72, 0xE4, 0xD1, 0xFF}}}, + {{{239, 97, -43}, 0, {0, 0}, {0x76, 0x2C, 0xF3, 0xFF}}}, + {{{222, 74, 33}, 0, {0, 0}, {0x71, 0x27, 0x2A, 0xFF}}}, + {{{228, 57, 0}, 0, {0, 0}, {0x7F, 0xF9, 0xFF, 0xFF}}}, + {{{235, -34, 0}, 0, {0, 0}, {0x7B, 0xE0, 0x00, 0xFF}}}, + {{{198, -110, 0}, 0, {0, 0}, {0x40, 0x92, 0x00, 0xFF}}}, + {{{5, -113, 53}, 0, {0, 0}, {0xDA, 0x93, 0x35, 0xFF}}}, + {{{5, -113, -53}, 0, {0, 0}, {0xDA, 0x93, 0xCB, 0xFF}}}, }; Gfx luigi_eyes_cap_off_dl[] = { - gsSPVertex(luigi_eyes_cap_off_dl_vertex + 0, 12, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(5, 4, 0, 0), - gsSP1Triangle(5, 6, 4, 0), - gsSP1Triangle(4, 6, 7, 0), - gsSP1Triangle(7, 6, 8, 0), - gsSP1Triangle(9, 8, 6, 0), - gsSP1Triangle(7, 8, 10, 0), - gsSP1Triangle(3, 11, 1, 0), - gsSP1Triangle(4, 7, 3, 0), - gsSPEndDisplayList(), + gsSPVertex(luigi_eyes_cap_off_dl_vertex + 0, 12, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(1, 4, 3, 0, 1, 5, 4, 0), + gsSP2Triangles(4, 5, 6, 0, 7, 4, 6, 0), + gsSP2Triangles(8, 7, 6, 0, 6, 9, 8, 0), + gsSP2Triangles(10, 7, 8, 0, 3, 4, 7, 0), + gsSP1Triangle(2, 3, 11, 0), + gsSPEndDisplayList(), }; Gfx luigi_mustache_cap_off_dl[] = { - gsSPVertex(luigi_mustache_cap_off_dl_vertex + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 3, 2, 0), - gsSP1Triangle(4, 3, 1, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(4, 6, 5, 0), - gsSP1Triangle(3, 5, 7, 0), - gsSP1Triangle(3, 7, 8, 0), - gsSP1Triangle(8, 2, 3, 0), - gsSP1Triangle(9, 10, 11, 0), - gsSP1Triangle(12, 10, 9, 0), - gsSP1Triangle(9, 13, 12, 0), - gsSP1Triangle(13, 14, 12, 0), - gsSP1Triangle(15, 14, 13, 0), - gsSPVertex(luigi_mustache_cap_off_dl_vertex + 16, 5, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(1, 3, 4, 0), - gsSPEndDisplayList(), + gsSPVertex(luigi_mustache_cap_off_dl_vertex + 0, 18, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0), + gsSP2Triangles(0, 4, 3, 0, 5, 3, 4, 0), + gsSP2Triangles(6, 3, 5, 0, 7, 3, 6, 0), + gsSP2Triangles(8, 7, 6, 0, 3, 7, 1, 0), + gsSP2Triangles(9, 10, 11, 0, 10, 9, 12, 0), + gsSP2Triangles(9, 13, 12, 0, 14, 12, 13, 0), + gsSP2Triangles(14, 13, 15, 0, 16, 12, 14, 0), + gsSP2Triangles(17, 12, 16, 0, 12, 17, 10, 0), + gsSPEndDisplayList(), }; Gfx luigi_hair_sideburn_cap_off_dl[] = { - gsSPVertex(luigi_hair_sideburn_cap_off_dl_vertex + 0, 12, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 0, 2, 0), - gsSP1Triangle(3, 4, 0, 0), - gsSP1Triangle(4, 5, 0, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(6, 9, 7, 0), - gsSP1Triangle(10, 9, 6, 0), - gsSP1Triangle(11, 10, 6, 0), - gsSPEndDisplayList(), + gsSPVertex(luigi_hair_sideburn_cap_off_dl_vertex + 0, 12, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 3, 0, 0), + gsSP2Triangles(3, 4, 0, 0, 5, 0, 4, 0), + gsSP2Triangles(6, 7, 8, 0, 8, 9, 6, 0), + gsSP2Triangles(9, 8, 10, 0, 10, 8, 11, 0), + gsSPEndDisplayList(), }; Gfx luigi_face_part_cap_off_dl[] = { - gsSPVertex(luigi_face_part_cap_off_dl_vertex + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(0, 4, 3, 0), - gsSP1Triangle(3, 5, 1, 0), - gsSP1Triangle(6, 5, 3, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(7, 10, 8, 0), - gsSP1Triangle(11, 10, 7, 0), - gsSP1Triangle(11, 12, 10, 0), - gsSP1Triangle(11, 13, 12, 0), - gsSP1Triangle(11, 14, 13, 0), - gsSP1Triangle(12, 13, 15, 0), - gsSPVertex(luigi_face_part_cap_off_dl_vertex + 16, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 1, 3, 0), - gsSP1Triangle(4, 2, 3, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(5, 6, 4, 0), - gsSP1Triangle(2, 4, 6, 0), - gsSP1Triangle(0, 2, 6, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(8, 10, 9, 0), - gsSP1Triangle(8, 11, 10, 0), - gsSP1Triangle(10, 11, 12, 0), - gsSP1Triangle(13, 9, 10, 0), - gsSP1Triangle(13, 14, 9, 0), - gsSP1Triangle(13, 10, 15, 0), - gsSPVertex(luigi_face_part_cap_off_dl_vertex + 32, 14, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(3, 4, 1, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(6, 1, 4, 0), - gsSP1Triangle(1, 6, 2, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(8, 7, 10, 0), - gsSP1Triangle(10, 7, 11, 0), - gsSP1Triangle(12, 11, 7, 0), - gsSP1Triangle(13, 10, 11, 0), - gsSPVertex(luigi_face_part_cap_off_dl_vertex + 46, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(0, 4, 3, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(4, 6, 5, 0), - gsSP1Triangle(6, 4, 7, 0), - gsSP1Triangle(7, 8, 6, 0), - gsSP1Triangle(9, 8, 7, 0), - gsSP1Triangle(10, 8, 9, 0), - gsSP1Triangle(8, 10, 11, 0), - gsSP1Triangle(10, 12, 11, 0), - gsSP1Triangle(11, 12, 13, 0), - gsSP1Triangle(12, 14, 13, 0), - gsSP1Triangle(14, 12, 15, 0), - gsSP1Triangle(15, 1, 14, 0), - gsSP1Triangle(2, 1, 15, 0), - gsSPVertex(luigi_face_part_cap_off_dl_vertex + 62, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 3, 2, 0), - gsSP1Triangle(4, 3, 1, 0), - gsSP1Triangle(5, 3, 4, 0), - gsSP1Triangle(5, 4, 6, 0), - gsSP1Triangle(5, 6, 7, 0), - gsSP1Triangle(8, 7, 6, 0), - gsSP1Triangle(9, 8, 6, 0), - gsSP1Triangle(9, 10, 8, 0), - gsSP1Triangle(10, 11, 8, 0), - gsSP1Triangle(11, 10, 12, 0), - gsSP1Triangle(13, 11, 12, 0), - gsSP1Triangle(13, 12, 14, 0), - gsSP1Triangle(15, 13, 14, 0), - gsSP1Triangle(14, 2, 15, 0), - gsSP1Triangle(14, 0, 2, 0), - gsSPVertex(luigi_face_part_cap_off_dl_vertex + 78, 10, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 1, 3, 0), - gsSP1Triangle(2, 3, 4, 0), - gsSP1Triangle(2, 4, 5, 0), - gsSP1Triangle(6, 2, 5, 0), - gsSP1Triangle(7, 6, 5, 0), - gsSP1Triangle(7, 8, 6, 0), - gsSP1Triangle(9, 6, 8, 0), - gsSP1Triangle(9, 0, 6, 0), - gsSP1Triangle(6, 0, 2, 0), - gsSPEndDisplayList(), + gsSPVertex(luigi_face_part_cap_off_dl_vertex + 0, 60, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(3, 2, 4, 0, 4, 5, 3, 0), + gsSP2Triangles(0, 3, 6, 0, 7, 8, 9, 0), + gsSP2Triangles(10, 9, 8, 0, 11, 10, 8, 0), + gsSP2Triangles(8, 12, 11, 0, 9, 10, 13, 0), + gsSP2Triangles(7, 14, 15, 0, 14, 16, 15, 0), + gsSP2Triangles(16, 14, 17, 0, 17, 14, 18, 0), + gsSP2Triangles(18, 19, 17, 0, 20, 19, 18, 0), + gsSP2Triangles(19, 21, 17, 0, 22, 17, 21, 0), + gsSP2Triangles(23, 22, 21, 0, 23, 21, 6, 0), + gsSP2Triangles(23, 24, 22, 0, 23, 25, 24, 0), + gsSP2Triangles(26, 25, 23, 0, 26, 27, 25, 0), + gsSP2Triangles(27, 26, 28, 0, 27, 28, 29, 0), + gsSP2Triangles(25, 27, 29, 0, 24, 25, 29, 0), + gsSP2Triangles(22, 16, 17, 0, 22, 30, 16, 0), + gsSP2Triangles(13, 31, 32, 0, 32, 31, 1, 0), + gsSP2Triangles(1, 33, 32, 0, 33, 1, 34, 0), + gsSP2Triangles(35, 33, 34, 0, 36, 35, 34, 0), + gsSP2Triangles(34, 37, 36, 0, 38, 36, 37, 0), + gsSP2Triangles(37, 20, 38, 0, 38, 20, 39, 0), + gsSP2Triangles(39, 40, 38, 0, 40, 39, 41, 0), + gsSP2Triangles(42, 40, 41, 0, 43, 42, 41, 0), + gsSP2Triangles(41, 13, 43, 0, 32, 43, 13, 0), + gsSP2Triangles(44, 43, 32, 0, 45, 44, 32, 0), + gsSP2Triangles(32, 33, 45, 0, 33, 46, 45, 0), + gsSP2Triangles(35, 46, 33, 0, 35, 47, 46, 0), + gsSP2Triangles(48, 47, 35, 0, 36, 48, 35, 0), + gsSP2Triangles(48, 36, 38, 0, 49, 48, 38, 0), + gsSP2Triangles(38, 40, 49, 0, 40, 50, 49, 0), + gsSP2Triangles(50, 40, 42, 0, 50, 42, 51, 0), + gsSP2Triangles(51, 42, 44, 0, 42, 43, 44, 0), + gsSP2Triangles(44, 52, 51, 0, 52, 44, 45, 0), + gsSP2Triangles(52, 45, 46, 0, 52, 46, 47, 0), + gsSP2Triangles(47, 53, 52, 0, 53, 47, 48, 0), + gsSP2Triangles(49, 53, 48, 0, 49, 50, 53, 0), + gsSP2Triangles(50, 51, 53, 0, 53, 51, 52, 0), + gsSP2Triangles(16, 54, 15, 0, 55, 15, 54, 0), + gsSP2Triangles(55, 54, 56, 0, 55, 56, 57, 0), + gsSP2Triangles(56, 58, 57, 0, 58, 59, 57, 0), + gsSP2Triangles(55, 57, 59, 0, 15, 55, 59, 0), + gsSPEndDisplayList(), }; Gfx luigi_face_hair_cap_off_dl[] = { - gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(3, 0, 4, 0), - gsSP1Triangle(0, 5, 4, 0), - gsSP1Triangle(5, 0, 2, 0), - gsSP1Triangle(6, 5, 2, 0), - gsSP1Triangle(6, 2, 7, 0), - gsSP1Triangle(7, 2, 8, 0), - gsSP1Triangle(9, 8, 2, 0), - gsSP1Triangle(10, 9, 2, 0), - gsSP1Triangle(10, 11, 9, 0), - gsSP1Triangle(10, 12, 11, 0), - gsSP1Triangle(12, 13, 11, 0), - gsSP1Triangle(12, 7, 13, 0), - gsSP1Triangle(14, 7, 12, 0), - gsSP1Triangle(14, 15, 7, 0), - gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 16, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 0, 2, 0), - gsSP1Triangle(2, 4, 3, 0), - gsSP1Triangle(4, 5, 3, 0), - gsSP1Triangle(5, 4, 6, 0), - gsSP1Triangle(7, 5, 6, 0), - gsSP1Triangle(5, 7, 8, 0), - gsSP1Triangle(8, 7, 9, 0), - gsSP1Triangle(7, 10, 9, 0), - gsSP1Triangle(9, 10, 11, 0), - gsSP1Triangle(12, 9, 11, 0), - gsSP1Triangle(11, 13, 12, 0), - gsSP1Triangle(11, 14, 13, 0), - gsSP1Triangle(15, 13, 14, 0), - gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 32, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(4, 1, 3, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(6, 4, 5, 0), - gsSP1Triangle(7, 6, 5, 0), - gsSP1Triangle(7, 8, 6, 0), - gsSP1Triangle(7, 9, 8, 0), - gsSP1Triangle(10, 9, 7, 0), - gsSP1Triangle(8, 9, 11, 0), - gsSP1Triangle(12, 8, 11, 0), - gsSP1Triangle(6, 8, 12, 0), - gsSP1Triangle(13, 14, 15, 0), - gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 48, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 2, 3, 0), - gsSP1Triangle(0, 3, 4, 0), - gsSP1Triangle(0, 4, 1, 0), - gsSP1Triangle(5, 6, 7, 0), - gsSP1Triangle(6, 5, 8, 0), - gsSP1Triangle(8, 5, 9, 0), - gsSP1Triangle(10, 9, 5, 0), - gsSP1Triangle(10, 11, 9, 0), - gsSP1Triangle(12, 11, 10, 0), - gsSP1Triangle(12, 13, 11, 0), - gsSP1Triangle(12, 14, 13, 0), - gsSP1Triangle(14, 15, 13, 0), - gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 64, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(5, 4, 6, 0), - gsSP1Triangle(7, 6, 4, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(6, 8, 9, 0), - gsSP1Triangle(9, 8, 10, 0), - gsSP1Triangle(8, 11, 10, 0), - gsSP1Triangle(11, 12, 10, 0), - gsSP1Triangle(12, 13, 10, 0), - gsSP1Triangle(14, 13, 12, 0), - gsSP1Triangle(15, 14, 12, 0), - gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 80, 15, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(3, 4, 1, 0), - gsSP1Triangle(4, 3, 5, 0), - gsSP1Triangle(6, 4, 5, 0), - gsSP1Triangle(6, 5, 7, 0), - gsSP1Triangle(8, 6, 7, 0), - gsSP1Triangle(8, 9, 6, 0), - gsSP1Triangle(9, 10, 6, 0), - gsSP1Triangle(6, 10, 4, 0), - gsSP1Triangle(10, 11, 4, 0), - gsSP1Triangle(11, 1, 4, 0), - gsSP1Triangle(11, 12, 1, 0), - gsSP1Triangle(12, 13, 1, 0), - gsSP1Triangle(1, 13, 14, 0), - gsSP1Triangle(1, 14, 2, 0), - gsSPEndDisplayList(), + gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 0, 52, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(0, 4, 3, 0, 5, 3, 4, 0), + gsSP2Triangles(6, 5, 4, 0, 7, 5, 6, 0), + gsSP2Triangles(7, 6, 8, 0, 9, 7, 8, 0), + gsSP2Triangles(8, 10, 9, 0, 10, 8, 11, 0), + gsSP2Triangles(11, 12, 10, 0, 12, 11, 13, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 7, 14, 0), + gsSP2Triangles(13, 15, 7, 0, 13, 16, 15, 0), + gsSP2Triangles(17, 16, 13, 0, 13, 18, 17, 0), + gsSP2Triangles(19, 17, 18, 0, 18, 20, 19, 0), + gsSP2Triangles(21, 19, 20, 0, 20, 15, 21, 0), + gsSP2Triangles(20, 22, 15, 0, 22, 23, 15, 0), + gsSP2Triangles(23, 22, 24, 0, 25, 23, 24, 0), + gsSP2Triangles(24, 26, 25, 0, 26, 27, 25, 0), + gsSP2Triangles(27, 26, 28, 0, 29, 27, 28, 0), + gsSP2Triangles(27, 29, 30, 0, 30, 29, 31, 0), + gsSP2Triangles(29, 32, 31, 0, 31, 32, 33, 0), + gsSP2Triangles(34, 31, 33, 0, 33, 1, 34, 0), + gsSP2Triangles(33, 2, 1, 0, 1, 35, 34, 0), + gsSP2Triangles(3, 35, 1, 0, 35, 3, 36, 0), + gsSP2Triangles(36, 3, 37, 0, 5, 37, 3, 0), + gsSP2Triangles(5, 38, 37, 0, 7, 38, 5, 0), + gsSP2Triangles(7, 39, 38, 0, 7, 15, 39, 0), + gsSP2Triangles(15, 40, 39, 0, 23, 40, 15, 0), + gsSP2Triangles(41, 40, 23, 0, 25, 41, 23, 0), + gsSP2Triangles(41, 25, 42, 0, 42, 25, 43, 0), + gsSP2Triangles(27, 43, 25, 0, 43, 27, 30, 0), + gsSP2Triangles(43, 30, 44, 0, 44, 30, 45, 0), + gsSP2Triangles(30, 31, 45, 0, 31, 34, 45, 0), + gsSP2Triangles(34, 46, 45, 0, 35, 46, 34, 0), + gsSP2Triangles(35, 47, 46, 0, 47, 35, 36, 0), + gsSP2Triangles(36, 48, 47, 0, 48, 36, 37, 0), + gsSP2Triangles(49, 48, 37, 0, 49, 37, 38, 0), + gsSP2Triangles(39, 49, 38, 0, 39, 40, 49, 0), + gsSP2Triangles(40, 41, 49, 0, 49, 41, 48, 0), + gsSP2Triangles(41, 42, 48, 0, 42, 47, 48, 0), + gsSP2Triangles(42, 43, 47, 0, 43, 44, 47, 0), + gsSP2Triangles(47, 44, 45, 0, 47, 45, 46, 0), + gsSP2Triangles(9, 14, 7, 0, 9, 50, 14, 0), + gsSP2Triangles(10, 50, 9, 0, 12, 50, 10, 0), + gsSP2Triangles(14, 50, 12, 0, 16, 21, 15, 0), + gsSP2Triangles(16, 51, 21, 0, 17, 51, 16, 0), + gsSP2Triangles(19, 51, 17, 0, 51, 19, 21, 0), + gsSPEndDisplayList(), }; -const Gfx luigi_hair_sideburn_decal_cap_off[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, COMBINED, 0, 0, 0, COMBINED), +// 0x040139C0 - 0x040139E8 +const Gfx luigi_face_cap_off_dl[] = { + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&luigi_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 11), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_add_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 124), gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(SKIN), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_skin_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPEndDisplayList(), -}; - -const Gfx luigi_face_cap_off_dl[] = { + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_part_cap_off_dl), gsSPCopyLightsPlayerPart(HAIR), gsSPDisplayList(luigi_face_hair_cap_off_dl), gsSPEndDisplayList(), }; +// 0x040139E8 - 0x04013AB8 const Gfx luigi_cap_off_eyes_front[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -2678,8 +2675,8 @@ const Gfx luigi_cap_off_eyes_front[] = { gsSPEndDisplayList(), }; +// 0x04013AB8 - 0x04013B88 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), @@ -2702,8 +2699,8 @@ const Gfx luigi_cap_off_eyes_half_closed[] = { gsSPEndDisplayList(), }; +// 0x04013B88 - 0x04013C58 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), @@ -2726,6 +2723,7 @@ const Gfx luigi_cap_off_eyes_closed[] = { gsSPEndDisplayList(), }; +// 0x04013C58 - 0x04013D28 const Gfx luigi_cap_off_eyes_right[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -2750,6 +2748,7 @@ const Gfx luigi_cap_off_eyes_right[] = { gsSPEndDisplayList(), }; +// 0x04013D28 - 0x04013DF8 const Gfx luigi_cap_off_eyes_left[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -2774,6 +2773,7 @@ const Gfx luigi_cap_off_eyes_left[] = { gsSPEndDisplayList(), }; +// 0x04013DF8 - 0x04013EC8 const Gfx luigi_cap_off_eyes_up[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -2798,6 +2798,7 @@ const Gfx luigi_cap_off_eyes_up[] = { gsSPEndDisplayList(), }; +// 0x04013EC8 - 0x04013F98 const Gfx luigi_cap_off_eyes_down[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -2822,6 +2823,7 @@ const Gfx luigi_cap_off_eyes_down[] = { gsSPEndDisplayList(), }; +// 0x04013F98 - 0x04014068 const Gfx luigi_cap_off_eyes_dead[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -2846,6 +2848,229 @@ const Gfx luigi_cap_off_eyes_dead[] = { gsSPEndDisplayList(), }; +// 0x040139C0 - 0x040139E8 +const Gfx luigi_face_cap_off_transparent_dl[] = { + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_part_cap_off_dl), + gsSPCopyLightsPlayerPart(HAIR), + gsSPDisplayList(luigi_face_hair_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x040139E8 - 0x04013AB8 +const Gfx luigi_cap_off_eyes_front_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_front), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04013AB8 - 0x04013B88 +const Gfx luigi_cap_off_eyes_half_closed_transparent[] = { + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_half_closed), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04013B88 - 0x04013C58 +const Gfx luigi_cap_off_eyes_closed_transparent[] = { + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_closed), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04013C58 - 0x04013D28 +const Gfx luigi_cap_off_eyes_right_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_right), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04013D28 - 0x04013DF8 +const Gfx luigi_cap_off_eyes_left_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_left), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04013DF8 - 0x04013EC8 +const Gfx luigi_cap_off_eyes_up_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_up), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04013EC8 - 0x04013F98 +const Gfx luigi_cap_off_eyes_down_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_down), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04013F98 - 0x04014068 +const Gfx luigi_cap_off_eyes_dead_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPTileSync(), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), + gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_dead), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04014068 - 0x04014098 const Gfx luigi_metal_cap_off_shared_dl[] = { gsSPDisplayList(luigi_eyes_cap_off_dl), gsSPDisplayList(luigi_mustache_cap_off_dl), @@ -2917,6 +3142,7 @@ const Gfx luigi_left_hand_open_shared_dl[] = { gsSPEndDisplayList(), }; +// 0x04019CA0 - 0x04019CC0 const Gfx luigi_left_hand_open[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2987,6 +3213,7 @@ const Gfx luigi_right_hand_open_dl[] = { gsSPEndDisplayList(), }; +// 0x0401A428 - 0x0401A448 const Gfx luigi_right_hand_open[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2995,10 +3222,12 @@ const Gfx luigi_right_hand_open[] = { gsSPEndDisplayList(), }; +// 0x0401A448 - 0x0401A478 const Gfx luigi_metal_right_hand_open[] = { gsSPDisplayList(luigi_right_hand_open_dl), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsSPEndDisplayList(), @@ -3111,49 +3340,11 @@ const Gfx luigi_right_hand_cap_bottom_dl[] = { gsSPEndDisplayList(), }; -const Gfx luigi_right_hand_cap_decal[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&luigi_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 17), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_blend), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 124), - gsSPDisplayList(luigi_right_hand_cap_l_logo_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(CAP), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_cap), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 124), - gsSPDisplayList(luigi_right_hand_cap_l_logo_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPEndDisplayList(), -}; - +// 0x0401AF20 - 0x0401AF60 const Gfx luigi_right_hand_cap_dl[] = { gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(luigi_right_hand_cap_top_dl), - gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c + gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in luigi_misc.c gsSPDisplayList(luigi_right_hand_cap_hand_position_dl), gsDPSetCombineLERP(SHADE, 0, PRIMITIVE, 0, 0, 0, 0, ENVIRONMENT, SHADE, 0, PRIMITIVE, 0, 0, 0, 0, ENVIRONMENT), gsSPTexture(65535, 65535, 0, 0, 1), @@ -3209,9 +3400,9 @@ const Gfx luigi_right_hand_cap_wings_half_2_dl[] = { }; // 0x0401B0E0 - 0x0401B138 -const Gfx luigi_right_hand_cap_wings_intial_dl[] = { +const Gfx luigi_right_hand_cap_wings_initial_dl[] = { gsDPPipeSync(), - gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA), + gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA), gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), @@ -3223,62 +3414,44 @@ const Gfx luigi_right_hand_cap_wings_intial_dl[] = { gsSPEndDisplayList(), }; -const Gfx luigi_right_hand_cap_wings_transparent_intial_dl[] = { - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA), - gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), - gsSPLight(&luigi_white_lights_group.l, 1), - gsSPLight(&luigi_white_lights_group.a, 2), - gsDPTileSync(), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), - gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC), - gsSPEndDisplayList(), -}; - -const Gfx luigi_right_hand_cap_metal_wings_intial_dl[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), - gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&luigi_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsSPEndDisplayList(), -}; - // 0x0401B138 - 0x0401B158 const Gfx luigi_right_hand_cap_wings_end_dl[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsSPEndDisplayList(), }; +// 0x0401B158 - 0x0401B1D8 const Gfx luigi_right_hand_cap[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_right_hand_cap_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_right_hand_cap_dl), gsSPEndDisplayList(), }; +// 0x0401B1D8 - 0x0401B230 const Gfx luigi_right_hand_cap_wings[] = { - gsSPDisplayList(luigi_right_hand_cap_wings_intial_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_wings_half_1), - gsDPLoadSync(), - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), - gsSPDisplayList(luigi_right_hand_cap_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_wings_half_2), - gsDPLoadSync(), - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), - gsSPDisplayList(luigi_right_hand_cap_wings_half_2_dl), - gsSPDisplayList(luigi_right_hand_cap_wings_end_dl), - gsSPEndDisplayList(), -}; - -const Gfx luigi_right_hand_cap_wings_transparent[] = { - gsSPDisplayList(luigi_right_hand_cap_wings_transparent_intial_dl), + gsSPDisplayList(luigi_right_hand_cap_wings_initial_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)), @@ -3291,6 +3464,7 @@ const Gfx luigi_right_hand_cap_wings_transparent[] = { gsSPEndDisplayList(), }; +// 0x0401B230 - 0x0401B278 const Gfx luigi_metal_right_hand_cap_shared_dl[] = { gsSPDisplayList(luigi_right_hand_cap_l_logo_dl), gsSPDisplayList(luigi_right_hand_cap_top_dl), @@ -3298,62 +3472,33 @@ const Gfx luigi_metal_right_hand_cap_shared_dl[] = { gsSPDisplayList(luigi_right_hand_cap_bottom_dl), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsSPEndDisplayList(), }; +// 0x0401B278 - 0x0401B2D0 const Gfx luigi_metal_right_hand_cap_shared_dl_wings[] = { - gsSPDisplayList(luigi_right_hand_cap_metal_wings_intial_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1_shade), + gsDPPipeSync(), + gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_right_hand_cap_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2_shade), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), - gsSPDisplayList(luigi_right_hand_cap_wings_half_2_dl), - gsSPDisplayList(luigi_right_hand_cap_wings_end_dl), - gsSPEndDisplayList(), -}; - -const Gfx luigi_metal_right_hand_cap_shared_dl_wings_transparent[] = { - gsSPDisplayList(luigi_right_hand_cap_metal_wings_intial_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1_shade), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), - gsSPDisplayList(luigi_right_hand_cap_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2_shade), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_right_hand_cap_wings_half_2_dl), gsSPDisplayList(luigi_right_hand_cap_wings_end_dl), gsSPEndDisplayList(), @@ -3447,6 +3592,7 @@ const Gfx luigi_right_hand_peace_shared_dl[] = { gsSPEndDisplayList(), }; +// 0x0401BF30 - 0x0401BF50 const Gfx luigi_right_hand_peace[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -3508,7 +3654,7 @@ const Gfx luigi_cap_wings[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), + gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPEndDisplayList(), }; @@ -3535,7 +3681,7 @@ const Gfx luigi_cap_wings_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), + gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPEndDisplayList(), }; @@ -3543,36 +3689,38 @@ const Gfx luigi_cap_wings_transparent[] = { const Gfx luigi_metal_cap_wings[] = { gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&luigi_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1_shade), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2_shade), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_wings_half_2_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), + gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 2047, 128), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTileSize(0, 0, 0, 252, 124), gsSPEndDisplayList(), }; @@ -3580,36 +3728,38 @@ const Gfx luigi_metal_cap_wings[] = { const Gfx luigi_metal_cap_wings_transparent[] = { gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&luigi_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1_shade), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2_shade), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_wings_half_2_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), + gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 2047, 128), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTileSize(0, 0, 0, 252, 124), gsSPEndDisplayList(), }; @@ -3617,6 +3767,7 @@ const Gfx luigi_material_revert_render_settings[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_LIGHTING), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), gsSPTexture(65535, 65535, 0, 0, 0), gsDPSetEnvColor(255, 255, 255, 255), diff --git a/actors/luigi_cap/geo.inc.c b/actors/luigi_cap/geo.inc.c index ad6e7dd3d..c8e7101e4 100644 --- a/actors/luigi_cap/geo.inc.c +++ b/actors/luigi_cap/geo.inc.c @@ -8,27 +8,23 @@ const GeoLayout luigis_cap_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_ALPHA + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_TRANSPARENT + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(10, geo_update_layer_transparency), GEO_SWITCH_CASE(2, geo_switch_anim_state), GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_cap_l_logo_decal), - GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_seg3_dl_03022F48), - GEO_CLOSE_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_l_logo_decal), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_seg3_dl_03022F48), - GEO_CLOSE_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_seg3_dl_03022F48), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_seg3_dl_03022F48), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, luigi_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, luigi_cap_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; @@ -42,8 +38,10 @@ const GeoLayout luigis_metal_cap_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_ALPHA + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_TRANSPARENT + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(10, geo_update_layer_transparency), GEO_SWITCH_CASE(2, geo_switch_anim_state), GEO_OPEN_NODE(), @@ -53,8 +51,10 @@ const GeoLayout luigis_metal_cap_geo[] = { GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, luigi_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, luigi_cap_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; @@ -68,28 +68,30 @@ const GeoLayout luigis_wing_cap_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_ALPHA + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_TRANSPARENT + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(10, geo_update_layer_transparency), GEO_SWITCH_CASE(2, geo_switch_anim_state), GEO_OPEN_NODE(), GEO_NODE_START(), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_cap_l_logo_decal), GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_seg3_dl_03022F48), GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_cap_seg3_dl_030230B0), GEO_CLOSE_NODE(), GEO_NODE_START(), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_l_logo_decal), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_seg3_dl_03023160), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, luigi_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, luigi_cap_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; @@ -103,8 +105,10 @@ const GeoLayout luigis_winged_metal_cap_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_ALPHA + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_TRANSPARENT + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(10, geo_update_layer_transparency), GEO_SWITCH_CASE(2, geo_switch_anim_state), GEO_OPEN_NODE(), @@ -121,8 +125,10 @@ const GeoLayout luigis_winged_metal_cap_geo[] = { GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, luigi_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, luigi_cap_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; diff --git a/actors/luigi_cap/geo_header.h b/actors/luigi_cap/geo_header.h index 7510654df..ff0ee72be 100644 --- a/actors/luigi_cap/geo_header.h +++ b/actors/luigi_cap/geo_header.h @@ -9,9 +9,7 @@ extern const Gfx luigi_cap_seg3_dl_03022D10[]; extern const Gfx luigi_cap_seg3_dl_03022E78[]; extern const Gfx luigi_cap_seg3_dl_03022EA8[]; extern const Gfx luigi_cap_seg3_dl_03022ED8[]; -extern const Gfx luigi_cap_seg3_dl_03022ED8_metal[]; extern const Gfx luigi_cap_seg3_dl_03022F20[]; -extern const Gfx luigi_cap_l_logo_decal[]; extern const Gfx luigi_cap_seg3_dl_03022F48[]; extern const Gfx luigi_cap_seg3_dl_03022FF8[]; extern const Gfx luigi_cap_seg3_dl_030230B0[]; diff --git a/actors/luigi_cap/model.inc.c b/actors/luigi_cap/model.inc.c index 024c77bfe..738cb6604 100644 --- a/actors/luigi_cap/model.inc.c +++ b/actors/luigi_cap/model.inc.c @@ -1,24 +1,32 @@ #include "pc/rom_assets.h" -// Mario Cap (Normal Cap, Metal, Winged, etc) +// Luigi Cap (Normal Cap, Metal, Winged, etc) -static const Lights1 luigi_cap_black_lights_group = gdSPDefLights1( - 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x28, 0x28, 0x28 +// 0x0301CF08 +static const Lights1 luigi_cap_seg3_lights_0301CF08 = gdSPDefLights1( + 0x00, 0x39, 0x00, + 0x00, 0x73, 0x00, 0x28, 0x28, 0x28 +); + +// 0x0301CF20 +static const Lights1 luigi_cap_seg3_lights_0301CF20 = gdSPDefLights1( + 0x7f, 0x7f, 0x7f, + 0xff, 0xff, 0xff, 0x28, 0x28, 0x28 +); + +// 0x0301CF38 +static const Lights1 luigi_cap_seg3_lights_0301CF38 = gdSPDefLights1( + 0x00, 0x7f, 0x00, + 0x00, 0xff, 0x00, 0x28, 0x28, 0x28 ); #include "actors/mario/mario_externs.h" #include "actors/luigi/luigi_externs.h" -#define luigi_cap_texture_metal_shade mario_texture_metal_shade -#define luigi_cap_texture_metal_light mario_texture_metal_light -#define luigi_cap_texture_l_logo luigi_texture_l_logo -#define luigi_cap_texture_l_blend luigi_texture_l_blend -#define luigi_cap_texture_l_cap luigi_texture_l_cap -#define luigi_cap_texture_wings_half_1 mario_texture_wings_half_1 -#define luigi_cap_texture_wings_half_2 mario_texture_wings_half_2 -#define luigi_cap_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1_shade -#define luigi_cap_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1_light -#define luigi_cap_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2_shade -#define luigi_cap_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2_light +#define luigi_cap_texture_metal mario_texture_metal +#define luigi_cap_texture_l_logo luigi_texture_l_logo +#define luigi_cap_texture_wings_half_1 mario_texture_wings_half_1 +#define luigi_cap_texture_wings_half_2 mario_texture_wings_half_2 +#define luigi_cap_texture_metal_wings_half_1 mario_texture_metal_wings_half_1 +#define luigi_cap_texture_metal_wings_half_2 mario_texture_metal_wings_half_2 // 0x03022750 ROM_ASSET_LOAD_VTX(luigi_cap_seg3_vertex_03022750, 0x00114750, 78432, 0x0001bf50, 112); @@ -153,100 +161,88 @@ const Gfx luigi_cap_seg3_dl_03022ED8[] = { gsSPEndDisplayList(), }; -const Gfx luigi_cap_seg3_dl_03022ED8_metal[] = { - gsDPPipeSync(), - gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&luigi_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsSPEndDisplayList(), -}; - // 0x03022F20 - 0x03022F48 const Gfx luigi_cap_seg3_dl_03022F20[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsSPEndDisplayList(), }; -const Gfx luigi_cap_l_logo_decal[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&luigi_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 17), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_l_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_l_blend), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 124), - gsSPDisplayList(luigi_cap_seg3_dl_03022B30), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(CAP), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_l_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_l_cap), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 124), - gsSPDisplayList(luigi_cap_seg3_dl_03022B30), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPEndDisplayList(), -}; - // 0x03022F48 - 0x03022FF8 const Gfx luigi_cap_seg3_dl_03022F48[] = { gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_cap_seg3_dl_03022B30), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_cap_seg3_dl_03022D10), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsDPSetAlphaCompare(G_AC_NONE), gsDPSetEnvColor(255, 255, 255, 255), + + gsDPPipeSync(), + gsSPSetGeometryMode(G_LIGHTING), + gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), + gsSPTexture(65535, 65535, 0, 0, 0), + gsDPSetEnvColor(255, 255, 255, 255), + gsDPSetAlphaCompare(G_AC_NONE), + + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(6, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPEndDisplayList(), }; // 0x03022FF8 - 0x030230B0 const Gfx luigi_cap_seg3_dl_03022FF8[] = { gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT), gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsSPLight(&luigi_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_shade), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 128), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), gsDPSetTileSize(0, 0, 0, 252, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 128), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(luigi_cap_seg3_dl_03022B30), gsSPDisplayList(luigi_cap_seg3_dl_03022B68), gsSPDisplayList(luigi_cap_seg3_dl_03022CC8), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsDPSetAlphaCompare(G_AC_NONE), @@ -271,28 +267,25 @@ const Gfx luigi_cap_seg3_dl_030230B0[] = { // 0x03023108 - 0x03023160 const Gfx luigi_cap_seg3_dl_03023108[] = { - gsSPDisplayList(luigi_cap_seg3_dl_03022ED8_metal), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_1_shade), + gsDPPipeSync(), + gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_cap_seg3_dl_03022E78), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_2_shade), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_cap_seg3_dl_03022EA8), gsSPDisplayList(luigi_cap_seg3_dl_03022F20), gsSPEndDisplayList(), @@ -300,9 +293,25 @@ const Gfx luigi_cap_seg3_dl_03023108[] = { // 0x03023160 - 0x03023298 const Gfx luigi_cap_seg3_dl_03023160[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(luigi_cap_seg3_dl_03022B30), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&luigi_cap_seg3_lights_0301CF38.a, 2), gsSPDisplayList(luigi_cap_seg3_dl_03022D10), gsDPPipeSync(), gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK), @@ -331,55 +340,46 @@ const Gfx luigi_cap_seg3_dl_03023160[] = { // 0x03023298 - 0x030233D0 const Gfx luigi_cap_seg3_dl_03023298[] = { gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT), gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsSPLight(&luigi_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_shade), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 128), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), gsDPSetTileSize(0, 0, 0, 252, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 128), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(luigi_cap_seg3_dl_03022B30), gsSPDisplayList(luigi_cap_seg3_dl_03022B68), gsSPDisplayList(luigi_cap_seg3_dl_03022CC8), + gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&luigi_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_1_shade), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_cap_seg3_dl_03022E78), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_2_shade), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_cap_seg3_dl_03022EA8), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsDPSetAlphaCompare(G_AC_NONE), @@ -391,6 +391,7 @@ const Gfx luigi_cap_material_revert_render_settings[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_LIGHTING), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), gsSPTexture(65535, 65535, 0, 0, 0), gsDPSetEnvColor(255, 255, 255, 255), diff --git a/actors/mario/custom_mario_cap.rgba16.png b/actors/mario/custom_mario_cap.rgba16.png deleted file mode 100644 index c8fa9b04a..000000000 Binary files a/actors/mario/custom_mario_cap.rgba16.png and /dev/null differ diff --git a/actors/mario/custom_mario_logo.ia16.png b/actors/mario/custom_mario_logo.ia16.png new file mode 100644 index 000000000..f5b872e8e Binary files /dev/null and b/actors/mario/custom_mario_logo.ia16.png differ diff --git a/actors/mario/custom_mario_logo.rgba16.png b/actors/mario/custom_mario_logo.rgba16.png deleted file mode 100644 index 0af7b8bc0..000000000 Binary files a/actors/mario/custom_mario_logo.rgba16.png and /dev/null differ diff --git a/actors/mario/custom_mario_logo_blend.rgba16.png b/actors/mario/custom_mario_logo_blend.rgba16.png deleted file mode 100644 index 637a643b2..000000000 Binary files a/actors/mario/custom_mario_logo_blend.rgba16.png and /dev/null differ diff --git a/actors/mario/custom_mario_metal_light.rgba16.png b/actors/mario/custom_mario_metal_light.rgba16.png deleted file mode 100644 index 1c7281938..000000000 Binary files a/actors/mario/custom_mario_metal_light.rgba16.png and /dev/null differ diff --git a/actors/mario/custom_mario_metal_shade.rgba16.png b/actors/mario/custom_mario_metal_shade.rgba16.png deleted file mode 100644 index a2dd26abe..000000000 Binary files a/actors/mario/custom_mario_metal_shade.rgba16.png and /dev/null differ diff --git a/actors/mario/custom_mario_metal_wing_light.rgba16.png b/actors/mario/custom_mario_metal_wing_light.rgba16.png deleted file mode 100644 index fbc8f4f18..000000000 Binary files a/actors/mario/custom_mario_metal_wing_light.rgba16.png and /dev/null differ diff --git a/actors/mario/custom_mario_metal_wing_shade.rgba16.png b/actors/mario/custom_mario_metal_wing_shade.rgba16.png deleted file mode 100644 index e332707b7..000000000 Binary files a/actors/mario/custom_mario_metal_wing_shade.rgba16.png and /dev/null differ diff --git a/actors/mario/custom_mario_metal_wing_tip_light.rgba16.png b/actors/mario/custom_mario_metal_wing_tip_light.rgba16.png deleted file mode 100644 index 86b0ffaaa..000000000 Binary files a/actors/mario/custom_mario_metal_wing_tip_light.rgba16.png and /dev/null differ diff --git a/actors/mario/custom_mario_metal_wing_tip_shade.rgba16.png b/actors/mario/custom_mario_metal_wing_tip_shade.rgba16.png deleted file mode 100644 index e087465ee..000000000 Binary files a/actors/mario/custom_mario_metal_wing_tip_shade.rgba16.png and /dev/null differ diff --git a/actors/mario/custom_mario_sideburn.ia16.png b/actors/mario/custom_mario_sideburn.ia16.png new file mode 100644 index 000000000..fb48687f7 Binary files /dev/null and b/actors/mario/custom_mario_sideburn.ia16.png differ diff --git a/actors/mario/custom_mario_sideburn.rgba16.png b/actors/mario/custom_mario_sideburn.rgba16.png deleted file mode 100644 index fd35b50c1..000000000 Binary files a/actors/mario/custom_mario_sideburn.rgba16.png and /dev/null differ diff --git a/actors/mario/custom_mario_sideburn_add.rgba16.png b/actors/mario/custom_mario_sideburn_add.rgba16.png deleted file mode 100644 index 29328272c..000000000 Binary files a/actors/mario/custom_mario_sideburn_add.rgba16.png and /dev/null differ diff --git a/actors/mario/custom_mario_skin.rgba16.png b/actors/mario/custom_mario_skin.rgba16.png deleted file mode 100644 index c85ab79f3..000000000 Binary files a/actors/mario/custom_mario_skin.rgba16.png and /dev/null differ diff --git a/actors/mario/geo.inc.c b/actors/mario/geo.inc.c index 2eead700c..d5cb62297 100644 --- a/actors/mario/geo.inc.c +++ b/actors/mario/geo.inc.c @@ -8,40 +8,27 @@ const GeoLayout mario_geo_face_and_wings[] = { GEO_OPEN_NODE(), GEO_SWITCH_CASE(0, geo_switch_mario_cap_on_off), GEO_OPEN_NODE(), - GEO_NODE_START(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, mario_m_logo_decal), - GEO_DISPLAY_LIST(LAYER_ALPHA, mario_hair_sideburn_decal_cap_on), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_eyes), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_front), - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_half_closed), - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_closed), - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_right), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_left), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_up), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_down), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_dead), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_front), + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_half_closed), + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_closed), + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_right), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_left), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_up), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_down), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_dead), GEO_CLOSE_NODE(), - GEO_NODE_START(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, mario_hair_sideburn_decal_cap_off), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_eyes), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_front), - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_half_closed), - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_closed), - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_right), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_left), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_up), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_down), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_dead), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_front), + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_half_closed), + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_closed), + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_right), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_left), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_up), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_down), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_dead), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_TRANSLATE_ROTATE(0, 142, -51, -126, 22, -40, -135), @@ -103,12 +90,8 @@ const GeoLayout mario_geo_right_hand[] = { GEO_CLOSE_NODE(), GEO_ANIMATED_PART(LAYER_OPAQUE, 60, 0, 0, mario_right_hand_peace), // here we go hand GEO_ANIMATED_PART(LAYER_OPAQUE, 60, 0, 0, mario_right_hand_cap), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, mario_right_hand_cap_decal), - GEO_CLOSE_NODE(), GEO_ANIMATED_PART(LAYER_OPAQUE, 60, 0, 0, mario_right_hand_cap), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, mario_right_hand_cap_decal), GEO_DISPLAY_LIST(LAYER_ALPHA, mario_right_hand_cap_wings), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), @@ -196,40 +179,27 @@ const GeoLayout mario_vanish_geo_face_and_wings[] = { GEO_OPEN_NODE(), GEO_SWITCH_CASE(0, geo_switch_mario_cap_on_off), GEO_OPEN_NODE(), - GEO_NODE_START(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_m_logo_decal), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_hair_sideburn_decal_cap_on), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_eyes), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_front), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_half_closed), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_closed), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_right), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_left), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_up), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_down), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_dead), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_front_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_half_closed_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_closed_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_right_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_left_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_up_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_down_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_dead_transparent), GEO_CLOSE_NODE(), - GEO_NODE_START(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_hair_sideburn_decal_cap_off), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_eyes), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_front), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_half_closed), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_closed), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_right), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_left), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_up), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_down), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_dead), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_front_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_half_closed_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_closed_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_right_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_left_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_up_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_down_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_dead_transparent), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_TRANSLATE_ROTATE(0, 142, -51, -126, 22, -40, -135), @@ -291,13 +261,9 @@ const GeoLayout mario_vanish_geo_right_hand[] = { GEO_CLOSE_NODE(), GEO_ANIMATED_PART(LAYER_TRANSPARENT, 60, 0, 0, mario_right_hand_peace), // here we go hand GEO_ANIMATED_PART(LAYER_TRANSPARENT, 60, 0, 0, mario_right_hand_cap), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_right_hand_cap_decal), - GEO_CLOSE_NODE(), GEO_ANIMATED_PART(LAYER_TRANSPARENT, 60, 0, 0, mario_right_hand_cap), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_right_hand_cap_decal), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_right_hand_cap_wings_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_right_hand_cap_wings), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_RETURN(), @@ -599,7 +565,7 @@ const GeoLayout mario_metal_vanish_geo_right_hand[] = { GEO_ANIMATED_PART(LAYER_TRANSPARENT, 60, 0, 0, mario_metal_right_hand_cap_shared_dl), GEO_ANIMATED_PART(LAYER_TRANSPARENT, 60, 0, 0, mario_metal_right_hand_cap_shared_dl), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_metal_right_hand_cap_shared_dl_wings_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_metal_right_hand_cap_shared_dl_wings), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_RETURN(), @@ -700,23 +666,31 @@ const GeoLayout mario_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_ALPHA + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_TRANSPARENT + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_OPAQUE << 2, geo_mirror_mario_backface_culling), + GEO_ASM(LAYER_OPAQUE_DECAL << 2, geo_mirror_mario_backface_culling), GEO_ASM(LAYER_ALPHA << 2, geo_mirror_mario_backface_culling), GEO_ASM(LAYER_TRANSPARENT << 2, geo_mirror_mario_backface_culling), + GEO_ASM(LAYER_TRANSPARENT_DECAL << 2, geo_mirror_mario_backface_culling), GEO_ASM(0, geo_mirror_mario_set_alpha), GEO_OPEN_NODE(), GEO_BRANCH(1, mario_geo_load_body), GEO_CLOSE_NODE(), GEO_ASM((LAYER_OPAQUE << 2) | 1, geo_mirror_mario_backface_culling), + GEO_ASM((LAYER_OPAQUE_DECAL << 2) | 1, geo_mirror_mario_backface_culling), GEO_ASM((LAYER_ALPHA << 2) | 1, geo_mirror_mario_backface_culling), GEO_ASM((LAYER_TRANSPARENT << 2) | 1, geo_mirror_mario_backface_culling), + GEO_ASM((LAYER_TRANSPARENT_DECAL << 2) | 1, geo_mirror_mario_backface_culling), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, mario_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, mario_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, mario_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; diff --git a/actors/mario/geo_header.h b/actors/mario/geo_header.h index 7601916c0..9da5d50cd 100644 --- a/actors/mario/geo_header.h +++ b/actors/mario/geo_header.h @@ -55,8 +55,6 @@ extern const Gfx mario_mustache_cap_on_dl[]; extern const Gfx mario_face_part_cap_on_dl[]; extern const Gfx mario_face_cap_dl[]; extern const Gfx mario_face_back_hair_cap_on_dl[]; -extern const Gfx mario_hair_sideburn_decal_cap_on[]; -extern const Gfx mario_m_logo_decal[]; extern const Gfx mario_face_cap_on_dl[]; extern const Gfx mario_cap_on_eyes_front[]; extern const Gfx mario_cap_on_eyes_half_closed[]; @@ -66,13 +64,20 @@ extern const Gfx mario_cap_on_eyes_left[]; extern const Gfx mario_cap_on_eyes_up[]; extern const Gfx mario_cap_on_eyes_down[]; extern const Gfx mario_cap_on_eyes_dead[]; +extern const Gfx mario_cap_on_eyes_front_transparent[]; +extern const Gfx mario_cap_on_eyes_half_closed_transparent[]; +extern const Gfx mario_cap_on_eyes_closed_transparent[]; +extern const Gfx mario_cap_on_eyes_right_transparent[]; +extern const Gfx mario_cap_on_eyes_left_transparent[]; +extern const Gfx mario_cap_on_eyes_up_transparent[]; +extern const Gfx mario_cap_on_eyes_down_transparent[]; +extern const Gfx mario_cap_on_eyes_dead_transparent[]; extern const Gfx mario_metal_cap_on_shared_dl[]; extern const Gfx mario_eyes_cap_off_dl[]; extern const Gfx mario_mustache_cap_off_dl[]; extern const Gfx mario_hair_sideburn_cap_off_dl[]; extern const Gfx mario_face_part_cap_off_dl[]; extern const Gfx mario_face_hair_cap_off_dl[]; -extern const Gfx mario_hair_sideburn_decal_cap_off[]; extern const Gfx mario_face_cap_off_dl[]; extern const Gfx mario_cap_off_eyes_front[]; extern const Gfx mario_cap_off_eyes_half_closed[]; @@ -82,6 +87,14 @@ extern const Gfx mario_cap_off_eyes_left[]; extern const Gfx mario_cap_off_eyes_up[]; extern const Gfx mario_cap_off_eyes_down[]; extern const Gfx mario_cap_off_eyes_dead[]; +extern const Gfx mario_cap_off_eyes_front_transparent[]; +extern const Gfx mario_cap_off_eyes_half_closed_transparent[]; +extern const Gfx mario_cap_off_eyes_closed_transparent[]; +extern const Gfx mario_cap_off_eyes_right_transparent[]; +extern const Gfx mario_cap_off_eyes_left_transparent[]; +extern const Gfx mario_cap_off_eyes_up_transparent[]; +extern const Gfx mario_cap_off_eyes_down_transparent[]; +extern const Gfx mario_cap_off_eyes_dead_transparent[]; extern const Gfx mario_metal_cap_off_shared_dl[]; extern const Gfx mario_left_hand_open_shared_dl[]; extern const Gfx mario_left_hand_open[]; @@ -92,20 +105,15 @@ extern const Gfx mario_right_hand_cap_m_logo_dl[]; extern const Gfx mario_right_hand_cap_top_dl[]; extern const Gfx mario_right_hand_cap_hand_position_dl[]; extern const Gfx mario_right_hand_cap_bottom_dl[]; -extern const Gfx mario_right_hand_cap_decal[]; extern const Gfx mario_right_hand_cap_dl[]; extern const Gfx mario_right_hand_cap_wings_half_1_dl[]; extern const Gfx mario_right_hand_cap_wings_half_2_dl[]; -extern const Gfx mario_right_hand_cap_wings_intial_dl[]; -extern const Gfx mario_right_hand_cap_wings_transparent_intial_dl[]; -extern const Gfx mario_right_hand_cap_metal_wings_intial_dl[]; +extern const Gfx mario_right_hand_cap_wings_initial_dl[]; extern const Gfx mario_right_hand_cap_wings_end_dl[]; extern const Gfx mario_right_hand_cap[]; extern const Gfx mario_right_hand_cap_wings[]; -extern const Gfx mario_right_hand_cap_wings_transparent[]; extern const Gfx mario_metal_right_hand_cap_shared_dl[]; extern const Gfx mario_metal_right_hand_cap_shared_dl_wings[]; -extern const Gfx mario_metal_right_hand_cap_shared_dl_wings_transparent[]; extern const Gfx mario_right_hand_peace_shared_dl[]; extern const Gfx mario_right_hand_peace[]; extern const Gfx mario_wings_half_1_dl[]; diff --git a/actors/mario/mario_externs.h b/actors/mario/mario_externs.h index 622858870..17b73c7e8 100644 --- a/actors/mario/mario_externs.h +++ b/actors/mario/mario_externs.h @@ -1,12 +1,7 @@ -extern ALIGNED8 const Texture mario_texture_metal_shade[]; -extern ALIGNED8 const Texture mario_texture_metal_light[]; +extern ALIGNED8 const Texture mario_texture_metal[]; extern ALIGNED8 const Texture mario_texture_yellow_button[]; extern ALIGNED8 const Texture mario_texture_m_logo[]; -extern ALIGNED8 const Texture mario_texture_m_blend[]; -extern ALIGNED8 const Texture mario_texture_m_cap[]; extern ALIGNED8 const Texture mario_texture_hair_sideburn[]; -extern ALIGNED8 const Texture mario_texture_add_sideburn[]; -extern ALIGNED8 const Texture mario_texture_skin_sideburn[]; extern ALIGNED8 const Texture mario_texture_mustache[]; extern ALIGNED8 const Texture mario_texture_eyes_front[]; extern ALIGNED8 const Texture mario_texture_eyes_half_closed[]; @@ -18,7 +13,5 @@ extern ALIGNED8 const Texture mario_texture_eyes_down[]; extern ALIGNED8 const Texture mario_texture_eyes_dead[]; extern ALIGNED8 const Texture mario_texture_wings_half_1[]; extern ALIGNED8 const Texture mario_texture_wings_half_2[]; -extern ALIGNED8 const Texture mario_texture_metal_wings_half_1_shade[]; -extern ALIGNED8 const Texture mario_texture_metal_wings_half_1_light[]; -extern ALIGNED8 const Texture mario_texture_metal_wings_half_2_shade[]; -extern ALIGNED8 const Texture mario_texture_metal_wings_half_2_light[]; +extern ALIGNED8 const Texture mario_texture_metal_wings_half_1[]; +extern ALIGNED8 const Texture mario_texture_metal_wings_half_2[]; diff --git a/actors/mario/model.inc.c b/actors/mario/model.inc.c index 6e5ce691e..a0d486206 100644 --- a/actors/mario/model.inc.c +++ b/actors/mario/model.inc.c @@ -37,52 +37,25 @@ static const Lights1 mario_brown2_lights_group = gdSPDefLights1( 0x73, 0x06, 0x00, 0x28, 0x28, 0x28 ); -static const Lights1 mario_black_lights_group = gdSPDefLights1( - 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x28, 0x28, 0x28 -); - -ALIGNED8 const Texture mario_texture_metal_shade[] = { -#include "actors/mario/custom_mario_metal_shade.rgba16.inc.c" -}; - -ALIGNED8 const Texture mario_texture_metal_light[] = { -#include "actors/mario/custom_mario_metal_light.rgba16.inc.c" -}; +ROM_ASSET_LOAD_TEXTURE(mario_texture_metal, "actors/mario/mario_metal.rgba16.inc.c", 0x00114750, 78432, 0x00000090, 4096); ROM_ASSET_LOAD_TEXTURE(mario_texture_yellow_button, "actors/mario/mario_overalls_button.rgba16.inc.c", 0x00114750, 78432, 0x00001090, 2048); ALIGNED8 const Texture mario_texture_m_logo[] = { -#include "actors/mario/custom_mario_logo.rgba16.inc.c" -}; - -ALIGNED8 const Texture mario_texture_m_blend[] = { -#include "actors/mario/custom_mario_logo_blend.rgba16.inc.c" -}; - -ALIGNED8 const Texture mario_texture_m_cap[] = { -#include "actors/mario/custom_mario_cap.rgba16.inc.c" +#include "actors/mario/custom_mario_logo.ia16.inc.c" }; ALIGNED8 const Texture mario_texture_hair_sideburn[] = { -#include "actors/mario/custom_mario_sideburn.rgba16.inc.c" -}; - -ALIGNED8 const Texture mario_texture_add_sideburn[] = { -#include "actors/mario/custom_mario_sideburn_add.rgba16.inc.c" -}; - -ALIGNED8 const Texture mario_texture_skin_sideburn[] = { -#include "actors/mario/custom_mario_skin.rgba16.inc.c" +#include "actors/mario/custom_mario_sideburn.ia16.inc.c" }; ROM_ASSET_LOAD_TEXTURE(mario_texture_mustache, "actors/mario/mario_mustache.rgba16.inc.c", 0x00114750, 78432, 0x00002890, 2048); ROM_ASSET_LOAD_TEXTURE(mario_texture_eyes_front, "actors/mario/mario_eyes_center.rgba16.inc.c", 0x00114750, 78432, 0x00003090, 2048); -ROM_ASSET_LOAD_TEXTURE(mario_texture_eyes_half_closed, "actors/mario/mario_eyes_half_closed.rgba16.inc.c", 0x00114750, 78432, 0x00003890, 2048); +ROM_ASSET_LOAD_TEXTURE(mario_texture_eyes_half_closed, "actors/mario/mario_eyes_half_closed.rgba16.inc.c", 0x00114750, 78432, 0x00003850, 2048); -ROM_ASSET_LOAD_TEXTURE(mario_texture_eyes_closed, "actors/mario/mario_eyes_closed.rgba16.inc.c", 0x00114750, 78432, 0x00004090, 2048); +ROM_ASSET_LOAD_TEXTURE(mario_texture_eyes_closed, "actors/mario/mario_eyes_closed.rgba16.inc.c", 0x00114750, 78432, 0x00004050, 2048); ROM_ASSET_LOAD_TEXTURE(mario_texture_eyes_right, "actors/mario/mario_eyes_left_unused.rgba16.inc.c", 0x00114750, 78432, 0x00005890, 2048); @@ -98,21 +71,9 @@ ROM_ASSET_LOAD_TEXTURE(mario_texture_wings_half_1, "actors/mario/mario_wing.rgba ROM_ASSET_LOAD_TEXTURE(mario_texture_wings_half_2, "actors/mario/mario_wing_tip.rgba16.inc.c", 0x00114750, 78432, 0x00009090, 4096); -ALIGNED8 const Texture mario_texture_metal_wings_half_1_shade[] = { -#include "actors/mario/custom_mario_metal_wing_shade.rgba16.inc.c" -}; +ROM_ASSET_LOAD_TEXTURE(mario_texture_metal_wings_half_1, "actors/mario/mario_metal_wing_unused.rgba16.inc.c", 0x00114750, 78432, 0x0000A090, 4096); -ALIGNED8 const Texture mario_texture_metal_wings_half_1_light[] = { -#include "actors/mario/custom_mario_metal_wing_light.rgba16.inc.c" -}; - -ALIGNED8 const Texture mario_texture_metal_wings_half_2_shade[] = { -#include "actors/mario/custom_mario_metal_wing_tip_shade.rgba16.inc.c" -}; - -ALIGNED8 const Texture mario_texture_metal_wings_half_2_light[] = { -#include "actors/mario/custom_mario_metal_wing_tip_light.rgba16.inc.c" -}; +ROM_ASSET_LOAD_TEXTURE(mario_texture_metal_wings_half_2, "actors/mario/mario_metal_wing_tip_unused.rgba16.inc.c", 0x00114750, 78432, 0x0000B090, 4096); // 0x0400C090 ROM_ASSET_LOAD_VTX(mario_butt_dl_vertex_group1, 0x00114750, 78432, 0x0000c090, 240); @@ -209,21 +170,18 @@ const Gfx mario_butt[] = { // 0x0400CCC8 - 0x0400CD40 const Gfx mario_metal_butt[] = { gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT), gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsSPLight(&mario_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_shade), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 128), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), gsDPSetTileSize(0, 0, 0, 252, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 128), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(mario_butt_dl), gsSPEndDisplayList(), }; @@ -481,6 +439,7 @@ const Gfx mario_metal_right_hand_closed[] = { gsSPDisplayList(mario_right_hand_closed_dl), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsSPEndDisplayList(), @@ -526,21 +485,18 @@ const Gfx mario_left_thigh[] = { // 0x0400E7E0 - 0x0400E858 const Gfx mario_metal_left_thigh[] = { gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT), gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsSPLight(&mario_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_shade), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 128), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), gsDPSetTileSize(0, 0, 0, 252, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 128), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(mario_left_thigh_dl), gsSPEndDisplayList(), }; @@ -703,6 +659,7 @@ const Gfx mario_metal_right_foot[] = { gsSPDisplayList(mario_right_foot_dl), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsDPSetEnvColor(255, 255, 255, 255), @@ -1070,83 +1027,26 @@ const Gfx mario_face_back_hair_cap_on_dl[] = { gsSPEndDisplayList(), }; -const Gfx mario_hair_sideburn_decal_cap_on[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&mario_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 11), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_add_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 124), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(SKIN), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_skin_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPEndDisplayList(), -}; - -const Gfx mario_m_logo_decal[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&mario_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 17), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_blend), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 124), - gsSPDisplayList(mario_m_logo_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(CAP), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_cap), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 124), - gsSPDisplayList(mario_m_logo_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPEndDisplayList(), -}; - // 0x04011960 - 0x040119A0 const Gfx mario_face_cap_on_dl[] = { + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(mario_face_part_cap_on_dl), gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(mario_face_cap_dl), @@ -1158,15 +1058,27 @@ const Gfx mario_face_cap_on_dl[] = { // 0x040119A0 - 0x04011A90 const Gfx mario_cap_on_eyes_front[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), 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, mario_texture_eyes_front), - gsDPLoadSync(), - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1183,15 +1095,27 @@ const Gfx mario_cap_on_eyes_front[] = { // 0x04011A90 - 0x04011B80 const Gfx mario_cap_on_eyes_half_closed[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), 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, mario_texture_eyes_half_closed), - gsDPLoadSync(), - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1208,15 +1132,27 @@ const Gfx mario_cap_on_eyes_half_closed[] = { // 0x04011B80 - 0x04011C70 const Gfx mario_cap_on_eyes_closed[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), 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, mario_texture_eyes_closed), - gsDPLoadSync(), - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1233,15 +1169,27 @@ const Gfx mario_cap_on_eyes_closed[] = { // 0x04011C70 - 0x04011D60 const Gfx mario_cap_on_eyes_right[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), 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, mario_texture_eyes_right), - gsDPLoadSync(), - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1258,15 +1206,27 @@ const Gfx mario_cap_on_eyes_right[] = { // 0x04011D60 - 0x04011E50 const Gfx mario_cap_on_eyes_left[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), 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, mario_texture_eyes_left), - gsDPLoadSync(), - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1283,15 +1243,27 @@ const Gfx mario_cap_on_eyes_left[] = { // 0x04011E50 - 0x04011F40 const Gfx mario_cap_on_eyes_up[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), 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, mario_texture_eyes_up), - gsDPLoadSync(), - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1308,15 +1280,27 @@ const Gfx mario_cap_on_eyes_up[] = { // 0x04011F40 - 0x04012030 const Gfx mario_cap_on_eyes_down[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), 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, mario_texture_eyes_down), - gsDPLoadSync(), - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1333,15 +1317,27 @@ const Gfx mario_cap_on_eyes_down[] = { // 0x04012030 - 0x04012120 const Gfx mario_cap_on_eyes_dead[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), 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, mario_texture_eyes_dead), - gsDPLoadSync(), - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1355,6 +1351,328 @@ const Gfx mario_cap_on_eyes_dead[] = { gsSPEndDisplayList(), }; +// 0x04011960 - 0x040119A0 +const Gfx mario_face_cap_on_transparent_dl[] = { + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_part_cap_on_dl), + gsSPCopyLightsPlayerPart(CAP), + gsSPDisplayList(mario_face_cap_dl), + gsSPCopyLightsPlayerPart(HAIR), + gsSPDisplayList(mario_face_back_hair_cap_on_dl), + gsSPEndDisplayList(), +}; + +// 0x040119A0 - 0x04011A90 +const Gfx mario_cap_on_eyes_front_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_front), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_on_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04011A90 - 0x04011B80 +const Gfx mario_cap_on_eyes_half_closed_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_half_closed), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_on_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04011B80 - 0x04011C70 +const Gfx mario_cap_on_eyes_closed_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_closed), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_on_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04011C70 - 0x04011D60 +const Gfx mario_cap_on_eyes_right_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_right), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_on_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04011D60 - 0x04011E50 +const Gfx mario_cap_on_eyes_left_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_left), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_on_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04011E50 - 0x04011F40 +const Gfx mario_cap_on_eyes_up_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_up), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_on_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04011F40 - 0x04012030 +const Gfx mario_cap_on_eyes_down_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_down), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_on_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04012030 - 0x04012120 +const Gfx mario_cap_on_eyes_dead_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_dead), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_on_transparent_dl), + gsSPEndDisplayList(), +}; + // 0x04012120 - 0x04012160 const Gfx mario_metal_cap_on_shared_dl[] = { gsSPDisplayList(mario_m_logo_dl), @@ -1577,44 +1895,26 @@ const Gfx mario_face_hair_cap_off_dl[] = { gsSPEndDisplayList(), }; -const Gfx mario_hair_sideburn_decal_cap_off[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&mario_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 11), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_add_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 124), - gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(SKIN), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_skin_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPEndDisplayList(), -}; - // 0x040139C0 - 0x040139E8 const Gfx mario_face_cap_off_dl[] = { + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(mario_face_part_cap_off_dl), gsSPCopyLightsPlayerPart(HAIR), gsSPDisplayList(mario_face_hair_cap_off_dl), @@ -1648,7 +1948,6 @@ const Gfx mario_cap_off_eyes_front[] = { // 0x04013AB8 - 0x04013B88 const Gfx mario_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), @@ -1673,7 +1972,6 @@ const Gfx mario_cap_off_eyes_half_closed[] = { // 0x04013B88 - 0x04013C58 const Gfx mario_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), @@ -1821,6 +2119,228 @@ const Gfx mario_cap_off_eyes_dead[] = { gsSPEndDisplayList(), }; +// 0x040139C0 - 0x040139E8 +const Gfx mario_face_cap_off_transparent_dl[] = { + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_part_cap_off_dl), + gsSPCopyLightsPlayerPart(HAIR), + gsSPDisplayList(mario_face_hair_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x040139E8 - 0x04013AB8 +const Gfx mario_cap_off_eyes_front_transparent[] = { + 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, mario_texture_eyes_front), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_off_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04013AB8 - 0x04013B88 +const Gfx mario_cap_off_eyes_half_closed_transparent[] = { + 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, mario_texture_eyes_half_closed), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_off_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04013B88 - 0x04013C58 +const Gfx mario_cap_off_eyes_closed_transparent[] = { + 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, mario_texture_eyes_closed), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_off_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04013C58 - 0x04013D28 +const Gfx mario_cap_off_eyes_right_transparent[] = { + 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, mario_texture_eyes_right), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_off_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04013D28 - 0x04013DF8 +const Gfx mario_cap_off_eyes_left_transparent[] = { + 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, mario_texture_eyes_left), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_off_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04013DF8 - 0x04013EC8 +const Gfx mario_cap_off_eyes_up_transparent[] = { + 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, mario_texture_eyes_up), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_off_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04013EC8 - 0x04013F98 +const Gfx mario_cap_off_eyes_down_transparent[] = { + 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, mario_texture_eyes_down), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_off_transparent_dl), + gsSPEndDisplayList(), +}; + +// 0x04013F98 - 0x04014068 +const Gfx mario_cap_off_eyes_dead_transparent[] = { + 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, mario_texture_eyes_dead), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_off_transparent_dl), + gsSPEndDisplayList(), +}; + // 0x04014068 - 0x04014098 const Gfx mario_metal_cap_off_shared_dl[] = { gsSPDisplayList(mario_eyes_cap_off_dl), @@ -1978,6 +2498,7 @@ const Gfx mario_metal_right_hand_open[] = { gsSPDisplayList(mario_right_hand_open_dl), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsSPEndDisplayList(), @@ -2090,45 +2611,6 @@ const Gfx mario_right_hand_cap_bottom_dl[] = { gsSPEndDisplayList(), }; -const Gfx mario_right_hand_cap_decal[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&mario_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 17), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_blend), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 124), - gsSPDisplayList(mario_right_hand_cap_m_logo_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(CAP), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_cap), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 124), - gsSPDisplayList(mario_right_hand_cap_m_logo_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPEndDisplayList(), -}; - // 0x0401AF20 - 0x0401AF60 const Gfx mario_right_hand_cap_dl[] = { gsSPCopyLightsPlayerPart(CAP), @@ -2189,9 +2671,9 @@ const Gfx mario_right_hand_cap_wings_half_2_dl[] = { }; // 0x0401B0E0 - 0x0401B138 -const Gfx mario_right_hand_cap_wings_intial_dl[] = { +const Gfx mario_right_hand_cap_wings_initial_dl[] = { gsDPPipeSync(), - gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA), + gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA), gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), @@ -2203,34 +2685,11 @@ const Gfx mario_right_hand_cap_wings_intial_dl[] = { gsSPEndDisplayList(), }; -const Gfx mario_right_hand_cap_wings_transparent_intial_dl[] = { - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA), - gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), - gsSPLight(&mario_white_lights_group.l, 1), - gsSPLight(&mario_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 mario_right_hand_cap_metal_wings_intial_dl[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), - gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&mario_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsSPEndDisplayList(), -}; - // 0x0401B138 - 0x0401B158 const Gfx mario_right_hand_cap_wings_end_dl[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsSPEndDisplayList(), @@ -2238,6 +2697,23 @@ const Gfx mario_right_hand_cap_wings_end_dl[] = { // 0x0401B158 - 0x0401B1D8 const Gfx mario_right_hand_cap[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_right_hand_cap_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(mario_right_hand_cap_dl), @@ -2246,21 +2722,7 @@ const Gfx mario_right_hand_cap[] = { // 0x0401B1D8 - 0x0401B230 const Gfx mario_right_hand_cap_wings[] = { - gsSPDisplayList(mario_right_hand_cap_wings_intial_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_wings_half_1), - gsDPLoadSync(), - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), - gsSPDisplayList(mario_right_hand_cap_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_wings_half_2), - gsDPLoadSync(), - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), - gsSPDisplayList(mario_right_hand_cap_wings_half_2_dl), - gsSPDisplayList(mario_right_hand_cap_wings_end_dl), - gsSPEndDisplayList(), -}; - -const Gfx mario_right_hand_cap_wings_transparent[] = { - gsSPDisplayList(mario_right_hand_cap_wings_transparent_intial_dl), + gsSPDisplayList(mario_right_hand_cap_wings_initial_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_wings_half_1), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -2281,6 +2743,7 @@ const Gfx mario_metal_right_hand_cap_shared_dl[] = { gsSPDisplayList(mario_right_hand_cap_bottom_dl), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsSPEndDisplayList(), @@ -2288,56 +2751,25 @@ const Gfx mario_metal_right_hand_cap_shared_dl[] = { // 0x0401B278 - 0x0401B2D0 const Gfx mario_metal_right_hand_cap_shared_dl_wings[] = { - gsSPDisplayList(mario_right_hand_cap_metal_wings_intial_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1_shade), + gsDPPipeSync(), + gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_right_hand_cap_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2_shade), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), - gsSPDisplayList(mario_right_hand_cap_wings_half_2_dl), - gsSPDisplayList(mario_right_hand_cap_wings_end_dl), - gsSPEndDisplayList(), -}; - -const Gfx mario_metal_right_hand_cap_shared_dl_wings_transparent[] = { - gsSPDisplayList(mario_right_hand_cap_metal_wings_intial_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1_shade), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), - gsSPDisplayList(mario_right_hand_cap_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2_shade), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_right_hand_cap_wings_half_2_dl), gsSPDisplayList(mario_right_hand_cap_wings_end_dl), gsSPEndDisplayList(), @@ -2493,7 +2925,7 @@ const Gfx mario_cap_wings[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), + gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPEndDisplayList(), }; @@ -2519,8 +2951,8 @@ const Gfx mario_cap_wings_transparent[] = { gsSPDisplayList(mario_wings_half_2_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPEndDisplayList(), }; @@ -2528,36 +2960,38 @@ const Gfx mario_cap_wings_transparent[] = { const Gfx mario_metal_cap_wings[] = { gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&mario_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1_shade), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2_shade), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_wings_half_2_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), + gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 2047, 128), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTileSize(0, 0, 0, 252, 124), gsSPEndDisplayList(), }; @@ -2565,36 +2999,38 @@ const Gfx mario_metal_cap_wings[] = { const Gfx mario_metal_cap_wings_transparent[] = { gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&mario_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1_shade), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2_shade), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_wings_half_2_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), + gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 2047, 128), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTileSize(0, 0, 0, 252, 124), gsSPEndDisplayList(), }; @@ -2602,6 +3038,7 @@ const Gfx mario_material_revert_render_settings[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_LIGHTING), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), gsSPTexture(65535, 65535, 0, 0, 0), gsDPSetEnvColor(255, 255, 255, 255), diff --git a/actors/mario_cap/geo.inc.c b/actors/mario_cap/geo.inc.c index 37546c413..806d3fbec 100644 --- a/actors/mario_cap/geo.inc.c +++ b/actors/mario_cap/geo.inc.c @@ -8,27 +8,23 @@ const GeoLayout marios_cap_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_ALPHA + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_TRANSPARENT + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(10, geo_update_layer_transparency), GEO_SWITCH_CASE(2, geo_switch_anim_state), GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, mario_cap_m_logo_decal), - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_seg3_dl_03022F48), - GEO_CLOSE_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_m_logo_decal), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_seg3_dl_03022F48), - GEO_CLOSE_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_seg3_dl_03022F48), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_seg3_dl_03022F48), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, mario_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, mario_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, mario_cap_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; @@ -42,8 +38,10 @@ const GeoLayout marios_metal_cap_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_ALPHA + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_TRANSPARENT + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(10, geo_update_layer_transparency), GEO_SWITCH_CASE(2, geo_switch_anim_state), GEO_OPEN_NODE(), @@ -53,8 +51,10 @@ const GeoLayout marios_metal_cap_geo[] = { GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, mario_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, mario_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, mario_cap_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; @@ -68,28 +68,30 @@ const GeoLayout marios_wing_cap_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_ALPHA + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_TRANSPARENT + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(10, geo_update_layer_transparency), GEO_SWITCH_CASE(2, geo_switch_anim_state), GEO_OPEN_NODE(), GEO_NODE_START(), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, mario_cap_m_logo_decal), GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_seg3_dl_03022F48), GEO_DISPLAY_LIST(LAYER_ALPHA, mario_cap_seg3_dl_030230B0), GEO_CLOSE_NODE(), GEO_NODE_START(), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_m_logo_decal), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_seg3_dl_03023160), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, mario_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, mario_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, mario_cap_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; @@ -103,8 +105,10 @@ const GeoLayout marios_winged_metal_cap_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_ALPHA + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_TRANSPARENT + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(10, geo_update_layer_transparency), GEO_SWITCH_CASE(2, geo_switch_anim_state), GEO_OPEN_NODE(), @@ -121,8 +125,10 @@ const GeoLayout marios_winged_metal_cap_geo[] = { GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, mario_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, mario_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, mario_cap_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; diff --git a/actors/mario_cap/geo_header.h b/actors/mario_cap/geo_header.h index 17cc175e9..fcdc3eb6b 100644 --- a/actors/mario_cap/geo_header.h +++ b/actors/mario_cap/geo_header.h @@ -9,9 +9,7 @@ extern const Gfx mario_cap_seg3_dl_03022D10[]; extern const Gfx mario_cap_seg3_dl_03022E78[]; extern const Gfx mario_cap_seg3_dl_03022EA8[]; extern const Gfx mario_cap_seg3_dl_03022ED8[]; -extern const Gfx mario_cap_seg3_dl_03022ED8_metal[]; extern const Gfx mario_cap_seg3_dl_03022F20[]; -extern const Gfx mario_cap_m_logo_decal[]; extern const Gfx mario_cap_seg3_dl_03022F48[]; extern const Gfx mario_cap_seg3_dl_03022FF8[]; extern const Gfx mario_cap_seg3_dl_030230B0[]; diff --git a/actors/mario_cap/model.inc.c b/actors/mario_cap/model.inc.c index 12e9d2a89..3a5be2950 100644 --- a/actors/mario_cap/model.inc.c +++ b/actors/mario_cap/model.inc.c @@ -19,23 +19,13 @@ static const Lights1 mario_cap_seg3_lights_0301CF38 = gdSPDefLights1( 0xff, 0x00, 0x00, 0x28, 0x28, 0x28 ); -static const Lights1 mario_cap_black_lights_group = gdSPDefLights1( - 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x28, 0x28, 0x28 -); - #include "actors/mario/mario_externs.h" -#define mario_cap_texture_metal_shade mario_texture_metal_shade -#define mario_cap_texture_metal_light mario_texture_metal_light -#define mario_cap_texture_m_logo mario_texture_m_logo -#define mario_cap_texture_m_blend mario_texture_m_blend -#define mario_cap_texture_m_cap mario_texture_m_cap -#define mario_cap_texture_wings_half_1 mario_texture_wings_half_1 -#define mario_cap_texture_wings_half_2 mario_texture_wings_half_2 -#define mario_cap_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1_shade -#define mario_cap_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1_light -#define mario_cap_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2_shade -#define mario_cap_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2_light +#define mario_cap_texture_metal mario_texture_metal +#define mario_cap_texture_m_logo mario_texture_m_logo +#define mario_cap_texture_wings_half_1 mario_texture_wings_half_1 +#define mario_cap_texture_wings_half_2 mario_texture_wings_half_2 +#define mario_cap_texture_metal_wings_half_1 mario_texture_metal_wings_half_1 +#define mario_cap_texture_metal_wings_half_2 mario_texture_metal_wings_half_2 // 0x0301CF50 ROM_ASSET_LOAD_TEXTURE(mario_cap_seg3_texture_0301CF50, "actors/mario_cap/mario_cap_metal.rgba16.inc.c", 0x00114750, 78432, 0x00000090, 4096); @@ -188,100 +178,88 @@ const Gfx mario_cap_seg3_dl_03022ED8[] = { gsSPEndDisplayList(), }; -const Gfx mario_cap_seg3_dl_03022ED8_metal[] = { - gsDPPipeSync(), - gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&mario_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsSPEndDisplayList(), -}; - // 0x03022F20 - 0x03022F48 const Gfx mario_cap_seg3_dl_03022F20[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsSPEndDisplayList(), }; -const Gfx mario_cap_m_logo_decal[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&mario_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 17), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_m_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_m_blend), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 124), - gsSPDisplayList(mario_cap_seg3_dl_03022B30), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(CAP), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_m_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(7, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_m_cap), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 124), - gsSPDisplayList(mario_cap_seg3_dl_03022B30), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPEndDisplayList(), -}; - // 0x03022F48 - 0x03022FF8 const Gfx mario_cap_seg3_dl_03022F48[] = { gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_cap_seg3_dl_03022B30), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(mario_cap_seg3_dl_03022D10), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsDPSetAlphaCompare(G_AC_NONE), gsDPSetEnvColor(255, 255, 255, 255), + + gsDPPipeSync(), + gsSPSetGeometryMode(G_LIGHTING), + gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), + gsSPTexture(65535, 65535, 0, 0, 0), + gsDPSetEnvColor(255, 255, 255, 255), + gsDPSetAlphaCompare(G_AC_NONE), + + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), + + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(6, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPEndDisplayList(), }; // 0x03022FF8 - 0x030230B0 const Gfx mario_cap_seg3_dl_03022FF8[] = { gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT), gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsSPLight(&mario_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_shade), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 128), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), gsDPSetTileSize(0, 0, 0, 252, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 128), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(mario_cap_seg3_dl_03022B30), gsSPDisplayList(mario_cap_seg3_dl_03022B68), gsSPDisplayList(mario_cap_seg3_dl_03022CC8), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsDPSetAlphaCompare(G_AC_NONE), @@ -306,28 +284,25 @@ const Gfx mario_cap_seg3_dl_030230B0[] = { // 0x03023108 - 0x03023160 const Gfx mario_cap_seg3_dl_03023108[] = { - gsSPDisplayList(mario_cap_seg3_dl_03022ED8_metal), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_1_shade), + gsDPPipeSync(), + gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_cap_seg3_dl_03022E78), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_2_shade), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_cap_seg3_dl_03022EA8), gsSPDisplayList(mario_cap_seg3_dl_03022F20), gsSPEndDisplayList(), @@ -335,9 +310,25 @@ const Gfx mario_cap_seg3_dl_03023108[] = { // 0x03023160 - 0x03023298 const Gfx mario_cap_seg3_dl_03023160[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(7, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPDisplayList(mario_cap_seg3_dl_03022B30), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&mario_cap_seg3_lights_0301CF38.a, 2), gsSPDisplayList(mario_cap_seg3_dl_03022D10), gsDPPipeSync(), gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK), @@ -366,55 +357,46 @@ const Gfx mario_cap_seg3_dl_03023160[] = { // 0x03023298 - 0x030233D0 const Gfx mario_cap_seg3_dl_03023298[] = { gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT), gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsSPLight(&mario_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_shade), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 128), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), gsDPSetTileSize(0, 0, 0, 252, 124), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 128), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(mario_cap_seg3_dl_03022B30), gsSPDisplayList(mario_cap_seg3_dl_03022B68), gsSPDisplayList(mario_cap_seg3_dl_03022CC8), + gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&mario_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_1_shade), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_cap_seg3_dl_03022E78), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_2_shade), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_cap_seg3_dl_03022EA8), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsDPSetAlphaCompare(G_AC_NONE), @@ -426,6 +408,7 @@ const Gfx mario_cap_material_revert_render_settings[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_LIGHTING), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), gsSPTexture(65535, 65535, 0, 0, 0), gsDPSetEnvColor(255, 255, 255, 255), diff --git a/actors/snowman/geo.inc.c b/actors/snowman/geo.inc.c index ba4575baa..cecef9684 100644 --- a/actors/snowman/geo.inc.c +++ b/actors/snowman/geo.inc.c @@ -28,9 +28,10 @@ const GeoLayout mr_blizzard_hidden_geo[] = { GEO_OPEN_NODE(), GEO_SCALE(0x00, 65536), GEO_OPEN_NODE(), - GEO_ASM(0, geo_mario_set_player_colors), - GEO_TRANSLATE_ROTATE_WITH_DL(LAYER_ALPHA, 490, 14, 43, 305, 0, 248, mario_cap_m_logo_decal), - GEO_TRANSLATE_ROTATE_WITH_DL(LAYER_OPAQUE, 490, 14, 43, 305, 0, 248, mario_cap_seg3_dl_03022F48), + GEO_TRANSLATE_ROTATE(LAYER_OPAQUE, 490, 14, 43, 305, 0, 248), + GEO_OPEN_NODE(), + GEO_ASM(0, geo_mario_cap_display_list), + GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), diff --git a/actors/toad_cap/model.inc.c b/actors/toad_cap/model.inc.c index d52414e84..a89b3f402 100644 --- a/actors/toad_cap/model.inc.c +++ b/actors/toad_cap/model.inc.c @@ -5,16 +5,16 @@ static const Lights1 toad_cap_black_lights_group = gdSPDefLights1( #include "actors/mario/mario_externs.h" #include "actors/toad_player/toad_player_externs.h" -#define toad_cap_texture_metal_shade mario_texture_metal_shade -#define toad_cap_texture_metal_light mario_texture_metal_light +#define toad_cap_texture_metal_shade mario_texture_metal +#define toad_cap_texture_metal_light mario_texture_metal #define toad_cap_texture_cap toad_player_texture_cap #define toad_cap_texture_spots toad_player_texture_spots #define toad_cap_texture_wings_half_1 mario_texture_wings_half_1 #define toad_cap_texture_wings_half_2 mario_texture_wings_half_2 -#define toad_cap_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1_shade -#define toad_cap_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1_light -#define toad_cap_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2_shade -#define toad_cap_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2_light +#define toad_cap_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1 +#define toad_cap_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1 +#define toad_cap_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2 +#define toad_cap_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2 Vtx toad_cap_mesh_layer_1_vtx_0[94] = { {{ {-175, 118, 0}, 0, {-418, 482}, {134, 35, 0, 0} }}, diff --git a/actors/toad_player/custom_toad_cap.ia16.png b/actors/toad_player/custom_toad_cap.ia16.png deleted file mode 100644 index ffc9bf632..000000000 Binary files a/actors/toad_player/custom_toad_cap.ia16.png and /dev/null differ diff --git a/actors/toad_player/custom_toad_eyes_center.rgba32.png b/actors/toad_player/custom_toad_eyes_center.rgba32.png index 2946ee602..950828a3d 100644 Binary files a/actors/toad_player/custom_toad_eyes_center.rgba32.png and b/actors/toad_player/custom_toad_eyes_center.rgba32.png differ diff --git a/actors/toad_player/custom_toad_eyes_closed.rgba32.png b/actors/toad_player/custom_toad_eyes_closed.rgba32.png index 20164b510..6e3b28cbb 100644 Binary files a/actors/toad_player/custom_toad_eyes_closed.rgba32.png and b/actors/toad_player/custom_toad_eyes_closed.rgba32.png differ diff --git a/actors/toad_player/custom_toad_eyes_dead.rgba32.png b/actors/toad_player/custom_toad_eyes_dead.rgba32.png index 30f3152a0..94b12fe33 100644 Binary files a/actors/toad_player/custom_toad_eyes_dead.rgba32.png and b/actors/toad_player/custom_toad_eyes_dead.rgba32.png differ diff --git a/actors/toad_player/custom_toad_eyes_down.rgba32.png b/actors/toad_player/custom_toad_eyes_down.rgba32.png index a07fa1841..75f032429 100644 Binary files a/actors/toad_player/custom_toad_eyes_down.rgba32.png and b/actors/toad_player/custom_toad_eyes_down.rgba32.png differ diff --git a/actors/toad_player/custom_toad_eyes_half_closed.rgba32.png b/actors/toad_player/custom_toad_eyes_half_closed.rgba32.png index a9e528f5e..7c16048d3 100644 Binary files a/actors/toad_player/custom_toad_eyes_half_closed.rgba32.png and b/actors/toad_player/custom_toad_eyes_half_closed.rgba32.png differ diff --git a/actors/toad_player/custom_toad_eyes_left.rgba32.png b/actors/toad_player/custom_toad_eyes_left.rgba32.png index 106b8f8a0..fc414e58d 100644 Binary files a/actors/toad_player/custom_toad_eyes_left.rgba32.png and b/actors/toad_player/custom_toad_eyes_left.rgba32.png differ diff --git a/actors/toad_player/custom_toad_eyes_right.rgba32.png b/actors/toad_player/custom_toad_eyes_right.rgba32.png index e85e19e97..d49f67dec 100644 Binary files a/actors/toad_player/custom_toad_eyes_right.rgba32.png and b/actors/toad_player/custom_toad_eyes_right.rgba32.png differ diff --git a/actors/toad_player/custom_toad_eyes_up.rgba32.png b/actors/toad_player/custom_toad_eyes_up.rgba32.png index 251d31a91..776979933 100644 Binary files a/actors/toad_player/custom_toad_eyes_up.rgba32.png and b/actors/toad_player/custom_toad_eyes_up.rgba32.png differ diff --git a/actors/toad_player/custom_toad_face_dead.rgba32.png b/actors/toad_player/custom_toad_face_dead.rgba32.png deleted file mode 100644 index 44e7dcb70..000000000 Binary files a/actors/toad_player/custom_toad_face_dead.rgba32.png and /dev/null differ diff --git a/actors/toad_player/custom_toad_face_neutral.rgba32.png b/actors/toad_player/custom_toad_face_neutral.rgba32.png deleted file mode 100644 index 9fad387ac..000000000 Binary files a/actors/toad_player/custom_toad_face_neutral.rgba32.png and /dev/null differ diff --git a/actors/toad_player/custom_toad_head.ia16.png b/actors/toad_player/custom_toad_head.ia16.png new file mode 100644 index 000000000..cbc4d5da0 Binary files /dev/null and b/actors/toad_player/custom_toad_head.ia16.png differ diff --git a/actors/toad_player/custom_toad_spots.ia16.png b/actors/toad_player/custom_toad_spots.ia16.png deleted file mode 100644 index 9e02a3968..000000000 Binary files a/actors/toad_player/custom_toad_spots.ia16.png and /dev/null differ diff --git a/actors/toad_player/model.inc.c b/actors/toad_player/model.inc.c index 1df2a5a0a..a4a7de14c 100644 --- a/actors/toad_player/model.inc.c +++ b/actors/toad_player/model.inc.c @@ -31,21 +31,21 @@ static const Lights1 toad_player_black_lights_group = gdSPDefLights1( 0x00, 0x00, 0x00, 0x28, 0x28, 0x28); #include "actors/mario/mario_externs.h" -#define toad_player_texture_metal_shade mario_texture_metal_shade -#define toad_player_texture_metal_light mario_texture_metal_light +#define toad_player_texture_metal_shade mario_texture_metal +#define toad_player_texture_metal_light mario_texture_metal #define toad_player_texture_wings_half_1 mario_texture_wings_half_1 #define toad_player_texture_wings_half_2 mario_texture_wings_half_2 -#define toad_player_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1_shade -#define toad_player_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1_light -#define toad_player_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2_shade -#define toad_player_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2_light +#define toad_player_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1 +#define toad_player_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1 +#define toad_player_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2 +#define toad_player_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2 ALIGNED8 const Texture toad_player_texture_cap[] = { - #include "actors/toad_player/custom_toad_cap.ia16.inc.c" + #include "actors/toad_player/custom_toad_head.ia16.inc.c" }; ALIGNED8 const Texture toad_player_texture_spots[] = { - #include "actors/toad_player/custom_toad_spots.ia16.inc.c" + #include "actors/toad_player/custom_toad_head.ia16.inc.c" }; ALIGNED8 const Texture toad_player_texture_hair[] = { @@ -53,11 +53,11 @@ ALIGNED8 const Texture toad_player_texture_hair[] = { }; ALIGNED8 const Texture toad_player_texture_face_neutral[] = { - #include "actors/toad_player/custom_toad_face_neutral.rgba32.inc.c" + #include "actors/toad_player/custom_toad_eyes_center.rgba32.inc.c" }; ALIGNED8 const Texture toad_player_texture_face_dead[] = { - #include "actors/toad_player/custom_toad_face_dead.rgba32.inc.c" + #include "actors/toad_player/custom_toad_eyes_dead.rgba32.inc.c" }; ALIGNED8 const Texture toad_player_texture_eyes_front[] = { diff --git a/actors/waluigi/custom_waluigi_cap.rgba16.png b/actors/waluigi/custom_waluigi_cap.rgba16.png deleted file mode 100644 index 6ce344ae7..000000000 Binary files a/actors/waluigi/custom_waluigi_cap.rgba16.png and /dev/null differ diff --git a/actors/waluigi/custom_waluigi_logo.ia16.png b/actors/waluigi/custom_waluigi_logo.ia16.png new file mode 100644 index 000000000..285684616 Binary files /dev/null and b/actors/waluigi/custom_waluigi_logo.ia16.png differ diff --git a/actors/waluigi/custom_waluigi_logo.rgba16.png b/actors/waluigi/custom_waluigi_logo.rgba16.png deleted file mode 100644 index 9214c95ca..000000000 Binary files a/actors/waluigi/custom_waluigi_logo.rgba16.png and /dev/null differ diff --git a/actors/waluigi/custom_waluigi_logo_blend.rgba16.png b/actors/waluigi/custom_waluigi_logo_blend.rgba16.png deleted file mode 100644 index ecb2b6d5c..000000000 Binary files a/actors/waluigi/custom_waluigi_logo_blend.rgba16.png and /dev/null differ diff --git a/actors/waluigi/custom_waluigi_sideburn.ia16.png b/actors/waluigi/custom_waluigi_sideburn.ia16.png new file mode 100644 index 000000000..1bbc64e7c Binary files /dev/null and b/actors/waluigi/custom_waluigi_sideburn.ia16.png differ diff --git a/actors/waluigi/custom_waluigi_sideburn.rgba16.png b/actors/waluigi/custom_waluigi_sideburn.rgba16.png deleted file mode 100644 index 6e03c80d2..000000000 Binary files a/actors/waluigi/custom_waluigi_sideburn.rgba16.png and /dev/null differ diff --git a/actors/waluigi/custom_waluigi_sideburn_add.rgba16.png b/actors/waluigi/custom_waluigi_sideburn_add.rgba16.png deleted file mode 100644 index fe307d7b7..000000000 Binary files a/actors/waluigi/custom_waluigi_sideburn_add.rgba16.png and /dev/null differ diff --git a/actors/waluigi/custom_waluigi_skin.rgba16.png b/actors/waluigi/custom_waluigi_skin.rgba16.png deleted file mode 100644 index e8dfea895..000000000 Binary files a/actors/waluigi/custom_waluigi_skin.rgba16.png and /dev/null differ diff --git a/actors/waluigi/model.inc.c b/actors/waluigi/model.inc.c index 2a953636c..b1f496ffa 100644 --- a/actors/waluigi/model.inc.c +++ b/actors/waluigi/model.inc.c @@ -42,38 +42,38 @@ static const Lights1 waluigi_black_lights_group = gdSPDefLights1( ); #include "actors/mario/mario_externs.h" -#define waluigi_texture_metal_shade mario_texture_metal_shade -#define waluigi_texture_metal_light mario_texture_metal_light +#define waluigi_texture_metal_shade mario_texture_metal +#define waluigi_texture_metal_light mario_texture_metal #define waluigi_texture_yellow_button mario_texture_yellow_button #define waluigi_texture_wings_half_1 mario_texture_wings_half_1 #define waluigi_texture_wings_half_2 mario_texture_wings_half_2 -#define waluigi_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1_shade -#define waluigi_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1_light -#define waluigi_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2_shade -#define waluigi_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2_light +#define waluigi_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1 +#define waluigi_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1 +#define waluigi_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2 +#define waluigi_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2 ALIGNED8 const Texture waluigi_texture_r_logo[] = { -#include "actors/waluigi/custom_waluigi_logo.rgba16.inc.c" +#include "actors/waluigi/custom_waluigi_logo.ia16.inc.c" }; ALIGNED8 const Texture waluigi_texture_r_blend[] = { -#include "actors/waluigi/custom_waluigi_logo_blend.rgba16.inc.c" +#include "actors/waluigi/custom_waluigi_logo.ia16.inc.c" }; ALIGNED8 const Texture waluigi_texture_r_cap[] = { -#include "actors/waluigi/custom_waluigi_cap.rgba16.inc.c" +#include "actors/waluigi/custom_waluigi_logo.ia16.inc.c" }; ALIGNED8 const Texture waluigi_texture_hair_sideburn[] = { -#include "actors/waluigi/custom_waluigi_sideburn.rgba16.inc.c" +#include "actors/waluigi/custom_waluigi_sideburn.ia16.inc.c" }; ALIGNED8 const Texture waluigi_texture_add_sideburn[] = { -#include "actors/waluigi/custom_waluigi_sideburn_add.rgba16.inc.c" +#include "actors/waluigi/custom_waluigi_sideburn.ia16.inc.c" }; ALIGNED8 const Texture waluigi_texture_skin_sideburn[] = { -#include "actors/waluigi/custom_waluigi_skin.rgba16.inc.c" +#include "actors/waluigi/custom_waluigi_sideburn.ia16.inc.c" }; ALIGNED8 const Texture waluigi_texture_mouth[] = { diff --git a/actors/waluigi_cap/model.inc.c b/actors/waluigi_cap/model.inc.c index a2db64860..cee0b277e 100644 --- a/actors/waluigi_cap/model.inc.c +++ b/actors/waluigi_cap/model.inc.c @@ -8,17 +8,17 @@ static const Lights1 waluigi_cap_black_lights_group = gdSPDefLights1( #include "actors/mario/mario_externs.h" #include "actors/waluigi/waluigi_externs.h" -#define waluigi_cap_texture_metal_shade mario_texture_metal_shade -#define waluigi_cap_texture_metal_light mario_texture_metal_light +#define waluigi_cap_texture_metal_shade mario_texture_metal +#define waluigi_cap_texture_metal_light mario_texture_metal #define waluigi_cap_texture_r_logo waluigi_texture_r_logo -#define waluigi_cap_texture_r_blend waluigi_texture_r_blend -#define waluigi_cap_texture_r_cap waluigi_texture_r_cap +#define waluigi_cap_texture_r_blend waluigi_texture_r_logo +#define waluigi_cap_texture_r_cap waluigi_texture_r_logo #define waluigi_cap_texture_wings_half_1 mario_texture_wings_half_1 #define waluigi_cap_texture_wings_half_2 mario_texture_wings_half_2 -#define waluigi_cap_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1_shade -#define waluigi_cap_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1_light -#define waluigi_cap_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2_shade -#define waluigi_cap_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2_light +#define waluigi_cap_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1 +#define waluigi_cap_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1 +#define waluigi_cap_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2 +#define waluigi_cap_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2 // 0x03022750 ROM_ASSET_LOAD_VTX(waluigi_cap_seg3_vertex_03022750, 0x00114750, 78432, 0x0001bf50, 112); diff --git a/actors/wario/custom_wario_cap.rgba16.png b/actors/wario/custom_wario_cap.rgba16.png deleted file mode 100644 index 20cec34f5..000000000 Binary files a/actors/wario/custom_wario_cap.rgba16.png and /dev/null differ diff --git a/actors/wario/custom_wario_eyes_center.rgba16.png b/actors/wario/custom_wario_eyes_center.rgba16.png index 0b5a022f0..0e677e3a3 100644 Binary files a/actors/wario/custom_wario_eyes_center.rgba16.png and b/actors/wario/custom_wario_eyes_center.rgba16.png differ diff --git a/actors/wario/custom_wario_eyes_closed.rgba16.png b/actors/wario/custom_wario_eyes_closed.rgba16.png index 9912d5a0c..b8ec165ed 100644 Binary files a/actors/wario/custom_wario_eyes_closed.rgba16.png and b/actors/wario/custom_wario_eyes_closed.rgba16.png differ diff --git a/actors/wario/custom_wario_eyes_dead.rgba16.png b/actors/wario/custom_wario_eyes_dead.rgba16.png index 55da88e59..59ba8bbe0 100644 Binary files a/actors/wario/custom_wario_eyes_dead.rgba16.png and b/actors/wario/custom_wario_eyes_dead.rgba16.png differ diff --git a/actors/wario/custom_wario_eyes_down_unused.rgba16.png b/actors/wario/custom_wario_eyes_down_unused.rgba16.png index 9eaa7dfc4..47beae258 100644 Binary files a/actors/wario/custom_wario_eyes_down_unused.rgba16.png and b/actors/wario/custom_wario_eyes_down_unused.rgba16.png differ diff --git a/actors/wario/custom_wario_eyes_half_closed.rgba16.png b/actors/wario/custom_wario_eyes_half_closed.rgba16.png index 26f9783e6..433e9562c 100644 Binary files a/actors/wario/custom_wario_eyes_half_closed.rgba16.png and b/actors/wario/custom_wario_eyes_half_closed.rgba16.png differ diff --git a/actors/wario/custom_wario_eyes_left_unused.rgba16.png b/actors/wario/custom_wario_eyes_left_unused.rgba16.png index ca10a6461..afbe9e19d 100644 Binary files a/actors/wario/custom_wario_eyes_left_unused.rgba16.png and b/actors/wario/custom_wario_eyes_left_unused.rgba16.png differ diff --git a/actors/wario/custom_wario_eyes_right_unused.rgba16.png b/actors/wario/custom_wario_eyes_right_unused.rgba16.png index c7847ecb7..32edbd264 100644 Binary files a/actors/wario/custom_wario_eyes_right_unused.rgba16.png and b/actors/wario/custom_wario_eyes_right_unused.rgba16.png differ diff --git a/actors/wario/custom_wario_eyes_up_unused.rgba16.png b/actors/wario/custom_wario_eyes_up_unused.rgba16.png index f2160419a..cb1eba1ef 100644 Binary files a/actors/wario/custom_wario_eyes_up_unused.rgba16.png and b/actors/wario/custom_wario_eyes_up_unused.rgba16.png differ diff --git a/actors/wario/custom_wario_logo.ia16.png b/actors/wario/custom_wario_logo.ia16.png new file mode 100644 index 000000000..3d664cd5c Binary files /dev/null and b/actors/wario/custom_wario_logo.ia16.png differ diff --git a/actors/wario/custom_wario_logo.rgba16.png b/actors/wario/custom_wario_logo.rgba16.png deleted file mode 100644 index 2d70a931a..000000000 Binary files a/actors/wario/custom_wario_logo.rgba16.png and /dev/null differ diff --git a/actors/wario/custom_wario_logo_blend.rgba16.png b/actors/wario/custom_wario_logo_blend.rgba16.png deleted file mode 100644 index 94392977b..000000000 Binary files a/actors/wario/custom_wario_logo_blend.rgba16.png and /dev/null differ diff --git a/actors/wario/custom_wario_mouth.rgba16.png b/actors/wario/custom_wario_mouth.rgba16.png index 3bcaa3e45..3631a108a 100644 Binary files a/actors/wario/custom_wario_mouth.rgba16.png and b/actors/wario/custom_wario_mouth.rgba16.png differ diff --git a/actors/wario/custom_wario_mouth_dead.rgba16.png b/actors/wario/custom_wario_mouth_dead.rgba16.png index 4575ca14a..8322bba9d 100644 Binary files a/actors/wario/custom_wario_mouth_dead.rgba16.png and b/actors/wario/custom_wario_mouth_dead.rgba16.png differ diff --git a/actors/wario/custom_wario_nose.rgba16.png b/actors/wario/custom_wario_nose.rgba16.png new file mode 100644 index 000000000..3ecf287cd Binary files /dev/null and b/actors/wario/custom_wario_nose.rgba16.png differ diff --git a/actors/wario/custom_wario_sideburn.ia16.png b/actors/wario/custom_wario_sideburn.ia16.png new file mode 100644 index 000000000..883d55558 Binary files /dev/null and b/actors/wario/custom_wario_sideburn.ia16.png differ diff --git a/actors/wario/custom_wario_sideburn.rgba16.png b/actors/wario/custom_wario_sideburn.rgba16.png deleted file mode 100644 index 30034c317..000000000 Binary files a/actors/wario/custom_wario_sideburn.rgba16.png and /dev/null differ diff --git a/actors/wario/custom_wario_sideburn_add.rgba16.png b/actors/wario/custom_wario_sideburn_add.rgba16.png deleted file mode 100644 index 101d98029..000000000 Binary files a/actors/wario/custom_wario_sideburn_add.rgba16.png and /dev/null differ diff --git a/actors/wario/custom_wario_skin.rgba16.png b/actors/wario/custom_wario_skin.rgba16.png deleted file mode 100644 index c3640a4a0..000000000 Binary files a/actors/wario/custom_wario_skin.rgba16.png and /dev/null differ diff --git a/actors/wario/model.inc.c b/actors/wario/model.inc.c index 83540002e..9610ceb4b 100644 --- a/actors/wario/model.inc.c +++ b/actors/wario/model.inc.c @@ -42,41 +42,41 @@ static const Lights1 wario_black_lights_group = gdSPDefLights1( ); #include "actors/mario/mario_externs.h" -#define wario_texture_metal_shade mario_texture_metal_shade -#define wario_texture_metal_light mario_texture_metal_light +#define wario_texture_metal_shade mario_texture_metal +#define wario_texture_metal_light mario_texture_metal #define wario_texture_wings_half_1 mario_texture_wings_half_1 #define wario_texture_wings_half_2 mario_texture_wings_half_2 -#define wario_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1_shade -#define wario_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1_light -#define wario_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2_shade -#define wario_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2_light +#define wario_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1 +#define wario_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1 +#define wario_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2 +#define wario_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2 ALIGNED8 const Texture wario_texture_white_button[] = { #include "actors/wario/custom_wario_overalls_button.rgba16.inc.c" }; ALIGNED8 const Texture wario_texture_w_logo[] = { -#include "actors/wario/custom_wario_logo.rgba16.inc.c" +#include "actors/wario/custom_wario_logo.ia16.inc.c" }; ALIGNED8 const Texture wario_texture_w_blend[] = { -#include "actors/wario/custom_wario_logo_blend.rgba16.inc.c" +#include "actors/wario/custom_wario_logo.ia16.inc.c" }; ALIGNED8 const Texture wario_texture_w_cap[] = { -#include "actors/wario/custom_wario_cap.rgba16.inc.c" +#include "actors/wario/custom_wario_logo.ia16.inc.c" }; ALIGNED8 const Texture wario_texture_hair_sideburn[] = { -#include "actors/wario/custom_wario_sideburn.rgba16.inc.c" +#include "actors/wario/custom_wario_sideburn.ia16.inc.c" }; ALIGNED8 const Texture wario_texture_add_sideburn[] = { -#include "actors/wario/custom_wario_sideburn_add.rgba16.inc.c" +#include "actors/wario/custom_wario_sideburn.ia16.inc.c" }; ALIGNED8 const Texture wario_texture_skin_sideburn[] = { -#include "actors/wario/custom_wario_skin.rgba16.inc.c" +#include "actors/wario/custom_wario_sideburn.ia16.inc.c" }; ALIGNED8 const Texture wario_texture_mouth[] = { diff --git a/actors/wario_cap/model.inc.c b/actors/wario_cap/model.inc.c index 762a380db..a4c55c3b6 100644 --- a/actors/wario_cap/model.inc.c +++ b/actors/wario_cap/model.inc.c @@ -8,17 +8,17 @@ static const Lights1 wario_cap_black_lights_group = gdSPDefLights1( #include "actors/mario/mario_externs.h" #include "actors/wario/wario_externs.h" -#define wario_cap_texture_metal_shade mario_texture_metal_shade -#define wario_cap_texture_metal_light mario_texture_metal_light +#define wario_cap_texture_metal_shade mario_texture_metal +#define wario_cap_texture_metal_light mario_texture_metal #define wario_cap_texture_w_logo wario_texture_w_logo -#define wario_cap_texture_w_blend wario_texture_w_blend -#define wario_cap_texture_w_cap wario_texture_w_cap +#define wario_cap_texture_w_blend wario_texture_w_logo +#define wario_cap_texture_w_cap wario_texture_w_logo #define wario_cap_texture_wings_half_1 mario_texture_wings_half_1 #define wario_cap_texture_wings_half_2 mario_texture_wings_half_2 -#define wario_cap_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1_shade -#define wario_cap_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1_light -#define wario_cap_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2_shade -#define wario_cap_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2_light +#define wario_cap_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1 +#define wario_cap_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1 +#define wario_cap_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2 +#define wario_cap_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2 // 0x03022750 ROM_ASSET_LOAD_VTX(wario_cap_seg3_vertex_03022750, 0x00114750, 78432, 0x0001bf50, 112); diff --git a/data/dynos_mgr_builtin.cpp b/data/dynos_mgr_builtin.cpp index d3df37830..6092564e0 100644 --- a/data/dynos_mgr_builtin.cpp +++ b/data/dynos_mgr_builtin.cpp @@ -374,6 +374,7 @@ static const void *sDynosBuiltinActors[] = { define_builtin(toads_cap_geo), define_builtin(toads_metal_cap_geo), define_builtin(toads_wing_cap_geo), + define_builtin(toads_winged_metal_cap_geo), define_builtin(waluigi_geo), define_builtin(waluigis_cap_geo), define_builtin(waluigis_metal_cap_geo), diff --git a/data/dynos_mgr_builtin_externs.h b/data/dynos_mgr_builtin_externs.h index 6e6b28f58..ca80431a4 100644 --- a/data/dynos_mgr_builtin_externs.h +++ b/data/dynos_mgr_builtin_externs.h @@ -1645,16 +1645,10 @@ extern ALIGNED8 Texture gd_texture_sparkle_2[]; extern ALIGNED8 Texture gd_texture_sparkle_3[]; extern ALIGNED8 Texture gd_texture_sparkle_4[]; extern ALIGNED8 Texture gd_texture_sparkle_5[]; - -extern ALIGNED8 const Texture mario_texture_metal_shade[]; -extern ALIGNED8 const Texture mario_texture_metal_light[]; +extern ALIGNED8 const Texture mario_texture_metal[]; extern ALIGNED8 const Texture mario_texture_yellow_button[]; extern ALIGNED8 const Texture mario_texture_m_logo[]; -extern ALIGNED8 const Texture mario_texture_m_blend[]; -extern ALIGNED8 const Texture mario_texture_m_cap[]; extern ALIGNED8 const Texture mario_texture_hair_sideburn[]; -extern ALIGNED8 const Texture mario_texture_add_sideburn[]; -extern ALIGNED8 const Texture mario_texture_skin_sideburn[]; extern ALIGNED8 const Texture mario_texture_mustache[]; extern ALIGNED8 const Texture mario_texture_eyes_front[]; extern ALIGNED8 const Texture mario_texture_eyes_half_closed[]; @@ -1666,10 +1660,8 @@ extern ALIGNED8 const Texture mario_texture_eyes_down[]; extern ALIGNED8 const Texture mario_texture_eyes_dead[]; extern ALIGNED8 const Texture mario_texture_wings_half_1[]; extern ALIGNED8 const Texture mario_texture_wings_half_2[]; -extern ALIGNED8 const Texture mario_texture_metal_wings_half_1_shade[]; -extern ALIGNED8 const Texture mario_texture_metal_wings_half_1_light[]; -extern ALIGNED8 const Texture mario_texture_metal_wings_half_2_shade[]; -extern ALIGNED8 const Texture mario_texture_metal_wings_half_2_light[]; +extern ALIGNED8 const Texture mario_texture_metal_wings_half_1[]; +extern ALIGNED8 const Texture mario_texture_metal_wings_half_2[]; extern ALIGNED8 const Texture mario_cap_seg3_texture_0301CF50[]; extern ALIGNED8 const Texture mario_cap_seg3_texture_0301DF50[]; extern ALIGNED8 const Texture mario_cap_seg3_texture_0301E750[]; @@ -1681,14 +1673,9 @@ extern ALIGNED8 const Texture impact_smoke_seg6_texture_0605CA28[]; extern ALIGNED8 const Texture impact_smoke_seg6_texture_0605EA28[]; extern ALIGNED8 const Texture impact_smoke_seg6_texture_06060A28[]; extern ALIGNED8 const Texture luigi_texture_l_logo[]; -extern ALIGNED8 const Texture luigi_texture_l_blend[]; -extern ALIGNED8 const Texture luigi_texture_l_cap[]; extern ALIGNED8 const Texture luigi_texture_hair_sideburn[]; -extern ALIGNED8 const Texture luigi_texture_add_sideburn[]; -extern ALIGNED8 const Texture luigi_texture_skin_sideburn[]; extern ALIGNED8 const Texture luigi_texture_mustache[]; -extern ALIGNED8 const Texture toad_player_texture_cap[]; -extern ALIGNED8 const Texture toad_player_texture_spots[]; +extern ALIGNED8 const Texture toad_player_texture_head[]; extern ALIGNED8 const Texture toad_player_texture_hair[]; extern ALIGNED8 const Texture toad_player_texture_face_neutral[]; extern ALIGNED8 const Texture toad_player_texture_face_dead[]; @@ -1702,11 +1689,7 @@ extern ALIGNED8 const Texture toad_player_texture_eyes_down[]; extern ALIGNED8 const Texture toad_player_texture_eyes_dead[]; extern ALIGNED8 const Texture wario_texture_white_button[]; extern ALIGNED8 const Texture wario_texture_w_logo[]; -extern ALIGNED8 const Texture wario_texture_w_blend[]; -extern ALIGNED8 const Texture wario_texture_w_cap[]; extern ALIGNED8 const Texture wario_texture_hair_sideburn[]; -extern ALIGNED8 const Texture wario_texture_add_sideburn[]; -extern ALIGNED8 const Texture wario_texture_skin_sideburn[]; extern ALIGNED8 const Texture wario_texture_mouth[]; extern ALIGNED8 const Texture wario_texture_mouth_dead[]; extern ALIGNED8 const Texture wario_texture_eyes_front[]; @@ -1718,11 +1701,7 @@ extern ALIGNED8 const Texture wario_texture_eyes_up[]; extern ALIGNED8 const Texture wario_texture_eyes_down[]; extern ALIGNED8 const Texture wario_texture_eyes_dead[]; extern ALIGNED8 const Texture waluigi_texture_r_logo[]; -extern ALIGNED8 const Texture waluigi_texture_r_blend[]; -extern ALIGNED8 const Texture waluigi_texture_r_cap[]; extern ALIGNED8 const Texture waluigi_texture_hair_sideburn[]; -extern ALIGNED8 const Texture waluigi_texture_add_sideburn[]; -extern ALIGNED8 const Texture waluigi_texture_skin_sideburn[]; extern ALIGNED8 const Texture waluigi_texture_mouth[]; extern ALIGNED8 const Texture waluigi_texture_mouth_dead[]; extern ALIGNED8 const Texture waluigi_texture_eyes_front[]; diff --git a/data/dynos_mgr_builtin_tex.cpp b/data/dynos_mgr_builtin_tex.cpp index 3b34912b6..aa823b080 100644 --- a/data/dynos_mgr_builtin_tex.cpp +++ b/data/dynos_mgr_builtin_tex.cpp @@ -1077,15 +1077,10 @@ static const struct BuiltinTexInfo sDynosBuiltinTexs[] = { define_builtin_tex(wmotr_seg7_texture_07000C00, "levels/wmotr/2.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), define_builtin_tex(wmotr_seg7_texture_07001400, "levels/wmotr/3.rgba16.png", 32, 8, G_IM_FMT_RGBA, G_IM_SIZ_16b), define_builtin_tex(wmotr_seg7_texture_07001600, "levels/wmotr/4.rgba16.png", 8, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(mario_texture_metal_shade, "actors/mario/custom_mario_metal_shade.rgba16.png", 64, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(mario_texture_metal_light, "actors/mario/custom_mario_metal_light.rgba16.png", 64, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), + define_builtin_tex(mario_texture_metal, "actors/mario/mario_metal.rgba16.png", 64, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), define_builtin_tex(mario_texture_yellow_button, "actors/mario/mario_overalls_button.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(mario_texture_m_logo, "actors/mario/custom_mario_logo.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(mario_texture_m_blend, "actors/mario/custom_mario_logo_blend.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(mario_texture_m_cap, "actors/mario/custom_mario_cap.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(mario_texture_hair_sideburn, "actors/mario/custom_mario_sideburn.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(mario_texture_add_sideburn, "actors/mario/custom_mario_sideburn_add.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(mario_texture_skin_sideburn, "actors/mario/custom_mario_skin.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), + define_builtin_tex(mario_texture_m_logo, "actors/mario/custom_mario_logo.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), + define_builtin_tex(mario_texture_hair_sideburn, "actors/mario/custom_mario_sideburn.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), define_builtin_tex(mario_texture_mustache, "actors/mario/mario_mustache.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), define_builtin_tex(mario_texture_eyes_front, "actors/mario/mario_eyes_center.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), define_builtin_tex(mario_texture_eyes_half_closed, "actors/mario/mario_eyes_half_closed.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), @@ -1097,10 +1092,8 @@ static const struct BuiltinTexInfo sDynosBuiltinTexs[] = { define_builtin_tex(mario_texture_eyes_dead, "actors/mario/mario_eyes_dead.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), define_builtin_tex(mario_texture_wings_half_1, "actors/mario/mario_wing.rgba16.png", 32, 64, G_IM_FMT_RGBA, G_IM_SIZ_16b), define_builtin_tex(mario_texture_wings_half_2, "actors/mario/mario_wing_tip.rgba16.png", 32, 64, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(mario_texture_metal_wings_half_1_shade, "actors/mario/custom_mario_metal_wing_shade.rgba16.png", 32, 64, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(mario_texture_metal_wings_half_1_light, "actors/mario/custom_mario_metal_wing_light.rgba16.png", 32, 64, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(mario_texture_metal_wings_half_2_shade, "actors/mario/custom_mario_metal_wing_tip_shade.rgba16.png", 32, 64, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(mario_texture_metal_wings_half_2_light, "actors/mario/custom_mario_metal_wing_tip_light.rgba16.png", 32, 64, G_IM_FMT_RGBA, G_IM_SIZ_16b), + define_builtin_tex(mario_texture_metal_wings_half_1, "actors/mario/mario_metal_wing_unused.rgba16.png", 32, 64, G_IM_FMT_RGBA, G_IM_SIZ_16b), + define_builtin_tex(mario_texture_metal_wings_half_2, "actors/mario/mario_metal_wing_tip_unused.rgba16.png", 32, 64, G_IM_FMT_RGBA, G_IM_SIZ_16b), define_builtin_tex(mario_cap_seg3_texture_0301CF50, "actors/mario_cap/mario_cap_metal.rgba16.png", 64, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), define_builtin_tex(mario_cap_seg3_texture_0301DF50, "actors/mario_cap/mario_cap_logo.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), define_builtin_tex(mario_cap_seg3_texture_0301E750, "actors/mario_cap/mario_cap_wing.rgba16.png", 32, 64, G_IM_FMT_RGBA, G_IM_SIZ_16b), @@ -1111,18 +1104,11 @@ static const struct BuiltinTexInfo sDynosBuiltinTexs[] = { define_builtin_tex(impact_smoke_seg6_texture_0605CA28, "actors/impact_smoke/impact_smoke_1.ia16.png", 64, 64, G_IM_FMT_IA, G_IM_SIZ_16b), define_builtin_tex(impact_smoke_seg6_texture_0605EA28, "actors/impact_smoke/impact_smoke_2.ia16.png", 64, 64, G_IM_FMT_IA, G_IM_SIZ_16b), define_builtin_tex(impact_smoke_seg6_texture_06060A28, "actors/impact_smoke/impact_smoke_3.ia16.png", 64, 64, G_IM_FMT_IA, G_IM_SIZ_16b), - define_builtin_tex(luigi_texture_l_logo, "actors/luigi/custom_luigi_logo.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(luigi_texture_l_blend, "actors/luigi/custom_luigi_logo_blend.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(luigi_texture_l_cap, "actors/luigi/custom_luigi_cap.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(luigi_texture_hair_sideburn, "actors/luigi/custom_luigi_sideburn.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(luigi_texture_add_sideburn, "actors/luigi/custom_luigi_sideburn_add.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(luigi_texture_skin_sideburn, "actors/luigi/custom_luigi_skin.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), + define_builtin_tex(luigi_texture_l_logo, "actors/luigi/custom_luigi_logo.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), + define_builtin_tex(luigi_texture_hair_sideburn, "actors/luigi/custom_luigi_sideburn.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), define_builtin_tex(luigi_texture_mustache, "actors/luigi/custom_luigi_mustache.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(toad_player_texture_cap, "actors/toad_player/custom_toad_cap.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), - define_builtin_tex(toad_player_texture_spots, "actors/toad_player/custom_toad_spots.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), +// define_builtin_tex(toad_player_texture_head, "actors/toad_player/custom_toad_head.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), define_builtin_tex(toad_player_texture_hair, "actors/toad_player/custom_toad_hair.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), - define_builtin_tex(toad_player_texture_face_neutral, "actors/toad_player/custom_toad_face_neutral.rgba32.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b), - define_builtin_tex(toad_player_texture_face_dead, "actors/toad_player/custom_toad_face_dead.rgba32.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b), define_builtin_tex(toad_player_texture_eyes_front, "actors/toad_player/custom_toad_eyes_center.rgba32.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b), define_builtin_tex(toad_player_texture_eyes_half_closed, "actors/toad_player/custom_toad_eyes_half_closed.rgba32.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b), define_builtin_tex(toad_player_texture_eyes_closed, "actors/toad_player/custom_toad_eyes_closed.rgba32.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b), @@ -1132,12 +1118,8 @@ static const struct BuiltinTexInfo sDynosBuiltinTexs[] = { define_builtin_tex(toad_player_texture_eyes_down, "actors/toad_player/custom_toad_eyes_down.rgba32.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b), define_builtin_tex(toad_player_texture_eyes_dead, "actors/toad_player/custom_toad_eyes_dead.rgba32.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b), define_builtin_tex(wario_texture_white_button, "actors/wario/custom_wario_overalls_button.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(wario_texture_w_logo, "actors/wario/custom_wario_logo.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(wario_texture_w_blend, "actors/wario/custom_wario_logo_blend.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(wario_texture_w_cap, "actors/wario/custom_wario_cap.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(wario_texture_hair_sideburn, "actors/wario/custom_wario_sideburn.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(wario_texture_add_sideburn, "actors/wario/custom_wario_sideburn_add.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(wario_texture_skin_sideburn, "actors/wario/custom_wario_skin.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), + define_builtin_tex(wario_texture_w_logo, "actors/wario/custom_wario_logo.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), + define_builtin_tex(wario_texture_hair_sideburn, "actors/wario/custom_wario_sideburn.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), define_builtin_tex(wario_texture_mouth, "actors/wario/custom_wario_mouth.rgba16.png", 64, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), define_builtin_tex(wario_texture_mouth_dead, "actors/wario/custom_wario_mouth_dead.rgba16.png", 64, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), define_builtin_tex(wario_texture_eyes_front, "actors/wario/custom_wario_eyes_center.rgba16.png", 64, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), @@ -1148,12 +1130,8 @@ static const struct BuiltinTexInfo sDynosBuiltinTexs[] = { define_builtin_tex(wario_texture_eyes_up, "actors/wario/custom_wario_eyes_up_unused.rgba16.png", 64, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), define_builtin_tex(wario_texture_eyes_down, "actors/wario/custom_wario_eyes_down_unused.rgba16.png", 64, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), define_builtin_tex(wario_texture_eyes_dead, "actors/wario/custom_wario_eyes_dead.rgba16.png", 64, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(waluigi_texture_r_logo, "actors/waluigi/custom_waluigi_logo.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(waluigi_texture_r_blend, "actors/waluigi/custom_waluigi_logo_blend.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(waluigi_texture_r_cap, "actors/waluigi/custom_waluigi_cap.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(waluigi_texture_hair_sideburn, "actors/waluigi/custom_waluigi_sideburn.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(waluigi_texture_add_sideburn, "actors/waluigi/custom_waluigi_sideburn_add.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(waluigi_texture_skin_sideburn, "actors/waluigi/custom_waluigi_skin.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), + define_builtin_tex(waluigi_texture_r_logo, "actors/waluigi/custom_waluigi_logo.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), + define_builtin_tex(waluigi_texture_hair_sideburn, "actors/waluigi/custom_waluigi_sideburn.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), define_builtin_tex(waluigi_texture_mouth, "actors/waluigi/custom_waluigi_mouth.rgba16.png", 64, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), define_builtin_tex(waluigi_texture_mouth_dead, "actors/waluigi/custom_waluigi_mouth_dead.rgba16.png", 64, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), define_builtin_tex(waluigi_texture_eyes_front, "actors/waluigi/custom_waluigi_eyes_center.rgba16.png", 64, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), diff --git a/include/display_lists.inl b/include/display_lists.inl index c7cefabf5..c44a3f013 100644 --- a/include/display_lists.inl +++ b/include/display_lists.inl @@ -1255,7 +1255,6 @@ DISPLAY_LIST(lll_seg7_dl_07025BD8) DISPLAY_LIST(lll_seg7_dl_07025EC0) DISPLAY_LIST(luigi_butt) DISPLAY_LIST(luigi_butt_dl) -DISPLAY_LIST(luigi_cap_l_logo_decal) DISPLAY_LIST(luigi_cap_material_revert_render_settings) DISPLAY_LIST(luigi_cap_off_eyes_closed) DISPLAY_LIST(luigi_cap_off_eyes_dead) @@ -1265,6 +1264,14 @@ DISPLAY_LIST(luigi_cap_off_eyes_half_closed) DISPLAY_LIST(luigi_cap_off_eyes_left) DISPLAY_LIST(luigi_cap_off_eyes_right) DISPLAY_LIST(luigi_cap_off_eyes_up) +DISPLAY_LIST(luigi_cap_off_eyes_closed_transparent) +DISPLAY_LIST(luigi_cap_off_eyes_dead_transparent) +DISPLAY_LIST(luigi_cap_off_eyes_down_transparent) +DISPLAY_LIST(luigi_cap_off_eyes_front_transparent) +DISPLAY_LIST(luigi_cap_off_eyes_half_closed_transparent) +DISPLAY_LIST(luigi_cap_off_eyes_left_transparent) +DISPLAY_LIST(luigi_cap_off_eyes_right_transparent) +DISPLAY_LIST(luigi_cap_off_eyes_up_transparent) DISPLAY_LIST(luigi_cap_on_eyes_closed) DISPLAY_LIST(luigi_cap_on_eyes_dead) DISPLAY_LIST(luigi_cap_on_eyes_down) @@ -1273,6 +1280,14 @@ DISPLAY_LIST(luigi_cap_on_eyes_half_closed) DISPLAY_LIST(luigi_cap_on_eyes_left) DISPLAY_LIST(luigi_cap_on_eyes_right) DISPLAY_LIST(luigi_cap_on_eyes_up) +DISPLAY_LIST(luigi_cap_on_eyes_closed_transparent) +DISPLAY_LIST(luigi_cap_on_eyes_dead_transparent) +DISPLAY_LIST(luigi_cap_on_eyes_down_transparent) +DISPLAY_LIST(luigi_cap_on_eyes_front_transparent) +DISPLAY_LIST(luigi_cap_on_eyes_half_closed_transparent) +DISPLAY_LIST(luigi_cap_on_eyes_left_transparent) +DISPLAY_LIST(luigi_cap_on_eyes_right_transparent) +DISPLAY_LIST(luigi_cap_on_eyes_up_transparent) DISPLAY_LIST(luigi_cap_seg3_dl_03022B30) DISPLAY_LIST(luigi_cap_seg3_dl_03022B68) DISPLAY_LIST(luigi_cap_seg3_dl_03022CC8) @@ -1280,7 +1295,6 @@ DISPLAY_LIST(luigi_cap_seg3_dl_03022D10) DISPLAY_LIST(luigi_cap_seg3_dl_03022E78) DISPLAY_LIST(luigi_cap_seg3_dl_03022EA8) DISPLAY_LIST(luigi_cap_seg3_dl_03022ED8) -DISPLAY_LIST(luigi_cap_seg3_dl_03022ED8_metal) DISPLAY_LIST(luigi_cap_seg3_dl_03022F20) DISPLAY_LIST(luigi_cap_seg3_dl_03022F48) DISPLAY_LIST(luigi_cap_seg3_dl_03022FF8) @@ -1301,9 +1315,6 @@ DISPLAY_LIST(luigi_face_part_cap_off_dl) DISPLAY_LIST(luigi_face_part_cap_on_dl) DISPLAY_LIST(luigi_hair_sideburn_cap_off_dl) DISPLAY_LIST(luigi_hair_sideburn_cap_on_dl) -DISPLAY_LIST(luigi_hair_sideburn_decal_cap_off) -DISPLAY_LIST(luigi_hair_sideburn_decal_cap_on) -DISPLAY_LIST(luigi_l_logo_decal) DISPLAY_LIST(luigi_l_logo_dl) DISPLAY_LIST(luigi_left_arm) DISPLAY_LIST(luigi_left_arm_shared_dl) @@ -1327,7 +1338,6 @@ DISPLAY_LIST(luigi_metal_left_thigh) DISPLAY_LIST(luigi_metal_right_foot) DISPLAY_LIST(luigi_metal_right_hand_cap_shared_dl) DISPLAY_LIST(luigi_metal_right_hand_cap_shared_dl_wings) -DISPLAY_LIST(luigi_metal_right_hand_cap_shared_dl_wings_transparent) DISPLAY_LIST(luigi_metal_right_hand_closed) DISPLAY_LIST(luigi_metal_right_hand_open) DISPLAY_LIST(luigi_metal_torso_shared_dl) @@ -1341,19 +1351,15 @@ DISPLAY_LIST(luigi_right_foot_dl) DISPLAY_LIST(luigi_right_forearm_shared_dl) DISPLAY_LIST(luigi_right_hand_cap) DISPLAY_LIST(luigi_right_hand_cap_bottom_dl) -DISPLAY_LIST(luigi_right_hand_cap_decal) DISPLAY_LIST(luigi_right_hand_cap_dl) DISPLAY_LIST(luigi_right_hand_cap_hand_position_dl) DISPLAY_LIST(luigi_right_hand_cap_l_logo_dl) -DISPLAY_LIST(luigi_right_hand_cap_metal_wings_intial_dl) DISPLAY_LIST(luigi_right_hand_cap_top_dl) DISPLAY_LIST(luigi_right_hand_cap_wings) DISPLAY_LIST(luigi_right_hand_cap_wings_end_dl) DISPLAY_LIST(luigi_right_hand_cap_wings_half_1_dl) DISPLAY_LIST(luigi_right_hand_cap_wings_half_2_dl) -DISPLAY_LIST(luigi_right_hand_cap_wings_intial_dl) -DISPLAY_LIST(luigi_right_hand_cap_wings_transparent) -DISPLAY_LIST(luigi_right_hand_cap_wings_transparent_intial_dl) +DISPLAY_LIST(luigi_right_hand_cap_wings_initial_dl) DISPLAY_LIST(luigi_right_hand_closed) DISPLAY_LIST(luigi_right_hand_closed_dl) DISPLAY_LIST(luigi_right_hand_open) @@ -1421,7 +1427,6 @@ DISPLAY_LIST(manta_seg5_dl_05006B70) DISPLAY_LIST(manta_seg5_dl_05006C08) DISPLAY_LIST(mario_butt) DISPLAY_LIST(mario_butt_dl) -DISPLAY_LIST(mario_cap_m_logo_decal) DISPLAY_LIST(mario_cap_material_revert_render_settings) DISPLAY_LIST(mario_cap_off_eyes_closed) DISPLAY_LIST(mario_cap_off_eyes_dead) @@ -1431,6 +1436,14 @@ DISPLAY_LIST(mario_cap_off_eyes_half_closed) DISPLAY_LIST(mario_cap_off_eyes_left) DISPLAY_LIST(mario_cap_off_eyes_right) DISPLAY_LIST(mario_cap_off_eyes_up) +DISPLAY_LIST(mario_cap_off_eyes_closed_transparent) +DISPLAY_LIST(mario_cap_off_eyes_dead_transparent) +DISPLAY_LIST(mario_cap_off_eyes_down_transparent) +DISPLAY_LIST(mario_cap_off_eyes_front_transparent) +DISPLAY_LIST(mario_cap_off_eyes_half_closed_transparent) +DISPLAY_LIST(mario_cap_off_eyes_left_transparent) +DISPLAY_LIST(mario_cap_off_eyes_right_transparent) +DISPLAY_LIST(mario_cap_off_eyes_up_transparent) DISPLAY_LIST(mario_cap_on_eyes_closed) DISPLAY_LIST(mario_cap_on_eyes_dead) DISPLAY_LIST(mario_cap_on_eyes_down) @@ -1439,6 +1452,14 @@ DISPLAY_LIST(mario_cap_on_eyes_half_closed) DISPLAY_LIST(mario_cap_on_eyes_left) DISPLAY_LIST(mario_cap_on_eyes_right) DISPLAY_LIST(mario_cap_on_eyes_up) +DISPLAY_LIST(mario_cap_on_eyes_closed_transparent) +DISPLAY_LIST(mario_cap_on_eyes_dead_transparent) +DISPLAY_LIST(mario_cap_on_eyes_down_transparent) +DISPLAY_LIST(mario_cap_on_eyes_front_transparent) +DISPLAY_LIST(mario_cap_on_eyes_half_closed_transparent) +DISPLAY_LIST(mario_cap_on_eyes_left_transparent) +DISPLAY_LIST(mario_cap_on_eyes_right_transparent) +DISPLAY_LIST(mario_cap_on_eyes_up_transparent) DISPLAY_LIST(mario_cap_seg3_dl_03022B30) DISPLAY_LIST(mario_cap_seg3_dl_03022B68) DISPLAY_LIST(mario_cap_seg3_dl_03022CC8) @@ -1446,7 +1467,6 @@ DISPLAY_LIST(mario_cap_seg3_dl_03022D10) DISPLAY_LIST(mario_cap_seg3_dl_03022E78) DISPLAY_LIST(mario_cap_seg3_dl_03022EA8) DISPLAY_LIST(mario_cap_seg3_dl_03022ED8) -DISPLAY_LIST(mario_cap_seg3_dl_03022ED8_metal) DISPLAY_LIST(mario_cap_seg3_dl_03022F20) DISPLAY_LIST(mario_cap_seg3_dl_03022F48) DISPLAY_LIST(mario_cap_seg3_dl_03022FF8) @@ -1467,8 +1487,6 @@ DISPLAY_LIST(mario_face_part_cap_off_dl) DISPLAY_LIST(mario_face_part_cap_on_dl) DISPLAY_LIST(mario_hair_sideburn_cap_off_dl) DISPLAY_LIST(mario_hair_sideburn_cap_on_dl) -DISPLAY_LIST(mario_hair_sideburn_decal_cap_off) -DISPLAY_LIST(mario_hair_sideburn_decal_cap_on) DISPLAY_LIST(mario_left_arm) DISPLAY_LIST(mario_left_arm_shared_dl) DISPLAY_LIST(mario_left_foot) @@ -1481,7 +1499,6 @@ DISPLAY_LIST(mario_left_hand_open_shared_dl) DISPLAY_LIST(mario_left_leg_shared_dl) DISPLAY_LIST(mario_left_thigh) DISPLAY_LIST(mario_left_thigh_dl) -DISPLAY_LIST(mario_m_logo_decal) DISPLAY_LIST(mario_m_logo_dl) DISPLAY_LIST(mario_material_revert_render_settings) DISPLAY_LIST(mario_metal_butt) @@ -1493,7 +1510,6 @@ DISPLAY_LIST(mario_metal_left_thigh) DISPLAY_LIST(mario_metal_right_foot) DISPLAY_LIST(mario_metal_right_hand_cap_shared_dl) DISPLAY_LIST(mario_metal_right_hand_cap_shared_dl_wings) -DISPLAY_LIST(mario_metal_right_hand_cap_shared_dl_wings_transparent) DISPLAY_LIST(mario_metal_right_hand_closed) DISPLAY_LIST(mario_metal_right_hand_open) DISPLAY_LIST(mario_metal_torso_shared_dl) @@ -1507,19 +1523,15 @@ DISPLAY_LIST(mario_right_foot_dl) DISPLAY_LIST(mario_right_forearm_shared_dl) DISPLAY_LIST(mario_right_hand_cap) DISPLAY_LIST(mario_right_hand_cap_bottom_dl) -DISPLAY_LIST(mario_right_hand_cap_decal) DISPLAY_LIST(mario_right_hand_cap_dl) DISPLAY_LIST(mario_right_hand_cap_hand_position_dl) DISPLAY_LIST(mario_right_hand_cap_m_logo_dl) -DISPLAY_LIST(mario_right_hand_cap_metal_wings_intial_dl) DISPLAY_LIST(mario_right_hand_cap_top_dl) DISPLAY_LIST(mario_right_hand_cap_wings) DISPLAY_LIST(mario_right_hand_cap_wings_end_dl) DISPLAY_LIST(mario_right_hand_cap_wings_half_1_dl) DISPLAY_LIST(mario_right_hand_cap_wings_half_2_dl) -DISPLAY_LIST(mario_right_hand_cap_wings_intial_dl) -DISPLAY_LIST(mario_right_hand_cap_wings_transparent) -DISPLAY_LIST(mario_right_hand_cap_wings_transparent_intial_dl) +DISPLAY_LIST(mario_right_hand_cap_wings_initial_dl) DISPLAY_LIST(mario_right_hand_closed) DISPLAY_LIST(mario_right_hand_closed_dl) DISPLAY_LIST(mario_right_hand_open) diff --git a/src/game/characters.c b/src/game/characters.c index 40689a8d0..49ef2cd1d 100644 --- a/src/game/characters.c +++ b/src/game/characters.c @@ -14,15 +14,11 @@ #include "pc/lua/smlua.h" extern Gfx mario_cap_seg3_dl_03022F48[]; -extern Gfx mario_cap_m_logo_decal[]; extern Gfx luigi_cap_seg3_dl_03022F48[]; -extern Gfx luigi_cap_l_logo_decal[]; extern Gfx toad_cap_mesh_layer_1[]; extern Gfx toad_cap_mesh_layer_5[]; extern Gfx waluigi_cap_seg3_dl_03022F48[]; -extern Gfx waluigi_cap_r_logo_decal[]; extern Gfx wario_cap_seg3_dl_03022F48[]; -extern Gfx wario_cap_w_logo_decal[]; extern ALIGNED8 const u8 texture_hud_char_mario_head[]; extern ALIGNED8 const u8 texture_hud_char_luigi_head[]; @@ -42,9 +38,9 @@ struct Character gCharacters[CT_MAX] = { .capMetalModelId = MODEL_MARIOS_METAL_CAP, .capWingModelId = MODEL_MARIOS_WING_CAP, .capMetalWingModelId = MODEL_MARIOS_WINGED_METAL_CAP, - .capEnemyLayer = LAYER_ALPHA, + .capEnemyLayer = LAYER_OPAQUE, .capEnemyGfx = mario_cap_seg3_dl_03022F48, - .capEnemyDecalGfx = mario_cap_m_logo_decal, + .capEnemyDecalGfx = NULL, .torsoRotMult = 1.0f, // anim .animOffsetEnabled = false, @@ -108,9 +104,9 @@ struct Character gCharacters[CT_MAX] = { .capMetalModelId = MODEL_LUIGIS_METAL_CAP, .capWingModelId = MODEL_LUIGIS_WING_CAP, .capMetalWingModelId = MODEL_LUIGIS_WINGED_METAL_CAP, - .capEnemyLayer = LAYER_ALPHA, + .capEnemyLayer = LAYER_OPAQUE, .capEnemyGfx = luigi_cap_seg3_dl_03022F48, - .capEnemyDecalGfx = luigi_cap_l_logo_decal, + .capEnemyDecalGfx = NULL, .torsoRotMult = 1.0f, // anim .animOffsetEnabled = false, @@ -174,9 +170,9 @@ struct Character gCharacters[CT_MAX] = { .capMetalModelId = MODEL_TOADS_METAL_CAP, .capWingModelId = MODEL_TOADS_WING_CAP, .capMetalWingModelId = MODEL_TOADS_WINGED_METAL_CAP, - .capEnemyLayer = LAYER_ALPHA, + .capEnemyLayer = LAYER_OPAQUE, .capEnemyGfx = toad_cap_mesh_layer_1, - .capEnemyDecalGfx = toad_cap_mesh_layer_5, + .capEnemyDecalGfx = NULL, .torsoRotMult = 1.0f, // anim .animOffsetEnabled = false, @@ -240,9 +236,9 @@ struct Character gCharacters[CT_MAX] = { .capMetalModelId = MODEL_WALUIGIS_METAL_CAP, .capWingModelId = MODEL_WALUIGIS_WING_CAP, .capMetalWingModelId = MODEL_WALUIGIS_WINGED_METAL_CAP, - .capEnemyLayer = LAYER_ALPHA, + .capEnemyLayer = LAYER_OPAQUE, .capEnemyGfx = waluigi_cap_seg3_dl_03022F48, - .capEnemyDecalGfx = waluigi_cap_r_logo_decal, + .capEnemyDecalGfx = NULL, .torsoRotMult = 1.0f, // anim .animOffsetEnabled = false, @@ -306,9 +302,9 @@ struct Character gCharacters[CT_MAX] = { .capMetalModelId = MODEL_WARIOS_METAL_CAP, .capWingModelId = MODEL_WARIOS_WING_CAP, .capMetalWingModelId = MODEL_WARIOS_WINGED_METAL_CAP, - .capEnemyLayer = LAYER_ALPHA, + .capEnemyLayer = LAYER_OPAQUE, .capEnemyGfx = wario_cap_seg3_dl_03022F48, - .capEnemyDecalGfx = wario_cap_w_logo_decal, + .capEnemyDecalGfx = NULL, .torsoRotMult = 1.0f, // anim .animOffsetEnabled = false,