internal void Write(PexWriteMeta write) { write.WriteString(ReturnTypeName); write.WriteString(DocString); write.Writer.Write(RawUserFlags); write.Writer.Write((byte)Flags); write.Writer.Write((ushort)Parameters.Count); foreach (var parameter in Parameters) { parameter.Write(write); } write.Writer.Write((ushort)Locals.Count); foreach (var local in Locals) { local.Write(write); } write.Writer.Write((ushort)Instructions.Count); foreach (var instruction in Instructions) { instruction.Write(write); } }
internal void Write(PexWriteMeta write) { write.WriteString(Name); write.WriteString(TypeName); write.WriteString(DocString); write.Writer.Write(RawUserFlags); var flags = (byte)Flags; write.Writer.Write(flags); if ((flags & 4) != 0) { write.WriteString(AutoVarName); } if ((flags & 5) == 1) { ReadHandler?.Write(write); } if ((flags & 6) == 2) { WriteHandler?.Write(write); } }
internal void Write(PexWriteMeta write) { write.WriteString(Name); write.WriteString(TypeName); write.Writer.Write(RawUserFlags); VariableData?.Write(write); }
internal void Write(PexWriteMeta write) { write.WriteString(Name); //needed for later changing var currentPos = write.Writer.BaseStream.Position; write.Writer.Write(sizeof(uint)); write.WriteString(ParentClassName); write.WriteString(DocString); if (write.Category == GameCategory.Fallout4) { write.Writer.Write(IsConst ? (byte)1 : (byte)0); } write.Writer.Write(RawUserFlags); write.WriteString(AutoStateName); if (write.Category == GameCategory.Fallout4) { write.Writer.Write((ushort)StructInfos.Count); foreach (var structInfo in StructInfos) { structInfo.Write(write); } } write.Writer.Write((ushort)Variables.Count); foreach (var objectVariable in Variables) { objectVariable.Write(write); } write.Writer.Write((ushort)Properties.Count); foreach (var objectProperty in Properties) { objectProperty.Write(write); } write.Writer.Write((ushort)States.Count); foreach (var objectState in States) { objectState.Write(write); } //calculate object size, go back, change it and return to the current position var newPos = write.Writer.BaseStream.Position; write.Writer.BaseStream.Position = currentPos; var objectSize = newPos - currentPos; write.Writer.Write((uint)objectSize); write.Writer.BaseStream.Position = newPos; }
internal void Write(PexWriteMeta write) { write.WriteString(Name); write.WriteString(TypeName); write.Writer.Write(RawUserFlags); Value?.Write(write); write.Writer.Write(IsConst); write.WriteString(DocString); }
internal void Write(PexWriteMeta meta) { meta.WriteString(ObjectName); meta.WriteString(OrderName); meta.Writer.Write((ushort)Names.Count); foreach (var name in Names) { meta.WriteString(name); } }
internal void Write(PexWriteMeta meta) { meta.WriteString(ObjectName); meta.WriteString(GroupName); meta.Writer.Write((ushort)PropertyNames.Count); foreach (var name in PropertyNames) { meta.WriteString(name); } }
internal void Write(PexWriteMeta meta) { meta.WriteString(ObjectName); meta.WriteString(StateName); meta.WriteString(FunctionName); meta.Writer.Write((byte)FunctionType); meta.Writer.Write((ushort)Instructions.Count); foreach (var lineNumber in Instructions) { meta.Writer.Write(lineNumber); } }
private void WriteContent(PexWriteMeta write) { if (DebugInfo == null) { write.Writer.Write((byte)0); } else { write.Writer.Write((byte)1); DebugInfo.Write(write); } write.Writer.Write((ushort)UserFlags.NotNull().Count()); for (byte i = 0; i < 32; i++) { var str = UserFlags[i]; if (str == null) { continue; } write.WriteString(str); write.Writer.Write(i); } write.Writer.Write((ushort)Objects.Count); foreach (var pexObject in Objects) { pexObject.Write(write); } }
internal void Write(PexWriteMeta write) { write.Writer.Write((byte)VariableType); switch (VariableType) { case VariableType.Null: break; case VariableType.Identifier: case VariableType.String: write.WriteString(StringValue); break; case VariableType.Integer: write.Writer.Write(IntValue ?? int.MaxValue); break; case VariableType.Float: write.Writer.Write(FloatValue ?? float.MaxValue); break; case VariableType.Bool: write.Writer.Write(BoolValue ?? false); break; default: throw new ArgumentOutOfRangeException(); } }
internal void Write(PexWriteMeta writer) { writer.WriteString(Name); writer.Writer.Write((ushort)Functions.Count); foreach (var namedFunction in Functions) { namedFunction.Write(writer); } }
internal void Write(PexWriteMeta write) { write.WriteString(Name); write.Writer.Write((ushort)Members.Count); foreach (var infoMember in Members) { infoMember.Write(write); } }
internal void Write(PexWriteMeta write) { write.WriteString(Name); write.WriteString(TypeName); }
internal void Write(PexWriteMeta write) { write.WriteString(FunctionName); Function?.Write(write); }