private void Uninstall_CharaSlots(_File file) { try { CharaSlotsFile charaSlotsFile = (CharaSlotsFile)GetParsedFile <CharaSlotsFile>(CharaSlotsFile.FILE_NAME_BIN, false, false); if (charaSlotsFile == null) { return; } Section section = file.GetSection(Sections.CharaSlotEntry); if (section != null) { charaSlotsFile.UninstallEntries(section.IDs); } } catch (Exception ex) { string error = string.Format("Failed at CharaSlots uninstall phase ({0}).", CharaSlotsFile.FILE_NAME_BIN); throw new Exception(error, ex); } }
static void Main(string[] args) { #if DEBUG //for debugging only //args = new string[1] { @"lobby_event_manage - Copy.tsd.xml" }; DEBUG_MODE = true; #endif string fileLocation = null; if (args.Length > 0) { fileLocation = args[0]; } else { Environment.Exit(0); } Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); for (int i = 0; i < args.Count(); i++) { fileLocation = args[i]; if (args.Count() > 1) { Console.WriteLine(String.Format("Processing File {2} of {1}: \"{0}\"...\n", fileLocation, args.Count(), i + 1)); } if (Directory.Exists(fileLocation)) { //new Xv2CoreLib.EMB.XmlRepack(fileLocation); //Used for debugging BulkParseInitial(fileLocation); } else { #if !DEBUG try #endif { if (Path.GetFileName(fileLocation) == CharaSlotsFile.FILE_NAME_BIN) { CharaSlotsFile.CreateXml(fileLocation); continue; } if (Path.GetFileName(fileLocation) == CharaSlotsFile.FILE_NAME_XML) { CharaSlotsFile.ConvertFromXml(fileLocation); continue; } if (!LoadBinaryInitial_Debug(fileLocation)) { switch (Path.GetExtension(fileLocation)) { case ".eepk": new Xv2CoreLib.EEPK.Parser(fileLocation, true); break; case ".ers": new Xv2CoreLib.ERS.Parser(fileLocation, true); break; case ".qxd": new Xv2CoreLib.QXD.Parser(fileLocation, true); break; case ".qml": new Xv2CoreLib.QML.Parser(fileLocation, true); break; case ".qsl": new Xv2CoreLib.QSL.Parser(fileLocation, true); break; case ".qbt": new Xv2CoreLib.QBT.Parser(fileLocation, true); break; case ".qed": new Xv2CoreLib.QED.Parser(fileLocation, true); break; case ".bev": new Xv2CoreLib.BEV.Parser(fileLocation, true); break; case ".qsf": new Xv2CoreLib.QSF.Parser(fileLocation, true); break; case ".bdm": new Xv2CoreLib.BDM.Parser(fileLocation, true); break; case ".msg": new Xv2CoreLib.MSG.Parser(fileLocation, true); break; case ".tsd": new Xv2CoreLib.TSD.Parser(fileLocation, true); break; case ".tnl": new Xv2CoreLib.TNL.Parser(fileLocation, true); break; case ".emp": new Xv2CoreLib.EMP.Parser(fileLocation, true); break; case ".ecf": new Xv2CoreLib.ECF.Parser(fileLocation, true); break; case ".bsa": new Xv2CoreLib.BSA.Parser(fileLocation, true); break; case ".bcm": new Xv2CoreLib.BCM_XML.Parser(fileLocation, true); break; case ".bas": new Xv2CoreLib.BAS.Parser(fileLocation, true); break; case ".bpe": new Xv2CoreLib.BPE.Parser(fileLocation, true); break; case ".aig": new Xv2CoreLib.AIG.AIG_File(fileLocation, true); break; case ".ata": new Xv2CoreLib.ATA.ATA_File(fileLocation, true); break; case ".bai": new Xv2CoreLib.BAI.Parser(fileLocation, true); break; case ".psa": new Xv2CoreLib.PSA.PSA_File(fileLocation, true); break; case ".lcp": new Xv2CoreLib.LCP.LCP_File(fileLocation, true); break; case ".cnc": Xv2CoreLib.CNC.CNC_File.Read(fileLocation, true); break; case ".cns": Xv2CoreLib.CNS.CNS_File.Read(fileLocation, true); break; case ".dem": new Xv2CoreLib.DEM.Parser(fileLocation, true); break; case ".dse": Xv2CoreLib.DSE.DSE_File.ParseFile(fileLocation); break; case ".dml": Xv2CoreLib.DML.DML_File.ParseFile(fileLocation); break; case ".acb": Xv2CoreLib.UTF.UTF_File.ParseUtfFile(fileLocation); break; case ".acf": Xv2CoreLib.UTF.UTF_File.ParseUtfFile(fileLocation); break; case ".awb": Xv2CoreLib.AFS2.AFS2_File.ParseAsf2File(fileLocation); break; case ".sav": case ".dec": Xv2CoreLib.SAV.SAV_File.Load(fileLocation); break; case ".tdb": Xv2CoreLib.TDB.TDB_File.Parse(fileLocation, true); break; case ".fpf": Xv2CoreLib.FPF.FPF_File.Parse(fileLocation, true); break; case ".pfl": Xv2CoreLib.PFL.PFL_File.Serialize(fileLocation, true); break; case ".pfp": Xv2CoreLib.PFP.PFP_File.Serialize(fileLocation, true); break; case ".psl": Xv2CoreLib.PSL.PSL_File.Serialize(fileLocation, true); break; case ".oct": new Xv2CoreLib.OCT.Parser(fileLocation, true); break; case ".occ": new Xv2CoreLib.OCC.Parser(fileLocation, true); break; case ".oco": new Xv2CoreLib.OCO.Parser(fileLocation, true); break; case ".ocp": new Xv2CoreLib.OCP.Parser(fileLocation, true); break; case ".ocs": new Xv2CoreLib.OCS.Parser(fileLocation, true); break; case ".odf": Xv2CoreLib.ODF.ODF_File.Serialize(fileLocation, true); break; case ".pso": Xv2CoreLib.PSO.PSO_File.Serialize(fileLocation, true); break; case ".ema": Xv2CoreLib.EMA.EMA_File.Serialize(fileLocation, true); break; case ".pup": Xv2CoreLib.PUP.PUP_File.Serialize(fileLocation, true); break; case ".aur": Xv2CoreLib.AUR.AUR_File.Serialize(fileLocation, true); break; case ".psc": Xv2CoreLib.PSC.PSC_File.Serialize(fileLocation, true); break; case ".ait": new Xv2CoreLib.AIT.AIT_File(fileLocation, true); break; case ".cus": new Xv2CoreLib.CUS.Parser(fileLocation, true); break; case ".cms": new Xv2CoreLib.CMS.Parser(fileLocation, true); break; case ".idb": new Xv2CoreLib.IDB.Parser(fileLocation, true); break; case ".bcs": new Xv2CoreLib.BCS.Parser(fileLocation, true); break; case ".emm": new Xv2CoreLib.EMM.Parser(fileLocation, true); break; case ".ean": new Xv2CoreLib.EAN.Parser(fileLocation, true); break; case ".emb": new Xv2CoreLib.EMB_CLASS.Parser(fileLocation, true); break; case ".cso": new Xv2CoreLib.CSO.Parser(fileLocation, true); break; case ".bac": new Xv2CoreLib.BAC.Parser(fileLocation, true); break; case ".esk": new Xv2CoreLib.ESK.Parser(fileLocation, true); break; case ".emd": new Xv2CoreLib.EMD.Parser(fileLocation, true); break; case ".amk": Xv2CoreLib.AMK.AMK_File.Read(fileLocation, true); break; case ".obl": Xv2CoreLib.OBL.OBL_File.Parse(fileLocation, true); break; case ".pal": Xv2CoreLib.PAL.PAL_File.Parse(fileLocation, true); break; case ".sev": Xv2CoreLib.SEV.SEV_File.Parse(fileLocation, true); break; case ".ttc": Xv2CoreLib.TTC.TTC_File.Parse(fileLocation, true); break; case ".ttb": Xv2CoreLib.TTB.TTB_File.Parse(fileLocation, true); break; case ".hci": Xv2CoreLib.HCI.HCI_File.Parse(fileLocation, true); break; case ".cml": Xv2CoreLib.CML.CML_File.Parse(fileLocation, true); break; case ".tnn": Xv2CoreLib.TNN.TNN_File.Parse(fileLocation, true); break; case ".xml": LoadXmlInitial(fileLocation); break; default: FileTypeNotSupported(fileLocation); break; } } } #if !DEBUG catch (YAXException ex) { Console.WriteLine(String.Format("An error occured during the XML serialization process.\nThe given reason is: {0}\n\nFull Exception:\n{1}", ex.Message, ex.ToString())); Console.ReadLine(); } catch (Exception ex) { Console.WriteLine(String.Format("An error occured.\nThe given reason is: {0}\n\nFull Exception:\n{1}", ex.Message, ex.ToString())); Console.ReadLine(); } #endif } } Console.WriteLine("\nDone"); }