diff --git a/core/assets-raw/sprites/blocks/defense/overdrive-dome.png b/core/assets-raw/sprites/blocks/defense/overdrive-dome.png index 61515689d0..6bf8371b21 100644 Binary files a/core/assets-raw/sprites/blocks/defense/overdrive-dome.png and b/core/assets-raw/sprites/blocks/defense/overdrive-dome.png differ diff --git a/core/assets/sprites/block_colors.png b/core/assets/sprites/block_colors.png index b93360e858..ea02d69e0d 100644 Binary files a/core/assets/sprites/block_colors.png and b/core/assets/sprites/block_colors.png differ diff --git a/core/assets/sprites/fallback/sprites2.png b/core/assets/sprites/fallback/sprites2.png index 7c70122b86..a3a75a8797 100644 Binary files a/core/assets/sprites/fallback/sprites2.png and b/core/assets/sprites/fallback/sprites2.png differ diff --git a/core/assets/sprites/fallback/sprites4.png b/core/assets/sprites/fallback/sprites4.png index 6b322823fc..7319551a32 100644 Binary files a/core/assets/sprites/fallback/sprites4.png and b/core/assets/sprites/fallback/sprites4.png differ diff --git a/core/assets/sprites/fallback/sprites6.png b/core/assets/sprites/fallback/sprites6.png index e257c15017..61522803dc 100644 Binary files a/core/assets/sprites/fallback/sprites6.png and b/core/assets/sprites/fallback/sprites6.png differ diff --git a/core/assets/sprites/fallback/sprites7.png b/core/assets/sprites/fallback/sprites7.png index 8017c11998..0a1ad63aaf 100644 Binary files a/core/assets/sprites/fallback/sprites7.png and b/core/assets/sprites/fallback/sprites7.png differ diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 56013f318c..bc3ae33db7 100644 Binary files a/core/assets/sprites/sprites.png and b/core/assets/sprites/sprites.png differ diff --git a/core/assets/sprites/sprites2.png b/core/assets/sprites/sprites2.png index 88622e74d9..dad64fba80 100644 Binary files a/core/assets/sprites/sprites2.png and b/core/assets/sprites/sprites2.png differ diff --git a/core/assets/sprites/sprites4.png b/core/assets/sprites/sprites4.png index 1f61b9736f..70f9cea236 100644 Binary files a/core/assets/sprites/sprites4.png and b/core/assets/sprites/sprites4.png differ diff --git a/core/assets/sprites/sprites5.png b/core/assets/sprites/sprites5.png index 9044fadaff..181928f70c 100644 Binary files a/core/assets/sprites/sprites5.png and b/core/assets/sprites/sprites5.png differ diff --git a/core/src/mindustry/content/TechTree.java b/core/src/mindustry/content/TechTree.java index 75dc057d6c..30baf7e541 100644 --- a/core/src/mindustry/content/TechTree.java +++ b/core/src/mindustry/content/TechTree.java @@ -583,8 +583,6 @@ public class TechTree implements ContentList{ public float time; /** Nodes that depend on this node. */ public final Seq children = new Seq<>(); - /** Research progress, in seconds. */ - public float progress; TechNode(@Nullable TechNode ccontext, UnlockableContent content, ItemStack[] requirements, Runnable children){ if(ccontext != null){ @@ -595,7 +593,6 @@ public class TechTree implements ContentList{ this.content = content; this.requirements = requirements; this.depth = parent == null ? 0 : parent.depth + 1; - this.progress = Core.settings == null ? 0 : Core.settings.getFloat("research-" + content.name, 0f); this.time = Seq.with(requirements).mapFloat(i -> i.item.cost * i.amount).sum() * 10; this.finishedRequirements = new ItemStack[requirements.length]; @@ -620,7 +617,6 @@ public class TechTree implements ContentList{ /** Flushes research progress to settings. */ public void save(){ - Core.settings.put("research-" + content.name, progress); //save finished requirements by item type for(ItemStack stack : finishedRequirements){ diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index e5de1d7de3..10f19cad4b 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -582,7 +582,7 @@ public class UnitTypes implements ContentList{ armor = 9f; engineOffset = 21; engineSize = 5.3f; - hitsize = 58f; + hitsize = 56f; BulletType missiles = new MissileBulletType(2.7f, 10){{ width = 8f; diff --git a/core/src/mindustry/input/DesktopInput.java b/core/src/mindustry/input/DesktopInput.java index 7fb02a8606..9b02aba3be 100644 --- a/core/src/mindustry/input/DesktopInput.java +++ b/core/src/mindustry/input/DesktopInput.java @@ -42,6 +42,8 @@ public class DesktopInput extends InputHandler{ public @Nullable BuildPlan sreq; /** Whether player is currently deleting removal requests. */ public boolean deleting = false, shouldShoot = false, panning = false; + /** Mouse pan speed. */ + public float panScale = 0.005f, panSpeed = 4.5f, panBoostSpeed = 9f; @Override public void buildUI(Group group){ @@ -179,7 +181,7 @@ public class DesktopInput extends InputHandler{ } boolean panCam = false; - float camSpeed = !Core.input.keyDown(Binding.boost) ? 3f : 8f; + float camSpeed = !Core.input.keyDown(Binding.boost) ? panSpeed : panBoostSpeed; if(input.keyDown(Binding.pan)){ panCam = true; @@ -203,8 +205,8 @@ public class DesktopInput extends InputHandler{ } if(panCam){ - Core.camera.position.x += Mathf.clamp((Core.input.mouseX() - Core.graphics.getWidth() / 2f) * 0.005f, -1, 1) * camSpeed; - Core.camera.position.y += Mathf.clamp((Core.input.mouseY() - Core.graphics.getHeight() / 2f) * 0.005f, -1, 1) * camSpeed; + Core.camera.position.x += Mathf.clamp((Core.input.mouseX() - Core.graphics.getWidth() / 2f) * panScale, -1, 1) * camSpeed; + Core.camera.position.y += Mathf.clamp((Core.input.mouseY() - Core.graphics.getHeight() / 2f) * panScale, -1, 1) * camSpeed; } shouldShoot = !scene.hasMouse(); diff --git a/core/src/mindustry/net/BeControl.java b/core/src/mindustry/net/BeControl.java index d2e236b0f8..aba2cb2e29 100644 --- a/core/src/mindustry/net/BeControl.java +++ b/core/src/mindustry/net/BeControl.java @@ -89,34 +89,38 @@ public class BeControl{ if(!headless){ checkUpdates = false; ui.showCustomConfirm(Core.bundle.format("be.update", "") + " " + updateBuild, "@be.update.confirm", "@ok", "@be.ignore", () -> { - boolean[] cancel = {false}; - float[] progress = {0}; - int[] length = {0}; - Fi file = bebuildDirectory.child("client-be-" + updateBuild + ".jar"); + try{ + boolean[] cancel = {false}; + float[] progress = {0}; + int[] length = {0}; + Fi file = Fi.get(BeControl.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()); - BaseDialog dialog = new BaseDialog("@be.updating"); - download(updateUrl, file, i -> length[0] = i, v -> progress[0] = v, () -> cancel[0], () -> { - try{ - Runtime.getRuntime().exec(OS.isMac ? - new String[]{"java", "-XstartOnFirstThread", "-DlastBuild=" + Version.build, "-Dberestart", "-jar", file.absolutePath()} : - new String[]{"java", "-DlastBuild=" + Version.build, "-Dberestart", "-jar", file.absolutePath()} - ); - System.exit(0); - }catch(IOException e){ + BaseDialog dialog = new BaseDialog("@be.updating"); + download(updateUrl, file, i -> length[0] = i, v -> progress[0] = v, () -> cancel[0], () -> { + try{ + Runtime.getRuntime().exec(OS.isMac ? + new String[]{"java", "-XstartOnFirstThread", "-DlastBuild=" + Version.build, "-Dberestart", "-jar", file.absolutePath()} : + new String[]{"java", "-DlastBuild=" + Version.build, "-Dberestart", "-jar", file.absolutePath()} + ); + System.exit(0); + }catch(IOException e){ + ui.showException(e); + } + }, e -> { + dialog.hide(); ui.showException(e); - } - }, e -> { - dialog.hide(); - ui.showException(e); - }); + }); - dialog.cont.add(new Bar(() -> length[0] == 0 ? Core.bundle.get("be.updating") : (int)(progress[0] * length[0]) / 1024/ 1024 + "/" + length[0]/1024/1024 + " MB", () -> Pal.accent, () -> progress[0])).width(400f).height(70f); - dialog.buttons.button("@cancel", Icon.cancel, () -> { - cancel[0] = true; - dialog.hide(); - }).size(210f, 64f); - dialog.setFillParent(false); - dialog.show(); + dialog.cont.add(new Bar(() -> length[0] == 0 ? Core.bundle.get("be.updating") : (int)(progress[0] * length[0]) / 1024/ 1024 + "/" + length[0]/1024/1024 + " MB", () -> Pal.accent, () -> progress[0])).width(400f).height(70f); + dialog.buttons.button("@cancel", Icon.cancel, () -> { + cancel[0] = true; + dialog.hide(); + }).size(210f, 64f); + dialog.setFillParent(false); + dialog.show(); + }catch(Exception e){ + ui.showException(e); + } }, () -> checkUpdates = false); }else{ Log.info("&lcA new update is available: &lyBleeding Edge build @", updateBuild); diff --git a/gradle.properties b/gradle.properties index 94b9b3987e..ee83875d3c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=98b2693ae19feedb72d577ef9bdae5cfa4315c68 +archash=a72f08a6812107fdf4462b7c6955efc19a67715b