Exemple #1
0
        internal static DebugFunction Create(PexParseMeta parse)
        {
            var ret = new DebugFunction();

            ret.ObjectName   = parse.ReadString();
            ret.StateName    = parse.ReadString();
            ret.FunctionName = parse.ReadString();

            ret.FunctionType = (DebugFunctionType)parse.Reader.ReadUInt8();

            var instructionCount = parse.Reader.ReadUInt16();

            for (var i = 0; i < instructionCount; i++)
            {
                var lineNumber = parse.Reader.ReadUInt16();
                ret.Instructions.Add(lineNumber);
            }
            return(ret);
        }
Exemple #2
0
        internal static DebugInfo Create(PexParseMeta parse)
        {
            var ret = new DebugInfo(parse.Category);

            ret.ModificationTime = parse.Reader.ReadUInt64().ToDateTime();

            var functionCount = parse.Reader.ReadUInt16();

            for (var i = 0; i < functionCount; i++)
            {
                var function = DebugFunction.Create(parse);
                ret.Functions.Add(function);
            }

            //F04 only
            if (ret._gameCategory != GameCategory.Fallout4)
            {
                return(ret);
            }

            var propertyGroupsCount = parse.Reader.ReadUInt16();

            for (var i = 0; i < propertyGroupsCount; i++)
            {
                var propertyGroup = DebugPropertyGroup.Create(parse);
                ret.PropertyGroups.Add(propertyGroup);
            }

            var structOrderCount = parse.Reader.ReadUInt16();

            for (var i = 0; i < structOrderCount; i++)
            {
                var structOrder = DebugStructOrder.Create(parse);
                ret.StructOrders.Add(structOrder);
            }
            return(ret);
        }