From 4355881fb25cbb50c746d81528e240de25ef640b Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 8 Nov 2018 09:03:42 -0500 Subject: [PATCH] Fixed save files not working --- core/src/io/anuke/mindustry/ai/BlockIndexer.java | 1 + .../mindustry/content/blocks/PowerBlocks.java | 4 ++-- core/src/io/anuke/mindustry/core/Logic.java | 10 +++++----- .../anuke/mindustry/entities/units/BaseUnit.java | 5 +---- .../src/io/anuke/mindustry/io/SaveFileVersion.java | 7 ------- .../mindustry/ui/dialogs/SettingsMenuDialog.java | 12 +++++------- .../world/blocks/power/ItemLiquidGenerator.java | 11 ++++++++--- .../world/blocks/power/LiquidGenerator.java | 14 ++++++++------ .../world/blocks/power/LiquidHeatGenerator.java | 2 +- 9 files changed, 31 insertions(+), 35 deletions(-) diff --git a/core/src/io/anuke/mindustry/ai/BlockIndexer.java b/core/src/io/anuke/mindustry/ai/BlockIndexer.java index c8b87d4750..1213bd2721 100644 --- a/core/src/io/anuke/mindustry/ai/BlockIndexer.java +++ b/core/src/io/anuke/mindustry/ai/BlockIndexer.java @@ -71,6 +71,7 @@ public class BlockIndexer{ flagMap[i][j] = new ObjectSet<>(); } } + typeMap.clear(); ores = null; diff --git a/core/src/io/anuke/mindustry/content/blocks/PowerBlocks.java b/core/src/io/anuke/mindustry/content/blocks/PowerBlocks.java index fb43623e58..1420f0c838 100644 --- a/core/src/io/anuke/mindustry/content/blocks/PowerBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/PowerBlocks.java @@ -20,9 +20,9 @@ public class PowerBlocks extends BlockList implements ContentList{ }}; thermalGenerator = new LiquidHeatGenerator("thermal-generator"){{ - maxLiquidGenerate = 0.5f; + maxLiquidGenerate = 4f; powerCapacity = 40f; - powerPerLiquid = 1f; + powerPerLiquid = 0.1f; generateEffect = BlockFx.redgeneratespark; size = 2; }}; diff --git a/core/src/io/anuke/mindustry/core/Logic.java b/core/src/io/anuke/mindustry/core/Logic.java index 625e0ec42a..f4aa97922b 100644 --- a/core/src/io/anuke/mindustry/core/Logic.java +++ b/core/src/io/anuke/mindustry/core/Logic.java @@ -180,11 +180,6 @@ public class Logic extends Module{ if(!state.is(State.menu)){ - if(!Net.client() && !world.isInvalidMap()){ - updateSectors(); - checkGameOver(); - } - if(!state.isPaused()){ Timers.update(); @@ -237,6 +232,11 @@ public class Logic extends Module{ world.pathfinder.update(); } + + if(!Net.client() && !world.isInvalidMap()){ + updateSectors(); + checkGameOver(); + } } if(threads.isEnabled()){ diff --git a/core/src/io/anuke/mindustry/entities/units/BaseUnit.java b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java index 98720743bb..3a4a8c7c36 100644 --- a/core/src/io/anuke/mindustry/entities/units/BaseUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java @@ -28,10 +28,7 @@ import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Timers; import io.anuke.ucore.entities.EntityGroup; import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Timer; +import io.anuke.ucore.util.*; import java.io.DataInput; import java.io.DataOutput; diff --git a/core/src/io/anuke/mindustry/io/SaveFileVersion.java b/core/src/io/anuke/mindustry/io/SaveFileVersion.java index b46f2644f3..b4b60634a9 100644 --- a/core/src/io/anuke/mindustry/io/SaveFileVersion.java +++ b/core/src/io/anuke/mindustry/io/SaveFileVersion.java @@ -1,7 +1,6 @@ package io.anuke.mindustry.io; import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.ObjectSet; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.blocks.StorageBlocks; import io.anuke.mindustry.entities.traits.SaveTrait; @@ -215,7 +214,6 @@ public abstract class SaveFileVersion{ } public void readEntities(DataInputStream stream) throws IOException{ - ObjectSet> set = new ObjectSet<>(); byte groups = stream.readByte(); for(int i = 0; i < groups; i++){ @@ -224,13 +222,8 @@ public abstract class SaveFileVersion{ byte typeid = stream.readByte(); SaveTrait trait = (SaveTrait) TypeTrait.getTypeByID(typeid).get(); trait.readSave(stream); - set.add(trait.targetGroup()); } } - - for(EntityGroup group : set){ - group.updateEvents(); - } } public MappableContent[][] readContentHeader(DataInputStream stream) throws IOException{ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java index 62595ad41e..1c0f04abc9 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java @@ -130,13 +130,16 @@ public class SettingsMenuDialog extends SettingsDialog{ sound.volumePrefs(); game.screenshakePref(); - //game.checkPref("smoothcam", true); game.checkPref("effects", true); if(mobile){ game.checkPref("autotarget", true); } - //game.sliderPref("sensitivity", 100, 10, 300, i -> i + "%"); game.sliderPref("saveinterval", 120, 10, 5 * 120, i -> Bundles.format("setting.seconds", i)); + + if(!mobile){ + game.checkPref("crashreport", true); + } + game.pref(new Setting(){ @Override public void add(SettingsTable table){ @@ -186,10 +189,6 @@ public class SettingsMenuDialog extends SettingsDialog{ } }); - if(!mobile){ - game.checkPref("crashreport", true); - } - graphics.sliderPref("fpscap", 125, 5, 125, 5, s -> (s > 120 ? Bundles.get("setting.fpscap.none") : Bundles.format("setting.fpscap.text", s))); graphics.checkPref("multithread", mobile, threads::setEnabled); @@ -197,7 +196,6 @@ public class SettingsMenuDialog extends SettingsDialog{ threads.setEnabled(true); } - if(!mobile){ graphics.checkPref("vsync", true, b -> Gdx.graphics.setVSync(b)); graphics.checkPref("fullscreen", false, b -> { diff --git a/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java index 8f71d61531..fa1a44c5cf 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java @@ -5,6 +5,7 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter; +import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.ucore.core.Effects; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.util.Mathf; @@ -15,9 +16,7 @@ import static io.anuke.mindustry.Vars.tilesize; public abstract class ItemLiquidGenerator extends ItemGenerator{ protected float minLiquidEfficiency = 0.2f; protected float powerPerLiquid = 0.13f; - /** - * Maximum liquid used per frame. - */ + /**Maximum liquid used per frame.*/ protected float maxLiquidGenerate = 0.4f; public ItemLiquidGenerator(String name){ @@ -28,6 +27,12 @@ public abstract class ItemLiquidGenerator extends ItemGenerator{ consumes.add(new ConsumeLiquidFilter(liquid -> getLiquidEfficiency(liquid) >= minLiquidEfficiency, 0.001f, true)).update(false).optional(true); } + @Override + public void init(){ + super.init(); + stats.remove(BlockStat.liquidFuelUse); + } + @Override public void update(Tile tile){ ItemGeneratorEntity entity = tile.entity(); diff --git a/core/src/io/anuke/mindustry/world/blocks/power/LiquidGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/LiquidGenerator.java index 2be20f985e..8a8ed8ca25 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/LiquidGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/LiquidGenerator.java @@ -13,19 +13,21 @@ import io.anuke.ucore.util.Mathf; public abstract class LiquidGenerator extends PowerGenerator{ protected float minEfficiency = 0.2f; - protected float powerPerLiquid = 0.13f; - /** - * Maximum liquid used per frame. - */ - protected float maxLiquidGenerate = 0.4f; + protected float powerPerLiquid; + /**Maximum liquid used per frame.*/ + protected float maxLiquidGenerate; protected Effect generateEffect = BlockFx.generatespark; public LiquidGenerator(String name){ super(name); liquidCapacity = 30f; hasLiquids = true; + } - consumes.add(new ConsumeLiquidFilter(liquid -> getEfficiency(liquid) >= minEfficiency, 0.001f)).update(false); + @Override + public void setStats(){ + consumes.add(new ConsumeLiquidFilter(liquid -> getEfficiency(liquid) >= minEfficiency, maxLiquidGenerate)).update(false); + super.setStats(); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/power/LiquidHeatGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/LiquidHeatGenerator.java index 4c19816a8e..67a5bed015 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/LiquidHeatGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/LiquidHeatGenerator.java @@ -14,7 +14,7 @@ public class LiquidHeatGenerator extends LiquidGenerator{ public void setStats(){ super.setStats(); - stats.add(BlockStat.basePowerGeneration, maxLiquidGenerate * powerPerLiquid * 60f * 0.4f, StatUnit.powerSecond); + stats.add(BlockStat.basePowerGeneration, maxLiquidGenerate * powerPerLiquid * 60f, StatUnit.powerSecond); } @Override