예제 #1
0
		private async void wndScreenshots_Loaded(object sender, RoutedEventArgs e) {
			g = (Legacy.Game)Tag;
			Title = "Viewing screenshots for " + ((Legacy.Game)Tag).Title;
			imgBig.MouseDown += imgBig_MouseDown;
			Legacy.Toaster.Instance.ShowToast("Loading screenshots");
			List<string> imageLinks = await Legacy.GameManager.FetchScreenshots((Legacy.Game)Tag);
			if (imageLinks.Count == 0)
				Close();
			else {
				var enumerator = imageLinks.GetEnumerator();
				try {
					while (enumerator.MoveNext()) {
						var current = enumerator.Current;
						if (File.Exists(current)) {
							using (var stream = File.OpenRead(current)) {
								var item = new BitmapImage();
								item.BeginInit();
								item.StreamSource = stream;
								item.CacheOption = BitmapCacheOption.OnLoad;
								item.EndInit();
								_imageLinks.Add(item);
								continue;
							}
						}
						var bmi = await Legacy.Tools.ImageFromWeb(current, _cts.Token);
						_imageLinks.Add(bmi);
					}
				}
				finally {
					enumerator.Dispose();
				}
				Legacy.Toaster.Instance.HideToast();
			}
		}
예제 #2
0
 private void Setup()
 {
     g         = (Legacy.Game)base.Tag;
     pcsx2_ini = new Legacy.IniFile(Path.Combine(Legacy.UserSettings.ConfigDir, g.FileSafeTitle) + @"\PCSX2Bonus.ini");
     lbVersions.Items.Add(Path.GetFileNameWithoutExtension(pcsx2_ini.Read("Additional Executables", "Default")));
     original = pcsx2_ini.Read("Additional Executables", "Default");
 }
예제 #3
0
        private static void AddDummies()
        {
            const int num = 500;

            for (var i = num; i < (num + 100); i++)
            {
                var result = 0;
                var str    = Legacy.GameManager.GameDatabase[i];
                var source = str.Trim().Split('\n');
                var str2   = source.FirstOrDefault(s => s.Contains("Compat"));
                if (string.IsNullOrWhiteSpace(str2) == false)
                {
                    result = int.TryParse(str2.Replace("Compat = ", ""), out result) ? result : 0;
                }
                var g = new Legacy.Game {
                    Serial        = source[0],
                    Title         = source[1],
                    Region        = source[2],
                    Description   = "n/a*",
                    Location      = "",
                    ImagePath     = "",
                    Compatibility = result
                };
                if (Legacy.Game.AllGames.All(game => game.Serial != g.Serial))
                {
                    Legacy.GameManager.AddToLibrary(g);
                }
            }
        }
예제 #4
0
 private void Setup()
 {
     g        = (Legacy.Game)Tag;
     Title    = "Memory Card Management [" + g.Title + "]";
     _pcsx2Ui = new Legacy.IniFile(Path.Combine(Legacy.UserSettings.ConfigDir, Path.Combine(g.FileSafeTitle, "PCSX2_ui.ini")));
     LoadInitialCard();
 }
예제 #5
0
 private void Setup()
 {
     g          = (Legacy.Game)base.Tag;
     pcsx2_ini  = new Legacy.IniFile(Path.Combine(Legacy.UserSettings.ConfigDir, g.FileSafeTitle) + @"\PCSX2Bonus.ini");
     pcsx2_vm   = new Legacy.IniFile(Path.Combine(Legacy.UserSettings.ConfigDir, Path.Combine(g.FileSafeTitle, "PCSX2_vm.ini")));
     pcsx2_ui   = new Legacy.IniFile(Path.Combine(Legacy.UserSettings.ConfigDir, Path.Combine(g.FileSafeTitle, "PCSX2_ui.ini")));
     base.Title = "Viewing configuration for " + g.Title;
     UpdateSettings();
     LoadBios();
 }
예제 #6
0
		private void Setup() {
			g = (Legacy.Game)Tag;
			lbShaders.DisplayMemberPath = "Text";
			pcsx2_ini = new Legacy.IniFile(Path.Combine(Legacy.UserSettings.ConfigDir, g.FileSafeTitle) + @"\PCSX2Bonus.ini");
			foreach (var newItem in Directory.GetFiles(Legacy.UserSettings.ShadersDir).Select(str => new ListViewItem {
				Content = Extensions.FileNameNoExt(str),
				Tag = str
			})){
				lbShaders.Items.Add(newItem);
			}
		}
예제 #7
0
 private void Setup()
 {
     g = (Legacy.Game)Tag;
     lbShaders.DisplayMemberPath = "Text";
     pcsx2_ini = new Legacy.IniFile(Path.Combine(Legacy.UserSettings.ConfigDir, g.FileSafeTitle) + @"\PCSX2Bonus.ini");
     foreach (var newItem in Directory.GetFiles(Legacy.UserSettings.ShadersDir).Select(str => new ListViewItem {
         Content = Extensions.FileNameNoExt(str),
         Tag = str
     }))
     {
         lbShaders.Items.Add(newItem);
     }
 }
예제 #8
0
        private async void wndScreenshots_Loaded(object sender, RoutedEventArgs e)
        {
            g                 = (Legacy.Game)Tag;
            Title             = "Viewing screenshots for " + ((Legacy.Game)Tag).Title;
            imgBig.MouseDown += imgBig_MouseDown;
            Legacy.Toaster.Instance.ShowToast("Loading screenshots");
            List <string> imageLinks = await Legacy.GameManager.FetchScreenshots((Legacy.Game) Tag);

            if (imageLinks.Count == 0)
            {
                Close();
            }
            else
            {
                var enumerator = imageLinks.GetEnumerator();
                try {
                    while (enumerator.MoveNext())
                    {
                        var current = enumerator.Current;
                        if (File.Exists(current))
                        {
                            using (var stream = File.OpenRead(current)) {
                                var item = new BitmapImage();
                                item.BeginInit();
                                item.StreamSource = stream;
                                item.CacheOption  = BitmapCacheOption.OnLoad;
                                item.EndInit();
                                _imageLinks.Add(item);
                                continue;
                            }
                        }
                        var bmi = await Legacy.Tools.ImageFromWeb(current, _cts.Token);

                        _imageLinks.Add(bmi);
                    }
                }
                finally {
                    enumerator.Dispose();
                }
                Legacy.Toaster.Instance.HideToast();
            }
        }
예제 #9
0
		private static void AddDummies() {
			const int num = 500;
			for (var i = num; i < (num + 100); i++) {
				var result = 0;
				var str = Legacy.GameManager.GameDatabase[i];
				var source = str.Trim().Split('\n');
				var str2 = source.FirstOrDefault(s => s.Contains("Compat"));
				if (string.IsNullOrWhiteSpace(str2) == false)
					result = int.TryParse(str2.Replace("Compat = ", ""), out result) ? result : 0;
				var g = new Legacy.Game {
					Serial = source[0],
					Title  = source[1],
					Region = source[2],
					Description = "n/a*",
					Location = "",
					ImagePath = "",
					Compatibility = result
				};
				if (Legacy.Game.AllGames.All(game => game.Serial != g.Serial))
					Legacy.GameManager.AddToLibrary(g);
			}
		}
예제 #10
0
		private void Setup() {
			g = (Legacy.Game)Tag;
			Title = "Memory Card Management [" + g.Title + "]";
			_pcsx2Ui = new Legacy.IniFile(Path.Combine(Legacy.UserSettings.ConfigDir, Path.Combine(g.FileSafeTitle, "PCSX2_ui.ini")));
			LoadInitialCard();
		}
		private void wndGenerateExecutable_Loaded(object sender, RoutedEventArgs e) {
			g = (Legacy.Game)Tag;
			Title = string.Format("Generate Executable [{0}]", g.Title);
			Setup();
		}
예제 #12
0
 public void LaunchGame(Legacy.Game g, bool tvMode = false)
 {
     if (File.Exists(g.Location) == false)
     {
         Legacy.Tools.ShowMessage("Unable to find image file!", Legacy.MessageType.Error);
         if (tvMode == false)
         {
             return;
         }
         var window = System.Windows.Application.Current.Windows.Cast <Window>().FirstOrDefault(w => w.Title == "wndFullScreen");
         if (window != null)
         {
             window.ShowDialog();
         }
     }
     else
     {
         var pcsxProcess = new Process();
         var path        = Legacy.UserSettings.RootDir + string.Format(@"\Configs\{0}", g.FileSafeTitle);
         var str         = Directory.Exists(path) ? string.Format(" --cfgpath={0}{2}{0} {0}{1}{0}", "\"", g.Location, path) : string.Format(" {0}{1}{0}", "\"", g.Location);
         str = str.Replace(@"\\", @"\");
         var src  = string.Empty;
         var str4 = Settings.Default.pcsx2Dir;
         if (File.Exists(path + @"\PCSX2Bonus.ini"))
         {
             var file = new Legacy.IniFile(path + @"\PCSX2Bonus.ini");
             var str5 = file.Read("Additional Executables", "Default");
             var str6 = Extensions.IsEmpty(str5) ? Settings.Default.pcsx2Exe : str5;
             str4 = Extensions.IsEmpty(str5) ? Settings.Default.pcsx2Dir : Path.GetDirectoryName(str5);
             var str7  = file.Read("Boot", "NoGUI");
             var str8  = file.Read("Boot", "UseCD");
             var str9  = file.Read("Boot", "NoHacks");
             var str10 = file.Read("Boot", "FullBoot");
             src = file.Read("Shader", "Default");
             pcsxProcess.StartInfo.FileName = str6;
             if (str7 == "true")
             {
                 str = str.Insert(0, " --nogui");
             }
             if (str8 == "true")
             {
                 str = str.Insert(0, " --usecd");
             }
             if (str9 == "true")
             {
                 str = str.Insert(0, " --nohacks");
             }
             if (str10 == "true")
             {
                 str = str.Insert(0, " --fullboot");
             }
         }
         else
         {
             pcsxProcess.StartInfo.FileName = Settings.Default.pcsx2Exe;
         }
         pcsxProcess.EnableRaisingEvents = true;
         if (str4 != null)
         {
             pcsxProcess.StartInfo.WorkingDirectory = str4;
             pcsxProcess.StartInfo.Arguments        = str;
             if (Extensions.IsEmpty(src) == false)
             {
                 try {
                     File.Copy(src, Path.Combine(str4, "shader.fx"), true);
                 }
                 catch (Exception exception) {
                     Legacy.Tools.ShowMessage("Could not save shader file! Details: " + exception.Message, Legacy.MessageType.Error);
                 }
             }
         }
         var timeOpened = DateTime.Now;
         pcsxProcess.Exited += delegate {
             pcsxProcess.Dispose();
             System.Windows.Application.Current.Dispatcher.Invoke(delegate {
                 var now      = DateTime.Now;
                 g.TimePlayed = g.TimePlayed.Add(now.Subtract(timeOpened));
                 var element  = Legacy.UserSettings.xGames.Descendants("Game").FirstOrDefault(x => {
                     var xElement1 = x.Element("Name");
                     return(xElement1 != null && xElement1.Value == g.Title);
                 });
                 if ((element != null) && (element.Element("Time") != null))
                 {
                     var xElement = element.Element("Time");
                     if (xElement != null)
                     {
                         xElement.Value = g.TimePlayed.ToString();
                     }
                 }
                 if (tvMode)
                 {
                     var window = System.Windows.Application.Current.Windows.Cast <Window>().FirstOrDefault(w => w.Title == "wndFullScreen");
                     if (window != null)
                     {
                         window.ShowDialog();
                     }
                 }
                 _notifyIcon.Visible = false;
                 Show();
                 Activate();
             });
         };
         Hide();
         if (Settings.Default.enableGameToast)
         {
             new wndGameNotify {
                 Tag = g
             }
         }
 private void wndGenerateExecutable_Loaded(object sender, RoutedEventArgs e)
 {
     g     = (Legacy.Game)Tag;
     Title = string.Format("Generate Executable [{0}]", g.Title);
     Setup();
 }
예제 #14
0
		private void Setup() {
			g = (Legacy.Game)base.Tag;
			pcsx2_ini = new Legacy.IniFile(Path.Combine(Legacy.UserSettings.ConfigDir, g.FileSafeTitle) + @"\PCSX2Bonus.ini");
			pcsx2_vm = new Legacy.IniFile(Path.Combine(Legacy.UserSettings.ConfigDir, Path.Combine(g.FileSafeTitle, "PCSX2_vm.ini")));
			pcsx2_ui = new Legacy.IniFile(Path.Combine(Legacy.UserSettings.ConfigDir, Path.Combine(g.FileSafeTitle, "PCSX2_ui.ini")));
			base.Title = "Viewing configuration for " + g.Title;
			UpdateSettings();
			LoadBios();
		}
		private void Setup() {
			g = (Legacy.Game)base.Tag;
			pcsx2_ini = new Legacy.IniFile(Path.Combine(Legacy.UserSettings.ConfigDir, g.FileSafeTitle) + @"\PCSX2Bonus.ini");
			lbVersions.Items.Add(Path.GetFileNameWithoutExtension(pcsx2_ini.Read("Additional Executables", "Default")));
			original = pcsx2_ini.Read("Additional Executables", "Default");
		}