Issue description
I have removed some of the mods of COI Extended. In this case, their "Structures" mod is at fault.
I have removed the mod because I did not use it. But even when the structures from this mod where never build in my world, having them removed from the save seems to crash the game.
It would be nice if the game handled these cases better.
Reproduction steps
- Add COI Extended Structures mod to your save
- Remove it
- Load the save again
- Crash
Game version and build number
v0.7.7 b470
Operating system
Windows
Attachments
The game failed to initialize. Please file a bug report if this issue persists.
Mafi.Serialization.CorruptedSaveException: Failed to finalize deserialization of 'Mafi.Collections.Lyst1[Mafi.Core.Prototypes.Proto].ToString() threw NullReferenceException' (type 'Lyst1')
parent object '--' (type '--')
Previous deserialized object: 'Mafi.Event' (type 'Event') ---> Mafi.Serialization.CorruptedSaveException: Failed to find proto 'RetainingWallRamp2' (RetainingWallProto) and no phantom proto of this type exists.
at Mafi.Core.Prototypes.ProtosSerializerFactory.deserializeNewProto (Mafi.Serialization.BlobReader reader, System.Type protoType) [0x000c4]
at Mafi.Serialization.BlobReader.TryStartClassDeserialization[T] (T& obj, System.Func3[T1,T2,TResult] customNewObjFactory, System.Func3[T1,T2,TResult] customNewObjFactoryOnTypeLoadFail, System.Boolean nullObjIsOk) [0x00132]
at Mafi.Core.Prototypes.ProtosSerializerFactory.deserialize[T] (Mafi.Serialization.BlobReader reader) [0x00000]
at Mafi.Serialization.BlobReader.ReadArray[T] (System.Int32 length) [0x00041]
at Mafi.Collections.Lyst1[T].DeserializeData (Mafi.Serialization.BlobReader reader) [0x00020] at Mafi.Collections.Lyst1+<>c[T].<.cctor>b__156_1 (System.Object obj, Mafi.Serialization.BlobReader reader) [0x00000]
at Mafi.Serialization.BlobReader+<FinalizeLoadingTimeSliced>d__34.MoveNext () [0x00054]
--- End of inner exception stack trace ---
at Mafi.Serialization.BlobReader+<FinalizeLoadingTimeSliced>d__34.MoveNext () [0x0014e]
at Mafi.Core.SaveGame.GameLoader+<FinishGameLoadAndDisposeTimeSliced>d__7.MoveNext () [0x004a9]
at Mafi.Core.Game.GameBuilder+<BuildLoadedGameTimeSliced>d__3.MoveNext () [0x002fe]
at Mafi.Unity.GamePlayScene+<loadGame>d__23.MoveNext () [0x00297]
at Mafi.Unity.GamePlayScene+<Initialize>d__20.MoveNext () [0x000a5]
at Mafi.Unity.Main+<unloadAndStartNewScene>d__89.MoveNext () [0x000fc]
at Mafi.Unity.Main.stepSceneInitialization () [0x000dd]