internal static void copy_suspend( BinaryReader sourceReader, BinaryWriter targetWriter, Suspend_Info info) { // Write version targetWriter.Write(Global.LOADED_VERSION); // Write suspend info Action <BinaryWriter> suspendInfoAction = (BinaryWriter w) => { w.Write(info.SuspendModifiedTime.ToBinary()); info.write(w); }; if (Global.IsEncryptedVersion(Global.LOADED_VERSION)) { EncryptStream(targetWriter, suspendInfoAction); } else { suspendInfoAction(targetWriter); } // Move the actual map save data, everything after the info sourceReader.BaseStream.CopyTo(targetWriter.BaseStream); }
private static bool load_suspend(BinaryReader reader, out int fileId) { // Read suspend info Suspend_Info info = load_suspend_info(reader); // Read game data if (Global.Data_Chapters.ContainsKey(info.chapter_id)) { fileId = info.save_id; if (IsEncryptedVersion(Global.LOADED_VERSION)) { DecryptStream(reader, load_v_0_4_7_0); return(true); } else { load_v_0_4_7_0(reader); return(true); } } // Something went wrong fileId = 0; return(false); }
private static void WriteSuspendInfo(int fileId, byte[] screenshot, BinaryWriter writer) { writer.Write(DateTime.Now.ToBinary()); var suspend_info = Suspend_Info.get_suspend_info(fileId, screenshot); suspend_info.write(writer); }
private static Suspend_Info ReadSuspendInfo(BinaryReader reader) { DateTime modified_time = DateTime.FromBinary(reader.ReadInt64()); var info = Suspend_Info.read(reader); info.SuspendModifiedTime = modified_time; return(info); }