From 2d212970f00fe99d876b9c8a3a0929d57d9ba8a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Hru=C5=A1ka?= Date: Mon, 28 Jul 2014 14:18:41 +0200 Subject: [PATCH] Refactoring, cleanup, removed junk. --- .../backends/lwjgl/BufferHelper.class | Bin 858 -> 0 bytes .../lwjgl/InitTaskRedirectSlickLog.class | Bin 1269 -> 0 bytes .../backends/lwjgl/LwjglBackend.class | Bin 1655 -> 0 bytes .../backends/lwjgl/LwjglInputModule$1.class | Bin 857 -> 0 bytes .../backends/lwjgl/LwjglInputModule.class | Bin 8133 -> 0 bytes .../backends/lwjgl/SlickLogRedirector.class | Bin 1653 -> 0 bytes .../backends/lwjgl/audio/SlickAudio.class | Bin 3419 -> 0 bytes .../lwjgl/audio/SlickAudioModule.class | Bin 2329 -> 0 bytes .../lwjgl/graphics/AwtScreenshot.class | Bin 1678 -> 0 bytes .../graphics/LwjglGraphicsModule$1.class | Bin 748 -> 0 bytes .../lwjgl/graphics/LwjglGraphicsModule.class | Bin 12872 -> 0 bytes .../lwjgl/graphics/SlickTexture.class | Bin 4707 -> 0 bytes .../graphics/font/DeferredLwjglFont.class | Bin 3828 -> 0 bytes .../font/DeferredLwjglFontFromSystem.class | Bin 964 -> 0 bytes .../LwjglTextureBackedFont$1LoadedGlyph.class | Bin 1099 -> 0 bytes .../LwjglTextureBackedFont$CharTile.class | Bin 1009 -> 0 bytes .../font/LwjglTextureBackedFont.class | Bin 12471 -> 0 bytes .../gamecore/backends/lwjgl/BufferHelper.java | 12 +- .../lwjgl/InitTaskRedirectSlickLog.java | 16 +-- .../gamecore/backends/lwjgl/LwjglBackend.java | 24 ++-- .../backends/lwjgl/LwjglInputModule.java | 106 +++++++++--------- .../backends/lwjgl/SlickLogRedirector.java | 41 +++---- .../lwjgl/audio/SlickAudioModule.java | 28 ++--- .../{SlickAudio.java => SlickSound.java} | 14 ++- .../lwjgl/graphics/AwtScreenshot.java | 11 +- .../lwjgl/graphics/LwjglGraphicsModule.java | 25 +++-- .../backends/lwjgl/graphics/SlickTexture.java | 91 +++++++-------- .../font/DeferredLwjglFontFromSystem.java | 36 ------ ...{DeferredLwjglFont.java => LwjglFont.java} | 38 ++++--- ...t.java => LwjglTextureBackedFontImpl.java} | 24 ++-- 30 files changed, 227 insertions(+), 239 deletions(-) delete mode 100644 bin/mightypork/gamecore/backends/lwjgl/BufferHelper.class delete mode 100644 bin/mightypork/gamecore/backends/lwjgl/InitTaskRedirectSlickLog.class delete mode 100644 bin/mightypork/gamecore/backends/lwjgl/LwjglBackend.class delete mode 100644 bin/mightypork/gamecore/backends/lwjgl/LwjglInputModule$1.class delete mode 100644 bin/mightypork/gamecore/backends/lwjgl/LwjglInputModule.class delete mode 100644 bin/mightypork/gamecore/backends/lwjgl/SlickLogRedirector.class delete mode 100644 bin/mightypork/gamecore/backends/lwjgl/audio/SlickAudio.class delete mode 100644 bin/mightypork/gamecore/backends/lwjgl/audio/SlickAudioModule.class delete mode 100644 bin/mightypork/gamecore/backends/lwjgl/graphics/AwtScreenshot.class delete mode 100644 bin/mightypork/gamecore/backends/lwjgl/graphics/LwjglGraphicsModule$1.class delete mode 100644 bin/mightypork/gamecore/backends/lwjgl/graphics/LwjglGraphicsModule.class delete mode 100644 bin/mightypork/gamecore/backends/lwjgl/graphics/SlickTexture.class delete mode 100644 bin/mightypork/gamecore/backends/lwjgl/graphics/font/DeferredLwjglFont.class delete mode 100644 bin/mightypork/gamecore/backends/lwjgl/graphics/font/DeferredLwjglFontFromSystem.class delete mode 100644 bin/mightypork/gamecore/backends/lwjgl/graphics/font/LwjglTextureBackedFont$1LoadedGlyph.class delete mode 100644 bin/mightypork/gamecore/backends/lwjgl/graphics/font/LwjglTextureBackedFont$CharTile.class delete mode 100644 bin/mightypork/gamecore/backends/lwjgl/graphics/font/LwjglTextureBackedFont.class rename src/mightypork/gamecore/backends/lwjgl/audio/{SlickAudio.java => SlickSound.java} (91%) delete mode 100644 src/mightypork/gamecore/backends/lwjgl/graphics/font/DeferredLwjglFontFromSystem.java rename src/mightypork/gamecore/backends/lwjgl/graphics/font/{DeferredLwjglFont.java => LwjglFont.java} (80%) rename src/mightypork/gamecore/backends/lwjgl/graphics/font/{LwjglTextureBackedFont.java => LwjglTextureBackedFontImpl.java} (96%) diff --git a/bin/mightypork/gamecore/backends/lwjgl/BufferHelper.class b/bin/mightypork/gamecore/backends/lwjgl/BufferHelper.class deleted file mode 100644 index 18a29e272a1c5f7bd5283f3e5930a0a80c4d9819..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 858 zcmb7CU2hUW6g`(hvA7oK2ehEpkE#nMZW`aL@j(;PCPW|9_MuO++kq|&J7ifj{)GM; zeW}KW#%F(&@hlKUgAcykJ9FpEnRD))??1j?0(gvO9vOi*2)k#=hoO!8URMotU}Nq1 zD(LIzbmW=$y{_?|k2@V5A80ewaUNMgsi)p4�*Dz4CiHNCeAI!zfIi36|W(ks$lR zp6UXYu;L(xWkInWM*8J=;OqE}@{Ja(wQZoxk&44~KPzUFvv4HXYyYRLeL-Q+Z-vIB zVg)t#q}6CoWJaO&TE?nmYGc2EGS>506KvYJ`-jE1NoYn6Hn1ru2eDR(p1Ud7b`Sqa zTE%uATY`;6k2Ap%l-j^;PzQetkmZVlWXyBt zF$;69`59L}agjlRF+B!Wah1`T0+_FHcg|{&mGtrxqElR{dHIFm0+kEYzoGh(wRxVc zIi3=BaEs^Xlyqmtb3k;4HK+NI9LFT8AOF^}IuX80P4~!if5KIn;&B(dyq9WBSp_S^ bY|dDJS*uap-;(y`B;`o@fFuH!F@wfWnD4Tf diff --git a/bin/mightypork/gamecore/backends/lwjgl/InitTaskRedirectSlickLog.class b/bin/mightypork/gamecore/backends/lwjgl/InitTaskRedirectSlickLog.class deleted file mode 100644 index a831b8cb53e313fc622d3389f77e034b4c5167a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1269 zcmb7DT~8B16g|@x7Su50x$Q@?9Ms&+^=81zx@R82oEh}7-}8q?dijVAZ$Ax?+7;tg|o}u zwot9e@q7E8@4Qt~Z}X_VC0a5Ru5S3!ZPx?OLXKhaEP|LNfiVm}lSJ`?AzQ9A8FH_J zmavhVeDsCJ&{#4?gDfo{Sit*Ut)hLCrN15q6c0 z2^1_$GR&pOx?1{_bl`bXc@AZm$2Alg#yp`nxK#AT6CuNTxsulKFRT|zEyBpa-^a(A zg(-$7sW|5qIw@>Y=peLF!gW)n83w0(nV^-XjT@M^Fvl<(gr1{Buf==HiA?t#qq(2q zP26J0M?#a}#$lvIhhe!~KOfS6R5P8-bbN-@%gCbgM?RJCX&Q9#dQkf;YQ`o_DnpUl zu+Kkp$LG|ph7PG~wGrH77>$$s&<$PjMw$VgPo_KRRnoh4!@w}J)m2({L{mnRCitaNf#zBUisDz#%st+jcL(MT z_Y?LS7D4f8VSyZ-XkEx!baTiv@q0DYjKtl>9n!(Dgk`cu z<{EjUC|kJugW*-~wr$fgzit^lPz9~pC%*BC1WWo1ah75g9VEPqd9WxY)afpsEk$E%Ts}}gR zXE$7)XXr5-w(uD8-S`S^jeS>G)q;ebdl5CiQD<1`#!Hy^o&>bYEJ7jDEn7 z+VyO%B8jwy0cZ^AqNwpVjiWLTN@m&R3?oI)GTj3+5K?bFrs@?zb;)(jqE%I@gDMFK z(-mL1f}0Fm|5;iUqe%CI;f{tL^s00l(=d(+hC$P|cPqlRcU{42RJGAe@zDHe8m?J$ zjJM@OZq@Vpfr2T9^)6_{cSXfylfbM71$_$U8J4^7*4Z5ub4@?@HS|N3dFdLmvMVWB zGZ{yhM!L*)QGZ9rV43n{qh(tCs5;>U7ClEr4rvuD zSXJnt?h0N6qBP(hJ!5m(Xc8AtGqsQXfyB3+Y2fUB);mR=R zSAd&syu4Qu7H-PbuyFH?%j=}>dyT;2FNNHc;fp_-MLB4gp-v^~ca=m!4kz6baz;W) zJto;h7PNVEUL(yQ$>eMH6ocPGvmrWr!^dF^(_NZM*a)tZWVq1=e?=<%R?242F#7%! zw?6#D?GxOU`XuSoq|dbUInwWuz997<(kw%QzCIv9j}J*aIzx`kmQV2HoXc!Te+)yk zW7C+x5~i?9w@pg+1x@EZ<}dIpwRt{6p4eSZlHz`&BogE-N-}!^e4gY6p2vV^I>EVE T@Fuomzzdz=wOH_W$gl7Z?-!(z diff --git a/bin/mightypork/gamecore/backends/lwjgl/LwjglInputModule$1.class b/bin/mightypork/gamecore/backends/lwjgl/LwjglInputModule$1.class deleted file mode 100644 index f24e14ae0d8fc25ec1433d06cf6e23cda948da25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 857 zcmbV}&2AGh5Xb*cLY9Utfu=#_qfknKwgFZsLL5L`S}KB)UWx+k&Dpg!ZZ~$c_O|2+ zcn4mh;zYy&i7QXRlOV<+z^YsjmOL~5`pwMWU%!9)44{R39tsSPhB6-5@kpnKLCl9D z)Ts#iJUkRCGC^{D5GO&$*|r*GwyUEo5sil)N({~1)6B}m1Ve5IL8z6nDVNHc;7Eiv z=#gP4Kb1<_XAH%)^&UfMQ%9nLBIbOYL7Ac2kxJ}j!@fvg@qQv07CJiQNsp(}t!JAh zJCKIqaVMAj-|K$Dz}`+v*s9N<^Qol4ha(AAj{J{D1DI4@0G85xP!QbqcB z`gXtk3N%Be%F$QT|SzX&Bhhnz)cS;3`>9V>5)(*@Rl^A zgpYl!I?x<}UI_Os4&U%``xkzXp|Y#9G!)y?DO5lGGY<~<5hpF5t1!_0k@+GX3ZPIiZUEMT(01;oe+W-In diff --git a/bin/mightypork/gamecore/backends/lwjgl/LwjglInputModule.class b/bin/mightypork/gamecore/backends/lwjgl/LwjglInputModule.class deleted file mode 100644 index 66698c925ce0eaf5ec71ec69a508ddbed789cd9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8133 zcmbVR2Yi%O5}$dy$tIf@cnbs}5Q?;f0HGHH=#p$8uqkAdP%OAfKEg_}8+SJp%ZU|x zZ=l!}3l>n5RV;UB*YoUmcD+;2cAo9LJ1aLc-)31jydUb%?ElUGy*J;?ym{aE-thEK z_df&xQ`AfsD1<5Pq1ILL^&OGu>XO!AyVV?tS|v@v=G9iXC05e5_Ndmj5N0gi-sN7~(-CdkoD)7@an>GahP-m4w1^E4nh+Y{g0%I$DBpE7;U#A!M~j zI%8ICB!)2F|38!3gYi`*&5>{{9u1O$SjifzIbPC8KcxuSGPNqQhSW^m-??joQJLQu zjFJj1D*VA%Tr9|%-P{%mhvIV)9EC-V2+p!d3;Avkrlr}ozd;*0$ql`skA}XGi;y{6 zRA&Q1o(30WA@uf#!d7)>dy^Hdx5LrLA88J@k#QlGg>-`h`nVw<2D@MoLUEcQc4U7( zNE!-Y2!g9UxY{C}2-6FTeodg*=3yGL!Og7$HROPsf)igAqGg+wu5o`uL$S}{aFknX zLX;A27z0HvD5TItqOHjsv@@%U^FzZ}31M^8qRer_I37J7VZh#_7g_6@BEe`24=K?w z5hfw@vBDh8I;(>w`_@>LM`V2A@}fo;OhL#$D!3+C(iRN2meh5I7Pw$OLc#x4tDzDWQu4*D zIGe*EuPkb0qx>4G_<a+ zr)xMvBri*6X*gS?088g;I8UT;~>nTE?nTENm~4OfV?kfkje zt`cbxOV?<)RwO@5*K4>zq~$E#q+zQ_OIf-_!>uBfv9wLY?IOvl->Km)k>+vV4h?sU zRL#=88oETPVkx2FK9(}7DytjBtDPDiU?$VIxWVfe>LCpe%bvU;PTduR_-12@OwjM{Z9?UFG}*((|;2XGBrJS5;Y7{$q=>@4nOU zy)DY7`%%MBw#Yk%4`|tY3!er*)$xWabQwr+i;M^!7OJ}umUUmHD#R8I7H)6W^)2%bv1r} ziXX1=K<2af#ndx+q{dN9Y9edBji$Nm-PGH6D^q%F@i!C@+3?m+h1V z@@cF{A1TYUKw~A7y^Isjpx?XY)t2NeeM{duY%EroaPFP&5 zv5tFs_e8Y8Utd}4=XWC3Yitm8Wi{2b$!Klt?TSk@E){h>9X;C>muozfd$PR#)b7T^ zH6FoaHj}BLM`{c*>kcfatk^xcSz`;+IX0adzEWeWD5>(*dsCK#G#({NgiQ@@)7Z|m zYTylq5se)zI?HR8@cRR!8e>BAc+{zJ4HFqD73(yvmmv#ksw7g!YCMh!hp(F78u%NH zC$Q|Q_0IRLupe}y#*>)K7Ov-Mr)WHt*~~g$eM6lXuu&KOpRyBpvvli zua4h+c#g(%g(~;?ef2Wxe2o{#yuh+R-C}w;oh{^PS{G*z@6x!PiOf)JxfPAL@ov1= zh4&x~PIEeSrjx6jx1&R27j{!Hn>y*JJ9=M-ev8k+)LkNu&g+boy6`@PN&C`jpZ#P; ztVE(y72)HtOm$-d>GRwdA3!*KzoR8rxcv>24CaJ-2!HFshv^2AW~IF*|KpCv-{J2m zjxoB_B8=IGVW}zPym&$fa?XTDH9p3<;f{pqaBTZXxp+J0;*%Pm;?*#ev2BqU-6@Xl zq|IQp@VY#s@ee#PE4HdL-V#|Gru=HL+TuZ?)&^q|I9}uDHNJo^(#y2fvaciaI^*#O zjix(iB@cL6<174>zIzU!vp(N_#^9edzRC)+d-|6$`?|(A_F$LMr4iqvJ0QM|Ftf0{ z{8!!mSoOOa|H7)>Jr69GC%&ig{XJ=VK9sugEBuy|{5vY2>?4$;qT8-qwgqxOTK6Nx%ln_oHBHuzXzg*rP z2kxL4@(zEC$ zzMR6Gbim#+{7iOYidIv3kPgLmckq!Z(iv^GDySAhRhqr)gA=&qL31j@VJlij*%Gs2 zFr11-4*JWW-+ZokQ4z8aSCIs%hD4Z4tfpTI8c8Lf=ocVoC-h#{4W7H9-*yre^rv69 zbQTbnzyZPnO{3aca&jg0Bk_I5cEfu+mJKCKs7Qc67tb7&UTXscW>D~BFCx5tQ#Cfhg1h8=LQ zqYHdHU{QuZb*8{#mq2}%z!GD#%Z*JRZfyQYlP&$t#x1zgHdb!MF4jb^;y&1Qn&ZKg!<4l_}3yO|_-kC`mkZM5M1CRgx5GfnWfrdaS1 zlP~zV86^0W86)@yQz-bHDH43qOc8v=Oci|9%o2RV^b&mA^cMV!Q{a6Myd{kfJ@B?P zKJmai()i4j3VvZ`3w~|p2>#2=75vs5Eck;tL~xh!GNLl`1T##TV3sKt%rQ#@dzqzz z9@8S&&sc&7n3aP0<{-fWQz1Ca_yk9og@U6^wP2B{6C7u11WQb<;AFE{aGF^pIMetA zOHGyFTr*$LYZeHWn@Yj?CLp-b16N9;$^-XGqt?t2444AJMh|R}#xgTg@GuV~q_M(` z6>Kuo1uYM}A&pfYcvBjyJ@BM7!X9{D8b^EJ8EM2l@T@e}df*9Z9OHrKq;b3lo|47} z54<3alg(hk(>(B)G|uqAi_$pT120MAJP&kJBlRM|haf_mbslZka@yKH$fL68V32nG!q)okuN~?bQt)gmX4ID~U&SqFlmBc!T5pyimQ#IaS9Fg`HH*d;|`sYSa<%64f!^fFr5;6NFExg84OR`W{-)0T$-KN-B%A;viUs zBj6~iKCH$m(1xYZPB;88E`kUKpo6Z-M`JTYaW%x~E*i&UVGW)PYv~fW4ljcBxEYSc z>)|-u2FK&QumK;06X`5`5It|}JqI_bS7EDq7j9M`!!7DdxK(`%w>cDSbL7As zj(%{bqX6!5jE3!w61dwj6Yg<%q06xlx*Y+y&v7W+?`VOYj&^v!u?8M=oB$8)e(5_l zBwxeGS6O-q^M_~_{qeWNmB5Pl}RP2i55m{`VRnC!;;yYRuS;2PVFk0kK%&AYx$;1io5Gl5UD;r1t~n!c0(&y$%i zkP|ObzP=0ts4O`YUWL){8Wd7JvY0Y#2E0k$zYYh(JCwEWQl`B})$#WsL>Pe&p%XrW zb?}KeK1_nKKIu5QNttpUxn2m1@sCs`cE|^fKJl*1%pV{RbBi6l=wBe|qMeM-2r`FH z1)&5!N3Om!-I>5YZA{>6^!MgL83}xc8h;gmy!l|dYanqSZ5)`I%F zq!>6!b3nPMH-qL?s4Qw_(o?)Do5r~$LW4o=q6cQV09|+k{f|8eG+Xg~)D9R$KT{H_ zAfeo|6DoI3LKzC&j-9ICvOxudyH$U3dUv+=r-uSk4q_(#d!vg=v)M41Dz1Ed8fz;` zI^%?aY9JXzcU8y}!|4VA9+gi8eLBObL27W)gb9S~vU3OYyNl31oMkdcwOZC}pQW5h z&8P}+%iePnYRI;|<{q%mxx-;na_$^LK8IxtN~i;OyC|nZ96~M*6$SRuieo*J2GekQ zBi%q#k&eD&lB(*Gs`84vRN*G*O;DUr6E;DHbDM+hvbT)w)2KAHc`3Dd6s>Yn!zVV1 uPhZkMNli@ZpOw_lrcU15&v9w`(#_YNysRN1KdI)-5qu^ZBoX-8gkj`H4_w&}iS z&{8)^Ojj8qyH0~g5yrHNNyHe!sdRM`)PxEJ6AbZ^Y4dWsS>xhRuUVX7rsULhtEvlA z&i%!Rdu+BCwu1GqZyWUxrUn_txDXB*kV%z#CRSWQo#z58hsVO{$m%&Mb{-ED+-FF5 zDW0j9Zk6~Mw^TgDBXX&dujUW(4D(%5e_(D3i+HRcNdm5a04iqjgkjg0JOCR|{{LRc zhGvUwnCZ`8VC4O5V54UO!(7m>-iAEk+2EF6K3$caW~A~g!`e-hdzYr83tRfWrb3g} zDn~m9xfN16?)J*mV;$LYN!fhI3lndNL z1PRKR!;ClcqHzazX-0YEh9okIOZd!Blp!7azS98jT7D$4G#x6BqARX?L zyn<=02AHucX3UpNpCJrku9D6H%ynXJjARb+c6Eri+thsS+TOkxCi&%H$vY(Z!wAV6 U!)d=Cu{rh%)+&FCT0! z>4u?e=-BLFuyfd%aq@Y`R+}|!&sjy^8TGu}xaYeC*UM_qhBbsUoN}{ij;1u!sa>{) z#*F0`#xvH^xLZigYB1Nvr!AK!O##PKW#jFmUOpYqIt#Y7kd6C-G4AD@td)tY9RnI7 zzE{kroFrXpNjf^=X5GR`4b7dS*Q|Lfp0Tp&_(UO3qXW@N4f>F0I|gd8)5JDxuZMwBnt3M(a*Qby7Y_v{JbIRWp}bFnF|wF)a*_={jF^TU z>In0kJYQKc(2d?OdNk~-!c{D|89zSbW*k4B;P(>8CgM0uA8DsBvRH7kzRL2U%@}?d zo47e@vLv6>&_E08Aft~qAV{;hVu6Wsths>*j%ld%(rE)vqd$z}8n$gD!NdSgaNfC5 zv@(7&on@^LSw0Edv=pWcoWxhcIHlq7M;6(HSIpWI1zIvOh-Zm`0q}NoMju_6>t_bU z#juGHBv_a{c|OhSklZBdfVB-le~yo!_#-$&L<`ou_&IChxivqR2PY#q$2H5Hk+t(C z#@E&clZgl}aBa@BW$mJgOKWTA&JTxinZ>`(?S*2t;LbUfqKV*n4SSN=c`M`E?Uo2e zyA(^ivsM_r1}3r7zzet<#*5XZx1LZFU&l)tLaB@=399XkP8yho9Y$*HfV#IAXY<~I zTqF|?W~d&PZBG<)IbI0gp_;T-b6MG}?s;VG($GAyF#*1+C6>dcY}5Eef#P${%9U?z zeMQ*}3PRR|ha4{f%fFbX;90gHAaquehP(-1mg`+#)QxJ>fFc&cnAfoPk@cnWXkrmd z!QEJwP})t1-B(O}L#WdIf=BZPqbklRxfT1bnRp%F5)r1)L0^^L$jpqBl6X54iK%E( z#Ow_dTd-9QeA~n=yhUfeQ&@MVcP63~X~VLw75ze>#CqqjB;{S)4&%EdO=1Whj5Prs zJ#yH@_wXKrwlZ{06=sU+I+MwS652EsT|)T2i600x5!Vk`6Ckh1C$A>Q?i74KBIg?NhR-vrh2MNlo@ z1J#mfwh}jA7k-;KD$rUD+k>&LPq8DmWd+T#+7-0Or!BU11&_&RPfT0EzPrlGetr)q zPX~x#7wxssZYy@8jX%4w7kltHe-3cpuD~`&2RWh_d>M!6Sw{yE)S#1dI>%ALqAjv7 zh(GDNhpuzlnAWeecceem-PE^=r^aPHtrchl(&3rV$bs=H})!@`(a zIMm(r)eQ?1YN7FOn0&tJ%BPrm&=&d!j*647-9cztCGoDd2#z+ilsnGZd(u&3q{)Acf#P=<@xJED6xigN2|B}@b?9vwY9Z=l!Jf67-ZAX@GtVOA%mCrm5P`raE)zmY!!1KLch!Q#xnND{(_ce z?2fVBcOSgPx20BA@p4ROsYq=E0q<5h9AbrxF#ieW{511?hGCyo!I**daxel{M@{4) zXTMp&@Gb)p3_}$R%K0(+Zd*oNVPOBU5E`D4ZAM4w9^P5M7lx|$7x^F9 z)vEe$tR$`xC9)%YQ#s2fCwWFLoA_sVdD4twwhDJk6>cUl zLYq|mvX8TD#mA1oN2vB=q3S+#O9yLzE~gO4J+@c@q2`rD&-+)LK_+jg(pqCjF;jse+9ef1Qlo zqy)af48BRBy2ab}mO^rd(n%+k^z`8uDm^kMiIPnB;g>ugQoUbsP6VnCzh*09+lSw< zXQ*3OX8pI7%w8>LcCWC$3_~z~CKpO^|2rmlO;v*g1PQ)P!FZ1_OVrW#s|ed$l?dLL NEfh@LA%q(I;eS4T(N6#X diff --git a/bin/mightypork/gamecore/backends/lwjgl/audio/SlickAudioModule.class b/bin/mightypork/gamecore/backends/lwjgl/audio/SlickAudioModule.class deleted file mode 100644 index 7d1a39748b8cbc1435a2b56e38ebf60ad83194fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2329 zcmbVNTUQ%Z6#fng354Mm3fNYAvDPL5Iut6k2C!U;pn;Z)scEe`B!@6CnPE*PTzqi3 zmT&sfpHf{)v(%;U{wSBP4d@^NuU^O(VZ6?Lt|%4t9!`Zd3}Uqpw?Les@Nh%TA$U$tc1CH%~hr_&2!< zbXaEDleTmpJ7s~pnWkeE&$P;V$?&%IyknO=*D!6btnbUbr|%oCo~4mB+_XSs(zH!) zS|F52W(C4?PC>>HLWhPZ+G6NLcNAR$LuW)+$QpXkD-bOiyOOsEOeB*3C%SeB^l4~C zM4&rk+H$2*+LZ2wv1v(xc*e;a7V%BBu6+!9+a`;VZock(6tE^?RgxGk;q@pk3*2zr zqHfEBf^lH$WyP58>`B|O^mV6V7uG$}tKkh?VG)bc6S&26&u}KKuDGV*I^GoMEK6_M zI3%K*m&_oXSW0GI(owu8aN)Fl4U?E6PTrELVf)Bn z-K~z$iT5=;z>I)6^ao~M&BvUEdH>syS}kb!z+Zi-l3LR6AwD8yTc%|RTuwAln}d6{ zpsKlyM^UT@^sC+pRHD{rGnqT18XjX+AZA!6tO;C7ES(OR%!Yse8e}`Pr?g?@T+A}u z&C1rez`*I?!TtnWh~0h?jITlZ+2>p}B}c8dAl0x1gLFhWE2*CURMA24`3zq~@j2-@ zr6L*(v{7UVlJe#p3G@`4IaeB zNzEVx|8fYS^pRGCHWi!CcCMz;LJQDRuMkUBq5XvT_guH&0-s&}*#U$pEgcv@zw!+H zxf z#IV(w?@~V^K6H$cNEKttJ?gnKe2jOW3`c&A_2zFKGmXDRMytYY^31gAU_qov6v$;h4|Qvnrl9k_jk(z04w*DE)q7N_-IMuUkhlw3Oh+RK)>o2&8J=_2Q diff --git a/bin/mightypork/gamecore/backends/lwjgl/graphics/AwtScreenshot.class b/bin/mightypork/gamecore/backends/lwjgl/graphics/AwtScreenshot.class deleted file mode 100644 index cacf9cf5daff693cd3ba0859a7dc1b759fb9a110..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1678 zcma)6&rcgi6#fRUf5hGJ!$1hZq)AG^Hf^>^Xqto{DbPUNIGEtnG`WY=w@s~*xzuBlW=)k;0~&_Ah-O23)Kpj5P~Rx|V7yqWjD_q{j!`(Ho*3g9{( zhtVc*Yr`p5yq!kfUAM~ihAh@yX%+0^x~!F&R&{HwT(!!s-KaRlrZv6g<%+J9wPvO6 zg<%MEuGvp*t7_NER<^Jvi`)$fjGW~3$jh+{f#8-?@+tx%EfA_mg+(AxXf$Xl?0B*% z(3{aQYEIpn;m*wF>Z)|dX?Hg4vJ^P)+wCpS(mR%aLYC6X&V!)|r{;K50t1P3I(?$I zWM06St(RmJ0d$+_Ko4OglKE2*IAbD=h?35lIOR*{OhkPtZsIMN0v#ErCKon03etUK z7pepn%hZc@HE+9)(hoNcui`MN@ytmS{V(2CMg>iRK%^`^ou@wx&x`{FE zrzyRq`5D%Fn`4K=;cz+190h^XIgfq!z;3jtYT8dpV^_k@i}jy#s&ZV_DtdRjC>x$r zuQkK?s0E29(%BbQ7xFxn#kdiYIfK07;E}4 zqhs=y_}Zk~YFR&D{it%D>(t8Q|6t$=IbPMU+uyX1nOuF-ElNMB*c%V_io%AAgdgAt z@{6g)W|?BDt@X;L)+<|@Yn$p8uIhXTIyrYy+vR?c>$%h`#8Lx$=uO4<(3cwALw~B@ z*u%gN`tG1QgAnH-7`V(B!}K5588{UJ_*hij`}c-7(HLnD;Gma~mm)<0d9Bhe_lyg;m_aSKR-G_U|yO z*}CUvddSu#e1Q)%TO(MfC&kuHWbvV9YYx-YB4jI%tMm~e)2pohZAu}=0&5vGU*oKJ z%^&%n`1}vPRzU!hbTdV>qWO+4_#$DeLiCL8V|pL+%c*_bk3AUu3EAc2Qn%|8J*4|3 amN=&YpYiVV&A4^!$aV_(0zL<^ z0~pijFk*`uO^s>vQFcKfithc!}*43k+{Ys;a|uY~2~J#7Gv_Nj?RZ6={s zo}t&j()|BCykcO}<~sWs)^IyThoNg-HJgAPOGAU$SAML;G{+s>Wmv9c_#or>8s-6M ze2MICjt8;cruvC0L(PzVv=djzcPe`6&KcwLQ*kcH_*+wG>y@dFWT(EQfx8MZSJywmbvLps<^I5xOdQ|1z7pcaI`PBvo)NIM}oVd zNN_f*BbEr+3XjFjDD>{?7co-7M956F#gmY|oypf9Pp&glCUjWmX2zw%RCp*H4K;#9 z4+O~c{^3X@*_$xUXm>0WikO||6~ksSW%dDdJJZx`f0vnZbyke&fNE3V*>53rh4n)KzQBqnf$OP}$;ie|i_Ev8HxiD9Q>&Qr>gR0+P7Czs zrPG<3U6ypxCCOpSXDs$pEzMPQ2F+qBSfQsWB&M?zO{W=ts;7XL=8d&?m%81OIxH({ zp!wi(C^!fuU0VNNX=&amjCN*PF03w8R6{eFN;|?)bN%p8kD2HW_CzpsMMtbR7}*?5 zgymT``YDg*3e{3Y`BWfx=P2@$&r9b4Vw@}a>0E2{GDU^t_tFZcGhHfoX=0q=`DwXD zd4Zxzs)9CB17VnPvs=8^vSMOJvPynxr8Y0EVXB_YixjQZs|wqP?Rp6wG(!s*3BpA> zhoj)xT(hg!jHkk}sE;mTI;|x(9O91dLN5X%+9v*AcdmUQciE(xnL3xffiIYK#XXjh$;(D|#ap zfON}6?cHnqbUF2S2?6``S0mN3DC#8yq5{OEU-MY~D5O3~HyCMFe%bZ7cS93dBK-i6O@eD*LcntTOv zg-e;>dU~6e-g-*W$BDCwuAu=TeY>JJTX#1ox>i(C5bN)U5g{Kt!ff4!RZAjDm?F+i ziry{a_(G8`X%kK8P8sH@*CG{I4M5X3=&){(O1z1fWQna3Rc=$XpFV)j=B@2rm%#v+ zxINz$INTxB5u!yh$a1mY4=TEYJ_H;Kn`v=<>wkj;|AT~ZcnOF$gWH6`k1G0DmO+SN zcW#%?yA&PBcEbLyr%x&RG<^nYh{h5_vYM@@5~>}EAWV|(QS@2c)H=1QpkPmMmjuQ< zjD!uwt&L5}%%jp1Cxqs(q9Zh_O-yz@%_+p19$Afc%LLPkz99V-p@{UiM8ak?WsMT@ zV~XyVCC>*5NZFiqOVAMxo#hi{53^i&r)Uh zQX;`xGd5(V61xG3d9qJhJndwXS-z#{+w>iXA|yz;xm@2B8|`Rd@$P_pPto`32hblT zVydd2H<3cj=tmL;Ux&F6XQ1>`^2KbL6;0RE2Hi42kr1dF9PfM#e6j^PC!qGzdHT~90 zzhP>6%@Zs79r>V%h}oYKyx%K&RvHR=VyRSYNT&URqCXNsmOm8PY$j6Xt|fgk@=uEX zEF<$1a)OYSzbN{vwB)5?aUuM>q8G&`@tnL7Uu@p0_wL%b=Z|6s-F1XJx~izM90XvNSw^ek(!TB~1(^Avlexk&3d+g_m9 zEA2kr-W`j};6lZIY4i#P+OV=Xhe7vqUR4*GSEe_X`ki!c;9DkU4ccWr{3 zK^1U4E`_GKjOp6{KjRvj#KA}C1hvI4+DH^IpzDdZ}i>g6d+^Ic1NQaZ)cxSGjG zA>uAN#TnZ(her4l&rn<={*Q#bCMrR}%cn7&pNogdPVnx7sGn!@Y{j+WqMja{NJXwW zis$kf@ZsSRpYDWMypiwo7ND;zeUSw~91N6ffnoB~qEGE#bb@z@o*PrcFA}ReYXw7NPSZ zQ)1R4ocEI4qRPWY>{NeI^?TUzPjaWHM){JgYYiKR*?sA zR>DqdIKD9vlRYZV4+7k#c&#iKfUPVl2Yu;iSA4N3y(ARrhz0xF`;eoUAi_Z-XvXx4*!DHrMR1s$|N|4&7G*@AQgG*+wnJVbHVYOE<~+|sNh2T zMo3<-_)>m@P9qxc;&jFkZ_F_wg9`>caTJ>5V4OXT*}YIsACh_^rWYlpI3eq$ zu*lt+A`CW$yi-v*RbYuwiop>L-EB^J1@QITCHynvTriEM%H5k3Rnt_MkeF3ja%VWz zJCG%j5pPj6MMfx?y@Mso|5nA4=3Czgu)@^e^=?jAG`5LzAmY<>#CEy`uCT zBFg&}l~S4Tew*U``~fTkR=m|r4q|`cqC#fG*6G!7v0ZNE4=TQcKLoRZn#WL|UjORE zl6YGAPKBe_9=ZFd;*ZI477WMxa6s|#CvYI|FoPo#6m)<;<>gO~RghzYx>DL4k1PH( z<0O#RGmJGoE7vB_9D#$QyK#-&tR7A-_wqdmt}eAZsG;F-qaL4Z%=mN501hmsrj-o( zImMsngW|qs%Bs9I=9<(lqGorVuEPi4&G$;>;w^qY!biP4iv59$87o*%;97B-zaWth zo}9ac;E+H@%`eidkB{N#-xdtx09l)g)%I#>T!vUXgm9s)@r#N!(Rv?$2?dobK?10W zRBgY7kTqa{Nda@AmmeHcP;rVah|GwE?t+Tbg@THaLT)HYp(@v<%c04E7)CdYRb_Tr zGP|1WU^&C_Hxz%<4tNr7AOBm7n9A`zNXgJoG?a_06U-1w4hdM6HTpPo?OevDg(!svHJtrONP5kKC^MNDNWP60> zovEype*O_ZCNBLrQ;p0t$utP-J0;`7tp;>*6_1D`Ll*RCoj40IPB1J)5;gNX0`D)x!Jk(AE4@3|8BBJXNfhn+#BqM3_-!;xR_%9+pOIC=K}u&h)F=5_ z#m`Ap$nO^zWMIix8N}xiGOXb7XT>iFsVBKxa+w#wNSqMGK>nMk>F=_Lu7r{`Ia!K- zj44odY`J)Chg0N3J<=7&#`Zx*Dfo4VQ*sh)<$o%ES)y`2_6<_Xkj~9r;7B@8C_|T+ zWKW_St<55QHh;w8S`wL7jCHbXH9X2NBzqKMzaHKrtyX-I11i(0#TREU2WATpoAiqc zY}hV_c8wxsD5KEs*w|(5Vp73Zo-Oo#fB5TW*edgRF2#d!^RV4fWJo<5cZO86^%WIs^cLxR>BmW1-y=ooD-yZBqCTy! z$in)H%&o7;+qlk<7XkW;Dm$*{0R1$Y1?1UyIv=?5S9OePw;iQ9_tKe%=*%?L-AfA& zqTQfIeEapNRk&`TMY@$hk9Q6>N-tz!w4WI`N{a)0gq8$KkI>nHV{|S+&p$#Q(Plhtfo`|rdAo+6YC+iWUTAs~b%MGJqw%H@)%guY zctqU=-=eGw>{-2mhSE{moE5~<&*hji=tB0|$bz;FeTeQ-%eKMxLz}|a%7%x?dx*Ao z1P;^L^|yY2N*i#uWRx!3Po9H;22o}`l-V#!CO%<&BK7!+4W=m}ELcKXx(s1)cVKxV zG>3+u)hMl?m}aRK<1m@S(n^~pY1;)VLyHZq`l`U-ZrWqB*$&3@LFuiVSCXbH$ICp7 z?h)4nZkewEtXPE?bzC2&7uYx1u-%~ZqR&@1uR1>m?p5f$TH^+^mV6H5KGcUTT%U~# z6uK6ld_BWk>=`b?3gRZW_XD>eQ$T8D(*z#TPTD3A~rZTz_o+GRFPRgLJu~CaN zsJWDK1KjyW7i6&mS?oaWn?%F!8n5A-G2?qqS;PA#)9?h`+o0k7uR+8699>MJ;R!Q+ z7#hCQr4F}-_t_f088T*^tU#Npx2~=J|ga27^pi$w~o^7g$RI{bM50Fpk3QF$0$MW4r=2U8w& zl1>YrB%T#l97@x@Mw*VM>Avh#R+{-GczY7r>?y>6r}cDJ7R$r{rY|~x7XnNG{b_n2 zO%JB&tK-q00W-gcDLf0r=Uixhn|Y>(9JD1inr94GR%&_yIDc``dmQ?2J;ZpmJmLVYw1G+kf;39sJx-U8(htW$ zaRHT}oScO!b!0+e9GpnTK5jck2g3DZ>j3w}*QrD{C{L6ZKb5ARmwD6lNW_Wy%kvhy$!+`nj=7jGySW&W3KX*Qu(+`K3-ANmMD zrdP5`(U#70z|36ov$cV;CM$9#E3zj8giimmV2{$jZ1`88EZLDnL|N-6QC0wo_%~)> z0Hxt0N<$MHR@3vYru=M^Xii4?vV;?qxe8f=H~{_^K$#1n%tk14DU^u~A)iByd>(${ zaXzi)Wpptw$IGyl^afsq_re#@AYZ7JYk79WkvHPV8{s0h_Shl3h8J^|UEUZqV<9c0 z>9CE)A8445joB!dWVNi_f!nAMg;Fs+OT!s=l%2A*oVa5#2d!b4hekF`xH9(YTq(+h zJ}N&!HDZW7U9?kqoM*x^rEipHY10fWfW~AwmU%GX^ie)@S$-AQHx*3JhyHQb+vJnm z=W!cq^2_ZDx>d>TGrF~8{wN3bQ)#toDyuGOQq^Tm(zH;Td}#7F`OxIIrd_!+ zx9}j{!4W#ZF*?j~dJtvNM>t7O@Gw2YBlLItz`;P3t(33i3cgA&>22B&D>FvKm6;{w zN_$DMfZBcXXena7c&!Kf?8jh~FTszS@j7<}Osjx8=ph)X5C68%{V-J@%%g`6!eD&} ze?xQ^%+`lf5BA^Oj62zIX728w5nip^4p4+!a95#Cb`IsuJwcaJk(Utt>b;B~MP80T zf&Y2(C&wM;RwtM~iJ2s3^psCSF>FnmFG}+zE7H7SWnNy*%rtkF)a;$Px1@?USMk;~ zZ!e!l*0A!TjR=sXX?|mQ(G{@Jaw9Lz!SbSy$o*-+>MJjLTJH0V@;r2fvQE;58Z+^A zc&m3k9OZ3P%zLqt@1SbF0da93R`DiU#5dEqd)0D@b(MVPnbJ8iyYSdU<_4wh(gLy+e{HO_HdaxR^U$q@Cyh!_qjk_fuFB|&?4ZQ z9Rbe0adj*DAs1~%J%&`XY}&2% z>}3HE?%0+k;7J?!ok+tHNfyN>bQ+XAEf*`s`Dln)=EGuKt}ee=_Ne|FRXDqAnrh)RB7fmMzW@AJ|Y zJ`Nx5*4N7@44*!3%efvuFeH8yp8psU-{W{Y^HapTpW#=VKZmFM0-o|q#Jne|iJyX} zJWVb98|voY!AqW@%lKL9M-?#4e?Tn!BkkrtYh781aF1hDd+hb!iXWYRnZE+v4`Hsa z;?7Ehr%{0~P}=3?<0qiiJkcZWp;bQqitN<*Yy5S4;SNCk0n>d68@iXN zj9;M{{7;DgZ{+(ETAWqZjJ7y_sN^TwM@sNJ)t~AhP(}fM0(W`Xwb$~`pgIqo2QU2v zl!v+i)R!^5d(b0B+mYs{_EXh_RmDW!ve!c(~KgTWhk0!6jPm1MhlH{{D{2*wZ$p4%9u*6#x%Ob zsCF55W?Lx6olkkwN-M$o9~{95Etc;}jPg%d!aln{G9%D8Y8MQ80Wh;*P zFTBHE#<$y^FDFl=+R5?4cnZ%DIiZ>vLru^6H) z(Q{exJKvcrpZ{gY?|)}pA7w2YswU0<$!f`hIv-F?xuFdFq#UFy<>m2Q)ufHQ@lYrV z8rJS}0#`=94OJkKNgqg@ka>s}Wc@(rCZo-@WSNl3hR=YCH0=^QWcsw#8UA~qC|Afe z*1702^)fb!St_D(7+Q?0n2#58j~XT8r|))=XR0bJ@AhqShjqC8xM**@-bL%ME-(Kl p(ry?}+mn+PFAT@iqA)$4=Wq^M18xSz7!?NMDt25X`8g^_s1XT|H#wyy)!$@Mu^%zeRy`}-aF@>bMAZI zbI#?xf4_bMzy|zNL7BkAqef=LJ(9JZL-C9@st?(Y9v{?(4(V1p7dOWbX3TiT(Xu1P zP%hqM8bgPA^}}x7(G`RQHqNxWDDL`_x%du!Sa%#fUDzrxM_MqfOmSgZ%62kwOCL{b z<5oN;?ZoY@Zqa%{rdgmuGqWR_fY>ik>5WZ+ZFN2U$==poPxK~QQf+lp4%G$6sS6yc z3mmFzH%wP|I_$JAP<9|Gu;qWz(obA`9hF-Q%W$^|ET~T%)W)>9sactLkL&P^%?*75 zp;p?8pd3*ZvoS|tZpyIq&iv@0?(}MdCjF>M*+ZJyr#Xh47ZyYAh>;W6oSHh?t)wd_hN~H#R5x9%;sIg%*BTdQ_sbTpT3uK75Cv| z+?~rSUD32)2&7j!!iZ;3sm3gk&5N06PV@Nd$U>HY1MKBXnuXeOiE}^ zMFgt|a(%;rWEBJ&R5W5WNkVTKXMy!I;ur8D9`Hh*tH6uq2p&LO!CHZJB_ITxn#ze8 z_NrKiCIQ8E(uSpxqviDtNd+4Ono3mpcKVxZGq1M=%VBI3SiIND z<+IFDS5L?MGm%)aQF3Z+1nUu%5qnt0$FZ59F&IH43B^ap!m#5>E1P#oQ(YV7fwy3r zf~~~!PPv#OS#(FmC$L>0LVJZA73i43oFBAXtnE)W+&SeHvIpW;$lsZfsDG$=uM>L^^>E z6`hiqVb}JvJAy8BD|l33$+Xy-b|%9(#Zz`hMUTvSF)r!3S49OX!{`^7C!v(Fw1;B_ zCdI-Spn=%1#w3$gyKq3oC-E4!GYcALI8I4g^o}_8xGW$nI|`lI9miBWBePf5v;w)3J0dua&nx&G&mbN1+hU98}no^|QxBL|q zDppC?zNX>?zE0Q1*UpaZgU*lQ7}uo z_iITPy7v-(E8TlXV8h*e6$HGwiu-@3;`fqn6|Jd6N0(grgNi@OmCEk6uC_!kLF@5u z5IhV^P_*sKf!acG=`(T$t53pW?bN)!CQw%jmEZQXsqgWGX=pi?fsjQe5r$&= zw3O~EvNyQR@OJ9g&Ui;Y=SprQt!`F)Qqjt^+Lp^|)QtOyR5|av6)2NMm!mS7_THN% z0jQ41D0^?h$#s=GctzuLE@#^)U&eQ3NJ{f!*EPT9*^v#Q&LpB@?6GnOP7F6@OhS0?cR~+?d z;%q%f5AvUijd%!~upOI`;&tLtY=yy@&0RUP;sxx$8MJ$Vb$dZLTLkPZMm)g6$Z*d> zg0O}b58@D?8;YatwBxU(2$xBiL)5&9?QxVlEPA#A%KNBS5UZ?wA63E|+aJ(anF7IO z`54~BW3dhJDPw$yTP5zR8YhrDiHh=bjLO(aENCQpV~w2jUc+I5D>%yW(Q_2_vAD+z zXNtY0lc?-r=)16ton8_`(ugVx=aZg=P*$~wtDnZxzF`ugoPWSI-*D(+boReE{LCai z8(og*GSoafi7!p!1)BZp1YY!5Liv^a1w>iI@zQ7mwn(Bh2)=xxd{YvI`l9t^izo52 zH!7E-yCB_GpLBeckj~Q}mIS&WM=~FLDE5=@U>L%9k~A6Q{{=d+)*1W^gFb?t4BKuZ z-N``hLzWUxF?=qm;gS|(?04g=J4f&`j^ZRCI)!66&rVDzJUDkTYY9{V&KEzvsz6zA`# z_m|W4UZ&nFx7W)X+ei3YCUcpgyEGl*8`S&eZS+=$S>;z1^d2L865@52aCzVzgf8?? z;>wLTBD)(e;Tj8gXwPYc`Z;-nlL~(_a2b~`kcHK#Wj(*ioLGqlzWt1;^z_ww4#Ewo*jZ=LsEnklA=u^Kl>3RXGCO7A$`*I+~^5~p`qDJ_PTAA zZLef4M1kv-#`exk<(6n?(l0t0B+zNXfT^&rg=}uA0}A(;NFgn6pD=MRdMF&aFF6Wo zN+$bE>_fjos<37Up+e7IiwfPduIHSqRaTr}(OxN2xM$Wc*ySZVaOJx`nT*z4s+ejS z{l~+fxR`+x`n90oJYz>|{4D!+alSsKkU4#&;8Y{m_d){?DfDXST;G~`y0IehJ#69; zJj(dO=&CqA*3!AVB=vx#X+ea?I&ct&3=Aqf{t@!KRZ}9rt;EC-a!k5ctE}5)W??2n zFNaNx;M0t%DYg+H0W6h3ba2StE z(T*yduLszOW%=Xl+gq-2*`GA=c`5cx(G3fBP+at@62g-vPRVpveR{%=BEQm!2}~K7 zWDm9ia#wZe#x-#o)9j4UiKb!;^ERuIg*G%5w`f(Dt-;{pbawAbTn1mjoPk+|hnkGm zBDYLZa?6f}&3TUBCeGn$g-#a7b_3*ER7brwqzk-ija3^sc7>2XivS z4P0#Q;cf3t*jN#ID*GYZH!+l3%Akl<1N@4cUi0PRTHtR87nvx5bkSuOiwm`Cl_U~6 zMTPsC;c9Fi%PqCzlET2GUn>^}JUuN3cwh(W)4nKdaFjy(7SFNGSW#`RM>=nr1a4r^`*+sSE`21fe2^@DwNp_J+b^t%BK8kMwxWD)?nTuqNe6+=RAXHt{vQLT+}vkUTO==mcvfX<1t8 z8z!#eC4Pqy$s(oY6&`JF^0?ghsOPc8Vn63N)VENz3k-X_g`>GUs`6;kcD*RH)}2CR zE%8D6ejVR6@CNDjP64(MGx0rqpKvXoo@Wp4V7wj9w-BA=;S`Mt5^tLL4ql}ep+shg z!O4+&#*vGP25d&Q{n*40@pjzl(vJ%~sAc|VCVnFG?UXz37Uei>dEjd$zcTT2{6fJf zIt0PL$_8D~=O|g2IQDOyOO3nEVJQxU?0k)cUvZY)&}AQud+Y|GG>`m0(F}CsO0`wE zyi+mryslVtwJ?$@nDOR$*CH)=C4wM9vn~%bD~YkQw~biia@25J(&LqlLrh5KjORJQ zWZ7mL(~%Ahi=4)Im<5>Nt&c4uHypkR!5e7jvx8q1uBJHd%Maf~Ca-RwE1$c8?)=CN z^uEW1HhhxLe!Xds&-;#5$QpEWNyY~^u`FXY{V%j<)0_CxwbA7EM>hH4XeyihH!|7O zX!38kH=E3+{>m>7n<&U~@&oL@(Bo#4H*xtxLTzG@Apl4Clrhay`4mT)xd@MQ7xkFX zDH_yJj#FxqsX0xcr*VLR4KlPN9FKFfaaKcdhJZ`%w^CL?wVtvH6ZI8BAghls!3pX+ ziU1+4_c3h(ltDcvBGd@XI(II?xJ?u729$w~Ha?2__oBh`k6+K;<|bp$sw@@%i_QrS zU0t^Y|E)c;Eh3$f(Ys3M zgsaWP_1@nw*N?Zfxw?@~swaEZjhy8ujnW$%NhRJD6Swdqg?D#Z2nj1whcpMut%^!{|O-j^xx%H8#nDC>Hktb@{7N8*=l+RvCH(%P?An^5R%pwL-ILE#;& z)Rmo}G6_DdS!cU{V?^I%1H9GbSGuk%fnQUm4Zp!}Id=2ycN~9DO@9dSNBoH&a_Amp JM*n;&`+r#_peg_W diff --git a/bin/mightypork/gamecore/backends/lwjgl/graphics/font/DeferredLwjglFontFromSystem.class b/bin/mightypork/gamecore/backends/lwjgl/graphics/font/DeferredLwjglFontFromSystem.class deleted file mode 100644 index fbca3d7a79446ffd1770a563513d60ce9ea75e5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 964 zcmb`F+invv5Qcw;O|xvb6k4Ds3I$SVT7)mSEJ6x|NRgr-kt!0G&c@xi-9uzM4dE4d z8Mvwh5)Z&bA;wEdky>#BE3G}A8P7NK?|%RBrPgxLcCjXTnmSLrQ)6XXfyeOj-zzfAJy)5s zFBo=q+DGC<@I+)W?^><0c>kiOQR^{yukwKma0ORGlrhJ!*jAbBjMKi<2cn-yhNX5M ziKHjAa_2LrXNSr#bpERp`wYI5t3#SP?u8*3%F$400((Y%pd8j<2x4jL6YErE*uG@+ zW~=tAl$coV(ufnhejmw^Re5GASYcQ$SSshOH?v3uYYYoT;P=e{tJrW#-C`7IC{ppsAc=>o32>Q^#dkdppjoN@Y(OMe5hHEVrU)o1yxr z_+zUQ!^L@=*ApcSjp}8EoPnFXLw8Rk?t{@McTb5d`tGz==yX7KnRb77?@8?x{^uei zpf#XOV4boyFi+MlJX(E(SfJfm*RV)coOPWnm+j*QmWbnF88^vui+mpC+@7&qjqod0 z-|cNyKb~U!6P-)MLeUYZ&vRBdV};l}V}(SxTd+dh!xphhbjQ_rfQPit6Rk?`w!x#H D4?Oeo diff --git a/bin/mightypork/gamecore/backends/lwjgl/graphics/font/LwjglTextureBackedFont$1LoadedGlyph.class b/bin/mightypork/gamecore/backends/lwjgl/graphics/font/LwjglTextureBackedFont$1LoadedGlyph.class deleted file mode 100644 index 01f0fa59efb3ce25e49604ca7b9a119c6cf9228c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1099 zcmb_cOK;Oa5dJpLCN(s)JloI)8X$2=x8-pHacD$KBm;*=;lOEQZ)_)y9od_P{vnmNVAeFtzK4~xh!bjQBysnbamkGLzw(vD)u z`@$Z{&`EeO8@d5^V=?i3JK=*URNT^QUHL{$V|kzpokLo#?^}^@q;nLUPP`&=43(ic z5j+r~%U||~(pC)2rn}9M_s7DO44YP3BW8-HEBs(O7|2*U9i4wfg)`q#9=+6ID0oss zB}aLFQr~0fSPKGAI~5-Lp|74Wj2a8;+CKa9nmvYGJ91RId=*u)mYk}K7#-y~AQj&5_qKnZ2tX4^nr7nP{! zS<0@?-!`y}GQ*1Hhw{aA+?R1z^aIjs)rxEp^hE6I_|IZa%fZlF6m9=Z5-C$Yj;66K z4}FbbkZ@g}66^%|9 z%D5efB#}hL@?S>*HDWYN2QE*R)FY2+JyT0Eq?YIgDiu8eY0PK>R;aE*(Frohk*%9M zb6haLV$E#LaoMcSan)>n!TKCEZEwzT>oe75aEG4j=}vD+=y%lXJ=XAn^!|u#d_sfr qwG>kwO_&r>_Y_+u^)$LHT{{$Ia2GAIIqYJOei|U8bR5Y(0Db}6ogaq) diff --git a/bin/mightypork/gamecore/backends/lwjgl/graphics/font/LwjglTextureBackedFont$CharTile.class b/bin/mightypork/gamecore/backends/lwjgl/graphics/font/LwjglTextureBackedFont$CharTile.class deleted file mode 100644 index 84ecbd9131b9abb5cf0ef3097ed6acaa5fffa7d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1009 zcmb_b%WB&|6g^jdt4i&r@49JHFvWHtDx|xXEMjmmh$f`QB+HRJk;ay#Fp`_}XZjCa z1Vb17fPPfz9ph$|r5Lzx-8uKp(VxG+eginf+Zrsw=|Y83{{1S|b2k(V8Khdez6j1gzkwy zlR-|XT&rmw5okoHM$+6$sO9qJG|kTMtP4)&k;*#n2_vr{Y#+JlCzYuDh~RY#>)M+T z%7b(&8{ml@*mz*0glz{79urDkQ_%EOBEKvbzSLvk$C9w^rGbbiLM!8Mf@L!_;jAcd zchAAI|0r(c;^FlsHgE5h+1VDs{+cdzAcxE&Li>KE9T;vAoKccUJ%~k?$*hK5!smkM zLa6^IGxiuk6uDF;zFZzR?Y%TP^ecoVWP!EL``Hy$@?2u>1SBX!cil^mASF zgk_a$fCD^b>8x!V&+wdk8UMwm!#nO^5LEm7E4;k_Ym4(1+H3h5JFLx832zv`^$#?G B8!`X@ diff --git a/bin/mightypork/gamecore/backends/lwjgl/graphics/font/LwjglTextureBackedFont.class b/bin/mightypork/gamecore/backends/lwjgl/graphics/font/LwjglTextureBackedFont.class deleted file mode 100644 index a91e3ea25e53c46b83122103861cc1a2a0e1cf60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12471 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 BX1@Rc diff --git a/src/mightypork/gamecore/backends/lwjgl/BufferHelper.java b/src/mightypork/gamecore/backends/lwjgl/BufferHelper.java index 3e38b3b..af75f80 100644 --- a/src/mightypork/gamecore/backends/lwjgl/BufferHelper.java +++ b/src/mightypork/gamecore/backends/lwjgl/BufferHelper.java @@ -8,14 +8,14 @@ import org.lwjgl.BufferUtils; /** * Calc subclass with buffer utils. - * + * * @author Ondřej Hruška (MightyPork) */ public class BufferHelper { /** * Create java.nio.FloatBuffer of given floats, and flip it. - * + * * @param obj floats or float array * @return float buffer */ @@ -27,9 +27,9 @@ public class BufferHelper { /** * Fill java.nio.FloatBuffer with floats or float array - * - * @param buff - * @param obj + * + * @param buff target buffer + * @param obj floats to write */ public static void fill(FloatBuffer buff, float... obj) { @@ -40,7 +40,7 @@ public class BufferHelper { /** * Create new java.nio.FloatBuffer of given length - * + * * @param count elements * @return the new java.nio.FloatBuffer */ diff --git a/src/mightypork/gamecore/backends/lwjgl/InitTaskRedirectSlickLog.java b/src/mightypork/gamecore/backends/lwjgl/InitTaskRedirectSlickLog.java index a951141..c79a222 100644 --- a/src/mightypork/gamecore/backends/lwjgl/InitTaskRedirectSlickLog.java +++ b/src/mightypork/gamecore/backends/lwjgl/InitTaskRedirectSlickLog.java @@ -8,28 +8,28 @@ import mightypork.utils.logging.writers.LogWriter; /** * Initializer that redirects slick logging to main logger. - * + * * @author Ondřej Hruška (MightyPork) */ @OptionalInitTask public class InitTaskRedirectSlickLog extends InitTask { - + @Override public void run() { - LogWriter ml = mightypork.utils.logging.Log.getMainLogger(); - SlickLogRedirector slr = new SlickLogRedirector(ml); + final LogWriter ml = mightypork.utils.logging.Log.getMainLogger(); + final SlickLogRedirector slr = new SlickLogRedirector(ml); org.newdawn.slick.util.Log.setLogSystem(slr); } - - + + @Override public String getName() { return "slick_log"; } - - + + @Override public String[] getDependencies() { diff --git a/src/mightypork/gamecore/backends/lwjgl/LwjglBackend.java b/src/mightypork/gamecore/backends/lwjgl/LwjglBackend.java index d11b58b..4a6bd5e 100644 --- a/src/mightypork/gamecore/backends/lwjgl/LwjglBackend.java +++ b/src/mightypork/gamecore/backends/lwjgl/LwjglBackend.java @@ -11,45 +11,45 @@ import mightypork.gamecore.input.InputModule; /** * Game backend using LWJGL and SlickUtil - * + * * @author MightyPork */ public class LwjglBackend extends AppBackend { - + private LwjglGraphicsModule graphics; private SlickAudioModule audio; private LwjglInputModule input; - - + + @Override public void initialize() { addChildClient(graphics = new LwjglGraphicsModule()); addChildClient(audio = new SlickAudioModule()); addChildClient(input = new LwjglInputModule()); - + graphics.init(); audio.init(); input.init(); - + app.addInitTask(new InitTaskRedirectSlickLog()); } - - + + @Override public GraphicsModule getGraphics() { return graphics; } - - + + @Override public AudioModule getAudio() { return audio; } - - + + @Override public InputModule getInput() { diff --git a/src/mightypork/gamecore/backends/lwjgl/LwjglInputModule.java b/src/mightypork/gamecore/backends/lwjgl/LwjglInputModule.java index 698a676..11eb6e2 100644 --- a/src/mightypork/gamecore/backends/lwjgl/LwjglInputModule.java +++ b/src/mightypork/gamecore/backends/lwjgl/LwjglInputModule.java @@ -20,23 +20,23 @@ import org.lwjgl.opengl.Display; /** * Lwjgl Input Module. - * + * * @author Ondřej Hruška (MightyPork) */ public class LwjglInputModule extends InputModule implements Updateable { - + /** Current mouse position */ private static final Vect mousePos = new Vect() { - + @Override public double x() { if (!Mouse.isInsideWindow()) return Integer.MIN_VALUE; - + return Mouse.getX(); } - - + + @Override public double y() { @@ -45,8 +45,8 @@ public class LwjglInputModule extends InputModule implements Updateable { return Display.getHeight() - Mouse.getY(); } }; - - + + @Override protected void initDevices() { @@ -58,13 +58,13 @@ public class LwjglInputModule extends InputModule implements Updateable { throw new RuntimeException("Failed to initialize input devices.", e); } } - - + + @Override protected void initKeyCodes() { Keys.NONE.setCode(Keyboard.KEY_NONE); - + Keys.NUM_1.setCode(Keyboard.KEY_1); Keys.NUM_2.setCode(Keyboard.KEY_2); Keys.NUM_3.setCode(Keyboard.KEY_3); @@ -75,7 +75,7 @@ public class LwjglInputModule extends InputModule implements Updateable { Keys.NUM_8.setCode(Keyboard.KEY_8); Keys.NUM_9.setCode(Keyboard.KEY_9); Keys.NUM_0.setCode(Keyboard.KEY_0); - + Keys.Q.setCode(Keyboard.KEY_Q); Keys.W.setCode(Keyboard.KEY_W); Keys.E.setCode(Keyboard.KEY_E); @@ -102,7 +102,7 @@ public class LwjglInputModule extends InputModule implements Updateable { Keys.B.setCode(Keyboard.KEY_B); Keys.N.setCode(Keyboard.KEY_N); Keys.M.setCode(Keyboard.KEY_M); - + Keys.MINUS.setCode(Keyboard.KEY_MINUS); Keys.EQUALS.setCode(Keyboard.KEY_EQUALS); Keys.SLASH.setCode(Keyboard.KEY_SLASH); @@ -114,17 +114,17 @@ public class LwjglInputModule extends InputModule implements Updateable { Keys.GRAVE.setCode(Keyboard.KEY_GRAVE); Keys.COMMA.setCode(Keyboard.KEY_COMMA); Keys.PERIOD.setCode(Keyboard.KEY_PERIOD); - + Keys.SPACE.setCode(Keyboard.KEY_SPACE); Keys.BACKSPACE.setCode(Keyboard.KEY_BACK); Keys.TAB.setCode(Keyboard.KEY_TAB); Keys.ESCAPE.setCode(Keyboard.KEY_ESCAPE); - + Keys.APPS.setCode(Keyboard.KEY_APPS); Keys.POWER.setCode(Keyboard.KEY_POWER); Keys.SLEEP.setCode(Keyboard.KEY_SLEEP); //Keys.MENU.setCode(Keyboard.KEY_MENU); // not defined - + Keys.F1.setCode(Keyboard.KEY_F1); Keys.F2.setCode(Keyboard.KEY_F2); Keys.F3.setCode(Keyboard.KEY_F3); @@ -140,11 +140,11 @@ public class LwjglInputModule extends InputModule implements Updateable { Keys.F13.setCode(Keyboard.KEY_F13); Keys.F14.setCode(Keyboard.KEY_F14); Keys.F15.setCode(Keyboard.KEY_F15); - + Keys.CAPS_LOCK.setCode(Keyboard.KEY_CAPITAL); Keys.SCROLL_LOCK.setCode(Keyboard.KEY_SCROLL); Keys.NUM_LOCK.setCode(Keyboard.KEY_NUMLOCK); - + Keys.NUMPAD_MINUS.setCode(Keyboard.KEY_SUBTRACT); Keys.NUMPAD_PLUSS.setCode(Keyboard.KEY_ADD); Keys.NUMPAD_0.setCode(Keyboard.KEY_NUMPAD0); @@ -161,7 +161,7 @@ public class LwjglInputModule extends InputModule implements Updateable { Keys.NUMPAD_ENTER.setCode(Keyboard.KEY_NUMPADENTER); Keys.NUMPAD_DIVIDE.setCode(Keyboard.KEY_DIVIDE); Keys.NUMPAD_MULTIPLY.setCode(Keyboard.KEY_MULTIPLY); - + Keys.CONTROL_LEFT.setCode(Keyboard.KEY_LCONTROL); Keys.CONTROL_RIGHT.setCode(Keyboard.KEY_RCONTROL); Keys.ALT_LEFT.setCode(Keyboard.KEY_LMENU); @@ -170,37 +170,37 @@ public class LwjglInputModule extends InputModule implements Updateable { Keys.SHIFT_RIGHT.setCode(Keyboard.KEY_RSHIFT); Keys.META_LEFT.setCode(Keyboard.KEY_LMETA); Keys.META_RIGHT.setCode(Keyboard.KEY_RMETA); - + Keys.UP.setCode(Keyboard.KEY_UP); Keys.DOWN.setCode(Keyboard.KEY_DOWN); Keys.LEFT.setCode(Keyboard.KEY_LEFT); Keys.RIGHT.setCode(Keyboard.KEY_RIGHT); - + Keys.HOME.setCode(Keyboard.KEY_HOME); Keys.END.setCode(Keyboard.KEY_END); - + Keys.PAGE_UP.setCode(Keyboard.KEY_PRIOR); Keys.PAGE_DOWN.setCode(Keyboard.KEY_NEXT); - + Keys.RETURN.setCode(Keyboard.KEY_RETURN); Keys.PAUSE.setCode(Keyboard.KEY_PAUSE); Keys.INSERT.setCode(Keyboard.KEY_INSERT); Keys.DELETE.setCode(Keyboard.KEY_DELETE); Keys.SYSRQ.setCode(Keyboard.KEY_SYSRQ); } - - + + @Override public void destroy() { Mouse.destroy(); Keyboard.destroy(); } - + private final VectVar mouseMove = Vect.makeVar(); private final VectVar mouseLastPos = Vect.makeVar(); - - + + @Override public synchronized void update(double delta) { @@ -208,9 +208,9 @@ public class LwjglInputModule extends InputModule implements Updateable { if (!Display.isCreated()) return; if (!Mouse.isCreated()) return; if (!Keyboard.isCreated()) return; - + Display.processMessages(); - + // sum the moves mouseMove.reset(); mouseLastPos.reset(); @@ -219,81 +219,81 @@ public class LwjglInputModule extends InputModule implements Updateable { onMouseEvent(mouseMove, mouseLastPos); wasMouse = true; } - + if (wasMouse && !mouseMove.isZero()) { App.bus().send(new MouseMotionEvent(mouseLastPos, mouseMove)); } - + while (Keyboard.next()) { onKeyEvent(); } - + if (Display.isCloseRequested()) { App.shutdown(); } } - - + + private void onMouseEvent(VectVar moveSum, VectVar lastPos) { final int button = Mouse.getEventButton(); final boolean down = Mouse.getEventButtonState(); - + final VectVar pos = Vect.makeVar(Mouse.getEventX(), Mouse.getEventY()); final VectVar move = Vect.makeVar(Mouse.getEventDX(), Mouse.getEventDY()); - + final int wheeld = Mouse.getEventDWheel(); - + // flip Y axis pos.setY(Display.getHeight() - pos.y()); - + if (button != -1 || wheeld != 0) { App.bus().send(new MouseButtonEvent(pos.freeze(), button, down, wheeld)); } - + moveSum.setTo(moveSum.add(move)); lastPos.setTo(pos); } - - + + private void onKeyEvent() { final int key = Keyboard.getEventKey(); final boolean down = Keyboard.getEventKeyState(); final char c = Keyboard.getEventCharacter(); - + App.bus().send(new KeyEvent(key, c, down)); } - - + + @Override public Vect getMousePos() { return mousePos; } - - + + @Override public boolean isMouseInside() { return Mouse.isInsideWindow(); } - - + + @Override public void grabMouse(boolean grab) { Mouse.setGrabbed(grab); } - - + + @Override public boolean isKeyDown(Key key) { return key.isDefined() && Keyboard.isKeyDown(key.getCode()); } - - + + @Override public boolean isMouseButtonDown(int button) { diff --git a/src/mightypork/gamecore/backends/lwjgl/SlickLogRedirector.java b/src/mightypork/gamecore/backends/lwjgl/SlickLogRedirector.java index 3aec98f..b2165e2 100644 --- a/src/mightypork/gamecore/backends/lwjgl/SlickLogRedirector.java +++ b/src/mightypork/gamecore/backends/lwjgl/SlickLogRedirector.java @@ -8,68 +8,69 @@ import mightypork.utils.logging.writers.LogWriter; /** * Used to redirect slick log into main logger. - * + * * @author Ondřej Hruška (MightyPork) */ class SlickLogRedirector implements org.newdawn.slick.util.LogSystem { - + LogWriter writer; - - + + /** * @param log log to redirect into */ - public SlickLogRedirector(LogWriter log) { + public SlickLogRedirector(LogWriter log) + { this.writer = log; } - - + + @Override public void error(String msg, Throwable e) { writer.log(Level.SEVERE, msg, e); } - - + + @Override public void error(Throwable e) { writer.log(Level.SEVERE, null, e); } - - + + @Override public void error(String msg) { writer.log(Level.SEVERE, msg); } - - + + @Override public void warn(String msg) { writer.log(Level.WARNING, msg); } - - + + @Override public void warn(String msg, Throwable e) { writer.log(Level.WARNING, msg, e); } - - + + @Override public void info(String msg) { writer.log(Level.INFO, msg); } - - + + @Override public void debug(String msg) { writer.log(Level.FINEST, msg); } - + } diff --git a/src/mightypork/gamecore/backends/lwjgl/audio/SlickAudioModule.java b/src/mightypork/gamecore/backends/lwjgl/audio/SlickAudioModule.java index 87384ca..9628c2d 100644 --- a/src/mightypork/gamecore/backends/lwjgl/audio/SlickAudioModule.java +++ b/src/mightypork/gamecore/backends/lwjgl/audio/SlickAudioModule.java @@ -16,14 +16,14 @@ import org.newdawn.slick.openal.SoundStore; /** * SlickUtil-based audio module - * + * * @author Ondřej Hruška (MightyPork) */ public class SlickAudioModule extends AudioModule { - + private final VectVar listenerPos = Vect.makeVar(); - - + + @Override public void init() { @@ -31,8 +31,8 @@ public class SlickAudioModule extends AudioModule { SoundStore.get().init(); setListenerPos(Vect.ZERO); } - - + + @Override public void setListenerPos(Vect pos) { @@ -49,27 +49,27 @@ public class SlickAudioModule extends AudioModule { BufferHelper.fill(buf6, 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f); AL10.alListener(AL10.AL_ORIENTATION, buf6); } - - + + @Override public Vect getListenerPos() { return listenerPos; } - - + + @Override protected void deinitSoundSystem() { SoundStore.get().clear(); AL.destroy(); } - - + + @Override protected DeferredAudio doCreateResource(String res) { - return new SlickAudio(res); + return new SlickSound(res); } - + } diff --git a/src/mightypork/gamecore/backends/lwjgl/audio/SlickAudio.java b/src/mightypork/gamecore/backends/lwjgl/audio/SlickSound.java similarity index 91% rename from src/mightypork/gamecore/backends/lwjgl/audio/SlickAudio.java rename to src/mightypork/gamecore/backends/lwjgl/audio/SlickSound.java index 2928712..6d91091 100644 --- a/src/mightypork/gamecore/backends/lwjgl/audio/SlickAudio.java +++ b/src/mightypork/gamecore/backends/lwjgl/audio/SlickSound.java @@ -14,10 +14,10 @@ import org.newdawn.slick.openal.SoundStore; /** * SlickUtil-based deferred audio resource. - * + * * @author Ondřej Hruška (MightyPork) */ -public class SlickAudio extends DeferredAudio { +public class SlickSound extends DeferredAudio { private double pauseLoopPosition = 0; private boolean looping = false; @@ -30,7 +30,13 @@ public class SlickAudio extends DeferredAudio { private int sourceID; - public SlickAudio(String resourceName) { + /** + * Slick-util based sound resource + * + * @param resourceName resource path + */ + public SlickSound(String resourceName) + { super(resourceName); } @@ -40,7 +46,7 @@ public class SlickAudio extends DeferredAudio { { final String ext = FileUtil.getExtension(resource); - try (final InputStream stream = FileUtil.getResource(resource)) { + try(final InputStream stream = FileUtil.getResource(resource)) { if (ext.equalsIgnoreCase("ogg")) { backingAudio = SoundStore.get().getOgg(resource, stream); diff --git a/src/mightypork/gamecore/backends/lwjgl/graphics/AwtScreenshot.java b/src/mightypork/gamecore/backends/lwjgl/graphics/AwtScreenshot.java index fa11ce7..8cfdc29 100644 --- a/src/mightypork/gamecore/backends/lwjgl/graphics/AwtScreenshot.java +++ b/src/mightypork/gamecore/backends/lwjgl/graphics/AwtScreenshot.java @@ -15,7 +15,7 @@ import mightypork.gamecore.graphics.Screenshot; * Screenshot object, can be used to extract image or write to file.
* Screenshot, once taken, can be safely processed in separate thread.
* Based on {@link BufferedImage} and {@link ImageIO}. - * + * * @author Ondřej Hruška (MightyPork) */ public class AwtScreenshot implements Screenshot { @@ -31,9 +31,10 @@ public class AwtScreenshot implements Screenshot { * @param width image width * @param height image height * @param bpp bits per pixel (typically 4) - * @param buffer + * @param buffer buffer with the screenshot bytes */ - public AwtScreenshot(int width, int height, int bpp, ByteBuffer buffer) { + public AwtScreenshot(int width, int height, int bpp, ByteBuffer buffer) + { this.width = width; this.height = height; this.bpp = bpp; @@ -44,7 +45,7 @@ public class AwtScreenshot implements Screenshot { /** * Extract to an image.
* Subsequent calls will use a cached value. - * + * * @return image */ public BufferedImage getImage() @@ -71,7 +72,7 @@ public class AwtScreenshot implements Screenshot { /** * Save to a file.
* Cached value is used if any. - * + * * @param file target file * @throws IOException on error writing to file */ diff --git a/src/mightypork/gamecore/backends/lwjgl/graphics/LwjglGraphicsModule.java b/src/mightypork/gamecore/backends/lwjgl/graphics/LwjglGraphicsModule.java index 59ff484..70a7c3d 100644 --- a/src/mightypork/gamecore/backends/lwjgl/graphics/LwjglGraphicsModule.java +++ b/src/mightypork/gamecore/backends/lwjgl/graphics/LwjglGraphicsModule.java @@ -6,9 +6,11 @@ import static org.lwjgl.opengl.GL11.*; import java.nio.ByteBuffer; import java.util.Stack; +import mightypork.gamecore.backends.lwjgl.graphics.font.LwjglFont; import mightypork.gamecore.core.App; import mightypork.gamecore.graphics.GraphicsModule; import mightypork.gamecore.graphics.Screenshot; +import mightypork.gamecore.graphics.fonts.DeferredFont; import mightypork.gamecore.graphics.textures.DeferredTexture; import mightypork.gamecore.graphics.textures.TxQuad; import mightypork.gamecore.gui.events.ViewportChangeEvent; @@ -30,7 +32,7 @@ import org.lwjgl.opengl.GL11; /** * LWJGL rendering module - * + * * @author MightyPork */ public class LwjglGraphicsModule extends GraphicsModule { @@ -40,7 +42,7 @@ public class LwjglGraphicsModule extends GraphicsModule { /** Currently binded color's alpha multiplier */ private double activeColorAlpha = 1; /** Stack of pushed colors */ - private Stack colorPushStack = new Stack<>(); + private final Stack colorPushStack = new Stack<>(); /** Currently binded texture */ private SlickTexture activeTexture; @@ -49,7 +51,7 @@ public class LwjglGraphicsModule extends GraphicsModule { /** FPS the user wants */ private int targetFps; /** FPS meter used for measuring actual FPS */ - private FpsMeter fpsMeter = new FpsMeter(); + private final FpsMeter fpsMeter = new FpsMeter(); /** Flag that at the end of frame, fullscreen should be toggled. */ private boolean fullscreenToggleRequested; @@ -387,8 +389,8 @@ public class LwjglGraphicsModule extends GraphicsModule { glMatrixMode(GL_PROJECTION); glLoadIdentity(); - int w = Display.getWidth(); - int h = Display.getHeight(); + final int w = Display.getWidth(); + final int h = Display.getHeight(); glViewport(0, 0, w, h); glOrtho(0, w, h, 0, -1000, 1000); @@ -414,10 +416,17 @@ public class LwjglGraphicsModule extends GraphicsModule { @Override - public DeferredTexture getLazyTexture(String path) + public DeferredTexture createDeferredTexture(String path) { return new SlickTexture(path); } + + + @Override + public DeferredFont createDeferredFont(String path) + { + return new LwjglFont(path); + } @Override @@ -467,7 +476,7 @@ public class LwjglGraphicsModule extends GraphicsModule { try { if (Display.isFullscreen() == fs) return; // no work - + if (fs) { Log.f3("Entering fullscreen."); // save window resize @@ -549,7 +558,7 @@ public class LwjglGraphicsModule extends GraphicsModule { { try { Display.setDisplayMode(windowDisplayMode = new DisplayMode(width, height)); - } catch (LWJGLException e) { + } catch (final LWJGLException e) { throw new RuntimeException(e); } } diff --git a/src/mightypork/gamecore/backends/lwjgl/graphics/SlickTexture.java b/src/mightypork/gamecore/backends/lwjgl/graphics/SlickTexture.java index 2498c4b..d13636d 100644 --- a/src/mightypork/gamecore/backends/lwjgl/graphics/SlickTexture.java +++ b/src/mightypork/gamecore/backends/lwjgl/graphics/SlickTexture.java @@ -17,32 +17,33 @@ import org.newdawn.slick.opengl.TextureLoader; /** * Deferred texture - * + * * @author Ondřej Hruška (MightyPork) */ @Alias(name = "Texture") @MustLoadInRenderingContext public class SlickTexture extends DeferredTexture { - + private org.newdawn.slick.opengl.Texture backingTexture; private boolean alpha; private boolean alphal; - - + + /** * @param resourcePath resource path */ - public SlickTexture(String resourcePath) { + public SlickTexture(String resourcePath) + { super(resourcePath); } - - + + @Override protected synchronized void loadResource(String path) { try { final String ext = FileUtil.getExtension(path).toUpperCase(); - + final int filtering; switch (filter) { case NEAREST: @@ -54,49 +55,49 @@ public class SlickTexture extends DeferredTexture { default: throw new IllegalValueException("Unsupported filtering mode."); } - + final Texture texture = TextureLoader.getTexture(ext, FileUtil.getResource(path), false, filtering); - + if (texture == null) { Log.w("Texture " + path + " could not be loaded."); } - + backingTexture = texture; - + } catch (final IOException e) { Log.e("Loading of texture " + path + " failed.", e); throw new RuntimeException("Could not load texture " + path + ".", e); } } - - + + @Override public boolean hasAlpha() { if (!ensureLoaded()) return false; - + if (!alphal) { alphal = true; alpha = backingTexture.hasAlpha(); } - + return alpha; } - - + + /** * Bind to GL context, applying the filters prescribed. */ public void bind() { if (!ensureLoaded()) return; - + //GL11.glEnable(GL11.GL_TEXTURE_2D); - + GL11.glBindTexture(GL11.GL_TEXTURE_2D, getTextureID()); - + GL11.glTexEnvf(GL11.GL_TEXTURE_ENV, GL11.GL_TEXTURE_ENV_MODE, GL11.GL_MODULATE); - + final int wrapping; switch (wrap) { case CLAMP: @@ -108,10 +109,10 @@ public class SlickTexture extends DeferredTexture { default: throw new IllegalValueException("Unsupported wrapping mode."); } - + GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_S, wrapping); GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_WRAP_T, wrapping); - + final int filtering; switch (filter) { case NEAREST: @@ -123,72 +124,72 @@ public class SlickTexture extends DeferredTexture { default: throw new IllegalValueException("Unsupported filtering mode."); } - + GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, filtering); GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, filtering); } - - + + @Override public int getImageHeight() { if (!ensureLoaded()) return 0; - + return backingTexture.getImageHeight(); } - - + + @Override public int getImageWidth() { if (!ensureLoaded()) return 0; - + return backingTexture.getImageWidth(); } - - + + @Override public void destroy() { if (!isLoaded()) return; - + backingTexture.release(); } - - + + /** * Get the height of the texture, 0..1.
- * + * * @return height 0..1 */ public float getHeight01() { if (!ensureLoaded()) return 0; - + return backingTexture.getHeight(); } - - + + /** * Get the width of the texture, 0..1.
- * + * * @return width 0..1 */ public float getWidth01() { if (!ensureLoaded()) return 0; - + return backingTexture.getWidth(); } - - + + /** * @return OpenGL texture ID */ public int getTextureID() { if (!ensureLoaded()) return -1; - + return backingTexture.getTextureID(); } } diff --git a/src/mightypork/gamecore/backends/lwjgl/graphics/font/DeferredLwjglFontFromSystem.java b/src/mightypork/gamecore/backends/lwjgl/graphics/font/DeferredLwjglFontFromSystem.java deleted file mode 100644 index 841b15b..0000000 --- a/src/mightypork/gamecore/backends/lwjgl/graphics/font/DeferredLwjglFontFromSystem.java +++ /dev/null @@ -1,36 +0,0 @@ -package mightypork.gamecore.backends.lwjgl.graphics.font; - - -import java.awt.Font; -import java.io.IOException; - -import mightypork.utils.annotations.Alias; - - -/** - * Font obtained from the OS - * - * @author Ondřej Hruška (MightyPork) - */ -@Alias(name = "FontNative") -public class DeferredLwjglFontFromSystem extends DeferredLwjglFont { - - /** - * A font from OS, found by name - * - * @param fontName font family name - * @param chars chars to load; null to load basic chars only - * @param size size (pt) - */ - public DeferredLwjglFontFromSystem(String fontName, String chars, double size) { - super(fontName, chars, size); - } - - - @Override - protected Font getAwtFont(String resource, float size, int style) throws IOException - { - return new Font(resource, style, (int) size); - } - -} diff --git a/src/mightypork/gamecore/backends/lwjgl/graphics/font/DeferredLwjglFont.java b/src/mightypork/gamecore/backends/lwjgl/graphics/font/LwjglFont.java similarity index 80% rename from src/mightypork/gamecore/backends/lwjgl/graphics/font/DeferredLwjglFont.java rename to src/mightypork/gamecore/backends/lwjgl/graphics/font/LwjglFont.java index 127b203..43691ef 100644 --- a/src/mightypork/gamecore/backends/lwjgl/graphics/font/DeferredLwjglFont.java +++ b/src/mightypork/gamecore/backends/lwjgl/graphics/font/LwjglFont.java @@ -17,27 +17,24 @@ import mightypork.utils.math.constraints.vect.Vect; /** * Font obtained from a resource file (TTF). - * + * * @author Ondřej Hruška (MightyPork) */ @MustLoadInRenderingContext @Alias(name = "Font") -public class DeferredLwjglFont extends DeferredFont { +public class LwjglFont extends DeferredFont { private IFont font = null; /** * A font from resource - * + * * @param resourcePath resource to load - * @param chars chars to load; null to load basic chars only - * @param size size (px) */ - public DeferredLwjglFont(String resourcePath, String chars, double size) { + public LwjglFont(String resourcePath) + { super(resourcePath); - this.size = size; - this.chars = chars; } @@ -46,28 +43,33 @@ public class DeferredLwjglFont extends DeferredFont { { final Font awtFont = getAwtFont(path, (float) size, style.numval); - font = new LwjglTextureBackedFont(awtFont, antialias, filter, chars); + font = new LwjglTextureBackedFontImpl(awtFont, antialias, filter, chars); font.setDiscardRatio(discardTop, discardBottom); } /** * Get a font for a resource path / name - * + * * @param resource resource to load * @param size font size (pt) * @param style font style * @return the {@link Font} - * @throws IOException + * @throws IOException on load error */ protected Font getAwtFont(String resource, float size, int style) throws IOException { - try (InputStream in = FileUtil.getResource(resource)) { - - Font awtFont = Font.createFont(Font.TRUETYPE_FONT, in); + try(InputStream in = FileUtil.getResource(resource)) { + + Font awtFont = null; - awtFont = awtFont.deriveFont(size); - awtFont = awtFont.deriveFont(style); + if (in != null) { + awtFont = Font.createFont(Font.TRUETYPE_FONT, in); + awtFont = awtFont.deriveFont(size); + awtFont = awtFont.deriveFont(style); + } else { + awtFont = new Font(/* font name */resource, style, (int) size); + } return awtFont; } catch (final FontFormatException e) { @@ -78,7 +80,7 @@ public class DeferredLwjglFont extends DeferredFont { /** * Draw string - * + * * @param str string to draw * @param color draw color */ @@ -93,7 +95,7 @@ public class DeferredLwjglFont extends DeferredFont { /** * Get size needed to render give string - * + * * @param text string to check * @return coord (width, height) */ diff --git a/src/mightypork/gamecore/backends/lwjgl/graphics/font/LwjglTextureBackedFont.java b/src/mightypork/gamecore/backends/lwjgl/graphics/font/LwjglTextureBackedFontImpl.java similarity index 96% rename from src/mightypork/gamecore/backends/lwjgl/graphics/font/LwjglTextureBackedFont.java rename to src/mightypork/gamecore/backends/lwjgl/graphics/font/LwjglTextureBackedFontImpl.java index 6042349..6944f35 100644 --- a/src/mightypork/gamecore/backends/lwjgl/graphics/font/LwjglTextureBackedFont.java +++ b/src/mightypork/gamecore/backends/lwjgl/graphics/font/LwjglTextureBackedFontImpl.java @@ -33,7 +33,7 @@ import org.newdawn.slick.opengl.GLUtils; /** * A TrueType font renderer with backing texture. - * + * * @author James Chambers (Jimmy) * @author Jeremy Adams (elias4444) * @author Kevin Glass (kevglass) @@ -41,7 +41,7 @@ import org.newdawn.slick.opengl.GLUtils; * @author David Aaron Muhar (bobjob) * @author Ondřej Hruška (MightyPork) */ -public class LwjglTextureBackedFont implements IFont { +class LwjglTextureBackedFontImpl implements IFont { private class CharTile { @@ -84,26 +84,28 @@ public class LwjglTextureBackedFont implements IFont { /** * Make a font - * + * * @param font original awt font to load * @param antialias use antialiasing when rendering to cache texture * @param filter used Gl filter * @param chars chars to load */ - public LwjglTextureBackedFont(java.awt.Font font, boolean antialias, FilterMode filter, String chars) { + public LwjglTextureBackedFontImpl(java.awt.Font font, boolean antialias, FilterMode filter, String chars) + { this(font, antialias, filter, (" " + chars).toCharArray()); } /** * Make a font - * + * * @param font original awt font to load * @param antialias use antialiasing when rendering to cache texture * @param filter used Gl filter * @param chars chars to load */ - public LwjglTextureBackedFont(java.awt.Font font, boolean antialias, FilterMode filter, char[] chars) { + public LwjglTextureBackedFontImpl(java.awt.Font font, boolean antialias, FilterMode filter, char[] chars) + { GLUtils.checkGLContext(); this.font = font; @@ -117,7 +119,7 @@ public class LwjglTextureBackedFont implements IFont { /** * Create a BufferedImage of the given character - * + * * @param ch the character * @return BufferedImage containing the drawn character */ @@ -163,7 +165,8 @@ public class LwjglTextureBackedFont implements IFont { public int height; - public LoadedGlyph(char c, BufferedImage image) { + public LoadedGlyph(char c, BufferedImage image) + { this.image = image; this.c = c; this.width = image.getWidth(); @@ -299,7 +302,8 @@ public class LwjglTextureBackedFont implements IFont { byteBuffer = ByteBuffer.allocateDirect(width * height * (bpp / 8)).order(ByteOrder.nativeOrder()).put(newI); } else { - byteBuffer = ByteBuffer.allocateDirect(width * height * (bpp / 8)).order(ByteOrder.nativeOrder()).put(((DataBufferByte) (bufferedImage.getData().getDataBuffer())).getData()); + byteBuffer = ByteBuffer.allocateDirect(width * height * (bpp / 8)).order(ByteOrder.nativeOrder()) + .put(((DataBufferByte) (bufferedImage.getData().getDataBuffer())).getData()); } byteBuffer.flip(); @@ -349,7 +353,7 @@ public class LwjglTextureBackedFont implements IFont { /** * Get size needed to draw given string - * + * * @param text drawn text * @return needed width */