From a24dfedb68311ce44022cb34b9854a748bf947d4 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 8 Jan 2025 17:10:05 -0500 Subject: [PATCH 1/8] Tileable displays nobody asked for --- core/assets/icons/icons.properties | 1 + core/assets/logicids.dat | Bin 4694 -> 4714 bytes core/src/mindustry/content/Blocks.java | 6 +- core/src/mindustry/logic/LExecutor.java | 16 +- .../world/blocks/logic/LogicDisplay.java | 35 ++-- .../blocks/logic/TileableLogicDisplay.java | 149 ++++++++++++++++++ 6 files changed, 185 insertions(+), 22 deletions(-) create mode 100644 core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java diff --git a/core/assets/icons/icons.properties b/core/assets/icons/icons.properties index 0767ed44da..31ea8113d5 100755 --- a/core/assets/icons/icons.properties +++ b/core/assets/icons/icons.properties @@ -592,3 +592,4 @@ 63090=remove-ore|block-remove-ore-ui 63089=small-heat-redirector|block-small-heat-redirector-ui 63088=large-cliff-crusher|block-large-cliff-crusher-ui +63087=tile-logic-display|block-tile-logic-display-ui diff --git a/core/assets/logicids.dat b/core/assets/logicids.dat index 2145ea1672e78ad50bebb8c008fadce2f92dc6f2..51d71438c065e3558ab6933ec1a4d9e3257a7afa 100644 GIT binary patch delta 36 rcmcbn@=Aq?k!d4SEx)i(NoG!}ZccuBX0mQdW^qAIV&&#K{u@jH+MW!U delta 16 XcmaE*a!rMak#QqaE&t}p{MVTPFgFEy diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 2c5f25b200..1f7960452b 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -158,7 +158,7 @@ public class Blocks{ payloadConveyor, payloadRouter, reinforcedPayloadConveyor, reinforcedPayloadRouter, payloadMassDriver, largePayloadMassDriver, smallDeconstructor, deconstructor, constructor, largeConstructor, payloadLoader, payloadUnloader, //logic - message, switchBlock, microProcessor, logicProcessor, hyperProcessor, largeLogicDisplay, logicDisplay, memoryCell, memoryBank, + message, switchBlock, microProcessor, logicProcessor, hyperProcessor, largeLogicDisplay, logicDisplay, logicDisplayTile, memoryCell, memoryBank, canvas, reinforcedMessage, worldProcessor, worldCell, worldMessage, worldSwitch, @@ -6066,6 +6066,10 @@ public class Blocks{ size = 6; }}; + logicDisplayTile = new TileableLogicDisplay("tile-logic-display"){{ + requirements(Category.logic, with(Items.lead, 10, Items.silicon, 10, Items.metaglass, 10, Items.phaseFabric, 6)); + }}; + canvas = new CanvasBlock("canvas"){{ requirements(Category.logic, BuildVisibility.shown, with(Items.silicon, 10, Items.beryllium, 10)); diff --git a/core/src/mindustry/logic/LExecutor.java b/core/src/mindustry/logic/LExecutor.java index 2333fdc344..393fb6edfe 100644 --- a/core/src/mindustry/logic/LExecutor.java +++ b/core/src/mindustry/logic/LExecutor.java @@ -45,9 +45,9 @@ public class LExecutor{ public LInstruction[] instructions = {}; /** Non-constant variables used for network sync */ public LVar[] vars = {}; - + public LVar counter, unit, thisv, ipt; - + public int[] binds; public boolean yield; @@ -226,8 +226,8 @@ public class LExecutor{ cache.found = false; outFound.setnum(0); } - - if(res != null && res.build != null && + + if(res != null && res.build != null && (unit.within(res.build.x, res.build.y, Math.max(unit.range(), buildingRange)) || res.build.team == exec.team)){ cache.build = res.build; outBuild.setobj(res.build); @@ -935,11 +935,7 @@ public class LExecutor{ if(Vars.headless) return; if(target.building() instanceof LogicDisplayBuild d && (d.team == exec.team || exec.privileged)){ - if(d.commands.size + exec.graphicsBuffer.size < maxDisplayBuffer){ - for(int i = 0; i < exec.graphicsBuffer.size; i++){ - d.commands.addLast(exec.graphicsBuffer.items[i]); - } - } + d.flushCommands(exec.graphicsBuffer); exec.graphicsBuffer.clear(); } } @@ -1939,7 +1935,7 @@ public class LExecutor{ public void run(LExecutor exec){ Sound sound = Sounds.getSound(id.numi()); if(sound == null || sound == Sounds.swish) sound = Sounds.none; //no. - + if(positional){ sound.at(World.unconv(x.numf()), World.unconv(y.numf()), pitch.numf(), Math.min(volume.numf(), 2f), limit.bool()); }else{ diff --git a/core/src/mindustry/world/blocks/logic/LogicDisplay.java b/core/src/mindustry/world/blocks/logic/LogicDisplay.java index 1816245ad2..bb30c3bbff 100644 --- a/core/src/mindustry/world/blocks/logic/LogicDisplay.java +++ b/core/src/mindustry/world/blocks/logic/LogicDisplay.java @@ -13,6 +13,7 @@ import mindustry.annotations.Annotations.*; import mindustry.ctype.*; import mindustry.gen.*; import mindustry.graphics.*; +import mindustry.logic.*; import mindustry.ui.*; import mindustry.world.*; import mindustry.world.meta.*; @@ -65,7 +66,7 @@ public class LogicDisplay extends Block{ } public class LogicDisplayBuild extends Building{ - public FrameBuffer buffer; + public @Nullable FrameBuffer buffer; public float color = Color.whiteFloatBits; public float stroke = 1f; public LongQueue commands = new LongQueue(256); @@ -87,12 +88,32 @@ public class LogicDisplay extends Block{ } }); + processCommands(); + + Draw.blend(Blending.disabled); + Draw.draw(Draw.z(), () -> { + if(buffer != null){ + Draw.rect(Draw.wrap(buffer.getTexture()), x, y, buffer.getWidth() * scaleFactor * Draw.scl, -buffer.getHeight() * scaleFactor * Draw.scl); + } + }); + Draw.blend(); + } + + public void flushCommands(LongSeq graphicsBuffer){ + int added = Math.min(graphicsBuffer.size, LExecutor.maxDisplayBuffer - commands.size); + + for(int i = 0; i < added; i++){ + commands.addLast(graphicsBuffer.items[i]); + } + } + + public void processCommands(){ //don't bother processing commands if displays are off - if(!commands.isEmpty()){ + if(!commands.isEmpty() && buffer != null){ Draw.draw(Draw.z(), () -> { Tmp.m1.set(Draw.proj()); Tmp.m2.set(Draw.trans()); - Draw.proj(0, 0, displaySize, displaySize); + Draw.proj(0, 0, buffer.getWidth(), buffer.getHeight()); if(transform != null){ Draw.trans(transform); } @@ -148,14 +169,6 @@ public class LogicDisplay extends Block{ Draw.reset(); }); } - - Draw.blend(Blending.disabled); - Draw.draw(Draw.z(), () -> { - if(buffer != null){ - Draw.rect(Draw.wrap(buffer.getTexture()), x, y, buffer.getWidth() * scaleFactor * Draw.scl, -buffer.getHeight() * scaleFactor * Draw.scl); - } - }); - Draw.blend(); } @Override diff --git a/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java b/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java new file mode 100644 index 0000000000..6ca166553f --- /dev/null +++ b/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java @@ -0,0 +1,149 @@ +package mindustry.world.blocks.logic; + +import arc.graphics.*; +import arc.graphics.g2d.*; +import arc.graphics.gl.*; +import arc.struct.*; +import arc.util.*; +import mindustry.*; +import mindustry.graphics.*; + +import static mindustry.Vars.*; + +public class TileableLogicDisplay extends LogicDisplay{ + protected static final Seq queue = new Seq<>(); + protected static final Seq displays = new Seq<>(); + protected static final IntSet processed = new IntSet(); + + public TileableLogicDisplay(String name){ + super(name); + + displaySize = 32; + } + + public static void linkDisplays(TileableLogicDisplayBuild start){ + TileableLogicDisplayBuild root = null; + + int topX = start.tile.x, topY = start.tile.y, botX = start.tile.x, botY = start.tile.y; + + queue.clear(); + displays.clear(); + processed.clear(); + + queue.add(start); + displays.add(start); + + while(!queue.isEmpty()){ + var next = queue.pop(); + processed.add(next.id); + + //assign root based on bottom leftmost position + if(root == null || next.tile.x < root.tile.x || next.tile.y < root.tile.y){ + root = next; + } + + topX = Math.max(next.tile.x, topX); + topY = Math.max(next.tile.y, topY); + botX = Math.min(next.tile.x, botX); + botY = Math.min(next.tile.y, botY); + + for(var prox : next.proximity){ + if(prox instanceof TileableLogicDisplayBuild disp && processed.add(disp.id)){ + queue.add(disp); + displays.add(disp); + } + } + } + + int tilesWidth = topX - botX + 1, tilesHeight = topY - botY + 1; + + //the new root display has been assigned + for(var member : displays){ + member.rootDisplay = root; + member.tilesWidth = tilesWidth; + member.tilesHeight = tilesHeight; + member.originX = botX; + member.originY = botY; + + //TODO: preserve buffers later + if(member.buffer != null){ + member.buffer.dispose(); + member.buffer = null; + } + } + } + + public class TileableLogicDisplayBuild extends LogicDisplayBuild{ + //bottom left corner of display + public TileableLogicDisplayBuild rootDisplay = this; + //size of display area + public int tilesWidth = 1, tilesHeight = 1, originX, originY; + + @Override + public void draw(){ + Draw.rect(block.region, x, y); + + //don't even bother processing anything when displays are off. + if(!Vars.renderer.drawDisplays) return; + + if(isRoot()){ + Draw.draw(Draw.z(), () -> { + if(buffer == null){ + buffer = new FrameBuffer(32 * tilesWidth, 32 * tilesHeight); + Log.info("create " + buffer.getWidth() + " " + buffer.getHeight()); + //clear the buffer - some OSs leave garbage in it + buffer.begin(Pal.darkerMetal); + buffer.end(); + } + }); + + processCommands(); + } + + Draw.blend(Blending.disabled); + Draw.draw(Draw.z(), () -> { + if(rootDisplay.buffer != null){ + + int rtx = (tile.x - originX), rty = (tile.y - originY); + + Tmp.tr1.set(rootDisplay.buffer.getTexture(), rtx * 32, rty * 32, 32, 32); + Draw.rect(Tmp.tr1, x, y, tilesize, -tilesize); + } + }); + Draw.blend(); + } + + @Override + public void flushCommands(LongSeq graphicsBuffer){ + if(isRoot()){ + super.flushCommands(graphicsBuffer); + }else{ + rootDisplay.flushCommands(graphicsBuffer); + } + } + + @Override + public void onProximityAdded(){ + super.onProximityAdded(); + + linkDisplays(this); + } + + @Override + public void onProximityRemoved(){ + super.onProximityRemoved(); + + processed.clear(); + + for(var other : proximity){ + if(other instanceof TileableLogicDisplayBuild tl && !processed.contains(tl.id)){ + linkDisplays(tl); + } + } + } + + public boolean isRoot(){ + return rootDisplay == this; + } + } +} From 95f9fae05a959386190e597cdede1bbfe3b693ce Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 8 Jan 2025 17:10:29 -0500 Subject: [PATCH 2/8] Tileable displays nobody asked for --- .../sprites/blocks/logic/tile-logic-display.png | Bin 0 -> 121 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 core/assets-raw/sprites/blocks/logic/tile-logic-display.png diff --git a/core/assets-raw/sprites/blocks/logic/tile-logic-display.png b/core/assets-raw/sprites/blocks/logic/tile-logic-display.png new file mode 100644 index 0000000000000000000000000000000000000000..d3747e323c27189b89f8d71a2491dfc42054447b GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U@-P{ zaSVxQeS6N4k->oD$cAL4i4FDaK5X-^I0WC_Z22bk93uk?nDm4>NtP+_+e*V&khrI- KpUXO@geCyKXddwZ literal 0 HcmV?d00001 From 022b21f710d07b4065a3336d5bcd0c8bbcdd02e4 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 8 Jan 2025 17:21:36 -0500 Subject: [PATCH 3/8] dimension limits --- core/assets/bundles/bundle.properties | 1 + .../blocks/logic/TileableLogicDisplay.java | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index ccadd6d8be..c2b1440c42 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1087,6 +1087,7 @@ ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Better Drill Required bar.noresources = Missing Resources diff --git a/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java b/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java index 6ca166553f..cb6d12a2e2 100644 --- a/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java +++ b/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java @@ -1,8 +1,10 @@ package mindustry.world.blocks.logic; +import arc.*; import arc.graphics.*; import arc.graphics.g2d.*; import arc.graphics.gl.*; +import arc.scene.ui.layout.*; import arc.struct.*; import arc.util.*; import mindustry.*; @@ -15,6 +17,9 @@ public class TileableLogicDisplay extends LogicDisplay{ protected static final Seq displays = new Seq<>(); protected static final IntSet processed = new IntSet(); + //in tiles + public int maxDisplayDimensions = 12; + public TileableLogicDisplay(String name){ super(name); @@ -79,6 +84,15 @@ public class TileableLogicDisplay extends LogicDisplay{ //size of display area public int tilesWidth = 1, tilesHeight = 1, originX, originY; + @Override + public void display(Table table){ + super.display(table); + + if(tilesWidth > maxDisplayDimensions || tilesHeight > maxDisplayDimensions){ + table.row().add(Core.bundle.format("bar.displaytoolarge", maxDisplayDimensions, maxDisplayDimensions)).color(Color.scarlet).growX().wrap(); + } + } + @Override public void draw(){ Draw.rect(block.region, x, y); @@ -88,9 +102,8 @@ public class TileableLogicDisplay extends LogicDisplay{ if(isRoot()){ Draw.draw(Draw.z(), () -> { - if(buffer == null){ + if(buffer == null && tilesWidth <= maxDisplayDimensions && tilesHeight <= maxDisplayDimensions){ buffer = new FrameBuffer(32 * tilesWidth, 32 * tilesHeight); - Log.info("create " + buffer.getWidth() + " " + buffer.getHeight()); //clear the buffer - some OSs leave garbage in it buffer.begin(Pal.darkerMetal); buffer.end(); From e2ae2e4f71e192446a373336ef8a90b00283eb1d Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 14 Apr 2025 23:20:29 -0400 Subject: [PATCH 4/8] Tiled background for tiled logic display --- .../blocks/logic/tile-logic-display-back.png | Bin 0 -> 121 bytes .../blocks/logic/tile-logic-display.png | Bin 121 -> 241 bytes .../tiled-display/tile-logic-display-0.png | Bin 0 -> 394 bytes .../tiled-display/tile-logic-display-1.png | Bin 0 -> 331 bytes .../tiled-display/tile-logic-display-10.png | Bin 0 -> 446 bytes .../tiled-display/tile-logic-display-11.png | Bin 0 -> 402 bytes .../tiled-display/tile-logic-display-12.png | Bin 0 -> 339 bytes .../tiled-display/tile-logic-display-13.png | Bin 0 -> 322 bytes .../tiled-display/tile-logic-display-14.png | Bin 0 -> 335 bytes .../tiled-display/tile-logic-display-15.png | Bin 0 -> 352 bytes .../tiled-display/tile-logic-display-16.png | Bin 0 -> 378 bytes .../tiled-display/tile-logic-display-17.png | Bin 0 -> 452 bytes .../tiled-display/tile-logic-display-18.png | Bin 0 -> 341 bytes .../tiled-display/tile-logic-display-19.png | Bin 0 -> 366 bytes .../tiled-display/tile-logic-display-2.png | Bin 0 -> 350 bytes .../tiled-display/tile-logic-display-20.png | Bin 0 -> 376 bytes .../tiled-display/tile-logic-display-21.png | Bin 0 -> 350 bytes .../tiled-display/tile-logic-display-22.png | Bin 0 -> 415 bytes .../tiled-display/tile-logic-display-23.png | Bin 0 -> 427 bytes .../tiled-display/tile-logic-display-24.png | Bin 0 -> 352 bytes .../tiled-display/tile-logic-display-25.png | Bin 0 -> 331 bytes .../tiled-display/tile-logic-display-26.png | Bin 0 -> 390 bytes .../tiled-display/tile-logic-display-27.png | Bin 0 -> 411 bytes .../tiled-display/tile-logic-display-28.png | Bin 0 -> 392 bytes .../tiled-display/tile-logic-display-29.png | Bin 0 -> 419 bytes .../tiled-display/tile-logic-display-3.png | Bin 0 -> 407 bytes .../tiled-display/tile-logic-display-30.png | Bin 0 -> 370 bytes .../tiled-display/tile-logic-display-31.png | Bin 0 -> 357 bytes .../tiled-display/tile-logic-display-32.png | Bin 0 -> 383 bytes .../tiled-display/tile-logic-display-33.png | Bin 0 -> 401 bytes .../tiled-display/tile-logic-display-34.png | Bin 0 -> 363 bytes .../tiled-display/tile-logic-display-35.png | Bin 0 -> 407 bytes .../tiled-display/tile-logic-display-36.png | Bin 0 -> 407 bytes .../tiled-display/tile-logic-display-37.png | Bin 0 -> 340 bytes .../tiled-display/tile-logic-display-38.png | Bin 0 -> 405 bytes .../tiled-display/tile-logic-display-39.png | Bin 0 -> 466 bytes .../tiled-display/tile-logic-display-4.png | Bin 0 -> 431 bytes .../tiled-display/tile-logic-display-40.png | Bin 0 -> 402 bytes .../tiled-display/tile-logic-display-41.png | Bin 0 -> 394 bytes .../tiled-display/tile-logic-display-42.png | Bin 0 -> 365 bytes .../tiled-display/tile-logic-display-43.png | Bin 0 -> 375 bytes .../tiled-display/tile-logic-display-44.png | Bin 0 -> 378 bytes .../tiled-display/tile-logic-display-45.png | Bin 0 -> 385 bytes .../tiled-display/tile-logic-display-46.png | Bin 0 -> 424 bytes .../tiled-display/tile-logic-display-5.png | Bin 0 -> 372 bytes .../tiled-display/tile-logic-display-6.png | Bin 0 -> 361 bytes .../tiled-display/tile-logic-display-7.png | Bin 0 -> 344 bytes .../tiled-display/tile-logic-display-8.png | Bin 0 -> 353 bytes .../tiled-display/tile-logic-display-9.png | Bin 0 -> 396 bytes core/assets/bundles/bundle.properties | 2 + core/assets/icons/icons.properties | 1 + core/assets/logicids.dat | Bin 4728 -> 4748 bytes .../blocks/logic/TileableLogicDisplay.java | 62 +++++++++++++++++- 53 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 core/assets-raw/sprites/blocks/logic/tile-logic-display-back.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-0.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-1.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-10.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-11.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-12.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-13.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-14.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-15.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-16.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-17.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-18.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-19.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-2.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-20.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-21.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-22.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-23.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-24.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-25.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-26.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-27.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-28.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-29.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-3.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-30.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-31.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-32.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-33.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-34.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-35.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-36.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-37.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-38.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-39.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-4.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-40.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-41.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-42.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-43.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-44.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-45.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-46.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-5.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-6.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-7.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-8.png create mode 100644 core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-9.png diff --git a/core/assets-raw/sprites/blocks/logic/tile-logic-display-back.png b/core/assets-raw/sprites/blocks/logic/tile-logic-display-back.png new file mode 100644 index 0000000000000000000000000000000000000000..d3747e323c27189b89f8d71a2491dfc42054447b GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}jKx9jP7LeL$-HD>U@-P{ zaSVxQeS6N4k->oD$cAL4i4FDaK5X-^I0WC_Z22bk93uk?nDm4>NtP+_+e*V&khrI- KpUXO@geCyKXddwZ literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tile-logic-display.png b/core/assets-raw/sprites/blocks/logic/tile-logic-display.png index d3747e323c27189b89f8d71a2491dfc42054447b..2f971b9f4930331fade3a80a737115d7fbed33e7 100644 GIT binary patch delta 199 zcmb>Y$T-2Uezm8IV@O16@*KnLll7del5LGlKG)aXO|1C%;N$_zhQ`LmLe^?eL0(hx1KDI=6H~m z`U64I^;J^U}hTM6Yci%_{t1vJyFnGH9xvXG8wa-H`{3okD%FZVwW zveGB%@3Z{Bb@AUH%>I$@RD0*~Jf;Js{QElpvxPJqw|%F{5Cf9YcY8Wh?)#4A3?FtJ zw{89J6e9Ov7yEsd1CQmti~Q>jsMNb|`$LTZq~b$-!>P}OcboGcHQRr;K*r nf4(pJbieyly*@QKKinVQ5M8E literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-1.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-1.png new file mode 100644 index 0000000000000000000000000000000000000000..d63b889db8dd0073f7873d2fec0a40059ae4b2bc GIT binary patch literal 331 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfLY^*;Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%@5}hVxu5U1pQ_i_`oDL@{-53Z&(a S>| literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-10.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-10.png new file mode 100644 index 0000000000000000000000000000000000000000..80eae1ce667fb684e4fd3ab995a562c2d36d7e8c GIT binary patch literal 446 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNft)4E9Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%?}`3@IiG#j|6aEK?B9F8c;lo0u>V35GZq9()hjbSD82t>>(6|rzh~qBuderyMi2!{omF5bLaJM zuRDBQ?0=)(r^WWS!Hy_a{GtB^WQmP<)Bhx}z03jipT+BE|K9s<_CB-!p>?0d>!lkW r>_7Q>-^*;~fS>tacIE%N^+$Q>VU@W2)|A-{3=9mOu6{1-oD!Mwa-H`{3okD%FZVwW zveGB%>HZV$bzjnFr&rxIug#s;d8%Gt>;K*rf6RZJjsFAZ3xI^aFZy)98zxU8=av8e zSNXG_KVEzP!`7qq3;O@OIREYSzL(jbV>teC|9z(a&+L5bgZ(%1|2@k8%y8xYpQHDm z)vf=%Z2j5#sUQxU!jJqyrQg literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-12.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-12.png new file mode 100644 index 0000000000000000000000000000000000000000..f097352063753ca07abbbcca12895c1fd7c3ef18 GIT binary patch literal 339 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfQl2i3Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%?}`3@IiG#j|6aEK?B9F8c;lo0JYW3je)p+*eXaj{SN!?Dh(??r?o*bqG(Na* S=)l0hz~JfX=d#Wzp$P!>V#M$O literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-13.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-13.png new file mode 100644 index 0000000000000000000000000000000000000000..0bd9356b6a346adec13cdee340427e263ecb1d27 GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfoSrU@Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW wveGB%>3;F4|KmdbRR{ij?@Bw)QF|tfISh>{2j@RwU|?YIboFyt=akR{04%ex%K!iX literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-14.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-14.png new file mode 100644 index 0000000000000000000000000000000000000000..1abc387ec8d5047a8c212bee9fdbbffaf38ff7e7 GIT binary patch literal 335 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfVxBIJAr*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%>HZV$bzjnFr&rxIug#s;d8%Gt>;K*rf4(pJbibQMoJaDE*O-}C%{Ji@U|?Wi N@O1TaS?83{1OQTiy|MrR literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-15.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-15.png new file mode 100644 index 0000000000000000000000000000000000000000..f695521423ed45061804a046d4a48f96494ce4b5 GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNf>Ygr+Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%?}`3@IiG#j|6aEK?B9F8c;lo0u>V35GYmdKI;Vst0Q(cehyVZp literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-16.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-16.png new file mode 100644 index 0000000000000000000000000000000000000000..586b51c6e92b918789c4ab9962dae8100dd47c0a GIT binary patch literal 378 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfj-D=#Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%?}`3@IiG#j|6aEK?B9F8c;lo0u>V35GYTFnGH9xvXwa-H`{3okD%FZVwW zveGB%@5}hVx&NQ(|1)D)|9jc`vw!dX;*F2~!~W|;|G%8iK439pL5N(vu-5r6yYheC z`eVM}A4m&7geR_4p|}5M_x`i>idyH7=l^?@|2e+p*Vg#IHy`cipZY&8+w#~ajf5r#$j5XUe4hd-_i7+rQFnGH9xvX1(e literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-18.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-18.png new file mode 100644 index 0000000000000000000000000000000000000000..2e23c1d3e4dff53aa6488d463fb01a8bb774d91b GIT binary patch literal 341 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfGM+AuAr*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%>HZV$bzjnFr&rxIug#s;d8%Gt>;K*rf6RZJjsFAZ3xI^aFZy)98zxUV=aD?) Yy#m(T^?gpg3=9kmp00i_>zopr0E&FV6#xJL literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-19.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-19.png new file mode 100644 index 0000000000000000000000000000000000000000..9982a1f6567af32fd624670da3ab654ad5a36b74 GIT binary patch literal 366 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfrk*a2Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%?}`3@IiG#j|6aEK?B9F8c;lo0JXenU?i)Y*zZ=Ve*ZW>(f4<-HYxe#hxBr+c zRW#iHbM*eR{SpU@f1Zv1llzZb@n3b|&-boR_lr;c9~VL$&QW`&+|@j*3NEqaF)%PN Nc)I$ztaD0e0s!N<&Vm2{ literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-2.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-2.png new file mode 100644 index 0000000000000000000000000000000000000000..e96d4165cc21a7285cd55ee157a6b36e444f2d4b GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfs-7;6Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%@5}hVxu5U1pQ_i_`oDL@{-53Z&(?3fUVHiavzaUYd|&kGKKIA?C(8D}HlH=# y`)>9=v-2)b_lr;c9~bhkI`HRvS88znbF_1DUMRC(^_PKxfx*+&&t;ucLK6Von8fq| literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-20.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-20.png new file mode 100644 index 0000000000000000000000000000000000000000..e6c30aca834df119cf612d7cb84564a10bba4694 GIT binary patch literal 376 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNf_MR?|Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%?}`3@IiG#j|6aEK?B9F8c;lo0JYW3je)p+*eXaj{SN!?Dh&r5!^Z#AFZ+5=> z!TuBZ{~qOkt`Ybn{_AY~pWJ!eQ~xLJ|Jl9&EVIBL^NPFXwYl>;AM8K*df&@z<`4bb Y75T48bX8X}FfcH9y85}Sb4q9e02(pdAOHXW literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-21.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-21.png new file mode 100644 index 0000000000000000000000000000000000000000..601d11fa5a79762465699564f39686ef994642c4 GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfs-7;6Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%>HZV$bzjnFr&rxIug#s;d8%Gt>;K*rf6RZJjsFAZ3xI^aFZy)98zxU8=av8e ySNXI5+lBnA4*dDv^)JZqf6^f4)BWQAIkx=fw&++mosofofx*+&&t;ucLK6U?D8}pn literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-22.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-22.png new file mode 100644 index 0000000000000000000000000000000000000000..707b1d692c1c8fe61bc9a0b7e92dae1379f1e4e2 GIT binary patch literal 415 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfX`U{QAr*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%@5}hVx&NQ(|1)D)|9jc`vw!dX;*F2~^IVxB?z?aN?Eh*Z^In$T|FZRGzQfx^Lz`(%Z>FVdQ&MBb@0CT?UyZ`_I literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-23.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-23.png new file mode 100644 index 0000000000000000000000000000000000000000..754308d71ca3c051a8abe1cb094cf849c6894ea6 GIT binary patch literal 427 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfMV>B>Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%?}`3@IiG#j|6aEK?B9F8c;lo0JXenU?i)Y*zZ=Ve*ZW>(f4<-HYxe#hxBr+c zRW#iHbM*eR{SpU@f1Zv1llzZb@n3b|&-boR_lr;c9~VLf=gRzlSMQshKOVjRVRrX_ z2l<~D=fAyPd-?jaodSQve}OES$9=GVBiLTX75jg7??3w&;yf)7hu7i5{U@dOziee( j@yERCu6b?lKfxQ5bP0l+XkKbt3lv literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-24.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-24.png new file mode 100644 index 0000000000000000000000000000000000000000..31bd464c7cc04cf159d28e5118daddbca5c719c6 GIT binary patch literal 352 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNf>Ygr+Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%?}`3@IiG#j|6aEK?B9F8c;lo0JYW3je)p+*eXaj{SN!?Dh$7#KWV{an^LB{Ts5kMhl< literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-25.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-25.png new file mode 100644 index 0000000000000000000000000000000000000000..1d470b889fab16ad39f014f09e2f3346a23cd853 GIT binary patch literal 331 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfLY^*;Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%>3;F4|KmdbRR{ij?@A@kmHGd!-Z%SSyW-FHMW60>|C+u3$L&AnAm*uh{eOb| Y>a6!Z_3qiqz`(%Z>FVdQ&MBb@08zBMD*ylh literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-26.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-26.png new file mode 100644 index 0000000000000000000000000000000000000000..5e955e602a8578683d0d7015513b5b3efd66a72f GIT binary patch literal 390 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfzMd|QAr*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%>HZV$bzjnFr&rxIug#s;d8%Gt>;K*rf4(pJbibP#oLBz;U**sK&-DFH6?=d6 zo!|<+kbm7V-yh6osJQcZ-XZ3IpZXf{&r~6L|`>VMa{&OroBd)yWPNOOV0|SGntDnm{r-UW|R$bcA literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-27.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-27.png new file mode 100644 index 0000000000000000000000000000000000000000..7b2e16d1fe8258c890de8d0ea624ff3c860d3267 GIT binary patch literal 411 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfNuDl_Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%?}`3@IiG#j|6aEK?B9F8c;lo0u>V35GYwa-H`{3okD%FZVwW zveGB%@5}hVxu5U1pQ_i_`oDL@{-53Z&(&gH+!Gi|IoV6 w;`P!E5B8sYz3*iwa-H`{3okD%FZVwW zveGB%@5}hVx&NQ(|1)D)|9jc`vw!dX;*F2~!~W|;|G%8iK439pL5N(vu-5r6yYheC z`eVM}A4m&7geR_4p|}5M_x`i>idyH7=l^?@|2e+p*Vg#IHy`cipZY&8;K*rf4)DGXH+(o@thX^Y$5{# O1B0ilpUXO@geCwNVeq>E literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-3.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-3.png new file mode 100644 index 0000000000000000000000000000000000000000..bd1b9b80321a7e294d2cba2f785867df9de4a111 GIT binary patch literal 407 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfah@)YAr*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%@3Z{Bb@AUH%>I$@RD0*~Jf;Js{QElpvxPJqw|%F{5Cf9YcY8Wh?)#4A3?FtJ zw{88Ov;Oz8^=FL(D;r+R)d(~6SKkT#q3`r`CrB+r#hu6V4%IVioj(pThyUM!a`FF- ycApm8-?q`$`oDL@pYMx4-S0kCPZiD&cU2dOOGgX5wlOd;FnGH9xvXwa-H`{3okD%FZVwW zveGB%@5}hVxu5U1pQ_i_`oDL@{-53Z&(bcpC|hNwa-H`{3okD%FZVwW zveGB%>HZV$bzjnFr&rxIug#s;d8%Gt>;K*rf4(pJbibP#oLBz;U**q!{&?;E4_lAc y+d&Qg_e}qv+4pLYo&UN6f4+Bpx?lW1hnE-Esz1w&>=+mr7(8A5T-G@yGywoXG0lYl literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-32.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-32.png new file mode 100644 index 0000000000000000000000000000000000000000..06a003dc2bbf08a1d62e42145fb714acdd6709fd GIT binary patch literal 383 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfZk{fVAr*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%>3;F4|KmdbRR{ij?@A@kmHGd!-ZwjcJbM4b?C$>#@;@)me|x?5^7Uss1^$Tt zIvf8dcOLh_`i=Mh9KHXHamD_h-TTk}jr;B!Kl{HHh{Nmf;r^4-`(L&)uJ~hKb=SN$ c_n+Y6W}zG2G7}OQ7#J8lUHx3vIVCg!0Dg|x?f?J) literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-33.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-33.png new file mode 100644 index 0000000000000000000000000000000000000000..6300cb33c869a3d5b17229d54e1bdacdd4f7794b GIT binary patch literal 401 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNf5uPrNAr*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%@5}hVx&NQ(|1)D)|9jc`vw!dX;*F2~^IVxB?z?aN?Eh*Z^In$T|FZRGzQf2+Y&)f;O4-@D?^_eb)K@6L-?Z96@+h=GBD!PC{xWt~$(69C>e B=9vHh literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-34.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-34.png new file mode 100644 index 0000000000000000000000000000000000000000..6e4e7d8bc648e196b8f9e20e683058cb4823cc65 GIT binary patch literal 363 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfMxHK?Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%>HZV$bzjnFr&rxIug#s;d8%Gt>;K*rf6RZJjsFAZ3xI^aFZy)98zxU8=av8e zSNXG_KVEzP!`7qqc3>;MFZ%aP|DW0SYLLzUx&wc{cYV5F{69y~cAnb{QVz#4FfcH9 My85}Sb4q9e0IA~92mk;8 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-35.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-35.png new file mode 100644 index 0000000000000000000000000000000000000000..d405a66941c74cb89dc1b4267906620df7de9ead GIT binary patch literal 407 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfah@)YAr*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%?}`3@IiG#j|6aEK?B9F8c;lo0u>V35GZq9()hjbSD82t>>(6|rzh~qBuderyMi2!{omF5bLaJM zuRDBQ?Eg=w5x+pD-+2#qgudI;{o+&q$Nf=WFCxhvxO>TL1_lNOPgg&ebxsLQ00ZXm A%K!iX literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-36.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-36.png new file mode 100644 index 0000000000000000000000000000000000000000..b5dcd96de167185da07f026043802034906a4b20 GIT binary patch literal 407 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfah@)YAr*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%@3Z{Bb@AUH%>I$@RD0*~Jf;Js{QElpvxPJqw|%F{5Cf9YcY8Wh?)#4A3?FtJ zw{89J6e9Ov7yEsd1CQmti~Q>jsMNb|`$LTZq~b$-!>P}OcboGcHQRr;K*r zf4(pJbieyly*}w2?hlvu|GNFmUViHTxR8Iwa-H`{3okD%FZVwW zveGB%@5}hVxu5U1pQ_i_`oDL@{-53Z&({`(#9 w^S$fS{o-HE>pyP)neXy+zxdSuaetKAK5$zcn?1dVfq{X+)78&qol`;+04GYrCIA2c literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-38.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-38.png new file mode 100644 index 0000000000000000000000000000000000000000..9dde6ec78d2e92b554196585af61b64fcef36f41 GIT binary patch literal 405 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfF`h1tAr*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%@5}hVxu5U1pQ_i_`oDL@{-53Z&(?3fUVHiavzaUYd|&kGKKIA?C(8D}HlH=# z`)>9=v-2)b_lr;c9~bhkI`HRvSCTpPzryQp{}JEu{F-&eoyYSI6)*f0|6~{YeU<}{ z<-Uu^HJqwn_*$+;_svb{w~5Z2(D4{jb(veJ7aVhkM9n WSc5@%-!xTE@^3LVWFX+q2(a({R}NY3CQU1aF8u&X>M*VExTvW*BvZnEfN)srJs}c}xdN`S*4HXA5aKZu?G?AqFI)@Ah=2-1i;J89wYd zZrl1lXZ`PG>(3eoRyMqrs}W}Cuf7xfL*MD?PLNuLiaU?z9ja&4I)5Bw4*$Oc<>LPv z?LIBGzip$h^?&b*Ki?O9y5D`Oo(vB6hs*na-F{|&!FKz-gOBCDi_GJm`d{g~?GH5u zkn27$g#6=<{r+HfgU8kAZ=K!PC{xWt~$(696V-1hD`B literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-4.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-4.png new file mode 100644 index 0000000000000000000000000000000000000000..73bc47f6c20b427f754ee4d3e672e7ab7202cf89 GIT binary patch literal 431 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfWu7jMAr*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%@3Z{Bb@AUH%>I$@RD0*~Jf;Js{QElpvxPJqw|%F{5Cf9YcY8Wh?)#4A3?FtJ zw{89J6e9Ov7yEsd1CQmti~Q>jsMNb|`$LTZq~b$-!>P}OcboGcHQRr;K*r zf4(pJbieyly*?S7iSz$my>E8D`@#Mb`Tri}f36YuBmV1b{GZ%;+*AK2?f==m|17h> tAM=X4=C!%=Iv?ym`Fh{WY~~OBEGY{A3bt7+Vqjok@O1TaS?83{1ORNH^}GN8 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-40.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-40.png new file mode 100644 index 0000000000000000000000000000000000000000..d8e5ebf9ebda0347791b03801c020b9a56c4fd0a GIT binary patch literal 402 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfk)AG&Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%?}`3@IiG#j|6aEK?B9F8c;lo0u>V35GYX6IW^)o;B2=ji=s vj2!=@_q?0E&+NR*hx<=T?|<3K_`}_Et=P45y@Kux3=9mOu6{1-oD!M<`*7s0 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-41.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-41.png new file mode 100644 index 0000000000000000000000000000000000000000..3051e8352fe0a33988ec3b79fbfedcb85bd2a01f GIT binary patch literal 394 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNffu1goAr*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%?}`3@IiG#j|6aEK?B9F8c;lo0u>V35GZq9()hjbSD82t>>(6|rzh~qBuderyMi2!{omF5bN~Gg x`1#)T>3;FA=Jg-9|IBxJx?gwa-H`{3okD%FZVwW zveGB%?}`3@IiG#j|6aEK?B9F8c;lo0u>V35GYwa-H`{3okD%FZVwW zveGB%?}`3@IiG#j|6aEK?B9F8c;lo0JXenU?i)Y*zZ=Ve*ZW>(f4<-HYxe#hxBr+c zRW#iHbM*eR{SpU@f1Zv1llzZb@n3b|&-boR_lr;c9~VLf=gRzlSMQtsuU+xy`=U?x jyP-CLn5XLX{|UO739;W_Jh793fq}u()z4*}Q$iB}5p>ss literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-44.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-44.png new file mode 100644 index 0000000000000000000000000000000000000000..1a855c12d0dadd26872e0d7f92d9ae1e1e812ee0 GIT binary patch literal 378 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNfj-D=#Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%>HZV$bzjnFr&rxIug#s;d8%Gt>;K*rf6RZJjsFAZ3xI^aFZy)98zxUO$F=TP zc>Qe~{igp)`+s)tKl|D7L;MT#`j6Wy^+Nu2|9z(a&y3&U!~F-P_rGkdRBQULw*L3B e^}Gk{nHc^E8vO5m{fmKtfx*+&&t;ucLK6U{AlA14 literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-45.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-45.png new file mode 100644 index 0000000000000000000000000000000000000000..02daf28af874d72a31332af621b163ec47fb2433 GIT binary patch literal 385 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNf9-c0aAr*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%?}`3@IiG#j|6aEK?B9F8c;lo0u>V35GZq9()hjbSD82t>>(6|rzh~qBuderyMjubdKRlYLhPp( Td0k~-U|{fc^>bP0l+XkKF00|r literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-46.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-46.png new file mode 100644 index 0000000000000000000000000000000000000000..d2133fec289ede863b0af1122e25c783d1575976 GIT binary patch literal 424 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNf`JOJ0Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%?}`3@IiG#j|6aEK?B9F8c;lo0u>V35GZq9()hjbSD82t>>(6|rzh~qBuderyMio^_)m}v_P?9G z&+L5bgZ&rs|2@k89K-Ri8*C}R!_)mIK|;&|f6OcIn%CwsX#MYv`|cY*yPn0cTQ<(X TELMqufq}u()z4*}Q$iB}__y?@ literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-5.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-5.png new file mode 100644 index 0000000000000000000000000000000000000000..724b6de76951242ffc9b28031d4ff81b8996fb14 GIT binary patch literal 372 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNf)}AhoAr*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%@5}hVxu5U1pQ_i_`oDL@{-53Z&(?3fUVHiavzaUYd|&kGKKIA?C(8D}HlH=# z`)>9=v-2)b_lr;c9~bhkI`HRvSCTpPzryQp+sNntZCkJV?=#ehujch1x9`0Fdf&_J g&+$DFxBPJb?Idtvd9&XI1_lNOPgg&ebxsLQ01Y$KrT_o{ literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-6.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-6.png new file mode 100644 index 0000000000000000000000000000000000000000..613aaae734fb8eef0dd4a25207897d9da260ef54 GIT binary patch literal 361 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNf2A(dCAr*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%>3;F4|KmdbRR{ij?@BdJcg+*``fc&wedA|8clr?j!o2?D_DVgL|3~XSi`UO) zU-0Sv6Oa%i$G_Qo-p$@;#xV82+xp+j)}OU!()Z@Ral2%h5d#AQgQu&X%Q~loCIF7( B#ufko literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-7.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-7.png new file mode 100644 index 0000000000000000000000000000000000000000..cc87fd224110f0c814dd71d07f62ff9f72759f07 GIT binary patch literal 344 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNf@}4e^Ar*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%>3;F4|KmdbRR{ij?@A@kmHGd!-ZwjcJbM4b?C$?HP{aS8jsKJT?)$F%U$_2< jFaC7D`&7ODKfyIu*c;Vfi%(-bP0l+XkKBAUTm literal 0 HcmV?d00001 diff --git a/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-8.png b/core/assets-raw/sprites/blocks/logic/tiled-display/tile-logic-display-8.png new file mode 100644 index 0000000000000000000000000000000000000000..69c58742fbba1200c4495e861264d9b97d54f1ba GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANNf8lEnWAr*{oA23c(@tmaM zDb&4c=5BWvm$bCBu+Y%Z&~gy?eufsH1Y~r0ILMZ?G&eVwmff>wa-H`{3okD%FZVwW zveGB%@5}hVxu5U1pQ_i_`oDL@{-53Z&(&gwa-H`{3okD%FZVwW zveGB%@5}hVx&NQ(|1)D)|9jc`vw!dX;*F2~!~W|;|G%8iK439pL5N(vu-5r6yYheC z`eVM}A4m&7geR_4p|}5M_x`i>idyH7=l^?@|2e+p*Vg#IHy`cipZY&8 { if(rootDisplay.buffer != null){ @@ -124,6 +167,10 @@ public class TileableLogicDisplay extends LogicDisplay{ } }); Draw.blend(); + + Draw.z(Layer.block + 0.002f); + + Draw.rect(tileRegion[bitmasks[bits]], x, y); } @Override @@ -135,11 +182,22 @@ public class TileableLogicDisplay extends LogicDisplay{ } } + public void updateOthers(){ + for(int i = 0; i < 4; i++){ + Tile other = tile.nearby(Geometry.d8edge(i)); + if(other != null && other.block() == block && other.team() == team){ + other.build.onProximityUpdate(); + } + } + } + @Override public void onProximityAdded(){ super.onProximityAdded(); linkDisplays(this); + + updateOthers(); } @Override @@ -153,6 +211,8 @@ public class TileableLogicDisplay extends LogicDisplay{ linkDisplays(tl); } } + + updateOthers(); } public boolean isRoot(){ From 056f56db9543b5697dca6a78163185f2522de4f4 Mon Sep 17 00:00:00 2001 From: Github Actions Date: Tue, 15 Apr 2025 03:23:38 +0000 Subject: [PATCH 5/8] Automatic bundle update --- core/assets/bundles/bundle_be.properties | 3 +++ core/assets/bundles/bundle_bg.properties | 3 +++ core/assets/bundles/bundle_ca.properties | 3 +++ core/assets/bundles/bundle_cs.properties | 3 +++ core/assets/bundles/bundle_da.properties | 3 +++ core/assets/bundles/bundle_de.properties | 3 +++ core/assets/bundles/bundle_es.properties | 3 +++ core/assets/bundles/bundle_et.properties | 3 +++ core/assets/bundles/bundle_eu.properties | 3 +++ core/assets/bundles/bundle_fi.properties | 3 +++ core/assets/bundles/bundle_fil.properties | 3 +++ core/assets/bundles/bundle_fr.properties | 3 +++ core/assets/bundles/bundle_hu.properties | 3 +++ core/assets/bundles/bundle_id_ID.properties | 3 +++ core/assets/bundles/bundle_it.properties | 3 +++ core/assets/bundles/bundle_ja.properties | 3 +++ core/assets/bundles/bundle_ko.properties | 3 +++ core/assets/bundles/bundle_lt.properties | 3 +++ core/assets/bundles/bundle_nl.properties | 3 +++ core/assets/bundles/bundle_nl_BE.properties | 3 +++ core/assets/bundles/bundle_pl.properties | 3 +++ core/assets/bundles/bundle_pt_BR.properties | 3 +++ core/assets/bundles/bundle_pt_PT.properties | 3 +++ core/assets/bundles/bundle_ro.properties | 3 +++ core/assets/bundles/bundle_ru.properties | 3 +++ core/assets/bundles/bundle_sr.properties | 3 +++ core/assets/bundles/bundle_sv.properties | 3 +++ core/assets/bundles/bundle_th.properties | 3 +++ core/assets/bundles/bundle_tk.properties | 3 +++ core/assets/bundles/bundle_tr.properties | 3 +++ core/assets/bundles/bundle_uk_UA.properties | 3 +++ core/assets/bundles/bundle_vi.properties | 3 +++ core/assets/bundles/bundle_zh_CN.properties | 3 +++ core/assets/bundles/bundle_zh_TW.properties | 3 +++ 34 files changed, 102 insertions(+) diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties index c7e5898a73..3b7beb3acb 100644 --- a/core/assets/bundles/bundle_be.properties +++ b/core/assets/bundles/bundle_be.properties @@ -1076,6 +1076,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Даступны Толькі Перанос Рэсурсаў У Ядро bar.drilltierreq = Патрабуецца свідар лепей @@ -1937,6 +1938,7 @@ block.logic-processor.name = Працэсар Логікі block.hyper-processor.name = Гіперпрацэсар block.logic-display.name = Экран block.large-logic-display.name = Вялікі Экран +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Ячэйка Памяці block.memory-bank.name = Блок Памяці team.malis.name = Маліс @@ -2227,6 +2229,7 @@ block.memory-cell.description = Stores information for a logic processor. block.memory-bank.description = Stores information for a logic processor. High capacity. block.logic-display.description = Displays arbitrary graphics from a logic processor. block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. diff --git a/core/assets/bundles/bundle_bg.properties b/core/assets/bundles/bundle_bg.properties index f16790e709..5850dc699e 100644 --- a/core/assets/bundles/bundle_bg.properties +++ b/core/assets/bundles/bundle_bg.properties @@ -1090,6 +1090,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] намаляване на ability.stat.minspeed = [stat]{0} полета/в сек.[lightgray] мин. скорост ability.stat.duration = [stat]{0} в сек.[lightgray] продължителност ability.stat.buildtime = [stat]{0} в сек.[lightgray] време за строеж +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Доставянето е разрешено само до ядрото @@ -1956,6 +1957,7 @@ block.logic-processor.name = Логически процесор block.hyper-processor.name = Хипер процесор block.logic-display.name = Логически дисплей block.large-logic-display.name = Голям логически дисплей +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Клетка памет block.memory-bank.name = Банка памет team.malis.name = Малис @@ -2247,6 +2249,7 @@ block.memory-cell.description = Съхранява информация, коя block.memory-bank.description = Съхранява информация, която може да се достъпва или променя от процесор. Има голям капацитет. block.logic-display.description = Позволява изобразяването на графика чрез процесор. block.large-logic-display.description = Позволява изобразяването на графика чрез процесор. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = Масивна електромагнитна релсова кула. Ускорява ядрото до необходимата за междупланетно изстрелване скорост. block.repair-turret.description = Непрекъснато ремонтира най-близката повредена единица в обхват. Може да приема охладител. block.core-bastion.description = Ядро на базата. Добре бронирано. Ако бъде унищожено, секторът е загубен. diff --git a/core/assets/bundles/bundle_ca.properties b/core/assets/bundles/bundle_ca.properties index 981d5a4a2a..d9503e4516 100644 --- a/core/assets/bundles/bundle_ca.properties +++ b/core/assets/bundles/bundle_ca.properties @@ -1090,6 +1090,7 @@ ability.stat.damagereduction = [stat]{0} %[lightgray] de reducció del dany ability.stat.minspeed = [stat]{0} caselles/seg[lightgray] de velocitat mín. ability.stat.duration = [stat]{0} seg[lightgray] de duració ability.stat.buildtime = [stat]{0} seg[lightgray] de temps de construcció +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Només es permet depositar al nucli. bar.drilltierreq = Cal una perforadora millor. @@ -1957,6 +1958,7 @@ block.logic-processor.name = Processador lògic block.hyper-processor.name = Hiperprocessador block.logic-display.name = Monitor lògic block.large-logic-display.name = Monitor lògic gran +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Cel·la de memòria block.memory-bank.name = Banc de memòria @@ -2249,6 +2251,7 @@ block.memory-cell.description = Emmagatzema informació per a un processador lò block.memory-bank.description = Emmagatzema informació per a un processador lògic. Alta capacitat. block.logic-display.description = Mostra un gràfic des d’un processador lògic. block.large-logic-display.description = Mostra un gràfic des d’un processador lògic. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = Una torreta amb un canó electromagnètic enorme. Accelera els nuclis fins aconseguir la velocitat d’escapament per a fer llançaments interplanetaris. block.repair-turret.description = Repara contínuament la unitat danyada que tingui més a prop al seu voltant. També se li pot subministrar refrigerant perquè funcioni més ràpid. block.core-bastion.description = Nucli de la base. Blindat. Quan es destrueix, es perd el sector. diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index c10411bab8..e6f7a39fdd 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -1091,6 +1091,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Pouze Ukládání do Jádra je povoleno @@ -1956,6 +1957,7 @@ block.logic-processor.name = Logický procesor block.hyper-processor.name = Hyperprocesor block.logic-display.name = Zobrazovač logiky block.large-logic-display.name = Velký zobrazovač logiky +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Paměťová buňka block.memory-bank.name = Paměťová banka team.malis.name = Malis @@ -2248,6 +2250,7 @@ block.memory-cell.description = Ukládá informace z logického procesoru. block.memory-bank.description = Ukládá informace z logického procesoru. Větší kapacita. block.logic-display.description = Zobrazuje libovolnou grafiku z logického procesoru. block.large-logic-display.description = Zobrazuje libovolnou grafiku z logického procesoru. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = Masivní elektromagnetická věž. Urychlí jádro na únikovou rychlost pro meziplanetární vyslání. block.repair-turret.description = Nepřetržitě opravuje nejblížší poškozenou jednotku v jeho blízkosti. Lze volitelně dodávat chlazení pro jeho posílení. block.core-bastion.description = Jádro základny. Obrněné. Pokud je zničeno, sektor je ztracen. diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties index 4a3b9881c0..ea304c213c 100644 --- a/core/assets/bundles/bundle_da.properties +++ b/core/assets/bundles/bundle_da.properties @@ -1077,6 +1077,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Only Core Depositing Allowed @@ -1939,6 +1940,7 @@ block.logic-processor.name = Topdatamat block.hyper-processor.name = Hyperdatamat block.logic-display.name = Dataskærm block.large-logic-display.name = Større Dataskærm +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Hukommelsescelle block.memory-bank.name = Hukommelsesbank team.malis.name = Malis @@ -2227,6 +2229,7 @@ block.memory-cell.description = Stores information for a logic processor. block.memory-bank.description = Stores information for a logic processor. High capacity. block.logic-display.description = Displays arbitrary graphics from a logic processor. block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index 4a9458e193..2efd45529b 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -1102,6 +1102,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] Schadensreduktion ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min Geschwindigkeit ability.stat.duration = [stat]{0} sek[lightgray] Dauer ability.stat.buildtime = [stat]{0} sek[lightgray] Baudauer +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Nur Kernablage möglich @@ -1971,6 +1972,7 @@ block.logic-processor.name = Logikprozessor block.hyper-processor.name = Hyperprozessor block.logic-display.name = Logik-Bildschirm block.large-logic-display.name = Großer Logik-Bildschirm +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Speicherzelle block.memory-bank.name = Große Speicherzelle @@ -2274,6 +2276,7 @@ block.memory-cell.description = Speichert Informationen für einen Prozessor. block.memory-bank.description = Speichert Informationen für einen Prozessor. Hohe Kapazität. block.logic-display.description = Zeigt mithilfe eines Prozessors Beliebiges an. block.large-logic-display.description = Zeigt mithilfe eines Prozessors Beliebiges an. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = Ein Riesen-Railgun-Turm, der mithilfe des Elektromagnetismus Kerne auf die nötige Geschwindigkeit bringt, um interplanetarisches Reisen zu ermöglichen. block.repair-turret.description = Heilt durchgehend die nächste befreundete, beschädigte Einheit in der Umgebung. Verwendet optional Kühlung. diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index 19bb2d0096..962c4964ca 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -1096,6 +1096,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Sólo se permite depositar en el núcleo bar.drilltierreq = Requiere un taladro mejor @@ -1963,6 +1964,7 @@ block.logic-processor.name = Procesador lógico block.hyper-processor.name = Hiperprocesador block.logic-display.name = Pantalla lógica block.large-logic-display.name = Pantalla lógica grande +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Unidad de memoria block.memory-bank.name = Servidor de memoria # Name of the teams that are not colors or adjectives are intentionally untrasnlated. @@ -2262,6 +2264,7 @@ block.memory-cell.description = Almacena información para los procesadores lóg block.memory-bank.description = Almacena información para los procesadores lógicos. Alta capacidad. block.logic-display.description = Muestra gráficos arbitrarios dibujados desde un procesador lógico. block.large-logic-display.description = Muestra gráficos arbitrarios dibujados desde un procesador lógico. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = Una torre de proyección electromagnética masiva. Acelera núcleos hasta la velocidad necesaria para escapar del campo gravitatorio del planeta, habilitando el despliegue interplanetario. block.repair-turret.description = Repara continuamente la unidad dañada más cercana dentro de su alcance. Opcionalmente acepta refrigerante. diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties index ab9b8c4fd7..926dc13b4a 100644 --- a/core/assets/bundles/bundle_et.properties +++ b/core/assets/bundles/bundle_et.properties @@ -1080,6 +1080,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Only Core Depositing Allowed @@ -1942,6 +1943,7 @@ block.logic-processor.name = Logic Processor block.hyper-processor.name = Hyper Processor block.logic-display.name = Logic Display block.large-logic-display.name = Large Logic Display +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Memory Cell block.memory-bank.name = Memory Bank team.malis.name = Malis @@ -2232,6 +2234,7 @@ block.memory-cell.description = Stores information for a logic processor. block.memory-bank.description = Stores information for a logic processor. High capacity. block.logic-display.description = Displays arbitrary graphics from a logic processor. block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties index 15c7ba7393..34a65710fa 100644 --- a/core/assets/bundles/bundle_eu.properties +++ b/core/assets/bundles/bundle_eu.properties @@ -1079,6 +1079,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Only Core Depositing Allowed @@ -1941,6 +1942,7 @@ block.logic-processor.name = Logic Processor block.hyper-processor.name = Hyper Processor block.logic-display.name = Logic Display block.large-logic-display.name = Large Logic Display +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Memory Cell block.memory-bank.name = Memory Bank team.malis.name = Malis @@ -2231,6 +2233,7 @@ block.memory-cell.description = Stores information for a logic processor. block.memory-bank.description = Stores information for a logic processor. High capacity. block.logic-display.description = Displays arbitrary graphics from a logic processor. block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index 01a71beba2..0ea9ac480e 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -1078,6 +1078,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Sijoittaminen sallittua vain ytimeen @@ -1943,6 +1944,7 @@ block.logic-processor.name = Logiikkaprosessori block.hyper-processor.name = Hyperprosessori block.logic-display.name = Logiikkanäyttö block.large-logic-display.name = Iso logiikkanäyttö +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Muistisolu block.memory-bank.name = Muistipankki team.malis.name = Malis @@ -2234,6 +2236,7 @@ block.memory-cell.description = Varastoi tietoa prosessorille. block.memory-bank.description = Varastoi tietoa prosessorille. Suuri kapasiteetti. block.logic-display.description = Näyttää mielivaltaista ggrafiikkaa prosessorista. block.large-logic-display.description = Näyttää mielivaltaista ggrafiikkaa prosessorista. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = Massiivinen sähkömagneettinen raidetykkitorni. Kiihdyttää ytimiä pakonopeuteen interplanetaarista leviämistä varten. block.repair-turret.description = Korjaa jatkuvasti lähintä vahingoittunutta yksikköä lähellään. Käyttää vaihtoehtoisesti jäähdytysnestettä. block.core-bastion.description = Tukikohdan ydin. Panssaroitu. Mikäli tuhottu, sektori on menetetty. diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties index 4cbe14b77e..6dddd733c6 100644 --- a/core/assets/bundles/bundle_fil.properties +++ b/core/assets/bundles/bundle_fil.properties @@ -1083,6 +1083,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] pagbabawas ng pinsala ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min ng bilis ability.stat.duration = [stat]{0} sec[lightgray] na tagal ability.stat.buildtime = [stat]{0} sec[lightgray] oras na pagbuo +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Pinapayag lang ang Cire Depositing @@ -1949,6 +1950,7 @@ block.logic-processor.name = Logic Processor block.hyper-processor.name = Hyper Processor block.logic-display.name = Logic Display block.large-logic-display.name = Malaking Logic Display +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Memory Cell block.memory-bank.name = Memory Bank team.malis.name = Malis @@ -2239,6 +2241,7 @@ block.memory-cell.description = Stores information for a logic processor. block.memory-bank.description = Stores information for a logic processor. High capacity. block.logic-display.description = Displays arbitrary graphics from a logic processor. block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties index 96a65e265f..15f1551b15 100644 --- a/core/assets/bundles/bundle_fr.properties +++ b/core/assets/bundles/bundle_fr.properties @@ -1102,6 +1102,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Seul le dépôt de ressources dans le Noyau est autorisé bar.drilltierreq = Meilleure Foreuse Requise @@ -1971,6 +1972,7 @@ block.logic-processor.name = Processeur block.hyper-processor.name = Hyper Processeur block.logic-display.name = Écran block.large-logic-display.name = Grand Écran +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Cellule de mémoire block.memory-bank.name = Banque de mémoire @@ -2270,6 +2272,7 @@ block.memory-cell.description = Stocke des informations pour un processeur logiq block.memory-bank.description = Stocke des informations pour un processeur logique. Possède une plus grande capacité. block.logic-display.description = Affiche des images à partir des instructions d'un processeur logique. block.large-logic-display.description = Affiche des images à partir des instructions d'un processeur logique. Possède une plus grande résolution qu'un écran. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = Un énorme canon électromagnétique à rails. Accélère les Noyaux pour qu'ils échappent à la gravité de leur planète et leur permettent un déploiement interplanétaire. block.repair-turret.description = Répare en continu l'unité endommagée la plus proche dans son périmètre. Accepte le liquide de refroidissement en option. diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index 44a2c17951..96a390042a 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -1109,6 +1109,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] sebzéscsökkentés ability.stat.minspeed = [stat]{0} mező/mp[lightgray] min. sebesség ability.stat.duration = [stat]{0} mp[lightgray] időtartam ability.stat.buildtime = [stat]{0} mp[lightgray] építési idő +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Nyersanyagtárolás csak a támaszpontban bar.drilltierreq = Erősebb fúró szükséges @@ -1981,6 +1982,7 @@ block.logic-processor.name = Logikai processzor block.hyper-processor.name = Hiperprocesszor block.logic-display.name = Logikai kijelző block.large-logic-display.name = Nagy logikai kijelző +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Memóriacella block.memory-bank.name = Memóriabank @@ -2280,6 +2282,7 @@ block.memory-cell.description = Információt tárol egy logikai processzor szá block.memory-bank.description = Információt tárol egy logikai processzor számára. Nagy kapacitású. block.logic-display.description = Tetszőleges ábrákat jelenít meg egy logikai processzor alapján. block.large-logic-display.description = Tetszőleges ábrákat jelenít meg egy logikai processzor alapján. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = Hatalmas elektromágneses sínágyútorony. Képes a támaszpontokat szökési sebességre gyorsítani a bolygóközi bevetéshez. block.repair-turret.description = Folyamatosan javítja a hatósugarában lévő legközelebbi sérült egységet. Opcionálisan elfogad hűtőfolyadékot. diff --git a/core/assets/bundles/bundle_id_ID.properties b/core/assets/bundles/bundle_id_ID.properties index 2c32c882dd..4eb32db4b8 100644 --- a/core/assets/bundles/bundle_id_ID.properties +++ b/core/assets/bundles/bundle_id_ID.properties @@ -1110,6 +1110,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] pengurangan kerusakan ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] kecepatan minimal ability.stat.duration = [stat]{0} sec[lightgray] durasi ability.stat.buildtime = [stat]{0} sec[lightgray] waktu membangun +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Hanya Penyetoran Inti yang Diizinkan bar.drilltierreq = Membutuhkan Bor yang Lebih Baik @@ -1982,6 +1983,7 @@ block.logic-processor.name = Prosesor Logika block.hyper-processor.name = Prosesor Raksasa block.logic-display.name = Tampilan Logika block.large-logic-display.name = Tampilan Logika Besar +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Sel Memori block.memory-bank.name = Bank Memori @@ -2281,6 +2283,7 @@ block.memory-cell.description = Menyimpan informasi untuk prosesor. block.memory-bank.description = Menyimpan informasi untuk prosesor. Berkapasitas besar. block.logic-display.description = Menampilkan grafik sembarang dari prosesor. block.large-logic-display.description = Menampilkan grafik sembarang dari prosesor. Lebih besar. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = Sebuah menara railgun elektromagnetik raksasa. Meluncurkan Inti dengan kecepatan tinggi untuk peluncuran antarplanet. block.repair-turret.description = Memulihkan unit terdekat yang sekarat dalam jangkauan secara terus-menerus. Dapat menerima pendingin (Opsional). diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index f7f121f0e8..007c916f1a 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -1082,6 +1082,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Concesso solo il deposito al nucleo @@ -1949,6 +1950,7 @@ block.logic-processor.name = Processore Logico block.hyper-processor.name = Iper Processore block.logic-display.name = Display Logico block.large-logic-display.name = Grande Display Logico +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Cella di Memoria block.memory-bank.name = Banca di Memoria team.malis.name = Malis @@ -2240,6 +2242,7 @@ block.memory-cell.description = Imagazzina le informazioni elaborate dai process block.memory-bank.description = Imagazzina le informazioni elaborate dai processori. Alta capacità. block.logic-display.description = Visualizza la grafica arbitraria elaborata dal processore. block.large-logic-display.description = Visualizza la grafica arbitraria elaborata dal processore. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = Una massiccia torre che utilizza potenti campi elettromagnetici. Accelera nuclei fino alla velocità di fuga per un impiego interplanetario. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index 8fa8e47963..1d506d6260 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -1088,6 +1088,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = コアにのみ搬入できます。 @@ -1952,6 +1953,7 @@ block.logic-processor.name = ロジックプロセッサー block.hyper-processor.name = ハイパープロセッサー block.logic-display.name = ロジックディスプレイ block.large-logic-display.name = 大型ロジックディスプレイ +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = メモリーセル block.memory-bank.name = メモリーバンク team.malis.name = マリス @@ -2244,6 +2246,7 @@ block.memory-cell.description = 情報を格納します。 block.memory-bank.description = より多くの情報を格納します。 block.logic-display.description = プロセッサからの任意のグラフィックを表示します。 block.large-logic-display.description = プロセッサからの任意のグラフィックを表示します。 +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = 巨大な電磁レールガンタワーです。別惑星への展開のためにコアを重力圏脱出可能速度まで加速します。 block.repair-turret.description = 範囲内の損傷したブロックを近い順に継続的に修復します。オプションで冷却液を活用できます。 block.core-bastion.description = 基本的な堅いコアです。一度破壊されると、セクターを失います。破壊されないようにしましょう。 diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index 54b54ccd8d..a88829584e 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -1109,6 +1109,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] 피해 감소 ability.stat.minspeed = [stat]{0} tiles/초[lightgray] 최소 속도 ability.stat.duration = [stat]{0} 초[lightgray] 지속 시간 ability.stat.buildtime = [stat]{0} 초[lightgray] 건설 시간 +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = 코어에만 투입할 수 있습니다 bar.drilltierreq = 더 좋은 드릴 필요 @@ -1981,6 +1982,7 @@ block.logic-processor.name = 로직 프로세서 block.hyper-processor.name = 하이퍼 프로세서 block.logic-display.name = 로직 디스플레이 block.large-logic-display.name = 대형 로직 디스플레이 +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = 메모리 셀 block.memory-bank.name = 메모리 보관소 @@ -2280,6 +2282,7 @@ block.memory-cell.description = 프로세서를 위한 데이터를 저장합니 block.memory-bank.description = 프로세서를 위한 데이터를 저장합니다. 큰 용량을 지니고 있습니다. block.logic-display.description = 프로세서를 이용해 임의로 그래픽을 출력할 수 있습니다. block.large-logic-display.description = 프로세서를 이용해 임의로 그래픽을 출력할 수 있습니다. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = 거대한 전자기 레일건 타워. 행성 간 이동을 위한 탈출 속도까지 코어를 가속합니다. block.repair-turret.description = 피해를 입은 가장 가까운 유닛을 지속적으로 수리합니다. 선택적으로 냉각수를 넣을 수 있습니다. diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index 3c3ca06eeb..2952ec95de 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -1077,6 +1077,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Only Core Depositing Allowed @@ -1939,6 +1940,7 @@ block.logic-processor.name = Loginis Procesorius block.hyper-processor.name = Hiper Procesorius block.logic-display.name = Logic Display block.large-logic-display.name = Large Logic Display +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Memory Cell block.memory-bank.name = Memory Bank team.malis.name = Malis @@ -2229,6 +2231,7 @@ block.memory-cell.description = Stores information for a logic processor. block.memory-bank.description = Stores information for a logic processor. High capacity. block.logic-display.description = Displays arbitrary graphics from a logic processor. block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index df546ed611..2c024b1627 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -1089,6 +1089,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Alleen materialen in de Core toegestaan. @@ -1952,6 +1953,7 @@ block.logic-processor.name = Logic Processor block.hyper-processor.name = Hyper Processor block.logic-display.name = Logic Display block.large-logic-display.name = Large Logic Display +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Memory Cell block.memory-bank.name = Memory Bank team.malis.name = Malis @@ -2242,6 +2244,7 @@ block.memory-cell.description = Stores information for a logic processor. block.memory-bank.description = Stores information for a logic processor. High capacity. block.logic-display.description = Displays arbitrary graphics from a logic processor. block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties index bb4cbeb7c4..d8330d8789 100644 --- a/core/assets/bundles/bundle_nl_BE.properties +++ b/core/assets/bundles/bundle_nl_BE.properties @@ -1077,6 +1077,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Only Core Depositing Allowed @@ -1939,6 +1940,7 @@ block.logic-processor.name = Logic Processor block.hyper-processor.name = Hyper Processor block.logic-display.name = Logic Display block.large-logic-display.name = Large Logic Display +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Memory Cell block.memory-bank.name = Memory Bank team.malis.name = Malis @@ -2229,6 +2231,7 @@ block.memory-cell.description = Stores information for a logic processor. block.memory-bank.description = Stores information for a logic processor. High capacity. block.logic-display.description = Displays arbitrary graphics from a logic processor. block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index d2b49d830a..d4d2d5f8f8 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -1086,6 +1086,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] redukcja uszkodzeń ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sek[lightgray] czas trwania ability.stat.buildtime = [stat]{0} sek[lightgray] czas budowy +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Dozwolone jest tylko przeniesienie z rdzenia @@ -1959,6 +1960,7 @@ block.logic-processor.name = Procesor Logiczny block.hyper-processor.name = Hiperprocesor block.logic-display.name = Wyświetlacz Logiczny block.large-logic-display.name = Duży Wyświetlacz Logiczny +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Komórka Pamięci block.memory-bank.name = Bank Pamięci team.malis.name = Malis @@ -2250,6 +2252,7 @@ block.memory-cell.description = Przechowuje dane dla procesora. block.memory-bank.description = Przechowuje dane dla procesora. Duża pojemność. block.logic-display.description = Wyświetla obraz z procesora. block.large-logic-display.description = Wyświetla obraz z procesora. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = Masywna elektromagnetyczna wieża. Przyspiesza rdzeń do prędkości ucieczki by wylądować na innych planetach. block.repair-turret.description = Na bieżąco naprawia najbliższą uszkodzoną jednostkę w jej sąsiedztwie. Opcjonalnie akceptuje chłodziwo. block.core-bastion.description = Rdzeń bazy. Uzbrojony. Po zniszczeniu tracisz sektor. diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index dfb3922fc7..db40f0f91a 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -1108,6 +1108,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Somente depósito no núcleo permitido bar.drilltierreq = Broca melhor necessária. @@ -1969,6 +1970,7 @@ block.logic-processor.name = Processador Lógico block.hyper-processor.name = Hiper Processador block.logic-display.name = Monitor Lógico block.large-logic-display.name = Monitor Lógico Grande +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Célula de Memória block.memory-bank.name = Banco de Memória @@ -2269,6 +2271,7 @@ block.memory-cell.description = Guarda informações para um processador lógico block.memory-bank.description = Guarda informações para um processador lógico. Capacidade alta. block.logic-display.description = Exibe gráficos arbitrários de um processador lógico. block.large-logic-display.description = Exibe gráficos arbitrários de um processador lógico. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = Uma enorme torre eletromagnética. Acelera a velocidade de fuga dos núcleos para o desdobramento interplanetário. block.repair-turret.description = Conserta continuamente a unidade danificada mais próxima a ela. Opcionalmente, aceita líquido refrigerante. diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index 9988e6f7c2..b04515da37 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -1104,6 +1104,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] redução de dano ability.stat.minspeed = [stat]{0} blocos/seg.[lightgray] velocidade mínima ability.stat.duration = [stat]{0} seg.[lightgray] duração ability.stat.buildtime = [stat]{0} seg.[lightgray] tempo de construção +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Depósito no núcleo permitido apenas bar.drilltierreq = Melhor broca necessária @@ -1986,6 +1987,7 @@ block.logic-processor.name = Processador Lógico block.hyper-processor.name = Hiper-processador block.logic-display.name = Ecrã Lógico block.large-logic-display.name = Ecrã Lógico Grande +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Célula de Memória block.memory-bank.name = Banco de Memória team.malis.name = Malis @@ -2289,6 +2291,7 @@ block.memory-cell.description = Guarda informações para um processador lógico block.memory-bank.description = Guarda informações para um processador lógico. Capacidade alta. block.logic-display.description = Exibe gráficos arbitrários de um processador lógico. block.large-logic-display.description = Exibe gráficos arbitrários de um processador lógico. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = Uma enorme torre eletromagnética. Acelera a velocidade de fuga dos núcleos para o desdobramento interplanetário. block.repair-turret.description = Conserta continuamente a unidade danificada mais próxima a ela. Opcionalmente, aceita líquido refrigerante. diff --git a/core/assets/bundles/bundle_ro.properties b/core/assets/bundles/bundle_ro.properties index 9b571dc726..318defb05d 100644 --- a/core/assets/bundles/bundle_ro.properties +++ b/core/assets/bundles/bundle_ro.properties @@ -1088,6 +1088,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Only Core Depositing Allowed @@ -1952,6 +1953,7 @@ block.logic-processor.name = Procesor Logic block.hyper-processor.name = Hiperprocesor block.logic-display.name = Monitor Logic block.large-logic-display.name = Monitor Logic Mare +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Celulă de Memorie block.memory-bank.name = Bancă de Memorie team.malis.name = Malis @@ -2244,6 +2246,7 @@ block.memory-cell.description = Stochează informație pt un procesor. block.memory-bank.description = Stochează informație pt un procesor. Capacitate mare. block.logic-display.description = Afișează grafica transmisă de un procesor logic. block.large-logic-display.description = Afișează grafica transmisă de un procesor logic. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = Un turn masiv cu o armă railgun electromagnetică. Accelerează nucleele la viteză cosmică pt lansare interplanetară. block.repair-turret.description = Repară încontinuu cea mai deteriorată unitate din vecinătate. Poate accepta răcitor. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index bf2d2e6af7..3e7ae35b5c 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -1091,6 +1091,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] снижение урона ability.stat.minspeed = [stat]{0} плиток/сек[lightgray] минимальная скорость ability.stat.duration = [stat]{0} сек[lightgray] продолжительность ability.stat.buildtime = [stat]{0} сек[lightgray] время постройки +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Доступен перенос только в ядро @@ -1957,6 +1958,7 @@ block.logic-processor.name = Логический процессор block.hyper-processor.name = Гипер процессор block.logic-display.name = Логический дисплей block.large-logic-display.name = Большой логический дисплей +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Ячейка памяти block.memory-bank.name = Блок памяти team.malis.name = Малис @@ -2251,6 +2253,7 @@ block.memory-cell.description = Хранит информацию для лог block.memory-bank.description = Хранит информацию для логического процессора. Большая ёмкость. block.logic-display.description = Отображает произвольную графику из логического процессора. block.large-logic-display.description = Отображает произвольную графику из логического процессора. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = Массивная электромагнитная башня-рельсотрон. Ускоряет ядро, позволяя преодолеть гравитацию для межпланетного развёртывания. block.repair-turret.description = Непрерывно ремонтирует ближайшую поврежденную единицу в своем радиусе. Опционально использует охлаждающую жидкость. block.core-bastion.description = Ядро базы. Бронировано. После уничтожения, весь контакт с регионом теряется. diff --git a/core/assets/bundles/bundle_sr.properties b/core/assets/bundles/bundle_sr.properties index 74738d542b..f2f0c78a71 100644 --- a/core/assets/bundles/bundle_sr.properties +++ b/core/assets/bundles/bundle_sr.properties @@ -1090,6 +1090,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Dozvoljeno Dostavljanje Samo Unutar Jezgra @@ -1954,6 +1955,7 @@ block.logic-processor.name = Logički Procesor block.hyper-processor.name = Hiper Procesor block.logic-display.name = Logički Displej block.large-logic-display.name = Veliki Logički Displej +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Memorijska Ćelija block.memory-bank.name = Memorijska Banka team.malis.name = Baštovan @@ -2247,6 +2249,7 @@ block.memory-cell.description = Stores information for a logic processor. block.memory-bank.description = Stores information for a logic processor. High capacity. block.logic-display.description = Displays arbitrary graphics from a logic processor. block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. block.core-bastion.description = Jezgro baze. Oklopljeno. Jednom uništeno gubi se sektor. diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties index 4cb7722ab8..1f8eaf1011 100644 --- a/core/assets/bundles/bundle_sv.properties +++ b/core/assets/bundles/bundle_sv.properties @@ -1077,6 +1077,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Only Core Depositing Allowed @@ -1939,6 +1940,7 @@ block.logic-processor.name = Logic Processor block.hyper-processor.name = Hyper Processor block.logic-display.name = Logic Display block.large-logic-display.name = Large Logic Display +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Memory Cell block.memory-bank.name = Memory Bank team.malis.name = Malis @@ -2229,6 +2231,7 @@ block.memory-cell.description = Stores information for a logic processor. block.memory-bank.description = Stores information for a logic processor. High capacity. block.logic-display.description = Displays arbitrary graphics from a logic processor. block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties index af6268aed7..bd841667b8 100644 --- a/core/assets/bundles/bundle_th.properties +++ b/core/assets/bundles/bundle_th.properties @@ -1091,6 +1091,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] ความเสียห ability.stat.minspeed = [stat]{0} ช่อง/วิ[lightgray] ความเร็วต่ำสุด ability.stat.duration = [stat]{0} วิ[lightgray] ระยะเวลา ability.stat.buildtime = [stat]{0} วิ[lightgray] ความในการสร้าง +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = ขนย้ายทรัพยากรลงแกนกลางได้เท่านั้น @@ -1956,6 +1957,7 @@ block.logic-processor.name = ตัวประมวลผลลอจิก block.hyper-processor.name = ตัวประมวลผลไฮเปอร์ block.logic-display.name = หน้าจอลอจิก block.large-logic-display.name = หน้าจอลอจิกขนาดใหญ่ +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = เซลล์ความจำ block.memory-bank.name = ธนาคารความจำ @@ -2257,6 +2259,7 @@ block.memory-cell.description = เก็บข้อมูลเป็นตั block.memory-bank.description = เก็บข้อมูลเป็นตัวเลขสำหรับตัวประมวลผลลอจิกไว้สื่อสารกันไปมา มีพื้นที่เยอะมาก block.logic-display.description = แสดงกราฟิกโดยควบคุมจากตัวประมวลผลลอจิก block.large-logic-display.description = แสดงกราฟิกโดยควบคุมจากตัวประมวลผลลอจิก มีขนาดใหญ่กว่า +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = หอคอยเรลกันแม่เหล็กไฟฟ้าขนาดมหึมา เร่งความเร็วแกนกลางเพื่อบินสู่อวกาศไปยังดาวเคราะห์อื่นๆ block.repair-turret.description = ซ่อมแซมยูนิตที่อยู่ในรัศมีของมันอย่างต่อเนื่อง สามารถใช้ของเหลวมาหล่อเย็นเพื่อเพิ่มประสิทธิภาพได้ diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties index aa366b5e86..f82da9c121 100644 --- a/core/assets/bundles/bundle_tk.properties +++ b/core/assets/bundles/bundle_tk.properties @@ -1077,6 +1077,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed ability.stat.duration = [stat]{0} sec[lightgray] duration ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Only Core Depositing Allowed @@ -1939,6 +1940,7 @@ block.logic-processor.name = Logic Processor block.hyper-processor.name = Hyper Processor block.logic-display.name = Logic Display block.large-logic-display.name = Large Logic Display +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Memory Cell block.memory-bank.name = Memory Bank team.malis.name = Malis @@ -2229,6 +2231,7 @@ block.memory-cell.description = Stores information for a logic processor. block.memory-bank.description = Stores information for a logic processor. High capacity. block.logic-display.description = Displays arbitrary graphics from a logic processor. block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties index ba3ccb4eba..84868cb0cb 100644 --- a/core/assets/bundles/bundle_tr.properties +++ b/core/assets/bundles/bundle_tr.properties @@ -1087,6 +1087,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] hasar indüksiyonu ability.stat.minspeed = [stat]{0} blok/sn[lightgray] min hız ability.stat.duration = [stat]{0} sn[lightgray] süre ability.stat.buildtime = [stat]{0} sn[lightgray] inşa süresi +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Sadece Merkeze Aktarım Mümkün bar.drilltierreq = Daha Güçlü Matkap Gerekli @@ -1952,6 +1953,7 @@ block.logic-processor.name = İşlemci block.hyper-processor.name = Hiper İşlemci block.logic-display.name = Ekran block.large-logic-display.name = Büyük Ekran +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Bellek Hücresi block.memory-bank.name = Bellek Bankası team.malis.name = Malis @@ -2244,6 +2246,7 @@ block.memory-cell.description = Bilgi saklar. block.memory-bank.description = Bilgi saklar. Yüksek kapasiteye sahiptir. block.logic-display.description = Bir işlemciden bilgi alarak grafik gösteririr. block.large-logic-display.description = Bir işlemciden bilgi alarak grafik gösteririr. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = Gezegenler Arası ulaşım şimdi parmaklarının ucunda... block.repair-turret.description = Sürekli en yakın birimi tamir eder. Soğutucu kullanabilir. block.core-bastion.description = Ana Merkez. Güçlendirilmiş. Yok edildiğinde sektör kaybedilir. diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index 78a714f084..9786ef5eb6 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -1098,6 +1098,7 @@ ability.stat.damagereduction = [lightgray]Зменшення шкоди: [stat]{ ability.stat.minspeed = [lightgray]Мінімальна швидкість: [stat]{0} плиток за сек. ability.stat.duration = [lightgray]Тривалість: [stat]{0} за сек. ability.stat.buildtime = [lightgray]Час побудови: [stat]{0} за сек. +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Передача предметів дозволена лише до ядра bar.drilltierreq = Потрібен ліпший бур @@ -1965,6 +1966,7 @@ block.logic-processor.name = Логічний процесор block.hyper-processor.name = Гіперпроцесор block.logic-display.name = Логічний дисплей block.large-logic-display.name = Великий логічний дисплей +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Комірка пам’яті block.memory-bank.name = Блок пам’яті @@ -2267,6 +2269,7 @@ block.memory-cell.description = Англійська назва: Memory Cell\nЗ block.memory-bank.description = Англійська назва: Memory Bank\nЗберігає інформацію для логічного процесора. Висока місткість. block.logic-display.description = Англійська назва: Logic Display\nПоказує довільну графіку з логічного процесора. block.large-logic-display.description = Англійська назва: Large Logic Display\nПоказує довільну графіку з логічного процесора. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = Англійська назва: Interplanetary Accelerator\nВелика електромагнітна башта-рейкотрон. Прискорює ядра, щоби подолати планетне тяжіння для міжпланетного розгортання. block.repair-turret.description = Англійська назва: Repair Turret\nБезпервно ремонтує найближчу пошкоджену одиницю. Для прискорення ремонтування можна охолодити. diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index 470e2471c7..df79327ace 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -1109,6 +1109,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] giảm sát thương ability.stat.minspeed = tốc độ tối thiểu [stat]{0} ô/giây[lightgray] ability.stat.duration = thời hạn [stat]{0} giây[lightgray] ability.stat.buildtime = thời gian xây [stat]{0} giây[lightgray] +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = Chỉ được phép đưa vào lõi bar.drilltierreq = Cần máy khoan tốt hơn @@ -1981,6 +1982,7 @@ block.logic-processor.name = Bộ xử lý trung cấp block.hyper-processor.name = Bộ xử lý siêu cấp block.logic-display.name = Màn hình hiển thị block.large-logic-display.name = Màn hình hiển thị lớn +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = Ô bộ nhớ block.memory-bank.name = Khối bộ nhớ @@ -2280,6 +2282,7 @@ block.memory-cell.description = Lưu trữ thông tin cho bộ xử lý. block.memory-bank.description = Lưu trữ thông tin cho bộ xử lý. Dung lượng cao. block.logic-display.description = Hiển thị đồ họa tùy ý từ bộ xử lý. block.large-logic-display.description = Hiển thị đồ họa tùy ý từ bộ xử lý. +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = Tòa tháp súng điện từ cỡ lớn. Tăng tốc vật phóng đến vận tốc thoát để triển khai giữa các hành tinh. block.repair-turret.description = Sửa chữa những đơn vị bị hư hỏng trong khu vực nhất định. Tùy chọn làm mát để tăng hiệu quả. diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index 11d63bb863..346a5242a8 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -1099,6 +1099,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray] 伤害减免 ability.stat.minspeed = [stat]{0} 格/秒[lightgray] 最低速度 ability.stat.duration = [stat]{0} 秒[lightgray] 持续时间 ability.stat.buildtime = [stat]{0} 秒[lightgray] 建造时间 +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = 仅核心可丢入资源 @@ -1970,6 +1971,7 @@ block.logic-processor.name = 逻辑处理器 block.hyper-processor.name = 超核处理器 block.logic-display.name = 逻辑显示屏 block.large-logic-display.name = 大型逻辑显示屏 +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = 内存元 block.memory-bank.name = 内存库 @@ -2270,6 +2272,7 @@ block.memory-cell.description = 存储处理器的信息。 block.memory-bank.description = 存储处理器的信息。 容量更大。 block.logic-display.description = 显示处理器中绘制的各种图像。 block.large-logic-display.description = 显示处理器中绘制的各种图像。 +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = 一个巨大的电磁轨道加速器。 将核心加速至逃逸速度以进行星际部署。 block.repair-turret.description = 持续修复范围内受损的单位。 可以用冷却液强化。 diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index ba215dc7c5..de38635c4b 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -1100,6 +1100,7 @@ ability.stat.damagereduction = [stat]{0}%[lightgray]傷害減免 ability.stat.minspeed = [stat]{0} 格/秒[lightgray]最低速度 ability.stat.duration = [stat]{0} 秒[lightgray]持續時間 ability.stat.buildtime = [stat]{0} 秒[lightgray]建造時間 +bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0}) bar.onlycoredeposit = 僅允許向核心放置物品 @@ -1970,6 +1971,7 @@ block.logic-processor.name = 邏輯處理器 block.hyper-processor.name = 超級處理器 block.logic-display.name = 顯示器 block.large-logic-display.name = 大型顯示器 +block.tile-logic-display.name = Tiled Logic Display block.memory-cell.name = 記憶單元 block.memory-bank.name = 記憶體 @@ -2266,6 +2268,7 @@ block.memory-cell.description = 為邏輯處理器儲存資料。 block.memory-bank.description = 為邏輯處理器儲存資料。具備更大容量。 block.logic-display.description = 顯示由處理器輸出的任意圖像。 block.large-logic-display.description = 顯示由處理器輸出的任意圖像。 +block.tile-logic-display.description = Displays arbitrary graphics from a logic processor.\nSeamlessly connects to nearby tiled display blocks. block.interplanetary-accelerator.description = 巨大的電磁砲塔。將核心加速至脫離速度以在其他星球部署。 block.repair-turret.description = 持續修復最靠近的受損單位。能使用冷卻劑。 block.core-bastion.description = 基地的核心。具有裝甲。一旦所有基地核心被摧毀,此區域即戰敗。 From 841ea4f78e1c6c8956761f7c472a44fedd2220ff Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 15 Apr 2025 12:16:09 -0400 Subject: [PATCH 6/8] Retain display contents when merging --- .../mindustry/content/SerpuloTechTree.java | 5 +- .../world/blocks/logic/LogicDisplay.java | 2 + .../blocks/logic/TileableLogicDisplay.java | 77 +++++++++++++++++-- 3 files changed, 76 insertions(+), 8 deletions(-) diff --git a/core/src/mindustry/content/SerpuloTechTree.java b/core/src/mindustry/content/SerpuloTechTree.java index b33d68d4f2..92a8e966d0 100644 --- a/core/src/mindustry/content/SerpuloTechTree.java +++ b/core/src/mindustry/content/SerpuloTechTree.java @@ -169,7 +169,6 @@ public class SerpuloTechTree{ }); }); - //logic disabled until further notice node(microProcessor, () -> { node(switchBlock, () -> { node(message, () -> { @@ -177,6 +176,10 @@ public class SerpuloTechTree{ node(largeLogicDisplay, () -> { }); + + node(logicDisplayTile, () -> { + + }); }); node(memoryCell, () -> { diff --git a/core/src/mindustry/world/blocks/logic/LogicDisplay.java b/core/src/mindustry/world/blocks/logic/LogicDisplay.java index bb30c3bbff..8ca5ac00f9 100644 --- a/core/src/mindustry/world/blocks/logic/LogicDisplay.java +++ b/core/src/mindustry/world/blocks/logic/LogicDisplay.java @@ -111,6 +111,8 @@ public class LogicDisplay extends Block{ //don't bother processing commands if displays are off if(!commands.isEmpty() && buffer != null){ Draw.draw(Draw.z(), () -> { + if(buffer == null) return; + Tmp.m1.set(Draw.proj()); Tmp.m2.set(Draw.trans()); Draw.proj(0, 0, buffer.getWidth(), buffer.getHeight()); diff --git a/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java b/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java index b511c8224a..f4b0883318 100644 --- a/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java +++ b/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java @@ -18,6 +18,7 @@ import static mindustry.Vars.*; public class TileableLogicDisplay extends LogicDisplay{ protected static final Seq queue = new Seq<>(); protected static final Seq displays = new Seq<>(); + protected static final ObjectSet buffers = new ObjectSet<>(); protected static final IntSet processed = new IntSet(); //in tiles @@ -84,21 +85,52 @@ public class TileableLogicDisplay extends LogicDisplay{ } } + if(root.prevBuffers == null){ + root.prevBuffers = new Seq<>(); + } + + //add all new buffers + buffers.clear(); + for(var member : displays){ + if(member.buffer != null && buffers.add(member.buffer)){ + root.prevBuffers.add(new MergeBuffer(member.buffer, member.originX, member.originY, member.tilesWidth, member.tilesHeight)); + } + } + int tilesWidth = topX - botX + 1, tilesHeight = topY - botY + 1; //the new root display has been assigned for(var member : displays){ + member.needsUpdate = false; member.rootDisplay = root; member.tilesWidth = tilesWidth; member.tilesHeight = tilesHeight; member.originX = botX; member.originY = botY; + member.buffer = null; + } + } - //TODO: preserve buffers later - if(member.buffer != null){ - member.buffer.dispose(); - member.buffer = null; - } + static class MergeBuffer{ + FrameBuffer buffer; + int x, y, width, height; + + MergeBuffer(FrameBuffer buffer, int x, int y, int width, int height){ + this.buffer = buffer; + this.x = x; + this.y = y; + this.width = width; + this.height = height; + } + + @Override + public String toString(){ + return "MergeBuffer{" + + "x=" + x + + ", y=" + y + + ", width=" + width + + ", height=" + height + + '}'; } } @@ -107,8 +139,10 @@ public class TileableLogicDisplay extends LogicDisplay{ public TileableLogicDisplayBuild rootDisplay = this; //size of display area public int tilesWidth = 1, tilesHeight = 1, originX, originY; + public @Nullable Seq prevBuffers; public int bits = 0; + public boolean needsUpdate = false; @Override public void display(Table table){ @@ -135,6 +169,11 @@ public class TileableLogicDisplay extends LogicDisplay{ @Override public void draw(){ + if(needsUpdate){ + needsUpdate = false; + linkDisplays(this); + } + Draw.rect(backRegion, x, y); //don't even bother processing anything when displays are off. @@ -144,9 +183,33 @@ public class TileableLogicDisplay extends LogicDisplay{ Draw.draw(Draw.z(), () -> { if(buffer == null && tilesWidth <= maxDisplayDimensions && tilesHeight <= maxDisplayDimensions){ buffer = new FrameBuffer(32 * tilesWidth, 32 * tilesHeight); + + Tmp.m1.set(Draw.proj()); + Tmp.m2.set(Draw.trans()); + Draw.proj(0, 0, buffer.getWidth(), buffer.getHeight()); + //clear the buffer - some OSs leave garbage in it buffer.begin(Pal.darkerMetal); + if(prevBuffers != null){ + for(var other : prevBuffers){ + Draw.rect(Draw.wrap(other.buffer.getTexture()), (other.x - originX) * 32 + other.buffer.getWidth()/2f, (other.y - originY) * 32 + other.buffer.getHeight()/2f, other.buffer.getWidth(), -other.buffer.getHeight()); + Draw.flush(); + } + } + buffer.end(); + Draw.proj(Tmp.m1); + Draw.trans(Tmp.m2); + Draw.reset(); + } + + if(prevBuffers != null){ + for(var other : prevBuffers){ + if(!other.buffer.isDisposed()){ + other.buffer.dispose(); + } + } + prevBuffers.clear(); } }); @@ -195,7 +258,7 @@ public class TileableLogicDisplay extends LogicDisplay{ public void onProximityAdded(){ super.onProximityAdded(); - linkDisplays(this); + needsUpdate = true; updateOthers(); } @@ -208,7 +271,7 @@ public class TileableLogicDisplay extends LogicDisplay{ for(var other : proximity){ if(other instanceof TileableLogicDisplayBuild tl && !processed.contains(tl.id)){ - linkDisplays(tl); + tl.needsUpdate = true; } } From b45afe1f4c444d63805ecd8be475413d8c302730 Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 15 Apr 2025 15:39:28 -0400 Subject: [PATCH 7/8] comment --- core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java | 1 + 1 file changed, 1 insertion(+) diff --git a/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java b/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java index f4b0883318..13b0196e9f 100644 --- a/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java +++ b/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java @@ -169,6 +169,7 @@ public class TileableLogicDisplay extends LogicDisplay{ @Override public void draw(){ + //TODO if this is called before draw() on the root display is called, it will wipe it if(needsUpdate){ needsUpdate = false; linkDisplays(this); From 9cadf06c92d90c70a84d5eaf336026d8c7fab7a5 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 16 Apr 2025 13:06:15 -0400 Subject: [PATCH 8/8] Minor optimization --- .../mindustry/world/blocks/logic/TileableLogicDisplay.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java b/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java index 13b0196e9f..8ca30f48c2 100644 --- a/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java +++ b/core/src/mindustry/world/blocks/logic/TileableLogicDisplay.java @@ -217,9 +217,10 @@ public class TileableLogicDisplay extends LogicDisplay{ processCommands(); } - Draw.z(Layer.block + 0.001f); + float offset = 0.001f + (rootDisplay.buffer == null ? 0f : (rootDisplay.buffer.hashCode() % 1_000_000) / 1_000_000f * 0.01f); + + Draw.z(Layer.block + offset); - //TODO this is slow, many texture switches Draw.blend(Blending.disabled); Draw.draw(Draw.z(), () -> { if(rootDisplay.buffer != null){ @@ -232,7 +233,7 @@ public class TileableLogicDisplay extends LogicDisplay{ }); Draw.blend(); - Draw.z(Layer.block + 0.002f); + Draw.z(Layer.block + 0.02f); Draw.rect(tileRegion[bitmasks[bits]], x, y); }