Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }