diff --git a/android/src/mindustry/android/AndroidLauncher.java b/android/src/mindustry/android/AndroidLauncher.java index 4c8a1ff7e1..b72d734b0b 100644 --- a/android/src/mindustry/android/AndroidLauncher.java +++ b/android/src/mindustry/android/AndroidLauncher.java @@ -211,7 +211,6 @@ public class AndroidLauncher extends AndroidApplication{ }, new AndroidApplicationConfiguration(){{ useImmersiveMode = true; hideStatusBar = true; - useGL30 = true; }}); checkFiles(getIntent()); diff --git a/build.gradle b/build.gradle index c627f4d794..6f1017a2aa 100644 --- a/build.gradle +++ b/build.gradle @@ -258,7 +258,6 @@ project(":desktop"){ dependencies{ implementation project(":core") - implementation arcModule("extensions:profiling") implementation arcModule("extensions:discord") implementation arcModule("natives:natives-filedialogs") implementation arcModule("extensions:filedialogs") diff --git a/core/src/mindustry/ClientLauncher.java b/core/src/mindustry/ClientLauncher.java index ff447af87c..6bcb885582 100644 --- a/core/src/mindustry/ClientLauncher.java +++ b/core/src/mindustry/ClientLauncher.java @@ -139,6 +139,7 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform }); assets.load("sprites/error.png", Texture.class); + //TODO: this takes 300+ms to load, which means 300ms of black screen atlas = new TextureAtlas(Core.files.internal("sprites/sprites.aatls")); Fonts.loadDefaultFont(); diff --git a/core/src/mindustry/core/Renderer.java b/core/src/mindustry/core/Renderer.java index a6ac9723fd..fd1a88d3c7 100644 --- a/core/src/mindustry/core/Renderer.java +++ b/core/src/mindustry/core/Renderer.java @@ -4,7 +4,6 @@ import arc.*; import arc.assets.loaders.TextureLoader.*; import arc.files.*; import arc.graphics.*; -import arc.graphics.Texture.*; import arc.graphics.g2d.*; import arc.graphics.gl.*; import arc.math.*; diff --git a/core/src/mindustry/game/MapObjectives.java b/core/src/mindustry/game/MapObjectives.java index 21bae25b70..8d75ceaa0f 100644 --- a/core/src/mindustry/game/MapObjectives.java +++ b/core/src/mindustry/game/MapObjectives.java @@ -3,7 +3,6 @@ package mindustry.game; import arc.*; import arc.func.*; import arc.graphics.*; -import arc.graphics.Texture.*; import arc.graphics.g2d.*; import arc.math.*; import arc.math.geom.*; diff --git a/core/src/mindustry/graphics/BlockRenderer.java b/core/src/mindustry/graphics/BlockRenderer.java index 36b95cb537..f8250ef211 100644 --- a/core/src/mindustry/graphics/BlockRenderer.java +++ b/core/src/mindustry/graphics/BlockRenderer.java @@ -2,7 +2,6 @@ package mindustry.graphics; import arc.*; import arc.graphics.*; -import arc.graphics.Texture.*; import arc.graphics.g2d.*; import arc.graphics.gl.*; import arc.input.*; diff --git a/core/src/mindustry/graphics/CubemapMesh.java b/core/src/mindustry/graphics/CubemapMesh.java index cc59939292..47a467193d 100644 --- a/core/src/mindustry/graphics/CubemapMesh.java +++ b/core/src/mindustry/graphics/CubemapMesh.java @@ -2,7 +2,6 @@ package mindustry.graphics; import arc.*; import arc.graphics.*; -import arc.graphics.Texture.*; import arc.graphics.gl.*; import arc.math.geom.*; import arc.util.*; diff --git a/core/src/mindustry/graphics/EnvRenderers.java b/core/src/mindustry/graphics/EnvRenderers.java index a31bb52453..e62290822c 100644 --- a/core/src/mindustry/graphics/EnvRenderers.java +++ b/core/src/mindustry/graphics/EnvRenderers.java @@ -3,7 +3,6 @@ package mindustry.graphics; import arc.*; import arc.assets.loaders.TextureLoader.*; import arc.graphics.*; -import arc.graphics.Texture.*; import arc.graphics.g2d.*; import arc.math.*; import arc.util.*; diff --git a/core/src/mindustry/graphics/FogRenderer.java b/core/src/mindustry/graphics/FogRenderer.java index f24b1d10fc..497b88a4ed 100644 --- a/core/src/mindustry/graphics/FogRenderer.java +++ b/core/src/mindustry/graphics/FogRenderer.java @@ -2,7 +2,6 @@ package mindustry.graphics; import arc.*; import arc.graphics.*; -import arc.graphics.Texture.*; import arc.graphics.g2d.*; import arc.graphics.gl.*; import arc.math.geom.*; diff --git a/core/src/mindustry/graphics/MinimapRenderer.java b/core/src/mindustry/graphics/MinimapRenderer.java index b9ce86dd85..92bdd75c5b 100644 --- a/core/src/mindustry/graphics/MinimapRenderer.java +++ b/core/src/mindustry/graphics/MinimapRenderer.java @@ -2,7 +2,6 @@ package mindustry.graphics; import arc.*; import arc.graphics.*; -import arc.graphics.Texture.*; import arc.graphics.g2d.*; import arc.math.*; import arc.math.geom.*; diff --git a/core/src/mindustry/graphics/MultiPacker.java b/core/src/mindustry/graphics/MultiPacker.java index dfa9d15f70..a0e207d4e1 100644 --- a/core/src/mindustry/graphics/MultiPacker.java +++ b/core/src/mindustry/graphics/MultiPacker.java @@ -1,7 +1,6 @@ package mindustry.graphics; import arc.graphics.*; -import arc.graphics.Texture.*; import arc.graphics.g2d.*; import arc.graphics.g2d.TextureAtlas.*; import arc.struct.*; diff --git a/core/src/mindustry/graphics/Pixelator.java b/core/src/mindustry/graphics/Pixelator.java index 2c7141d0bf..ec72c39b68 100644 --- a/core/src/mindustry/graphics/Pixelator.java +++ b/core/src/mindustry/graphics/Pixelator.java @@ -2,7 +2,6 @@ package mindustry.graphics; import arc.*; import arc.graphics.*; -import arc.graphics.Texture.*; import arc.graphics.g2d.*; import arc.graphics.gl.*; import arc.math.*; diff --git a/core/src/mindustry/graphics/Shaders.java b/core/src/mindustry/graphics/Shaders.java index 7f2b432eef..8aaac3917a 100644 --- a/core/src/mindustry/graphics/Shaders.java +++ b/core/src/mindustry/graphics/Shaders.java @@ -4,7 +4,6 @@ import arc.*; import arc.assets.loaders.TextureLoader.*; import arc.files.*; import arc.graphics.*; -import arc.graphics.Texture.*; import arc.graphics.g2d.*; import arc.graphics.g3d.*; import arc.graphics.gl.*; diff --git a/core/src/mindustry/graphics/g3d/MeshBuilder.java b/core/src/mindustry/graphics/g3d/MeshBuilder.java index 4cb4f1dd0b..7984b084f5 100644 --- a/core/src/mindustry/graphics/g3d/MeshBuilder.java +++ b/core/src/mindustry/graphics/g3d/MeshBuilder.java @@ -8,7 +8,7 @@ import mindustry.graphics.g3d.PlanetGrid.*; import mindustry.maps.generators.*; public class MeshBuilder{ - private static final boolean packNormals = Core.gl30 != null && (Core.app.isMobile() || Core.graphics.getGLVersion().atLeast(3, 3)); + private static final boolean packNormals = (Core.app.isMobile() || Core.graphics.getGLVersion().atLeast(3, 3)); private static volatile float[] tmpHeights = new float[14580]; //highest amount of corners in vanilla /** Note that the resulting icosphere does not have normals or a color. */ @@ -211,7 +211,7 @@ public class MeshBuilder{ } if(emissive){ - attributes.add(new VertexAttribute(4, GL20.GL_UNSIGNED_BYTE, true, "a_emissive")); + attributes.add(new VertexAttribute(4, Gl.unsignedByte, true, "a_emissive")); } Mesh mesh = new Mesh(true, vertices, indices, attributes.toArray(VertexAttribute.class)); diff --git a/core/src/mindustry/mod/Mods.java b/core/src/mindustry/mod/Mods.java index 11e5ff0036..91375ab409 100644 --- a/core/src/mindustry/mod/Mods.java +++ b/core/src/mindustry/mod/Mods.java @@ -5,7 +5,6 @@ import arc.assets.*; import arc.files.*; import arc.func.*; import arc.graphics.*; -import arc.graphics.Texture.*; import arc.graphics.g2d.*; import arc.graphics.g2d.TextureAtlas.*; import arc.graphics.gl.*; diff --git a/core/src/mindustry/type/weather/ParticleWeather.java b/core/src/mindustry/type/weather/ParticleWeather.java index f277911753..6d09518eee 100644 --- a/core/src/mindustry/type/weather/ParticleWeather.java +++ b/core/src/mindustry/type/weather/ParticleWeather.java @@ -2,7 +2,6 @@ package mindustry.type.weather; import arc.*; import arc.graphics.*; -import arc.graphics.Texture.*; import arc.graphics.g2d.*; import arc.util.*; import mindustry.gen.*; diff --git a/core/src/mindustry/ui/BorderImage.java b/core/src/mindustry/ui/BorderImage.java index 70d0ffc522..f173b25ab3 100644 --- a/core/src/mindustry/ui/BorderImage.java +++ b/core/src/mindustry/ui/BorderImage.java @@ -1,7 +1,6 @@ package mindustry.ui; import arc.graphics.*; -import arc.graphics.Texture.*; import arc.graphics.g2d.*; import arc.math.*; import arc.math.geom.*; diff --git a/core/src/mindustry/ui/Fonts.java b/core/src/mindustry/ui/Fonts.java index 168807fdf7..8e089ce7ba 100644 --- a/core/src/mindustry/ui/Fonts.java +++ b/core/src/mindustry/ui/Fonts.java @@ -8,7 +8,6 @@ import arc.freetype.*; import arc.freetype.FreeTypeFontGenerator.*; import arc.freetype.FreetypeFontLoader.*; import arc.graphics.*; -import arc.graphics.Texture.*; import arc.graphics.g2d.*; import arc.graphics.g2d.Font.*; import arc.math.geom.*; diff --git a/core/src/mindustry/ui/dialogs/ColorPicker.java b/core/src/mindustry/ui/dialogs/ColorPicker.java index f5e096c745..3223d43337 100644 --- a/core/src/mindustry/ui/dialogs/ColorPicker.java +++ b/core/src/mindustry/ui/dialogs/ColorPicker.java @@ -2,7 +2,6 @@ package mindustry.ui.dialogs; import arc.func.*; import arc.graphics.*; -import arc.graphics.Texture.*; import arc.graphics.g2d.*; import arc.scene.*; import arc.scene.ui.*; diff --git a/core/src/mindustry/ui/dialogs/ModsDialog.java b/core/src/mindustry/ui/dialogs/ModsDialog.java index 4efb7f361c..345e44a684 100644 --- a/core/src/mindustry/ui/dialogs/ModsDialog.java +++ b/core/src/mindustry/ui/dialogs/ModsDialog.java @@ -4,7 +4,6 @@ import arc.*; import arc.files.*; import arc.func.*; import arc.graphics.*; -import arc.graphics.Texture.*; import arc.graphics.g2d.*; import arc.input.*; import arc.scene.style.*; diff --git a/core/src/mindustry/ui/dialogs/PlanetDialog.java b/core/src/mindustry/ui/dialogs/PlanetDialog.java index fec80c8b4e..75ef31024d 100644 --- a/core/src/mindustry/ui/dialogs/PlanetDialog.java +++ b/core/src/mindustry/ui/dialogs/PlanetDialog.java @@ -4,7 +4,6 @@ import arc.*; import arc.assets.loaders.TextureLoader.*; import arc.func.*; import arc.graphics.*; -import arc.graphics.Texture.*; import arc.graphics.g2d.*; import arc.graphics.gl.*; import arc.input.*; diff --git a/core/src/mindustry/ui/dialogs/SchematicsDialog.java b/core/src/mindustry/ui/dialogs/SchematicsDialog.java index f2eb15e50c..b6d037b993 100644 --- a/core/src/mindustry/ui/dialogs/SchematicsDialog.java +++ b/core/src/mindustry/ui/dialogs/SchematicsDialog.java @@ -4,7 +4,6 @@ import arc.*; import arc.files.*; import arc.func.*; import arc.graphics.*; -import arc.graphics.Texture.*; import arc.graphics.g2d.*; import arc.input.*; import arc.math.*; diff --git a/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java b/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java index 34b90befc0..901cea8752 100644 --- a/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java +++ b/core/src/mindustry/ui/dialogs/SettingsMenuDialog.java @@ -3,7 +3,7 @@ package mindustry.ui.dialogs; import arc.*; import arc.files.*; import arc.func.*; -import arc.graphics.Texture.*; +import arc.graphics.*; import arc.input.*; import arc.scene.*; import arc.scene.event.*; diff --git a/desktop/src/mindustry/desktop/DesktopLauncher.java b/desktop/src/mindustry/desktop/DesktopLauncher.java index 0ee801cd88..f97249c6c7 100644 --- a/desktop/src/mindustry/desktop/DesktopLauncher.java +++ b/desktop/src/mindustry/desktop/DesktopLauncher.java @@ -8,8 +8,8 @@ import arc.discord.*; import arc.discord.DiscordRPC.*; import arc.filedialogs.*; import arc.files.*; +import arc.graphics.gl.*; import arc.math.*; -import arc.profiling.*; import arc.struct.*; import arc.util.*; import arc.util.Log.*; @@ -75,8 +75,11 @@ public class DesktopLauncher extends ClientLauncher{ if(str.contains(".")){ String[] split = str.split("\\."); if(split.length == 2 && Strings.canParsePositiveInt(split[0]) && Strings.canParsePositiveInt(split[1])){ - glVersions = new int[][]{{Strings.parseInt(split[0]), Strings.parseInt(split[1])}}; - allowGl30 = true; //when a version is explicitly specified always allow GL 3 + if(Strings.parseInt(split[0]) < 3){ + Log.err("OpenGL 3.0 is required for Mindustry to run. Ignoring command-line GL version arguments."); + }else{ + glVersions = new int[][]{{Strings.parseInt(split[0]), Strings.parseInt(split[1])}}; + } break; } } @@ -90,12 +93,11 @@ public class DesktopLauncher extends ClientLauncher{ case "testMobile" -> testMobile = true; case "gltrace" -> { Events.on(ClientCreateEvent.class, e -> { - var profiler = new GLProfiler(Core.graphics); - profiler.enable(); + GLProfiler.enable(); Core.app.addListener(new ApplicationListener(){ @Override public void update(){ - profiler.reset(); + GLProfiler.reset(); } }); }); @@ -297,7 +299,7 @@ public class DesktopLauncher extends ClientLauncher{ String finalMessage = Strings.getFinalMessage(e); String total = Strings.getCauses(e).toString(); - if(total.contains("Couldn't create window") || total.contains("OpenGL 2.0 or higher") || total.toLowerCase().contains("pixel format") || total.contains("GLEW")|| total.contains("unsupported combination of formats")){ + if(total.contains("Couldn't create window") || total.contains("OpenGL 3.0 or higher") || total.toLowerCase().contains("pixel format") || total.contains("GLEW")|| total.contains("unsupported combination of formats")){ message( total.contains("Couldn't create window") ? "A graphics initialization error has occured! Try to update your graphics drivers:\n" + finalMessage : diff --git a/gradle.properties b/gradle.properties index f1ba705745..6b46cfacb2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -26,4 +26,4 @@ org.gradle.caching=true org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.connectionTimeout=100000 android.enableR8.fullMode=false -archash=bb83372514 +archash=f8fbbb5cde diff --git a/ios/src/mindustry/ios/IOSLauncher.java b/ios/src/mindustry/ios/IOSLauncher.java index 6aa59234a4..3539a63c01 100644 --- a/ios/src/mindustry/ios/IOSLauncher.java +++ b/ios/src/mindustry/ios/IOSLauncher.java @@ -185,9 +185,7 @@ public class IOSLauncher extends IOSApplication.Delegate{ forced = false; UINavigationController.attemptRotationToDeviceOrientation(); } - }, new IOSApplicationConfiguration(){{ - useGL30 = true; - }}); + }, new IOSApplicationConfiguration()); } @Override