From 8b3d64a29afd5192e73952a6cc446e0e44ec1ba2 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 7 Mar 2020 14:36:47 -0500 Subject: [PATCH 1/4] Better error detection --- desktop/src/mindustry/desktop/DesktopLauncher.java | 5 +++-- gradle.properties | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/desktop/src/mindustry/desktop/DesktopLauncher.java b/desktop/src/mindustry/desktop/DesktopLauncher.java index 925a77aefb..6c54691e0f 100644 --- a/desktop/src/mindustry/desktop/DesktopLauncher.java +++ b/desktop/src/mindustry/desktop/DesktopLauncher.java @@ -180,9 +180,10 @@ public class DesktopLauncher extends ClientLauncher{ static void handleCrash(Throwable e){ Cons dialog = Runnable::run; boolean badGPU = false; + String total = Strings.getCauses(e).toString(); - if(e.getMessage() != null && (e.getMessage().contains("Couldn't create window") || - e.getMessage().contains("OpenGL 2.0 or higher") || e.getMessage().toLowerCase().contains("pixel format") || e.getMessage().contains("GLEW"))){ + if(total.contains("Couldn't create window") || + total.contains("OpenGL 2.0 or higher") || total.toLowerCase().contains("pixel format") || total.contains("GLEW")){ dialog.get(() -> message( e.getMessage().contains("Couldn't create window") ? "A graphics initialization error has occured! Try to update your graphics drivers:\n" + e.getMessage() : diff --git a/gradle.properties b/gradle.properties index 9a6d877821..79495ee591 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=69ef047313449905aff6d1390d7136f9c7cdc986 +archash=c1eab295b1a55397957fd54bec2f37daee0e8b4b From 9ef394a99ea06b5e39e9208839e946a8602afd63 Mon Sep 17 00:00:00 2001 From: DeltaNedas <39013340+DeltaNedas@users.noreply.github.com> Date: Sun, 8 Mar 2020 03:47:12 +0000 Subject: [PATCH 2/4] set current mod to required mod (#1684) or you will need to prefix mod name in requires of the required mod instead you now need to prefix current mods name after youve required from another mod --- core/src/mindustry/mod/Scripts.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/src/mindustry/mod/Scripts.java b/core/src/mindustry/mod/Scripts.java index 7c2bde72e2..1e1e5cb325 100644 --- a/core/src/mindustry/mod/Scripts.java +++ b/core/src/mindustry/mod/Scripts.java @@ -127,6 +127,8 @@ public class Scripts implements Disposable{ if(!dir.exists()) return null; // Mod and folder not found return loadSource(script, dir, validator); } + + currentMod = required; return loadSource(script, required.root.child("scripts"), validator); } From d7f9090c0bb009ffbb1da6058164913b94404703 Mon Sep 17 00:00:00 2001 From: Anuken Date: Mon, 9 Mar 2020 09:41:39 -0400 Subject: [PATCH 3/4] Fixed #1672 --- core/assets/bundles/bundle.properties | 2 ++ core/src/mindustry/input/InputHandler.java | 17 +++++++++++++---- .../mindustry/ui/dialogs/SchematicsDialog.java | 7 +++++++ gradle.properties | 2 +- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 1d84a3c859..6a478b6c54 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -39,6 +39,8 @@ be.check = Check for updates schematic = Schematic schematic.add = Save Schematic... schematics = Schematics +schematic.replace = A schematic by that name already exists. Replace it? +schematic.exists = A schematic by that name already exists. schematic.import = Import Schematic... schematic.exportfile = Export File schematic.importfile = Import File diff --git a/core/src/mindustry/input/InputHandler.java b/core/src/mindustry/input/InputHandler.java index 611cec44b6..cd2f3d6d6b 100644 --- a/core/src/mindustry/input/InputHandler.java +++ b/core/src/mindustry/input/InputHandler.java @@ -255,10 +255,19 @@ public abstract class InputHandler implements InputProcessor, GestureListener{ if(lastSchematic == null) return; ui.showTextInput("$schematic.add", "$name", "", text -> { - lastSchematic.tags.put("name", text); - schematics.add(lastSchematic); - ui.showInfoFade("$schematic.saved"); - ui.schematics.showInfo(lastSchematic); + Schematic replacement = schematics.all().find(s -> s.name().equals(text)); + if(replacement != null){ + ui.showConfirm("$confirm", "$schematic.replace", () -> { + schematics.overwrite(replacement, lastSchematic); + ui.showInfoFade("$schematic.saved"); + ui.schematics.showInfo(replacement); + }); + }else{ + lastSchematic.tags.put("name", text); + schematics.add(lastSchematic); + ui.showInfoFade("$schematic.saved"); + ui.schematics.showInfo(lastSchematic); + } }); } diff --git a/core/src/mindustry/ui/dialogs/SchematicsDialog.java b/core/src/mindustry/ui/dialogs/SchematicsDialog.java index fb29f9fa8e..5a67dacd58 100644 --- a/core/src/mindustry/ui/dialogs/SchematicsDialog.java +++ b/core/src/mindustry/ui/dialogs/SchematicsDialog.java @@ -90,6 +90,13 @@ public class SchematicsDialog extends FloatingDialog{ buttons.addImageButton(Icon.pencil, style, () -> { ui.showTextInput("$schematic.rename", "$name", s.name(), res -> { + Schematic replacement = schematics.all().find(other -> other.name().equals(res) && other != s); + if(replacement != null){ + //renaming to an existing schematic is not allowed, as it is not clear how the tags would be merged, and which one should be removed + ui.showErrorMessage("$schematic.exists"); + return; + } + s.tags.put("name", res); s.save(); rebuildPane[0].run(); diff --git a/gradle.properties b/gradle.properties index 79495ee591..1aeb38a829 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=c1eab295b1a55397957fd54bec2f37daee0e8b4b +archash=b8f094ba9916ba5a0ce5b4c9dc0fc3d2d0cf89fd From 8550995c4e9f886e702aad35c0689cf268b20fd1 Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 10 Mar 2020 19:51:31 -0400 Subject: [PATCH 4/4] Fixed compilation --- .../{alpha_bloom.fragment.glsl => alpha_bloom.frag} | 0 .../{alpha_gaussian.fragment.glsl => alpha_gaussian.frag} | 0 .../{alpha_threshold.fragment.glsl => alpha_threshold.frag} | 0 core/assets/bloomshaders/{bloom.fragment.glsl => bloom.frag} | 0 .../bloomshaders/{blurspace.vertex.glsl => blurspace.vert} | 0 .../bloomshaders/{gaussian.fragment.glsl => gaussian.frag} | 0 .../{maskedtreshold.fragment.glsl => maskedtreshold.frag} | 0 .../{screenspace.vertex.glsl => screenspace.vert} | 0 .../bloomshaders/{threshold.fragment.glsl => threshold.frag} | 0 core/src/mindustry/graphics/IndexedRenderer.java | 5 +---- gradle.properties | 2 +- 11 files changed, 2 insertions(+), 5 deletions(-) rename core/assets/bloomshaders/{alpha_bloom.fragment.glsl => alpha_bloom.frag} (100%) rename core/assets/bloomshaders/{alpha_gaussian.fragment.glsl => alpha_gaussian.frag} (100%) rename core/assets/bloomshaders/{alpha_threshold.fragment.glsl => alpha_threshold.frag} (100%) rename core/assets/bloomshaders/{bloom.fragment.glsl => bloom.frag} (100%) rename core/assets/bloomshaders/{blurspace.vertex.glsl => blurspace.vert} (100%) rename core/assets/bloomshaders/{gaussian.fragment.glsl => gaussian.frag} (100%) rename core/assets/bloomshaders/{maskedtreshold.fragment.glsl => maskedtreshold.frag} (100%) rename core/assets/bloomshaders/{screenspace.vertex.glsl => screenspace.vert} (100%) rename core/assets/bloomshaders/{threshold.fragment.glsl => threshold.frag} (100%) diff --git a/core/assets/bloomshaders/alpha_bloom.fragment.glsl b/core/assets/bloomshaders/alpha_bloom.frag similarity index 100% rename from core/assets/bloomshaders/alpha_bloom.fragment.glsl rename to core/assets/bloomshaders/alpha_bloom.frag diff --git a/core/assets/bloomshaders/alpha_gaussian.fragment.glsl b/core/assets/bloomshaders/alpha_gaussian.frag similarity index 100% rename from core/assets/bloomshaders/alpha_gaussian.fragment.glsl rename to core/assets/bloomshaders/alpha_gaussian.frag diff --git a/core/assets/bloomshaders/alpha_threshold.fragment.glsl b/core/assets/bloomshaders/alpha_threshold.frag similarity index 100% rename from core/assets/bloomshaders/alpha_threshold.fragment.glsl rename to core/assets/bloomshaders/alpha_threshold.frag diff --git a/core/assets/bloomshaders/bloom.fragment.glsl b/core/assets/bloomshaders/bloom.frag similarity index 100% rename from core/assets/bloomshaders/bloom.fragment.glsl rename to core/assets/bloomshaders/bloom.frag diff --git a/core/assets/bloomshaders/blurspace.vertex.glsl b/core/assets/bloomshaders/blurspace.vert similarity index 100% rename from core/assets/bloomshaders/blurspace.vertex.glsl rename to core/assets/bloomshaders/blurspace.vert diff --git a/core/assets/bloomshaders/gaussian.fragment.glsl b/core/assets/bloomshaders/gaussian.frag similarity index 100% rename from core/assets/bloomshaders/gaussian.fragment.glsl rename to core/assets/bloomshaders/gaussian.frag diff --git a/core/assets/bloomshaders/maskedtreshold.fragment.glsl b/core/assets/bloomshaders/maskedtreshold.frag similarity index 100% rename from core/assets/bloomshaders/maskedtreshold.fragment.glsl rename to core/assets/bloomshaders/maskedtreshold.frag diff --git a/core/assets/bloomshaders/screenspace.vertex.glsl b/core/assets/bloomshaders/screenspace.vert similarity index 100% rename from core/assets/bloomshaders/screenspace.vertex.glsl rename to core/assets/bloomshaders/screenspace.vert diff --git a/core/assets/bloomshaders/threshold.fragment.glsl b/core/assets/bloomshaders/threshold.frag similarity index 100% rename from core/assets/bloomshaders/threshold.fragment.glsl rename to core/assets/bloomshaders/threshold.frag diff --git a/core/src/mindustry/graphics/IndexedRenderer.java b/core/src/mindustry/graphics/IndexedRenderer.java index cb42b6fe0b..96194c0883 100644 --- a/core/src/mindustry/graphics/IndexedRenderer.java +++ b/core/src/mindustry/graphics/IndexedRenderer.java @@ -60,16 +60,13 @@ public class IndexedRenderer implements Disposable{ updateMatrix(); - program.begin(); - + program.bind(); texture.bind(); program.setUniformMatrix4("u_projTrans", BatchShader.copyTransform(combined)); program.setUniformi("u_texture", 0); mesh.render(program, Gl.triangles, 0, vertices.length / vsize); - - program.end(); } public void setColor(Color color){ diff --git a/gradle.properties b/gradle.properties index 1aeb38a829..1bbf7facaa 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=b8f094ba9916ba5a0ce5b4c9dc0fc3d2d0cf89fd +archash=3c2fae9b66b6affc1ba6701cce19ca9625c5e1b1