public static void OnLoad() { //don't load the file if it don't exist! if (!File.Exists(Path.Combine(SAVE_PATH, FILENAME))) { return; } using ( var bin = new FileStream(Path.Combine(SAVE_PATH, FILENAME), FileMode.Open, FileAccess.Read, FileShare.Read)) { GenericReader reader = new BinaryFileReader(new BinaryReader(bin)); int version = reader.ReadInt(); int count = reader.ReadInt(); for (int i = 0; i < count; i++) { GameData.Add(new BoardGameData(reader)); } reader.End(); } }
private static void OnLoad() { try{ if (!File.Exists(Path.Combine("Saves/Gumps/", "Gumps.bin"))) { return; } using (FileStream bin = new FileStream(Path.Combine("Saves/Gumps/", "Gumps.bin"), FileMode.Open, FileAccess.Read, FileShare.Read)) { GenericReader reader = new BinaryFileReader(new BinaryReader(bin)); int version = reader.ReadInt(); if (version >= 0) { int count = reader.ReadInt(); GumpInfo info; for (int i = 0; i < count; ++i) { info = new GumpInfo(); info.Load(reader); if (info.Mobile == null || info.Type == null) { continue; } if (s_Infos[info.Mobile] == null) { s_Infos[info.Mobile] = new Hashtable(); } ((Hashtable)s_Infos[info.Mobile])[info.Type] = info; } } reader.End(); } }catch { Errors.Report("GumpInfo-> OnLoad"); } }
public static void Load(bool initonly) { if (initonly) { Console.WriteLine("Initializing ResourcePool database..."); } else { Console.WriteLine("Resource Pool Loading..."); } if (!Directory.Exists("Saves/ResourcePool")) { Directory.CreateDirectory("Saves/ResourcePool"); } bool newconfig = false; FileStream rpfs = new FileStream("Saves/ResourcePool/ResourcePool.dat", FileMode.OpenOrCreate, FileAccess.Read); BinaryFileReader rpreader = new BinaryFileReader(new BinaryReader(rpfs)); if (!rpreader.End()) { int rpversion = rpreader.ReadInt(); switch (rpversion) { case 0: { m_LastModified = rpreader.ReadDateTime(); FileInfo fi = new FileInfo("Data/ResourcePool/config.xml"); if (fi.LastWriteTime != m_LastModified) { m_LastModified = fi.LastWriteTime; newconfig = true; } else { newconfig = false; } break; } default: throw new Exception("Error loading ResourcePool: Invalid ResourcePool.dat save version"); } } else { m_LastModified = (new FileInfo("Data/ResourcePool/config.xml")).LastWriteTime; Console.WriteLine("Warning: Saves/ResourcePool/ResourcePool.dat not found."); newconfig = true; } if (newconfig) { Console.WriteLine("New configuration detected! Reading from Data/..."); } XmlTextReader reader; reader = new XmlTextReader((newconfig ? "Data/ResourcePool/config.xml" : "Saves/ResourcePool/config.xml")); reader.WhitespaceHandling = WhitespaceHandling.None; FileStream rcfs = new FileStream("Saves/ResourcePool/Consignments.dat", FileMode.OpenOrCreate, FileAccess.Read); FileStream dfs = new FileStream("Saves/ResourcePool/Debts.dat", FileMode.OpenOrCreate, FileAccess.Read); BinaryFileReader rcreader = new BinaryFileReader(new BinaryReader(rcfs)); BinaryFileReader dreader = new BinaryFileReader(new BinaryReader(dfs)); try { reader.MoveToContent(); } catch { Console.WriteLine("Save xml data not found or invalid, reverting to defaults"); reader = new XmlTextReader("Data/ResourcePool/config.xml"); reader.WhitespaceHandling = WhitespaceHandling.None; reader.MoveToContent(); } int version = Int32.Parse(reader.GetAttribute("version")); reader.ReadStartElement("ResourcePool"); switch (version) { case 0: { m_PaymentFactor = Double.Parse(reader.ReadElementString("PaymentFactor")); m_FailsafePriceHike = Double.Parse(reader.ReadElementString("FailsafePriceHike")); m_Resources = new Hashtable(); while (reader.LocalName == "ResourceData") { ResourceData rd = new ResourceData(reader, (initonly ? null : rcreader)); if (rd != null) { m_Resources[rd.Type] = rd; } } while (reader.LocalName == "RDRedirect") { RDRedirect rd = new RDRedirect(reader, (initonly ? null : rcreader)); if (rd != null) { m_Resources[rd.Type] = rd; } } m_Debts = new Hashtable(); if (initonly) { break; } while (!dreader.End()) { try { Mobile m = dreader.ReadMobile(); double debt = dreader.ReadDouble(); if (m != null) { m_Debts[m] = debt; } } catch (Exception ex) { Console.WriteLine("Exception occured attempting to desrialize from Debts.dat : " + ex.Message); break; } } break; } case 1: { m_PaymentFactor = Double.Parse(reader.ReadElementString("PaymentFactor")); m_FailsafePriceHike = Double.Parse(reader.ReadElementString("FailsafePriceHike")); m_Resources = new Hashtable(); while (reader.LocalName == "ResourceData") { ResourceData rd = new ResourceData(reader, (initonly ? null : rcreader)); if (rd != null) { m_Resources[rd.Type] = rd; } } while (reader.LocalName == "RDRedirect") { RDRedirect rd = new RDRedirect(reader, (initonly ? null : rcreader)); if (rd != null) { m_Resources[rd.Type] = rd; } } m_Debts = new Hashtable(); if (initonly) { break; } // read count int count = dreader.ReadInt(); for (int ix = 0; ix < count; ix++) { Mobile m = dreader.ReadMobile(); double debt = dreader.ReadDouble(); if (m != null) { m_Debts[m] = debt; } } break; } default: { throw new Exception("Invalid ResourcePool save version."); } } reader.ReadEndElement(); reader.Close(); rcfs.Close(); rpfs.Close(); dfs.Close(); }
private static void OnLoad() { try{ if (!File.Exists(Path.Combine("Saves/Chat/", "Chat.bin"))) { return; } using (FileStream bin = new FileStream(Path.Combine("Saves/Chat/", "Chat.bin"), FileMode.Open, FileAccess.Read, FileShare.Read)) { GenericReader reader = new BinaryFileReader(new BinaryReader(bin)); int version = reader.ReadInt(); if (version >= 12) { s_PublicPlusIRC = reader.ReadBool(); } if (version >= 11) { s_FilterPenalty = (FilterPenalty)reader.ReadInt(); } if (version >= 10) { s_AllianceChat = reader.ReadBool(); } if (version >= 9) { s_AllowFaction = reader.ReadBool(); } if (version >= 8) { s_GuildMenuAccess = reader.ReadBool(); } if (version >= 7) { s_MaxPmHistory = reader.ReadInt(); } if (version >= 6) { s_IrcAutoReconnect = reader.ReadBool(); } if (version >= 5) { s_IrcMaxAttempts = reader.ReadInt(); } if (version >= 4) { s_IrcAutoConnect = reader.ReadBool(); } if (version >= 3) { s_IrcStaffColor = (IrcColor)reader.ReadInt(); } if (version >= 2) { s_IrcNick = reader.ReadString(); } if (version >= 1) { s_IrcEnabled = reader.ReadBool(); s_IrcServer = reader.ReadString(); s_IrcRoom = reader.ReadString(); s_IrcPort = reader.ReadInt(); } if (version >= 0) { int count = reader.ReadInt(); for (int i = 0; i < count; ++i) { s_Filters.Add(reader.ReadString()); } s_SpamLimiter = reader.ReadDouble(); s_FilterBanLength = reader.ReadDouble(); if (version < 11) { reader.ReadBool(); // FilterBan removed } s_ShowLocation = reader.ReadBool(); s_ShowStaff = reader.ReadBool(); s_PublicStyle = (PublicStyle)reader.ReadInt(); count = reader.ReadInt(); ChatInfo info; for (int i = 0; i < count; ++i) { info = new ChatInfo(reader.ReadMobile()); if (!info.Load(reader)) { return; } } } reader.End(); } if (s_IrcAutoConnect) { IrcConnection.Connection.Connect(); } }catch { Errors.Report("ChatInfo-> OnLoad"); } }
public static void Load() { try { if (!File.Exists(Path.Combine(General.SavePath, "Gumps.bin"))) { return; } using (FileStream bin = new FileStream(Path.Combine(General.SavePath, "Gumps.bin"), FileMode.Open, FileAccess.Read, FileShare.Read)) { GenericReader reader = new BinaryFileReader(new BinaryReader(bin)); int version = reader.ReadInt(); if (version >= 0) { s_ForceMenu = reader.ReadBool(); int count = reader.ReadInt(); GumpInfo info; for (int i = 0; i < count; ++i) { info = new GumpInfo(); info.Load(reader); if (info.Type == null) { continue; } s_ForceInfos[info.Type] = info; } count = reader.ReadInt(); for (int i = 0; i < count; ++i) { info = new GumpInfo(); info.Load(reader); if (info.Mobile == null || info.Type == null) { continue; } if (s_Infos[info.Mobile] == null) { s_Infos[info.Mobile] = new Hashtable(); } ((Hashtable)s_Infos[info.Mobile])[info.Type] = info; } } reader.End(); } } catch (Exception e) { Errors.Report(General.Local(198)); Console.WriteLine(e.Message); Console.WriteLine(e.Source); Console.WriteLine(e.StackTrace); } }