From d466263c520952dffddb873c6c50ce3d254c3dcf Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Tue, 19 May 2026 17:56:23 -0500 Subject: [PATCH 01/22] Player Texture Cleanup, WIP Material Updates --- actors/luigi/custom_luigi_cap.rgba16.png | Bin 276 -> 0 bytes actors/luigi/custom_luigi_logo.ia16.png | Bin 0 -> 722 bytes actors/luigi/custom_luigi_logo.rgba16.png | Bin 276 -> 0 bytes .../luigi/custom_luigi_logo_blend.rgba16.png | Bin 372 -> 0 bytes actors/luigi/custom_luigi_sideburn.ia16.png | Bin 0 -> 891 bytes actors/luigi/custom_luigi_sideburn.rgba16.png | Bin 603 -> 0 bytes .../custom_luigi_sideburn_add.rgba16.png | Bin 352 -> 0 bytes actors/luigi/custom_luigi_skin.rgba16.png | Bin 305 -> 0 bytes actors/mario/custom_mario_cap.rgba16.png | Bin 268 -> 0 bytes actors/mario/custom_mario_logo.ia16.png | Bin 0 -> 793 bytes actors/mario/custom_mario_logo.rgba16.png | Bin 269 -> 0 bytes .../mario/custom_mario_logo_blend.rgba16.png | Bin 621 -> 0 bytes .../mario/custom_mario_metal_light.rgba16.png | Bin 1519 -> 0 bytes .../mario/custom_mario_metal_shade.rgba16.png | Bin 3665 -> 0 bytes .../custom_mario_metal_wing_light.rgba16.png | Bin 1848 -> 0 bytes .../custom_mario_metal_wing_shade.rgba16.png | Bin 2237 -> 0 bytes ...stom_mario_metal_wing_tip_light.rgba16.png | Bin 4363 -> 0 bytes ...stom_mario_metal_wing_tip_shade.rgba16.png | Bin 1619 -> 0 bytes actors/mario/custom_mario_sideburn.ia16.png | Bin 0 -> 939 bytes actors/mario/custom_mario_sideburn.rgba16.png | Bin 655 -> 0 bytes .../custom_mario_sideburn_add.rgba16.png | Bin 426 -> 0 bytes actors/mario/custom_mario_skin.rgba16.png | Bin 293 -> 0 bytes actors/mario/geo.inc.c | 126 +- actors/mario/geo_header.h | 26 +- actors/mario/mario_externs.h | 13 +- actors/mario/model.inc.c | 1521 +++++++++++++---- actors/mario_cap/geo.inc.c | 30 +- actors/mario_cap/geo_header.h | 2 - actors/mario_cap/model.inc.c | 209 ++- actors/toad_player/custom_toad_cap.ia16.png | Bin 267 -> 0 bytes .../custom_toad_eyes_center.i4.png | Bin 0 -> 588 bytes .../custom_toad_eyes_center.rgba16.png | Bin 0 -> 1493 bytes .../custom_toad_eyes_center.rgba32.png | Bin 345 -> 1493 bytes actors/toad_player/custom_toad_head.ia16.png | Bin 0 -> 808 bytes actors/toad_player/custom_toad_spots.ia16.png | Bin 269 -> 0 bytes actors/waluigi/custom_waluigi_cap.rgba16.png | Bin 279 -> 0 bytes actors/waluigi/custom_waluigi_logo.ia16.png | Bin 0 -> 552 bytes actors/waluigi/custom_waluigi_logo.rgba16.png | Bin 278 -> 0 bytes .../custom_waluigi_logo_blend.rgba16.png | Bin 312 -> 0 bytes .../waluigi/custom_waluigi_sideburn.ia16.png | Bin 0 -> 860 bytes .../custom_waluigi_sideburn.rgba16.png | Bin 596 -> 0 bytes .../custom_waluigi_sideburn_add.rgba16.png | Bin 390 -> 0 bytes actors/waluigi/custom_waluigi_skin.rgba16.png | Bin 290 -> 0 bytes actors/wario/custom_wario_cap.rgba16.png | Bin 267 -> 0 bytes .../wario/custom_wario_eyes_center.rgba16.png | Bin 997 -> 1313 bytes .../wario/custom_wario_eyes_closed.rgba16.png | Bin 733 -> 1069 bytes .../wario/custom_wario_eyes_dead.rgba16.png | Bin 1001 -> 1255 bytes .../custom_wario_eyes_down_unused.rgba16.png | Bin 974 -> 1261 bytes .../custom_wario_eyes_half_closed.rgba16.png | Bin 965 -> 1321 bytes .../custom_wario_eyes_left_unused.rgba16.png | Bin 991 -> 1303 bytes .../custom_wario_eyes_right_unused.rgba16.png | Bin 993 -> 1309 bytes .../custom_wario_eyes_up_unused.rgba16.png | Bin 985 -> 1278 bytes actors/wario/custom_wario_logo.ia16.png | Bin 0 -> 815 bytes actors/wario/custom_wario_logo.rgba16.png | Bin 269 -> 0 bytes .../wario/custom_wario_logo_blend.rgba16.png | Bin 476 -> 0 bytes actors/wario/custom_wario_mouth.rgba16.png | Bin 930 -> 1251 bytes .../wario/custom_wario_mouth_dead.rgba16.png | Bin 755 -> 1032 bytes actors/wario/custom_wario_nose.rgba16.png | Bin 0 -> 528 bytes actors/wario/custom_wario_sideburn.ia16.png | Bin 0 -> 936 bytes actors/wario/custom_wario_sideburn.rgba16.png | Bin 642 -> 0 bytes .../custom_wario_sideburn_add.rgba16.png | Bin 436 -> 0 bytes actors/wario/custom_wario_skin.rgba16.png | Bin 299 -> 0 bytes data/dynos_mgr_builtin.cpp | 1 + data/dynos_mgr_builtin_externs.h | 29 +- data/dynos_mgr_builtin_tex.cpp | 41 +- include/display_lists.inl | 26 +- src/game/characters.c | 16 +- 67 files changed, 1382 insertions(+), 658 deletions(-) delete mode 100644 actors/luigi/custom_luigi_cap.rgba16.png create mode 100644 actors/luigi/custom_luigi_logo.ia16.png delete mode 100644 actors/luigi/custom_luigi_logo.rgba16.png delete mode 100644 actors/luigi/custom_luigi_logo_blend.rgba16.png create mode 100644 actors/luigi/custom_luigi_sideburn.ia16.png delete mode 100644 actors/luigi/custom_luigi_sideburn.rgba16.png delete mode 100644 actors/luigi/custom_luigi_sideburn_add.rgba16.png delete mode 100644 actors/luigi/custom_luigi_skin.rgba16.png delete mode 100644 actors/mario/custom_mario_cap.rgba16.png create mode 100644 actors/mario/custom_mario_logo.ia16.png delete mode 100644 actors/mario/custom_mario_logo.rgba16.png delete mode 100644 actors/mario/custom_mario_logo_blend.rgba16.png delete mode 100644 actors/mario/custom_mario_metal_light.rgba16.png delete mode 100644 actors/mario/custom_mario_metal_shade.rgba16.png delete mode 100644 actors/mario/custom_mario_metal_wing_light.rgba16.png delete mode 100644 actors/mario/custom_mario_metal_wing_shade.rgba16.png delete mode 100644 actors/mario/custom_mario_metal_wing_tip_light.rgba16.png delete mode 100644 actors/mario/custom_mario_metal_wing_tip_shade.rgba16.png create mode 100644 actors/mario/custom_mario_sideburn.ia16.png delete mode 100644 actors/mario/custom_mario_sideburn.rgba16.png delete mode 100644 actors/mario/custom_mario_sideburn_add.rgba16.png delete mode 100644 actors/mario/custom_mario_skin.rgba16.png delete mode 100644 actors/toad_player/custom_toad_cap.ia16.png create mode 100644 actors/toad_player/custom_toad_eyes_center.i4.png create mode 100644 actors/toad_player/custom_toad_eyes_center.rgba16.png create mode 100644 actors/toad_player/custom_toad_head.ia16.png delete mode 100644 actors/toad_player/custom_toad_spots.ia16.png delete mode 100644 actors/waluigi/custom_waluigi_cap.rgba16.png create mode 100644 actors/waluigi/custom_waluigi_logo.ia16.png delete mode 100644 actors/waluigi/custom_waluigi_logo.rgba16.png delete mode 100644 actors/waluigi/custom_waluigi_logo_blend.rgba16.png create mode 100644 actors/waluigi/custom_waluigi_sideburn.ia16.png delete mode 100644 actors/waluigi/custom_waluigi_sideburn.rgba16.png delete mode 100644 actors/waluigi/custom_waluigi_sideburn_add.rgba16.png delete mode 100644 actors/waluigi/custom_waluigi_skin.rgba16.png delete mode 100644 actors/wario/custom_wario_cap.rgba16.png create mode 100644 actors/wario/custom_wario_logo.ia16.png delete mode 100644 actors/wario/custom_wario_logo.rgba16.png delete mode 100644 actors/wario/custom_wario_logo_blend.rgba16.png create mode 100644 actors/wario/custom_wario_nose.rgba16.png create mode 100644 actors/wario/custom_wario_sideburn.ia16.png delete mode 100644 actors/wario/custom_wario_sideburn.rgba16.png delete mode 100644 actors/wario/custom_wario_sideburn_add.rgba16.png delete mode 100644 actors/wario/custom_wario_skin.rgba16.png diff --git a/actors/luigi/custom_luigi_cap.rgba16.png b/actors/luigi/custom_luigi_cap.rgba16.png deleted file mode 100644 index d8216b00379a8703fcb1ff4eace0ebb419865ba5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DkxL735kHCP2GxYEjzp>zwk!YVCc$>WSK zeCM?s3uah+a`G%Yi34k%tWfc`(Auy-tRd{{)c2?O8mxpIs(*6TOE)t95n52O#eu>5 ze#h}Xht=Fu^{+MF6j&f{+9Y7Y)l^kb?!Yza-DJaW=_w2X2fnd)ehW(bch2_73^_B+ T42E2wqZvG1{an^LB{Ts5G_Yf7 diff --git a/actors/luigi/custom_luigi_logo.ia16.png b/actors/luigi/custom_luigi_logo.ia16.png new file mode 100644 index 0000000000000000000000000000000000000000..b96a4a9d462f38df1ac85dbf7efc5d0be17ffedc GIT binary patch literal 722 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DkxL735kHCP2GC|TkfQ4*Y=R#Ki=l*$m0n3-3i=jR%tV5(=R zXK2{PA$AU^Xh&*2!0mNL8ovaHWW=#XKL4XNp zG80&3kfjBX1=VF}U;vU$b9#Hl(_1tk$i?4A1T=)EpVfdt(|L4|tIB2Toe_}p=eMc1I-31Ku z&ix2$P&L!swpIHF#|O?gI!8he$gNqWHEEe<=IyfjmkqHj(ad6xMO+L27@yp=u30W> z!;alIwGIds94ln;SL;juu*IX$#fNE%<6(n_@2Z|cAJ#qG%ALpMuzG=TL)o!q3a5=e z%n5k(icjfFs=$ipXH0xmc$|McZ4r60jp1yCaF9R_*Bs@zn1-O5^{y3a=Zin&707Tj zWhUNref?W5YR|);M~<{Ftg(}KWjMA?BQtWENtaSZ^P$g$?gmqqWd<<%M8sY%iRRDP z%{H&!x@qACmFFyG#s@xI>N~v=+0#)fy=r!Ca-`UYc~5(}JZ8LWxz*NO8vFf}LE)p~ zdC%{ri_Z}DD$Si9w3>te!pg0_jM6Q9Uk*qd{vP%2*3HN*>l=>m{AyU$RL?l0VSk)R jP>s)lySeGk9sVcuH~sQUa;f9)2gQn~tDnm{r-UW|0simT literal 0 HcmV?d00001 diff --git a/actors/luigi/custom_luigi_logo.rgba16.png b/actors/luigi/custom_luigi_logo.rgba16.png deleted file mode 100644 index d163ae8ee3c348651aade37ee2bcc4e201ed552e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DkxL735kHCP2GxYE!lvI6;>1s;*b3=DkxL735kHCP3xfz#8)F(ktM?KDHK76SoS^=f8s?`Uh=Cif2# z*W!*!SBOSiM@O%{;^keQE_tDp`J{@Iz^8;0{vn@c7CIgI$0+k@(M8F72R8GBgtBJN za=N{3OA+%8)?Fg5jk2G`W3OM7u8EM8I6m=;exc0dM~96Jc$ilXPj8yAOZ>UyhFzk`=?Q5U?o=M}bLbV95d9bRj<($Md`K(x8xI N@O1TaS?83{1OOyIia7uP diff --git a/actors/luigi/custom_luigi_sideburn.ia16.png b/actors/luigi/custom_luigi_sideburn.ia16.png new file mode 100644 index 0000000000000000000000000000000000000000..462fcdbc529db3bf4d8ba143677d0ecd2b5c2dbd GIT binary patch literal 891 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DkxL735kHCP2GC|TkfQ4*Y=R#Ki=l*$m0n3-3i=jR%tV5(=R zXJ{nM=w1R;v?DdbGtJXei-7~kVP%kFWMyCkvb=y;8p;MaM}v_WEY1XE8!|F62mnu389}4l%D@1WoWRb&0#s{YWNg5=0Aeo4PSynwv!(&rAixAP znF*{i$kGDHg6c9fFaXK!ys+5F__D_)pgMI=7srqY_qWq*w;yy6XfxmL@v%_e$VRm&;I<==kNC0XG?a+ZodCs_?5twX^mg2a&N!g*4XH`{Bd>t(e>9? z-^|-?kkWsAvFpoUy7#W9C2YPqp@L`6Vdlwq*tSYKEQv|t+97*r|KgV`jvh$bxL{{` z;2HalnGmJzUcJ*oW7vmLgv@C*=!1ZJK1&WcE%X7N#rdqX}f&) z!z4zI^J$ysSOm!nP5+>jGS6s3jNaQ4E7e5FiFdvS&AF_<|LynRA?aTHi+k31v!@mIjAl5%_ z{eiAB6Bu3AvQKy`@yU8!@oo8?t&bXbc-Wfn=(0Uou(18&*F~<&6`6P6)qDB1>ZOB@ z0z2Qr{f@OZa^Yg^zf_h4PuL!Nv1!WXwoRvM+86L}2$i3`^e3_VC5Pmf#EA=!Z2#9( z871@N9TVq$ZULtw0<8;P^Zz?q*XqPP-@*Uj@t@`&uJcNKW{979VfCF`dsIQm$J5o% JWt~$(69AbcP#*vQ literal 0 HcmV?d00001 diff --git a/actors/luigi/custom_luigi_sideburn.rgba16.png b/actors/luigi/custom_luigi_sideburn.rgba16.png deleted file mode 100644 index 2458e0dd1e3c5d5595c50c6ee2e97cf79e9d8a42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 603 zcmV-h0;K(kP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0q{vgK~z{r?UvDv z!Y~j-lPdvH0yQ9NpayE723nv8L?EK7AKa57J0|hWuGbFb ze!nk1$xm!Q#-th8Znq8E+wEr8<#Mrc^q0$JaXOt!8xUTSf!S;pdw=5B>$Nx>4lvYI zRn?#k<7Rd;1B^ZgOyOEA7VSNFNd~wCIpS}&9FrLE(NjEULYHXr3^00%WBnD3Z#J8F zH-Q0-9+RW;)d1l=+VlC`?uMrgK-i1xm4ih{9y$kdl}=GcPndp=p+)*N1A_)~qJYAB z5nX$Z!(cd&I)_o#zo0yQy2PMm}wI^v++1&G{F@Cbe4h+g-;q8UgQ8#2JjQ`tzFR&n%W{oF+l zECYz%r;9)!w+ut#AR0)D17@H#kSn$^c=5RH(9IgK4Csq~k}=>NKgSqxU!lvI6;>1s;*b3=Dh+K$tP>S|=w^@T;ebV@QPi+o`t&n-v6H6cej1#Wrlu)^gU(= z$3)JOSoPPtuB|ON!E&uM^y#+ToJg_I?*|^bDjD!JN9~|z>mUh3&`JC*ANzM<-zB*(vrdv!1Iv~wAhdnUv$by0g^$BZS v3N{=xV^scVapS@47n2;@#kg9TkKJou8OYTud+P--02n-7{an^LB{Ts5;;e=! diff --git a/actors/luigi/custom_luigi_skin.rgba16.png b/actors/luigi/custom_luigi_skin.rgba16.png deleted file mode 100644 index 714f2cde41d8345c4870f3977a80b5ad9b233dfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DkxL735kHCP2Gc+AtqF(ktM?X-t{tqL4&Yroe&kB)D))(&=@ zu(tGHNc8KPgp||y>a3eC8S-4_)3GjzTJmI;)B~A(C2n_tO% zmGIIG|lK{v02&S{n@=9^U7~=yDfKAO3Rx)QLV-8 wOi20Rs2PHpeJ|<{G=Hz}h^k?1VqUU^@oh$iOm4of6VOKtp00i_>zopr0P}EiMF0Q* diff --git a/actors/mario/custom_mario_cap.rgba16.png b/actors/mario/custom_mario_cap.rgba16.png deleted file mode 100644 index c8fa9b04a41142e1ed0ddb222e0433c6541b3994..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 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 diff --git a/actors/mario/custom_mario_logo.ia16.png b/actors/mario/custom_mario_logo.ia16.png new file mode 100644 index 0000000000000000000000000000000000000000..f5b872e8e77d4652e14214b6f2856e6eb54f18f6 GIT binary patch literal 793 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=Dh+L6~vJ#O${~L5ULAh?3y^w370~qEv=}#LT=BJwMkF1yemk zJy)37&w3&Rt70XRt82O%L|C5p=^+AG#Ht|;!HrcAtMum0FaIX z;>>myuy_`b4FWgI7#UtLBWN^B8Gup~*cn)WDh-T`4Hy?dOaJ-UBl#z{4czGLO*=J=?cJTvD`{bRMtd8_k3wSUb1 zBlV+-d3}dLiNZmNqsHb7xQ~}e?>;YZ+o8m%eT7?+RK?OA-cNr{U_0^XVZjD7sa}E5 ztlf84U4EJJr*40~8)KyOF2;VtFW)YyP44WRdp=!g{R6}OhK3xS&i zH{Wk4)?k>mRZ4ry{r8{U79V`{`m5A(7Z2U}Y!L>Y^M38|E#g<1_(gQXWA9nGeX7~)vk^YC^`9NQ#=Vbu^;NEWy?)D?-=8bm zX_CDDx^c4S=9?|yjkkGwK4@$b`ukH?tb5OnDwiTe?YVIN7g7wU47f-J{y5aWQ6EhcOt`W$w zeQlApGe%GCpfPX8mwS)Y43Z~QUF5&`wJP*$mF(v23Q8+~nSRmR!x)?~m1F0ec=zW* zpIhaW-XHX6dhYyxLd~29!GALAcs+P)qC`~oUpZjCs{i20^;hgCm_2_pIj8mjD1JR% L{an^LB{Ts5b-W^G literal 0 HcmV?d00001 diff --git a/actors/mario/custom_mario_logo.rgba16.png b/actors/mario/custom_mario_logo.rgba16.png deleted file mode 100644 index 0af7b8bc087499f49e1c6a09ea0e59c3cc4719d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSK$uZf!>a)(xX9DRF(ktM?Q~1N0}4DWivRx`2P!Ewe%Lt2 z?_p-fqf`Su4ur0l#x^vE8kFC`CdN^Er9U+u{H-~f{ci=f2KJuYjm zv!t2-PbgMt44vKmh3BEplSYfi*yZ^}{$&jbP0l+XkKRGVRn diff --git a/actors/mario/custom_mario_logo_blend.rgba16.png b/actors/mario/custom_mario_logo_blend.rgba16.png deleted file mode 100644 index 637a643b26a190e77ae7cf176fed63bc14411920..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 621 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzv(yOBG+$pWAd^9Yfp2LQ1B1E% zoMvK_VqgWzFaj|Lqcof?08$?M`YsEQ;>>q*D+ckw;Fi|5b3g`Xfkz}zkna!(Gm2_> zH2@81^K@|xiQs%2qPwZtK!7h_YsG8J9geDEG9EFOPK8GcTfJ1oj*H%sPB<9IzV5^x zmCt6r3cN3U?kC)koOL(9{^zbEhg>dnecGIqf2~S7AsGlu*~;eMVa~m+RPo5-*~;&~ zWo_m7)7leH6e_pgYgy*Rbt!tX?ex>FOTX5hH+=Owq{ldK`|K+mv*!A#tL9mCd}P>` zdtS=ax0%2FFwgo`r?%K{%TTGD?YdDX+t7{2K&QKBUz0{xMeg;|iyteVm}y*pEgDj$ z=BacupI3ODhtYD&(?-*jl0ud*IyA%i^X3x{k<*sE^R_u(Emo zv$0IE?{uC=FP~3;ZmD*Kx#eZhB(+PIOJ%>Wo^n)GWO_eOb6aA-K8}VYn}j8XD>euJ z7XPtNUvF V9Qwd$qCEB)JYD@<);T3K0RTAF*fanD diff --git a/actors/mario/custom_mario_metal_light.rgba16.png b/actors/mario/custom_mario_metal_light.rgba16.png deleted file mode 100644 index 1c7281938a9048181c2aac98b6c763fe14a4308f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1519 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1%ydNK~!i%?ODHX z+eR3DHSK_e?3OI(KtvV53bY8&;=q#ucPNm>K$mv!-_pM-O93w(vKaMZl#2m+FhU_P zLdJ;93lb)M??^dTWmS?by9u1<9Phi6c*pO3zmCc`06wzaTP)T6y~S4o>i*v1D*<(X zZ!vQfaO%Ef3pw%;z)(KHsh$5)F%tm|Hm?$~;dBsmH(~mHq*;oi@~Hmg%fwUyT5LX> z%VtRkcaRkY4hQ=heKrW`q8Z&&9y$*u5+JKbYFyZ-ke)cm>GnrgxV*!^?ba^hlRZ1m zFqr#6t^+;epc2tgjB?ZAcvf6VfYy@oZKp-c8>C#=P_3g0YVCwi;cr9?i@%XEG32K) z$r{{hb_jJ51Kh8u74OhpU5*du*m#TpDc@#uxkbQh#y=%HKkTB<-iV6Rgj7^q>p{BC z7QJMjUSgkz$}2hE4Xm+51kt3`3^&gU?mwd|=>Fd;vBD2*kI>`w81He$_5thRk9gmG zjMde3DjMPO!#2Ksv4jVBiB&GKz7%13{RLLu0xRz-5?*OBq7#OAb$(ut77tnPjC(%( zjz(jmT5md7Ui*k85}^5M7&`~J^s9_EloDz#{h=VWhKWyOkXN3u6>?H11*WS$4y~aCJP!dKCL+IbO9Xz8UJxUQ+Aut)xMqMjotzU!LSRO(nFuK? zZ>XQ;TF@HupJ~c>XfBZ@qeaaQqV^V|D1__f?7Q6GkQ5It=V4T+uZHF?k|1-~cukxW z=ls*duUYwaAmzJHf5qxjiM7`s;60+kE38@m8kXHQ8HSI7kjA8g}d)aFZ%<+vs$DhG}<^P)?X_6BhoI z^)92FQ_+5XP%(8ZR9gnErGiUH3VtOb=vIy8z4 zr}2a}wr#76EN@M2FRncSMxINr&@n(`W`DZ<^JmXk{{H)Q{e}cM=xzN{%iNT~=h>5p z9)i|MG6VtV>62-mAwGIerK&d-g_`000js`j#-hdS)}NJIN@G$7;0!681sI25lR}#># ztt?`OH`uHxnR8ZQiga=Noq;TUs4px83ngF_e2)yDAj=ZQyiWJ3_5nj?18%?<6^?9p zOHivW6~u`QE=v=RK0ArY%i@24y+s0MMfIXmR%RbTRY+$oqSwP`K*0Ztd;UK|z(4X_ V2(~gpMd1Jd002ovPDHLkV1f-O$KC({ diff --git a/actors/mario/custom_mario_metal_shade.rgba16.png b/actors/mario/custom_mario_metal_shade.rgba16.png deleted file mode 100644 index a2dd26abea7acc82cb90945fd9bf398e18abdfd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3665 zcmV-X4zBTuP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D4dzKiK~!i%y;)so zTjv>myw&)K&g4kcu4LA5ELtNeEXb!2Vj0?4g_Xq@p-N%H-j(Bv()cRLWj4l~i(NRq z*pgkfzM2bLQ^7itvcZ(F(HJ(61tFFpARX3`qtPOrUP+}X+VgxzvK=RF60hBBAM2d& z=RNQHyuY730HDk3|3pWt5D-rr^~CY;Zhy2d0F0viaq42|7ThqhAs~wb$HHxQ^1AWq7@AIUEa6=R(0`8PBkK`vS8sZuW(rA~V$^IY7wW zf@SfJ@2&H3sMA2wNny&0W5^=NXxzW?A@oQ9vW|lbD=WCTuz({$1S1U_(d;ZHrjKAW zcLY!0y@yua!$#m!f$(j@-ZFRL`=z+<8vN`~;Jb|m*3FRA;17khxv)dU0s~6OL!@Pd zjldByt`T7IIM;9wbww^7N1Lky8ijfz!9P|ehDf)CnRt$KZ8W~d8@?8RLN<%#xh2dF zkhA=Aa|?s#=Ydh)4~N%#zy3WgU;iyU2_SVTJ$2jzf__A@a)2#9SzI5kpkmz6;B&w^ zjnHmpeYi)@yyJxU=CdjMX5~#J;}HgM7oAoE>0}%;Gbu!(9XR7Qa=8TBG}g^l4NLBE zI0q6~_o_W^_tQgjfGn_3Sil9RfQU`a^BhQOVgZQo#iZM7K30q8Q7V;;Tf2_SxGp2> z=9wFcCQB>I#Y^Gp?am1t=;s5^xc{!XhmhgnXq(mnujjL{lPZiNuzY?6 zG1pAt%1X#{kuo)#HM~`+Jdhh606+}SWb^o0p327f*3;TR?frzAzkGh#C|zRGQ%cS{ zSzN!g0nBoe08A8U6y$p9QOh(>?JE+U#-5`#`oB!JCJ;i zt7PnAnhE)Knf#gfX6LDO+eW(R)ZI`ymHM!WkTM8`9*yL?$t$N9NSm{^(!87M3i9$yUO)!Yd@ z!+0)MOXzrXV)B+E%yK4hMDbdRo)hijdezh$L-zqN zmpY0IxzjXw4w$0VM>zNgUJ6Qv{_x>ZOuT#qM-KCfK9AF>0x~(SofzbTHi3ErxbqCK zHG=lFcd>T!ZA{PQ5Fek!%v2gD=jTma`}Gh2lffGuWRIngiQ9PAi5pPl6~anJNTuS4 z(-y9q!l_dkbcecV5%>>^H*xRZ9wvT}CJ-GA4l6XXyaEgpl)-xzO2sN{rmqGOtZ(@6 zx<1~VTEZrCgU3WH+6F+iblEwMgVU#&{m86Eh5TO;`j&n1; z>0i9c{{Vh;3;2>DFice1L}HbT*Z+h;JBq==S%$+PK5gAWd8>j9^F?WW9o6baXlb&T znjA-)nLG&Y(nyNfV^?tvXJ; zl%Wjr8@a7!Tln5n0U`vg)wQs(#W3V>)!(3DrckT;^o&LbfO6|8GRh^1V*C5RXJ4AQ z^gA^SPco<<2Eco~BAOT?S1Lckd-?aXyy{Q$p2DP)Xs@o}-L+K|OYh@S@ftR0eI+K9 zK_~9u6s^0MbMWeT8Yi4rP+&;SFT9B#A78{5jTY*yDk~8^M`#fQ-awNi7HbgTqyv4$C^Kze;v2^qMw(p zn1rQFx|lC8K3v|1hnsxTF;&2;l~72sJ~EkSU7iQHZ`x%HI)~_+S9zE#!Vh$!OLB>g zqFqLj+1k@W{gS`>_yX%&f%`*pOlHS1PBKrOT3N#CjTRIyZXA_Oj;TofaNd4yiP;Jf56Gi4~%vs=(5#q9j?i0l37DZ+_td)+prC>XK5id81w=vRP|` zO4$e!=1?OJpIO0`w770T<@3TjKZqWEBalF_yVDCdVU) zMh`G?572W45HxuzizL{Sv*git0(OVv@dNC)au}mUZk0D#ni}{#(&b6c#?()9h_J_q zbcf_;h-O@zE}X}3M(yU4)7dwEf}7XX4d`e^>&s(F+W;sGYJMGG(p}R!a8s+gYERHY zw4FdF5n+C%KoPbq7K4=xHt(`T@wpkXF*fe9U5%KW5O>m4-a_pzHSD}CIha_u3O zyu}5RFQNyACAZAJx*T2o$`v|`*F@5$+tY=cI>gj?5F$n~hJj;K zak@8{!BvG~dIw$qn3KRETef3|e4|MBE3s^`q{iriraCYz%<-m26@LBE>YVh_!%gf6suC5xF*E=gJL%Zk!07Qye#huIeOcIc?r<@>Ro2ER)6pi$f zg@t)cKSl-GCMvePvJ5xiVWz-bpf;My8Bz)7V_3CA(z`^$RF`P?Cm}c2-cH?+-nDd= zCqtHAE>h2-x^GUOyXc_+h>V3OoXtOZCNANp4o*V3*#(m%mDJ|v_ck7nCN^S7a9dwl z@!YLsn5M#KrVc~fa&xh4A>3l*ag3jPZE*SQWj1R(5_>oJBu?T<27Mm8=qmx}Q4q4+-*NjEh}lB<7dP+xmXZqrDrkVxs?yb6ov+@A9& zG7KN~US8!YPk^h8uqFYkg#6S`n45>wBLNT@3>gx6dV`Z>hG5%lxGOF2XZG~|L68?n zPf=gVpbtV%aRWkVNW`ePtS%ftrJJ5lH(x;|C{uABrf4X6P`RXUsm<=MrN;uGPYMeO zV*Z1}u1o^TB1xVV3Wak_R8Jlb)L}>Q-X*s;3W}((bk`+|Cpi}seJWd|(wboB%EVSH z3&!vtEh_c>I{zqoA^>)ink9!Gq2>hoey#_GMAdh6g~iig**E0hmedhe3+l5AqkazP zd%$k$8N8nxjh}zCvc@bVFbCH|Q(6od)M|Y2N_!NfpEV&@0RVM_+RC zImrr==V?&_HCgr)lgb}idX9uPUxXUO*j+H9{7Rb`mI)|Nk3H=Vv6QwM59Lyc)-EwD z$eVKp1h%CntMkWvuNrQ7V)~x}*h`XKpo9+sg&*==&Y1u0QRo`4BnMSRvUCfZpu~DA zFn#eye`!^^MiUj3=-&EL)l_iRaq`()&h|^+H~@P|Py_}DA;C{6Xgnnhqi~VNLo0@g jX^nX>d&7rsgMj}67&8u#jnJQ)00000NkvXXu0mjfHp~7n diff --git a/actors/mario/custom_mario_metal_wing_light.rgba16.png b/actors/mario/custom_mario_metal_wing_light.rgba16.png deleted file mode 100644 index fbc8f4f181660a6380cac37d41f1f7e4c57ed75c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1848 zcmbuA`#;l*AICqNEt}20)3nW=HQS^DBtz{;rs*N_v7(;KVR?5@2_+RvX!WaqzC{2qBhnRP6Emc zM1&m^^q8#h8UYB`U2S~r?bQVqzylx&8vqdc_%FdANdPLifCPepr2h5jZ|{s&)B^$F z!IqX`-{$|-r22~?fq{ouQv^!{=9@r3;bS}i9CNg>Ai4NK|EBc)xL_b&b|a7mK2B_T z*JHACbd(!B-a(t7Nj<5Kjumg3NS9gG^>&;8T0PTwVGSKWk`4X3j-80j2kjiRSybej z&F-SYt}Fb3pL`*j)};`O0MRjJ{)MN*Oi-DG#5D1ZvnkAI&(AtU|A0zTq0@qPqDxJC zAxDq1s2el<9b;zYjTsTvLLfBvV_Pyjzx?}+0o~p zJ#L8HgI(M-Tap|}Ujr}l(2PXI;vGOZaKlD(e@R1MyyoY?m9bl@PrcXzLQbj9BL1~&M(w(mk z!5aveiJ8~2wWn%#PkO@@0Fk4w_aPc|OQOixi!Q!cWusfIcQ$?U4M-l0Oo87)Dvvc54hLM<%BfQ>9 zKT<-xL1R7*8##0c8Jfd>L7uPgCHYYe79X7f0CglS7qBz;5yI=vDn%7>R2#26ShZdq zV9k_a6W+DQ2FtO`fzGJD+_{V2y?t0Qe@yY@>B?-*bdKyv8m%)OCzLgLrgnz`(b7rhg{`j+f>j8LebXm$aK;hW zgQlSGQ8?#4gZZppd;p6YiZkbCyd;#Xq$pA)#2lL824+JSWS88r9|7qpb3Z9?7S1IK zyp?-R2le4K&ED<|vxk_hr^}xtac+e-&d&gD{~=5%30kW_k8k5u6Qkn^8Ui)B`MI|`e}*2+q}x?)Q9p1 zWD9h_m5x3-fAT(1&~k#&3i&f!=1t3bZ$QK=J+uiaO$}XH*cD#;JBAS6e-O@qlpNN| zY3XP*yMe9(Lzt;e^8$EB)BDHUH?1Y{;R=t1$9QEaVtdggk#V`eZ!_?EXsPPCa;;}h z8>vQ7Prf&#WTq2c>&Qj<(s>!ryR5MrXxDC!AgY2=?zHD%N#H^9a`~GS=LC^oO^02= z%12I36#4TSEkR#hj2n;y=B;ddgpul~F6?=T?@yP93QkoCDf5DL1{e6qus~K@6d_#R z33mGzPe!+&a<4Rp{{-U|Bt5kZ4>MqzZW|QWg`$Ph?$L8pCBAwXTW|0+54O)(bD^eg z!rp5npBXvTo_aalYNy(&nM>9qt}SM9+sc~TN~NUk{j%()hAyZ^NbeN0SzYZWK^KuQ zI}S0F>A3u%!RiTTuea!Z+j^AF1^*1Sf!FJPrPPw@NqL{B*7~4Z(*IG)|TpKF4wWzGekY!@KP@hzAOZjY#BHoC9d`-amATNK z-5ik?TDuDaZ)Y34ot^fs1?&e%l#u`c4d{Oa0Tlp(yA$B9gn)|wdFY?@OA8$EE`$To z=<9##|HZg=W8bb34zhOHZA!fSBcQD288QF>8L_dnxaceRE$?aUxHZ(OzzvkiMCr@q zpOp~a1RMYK*?7JIHkb&?Iw31h%aVGsevux(f4}m~Sm+bek%#P>)~2E_U71x?gG+uf z+x9{AI~uxtL##Pg*2?3-6?b>X(a_5t@1C5E>6=@56t@&5v@u$DWvD6epTW8Q;=Mn7 z74JQ33zDD$5_erkB~|ZU*8**NaAB*qU|nMj^~$@3+L7)m?Nf`LqZLAc z1Uet{ZqCNBjL(Lr@qrKdIp&-BCheWqmn)*>t&h#9iyJr{Se!~uwxwsJOI`DN!_P9^0HLz`U1_iz zb$4c+Rp0&$ihF;-1u(ySVyK24VdIXFku2pl6Z8kt%if27-1jB^SXX}_M-qv<2f^*I zT@ekj?C#V3g}4~z&7_Qw0FfqbbP7b4wR6^3l{>H$%mqCiKB~_o*qWZZPcDg}(Zj{m z4#DU>3h6(#^Bv6mW>Un#kr_a;iZ7)&*n)|jT-AE1X$0Zmq$Dudwz;|RE_Pf!iV@j(bVg{DM1eBRfNxx##HiTD;C$S%~ZZiW5r#oqJMW%VJ}3lN?!#| zp@=~BeLC~$oZc#oY0>Gc^oPIn62ntu-=F-E^gByj)lmJ>nbb;YFoXguLHVd*xK`uEr7;J$AmVI(0~eyB`tThRWo+ zFC_eoT-_>MgvPU0jG%$d{hVPkP0Q}GK(|Qq!+}|_s9&gw!^?KTwl)42$X#gsn#5x3 zk$q9+h0=`|g%I+Ms0HFk+x7fuVj8<@a5xx73-(oV#QKnOYO{j1`l}xd)`1y?*;uN+ z#90}I9(1gsD%VQ$;QfYl8@bDNhmMMOGSW)fO#4B2BVo*UvxP&%1XHWDs63-80ic+a zLDb~D-o4Oz_2hm{5yC3$AZWlqTsf5U!NjvgGwgTH_aOn%WgW1m>2gjYp!-#16#)yk zsw<$&)L3%4wuUDw?R1{jr(8JockO(TlKlP(z3!V?2%Rg7|_H0BwNr(v7}GT<@)s z)JCf#UW#lRyLnQtAKVjzTX%wmnAl42<_PEC>CA~sk8{qrTJRjWLYB6vH$--F5S6ZZ zEw-Zm7|qYAMbFDU_q|Bk8p=WITWAli`9viHGJUmK3~x-I1ff`u39v-D?o(+jBYAw% zwA)VZLdrWjCz~_%4APR6toh6_dxYrPuc+-ee=WJUc#7xsjUeV}{^2?cIKl0Hro-D6 zs-V#2W&_ayOUb| zm=loQT8J%yJmnzqAKTC!KMLSt7%PbD7TT$vgwwK~qB~wfW{E>@S&Vobu5=%!PfDj? zWJeFD61>_p>?0fbK4aM-X4AC*?pF;AM=ZP^4wwMa`8U4x8S6GQTv@INo938$$Z=$oKy9XoNz zG54X^q|Pz#GxF@J>P^@6ZBo)>Vp8&metF)rH%4A*=anck`zCUo;Zz%!v^(i=iz_em z;X%(Z3ilJj=#zlC-yqeG9#iyb!oY$7(@Yb(y%Zc^(vo-wRx0SuFP0P=D+Oq z#FUI|B@+XREAR#s!*{oxLfx*^zr{23Y9Px^;FIaZ7qfnL;d)ytCL0jaPyXk$Xh^~C S+5i8)34o22y=5&57yB>GD*=iC diff --git a/actors/mario/custom_mario_metal_wing_tip_light.rgba16.png b/actors/mario/custom_mario_metal_wing_tip_light.rgba16.png deleted file mode 100644 index 86b0ffaaa16bf1e9380e2eb1a6e3df9408e5a8c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4363 zcmc&&2~-o;8jeb>EFucVKBYJYK}56f5d=(Fq6BF~5ya|bW`L9=6DDC*s9I@J6p0E7 z*rJr8Qp5@>Vg;9iiV9lAQrr+hz$##ID+r|%mX!9`%6qTpy__?d+?oIW%Xh!;zxQO5 zuaD<=lc^>I0%5$^OC-hb0DifS8;gIhNscJMZ=*C)&jo~nYU@Y%z$nB`;zl4G*=E`U zzJrgA)m{M_0>RW$e~lt!?0JtsFwx5WmTQ+wyaf=dq<}CgLnzToHEvBHIJrctK`0E- z0x~2-u5u=Ie0!P%$YE!aKU+eRsD((V+$$DCmc;t_L9t;FA11lXA8+CmExbp+FK z^Zv0=OdJHBVVS`NE8wUZ&2#3Wa^XVKenaAMLWC+ZHxO{`R#h4tIHK-WwRi71% zdt@UJ#O1L0ONMzYI+=&CIb<0u<8XK!CS68j3<(F9PCpw3UUCh-)G_^{98hS# zG?yUZ!yXL^O(6&RNhts!z1W;dke(2jt?3^rj3r~!@O^?$27_^qf(T1SmN9V3GPnpAVl#s|GMRx>e^J=) zo#KC381z<_yoDHg?ih$PGB9BTlMmy`a9$eH0s0yG&&Pf%Lr2yJ2Uh6+v5-zw{dr(` zFLR>4x$O;hL(u@*9(u+1Z=ixV^|X=l7vE6@c(XUO|9`7d55`CT+lFtD>;M?U4od?E zv3`i~lNdh2!5KOR>PLp7B%;E_kKqT!Z1cRM1j1NAEOPS;6}Ii3hu-$GO89JxY2KIX z$On8JC$AoJah)mGGyp4d}?n!A=|+uDm=X5Ug?^Ug-4ZPh1(RGn3$ihest`o zlGEE}S{GZmebJ(Fvbp_1?axlx@~Oo^6p5B%b>mTUPuq&EcCTK&;&6;|UDF<_IGH~# zbhp1gqnQ{Jkd`@j+OznEygV#xe%wME8=G^MRNH{LMDLW6O1QA-(u~A~$sV@;hiePm z*1zhgpCzoK<`mUk*#RZ&OH^%=5usBqoNnEvCzCQ~oUu2%Znxd5&g)h};^UKM{@>|7 zD*V2+vZK+}!Yx1#E!#xg<_Vdi{Epu&0ZZ7hAe3J9*P?u%)bcvz~ zX{|$!X^V@CL6|4iFKPP5(XPzDeUT2*brQSG62wr8{Z#Zw^6c!T zpK`x&BhKALTw6&`x6;Lu5+x5}{EbECf$xR^E6c;I>Ylcrr^K$VYra#>tbFle)imqX zQ`$Zp=h$gXyG+PBxF;a8+_QGM>!mcwL&t?hLHk$7e^^cSQQv60`}v2r$A)1MaizMx zQWK|(^%;$!Gac8@%eNsvi9NTmVq;CJhqvRoak>LeQ%JKu|2F08c3{H#?wm6Ze!AsN zdZ+w`*EFeP!L{rin16`IT{yuT{Cw_c;j>UBDn(Elm@x#v4BG!KUt@llL{Mn{pzdBhf6^bPhMHb%Ce(`3)uz=lzqUwv8J&(jRErj0dr+{4&bI4z%$?$;bs{>bA9s`-4iOgVE>4Q8YW6+V)w|85FES*g z{e!;c*I}=s?%G4kw$6LqJsIm=d>@xcweNZ7`52nI_Sc@exUSBG%NJ-jAEyM)`$~2G zy7_^zyTuPRcjs&gqFl4=cJXcP=y_JZ$uB(U@=nLBW$Os#{8cVxo==-oOI+6evbt}~ z_DL=#@~V%NZMq-}s&Cj=J!MdZ#Vbx){U=BF?W&IyPTV|ZS$+rqaCxbB-*=S>+VSa* zb>=w}ve(tP*nCVZ0R>r7Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1?WjcK~!i%y;&=C zB1sgjO3dJBiKAsWX9Ob=IcKr!klCo6$heHms9hU5lBh)vYGXSNNvpIiT#xHk3y!_F zK26g!4I!1>r09R$`(C|z^%`Wq-xtTA-ENCK&+U;voOe1MySpD@7>dDQATBO0#A>x_ z6vBIhFcA3)_pI#61~dv_XKYtjSK{X8MqFNAiqD@viy#02L{x_;&KB%+(yIrqEWZXux6YUz8*NRmW6KR=6T9*In4n*9F$evM0#*C&&S7(YCS zLxUzqqmiHpcED{NSrgJU65AP8L$VnZ@El8?TQv;dcN+2k59 zcfTFW<&r}n7mJ1N+@*5LY1uU=P15zlo^2ee6954+5SEuyL#D zhYOfvi0FQW6_jm9z!EJjH6FA11XoX!DJmWy5krHGBg7V?9iQ0`g8^F36I%j|CMc}z zv-$7>iWoUZ0aISAYGXiO24l{KUFwa{p3r7!r-Bt!9B-^Aq??8uZ-SS#2Q0Y;cJ#18 z6(hJCwgmn~i2Y;hC*%lueSN)?rV9@+S-3{DZO<9*SBh)AS?4pf1&(7Vjvz8Iw;jZE zIu(kYRZs|Ume4{rf?@)g*`~P!ypW?QcqGp#$ao6>JK(t#AG28^eoQ8EibZPU(hZ6s zAovjPp|`1(ol_alDVUlmGf+W*JkBkIaa*oG^e!GycwiC7Vyhj zywM5KNjJm=Y9pQpHMUd4|&5+{YoS+O1Dn>|dOkGN^0F64voMpFmk z%;kH6TLzyar`PrT-}WG227=`6pe2T2wezHiCk%z2b|(1fDtn=#rSO0w*U`@tZi|mL zl>j8AVIgJ#{&hkcZO9$gx}O-eA!b3w@!RhJBY;F@VnRP-Pn6Ho86k-KXmERNCR9iO z@f_2pf!IL{;C&=XkvaD5zk^h=CuA4YzffW5FZ@3PIJi1*=(jsX?3;CdJVP&%o0;@ z40>Er>cPrZPcy9X4ZR-`s0UuwYRPXaKw{i27jXB_smbfcX29+E7Vz)OKWh@Q zyw0->HNE+vf!1%>OYkk=?yoG}HsTt~c;!J+VhXh1|mD{CB7bAaRZ5X#S}UAi$B< zSZ!I&=6xjWkAV*$Cw2vp3(and&-cQ%0L!%@eqVCJ2qH7cx diff --git a/actors/mario/custom_mario_sideburn.ia16.png b/actors/mario/custom_mario_sideburn.ia16.png new file mode 100644 index 0000000000000000000000000000000000000000..fb48687f7bbf1aba2addd4a502d109aafdaae787 GIT binary patch literal 939 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DkxL735kHCP2GC|TkfQ4*Y=R#Ki=l*$m0n3-3i=jR%tV5(=R zXJ{nM=w1R;v?DdbGtJXei-7~kVP%kFWMyCkvb=y;8p;MaM}v_WEY1XE8!|F62mnu389}4l%D@1WoWRb&0#s{YWNg5=0Aeo4PSynwv!(&rAixAP znF*{i$kGDHg6c9fFaXK!ys+5F__D_)pt^8R7srqY_qWp)PI_e^(sp?@1E-KmgpL@e zSnpHY4H5G=x>>qeWgakGpRI4+Zs~h@+TFKry7u1pQTLto?0>P}C6k#xYR}YvK0YnK z_!>u#+u|)Zb7q}>nl$hH@||((*ZuuiF(Yq#Heb8*BPo%st_fSCmcA{!ov`5Y%OBV3 zAASFQ_s#ceo~6q#YcAdLR`Yze@rJv3b1MXG9v@nAWuY1KnGmlag|8C-W_r8pvWa!K zp5EIrsb0fqq4L*M=F?A&Y~}j>dc4#0A3ce8{#{`4WvjlF!<;+K9ryFL_b@uXnsV(! zws}b2;g=<^4sq{|JHO`oYnH^Yt#Tpxwz_(P7jnz?WHEpKd8bvZaIUefK#j|sA_IvF z|5FuaF&!!2J$L=lL<62%wQmo_sjPdrQ>;CMWsUdui5VtRGyAy=IGT-<-??t_h}quE zXYay$Bj)qcQ?2nDLTv@lKF#5{>0g@0=w!nBx9~lJG#PIB!Z?rcQ(jbxZP;~{juWD zHj9*P3(xMhW>)#XNiOMw&k@c0C(C=zNNuq6Puo26wER#0bd3vY@h-oj3R~=T_%3dC zco5*^(U;1i`P1uI-9~%om5uKew)5_v{hzIFH)HZYrVmBhr*C&omIoy_Pgg&ebxsLQ E0Hal3r2qf` literal 0 HcmV?d00001 diff --git a/actors/mario/custom_mario_sideburn.rgba16.png b/actors/mario/custom_mario_sideburn.rgba16.png deleted file mode 100644 index fd35b50c1f4c3dfc9ab94b5c53f83392435d6fb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 655 zcmV;A0&x9_P)Px#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*8!lvI6;>1s;*b3=Dh+K$tP>S|=w^aF?fxV@QPi+i3@dnhiKu7yti%{_67%;i*lH z0(`rsSDh#^&xl%n-^(-Qp8e$)R*jjd`%@mq++{McWWV!ryMk_m+I`gnMsGJqhu4OCT54I(?=!4-SyZ-Zd%_f%C9=+sVi~W0WHxJvmN@!Sq^IUbM>3OS z(FRtRQ>KUHoie{Gm^e&s)_rjDP}sb>^b;&mW>>ySZ0qQ}y?>$VAtkjV-x)QJDX$e| lb`$t#z2GD39@_;|SRZ^X|J}c9hbGV$44$rjF6*2UngC17aoGR> diff --git a/actors/mario/geo.inc.c b/actors/mario/geo.inc.c index 9a6ea4d62..d5cb62297 100644 --- a/actors/mario/geo.inc.c +++ b/actors/mario/geo.inc.c @@ -8,41 +8,28 @@ const GeoLayout mario_geo_face_and_wings[] = { GEO_OPEN_NODE(), GEO_SWITCH_CASE(0, geo_switch_mario_cap_on_off), GEO_OPEN_NODE(), - GEO_NODE_START(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_OPEN_NODE(), - 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(), - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_front), - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_half_closed), - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_closed), - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_right), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_left), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_up), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_down), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_dead), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_NODE_START(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_front), + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_half_closed), + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_closed), + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_right), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_left), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_up), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_down), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_on_eyes_dead), + GEO_CLOSE_NODE(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_OPEN_NODE(), - 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(), - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_front), - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_half_closed), - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_closed), - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_right), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_left), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_up), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_down), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_dead), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_front), + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_half_closed), + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_closed), + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_right), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_left), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_up), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_down), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_off_eyes_dead), + GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_TRANSLATE_ROTATE(0, 142, -51, -126, 22, -40, -135), GEO_OPEN_NODE(), @@ -103,12 +90,8 @@ const GeoLayout mario_geo_right_hand[] = { GEO_CLOSE_NODE(), 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_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_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(), @@ -196,41 +179,28 @@ const GeoLayout mario_vanish_geo_face_and_wings[] = { GEO_OPEN_NODE(), GEO_SWITCH_CASE(0, geo_switch_mario_cap_on_off), GEO_OPEN_NODE(), - GEO_NODE_START(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_OPEN_NODE(), - 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(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_front), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_half_closed), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_closed), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_right), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_left), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_up), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_down), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_dead), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_NODE_START(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_front_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_half_closed_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_closed_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_right_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_left_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_up_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_down_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_on_eyes_dead_transparent), + GEO_CLOSE_NODE(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_OPEN_NODE(), - 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(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_front), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_half_closed), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_closed), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_right), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_left), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_up), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_down), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_dead), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_front_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_half_closed_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_closed_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_right_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_left_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_up_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_down_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_off_eyes_dead_transparent), + GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_TRANSLATE_ROTATE(0, 142, -51, -126, 22, -40, -135), GEO_OPEN_NODE(), @@ -291,13 +261,9 @@ const GeoLayout mario_vanish_geo_right_hand[] = { GEO_CLOSE_NODE(), 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), - 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), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_right_hand_cap_wings_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_right_hand_cap_wings), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_RETURN(), @@ -599,7 +565,7 @@ const GeoLayout mario_metal_vanish_geo_right_hand[] = { GEO_ANIMATED_PART(LAYER_TRANSPARENT, 60, 0, 0, mario_metal_right_hand_cap_shared_dl), GEO_ANIMATED_PART(LAYER_TRANSPARENT, 60, 0, 0, mario_metal_right_hand_cap_shared_dl), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_metal_right_hand_cap_shared_dl_wings_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_metal_right_hand_cap_shared_dl_wings), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_RETURN(), @@ -700,23 +666,31 @@ const GeoLayout mario_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 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(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_OPAQUE << 2, geo_mirror_mario_backface_culling), + GEO_ASM(LAYER_OPAQUE_DECAL << 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(LAYER_TRANSPARENT_DECAL << 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((LAYER_OPAQUE << 2) | 1, geo_mirror_mario_backface_culling), + GEO_ASM((LAYER_OPAQUE_DECAL << 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_ASM((LAYER_TRANSPARENT_DECAL << 2) | 1, geo_mirror_mario_backface_culling), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, mario_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, mario_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, mario_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; diff --git a/actors/mario/geo_header.h b/actors/mario/geo_header.h index 7601916c0..9da5d50cd 100644 --- a/actors/mario/geo_header.h +++ b/actors/mario/geo_header.h @@ -55,8 +55,6 @@ 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[]; @@ -66,13 +64,20 @@ 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_cap_on_eyes_front_transparent[]; +extern const Gfx mario_cap_on_eyes_half_closed_transparent[]; +extern const Gfx mario_cap_on_eyes_closed_transparent[]; +extern const Gfx mario_cap_on_eyes_right_transparent[]; +extern const Gfx mario_cap_on_eyes_left_transparent[]; +extern const Gfx mario_cap_on_eyes_up_transparent[]; +extern const Gfx mario_cap_on_eyes_down_transparent[]; +extern const Gfx mario_cap_on_eyes_dead_transparent[]; 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[]; @@ -82,6 +87,14 @@ 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_cap_off_eyes_front_transparent[]; +extern const Gfx mario_cap_off_eyes_half_closed_transparent[]; +extern const Gfx mario_cap_off_eyes_closed_transparent[]; +extern const Gfx mario_cap_off_eyes_right_transparent[]; +extern const Gfx mario_cap_off_eyes_left_transparent[]; +extern const Gfx mario_cap_off_eyes_up_transparent[]; +extern const Gfx mario_cap_off_eyes_down_transparent[]; +extern const Gfx mario_cap_off_eyes_dead_transparent[]; 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[]; @@ -92,20 +105,15 @@ 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_metal_wings_intial_dl[]; +extern const Gfx mario_right_hand_cap_wings_initial_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[]; diff --git a/actors/mario/mario_externs.h b/actors/mario/mario_externs.h index 622858870..17b73c7e8 100644 --- a/actors/mario/mario_externs.h +++ b/actors/mario/mario_externs.h @@ -1,12 +1,7 @@ -extern ALIGNED8 const Texture mario_texture_metal_shade[]; -extern ALIGNED8 const Texture mario_texture_metal_light[]; +extern ALIGNED8 const Texture mario_texture_metal[]; 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[]; @@ -18,7 +13,5 @@ extern ALIGNED8 const Texture mario_texture_eyes_down[]; extern ALIGNED8 const Texture mario_texture_eyes_dead[]; extern ALIGNED8 const Texture mario_texture_wings_half_1[]; extern ALIGNED8 const Texture mario_texture_wings_half_2[]; -extern ALIGNED8 const Texture mario_texture_metal_wings_half_1_shade[]; -extern ALIGNED8 const Texture mario_texture_metal_wings_half_1_light[]; -extern ALIGNED8 const Texture mario_texture_metal_wings_half_2_shade[]; -extern ALIGNED8 const Texture mario_texture_metal_wings_half_2_light[]; +extern ALIGNED8 const Texture mario_texture_metal_wings_half_1[]; +extern ALIGNED8 const Texture mario_texture_metal_wings_half_2[]; diff --git a/actors/mario/model.inc.c b/actors/mario/model.inc.c index 6e5ce691e..9514b0ed6 100644 --- a/actors/mario/model.inc.c +++ b/actors/mario/model.inc.c @@ -37,52 +37,25 @@ static const Lights1 mario_brown2_lights_group = gdSPDefLights1( 0x73, 0x06, 0x00, 0x28, 0x28, 0x28 ); -static const Lights1 mario_black_lights_group = gdSPDefLights1( - 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x28, 0x28, 0x28 -); - -ALIGNED8 const Texture mario_texture_metal_shade[] = { -#include "actors/mario/custom_mario_metal_shade.rgba16.inc.c" -}; - -ALIGNED8 const Texture mario_texture_metal_light[] = { -#include "actors/mario/custom_mario_metal_light.rgba16.inc.c" -}; +ROM_ASSET_LOAD_TEXTURE(mario_texture_metal, "actors/mario/mario_metal.rgba16.inc.c", 0x00114750, 78432, 0x00000090, 4096); ROM_ASSET_LOAD_TEXTURE(mario_texture_yellow_button, "actors/mario/mario_overalls_button.rgba16.inc.c", 0x00114750, 78432, 0x00001090, 2048); 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_logo_blend.rgba16.inc.c" -}; - -ALIGNED8 const Texture mario_texture_m_cap[] = { -#include "actors/mario/custom_mario_cap.rgba16.inc.c" +#include "actors/mario/custom_mario_logo.ia16.inc.c" }; ALIGNED8 const Texture mario_texture_hair_sideburn[] = { -#include "actors/mario/custom_mario_sideburn.rgba16.inc.c" -}; - -ALIGNED8 const Texture mario_texture_add_sideburn[] = { -#include "actors/mario/custom_mario_sideburn_add.rgba16.inc.c" -}; - -ALIGNED8 const Texture mario_texture_skin_sideburn[] = { -#include "actors/mario/custom_mario_skin.rgba16.inc.c" +#include "actors/mario/custom_mario_sideburn.ia16.inc.c" }; ROM_ASSET_LOAD_TEXTURE(mario_texture_mustache, "actors/mario/mario_mustache.rgba16.inc.c", 0x00114750, 78432, 0x00002890, 2048); ROM_ASSET_LOAD_TEXTURE(mario_texture_eyes_front, "actors/mario/mario_eyes_center.rgba16.inc.c", 0x00114750, 78432, 0x00003090, 2048); -ROM_ASSET_LOAD_TEXTURE(mario_texture_eyes_half_closed, "actors/mario/mario_eyes_half_closed.rgba16.inc.c", 0x00114750, 78432, 0x00003890, 2048); +ROM_ASSET_LOAD_TEXTURE(mario_texture_eyes_half_closed, "actors/mario/mario_eyes_half_closed.rgba16.inc.c", 0x00114750, 78432, 0x00003850, 2048); -ROM_ASSET_LOAD_TEXTURE(mario_texture_eyes_closed, "actors/mario/mario_eyes_closed.rgba16.inc.c", 0x00114750, 78432, 0x00004090, 2048); +ROM_ASSET_LOAD_TEXTURE(mario_texture_eyes_closed, "actors/mario/mario_eyes_closed.rgba16.inc.c", 0x00114750, 78432, 0x00004050, 2048); ROM_ASSET_LOAD_TEXTURE(mario_texture_eyes_right, "actors/mario/mario_eyes_left_unused.rgba16.inc.c", 0x00114750, 78432, 0x00005890, 2048); @@ -98,21 +71,9 @@ ROM_ASSET_LOAD_TEXTURE(mario_texture_wings_half_1, "actors/mario/mario_wing.rgba ROM_ASSET_LOAD_TEXTURE(mario_texture_wings_half_2, "actors/mario/mario_wing_tip.rgba16.inc.c", 0x00114750, 78432, 0x00009090, 4096); -ALIGNED8 const Texture mario_texture_metal_wings_half_1_shade[] = { -#include "actors/mario/custom_mario_metal_wing_shade.rgba16.inc.c" -}; +ROM_ASSET_LOAD_TEXTURE(mario_texture_metal_wings_half_1, "actors/mario/mario_metal_wing_unused.rgba16.inc.c", 0x00114750, 78432, 0x0000A090, 4096); -ALIGNED8 const Texture mario_texture_metal_wings_half_1_light[] = { -#include "actors/mario/custom_mario_metal_wing_light.rgba16.inc.c" -}; - -ALIGNED8 const Texture mario_texture_metal_wings_half_2_shade[] = { -#include "actors/mario/custom_mario_metal_wing_tip_shade.rgba16.inc.c" -}; - -ALIGNED8 const Texture mario_texture_metal_wings_half_2_light[] = { -#include "actors/mario/custom_mario_metal_wing_tip_light.rgba16.inc.c" -}; +ROM_ASSET_LOAD_TEXTURE(mario_texture_metal_wings_half_2, "actors/mario/mario_metal_wing_tip_unused.rgba16.inc.c", 0x00114750, 78432, 0x0000B090, 4096); // 0x0400C090 ROM_ASSET_LOAD_VTX(mario_butt_dl_vertex_group1, 0x00114750, 78432, 0x0000c090, 240); @@ -209,20 +170,19 @@ const Gfx mario_butt[] = { // 0x0400CCC8 - 0x0400CD40 const Gfx mario_metal_butt[] = { gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT), gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsSPLight(&mario_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_shade), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(mario_butt_dl), gsSPEndDisplayList(), @@ -481,6 +441,7 @@ const Gfx mario_metal_right_hand_closed[] = { gsSPDisplayList(mario_right_hand_closed_dl), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsSPEndDisplayList(), @@ -526,20 +487,19 @@ const Gfx mario_left_thigh[] = { // 0x0400E7E0 - 0x0400E858 const Gfx mario_metal_left_thigh[] = { gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT), gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsSPLight(&mario_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_shade), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(mario_left_thigh_dl), gsSPEndDisplayList(), @@ -703,6 +663,7 @@ const Gfx mario_metal_right_foot[] = { gsSPDisplayList(mario_right_foot_dl), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsDPSetEnvColor(255, 255, 255, 255), @@ -1070,83 +1031,9 @@ const Gfx mario_face_back_hair_cap_on_dl[] = { gsSPEndDisplayList(), }; -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_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_add_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 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(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(SKIN), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_skin_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPEndDisplayList(), -}; - -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), - gsSPLight(&mario_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 17), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_blend), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 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_m_logo_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(CAP), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_cap), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 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_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), gsSPDisplayList(mario_face_cap_dl), @@ -1158,17 +1045,42 @@ const Gfx mario_face_cap_on_dl[] = { // 0x040119A0 - 0x04011A90 const Gfx mario_cap_on_eyes_front[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), - 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_eyes_front), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1183,17 +1095,42 @@ const Gfx mario_cap_on_eyes_front[] = { // 0x04011A90 - 0x04011B80 const Gfx mario_cap_on_eyes_half_closed[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), - 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_eyes_half_closed), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1208,17 +1145,42 @@ const Gfx mario_cap_on_eyes_half_closed[] = { // 0x04011B80 - 0x04011C70 const Gfx mario_cap_on_eyes_closed[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), - 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_eyes_closed), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1233,17 +1195,42 @@ const Gfx mario_cap_on_eyes_closed[] = { // 0x04011C70 - 0x04011D60 const Gfx mario_cap_on_eyes_right[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), - 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_eyes_right), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1258,17 +1245,42 @@ const Gfx mario_cap_on_eyes_right[] = { // 0x04011D60 - 0x04011E50 const Gfx mario_cap_on_eyes_left[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), - 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_eyes_left), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1283,17 +1295,42 @@ const Gfx mario_cap_on_eyes_left[] = { // 0x04011E50 - 0x04011F40 const Gfx mario_cap_on_eyes_up[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), - 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_eyes_up), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1308,17 +1345,42 @@ const Gfx mario_cap_on_eyes_up[] = { // 0x04011F40 - 0x04012030 const Gfx mario_cap_on_eyes_down[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), - 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_eyes_down), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1333,17 +1395,425 @@ const Gfx mario_cap_on_eyes_down[] = { // 0x04012030 - 0x04012120 const Gfx mario_cap_on_eyes_dead[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), - 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_eyes_dead), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +// 0x040119A0 - 0x04011A90 +const Gfx mario_cap_on_eyes_front_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +// 0x04011A90 - 0x04011B80 +const Gfx mario_cap_on_eyes_half_closed_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +// 0x04011B80 - 0x04011C70 +const Gfx mario_cap_on_eyes_closed_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + 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)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +// 0x04011C70 - 0x04011D60 +const Gfx mario_cap_on_eyes_right_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +// 0x04011D60 - 0x04011E50 +const Gfx mario_cap_on_eyes_left_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +// 0x04011E50 - 0x04011F40 +const Gfx mario_cap_on_eyes_up_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +// 0x04011F40 - 0x04012030 +const Gfx mario_cap_on_eyes_down_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +// 0x04012030 - 0x04012120 +const Gfx mario_cap_on_eyes_dead_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1577,44 +2047,9 @@ const Gfx mario_face_hair_cap_off_dl[] = { gsSPEndDisplayList(), }; -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_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_add_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 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(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(SKIN), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_skin_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPEndDisplayList(), -}; - // 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), @@ -1639,6 +2074,20 @@ const Gfx mario_cap_off_eyes_front[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -1648,7 +2097,6 @@ const Gfx mario_cap_off_eyes_front[] = { // 0x04013AB8 - 0x04013B88 const Gfx mario_cap_off_eyes_half_closed[] = { - gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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), @@ -1664,6 +2112,20 @@ const Gfx mario_cap_off_eyes_half_closed[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -1673,7 +2135,6 @@ const Gfx mario_cap_off_eyes_half_closed[] = { // 0x04013B88 - 0x04013C58 const Gfx mario_cap_off_eyes_closed[] = { - gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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), @@ -1689,6 +2150,20 @@ const Gfx mario_cap_off_eyes_closed[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -1714,6 +2189,20 @@ const Gfx mario_cap_off_eyes_right[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -1739,6 +2228,20 @@ const Gfx mario_cap_off_eyes_left[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -1764,6 +2267,20 @@ const Gfx mario_cap_off_eyes_up[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -1789,6 +2306,20 @@ const Gfx mario_cap_off_eyes_down[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -1814,6 +2345,314 @@ const Gfx mario_cap_off_eyes_dead[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x040139E8 - 0x04013AB8 +const Gfx mario_cap_off_eyes_front_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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_eyes_front), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x04013AB8 - 0x04013B88 +const Gfx mario_cap_off_eyes_half_closed_transparent[] = { + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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_eyes_half_closed), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x04013B88 - 0x04013C58 +const Gfx mario_cap_off_eyes_closed_transparent[] = { + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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_eyes_closed), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x04013C58 - 0x04013D28 +const Gfx mario_cap_off_eyes_right_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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_eyes_right), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x04013D28 - 0x04013DF8 +const Gfx mario_cap_off_eyes_left_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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_eyes_left), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x04013DF8 - 0x04013EC8 +const Gfx mario_cap_off_eyes_up_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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_eyes_up), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x04013EC8 - 0x04013F98 +const Gfx mario_cap_off_eyes_down_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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_eyes_down), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x04013F98 - 0x04014068 +const Gfx mario_cap_off_eyes_dead_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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_eyes_dead), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(mario_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(mario_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -1978,6 +2817,7 @@ const Gfx mario_metal_right_hand_open[] = { gsSPDisplayList(mario_right_hand_open_dl), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsSPEndDisplayList(), @@ -2090,45 +2930,6 @@ const Gfx mario_right_hand_cap_bottom_dl[] = { gsSPEndDisplayList(), }; -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), - gsSPLight(&mario_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 17), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_blend), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 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_right_hand_cap_m_logo_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(CAP), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_cap), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 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_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), @@ -2189,9 +2990,9 @@ const Gfx mario_right_hand_cap_wings_half_2_dl[] = { }; // 0x0401B0E0 - 0x0401B138 -const Gfx mario_right_hand_cap_wings_intial_dl[] = { +const Gfx mario_right_hand_cap_wings_initial_dl[] = { gsDPPipeSync(), - gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA), + gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA), 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), @@ -2203,34 +3004,11 @@ const Gfx mario_right_hand_cap_wings_intial_dl[] = { gsSPEndDisplayList(), }; -const Gfx mario_right_hand_cap_wings_transparent_intial_dl[] = { - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA), - 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), - gsSPLight(&mario_white_lights_group.a, 2), - gsDPTileSync(), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), - gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC), - gsSPEndDisplayList(), -}; - -const Gfx mario_right_hand_cap_metal_wings_intial_dl[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), - gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&mario_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsSPEndDisplayList(), -}; - // 0x0401B138 - 0x0401B158 const Gfx mario_right_hand_cap_wings_end_dl[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsSPEndDisplayList(), @@ -2238,6 +3016,22 @@ const Gfx mario_right_hand_cap_wings_end_dl[] = { // 0x0401B158 - 0x0401B1D8 const Gfx mario_right_hand_cap[] = { + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_right_hand_cap_m_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(mario_right_hand_cap_dl), @@ -2246,21 +3040,7 @@ const Gfx mario_right_hand_cap[] = { // 0x0401B1D8 - 0x0401B230 const Gfx mario_right_hand_cap_wings[] = { - gsSPDisplayList(mario_right_hand_cap_wings_intial_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_wings_half_1), - gsDPLoadSync(), - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), - gsSPDisplayList(mario_right_hand_cap_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_wings_half_2), - gsDPLoadSync(), - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), - gsSPDisplayList(mario_right_hand_cap_wings_half_2_dl), - gsSPDisplayList(mario_right_hand_cap_wings_end_dl), - gsSPEndDisplayList(), -}; - -const Gfx mario_right_hand_cap_wings_transparent[] = { - gsSPDisplayList(mario_right_hand_cap_wings_transparent_intial_dl), + gsSPDisplayList(mario_right_hand_cap_wings_initial_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_wings_half_1), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -2281,6 +3061,7 @@ const Gfx mario_metal_right_hand_cap_shared_dl[] = { gsSPDisplayList(mario_right_hand_cap_bottom_dl), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsSPEndDisplayList(), @@ -2288,55 +3069,32 @@ const Gfx mario_metal_right_hand_cap_shared_dl[] = { // 0x0401B278 - 0x0401B2D0 const Gfx mario_metal_right_hand_cap_shared_dl_wings[] = { - gsSPDisplayList(mario_right_hand_cap_metal_wings_intial_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1_shade), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_right_hand_cap_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2_shade), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), - gsSPDisplayList(mario_right_hand_cap_wings_half_2_dl), - gsSPDisplayList(mario_right_hand_cap_wings_end_dl), - gsSPEndDisplayList(), -}; - -const Gfx mario_metal_right_hand_cap_shared_dl_wings_transparent[] = { - gsSPDisplayList(mario_right_hand_cap_metal_wings_intial_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1_shade), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), - gsSPDisplayList(mario_right_hand_cap_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2_shade), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_right_hand_cap_wings_half_2_dl), gsSPDisplayList(mario_right_hand_cap_wings_end_dl), @@ -2493,7 +3251,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_LIGHTING | G_CULL_BACK), + gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPEndDisplayList(), }; @@ -2519,8 +3277,8 @@ const Gfx mario_cap_wings_transparent[] = { gsSPDisplayList(mario_wings_half_2_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPEndDisplayList(), }; @@ -2528,36 +3286,50 @@ const Gfx mario_cap_wings_transparent[] = { const Gfx mario_metal_cap_wings[] = { gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&mario_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1_shade), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2_shade), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_wings_half_2_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), + gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), + 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTileSize(1, 0, 0, 252, 124), gsSPEndDisplayList(), }; @@ -2565,36 +3337,50 @@ const Gfx mario_metal_cap_wings[] = { const Gfx mario_metal_cap_wings_transparent[] = { gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&mario_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1_shade), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2_shade), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_wings_half_2_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), + gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), + 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTileSize(1, 0, 0, 252, 124), gsSPEndDisplayList(), }; @@ -2602,6 +3388,7 @@ const Gfx mario_material_revert_render_settings[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_LIGHTING), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), gsSPTexture(65535, 65535, 0, 0, 0), gsDPSetEnvColor(255, 255, 255, 255), diff --git a/actors/mario_cap/geo.inc.c b/actors/mario_cap/geo.inc.c index 37546c413..806d3fbec 100644 --- a/actors/mario_cap/geo.inc.c +++ b/actors/mario_cap/geo.inc.c @@ -8,27 +8,23 @@ const GeoLayout marios_cap_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 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(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(10, geo_update_layer_transparency), GEO_SWITCH_CASE(2, geo_switch_anim_state), GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - 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), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_seg3_dl_03022F48), - GEO_CLOSE_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_seg3_dl_03022F48), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_seg3_dl_03022F48), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, mario_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, mario_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, mario_cap_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; @@ -42,8 +38,10 @@ const GeoLayout marios_metal_cap_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 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(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(10, geo_update_layer_transparency), GEO_SWITCH_CASE(2, geo_switch_anim_state), GEO_OPEN_NODE(), @@ -53,8 +51,10 @@ const GeoLayout marios_metal_cap_geo[] = { GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, mario_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, mario_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, mario_cap_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; @@ -68,28 +68,30 @@ const GeoLayout marios_wing_cap_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 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(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(10, geo_update_layer_transparency), GEO_SWITCH_CASE(2, geo_switch_anim_state), GEO_OPEN_NODE(), GEO_NODE_START(), GEO_OPEN_NODE(), - 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), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_seg3_dl_03023160), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, mario_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, mario_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, mario_cap_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; @@ -103,8 +105,10 @@ const GeoLayout marios_winged_metal_cap_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 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(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(10, geo_update_layer_transparency), GEO_SWITCH_CASE(2, geo_switch_anim_state), GEO_OPEN_NODE(), @@ -121,8 +125,10 @@ const GeoLayout marios_winged_metal_cap_geo[] = { GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, mario_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, mario_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, mario_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, mario_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, mario_cap_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; diff --git a/actors/mario_cap/geo_header.h b/actors/mario_cap/geo_header.h index 17cc175e9..fcdc3eb6b 100644 --- a/actors/mario_cap/geo_header.h +++ b/actors/mario_cap/geo_header.h @@ -9,9 +9,7 @@ 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_03022ED8_metal[]; 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[]; diff --git a/actors/mario_cap/model.inc.c b/actors/mario_cap/model.inc.c index 12e9d2a89..a6bc5ea27 100644 --- a/actors/mario_cap/model.inc.c +++ b/actors/mario_cap/model.inc.c @@ -19,23 +19,13 @@ static const Lights1 mario_cap_seg3_lights_0301CF38 = gdSPDefLights1( 0xff, 0x00, 0x00, 0x28, 0x28, 0x28 ); -static const Lights1 mario_cap_black_lights_group = gdSPDefLights1( - 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x28, 0x28, 0x28 -); - #include "actors/mario/mario_externs.h" -#define mario_cap_texture_metal_shade mario_texture_metal_shade -#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_shade mario_texture_metal_wings_half_1_shade -#define mario_cap_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1_light -#define mario_cap_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2_shade -#define mario_cap_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2_light +#define mario_cap_texture_metal mario_texture_metal +#define mario_cap_texture_m_logo mario_texture_m_logo +#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 +#define mario_cap_texture_metal_wings_half_2 mario_texture_metal_wings_half_2 // 0x0301CF50 ROM_ASSET_LOAD_TEXTURE(mario_cap_seg3_texture_0301CF50, "actors/mario_cap/mario_cap_metal.rgba16.inc.c", 0x00114750, 78432, 0x00000090, 4096); @@ -188,100 +178,90 @@ const Gfx mario_cap_seg3_dl_03022ED8[] = { gsSPEndDisplayList(), }; -const Gfx mario_cap_seg3_dl_03022ED8_metal[] = { - gsDPPipeSync(), - gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&mario_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsSPEndDisplayList(), -}; - // 0x03022F20 - 0x03022F48 const Gfx mario_cap_seg3_dl_03022F20[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsSPEndDisplayList(), }; -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), - gsSPLight(&mario_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 17), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_m_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_m_blend), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 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_cap_seg3_dl_03022B30), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(CAP), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_m_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_m_cap), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 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_cap_seg3_dl_03022B30), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPEndDisplayList(), -}; - // 0x03022F48 - 0x03022FF8 const Gfx mario_cap_seg3_dl_03022F48[] = { gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_cap_seg3_dl_03022B30), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(mario_cap_seg3_dl_03022D10), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsDPSetAlphaCompare(G_AC_NONE), gsDPSetEnvColor(255, 255, 255, 255), + + gsDPPipeSync(), + gsSPSetGeometryMode(G_LIGHTING), + gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), + gsSPTexture(65535, 65535, 0, 0, 0), + gsDPSetEnvColor(255, 255, 255, 255), + gsDPSetAlphaCompare(G_AC_NONE), + + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + 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), + + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(6, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPEndDisplayList(), }; // 0x03022FF8 - 0x030230B0 const Gfx mario_cap_seg3_dl_03022FF8[] = { gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT), gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsSPLight(&mario_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_shade), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(mario_cap_seg3_dl_03022B30), gsSPDisplayList(mario_cap_seg3_dl_03022B68), gsSPDisplayList(mario_cap_seg3_dl_03022CC8), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsDPSetAlphaCompare(G_AC_NONE), @@ -306,27 +286,28 @@ const Gfx mario_cap_seg3_dl_030230B0[] = { // 0x03023108 - 0x03023160 const Gfx mario_cap_seg3_dl_03023108[] = { - gsSPDisplayList(mario_cap_seg3_dl_03022ED8_metal), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_1_shade), + gsDPPipeSync(), + gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_cap_seg3_dl_03022E78), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_2_shade), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_cap_seg3_dl_03022EA8), gsSPDisplayList(mario_cap_seg3_dl_03022F20), @@ -335,9 +316,25 @@ const Gfx mario_cap_seg3_dl_03023108[] = { // 0x03023160 - 0x03023298 const Gfx mario_cap_seg3_dl_03023160[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_m_logo), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 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_cap_seg3_dl_03022B30), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&mario_cap_seg3_lights_0301CF38.a, 2), gsSPDisplayList(mario_cap_seg3_dl_03022D10), gsDPPipeSync(), gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK), @@ -366,55 +363,52 @@ const Gfx mario_cap_seg3_dl_03023160[] = { // 0x03023298 - 0x030233D0 const Gfx mario_cap_seg3_dl_03023298[] = { gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT), gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsSPLight(&mario_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_shade), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(mario_cap_seg3_dl_03022B30), gsSPDisplayList(mario_cap_seg3_dl_03022B68), gsSPDisplayList(mario_cap_seg3_dl_03022CC8), + gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&mario_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_1_shade), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_cap_seg3_dl_03022E78), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_2_shade), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_cap_seg3_dl_03022EA8), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsDPSetAlphaCompare(G_AC_NONE), @@ -426,6 +420,7 @@ const Gfx mario_cap_material_revert_render_settings[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_LIGHTING), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), gsSPTexture(65535, 65535, 0, 0, 0), gsDPSetEnvColor(255, 255, 255, 255), diff --git a/actors/toad_player/custom_toad_cap.ia16.png b/actors/toad_player/custom_toad_cap.ia16.png deleted file mode 100644 index ffc9bf63232b8a614aec848de67742c3d0c7f039..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSK$uZf!>a)(xWLoJF(ktM?KEql1_d6MgTL=b7Pg5b*a--G z9L(M_;jZcH_8Rd^ZtJS<9Q($wimPbhJhK&B+{6Qyi5%W_sde))+evo6dH$HzPc%8f zAoh%5c`Mrn6LyWW755qYce5M3tq_jz6+Te>$KidUmIY%H>x6$XVqfHzH~BN1moj)e zL$t!D@sf&qf@IU>B<&3xikV05PfHF+42hcMI_*de@AZk7m@kV*$ZbFO!lvI6;>1s;*b3=DkxL735kHCP2GC{f}XQ4*Y=R#Ki=l*$m0n3-3i=jR%tV5(=R zXPJ|C%MPe!TWW-7ny0500|$`9${@wa%D@O@c>%FBlnru?1|u_AoC(M_WMpCx0Mb!F zoY~F-7S95*L10-KBf|@31dV1X15j!LI|B<)rGb&L0pkLQsURC!7eGv!0%U^#6VO~H zu*x7y3m^-s%h138B+JS+<_scVH?3Pg^+f2ZcVZLeLLZsJXaH@3#`MLWTFT<~c(_h-f>I;iMVA>tu zxJYBcDy^qFrxnf@pGt4FiJYb>?z-`jEt~yu3$AwE(@e(;4;b(WurN+iY222(yffKp zUheH9#=gbV+toKjT>omv(Nrgv=6gBJ*u7_u0Z(V>_0sp1_qw*H^s%X}-2fOr+6z!lvI6;>1s;*b3=Dh+K$tP>S|=w^P@=>&q9iy!t)x7$D3u`~F*C13&(AeP!Bo#s z&oU?PmK{*dw$upEG*3@01`Z&Hl|hP;m4Ok+@&aOMC>!J&4Mt|LI1`X<$jHPX0HmXU zIJ2DvES?2qgTVeWMur#62pY{&2B6dgb_N!pN&_Qf1I7gqQ$aSeE`XRc1;_>gCZM@Y zV3k3Z7C;tMm!W|HNOrZl^P=qgPji7G(c{^1zbk)hqUE{cu0v zwcTv{i|>b$yHt<8_*HG$)f>0${rs|8`5}qJ8p%-+D*P7iDWrmEFYO zpP84}ckTN1%-mexU-RuWCzXHuwJu0YzG1yijkL7%mR-BF{`$|CY0%fqWt_dRXvh1z zadC<9AEr&4w&(8MSVR8i+w<$bbcU}CEjgdy@{_Bz>C5&gUH$pz+kgC7J9WXdi+S5u zUd)*AdRNen*jxP8K@!V%@hMxhTh2Va~5TM!#hQLowI=`LcGL&Sf)>w%!i8dTyeRn htDnej_S?5 z{P>absU;3?_9<)?=MWT>Dy;LFkm~#BjdscFzoH*BH@+;1`VrCaX!C*Z0Zy0fn_lnq zt1+AHt2NatXvf^Mv5U*jDsGQc{BG%DXTQMg%#C#~KMA$|j?UuQscv+9LDbryjS*jd zHf47*gnhdDEWIUS>N$lS@87kTYuL7aeta}$%CC(&&!$_Qc`NtWTCD!%iHMn(oBOXD zajr~m{JB~&mF;Fs+osK&Zzi4XY>kS^w*QdW_n3t#{zSyQ!^Mjqm{#aEd(UPt7n;62 zBde_IO?s+TyK~i`&kPg3s332!)jaS@kOaIpg1v#H93#>TV36BjgABF!!Ig|U3$+}`>%t^ znwLY8O)qn!R@~DFos+x`Pr4eJzUb|K+aS`3^gT&J7cR|zD;!Ib6Vaha_7j=OAh;< z`! z*DYUVkjXqfSm2t4wYYv?O0(-`ZtWAljUSzuYdpewzo2r86B=JS^{bT-BX$yj{>bz`?%3LxxMO_YSv7t!c@=!w*bZUL3vQ zd2{m8T$T-{LMb2L{g-B(IQLg#N{#E`|LQ!8_Rr{+ZFKbLD7=yPLbd5d{Li`n;`Why-Kjc5iPjL3;-h1sr*jH7Hm#%MB`xY#m z*s91~wpP@|NvUkhBD1@7@6VpeDqkFLI3?!S!8d2lovZnLcJ}vsZ=&TK@&)o=|LT2M z&$#|aLvhG8-D4`L>rzU7C)IO&7X0z7)VrBg;>r8}Z*+C_t6qkW~JG5*7}Y18)Hy&G%D-+X(1-Ivbrm7yi)6I_0BwKjd(9;K^4|9tz8KWnEh zn07I5`^t+M6JGBM+7Ww;-#SQQ`7Sn+aXuaP4rRIoE-S@ zxdq=*y}6ekKTQcmnBg@A{riTKJY!j z>5_fZ>z#fzX0v^@rg{bKn0q#MaoJhL?Qx3VEnV#F7nq&7vF_z3q1NBgSv)({jgBvf zS{t-6;>*vb`s_}IuuoT?rME;(J*Tka{k!&Z4cpewkB`Po`L$8!*>tNjZ{;3ai`Bn8 z5i#>}bN_WC&XviHKUXWJvfYen+q9YU&7`xPtx+-A_8$`a9^U0fhEBpH62g(D^xqaji>6u#B zBpemff3Za7=_wvr+tn9e-sDs@eD>@S@2{lK-al^Z%Bj4l6!+jsP=EQ7)1;#P*5#u@ zvMVA2I}UPY#_Z3yu{AiuX+LY>W8o>icUW!fJiaJ31{5bou_ov7eygjSuF-MeefUL1 zu}kmSYX5aGS@Uv8vgu{kZ`6u=8liKNx8X@wBhweX-EX@Dw>0$MV{#QZ(jnR=#Nb~p z81~42W%)+~;X}{u1#T5hk`9R0oKx@OFg?3Z{9xXMoS43k0u@Occo?Du_9aiR4}Bkd z!PTMt$HBigmbLne;+n4P?mqEz?S$#sk)JrMH$}9XuUvEUFjK(a@R_sLa@E)VJ^TF2 zY5!=B^R@!3JohHH%n4c?w~XEX-r@R#^X?eVu}!t>Gkf7ID1U&Vro?b(Y_-d`iOzgZ z%R5Ex965T)Vc&Bfa}L8oxj+8rly;vxH@SF+`|8v33+mf4teE3p{J6T>PeZ)RC^AQ8 zrAe!&z{R$r>U#gW<*N)bnWqN}T(hvQ7uWAgX?ESrt$pIR@uL%yoPTU`n$%^LG+iS> zd&Y!A2Rt5eC|9Y}9y3(u=5!6+Z}VWWbf$xfhvof_tGW}8w+mVaIM_FM$Z)Ck-r+W> zH7(h9_<~6@vd$@?2>=V9Z~XuO delta 281 zcmV+!0p|YI3)upYNq@fp01m$aI0aKA0002)NklN~kxND7cXQ(6vMg=WG%Um}hcPK)KYw1WF~-()ZC4PxT*_OB z@;mz;7&P-d(=ZG)O%n^T%kh|yD8GyE!5s}IEX%^`x{j)Z`CPJzasWK{7d+A{{lr( f6h%=EhUg7!+!E<0{!huX00000NkvXXu0mjf*A{?W diff --git a/actors/toad_player/custom_toad_head.ia16.png b/actors/toad_player/custom_toad_head.ia16.png new file mode 100644 index 0000000000000000000000000000000000000000..cbc4d5da0300dd546bb00f478f04112033664f8b GIT binary patch literal 808 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=Dh+K$tP>S|=w^P@=>&q9iy!t)x7$D3u`~F*C13&(AeP!Bo#s z&oU?PmK{*dw$upEG*3@01`Z&Hl|hP;m4Ok+@&aOMC>!J&4Mt|LI1`X<$jHPX0HmXU zIJ2DvES?2qgTVeWMur#62pY{&2B6dgb_N!pN&_Qf1I7gqQ$aSeE`XRc1;_>gCZM@Y zV3k3Z7C;tMm!W|HNOrZl^P=qgPji96a^2I#F(ktM>@>rm!v-QQ!dfpDG*414VD;kj zIVoDi;sxaDz3|;K>#BU@#$?|^=l=Zs=5nugn#}3jf9v+|T(Yic{|vvmjk80pw;x_~ zKg7QM@XshFhZni4tY0@N{L#L;{cEH_F$2dw|F08XUpy!KK>2F=s_!*xKI@$@WH`iG zbLyz!!M&0S5*@L6ed>x;408YG>^}7Pmv;k4(}(SM)D@R8*!)o~KexPTF~dcjJ`8%loHQi*v9)us!Q`NX%=!M>v=McfD$-7^W9D zOcYWdXgpk+yKB~6jt9&ymD3pczpu&DVKOk~N&0<7Y!_Qo_QwhG_pVNpVH9|MB;o%I z3)Vx2p8}mM#?Z3sg1y=_hl+~t%_+a*?N6$-FQ{4mrQGVE&E0O zaA7C2z!@pw6C2N|AHFEV;Cb7${N8NFuX!7`upD6Zso`swA^OTnG+{!lvI6;>1s;*b3=Dh+L6~vJ#O${~!9|`fjv*25Z>JyRJD|YfT>Ah2c|Enq3z(D` z3p@8#EUH~>e7Zimhcz%(Tr;SU zk8V6J7T}-9JWXK9^)*b~9M_yb@r5w+c4WK@w^!4%`X-eZ!lvI6;>1s;*b3=Dh+K$tP>S|=w^aE+&nV@QPi+v%Qs4GKK27k}T6RBdEgQo`W1 z`$2w0MtwZH@Sb`82Ll!}gj@X=s=oX3iI&FjAmfvc z$vmbRzVohrJ;)HI>aH4jD6*0DE5nvm`8DNb3{$)r-acLZ=R60{>J1Dl@_YpjT(e$u zTQH+^;m4y^8>E=NEOrxUPIC<4f5+$H_~~~_&(HZ2Z?8|79m6!^e#e&Sn?CSAWG%QX WXZBC<)!lvI6;>1s;*b3=DkxL735kHCP2GC|TkfQ4*Y=R#Ki=l*$m0n3-3i=jR%tV5(=R zXK2{PA$AU^Xh&*386(3BW(19HD+2>iasoR83s9|rk+A{e0*JXFJ6RV%%$f#dg8&oI zWG1l6AWI7%3#!Y|zyKth-1cc+-}}cqfy^tOE{-7)?r*0z@--{)xFr7ne?EgZnrq7z z^%W|gRa+Xq*=VUs1$#a8JSTObDe2wanxglua(9YzV)Gq%6b|Jn$1z`6C6P8KonOZM z$lPR>4cYZauSRGyZ?%@HmR>IR|Ak~gb6Qi_L5@dFCd}b$_g$1d%aE(LcISmv3uc}P z4LBccGi&XkIa3%z1eRXdUo70Uhb@k|KJ$PL`<>-Cc&62|Mu}z2GoPY%?3dE4N}cYu zwc!P2OXsX(`xXCS@6B8(Q-isws~?z6Gb#AGOyi3x^WxO>gI}C)Fx<*=lwtXKZx6_? Mp00i_>zopr0GsWdO#lD@ literal 0 HcmV?d00001 diff --git a/actors/waluigi/custom_waluigi_logo.rgba16.png b/actors/waluigi/custom_waluigi_logo.rgba16.png deleted file mode 100644 index 9214c95ca81d0afe271175faa6f58f04ed468e67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=Dh+L6~vJ#O${~!PTBFjv*25Z>OK;V-VzVo%#QNx-chaV6Dcj z*4-OtynLJK?c}4$>b;ifOjAtW(&g-9E}@-uk!CRw`Mq{df?^R>p%Ak+BC2yFkZMjOM&6zRxjo4 z$`)5!4~oA&kjHVMU&@j1QquytOXZB;)6KU0JbmJ=<_@*#4A0D!-fmoc{i3Ww-zU diff --git a/actors/waluigi/custom_waluigi_logo_blend.rgba16.png b/actors/waluigi/custom_waluigi_logo_blend.rgba16.png deleted file mode 100644 index ecb2b6d5ca4b586d74b6cf1b44944c25ceea0aff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=Dh+L6~vJ#O${~!Lyz&jv*25Z>KqO9aa!<-Rd1~*|p=7&92i6 zH=PQ6B)F&Tw$9~us^u*H%));CHhUy&~o516q` zv)nr{KwEfLv< zzj#-(aZP(y^j7M_J!jeWyKQ$&VzgOfuRG3lpUAk@^okn?<0}bQwjRR(>B9yNvMS<= zQwwF{#V?c>BrI>>?U_(`&T+1D^)z$lvkt}qHyZ@}lViV_s4ra~4fGg;r>mdKI;Vst E0Iywi9{>OV diff --git a/actors/waluigi/custom_waluigi_sideburn.ia16.png b/actors/waluigi/custom_waluigi_sideburn.ia16.png new file mode 100644 index 0000000000000000000000000000000000000000..1bbc64e7cdbaa5e5972751f1666b09a7a1dcdd1e GIT binary patch literal 860 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DkxL735kHCP2GC|TkfQ4*Y=R#Ki=l*$m0n3-3i=jR%tV5(=R zXJ{nM=w1R;v?DdbGtJXei-7~kVP%kFWMyCkvb=y;8p;MaM}v_WEY1XE8!|F62mnu389}4l%D@1WoWRb&0#s{YWNg5=0Aeo4PSynwv!(&rAixAP znF*{i$kGDHg6c9fFaXK!ys+5F__D_)pgImu7srqY_ovf0PGd9_X**t4qLDduOPu3d z**)#oqBCD+Y>g^;;kIwioina##$}IkHr}_qnUZwo|MPoC?&O|L+x$lVXJM_;vB!me z(!Fk#%P)WI%`QJJ?8&P${dA3mOxoYN`)5UD_}br;?S8uD^Us{>XOpFFy#JmzMe&&% z>)W#1-#=A;5;^d)giDI!qbT$I31=97E>C~@{rBB-R~2V6p4{IOzx+Yf-d%wQ!@o7y zgmh7nzrMM{$-BG!hP{a^UOJ>#Q#XXDwl$FA{5oqt|e@n$@<@k4fU z)tws*$NSl@@!HS#{K>euy;QXkIuQOmn>!Qt-N<^o$xo5_0wLcC@Er?jq6{#Z@ zsLXNx`RAIwan*%E3Qnny4ty=KDh+4drnbaM(OgaFW`aS*>B$G2Gg|%@?fj9wLMZ*~ zGTXIsHGx`cCjz(M=A9NACGo23@|i>Tjyzncb*!a0i}!_xKo&>mq16T&g?g)b8*cJj zKAOSs(z(TjRWMy};RWu4|GCeIuZ&q+amIl|@L6?^)#e33g&a~0SwHXQxxe?FGSe}j z>RsW=ZZ7VnY%G1x%XV))?l)V|Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0qIFZK~z{r<(J`+ zf-n$9@k&rjP)pDjv<0m}dvWZ*9vm$}Z9z*=DS_j~EQVYb;S6&>?#*P90GDs~OW@Yd zdc98mk}umwV?Li}wCQx3^?JRcF}IJDh#J6ZwaWVaenRuv@At|5e$Qx^%f<9ukM4l* zcs%UrMYr26db!_90JqyM7(j^D9H>jQ0N8&!terhXcR=h<)6`yhUh`@73}_Cx*9U`v z>7xfw$9|rXHzG;^vi~9bH99%;tve9ff0w8MRN3#|bH^VC(A0jOk^P5g4zRGB8EEz| z77IK2Fo3$*yMZx2pU>t1LKFw;X3sP7{tLejpelP;+zpKJWHPa{Cnf-`SkUmrU6Cqr z4&U{9E$jyq0L21Tj4Z6deP29Zu*hB$2jGy_wBs$!IjPw{#Ffm__S~ zlYL&Am9hupz;HP1upmwxkH^wtE?nn+eu^83(?a4dEVY1dN_fZ27cs)0pjX8X7FoK9T6&BtG;KB!stvQ`eW{xPY?mL^SXcRyj iMEPg*3I9ESB>4u(<$i5cx1G!Y0000!lvI6;>1s;*b3=Dh+K$tP>S|=w^gS4lMV@QPi+i4ehTNDIbK5}hf*4`k@y@|zo zlL+@kHk<+IK0?;#nx7vx53C(Kg&Jt`)J(Rk(& z^Bg9fztt1oGFX3S4-G%?t0z}ow`1;`U3$A16bhcryT6?|h-W|NowS10oQ%6S-sjHw z-j#1(5FoxQO!S#`#LxfD^ITmfu{2n_urxQ{U!lvI6;>1s;*b3=DkxL735kHCP2GxZTsmF(ktM?evR$4GJ8tTmS!mE~M@!Y&xZ6 z+VhiPkK-I>zqq_WO)1Yo`i@cKB_Y!Qq2&y353gOmk+(zg!8iGvxx7&`7ysOC2ohH?Pmoo!R$Kz~0)wZkpUXO@geCw8Wo~x> diff --git a/actors/wario/custom_wario_cap.rgba16.png b/actors/wario/custom_wario_cap.rgba16.png deleted file mode 100644 index 20cec34f59a3fb6d80fb55fa5ae151a44fcaaacb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=Dh+K$tP>S|=w^aDk_bV@QPi+v#`t8WcF(wtlaF&h>oGER7uv z+bqoQT{$lKFVrT#Nzq;IYyqRVf%uJ^ZHE04Yi#`37kpS{;ZUn*D7>QiM5E~6--mlH zio6kd9F+A<_JRiA6sx@r*Y-A)F-(}2@yT+xL(9a5FIE|!>~AuL#yptLbh_B#wTVxH z?1V`bPtGl4kgM}%Is2$iFwoz#XxV?sod-M){IQxAHzl-=Lp<`asvp`8juYFOhBWVz$$|*Er2Yj zE<*zYknGM2i;avgdu#%lc-GU!F(kwJ>5Pp*w;cr9&aYhH9aQg_eyc=DRPQg>OO3aC zS~V+MrtI*Y?!Li0rg8U_ZPqIkL@#LmI(I9%bdFzo^cj`M^=ZdfU%vNle|5Eb38H}&mi?(+%k4+7@Qn>+XE-8^%919rb1X)$kRaqM9) zc_ZPTD}87-pMbO4{kwN({;t2eckjBxf!|Na$ji^ZnUkizuRMIqxqe2$#`v=$iRTgw z3jDU*H*<05$^AK1Z&jVPIO~d>6OOAqZZp2E78l%d)c1E;v_llP^XfMYxAL||ZQZ2W zBCdVo$~(;pLw(V>sm=lG@98zH*b;O1;pC=mliBO~rZN?**wPx?{Xy;|v;FZ?^I(dSg zvR~q}N3W`t&K!03dcr0N?+?Ld{qS1nrv zbPxRTUnz3JZkiX9o}Ql1`sI4<*9L%*-^{g&)43|0E3vT97<@-D8c zY1q(oZU&pY`Z@OJW`!)Vb`cywf37$d=UVNKi|4eR<2P40yBtjqpSU0GxzHf2qi zwoNZlcxrfD2t zcA&L4F`+Ntw6;G2QeI3f8yi5`t=H>x$+blM;tAH3dlTNwTi{o43F@b}2{T9;0W|l{xMyS!?uDKI0im$oq)Ox<&|=DbmT_fxxc^n znN6*4lZ3k9(Sj;J>SDkb?*|R(@QTs5rWnrbjqJz9?|E^xva=OWPfx{awJPTGdHEXT zjFs~f8s#PyyDVu!Zav!U!Cvgi-Wq(v$I{n?1}3j+JAeIsPv3CF3+W%6Pm9s~r8vKN zu~VzTDICOEt%K?@7317vFU(qgd*08n<+E*Pzipm7s z{c#P;=(}swaB*>A#^Z5mv>{GH>U%@R;^0$yb!cC83`tUDfl)S6Mp%>cFJ~TEj5cF} z{7#AMy+O)8HJ_${A(^gplZCNZ9ynkbjJ-ekiZN`Ml%ggfporB+)BZwYa zXvTVd&^Q6Lr4+$ONs8riIgq2EVT|8gHz22#qm8eX3D9S$?lJ++tu0e?c6MftkB`f? zoMjDPVy@{)jfoywXy)`{w6Aq{*T*Me#L2>o_z72|eRJ}|buw^KNtxoTE@?;dDJuep z8h_{o+&&xg>n?a$<$kx5^jj>O03ZoAgN2k7*_@qpdmSoTC7>-oZ(scpz+c-Q6)A;4y}?UQO7SSx+&XHviF=|gP-T96a! z{6rnw(kh($07*qoM6N<$f`ItD A`~Uy| diff --git a/actors/wario/custom_wario_eyes_closed.rgba16.png b/actors/wario/custom_wario_eyes_closed.rgba16.png index 9912d5a0ceee11fcba671588105d8889732784c5..b8ec165eded9134c2c781a6b588d5c08778aa686 100644 GIT binary patch delta 998 zcmcc1x|U-?Xgz~uiEBhjaDG}zd16s2LqK9?UWuNcYlwoWo}r$hkuals2?GPej?@Ux zG*3@01`Z&Hl|hP;m4Ok+@&aOMC_4zq)?j1?i!%Y)hKx)Mfvp`8juYFOhBWVz$$|*Er2Yj zE<*zYkZi2drjV6~q;3G!-Sl*E49ReQI>WZ;kbyv}?;7 zTkqzrzWh>zO>eH~=HKmHT=g3_&s3Huwvk&bbk(|D;6}xj{c%SF-alB#Z2VgDgy=Ha zfV-+r&p!E<9@jl^#p!r}2191~&X}~DLSMMGEA;Oc|5&w;t&W$^F?O%e1C3z4(jQL@ z%0C=9W-)_7Myoi`iqo5gKc}Zz*TDT(wA@WTZ&v>eyh(Sg7{Bv;^1Au{d+phJ{^y@9 z&#f`PH=E^#_f*GI;xCwz>+W^To-rrvUsJ-zZ{ z@Hq{C_LlI{EwbFUWeT$FZ)OXzo?9iy!R#Qp->R=P`EkdsFD*}w7+FnV-r~Pb;5Ex; zp4?mEw>9P+4raL#abQ8eT?xttGru!Q{R4G5s~xzec}d%dyLi=ox98Y zxOP~s5KEc*o{@uv@gs|T^4SLmv*cZh)DqtU8Nv(#67SxNWJDYPVBm=g-1AL{anGwm z&g`f5yxL=^x@gDSyi|7o#0OtB1s8X^nW?NmWtc1)Qm~Zn1$@Q;y{mrm*S{lEM=K);#kXf+dv5*r-gQp~|dMDz2YmN=$ i|K8B}*8g&$UwL=!^)umT-G@yGywpW6OM8K delta 660 zcmV;F0&D%P2;BvcReu6*im5QI%uIYQXM5m<6I4#+WJM~;x4Lpy5G z8b+3kWs-WluWAZQoEFBeC>Ud2b!!r7g^gL8qsLtbsME{k(tVykhjEUN%}2LhuYbGa@fag4)fKvkNAtVO z4HFb%t63wkIUEkriTZ6J1Th}XFStnkCW9-etmmLs*mgjD&k@opH}xHl0NV?S!^I5H zcIWfiZ@GyuFYI8c-D~*jzLLC>hoJ7>9FQnmF8A=Mq4nZ{U1L%JJXBgSw+Krt9@sS| zN1#RfTOK(MOMfk%;26YpYXM3D`AXStw_)ao)9Dl|>)B5!LTT~v1;+9ytpT~jJaEAQ zUNQRAq#zlb9evGt;6C)A@A(L7F{Txgv!9y-g!VCJDLBS9C~Z_MNJ9NUFc)rT?MrsV z+N%$MoV~S#+cz7}0S(mvsP333HVL}}YJ+>K+cLiTN`G{9FibdDomwGU1TPU%(wizC zcRF^WwGdq#TUvFr^;;~yRu=z106_qrynKRt-y58p^2TU_R%1ya>;zovy=U({I|uJk_bF&KmKMUD*7@JqeaP*L$iOc$C8s+D^-F)=+#IIlUOED>>UX={U=7EV zTGWPiNPk8X(y^ysgS81cQ}Qsl6(Kr8n`*1pVw3UWK>~vwi#`R(Pi4T12gx1*V0Iu; zyaoza<6K{9;c8%Tn2Ra#qQZl5z|Gm%8pm!DQwUHtN~uZ)j1|3t)VOACHA;$8j4J+Y uoT&!?8c+KW`m6jeK=^%GUc3NZ_YFyRtdhax{|z|+0000vp`8juYFOhBWVz$$|*Er2Yj zE<*zYknGM2i;avgdu#%lIN8(1F(kwJ?TodPq#Ol~w`&x{h}1tna4grgQH8J5rRj|J z6T=Q>75{=#KA8pUDw-RZL>4gR8U0VInkkz${idyl*3rMKc0Ef@ui8~@r>MSEr2mZi zTss|k#tSbGe-dN>GV5&_cE&+T zG;2fL`jt7K|NQZJS)XIJ+p4y5;`F6Oo;uS{cNZF}F>Q#6gQ&D>5)U zSn_;g>|>O>(bC(ZH=p6ht51x(7PK=L8m@~xcy6=ecZC&fDLvW@9KUMJuA6ReW$v#z zl5WlLy~Hl>+st~yx(bd@Ja?)KVtZI~FMN|bVE*HTwyaBD;|^w3?SguirquUQb!LBf zb1%04zAtq9c!A}f^q->Mt`pBc*F4W2zBEX1uAe)Lqr$v-^VXf)(|tEj{rTseFTVdy z+87ZaYh7R?ceHNv@){|DfMV$-d<^F~thtU)Tz@rd(cQdmr-cf9?adN=?I|UDYExJ81COb$j6{-t(Q>$VBI#>#)I20W~gkxy*8_E z+3mNBHitA$(AU=wX%|Vo@_4tS#XV8QpjT?Q6O?mW&+5g0@cqhr+$!Cq%zaAp#r&JU zmquC6@KM_oqBYSmV|UbA4OhvpKk@|n%3V9A>~c=f&T)&rEq--+z*&zoj$fBw_Hw9C zUJ}4k+3i=;61QHx`>2xSwG0!GCO)NPD-|cNyDT}WyM5zB;+;%6Rf7y%OWP_~8H_LI zn4Po`n-ci`faN?zL7;2SFk}?=Iu}ijZ?<5$`i8^QIK-{XNPf!uhx2wdmNPu#H0Ses zaQ%At#{2W76kTubE8aZ8wS3ZAvra~idOt_?WxJct#WFP)#4?`YbCCS{UbQ>#a@b{d z^>ww32lrhRdZ&8ba>BzUWqs)$9@C-^Z2hnJYI5)#ZHE3ufBN%_uK!dz%keKJW*yU> zD`vBKZ9A^)^{E!tJhkHZ_cbXOb8m6ne#l&7c>llJbMc8xy;rjR_}HCeix+*}#{2#1 zcQ42K60PMn2Z~y5tT#RGE%0L>+sPGEcDcsyoo2~UQ1|1j@za@MyIaFkuB7W7sJt_E z-~QwLM*n;|6u$;XERPc@Vx8;#?9qRYb1UR^A9kOtF*%aBZ^I*&UHOW7ceiD1PHObO zBeri5-!4s|Z~q+bnm+nArMG{bN}grk>GLP*DqQkD3H_0tU-^N7<0Je1ONDj&4c&D? OS=Q6l&t;ucLK6V(Gu&(d delta 930 zcmV;T16};*3F!xrReuA1Nkl74i;DU>d3@&xCk?;{frLvMifyANf z+9>!2ARF1JfQ(CQ6p3na*L{|KFMF5Wy}g+L(}ri}o!oBr{k?y(cel{UvP|tVpX}$( z^3eeMxwE|aGoaCE*ej(Zwr}pOsN4Z0mufNGHLYfAqe_{pqkolRmC$jYx%7Iyj0CYg zwU?XB@x5IdMRf3G?8Xwkx>}-Fm6KbWYu;NxI)})7I#;XJ%8aXMHk+#5Y1`47vIgrG zt3@80cqCn3lcE(vG{)nxDac!Ec~XimC$vqvy{<{hZ2--F96y@zwvmQ&y-}|_@fOAV zl6kMVu<;P&mw$MzBtW*cn}l5Zw*0oBrt)(E3fmCg<5z(9ieK0Pul4H_nEO6dJjfht zSc}iL@$G`>lemhiB-zsaeqUW(UA_FgHMzXJ%toV;dGg1on=?($>vkI;@8=i@NMTsJ z-8ORv2M2aVkh)EX=CWKaP2uzTT+t+HR7x|R)pK6A*?)R6UcYdMa{s=jJpXpTr2#zM^CUY*W^UDESHuAwH#Ge9phw!W~G9T|6j{>~=hcqSPsw$*B7lgT8zzP>hN zjIon&9)B}nW-UJAj}~LJ851kk0CFW~UoG0-pqCkQ1KY3G=WIR^s%ij`(An9UNzgTt zFC|-u=`jO7ZWG0b5i1^~0hn8h_BZGyxfKSkX=g0C0fL)!r_=Ez>y77F4!&rJ9@;6m z4Y1~mV=Va}B994g8lKF<;n0qh8Vm+0Z-*fGqJJTvO^hm1auuQt=sK_YU&}xC$`6Sh z9v-UcbZTdmIzK;Gx3{-RNteL~Uo-@?iBYBJ=IYkqBiaDn$^6|-S04g#N$B+SR4o<@ zGuB&G>4%oNW}bI-ohGmrAAA8VG=Uh*hxEwN-2rY5UVQh3828R#vc8wN_QAc16z0CR zJb$l2@Wyhiu3mw1zSN+ngSI{qdH6hf*-CmFWzyBJ?S1vd^G6%ol@sCd@v)tG;r{;K zoX$>8P8g=12D3!H0zdSL`P)3tIsf$^`uk?iN3;PTO(>&9-+Z-7#N0ZUZf3eO=2aR2}S07*qoM6N<$ Ef}u3ozyJUM diff --git a/actors/wario/custom_wario_eyes_down_unused.rgba16.png b/actors/wario/custom_wario_eyes_down_unused.rgba16.png index 9eaa7dfc4a766b4c85da5f19a7c7138497491e75..47beae2585bcfede270d13c6d95802d905baed8a 100644 GIT binary patch delta 1204 zcmX@d{+4rsXZ?N#2EP4_7OcT43=9mCC9V-A!TD(=<%vb93;~Imc_n&&t|1DhdWL$2 zM#7BlB|t?xQX@RmJUz7-IDi~h1}R2X21X#u3y7tm>>wapgOM35&IDu|GBPm;0_i9q z&TMA^i{}8@3=H)Q49m(G8D20WXmo2C7=V%!*cn)W$_G$0!U zn1DtzfmH@sS^!y4U4{k*AlW@4dn&$OpLG{#;!IB$$B+!?r}Z;77Tt0XXmizC?j3Ve zHt%v~kmJiet#=P5JG^xF*mdEVZUN`i z-Tqs?wOsv$sOv;oBfFjNn~xq8SJ=r?wRhg-Lq9Z5FXug|WgQf=l)%{rvqmKP}2sf45uP>iO}8 zjsxq{gcHwYm}t$-*dN=`AhG*XvEHgWZE>~`vnLBydfaAwyStZT*P~^%)4d&{xSdyT zVaVNnGsh}Y=uo$M#PxT+ALiJGSA?25{{3=`VbP_cjc1p0?(&oSVHw7CVA-X5(OY7P z@+XX`Lw)_Xh zk2}O<8GAbAX7}eO33Sgma;-sHM)!IHf4xgzR`R~ySS`MPF6;c=CM(Ui7hODCJ$V+} z5(SRPx9k&nIp*dk#~qut@rF&!FV1!b_Z^2Ur*!kCCHQRL=(#G`ted!`Ac`_8N5u(6C~ zxoBE1xZr)~xjV56u?;(9w035C{*#Hb`Bxk@jdy=t*{$0Jb#?R3rfn|z?3Ei(#2@|4 zpjxbEeBZKN?K3lc zmS4`Xkco2qesI39_+swa7EOBf5gAv0b~+ZXy}R4Vo%ztkhf8dNX6<1=akD?0Wv(IX z>-+6J$qZ6IIGy&hTWqYH5$(uX){uMpW&fkXKWi_D{@J?jebejL+4r^@J6~gSNI%o= zf294#L%DrPbu}6FeFf_5MHBB!*lDpI$gq*Sy=_nIy<5dU&wqcssW&2e^VhKT%qf|% z{Jz&Jjq=eV>0v33Bo(~YPHlcE&Tpr#*qmbca6e?J%4a29Whk-RDHx} z|=^jdG3EJ-*{iF=c?kiWi`4cAE!D^FLbKh p_s6hcLB)0RgZ&-M`VQ0nva6R{@8$TrZ!;+4db;|#taD0e0stIw?sNbE delta 915 zcmV;E18n^53C;(QNq@iq01m(bYSxJf000AHNklwD2i;!&7WRDO*M)u08YvAcsx$}{eIF>oy<^2JAdyRBBU*fbB1b^xLN_+ z>FIP*&&Ov|chT*4Rj=1myWK9E;a01H2T@nwl{Pex5yfnV7{)9Xi_8i4+lCRCqpm*d zBJVd>(IB&ugHWSo2e|JhMzp1k`_8riEiZI5g$7{R9gjzO$yJ1O;SH88_YmIHTTWN* z5ae&K2@pz4&VP0IgwS^IpcrE=0XS6JqG=Lt5j-fynA-wvEdL^Pw!^K0C$J5&xOoD~ zCZsE6Fc{dDl*8eWWmXzrB?)E0!x!-BD2oAFG94&T1y>9|HOU~RGtwU$U*qKaUiW64 z&*x;n-zRY#n`;nz%=8z0m`OBxm}rD+JbYsg%!N5IH-87(pwVa*e8A|c*4@)Nvx22K z5cTfEA{oUm$;0D|?&=4kAP{1?9~eJ?bl02_u5s{L3|Imhp%t2?SnM>Hd8uG378;0O zWE2izkLB}cK&!Rsqb$kc*9*_wVrb=c_F#HTnF}mZ~wGPStw7&JHgeP<$&8Xrsdm zeK7`O>%g`07$m$2`0>jYG^00-Dd~CP3+$LK~i; zPm|!Q@@@$LtJTWf-!AYBecqGc1e7hMP`2A`M1Na>gEl;~)kaj&>P-OOOJ#@2a=BEK z$;24SKIp5EBeij=_~%+n&o1d|fZ^(}mR%{X?*O{*;SPo}+8l`UF}tFQfBqd{&BUP} ziRN4ZPt)`&;TimPkXONGv%wowaU2_`D5I?{$Ul5z4xfLnk+f4R5~XK=-cJ!Z!rodR z(tolG{2}oWvd5i$N_-n_wEv+Q+S8gFZvrTD){!xt;pofeHRl-DmR^=>Hk+y8aA?ZH zRaPp7A^L}J%pv)QCTP<|V-&pa?SsqT!iMOBDWPQvaqK#)61apBh=Z@-zo}nCYYF&U p3H}cFSNWd+`+K+Cc>vp`8juYFOhBWVz$$|*Er2Yj zE<*zYknGM2i;avgdu#%lc-7OzF(kwJX~fI>g97`5& z`OGn8O34qw1-{~P2bbP`sJE71>heUsNi&};^1stHRp({Nw@NkP`gu>km8`zHeRb?y z-yo6J8!1~(y*`%oSXdyZQN`2iY;XP2+OUT&*DzS9EWew#-Q)6>8^YC51^tDaRx54b z`>@qnX6IUNZc&G}88-9JAFWURx8hx`g$KXO?z>`>PrCTVl!uy}<7ZZ3v7T+%Wcjx) z-uhwPYyqZg5!2#d9{Q4f$3tPW9{Wb8RQ7`Vt2q{G=H1zz$Ec+%p_R(I;LRtS{3WU# z;$<6F-AVqS6vq>HOz}i{zG#ES)H&}zbUI!>$XwRr##FGvq&0N%hQ0@k)^3aIS!Zd~ zOP}6ycvqA90^X84HjJU%m$a8&emO;X{fx6|R-4!TT&I#?JD=~zjsxNXj{-%RcU-8- zO5Al&yKVj~m5@`04*du3J!j5-IIkp1I(fQtdufa9#17_^*TQ@g zp4KUdFqFjnw2|UItNg(<)~TaY)ncMr!R-17#TzOsPJQUP{V82V?@%erhGfPaXQTBi z3}pC@zJ0saXw|D?hP|9~=FL-k{`@(2I`^9e((DtrFnU(8eTa*l>MSsYGkV>+btU%s zookb#bHuHamfsNF&D~UJ(;n-+rR12Qd>z9rPN98f2j*YQE98@Ce{U6I!7e8)p3XXF z&YTtU^-`Z}^q#!eFjYHyRdj)2(_fzN^-rE}|0A=k{nv30j*I7ZYB5;7wdrU+?EFt5 z#o!aSxA$+gkdF)o*ZgjG9j>r3Q}@tOao88t_507hJ;F|DTd%x&JpB(tQFuwh6qb1I z0%^PY$Ujr$4+U1WgfE@QlFrI-d~tfrm&31f;$`;h=QGvc@c-tWE65>WZ8+CwF6W6| zkx#4t>!*+_L)5$K%(T&apJe z%ssR>|9+{b;%xKd|K$3Q9P-RLxL0|i#2s7d8u$73ueMLn4qMDB@FT$>Al38lkFS^6 zW8DgBjH|CscM1LA(9`yu@tZ*b=?#zM1$E9{|1Z8?pS3j3^P6Ygnl5Vxy-CId#7iC$BOXi#Yy;v$MpePF6 z3iGEc=u{uQ6#%1TxZm%Wold80h=vjLG0t^U9H|R;%~T(K9Dh^*H~RkmE;j3p>W64| z+T!~9TC7$pv%O?Znq90u*R|eX%n_xt0O^XeFjp6 z$_{YbrwCD(Z``)o0#sg5RE-lr*{#=Wf5~M+e&G$q$~}dh*javAhai7@rvOK(H~!4 zn>AyLqwg+CbGW#`32q01G5t6=KQ@nW=W`nXKKo+PkAJ`B_zciQJ^^suD&e?JxNm^Z z!85K~=la~1rOP{Nz=NxkDg;l0&k-V~mn%LFblib+2@j4+nw|k(`p~6k=a#S2FoDO% zN6~7v%H?vYPTb9ABevVE*zM%SqQ#}zY>Jzk8zJWu^3+x*yL%Gz8wk&&?c)CazI=Us z6(1iTN`HsbXvj2ak^YEwyRB{nIS2j}qtQrf#;HueY&KJWaUn4LrUo5Cu4R&7-NpJF zgo2kOzm-rja7|(izr*2hf4BO86F#|}|ALexPe0{o1YO$Yd_Grwv@yn^Qs-*}jQMo; zYNfJ?wyWaG6Ay!`bO{s@jb3e%xa@lwi-|c`L;C7wcuI^_~Y;s^e052qFnGgC&&|vN^l+ z8+OVdD*?F-pFhnOfWNX`gn|drGXMstj9_?{w;f$#!GjbXFYwI`e%}jISpk4;1q+$g z+&7gQSeAY1r`LYf+XvAEWDqiR^c&Tj%dVo%1pJjGe+T@l{7-=Xy;v?h0Ydx+wroz! TNTG#800000NkvXXu0mjf=@qsQ diff --git a/actors/wario/custom_wario_eyes_left_unused.rgba16.png b/actors/wario/custom_wario_eyes_left_unused.rgba16.png index ca10a64615c8d1fca170ea492acd28dba5998011..afbe9e19dcf0cfe24ecad4a965c28ad4eee7bcb4 100644 GIT binary patch delta 1246 zcmcc5KAmfVXZ?N#2EP4_7OcT43=9mCC9V-A!TD(=<%vb93;~Imc_n&&t|1DhdWL$2 zM#7BlB|t?xQX@RmJUz7-IDi~h1}R2X21X#u3y7tm>>wapgOM35&IDu|GBPm;0_i9q z&TMA^i{}8@3=H)Q49m(G8D20WXmo2C7=V%!*cn)W$_G$0!U zn1DtzfmH@sS^!y4U4{k*AlW@4dn&$OpLG{#;$cr0$B+!?r}Z<|7u|LcICkEZGrL>p z*#)DmC)(PUrgConEym|_f5C=jskJQ9w=@j3x11H4BBGkOsxJL)>e4xW^*ZNEUgf79 zUw!%ByX~v@UXGk=(RWtyvG1?y4HiF`Sf)EHzwBvh|8MHk&D{R^><vTpDWBfHUAy!4otv+f=9KuKdHHf>q>fnGqkX#< zmDcfeaD2MDM(KJKct zBvz(-$Zit*PZ?wH1-;+SFFsjxBm5K7w8qoX;tO;Z>6)zQ-BA zB>30M3tu)+V0Ao^W#5tG@Zyi!Gres+qGu1M+a=0B;0U+)U9|C_kjk>#Hx}LK7BQL_ zuhr%JWS7l8=9J2)N})@sM?BBO#MJt??EJA}(hi2cL*nnO#HBSHlfDT>$7guTNJM$f z39bBP_o4ntiJ;4Mmxg`nR>iX&b}@JspLnuN^+$QdzYkNgj(xc=yFAL4hmF~Irq7*c zqPG@2k=u4AF;6&SofW%$6KljjdIqm%XY^?mo>-`*4_`ctW;;q1|)t=*yOeGKcE z<~ED(+vboVovG|{%{W+~sqF=J@@w-hpRN z9#32E+?w-j{lj`CQNvx8r#{TB{rSMI^Jmdn9Y!JfUbk(!)4P|}>i_@q<=$4oKK0jY z?+K)yY}PW1JK(F%UtXjjUZk|W=K0Q5CxVaf;F|a71LNW5U7c57wLJFQdM-R=^VyPS zjX;r|$t(V3aysTXH@!DI^4wZqbFI@0`^YD!B=+U1GD!z1ek$$?I2z88d+g)WpO?7U kyKb>B{LjlC$B_JwDX8x5x_4I|Hh{9Yr>mdKI;Vst0Q2J!X8-^I delta 932 zcmV;V16%x;3f~8iNq@iq01m(bYSxJf000AYNklW6o8dZu(ca(fj0;n z8N-{L3k$ppMX$OaR10ybBlqbsh3Y|D;wdfN0m=N?OnbpL!MIlU~) z%s%tUJ@=N%3h4EEu2s&TuApswj8*_jMe+IhdDiduvjcPBg?~QddTxp%T@l($^)beW z3eZX)9v;l&`Z4d9anwID$H&KJxmjUGg?~+KYw!&pb6+Dm5V@-D^o>p5 zaD)r#A6<^K!R#fwym_%xtHCK8#96He(Fc&7S`eXZ9Xi8+W8fpc;&Ut(XXf3mH1du^ z7V;#cC`4}R?R#)G_R$i)0TJLgJ(snNr35bEqxg&OI+oms#ZG&-t25Px$-2S_Dxw^W_ z@9#4BjX5B;u!Fs(wo*w>Kv+tAbhKfySoCBoXc*%+*Y&iqQ(N|m$^_`W#9_j|w54b+ zE-uXJ>1p0(tSNknxuz!^6Ig2}IGcMVe!}(O(ER*9@ui4EQnC&B z5Py7tx5vTP)Yk2@G2iYACx345b`-zGN)rGi!DcX%k|LYavv${^A~^wV_T_3N_$0000>wapgOM35&IDu|GBPm;0_i9q z&TMA^i{}8@3=H)Q49m(G8D20WXmo2C7=V%!*cn)W$_G$0!U zn1DtzfmH@sS^!y4U4{k*AlW@4dn&$OpLG{#;z>^z$B+!?r}Z-y7TtCbXnVS-WveS^ zamLJ`6zBa;k%!(KFG!GEXs|4GX{yZc}7R$~k?0=ZW8Ed3jdkoN$btxQ+SNcRi(y?%ChoZg1Ek z))sb?am(GRy?LqL9Qt7!R^5I5z_jx0$5XORRbR^(U6wvQ#W&w7!@4ryjA1xKJ>S%A z8?ptzO|;Q?Hsdx^?v{GN+d1vEs`?4iKlYR|u3|c+{PfM6GqE=lwnqIt)%L8t%VCd^ z?3BWT;vFAXoMO}yI?pzZv0tJ#tIOe;hN-@E{PLS;FGXnE*xII^erhz^Z~4s%n{DcA zxAOm(P|@S+&T!pDe|CRQul%)O-7jbe`#7A`#!Irl1m z`nT@>zqq)#UrI+d_ z{l&ua{{uGD1C1)HnKbLK-!luWd@8CTm*^xY^7xNL&)Rnh%y)SY`EN{MR5*TH{QcGD z_x82FgU_D)S=R5|x@u}(3`6h5yWV~8-<($e@2N8-JCA$9j|`Jdxt05OY(M`rf4==M zvqK+KwqD%sGS_T_v*|McQTa)_1M3I#&8&lBu;Y&n&fTD`JKFtiM`K zK5TZKchQo}SMknI{k?gTq=jp?D=OZ1E!^U@@PEog?duW0ZnN5#lws_r qaejN4MZlZ4z8~rjHi|2F{$p_2d~4nH>Hj@I8Qs&>&t;ucLK6TtObpxr delta 934 zcmV;X16ll?3gHKkNq@iq01m(bYSxJf000AaNkl zaHaeGUcByJRo_Rm-4v}>ORU#xW8qp=!Goyk-#aiw*r@8C zR#DVj=tz)Rmx5TKvIAWAB|_BY8`o`)0F@Ues>TJN>~_1IyW|ofzp#U$a*yFdd=&gD zT!MV}E&+~G$$$ASpBU;69@sG!5`askE-p>NHG&6rjD;gmNBP@SIS$tfp1?6Maq|R( z4ALv5)9L7uBirrPWY)DlB?+P6p$nAx5sCr67(dXU4qh?*)+B*5jh_72__fF%H*z-P za5&_f%_d(g7V0&KGp6P{bSNVdxy&hqZ#{Iw25iA5Y=3j$8+=s0I&?tjRV}9oPvXJmg|A=3rJ2a2;o}?op!)3;3Is6&#qXsnUh^=sE&pf z;ujf(Lda9tz5&j zft}+?aDO>M*z>Tq3RDFU9YY~DE~S5mSHItNONin9oo=Nu8jZw!J~x*aE+~E!2#nF? zg}GRRwN>E0@)%r{CgA0dZb*7xbt8i5bSj3!p%S$1B)GmeXe>2&+ZN!y@)(@B$^wG2 zp)!KRo_{*`Pz^yFWBeIPoZALe_B1yJpDlh5Xn!fh#-+3Zs<2!x@tzg({3-)zV+_n@ zGxh%VfoGT#3)zAl*yFZhiB3SUlpNs0#AdZxWporc7{fE&O~SU5;%jLF_*n{FCIrr| zEJZOMk43lJRc-q`<4a684X&{eWD9m+k8E*YLwDEdlhC5SG)l~b$KIXj-|J2ZxQwV2 z;eU`-)}cV%4tcO`efv2RKVAx(rR+VA+;1^&0sxXAGni9JA)E7lwbvn|)&$sme||Sd z0RGB$<_jJK?*J&EGJ@jy`LRwRrp%L%0s-Ib;Ez2&r4<0!Q79m@nz~b|fhFmeemeD+ z?LG)5AOWAE$~&sLmR?1j3HX%M{vq_)_#dAD{d=?Acmjm@3u*vjAZx^xU;qFB07*qo IM6N<$f*OFnJ^%m! diff --git a/actors/wario/custom_wario_eyes_up_unused.rgba16.png b/actors/wario/custom_wario_eyes_up_unused.rgba16.png index f2160419aa4b5c2e743e0c56430f12b389b48f40..cb1eba1ef4c99c6fc01ef6fe6e947d4b4ed9107e 100644 GIT binary patch delta 1221 zcmcb~{*QBlXZ?N#2EP4_7OcT43=9mCC9V-A!TD(=<%vb93;~Imc_n&&t|1DhdWL$2 zM#7BlB|t?xQX@RmJUz7-IDi~h1}R2X21X#u3y7tm>>wapgOM35&IDu|GBPm;0_i9q z&TMA^i{}8@3=H)Q49m(G8D20WXmo2C7=V%!*cn)W$_G$0!U zn1DtzfmH@sS^!y4U4{k*AlW@4dn&$OpLG{#;wn!U$B+!?r}Z;72HkcLXgfbsf85gIq*dO`S4+ZoOyp$OxxvmE3K@pgS(G9>E9_2b$Ncg zrQ^WevjT}{3oOpey-}Ck(IAokG(AS-uNa%;jmY`U0TVYdZ+ma1)N%Cex4GLJriisg zWip=1+kDd{lk?$G;WgUd1^$HX=ibBBzToedTMUbWic;JCIg-@*@5pdVA6Qr~#GPxN zD1VaK{J0bM5siBB{LJ=RRs99LpZ2`vUBRufe#+<1#m1YDR_#4ker@}`?VLxnFFQ(# z*EDL$m0BKfef08x(F4)s`LmQJSbA;h?|pyyOWM@P=!&W;ukh8OR&)I>f2>&JAC>$5 zqvA)2?mmWRF8a~^`AGuZGmdOyG`GlFS1%{uv1gU>=iE0jh6UnAcCvk!Q+`e2dmm?X zIm^MzjA>)-Nye6QrpD)!PtVEcZSn`Y^#Mn?#qXkv2aQse-M+EtMPsARlT&?<1a_|O zU*9>)Au2{FDD}w6GoN>SvlYC~zwb4J`$O*X&itCpl(gM9z8#o$rg71dBatUAvp>^( zo^rAN?Q*S_9Hj&M+B@VM^h=&ODTFr6kogp`F65ugJp27pzAOKo+<5Vj!R)gk`|q1C zzWXq=)ZwJ z%=rRfWfl4BE*8|*u3i7>ih^!&czF1$Z{N0U;qs`LlfLG$$SQgc@1~HOWQq#Kb-G8{cx$DjAQz_J9)gbv+v#vz0RaiCjG+Y z>E!T)j~|4&TI$#T`FVK-Ye{6??@4z3c1yqU{fjuhnn`Gzs#s26fjWCpp?OTe4Tc`K z#S`_s`Lz6A&!2DqEY&67_geJdUJlLA0@C^q)c*3P@0iTIbAs^Bozj68oj)%fvS3-C z`8X?MR>a~>7VlbWR}|hTy7weh-D{G{yYvjzBip<_$U4{Ti#6P0=apFBH(9&*$2IGR z(^!j3HC}6qEACq*VBDvFK2}pkqshMIU%1Qa2Go0fH%M$ zDWT*M=zQ`PQ1S>#XC8wR%23(7L7>AGq;lMC^vjxMRy)#OSWYhFJ4Xj;Esg#ejV_Mj zI99jJ2m5=o1T!FtB3twGyEEugjbaACC>b6M263m;i5ses6o0hwo%bywq%Pb!i)xg} zWB@mMI2_c={>8L?v^p)-ZnxEDvq@&SR#tE)s_M)5%RkTrh+dvyiTj%-|sU)$ZP>jP{nxwVMxE}bZTbsrCk}w25iE173TqbqAkHmGJqz+B&Kp9JR7QJ z0%@wc>Jo42Eq|pcl>t(Ossh2-N~l-K1R4VybvX}QA5#Iqp;9MEyDCB8&R5-zK3pGD zTcBwA<3RBt3HBX85_!&-om&FiAn}_AATQ!{r3{BdQ(V^TwJFl|R3r!?=P#L?Lpl-- zs8EAWTDL$@qpu$uUsmzscilU{@pz0^tCe|#xOVvd(|=u4h477oP1p_rZO~}6LbGEB zg>ER_{e9k~VsQte-FleD{ncyy@bs#?%D^y$qM%OSTzjqnDgb}ueKD5Xa_vh%BeX)Z zbB4eS|$Ev_C2}T{?2sa3}e=--qH_3TG_5r@5&h5KU7NA%klDXUx z{CD`<>8GtJ^{IJhYhiY~ovoe0p|w~nk`r9IZs{BPps#e$Nwy`pR_=pDFaX;hwxa2O zv=sq})vKmPqmk%6*VHUk48NYZJNTkB|L3 zb>FlNf!SsP^K!XV&1QC@BKC>rlTx3zsg;kO zhjIqj7Jw2&-EKGLcQL&|bc*94APXu%nE(X004Fb%%0Leyj`Xc6WwZtZ!1q$#VNwRH zJb%wTw|yyGYv}9(d52)KDu^ml>rV$7c?NJFB)kEjJ;NjTbyr^&Tnny|wEOly$UOrP zK{ABME{a{nK8oz~%4Y$z(dt8U-s%JIEkM}YAcKx-*-cy4u~PQ6PSJj7^+9d`O5ih8 zc||SPvTLX_0DmQg-vR$B{{vuuZ!lvI6;>1s;*b3=DkxL735kHCP2GC|TkfQ4*Y=R#Ki=l*$m0n3-3i=jR%tV5(=R zXK2{PA$AU^Xh&*2!0mNL8ovaHWW=#XKL4XNp zG80&3kfjBX1=VF}U;vU$b9#Hl9JOdtt zU3a1(v!x;;W9Qwxi{1>2=DaW4{j0(z=o#aT&%b}P%+oYXPhqG@Qxb{Lo350vw8`^vx123J zyEAR`%JtW^QzsQvt-NZ$WuP~`JJzRQj^A>T+6M&|H|`WzgsctgUL<%VYi4xcX0@ya zg9*1MghXA|R(SP0$GzpzuAY?Y(7S?Db@g)pOx2BC`{Pa5|D}!l>oi^dPifp`w^wG* bKd-xtTlQU!4i(<@6cpv2u6{1-oD!M<8O!lvI6;>1s;*b3=DkxL735kHCP2GxX9DRF(ktM?ex2R4GJ7?Tff(*OP{qg4bYgl z&BFZNgXfZ2_J&JEbSyt*v~llf*m+=bw#96L&nKKNF-FWtKD~Cg1m_jUHwU`v>}ECQ zGDhu~vB|fVy-bI1N@*42MaC+|n~V<8i%w3z!z60J__p}Mllo1}(S?oiTt4%ech74R z4`JV;lDBiQZo{KcrIcx3x;vuJh<&$L7C*ppCjR*9b#ks#Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizyJUazyWI3i3tDz0dYx0K~z{r?Uu2U zf-n$p82uG{UFR-ZIYGiq6ui71L_)s25E_6EEGZ{WWh5aJF@J|7h| S9jwv-0000-iXD}xjxD+42towY!E1B zV_G$0!Un1DtzfmH@sS^!y4 zU4{k*AlcL_U;Jn6w7vv1vES3hF(kwJ?F>VIX+w#&yVDrArPMd;N+x=n9ZNeiBX5JL zPf4n4)=`e^86M_0PBl&G{UWa-?9-9r(A1gItot?j-QHP`Cs_vtg}$_%lsfr$y`bY}xXpC?Y0?$7_FOO%0FNF&i739W@p*vnEfT zd}HJC#A)C5tk4nRT734bZ+)=VRG*CzC6k|g{#lT~^Kj9q!n=pTs-WbEZ1mg9mlu4=7fP46x}f|pS@}Tx`$b>FHs36HzWm&$)2F>J zXKxi!P7d?)k`mv&f!{jT(&GQcMmfQ)c6;h2uDp47V(Q}b;N<}ZF>MdNeY?iv?#_PY?%sJ^+D&Oy(CVeHZr{0Obak)o=1rR(y%Jga zM7R26=dJ0RJ!^NeeB|<&Uz)nYTBpF~M#?U;+Ko&*IFn}N)%ko$PCx!+b?Ei^=`7ua zev_I_rX8sN;kGw#-wn~OYuT)t{le-3D_JFOaQrAKcrZ`WIa!dC_qD^z%`cZSKiFLA zbe+qdgKc8P#Vub=vrF!D8BSDUP(R6V-&5&a>l1+@8786A-*^6>&-`AGQ-H&2pURE&sEvhtZaO^fuzF^?XX%9=FwhV`_J`?- W{PsIh!V>F2+11n4&t;ucLK6V`S_6{+ delta 858 zcmV-g1Eu`q38Dv(Reu9FNklpf8}Sg=&CQLJN+mfxJq^SZxG_CFZFYBe zWol~5c0$8+G$@#Y83duhP)C72)pTk^$BltLG2!9iL6(=7<@WZr=fIdkp&&~Dq zwQ0B8X4pXkT7S@lHZ*pncKPMhE{yu95~j^-fOW>ZmPQSaHg^^TX24G)U;rCN)Xi#` z(9O_Kz<@@hVRvkH&`|*`XhNHxfB~H0dwYAKvtSrZ35yXeXhNHx-%bsGoLZirpXKA@ zL&nF)<^BELmb<$reFckg++LxN(h5pn;-sya&SYtoK zAESz=FTMwyS>V_0f&pJjg`>W6e}8W(m5MD~M}Hx1Jemrl4UJu?UHqrO7;6~EaFQuB zDBc;<3q~}X&Dz3s6r#561r2CH6WTg_I{Ge)i;L#?_}Dr(?4SWHXmaF5XKiiG)a!Ng z^77&|H#`tCv7^C}^EEa%H~)JxR5YD!#UMg0PGX%#G8^*U8@EI7xxvfS-L4}i7 ke3#IKgoK2I1V18w0k4#+I@gvKg8%>k07*qoM6N<$g2=0+IsgCw diff --git a/actors/wario/custom_wario_mouth_dead.rgba16.png b/actors/wario/custom_wario_mouth_dead.rgba16.png index 4575ca14a3fb4c5b5d174a177d335362f5cc83f4..8322bba9dacbeb2a02cf953e549bb0dad33c9231 100644 GIT binary patch delta 961 zcmey&+QBg)w4On-#5JNMI6tkVJh3R1As{g`uSCz!HAKNw&rr|MNSM*Rgn@x!M{0y; zny0500|$`9${@wa%D@O@c>%FBlpO?QYcMi{#hHL?Lq;YBK_DFk#F_0ZVDTIv8w85k z7#LnKgXnq)1KnB%2B7Q&b_N!pVgn;%1I7gqgF%+EE`S&|4af!oCZN$wV3k3Z7C;tM zm!W|HNOqUou9c4)owfnhZSiz*49ReQJ8k1+MMsfi_v2jJI_i4@Ui@no<(kVeQF!Nt zw45z2Vb5G*T2AC@JpRXQWTdR@v?QhYeYNS@wCiVf#BSdjUix=+)m2+t+x7d`f1T|p z)$6wSVup!S@3Z|+j%Cdk>~%Yvwbkom#T=$a2G(XrNqf2eC!c>V;V;`gw`XO<`s-UF zbXLTzw|=&_&1-3rlfQ~ky&$jF6tjfu?76@H#(lYxWg4|MY`W>x&NEExW(hWOvv0q> zw#E2O$(niA-_rTon^}&g)?k=(rVGt-LbRI zrlm-0wLr>!MY`y>J$?@2UmTZzi8QbOa+v*( z#v8kXFC&)xbnA(3PL}Eo(wjcHQ0BF*`s1ESCmvLbbO(05Kfc4Yb3tga`}gl(wq6z# zj&o4)QN8@qe%5VWG0m?Z6jT`!1l(obuDEZ1S^Pmj@$Z`d#`lB&RcQO~^PkI-&%l1x zV&BF_7bV3*SF9Ph|L)nnI6+JGb0P0xuKMM^T2p>rFr0nXEo4(Pk8zwmdQFB_}?`b?G-@ce{rLdV^>E;-{^RL!j&e(BH z>6PetlS`SK4{x3E?Aobn(G$%zC%XT9``#q`qRGx$;;``t=J;zL%deMKCo*%9wv{?3>PKy<=NG!=K2NeskiQ@*T4##~UpSc%e4=B~L_t*7LZ?gS)bj#t=%aT_!WxjvNZJm&`@yEJlcMt4}khjvy46S=`Ug}$0yi?l3 z01NB97u%!OmfJqdXWbQ-)mrzXK|cGICHgqlxPeBpCd7Zki2DR>0I%!{D-?G1ipLG0l1%D=0;Ky85}Sb4q9e07fT^{r~^~ delta 682 zcmV;b0#*Hp2=fJyReu7ANklHc z9UUrBiBdtLL#3sVAW=}E5EPPq`}O+YLb zlf*F|XH)qr&&11Tl^|p-_n9j}UJK&jPGvtTrQ9yWj8gvtn(OIO1w) z^I9l%p%F(HpvN4H)$4VRX|VS<34p0ut#%b87D57s!+#-{C9bid_y!<`UZ12uAi#+N zFbe^tQptGa?vhHS_^d+%z+AjZy*aTbdb|LbL>#eTFnFU|Bs?CEbFwtct$w-b zM_}(~G>Qbkn>x*0Fa84z1_RRsAfC(RzRkE1Xfe|YFYp9!+7xrt^Tru7E_ys3m2$cK zGRBQS8#L;H2Y7)e?Xl-Ui6MJvjYi{TjT?bhp(Fb{kElc&`LqESqX(C!{{pXlMUUhnv33Pp8Bu#9!+=+#|h$P2~Hc*Jt`#Gm^C3t~zX8 zd2sdPm<~0!b&WX(TKY1x5;m33%t(47wR^@}hc~Ko&im|oA{7z$X!Z)W#S%vq1l!Ln z@dhd_5Oxo3O(?r+wSs$5=fuU&SYJ7NiF1CfoHO&J$!0U2SArTB47yjP8Mz2&n>0UF m4f=D2_s<9YnvQzu8Fv}q?6Hiz_|iZe!lvI6;>1s;*b3=DkxL735kHCP2GC|TkfQ4*Y=R#Ki=l*$m0n3-3i=jR%tV5(=R zXJ{nM=w1R;v?DdbGtJXei-7~kVP%kFWMyCkvb=y;8p;MaM}v_WEY1XE8!|F62mnu389}4l%D@1WoWRb&0#s{YWNg5=0Aeo4PSynwv!(&rAixAP znF*{i$kGDHg6c9fFaXK!ys+5F__D_)pt=xG7srqY_ovhLUQ=`walP$wLSPb?=TfJQ zNxxHC)?xBK_a)e)TQptLWd*{+XO<>qA%9?b>~A<^9`RPo_-z>#Zdz(d$;Z z`|h``I=k<`zxlCZ%A6%PiniZA`|Wq_*>LW)!8|Ml6{^P;Y8-B(ue6K1g!NZp1l-}fGS;lhuLUPPg zxf99Ob|wk#@=}Z6@m`sf#vqWs_pQ#3;=e&QNA{>s58A}29(TA!-=5Q1L(Y!h(~M!p zi|@aK+%BkjYpg519e0wUVEy+h+xTwbcfxCLe>=t2FvCEu-#D!~HPdYNzmwH%hZpMC z9$;9!apJ}^ESKM#6$pyfpLWpdh~6Au4Kh{~CPx#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0vAa{K~z{r<(Bb{ z!XOlf>5X6vchM1yGZ;rOj$j#*vKTBfkQ@Cgyln=?Qe;4;Ek#!w=yqK$GC&~Z;G>cRf-i^k zD>ATNuifc%YKc%zZNWZfvsuW;oCEcIKK~Z+)_@+pHAX!esEUIS@$2>K&gXL@Dl;Gq znR-t+l!^^_@d^{M+!6*WZrd%z1^^SQ)hd(`)JbE-rLLckG60-EX#B{jV;}r-(sKyZ5Bow&=-^5hB^>!5Yo@a zO)%isu;`Z4;)w9!ArO4*pjZtA13sb&jJof-rQMGFa=8p1y?-~>o`j>=H`c5T(QMZ! zg^Zefh&Xjd?^F7h%!^ihkeSdUvhbXC=_CF6#7QY}XkA9kM06VVwVn+OLP`{@Fo-zk zg{R*D_*rP(c9N$^i3%dlAabLJ|f9u2WdZ8W7l?yWK9_|JsZo;-$huuK^7Q7E6N}K$NZ9H_crX8Tbi){W7xr ccLUCS0u))2H5GN5mjD0&07*qoM6N<$g8r8uod5s; diff --git a/actors/wario/custom_wario_sideburn_add.rgba16.png b/actors/wario/custom_wario_sideburn_add.rgba16.png deleted file mode 100644 index 101d980292e98ece19c471a832c4f104f5601361..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 436 zcmV;l0ZaagP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0ZBH0o%5%PdZNK?m=4W5-!uN!)H7l1$K_POk@EBN+zN# z2MXgipA$fiYEg0(C>Dg~2#N%u&H;Ru8dL$GC|&P_L=N@T3TVj=0A-nKKnX;b3#uXt zlRJNl+tE!)+FQJ#aU7#R0C0@|1LWLI<+Kx&495bpy6d_yIzy5x?*H4T%O?(tyx4HG zg(vhUu9Ml;6G#dG{6-LOorBmy$snT6!PBBPh)2i7(?tXWE+3QZaQu6($Dff}kEtS# e^23K0#(V>q;*I%&`@W(80000!lvI6;>1s;*b3=DkxL735kHCP2Gc)-)eF(ktM?evR$4GJ8tYyba$&ZT~qYjgJX zh}EA{Rv#2Bd}g4_;y#O|t<|JuL(xH|wI_8|zRx(8=fHI4ruO?)4*YeD9t?Lkg%_-D z@M9B82w%98$*1#~YJ%sEuMLlsCWOD=E1Dqd6Ue|@rv7tZ<#jHP07ctbOZ->37yVIA zV%Oa`f3JXc!rp}7QycXT3JZzNj=kXhNavlKLxT5}N22wo- Date: Tue, 19 May 2026 23:00:38 -0500 Subject: [PATCH 02/22] Update Luigi --- actors/luigi/geo.inc.c | 162 +- actors/luigi/geo_header.h | 26 +- actors/luigi/luigi_externs.h | 4 - actors/luigi/model.inc.c | 2973 ++++++++++++++++++++-------------- 4 files changed, 1825 insertions(+), 1340 deletions(-) diff --git a/actors/luigi/geo.inc.c b/actors/luigi/geo.inc.c index be9b7259d..f17b8fde7 100644 --- a/actors/luigi/geo.inc.c +++ b/actors/luigi/geo.inc.c @@ -1,47 +1,35 @@ #include "geo_header.h" -// Normal Mario Geo +// Normal Luigi Geo +// 0x170002E0 const GeoLayout luigi_geo_face_and_wings[] = { GEO_ASM(0, geo_mario_head_rotation), GEO_ROTATION_NODE(0x00, 0, 0, 0), GEO_OPEN_NODE(), GEO_SWITCH_CASE(0, geo_switch_mario_cap_on_off), GEO_OPEN_NODE(), - GEO_NODE_START(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_l_logo_decal), - GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_hair_sideburn_decal_cap_on), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_eyes), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_front), - GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_half_closed), - GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_closed), - GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_right), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_left), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_up), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_down), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_dead), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_NODE_START(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_front), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_half_closed), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_closed), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_right), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_left), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_up), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_down), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_on_eyes_dead), + GEO_CLOSE_NODE(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_hair_sideburn_decal_cap_off), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_eyes), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_front), - GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_half_closed), - GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_closed), - GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_right), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_left), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_up), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_down), // unused - GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_dead), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_front), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_half_closed), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_closed), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_right), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_left), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_up), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_down), // unused + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_off_eyes_dead), + GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_TRANSLATE_ROTATE(0, 140, -45, -110, 22, -40, -135), GEO_OPEN_NODE(), @@ -63,6 +51,7 @@ const GeoLayout luigi_geo_face_and_wings[] = { GEO_RETURN(), }; +// 0x1700041C const GeoLayout luigi_geo_left_hand[] = { GEO_SWITCH_CASE(1, geo_switch_mario_hand), GEO_OPEN_NODE(), @@ -82,6 +71,7 @@ const GeoLayout luigi_geo_left_hand[] = { GEO_RETURN(), }; +// 0x17000494 const GeoLayout luigi_geo_right_hand[] = { GEO_SWITCH_CASE(0, geo_switch_mario_hand), GEO_OPEN_NODE(), @@ -100,12 +90,8 @@ const GeoLayout luigi_geo_right_hand[] = { GEO_CLOSE_NODE(), GEO_ANIMATED_PART(LAYER_OPAQUE, 65, 0, 0, luigi_right_hand_peace), // here we go hand GEO_ANIMATED_PART(LAYER_OPAQUE, 65, 0, 0, luigi_right_hand_cap), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_right_hand_cap_decal), - GEO_CLOSE_NODE(), GEO_ANIMATED_PART(LAYER_OPAQUE, 65, 0, 0, luigi_right_hand_cap), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_right_hand_cap_decal), GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_right_hand_cap_wings), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), @@ -114,6 +100,7 @@ const GeoLayout luigi_geo_right_hand[] = { // The body loads all the parts with some shared dls to apply the solid color of the dl that has it, the same rule applies to the medium and low poly geos +// 0x1700053C const GeoLayout luigi_geo_body[] = { GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 22, 0, NULL), GEO_OPEN_NODE(), @@ -183,49 +170,37 @@ const GeoLayout luigi_geo_body[] = { GEO_RETURN(), }; -// Vanish Mario Geo +// Vanish Luigi Geo +// 0x17000DEC const GeoLayout luigi_vanish_geo_face_and_wings[] = { GEO_ASM(0, geo_mario_head_rotation), GEO_ROTATION_NODE(0x00, 0, 0, 0), GEO_OPEN_NODE(), GEO_SWITCH_CASE(0, geo_switch_mario_cap_on_off), GEO_OPEN_NODE(), - GEO_NODE_START(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_l_logo_decal), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_hair_sideburn_decal_cap_on), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_eyes), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_front), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_half_closed), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_closed), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_right), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_left), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_up), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_down), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_dead), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_NODE_START(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_front_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_half_closed_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_closed_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_right_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_left_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_up_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_down_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_on_eyes_dead_transparent), + GEO_CLOSE_NODE(), + GEO_SWITCH_CASE(0, geo_switch_mario_eyes), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_hair_sideburn_decal_cap_off), - GEO_OPEN_NODE(), - GEO_SWITCH_CASE(0, geo_switch_mario_eyes), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_front), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_half_closed), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_closed), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_right), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_left), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_up), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_down), // unused - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_dead), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), - GEO_CLOSE_NODE(), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_front_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_half_closed_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_closed_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_right_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_left_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_up_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_down_transparent), // unused + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_off_eyes_dead_transparent), + GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_TRANSLATE_ROTATE(0, 140, -45, -110, 22, -40, -135), GEO_OPEN_NODE(), @@ -247,6 +222,7 @@ const GeoLayout luigi_vanish_geo_face_and_wings[] = { GEO_RETURN(), }; +// 0x17000F28 const GeoLayout luigi_vanish_geo_left_hand[] = { GEO_SWITCH_CASE(1, geo_switch_mario_hand), GEO_OPEN_NODE(), @@ -266,6 +242,7 @@ const GeoLayout luigi_vanish_geo_left_hand[] = { GEO_RETURN(), }; +// 0x17000FA0 const GeoLayout luigi_vanish_geo_right_hand[] = { GEO_SWITCH_CASE(0, geo_switch_mario_hand), GEO_OPEN_NODE(), @@ -284,20 +261,17 @@ const GeoLayout luigi_vanish_geo_right_hand[] = { GEO_CLOSE_NODE(), GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, luigi_right_hand_peace), // here we go hand GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, luigi_right_hand_cap), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_right_hand_cap_decal), - GEO_CLOSE_NODE(), GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, luigi_right_hand_cap), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_right_hand_cap_decal), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_right_hand_cap_wings_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_right_hand_cap_wings), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_RETURN(), }; -// Same rule body as Normal Mario +// Same rule body as Normal Luigi +// 0x17001048 const GeoLayout luigi_vanish_geo_body[] = { GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 22, 0, NULL), GEO_OPEN_NODE(), @@ -367,8 +341,9 @@ const GeoLayout luigi_vanish_geo_body[] = { GEO_RETURN(), }; -// Metal Mario Geo +// Metal Luigi Geo +// 0x170018F8 const GeoLayout luigi_metal_geo_face_and_wings[] = { GEO_ASM(0, geo_mario_head_rotation), GEO_ROTATION_NODE(0x00, 0, 0, 0), @@ -398,6 +373,7 @@ const GeoLayout luigi_metal_geo_face_and_wings[] = { GEO_RETURN(), }; +// 0x170019A4 const GeoLayout luigi_metal_geo_left_hand[] = { GEO_SWITCH_CASE(1, geo_switch_mario_hand), GEO_OPEN_NODE(), @@ -417,6 +393,7 @@ const GeoLayout luigi_metal_geo_left_hand[] = { GEO_RETURN(), }; +// 0x17001A1C const GeoLayout luigi_metal_geo_right_hand[] = { GEO_SWITCH_CASE(0, geo_switch_mario_hand), GEO_OPEN_NODE(), @@ -443,8 +420,9 @@ const GeoLayout luigi_metal_geo_right_hand[] = { GEO_RETURN(), }; -// A difference from Normal Mario is that the dls after the butt and left thigh shares the metal texture of it, same rule applies to the medium and low poly geos +// A difference from Normal Luigi is that the dls after the butt and left thigh shares the metal texture of it, same rule applies to the medium and low poly geos +// 0x17001AC4 const GeoLayout luigi_metal_geo_body[] = { GEO_ANIMATED_PART(LAYER_OPAQUE, 0, 22, 0, NULL), GEO_OPEN_NODE(), @@ -514,8 +492,9 @@ const GeoLayout luigi_metal_geo_body[] = { GEO_RETURN(), }; -// Metal Vanish Mario Geo +// Metal Vanish Luigi Geo +// 0x170022E4 const GeoLayout luigi_metal_vanish_geo_face_and_wings[] = { GEO_ASM(0, geo_mario_head_rotation), GEO_ROTATION_NODE(0x00, 0, 0, 0), @@ -545,6 +524,7 @@ const GeoLayout luigi_metal_vanish_geo_face_and_wings[] = { GEO_RETURN(), }; +// 0x17002390 const GeoLayout luigi_metal_vanish_geo_left_hand[] = { GEO_SWITCH_CASE(0, geo_switch_mario_hand), GEO_OPEN_NODE(), @@ -564,6 +544,7 @@ const GeoLayout luigi_metal_vanish_geo_left_hand[] = { GEO_RETURN(), }; +// 0x17002408 const GeoLayout luigi_metal_vanish_geo_right_hand[] = { GEO_SWITCH_CASE(0, geo_switch_mario_hand), GEO_OPEN_NODE(), @@ -584,14 +565,15 @@ const GeoLayout luigi_metal_vanish_geo_right_hand[] = { GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, luigi_metal_right_hand_cap_shared_dl), GEO_ANIMATED_PART(LAYER_TRANSPARENT, 65, 0, 0, luigi_metal_right_hand_cap_shared_dl), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_metal_right_hand_cap_shared_dl_wings_transparent), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_metal_right_hand_cap_shared_dl_wings), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_RETURN(), }; -// Same rules as Metal Mario +// Same rules as Metal Luigi +// 0x170024B0 const GeoLayout luigi_metal_vanish_geo_body[] = { GEO_ANIMATED_PART(LAYER_TRANSPARENT, 0, 22, 0, NULL), GEO_OPEN_NODE(), @@ -661,8 +643,7 @@ const GeoLayout luigi_metal_vanish_geo_body[] = { GEO_RETURN(), }; -// High Poly - +// 0x17002CE0 const GeoLayout luigi_geo_load_body[] = { GEO_SWITCH_CASE(0, geo_switch_mario_cap_effect), GEO_OPEN_NODE(), @@ -674,8 +655,9 @@ const GeoLayout luigi_geo_load_body[] = { GEO_RETURN(), }; -// This last geo is used to load all of Mario Geo in the Level Scripts +// This last geo is used to load all of Luigi Geo in the Level Scripts +// 0x17002DD4 const GeoLayout luigi_geo[] = { GEO_NODE_START(), GEO_OPEN_NODE(), @@ -684,23 +666,31 @@ const GeoLayout luigi_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 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(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(LAYER_OPAQUE << 2, geo_mirror_mario_backface_culling), + GEO_ASM(LAYER_OPAQUE_DECAL << 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(LAYER_TRANSPARENT_DECAL << 2, geo_mirror_mario_backface_culling), GEO_ASM(0, geo_mirror_mario_set_alpha), GEO_OPEN_NODE(), GEO_BRANCH(1, luigi_geo_load_body), GEO_CLOSE_NODE(), GEO_ASM((LAYER_OPAQUE << 2) | 1, geo_mirror_mario_backface_culling), + GEO_ASM((LAYER_OPAQUE_DECAL << 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_ASM((LAYER_TRANSPARENT_DECAL << 2) | 1, geo_mirror_mario_backface_culling), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, luigi_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, luigi_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; diff --git a/actors/luigi/geo_header.h b/actors/luigi/geo_header.h index ccff7c5e9..a57bd6532 100644 --- a/actors/luigi/geo_header.h +++ b/actors/luigi/geo_header.h @@ -55,8 +55,6 @@ extern const Gfx luigi_mustache_cap_on_dl[]; extern const Gfx luigi_face_part_cap_on_dl[]; extern const Gfx luigi_face_cap_dl[]; extern const Gfx luigi_face_back_hair_cap_on_dl[]; -extern const Gfx luigi_hair_sideburn_decal_cap_on[]; -extern const Gfx luigi_l_logo_decal[]; extern const Gfx luigi_face_cap_on_dl[]; extern const Gfx luigi_cap_on_eyes_front[]; extern const Gfx luigi_cap_on_eyes_half_closed[]; @@ -66,13 +64,20 @@ extern const Gfx luigi_cap_on_eyes_left[]; extern const Gfx luigi_cap_on_eyes_up[]; extern const Gfx luigi_cap_on_eyes_down[]; extern const Gfx luigi_cap_on_eyes_dead[]; +extern const Gfx luigi_cap_on_eyes_front_transparent[]; +extern const Gfx luigi_cap_on_eyes_half_closed_transparent[]; +extern const Gfx luigi_cap_on_eyes_closed_transparent[]; +extern const Gfx luigi_cap_on_eyes_right_transparent[]; +extern const Gfx luigi_cap_on_eyes_left_transparent[]; +extern const Gfx luigi_cap_on_eyes_up_transparent[]; +extern const Gfx luigi_cap_on_eyes_down_transparent[]; +extern const Gfx luigi_cap_on_eyes_dead_transparent[]; extern const Gfx luigi_metal_cap_on_shared_dl[]; extern const Gfx luigi_eyes_cap_off_dl[]; extern const Gfx luigi_mustache_cap_off_dl[]; extern const Gfx luigi_hair_sideburn_cap_off_dl[]; extern const Gfx luigi_face_part_cap_off_dl[]; extern const Gfx luigi_face_hair_cap_off_dl[]; -extern const Gfx luigi_hair_sideburn_decal_cap_off[]; extern const Gfx luigi_face_cap_off_dl[]; extern const Gfx luigi_cap_off_eyes_front[]; extern const Gfx luigi_cap_off_eyes_half_closed[]; @@ -82,6 +87,14 @@ extern const Gfx luigi_cap_off_eyes_left[]; extern const Gfx luigi_cap_off_eyes_up[]; extern const Gfx luigi_cap_off_eyes_down[]; extern const Gfx luigi_cap_off_eyes_dead[]; +extern const Gfx luigi_cap_off_eyes_front_transparent[]; +extern const Gfx luigi_cap_off_eyes_half_closed_transparent[]; +extern const Gfx luigi_cap_off_eyes_closed_transparent[]; +extern const Gfx luigi_cap_off_eyes_right_transparent[]; +extern const Gfx luigi_cap_off_eyes_left_transparent[]; +extern const Gfx luigi_cap_off_eyes_up_transparent[]; +extern const Gfx luigi_cap_off_eyes_down_transparent[]; +extern const Gfx luigi_cap_off_eyes_dead_transparent[]; extern const Gfx luigi_metal_cap_off_shared_dl[]; extern const Gfx luigi_left_hand_open_shared_dl[]; extern const Gfx luigi_left_hand_open[]; @@ -92,20 +105,15 @@ extern const Gfx luigi_right_hand_cap_l_logo_dl[]; extern const Gfx luigi_right_hand_cap_top_dl[]; extern const Gfx luigi_right_hand_cap_hand_position_dl[]; extern const Gfx luigi_right_hand_cap_bottom_dl[]; -extern const Gfx luigi_right_hand_cap_decal[]; extern const Gfx luigi_right_hand_cap_dl[]; extern const Gfx luigi_right_hand_cap_wings_half_1_dl[]; extern const Gfx luigi_right_hand_cap_wings_half_2_dl[]; -extern const Gfx luigi_right_hand_cap_wings_intial_dl[]; -extern const Gfx luigi_right_hand_cap_wings_transparent_intial_dl[]; -extern const Gfx luigi_right_hand_cap_metal_wings_intial_dl[]; +extern const Gfx luigi_right_hand_cap_wings_initial_dl[]; extern const Gfx luigi_right_hand_cap_wings_end_dl[]; extern const Gfx luigi_right_hand_cap[]; extern const Gfx luigi_right_hand_cap_wings[]; -extern const Gfx luigi_right_hand_cap_wings_transparent[]; extern const Gfx luigi_metal_right_hand_cap_shared_dl[]; extern const Gfx luigi_metal_right_hand_cap_shared_dl_wings[]; -extern const Gfx luigi_metal_right_hand_cap_shared_dl_wings_transparent[]; extern const Gfx luigi_right_hand_peace_shared_dl[]; extern const Gfx luigi_right_hand_peace[]; extern const Gfx luigi_wings_half_1_dl[]; diff --git a/actors/luigi/luigi_externs.h b/actors/luigi/luigi_externs.h index 0e8222c07..02c986ae1 100644 --- a/actors/luigi/luigi_externs.h +++ b/actors/luigi/luigi_externs.h @@ -1,7 +1,3 @@ extern ALIGNED8 const Texture luigi_texture_l_logo[]; -extern ALIGNED8 const Texture luigi_texture_l_blend[]; -extern ALIGNED8 const Texture luigi_texture_l_cap[]; extern ALIGNED8 const Texture luigi_texture_hair_sideburn[]; -extern ALIGNED8 const Texture luigi_texture_add_sideburn[]; -extern ALIGNED8 const Texture luigi_texture_skin_sideburn[]; extern ALIGNED8 const Texture luigi_texture_mustache[]; \ No newline at end of file diff --git a/actors/luigi/model.inc.c b/actors/luigi/model.inc.c index 2a7a9d8af..b18bb0228 100644 --- a/actors/luigi/model.inc.c +++ b/actors/luigi/model.inc.c @@ -1,82 +1,64 @@ #include "pc/rom_assets.h" // Luigi +// 0x04000000 # solid color blue - butt, left thigh, right thigh - all poly types static const Lights1 luigi_blue_lights_group = gdSPDefLights1( - 0x0, 0x0, 0x7f, - 0x0, 0x0, 0xff, 0x28, 0x28, 0x28 + 0x00, 0x00, 0x7f, + 0x00, 0x00, 0xff, 0x28, 0x28, 0x28 ); +// 0x04000018 # solid color green - left & right arm, torso (tshirt part), caps - all poly types static const Lights1 luigi_green_lights_group = gdSPDefLights1( - 0x0, 0x7f, 0x0, - 0x0, 0xff, 0x0, 0x28, 0x28, 0x28 + 0x00, 0x7f, 0x00, + 0x00, 0xff, 0x00, 0x28, 0x28, 0x28 ); +// 0x04000030 # solid color white - metal butt & left thigh - normal left & right hand closed & open (with cap too) and all wings - all poly types static const Lights1 luigi_white_lights_group = gdSPDefLights1( 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xff, 0x28, 0x28, 0x28 ); +// 0x04000048 # solid color brown 1 - foot - all poly types static const Lights1 luigi_brown1_lights_group = gdSPDefLights1( 0x39, 0x0e, 0x07, 0x72, 0x1c, 0x0e, 0x28, 0x28, 0x28 ); +// 0x04000060 # solid color beige skin - face (cap on and off dls) - all poly types static const Lights1 luigi_beige_lights_group = gdSPDefLights1( 0x7f, 0x60, 0x3c, 0xfe, 0xc1, 0x79, 0x28, 0x28, 0x28 ); +// 0x04000078 # solid color brown 2 - hair - all poly types static const Lights1 luigi_brown2_lights_group = gdSPDefLights1( 0x39, 0x03, 0x00, 0x73, 0x06, 0x00, 0x28, 0x28, 0x28 ); -static const Lights1 luigi_black_lights_group = gdSPDefLights1( - 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x28, 0x28, 0x28 -); - #include "actors/mario/mario_externs.h" -#define luigi_texture_metal_shade mario_texture_metal_shade -#define luigi_texture_metal_light mario_texture_metal_light -#define luigi_texture_yellow_button mario_texture_yellow_button -#define luigi_texture_eyes_front mario_texture_eyes_front -#define luigi_texture_eyes_half_closed mario_texture_eyes_half_closed -#define luigi_texture_eyes_closed mario_texture_eyes_closed -#define luigi_texture_eyes_left mario_texture_eyes_left -#define luigi_texture_eyes_right mario_texture_eyes_right -#define luigi_texture_eyes_up mario_texture_eyes_up -#define luigi_texture_eyes_down mario_texture_eyes_down -#define luigi_texture_eyes_dead mario_texture_eyes_dead -#define luigi_texture_wings_half_1 mario_texture_wings_half_1 -#define luigi_texture_wings_half_2 mario_texture_wings_half_2 -#define luigi_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1_shade -#define luigi_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1_light -#define luigi_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2_shade -#define luigi_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2_light +#define luigi_texture_metal mario_texture_metal +#define luigi_texture_yellow_button mario_texture_yellow_button +#define luigi_texture_eyes_front mario_texture_eyes_front +#define luigi_texture_eyes_half_closed mario_texture_eyes_half_closed +#define luigi_texture_eyes_closed mario_texture_eyes_closed +#define luigi_texture_eyes_left mario_texture_eyes_left +#define luigi_texture_eyes_right mario_texture_eyes_right +#define luigi_texture_eyes_up mario_texture_eyes_up +#define luigi_texture_eyes_down mario_texture_eyes_down +#define luigi_texture_eyes_dead mario_texture_eyes_dead +#define luigi_texture_wings_half_1 mario_texture_wings_half_1 +#define luigi_texture_wings_half_2 mario_texture_wings_half_2 +#define luigi_texture_metal_wings_half_1 mario_texture_metal_wings_half_1 +#define luigi_texture_metal_wings_half_2 mario_texture_metal_wings_half_2 ALIGNED8 const Texture luigi_texture_l_logo[] = { -#include "actors/luigi/custom_luigi_logo.rgba16.inc.c" -}; - -ALIGNED8 const Texture luigi_texture_l_blend[] = { -#include "actors/luigi/custom_luigi_logo_blend.rgba16.inc.c" -}; - -ALIGNED8 const Texture luigi_texture_l_cap[] = { -#include "actors/luigi/custom_luigi_cap.rgba16.inc.c" +#include "actors/luigi/custom_luigi_logo.ia16.inc.c" }; ALIGNED8 const Texture luigi_texture_hair_sideburn[] = { -#include "actors/luigi/custom_luigi_sideburn.rgba16.inc.c" -}; - -ALIGNED8 const Texture luigi_texture_add_sideburn[] = { -#include "actors/luigi/custom_luigi_sideburn_add.rgba16.inc.c" -}; - -ALIGNED8 const Texture luigi_texture_skin_sideburn[] = { -#include "actors/luigi/custom_luigi_skin.rgba16.inc.c" +#include "actors/luigi/custom_luigi_sideburn.ia16.inc.c" }; ALIGNED8 const Texture luigi_texture_mustache[] = { @@ -252,22 +234,21 @@ const Gfx luigi_butt[] = { }; const Gfx luigi_metal_butt[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT), - gsSPSetGeometryMode(G_TEXTURE_GEN), - gsSPTexture(4032, 1984, 0, 0, 1), - gsSPLight(&luigi_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_shade), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), + gsDPPipeSync(), + gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), + 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(luigi_butt_dl), gsSPEndDisplayList(), }; @@ -647,6 +628,7 @@ const Gfx luigi_metal_right_hand_closed[] = { gsSPDisplayList(luigi_right_hand_closed_dl), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsSPEndDisplayList(), @@ -722,22 +704,21 @@ const Gfx luigi_left_thigh[] = { }; const Gfx luigi_metal_left_thigh[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT), - gsSPSetGeometryMode(G_TEXTURE_GEN), - gsSPTexture(4032, 1984, 0, 0, 1), - gsSPLight(&luigi_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_shade), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), + gsDPPipeSync(), + gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), + 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(luigi_left_thigh_dl), gsSPEndDisplayList(), }; @@ -1056,6 +1037,7 @@ const Gfx luigi_metal_right_foot[] = { gsSPDisplayList(luigi_right_foot_dl), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsDPSetEnvColor(255, 255, 255, 255), @@ -1383,543 +1365,318 @@ const Gfx luigi_metal_torso_shared_dl[] = { }; Vtx luigi_l_logo_dl_vertex[7] = { - {{ {186, 83, 26}, 0, {730, 764}, {78, 83, 57, 255} }}, - {{ {147, 31, 77}, 0, {1200, 1106}, {254, 70, 106, 255} }}, - {{ {247, 60, 57}, 0, {1018, 94}, {63, 72, 83, 255} }}, - {{ {273, 73, 0}, 0, {474, -182}, {96, 83, 0, 255} }}, - {{ {186, 83, -25}, 0, {252, 768}, {78, 83, 199, 255} }}, - {{ {247, 60, -56}, 0, {-38, 100}, {63, 73, 173, 255} }}, - {{ {147, 31, -76}, 0, {-206, 1116}, {253, 70, 150, 255} }}, + {{{186, 83, 26}, 0, {728, 764}, {0x52, 0x55, 0x30, 0xFF}}}, + {{{147, 31, 77}, 0, {1198, 1106}, {0x04, 0x46, 0x6A, 0xFF}}}, + {{{247, 60, 57}, 0, {1004, 94}, {0x39, 0x4A, 0x55, 0xFF}}}, + {{{273, 73, 0}, 0, {472, -182}, {0x5F, 0x54, 0x00, 0xFF}}}, + {{{186, 83, -25}, 0, {248, 768}, {0x51, 0x54, 0xCF, 0xFF}}}, + {{{247, 60, -56}, 0, {-50, 100}, {0x39, 0x4A, 0xAB, 0xFF}}}, + {{{147, 31, -76}, 0, {-206, 1116}, {0x03, 0x46, 0x96, 0xFF}}}, }; Vtx luigi_eyes_cap_on_dl_vertex[12] = { - {{ {78, 89, -20}, 0, {282, 1028}, {67, 68, 173, 255} }}, - {{ {135, 74, -54}, 0, {-84, 412}, {25, 91, 171, 255} }}, - {{ {94, 76, -56}, 0, {-98, 860}, {17, 100, 180, 255} }}, - {{ {166, 84, -26}, 0, {202, 68}, {161, 84, 247, 255} }}, - {{ {135, 91, 0}, 0, {480, 402}, {10, 127, 0, 255} }}, - {{ {88, 92, 0}, 0, {488, 916}, {97, 82, 0, 255} }}, - {{ {78, 89, 20}, 0, {700, 1020}, {70, 67, 82, 255} }}, - {{ {166, 84, 27}, 0, {756, 60}, {161, 84, 9, 255} }}, - {{ {135, 74, 55}, 0, {1054, 392}, {25, 91, 85, 255} }}, - {{ {94, 76, 57}, 0, {1084, 840}, {17, 101, 76, 255} }}, - {{ {147, 31, 77}, 0, {1282, 258}, {254, 70, 106, 255} }}, - {{ {147, 31, -76}, 0, {-318, 286}, {253, 70, 150, 255} }}, + {{{94, 76, -56}, 0, {-102, 860}, {0x30, 0x5C, 0xB7, 0xFF}}}, + {{{78, 89, -20}, 0, {282, 1022}, {0x40, 0x5B, 0xC3, 0xFF}}}, + {{{135, 74, -54}, 0, {-88, 412}, {0x19, 0x5C, 0xAC, 0xFF}}}, + {{{166, 84, -26}, 0, {198, 66}, {0xC6, 0x6E, 0xE7, 0xFF}}}, + {{{135, 91, 0}, 0, {480, 398}, {0x13, 0x7E, 0x00, 0xFF}}}, + {{{88, 92, 0}, 0, {488, 902}, {0x6A, 0x46, 0x00, 0xFF}}}, + {{{78, 89, 20}, 0, {698, 1010}, {0x40, 0x5B, 0x3D, 0xFF}}}, + {{{166, 84, 27}, 0, {750, 48}, {0xC6, 0x6E, 0x19, 0xFF}}}, + {{{135, 74, 55}, 0, {1050, 380}, {0x19, 0x5C, 0x54, 0xFF}}}, + {{{94, 76, 57}, 0, {1080, 826}, {0x30, 0x5C, 0x49, 0xFF}}}, + {{{147, 31, 77}, 0, {1280, 240}, {0x04, 0x46, 0x6A, 0xFF}}}, + {{{147, 31, -76}, 0, {-322, 286}, {0x03, 0x46, 0x96, 0xFF}}}, }; Vtx luigi_hair_sideburn_cap_on_dl_vertex[12] = { - {{ {88, 42, -76}, 0, {-70, 700}, {7, 42, 136, 255} }}, - {{ {147, 31, -76}, 0, {90, -58}, {253, 70, 150, 255} }}, - {{ {115, -12, -91}, 0, {916, 184}, {235, 33, 135, 255} }}, - {{ {80, -24, -92}, 0, {1150, 582}, {0, 89, 165, 255} }}, - {{ {32, -5, -84}, 0, {842, 1210}, {187, 248, 149, 255} }}, - {{ {34, 34, -78}, 0, {118, 1334}, {213, 31, 140, 255} }}, - {{ {88, 42, 77}, 0, {-74, 726}, {6, 43, 119, 255} }}, - {{ {115, -11, 93}, 0, {922, 122}, {235, 33, 121, 255} }}, - {{ {147, 31, 77}, 0, {22, -68}, {254, 70, 106, 255} }}, - {{ {80, -24, 93}, 0, {1238, 518}, {254, 89, 91, 255} }}, - {{ {32, -5, 85}, 0, {968, 1192}, {187, 248, 107, 255} }}, - {{ {34, 34, 79}, 0, {196, 1366}, {213, 31, 116, 255} }}, + {{{115, -12, -91}, 0, {916, 184}, {0xED, 0x24, 0x88, 0xFF}}}, + {{{88, 42, -76}, 0, {-70, 700}, {0x11, 0x27, 0x88, 0xFF}}}, + {{{147, 31, -76}, 0, {90, -58}, {0x03, 0x46, 0x96, 0xFF}}}, + {{{80, -24, -92}, 0, {1150, 582}, {0x06, 0x59, 0xA6, 0xFF}}}, + {{{32, -5, -84}, 0, {842, 1210}, {0xC2, 0x05, 0x91, 0xFF}}}, + {{{34, 34, -78}, 0, {118, 1334}, {0xDA, 0x21, 0x8B, 0xFF}}}, + {{{88, 42, 77}, 0, {-74, 726}, {0x10, 0x28, 0x77, 0xFF}}}, + {{{34, 34, 79}, 0, {196, 1366}, {0xDA, 0x21, 0x75, 0xFF}}}, + {{{32, -5, 85}, 0, {968, 1192}, {0xC2, 0x05, 0x6F, 0xFF}}}, + {{{80, -24, 93}, 0, {1238, 518}, {0x04, 0x59, 0x5B, 0xFF}}}, + {{{115, -11, 93}, 0, {922, 122}, {0xED, 0x24, 0x78, 0xFF}}}, + {{{147, 31, 77}, 0, {22, -68}, {0x04, 0x46, 0x6A, 0xFF}}}, }; -Vtx luigi_mustache_cap_on_dl_vertex[21] = { - {{ {78, 89, 20}, 0, {224, 146}, {70, 67, 82, 255} }}, - {{ {58, 93, 28}, 0, {342, 368}, {20, 35, 120, 255} }}, - {{ {66, 76, 68}, 0, {898, -18}, {7, 85, 94, 255} }}, - {{ {35, 79, 58}, 0, {824, 500}, {211, 87, 81, 255} }}, - {{ {35, 94, 27}, 0, {354, 690}, {183, 45, 94, 255} }}, - {{ {13, 83, 24}, 0, {442, 982}, {173, 91, 31, 255} }}, - {{ {24, 91, 0}, 0, {70, 924}, {139, 50, 0, 255} }}, - {{ {-7, 40, 43}, 0, {892, 1090}, {147, 20, 62, 255} }}, - {{ {34, 34, 79}, 0, {1296, 310}, {213, 31, 116, 255} }}, - {{ {35, 94, -26}, 0, {340, 684}, {184, 46, 162, 255} }}, - {{ {13, 83, -24}, 0, {394, 998}, {174, 91, 224, 255} }}, - {{ {24, 91, 0}, 0, {50, 900}, {139, 50, 0, 255} }}, - {{ {35, 79, -57}, 0, {792, 544}, {211, 86, 174, 255} }}, - {{ {58, 93, -27}, 0, {362, 344}, {18, 35, 135, 255} }}, - {{ {66, 76, -67}, 0, {922, -4}, {7, 85, 162, 255} }}, - {{ {78, 89, -20}, 0, {274, 100}, {67, 68, 173, 255} }}, - {{ {34, 34, -78}, 0, {1250, 390}, {213, 31, 140, 255} }}, - {{ {35, 79, -57}, 0, {792, 544}, {211, 86, 174, 255} }}, - {{ {66, 76, -67}, 0, {922, -4}, {7, 85, 162, 255} }}, - {{ {-7, 40, -42}, 0, {806, 1162}, {147, 19, 194, 255} }}, - {{ {13, 83, -24}, 0, {394, 998}, {174, 91, 224, 255} }}, +Vtx luigi_mustache_cap_on_dl_vertex[18] = { + {{{58, 93, 28}, 0, {342, 368}, {0x0E, 0x16, 0x7C, 0xFF}}}, + {{{66, 76, 68}, 0, {898, -18}, {0x23, 0x59, 0x53, 0xFF}}}, + {{{78, 89, 20}, 0, {224, 146}, {0x40, 0x5B, 0x3D, 0xFF}}}, + {{{35, 79, 58}, 0, {824, 500}, {0xD7, 0x61, 0x47, 0xFF}}}, + {{{35, 94, 27}, 0, {354, 690}, {0xA8, 0x33, 0x4B, 0xFF}}}, + {{{13, 83, 24}, 0, {442, 982}, {0xB1, 0x61, 0x16, 0xFF}}}, + {{{24, 91, 0}, 0, {70, 924}, {0x95, 0x44, 0x00, 0xFF}}}, + {{{-7, 40, 43}, 0, {892, 1090}, {0x94, 0x1D, 0x3C, 0xFF}}}, + {{{34, 34, 79}, 0, {1296, 310}, {0xDA, 0x21, 0x75, 0xFF}}}, + {{{24, 91, 0}, 0, {50, 900}, {0x95, 0x44, 0x00, 0xFF}}}, + {{{35, 94, -26}, 0, {340, 684}, {0xA7, 0x32, 0xB4, 0xFF}}}, + {{{13, 83, -24}, 0, {394, 998}, {0xB1, 0x61, 0xEA, 0xFF}}}, + {{{35, 79, -57}, 0, {792, 544}, {0xD7, 0x61, 0xB9, 0xFF}}}, + {{{58, 93, -27}, 0, {362, 344}, {0x0E, 0x16, 0x84, 0xFF}}}, + {{{66, 76, -67}, 0, {922, -4}, {0x23, 0x59, 0xAD, 0xFF}}}, + {{{78, 89, -20}, 0, {274, 100}, {0x40, 0x5B, 0xC3, 0xFF}}}, + {{{34, 34, -78}, 0, {1250, 390}, {0xDA, 0x21, 0x8B, 0xFF}}}, + {{{-7, 40, -42}, 0, {806, 1162}, {0x94, 0x1D, 0xC4, 0xFF}}}, }; -Vtx luigi_face_cap_dl_vertex[43] = { - {{ {163, 124, -53}, 0, {0, 0}, {227, 81, 163, 255} }}, - {{ {147, 31, -76}, 0, {0, 0}, {253, 70, 150, 255} }}, - {{ {166, 84, -26}, 0, {0, 0}, {161, 84, 247, 255} }}, - {{ {186, 83, -25}, 0, {0, 0}, {78, 83, 199, 255} }}, - {{ {171, 155, 0}, 0, {0, 0}, {252, 127, 255, 255} }}, - {{ {166, 84, 27}, 0, {0, 0}, {161, 84, 9, 255} }}, - {{ {163, 125, 54}, 0, {0, 0}, {228, 82, 93, 255} }}, - {{ {147, 31, 77}, 0, {0, 0}, {254, 70, 106, 255} }}, - {{ {186, 83, 26}, 0, {0, 0}, {78, 83, 57, 255} }}, - {{ {185, -5, -117}, 0, {0, 0}, {30, 9, 133, 255} }}, - {{ {247, 60, -56}, 0, {0, 0}, {63, 73, 173, 255} }}, - {{ {115, -12, -91}, 0, {0, 0}, {235, 33, 135, 255} }}, - {{ {129, -50, -108}, 0, {0, 0}, {232, 224, 135, 255} }}, - {{ {165, -90, -61}, 0, {0, 0}, {73, 168, 200, 255} }}, - {{ {270, -2, -34}, 0, {0, 0}, {111, 212, 213, 255} }}, - {{ {273, 73, 0}, 0, {0, 0}, {96, 83, 0, 255} }}, - {{ {273, 73, 0}, 0, {0, 0}, {96, 83, 0, 255} }}, - {{ {270, -2, 34}, 0, {0, 0}, {111, 212, 43, 255} }}, - {{ {270, -2, -34}, 0, {0, 0}, {111, 212, 213, 255} }}, - {{ {247, 60, 57}, 0, {0, 0}, {63, 72, 83, 255} }}, - {{ {185, -5, 117}, 0, {0, 0}, {31, 9, 123, 255} }}, - {{ {147, 31, 77}, 0, {0, 0}, {254, 70, 106, 255} }}, - {{ {115, -11, 93}, 0, {0, 0}, {235, 33, 121, 255} }}, - {{ {129, -50, 108}, 0, {0, 0}, {233, 222, 120, 255} }}, - {{ {88, -51, 74}, 0, {0, 0}, {208, 190, 97, 255} }}, - {{ {62, -96, 42}, 0, {0, 0}, {209, 168, 79, 255} }}, - {{ {77, -135, 42}, 0, {0, 0}, {188, 162, 53, 255} }}, - {{ {77, -135, -41}, 0, {0, 0}, {189, 162, 204, 255} }}, - {{ {62, -96, -42}, 0, {0, 0}, {209, 169, 176, 255} }}, - {{ {129, -50, -108}, 0, {0, 0}, {232, 224, 135, 255} }}, - {{ {88, -51, -73}, 0, {0, 0}, {207, 192, 158, 255} }}, - {{ {115, -12, -91}, 0, {0, 0}, {235, 33, 135, 255} }}, - {{ {129, -50, -108}, 0, {0, 0}, {232, 224, 135, 255} }}, - {{ {124, -138, -40}, 0, {0, 0}, {40, 144, 210, 255} }}, - {{ {77, -135, -41}, 0, {0, 0}, {189, 162, 204, 255} }}, - {{ {165, -90, -61}, 0, {0, 0}, {73, 168, 200, 255} }}, - {{ {124, -138, 41}, 0, {0, 0}, {41, 145, 46, 255} }}, - {{ {165, -89, 62}, 0, {0, 0}, {73, 169, 57, 255} }}, - {{ {270, -2, -34}, 0, {0, 0}, {111, 212, 213, 255} }}, - {{ {270, -2, 34}, 0, {0, 0}, {111, 212, 43, 255} }}, - {{ {185, -5, 117}, 0, {0, 0}, {31, 9, 123, 255} }}, - {{ {129, -50, 108}, 0, {0, 0}, {233, 222, 120, 255} }}, - {{ {77, -135, 42}, 0, {0, 0}, {188, 162, 53, 255} }}, +Vtx luigi_face_cap_dl_vertex[30] = { + {{{115, -12, -91}, 0, {0, 0}, {0xED, 0x24, 0x88, 0xFF}}}, + {{{129, -50, -108}, 0, {0, 0}, {0xDE, 0xD4, 0x8E, 0xFF}}}, + {{{88, -51, -73}, 0, {0, 0}, {0xD9, 0xAF, 0xA6, 0xFF}}}, + {{{185, -5, -117}, 0, {0, 0}, {0x1E, 0x04, 0x85, 0xFF}}}, + {{{147, 31, -76}, 0, {0, 0}, {0x03, 0x46, 0x96, 0xFF}}}, + {{{247, 60, -56}, 0, {0, 0}, {0x39, 0x4A, 0xAB, 0xFF}}}, + {{{270, -2, -34}, 0, {0, 0}, {0x6F, 0xCE, 0xDC, 0xFF}}}, + {{{273, 73, 0}, 0, {0, 0}, {0x5F, 0x54, 0x00, 0xFF}}}, + {{{270, -2, 34}, 0, {0, 0}, {0x72, 0xDC, 0x2B, 0xFF}}}, + {{{247, 60, 57}, 0, {0, 0}, {0x39, 0x4A, 0x55, 0xFF}}}, + {{{185, -5, 117}, 0, {0, 0}, {0x1F, 0x04, 0x7B, 0xFF}}}, + {{{147, 31, 77}, 0, {0, 0}, {0x04, 0x46, 0x6A, 0xFF}}}, + {{{115, -11, 93}, 0, {0, 0}, {0xED, 0x24, 0x78, 0xFF}}}, + {{{129, -50, 108}, 0, {0, 0}, {0xDF, 0xD3, 0x72, 0xFF}}}, + {{{88, -51, 74}, 0, {0, 0}, {0xD9, 0xAF, 0x59, 0xFF}}}, + {{{62, -96, 42}, 0, {0, 0}, {0xC9, 0x99, 0x31, 0xFF}}}, + {{{77, -135, 42}, 0, {0, 0}, {0xC1, 0xA4, 0x3C, 0xFF}}}, + {{{77, -135, -41}, 0, {0, 0}, {0xBB, 0x9D, 0xD8, 0xFF}}}, + {{{62, -96, -42}, 0, {0, 0}, {0xDE, 0x94, 0xC7, 0xFF}}}, + {{{124, -138, -40}, 0, {0, 0}, {0x28, 0x93, 0xCD, 0xFF}}}, + {{{165, -90, -61}, 0, {0, 0}, {0x51, 0xA9, 0xD5, 0xFF}}}, + {{{165, -89, 62}, 0, {0, 0}, {0x4E, 0xA6, 0x2B, 0xFF}}}, + {{{124, -138, 41}, 0, {0, 0}, {0x2D, 0x8E, 0x22, 0xFF}}}, + {{{166, 84, -26}, 0, {0, 0}, {0xC6, 0x6E, 0xE7, 0xFF}}}, + {{{163, 124, -53}, 0, {0, 0}, {0xDA, 0x5B, 0xB0, 0xFF}}}, + {{{171, 155, 0}, 0, {0, 0}, {0xED, 0x7E, 0x00, 0xFF}}}, + {{{166, 84, 27}, 0, {0, 0}, {0xC6, 0x6E, 0x19, 0xFF}}}, + {{{163, 125, 54}, 0, {0, 0}, {0xDA, 0x5B, 0x50, 0xFF}}}, + {{{186, 83, 26}, 0, {0, 0}, {0x52, 0x55, 0x30, 0xFF}}}, + {{{186, 83, -25}, 0, {0, 0}, {0x51, 0x54, 0xCF, 0xFF}}}, }; -Vtx luigi_face_part_cap_on_dl_vertex[88] = { - {{ {66, 76, 68}, 0, {0, 0}, {7, 85, 94, 255} }}, - {{ {94, 76, 57}, 0, {0, 0}, {17, 101, 76, 255} }}, - {{ {78, 89, 20}, 0, {0, 0}, {70, 67, 82, 255} }}, - {{ {88, 42, 77}, 0, {0, 0}, {6, 43, 119, 255} }}, - {{ {34, 34, 79}, 0, {0, 0}, {213, 31, 116, 255} }}, - {{ {135, 74, 55}, 0, {0, 0}, {25, 91, 85, 255} }}, - {{ {147, 31, 77}, 0, {0, 0}, {254, 70, 106, 255} }}, - {{ {13, 83, -24}, 0, {0, 0}, {174, 91, 224, 255} }}, - {{ {13, 83, 24}, 0, {0, 0}, {173, 91, 31, 255} }}, - {{ {24, 91, 0}, 0, {0, 0}, {139, 50, 0, 255} }}, - {{ {-19, 46, 0}, 0, {0, 0}, {131, 25, 0, 255} }}, - {{ {-7, 40, -42}, 0, {0, 0}, {147, 19, 194, 255} }}, - {{ {12, -51, -34}, 0, {0, 0}, {132, 0, 227, 255} }}, - {{ {32, -5, -84}, 0, {0, 0}, {187, 248, 149, 255} }}, - {{ {34, 34, -78}, 0, {0, 0}, {213, 31, 140, 255} }}, - {{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }}, - {{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }}, - {{ {32, -5, -84}, 0, {0, 0}, {187, 248, 149, 255} }}, - {{ {57, -27, -110}, 0, {0, 0}, {217, 254, 135, 255} }}, - {{ {80, -24, -92}, 0, {0, 0}, {0, 89, 165, 255} }}, - {{ {95, -31, -110}, 0, {0, 0}, {43, 243, 137, 255} }}, - {{ {115, -12, -91}, 0, {0, 0}, {235, 33, 135, 255} }}, - {{ {88, -51, -73}, 0, {0, 0}, {207, 192, 158, 255} }}, - {{ {13, 83, 24}, 0, {0, 0}, {173, 91, 31, 255} }}, - {{ {-19, 46, 0}, 0, {0, 0}, {131, 25, 0, 255} }}, - {{ {-7, 40, 43}, 0, {0, 0}, {147, 20, 62, 255} }}, - {{ {12, -51, 35}, 0, {0, 0}, {133, 0, 30, 255} }}, - {{ {12, -51, -34}, 0, {0, 0}, {132, 0, 227, 255} }}, - {{ {26, -79, 0}, 0, {0, 0}, {160, 172, 0, 255} }}, - {{ {32, -5, 85}, 0, {0, 0}, {187, 248, 107, 255} }}, - {{ {34, 34, 79}, 0, {0, 0}, {213, 31, 116, 255} }}, - {{ {51, -44, 65}, 0, {0, 0}, {208, 193, 100, 255} }}, - {{ {51, -44, 65}, 0, {0, 0}, {208, 193, 100, 255} }}, - {{ {57, -27, 111}, 0, {0, 0}, {217, 254, 121, 255} }}, - {{ {32, -5, 85}, 0, {0, 0}, {187, 248, 107, 255} }}, - {{ {88, -51, 74}, 0, {0, 0}, {208, 190, 97, 255} }}, - {{ {95, -31, 111}, 0, {0, 0}, {42, 241, 119, 255} }}, - {{ {115, -11, 93}, 0, {0, 0}, {235, 33, 121, 255} }}, - {{ {80, -24, 93}, 0, {0, 0}, {254, 89, 91, 255} }}, - {{ {88, 42, -76}, 0, {0, 0}, {7, 42, 136, 255} }}, - {{ {135, 74, -54}, 0, {0, 0}, {25, 91, 171, 255} }}, - {{ {147, 31, -76}, 0, {0, 0}, {253, 70, 150, 255} }}, - {{ {94, 76, -56}, 0, {0, 0}, {17, 100, 180, 255} }}, - {{ {66, 76, -67}, 0, {0, 0}, {7, 85, 162, 255} }}, - {{ {34, 34, -78}, 0, {0, 0}, {213, 31, 140, 255} }}, - {{ {78, 89, -20}, 0, {0, 0}, {67, 68, 173, 255} }}, - {{ {35, 94, 27}, 0, {0, 0}, {183, 45, 94, 255} }}, - {{ {15, 111, 0}, 0, {0, 0}, {132, 230, 254, 255} }}, - {{ {24, 91, 0}, 0, {0, 0}, {139, 50, 0, 255} }}, - {{ {29, 112, 36}, 0, {0, 0}, {179, 226, 96, 255} }}, - {{ {58, 93, 28}, 0, {0, 0}, {20, 35, 120, 255} }}, - {{ {55, 112, 41}, 0, {0, 0}, {255, 220, 122, 255} }}, - {{ {81, 112, 36}, 0, {0, 0}, {75, 223, 97, 255} }}, - {{ {78, 89, 20}, 0, {0, 0}, {70, 67, 82, 255} }}, - {{ {96, 113, 0}, 0, {0, 0}, {125, 234, 0, 255} }}, - {{ {88, 92, 0}, 0, {0, 0}, {97, 82, 0, 255} }}, - {{ {78, 89, -20}, 0, {0, 0}, {67, 68, 173, 255} }}, - {{ {81, 112, -35}, 0, {0, 0}, {75, 224, 158, 255} }}, - {{ {58, 93, -27}, 0, {0, 0}, {18, 35, 135, 255} }}, - {{ {55, 112, -40}, 0, {0, 0}, {255, 220, 134, 255} }}, - {{ {29, 112, -35}, 0, {0, 0}, {178, 228, 160, 255} }}, - {{ {35, 94, -26}, 0, {0, 0}, {184, 46, 162, 255} }}, - {{ {29, 112, -35}, 0, {0, 0}, {178, 228, 160, 255} }}, - {{ {15, 111, 0}, 0, {0, 0}, {132, 230, 254, 255} }}, - {{ {32, 141, -35}, 0, {0, 0}, {191, 64, 167, 255} }}, - {{ {15, 141, 0}, 0, {0, 0}, {142, 56, 254, 255} }}, - {{ {29, 112, 36}, 0, {0, 0}, {179, 226, 96, 255} }}, - {{ {32, 141, 36}, 0, {0, 0}, {193, 65, 89, 255} }}, - {{ {55, 112, 41}, 0, {0, 0}, {255, 220, 122, 255} }}, - {{ {58, 141, 41}, 0, {0, 0}, {0, 67, 108, 255} }}, - {{ {82, 142, 36}, 0, {0, 0}, {69, 61, 88, 255} }}, - {{ {81, 112, 36}, 0, {0, 0}, {75, 223, 97, 255} }}, - {{ {96, 113, 0}, 0, {0, 0}, {125, 234, 0, 255} }}, - {{ {96, 142, 0}, 0, {0, 0}, {117, 50, 255, 255} }}, - {{ {81, 112, -35}, 0, {0, 0}, {75, 224, 158, 255} }}, - {{ {82, 142, -35}, 0, {0, 0}, {69, 60, 168, 255} }}, - {{ {55, 112, -40}, 0, {0, 0}, {255, 220, 134, 255} }}, - {{ {58, 141, -40}, 0, {0, 0}, {0, 66, 147, 255} }}, - {{ {58, 141, -40}, 0, {0, 0}, {0, 66, 147, 255} }}, - {{ {32, 141, -35}, 0, {0, 0}, {191, 64, 167, 255} }}, - {{ {39, 156, 0}, 0, {0, 0}, {224, 123, 0, 255} }}, - {{ {15, 141, 0}, 0, {0, 0}, {142, 56, 254, 255} }}, - {{ {32, 141, 36}, 0, {0, 0}, {193, 65, 89, 255} }}, - {{ {58, 141, 41}, 0, {0, 0}, {0, 67, 108, 255} }}, - {{ {77, 157, 0}, 0, {0, 0}, {35, 122, 0, 255} }}, - {{ {82, 142, 36}, 0, {0, 0}, {69, 61, 88, 255} }}, - {{ {96, 142, 0}, 0, {0, 0}, {117, 50, 255, 255} }}, - {{ {82, 142, -35}, 0, {0, 0}, {69, 60, 168, 255} }}, +Vtx luigi_face_part_cap_on_dl_vertex[60] = { + {{{24, 91, 0}, 0, {0, 0}, {0x95, 0x44, 0x00, 0xFF}}}, + {{{13, 83, -24}, 0, {0, 0}, {0xB1, 0x61, 0xEA, 0xFF}}}, + {{{13, 83, 24}, 0, {0, 0}, {0xB1, 0x61, 0x16, 0xFF}}}, + {{{-19, 46, 0}, 0, {0, 0}, {0x84, 0x1D, 0x00, 0xFF}}}, + {{{-7, 40, -42}, 0, {0, 0}, {0x94, 0x1D, 0xC4, 0xFF}}}, + {{{12, -51, -34}, 0, {0, 0}, {0x88, 0xF8, 0xD7, 0xFF}}}, + {{{32, -5, -84}, 0, {0, 0}, {0xC2, 0x05, 0x91, 0xFF}}}, + {{{34, 34, -78}, 0, {0, 0}, {0xDA, 0x21, 0x8B, 0xFF}}}, + {{{51, -44, -64}, 0, {0, 0}, {0xE3, 0xCA, 0x91, 0xFF}}}, + {{{57, -27, -110}, 0, {0, 0}, {0xCC, 0xE5, 0x8F, 0xFF}}}, + {{{80, -24, -92}, 0, {0, 0}, {0x06, 0x59, 0xA6, 0xFF}}}, + {{{95, -31, -110}, 0, {0, 0}, {0x32, 0x19, 0x8E, 0xFF}}}, + {{{115, -12, -91}, 0, {0, 0}, {0xED, 0x24, 0x88, 0xFF}}}, + {{{88, -51, -73}, 0, {0, 0}, {0xD9, 0xAF, 0xA6, 0xFF}}}, + {{{-7, 40, 43}, 0, {0, 0}, {0x94, 0x1D, 0x3C, 0xFF}}}, + {{{12, -51, 35}, 0, {0, 0}, {0x88, 0xF8, 0x29, 0xFF}}}, + {{{26, -79, 0}, 0, {0, 0}, {0x9F, 0xAE, 0x00, 0xFF}}}, + {{{32, -5, 85}, 0, {0, 0}, {0xC2, 0x05, 0x6F, 0xFF}}}, + {{{51, -44, 65}, 0, {0, 0}, {0xE3, 0xCA, 0x6F, 0xFF}}}, + {{{57, -27, 111}, 0, {0, 0}, {0xCC, 0xE5, 0x71, 0xFF}}}, + {{{88, -51, 74}, 0, {0, 0}, {0xD9, 0xAF, 0x59, 0xFF}}}, + {{{95, -31, 111}, 0, {0, 0}, {0x30, 0x18, 0x73, 0xFF}}}, + {{{115, -11, 93}, 0, {0, 0}, {0xED, 0x24, 0x78, 0xFF}}}, + {{{80, -24, 93}, 0, {0, 0}, {0x04, 0x59, 0x5B, 0xFF}}}, + {{{34, 34, 79}, 0, {0, 0}, {0xDA, 0x21, 0x75, 0xFF}}}, + {{{66, 76, 68}, 0, {0, 0}, {0x23, 0x59, 0x53, 0xFF}}}, + {{{94, 76, 57}, 0, {0, 0}, {0x30, 0x5C, 0x49, 0xFF}}}, + {{{78, 89, 20}, 0, {0, 0}, {0x40, 0x5B, 0x3D, 0xFF}}}, + {{{88, 42, 77}, 0, {0, 0}, {0x10, 0x28, 0x77, 0xFF}}}, + {{{135, 74, 55}, 0, {0, 0}, {0x19, 0x5C, 0x54, 0xFF}}}, + {{{147, 31, 77}, 0, {0, 0}, {0x04, 0x46, 0x6A, 0xFF}}}, + {{{135, 74, -54}, 0, {0, 0}, {0x19, 0x5C, 0xAC, 0xFF}}}, + {{{147, 31, -76}, 0, {0, 0}, {0x03, 0x46, 0x96, 0xFF}}}, + {{{88, 42, -76}, 0, {0, 0}, {0x11, 0x27, 0x88, 0xFF}}}, + {{{94, 76, -56}, 0, {0, 0}, {0x30, 0x5C, 0xB7, 0xFF}}}, + {{{66, 76, -67}, 0, {0, 0}, {0x23, 0x59, 0xAD, 0xFF}}}, + {{{78, 89, -20}, 0, {0, 0}, {0x40, 0x5B, 0xC3, 0xFF}}}, + {{{35, 94, -26}, 0, {0, 0}, {0xA7, 0x32, 0xB4, 0xFF}}}, + {{{15, 111, 0}, 0, {0, 0}, {0x84, 0xE8, 0xF8, 0xFF}}}, + {{{35, 94, 27}, 0, {0, 0}, {0xA8, 0x33, 0x4B, 0xFF}}}, + {{{29, 112, 36}, 0, {0, 0}, {0xB0, 0xE4, 0x5E, 0xFF}}}, + {{{58, 93, 28}, 0, {0, 0}, {0x0E, 0x16, 0x7C, 0xFF}}}, + {{{55, 112, 41}, 0, {0, 0}, {0x00, 0xEC, 0x7D, 0xFF}}}, + {{{81, 112, 36}, 0, {0, 0}, {0x45, 0xD6, 0x62, 0xFF}}}, + {{{96, 113, 0}, 0, {0, 0}, {0x7B, 0xE1, 0x06, 0xFF}}}, + {{{88, 92, 0}, 0, {0, 0}, {0x6A, 0x46, 0x00, 0xFF}}}, + {{{81, 112, -35}, 0, {0, 0}, {0x51, 0xDC, 0xA5, 0xFF}}}, + {{{58, 93, -27}, 0, {0, 0}, {0x0E, 0x16, 0x84, 0xFF}}}, + {{{55, 112, -40}, 0, {0, 0}, {0x00, 0xEC, 0x83, 0xFF}}}, + {{{29, 112, -35}, 0, {0, 0}, {0xBB, 0xDE, 0x9B, 0xFF}}}, + {{{32, 141, -35}, 0, {0, 0}, {0xB8, 0x34, 0xA6, 0xFF}}}, + {{{15, 141, 0}, 0, {0, 0}, {0x8E, 0x38, 0x09, 0xFF}}}, + {{{32, 141, 36}, 0, {0, 0}, {0xC8, 0x3D, 0x60, 0xFF}}}, + {{{58, 141, 41}, 0, {0, 0}, {0x03, 0x56, 0x5E, 0xFF}}}, + {{{82, 142, 36}, 0, {0, 0}, {0x52, 0x27, 0x58, 0xFF}}}, + {{{96, 142, 0}, 0, {0, 0}, {0x7A, 0x23, 0xF6, 0xFF}}}, + {{{82, 142, -35}, 0, {0, 0}, {0x44, 0x31, 0xA1, 0xFF}}}, + {{{58, 141, -40}, 0, {0, 0}, {0x03, 0x55, 0xA1, 0xFF}}}, + {{{39, 156, 0}, 0, {0, 0}, {0xEA, 0x7D, 0x00, 0xFF}}}, + {{{77, 157, 0}, 0, {0, 0}, {0x27, 0x79, 0x00, 0xFF}}}, }; -Vtx luigi_face_back_hair_cap_on_dl_vertex[24] = { - {{ {88, -51, -73}, 0, {0, 0}, {207, 192, 158, 255} }}, - {{ {62, -96, -42}, 0, {0, 0}, {209, 169, 176, 255} }}, - {{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }}, - {{ {46, -107, -45}, 0, {0, 0}, {60, 152, 215, 255} }}, - {{ {24, -109, -21}, 0, {0, 0}, {239, 156, 77, 255} }}, - {{ {26, -79, 0}, 0, {0, 0}, {160, 172, 0, 255} }}, - {{ {62, -96, 42}, 0, {0, 0}, {209, 168, 79, 255} }}, - {{ {24, -109, 21}, 0, {0, 0}, {239, 156, 179, 255} }}, - {{ {46, -107, 45}, 0, {0, 0}, {60, 152, 41, 255} }}, - {{ {51, -44, 65}, 0, {0, 0}, {208, 193, 100, 255} }}, - {{ {88, -51, 74}, 0, {0, 0}, {208, 190, 97, 255} }}, - {{ {19, -78, 73}, 0, {0, 0}, {226, 4, 123, 255} }}, - {{ {12, -51, 35}, 0, {0, 0}, {133, 0, 30, 255} }}, - {{ {-3, -81, 44}, 0, {0, 0}, {129, 11, 1, 255} }}, - {{ {5, -113, 53}, 0, {0, 0}, {185, 158, 40, 255} }}, - {{ {19, -78, -73}, 0, {0, 0}, {227, 5, 132, 255} }}, - {{ {5, -113, -53}, 0, {0, 0}, {185, 158, 216, 255} }}, - {{ {19, -78, -73}, 0, {0, 0}, {227, 5, 132, 255} }}, - {{ {46, -107, -45}, 0, {0, 0}, {60, 152, 215, 255} }}, - {{ {24, -109, -21}, 0, {0, 0}, {239, 156, 77, 255} }}, - {{ {-3, -81, -44}, 0, {0, 0}, {129, 11, 255, 255} }}, - {{ {26, -79, 0}, 0, {0, 0}, {160, 172, 0, 255} }}, - {{ {12, -51, -34}, 0, {0, 0}, {132, 0, 227, 255} }}, - {{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }}, +Vtx luigi_face_back_hair_cap_on_dl_vertex[19] = { + {{{62, -96, 42}, 0, {0, 0}, {0xC9, 0x99, 0x31, 0xFF}}}, + {{{88, -51, 74}, 0, {0, 0}, {0xD9, 0xAF, 0x59, 0xFF}}}, + {{{51, -44, 65}, 0, {0, 0}, {0xE3, 0xCA, 0x6F, 0xFF}}}, + {{{46, -107, 45}, 0, {0, 0}, {0x58, 0xB3, 0x32, 0xFF}}}, + {{{19, -78, 73}, 0, {0, 0}, {0xDB, 0xFD, 0x79, 0xFF}}}, + {{{12, -51, 35}, 0, {0, 0}, {0x88, 0xF8, 0x29, 0xFF}}}, + {{{-3, -81, 44}, 0, {0, 0}, {0x86, 0xDF, 0x0B, 0xFF}}}, + {{{26, -79, 0}, 0, {0, 0}, {0x9F, 0xAE, 0x00, 0xFF}}}, + {{{24, -109, 21}, 0, {0, 0}, {0xFB, 0x8E, 0xC9, 0xFF}}}, + {{{62, -96, -42}, 0, {0, 0}, {0xDE, 0x94, 0xC7, 0xFF}}}, + {{{24, -109, -21}, 0, {0, 0}, {0xFB, 0x8E, 0x37, 0xFF}}}, + {{{-3, -81, -44}, 0, {0, 0}, {0x86, 0xDF, 0xF5, 0xFF}}}, + {{{12, -51, -34}, 0, {0, 0}, {0x88, 0xF8, 0xD7, 0xFF}}}, + {{{19, -78, -73}, 0, {0, 0}, {0xDB, 0xFD, 0x87, 0xFF}}}, + {{{51, -44, -64}, 0, {0, 0}, {0xE3, 0xCA, 0x91, 0xFF}}}, + {{{46, -107, -45}, 0, {0, 0}, {0x58, 0xB3, 0xCE, 0xFF}}}, + {{{88, -51, -73}, 0, {0, 0}, {0xD9, 0xAF, 0xA6, 0xFF}}}, + {{{5, -113, -53}, 0, {0, 0}, {0xDA, 0x93, 0xCB, 0xFF}}}, + {{{5, -113, 53}, 0, {0, 0}, {0xDA, 0x93, 0x35, 0xFF}}}, }; Gfx luigi_l_logo_dl[] = { gsSPVertex(luigi_l_logo_dl_vertex + 0, 7, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 0, 2, 0), - gsSP1Triangle(4, 0, 3, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(6, 4, 5, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 3, 0, 0), + gsSP2Triangles(3, 4, 0, 0, 3, 5, 4, 0), + gsSP1Triangle(5, 6, 4, 0), gsSPEndDisplayList(), }; Gfx luigi_eyes_cap_on_dl[] = { gsSPVertex(luigi_eyes_cap_on_dl_vertex + 0, 12, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(5, 4, 0, 0), - gsSP1Triangle(5, 6, 4, 0), - gsSP1Triangle(4, 6, 7, 0), - gsSP1Triangle(7, 6, 8, 0), - gsSP1Triangle(9, 8, 6, 0), - gsSP1Triangle(7, 8, 10, 0), - gsSP1Triangle(3, 11, 1, 0), - gsSP1Triangle(4, 7, 3, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(1, 4, 3, 0, 1, 5, 4, 0), + gsSP2Triangles(4, 5, 6, 0, 7, 4, 6, 0), + gsSP2Triangles(8, 7, 6, 0, 6, 9, 8, 0), + gsSP2Triangles(10, 7, 8, 0, 3, 4, 7, 0), + gsSP1Triangle(2, 3, 11, 0), gsSPEndDisplayList(), }; Gfx luigi_hair_sideburn_cap_on_dl[] = { gsSPVertex(luigi_hair_sideburn_cap_on_dl_vertex + 0, 12, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 0, 2, 0), - gsSP1Triangle(3, 4, 0, 0), - gsSP1Triangle(4, 5, 0, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(6, 9, 7, 0), - gsSP1Triangle(10, 9, 6, 0), - gsSP1Triangle(11, 10, 6, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0), + gsSP2Triangles(1, 3, 4, 0, 4, 5, 1, 0), + gsSP2Triangles(6, 7, 8, 0, 8, 9, 6, 0), + gsSP2Triangles(9, 10, 6, 0, 11, 6, 10, 0), gsSPEndDisplayList(), }; Gfx luigi_mustache_cap_on_dl[] = { - gsSPVertex(luigi_mustache_cap_on_dl_vertex + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 3, 2, 0), - gsSP1Triangle(4, 3, 1, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(4, 6, 5, 0), - gsSP1Triangle(3, 5, 7, 0), - gsSP1Triangle(3, 7, 8, 0), - gsSP1Triangle(8, 2, 3, 0), - gsSP1Triangle(9, 10, 11, 0), - gsSP1Triangle(12, 10, 9, 0), - gsSP1Triangle(9, 13, 12, 0), - gsSP1Triangle(13, 14, 12, 0), - gsSP1Triangle(15, 14, 13, 0), - gsSPVertex(luigi_mustache_cap_on_dl_vertex + 16, 5, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(1, 3, 4, 0), + gsSPVertex(luigi_mustache_cap_on_dl_vertex + 0, 18, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 0, 3, 0), + gsSP2Triangles(0, 4, 3, 0, 5, 3, 4, 0), + gsSP2Triangles(5, 4, 6, 0, 7, 3, 5, 0), + gsSP2Triangles(8, 3, 7, 0, 3, 8, 1, 0), + gsSP2Triangles(9, 10, 11, 0, 10, 12, 11, 0), + gsSP2Triangles(12, 10, 13, 0, 12, 13, 14, 0), + gsSP2Triangles(14, 13, 15, 0, 14, 16, 12, 0), + gsSP2Triangles(17, 12, 16, 0, 11, 12, 17, 0), gsSPEndDisplayList(), }; Gfx luigi_face_part_cap_on_dl[] = { - gsSPVertex(luigi_face_part_cap_on_dl_vertex + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(0, 4, 3, 0), - gsSP1Triangle(3, 5, 1, 0), - gsSP1Triangle(6, 5, 3, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(7, 10, 8, 0), - gsSP1Triangle(11, 10, 7, 0), - gsSP1Triangle(11, 12, 10, 0), - gsSP1Triangle(11, 13, 12, 0), - gsSP1Triangle(11, 14, 13, 0), - gsSP1Triangle(12, 13, 15, 0), - gsSPVertex(luigi_face_part_cap_on_dl_vertex + 16, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 1, 3, 0), - gsSP1Triangle(4, 2, 3, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(5, 6, 4, 0), - gsSP1Triangle(2, 4, 6, 0), - gsSP1Triangle(0, 2, 6, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(8, 10, 9, 0), - gsSP1Triangle(8, 11, 10, 0), - gsSP1Triangle(10, 11, 12, 0), - gsSP1Triangle(13, 9, 10, 0), - gsSP1Triangle(13, 14, 9, 0), - gsSP1Triangle(13, 10, 15, 0), - gsSPVertex(luigi_face_part_cap_on_dl_vertex + 32, 14, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(3, 4, 1, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(6, 1, 4, 0), - gsSP1Triangle(1, 6, 2, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(8, 7, 10, 0), - gsSP1Triangle(10, 7, 11, 0), - gsSP1Triangle(12, 11, 7, 0), - gsSP1Triangle(13, 10, 11, 0), - gsSPVertex(luigi_face_part_cap_on_dl_vertex + 46, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(0, 4, 3, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(4, 6, 5, 0), - gsSP1Triangle(6, 4, 7, 0), - gsSP1Triangle(7, 8, 6, 0), - gsSP1Triangle(9, 8, 7, 0), - gsSP1Triangle(10, 8, 9, 0), - gsSP1Triangle(8, 10, 11, 0), - gsSP1Triangle(10, 12, 11, 0), - gsSP1Triangle(11, 12, 13, 0), - gsSP1Triangle(12, 14, 13, 0), - gsSP1Triangle(14, 12, 15, 0), - gsSP1Triangle(15, 1, 14, 0), - gsSP1Triangle(2, 1, 15, 0), - gsSPVertex(luigi_face_part_cap_on_dl_vertex + 62, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 3, 2, 0), - gsSP1Triangle(4, 3, 1, 0), - gsSP1Triangle(5, 3, 4, 0), - gsSP1Triangle(5, 4, 6, 0), - gsSP1Triangle(5, 6, 7, 0), - gsSP1Triangle(8, 7, 6, 0), - gsSP1Triangle(9, 8, 6, 0), - gsSP1Triangle(9, 10, 8, 0), - gsSP1Triangle(10, 11, 8, 0), - gsSP1Triangle(11, 10, 12, 0), - gsSP1Triangle(13, 11, 12, 0), - gsSP1Triangle(13, 12, 14, 0), - gsSP1Triangle(15, 13, 14, 0), - gsSP1Triangle(14, 2, 15, 0), - gsSP1Triangle(14, 0, 2, 0), - gsSPVertex(luigi_face_part_cap_on_dl_vertex + 78, 10, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 1, 3, 0), - gsSP1Triangle(2, 3, 4, 0), - gsSP1Triangle(2, 4, 5, 0), - gsSP1Triangle(6, 2, 5, 0), - gsSP1Triangle(7, 6, 5, 0), - gsSP1Triangle(7, 8, 6, 0), - gsSP1Triangle(9, 6, 8, 0), - gsSP1Triangle(9, 0, 6, 0), - gsSP1Triangle(6, 0, 2, 0), + gsSPVertex(luigi_face_part_cap_on_dl_vertex + 0, 60, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 1, 3, 0), + gsSP2Triangles(1, 4, 3, 0, 5, 3, 4, 0), + gsSP2Triangles(6, 5, 4, 0, 6, 4, 7, 0), + gsSP2Triangles(6, 8, 5, 0, 6, 9, 8, 0), + gsSP2Triangles(10, 9, 6, 0, 10, 11, 9, 0), + gsSP2Triangles(11, 10, 12, 0, 11, 12, 13, 0), + gsSP2Triangles(9, 11, 13, 0, 8, 9, 13, 0), + gsSP2Triangles(3, 14, 2, 0, 15, 14, 3, 0), + gsSP2Triangles(5, 15, 3, 0, 5, 16, 15, 0), + gsSP2Triangles(14, 15, 17, 0, 15, 18, 17, 0), + gsSP2Triangles(19, 17, 18, 0, 19, 18, 20, 0), + gsSP2Triangles(19, 20, 21, 0, 20, 22, 21, 0), + gsSP2Triangles(22, 23, 21, 0, 19, 21, 23, 0), + gsSP2Triangles(17, 19, 23, 0, 24, 14, 17, 0), + gsSP2Triangles(25, 26, 27, 0, 26, 25, 28, 0), + gsSP2Triangles(24, 28, 25, 0, 29, 26, 28, 0), + gsSP2Triangles(28, 30, 29, 0, 31, 32, 33, 0), + gsSP2Triangles(33, 34, 31, 0, 33, 35, 34, 0), + gsSP2Triangles(35, 33, 7, 0, 35, 36, 34, 0), + gsSP2Triangles(37, 0, 38, 0, 38, 0, 39, 0), + gsSP2Triangles(39, 40, 38, 0, 40, 39, 41, 0), + gsSP2Triangles(42, 40, 41, 0, 43, 42, 41, 0), + gsSP2Triangles(41, 27, 43, 0, 44, 43, 27, 0), + gsSP2Triangles(27, 45, 44, 0, 44, 45, 36, 0), + gsSP2Triangles(36, 46, 44, 0, 46, 36, 47, 0), + gsSP2Triangles(48, 46, 47, 0, 49, 48, 47, 0), + gsSP2Triangles(47, 37, 49, 0, 38, 49, 37, 0), + gsSP2Triangles(50, 49, 38, 0, 51, 50, 38, 0), + gsSP2Triangles(38, 40, 51, 0, 40, 52, 51, 0), + gsSP2Triangles(52, 40, 42, 0, 52, 42, 53, 0), + gsSP2Triangles(53, 42, 54, 0, 42, 43, 54, 0), + gsSP2Triangles(54, 43, 44, 0, 55, 54, 44, 0), + gsSP2Triangles(44, 46, 55, 0, 46, 56, 55, 0), + gsSP2Triangles(48, 56, 46, 0, 48, 57, 56, 0), + gsSP2Triangles(50, 57, 48, 0, 49, 50, 48, 0), + gsSP2Triangles(58, 57, 50, 0, 57, 58, 59, 0), + gsSP2Triangles(58, 53, 59, 0, 52, 53, 58, 0), + gsSP2Triangles(51, 52, 58, 0, 51, 58, 50, 0), + gsSP2Triangles(54, 59, 53, 0, 59, 54, 55, 0), + gsSP2Triangles(59, 55, 56, 0, 59, 56, 57, 0), gsSPEndDisplayList(), }; Gfx luigi_face_cap_dl[] = { - gsSPVertex(luigi_face_cap_dl_vertex + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(4, 0, 2, 0), - gsSP1Triangle(5, 4, 2, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(6, 5, 7, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(4, 6, 8, 0), - gsSP1Triangle(4, 8, 3, 0), - gsSP1Triangle(9, 1, 10, 0), - gsSP1Triangle(11, 1, 9, 0), - gsSP1Triangle(12, 11, 9, 0), - gsSP1Triangle(13, 12, 9, 0), - gsSP1Triangle(9, 14, 13, 0), - gsSP1Triangle(10, 14, 9, 0), - gsSP1Triangle(14, 10, 15, 0), - gsSPVertex(luigi_face_cap_dl_vertex + 16, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(4, 1, 3, 0), - gsSP1Triangle(3, 5, 4, 0), - gsSP1Triangle(5, 6, 4, 0), - gsSP1Triangle(7, 4, 6, 0), - gsSP1Triangle(7, 6, 8, 0), - gsSP1Triangle(8, 9, 7, 0), - gsSP1Triangle(7, 9, 10, 0), - gsSP1Triangle(9, 11, 10, 0), - gsSP1Triangle(9, 12, 11, 0), - gsSP1Triangle(12, 13, 11, 0), - gsSP1Triangle(12, 14, 13, 0), - gsSP1Triangle(13, 14, 15, 0), - gsSPVertex(luigi_face_cap_dl_vertex + 32, 11, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(1, 3, 4, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(6, 5, 3, 0), - gsSP1Triangle(7, 5, 6, 0), - gsSP1Triangle(8, 5, 7, 0), - gsSP1Triangle(5, 8, 9, 0), - gsSP1Triangle(4, 5, 9, 0), - gsSP1Triangle(4, 9, 10, 0), - gsSP1Triangle(4, 10, 2, 0), - gsSP1Triangle(1, 4, 2, 0), + gsSPVertex(luigi_face_cap_dl_vertex + 0, 30, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0), + gsSP2Triangles(4, 3, 0, 0, 4, 5, 3, 0), + gsSP2Triangles(6, 3, 5, 0, 5, 7, 6, 0), + gsSP2Triangles(6, 7, 8, 0, 8, 7, 9, 0), + gsSP2Triangles(9, 10, 8, 0, 10, 9, 11, 0), + gsSP2Triangles(10, 11, 12, 0, 12, 13, 10, 0), + gsSP2Triangles(14, 13, 12, 0, 14, 15, 13, 0), + gsSP2Triangles(13, 15, 16, 0, 16, 15, 17, 0), + gsSP2Triangles(15, 18, 17, 0, 17, 18, 1, 0), + gsSP2Triangles(2, 1, 18, 0, 1, 19, 17, 0), + gsSP2Triangles(20, 19, 1, 0, 3, 20, 1, 0), + gsSP2Triangles(20, 3, 6, 0, 20, 6, 21, 0), + gsSP2Triangles(6, 8, 21, 0, 8, 10, 21, 0), + gsSP2Triangles(13, 21, 10, 0, 13, 22, 21, 0), + gsSP2Triangles(16, 22, 13, 0, 17, 22, 16, 0), + gsSP2Triangles(17, 19, 22, 0, 22, 19, 20, 0), + gsSP2Triangles(20, 21, 22, 0, 23, 24, 4, 0), + gsSP2Triangles(23, 25, 24, 0, 23, 26, 25, 0), + gsSP2Triangles(27, 25, 26, 0, 11, 27, 26, 0), + gsSP2Triangles(28, 27, 11, 0, 28, 25, 27, 0), + gsSP2Triangles(29, 25, 28, 0, 24, 25, 29, 0), + gsSP1Triangle(24, 29, 4, 0), gsSPEndDisplayList(), }; Gfx luigi_face_back_hair_cap_on_dl[] = { - gsSPVertex(luigi_face_back_hair_cap_on_dl_vertex + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 1, 3, 0), - gsSP1Triangle(1, 4, 3, 0), - gsSP1Triangle(1, 5, 4, 0), - gsSP1Triangle(6, 5, 1, 0), - gsSP1Triangle(6, 7, 5, 0), - gsSP1Triangle(6, 8, 7, 0), - gsSP1Triangle(9, 8, 6, 0), - gsSP1Triangle(9, 6, 10, 0), - gsSP1Triangle(9, 11, 8, 0), - gsSP1Triangle(12, 11, 9, 0), - gsSP1Triangle(12, 13, 11, 0), - gsSP1Triangle(13, 12, 5, 0), - gsSP1Triangle(7, 13, 5, 0), - gsSP1Triangle(13, 7, 14, 0), - gsSP1Triangle(7, 8, 14, 0), - gsSP1Triangle(8, 11, 14, 0), - gsSP1Triangle(11, 13, 14, 0), - gsSP1Triangle(2, 3, 15, 0), - gsSPVertex(luigi_face_back_hair_cap_on_dl_vertex + 16, 8, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 2, 3, 0), - gsSP1Triangle(0, 3, 4, 0), - gsSP1Triangle(4, 3, 5, 0), - gsSP1Triangle(6, 4, 5, 0), - gsSP1Triangle(6, 1, 4, 0), - gsSP1Triangle(6, 7, 1, 0), - gsSP1Triangle(0, 4, 1, 0), + gsSPVertex(luigi_face_back_hair_cap_on_dl_vertex + 0, 19, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(2, 4, 3, 0, 4, 2, 5, 0), + gsSP2Triangles(5, 6, 4, 0, 6, 5, 7, 0), + gsSP2Triangles(7, 8, 6, 0, 7, 0, 8, 0), + gsSP2Triangles(7, 9, 0, 0, 7, 10, 9, 0), + gsSP2Triangles(11, 10, 7, 0, 7, 12, 11, 0), + gsSP2Triangles(13, 11, 12, 0, 12, 14, 13, 0), + gsSP2Triangles(15, 13, 14, 0, 14, 9, 15, 0), + gsSP2Triangles(14, 16, 9, 0, 10, 15, 9, 0), + gsSP2Triangles(10, 17, 15, 0, 11, 17, 10, 0), + gsSP2Triangles(13, 17, 11, 0, 17, 13, 15, 0), + gsSP2Triangles(3, 8, 0, 0, 3, 18, 8, 0), + gsSP2Triangles(4, 18, 3, 0, 6, 18, 4, 0), + gsSP1Triangle(8, 18, 6, 0), gsSPEndDisplayList(), }; -const Gfx luigi_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(&luigi_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 11), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_add_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 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(luigi_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(SKIN), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_skin_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPEndDisplayList(), -}; - -const Gfx luigi_l_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), - gsSPLight(&luigi_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 17), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_blend), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 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(luigi_l_logo_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(CAP), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_cap), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 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(luigi_l_logo_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPEndDisplayList(), -}; - const Gfx luigi_face_cap_on_dl[] = { + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), gsSPDisplayList(luigi_face_part_cap_on_dl), gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(luigi_face_cap_dl), @@ -1930,17 +1687,42 @@ const Gfx luigi_face_cap_on_dl[] = { const Gfx luigi_cap_on_eyes_front[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), - 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, luigi_texture_eyes_front), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1954,17 +1736,42 @@ const Gfx luigi_cap_on_eyes_front[] = { const Gfx luigi_cap_on_eyes_half_closed[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), - 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, luigi_texture_eyes_half_closed), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1978,17 +1785,42 @@ const Gfx luigi_cap_on_eyes_half_closed[] = { const Gfx luigi_cap_on_eyes_closed[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), - 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, luigi_texture_eyes_closed), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -2002,17 +1834,42 @@ const Gfx luigi_cap_on_eyes_closed[] = { const Gfx luigi_cap_on_eyes_right[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), - 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, luigi_texture_eyes_right), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -2026,17 +1883,42 @@ const Gfx luigi_cap_on_eyes_right[] = { const Gfx luigi_cap_on_eyes_left[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), - 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, luigi_texture_eyes_left), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -2050,17 +1932,42 @@ const Gfx luigi_cap_on_eyes_left[] = { const Gfx luigi_cap_on_eyes_up[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), - 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, luigi_texture_eyes_up), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -2074,17 +1981,42 @@ const Gfx luigi_cap_on_eyes_up[] = { const Gfx luigi_cap_on_eyes_down[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), - 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, luigi_texture_eyes_down), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -2098,17 +2030,425 @@ const Gfx luigi_cap_on_eyes_down[] = { const Gfx luigi_cap_on_eyes_dead[] = { gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), - 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, luigi_texture_eyes_dead), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +// 0x040119A0 - 0x04011A90 +const Gfx luigi_cap_on_eyes_front_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +// 0x04011A90 - 0x04011B80 +const Gfx luigi_cap_on_eyes_half_closed_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +// 0x04011B80 - 0x04011C70 +const Gfx luigi_cap_on_eyes_closed_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + 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)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +// 0x04011C70 - 0x04011D60 +const Gfx luigi_cap_on_eyes_right_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +// 0x04011D60 - 0x04011E50 +const Gfx luigi_cap_on_eyes_left_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +// 0x04011E50 - 0x04011F40 +const Gfx luigi_cap_on_eyes_up_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +// 0x04011F40 - 0x04012030 +const Gfx luigi_cap_on_eyes_down_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_on_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_on_dl), + gsSPEndDisplayList(), +}; + +// 0x04012030 - 0x04012120 +const Gfx luigi_cap_on_eyes_dead_transparent[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -2132,528 +2472,310 @@ const Gfx luigi_metal_cap_on_shared_dl[] = { }; Vtx luigi_eyes_cap_off_dl_vertex[12] = { - {{ {78, 89, -20}, 0, {282, 1028}, {67, 68, 173, 255} }}, - {{ {135, 74, -54}, 0, {-84, 412}, {25, 91, 171, 255} }}, - {{ {94, 76, -56}, 0, {-98, 860}, {17, 100, 180, 255} }}, - {{ {166, 84, -26}, 0, {202, 68}, {25, 117, 214, 255} }}, - {{ {135, 91, 0}, 0, {480, 402}, {10, 127, 0, 255} }}, - {{ {88, 92, 0}, 0, {488, 916}, {97, 82, 0, 255} }}, - {{ {78, 89, 20}, 0, {700, 1020}, {70, 67, 82, 255} }}, - {{ {166, 84, 27}, 0, {756, 60}, {25, 118, 41, 255} }}, - {{ {135, 74, 55}, 0, {1054, 392}, {25, 91, 85, 255} }}, - {{ {94, 76, 57}, 0, {1084, 840}, {17, 101, 76, 255} }}, - {{ {147, 31, 77}, 0, {1282, 258}, {0, 55, 115, 255} }}, - {{ {147, 31, -76}, 0, {-318, 286}, {246, 51, 140, 255} }}, + {{{94, 76, -56}, 0, {-102, 860}, {0x30, 0x5C, 0xB7, 0xFF}}}, + {{{78, 89, -20}, 0, {282, 1022}, {0x40, 0x5B, 0xC3, 0xFF}}}, + {{{135, 74, -54}, 0, {-88, 412}, {0x19, 0x5C, 0xAC, 0xFF}}}, + {{{166, 84, -26}, 0, {198, 66}, {0xF5, 0x73, 0xCC, 0xFF}}}, + {{{135, 91, 0}, 0, {480, 398}, {0x13, 0x7E, 0x00, 0xFF}}}, + {{{88, 92, 0}, 0, {488, 902}, {0x6A, 0x46, 0x00, 0xFF}}}, + {{{78, 89, 20}, 0, {698, 1010}, {0x40, 0x5B, 0x3D, 0xFF}}}, + {{{166, 84, 27}, 0, {750, 48}, {0x01, 0x76, 0x2F, 0xFF}}}, + {{{135, 74, 55}, 0, {1050, 380}, {0x19, 0x5C, 0x54, 0xFF}}}, + {{{94, 76, 57}, 0, {1080, 826}, {0x30, 0x5C, 0x49, 0xFF}}}, + {{{147, 31, 77}, 0, {1280, 240}, {0x05, 0x38, 0x72, 0xFF}}}, + {{{147, 31, -76}, 0, {-322, 286}, {0xFE, 0x36, 0x8D, 0xFF}}}, }; Vtx luigi_hair_sideburn_cap_off_dl_vertex[12] = { - {{ {88, 42, -76}, 0, {-70, 700}, {7, 42, 136, 255} }}, - {{ {147, 31, -76}, 0, {90, -58}, {246, 51, 140, 255} }}, - {{ {115, -12, -91}, 0, {916, 184}, {255, 17, 130, 255} }}, - {{ {80, -24, -92}, 0, {1150, 582}, {0, 89, 165, 255} }}, - {{ {32, -5, -84}, 0, {842, 1210}, {187, 248, 149, 255} }}, - {{ {34, 34, -78}, 0, {118, 1334}, {213, 31, 140, 255} }}, - {{ {88, 42, 77}, 0, {-74, 726}, {6, 43, 119, 255} }}, - {{ {115, -11, 93}, 0, {922, 122}, {254, 18, 126, 255} }}, - {{ {147, 31, 77}, 0, {22, -68}, {0, 55, 115, 255} }}, - {{ {80, -24, 93}, 0, {1238, 518}, {254, 89, 91, 255} }}, - {{ {32, -5, 85}, 0, {968, 1192}, {187, 248, 107, 255} }}, - {{ {34, 34, 79}, 0, {196, 1366}, {213, 31, 116, 255} }}, + {{{88, 42, 77}, 0, {-74, 726}, {0x10, 0x28, 0x77, 0xFF}}}, + {{{34, 34, 79}, 0, {196, 1366}, {0xDA, 0x21, 0x75, 0xFF}}}, + {{{32, -5, 85}, 0, {968, 1192}, {0xC2, 0x05, 0x6F, 0xFF}}}, + {{{80, -24, 93}, 0, {1238, 518}, {0x04, 0x59, 0x5B, 0xFF}}}, + {{{115, -11, 93}, 0, {922, 122}, {0xFF, 0x13, 0x7E, 0xFF}}}, + {{{147, 31, 77}, 0, {22, -68}, {0x05, 0x38, 0x72, 0xFF}}}, + {{{32, -5, -84}, 0, {842, 1210}, {0xC2, 0x05, 0x91, 0xFF}}}, + {{{34, 34, -78}, 0, {118, 1334}, {0xDA, 0x21, 0x8B, 0xFF}}}, + {{{88, 42, -76}, 0, {-70, 700}, {0x11, 0x27, 0x88, 0xFF}}}, + {{{80, -24, -92}, 0, {1150, 582}, {0x06, 0x59, 0xA6, 0xFF}}}, + {{{115, -12, -91}, 0, {916, 184}, {0xFF, 0x13, 0x82, 0xFF}}}, + {{{147, 31, -76}, 0, {90, -58}, {0xFE, 0x36, 0x8D, 0xFF}}}, }; -Vtx luigi_mustache_cap_off_dl_vertex[21] = { - {{ {78, 89, 20}, 0, {248, 50}, {70, 67, 82, 255} }}, - {{ {58, 93, 28}, 0, {330, 316}, {20, 35, 120, 255} }}, - {{ {66, 76, 68}, 0, {948, -8}, {7, 85, 94, 255} }}, - {{ {35, 79, 58}, 0, {784, 566}, {211, 87, 81, 255} }}, - {{ {35, 94, 27}, 0, {292, 670}, {183, 45, 94, 255} }}, - {{ {13, 83, 24}, 0, {336, 1006}, {173, 91, 31, 255} }}, - {{ {24, 91, 0}, 0, {-30, 876}, {139, 50, 0, 255} }}, - {{ {-7, 40, 43}, 0, {768, 1210}, {147, 20, 62, 255} }}, - {{ {34, 34, 79}, 0, {1276, 438}, {213, 31, 116, 255} }}, - {{ {35, 94, -26}, 0, {294, 656}, {184, 46, 162, 255} }}, - {{ {13, 83, -24}, 0, {310, 1002}, {174, 91, 224, 255} }}, - {{ {24, 91, 0}, 0, {-38, 852}, {139, 50, 0, 255} }}, - {{ {35, 79, -57}, 0, {780, 576}, {211, 86, 174, 255} }}, - {{ {58, 93, -27}, 0, {360, 296}, {18, 35, 135, 255} }}, - {{ {66, 76, -67}, 0, {992, -10}, {7, 85, 162, 255} }}, - {{ {78, 89, -20}, 0, {322, -20}, {67, 68, 173, 255} }}, - {{ {34, 34, -78}, 0, {1272, 464}, {213, 31, 140, 255} }}, - {{ {35, 79, -57}, 0, {780, 576}, {211, 86, 174, 255} }}, - {{ {66, 76, -67}, 0, {992, -10}, {7, 85, 162, 255} }}, - {{ {-7, 40, -42}, 0, {720, 1228}, {147, 19, 194, 255} }}, - {{ {13, 83, -24}, 0, {310, 1002}, {174, 91, 224, 255} }}, +Vtx luigi_mustache_cap_off_dl_vertex[18] = { + {{{66, 76, -67}, 0, {992, -10}, {0x23, 0x59, 0xAD, 0xFF}}}, + {{{58, 93, -27}, 0, {360, 296}, {0x0E, 0x16, 0x84, 0xFF}}}, + {{{78, 89, -20}, 0, {322, -20}, {0x40, 0x5B, 0xC3, 0xFF}}}, + {{{35, 79, -57}, 0, {780, 576}, {0xD7, 0x61, 0xB9, 0xFF}}}, + {{{34, 34, -78}, 0, {1272, 464}, {0xDA, 0x21, 0x8B, 0xFF}}}, + {{{-7, 40, -42}, 0, {720, 1228}, {0x94, 0x1D, 0xC4, 0xFF}}}, + {{{13, 83, -24}, 0, {310, 1002}, {0xB1, 0x61, 0xEA, 0xFF}}}, + {{{35, 94, -26}, 0, {294, 656}, {0xA7, 0x32, 0xB4, 0xFF}}}, + {{{24, 91, 0}, 0, {-38, 852}, {0x95, 0x44, 0x00, 0xFF}}}, + {{{58, 93, 28}, 0, {330, 316}, {0x0E, 0x16, 0x7C, 0xFF}}}, + {{{66, 76, 68}, 0, {948, -8}, {0x23, 0x59, 0x53, 0xFF}}}, + {{{78, 89, 20}, 0, {248, 50}, {0x40, 0x5B, 0x3D, 0xFF}}}, + {{{35, 79, 58}, 0, {784, 566}, {0xD7, 0x61, 0x47, 0xFF}}}, + {{{35, 94, 27}, 0, {292, 670}, {0xA8, 0x33, 0x4B, 0xFF}}}, + {{{13, 83, 24}, 0, {336, 1006}, {0xB1, 0x61, 0x16, 0xFF}}}, + {{{24, 91, 0}, 0, {-30, 876}, {0x95, 0x44, 0x00, 0xFF}}}, + {{{-7, 40, 43}, 0, {768, 1210}, {0x94, 0x1D, 0x3C, 0xFF}}}, + {{{34, 34, 79}, 0, {1276, 438}, {0xDA, 0x21, 0x75, 0xFF}}}, }; -Vtx luigi_face_part_cap_off_dl_vertex[88] = { - {{ {66, 76, 68}, 0, {0, 0}, {7, 85, 94, 255} }}, - {{ {94, 76, 57}, 0, {0, 0}, {17, 101, 76, 255} }}, - {{ {78, 89, 20}, 0, {0, 0}, {70, 67, 82, 255} }}, - {{ {88, 42, 77}, 0, {0, 0}, {6, 43, 119, 255} }}, - {{ {34, 34, 79}, 0, {0, 0}, {213, 31, 116, 255} }}, - {{ {135, 74, 55}, 0, {0, 0}, {25, 91, 85, 255} }}, - {{ {147, 31, 77}, 0, {0, 0}, {0, 55, 115, 255} }}, - {{ {13, 83, -24}, 0, {0, 0}, {174, 91, 224, 255} }}, - {{ {13, 83, 24}, 0, {0, 0}, {173, 91, 31, 255} }}, - {{ {24, 91, 0}, 0, {0, 0}, {139, 50, 0, 255} }}, - {{ {-19, 46, 0}, 0, {0, 0}, {131, 25, 0, 255} }}, - {{ {-7, 40, -42}, 0, {0, 0}, {147, 19, 194, 255} }}, - {{ {12, -51, -34}, 0, {0, 0}, {132, 0, 227, 255} }}, - {{ {32, -5, -84}, 0, {0, 0}, {187, 248, 149, 255} }}, - {{ {34, 34, -78}, 0, {0, 0}, {213, 31, 140, 255} }}, - {{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }}, - {{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }}, - {{ {32, -5, -84}, 0, {0, 0}, {187, 248, 149, 255} }}, - {{ {57, -27, -110}, 0, {0, 0}, {217, 254, 135, 255} }}, - {{ {80, -24, -92}, 0, {0, 0}, {0, 89, 165, 255} }}, - {{ {95, -31, -110}, 0, {0, 0}, {43, 243, 137, 255} }}, - {{ {115, -12, -91}, 0, {0, 0}, {255, 17, 130, 255} }}, - {{ {88, -51, -73}, 0, {0, 0}, {224, 184, 156, 255} }}, - {{ {13, 83, 24}, 0, {0, 0}, {173, 91, 31, 255} }}, - {{ {-19, 46, 0}, 0, {0, 0}, {131, 25, 0, 255} }}, - {{ {-7, 40, 43}, 0, {0, 0}, {147, 20, 62, 255} }}, - {{ {12, -51, 35}, 0, {0, 0}, {133, 0, 30, 255} }}, - {{ {12, -51, -34}, 0, {0, 0}, {132, 0, 227, 255} }}, - {{ {26, -79, 0}, 0, {0, 0}, {160, 172, 0, 255} }}, - {{ {32, -5, 85}, 0, {0, 0}, {187, 248, 107, 255} }}, - {{ {34, 34, 79}, 0, {0, 0}, {213, 31, 116, 255} }}, - {{ {51, -44, 65}, 0, {0, 0}, {208, 193, 100, 255} }}, - {{ {51, -44, 65}, 0, {0, 0}, {208, 193, 100, 255} }}, - {{ {57, -27, 111}, 0, {0, 0}, {217, 254, 121, 255} }}, - {{ {32, -5, 85}, 0, {0, 0}, {187, 248, 107, 255} }}, - {{ {88, -51, 74}, 0, {0, 0}, {224, 183, 99, 255} }}, - {{ {95, -31, 111}, 0, {0, 0}, {42, 241, 119, 255} }}, - {{ {115, -11, 93}, 0, {0, 0}, {254, 18, 126, 255} }}, - {{ {80, -24, 93}, 0, {0, 0}, {254, 89, 91, 255} }}, - {{ {88, 42, -76}, 0, {0, 0}, {7, 42, 136, 255} }}, - {{ {135, 74, -54}, 0, {0, 0}, {25, 91, 171, 255} }}, - {{ {147, 31, -76}, 0, {0, 0}, {246, 51, 140, 255} }}, - {{ {94, 76, -56}, 0, {0, 0}, {17, 100, 180, 255} }}, - {{ {66, 76, -67}, 0, {0, 0}, {7, 85, 162, 255} }}, - {{ {34, 34, -78}, 0, {0, 0}, {213, 31, 140, 255} }}, - {{ {78, 89, -20}, 0, {0, 0}, {67, 68, 173, 255} }}, - {{ {35, 94, 27}, 0, {0, 0}, {183, 45, 94, 255} }}, - {{ {15, 111, 0}, 0, {0, 0}, {132, 230, 254, 255} }}, - {{ {24, 91, 0}, 0, {0, 0}, {139, 50, 0, 255} }}, - {{ {29, 112, 36}, 0, {0, 0}, {179, 226, 96, 255} }}, - {{ {58, 93, 28}, 0, {0, 0}, {20, 35, 120, 255} }}, - {{ {55, 112, 41}, 0, {0, 0}, {255, 220, 122, 255} }}, - {{ {81, 112, 36}, 0, {0, 0}, {75, 223, 97, 255} }}, - {{ {78, 89, 20}, 0, {0, 0}, {70, 67, 82, 255} }}, - {{ {96, 113, 0}, 0, {0, 0}, {125, 234, 0, 255} }}, - {{ {88, 92, 0}, 0, {0, 0}, {97, 82, 0, 255} }}, - {{ {78, 89, -20}, 0, {0, 0}, {67, 68, 173, 255} }}, - {{ {81, 112, -35}, 0, {0, 0}, {75, 224, 158, 255} }}, - {{ {58, 93, -27}, 0, {0, 0}, {18, 35, 135, 255} }}, - {{ {55, 112, -40}, 0, {0, 0}, {255, 220, 134, 255} }}, - {{ {29, 112, -35}, 0, {0, 0}, {178, 228, 160, 255} }}, - {{ {35, 94, -26}, 0, {0, 0}, {184, 46, 162, 255} }}, - {{ {29, 112, -35}, 0, {0, 0}, {178, 228, 160, 255} }}, - {{ {15, 111, 0}, 0, {0, 0}, {132, 230, 254, 255} }}, - {{ {32, 141, -35}, 0, {0, 0}, {191, 64, 167, 255} }}, - {{ {15, 141, 0}, 0, {0, 0}, {142, 56, 254, 255} }}, - {{ {29, 112, 36}, 0, {0, 0}, {179, 226, 96, 255} }}, - {{ {32, 141, 36}, 0, {0, 0}, {193, 65, 89, 255} }}, - {{ {55, 112, 41}, 0, {0, 0}, {255, 220, 122, 255} }}, - {{ {58, 141, 41}, 0, {0, 0}, {0, 67, 108, 255} }}, - {{ {82, 142, 36}, 0, {0, 0}, {69, 61, 88, 255} }}, - {{ {81, 112, 36}, 0, {0, 0}, {75, 223, 97, 255} }}, - {{ {96, 113, 0}, 0, {0, 0}, {125, 234, 0, 255} }}, - {{ {96, 142, 0}, 0, {0, 0}, {117, 50, 255, 255} }}, - {{ {81, 112, -35}, 0, {0, 0}, {75, 224, 158, 255} }}, - {{ {82, 142, -35}, 0, {0, 0}, {69, 60, 168, 255} }}, - {{ {55, 112, -40}, 0, {0, 0}, {255, 220, 134, 255} }}, - {{ {58, 141, -40}, 0, {0, 0}, {0, 66, 147, 255} }}, - {{ {58, 141, -40}, 0, {0, 0}, {0, 66, 147, 255} }}, - {{ {32, 141, -35}, 0, {0, 0}, {191, 64, 167, 255} }}, - {{ {39, 156, 0}, 0, {0, 0}, {224, 123, 0, 255} }}, - {{ {15, 141, 0}, 0, {0, 0}, {142, 56, 254, 255} }}, - {{ {32, 141, 36}, 0, {0, 0}, {193, 65, 89, 255} }}, - {{ {58, 141, 41}, 0, {0, 0}, {0, 67, 108, 255} }}, - {{ {77, 157, 0}, 0, {0, 0}, {35, 122, 0, 255} }}, - {{ {82, 142, 36}, 0, {0, 0}, {69, 61, 88, 255} }}, - {{ {96, 142, 0}, 0, {0, 0}, {117, 50, 255, 255} }}, - {{ {82, 142, -35}, 0, {0, 0}, {69, 60, 168, 255} }}, +Vtx luigi_face_part_cap_off_dl_vertex[60] = { + {{{66, 76, -67}, 0, {0, 0}, {0x23, 0x59, 0xAD, 0xFF}}}, + {{{78, 89, -20}, 0, {0, 0}, {0x40, 0x5B, 0xC3, 0xFF}}}, + {{{94, 76, -56}, 0, {0, 0}, {0x30, 0x5C, 0xB7, 0xFF}}}, + {{{88, 42, -76}, 0, {0, 0}, {0x11, 0x27, 0x88, 0xFF}}}, + {{{135, 74, -54}, 0, {0, 0}, {0x19, 0x5C, 0xAC, 0xFF}}}, + {{{147, 31, -76}, 0, {0, 0}, {0xFE, 0x36, 0x8D, 0xFF}}}, + {{{34, 34, -78}, 0, {0, 0}, {0xDA, 0x21, 0x8B, 0xFF}}}, + {{{34, 34, 79}, 0, {0, 0}, {0xDA, 0x21, 0x75, 0xFF}}}, + {{{88, 42, 77}, 0, {0, 0}, {0x10, 0x28, 0x77, 0xFF}}}, + {{{66, 76, 68}, 0, {0, 0}, {0x23, 0x59, 0x53, 0xFF}}}, + {{{94, 76, 57}, 0, {0, 0}, {0x30, 0x5C, 0x49, 0xFF}}}, + {{{135, 74, 55}, 0, {0, 0}, {0x19, 0x5C, 0x54, 0xFF}}}, + {{{147, 31, 77}, 0, {0, 0}, {0x05, 0x38, 0x72, 0xFF}}}, + {{{78, 89, 20}, 0, {0, 0}, {0x40, 0x5B, 0x3D, 0xFF}}}, + {{{-7, 40, 43}, 0, {0, 0}, {0x94, 0x1D, 0x3C, 0xFF}}}, + {{{32, -5, 85}, 0, {0, 0}, {0xC2, 0x05, 0x6F, 0xFF}}}, + {{{12, -51, 35}, 0, {0, 0}, {0x88, 0xF8, 0x29, 0xFF}}}, + {{{-19, 46, 0}, 0, {0, 0}, {0x84, 0x1D, 0x00, 0xFF}}}, + {{{13, 83, 24}, 0, {0, 0}, {0xB1, 0x61, 0x16, 0xFF}}}, + {{{13, 83, -24}, 0, {0, 0}, {0xB1, 0x61, 0xEA, 0xFF}}}, + {{{24, 91, 0}, 0, {0, 0}, {0x95, 0x44, 0x00, 0xFF}}}, + {{{-7, 40, -42}, 0, {0, 0}, {0x94, 0x1D, 0xC4, 0xFF}}}, + {{{12, -51, -34}, 0, {0, 0}, {0x88, 0xF8, 0xD7, 0xFF}}}, + {{{32, -5, -84}, 0, {0, 0}, {0xC2, 0x05, 0x91, 0xFF}}}, + {{{51, -44, -64}, 0, {0, 0}, {0xE3, 0xCA, 0x91, 0xFF}}}, + {{{57, -27, -110}, 0, {0, 0}, {0xCC, 0xE5, 0x8F, 0xFF}}}, + {{{80, -24, -92}, 0, {0, 0}, {0x06, 0x59, 0xA6, 0xFF}}}, + {{{95, -31, -110}, 0, {0, 0}, {0x32, 0x19, 0x8E, 0xFF}}}, + {{{115, -12, -91}, 0, {0, 0}, {0xFF, 0x13, 0x82, 0xFF}}}, + {{{88, -51, -73}, 0, {0, 0}, {0xE8, 0xA9, 0xA6, 0xFF}}}, + {{{26, -79, 0}, 0, {0, 0}, {0x9F, 0xAE, 0x00, 0xFF}}}, + {{{88, 92, 0}, 0, {0, 0}, {0x6A, 0x46, 0x00, 0xFF}}}, + {{{96, 113, 0}, 0, {0, 0}, {0x7B, 0xE1, 0x06, 0xFF}}}, + {{{81, 112, -35}, 0, {0, 0}, {0x51, 0xDC, 0xA5, 0xFF}}}, + {{{58, 93, -27}, 0, {0, 0}, {0x0E, 0x16, 0x84, 0xFF}}}, + {{{55, 112, -40}, 0, {0, 0}, {0x00, 0xEC, 0x83, 0xFF}}}, + {{{29, 112, -35}, 0, {0, 0}, {0xBB, 0xDE, 0x9B, 0xFF}}}, + {{{35, 94, -26}, 0, {0, 0}, {0xA7, 0x32, 0xB4, 0xFF}}}, + {{{15, 111, 0}, 0, {0, 0}, {0x84, 0xE8, 0xF8, 0xFF}}}, + {{{35, 94, 27}, 0, {0, 0}, {0xA8, 0x33, 0x4B, 0xFF}}}, + {{{29, 112, 36}, 0, {0, 0}, {0xB0, 0xE4, 0x5E, 0xFF}}}, + {{{58, 93, 28}, 0, {0, 0}, {0x0E, 0x16, 0x7C, 0xFF}}}, + {{{55, 112, 41}, 0, {0, 0}, {0x00, 0xEC, 0x7D, 0xFF}}}, + {{{81, 112, 36}, 0, {0, 0}, {0x45, 0xD6, 0x62, 0xFF}}}, + {{{82, 142, 36}, 0, {0, 0}, {0x52, 0x27, 0x58, 0xFF}}}, + {{{96, 142, 0}, 0, {0, 0}, {0x7A, 0x23, 0xF6, 0xFF}}}, + {{{82, 142, -35}, 0, {0, 0}, {0x44, 0x31, 0xA1, 0xFF}}}, + {{{58, 141, -40}, 0, {0, 0}, {0x03, 0x55, 0xA1, 0xFF}}}, + {{{32, 141, -35}, 0, {0, 0}, {0xB8, 0x34, 0xA6, 0xFF}}}, + {{{15, 141, 0}, 0, {0, 0}, {0x8E, 0x38, 0x09, 0xFF}}}, + {{{32, 141, 36}, 0, {0, 0}, {0xC8, 0x3D, 0x60, 0xFF}}}, + {{{58, 141, 41}, 0, {0, 0}, {0x03, 0x56, 0x5E, 0xFF}}}, + {{{77, 157, 0}, 0, {0, 0}, {0x27, 0x79, 0x00, 0xFF}}}, + {{{39, 156, 0}, 0, {0, 0}, {0xEA, 0x7D, 0x00, 0xFF}}}, + {{{51, -44, 65}, 0, {0, 0}, {0xE3, 0xCA, 0x6F, 0xFF}}}, + {{{57, -27, 111}, 0, {0, 0}, {0xCC, 0xE5, 0x71, 0xFF}}}, + {{{88, -51, 74}, 0, {0, 0}, {0xE9, 0xA9, 0x59, 0xFF}}}, + {{{95, -31, 111}, 0, {0, 0}, {0x30, 0x18, 0x73, 0xFF}}}, + {{{115, -11, 93}, 0, {0, 0}, {0xFF, 0x13, 0x7E, 0xFF}}}, + {{{80, -24, 93}, 0, {0, 0}, {0x04, 0x59, 0x5B, 0xFF}}}, }; -Vtx luigi_face_hair_cap_off_dl_vertex[95] = { - {{ {-3, -81, 44}, 0, {0, 0}, {129, 11, 1, 255} }}, - {{ {12, -51, 35}, 0, {0, 0}, {133, 0, 30, 255} }}, - {{ {26, -79, 0}, 0, {0, 0}, {160, 172, 0, 255} }}, - {{ {19, -78, 73}, 0, {0, 0}, {226, 4, 123, 255} }}, - {{ {5, -113, 53}, 0, {0, 0}, {185, 158, 40, 255} }}, - {{ {24, -109, 21}, 0, {0, 0}, {239, 156, 179, 255} }}, - {{ {62, -96, 42}, 0, {0, 0}, {243, 147, 64, 255} }}, - {{ {62, -96, -42}, 0, {0, 0}, {243, 147, 191, 255} }}, - {{ {24, -109, -21}, 0, {0, 0}, {239, 156, 77, 255} }}, - {{ {-3, -81, -44}, 0, {0, 0}, {129, 11, 255, 255} }}, - {{ {12, -51, -34}, 0, {0, 0}, {132, 0, 227, 255} }}, - {{ {19, -78, -73}, 0, {0, 0}, {227, 5, 132, 255} }}, - {{ {51, -44, -64}, 0, {0, 0}, {208, 194, 156, 255} }}, - {{ {46, -107, -45}, 0, {0, 0}, {60, 152, 215, 255} }}, - {{ {88, -51, -73}, 0, {0, 0}, {224, 184, 156, 255} }}, - {{ {142, -81, -92}, 0, {0, 0}, {0, 206, 139, 255} }}, - {{ {142, -81, -92}, 0, {0, 0}, {0, 206, 139, 255} }}, - {{ {88, -51, -73}, 0, {0, 0}, {224, 184, 156, 255} }}, - {{ {115, -12, -91}, 0, {0, 0}, {255, 17, 130, 255} }}, - {{ {176, -9, -97}, 0, {0, 0}, {39, 5, 135, 255} }}, - {{ {147, 31, -76}, 0, {0, 0}, {246, 51, 140, 255} }}, - {{ {191, 61, -79}, 0, {0, 0}, {27, 59, 147, 255} }}, - {{ {142, 63, -57}, 0, {0, 0}, {222, 89, 172, 255} }}, - {{ {166, 84, -26}, 0, {0, 0}, {196, 92, 193, 255} }}, - {{ {202, 84, -59}, 0, {0, 0}, {15, 71, 152, 255} }}, - {{ {192, 116, -13}, 0, {0, 0}, {245, 127, 254, 255} }}, - {{ {151, 87, 0}, 0, {0, 0}, {184, 105, 5, 255} }}, - {{ {166, 84, 27}, 0, {0, 0}, {224, 107, 60, 255} }}, - {{ {200, 79, 48}, 0, {0, 0}, {34, 95, 77, 255} }}, - {{ {191, 66, 66}, 0, {0, 0}, {26, 77, 98, 255} }}, - {{ {142, 63, 58}, 0, {0, 0}, {236, 86, 92, 255} }}, - {{ {147, 31, 77}, 0, {0, 0}, {0, 55, 115, 255} }}, - {{ {147, 31, 77}, 0, {0, 0}, {0, 55, 115, 255} }}, - {{ {175, -9, 98}, 0, {0, 0}, {39, 8, 121, 255} }}, - {{ {191, 66, 66}, 0, {0, 0}, {26, 77, 98, 255} }}, - {{ {115, -11, 93}, 0, {0, 0}, {254, 18, 126, 255} }}, - {{ {142, -80, 93}, 0, {0, 0}, {0, 206, 117, 255} }}, - {{ {88, -51, 74}, 0, {0, 0}, {224, 183, 99, 255} }}, - {{ {62, -96, 42}, 0, {0, 0}, {243, 147, 64, 255} }}, - {{ {51, -44, 65}, 0, {0, 0}, {208, 193, 100, 255} }}, - {{ {46, -107, 45}, 0, {0, 0}, {60, 152, 41, 255} }}, - {{ {19, -78, 73}, 0, {0, 0}, {226, 4, 123, 255} }}, - {{ {12, -51, 35}, 0, {0, 0}, {133, 0, 30, 255} }}, - {{ {5, -113, 53}, 0, {0, 0}, {185, 158, 40, 255} }}, - {{ {24, -109, 21}, 0, {0, 0}, {239, 156, 179, 255} }}, - {{ {62, -96, -42}, 0, {0, 0}, {243, 147, 191, 255} }}, - {{ {24, -109, -21}, 0, {0, 0}, {239, 156, 77, 255} }}, - {{ {46, -107, -45}, 0, {0, 0}, {60, 152, 215, 255} }}, - {{ {5, -113, -53}, 0, {0, 0}, {185, 158, 216, 255} }}, - {{ {46, -107, -45}, 0, {0, 0}, {60, 152, 215, 255} }}, - {{ {24, -109, -21}, 0, {0, 0}, {239, 156, 77, 255} }}, - {{ {-3, -81, -44}, 0, {0, 0}, {129, 11, 255, 255} }}, - {{ {19, -78, -73}, 0, {0, 0}, {227, 5, 132, 255} }}, - {{ {175, -9, 98}, 0, {0, 0}, {39, 8, 121, 255} }}, - {{ {218, 28, 63}, 0, {0, 0}, {102, 14, 74, 255} }}, - {{ {191, 66, 66}, 0, {0, 0}, {26, 77, 98, 255} }}, - {{ {221, -14, 49}, 0, {0, 0}, {112, 240, 58, 255} }}, - {{ {186, -99, 63}, 0, {0, 0}, {71, 176, 68, 255} }}, - {{ {142, -80, 93}, 0, {0, 0}, {0, 206, 117, 255} }}, - {{ {114, -119, 58}, 0, {0, 0}, {233, 149, 64, 255} }}, - {{ {62, -96, 42}, 0, {0, 0}, {243, 147, 64, 255} }}, - {{ {117, -127, 0}, 0, {0, 0}, {242, 130, 255, 255} }}, - {{ {62, -96, -42}, 0, {0, 0}, {243, 147, 191, 255} }}, - {{ {114, -117, -58}, 0, {0, 0}, {233, 149, 191, 255} }}, - {{ {142, -81, -92}, 0, {0, 0}, {0, 206, 139, 255} }}, - {{ {114, -117, -58}, 0, {0, 0}, {233, 149, 191, 255} }}, - {{ {62, -96, -42}, 0, {0, 0}, {243, 147, 191, 255} }}, - {{ {186, -99, -62}, 0, {0, 0}, {71, 175, 188, 255} }}, - {{ {176, -9, -97}, 0, {0, 0}, {39, 5, 135, 255} }}, - {{ {221, -14, -49}, 0, {0, 0}, {112, 245, 196, 255} }}, - {{ {212, 28, -61}, 0, {0, 0}, {106, 7, 186, 255} }}, - {{ {191, 61, -79}, 0, {0, 0}, {27, 59, 147, 255} }}, - {{ {202, 84, -59}, 0, {0, 0}, {15, 71, 152, 255} }}, - {{ {223, 62, -34}, 0, {0, 0}, {113, 226, 206, 255} }}, - {{ {239, 97, -43}, 0, {0, 0}, {101, 52, 199, 255} }}, - {{ {192, 116, -13}, 0, {0, 0}, {245, 127, 254, 255} }}, - {{ {200, 79, 48}, 0, {0, 0}, {34, 95, 77, 255} }}, - {{ {222, 74, 33}, 0, {0, 0}, {100, 59, 52, 255} }}, - {{ {218, 28, 63}, 0, {0, 0}, {102, 14, 74, 255} }}, - {{ {191, 66, 66}, 0, {0, 0}, {26, 77, 98, 255} }}, - {{ {218, 28, 63}, 0, {0, 0}, {102, 14, 74, 255} }}, - {{ {228, 57, 0}, 0, {0, 0}, {127, 250, 4, 255} }}, - {{ {222, 74, 33}, 0, {0, 0}, {100, 59, 52, 255} }}, - {{ {221, -14, 49}, 0, {0, 0}, {112, 240, 58, 255} }}, - {{ {235, -34, 0}, 0, {0, 0}, {125, 232, 0, 255} }}, - {{ {186, -99, 63}, 0, {0, 0}, {71, 176, 68, 255} }}, - {{ {198, -110, 0}, 0, {0, 0}, {80, 157, 0, 255} }}, - {{ {114, -119, 58}, 0, {0, 0}, {233, 149, 64, 255} }}, - {{ {117, -127, 0}, 0, {0, 0}, {242, 130, 255, 255} }}, - {{ {114, -117, -58}, 0, {0, 0}, {233, 149, 191, 255} }}, - {{ {186, -99, -62}, 0, {0, 0}, {71, 175, 188, 255} }}, - {{ {221, -14, -49}, 0, {0, 0}, {112, 245, 196, 255} }}, - {{ {212, 28, -61}, 0, {0, 0}, {106, 7, 186, 255} }}, - {{ {223, 62, -34}, 0, {0, 0}, {113, 226, 206, 255} }}, - {{ {239, 97, -43}, 0, {0, 0}, {101, 52, 199, 255} }}, +Vtx luigi_face_hair_cap_off_dl_vertex[52] = { + {{{147, 31, 77}, 0, {0, 0}, {0x05, 0x38, 0x72, 0xFF}}}, + {{{191, 66, 66}, 0, {0, 0}, {0x10, 0x52, 0x5F, 0xFF}}}, + {{{142, 63, 58}, 0, {0, 0}, {0xE4, 0x5D, 0x52, 0xFF}}}, + {{{175, -9, 98}, 0, {0, 0}, {0x2D, 0x01, 0x77, 0xFF}}}, + {{{115, -11, 93}, 0, {0, 0}, {0xFF, 0x13, 0x7E, 0xFF}}}, + {{{142, -80, 93}, 0, {0, 0}, {0xEF, 0xD0, 0x74, 0xFF}}}, + {{{88, -51, 74}, 0, {0, 0}, {0xE9, 0xA9, 0x59, 0xFF}}}, + {{{62, -96, 42}, 0, {0, 0}, {0xF3, 0x8A, 0x2E, 0xFF}}}, + {{{51, -44, 65}, 0, {0, 0}, {0xE3, 0xCA, 0x6F, 0xFF}}}, + {{{46, -107, 45}, 0, {0, 0}, {0x58, 0xB3, 0x32, 0xFF}}}, + {{{19, -78, 73}, 0, {0, 0}, {0xDB, 0xFD, 0x79, 0xFF}}}, + {{{12, -51, 35}, 0, {0, 0}, {0x88, 0xF8, 0x29, 0xFF}}}, + {{{-3, -81, 44}, 0, {0, 0}, {0x86, 0xDF, 0x0B, 0xFF}}}, + {{{26, -79, 0}, 0, {0, 0}, {0x9F, 0xAE, 0x00, 0xFF}}}, + {{{24, -109, 21}, 0, {0, 0}, {0xFB, 0x8E, 0xC9, 0xFF}}}, + {{{62, -96, -42}, 0, {0, 0}, {0xF3, 0x8A, 0xD2, 0xFF}}}, + {{{24, -109, -21}, 0, {0, 0}, {0xFB, 0x8E, 0x37, 0xFF}}}, + {{{-3, -81, -44}, 0, {0, 0}, {0x86, 0xDF, 0xF5, 0xFF}}}, + {{{12, -51, -34}, 0, {0, 0}, {0x88, 0xF8, 0xD7, 0xFF}}}, + {{{19, -78, -73}, 0, {0, 0}, {0xDB, 0xFD, 0x87, 0xFF}}}, + {{{51, -44, -64}, 0, {0, 0}, {0xE3, 0xCA, 0x91, 0xFF}}}, + {{{46, -107, -45}, 0, {0, 0}, {0x58, 0xB3, 0xCE, 0xFF}}}, + {{{88, -51, -73}, 0, {0, 0}, {0xE8, 0xA9, 0xA6, 0xFF}}}, + {{{142, -81, -92}, 0, {0, 0}, {0xEF, 0xCF, 0x8C, 0xFF}}}, + {{{115, -12, -91}, 0, {0, 0}, {0xFF, 0x13, 0x82, 0xFF}}}, + {{{176, -9, -97}, 0, {0, 0}, {0x2F, 0xFE, 0x8A, 0xFF}}}, + {{{147, 31, -76}, 0, {0, 0}, {0xFE, 0x36, 0x8D, 0xFF}}}, + {{{191, 61, -79}, 0, {0, 0}, {0x07, 0x49, 0x98, 0xFF}}}, + {{{142, 63, -57}, 0, {0, 0}, {0xD6, 0x5B, 0xB3, 0xFF}}}, + {{{166, 84, -26}, 0, {0, 0}, {0xF5, 0x73, 0xCC, 0xFF}}}, + {{{202, 84, -59}, 0, {0, 0}, {0x31, 0x46, 0xA2, 0xFF}}}, + {{{192, 116, -13}, 0, {0, 0}, {0xE4, 0x7C, 0xFB, 0xFF}}}, + {{{151, 87, 0}, 0, {0, 0}, {0xB7, 0x68, 0xFE, 0xFF}}}, + {{{166, 84, 27}, 0, {0, 0}, {0x01, 0x76, 0x2F, 0xFF}}}, + {{{200, 79, 48}, 0, {0, 0}, {0x38, 0x61, 0x3C, 0xFF}}}, + {{{218, 28, 63}, 0, {0, 0}, {0x6E, 0x12, 0x3D, 0xFF}}}, + {{{221, -14, 49}, 0, {0, 0}, {0x73, 0xEC, 0x32, 0xFF}}}, + {{{186, -99, 63}, 0, {0, 0}, {0x51, 0xBA, 0x45, 0xFF}}}, + {{{114, -119, 58}, 0, {0, 0}, {0xFB, 0x8E, 0x38, 0xFF}}}, + {{{117, -127, 0}, 0, {0, 0}, {0xE8, 0x83, 0xFF, 0xFF}}}, + {{{114, -117, -58}, 0, {0, 0}, {0xFC, 0x8E, 0xC8, 0xFF}}}, + {{{186, -99, -62}, 0, {0, 0}, {0x50, 0xB9, 0xBD, 0xFF}}}, + {{{221, -14, -49}, 0, {0, 0}, {0x73, 0xF1, 0xCC, 0xFF}}}, + {{{212, 28, -61}, 0, {0, 0}, {0x72, 0x03, 0xC8, 0xFF}}}, + {{{223, 62, -34}, 0, {0, 0}, {0x72, 0xE4, 0xD1, 0xFF}}}, + {{{239, 97, -43}, 0, {0, 0}, {0x76, 0x2C, 0xF3, 0xFF}}}, + {{{222, 74, 33}, 0, {0, 0}, {0x71, 0x27, 0x2A, 0xFF}}}, + {{{228, 57, 0}, 0, {0, 0}, {0x7F, 0xF9, 0xFF, 0xFF}}}, + {{{235, -34, 0}, 0, {0, 0}, {0x7B, 0xE0, 0x00, 0xFF}}}, + {{{198, -110, 0}, 0, {0, 0}, {0x40, 0x92, 0x00, 0xFF}}}, + {{{5, -113, 53}, 0, {0, 0}, {0xDA, 0x93, 0x35, 0xFF}}}, + {{{5, -113, -53}, 0, {0, 0}, {0xDA, 0x93, 0xCB, 0xFF}}}, }; Gfx luigi_eyes_cap_off_dl[] = { gsSPVertex(luigi_eyes_cap_off_dl_vertex + 0, 12, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(5, 4, 0, 0), - gsSP1Triangle(5, 6, 4, 0), - gsSP1Triangle(4, 6, 7, 0), - gsSP1Triangle(7, 6, 8, 0), - gsSP1Triangle(9, 8, 6, 0), - gsSP1Triangle(7, 8, 10, 0), - gsSP1Triangle(3, 11, 1, 0), - gsSP1Triangle(4, 7, 3, 0), + gsSP2Triangles(0, 1, 2, 0, 1, 3, 2, 0), + gsSP2Triangles(1, 4, 3, 0, 1, 5, 4, 0), + gsSP2Triangles(4, 5, 6, 0, 7, 4, 6, 0), + gsSP2Triangles(8, 7, 6, 0, 6, 9, 8, 0), + gsSP2Triangles(10, 7, 8, 0, 3, 4, 7, 0), + gsSP1Triangle(2, 3, 11, 0), gsSPEndDisplayList(), }; Gfx luigi_mustache_cap_off_dl[] = { - gsSPVertex(luigi_mustache_cap_off_dl_vertex + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 3, 2, 0), - gsSP1Triangle(4, 3, 1, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(4, 6, 5, 0), - gsSP1Triangle(3, 5, 7, 0), - gsSP1Triangle(3, 7, 8, 0), - gsSP1Triangle(8, 2, 3, 0), - gsSP1Triangle(9, 10, 11, 0), - gsSP1Triangle(12, 10, 9, 0), - gsSP1Triangle(9, 13, 12, 0), - gsSP1Triangle(13, 14, 12, 0), - gsSP1Triangle(15, 14, 13, 0), - gsSPVertex(luigi_mustache_cap_off_dl_vertex + 16, 5, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(1, 3, 4, 0), + gsSPVertex(luigi_mustache_cap_off_dl_vertex + 0, 18, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 1, 0, 0), + gsSP2Triangles(0, 4, 3, 0, 5, 3, 4, 0), + gsSP2Triangles(6, 3, 5, 0, 7, 3, 6, 0), + gsSP2Triangles(8, 7, 6, 0, 3, 7, 1, 0), + gsSP2Triangles(9, 10, 11, 0, 10, 9, 12, 0), + gsSP2Triangles(9, 13, 12, 0, 14, 12, 13, 0), + gsSP2Triangles(14, 13, 15, 0, 16, 12, 14, 0), + gsSP2Triangles(17, 12, 16, 0, 12, 17, 10, 0), gsSPEndDisplayList(), }; Gfx luigi_hair_sideburn_cap_off_dl[] = { gsSPVertex(luigi_hair_sideburn_cap_off_dl_vertex + 0, 12, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 0, 2, 0), - gsSP1Triangle(3, 4, 0, 0), - gsSP1Triangle(4, 5, 0, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(6, 9, 7, 0), - gsSP1Triangle(10, 9, 6, 0), - gsSP1Triangle(11, 10, 6, 0), + gsSP2Triangles(0, 1, 2, 0, 2, 3, 0, 0), + gsSP2Triangles(3, 4, 0, 0, 5, 0, 4, 0), + gsSP2Triangles(6, 7, 8, 0, 8, 9, 6, 0), + gsSP2Triangles(9, 8, 10, 0, 10, 8, 11, 0), gsSPEndDisplayList(), }; Gfx luigi_face_part_cap_off_dl[] = { - gsSPVertex(luigi_face_part_cap_off_dl_vertex + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(0, 4, 3, 0), - gsSP1Triangle(3, 5, 1, 0), - gsSP1Triangle(6, 5, 3, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(7, 10, 8, 0), - gsSP1Triangle(11, 10, 7, 0), - gsSP1Triangle(11, 12, 10, 0), - gsSP1Triangle(11, 13, 12, 0), - gsSP1Triangle(11, 14, 13, 0), - gsSP1Triangle(12, 13, 15, 0), - gsSPVertex(luigi_face_part_cap_off_dl_vertex + 16, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 1, 3, 0), - gsSP1Triangle(4, 2, 3, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(5, 6, 4, 0), - gsSP1Triangle(2, 4, 6, 0), - gsSP1Triangle(0, 2, 6, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(8, 10, 9, 0), - gsSP1Triangle(8, 11, 10, 0), - gsSP1Triangle(10, 11, 12, 0), - gsSP1Triangle(13, 9, 10, 0), - gsSP1Triangle(13, 14, 9, 0), - gsSP1Triangle(13, 10, 15, 0), - gsSPVertex(luigi_face_part_cap_off_dl_vertex + 32, 14, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(3, 4, 1, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(4, 5, 6, 0), - gsSP1Triangle(6, 1, 4, 0), - gsSP1Triangle(1, 6, 2, 0), - gsSP1Triangle(7, 8, 9, 0), - gsSP1Triangle(8, 7, 10, 0), - gsSP1Triangle(10, 7, 11, 0), - gsSP1Triangle(12, 11, 7, 0), - gsSP1Triangle(13, 10, 11, 0), - gsSPVertex(luigi_face_part_cap_off_dl_vertex + 46, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(0, 4, 3, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(4, 6, 5, 0), - gsSP1Triangle(6, 4, 7, 0), - gsSP1Triangle(7, 8, 6, 0), - gsSP1Triangle(9, 8, 7, 0), - gsSP1Triangle(10, 8, 9, 0), - gsSP1Triangle(8, 10, 11, 0), - gsSP1Triangle(10, 12, 11, 0), - gsSP1Triangle(11, 12, 13, 0), - gsSP1Triangle(12, 14, 13, 0), - gsSP1Triangle(14, 12, 15, 0), - gsSP1Triangle(15, 1, 14, 0), - gsSP1Triangle(2, 1, 15, 0), - gsSPVertex(luigi_face_part_cap_off_dl_vertex + 62, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 3, 2, 0), - gsSP1Triangle(4, 3, 1, 0), - gsSP1Triangle(5, 3, 4, 0), - gsSP1Triangle(5, 4, 6, 0), - gsSP1Triangle(5, 6, 7, 0), - gsSP1Triangle(8, 7, 6, 0), - gsSP1Triangle(9, 8, 6, 0), - gsSP1Triangle(9, 10, 8, 0), - gsSP1Triangle(10, 11, 8, 0), - gsSP1Triangle(11, 10, 12, 0), - gsSP1Triangle(13, 11, 12, 0), - gsSP1Triangle(13, 12, 14, 0), - gsSP1Triangle(15, 13, 14, 0), - gsSP1Triangle(14, 2, 15, 0), - gsSP1Triangle(14, 0, 2, 0), - gsSPVertex(luigi_face_part_cap_off_dl_vertex + 78, 10, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(2, 1, 3, 0), - gsSP1Triangle(2, 3, 4, 0), - gsSP1Triangle(2, 4, 5, 0), - gsSP1Triangle(6, 2, 5, 0), - gsSP1Triangle(7, 6, 5, 0), - gsSP1Triangle(7, 8, 6, 0), - gsSP1Triangle(9, 6, 8, 0), - gsSP1Triangle(9, 0, 6, 0), - gsSP1Triangle(6, 0, 2, 0), + gsSPVertex(luigi_face_part_cap_off_dl_vertex + 0, 60, 0), + gsSP2Triangles(0, 1, 2, 0, 3, 0, 2, 0), + gsSP2Triangles(3, 2, 4, 0, 4, 5, 3, 0), + gsSP2Triangles(0, 3, 6, 0, 7, 8, 9, 0), + gsSP2Triangles(10, 9, 8, 0, 11, 10, 8, 0), + gsSP2Triangles(8, 12, 11, 0, 9, 10, 13, 0), + gsSP2Triangles(7, 14, 15, 0, 14, 16, 15, 0), + gsSP2Triangles(16, 14, 17, 0, 17, 14, 18, 0), + gsSP2Triangles(18, 19, 17, 0, 20, 19, 18, 0), + gsSP2Triangles(19, 21, 17, 0, 22, 17, 21, 0), + gsSP2Triangles(23, 22, 21, 0, 23, 21, 6, 0), + gsSP2Triangles(23, 24, 22, 0, 23, 25, 24, 0), + gsSP2Triangles(26, 25, 23, 0, 26, 27, 25, 0), + gsSP2Triangles(27, 26, 28, 0, 27, 28, 29, 0), + gsSP2Triangles(25, 27, 29, 0, 24, 25, 29, 0), + gsSP2Triangles(22, 16, 17, 0, 22, 30, 16, 0), + gsSP2Triangles(13, 31, 32, 0, 32, 31, 1, 0), + gsSP2Triangles(1, 33, 32, 0, 33, 1, 34, 0), + gsSP2Triangles(35, 33, 34, 0, 36, 35, 34, 0), + gsSP2Triangles(34, 37, 36, 0, 38, 36, 37, 0), + gsSP2Triangles(37, 20, 38, 0, 38, 20, 39, 0), + gsSP2Triangles(39, 40, 38, 0, 40, 39, 41, 0), + gsSP2Triangles(42, 40, 41, 0, 43, 42, 41, 0), + gsSP2Triangles(41, 13, 43, 0, 32, 43, 13, 0), + gsSP2Triangles(44, 43, 32, 0, 45, 44, 32, 0), + gsSP2Triangles(32, 33, 45, 0, 33, 46, 45, 0), + gsSP2Triangles(35, 46, 33, 0, 35, 47, 46, 0), + gsSP2Triangles(48, 47, 35, 0, 36, 48, 35, 0), + gsSP2Triangles(48, 36, 38, 0, 49, 48, 38, 0), + gsSP2Triangles(38, 40, 49, 0, 40, 50, 49, 0), + gsSP2Triangles(50, 40, 42, 0, 50, 42, 51, 0), + gsSP2Triangles(51, 42, 44, 0, 42, 43, 44, 0), + gsSP2Triangles(44, 52, 51, 0, 52, 44, 45, 0), + gsSP2Triangles(52, 45, 46, 0, 52, 46, 47, 0), + gsSP2Triangles(47, 53, 52, 0, 53, 47, 48, 0), + gsSP2Triangles(49, 53, 48, 0, 49, 50, 53, 0), + gsSP2Triangles(50, 51, 53, 0, 53, 51, 52, 0), + gsSP2Triangles(16, 54, 15, 0, 55, 15, 54, 0), + gsSP2Triangles(55, 54, 56, 0, 55, 56, 57, 0), + gsSP2Triangles(56, 58, 57, 0, 58, 59, 57, 0), + gsSP2Triangles(55, 57, 59, 0, 15, 55, 59, 0), gsSPEndDisplayList(), }; Gfx luigi_face_hair_cap_off_dl[] = { - gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 0, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(3, 0, 4, 0), - gsSP1Triangle(0, 5, 4, 0), - gsSP1Triangle(5, 0, 2, 0), - gsSP1Triangle(6, 5, 2, 0), - gsSP1Triangle(6, 2, 7, 0), - gsSP1Triangle(7, 2, 8, 0), - gsSP1Triangle(9, 8, 2, 0), - gsSP1Triangle(10, 9, 2, 0), - gsSP1Triangle(10, 11, 9, 0), - gsSP1Triangle(10, 12, 11, 0), - gsSP1Triangle(12, 13, 11, 0), - gsSP1Triangle(12, 7, 13, 0), - gsSP1Triangle(14, 7, 12, 0), - gsSP1Triangle(14, 15, 7, 0), - gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 16, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 0, 2, 0), - gsSP1Triangle(2, 4, 3, 0), - gsSP1Triangle(4, 5, 3, 0), - gsSP1Triangle(5, 4, 6, 0), - gsSP1Triangle(7, 5, 6, 0), - gsSP1Triangle(5, 7, 8, 0), - gsSP1Triangle(8, 7, 9, 0), - gsSP1Triangle(7, 10, 9, 0), - gsSP1Triangle(9, 10, 11, 0), - gsSP1Triangle(12, 9, 11, 0), - gsSP1Triangle(11, 13, 12, 0), - gsSP1Triangle(11, 14, 13, 0), - gsSP1Triangle(15, 13, 14, 0), - gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 32, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 3, 1, 0), - gsSP1Triangle(4, 1, 3, 0), - gsSP1Triangle(5, 4, 3, 0), - gsSP1Triangle(6, 4, 5, 0), - gsSP1Triangle(7, 6, 5, 0), - gsSP1Triangle(7, 8, 6, 0), - gsSP1Triangle(7, 9, 8, 0), - gsSP1Triangle(10, 9, 7, 0), - gsSP1Triangle(8, 9, 11, 0), - gsSP1Triangle(12, 8, 11, 0), - gsSP1Triangle(6, 8, 12, 0), - gsSP1Triangle(13, 14, 15, 0), - gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 48, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 2, 3, 0), - gsSP1Triangle(0, 3, 4, 0), - gsSP1Triangle(0, 4, 1, 0), - gsSP1Triangle(5, 6, 7, 0), - gsSP1Triangle(6, 5, 8, 0), - gsSP1Triangle(8, 5, 9, 0), - gsSP1Triangle(10, 9, 5, 0), - gsSP1Triangle(10, 11, 9, 0), - gsSP1Triangle(12, 11, 10, 0), - gsSP1Triangle(12, 13, 11, 0), - gsSP1Triangle(12, 14, 13, 0), - gsSP1Triangle(14, 15, 13, 0), - gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 64, 16, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(3, 1, 0, 0), - gsSP1Triangle(4, 3, 0, 0), - gsSP1Triangle(3, 4, 5, 0), - gsSP1Triangle(5, 4, 6, 0), - gsSP1Triangle(7, 6, 4, 0), - gsSP1Triangle(6, 7, 8, 0), - gsSP1Triangle(6, 8, 9, 0), - gsSP1Triangle(9, 8, 10, 0), - gsSP1Triangle(8, 11, 10, 0), - gsSP1Triangle(11, 12, 10, 0), - gsSP1Triangle(12, 13, 10, 0), - gsSP1Triangle(14, 13, 12, 0), - gsSP1Triangle(15, 14, 12, 0), - gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 80, 15, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(1, 0, 3, 0), - gsSP1Triangle(3, 4, 1, 0), - gsSP1Triangle(4, 3, 5, 0), - gsSP1Triangle(6, 4, 5, 0), - gsSP1Triangle(6, 5, 7, 0), - gsSP1Triangle(8, 6, 7, 0), - gsSP1Triangle(8, 9, 6, 0), - gsSP1Triangle(9, 10, 6, 0), - gsSP1Triangle(6, 10, 4, 0), - gsSP1Triangle(10, 11, 4, 0), - gsSP1Triangle(11, 1, 4, 0), - gsSP1Triangle(11, 12, 1, 0), - gsSP1Triangle(12, 13, 1, 0), - gsSP1Triangle(1, 13, 14, 0), - gsSP1Triangle(1, 14, 2, 0), + gsSPVertex(luigi_face_hair_cap_off_dl_vertex + 0, 52, 0), + gsSP2Triangles(0, 1, 2, 0, 0, 3, 1, 0), + gsSP2Triangles(0, 4, 3, 0, 5, 3, 4, 0), + gsSP2Triangles(6, 5, 4, 0, 7, 5, 6, 0), + gsSP2Triangles(7, 6, 8, 0, 9, 7, 8, 0), + gsSP2Triangles(8, 10, 9, 0, 10, 8, 11, 0), + gsSP2Triangles(11, 12, 10, 0, 12, 11, 13, 0), + gsSP2Triangles(13, 14, 12, 0, 13, 7, 14, 0), + gsSP2Triangles(13, 15, 7, 0, 13, 16, 15, 0), + gsSP2Triangles(17, 16, 13, 0, 13, 18, 17, 0), + gsSP2Triangles(19, 17, 18, 0, 18, 20, 19, 0), + gsSP2Triangles(21, 19, 20, 0, 20, 15, 21, 0), + gsSP2Triangles(20, 22, 15, 0, 22, 23, 15, 0), + gsSP2Triangles(23, 22, 24, 0, 25, 23, 24, 0), + gsSP2Triangles(24, 26, 25, 0, 26, 27, 25, 0), + gsSP2Triangles(27, 26, 28, 0, 29, 27, 28, 0), + gsSP2Triangles(27, 29, 30, 0, 30, 29, 31, 0), + gsSP2Triangles(29, 32, 31, 0, 31, 32, 33, 0), + gsSP2Triangles(34, 31, 33, 0, 33, 1, 34, 0), + gsSP2Triangles(33, 2, 1, 0, 1, 35, 34, 0), + gsSP2Triangles(3, 35, 1, 0, 35, 3, 36, 0), + gsSP2Triangles(36, 3, 37, 0, 5, 37, 3, 0), + gsSP2Triangles(5, 38, 37, 0, 7, 38, 5, 0), + gsSP2Triangles(7, 39, 38, 0, 7, 15, 39, 0), + gsSP2Triangles(15, 40, 39, 0, 23, 40, 15, 0), + gsSP2Triangles(41, 40, 23, 0, 25, 41, 23, 0), + gsSP2Triangles(41, 25, 42, 0, 42, 25, 43, 0), + gsSP2Triangles(27, 43, 25, 0, 43, 27, 30, 0), + gsSP2Triangles(43, 30, 44, 0, 44, 30, 45, 0), + gsSP2Triangles(30, 31, 45, 0, 31, 34, 45, 0), + gsSP2Triangles(34, 46, 45, 0, 35, 46, 34, 0), + gsSP2Triangles(35, 47, 46, 0, 47, 35, 36, 0), + gsSP2Triangles(36, 48, 47, 0, 48, 36, 37, 0), + gsSP2Triangles(49, 48, 37, 0, 49, 37, 38, 0), + gsSP2Triangles(39, 49, 38, 0, 39, 40, 49, 0), + gsSP2Triangles(40, 41, 49, 0, 49, 41, 48, 0), + gsSP2Triangles(41, 42, 48, 0, 42, 47, 48, 0), + gsSP2Triangles(42, 43, 47, 0, 43, 44, 47, 0), + gsSP2Triangles(47, 44, 45, 0, 47, 45, 46, 0), + gsSP2Triangles(9, 14, 7, 0, 9, 50, 14, 0), + gsSP2Triangles(10, 50, 9, 0, 12, 50, 10, 0), + gsSP2Triangles(14, 50, 12, 0, 16, 21, 15, 0), + gsSP2Triangles(16, 51, 21, 0, 17, 51, 16, 0), + gsSP2Triangles(19, 51, 17, 0, 51, 19, 21, 0), gsSPEndDisplayList(), }; -const Gfx luigi_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(&luigi_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 11), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_add_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 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(luigi_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, 0, TEXEL0, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(SKIN), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_skin_sideburn), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPEndDisplayList(), -}; - +// 0x040139C0 - 0x040139E8 const Gfx luigi_face_cap_off_dl[] = { + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), gsSPDisplayList(luigi_face_part_cap_off_dl), gsSPCopyLightsPlayerPart(HAIR), gsSPDisplayList(luigi_face_hair_cap_off_dl), gsSPEndDisplayList(), }; +// 0x040139E8 - 0x04013AB8 const Gfx luigi_cap_off_eyes_front[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -2671,6 +2793,20 @@ const Gfx luigi_cap_off_eyes_front[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2678,8 +2814,8 @@ const Gfx luigi_cap_off_eyes_front[] = { gsSPEndDisplayList(), }; +// 0x04013AB8 - 0x04013B88 const Gfx luigi_cap_off_eyes_half_closed[] = { - gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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), @@ -2695,6 +2831,20 @@ const Gfx luigi_cap_off_eyes_half_closed[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2702,8 +2852,8 @@ const Gfx luigi_cap_off_eyes_half_closed[] = { gsSPEndDisplayList(), }; +// 0x04013B88 - 0x04013C58 const Gfx luigi_cap_off_eyes_closed[] = { - gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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), @@ -2719,6 +2869,20 @@ const Gfx luigi_cap_off_eyes_closed[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2726,6 +2890,7 @@ const Gfx luigi_cap_off_eyes_closed[] = { gsSPEndDisplayList(), }; +// 0x04013C58 - 0x04013D28 const Gfx luigi_cap_off_eyes_right[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -2743,6 +2908,20 @@ const Gfx luigi_cap_off_eyes_right[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2750,6 +2929,7 @@ const Gfx luigi_cap_off_eyes_right[] = { gsSPEndDisplayList(), }; +// 0x04013D28 - 0x04013DF8 const Gfx luigi_cap_off_eyes_left[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -2767,6 +2947,20 @@ const Gfx luigi_cap_off_eyes_left[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2774,6 +2968,7 @@ const Gfx luigi_cap_off_eyes_left[] = { gsSPEndDisplayList(), }; +// 0x04013DF8 - 0x04013EC8 const Gfx luigi_cap_off_eyes_up[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -2791,6 +2986,20 @@ const Gfx luigi_cap_off_eyes_up[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2798,6 +3007,7 @@ const Gfx luigi_cap_off_eyes_up[] = { gsSPEndDisplayList(), }; +// 0x04013EC8 - 0x04013F98 const Gfx luigi_cap_off_eyes_down[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -2815,6 +3025,20 @@ const Gfx luigi_cap_off_eyes_down[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2822,6 +3046,7 @@ const Gfx luigi_cap_off_eyes_down[] = { gsSPEndDisplayList(), }; +// 0x04013F98 - 0x04014068 const Gfx luigi_cap_off_eyes_dead[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -2839,6 +3064,20 @@ const Gfx luigi_cap_off_eyes_dead[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2846,6 +3085,301 @@ const Gfx luigi_cap_off_eyes_dead[] = { gsSPEndDisplayList(), }; +// 0x040139E8 - 0x04013AB8 +const Gfx luigi_cap_off_eyes_front_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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, luigi_texture_eyes_front), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x04013AB8 - 0x04013B88 +const Gfx luigi_cap_off_eyes_half_closed_transparent[] = { + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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, luigi_texture_eyes_half_closed), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x04013B88 - 0x04013C58 +const Gfx luigi_cap_off_eyes_closed_transparent[] = { + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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, luigi_texture_eyes_closed), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x04013C58 - 0x04013D28 +const Gfx luigi_cap_off_eyes_right_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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, luigi_texture_eyes_right), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x04013D28 - 0x04013DF8 +const Gfx luigi_cap_off_eyes_left_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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, luigi_texture_eyes_left), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x04013DF8 - 0x04013EC8 +const Gfx luigi_cap_off_eyes_up_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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, luigi_texture_eyes_up), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x04013EC8 - 0x04013F98 +const Gfx luigi_cap_off_eyes_down_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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, luigi_texture_eyes_down), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x04013F98 - 0x04014068 +const Gfx luigi_cap_off_eyes_dead_transparent[] = { + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), + 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, luigi_texture_eyes_dead), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPCopyLightsPlayerPart(SKIN), + gsSPDisplayList(luigi_eyes_cap_off_dl), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), + gsDPLoadSync(), + gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), + gsSPDisplayList(luigi_mustache_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x04014068 - 0x04014098 const Gfx luigi_metal_cap_off_shared_dl[] = { gsSPDisplayList(luigi_eyes_cap_off_dl), gsSPDisplayList(luigi_mustache_cap_off_dl), @@ -2917,6 +3451,7 @@ const Gfx luigi_left_hand_open_shared_dl[] = { gsSPEndDisplayList(), }; +// 0x04019CA0 - 0x04019CC0 const Gfx luigi_left_hand_open[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2987,6 +3522,7 @@ const Gfx luigi_right_hand_open_dl[] = { gsSPEndDisplayList(), }; +// 0x0401A428 - 0x0401A448 const Gfx luigi_right_hand_open[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2995,10 +3531,12 @@ const Gfx luigi_right_hand_open[] = { gsSPEndDisplayList(), }; +// 0x0401A448 - 0x0401A478 const Gfx luigi_metal_right_hand_open[] = { gsSPDisplayList(luigi_right_hand_open_dl), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsSPEndDisplayList(), @@ -3111,49 +3649,11 @@ const Gfx luigi_right_hand_cap_bottom_dl[] = { gsSPEndDisplayList(), }; -const Gfx luigi_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), - gsSPLight(&luigi_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 17), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_blend), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 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(luigi_right_hand_cap_l_logo_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(CAP), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_cap), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 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(luigi_right_hand_cap_l_logo_dl), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPEndDisplayList(), -}; - +// 0x0401AF20 - 0x0401AF60 const Gfx luigi_right_hand_cap_dl[] = { gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(luigi_right_hand_cap_top_dl), - gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in mario_misc.c + gsSPCopyLightsPlayerPart(GLOVES), // glove light, set in luigi_misc.c gsSPDisplayList(luigi_right_hand_cap_hand_position_dl), gsDPSetCombineLERP(SHADE, 0, PRIMITIVE, 0, 0, 0, 0, ENVIRONMENT, SHADE, 0, PRIMITIVE, 0, 0, 0, 0, ENVIRONMENT), gsSPTexture(65535, 65535, 0, 0, 1), @@ -3209,9 +3709,9 @@ const Gfx luigi_right_hand_cap_wings_half_2_dl[] = { }; // 0x0401B0E0 - 0x0401B138 -const Gfx luigi_right_hand_cap_wings_intial_dl[] = { +const Gfx luigi_right_hand_cap_wings_initial_dl[] = { gsDPPipeSync(), - gsDPSetCombineMode(G_CC_MODULATERGBA, G_CC_MODULATERGBA), + gsDPSetCombineMode(G_CC_MODULATERGBFADEA, G_CC_MODULATERGBFADEA), 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), @@ -3223,62 +3723,43 @@ const Gfx luigi_right_hand_cap_wings_intial_dl[] = { gsSPEndDisplayList(), }; -const Gfx luigi_right_hand_cap_wings_transparent_intial_dl[] = { - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_DECALFADEA, G_CC_DECALFADEA), - 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(&luigi_white_lights_group.l, 1), - gsSPLight(&luigi_white_lights_group.a, 2), - gsDPTileSync(), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD), - gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC), - gsSPEndDisplayList(), -}; - -const Gfx luigi_right_hand_cap_metal_wings_intial_dl[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), - gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&luigi_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsSPEndDisplayList(), -}; - // 0x0401B138 - 0x0401B158 const Gfx luigi_right_hand_cap_wings_end_dl[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsSPEndDisplayList(), }; +// 0x0401B158 - 0x0401B1D8 const Gfx luigi_right_hand_cap[] = { + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_right_hand_cap_l_logo_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_right_hand_cap_dl), gsSPEndDisplayList(), }; +// 0x0401B1D8 - 0x0401B230 const Gfx luigi_right_hand_cap_wings[] = { - gsSPDisplayList(luigi_right_hand_cap_wings_intial_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_wings_half_1), - gsDPLoadSync(), - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), - gsSPDisplayList(luigi_right_hand_cap_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_wings_half_2), - gsDPLoadSync(), - gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), - gsSPDisplayList(luigi_right_hand_cap_wings_half_2_dl), - gsSPDisplayList(luigi_right_hand_cap_wings_end_dl), - gsSPEndDisplayList(), -}; - -const Gfx luigi_right_hand_cap_wings_transparent[] = { - gsSPDisplayList(luigi_right_hand_cap_wings_transparent_intial_dl), + gsSPDisplayList(luigi_right_hand_cap_wings_initial_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_wings_half_1), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -3291,6 +3772,7 @@ const Gfx luigi_right_hand_cap_wings_transparent[] = { gsSPEndDisplayList(), }; +// 0x0401B230 - 0x0401B278 const Gfx luigi_metal_right_hand_cap_shared_dl[] = { gsSPDisplayList(luigi_right_hand_cap_l_logo_dl), gsSPDisplayList(luigi_right_hand_cap_top_dl), @@ -3298,61 +3780,40 @@ const Gfx luigi_metal_right_hand_cap_shared_dl[] = { gsSPDisplayList(luigi_right_hand_cap_bottom_dl), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsSPEndDisplayList(), }; +// 0x0401B278 - 0x0401B2D0 const Gfx luigi_metal_right_hand_cap_shared_dl_wings[] = { - gsSPDisplayList(luigi_right_hand_cap_metal_wings_intial_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1_shade), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_right_hand_cap_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2_shade), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), - gsSPDisplayList(luigi_right_hand_cap_wings_half_2_dl), - gsSPDisplayList(luigi_right_hand_cap_wings_end_dl), - gsSPEndDisplayList(), -}; - -const Gfx luigi_metal_right_hand_cap_shared_dl_wings_transparent[] = { - gsSPDisplayList(luigi_right_hand_cap_metal_wings_intial_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1_shade), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), - gsSPDisplayList(luigi_right_hand_cap_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2_shade), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_right_hand_cap_wings_half_2_dl), gsSPDisplayList(luigi_right_hand_cap_wings_end_dl), @@ -3447,6 +3908,7 @@ const Gfx luigi_right_hand_peace_shared_dl[] = { gsSPEndDisplayList(), }; +// 0x0401BF30 - 0x0401BF50 const Gfx luigi_right_hand_peace[] = { gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -3508,7 +3970,7 @@ const Gfx luigi_cap_wings[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), + gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPEndDisplayList(), }; @@ -3535,7 +3997,7 @@ const Gfx luigi_cap_wings_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), + gsSPSetGeometryMode(G_CULL_BACK | G_SHADING_SMOOTH), gsSPEndDisplayList(), }; @@ -3543,36 +4005,50 @@ const Gfx luigi_cap_wings_transparent[] = { const Gfx luigi_metal_cap_wings[] = { gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&luigi_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1_shade), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2_shade), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_wings_half_2_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), + gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), + 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTileSize(1, 0, 0, 252, 124), gsSPEndDisplayList(), }; @@ -3580,36 +4056,50 @@ const Gfx luigi_metal_cap_wings[] = { const Gfx luigi_metal_cap_wings_transparent[] = { gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&luigi_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1_shade), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_wings_half_1_dl), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2_shade), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_wings_half_2_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), + gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), + 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTileSize(1, 0, 0, 252, 124), gsSPEndDisplayList(), }; @@ -3617,6 +4107,7 @@ const Gfx luigi_material_revert_render_settings[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_LIGHTING), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), gsSPTexture(65535, 65535, 0, 0, 0), gsDPSetEnvColor(255, 255, 255, 255), From b6c0af2f8671da59fc09b78c5cfda8601d27b242 Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Tue, 19 May 2026 23:14:06 -0500 Subject: [PATCH 03/22] Update Luigi's Cap --- actors/luigi_cap/geo.inc.c | 30 +++-- actors/luigi_cap/geo_header.h | 2 - actors/luigi_cap/model.inc.c | 239 ++++++++++++++++++---------------- 3 files changed, 144 insertions(+), 127 deletions(-) diff --git a/actors/luigi_cap/geo.inc.c b/actors/luigi_cap/geo.inc.c index ad6e7dd3d..c8e7101e4 100644 --- a/actors/luigi_cap/geo.inc.c +++ b/actors/luigi_cap/geo.inc.c @@ -8,27 +8,23 @@ const GeoLayout luigis_cap_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 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(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(10, geo_update_layer_transparency), GEO_SWITCH_CASE(2, geo_switch_anim_state), GEO_OPEN_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_cap_l_logo_decal), - GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_seg3_dl_03022F48), - GEO_CLOSE_NODE(), - GEO_NODE_START(), - GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_l_logo_decal), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_seg3_dl_03022F48), - GEO_CLOSE_NODE(), + GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_seg3_dl_03022F48), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_seg3_dl_03022F48), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, luigi_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, luigi_cap_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; @@ -42,8 +38,10 @@ const GeoLayout luigis_metal_cap_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 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(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(10, geo_update_layer_transparency), GEO_SWITCH_CASE(2, geo_switch_anim_state), GEO_OPEN_NODE(), @@ -53,8 +51,10 @@ const GeoLayout luigis_metal_cap_geo[] = { GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, luigi_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, luigi_cap_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; @@ -68,28 +68,30 @@ const GeoLayout luigis_wing_cap_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 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(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(10, geo_update_layer_transparency), GEO_SWITCH_CASE(2, geo_switch_anim_state), GEO_OPEN_NODE(), GEO_NODE_START(), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_cap_l_logo_decal), GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_seg3_dl_03022F48), GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_cap_seg3_dl_030230B0), GEO_CLOSE_NODE(), GEO_NODE_START(), GEO_OPEN_NODE(), - GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_l_logo_decal), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_seg3_dl_03023160), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, luigi_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, luigi_cap_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; @@ -103,8 +105,10 @@ const GeoLayout luigis_winged_metal_cap_geo[] = { GEO_SCALE(0x00, 16384), GEO_OPEN_NODE(), GEO_ASM(LAYER_OPAQUE + 3, geo_mario_set_player_colors), + GEO_ASM(LAYER_OPAQUE_DECAL + 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(LAYER_TRANSPARENT_DECAL + 3, geo_mario_set_player_colors), GEO_ASM(10, geo_update_layer_transparency), GEO_SWITCH_CASE(2, geo_switch_anim_state), GEO_OPEN_NODE(), @@ -121,8 +125,10 @@ const GeoLayout luigis_winged_metal_cap_geo[] = { GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_DISPLAY_LIST(LAYER_OPAQUE, luigi_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_OPAQUE_DECAL, luigi_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_ALPHA, luigi_cap_material_revert_render_settings), GEO_DISPLAY_LIST(LAYER_TRANSPARENT, luigi_cap_material_revert_render_settings), + GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, luigi_cap_material_revert_render_settings), GEO_CLOSE_NODE(), GEO_END(), }; diff --git a/actors/luigi_cap/geo_header.h b/actors/luigi_cap/geo_header.h index 7510654df..ff0ee72be 100644 --- a/actors/luigi_cap/geo_header.h +++ b/actors/luigi_cap/geo_header.h @@ -9,9 +9,7 @@ extern const Gfx luigi_cap_seg3_dl_03022D10[]; extern const Gfx luigi_cap_seg3_dl_03022E78[]; extern const Gfx luigi_cap_seg3_dl_03022EA8[]; extern const Gfx luigi_cap_seg3_dl_03022ED8[]; -extern const Gfx luigi_cap_seg3_dl_03022ED8_metal[]; extern const Gfx luigi_cap_seg3_dl_03022F20[]; -extern const Gfx luigi_cap_l_logo_decal[]; extern const Gfx luigi_cap_seg3_dl_03022F48[]; extern const Gfx luigi_cap_seg3_dl_03022FF8[]; extern const Gfx luigi_cap_seg3_dl_030230B0[]; diff --git a/actors/luigi_cap/model.inc.c b/actors/luigi_cap/model.inc.c index 78da57c6b..058666263 100644 --- a/actors/luigi_cap/model.inc.c +++ b/actors/luigi_cap/model.inc.c @@ -1,24 +1,32 @@ #include "pc/rom_assets.h" // Mario Cap (Normal Cap, Metal, Winged, etc) -static const Lights1 luigi_cap_black_lights_group = gdSPDefLights1( - 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x28, 0x28, 0x28 +// 0x0301CF08 +static const Lights1 luigi_cap_seg3_lights_0301CF08 = gdSPDefLights1( + 0x00, 0x39, 0x00, + 0x00, 0x73, 0x00, 0x28, 0x28, 0x28 +); + +// 0x0301CF20 +static const Lights1 luigi_cap_seg3_lights_0301CF20 = gdSPDefLights1( + 0x7f, 0x7f, 0x7f, + 0xff, 0xff, 0xff, 0x28, 0x28, 0x28 +); + +// 0x0301CF38 +static const Lights1 luigi_cap_seg3_lights_0301CF38 = gdSPDefLights1( + 0x00, 0x7f, 0x00, + 0x00, 0xff, 0x00, 0x28, 0x28, 0x28 ); #include "actors/mario/mario_externs.h" #include "actors/luigi/luigi_externs.h" -#define luigi_cap_texture_metal_shade mario_texture_metal_shade -#define luigi_cap_texture_metal_light mario_texture_metal_light -#define luigi_cap_texture_l_logo luigi_texture_l_logo -#define luigi_cap_texture_l_blend luigi_texture_l_blend -#define luigi_cap_texture_l_cap luigi_texture_l_cap -#define luigi_cap_texture_wings_half_1 mario_texture_wings_half_1 -#define luigi_cap_texture_wings_half_2 mario_texture_wings_half_2 -#define luigi_cap_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1_shade -#define luigi_cap_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1_light -#define luigi_cap_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2_shade -#define luigi_cap_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2_light +#define luigi_cap_texture_metal mario_texture_metal +#define luigi_cap_texture_l_logo luigi_texture_l_logo +#define luigi_cap_texture_wings_half_1 mario_texture_wings_half_1 +#define luigi_cap_texture_wings_half_2 mario_texture_wings_half_2 +#define luigi_cap_texture_metal_wings_half_1 mario_texture_metal_wings_half_1 +#define luigi_cap_texture_metal_wings_half_2 mario_texture_metal_wings_half_2 // 0x03022750 ROM_ASSET_LOAD_VTX(luigi_cap_seg3_vertex_03022750, 0x00114750, 78432, 0x0001bf50, 112); @@ -153,100 +161,90 @@ const Gfx luigi_cap_seg3_dl_03022ED8[] = { gsSPEndDisplayList(), }; -const Gfx luigi_cap_seg3_dl_03022ED8_metal[] = { - gsDPPipeSync(), - gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&luigi_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsSPEndDisplayList(), -}; - // 0x03022F20 - 0x03022F48 const Gfx luigi_cap_seg3_dl_03022F20[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsSPEndDisplayList(), }; -const Gfx luigi_cap_l_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), - gsSPLight(&luigi_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 17), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_l_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_l_blend), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 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(luigi_cap_seg3_dl_03022B30), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0, TEXEL0, SHADE, TEXEL0_ALPHA, SHADE, TEXEL1, 0, ENVIRONMENT, 0), - gsSPTexture(65535, 65535, 0, 0, 1), - gsSPCopyLightsPlayerPart(CAP), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_l_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_l_cap), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), - gsDPLoadBlock(6, 0, 0, 1023, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 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(luigi_cap_seg3_dl_03022B30), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), - gsSPEndDisplayList(), -}; - // 0x03022F48 - 0x03022FF8 const Gfx luigi_cap_seg3_dl_03022F48[] = { gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_cap_seg3_dl_03022B30), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_cap_seg3_dl_03022D10), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsDPSetAlphaCompare(G_AC_NONE), gsDPSetEnvColor(255, 255, 255, 255), + + gsDPPipeSync(), + gsSPSetGeometryMode(G_LIGHTING), + gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), + gsSPTexture(65535, 65535, 0, 0, 0), + gsDPSetEnvColor(255, 255, 255, 255), + gsDPSetAlphaCompare(G_AC_NONE), + + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + 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), + + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 256, 6, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPLoadBlock(6, 0, 0, 1023, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 256, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(1, 0, 0, 124, 124), + gsSPEndDisplayList(), }; // 0x03022FF8 - 0x030230B0 const Gfx luigi_cap_seg3_dl_03022FF8[] = { - gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT), - gsSPSetGeometryMode(G_TEXTURE_GEN), - gsSPTexture(4032, 1984, 0, 0, 1), - gsSPLight(&luigi_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_shade), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), + gsDPPipeSync(), + gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), + 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(luigi_cap_seg3_dl_03022B30), gsSPDisplayList(luigi_cap_seg3_dl_03022B68), gsSPDisplayList(luigi_cap_seg3_dl_03022CC8), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsDPSetAlphaCompare(G_AC_NONE), @@ -271,27 +269,28 @@ const Gfx luigi_cap_seg3_dl_030230B0[] = { // 0x03023108 - 0x03023160 const Gfx luigi_cap_seg3_dl_03023108[] = { - gsSPDisplayList(luigi_cap_seg3_dl_03022ED8_metal), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_1_shade), + gsDPPipeSync(), + gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_cap_seg3_dl_03022E78), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_2_shade), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_cap_seg3_dl_03022EA8), gsSPDisplayList(luigi_cap_seg3_dl_03022F20), @@ -300,9 +299,25 @@ const Gfx luigi_cap_seg3_dl_03023108[] = { // 0x03023160 - 0x03023298 const Gfx luigi_cap_seg3_dl_03023160[] = { + gsDPPipeSync(), + gsSPCopyLightsPlayerPart(CAP), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_l_logo), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 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(luigi_cap_seg3_dl_03022B30), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPCopyLightsPlayerPart(CAP), //gsSPLight(&luigi_cap_seg3_lights_0301CF38.a, 2), gsSPDisplayList(luigi_cap_seg3_dl_03022D10), gsDPPipeSync(), gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK), @@ -331,55 +346,52 @@ const Gfx luigi_cap_seg3_dl_03023160[] = { // 0x03023298 - 0x030233D0 const Gfx luigi_cap_seg3_dl_03023298[] = { gsDPPipeSync(), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, SHADE, TEXEL1, 0, 0, 0, ENVIRONMENT), gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsSPLight(&luigi_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_shade), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), 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), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(luigi_cap_seg3_dl_03022B30), gsSPDisplayList(luigi_cap_seg3_dl_03022B68), gsSPDisplayList(luigi_cap_seg3_dl_03022CC8), + gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, SHADE, TEXEL1, TEXEL0, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsSPLight(&luigi_cap_black_lights_group.l, 1), - gsSPCopyLightEXT(2, 15), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_1_shade), + gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_1_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_cap_seg3_dl_03022E78), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_2_shade), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_2_light), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 512, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_cap_seg3_dl_03022EA8), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE), gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK), gsDPSetAlphaCompare(G_AC_NONE), @@ -391,6 +403,7 @@ const Gfx luigi_cap_material_revert_render_settings[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_LIGHTING), gsSPClearGeometryMode(G_TEXTURE_GEN), + gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineLERP(0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT, 0, 0, 0, SHADE, 0, 0, 0, ENVIRONMENT), gsSPTexture(65535, 65535, 0, 0, 0), gsDPSetEnvColor(255, 255, 255, 255), From 762f6d799664ec115ea81307af62a3f04203d0ed Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Wed, 20 May 2026 00:45:23 -0500 Subject: [PATCH 04/22] Toad Temporary Fix --- actors/toad_cap/model.inc.c | 12 ++++++------ actors/toad_player/model.inc.c | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/actors/toad_cap/model.inc.c b/actors/toad_cap/model.inc.c index d52414e84..a89b3f402 100644 --- a/actors/toad_cap/model.inc.c +++ b/actors/toad_cap/model.inc.c @@ -5,16 +5,16 @@ static const Lights1 toad_cap_black_lights_group = gdSPDefLights1( #include "actors/mario/mario_externs.h" #include "actors/toad_player/toad_player_externs.h" -#define toad_cap_texture_metal_shade mario_texture_metal_shade -#define toad_cap_texture_metal_light mario_texture_metal_light +#define toad_cap_texture_metal_shade mario_texture_metal +#define toad_cap_texture_metal_light mario_texture_metal #define toad_cap_texture_cap toad_player_texture_cap #define toad_cap_texture_spots toad_player_texture_spots #define toad_cap_texture_wings_half_1 mario_texture_wings_half_1 #define toad_cap_texture_wings_half_2 mario_texture_wings_half_2 -#define toad_cap_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1_shade -#define toad_cap_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1_light -#define toad_cap_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2_shade -#define toad_cap_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2_light +#define toad_cap_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1 +#define toad_cap_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1 +#define toad_cap_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2 +#define toad_cap_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2 Vtx toad_cap_mesh_layer_1_vtx_0[94] = { {{ {-175, 118, 0}, 0, {-418, 482}, {134, 35, 0, 0} }}, diff --git a/actors/toad_player/model.inc.c b/actors/toad_player/model.inc.c index 1df2a5a0a..9085eafa9 100644 --- a/actors/toad_player/model.inc.c +++ b/actors/toad_player/model.inc.c @@ -31,14 +31,14 @@ static const Lights1 toad_player_black_lights_group = gdSPDefLights1( 0x00, 0x00, 0x00, 0x28, 0x28, 0x28); #include "actors/mario/mario_externs.h" -#define toad_player_texture_metal_shade mario_texture_metal_shade -#define toad_player_texture_metal_light mario_texture_metal_light +#define toad_player_texture_metal_shade mario_texture_metal +#define toad_player_texture_metal_light mario_texture_metal #define toad_player_texture_wings_half_1 mario_texture_wings_half_1 #define toad_player_texture_wings_half_2 mario_texture_wings_half_2 -#define toad_player_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1_shade -#define toad_player_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1_light -#define toad_player_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2_shade -#define toad_player_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2_light +#define toad_player_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1 +#define toad_player_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1 +#define toad_player_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2 +#define toad_player_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2 ALIGNED8 const Texture toad_player_texture_cap[] = { #include "actors/toad_player/custom_toad_cap.ia16.inc.c" From a2cabc132218d966cb1f2e660b9e3547bf8158bc Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Wed, 20 May 2026 00:56:01 -0500 Subject: [PATCH 05/22] Wait... how long has this went unchanged? --- actors/snowman/geo.inc.c | 7 ++++--- src/game/characters.c | 8 ++++---- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/actors/snowman/geo.inc.c b/actors/snowman/geo.inc.c index ba4575baa..cecef9684 100644 --- a/actors/snowman/geo.inc.c +++ b/actors/snowman/geo.inc.c @@ -28,9 +28,10 @@ const GeoLayout mr_blizzard_hidden_geo[] = { GEO_OPEN_NODE(), GEO_SCALE(0x00, 65536), GEO_OPEN_NODE(), - GEO_ASM(0, geo_mario_set_player_colors), - GEO_TRANSLATE_ROTATE_WITH_DL(LAYER_ALPHA, 490, 14, 43, 305, 0, 248, mario_cap_m_logo_decal), - GEO_TRANSLATE_ROTATE_WITH_DL(LAYER_OPAQUE, 490, 14, 43, 305, 0, 248, mario_cap_seg3_dl_03022F48), + GEO_TRANSLATE_ROTATE(LAYER_OPAQUE, 490, 14, 43, 305, 0, 248), + GEO_OPEN_NODE(), + GEO_ASM(0, geo_mario_cap_display_list), + GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), GEO_CLOSE_NODE(), diff --git a/src/game/characters.c b/src/game/characters.c index 8c9b54e2b..49ef2cd1d 100644 --- a/src/game/characters.c +++ b/src/game/characters.c @@ -104,7 +104,7 @@ struct Character gCharacters[CT_MAX] = { .capMetalModelId = MODEL_LUIGIS_METAL_CAP, .capWingModelId = MODEL_LUIGIS_WING_CAP, .capMetalWingModelId = MODEL_LUIGIS_WINGED_METAL_CAP, - .capEnemyLayer = LAYER_ALPHA, + .capEnemyLayer = LAYER_OPAQUE, .capEnemyGfx = luigi_cap_seg3_dl_03022F48, .capEnemyDecalGfx = NULL, .torsoRotMult = 1.0f, @@ -170,7 +170,7 @@ struct Character gCharacters[CT_MAX] = { .capMetalModelId = MODEL_TOADS_METAL_CAP, .capWingModelId = MODEL_TOADS_WING_CAP, .capMetalWingModelId = MODEL_TOADS_WINGED_METAL_CAP, - .capEnemyLayer = LAYER_ALPHA, + .capEnemyLayer = LAYER_OPAQUE, .capEnemyGfx = toad_cap_mesh_layer_1, .capEnemyDecalGfx = NULL, .torsoRotMult = 1.0f, @@ -236,7 +236,7 @@ struct Character gCharacters[CT_MAX] = { .capMetalModelId = MODEL_WALUIGIS_METAL_CAP, .capWingModelId = MODEL_WALUIGIS_WING_CAP, .capMetalWingModelId = MODEL_WALUIGIS_WINGED_METAL_CAP, - .capEnemyLayer = LAYER_ALPHA, + .capEnemyLayer = LAYER_OPAQUE, .capEnemyGfx = waluigi_cap_seg3_dl_03022F48, .capEnemyDecalGfx = NULL, .torsoRotMult = 1.0f, @@ -302,7 +302,7 @@ struct Character gCharacters[CT_MAX] = { .capMetalModelId = MODEL_WARIOS_METAL_CAP, .capWingModelId = MODEL_WARIOS_WING_CAP, .capMetalWingModelId = MODEL_WARIOS_WINGED_METAL_CAP, - .capEnemyLayer = LAYER_ALPHA, + .capEnemyLayer = LAYER_OPAQUE, .capEnemyGfx = wario_cap_seg3_dl_03022F48, .capEnemyDecalGfx = NULL, .torsoRotMult = 1.0f, From 676d092aa87f8f29c7120bad2bb254984fdf0ab7 Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Wed, 20 May 2026 01:05:22 -0500 Subject: [PATCH 06/22] Toad Temporary Fix Part 2 --- actors/toad_player/model.inc.c | 4 ++-- data/dynos_mgr_builtin_tex.cpp | 5 +---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/actors/toad_player/model.inc.c b/actors/toad_player/model.inc.c index 9085eafa9..321c01b3b 100644 --- a/actors/toad_player/model.inc.c +++ b/actors/toad_player/model.inc.c @@ -41,11 +41,11 @@ static const Lights1 toad_player_black_lights_group = gdSPDefLights1( #define toad_player_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2 ALIGNED8 const Texture toad_player_texture_cap[] = { - #include "actors/toad_player/custom_toad_cap.ia16.inc.c" + #include "actors/toad_player/custom_toad_head.ia16.inc.c" }; ALIGNED8 const Texture toad_player_texture_spots[] = { - #include "actors/toad_player/custom_toad_spots.ia16.inc.c" + #include "actors/toad_player/custom_toad_head.ia16.inc.c" }; ALIGNED8 const Texture toad_player_texture_hair[] = { diff --git a/data/dynos_mgr_builtin_tex.cpp b/data/dynos_mgr_builtin_tex.cpp index d6b5549b3..9df3d9adf 100644 --- a/data/dynos_mgr_builtin_tex.cpp +++ b/data/dynos_mgr_builtin_tex.cpp @@ -1107,11 +1107,8 @@ static const struct BuiltinTexInfo sDynosBuiltinTexs[] = { define_builtin_tex(luigi_texture_l_logo, "actors/luigi/custom_luigi_logo.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), define_builtin_tex(luigi_texture_hair_sideburn, "actors/luigi/custom_luigi_sideburn.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), define_builtin_tex(luigi_texture_mustache, "actors/luigi/custom_luigi_mustache.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(toad_player_texture_cap, "actors/toad_player/custom_toad_cap.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), - define_builtin_tex(toad_player_texture_spots, "actors/toad_player/custom_toad_spots.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), + define_builtin_tex(toad_player_texture_head, "actors/toad_player/custom_toad_head.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), define_builtin_tex(toad_player_texture_hair, "actors/toad_player/custom_toad_hair.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), - define_builtin_tex(toad_player_texture_face_neutral, "actors/toad_player/custom_toad_face_neutral.rgba32.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b), - define_builtin_tex(toad_player_texture_face_dead, "actors/toad_player/custom_toad_face_dead.rgba32.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b), define_builtin_tex(toad_player_texture_eyes_front, "actors/toad_player/custom_toad_eyes_center.rgba32.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b), define_builtin_tex(toad_player_texture_eyes_half_closed, "actors/toad_player/custom_toad_eyes_half_closed.rgba32.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b), define_builtin_tex(toad_player_texture_eyes_closed, "actors/toad_player/custom_toad_eyes_closed.rgba32.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b), From 4f0035495b6b9a971c2186a944e13eda8f056af1 Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Wed, 20 May 2026 01:21:01 -0500 Subject: [PATCH 07/22] Temporary Placeholder stuff --- .../custom_toad_eyes_center.i4.png | Bin 588 -> 0 bytes .../custom_toad_eyes_center.rgba16.png | Bin 1493 -> 0 bytes .../custom_toad_eyes_center.rgba32.png | Bin 1493 -> 1537 bytes .../custom_toad_eyes_closed.rgba32.png | Bin 220 -> 1278 bytes .../custom_toad_eyes_half_closed.rgba32.png | Bin 308 -> 1391 bytes actors/waluigi/model.inc.c | 24 +++++++++--------- actors/waluigi_cap/model.inc.c | 16 ++++++------ actors/wario/model.inc.c | 22 ++++++++-------- actors/wario_cap/model.inc.c | 16 ++++++------ 9 files changed, 39 insertions(+), 39 deletions(-) delete mode 100644 actors/toad_player/custom_toad_eyes_center.i4.png delete mode 100644 actors/toad_player/custom_toad_eyes_center.rgba16.png diff --git a/actors/toad_player/custom_toad_eyes_center.i4.png b/actors/toad_player/custom_toad_eyes_center.i4.png deleted file mode 100644 index 0a57088dd082a78b67b6299f728aad8b2e38da0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 588 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DkxL735kHCP2GC{f}XQ4*Y=R#Ki=l*$m0n3-3i=jR%tV5(=R zXPJ|C%MPe!TWW-7ny0500|$`9${@wa%D@O@c>%FBlnru?1|u_AoC(M_WMpCx0Mb!F zoY~F-7S95*L10-KBf|@31dV1X15j!LI|B<)rGb&L0pkLQsURC!7eGv!0%U^#6VO~H zu*x7y3m^-s%h138B+JS+<_scVH?3Pg^+f2ZcVZLeLLZsJXaH@3#`MLWTFT<~c(_h-f>I;iMVA>tu zxJYBcDy^qFrxnf@pGt4FiJYb>?z-`jEt~yu3$AwE(@e(;4;b(WurN+iY222(yffKp zUheH9#=gbV+toKjT>omv(Nrgv=6gBJ*u7_u0Z(V>_0sp1_qw*H^s%X}-2fOr+6z!lvI6;>1s;*b3=Dh+K$tP>S|=w^P@=>&q9iy!t)x7$D3u`~F*C13&(AeP!Bo#s z&oU?PmK{*dw$upEG*3@01`Z&Hl|hP;m4Ok+@&aOMC>!J&4Mt|LI1`X<$jHPX0HmXU zIJ2DvES?2qgTVeWMur#62pY{&2B6dgb_N!pN&_Qf1I7gqQ$aSeE`XRc1;_>gCZM@Y zV3k3Z7C;tMm!W|HNOrZl^P=qgPji7G(c{^1zbk)hqUE{cu0v zwcTv{i|>b$yHt<8_*HG$)f>0${rs|8`5}qJ8p%-+D*P7iDWrmEFYO zpP84}ckTN1%-mexU-RuWCzXHuwJu0YzG1yijkL7%mR-BF{`$|CY0%fqWt_dRXvh1z zadC<9AEr&4w&(8MSVR8i+w<$bbcU}CEjgdy@{_Bz>C5&gUH$pz+kgC7J9WXdi+S5u zUd)*AdRNen*jxP8K@!V%@hMxhTh2Va~5TM!#hQLowI=`LcGL&Sf)>w%!i8dTyeRn htDnej_S?5 z{P>absU;3?_9<)?=MWT>Dy;LFkm~#BjdscFzoH*BH@+;1`VrCaX!C*Z0Zy0fn_lnq zt1+AHt2NatXvf^Mv5U*jDsGQc{BG%DXTQMg%#C#~KMA$|j?UuQscv+9LDbryjS*jd zHf47*gnhdDEWIUS>N$lS@87kTYuL7aeta}$%CC(&&!$_Qc`NtWTCD!%iHMn(oBOXD zajr~m{JB~&mF;Fs+osK&Zzi4XY>kS^w*QdW_n3t#{zSyQ!^Mjqm{#aEd(UPt7n;62 zBde_IO?s+TyK~i`&kPg3s332!)jaS@kOaIpg1v#H93#>TV36BjgABF!!Ig|U3$+}`>%t^ znwLY8O)qn!R@~DFos+x`Pr4eJzUb|K+aS`3^gT&J7cR|zD;!Ib6Vaha_7j=OAh;< z`! z*DYUVkjXqfSm2t4wYYv?O0(-`ZtWAljUSzuYdpewzo2r86B=JS^{bT-BX$yj{>bz`?%3LxxMO_YSv7t!c@=!w*bZUL3vQ zd2{m8T$T-{LMb2L{g-B(IQLg#N{#E`|LQ!8_Rr{+ZFKbLD7=yPLbd5d{Li`n;{$H{ZPZ-kW`= z0nl52#1-{^YxtkQISrVHIaOl}l73xR^~=F;k6>?H)fAY3gUpj(8q>2=jd)C#!u2)u zT^6nFZK$s{+#_J7%S+3&ncb#Pq;G%XgXBi2_u9sz2S4tcB~y*+9zlDFn`4{wrf>7n zgNHtQJ?c$6Ig^ZoBN`hU+h15%c$`kBSGoUx<%{R(#_5&2s7ATnEp~Eyu$L2ii;Ii* zQ>oNC_rH9x2Yb<`J$6I>V7DSmTF1$9;z*_M7dgKDNg;m;l=pdw(?T zNf@$VrY7g9pu`c4Mk~6mOT#oxJ#_Ufy8Zka=`k3#{vu08fryY$2=ilrG;I)PpQo9R z=3vhz8;{2eY>x@p_B7brkdSmmIFTHGr$W{yP^na+T%-XYe5hVDu`mpt@Xo4K2N4(S z+>=2H^$(C$!x-zB63Lsew=JIwg+iQ*G=TZp4^>TNLT2*a(pQ97l}<0X@7~=z6d%I* z6?0e^rF4YdgRE0ZAY~oldmcng87p(z*yFXFgyf2FV*G}9A&5j$r^IN4>L=`fPAtSb zJSRM~l_uCTJeKG1+#q-jUdzGNC4eiDYeO_NIz+~+9GyXsJ>g!OOx~hEr36Z$ofgGLg8yP(YviCV-HYL+WH$K497 zer`(?1mO1D(IFmEZ3i9xh&(&>5a|XMDYACF%CTsY8vw}_7ZOmrY_%(f*8?uv6BI%q zBVOo=0F-VatVB<-_wjHh_|N}BD9>3XgeTrw4Cfyp(BhAX7r|~`?;)vw*omnLp6D$X zfISH97`flMtTyKNzIo@O(0ElVC@A&XadleRb8cmS;b%u%J5 zr~5yAO~3xUjPTsD(`-jLM57L~z*fCexCA1zF-7oU-F zXp)K0sUQVcaIutM!;trX4rqgrhzI|ZqsXqK<76IeQEK)R^p6k?>(D||SLa2Da~A?| zS*RbWG=@naQ3rElcZ>LUssNXkaXERR^|QEmaU>fonwXqJ-X9SmOAY~fPEtW3wul1u zf)i307)Ts`1dpV{IJU_|d{NaY54dP$)I$$4kLOT*f Z{{Xh!_W`JnnsERC002ovPDHLkV1gH+X^H>< delta 1323 zcmV+`1=RY14Al#eNix6y01m(bYSxJf0000ObVXQnQ*UN;cVTj608n9RZgehAMN}X) zE-@}SY;M{<0002Ck$g5c5C8xGS^xk5X@>*=0RR91Y5)KL00000zjgrt=mP)%zjgrt z=mP)%P+@6qbS_RsR3J4jF)lfg>mvb_lMewUf2$`$qHEvfZ2$lSgh@m}R9HvtR?ll2 zM-+Z-Tw5z!jzBg@E-}_2u>wiKzB%r}@zL}@@X?Sk%b`(cC8geLLzpwqBh-r@6F6=ccWi1lwA73?99&2eDlql_ulMV9zbsp ze{bvhjp2U*ulRs-RMsuVBxSB-bo*im^AY&wbxVT<807E&>@6)Xdg)X~3b%LBcTsfb zd#JxE_(#A>w>G!v_rha}CC2FbdpU}YUZ(HA{ehgiqel&oC|~y49ML~x;QKDbH==7Q zl^wDVk7;ghj@H-LX>Dyy`ky{2l6Us{f38w0AAqkcd>b1Zw7R+~{ZF49fG;U+0h^(6 zxbNLwUSVJGmX?;h-Q8U=4};sEe)Ne~sa15(U_|)}g@W|AS}iZ1&xiQ@t(Bmb(Qdb? z(P)tCx>C4Z+7CNY7^k`pBRGdSnai}zS`2*zlSHi(Y1y_-+uPeRkg>C~gT6ncf32Vw zZ1F?Q@#}a()y${+n2$MF0CNi8pB+94Lw1qW zK-`n*DY5BvTKHIi;iqjt?9w_YLlIYd4`pf=3df3E5B5{3I)Y7Dt2GRL4=tx~aA^!b8oi2zpe)#hh} zSe4EoxbN}O>=y?}N3}7ee=?OG=huYJ{5*?^mQHa3_Xk-k{eK4DV%>qK$mNd7r}0j zY+R1<5O`v+3;u6!TmfreJ`S3g4DZ<$oZ|1f0t`n@(4S!ScNyK ztl7f?Q2ke#nym_b{mtj}%THSfπTNxfl&oKmA+rUyUX!+*h^+%cRzWj>BJ=tB`7 zzyN%7F}YoPMD~$G4nn7i6x_tc(m=lFOg9KIaUT3n&LX?c&XaSvN2|*ppnryFIs;$m z_|>aUC>M${S!^7se>8Zb%1D8_});K#CFOFn`MY9Vl$on(m$dW_& zvOqaKtF&; z9113l+zT{)HFUni;57v3#n?&NlcjA0ur(57@$UZ{0g;{hEn#GQMZ^Cm45Gi7iyeVM hNQiORZs;X~=wJDr{$49msaXI3002ovPDHLkV1nPnYZm|j diff --git a/actors/toad_player/custom_toad_eyes_closed.rgba32.png b/actors/toad_player/custom_toad_eyes_closed.rgba32.png index 20164b510c32fdcda70227f0fc31a21e12012f20..0947bdcdf61b076019743793ab36219178f9b554 100644 GIT binary patch delta 1208 zcmcb^_>Xf!SiNM4YeY$Kep*R+Vo@qXKw@TIiJqTph=Qq}p`M|UFr#}30|Ud3)CkWs zPfsld4j_k>L5h);ff2~^0%B<>I|#_uU}Of1GXdF#j7$uIKspMDGuv6f;yFMz2=taQ zGQ400)Ae8my0r`pK-mfG3@kv!21dpPj0+$JgDhoT05NPDkPQM%K%<$!DuXO7fGnsk zLjwbl?9K~|jf^jQYyz6N%G1R$B*Oh|n76-hpoHyHMOm&B%Jmwp9aB6y^lFY~1c`TL z|7Vmgf5%(c+S#eo;~Bei!iu{SUmSC3)>huJk&~q-abbv9vjUHx7ia%DhOIwp%ir-_ zUU)f7$T`X4rOmrDwR7IrJl`FBpO2BfL#Wc$Kt{+yrNHAsy}|~)^}n43trzOm1^k%j zUvyAp{(qC*?W1Oqj6ZNwBEMQnnjY{{FoZ zzjCQ`zECAcM7O#sBXiX*rW+4dTu&4blur65^@BOIWNll}HqY>=Ih;RUf10GR*IzrtMbGDFi zir^+i= z-W!mKU!*Dl4t|oJ-9ixn<`bq27H!?d}`Grrp$}C-Wd)eahyzj-g!wxe3 z-dVqfFU(_`?vs^F?o0TTjyklfWM5nD(e0EeC{XR{$YgXXCeUyW*NqQq8XSU>3!MU4 zPQ2V@m;P(z!dAa)4R8L4w}kllpXpwG>B7!-hrWD9eW!~$evbZ`&y=NYE>wyzXnWiX zd@O&qjPHrU2J4R(emiDN4iTL9K`CWh>8d$5mOHMfH!hTjvCTg7U)jsGN% zdu7S#FS4!pZpM^bHb>2bz4EZqroI%VzJ=z0e~8H+cXDc;IK%jOaMoP8qRIxV3*K|t zq`i{^(oHi$thBvd)Ep=4U2-{>-@yK-$e3$e*@Kd7^(`|C@9e0WJkOlD*YVS#b?d*) zn(#@FV?xS5hx!RV9?cysj%Ti(EX)u&%j7vL=G3=#p@ia(k3u;vE?UTa{h~|q%gTe~DWM4f!!6&M delta 142 zcmV;90CE5R3ETmYR)29xL_t(oNA1wj34kyRMbU_h=qS$O2(IP|&Y>f?f#zWf#UEP{ z{J94nDQO9z1^~d{+NgtP^sJs;jZEj6uA^;HpH$CNbMYKe=Sbeun^LdlY3uYLk9xYR wRWz@OnrN#&BKkt5^y}}wo(BK`zGij;QnM#j)llgp00000Ne4wvM6N<$f=g;cIRF3v diff --git a/actors/toad_player/custom_toad_eyes_half_closed.rgba32.png b/actors/toad_player/custom_toad_eyes_half_closed.rgba32.png index a9e528f5e74f2cdcb48c91a662dc47a6321b6fff..a0fc4e98b9d56ffa90ac669d531bf7ac49053ca7 100644 GIT binary patch delta 1322 zcmdnO^qy-%SiNM4YeY$Kep*R+Vo@qXKw@TIiJqTph=Qq}p`M|UFr#}30|Ud3)CkWs zPfsld4j_k>L5h);ff2~^0%B<>I|#_uU}Of1GXdF#j7$uIKspMDGuv6f;yFMz2=taQ zGQ400)Ae8my0r`pK-mfG3@kv!21dpPj0+$JgDhoT05NPDkPQM%K%<$!DuXO7fGnsk zLjwbl?9K~|jf^jQY+_(wk@j?P42f`m8|IrW9WG*(Oj zy}i6Y_T{%%KisAF?D_MJ^*eTCxU)T;`-ijf*12zmnWv^UmBg$J**0zZ^!H^}vhK5N z?(Zv2Uwv&wXC~XXw|lw2hMWA`abfb;uU}`|{@eHBmvoSq1hdueUr#FIDpOORo;Khq zz7!uFz58+H`BT4wE}Cuci#apr$2@t{@{j4qkIetU(R4s?{;T(u*XPSM?vFkiQ~#9h zm9Ow7r-c`iW^6fZuxsaM_tv%c^AG7>D*V9K7&WnD(uNbKQ(5|q+47gSWzUaYZtuJ; zMC$K=6%@37p{klY7OPxMP3U zzfXMUCFxw>{{O*?jyCyCvT+YoFJ`QMyny4W#RoyPPdUMpZ`59N_+22+dMjq;?w$vr;fAZwO0gr0x)0?lzM8%-&5`Tlj+1=76W+Q@d~ly~BeSXgM5e%jNv1zn9emy_M%m#_DJ)4})K|24xGgTwVhX7`uqDV=)c&FBtP9ou)DOAoWf<93mUr3w z7isKSzfkAU-97(iyB-x;rk9emX)Z&j!q&&3{|)}~qzJsQs{3-=`NwTF?M)Z^C%j}o zGe^B&ev`@O3eRsH6HK)>dDaV`wG&i$Jw0@bmFb^9r?*Gceo($#e0j>v#*U6H8?Uc< zbaB1?!}YJ0)g>>fnq{OL8qzDO$$OzepV^O3+W+C(Ums>#=}vnfX0KDd{-wrG-WSbt zy3%>xnXG>Oh3C&)-#als<~*K!pv7Car1a}Hj>>ml4T`6EH%}3>>{M|w`o7KlVSTZA zX0~ zrM8d5!^G|3iFg0ynO4p{mMM~XROz3(Pm+Q1%>QL9f>j+ZO=q3#g%0fZPq#R3c=q37 PP}$+>>gTe~DWM4fGmAoW delta 230 zcmV3upi@d`L_07l2I zOr%2-e7{l*iA`uLo9|0L`tR{eDJ4M={+>fpMF4=h(HdYL=mP=7yY}X}UzmT1GV%IOBkGWDd^I{hZ1xwK@_zQdI g34$O9g0LqpF diff --git a/actors/waluigi/model.inc.c b/actors/waluigi/model.inc.c index 2a953636c..b1f496ffa 100644 --- a/actors/waluigi/model.inc.c +++ b/actors/waluigi/model.inc.c @@ -42,38 +42,38 @@ static const Lights1 waluigi_black_lights_group = gdSPDefLights1( ); #include "actors/mario/mario_externs.h" -#define waluigi_texture_metal_shade mario_texture_metal_shade -#define waluigi_texture_metal_light mario_texture_metal_light +#define waluigi_texture_metal_shade mario_texture_metal +#define waluigi_texture_metal_light mario_texture_metal #define waluigi_texture_yellow_button mario_texture_yellow_button #define waluigi_texture_wings_half_1 mario_texture_wings_half_1 #define waluigi_texture_wings_half_2 mario_texture_wings_half_2 -#define waluigi_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1_shade -#define waluigi_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1_light -#define waluigi_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2_shade -#define waluigi_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2_light +#define waluigi_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1 +#define waluigi_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1 +#define waluigi_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2 +#define waluigi_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2 ALIGNED8 const Texture waluigi_texture_r_logo[] = { -#include "actors/waluigi/custom_waluigi_logo.rgba16.inc.c" +#include "actors/waluigi/custom_waluigi_logo.ia16.inc.c" }; ALIGNED8 const Texture waluigi_texture_r_blend[] = { -#include "actors/waluigi/custom_waluigi_logo_blend.rgba16.inc.c" +#include "actors/waluigi/custom_waluigi_logo.ia16.inc.c" }; ALIGNED8 const Texture waluigi_texture_r_cap[] = { -#include "actors/waluigi/custom_waluigi_cap.rgba16.inc.c" +#include "actors/waluigi/custom_waluigi_logo.ia16.inc.c" }; ALIGNED8 const Texture waluigi_texture_hair_sideburn[] = { -#include "actors/waluigi/custom_waluigi_sideburn.rgba16.inc.c" +#include "actors/waluigi/custom_waluigi_sideburn.ia16.inc.c" }; ALIGNED8 const Texture waluigi_texture_add_sideburn[] = { -#include "actors/waluigi/custom_waluigi_sideburn_add.rgba16.inc.c" +#include "actors/waluigi/custom_waluigi_sideburn.ia16.inc.c" }; ALIGNED8 const Texture waluigi_texture_skin_sideburn[] = { -#include "actors/waluigi/custom_waluigi_skin.rgba16.inc.c" +#include "actors/waluigi/custom_waluigi_sideburn.ia16.inc.c" }; ALIGNED8 const Texture waluigi_texture_mouth[] = { diff --git a/actors/waluigi_cap/model.inc.c b/actors/waluigi_cap/model.inc.c index bf88d5ba1..001d08be5 100644 --- a/actors/waluigi_cap/model.inc.c +++ b/actors/waluigi_cap/model.inc.c @@ -8,17 +8,17 @@ static const Lights1 waluigi_cap_black_lights_group = gdSPDefLights1( #include "actors/mario/mario_externs.h" #include "actors/waluigi/waluigi_externs.h" -#define waluigi_cap_texture_metal_shade mario_texture_metal_shade -#define waluigi_cap_texture_metal_light mario_texture_metal_light +#define waluigi_cap_texture_metal_shade mario_texture_metal +#define waluigi_cap_texture_metal_light mario_texture_metal #define waluigi_cap_texture_r_logo waluigi_texture_r_logo -#define waluigi_cap_texture_r_blend waluigi_texture_r_blend -#define waluigi_cap_texture_r_cap waluigi_texture_r_cap +#define waluigi_cap_texture_r_blend waluigi_texture_r_logo +#define waluigi_cap_texture_r_cap waluigi_texture_r_logo #define waluigi_cap_texture_wings_half_1 mario_texture_wings_half_1 #define waluigi_cap_texture_wings_half_2 mario_texture_wings_half_2 -#define waluigi_cap_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1_shade -#define waluigi_cap_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1_light -#define waluigi_cap_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2_shade -#define waluigi_cap_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2_light +#define waluigi_cap_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1 +#define waluigi_cap_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1 +#define waluigi_cap_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2 +#define waluigi_cap_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2 // 0x03022750 ROM_ASSET_LOAD_VTX(waluigi_cap_seg3_vertex_03022750, 0x00114750, 78432, 0x0001bf50, 112); diff --git a/actors/wario/model.inc.c b/actors/wario/model.inc.c index e61f91788..9aac00405 100644 --- a/actors/wario/model.inc.c +++ b/actors/wario/model.inc.c @@ -42,37 +42,37 @@ static const Lights1 wario_black_lights_group = gdSPDefLights1( ); #include "actors/mario/mario_externs.h" -#define wario_texture_metal_shade mario_texture_metal_shade -#define wario_texture_metal_light mario_texture_metal_light +#define wario_texture_metal_shade mario_texture_metal +#define wario_texture_metal_light mario_texture_metal #define wario_texture_wings_half_1 mario_texture_wings_half_1 #define wario_texture_wings_half_2 mario_texture_wings_half_2 -#define wario_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1_shade -#define wario_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1_light -#define wario_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2_shade -#define wario_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2_light +#define wario_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1 +#define wario_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1 +#define wario_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2 +#define wario_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2 ALIGNED8 const Texture wario_texture_white_button[] = { #include "actors/wario/custom_wario_overalls_button.rgba16.inc.c" }; ALIGNED8 const Texture wario_texture_w_logo[] = { -#include "actors/wario/custom_wario_logo.rgba16.inc.c" +#include "actors/wario/custom_wario_logo.ia16.inc.c" }; ALIGNED8 const Texture wario_texture_w_blend[] = { -#include "actors/wario/custom_wario_logo_blend.rgba16.inc.c" +#include "actors/wario/custom_wario_logo.ia16.inc.c" }; ALIGNED8 const Texture wario_texture_w_cap[] = { -#include "actors/wario/custom_wario_cap.rgba16.inc.c" +#include "actors/wario/custom_wario_logo.ia16.inc.c" }; ALIGNED8 const Texture wario_texture_hair_sideburn[] = { -#include "actors/wario/custom_wario_sideburn.rgba16.inc.c" +#include "actors/wario/custom_wario_sideburn.ia16.inc.c" }; ALIGNED8 const Texture wario_texture_add_sideburn[] = { -#include "actors/wario/custom_wario_sideburn_add.rgba16.inc.c" +#include "actors/wario/custom_wario_sideburn.ia16.inc.c" }; ALIGNED8 const Texture wario_texture_skin_sideburn[] = { diff --git a/actors/wario_cap/model.inc.c b/actors/wario_cap/model.inc.c index f8756f354..b0de26ce8 100644 --- a/actors/wario_cap/model.inc.c +++ b/actors/wario_cap/model.inc.c @@ -8,17 +8,17 @@ static const Lights1 wario_cap_black_lights_group = gdSPDefLights1( #include "actors/mario/mario_externs.h" #include "actors/wario/wario_externs.h" -#define wario_cap_texture_metal_shade mario_texture_metal_shade -#define wario_cap_texture_metal_light mario_texture_metal_light +#define wario_cap_texture_metal_shade mario_texture_metal +#define wario_cap_texture_metal_light mario_texture_metal #define wario_cap_texture_w_logo wario_texture_w_logo -#define wario_cap_texture_w_blend wario_texture_w_blend -#define wario_cap_texture_w_cap wario_texture_w_cap +#define wario_cap_texture_w_blend wario_texture_w_logo +#define wario_cap_texture_w_cap wario_texture_w_logo #define wario_cap_texture_wings_half_1 mario_texture_wings_half_1 #define wario_cap_texture_wings_half_2 mario_texture_wings_half_2 -#define wario_cap_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1_shade -#define wario_cap_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1_light -#define wario_cap_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2_shade -#define wario_cap_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2_light +#define wario_cap_texture_metal_wings_half_1_shade mario_texture_metal_wings_half_1 +#define wario_cap_texture_metal_wings_half_1_light mario_texture_metal_wings_half_1 +#define wario_cap_texture_metal_wings_half_2_shade mario_texture_metal_wings_half_2 +#define wario_cap_texture_metal_wings_half_2_light mario_texture_metal_wings_half_2 // 0x03022750 ROM_ASSET_LOAD_VTX(wario_cap_seg3_vertex_03022750, 0x00114750, 78432, 0x0001bf50, 112); From 050cdab55b58391069795a32c2181ea9abfc7b5d Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Wed, 20 May 2026 01:22:14 -0500 Subject: [PATCH 08/22] Update model.inc.c --- actors/wario/model.inc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/actors/wario/model.inc.c b/actors/wario/model.inc.c index 9aac00405..abfeb8d1b 100644 --- a/actors/wario/model.inc.c +++ b/actors/wario/model.inc.c @@ -76,7 +76,7 @@ ALIGNED8 const Texture wario_texture_add_sideburn[] = { }; ALIGNED8 const Texture wario_texture_skin_sideburn[] = { -#include "actors/wario/custom_wario_skin.rgba16.inc.c" +#include "actors/wario/custom_wario_sideburn.ia16.inc.c" }; ALIGNED8 const Texture wario_texture_mouth[] = { From a8cec2818ca1384750a3f3f4bc5f601d6b26ab95 Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Wed, 20 May 2026 01:37:02 -0500 Subject: [PATCH 09/22] Fix undefined stuff --- data/dynos_mgr_builtin_tex.cpp | 2 +- include/display_lists.inl | 27 ++++++++++++++++++--------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/data/dynos_mgr_builtin_tex.cpp b/data/dynos_mgr_builtin_tex.cpp index 9df3d9adf..aa823b080 100644 --- a/data/dynos_mgr_builtin_tex.cpp +++ b/data/dynos_mgr_builtin_tex.cpp @@ -1107,7 +1107,7 @@ static const struct BuiltinTexInfo sDynosBuiltinTexs[] = { define_builtin_tex(luigi_texture_l_logo, "actors/luigi/custom_luigi_logo.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), define_builtin_tex(luigi_texture_hair_sideburn, "actors/luigi/custom_luigi_sideburn.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), define_builtin_tex(luigi_texture_mustache, "actors/luigi/custom_luigi_mustache.rgba16.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_16b), - define_builtin_tex(toad_player_texture_head, "actors/toad_player/custom_toad_head.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), +// define_builtin_tex(toad_player_texture_head, "actors/toad_player/custom_toad_head.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), define_builtin_tex(toad_player_texture_hair, "actors/toad_player/custom_toad_hair.ia16.png", 32, 32, G_IM_FMT_IA, G_IM_SIZ_16b), define_builtin_tex(toad_player_texture_eyes_front, "actors/toad_player/custom_toad_eyes_center.rgba32.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b), define_builtin_tex(toad_player_texture_eyes_half_closed, "actors/toad_player/custom_toad_eyes_half_closed.rgba32.png", 32, 32, G_IM_FMT_RGBA, G_IM_SIZ_32b), diff --git a/include/display_lists.inl b/include/display_lists.inl index 688fc1e32..df371a7a5 100644 --- a/include/display_lists.inl +++ b/include/display_lists.inl @@ -1255,7 +1255,6 @@ DISPLAY_LIST(lll_seg7_dl_07025BD8) DISPLAY_LIST(lll_seg7_dl_07025EC0) DISPLAY_LIST(luigi_butt) DISPLAY_LIST(luigi_butt_dl) -DISPLAY_LIST(luigi_cap_l_logo_decal) DISPLAY_LIST(luigi_cap_material_revert_render_settings) DISPLAY_LIST(luigi_cap_off_eyes_closed) DISPLAY_LIST(luigi_cap_off_eyes_dead) @@ -1265,6 +1264,14 @@ DISPLAY_LIST(luigi_cap_off_eyes_half_closed) DISPLAY_LIST(luigi_cap_off_eyes_left) DISPLAY_LIST(luigi_cap_off_eyes_right) DISPLAY_LIST(luigi_cap_off_eyes_up) +DISPLAY_LIST(luigi_cap_off_eyes_closed_transparent) +DISPLAY_LIST(luigi_cap_off_eyes_dead_transparent) +DISPLAY_LIST(luigi_cap_off_eyes_down_transparent) +DISPLAY_LIST(luigi_cap_off_eyes_front_transparent) +DISPLAY_LIST(luigi_cap_off_eyes_half_closed_transparent) +DISPLAY_LIST(luigi_cap_off_eyes_left_transparent) +DISPLAY_LIST(luigi_cap_off_eyes_right_transparent) +DISPLAY_LIST(luigi_cap_off_eyes_up_transparent) DISPLAY_LIST(luigi_cap_on_eyes_closed) DISPLAY_LIST(luigi_cap_on_eyes_dead) DISPLAY_LIST(luigi_cap_on_eyes_down) @@ -1273,6 +1280,14 @@ DISPLAY_LIST(luigi_cap_on_eyes_half_closed) DISPLAY_LIST(luigi_cap_on_eyes_left) DISPLAY_LIST(luigi_cap_on_eyes_right) DISPLAY_LIST(luigi_cap_on_eyes_up) +DISPLAY_LIST(luigi_cap_on_eyes_closed)_transparent +DISPLAY_LIST(luigi_cap_on_eyes_dead_transparent) +DISPLAY_LIST(luigi_cap_on_eyes_down_transparent) +DISPLAY_LIST(luigi_cap_on_eyes_front_transparent) +DISPLAY_LIST(luigi_cap_on_eyes_half_closed_transparent) +DISPLAY_LIST(luigi_cap_on_eyes_left_transparent) +DISPLAY_LIST(luigi_cap_on_eyes_right_transparent) +DISPLAY_LIST(luigi_cap_on_eyes_up_transparent) DISPLAY_LIST(luigi_cap_seg3_dl_03022B30) DISPLAY_LIST(luigi_cap_seg3_dl_03022B68) DISPLAY_LIST(luigi_cap_seg3_dl_03022CC8) @@ -1280,7 +1295,6 @@ DISPLAY_LIST(luigi_cap_seg3_dl_03022D10) DISPLAY_LIST(luigi_cap_seg3_dl_03022E78) DISPLAY_LIST(luigi_cap_seg3_dl_03022EA8) DISPLAY_LIST(luigi_cap_seg3_dl_03022ED8) -DISPLAY_LIST(luigi_cap_seg3_dl_03022ED8_metal) DISPLAY_LIST(luigi_cap_seg3_dl_03022F20) DISPLAY_LIST(luigi_cap_seg3_dl_03022F48) DISPLAY_LIST(luigi_cap_seg3_dl_03022FF8) @@ -1303,7 +1317,6 @@ DISPLAY_LIST(luigi_hair_sideburn_cap_off_dl) DISPLAY_LIST(luigi_hair_sideburn_cap_on_dl) DISPLAY_LIST(luigi_hair_sideburn_decal_cap_off) DISPLAY_LIST(luigi_hair_sideburn_decal_cap_on) -DISPLAY_LIST(luigi_l_logo_decal) DISPLAY_LIST(luigi_l_logo_dl) DISPLAY_LIST(luigi_left_arm) DISPLAY_LIST(luigi_left_arm_shared_dl) @@ -1327,7 +1340,6 @@ DISPLAY_LIST(luigi_metal_left_thigh) DISPLAY_LIST(luigi_metal_right_foot) DISPLAY_LIST(luigi_metal_right_hand_cap_shared_dl) DISPLAY_LIST(luigi_metal_right_hand_cap_shared_dl_wings) -DISPLAY_LIST(luigi_metal_right_hand_cap_shared_dl_wings_transparent) DISPLAY_LIST(luigi_metal_right_hand_closed) DISPLAY_LIST(luigi_metal_right_hand_open) DISPLAY_LIST(luigi_metal_torso_shared_dl) @@ -1345,15 +1357,12 @@ DISPLAY_LIST(luigi_right_hand_cap_decal) DISPLAY_LIST(luigi_right_hand_cap_dl) DISPLAY_LIST(luigi_right_hand_cap_hand_position_dl) DISPLAY_LIST(luigi_right_hand_cap_l_logo_dl) -DISPLAY_LIST(luigi_right_hand_cap_metal_wings_intial_dl) DISPLAY_LIST(luigi_right_hand_cap_top_dl) DISPLAY_LIST(luigi_right_hand_cap_wings) DISPLAY_LIST(luigi_right_hand_cap_wings_end_dl) DISPLAY_LIST(luigi_right_hand_cap_wings_half_1_dl) DISPLAY_LIST(luigi_right_hand_cap_wings_half_2_dl) -DISPLAY_LIST(luigi_right_hand_cap_wings_intial_dl) -DISPLAY_LIST(luigi_right_hand_cap_wings_transparent) -DISPLAY_LIST(luigi_right_hand_cap_wings_transparent_intial_dl) +DISPLAY_LIST(luigi_right_hand_cap_wings_initial_dl) DISPLAY_LIST(luigi_right_hand_closed) DISPLAY_LIST(luigi_right_hand_closed_dl) DISPLAY_LIST(luigi_right_hand_open) @@ -1525,7 +1534,7 @@ DISPLAY_LIST(mario_right_hand_cap_wings) DISPLAY_LIST(mario_right_hand_cap_wings_end_dl) DISPLAY_LIST(mario_right_hand_cap_wings_half_1_dl) DISPLAY_LIST(mario_right_hand_cap_wings_half_2_dl) -DISPLAY_LIST(mario_right_hand_cap_wings_intial_dl) +DISPLAY_LIST(mario_right_hand_cap_wings_initial_dl) DISPLAY_LIST(mario_right_hand_closed) DISPLAY_LIST(mario_right_hand_closed_dl) DISPLAY_LIST(mario_right_hand_open) From f15558ee4fcc4a238fe8a85e476554f1003d9616 Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Wed, 20 May 2026 01:41:16 -0500 Subject: [PATCH 10/22] Update display_lists.inl --- include/display_lists.inl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/display_lists.inl b/include/display_lists.inl index df371a7a5..f029bef2c 100644 --- a/include/display_lists.inl +++ b/include/display_lists.inl @@ -1280,7 +1280,7 @@ DISPLAY_LIST(luigi_cap_on_eyes_half_closed) DISPLAY_LIST(luigi_cap_on_eyes_left) DISPLAY_LIST(luigi_cap_on_eyes_right) DISPLAY_LIST(luigi_cap_on_eyes_up) -DISPLAY_LIST(luigi_cap_on_eyes_closed)_transparent +DISPLAY_LIST(luigi_cap_on_eyes_closed_transparent) DISPLAY_LIST(luigi_cap_on_eyes_dead_transparent) DISPLAY_LIST(luigi_cap_on_eyes_down_transparent) DISPLAY_LIST(luigi_cap_on_eyes_front_transparent) From 5576e3131a300fcb83689f24d799e0a15d638313 Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Wed, 20 May 2026 01:48:13 -0500 Subject: [PATCH 11/22] Update display_lists.inl --- include/display_lists.inl | 3 --- 1 file changed, 3 deletions(-) diff --git a/include/display_lists.inl b/include/display_lists.inl index f029bef2c..c44a3f013 100644 --- a/include/display_lists.inl +++ b/include/display_lists.inl @@ -1315,8 +1315,6 @@ DISPLAY_LIST(luigi_face_part_cap_off_dl) DISPLAY_LIST(luigi_face_part_cap_on_dl) DISPLAY_LIST(luigi_hair_sideburn_cap_off_dl) DISPLAY_LIST(luigi_hair_sideburn_cap_on_dl) -DISPLAY_LIST(luigi_hair_sideburn_decal_cap_off) -DISPLAY_LIST(luigi_hair_sideburn_decal_cap_on) DISPLAY_LIST(luigi_l_logo_dl) DISPLAY_LIST(luigi_left_arm) DISPLAY_LIST(luigi_left_arm_shared_dl) @@ -1353,7 +1351,6 @@ DISPLAY_LIST(luigi_right_foot_dl) DISPLAY_LIST(luigi_right_forearm_shared_dl) DISPLAY_LIST(luigi_right_hand_cap) DISPLAY_LIST(luigi_right_hand_cap_bottom_dl) -DISPLAY_LIST(luigi_right_hand_cap_decal) DISPLAY_LIST(luigi_right_hand_cap_dl) DISPLAY_LIST(luigi_right_hand_cap_hand_position_dl) DISPLAY_LIST(luigi_right_hand_cap_l_logo_dl) From f3d82d8242ad458a23112c61374267c38ead97bd Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Wed, 20 May 2026 02:28:05 -0500 Subject: [PATCH 12/22] Update model.inc.c --- actors/mario/model.inc.c | 600 ++++++++++----------------------------- 1 file changed, 144 insertions(+), 456 deletions(-) diff --git a/actors/mario/model.inc.c b/actors/mario/model.inc.c index 9514b0ed6..e2b911a3c 100644 --- a/actors/mario/model.inc.c +++ b/actors/mario/model.inc.c @@ -1034,6 +1034,20 @@ const Gfx mario_face_back_hair_cap_on_dl[] = { // 0x04011960 - 0x040119A0 const Gfx mario_face_cap_on_dl[] = { gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPDisplayList(mario_face_part_cap_on_dl), gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(mario_face_cap_dl), @@ -1062,24 +1076,12 @@ const Gfx mario_cap_on_eyes_front[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), @@ -1112,24 +1114,12 @@ const Gfx mario_cap_on_eyes_half_closed[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), @@ -1162,24 +1152,12 @@ const Gfx mario_cap_on_eyes_closed[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), @@ -1212,24 +1190,12 @@ const Gfx mario_cap_on_eyes_right[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), @@ -1262,24 +1228,12 @@ const Gfx mario_cap_on_eyes_left[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), @@ -1312,24 +1266,12 @@ const Gfx mario_cap_on_eyes_up[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), @@ -1362,24 +1304,12 @@ const Gfx mario_cap_on_eyes_down[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), @@ -1412,24 +1342,12 @@ const Gfx mario_cap_on_eyes_dead[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), @@ -1442,6 +1360,29 @@ const Gfx mario_cap_on_eyes_dead[] = { gsSPEndDisplayList(), }; +// 0x04011960 - 0x040119A0 +const Gfx mario_face_cap_on_transparent_dl[] = { + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPDisplayList(mario_face_part_cap_on_dl), + gsSPCopyLightsPlayerPart(CAP), + gsSPDisplayList(mario_face_cap_dl), + gsSPCopyLightsPlayerPart(HAIR), + gsSPDisplayList(mario_face_back_hair_cap_on_dl), + gsSPEndDisplayList(), +}; + // 0x040119A0 - 0x04011A90 const Gfx mario_cap_on_eyes_front_transparent[] = { gsDPPipeSync(), @@ -1462,22 +1403,12 @@ const Gfx mario_cap_on_eyes_front_transparent[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), @@ -1486,7 +1417,7 @@ const Gfx mario_cap_on_eyes_front_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(mario_face_cap_on_dl), + gsSPDisplayList(mario_face_cap_on_transparent_dl), gsSPEndDisplayList(), }; @@ -1510,22 +1441,12 @@ const Gfx mario_cap_on_eyes_half_closed_transparent[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), @@ -1534,7 +1455,7 @@ const Gfx mario_cap_on_eyes_half_closed_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(mario_face_cap_on_dl), + gsSPDisplayList(mario_face_cap_on_transparent_dl), gsSPEndDisplayList(), }; @@ -1557,22 +1478,12 @@ const Gfx mario_cap_on_eyes_closed_transparent[] = { gsSPDisplayList(mario_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), @@ -1581,7 +1492,7 @@ const Gfx mario_cap_on_eyes_closed_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(mario_face_cap_on_dl), + gsSPDisplayList(mario_face_cap_on_transparent_dl), gsSPEndDisplayList(), }; @@ -1605,22 +1516,12 @@ const Gfx mario_cap_on_eyes_right_transparent[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), @@ -1629,7 +1530,7 @@ const Gfx mario_cap_on_eyes_right_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(mario_face_cap_on_dl), + gsSPDisplayList(mario_face_cap_on_transparent_dl), gsSPEndDisplayList(), }; @@ -1653,22 +1554,12 @@ const Gfx mario_cap_on_eyes_left_transparent[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), @@ -1677,7 +1568,7 @@ const Gfx mario_cap_on_eyes_left_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(mario_face_cap_on_dl), + gsSPDisplayList(mario_face_cap_on_transparent_dl), gsSPEndDisplayList(), }; @@ -1701,22 +1592,12 @@ const Gfx mario_cap_on_eyes_up_transparent[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), @@ -1725,7 +1606,7 @@ const Gfx mario_cap_on_eyes_up_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(mario_face_cap_on_dl), + gsSPDisplayList(mario_face_cap_on_transparent_dl), gsSPEndDisplayList(), }; @@ -1749,22 +1630,12 @@ const Gfx mario_cap_on_eyes_down_transparent[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), @@ -1773,7 +1644,7 @@ const Gfx mario_cap_on_eyes_down_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(mario_face_cap_on_dl), + gsSPDisplayList(mario_face_cap_on_transparent_dl), gsSPEndDisplayList(), }; @@ -1797,22 +1668,12 @@ const Gfx mario_cap_on_eyes_dead_transparent[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), @@ -1821,7 +1682,7 @@ const Gfx mario_cap_on_eyes_dead_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(mario_face_cap_on_dl), + gsSPDisplayList(mario_face_cap_on_transparent_dl), gsSPEndDisplayList(), }; @@ -2050,6 +1911,20 @@ const Gfx mario_face_hair_cap_off_dl[] = { // 0x040139C0 - 0x040139E8 const Gfx mario_face_cap_off_dl[] = { gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPDisplayList(mario_face_part_cap_off_dl), gsSPCopyLightsPlayerPart(HAIR), gsSPDisplayList(mario_face_hair_cap_off_dl), @@ -2074,20 +1949,6 @@ const Gfx mario_cap_off_eyes_front[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2112,20 +1973,6 @@ const Gfx mario_cap_off_eyes_half_closed[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2150,20 +1997,6 @@ const Gfx mario_cap_off_eyes_closed[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2189,20 +2022,6 @@ const Gfx mario_cap_off_eyes_right[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2228,20 +2047,6 @@ const Gfx mario_cap_off_eyes_left[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2267,20 +2072,6 @@ const Gfx mario_cap_off_eyes_up[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2306,20 +2097,6 @@ const Gfx mario_cap_off_eyes_down[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2345,9 +2122,18 @@ const Gfx mario_cap_off_eyes_dead[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(mario_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x040139C0 - 0x040139E8 +const Gfx mario_face_cap_off_transparent_dl[] = { + gsSPDisplayList(mario_hair_sideburn_cap_off_dl), gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 115, 6, 0, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), @@ -2358,11 +2144,9 @@ const Gfx mario_cap_off_eyes_dead[] = { gsDPSetTileSize(0, 0, 0, 124, 124), gsSPDisplayList(mario_hair_sideburn_cap_off_dl), gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(mario_face_cap_off_dl), + gsSPDisplayList(mario_face_part_cap_off_dl), + gsSPCopyLightsPlayerPart(HAIR), + gsSPDisplayList(mario_face_hair_cap_off_dl), gsSPEndDisplayList(), }; @@ -2384,22 +2168,10 @@ const Gfx mario_cap_off_eyes_front_transparent[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(mario_face_cap_off_dl), + gsSPDisplayList(mario_face_cap_off_transparent_dl), gsSPEndDisplayList(), }; @@ -2420,22 +2192,10 @@ const Gfx mario_cap_off_eyes_half_closed_transparent[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(mario_face_cap_off_dl), + gsSPDisplayList(mario_face_cap_off_transparent_dl), gsSPEndDisplayList(), }; @@ -2456,22 +2216,10 @@ const Gfx mario_cap_off_eyes_closed_transparent[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(mario_face_cap_off_dl), + gsSPDisplayList(mario_face_cap_off_transparent_dl), gsSPEndDisplayList(), }; @@ -2493,22 +2241,10 @@ const Gfx mario_cap_off_eyes_right_transparent[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(mario_face_cap_off_dl), + gsSPDisplayList(mario_face_cap_off_transparent_dl), gsSPEndDisplayList(), }; @@ -2530,22 +2266,10 @@ const Gfx mario_cap_off_eyes_left_transparent[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(mario_face_cap_off_dl), + gsSPDisplayList(mario_face_cap_off_transparent_dl), gsSPEndDisplayList(), }; @@ -2567,22 +2291,10 @@ const Gfx mario_cap_off_eyes_up_transparent[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(mario_face_cap_off_dl), + gsSPDisplayList(mario_face_cap_off_transparent_dl), gsSPEndDisplayList(), }; @@ -2604,22 +2316,10 @@ const Gfx mario_cap_off_eyes_down_transparent[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(mario_face_cap_off_dl), + gsSPDisplayList(mario_face_cap_off_transparent_dl), gsSPEndDisplayList(), }; @@ -2641,22 +2341,10 @@ const Gfx mario_cap_off_eyes_dead_transparent[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(mario_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(mario_face_cap_off_dl), + gsSPDisplayList(mario_face_cap_off_transparent_dl), gsSPEndDisplayList(), }; From ca9e43892dd89928ebc4ee4060652ab42ae25562 Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Wed, 20 May 2026 02:53:17 -0500 Subject: [PATCH 13/22] Update model.inc.c --- actors/mario/model.inc.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/actors/mario/model.inc.c b/actors/mario/model.inc.c index e2b911a3c..df416ccad 100644 --- a/actors/mario/model.inc.c +++ b/actors/mario/model.inc.c @@ -1048,6 +1048,9 @@ const Gfx mario_face_cap_on_dl[] = { gsSPDisplayList(mario_hair_sideburn_cap_on_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(mario_face_part_cap_on_dl), gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(mario_face_cap_dl), @@ -1375,6 +1378,9 @@ const Gfx mario_face_cap_on_transparent_dl[] = { gsDPSetTileSize(0, 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_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(mario_face_part_cap_on_dl), gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(mario_face_cap_dl), @@ -1925,6 +1931,9 @@ const Gfx mario_face_cap_off_dl[] = { gsSPDisplayList(mario_hair_sideburn_cap_off_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(mario_face_part_cap_off_dl), gsSPCopyLightsPlayerPart(HAIR), gsSPDisplayList(mario_face_hair_cap_off_dl), @@ -2144,6 +2153,9 @@ const Gfx mario_face_cap_off_transparent_dl[] = { gsDPSetTileSize(0, 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_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(mario_face_part_cap_off_dl), gsSPCopyLightsPlayerPart(HAIR), gsSPDisplayList(mario_face_hair_cap_off_dl), From c20ae6f129d0b8f60ab715aee310714e687e7af5 Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Wed, 20 May 2026 04:29:12 -0500 Subject: [PATCH 14/22] Fix Combiners --- actors/mario/model.inc.c | 129 +++++++++++++++++---------------------- 1 file changed, 57 insertions(+), 72 deletions(-) diff --git a/actors/mario/model.inc.c b/actors/mario/model.inc.c index df416ccad..0a800b020 100644 --- a/actors/mario/model.inc.c +++ b/actors/mario/model.inc.c @@ -169,21 +169,21 @@ const Gfx mario_butt[] = { // 0x0400CCC8 - 0x0400CD40 const Gfx mario_metal_butt[] = { - gsDPPipeSync(), - gsSPSetGeometryMode(G_TEXTURE_GEN), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), - gsDPSetEnvRGB(127, 127, 127), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - 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), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), + gsDPPipeSync(), + gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), + 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(mario_butt_dl), gsSPEndDisplayList(), }; @@ -486,21 +486,21 @@ const Gfx mario_left_thigh[] = { // 0x0400E7E0 - 0x0400E858 const Gfx mario_metal_left_thigh[] = { - gsDPPipeSync(), - gsSPSetGeometryMode(G_TEXTURE_GEN), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), - gsDPSetEnvRGB(127, 127, 127), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - 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), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), + gsDPPipeSync(), + gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), + 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(mario_left_thigh_dl), gsSPEndDisplayList(), }; @@ -1085,7 +1085,6 @@ const Gfx mario_cap_on_eyes_front[] = { gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1123,7 +1122,6 @@ const Gfx mario_cap_on_eyes_half_closed[] = { gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1161,7 +1159,6 @@ const Gfx mario_cap_on_eyes_closed[] = { gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1199,7 +1196,6 @@ const Gfx mario_cap_on_eyes_right[] = { gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1237,7 +1233,6 @@ const Gfx mario_cap_on_eyes_left[] = { gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1275,7 +1270,6 @@ const Gfx mario_cap_on_eyes_up[] = { gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1313,7 +1307,6 @@ const Gfx mario_cap_on_eyes_down[] = { gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1351,7 +1344,6 @@ const Gfx mario_cap_on_eyes_dead[] = { gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1415,7 +1407,6 @@ const Gfx mario_cap_on_eyes_front_transparent[] = { gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1453,7 +1444,6 @@ const Gfx mario_cap_on_eyes_half_closed_transparent[] = { gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1483,6 +1473,7 @@ const Gfx mario_cap_on_eyes_closed_transparent[] = { gsDPSetTileSize(1, 0, 0, 124, 124), gsSPDisplayList(mario_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_closed), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), @@ -1490,7 +1481,6 @@ const Gfx mario_cap_on_eyes_closed_transparent[] = { gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1528,7 +1518,6 @@ const Gfx mario_cap_on_eyes_right_transparent[] = { gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1566,7 +1555,6 @@ const Gfx mario_cap_on_eyes_left_transparent[] = { gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1604,7 +1592,6 @@ const Gfx mario_cap_on_eyes_up_transparent[] = { gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1642,7 +1629,6 @@ const Gfx mario_cap_on_eyes_down_transparent[] = { gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1680,7 +1666,6 @@ const Gfx mario_cap_on_eyes_dead_transparent[] = { gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -3017,19 +3002,19 @@ const Gfx mario_metal_cap_wings[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), - gsDPSetEnvRGB(127, 127, 127), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - 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), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), + 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTileSize(1, 0, 0, 252, 124), gsSPEndDisplayList(), }; @@ -3068,19 +3053,19 @@ const Gfx mario_metal_cap_wings_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), - gsDPSetEnvRGB(127, 127, 127), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - 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), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), + 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), + gsDPSetTileSize(1, 0, 0, 252, 124), gsSPEndDisplayList(), }; From 26fcd638e357e238dea5a88caa88f11cd24a3175 Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Wed, 20 May 2026 05:16:28 -0500 Subject: [PATCH 15/22] Fix Metal Mario --- actors/mario/model.inc.c | 92 +++++++++++++++++++--------------------- 1 file changed, 44 insertions(+), 48 deletions(-) diff --git a/actors/mario/model.inc.c b/actors/mario/model.inc.c index 0a800b020..08abd882f 100644 --- a/actors/mario/model.inc.c +++ b/actors/mario/model.inc.c @@ -37,6 +37,11 @@ static const Lights1 mario_brown2_lights_group = gdSPDefLights1( 0x73, 0x06, 0x00, 0x28, 0x28, 0x28 ); +static const Lights1 mario_metal_lights_group = gdSPDefLights1( + 0x7f, 0x7f, 0x7f, + 0x00, 0x00, 0x00, 0x28, 0x28, 0x28 +); + ROM_ASSET_LOAD_TEXTURE(mario_texture_metal, "actors/mario/mario_metal.rgba16.inc.c", 0x00114750, 78432, 0x00000090, 4096); ROM_ASSET_LOAD_TEXTURE(mario_texture_yellow_button, "actors/mario/mario_overalls_button.rgba16.inc.c", 0x00114750, 78432, 0x00001090, 2048); @@ -171,11 +176,12 @@ const Gfx mario_butt[] = { const Gfx mario_metal_butt[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsSPLight(&mario_metal_lights_group.l, 1), + gsSPLight(&mario_metal_lights_group.a, 2), + gsSPCopyLightEXT(2, 15), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, SHADE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetPrimColor(0, 0, 127, 127, 127, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), @@ -488,11 +494,12 @@ const Gfx mario_left_thigh[] = { const Gfx mario_metal_left_thigh[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsSPLight(&mario_metal_lights_group.l, 1), + gsSPLight(&mario_metal_lights_group.a, 2), + gsSPCopyLightEXT(2, 15), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, SHADE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetPrimColor(0, 0, 127, 127, 127, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), @@ -2754,12 +2761,15 @@ const Gfx mario_metal_right_hand_cap_shared_dl[] = { // 0x0401B278 - 0x0401B2D0 const Gfx mario_metal_right_hand_cap_shared_dl_wings[] = { - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), - gsDPSetEnvRGB(127, 127, 127), + gsDPPipeSync(), + gsSPLight(&mario_metal_lights_group.l, 1), + gsSPLight(&mario_metal_lights_group.a, 2), + gsSPCopyLightEXT(2, 15), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, SHADE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsSPClearGeometryMode(G_CULL_BACK), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), @@ -2768,12 +2778,6 @@ const Gfx mario_metal_right_hand_cap_shared_dl_wings[] = { gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_right_hand_cap_wings_half_1_dl), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), - gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), @@ -2971,12 +2975,13 @@ const Gfx mario_cap_wings_transparent[] = { const Gfx mario_metal_cap_wings[] = { gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), - gsDPSetEnvRGB(127, 127, 127), + gsSPLight(&mario_metal_lights_group.l, 1), + gsSPLight(&mario_metal_lights_group.a, 2), + gsSPCopyLightEXT(2, 15), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, SHADE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), @@ -2985,12 +2990,6 @@ const Gfx mario_metal_cap_wings[] = { gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_wings_half_1_dl), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), - gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), @@ -3002,11 +3001,12 @@ const Gfx mario_metal_cap_wings[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsSPLight(&mario_metal_lights_group.l, 1), + gsSPLight(&mario_metal_lights_group.a, 2), + gsSPCopyLightEXT(2, 15), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, SHADE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetPrimColor(0, 0, 127, 127, 127, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), @@ -3022,12 +3022,13 @@ const Gfx mario_metal_cap_wings[] = { const Gfx mario_metal_cap_wings_transparent[] = { gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), - gsDPSetEnvRGB(127, 127, 127), + gsSPLight(&mario_metal_lights_group.l, 1), + gsSPLight(&mario_metal_lights_group.a, 2), + gsSPCopyLightEXT(2, 15), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, SHADE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), @@ -3036,12 +3037,6 @@ const Gfx mario_metal_cap_wings_transparent[] = { gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_wings_half_1_dl), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), - gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), @@ -3053,11 +3048,12 @@ const Gfx mario_metal_cap_wings_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, ENVIRONMENT, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsSPLight(&mario_metal_lights_group.l, 1), + gsSPLight(&mario_metal_lights_group.a, 2), + gsSPCopyLightEXT(2, 15), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, SHADE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetPrimColor(0, 0, 127, 127, 127, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), From 0d67d9f7bd94c21d900dcda725bc97c775fed34e Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Wed, 27 May 2026 11:56:41 -0500 Subject: [PATCH 16/22] Toad Face Textures (WIP) --- .../custom_toad_eyes_center.rgba32.png | Bin 1537 -> 1488 bytes .../custom_toad_eyes_closed.rgba32.png | Bin 1278 -> 1281 bytes .../custom_toad_eyes_half_closed.rgba32.png | Bin 1391 -> 1354 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/actors/toad_player/custom_toad_eyes_center.rgba32.png b/actors/toad_player/custom_toad_eyes_center.rgba32.png index 3948871863603cfcc438552d99c7e76404378851..a7d70c30393af12522ce21d3bcb9af3075ae98e1 100644 GIT binary patch delta 1209 zcmV;q1V;OT4A2XZ$_b5j0RZR&0051V(_w$P(4#Ul(@3%a00ewVL_t(oN9~r+Ya2%t z$6piI*2YJftJQy! zSIIf^d}aJE;8YB_ySAy3QORA*nfl8SwRwOK&30C75Qy#LsFTcnYlL$#nj-1;+@;y&A3(9jOw4Hz5L~wMfqoF@y_jU zWA+BjQ#Nf^oSi+H0q=o#0Q;Xld3=Ajb$sp?sx`LzWz*h!6wv_CO80|f%VO; zcp$~8n`fNpJG4n#K|Pp@m@OC;X&h?J0p9}-Wcw~~oZlV&Q!x`Z_~XA5KGT00|4DnM zkM?MT0%%k1{n56k$B+TDFkh5?6C7h82UvGO>ikJ<(NIiHW$vQ-O!J zi3xg!WBCr>O~N@iSHSsFsic+6g>f059vA1CEhh-bf%Krv7p}<7k8Xd+!qvPC9RDpR zCm8rT%JCq6A_Zf$Ul4@c4jGb(G|I&(*?m@#`thNRVa(NqEAn~i3&h(s4pO?_1$qRq zlF5k?RJcMD>FS9#I?j+n5X!J=7@SHSn$T}S9AYG&xC>4R@G+A_j+z$+UEpp5qn~X( z1qs4_|8%H_Ogo^901|&$X+%grcw)r*=T*1G(%b+vSDY!ptg_RpNYn!%-36*3h*2-} zB><7`;aF)rW#7P0@Irk5&%}7ntKxX#X=Snh2>~6xh&TyW^L!gg#ZOFa_+qr20X>M= zaqM6Gb_Y5LXd8ZTZ&lo$7g0Ase%r&z`E_kouVu|63}p2R7wLa{vx^6y`cGSGjk0|G z&1drSk1IHy>wcQ;Ng$*y2US}h{O}dN3)c0HVfOUXG_$ADjA3!P653T z94QP;B#t=AE$K0iHYp@_s(R&tkWNM;B4L#IM!jyqc)B04XA0;A3~4~YrHOk%CN9PH zw;x_WfSHUz%1G9FAb{S;h{e_aHv$qX4UbU}D~9l!FiItFF)z0T0Wl##z;>dW2$6pQ Xan8g^!2hl600000NkvXXu0mjf$c#)# delta 1258 zcmV$+1XnT`m#O zi^C-lsZj$KQWin+T8b@O#dxiP;(qV#?0R>xjf+&}(odS*nc0~)-@N(Wn|-GN&|81R z74?2=_@BTz4VZ^HRbvd2eqC4f%fWAtU~gR26qta6%#&Xl)3Z~JcubeV^)>We7Om}V zsINBMBVeY>OUtyG-KJ2aZ-3&0?Kkl0)Q;q5#L3@dtW1IA*Z}ZWEhdz5f z>P6N>vM!DTBc5-{LmlJ!7i;MSDsnk06 zzkIO=d(oync0>MPw=q9E$69DiPftHxTU$$^o4*m)zx?cr?R+uML%TxIUN)PZK{wTE zH7%3LeC)O79>EUSGV1kus9Y|;XIYlUh3h-Jej)i$Rc}AMbJ!-^a_Y`n40V45gG9As zsTqcmSXo*5lm~Kqb#*mu7{4dvqd+ZKCk$7_wld zCg-W3#1V}~E4r>r!!%7jboDH{{rnl}F&MV~B1=Yrh>%bS^J9QCZ4hUlrNeok5U2;a-|d-lBV--=V473F<(B2`b1DT*<-r*6?VOW#6oGdxJp_AaRN13QTi z51_(3R7w|5G$G>@LJ)r;^{a-0QLKU!`ZbV)MiPO$pv@17TEr7-mMc2P-3qLJZc7vd z;P%_mAs$j~2Oa*1JUjIe=>`@lvUa@6v1pPT0Lc{>5>UHrwJV0#11{PV6ha^)Ug(Md zlx`ucL{G8z@o*;i&;LRw&simeC*E2N=N}-@;*W?I!ERpfA*p}ZiKz*m=q(q3JqYa> zx!>$|3$!56G`#*KLuSW|s2w4@Z6R`=W;1dvOCDh%i&uD)wl~{&0IdJaQKgor`#*e5 zzy7?8@Z7S~Y)3dms#GrJX#J<}@n5hdcMNAwJ56&ImBE651~330EljQ#pOJBBl8Ml% zAO%-&v6NrKkoSKMXoHZ52mh0!$gZQ~WFBl$YW5TKj}Q&(&_YvJ=S7Hf7Xolus2`~` zhDjh%2XkY0i}-h{0GF0=IeDS=v$%M1BpWQ6n4Cl29}yu-4gq;iQb8fMhywP46H*u$ zNF06ykEFvmw#h_%QPn9AxM*e6LlQW7!P+t_Ci(yod823D7Z9mFVOG}-}!cf ze?dSk#v)}UOWh&B-iVOKyZ>(p1a|6%k)ss__n**<&SWlk1P**e9Kp6iI}$|y0Jhxs U0jQ6faR2}S07*qoM6N<$f}4+0qW}N^ diff --git a/actors/toad_player/custom_toad_eyes_closed.rgba32.png b/actors/toad_player/custom_toad_eyes_closed.rgba32.png index 0947bdcdf61b076019743793ab36219178f9b554..5b630c9c95467e27e4d868478c6167c0118731a3 100644 GIT binary patch delta 977 zcmV;?11|jj34sc*KLLNONklBhihC23JOKV-pA%!$PSniXaS;mJ%MF0cz{_-MKSNOQ)?Q zhQx5vdEA-%IN$lscc-pwHj9Hqg}fdZ4hb9*I3(~t5ZI8{{h@!1olp}$D16T+xnPP< z>*CfzZN0py%p2p35(IehRY2E`W{sQLYhrFeM39iENG8{;HHL|bD6qYQKx-3xCr{v%pVE?&j^E5xK-x{f%_?|ggYaX132Hop*kS@W zQcaR~3E6)+auW_Fl#AF(O|wi#@ABQxZA%3ktmm>iSRvUqQKSlNk=lrq0}Ya_QLiE` z3Z+Fr>=h*m$S4a%#jq=2!I_{SL}Y{tWf35!YubY0r=~VKnFDh3UlLL|EwL!BN>kS! z0tLPWya+|JJOeGI8jmdSK>JYwtRQ(O7X4_n3!r}hf!&Em-VZ~ariyTc6CtCmQRPHF z4I?%eh0fK(Mi#1YkcOHL3J~j`QLLsG@gm%dcW*;b=O<}GV~{gUA{$61q8NEIh;PwJ zEG1Ovi3MXkrPl7DJP%L@da2Q1JwAchyb6^{XEjb_5;W;DO=SNDIKVA8BcHz$XZ&4I z=O%w~^V%(X-U>AP$P2r^+G|3}yC6W4xjjBIAq^rDIx&w;PeP?=mPpcMJl7wJht0){ z*C9ZQ1}@$}3yoziVhtXi^(V znw0k&p}Ino*Oo)JB!Oa}iG-m@(!B2inmb8z@>>r6f`D9%P0CId_a*^WgZ_wc^#6uH zUZhqTnO>2w{uA0!oXq}GU?PWzY1l$=A_4pX0ZgLIXhTyJ00000NkvXXu0mjf#ZVWCtOgCGnMN(qn70JZpickT?+q0?3p zLt;4TJnqbWobP<+yHno|0SAZ@c|9;35;!DqNZ@}Uur9CrLlJ*Fp)P(<_?}O4!4#j? z#I23WYI#%Y8sm)u1bFckz%a~ag`e81Vs1f1kdUb4Qxz1Y2H2GS{nTHnr5kS&c?ejG zCnW&`db$GG;HcMO5D^<<{u=lLRdlU}QnpD~TAT^^>++H)y-ye(9!4}8MSFWYYHPVO zL8l0fbxcov$HRZ8&ydb!(4-hhr{|GgB@)}qbWk5YSQ6hF(y1+!?QG-2=meg>e2r5r zEvP+OPcO@Wa+ARH^fV%o2z)*tLZOhU06*;R?nW#YLpU5pT^-5zJA>r%FT_T_;L61_ z=znwvt@UY=U3y>-D0-2GYRoL_xPA9AMm~Q<`0{zw)gOPOP)m?ZuG(u13=E*Ht!+02 ztU_;Zujt@J_|jS2>$!z%=Q^b96umR|46!hSOeoVaGBSY&PhKH5HX+_v;Klp;`q0(Y zCE8gYU?o&lr6Ue(Z6nm&fZ&PaIN3^RNlC|VWGf);Cg5ik0+5Bx}~INQ**g z5fFPtK>{+$Tv0Kc3fS-_CuPmxracG zZviht(JW3uPif{O8$8f?6aXto-cjQp&2|ptAh3Ts@zDE0Xp>YCp70`MwsoqU*r!3L zGjSMPJ#1v53I}Pb>7f9z{u#$gY9245J$Uyv0&RAjCNu|m!y>YdWFn5CH~sh)AICyM zgOQjs$5U#Z9&&krI?zj<1{+IbP-iu0R5~k5L?%I#F49EKZ-58~{nTyy%h&*pnZX@QX0#?B)DeCCjII`hRNuGW@Clkr4s(kx^ja-vDNYbRd z-w4$en!K_YvIPm`15G3hMUuL{3ux@f%5O$7_zMDZF*YeXS=?I$SPl9k!qNX50D7z)KR(Uib9SURzhqAYl$Mt;I_~Pj9C=9U7P-H0{$j3FF6rF%w%#_T_A&8})Xb$WKjxk2njSP)v1iA`p4bS8*i?HTn)dVv z{FNeRa%ZtxF)n{QOz0-v0^R7R4s2E5zIy{VL&L#$1UidCRD>lhKLc=_A$ZFroH~7m z_Ket3BKAapvFFg<3%KKxp$CBJsY$H9G6Jd=?U4NJ3>syh3)A3+?5u_cg+w@P8$(F- z4POy&b)G^w7tB+SL+979WPue@11)}6m;d*p#ab$n&_SGvG9R@`dxiDMhD|b(^ zVXIJ7@RiR?6yob#eW!~(SxeRwqBNYIJgQzulAUsqoft%8L)^)QWQSoKM6hpTLOdgL zP$;(b_?9yLf=AzZ6lemvH~V z4a|T4cbDn8Xv%C)LLoJ*Rf>52_#QqM7xfz>)zg$|siHbrNyGpr@L|B08|63fR($wO zohnOkl^>S1Z!{GD26Q2%!7~JRg4K0m68`cc&dpxp_!uzaG8UR~)gFXAcNIXFrTSS) zGkl368dUBrEyCw+R_W3;ew^Ys{SsWVIE#M`7tQ9*uyuRAoJ-i_ED1@wZ3G@$6x#CHKBM_bN! zH~fMCyO;#2M6%w80>m4GaAfy?MnGbxQ5uD@Vu}6}#_28Q_l_W>MMxO1o#-Y4_z4t) WM3|jtRU+d|>bI4QB+-2%LWr&^oZXx{8gB4fwuq zhkN0=F6QUwvADQsM+W1a{0V{D&h~L>%9Vn2T&YyHmY0|Bb~+tLnmpgWb!V&AsEKI? z_U*k3^;b0hxX_dJ_4S)Q{=Vq?8&XOb13LTqh8Y828a&$=j2k0LyfaB?BpVWfi?>|0GpWW-kH$lNq!4OuI~`6WUg zMn4|M`1F4`ycbm*QIJFV3#iOq#{IAFVeU#9Lx=z1=!k|NvK?OFCDCZBaiY0THAilnZxKni%1O?9eJ*BhiK0S>z}} z4BL){*JzUy#~qTRM#?ty5&Ha)*hLbl7Q~{9!fk&c>X*J|K??D>$qtQ>?ME2!N0iuU zg2-tQz>+ojs>kAJZ6LH(oJhd#GHX|YWCUXLC#Zx-Mx$^l0#tgyv{F44Kj9^s(0l$T z!bUD=GCg^Biah@mfsC)AEW+Kq{+mU`6s9g@VzQk8i6FJ(RsS&k3}g`KI)3!qL-^Y! zE3$vlkC5pH%$z5WAF?#FcuDq%kToi@NfXUJ5g_ZARkS)a{QS$eSbgv#({t05*@1|N zw6WK$;?b`^;jikZeq*G1nldd_RE-rW4bXru15OSbPvPzQ@R>R-mf#jYEPJo%DESTO zgPe+I4DK|m>+}r#olV?a_?+XDz=TUJbaj9Awg`FdN`N8D4YQOMIf*1fGWWJO;d3{2 zhIEe~rzD(V5tl5^V#7ttmFukglPYAbAtWzFDlNo}ERZNfDMiCn;pj#BNCw!6Pa)Ei zRfFn4j4Y=Kl5{HdMx*Y~dHytHPb4r1bfkh}NK@YhOkC_a-_zh72-w9$q@rYfjtDtO zG)Cdb?*AVGsh!4Y6lujG{wGXgFq!{$1QB|OM1sviKN7&dPiHvCG0py?00000NkvXX Hu0mjfD%~J8 From a02ed959410fdbca7bdf40a8a32c1f46df56dbe3 Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Mon, 1 Jun 2026 12:37:47 -0500 Subject: [PATCH 17/22] Toad's Face Textures --- .../custom_toad_eyes_center.rgba32.png | Bin 1488 -> 1496 bytes .../custom_toad_eyes_closed.rgba32.png | Bin 1281 -> 1223 bytes .../custom_toad_eyes_dead.rgba32.png | Bin 390 -> 1399 bytes .../custom_toad_eyes_down.rgba32.png | Bin 361 -> 1409 bytes .../custom_toad_eyes_half_closed.rgba32.png | Bin 1354 -> 1353 bytes .../custom_toad_eyes_left.rgba32.png | Bin 346 -> 1433 bytes .../custom_toad_eyes_right.rgba32.png | Bin 348 -> 1451 bytes .../custom_toad_eyes_up.rgba32.png | Bin 358 -> 1398 bytes .../custom_toad_face_dead.rgba32.png | Bin 819 -> 0 bytes .../custom_toad_face_neutral.rgba32.png | Bin 792 -> 0 bytes 10 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 actors/toad_player/custom_toad_face_dead.rgba32.png delete mode 100644 actors/toad_player/custom_toad_face_neutral.rgba32.png diff --git a/actors/toad_player/custom_toad_eyes_center.rgba32.png b/actors/toad_player/custom_toad_eyes_center.rgba32.png index a7d70c30393af12522ce21d3bcb9af3075ae98e1..950828a3dbb0110593c36861fcf4143f6aa48116 100644 GIT binary patch delta 1194 zcmV;b1XcUc3)l;=KLLM)Nkl z)&C&JNL-pj+C-|9Q|bYnWRKKDTV7x=<|+wpAv3w#W%*?0#>?^U7$Z#Hz*S88X5aI zor!ezWnMi0F<}-=HL87r_ENV-rs!?g)Qjgo`0RD4JMHKu8T*Gc0`7v(0QYZiZN98k zuYHSZiQDb6qwjygo-X$8fjPka+gp3fwQB!2sM_|}4Y~bY%FN74dkQQ8^b1`7>i(Cv zbNQUlb*)O!-YP(Utqc}{*PgotJ5bA1zzMJvT;JK%yX0Xg;f}#Os%G0{TTUHw^~nRE zwxE}&d@3~q`~-L)w_gIo_{)%of|{_*7yBLe9*x;|wx@sk*dE(p0c=z3{av>w$B+YN zaw0=VDmeN<5^&uFk?ZHhjm&4#ZX!_Gx*t5kZ0NY~$ zwml8@R^&*!K{%EkrK43_Kv5wLz{jVOH!(2`p7F{`RDlo|4dtwtBHcY?l`+OTrBwPB z>}|;7BZYr7KxXC>Ra2Rel|0Qpl(QOy`<{F;Pl*BSUtY(=D1}3;9%7wRfGFz_&vOuB z%2;`)i9MdnNl0!Gj*Z?FF9b=Ylav~cQRR%?iHUfH4S|QYiV5}%kL7px-5@*%&*gAE zo6Slk);B-{!vkcz*6ADp*%9reiS#%jQM25jbKI@q=;yYaf&gy6eLBQLs_oE30OMJy zM@WA=Sfs?-=T){vliUC#S6nDStuky?jMoD$%>{}eh!HQeB><6b;aEvL#XrKudBMN` z7ot386>vOp*W%d!fPj!cBAx`RIo?B3u@h4re$iVlfIW!VG4$WV}tJEt2W^ zs5H_{klnU$a{gFdl+Uu{5e{VW3NO<3W)pu8K=nU570WsL{@Ek??Uw}{&viS^w!{%q zqLYG7%RhgI|AKY-#&Gtu(==yM87u^100Z#Q!poKX8W{&BnK(K{q~IbxEGNe>n+a07*qo IM6N<$g1(nKz5oCK delta 1186 zcmV;T1YP^s3(yO&KLLMyNklH*0DJ3JA*Ty`N-pX+b8lIW4T;M_+Wzi&ImTR^2Nr4{*YZ9`I-p_#ci z3&qsnh2ovt-_5vH*Np0)q`my*nML_$Xz|YNZ)5fb%u_aPSDc+anE~&CcL4jJK6!k% zb$sp?sx`LzWz&D&hCN&Dy$`Mf_CI~H4SQp4dvrs2XG@Ap%i3N9_W}A9)<601 z9CKZ-lC-x5(BEo+RS>loZowwhk|sC+o`Lnvt#}~Cshek<=sUDYTR}aTimy74rKc-aGc*A{Zla$Hu&Se6F$=!|4DnMkM?MT0%(6z?fucVr^k>1voK$jeG?pG zAO~1?LF)WTZR7DH$z@^K`%82w6rv&wY5t6eWsPF*%X01QW!Uq@P6FDa0NE4Z!2mthksM29LP1x-=mq#6me5mDKQvcnys44kcf>40{{;_r5_J zpt$swshNLFNF`sEKGn0Dgnc(ZxFM6{*uRR6iBYP1SUtoBr3z8r9{w*wh^u4uoi6q` zSCEjxAe@`Mq+UppFXSXYoss4d-HC~~!c&2VwuuRPhGY2--%Y|fI9I^=QmLes%!P3o zpB@+InJp&>$bs~r%onc6&5v%#!qvPC9RDpRCm4VDI?C}Nej){9wO9S4Ac#>f^d$h1?%`NzJZ0a&Pw+x~|IfsD&a2{h z;%Q~E{|NydzKA#pR`YxtNySf0ZTMoeoB=(E*m3M%{B{RA2xuFAaBo%Io)=L!L4MoA z$@z6{Rj*~uBMfBq3K!{nvx^6y`cGSGjk14y{mp0c^N%Yyp6h;^?MWb{E(cXx9{lhX zz6;j%j$!un(=@ZF4ptH|fC2c^!^_ReBXM?JadC8NNWnE+ECifsjr{ zBO+mx`9{5N!FakKv1bbC1q^9G!KI0NK_)K6_O~BiK!BNyLCQ$hdLV$_$cV+&|2F~> zD-DlP5G#i8n=ndmF)z0T0Wl##z;+s;M1&07*qoM6N<$g45_j AeE>xbz43 zvG)fM;zAQKk%iI54I51m6BXAQ+(<%nLD_&TZE?{ALZ^$?5(=HBG^zK#c{9vRXQn`6 zNDL>LzIik6-Fx1>=iX^Yv)RN+;*1-e^`j5o8h7>xHI8Y6q>FVKRE!fI|ai`1)WVLLH! z#fShuym#j=mY05FWb`_siow2I+QRbMZzPk0`0#ujDs!vKh_v9~q*}3p`wvrCqrD@v zH`;SqtSIX{mXD90=8)(gK1cya;qlXPvA_;C@Mz)z#*%+SGVEq*Y_R8ArX!tR#nkki zIDj4O{MnNf#%|pdbB6{v61j{fMm}jGuA;ZUkC@Wwbb0bUTkZ)pIWj^_pi@o=xs5yu zB_1^*84)K=Tvf$r!bgPCiA{t$iO>MObE}`{;^Zz^&&}#+6=ZM~nDDCk0O*ip%~X+7 z1+pqcuV{ZuK<3%XtqX1q2>25eglLb5!l4LMD-`m)5xrO+{g@k^`ELsuIi0GBN2P~y z?;_ywEnp{fn&LV&9ukiOywQHO0Y{Lulgs=t<{t1MaA0_GVIEqBD#90jgp9dPm6T4; zi>j(|^{|jdRQQlaG<_mKtT)%OUERXW+X;OAl7fG>xk3hwP5v;6R8THvvH1Bleq~lr zC~Byc@)V(f}_Y(UgdBag|7D(8%C68QZ4rRxTE(8JXqikB|^gH`MqbuEmF; zZLDBy^fo;wJ;hWgHeI!fu&NmZC}g2d6%cJSf*LW;WmlnHPMShAy;Vx=m z)Np^2H_%IaMVsKz^LlDhZXtS90Y||sDO%`i98S1X60nYKG7(2r1@!?7UPf&s$*9%v z!epEx;0lnq0`Uiwek2cq%G>||002ovPDHLkV1nlQu`U1r delta 977 zcmV;?11|i>34sc*KLLNONklBhihC23JOKV-pA%!$PSniXaS;mJ%MF0cz{_-MKSNOQ)?Q zhQx5vdEA-%IN$lscc-pwHj9Hqg}fdZ4hb9*I3(~t5ZI8{{h@!1olp}$D16T+xnPP< z>*CfzZN0py%p2p35(IehRY2E`W{sQLYhrFeM39iENG8{;HHL|bD6qYQKx-3xCr{v%pVE?&j^E5xK-x{f%_?|ggYaX132Hop*kS@W zQcaR~3E6)+auW_Fl#AF(O|wi#@ABQxZA%3ktmm>iSRvUqQKSlNk=lrq0}Ya_QLiE` z3Z+Fr>=h*m$S4a%#jq=2!I_{SL}Y{tWf35!YubY0r=~VKnFDh3UlLL|EwL!BN>kS! z0tLPWya+|JJOeGI8jmdSK>JYwtRQ(O7X4_n3!r}hf!&Em-VZ~ariyTc6CtCmQRPHF z4I?%eh0fK(Mi#1YkcOHL3J~j`QLLsG@gm%dcW*;b=O<}GV~{gUA{$61q8NEIh;PwJ zEG1Ovi3MXkrPl7DJP%L@da2Q1JwAchyb6^{XEjb_5;W;DO=SNDIKVA8BcHz$XZ&4I z=O%w~^V%(X-U>AP$P2r^+G|3}yC6W4xjjBIAq^rDIx&w;PeP?=mPpcMJl7wJht0){ z*C9ZQ1}@$}3yoziVhtXi^(V znw0k&p}Ino*Oo)JB!Oa}iG-m@(!B2inmb8z@>>r6f`D9%P0CId_a*^WgZ_wc^#6uH zUZhqTnO>2w{uA0!oXq}GU?PWzY1l$=A_4pX0ZgLIXhTyJ00000NkvXXu0mjf^Io+w diff --git a/actors/toad_player/custom_toad_eyes_dead.rgba32.png b/actors/toad_player/custom_toad_eyes_dead.rgba32.png index 30f3152a0732dbf387ba7a7e74e26a0044ffb2b4..94b12fe33a10970cb3faf38b408331705b8c7999 100644 GIT binary patch delta 1331 zcmZ9MdsGs36vux&L=+)krAQR5bY=>QS}{3G7#_q5CRk~cMiQFunJzu$Vk+t?@#r+m z6-H&7It#KSdRUYR$2c#P26j`_%j*L(QK+V$7kDFY|b~Amt<>T$WJiXI?h3wlETn7MrBa1-`3uhYl z25`bcZP#53Ux$E+-Kfx%-QgNc6+jU}F5#@V*lw{GURga)dR1Exk7UIcHX5EH2a}{7V^1V6OA&`I!T3%}^!jO$ILi$#m7;lA#Z;U}^D`rgbW>LB z-#$1HE81yy2x4eNWGGMiXKKzC*OS)Um%Ooa7E_2+A#!n&!`rKJq`lCQvzpw%mzmgz z1?b(ru;knV=yw%^IIsOI4U-7*jDS#Z??zpehMQprL zCM46i?~mBidMy&1p263MRkMlRZVnkWHqOip@}B#t(IEn#0QVlo#8*9pb#V$)4JS?X^yb}82MOSxM9}`vW z8d~vz%rYkWT>fi=0^@E9h!In=FM4?VUZsz5^-|PwO~X|>I-&V$#Hp>fJ5ADB-TWi$ zHN_ruvSmk(R_z`rh@zuq&41t`az4E4L$#P{>qh;?(|s8SRDt)_7F--LwYG`Qcuoa6 zZ3Q|%)$lV7!ZtC^HY@91ii^7UYQ~?^&fqHk2mG|IIN#>S$m#wjF;9f36OGqo9fS=D z98@E)2R7_Gh2I|=X&v}{XoCN8SHGQPK0*83Q4Rlf?INz&&sVYN;_wU3)%r36yrXOy z8W?k&;-?abMcf?n_NsOif!jP|0P1aFaxI||1`=!+>PnLzoUl*|Yef@}s<;VOplvh) zImaA}hP00h#3w2^t^FR`F6108IQ|o_5WjGDlbxYuAqduv_~G@NHq%h&?P~1)bKllY zG8=prEc50kmvj!N&fy*EqW|U)X##gRi{rnGilt(YJvke)0~Z(5P=XvHz#H=Hs-M2u+5O&5@PLM>YY)|kpPxQzBrKA!zYWcH-m0IGaZ_)W zhRmcKa?U5(tRffXV$ybQpn~cM*Pb3#u#7(}Vb0-#(LGQCN=6^#Ff%|Tg7T!;qb7+b zMU28;9l7tuR(w%mJ%Xop6%^$b8rE#%+tJxsdFh(!$jbWe&w>Kbp!yvyYLTXxOVWK>^lnNi=R84ajh(v(99q$d9_1v%7S*zR!~PYuQkg9#u_ zl#55eFoQ_Q!*9ZH@=Df8^tSh-=DJey0JzCBUaM$(tpX delta 314 zcmV-A0mc6J3WfuaReu2+Nkl8_F_FqEd!XT7`gCGDj}y(@!UYN(CiO%Hmt zSV`Z~N%|llMiTp9X-l9Ga;c#f55SW>J?Pbfsrg9Zl7O%g@qamiLddn32glQ14^Q(b zImrdlD7FiH{!&;DA8m>pb&DK!^aEWd7?YX2{Qs>EZK}0 z0MC}!;JN}6{xe9MtAN-+x=47PJ2av3T2&-C70)pzH*81{R=V10!Pt#sv_AL6)*EfEYFn$OZu>pwUcVl|hykKo(S& zp@9KNcISn~M#h&tHZd@;=z6+1hD5l(o#yW$6E1VS-mG)($yN0nT3IZct38_EDtZPR zUR2#JTBX_Qpf_ns(}l_3W4LTR@+`kxNajDeb-P2?NmZBF6-S$e_*+w6CdLStw`NRT zWgV@t@&5b#duPs_JGah_W9O6R^Oc|P&A$J8-~IVBb1f|_CVW5X{_NMi9|{ke8+K_$ z#KxN1_NN$SRvmvFP%ZLcd;QLxmM2q;(%iP3-}qtH_DuJU;w3W2ImMh)KY1TMa>Pac z`5}JUrLJ#dO`hI-&V2kQGvs|$?)*v{? z=XMkg&|TS(`#|bOd`wJ^XnFjS7@?a{;?vKbeH^vMZ2I-mH8(}qoqbvtUfp7rdHVhO zHET*9e4uqtI){bY)Y!Wo1x35|KKge!lV3V_zw;WG**j7z#IkFD=;Q`4 zzV~6^o!Nz2%TuWyk}c?YPrY5_qLK! zyH^@7;lCiq`s3RQ#>xO*#~m>x&dk4OUOfLazRkh>`LTy*Ip2j|Sy$DTeOXz&q%Ef* zU15XxEpOI0Cc{+(jUM^>3aS8-=j&t(?-wZsew)gw%g4G}vc*RoiCC^RsMn4X?s0Z)%D^z4!O_rx)AjFZoh*v-+&r zQSnXcx1%d(*8b?WIj?{ESeU2QpSll~EoO6^C(0aP^4V3fW7AF*zEjIv-rT*}GDBCQ zme=`Vz5}z4?>xSj@;2(u&Ci!^*{1V2`TmP)r>b8Qxv%b79-hAazkjW8mrq@cH62Yurn&N{Z zRxEv?yG~tdlG^Jp#=MHAp;zD73J9c|s0g|JTo}Io^VBu>yDT2%nh9Lsk+{^-|Hk+4I7i7xgBl_s99elF{r5}E+ZDmn}R delta 284 zcmV+%0ptFG3+V!oR)79UL_t(oN9~or3WG2Z#;@(7n+^_c?IZXIS$zp#(AmM=zJ>({ zR|gTdGLe_OHmt`Sgj5)0778Y!uvspLpQ4~R%rVz(531iG*jXHR+ zeJ*C*=;wK^vMi(KVHluoTROURT`N`RK1d(=bn5#_Ap{9y%;}O7-acP_36E|gHva5i i5C{YUfxtfj@D&6No4B;>UNNfx0000 zEB_2%dI<`G>|y_b{(v6pFNmPBULq^VdQpQQatR#J+!5TxrCoQH6zqG>y)!#I`$G-F z7e6pNbMM@H?)RR1&Y3-PaBx5;$yt3rF-`@X3OE%Yb>Q{OSM-17(?_y$o4UK2Na!LZ zC$7+qnOnN2Imfcc0y68X)Y~7CmvQh6lr;Q&{n~Uqlg-H3+N)60C-y?hUJ|?m+MKdC zGo5towaO^!A}ST+$pp_q8F2dzFwJkKycCM+R^lHu$GrzT)t&9>KDNg;Y``|f-uH?< zIRa}VO^NsvZRLL~>Ffp(z|R&4wCv|szAnLaFl_%OTSh^Mh|mQ2r-KZmi_G;5jZI9# zo)X&&*d7Z|_6*p2Pm%tZ;{l@Kp%`r~Dgk+oG(d7ZLFKH4g<)`)cUGh_gt!>EcDpFh z-a&Q=W9$M&hc3b1ioD*^NCQlbU)E1L3s}j+)Lr-7yl{Wt-0fNF4HHD9u`n(Ut`fvL zR}P}=O}x)Qh$UlXP6K)s#Q-^ajnxc1uc zH*?yj0Xud{|7iA8A$=`q_?L7 z54=Mi>EekBGENgf5K_BtXv}O8n$T}R9AYG@UGGpMK%p1$q?+vpo#So|M?beE3w*f! zDm%nOy6w9_uRGq$lo12Ks81t7s%;~4J}=IrG^2QN_HZDJS9p`kn+-ew)xXk|FJ5 zK0<$bE~_%z6h}yrc5-Q2c=4Eiq?hFz!_`xjX|AF&Sn$OF2H>TQ$>r=4nHv^aNS!=N za2_9)ooyKMeghg1kl^W}$N;MAK#Z*QWx6_k6a9TeJrTr0C9Z0N5a%ue;IcqFN@)m_ zAfgQA=IS#3WLUHXm+s)>q zU*V|6ecDtf=hkh1?m~BI^Uyk z3;}vE4pNR}d3FS_H#*7S-Txl}zMZ;h*m3ijdo)d1hGMIpw&#lga(^tf-ThlIrq+FGI?ng z#7%#2Gjs3UIro3hJ?BjJZEtVmZ?fNB{~CJ&_5|z+&^jYZcBD7IWKRT?mX|O(?&`xFc}VIOxxaA!Vy;v!>D>0V-ZrN8GR7Vk%0DC4oUwPg zX|GRbVF;+N>zzj)kp_|eQ{s8=J$%r zjMz~k_C$cO=g{5@xZ{(d2Y~6RNvysy0;(46ko@cn8fBjg)8K~etcC`KL^y04LrC=x zAgFUru#W81G1_~pk5?_)A!lb#+B=&CqU28DdUS4aWbA+T)hies21OLPFk9s-cTcfl zt58(%mCs8Q;_F;}r;9yVOV$*kG@PD1s$NKvopO<#7(`=3+{uMxhhZEgAo0;WAVy0YT~#?nW0?y}Ragt!MHx(if66r*0)l>kP1 zz_ikM${gWO_(JRX?}+tWP+@xV>STES2>~6xhO!8E^X(IhiYZJ@RFPm+84^%4|bg!~iGoVZfIgC!cRoZ>kB5?r!4iw%Dl&F0Rq?vH68YYm}zDN@Nm?2rZGg)pT! zF;O^LNghd$d16z9v}9GUIuOyxXiOxHO1)99J2al&jo2Lp^n!*opy<-XcL5_uTh4bk z{DJ_xm;|XrvfhUR#2bTfWcPnYKw_s+8ilc9iT)GD=`H5>jv%B(NEoo4=q3XA34;?y VBL_JJA5{PV002ovPDHLkV1kG8^n?Ha diff --git a/actors/toad_player/custom_toad_eyes_left.rgba32.png b/actors/toad_player/custom_toad_eyes_left.rgba32.png index 106b8f8a0f5a2993f5d3504195e76f8f41e013fe..fc414e58dd4da6e5444613bc5490dec4c0b7a373 100644 GIT binary patch delta 1364 zcmcb`G?RNmSiNM4YeY$Kep*R+Vo@qXKw@TIiJqTph=Qq}p`M|UFr#}30|Ud3)CkWs zPfsld4j_k>L5h);ff2~^0%B<>I|#_uU}Of1GXdF#j7$uIKspMDGuv6f;yFMz2=taQ zGQ400)Ae8my0r`pK-mfG3@kv!21dpPj0+$JgDhoT05NPDkPQM%K%<$!DuXO7fGnsk zLjwbl?9K~|jf^jQY+_(warJa@42f`mJMDaSOsL3l|B?xnzCrazCd}G0$#24?EAc9< z!O_abV&O_VI9dKMdfriau!;Mk?>4=d9o^j?|Ck&-cTZH~jp#h$A+|`CXOGFo+QzgK z33YoK8$SNFeZO!1=X)ti9_Doq&hGxcul)SqdBx{<=12AQ^*t&4)Uwmw?4P*6>Bg+B ztET%e3@}(bdGo$~c~NpRx7BMjT)%Z|mPog&vDU4)hzO2(^PfE0la~AP{KJQd28>?Z z`BH9fZo6`BubX}4#iQSW(c!$2+e)~nO`o1xP!OQLhyNa%Ndfnl@89b!ZEW@|7n_|> zRu*>b*s&|u+#gsy_+j(n_3Phz&WW-5`1oYZ_R44O(aiDp^V@eLM`Y2x%hzHX>OU@K zHekP$lPT)s@Bey<)D6aUjc=DOUAp{BqFQ0Qn7Fv_>CNueb=9S%U$@wGOfW8Ief1`v zAwF$>^Z~=#72I2AT3b9gzs~IN?|nO~w^__*%Fxf#b}3%4bm`F&*LiGr8*tZ!3X{75e0Vr|uKbyE(`4FzwNcfFg(6T4H#{?C_gzI@3o%!`)3Tx@AzXSZ&y ziJQH|#6vUHH||j0`qoJ7SZF1~`?()hIZXNOFmLO>Y5ezV51(0+UQ%N6%r=mbnVEUz zs~5GIAL>(cuYcS5J)$GfLnUs9?CzqcQ{#4id*y88DSgIpgEQ zqV7{$=FDY#{^0M}ldm(Zzs>5LvBRQG=E3KA&#j+M?!P~IVF!nmk?GgWx!+YDM?Xj{ zet4#`P%!Ge^W>LOodUYz&hwI@_I~^8oB#TAn0noL-fG3JD7&iFHnyC9N`7 zK99L~)B0n=ERS=OB5jx?9M`{}tk~dU)60>`7Ty!FK5na*j$!%*%?^vWhL1*PwS{^e z9JV=#vKUIWE@M%+yz{$G{!5E?`Ff|C|NTc@&aJh%vioY`Mn8vB_DXt8`Eq|3Zk2Br zUVPoqpy`C{?waGTm)B2FQZTXk|96hX_fyNJyG>JAfBw_okMHK(kha(pVe6C9%Qg4Q zqM3q>EBr)<>y&%Pd$0` zDECsgYc;#qrPiHS7Nv6>`8>f(Ey+vNfUC~);n5=p1=V+|^4?qQ%heegy0}krT<&0~04t{Vw3MyqhUHx3vIVCg! E06_6TApigX delta 269 zcmV+o0rLKt3)%vZR)6nFL_t(oN9~m{4udcZMcwuStZeNuV9U8!+AFa$X5s*h?ZyZj z3`nUR5(y#HVlPyxpY+Kmiobwh0OjvFg)wqP-DV3<)N8gP*jZFyQ7(u)%}L;AB}rn9 zF^+_OS;&T+g^Ns46wX@fMSf9e{Gy$Rva&3*RaLnNd7O(ytbeD#%{tRz9LK!tIv9q* zi#*Qx1xOyoU2wB5bif7oX_|o4G!2wx33XjB3m;+p3O6gZA?*{SY3fhfwuQd$y$`J0 z^%J5j+MBpfYjHb4ltpjnRso6C1&BCn>&m%z9}#68@+JJKe}SSXilQh70PqG?vKp8l;ql)+W8}b}Q+}mK7eq+7&-6-(mfjSO);`!z33+Uw^lE1rNv@-E{6y zQ+IyAq_b}VARjS%9buEpxxP@{t;Jvn1;MmIq(F~SBk`Mfh|JoYG@JHSO;dQ>g7nGI zc*D9kKW(TcMrre1L3z2=2>lFpbcrP!33`w5F}r7MKx?zEw~m&|rz8QTy9tDfgdWmj zN@SZJ3Jnt<^&C9P@2RNTWKb(~!5LnKkO+2xSZs&EV7!fpZ(r!ye!Q*~5k;p97e;m! zou?K5t~PvXA-;QlKF0JmGOzYK=IXP*t>upAvFcMhFGRDJ9*rukn z^S6r4L%MTdtTf@+^2Edh`t-EXGs9=PogatuYRF`ALX2bzv2!@>GcX^*kZZ;mJOTs# z8@eR5pDUMhO5;nR3-RNp38g9`NtMt66W3DVZ8pfiNMeFDM?y4;*!I`*=6c^e!s)~+ zXeOP<^CK*7JKv~&QgNRNHFdM0hV8+vGFS@Z*(m}yUzIqz%(--VJFe5@j>2sbg1s)w z`1N34cwu&USBdysW`8qnd|IIX)Rzd$$<6I~tOrB*VbEwVVW3novFFsKQPawKsI|H3 z>RBTZl~=!_H4}&m^;+mK!=M%JeK(IWnZ8$S9E*Cw$1)mD9Qr&fW81h>-^|I3A;3XIR#Vmlu;FVmN3yQ4(8hb@SR>2y+T-~kd*!^t} zd4NkxZUaB@goIErG|GRFnkZ=22a{2MhDH4I zl7%pYsxl)D`go1ShlF?mTuhfD6^XXaQ%Qbvs=AX&8M~&FtUF*7N&Zzy|AFF`Z~Imh z&&lEYs0C3?_JPEF7BZlCWl?YW=T?srl>-d&9~a6OWfZI`9^vT4SylAN!_2%GbC+T|Ri`U<#s<#`9I%<;V6tPSj;gA~ z`d`|OZdm8h>rhm`!Pa%#IOs(#$4eUBMV(R2>8;$I6H}rIy#<}MC^59LR)=>IshrLU zLr~7g^5V7}2ttNLUyA?6ZQBH}H+OEV!fT`<|Mn zp|0yh@LZEV4|cOIXcj!sV9+oOqN=JW&vPov67{Ft^&PueYsU~fRp51^IF7~Fbxm#C z!fqYiC8{i0H-}Vvz#(Ur>|BRbr@*1jthJf@KK+a;>##53&;APnfj}S-2pj~_2Xc$) V1I{y&JOBUy00>D%PDHLkV1m&Hef$6b diff --git a/actors/toad_player/custom_toad_eyes_up.rgba32.png b/actors/toad_player/custom_toad_eyes_up.rgba32.png index 251d31a912a5d64a67f5bf5833d894318161f4d2..7769799334d9f091a8eee538ff665097585694ad 100644 GIT binary patch delta 1329 zcmZ9MdpOez7{`CRX!ImBj;)bmJ&iJ>TvD!K8|5-BJ5jlW#1f589j7T>cCy7vJ4&;i zHm%~Mg_`EF+$sq};Sfn}l7kx4aCAofb>8QBpZD|LzVCmp0<2!1yN8aX`BG@1$#Jyf zQK_*&a8$w(8aB{(_gY7+J=Wd<4#Lv_0FcB|h;c-s4WO${bb!?$9RQ>yf32f_FiFc8 z5M-$i*0Mba3>azSUacowfG*XOw7h7nbPzBCS&H-}`2Se|&~|fS08~4SbJ&an@xKc% z9@XK07vpGo(ZE`1@X{n{tBaO?Y}w;*i`~k0fy3rb!UF(+S`vM{c2n?;oZ6t!5aXu? z{yPIc&jYRmVYf(YxeK%u0P z0?gTes$q!a*D~m2pQ;9YcYWG@y(Gw7Sy>s3mTD?d>ry*7eFrEM7a?3G1)E~Z_R|6E z`)#F}F|L&`$sbObOeZUKf39XL7>nppBD#-K%c=OLI`uNydc*j(zPAHEo82fY$!P+a z-z4|$$$Ht6Ld7~KrQ=h^G^qg6`kc4dhG7hIfITJ_SXMkB#QG*VNg2w~!8ldr8OOfI z4{;~E$1Zsvm?Bo8Ta+qs$TNNV0rvd#3rls-Q@N{837tJl3K>P+BFkM?o{p%m=&!Gi z8p*1OQ0L_2Bwh&HLEgm8&dzq_pw@6cUzmv<=?@Vnnz(Ev3dA-nUY})ctzalLF6Pv6 zYJfl;@VKD1NIo4fnrj6_0Y*@RXEpe51zyS zUXem_8#Vbjq~a51bA=Aom&cKL9gi#!FCv-8kakm8Bhbnwz46c;ZPL+Gv9sMrQsu?Y78EEFUwFu@+u0^E0fB zF%fZR5YfHT;o;&h zV;abbe@Df6wXOC1GHYa*?((oA%oRIcv*=w_3Avf1oPf>GuRJ9_~uHuk>ly$uC%JtDLVKR(_ zXZ+Lo<@nsmtL2pV=981fhsm(*@0hbbb(l{qKR5khH!g#^k#B+%>V25^)EV(WNd^OZ z&H=+r;$4s6F)0|q%KAEVdYEptmPVS`oN9Bdk^kJ}Rz-gGzS9AojDq_q=-&-Bkc1BR UlOI^zCyOtH=o{#B&pYzWf5R+9SpWb4 delta 281 zcmV+!0p|Yp3g!ZkR)70RL_t(oN9~op4uUWgg|GSotZe!ixb?YM^p)5dJMjRFx-r5A z14-@a&qAuS9gKtZcEw4T-`la+%ZsimCYQA;H|M;1k) zgb+sXsM)O~vT_6(>$+A_N+WnTENn{@**UVRD%G~F^1!2pJ%8I0MRd;5t)A<$EHsWI z>#oj~ez&M;y^PC%1ZTXj<3RsPB7fnufZr^TT)3wNG@;_88(8k$zTGmZd2S!$8wC z8LxSFY`0|R;Q3%Uq@;I1E0h6!%)uKP8iJBefmSF3+RX|5`jo5pWaoVKOZb!j1q{P5 f48t&Agy;pu`4Z^^-Jt4M00000NkvXXu0mjfjs%MO diff --git a/actors/toad_player/custom_toad_face_dead.rgba32.png b/actors/toad_player/custom_toad_face_dead.rgba32.png deleted file mode 100644 index 44e7dcb700de00414d1997d3c3fe836ddf159c7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 819 zcmV-31I+x1P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGizW@LZzX3P}QzQTY0?0{3K~z{r?N%*! z8bK6&t=e_LEfR@LT;ht1ttIb?v=x=4}R+{pe}V ziQ&RBvu{4`eQ(~(@Zk?2?}(3~d^em0oCTZ(oCWka37vi=^=}@fx3N?tp&g~68gnqP zh7JKF--9O*ael2jab^oh6E=dZ>I2Z0UZBz}qD6p_?}7k7t0!jLp#Ui0PY^<&WIY+Q zif9(#NbChTVW~!ZeMCIHiAa3#V~<%C)F~iAnW8*_h9u+yS_zVfyi{@;f?eCZjcqEB zeS_W4L0EZ+mR+DT0P0%+JcXADJmas{^_?Hs7y;B?VRf6Uj)ov($54m8*GNY#6`C8g*Ylud7vx8ddSVB0 zWuD7+TLinuXp~7Z9D1GOYFVZYp2C-GesB8$e8pi1xdH zUh^Etf6Hb$m*wKAB4=FUhhQ7~urJ4G0$XDPdR#_(DTpO>;;TQur08~d;?$8c;H z+66Fj2y1pR(nOBIlp100^Epm0_T?DA{erOp9TDJWVpijr!F)_K>X;;%+-DQ{aXHn8 zb=oW$*_UH{qhgyvS($S&EmX?0&5!$#;^DZ+w@{Qp({#2462FyShQ& zC-l9-Zny^j8wilHz#4-vVXzrio77f5yt6OX-IaNW9Jk~D3LuGIFo4~34u@29N-FfU zqremWThK!Q5qV1T{T5#GSPXV}ss97G_$ETpPEPa`V8Fz?_=1WNE}lWR*D?Mv0s+;( xAuE~xfL=H;-aGPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ940}pt`C)hvco29Hco4Xw6FU8f@iULJ*HJ2(unrk9pUDm`aDxDypWr7rqJ14Y zaZwjw8ZN@wya%ApSPbeURtQArQy}22ddFPL34j5=0ucg|XhKo(FbLSA5$aFRGbt8*%XUe~;iYf6xNgWlU9qRg@K3e*Ci zu>~MfMA;xRe(PB0{DF=c!03WFj<%MlTmhrSAzXoD4XA-&gwskin)*4@o{X8Vfb(S? zR0zO}61Xr&-G>qNVR#J<*hh_WRH@L~pnh2g1p?6#?lKFMUcK?#xZ0~+Se!(jg)#vx zBtTggpv11%;B=W`kN9K@&#_EkI^v9je{61_po@pHl&m1xU$x~?cm-sOmp{H@s1=uh zhtuDPnjU}+wWZ`kCK4deaFbV3RT)Fo0mh2p#c+gj9HE4J%pW8o0}WV87OzaU^yyrv5~7e&aTp);f%Z`U-P zI7qhGaoEc+{F4(2O(XW?WDFeHwi654_g|#zx7ryE&bl)KgESUJ*fNWkYg@hoW`U?Q zjvVn)>viA}8XJ*BPZXXZLBlIXNs>jCLc3jVJV)7Pg}@55PH;_H)gc2W{2ySE-c=Gy zypsTHB>e-GBK+Y&0j_563U?BScO5YQHxy-P%Zt{1o5=gGU?#&Wh>l4lI=?@95s^2- W<6I-|RM>I=0000 Date: Mon, 1 Jun 2026 13:06:12 -0500 Subject: [PATCH 18/22] Update Mario's combiners --- actors/mario/model.inc.c | 385 ++++++++++++++++----------------------- 1 file changed, 160 insertions(+), 225 deletions(-) diff --git a/actors/mario/model.inc.c b/actors/mario/model.inc.c index 08abd882f..76efbcfbc 100644 --- a/actors/mario/model.inc.c +++ b/actors/mario/model.inc.c @@ -37,11 +37,6 @@ static const Lights1 mario_brown2_lights_group = gdSPDefLights1( 0x73, 0x06, 0x00, 0x28, 0x28, 0x28 ); -static const Lights1 mario_metal_lights_group = gdSPDefLights1( - 0x7f, 0x7f, 0x7f, - 0x00, 0x00, 0x00, 0x28, 0x28, 0x28 -); - ROM_ASSET_LOAD_TEXTURE(mario_texture_metal, "actors/mario/mario_metal.rgba16.inc.c", 0x00114750, 78432, 0x00000090, 4096); ROM_ASSET_LOAD_TEXTURE(mario_texture_yellow_button, "actors/mario/mario_overalls_button.rgba16.inc.c", 0x00114750, 78432, 0x00001090, 2048); @@ -174,22 +169,19 @@ const Gfx mario_butt[] = { // 0x0400CCC8 - 0x0400CD40 const Gfx mario_metal_butt[] = { - gsDPPipeSync(), - gsSPSetGeometryMode(G_TEXTURE_GEN), - gsSPLight(&mario_metal_lights_group.l, 1), - gsSPLight(&mario_metal_lights_group.a, 2), - gsSPCopyLightEXT(2, 15), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, SHADE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetEnvRGB(127, 127, 127), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - 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), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), + gsDPPipeSync(), + gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), + 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), gsSPDisplayList(mario_butt_dl), gsSPEndDisplayList(), }; @@ -492,22 +484,19 @@ const Gfx mario_left_thigh[] = { // 0x0400E7E0 - 0x0400E858 const Gfx mario_metal_left_thigh[] = { - gsDPPipeSync(), - gsSPSetGeometryMode(G_TEXTURE_GEN), - gsSPLight(&mario_metal_lights_group.l, 1), - gsSPLight(&mario_metal_lights_group.a, 2), - gsSPCopyLightEXT(2, 15), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, SHADE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetEnvRGB(127, 127, 127), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - 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), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), + gsDPPipeSync(), + gsSPSetGeometryMode(G_TEXTURE_GEN), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), + 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), gsSPDisplayList(mario_left_thigh_dl), gsSPEndDisplayList(), }; @@ -1041,16 +1030,16 @@ const Gfx mario_face_back_hair_cap_on_dl[] = { // 0x04011960 - 0x040119A0 const Gfx mario_face_cap_on_dl[] = { gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 115, 6, 0, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), gsSPDisplayList(mario_hair_sideburn_cap_on_dl), gsDPSetCycleType(G_CYC_1CYCLE), @@ -1070,7 +1059,7 @@ const Gfx mario_face_cap_on_dl[] = { const Gfx mario_cap_on_eyes_front[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1080,16 +1069,14 @@ const Gfx mario_cap_on_eyes_front[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_front), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1107,7 +1094,7 @@ const Gfx mario_cap_on_eyes_front[] = { const Gfx mario_cap_on_eyes_half_closed[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1117,16 +1104,14 @@ const Gfx mario_cap_on_eyes_half_closed[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_half_closed), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1144,7 +1129,7 @@ const Gfx mario_cap_on_eyes_half_closed[] = { const Gfx mario_cap_on_eyes_closed[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1154,16 +1139,14 @@ const Gfx mario_cap_on_eyes_closed[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_closed), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1181,7 +1164,7 @@ const Gfx mario_cap_on_eyes_closed[] = { const Gfx mario_cap_on_eyes_right[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1191,16 +1174,14 @@ const Gfx mario_cap_on_eyes_right[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_right), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1218,7 +1199,7 @@ const Gfx mario_cap_on_eyes_right[] = { const Gfx mario_cap_on_eyes_left[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1228,16 +1209,14 @@ const Gfx mario_cap_on_eyes_left[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_left), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1255,7 +1234,7 @@ const Gfx mario_cap_on_eyes_left[] = { const Gfx mario_cap_on_eyes_up[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1265,16 +1244,14 @@ const Gfx mario_cap_on_eyes_up[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_up), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1292,7 +1269,7 @@ const Gfx mario_cap_on_eyes_up[] = { const Gfx mario_cap_on_eyes_down[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1302,16 +1279,14 @@ const Gfx mario_cap_on_eyes_down[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_down), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1329,7 +1304,7 @@ const Gfx mario_cap_on_eyes_down[] = { const Gfx mario_cap_on_eyes_dead[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1339,16 +1314,14 @@ const Gfx mario_cap_on_eyes_dead[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_dead), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1365,15 +1338,15 @@ const Gfx mario_cap_on_eyes_dead[] = { // 0x04011960 - 0x040119A0 const Gfx mario_face_cap_on_transparent_dl[] = { gsSPDisplayList(mario_hair_sideburn_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 115, 6, 0, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), gsSPDisplayList(mario_hair_sideburn_cap_on_dl), gsDPSetCycleType(G_CYC_1CYCLE), @@ -1392,7 +1365,7 @@ const Gfx mario_face_cap_on_transparent_dl[] = { const Gfx mario_cap_on_eyes_front_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1402,16 +1375,14 @@ const Gfx mario_cap_on_eyes_front_transparent[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_front), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1429,7 +1400,7 @@ const Gfx mario_cap_on_eyes_front_transparent[] = { const Gfx mario_cap_on_eyes_half_closed_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1439,16 +1410,14 @@ const Gfx mario_cap_on_eyes_half_closed_transparent[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_half_closed), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1466,7 +1435,7 @@ const Gfx mario_cap_on_eyes_half_closed_transparent[] = { const Gfx mario_cap_on_eyes_closed_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1476,16 +1445,14 @@ const Gfx mario_cap_on_eyes_closed_transparent[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_closed), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1503,7 +1470,7 @@ const Gfx mario_cap_on_eyes_closed_transparent[] = { const Gfx mario_cap_on_eyes_right_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1513,16 +1480,14 @@ const Gfx mario_cap_on_eyes_right_transparent[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_right), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1540,7 +1505,7 @@ const Gfx mario_cap_on_eyes_right_transparent[] = { const Gfx mario_cap_on_eyes_left_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1550,16 +1515,14 @@ const Gfx mario_cap_on_eyes_left_transparent[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_left), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1577,7 +1540,7 @@ const Gfx mario_cap_on_eyes_left_transparent[] = { const Gfx mario_cap_on_eyes_up_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1587,16 +1550,14 @@ const Gfx mario_cap_on_eyes_up_transparent[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_up), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1614,7 +1575,7 @@ const Gfx mario_cap_on_eyes_up_transparent[] = { const Gfx mario_cap_on_eyes_down_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1624,16 +1585,14 @@ const Gfx mario_cap_on_eyes_down_transparent[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_down), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1651,7 +1610,7 @@ const Gfx mario_cap_on_eyes_down_transparent[] = { const Gfx mario_cap_on_eyes_dead_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1661,16 +1620,14 @@ const Gfx mario_cap_on_eyes_dead_transparent[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_eyes_dead), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), - 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), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(mario_eyes_cap_on_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, mario_texture_mustache), @@ -1909,7 +1866,7 @@ const Gfx mario_face_hair_cap_off_dl[] = { // 0x040139C0 - 0x040139E8 const Gfx mario_face_cap_off_dl[] = { gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), gsSPTexture(65535, 65535, 0, 0, 1), @@ -2133,7 +2090,7 @@ const Gfx mario_cap_off_eyes_dead[] = { // 0x040139C0 - 0x040139E8 const Gfx mario_face_cap_off_transparent_dl[] = { gsSPDisplayList(mario_hair_sideburn_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 115, 6, 0, 255), @@ -2708,8 +2665,9 @@ const Gfx mario_right_hand_cap_wings_end_dl[] = { // 0x0401B158 - 0x0401B1D8 const Gfx mario_right_hand_cap[] = { + gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -2719,8 +2677,6 @@ const Gfx mario_right_hand_cap[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_right_hand_cap_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), @@ -2762,29 +2718,24 @@ const Gfx mario_metal_right_hand_cap_shared_dl[] = { // 0x0401B278 - 0x0401B2D0 const Gfx mario_metal_right_hand_cap_shared_dl_wings[] = { gsDPPipeSync(), - gsSPLight(&mario_metal_lights_group.l, 1), - gsSPLight(&mario_metal_lights_group.a, 2), - gsSPCopyLightEXT(2, 15), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, SHADE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), gsSPClearGeometryMode(G_CULL_BACK), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetEnvRGB(127, 127, 127), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_right_hand_cap_wings_half_1_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_right_hand_cap_wings_half_2_dl), gsSPDisplayList(mario_right_hand_cap_wings_end_dl), gsSPEndDisplayList(), @@ -2974,94 +2925,78 @@ const Gfx mario_cap_wings_transparent[] = { // 0x0401CB70 - 0x0401CC28 const Gfx mario_metal_cap_wings[] = { gsDPPipeSync(), - gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsSPLight(&mario_metal_lights_group.l, 1), - gsSPLight(&mario_metal_lights_group.a, 2), - gsSPCopyLightEXT(2, 15), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, SHADE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetEnvRGB(127, 127, 127), + gsSPClearGeometryMode(G_CULL_BACK), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_wings_half_1_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_wings_half_2_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsSPLight(&mario_metal_lights_group.l, 1), - gsSPLight(&mario_metal_lights_group.a, 2), - gsSPCopyLightEXT(2, 15), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, SHADE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetEnvRGB(127, 127, 127), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - 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), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), + 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), gsSPEndDisplayList(), }; // 0x0401CC28 - 0x0401CD20 const Gfx mario_metal_cap_wings_transparent[] = { gsDPPipeSync(), - gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsSPLight(&mario_metal_lights_group.l, 1), - gsSPLight(&mario_metal_lights_group.a, 2), - gsSPCopyLightEXT(2, 15), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, SHADE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetEnvRGB(127, 127, 127), + gsSPClearGeometryMode(G_CULL_BACK), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_1), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_wings_half_1_dl), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_wings_half_2_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsSPLight(&mario_metal_lights_group.l, 1), - gsSPLight(&mario_metal_lights_group.a, 2), - gsSPCopyLightEXT(2, 15), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, SHADE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetEnvRGB(127, 127, 127), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), - 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), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(4032, 1984, 0, 0, 1), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), + gsDPSetEnvRGB(127, 127, 127), + gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_texture_metal), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 128), + 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), gsSPEndDisplayList(), }; From 3e78d90780370e95a10071716657d1ca886d0e82 Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Mon, 1 Jun 2026 13:23:34 -0500 Subject: [PATCH 19/22] Update Mario Cap Combiners --- actors/mario_cap/model.inc.c | 42 +++++++++++------------------------- 1 file changed, 13 insertions(+), 29 deletions(-) diff --git a/actors/mario_cap/model.inc.c b/actors/mario_cap/model.inc.c index a6bc5ea27..9700e2eac 100644 --- a/actors/mario_cap/model.inc.c +++ b/actors/mario_cap/model.inc.c @@ -192,7 +192,7 @@ const Gfx mario_cap_seg3_dl_03022F20[] = { const Gfx mario_cap_seg3_dl_03022F48[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -202,8 +202,6 @@ const Gfx mario_cap_seg3_dl_03022F48[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_cap_seg3_dl_03022B30), gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), @@ -243,10 +241,10 @@ const Gfx mario_cap_seg3_dl_03022F48[] = { const Gfx mario_cap_seg3_dl_03022FF8[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal), @@ -254,8 +252,6 @@ const Gfx mario_cap_seg3_dl_03022FF8[] = { gsDPLoadBlock(7, 0, 0, 2047, 128), 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), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(mario_cap_seg3_dl_03022B30), gsSPDisplayList(mario_cap_seg3_dl_03022B68), gsSPDisplayList(mario_cap_seg3_dl_03022CC8), @@ -288,10 +284,10 @@ const Gfx mario_cap_seg3_dl_030230B0[] = { const Gfx mario_cap_seg3_dl_03023108[] = { gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_1), @@ -299,16 +295,12 @@ const Gfx mario_cap_seg3_dl_03023108[] = { gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_cap_seg3_dl_03022E78), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_cap_seg3_dl_03022EA8), gsSPDisplayList(mario_cap_seg3_dl_03022F20), gsSPEndDisplayList(), @@ -318,18 +310,16 @@ const Gfx mario_cap_seg3_dl_03023108[] = { const Gfx mario_cap_seg3_dl_03023160[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_m_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_m_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - 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), + gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 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_cap_seg3_dl_03022B30), gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), @@ -364,10 +354,10 @@ const Gfx mario_cap_seg3_dl_03023160[] = { const Gfx mario_cap_seg3_dl_03023298[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal), @@ -375,8 +365,6 @@ const Gfx mario_cap_seg3_dl_03023298[] = { gsDPLoadBlock(7, 0, 0, 2047, 128), 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), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(mario_cap_seg3_dl_03022B30), gsSPDisplayList(mario_cap_seg3_dl_03022B68), gsSPDisplayList(mario_cap_seg3_dl_03022CC8), @@ -384,10 +372,10 @@ const Gfx mario_cap_seg3_dl_03023298[] = { gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_1), @@ -395,16 +383,12 @@ const Gfx mario_cap_seg3_dl_03023298[] = { gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_cap_seg3_dl_03022E78), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, mario_cap_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(mario_cap_seg3_dl_03022EA8), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), From 32f5ad9b812e2b81570d6486d304f67158d288ff Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Mon, 1 Jun 2026 13:43:51 -0500 Subject: [PATCH 20/22] [build] Testing the changes... --- actors/toad_player/model.inc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/actors/toad_player/model.inc.c b/actors/toad_player/model.inc.c index 321c01b3b..a4a7de14c 100644 --- a/actors/toad_player/model.inc.c +++ b/actors/toad_player/model.inc.c @@ -53,11 +53,11 @@ ALIGNED8 const Texture toad_player_texture_hair[] = { }; ALIGNED8 const Texture toad_player_texture_face_neutral[] = { - #include "actors/toad_player/custom_toad_face_neutral.rgba32.inc.c" + #include "actors/toad_player/custom_toad_eyes_center.rgba32.inc.c" }; ALIGNED8 const Texture toad_player_texture_face_dead[] = { - #include "actors/toad_player/custom_toad_face_dead.rgba32.inc.c" + #include "actors/toad_player/custom_toad_eyes_dead.rgba32.inc.c" }; ALIGNED8 const Texture toad_player_texture_eyes_front[] = { From 87474c1e0484a0b0c0ed8188cfe021ddaaa4c211 Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Mon, 1 Jun 2026 14:02:22 -0500 Subject: [PATCH 21/22] [build] Logo Combiner Fix --- actors/mario/model.inc.c | 34 +++++++++++++++++----------------- actors/mario_cap/model.inc.c | 4 ++-- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/actors/mario/model.inc.c b/actors/mario/model.inc.c index 76efbcfbc..e511830df 100644 --- a/actors/mario/model.inc.c +++ b/actors/mario/model.inc.c @@ -1059,7 +1059,7 @@ const Gfx mario_face_cap_on_dl[] = { const Gfx mario_cap_on_eyes_front[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1094,7 +1094,7 @@ const Gfx mario_cap_on_eyes_front[] = { const Gfx mario_cap_on_eyes_half_closed[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1129,7 +1129,7 @@ const Gfx mario_cap_on_eyes_half_closed[] = { const Gfx mario_cap_on_eyes_closed[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1164,7 +1164,7 @@ const Gfx mario_cap_on_eyes_closed[] = { const Gfx mario_cap_on_eyes_right[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1199,7 +1199,7 @@ const Gfx mario_cap_on_eyes_right[] = { const Gfx mario_cap_on_eyes_left[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1234,7 +1234,7 @@ const Gfx mario_cap_on_eyes_left[] = { const Gfx mario_cap_on_eyes_up[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1269,7 +1269,7 @@ const Gfx mario_cap_on_eyes_up[] = { const Gfx mario_cap_on_eyes_down[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1304,7 +1304,7 @@ const Gfx mario_cap_on_eyes_down[] = { const Gfx mario_cap_on_eyes_dead[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1365,7 +1365,7 @@ const Gfx mario_face_cap_on_transparent_dl[] = { const Gfx mario_cap_on_eyes_front_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1400,7 +1400,7 @@ const Gfx mario_cap_on_eyes_front_transparent[] = { const Gfx mario_cap_on_eyes_half_closed_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1435,7 +1435,7 @@ const Gfx mario_cap_on_eyes_half_closed_transparent[] = { const Gfx mario_cap_on_eyes_closed_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1470,7 +1470,7 @@ const Gfx mario_cap_on_eyes_closed_transparent[] = { const Gfx mario_cap_on_eyes_right_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1505,7 +1505,7 @@ const Gfx mario_cap_on_eyes_right_transparent[] = { const Gfx mario_cap_on_eyes_left_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1540,7 +1540,7 @@ const Gfx mario_cap_on_eyes_left_transparent[] = { const Gfx mario_cap_on_eyes_up_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1575,7 +1575,7 @@ const Gfx mario_cap_on_eyes_up_transparent[] = { const Gfx mario_cap_on_eyes_down_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1610,7 +1610,7 @@ const Gfx mario_cap_on_eyes_down_transparent[] = { const Gfx mario_cap_on_eyes_dead_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -2667,7 +2667,7 @@ const Gfx mario_right_hand_cap_wings_end_dl[] = { const Gfx mario_right_hand_cap[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), diff --git a/actors/mario_cap/model.inc.c b/actors/mario_cap/model.inc.c index 9700e2eac..fb7d0167a 100644 --- a/actors/mario_cap/model.inc.c +++ b/actors/mario_cap/model.inc.c @@ -192,7 +192,7 @@ const Gfx mario_cap_seg3_dl_03022F20[] = { const Gfx mario_cap_seg3_dl_03022F48[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -310,7 +310,7 @@ const Gfx mario_cap_seg3_dl_03023108[] = { const Gfx mario_cap_seg3_dl_03023160[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL1_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), From ae862d17d9a08fe050c977d710d3abb1e74ba031 Mon Sep 17 00:00:00 2001 From: FluffaMario <50761036+FluffaMario@users.noreply.github.com> Date: Mon, 1 Jun 2026 16:04:00 -0500 Subject: [PATCH 22/22] [build] Fix Logo, Fix Luigi --- actors/luigi/model.inc.c | 704 +++++++++-------------------------- actors/luigi_cap/model.inc.c | 38 +- actors/mario/model.inc.c | 74 +++- actors/mario_cap/model.inc.c | 8 +- 4 files changed, 255 insertions(+), 569 deletions(-) diff --git a/actors/luigi/model.inc.c b/actors/luigi/model.inc.c index fe068d10d..1effcb9bd 100644 --- a/actors/luigi/model.inc.c +++ b/actors/luigi/model.inc.c @@ -236,10 +236,10 @@ const Gfx luigi_butt[] = { const Gfx luigi_metal_butt[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal), @@ -247,8 +247,6 @@ const Gfx luigi_metal_butt[] = { gsDPLoadBlock(7, 0, 0, 2047, 128), 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), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(luigi_butt_dl), gsSPEndDisplayList(), }; @@ -706,10 +704,10 @@ const Gfx luigi_left_thigh[] = { const Gfx luigi_metal_left_thigh[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal), @@ -717,8 +715,6 @@ const Gfx luigi_metal_left_thigh[] = { gsDPLoadBlock(7, 0, 0, 2047, 128), 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), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(luigi_left_thigh_dl), gsSPEndDisplayList(), }; @@ -1675,8 +1671,26 @@ Gfx luigi_face_back_hair_cap_on_dl[] = { gsSPEndDisplayList(), }; +// 0x04011960 - 0x040119A0 const Gfx luigi_face_cap_on_dl[] = { gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_part_cap_on_dl), gsSPCopyLightsPlayerPart(CAP), gsSPDisplayList(luigi_face_cap_dl), @@ -1685,6 +1699,7 @@ const Gfx luigi_face_cap_on_dl[] = { gsSPEndDisplayList(), }; +// 0x040119A0 - 0x04011A90 const Gfx luigi_cap_on_eyes_front[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), @@ -1704,25 +1719,12 @@ const Gfx luigi_cap_on_eyes_front[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1734,6 +1736,7 @@ const Gfx luigi_cap_on_eyes_front[] = { gsSPEndDisplayList(), }; +// 0x04011A90 - 0x04011B80 const Gfx luigi_cap_on_eyes_half_closed[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), @@ -1753,25 +1756,12 @@ const Gfx luigi_cap_on_eyes_half_closed[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1783,6 +1773,7 @@ const Gfx luigi_cap_on_eyes_half_closed[] = { gsSPEndDisplayList(), }; +// 0x04011B80 - 0x04011C70 const Gfx luigi_cap_on_eyes_closed[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), @@ -1802,25 +1793,12 @@ const Gfx luigi_cap_on_eyes_closed[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1832,6 +1810,7 @@ const Gfx luigi_cap_on_eyes_closed[] = { gsSPEndDisplayList(), }; +// 0x04011C70 - 0x04011D60 const Gfx luigi_cap_on_eyes_right[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), @@ -1851,25 +1830,12 @@ const Gfx luigi_cap_on_eyes_right[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1881,6 +1847,7 @@ const Gfx luigi_cap_on_eyes_right[] = { gsSPEndDisplayList(), }; +// 0x04011D60 - 0x04011E50 const Gfx luigi_cap_on_eyes_left[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), @@ -1900,25 +1867,12 @@ const Gfx luigi_cap_on_eyes_left[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1930,6 +1884,7 @@ const Gfx luigi_cap_on_eyes_left[] = { gsSPEndDisplayList(), }; +// 0x04011E50 - 0x04011F40 const Gfx luigi_cap_on_eyes_up[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), @@ -1949,25 +1904,12 @@ const Gfx luigi_cap_on_eyes_up[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -1979,6 +1921,7 @@ const Gfx luigi_cap_on_eyes_up[] = { gsSPEndDisplayList(), }; +// 0x04011F40 - 0x04012030 const Gfx luigi_cap_on_eyes_down[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), @@ -1998,25 +1941,12 @@ const Gfx luigi_cap_on_eyes_down[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -2028,6 +1958,7 @@ const Gfx luigi_cap_on_eyes_down[] = { gsSPEndDisplayList(), }; +// 0x04012030 - 0x04012120 const Gfx luigi_cap_on_eyes_dead[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), @@ -2047,25 +1978,12 @@ const Gfx luigi_cap_on_eyes_dead[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -2077,6 +1995,32 @@ const Gfx luigi_cap_on_eyes_dead[] = { gsSPEndDisplayList(), }; +// 0x04011960 - 0x040119A0 +const Gfx luigi_face_cap_on_transparent_dl[] = { + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_part_cap_on_dl), + gsSPCopyLightsPlayerPart(CAP), + gsSPDisplayList(luigi_face_cap_dl), + gsSPCopyLightsPlayerPart(HAIR), + gsSPDisplayList(luigi_face_back_hair_cap_on_dl), + gsSPEndDisplayList(), +}; + // 0x040119A0 - 0x04011A90 const Gfx luigi_cap_on_eyes_front_transparent[] = { gsDPPipeSync(), @@ -2097,23 +2041,12 @@ const Gfx luigi_cap_on_eyes_front_transparent[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -2121,7 +2054,7 @@ const Gfx luigi_cap_on_eyes_front_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(luigi_face_cap_on_dl), + gsSPDisplayList(luigi_face_cap_on_transparent_dl), gsSPEndDisplayList(), }; @@ -2145,23 +2078,12 @@ const Gfx luigi_cap_on_eyes_half_closed_transparent[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -2169,7 +2091,7 @@ const Gfx luigi_cap_on_eyes_half_closed_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(luigi_face_cap_on_dl), + gsSPDisplayList(luigi_face_cap_on_transparent_dl), gsSPEndDisplayList(), }; @@ -2191,24 +2113,14 @@ const Gfx luigi_cap_on_eyes_closed_transparent[] = { gsDPSetTileSize(1, 0, 0, 124, 124), gsSPDisplayList(luigi_l_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -2216,7 +2128,7 @@ const Gfx luigi_cap_on_eyes_closed_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(luigi_face_cap_on_dl), + gsSPDisplayList(luigi_face_cap_on_transparent_dl), gsSPEndDisplayList(), }; @@ -2240,23 +2152,12 @@ const Gfx luigi_cap_on_eyes_right_transparent[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -2264,7 +2165,7 @@ const Gfx luigi_cap_on_eyes_right_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(luigi_face_cap_on_dl), + gsSPDisplayList(luigi_face_cap_on_transparent_dl), gsSPEndDisplayList(), }; @@ -2288,23 +2189,12 @@ const Gfx luigi_cap_on_eyes_left_transparent[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -2312,7 +2202,7 @@ const Gfx luigi_cap_on_eyes_left_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(luigi_face_cap_on_dl), + gsSPDisplayList(luigi_face_cap_on_transparent_dl), gsSPEndDisplayList(), }; @@ -2336,23 +2226,12 @@ const Gfx luigi_cap_on_eyes_up_transparent[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -2360,7 +2239,7 @@ const Gfx luigi_cap_on_eyes_up_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(luigi_face_cap_on_dl), + gsSPDisplayList(luigi_face_cap_on_transparent_dl), gsSPEndDisplayList(), }; @@ -2384,23 +2263,12 @@ const Gfx luigi_cap_on_eyes_down_transparent[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -2408,7 +2276,7 @@ const Gfx luigi_cap_on_eyes_down_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(luigi_face_cap_on_dl), + gsSPDisplayList(luigi_face_cap_on_transparent_dl), gsSPEndDisplayList(), }; @@ -2432,23 +2300,12 @@ const Gfx luigi_cap_on_eyes_dead_transparent[] = { gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), 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)), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTileSize(0, 0, 0, 124, 124), gsSPCopyLightsPlayerPart(SKIN), gsSPDisplayList(luigi_eyes_cap_on_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_on_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, luigi_texture_mustache), gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), @@ -2456,10 +2313,11 @@ const Gfx luigi_cap_on_eyes_dead_transparent[] = { gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(luigi_face_cap_on_dl), + gsSPDisplayList(luigi_face_cap_on_transparent_dl), gsSPEndDisplayList(), }; +// 0x04012120 - 0x04012160 const Gfx luigi_metal_cap_on_shared_dl[] = { gsSPDisplayList(luigi_l_logo_dl), gsSPDisplayList(luigi_eyes_cap_on_dl), @@ -2769,6 +2627,23 @@ Gfx luigi_face_hair_cap_off_dl[] = { // 0x040139C0 - 0x040139E8 const Gfx luigi_face_cap_off_dl[] = { gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsDPSetCycleType(G_CYC_2CYCLE), + gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), + gsSPTexture(65535, 65535, 0, 0, 1), + gsDPSetPrimColor(0, 0, 115, 6, 0, 255), + gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), + gsDPSetTile(G_IM_FMT_IA, 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), + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCycleType(G_CYC_1CYCLE), + gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), gsSPDisplayList(luigi_face_part_cap_off_dl), gsSPCopyLightsPlayerPart(HAIR), gsSPDisplayList(luigi_face_hair_cap_off_dl), @@ -2793,20 +2668,6 @@ const Gfx luigi_cap_off_eyes_front[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2831,20 +2692,6 @@ const Gfx luigi_cap_off_eyes_half_closed[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2869,20 +2716,6 @@ const Gfx luigi_cap_off_eyes_closed[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2908,20 +2741,6 @@ const Gfx luigi_cap_off_eyes_right[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2947,20 +2766,6 @@ const Gfx luigi_cap_off_eyes_left[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -2986,20 +2791,6 @@ const Gfx luigi_cap_off_eyes_up[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -3025,20 +2816,6 @@ const Gfx luigi_cap_off_eyes_down[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), @@ -3064,9 +2841,18 @@ const Gfx luigi_cap_off_eyes_dead[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), + gsSPDisplayList(luigi_face_cap_off_dl), + gsSPEndDisplayList(), +}; + +// 0x040139C0 - 0x040139E8 +const Gfx luigi_face_cap_off_transparent_dl[] = { + gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), + gsDPSetCombineLERP(PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), - gsDPSetRenderMode(G_RM_NOOP, G_RM_AA_ZB_XLU_SURF2), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 115, 6, 0, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), @@ -3077,11 +2863,12 @@ const Gfx luigi_cap_off_eyes_dead[] = { gsDPSetTileSize(0, 0, 0, 124, 124), gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), gsDPSetCycleType(G_CYC_1CYCLE), - gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(luigi_face_cap_off_dl), + gsSPDisplayList(luigi_face_part_cap_off_dl), + gsSPCopyLightsPlayerPart(HAIR), + gsSPDisplayList(luigi_face_hair_cap_off_dl), gsSPEndDisplayList(), }; @@ -3103,22 +2890,10 @@ const Gfx luigi_cap_off_eyes_front_transparent[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(luigi_face_cap_off_dl), + gsSPDisplayList(luigi_face_cap_off_transparent_dl), gsSPEndDisplayList(), }; @@ -3139,22 +2914,10 @@ const Gfx luigi_cap_off_eyes_half_closed_transparent[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(luigi_face_cap_off_dl), + gsSPDisplayList(luigi_face_cap_off_transparent_dl), gsSPEndDisplayList(), }; @@ -3175,22 +2938,10 @@ const Gfx luigi_cap_off_eyes_closed_transparent[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(luigi_face_cap_off_dl), + gsSPDisplayList(luigi_face_cap_off_transparent_dl), gsSPEndDisplayList(), }; @@ -3212,22 +2963,10 @@ const Gfx luigi_cap_off_eyes_right_transparent[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(luigi_face_cap_off_dl), + gsSPDisplayList(luigi_face_cap_off_transparent_dl), gsSPEndDisplayList(), }; @@ -3249,22 +2988,10 @@ const Gfx luigi_cap_off_eyes_left_transparent[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(luigi_face_cap_off_dl), + gsSPDisplayList(luigi_face_cap_off_transparent_dl), gsSPEndDisplayList(), }; @@ -3286,22 +3013,10 @@ const Gfx luigi_cap_off_eyes_up_transparent[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(luigi_face_cap_off_dl), + gsSPDisplayList(luigi_face_cap_off_transparent_dl), gsSPEndDisplayList(), }; @@ -3323,22 +3038,10 @@ const Gfx luigi_cap_off_eyes_down_transparent[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(luigi_face_cap_off_dl), + gsSPDisplayList(luigi_face_cap_off_transparent_dl), gsSPEndDisplayList(), }; @@ -3360,22 +3063,10 @@ const Gfx luigi_cap_off_eyes_dead_transparent[] = { gsDPLoadSync(), gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)), gsSPDisplayList(luigi_mustache_cap_off_dl), - gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, ENVIRONMENT, 0, 1, 0, COMBINED, COMBINED, 0, 0, 0, COMBINED), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 115, 6, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 4, 0), - gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_hair_sideburn), - gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - gsDPSetTile(G_IM_FMT_IA, 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), - gsSPDisplayList(luigi_hair_sideburn_cap_off_dl), - gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsDPSetCombineMode(G_CC_SHADEFADEA, G_CC_SHADEFADEA), - gsSPDisplayList(luigi_face_cap_off_dl), + gsSPDisplayList(luigi_face_cap_off_transparent_dl), gsSPEndDisplayList(), }; @@ -3735,6 +3426,7 @@ const Gfx luigi_right_hand_cap_wings_end_dl[] = { // 0x0401B158 - 0x0401B1D8 const Gfx luigi_right_hand_cap[] = { + gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), @@ -3788,10 +3480,12 @@ const Gfx luigi_metal_right_hand_cap_shared_dl[] = { // 0x0401B278 - 0x0401B2D0 const Gfx luigi_metal_right_hand_cap_shared_dl_wings[] = { - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPPipeSync(), + gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1), @@ -3799,22 +3493,12 @@ const Gfx luigi_metal_right_hand_cap_shared_dl_wings[] = { gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_right_hand_cap_wings_half_1_dl), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), - gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_right_hand_cap_wings_half_2_dl), gsSPDisplayList(luigi_right_hand_cap_wings_end_dl), gsSPEndDisplayList(), @@ -4005,10 +3689,10 @@ const Gfx luigi_cap_wings_transparent[] = { const Gfx luigi_metal_cap_wings[] = { gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1), @@ -4016,30 +3700,20 @@ const Gfx luigi_metal_cap_wings[] = { gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_wings_half_1_dl), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), - gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_wings_half_2_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal), @@ -4047,8 +3721,6 @@ const Gfx luigi_metal_cap_wings[] = { gsDPLoadBlock(7, 0, 0, 2047, 128), 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), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), gsSPEndDisplayList(), }; @@ -4056,10 +3728,10 @@ const Gfx luigi_metal_cap_wings[] = { const Gfx luigi_metal_cap_wings_transparent[] = { gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_1), @@ -4067,30 +3739,20 @@ const Gfx luigi_metal_cap_wings_transparent[] = { gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_wings_half_1_dl), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), - gsDPSetCycleType(G_CYC_2CYCLE), - gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), - gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), - gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_wings_half_2_dl), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_texture_metal), @@ -4098,8 +3760,6 @@ const Gfx luigi_metal_cap_wings_transparent[] = { gsDPLoadBlock(7, 0, 0, 2047, 128), 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), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), gsSPEndDisplayList(), }; diff --git a/actors/luigi_cap/model.inc.c b/actors/luigi_cap/model.inc.c index 058666263..738cb6604 100644 --- a/actors/luigi_cap/model.inc.c +++ b/actors/luigi_cap/model.inc.c @@ -1,5 +1,5 @@ #include "pc/rom_assets.h" -// Mario Cap (Normal Cap, Metal, Winged, etc) +// Luigi Cap (Normal Cap, Metal, Winged, etc) // 0x0301CF08 static const Lights1 luigi_cap_seg3_lights_0301CF08 = gdSPDefLights1( @@ -226,10 +226,10 @@ const Gfx luigi_cap_seg3_dl_03022F48[] = { const Gfx luigi_cap_seg3_dl_03022FF8[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal), @@ -237,8 +237,6 @@ const Gfx luigi_cap_seg3_dl_03022FF8[] = { gsDPLoadBlock(7, 0, 0, 2047, 128), 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), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(luigi_cap_seg3_dl_03022B30), gsSPDisplayList(luigi_cap_seg3_dl_03022B68), gsSPDisplayList(luigi_cap_seg3_dl_03022CC8), @@ -271,10 +269,10 @@ const Gfx luigi_cap_seg3_dl_030230B0[] = { const Gfx luigi_cap_seg3_dl_03023108[] = { gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_1), @@ -282,16 +280,12 @@ const Gfx luigi_cap_seg3_dl_03023108[] = { gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_cap_seg3_dl_03022E78), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_cap_seg3_dl_03022EA8), gsSPDisplayList(luigi_cap_seg3_dl_03022F20), gsSPEndDisplayList(), @@ -306,12 +300,12 @@ const Gfx luigi_cap_seg3_dl_03023160[] = { gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 7, 0), - gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_l_logo), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 0, 0, 7, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0, G_TX_WRAP | G_TX_NOMIRROR, 0, 0), + gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_l_logo), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b_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, 256), - 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), + gsDPSetTile(G_IM_FMT_IA, 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), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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(luigi_cap_seg3_dl_03022B30), gsDPSetCycleType(G_CYC_1CYCLE), @@ -347,10 +341,10 @@ const Gfx luigi_cap_seg3_dl_03023160[] = { const Gfx luigi_cap_seg3_dl_03023298[] = { gsDPPipeSync(), gsSPSetGeometryMode(G_TEXTURE_GEN), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(4032, 1984, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal), @@ -358,8 +352,6 @@ const Gfx luigi_cap_seg3_dl_03023298[] = { gsDPLoadBlock(7, 0, 0, 2047, 128), 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), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 16, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0), - gsDPSetTileSize(1, 0, 0, 252, 124), gsSPDisplayList(luigi_cap_seg3_dl_03022B30), gsSPDisplayList(luigi_cap_seg3_dl_03022B68), gsSPDisplayList(luigi_cap_seg3_dl_03022CC8), @@ -367,10 +359,10 @@ const Gfx luigi_cap_seg3_dl_03023298[] = { gsSPTexture(0x0F80, 0x07C0, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), - gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, COMBINED, COMBINED, 0, ENVIRONMENT, 0), + gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), - gsDPSetPrimColor(0, 0, 255, 0, 0, 255), + gsDPSetPrimColor(0, 0, 127, 127, 127, 255), gsSPCopyPlayerPartToColor(G_COL_PRIM, 6, 0), gsDPSetEnvRGB(127, 127, 127), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_1), @@ -378,16 +370,12 @@ const Gfx luigi_cap_seg3_dl_03023298[] = { gsDPLoadBlock(7, 0, 0, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_cap_seg3_dl_03022E78), gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b_LOAD_BLOCK, 1, luigi_cap_texture_metal_wings_half_2), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b_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, 2047, 256), gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 0, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), gsDPSetTileSize(0, 0, 0, 124, 252), - gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, 1, 0, G_TX_CLAMP | G_TX_NOMIRROR, 6, 0, G_TX_CLAMP | G_TX_NOMIRROR, 5, 0), - gsDPSetTileSize(1, 0, 0, 124, 252), gsSPDisplayList(luigi_cap_seg3_dl_03022EA8), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), gsDPPipeSync(), diff --git a/actors/mario/model.inc.c b/actors/mario/model.inc.c index e511830df..a0d486206 100644 --- a/actors/mario/model.inc.c +++ b/actors/mario/model.inc.c @@ -1059,7 +1059,7 @@ const Gfx mario_face_cap_on_dl[] = { const Gfx mario_cap_on_eyes_front[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1069,6 +1069,8 @@ const Gfx mario_cap_on_eyes_front[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -1094,7 +1096,7 @@ const Gfx mario_cap_on_eyes_front[] = { const Gfx mario_cap_on_eyes_half_closed[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1104,6 +1106,8 @@ const Gfx mario_cap_on_eyes_half_closed[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -1129,7 +1133,7 @@ const Gfx mario_cap_on_eyes_half_closed[] = { const Gfx mario_cap_on_eyes_closed[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1139,6 +1143,8 @@ const Gfx mario_cap_on_eyes_closed[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -1164,7 +1170,7 @@ const Gfx mario_cap_on_eyes_closed[] = { const Gfx mario_cap_on_eyes_right[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1174,6 +1180,8 @@ const Gfx mario_cap_on_eyes_right[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -1199,7 +1207,7 @@ const Gfx mario_cap_on_eyes_right[] = { const Gfx mario_cap_on_eyes_left[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1209,6 +1217,8 @@ const Gfx mario_cap_on_eyes_left[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -1234,7 +1244,7 @@ const Gfx mario_cap_on_eyes_left[] = { const Gfx mario_cap_on_eyes_up[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1244,6 +1254,8 @@ const Gfx mario_cap_on_eyes_up[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -1269,7 +1281,7 @@ const Gfx mario_cap_on_eyes_up[] = { const Gfx mario_cap_on_eyes_down[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1279,6 +1291,8 @@ const Gfx mario_cap_on_eyes_down[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -1304,7 +1318,7 @@ const Gfx mario_cap_on_eyes_down[] = { const Gfx mario_cap_on_eyes_dead[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1314,6 +1328,8 @@ const Gfx mario_cap_on_eyes_dead[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -1365,7 +1381,7 @@ const Gfx mario_face_cap_on_transparent_dl[] = { const Gfx mario_cap_on_eyes_front_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1375,6 +1391,8 @@ const Gfx mario_cap_on_eyes_front_transparent[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -1400,7 +1418,7 @@ const Gfx mario_cap_on_eyes_front_transparent[] = { const Gfx mario_cap_on_eyes_half_closed_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1410,6 +1428,8 @@ const Gfx mario_cap_on_eyes_half_closed_transparent[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -1435,7 +1455,7 @@ const Gfx mario_cap_on_eyes_half_closed_transparent[] = { const Gfx mario_cap_on_eyes_closed_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1445,6 +1465,8 @@ const Gfx mario_cap_on_eyes_closed_transparent[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -1470,7 +1492,7 @@ const Gfx mario_cap_on_eyes_closed_transparent[] = { const Gfx mario_cap_on_eyes_right_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1480,6 +1502,8 @@ const Gfx mario_cap_on_eyes_right_transparent[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -1505,7 +1529,7 @@ const Gfx mario_cap_on_eyes_right_transparent[] = { const Gfx mario_cap_on_eyes_left_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1515,6 +1539,8 @@ const Gfx mario_cap_on_eyes_left_transparent[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -1540,7 +1566,7 @@ const Gfx mario_cap_on_eyes_left_transparent[] = { const Gfx mario_cap_on_eyes_up_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1550,6 +1576,8 @@ const Gfx mario_cap_on_eyes_up_transparent[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -1575,7 +1603,7 @@ const Gfx mario_cap_on_eyes_up_transparent[] = { const Gfx mario_cap_on_eyes_down_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1585,6 +1613,8 @@ const Gfx mario_cap_on_eyes_down_transparent[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -1610,7 +1640,7 @@ const Gfx mario_cap_on_eyes_down_transparent[] = { const Gfx mario_cap_on_eyes_dead_transparent[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -1620,6 +1650,8 @@ const Gfx mario_cap_on_eyes_dead_transparent[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetCombineMode(G_CC_BLENDRGBFADEA, G_CC_BLENDRGBFADEA), @@ -2667,7 +2699,7 @@ const Gfx mario_right_hand_cap_wings_end_dl[] = { const Gfx mario_right_hand_cap[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -2677,6 +2709,8 @@ const Gfx mario_right_hand_cap[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_right_hand_cap_m_logo_dl), gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), @@ -2718,7 +2752,7 @@ const Gfx mario_metal_right_hand_cap_shared_dl[] = { // 0x0401B278 - 0x0401B2D0 const Gfx mario_metal_right_hand_cap_shared_dl_wings[] = { gsDPPipeSync(), - gsSPClearGeometryMode(G_CULL_BACK), + gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), @@ -2925,7 +2959,7 @@ const Gfx mario_cap_wings_transparent[] = { // 0x0401CB70 - 0x0401CC28 const Gfx mario_metal_cap_wings[] = { gsDPPipeSync(), - gsSPClearGeometryMode(G_CULL_BACK), + gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), @@ -2964,7 +2998,7 @@ const Gfx mario_metal_cap_wings[] = { // 0x0401CC28 - 0x0401CD20 const Gfx mario_metal_cap_wings_transparent[] = { gsDPPipeSync(), - gsSPClearGeometryMode(G_CULL_BACK), + gsSPClearGeometryMode(G_TEXTURE_GEN | G_CULL_BACK), gsDPSetCombineLERP(TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL1, 0, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), diff --git a/actors/mario_cap/model.inc.c b/actors/mario_cap/model.inc.c index fb7d0167a..3a5be2950 100644 --- a/actors/mario_cap/model.inc.c +++ b/actors/mario_cap/model.inc.c @@ -192,7 +192,7 @@ const Gfx mario_cap_seg3_dl_03022F20[] = { const Gfx mario_cap_seg3_dl_03022F48[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -202,6 +202,8 @@ const Gfx mario_cap_seg3_dl_03022F48[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_cap_seg3_dl_03022B30), gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF), @@ -310,7 +312,7 @@ const Gfx mario_cap_seg3_dl_03023108[] = { const Gfx mario_cap_seg3_dl_03023160[] = { gsDPPipeSync(), gsSPCopyLightsPlayerPart(CAP), - gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, TEXEL0, COMBINED, SHADE, COMBINED_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), + gsDPSetCombineLERP(1, PRIMITIVE, TEXEL0, PRIMITIVE, 0, 0, 0, ENVIRONMENT, COMBINED, SHADE, TEXEL0_ALPHA, SHADE, 0, 0, 0, ENVIRONMENT), gsDPSetCycleType(G_CYC_2CYCLE), gsSPTexture(65535, 65535, 0, 0, 1), gsDPSetPrimColor(0, 0, 255, 0, 0, 255), @@ -320,6 +322,8 @@ const Gfx mario_cap_seg3_dl_03023160[] = { gsDPLoadBlock(7, 0, 0, 1023, 256), gsDPSetTile(G_IM_FMT_IA, 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), + gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, 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_cap_seg3_dl_03022B30), gsDPSetCycleType(G_CYC_1CYCLE), gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),