2020-04-21 02:05:19 +00:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
2020-04-28 23:40:54 +00:00
|
|
|
|
using System.Diagnostics;
|
2020-04-21 02:05:19 +00:00
|
|
|
|
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
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Interaktionslogik für OtherConfigs.xaml
|
|
|
|
|
/// </summary>
|
|
|
|
|
public partial class GBA : Page, IDisposable
|
|
|
|
|
{
|
|
|
|
|
MainViewModel mvm;
|
|
|
|
|
bool cd = false;
|
|
|
|
|
public GBA()
|
|
|
|
|
{
|
|
|
|
|
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";
|
2020-04-25 06:40:38 +00:00
|
|
|
|
|
2020-04-21 02:05:19 +00:00
|
|
|
|
}
|
|
|
|
|
public GBA(GameConfig c)
|
2020-04-25 06:40:38 +00:00
|
|
|
|
{
|
2020-04-21 02:05:19 +00:00
|
|
|
|
|
|
|
|
|
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";
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
public void Dispose()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void Set_Rom_Path(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
string path = string.Empty;
|
2020-04-21 20:54:32 +00:00
|
|
|
|
path = mvm.GetFilePath(true, false);
|
2020-04-21 02:05:19 +00:00
|
|
|
|
|
2020-04-25 06:40:38 +00:00
|
|
|
|
|
|
|
|
|
if (!CheckIfNull(path))
|
|
|
|
|
{
|
2020-04-21 02:05:19 +00:00
|
|
|
|
mvm.RomPath = path;
|
|
|
|
|
mvm.RomSet = true;
|
|
|
|
|
if (mvm.BaseDownloaded)
|
|
|
|
|
{
|
|
|
|
|
mvm.CanInject = true;
|
2020-04-25 06:40:38 +00:00
|
|
|
|
|
2020-04-21 02:05:19 +00:00
|
|
|
|
}
|
2020-04-21 20:54:32 +00:00
|
|
|
|
mvm.getBootIMGGBA(mvm.RomPath);
|
2020-04-25 06:40:38 +00:00
|
|
|
|
}
|
|
|
|
|
|
2020-04-21 02:05:19 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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.Inject(false);
|
|
|
|
|
mvm.PokePatch = false;
|
|
|
|
|
rbRDF.IsChecked = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void Set_TvTex(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (!Settings.Default.dont)
|
|
|
|
|
{
|
|
|
|
|
mvm.ImageWarning();
|
|
|
|
|
}
|
2020-04-25 06:40:38 +00:00
|
|
|
|
|
2020-04-21 02:05:19 +00:00
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
2020-04-25 06:40:38 +00:00
|
|
|
|
|
2020-04-21 02:05:19 +00:00
|
|
|
|
private void Set_IconTex(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (!Settings.Default.dont)
|
|
|
|
|
{
|
|
|
|
|
mvm.ImageWarning();
|
|
|
|
|
}
|
|
|
|
|
string path = mvm.GetFilePath(false, false);
|
2020-04-25 06:40:38 +00:00
|
|
|
|
if (!CheckIfNull(path))
|
|
|
|
|
{
|
2020-04-21 02:05:19 +00:00
|
|
|
|
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);
|
2020-04-25 06:40:38 +00:00
|
|
|
|
if (!CheckIfNull(path))
|
|
|
|
|
{
|
2020-04-21 02:05:19 +00:00
|
|
|
|
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 = "";
|
|
|
|
|
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)
|
|
|
|
|
{
|
2020-04-25 06:40:38 +00:00
|
|
|
|
if (s == null || s.Equals(string.Empty))
|
2020-04-21 02:05:19 +00:00
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
2020-04-22 00:24:35 +00:00
|
|
|
|
|
2020-04-21 02:05:19 +00:00
|
|
|
|
|
|
|
|
|
private void gn_KeyUp(object sender, KeyEventArgs e)
|
|
|
|
|
{
|
2020-04-22 00:24:35 +00:00
|
|
|
|
|
|
|
|
|
/*Regex reg = new Regex("[^a-zA-Z0-9 é -]");
|
|
|
|
|
string backup = string.Copy(gn.Text);
|
|
|
|
|
gn.Text = reg.Replace(gn.Text, string.Empty);
|
|
|
|
|
gn.CaretIndex = gn.Text.Length;
|
|
|
|
|
if (gn.Text != backup)
|
|
|
|
|
{
|
|
|
|
|
gn.ScrollToHorizontalOffset(double.MaxValue);
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-21 02:05:19 +00:00
|
|
|
|
}
|
|
|
|
|
public void reset()
|
|
|
|
|
{
|
2020-04-25 06:40:38 +00:00
|
|
|
|
|
2020-04-21 02:05:19 +00:00
|
|
|
|
tv.Text = "";
|
|
|
|
|
drc.Text = "";
|
|
|
|
|
gn.Text = "";
|
|
|
|
|
ic.Text = "";
|
|
|
|
|
log.Text = "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void RadioButton_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
mvm.PokePatch = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void rbRDF_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
mvm.PokePatch = false;
|
|
|
|
|
}
|
|
|
|
|
private void icoIMG_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
|
|
|
|
{
|
2020-04-21 19:52:52 +00:00
|
|
|
|
new ICOSHOW(ic.Text).ShowDialog();
|
2020-04-21 02:05:19 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void tvIMG_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
|
|
|
|
{
|
2020-04-28 23:40:54 +00:00
|
|
|
|
new TDRSHOW(tv.Text,false).ShowDialog();
|
2020-04-21 02:05:19 +00:00
|
|
|
|
}
|
2020-04-21 20:54:32 +00:00
|
|
|
|
public void imgpath(string icon, string tv)
|
|
|
|
|
{
|
|
|
|
|
ic.Text = icon;
|
|
|
|
|
this.tv.Text = tv;
|
|
|
|
|
icoIMG.Visibility = Visibility.Visible;
|
|
|
|
|
this.tv.Visibility = Visibility.Visible;
|
|
|
|
|
}
|
2020-04-21 02:05:19 +00:00
|
|
|
|
private void drcIMG_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
|
|
|
|
{
|
2020-04-28 23:40:54 +00:00
|
|
|
|
new TDRSHOW(drc.Text,true).ShowDialog();
|
2020-04-21 02:05:19 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void logIMG_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
|
|
|
|
{
|
2020-04-25 06:40:38 +00:00
|
|
|
|
new LOGSHOW(log.Text).ShowDialog();
|
2020-04-21 02:05:19 +00:00
|
|
|
|
}
|
2020-04-25 06:40:38 +00:00
|
|
|
|
|
|
|
|
|
private void Button_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
string path = mvm.GetFilePath(true, true);
|
|
|
|
|
if (!CheckIfNull(path))
|
|
|
|
|
{
|
|
|
|
|
if (new FileInfo(path).Extension.Contains("wav"))
|
|
|
|
|
{
|
|
|
|
|
if (mvm.ConfirmRiffWave(path))
|
|
|
|
|
{
|
|
|
|
|
mvm.BootSound = path;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Custom_Message cm = new Custom_Message("Incompatible WAV file", "Your WAV file needs to be a RIFF WAVE file which is 16 bit stereo and also 48000khz");
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
cm.Owner = mvm.mw;
|
|
|
|
|
}
|
|
|
|
|
catch (Exception)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
cm.ShowDialog();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
mvm.BootSound = path;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-04-28 23:40:54 +00:00
|
|
|
|
|
|
|
|
|
private void Image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
string url = mvm.GetURL("gba");
|
|
|
|
|
if (url == null || url == "") throw new Exception();
|
2020-04-28 23:56:28 +00:00
|
|
|
|
TitleKeys webbrowser = new TitleKeys(url, "UWUVCI AIO - GBA Help");
|
2020-04-28 23:40:54 +00:00
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
webbrowser.Owner = mvm.mw;
|
|
|
|
|
}
|
|
|
|
|
catch (Exception)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
webbrowser.ShowDialog();
|
|
|
|
|
}
|
|
|
|
|
catch (Exception)
|
|
|
|
|
{
|
|
|
|
|
Custom_Message cm = new Custom_Message("Not Implemented", "The Helppage for GBA is not implemented yet");
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
cm.Owner = mvm.mw;
|
|
|
|
|
}
|
|
|
|
|
catch (Exception)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
cm.Show();
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-04-25 06:40:38 +00:00
|
|
|
|
}
|
2020-04-21 02:05:19 +00:00
|
|
|
|
}
|
2020-04-25 06:40:38 +00:00
|
|
|
|
|