From 9dd2bfaeebad0485f0c17dfa08895f50a2f51463 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 3 Dec 2017 15:29:49 -0500 Subject: [PATCH] More difficulty tweaks, made sandbox work properly --- .../mechs/{player.png => mech-standard.png} | Bin core/assets/sprites/sprites.atlas | 6 +- core/assets/sprites/sprites.png | Bin 54653 -> 54637 bytes core/src/io/anuke/mindustry/core/Control.java | 10 +- .../src/io/anuke/mindustry/core/Renderer.java | 5 +- core/src/io/anuke/mindustry/core/UI.java | 4 + .../anuke/mindustry/entities/BulletType.java | 4 +- .../anuke/mindustry/entities/EnemySpawn.java | 6 +- .../io/anuke/mindustry/entities/Player.java | 6 +- .../anuke/mindustry/entities/TileEntity.java | 2 +- .../anuke/mindustry/entities/WaveCreator.java | 16 ++- .../entities/enemies/BlastEnemy.java | 16 ++- .../mindustry/entities/enemies/EmpEnemy.java | 4 +- .../mindustry/entities/enemies/Enemy.java | 2 +- .../entities/enemies/FortressEnemy.java | 4 +- .../entities/enemies/HealerEnemy.java | 6 +- .../entities/enemies/TitanEnemy.java | 4 +- core/src/io/anuke/mindustry/input/Input.java | 2 +- .../src/io/anuke/mindustry/resource/Mech.java | 9 +- .../io/anuke/mindustry/resource/Recipe.java | 4 +- .../src/io/anuke/mindustry/ui/LoadDialog.java | 63 +++++------ .../src/io/anuke/mindustry/ui/SaveDialog.java | 55 +++++----- .../ui/fragments/BlocksFragment.java | 2 +- .../mindustry/ui/fragments/HudFragment.java | 15 ++- core/src/io/anuke/mindustry/world/Block.java | 2 +- .../io/anuke/mindustry/world/Generator.java | 4 +- core/src/io/anuke/mindustry/world/Tile.java | 4 +- core/src/io/anuke/mindustry/world/World.java | 4 +- .../mindustry/world/blocks/DefenseBlocks.java | 5 +- .../world/blocks/ProductionBlocks.java | 4 +- .../mindustry/world/blocks/WeaponBlocks.java | 4 +- .../blocks/types/defense/PowerTurret.java | 2 +- .../blocks/types/defense/RepairTurret.java | 6 +- .../world/blocks/types/defense/Turret.java | 6 +- .../types/distribution/PowerBooster.java | 9 +- .../world/blocks/types/production/Drill.java | 2 +- .../blocks/types/production/Generator.java | 101 +++++++++++++----- desktop/mindustry-saves/2.mins | Bin 17639 -> 22400 bytes desktop/mindustry-saves/3.mins | Bin 4061 -> 29178 bytes desktop/mindustry-saves/4.mins | Bin 0 -> 39775 bytes desktop/mindustry-saves/6.mins | Bin 0 -> 3584 bytes desktop/mindustry-saves/7.mins | Bin 0 -> 39986 bytes 42 files changed, 249 insertions(+), 149 deletions(-) rename core/assets-raw/sprites/mechs/{player.png => mech-standard.png} (100%) create mode 100644 desktop/mindustry-saves/4.mins create mode 100644 desktop/mindustry-saves/6.mins create mode 100644 desktop/mindustry-saves/7.mins diff --git a/core/assets-raw/sprites/mechs/player.png b/core/assets-raw/sprites/mechs/mech-standard.png similarity index 100% rename from core/assets-raw/sprites/mechs/player.png rename to core/assets-raw/sprites/mechs/mech-standard.png diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 83f43602cf..8d713650bc 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -664,7 +664,7 @@ blocks/oil index: -1 blocks/oiledge rotate: false - xy: 456, 423 + xy: 470, 423 size: 12, 12 orig: 12, 12 offset: 0, 0 @@ -1579,9 +1579,9 @@ laserend orig: 18, 18 offset: 0, 0 index: -1 -mechs/player +mechs/mech-standard rotate: false - xy: 470, 423 + xy: 456, 423 size: 12, 12 orig: 12, 12 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index d39424c80a830f8a3475ae002bc258febec17d8e..5238973934bd92a511b3b42249653c64900a2218 100644 GIT binary patch delta 23236 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 delta 23238 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 diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index 63dc8719f6..c9eaab991a 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -159,6 +159,14 @@ public class Control extends Module{ //multiplying by 2 so you start with more time in the beginning wavetime = waveSpacing()*2; + if(mode == GameMode.sandbox){ + for(Item type : Item.values()){ + items.put(type, 999999999); + } + } + + ui.updateItems(); + GameState.set(State.playing); } @@ -236,7 +244,7 @@ public class Control extends Module{ int index = i; float range = 12f; - Timers.run(index*50f, ()->{ + Timers.run(index*5f, ()->{ try{ Enemy enemy = ClassReflection.newInstance(spawn.type); enemy.set(tile.worldx() + Mathf.range(range), tile.worldy() + Mathf.range(range)); diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index 37ce907625..e1b5203697 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -409,7 +409,8 @@ public class Renderer extends RendererModule{ Draw.thickness(2f); Draw.linecrect(x + offset.x, y + offset.y, tilesize * player.recipe.result.width + si, tilesize * player.recipe.result.height + si); - player.recipe.result.drawPlace(tilex, tiley, valid); + player.recipe.result.drawPlace(tilex, tiley, player.rotation, valid); + Draw.thickness(2f); if(player.recipe.result.rotate){ Draw.color("orange"); @@ -420,7 +421,7 @@ public class Renderer extends RendererModule{ Draw.thickness(1f); Draw.color("scarlet"); for(SpawnPoint spawn : control.getSpawnPoints()){ - Draw.dashcircle(spawn.start.worldx(), spawn.start.worldy(), enemyspawnspace); + Draw.dashCircle(spawn.start.worldx(), spawn.start.worldy(), enemyspawnspace); } if(valid) diff --git a/core/src/io/anuke/mindustry/core/UI.java b/core/src/io/anuke/mindustry/core/UI.java index a4c95044a7..cfe5ab9774 100644 --- a/core/src/io/anuke/mindustry/core/UI.java +++ b/core/src/io/anuke/mindustry/core/UI.java @@ -379,6 +379,10 @@ public class UI extends SceneModule{ about.show(); } + public boolean onDialog(){ + return scene.getKeyboardFocus() instanceof Dialog; + } + public void showUpgrades(){ upgrades.show(); } diff --git a/core/src/io/anuke/mindustry/entities/BulletType.java b/core/src/io/anuke/mindustry/entities/BulletType.java index 23818dfb76..698b8f35d2 100644 --- a/core/src/io/anuke/mindustry/entities/BulletType.java +++ b/core/src/io/anuke/mindustry/entities/BulletType.java @@ -132,10 +132,10 @@ public abstract class BulletType extends BaseBulletType{ DamageArea.damage(!(b.owner instanceof Enemy), b.x, b.y, 25f, (int)(damage * 2f/3f)); } }, - titanshell = new BulletType(1.8f, 60){ + titanshell = new BulletType(1.8f, 40){ { lifetime = 70f; - hitsize = 11f; + hitsize = 15f; } public void draw(Bullet b){ diff --git a/core/src/io/anuke/mindustry/entities/EnemySpawn.java b/core/src/io/anuke/mindustry/entities/EnemySpawn.java index 27805bc200..6ecabd473f 100644 --- a/core/src/io/anuke/mindustry/entities/EnemySpawn.java +++ b/core/src/io/anuke/mindustry/entities/EnemySpawn.java @@ -13,9 +13,11 @@ public class EnemySpawn{ /**The spacing, in waves, of spawns. 2 = spawns every other wave*/ protected int spacing = 1; /**How many waves need to pass after the start of this spawn for the tier to increase by one*/ - protected int tierscale = 15; + protected int tierscale = 14; /**How many less enemies there are, every time the tier increases*/ protected int tierscaleback = 1; + /**The tier this spawn starts at.*/ + protected int tier = 1; /**Maximum amount of enemies that spawn*/ protected int max = 17; /**How many waves need to pass before the amount of enemies increases by 1*/ @@ -35,6 +37,6 @@ public class EnemySpawn{ } public int tier(int wave, int lane){ - return Mathf.clamp(1 + (wave-after)/tierscale, 1, Enemy.maxtier); + return Mathf.clamp(tier + (wave-after)/tierscale, 1, Enemy.maxtier); } } diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index 4d051f6d63..1ecbfa51b1 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -10,6 +10,7 @@ import com.badlogic.gdx.math.Vector2; import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.effect.Fx; import io.anuke.mindustry.input.Input; +import io.anuke.mindustry.resource.Mech; import io.anuke.mindustry.resource.Recipe; import io.anuke.mindustry.resource.Weapon; import io.anuke.ucore.core.*; @@ -18,6 +19,7 @@ import io.anuke.ucore.util.Angles; public class Player extends DestructibleEntity{ public Weapon weapon; + public Mech mech = Mech.standard; public float breaktime = 0; public Recipe recipe; @@ -50,9 +52,9 @@ public class Player extends DestructibleEntity{ @Override public void draw(){ if(Vars.snapCamera && Settings.getBool("smoothcam") && Settings.getBool("pixelate")){ - Draw.rect("player", (int)x, (int)y, direction.angle()-90); + Draw.rect("mech-"+mech.name(), (int)x, (int)y, direction.angle()-90); }else{ - Draw.rect("player", x, y, direction.angle()-90); + Draw.rect("mech-"+mech.name(), x, y, direction.angle()-90); } } diff --git a/core/src/io/anuke/mindustry/entities/TileEntity.java b/core/src/io/anuke/mindustry/entities/TileEntity.java index c78833f629..2e730f7cae 100644 --- a/core/src/io/anuke/mindustry/entities/TileEntity.java +++ b/core/src/io/anuke/mindustry/entities/TileEntity.java @@ -79,7 +79,7 @@ public class TileEntity extends Entity{ } public boolean collide(Bullet other){ - return other.owner instanceof Enemy; + return other.owner instanceof Enemy; //TODO } @Override diff --git a/core/src/io/anuke/mindustry/entities/WaveCreator.java b/core/src/io/anuke/mindustry/entities/WaveCreator.java index bdc7a1fc6b..9833ccaf9b 100644 --- a/core/src/io/anuke/mindustry/entities/WaveCreator.java +++ b/core/src/io/anuke/mindustry/entities/WaveCreator.java @@ -53,11 +53,18 @@ public class WaveCreator{ amount = 1; }}, + new EnemySpawn(Enemy.class){{ + scaling = 3; + after = 8; + spacing = 4; + tier = 2; + }}, + new EnemySpawn(TitanEnemy.class){{ after = 6; amount = 2; spacing = 5; - scaling = 3; + scaling = 2; }}, new EnemySpawn(FlamerEnemy.class){{ @@ -67,6 +74,13 @@ public class WaveCreator{ scaling = 2; }}, + new EnemySpawn(EmpEnemy.class){{ + after = 15; + amount = 1; + spacing = 5; + scaling = 1; + }}, + new EnemySpawn(BlastEnemy.class){{ after = 4 + 5 + 5; amount = 3; diff --git a/core/src/io/anuke/mindustry/entities/enemies/BlastEnemy.java b/core/src/io/anuke/mindustry/entities/enemies/BlastEnemy.java index 8b174a5b68..3ef4bf68c2 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/BlastEnemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/BlastEnemy.java @@ -27,10 +27,20 @@ public class BlastEnemy extends Enemy{ } if(target != null && target.distanceTo(this) < range){ - Bullet b = new Bullet(BulletType.blast, this, x, y, 0).add(); - b.damage = BulletType.blast.damage + (tier-1) * 40; - damage(999); + explode(); } } + + @Override + public void onDeath(){ + super.onDeath(); + explode(); + } + + void explode(){ + Bullet b = new Bullet(BulletType.blast, this, x, y, 0).add(); + b.damage = BulletType.blast.damage + (tier-1) * 40; + damage(999); + } } diff --git a/core/src/io/anuke/mindustry/entities/enemies/EmpEnemy.java b/core/src/io/anuke/mindustry/entities/enemies/EmpEnemy.java index 5215719e37..fc5c3abf03 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/EmpEnemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/EmpEnemy.java @@ -6,8 +6,8 @@ public class EmpEnemy extends Enemy{ public EmpEnemy() { - speed = 0.27f; - reload = 70; + speed = 0.3f; + reload = 60; maxhealth = 210; range = 80f; bullet = BulletType.emp; diff --git a/core/src/io/anuke/mindustry/entities/enemies/Enemy.java b/core/src/io/anuke/mindustry/entities/enemies/Enemy.java index 88d4660797..50ac0286b1 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/Enemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/Enemy.java @@ -175,7 +175,7 @@ public class Enemy extends DestructibleEntity{ } maxhealth *= tier; - speed += 0.04f * tier + Mathf.range(0.1f); + speed += 0.04f * tier /*+ Mathf.range(0.1f)*/; reload /= Math.max(tier / 1.5f, 1f); range += tier * 5; speed = Math.max(speed, 0.07f); diff --git a/core/src/io/anuke/mindustry/entities/enemies/FortressEnemy.java b/core/src/io/anuke/mindustry/entities/enemies/FortressEnemy.java index a925814e1c..e87a602ade 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/FortressEnemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/FortressEnemy.java @@ -15,9 +15,9 @@ public class FortressEnemy extends Enemy{ public FortressEnemy() { - speed = 0.2f; + speed = 0.25f; reload = 90; - maxhealth = 700; + maxhealth = 800; range = 70f; bullet = BulletType.yellowshell; hitbox.setSize(10f); diff --git a/core/src/io/anuke/mindustry/entities/enemies/HealerEnemy.java b/core/src/io/anuke/mindustry/entities/enemies/HealerEnemy.java index 886662d797..96ae2578bb 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/HealerEnemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/HealerEnemy.java @@ -15,9 +15,9 @@ public class HealerEnemy extends Enemy{ public HealerEnemy() { - speed = 0.2f; - reload = 14; - maxhealth = 130; + speed = 0.25f; + reload = 10; + maxhealth = 200; range = 90f; bullet = BulletType.shot; range = 30f; diff --git a/core/src/io/anuke/mindustry/entities/enemies/TitanEnemy.java b/core/src/io/anuke/mindustry/entities/enemies/TitanEnemy.java index d7c78920d5..8b6d6cbfab 100644 --- a/core/src/io/anuke/mindustry/entities/enemies/TitanEnemy.java +++ b/core/src/io/anuke/mindustry/entities/enemies/TitanEnemy.java @@ -9,9 +9,9 @@ public class TitanEnemy extends Enemy{ public TitanEnemy() { - speed = 0.22f; + speed = 0.26f; reload = 30; - maxhealth = 421; + maxhealth = 430; range = 60f; bullet = BulletType.small; hitbox.setSize(7f); diff --git a/core/src/io/anuke/mindustry/input/Input.java b/core/src/io/anuke/mindustry/input/Input.java index 7dc2c67d96..0479e879bb 100644 --- a/core/src/io/anuke/mindustry/input/Input.java +++ b/core/src/io/anuke/mindustry/input/Input.java @@ -25,7 +25,7 @@ public class Input{ //player is dead if(player.health <= 0) return; - if(Inputs.scrolled() && GameState.is(State.playing)){ + if(Inputs.scrolled() && !GameState.is(State.menu) && !Vars.ui.onDialog()){ Vars.renderer.scaleCamera(Inputs.scroll()); } diff --git a/core/src/io/anuke/mindustry/resource/Mech.java b/core/src/io/anuke/mindustry/resource/Mech.java index 944bf8d5d4..7080cb7ec4 100644 --- a/core/src/io/anuke/mindustry/resource/Mech.java +++ b/core/src/io/anuke/mindustry/resource/Mech.java @@ -1,16 +1,15 @@ package io.anuke.mindustry.resource; public enum Mech{ - normal("default"), - scout("scout"){{ + standard, + scout{{ }}; - public final String name; public float speedBoost = 1f, damageBoost = 1f; public int regenRate = 10; public int health = 20; - private Mech(String name){ - this.name = name; + private Mech(){ + } } diff --git a/core/src/io/anuke/mindustry/resource/Recipe.java b/core/src/io/anuke/mindustry/resource/Recipe.java index 06c6295380..d1307dcc3a 100644 --- a/core/src/io/anuke/mindustry/resource/Recipe.java +++ b/core/src/io/anuke/mindustry/resource/Recipe.java @@ -43,8 +43,8 @@ public enum Recipe{ mortarturret(weapon, WeaponBlocks.mortarturret, stack(Item.steel, 20), stack(Item.titanium, 15)), teslaturret(weapon, WeaponBlocks.teslaturret, stack(Item.steel, 10), stack(Item.titanium, 15), stack(Item.dirium, 15)), plasmaturret(weapon, WeaponBlocks.plasmaturret, stack(Item.steel, 10), stack(Item.titanium, 10), stack(Item.dirium, 15)), - chainturret(weapon, WeaponBlocks.chainturret, stack(Item.steel, 35), stack(Item.titanium, 25), stack(Item.dirium, 35)), - titanturret(weapon, WeaponBlocks.titanturret, stack(Item.steel, 50), stack(Item.titanium, 45), stack(Item.dirium, 55)), + chainturret(weapon, WeaponBlocks.chainturret, stack(Item.steel, 50), stack(Item.titanium, 25), stack(Item.dirium, 35)), + titanturret(weapon, WeaponBlocks.titanturret, stack(Item.steel, 70), stack(Item.titanium, 50), stack(Item.dirium, 55)), smelter(crafting, ProductionBlocks.smelter, stack(Item.stone, 40), stack(Item.iron, 40)), crucible(crafting, ProductionBlocks.crucible, stack(Item.titanium, 40), stack(Item.steel, 40)), diff --git a/core/src/io/anuke/mindustry/ui/LoadDialog.java b/core/src/io/anuke/mindustry/ui/LoadDialog.java index 5baf7f27d9..a094b7d3dc 100644 --- a/core/src/io/anuke/mindustry/ui/LoadDialog.java +++ b/core/src/io/anuke/mindustry/ui/LoadDialog.java @@ -1,8 +1,6 @@ package io.anuke.mindustry.ui; import com.badlogic.gdx.utils.Align; -import com.badlogic.gdx.utils.Timer; -import com.badlogic.gdx.utils.Timer.Task; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.GameState; @@ -19,19 +17,18 @@ import io.anuke.ucore.scene.ui.layout.Unit; //TODO unified save/load dialogs public class LoadDialog extends FloatingDialog{ ScrollPane pane; - - public LoadDialog(){ + + public LoadDialog() { this("Load Game"); } - + public LoadDialog(String title) { super(title); setup(); - shown(() -> { setup(); - Timers.runTask(2f, ()-> Core.scene.setScrollFocus(pane)); + Timers.runTask(2f, () -> Core.scene.setScrollFocus(pane)); }); addCloseButton(); @@ -42,11 +39,11 @@ public class LoadDialog extends FloatingDialog{ content().add("Select a save slot.").padBottom(2); content().row(); - + Table slots = new Table(); pane = new ScrollPane(slots); pane.setFadeScrollBars(false); - + slots.padRight(Unit.dp.inPixels(24)); for(int i = 0; i < Vars.saveSlots; i++){ @@ -55,14 +52,12 @@ public class LoadDialog extends FloatingDialog{ TextButton button = new TextButton("[accent]Slot " + (i + 1)); button.pad(Unit.dp.inPixels(12)); button.getLabelCell().top().left().growX(); - + button.row(); - - Label info = new Label("[gray]" + (!SaveIO.isSaveValid(i) ? "" : SaveIO.getMode(slot) + ", " + - SaveIO.getMap(slot) + - ", Wave " + SaveIO.getWave(slot) + "\nLast Saved: " + SaveIO.getTimeString(i))); + + Label info = new Label("[gray]" + (!SaveIO.isSaveValid(i) ? "" : SaveIO.getMode(slot) + ", " + SaveIO.getMap(slot) + ", Wave " + SaveIO.getWave(slot) + "\nLast Saved: " + SaveIO.getTimeString(i))); info.setAlignment(Align.center, Align.center); - + button.add(info).padBottom(3).padTop(7); button.row(); //button.addImage("white", Color.GRAY) @@ -73,37 +68,33 @@ public class LoadDialog extends FloatingDialog{ slots.add(button).size(404, 104).pad(4).units(Unit.dp); slots.row(); } - + content().add(pane); } - + public void modifyButton(TextButton button, int slot){ button.setDisabled(!SaveIO.isSaveValid(slot)); button.clicked(() -> { if(!button.isDisabled()){ Vars.ui.showLoading(); - Timer.schedule(new Task(){ - @Override - public void run(){ - Vars.ui.hideLoading(); - hide(); - try{ - SaveIO.loadFromSlot(slot); - GameState.set(State.playing); - Vars.ui.hideMenu(); - }catch(Exception e){ - e.printStackTrace(); - Vars.ui.hideMenu(); - GameState.set(State.menu); - Vars.control.reset(); - Vars.ui.showError("[orange]Save file corrupted or invalid!"); - return; - } - + Timers.runTask(3f, () -> { + Vars.ui.hideLoading(); + hide(); + try{ + SaveIO.loadFromSlot(slot); + GameState.set(State.playing); + Vars.ui.hideMenu(); + }catch(Exception e){ + e.printStackTrace(); + Vars.ui.hideMenu(); + GameState.set(State.menu); + Vars.control.reset(); + Vars.ui.showError("[orange]Save file corrupted or invalid!"); + return; } - }, 3f/60f); + }); } }); } diff --git a/core/src/io/anuke/mindustry/ui/SaveDialog.java b/core/src/io/anuke/mindustry/ui/SaveDialog.java index 733fdf5f7a..64140e40ed 100644 --- a/core/src/io/anuke/mindustry/ui/SaveDialog.java +++ b/core/src/io/anuke/mindustry/ui/SaveDialog.java @@ -1,11 +1,10 @@ package io.anuke.mindustry.ui; -import com.badlogic.gdx.utils.Timer; -import com.badlogic.gdx.utils.Timer.Task; import com.badlogic.gdx.utils.reflect.ClassReflection; import io.anuke.mindustry.Vars; import io.anuke.mindustry.io.SaveIO; +import io.anuke.ucore.core.Timers; import io.anuke.ucore.scene.ui.ConfirmDialog; import io.anuke.ucore.scene.ui.TextButton; import io.anuke.ucore.scene.ui.layout.Cell; @@ -13,48 +12,44 @@ import io.anuke.ucore.scene.ui.layout.Unit; //TODO unified save/load dialogs public class SaveDialog extends LoadDialog{ - - public SaveDialog(){ + + public SaveDialog() { super("Save Game"); } - + @Override public void modifyButton(TextButton button, int slot){ - button.clicked(()->{ + button.clicked(() -> { if(SaveIO.isSaveValid(slot)){ - new ConfirmDialog("Overwrite", "Are you sure you want to overwrite\nthis save slot?", ()->{ + new ConfirmDialog("Overwrite", "Are you sure you want to overwrite\nthis save slot?", () -> { save(slot); - }){{ - content().pad(16); - for(Cell cell : getButtonTable().getCells()) - cell.size(110, 45).pad(4).units(Unit.dp); - }}.show(); + }){ + { + content().pad(16); + for(Cell cell : getButtonTable().getCells()) + cell.size(110, 45).pad(4).units(Unit.dp); + } + }.show(); }else{ save(slot); } }); } - + void save(int slot){ Vars.ui.showLoading("[orange]Saving..."); - - Timer.schedule(new Task(){ - @Override - public void run(){ - hide(); - Vars.ui.hideLoading(); - try{ - SaveIO.saveToSlot(slot); - }catch (Throwable e){ - e = (e.getCause() == null ? e : e.getCause()); - - Vars.ui.showError("[orange]Failed to save game!\n[white]" + - ClassReflection.getSimpleName(e.getClass()) + ": " + e.getMessage() + "\n" + - "at " + e.getStackTrace()[0].getFileName() + ":"+ e.getStackTrace()[0].getLineNumber()); - } - + + Timers.runTask(5f, () -> { + hide(); + Vars.ui.hideLoading(); + try{ + SaveIO.saveToSlot(slot); + }catch(Throwable e){ + e = (e.getCause() == null ? e : e.getCause()); + + Vars.ui.showError("[orange]Failed to save game!\n[white]" + ClassReflection.getSimpleName(e.getClass()) + ": " + e.getMessage() + "\n" + "at " + e.getStackTrace()[0].getFileName() + ":" + e.getStackTrace()[0].getLineNumber()); } - }, 5f/60f); + }); } } diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlocksFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlocksFragment.java index e77c6ef22a..053ac5bc2f 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlocksFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlocksFragment.java @@ -101,7 +101,7 @@ public class BlocksFragment implements Fragment{ image.update(()->{ boolean canPlace = !control.getTutorial().active() || control.getTutorial().canPlace(); - boolean has = control.hasItems(r.requirements) && canPlace; + boolean has = (control.hasItems(r.requirements)) && canPlace; //image.setDisabled(!has); image.setChecked(player.recipe == r); image.setTouchable(canPlace ? Touchable.enabled : Touchable.disabled); diff --git a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java index 10c1a67fd4..34cf66d8f5 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java @@ -24,12 +24,14 @@ import io.anuke.ucore.scene.builders.label; import io.anuke.ucore.scene.builders.table; import io.anuke.ucore.scene.ui.Image; import io.anuke.ucore.scene.ui.Label; +import io.anuke.ucore.scene.ui.layout.Cell; import io.anuke.ucore.scene.ui.layout.Table; import io.anuke.ucore.scene.ui.layout.Unit; import io.anuke.ucore.util.Profiler; public class HudFragment implements Fragment{ private Table itemtable, respawntable; + private Cell itemcell; private Array tempItems = new Array<>(); public void build(){ @@ -63,6 +65,8 @@ public class HudFragment implements Fragment{ row(); itemtable = new table("button").end().top().left().fillX().size(-1).get(); + itemtable.setVisible(()-> control.getMode() != GameMode.sandbox); + itemcell = get().getCell(itemtable); get().setVisible(()->!GameState.is(State.menu)); @@ -167,6 +171,10 @@ public class HudFragment implements Fragment{ itemtable.clear(); itemtable.left(); + if(control.getMode() == GameMode.sandbox){ + return; + } + tempItems.clear(); for(Item item : control.getItems().keys()){ tempItems.add(item); @@ -174,8 +182,13 @@ public class HudFragment implements Fragment{ tempItems.sort(); for(Item stack : tempItems){ + int amount = control.getAmount(stack); + String formatted = Mindustry.formatter.format(amount); + if(amount > 99999999){ + formatted = "inf"; + } Image image = new Image(Draw.region("icon-" + stack.name())); - Label label = new Label("" + Mindustry.formatter.format(control.getAmount(stack))); + Label label = new Label(formatted); label.setFontScale(fontscale*1.5f); itemtable.add(image).size(8*3).units(Unit.dp); itemtable.add(label).left(); diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index eb4e2e8d0d..f4b9dd24fb 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -79,7 +79,7 @@ public class Block{ public void drawOver(Tile tile){} public void drawPixelOverlay(Tile tile){} - public void drawPlace(int x, int y, boolean valid){} + public void drawPlace(int x, int y, int rotation, boolean valid){} public void postInit(){} public void getStats(Array list){ diff --git a/core/src/io/anuke/mindustry/world/Generator.java b/core/src/io/anuke/mindustry/world/Generator.java index b6109f5243..6368a8e597 100644 --- a/core/src/io/anuke/mindustry/world/Generator.java +++ b/core/src/io/anuke/mindustry/world/Generator.java @@ -78,7 +78,7 @@ public class Generator{ if(floor == Blocks.stone || floor == Blocks.grass || floor == Blocks.blackstone || floor == Blocks.snow || floor == Blocks.sand){ - if(Noise.nnoise(x, y, 8, 1) > 0.2){ + if(Noise.nnoise(x, y, 8, 1) > 0.21){ floor = Blocks.iron; } @@ -86,7 +86,7 @@ public class Generator{ floor = Blocks.coal; } - if(Noise.nnoise(x + 9999, y + 9999, 8, 1) > 0.264){ + if(Noise.nnoise(x + 9999, y + 9999, 8, 1) > 0.27){ floor = Blocks.titanium; } diff --git a/core/src/io/anuke/mindustry/world/Tile.java b/core/src/io/anuke/mindustry/world/Tile.java index a520001be9..8023812382 100644 --- a/core/src/io/anuke/mindustry/world/Tile.java +++ b/core/src/io/anuke/mindustry/world/Tile.java @@ -207,8 +207,8 @@ public class Tile{ } public void changed(){ - if(entity != null && entity.added){ - entity.remove(); + if(entity != null){ + if(entity.added) entity.remove(); entity = null; } diff --git a/core/src/io/anuke/mindustry/world/World.java b/core/src/io/anuke/mindustry/world/World.java index f43180d32b..35c96e8692 100644 --- a/core/src/io/anuke/mindustry/world/World.java +++ b/core/src/io/anuke/mindustry/world/World.java @@ -326,7 +326,7 @@ public class World extends Module{ if(tile == null) return; - Block block = tile.block(); + Block block = tile.isLinked() ? tile.getLinked().block() : tile.block(); Recipe result = null; for(Recipe recipe : Recipe.values()){ @@ -420,7 +420,7 @@ public class World extends Module{ other = other.getLinked(); } - if(other == null || other.entity == null ||(tile != null && other.entity == tile.entity)) continue; + if(other == null || other.entity == null || (tile != null && other.entity == tile.entity)) continue; TileEntity e = other.entity; diff --git a/core/src/io/anuke/mindustry/world/blocks/DefenseBlocks.java b/core/src/io/anuke/mindustry/world/blocks/DefenseBlocks.java index 0ba7330681..c764d7c2c8 100644 --- a/core/src/io/anuke/mindustry/world/blocks/DefenseBlocks.java +++ b/core/src/io/anuke/mindustry/world/blocks/DefenseBlocks.java @@ -72,7 +72,7 @@ public class DefenseBlocks{ + "Uses small amounts of power."; formalName = "repair turret"; range = 30; - reload = 40f; + reload = 60f; health = 60; } }, @@ -83,7 +83,8 @@ public class DefenseBlocks{ + "Uses power."; formalName = "repair turret II"; range = 44; - reload = 20f; + reload = 30f; + powerUsed = 0.15f; health = 90; } }, diff --git a/core/src/io/anuke/mindustry/world/blocks/ProductionBlocks.java b/core/src/io/anuke/mindustry/world/blocks/ProductionBlocks.java index bfb64aff8f..1d120eb1eb 100644 --- a/core/src/io/anuke/mindustry/world/blocks/ProductionBlocks.java +++ b/core/src/io/anuke/mindustry/world/blocks/ProductionBlocks.java @@ -227,8 +227,8 @@ public class ProductionBlocks{ formalName = "thermal generator"; //TODO generateLiquid = Liquid.lava; - inputLiquid = 20f; - generatePower = 1f; + inputLiquid = 25f; + generatePower = 0.5f; powerCapacity = 40f; description = "Generates power from lava."; fullDescription = "Generates power from lava. Outputs power as lasers to its 4 sides."; diff --git a/core/src/io/anuke/mindustry/world/blocks/WeaponBlocks.java b/core/src/io/anuke/mindustry/world/blocks/WeaponBlocks.java index 3e315e9c0e..fdba3d7e5d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/WeaponBlocks.java +++ b/core/src/io/anuke/mindustry/world/blocks/WeaponBlocks.java @@ -182,7 +182,7 @@ public class WeaponBlocks{ inaccuracy = 8f; formalName = "chain turret"; range = 80f; - reload = 7f; + reload = 8f; bullet = BulletType.chain; ammo = Item.uranium; health = 430; @@ -219,7 +219,7 @@ public class WeaponBlocks{ { formalName = "titan cannon"; range = 120f; - reload = 20f; + reload = 23f; bullet = BulletType.titanshell; ammo = Item.uranium; health = 800; diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/PowerTurret.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/PowerTurret.java index ec105ee656..c78702388b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/defense/PowerTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/PowerTurret.java @@ -38,7 +38,7 @@ public class PowerTurret extends Turret implements PowerAcceptor{ Vector2 offset = getPlaceOffset(); Draw.color("green"); - Draw.dashcircle(tile.worldx() + offset.x, tile.worldy() + offset.y, range); + Draw.dashCircle(tile.worldx() + offset.x, tile.worldy() + offset.y, range); Draw.reset(); drawPowerBar(tile); diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/RepairTurret.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/RepairTurret.java index c7a08a8487..c696738a36 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/defense/RepairTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/RepairTurret.java @@ -42,6 +42,10 @@ public class RepairTurret extends PowerTurret{ return; } + if(entity.blockTarget != null && entity.blockTarget.dead){ + entity.blockTarget = null; + } + if(Timers.get(entity, "blocktarget", targetInterval)){ entity.blockTarget = Vars.world.findTileTarget(tile.worldx(), tile.worldy(), tile, range, true); } @@ -64,7 +68,7 @@ public class RepairTurret extends PowerTurret{ @Override public void drawPixelOverlay(Tile tile){ Draw.color("green"); - Draw.dashcircle(tile.worldx(), tile.worldy(), range); + Draw.dashCircle(tile.worldx(), tile.worldy(), range); Draw.reset(); drawPowerBar(tile); diff --git a/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java b/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java index b0cb9402f8..745fd289d3 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/defense/Turret.java @@ -103,7 +103,7 @@ public class Turret extends Block{ Vector2 offset = getPlaceOffset(); Draw.color("green"); - Draw.dashcircle(tile.worldx() + offset.x, tile.worldy() + offset.y, range); + Draw.dashCircle(tile.worldx() + offset.x, tile.worldy() + offset.y, range); Draw.reset(); TurretEntity entity = tile.entity(); @@ -116,10 +116,10 @@ public class Turret extends Block{ } @Override - public void drawPlace(int x, int y, boolean valid){ + public void drawPlace(int x, int y, int rotation, boolean valid){ Draw.color(Color.PURPLE); Draw.thick(1f); - Draw.dashcircle(x*Vars.tilesize, y*Vars.tilesize, range); + Draw.dashCircle(x*Vars.tilesize, y*Vars.tilesize, range); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/types/distribution/PowerBooster.java b/core/src/io/anuke/mindustry/world/blocks/types/distribution/PowerBooster.java index fab0f3f77f..5fb43a82ca 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/distribution/PowerBooster.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/distribution/PowerBooster.java @@ -25,7 +25,14 @@ public class PowerBooster extends Generator{ super.drawPixelOverlay(tile); Draw.color("yellow"); - Draw.dashcircle(tile.worldx(), tile.worldy(), powerRange * Vars.tilesize); + Draw.dashCircle(tile.worldx(), tile.worldy(), powerRange * Vars.tilesize); + Draw.reset(); + } + + @Override + public void drawPlace(int x, int y, int rotation, boolean valid){ + Draw.color("purple"); + Draw.dashCircle(x * Vars.tilesize, y * Vars.tilesize, laserRange * Vars.tilesize); Draw.reset(); } diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/Drill.java b/core/src/io/anuke/mindustry/world/blocks/types/production/Drill.java index f9a67be841..05225780bf 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/Drill.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/Drill.java @@ -45,7 +45,7 @@ public class Drill extends Block{ @Override public void drawOver(Tile tile){ - if(tile.floor() != resource && !(resource.drops.equals(tile.floor().drops)) && resource != null){ + if(tile.floor() != resource && resource != null && !(resource.drops.equals(tile.floor().drops))){ Draw.colorl(0.85f + Mathf.absin(Timers.time(), 6f, 0.15f)); Draw.rect("cross", tile.worldx(), tile.worldy()); Draw.color(); diff --git a/core/src/io/anuke/mindustry/world/blocks/types/production/Generator.java b/core/src/io/anuke/mindustry/world/blocks/types/production/Generator.java index c8061930f0..ae498ce50c 100644 --- a/core/src/io/anuke/mindustry/world/blocks/types/production/Generator.java +++ b/core/src/io/anuke/mindustry/world/blocks/types/production/Generator.java @@ -18,6 +18,7 @@ import io.anuke.ucore.util.*; public class Generator extends PowerBlock{ public static final int powerTime = 2; + public static boolean drawRangeOverlay = false; public int laserRange = 6; public int laserDirections = 4; @@ -29,21 +30,71 @@ public class Generator extends PowerBlock{ public Generator(String name) { super(name); } - + @Override public void getStats(Array list){ super.getStats(list); - + if(hasLasers){ list.add("[powerinfo]Laser range: " + laserRange + " blocks"); - list.add("[powerinfo]Max power transfer/second: " + Strings.toFixed(powerSpeed*2, 2)); + list.add("[powerinfo]Max power transfer/second: " + Strings.toFixed(powerSpeed * 2, 2)); } - + if(explosive){ list.add("[orange]Highly explosive!"); } } + @Override + public void drawPixelOverlay(Tile tile){ + super.drawPixelOverlay(tile); + + if(drawRangeOverlay){ + int rotation = tile.getRotation(); + if(hasLasers){ + Draw.color("yellow"); + Draw.thick(2f); + + for(int i = 0; i < laserDirections; i++){ + int dir = Mathf.mod(i + rotation - laserDirections / 2, 4); + float lx = Geometry.getD4Points()[dir].x, ly = Geometry.getD4Points()[dir].y; + float dx = lx * laserRange * Vars.tilesize; + float dy = ly * laserRange * Vars.tilesize; + + Draw.dashLine( + tile.worldx() + lx * Vars.tilesize / 2, + tile.worldy() + ly * Vars.tilesize / 2, + tile.worldx() + dx - lx * Vars.tilesize, + tile.worldy() + dy - ly * Vars.tilesize, 9); + } + + Draw.reset(); + } + } + } + + @Override + public void drawPlace(int x, int y, int rotation, boolean valid){ + if(hasLasers){ + Draw.color("purple"); + Draw.thick(2f); + + for(int i = 0; i < laserDirections; i++){ + int dir = Mathf.mod(i + rotation - laserDirections / 2, 4); + float lx = Geometry.getD4Points()[dir].x, ly = Geometry.getD4Points()[dir].y; + float dx = lx * laserRange * Vars.tilesize; + float dy = ly * laserRange * Vars.tilesize; + Draw.dashLine( + x * Vars.tilesize + lx * Vars.tilesize / 2, + y * Vars.tilesize + ly * Vars.tilesize / 2, + x * Vars.tilesize + dx - lx * Vars.tilesize, + y * Vars.tilesize + dy - ly * Vars.tilesize, 9); + } + + Draw.reset(); + } + } + @Override public void onDestroyed(Tile tile){ if(explosive){ @@ -58,7 +109,7 @@ public class Generator extends PowerBlock{ Effects.effect(Fx.shockwave, x, y); Timers.run(12f + Mathf.random(20f), () -> { - tile.damageNearby(4, 40, 0f); + tile.damageNearby(4, 60, 0f); }); Effects.sound(explosionSound, x, y); @@ -68,7 +119,7 @@ public class Generator extends PowerBlock{ super.onDestroyed(tile); } } - + @Override public void drawOver(Tile tile){ PowerEntity entity = tile.entity(); @@ -79,12 +130,12 @@ public class Generator extends PowerBlock{ }else{ Draw.alpha(0.5f); } - drawLaserTo(tile, (tile.getRotation() + i) - laserDirections/2); + drawLaserTo(tile, (tile.getRotation() + i) - laserDirections / 2); } - + Draw.color(); } - + @Override public boolean acceptsPower(Tile tile){ return false; @@ -94,11 +145,12 @@ public class Generator extends PowerBlock{ PowerEntity entity = tile.entity(); for(int i = 0; i < laserDirections; i++){ - int rot = (tile.getRotation() + i) - laserDirections/2; + int rot = (tile.getRotation() + i) - laserDirections / 2; Tile target = laserTarget(tile, rot); - - if(target == null || isInterfering(target, rot)) continue; - + + if(target == null || isInterfering(target, rot)) + continue; + PowerAcceptor p = (PowerAcceptor) target.block(); if(p.acceptsPower(target) && entity.power >= powerSpeed){ float accepted = p.addPower(target, powerSpeed); @@ -114,12 +166,10 @@ public class Generator extends PowerBlock{ if(target != null){ boolean interfering = isInterfering(target, rotation); - - Tmp.v1.set(Angles.translation(rotation * 90, target.block().width * Vars.tilesize/2 + 2f + - (interfering ? - Vector2.dst(tile.worldx(), tile.worldy(), target.worldx(), target.worldy()) / 2f - Vars.tilesize/2f * target.block().width - 1 : 0))); - - Angles.translation(rotation * 90, width * Vars.tilesize/2 + 2f); + + Tmp.v1.set(Angles.translation(rotation * 90, target.block().width * Vars.tilesize / 2 + 2f + (interfering ? Vector2.dst(tile.worldx(), tile.worldy(), target.worldx(), target.worldy()) / 2f - Vars.tilesize / 2f * target.block().width - 1 : 0))); + + Angles.translation(rotation * 90, width * Vars.tilesize / 2 + 2f); if(!interfering){ Draw.tint(Hue.mix(Color.GRAY, Color.WHITE, 0.904f + Mathf.sin(Timers.time(), 1.7f, 0.06f))); @@ -129,21 +179,20 @@ public class Generator extends PowerBlock{ Effects.effect(Fx.laserspark, target.worldx() - Tmp.v1.x, target.worldy() - Tmp.v1.y); } } - + float r = interfering ? 0.8f : 0f; - Draw.laser("laser", "laserend", tile.worldx() + Angles.x(), tile.worldy() + Angles.y(), - target.worldx() - Tmp.v1.x + Mathf.range(r), target.worldy() - Tmp.v1.y + Mathf.range(r), 0.7f + Mathf.sin(Timers.time(), 2f, 0.1f * 0)); + Draw.laser("laser", "laserend", tile.worldx() + Angles.x(), tile.worldy() + Angles.y(), target.worldx() - Tmp.v1.x + Mathf.range(r), target.worldy() - Tmp.v1.y + Mathf.range(r), 0.7f + Mathf.sin(Timers.time(), 2f, 0.1f * 0)); Draw.color(); } } - + protected boolean isInterfering(Tile target, int rotation){ if(target.block() instanceof Generator){ - Generator other = (Generator)target.block(); + Generator other = (Generator) target.block(); int relrot = (rotation + 2) % 4; - if(other.hasLasers && Math.abs(target.getRotation() - relrot) <= other.laserDirections/2){ + if(other.hasLasers && Math.abs(target.getRotation() - relrot) <= other.laserDirections / 2){ return true; } } @@ -160,7 +209,7 @@ public class Generator extends PowerBlock{ for(i = 1; i < laserRange; i++){ Tile other = Vars.world.tile(tile.x + i * point.x, tile.y + i * point.y); - + if(other != null && other.block() instanceof PowerAcceptor){ Tile linked = other.getLinked(); if(linked == null || linked instanceof PowerAcceptor){ diff --git a/desktop/mindustry-saves/2.mins b/desktop/mindustry-saves/2.mins index 94eac02a1470253bdd576aebabc2e301d4696806..651006157e4c7385685e452009000e02da4565d6 100644 GIT binary patch literal 22400 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 delta 5500 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 literal 4061 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 literal 0 HcmV?d00001 diff --git a/desktop/mindustry-saves/6.mins b/desktop/mindustry-saves/6.mins new file mode 100644 index 0000000000000000000000000000000000000000..a9e038a2fe6572177790159f098946c5d83b2c0d GIT binary patch literal 3584 zcmZwJ{Zmv`90u?UrcF&V{gTsYu*tHpyNQh~>n3lmwbwVu#+RuSHMiYuQqdvCP%1#o zBsGgEiv?C$loE)km9%n3k`0j8L|RY=XC$?p$*KRL&bfD=M_u>+u=Bak_nhxNhjU?3 z6y*s;NpL6Ms6VXCQUukrs$c!WlIglU_bGAjOPKlSBZ}dp4T<8TdWK>+@Z(IO(gdM9 zicr}sSr8+|_02NTAXib|pR3)9&*EpGT}hB98QMOV#{bO`$XFm#S;I)W@jouU5u1l6>oP$y;m z3|R?ftVOnxIz#oD3)g{V%-=+`=EfAKA1N@~o#Dds-QUoRVrC)oWBQEl@}$lrfsz1Hn{xhUC9Ua4_1 zQ#6xxj7!rqbw)Hxk2B94C$s3;8rjPxAFN%Xt3g|zT$ZUpUzV)kap?`(J1-`f8_H!t z$kOm$R3Xm2O_>@W-dtLoEWJ^CA7y8~nj@Mf%5MitBaX+eSIpwzlp@7>yH80qqRrGXppvOF&z?$To9s%5iit9)EZ@sc|w>G`s(4X?muL z*4hfvg=ZV(yn literal 0 HcmV?d00001 diff --git a/desktop/mindustry-saves/7.mins b/desktop/mindustry-saves/7.mins new file mode 100644 index 0000000000000000000000000000000000000000..e9cf74f85349e9cec95e2beba2c1333885092cf3 GIT binary patch literal 39986 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 literal 0 HcmV?d00001