diff --git a/core/assets-raw/sprites/blocks/door-large-icon.png b/core/assets-raw/sprites/blocks/door-large-icon.png new file mode 100644 index 0000000000..87dd1a0fdf Binary files /dev/null and b/core/assets-raw/sprites/blocks/door-large-icon.png differ diff --git a/core/assets-raw/sprites/blocks/door-large-open.png b/core/assets-raw/sprites/blocks/door-large-open.png new file mode 100644 index 0000000000..42037513d6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/door-large-open.png differ diff --git a/core/assets-raw/sprites/blocks/door-large.png b/core/assets-raw/sprites/blocks/door-large.png new file mode 100644 index 0000000000..a40f67f0be Binary files /dev/null and b/core/assets-raw/sprites/blocks/door-large.png differ diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 15bdfbe666..83f43602cf 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -13,7 +13,7 @@ backgrounds/background index: -1 blank rotate: false - xy: 231, 30 + xy: 355, 218 size: 1, 1 orig: 1, 1 offset: 0, 0 @@ -62,28 +62,28 @@ blocks/blackstoneblock1 index: -1 blocks/blackstoneblock2 rotate: false - xy: 439, 233 + xy: 461, 325 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstoneblock3 rotate: false - xy: 451, 349 + xy: 449, 301 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/blackstoneedge rotate: false - xy: 295, 8 + xy: 427, 229 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/block rotate: false - xy: 449, 329 + xy: 449, 291 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -111,105 +111,105 @@ blocks/chainturret index: -1 blocks/chainturret-icon rotate: false - xy: 466, 397 + xy: 372, 220 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/coal1 rotate: false - xy: 449, 309 + xy: 449, 271 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coal2 rotate: false - xy: 449, 299 + xy: 449, 261 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coal3 rotate: false - xy: 449, 289 + xy: 449, 251 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coaldrill rotate: false - xy: 449, 279 + xy: 441, 233 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coalgenerator rotate: false - xy: 449, 269 + xy: 317, 173 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/coalpurifier rotate: false - xy: 449, 259 + xy: 315, 163 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/combustiongenerator rotate: false - xy: 449, 249 + xy: 315, 153 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/compositewall rotate: false - xy: 449, 239 + xy: 488, 459 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conduit rotate: false - xy: 449, 229 + xy: 498, 459 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conduitbottom rotate: false - xy: 439, 223 + xy: 484, 449 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conduitliquid rotate: false - xy: 449, 219 + xy: 484, 439 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conduittop rotate: false - xy: 317, 173 + xy: 494, 449 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conveyor rotate: false - xy: 315, 163 + xy: 484, 429 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/conveyormove rotate: false - xy: 315, 153 + xy: 494, 439 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -223,378 +223,399 @@ blocks/core index: -1 blocks/cross rotate: false - xy: 480, 407 + xy: 494, 429 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/crucible rotate: false - xy: 478, 397 + xy: 484, 419 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/deepwater rotate: false - xy: 490, 407 + xy: 494, 419 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/dirt1 rotate: false - xy: 488, 397 + xy: 480, 409 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/dirt2 rotate: false - xy: 500, 411 + xy: 480, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/dirt3 rotate: false - xy: 500, 401 + xy: 490, 409 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/dirtblock rotate: false - xy: 312, 140 + xy: 490, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/dirtedge rotate: false - xy: 411, 229 + xy: 460, 465 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/door rotate: false - xy: 312, 130 + xy: 476, 385 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 -blocks/door-open - rotate: false - xy: 312, 120 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -blocks/doubleturret - rotate: false - xy: 370, 220 - size: 10, 10 - orig: 10, 10 - offset: 0, 0 - index: -1 -blocks/duriumwall - rotate: false - xy: 314, 110 - size: 8, 8 - orig: 8, 8 - offset: 0, 0 - index: -1 -blocks/duriumwall-large +blocks/door-large rotate: false xy: 228, 110 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 +blocks/door-large-icon + rotate: false + xy: 486, 389 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +blocks/door-large-open + rotate: false + xy: 246, 128 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 +blocks/door-open + rotate: false + xy: 461, 305 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +blocks/doubleturret + rotate: false + xy: 384, 216 + size: 10, 10 + orig: 10, 10 + offset: 0, 0 + index: -1 +blocks/duriumwall + rotate: false + xy: 459, 295 + size: 8, 8 + orig: 8, 8 + offset: 0, 0 + index: -1 +blocks/duriumwall-large + rotate: false + xy: 246, 110 + size: 16, 16 + orig: 16, 16 + offset: 0, 0 + index: -1 blocks/duriumwall-large-icon rotate: false - xy: 314, 100 + xy: 459, 285 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/flameturret rotate: false - xy: 216, 2 + xy: 452, 383 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/fluxpump rotate: false - xy: 314, 80 + xy: 459, 265 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grass1 rotate: false - xy: 314, 70 + xy: 459, 255 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grass2 rotate: false - xy: 314, 60 + xy: 441, 223 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grass3 rotate: false - xy: 314, 50 + xy: 500, 409 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grassblock-edge-0 rotate: false - xy: 325, 209 + xy: 486, 379 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grassblock-edge-1 rotate: false - xy: 325, 199 + xy: 496, 379 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grassblock-edge-2 rotate: false - xy: 325, 189 + xy: 476, 375 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grassblock-edge-3 rotate: false - xy: 335, 211 + xy: 475, 365 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grassblock1 rotate: false - xy: 314, 40 + xy: 500, 399 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grassblock2 rotate: false - xy: 314, 30 + xy: 496, 389 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/grassedge rotate: false - xy: 474, 465 + xy: 456, 437 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/ice1 rotate: false - xy: 345, 211 + xy: 475, 355 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/ice2 rotate: false - xy: 335, 201 + xy: 475, 345 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/ice3 rotate: false - xy: 335, 191 + xy: 473, 335 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/iceedge rotate: false - xy: 456, 451 + xy: 470, 451 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/icerock1 rotate: false - xy: 345, 201 + xy: 471, 325 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/icerock2 rotate: false - xy: 345, 191 + xy: 471, 315 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/icerockshadow1 rotate: false - xy: 355, 210 + xy: 471, 305 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rockshadow1 rotate: false - xy: 355, 210 + xy: 471, 305 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/icerockshadow2 rotate: false - xy: 365, 210 + xy: 469, 295 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rockshadow2 rotate: false - xy: 365, 210 + xy: 469, 295 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/iron1 rotate: false - xy: 322, 143 + xy: 496, 369 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/iron2 rotate: false - xy: 322, 133 + xy: 485, 359 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/iron3 rotate: false - xy: 322, 123 + xy: 485, 349 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/irondrill rotate: false - xy: 324, 113 + xy: 495, 359 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/ironwall rotate: false - xy: 324, 103 + xy: 495, 349 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/junction rotate: false - xy: 324, 93 + xy: 485, 339 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/laserturret rotate: false - xy: 451, 371 + xy: 437, 303 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/lava rotate: false - xy: 324, 83 + xy: 495, 339 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/lavaedge rotate: false - xy: 456, 437 + xy: 470, 437 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/lavasmelter rotate: false - xy: 324, 73 + xy: 325, 209 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/liquiditemjunction rotate: false - xy: 324, 63 + xy: 325, 199 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/liquidjunction rotate: false - xy: 324, 53 + xy: 325, 189 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/liquidrouter rotate: false - xy: 324, 43 + xy: 335, 211 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/machineturret rotate: false - xy: 451, 359 + xy: 437, 291 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/megarepairturret rotate: false - xy: 439, 351 + xy: 437, 279 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/mortarturret rotate: false - xy: 437, 339 + xy: 437, 267 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/mossblock rotate: false - xy: 375, 206 + xy: 335, 201 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/mossstone rotate: false - xy: 375, 206 + xy: 335, 201 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -615,7 +636,7 @@ blocks/nuclearreactor-center index: -1 blocks/nuclearreactor-icon rotate: false - xy: 385, 206 + xy: 345, 201 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -629,462 +650,462 @@ blocks/nuclearreactor-lights index: -1 blocks/nuclearreactor-small rotate: false - xy: 246, 128 + xy: 230, 92 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 blocks/oil rotate: false - xy: 385, 196 + xy: 345, 191 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/oiledge rotate: false - xy: 470, 451 + xy: 456, 423 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/oilrefinery rotate: false - xy: 375, 186 + xy: 355, 208 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/omnidrill rotate: false - xy: 385, 186 + xy: 355, 198 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/plasmaturret rotate: false - xy: 437, 327 + xy: 437, 255 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/powerbooster rotate: false - xy: 332, 143 + xy: 355, 188 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/poweredconveyor rotate: false - xy: 332, 133 + xy: 327, 173 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/poweredconveyormove rotate: false - xy: 332, 123 + xy: 325, 163 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/powerlaser rotate: false - xy: 334, 113 + xy: 325, 153 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/powerlaserrouter rotate: false - xy: 334, 103 + xy: 315, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pulseconduit rotate: false - xy: 334, 93 + xy: 325, 143 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pulseconduitbottom rotate: false - xy: 334, 83 + xy: 314, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pulseconduittop rotate: false - xy: 334, 73 + xy: 314, 123 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/pump rotate: false - xy: 334, 63 + xy: 324, 133 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/repairturret rotate: false - xy: 437, 315 + xy: 437, 243 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/rock1 rotate: false - xy: 334, 43 + xy: 324, 123 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rock2 rotate: false - xy: 334, 33 + xy: 314, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/router rotate: false - xy: 324, 23 + xy: 324, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/rtgenerator rotate: false - xy: 334, 23 + xy: 314, 93 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sand1 rotate: false - xy: 321, 13 + xy: 324, 103 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sand2 rotate: false - xy: 331, 13 + xy: 314, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sand3 rotate: false - xy: 321, 3 + xy: 324, 93 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sandblock1 rotate: false - xy: 331, 3 + xy: 314, 73 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sandblock2 rotate: false - xy: 341, 13 + xy: 324, 83 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sandblock3 rotate: false - xy: 341, 3 + xy: 314, 63 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sandedge rotate: false - xy: 456, 423 + xy: 452, 409 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/shadow rotate: false - xy: 437, 303 + xy: 451, 347 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/shieldgenerator rotate: false - xy: 448, 209 + xy: 314, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/shotgunturret rotate: false - xy: 437, 291 + xy: 463, 347 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/shrub rotate: false - xy: 486, 387 + xy: 324, 53 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/shrubshadow rotate: false - xy: 461, 349 + xy: 314, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/smelter rotate: false - xy: 459, 339 + xy: 324, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/sniperturret rotate: false - xy: 437, 279 + xy: 449, 335 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/snow1 rotate: false - xy: 459, 329 + xy: 314, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snow2 rotate: false - xy: 459, 319 + xy: 324, 33 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snow3 rotate: false - xy: 459, 309 + xy: 314, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowblock1 rotate: false - xy: 459, 299 + xy: 324, 23 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowblock2 rotate: false - xy: 459, 289 + xy: 324, 13 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowblock3 rotate: false - xy: 459, 279 + xy: 314, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/snowedge rotate: false - xy: 470, 423 + xy: 452, 395 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/sorter rotate: false - xy: 459, 269 + xy: 324, 3 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/steelconveyor rotate: false - xy: 459, 259 + xy: 411, 217 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/steelconveyormove rotate: false - xy: 459, 249 + xy: 408, 207 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/steelwall rotate: false - xy: 459, 239 + xy: 408, 197 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/steelwall-large rotate: false - xy: 246, 110 + xy: 230, 74 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 blocks/steelwall-large-icon rotate: false - xy: 459, 229 + xy: 421, 217 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stone rotate: false - xy: 452, 409 + xy: 466, 409 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/stone1 rotate: false - xy: 459, 219 + xy: 431, 219 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stone2 rotate: false - xy: 458, 209 + xy: 418, 207 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stone3 rotate: false - xy: 498, 391 + xy: 418, 197 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock-edge-0 rotate: false - xy: 464, 377 + xy: 441, 203 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock-edge-1 rotate: false - xy: 474, 377 + xy: 365, 198 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock-edge-2 rotate: false - xy: 484, 377 + xy: 365, 188 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock-edge-3 rotate: false - xy: 463, 367 + xy: 481, 325 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock-smooth1 rotate: false - xy: 473, 367 + xy: 481, 315 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock1 rotate: false - xy: 337, 181 + xy: 441, 213 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock2 rotate: false - xy: 337, 171 + xy: 431, 209 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneblock3 rotate: false - xy: 335, 161 + xy: 428, 199 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stonedrill rotate: false - xy: 483, 367 + xy: 481, 305 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stoneedge rotate: false - xy: 452, 395 + xy: 466, 395 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/stoneformer rotate: false - xy: 469, 339 + xy: 479, 295 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/stonewall rotate: false - xy: 469, 329 + xy: 479, 285 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/teleporter rotate: false - xy: 469, 319 + xy: 479, 275 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/teleporter-top rotate: false - xy: 469, 309 + xy: 479, 265 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/thermalgenerator rotate: false - xy: 469, 299 + xy: 479, 255 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1098,133 +1119,133 @@ blocks/titancannon index: -1 blocks/titancannon-icon rotate: false - xy: 437, 267 + xy: 449, 323 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/titanium1 rotate: false - xy: 469, 289 + xy: 479, 245 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titanium2 rotate: false - xy: 469, 279 + xy: 491, 329 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titanium3 rotate: false - xy: 469, 269 + xy: 491, 319 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumdrill rotate: false - xy: 469, 259 + xy: 491, 309 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumpurifier rotate: false - xy: 469, 249 + xy: 501, 329 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumshieldwall rotate: false - xy: 469, 239 + xy: 501, 319 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumwall rotate: false - xy: 469, 229 + xy: 501, 309 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/titaniumwall-large rotate: false - xy: 248, 74 + xy: 264, 114 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 blocks/titaniumwall-large-icon rotate: false - xy: 469, 219 + xy: 491, 299 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/turret rotate: false - xy: 437, 255 + xy: 461, 335 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 blocks/uranium1 rotate: false - xy: 347, 180 + xy: 489, 279 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/uranium2 rotate: false - xy: 357, 180 + xy: 499, 289 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/uranium3 rotate: false - xy: 347, 170 + xy: 489, 269 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/uraniumdrill rotate: false - xy: 357, 170 + xy: 499, 279 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/water rotate: false - xy: 345, 160 + xy: 489, 259 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 blocks/wateredge rotate: false - xy: 466, 409 + xy: 358, 218 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 blocks/waveturret rotate: false - xy: 437, 243 + xy: 449, 311 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 bullet rotate: false - xy: 449, 319 + xy: 449, 281 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1252,112 +1273,112 @@ circle2 index: -1 enemies/blastenemy-t1 rotate: false - xy: 385, 228 + xy: 282, 134 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/blastenemy-t2 rotate: false - xy: 264, 134 + xy: 282, 118 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/blastenemy-t3 rotate: false - xy: 264, 118 + xy: 298, 134 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/empenemy-t1 rotate: false - xy: 280, 134 + xy: 298, 118 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/empenemy-t2 rotate: false - xy: 280, 118 + xy: 385, 228 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/empenemy-t3 rotate: false - xy: 296, 134 + xy: 266, 98 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/enemy-t1 rotate: false - xy: 296, 118 + xy: 282, 102 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/targetenemy-t1 rotate: false - xy: 296, 118 + xy: 282, 102 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/enemy-t2 rotate: false - xy: 425, 229 + xy: 474, 465 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 enemies/enemy-t3 rotate: false - xy: 460, 465 + xy: 456, 451 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 enemies/fastenemy-t1 rotate: false - xy: 234, 58 + xy: 266, 82 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/fastenemy-t2 rotate: false - xy: 234, 42 + xy: 282, 86 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/fastenemy-t3 rotate: false - xy: 250, 58 + xy: 298, 102 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/flamerenemy-t1 rotate: false - xy: 250, 42 + xy: 298, 86 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/flamerenemy-t2 rotate: false - xy: 234, 26 + xy: 234, 58 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/flamerenemy-t3 rotate: false - xy: 250, 26 + xy: 234, 42 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -1385,105 +1406,105 @@ enemies/fortressenemy-t3 index: -1 enemies/healerenemy-t1 rotate: false - xy: 231, 10 + xy: 250, 58 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/healerenemy-t2 rotate: false - xy: 247, 10 + xy: 266, 66 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/healerenemy-t3 rotate: false - xy: 266, 102 + xy: 282, 70 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/mortarenemy-t1 rotate: false - xy: 298, 86 + xy: 231, 10 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/mortarenemy-t2 rotate: false - xy: 298, 70 + xy: 247, 10 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/mortarenemy-t3 rotate: false - xy: 298, 54 + xy: 266, 18 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/rapidenemy-t1 rotate: false - xy: 298, 38 + xy: 282, 22 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/rapidenemy-t2 rotate: false - xy: 266, 22 + xy: 298, 22 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/rapidenemy-t3 rotate: false - xy: 282, 22 + xy: 266, 2 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/tankenemy-t1 rotate: false - xy: 298, 22 + xy: 282, 6 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/tankenemy-t2 rotate: false - xy: 263, 6 + xy: 298, 6 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/tankenemy-t3 rotate: false - xy: 279, 6 + xy: 411, 227 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 enemies/titanenemy-t1 rotate: false - xy: 230, 92 + xy: 248, 92 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 enemies/titanenemy-t2 rotate: false - xy: 230, 74 + xy: 248, 74 size: 16, 16 orig: 16, 16 offset: 0, 0 index: -1 enemies/titanenemy-t3 rotate: false - xy: 248, 92 + xy: 264, 132 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -1497,56 +1518,56 @@ enemyarrow index: -1 icon-coal rotate: false - xy: 355, 200 + xy: 469, 285 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-dirium rotate: false - xy: 365, 200 + xy: 469, 275 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-iron rotate: false - xy: 355, 190 + xy: 469, 265 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-steel rotate: false - xy: 365, 190 + xy: 469, 255 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-stone rotate: false - xy: 327, 173 + xy: 459, 245 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-titanium rotate: false - xy: 325, 163 + xy: 469, 245 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 icon-uranium rotate: false - xy: 325, 153 + xy: 486, 369 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 laser rotate: false - xy: 488, 465 + xy: 263, 12 size: 1, 12 orig: 1, 12 offset: 0, 0 @@ -1560,35 +1581,35 @@ laserend index: -1 mechs/player rotate: false - xy: 470, 437 + xy: 470, 423 size: 12, 12 orig: 12, 12 offset: 0, 0 index: -1 shell rotate: false - xy: 438, 213 + xy: 324, 73 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shot rotate: false - xy: 466, 387 + xy: 324, 63 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 shot-long rotate: false - xy: 476, 387 + xy: 314, 43 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 titanshell rotate: false - xy: 468, 209 + xy: 501, 299 size: 8, 8 orig: 8, 8 offset: 0, 0 @@ -1680,7 +1701,7 @@ ui/check-over index: -1 ui/clear rotate: false - xy: 358, 220 + xy: 216, 2 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1694,28 +1715,28 @@ ui/cursor index: -1 ui/icon-arrow-left rotate: false - xy: 484, 453 + xy: 464, 383 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icon-arrow-right rotate: false - xy: 484, 441 + xy: 372, 208 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icon-cancel rotate: false - xy: 266, 86 + xy: 250, 42 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icon-check rotate: false - xy: 282, 102 + xy: 266, 50 size: 14, 14 orig: 14, 14 offset: 0, 0 @@ -1743,119 +1764,119 @@ ui/icon-close-over index: -1 ui/icon-crafting rotate: false - xy: 484, 429 + xy: 384, 204 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icon-cursor rotate: false - xy: 496, 457 + xy: 396, 212 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icon-defense rotate: false - xy: 496, 445 + xy: 396, 200 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icon-distribution rotate: false - xy: 496, 433 + xy: 439, 375 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icon-info rotate: false - xy: 452, 383 + xy: 439, 363 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icon-load rotate: false - xy: 266, 70 + xy: 282, 54 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icon-menu rotate: false - xy: 484, 417 + xy: 451, 371 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icon-pause rotate: false - xy: 496, 421 + xy: 463, 371 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icon-play rotate: false - xy: 309, 10 + xy: 451, 359 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icon-play-2 rotate: false - xy: 282, 86 + xy: 298, 70 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icon-power rotate: false - xy: 411, 217 + xy: 463, 359 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icon-production rotate: false - xy: 423, 217 + xy: 439, 351 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icon-quit rotate: false - xy: 266, 54 + xy: 298, 54 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icon-rotate rotate: false - xy: 282, 70 + xy: 234, 26 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icon-rotate-arrow rotate: false - xy: 266, 38 + xy: 250, 26 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icon-save rotate: false - xy: 282, 54 + xy: 266, 34 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icon-settings rotate: false - xy: 382, 216 + xy: 437, 339 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1869,21 +1890,21 @@ ui/icon-tools index: -1 ui/icon-touch rotate: false - xy: 439, 375 + xy: 437, 327 size: 10, 10 orig: 10, 10 offset: 0, 0 index: -1 ui/icon-tutorial rotate: false - xy: 298, 102 + xy: 298, 38 size: 14, 14 orig: 14, 14 offset: 0, 0 index: -1 ui/icon-weapon rotate: false - xy: 439, 363 + xy: 437, 315 size: 10, 10 orig: 10, 10 offset: 0, 0 @@ -1954,7 +1975,7 @@ ui/scroll-knob-vertical index: -1 ui/selection rotate: false - xy: 263, 23 + xy: 231, 30 size: 1, 1 orig: 1, 1 offset: 0, 0 @@ -1968,7 +1989,7 @@ ui/separator index: -1 ui/slider rotate: false - xy: 435, 219 + xy: 488, 469 size: 1, 8 orig: 1, 8 offset: 0, 0 @@ -2098,42 +2119,42 @@ ui/window-empty index: -1 weapons/blaster rotate: false - xy: 449, 339 + xy: 461, 315 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/flamer rotate: false - xy: 314, 90 + xy: 459, 275 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/mortar rotate: false - xy: 324, 33 + xy: 345, 211 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/multigun rotate: false - xy: 375, 196 + xy: 335, 191 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/railgun rotate: false - xy: 334, 53 + xy: 314, 113 size: 8, 8 orig: 8, 8 offset: 0, 0 index: -1 weapons/triblaster rotate: false - xy: 496, 381 + xy: 489, 289 size: 8, 8 orig: 8, 8 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index d03c5f5366..d39424c80a 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/entities/effect/Fx.java b/core/src/io/anuke/mindustry/entities/effect/Fx.java index 80c8813870..ec30c28fa5 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Fx.java +++ b/core/src/io/anuke/mindustry/entities/effect/Fx.java @@ -228,6 +228,18 @@ public class Fx{ Draw.reset(); }), + dooropenlarge = new Effect(10, e -> { + Draw.thickness(e.fract() * 1.6f); + Draw.square(e.x, e.y, Vars.tilesize + e.ifract() * 2f); + Draw.reset(); + }), + + doorcloselarge = new Effect(10, e -> { + Draw.thickness(e.fract() * 1.6f); + Draw.square(e.x, e.y, Vars.tilesize + e.fract() * 2f); + Draw.reset(); + }), + purify = new Effect(10, e -> { Draw.color(Color.ROYAL, Color.GRAY, e.ifract()); Draw.thickness(2f); diff --git a/core/src/io/anuke/mindustry/input/Input.java b/core/src/io/anuke/mindustry/input/Input.java index 648ab02c98..f2092fc956 100644 --- a/core/src/io/anuke/mindustry/input/Input.java +++ b/core/src/io/anuke/mindustry/input/Input.java @@ -62,8 +62,9 @@ public class Input{ } }else if(Inputs.buttonUp(Buttons.LEFT)){ - if(cursor != null && cursor.block() instanceof Configurable){ - Vars.ui.showConfig(cursor); + Tile linked = cursor.isLinked() ? cursor.getLinked() : cursor; + if(linked != null && linked.block() instanceof Configurable){ + Vars.ui.showConfig(linked); }else if(!Vars.ui.hasConfigMouse()){ Vars.ui.hideConfig(); } @@ -98,7 +99,7 @@ public class Input{ public static boolean onConfigurable(){ Tile tile = Vars.world.tile(tilex(), tiley()); - return tile != null && tile.block() instanceof Configurable; + return tile != null && (tile.block() instanceof Configurable || (tile.isLinked() && tile.getLinked().block() instanceof Configurable)); } public static int tilex(){ diff --git a/core/src/io/anuke/mindustry/resource/Recipe.java b/core/src/io/anuke/mindustry/resource/Recipe.java index 4f1ac1e76b..636931ee74 100644 --- a/core/src/io/anuke/mindustry/resource/Recipe.java +++ b/core/src/io/anuke/mindustry/resource/Recipe.java @@ -18,6 +18,7 @@ public enum Recipe{ titaniumwalllarge(defense, DefenseBlocks.titaniumwalllarge, stack(Item.titanium, 8)), duriumwalllarge(defense, DefenseBlocks.diriumwalllarge, stack(Item.dirium, 8)), door(defense, DefenseBlocks.door, stack(Item.steel, 3), stack(Item.iron, 3)), + largedoor(defense, DefenseBlocks.largedoor, stack(Item.steel, 3*4), stack(Item.iron, 3*4)), titaniumshieldwall(defense, DefenseBlocks.titaniumshieldwall, stack(Item.titanium, 2)), conveyor(distribution, DistributionBlocks.conveyor, stack(Item.stone, 1)), diff --git a/core/src/io/anuke/mindustry/world/World.java b/core/src/io/anuke/mindustry/world/World.java index 4b3b3bb875..f43180d32b 100644 --- a/core/src/io/anuke/mindustry/world/World.java +++ b/core/src/io/anuke/mindustry/world/World.java @@ -301,10 +301,6 @@ public class World extends Module{ return false; } - if(tile.block() != type && type.canReplace(tile.block())){ - return true; - } - if(type.isMultiblock()){ int offsetx = -(type.width-1)/2; int offsety = -(type.height-1)/2; @@ -318,6 +314,9 @@ public class World extends Module{ } return true; }else{ + if(tile.block() != type && type.canReplace(tile.block()) && tile.block().isMultiblock() == type.isMultiblock()){ + return true; + } return tile != null && tile.block() == Blocks.air; } } diff --git a/core/src/io/anuke/mindustry/world/blocks/DefenseBlocks.java b/core/src/io/anuke/mindustry/world/blocks/DefenseBlocks.java index 8134a536b4..0ba7330681 100644 --- a/core/src/io/anuke/mindustry/world/blocks/DefenseBlocks.java +++ b/core/src/io/anuke/mindustry/world/blocks/DefenseBlocks.java @@ -1,5 +1,6 @@ package io.anuke.mindustry.world.blocks; +import io.anuke.mindustry.entities.effect.Fx; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.types.Wall; import io.anuke.mindustry.world.blocks.types.defense.*; @@ -96,7 +97,17 @@ public class DefenseBlocks{ } }, door = new Door("door"){{ - fullDescription = "A block than can be opened and closed by clicking it."; + fullDescription = "A block than can be opened and closed by tapping it."; + description = "Opens and closes.\n[interact]Tap to toggle"; health = 90; + }}, + largedoor = new Door("door-large"){{ + formalName = "large door"; + fullDescription = "A block than can be opened and closed by tapping it."; + description = "Opens and closes.\n[interact]Tap to toggle"; + openfx = Fx.dooropenlarge; + closefx = Fx.doorcloselarge; + health = 90*4; + width = height = 2; }}; } diff --git a/core/src/io/anuke/mindustry/world/blocks/types/BlockPart.java b/core/src/io/anuke/mindustry/world/blocks/types/BlockPart.java index 866d0a10c8..f7fcba05f1 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/BlockPart.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/BlockPart.java @@ -11,8 +11,7 @@ public class BlockPart extends Block implements PowerAcceptor, LiquidAcceptor{ public BlockPart() { super("blockpart"); - //TODO note: all block parts are solid, which means you can't have non-solid multiblocks - solid = true; + solid = false; } @Override @@ -20,6 +19,11 @@ public class BlockPart extends Block implements PowerAcceptor, LiquidAcceptor{ //do nothing } + @Override + public boolean isSolidFor(Tile tile){ + return tile.getLinked().solid() || tile.getLinked().block().isSolidFor(tile.getLinked()); + } + @Override public void handleItem(Item item, Tile tile, Tile source){ tile.getLinked().block().handleItem(item, tile.getLinked(), source); diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/Door.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/Door.java index b3237a52d8..9e2db9bbce 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/defense/Door.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/Door.java @@ -38,10 +38,12 @@ public class Door extends Wall implements Configurable{ public void draw(Tile tile){ DoorEntity entity = tile.entity(); + Vector2 offset = getPlaceOffset(); + if(!entity.open){ - Draw.rect(name, tile.worldx(), tile.worldy()); + Draw.rect(name, tile.worldx() + offset.x, tile.worldy() + offset.y); }else{ - Draw.rect(name + "-open", tile.worldx(), tile.worldy()); + Draw.rect(name + "-open", tile.worldx() + offset.x, tile.worldy() + offset.y); } } @@ -55,7 +57,7 @@ public class Door extends Wall implements Configurable{ public void buildTable(Tile tile, Table table){ DoorEntity entity = tile.entity(); - if(anyEntities(tile) && !entity.open){ + if(anyEntities(tile) && entity.open){ return; }