Issue description
Yesterday I finished playing and saved my game and then quit. Today I try to load it and I get this error. The save just before that load without issue, so I can recover pretty easily. Thank god for autosave.
The game failed to load as the save file is corrupted. If this issue persists, please file a bug report.
Mafi.Serialization.CorruptedSaveException: Failed to finalize deserialization of 'Mafi.Core.Terrain.TerrainManager' (type 'TerrainManager')
parent object '--' (type '--')
Previous deserialized in this finalize call: 'Mafi.Core.Terrain.Surfaces.TileSurfaceDecalsSlimIdManager' (type 'TileSurfaceDecalsSlimIdManager')
Last deserialized across all finalize calls: 'Mafi.Core.Terrain.Surfaces.TileSurfaceDecalsSlimIdManager' (type 'TileSurfaceDecalsSlimIdManager')
Last read object types: [TerrainTileSurfaceDecalProto, TerrainTileSurfaceDecalProto, TerrainTileSurfaceDecalProto] ---> Mafi.Serialization.CorruptedSaveException: Failed to read variable-encoded uint, last byte is too high.
at Mafi.Serialization.BlobReader.ReadUInt () [0x000a9]
at Mafi.Core.Terrain.TerrainMaterialThicknessSlim.Deserialize (Mafi.Serialization.BlobReader reader) [0x00000]
at Mafi.Core.Terrain.TerrainManager+TerrainData.<DeserializeCustom>g__readTile|57_0 (Mafi.Core.Terrain.TerrainManager+TerrainData+<>c__DisplayClass57_0& ) [0x0022b]
at Mafi.Core.Terrain.TerrainManager+TerrainData.<DeserializeCustom>g__readChangedTiles|57_2 (System.Int32 index, Mafi.Core.Terrain.TerrainManager+TerrainData+<>c__DisplayClass57_0& ) [0x0004b]
at Mafi.Core.Terrain.TerrainManager+TerrainData.DeserializeCustom (Mafi.Serialization.BlobReader reader, System.Boolean inPlace, System.Int32& loadedTiles) [0x00156]
at Mafi.Core.Terrain.TerrainManager+TerrainData.Deserialize (Mafi.Serialization.BlobReader reader) [0x00000]
at Mafi.Core.Terrain.TerrainManager.DeserializeData (Mafi.Serialization.BlobReader reader) [0x0008a]
at Mafi.Core.Terrain.TerrainManager+<>c.<.cctor>b__458_1 (System.Object obj, Mafi.Serialization.BlobReader reader) [0x00000]
at Mafi.Serialization.BlobReader+<FinalizeLoadingTimeSliced>d__37.MoveNext () [0x00054]
--- End of inner exception stack trace ---
at Mafi.Serialization.BlobReader+<FinalizeLoadingTimeSliced>d__37.MoveNext () [0x00202]
at Mafi.Core.SaveGame.GameLoader+<FinishGameLoadAndDisposeTimeSliced>d__12.MoveNext () [0x004ef]
at Mafi.Core.Game.GameBuilder+<BuildLoadedGameTimeSliced>d__1.MoveNext () [0x005a4]
at Mafi.Unity.GamePlayScene+<loadGame>d__28.MoveNext () [0x002ca]
at Mafi.Unity.GamePlayScene+<Initialize>d__25.MoveNext () [0x000ad]
at Mafi.Unity.Main+<unloadAndStartNewScene>d__117.MoveNext () [0x0013b]
at Mafi.Unity.Main.stepSceneInitialization () [0x00104]
Game version: 0.8.6c
Loaded mods: none
Failed mods: none
Reproduction steps
All I can say is that I had the game paused for quite a while and came back to save and quit. When I un-paused the game triggered an autosave, but I immediately did a manual save, too. The manual save is corrupted, the autosave still works, they're seconds apart. Let me know how I can share them with you, happy to help.
Game version and build number
v0.8.6c b612
Operating system
Linux
Attachments
I can't attach my saves because they're 35 MB even if zipped. They're almost identical, see reproduction steps.