diff --git a/core/assets-raw/sprites/blocks/environment/stone-cliff-edge-1.png b/core/assets-raw/sprites/blocks/environment/stone-cliff-edge-1.png new file mode 100644 index 0000000000..d7f7bd6fb9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/stone-cliff-edge-1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/stone-cliff-edge-2.png b/core/assets-raw/sprites/blocks/environment/stone-cliff-edge-2.png new file mode 100644 index 0000000000..327f896766 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/stone-cliff-edge-2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/stone-cliff-edge.png b/core/assets-raw/sprites/blocks/environment/stone-cliff-edge.png new file mode 100644 index 0000000000..32d291b922 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/stone-cliff-edge.png differ diff --git a/core/assets-raw/sprites/blocks/environment/stone-cliff-side.png b/core/assets-raw/sprites/blocks/environment/stone-cliff-side.png new file mode 100644 index 0000000000..c71d3aeade Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/stone-cliff-side.png differ diff --git a/core/assets-raw/sprites/blocks/environment/stone-cliff.png b/core/assets-raw/sprites/blocks/environment/stone-cliff.png new file mode 100644 index 0000000000..da6d483bd5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/stone-cliff.png differ diff --git a/core/assets-raw/sprites/blocks/environment/stone/cliff-0.png b/core/assets-raw/sprites/blocks/environment/stone/cliff-0.png new file mode 100644 index 0000000000..9f2b11b52d Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/stone/cliff-0.png differ diff --git a/core/assets-raw/sprites/blocks/environment/water-cliff-edge-1.png b/core/assets-raw/sprites/blocks/environment/water-cliff-edge-1.png new file mode 100644 index 0000000000..072a0eb9e4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/water-cliff-edge-1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/water-cliff-edge-2.png b/core/assets-raw/sprites/blocks/environment/water-cliff-edge-2.png new file mode 100644 index 0000000000..3ffbd1c147 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/water-cliff-edge-2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/water-cliff-edge.png b/core/assets-raw/sprites/blocks/environment/water-cliff-edge.png new file mode 100644 index 0000000000..d3dad2cf88 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/water-cliff-edge.png differ diff --git a/core/assets-raw/sprites/blocks/environment/water-cliff-side.png b/core/assets-raw/sprites/blocks/environment/water-cliff-side.png new file mode 100644 index 0000000000..e184eb7aa8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/water-cliff-side.png differ diff --git a/core/assets/shaders/water.fragment b/core/assets/shaders/water.fragment index 5b9759f6f7..d8f26bebb1 100644 --- a/core/assets/shaders/water.fragment +++ b/core/assets/shaders/water.fragment @@ -48,7 +48,7 @@ float snoise(vec2 v){ void main() { vec2 c = v_texCoord.xy; - vec4 color = texture2D(u_texture, c); + vec4 color = texture2D(u_texture, c) * v_color; vec2 v = vec2(1.0/screensize.x, 1.0/screensize.y); ivec2 icoords = ivec2(int(c.x / v.x + camerapos.x), int(c.y / v.y + camerapos.y)); diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 023209b6f6..6f437d4f4d 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -13,196 +13,196 @@ background index: -1 bridgeconduit rotate: false - xy: 759, 346 + xy: 175, 28 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-arrow rotate: false - xy: 759, 336 + xy: 175, 18 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-bridge rotate: false - xy: 821, 421 + xy: 175, 8 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconduit-end rotate: false - xy: 821, 411 + xy: 227, 89 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor rotate: false - xy: 821, 401 + xy: 225, 79 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-arrow rotate: false - xy: 821, 391 + xy: 225, 69 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-bridge rotate: false - xy: 831, 423 + xy: 225, 59 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 bridgeconveyor-end rotate: false - xy: 841, 425 + xy: 225, 49 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-bottom rotate: false - xy: 831, 393 + xy: 445, 116 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-top rotate: false - xy: 841, 395 + xy: 435, 95 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduittunnel rotate: false - xy: 851, 405 + xy: 445, 96 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyor rotate: false - xy: 861, 415 + xy: 643, 114 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyormove rotate: false - xy: 851, 395 + xy: 653, 114 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conveyortunnel rotate: false - xy: 861, 405 + xy: 733, 269 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 junction rotate: false - xy: 971, 409 + xy: 275, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit rotate: false - xy: 981, 419 + xy: 275, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-arrow rotate: false - xy: 991, 419 + xy: 275, 55 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-bridge rotate: false - xy: 961, 389 + xy: 275, 45 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconduit-end rotate: false - xy: 971, 399 + xy: 275, 35 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor rotate: false - xy: 981, 409 + xy: 275, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-arrow rotate: false - xy: 971, 389 + xy: 245, 7 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-bridge rotate: false - xy: 981, 399 + xy: 255, 15 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserconveyor-end rotate: false - xy: 991, 409 + xy: 265, 15 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidjunction rotate: false - xy: 1001, 388 + xy: 465, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter rotate: false - xy: 1011, 418 + xy: 455, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-bottom rotate: false - xy: 1011, 408 + xy: 465, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-liquid rotate: false - xy: 1011, 398 + xy: 475, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidrouter-top rotate: false - xy: 1011, 388 + xy: 465, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -230,84 +230,84 @@ liquidtank-top index: -1 multiplexer rotate: false - xy: 597, 158 + xy: 625, 140 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 overflowgate rotate: false - xy: 445, 116 + xy: 505, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 poweredconveyor rotate: false - xy: 445, 96 + xy: 515, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 poweredconveyormove rotate: false - xy: 255, 99 + xy: 525, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-bottom rotate: false - xy: 181, 28 + xy: 545, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulseconduit-top rotate: false - xy: 191, 38 + xy: 545, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 router rotate: false - xy: 211, 18 + xy: 505, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sorter rotate: false - xy: 753, 217 + xy: 651, 275 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 splitter rotate: false - xy: 831, 373 + xy: 651, 265 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyor rotate: false - xy: 841, 375 + xy: 749, 285 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelconveyormove rotate: false - xy: 851, 375 + xy: 761, 352 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 teleporter-top rotate: false - xy: 411, 135 + xy: 437, 136 size: 24, 24 orig: 24, 24 offset: 0, 0 @@ -321,49 +321,49 @@ blackrock1 index: -1 blackrockshadow1 rotate: false - xy: 615, 158 + xy: 245, 97 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone1 rotate: false - xy: 183, 90 + xy: 991, 419 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone2 rotate: false - xy: 181, 64 + xy: 975, 395 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstone3 rotate: false - xy: 669, 295 + xy: 985, 395 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock1 rotate: false - xy: 643, 291 + xy: 995, 397 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock2 rotate: false - xy: 185, 48 + xy: 145, 30 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blackstoneblock3 rotate: false - xy: 195, 48 + xy: 145, 20 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -377,49 +377,49 @@ blackstoneedge index: -1 coal1 rotate: false - xy: 841, 415 + xy: 225, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal2 rotate: false - xy: 831, 403 + xy: 435, 125 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 coal3 rotate: false - xy: 861, 425 + xy: 435, 115 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 deepwater rotate: false - xy: 861, 395 + xy: 751, 390 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt1 rotate: false - xy: 871, 405 + xy: 751, 380 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt2 rotate: false - xy: 871, 395 + xy: 751, 370 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 dirt3 rotate: false - xy: 881, 425 + xy: 751, 360 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -433,546 +433,616 @@ dirtedge index: -1 grass1 rotate: false - xy: 901, 417 + xy: 783, 393 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass2 rotate: false - xy: 921, 427 + xy: 793, 393 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grass3 rotate: false - xy: 891, 397 + xy: 803, 393 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassblock1 rotate: false - xy: 901, 407 + xy: 813, 393 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassblock2 rotate: false - xy: 911, 417 + xy: 823, 393 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 grassedge rotate: false - xy: 624, 275 + xy: 167, 42 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 ice1 rotate: false - xy: 901, 397 + xy: 833, 395 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice2 rotate: false - xy: 911, 407 + xy: 895, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ice3 rotate: false - xy: 921, 417 + xy: 905, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iceedge rotate: false - xy: 624, 261 + xy: 991, 446 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 icerock1 rotate: false - xy: 911, 397 + xy: 915, 391 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerock2 rotate: false - xy: 921, 407 + xy: 995, 387 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow1 rotate: false - xy: 921, 397 + xy: 185, 16 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow1 rotate: false - xy: 921, 397 + xy: 185, 16 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icerockshadow2 rotate: false - xy: 821, 381 + xy: 195, 16 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rockshadow2 rotate: false - xy: 821, 381 + xy: 195, 16 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron1 rotate: false - xy: 851, 385 + xy: 205, 6 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron2 rotate: false - xy: 861, 385 + xy: 215, 6 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 iron3 rotate: false - xy: 871, 385 + xy: 155, 2 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lava rotate: false - xy: 1001, 418 + xy: 275, 15 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lavaedge rotate: false - xy: 638, 275 + xy: 255, 95 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 lead1 rotate: false - xy: 991, 399 + xy: 265, 5 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead2 rotate: false - xy: 1001, 408 + xy: 275, 5 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 lead3 rotate: false - xy: 991, 389 + xy: 455, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor1 rotate: false - xy: 703, 211 + xy: 475, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor2 rotate: false - xy: 713, 211 + xy: 485, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor3 rotate: false - xy: 231, 73 + xy: 485, 102 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor4 rotate: false - xy: 241, 73 + xy: 455, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor5 rotate: false - xy: 746, 269 + xy: 465, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalfloor6 rotate: false - xy: 435, 125 + xy: 475, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 metalflooredge rotate: false - xy: 638, 261 + xy: 269, 95 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 mossblock rotate: false - xy: 435, 115 + xy: 485, 92 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oil rotate: false - xy: 435, 105 + xy: 495, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 oiledge rotate: false - xy: 652, 275 + xy: 749, 414 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 rock1 rotate: false - xy: 211, 28 + xy: 595, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rock2 rotate: false - xy: 201, 8 + xy: 495, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand1 rotate: false - xy: 221, 28 + xy: 535, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand2 rotate: false - xy: 221, 18 + xy: 545, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sand3 rotate: false - xy: 221, 8 + xy: 555, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock1 rotate: false - xy: 722, 257 + xy: 565, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock2 rotate: false - xy: 732, 257 + xy: 575, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandblock3 rotate: false - xy: 721, 247 + xy: 585, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 sandedge rotate: false - xy: 652, 261 + xy: 749, 400 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 shrub rotate: false - xy: 735, 227 + xy: 495, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shrubshadow rotate: false - xy: 723, 217 + xy: 505, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow1 rotate: false - xy: 745, 227 + xy: 535, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow2 rotate: false - xy: 743, 217 + xy: 545, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snow3 rotate: false - xy: 723, 207 + xy: 555, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock1 rotate: false - xy: 733, 207 + xy: 565, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock2 rotate: false - xy: 743, 207 + xy: 575, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowblock3 rotate: false - xy: 751, 247 + xy: 585, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 snowedge rotate: false - xy: 645, 233 + xy: 791, 417 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 space rotate: false - xy: 753, 207 + xy: 661, 267 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 spaceedge rotate: false - xy: 642, 219 + xy: 777, 403 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 +stone-cliff + rotate: false + xy: 385, 135 + size: 24, 24 + orig: 24, 24 + offset: 0, 0 + index: -1 +stone-cliff-edge + rotate: false + xy: 781, 362 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +stone-cliff-edge-1 + rotate: false + xy: 781, 352 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +stone-cliff-edge-2 + rotate: false + xy: 779, 342 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +stone-cliff-side + rotate: false + xy: 779, 332 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +cliff-0 + rotate: false + xy: 225, 39 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 stone1 rotate: false - xy: 901, 377 + xy: 769, 332 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone2 rotate: false - xy: 911, 377 + xy: 781, 382 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stone3 rotate: false - xy: 921, 377 + xy: 781, 372 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock1 rotate: false - xy: 931, 379 + xy: 791, 383 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock2 rotate: false - xy: 941, 379 + xy: 801, 383 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneblock3 rotate: false - xy: 951, 379 + xy: 791, 373 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneedge rotate: false - xy: 656, 219 + xy: 805, 403 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 thorium1 rotate: false - xy: 1001, 378 + xy: 791, 353 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium2 rotate: false - xy: 1011, 378 + xy: 801, 363 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 thorium3 rotate: false - xy: 769, 328 + xy: 811, 373 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium1 rotate: false - xy: 779, 329 + xy: 801, 353 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium2 rotate: false - xy: 789, 331 + xy: 811, 363 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanium3 rotate: false - xy: 223, 63 + xy: 821, 373 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 water rotate: false - xy: 231, 13 + xy: 873, 389 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +water-cliff-edge + rotate: false + xy: 883, 389 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +water-cliff-edge-1 + rotate: false + xy: 843, 379 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +water-cliff-edge-2 + rotate: false + xy: 853, 379 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +water-cliff-side + rotate: false + xy: 863, 379 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 wateredge rotate: false - xy: 708, 265 + xy: 833, 405 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 block-border rotate: false - xy: 685, 231 + xy: 155, 22 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-elevation rotate: false - xy: 695, 231 + xy: 155, 12 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 combustiongenerator-top rotate: false - xy: 695, 231 + xy: 155, 12 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-middle rotate: false - xy: 705, 231 + xy: 165, 22 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump-liquid rotate: false - xy: 705, 231 + xy: 165, 22 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 border rotate: false - xy: 715, 231 + xy: 165, 12 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 conduit-liquid rotate: false - xy: 871, 425 + xy: 445, 106 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-1 rotate: false - xy: 871, 415 + xy: 743, 269 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 cross-2 rotate: false - xy: 517, 139 + xy: 175, 120 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -993,7 +1063,7 @@ cross-4 index: -1 enemyspawn rotate: false - xy: 891, 417 + xy: 771, 382 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1007,49 +1077,49 @@ nuclearreactor-shadow index: -1 place-arrow rotate: false - xy: 445, 106 + xy: 505, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 playerspawn rotate: false - xy: 435, 95 + xy: 515, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 ripples rotate: false - xy: 809, 395 + xy: 955, 405 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 rubble-1-0 rotate: false - xy: 807, 431 + xy: 625, 122 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-1-1 rotate: false - xy: 733, 374 + xy: 731, 410 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-2-0 rotate: false - xy: 733, 356 + xy: 731, 392 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 rubble-2-1 rotate: false - xy: 741, 338 + xy: 753, 430 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -1070,7 +1140,7 @@ rubble-3-1 index: -1 shadow-1 rotate: false - xy: 787, 383 + xy: 626, 289 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1112,7 +1182,7 @@ shadow-6 index: -1 shadow-round-1 rotate: false - xy: 775, 359 + xy: 624, 277 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1140,7 +1210,7 @@ batterylarge index: -1 combustiongenerator rotate: false - xy: 841, 405 + xy: 435, 105 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1210,7 +1280,7 @@ largesolarpanel index: -1 liquidcombustiongenerator rotate: false - xy: 1001, 398 + xy: 455, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1238,84 +1308,84 @@ nuclearreactor-lights index: -1 powerinfinite rotate: false - xy: 265, 99 + xy: 525, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powernode rotate: false - xy: 275, 99 + xy: 535, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 powernodelarge rotate: false - xy: 753, 430 + xy: 571, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 powervoid rotate: false - xy: 181, 38 + xy: 535, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtgenerator rotate: false - xy: 211, 8 + xy: 515, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 rtgenerator-top rotate: false - xy: 221, 38 + xy: 525, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shieldgenerator rotate: false - xy: 741, 247 + xy: 455, 82 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shieldprojector rotate: false - xy: 163, 22 + xy: 771, 431 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 solarpanel rotate: false - xy: 755, 237 + xy: 595, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 teleporter rotate: false - xy: 385, 135 + xy: 411, 135 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 teleporter-top rotate: false - xy: 437, 136 + xy: 587, 232 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 thermalgenerator rotate: false - xy: 991, 379 + xy: 821, 383 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1329,203 +1399,203 @@ alloysmelter index: -1 biomattercompressor rotate: false - xy: 145, 22 + xy: 597, 194 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-frame0 rotate: false - xy: 145, 4 + xy: 597, 176 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-frame1 rotate: false - xy: 613, 240 + xy: 597, 158 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-frame2 rotate: false - xy: 679, 365 + xy: 149, 42 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-liquid rotate: false - xy: 677, 347 + xy: 627, 214 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 biomattercompressor-top rotate: false - xy: 679, 313 + xy: 615, 194 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 centrifuge rotate: false - xy: 463, 132 + xy: 679, 365 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 centrifuge-liquid rotate: false - xy: 481, 132 + xy: 677, 347 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cryofluidmixer-bottom rotate: false - xy: 165, 100 + xy: 517, 139 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cryofluidmixer-liquid rotate: false - xy: 613, 222 + xy: 535, 139 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cryofluidmixer-top rotate: false - xy: 697, 365 + xy: 553, 139 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cultivator rotate: false - xy: 695, 347 + xy: 571, 139 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cultivator-middle rotate: false - xy: 715, 367 + xy: 633, 196 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 cultivator-top rotate: false - xy: 697, 313 + xy: 633, 178 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 extractor rotate: false - xy: 911, 427 + xy: 771, 372 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 fluxpump rotate: false - xy: 891, 407 + xy: 771, 362 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 incinerator rotate: false - xy: 841, 385 + xy: 195, 6 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill rotate: false - xy: 881, 385 + xy: 165, 2 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill-rotator rotate: false - xy: 891, 387 + xy: 235, 79 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill-rotator rotate: false - xy: 891, 387 + xy: 235, 79 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 irondrill-top rotate: false - xy: 901, 387 + xy: 235, 69 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemsource rotate: false - xy: 951, 389 + xy: 265, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 itemvoid rotate: false - xy: 961, 399 + xy: 275, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laserdrill rotate: false - xy: 589, 121 + xy: 227, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 laserdrill-rotator rotate: false - xy: 597, 194 + xy: 733, 313 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 laserdrill-top rotate: false - xy: 597, 176 + xy: 733, 295 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 lavasmelter rotate: false - xy: 981, 389 + xy: 255, 5 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 liquidsource rotate: false - xy: 683, 211 + xy: 475, 112 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 melter rotate: false - xy: 693, 211 + xy: 485, 122 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1588,7 +1658,7 @@ oilextractor-top index: -1 oilrefinery rotate: false - xy: 445, 126 + xy: 495, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1623,210 +1693,210 @@ plasmadrill-top index: -1 plasticformer rotate: false - xy: 607, 140 + xy: 499, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 plasticformer-top rotate: false - xy: 607, 122 + xy: 517, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 poweralloysmelter rotate: false - xy: 731, 410 + xy: 535, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 poweralloysmelter-top rotate: false - xy: 731, 392 + xy: 553, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 powersmelter rotate: false - xy: 771, 431 + xy: 589, 121 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 powersmelter-top rotate: false - xy: 789, 431 + xy: 607, 122 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 siliconsmelter-top rotate: false - xy: 789, 431 + xy: 607, 122 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 pulverizer rotate: false - xy: 181, 18 + xy: 555, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pulverizer-rotator rotate: false - xy: 191, 28 + xy: 555, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 pump rotate: false - xy: 201, 38 + xy: 565, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill rotate: false - xy: 181, 8 + xy: 565, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill-rotator rotate: false - xy: 191, 18 + xy: 575, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 reinforceddrill-top rotate: false - xy: 201, 28 + xy: 575, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator rotate: false - xy: 731, 247 + xy: 595, 91 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 separator-liquid rotate: false - xy: 742, 257 + xy: 445, 86 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 siliconextractor rotate: false - xy: 733, 217 + xy: 515, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 siliconsmelter rotate: false - xy: 163, 4 + xy: 789, 431 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 smelter rotate: false - xy: 745, 237 + xy: 525, 81 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill rotate: false - xy: 861, 375 + xy: 771, 352 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill-rotator rotate: false - xy: 871, 375 + xy: 759, 342 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steeldrill-top rotate: false - xy: 881, 375 + xy: 769, 342 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stonedrill rotate: false - xy: 961, 379 + xy: 811, 383 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 stoneformer rotate: false - xy: 971, 379 + xy: 791, 363 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill rotate: false - xy: 233, 63 + xy: 811, 353 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumdrill-top rotate: false - xy: 243, 63 + xy: 821, 363 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 waterextractor rotate: false - xy: 625, 150 + xy: 741, 338 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-liquid rotate: false - xy: 625, 132 + xy: 643, 142 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-rotator rotate: false - xy: 625, 114 + xy: 643, 124 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 waterextractor-top rotate: false - xy: 607, 104 + xy: 661, 287 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 weaponfactory rotate: false - xy: 163, 64 + xy: 715, 277 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -1854,42 +1924,42 @@ core-top index: -1 sortedunloader rotate: false - xy: 755, 227 + xy: 661, 277 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 unloader rotate: false - xy: 241, 43 + xy: 843, 389 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vault rotate: false - xy: 587, 232 + xy: 613, 232 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 block-1 rotate: false - xy: 673, 227 + xy: 165, 32 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 block-2 rotate: false - xy: 175, 120 + xy: 615, 176 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 block-2-top rotate: false - xy: 255, 109 + xy: 615, 158 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -1924,7 +1994,7 @@ block-4-top index: -1 scatter-heat rotate: false - xy: 763, 370 + xy: 967, 405 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1938,42 +2008,42 @@ arc index: -1 arc-heat rotate: false - xy: 631, 289 + xy: 181, 88 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 crux rotate: false - xy: 535, 139 + xy: 255, 109 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 crux-heat rotate: false - xy: 553, 139 + xy: 463, 132 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 crux-panel-left rotate: false - xy: 571, 139 + xy: 481, 132 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 crux-panel-right rotate: false - xy: 209, 114 + xy: 499, 139 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 duo rotate: false - xy: 891, 427 + xy: 761, 362 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1994,14 +2064,14 @@ spectre index: -1 lancer rotate: false - xy: 797, 395 + xy: 943, 405 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 lancer-heat rotate: false - xy: 809, 407 + xy: 955, 417 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2022,217 +2092,217 @@ ripple index: -1 scatter rotate: false - xy: 763, 382 + xy: 967, 417 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 scatter-heat rotate: false - xy: 763, 358 + xy: 979, 417 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 scorch rotate: false - xy: 775, 383 + xy: 979, 405 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 scorch-shoot rotate: false - xy: 775, 371 + xy: 991, 407 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 swarmer rotate: false - xy: 615, 186 + xy: 733, 374 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 wave rotate: false - xy: 625, 96 + xy: 679, 277 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 wave-liquid rotate: false - xy: 165, 82 + xy: 697, 277 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 dronefactory rotate: false - xy: 273, 109 + xy: 165, 100 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 walkerfactory rotate: false - xy: 273, 109 + xy: 165, 100 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 dronefactory-top rotate: false - xy: 291, 117 + xy: 697, 365 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 walkerfactory-top rotate: false - xy: 291, 117 + xy: 697, 365 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 dronefactory-top-open rotate: false - xy: 309, 117 + xy: 695, 347 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 walkerfactory-top-open rotate: false - xy: 309, 117 + xy: 695, 347 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 droppoint rotate: false - xy: 881, 395 + xy: 761, 372 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 repairpoint rotate: false - xy: 211, 38 + xy: 585, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 repairpoint-turret rotate: false - xy: 191, 8 + xy: 585, 101 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 resupplypoint rotate: false - xy: 201, 18 + xy: 595, 111 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 compositewall rotate: false - xy: 851, 415 + xy: 445, 126 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 door rotate: false - xy: 881, 415 + xy: 763, 392 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 door-large rotate: false - xy: 679, 295 + xy: 633, 160 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 door-large-open rotate: false - xy: 697, 295 + xy: 209, 114 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 door-open rotate: false - xy: 881, 405 + xy: 761, 382 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 duriumwall rotate: false - xy: 901, 427 + xy: 773, 392 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 duriumwall-large rotate: false - xy: 327, 117 + xy: 715, 367 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 ironwall rotate: false - xy: 911, 387 + xy: 235, 59 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelwall rotate: false - xy: 891, 377 + xy: 759, 332 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 steelwall-large rotate: false - xy: 615, 204 + xy: 807, 431 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 stonewall rotate: false - xy: 981, 379 + xy: 801, 373 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumshieldwall rotate: false - xy: 225, 53 + xy: 821, 353 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumwall rotate: false - xy: 235, 53 + xy: 833, 385 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titaniumwall-large rotate: false - xy: 615, 168 + xy: 733, 356 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2260,14 +2330,14 @@ blank index: -1 bullet rotate: false - xy: 631, 222 + xy: 624, 266 size: 9, 9 orig: 9, 9 offset: 0, 0 index: -1 bullet-back rotate: false - xy: 787, 372 + xy: 931, 394 size: 9, 9 orig: 9, 9 offset: 0, 0 @@ -2295,7 +2365,7 @@ enemyarrow index: -1 laser rotate: false - xy: 666, 275 + xy: 1019, 499 size: 1, 12 orig: 1, 12 offset: 0, 0 @@ -2316,7 +2386,7 @@ laserfull index: -1 minelaser rotate: false - xy: 607, 218 + xy: 1022, 499 size: 1, 12 orig: 1, 12 offset: 0, 0 @@ -2330,238 +2400,238 @@ minelaser-end index: -1 shell rotate: false - xy: 799, 384 + xy: 942, 394 size: 9, 9 orig: 9, 9 offset: 0, 0 index: -1 shell-back rotate: false - xy: 787, 361 + xy: 953, 394 size: 9, 9 orig: 9, 9 offset: 0, 0 index: -1 shot rotate: false - xy: 725, 227 + xy: 485, 82 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 transfer rotate: false - xy: 610, 218 + xy: 1021, 446 size: 1, 12 orig: 1, 12 offset: 0, 0 index: -1 transfer-arrow rotate: false - xy: 245, 53 + xy: 831, 375 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 transfer-end rotate: false - xy: 149, 40 + xy: 607, 212 size: 18, 18 orig: 18, 18 offset: 0, 0 index: -1 item-armor-piercing-bullet rotate: false - xy: 921, 387 + xy: 235, 49 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-composite-flak rotate: false - xy: 703, 221 + xy: 235, 9 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-explosive-shell rotate: false - xy: 713, 221 + xy: 245, 87 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-frag-shell rotate: false - xy: 769, 348 + xy: 245, 77 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-homing-bullet rotate: false - xy: 769, 338 + xy: 255, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-incendiary-mortar-shell rotate: false - xy: 779, 349 + xy: 245, 67 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-lead-bullet rotate: false - xy: 789, 341 + xy: 245, 57 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-scythe-missile rotate: false - xy: 941, 419 + xy: 245, 47 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-surge-mortar-shell rotate: false - xy: 941, 399 + xy: 265, 55 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-swarm-missile rotate: false - xy: 951, 409 + xy: 245, 27 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thorium-shell rotate: false - xy: 951, 399 + xy: 245, 17 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-tracer-bullet rotate: false - xy: 971, 419 + xy: 265, 35 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-biomatter rotate: false - xy: 673, 217 + xy: 235, 39 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-blast-compound rotate: false - xy: 683, 221 + xy: 235, 29 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-coal rotate: false - xy: 693, 221 + xy: 235, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-iron rotate: false - xy: 779, 339 + xy: 255, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-lead rotate: false - xy: 789, 351 + xy: 265, 85 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-plastic rotate: false - xy: 931, 419 + xy: 255, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-sand rotate: false - xy: 931, 409 + xy: 265, 75 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 931, 399 + xy: 255, 55 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-steel rotate: false - xy: 941, 409 + xy: 265, 65 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-stone rotate: false - xy: 951, 419 + xy: 245, 37 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-surge-alloy rotate: false - xy: 931, 389 + xy: 255, 45 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thermite rotate: false - xy: 961, 419 + xy: 255, 35 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 941, 389 + xy: 265, 45 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 961, 409 + xy: 255, 25 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 standard-mech rotate: false - xy: 659, 247 + xy: 805, 417 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-ship rotate: false - xy: 659, 233 + xy: 791, 403 size: 12, 12 orig: 12, 12 offset: 0, 0 @@ -2710,14 +2780,14 @@ check-over index: -1 clear rotate: false - xy: 722, 267 + xy: 181, 76 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 cursor rotate: false - xy: 209, 90 + xy: 493, 151 size: 4, 4 orig: 4, 4 offset: 0, 0 @@ -2738,7 +2808,7 @@ discord-banner-over index: -1 controller-cursor rotate: false - xy: 499, 139 + xy: 679, 313 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2773,56 +2843,56 @@ icon-admin-small index: -1 icon-areaDelete rotate: false - xy: 734, 267 + xy: 167, 56 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow rotate: false - xy: 345, 117 + xy: 697, 313 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-arrow-16 rotate: false - xy: 345, 117 + xy: 697, 313 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-arrow-down rotate: false - xy: 673, 249 + xy: 181, 50 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-left rotate: false - xy: 673, 237 + xy: 181, 38 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-right rotate: false - xy: 685, 253 + xy: 847, 423 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-arrow-up rotate: false - xy: 685, 241 + xy: 859, 423 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-back rotate: false - xy: 363, 117 + xy: 679, 295 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -2836,49 +2906,49 @@ icon-ban index: -1 icon-break rotate: false - xy: 381, 117 + xy: 697, 295 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-cancel rotate: false - xy: 399, 117 + xy: 273, 109 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-chat rotate: false - xy: 697, 253 + xy: 847, 411 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-check rotate: false - xy: 417, 117 + xy: 291, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-crafting rotate: false - xy: 697, 241 + xy: 871, 423 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-cursor rotate: false - xy: 709, 253 + xy: 859, 411 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-defense rotate: false - xy: 709, 241 + xy: 871, 411 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2899,7 +2969,7 @@ icon-discord index: -1 icon-distribution rotate: false - xy: 749, 416 + xy: 847, 399 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -2934,469 +3004,469 @@ icon-egg index: -1 icon-eraser rotate: false - xy: 713, 347 + xy: 309, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-exit rotate: false - xy: 183, 74 + xy: 733, 279 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-file rotate: false - xy: 715, 313 + xy: 327, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-file-image rotate: false - xy: 715, 295 + xy: 345, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-file-text rotate: false - xy: 199, 74 + xy: 165, 84 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-fill rotate: false - xy: 589, 139 + xy: 363, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-floppy rotate: false - xy: 169, 48 + xy: 163, 68 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-floppy-16 rotate: false - xy: 291, 99 + xy: 381, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-folder rotate: false - xy: 191, 58 + xy: 209, 80 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-folder-parent rotate: false - xy: 207, 58 + xy: 193, 74 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-github rotate: false - xy: 825, 433 + xy: 193, 58 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-google-play rotate: false - xy: 841, 435 + xy: 209, 64 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-grid rotate: false - xy: 309, 99 + xy: 399, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-hold rotate: false - xy: 749, 404 + xy: 859, 399 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-holdDelete rotate: false - xy: 749, 392 + xy: 871, 399 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-home rotate: false - xy: 857, 435 + xy: 193, 42 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-host rotate: false - xy: 873, 435 + xy: 209, 48 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-info rotate: false - xy: 751, 380 + xy: 883, 423 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-itch.io rotate: false - xy: 889, 437 + xy: 825, 433 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-items-none rotate: false - xy: 831, 383 + xy: 185, 6 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-line rotate: false - xy: 327, 99 + xy: 417, 117 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-link rotate: false - xy: 905, 437 + xy: 841, 435 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-liquid rotate: false - xy: 751, 368 + xy: 883, 411 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-load rotate: false - xy: 921, 437 + xy: 857, 435 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-load-image rotate: false - xy: 345, 99 + xy: 713, 347 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-load-map rotate: false - xy: 363, 99 + xy: 715, 313 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-loading rotate: false - xy: 381, 99 + xy: 715, 295 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-logic rotate: false - xy: 751, 356 + xy: 883, 399 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu rotate: false - xy: 761, 418 + xy: 895, 425 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-menu-large rotate: false - xy: 399, 99 + xy: 589, 139 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-none rotate: false - xy: 761, 406 + xy: 907, 425 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pause rotate: false - xy: 761, 394 + xy: 895, 413 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-pencil rotate: false - xy: 417, 99 + xy: 607, 140 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-pencil-small rotate: false - xy: 215, 80 + xy: 873, 435 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-pick rotate: false - xy: 209, 96 + xy: 291, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-play rotate: false - xy: 773, 419 + xy: 919, 425 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-play-2 rotate: false - xy: 231, 83 + xy: 889, 437 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-players rotate: false - xy: 785, 419 + xy: 895, 401 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-power rotate: false - xy: 773, 407 + xy: 907, 413 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-production rotate: false - xy: 797, 419 + xy: 907, 401 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-quit rotate: false - xy: 937, 429 + xy: 905, 437 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-redo rotate: false - xy: 227, 99 + xy: 309, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-refresh rotate: false - xy: 953, 429 + xy: 921, 437 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rename rotate: false - xy: 969, 429 + xy: 645, 285 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-resize rotate: false - xy: 733, 313 + xy: 327, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-rotate rotate: false - xy: 985, 429 + xy: 209, 32 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-arrow rotate: false - xy: 993, 460 + xy: 193, 26 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-left rotate: false - xy: 1009, 460 + xy: 937, 429 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-rotate-right rotate: false - xy: 1005, 444 + xy: 953, 429 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save rotate: false - xy: 1001, 428 + xy: 969, 429 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-save-image rotate: false - xy: 733, 295 + xy: 345, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-save-map rotate: false - xy: 499, 121 + xy: 363, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-settings rotate: false - xy: 773, 395 + xy: 919, 413 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-terrain rotate: false - xy: 517, 121 + xy: 381, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-tools rotate: false - xy: 653, 289 + xy: 209, 16 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-touch rotate: false - xy: 785, 407 + xy: 919, 401 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-touchDelete rotate: false - xy: 809, 419 + xy: 931, 417 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-trash rotate: false - xy: 669, 279 + xy: 985, 429 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-trash-16 rotate: false - xy: 535, 121 + xy: 399, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-trello rotate: false - xy: 685, 279 + xy: 993, 460 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-tutorial rotate: false - xy: 701, 279 + xy: 1009, 460 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-undo rotate: false - xy: 553, 121 + xy: 417, 99 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-units rotate: false - xy: 785, 395 + xy: 931, 405 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-weapon rotate: false - xy: 797, 407 + xy: 943, 417 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 icon-wiki rotate: false - xy: 717, 279 + xy: 1005, 444 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 icon-zoom rotate: false - xy: 571, 121 + xy: 209, 96 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 icon-zoom-small rotate: false - xy: 733, 279 + xy: 1001, 428 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -3467,14 +3537,14 @@ scroll-knob-vertical-black index: -1 selection rotate: false - xy: 145, 1 + xy: 569, 287 size: 1, 1 orig: 1, 1 offset: 0, 0 index: -1 slider rotate: false - xy: 670, 223 + xy: 1017, 434 size: 1, 8 orig: 1, 8 offset: 0, 0 @@ -3569,70 +3639,70 @@ window-empty index: -1 drone rotate: false - xy: 991, 446 + xy: 179, 62 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 scout rotate: false - xy: 631, 247 + xy: 763, 416 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 scout-base rotate: false - xy: 631, 233 + xy: 763, 402 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-mech-base rotate: false - xy: 631, 233 + xy: 763, 402 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 scout-leg rotate: false - xy: 645, 247 + xy: 777, 417 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 standard-mech-leg rotate: false - xy: 645, 247 + xy: 777, 417 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol rotate: false - xy: 666, 261 + xy: 819, 417 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol-booster-1 rotate: false - xy: 680, 265 + xy: 819, 403 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol-booster-2 rotate: false - xy: 694, 265 + xy: 833, 419 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 vtol-flame rotate: false - xy: 810, 384 + xy: 964, 394 size: 9, 9 orig: 9, 9 offset: 0, 0 @@ -3646,70 +3716,70 @@ beam-equip index: -1 blaster rotate: false - xy: 205, 48 + xy: 145, 10 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blaster-equip rotate: false - xy: 215, 48 + xy: 155, 32 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 clustergun rotate: false - xy: 831, 413 + xy: 225, 29 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 clustergun-equip rotate: false - xy: 851, 425 + xy: 225, 19 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun rotate: false - xy: 725, 237 + xy: 465, 82 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shockgun-equip rotate: false - xy: 735, 237 + xy: 475, 82 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster rotate: false - xy: 231, 43 + xy: 831, 365 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 triblaster-equip rotate: false - xy: 231, 33 + xy: 831, 355 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan rotate: false - xy: 231, 23 + xy: 853, 389 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 vulcan-equip rotate: false - xy: 241, 33 + xy: 863, 389 size: 8, 8 orig: 8, 8 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 687d2fd5c3..afb8b3156a 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/world/Build.java b/core/src/io/anuke/mindustry/world/Build.java index 39a1b35070..cd7d2ee3cf 100644 --- a/core/src/io/anuke/mindustry/world/Build.java +++ b/core/src/io/anuke/mindustry/world/Build.java @@ -191,14 +191,14 @@ public class Build { for (int dx = 0; dx < type.size; dx++) { for (int dy = 0; dy < type.size; dy++) { Tile other = world.tile(x + dx + offsetx, y + dy + offsety); - if (other == null || (other.block() != Blocks.air && !other.block().alwaysReplace) || !other.floor().placeableOn) { + if (other == null || (other.block() != Blocks.air && !other.block().alwaysReplace) || other.cliffs != 0 || !other.floor().placeableOn) { return false; } } } return true; } else { - return (tile.getTeam() == Team.none || tile.getTeam() == team) && tile.floor().placeableOn + return (tile.getTeam() == Team.none || tile.getTeam() == team) && tile.floor().placeableOn && tile.cliffs == 0 && ((type.canReplace(tile.block()) && !(type == tile.block() && rotation == tile.getRotation() && type.rotate)) || tile.block().alwaysReplace || tile.block() == Blocks.air) && tile.block().isMultiblock() == type.isMultiblock() && type.canPlaceOn(tile); } diff --git a/core/src/io/anuke/mindustry/world/Tile.java b/core/src/io/anuke/mindustry/world/Tile.java index 3a5806dccf..9df141120c 100644 --- a/core/src/io/anuke/mindustry/world/Tile.java +++ b/core/src/io/anuke/mindustry/world/Tile.java @@ -311,16 +311,35 @@ public class Tile implements PosTrait, TargetTrait { cost = 1; cliffs = 0; boolean occluded = false; + + //check for occlusion for(int i = 0; i < 8; i ++){ GridPoint2 point = Geometry.d8[i]; Tile tile = world.tile(x + point.x, y + point.y); - if(tile != null){ - if(tile.solid()){ - occluded = true; - } - if(tile.elevation < elevation){ - cliffs |= (0x1 << i); - } + if(tile != null && tile.solid()){ + occluded = true; + break; + } + } + + //check for bitmasking cliffs + for(int i = 0; i < 4; i ++){ + GridPoint2 pc = Geometry.d4[i]; + GridPoint2 pe = Geometry.d8edge[i]; + + Tile tc = world.tile(x + pc.x, y + pc.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){ + 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)); } } if(occluded){ diff --git a/core/src/io/anuke/mindustry/world/blocks/Floor.java b/core/src/io/anuke/mindustry/world/blocks/Floor.java index afb9b5c75f..b301a9ecbf 100644 --- a/core/src/io/anuke/mindustry/world/blocks/Floor.java +++ b/core/src/io/anuke/mindustry/world/blocks/Floor.java @@ -4,6 +4,7 @@ import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.math.MathUtils; import com.badlogic.gdx.math.Vector2; +import com.badlogic.gdx.utils.IntIntMap; import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.type.Liquid; @@ -16,11 +17,19 @@ import io.anuke.ucore.graphics.Draw; 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; public class Floor extends Block{ + protected static IntIntMap bitmask = Mathf.mapInt(2, 1, 8, 2, 10, 3, 11, 4, 16, 5, 18, 6, 22, 7, 24, 8, + 26, 9, 27, 10, 30, 11, 31, 12, 64, 13, 66, 14, 72, 15, 74, 16, 75, 17, 80, 18, + 82, 19, 86, 20, 88, 21, 90, 22, 91, 23, 94, 24, 95, 25, 104, 26, 106, 27, 107, 28, + 120, 29, 122, 30, 123, 31, 126, 32, 127, 33, 208, 34, 210, 35, 214, 36, 216, 37, + 218, 38, 219, 39, 222, 40, 223, 41, 248, 42, 250, 43, 251, 44, 254, 45, 255, 46, 0, 47); + protected TextureRegion edgeRegion; protected TextureRegion[] edgeRegions; + protected TextureRegion[] cliffRegions; protected Vector2[] offsets; protected Predicate blends = block -> block != this; protected boolean blend = true; @@ -80,6 +89,20 @@ public class Floor extends Block{ edgeRegions[i] = result; offsets[i] = new Vector2(-4 + rx, -4 + ry); } + + if(Draw.hasRegion(name + "-cliff")){ + cliffRegions = new TextureRegion[8]; + TextureRegion base = Draw.region(name + "-cliff"); + + for(int i = 0; i < 8; i ++){ + int dx = Geometry.d8[i].x, dy = Geometry.d8[i].y; + + TextureRegion region = new TextureRegion(); + region.setTexture(base.getTexture()); + region.setRegion(base.getRegionX() + tilesize + tilesize*dx, base.getRegionY() + tilesize - tilesize*dy, tilesize, tilesize); + cliffRegions[i] = region; + } + } } } @@ -105,11 +128,32 @@ public class Floor extends Block{ Draw.rect(variants > 0 ? (name() + MathUtils.random(1, variants)) : name(), tile.worldx(), tile.worldy()); + if(Draw.hasRegion(name + "-cliff-side") && tile.cliffs != 0){ + for(int i = 0; i < 4; i ++){ + if((tile.cliffs & (1 << i*2)) != 0) { + Draw.colorl(i > 1 ? 0.6f : 1f); + + boolean above = (tile.cliffs & (1 << ((i+1)%4)*2)) != 0, below = (tile.cliffs & (1 << (Mathf.mod(i-1, 4))*2)) != 0; + + if(above && below){ + Draw.rect(name + "-cliff-edge-2", tile.worldx(), tile.worldy(), i * 90); + }else if(above){ + Draw.rect(name + "-cliff-edge", tile.worldx(), tile.worldy(), i * 90); + }else if(below){ + Draw.rect(name + "-cliff-edge-1", tile.worldx(), tile.worldy(), i * 90); + }else{ + Draw.rect(name + "-cliff-side", tile.worldx(), tile.worldy(), i * 90); + } + } + } + } + Draw.reset(); + drawEdges(tile, false); } private void drawEdges(Tile tile, boolean sameLayer){ - if(!blend) return; + if(!blend || tile.cliffs > 0) return; for(int i = 0; i < 8; i ++){ int dx = Geometry.d8[i].x, dy = Geometry.d8[i].y;