From 2e1b4934adc317a04aa3548e493010dee5108ca9 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 2 Sep 2023 11:49:34 -0400 Subject: [PATCH] Added setting to disable lighting --- core/assets/bundles/bundle.properties | 1 + core/src/mindustry/core/Renderer.java | 5 +++-- core/src/mindustry/graphics/LightRenderer.java | 2 +- core/src/mindustry/ui/dialogs/SettingsMenuDialog.java | 1 + 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index f36c10d846..661d227d81 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1112,6 +1112,7 @@ setting.position.name = Show Player Position setting.mouseposition.name = Show Mouse Position setting.musicvol.name = Music Volume setting.atmosphere.name = Show Planet Atmosphere +setting.drawlight.name = Draw Darkness/Lighting setting.ambientvol.name = Ambient Volume setting.mutemusic.name = Mute Music setting.sfxvol.name = SFX Volume diff --git a/core/src/mindustry/core/Renderer.java b/core/src/mindustry/core/Renderer.java index 528b25bee0..8b3614436d 100644 --- a/core/src/mindustry/core/Renderer.java +++ b/core/src/mindustry/core/Renderer.java @@ -46,7 +46,7 @@ public class Renderer implements ApplicationListener{ public @Nullable Bloom bloom; public @Nullable FrameBuffer backgroundBuffer; public FrameBuffer effectBuffer = new FrameBuffer(); - public boolean animateShields, drawWeather = true, drawStatus, enableEffects, drawDisplays = true; + public boolean animateShields, drawWeather = true, drawStatus, enableEffects, drawDisplays = true, drawLight = true; public float weatherAlpha; /** minZoom = zooming out, maxZoom = zooming in */ public float minZoom = 1.5f, maxZoom = 6f; @@ -180,6 +180,7 @@ public class Renderer implements ApplicationListener{ drawStatus = settings.getBool("blockstatus"); enableEffects = settings.getBool("effects"); drawDisplays = !settings.getBool("hidedisplays"); + drawLight = settings.getBool("drawlight", true); if(landTime > 0){ if(!state.isPaused()){ @@ -337,7 +338,7 @@ public class Renderer implements ApplicationListener{ } } - if(state.rules.lighting){ + if(state.rules.lighting && drawLight){ Draw.draw(Layer.light, lights::draw); } diff --git a/core/src/mindustry/graphics/LightRenderer.java b/core/src/mindustry/graphics/LightRenderer.java index 370586243b..a0cab5c03e 100644 --- a/core/src/mindustry/graphics/LightRenderer.java +++ b/core/src/mindustry/graphics/LightRenderer.java @@ -182,7 +182,7 @@ public class LightRenderer{ } public boolean enabled(){ - return state.rules.lighting && state.rules.ambientLight.a > 0.0001f; + return state.rules.lighting && state.rules.ambientLight.a > 0.0001f && renderer.drawLight; } public void draw(){ diff --git a/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java b/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java index 60280d737d..2a0cc3eded 100644 --- a/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java +++ b/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java @@ -440,6 +440,7 @@ public class SettingsMenuDialog extends BaseDialog{ graphics.checkPref("effects", true); graphics.checkPref("atmosphere", !mobile); + graphics.checkPref("drawlight", true); graphics.checkPref("destroyedblocks", true); graphics.checkPref("blockstatus", false); graphics.checkPref("playerchat", true);