CAP color; near/far warning fix (#214)

Added CAP color part; Player's cap no longer uses the SHIRT color
    Added METAL color as an alias of CAP color; Metal characters now uses the CAP color to tint the metal texture (was SHIRT color)
    Fixed the cap inside color (was HAIR color)
    Fixed the near/far warning
This commit is contained in:
PeachyPeach 2022-10-31 01:30:40 +01:00 committed by GitHub
parent e387b6b24b
commit a8e397047a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 158 additions and 93 deletions

View file

@ -239,7 +239,7 @@ const Gfx luigi_metal_butt[] = {
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
gsDPLoadTextureBlock(luigi_texture_metal, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(METAL),
gsSPDisplayList(luigi_butt_dl),
gsSPEndDisplayList(),
};
@ -795,7 +795,7 @@ const Gfx luigi_metal_left_thigh[] = {
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
gsDPLoadTextureBlock(luigi_texture_metal, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(METAL),
gsSPDisplayList(luigi_left_thigh_dl),
gsSPEndDisplayList(),
};
@ -1897,7 +1897,7 @@ const Gfx luigi_face_back_hair_cap_on_dl[] = {
const Gfx luigi_face_cap_on_dl[] = {
gsSPDisplayList(luigi_face_part_cap_on_dl),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&luigi_green_lights_group.a, 2),
gsSPCopyLightsPlayerPart(CAP), // gsSPLight(&luigi_green_lights_group.a, 2),
gsSPDisplayList(luigi_face_cap_dl),
gsSPCopyLightsPlayerPart(HAIR),
gsSPDisplayList(luigi_face_back_hair_cap_on_dl),
@ -1915,6 +1915,7 @@ const Gfx luigi_cap_on_eyes_front[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_l_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(luigi_l_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_front),
gsDPLoadSync(),
@ -1947,6 +1948,7 @@ const Gfx luigi_cap_on_eyes_half_closed[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_l_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(luigi_l_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_half_closed),
gsDPLoadSync(),
@ -1979,6 +1981,7 @@ const Gfx luigi_cap_on_eyes_closed[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_l_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(luigi_l_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_closed),
gsDPLoadSync(),
@ -2011,6 +2014,7 @@ const Gfx luigi_cap_on_eyes_right[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_l_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(luigi_l_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_right),
gsDPLoadSync(),
@ -2043,6 +2047,7 @@ const Gfx luigi_cap_on_eyes_left[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_l_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(luigi_l_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_left),
gsDPLoadSync(),
@ -2075,6 +2080,7 @@ const Gfx luigi_cap_on_eyes_up[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_l_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(luigi_l_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_up),
gsDPLoadSync(),
@ -2107,6 +2113,7 @@ const Gfx luigi_cap_on_eyes_down[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_l_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(luigi_l_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_down),
gsDPLoadSync(),
@ -2139,6 +2146,7 @@ const Gfx luigi_cap_on_eyes_dead[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_l_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(luigi_l_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_dead),
gsDPLoadSync(),
@ -3415,7 +3423,7 @@ const Gfx luigi_right_hand_cap_dl[] = {
gsSPDisplayList(luigi_right_hand_cap_top_dl),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(luigi_right_hand_cap_hand_position_dl),
gsSPCopyLightsPlayerPart(HAIR),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(luigi_right_hand_cap_bottom_dl),
gsSPEndDisplayList(),
};
@ -3492,6 +3500,7 @@ const Gfx luigi_right_hand_cap[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_l_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(luigi_right_hand_cap_l_logo_dl),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),

View file

@ -167,7 +167,7 @@ const Gfx luigi_cap_seg3_dl_03022CC8[] = {
// 0x03022D10 - 0x03022D38
const Gfx luigi_cap_seg3_dl_03022D10[] = {
gsSPDisplayList(luigi_cap_seg3_dl_03022B68),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&luigi_cap_seg3_lights_0301CF08.a, 2),
gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&luigi_cap_seg3_lights_0301CF08.a, 2),
gsSPDisplayList(luigi_cap_seg3_dl_03022CC8),
gsSPEndDisplayList(),
};
@ -250,7 +250,7 @@ const Gfx luigi_cap_seg3_dl_03022F48[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_cap_seg3_texture_0301DF50),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&luigi_cap_seg3_lights_0301CF38.a, 2),
gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&luigi_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(luigi_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -270,7 +270,7 @@ const Gfx luigi_cap_seg3_dl_03022FF8[] = {
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
gsDPLoadTextureBlock(luigi_cap_seg3_texture_0301CF50, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(luigi_cap_seg3_dl_03022B30),
gsSPDisplayList(luigi_cap_seg3_dl_03022B68),
gsSPDisplayList(luigi_cap_seg3_dl_03022CC8),
@ -325,7 +325,7 @@ const Gfx luigi_cap_seg3_dl_03023160[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_cap_seg3_texture_0301DF50),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&luigi_cap_seg3_lights_0301CF38.a, 2),
gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&luigi_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(luigi_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -368,7 +368,7 @@ const Gfx luigi_cap_seg3_dl_03023298[] = {
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 6, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (64 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(luigi_cap_seg3_dl_03022B30),
gsSPDisplayList(luigi_cap_seg3_dl_03022B68),
gsSPDisplayList(luigi_cap_seg3_dl_03022CC8),

View file

@ -393,7 +393,7 @@ const Gfx mario_metal_butt[] = {
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
gsDPLoadTextureBlock(mario_texture_metal, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(METAL),
gsSPDisplayList(mario_butt_dl),
gsSPEndDisplayList(),
};
@ -985,7 +985,7 @@ const Gfx mario_metal_left_thigh[] = {
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
gsDPLoadTextureBlock(mario_texture_metal, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(METAL),
gsSPDisplayList(mario_left_thigh_dl),
gsSPEndDisplayList(),
};
@ -2068,7 +2068,7 @@ const Gfx mario_face_back_hair_cap_on_dl[] = {
// 0x04011960 - 0x040119A0
const Gfx mario_face_cap_on_dl[] = {
gsSPDisplayList(mario_face_part_cap_on_dl),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPCopyLightsPlayerPart(CAP), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPDisplayList(mario_face_cap_dl),
gsSPCopyLightsPlayerPart(HAIR),
gsSPDisplayList(mario_face_back_hair_cap_on_dl),
@ -2087,6 +2087,7 @@ const Gfx mario_cap_on_eyes_front[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_m_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_front),
gsDPLoadSync(),
@ -2120,6 +2121,7 @@ const Gfx mario_cap_on_eyes_half_closed[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_m_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_half_closed),
gsDPLoadSync(),
@ -2153,6 +2155,7 @@ const Gfx mario_cap_on_eyes_closed[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_m_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_closed),
gsDPLoadSync(),
@ -2186,6 +2189,7 @@ const Gfx mario_cap_on_eyes_right[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_m_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_right),
gsDPLoadSync(),
@ -2219,6 +2223,7 @@ const Gfx mario_cap_on_eyes_left[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_m_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_left),
gsDPLoadSync(),
@ -2252,6 +2257,7 @@ const Gfx mario_cap_on_eyes_up[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_m_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_up),
gsDPLoadSync(),
@ -2285,6 +2291,7 @@ const Gfx mario_cap_on_eyes_down[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_m_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_down),
gsDPLoadSync(),
@ -2318,6 +2325,7 @@ const Gfx mario_cap_on_eyes_dead[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_m_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_dead),
gsDPLoadSync(),
@ -4803,7 +4811,7 @@ const Gfx mario_low_poly_face_back_hair_cap_on_dl[] = {
// 0x04018420 - 0x04018460
const Gfx mario_low_poly_face_cap_on_dl[] = {
gsSPDisplayList(mario_low_poly_face_part_cap_on_dl),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPCopyLightsPlayerPart(CAP), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPDisplayList(mario_low_poly_face_cap_dl),
gsSPCopyLightsPlayerPart(HAIR),
gsSPDisplayList(mario_low_poly_face_back_hair_cap_on_dl),
@ -4822,6 +4830,7 @@ const Gfx mario_low_poly_cap_on_eyes_front[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_low_poly_mario_m_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_front),
gsDPLoadSync(),
@ -4851,6 +4860,7 @@ const Gfx mario_low_poly_cap_on_eyes_half_closed[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_low_poly_mario_m_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_half_closed),
gsDPLoadSync(),
@ -4880,6 +4890,7 @@ const Gfx mario_low_poly_cap_on_eyes_closed[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_low_poly_mario_m_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_closed),
gsDPLoadSync(),
@ -4909,6 +4920,7 @@ const Gfx mario_low_poly_cap_on_eyes_right[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_low_poly_mario_m_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_right),
gsDPLoadSync(),
@ -4938,6 +4950,7 @@ const Gfx mario_low_poly_cap_on_eyes_left[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_low_poly_mario_m_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_left),
gsDPLoadSync(),
@ -4967,6 +4980,7 @@ const Gfx mario_low_poly_cap_on_eyes_up[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_low_poly_mario_m_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_up),
gsDPLoadSync(),
@ -4996,6 +5010,7 @@ const Gfx mario_low_poly_cap_on_eyes_down[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_low_poly_mario_m_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_down),
gsDPLoadSync(),
@ -5025,6 +5040,7 @@ const Gfx mario_low_poly_cap_on_eyes_dead[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_low_poly_mario_m_logo_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_dead),
gsDPLoadSync(),
@ -5938,7 +5954,7 @@ const Gfx mario_right_hand_cap_dl[] = {
gsSPDisplayList(mario_right_hand_cap_top_dl),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(mario_right_hand_cap_hand_position_dl),
gsSPCopyLightsPlayerPart(HAIR),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_right_hand_cap_bottom_dl),
gsSPEndDisplayList(),
};
@ -6020,6 +6036,7 @@ const Gfx mario_right_hand_cap[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_right_hand_cap_m_logo_dl),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -6464,7 +6481,7 @@ const Gfx mario_cap_unused_base_bottom_dl[] = {
// 0x0401C510 - 0x0401C538
const Gfx mario_cap_unused_base_dl[] = {
gsSPDisplayList(mario_cap_unused_base_top_dl),
gsSPCopyLightsPlayerPart(HAIR),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_cap_unused_base_bottom_dl),
gsSPEndDisplayList(),
};
@ -6549,7 +6566,7 @@ const Gfx mario_cap_unused_dl[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_logo),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPCopyLightsPlayerPart(CAP), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPDisplayList(mario_cap_unused_m_logo_dl),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),

View file

@ -180,7 +180,7 @@ const Gfx mario_cap_seg3_dl_03022CC8[] = {
// 0x03022D10 - 0x03022D38
const Gfx mario_cap_seg3_dl_03022D10[] = {
gsSPDisplayList(mario_cap_seg3_dl_03022B68),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&mario_cap_seg3_lights_0301CF08.a, 2),
gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&mario_cap_seg3_lights_0301CF08.a, 2),
gsSPDisplayList(mario_cap_seg3_dl_03022CC8),
gsSPEndDisplayList(),
};
@ -263,7 +263,7 @@ const Gfx mario_cap_seg3_dl_03022F48[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_cap_seg3_texture_0301DF50),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&mario_cap_seg3_lights_0301CF38.a, 2),
gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&mario_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(mario_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -283,7 +283,7 @@ const Gfx mario_cap_seg3_dl_03022FF8[] = {
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
gsDPLoadTextureBlock(mario_cap_seg3_texture_0301CF50, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_cap_seg3_dl_03022B30),
gsSPDisplayList(mario_cap_seg3_dl_03022B68),
gsSPDisplayList(mario_cap_seg3_dl_03022CC8),
@ -338,7 +338,7 @@ const Gfx mario_cap_seg3_dl_03023160[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_cap_seg3_texture_0301DF50),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&mario_cap_seg3_lights_0301CF38.a, 2),
gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&mario_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(mario_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -381,7 +381,7 @@ const Gfx mario_cap_seg3_dl_03023298[] = {
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 6, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (64 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&mario_cap_seg3_lights_0301CF20.a, 2),
gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&mario_cap_seg3_lights_0301CF20.a, 2),
gsSPDisplayList(mario_cap_seg3_dl_03022B30),
gsSPDisplayList(mario_cap_seg3_dl_03022B68),
gsSPDisplayList(mario_cap_seg3_dl_03022CC8),

View file

@ -15,10 +15,10 @@ const Gfx toad_player_metal_start[] = {
gsDPPipeSync(),
gsSPSetGeometryMode(G_TEXTURE_GEN),
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(METAL),
gsDPLoadTextureBlock(toad_player_texture_metal, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(METAL),
gsSPEndDisplayList(),
};
@ -614,7 +614,7 @@ const Gfx toad_player_dl_cap_decal[] = {
//gsSPClearGeometryMode(G_CULL_BACK),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(CAP),
gsSPVertex(toad_player_vertex_cap_decal + 0, 16, 0),
gsSP1Triangle(0, 1, 2, 0),
@ -1041,7 +1041,7 @@ const Gfx toad_player_metal_dl_body_inner[] = {
gsSP2Triangles( 5, 9, 0, 0x0, 0, 9, 1, 0x0),
gsSP2Triangles(11, 6, 0, 0x0, 11, 0, 2, 0x0),
gsSP1Triangle( 0, 6, 5, 0x0),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(METAL),
gsSPVertex(toad_player_vertex_body_3, 12, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 2, 3, 0, 0x0),
gsSP2Triangles( 4, 2, 1, 0x0, 4, 1, 5, 0x0),
@ -1065,9 +1065,9 @@ const Gfx toad_player_dl_body[] = {
const Gfx toad_player_metal_dl_body[] = {
gsSPDisplayList(toad_player_metal_dl_body_inner),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(METAL),
gsSPDisplayList(toad_player_dl_jacket_inner),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(METAL),
gsSPEndDisplayList(),
};
@ -1369,7 +1369,7 @@ const Gfx toad_player_dl_foot_right_metal[] = {
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF),
gsDPSetEnvColor(255, 255, 255, 255),
gsDPSetAlphaCompare(G_AC_NONE),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(METAL),
gsSPEndDisplayList(),
};

View file

@ -3474,7 +3474,7 @@ Gfx mat_waluigi_metal_v3[] = {
gsDPPipeSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0),
gsDPSetTileSize(0, 0, 0, 252, 124),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(METAL),
gsSPEndDisplayList(),
};
@ -3485,6 +3485,22 @@ Gfx mat_revert_waluigi_metal_v3[] = {
};
Gfx mat_waluigi_cap_v3[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT),
gsSPTexture(65535, 65535, 0, 0, 1),
gsDPTileSync(),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, waluigi_custom_waluigi_cap_rgba16),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
gsDPLoadSync(),
gsDPLoadBlock(7, 0, 0, 1023, 256),
gsDPPipeSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(0, 0, 0, 124, 124),
gsSPCopyLightsPlayerPart(CAP),
gsSPEndDisplayList(),
};
Gfx mat_waluigi_shirt_v3[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT),
gsSPTexture(65535, 65535, 0, 0, 1),
@ -3712,7 +3728,7 @@ Gfx waluigi_000_offset_mesh_layer_1_mat_override_metal_v3_0[] = {
Gfx waluigi_000_offset_001_mesh_layer_1[] = {
gsSPDisplayList(mat_waluigi_body_v3),
gsSPDisplayList(waluigi_000_offset_001_mesh_layer_1_tri_0),
gsSPDisplayList(mat_waluigi_cap_v3),
gsSPDisplayList(mat_waluigi_shirt_v3),
gsSPDisplayList(waluigi_000_offset_001_mesh_layer_1_tri_1),
gsSPEndDisplayList(),
};
@ -3973,7 +3989,7 @@ Gfx waluigi_000_displaylist_002_mesh_layer_4_mat_override_metal_v3_0[] = {
};
Gfx waluigi_000_offset_003_mesh_layer_1[] = {
gsSPDisplayList(mat_waluigi_cap_v3),
gsSPDisplayList(mat_waluigi_shirt_v3),
gsSPDisplayList(waluigi_000_offset_003_mesh_layer_1_tri_0),
gsSPEndDisplayList(),
};
@ -3986,7 +4002,7 @@ Gfx waluigi_000_offset_003_mesh_layer_1_mat_override_metal_v3_0[] = {
};
Gfx waluigi_000_offset_004_mesh_layer_1[] = {
gsSPDisplayList(mat_waluigi_cap_v3),
gsSPDisplayList(mat_waluigi_shirt_v3),
gsSPDisplayList(waluigi_000_offset_004_mesh_layer_1_tri_0),
gsSPEndDisplayList(),
};
@ -4025,7 +4041,7 @@ Gfx waluigi_002_switch_option_right_hand_open_mesh_layer_1_mat_override_metal_v3
};
Gfx waluigi_000_offset_006_mesh_layer_1[] = {
gsSPDisplayList(mat_waluigi_cap_v3),
gsSPDisplayList(mat_waluigi_shirt_v3),
gsSPDisplayList(waluigi_000_offset_006_mesh_layer_1_tri_0),
gsSPEndDisplayList(),
};
@ -4038,7 +4054,7 @@ Gfx waluigi_000_offset_006_mesh_layer_1_mat_override_metal_v3_0[] = {
};
Gfx waluigi_000_offset_007_mesh_layer_1[] = {
gsSPDisplayList(mat_waluigi_cap_v3),
gsSPDisplayList(mat_waluigi_shirt_v3),
gsSPDisplayList(waluigi_000_offset_007_mesh_layer_1_tri_0),
gsSPEndDisplayList(),
};

View file

@ -162,7 +162,7 @@ const Gfx waluigi_cap_seg3_dl_03022CC8[] = {
// 0x03022D10 - 0x03022D38
const Gfx waluigi_cap_seg3_dl_03022D10[] = {
gsSPDisplayList(waluigi_cap_seg3_dl_03022B68),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&waluigi_cap_seg3_lights_0301CF08.a, 2),
gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&waluigi_cap_seg3_lights_0301CF08.a, 2),
gsSPDisplayList(waluigi_cap_seg3_dl_03022CC8),
gsSPEndDisplayList(),
};
@ -245,7 +245,7 @@ const Gfx waluigi_cap_seg3_dl_03022F48[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, waluigi_cap_seg3_texture_0301DF50),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&waluigi_cap_seg3_lights_0301CF38.a, 2),
gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&waluigi_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(waluigi_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -265,7 +265,7 @@ const Gfx waluigi_cap_seg3_dl_03022FF8[] = {
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
gsDPLoadTextureBlock(waluigi_cap_seg3_texture_0301CF50, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(waluigi_cap_seg3_dl_03022B30),
gsSPDisplayList(waluigi_cap_seg3_dl_03022B68),
gsSPDisplayList(waluigi_cap_seg3_dl_03022CC8),
@ -320,7 +320,7 @@ const Gfx waluigi_cap_seg3_dl_03023160[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, waluigi_cap_seg3_texture_0301DF50),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&waluigi_cap_seg3_lights_0301CF38.a, 2),
gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&waluigi_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(waluigi_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -363,7 +363,7 @@ const Gfx waluigi_cap_seg3_dl_03023298[] = {
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 6, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (64 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&waluigi_cap_seg3_lights_0301CF20.a, 2),
gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&waluigi_cap_seg3_lights_0301CF20.a, 2),
gsSPDisplayList(waluigi_cap_seg3_dl_03022B30),
gsSPDisplayList(waluigi_cap_seg3_dl_03022B68),
gsSPDisplayList(waluigi_cap_seg3_dl_03022CC8),

View file

@ -3419,7 +3419,7 @@ Gfx mat_wario_metal[] = {
gsDPPipeSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 6, 0),
gsDPSetTileSize(0, 0, 0, 252, 124),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(METAL),
gsSPEndDisplayList(),
};
@ -3433,6 +3433,14 @@ Gfx mat_wario_cap[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
gsSPTexture(65535, 65535, 0, 0, 1),
gsSPCopyLightsPlayerPart(CAP),
gsSPEndDisplayList(),
};
Gfx mat_wario_shirt[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
gsSPTexture(65535, 65535, 0, 0, 1),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPEndDisplayList(),
};
@ -3465,7 +3473,7 @@ Gfx mat_wario_logo[] = {
gsDPPipeSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(0, 0, 0, 124, 124),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(CAP),
gsSPEndDisplayList(),
};
@ -3739,7 +3747,7 @@ Gfx wario_000_offset_pelvis_mesh_layer_1_mat_override_metal_0[] = {
Gfx wario_000_offset_chest_mesh_layer_1[] = {
gsSPDisplayList(mat_wario_overalls),
gsSPDisplayList(wario_000_offset_chest_mesh_layer_1_tri_0),
gsSPDisplayList(mat_wario_cap),
gsSPDisplayList(mat_wario_shirt),
gsSPDisplayList(wario_000_offset_chest_mesh_layer_1_tri_1),
gsSPDisplayList(mat_wario_button),
gsSPDisplayList(wario_000_offset_chest_mesh_layer_1_tri_2),
@ -4136,7 +4144,7 @@ Gfx wario_000_switch_000_displaylist_head_capless_mesh_layer_1_mat_override_eyes
};
Gfx wario_000_offset_left_upper_arm_mesh_layer_1[] = {
gsSPDisplayList(mat_wario_cap),
gsSPDisplayList(mat_wario_shirt),
gsSPDisplayList(wario_000_offset_left_upper_arm_mesh_layer_1_tri_0),
gsSPEndDisplayList(),
};
@ -4149,7 +4157,7 @@ Gfx wario_000_offset_left_upper_arm_mesh_layer_1_mat_override_metal_0[] = {
};
Gfx wario_000_offset_left_lower_arm_mesh_layer_1[] = {
gsSPDisplayList(mat_wario_cap),
gsSPDisplayList(mat_wario_shirt),
gsSPDisplayList(wario_000_offset_left_lower_arm_mesh_layer_1_tri_0),
gsSPEndDisplayList(),
};
@ -4188,7 +4196,7 @@ Gfx wario_001_switch_000_offset_left_hand_open_mesh_layer_1_mat_override_metal_0
};
Gfx wario_000_offset_right_upper_arm_mesh_layer_1[] = {
gsSPDisplayList(mat_wario_cap),
gsSPDisplayList(mat_wario_shirt),
gsSPDisplayList(wario_000_offset_right_upper_arm_mesh_layer_1_tri_0),
gsSPEndDisplayList(),
};
@ -4201,7 +4209,7 @@ Gfx wario_000_offset_right_upper_arm_mesh_layer_1_mat_override_metal_0[] = {
};
Gfx wario_000_offset_right_lower_arm_mesh_layer_1[] = {
gsSPDisplayList(mat_wario_cap),
gsSPDisplayList(mat_wario_shirt),
gsSPDisplayList(wario_000_offset_right_lower_arm_mesh_layer_1_tri_0),
gsSPEndDisplayList(),
};
@ -4259,7 +4267,7 @@ Gfx wario_001_switch_000_offset_right_hand_cap_mesh_layer_1[] = {
gsSPDisplayList(wario_001_switch_000_offset_right_hand_cap_mesh_layer_1_tri_1),
gsSPDisplayList(mat_wario_cap),
gsSPDisplayList(wario_001_switch_000_offset_right_hand_cap_mesh_layer_1_tri_2),
gsSPDisplayList(mat_wario_hair),
gsSPDisplayList(mat_wario_cap),
gsSPDisplayList(wario_001_switch_000_offset_right_hand_cap_mesh_layer_1_tri_3),
gsSPEndDisplayList(),
};
@ -4287,7 +4295,7 @@ Gfx wario_001_switch_000_offset_right_hand_wing_cap_mesh_layer_1[] = {
gsSPDisplayList(wario_001_switch_000_offset_right_hand_wing_cap_mesh_layer_1_tri_1),
gsSPDisplayList(mat_wario_cap),
gsSPDisplayList(wario_001_switch_000_offset_right_hand_wing_cap_mesh_layer_1_tri_2),
gsSPDisplayList(mat_wario_hair),
gsSPDisplayList(mat_wario_cap),
gsSPDisplayList(wario_001_switch_000_offset_right_hand_wing_cap_mesh_layer_1_tri_3),
gsSPEndDisplayList(),
};

View file

@ -167,7 +167,7 @@ const Gfx wario_cap_seg3_dl_03022CC8[] = {
// 0x03022D10 - 0x03022D38
const Gfx wario_cap_seg3_dl_03022D10[] = {
gsSPDisplayList(wario_cap_seg3_dl_03022B68),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&wario_cap_seg3_lights_0301CF08.a, 2),
gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&wario_cap_seg3_lights_0301CF08.a, 2),
gsSPDisplayList(wario_cap_seg3_dl_03022CC8),
gsSPEndDisplayList(),
};
@ -250,7 +250,7 @@ const Gfx wario_cap_seg3_dl_03022F48[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_0301DF50),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&wario_cap_seg3_lights_0301CF38.a, 2),
gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&wario_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(wario_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -270,7 +270,7 @@ const Gfx wario_cap_seg3_dl_03022FF8[] = {
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, 0, 0, 0, 0, ENVIRONMENT),
gsDPLoadTextureBlock(wario_cap_seg3_texture_0301CF50, G_IM_FMT_RGBA, G_IM_SIZ_16b, 64, 32, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_WRAP | G_TX_NOMIRROR, 6, 5, G_TX_NOLOD, G_TX_NOLOD),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(wario_cap_seg3_dl_03022B30),
gsSPDisplayList(wario_cap_seg3_dl_03022B68),
gsSPDisplayList(wario_cap_seg3_dl_03022CC8),
@ -325,7 +325,7 @@ const Gfx wario_cap_seg3_dl_03023160[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, wario_cap_seg3_texture_0301DF50),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&wario_cap_seg3_lights_0301CF38.a, 2),
gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&wario_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(wario_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -368,7 +368,7 @@ const Gfx wario_cap_seg3_dl_03023298[] = {
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 6, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (64 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_ON),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(wario_cap_seg3_dl_03022B30),
gsSPDisplayList(wario_cap_seg3_dl_03022B68),
gsSPDisplayList(wario_cap_seg3_dl_03022CC8),

View file

@ -2709,7 +2709,13 @@ HAIR = 4
SKIN = 5
--- @type PlayerParts
PLAYER_PART_MAX = 6
CAP = 6
--- @type PlayerParts
PLAYER_PART_MAX = 7
--- @type PlayerParts
METAL = 6
--- @class DialogId

View file

@ -310,6 +310,8 @@ s64 DynOS_Gfx_ParseGfxConstants(const String& _Arg, bool* found) {
gfx_constant(SHOES);
gfx_constant(HAIR);
gfx_constant(SKIN);
gfx_constant(CAP);
gfx_constant(METAL);
// Common values
gfx_constant(CALC_DXT(4,G_IM_SIZ_4b_BYTES));

View file

@ -885,7 +885,9 @@
| SHOES | 3 |
| HAIR | 4 |
| SKIN | 5 |
| PLAYER_PART_MAX | 6 |
| CAP | 6 |
| PLAYER_PART_MAX | 7 |
| METAL | 6 |
[:arrow_up_small:](#)

View file

@ -6,6 +6,8 @@
#include "types.h"
#include "game/memory.h"
#undef near
#undef far
#define GRAPH_RENDER_ACTIVE (1 << 0)
#define GRAPH_RENDER_CHILDREN_FIRST (1 << 1)

View file

@ -356,42 +356,42 @@ struct Character gCharacters[CT_MAX] = {
};
const struct PlayerPalette DEFAULT_MARIO_PALETTE =
{{{ 0x00, 0x00, 0xff }, { 0xff, 0x00, 0x00 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}};
{{{ 0x00, 0x00, 0xff }, { 0xff, 0x00, 0x00 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0xff, 0x00, 0x00 }}};
const struct PlayerPalette gPalettePresets[PALETTE_PRESET_MAX] = {
/* ---- PANTS ----- ---- SHIRT ----- ---- GLOVES ---- ---- SHOES ----- ----- HAIR ----- ----- SKIN ----- */
{{{ 0x00, 0x00, 0xff }, { 0xff, 0x00, 0x00 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Mario
{{{ 0x00, 0x00, 0xfe }, { 0x00, 0x98, 0x00 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Luigi
{{{ 0x2c, 0x26, 0x3f }, { 0x6d, 0x3c, 0x9a }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Waluigi
{{{ 0x7f, 0x20, 0x7a }, { 0xf9, 0xeb, 0x30 }, { 0xff, 0xff, 0xff }, { 0x0e, 0x72, 0x1c }, { 0x73, 0x53, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Wario
{{{ 0xff, 0x00, 0x00 }, { 0x7b, 0x00, 0xde }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Chuckya
{{{ 0xc6, 0xb1, 0x32 }, { 0x95, 0x43, 0x01 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Goomba
{{{ 0x07, 0x09, 0x07 }, { 0x4c, 0x5f, 0x20 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Clover
{{{ 0xbf, 0xde, 0xff }, { 0x00, 0x2f, 0xc8 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Cobalt
{{{ 0xf8, 0x3b, 0x05 }, { 0x11, 0x11, 0x11 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Fury
{{{ 0x34, 0x16, 0x0d }, { 0xc1, 0x2c, 0x72 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Hot Pink
{{{ 0xff, 0x00, 0x00 }, { 0xff, 0x96, 0xc8 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Nice Pink
{{{ 0x81, 0x00, 0x00 }, { 0x4c, 0xff, 0x4c }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Seafoam
{{{ 0x61, 0x3d, 0x2e }, { 0xa9, 0x78, 0xfc }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Lilac
{{{ 0x00, 0x46, 0x5c }, { 0x84, 0x60, 0x00 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Copper
{{{ 0x4f, 0x31, 0x8b }, { 0x5a, 0x94, 0xff }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Azure
{{{ 0x23, 0x11, 0x03 }, { 0x68, 0x0a, 0x17 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Burgundy
{{{ 0x53, 0x39, 0x3d }, { 0x95, 0xd0, 0x8f }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Mint
{{{ 0xe6, 0xe3, 0xff }, { 0x37, 0x32, 0x42 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Eggplant
{{{ 0x00, 0x51, 0x10 }, { 0xff, 0x8a, 0x00 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Orange
{{{ 0x4c, 0x1e, 0x3f }, { 0x65, 0xfa, 0xff }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Arctic
{{{ 0xb2, 0x28, 0x18 }, { 0xe6, 0xe6, 0xe6 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Fire Mario
{{{ 0x00, 0x98, 0x00 }, { 0xe6, 0xe6, 0xe6 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Fire Luigi
{{{ 0x6d, 0x3c, 0x9a }, { 0xe6, 0xe6, 0xe6 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Fire Waluigi
{{{ 0xf9, 0xeb, 0x30 }, { 0xe6, 0xe6, 0xe6 }, { 0xff, 0xff, 0xff }, { 0x0e, 0x72, 0x1c }, { 0x73, 0x53, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Fire Wario
{{{ 0x17, 0x18, 0x15 }, { 0xe7, 0xe7, 0x21 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Busy Bee
{{{ 0xf7, 0x9a, 0x47 }, { 0xaa, 0x27, 0x31 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Fortress
{{{ 0xf7, 0xc2, 0x45 }, { 0x55, 0x92, 0xb2 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Battlements
{{{ 0xeb, 0x8a, 0x4b }, { 0x10, 0x1b, 0x2e }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Blueberry Pie
{{{ 0xd6, 0x35, 0x4d }, { 0x3b, 0x8f, 0xf7 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Raspberry
{{{ 0xd6, 0x35, 0x4d }, { 0xff, 0x8e, 0xb2 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Bubblegum
{{{ 0xb2, 0x28, 0x18 }, { 0x47, 0xc5, 0xff }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Ice Mario
{{{ 0x00, 0x98, 0x00 }, { 0x47, 0xc5, 0xff }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}}, // Ice Luigi
/* ---- PANTS ----- ---- SHIRT ----- ---- GLOVES ---- ---- SHOES ----- ----- HAIR ----- ----- SKIN ----- ----- CAP ------ */
{{{ 0x00, 0x00, 0xff }, { 0xff, 0x00, 0x00 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0xff, 0x00, 0x00 }}}, // Mario
{{{ 0x00, 0x00, 0xfe }, { 0x00, 0x98, 0x00 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x00, 0x98, 0x00 }}}, // Luigi
{{{ 0x2c, 0x26, 0x3f }, { 0x6d, 0x3c, 0x9a }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x6d, 0x3c, 0x9a }}}, // Waluigi
{{{ 0x7f, 0x20, 0x7a }, { 0xf9, 0xeb, 0x30 }, { 0xff, 0xff, 0xff }, { 0x0e, 0x72, 0x1c }, { 0x73, 0x53, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0xf9, 0xeb, 0x30 }}}, // Wario
{{{ 0xff, 0x00, 0x00 }, { 0x7b, 0x00, 0xde }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x7b, 0x00, 0xde }}}, // Chuckya
{{{ 0xc6, 0xb1, 0x32 }, { 0x95, 0x43, 0x01 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x95, 0x43, 0x01 }}}, // Goomba
{{{ 0x07, 0x09, 0x07 }, { 0x4c, 0x5f, 0x20 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x4c, 0x5f, 0x20 }}}, // Clover
{{{ 0xbf, 0xde, 0xff }, { 0x00, 0x2f, 0xc8 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x00, 0x2f, 0xc8 }}}, // Cobalt
{{{ 0xf8, 0x3b, 0x05 }, { 0x11, 0x11, 0x11 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x11, 0x11, 0x11 }}}, // Fury
{{{ 0x34, 0x16, 0x0d }, { 0xc1, 0x2c, 0x72 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0xc1, 0x2c, 0x72 }}}, // Hot Pink
{{{ 0xff, 0x00, 0x00 }, { 0xff, 0x96, 0xc8 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0xff, 0x96, 0xc8 }}}, // Nice Pink
{{{ 0x81, 0x00, 0x00 }, { 0x4c, 0xff, 0x4c }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x4c, 0xff, 0x4c }}}, // Seafoam
{{{ 0x61, 0x3d, 0x2e }, { 0xa9, 0x78, 0xfc }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0xa9, 0x78, 0xfc }}}, // Lilac
{{{ 0x00, 0x46, 0x5c }, { 0x84, 0x60, 0x00 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x84, 0x60, 0x00 }}}, // Copper
{{{ 0x4f, 0x31, 0x8b }, { 0x5a, 0x94, 0xff }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x5a, 0x94, 0xff }}}, // Azure
{{{ 0x23, 0x11, 0x03 }, { 0x68, 0x0a, 0x17 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x68, 0x0a, 0x17 }}}, // Burgundy
{{{ 0x53, 0x39, 0x3d }, { 0x95, 0xd0, 0x8f }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x95, 0xd0, 0x8f }}}, // Mint
{{{ 0xe6, 0xe3, 0xff }, { 0x37, 0x32, 0x42 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x37, 0x32, 0x42 }}}, // Eggplant
{{{ 0x00, 0x51, 0x10 }, { 0xff, 0x8a, 0x00 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0xff, 0x8a, 0x00 }}}, // Orange
{{{ 0x4c, 0x1e, 0x3f }, { 0x65, 0xfa, 0xff }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x65, 0xfa, 0xff }}}, // Arctic
{{{ 0xb2, 0x28, 0x18 }, { 0xe6, 0xe6, 0xe6 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0xe6, 0xe6, 0xe6 }}}, // Fire Mario
{{{ 0x00, 0x98, 0x00 }, { 0xe6, 0xe6, 0xe6 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0xe6, 0xe6, 0xe6 }}}, // Fire Luigi
{{{ 0x6d, 0x3c, 0x9a }, { 0xe6, 0xe6, 0xe6 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0xe6, 0xe6, 0xe6 }}}, // Fire Waluigi
{{{ 0xf9, 0xeb, 0x30 }, { 0xe6, 0xe6, 0xe6 }, { 0xff, 0xff, 0xff }, { 0x0e, 0x72, 0x1c }, { 0x73, 0x53, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0xe6, 0xe6, 0xe6 }}}, // Fire Wario
{{{ 0x17, 0x18, 0x15 }, { 0xe7, 0xe7, 0x21 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0xe7, 0xe7, 0x21 }}}, // Busy Bee
{{{ 0xf7, 0x9a, 0x47 }, { 0xaa, 0x27, 0x31 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0xaa, 0x27, 0x31 }}}, // Fortress
{{{ 0xf7, 0xc2, 0x45 }, { 0x55, 0x92, 0xb2 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x55, 0x92, 0xb2 }}}, // Battlements
{{{ 0xeb, 0x8a, 0x4b }, { 0x10, 0x1b, 0x2e }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x10, 0x1b, 0x2e }}}, // Blueberry Pie
{{{ 0xd6, 0x35, 0x4d }, { 0x3b, 0x8f, 0xf7 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x3b, 0x8f, 0xf7 }}}, // Raspberry
{{{ 0xd6, 0x35, 0x4d }, { 0xff, 0x8e, 0xb2 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0xff, 0x8e, 0xb2 }}}, // Bubblegum
{{{ 0xb2, 0x28, 0x18 }, { 0x47, 0xc5, 0xff }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x47, 0xc5, 0xff }}}, // Ice Mario
{{{ 0x00, 0x98, 0x00 }, { 0x47, 0xc5, 0xff }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0x47, 0xc5, 0xff }}}, // Ice Luigi
};
enum AnimType {

View file

@ -8,7 +8,7 @@
#define PALETTE_PRESET_MAX 32
enum PlayerParts {
PANTS, SHIRT, GLOVES, SHOES, HAIR, SKIN, PLAYER_PART_MAX
PANTS, SHIRT, GLOVES, SHOES, HAIR, SKIN, CAP, PLAYER_PART_MAX, METAL = CAP
};
#pragma pack(1)

View file

@ -136,7 +136,7 @@ unsigned int configPlayerModel = 0;
unsigned int configMenuLevel = 0;
bool configMenuSound = false;
bool configMenuRandom = false;
struct PlayerPalette configPlayerPalette = {{{ 0x00, 0x00, 0xff }, { 0xff, 0x00, 0x00 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}};
struct PlayerPalette configPlayerPalette = {{{ 0x00, 0x00, 0xff }, { 0xff, 0x00, 0x00 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }, { 0xff, 0x00, 0x00 }}};
bool configUncappedFramerate = true;
unsigned int configFrameLimit = 60;
unsigned int configDrawDistance = 5;
@ -235,6 +235,7 @@ static const struct ConfigOption options[] = {
{.name = "coop_player_palette_shoes", .type = CONFIG_TYPE_COLOR , .colorValue = &configPlayerPalette.parts[SHOES]},
{.name = "coop_player_palette_hair", .type = CONFIG_TYPE_COLOR , .colorValue = &configPlayerPalette.parts[HAIR]},
{.name = "coop_player_palette_skin", .type = CONFIG_TYPE_COLOR , .colorValue = &configPlayerPalette.parts[SKIN]},
{.name = "coop_player_palette_cap", .type = CONFIG_TYPE_COLOR , .colorValue = &configPlayerPalette.parts[CAP]},
{.name = "coop_stay_in_level_after_star", .type = CONFIG_TYPE_UINT , .uintValue = &configStayInLevelAfterStar},
{.name = "share_lives", .type = CONFIG_TYPE_BOOL , .boolValue = &configShareLives},
{.name = "disable_popups", .type = CONFIG_TYPE_BOOL , .boolValue = &configDisablePopups},

View file

@ -113,7 +113,7 @@ void djui_panel_player_edit_palette_destroy(struct DjuiBase* caller) {
}
static void djui_panel_player_edit_palette_create(struct DjuiBase* caller) {
char* sPartStrings[PLAYER_PART_MAX] = { "Overalls", "Shirt", "Gloves", "Shoes", "Hair", "Skin" };
char* sPartStrings[PLAYER_PART_MAX] = { "Overalls", "Shirt", "Gloves", "Shoes", "Hair", "Skin", "Cap" };
f32 bodyHeight = 32 * 5 + 64 * 1 + 16 * 5;

View file

@ -1044,7 +1044,9 @@ char gSmluaConstants[] = ""
"SHOES = 3\n"
"HAIR = 4\n"
"SKIN = 5\n"
"PLAYER_PART_MAX = 6\n"
"CAP = 6\n"
"PLAYER_PART_MAX = 7\n"
"METAL = 6\n"
"CT_MARIO = 0\n"
"CT_LUIGI = 1\n"
"CT_TOAD = 2\n"