Closes Anuken/Mindustry-Suggestions/issues/5537, partially implements Anuken/Mindustry-Suggestions/issues/5535

This commit is contained in:
Anuken
2025-04-17 16:28:56 -04:00
parent 233acfa6f5
commit 264d13f827
6 changed files with 28 additions and 3 deletions
@@ -71,7 +71,7 @@ public class LogicDisplay extends Block{
clipSize = Math.max(clipSize, scaleFactor * Draw.scl * displaySize);
}
public class LogicDisplayBuild extends Building{
public @Nullable FrameBuffer buffer;
public float color = Color.whiteFloatBits;
@@ -106,6 +106,14 @@ public class LogicDisplay extends Block{
Draw.blend();
}
@Override
public double sense(LAccess sensor){
return switch(sensor){
case displayWidth, displayHeight -> displaySize;
default -> super.sense(sensor);
};
}
public void flushCommands(LongSeq graphicsBuffer){
int added = Math.min(graphicsBuffer.size, LExecutor.maxDisplayBuffer - commands.size);
@@ -11,6 +11,7 @@ import arc.util.*;
import mindustry.*;
import mindustry.annotations.Annotations.*;
import mindustry.graphics.*;
import mindustry.logic.*;
import mindustry.world.*;
import static mindustry.Vars.*;
@@ -144,6 +145,15 @@ public class TileableLogicDisplay extends LogicDisplay{
public int bits = 0;
public boolean needsUpdate = false;
@Override
public double sense(LAccess sensor){
return switch(sensor){
case displayWidth -> tilesWidth * 32f;
case displayHeight -> tilesHeight * 32f;
default -> super.sense(sensor);
};
}
@Override
public void display(Table table){
super.display(table);