From 87f7e1f1c202e9bd6d513cae64a7164f3af5ca13 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 1 Dec 2025 19:59:19 -0500 Subject: [PATCH] Revert "Defer shadow buffer init" This reverts commit 34be5ffc6c56d47934dafc110b5c5e236e08953f. --- core/src/mindustry/game/Schematics.java | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/core/src/mindustry/game/Schematics.java b/core/src/mindustry/game/Schematics.java index e851c8229b..f46c50f00e 100644 --- a/core/src/mindustry/game/Schematics.java +++ b/core/src/mindustry/game/Schematics.java @@ -60,7 +60,6 @@ public class Schematics implements Loadable{ private ObjectMap> loadouts = new ObjectMap<>(); private ObjectMap defaultLoadouts = new ObjectMap<>(); private @Nullable FrameBuffer shadowBuffer; - private boolean triedCreatingShadowBuffer; private Texture errorTexture; private long lastClearTime; @@ -98,6 +97,17 @@ public class Schematics implements Loadable{ }); all.sort(); + + if(shadowBuffer == null && !headless){ + Core.app.post(() -> { + try{ + shadowBuffer = new FrameBuffer(maxSchematicSize + padding + 8, maxSchematicSize + padding + 8); + }catch(Exception e){ + Log.err(Strings.format("Failed to create shadow buffer (@x@): @. This is likely because a mod is setting maxSchematicSize too high. Don't do that.", + maxSchematicSize + padding + 8, maxSchematicSize + padding + 8, Strings.getSimpleMessage(e))); + } + }); + } } private void loadLoadouts(){ @@ -212,16 +222,6 @@ public class Schematics implements Loadable{ Tmp.m2.set(Draw.trans()); FrameBuffer buffer = new FrameBuffer((schematic.width + padding) * resolution, (schematic.height + padding) * resolution); - if(shadowBuffer == null && !triedCreatingShadowBuffer){ - triedCreatingShadowBuffer = true; - try{ - shadowBuffer = new FrameBuffer(maxSchematicSize + padding + 8, maxSchematicSize + padding + 8); - }catch(Exception e){ - Log.err(Strings.format("Failed to create shadow buffer (@x@): @. This is likely because a mod is setting maxSchematicSize too high. Don't do that.", - maxSchematicSize + padding + 8, maxSchematicSize + padding + 8, Strings.getSimpleMessage(e))); - } - } - if(shadowBuffer != null){ shadowBuffer.begin(Color.clear);