diff --git a/core/assets-raw/sprites/ui/icons/icon-pencil-small.png b/core/assets-raw/sprites/ui/icons/icon-pencil-small.png new file mode 100644 index 0000000000..fad56e9439 Binary files /dev/null and b/core/assets-raw/sprites/ui/icons/icon-pencil-small.png differ diff --git a/core/assets-raw/sprites/ui/icons/icon-pencil.png b/core/assets-raw/sprites/ui/icons/icon-pencil.png index a36d4d5fa4..da2f01f479 100755 Binary files a/core/assets-raw/sprites/ui/icons/icon-pencil.png and b/core/assets-raw/sprites/ui/icons/icon-pencil.png differ diff --git a/core/assets-raw/sprites/ui/text-sides-down.png b/core/assets-raw/sprites/ui/text-sides-down.png index 80f894c71b..151c269d38 100644 Binary files a/core/assets-raw/sprites/ui/text-sides-down.png and b/core/assets-raw/sprites/ui/text-sides-down.png differ diff --git a/core/assets-raw/sprites/ui/text-sides.png b/core/assets-raw/sprites/ui/text-sides.png index d741f35069..93993100bb 100644 Binary files a/core/assets-raw/sprites/ui/text-sides.png and b/core/assets-raw/sprites/ui/text-sides.png differ diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 2d2729a960..e95a85c40f 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -22,7 +22,8 @@ text.server.mismatch=Packet error: possible client/server version mismatch.\nMak text.server.closing=[accent]Closing server... text.server.kicked.kick=You have been kicked from the server! text.server.kicked.invalidPassword=Invalid password! -text.server.kicked.outdated=Outdated client! Update your game! +text.server.kicked.clientOutdated=Outdated client! Update your game! +text.server.kicked.serverOutdated=Outdated client! Update your game! text.server.connected={0} has joined. text.server.disconnected={0} has disconnected. text.nohost=Can't host server on a custom map! diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 83843a2c14..3b34462f84 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -20,70 +20,70 @@ blank index: -1 blocks/blackrock1 rotate: false - xy: 170, 95 + xy: 132, 88 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackrockshadow1 rotate: false - xy: 132, 88 + xy: 722, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstone1 rotate: false - xy: 760, 384 + xy: 166, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstone2 rotate: false - xy: 724, 351 + xy: 732, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstone3 rotate: false - xy: 760, 374 + xy: 736, 371 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstoneblock1 rotate: false - xy: 770, 384 + xy: 736, 361 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstoneblock2 rotate: false - xy: 770, 374 + xy: 736, 351 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstoneblock3 rotate: false - xy: 780, 384 + xy: 659, 282 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstoneedge rotate: false - xy: 519, 194 + xy: 519, 178 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/block rotate: false - xy: 790, 384 + xy: 679, 282 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -104,7 +104,7 @@ blocks/block-3x3 index: -1 blocks/block-middle rotate: false - xy: 790, 374 + xy: 240, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -125,112 +125,112 @@ blocks/chainturret-icon index: -1 blocks/coal1 rotate: false - xy: 810, 384 + xy: 270, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coal2 rotate: false - xy: 810, 374 + xy: 280, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coal3 rotate: false - xy: 820, 384 + xy: 290, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coaldrill rotate: false - xy: 820, 374 + xy: 300, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coalgenerator rotate: false - xy: 734, 349 + xy: 310, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coalgenerator-top rotate: false - xy: 853, 417 + xy: 320, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coalpurifier rotate: false - xy: 863, 417 + xy: 330, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/combustiongenerator rotate: false - xy: 873, 420 + xy: 340, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/compositewall rotate: false - xy: 832, 412 + xy: 350, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conduit rotate: false - xy: 832, 402 + xy: 360, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conduitbottom rotate: false - xy: 842, 412 + xy: 370, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conduitliquid rotate: false - xy: 842, 402 + xy: 380, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conduittop rotate: false - xy: 852, 407 + xy: 390, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conveyor rotate: false - xy: 862, 407 + xy: 400, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conveyormove rotate: false - xy: 832, 392 + xy: 410, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conveyortunnel rotate: false - xy: 842, 392 + xy: 420, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -244,56 +244,56 @@ blocks/core index: -1 blocks/cross rotate: false - xy: 852, 397 + xy: 430, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/crucible rotate: false - xy: 862, 397 + xy: 440, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/deepwater rotate: false - xy: 830, 382 + xy: 450, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/dirt1 rotate: false - xy: 840, 382 + xy: 460, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/dirt2 rotate: false - xy: 830, 372 + xy: 470, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/dirt3 rotate: false - xy: 840, 372 + xy: 113, 71 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/dirtedge rotate: false - xy: 519, 180 + xy: 521, 164 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/door rotate: false - xy: 852, 387 + xy: 113, 61 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -307,7 +307,7 @@ blocks/door-large index: -1 blocks/door-large-icon rotate: false - xy: 862, 387 + xy: 113, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -321,7 +321,7 @@ blocks/door-large-open index: -1 blocks/door-open rotate: false - xy: 850, 377 + xy: 117, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -335,7 +335,7 @@ blocks/doubleturret index: -1 blocks/duriumwall rotate: false - xy: 860, 377 + xy: 117, 31 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -349,14 +349,14 @@ blocks/duriumwall-large index: -1 blocks/duriumwall-large-icon rotate: false - xy: 850, 367 + xy: 117, 21 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/enemyspawn rotate: false - xy: 860, 367 + xy: 117, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -370,245 +370,245 @@ blocks/flameturret index: -1 blocks/fluxpump rotate: false - xy: 669, 282 + xy: 117, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grass1 rotate: false - xy: 679, 282 + xy: 310, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grass2 rotate: false - xy: 624, 233 + xy: 320, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grass3 rotate: false - xy: 624, 223 + xy: 330, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grassblock1 rotate: false - xy: 624, 213 + xy: 340, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grassblock2 rotate: false - xy: 634, 235 + xy: 350, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grassedge rotate: false - xy: 521, 166 + xy: 521, 150 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/ice1 rotate: false - xy: 634, 225 + xy: 360, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/ice2 rotate: false - xy: 634, 215 + xy: 370, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/ice3 rotate: false - xy: 240, 91 + xy: 380, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/iceedge rotate: false - xy: 521, 152 + xy: 521, 136 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/icerock1 rotate: false - xy: 250, 91 + xy: 390, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/icerock2 rotate: false - xy: 260, 91 + xy: 400, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/icerockshadow1 rotate: false - xy: 270, 91 + xy: 410, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rockshadow1 rotate: false - xy: 270, 91 + xy: 410, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/icerockshadow2 rotate: false - xy: 280, 91 + xy: 420, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rockshadow2 rotate: false - xy: 280, 91 + xy: 420, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/iron1 rotate: false - xy: 370, 95 + xy: 624, 213 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/iron2 rotate: false - xy: 380, 95 + xy: 634, 235 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/iron3 rotate: false - xy: 390, 95 + xy: 634, 225 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/irondrill rotate: false - xy: 400, 95 + xy: 634, 215 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/ironwall rotate: false - xy: 410, 95 + xy: 627, 203 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/junction rotate: false - xy: 420, 95 + xy: 627, 193 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/laserturret rotate: false - xy: 820, 418 + xy: 734, 392 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/lava rotate: false - xy: 430, 95 + xy: 627, 183 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/lavaedge rotate: false - xy: 521, 138 + xy: 518, 122 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/lavasmelter rotate: false - xy: 440, 95 + xy: 637, 205 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/liquiditemjunction rotate: false - xy: 450, 95 + xy: 637, 195 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/liquidjunction rotate: false - xy: 460, 95 + xy: 637, 185 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/liquidrouter rotate: false - xy: 470, 95 + xy: 865, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/machineturret rotate: false - xy: 796, 394 + xy: 724, 369 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/megarepairturret rotate: false - xy: 808, 406 + xy: 724, 357 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/mortarturret rotate: false - xy: 808, 394 + xy: 724, 345 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/mossblock rotate: false - xy: 114, 80 + xy: 875, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/mossstone rotate: false - xy: 114, 80 + xy: 875, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -629,7 +629,7 @@ blocks/nuclearreactor-center index: -1 blocks/nuclearreactor-icon rotate: false - xy: 113, 70 + xy: 885, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -650,7 +650,7 @@ blocks/nuclearreactor-small index: -1 blocks/oil rotate: false - xy: 113, 60 + xy: 895, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -664,322 +664,322 @@ blocks/oiledge index: -1 blocks/oilrefinery rotate: false - xy: 113, 50 + xy: 905, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/omnidrill rotate: false - xy: 117, 40 + xy: 915, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/plasmaturret rotate: false - xy: 820, 406 + xy: 728, 333 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/playerspawn rotate: false - xy: 117, 30 + xy: 925, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/powerbooster rotate: false - xy: 117, 20 + xy: 935, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/poweredconveyor rotate: false - xy: 117, 10 + xy: 945, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/poweredconveyormove rotate: false - xy: 760, 364 + xy: 955, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/powerlaser rotate: false - xy: 770, 364 + xy: 965, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/powerlasercorner rotate: false - xy: 780, 364 + xy: 975, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/powerlaserrouter rotate: false - xy: 790, 364 + xy: 985, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pulseconduit rotate: false - xy: 800, 364 + xy: 995, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pulseconduitbottom rotate: false - xy: 810, 364 + xy: 885, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pulseconduittop rotate: false - xy: 820, 364 + xy: 895, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pump rotate: false - xy: 830, 362 + xy: 905, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/repairturret rotate: false - xy: 820, 394 + xy: 728, 321 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/rock1 rotate: false - xy: 840, 362 + xy: 915, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rock2 rotate: false - xy: 850, 357 + xy: 925, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/router rotate: false - xy: 860, 357 + xy: 935, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rtgenerator rotate: false - xy: 170, 85 + xy: 945, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rtgenerator-top rotate: false - xy: 180, 87 + xy: 955, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sand1 rotate: false - xy: 190, 87 + xy: 965, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sand2 rotate: false - xy: 200, 87 + xy: 975, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sand3 rotate: false - xy: 210, 87 + xy: 985, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sandblock1 rotate: false - xy: 220, 87 + xy: 995, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sandblock2 rotate: false - xy: 230, 87 + xy: 532, 126 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sandblock3 rotate: false - xy: 300, 85 + xy: 532, 116 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sandedge rotate: false - xy: 549, 213 + xy: 535, 197 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/shadow rotate: false - xy: 724, 373 + xy: 728, 309 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/shieldgenerator rotate: false - xy: 320, 85 + xy: 542, 127 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/shotgunturret rotate: false - xy: 736, 380 + xy: 731, 297 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/shrub rotate: false - xy: 360, 85 + xy: 746, 362 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/shrubshadow rotate: false - xy: 370, 85 + xy: 746, 352 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/smelter rotate: false - xy: 380, 85 + xy: 637, 278 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/smelter-middle rotate: false - xy: 390, 85 + xy: 647, 278 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sniperturret rotate: false - xy: 748, 382 + xy: 731, 285 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/snow1 rotate: false - xy: 400, 85 + xy: 689, 281 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snow2 rotate: false - xy: 410, 85 + xy: 699, 281 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snow3 rotate: false - xy: 420, 85 + xy: 709, 281 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowblock1 rotate: false - xy: 430, 85 + xy: 719, 281 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowblock2 rotate: false - xy: 440, 85 + xy: 634, 267 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowblock3 rotate: false - xy: 450, 85 + xy: 644, 268 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowedge rotate: false - xy: 142, 91 + xy: 563, 213 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/sorter rotate: false - xy: 460, 85 + xy: 644, 258 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/steelconveyor rotate: false - xy: 470, 85 + xy: 644, 248 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/steelconveyormove rotate: false - xy: 480, 87 + xy: 644, 238 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/steelwall rotate: false - xy: 240, 81 + xy: 644, 228 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -993,98 +993,98 @@ blocks/steelwall-large index: -1 blocks/steelwall-large-icon rotate: false - xy: 250, 81 + xy: 644, 218 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stone1 rotate: false - xy: 260, 81 + xy: 647, 208 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stone2 rotate: false - xy: 270, 81 + xy: 647, 198 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stone3 rotate: false - xy: 280, 81 + xy: 647, 188 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock1 rotate: false - xy: 290, 81 + xy: 654, 268 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock2 rotate: false - xy: 300, 75 + xy: 654, 258 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock3 rotate: false - xy: 310, 75 + xy: 654, 248 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stonedrill rotate: false - xy: 320, 75 + xy: 654, 238 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneedge rotate: false - xy: 722, 399 + xy: 577, 207 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/stoneformer rotate: false - xy: 330, 75 + xy: 654, 228 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stonewall rotate: false - xy: 340, 75 + xy: 654, 218 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/teleporter rotate: false - xy: 350, 75 + xy: 657, 208 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/teleporter-top rotate: false - xy: 360, 75 + xy: 657, 198 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/thermalgenerator rotate: false - xy: 370, 75 + xy: 657, 188 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1098,56 +1098,56 @@ blocks/titancannon index: -1 blocks/titancannon-icon rotate: false - xy: 724, 361 + xy: 853, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/titanium1 rotate: false - xy: 380, 75 + xy: 664, 272 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titanium2 rotate: false - xy: 390, 75 + xy: 664, 262 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titanium3 rotate: false - xy: 400, 75 + xy: 674, 272 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumdrill rotate: false - xy: 410, 75 + xy: 664, 252 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumpurifier rotate: false - xy: 420, 75 + xy: 674, 262 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumshieldwall rotate: false - xy: 430, 75 + xy: 664, 242 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumwall rotate: false - xy: 440, 75 + xy: 674, 252 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1161,63 +1161,63 @@ blocks/titaniumwall-large index: -1 blocks/titaniumwall-large-icon rotate: false - xy: 450, 75 + xy: 664, 232 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/turret rotate: false - xy: 736, 368 + xy: 142, 81 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/uranium1 rotate: false - xy: 480, 77 + xy: 674, 232 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/uranium2 rotate: false - xy: 535, 201 + xy: 674, 222 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/uranium3 rotate: false - xy: 533, 191 + xy: 667, 212 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/uraniumdrill rotate: false - xy: 533, 181 + xy: 667, 202 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/water rotate: false - xy: 535, 161 + xy: 677, 212 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/wateredge rotate: false - xy: 722, 385 + xy: 577, 193 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/waveturret rotate: false - xy: 748, 370 + xy: 154, 81 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1231,21 +1231,21 @@ blocks/weaponfactory index: -1 blocks/weaponfactory-icon rotate: false - xy: 535, 151 + xy: 677, 202 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bullet rotate: false - xy: 800, 384 + xy: 250, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 chainbullet rotate: false - xy: 736, 359 + xy: 114, 81 size: 8, 7 orig: 8, 7 offset: 0, 0 @@ -1392,91 +1392,91 @@ enemies/healerenemy-t3 index: -1 enemies/mortarenemy-t1 rotate: false - xy: 949, 431 + xy: 965, 447 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/mortarenemy-t2 rotate: false - xy: 965, 447 + xy: 965, 431 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/mortarenemy-t3 rotate: false - xy: 965, 431 + xy: 981, 447 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/rapidenemy-t1 rotate: false - xy: 981, 447 + xy: 981, 431 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/rapidenemy-t2 rotate: false - xy: 981, 431 + xy: 997, 447 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/rapidenemy-t3 rotate: false - xy: 997, 447 + xy: 997, 431 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/standardenemy-t1 rotate: false - xy: 997, 431 + xy: 592, 211 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/targetenemy-t1 rotate: false - xy: 997, 431 + xy: 592, 211 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/standardenemy-t2 rotate: false - xy: 156, 91 + xy: 549, 199 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 enemies/standardenemy-t3 rotate: false - xy: 722, 413 + xy: 563, 199 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 enemies/tankenemy-t1 rotate: false - xy: 592, 211 + xy: 608, 211 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/tankenemy-t2 rotate: false - xy: 608, 211 + xy: 519, 208 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/tankenemy-t3 rotate: false - xy: 519, 208 + xy: 519, 192 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -1504,70 +1504,70 @@ enemies/titanenemy-t3 index: -1 enemyarrow rotate: false - xy: 659, 283 + xy: 300, 86 size: 8, 7 orig: 8, 7 offset: 0, 0 index: -1 icon-coal rotate: false - xy: 290, 91 + xy: 430, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-dirium rotate: false - xy: 300, 95 + xy: 440, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-iron rotate: false - xy: 310, 95 + xy: 450, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-sand rotate: false - xy: 320, 95 + xy: 460, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-steel rotate: false - xy: 330, 95 + xy: 470, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-stone rotate: false - xy: 340, 95 + xy: 480, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-titanium rotate: false - xy: 350, 95 + xy: 624, 233 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-uranium rotate: false - xy: 360, 95 + xy: 624, 223 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laser rotate: false - xy: 577, 213 + xy: 533, 178 size: 1, 12 orig: 1, 12 offset: 0, 0 @@ -1588,42 +1588,42 @@ laserfull index: -1 mechs/mech-standard rotate: false - xy: 518, 124 + xy: 516, 108 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mechs/ship-standard rotate: false - xy: 563, 213 + xy: 549, 213 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 shell rotate: false - xy: 310, 85 + xy: 530, 106 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shot rotate: false - xy: 340, 85 + xy: 742, 382 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shot-long rotate: false - xy: 350, 85 + xy: 746, 372 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanshell rotate: false - xy: 460, 75 + xy: 674, 242 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1813,7 +1813,7 @@ ui/icons/icon-cancel index: -1 ui/icons/icon-chat rotate: false - xy: 580, 209 + xy: 591, 199 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1848,21 +1848,21 @@ ui/icons/icon-close-over index: -1 ui/icons/icon-crafting rotate: false - xy: 736, 416 + xy: 603, 199 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-cursor rotate: false - xy: 736, 404 + xy: 615, 199 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-defense rotate: false - xy: 736, 392 + xy: 142, 93 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1876,7 +1876,7 @@ ui/icons/icon-discord index: -1 ui/icons/icon-distribution rotate: false - xy: 748, 418 + xy: 154, 93 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1946,14 +1946,14 @@ ui/icons/icon-grid index: -1 ui/icons/icon-hold rotate: false - xy: 760, 418 + xy: 166, 93 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-holdDelete rotate: false - xy: 748, 406 + xy: 591, 187 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1974,7 +1974,7 @@ ui/icons/icon-host index: -1 ui/icons/icon-info rotate: false - xy: 772, 418 + xy: 603, 187 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2016,21 +2016,21 @@ ui/icons/icon-loading index: -1 ui/icons/icon-menu rotate: false - xy: 748, 394 + xy: 615, 187 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-none rotate: false - xy: 760, 406 + xy: 536, 185 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-pause rotate: false - xy: 784, 418 + xy: 536, 173 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2042,6 +2042,13 @@ ui/icons/icon-pencil orig: 16, 16 offset: 0, 0 index: -1 +ui/icons/icon-pencil-small + rotate: false + xy: 853, 427 + size: 14, 14 + orig: 14, 14 + offset: 0, 0 + index: -1 ui/icons/icon-pick rotate: false xy: 971, 495 @@ -2051,42 +2058,42 @@ ui/icons/icon-pick index: -1 ui/icons/icon-play rotate: false - xy: 760, 394 + xy: 535, 161 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-play-2 rotate: false - xy: 853, 427 + xy: 869, 446 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icons/icon-players rotate: false - xy: 772, 406 + xy: 535, 149 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-power rotate: false - xy: 796, 418 + xy: 535, 137 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-production rotate: false - xy: 772, 394 + xy: 722, 415 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-quit rotate: false - xy: 869, 446 + xy: 869, 430 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2100,14 +2107,14 @@ ui/icons/icon-redo index: -1 ui/icons/icon-refresh rotate: false - xy: 869, 430 + xy: 885, 447 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icons/icon-rename rotate: false - xy: 885, 447 + xy: 885, 431 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2121,35 +2128,35 @@ ui/icons/icon-resize index: -1 ui/icons/icon-rotate rotate: false - xy: 885, 431 + xy: 901, 447 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icons/icon-rotate-arrow rotate: false - xy: 901, 447 + xy: 901, 431 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icons/icon-rotate-left rotate: false - xy: 901, 431 + xy: 917, 447 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icons/icon-rotate-right rotate: false - xy: 917, 447 + xy: 917, 431 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icons/icon-save rotate: false - xy: 917, 431 + xy: 933, 447 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2170,7 +2177,7 @@ ui/icons/icon-save-map index: -1 ui/icons/icon-settings rotate: false - xy: 784, 406 + xy: 722, 403 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2184,28 +2191,28 @@ ui/icons/icon-terrain index: -1 ui/icons/icon-tools rotate: false - xy: 933, 447 + xy: 933, 431 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icons/icon-touch rotate: false - xy: 808, 418 + xy: 722, 391 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-touchDelete rotate: false - xy: 784, 394 + xy: 734, 416 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icons/icon-trash rotate: false - xy: 933, 431 + xy: 949, 447 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2219,7 +2226,7 @@ ui/icons/icon-trash-16 index: -1 ui/icons/icon-tutorial rotate: false - xy: 949, 447 + xy: 949, 431 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -2233,7 +2240,7 @@ ui/icons/icon-undo index: -1 ui/icons/icon-weapon rotate: false - xy: 796, 406 + xy: 734, 404 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2311,14 +2318,14 @@ ui/scroll-knob-vertical-black index: -1 ui/selection rotate: false - xy: 865, 459 + xy: 644, 215 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 ui/slider rotate: false - xy: 532, 128 + xy: 634, 277 size: 1, 8 orig: 1, 8 offset: 0, 0 @@ -2346,7 +2353,7 @@ ui/slider-knob-over index: -1 ui/slider-vertical rotate: false - xy: 724, 348 + xy: 869, 427 size: 8, 1 orig: 8, 1 offset: 0, 0 @@ -2420,35 +2427,35 @@ weapons/beam index: -1 weapons/blaster rotate: false - xy: 780, 374 + xy: 669, 282 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/clustergun rotate: false - xy: 800, 374 + xy: 260, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/shockgun rotate: false - xy: 330, 85 + xy: 542, 117 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/triblaster rotate: false - xy: 470, 75 + xy: 664, 222 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/vulcan rotate: false - xy: 535, 171 + xy: 667, 192 size: 8, 8 orig: 8, 8 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index d1aa09cfaf..f5415cebeb 100644 Binary files a/core/assets/sprites/sprites.png and b/core/assets/sprites/sprites.png differ diff --git a/core/src/io/anuke/mindustry/core/NetServer.java b/core/src/io/anuke/mindustry/core/NetServer.java index 5a96884e78..a20fa29e3a 100644 --- a/core/src/io/anuke/mindustry/core/NetServer.java +++ b/core/src/io/anuke/mindustry/core/NetServer.java @@ -47,7 +47,7 @@ public class NetServer extends Module{ Net.handleServer(ConnectPacket.class, (id, packet) -> { if(packet.version != Net.version){ - Net.kickConnection(id, KickReason.outdated); + Net.kickConnection(id, packet.version > Net.version ? KickReason.serverOutdated : KickReason.clientOutdated); return; } diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index 16c5fced1d..3727a9044a 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -96,6 +96,8 @@ public class Renderer extends RendererModule{ Graphics.setCameraScale(targetscale); control.input.resetCursor(); } + }else{ + camera.zoom = Mathf.lerp(camera.zoom, 1f, 0.2f * Timers.delta()); } if(GameState.is(State.menu)){ diff --git a/core/src/io/anuke/mindustry/net/Packets.java b/core/src/io/anuke/mindustry/net/Packets.java index 7fbf71f714..079d34ba9e 100644 --- a/core/src/io/anuke/mindustry/net/Packets.java +++ b/core/src/io/anuke/mindustry/net/Packets.java @@ -398,7 +398,7 @@ public class Packets { } public enum KickReason{ - kick, invalidPassword, outdated + kick, invalidPassword, clientOutdated, serverOutdated } public static class UpgradePacket implements Packet{ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java index dfbe7faa68..cf60e0de5d 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java @@ -74,36 +74,25 @@ public class LoadDialog extends FloatingDialog{ }); }).size(14*3).right(); - t.addImageButton("icon-dots", "empty", 14*3, () -> { - FloatingDialog dialog = new FloatingDialog("Save Options"); - dialog.addCloseButton(); - - dialog.content().defaults().left().uniformX().size(230f, 60f); - - dialog.content().addImageTextButton("$text.save.rename", "icon-rename", 14*3, () -> { - Vars.ui.showTextInput("$text.save.rename", "$text.save.rename.text", slot.getName(), text -> { - slot.setName(text); - dialog.hide(); - setup(); - }); + t.addImageButton("icon-pencil-small", "empty", 14*3, () -> { + Vars.ui.showTextInput("$text.save.rename", "$text.save.rename.text", slot.getName(), text -> { + slot.setName(text); + setup(); }); + }).size(14*3).right(); - dialog.content().row(); - - dialog.content().addImageTextButton("$text.save.export", "icon-load", 14*3, () -> { + if(!Vars.gwt) { + t.addImageButton("icon-save", "empty", 14 * 3, () -> { new FileChooser("$text.save.export", false, file -> { - try{ + try { slot.exportFile(file); setup(); - }catch (IOException e){ + } catch (IOException e) { Vars.ui.showError(Bundles.format("text.save.export.fail", Strings.parseException(e, false))); } - dialog.hide(); }).show(); - }); - - dialog.show(); - }).size(14*3).right(); + }).size(14 * 3).right(); + } }).padRight(-10).growX(); diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/LiquidCrafter.java b/core/src/io/anuke/mindustry/world/blocks/types/production/LiquidCrafter.java index abebd58e43..c0226c1cd8 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/LiquidCrafter.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/LiquidCrafter.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.world.blocks.types.production; import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Array; - import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.graphics.Fx; @@ -10,9 +10,9 @@ import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.resource.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.types.LiquidBlock; -import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Effects.Effect; +import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.util.Strings; public class LiquidCrafter extends LiquidBlock{ @@ -50,14 +50,16 @@ public class LiquidCrafter extends LiquidBlock{ @Override public void draw(Tile tile){ + Vector2 v = getPlaceOffset(); + LiquidEntity entity = tile.entity(); - Draw.rect(name(), tile.worldx(), tile.worldy()); + Draw.rect(name(), tile.worldx() + v.x, tile.worldy() + v.y); if(entity.liquid == null) return; Draw.color(entity.liquid.color); Draw.alpha(entity.liquidAmount / liquidCapacity); - Draw.rect("blank", tile.worldx(), tile.worldy(), 2, 2); + Draw.rect("blank", tile.worldx() + v.x, tile.worldy() + v.y, 2, 2); Draw.color(); }