public void Load(X360IO io) { IO = io; IO.Stream.Position = 0x0; Magic = IO.Reader.ReadUInt32(); Unknown1 = IO.Reader.ReadUInt32(); Unknown2 = IO.Reader.ReadUInt32(); Magic2 = IO.Reader.ReadUInt32(); if (Magic != 0xBCADADBC || Magic2 != 0xBCADADBC) { return; } IO.Stream.Position = 0x10; SettingEntries = new List <SettingEntry>(); DataEntries = new List <SettingDataEntry>(); while (true) { SettingEntry entry = new SettingEntry(); if (!entry.Load(IO)) { break; } SettingEntries.Add(entry); } IO.Stream.Position = 0xFFF0; DataMagic = IO.Reader.ReadUInt16(); if (DataMagic != 0x4D26) { return; } // data while (true) { SettingDataEntry entry = new SettingDataEntry(); entry.Load(IO); if (!(entry.Flags == 0xAABB && entry.FileNameOffset == 0xCCDD && entry.Checksum == 0xEE00)) { DataEntries.Add(entry); } else { break; } } foreach (SettingDataEntry entry in DataEntries) { if (entry.Flags != 0x7A) { SettingEntry ent = SettingEntries.Find(sec => sec.IsEntryOffset(entry.FileNameOffset + 0x10)); if (ent == null) { break; } ent.DataExists = true; entry.FileNameEntry = ent; } } }
public void Load(X360IO io) { IO = io; IO.Stream.Position = 0x0; Magic = IO.Reader.ReadUInt32(); Unknown1 = IO.Reader.ReadUInt32(); Unknown2 = IO.Reader.ReadUInt32(); Magic2 = IO.Reader.ReadUInt32(); if (Magic != 0xBCADADBC || Magic2 != 0xBCADADBC) return; IO.Stream.Position = 0x10; SettingEntries = new List<SettingEntry>(); DataEntries = new List<SettingDataEntry>(); while (true) { SettingEntry entry = new SettingEntry(); if (!entry.Load(IO)) break; SettingEntries.Add(entry); } IO.Stream.Position = 0xFFF0; DataMagic = IO.Reader.ReadUInt16(); if (DataMagic != 0x4D26) return; // data while (true) { SettingDataEntry entry = new SettingDataEntry(); entry.Load(IO); if (!(entry.Flags == 0xAABB && entry.FileNameOffset == 0xCCDD && entry.Checksum == 0xEE00)) DataEntries.Add(entry); else break; } foreach (SettingDataEntry entry in DataEntries) { if (entry.Flags != 0x7A) { SettingEntry ent = SettingEntries.Find(sec => sec.IsEntryOffset(entry.FileNameOffset + 0x10)); if (ent == null) { break; } ent.DataExists = true; entry.FileNameEntry = ent; } } }
public SettingDataEntry CreateSetting(string settingName, byte settingType, string settingValue) { SettingEntry entry = new SettingEntry {ID = 0x0, Value = 0x0, Setting = settingName}; SettingDataEntry entry2 = new SettingDataEntry { Flags = 0x0, Checksum = 0x0, Type = settingType, FileNameEntry = entry }; entry2.ValueString = settingValue; entry.DataExists = true; SettingEntries.Add(entry); DataEntries.Add(entry2); return entry2; }
public SettingDataEntry CreateSetting(string settingName, byte settingType, string settingValue) { SettingEntry entry = new SettingEntry { ID = 0x0, Value = 0x0, Setting = settingName }; SettingDataEntry entry2 = new SettingDataEntry { Flags = 0x0, Checksum = 0x0, Type = settingType, FileNameEntry = entry }; entry2.ValueString = settingValue; entry.DataExists = true; SettingEntries.Add(entry); DataEntries.Add(entry2); return(entry2); }