From ab4b797ff840fcc138c829d7fdcfa3da87c4616a Mon Sep 17 00:00:00 2001 From: FluffaMario Date: Tue, 14 Nov 2023 00:34:13 -0600 Subject: [PATCH] Updated Mario, Added code for mirror culling. --- actors/common1.h | 21 +- actors/group0.h | 117 +------- actors/mario/custom_mario_cap.rgba16.png | Bin 0 -> 268 bytes ...png => custom_mario_cap_inside.rgba32.png} | Bin ...png => custom_mario_logo_blend.rgba16.png} | Bin actors/mario/custom_mario_sideburn.rgba16.png | Bin 644 -> 0 bytes actors/mario/custom_mario_sideburn.rgba32.png | Bin 0 -> 655 bytes .../custom_mario_sideburn_add.rgba32.png | Bin 0 -> 426 bytes actors/mario/custom_mario_skin.rgba16.png | Bin 0 -> 463 bytes actors/mario/geo.inc.c | 39 ++- actors/mario/geo_header.h | 116 ++++++++ actors/mario/mario_externs.h | 3 + actors/mario/model.inc.c | 259 +++++++++++------- actors/mario_cap/geo.inc.c | 8 +- actors/mario_cap/geo_header.h | 20 ++ actors/mario_cap/model.inc.c | 83 +++--- src/game/characters.c | 6 +- src/game/mario_misc.c | 3 + 18 files changed, 374 insertions(+), 301 deletions(-) create mode 100644 actors/mario/custom_mario_cap.rgba16.png rename actors/mario/{custom_mario_cap_inside.rgba16.png => custom_mario_cap_inside.rgba32.png} (100%) rename actors/mario/{custom_mario_m_blend.rgba16.png => custom_mario_logo_blend.rgba16.png} (100%) delete mode 100644 actors/mario/custom_mario_sideburn.rgba16.png create mode 100644 actors/mario/custom_mario_sideburn.rgba32.png create mode 100644 actors/mario/custom_mario_sideburn_add.rgba32.png create mode 100644 actors/mario/custom_mario_skin.rgba16.png create mode 100644 actors/mario/geo_header.h create mode 100644 actors/mario_cap/geo_header.h diff --git a/actors/common1.h b/actors/common1.h index 2e1db49c..2628742d 100644 --- a/actors/common1.h +++ b/actors/common1.h @@ -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[]; diff --git a/actors/group0.h b/actors/group0.h index 0de8e94e..5e11ec17 100644 --- a/actors/group0.h +++ b/actors/group0.h @@ -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[]; diff --git a/actors/mario/custom_mario_cap.rgba16.png b/actors/mario/custom_mario_cap.rgba16.png new file mode 100644 index 0000000000000000000000000000000000000000..c8fa9b04a41142e1ed0ddb222e0433c6541b3994 GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=Dh+L6~vJ#O${~!G)eKjv*25Z>L)eH7M|~9{hbjvh|>(#HYu? zNfUE3o}_YW8r;)AIAQggv>gpQ51bJ=wke6{X>W;w=(8^MCHGU8Fg-fJHL=4bVOa(5 z&iTR-y8jxV1u*UIn%u+lQ0qaX0pr@sa=RAa_d3zJ-0xdnt>yOD$)Bj%Dz4 L^>bP0l+XkK;2>gf literal 0 HcmV?d00001 diff --git a/actors/mario/custom_mario_cap_inside.rgba16.png b/actors/mario/custom_mario_cap_inside.rgba32.png similarity index 100% rename from actors/mario/custom_mario_cap_inside.rgba16.png rename to actors/mario/custom_mario_cap_inside.rgba32.png diff --git a/actors/mario/custom_mario_m_blend.rgba16.png b/actors/mario/custom_mario_logo_blend.rgba16.png similarity index 100% rename from actors/mario/custom_mario_m_blend.rgba16.png rename to actors/mario/custom_mario_logo_blend.rgba16.png diff --git a/actors/mario/custom_mario_sideburn.rgba16.png b/actors/mario/custom_mario_sideburn.rgba16.png deleted file mode 100644 index c75d9fc9bcf2e131ffa06ac693827f29ba05a274..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 644 zcmV-~0(Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!T(z=kVqsFBoc|_8k~iz;NS=#kw|dhz;*NGb-L3bDSg0#*!|wiD@l|5e`b=D zY_(dsPx4hfKgLTVFdmO{o|ntTU9VSnKA%JT>2z|vUe9f}+blFFUS>eV1w=8RpU30T z9S#TA?RH(K({b%~J9}FSyjTz&3bfDONh6ZROSKzQ1K6_?eE z3E7AO`(Qeq7PTi0#KaLq+^$~ggnzf&m8aqEDX=2z^*Xa{ppTvwmk8)Kc7O3RZ6GF+ zqNzCHpG+ohzu%VzqA5U}N$)`)CPyeGt|9zd9HIu8h!v$wSYexUEw0<;4$wpmNH{4> zV2c%|2wGg@uVFVDjf&b2Q3IS)AF7HGU1Gw(JB@zNoO<^QQ3LFB36}`jVyP2n^|RTm zs8y+)f_}fB>syLkvvXsDf)xhcpYihHDVi#j5%7Z=A3NcmII#0m;vfcsIGrg>LP5Yz zNShRk?MvwWkuGX+LJIuAT!kvUXti45856QtVdi2Xg?MuHaAQCtW>RQj#%t>Gt_dli z<7Tr7ljw;Ms4IdV!^)eAL%9jLqZtfhL{A*U_F?>dK5r}zm1F4ho-Y=Q@(+VPk``7e z;!X1%ItM84Wt|Z0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ940whU9K~z{r?Uuo9 z0x=Lp?c~N0Q35p}T7V;GYM_Qq2~Yw;lt2xL5)fBzh$9>qf5+dMHDh)Y2pp0pS@wF3 z|9HOb#ZISF^Ge=A{W2b!fyrc2qCOsvzU+28-;Z{$*E6ft%K8q$!!kf|&~CRw>r?!2 zIGDv^fq=@*W>cbe{eJw@EI?2w-EKENgI@`N7UT%;yd4h-K&Bs1JQswt=H`YGwStv9Zy5;F-%2fvzbl%07V%9VFqNMv!FfzO(aKCan!@% z&}_Hc7=UU4#N|XeD9WOVOYmNb12q6nmJ31?mSd&3?B^XIQ7!2A`#uA_JW`~f6ad<; z2ME+Io6V#I60k86>*?ifSr!b0;I4kDYwMA zdX0(&NIkw<1e3Urhbl;Nn~k6yth`!1h#7DL8y`DTCk{dYsyN^tDB-8I*8572_xrss z5{No4eMw2hk@}F)58t8SEx_tSq;c1GIvrnYt4v9S@r)A0v#SSJn~*O4l2jc`CiWF^XNbK zg9hGF9CZ`FH7a|+d2W}>rS}j1rz<4r<2L|foj8QQEe^7uW8iK>{DZ~)9aoGRx1{zL p`zPEC;2B&U!)Nm!z+Vr*mPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ940Y6DZK~z{r?Uli~ zL@*SEZ{BRI&;T7MK?Mp@f=-m60VU`_1z54lbMlGzhD3(Mto+{>W(>~Bxi=Yla0z3K zhhfO)kGiqrXE|F_6a|l>h2GU^Veo@;v8p9E)LS!0oWdg}AW^@p8lq=0>BkEE$BWs=88l$*QY0kfteb znno-uX#i~Nd_f$ny2>VmcwN`aH#HD$+tx}P=n`1#wB1yY0OxOIJj*!)H}IyZEWyE6 zYRhiIx&*)-DHsi4J&War=E5p)h;p*8uapt?Z6@&O-a7%03IUs|xz#|eU$afHg8Fx&~ zehUj@1@h2Kwk>(MaJV&lTIW_wwT8NDnQF&J!}ySzZgongmO&d1>l>wnziRgP^?deT$v z?$;YH<>0+!YyOmfGq!sPXfdT!|H|CY%3xP{dO!0Iul-?7lM}-PH*o7!*VHKfWYZI$ zu6jb``RTCqnT@L)4=npNZxdrk;Vv2G5?fdyE|a4MM<+6f zTz{hDaOTjPZhNJc3%4$FpT3p4j?tr8Ku}U(|3;RIdHeP;zT?@$z_wn-ar^s*cR)W= P9=;5ou6{1-oD!Mparameter & 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;