using GameBaseClassLibrary; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using UWUVCI_AIO_WPF.Properties; using UWUVCI_AIO_WPF.UI.Windows; namespace UWUVCI_AIO_WPF.UI.Frames.InjectFrames.Configurations { /// /// Interaktionslogik für OtherConfigs.xaml /// public partial class GCConfig : Page, IDisposable { MainViewModel mvm; bool cd = false; public GCConfig() { InitializeComponent(); mvm = FindResource("mvm") as MainViewModel; mvm.setThing(this); Injection.ToolTip = "Changing the extension of a ROM may result in a faulty inject.\nWe will not give any support in such cases"; mvm.test = GameConsoles.GCN; } public GCConfig(GameConfig c) { InitializeComponent(); mvm = FindResource("mvm") as MainViewModel; mvm.GameConfiguration = c.Clone(); getInfoFromConfig(); mvm.setThing(this); Injection.ToolTip = "Changing the extension of a ROM may result in a faulty inject.\nWe will not give any support in such cases"; mvm.test = GameConsoles.GCN; } public void Dispose() { } private void Set_Rom_Path(object sender, RoutedEventArgs e) { string path = string.Empty; path = mvm.GetFilePath(true, false); if (!CheckIfNull(path)) { mvm.RomPath = path; mvm.RomSet = true; if (mvm.BaseDownloaded) { mvm.CanInject = true; } string rom = mvm.getInternalName(mvm.RomPath, true); Regex reg = new Regex("[*'\",_&#^@:;?!<>|µ~#°²³´`éⓇ©™]"); gn.Text = reg.Replace(rom, string.Empty); mvm.GameConfiguration.GameName = reg.Replace(rom, string.Empty); mvm.gc2rom = ""; if(mvm.GameConfiguration.TGAIco.ImgPath != "" || mvm.GameConfiguration.TGAIco.ImgPath != null) { ic.Text = mvm.GameConfiguration.TGAIco.ImgPath; } if (mvm.GameConfiguration.TGATv.ImgPath != "" || mvm.GameConfiguration.TGATv.ImgPath != null) { tv.Text = mvm.GameConfiguration.TGATv.ImgPath; } } } private void InjectGame(object sender, RoutedEventArgs e) { if (File.Exists(tv.Text)) { mvm.GameConfiguration.TGATv.ImgPath = tv.Text; } else if (!tv.Text.Equals("Added via Config") && !tv.Text.Equals("Downloaded from Cucholix Repo")) { mvm.GameConfiguration.TGATv.ImgPath = null; } if (File.Exists(ic.Text)) { mvm.GameConfiguration.TGAIco.ImgPath = ic.Text; } else if (!ic.Text.Equals("Added via Config") && !ic.Text.Equals("Downloaded from Cucholix Repo")) { mvm.GameConfiguration.TGAIco.ImgPath = null; } if (File.Exists(log.Text)) { mvm.GameConfiguration.TGALog.ImgPath = log.Text; } else if (!log.Text.Equals("Added via Config") && !log.Text.Equals("Downloaded from Cucholix Repo")) { mvm.GameConfiguration.TGALog.ImgPath = null; } if (File.Exists(drc.Text)) { mvm.GameConfiguration.TGADrc.ImgPath = drc.Text; } else if (!drc.Text.Equals("Added via Config") && !drc.Text.Equals("Downloaded from Cucholix Repo")) { mvm.GameConfiguration.TGADrc.ImgPath = null; } mvm.GC = true; mvm.Inject(cd); mvm.Index = -1; gp.IsChecked = false; } private void Set_TvTex(object sender, RoutedEventArgs e) { if (!Settings.Default.dont) { mvm.ImageWarning(); } string path = mvm.GetFilePath(false, false); if (!CheckIfNull(path)) { mvm.GameConfiguration.TGATv.ImgPath = path; mvm.GameConfiguration.TGATv.extension = new FileInfo(path).Extension; tv.Text = path; tvIMG.Visibility = Visibility.Visible; } } private void Set_DrcTex(object sender, RoutedEventArgs e) { if (!Settings.Default.dont) { mvm.ImageWarning(); } string path = mvm.GetFilePath(false, false); if (!CheckIfNull(path)) { mvm.GameConfiguration.TGADrc.ImgPath = path; mvm.GameConfiguration.TGADrc.extension = new FileInfo(path).Extension; drc.Text = path; drcIMG.Visibility = Visibility.Visible; } } private void Set_IconTex(object sender, RoutedEventArgs e) { if (!Settings.Default.dont) { mvm.ImageWarning(); } string path = mvm.GetFilePath(false, false); if (!CheckIfNull(path)) { mvm.GameConfiguration.TGAIco.ImgPath = path; mvm.GameConfiguration.TGAIco.extension = new FileInfo(path).Extension; ic.Text = path; icoIMG.Visibility = Visibility.Visible; } } private void Set_LogoTex(object sender, RoutedEventArgs e) { if (!Settings.Default.dont) { mvm.ImageWarning(); } string path = mvm.GetFilePath(false, false); if (!CheckIfNull(path)) { mvm.GameConfiguration.TGALog.ImgPath = path; mvm.GameConfiguration.TGALog.extension = new FileInfo(path).Extension; log.Text = path; logIMG.Visibility = Visibility.Visible; } } public void getInfoFromConfig() { rp.Text = ""; mvm.RomPath = ""; mvm.RomSet = false; mvm.gc2rom = ""; gc2.Text = ""; tv.Text = mvm.GameConfiguration.TGATv.ImgPath; if (tv.Text.Length > 0) { tvIMG.Visibility = Visibility.Visible; } ic.Text = mvm.GameConfiguration.TGAIco.ImgPath; if (ic.Text.Length > 0) { icoIMG.Visibility = Visibility.Visible; } drc.Text = mvm.GameConfiguration.TGADrc.ImgPath; if (drc.Text.Length > 0) { drcIMG.Visibility = Visibility.Visible; } log.Text = mvm.GameConfiguration.TGALog.ImgPath; if (log.Text.Length > 0) { logIMG.Visibility = Visibility.Visible; } gn.Text = mvm.GameConfiguration.GameName; } private bool CheckIfNull(string s) { if(s == null || s.Equals(string.Empty)) { return true; } return false; } private void CheckBox_Click(object sender, RoutedEventArgs e) { cd = true; } private void gn_KeyUp(object sender, KeyEventArgs e) { Regex reg = new Regex("[*'\",_&#^@:;?!<>|µ~#°²³]"); gn.Text = reg.Replace(gn.Text, string.Empty); gn.CaretIndex = gn.Text.Length; gn.ScrollToHorizontalOffset(double.MaxValue); } private void CheckBox_Click_1(object sender, RoutedEventArgs e) { if(mvm.Index == 1) { mvm.Index = -1; } else { mvm.Index = 1; } } private void Button_Click(object sender, RoutedEventArgs e) { string path = string.Empty; path = mvm.GetFilePath(true, false); if (!CheckIfNull(path)) { mvm.gc2rom = path; } } public void reset() { gc2.Text = ""; tv.Text = ""; drc.Text = ""; gn.Text = ""; ic.Text = ""; log.Text = ""; } private void icoIMG_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { Task.Run(() => new ICOSHOW(ic.Text).ShowDialog()); } private void tvIMG_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { Task.Run(() => new TDRSHOW(tv.Text).ShowDialog()); } private void drcIMG_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { Task.Run(() => new TDRSHOW(drc.Text).ShowDialog()); } private void logIMG_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { Task.Run(() => new LOGSHOW(log.Text).ShowDialog()); } } }