Complete color palettes; gfx macros (#191)

This commit is contained in:
PeachyPeach 2022-09-19 02:30:13 +02:00 committed by GitHub
parent 38bc85e329
commit 6449b7d578
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
27 changed files with 304 additions and 495 deletions

View file

@ -228,8 +228,7 @@ const Gfx luigi_butt_dl[] = {
const Gfx luigi_butt[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightEXT(1, 3), // gsSPLight(&luigi_blue_lights_group.l, 1),
gsSPCopyLightEXT(2, 4), // gsSPLight(&luigi_blue_lights_group.a, 2),
gsSPCopyLightsPlayerPart(PANTS), // gsSPLight(&luigi_blue_lights_group.a, 2),
gsSPDisplayList(luigi_butt_dl),
gsSPEndDisplayList(),
};
@ -240,8 +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),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPDisplayList(luigi_butt_dl),
gsSPEndDisplayList(),
};
@ -321,8 +319,7 @@ const Gfx luigi_left_arm_shared_dl[] = {
};
const Gfx luigi_left_arm[] = {
gsSPCopyLightEXT(1, 5), // gsSPLight(&luigi_green_lights_group.l, 1),
gsSPCopyLightEXT(2, 6), // gsSPLight(&luigi_green_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&luigi_green_lights_group.a, 2),
gsSPDisplayList(luigi_left_arm_shared_dl),
gsSPEndDisplayList(),
};
@ -473,8 +470,7 @@ const Gfx luigi_left_hand_closed_shared_dl[] = {
};
const Gfx luigi_left_hand_closed[] = {
gsSPCopyLightEXT(1, 7), // glove light, set in mario_misc.c
gsSPCopyLightEXT(2, 8),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(luigi_left_hand_closed_shared_dl),
gsSPEndDisplayList(),
};
@ -555,8 +551,7 @@ const Gfx luigi_right_arm_shared_dl[] = {
};
const Gfx luigi_right_arm[] = {
gsSPCopyLightEXT(1, 5), // gsSPLight(&luigi_green_lights_group.l, 1),
gsSPCopyLightEXT(2, 6), // gsSPLight(&luigi_green_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&luigi_green_lights_group.a, 2),
gsSPDisplayList(luigi_right_arm_shared_dl),
gsSPEndDisplayList(),
};
@ -711,8 +706,7 @@ const Gfx luigi_right_hand_closed_dl[] = {
};
const Gfx luigi_right_hand_closed[] = {
gsSPCopyLightEXT(1, 7), // glove light, set in mario_misc.c
gsSPCopyLightEXT(2, 8),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(luigi_right_hand_closed_dl),
gsSPEndDisplayList(),
};
@ -790,8 +784,7 @@ const Gfx luigi_left_thigh_dl[] = {
const Gfx luigi_left_thigh[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightEXT(1, 3), // gsSPLight(&luigi_blue_lights_group.l, 1),
gsSPCopyLightEXT(2, 4), // gsSPLight(&luigi_blue_lights_group.a, 2),
gsSPCopyLightsPlayerPart(PANTS), // gsSPLight(&luigi_blue_lights_group.a, 2),
gsSPDisplayList(luigi_left_thigh_dl),
gsSPEndDisplayList(),
};
@ -802,8 +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),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPDisplayList(luigi_left_thigh_dl),
gsSPEndDisplayList(),
};
@ -912,8 +904,7 @@ const Gfx luigi_left_foot_shared_dl[] = {
};
const Gfx luigi_left_foot[] = {
gsSPLight(&luigi_brown1_lights_group.l, 1),
gsSPLight(&luigi_brown1_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHOES),
gsSPDisplayList(luigi_left_foot_shared_dl),
gsSPEndDisplayList(),
};
@ -984,8 +975,7 @@ const Gfx luigi_right_thigh_shared_dl[] = {
};
const Gfx luigi_right_thigh[] = {
gsSPCopyLightEXT(1, 3), // gsSPLight(&luigi_blue_lights_group.l, 1),
gsSPCopyLightEXT(2, 4), // gsSPLight(&luigi_blue_lights_group.a, 2),
gsSPCopyLightsPlayerPart(PANTS), // gsSPLight(&luigi_blue_lights_group.a, 2),
gsSPDisplayList(luigi_right_thigh_shared_dl),
gsSPEndDisplayList(),
};
@ -1105,8 +1095,7 @@ const Gfx luigi_right_foot_dl[] = {
};
const Gfx luigi_right_foot[] = {
gsSPLight(&luigi_brown1_lights_group.l, 1),
gsSPLight(&luigi_brown1_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHOES),
gsSPDisplayList(luigi_right_foot_dl),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
@ -1414,8 +1403,7 @@ const Gfx luigi_tshirt_shared_dl[] = {
const Gfx luigi_torso_dl[] = {
gsSPDisplayList(luigi_pants_overalls_shared_dl),
gsSPCopyLightEXT(1, 5), // gsSPLight(&luigi_green_lights_group.l, 1),
gsSPCopyLightEXT(2, 6), // gsSPLight(&luigi_green_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&luigi_green_lights_group.a, 2),
gsSPDisplayList(luigi_tshirt_shared_dl),
gsSPEndDisplayList(),
};
@ -1909,11 +1897,9 @@ const Gfx luigi_face_back_hair_cap_on_dl[] = {
const Gfx luigi_face_cap_on_dl[] = {
gsSPDisplayList(luigi_face_part_cap_on_dl),
gsSPCopyLightEXT(1, 5), // gsSPLight(&luigi_green_lights_group.l, 1),
gsSPCopyLightEXT(2, 6), // gsSPLight(&luigi_green_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&luigi_green_lights_group.a, 2),
gsSPDisplayList(luigi_face_cap_dl),
gsSPLight(&luigi_brown2_lights_group.l, 1),
gsSPLight(&luigi_brown2_lights_group.a, 2),
gsSPCopyLightsPlayerPart(HAIR),
gsSPDisplayList(luigi_face_back_hair_cap_on_dl),
gsSPEndDisplayList(),
};
@ -1933,8 +1919,7 @@ const Gfx luigi_cap_on_eyes_front[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_front),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&luigi_beige_lights_group.l, 1),
gsSPLight(&luigi_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(luigi_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn),
gsDPLoadSync(),
@ -1966,8 +1951,7 @@ const Gfx luigi_cap_on_eyes_half_closed[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_half_closed),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&luigi_beige_lights_group.l, 1),
gsSPLight(&luigi_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(luigi_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn),
gsDPLoadSync(),
@ -1999,8 +1983,7 @@ const Gfx luigi_cap_on_eyes_closed[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_closed),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&luigi_beige_lights_group.l, 1),
gsSPLight(&luigi_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(luigi_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn),
gsDPLoadSync(),
@ -2032,8 +2015,7 @@ const Gfx luigi_cap_on_eyes_right[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_right),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&luigi_beige_lights_group.l, 1),
gsSPLight(&luigi_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(luigi_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn),
gsDPLoadSync(),
@ -2065,8 +2047,7 @@ const Gfx luigi_cap_on_eyes_left[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_left),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&luigi_beige_lights_group.l, 1),
gsSPLight(&luigi_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(luigi_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn),
gsDPLoadSync(),
@ -2098,8 +2079,7 @@ const Gfx luigi_cap_on_eyes_up[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_up),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&luigi_beige_lights_group.l, 1),
gsSPLight(&luigi_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(luigi_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn),
gsDPLoadSync(),
@ -2131,8 +2111,7 @@ const Gfx luigi_cap_on_eyes_down[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_down),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&luigi_beige_lights_group.l, 1),
gsSPLight(&luigi_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(luigi_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn),
gsDPLoadSync(),
@ -2164,8 +2143,7 @@ const Gfx luigi_cap_on_eyes_dead[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_dead),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&luigi_beige_lights_group.l, 1),
gsSPLight(&luigi_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(luigi_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_hair_sideburn),
gsDPLoadSync(),
@ -2670,8 +2648,7 @@ const Gfx luigi_face_hair_cap_off_dl[] = {
const Gfx luigi_face_cap_off_dl[] = {
gsSPDisplayList(luigi_face_part_cap_off_dl),
gsSPLight(&luigi_brown2_lights_group.l, 1),
gsSPLight(&luigi_brown2_lights_group.a, 2),
gsSPCopyLightsPlayerPart(HAIR),
gsSPDisplayList(luigi_face_hair_cap_off_dl),
gsSPEndDisplayList(),
};
@ -2687,8 +2664,7 @@ const Gfx luigi_cap_off_eyes_front[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_front),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&luigi_beige_lights_group.l, 1),
gsSPLight(&luigi_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(luigi_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache),
gsDPLoadSync(),
@ -2716,8 +2692,7 @@ const Gfx luigi_cap_off_eyes_half_closed[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_half_closed),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&luigi_beige_lights_group.l, 1),
gsSPLight(&luigi_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(luigi_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache),
gsDPLoadSync(),
@ -2745,8 +2720,7 @@ const Gfx luigi_cap_off_eyes_closed[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_closed),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&luigi_beige_lights_group.l, 1),
gsSPLight(&luigi_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(luigi_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache),
gsDPLoadSync(),
@ -2774,8 +2748,7 @@ const Gfx luigi_cap_off_eyes_right[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_right),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&luigi_beige_lights_group.l, 1),
gsSPLight(&luigi_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(luigi_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache),
gsDPLoadSync(),
@ -2803,8 +2776,7 @@ const Gfx luigi_cap_off_eyes_left[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_left),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&luigi_beige_lights_group.l, 1),
gsSPLight(&luigi_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(luigi_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache),
gsDPLoadSync(),
@ -2832,8 +2804,7 @@ const Gfx luigi_cap_off_eyes_up[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_up),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&luigi_beige_lights_group.l, 1),
gsSPLight(&luigi_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(luigi_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache),
gsDPLoadSync(),
@ -2861,8 +2832,7 @@ const Gfx luigi_cap_off_eyes_down[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_down),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&luigi_beige_lights_group.l, 1),
gsSPLight(&luigi_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(luigi_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache),
gsDPLoadSync(),
@ -2890,8 +2860,7 @@ const Gfx luigi_cap_off_eyes_dead[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_eyes_dead),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&luigi_beige_lights_group.l, 1),
gsSPLight(&luigi_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(luigi_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache),
gsDPLoadSync(),
@ -3049,8 +3018,7 @@ const Gfx luigi_left_hand_open_shared_dl[] = {
};
const Gfx luigi_left_hand_open[] = {
gsSPCopyLightEXT(1, 7), // glove light, set in mario_misc.c
gsSPCopyLightEXT(2, 8),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(luigi_left_hand_open_shared_dl),
gsSPEndDisplayList(),
};
@ -3191,8 +3159,7 @@ const Gfx luigi_right_hand_open_dl[] = {
};
const Gfx luigi_right_hand_open[] = {
gsSPCopyLightEXT(1, 7), // glove light, set in mario_misc.c
gsSPCopyLightEXT(2, 8),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(luigi_right_hand_open_dl),
gsSPEndDisplayList(),
};
@ -3446,11 +3413,9 @@ const Gfx luigi_right_hand_cap_bottom_dl[] = {
const Gfx luigi_right_hand_cap_dl[] = {
gsSPDisplayList(luigi_right_hand_cap_top_dl),
gsSPCopyLightEXT(1, 7), // glove light, set in mario_misc.c
gsSPCopyLightEXT(2, 8),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(luigi_right_hand_cap_hand_position_dl),
gsSPLight(&luigi_brown2_lights_group.l, 1),
gsSPLight(&luigi_brown2_lights_group.a, 2),
gsSPCopyLightsPlayerPart(HAIR),
gsSPDisplayList(luigi_right_hand_cap_bottom_dl),
gsSPEndDisplayList(),
};
@ -3751,8 +3716,7 @@ const Gfx luigi_right_hand_peace_shared_dl[] = {
};
const Gfx luigi_right_hand_peace[] = {
gsSPCopyLightEXT(1, 7), // glove light, set in mario_misc.c
gsSPCopyLightEXT(2, 8),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(luigi_right_hand_peace_shared_dl),
gsSPEndDisplayList(),
};

View file

@ -167,8 +167,7 @@ const Gfx luigi_cap_seg3_dl_03022CC8[] = {
// 0x03022D10 - 0x03022D38
const Gfx luigi_cap_seg3_dl_03022D10[] = {
gsSPDisplayList(luigi_cap_seg3_dl_03022B68),
gsSPCopyLightEXT(1, 5), //gsSPLight(&luigi_cap_seg3_lights_0301CF08.l, 1),
gsSPCopyLightEXT(2, 6), //gsSPLight(&luigi_cap_seg3_lights_0301CF08.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&luigi_cap_seg3_lights_0301CF08.a, 2),
gsSPDisplayList(luigi_cap_seg3_dl_03022CC8),
gsSPEndDisplayList(),
};
@ -251,8 +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)),
gsSPCopyLightEXT(1, 5), //gsSPLight(&luigi_cap_seg3_lights_0301CF38.l, 1),
gsSPCopyLightEXT(2, 6), //gsSPLight(&luigi_cap_seg3_lights_0301CF38.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&luigi_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(luigi_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -272,8 +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),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPDisplayList(luigi_cap_seg3_dl_03022B30),
gsSPDisplayList(luigi_cap_seg3_dl_03022B68),
gsSPDisplayList(luigi_cap_seg3_dl_03022CC8),
@ -328,8 +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)),
gsSPCopyLightEXT(1, 5), //gsSPLight(&luigi_cap_seg3_lights_0301CF38.l, 1),
gsSPCopyLightEXT(2, 6), //gsSPLight(&luigi_cap_seg3_lights_0301CF38.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&luigi_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(luigi_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -372,8 +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),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPDisplayList(luigi_cap_seg3_dl_03022B30),
gsSPDisplayList(luigi_cap_seg3_dl_03022B68),
gsSPDisplayList(luigi_cap_seg3_dl_03022CC8),

View file

@ -381,8 +381,7 @@ const Gfx mario_butt_dl[] = {
const Gfx mario_butt[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightEXT(1, 3), // gsSPLight(&mario_blue_lights_group.l, 1),
gsSPCopyLightEXT(2, 4), // gsSPLight(&mario_blue_lights_group.a, 2),
gsSPCopyLightsPlayerPart(PANTS), // gsSPLight(&mario_blue_lights_group.a, 2),
gsSPDisplayList(mario_butt_dl),
gsSPEndDisplayList(),
};
@ -394,8 +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),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPDisplayList(mario_butt_dl),
gsSPEndDisplayList(),
};
@ -499,8 +497,7 @@ const Gfx mario_left_arm_shared_dl[] = {
// 0x0400D1D8 - 0x0400D1F8
const Gfx mario_left_arm[] = {
gsSPCopyLightEXT(1, 5), // gsSPLight(&mario_red_lights_group.l, 1),
gsSPCopyLightEXT(2, 6), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPDisplayList(mario_left_arm_shared_dl),
gsSPEndDisplayList(),
};
@ -651,8 +648,7 @@ const Gfx mario_left_hand_closed_shared_dl[] = {
// 0x0400D8F0 - 0x0400D910
const Gfx mario_left_hand_closed[] = {
gsSPCopyLightEXT(1, 7), // glove light, set in mario_misc.c
gsSPCopyLightEXT(2, 8),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(mario_left_hand_closed_shared_dl),
gsSPEndDisplayList(),
};
@ -760,8 +756,7 @@ const Gfx mario_right_arm_shared_dl[] = {
// 0x0400DDE8 - 0x0400DE08
const Gfx mario_right_arm[] = {
gsSPCopyLightEXT(1, 5), // gsSPLight(&mario_red_lights_group.l, 1),
gsSPCopyLightEXT(2, 6), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPDisplayList(mario_right_arm_shared_dl),
gsSPEndDisplayList(),
};
@ -897,8 +892,7 @@ const Gfx mario_right_hand_closed_dl[] = {
// 0x0400E458 - 0x0400E478
const Gfx mario_right_hand_closed[] = {
gsSPCopyLightEXT(1, 7), // glove light, set in mario_misc.c
gsSPCopyLightEXT(2, 8),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(mario_right_hand_closed_dl),
gsSPEndDisplayList(),
};
@ -979,8 +973,7 @@ const Gfx mario_left_thigh_dl[] = {
const Gfx mario_left_thigh[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightEXT(1, 3), // gsSPLight(&mario_blue_lights_group.l, 1),
gsSPCopyLightEXT(2, 4), // gsSPLight(&mario_blue_lights_group.a, 2),
gsSPCopyLightsPlayerPart(PANTS), // gsSPLight(&mario_blue_lights_group.a, 2),
gsSPDisplayList(mario_left_thigh_dl),
gsSPEndDisplayList(),
};
@ -992,8 +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),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPDisplayList(mario_left_thigh_dl),
gsSPEndDisplayList(),
};
@ -1091,8 +1083,7 @@ const Gfx mario_left_foot_shared_dl[] = {
// 0x0400ECA0 - 0x0400ECC0
const Gfx mario_left_foot[] = {
gsSPLight(&mario_brown1_lights_group.l, 1),
gsSPLight(&mario_brown1_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHOES),
gsSPDisplayList(mario_left_foot_shared_dl),
gsSPEndDisplayList(),
};
@ -1160,8 +1151,7 @@ const Gfx mario_right_thigh_shared_dl[] = {
// 0x0400EFB8 - 0x0400EFD8
const Gfx mario_right_thigh[] = {
gsSPCopyLightEXT(1, 3), // gsSPLight(&mario_blue_lights_group.l, 1),
gsSPCopyLightEXT(2, 4), // gsSPLight(&mario_blue_lights_group.a, 2),
gsSPCopyLightsPlayerPart(PANTS), // gsSPLight(&mario_blue_lights_group.a, 2),
gsSPDisplayList(mario_right_thigh_shared_dl),
gsSPEndDisplayList(),
};
@ -1276,8 +1266,7 @@ const Gfx mario_right_foot_dl[] = {
// 0x0400F4E8 - 0x0400F528
const Gfx mario_right_foot[] = {
gsSPLight(&mario_brown1_lights_group.l, 1),
gsSPLight(&mario_brown1_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHOES),
gsSPDisplayList(mario_right_foot_dl),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
@ -1589,8 +1578,7 @@ const Gfx mario_tshirt_shared_dl[] = {
// 0x04010348 - 0x04010370
const Gfx mario_torso_dl[] = {
gsSPDisplayList(mario_pants_overalls_shared_dl),
gsSPCopyLightEXT(1, 5), // gsSPLight(&mario_red_lights_group.l, 1),
gsSPCopyLightEXT(2, 6), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPDisplayList(mario_tshirt_shared_dl),
gsSPEndDisplayList(),
};
@ -2080,11 +2068,9 @@ 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),
gsSPCopyLightEXT(1, 5), // gsSPLight(&mario_red_lights_group.l, 1),
gsSPCopyLightEXT(2, 6), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPDisplayList(mario_face_cap_dl),
gsSPLight(&mario_brown2_lights_group.l, 1),
gsSPLight(&mario_brown2_lights_group.a, 2),
gsSPCopyLightsPlayerPart(HAIR),
gsSPDisplayList(mario_face_back_hair_cap_on_dl),
gsSPEndDisplayList(),
};
@ -2105,8 +2091,7 @@ const Gfx mario_cap_on_eyes_front[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_hair_sideburn),
gsDPLoadSync(),
@ -2139,8 +2124,7 @@ const Gfx mario_cap_on_eyes_half_closed[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_hair_sideburn),
gsDPLoadSync(),
@ -2173,8 +2157,7 @@ const Gfx mario_cap_on_eyes_closed[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_hair_sideburn),
gsDPLoadSync(),
@ -2207,8 +2190,7 @@ const Gfx mario_cap_on_eyes_right[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_hair_sideburn),
gsDPLoadSync(),
@ -2241,8 +2223,7 @@ const Gfx mario_cap_on_eyes_left[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_hair_sideburn),
gsDPLoadSync(),
@ -2275,8 +2256,7 @@ const Gfx mario_cap_on_eyes_up[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_hair_sideburn),
gsDPLoadSync(),
@ -2309,8 +2289,7 @@ const Gfx mario_cap_on_eyes_down[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_hair_sideburn),
gsDPLoadSync(),
@ -2343,8 +2322,7 @@ const Gfx mario_cap_on_eyes_dead[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_hair_sideburn),
gsDPLoadSync(),
@ -2892,8 +2870,7 @@ const Gfx mario_face_hair_cap_off_dl[] = {
// 0x040139C0 - 0x040139E8
const Gfx mario_face_cap_off_dl[] = {
gsSPDisplayList(mario_face_part_cap_off_dl),
gsSPLight(&mario_brown2_lights_group.l, 1),
gsSPLight(&mario_brown2_lights_group.a, 2),
gsSPCopyLightsPlayerPart(HAIR),
gsSPDisplayList(mario_face_hair_cap_off_dl),
gsSPEndDisplayList(),
};
@ -2910,8 +2887,7 @@ const Gfx mario_cap_off_eyes_front[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -2940,8 +2916,7 @@ const Gfx mario_cap_off_eyes_half_closed[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -2970,8 +2945,7 @@ const Gfx mario_cap_off_eyes_closed[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -3000,8 +2974,7 @@ const Gfx mario_cap_off_eyes_right[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -3030,8 +3003,7 @@ const Gfx mario_cap_off_eyes_left[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -3060,8 +3032,7 @@ const Gfx mario_cap_off_eyes_up[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -3090,8 +3061,7 @@ const Gfx mario_cap_off_eyes_down[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -3120,8 +3090,7 @@ const Gfx mario_cap_off_eyes_dead[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -3270,8 +3239,7 @@ const Gfx mario_medium_poly_butt_dl[] = {
const Gfx mario_medium_poly_butt[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightEXT(1, 3), // gsSPLight(&mario_blue_lights_group.l, 1),
gsSPCopyLightEXT(2, 4), // gsSPLight(&mario_blue_lights_group.a, 2),
gsSPCopyLightsPlayerPart(PANTS), // gsSPLight(&mario_blue_lights_group.a, 2),
gsSPDisplayList(mario_medium_poly_butt_dl),
gsSPEndDisplayList(),
};
@ -3322,8 +3290,7 @@ const Gfx mario_medium_poly_left_arm_shared_dl[] = {
// 0x04014840 - 0x04014860
const Gfx mario_medium_poly_left_arm[] = {
gsSPCopyLightEXT(1, 5), // gsSPLight(&mario_red_lights_group.l, 1),
gsSPCopyLightEXT(2, 6), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPDisplayList(mario_medium_poly_left_arm_shared_dl),
gsSPEndDisplayList(),
};
@ -3444,8 +3411,7 @@ const Gfx mario_medium_poly_left_hand_closed_shared_dl[] = {
// 0x04014DC0 - 0x04014DE0
const Gfx mario_medium_poly_left_hand_closed[] = {
gsSPLight(&mario_white_lights_group.l, 7),
gsSPLight(&mario_white_lights_group.a, 8),
gsSPCopyLightsPlayerPart(GLOVES),
gsSPDisplayList(mario_medium_poly_left_hand_closed_shared_dl),
gsSPEndDisplayList(),
};
@ -3483,8 +3449,7 @@ const Gfx mario_medium_poly_right_arm_shared_dl[] = {
// 0x04014F40 - 0x04014F60
const Gfx mario_medium_poly_right_arm[] = {
gsSPCopyLightEXT(1, 7), // gsSPLight(&mario_red_lights_group.l, 1),
gsSPCopyLightEXT(2, 8), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPDisplayList(mario_medium_poly_right_arm_shared_dl),
gsSPEndDisplayList(),
};
@ -3606,8 +3571,7 @@ const Gfx mario_medium_poly_right_hand_closed_dl[] = {
// 0x040154E0 - 0x04015500
const Gfx mario_medium_poly_right_hand_closed[] = {
gsSPCopyLightEXT(1, 7), // glove light, set in mario_misc.c
gsSPCopyLightEXT(2, 8),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(mario_medium_poly_right_hand_closed_dl),
gsSPEndDisplayList(),
};
@ -3659,8 +3623,7 @@ const Gfx mario_medium_poly_left_thigh_dl[] = {
const Gfx mario_medium_poly_left_thigh[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightEXT(1, 3), // gsSPLight(&mario_blue_lights_group.l, 1),
gsSPCopyLightEXT(2, 4), // gsSPLight(&mario_blue_lights_group.a, 2),
gsSPCopyLightsPlayerPart(PANTS), // gsSPLight(&mario_blue_lights_group.a, 2),
gsSPDisplayList(mario_medium_poly_left_thigh_dl),
gsSPEndDisplayList(),
};
@ -3767,8 +3730,7 @@ const Gfx mario_medium_poly_left_foot_shared_dl[] = {
// 0x04015B60 - 0x04015B80
const Gfx mario_medium_poly_left_foot[] = {
gsSPLight(&mario_brown1_lights_group.l, 1),
gsSPLight(&mario_brown1_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHOES),
gsSPDisplayList(mario_medium_poly_left_foot_shared_dl),
gsSPEndDisplayList(),
};
@ -3808,8 +3770,7 @@ const Gfx mario_medium_poly_right_thigh_shared_dl[] = {
// 0x04015D00 - 0x04015D20
const Gfx mario_medium_poly_right_thigh[] = {
gsSPCopyLightEXT(1, 3), // gsSPLight(&mario_blue_lights_group.l, 1),
gsSPCopyLightEXT(2, 4), // gsSPLight(&mario_blue_lights_group.a, 2),
gsSPCopyLightsPlayerPart(PANTS), // gsSPLight(&mario_blue_lights_group.a, 2),
gsSPDisplayList(mario_medium_poly_right_thigh_shared_dl),
gsSPEndDisplayList(),
};
@ -3897,8 +3858,7 @@ const Gfx mario_medium_poly_right_foot_dl[] = {
// 0x040160C8 - 0x04016108
const Gfx mario_medium_poly_right_foot[] = {
gsSPLight(&mario_brown1_lights_group.l, 1),
gsSPLight(&mario_brown1_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHOES),
gsSPDisplayList(mario_medium_poly_right_foot_dl),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
@ -4081,8 +4041,7 @@ const Gfx mario_medium_poly_tshirt_shared_dl[] = {
// 0x040168A0 - 0x040168C8
const Gfx mario_medium_poly_torso_dl[] = {
gsSPDisplayList(mario_medium_poly_pants_overalls_shared_dl),
gsSPCopyLightEXT(1, 5), // gsSPLight(&mario_red_lights_group.l, 1),
gsSPCopyLightEXT(2, 6), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPDisplayList(mario_medium_poly_tshirt_shared_dl),
gsSPEndDisplayList(),
};
@ -4149,8 +4108,7 @@ const Gfx mario_low_poly_butt_dl[] = {
const Gfx mario_low_poly_butt[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightEXT(1, 3), // gsSPLight(&mario_blue_lights_group.l, 1),
gsSPCopyLightEXT(2, 4), // gsSPLight(&mario_blue_lights_group.a, 2),
gsSPCopyLightsPlayerPart(PANTS), // gsSPLight(&mario_blue_lights_group.a, 2),
gsSPDisplayList(mario_low_poly_butt_dl),
gsSPEndDisplayList(),
};
@ -4196,8 +4154,7 @@ const Gfx mario_low_poly_left_arm_shared_dl[] = {
// 0x04016C70 - 0x04016C90
const Gfx mario_low_poly_left_arm[] = {
gsSPCopyLightEXT(1, 5), // gsSPLight(&mario_red_lights_group.l, 1),
gsSPCopyLightEXT(2, 6), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPDisplayList(mario_low_poly_left_arm_shared_dl),
gsSPEndDisplayList(),
};
@ -4253,8 +4210,7 @@ const Gfx mario_low_poly_left_hand_closed_shared_dl[] = {
// 0x04016E80 - 0x04016EA0
const Gfx mario_low_poly_left_hand_closed[] = {
gsSPCopyLightEXT(1, 7), // glove light, set in mario_misc.c
gsSPCopyLightEXT(2, 8),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(mario_low_poly_left_hand_closed_shared_dl),
gsSPEndDisplayList(),
};
@ -4287,8 +4243,7 @@ const Gfx mario_low_poly_right_arm_shared_dl[] = {
// 0x04016FB0 - 0x04016FD0
const Gfx mario_low_poly_right_arm[] = {
gsSPCopyLightEXT(1, 5), // gsSPLight(&mario_red_lights_group.l, 1),
gsSPCopyLightEXT(2, 6), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPDisplayList(mario_low_poly_right_arm_shared_dl),
gsSPEndDisplayList(),
};
@ -4344,8 +4299,7 @@ const Gfx mario_low_poly_right_hand_closed_dl[] = {
// 0x040171C0 - 0x040171E0
const Gfx mario_low_poly_right_hand_closed[] = {
gsSPCopyLightEXT(1, 7), // glove light, set in mario_misc.c
gsSPCopyLightEXT(2, 8),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(mario_low_poly_right_hand_closed_dl),
gsSPEndDisplayList(),
};
@ -4394,8 +4348,7 @@ const Gfx mario_low_poly_left_thigh_dl[] = {
const Gfx mario_low_poly_left_thigh[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightEXT(1, 3), // gsSPLight(&mario_blue_lights_group.l, 1),
gsSPCopyLightEXT(2, 4), // gsSPLight(&mario_blue_lights_group.a, 2),
gsSPCopyLightsPlayerPart(PANTS), // gsSPLight(&mario_blue_lights_group.a, 2),
gsSPDisplayList(mario_low_poly_left_thigh_dl),
gsSPEndDisplayList(),
};
@ -4475,8 +4428,7 @@ const Gfx mario_low_poly_left_foot_shared_dl[] = {
// 0x040176A8 - 0x040176C8
const Gfx mario_low_poly_left_foot[] = {
gsSPLight(&mario_brown1_lights_group.l, 1),
gsSPLight(&mario_brown1_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHOES),
gsSPDisplayList(mario_low_poly_left_foot_shared_dl),
gsSPEndDisplayList(),
};
@ -4513,8 +4465,7 @@ const Gfx mario_low_poly_right_thigh_shared_dl[] = {
// 0x04017818 - 0x04017838
const Gfx mario_low_poly_right_thigh[] = {
gsSPCopyLightEXT(1, 3), // gsSPLight(&mario_blue_lights_group.l, 1),
gsSPCopyLightEXT(2, 4), // gsSPLight(&mario_blue_lights_group.a, 2),
gsSPCopyLightsPlayerPart(PANTS), // gsSPLight(&mario_blue_lights_group.a, 2),
gsSPDisplayList(mario_low_poly_right_thigh_shared_dl),
gsSPEndDisplayList(),
};
@ -4581,8 +4532,7 @@ const Gfx mario_low_poly_right_foot_dl[] = {
// 0x04017AD8 - 0x04017B18
const Gfx mario_low_poly_right_foot[] = {
gsSPLight(&mario_brown1_lights_group.l, 1),
gsSPLight(&mario_brown1_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHOES),
gsSPDisplayList(mario_low_poly_right_foot_dl),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
@ -4684,8 +4634,7 @@ const Gfx mario_low_poly_tshirt_shared_dl[] = {
// 0x04017E78 - 0x04017EA0
const Gfx mario_low_poly_torso_dl[] = {
gsSPDisplayList(mario_low_poly_pants_overalls_shared_dl),
gsSPCopyLightEXT(1, 5), // gsSPLight(&mario_red_lights_group.l, 1),
gsSPCopyLightEXT(2, 6), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPDisplayList(mario_low_poly_tshirt_shared_dl),
gsSPEndDisplayList(),
};
@ -4854,11 +4803,9 @@ 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),
gsSPCopyLightEXT(1, 5), // gsSPLight(&mario_red_lights_group.l, 1),
gsSPCopyLightEXT(2, 6), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPDisplayList(mario_low_poly_face_cap_dl),
gsSPLight(&mario_brown2_lights_group.l, 1),
gsSPLight(&mario_brown2_lights_group.a, 2),
gsSPCopyLightsPlayerPart(HAIR),
gsSPDisplayList(mario_low_poly_face_back_hair_cap_on_dl),
gsSPEndDisplayList(),
};
@ -4879,8 +4826,7 @@ const Gfx mario_low_poly_cap_on_eyes_front[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_low_poly_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -4909,8 +4855,7 @@ const Gfx mario_low_poly_cap_on_eyes_half_closed[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_low_poly_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -4939,8 +4884,7 @@ const Gfx mario_low_poly_cap_on_eyes_closed[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_low_poly_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -4969,8 +4913,7 @@ const Gfx mario_low_poly_cap_on_eyes_right[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_low_poly_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -4999,8 +4942,7 @@ const Gfx mario_low_poly_cap_on_eyes_left[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_low_poly_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -5029,8 +4971,7 @@ const Gfx mario_low_poly_cap_on_eyes_up[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_low_poly_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -5059,8 +5000,7 @@ const Gfx mario_low_poly_cap_on_eyes_down[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_low_poly_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -5089,8 +5029,7 @@ const Gfx mario_low_poly_cap_on_eyes_dead[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_low_poly_eyes_cap_on_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -5223,8 +5162,7 @@ const Gfx mario_low_poly_face_hair_cap_off_dl[] = {
// 0x04018F68 - 0x04018F90
const Gfx mario_low_poly_face_cap_off_dl[] = {
gsSPDisplayList(mario_low_poly_face_part_cap_off_dl),
gsSPLight(&mario_brown2_lights_group.l, 1),
gsSPLight(&mario_brown2_lights_group.a, 2),
gsSPCopyLightsPlayerPart(HAIR),
gsSPDisplayList(mario_low_poly_face_hair_cap_off_dl),
gsSPEndDisplayList(),
};
@ -5241,8 +5179,7 @@ const Gfx mario_low_poly_cap_off_eyes_front[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_low_poly_mario_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -5267,8 +5204,7 @@ const Gfx mario_low_poly_cap_off_eyes_half_closed[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_low_poly_mario_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -5293,8 +5229,7 @@ const Gfx mario_low_poly_cap_off_eyes_closed[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_low_poly_mario_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -5319,8 +5254,7 @@ const Gfx mario_low_poly_cap_off_eyes_right[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_low_poly_mario_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -5345,8 +5279,7 @@ const Gfx mario_low_poly_cap_off_eyes_left[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_low_poly_mario_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -5371,8 +5304,7 @@ const Gfx mario_low_poly_cap_off_eyes_up[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_low_poly_mario_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -5397,8 +5329,7 @@ const Gfx mario_low_poly_cap_off_eyes_down[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_low_poly_mario_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -5423,8 +5354,7 @@ const Gfx mario_low_poly_cap_off_eyes_dead[] = {
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)),
gsSPLight(&mario_beige_lights_group.l, 1),
gsSPLight(&mario_beige_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_low_poly_mario_eyes_cap_off_dl),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache),
gsDPLoadSync(),
@ -5599,8 +5529,7 @@ const Gfx mario_left_hand_open_shared_dl[] = {
// 0x04019CA0 - 0x04019CC0
const Gfx mario_left_hand_open[] = {
gsSPCopyLightEXT(1, 7), // glove light, set in mario_misc.c
gsSPCopyLightEXT(2, 8),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(mario_left_hand_open_shared_dl),
gsSPEndDisplayList(),
};
@ -5758,8 +5687,7 @@ const Gfx mario_right_hand_open_dl[] = {
// 0x0401A428 - 0x0401A448
const Gfx mario_right_hand_open[] = {
gsSPCopyLightEXT(1, 7), // glove light, set in mario_misc.c
gsSPCopyLightEXT(2, 8),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(mario_right_hand_open_dl),
gsSPEndDisplayList(),
};
@ -6008,11 +5936,9 @@ const Gfx mario_right_hand_cap_bottom_dl[] = {
// 0x0401AF20 - 0x0401AF60
const Gfx mario_right_hand_cap_dl[] = {
gsSPDisplayList(mario_right_hand_cap_top_dl),
gsSPCopyLightEXT(1, 7), // glove light, set in mario_misc.c
gsSPCopyLightEXT(2, 8),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(mario_right_hand_cap_hand_position_dl),
gsSPLight(&mario_brown2_lights_group.l, 1),
gsSPLight(&mario_brown2_lights_group.a, 2),
gsSPCopyLightsPlayerPart(HAIR),
gsSPDisplayList(mario_right_hand_cap_bottom_dl),
gsSPEndDisplayList(),
};
@ -6401,8 +6327,7 @@ const Gfx mario_right_hand_peace_shared_dl[] = {
// 0x0401BF30 - 0x0401BF50
const Gfx mario_right_hand_peace[] = {
gsSPCopyLightEXT(1, 7), // glove light, set in mario_misc.c
gsSPCopyLightEXT(2, 8),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(mario_right_hand_peace_shared_dl),
gsSPEndDisplayList(),
};
@ -6539,8 +6464,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),
gsSPLight(&mario_brown2_lights_group.l, 1),
gsSPLight(&mario_brown2_lights_group.a, 2),
gsSPCopyLightsPlayerPart(HAIR),
gsSPDisplayList(mario_cap_unused_base_bottom_dl),
gsSPEndDisplayList(),
};
@ -6625,8 +6549,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)),
gsSPCopyLightEXT(1, 5), // gsSPLight(&mario_red_lights_group.l, 1),
gsSPCopyLightEXT(2, 6), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), // 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,8 +180,7 @@ const Gfx mario_cap_seg3_dl_03022CC8[] = {
// 0x03022D10 - 0x03022D38
const Gfx mario_cap_seg3_dl_03022D10[] = {
gsSPDisplayList(mario_cap_seg3_dl_03022B68),
gsSPCopyLightEXT(1, 5), //gsSPLight(&mario_cap_seg3_lights_0301CF08.l, 1),
gsSPCopyLightEXT(2, 6), //gsSPLight(&mario_cap_seg3_lights_0301CF08.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&mario_cap_seg3_lights_0301CF08.a, 2),
gsSPDisplayList(mario_cap_seg3_dl_03022CC8),
gsSPEndDisplayList(),
};
@ -264,8 +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)),
gsSPCopyLightEXT(1, 5), //gsSPLight(&mario_cap_seg3_lights_0301CF38.l, 1),
gsSPCopyLightEXT(2, 6), //gsSPLight(&mario_cap_seg3_lights_0301CF38.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&mario_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(mario_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -285,8 +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),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPDisplayList(mario_cap_seg3_dl_03022B30),
gsSPDisplayList(mario_cap_seg3_dl_03022B68),
gsSPDisplayList(mario_cap_seg3_dl_03022CC8),
@ -341,8 +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)),
gsSPCopyLightEXT(1, 5), //gsSPLight(&mario_cap_seg3_lights_0301CF38.l, 1),
gsSPCopyLightEXT(2, 6), //gsSPLight(&mario_cap_seg3_lights_0301CF38.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&mario_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(mario_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -385,8 +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),
gsSPCopyLightEXT(1, 5), //gsSPLight(&mario_cap_seg3_lights_0301CF20.l, 1),
gsSPCopyLightEXT(2, 6), //gsSPLight(&mario_cap_seg3_lights_0301CF20.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), //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),

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 927 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -11,21 +11,14 @@
// metal //
///////////
static const Lights1 toad_player_lights_white = gdSPDefLights1(
0x7f, 0x7f, 0x7f,
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
);
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),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
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),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPEndDisplayList(),
};
@ -293,18 +286,13 @@ const Gfx toad_player_dl_face[] = {
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, toad_player_texture_face),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&toad_player_lights_face.l, 1),
gsSPLight(&toad_player_lights_face.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(toad_player_dl_face_inner),
gsDPTileSync(),
gsSPEndDisplayList(),
};
@ -315,18 +303,13 @@ const Gfx toad_player_dl_eyes_closed[] = {
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, toad_player_texture_eyes_closed),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&toad_player_lights_face.l, 1),
gsSPLight(&toad_player_lights_face.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(toad_player_dl_face_inner),
gsDPTileSync(),
gsSPEndDisplayList(),
};
@ -337,18 +320,13 @@ const Gfx toad_player_dl_eyes_half_closed[] = {
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, toad_player_texture_eyes_half_closed),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&toad_player_lights_face.l, 1),
gsSPLight(&toad_player_lights_face.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(toad_player_dl_face_inner),
gsDPTileSync(),
gsSPEndDisplayList(),
};
@ -359,18 +337,13 @@ const Gfx toad_player_dl_eyes_dead[] = {
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, toad_player_texture_eyes_dead),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&toad_player_lights_face.l, 1),
gsSPLight(&toad_player_lights_face.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(toad_player_dl_face_inner),
gsDPTileSync(),
gsSPEndDisplayList(),
};
@ -641,8 +614,7 @@ const Gfx toad_player_dl_cap_decal[] = {
//gsSPClearGeometryMode(G_CULL_BACK),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPVertex(toad_player_vertex_cap_decal + 0, 16, 0),
gsSP1Triangle(0, 1, 2, 0),
@ -806,12 +778,8 @@ const Gfx toad_player_dl_cap_inner[] = {
const Gfx toad_player_dl_cap[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightEXT(1, 7), // glove light, set in mario_misc.c
gsSPCopyLightEXT(2, 8),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(toad_player_dl_cap_inner),
gsSPEndDisplayList(),
};
@ -961,8 +929,7 @@ const Gfx toad_player_dl_jacket_inner[] = {
const Gfx toad_player_dl_jacket[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightEXT(1, 3),
gsSPCopyLightEXT(2, 4),
gsSPCopyLightsPlayerPart(PANTS),
gsSPDisplayList(toad_player_dl_jacket_inner),
gsSPEndDisplayList(),
};
@ -1043,8 +1010,7 @@ const Gfx toad_player_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),
gsSPLight(&toad_player_lights_body_2.l, 1),
gsSPLight(&toad_player_lights_body_2.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
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),
@ -1075,8 +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),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
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),
@ -1091,23 +1056,18 @@ const Gfx toad_player_metal_dl_body_inner[] = {
const Gfx toad_player_dl_body[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPDisplayList(toad_player_dl_body_inner),
gsSPCopyLightEXT(1, 3),
gsSPCopyLightEXT(2, 4),
gsSPCopyLightsPlayerPart(PANTS),
gsSPDisplayList(toad_player_dl_jacket_inner),
gsSPEndDisplayList(),
};
const Gfx toad_player_metal_dl_body[] = {
gsSPDisplayList(toad_player_metal_dl_body_inner),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPDisplayList(toad_player_dl_jacket_inner),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPEndDisplayList(),
};
@ -1177,8 +1137,7 @@ const Gfx toad_player_dl_arm_left_inner[] = {
const Gfx toad_player_dl_arm_left[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPLight(&toad_player_lights_arm_left.l, 1),
gsSPLight(&toad_player_lights_arm_left.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(toad_player_dl_arm_left_inner),
gsSPEndDisplayList(),
};
@ -1247,8 +1206,7 @@ const Gfx toad_player_dl_arm_right_inner[] = {
const Gfx toad_player_dl_arm_right[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPLight(&toad_player_lights_arm_right.l, 1),
gsSPLight(&toad_player_lights_arm_right.a, 2),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(toad_player_dl_arm_right_inner),
gsSPEndDisplayList(),
};
@ -1321,8 +1279,7 @@ const Gfx toad_player_dl_foot_left_inner[] = {
const Gfx toad_player_dl_foot_left[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPLight(&toad_player_lights_foot_left.l, 1),
gsSPLight(&toad_player_lights_foot_left.a, 2),
gsSPCopyLightsPlayerPart(SHOES),
gsSPDisplayList(toad_player_dl_foot_left_inner),
gsSPEndDisplayList(),
};
@ -1393,8 +1350,7 @@ const Gfx toad_player_dl_foot_right_inner[] = {
const Gfx toad_player_dl_foot_right[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPLight(&toad_player_lights_foot_right.l, 1),
gsSPLight(&toad_player_lights_foot_right.a, 2),
gsSPCopyLightsPlayerPart(SHOES),
gsSPDisplayList(toad_player_dl_foot_right_inner),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
@ -1413,10 +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),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPEndDisplayList(),
};

View file

@ -3457,8 +3457,7 @@ Gfx mat_waluigi_body_v3[] = {
gsDPPipeSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(0, 0, 0, 124, 124),
gsSPCopyLightEXT(1, 3),
gsSPCopyLightEXT(2, 4),
gsSPCopyLightsPlayerPart(PANTS),
gsSPEndDisplayList(),
};
@ -3475,8 +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),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPEndDisplayList(),
};
@ -3498,8 +3496,7 @@ Gfx mat_waluigi_cap_v3[] = {
gsDPPipeSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(0, 0, 0, 124, 124),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPEndDisplayList(),
};
@ -3515,7 +3512,7 @@ Gfx mat_waluigi_face_0___eye_open_v3[] = {
gsDPPipeSync(),
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),
gsSPSetLights1(waluigi_face_0___eye_open_v3_lights),
gsSPCopyLightsPlayerPart(SKIN),
gsSPEndDisplayList(),
};
@ -3523,7 +3520,7 @@ Gfx mat_waluigi_hair_v3[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
gsSPTexture(65535, 65535, 0, 0, 1),
gsSPSetLights1(waluigi_hair_v3_lights),
gsSPCopyLightsPlayerPart(HAIR),
gsSPEndDisplayList(),
};
@ -3539,7 +3536,7 @@ Gfx mat_waluigi_sideburns_v3[] = {
gsDPPipeSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(0, 0, 0, 124, 124),
gsSPSetLights1(waluigi_sideburns_v3_lights),
gsSPCopyLightsPlayerPart(SKIN),
gsSPEndDisplayList(),
};
@ -3547,7 +3544,7 @@ Gfx mat_waluigi_mustache_v3[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
gsSPTexture(65535, 65535, 0, 0, 1),
gsSPSetLights1(waluigi_mustache_v3_lights),
gsSPCopyLightsPlayerPart(SKIN),
gsSPEndDisplayList(),
};
@ -3571,7 +3568,7 @@ Gfx mat_waluigi_mouth_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),
gsSPSetLights1(waluigi_mouth_v3_lights),
gsSPCopyLightsPlayerPart(SKIN),
gsSPEndDisplayList(),
};
@ -3595,7 +3592,7 @@ Gfx mat_waluigi_face_1___eye_half_v3[] = {
gsDPPipeSync(),
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),
gsSPSetLights1(waluigi_face_1___eye_half_v3_lights),
gsSPCopyLightsPlayerPart(SKIN),
gsSPEndDisplayList(),
};
@ -3611,7 +3608,7 @@ Gfx mat_waluigi_face_2___eye_closed_v3[] = {
gsDPPipeSync(),
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),
gsSPSetLights1(waluigi_face_2___eye_closed_v3_lights),
gsSPCopyLightsPlayerPart(SKIN),
gsSPEndDisplayList(),
};
@ -3627,7 +3624,7 @@ Gfx mat_waluigi_face_7___eye_X_v3[] = {
gsDPPipeSync(),
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),
gsSPSetLights1(waluigi_face_7___eye_X_v3_lights),
gsSPCopyLightsPlayerPart(SKIN),
gsSPEndDisplayList(),
};
@ -3687,8 +3684,7 @@ Gfx mat_waluigi_gloves_v3[] = {
gsDPPipeSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(0, 0, 0, 124, 124),
gsSPCopyLightEXT(1, 7), // glove light, set in mario_misc.c
gsSPCopyLightEXT(2, 8),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPEndDisplayList(),
};
@ -3696,7 +3692,7 @@ Gfx mat_waluigi_shoes_v3[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
gsSPTexture(65535, 65535, 0, 0, 1),
gsSPSetLights1(waluigi_shoes_v3_lights),
gsSPCopyLightsPlayerPart(SHOES),
gsSPEndDisplayList(),
};

View file

@ -162,8 +162,7 @@ const Gfx waluigi_cap_seg3_dl_03022CC8[] = {
// 0x03022D10 - 0x03022D38
const Gfx waluigi_cap_seg3_dl_03022D10[] = {
gsSPDisplayList(waluigi_cap_seg3_dl_03022B68),
gsSPCopyLightEXT(1, 5), //gsSPLight(&waluigi_cap_seg3_lights_0301CF08.l, 1),
gsSPCopyLightEXT(2, 6), //gsSPLight(&waluigi_cap_seg3_lights_0301CF08.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&waluigi_cap_seg3_lights_0301CF08.a, 2),
gsSPDisplayList(waluigi_cap_seg3_dl_03022CC8),
gsSPEndDisplayList(),
};
@ -246,8 +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)),
gsSPCopyLightEXT(1, 5), //gsSPLight(&waluigi_cap_seg3_lights_0301CF38.l, 1),
gsSPCopyLightEXT(2, 6), //gsSPLight(&waluigi_cap_seg3_lights_0301CF38.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&waluigi_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(waluigi_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -267,8 +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),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPDisplayList(waluigi_cap_seg3_dl_03022B30),
gsSPDisplayList(waluigi_cap_seg3_dl_03022B68),
gsSPDisplayList(waluigi_cap_seg3_dl_03022CC8),
@ -323,8 +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)),
gsSPCopyLightEXT(1, 5), //gsSPLight(&waluigi_cap_seg3_lights_0301CF38.l, 1),
gsSPCopyLightEXT(2, 6), //gsSPLight(&waluigi_cap_seg3_lights_0301CF38.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&waluigi_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(waluigi_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -367,8 +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),
gsSPCopyLightEXT(1, 5), //gsSPLight(&waluigi_cap_seg3_lights_0301CF20.l, 1),
gsSPCopyLightEXT(2, 6), //gsSPLight(&waluigi_cap_seg3_lights_0301CF20.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), //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

@ -3402,8 +3402,7 @@ Gfx mat_wario_overalls[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
gsSPTexture(65535, 65535, 0, 0, 1),
gsSPCopyLightEXT(1, 3), // gsSPSetLights1(wario_purple_lights_group),
gsSPCopyLightEXT(2, 4),
gsSPCopyLightsPlayerPart(PANTS), // gsSPSetLights1(wario_purple_lights_group),
gsSPEndDisplayList(),
};
@ -3420,8 +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),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPEndDisplayList(),
};
@ -3435,8 +3433,7 @@ 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),
gsSPCopyLightEXT(1, 5), // gsSPSetLights1(wario_yellow_lights_group),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPEndDisplayList(),
};
@ -3452,8 +3449,7 @@ Gfx mat_wario_button[] = {
gsDPPipeSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(0, 0, 0, 124, 124),
gsSPCopyLightEXT(1, 3), // gsSPSetLights1(wario_purple_lights_group),
gsSPCopyLightEXT(2, 4),
gsSPCopyLightsPlayerPart(PANTS), // gsSPSetLights1(wario_purple_lights_group),
gsSPEndDisplayList(),
};
@ -3469,8 +3465,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),
gsSPCopyLightEXT(1, 5), // gsSPSetLights1(wario_yellow_lights_group),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPEndDisplayList(),
};
@ -3478,7 +3473,7 @@ Gfx mat_wario_hair[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
gsSPTexture(65535, 65535, 0, 0, 1),
gsSPSetLights1(wario_brown_lights_group),
gsSPCopyLightsPlayerPart(HAIR),
gsSPEndDisplayList(),
};
@ -3494,7 +3489,7 @@ Gfx mat_wario_eyes_center[] = {
gsDPPipeSync(),
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),
gsSPSetLights1(wario_beige_lights_group),
gsSPCopyLightsPlayerPart(SKIN),
gsSPEndDisplayList(),
};
@ -3510,7 +3505,7 @@ Gfx mat_wario_sideburn[] = {
gsDPPipeSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(0, 0, 0, 124, 124),
gsSPSetLights1(wario_beige_lights_group),
gsSPCopyLightsPlayerPart(SKIN),
gsSPEndDisplayList(),
};
@ -3518,7 +3513,7 @@ Gfx mat_wario_face[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
gsSPTexture(65535, 65535, 0, 0, 1),
gsSPSetLights1(wario_beige_lights_group),
gsSPCopyLightsPlayerPart(SKIN),
gsSPEndDisplayList(),
};
@ -3550,7 +3545,7 @@ Gfx mat_wario_mouth[] = {
gsDPPipeSync(),
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),
gsSPSetLights1(wario_beige_lights_group),
gsSPCopyLightsPlayerPart(SKIN),
gsSPEndDisplayList(),
};
@ -3566,7 +3561,7 @@ Gfx mat_wario_eyes_half_closed[] = {
gsDPPipeSync(),
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),
gsSPSetLights1(wario_beige_lights_group),
gsSPCopyLightsPlayerPart(SKIN),
gsSPEndDisplayList(),
};
@ -3582,7 +3577,7 @@ Gfx mat_wario_eyes_closed[] = {
gsDPPipeSync(),
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),
gsSPSetLights1(wario_beige_lights_group),
gsSPCopyLightsPlayerPart(SKIN),
gsSPEndDisplayList(),
};
@ -3598,7 +3593,7 @@ Gfx mat_wario_eyes_right[] = {
gsDPPipeSync(),
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),
gsSPSetLights1(wario_beige_lights_group),
gsSPCopyLightsPlayerPart(SKIN),
gsSPEndDisplayList(),
};
@ -3614,7 +3609,7 @@ Gfx mat_wario_eyes_left[] = {
gsDPPipeSync(),
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),
gsSPSetLights1(wario_beige_lights_group),
gsSPCopyLightsPlayerPart(SKIN),
gsSPEndDisplayList(),
};
@ -3630,7 +3625,7 @@ Gfx mat_wario_eyes_up[] = {
gsDPPipeSync(),
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),
gsSPSetLights1(wario_beige_lights_group),
gsSPCopyLightsPlayerPart(SKIN),
gsSPEndDisplayList(),
};
@ -3646,7 +3641,7 @@ Gfx mat_wario_eyes_down[] = {
gsDPPipeSync(),
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),
gsSPSetLights1(wario_beige_lights_group),
gsSPCopyLightsPlayerPart(SKIN),
gsSPEndDisplayList(),
};
@ -3662,7 +3657,7 @@ Gfx mat_wario_eyes_dead[] = {
gsDPPipeSync(),
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),
gsSPSetLights1(wario_beige_lights_group),
gsSPCopyLightsPlayerPart(SKIN),
gsSPEndDisplayList(),
};
@ -3670,8 +3665,7 @@ Gfx mat_wario_gloves[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
gsSPTexture(65535, 65535, 0, 0, 1),
gsSPCopyLightEXT(1, 7), // glove light, set in mario_misc.c
gsSPCopyLightEXT(2, 8),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPEndDisplayList(),
};
@ -3725,7 +3719,7 @@ Gfx mat_wario_shoes[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT),
gsSPTexture(65535, 65535, 0, 0, 1),
gsSPSetLights1(wario_green_lights_group),
gsSPCopyLightsPlayerPart(SHOES),
gsSPEndDisplayList(),
};

View file

@ -167,8 +167,7 @@ const Gfx wario_cap_seg3_dl_03022CC8[] = {
// 0x03022D10 - 0x03022D38
const Gfx wario_cap_seg3_dl_03022D10[] = {
gsSPDisplayList(wario_cap_seg3_dl_03022B68),
gsSPCopyLightEXT(1, 5), //gsSPLight(&wario_cap_seg3_lights_0301CF08.l, 1),
gsSPCopyLightEXT(2, 6), //gsSPLight(&wario_cap_seg3_lights_0301CF08.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&wario_cap_seg3_lights_0301CF08.a, 2),
gsSPDisplayList(wario_cap_seg3_dl_03022CC8),
gsSPEndDisplayList(),
};
@ -251,8 +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)),
gsSPCopyLightEXT(1, 5), //gsSPLight(&wario_cap_seg3_lights_0301CF38.l, 1),
gsSPCopyLightEXT(2, 6), //gsSPLight(&wario_cap_seg3_lights_0301CF38.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&wario_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(wario_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -272,8 +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),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPDisplayList(wario_cap_seg3_dl_03022B30),
gsSPDisplayList(wario_cap_seg3_dl_03022B68),
gsSPDisplayList(wario_cap_seg3_dl_03022CC8),
@ -328,8 +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)),
gsSPCopyLightEXT(1, 5), //gsSPLight(&wario_cap_seg3_lights_0301CF38.l, 1),
gsSPCopyLightEXT(2, 6), //gsSPLight(&wario_cap_seg3_lights_0301CF38.a, 2),
gsSPCopyLightsPlayerPart(SHIRT), //gsSPLight(&wario_cap_seg3_lights_0301CF38.a, 2),
gsSPDisplayList(wario_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -372,8 +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),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPDisplayList(wario_cap_seg3_dl_03022B30),
gsSPDisplayList(wario_cap_seg3_dl_03022B68),
gsSPDisplayList(wario_cap_seg3_dl_03022CC8),

View file

@ -303,6 +303,14 @@ s64 DynOS_Gfx_ParseGfxConstants(const String& _Arg, bool* found) {
gfx_constant(G_SCALE_FRAC);
gfx_constant(G_ROTATE_FRAC);
// Player parts
gfx_constant(PANTS);
gfx_constant(SHIRT);
gfx_constant(GLOVES);
gfx_constant(SHOES);
gfx_constant(HAIR);
gfx_constant(SKIN);
// Common values
gfx_constant(CALC_DXT(4,G_IM_SIZ_4b_BYTES));
gfx_constant(CALC_DXT(8,G_IM_SIZ_4b_BYTES));
@ -735,6 +743,7 @@ static void ParseGfxSymbol(GfxData* aGfxData, DataNode<Gfx>* aNode, Gfx*& aHead,
gfx_symbol_1(gsDPSetTextureFilter, false);
gfx_symbol_2(gsSPCopyLightEXT, false);
gfx_symbol_1(gsSPCopyLightsPlayerPart, false);
gfx_symbol_2(gsSPFogFactor, false);
gfx_symbol_1(gsDPSetTextureLOD, false);
gfx_symbol_3(gsMoveWd, false);

View file

@ -877,10 +877,13 @@
### [enum PlayerParts](#PlayerParts)
| Identifier | Value |
| :--------- | :---- |
| SHIRT | 0 |
| PANTS | 1 |
| PANTS | 0 |
| SHIRT | 1 |
| GLOVES | 2 |
| PLAYER_PART_MAX | 3 |
| SHOES | 3 |
| HAIR | 4 |
| SKIN | 5 |
| PLAYER_PART_MAX | 6 |
[:arrow_up_small:](#)

View file

@ -2568,10 +2568,16 @@ typedef union {
* Copy one light's parameters to the other.
*/
#ifdef F3DEX_GBI_2E
# define gSPCopyLightEXT(pkt, dst, src) \
#define gSPCopyLightEXT(pkt, dst, src) \
gCopyMemEXT((pkt),G_COPYMEM,G_MV_LIGHT,(dst)*24+24,(src)*24+24,sizeof(Light))
# define gsSPCopyLightEXT(dst, src) \
#define gsSPCopyLightEXT(dst, src) \
gsCopyMemEXT( G_COPYMEM,G_MV_LIGHT,(dst)*24+24,(src)*24+24,sizeof(Light))
#define gSPCopyLightsPlayerPart(pkt, part) \
gSPCopyLightEXT((pkt), 1, ((2 * ((part) + 1)) + 1)); \
gSPCopyLightEXT((pkt), 2, ((2 * ((part) + 1)) + 2));
#define gsSPCopyLightsPlayerPart(part) \
gsSPCopyLightEXT(1, ((2 * ((part) + 1)) + 1)), \
gsSPCopyLightEXT(2, ((2 * ((part) + 1)) + 2))
#endif
/*

View file

@ -17,15 +17,13 @@ const Gfx arena_ball_gfx_2[] = {
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bobomb_seg8_texture_0801DA60),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPVertex(arena_ball_vtx, 4, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, bobomb_seg8_texture_0801EA60),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPVertex(arena_ball_vtx_2, 4, 0),
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
gsSPEndDisplayList(),

View file

@ -786,8 +786,7 @@ Gfx mat_cannon_box_f3d_material[] = {
gsDPPipeSync(),
gsDPSetTile(G_IM_FMT_I, G_IM_SIZ_8b, 4, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(0, 0, 0, 124, 124),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPEndDisplayList(),
};
@ -817,8 +816,7 @@ Gfx mat_cannon_box_f3d_material_009[] = {
gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 4, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(0, 0, 0, 124, 124),
gsDPSetPrimColor(0, 0, 254, 254, 254, 255),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPEndDisplayList(),
};

View file

@ -511,8 +511,7 @@ Gfx mat_hammer_Material_001_f3d[] = {
gsDPPipeSync(),
gsDPSetTile(G_IM_FMT_I, G_IM_SIZ_8b, 4, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(0, 0, 0, 124, 124),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPEndDisplayList(),
};

View file

@ -142,8 +142,7 @@ Gfx mat_koth_active_f3d_material[] = {
gsDPPipeSync(),
gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_8b, 2, 0, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, 0, G_TX_WRAP | G_TX_NOMIRROR, 4, 0),
gsDPSetTileSize(0, 0, 0, 60, 124),
gsSPCopyLightEXT(1, 5),
gsSPCopyLightEXT(2, 6),
gsSPCopyLightsPlayerPart(SHIRT),
gsSPEndDisplayList(),
};

View file

@ -355,53 +355,43 @@ struct Character gCharacters[CT_MAX] = {
},
};
const struct PlayerPalette DEFAULT_MARIO_PALETTE = {{{0xff, 0x00, 0x00}, {0x00, 0x00, 0xff}, {0xff, 0xff, 0xff}}};
const struct PlayerPalette DEFAULT_MARIO_PALETTE =
{{{ 0x00, 0x00, 0xff }, { 0xff, 0x00, 0x00 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}};
const struct PlayerPalette gPalettePresets[PALETTE_PRESET_MAX] = {
//shirt //pants //gloves
// default mario
{{{0xff, 0x00, 0x00}, {0x00, 0x00, 0xff}, {0xff, 0xff, 0xff}}},
// default luigi
{{{0x00, 0x98, 0x00}, {0x00, 0x00, 0xfe}, {0xff, 0xff, 0xff}}},
// fake waluigi
{{{0x6d, 0x3c, 0x9a}, {0x2c, 0x26, 0x3f}, {0xff, 0xff, 0xff}}},
// fake wario
{{{0xf9, 0xeb, 0x30}, {0x7f, 0x20, 0x7a}, {0xff, 0xff, 0xff}}},
{{{0x7b, 0x00, 0xde}, {0xff, 0x00, 0x00}, {0xff, 0xff, 0xff}}},
{{{0x95, 0x43, 0x01}, {0xc6, 0xb1, 0x32}, {0xff, 0xff, 0xff}}},
{{{0x4c, 0x5f, 0x20}, {0x07, 0x09, 0x07}, {0xff, 0xff, 0xff}}},
{{{0x00, 0x2f, 0xc8}, {0xbf, 0xde, 0xff}, {0xff, 0xff, 0xff}}},
{{{0x11, 0x11, 0x11}, {0xf8, 0x3b, 0x05}, {0xff, 0xff, 0xff}}},
{{{0xc1, 0x2c, 0x72}, {0x34, 0x16, 0x0d}, {0xff, 0xff, 0xff}}},
{{{0xff, 0x96, 0xc8}, {0xff, 0x00, 0x00}, {0xff, 0xff, 0xff}}},
{{{0x4c, 0xff, 0x4c}, {0x81, 0x00, 0x00}, {0xff, 0xff, 0xff}}},
{{{0xa9, 0x78, 0xfc}, {0x61, 0x3d, 0x2e}, {0xff, 0xff, 0xff}}},
{{{0x84, 0x60, 0x00}, {0x00, 0x46, 0x5c}, {0xff, 0xff, 0xff}}},
{{{0x5a, 0x94, 0xff}, {0x4f, 0x31, 0x8b}, {0xff, 0xff, 0xff}}},
{{{0x68, 0x0a, 0x17}, {0x23, 0x11, 0x03}, {0xff, 0xff, 0xff}}},
{{{0x95, 0xd0, 0x8f}, {0x53, 0x39, 0x3d}, {0xff, 0xff, 0xff}}},
{{{0x37, 0x32, 0x42}, {0xe6, 0xe3, 0xff}, {0xff, 0xff, 0xff}}},
{{{0xff, 0x8a, 0x00}, {0x00, 0x51, 0x10}, {0xff, 0xff, 0xff}}},
{{{0x65, 0xfa, 0xff}, {0x4c, 0x1e, 0x3f}, {0xff, 0xff, 0xff}}},
{{{0xe6, 0xe6, 0xe6}, {0xb2, 0x28, 0x18}, {0xff, 0xff, 0xff}}},
{{{0xe6, 0xe6, 0xe6}, {0x00, 0x98, 0x00}, {0xff, 0xff, 0xff}}},
{{{0xe6, 0xe6, 0xe6}, {0x6d, 0x3c, 0x9a}, {0xff, 0xff, 0xff}}},
{{{0xe6, 0xe6, 0xe6}, {0xf9, 0xeb, 0x30}, {0xff, 0xff, 0xff}}},
{{{0xe7, 0xe7, 0x21}, {0x17, 0x18, 0x15}, {0xff, 0xff, 0xff}}},
{{{0xaa, 0x27, 0x31}, {0xf7, 0x9a, 0x47}, {0xff, 0xff, 0xff}}},
{{{0x55, 0x92, 0xb2}, {0xf7, 0xc2, 0x45}, {0xff, 0xff, 0xff}}},
{{{0x10, 0x1b, 0x2e}, {0xeb, 0x8a, 0x4b}, {0xff, 0xff, 0xff}}},
{{{0x3b, 0x8f, 0xf7}, {0xd6, 0x35, 0x4d}, {0xff, 0xff, 0xff}}},
{{{0xff, 0x8e, 0xb2}, {0xd6, 0x35, 0x4d}, {0xff, 0xff, 0xff}}},
{{{0x47, 0xc5, 0xff}, {0xb2, 0x28, 0x18}, {0xff, 0xff, 0xff}}},
{{{0x47, 0xc5, 0xff}, {0x00, 0x98, 0x00}, {0xff, 0xff, 0xff}}},
/* ---- 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
};
enum AnimType {

View file

@ -8,8 +8,7 @@
#define PALETTE_PRESET_MAX 32
enum PlayerParts {
SHIRT, PANTS, GLOVES, PLAYER_PART_MAX
//SHOES (can't implement due to light limit)
PANTS, SHIRT, GLOVES, SHOES, HAIR, SKIN, PLAYER_PART_MAX
};
#pragma pack(1)

View file

@ -77,15 +77,6 @@ static s8 gMarioAttackScaleAnimation[3 * 6] = {
struct MarioBodyState gBodyStates[MAX_PLAYERS];
struct GraphNodeObject gMirrorMario[MAX_PLAYERS]; // copy of Mario's geo node for drawing mirror Mario
// ambient color is always half the diffuse color, so we can pull a macro
#define PALETTE_TO_LIGHTS(palette) \
{{ \
gdSPDefLights1((palette.parts[SHIRT][0] >> 1), (palette.parts[SHIRT][1] >> 1), (palette.parts[SHIRT][2] >> 1), palette.parts[SHIRT][0], palette.parts[SHIRT][1], palette.parts[SHIRT][2], 0x28, 0x28, 0x28), \
gdSPDefLights1((palette.parts[PANTS][0] >> 1), (palette.parts[PANTS][1] >> 1), (palette.parts[PANTS][2] >> 1), palette.parts[PANTS][0], palette.parts[PANTS][1], palette.parts[PANTS][2], 0x28, 0x28, 0x28), \
gdSPDefLights1((palette.parts[GLOVES][0] >> 1), (palette.parts[GLOVES][1] >> 1), (palette.parts[GLOVES][2] >> 1), palette.parts[GLOVES][0], palette.parts[GLOVES][1], palette.parts[GLOVES][2], 0x28, 0x28, 0x28), \
}}
struct PlayerColor gNetworkPlayerColors[MAX_PLAYERS];
// This whole file is weirdly organized. It has to be the same file due
@ -745,6 +736,38 @@ Gfx* geo_mirror_mario_backface_culling(s32 callContext, struct GraphNode* node,
return gfx;
}
static struct PlayerColor geo_mario_get_player_color(const struct PlayerPalette *palette) {
struct PlayerColor color = { 0 };
for (s32 part = 0; part != PLAYER_PART_MAX; ++part) {
color.parts[part] = (Lights1) gdSPDefLights1(
palette->parts[part][0] / 2,
palette->parts[part][1] / 2,
palette->parts[part][2] / 2,
palette->parts[part][0],
palette->parts[part][1],
palette->parts[part][2],
0x28, 0x28, 0x28
);
}
return color;
}
static Gfx *geo_mario_create_player_colors_dl(s32 index, Gfx *capEnemyGfx, Gfx *capEnemyDecalGfx) {
s32 size = ((PLAYER_PART_MAX * 2) + 1) + (capEnemyGfx != NULL) + (capEnemyDecalGfx != NULL);
Gfx *gfx = alloc_display_list(size * sizeof(Gfx));
if (gfx) {
Gfx *gfxp = gfx;
for (s32 part = 0; part != PLAYER_PART_MAX; ++part) {
gSPLight(gfxp++, &gNetworkPlayerColors[index].parts[part].l, (2 * (part + 1)) + 1);
gSPLight(gfxp++, &gNetworkPlayerColors[index].parts[part].a, (2 * (part + 1)) + 2);
}
if (capEnemyGfx) { gSPDisplayList(gfxp++, capEnemyGfx); }
if (capEnemyDecalGfx) { gSPDisplayList(gfxp++, capEnemyDecalGfx); }
gSPEndDisplayList(gfxp);
}
return gfx;
}
/**
* Generate DL that sets player color depending on player number.
*/
@ -753,25 +776,13 @@ Gfx* geo_mario_set_player_colors(s32 callContext, struct GraphNode* node, UNUSED
Gfx* gfx = NULL;
u8 index = geo_get_processing_object_index();
struct PlayerColor color = PALETTE_TO_LIGHTS(gNetworkPlayers[index].overridePalette);
struct PlayerColor color = geo_mario_get_player_color(&gNetworkPlayers[index].overridePalette);
gNetworkPlayerColors[index] = color;
struct MarioBodyState* bodyState = &gBodyStates[index];
if (callContext == GEO_CONTEXT_RENDER) {
// extra players get last color
gfx = alloc_display_list(7 * sizeof(*gfx));
if (gfx == NULL) { return NULL; }
// put the player colors into lights 3, 4, 5, 6, 7, 8
// they will be later copied to lights 1, 2 with gsSPCopyLightEXT
gSPLight(gfx + 0, &gNetworkPlayerColors[index].parts[PANTS].l, 3);
gSPLight(gfx + 1, &gNetworkPlayerColors[index].parts[PANTS].a, 4);
gSPLight(gfx + 2, &gNetworkPlayerColors[index].parts[SHIRT].l, 5);
gSPLight(gfx + 3, &gNetworkPlayerColors[index].parts[SHIRT].a, 6);
gSPLight(gfx + 4, &gNetworkPlayerColors[index].parts[GLOVES].l, 7);
gSPLight(gfx + 5, &gNetworkPlayerColors[index].parts[GLOVES].a, 8);
gSPEndDisplayList(gfx + 6);
gfx = geo_mario_create_player_colors_dl(index, NULL, NULL);
u32 layer = LAYER_OPAQUE;
if (asGenerated->parameter == 0) {
// put on transparent layer if vanish effect, opaque otherwise
@ -792,33 +803,14 @@ Gfx* geo_mario_cap_display_list(s32 callContext, struct GraphNode* node, UNUSED
if (callContext != GEO_CONTEXT_RENDER) { return NULL; }
u8 globalIndex = geo_get_processing_object_index();
struct PlayerColor color = PALETTE_TO_LIGHTS(gNetworkPlayers[globalIndex].overridePalette);
struct PlayerColor color = geo_mario_get_player_color(&gNetworkPlayers[globalIndex].overridePalette);
gNetworkPlayerColors[globalIndex] = color;
u8 charIndex = gNetworkPlayers[globalIndex].overrideModelIndex;
if (charIndex >= CT_MAX) { charIndex = 0; }
struct Character* character = &gCharacters[charIndex];
u8 dpLength = 7;
if (character->capEnemyGfx != NULL) { dpLength++; }
if (character->capEnemyDecalGfx != NULL) { dpLength++; }
Gfx* gfx = alloc_display_list(dpLength * sizeof(*gfx));
if (gfx == NULL) { return NULL; }
Gfx* onGfx = gfx;
// put the player colors into lights 3, 4, 5, 6, 7, 8
// they will be later copied to lights 1, 2 with gsSPCopyLightEXT
gSPLight(onGfx++, &gNetworkPlayerColors[globalIndex].parts[PANTS].l, 3);
gSPLight(onGfx++, &gNetworkPlayerColors[globalIndex].parts[PANTS].a, 4);
gSPLight(onGfx++, &gNetworkPlayerColors[globalIndex].parts[SHIRT].l, 5);
gSPLight(onGfx++, &gNetworkPlayerColors[globalIndex].parts[SHIRT].a, 6);
gSPLight(onGfx++, &gNetworkPlayerColors[globalIndex].parts[GLOVES].l, 7);
gSPLight(onGfx++, &gNetworkPlayerColors[globalIndex].parts[GLOVES].a, 8);
if (character->capEnemyGfx != NULL) { gSPDisplayList(onGfx++, character->capEnemyGfx); }
if (character->capEnemyDecalGfx != NULL) { gSPDisplayList(onGfx++, character->capEnemyDecalGfx); }
gSPEndDisplayList(onGfx++);
Gfx *gfx = geo_mario_create_player_colors_dl(globalIndex, character->capEnemyGfx, character->capEnemyDecalGfx);
struct GraphNodeGenerated* asGenerated = (struct GraphNodeGenerated*)node;
asGenerated->fnNode.node.flags = (asGenerated->fnNode.node.flags & 0xFF) | (character->capEnemyLayer << 8);
return gfx;

View file

@ -136,7 +136,7 @@ unsigned int configPlayerModel = 0;
unsigned int configMenuLevel = 0;
bool configMenuSound = false;
bool configMenuRandom = false;
struct PlayerPalette configPlayerPalette = {{{0xff, 0x00, 0x00}, {0x00, 0x00, 0xff}, {0xff, 0xff, 0xff}}};
struct PlayerPalette configPlayerPalette = {{{ 0x00, 0x00, 0xff }, { 0xff, 0x00, 0x00 }, { 0xff, 0xff, 0xff }, { 0x72, 0x1c, 0x0e }, { 0x73, 0x06, 0x00 }, { 0xfe, 0xc1, 0x79 }}};
bool configUncappedFramerate = true;
unsigned int configFrameLimit = 60;
unsigned int configDrawDistance = 5;
@ -226,9 +226,12 @@ static const struct ConfigOption options[] = {
{.name = "coop_menu_level", .type = CONFIG_TYPE_UINT , .uintValue = &configMenuLevel},
{.name = "coop_menu_sound", .type = CONFIG_TYPE_BOOL , .boolValue = &configMenuSound},
{.name = "coop_menu_random", .type = CONFIG_TYPE_BOOL , .boolValue = &configMenuRandom},
{.name = "coop_player_palette_shirt", .type = CONFIG_TYPE_COLOR , .colorValue = &configPlayerPalette.parts[SHIRT]},
{.name = "coop_player_palette_pants", .type = CONFIG_TYPE_COLOR , .colorValue = &configPlayerPalette.parts[PANTS]},
{.name = "coop_player_palette_shirt", .type = CONFIG_TYPE_COLOR , .colorValue = &configPlayerPalette.parts[SHIRT]},
{.name = "coop_player_palette_gloves", .type = CONFIG_TYPE_COLOR , .colorValue = &configPlayerPalette.parts[GLOVES]},
{.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_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] = { "Shirt", "Pants", "Gloves" };
char* sPartStrings[PLAYER_PART_MAX] = { "Pants", "Shirt", "Gloves", "Shoes", "Hair", "Skin" };
f32 bodyHeight = 32 * 5 + 64 * 1 + 16 * 5;

View file

@ -49,7 +49,7 @@
#define RATIO_Y (gfx_current_dimensions.height / (2.0f * HALF_SCREEN_HEIGHT))
#define MAX_BUFFERED 256
#define MAX_LIGHTS 8
#define MAX_LIGHTS 16
#define MAX_VERTICES 64
# define MAX_CACHED_TEXTURES 4096 // for preloading purposes
@ -1130,7 +1130,7 @@ static void gfx_calc_and_set_viewport(const Vp_t *viewport) {
rdp.viewport_or_scissor_changed = true;
}
static void gfx_sp_movemem(uint8_t index, uint8_t offset, const void* data) {
static void gfx_sp_movemem(uint8_t index, uint16_t offset, const void* data) {
switch (index) {
case G_MV_VIEWPORT:
gfx_calc_and_set_viewport((const Vp_t *) data);
@ -1167,7 +1167,7 @@ static void gfx_sp_movemem(uint8_t index, uint8_t offset, const void* data) {
}
#ifdef F3DEX_GBI_2E
static void gfx_sp_copymem(uint8_t idx, uint8_t dstofs, uint8_t srcofs, UNUSED uint8_t words) {
static void gfx_sp_copymem(uint8_t idx, uint16_t dstofs, uint16_t srcofs, UNUSED uint8_t words) {
if (idx == G_MV_LIGHT) {
const int srcidx = srcofs / 24 - 2;
const int dstidx = dstofs / 24 - 2;

View file

@ -1038,10 +1038,13 @@ char gSmluaConstants[] = ""
"CAM_EVENT_START_END_WAVING = 12\n"
"CAM_EVENT_START_CREDITS = 13\n"
"PALETTE_PRESET_MAX = 32\n"
"SHIRT = 0\n"
"PANTS = 1\n"
"PANTS = 0\n"
"SHIRT = 1\n"
"GLOVES = 2\n"
"PLAYER_PART_MAX = 3\n"
"SHOES = 3\n"
"HAIR = 4\n"
"SKIN = 5\n"
"PLAYER_PART_MAX = 6\n"
"CT_MARIO = 0\n"
"CT_LUIGI = 1\n"
"CT_TOAD = 2\n"