Fixed save files not working

This commit is contained in:
Anuken
2018-11-08 09:03:42 -05:00
parent cf50d558ba
commit 4355881fb2
9 changed files with 31 additions and 35 deletions

View File

@@ -71,6 +71,7 @@ public class BlockIndexer{
flagMap[i][j] = new ObjectSet<>();
}
}
typeMap.clear();
ores = null;

View File

@@ -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;
}};

View File

@@ -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()){

View File

@@ -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;

View File

@@ -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<EntityGroup<?>> 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{

View File

@@ -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 -> {

View File

@@ -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();

View File

@@ -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

View File

@@ -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