From 31708b9af746586a7e3bbc7da4ddeae748060d08 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 18 Jun 2020 18:47:34 -0400 Subject: [PATCH] Exception parsing cleanup --- core/assets/maps/groundZero.msav | Bin 13000 -> 13399 bytes core/src/mindustry/content/SectorPresets.java | 3 +++ core/src/mindustry/core/UI.java | 2 +- core/src/mindustry/core/World.java | 1 + core/src/mindustry/mod/ContentParser.java | 2 +- core/src/mindustry/net/CrashSender.java | 2 +- core/src/mindustry/net/Net.java | 2 +- .../mindustry/desktop/DesktopLauncher.java | 6 +++--- tests/src/test/java/ApplicationTests.java | 2 +- tests/src/test/java/SectorTests.java | 16 ++++++++++------ 10 files changed, 22 insertions(+), 14 deletions(-) diff --git a/core/assets/maps/groundZero.msav b/core/assets/maps/groundZero.msav index 4e6900b4c35182252df9646eb32fae2d3f3b0fe7..628ab59ecec6d9f66c0bba5d0ad5cbbc86aac26f 100644 GIT binary patch literal 13399 zcmV-dG^opXob7yBms>}YUH})s#ST=V_61cel2u%4BUz*80uTPIJjt+j;KRu@O+d=>B$?+LAZ`|3vcXxYtb8pYl-=y^D zc>nmce@4Yuz2RA(O1+EoH^--rebI9|%WeGrujlVh`i~BJuV431H_!Ha!@<$(M|Z#5 z%shYDe?2&QbpHq5-?0Yw#x}US`$G+W2;rU~>}i8n$EWA6k7wHC!_Bjk-hOCet?z91 zU%l$@pFeu2WN%MZ65ai?EWg{?)LrfzIH=#-a9{|{9nJL^ssjlh9JE- z`qRD=>L!Q<rv&cJ6w#``y>yQNb(S4{Pn9f3|-*I5{62A32|@ zdROkB`cd<5)3d%~@#;7j4K@B-nW#-AMx?^9-#ehnVgJ1Mde}QVqw?$1-pL!slnQ6P zqXR1JANPh-J|CR-js_QplzPYY7e&XicjC|o!-2EA!1YWT)lc5^&iY%gdM{50`&2u- zIDOsU>J5j-@2GNi;_Pwj+JHE;35tyjZimxemg&DKHBsnut@_~G5`?Y->neX4uS zZ=Ljx`a>66P;BDWICypOx=*#ikqd`?2C1RuhaAK zA6;JazH{s}?JV-!e)MoY@Yovns^t>re*C~Wv2$QI&Mp>|oo#*Ff9IY~K+|~C$rzbD zZ1+wN-M}B%lky)gj`l+)Y`N@n@ValWnygdYmz=M8`zHx@qKRwh}sY5xq7@SkXSv5-^ZktXW=iG6AJskX7=S<3?Cbv#uf1;M$ zKs8NMjbN*0!fo~B_^oq#icoR83GHG0=;HLHvw`T*%z;Zw{Zr?G|vEwsv;xcyZXIiReZxT|Moz z-wPJk92~l;>m2v(Xf%9m9Xgjj>R%kX0JJX;YR>eW66A&>l{5|cd#nHF^HWBv?)wP( zElYYl7-n9D=`jszydSOWF;la_x{;+@Ha`Cr42SXKK(f53~qVmO&Hz8ju z99+1$ma7-fgRP!9!u>Z?c+(pUr6w#5dq?}eW$$#~wS4QGBxKFr@Y`c5yt?pHFjp_0 z41JmLZhsi+jk6Qykf+WGeXKq3^9ffuzIN_@?z4m!)D?8TAMdE|WZ(ojIUaZ! zUFg4XU3w??b++5H;|mvW)S|yV9vrv~;7V$JQ3*HUxq6ViQ4b35(nFV6dLexbhZinb zh4F0-`>%WZ@3y=FIh#A6jy$+<^CM_vS{^!AIP_JCPe#5R9QK?$GF{uQ#cC^TD}&*& zuNBXGK4R{3T6Om4Bc=ZQlL{o0^>1Cr5Ppw={)^kdBb?=3np*o*&E>PA`l}%Q1Z0^5=p^@T z-6QL>CfWr?$@>^h;wtoL)?ej-QUJ>WdKq5a@K-r*9Nwy=c`&zLh9=Wlg|)yaL4Sj| z!4AT>)gX{iYzUr-vEi>0Cd-JCgR<**7MiSpc>?BbTvc(^L}x;~Cd6o<3pwcEs=sPu zC~9aNSWZD^>v>@e^JS>L$c)y#BJ^2~^`bpm#f!jWVwAb^UC64W%_iWku0yIk8?|cO zc&q_A2Y?oAO}uAa9KyKGgU327rwj`#vWu_B`dbF0JQz)3Xsullh7`u*8pdc9R|O{P ziv5+CRy|+_f(PUoe>Iuy;0!ug0k;;og(fQ)vIHHhLcRo692hNS85MxC2rEu76qDfg z1$ty%upX^JLsJoeUR~1Pd*Bn;MgyI>%5gVD3l+DJ9T|e@b)YL#aj>x93!m|D>j;`< z*BEa@-kPqKVWMW)Es#~R9qdFQNaI=)5%^Ou&u5tz*{w8M5Ior;+zgAMHfh?WtPTRe zY*q(F_<6#7HM~BB#_K?-W$h(_Hx{5tQ$&7@R3qJ*Lbq~ARAGGQ{j+bf3Tv>!)*|Bv+yaj7To@T{Zd2FETAlgU4vA`ELjT)V-`6+2Lnj~umOO;H~7{~bn63{ zat?TNkhuUQ-a(8=;9D#H#Y=xxhtX6ynq|oHk)Lnx$@Sb$V_$B$cCi$w?-$o>dTCS#fefdcM}FY#sKum?bM9 zfxiT|XGk`S5GX}Ia`2g8vM>)z$3jO*4c!Rr7T4~ z8pdwyJ%-Zce5q3Hqxmj3619&N&!MFxdjRXDEu%$ z1CnmOPlAuKIw)r&;R2wVFr+O+xW_0L9^-8u{zW@LsYG(&sun^dq?aEdVso)n$;)a5VcqGOwoRIfSnYdv^xlIxOO&tl(nu4j@5* z587A-K$si!LADuXdnGGjkgsI>`)l7M2w8*Rx6v8@=eZO>>U3*afWPrgD%|99&zrE4 zt68#Nda^pJBtuq0c%?Cn>eoc)sg6Mj z>TCgJgf_?e%Z#doNQW0_3t2pw0_fFZHe)}VE&_oPtpl@Nwsvx@xQ~50iUyX_3>SG4b z=##SV>$BhZs~RGbm7ygVO%v`{267O5E{jqJip>!%vW`3p$X1b6!8ag>!pr8Sf#L-u zt>M{^5N!=*0mzo_o1 z@4)v1iu~HNTHe%nhNSJU}wQn^vc?CxI0iU2p6&RO=mMTJN zE)r6UW1FNK56gK!fk2O;`@o~d?Yan&8}a;i7N+-X3_um}Wj+!kBS8sasR;msdW6wx zBa|+T(Nz&PZn-;!Hl9JqM{wQyS(H4qTZSfs1e3tC$)gp*54c+ySqL`X07@IQww7T9 z-(%R{hpgv}pPLisz85sST|&DW+It^m0Vn)CWqH`L|b?D^DMxcCo3T(m`P3Y@aT{knfFyL{6ofB@c{K~ z+z6_(&63dgXOZ1&ks1J&JwWR6U$mZ62g(fh<1&ix;PVntmbf3CIB?g{nQ6Y#vHU4C zpBp$_fU|ImMx$~ER4*&t`1_1INpaF&1Jf(qte2HGBkRa6F;#OTBf)uI= zQw~*72Pz4Tzd))iLnX@?qX0FBZdv@B#UPthp99Lq$nPmVx4n)jHnR>&tB$y?h5B)z zG88sD(YMoppMVt?*%%aF>eG%0ZanG;0H0w%7qZBOG00_(W*r&JSqx9mRS|fhN48}! zlf|0^UdqPbk#+%Zmd8Wov%1(q#^WfzDY8@rD-tLgkv1|s=D@=yNo7cH0W?hEi;TR2 z=%XW;LJh?C)t6z zgBaTyqr^hCzv3Dj@lIwT%hDz~lW;nFCaZ6%2wQY&!{0jGctxadXM4WnDME2vfL#@{ zVn`vffklK&iVp2;;q3-oGRayZvBhr4)T5ZyX(`LC1w1Pp>Ji08ydQNHoz8>oW>$<+ zR*dPa7?!cqtQbw?)wr_MtJ3!hWTjPrzvbU{vH~q2xTRoeJIfWAR11MS2Z4$xX9D~c zgogx8Zi8hWLopvkd98A-JU5nYpcJ58nd0eaEkUY0u10!kYwNa|U5B!5sjh@x7TJk6 z;ulNEusK}aBCYBPMxA5>vdw#JTe}UGDThrnE-hwL$Xo@>6eeY}+141AwwjX5vK(1W zu|@YKqzUWW4U}bV3|^5mj@yvgLYeJ&mLYuuvJ}C$ob{+#NIC@rHkP(PXWcTE(`;*9 zc!ip+4Yw^48S@3Sv*~6btIqG|JCO|qEp)+l|1FibE11J-Xbz&~vZ5srZ6uzSp{pYFH=B*3g~-8Fj2RS=(_CPvi3a8cT*(?}MvNi` zd89N5<`|Zg?O>6OTLMp+2E`nF#&&}O-z0lw;U))Tor89R1Xr>ew@6(D%aM>V4I$%m zOWJ*7S%bpN>GB|3L#VPHV@ViY2{JRVShK4cxKQ5B<%l3b=(O$OwlS>=apMNYgE0Db zPKLm8IvW|v44{l;Rp<$QP9shX``tU)=>%6%phL z(>`T9?P^z$8@?1L0F30BJ%6=>I2l0Okl8o+Di4%!^kkYrJsKsn2H z@HV8XB2D-y%5ytXRX~rLn8}^tt*twT*xmuHXjf?`KsyiH{ml=cWSAE@76)Hds2O3j4%G_G?x2^tS0vpOE7ihyzpC=-hEJPc?Jc_9a>N<8ygl^*@?fJS(E z;1zku6t4xX+4gGUaEXrTf~veFljL^in6ay-1-zp%AZ-{iSv z&Kg%Ys%+!YMpUtW{5^Pt#JA24rabIql7$E3mXG?TwqaVELy!I*8KTLqyMbi5!Ag8# z8yU z;}E}O)6>jZL}=auqjHu}2O%g0%Oc0!41DP23tE?%@Cay%+-T+_b*$NocA<=Qt_ci< z9WH&2fLwx*6>!UQ7uJ1j7u)?R3`!22DS}%rQsU(vS-BPZ_A~Ttio7b1-1ansOt{Jk7eKMR_Y+ z?O=2;fiFCit)YAXGm9Bz`a6lylA|Tc%?8vy=*eTaN4UumfWS@QzluBf^pbDQGmi~f z*!SvuA&2!d**<7Dl%@+{^Z{8NYi0Kn?ke-J&mJhts02nOFtP)&fsrlmJdE_0xiY(& zgrpN%w7o$6_rlKGT8s!RKZljrp@G2iOHM#tgg#YH0?<6vltAWr1mrI{M=3xDQWdfQ z_IZg#kWbP5kOKYqKDRk`6uqFAQj$vsFTV|M2s&!e6 zjKZEs<1&18le0@#>OVVWVGD>qXS>o8v98M2YW+!UF9Cjs+jS+8PO$B2MJ5MMwX3#b zIEA-Om>$kVKljMbC7bHBAQ#QCpN<#9rto%-qK>S#3DsQzbK8h4Mv7H+CYUcg;S{Ki z^I)`w43;91u4X}PK?qB55&X!6Z3;cQnU$)Q zx5(txk$P<@%hx{EEFj2CL8sQv((DM|T(rox5r6*{bn2IUc+1p2+HF8r;i?6^Uf`@(MxeOjn?%M{8U&FQ3 za9#OW?iR+fk;M!BSV2Sz6l=h<>4=@-yXM>7gbwU@h%L3xV=S#7ahU7McL@cgB1;Yp z@VEh~CLpuzD%e8&$bM}NQQm^bb@*EYJWMYsLZlrJDZ$oe5R7g>(mHC3wfCXe){G^Q z;P$pv@$h?5iX7H6_D5Nipve#5$*UY~Ez@b-mlAT0tV;1pr1-52~jTV6yB8{zRPQ$yeA_7~&l`R9sv(KsXzzZ?wE>Nyzqx>2q zSmTmJduf|KIgIq~`%s?2*6iC6i?)H*)^29uGqz;bfpV5$W>?|jrgrwCybI8q|IbW;Vy^ zSPj?~F9P2U(5^x`_L+I;TgZqV3`L2ZQ`1BW+A`y5z>|6WhNMsXPH8$DHn0CMN)@4C zC7ZIWALf47fVYAHT}K$P(xr@WlS7(Kkf?Hy^eUw4A^~k6^d)eiKw-p+pMC`DODkH(?chNbP1%8?8m55p@$s;gOz zTk%vy(6^7Mui)x#7R3VID)eG0-wqL_(0zDz2Pj=gU|$DYIxfNoui%;a?>bOQ+0pN! zM{5Y{dCnw?V&&FV=+8pSbs)#b`_&k172+m3Z6}h6Mav9I%JDvv9BhNz!jk=i7B{lU zw=pOLybVZY^Zhd1rGi9YctORsot}rJ9pZr;opDxU{E1z@C!Zw2bCNYewoD$X%S=Zx4I>$n4 zN)0vtW5~ROlx1bqG~&Ij8GQsHx4T&yWcLfP|3c3paTEHf2eB;uZpndN=4T?X4ho!p~WU-pxX7sr+v?~~o zM%MRj$8M72&3V;ju4*2m@*WA+p{E-zL1a3JWV@0J>-#c$A}rkr7wE z{!v3OVvLp%k=pDZm;J~JAOlDNun2&WW8!w;z+^EeNzvbhEP%}yN?BjEe;lWdT4e+v z1m7BTWuG53AXNv3{%eH)+XyIORF_%zN@0s3rd?a=`~?IbIpc5t+*ucRcCOS)jS)Nx zT0e!E<+4K&cx<7+<;YHT@T%Fu!D=&GYBIj|$zmlM{cdccG5 zTTHhP;_Yy$MQT|q=*HRJ&JEilul>7L3(?yRQKtn)J9AfuA{IerpFG)upUt8ZFv@2c zSpj5|bUP?4hi;YIG6bir>CMBVOykd8@||)av*ms#opL+w_l3K!y6b1|x8!~+?%A}v zZicoy&c=4>D|cUZ*I&wS>Yi2Hb>97^fo_+4C{6?IPQX{(N8#O$Q_!}f*$Hh+;d9zA5iLW-T^pl6OrG`;)^4%->4`pxpM$}^8Yk>Sbw7NS14!W`?@q8yqNxR=E)iout5pr>WQ&I|UGjFrAGiVb)@UlYC02zF8K z3xQ@g*i9+Wv3<^nj7gx`4!)v&n2|nI1ivNtxd>m!CXqf=MV>_L&SNh{*ae|q6uV1A zr;~#JvFKdoR#{c>&~VDTp4m z@A(lqV%eue_MF6cKYsJ>{+8qCgG!$We@FygVxsSF1u(5*sLz#x@^knb!03esMF%&h*P-mpQ?h6B!GlpF85i ziTK0{`5dtqaF*PCUB^SsfOsc zE5DDWZBfQ|QS4$R_&(G8QFN9>ZMH@J8Iffmx+z3$c3qo=FlHPFR* zwYQ4IrVkvwx2-Bsuv>!vvYmb|vMhx0-3~U`6uL&RYYKTK7tz!)j=S&+#b}0n#WH>9 zFsi{nDd=pJ{*J`Cd9mxd$aYigvObcBE99quO#6ha_9zNQTQHK~Gwc^jL?L(5_s}#% zu1(=PA4*ZC`6%jRIf_{eLfaG@*^(IK|KSU*s~*d{y!g(d&`gGLqaY&%8)aJc|3vI! zg}7#$4C6#WzFe?-mUCSDj^wU&@v&K<%ZpA5#C1kl;z37Z^fhTSLlpWFx37ubx>5V< zh>4shCWG~He{PHJt6~SMLN_h3Oxy2>&NY^Mnk!Kso``l7)63KnyI*@xJC(U9<90P_ z_emH%Ygdx^MVH#}`wHaa`G@zzACX`8XB#cij`$qgG!fTQ-iPOe{xkAxPF!mjiR-r9 zNIUi|{{2XBs>0`n=%+2ei&1`hO55-Y-}YmXX-53m$EQ!DHp}!cxtv4(@oESr?!SKt ze3`4pKY9Nr@qbGGPwM|v{GY1-Q}ci7{?ETcmfuQ9 zP_?8Km%`pm|J7Y<3tUq&?^DTy6@ghEPu3D6_$_hqpOXOcF>&!x4i4`Z?EkBy>g0a> z7bk&|fBIjtAip85G7^bgB+=p{0jmhumb9&tRY*E}%#YlA+IG~BZ5by2?uGEH$^DNc zf>mW0HA-kUcrGgbYD_z=61CEOF3)}=ZH+&B+dmUmcxCj7W%;M*c`6anKYuB>pUC?P zS!L>s$weK`s#;lkIlmDvdn6uEkTI=`+_xl~=R~GI$nS?Ddr9aUW7=0Gy8WGuje1#I z`gudVUuWZq7)e{?(Q3CKk+LkAtN{5L|967_0dY0g9BG@E2;$p*EjIB$+O|cv*CX7~ zwhu)oZNa@t+cN88UFOBz^P(R=7WZKnS=uW?Qwr^v<{PrvukY(#6h$j!Gow0b#YiCw zl?B7MeI*$8g*Fj68bag!X+<)a&Zv}DqxMgP|6}QQLv+&>x*Tm|mNF}2`D}!yMOx8O zsIsflFXg4H4^5#{`bVOtDH@$s?FB5Y=oCk1rZEwxfp7w}nn;lv)uy7C%`QoH+zS^Aq)h+BNEG>XT0 z(wP^_S(JYG_bY;37VM8jzdjz6!}C2!k9#4G=*nA7;z}Z8l@eDU9-}KZRgr!?MXcSH zRUHa`l!h5M$!ZK&_xhU~gIx}~;c7h{;qgS;d0A`0u37H6NN$fgBYmxi%{N4UNrd@x z!SXS>LA)xM54Or!Hzm$iML#5VJ1Km1m4;VVxgz}}!fXfo*%O~+%*`l9uWXAK zg7+iQhqtY}p*>^d#P5qiw_HsZ#$e=StjiJ`u1X*4fsV0A^;V92LB&hQ?|Vd%sD30Q?`8CHsUtj|h@a`IX$qlrdC{U^SookWB-Z7n4*kjPVjYSOy_f{!~v4{TO(az+!h?mGY@VaEHf=dxjB6jj|gj17zt2Kn~oOt_KlzKpSA-aOql(8<3 zV5v-sHBH%Fh(s`T&RY=7RO*UEFhBYp%n8z*$?-HNxwKBU%QPqXsxG?oGCv}&m68Zk zcf2}+nHT#h3w|1n7q8ZBhn2Ld;1)v+^JkU}yDIuDNFO!F6KQR`C%fBwp=Qz=Uwy>4 zo0YsoQWqAbp2-ED-j*I8t zk};TrZ4lOFNO)1mN^>3LmxaoY(?| zn8tBvS@`(pH&Bnn>r_1dt`P5b=qhA6#3lBVyy%G}26xETD7wUR)LXQTv8YIVn2!7- zw!50KA| z*(F;7YRM49n}BTzcO=Y`v8cKwbwdK@0}<61md!|6Q=}6_pE$;fJr#}HP3irEsMc&q zJS`EQrcu~Z(4Zf`v9P}B9@#RWH^qlz;1aThZatvDu(n=FqwAHIRqdm~JxI?{B9BPN ztax^`2j%tW$G1a))Ui%9<4WV7+fkv6&t@JOO-UEb-w<8QvF z&77F}A4Jc(7c)(~uQ%GJO15`2O}qkfBSioAw<(A5=cs>!c4Y;}&NaP{=9aY8J!{1; zNaWjy+TNsHS*bGIzn8W?3a?8A?<3kK?S{STMA{@$L0%zSW%T+f5zp?nM3)}>8)@&y z^t#C5|4RcMuclFO+{-k6Y<=t6B|969d!z5CBri^g9Ln?JG>j`rxmgJu26j)^~pc+`+8nyjgWD8e1An&b!pqJv3}MPRFB|;?DWV;{*rd2 z_Tk*?Jz$ea>cib&siSoM`3vGTJ#F8l|KvC~>C@FHKn2=uIgQ0Vm=byPw90ewjuP1# z^j2s)4sSe<%kfWFt1BY?R3yD-Y2S;VNiT|IyAfM~=7&dIc~pf*hwSVYSK-{#oIL+2 z@k%SNpmAv59>eSZw%^rg)aIg5)?KYsw7v5^qjnj&B6V4etfw=5Z=XpmQkGtIrADd+ zuQW;Y8UHYt;9DD34KemV#%fyxPwdcU`#Y*%r@jG2*sHI(ueXJ_lqT<7q!9+eOh8QQzXK z=t6g3^h`-2eC8!i+zHmqtF`kYhwk(&jESGSGPg0W`BbF#@$o~Vus@V1+xIDm6>gI4 znG)?H3oa3#sQZ*iPV4fRERW$nrkWbJ6~8O)n`NrIzl*}qA1T<2AQLnB%j5VS-pWq{ zm>Nv`{}KMUz7<9ByHd6^g{SY+=b^U-m5WM)e zGNK)c8QeYJ%`Zk&`n@xZ%kDY)#Eyz>(vF00+lbRef-lK`LN=CZiFhwG7Y2hTE3>NKmG4C*$G~sZGF}LvBU&l z1>KN$ilK9KZv!2&HJFsRdj3dgC!-9j*?lR((i3F`anUK#z1+)KD`acWtHh_v^s5Oy z(KjKHa+bInZ3^uw>Dn>Rrv3Q|K6$Hqz3jFgqb(UhYtOoj(}eV;7RlkUZi%bw$=Ose z^#p%Q8cC_eJYM-xfQ&g4oBtGfj31Q2mel zuKSp~;p|0BpBKBxNv7A+in)kh*PeBKbw>0sBYjyVKAow1B_wfJzf!P$E!HX5PP`7? z5S>j$wL+fk>!T|YSNL3l+8krANdBLZHRGo6pC&u=qBhu+v7VJUvO;#2NWWgtJ$;Us ztn-%0H!pHci=SPU*rX@W6XMxwLVU_o*FTHF=WUPM%Xe2Wu0`=}P2}MCOkoyX5E}1; zyJKjciTx1qeq=%9_3dXx2eV@5I+NBFoF%cDt0C|3zC|iJEC+6ECtcEW6}A9Xl(DFU z{BfDy+p(XC`zmxE*f6rERt{}WD+ zE1f_6>+Mia5$j%*r@JoCuaoYxQCK(CT&?GKZU}$I;k}1-p}k6aCW`kub)8ppoWH*% zdRP?tc0|91T*v#bNuXx?m<#zRJ0tYGH-vVT?CeAldb3>Z`{{E@N5+7CjAL#p^kuOb zlHZPu{hH8MBv0ze+36^*T_3@zh|Q)EeN}vTC5rvp5A~UAg0mvyn2NuY#P{IG zC7JnTu;;Pu|XE zWnAiEZ_K_P(^clx5D)q5gllA{)fXf;w1iI2Mco$pW~6;Z#`%iGrMSI*jWJJLyJ`EW z5GQtJPR8x;Nj}Jt*2vu6>$Eeb{YNquaXU|Ui}dSb-p~A)^efP8yKU01M)-V!o{jc( z+4YF8Z`YJ|4Z+jR6mO5by07PMIbQJYmY$EavlC6SuL=s{7mbjgc)YwG_lW0%zP9tW z^N4J|p>qa3d)yJ9x<~dUpq}N>TE*-7!x0QWN4Y6}HX-q2kL*mToxx!{YeyI<+1cQt z$a7QTxUMYm*V%mbSm$W$Uwfer`BHc^r7udWUmf~*{{iBKp1Ir;UuOILH$t08KGC}0 z>-a8d4W~PfydkFNKE5W(?62zAVfw|_gkWf{R}9~m1EF0f`?`Ge-A2$?_T8fB_X`oU7QDFHo6Q>)cZ0kNRb8ow%kR zL^Qr;uZjF5W8NVBI-PCx*AlC56R#ckaatyxBgJ32slK$P`~~S3@oWp5LeF2SF@1b4 zFdd=SSo2e{jT~jykG4eqGVDpu=Gxbg@%g|c!q;=~6^xUeeW%Q|UqREe6s-FN(zy-m zO4r}?tVoG$O-ttwE5c`1Y&0QT+xkN87w~+W^j|{I?|d4hU-xqUULgCbd)M^bk*0i$$OamKrF) z019Y5M8Ay}>OVmB){ggnfc+1=^2!TGcjN=6CKbf-U#X3oAMbS@)hP zPo61HX0dU&!6{q2E)e>zvKP70c@TNuyOyp0KSXDrcrnh0bcAM9v}9P zjv~mrcaIKwTL3ZW^}GESFZx@@j~_*})5G52_+=FRK9M%>?)CoYKO^S-dk_Egh1c+L z@A$|S&i>>od%Xi_wlW(2VYq)fbmjfS{!V}Bl66;lJ{s(9yTY0uo({H;U%GVT;oGkK zvOm~)d8}VbhofDu``?{m4IUpKj{3s=ba?dm|1Zbu%aL1%ySw|n?fucQ*VN#+zxQ}+ z|KPxj)7$ele(Yy-|4(21$rVMhvKo!;{?XRq;NW<$KlDcLy7wyn!<7}w6?gl+ZCBgt zANO{4dq+pEx^vh&c)tt!0#NhdW$&oJ_M-RvaIobXN29}?{#tK$cmHcwJ38>DvUae)?b^=;V{L1H??Bws zyZ6_JJ{1vWY}zE*lc9jY-HGM7@LhRGfy{cxM@R@UeB;u&#+m~ zuvyQrSvNN8UuK?e*l^Q^55n-iaN%&%h8s3q_baPI8*Om3$x$SKjIVgVZ;^v}YR}ZE_SzZW{GXqrPd>H;wuxsc(L1&o(&P zJPrOXB!-Ca`eFavcz6jM&w=(e>cM4&G7d@`1>&YeLMVp zC;WXB{=VyK+x`B*Y46y_my-Tz9rp&q<&f)HHmg3sMz>5Ps9TxFfK6-gLdVb_OrxKCZd{XJJZA-we+XL593R}CQBWV2S zWpCHlJouwLS{ScA-yiL6dx$2q8ow3y_KzqA#tq2^yK66Y_kEo-mHD!^-ScXdDl7YN zBmZ?X|Mj73issi2dc*#%H_q(0joi1*+_wk0Z+R+jyE?vskE{^8om z{$Sh7hw;(==x|HGd|eU0)bIsRt=+-D_EN?-b?DN&=kBiS+IVfZ=hMAckUe=R%%?IB zb_P4W;jym`s>j~KVYdxkFC{mT`4Z^0;vy-;RPJklX@;d!kjd<~08tMM0hw(a-)f~2 zX2fxLTih0hsLN+~;um8mKGc@KegXEs@&%nZ&Awj(Z;B`V%)^c^3%9Zlyo-AG^y}(9 zz3NTrr2n;lI>CwYQT40Qa0>-o#}`!FJAHfA);aKd*;|`vv+Q>~(CYT!$glqMkuYqD zSl%s9*LHmP^!Dt7-x|d9((UzqEFBJfrMY%6+BZkJu*9l)Zm9|YK(26s`*I=E){q4SAD2{{TLrHlo&t2tt@7VME z+O@(U08M)beD00Qb6fL!lVJ7}aVptIqr>NZ6*7-zw|&^}A9~jr2YbG%Kj!ytM(q;2c3tOS*dOhAm){Bx8a^8M*@rJ08v-aY z<68fZ$A?O-z9kXrL?zuH?B-q}`uTLZEpfq*Ur5p2!&)@)U^v>^?T>t}JL!2cuI86Q z(zC?S(NH!WlA(8degR+lNp8EYjl*=)?a{v95o}=@ye)dNTQ6PlWpA(>b|mH9-f&B@ zdGBz`L!R~y_mH!CyC?gu_+oVALHuszU{{j-*IT>D_D2WaVGg~MNbK8|?PhEHus7QA z8w{D-*RFkZFgP3>^LxkJ((rhH&j569#qX`1mp=XRYxl5!(jR&hL(om0QS`CvbT{)r z!;w*ldpv7x&5wx3DQzBiA1qs-g=z5Y(-ZTBm$I==z* z%QraCC*G&Gy>Z%;j^DmXyonDAuIlQ&U9Skx@nMS`eb5cue4->LU#f_Rg72DHhF-V~ zGuOy4D!O8<@QO#fy&ac&qw|In^I6$-TnS6%jR8yKv$ZabE31Z4%ZX-P2^w|Ps7Y7p zAC3;-W!^>hkJfsJhrO>|-Mikl_ZN9l)@Ai|oGhoS#%1)|+JT=@*?XDKA~n~{wSby_ zOWZ#^{;hYUeyGJh-Idlx^Tpx*KlF#6dS^H~wj#52I2sK1M@PSUDKC6tfLCn)RQB6` zk?xhkre zjLI^q$%`5J+Ez6GY(hrAkY`o-`WZ(Rc~O(E1sPS8N?&>v!|--S;5vD3j}^p^n)0kB zBcPS_s~;sKP#{qVKKWNk;aN$Z73J#`N5%YPX2|k_j3E64Wtk_@NuArCP>#>qgaf1W zO^hZv!i?r*l#oi1EQ_2aUfh&XqQH0?B`uJ-%@QCpd4+YzDCK-1F6;p7)}TNEV;Ja} z7&l~;Dq2pAgvxI689-LaJSFokM|F&#yk{>s zgmGISkL$FYDlM#}F20x5-wGKO$Y`2NYj7nR64v7?*XSZgMMdie`ztGM^nh6k4$8AK zn#@mdmJ_UzTZh~LvdSe(Il(&ROKHVmw47&DB$XvvamuBbB)3mFBb$QF=rT1logolM zuj%g%{sIa~Z^6Xh&VJ%hI9wprip}tEYU4GItdGZx% z4Q{`!ei=j197$OWyGp4_d9)4_#vF5eLIbIgzzq@rU-;H7PU{_-azc9Zl(|SHt}{lY z^sQBS@mxkt8ckiJSq`m`@$nyYASfo@N=b&998h~3|fD0TwA#jOiu|y$( z_7ydmo&y4b2GmtC57J{mSo;@+agzDt$h#fMx~N8kk|6$v1g+$M$*D1JAA7A3v=CJEll>!6yC zgo`BArXj5{!aZTR@Puy*^tUDAB6|OU!1qYN!br-6T2)htXkV!b_|Y9s;f-ihOrO{3 zq3_Y{Z<9caQ(Yn2tVXlHh9+uyl`wqO)Vp&8uF)di%L^V%-V;a};GvC+B!Im^pJ;b8 z**>C`xyYCD^Zm7eK*$CKzr)GM$E#2PMW?%*C-8RyQd5xEXWpijT*;&TQqY>Jk{nu@ z;nkhPsF{zfcg82(4~Y*2%dd!0B8KsB)OeE~y29u)Ps*PQmHIhUpw14djNvA#zuc;Z z5b5awx0t6Fwg7Rol+V~7aZ#>w$x3vM4>+w^2C{ki`hB8RxPr?WYl;Lu)Fm6bZ$(Ia zs3vQ=3VTu~M$syaFH)twa$Lr8M$$+MET>3nlB8^hW*Y?PH3ZZ9JxA|mEISen z%QKWX8PV#D2fw2seL&_-V%#H!x&3ds$d9Q5>$)_Vz~?A#D>L87_wUK~9p->0tDx)D zRh1ZD(9qvL2jf~s0 zocBWt^n|(xkA}ka86t<-{qG!2@98-N>WnW788LDalo^)VBw(Z-bG5n*rHkk2sze*N z++CqIo>Iuiblrz}Dg|n{N=-t7Nz${;qZPt$>$GyRINErNRJz2qUWOHXPiTMds-AOx zZcd#1Rib#iOt=Q&-pi=79|+X)LA69~O#)AlXpu4-`5I+5@{brnD*3cn$VcS{SEftc zRZ^~!^80x`Tl=_?&kJ?Jb%=X`c2(m%KH|t4h>y5}DMz8*_AC$>BVVN=#>jt2xJMK> z(IVyJOxB=DKVF`eL zoU!{@q=LYT5UBWCI@8Z-lFF>k<8>-B!B=HcS=M=co(vD4GHk8Dyb|9 zl~kzM2~39sZ14OT$%6n$-6Vm65NJ_hwohqs9-ncR6-t2GJGfO}LQo{trYWNenxaYo z{3%mql`2``8a1@skJGaFH^)UbsXieoTO&DBdSz!F(`sg)v$Xm=xUPlz^N5C}u-!>~ zJ45mlwBnK)LnI&S)6aw8#-qsq@G%#3F;BU84&|ywv(Lj?&T)C5s}kv9Ms{Q{o2NHP zdKESP&jTFj&FOkX`K&Iskntpw-y-Eu6}$+6qLtA`j>kNC*e0n;=`Da_3tv*oFBpB| z3Rb8H5M7|5SI!|i%|wv!t@VN)FnV`6nJHme&?uE-nViGYx)9Y&)`+^AWK>S`3$@M| z+c`&x#r%AOYYej|nZ-Oy+vrTv>FinPzC}e?)2T~;n^NExLHcff=F5VC;>{-cIEOT4Zpmkfoh0*Jx552JVCcl~~Sz{3V8m zlpuG=vcRQS$VB;AG~zR?)~8oQ zv$f^6CXq2;B%EzGi+Oeab-ok%P|(TO&rSNYC8f67y_s1*C_Bwtj;YxArc~?{`4;FJ z7NjeAGb?ZklNxTKt7VT@(75coZ$*}G9R;$?l+t1AT=OCoYxSR_`IP8oRzF)DvZ&%X zRg=#OW^_Xnik9R>ODWn|Jgrh!CF*Z3A4Q892a96NvVfe?0wbCzm=`$;J%;^e5yUb8!C&nRR^h1!DrNx?E&C-Pm?wde#f|Is0+%C6Oh#NP#9*(PT_hcMd z&g3IQRS85!p)2%_`-^TXhR%$}Av%DUb?A@8$(s&kHo6%N;iZX`V`(RF3i! zyhEw#OcSz2d1Y6sikwlKJGmpiwZ0=_`xJ45b|dZtaTjR2zxfU-Ip!se#qiZgYL;I1 zdoHrmX$?c>lo`DOa8uI>G>(k%!$(vhZNs3Yob@+c2%ob4Fh>L$uX(hfIb;RpPgH z;8CFd!s+@@+$xfq&#&|XXY`Cb;K|phwM6OV&arExY`LPwkkO)v7CDbG9`N|Pqz9Qp z+4xOx1Hg5d(5j3AjXe1|lJDiGutxF;$=A*y8t${^bZHhJZgW4X+1 zsKbnCH(~CPQ8N=L;;5iL7{g&fS2}WYYQ?X!v>%HAa0LL|0{OpWC-~>r zd}~2@3`1jI)cI|=te?yF&@M{TMKXHFSsiO-_cuCK$2}cdE%hGib#b*~J($y>6apl9yRr_f@C` z;^xehZ3*bUhUR`K#uh2=5A))VQ5Gt%vf_S2-|Fkfw_`smFbz4)IQ_49`hHc^P9z~N`?JiY!iOlUFvXoJ5 zRAf7VFsA(>yWk z?#BY>JEN8u`4+hQ>@sNGBJS9achYktD3Py8U_HhH&367x5~P%%&G34YxW>&oi|~&r z@-V4p)Ftn!l*-fumjXhb^vcbz*!@P?G`5)$n4auqi*^vTPIFX8;!htpnRJ_(0=VyArJeF z=L&hWb#6l%e+<{5hUWDzfCzB9EJtYJxJ`se(1)$IfdTjPe#duF>CGk z`y46-+F!y|9lLp9w~Nrbwx0AX=LUM#FSaf1BG;`*%9bJK)m`?&dEPWB+qS@dh<}N( z*lt`{O}wCIOklXI_=*Gu#@>~e0z<7@iJvDF~}@tNcDpoTqmyGIk`kJV0yQy zk|pAH^SGC(_Nz3rc}>UBfUS7}zBh<_k;<{3nPYCqh*MmOvN~r>6BXiCm0k>ZVIMyX z>C=9vG?NdT*S?!douObgpR#No=6+X6ZGrG*MUeHVusaUynh5ED5a*dR;*ZZR}SQp|JCv7*9or;!Q zl#0gtTyn4jZVOBH4_e&JQ@+DRain*HQrUjLN_VL-5g0wF*pAZ+lypjY4719ypPypB zvoxAUe!g}=&#?F4W)A1g| zNTP9fFZ-j|0<-hfIk=y2eQz^s1Ok2jLq~g|wlF(bAlyC8M?-d9q6F7TZ;Ehj!u^=q zaP$TE%v?TOg?kzO?DcuO!TDn*+#($od}pZL2WmbsRQ-~C4Fhg4t&&D(-(>KxUAgs} z&ZBZmHPjC~n+lna-C;@2p;F;IEG67i`-|DsF-pOs9%a@y(tAc866<~$Zg&iW+uM(> zO4Q^#ncxI(l_z+Kh&@U@$L7f&D z?ap13idZ6={p86SezuEF$*7QLWCf6I((R&fxO5x2tx#~6H@yXVlxh5D?sVFXI_`AR zolLpYpSw}roji4;vOB4{(-}8v3&6>QJN<SD?byz-=` z!BJ%^W(c<3SwWh2~-uyDMrmYMycn91F6bGIynO z859zrbg&|@2TvqWTL7IYP-sK*Rjf!!4DUo|w*n#s5SfMo^?3vj!RDg;C0J}Kbi^_5xU&{!p>n3;EP~aDYmvgoDmQ=CmrI>C9s-yVE8#Ul&&j zV1;0=r`LtW*($sY!B*n)B4)jj0lOyL1#Ax9*Mc4{;PVLpO3?EXR%BI-U%jEsK38uHO;>}Eyu1WnZ zz#qosQUXdBD5;p4Sk$uYTtsQFgSEi%E+{X^CRxDVi=tMe8!iI4jip(Gi_Oc9UsylE z!vc(L31E|=Nnhd$se1rc`%keVt4O1hqCH=F3WYo1J_a*|V0ay-I0wiArc*>Vslpeg z5IU~n)vOem2GhVyFGQGY!JQ>KP0ChJWV-|9)UgT|0XYN5RG7D*77Z*Vc(jW2p}Y#{ z1(YrY$z|hjRg5+?c_qI6KzbJ8Z5jUPa z@%%0PLg!Yoio%K+=5eg+l%BL6mt`P%^?0ryFxFGl&#$hFlVo-q2S_@n}V_D`OJ!UuR>i&;OFEv|%M z&ElT>GnnIJ7*P>=Z9W2%WzNop+F2+ZliYe8vNOf#rA`09`2ITBMK#c!cS6LE#Frj%KL> z%)WqmH6&x{iWu-EfR*K~fIW)^v={h6bo*MY>Y5=>dxw$Yy8%_d0LnuEr{K~8SR(sc ziHTbODX@l;AAXK!A*f%K}vfa3&pfhu7k^DNUk#XC%{?;`~ph7MxY?8)&hJNkXpZL zK6nD_S^?I4@ZVrvN!WLd<0h!av^*`s8Ij2SR@y`QeBj32fmahh>J_-S0ge{h<$qZngj*=x3eZnlXfs^LAfFE&<7=1_olG+#l0)X+FG-=w~7w*pXGHO zfi#iO6mT2Txbdc_`qLNm3Mm~plFcV0omS{xi7?t&Y{soG%E&VW zeA$j_`Joh2)Wivt{{dX71jQzxqg_RhxpJ4d+8CD>;z`%z9;T;rW4UFo8qD- zJi8FL#LE#Y#p=8tv5??SHDzeG%dg84a)Gv)E&#C&g_kmj%1#kyGHs?5=*?JHUy!wM z=&1?%d*`7~gfJ_@piF|dirmgV455?mV5wQo2Dbo8>%;5!oP8`0F!I`mrw zp->W+bniwYNE{+$iYYWhZ7=JEM!EkSX{nROurr5<=a7+0$W4iu{Rk1&yQH*MQBuk) zbO5D?(hjzy6`;4A(Egi6%papR7fK6^?40VE8S*S#pA@f;JFSF z-V+I1j|(V$Z=;e#IV65D6YYvCTZMUpk<(A-{=L_``=4FxT_tHE#h-NIe(Fx1=KZku zF*$?dre;dqO=#}Z@rbA8Yqtuub z(@}}HAo|-em!th7rZW`@lx4PFm16|_`v;lBn@4%nH1c`2~mOojG{1iVp%?!d8GyaW4L@154Dl{oAX}H z!#;iwJ!oHS1`W;Zt9tCs&0x23Q$o!-ud1SW2{Jdag(<`Xx!1vN10apo`Fl8T9fha@ z+>)-*D2Wul1V97j;xs(*t~BC>!k2Kaw)FVI#BkIE~0T0WmyoFS2+`Qh;=Vp#&bwJA#GOwFlVkc zSPMG!r(Z;=?n#L*C2mUsm#FtwG50CJTHXTDdJ_01&UC5FUn1q9{t>geD}8_w%90#p zSx#zY1FJA?_usry+|6!uP^WbQ$}nknx_Hdk7GVh&_>pf^k5?iXExp}M<_qE zAz+A2tZ&xfCviCdiW0066sYd($3MVPQxoj!=eb5c_Ud7Vl(OjINSV=6=MT!G3V5$IstB$+m7c5vczKcG$0gvTD_zx`()huzJ| z?|}Nh{}$$|hrM^>Avs(^WNgdX1m}HjJ>~HA@;1n{bp{`SbcTgIrx3Lp5xYo4DT%){7Ro?b=Au7#~z35e*U2Sn{@CCG#^j0t)R zh&N%O6Y*57f@AT?h=#n@)zF>V_65u;M*s`~oZ;IVxl!BfH^auVUSIidS_ zT>FvF4iFb(gUTU5==Gu4;gjhjtx1=ng=tR5giweVRL$9<587ipg9X?w!>roQ7M`-7Wo7d1us$k0A z1@2*WE`$?|uuCgJQ8kHIIry6FKt~IxTT9{eNiO=#$o=4pTePBs*=sJL}gyT4AxE8{u z_!MVBvc+G3JXLJR75;Jvn9|=(QCawPnU`2+_2vXNH&tjx4=YMxrXhfPY1eRxaRupZ z8esu<8w9H;WaV=T%D)Ww8ltP-7MO`1dM$%hgBesJd>tme8iS8YrDk>&SgX)#1vXZO z@fQ$4s<9b=5f-kIdAU0|#x)i~%dmiCrBP5^*CQDGpd=;hyQdi>aG%x7NmO!e4#Zs`#aeL?+=zYb|PF}#V##OA{5+dYvbXcqL!lCvjE{ZS9 z#i6V563ZfjQU{QFB6kOTX90st%aSIRGcbDDX#vSpVW!19PEjce%qC({5=sk!siVc4 zg?SH(;@e3{c6vctdaLh;Yqa+EUbt!{=LUKyqm8=*O8Fithc>R6y&v0G-O#zwn+4({ z==15hbU3VN$16Zc{Q`djI-HUF0#b`saCh!;tf{n2(#sK3Fu%=sld~A><^m3^-p!yi zq{J3$MAjC{>|AO>FXJlRyRkZsDM@(YdRy4B;o`Skjwr?hKpY;*HF8`A7Qqx)uZGrf z7bA_QB30N2QdUEnbxYc&*;>AL}H#h;5Bvt}7wC=V6 zd_7)7&px~%bF_y`(8H(D`AuX`9E*jAe&KG#hx4%Br?7|H@pi*peCVUlotUHbR?;eR ztKK&JAw1|#Ol_0#B6I}~g}XdH0FKsTfa-vF3RSn_MOFn{gk7zHzE-5Ac<;0clPJjT zA-VqGaQztZO2~EqJQ2_HUA*n`GvuAJl-c5UZ4|4xR5{Wk)}J7ec{{uSfDV#W63qiW za_zGQV8vZQ>DZ0uCuxk6a1-p70L;U^QtbAjoCpV2zrdx88OiAZSgVC{v{k)D z+(h{?h+ti8AnSmcME!${>tX=EMgX~k%|abvwjED9U7Vw)@1KVI@Ujqh0goGu0?!lO zN(NpX>PJ|VB(q;zgFMx+c6#X`Tt?-&ZW`(6Etp#7&bbTCEghV^6%H;$Ig6o4lL_kn zv=MJ?rtu6G_39}uZH}tpp1j(*j2Gk0`AT##ZRjJ9OFUnUw~Z?CXAyeY{! { + r.winWave = 30; + }; }}; saltFlats = new SectorPreset("saltFlats", starter, 101){{ diff --git a/core/src/mindustry/core/UI.java b/core/src/mindustry/core/UI.java index 7832d52652..e93d394e05 100644 --- a/core/src/mindustry/core/UI.java +++ b/core/src/mindustry/core/UI.java @@ -373,7 +373,7 @@ public class UI implements ApplicationListener, Loadable{ cont.add((text.startsWith("$") ? Core.bundle.get(text.substring(1)) : text) + (message == null ? "" : "\n[lightgray](" + message + ")")).colspan(2).wrap().growX().center().get().setAlignment(Align.center); cont.row(); - Collapser col = new Collapser(base -> base.pane(t -> t.margin(14f).add(Strings.parseException(exc, true)).color(Color.lightGray).left()), true); + Collapser col = new Collapser(base -> base.pane(t -> t.margin(14f).add(Strings.neatError(exc)).color(Color.lightGray).left())); cont.button("$details", Styles.togglet, col::toggle).size(180f, 50f).checked(b -> !col.isCollapsed()).fillX().right(); cont.button("$ok", this::hide).size(110, 50).fillX().left(); diff --git a/core/src/mindustry/core/World.java b/core/src/mindustry/core/World.java index 78c06d6ff9..d1b52e3391 100644 --- a/core/src/mindustry/core/World.java +++ b/core/src/mindustry/core/World.java @@ -230,6 +230,7 @@ public class World{ loadGenerator(size, size, tiles -> { if(sector.preset != null){ sector.preset.generator.generate(tiles); + sector.preset.rules.get(state.rules); //apply extra rules }else{ sector.planet.generator.generate(tiles, sector); } diff --git a/core/src/mindustry/mod/ContentParser.java b/core/src/mindustry/mod/ContentParser.java index d183d5b64a..000d3d6521 100644 --- a/core/src/mindustry/mod/ContentParser.java +++ b/core/src/mindustry/mod/ContentParser.java @@ -463,7 +463,7 @@ public class ContentParser{ if(t.getMessage() != null && t instanceof JsonParseException){ builder.append("[accent][[JsonParse][] ").append(":\n").append(t.getMessage()); }else if(t instanceof NullPointerException){ - builder.append(Strings.parseException(t, true)); + builder.append(Strings.neatError(t)); }else{ Seq causes = Strings.getCauses(t); for(Throwable e : causes){ diff --git a/core/src/mindustry/net/CrashSender.java b/core/src/mindustry/net/CrashSender.java index 184c7b96ec..0fb44e1e62 100644 --- a/core/src/mindustry/net/CrashSender.java +++ b/core/src/mindustry/net/CrashSender.java @@ -24,7 +24,7 @@ public class CrashSender{ public static void log(Throwable exception){ try{ - Core.settings.getDataDirectory().child("crashes").child("crash_" + System.currentTimeMillis() + ".txt").writeString(Strings.parseException(exception, true)); + Core.settings.getDataDirectory().child("crashes").child("crash_" + System.currentTimeMillis() + ".txt").writeString(Strings.neatError(exception)); }catch(Throwable ignored){ } diff --git a/core/src/mindustry/net/Net.java b/core/src/mindustry/net/Net.java index 117ccba23e..f99ec4d495 100644 --- a/core/src/mindustry/net/Net.java +++ b/core/src/mindustry/net/Net.java @@ -56,7 +56,7 @@ public class Net{ error = Core.bundle.get("error.io"); }else if(error.equals("mismatch")){ error = Core.bundle.get("error.mismatch"); - }else if(error.contains("port out of range") || error.contains("invalid argument") || (error.contains("invalid") && error.contains("address")) || Strings.parseException(e, true).contains("address associated")){ + }else if(error.contains("port out of range") || error.contains("invalid argument") || (error.contains("invalid") && error.contains("address")) || Strings.neatError(e).contains("address associated")){ error = Core.bundle.get("error.invalidaddress"); }else if(error.contains("connection refused") || error.contains("route to host") || type.contains("unknownhost")){ error = Core.bundle.get("error.unreachable"); diff --git a/desktop/src/mindustry/desktop/DesktopLauncher.java b/desktop/src/mindustry/desktop/DesktopLauncher.java index 22973e0e59..acaf73c808 100644 --- a/desktop/src/mindustry/desktop/DesktopLauncher.java +++ b/desktop/src/mindustry/desktop/DesktopLauncher.java @@ -9,7 +9,6 @@ import arc.func.*; import arc.math.*; import arc.struct.*; import arc.util.*; -import arc.util.async.*; import arc.util.serialization.*; import club.minnced.discord.rpc.*; import com.codedisaster.steamworks.*; @@ -63,7 +62,8 @@ public class DesktopLauncher extends ClientLauncher{ Runtime.getRuntime().addShutdownHook(new Thread(DiscordRPC.INSTANCE::Discord_Shutdown)); }catch(Throwable t){ useDiscord = false; - Log.err("Failed to initialize discord.", t); + Log.err("Failed to initialize discord. Enable debug logging for details."); + Log.debug("Discord init error: \n@\n", Strings.getStackTrace(t)); } } @@ -114,7 +114,7 @@ public class DesktopLauncher extends ClientLauncher{ loadError = true; Log.err(e); try(OutputStream s = new FileOutputStream(new File("steam-error-log-" + System.nanoTime() + ".txt"))){ - String log = Strings.parseException(e, true); + String log = Strings.neatError(e); s.write(log.getBytes()); }catch(Exception e2){ Log.err(e2); diff --git a/tests/src/test/java/ApplicationTests.java b/tests/src/test/java/ApplicationTests.java index e075d527c8..1afcce5fa3 100644 --- a/tests/src/test/java/ApplicationTests.java +++ b/tests/src/test/java/ApplicationTests.java @@ -542,7 +542,7 @@ public class ApplicationTests{ @Test void allBlockTest(){ - Tiles tiles = world.resize(256*2 + 20, 10); + Tiles tiles = world.resize(256*3 + 20, 10); world.beginMapLoad(); for(int x = 0; x < tiles.width; x++){ diff --git a/tests/src/test/java/SectorTests.java b/tests/src/test/java/SectorTests.java index c4ded0a4bd..1cad120b64 100644 --- a/tests/src/test/java/SectorTests.java +++ b/tests/src/test/java/SectorTests.java @@ -60,12 +60,16 @@ public class SectorTests{ Seq spawns = state.rules.spawns; int bossWave = 0; - outer: - for(int i = 1; i <= 1000; i++){ - for(SpawnGroup spawn : spawns){ - if(spawn.effect == StatusEffects.boss && spawn.getUnitsSpawned(i) > 0){ - bossWave = i; - break outer; + if(state.rules.winWave > 0){ + bossWave = state.rules.winWave; + }else{ + outer: + for(int i = 1; i <= 1000; i++){ + for(SpawnGroup spawn : spawns){ + if(spawn.effect == StatusEffects.boss && spawn.getUnitsSpawned(i) > 0){ + bossWave = i; + break outer; + } } } }