From 37d0ba65e0cc07c06e38839181b40da8b24884ea Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 4 Feb 2025 14:17:40 -0500 Subject: [PATCH] Closes #8467 --- core/assets/bundles/bundle.properties | 1 + core/src/mindustry/core/Renderer.java | 3 ++- core/src/mindustry/type/UnitType.java | 1 + core/src/mindustry/ui/dialogs/JoinDialog.java | 2 +- core/src/mindustry/ui/dialogs/SettingsMenuDialog.java | 1 + 5 files changed, 6 insertions(+), 2 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 6bd6affbf8..2fbea52ab0 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -1246,6 +1246,7 @@ setting.steampublichost.name = Public Game Visibility setting.playerlimit.name = Player Limit setting.chatopacity.name = Chat Opacity setting.lasersopacity.name = Power Laser Opacity +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = Bridge Opacity setting.playerchat.name = Display Player Bubble Chat setting.showweather.name = Show Weather Graphics diff --git a/core/src/mindustry/core/Renderer.java b/core/src/mindustry/core/Renderer.java index 47acb4c454..00fb77bfaf 100644 --- a/core/src/mindustry/core/Renderer.java +++ b/core/src/mindustry/core/Renderer.java @@ -27,7 +27,7 @@ import static mindustry.Vars.*; public class Renderer implements ApplicationListener{ /** These are global variables, for headless access. Cached. */ - public static float laserOpacity = 0.5f, bridgeOpacity = 0.75f; + public static float laserOpacity = 0.5f, unitLaserOpacity = 1f, bridgeOpacity = 0.75f; public final BlockRenderer blocks = new BlockRenderer(); public final FogRenderer fog = new FogRenderer(); @@ -158,6 +158,7 @@ public class Renderer implements ApplicationListener{ float dest = Mathf.clamp(Mathf.round(baseTarget, 0.5f), minScale(), maxScale()); camerascale = Mathf.lerpDelta(camerascale, dest, 0.1f); if(Mathf.equal(camerascale, dest, 0.001f)) camerascale = dest; + unitLaserOpacity = settings.getInt("unitlaseropacity") / 100f; laserOpacity = settings.getInt("lasersopacity") / 100f; bridgeOpacity = settings.getInt("bridgeopacity") / 100f; animateShields = settings.getBool("animatedshields"); diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index 5ddbbe7763..ba68ea5b30 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -1348,6 +1348,7 @@ public class UnitType extends UnlockableContent implements Senseable{ Draw.color(Color.lightGray, Color.white, 1f - flashScl + Mathf.absin(Time.time, 0.5f, flashScl)); + Draw.alpha(Renderer.unitLaserOpacity); Drawf.laser(mineLaserRegion, mineLaserEndRegion, px, py, ex, ey, 0.75f); if(unit.isLocal()){ diff --git a/core/src/mindustry/ui/dialogs/JoinDialog.java b/core/src/mindustry/ui/dialogs/JoinDialog.java index f6e4191c7b..cd9a8ead09 100644 --- a/core/src/mindustry/ui/dialogs/JoinDialog.java +++ b/core/src/mindustry/ui/dialogs/JoinDialog.java @@ -667,7 +667,7 @@ public class JoinDialog extends BaseDialog{ Core.app.post(() -> { servers.sort(s -> s.name == null ? Integer.MAX_VALUE : s.name.hashCode()); defaultServers.addAll(servers); - Log.info("Fetched @ community servers.", defaultServers.size); + Log.info("Fetched @ community servers.", defaultServers.sum(s -> s.addresses.length)); }); }); } diff --git a/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java b/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java index 01f7c05a53..87e3ad7f61 100644 --- a/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java +++ b/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java @@ -390,6 +390,7 @@ public class SettingsMenuDialog extends BaseDialog{ } return s + "%"; }); + graphics.sliderPref("unitlaseropacity", 100, 0, 100, 5, s -> s + "%"); graphics.sliderPref("bridgeopacity", 100, 0, 100, 5, s -> s + "%"); if(!mobile){