Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
        private bool IsGameType(GamesEnumerator TypeToCheck)
        {
            if (bHasSetGameType)
            {
                return(ChosenGameType.Equals(TypeToCheck));
            }

            // TODO: Throw assert?
            return(false);
        }
Exemplo n.º 4
0
        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;
        }
Exemplo n.º 5
0
        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);
                }
            }
        }
Exemplo n.º 6
0
        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;
        }
Exemplo n.º 7
0
 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("");
     }
 }
Exemplo n.º 8
0
 public CitiesTable()
 {
     cities      = new CitiesTableItem[0];
     gameVersion = GameStorage.Instance.GetSelectedGame().GameType;
 }
Exemplo n.º 9
0
 public CarInteriorColorsTable()
 {
     colors      = new CarInteriorColorsItem[0];
     gameVersion = gameVersion = GameStorage.Instance.GetSelectedGame().GameType;
 }
Exemplo n.º 10
0
 public VehicleTable()
 {
     vehicles    = new VehicleTableItem[0];
     gameVersion = GameStorage.Instance.GetSelectedGame().GameType;
 }
Exemplo n.º 11
0
 // 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;
 }
Exemplo n.º 12
0
 public MissionsTable()
 {
     missions    = new MissionItem[0];
     gameVersion = GameStorage.Instance.GetSelectedGame().GameType;
 }
Exemplo n.º 13
0
 public SubtitleTable() : base()
 {
     gameVersion = GameStorage.Instance.GetSelectedGame().GameType;
 }