Better logging for unknown save versions

This commit is contained in:
Anuken
2025-07-18 11:22:11 -04:00
parent cc02c15844
commit 895c4da2f6
3 changed files with 4 additions and 2 deletions
+2
View File
@@ -39,6 +39,7 @@ public class MapIO{
SaveIO.readHeader(stream); SaveIO.readHeader(stream);
int version = stream.readInt(); int version = stream.readInt();
SaveVersion ver = SaveIO.getSaveWriter(version); SaveVersion ver = SaveIO.getSaveWriter(version);
if(ver == null) throw new IOException("Unknown save version: " + version + ". Are you trying to load a save from a newer version?");
StringMap tags = new StringMap(); StringMap tags = new StringMap();
ver.region("meta", stream, counter, in -> tags.putAll(ver.readStringMap(in))); ver.region("meta", stream, counter, in -> tags.putAll(ver.readStringMap(in)));
return new Map(file, tags.getInt("width"), tags.getInt("height"), tags, custom, version, Version.build); return new Map(file, tags.getInt("width"), tags.getInt("height"), tags, custom, version, Version.build);
@@ -69,6 +70,7 @@ public class MapIO{
SaveIO.readHeader(stream); SaveIO.readHeader(stream);
int version = stream.readInt(); int version = stream.readInt();
SaveVersion ver = SaveIO.getSaveWriter(version); SaveVersion ver = SaveIO.getSaveWriter(version);
if(ver == null) throw new IOException("Unknown save version: " + version + ". Are you trying to load a save from a newer version?");
ver.region("meta", stream, counter, ver::readStringMap); ver.region("meta", stream, counter, ver::readStringMap);
Pixmap floors = new Pixmap(map.width, map.height); Pixmap floors = new Pixmap(map.width, map.height);
+1 -1
View File
@@ -32,7 +32,7 @@ public class SaveIO{
return versionArray.peek(); return versionArray.peek();
} }
public static SaveVersion getSaveWriter(int version){ public static @Nullable SaveVersion getSaveWriter(int version){
return versions.get(version); return versions.get(version);
} }
+1 -1
View File
@@ -26,4 +26,4 @@ org.gradle.caching=true
org.gradle.internal.http.socketTimeout=100000 org.gradle.internal.http.socketTimeout=100000
org.gradle.internal.http.connectionTimeout=100000 org.gradle.internal.http.connectionTimeout=100000
android.enableR8.fullMode=false android.enableR8.fullMode=false
archash=ae3b50eaca archash=e3a5a3a832