private void InitializeData(byte[] data) { Data = DecryptPBRSaveData(data); // Detect active save SaveCount = Math.Max(BigEndian.ToUInt32(Data, 0x1C004C), BigEndian.ToUInt32(Data, 0x4C)); if (BigEndian.ToUInt32(Data, 0x1C004C) > BigEndian.ToUInt32(Data, 0x4C)) { byte[] tempData = new byte[0x1C0000]; Array.Copy(Data, 0, tempData, 0, 0x1C0000); Array.Copy(Data, 0x1C0000, Data, 0, 0x1C0000); tempData.CopyTo(Data, 0x1C0000); } for (int i = 0; i < SAVE_COUNT; i++) { if (!IsOTNamePresent(i)) { continue; } SaveSlots.Add(i); SaveNames.Add(GetOTName(i)); } CurrentSlot = SaveSlots[0]; }
public LoadGameWindow(List <string> n, UserContext db) { InitializeComponent(); foreach (var i in n) { SaveNames.Add(i); } this.db = db; listBox1.ItemsSource = SaveNames; }
//Удаление сохранения и записей БД private void btnDel_Click(object sender, RoutedEventArgs e) { if (listBox1.SelectedIndex >= 0) { string s = listBox1.SelectedItem.ToString(); int? id = db.Saves.Where(i => i.Name == s).Select(j => j.Id).FirstOrDefault(); if (id != null) { db.Points.RemoveRange(db.Points.Where(i => i.IdSave == id)); db.Saves.RemoveRange(db.Saves.Where(i => i.Id == id)); db.SaveChangesAsync(); SaveNames.RemoveAt(listBox1.SelectedIndex); } } }
public SAV4BR(byte[] data = null) { Data = data ?? new byte[SaveUtil.SIZE_G4BR]; BAK = (byte[])Data.Clone(); Exportable = !IsRangeEmpty(0, Data.Length); if (SaveUtil.GetIsG4BRSAV(Data) != GameVersion.BATREV) { return; } Data = DecryptPBRSaveData(data); // Detect active save SaveCount = Math.Max(BigEndian.ToUInt32(Data, 0x1C004C), BigEndian.ToUInt32(Data, 0x4C)); if (BigEndian.ToUInt32(Data, 0x1C004C) > BigEndian.ToUInt32(Data, 0x4C)) { byte[] tempData = new byte[0x1C0000]; Array.Copy(Data, 0, tempData, 0, 0x1C0000); Array.Copy(Data, 0x1C0000, Data, 0, 0x1C0000); tempData.CopyTo(Data, 0x1C0000); } for (int i = 0; i < SAVE_COUNT; i++) { if (!IsOTNamePresent(i)) { continue; } SaveSlots.Add(i); SaveNames.Add(GetOTName(i).Trim()); } CurrentSlot = SaveSlots[0]; Personal = PersonalTable.DP; HeldItems = Legal.HeldItems_DP; if (!Exportable) { ClearBoxes(); } }