Beispiel #1
0
        /// <summary>
        /// Recursive scan directories on the Xbox for files, and copy them to the PC.
        /// </summary>
        /// <param name="xboxPath">Root path to files on the Xbox</param>
        /// <param name="localPathRoot">Directory on PC to copy files to</param>
        private void LoadDiscDirectoryRecursive(string xboxPath, string localPathRoot)
        {
            if (xboxPath.Contains("$SystemUpdate"))
            {
                // Don't include contents of system update directory, if present
                return;
            }

            IXboxFiles files = this.xboxDevice.XboxConsole.DirectoryFiles(xboxPath);
            foreach (IXboxFile file in files)
            {
                string fileName = file.Name;
                if (file.IsDirectory)
                {
                    this.LoadDiscDirectoryRecursive(fileName, localPathRoot);
                }
                else
                {
                    if (fileName.EndsWith(".xex") || fileName.EndsWith(".exe") || fileName.EndsWith(".dll"))
                    {
                        // Preserve the path
                        string destinationFile = Path.Combine(localPathRoot, fileName.Substring(5));

                        string destinationDirectory = Path.GetDirectoryName(destinationFile);
                        DirectoryInfo dirInfo = new DirectoryInfo(destinationDirectory);
                        dirInfo.Create();

                        this.xboxDevice.XboxConsole.ReceiveFile(destinationFile, fileName);
                    }
                }
            }
        }
Beispiel #2
0
        static private string getBestExe()
        {
            try
            {
                string     consoleExe = @"";
                IXboxFiles f          = XenonInterface.mDefaultConsole.DirectoryFiles(mConsoleDir);

                string[] appNames = new string[] { @"xgameF.xex", @"xgameP.xex", @"xgameD.xex" };
                bool     found    = false;
                for (int i = 0; i < 3; i++)
                {
                    foreach (IXboxFile t in f)
                    {
                        if (Path.GetFileName(t.Name) == appNames[i])
                        {
                            consoleExe = appNames[i];
                            found      = true;
                            break;
                        }
                    }
                    if (found)
                    {
                        break;
                    }
                }

                return(consoleExe);
            }
            catch
            {
            }

            return("");
        }
            public string[] GetFiles(string directory)
            {
                IXboxFiles    files = this.Xbox_Console.DirectoryFiles(directory);
                List <string> list  = new List <string>();

                foreach (IXboxFile file in files)
                {
                    if (!file.IsDirectory)
                    {
                        list.Add(file.Name);
                    }
                }
                return(list.ToArray());
            }
Beispiel #4
0
        public static List <string> GetDirectories(string dir)
        {
            List <string> result = new List <string>();
            IXboxFiles    files  = jtag.DirectoryFiles(dir);

            foreach (IXboxFile file in files)
            {
                if (file.IsDirectory)
                {
                    result.Add(file.Name.Substring(dir.Length));
                }
            }
            return(result);
        }
            public string[] GetFiles(string directory)
            {
                IXboxFiles    xboxFiles = this.Xbox_Console.DirectoryFiles(directory);
                List <string> fileNames = new List <string>();

                foreach (IXboxFile xboxFile in xboxFiles)
                {
                    if (!xboxFile.IsDirectory)
                    {
                        fileNames.Add(xboxFile.Name);
                    }
                }
                return(fileNames.ToArray());
            }
Beispiel #6
0
        public static ListItem GetXboxProfileFile(IXboxConsole xboxConsole, Form owner)
        {
            List<ListItem> consoleProfiles = new();
            List<string> consoleProfilesPaths = new();

            IXboxFiles xboxFiles = xboxConsole.DirectoryFiles(@"Hdd:\Content\");

            foreach (IXboxFile file in xboxFiles)
            {
                if (file.IsDirectory)
                {
                    MessageBox.Show(file.Name);

                    if (!file.Name.Contains("0000000000000000"))
                    {
                        consoleProfilesPaths.Add(file.Name);
                    }
                }
            }

            foreach (string profile in consoleProfilesPaths)
            {
                string profilePath = @$"Hdd:\Content\{profile.Replace(@"Hdd:\Content\", "")}\FFFE07D1\00010000\";

                try
                {
                    foreach (IXboxFile file in xboxConsole.DirectoryFiles(profilePath))
                    {
                        if (!file.IsDirectory)
                        {
                            string profileName = profile.Replace(@"Hdd:\Content\", "").Replace(@"\FFFE07D1\00010000\", "");

                            consoleProfiles.Add(new()
                            {
                                Name = profileName,
                                Value = file.Name
                            });
                        }
                    }
                }
                catch
                {
                    // Profile file doesn't exist, so skip to next one
                    continue;
                }
            }