diff --git a/core/assets-raw/sprites/blocks/extra/block-slope.png b/core/assets-raw/sprites/blocks/extra/block-slope.png new file mode 100644 index 0000000000..a9a7ce463d Binary files /dev/null and b/core/assets-raw/sprites/blocks/extra/block-slope.png differ diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index ef400f03ef..b589c25abd 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -162,6 +162,7 @@ text.unknown=Unknown text.custom=Custom text.builtin=Built-In text.map.delete.confirm=Are you sure you want to delete this map? This action cannot be undone! +text.editor.slope=\\ text.editor.openin=Open In Editor text.editor.oregen=Ore Generation text.editor.oregen.info=Ore Generation: diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 5fd6ee2819..5079d60268 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -13,196 +13,196 @@ background index: -1 bridgeconduit rotate: false - xy: 217, 56 + xy: 227, 59 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-arrow rotate: false - xy: 227, 59 + xy: 217, 46 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-bridge rotate: false - xy: 217, 46 + xy: 227, 49 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-end rotate: false - xy: 227, 49 + xy: 197, 30 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor rotate: false - xy: 197, 30 + xy: 197, 20 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-arrow rotate: false - xy: 197, 20 + xy: 197, 10 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-bridge rotate: false - xy: 197, 10 + xy: 207, 32 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-end rotate: false - xy: 207, 32 + xy: 217, 36 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-bottom rotate: false - xy: 227, 19 + xy: 747, 285 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-top rotate: false - xy: 673, 227 + xy: 685, 231 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduittunnel rotate: false - xy: 685, 231 + xy: 695, 231 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor rotate: false - xy: 695, 231 + xy: 759, 346 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyormove rotate: false - xy: 759, 346 + xy: 759, 336 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyortunnel rotate: false - xy: 759, 336 + xy: 821, 421 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 junction rotate: false - xy: 951, 409 + xy: 961, 419 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit rotate: false - xy: 961, 419 + xy: 951, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-arrow rotate: false - xy: 951, 399 + xy: 961, 409 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-bridge rotate: false - xy: 961, 409 + xy: 971, 419 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-end rotate: false - xy: 971, 419 + xy: 961, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor rotate: false - xy: 961, 399 + xy: 971, 409 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-arrow rotate: false - xy: 971, 409 + xy: 981, 419 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-bridge rotate: false - xy: 981, 419 + xy: 991, 419 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-end rotate: false - xy: 991, 419 + xy: 971, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidjunction rotate: false - xy: 1001, 408 + xy: 1001, 398 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter rotate: false - xy: 1001, 398 + xy: 1011, 418 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-bottom rotate: false - xy: 1011, 418 + xy: 1011, 408 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-liquid rotate: false - xy: 1011, 408 + xy: 1011, 398 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-top rotate: false - xy: 1011, 398 + xy: 683, 211 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -237,70 +237,70 @@ multiplexer index: -1 overflowgate rotate: false - xy: 789, 343 + xy: 789, 333 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 poweredconveyor rotate: false - xy: 799, 343 + xy: 799, 333 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 poweredconveyormove rotate: false - xy: 799, 333 + xy: 435, 125 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-bottom rotate: false - xy: 445, 126 + xy: 445, 116 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-top rotate: false - xy: 445, 116 + xy: 445, 106 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 router rotate: false - xy: 901, 387 + xy: 911, 387 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sorter rotate: false - xy: 465, 122 + xy: 455, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 splitter rotate: false - xy: 465, 112 + xy: 475, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyor rotate: false - xy: 475, 122 + xy: 465, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyormove rotate: false - xy: 465, 102 + xy: 475, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -377,49 +377,49 @@ blackstoneedge index: -1 coal1 rotate: false - xy: 207, 22 + xy: 217, 26 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal2 rotate: false - xy: 217, 26 + xy: 227, 29 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal3 rotate: false - xy: 227, 29 + xy: 207, 12 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deepwater rotate: false - xy: 821, 411 + xy: 821, 401 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt1 rotate: false - xy: 821, 401 + xy: 831, 423 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt2 rotate: false - xy: 831, 423 + xy: 841, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt3 rotate: false - xy: 841, 425 + xy: 831, 413 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -433,35 +433,35 @@ dirtedge index: -1 grass1 rotate: false - xy: 851, 405 + xy: 861, 415 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass2 rotate: false - xy: 861, 415 + xy: 861, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass3 rotate: false - xy: 861, 405 + xy: 871, 415 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassblock1 rotate: false - xy: 871, 415 + xy: 871, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassblock2 rotate: false - xy: 871, 405 + xy: 881, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -475,21 +475,21 @@ grassedge index: -1 ice1 rotate: false - xy: 881, 425 + xy: 881, 415 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice2 rotate: false - xy: 881, 415 + xy: 881, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice3 rotate: false - xy: 881, 405 + xy: 891, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -503,70 +503,70 @@ iceedge index: -1 icerock1 rotate: false - xy: 891, 427 + xy: 901, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerock2 rotate: false - xy: 901, 427 + xy: 891, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow1 rotate: false - xy: 891, 417 + xy: 911, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow1 rotate: false - xy: 891, 417 + xy: 911, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow2 rotate: false - xy: 911, 427 + xy: 891, 407 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow2 rotate: false - xy: 911, 427 + xy: 891, 407 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron1 rotate: false - xy: 921, 427 + xy: 901, 407 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron2 rotate: false - xy: 901, 407 + xy: 911, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron3 rotate: false - xy: 911, 417 + xy: 911, 407 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lava rotate: false - xy: 971, 399 + xy: 981, 409 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -580,63 +580,63 @@ lavaedge index: -1 lead1 rotate: false - xy: 981, 399 + xy: 991, 409 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead2 rotate: false - xy: 991, 409 + xy: 1001, 418 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead3 rotate: false - xy: 1001, 418 + xy: 991, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor1 rotate: false - xy: 703, 211 + xy: 775, 363 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor2 rotate: false - xy: 775, 363 + xy: 774, 353 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor3 rotate: false - xy: 774, 353 + xy: 769, 343 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor4 rotate: false - xy: 769, 343 + xy: 769, 333 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor5 rotate: false - xy: 769, 333 + xy: 779, 343 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor6 rotate: false - xy: 779, 343 + xy: 779, 333 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -650,14 +650,14 @@ metalflooredge index: -1 mossblock rotate: false - xy: 779, 333 + xy: 784, 353 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oil rotate: false - xy: 784, 353 + xy: 785, 363 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -671,56 +671,56 @@ oiledge index: -1 rock1 rotate: false - xy: 881, 385 + xy: 891, 387 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rock2 rotate: false - xy: 891, 387 + xy: 901, 387 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand1 rotate: false - xy: 931, 389 + xy: 941, 389 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand2 rotate: false - xy: 941, 389 + xy: 951, 389 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand3 rotate: false - xy: 951, 389 + xy: 961, 389 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock1 rotate: false - xy: 961, 389 + xy: 971, 389 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock2 rotate: false - xy: 971, 389 + xy: 981, 389 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock3 rotate: false - xy: 981, 389 + xy: 991, 389 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -734,56 +734,56 @@ sandedge index: -1 shrub rotate: false - xy: 723, 213 + xy: 733, 271 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shrubshadow rotate: false - xy: 733, 271 + xy: 733, 261 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow1 rotate: false - xy: 743, 265 + xy: 743, 255 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow2 rotate: false - xy: 743, 255 + xy: 753, 265 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow3 rotate: false - xy: 753, 265 + xy: 753, 255 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock1 rotate: false - xy: 753, 255 + xy: 743, 245 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock2 rotate: false - xy: 743, 245 + xy: 753, 245 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock3 rotate: false - xy: 753, 245 + xy: 455, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -797,7 +797,7 @@ snowedge index: -1 space rotate: false - xy: 455, 102 + xy: 465, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -811,70 +811,70 @@ spaceedge index: -1 stone-cliff-edge rotate: false - xy: 475, 92 + xy: 485, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone-cliff-edge-1 rotate: false - xy: 485, 92 + xy: 495, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone-cliff-edge-2 rotate: false - xy: 495, 111 + xy: 495, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone-cliff-side rotate: false - xy: 495, 101 + xy: 505, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone1 rotate: false - xy: 485, 102 + xy: 455, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone2 rotate: false - xy: 455, 92 + xy: 465, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone3 rotate: false - xy: 465, 92 + xy: 475, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock1 rotate: false - xy: 505, 111 + xy: 505, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock2 rotate: false - xy: 505, 101 + xy: 515, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock3 rotate: false - xy: 515, 111 + xy: 515, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -888,77 +888,77 @@ stoneedge index: -1 thorium1 rotate: false - xy: 535, 101 + xy: 545, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium2 rotate: false - xy: 545, 111 + xy: 545, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium3 rotate: false - xy: 545, 101 + xy: 555, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium1 rotate: false - xy: 555, 111 + xy: 555, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium2 rotate: false - xy: 555, 101 + xy: 565, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium3 rotate: false - xy: 565, 111 + xy: 565, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water rotate: false - xy: 525, 91 + xy: 535, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-edge rotate: false - xy: 535, 91 + xy: 545, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-edge-1 rotate: false - xy: 545, 91 + xy: 555, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-edge-2 rotate: false - xy: 555, 91 + xy: 565, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water-cliff-side rotate: false - xy: 565, 91 + xy: 575, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1005,23 +1005,30 @@ pump-liquid orig: 8, 8 offset: 0, 0 index: -1 -border +block-slope rotate: false xy: 227, 69 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 +border + rotate: false + xy: 217, 56 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 conduit-liquid rotate: false - xy: 747, 285 + xy: 673, 227 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-1 rotate: false - xy: 821, 421 + xy: 821, 411 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1049,7 +1056,7 @@ cross-4 index: -1 enemyspawn rotate: false - xy: 841, 405 + xy: 851, 415 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1063,14 +1070,14 @@ nuclearreactor-shadow index: -1 place-arrow rotate: false - xy: 789, 333 + xy: 794, 353 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 playerspawn rotate: false - xy: 794, 353 + xy: 799, 343 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1196,7 +1203,7 @@ batterylarge index: -1 combustiongenerator rotate: false - xy: 207, 12 + xy: 217, 16 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1266,7 +1273,7 @@ largesolarpanel index: -1 liquidcombustiongenerator rotate: false - xy: 991, 399 + xy: 1001, 408 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1294,14 +1301,14 @@ nuclearreactor-lights index: -1 powerinfinite rotate: false - xy: 435, 125 + xy: 435, 115 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powernode rotate: false - xy: 435, 115 + xy: 435, 105 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1315,28 +1322,28 @@ powernodelarge index: -1 powervoid rotate: false - xy: 435, 105 + xy: 445, 126 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtgenerator rotate: false - xy: 911, 387 + xy: 921, 387 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtgenerator-top rotate: false - xy: 921, 387 + xy: 931, 389 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shieldgenerator rotate: false - xy: 1011, 388 + xy: 713, 221 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1350,7 +1357,7 @@ shieldprojector index: -1 solarpanel rotate: false - xy: 455, 122 + xy: 455, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1371,7 +1378,7 @@ teleporter-top index: -1 thermalgenerator rotate: false - xy: 535, 111 + xy: 535, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1483,63 +1490,63 @@ cultivator-top index: -1 extractor rotate: false - xy: 851, 415 + xy: 871, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 fluxpump rotate: false - xy: 871, 425 + xy: 851, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 incinerator rotate: false - xy: 901, 417 + xy: 921, 427 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill rotate: false - xy: 911, 407 + xy: 921, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill-rotator rotate: false - xy: 921, 417 + xy: 921, 407 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill-rotator rotate: false - xy: 921, 417 + xy: 921, 407 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill-top rotate: false - xy: 921, 407 + xy: 821, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemsource rotate: false - xy: 951, 419 + xy: 941, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemvoid rotate: false - xy: 941, 399 + xy: 951, 409 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1567,21 +1574,21 @@ laserdrill-top index: -1 lavasmelter rotate: false - xy: 981, 409 + xy: 981, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidsource rotate: false - xy: 683, 211 + xy: 693, 211 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 melter rotate: false - xy: 693, 211 + xy: 703, 211 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1644,7 +1651,7 @@ oilextractor-top index: -1 oilrefinery rotate: false - xy: 785, 363 + xy: 789, 343 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1728,63 +1735,63 @@ siliconsmelter-top index: -1 pulverizer rotate: false - xy: 445, 106 + xy: 435, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulverizer-rotator rotate: false - xy: 435, 95 + xy: 445, 96 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump rotate: false - xy: 445, 96 + xy: 817, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill rotate: false - xy: 817, 381 + xy: 827, 381 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill-rotator rotate: false - xy: 827, 381 + xy: 841, 385 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill-top rotate: false - xy: 841, 385 + xy: 851, 385 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator rotate: false - xy: 991, 389 + xy: 1001, 388 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator-liquid rotate: false - xy: 1001, 388 + xy: 1011, 388 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 siliconextractor rotate: false - xy: 733, 261 + xy: 733, 251 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1798,56 +1805,56 @@ siliconsmelter index: -1 smelter rotate: false - xy: 733, 251 + xy: 743, 265 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill rotate: false - xy: 475, 112 + xy: 485, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill-rotator rotate: false - xy: 485, 122 + xy: 475, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill-top rotate: false - xy: 475, 102 + xy: 485, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stonedrill rotate: false - xy: 515, 101 + xy: 525, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneformer rotate: false - xy: 525, 111 + xy: 525, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill rotate: false - xy: 565, 101 + xy: 575, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill-top rotate: false - xy: 575, 111 + xy: 575, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1910,14 +1917,14 @@ core-top index: -1 sortedunloader rotate: false - xy: 455, 112 + xy: 465, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 unloader rotate: false - xy: 495, 91 + xy: 505, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2029,7 +2036,7 @@ crux-panel-right index: -1 duo rotate: false - xy: 831, 403 + xy: 861, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2169,42 +2176,42 @@ walkerfactory-top-open index: -1 droppoint rotate: false - xy: 841, 415 + xy: 831, 403 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 repairpoint rotate: false - xy: 851, 385 + xy: 861, 385 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 repairpoint-turret rotate: false - xy: 861, 385 + xy: 871, 385 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 resupplypoint rotate: false - xy: 871, 385 + xy: 881, 385 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 compositewall rotate: false - xy: 217, 16 + xy: 227, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 door rotate: false - xy: 831, 413 + xy: 851, 425 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2225,14 +2232,14 @@ door-large-open index: -1 door-open rotate: false - xy: 851, 425 + xy: 841, 415 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 duriumwall rotate: false - xy: 861, 425 + xy: 841, 405 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2246,14 +2253,14 @@ duriumwall-large index: -1 ironwall rotate: false - xy: 821, 391 + xy: 831, 393 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelwall rotate: false - xy: 485, 112 + xy: 485, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2267,21 +2274,21 @@ steelwall-large index: -1 stonewall rotate: false - xy: 525, 101 + xy: 535, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumshieldwall rotate: false - xy: 575, 101 + xy: 585, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumwall rotate: false - xy: 585, 111 + xy: 585, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2400,7 +2407,7 @@ shell-back index: -1 shot rotate: false - xy: 723, 223 + xy: 723, 213 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2414,7 +2421,7 @@ transfer index: -1 transfer-arrow rotate: false - xy: 585, 101 + xy: 595, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -2428,182 +2435,182 @@ transfer-end index: -1 item-armor-piercing-bullet rotate: false - xy: 831, 393 + xy: 841, 395 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-composite-flak rotate: false - xy: 871, 395 + xy: 881, 395 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-explosive-shell rotate: false - xy: 881, 395 + xy: 891, 397 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-frag-shell rotate: false - xy: 891, 397 + xy: 901, 397 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-homing-bullet rotate: false - xy: 901, 397 + xy: 911, 397 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-incendiary-mortar-shell rotate: false - xy: 911, 397 + xy: 921, 397 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-lead-bullet rotate: false - xy: 227, 9 + xy: 207, 2 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-scythe-missile rotate: false - xy: 673, 217 + xy: 683, 221 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-surge-mortar-shell rotate: false - xy: 715, 233 + xy: 725, 233 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-swarm-missile rotate: false - xy: 725, 233 + xy: 931, 419 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thorium-shell rotate: false - xy: 941, 419 + xy: 931, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-tracer-bullet rotate: false - xy: 941, 409 + xy: 951, 419 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-biomatter rotate: false - xy: 841, 395 + xy: 851, 395 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-blast-compound rotate: false - xy: 851, 395 + xy: 861, 395 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-coal rotate: false - xy: 861, 395 + xy: 871, 395 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-iron rotate: false - xy: 921, 397 + xy: 217, 6 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-lead rotate: false - xy: 217, 6 + xy: 227, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-plastic rotate: false - xy: 207, 2 + xy: 747, 275 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-sand rotate: false - xy: 747, 275 + xy: 673, 217 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 683, 221 + xy: 693, 221 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-steel rotate: false - xy: 693, 221 + xy: 705, 231 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-stone rotate: false - xy: 705, 231 + xy: 703, 221 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-surge-alloy rotate: false - xy: 703, 221 + xy: 715, 233 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thermite rotate: false - xy: 931, 419 + xy: 931, 409 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 931, 409 + xy: 941, 419 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 931, 399 + xy: 941, 409 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3130,7 +3137,7 @@ icon-itch.io index: -1 icon-items-none rotate: false - xy: 891, 407 + xy: 901, 417 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -3723,56 +3730,56 @@ blaster-equip index: -1 clustergun rotate: false - xy: 217, 36 + xy: 227, 39 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 clustergun-equip rotate: false - xy: 227, 39 + xy: 207, 22 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun rotate: false - xy: 713, 221 + xy: 713, 211 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun-equip rotate: false - xy: 713, 211 + xy: 723, 223 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster rotate: false - xy: 595, 111 + xy: 595, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster-equip rotate: false - xy: 595, 101 + xy: 495, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan rotate: false - xy: 505, 91 + xy: 515, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan-equip rotate: false - xy: 515, 91 + xy: 525, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 287d839890..f204ec4ccc 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/editor/MapEditorDialog.java b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java index 97e6a775b5..940bd2cf14 100644 --- a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java @@ -496,15 +496,14 @@ public class MapEditorDialog extends Dialog implements Disposable{ get().table("button", t -> { t.margin(0); - t.addImageButton("icon-arrow-left", 16*2f, () -> { - editor.setDrawElevation(editor.getDrawElevation() - 1); - }).disabled(b -> editor.getDrawElevation() <= 0).size(size); + t.addImageButton("icon-arrow-left", 16*2f, () -> editor.setDrawElevation(editor.getDrawElevation() - 1)) + .disabled(b -> editor.getDrawElevation() <= -1).size(size); - t.label(() -> editor.getDrawElevation() + "").size(size).get().setAlignment(Align.center, Align.center); + t.label(() -> editor.getDrawElevation() == -1 ? "$text.editor.slope" : (editor.getDrawElevation() + "")) + .size(size).get().setAlignment(Align.center, Align.center); - t.addImageButton("icon-arrow-right", 16*2f, () -> { - editor.setDrawElevation(editor.getDrawElevation() + 1); - }).disabled(b -> editor.getDrawElevation() >= 127).size(size); + t.addImageButton("icon-arrow-right", 16*2f, () -> editor.setDrawElevation(editor.getDrawElevation() + 1)) + .disabled(b -> editor.getDrawElevation() >= 127).size(size); }).colspan(3).height(size).padTop(-5).width(size*3f); }}.left().growY().end(); diff --git a/core/src/io/anuke/mindustry/editor/MapRenderer.java b/core/src/io/anuke/mindustry/editor/MapRenderer.java index 692348649f..cbd1bf09bc 100644 --- a/core/src/io/anuke/mindustry/editor/MapRenderer.java +++ b/core/src/io/anuke/mindustry/editor/MapRenderer.java @@ -71,6 +71,7 @@ public class MapRenderer implements Disposable{ add("clear", packer); add("block-border", packer); add("block-elevation", packer); + add("block-slope", packer); if(packer.getPages().size > 1){ throw new IllegalArgumentException("Pixmap packer may not have more than 1 page!"); @@ -213,6 +214,8 @@ public class MapRenderer implements Disposable{ }else if(elev > 0 && check){ mesh.setColor(tmpColor.fromHsv((360f * elev/127f * 4f) % 360f, 0.5f + (elev / 4f) % 0.5f, 1f)); region = regions.get("block-elevation"); + }else if(elev == -1){ + region = regions.get("block-slope"); }else{ region = regions.get("clear"); } diff --git a/core/src/io/anuke/mindustry/entities/Unit.java b/core/src/io/anuke/mindustry/entities/Unit.java index aeaebb2242..f7baa1fcb4 100644 --- a/core/src/io/anuke/mindustry/entities/Unit.java +++ b/core/src/io/anuke/mindustry/entities/Unit.java @@ -189,6 +189,11 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ if(tile.block() != Blocks.air){ onLiquid = false; } + + //on slope + if(tile.elevation == -1){ + velocity.scl(0.7f); + } } if(onLiquid && velocity.len() > 0.4f && Timers.get(this, "flooreffect", 14 - (velocity.len() * floor.speedMultiplier)*2f)){ diff --git a/core/src/io/anuke/mindustry/world/Tile.java b/core/src/io/anuke/mindustry/world/Tile.java index 9df141120c..0f42579545 100644 --- a/core/src/io/anuke/mindustry/world/Tile.java +++ b/core/src/io/anuke/mindustry/world/Tile.java @@ -5,18 +5,19 @@ import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.reflect.ClassReflection; import io.anuke.mindustry.content.blocks.Blocks; -import io.anuke.mindustry.entities.traits.TargetTrait; import io.anuke.mindustry.entities.TileEntity; +import io.anuke.mindustry.entities.traits.TargetTrait; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.world.blocks.Floor; import io.anuke.mindustry.world.blocks.modules.InventoryModule; import io.anuke.mindustry.world.blocks.modules.LiquidModule; import io.anuke.mindustry.world.blocks.modules.PowerModule; +import io.anuke.ucore.entities.trait.PosTrait; import io.anuke.ucore.function.Consumer; import io.anuke.ucore.util.Bits; -import io.anuke.ucore.entities.trait.PosTrait; import io.anuke.ucore.util.Geometry; +import io.anuke.ucore.util.Mathf; import static io.anuke.mindustry.Vars.tilesize; import static io.anuke.mindustry.Vars.world; @@ -325,21 +326,29 @@ public class Tile implements PosTrait, TargetTrait { //check for bitmasking cliffs for(int i = 0; i < 4; i ++){ GridPoint2 pc = Geometry.d4[i]; + GridPoint2 pcprev = Geometry.d4[Mathf.mod(i - 1, 4)]; + GridPoint2 pcnext = Geometry.d4[(i + 1) % 4]; GridPoint2 pe = Geometry.d8edge[i]; Tile tc = world.tile(x + pc.x, y + pc.y); + Tile tprev = world.tile(x + pcprev.x, y + pcprev.y); + Tile tnext = world.tile(x + pcnext.x, y + pcnext.y); Tile te = world.tile(x + pe.x, y + pe.y); Tile tex = world.tile(x, y + pe.y); Tile tey = world.tile(x + pe.x, y); //check for cardinal direction elevation changes and bitmask that - if(tc != null && tc.elevation < elevation){ + if(tc != null && tprev != null && tnext != null && ((tc.elevation < elevation && tc.elevation != -1))){ cliffs |= (1 << (i*2)); } - //check for corner bitmasking - if(te != null && tex != null && tey != null && te.elevation < elevation && tex.elevation < elevation && tey.elevation < elevation){ - cliffs |= (1 << (i*2 + 1)); + //00S + //0X0 + //010 + + //check for corner bitmasking: doesn't even get checked so it doesn't matter + if(te != null && tex != null && tey != null && te.elevation == -1 && elevation > 0){ + cliffs |= (1 << (((i+1)%4)*2)); } } if(occluded){