From 73b3cd10af4a83f3d9108964a5343610029b7fc9 Mon Sep 17 00:00:00 2001 From: TheBrokenRail Date: Tue, 15 Oct 2024 13:38:22 -0400 Subject: [PATCH] Vignette --- images/CMakeLists.txt | 8 +++----- images/{ => mojang}/chest.png | Bin images/{ => mojang}/shadow.png | Bin images/mojang/vignette.png | Bin 0 -> 24157 bytes launcher/src/client/available-feature-flags | 3 ++- media-layer/trampoline/src/host/host.h | 2 +- mods/src/misc/graphics.cpp | 17 +++++++++++++++++ symbols/src/gui/Gui.def | 2 ++ symbols/src/textures/Textures.def | 4 +++- 9 files changed, 28 insertions(+), 8 deletions(-) rename images/{ => mojang}/chest.png (100%) rename images/{ => mojang}/shadow.png (100%) create mode 100644 images/mojang/vignette.png diff --git a/images/CMakeLists.txt b/images/CMakeLists.txt index d0fc577e8c..27aab7e306 100644 --- a/images/CMakeLists.txt +++ b/images/CMakeLists.txt @@ -13,15 +13,13 @@ install( RENAME "titleBG.png" ) -# Chest Model +# Mojang Textures install( - FILES "chest.png" + FILES "mojang/chest.png" DESTINATION "${MCPI_INSTALL_DIR}/data/images/item" ) - -# Entity Shadow install( - FILES "shadow.png" + FILES "mojang/shadow.png" "mojang/vignette.png" DESTINATION "${MCPI_INSTALL_DIR}/data/images/misc" ) diff --git a/images/chest.png b/images/mojang/chest.png similarity index 100% rename from images/chest.png rename to images/mojang/chest.png diff --git a/images/shadow.png b/images/mojang/shadow.png similarity index 100% rename from images/shadow.png rename to images/mojang/shadow.png diff --git a/images/mojang/vignette.png b/images/mojang/vignette.png new file mode 100644 index 0000000000000000000000000000000000000000..f236acb3c84c92153720703a1953304074adee69 GIT binary patch literal 24157 zcmX_n3p~^9`~PPLGpCqCMLCmD5lM2`6e-D}Hd5GnQc8vAiO6Z6(Gy7ym7-#coTkjT zlO*<0J(1KXB4O)^EIG_^W2gT|-|z4LVlU%m_x-uA`?}uO`+8sZeaYX~OHEl%82|va zJ-a>j0{{YkivX|~_(#ZJRmb5U=m__H?f~$gTouU?1^9QRnBBo=0bs?;OG9M6P(KzDd|LH8?a|BD}+jXNw2FHV)0#P83fik1i&*IuHG)NjeeD9a?x= zU(Bj+o`3N5@X*YS+4&!i?DI*VZV$ya4~gD5MnxyQTJxdz7g@eE5ywgzTuhueMQ&{R z;lOetFRzQ!TN5_VoG4%=k1QtsV;%NqbC_)ACY^P&Y5dsNz2v2jv-4MPz8Fq!68&T2 zMz%@py8NM6g)DkGJD;}d1uxlEzQ|!Wl)x4|bIw)Rz-ekInY}Z5`kbry3#YlEWd44{ znN-)=BF=yy@r`}Se-`IEcdDOBmU840PDQO;HYFe0-b9a!m-}2Lvh!MQAJa~!oIrW3gUKjz8jzXJ0jblf|ACe06-utB+pY5^ac0t8)VsbOHDU>T&T-X z4a|hzGE9)vifpVT*xp1C(U}R+_n9K8$FE@Tpzr+uS04O+lPA(5NAhN6@UY|4fP8M> zB~v!a5Pot0|BI?K?+gj6*m~1W{m%T&{So=iTHkbSRjn{bFk^C2uDowk+_9;5!Zt37 znya;=?K(o{5~6FQd*2F~6m<|6?vYoGNGb_X>zmDqgalwDvTv#2e#htuyn?Hn0DDn&Tsa2!Y&l#~8Xs6c zSBzutR@Jp!zk@In8`o)!@m!nm}kkCScipU zFG{5Parm+3{MB~lJbKr4)jk^vi%_l@YLY3TUD7+aN6CZ?#k{dZTm_bp1)AI9RPi?@ zUNr8Ax?akL#YZ7{yTwv?re-_gc4+hjEBl2`r>X7gZK|6T+EqK{GdA*v`mhDdCNEDF zv+FZ8^42FG}qZL?^1wqG=_$C`JD! z*+~-IJq2)!Q)1`sd5yDc5!~{h+H*Lbb)7w6Pr*xn`f>laN3Zkp(@ZXq>;&5G)oD?Y zpbqMowjIu=hhSme*3nY6!`l@v!XRI!dMlY!fRJSO^p#D53{f?J?f0{^QJ($dxD%xXgf|eu; z&dzc^;tvO5M2n3PV0a7~M^Sfo+(>bNQc%nY0!gVfmF8R2SwMi@zGv7T!7i{Q7IDhl zdWF(8|GY66nRztadeI>2$0eWU-II-~9qkDV0uMWSnQQux!9gl0z5AwZ6`~pGoW2<~ z|EXl*@dV#G3E%9v?qasK)eio8)Pl-&D}Dv0&;P=%Z%jR2Gor^{V-Xou*r>+~qgDBw zP}`}mx$Vyka;xCghh|GrLyb+lFnH$dPW8`oUxt4H+!oef5)#kPJ(od&h?HDNsxB9( ze=TS6n~IFq-Q!su@y6s^`Da0?wY$c%u-AhNaqbnEx@-P%IOd9%RY|sydJmP|d#ph- zo|}PC=}ujfaJRs^l3V6>Zr*b-)qK%uEPmMS^K=l6n=dk$kRI8kw3cSj@{;feWC<=u zmh^LjY;sB#Ra5)nS06V(*dn}@kGyJ-x=D0?F@jI8wq{y+9wec6qXX=5l?r`r{%!bKCLGUi5Z&ebFmQjz0mq??oMZy`|0b*+VeIF$yADc z=TV|ZjBU*75Y^YJebiY;>LdM>V^gidH^P#9WU7HLR^Kj@*kWLknTWM>fQA5}TGe&R zzbYYFXjO3pGBZ&eWXiUh_0&p^OypE9)Maoh=aXYHEavMfqB{l=%_A39&bw|eJU#9q z+5NBe`6=~S#X0OP<#8CQmRRz{#yOoPM=g(C%Db_<({y#Kwz!vLPwQFH0Uer^;c*XJ z63WV)_w!}Ps?3X*u5aE3$DfkO{*`*h`Gl)1B)eVM@RXyKMC#5RcGFA7CM&Y9!jPC- znu1A87MMczd8=cTdDQtJ>Jw5gSvEqB8mvj&C_Wo!n9S0(dh9*jxRVHv!ksIJb(^T@X~Pa-f0_v zYBwTUA{cb(+PnSw@Ms8CZ$4o1=yzX>f0J_B zyTV51WR!S9F0UFgK!~gTQpV0zTPOOhyOgb+r;#VIv-3ZhW|D4+qZ|mhzS5@~-X*~d zj-~0*Oz7S+eC*}@BfGC?1?i_-aECt?jeR#a=uyRQn&jca(D-=R_1)rU|JqU%(MOA#OsxhJB)@)XjMf1yIq^ykwbPJXI@pFxDwR;m9?}~HtCiv zVLr047hiuz)=fFse>R=74@Q-vvmeaCDV#6Opv)|-9NCC$KsYtZ=KSQbx5Ii)F~yWW z+IAz@RErDQs@ptcNHByk0y1Slr2;%@G^n=20%3uqZ@Rx5IDnj5I~PW~f6CTd(FD)) z0fHNBtmjEl)W@~&;^(Sw3~k`D%;etPUJaZp&MW8bs|`Jq3OE8pJ*jFXNwT5p~NFQFUrP>IjErE<&fCK))gCT6%P(BSq7(Z8b;&SZ= zc0Idnh(5L1R6){QtYK%z({6ct&Ku2)%)_~tW42qm535uiGrh6$_Kpw7u`f<(Txp4V zq@k`}TF2=>@$?wEL?<>5P4w%h-5AobveF>78BoQ9;ze4K|)pJ@yp zX8J=p&85OWuEO4;gxC|kwU_^R6EhqVcvYbf0#(A3>8q znyi6x#fx7AvwBoa>am4y-}FkRYPN=*=5H4GmBAUe;Cm2`du#)WYZ#;R6NZ?&)gT-h z0!303 zUcozgXtGfaPV3DhhxFfa)LaktAH8PNK3fUlm4D-;@-SO2X0wm=PDzKR&Mf2CyvzqC zcF(-GrK#F^GWMruFXM6na?`4%X4v;t4(&!Rgf!~;{{$utUSBkxL+7lc9jIrs+ZU$~ zZitFHOa7g0aOz_$xEBG(n3#3h{KS!pZMa$WMK6lUJj2F2p zX|sFyJqFg;6y=Kxyad!>`076YjWV7Y_%*{{iQ)|^77*2T;*?@BnGa)mM2Dr=MoCPa zqWZVjckpAAzcTwIDW?ryVoN^GMRfy)ffP+iK1`jy z_N$&MuJ@vH!wxsua1ZZNuGP#jLa~g9Sx~`REto#^t)VP?iZ8MXvmtX3qf|9xM0bU* z?AVB`nvty#ozLM8rlOZKpuHFe8beo$8AnN0O}>bK{sNmeAoQH?`o)2aa38us*>ujQNOQpHQ?HJhxZgRg>|Qdfyo6R&r`&KRQVrZ7X6&y%^#U%jaly-)c} z*#l`qBDvY|MYI`O;x;Xg-yz_%y=9asYvUNfa6YI|&~gAR)}Novv-BNNIhc5hgbh); zpGR=;+_a>d5xjVq#BG6Zb>3~3WJ0=n{ zMwa%F2LoA3!2(wkOX3Bnowqg9=m6~Ubz839&e*`O+JD!w`>PR+X_xn2HK9>ZeR$^k z*`@6x&B~IYq08lNcewGDTs6GS?7o>4vHQcW)&{szNV@(Xmo1k?cfKZt&nkv^CMqf- zF)c)R`-Ch>JL~lC?Q>raxx3hww|v@{%ybHUAMK zeUZNC8=7m6sLr_2n#^MUec)#Ok*c@&=N;jR<+Yi^Nv`#;lJ@CF*iTZCiD+F^077z; zx_GmGZ|Im*R3b>t*Qf~Z3{c3zc5d*X8twf(x<5%N#|-f##7xh~E_dUvmE#r2$}%7P z_{?P!cJACcQ#NzD@snXu$~NfxqT9LIFY33>O527XRdM2yQEYtd4f>=)b2^fyi707l zHIkQ;m&!LbrcSS-{`m{edF{}id{WDGEU^b#HtM)qoqMK*@p;9&VmPIq z$a46llX>g!?pvEn^tX8{?MCuKQwP5pY?au3Vr5BmM5d4YmihB&2>z;gnf=) z*nuWPuGWxEs-Z}_C>*ELt{Ep`4wyhQ#!IOC7`tew8xA{|DAZ`wY4Q|Ii#8v8uNGUW zXpiT`uBjkfjJ6J?jx0jV-8QWxIZuSmq=!SKuAZTT@u}DodNVm0T6B$b&I>E9M?jv|NKndy&UdL}3EAW%&JL znK-9}1td~D;DyP*tlm?G_pe4A)A%b!Nx{Jr5bM$#(O8M+ca{62IrwYxwP9e6r{~qZ?MO zD)4o`uY4!4H?cZ2_1a&CIdg$c(xPz|#OiSCdEa`KepU+C1eSgX`Y|^zu_~EztcU8y~ve;sRX8~?RCHC8l1%UV`dI;JZjVP-Xfj>vVF z9mOvkJ$z0Ib7p>EXwNA@(sAMFvdi96wt@vNMBs1Cs@jiqk+$`K>e_cT31lOCjB^34 z>Tt|I8spb79JGcmHQrL%$P=zJw3$EuVd|LM$eb51=qmp55>Bx1xm9(p9ki`wGg3S>EzFXR!r9jdb3 ziO6O@#$jE472py}s(nEg~E3@&392CC>`G?Yh1V`2}`y~pfA(p*i3?DTAN{2H(1nQW$xb$24UBkb#BBNRHL{5dfm;h zE06dC*VyTK zhxqCJwQ{qi_!d^Aq&f3bYG-jWj3_Ip;WNSALFF#y^QOF{$HaU$WU?Y3FF@hzCYrWS zrT>?$%6xo&leoLTC8uz{Sd~-&Lw+9G#ay6F6Dn85GR9Vp7p5icO)q9bYKZWR^Hl@# zr{&aDlA+$Ia<}VJU6B(v2zGdQlL|+t5Y1lx3QMY)%EPei#AWNpRrhixTb2IHi!%W! zV$#sofw4cWZ52Nc+M?fgShp~b;H5yZqMVdlwo8K&rDa#iJwJm+q+V%wJ2A1DbJcKf z(%SjWoT=R@Ng`LPTF?OT)=1twC2ro>*epz9$6u};^@l+3^vFQob$#xYHK~E4;%Jm)Qk0Zo_*{B?GGUklv1U?k zNc#S1opjrkGBPH9RgB=$N&|42vWI3!FL1k}FtT=vbNA&7{$Dq)nv};U4IJQKI@#u5X z^Dg1md-8yMn7uP^bIg~Sdkx2_*;RlO=-aMX!iHmaVV2^l!uaT$&qYlFH>({KJAWp$ zZ>Je@i%NdD(?6wLo+o6ljRt%=9&jA|0GvKtA+n?{Eh3i=bBL>%gy1C>B zJrNlw!G-IW^jDkMu9Q2!;!B(H-ASM!qFH5bYN>XrzamKZBwyQZN6h})n(nQJ{*i!C zKe3^+Z7`YEwsuY*<#i90)Sh0vZ^sKfBdNR3747dyjmxamn+-i9Y8jMzwWp2?W_45V z3<~YYnAE7T%>u6#>^-SDOW0%#{)aI5aXi7P&CcHnq>jd?jy@IcXWbsm;MQ;(_hWWr zWWfv*e*@a@Ac=<#AfpUs_J6yMes2D>!k-=?kg{AL?a?yjNII`9rW77+!a0JqF^lbmRQIzfrH)`s9 zU<^LJrnWuZON6+VlBU1Yzd(V5_IHrReopjKaVzChEq_vp!$HUCNc`5>K9rtk$`;{4 z&BL#A&6<%Zm=BvEp`>YCTCDLr9HReiiJZfhK8Cu1Bv=x8zFe&(eMAgw>JC8Y<0-e4 zV{c?s{bRh%E_r{%5~+**X*y!v8{$&LS!w7eme%6NDaX%V^@gU@;|rv#^fFl(&zWJ; zd5j=ih?Xxb%UN{(P@(F!eFT!NInwm2uXi3ie71YR3ZM3LYZC3ljxOfTJQ7p{JRD$W z$-Zk^>rlLJCOWzHI&nEbnxu(xot-C;i)5h;` z6SSC28o|92^>#yF&n#5?uwC=X zG`cx^WSPC4%`LmT=Z6v>mmSKWeyvaW`nl;j>k?cG!SGj(C5{+*tJLl1S<;xAUC++Iyh1-)A5N4tiihPVhgMV-F{7Yp7qex)+BNWaq> z#4r3OcQDXqJ`v{>9^Pr5wtgeOiq^4;hda7KYpEz>Tq&eq`_8!5`0BLaVB7r&p#~H= zS6_UbG#8|JKKwxHH3Z#vdEnl~|2$aL!ZB~gN(wo<0=WC^E-$IB$ho&-gMtg1Z`Bqg z({E-yw_!)f!nARs2wK+fLZ{*}tTHDf92KVyDftK$d4C=ah$fsHPw-N>Q|d|$o+Nw9 zeOt-#uUD1J%}uF_5@uQMyCl`rq`c{tNhBM!r234z^nm+(S*jm};Tl$cd81>nsH`#V zL%XSb<#qIJ^ty`-YublNkhwF4iJUYBtA5$Mlh*K~%dhy(aZRN)hp6GA;A@%AvXIfy zHbWYDL=0!S^KQG|Vnr+Juorat3}*{lPk*XOe9sRvfzb%K1iXLgtrp%4+9{f9^5>L9 zbf|3#VtOex+UC>a<_louk{UWXskL9^nV67Z9%F&Z59y)2> zO0n(f*V+k=I{f8rj2ZFA9Y9!!)o)XSIaH#MyGAP2rbo@;O9y%p?0Df~`pB_nB~ic+ zJCRewR)KxOYKk)Kg7~q3+4Xg<4O*!e&? zJPBo|lSe|E=xFRyzBLuU{|EW;gvBk5$-yd49&vcXJ{xerQs11 z^~vw*PY<4&dG3Sp(xlZ?X2DH(7jwQ9ENpb{Q(#_d@lgm5gCDbWkNc2btU6--Ea%<@ zD`~Lqj(w6)t0lj3_N~cZg{k_2q-xF;OAOU~F#zKgVCeoDsDZvHEVgrNhMY}NM6@X7 z>>((UpnKtlCc`OVjW?y=Dr6qB_5rf=z{U5im$zc+>)_|*+m9`hugHoY(xYdKS5t#8 zM_Y{6^B*dwet-!_D*A_)%fC3-$cYo#stX#h3|eHv*v&Yl`Y(X9Mue>U_&~WTCCvv3 z`<_FXZH zPG0(ke&S!7v88vV)W;vcjOhy6!O|Rreof+)}q4p^mjvdxWeGcGa}S_5suF zZ=5g7^uI@YE{TFSLL?8fgTm`}pldOk_926>`4jaX zAAi`c(b1lkuUv=OHlk1%T|or@Hvz0ixT5R4WY)7b{j;k!iZjP#!E-?o!s?5L4ns-A zA@VYKh6=1H`bq<3#w};4U=eSyn(Q82AEAik;rP%$nG7_PF^X?*=R|SG}pwkr%m9dL|7>>xM^5I=P za0TD>Ec%8x0_JuT8C_iSs=XhrMdGuV-ELl2fu}071_)1Na0V|++5h`X=KqE%t}rsh zH5-FWNoAtEVKIUPyDLW<)LSH#v;UX+r>>Y=cX7*4wF(*yO{PP+=_a)M+o8d-lo-@Bve}NEre$UXii!J{gav2izC!w#bo2*3M+`gb zx*zmgqRY!+)cR=YA)jp`W$`$lE|~6S9MBOMs2{`bvLdJ{dtOUpnpJf`A3%*D)b>Y+ zV%!lMMHos7MT! zGZ2V?$H~$DUIO++0vyc!>!|mN+q9r9@~P|cXF{@ryiUw5kVg&&!JEI#3s|M{Zc$?z zTXE@h4usz+L_e=4EI$(*zy9_}c&wEdV?Tnv4qyaodnherMYti4*dwoz(BDyuhp0W0 zSCiBrS&b*XU2^%k?BNaWh9$oc`KdWNt|d#kj-Fvj>-e4CO$JV?j!i1_wlEH;@jEav zL6i{`<*)$u28@x7oVSD@mBaSGjQ`&wvb|(pKj=)c*9Z2kDKDgdt=wUWL%;_hDlq;^ zL=qyz{0IJfl?mfGy7Vf~TaUp++`&|R0m8IjhSFY`f+@hHq9BwOf%LCoe*uO^3`69s z8R`>JI{eT-=&mz(J2|nJTf(O*$lU}rUub)*U=I(qk8x1rZ&9fJJtWKQV>ZUkd>PMK6jTj& z;W6UivI~&sWwTvF`as7wuF%Gg)svrozA{lkWX0V3X3hkAQ*3{>wYhZv`8X zUle&yDU*s-KadN0v;Z$y(j)4Cjaz{R8P!9^dBBD<$}lxt7V0e9v=@6HnFrRqVZaN2 z&~gXklLADkG#g%lRwBkHmM8sf`1p6!o|n0`64vneJg4`P$$o^secmUqU9oPo!b zI&`K*cnw#zRe`QV@l&AmFWal_k=$!oKCtvPU*5}SuNYG@4zwZ^(MWp!1*l3lC{&O3 z=>{(Y2jy>sTo7&gpw}AEMe6uo?))APJDoFum59v7-XHt82Sq$(>!>h&nlOTj!9!>C zXkJgz^mXQtsWmY0d!kR&5IOzFva8lZK}l%mSwx>!%wzSKJ*I*-Z^Bls7xi)|LWL9kMvy;fbs`l@|E(r0jbB_kV1P~^p8fMqi?B7x_6V7%fSQ!nNoE+O2U;%6CS zr~UeHn#BQHpbT#f?pei)Ra>nI-BYA&M}g>=x5~g8uy;v5nD^?n;xpp^eIVm+p9*A+ z6f{SS|3nTuP;?Oj%}ynRKov4T76t;fXaNNWN|PUXLyyf@@1-RrA`+bax9V&&242}r zDh@|MJC#5Vq76&=h~A=)Y{ydeBVU{YhSZ+fgeq-&sJ-o{LZOd>@0&CWl^uJLg{P4v zj}d;)f%7VYax82CK_oEb>J(l8Hf?PA5(TVPzNG=W_HNTT_&}-kIOA;?xW`#=(oV51 zLTmZ|pDSQ>pbJ2)In=0_{CK;IJu+x7EfiTd%IP>^vpk87CvfqAi{<*mxYW(a!VZK_ zKWK3j>e1#E0F!wC_+h+_YSR{kfXEBqknnI7<>BgZJM|cI(8A@&tQ%N^OsI3m7b|Vs zfe2CJo%D0wo3%$dh6Hf85pH{oe3dlb9LIF@)7U4qp>SRPux;L3GhVpHiNqClP-qxDpo2*M zv>vcmufy?gAzj9fBmQ}!njpLYKTc&-s<(dyP`i%TgC2;ocVs^hKG%d&e1Ol-z+$l1 z4Q$LUtXJsxnn?d@0>0g!r&y~FX3%Pj!Q8?775&vvi@Rg$wPHRhO9&mvzB*tMRj2_LApbOk;`9XG z*qbIsG%y2{ph^>E@Qs4SWY z#o6!%t!R5>934Oihzes|3wSu5 zjGt2HR*K(e+Lx#+l`bQeqXuhEJ-vMz_0Ue133R|Q=v;SZd+{AL%3keU7yUM0?717{ zLDk_Nutq(`8O&V(cD1HYg<>K(8Lk!yE~5NOWU#WWlNNOA=cXqbbIG=umZ0fZTEm*o zzEhlO$~iZ1g48&SxErYWG!wKylSWaDRWZdX&s^;e7RaqPLNAoFSJ4ix5#)~|-G1)z z>t9!i{IXt9Qoy??UWtftWK1a3-FbC9Zvu1LRaCN{p^rO$mA^F?>sV3$f^(Zt2)L;6 z@8A;lp`tQ?z+q}7;)J=JdkW~Ejp8&F=YGpb8+TgWE!gI?vcpH7gk?lxn2Ct&D;peJ zdMN8c;o-}HZ7W@Z)s9i@FGbp+UymY)7{<5P#7A$b_?4$QUA!NNs&x!FdkpPoRD*A$2#3>MoQ&H( zf);Mmmqv?ECHRPjuk&ivDZ9E#w($B_$KJQ%@uS0kxn;+n@NK77h*Tv9<#-c${V05e zAwBQ|AFcpBMFgM1Yl7bfkg_7cAd!D}R?b5h!_b|uxy?MA@a|Q1{&b#3n8uhD zge5${2DuS#U_waHe*ji@yEj}#%YCKnYx2XC{#a z(i}<#_98kJ3)gBzSwWGdd{o~8@u)9;UG^1%xXvQu!g{3bn|edHC4jFG;}o-fZ7d1V zn)iB$Zx|=HT%6JY->x+30m3;ox_t|h=g7Jl!$81R&VGzIp$ya`4nvLubR9yaW(1Knx<4>sP2f?GTnr31z@!?kJ*?%<^KxI5Mm#WNgW(kdQLnI%)gw3o z--7l0^>u!n1YM0%(@uZZ?k>`J!30ynZLi4k7b|a37v|*RU?3?69j`#?GPDNZy!`_q zsD^GV;IjduIVAg!u2RD8w)~AP$I*uzAa9dG%)wXa3dDd$_;D3I+MCx4JAbZS8R-G_ z05(c9M~w4zPpIEAf!~LbAUB>NPD+}3HC_l3rp6MAP zVI3IZ@?F=_a+wP(yw{s`LaaB0(|QVEig2@Rb4!kX14Y98Z{gMJzj#@?g&S4g>!sIP zQLd=wWXoPiOfSn8?!*Y`u6_funqjspJwY??s(dA%DWUcw+ANT80(Vq~uuuy4HsD(Y zvf@|E`0a<9iVG+s#53h8UzN!lsELfv)tLLYXj(ck<}_WUaNg9gY}aS6Lby8o?E>5q zITO*Q8fVS=t_s~l+1deW!UzSJk90;gM`Fk3P*n|J(@8=&=D2xFt+IbLRDe!2vqiA| zq{kYlD`5l3HD}oNK=(=Dq4(_qc^(kB9oQ$MEAfgr$vp<)+!=47t!{5rXGTU`}O09WKN4(qqYqkTUp$Lc`o?(3-A z)OZbmSfj}hcn|po86_fa^pYO56fXin2of10DRk^PV!kx{F*kBHx@T!k5w%ZtxIykM zgG;)L>e2E+dt^u)podsJ$x((rflSjpbrq5uA;Pw;`EBGTLIJ953&BC*i~767rxwR4 zUJ9|#Q8f?Tdx-?CSIQ#i!_>yEoD;|Yi^ z+#f-jg`RR#DEAG$Ai8D%Z!O)|fwz_)nWBD{R>F8EiNF}OQ(xWw7IjOWqzKb$mtVo0 z{=j4~(u+~AF#G3`Vkr;+yS&xsu;7hKZxfN@inj~UHCdqR!GOy#fjZABP@9d3JoV;mU0rmTJ1lWcfc&s7Y?;MPB>l!Tn!P%1LWLrVeFL!i}N+h2)EXt$~?p z?#H*+sWW~c$8Xyz)a_TRQ_sDf)_qlju0eD~lqh?cx8x}Iox++RLV_}-R6BoO>mED? z-zd}i&bkeY4ZjV??w1{%rz-wl5Bm`Cv08qco`E8i$l=)S4yQ!e?%s&~S%F~cb)He4 zK^Pyy7~DlZoP@j;h@ojgnw?Q{D^bDp%{Zw(PTIp~y`v7uel6l1VKmrK_ny^cqSBHh(-m~%uzkN)a2 zYX33`fqE~jX!6T4uU#@#iOVd-8eM;Ue&&{ANw8?!JVJYRC^a#w!*FJMp^M8bh45By~bx$M5Gsce_2^AR1 zF+1VLc&s%lf3xU{HxeiM^VMJQNvjuB)*R=#jQNE8Y|*Pgmb^fZms`$qdZ|YyxbLXT zS{5}>)@Tflx{NyAE=TmKcMhsE-lSWc1aGMc5XNCTKV}h3ds}Ozb0k1rxqAMawH3o# zu{n4*#YU8yDZ3+_x+MGbksK}yc3K-RKlUCUx=6nw|3eo24DW=9eMgIQ+2)NR9?1JW znwveehY*L^W$wNO{U{5p0Z$y+y=7DKNlnUGfqM`t6h0v$GlgIkDw&sYQ@XATZzZk% zz`j4<%M5=ZIWR9vl5%4rMiNfTN2F92+2t9z53qdMlA{c~qZPZ-nAV+p(+0Hf-T3?X zgO&y3={FP$1WEILe|o5bXb9fJZF>|Z)6fQ6OenmFMOi3~?L71Kr1+nHyrBfQQ6?Cn zGv|ZmWnS;`Fi5t^*B}dF1xb%_D{cJvK7^nasL_Y{&GCkj=T1k8=T zfcvjSv#h5wVlg#xIs?A!^pjm8|IUxDUu^xDasap}UW43bqE>i|7D=e;UwQq(il8J^ z*&g>N&Vo!LV+=#*OPoX zB|9&q_sU%5Y-4bP8b1enTT8cy)&=Gn8oWIEQcH)iGK0C(qZ@O?Z69`TdgS@tpUo~* zP;R2H+dyU-mPk)bfn6b(sQJ^h(_XN-7rwzE#ilyU)FjH_Xz1ekh0Ch@@wqY+#A?xU zM&+SFD_Eo}E%=td3?;{pz6{l&Eb7>-7@24(zILGkO*xRBw43lm&C9ao0@lQCTb9NP z(oO2f3O7j;y|;CA!83qvPVN5YcuBG_yT3^`0AKN=MhhoaQ=4brmAu>QA+MUXf%DA- zH%Y#E3C_O?HVG|1%%GEm$967usIm`)DHZ=^*lk-vb~F69Zc6sBs`Ey^*b85~EXy=9 zO~ZWouG!FRpD+el!EerPd+2YXy#F*RU<8*_#i zzw8gI;M>)=tAPTHhgMp?F8|$*`+88NqW)dDTXq5N?~xR8X5i)`WCrS_m0dELRc2N- z&5UlCc4Bi?l9!LV)ze?WUF=rT*+mw_{UT~~T!Mw<4vGDXHIva;pb6;FTU$gcQ0Beb z`OMjWLOI5UaSO-O`uow=Bkx8Y{$spOp|S+TCwMCf&K-#xF1!XLqJj^>ceeH`U_a=@ zczrsr-|0uoZGf+#Om8t<^LeI>TykX82x%z__$f8SZ6%)^GE=MEd@+r_SF?X{|f#8_?N< zLC6p*VkOS`;A$V$r`f8j@9Woj8I7`P#Dz%s(4hCs(P1GfENTr55ar!{5Y zUvjwpWi7q?zx9zN|Gp;znt&sw`YL6MA$N4R@3%ZD8gzV2>*xE$I2)Cj+) zFjwO{(WnN?Fm8)b^4$%-OAFPBA#P`2GN0|xsHQc+XZ)0kAK!&9l+3MXaY|EGiQw}L z$H|X-B9vu&Ua6PNe2SBP5ncWv?dkL*3hSZUp47GCe?HQ^sIR21FisHOD|$GioJX+_ zjoUIV-NNn92MjH4=%$5g#vG_~cDsKa9Mfsr51;gU4&T{EDpD#mto$RWIV_GmdZxs@ zS**8m;!&odr!;3c=#^`zfE6pQHf?^MB&*>Y?vuog$yVl_A9378ef7v$e(~&OSp+iS z=U(#j23Yoyh9k1NZCoO){C76MEZ4cA$YYLRO;HS@vkE zqRK1zx;WsHjh#5*cJ$-VDy>O2O0qW5x;dC?>OzQnaYJ3O*+|G8YjiYs{1s z%(cdml_kmjek391FY19s1F4#@@+Mm{0-wC`P#_M{PGHZqr*+kJzShY8e97>qlC4sm zO&t>h9}sYWKHeQO<&_{gPwf9@5C)`r&COXesrbJ7sl^ntd3{k$0DV?!+Cuf1ql4`2 zKYO1?4T^rnN*g3W4Q$V4s!;{RWfuma$14Uj9*2}iuK2?|Z=VW$nS97hyLcmX*~7#f zYRwI52KU3r(`lTRrE$>QHldR3_3)cK0y>(?MkaU6JBr1>puvR9=zDa&` z(Xc@5bsol{GuyI$NZ*UTe{W70UZn(-vA@aYvVvaxaTHm|1R9m1)oa_+YSG=*FY}H0 zrmyPvAp^eJ`r#hhfR+d*&2`z~&=gE}nQQ~{Mb^UU$zwP+D)|O{A3+!wRyg%NkY3d) ze+qH*sb5N{iZE+XO?@(LaarbwrksR`3gOq%ve2S~(ocGyJm0LpOvOEy^1l z*|AmWiz(%i1_^PM=B;G{`eKbxPPsq&T`BkA!@Kjz(W6f|sC{l5rjB&8%-Be_bnT<< z_{ll^js>p@dZfs`mtF>6l(P|&;8yG$tSy8swg*L3AgyemH;O$kHRw3otuKj$i4`Hn zv>fASm3Hv;iY#mBNDVg-G6s5M$IFKGY2D!#-Y%KZ)7Y_=>jmP9ek*j1$B z*vHmLWS!7rrqbq|;*^6hVFtUwpc)yR% z@AJOzKQPZc-|v0h*LB~|eP6YN=Ak}Vy$Jtyga^m6U32EbC%OK7(#`g}EuzfjJ%8Um zm-^p1ZtZg5^7_720`x^a(S?nwQsC9!Lxq8OgFtl+)9Jqp>)%o;w z8|rV8WzQzUQpn3I%F|`#B{)7JRbz&fXMJb%4qfnhf?X?n;*I5g5PY2ex<0kyd;2xF z7xSvH`VkWEv#BNPv)+A`#^_^06EK@pMe%}1SFvmr3Xp-SQ6U#-HWysx9x3+VTRtFS zEKg?~A(Xec!|K+YPB|&i$#3TsHQY&7Spoy>kC;G5fEl#0w)v6}+Q*B9i)g)a69uw`@UV7+MX zRQ8X-_trbsMN4&cJ84k{lVCUlswX4e#1gRScWxWFh@76XU$ zR#xfB7U73EitY4-5OsIaG~_@jfEEOL{-jH zh-l%($~N9DEpj?XY>tP~m^>Yspl(ia!SeH&>mn3Q8;}MUUvF8Jx_vTimn*J|oJZ50 zBTY9$QW+}yKq8M6`bNZ_zD0QMa{RMp`K@%XY{pe&M+9QOX@3?p1hpyL1a6E7mG@IT z5IiL3xag!ft2kl#A(@tn1d0-O02 z^zm=3FO!JcYaSRSaZOrKmthGq+=Q^5Wr@lQO1~ncg4g)u9OV&sUkJMKPKacau^-4t zWJBFTK|0fv-0|tfX1855AdL<;0H$zUCi+0rA6hd1zw7=zy5!#Pc6e9-n4zNUpL?(O z<2dz`%nKfLIq;$? zVM1mR5JlPDI?tr>zSIO&5D3iuso9GVg6xs3P`P-;-71ZBrm!#k+XeQ=-J-nV(Us^$ zc&>(5v{(_xX)z2@Q1n6d40qYG&SdcjlBT{$@i8crTcw?tNNvz?p|b5nY}^W_sgSs` z6;=<7dPMtC<$C9Ce!Nhp>JhG;n*?uqM{=Z;JhN5e?DUvLRgmR6fq=8zG!YGU{d>#^ zBzhFO6v3?4uNap(Ek{OV5zq1nZkOl6KYNM+aCTsK(Xu66{pG}Sypf50mzN^Al8(7M zbaJ+=XYQvOF0rrwTlG#Rp&!L@VAT1ciVio09x=qjzI<*qX0@IlT|@Z^ow#&*o5!@0 zW0debeHn%z$qcU5ycJb-HNWn|S|jSnv`<&4Slax3gWaPwT!{mJ7ZnAlHWx^|W3K>H zk-km&^OGByQ!?j&_KivZ^rc0#rCQ1geJq7GjKpfhU-^d@7rAv1iZ!rdJ=hkHH;hM{4aM#+!pTMFXnJvZF@Ar@I zSzYXHU8wRDDr_6-J zo9g;Bh-fSO2UA3MQBGO63YMdbyRM85w(+e1&rWA%9ESq0km36J#{sZTP7DHT?VEr6 z&gThZ+Wqai?O`h&KX~#~( z{enqU2Ng=Bi%^U4imv3I35UnQf75Q;TEQ-_S}Y@gqq82~GV#7QObBMuOy=2osU2TL zsMPqoqM%H-+tVRO+-@#kJc9sA!2q7F(s&|A92ZypRUyvD&w7x<~zyN zOSSv-(PE~TC$`TA3sL(-3xBDS2sy|-M^Pzpi2-LTZW~_pA?Uj_eWTn0*+6*bk}WPh zIBl~o`GP#wfcLc5g>s>lNi$^8%$dBUqtx{1v-(m!A9%tHVw{TK)#hLWwA6$ZlKF2g&> zPX`w~;ggT?LY}%MncMsSom+ztn0?$@Y90M^?b)Ma4Vn{@ld}=O%dk7-Vp12sRDlF( zr}U}k%<~X**p(v?r;TV6$SkgWMKJ3FT&hsi0rrwJRBZeyfDc&djY=M}GGV@qYKC3v z97kB!1qf1R99tLFhPIYUFao^vaeal&7?^(c7oJf;N2v(Y*J&l1kwYYDQU<0^(kZ-7 zZ}tIEmoO6nUDB&d{x0Et+#*+qhmJMKNTs~JBY6cwXOtl72F7Mi_NI(7dypE$nin59 zA@}SgjOj#?=^^k(8Z38CJp-RkxuCKka9u=%NoYTdo=?5z{;0@_IH&zCnI_Pg3+gz= zX0pMrADQ(&+>j%`5`+|Iii9!MImn7&ZO#Mvhuf-y4c_<|ezq--S9#*lVgcKugxikJ z1NWY2cFzhfRjj{c=&PQgXyZ+o%IJhyo=?}RHNGeJcI8&8L{f@N(HeOF?r;bX-jFlx z+$>FJj`QKPwKLrVAX&fR4~_CiwF$`DQWoorH~ zikD>yf#1yYsY8$=Zk3L82Or^=HzeGc!gdaVg#e)J#}fp}b!#*#OmNYe=_8oj8z3Sm zWW!zH{Xj(U*7`v)t*cw%LCK~QLMaDidTBkWOv<1lGl;(?sa;}*5iyvi*j8%X+?EkA zZauJ=0~Z|p`}u0p9(0j(kKaI!);Es4X)O2RsObl3!)H-8Cb?xGc~%o`f>60QiZ(-u zp$(V-c@)|Awo6wW6nCtGNGEzSdzX}_A=I?f1saf=N`cf)-f~&Tv3Agt1z!`)VWZtf zph-1?4kj5<$iPS?6fvYqDJB%7h!|KBilbt?8pkk`>Xj8_$B2lXC0(gnYSLwRK=^tz=+?l#s{z{TXbq739ermcuLJjc@ z&f&nZb)nx3f96m*D-@6jeGCf>u;;nzX^JpK?om=Bpx&|hO@!tRkuU>x{S9er$C<-1 zCJ_JJlG*@P00o%sViCgmiJBn0Met$d^#klV@Jg!=eh01~>uui^tmim`>B;EcYFmZ( zI-l6`j$Y!U_rg>^nFS8R_MkHWLC5(tGC0E8h3!{|R!=R+z`gwx4V9EI+*Os@6qt!YHYhTtjHuH11*ijp?jC?OkpHb2r=hM^#V^cM&e>W zqF>2nyYEoc4<>X!%<@DIsq`$}HXqa-HUEwma(%D^(qx7}?|-*48gcFDf~jtvUcIH~qT<^Dnlns23mb)LUtpI&4R{iw1dzj)ZX=mNDd z5!gB5^D_7oe~*YNv89q1G4o7b1{JnjsRFQ$q2r%Ie~If*-Jqz>0W-$^nQp_O|gzkx!)^ax6e>lpS-Oz!D3=6gQ-dXWAXRC zm=92PaHCG7VS8pX=o0l@HMJwg=s#3;EF!D@TKEKrhX{G+i5SM6ix^$jF~CE3vmGJc z%8D(DPjB+J3fV1hDNH%$fRpwxdx?gc%Y1c7%?)C^GkmOr?7eg9Ul28L&kE8&OaP-t z*Qfg4@aLYaIwH$f-pn{~9tdB*PGP1OE7bjxN-kQ_UgCw5c6 z4iKOJ;SPjw5X3myV53WpMVg z2U>)iE`kAdb$pt%TGWM-pSMhH{+UKclqMV>zdhlZsgb_hAh-eko7zze_xnF-XF$C= zsHN0>2lA9&(JIHm$`H;HG~NPXjaNYRyy_~F{%7$ZND0l81#oJXC`?F9YX`n(t8y3Q zH2@>M)VSXg6qYU)<8f{~fVfZT$78!4Eh*0qRO3L4%0|!RTO@1%i0cZXYLwSI5;7U+ zoO_9u1)W`N#%;|-|YDJ+Nasr z-dba^r{~Av#;eFD*WH0-h-rB+zz*jFJO+2#TkIu%_+Nbzkh!7%hFaiDaTz1Eji4`E zzg*jZC99oA#b2Gw{mAu^KzLq`h&-5-KN5#bi#!6du=MsRCDaY<`KqH;bFa9tlP z8JW0IWbuwTFH;6GP9leW4fbnmUV^0OAe-IDB}I~wW5Q;Ea}f$sjL`mId>2rnZXCUf zpEi^S!?!60sZyrUv#QlQ(>sAq$X9eMWw_kW1J44c1dKH3ENQo|1*>8boyg5y11t9Q zuScYpb5gCBxeR?6GZW}7RLWva;?DMBKz&h@2Se0vNq-pu09y?e1Ho_inu{UM&=f{$ zOk8J2*Brl(EVA(Ev=V-!WCIpocNXER%87ROLPl-}4U=q~SCp7=P;QG5FrWEWIbv!P z53C#xIHysSlM<#t{&>Tr^Cp*C`u{9)T~8eac7UM48v2#_V8Kz$t6lmuQJF7_5_p3J zK|q3+15*Auh_snOI%{+GUaUN7wvEFB);|-gaMT&V|kY-JRF3~5Zv%gY#8BF$=0h=d(VACf5zy;1V zX6?O1f?ACmO$ce|2FA|4;$@-n_6kl`DX8}SG;KYGGCc0D3wIx#ZxAS~M9Ve59@nu( z)RJeZ3j?JZI~G)?NiVB9+RmipEExQF{9qMy>t?K=!f#;u%T}J+xU=5U@r8p>lgo9c zG~lGRQh0M<)xHW_c{aOwG>xJW2yqvXl49iV{%Y@Zqy{}*i`WbX31_`jS{2}D0 zS6%bl&3tSwxKR%XXa17_g2}!aEi+Gj-5$b*GXC>{pQ*R zIMrmz3`2%t{rTBYg9BpaKi`hMmIqTh&|QJCk)wAq=-HZ%FFf-!0*zToC`afaArQkv z+Qs2ooZ&pZ@NKQ3up90Zv)?Z01=@JbhG$WTf^? z4S)5r*4r(KcN+{pyq)r373IMHwht|Q?`w#I{qc=nh6d()VL*w25ysK=u{Q(f5y_Y7 z{+^*IANf!Fgy)6I?!W|89(h>)^LXKw>K{_ISRm6it?j*KVZ5%xSkALx=bc{k8~M`y+G!4w zxc@Kq&Oqy|;1+KsPHuL~A5OT*w_V!sMGZ_{{)ND*nEx z4bhr)%HM1DdBKma9o>Yn)Cg>V>qD|OP?cqGvvW-kHrE{Pjr>io$TGc!-r1;Z!Fqa~ zP&@d2ZeeLfKDJ&(oLJ*9B1mcg_op+R`M3(6Qa+qOXZ|GVgehvLxKamTEN`@`B?h`W zK5#ldmAupN*R@yPZlGuk%|Y;TL2%^Do)YE}e#ktcIQS#*4MIh_i?@NbY&AgGLdqNZ zKAEmy4=V2Z=*D3upm}+kV|ekG_O><`h)}J>KrT8itz!Fj@-HH0?c$TnK4`HKdg64k z^~oG##?TwsX3h8%*hcMf;Ma)FMKf~L@r8ysL@^MEq32mXj9ttP)Jl=niN1O1hWDhX z!AH*5C(OsP|K#Bsa(8^0!6Duo<`NWh14TbO|)U0`Hf;(0>+3NqI zi#M{^Yl~e^Q%l+2llBLVH&gk)vr`f)LJ?3jb7;R2Cx!7_?>eZ(5_*C$sgSE^Tlvo9 zfdyz%TG|p2m`+%jcIaoy`^hJoZ%LnUz`xiC>~`I5k9=*sYXQXx@UXT5Q}1C)em?ZJM#w{ARhZBp zzHBv)O9kusDc6mpV0%053OXw|FxnmV1h+;$aawQb4|zx8tn!2vYw!^;@R8n?DNQ(? z#@Ckp literal 0 HcmV?d00001 diff --git a/launcher/src/client/available-feature-flags b/launcher/src/client/available-feature-flags index 215b21d51d..38fa8827b3 100644 --- a/launcher/src/client/available-feature-flags +++ b/launcher/src/client/available-feature-flags @@ -110,4 +110,5 @@ TRUE Hide Block Outline When GUI Is Hidden TRUE Fix Crash When Generating Certain Seeds TRUE Click Buttons On Mouse Down TRUE 3D Dropped Items -TRUE Render Entity Shadows \ No newline at end of file +TRUE Render Entity Shadows +TRUE Render Vignette \ No newline at end of file diff --git a/media-layer/trampoline/src/host/host.h b/media-layer/trampoline/src/host/host.h index 6edc79fb1b..2ebefbffce 100644 --- a/media-layer/trampoline/src/host/host.h +++ b/media-layer/trampoline/src/host/host.h @@ -15,7 +15,7 @@ __attribute__((visibility("internal"))) void _add_handler(unsigned char id, hand } \ static uint32_t _run_##name(__attribute__((unused)) trampoline_writer_t writer, const unsigned char *raw_args) { \ __attribute__((unused)) TrampolineArguments args(raw_args); \ - static typeof(name) *func = name; + static constexpr typeof(name) *func = name; // Arguments struct TrampolineArguments { diff --git a/mods/src/misc/graphics.cpp b/mods/src/misc/graphics.cpp index db91d75166..e6a5cee2cd 100644 --- a/mods/src/misc/graphics.cpp +++ b/mods/src/misc/graphics.cpp @@ -455,6 +455,18 @@ static void ItemRenderer_render_injection(ItemRenderer_render_t original, ItemRe } } +// Vignette +static void Gui_renderProgressIndicator_injection(Gui_renderProgressIndicator_t original, Gui *self, const bool is_touch, int width, int height, float a) { + // Render + glEnable(GL_BLEND); + self->minecraft->textures->blur = true; + self->renderVignette(self->minecraft->player->getBrightness(a), width, height); + self->minecraft->textures->blur = false; + glDisable(GL_BLEND); + // Call Original Method + original(self, is_touch, width, height, a); +} + // Init void _init_misc_graphics() { // Disable V-Sync @@ -554,6 +566,11 @@ void _init_misc_graphics() { overwrite_call((void *) 0x4bf34, (void *) ItemInHandRenderer_renderItem_glTranslatef_injection); } + // Vignette + if (feature_has("Render Vignette", server_disabled)) { + overwrite_calls(Gui_renderProgressIndicator, Gui_renderProgressIndicator_injection); + } + // Don't Render Game In Headless Mode if (reborn_is_headless()) { overwrite_calls(GameRenderer_render, nop); diff --git a/symbols/src/gui/Gui.def b/symbols/src/gui/Gui.def index e931fc46c9..af94bfd19e 100644 --- a/symbols/src/gui/Gui.def +++ b/symbols/src/gui/Gui.def @@ -15,6 +15,8 @@ method void renderSlotText(const ItemInstance *item, float x, float y, bool fini method void handleKeyPressed(int key) = 0x25a08; method void renderHearts() = 0x2641c; method void renderDebugInfo() = 0x26958; +method void renderProgressIndicator(bool is_touch, int width, int height, float a) = 0x26098; +method void renderVignette(float param_1, int width, int height) = 0x25b0c; property Minecraft *minecraft = 0x9f4; property float selected_item_text_timer = 0x9fc; diff --git a/symbols/src/textures/Textures.def b/symbols/src/textures/Textures.def index 704627a7ee..01a8312b4e 100644 --- a/symbols/src/textures/Textures.def +++ b/symbols/src/textures/Textures.def @@ -2,4 +2,6 @@ method void tick(bool param_1) = 0x531c4; method int loadAndBindTexture(const std::string &name) = 0x539cc; method int assignTexture(const std::string &name, uchar *data) = 0x5354c; method void addDynamicTexture(DynamicTexture *texture) = 0x534f8; -method Texture *getTemporaryTextureData(uint id) = 0x53168; \ No newline at end of file +method Texture *getTemporaryTextureData(uint id) = 0x53168; + +property bool blur = 0x39; \ No newline at end of file