From 6ab176cbc318d5c3a13a2f6900d1bddefce9acb7 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Thu, 9 Feb 2017 20:45:51 +0100 Subject: [PATCH] Fix saving time mode state, delete save after loading --- android/assets/.klooni.sav | Bin 427 -> 0 bytes .../github/lonamiwebs/klooni/game/TimeScorer.java | 11 ++++++----- .../lonamiwebs/klooni/screens/GameScreen.java | 2 ++ 3 files changed, 8 insertions(+), 5 deletions(-) delete mode 100644 android/assets/.klooni.sav diff --git a/android/assets/.klooni.sav b/android/assets/.klooni.sav deleted file mode 100644 index 63dbd9c1b00410848677ac6984be6d573e6c32a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 427 zcmZQz00XZ7XaFRNCWMs>RK^IxSS67JNl?cER13yP+A)|wHLS=OLjhC(sD=$4<5D}A T#DQ*R28S#Mki{Sf4B@)~@Dxl7 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) { } }