Updated Mario, Added code for mirror culling.

This commit is contained in:
FluffaMario 2023-11-14 00:34:13 -06:00
parent 3a55baa6a8
commit ab4b797ff8
18 changed files with 374 additions and 301 deletions

View File

@ -153,26 +153,7 @@ extern const GeoLayout leaves_geo[];
extern const Gfx leaves_seg3_dl_0301CDE0[];
// mario_cap
extern const GeoLayout marios_cap_geo[];
extern const GeoLayout marios_metal_cap_geo[];
extern const GeoLayout marios_wing_cap_geo[];
extern const GeoLayout marios_winged_metal_cap_geo[];
extern const Gfx mario_cap_seg3_dl_03022B30[];
extern const Gfx mario_cap_seg3_dl_03022B68[];
extern const Gfx mario_cap_seg3_dl_03022CC8[];
extern const Gfx mario_cap_seg3_dl_03022D10[];
extern const Gfx mario_cap_seg3_dl_03022E78[];
extern const Gfx mario_cap_seg3_dl_03022EA8[];
extern const Gfx mario_cap_seg3_dl_03022ED8[];
extern const Gfx mario_cap_seg3_dl_03022F20[];
extern const Gfx mario_cap_m_logo_decal_dl[];
extern const Gfx mario_cap_seg3_dl_03022F48[];
extern const Gfx mario_cap_seg3_dl_03022FF8[];
extern const Gfx mario_cap_seg3_dl_030230B0[];
extern const Gfx mario_cap_seg3_dl_03023108[];
extern const Gfx mario_cap_seg3_dl_03023160[];
extern const Gfx mario_cap_seg3_dl_03023298[];
extern const Gfx mario_cap_material_revert_render_settings[];
#include "actors/mario_cap/geo_header.h"
// mist
extern const GeoLayout mist_geo[];

View File

@ -17,122 +17,7 @@ extern const Gfx burn_smoke_seg4_dl_04022048[];
extern const Gfx burn_smoke_seg4_dl_04022070[];
// mario
extern const GeoLayout mario_geo_face_and_wings[];
extern const GeoLayout mario_geo_left_hand[];
extern const GeoLayout mario_geo_right_hand[];
extern const GeoLayout mario_geo_body[];
extern const GeoLayout mario_vanish_geo_face_and_wings[];
extern const GeoLayout mario_vanish_geo_left_hand[];
extern const GeoLayout mario_vanish_geo_right_hand[];
extern const GeoLayout mario_vanish_geo_body[];
extern const GeoLayout mario_metal_geo_face_and_wings[];
extern const GeoLayout mario_metal_geo_left_hand[];
extern const GeoLayout mario_metal_geo_right_hand[];
extern const GeoLayout mario_metal_geo_body[];
extern const GeoLayout mario_metal_vanish_geo_face_and_wings[];
extern const GeoLayout mario_metal_vanish_geo_left_hand[];
extern const GeoLayout mario_metal_vanish_geo_right_hand[];
extern const GeoLayout mario_metal_vanish_geo_body[];
extern const GeoLayout mario_geo_load_body[];
extern const GeoLayout mario_geo[];
extern const Gfx mario_butt_dl[];
extern const Gfx mario_butt[];
extern const Gfx mario_metal_butt[];
extern const Gfx mario_left_arm_shared_dl[];
extern const Gfx mario_left_arm[];
extern const Gfx mario_left_forearm_shared_dl[];
extern const Gfx mario_left_hand_closed_shared_dl[];
extern const Gfx mario_left_hand_closed[];
extern const Gfx mario_right_arm_shared_dl[];
extern const Gfx mario_right_arm[];
extern const Gfx mario_right_forearm_shared_dl[];
extern const Gfx mario_right_hand_closed_dl[];
extern const Gfx mario_right_hand_closed[];
extern const Gfx mario_metal_right_hand_closed[];
extern const Gfx mario_left_thigh_dl[];
extern const Gfx mario_left_thigh[];
extern const Gfx mario_metal_left_thigh[];
extern const Gfx mario_left_leg_shared_dl[];
extern const Gfx mario_left_foot_shared_dl[];
extern const Gfx mario_left_foot[];
extern const Gfx mario_right_thigh_shared_dl[];
extern const Gfx mario_right_thigh[];
extern const Gfx mario_right_leg_shared_dl[];
extern const Gfx mario_right_foot_dl[];
extern const Gfx mario_right_foot[];
extern const Gfx mario_metal_right_foot[];
extern const Gfx mario_yellow_button_dl[];
extern const Gfx mario_pants_overalls_shared_dl[];
extern const Gfx mario_tshirt_shared_dl[];
extern const Gfx mario_torso_dl[];
extern const Gfx mario_torso[];
extern const Gfx mario_metal_torso_shared_dl[];
extern const Gfx mario_m_logo_dl[];
extern const Gfx mario_eyes_cap_on_dl[];
extern const Gfx mario_hair_sideburn_cap_on_dl[];
extern const Gfx mario_mustache_cap_on_dl[];
extern const Gfx mario_face_part_cap_on_dl[];
extern const Gfx mario_face_cap_dl[];
extern const Gfx mario_face_back_hair_cap_on_dl[];
extern const Gfx mario_hair_sideburn_decal_cap_on_dl[];
extern const Gfx mario_m_decal_dl[];
extern const Gfx mario_face_cap_on_dl[];
extern const Gfx mario_cap_on_eyes_front[];
extern const Gfx mario_cap_on_eyes_half_closed[];
extern const Gfx mario_cap_on_eyes_closed[];
extern const Gfx mario_cap_on_eyes_right[];
extern const Gfx mario_cap_on_eyes_left[];
extern const Gfx mario_cap_on_eyes_up[];
extern const Gfx mario_cap_on_eyes_down[];
extern const Gfx mario_cap_on_eyes_dead[];
extern const Gfx mario_metal_cap_on_shared_dl[];
extern const Gfx mario_eyes_cap_off_dl[];
extern const Gfx mario_mustache_cap_off_dl[];
extern const Gfx mario_hair_sideburn_cap_off_dl[];
extern const Gfx mario_face_part_cap_off_dl[];
extern const Gfx mario_face_hair_cap_off_dl[];
extern const Gfx mario_hair_sideburn_decal_cap_off_dl[];
extern const Gfx mario_face_cap_off_dl[];
extern const Gfx mario_cap_off_eyes_front[];
extern const Gfx mario_cap_off_eyes_half_closed[];
extern const Gfx mario_cap_off_eyes_closed[];
extern const Gfx mario_cap_off_eyes_right[];
extern const Gfx mario_cap_off_eyes_left[];
extern const Gfx mario_cap_off_eyes_up[];
extern const Gfx mario_cap_off_eyes_down[];
extern const Gfx mario_cap_off_eyes_dead[];
extern const Gfx mario_metal_cap_off_shared_dl[];
extern const Gfx mario_left_hand_open_shared_dl[];
extern const Gfx mario_left_hand_open[];
extern const Gfx mario_right_hand_open_dl[];
extern const Gfx mario_right_hand_open[];
extern const Gfx mario_metal_right_hand_open[];
extern const Gfx mario_right_hand_cap_m_logo_dl[];
extern const Gfx mario_right_hand_cap_top_dl[];
extern const Gfx mario_right_hand_cap_hand_position_dl[];
extern const Gfx mario_right_hand_cap_bottom_dl[];
extern const Gfx mario_right_hand_cap_decal_dl[];
extern const Gfx mario_right_hand_cap_dl[];
extern const Gfx mario_right_hand_cap_wings_half_1_dl[];
extern const Gfx mario_right_hand_cap_wings_half_2_dl[];
extern const Gfx mario_right_hand_cap_wings_intial_dl[];
extern const Gfx mario_right_hand_cap_wings_transparent_intial_dl[];
extern const Gfx mario_right_hand_cap_wings_end_dl[];
extern const Gfx mario_right_hand_cap[];
extern const Gfx mario_right_hand_cap_wings[];
extern const Gfx mario_right_hand_cap_wings_transparent[];
extern const Gfx mario_metal_right_hand_cap_shared_dl[];
extern const Gfx mario_metal_right_hand_cap_shared_dl_wings[];
extern const Gfx mario_metal_right_hand_cap_shared_dl_wings_transparent[];
extern const Gfx mario_right_hand_peace_shared_dl[];
extern const Gfx mario_right_hand_peace[];
extern const Gfx mario_wings_half_1_dl[];
extern const Gfx mario_wings_half_2_dl[];
extern const Gfx mario_cap_wings[];
extern const Gfx mario_cap_wings_transparent[];
extern const Gfx mario_metal_cap_wings[];
extern const Gfx mario_metal_cap_wings_transparent[];
extern const Gfx mario_material_revert_render_settings[];
#include "actors/mario/geo_header.h"
// sparkle
extern const GeoLayout sparkles_geo[];

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 B

View File

Before

Width:  |  Height:  |  Size: 132 B

After

Width:  |  Height:  |  Size: 132 B

View File

Before

Width:  |  Height:  |  Size: 621 B

After

Width:  |  Height:  |  Size: 621 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 644 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 426 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 463 B

View File

@ -9,10 +9,8 @@ const GeoLayout mario_geo_face_and_wings[] = {
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(2, geo_mirror_mario_backface_culling),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_m_decal_dl),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_hair_sideburn_decal_cap_on_dl),
GEO_ASM(3, geo_mirror_mario_backface_culling),
GEO_DISPLAY_LIST(LAYER_ALPHA, mario_m_logo_decal),
GEO_DISPLAY_LIST(LAYER_ALPHA, mario_hair_sideburn_decal_cap_on),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_eyes),
GEO_OPEN_NODE(),
@ -29,9 +27,7 @@ const GeoLayout mario_geo_face_and_wings[] = {
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_ASM(2, geo_mirror_mario_backface_culling),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_hair_sideburn_decal_cap_off_dl),
GEO_ASM(3, geo_mirror_mario_backface_culling),
GEO_DISPLAY_LIST(LAYER_ALPHA, mario_hair_sideburn_decal_cap_off),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_eyes),
GEO_OPEN_NODE(),
@ -107,15 +103,11 @@ const GeoLayout mario_geo_right_hand[] = {
GEO_ANIMATED_PART(LAYER_OPAQUE, 60, 0, 0, mario_right_hand_peace), // here we go hand
GEO_ANIMATED_PART(LAYER_OPAQUE, 60, 0, 0, mario_right_hand_cap),
GEO_OPEN_NODE(),
GEO_ASM(2, geo_mirror_mario_backface_culling),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_right_hand_cap_decal_dl),
GEO_ASM(3, geo_mirror_mario_backface_culling),
GEO_DISPLAY_LIST(LAYER_ALPHA, mario_right_hand_cap_decal),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_OPAQUE, 60, 0, 0, mario_right_hand_cap),
GEO_OPEN_NODE(),
GEO_ASM(2, geo_mirror_mario_backface_culling),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_right_hand_cap_decal_dl),
GEO_ASM(3, geo_mirror_mario_backface_culling),
GEO_DISPLAY_LIST(LAYER_ALPHA, mario_right_hand_cap_decal),
GEO_DISPLAY_LIST(LAYER_ALPHA, mario_right_hand_cap_wings),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
@ -205,8 +197,8 @@ const GeoLayout mario_vanish_geo_face_and_wings[] = {
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_m_decal_dl),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_hair_sideburn_decal_cap_on_dl),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_m_logo_decal),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_hair_sideburn_decal_cap_on),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_eyes),
GEO_OPEN_NODE(),
@ -223,7 +215,7 @@ const GeoLayout mario_vanish_geo_face_and_wings[] = {
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_hair_sideburn_decal_cap_off_dl),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_hair_sideburn_decal_cap_off),
GEO_OPEN_NODE(),
GEO_SWITCH_CASE(0, geo_switch_mario_eyes),
GEO_OPEN_NODE(),
@ -299,11 +291,11 @@ const GeoLayout mario_vanish_geo_right_hand[] = {
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 60, 0, 0, mario_right_hand_peace), // here we go hand
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 60, 0, 0, mario_right_hand_cap),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_right_hand_cap_decal_dl),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_right_hand_cap_decal),
GEO_CLOSE_NODE(),
GEO_ANIMATED_PART(LAYER_TRANSPARENT, 60, 0, 0, mario_right_hand_cap),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_right_hand_cap_decal_dl),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_right_hand_cap_decal),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_right_hand_cap_wings_transparent),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
@ -706,14 +698,19 @@ const GeoLayout mario_geo[] = {
GEO_OPEN_NODE(),
GEO_SCALE(0x00, 16384),
GEO_OPEN_NODE(),
GEO_ASM(0, geo_mario_set_player_colors),
GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors),
GEO_ASM(LAYER_ALPHA + 3, geo_mario_set_player_colors),
GEO_ASM(LAYER_TRANSPARENT + 3, geo_mario_set_player_colors),
GEO_ASM(0, geo_mirror_mario_backface_culling),
GEO_ASM(LAYER_OPAQUE << 2, geo_mirror_mario_backface_culling),
GEO_ASM(LAYER_ALPHA << 2, geo_mirror_mario_backface_culling),
GEO_ASM(LAYER_TRANSPARENT << 2, geo_mirror_mario_backface_culling),
GEO_ASM(0, geo_mirror_mario_set_alpha),
GEO_OPEN_NODE(),
GEO_BRANCH(1, mario_geo_load_body),
GEO_CLOSE_NODE(),
GEO_ASM(1, geo_mirror_mario_backface_culling),
GEO_ASM((LAYER_OPAQUE << 2) | 1, geo_mirror_mario_backface_culling),
GEO_ASM((LAYER_ALPHA << 2) | 1, geo_mirror_mario_backface_culling),
GEO_ASM((LAYER_TRANSPARENT << 2) | 1, geo_mirror_mario_backface_culling),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_material_revert_render_settings),

116
actors/mario/geo_header.h Normal file
View File

@ -0,0 +1,116 @@
extern const GeoLayout mario_geo_face_and_wings[];
extern const GeoLayout mario_geo_left_hand[];
extern const GeoLayout mario_geo_right_hand[];
extern const GeoLayout mario_geo_body[];
extern const GeoLayout mario_vanish_geo_face_and_wings[];
extern const GeoLayout mario_vanish_geo_left_hand[];
extern const GeoLayout mario_vanish_geo_right_hand[];
extern const GeoLayout mario_vanish_geo_body[];
extern const GeoLayout mario_metal_geo_face_and_wings[];
extern const GeoLayout mario_metal_geo_left_hand[];
extern const GeoLayout mario_metal_geo_right_hand[];
extern const GeoLayout mario_metal_geo_body[];
extern const GeoLayout mario_metal_vanish_geo_face_and_wings[];
extern const GeoLayout mario_metal_vanish_geo_left_hand[];
extern const GeoLayout mario_metal_vanish_geo_right_hand[];
extern const GeoLayout mario_metal_vanish_geo_body[];
extern const GeoLayout mario_geo_load_body[];
extern const GeoLayout mario_geo[];
extern const Gfx mario_butt_dl[];
extern const Gfx mario_butt[];
extern const Gfx mario_metal_butt[];
extern const Gfx mario_left_arm_shared_dl[];
extern const Gfx mario_left_arm[];
extern const Gfx mario_left_forearm_shared_dl[];
extern const Gfx mario_left_hand_closed_shared_dl[];
extern const Gfx mario_left_hand_closed[];
extern const Gfx mario_right_arm_shared_dl[];
extern const Gfx mario_right_arm[];
extern const Gfx mario_right_forearm_shared_dl[];
extern const Gfx mario_right_hand_closed_dl[];
extern const Gfx mario_right_hand_closed[];
extern const Gfx mario_metal_right_hand_closed[];
extern const Gfx mario_left_thigh_dl[];
extern const Gfx mario_left_thigh[];
extern const Gfx mario_metal_left_thigh[];
extern const Gfx mario_left_leg_shared_dl[];
extern const Gfx mario_left_foot_shared_dl[];
extern const Gfx mario_left_foot[];
extern const Gfx mario_right_thigh_shared_dl[];
extern const Gfx mario_right_thigh[];
extern const Gfx mario_right_leg_shared_dl[];
extern const Gfx mario_right_foot_dl[];
extern const Gfx mario_right_foot[];
extern const Gfx mario_metal_right_foot[];
extern const Gfx mario_yellow_button_dl[];
extern const Gfx mario_pants_overalls_shared_dl[];
extern const Gfx mario_tshirt_shared_dl[];
extern const Gfx mario_torso_dl[];
extern const Gfx mario_torso[];
extern const Gfx mario_metal_torso_shared_dl[];
extern const Gfx mario_m_logo_dl[];
extern const Gfx mario_eyes_cap_on_dl[];
extern const Gfx mario_hair_sideburn_cap_on_dl[];
extern const Gfx mario_mustache_cap_on_dl[];
extern const Gfx mario_face_part_cap_on_dl[];
extern const Gfx mario_face_cap_dl[];
extern const Gfx mario_face_back_hair_cap_on_dl[];
extern const Gfx mario_hair_sideburn_decal_cap_on[];
extern const Gfx mario_m_logo_decal[];
extern const Gfx mario_face_cap_on_dl[];
extern const Gfx mario_cap_on_eyes_front[];
extern const Gfx mario_cap_on_eyes_half_closed[];
extern const Gfx mario_cap_on_eyes_closed[];
extern const Gfx mario_cap_on_eyes_right[];
extern const Gfx mario_cap_on_eyes_left[];
extern const Gfx mario_cap_on_eyes_up[];
extern const Gfx mario_cap_on_eyes_down[];
extern const Gfx mario_cap_on_eyes_dead[];
extern const Gfx mario_metal_cap_on_shared_dl[];
extern const Gfx mario_eyes_cap_off_dl[];
extern const Gfx mario_mustache_cap_off_dl[];
extern const Gfx mario_hair_sideburn_cap_off_dl[];
extern const Gfx mario_face_part_cap_off_dl[];
extern const Gfx mario_face_hair_cap_off_dl[];
extern const Gfx mario_hair_sideburn_decal_cap_off[];
extern const Gfx mario_face_cap_off_dl[];
extern const Gfx mario_cap_off_eyes_front[];
extern const Gfx mario_cap_off_eyes_half_closed[];
extern const Gfx mario_cap_off_eyes_closed[];
extern const Gfx mario_cap_off_eyes_right[];
extern const Gfx mario_cap_off_eyes_left[];
extern const Gfx mario_cap_off_eyes_up[];
extern const Gfx mario_cap_off_eyes_down[];
extern const Gfx mario_cap_off_eyes_dead[];
extern const Gfx mario_metal_cap_off_shared_dl[];
extern const Gfx mario_left_hand_open_shared_dl[];
extern const Gfx mario_left_hand_open[];
extern const Gfx mario_right_hand_open_dl[];
extern const Gfx mario_right_hand_open[];
extern const Gfx mario_metal_right_hand_open[];
extern const Gfx mario_right_hand_cap_m_logo_dl[];
extern const Gfx mario_right_hand_cap_top_dl[];
extern const Gfx mario_right_hand_cap_hand_position_dl[];
extern const Gfx mario_right_hand_cap_bottom_dl[];
extern const Gfx mario_right_hand_cap_decal[];
extern const Gfx mario_right_hand_cap_dl[];
extern const Gfx mario_right_hand_cap_wings_half_1_dl[];
extern const Gfx mario_right_hand_cap_wings_half_2_dl[];
extern const Gfx mario_right_hand_cap_wings_intial_dl[];
extern const Gfx mario_right_hand_cap_wings_transparent_intial_dl[];
extern const Gfx mario_right_hand_cap_wings_end_dl[];
extern const Gfx mario_right_hand_cap[];
extern const Gfx mario_right_hand_cap_wings[];
extern const Gfx mario_right_hand_cap_wings_transparent[];
extern const Gfx mario_metal_right_hand_cap_shared_dl[];
extern const Gfx mario_metal_right_hand_cap_shared_dl_wings[];
extern const Gfx mario_metal_right_hand_cap_shared_dl_wings_transparent[];
extern const Gfx mario_right_hand_peace_shared_dl[];
extern const Gfx mario_right_hand_peace[];
extern const Gfx mario_wings_half_1_dl[];
extern const Gfx mario_wings_half_2_dl[];
extern const Gfx mario_cap_wings[];
extern const Gfx mario_cap_wings_transparent[];
extern const Gfx mario_metal_cap_wings[];
extern const Gfx mario_metal_cap_wings_transparent[];
extern const Gfx mario_material_revert_render_settings[];

View File

@ -4,7 +4,10 @@ extern ALIGNED8 const Texture mario_texture_metal_light[];
extern ALIGNED8 const Texture mario_texture_yellow_button[];
extern ALIGNED8 const Texture mario_texture_m_logo[];
extern ALIGNED8 const Texture mario_texture_m_blend[];
extern ALIGNED8 const Texture mario_texture_m_cap[];
extern ALIGNED8 const Texture mario_texture_hair_sideburn[];
extern ALIGNED8 const Texture mario_texture_add_sideburn[];
extern ALIGNED8 const Texture mario_texture_skin_sideburn[];
extern ALIGNED8 const Texture mario_texture_mustache[];
extern ALIGNED8 const Texture mario_texture_eyes_front[];
extern ALIGNED8 const Texture mario_texture_eyes_half_closed[];

View File

@ -53,92 +53,88 @@ ALIGNED8 const Texture mario_texture_metal_light[] = {
#include "actors/mario/custom_mario_metal_light.rgba16.inc.c"
};
// 0x04001090
ALIGNED8 const Texture mario_texture_yellow_button[] = {
#include "actors/mario/mario_overalls_button.rgba16.inc.c"
};
// 0x04001890
ALIGNED8 const Texture mario_texture_m_logo[] = {
#include "actors/mario/custom_mario_logo.rgba16.inc.c"
};
ALIGNED8 const Texture mario_texture_m_blend[] = {
#include "actors/mario/custom_mario_m_blend.rgba16.inc.c"
#include "actors/mario/custom_mario_logo_blend.rgba16.inc.c"
};
ALIGNED8 const Texture mario_texture_m_cap[] = {
#include "actors/mario/custom_mario_cap.rgba16.inc.c"
};
// 0x04002090
ALIGNED8 const Texture mario_texture_hair_sideburn[] = {
#include "actors/mario/custom_mario_sideburn.rgba16.inc.c"
#include "actors/mario/custom_mario_sideburn.rgba32.inc.c"
};
ALIGNED8 const Texture mario_texture_add_sideburn[] = {
#include "actors/mario/custom_mario_sideburn_add.rgba32.inc.c"
};
ALIGNED8 const Texture mario_texture_skin_sideburn[] = {
#include "actors/mario/custom_mario_skin.rgba16.inc.c"
};
// 0x04002890
ALIGNED8 const Texture mario_texture_mustache[] = {
#include "actors/mario/mario_mustache.rgba16.inc.c"
};
// 0x04003090
ALIGNED8 const Texture mario_texture_eyes_front[] = {
#include "actors/mario/mario_eyes_center.rgba16.inc.c"
};
// 0x04003890
ALIGNED8 const Texture mario_texture_eyes_half_closed[] = {
#include "actors/mario/mario_eyes_half_closed.rgba16.inc.c"
};
// 0x04004090
ALIGNED8 const Texture mario_texture_eyes_closed[] = {
#include "actors/mario/mario_eyes_closed.rgba16.inc.c"
};
// 0x04005890
ALIGNED8 const Texture mario_texture_eyes_right[] = {
#include "actors/mario/mario_eyes_left_unused.rgba16.inc.c"
};
// 0x04006090
ALIGNED8 const Texture mario_texture_eyes_left[] = {
#include "actors/mario/mario_eyes_right_unused.rgba16.inc.c"
};
// 0x04006890
ALIGNED8 const Texture mario_texture_eyes_up[] = {
#include "actors/mario/mario_eyes_up_unused.rgba16.inc.c"
};
// 0x04007090
ALIGNED8 const Texture mario_texture_eyes_down[] = {
#include "actors/mario/mario_eyes_down_unused.rgba16.inc.c"
};
// 0x04007890
ALIGNED8 const Texture mario_texture_eyes_dead[] = {
#include "actors/mario/mario_eyes_dead.rgba16.inc.c"
};
// 0x04008090
ALIGNED8 const Texture mario_texture_wings_half_1[] = {
#include "actors/mario/mario_wing.rgba16.inc.c"
};
// 0x04009090
ALIGNED8 const Texture mario_texture_wings_half_2[] = {
#include "actors/mario/mario_wing_tip.rgba16.inc.c"
};
// 0x0400A090
ALIGNED8 const Texture mario_texture_metal_wings_half_1[] = {
#include "actors/mario/mario_metal_wing_unused.rgba16.inc.c"
};
// 0x0400B090
ALIGNED8 const Texture mario_texture_metal_wings_half_2[] = {
#include "actors/mario/mario_metal_wing_tip_unused.rgba16.inc.c"
};
ALIGNED8 const Texture mario_texture_cap_inside[] = {
#include "actors/mario/custom_mario_cap_inside.rgba16.inc.c"
#include "actors/mario/custom_mario_cap_inside.rgba32.inc.c"
};
// 0x0400C090
@ -2107,7 +2103,26 @@ const Gfx mario_face_back_hair_cap_on_dl[] = {
gsSPEndDisplayList(),
};
const Gfx mario_hair_sideburn_decal_cap_on_dl[] = {
const Gfx mario_hair_sideburn_decal_cap_on[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCycleType(G_CYC_2CYCLE),
gsSPTexture(65535, 65535, 0, 0, 1),
gsSPLight(&mario_black_lights_group.l, 1),
gsSPCopyLightEXT(2, 11),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 1, mario_texture_hair_sideburn),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPLoadBlock(7, 0, 0, 1023, 128),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(0, 0, 0, 124, 124),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 1, mario_texture_add_sideburn),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPLoadBlock(6, 0, 0, 1023, 128),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(1, 0, 0, 124, 124),
gsSPDisplayList(mario_hair_sideburn_cap_on_dl),
gsDPSetCycleType(G_CYC_1CYCLE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA),
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),
@ -2115,11 +2130,10 @@ const Gfx mario_hair_sideburn_decal_cap_on_dl[] = {
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_hair_sideburn),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_skin_sideburn),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&mario_black_lights_group.l, 1),
gsSPCopyLightEXT(2, 11),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_hair_sideburn_cap_on_dl),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -2127,7 +2141,7 @@ const Gfx mario_hair_sideburn_decal_cap_on_dl[] = {
gsSPEndDisplayList(),
};
const Gfx mario_m_decal_dl[] = {
const Gfx mario_m_logo_decal[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0),
gsSPTexture(65535, 65535, 0, 0, 1),
@ -2146,16 +2160,27 @@ const Gfx mario_m_decal_dl[] = {
gsSPDisplayList(mario_m_logo_dl),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_cap),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_m_logo_dl),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPEndDisplayList(),
};
// 0x04011960 - 0x040119A0
const Gfx mario_face_cap_on_dl[] = {
gsSPDisplayList(mario_hair_sideburn_cap_on_dl),
gsSPDisplayList(mario_face_part_cap_on_dl),
gsSPCopyLightsPlayerPart(CAP), // gsSPLight(&mario_red_lights_group.a, 2),
gsSPDisplayList(mario_m_logo_dl),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_face_cap_dl),
gsSPCopyLightsPlayerPart(HAIR),
gsSPDisplayList(mario_face_back_hair_cap_on_dl),
@ -2878,7 +2903,26 @@ const Gfx mario_face_hair_cap_off_dl[] = {
gsSPEndDisplayList(),
};
const Gfx mario_hair_sideburn_decal_cap_off_dl[] = {
const Gfx mario_hair_sideburn_decal_cap_off[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, COMBINED, 0, 0, 0, COMBINED),
gsDPSetCycleType(G_CYC_2CYCLE),
gsSPTexture(65535, 65535, 0, 0, 1),
gsSPLight(&mario_black_lights_group.l, 1),
gsSPCopyLightEXT(2, 11),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 1, mario_texture_hair_sideburn),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPLoadBlock(7, 0, 0, 1023, 128),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(0, 0, 0, 124, 124),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 1, mario_texture_add_sideburn),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b_LOAD_BLOCK, 0, 512, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0),
gsDPLoadBlock(6, 0, 0, 1023, 128),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0),
gsDPSetTileSize(1, 0, 0, 124, 124),
gsSPDisplayList(mario_hair_sideburn_cap_off_dl),
gsDPSetCycleType(G_CYC_1CYCLE),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA),
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),
@ -2886,11 +2930,10 @@ const Gfx mario_hair_sideburn_decal_cap_off_dl[] = {
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_hair_sideburn),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_skin_sideburn),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPLight(&mario_black_lights_group.l, 1),
gsSPCopyLightEXT(2, 11),
gsSPCopyLightsPlayerPart(SKIN),
gsSPDisplayList(mario_hair_sideburn_cap_off_dl),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -2900,7 +2943,6 @@ const Gfx mario_hair_sideburn_decal_cap_off_dl[] = {
// 0x040139C0 - 0x040139E8
const Gfx mario_face_cap_off_dl[] = {
gsSPDisplayList(mario_hair_sideburn_cap_off_dl),
gsSPDisplayList(mario_face_part_cap_off_dl),
gsSPCopyLightsPlayerPart(HAIR),
gsSPDisplayList(mario_face_hair_cap_off_dl),
@ -3678,7 +3720,7 @@ const Gfx mario_right_hand_cap_bottom_dl[] = {
gsSPEndDisplayList(),
};
const Gfx mario_right_hand_cap_decal_dl[] = {
const Gfx mario_right_hand_cap_decal[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0),
gsSPTexture(65535, 65535, 0, 0, 1),
@ -3697,26 +3739,39 @@ const Gfx mario_right_hand_cap_decal_dl[] = {
gsSPDisplayList(mario_right_hand_cap_m_logo_dl),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_m_cap),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_right_hand_cap_m_logo_dl),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPEndDisplayList(),
};
// 0x0401AF20 - 0x0401AF60
const Gfx mario_right_hand_cap_dl[] = {
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_right_hand_cap_top_dl),
gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c
gsSPDisplayList(mario_right_hand_cap_hand_position_dl),
gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA),
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),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 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),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_32b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (8 - 1) << G_TEXTURE_IMAGE_FRAC, (8 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_cap_inside),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_32b, 1, mario_texture_cap_inside),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 8 * 8 - 1, CALC_DXT(8, G_IM_SIZ_16b_BYTES)),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 8 * 8 - 1, CALC_DXT(8, G_IM_SIZ_32b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_right_hand_cap_m_logo_dl),
gsSPDisplayList(mario_right_hand_cap_bottom_dl),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
@ -3726,28 +3781,28 @@ const Gfx mario_right_hand_cap_dl[] = {
// 0x0401AF60
static const Vtx mario_right_hand_cap_wings_half_1_dl_vertex[] = {
{{{ 368, 146, 7}, 0, { 990, 0}, {0xbe, 0x65, 0xda, 0xff}}},
{{{ 166, 37, 68}, 0, { 0, 2012}, {0xbe, 0x65, 0xda, 0xff}}},
{{{ 212, 96, 143}, 0, { 990, 2012}, {0xbe, 0x65, 0xda, 0xff}}},
{{{ 368, 146, 7}, 0, { 990, 0}, {0xbe, 0x64, 0xd9, 0xff}}},
{{{ 322, 87, -67}, 0, { 0, 0}, {0xbe, 0x64, 0xd9, 0xff}}},
{{{ 166, 37, 68}, 0, { 0, 2012}, {0xbe, 0x64, 0xd9, 0xff}}},
{{{ 178, -177, 128}, 0, { 990, 2012}, {0xa8, 0xb4, 0xcf, 0xff}}},
{{{ 149, -100, 60}, 0, { 0, 2012}, {0xa8, 0xb4, 0xcf, 0xff}}},
{{{ 319, -248, -14}, 0, { 990, 0}, {0xa8, 0xb4, 0xcf, 0xff}}},
{{{ 290, -171, -81}, 0, { 0, 0}, {0xa8, 0xb4, 0xcf, 0xff}}},
{{{ 368, 146, 7}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 166, 37, 68}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 212, 96, 143}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 368, 146, 7}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 322, 87, -67}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 166, 37, 68}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 178, -177, 128}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 149, -100, 60}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 319, -248, -14}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 290, -171, -81}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
};
// 0x0401B000
static const Vtx mario_right_hand_cap_wings_half_2_dl_vertex[] = {
{{{ 414, 206, 82}, 0, { 990, 0}, {0xbe, 0x64, 0xd9, 0xff}}},
{{{ 212, 96, 143}, 0, { 0, 2012}, {0xbe, 0x64, 0xd9, 0xff}}},
{{{ 258, 156, 218}, 0, { 990, 2012}, {0xbe, 0x64, 0xd9, 0xff}}},
{{{ 368, 146, 7}, 0, { 0, 0}, {0xbe, 0x64, 0xd9, 0xff}}},
{{{ 178, -177, 128}, 0, { 0, 2012}, {0xa8, 0xb3, 0xcf, 0xff}}},
{{{ 319, -248, -14}, 0, { 0, 0}, {0xa8, 0xb3, 0xcf, 0xff}}},
{{{ 349, -325, 53}, 0, { 990, 0}, {0xa8, 0xb3, 0xcf, 0xff}}},
{{{ 207, -253, 195}, 0, { 990, 2012}, {0xa8, 0xb3, 0xcf, 0xff}}},
{{{ 414, 206, 82}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 212, 96, 143}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 258, 156, 218}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 368, 146, 7}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 178, -177, 128}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 319, -248, -14}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 349, -325, 53}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 207, -253, 195}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
};
// 0x0401B080 - 0x0401B0B0
@ -3770,7 +3825,7 @@ const Gfx mario_right_hand_cap_wings_half_2_dl[] = {
const Gfx mario_right_hand_cap_wings_intial_dl[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA),
gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH),
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsSPLight(&mario_white_lights_group.l, 1),
@ -3784,7 +3839,7 @@ const Gfx mario_right_hand_cap_wings_intial_dl[] = {
const Gfx mario_right_hand_cap_wings_transparent_intial_dl[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA),
gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH),
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsSPLight(&mario_white_lights_group.l, 1),
@ -3800,7 +3855,7 @@ const Gfx mario_right_hand_cap_wings_end_dl[] = {
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH),
gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
gsSPEndDisplayList(),
};
@ -4149,18 +4204,18 @@ const Gfx mario_right_hand_peace[] = {
// 0x0401C940
static const Vtx mario_wings_half_1_dl_vertex[] = {
{{{ -105, 212, 0}, 0, { 0, 0}, {0x00, 0x00, 0x7f, 0xff}}},
{{{ -105, 0, 0}, 0, { 0, 2012}, {0x00, 0x00, 0x7f, 0xff}}},
{{{ 0, 0, 0}, 0, { 990, 2012}, {0x00, 0x00, 0x7f, 0xff}}},
{{{ 0, 212, 0}, 0, { 990, 0}, {0x00, 0x00, 0x7f, 0xff}}},
{{{ -105, 212, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -105, 0, 0}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 0, 0, 0}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 0, 212, 0}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
};
// 0x0401C980
static const Vtx mario_wings_half_2_dl_vertex[] = {
{{{ 0, 0, 0}, 0, { 0, 2012}, {0x00, 0x00, 0x7f, 0xff}}},
{{{ 106, 212, 0}, 0, { 990, 0}, {0x00, 0x00, 0x7f, 0xff}}},
{{{ 0, 212, 0}, 0, { 0, 0}, {0x00, 0x00, 0x7f, 0xff}}},
{{{ 106, 0, 0}, 0, { 990, 2012}, {0x00, 0x00, 0x7f, 0xff}}},
{{{ 0, 0, 0}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 106, 212, 0}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 0, 212, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 106, 0, 0}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
};
// 0x0401C9C0 - 0x0401C9E0
@ -4181,7 +4236,7 @@ const Gfx mario_wings_half_2_dl[] = {
const Gfx mario_cap_wings[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA),
gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH),
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
@ -4200,7 +4255,7 @@ const Gfx mario_cap_wings[] = {
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH),
gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
gsSPEndDisplayList(),
};
@ -4208,7 +4263,7 @@ const Gfx mario_cap_wings[] = {
const Gfx mario_cap_wings_transparent[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA),
gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH),
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
@ -4227,7 +4282,7 @@ const Gfx mario_cap_wings_transparent[] = {
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH),
gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
gsSPEndDisplayList(),
};
@ -4235,7 +4290,7 @@ const Gfx mario_cap_wings_transparent[] = {
const Gfx mario_metal_cap_wings[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA),
gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH),
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
@ -4254,7 +4309,7 @@ const Gfx mario_metal_cap_wings[] = {
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH),
gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
gsSPEndDisplayList(),
};
@ -4264,7 +4319,7 @@ const Gfx mario_metal_cap_wings_transparent[] = {
gsSPClearGeometryMode(G_TEXTURE_GEN),
gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF),
gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA),
gsSPClearGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH),
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
@ -4280,7 +4335,7 @@ const Gfx mario_metal_cap_wings_transparent[] = {
gsSPDisplayList(mario_wings_half_2_dl),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK | G_SHADING_SMOOTH),
gsSPSetGeometryMode(G_TEXTURE_GEN | G_LIGHTING | G_CULL_BACK),
gsDPSetCombineMode(G_CC_DECALFADE, G_CC_DECALFADE),
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),

View File

@ -14,12 +14,12 @@ const GeoLayout marios_cap_geo[] = {
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_m_logo_decal_dl),
GEO_DISPLAY_LIST(LAYER_ALPHA, mario_cap_m_logo_decal),
GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_seg3_dl_03022F48),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_m_logo_decal_dl),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_m_logo_decal),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_seg3_dl_03022F48),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),
@ -74,13 +74,13 @@ const GeoLayout marios_wing_cap_geo[] = {
GEO_OPEN_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_m_logo_decal_dl),
GEO_DISPLAY_LIST(LAYER_ALPHA, mario_cap_m_logo_decal),
GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_seg3_dl_03022F48),
GEO_DISPLAY_LIST(LAYER_ALPHA, mario_cap_seg3_dl_030230B0),
GEO_CLOSE_NODE(),
GEO_NODE_START(),
GEO_OPEN_NODE(),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_m_logo_decal_dl),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_m_logo_decal),
GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_seg3_dl_03023160),
GEO_CLOSE_NODE(),
GEO_CLOSE_NODE(),

View File

@ -0,0 +1,20 @@
extern const GeoLayout marios_cap_geo[];
extern const GeoLayout marios_metal_cap_geo[];
extern const GeoLayout marios_wing_cap_geo[];
extern const GeoLayout marios_winged_metal_cap_geo[];
extern const Gfx mario_cap_seg3_dl_03022B30[];
extern const Gfx mario_cap_seg3_dl_03022B68[];
extern const Gfx mario_cap_seg3_dl_03022CC8[];
extern const Gfx mario_cap_seg3_dl_03022D10[];
extern const Gfx mario_cap_seg3_dl_03022E78[];
extern const Gfx mario_cap_seg3_dl_03022EA8[];
extern const Gfx mario_cap_seg3_dl_03022ED8[];
extern const Gfx mario_cap_seg3_dl_03022F20[];
extern const Gfx mario_cap_m_logo_decal[];
extern const Gfx mario_cap_seg3_dl_03022F48[];
extern const Gfx mario_cap_seg3_dl_03022FF8[];
extern const Gfx mario_cap_seg3_dl_030230B0[];
extern const Gfx mario_cap_seg3_dl_03023108[];
extern const Gfx mario_cap_seg3_dl_03023160[];
extern const Gfx mario_cap_seg3_dl_03023298[];
extern const Gfx mario_cap_material_revert_render_settings[];

View File

@ -28,6 +28,7 @@ static const Lights1 mario_cap_black_lights_group = gdSPDefLights1(
#define mario_cap_texture_metal_light mario_texture_metal_light
#define mario_cap_texture_m_logo mario_texture_m_logo
#define mario_cap_texture_m_blend mario_texture_m_blend
#define mario_cap_texture_m_cap mario_texture_m_cap
#define mario_cap_texture_wings_half_1 mario_texture_wings_half_1
#define mario_cap_texture_wings_half_2 mario_texture_wings_half_2
#define mario_cap_texture_metal_wings_half_1 mario_texture_metal_wings_half_1
@ -215,30 +216,30 @@ const Gfx mario_cap_seg3_dl_03022D10[] = {
// 0x03022D38
static const Vtx mario_cap_seg3_vertex_03022D38[] = {
{{{ 199, 247, -55}, 0, { 990, 0}, {0x59, 0xed, 0x58, 0xff}}},
{{{ 131, 274, 20}, 0, { 0, 0}, {0x59, 0xed, 0x58, 0xff}}},
{{{ 69, 71, 38}, 0, { 0, 2012}, {0x59, 0xed, 0x58, 0xff}}},
{{{ 199, 247, -55}, 0, { 990, 0}, {0x58, 0xee, 0x58, 0xff}}},
{{{ 69, 71, 38}, 0, { 0, 2012}, {0x58, 0xee, 0x58, 0xff}}},
{{{ 138, 44, -37}, 0, { 990, 2012}, {0x58, 0xee, 0x58, 0xff}}},
{{{ -137, 44, -37}, 0, { 990, 2012}, {0xa8, 0xee, 0x58, 0xff}}},
{{{ -68, 71, 38}, 0, { 0, 2012}, {0xa8, 0xee, 0x58, 0xff}}},
{{{ -198, 247, -55}, 0, { 990, 0}, {0xa8, 0xee, 0x58, 0xff}}},
{{{ -68, 71, 38}, 0, { 0, 2012}, {0xa7, 0xed, 0x58, 0xff}}},
{{{ -130, 274, 20}, 0, { 0, 0}, {0xa7, 0xed, 0x58, 0xff}}},
{{{ -198, 247, -55}, 0, { 990, 0}, {0xa7, 0xed, 0x58, 0xff}}},
{{{ 199, 247, -55}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 131, 274, 20}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 69, 71, 38}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 199, 247, -55}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 69, 71, 38}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 138, 44, -37}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -137, 44, -37}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -68, 71, 38}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -198, 247, -55}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -68, 71, 38}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -130, 274, 20}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -198, 247, -55}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
};
// 0x03022DF8
static const Vtx mario_cap_seg3_vertex_03022DF8[] = {
{{{ 268, 219, -132}, 0, { 990, 0}, {0x59, 0xed, 0x57, 0xff}}},
{{{ 199, 247, -55}, 0, { 0, 0}, {0x59, 0xed, 0x57, 0xff}}},
{{{ 138, 44, -37}, 0, { 0, 2012}, {0x59, 0xed, 0x57, 0xff}}},
{{{ 207, 16, -114}, 0, { 990, 2012}, {0x59, 0xed, 0x57, 0xff}}},
{{{ -206, 16, -114}, 0, { 990, 2012}, {0xa7, 0xed, 0x57, 0xff}}},
{{{ -137, 44, -37}, 0, { 0, 2012}, {0xa7, 0xed, 0x57, 0xff}}},
{{{ -267, 219, -132}, 0, { 990, 0}, {0xa7, 0xed, 0x57, 0xff}}},
{{{ -198, 247, -55}, 0, { 0, 0}, {0xa7, 0xed, 0x57, 0xff}}},
{{{ 268, 219, -132}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 199, 247, -55}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 138, 44, -37}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ 207, 16, -114}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -206, 16, -114}, 0, { 990, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -137, 44, -37}, 0, { 0, 2012}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -267, 219, -132}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
{{{ -198, 247, -55}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
};
// 0x03022E78 - 0x03022EA8
@ -279,7 +280,7 @@ const Gfx mario_cap_seg3_dl_03022F20[] = {
gsSPEndDisplayList(),
};
const Gfx mario_cap_m_logo_decal_dl[] = {
const Gfx mario_cap_m_logo_decal[] = {
gsDPPipeSync(),
gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL1, SHADE, TEXEL0, 0, ENVIRONMENT, 0),
gsSPTexture(65535, 65535, 0, 0, 1),
@ -298,6 +299,19 @@ const Gfx mario_cap_m_logo_decal_dl[] = {
gsSPDisplayList(mario_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
gsDPTileSync(),
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_cap_texture_m_cap),
gsDPLoadSync(),
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_cap_seg3_dl_03022B30),
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPEndDisplayList(),
};
@ -307,7 +321,6 @@ const Gfx mario_cap_seg3_dl_03022F48[] = {
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA),
gsSPCopyLightsPlayerPart(CAP),
gsSPDisplayList(mario_cap_seg3_dl_03022B30),
gsSPDisplayList(mario_cap_seg3_dl_03022D10),
gsDPPipeSync(),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),

View File

@ -15,7 +15,7 @@
#include "pc/lua/smlua.h"
extern Gfx mario_cap_seg3_dl_03022F48[];
extern Gfx mario_cap_m_logo_decal_dl[];
extern Gfx mario_cap_m_logo_decal[];
extern Gfx luigi_cap_seg3_dl_03022F48[];
extern Gfx luigi_cap_l_logo_decal_dl[];
extern Gfx toad_cap_Cap_mesh_layer_1[];
@ -41,9 +41,9 @@ struct Character gCharacters[CT_MAX] = {
.capMetalModelId = MODEL_MARIOS_METAL_CAP,
.capWingModelId = MODEL_MARIOS_WING_CAP,
.capMetalWingModelId = MODEL_MARIOS_WINGED_METAL_CAP,
.capEnemyLayer = LAYER_TRANSPARENT,
.capEnemyLayer = LAYER_ALPHA,
.capEnemyGfx = mario_cap_seg3_dl_03022F48,
.capEnemyDecalGfx = mario_cap_m_logo_decal_dl,
.capEnemyDecalGfx = mario_cap_m_logo_decal,
.torsoRotMult = 1.0f,
// anim
.animOffsetEnabled = false,

View File

@ -742,6 +742,9 @@ Gfx* geo_mirror_mario_backface_culling(s32 callContext, struct GraphNode* node,
gSPEndDisplayList(&gfx[2]);
}
u32 layer = ((asGenerated->parameter & 0x02) == 2) ? LAYER_TRANSPARENT : LAYER_OPAQUE;
if ((asGenerated->parameter & 0xFC) != 0) {
layer = asGenerated->parameter >> 2;
}
asGenerated->fnNode.node.flags = (asGenerated->fnNode.node.flags & 0xFF) | (layer << 8);
}
return gfx;