From c74a8a2fa661a3bea05c6c9b25299b32f0705c80 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 20 May 2017 10:08:25 -0400 Subject: [PATCH] Added more blocks, updated Delta map --- core/assets/maps/delta.png | Bin 1186 -> 2399 bytes core/assets/maps/map.png | Bin 1204 -> 1183 bytes core/assets/sprites/mindustry.atlas | 203 +++++++++++------- core/assets/sprites/mindustry.png | Bin 6045 -> 6869 bytes core/assets/ui/out/button-map-down.9.png | Bin 212 -> 213 bytes core/assets/ui/out/button-map-over.9.png | Bin 212 -> 212 bytes core/assets/ui/out/button-map.9.png | Bin 205 -> 205 bytes core/assets/ui/uiskin.png | Bin 11998 -> 12006 bytes core/src/io/anuke/mindustry/Vars.java | 4 +- core/src/io/anuke/mindustry/World.java | 2 +- .../io/anuke/mindustry/world/Generator.java | 84 +++++--- .../anuke/mindustry/world/blocks/Blocks.java | 37 +++- 12 files changed, 214 insertions(+), 116 deletions(-) diff --git a/core/assets/maps/delta.png b/core/assets/maps/delta.png index 79a5dccc681ba1d1604635403f7aeb8065d6ed62..a1dde73f175653ffe93f557e913587e459ef3b0f 100644 GIT binary patch delta 2324 zcmZ3)d0%LPBZml+p_16U{p=Gx)$2KKdb&7|-@@y<> z{wEyxbMV81qsMxkuiv;~aigN~PS+y$m!YaB<+$J6^gOQT+QkDqoc`uOjNxacV$DCX+soORB+n926r6XgTNXRh;0 z)+(t-oV$L!X4_xUAHk<2j!%5FWFJd`#zTVx7w4~+|NJ$1=5*PL0~);Q7amzVJ{Eb< zz#MINv*z!MeR9Y2Kb&tB*7J0tA8;sLR`kdA@|uDX2ITl%Rhd) zZ2N3;(JPT_vlaLgdbY-%c6FOpoy_yVZ^H3=mKscp115Ufl&bLyXg!hHB-Z=*#&=uR zUx(y+H~gA2#X0|v?9+mOzE7<`D5|imF)4X#q`%EWfY)6~c$54A^;X||6(RS(p9*C7 z>-d=c4)-Qj=5@ODZhRu5v)%`{%%1lz@1*yBGo&UJX^Src4vpuXE;`CIi@5`h<& zH}IvfWD1qc-*uZ+Olf|_iHqTPT+^DG*cKhp30XXeUdW^@V{BxIwtObJsJ5x) zts-aOw@H(kS4lk3*>P`|ZSz+5mZd)y3f}mCxQnCUT9V&iPTzkX^Gos$FdzAQ{AT9A zNN3S!%Piy)E?3DX<@}m_{1|r_LrCNVAa>Y< z+pQ=3@L`cK4!rrz@`cft*PEX%)MGyH|C95tI4k=j&-bhMCePmx*Zia4%g_2=e*SHO zEsa?UC+=xql+QZtFj--N+`Sf&H|pG8=8L2*Okdx)#j(Y$A&9F$vFKaVC-eOpTzylL zPrhz=%T*%hUY~Pe{ims{JLeqWxPO1~zaNnkD!2Wr{bYVM=!Nz2zTCwE#?S1{_*blb zy3sYTH8_Bziny$M#eE%9Toojd6y71J0jv=MnyB}Td^a;Mo__`%sQ_I3}{pGaM zBij`nHwpZ_EX6V9vzDH6Fmg#+37qmaKr?fXzev;uh&-`TN_adU(t+K1}mVwW@yBTOW0e^NZL=PA&;cm5k7Zzi&HPA7$Gq+_5HP=IhLT_1yx$ zQyTxJ^=Bebf)!4Tn=fSRxr;S%T-_>x@16{~>rS_2aeRpU zysTtXk7|Ea`*Wk}E!x#P1axQHikfUGte2@g@|mmrexXIP$?BPAe|(;MNz+k{LF2Xl{_5ERlDd0s%iX@rOl?+Ql%QaL!{NR2lgSGV zq%R7DJ8<6O?^Tiuk!7y9qtXu-(@qs!|BGgi3XNjWF+ zpd+;Yq;^eG*}1Qh=j(3n%C)i-`05yIm@xJCOquREG7eu0Y+Gm4I8N0+#CNL6Lw4Ow z4U?(v?+>vASUYaBQaGHaxJAxE*Twac;vJoimWJ4U&i;k0I=8I?9rVk8&aK|)#=NoL z;6ljj*`mkdu5z-m#OGfqyuR@Gr)xPIuiI}6m16E=so%oIR1msC=+4vA4kt}#ow3`k zzS@1G!77uG?R|Gm)Svwp`PKB)NUkA*_s2e-7yBnl)qc6ZB+GsCgq`zPTQ$~QZ`-jZ zi`j98dCI4j#?texJu~$l8b9Fl|Nmd{?b42n`x@6 z%+iR%I!7w_{Thv4tZeXOj*o5jbGDVfsu+Ig7z6kF7fb7dmkT`2Z7zMs=kdd1Q;3%z zm&q=!P+LRo|7oc|-8XOkee+KJYj!`=_?Vm9dt~JVbdE>Y{B}Fs7Z~!W%+?38y8R@#J?Wh{H; zeo?_ACvwuyYacgf=ya94ze+qAe|wv5ZrT3(_y2wRTv2mBZ~p(C>s~8m>dxc%`Qes{ z_u`VHv+ur`J)=`yr?-qj;q2=dW@7S}JOve#5|db--4g14Cb-)_a&o}=vzrCNFU(iF zQvX!xRqc*lYtPT#bin89tytz=9&hahO_xnSz-8d+(%T#6^#9vuu?b(EG49o!8L;M3 z#@==7UjMr3XvsHm*`=uyZ{)6f=d60cNkT+BDelerUF+UDA5M=Jz2#N;;MC@f1CoP=5 z`{C@jCPq6KtqT3(A1~`|!F8&z$LO<-!qYpqxf#~I$ltxfudd1Nd8&fQ^tSMnC+<^4^^&ed#zOaj6U9;o&3Ek z*L&0J-dR=8wnnL+sB}^%{iMsO?`T0#-`8r_%nFsS8_YnD5`t! z(>wZUvcRJdSBvkJ>onUIGB|7yab_{&;xIqJ&wt<|r|^LWDFa>xkM98ozA!kje5>bT zVDoUix6?IHrj;onk@18&(=jAg9HOd=ouN= zEAtF~b)V~wywPdG%&>4fqeAu_+1fLolfF#dUuZs&scOB8`$KQbBwH+eZl9f|Jm<+4%KdaRu?|aYho*E%2;r7v%oZ^ z9$jgMhhf$W7#I=^@3S#@6iPCF_-wiF55tc;F47m=w}~uaICJs1+VM@nkqOI=DkKW_ zZ9Uo_XeGcfBl(#1M5d%f=aWpbev+&y?MwkJi3|)32N)O_8W3 RWCjKX22WQ%mvv4FO#nmZ`uP9= diff --git a/core/assets/maps/map.png b/core/assets/maps/map.png index 0c7af60bbe66c42fcfb07ec1d3d46b585965d0ef..6b0358b633348c1c4f119ef36361e8122be4641a 100644 GIT binary patch delta 1126 zcmdnOIiGWaiYjM;M`SSr1Gg{;GcwGYBf-GHz+U3%>&pI+Rao4TTYCQ&$BEGz^^%@0 zjv*Dd-o{2xdThXPCctiD(bAamnq@z4+zQbu%!zzQ*1g`l_5A;w==zW;a=tw!6|zyO0Xr9+y?f)rgIOzhs+bzslJk5dH~0T&=@8k* zA-M4QF{^23oXdQox-XtNym-R2i}RCAo*oUU|6Njf`+oj3Y1Jv~mlq$9Bm(~BS(`gf=G!E! zPgJ=4q~Y+Le>}_5b2t7>SseOnW%?o2ht9v_N)G?~@?vth1Ahvi@}#7@E2ktI>qM0#zPVh3igyAZCqp^V17A%ey;!4S$xc$N#E-oWLM5uRBlkvrsyt| zH!Xj`t*fpt7&0avcIs_BJZBTn2m7U7!cFVuXDQA;*51Kn_ttAQuMWeOG7ZNEl4T+v zw}0KP^r?88afymf<3GL^4|b*Boms@-^x@}o)xRvdacxZ#j@>e5F%!A-On|XOiRJbF zR|&fuw_H)%alYyCsr=&k9rZIGJ$H8Dyi#b}ie!?#uuBA4}Z?e5-!5)jREY zeK>EspAakKgus%mlO{yUTJ>#y{GEUKx~aD&K3Qp=^-Vedik;(GwqB7ijeSDz&V)R? zzP(lCrqI&WUe{-A{`7)Z>acCTrp$ehlS}VSDSD}CQn*qjX7~K;E~6<763db%DYP-Z z^ zt;-S^3|GiEUAsS(p+!vnyBmWBi$bUobJmr47k-(~7vEeVB+16$E6?l@x|_N7%;!a4 z=k6~w7i2yc*J<=E)NII!mMyNk6qG%LFw9UmIlRjN(>hBAFt+T zc&2!Z!G2Y%0(-)~+MFUCD_wK13?q#hEyc1QH*+a56t6L>P)~Bu%ULpG;bp_*g_|cc r`WzBra$wM4X@)T4|N=#yTc1x)H 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 diff --git a/core/assets/ui/out/button-map-down.9.png b/core/assets/ui/out/button-map-down.9.png index 8b1180b92bfca138249cd5b6dbbfe5cb942c6c89..b34035f63c775fcc47c0e3d1c1fca44934266788 100644 GIT binary patch delta 99 zcmcb@c$IO2Bag7SHRH*c`nwDa3?&nNZG2XI-lgN(c5d2FLn-&gV!cr&Sr=Eh!Wm!k yuNyAf{x)s*KMCGlj@RrLZLv3zazD(>z%V6Ph+Rb4Rfd6qfx*+&&t;ucLK6VgOeOpP delta 98 zcmcc0c!hC-BM&pPpt0(;eQpd448;?DZM-vHrh9kstWDoxEakpftT)Oe>*5MmIO9wH xb;Cv5-@Y<^-@|rS;kA6=EqSTl#Sa-7sxkyO&tZM3%D}+D;OXk;vd$@?2>@2BCa?ei diff --git a/core/assets/ui/out/button-map-over.9.png b/core/assets/ui/out/button-map-over.9.png index be806bab8dc2f40656e05fa9e7b4490edf4c772e..02b2542e97511d9db1b057639f13614a32cfbf39 100644 GIT binary patch delta 93 zcmcb@c!hC-BZsiKmE{lDZ%h+C9lcK3R(A2c6{|Fra$hXg8)cGpafK_K@g@Jd;iBzt scb$#vWxK2JT0ZcWyj1Vvhl~t{HG&VzrY$|iz`(%Z>FVdQ&MBb@01l%jjQ{`u delta 93 zcmcb@c!hC-BL_3Hpw5bWn>SDNbo4r`pWVfCHr>Kp%6+j|ZmdKI;Vst04ake-T(jq diff --git a/core/assets/ui/out/button-map.9.png b/core/assets/ui/out/button-map.9.png index 3af3ea0e105fdd0fd09108aaa4eff7f55d341fc8..0162270254981f7dff2f88743b4444b1cb563b66 100644 GIT binary patch delta 148 zcmX@hc$RU3W4*ArHDBc8Bp(I_h8#~9$B>A_Z>KwQ9WdZvxqgZN2h07JmhZ31FZsTu zeaeLk%XXWy$`%NQ6!>rLT)I7gVZoH3j|=X^n)zI+TJTp(Qqb8q^eg+~*{?2Uwi`{B z6Lb-9WC0Vk@7GQKw$0eM?_KKui!bb5`mbGJTr*jq`;Sim?+OM61_n=8KbLh*2~7Zk C89&kh delta 148 zcmX@hc$RU3V?8soul>gM-)Wa%k*>A0%BxragB(&aO*Gjp$Wg5mW z1sz!gT?9bHh41gIGV`sCAHRtECg1zd`AY_`tYo3Ul$(O5c)v3+Ffe$!`njxgN@xNA DzjQmf diff --git a/core/assets/ui/uiskin.png b/core/assets/ui/uiskin.png index 3b83a255ca366281396e2b5921f9cdb0a3f085b3..150b81fb3b13a750369b0c54240c41d63b3ed837 100644 GIT binary patch literal 12006 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 E08+qVk^lez literal 11998 zcmeAS@N?(olHy`uVBq!ia0y~yU}9ikU})fAV_;yY4Zq0Ez@WF()5S5Q;?~=_oHZh$ z+y3|O`~HQKWy*3VD@NW43v?!xuwPJMDM;k*$Z@*CBACW@^Gcz#DWf~Dk`-68w#wZ| z4jcEs-RJ)A%l&w_`~97k^|`mV z@!qTb9$WFa*Zha&qngy)I|`GvL&L&~a&K+%ocz1)(OhB0&ZsZjjr04AU3|MYEi7EY z`Dz_o>{t8R_06H>&knu0xw-V}p;qpP8;{F1r_ZmwCct`I#q-go+iy2ieol+nmLn-{ zcl`R1-}Bx!vWp%3^OO6*zTeLd_DC8hzPgfWka|kQJaDm_Zp*hr-1<9w{%pM-_n2Wr z^6|c~XZl-ef0ywwyuP-!cy9Z3fwfzLPT8y$fLr0Eq{Iz+Pm|ocF z)ZRAWxN!SV>ld?n#l>grWf&Y5zVx4GGn0G%@83L%Dhe!TW*Up9ottx%=f503!-0DL zrS@J~x3){4ZGIf}T{nVbb=X=b<>>*@+j1t(xcK`jyL^p8=i`qtA%TH{BI4rCo}QgT zOk6WRdTXTpb3OFuql8VEGQ)(BF8TMTceJovcyPW&uy1;Non&0)Q_+gASHoZSAMF45 zo2haBs%0!TV*MZg>^;S%`%)+I!lZLTV8*#g=N|oi@ZPs~&!2OZhx;dgR(_h5cl_(? z=_gGS54lu4ndmOSq>}cH%U4tAS^at2;KWx~R&FSL9rjCksT+ep&xIFpRWDUJkMj5@ z)w|f8mA`*D`N&6~KYzC0tKz;__d8dWMa0NcPD|+7{<^{_v-+{cbD_7gkIWTCaW0wBSIZefmU$ z`aSV`-YYt{U4C(&ouR^w(T2z2(>Iy^l{X6elo$#*7?RH2f4un-H$zPRLrX4(2>~1o zejE`xhMU7PvL+h*&%C_su=V>tj-^YyPG{<5u`n2NGIR;PTb%Jh!{oJX^|u{osoWeA8+*3({L$BET)Hp#Tnw47{V(_g z!-ue|GZ*~dz|6>?*K%aOGb6)~&tjaPkDp+5GY~4A>!`u-;Auqu`G?iV`}2+qF&yz{ zVR-)IX=Pm~gF@f=GiQV*1u!uLbc^dxTjqPZymMx~;H>((e>~sHcgm?W9f|n8|fP;A4f!|9IPE6<Fune-Vv6%8 zR)!s{LHAe>Ubp5*aQtxaCHKY?AD^C*z4xx0;ea{A58E(HuOseE3``7ZzhcC^x3vVh zFgQ3In562xMAA4-%Vc#2C_o$p7#f0R?2kC|eZ_Rw8rCGi`3()C=hwF#dhQhO(oy_Q zim_q8z}EGGncAA40B^F-TsoPYK{FY3?{4!v-gKH6tp)iy>w>g<|#@H3)~n4co-JE zth{;b`-&v#_{QzIHRnawa#c$wswgq+TXLfEfmv;1u!0f82i@Ko*A-?dG59_HZ?0EU z$Mug{N`k?{cmG^*j*RDQjAcLk`FJ1IfIPdFLE(yP!=|6VyBKyj9=NpBduin6G;TqL z0A+>%ZU+DJlB}1ONyhX_iytf(ZM75rS+jrR1bOAY^>x*SH#%E-IvC#EsTZj_TX)Cz z?=l;Po5|^ib+`K$oRntZsQq%$U4|h=8hgo<0`oMqT^JX=PA9>7Ard&Pr zR`mrj#Kjpj5@@Za^GKlPNJb5gn%IE5HqoY~nFAYi>)Y88BJ>K8bZM**o$Cix- zpW_d1nfmfTV8(Ceu9^SqYI<$;(x2tKabzSgD9mR+e)BW)n^}t@b;Qg$IMSpS+;VNm zTE<{i`buOP2SZY}^a6W^fE57@2j1NL&czy2{OEmc))gTxhL)MHbt`hbwSD7-f9W+O zC^5|5_AZB&L1XDpc5a6K_rJJmf0jSN)Rs%If z$hn=D-HWy7c*o=Xy`>w@yEYv9^ZApwSMjqmr7!PQKNmCLP+;I#RLR%WBgW|Ph>_t1 z14ErM10zGj>wBX04dtu&*rHe>6vP;{7!{62aZ84=w=)<^e_Z@=`IIX@iQg*&-kxtM zIAFqg{_LMuBIf_)mX>*JwT!COD?HM_Y<)vRqK~?0+PwmiTY8oZxjyYNuNk6R)<3L% zGh^wS`@LPCXU%x|oa^&(4+b}uo>OPfH$LodWnl>9V>mdge#NJ4ya6-*H}l(R+%3Ov zGyU1Qx#108nIu>Q7(nnyHH*Rw8wS>+@2glD@{51eZDSPcaGk`&)bexr?W~`V7i_X> zX?XX>%G&nb_vaz2Yqy^a3qI!dSAXG;&qBZDYR*5tA$#V}Xd{xlQ@TcpL zWj!m)f}j6aryjXq_O$%M%D0Re=X>_?O4({CI+)e}lau-r|8Q2ByF%tvC8YvE#Rn5| z{_Rj(@N=Qe;Ypu0To?rIGAO*%ncvwUSMxzJ^WL7{qO-yqt};oo9QgfyzkfG_Gc&`< z1VIKB1%@3j=Y4H=(qs9uyWhW%M z)@`uw`*ZP6@u^oI3ng|R^DMNTeD&UhthJGsQup3X(JZwP|8p~C<8!gJH$URK)~0DT zH@Y3IH8H$=UN$7|_*r>nMhQWN%B}Wwz7OZvxBV4W{?F|b%y0DgK6^N0GsCwV^JeZ5 zW^%DU&?_JR_}O{6^+^U7;KnGe|C0u`~d|936>9&4*vcwufWhD$e>a6a_ft8$7ZZxD5&__vEd0XLyz9y*WQcW zdW$?682-g`FnsV~?aAynd^vH`gNYF@`-}f^Fj{CC+v#0#F9ox1{$gD|! zo#W#6EkesbF8*M-ukHQJ87Jd6|8&_Mvbq)$_6*958UH+Y`#Cx~GO{ylycBQvynpfc zl}S_f%dcy(KYUe&sm9dgf9;2O9yY55KR>^1G-B!SI8gTHvB~S#Z*E9)GH@^`u`(DG zKl3S=_5bjtKR>xeX2l;+Xqah#ij&b%WsMR;hXI32tyLNm!&yd$t_>|ey}cL$_N~`p zYhmp#NEC8vY+$%}#H)7B=jn(4B|WJ>n6labY*N649M{izEWw7&4ZMDb%XOt(KHqP6 z7T^7hf9~nmirptelIFKv7nsN}hi}KGS1j*ezigjZl>2>h`0vxj-*dwsort$QzkZwM znfdNaeGZqpAMJ8qc-N)J#Dwp>0)qmBfeb?%uk*TEc7%oD%d4y0d3!#(t@maU0GXPfi+I4GGm8`i6`B!JS*oNT5!+{}jQ z4IW}om>CYmesO0IP-mDhaiZX~J&Xq?JS;zSV&mise-bY)I=Z3YA@hMV^Jms|yFKx3 zm|g6?W8doe|K4&diZdN5uAS<8{nnpaM+Qa)Mu!-thQQS)T0LLu%1nG5W?#A0zF#5X zhP?Z~jDHsS{ry?ev+DU*&$UldQCNE9U()GPSz+t2xh<*OT~B!GZBF*vc;)YAaepWA z?)ZlK6}-!t3!)CpWM1&rsIWHeUnB=33j+&-8*_ucabJtm+1AFDowYOVt94TPC+WPn zyW1RO{}V=sosY~!eljxLbw07l(c7w9{pUpY|LjMb>@fnMz_%enqQjE;%+jqk$qVM( z`!0ENLA@1Q?xg?6!oP0+Zv9+-#loNO)1T?#Gg8Ks>plS)D_tbe_Ru{TzmVo|G=B{d*5TvPGx9dI3Ugt6MB`UXp;PM zjk{5sStfr?*dc%T-$JuFdkwJms11rOhN%lw6>fOv<%wMN%JM9ju@%Ni=>Yo2$HckAuQu<9z_ksxS0}P7= zwhNwODDaS*J6(2K_g|UI91J3s%vvt19w>vtn~_1`&V7Fih6!_LvpauY<{bC$(1Mod z4|XatHQY~e);j#}&Y$JJv(@g_e!pvwcV~wSOGAfC$&uotP9LsawgVZkkAXq_SE5$D z<)8hhgPt+4F}G4mG9)*Z!m)oT3@b!Jx#?5ER1XutK$bu_VJ6jgPN*84B#{ zEk3a^L|kaE&EP9!*l=~q$Gv~IN%1j0G&A`x?Jbk>Z$j4A@Q#p!JDeTNUVJuU*i+%6 z&S1gixjL1>!abM)giaLc?!iVSx`1N9Y>xAI6nH+a0D_}u=x^Pg}W$V>be z#n`~av`@5~A(N|tp@BhR2S>w=>+3K5;bd6E&Y;4`7`UA+;oKa{bxfuabNRflYMs9J zDErah-|zR^zq-zF#E9VmM{Ew`5d&K$hgoMCHQ#*QaGfDSwjjN7E<=OYMp1!sNekZn zcZ()6&5*2rHF4S@yF?v^J+tBuN2 ze#lDYH}+oMnY!%_7eylyPJCP&!IF`*-t>c4L++U_7YA?tlh683);P)kEq@|VaAGFM z3&+C0&KJxkGl0B(;3cbls4wRXW`_QcEDa3L{23e=7Q|WXI)2ga)nR`7Cqn=KJ=L$5 zG~UgSB*{?VUzg>17UZXy^;upkWhdP{A-nxk>#cQh_gVI?{c6xQ)4sVuWFzl|lwzCS z)>e^~4g4q6?smMaHtb!m@kZE7>w)u|JI)2FP7Xr5pB4VR^_%bWcMb*)h74(iWopyv z%PRhSJkI#KrQ^(kA2RX6@A)N-j<7P$c*6eu$Kx>j#4q>098><@@jm%*$d>~mObrpt z3?hA>yuH2eZYg+pXvQrziPH=hHojt+;nhFWb&;IT%h@quuTQ;|FOqBE?UiBLl=Jn+ z!I}%De;?iQVPSAJT;QpDv|&=%N!8le)>$5$7JjXVqyJQ^#1>8xX(ab*(UjeTBv zFJEiDS$ykHF5ig+CyoOb>$}eWoAi2@*>RT7;maQ$v!B;s|3&`zVur5;ti~VtGS94- zopN|zgFwSXhMlYAt9^>rz7h9*BXMA7-SavBr+zxIKi4kKdEd3p{fDPsH{bMl!}`z0 zMk^%*7(vw(6n`_Ux*l)AaDuh5Y{x0a={J_2RIRO4ad`6WyZQ6}#Q*D5zsfKbtd?(X zc$xHW{!8sRz8$}0Vv2vT=bbqI(Ej3|r>xa)i)JRqi%ewj;cLle64CxOwfgtM)Y}Qt zjEtT|H{yH#=>OxL#J2f*gCoP7lv-2!DbC;`08|Wsa6|2x^|#I~W|$d2x5;l?a^@T6 zD=PI9^b}Z9wuXFdesU?wa&`P^KE^wS3F}rg$1UZRVKR6#KlGHMg8X{L_}4DaAMKBy z|MRKlz3WeT?N2@Y%~y2uUYXO*E)Rxyi4N7;LhJdL{@5xggvPzCk14#zx%}sL=5Hsi z%yVv#KYYz*>gI{Hpkx86Q7XJyO0KtnJH7WAK0HaE@3{Q#@{4~SPWu#P@-F6^;;t9B zL<5rQ1+TNH+>Sb9e>SUKBvL8;z>8CCd4Foo-Ix3(uKd6Ic3AO^ZeO!!e{K15q!W|t5q;XzyFK&lk0WgEWT;;{FZ-uY(5JU(*_q!P}RMK z!C^-z`_&M|o{;_b_I2~Gms_}!gQ14GA<0|ij$IlTsC}Ey;IQ!Lca5#q&flMwGBM4H z(f;oJrZ?h}`1a2a@BI^DWmxd!4&%xlx8gTG=yq@t$g>W$(Wll-J*CU;Veg=yG}AkHRPY&(0SMN$@Z%kCXR?Mw5Uh!vq#^Z{`Op z!}UjdgV^hjcrf^}8yMeTXHcB(a^TgEY3V#Ei)%#c-}!v{y!rUX_(V`+=gyzgZ~g?{ zoZ{(z;ZLD2!!fpkqjk*H?|43LKbfQu(6O>6RpG#@y0f1?pP%_syhFwQ+#~xv3QnY@#fmg4R?yn;~zY4Y1oz* z%<823nqiJ--MmdcEi09$A3E@7>Yu84v;Mx}UU0Cw4Y{}(gQ-AcZ;`bxIE-}T2Y{;52bpd;E-{LeD=9Fx69P2bMH zhP&mtCjYs!cOzq3URJ}-*-}T@jTacj-_hiWx)gb6f$CgWu+u?-=)fQl&9LCwmaSsQ zr2(Tu3Bv(@Hmx{Dhw_sQ3wEb4T!=Mdc%jGCu!Du+Fi5w+c7_X@TX(`{BhS?EgNb2EQMKW( zLt8a7^&amxvt*qgmt;0u_sw2WpXix<27eW@_y4(7q*k0?%olTASJp>ua`E(#>FW#< z4lrzge~P1O^(q&KXLD{tf)P|RaWDumGuZS<23^V%IA-7a_jiK8z9I!{>uRBS)v?=o z^8TfH*C$->%wjn4;^yh4b~Bj~TCXrP1X}*&Wcb3&puh0XJ0I)AAEtwP=SI5BJAcmB zy?J4O{r?Ph22TeECkBV&k12QevuxxC75-q{@PdUwX6gNu!rAxtPkp(AO|E#-%>N&J zPBY~F<6z`qW?=|qV&Hv!tnu2-Wj3v~pd#rA6T^#%nYxo01m1mfVruxo-mupH{=-?z z-)En6+%J9Xi#~7dGbQ8yF)a)x|F2vLc`@tWbOr?}hKAbAmwXK1^vb~KP{VNG!b0a# zc7~n&ObpBn35VC`J-r|Qsis!ybE~jb1+N=ZRmtmXz2C1c{oM;{{6X+WHiihrpx1N$ z%sXVq!O+9l(Eff`=lXBQU8@t%{rnwTR`#vz4RbmBl9>7HvaA>ODKUV0ejv;t#xTS2 zH6Ozb_bp5gE9UoRurlQAxZ2-);r+$i#S$z&M|7KPtM9VZp0QlpBe|T-!0LjfsqT_L z%r9# zeD1G#WF8wEQ_TJP|F$*X@0Q0@J(ZtfkjONB`d#);UWU)d_*)+x-QJr2Ve+q!LYwCu zy8iKR+ty@ADgcp-1Q>QL``WN(&6=FWO6Sk~*nHuSp}9lLXZ|1T3|X&cfkx35{Ap`6 z$h`OX!#m^6kN6nwRln!okbC=iUex!8j7$tn4K9ofcU>70co@E%d-U*YIuA>O(;41| zu7rP#0SpWkYD`KD9I^~C{Tct9Km{2nTnY;}zGG;pt(dhRR1Z7sVRqP|YhS-jOLEKI z08s{si|ZXLHKS_nQjPCqJ-D^`eBnQN(Sv`O?XGU_KWfd;5pz;yIg=|x%IE1HK3?cn zF4h0oRlDckuh$=5tzPd{#r1mv?|*eQPeq8+8u~wI8+z2PU|`T};9%%sZE$8|VmSBs zaOulh<(c&l6*!~bL6kwIs+hUq+1dBI{^gtH-{YCA?*Hu2^GBtS zB)?-eQ-vZ2LxiSZP_+KNjuz*8LISR<;*~FLs`kFDH~U^CGvfo9Z=KP9d(PQkn9AT# z&G6w*y z1v78%U79)F_x*xKh7IvE*4+BT%rjxh@_AKWw{{dR{_=A9{Gx|dYt-l0OxnNP>c4}0 z@e786kB?lL81xx76hHUdD#&nGmAT>FBG(2MhE6Vq!|nXxb-MRfGclxfH(&mJcbyee z!iBQKVYm5}uda9WycwmMIobEUzndP@6G4WlKiQw1o2y;>>7;s2!`8E_KiJy1<^F4& z!1&@~5HF^p28xmj_J&Sjb*=qk`iZ}8_5XaIwkt$tj%kfy&yM_V zEkOneE{4;*EDg&GUoV{XhdJX-XlSV2*?5kAP8LR`{|+Y@3Z9%0To=2$%+qVGMWNC< zQ4R(XHVxGsprrgrj$uy@>lTB*PmcbnPm@|<6Oi~Jh(VA+f`ws51-tP}Nmhn4Uw(f* zD@5oa35N&mjJjm7Af$Z^0ktMh1n?&mKZt2O{_VIvDyo?$&xy zh7TLIGuPZ*e(%5eCQWZPuNj+C7F5hXxUKB%Bo{{69;P=J1R3@nvMYEUKRwT!<&3?6 z&yV<>3I+lH8W)!LedT2Mac}MRUR8z*Obl)O@^aT9Wm!S?bVJz$t1~5*j1D;r4naYa zj6KhNwN)@S{#>J_*7rp=E2pJL%B<6XVt z=0`IWp5K2gn8D`%0o!7^hCP2;Cz(I2E`NGn9Z||MGW;=PVyI<2F#G3fMh27rI-6U? z&mEll>E_Lw&0DliHCz6>_{UJbKK}FBc}L4@p2;6jv5(ScdLr2Hr`3*;;r{OIV@_~K zGAw3rIK9>4A`e4Up6nN9hP?U3rVI`DpJ)7=_U2zrV|v&(hk5hmFTZFre%>FJAW>RTArT)4isx_qC3z~vXG9u{AX{yXEM|ADu4wVT*Jyl|SorZMmK>s?=7 ztkwGOV9?p{?99x?TK}QF6;S)vjbXvIEDc7766OYhS@qNPVt>5eVa-td;&f(-;pDi5 zGG6!f*RRT-HoyLy&;AAV|NqT2-#D=@{Zib#jDPIPGi<%7Py|Z>7D!ymCpkSihx+}+DRYo|l zD>G}v$S?3%_E_lL$Mh(+0)rzfS$MwRzhExC>+74-|KI1on9OOpov(4v9-DQqFYjWX zTF+qo=i#5a%1X=mVh#_BYjhoM+}Hi@@IU%J#8wb_fr-K9%zvY0%s%Zi^}e$)cJeV? zkE>pr_KA(*pw!-bMczFsv+cR;?I)hFzmV^s2XDJMSTHm!4AE!!(DBIn(RCIEL1qR` zuO)x##h>YOa&)--WBjbp1)h)qH7r_q8RVXwud8^u=8^Ryo8V3AECLKFDhyk?7!uw# zdpwcf@pRiqP!dyEe3M^zarBHx5RdRo2c#%Bwrh9gW38K>>ob6!<(D}Z8O(JZg$K3H{GCC_h;VjnR=qfAMa#g z=wxRAjl7=}X6QL(-!Omw#L4gZIT$K-dB3>gvTeA$b^ zcz#>%?IYq@Lcx2v7&1~`H9UU+a=>QZ3-Pb-Y;C{2(R+Ds!_;E7!)@_*xwO;o@|-_& zj@Rn{fm6TVx0K7BZ;oC4PE63wTz7_<+@|8sHBLhN+Ck+-ha`i<*IV&dX8(}B{qWMJ z{D<~tecynXpF0cHA4{5ieRu#m>EzscnB55!OH1bu(z%X^ztXJP6|CR?^sr1IPUAOx# zX^qBx0-j){{L@p%z4emPCf6;{vA6czP-CE zz3Jy=Jy7Wn#;toff_?XLJUV%{O;QS-+A8a^_nILes_I$ zED-p;?~%lQ_A-BQ4u%(YAZ1YBFfrUYR{qsI{m6^olcos$&UTx&Oic48E?1cG=0a;Hyc7TpKRP%w99Ub&!Dy4&f3?nk$=Udhng2@? z|E+9fR0!Y}XK32BPo7}{lST{!$E#m;3=Uii3K$huyatVux(G4URsVl+!B_$`hU%it zup}Z|p*Q{2V}S|h;ybXn34=Mna=V1XO$?a0?^DVM&H9;;a8{ zJ^Nw#)>R+n49y*9JD*+1)UZmEaqT*BHii|mgf6_QN@RctAPU0;stkMTo5a5zyz?(G z=U+^0&No4uppOR&4fY0tMr0|s{zKm0EgQ8>PxLsbpGMXM@UI*Ukn=(&Av~ zVQLVW_xF6Dh&IE7q|Ns2sm+och#TDTZy{Oor;FfD?yA!PO6T9$^A+0NZZY-cez ztZ*&sVQUC@e>sC;L6QR~{y>WN5e+%;YF4&c(#AWu6ensvQ>&wQ?i$nXol<8?rF$h-RFY zW9P>(A%Vdl|DKJWG9$xpWq4bvLy5uRWxyHt%Sld+J)y@n8y9qOvR2QJVs5xq_xbbZ zoi_isZDC%UHHBF@$#39GW4dz+m7P$LQef%EDkG0vZT;!l-Z~VE-&l z1{Q{#jDOc_ilqvc+TIsU*u1`b#?R?DuJdUnKRdrb<#5__frehx5;~dTz_IWfoA3Jv zeT{taIa65b!{WB}Kek(S6&bi1N`Fm{cq_x?a+!(2Nkd6Qkb&cyoiZzfH`(SpE0>?3`~aEuWS~Ea14b_S}X2n?RAG!o=`|Z|~Uv zh6DeKii=B`8TM?u$8aIWCeobYKz24O1LtC8_r3!wgO~4V3ub0?VA8T;aL7A#;kSaB z)cc^M_j#Lc{dad~_>ruBd*harYx>O$FA^Vzaz)<_XJ80W-P$Jl?rXCLi%7`Fc>-PB znNvA5Ry?v*6cOjr6r6Cbi-Tc??#&4kCn`#+zB!*`wt4^h5>NhzTfee3w3R-7@Zpu< zB)LP`!VD}6U%ko_XNcKTF_FPRnc+gV;DYUK&*mRIaz||HvV`8Mo!vmxf;T+_&F; z^A*Owr`~|ph2%2`tX=f`N*FA$74kE%X(=#tv^~3DH{F;!{`afR4X%|s=T6n+UN{k) z^X>VJmHW@H+ur|D^?rmOnX_oZ|nKiH4uTLnKarm8oZinhmMTP~xeM%S% ziXfAuml!5|5NgZW5@McqWx9FHgQFEePr7QBZO=Zqg|V39#?PjMe@?Z9T|a(3!1B#s znP^%2dGk-NYrHOG&A%e>^K}u1gcVAR)@P>hPG@2&nP}j-SB1GDFQ}OR3I~JJC4ISQ z-qUe^O?ELlND4YI*H51LGun^gfaq__R6mA@O+Rnew+?O%2n{qK?f?R0+M-%{iMm54L+TE6b->gTe~DWM4fq&A26 diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Vars.java index 78255ac92c..f3dfa9930b 100644 --- a/core/src/io/anuke/mindustry/Vars.java +++ b/core/src/io/anuke/mindustry/Vars.java @@ -18,7 +18,7 @@ public class Vars{ public static final float respawnduration = 60*4; public static final float wavespace = 20*60; public static final float enemyspawnspace = 65; - public static boolean debug = false; + public static boolean debug = true; public static final Vector2 vector = new Vector2(); @@ -35,7 +35,7 @@ public class Vars{ public static float breaktime = 0; - public static final String[] maps = {"delta", "canyon", "pit", "maze", "test"}; + public static final String[] maps = {"delta", "canyon", "pit", "maze"}; public static Pixmap[] mapPixmaps; public static Texture[] mapTextures; public static int currentMap; diff --git a/core/src/io/anuke/mindustry/World.java b/core/src/io/anuke/mindustry/World.java index c940c3bf2a..bfa44ba4e6 100644 --- a/core/src/io/anuke/mindustry/World.java +++ b/core/src/io/anuke/mindustry/World.java @@ -25,7 +25,7 @@ public class World{ public static boolean solid(int x, int y){ Tile tile = tile(x, y); - return tile == null || tile.block().solid; + return tile == null || tile.block().solid || (tile.floor().solid && (tile.block() == Blocks.air)); } public static int width(){ diff --git a/core/src/io/anuke/mindustry/world/Generator.java b/core/src/io/anuke/mindustry/world/Generator.java index 5a2d2663bc..5f23cf9a24 100644 --- a/core/src/io/anuke/mindustry/world/Generator.java +++ b/core/src/io/anuke/mindustry/world/Generator.java @@ -7,6 +7,7 @@ import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Pixmap; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.math.MathUtils; +import com.badlogic.gdx.utils.ObjectMap; import io.anuke.mindustry.world.blocks.Blocks; import io.anuke.ucore.graphics.Hue; @@ -14,11 +15,18 @@ import io.anuke.ucore.noise.Noise; import io.anuke.ucore.util.Mathf; public class Generator{ - static final int stonefloor = Color.rgba8888(Hue.rgb(54, 54, 54)); - static final int stone = Color.rgba8888(Hue.rgb(128, 128, 128)); static final int spawn = Color.rgba8888(Color.RED); static final int start = Color.rgba8888(Color.GREEN); + static ObjectMap colors = map( + Hue.rgb(80, 150, 90), Blocks.grass, + Hue.rgb(90, 180, 100), Blocks.grassblock, + Hue.rgb(80, 110, 180), Blocks.water, + Hue.rgb(70, 90, 150), Blocks.deepwater, + Hue.rgb(110, 80, 30), Blocks.dirt, + Hue.rgb(100, 100, 100), Blocks.stoneblock + ); + /**Returns world size.*/ public static void generate(int map){ Pixmap pix = mapPixmaps[map]; @@ -31,37 +39,44 @@ public class Generator{ int color = pix.getPixel(x, pix.getHeight()-1-y); - if(Noise.nnoise(x, y, 8, 1) > 0.22){ - floor = Blocks.iron; - } - - if(Noise.nnoise(x, y, 8, 1) > 0.1){ - floor = Blocks.grass; - } - - if(Noise.nnoise(x, y, 8, 1) > 0.1){ - floor = Blocks.water; - } - - if(Mathf.chance(0.01)){ - block = Blocks.rock; - } - - if(Mathf.chance(0.01)){ - block = Blocks.rock2; - } - - if(Noise.nnoise(x, y, 6, 1) > 0.245){ - floor = Blocks.coal; - } - if(color == stone && map == 1){ - block = Blocks.dirtblock; - }else if(color == stone){ - block = Mathf.choose(Blocks.stoneblock, Blocks.stoneblock2, Blocks.stoneblock3); + if(colors.containsKey(color)){ + //TODO less hacky method + if(colors.get(color).name().contains("block")){ + block = colors.get(color); + }else{ + floor = colors.get(color); + } }else if(color == start){ core = tiles[x][y]; }else if(color == spawn){ spawnpoints.add(tiles[x][y]); + }else{ + if(Mathf.chance(0.02)){ + block = Mathf.choose(Blocks.rock, Blocks.rock2); + } + } + + if(floor == Blocks.stone || floor == Blocks.grass){ + if(Noise.nnoise(x, y, 8, 1) > 0.2){ + floor = Blocks.iron; + } + + if(Noise.nnoise(x, y, 6, 1) > 0.242){ + floor = Blocks.coal; + } + } + + if(block == Blocks.grassblock){ + floor = Blocks.grass; + block = Mathf.choose(Blocks.grassblock, Blocks.grassblock2); + } + + if(block == Blocks.stoneblock){ + block = Mathf.choose(Blocks.stoneblock, Blocks.stoneblock2, Blocks.stoneblock3); + } + + if(floor == Blocks.grass && Mathf.chance(0.02) && block == Blocks.air){ + block = Blocks.shrub; } tiles[x][y].setBlock(block); @@ -80,4 +95,15 @@ public class Generator{ mapTextures[i] = new Texture(pix); } } + + private static ObjectMap map(Object...objects){ + + ObjectMap out = new ObjectMap<>(); + + for(int i = 0; i < objects.length; i += 2){ + out.put(Hue.rgb((Color)objects[i]), (Block)objects[i+1]); + } + + return out; + } } diff --git a/core/src/io/anuke/mindustry/world/blocks/Blocks.java b/core/src/io/anuke/mindustry/world/blocks/Blocks.java index cc87d2d3b3..72f3ed02d2 100644 --- a/core/src/io/anuke/mindustry/world/blocks/Blocks.java +++ b/core/src/io/anuke/mindustry/world/blocks/Blocks.java @@ -11,6 +11,16 @@ public class Blocks{ public void draw(Tile tile){} }, + deepwater = new Block("deepwater"){{ + vary = false; + solid = true; + }}, + + water = new Block("water"){{ + vary = false; + solid = true; + }}, + stone = new Block("stone"), dirt = new Block("dirt"), @@ -21,11 +31,6 @@ public class Blocks{ grass = new Block("grass"), - water = new Block("water"){{ - vary = false; - solid = true; - }}, - stoneblock = new Block("stoneblock"){{ solid = true; }}, @@ -38,16 +43,34 @@ public class Blocks{ solid = true; }}, + grassblock = new Block("grassblock"){{ + solid = true; + }}, + + grassblock2 = new Block("grassblock2"){{ + solid = true; + }}, + + mossblock = new Block("mossblock"){{ + solid = true; + }}, + + shrub = new Block("shrub"){{ + shadow = "shrubshadow"; + breakable = true; + breaktime = 10; + }}, + rock = new Block("rock"){{ shadow = "rockshadow"; breakable = true; - breaktime = 10; + breaktime = 15; }}, rock2 = new Block("rock2"){{ shadow = "rock2shadow"; breakable = true; - breaktime = 10; + breaktime = 15; }}, dirtblock = new Block("dirtblock"){{