public static void Write(CrcWriter w, LevelSaveData lsd) { w.Write(lsd.DestroyedTriles.Count); foreach (TrileEmplacement s in lsd.DestroyedTriles) BinaryWritingTools.Write(w, s); w.Write(lsd.InactiveTriles.Count); foreach (TrileEmplacement s in lsd.InactiveTriles) BinaryWritingTools.Write(w, s); w.Write(lsd.InactiveArtObjects.Count); foreach (int num in lsd.InactiveArtObjects) w.Write(num); w.Write(lsd.InactiveEvents.Count); foreach (int num in lsd.InactiveEvents) w.Write(num); w.Write(lsd.InactiveGroups.Count); foreach (int num in lsd.InactiveGroups) w.Write(num); w.Write(lsd.InactiveVolumes.Count); foreach (int num in lsd.InactiveVolumes) w.Write(num); w.Write(lsd.InactiveNPCs.Count); foreach (int num in lsd.InactiveNPCs) w.Write(num); w.Write(lsd.PivotRotations.Count); foreach (KeyValuePair<int, int> keyValuePair in lsd.PivotRotations) { w.Write(keyValuePair.Key); w.Write(keyValuePair.Value); } BinaryWritingTools.WriteObject(w, lsd.LastStableLiquidHeight); BinaryWritingTools.WriteObject(w, lsd.ScriptingState); w.Write(lsd.FirstVisit); SaveFileOperations.Write(w, lsd.FilledConditions); }
public static void WriteObject(this CrcWriter writer, float?s) { writer.Write(s.HasValue); if (!s.HasValue) { return; } writer.Write(s.Value); }
public static void WriteObject(this CrcWriter writer, string s) { writer.Write(s != null); if (s == null) { return; } writer.Write(s); }
public static void Write(this CrcWriter writer, TrileEmplacement s) { writer.Write(s.X); writer.Write(s.Y); writer.Write(s.Z); }
public static void Write(this CrcWriter writer, TimeSpan s) { writer.Write(s.Ticks); }
public static void Write(this CrcWriter writer, Vector3 s) { writer.Write(s.X); writer.Write(s.Y); writer.Write(s.Z); }
public static void Write(CrcWriter w, SaveData sd) { w.Write(6L); w.Write(sd.CreationTime); w.Write(sd.Finished32); w.Write(sd.Finished64); w.Write(sd.HasFPView); w.Write(sd.HasStereo3D); w.Write(sd.CanNewGamePlus); w.Write(sd.IsNewGamePlus); w.Write(sd.OneTimeTutorials.Count); foreach (KeyValuePair<string, bool> keyValuePair in sd.OneTimeTutorials) { BinaryWritingTools.WriteObject(w, keyValuePair.Key); w.Write(keyValuePair.Value); } BinaryWritingTools.WriteObject(w, sd.Level); w.Write((int) sd.View); BinaryWritingTools.Write(w, sd.Ground); BinaryWritingTools.Write(w, sd.TimeOfDay); w.Write(sd.UnlockedWarpDestinations.Count); foreach (string s in sd.UnlockedWarpDestinations) BinaryWritingTools.WriteObject(w, s); w.Write(sd.Keys); w.Write(sd.CubeShards); w.Write(sd.SecretCubes); w.Write(sd.CollectedParts); w.Write(sd.CollectedOwls); w.Write(sd.PiecesOfHeart); w.Write(sd.Maps.Count); foreach (string s in sd.Maps) BinaryWritingTools.WriteObject(w, s); w.Write(sd.Artifacts.Count); foreach (ActorType actorType in sd.Artifacts) w.Write((int) actorType); w.Write(sd.EarnedAchievements.Count); foreach (string s in sd.EarnedAchievements) BinaryWritingTools.WriteObject(w, s); w.Write(sd.EarnedGamerPictures.Count); foreach (string s in sd.EarnedGamerPictures) BinaryWritingTools.WriteObject(w, s); BinaryWritingTools.WriteObject(w, sd.ScriptingState); w.Write(sd.FezHidden); BinaryWritingTools.WriteObject(w, sd.GlobalWaterLevelModifier); w.Write(sd.HasHadMapHelp); w.Write(sd.CanOpenMap); w.Write(sd.AchievementCheatCodeDone); w.Write(sd.AnyCodeDeciphered); w.Write(sd.MapCheatCodeDone); w.Write(sd.World.Count); foreach (KeyValuePair<string, LevelSaveData> keyValuePair in sd.World) { BinaryWritingTools.WriteObject(w, keyValuePair.Key); SaveFileOperations.Write(w, keyValuePair.Value); } w.Write(sd.ScoreDirty); w.Write(sd.HasDoneHeartReboot); w.Write(sd.PlayTime); w.Write(sd.IsNew); }
public static void Write(CrcWriter w, WinConditions wc) { w.Write(wc.LockedDoorCount); w.Write(wc.UnlockedDoorCount); w.Write(wc.ChestCount); w.Write(wc.CubeShardCount); w.Write(wc.OtherCollectibleCount); w.Write(wc.SplitUpCount); w.Write(wc.ScriptIds.Count); foreach (int num in wc.ScriptIds) w.Write(num); w.Write(wc.SecretCount); }