diff --git a/core/assets-raw/sprites/weapons/blaster-equip.png b/core/assets-raw/sprites/weapons/blaster-equip.png index 4d31fe6f16..ad1be21eb2 100644 Binary files a/core/assets-raw/sprites/weapons/blaster-equip.png and b/core/assets-raw/sprites/weapons/blaster-equip.png differ diff --git a/core/assets-raw/sprites/weapons/generic-weapon.png b/core/assets-raw/sprites/weapons/generic-weapon.png new file mode 100644 index 0000000000..a5666eb817 Binary files /dev/null and b/core/assets-raw/sprites/weapons/generic-weapon.png differ diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index f10987385b..4bf0b8ee55 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -13,28 +13,28 @@ background index: -1 conveyormove rotate: false - xy: 415, 21 + xy: 667, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-arrow rotate: false - xy: 763, 364 + xy: 415, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-bridge rotate: false - xy: 763, 354 + xy: 415, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-end rotate: false - xy: 753, 350 + xy: 425, 21 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -55,14 +55,14 @@ ripple index: -1 poweredconveyormove rotate: false - xy: 667, 111 + xy: 971, 430 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyormove rotate: false - xy: 545, 101 + xy: 535, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -76,49 +76,49 @@ warpgate-top index: -1 irondrill rotate: false - xy: 871, 441 + xy: 325, 10 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill-rotator rotate: false - xy: 881, 441 + xy: 335, 20 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill-rotator rotate: false - xy: 881, 441 + xy: 335, 20 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill-top rotate: false - xy: 891, 443 + xy: 335, 10 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserdrill rotate: false - xy: 679, 205 + xy: 733, 223 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 laserdrill-rotator rotate: false - xy: 697, 205 + xy: 661, 215 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 laserdrill-top rotate: false - xy: 715, 205 + xy: 679, 205 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -209,84 +209,84 @@ plasmadrill-top index: -1 reinforceddrill rotate: false - xy: 475, 122 + xy: 769, 438 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill-rotator rotate: false - xy: 475, 112 + xy: 779, 439 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill-top rotate: false - xy: 485, 122 + xy: 789, 439 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill rotate: false - xy: 555, 101 + xy: 545, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill-rotator rotate: false - xy: 565, 101 + xy: 555, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill-top rotate: false - xy: 575, 101 + xy: 565, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill rotate: false - xy: 485, 92 + xy: 605, 100 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill-top rotate: false - xy: 495, 91 + xy: 615, 100 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 waterextractor rotate: false - xy: 715, 169 + xy: 679, 169 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-liquid rotate: false - xy: 733, 169 + xy: 697, 169 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-rotator rotate: false - xy: 661, 161 + xy: 715, 169 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-top rotate: false - xy: 679, 151 + xy: 733, 169 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -370,525 +370,525 @@ blackstoneedge index: -1 coal2 rotate: false - xy: 395, 1 + xy: 661, 151 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal3 rotate: false - xy: 405, 21 + xy: 651, 140 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt2 rotate: false - xy: 415, 1 + xy: 435, 115 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt3 rotate: false - xy: 425, 21 + xy: 435, 105 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirtedge rotate: false - xy: 612, 296 + xy: 572, 244 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 grass2 rotate: false - xy: 435, 21 + xy: 725, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass3 rotate: false - xy: 435, 11 + xy: 735, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassblock1 rotate: false - xy: 435, 1 + xy: 757, 147 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassblock2 rotate: false - xy: 441, 31 + xy: 733, 359 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassedge rotate: false - xy: 637, 138 + xy: 747, 398 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 ice2 rotate: false - xy: 445, 21 + xy: 731, 349 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice3 rotate: false - xy: 445, 11 + xy: 315, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iceedge rotate: false - xy: 197, 2 + xy: 291, 85 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 icerock2 rotate: false - xy: 445, 1 + xy: 315, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow1 rotate: false - xy: 222, 10 + xy: 315, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow1 rotate: false - xy: 222, 10 + xy: 315, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow2 rotate: false - xy: 831, 441 + xy: 315, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow2 rotate: false - xy: 831, 441 + xy: 315, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron2 rotate: false - xy: 851, 441 + xy: 325, 20 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron3 rotate: false - xy: 861, 441 + xy: 335, 30 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lavaedge rotate: false - xy: 749, 370 + xy: 305, 85 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 lead2 rotate: false - xy: 763, 344 + xy: 425, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead3 rotate: false - xy: 435, 125 + xy: 435, 31 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor2 rotate: false - xy: 445, 106 + xy: 891, 433 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor3 rotate: false - xy: 651, 160 + xy: 901, 433 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor4 rotate: false - xy: 651, 150 + xy: 911, 433 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor5 rotate: false - xy: 661, 151 + xy: 921, 433 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor6 rotate: false - xy: 651, 140 + xy: 931, 433 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalflooredge rotate: false - xy: 291, 85 + xy: 347, 85 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mossblock rotate: false - xy: 661, 141 + xy: 941, 433 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oiledge rotate: false - xy: 305, 85 + xy: 361, 85 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 rock2 rotate: false - xy: 455, 102 + xy: 809, 439 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand2 rotate: false - xy: 475, 102 + xy: 455, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand3 rotate: false - xy: 485, 102 + xy: 455, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock1 rotate: false - xy: 495, 111 + xy: 465, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock2 rotate: false - xy: 505, 111 + xy: 465, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock3 rotate: false - xy: 515, 111 + xy: 475, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandedge rotate: false - xy: 319, 85 + xy: 375, 85 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 shrubshadow rotate: false - xy: 565, 111 + xy: 465, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow2 rotate: false - xy: 495, 101 + xy: 485, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow3 rotate: false - xy: 505, 101 + xy: 495, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock1 rotate: false - xy: 515, 101 + xy: 505, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock2 rotate: false - xy: 525, 101 + xy: 515, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock3 rotate: false - xy: 535, 101 + xy: 525, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowedge rotate: false - xy: 375, 85 + xy: 289, 71 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 spaceedge rotate: false - xy: 389, 85 + xy: 289, 57 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 stone-cliff-edge rotate: false - xy: 585, 98 + xy: 505, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone-cliff-edge-1 rotate: false - xy: 595, 98 + xy: 515, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone-cliff-edge-2 rotate: false - xy: 605, 100 + xy: 525, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone-cliff-side rotate: false - xy: 615, 100 + xy: 535, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone2 rotate: false - xy: 585, 108 + xy: 575, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone3 rotate: false - xy: 595, 108 + xy: 495, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock1 rotate: false - xy: 625, 100 + xy: 545, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock2 rotate: false - xy: 635, 100 + xy: 555, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock3 rotate: false - xy: 645, 100 + xy: 565, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneedge rotate: false - xy: 289, 71 + xy: 303, 57 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 thorium2 rotate: false - xy: 445, 96 + xy: 585, 108 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium3 rotate: false - xy: 455, 92 + xy: 595, 108 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium2 rotate: false - xy: 465, 92 + xy: 585, 98 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium3 rotate: false - xy: 475, 92 + xy: 595, 98 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-edge rotate: false - xy: 565, 91 + xy: 465, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-edge-1 rotate: false - xy: 575, 91 + xy: 475, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-edge-2 rotate: false - xy: 585, 88 + xy: 485, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-side rotate: false - xy: 595, 88 + xy: 495, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 wateredge rotate: false - xy: 303, 57 + xy: 317, 57 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 block-border rotate: false - xy: 347, 51 + xy: 362, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-elevation rotate: false - xy: 357, 51 + xy: 372, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 combustion-generator-top rotate: false - xy: 357, 51 + xy: 372, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-middle rotate: false - xy: 375, 21 + xy: 617, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump-liquid rotate: false - xy: 375, 21 + xy: 617, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-slope rotate: false - xy: 391, 31 + xy: 627, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 border rotate: false - xy: 375, 11 + xy: 637, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-liquid rotate: false - xy: 405, 11 + xy: 661, 131 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-1 rotate: false - xy: 415, 11 + xy: 435, 125 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-2 rotate: false - xy: 345, 99 + xy: 309, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -909,7 +909,7 @@ cross-4 index: -1 enemyspawn rotate: false - xy: 431, 31 + xy: 445, 106 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -923,49 +923,49 @@ nuclearreactor-shadow index: -1 place-arrow rotate: false - xy: 661, 131 + xy: 951, 433 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 playerspawn rotate: false - xy: 661, 121 + xy: 961, 430 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ripples rotate: false - xy: 649, 243 + xy: 624, 265 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 rubble-1-0 rotate: false - xy: 715, 187 + xy: 679, 187 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-1-1 rotate: false - xy: 733, 187 + xy: 697, 187 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-2-0 rotate: false - xy: 661, 179 + xy: 715, 187 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-2-1 rotate: false - xy: 679, 169 + xy: 733, 187 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -986,7 +986,7 @@ rubble-3-1 index: -1 shadow-1 rotate: false - xy: 636, 277 + xy: 211, 4 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1028,7 +1028,7 @@ shadow-6 index: -1 shadow-round-1 rotate: false - xy: 636, 265 + xy: 431, 87 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1042,105 +1042,105 @@ shadow-round-2 index: -1 bridgeconduit-arrow rotate: false - xy: 375, 1 + xy: 647, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-bridge rotate: false - xy: 385, 21 + xy: 657, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-end rotate: false - xy: 401, 31 + xy: 763, 422 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-arrow rotate: false - xy: 385, 11 + xy: 763, 412 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-bridge rotate: false - xy: 385, 1 + xy: 764, 402 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-end rotate: false - xy: 395, 21 + xy: 765, 392 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-bottom rotate: false - xy: 421, 31 + xy: 661, 141 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-top rotate: false - xy: 405, 1 + xy: 661, 121 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-arrow rotate: false - xy: 763, 412 + xy: 405, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-bridge rotate: false - xy: 763, 402 + xy: 415, 21 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-end rotate: false - xy: 763, 374 + xy: 425, 31 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter rotate: false - xy: 435, 115 + xy: 435, 21 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-bottom rotate: false - xy: 435, 105 + xy: 435, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-liquid rotate: false - xy: 445, 126 + xy: 435, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-top rotate: false - xy: 445, 116 + xy: 437, 57 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1168,14 +1168,14 @@ liquidtank-top index: -1 pulseconduit-bottom rotate: false - xy: 455, 122 + xy: 981, 430 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-top rotate: false - xy: 455, 112 + xy: 991, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1280,7 +1280,7 @@ nuclear-reactor-lights index: -1 rtg-generator-top rotate: false - xy: 465, 102 + xy: 819, 439 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1385,123 +1385,130 @@ biomattercompressor-top index: -1 centrifuge-liquid rotate: false - xy: 309, 99 + xy: 207, 62 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cryofluidmixer-bottom rotate: false - xy: 713, 347 + xy: 399, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cryofluidmixer-liquid rotate: false - xy: 715, 313 + xy: 417, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cryofluidmixer-top rotate: false - xy: 715, 295 + xy: 713, 347 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cultivator rotate: false - xy: 733, 313 + xy: 715, 313 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cultivator-middle rotate: false - xy: 733, 295 + xy: 715, 295 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cultivator-top rotate: false - xy: 499, 121 + xy: 733, 313 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 extractor rotate: false - xy: 435, 41 + xy: 715, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lavasmelter rotate: false - xy: 751, 340 + xy: 425, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 plasteel-compressor-top rotate: false - xy: 733, 205 + xy: 697, 205 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 poweralloysmelter-top rotate: false - xy: 661, 197 + xy: 715, 205 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 powersmelter-top rotate: false - xy: 679, 187 + xy: 733, 205 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 silicon-smelter-top rotate: false - xy: 679, 187 + xy: 733, 205 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 pulverizer rotate: false - xy: 465, 122 + xy: 1001, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulverizer-rotator rotate: false - xy: 465, 112 + xy: 1011, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator-liquid rotate: false - xy: 525, 111 + xy: 475, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 siliconextractor rotate: false - xy: 575, 111 + xy: 475, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 +weaponfactory + rotate: false + xy: 697, 151 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 core-open rotate: false xy: 571, 157 @@ -1511,7 +1518,7 @@ core-open index: -1 block-1 rotate: false - xy: 337, 51 + xy: 352, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1574,35 +1581,35 @@ arc-heat index: -1 crux rotate: false - xy: 363, 99 + xy: 327, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 crux-heat rotate: false - xy: 381, 99 + xy: 345, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 crux-panel-left rotate: false - xy: 399, 99 + xy: 363, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 crux-panel-right rotate: false - xy: 417, 99 + xy: 381, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 duo rotate: false - xy: 425, 1 + xy: 445, 116 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1623,14 +1630,14 @@ spectre index: -1 lancer rotate: false - xy: 649, 267 + xy: 649, 219 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 lancer-heat rotate: false - xy: 649, 255 + xy: 624, 277 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1644,119 +1651,119 @@ meltdown index: -1 scatter rotate: false - xy: 649, 231 + xy: 636, 277 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 scatter-heat rotate: false - xy: 649, 219 + xy: 636, 265 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 scorch rotate: false - xy: 624, 277 + xy: 747, 157 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 scorch-shoot rotate: false - xy: 624, 265 + xy: 749, 373 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 swarmer rotate: false - xy: 697, 169 + xy: 661, 179 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 wave rotate: false - xy: 697, 151 + xy: 661, 161 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 wave-liquid rotate: false - xy: 715, 151 + xy: 679, 151 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 dronefactory-top rotate: false - xy: 535, 121 + xy: 499, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 walkerfactory-top rotate: false - xy: 535, 121 + xy: 499, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 dronefactory-top-open rotate: false - xy: 553, 121 + xy: 517, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 walkerfactory-top-open rotate: false - xy: 553, 121 + xy: 517, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 reconstructor-open rotate: false - xy: 697, 187 + xy: 661, 197 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 repairpoint-turret rotate: false - xy: 485, 112 + xy: 799, 439 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 door-large-open rotate: false - xy: 517, 121 + xy: 733, 295 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 door-open rotate: false - xy: 425, 11 + xy: 445, 126 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stonewall rotate: false - xy: 655, 100 + xy: 575, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumshieldwall rotate: false - xy: 505, 91 + xy: 625, 100 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1819,14 +1826,14 @@ enemyarrow index: -1 error rotate: false - xy: 623, 138 + xy: 637, 138 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 laser rotate: false - xy: 431, 85 + xy: 761, 398 size: 1, 12 orig: 1, 12 offset: 0, 0 @@ -1847,7 +1854,7 @@ laserfull index: -1 minelaser rotate: false - xy: 434, 85 + xy: 1021, 499 size: 1, 12 orig: 1, 12 offset: 0, 0 @@ -1875,21 +1882,21 @@ shell-back index: -1 shot rotate: false - xy: 555, 111 + xy: 455, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 transfer rotate: false - xy: 1021, 499 + xy: 1017, 459 size: 1, 12 orig: 1, 12 offset: 0, 0 index: -1 transfer-arrow rotate: false - xy: 515, 91 + xy: 635, 100 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1917,28 +1924,28 @@ block-icon-biomattercompressor index: -1 block-icon-bridgeconduit rotate: false - xy: 367, 51 + xy: 382, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit rotate: false - xy: 367, 51 + xy: 382, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-bridgeconveyor rotate: false - xy: 377, 51 + xy: 392, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor rotate: false - xy: 377, 51 + xy: 392, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1959,49 +1966,49 @@ centrifuge index: -1 block-icon-coal rotate: false - xy: 387, 51 + xy: 402, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal1 rotate: false - xy: 387, 51 + xy: 402, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-combustion-generator rotate: false - xy: 397, 51 + xy: 412, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 combustion-generator rotate: false - xy: 397, 51 + xy: 412, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-conduit rotate: false - xy: 407, 51 + xy: 422, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-conveyor rotate: false - xy: 417, 51 + xy: 747, 147 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor rotate: false - xy: 417, 51 + xy: 747, 147 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2020,37 +2027,30 @@ core orig: 24, 24 offset: 0, 0 index: -1 -block-icon-crux +block-icon-cryofluidmixer rotate: false xy: 571, 139 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 -block-icon-cryofluidmixer +block-icon-cultivator rotate: false xy: 623, 188 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 -block-icon-cultivator - rotate: false - xy: 623, 170 - size: 16, 16 - orig: 16, 16 - offset: 0, 0 - index: -1 block-icon-deepwater rotate: false - xy: 427, 51 + xy: 749, 363 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deepwater rotate: false - xy: 427, 51 + xy: 749, 363 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2099,42 +2099,42 @@ block-icon-phase-wall index: -1 block-icon-deflector-wall-large rotate: false - xy: 623, 152 + xy: 623, 170 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 deflector-wall-large rotate: false - xy: 623, 152 + xy: 623, 170 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 duriumwall-large rotate: false - xy: 623, 152 + xy: 623, 170 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 phase-wall-large rotate: false - xy: 623, 152 + xy: 623, 170 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-duriumwall-large rotate: false - xy: 623, 152 + xy: 623, 170 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-phase-wall-large rotate: false - xy: 623, 152 + xy: 623, 170 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2169,21 +2169,21 @@ door index: -1 block-icon-door-large rotate: false - xy: 697, 365 + xy: 623, 152 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 door-large rotate: false - xy: 697, 365 + xy: 623, 152 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-dronefactory rotate: false - xy: 695, 347 + xy: 697, 365 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2216,13 +2216,6 @@ block-icon-fuse orig: 24, 24 offset: 0, 0 index: -1 -block-icon-spectre - rotate: false - xy: 586, 284 - size: 24, 24 - orig: 24, 24 - offset: 0, 0 - index: -1 block-icon-fusion-reactor rotate: false xy: 37, 8 @@ -2246,140 +2239,140 @@ grass1 index: -1 block-icon-ice rotate: false - xy: 315, 41 + xy: 427, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice1 rotate: false - xy: 315, 41 + xy: 427, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-icerock rotate: false - xy: 325, 41 + xy: 427, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerock1 rotate: false - xy: 325, 41 + xy: 427, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-incinerator rotate: false - xy: 335, 41 + xy: 235, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 incinerator rotate: false - xy: 335, 41 + xy: 235, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-iron rotate: false - xy: 345, 41 + xy: 245, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron1 rotate: false - xy: 345, 41 + xy: 245, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-irondrill rotate: false - xy: 355, 41 + xy: 235, 15 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-ironwall rotate: false - xy: 365, 41 + xy: 245, 15 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ironwall rotate: false - xy: 365, 41 + xy: 245, 15 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-ironwall-large rotate: false - xy: 715, 367 + xy: 695, 347 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 ironwall-large rotate: false - xy: 715, 367 + xy: 695, 347 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-itemsource rotate: false - xy: 375, 41 + xy: 255, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemsource rotate: false - xy: 375, 41 + xy: 255, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-itemvoid rotate: false - xy: 385, 41 + xy: 265, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemvoid rotate: false - xy: 385, 41 + xy: 265, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-junction rotate: false - xy: 395, 41 + xy: 275, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 junction rotate: false - xy: 395, 41 + xy: 275, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-lancer rotate: false - xy: 697, 313 + xy: 715, 367 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2400,98 +2393,98 @@ large-solar-panel index: -1 block-icon-laserconduit rotate: false - xy: 405, 41 + xy: 285, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit rotate: false - xy: 405, 41 + xy: 285, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-laserconveyor rotate: false - xy: 415, 41 + xy: 295, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor rotate: false - xy: 415, 41 + xy: 295, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-laserdrill rotate: false - xy: 679, 295 + xy: 697, 313 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-lava rotate: false - xy: 425, 41 + xy: 305, 21 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lava rotate: false - xy: 425, 41 + xy: 305, 21 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-lead rotate: false - xy: 235, 25 + xy: 437, 77 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead1 rotate: false - xy: 235, 25 + xy: 437, 77 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-liquidjunction rotate: false - xy: 245, 25 + xy: 437, 67 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidjunction rotate: false - xy: 245, 25 + xy: 437, 67 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-liquidrouter rotate: false - xy: 235, 15 + xy: 223, 10 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-liquidsource rotate: false - xy: 245, 15 + xy: 255, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidsource rotate: false - xy: 245, 15 + xy: 255, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2526,14 +2519,14 @@ core-top index: -1 block-icon-mechanical-pump rotate: false - xy: 255, 19 + xy: 265, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 mechanical-pump rotate: false - xy: 255, 19 + xy: 265, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2547,42 +2540,42 @@ block-icon-meltdown index: -1 block-icon-melter rotate: false - xy: 265, 19 + xy: 275, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 melter rotate: false - xy: 265, 19 + xy: 275, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-metalfloor rotate: false - xy: 275, 19 + xy: 285, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor1 rotate: false - xy: 275, 19 + xy: 285, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-multiplexer rotate: false - xy: 697, 295 + xy: 679, 295 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 multiplexer rotate: false - xy: 697, 295 + xy: 679, 295 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2610,14 +2603,14 @@ block-icon-nucleardrill index: -1 block-icon-oil rotate: false - xy: 255, 9 + xy: 295, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oil rotate: false - xy: 255, 9 + xy: 295, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2631,28 +2624,28 @@ block-icon-oilextractor index: -1 block-icon-oilrefinery rotate: false - xy: 265, 9 + xy: 305, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oilrefinery rotate: false - xy: 265, 9 + xy: 305, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-overflowgate rotate: false - xy: 275, 9 + xy: 305, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 overflowgate rotate: false - xy: 275, 9 + xy: 305, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2666,161 +2659,161 @@ block-icon-plasmadrill index: -1 block-icon-plasteel-compressor rotate: false - xy: 273, 109 + xy: 697, 295 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 plasteel-compressor rotate: false - xy: 273, 109 + xy: 697, 295 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-power-node rotate: false - xy: 285, 19 + xy: 761, 376 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 power-node rotate: false - xy: 285, 19 + xy: 761, 376 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-power-node-large rotate: false - xy: 291, 117 + xy: 273, 109 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 power-node-large rotate: false - xy: 291, 117 + xy: 273, 109 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-poweredconveyor rotate: false - xy: 285, 9 + xy: 329, 40 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 poweredconveyor rotate: false - xy: 285, 9 + xy: 329, 40 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-powerinfinite rotate: false - xy: 295, 21 + xy: 233, 5 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powerinfinite rotate: false - xy: 295, 21 + xy: 233, 5 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-powervoid rotate: false - xy: 295, 11 + xy: 243, 5 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powervoid rotate: false - xy: 295, 11 + xy: 243, 5 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-pulseconduit rotate: false - xy: 295, 1 + xy: 761, 366 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-pulverizer rotate: false - xy: 301, 31 + xy: 339, 40 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-reconstructor rotate: false - xy: 309, 117 + xy: 291, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 dronefactory rotate: false - xy: 309, 117 + xy: 291, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 reconstructor rotate: false - xy: 309, 117 + xy: 291, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 walkerfactory rotate: false - xy: 309, 117 + xy: 291, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-reinforceddrill rotate: false - xy: 305, 21 + xy: 349, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-repairpoint rotate: false - xy: 305, 11 + xy: 359, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 repairpoint rotate: false - xy: 305, 11 + xy: 359, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-resupplypoint rotate: false - xy: 305, 1 + xy: 369, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 resupplypoint rotate: false - xy: 305, 1 + xy: 369, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2834,427 +2827,427 @@ block-icon-ripple index: -1 block-icon-rock rotate: false - xy: 311, 31 + xy: 379, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rock1 rotate: false - xy: 311, 31 + xy: 379, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-rotary-pump rotate: false - xy: 327, 117 + xy: 309, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rotary-pump rotate: false - xy: 327, 117 + xy: 309, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-router rotate: false - xy: 321, 31 + xy: 389, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 router rotate: false - xy: 321, 31 + xy: 389, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-rtg-generator rotate: false - xy: 315, 21 + xy: 399, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtg-generator rotate: false - xy: 315, 21 + xy: 399, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-sand rotate: false - xy: 331, 31 + xy: 409, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand1 rotate: false - xy: 331, 31 + xy: 409, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-scatter rotate: false - xy: 315, 11 + xy: 419, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-scorch rotate: false - xy: 315, 1 + xy: 429, 41 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-separator rotate: false - xy: 325, 21 + xy: 831, 441 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator rotate: false - xy: 325, 21 + xy: 831, 441 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-shrub rotate: false - xy: 341, 31 + xy: 841, 441 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shrub rotate: false - xy: 341, 31 + xy: 841, 441 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-silicon-smelter rotate: false - xy: 345, 117 + xy: 327, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 silicon-smelter rotate: false - xy: 345, 117 + xy: 327, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-smelter rotate: false - xy: 325, 11 + xy: 851, 441 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 smelter rotate: false - xy: 325, 11 + xy: 851, 441 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-snow rotate: false - xy: 325, 1 + xy: 861, 441 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow1 rotate: false - xy: 325, 1 + xy: 861, 441 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-solar-panel rotate: false - xy: 335, 21 + xy: 871, 441 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 solar-panel rotate: false - xy: 335, 21 + xy: 871, 441 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-sortedunloader rotate: false - xy: 351, 31 + xy: 881, 441 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sortedunloader rotate: false - xy: 351, 31 + xy: 881, 441 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-sorter rotate: false - xy: 335, 11 + xy: 891, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sorter rotate: false - xy: 335, 11 + xy: 891, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-space rotate: false - xy: 335, 1 + xy: 901, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 space rotate: false - xy: 335, 1 + xy: 901, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-splitter rotate: false - xy: 345, 21 + xy: 911, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 splitter rotate: false - xy: 345, 21 + xy: 911, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-steelconveyor rotate: false - xy: 361, 31 + xy: 921, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyor rotate: false - xy: 361, 31 + xy: 921, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-steeldrill rotate: false - xy: 345, 11 + xy: 931, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-steelwall rotate: false - xy: 345, 1 + xy: 941, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelwall rotate: false - xy: 345, 1 + xy: 941, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-steelwall-large rotate: false - xy: 363, 117 + xy: 345, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 steelwall-large rotate: false - xy: 363, 117 + xy: 345, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-stone rotate: false - xy: 355, 21 + xy: 951, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone1 rotate: false - xy: 355, 21 + xy: 951, 443 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-stoneformer rotate: false - xy: 371, 31 + xy: 961, 440 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneformer rotate: false - xy: 371, 31 + xy: 961, 440 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-swarmer rotate: false - xy: 381, 117 + xy: 363, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-thermal-generator rotate: false - xy: 399, 117 + xy: 381, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 thermal-generator rotate: false - xy: 399, 117 + xy: 381, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-thermal-pump rotate: false - xy: 417, 117 + xy: 399, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 thermal-pump rotate: false - xy: 417, 117 + xy: 399, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-thorium rotate: false - xy: 355, 11 + xy: 971, 440 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium1 rotate: false - xy: 355, 11 + xy: 971, 440 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-titanium rotate: false - xy: 355, 1 + xy: 981, 440 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium1 rotate: false - xy: 355, 1 + xy: 981, 440 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-titaniumdrill rotate: false - xy: 365, 21 + xy: 991, 437 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-titaniumwall rotate: false - xy: 381, 31 + xy: 1001, 437 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumwall rotate: false - xy: 381, 31 + xy: 1001, 437 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-titaniumwall-large rotate: false - xy: 213, 98 + xy: 417, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 titaniumwall-large rotate: false - xy: 213, 98 + xy: 417, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-turbine-generator rotate: false - xy: 231, 99 + xy: 213, 98 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 turbine-generator rotate: false - xy: 231, 99 + xy: 213, 98 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-unloader rotate: false - xy: 365, 11 + xy: 1011, 437 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 unloader rotate: false - xy: 365, 11 + xy: 1011, 437 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3289,245 +3282,245 @@ warpgate index: -1 block-icon-water rotate: false - xy: 365, 1 + xy: 607, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water rotate: false - xy: 365, 1 + xy: 607, 110 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-icon-waterextractor rotate: false - xy: 207, 80 + xy: 231, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-icon-wave rotate: false - xy: 207, 62 + xy: 207, 80 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 -block-icon-weaponfactory +mech-icon-standard-mech rotate: false - xy: 291, 99 - size: 16, 16 - orig: 16, 16 + xy: 319, 85 + size: 12, 12 + orig: 12, 12 offset: 0, 0 index: -1 -weaponfactory +mech-icon-standard-ship rotate: false - xy: 291, 99 - size: 16, 16 - orig: 16, 16 + xy: 333, 85 + size: 12, 12 + orig: 12, 12 offset: 0, 0 index: -1 item-armor-piercing-bullet rotate: false - xy: 901, 443 + xy: 345, 30 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-composite-flak rotate: false - xy: 941, 443 + xy: 355, 21 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-explosive-shell rotate: false - xy: 951, 443 + xy: 365, 31 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-frag-shell rotate: false - xy: 961, 440 + xy: 355, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-homing-bullet rotate: false - xy: 971, 440 + xy: 355, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-incendiary-mortar-shell rotate: false - xy: 981, 440 + xy: 365, 21 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-lead-bullet rotate: false - xy: 1011, 437 + xy: 365, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-scythe-missile rotate: false - xy: 637, 110 + xy: 375, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-surge-mortar-shell rotate: false - xy: 733, 359 + xy: 395, 21 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-swarm-missile rotate: false - xy: 731, 349 + xy: 405, 31 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thorium-shell rotate: false - xy: 753, 360 + xy: 405, 21 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-tracer-bullet rotate: false - xy: 763, 422 + xy: 405, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-biomatter rotate: false - xy: 911, 443 + xy: 345, 20 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-blast-compound rotate: false - xy: 921, 443 + xy: 345, 10 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-coal rotate: false - xy: 931, 443 + xy: 355, 31 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-iron rotate: false - xy: 991, 437 + xy: 375, 31 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-lead rotate: false - xy: 1001, 437 + xy: 365, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-phase-matter rotate: false - xy: 607, 110 + xy: 375, 21 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-plasteel rotate: false - xy: 617, 110 + xy: 385, 31 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-sand rotate: false - xy: 627, 110 + xy: 375, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 647, 110 + xy: 385, 21 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-steel rotate: false - xy: 657, 110 + xy: 395, 31 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-stone rotate: false - xy: 733, 143 + xy: 385, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-surge-alloy rotate: false - xy: 743, 143 + xy: 385, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thermite rotate: false - xy: 743, 359 + xy: 395, 11 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 741, 349 + xy: 395, 1 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 741, 339 + xy: 415, 31 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 standard-mech rotate: false - xy: 403, 85 + xy: 303, 71 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-ship rotate: false - xy: 417, 85 + xy: 289, 43 size: 12, 12 orig: 12, 12 offset: 0, 0 @@ -3676,7 +3669,7 @@ check-over index: -1 clear rotate: false - xy: 753, 384 + xy: 331, 73 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -3704,7 +3697,7 @@ discord-banner-over index: -1 controller-cursor rotate: false - xy: 327, 99 + xy: 291, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -3739,56 +3732,56 @@ icon-admin-small index: -1 icon-areaDelete rotate: false - xy: 317, 73 + xy: 303, 31 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow rotate: false - xy: 571, 121 + xy: 535, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-arrow-16 rotate: false - xy: 571, 121 + xy: 535, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-arrow-down rotate: false - xy: 289, 31 + xy: 317, 45 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-left rotate: false - xy: 303, 45 + xy: 331, 61 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-right rotate: false - xy: 317, 61 + xy: 343, 73 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-up rotate: false - xy: 329, 73 + xy: 343, 61 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-back rotate: false - xy: 589, 136 + xy: 553, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -3802,49 +3795,49 @@ icon-ban index: -1 icon-break rotate: false - xy: 589, 118 + xy: 571, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-cancel rotate: false - xy: 607, 120 + xy: 589, 136 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-chat rotate: false - xy: 329, 61 + xy: 355, 73 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-check rotate: false - xy: 625, 120 + xy: 589, 118 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-crafting rotate: false - xy: 341, 73 + xy: 355, 61 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-cursor rotate: false - xy: 341, 61 + xy: 367, 73 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-defense rotate: false - xy: 353, 73 + xy: 367, 61 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -3865,7 +3858,7 @@ icon-discord index: -1 icon-distribution rotate: false - xy: 353, 61 + xy: 379, 73 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -3900,14 +3893,14 @@ icon-egg index: -1 icon-elevation rotate: false - xy: 643, 120 + xy: 607, 120 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-eraser rotate: false - xy: 661, 287 + xy: 625, 120 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -3921,14 +3914,14 @@ icon-exit index: -1 icon-file rotate: false - xy: 679, 277 + xy: 643, 120 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-file-image rotate: false - xy: 697, 277 + xy: 661, 287 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -3942,434 +3935,434 @@ icon-file-text index: -1 icon-fill rotate: false - xy: 715, 277 + xy: 679, 277 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-floppy rotate: false - xy: 733, 153 + xy: 715, 153 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-floppy-16 rotate: false - xy: 733, 277 + xy: 697, 277 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-folder rotate: false - xy: 737, 428 + xy: 731, 153 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-folder-parent rotate: false - xy: 731, 412 + xy: 737, 428 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-github rotate: false - xy: 731, 396 + xy: 731, 412 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-google-play rotate: false - xy: 753, 432 + xy: 731, 396 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-grid rotate: false - xy: 661, 269 + xy: 715, 277 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-hold rotate: false - xy: 365, 73 + xy: 379, 61 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-holdDelete rotate: false - xy: 365, 61 + xy: 391, 73 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-home rotate: false - xy: 733, 369 + xy: 753, 432 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-host rotate: false - xy: 225, 82 + xy: 733, 369 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-info rotate: false - xy: 377, 73 + xy: 391, 61 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-itch.io rotate: false - xy: 225, 66 + xy: 225, 82 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-items-none rotate: false - xy: 841, 441 + xy: 325, 30 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-line rotate: false - xy: 679, 259 + xy: 733, 277 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-link rotate: false - xy: 241, 83 + xy: 225, 66 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-liquid rotate: false - xy: 377, 61 + xy: 403, 73 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-load rotate: false - xy: 241, 67 + xy: 241, 83 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-load-image rotate: false - xy: 697, 259 + xy: 661, 269 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-load-map rotate: false - xy: 715, 259 + xy: 679, 259 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-loading rotate: false - xy: 733, 259 + xy: 697, 259 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-logic rotate: false - xy: 389, 73 + xy: 403, 61 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu rotate: false - xy: 389, 61 + xy: 415, 73 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu-large rotate: false - xy: 661, 251 + xy: 715, 259 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-none rotate: false - xy: 401, 73 + xy: 415, 61 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pause rotate: false - xy: 401, 61 + xy: 753, 386 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pencil rotate: false - xy: 679, 241 + xy: 733, 259 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-pencil-small rotate: false - xy: 259, 93 + xy: 241, 67 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-pick rotate: false - xy: 697, 241 + xy: 661, 251 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-play rotate: false - xy: 413, 73 + xy: 641, 194 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-play-2 rotate: false - xy: 275, 93 + xy: 259, 93 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-players rotate: false - xy: 413, 61 + xy: 641, 182 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-power rotate: false - xy: 425, 73 + xy: 641, 170 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-production rotate: false - xy: 425, 61 + xy: 626, 289 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-quit rotate: false - xy: 257, 77 + xy: 275, 93 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-redo rotate: false - xy: 715, 241 + xy: 679, 241 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-refresh rotate: false - xy: 273, 77 + xy: 257, 77 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rename rotate: false - xy: 257, 61 + xy: 273, 77 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-resize rotate: false - xy: 733, 241 + xy: 697, 241 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-rotate rotate: false - xy: 273, 61 + xy: 257, 61 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-arrow rotate: false - xy: 241, 51 + xy: 273, 61 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-left rotate: false - xy: 225, 50 + xy: 241, 51 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-right rotate: false - xy: 257, 45 + xy: 225, 50 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save rotate: false - xy: 273, 45 + xy: 257, 45 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save-image rotate: false - xy: 661, 233 + xy: 715, 241 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-save-map rotate: false - xy: 679, 223 + xy: 733, 241 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-settings rotate: false - xy: 641, 194 + xy: 638, 289 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-terrain rotate: false - xy: 697, 223 + xy: 661, 233 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-tools rotate: false - xy: 241, 35 + xy: 273, 45 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-touch rotate: false - xy: 641, 182 + xy: 649, 267 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-touchDelete rotate: false - xy: 641, 170 + xy: 649, 255 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-trash rotate: false - xy: 257, 29 + xy: 241, 35 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-trash-16 rotate: false - xy: 715, 223 + xy: 679, 223 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-trello rotate: false - xy: 273, 29 + xy: 257, 29 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-tutorial rotate: false - xy: 633, 216 + xy: 273, 29 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-undo rotate: false - xy: 733, 223 + xy: 697, 223 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-units rotate: false - xy: 626, 289 + xy: 649, 243 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-weapon rotate: false - xy: 638, 289 + xy: 649, 231 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-wiki rotate: false - xy: 747, 412 + xy: 633, 216 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-zoom rotate: false - xy: 661, 215 + xy: 715, 223 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-zoom-small rotate: false - xy: 747, 396 + xy: 747, 412 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -4542,70 +4535,70 @@ window-empty index: -1 drone rotate: false - xy: 572, 244 + xy: 623, 138 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 scout rotate: false - xy: 333, 85 + xy: 389, 85 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 scout-base rotate: false - xy: 347, 85 + xy: 403, 85 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-mech-base rotate: false - xy: 347, 85 + xy: 403, 85 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 scout-leg rotate: false - xy: 361, 85 + xy: 417, 85 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-mech-leg rotate: false - xy: 361, 85 + xy: 417, 85 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol rotate: false - xy: 289, 57 + xy: 317, 71 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol-booster-1 rotate: false - xy: 303, 71 + xy: 289, 29 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol-booster-2 rotate: false - xy: 289, 43 + xy: 303, 43 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol-flame rotate: false - xy: 211, 5 + xy: 331, 50 size: 9, 9 orig: 9, 9 offset: 0, 0 @@ -4619,70 +4612,77 @@ beam-equip index: -1 blaster rotate: false - xy: 317, 51 + xy: 342, 51 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blaster-equip rotate: false - xy: 327, 51 - size: 8, 8 - orig: 8, 8 + xy: 612, 296 + size: 12, 12 + orig: 12, 12 offset: 0, 0 index: -1 clustergun rotate: false - xy: 411, 31 + xy: 651, 160 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 clustergun-equip rotate: false - xy: 395, 11 + xy: 651, 150 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 +generic-weapon + rotate: false + xy: 197, 2 + size: 12, 12 + orig: 12, 12 + offset: 0, 0 + index: -1 shockgun rotate: false - xy: 535, 111 + xy: 485, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun-equip rotate: false - xy: 545, 111 + xy: 485, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster rotate: false - xy: 525, 91 + xy: 645, 100 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster-equip rotate: false - xy: 535, 91 + xy: 655, 100 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan rotate: false - xy: 545, 91 + xy: 445, 96 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan-equip rotate: false - xy: 555, 91 + xy: 455, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index c95542ff47..09aad14a24 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/content/Recipes.java b/core/src/io/anuke/mindustry/content/Recipes.java index 8857c82015..96ba047efe 100644 --- a/core/src/io/anuke/mindustry/content/Recipes.java +++ b/core/src/io/anuke/mindustry/content/Recipes.java @@ -77,7 +77,6 @@ public class Recipes implements ContentList{ new Recipe(crafting, CraftingBlocks.stoneFormer, new ItemStack(Items.steel, 10), new ItemStack(Items.iron, 10)); new Recipe(crafting, CraftingBlocks.melter, new ItemStack(Items.steel, 30), new ItemStack(Items.titanium, 15)); new Recipe(crafting, CraftingBlocks.incinerator, new ItemStack(Items.steel, 60), new ItemStack(Items.iron, 60)); - new Recipe(crafting, CraftingBlocks.weaponFactory, new ItemStack(Items.steel, 1), new ItemStack(Items.iron, 1)).setDesktop(); new Recipe(production, ProductionBlocks.ironDrill, new ItemStack(Items.iron, 25)); new Recipe(production, ProductionBlocks.reinforcedDrill, new ItemStack(Items.iron, 25)); diff --git a/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java b/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java index cc7431136a..e4b3176efa 100644 --- a/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java @@ -11,7 +11,7 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.production.*; public class CraftingBlocks extends BlockList implements ContentList { - public static Block smelter, arcsmelter, siliconsmelter, plasteelcompressor, phaseweaver, alloysmelter, alloyfuser, cryofluidmixer, melter, separator, centrifuge, biomatterCompressor, pulverizer, oilRefinery, stoneFormer, weaponFactory, incinerator; + public static Block smelter, arcsmelter, siliconsmelter, plasteelcompressor, phaseweaver, alloysmelter, alloyfuser, cryofluidmixer, melter, separator, centrifuge, biomatterCompressor, pulverizer, oilRefinery, stoneFormer, incinerator; @Override public void load() { @@ -215,11 +215,6 @@ public class CraftingBlocks extends BlockList implements ContentList { hasLiquids = hasItems = true; }}; - weaponFactory = new MechFactory("weaponfactory") {{ - size = 2; - health = 250; - }}; - incinerator = new Incinerator("incinerator") {{ health = 90; }}; diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index 09e385c2a8..2ab01756cc 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -282,12 +282,11 @@ public class Player extends Unit implements BuilderTrait, CarryTrait { Draw.rect(mech.region, x, y, rotation -90); for (int i : Mathf.signs) { - float tra = rotation - 90, - trX = 4*i, trY = 3 - mech.weapon.getRecoil(this, i > 0)*1.5f; - float w = i > 0 ? -8 : 8; + float tra = rotation - 90, trY = - mech.weapon.getRecoil(this, i > 0)*1.5f; + float w = i > 0 ? -12 : 12; Draw.rect(mech.weapon.equipRegion, - x + Angles.trnsx(tra, trX, trY), - y + Angles.trnsy(tra, trX, trY), w, 8, rotation - 90); + x + Angles.trnsx(tra, 0, trY), + y + Angles.trnsy(tra, 0, trY), w, 12, rotation - 90); } float backTrns = 4f, itemSize = 5f; diff --git a/core/src/io/anuke/mindustry/type/Mech.java b/core/src/io/anuke/mindustry/type/Mech.java index 4d54b931bb..93cf31060d 100644 --- a/core/src/io/anuke/mindustry/type/Mech.java +++ b/core/src/io/anuke/mindustry/type/Mech.java @@ -14,7 +14,7 @@ public class Mech extends Upgrade { public float armor = 1f; public Weapon weapon = Weapons.blaster; - public TextureRegion baseRegion, legRegion, region; + public TextureRegion baseRegion, legRegion, region, iconRegion; public Mech(String name, boolean flying){ super(name); @@ -29,5 +29,6 @@ public class Mech extends Upgrade { } region = Draw.region(name); + iconRegion = Draw.optional("mech-icon-"+ name); } } diff --git a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java index 1c0dc5826e..7a30518a25 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java @@ -69,7 +69,7 @@ public class CoreBlock extends StorageBlock { if(entity.currentPlayer != null) { Player player = entity.currentPlayer; - TextureRegion region = Draw.region(player.mech.name); + TextureRegion region = player.mech.iconRegion; Shaders.build.region = region; Shaders.build.progress = entity.progress; diff --git a/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java b/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java index 782a622100..f1e3c8f461 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java @@ -112,7 +112,7 @@ public class Reconstructor extends Block{ Player player = entity.current; - TextureRegion region = Draw.region(player.mech.name); + TextureRegion region = player.mech.iconRegion; Shaders.build.region = region; Shaders.build.progress = progress; @@ -253,6 +253,8 @@ public class Reconstructor extends Block{ entity.power.amount -= ((Reconstructor)tile.block()).powerPerTeleport; entity.updateTime = 1f; entity.set(tile.drawx(), tile.drawy()); + player.rotation = 90f; + player.baseRotation = 90f; player.setDead(true); player.setRespawning(true); player.setRespawning(); diff --git a/packer/build.gradle b/packer/build.gradle index 35c7524036..64b054f422 100644 --- a/packer/build.gradle +++ b/packer/build.gradle @@ -38,7 +38,7 @@ task cleanup(){ task generateSprites(dependsOn: classes, type: JavaExec) { file(textureFolder).mkdirs() - main = "io.anuke.mindustry.TextureGenerator" + main = "io.anuke.mindustry.PackerLauncher" classpath = sourceSets.main.runtimeClasspath standardInput = System.in workingDir = textureFolder diff --git a/packer/src/io/anuke/mindustry/Generators.java b/packer/src/io/anuke/mindustry/Generators.java new file mode 100644 index 0000000000..e6897c8409 --- /dev/null +++ b/packer/src/io/anuke/mindustry/Generators.java @@ -0,0 +1,61 @@ +package io.anuke.mindustry; + +import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.mindustry.type.Mech; +import io.anuke.mindustry.type.Upgrade; +import io.anuke.mindustry.world.Block; + +public class Generators { + + public static void generate(ImageContext context){ + + context.generate("block-icons", () -> { + for(Block block : Block.all()){ + TextureRegion[] regions = block.getBlockIcon(); + + if(regions.length == 0){ + continue; + } + + if(regions[0] == null){ + context.err("Error in block \"{0}\": null region!", block.name); + } + + Image image = context.get(regions[0]); + + for(TextureRegion region : regions){ + image.draw(region); + } + + image.save("block-icon-" + block.name); + } + }); + + context.generate("mech-icons", () -> { + for(Upgrade upgrade : Upgrade.all()){ + if(!(upgrade instanceof Mech)) continue; + + Mech mech = (Mech)upgrade; + + mech.load(); + mech.weapon.load(); + + Image image = context.get(mech.region); + + if(!mech.flying){ + image.draw(mech.baseRegion); + image.draw(mech.legRegion); + image.draw(mech.legRegion, true, false); + image.draw(mech.region); + } + + image.draw(mech.weapon.equipRegion, false, false); + image.draw(mech.weapon.equipRegion, true, false); + + + image.save("mech-icon-" + mech.name); + } + }); + } + +} diff --git a/packer/src/io/anuke/mindustry/Image.java b/packer/src/io/anuke/mindustry/Image.java new file mode 100644 index 0000000000..94a6fcbbc5 --- /dev/null +++ b/packer/src/io/anuke/mindustry/Image.java @@ -0,0 +1,88 @@ +package io.anuke.mindustry; + +import com.badlogic.gdx.graphics.g2d.TextureRegion; + +import javax.imageio.ImageIO; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; + +public class Image { + private static ArrayList toDispose = new ArrayList<>(); + + private BufferedImage atlas; + + private BufferedImage image; + private Graphics2D graphics; + + public Image(BufferedImage atlas, TextureRegion region){ + this.atlas = atlas; + + this.image = new BufferedImage(region.getRegionWidth(), region.getRegionHeight(), BufferedImage.TYPE_INT_ARGB); + this.graphics = image.createGraphics(); + + draw(region); + + toDispose.add(this); + } + + /**Draws a region at the top left corner.*/ + public void draw(TextureRegion region){ + draw(region, 0, 0, false, false); + } + + /**Draws an image at the top left corner.*/ + public void draw(Image image){ + graphics.drawImage(image.image, 0, 0, null); + } + + public void draw(TextureRegion region, boolean flipx, boolean flipy){ + draw(region, 0, 0, flipx, flipy); + } + + public void draw(TextureRegion region, int x, int y, boolean flipx, boolean flipy){ + int ofx = 0, ofy = 0; + + if(x < 0){ + ofx = x; + x = 0; + } + + if(y < 0){ + ofy = y; + y = 0; + } + + graphics.drawImage(atlas, + x, y, + x + region.getRegionWidth(), + y + region.getRegionHeight(), + (flipx ? region.getRegionX() + region.getRegionWidth() : region.getRegionX()) + ofx, + (flipy ? region.getRegionY() + region.getRegionHeight() : region.getRegionY()) + ofy, + (flipx ? region.getRegionX() : region.getRegionX() + region.getRegionWidth()) + ofx, + (flipy ? region.getRegionY() : region.getRegionY() + region.getRegionHeight()) + ofy, + null); + } + + /** @param name Name of texture file name to create, without any extensions.*/ + public void save(String name){ + try { + ImageIO.write(image, "png", new File(name + ".png")); + }catch (IOException e){ + throw new RuntimeException(e); + } + } + + public static int total(){ + return toDispose.size(); + } + + public static void dispose(){ + for(Image image : toDispose){ + image.graphics.dispose(); + } + toDispose.clear(); + } +} diff --git a/packer/src/io/anuke/mindustry/TextureGenerator.java b/packer/src/io/anuke/mindustry/ImageContext.java similarity index 57% rename from packer/src/io/anuke/mindustry/TextureGenerator.java rename to packer/src/io/anuke/mindustry/ImageContext.java index 5335849cfc..9a5a316f45 100644 --- a/packer/src/io/anuke/mindustry/TextureGenerator.java +++ b/packer/src/io/anuke/mindustry/ImageContext.java @@ -6,30 +6,27 @@ import com.badlogic.gdx.graphics.g2d.TextureAtlas.TextureAtlasData.Region; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.utils.ObjectMap; import io.anuke.mindustry.core.ContentLoader; -import io.anuke.mindustry.world.Block; import io.anuke.ucore.core.Core; +import io.anuke.ucore.core.Timers; import io.anuke.ucore.util.Atlas; import io.anuke.ucore.util.Log; +import io.anuke.ucore.util.Log.LogHandler; import io.anuke.ucore.util.Log.NoopLogHandler; import javax.imageio.ImageIO; -import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; -/**Used for generating extra textures before packing.*/ -public class TextureGenerator { - static BufferedImage image; - static Graphics2D graphics; +public class ImageContext { + private BufferedImage image; - public static void main(String[] args) throws Exception{ + public void load() throws IOException{ Log.setLogger(new NoopLogHandler()); - ContentLoader.load(); + Log.setLogger(new LogHandler()); String spritesFolder = new File("../../../assets/sprites").getAbsolutePath(); - TextureAtlasData data = new TextureAtlasData(new FileHandle(spritesFolder + "/sprites.atlas"), new FileHandle(spritesFolder), false); @@ -77,45 +74,24 @@ public class TextureGenerator { Core.atlas.setErrorRegion("error"); image = ImageIO.read(new File(spritesFolder + "/sprites.png")); - graphics = image.createGraphics(); - - generateBlocks(); } - /**Generates full block icons for use in the editor.*/ - static void generateBlocks() throws IOException { + public void generate(String name, Runnable run){ + Timers.mark(); + run.run(); + Log.info("&ly[Generator]&lc Time to generate &lm{0}&lc: &lg{1}&lcms", name, Timers.elapsed()); + } - for(Block block : Block.all()){ - TextureRegion[] regions = block.getBlockIcon(); + public Image get(String name){ + return get(Core.atlas.getRegion(name)); + } - if(regions.length == 0){ - continue; - } + public Image get(TextureRegion region){ + return new Image(image, region); + } - if(regions[0] == null){ - System.err.println("Error in block \"" + block.name + "\": null region!"); - System.exit(-1); - } - - BufferedImage target = new BufferedImage(regions[0].getRegionWidth(), regions[0].getRegionHeight(), BufferedImage.TYPE_INT_ARGB); - Graphics2D tg = target.createGraphics(); - - for(TextureRegion region : regions){ - - tg.drawImage(image, - 0, 0, - region.getRegionWidth(), - region.getRegionHeight(), - region.getRegionX(), - region.getRegionY(), - region.getRegionX() + region.getRegionWidth(), - region.getRegionY() + region.getRegionHeight(), - null); - } - - tg.dispose(); - - ImageIO.write(target, "png", new File("block-icon-" + block.name + ".png")); - } + public void err(String message, Object... args){ + Log.err(message, args); + System.exit(-1); } } diff --git a/packer/src/io/anuke/mindustry/PackerLauncher.java b/packer/src/io/anuke/mindustry/PackerLauncher.java new file mode 100644 index 0000000000..6e8205ab93 --- /dev/null +++ b/packer/src/io/anuke/mindustry/PackerLauncher.java @@ -0,0 +1,20 @@ +package io.anuke.mindustry; + +import io.anuke.ucore.core.Timers; +import io.anuke.ucore.util.Log; + +import java.io.IOException; + +public class PackerLauncher { + + public static void main(String[] args) throws IOException { + ImageContext context = new ImageContext(); + context.load(); + Timers.mark(); + Generators.generate(context); + Log.info("&ly[Generator]&lc Total time to generate: &lg{0}&lcms", Timers.elapsed()); + Log.info("&ly[Generator]&lc Total images created: &lg{0}", Image.total()); + Image.dispose(); + } + +}