public void InitStorage() { games.Clear(); XmlDocument document = new XmlDocument(); document.Load("games.xml"); var nav = document.CreateNavigator(); var nodes = nav.Select("/Games/Game"); while (nodes.MoveNext() == true) { if (nodes.Current.MoveToFirstChild()) { var name = nodes.Current.Value; nodes.Current.MoveToNext(); var description = nodes.Current.Value; nodes.Current.MoveToNext(); var logoPath = nodes.Current.Value; nodes.Current.MoveToNext(); var directoryKey = nodes.Current.Value; nodes.Current.MoveToNext(); var materialKey = nodes.Current.Value; nodes.Current.MoveToNext(); var type = nodes.Current.Value; GamesEnumerator gameType = GamesEnumerator.None; Enum.TryParse(type, out gameType); Game newGame = new Game(name, description, logoPath, directoryKey, materialKey, gameType); games.Add(newGame); } } }
public Game(string name, string description, string logo, string directoryKey, string materialKey, GamesEnumerator type) { this.name = name; this.description = description; this.logo = logo; this.directoryKey = directoryKey; this.materialKey = materialKey; this.gameType = type; }
private bool IsGameType(GamesEnumerator TypeToCheck) { if (bHasSetGameType) { return(ChosenGameType.Equals(TypeToCheck)); } // TODO: Throw assert? return(false); }
public void SaveSDSWithCustomFolder(GamesEnumerator GameType, string Folder) { ArchiveFile archiveFile = new ArchiveFile(); archiveFile.Platform = Platform.PC; archiveFile.SetGameType(GameType); // MII: DE no longer has this data in the header. if (GameType == GamesEnumerator.MafiaII) { archiveFile.Unknown20 = new byte[16] { 55, 51, 57, 55, 57, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; } if (GameType == GamesEnumerator.MafiaI_DE || GameType == GamesEnumerator.MafiaIII) { archiveFile.Version = 20; } else { archiveFile.Version = 19; } // We should now to try pack the SDS. if (!archiveFile.BuildResources(Folder)) { MessageBox.Show("Failed to pack SDS.", "Toolkit", MessageBoxButtons.OK); return; } foreach (ResourceEntry entry in archiveFile.ResourceEntries) { if (entry.Data == null) { throw new FormatException(); } } using (var output = File.Create(file.FullName)) { archiveFile.Serialize(output, ArchiveSerializeOptions.Compress); } archiveFile = null; }
public void InitStorage() { games.Clear(); // TODO: Maybe we should ask to create a new one if this file does not exist? string ExePath = Assembly.GetExecutingAssembly().Location; FileInfo Exe = new FileInfo(ExePath); string GamesFile = Path.Combine(Exe.Directory.FullName, "games.xml"); if (!File.Exists(GamesFile)) { MessageBox.Show("Could not start due to missing file: games.xml. Please setup this file.", "Toolkit", MessageBoxButton.OK); return; } XmlDocument document = new XmlDocument(); document.Load("games.xml"); var nav = document.CreateNavigator(); var nodes = nav.Select("/Games/Game"); while (nodes.MoveNext() == true) { if (nodes.Current.MoveToFirstChild()) { var name = nodes.Current.Value; nodes.Current.MoveToNext(); var description = nodes.Current.Value; nodes.Current.MoveToNext(); var logoPath = nodes.Current.Value; nodes.Current.MoveToNext(); var directoryKey = nodes.Current.Value; nodes.Current.MoveToNext(); var materialKey = nodes.Current.Value; nodes.Current.MoveToNext(); var type = nodes.Current.Value; GamesEnumerator gameType = GamesEnumerator.None; Enum.TryParse(type, out gameType); Game newGame = new Game(name, description, logoPath, directoryKey, materialKey, gameType); games.Add(newGame); } } }
private static void ProcessCommandArguments(string[] Args) { Cursor.Current = Cursors.WaitCursor; if (Args[0].Equals("-gt")) { GamesEnumerator GameType = (GamesEnumerator)Enum.Parse(typeof(GamesEnumerator), Args[1]); if (Args[2].Equals("-SDSPack")) { string SDSPath = Args[3]; string ExportPath = Args[4]; FileInfo SDSFileInfo = new FileInfo(SDSPath); FileSDS SDSFile = new FileSDS(SDSFileInfo); SDSFile.SaveSDSWithCustomFolder(GameType, ExportPath); } } Cursor.Current = Cursors.Default; }
public static string GetExecutableName(GamesEnumerator type) { if (type == GamesEnumerator.MafiaII) { return("mafia2.exe"); } else if (type == GamesEnumerator.MafiaII_DE) { return("mafia ii definitive edition.exe"); } else if (type == GamesEnumerator.MafiaIII) { return("mafia3definitiveedition.exe"); } else if (type == GamesEnumerator.MafiaI_DE) { return("mafiadefinitiveedition.exe"); } else { return(""); } }
public CitiesTable() { cities = new CitiesTableItem[0]; gameVersion = GameStorage.Instance.GetSelectedGame().GameType; }
public CarInteriorColorsTable() { colors = new CarInteriorColorsItem[0]; gameVersion = gameVersion = GameStorage.Instance.GetSelectedGame().GameType; }
public VehicleTable() { vehicles = new VehicleTableItem[0]; gameVersion = GameStorage.Instance.GetSelectedGame().GameType; }
// Util function to set game type. // This is used for functionality where a selected game does not exist. public void SetGameType(GamesEnumerator SelectedGameType) { ChosenGameType = SelectedGameType; bHasSetGameType = true; }
public MissionsTable() { missions = new MissionItem[0]; gameVersion = GameStorage.Instance.GetSelectedGame().GameType; }
public SubtitleTable() : base() { gameVersion = GameStorage.Instance.GetSelectedGame().GameType; }