From 981e954c61b9dc0b09da731dafef8edd9da563dc Mon Sep 17 00:00:00 2001 From: Cardillan <122014763+cardillan@users.noreply.github.com> Date: Sat, 14 Jun 2025 17:21:18 +0200 Subject: [PATCH] Sense number of graphics operations (#10898) * Sense number of graphics operations * int to long --- core/assets/bundles/bundle.properties | 1 + core/src/mindustry/logic/LAccess.java | 1 + core/src/mindustry/world/blocks/logic/LogicDisplay.java | 4 ++++ 3 files changed, 6 insertions(+) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 94a4e69a14..23220138c7 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -2566,6 +2566,7 @@ laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup laccess.displaywidth = Width of a display block in pixels. laccess.displayheight = Height of a display block in pixels. laccess.bufferusage = Number of unprocessed commands in the graphics buffer of a display. +laccess.operations = Number of operations performed on the block.\nFor displays, returns the number of drawflush operations. lcategory.unknown = Unknown lcategory.unknown.description = Uncategorized instructions. diff --git a/core/src/mindustry/logic/LAccess.java b/core/src/mindustry/logic/LAccess.java index 8c25b36c75..d9e3805d10 100644 --- a/core/src/mindustry/logic/LAccess.java +++ b/core/src/mindustry/logic/LAccess.java @@ -41,6 +41,7 @@ public enum LAccess{ displayWidth, displayHeight, bufferUsage, + operations, size, solid, dead, diff --git a/core/src/mindustry/world/blocks/logic/LogicDisplay.java b/core/src/mindustry/world/blocks/logic/LogicDisplay.java index 66099d29d5..641366a226 100644 --- a/core/src/mindustry/world/blocks/logic/LogicDisplay.java +++ b/core/src/mindustry/world/blocks/logic/LogicDisplay.java @@ -78,6 +78,7 @@ public class LogicDisplay extends Block{ public float stroke = 1f; public LongQueue commands = new LongQueue(256); public @Nullable Mat transform; + public long operations; @Override public void draw(){ @@ -111,6 +112,7 @@ public class LogicDisplay extends Block{ return switch(sensor){ case displayWidth, displayHeight -> displaySize; case bufferUsage -> commands.size; + case operations -> operations; default -> super.sense(sensor); }; } @@ -121,6 +123,8 @@ public class LogicDisplay extends Block{ for(int i = 0; i < added; i++){ commands.addLast(graphicsBuffer.items[i]); } + + operations++; } public void processCommands(){