public DeprecatedField(ExtendedUpdateField field) : base(field) { }
public NewField(ExtendedUpdateField field) : base(field) { }
public static ExtendedUpdateField Find(ExtendedUpdateField[] arr, string name, uint start) { for (uint i = start; i < arr.Length; i++) { var field = arr[i]; if (field != null && field.Name.Equals(name)) { return field; } } return null; }
public ChangedField(ExtendedUpdateField original, ExtendedUpdateField mt) : base(original) { Changed = mt; }
public FieldVariation(ExtendedUpdateField original) { Original = original; }
private void WriteArrayField(TextWriter writer, ExtendedUpdateField field, int num) { writer.WriteLine("\t\t/// <summary>"); writer.WriteLine("\t\t/// {0}", field.Description); writer.WriteLine("\t\t/// </summary>"); writer.WriteLine("\t\t{0}_{1} = {2},", field.Name, num + 1, field.Offset + num); }
private void WriteFieldFromArray(List<string> array, TextWriter writer, ExtendedUpdateField field, int fieldStart, int id) { writer.WriteLine("\t\t/// <summary>"); writer.WriteLine("\t\t/// {0}", field.Description); writer.WriteLine("\t\t/// </summary>"); writer.WriteLine("\t\t{0} = {1},", array[fieldStart + id], field.Offset + id); }
private void WriteField(ExtendedUpdateField field, TextWriter writer) { writer.WriteLine("\t\t/// <summary>"); writer.WriteLine("\t\t/// {0}", field.Description); writer.WriteLine("\t\t/// </summary>"); writer.WriteLine("\t\t{0} = {1},", field.Name, field.Offset); }
private void FillList(BinaryReader binReader) { m_fieldCount = 0; string previousField = String.Empty; string currentField; binReader.BaseStream.Position = m_dataStartOffset; while (true) { var field = new ExtendedUpdateField { NameOffset = binReader.ReadUInt32() }; // 4A4C90 for GUID (4869264) if (field.NameOffset < 0x9999) { uint oldNameOffset = field.NameOffset; field.NameOffset = binReader.ReadUInt32(); } field.Offset = binReader.ReadUInt32(); field.Size = binReader.ReadUInt32(); field.Type = (UpdateFieldType) binReader.ReadUInt32(); field.Flags = (UpdateFieldFlags) binReader.ReadUInt32(); if (m_fieldCount == 0) { // 0x401A00 m_stringOffsetDelta = field.NameOffset - m_stringStartOffset; } long stringOffset = field.NameOffset - m_stringOffsetDelta; long oldpos = binReader.BaseStream.Position; binReader.BaseStream.Position = stringOffset; currentField = binReader.ReadCString(); binReader.BaseStream.Position = oldpos; var sb = new StringBuilder(); sb.AppendFormat("Size: {0} - ", field.Size); sb.AppendFormat("Type: {0} - ", field.Type); sb.AppendFormat("Flags: {0}", field.Flags); field.Description = sb.ToString(); field.Name = currentField; m_updateFieldList.Add(field); m_fieldCount++; if (!previousField.Equals("CORPSE_FIELD_PAD") && currentField.Equals("CORPSE_FIELD_PAD")) { break; } previousField = currentField; } }