diff --git a/android/assets/.klooni.sav b/android/assets/.klooni.sav deleted file mode 100644 index 63dbd9c..0000000 Binary files a/android/assets/.klooni.sav and /dev/null differ diff --git a/core/src/io/github/lonamiwebs/klooni/game/TimeScorer.java b/core/src/io/github/lonamiwebs/klooni/game/TimeScorer.java index e390b26..ca64ef6 100644 --- a/core/src/io/github/lonamiwebs/klooni/game/TimeScorer.java +++ b/core/src/io/github/lonamiwebs/klooni/game/TimeScorer.java @@ -123,17 +123,18 @@ public class TimeScorer extends BaseScorer implements BinSerializable { @Override public void write(DataOutputStream out) throws IOException { - // startTime, highScoreTime, deadTime - out.writeLong(startTime); + // current/dead offset ("how long until we die"), highScoreTime + out.writeLong(TimeUtils.nanoTime() - startTime); out.writeInt(highScoreTime); - out.writeLong(deadTime); } @Override public void read(DataInputStream in) throws IOException { - startTime = in.readLong(); + // We need to use the offset, since the start time + // is different and we couldn't save absolute values + long deadOffset = in.readLong(); + deadTime = startTime + deadOffset; highScoreTime = in.readInt(); - deadTime = in.readLong(); } //endregion diff --git a/core/src/io/github/lonamiwebs/klooni/screens/GameScreen.java b/core/src/io/github/lonamiwebs/klooni/screens/GameScreen.java index 5dea04e..140fb3e 100644 --- a/core/src/io/github/lonamiwebs/klooni/screens/GameScreen.java +++ b/core/src/io/github/lonamiwebs/klooni/screens/GameScreen.java @@ -278,6 +278,8 @@ class GameScreen implements Screen, InputProcessor, BinSerializable { if (handle.exists()) { try { BinSerializer.deserialize(this, handle.read()); + // After it's been loaded, delete the save file + deleteSave(); return true; } catch (IOException ignored) { } }