Example #1
0
 public LPKBlockEntry(BinaryFileReader reader)
 {
     PtrFile = reader.ReadUInt();
     FileSize = reader.ReadUInt();
     FileSizeCompressed = reader.ReadUInt();
     Flags = reader.ReadUInt();
 }
Example #2
0
        private bool Unserialize(BinaryFileReader reader)
        {
            uint magic = reader.ReadUInt();

            if (magic != MAGIC)
            {
                return(false);
            }

            if (m_Macros == null)
            {
                m_Macros = new List <Action>();
            }
            m_Macros.Clear();

            int version = reader.ReadInt();
            int count   = reader.ReadInt();

            for (int i = 0; i < count; i++)
            {
                Action action = new Action();
                action.Keystroke = (WinKeys)reader.ReadUShort();
                action.Ctrl      = reader.ReadBool();
                action.Alt       = reader.ReadBool();
                action.Shift     = reader.ReadBool();
                reader.ReadBool(); // unused filler byte

                int macroCount = reader.ReadUShort();
                for (int j = 0; j < macroCount; j++)
                {
                    int type = reader.ReadInt();
                    Macro.ValueTypes valueType = (Macro.ValueTypes)reader.ReadByte();
                    if (valueType == Macro.ValueTypes.Integer)
                    {
                        action.Macros.Add(new Macro((MacroType)type, reader.ReadInt()));
                    }
                    else if (valueType == Macro.ValueTypes.String)
                    {
                        action.Macros.Add(new Macro((MacroType)type, reader.ReadString()));
                    }
                    else
                    {
                        action.Macros.Add(new Macro((MacroType)type));
                    }
                }

                m_Macros.Add(action);
            }

            return(true);
        }
Example #3
0
        private bool Unserialize(BinaryFileReader r)
        {
            var magic = r.ReadUInt();

            if (magic != MAGIC)
            {
                return(false);
            }

            if (_macros == null)
            {
                _macros = new List <Action>();
            }
            _macros.Clear();
            var version = r.ReadInt();
            var count   = r.ReadInt();

            for (var i = 0; i < count; i++)
            {
                var action = new Action();
                action.Keystroke = (WinKeys)r.ReadUShort();
                action.Ctrl      = r.ReadBool();
                action.Alt       = r.ReadBool();
                action.Shift     = r.ReadBool();
                r.ReadBool(); // unused filler byte

                var macroCount = r.ReadUShort();
                for (var j = 0; j < macroCount; j++)
                {
                    var type      = r.ReadInt();
                    var valueType = (Macro.ValueTypes)r.ReadByte();
                    if (valueType == Macro.ValueTypes.Integer)
                    {
                        action.Macros.Add(new Macro((MacroType)type, r.ReadInt()));
                    }
                    else if (valueType == Macro.ValueTypes.String)
                    {
                        action.Macros.Add(new Macro((MacroType)type, r.ReadString()));
                    }
                    else
                    {
                        action.Macros.Add(new Macro((MacroType)type));
                    }
                }
                _macros.Add(action);
            }

            return(true);
        }
Example #4
0
        public LPKHeader(BinaryFileReader reader)
        {
            uint version_expected = InterXLib.Library.FourCharsToUInt("LPK2");
            uint version = reader.ReadUInt();

            if (version != version_expected)
                Logging.Fatal("File is not a lpk file.");

            Hashcount = reader.ReadUInt();
            BlockCount = reader.ReadUInt();
            PtrHashTable = reader.ReadUInt();
            PtrBlocks = reader.ReadUInt();
            PtrFiles = reader.ReadUInt();

            HashTableSizeCompressed = reader.ReadUInt();
            BlockTableSizeCompressed = reader.ReadUInt();
        }
Example #5
0
 public LPKHashEntry(BinaryFileReader reader)
 {
     SecondHash = reader.ReadUInt();
     BlockIndex = reader.ReadUInt();
     NextHashInSequence = reader.ReadUInt();
 }