From 04b4321ea19cf89fc16a3f163bca5d0ef45bcf68 Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 6 Nov 2018 12:55:13 -0500 Subject: [PATCH] New font --- android/build.gradle | 6 ++++ build.gradle | 3 ++ core/assets/fonts/pixel.ttf | Bin 0 -> 74572 bytes core/assets/ui/uiskin.json | 10 ------ core/src/io/anuke/mindustry/Vars.java | 2 +- core/src/io/anuke/mindustry/core/UI.java | 32 ++++++++++++++++-- core/src/io/anuke/mindustry/ui/ItemImage.java | 8 ++--- .../anuke/mindustry/desktop/CrashHandler.java | 14 ++++---- 8 files changed, 52 insertions(+), 23 deletions(-) create mode 100644 core/assets/fonts/pixel.ttf diff --git a/android/build.gradle b/android/build.gradle index c49e21aae1..9fea3223d4 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -37,6 +37,12 @@ dependencies { natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-arm64-v8a" natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86" natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86_64" + compile "com.badlogicgames.gdx:gdx-freetype:$gdxVersion" + natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi" + natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi-v7a" + natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-arm64-v8a" + natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86" + natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86_64" implementation "com.badlogicgames.gdx:gdx-controllers-android:$gdxVersion" } diff --git a/build.gradle b/build.gradle index 2d33e1b054..0855169400 100644 --- a/build.gradle +++ b/build.gradle @@ -95,6 +95,7 @@ project(":desktop") { compile "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion" compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop" compile "com.badlogicgames.gdx:gdx-controllers-lwjgl3:$gdxVersion" + compile "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-desktop" compile 'com.github.MinnDevelopment:java-discord-rpc:v2.0.0' } } @@ -129,6 +130,7 @@ project(":ios") { compile "com.mobidevelop.robovm:robovm-cocoatouch:$roboVMVersion" compile "com.badlogicgames.gdx:gdx-backend-robovm:$gdxVersion" compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios" + compile "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-ios" } } @@ -157,6 +159,7 @@ project(":core") { compile "com.badlogicgames.gdx:gdx:$gdxVersion" compile "com.badlogicgames.gdx:gdx-controllers:$gdxVersion" + compile "com.badlogicgames.gdx:gdx-freetype:$gdxVersion" compileOnly project(":annotations") annotationProcessor project(":annotations") diff --git a/core/assets/fonts/pixel.ttf b/core/assets/fonts/pixel.ttf new file mode 100644 index 0000000000000000000000000000000000000000..59cef3294320aaf04936e5b6295317a280b8618d GIT binary patch literal 74572 zcmeHw4VWcWdFI#C-Sfl0f`X#)It~LEm>&d191vxq41q|LAZv`$%=FB(^q<{54x_AL zcXi_?nkbm8*(C;zMt4J2lVyP|Q5 z*zBhsyZx`s)@(xg+OElcJO9_()1P7X+}q9m@$%i{V>>R}IerxS-h=Ye-Dvo}U%T*! zaQraJy4_O?H{AXcU%v|UK4P}&BiE15O+WsVhc?^L@sIHOGduAFT)%Z{ z?1tGDCk=t#&?&gynI4-OUwp%ZH`&k$&tsq2nfZmGTkU=udeK?DZj>G6=#Ah0ySE;{ zA`{1SE>NquiK`_#pD@%Q7j!=~4~ z;i}i$#nyTJ@JetuJ8IhsNH_F2uZ`ZhazCn$*~+(}ZC#X+o6XpVHLvG|?ZZ=1*v>vY z&+EK@uVc~SSe0J=^K0y%pD*{gNp`mNqemP@?~KCZe*N37Q;!^LovZ&E*o4R8!Ru_3 z{;Vm7+IXH9>cZ=y!E4f)ZS*A;@e$v8-F7|a#p9Lx4vHOlk&(GP9ou=5CUrY}VB}`%yLcCMq0Zgs;VYCu`bsy}I+i~TPX%V` z8#Q^fW7%elTz>ZH?$=H;AN$=rrvAbrmxD1Q%%~TSr6c?6nDxlbi+AN?n~p`R>DnM| zvRmFa(R#Q`y3$@39u@;onfK9pZY{n&>*MUU-y3>=;E zAji>0{bVD(+@^yZGqy;Vyu?rOrnaV9w2#GjmSZ5}i=oR!kO3dA1%^>h!oOH0j67x| zBj3dNR?O;H57@hhessm}uK4PT1HZT;%?FI&H5{jT*h>)(5D$q$_brQIxp{{vT6Ox*I&DSV*O1A4OA8%fBf;kdi-;TZ#+D4c=zI$7Qe7~-{R*N zKezZhi$A}3>(>uI^nr(d;-Pmw^!A5d{m{{0`fu|98I?Fxn15YFHGy?x$AaDb;%*$tS{w?grd<4tC%Td0F zCE!gcpFqK0*T_~B9FKelcXa2XT!V5W%Kf1_cw9Rk^pF2G_PowVc@N3~ zvu8l2XWVY~%ylTYV$aM_uHjM@WfJ9(*|Q+uv(W$9XnXbzW+z{c0^X;fJ_YTkK*r}B zgYsq+(0dMKcrNHY7cxHgVY5@OMY-SXd1s;E+Vh`>auv!a%)SS-zvmhh(0c){zW`%8 zt5HCw^9{2XV(bg=HCsD^g0{7fn7s(J)@?%hwApFvP%cHe&usn0soY?8`Y9;yH#-B@ z&O8a_a;(U~>&261-^=o#*;%_$K8$j=+1YoXpl!nzlv~X<9)t2e6!6{z9-D4JLHni$ z%r+a!4wQ$@&bbQZ8)h&0u-UmMprFrrXQ14V?alX?y$o$HL)-bMpxk5j@^evcH@o0` zl+T*I0)1a`o7tALP(ERHA^KeidKWF2y>bKveJ_Tb7e8Y5Dzv>CykC7I3eGQqd|T0H zEBbujF(@CzULokc=3cYc&YE2cUYFi)whird%_J@nV#_ z&8`8hYrbao&pv4OCeV1(7tMZn)(pe!&G(r7$PSc;&EA5xx1NRa0Je_NcI~&!#?Wc( zJ7(8iiGud+*P87(0R??`V9fY#vz?%`6Y}laf&zJVgXYAf+1qgbwtLO42d(Q5nN5D$ zZ0cMT=r;{I)95?%ezVyT6!e+B)$HwOprCCIH0RJZcOMGmn7<0;%VrCcC^+8(z2324 zwijdfz8U3qggcIJK))MqLjjL{&qKlaKJeZ5u-Q95V)ic3f7ktHH)6~`KM4hN-n|Ls z9O(+=q@84r~E9AQM(`G+6 zY4*`|D7gO72hDzd3(9R~x8eG2x0`(o=O6np3g~@&HOfsWpD_D{5tJP$x0-$86co_< zB=~;vfY~o%%rD-70$!iG1_k{;eFn+`%6H8E!$~Nh_aDzi0gqo=hk|Rr^q|@8IKKTx zvtKrp^HJ_F`%hPyeFoz{1Gzp69X<;geg)^h@@2DM#kgPnw%LEa5(WJ3m_>Qm?7yJC z^CT4Tz6*Ws0`0re=WfvWwM{7Zn*BO>{W{Kn<2@+f!efndQPBRIkpDN){+k%{Tj29s zUo`veTg~nTy?gI5`yI&jJ9n6U4s<^EVYAPJ?tQCKpvxC9_6y%I`(2FxuUk|F#b0Qk0LNe9P?1xc23{&Hg)heg)UQf@@#FwLiMU?19TsFz%1R zo=g>XZBZ{P%!QryHPOqf1v&*`hSx(+W#6d{PlyFT5mG@8}Rv?17`p8%_!jUw;we7 zHe~qrA+!H|51%(-cLkr(*I+Mbg{`!s>^OTS=H%|r=+NTF7eD^^->vwO#b3ar{B^U% zkFR*k;!mx3%fYRve}qIp>73y+4n1fm4xcf6=A)m%B>jVj{`Am;!><@V(+o#9am(q^ z)5vlK{~20`hGAP(a*S3!`{C8{Y{fS2Y8{;BxRINOr`pC1fjGyF+{|4vJ_|}U#tp6W zXF-lUOkMbQRYn6Xg{O%F z$Skymrvrn>E{odRU7C_B(Ih&OBBawck#*aI^Iql1T%8YH4|pCDX$49_2sog zz>gY)-0FS!z|guFA?yyhA4*sDqmB7&gKaqGZs*M@4je1dEIk+zg3pR=$>)y-&-|0H zaw&1lPcGTex`>>DW9+oH((~~dosw>NLjyhNuwt8Ie|$|g$_ZN3TXtnF9HL!U5+Z(8 zT-k#dt=Kj^g?;7*-PwaYa*S7OtG5t!r-eMgCqLjhY-@69bG<_@_LR<|N4Y4^@YL`W zaD`>4BF8dgDC(mRrFK3=A8Hy%I32fZk;`hju_w8D?VhG{QYmAgj0Ia#{4q-iWyPN| z2lA}(I5;M}(EITIl!f85%*L5dc|K3^*Wd*utM)RsLDA2_^UNK+2B7;m10Sad4EdpM)KSVms!$y zoypj(12r2+=26lrV&rJ+iaI+jY?bkTmOTe(w|}5hZkc)xWc2fTlh2k? z6rP@XmLrOpu$%{pN0&shg5raSC_k}{c!pom$C$;!>qqY-FGyLRPQHoW>e6&%W;Al+gyZHTi}nC2zGgp{rO32@g(7ma;u!JK4InN|L5^4Yf** zH#lfr`W!SV=f)Z(Vb6ZDGwXQIi4=$fYetM?QqrnqoF+=$RBCf-tZBOZ1rD9zN$&Cs zw(}D*@=SLh^b}e;v?x3i=3sxvu|aq72}<%x`h&72Z`_rOf|jpcTWAp>_GTTj@?Xl7 zJXsb&w?Z!FzOK1elI2;0GLd@FF0)n10qe%@d&0h}HJ1-^*0Z9tP~MOZv<6FE4rO}f zj)*Mx93Xn=mLi@@n;^m>eTiCFmKI2B;2fvc6&R%LF)#0D z5BBuUnx}}bB&Vd#cZ5h}IldvEHu(nIs7GWWp3y%d8p1#7>y5;t%k$(7_3Yw#G_7Px z{M@?mcGk;Z=Q#?=Ms+WgO{rOvmeE>9gS=4pZ9}I;{OWECa^|*Og}bVT3?vj315IdX zp3-Wn5tZ(E&Wa~USyYHBanWc=qYzLC~6L-zSaU_b= zy@pvW|51h}sY~08f;uBwwIT9re%>;#D?;QKI;|Q7HC>K4rzqRS z`PSi1Gc@+x1_U(EWzQCB zajg;5fpp|oSYIWoQ41e3;26yG>!=}JH_rL5#>DfCVsE$f7SJRoX)7)T^^~{$KAF2= z<;WsN#D_IAgI53KtsE|ToHK%>YM&!Rv&0K_3VUWsb$V5Kk7hfmG#Jz$I(iSf*(8=NS1fswfx_SM}}rPE`VxwPn^(L8^2y>LxF+2AGpJW}#0 zvZ~%lKMp(xc}5wU7HfLgoI8n0wuU?scP?QCp&$f?PGk0c?6Q?#4X=e9qeL&GcYLo^ z6KQj#GKVZq8f=$E3hK$)$^`Xj30!D1QXhxmZdvtsU`Cx%rbWGSKV>796~3$5cK4}2NAM&2 zG(~egGd_A+NK=j?l}9)q9Uiju%x-J^)>quTYhq@$(n4B>w%kM zMr*_RIl7nofx}I68F696l7k|Z9$DsQagry=Z`m8zC;A>|Yan&;p{yLsPcb=bp zO&AR}Fg~)P=N3pw`jkibh)-N8??a;(XJF~2x@P|tyNIvue}w`0DSuKHtx*|4u@>Rg zI$1^Gp(N6OYuu;nuGk=HhL}I%~lqU z!mR5&5^g=70+Nr9%siRr{8aBR)GO>H`-QH&M%(ckef02w>>i;tH_BJ!qh2T8^c#MH zvi{`=-z9KOb$KI3`EOtOz?)C4iuFb-HjKJF zUU^Iu#9P=Yr$)Y}R|qSPIE?S;hD^`_`3KjTSGt~C#Tao2zsuK1hYu7opNd{RKEh1- zg+8RXS50mqounpbj^H~uapmBQ_d-um(ukBz!{0a`mU+7sO-YsK7vZA(#ySviY!lw{ zYT`~5k`$|Xwi@3rcPzPziT4Wzc=t=%lbftes*fgA)W)@$`i5)?HTW61Bl5hCUOW#3 z1F>wKQp8Y_eKa(I?2`FKpfSKlh~+h9$j^zBd{olsIZU#bx~W&>708z60Y|&0p?p9! zZBNaU9SSXEN!gqEi1}>fLkXj!*kklgn31uN+wVno`e0}{V33a#r6J{#KCHbxYjb4K zuGvw(&3-(N(QaFeD({24pQ;7|igwvRGY{H*Jn>l#FT;0w8)IJbu1-E8{(O6D#kSS_ z4s#Pe-@62a02BR#_zMkrIOj7;P)CLR*{-@C8IBg{Rp%gOml8Fh0qa+C3*IE~^I|1m zj}UqVs1HxMf3(~Y$y#0q+AcNiPWy(|VFy|?bW)u?*T7yo--hsYVd;y7FLwoIqU7k{ zSa(T6OQ`C)Py&DSE`2NHDbdn(&Y{#Dv%o0Y{6ku_5-k_>lHJgkJ$+8`zC?rbM>#Ly zO=XO!`BLm2pKec(C&`0^1*M~`%HAGlXj`r)ftq_v)SjVImg?h4z-P_6;VF-!0v}4Y zrg&G(Mu=GQwI2Iu330a~k7-TU8^^kXlE-JZ#Z}1bb7Xp7rr}qe)^{_LB@I543c zxX?AvkRm@Ep}Ur1-tt_->_CeqanX-*aa??tfLh}z+z8K)EKW*~5@JRCI&pGWXHC;xA}u73CcX)&0zcj>m66Tk$1d}1t)4)gdrOXg zyw`GaVTX$M@I?MeI?fdw9RXlR&Dl=hmGy#q_?R?TG!!1-vxVd){)>0{Z;1`VgZbw0 zbL{!;5`~DAfxPL_l8Y2YH9RlQU0%ptkNbnuq(BWxfya+srq#Y=&14U6aj)eLhR=VR zyXD7K{J@jGCjRmao|79tnF>HimNBQe+TE8}Ph8*lk>Xd*r zxzS?$uuZ6W4L+osBM~xE(?ogX;AO(H$z+brZ_41_Lx;k zw@GV{=0@-At$kpXMQt7@J$J|kk)j_4;tr*puiyKGSGL+*e#F_A7R_z#Hizw_m0qD} zAU@oKi_w~!pD4cKxCFj#^Gx49HgD2eo=zQe6#7XK*XuU-eV=7uUzcJ~?!asX?U!;< z%M&8EAuP%qBWtrw^MUe_-UE%jJ0jxiq^_vfyTgdJVa!UL2?l;MjTDJ!gzDr5X=%M1kO#0|)^41t7YMI@T%ZZ=sqV;4CKceiU?71QxvyJC$SM+%8 z^71PA<@vSTi_(l%MAMTbk4M*Xt|6}TAb>hSjy7d!qHDuG7m(84##&LdBfLa(mnI?NXp~Vj$alTmtC9_g zqr6`Bq_%9=y=W;(;Gp|FwS!)oJ2B%9duACJ1yWS(GZ!$MP!4_=nc@+VC`l=uvPO); z&K@Xnv;l{%+|Vo!s5E5-WjS#xWzhT0QLpsf>WWW1VZ5mWHCh7iCol(*Gcjf@ujnU9 zd7YzRiBU@L_Z@xq9?7Z64j#jqBqfJtJLo#tE-U}Z4`p{Dpj<*3*(U#>e$*AxV?}o8 z7R_$a$|nY-NNQ2*IZ82W-~vadbwI;@bG`-;O3cEPgtgujj=1kvcRaWCwysw^qBdJTWCs8h!Xt{D# zV`RW*A%mdS78grFFYrE+T(cZWmm{GK(~pPNc@E@Sp%SO1&jjtoyQ2=@J2 zkscLs@6Rk_{nwLT=>hcRMtUQZFQeD6UXqlOj@VHi_j?@IrH!j@osilwD89SYfNIgkgEBV}rnRqgE_xD=VAFMYi5z#?{vJR0x3wj@U(X$DC!=r6$DSA8zoK93{kv1HY3bhX+67nF7Jam@-K1^w%se{j?EbtYjO*M7 z;YxMs6~&y{Cwi!LAW5ylzRJrymz^CQAffem+xJ0MJ>F$=-=j(IqcyBK7&RQD%tG%b z&Sf1(z4mCRZ^{=(sBazfLG_i@fm4cae_x>Ib5P;Ux`;>;$mT|RZ;1!j1%Zavi+Ykm zGtx#0huBAGh-Ic4_9IVza$aoH4pHd?VbAb%9cLImele)O2}i)1l|u(5xr?)N=846tg4l*+7+)l$G~N*aY=jWk_FemY zW2*_Du4ltbT0N3NFZAkbvJ%a(VTn#}6uVGwTKDohoGqC!ExcgoUWoRWwl}ii?mi*J z0nRdPP9FU9!gbj=BCcuk%9^_wvp!gLOVAISr^4SPmDjKZF{Dl6XgN`vqWnqmxBk-h z#s)iPnxS1 z0)C#po7s+lFym~?5%~T^dWM?Tt6g3}{#+GkZq94UgJhPhE}Ha@()wZRLDr?zq%9AV zPgqy;GkY^~b4;9b*A6^}y1!M{rCoZaxxiP)z4WF27N1moZC)AE>H_h$UN=7Ogb|27Sli+{shF-jj8Y`=97pO?g?-}cAY zAVaoC5kB3R(UNK~mgKg8T~sG zEBCw4o!l-PsS_JV8Cp3u;6$GjPUOVverH(xYPd9#2CCVU+EGhr;qM3(&nNmwQb&li zB$4Q=wsO|Xkl|I1aD9j?tQttc`2J4B$jxcLy6;Yr`%9ulkB~G6XG*EqMor1n`-6X+ zIX=m{#3Q>$^4`)T^Q#d`TYMM2@6!a&OqsqbE(K@jFL}au^zHstd)fAPJZ zE&$cI+HyYV*3~^47^AO# z>!`0@g`cOm;CYo7{kf`V>^Usmzo_FNwuFHtSeSMQ89X0y2JW(5IVMLl zyfPx6$YWfi*M!EDmA~t5qr@b8hoEO9r#xBY1ai=tgA{Xw^;a4 zn$vfLwByjAue_G@neE+M({bdX_BDJ+m1V9Xk{;Wp?|F3h30wx*cP7%po|?HQK(-Q( zI4(V}8ILl;xbIxt^Ox^BE$QwjJRtPymPGnSom-H0;n=V=N0xUn$TQHZL^9&l-w^ip z`g~vHa=(|T{3dXGN3oZs-Q>hJ*M#Re#`J&6q;~m5$lVm}RSoJ-m>PaRc$Bm=*?VSo zWo-F?Wt`AfrNoihxJKizs`y&5 z>s?mL$CU*?xt~;N(t}BttLMnIzP~ow_GYXkbLyU1OR3^bgTyPXO_FSd&MpmfVXyGk z;9gkO$E7{KH91zqh$Cc4N}?yu;Ui&9=~3kIf_I%lbu^%I25pLdjN=suA#C^%h?-0?f_zr0)|KdKzm#hX+cE{vJn8^h}|f>Lhy? z#>@D|4sjzFMaAH<_eMN4F7LIZbF5F(`zS5@EJBF2a#+)EYYD%|9X<;HWvz5rGy7r2 z_Ir%td!2peWunpaoldrqo+Jw70tLls^)IMvZIjoQa!B&K_zqy>>=84G<~GuxWXzvz zQ}&W?@ftt$5XsoLWdHnle13d+o{d%Dz z1l^Vi&1HL++k+7)c`JU_XBLyR?Wl#V>yj?r>ypPj1#<)a)Z-ZUgw@y$8Ood=`9>K= zo}ue{-$3Wfn|~z@Yx1wp2D+|Qr1$eoQmap`)OEn9JEtt2mPpOsl z+9IHzw8FWL`%~}l!oQvsyZyE|zVdfzB+mhWPl3M=szn>_@^@XA_FNNYdrA#Y6zPfb z5PAi1WZ_I4$JGdmZ}dc4tkWty)?j9C@yOg4x#KQQnw?3L?Zl$=Kdvj-LvI;UUU6qT zR)!;_>^W9nwhj4pzb744OV_NfuKk$#`tBx^TGOmqUt3Xj>dp_xl(O+Yh&x(QSD!eR zXcgIFlw-5^)cU-AD^9F6bM%v~`#um)XVW*LLknsU7A*3>2su>tk-F{Jf|cfmzL=yq zK$;vjz9U)VKnVidQdiOLsZ+Pzd)|e#*<8F>t53+of9Z$Kwk~Yz9s+-?+jzilnaI9v za`eKWu%k;3+diTDV{NmJXGCDrX8FiM*{Ui@S0Yxq|0&;_t$7Bshd$!QT8QCG?B-*L)^Bx#hGm5fdDKB71{_pe4vN7x@UlWGatkP{~$Tq?` zI_=TNTC~x&%=yHh9!1?~S=O?wEM3m`jLC>g#^#DktFfuI24*up8)$sXrhXqyOOU^K zF++-9^REsNGxW;y&y(G z6}h?ApoQyl(;Mn@R_0x4oxPmBYDJr8t_;(9&TqpU-T~PL|HaTI%oz_Jt9)iPz!Ps~ zI$AQ9QTv^=bepWbefQDzt>0!yb4QYKz&pt0BD-8f%e)6ah<9ZM+Up~lM6Ey+UZ6JC z^hf$-M1S=4>)wxAhPNvE6iqR2XfEMjSl1zi6wluV|bwP>I5`Q^$ zDR|X$RonqKSyq+|tI~(Ny)a!XbHDH$=vm)VvF(<9X;_!5vE;Ss9s)C7+{1T!0pcZ} z1C^H;FFcM&A_}C)zZMphvp5BhmHUgoDcbOklXPG$4cpg32HzdMGo#mV7cPoU4OAtc zsP|p1y3A=_VaD#lCAS=X$8iA)YOl&qd5EGsipMs}zS*;$*0&runyVe;j=}vmS(#|kr@1N;eO?bA<7_Tnxnd99CBF~_OX$j39WyN?peIRJ z&Gk6kt2tP?356eSpt1p$WhI-uhN&+<@d;fe)oH% z(o}v~rGxPv`^E2O^so!pDU?c{E(sqYz>v7KOL&;>E9pZVHSB+<5Np@sEsuz`8t;?C zLPfl12c$#V)L#0q*862@lVsxD=8>f&90{BG-0AZ0o#KJk@bXsi_8QdmE}Ud(Mv1*; z%kUZgy^!$rsP*>*3RzdOe_>}y*)v~~i~K-Q6&dSWKs4DV?_s%j+`3^K? z>5@Zy9S88?NJcY1Y~#FBVo*l0=EcYvMGiW#n*$w0oBbapc0|Ob4xfyKEVuNckwG=;q$VYxE@YcB-BgJYtDW}#MkYDokeWpP^l))th4M|Kia>*qJy@n;O){!6J`#%F?C>}Xxl!8*RmZag? zL^!frt7oGFX%_p7EfJ;cE1OAk%0Wv=hVl&=MJ+K?bVy3K%TvTxl2g(yzRV((=nE`D zVveBXjIltNe`hW>-?8Jmq;Fg1*f>@hc8(>a>5nO?P^PGhm0HqPe{)LnMq5AV zlVjdGUr}$N)P^mumn(f=<3TfGDh&Ax{yMkO0?TsUTllH`Rdvo^avX&22vk2`- z-sDNCIs3#MfDyjpRSpCF^fw=hed>xV;$QzY3(c*1TSGXb|5Lp0Jy?wCeWN3llb91# zBAnYnZCoemnAbH|mVDXD96-xyrCfeDL;cEF)!Jn#&pOD1^kqGH3nimp)V;=|4r9c< zj4JjF4`QtuPy088lq1wB+c#@jL1;}Sd6aKhOSZr#W~zAmiP26O^1p+TdV?=LI?GEH z@726Z`uyY;Q4ZC^-qc^%tF7*_!b5dGPqk$GLY~$)(qw&VPVTY@CE~R*8pxaSmiwkUKRC1U ztMs+#?ViE;X_T}E*;93`fr5K{LWG>^)(Sf{J)sQ$6gps=>{0mO0M8;R1q(GMcS)t0 zTv1p0h!6|zLL*xFgp%!n7}3$}SM;mm6MHS)k)lZlv?u{Tq?>z8Q}z%R1vekvo;5%g zb42kz1J~cY8yk2nA@n4lY{{Bji9?Qu&T~E3rYE~tGvKYq#k=)xaEWH19aKwH3)IWK zHLN9=|2zg7cV^`Kl0mj&O?~wHA8i>Ax~BDt^JrbKP~xWSqlh79VcXCxqFboRAIraj zCcfF<)vfwX@;lNc#nNL%Uz!pDMwwN8G2WP{(v%;f7H+b!Bvrf;yWA)1zNi`N&@I5t zdlCu$Rz%1Ld6t+@r72M)4VNVIIF~dbLFwczsui1cNj0Zd>^zV!Q4-}&N~AappYo`1 zoy+_GE*rG^6Ez@B;qUaJt?(BLb!~8tUd-RsbtmA!!{n0%Gzcua32 zl0>!Sm0L{~VU%j$6Beo4l!%N48c?ddv`M-EwM!u30onGxDG|TB!tr zXhWQ^JwJCZsNLt3e*r|4G=k_6ANN=yxrRJzez2rs4X?9y`Hv(F%_vvZ zZ=|g7xsRheHy1m)MYM=_u?Mp(-jqo;k`3y-rFU`XZZ<*;i+3p-R~*E!Nn@d2a#MDR zdKAAwj#cOr+)lagiF7LBBvfUdCgxoJy?uQC- zzdg_!UX+NsOG;%AMM7TFGj&dRcw9;wek-5B-^9o=RgMW`9&@;VV~NM%Q<>a-pLh)- zb8lHgi&9qECUl70e(2^*MqhiU-?Y`!+>@bu%ZKzSrQ5av2R_^3b@7FB1JCXq_&T~c z$4H>&dzWkS-_9K1Zk{|ErApHLQ<^!*qmT~A{iKsu)aMlp^mr=%4oR8M2l%ayrD9l* ztA0|~rR~~z9i`@J-N8K9*Du+hxXFuzWBt4?sqS|U-6EaCKf@3Cd!BKwd&H81?g=Y% z!2sAwO4Z6i$^!CBO3IATy+Y?m3(mSd}UYL2E9CBjy#_*_CB2lDwd ztB5GgBc-*M&fD#k>D!ODcyb0!QH?0_Tvy+N3%_dCoVlf@z3ij9pCo$9q_+|zS%Jnf z7CQo-}NL_@={$HUr>cUJ!s{! zN{%ia3og(%z2}BLU2?V2Dy3A`O?dQ>E60WMxNOMFtvb3L{CQKu{kQV4km5OMm69dP zdmM#LomR`!GHIIEIc>F<^eI1E*-N~LhK|XTca44@Si~J;LHCjn*!%c9(AoY3HOVPQ ze`=W1CLPF-#Tg|ETq#FpSFWXt{H#9YP#wWDj08oqHJlA&4PJ~?gt4DSQ~O3L-s*Bd zM?`k-`~#lU#G=IgU_d+YL19c3zdH`UpOz`{ZUHM;XIpX z6~5O@&*03&I_3!f?J%6VM4&`{7}G8_Bzg>9>{%#D2YlTBN4Sp4VwHWe`Oaf5d$!&c zbCi@H^6}cwi7J14x?1DeKVeGR4UAzZR$|#wl+XC)MJlTJ6AVN!aE*s9pU$_eb%l^DNJG-(Ruo$r#u2p>^vVd!0)H)g|Y! zZvC83_9{73`z3r=;&l7ocFCFqrew?=o+psslt*~ZW8z0S@|;qfqyMAnT78_fsm`0_ zyE{RhyD;+MsJR1^=b+&1n@vG+VG17LtfHXA#X~(ng*@octPRB!4SL z`l!y|D2cZC>&_h6M1^x$;&xJ@TmHUVtPdFj^n#b!E9{kaiM`go-(EMk?gK)E)ly(0 zf2h>ZK#?I_RBJz4D;4#V#%rN2DI|)!c9Gs6vh=Um7@OWIxg_B!fNb znN@ak`5>2S`hkvF2bD4};M}$7#-D4`@_W?T_m`8_3I9BAY9Cn7&Ld_9)>SdGRGr&= zzMfkhLr6b321&Q6UUm&9OlxGy#Aq3bSyHkP+w_Yzoe^x^&dyTrT#3YVJw))go1pvtq_ILf0`cX9Uj!Yg=1E^hQKy1jgy2of{ttaIw$qOdUQ5BbTjm1j8xMJ`9MH@~q^^$3z7E&t7w_&cy|wy#OX zC}37#zT-#IkbZWSMzL3m1fFNpZ^*PnB5lagq>`iK8OC!-T$6TuJ0QGCXpjQuzmUO3 zDC03V!zS^|gfHyv@hKQ;2#80H1QBVn59Me^MiQ0?NlIy>xG3wenaj_-J75$@Ui#8M zLCzdWU8^H1ed@AwBP=~?NDJ}wotUHZ?^T{Sh~%^srJ~f7Qfp7g3vH~)n^s^fvnJB) z8 z?RLG**u3qv9|f)N^5>apmOPp$0hPZ``f)C&u0+){B(CvX_Ge$N*La=tAhGy!jNuxY zZM^PCqtCGk@vp&ByuKFeO+JHVA1~^>Y7|UD$^{sqvJ7 z$GHxi@98CM16ObnrSeWh*4KVU@eQ1+XK;sv6!p!>lBRe(dK%HA&ygp!qHnV8 zk)ir8y7Hcvv^0D0w}3-4YRCKR92L&-yk5=#<#RqE5_LBncqsT>sAu3@ad4lry36@m z>~Ox(-U{E{mAv;|_Fnsd{j~k8{hWQwK54&XpRwPt-?q=&@7o{QpV~wAxAuSRpgle` zJe0k4@m+TJ?>>82o|YX+Uf^-ZHdr+GTlS&FSkse^gVlMiJnZdg`x3^{o7De=U#rl5K?4y2c6F=5GFJcJvbX{`QuRE>8JHI9#tSPtRl;`q(9yjq~oGNNaQ?z(Y zZ~sc-_xDNG=Te{4#<99KT!@{mwfD}>-g=zbkC-|CAmvJ@?6ql4$S#V*Sw87S7i~8kon-W z)*RhfXe?{@s^sB*CjxxSUzL!&xEF#@dg{5y`$!1 z8YGVSM$j4Qc*IV`)2nFbn~twZ$18FCgXwq`o^ic79j^w(A4|t;K=bF)@lhkE*eBBQ z(RR_uJ?Z!ud-=#?>G)VXdsMuRv(2N|ruGx<%+U|UF$6hg^w**5(8wC-an|VXrsE-d z_UJ#P;}v$?%GK$3*q*)e+39%1)~`G(9gm{@_33yej(4ZyRd)5tcc2W%8MJe&rI!J zSeTu^VB^M}7&7le*qTK8O2+YzI(x_FJJ;=*m|W=WomkkN(b+maKe20ie6F)&e17}f z#Owkjx}dXV_M$DII5WNLqEgD2Y}uIFwrs@p*^6GB>Q{B9W_FCvO;5aYe8*XxxtTrF zJ9scQy#vzknchCOFutSnj->6(&h^vR&CkAK%UEak-1yE5*HVivB{H2L(EP^v-7|YP zZa#1Gx#zv~B^!YTfnM908=t&z?exsfnaRnSy=yxQV{^O47cN};*6Sw6rmtUnQ9@wL z#<7bwbgtSBIPw1!;Os2Sbgml@ImSA>W@aGh_zer4@f{NjGjkia?;cy|5Y!EwZ3~^< zfDXd%>+Brg+qs@j!n$XpVgV4=}atiAl#nG9gqfk&vkZAOpkXarlI~mT;I8{ z7t(GJQuEur6AU{y-kF)6+}9bS?7+uG>VVe*TD;yp-q|xdJ3hC4Y<_&>^q#5lxv@#` z+`D^Xa@@_8k;{Ib-X@7#w9`Vmmwv9k0hI4%ss~eimJH`^=s>^xLqZ zvtw*-ngUGWd(@c$B53O7fP=iCmBf(^T&jei$(9X|}kME#bNzG~4 zZN4)*H@;(h`}q9)%p6QT-Pt*|eF1(u37*k!W_}!wuxG9#LB=Mj0NBsXyaOC7WD&|P z0X?U4-98wPoHw6)+6!y(qR_fx+tmm)1=aZ*&flCms>AD$WG1FzrFn$b1x3%!=1m*U zn_cLfu?ON!?U`Jd02=cI-}$pMq@L@{PTVj)*?|Y`9N*5kb|W+=jh1*j@1-x_{8Gi+ z*;Ch_(|7dDToJ72Y&!3yn>MC&bO}9g;vM6iOJ=5~5Ye4WF4@$%a?f>>6WcpmXQsvw zFk2CR$Q2MYr3Cj@j6qW4kPS0)yEe}HkR3h(wC83vB7JUr4JltYv8(g;J!9Lir|rmg zA3W!6Gst;U`;Y(`5<6bCckd5u-~8&yH@@n^3vtgrW3#r;=4=9YJ-cneI`&Q*N84_+ zjoB2=&#_Iozdzru!1)}mO{3=o+ONP}(mD2ewCu7yHtAQJ`!u(9YGbbkr8(>wOhBe- z(BEtuz_~j1?8Nmo-ec0Tp=j{T#{jw4LDaiuPOD^hLL8FC?H`*Fnw+;6#k~;%EW7Xhn%$3EXD>(7vRbkoL_{0LrO}#3+GK}z68BC*7~u9x2zMUP=~{OeU17KEQY$ha9wP=-z>RJl~V#>p(`~%Lo~R zCOoITNIR?^z7(`}ppD*03>As=VcL=YLP@FPG&s^K9o#i-1x-?Bc42PW?$TVBq+|9Z zFL9wCjJuC8GCJr@-=N=+9{(c;TAlt72u!6bXEu1jYcW1NC_F`DNSSo$xwLzeWj2C7 zZ8-($n3uwD@(7}=%ND8+K;wMS@1|U*@;Ycw3lSaaOx*THEQwM?LK!8Z9JmwpS@gdFy~#In(oURln_f6njSv_GD8gW1*=ye@mmrg+*dKl5Y1pjS9eI<}* zZexb(AZsx)IcL!iw_+sc#8_U1O4lal#595E}u9iy2`uXnlFB5k?OrZ#T_g;)npd7N;D)V#67UWFNRul)chY_?aU Y-y6|#A^!7c)Y$&|S-YPbV)f7e1$ag6PXGV_ literal 0 HcmV?d00001 diff --git a/core/assets/ui/uiskin.json b/core/assets/ui/uiskin.json index 101f23a779..b5ce5bdb42 100644 --- a/core/assets/ui/uiskin.json +++ b/core/assets/ui/uiskin.json @@ -1,15 +1,5 @@ { Font: { - default-font: { - file: square.fnt, - markup: true, - scale: 0.5 - }, - default-font-chat: { - file: square.fnt, - markup: false, - scale: 0.5 - }, trad-chinese: { file: trad_chinese.fnt, markup: true, diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Vars.java index 968dfcc39b..7efa15e16a 100644 --- a/core/src/io/anuke/mindustry/Vars.java +++ b/core/src/io/anuke/mindustry/Vars.java @@ -174,7 +174,7 @@ public class Vars{ customMapDirectory = dataDirectory.child("maps/"); saveDirectory = dataDirectory.child("saves/"); - fontScale = Math.max(Unit.dp.scl(1f) / 2f, 0.5f); + fontScale = Math.max(Unit.dp.scl(2f), 0.5f); baseCameraScale = Math.round(Unit.dp.scl(4)); } } diff --git a/core/src/io/anuke/mindustry/core/UI.java b/core/src/io/anuke/mindustry/core/UI.java index 4fa2d7f82c..3ea76879e6 100644 --- a/core/src/io/anuke/mindustry/core/UI.java +++ b/core/src/io/anuke/mindustry/core/UI.java @@ -2,8 +2,11 @@ package io.anuke.mindustry.core; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input.Keys; +import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Colors; import com.badlogic.gdx.graphics.g2d.BitmapFont; +import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator; +import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.FreeTypeFontParameter; import com.badlogic.gdx.math.Interpolation; import com.badlogic.gdx.utils.Align; import io.anuke.mindustry.Vars; @@ -31,6 +34,8 @@ import static io.anuke.mindustry.Vars.*; import static io.anuke.ucore.scene.actions.Actions.*; public class UI extends SceneModule{ + private FreeTypeFontGenerator generator; + public final MenuFragment menufrag = new MenuFragment(); public final HudFragment hudfrag = new HudFragment(); public final ChatFragment chatfrag = new ChatFragment(); @@ -89,13 +94,30 @@ public class UI extends SceneModule{ Colors.put("accent", Palette.accent); } + + void generateFonts(){ + generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/pixel.ttf")); + FreeTypeFontParameter param = new FreeTypeFontParameter(); + param.size = 14; + param.gamma = param.borderGamma = 0f; + param.shadowColor = Color.DARK_GRAY; + param.shadowOffsetY = 1; + param.incremental = true; + + skin.add("default-font", generator.generateFont(param)); + skin.add("default-font-chat", generator.generateFont(param)); + skin.getFont("default-font").getData().markupEnabled = true; + skin.getFont("default-font").setOwnsTexture(false); + } @Override protected void loadSkin(){ - skin = new Skin(Gdx.files.internal("ui/uiskin.json"), Core.atlas); + skin = new Skin(Core.atlas); + generateFonts(); + skin.load(Gdx.files.internal("ui/uiskin.json")); for(BitmapFont font : skin.getAll(BitmapFont.class).values()){ - font.setUseIntegerPositions(false); + font.setUseIntegerPositions(true); font.getData().setScale(Vars.fontScale); } } @@ -167,6 +189,12 @@ public class UI extends SceneModule{ Events.fire(new ResizeEvent()); } + @Override + public void dispose(){ + super.dispose(); + generator.dispose(); + } + public void loadGraphics(Runnable call){ loadGraphics("$text.loading", call); } diff --git a/core/src/io/anuke/mindustry/ui/ItemImage.java b/core/src/io/anuke/mindustry/ui/ItemImage.java index bffd0077d9..ea506e182a 100644 --- a/core/src/io/anuke/mindustry/ui/ItemImage.java +++ b/core/src/io/anuke/mindustry/ui/ItemImage.java @@ -15,9 +15,9 @@ public class ItemImage extends Stack{ public ItemImage(TextureRegion region, Supplier text){ Table t = new Table().left().bottom(); - t.label(text).color(Color.DARK_GRAY).padBottom(-Core.skin.font().getData().capHeight * 2 / Unit.dp.scl(1f)).get().setFontScale(Unit.dp.scl(0.5f)); + t.label(text).color(Color.DARK_GRAY).padBottom(-Core.skin.font().getData().capHeight * 2 / Unit.dp.scl(1f)); t.row(); - t.label(text).get().setFontScale(Unit.dp.scl(0.5f)); + t.label(text); add(new Image(region)); add(t); @@ -26,9 +26,9 @@ public class ItemImage extends Stack{ public ItemImage(ItemStack stack){ Table t = new Table().left().bottom(); - t.add(stack.amount + "").color(Color.DARK_GRAY).padBottom(-Core.skin.font().getData().capHeight * 2 / Unit.dp.scl(1f)).get().setFontScale(Unit.dp.scl(0.5f)); + t.add(stack.amount + "").color(Color.DARK_GRAY).padBottom(-Core.skin.font().getData().capHeight * 2 / Unit.dp.scl(1f)); t.row(); - t.add(stack.amount + "").get().setFontScale(Unit.dp.scl(0.5f)); + t.add(stack.amount + ""); add(new Image(stack.item.region)); add(t); diff --git a/desktop/src/io/anuke/mindustry/desktop/CrashHandler.java b/desktop/src/io/anuke/mindustry/desktop/CrashHandler.java index ff009dc39c..54bfa7e1dd 100644 --- a/desktop/src/io/anuke/mindustry/desktop/CrashHandler.java +++ b/desktop/src/io/anuke/mindustry/desktop/CrashHandler.java @@ -21,13 +21,17 @@ import java.time.format.DateTimeFormatter; public class CrashHandler{ public static void handle(Throwable e){ - try{ - javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName()); - }catch(Throwable ignored){} + e.printStackTrace(); + + if(!OS.isMac){ + try{ + javax.swing.UIManager.setLookAndFeel(javax.swing.UIManager.getSystemLookAndFeelClassName()); + }catch(Throwable ignored){} + } boolean badGPU = false; - if(e.getMessage() != null && (e.getMessage().contains("Couldn't create window") || e.getMessage().contains("OpenGL 2.0 or higher"))){ + if(!OS.isMac && e.getMessage() != null && (e.getMessage().contains("Couldn't create window") || e.getMessage().contains("OpenGL 2.0 or higher"))){ try{ javax.swing.JOptionPane.showMessageDialog(null, "Your graphics card does not support OpenGL 2.0!\n" + "Try to update your graphics drivers.\n\n" + @@ -37,8 +41,6 @@ public class CrashHandler{ }catch(Throwable ignored){} } - e.printStackTrace(); - //don't create crash logs for me (anuke), as it's expected //also don't create logs for custom builds if(System.getProperty("user.name").equals("anuke") || Version.build == -1) return;