diff --git a/actors/luigi/model.inc.c b/actors/luigi/model.inc.c index 57a77375..af45ea4e 100644 --- a/actors/luigi/model.inc.c +++ b/actors/luigi/model.inc.c @@ -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(), }; diff --git a/actors/luigi_cap/model.inc.c b/actors/luigi_cap/model.inc.c index 61aa4d28..56820766 100644 --- a/actors/luigi_cap/model.inc.c +++ b/actors/luigi_cap/model.inc.c @@ -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), diff --git a/actors/mario/model.inc.c b/actors/mario/model.inc.c index 7c963fd9..1cd5db55 100644 --- a/actors/mario/model.inc.c +++ b/actors/mario/model.inc.c @@ -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(), diff --git a/actors/mario_cap/model.inc.c b/actors/mario_cap/model.inc.c index c0f81443..eecb4e4c 100644 --- a/actors/mario_cap/model.inc.c +++ b/actors/mario_cap/model.inc.c @@ -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), diff --git a/actors/toad_player/custom_toad_eyes_closed.rgba16.png b/actors/toad_player/custom_toad_eyes_closed.rgba16.png index 17860153..25bf09f0 100644 Binary files a/actors/toad_player/custom_toad_eyes_closed.rgba16.png and b/actors/toad_player/custom_toad_eyes_closed.rgba16.png differ diff --git a/actors/toad_player/custom_toad_eyes_dead.rgba16.png b/actors/toad_player/custom_toad_eyes_dead.rgba16.png index 3c6a8750..f86e51d5 100644 Binary files a/actors/toad_player/custom_toad_eyes_dead.rgba16.png and b/actors/toad_player/custom_toad_eyes_dead.rgba16.png differ diff --git a/actors/toad_player/custom_toad_eyes_half_closed.rgba16.png b/actors/toad_player/custom_toad_eyes_half_closed.rgba16.png index 505d3a2f..525b94df 100644 Binary files a/actors/toad_player/custom_toad_eyes_half_closed.rgba16.png and b/actors/toad_player/custom_toad_eyes_half_closed.rgba16.png differ diff --git a/actors/toad_player/custom_toad_face.rgba16.png b/actors/toad_player/custom_toad_face.rgba16.png index f56f7f89..dcc7bcfd 100644 Binary files a/actors/toad_player/custom_toad_face.rgba16.png and b/actors/toad_player/custom_toad_face.rgba16.png differ diff --git a/actors/toad_player/model.inc.c b/actors/toad_player/model.inc.c index 650202ff..ed3c4db3 100644 --- a/actors/toad_player/model.inc.c +++ b/actors/toad_player/model.inc.c @@ -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(), }; diff --git a/actors/waluigi/model.inc.c b/actors/waluigi/model.inc.c index 28904216..965273c7 100644 --- a/actors/waluigi/model.inc.c +++ b/actors/waluigi/model.inc.c @@ -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(), }; diff --git a/actors/waluigi_cap/model.inc.c b/actors/waluigi_cap/model.inc.c index 30c382f2..363b35b8 100644 --- a/actors/waluigi_cap/model.inc.c +++ b/actors/waluigi_cap/model.inc.c @@ -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), diff --git a/actors/wario/model.inc.c b/actors/wario/model.inc.c index b88e31ea..48d7ebc4 100644 --- a/actors/wario/model.inc.c +++ b/actors/wario/model.inc.c @@ -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(), }; diff --git a/actors/wario_cap/model.inc.c b/actors/wario_cap/model.inc.c index f3fbe8a1..46e12e24 100644 --- a/actors/wario_cap/model.inc.c +++ b/actors/wario_cap/model.inc.c @@ -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), diff --git a/data/dynos_bin_gfx.cpp b/data/dynos_bin_gfx.cpp index 5807f48f..6d10d4fa 100644 --- a/data/dynos_bin_gfx.cpp +++ b/data/dynos_bin_gfx.cpp @@ -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* 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); diff --git a/docs/lua/constants.md b/docs/lua/constants.md index 0a899cf4..12867f61 100644 --- a/docs/lua/constants.md +++ b/docs/lua/constants.md @@ -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:](#) diff --git a/include/PR/gbi.h b/include/PR/gbi.h index d74be8ca..929bc22f 100644 --- a/include/PR/gbi.h +++ b/include/PR/gbi.h @@ -2567,11 +2567,17 @@ typedef union { * EXTENDED COMMAND * Copy one light's parameters to the other. */ -#ifdef F3DEX_GBI_2E -# define gSPCopyLightEXT(pkt, dst, src) \ - gCopyMemEXT((pkt),G_COPYMEM,G_MV_LIGHT,(dst)*24+24,(src)*24+24,sizeof(Light)) -# define gsSPCopyLightEXT(dst, src) \ - gsCopyMemEXT( G_COPYMEM,G_MV_LIGHT,(dst)*24+24,(src)*24+24,sizeof(Light)) +#ifdef F3DEX_GBI_2E +#define gSPCopyLightEXT(pkt, dst, src) \ + gCopyMemEXT((pkt),G_COPYMEM,G_MV_LIGHT,(dst)*24+24,(src)*24+24,sizeof(Light)) +#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 /* diff --git a/mods/arena/actors/arena_ball/model.inc.c b/mods/arena/actors/arena_ball/model.inc.c index 33d8204a..8a79774f 100644 --- a/mods/arena/actors/arena_ball/model.inc.c +++ b/mods/arena/actors/arena_ball/model.inc.c @@ -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(), diff --git a/mods/arena/actors/cannon_box/model.inc.c b/mods/arena/actors/cannon_box/model.inc.c index 31a826d9..69f0a8c0 100644 --- a/mods/arena/actors/cannon_box/model.inc.c +++ b/mods/arena/actors/cannon_box/model.inc.c @@ -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(), }; diff --git a/mods/arena/actors/hammer/model.inc.c b/mods/arena/actors/hammer/model.inc.c index 4472ab38..1c45b1ec 100644 --- a/mods/arena/actors/hammer/model.inc.c +++ b/mods/arena/actors/hammer/model.inc.c @@ -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(), }; diff --git a/mods/arena/actors/koth_active/model.inc.c b/mods/arena/actors/koth_active/model.inc.c index 8751c998..0bcba068 100644 --- a/mods/arena/actors/koth_active/model.inc.c +++ b/mods/arena/actors/koth_active/model.inc.c @@ -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(), }; diff --git a/src/game/characters.c b/src/game/characters.c index 66bd6d74..b36db049 100644 --- a/src/game/characters.c +++ b/src/game/characters.c @@ -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 { diff --git a/src/game/characters.h b/src/game/characters.h index 7757113b..5882aaad 100644 --- a/src/game/characters.h +++ b/src/game/characters.h @@ -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) diff --git a/src/game/mario_misc.c b/src/game/mario_misc.c index a00e5522..35e842e2 100644 --- a/src/game/mario_misc.c +++ b/src/game/mario_misc.c @@ -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; diff --git a/src/pc/configfile.c b/src/pc/configfile.c index eac32120..8fea690b 100644 --- a/src/pc/configfile.c +++ b/src/pc/configfile.c @@ -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}, diff --git a/src/pc/djui/djui_panel_player.c b/src/pc/djui/djui_panel_player.c index b0c17fa1..729b56b0 100644 --- a/src/pc/djui/djui_panel_player.c +++ b/src/pc/djui/djui_panel_player.c @@ -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; diff --git a/src/pc/gfx/gfx_pc.c b/src/pc/gfx/gfx_pc.c index c0aa0fb2..60a6d1a0 100644 --- a/src/pc/gfx/gfx_pc.c +++ b/src/pc/gfx/gfx_pc.c @@ -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; diff --git a/src/pc/lua/smlua_constants_autogen.c b/src/pc/lua/smlua_constants_autogen.c index b549fbaa..322f4756 100644 --- a/src/pc/lua/smlua_constants_autogen.c +++ b/src/pc/lua/smlua_constants_autogen.c @@ -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"