Fixes with random item corruptions, saving and crashes
This commit is contained in:
@@ -52,13 +52,14 @@ public class Logic extends Module {
|
||||
|
||||
public void reset(){
|
||||
state.wave = 1;
|
||||
state.extrawavetime = maxwavespace;
|
||||
state.extrawavetime = maxwavespace * state.difficulty.maxTimeScaling;
|
||||
state.wavetime = wavespace * state.difficulty.timeScaling;
|
||||
state.enemies = 0;
|
||||
state.lastUpdated = -1;
|
||||
state.gameOver = false;
|
||||
state.inventory.clearItems();
|
||||
|
||||
Timers.clear();
|
||||
Entities.clear();
|
||||
|
||||
Events.fire(ResetEvent.class);
|
||||
@@ -100,7 +101,7 @@ public class Logic extends Module {
|
||||
|
||||
state.wave ++;
|
||||
state.wavetime = wavespace * state.difficulty.timeScaling;
|
||||
state.extrawavetime = maxwavespace;
|
||||
state.extrawavetime = maxwavespace * state.difficulty.maxTimeScaling;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -41,8 +41,8 @@ public class BlastType extends EnemyType {
|
||||
|
||||
@Override
|
||||
public void onDeath(Enemy enemy, boolean force){
|
||||
if(!enemy.isDead()) explode(enemy);
|
||||
super.onDeath(enemy, force);
|
||||
explode(enemy);
|
||||
}
|
||||
|
||||
void explode(Enemy enemy){
|
||||
|
||||
@@ -13,6 +13,7 @@ import io.anuke.ucore.core.Settings;
|
||||
import java.io.*;
|
||||
|
||||
import static io.anuke.mindustry.Vars.gwt;
|
||||
import static io.anuke.mindustry.Vars.logic;
|
||||
import static io.anuke.mindustry.Vars.saveDirectory;
|
||||
|
||||
public class SaveIO{
|
||||
@@ -135,6 +136,7 @@ public class SaveIO{
|
||||
}
|
||||
|
||||
public static void load(InputStream is){
|
||||
logic.reset();
|
||||
|
||||
DataInputStream stream;
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@ import io.anuke.mindustry.world.blocks.Blocks;
|
||||
import io.anuke.mindustry.world.blocks.types.BlockPart;
|
||||
import io.anuke.mindustry.world.blocks.types.Rock;
|
||||
import io.anuke.ucore.core.Core;
|
||||
import io.anuke.ucore.entities.Entities;
|
||||
|
||||
import java.io.DataInputStream;
|
||||
import java.io.DataOutputStream;
|
||||
@@ -107,8 +106,6 @@ public class Save15 extends SaveFileVersion {
|
||||
|
||||
//enemies
|
||||
|
||||
Entities.clear();
|
||||
|
||||
int enemies = stream.readInt();
|
||||
|
||||
Array<Enemy> enemiesToUpdate = new Array<>();
|
||||
|
||||
@@ -185,6 +185,8 @@ public class Conveyor extends Block{
|
||||
* Size is 4 bytes, or one int.
|
||||
*/
|
||||
public static class ConveyorEntity extends TileEntity{
|
||||
private static ItemPos writePos = new ItemPos();
|
||||
|
||||
LongArray convey = new LongArray();
|
||||
float minitem = 1, elapsed;
|
||||
|
||||
@@ -193,7 +195,7 @@ public class Conveyor extends Block{
|
||||
stream.writeInt(convey.size);
|
||||
|
||||
for(int i = 0; i < convey.size; i ++){
|
||||
stream.writeInt(pos1.toInt(convey.get(i)));
|
||||
stream.writeInt(writePos.toInt(convey.get(i)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -204,7 +206,7 @@ public class Conveyor extends Block{
|
||||
convey.ensureCapacity(amount);
|
||||
|
||||
for(int i = 0; i < amount; i ++){
|
||||
convey.add(pos1.getValue(stream.readInt()));
|
||||
convey.add(writePos.getValue(stream.readInt()));
|
||||
}
|
||||
|
||||
sort(convey.items, convey.size);
|
||||
|
||||
Reference in New Issue
Block a user