From 12b6604143449fe0192f004a781a09048afad8f3 Mon Sep 17 00:00:00 2001 From: Idontuse <102253332+Idonotus@users.noreply.github.com> Date: Tue, 1 Aug 2023 16:52:23 +0100 Subject: [PATCH 1/2] Render the selected planets solar system (#8875) * Solar systems render based on the selected planet * Remove unnecessary setter * Compatibility --- core/src/mindustry/graphics/g3d/PlanetParams.java | 5 +++-- core/src/mindustry/graphics/g3d/PlanetRenderer.java | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/core/src/mindustry/graphics/g3d/PlanetParams.java b/core/src/mindustry/graphics/g3d/PlanetParams.java index 68141b5f7f..6c7d2e6dc3 100644 --- a/core/src/mindustry/graphics/g3d/PlanetParams.java +++ b/core/src/mindustry/graphics/g3d/PlanetParams.java @@ -18,10 +18,11 @@ public class PlanetParams{ public Vec3 camUp = new Vec3(0f, 1f, 0f); /** the unit length direction vector of the camera **/ public Vec3 camDir = new Vec3(0, 0, -1); - /** The sun/main planet of the solar system from which everything is rendered. */ - public Planet solarSystem = Planets.sun; + /** The sun/main planet of the solar system from which everything is rendered. Deprecated use planet.solarSystem instead */ + public @Deprecated Planet solarSystem = Planets.sun; /** Planet being looked at. */ public Planet planet = Planets.serpulo; + /** Zoom relative to planet. */ public float zoom = 1f; /** Alpha of orbit rings and other UI elements. */ diff --git a/core/src/mindustry/graphics/g3d/PlanetRenderer.java b/core/src/mindustry/graphics/g3d/PlanetRenderer.java index 812bb2b504..6b5c0b6676 100644 --- a/core/src/mindustry/graphics/g3d/PlanetRenderer.java +++ b/core/src/mindustry/graphics/g3d/PlanetRenderer.java @@ -102,8 +102,9 @@ public class PlanetRenderer implements Disposable{ Events.fire(Trigger.universeDraw); - renderPlanet(params.solarSystem, params); - renderTransparent(params.solarSystem, params); + Planet solarSystem = params.planet.solarSystem; + renderPlanet(solarSystem, params); + renderTransparent(solarSystem, params); bloom.render(); From bd0592a54c05e9743bef26f7b4d625a301bcbcd4 Mon Sep 17 00:00:00 2001 From: Slotterleet <62336673+Slotterleet@users.noreply.github.com> Date: Tue, 1 Aug 2023 23:11:22 +0300 Subject: [PATCH 2/2] SunMesh support for JSON planets (#8882) * Single-color SunMesh support * This should work now * No more crap code --- core/src/mindustry/mod/ContentParser.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/core/src/mindustry/mod/ContentParser.java b/core/src/mindustry/mod/ContentParser.java index 133ddadbfb..2a7012f2b3 100644 --- a/core/src/mindustry/mod/ContentParser.java +++ b/core/src/mindustry/mod/ContentParser.java @@ -879,6 +879,17 @@ public class ContentParser{ Color.valueOf(data.getString("color2", data.getString("color", "ffffff"))), data.getInt("colorOct", 1), data.getFloat("colorPersistence", 0.5f), data.getFloat("colorScale", 1f), data.getFloat("colorThreshold", 0.5f)); + case "SunMesh" -> { + var cvals = data.get("colors").asStringArray(); + var colors = new Color[cvals.length]; + for(int i=0; i new HexSkyMesh(planet, data.getInt("seed", 0), data.getFloat("speed", 0), data.getFloat("radius", 1f), data.getInt("divisions", 3), Color.valueOf(data.getString("color", "ffffff")), data.getInt("octaves", 1),