UWUVCI-AIO-WPF/UWUVCI AIO WPF/UI/Frames/InjectFrames/Configurations/OtherConfigs - Kopieren.xaml.cs

573 lines
17 KiB
C#
Raw Normal View History

2020-04-07 03:55:44 +00:00
using System;
using System.Collections.Generic;
using System.Diagnostics;
2020-04-07 03:55:44 +00:00
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
2020-04-07 03:55:44 +00:00
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;
2020-04-21 02:05:19 +00:00
using UWUVCI_AIO_WPF.UI.Windows;
2020-04-07 03:55:44 +00:00
namespace UWUVCI_AIO_WPF.UI.Frames.InjectFrames.Configurations
{
/// <summary>
/// Interaktionslogik für OtherConfigs.xaml
/// </summary>
public partial class TurboGrafX : Page, IDisposable
{
MainViewModel mvm;
bool cd = false;
public TurboGrafX()
{
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 void clearImages(int i)
{
switch (i)
{
case 0:
icoIMG.Visibility = Visibility.Hidden;
mvm.GameConfiguration.TGAIco = new Classes.PNGTGA();
ic.Text = null;
break;
case 1:
tvIMG.Visibility = Visibility.Hidden;
mvm.GameConfiguration.TGATv = new Classes.PNGTGA();
tv.Text = null;
break;
case 2:
drcIMG.Visibility = Visibility.Hidden;
mvm.GameConfiguration.TGADrc = new Classes.PNGTGA();
drc.Text = null;
break;
case 3:
logIMG.Visibility = Visibility.Hidden;
mvm.GameConfiguration.TGALog = new Classes.PNGTGA();
log.Text = null;
break;
}
}
2020-04-21 02:05:19 +00:00
public TurboGrafX(GameConfig c)
{
InitializeComponent();
mvm = FindResource("mvm") as MainViewModel;
mvm.setThing(this);
mvm.GameConfiguration = c.Clone(); getInfoFromConfig();
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-30 15:01:41 +00:00
}
private void SoundImg_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
mvm.PlaySound();
}
private void sound_TextChanged(object sender, TextChangedEventArgs e)
{
try
{
if (File.Exists(mvm.BootSound))
{
if (!new FileInfo(mvm.BootSound).Extension.Contains("btsnd"))
{
SoundImg.Visibility = Visibility.Visible;
}
else
{
SoundImg.Visibility = Visibility.Hidden;
}
}
}
catch (Exception)
{
}
2020-04-07 03:55:44 +00:00
}
public void Dispose()
{
}
private void Set_Rom_Path(object sender, RoutedEventArgs e)
{
string path = string.Empty;
if (!cd) path = mvm.GetFilePath(true, false);
else path = mvm.turbocd();
2020-04-25 06:40:38 +00:00
if (!CheckIfNull(path))
{
2020-04-07 03:55:44 +00:00
mvm.RomPath = path;
mvm.RomSet = true;
if (!cd)
{
mvm.getBootIMGTG(mvm.RomPath);
}
2020-04-07 03:55:44 +00:00
if (mvm.BaseDownloaded)
{
mvm.CanInject = true;
2020-04-07 03:55:44 +00:00
}
2020-04-25 06:40:38 +00:00
}
2020-04-07 03:55:44 +00:00
}
private void InjectGame(object sender, RoutedEventArgs e)
{
2020-04-19 17:36:03 +00:00
if (File.Exists(tv.Text))
{
mvm.GameConfiguration.TGATv.ImgPath = tv.Text;
}
2020-04-20 09:31:26 +00:00
else if (!tv.Text.Equals("Added via Config") && !tv.Text.Equals("Downloaded from Cucholix Repo"))
2020-04-19 17:36:03 +00:00
{
mvm.GameConfiguration.TGATv.ImgPath = null;
}
if (File.Exists(ic.Text))
{
mvm.GameConfiguration.TGAIco.ImgPath = ic.Text;
}
2020-04-20 09:31:26 +00:00
else if (!ic.Text.Equals("Added via Config") && !ic.Text.Equals("Downloaded from Cucholix Repo"))
2020-04-19 17:36:03 +00:00
{
mvm.GameConfiguration.TGAIco.ImgPath = null;
}
if (File.Exists(log.Text))
{
mvm.GameConfiguration.TGALog.ImgPath = log.Text;
}
2020-04-20 09:31:26 +00:00
else if (!log.Text.Equals("Added via Config") && !log.Text.Equals("Downloaded from Cucholix Repo"))
2020-04-19 17:36:03 +00:00
{
mvm.GameConfiguration.TGALog.ImgPath = null;
}
if (File.Exists(drc.Text))
{
mvm.GameConfiguration.TGADrc.ImgPath = drc.Text;
}
2020-04-20 09:31:26 +00:00
else if (!drc.Text.Equals("Added via Config") && !drc.Text.Equals("Downloaded from Cucholix Repo"))
2020-04-19 17:36:03 +00:00
{
mvm.GameConfiguration.TGADrc.ImgPath = null;
}
mvm.GameConfiguration.GameName = gn.Text;
2020-04-16 04:41:25 +00:00
mvm.Inject(false);
2020-04-07 03:55:44 +00:00
}
private void Set_TvTex(object sender, RoutedEventArgs e)
{
string path = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "bin", "createdIMG", "bootTvTex.png");
2020-07-23 23:12:12 +00:00
using (ImageCreator ic = new ImageCreator(cd, GameBaseClassLibrary.GameConsoles.TG16, "bootTvTex"))
{
2020-07-23 23:12:12 +00:00
try
{
ic.Owner = mvm.mw;
}
catch (Exception)
{
2020-07-23 23:12:12 +00:00
}
ic.ShowDialog();
}
2020-07-23 23:12:12 +00:00
if (File.Exists(path) && mvm.CheckTime(new FileInfo(path).CreationTime))
2020-04-07 03:55:44 +00:00
{
mvm.GameConfiguration.TGATv.ImgPath = path;
mvm.GameConfiguration.TGATv.extension = new FileInfo(path).Extension;
tv.Text = path;
2020-04-21 02:05:19 +00:00
tvIMG.Visibility = Visibility.Visible;
2020-04-07 03:55:44 +00:00
}
2020-04-07 03:55:44 +00:00
}
private void Set_DrcTex(object sender, RoutedEventArgs e)
2020-07-23 23:12:12 +00:00
{
string path = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "bin", "createdIMG", "bootDrcTex.png");
using (ImageCreator ic = new ImageCreator(cd, GameBaseClassLibrary.GameConsoles.TG16, "bootDrcTex"))
2020-05-06 21:53:52 +00:00
{
2020-07-23 23:12:12 +00:00
try
2020-05-06 21:53:52 +00:00
{
2020-07-23 23:12:12 +00:00
ic.Owner = mvm.mw;
2020-05-06 21:53:52 +00:00
}
2020-07-23 23:12:12 +00:00
catch (Exception)
{
}
ic.ShowDialog();
}
2020-07-23 23:12:12 +00:00
if (File.Exists(path) && mvm.CheckTime(new FileInfo(path).CreationTime))
{
mvm.GameConfiguration.TGADrc.ImgPath = path;
mvm.GameConfiguration.TGADrc.extension = new FileInfo(path).Extension;
drc.Text = path;
drcIMG.Visibility = Visibility.Visible;
}
2020-04-07 03:55:44 +00:00
}
2020-04-25 06:40:38 +00:00
2020-04-07 03:55:44 +00:00
private void Set_IconTex(object sender, RoutedEventArgs e)
{
string path = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "bin", "createdIMG", "iconTex.png");
2020-07-23 23:12:12 +00:00
using (IconCreator ic = new IconCreator())
{
2020-07-23 23:12:12 +00:00
try
{
ic.Owner = mvm.mw;
}
catch (Exception)
{
2020-07-23 23:12:12 +00:00
}
ic.ShowDialog();
}
2020-07-23 23:12:12 +00:00
if (File.Exists(path) && mvm.CheckTime(new FileInfo(path).CreationTime))
2020-04-25 06:40:38 +00:00
{
2020-04-07 03:55:44 +00:00
mvm.GameConfiguration.TGAIco.ImgPath = path;
mvm.GameConfiguration.TGAIco.extension = new FileInfo(path).Extension;
this.ic.Text = path;
2020-04-21 02:05:19 +00:00
icoIMG.Visibility = Visibility.Visible;
}
2020-04-07 03:55:44 +00:00
}
2020-07-23 23:12:12 +00:00
public void imgpath(string icon, string tv)
{
ic.Text = icon;
this.tv.Text = tv;
}
2020-07-23 23:12:12 +00:00
2020-04-07 03:55:44 +00:00
private void Set_LogoTex(object sender, RoutedEventArgs e)
{
2020-07-23 23:12:12 +00:00
string path = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "bin", "createdIMG", "bootLogoTex.png");
using (LogoCreator ic = new LogoCreator())
2020-05-06 21:53:52 +00:00
{
2020-07-23 23:12:12 +00:00
try
2020-05-06 21:53:52 +00:00
{
2020-07-23 23:12:12 +00:00
ic.Owner = (FindResource("mvm") as MainViewModel).mw;
2020-05-06 21:53:52 +00:00
}
2020-07-23 23:12:12 +00:00
catch (Exception)
{
2020-05-06 21:53:52 +00:00
2020-07-23 23:12:12 +00:00
}
ic.ShowDialog();
}
2020-07-23 23:12:12 +00:00
if (File.Exists(path) && mvm.CheckTime(new FileInfo(path).CreationTime))
{
mvm.GameConfiguration.TGALog.ImgPath = path;
mvm.GameConfiguration.TGALog.extension = new FileInfo(path).Extension;
this.log.Text = path;
logIMG.Visibility = Visibility.Visible;
}
2020-04-25 06:40:38 +00:00
2020-04-07 03:55:44 +00:00
}
public void getInfoFromConfig()
{
2020-04-21 02:05:19 +00:00
rp.Text = "";
mvm.RomPath = "";
mvm.RomSet = false;
mvm.gc2rom = "";
2020-04-07 03:55:44 +00:00
tv.Text = mvm.GameConfiguration.TGATv.ImgPath;
2020-04-21 02:05:19 +00:00
if (tv.Text.Length > 0)
{
tvIMG.Visibility = Visibility.Visible;
}
2020-04-07 03:55:44 +00:00
ic.Text = mvm.GameConfiguration.TGAIco.ImgPath;
2020-04-25 06:40:38 +00:00
if (ic.Text.Length > 0)
2020-04-21 02:05:19 +00:00
{
icoIMG.Visibility = Visibility.Visible;
}
2020-04-07 03:55:44 +00:00
drc.Text = mvm.GameConfiguration.TGADrc.ImgPath;
2020-04-21 02:05:19 +00:00
if (drc.Text.Length > 0)
{
drcIMG.Visibility = Visibility.Visible;
}
2020-04-07 03:55:44 +00:00
log.Text = mvm.GameConfiguration.TGALog.ImgPath;
2020-04-21 02:05:19 +00:00
if (log.Text.Length > 0)
{
logIMG.Visibility = Visibility.Visible;
}
2020-04-07 03:55:44 +00:00
gn.Text = mvm.GameConfiguration.GameName;
2020-06-14 22:35:45 +00:00
cd = mvm.cd;
if (cd)
{
mvm.mw.tbTitleBar.Text = "UWUVCI AIO - TurboGrafX-CD VC INJECT";
Injection.Content = "Set Path";
cdtg.IsChecked = true;
}
if (mvm.GameConfiguration.extension != "" && mvm.GameConfiguration.bootsound != null)
{
if (!Directory.Exists(@"bin\cfgBoot"))
{
Directory.CreateDirectory(@"bin\cfgBoot");
}
if (File.Exists($@"bin\cfgBoot\bootSound.{mvm.GameConfiguration.extension}"))
{
File.Delete($@"bin\cfgBoot\bootSound.{mvm.GameConfiguration.extension}");
}
File.WriteAllBytes($@"bin\cfgBoot\bootSound.{mvm.GameConfiguration.extension}", mvm.GameConfiguration.bootsound);
sound.Text = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "bin", "cfgBoot", $"bootSound.{mvm.GameConfiguration.extension}");
mvm.BootSound = sound.Text;
sound_TextChanged(null, null);
}
2020-04-07 03:55:44 +00:00
}
private bool CheckIfNull(string s)
{
2020-04-25 06:40:38 +00:00
if (s == null || s.Equals(string.Empty))
2020-04-07 03:55:44 +00:00
{
return true;
}
return false;
}
private void CheckBox_Click(object sender, RoutedEventArgs e)
{
mvm.RomPath = null;
mvm.RomSet = false;
mvm.CanInject = false;
if (cd)
{
cd = false;
2020-06-14 22:35:45 +00:00
mvm.mw.tbTitleBar.Text = "UWUVCI AIO - TurboGrafX-16 VC INJECT";
Injection.Content = "Select File";
}
2020-04-25 06:40:38 +00:00
else
{
cd = true;
mvm.mw.tbTitleBar.Text = "UWUVCI AIO - TurboGrafX-CD VC INJECT";
Injection.Content = "Set Path";
}
2020-06-14 22:35:45 +00:00
mvm.cd = cd;
2020-04-07 03:55:44 +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;
2020-04-22 00:24:35 +00:00
if (gn.Text != backup)
{
gn.ScrollToHorizontalOffset(double.MaxValue);
}*/
}
2020-04-20 09:31:26 +00:00
public void reset()
{
2020-04-25 06:40:38 +00:00
2020-04-20 09:31:26 +00:00
tv.Text = "";
drc.Text = "";
gn.Text = "";
ic.Text = "";
log.Text = "";
}
2020-04-21 02:05:19 +00:00
private void icoIMG_MouseDown(object sender, MouseButtonEventArgs e)
{
}
private void icoIMG_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
2020-04-30 15:01:41 +00:00
ICOSHOW ics = new ICOSHOW(ic.Text);
try
{
ics.Owner = mvm.mw;
}
catch (Exception)
{
}
ics.ShowDialog();
2020-04-21 02:05:19 +00:00
}
private void tvIMG_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
2020-05-22 12:17:50 +00:00
TDRSHOW t = new TDRSHOW(tv.Text, false);
2020-04-30 15:01:41 +00:00
try
{
t.Owner = mvm.mw;
}
catch (Exception)
{
}
t.ShowDialog();
2020-04-21 02:05:19 +00:00
}
private void drcIMG_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
2020-04-30 15:01:41 +00:00
TDRSHOW t = new TDRSHOW(drc.Text, true);
try
{
t.Owner = mvm.mw;
}
catch (Exception)
{
}
t.ShowDialog();
2020-04-21 02:05:19 +00:00
}
private void logIMG_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
2020-04-30 15:01:41 +00:00
LOGSHOW t = new LOGSHOW(log.Text);
try
{
t.Owner = mvm.mw;
}
catch (Exception)
{
}
t.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-05-06 21:53:52 +00:00
else
{
if (path == "")
{
mvm.BootSound = null;
sound.Text = "";
}
}
2020-04-25 06:40:38 +00:00
}
private void Image_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
2020-05-01 18:10:51 +00:00
{/*
try
{
2020-05-01 18:10:51 +00:00
TitleKeys webbrowser = new TitleKeys("n64", "UWUVCI AIO - N64 Help");
try
{
2020-05-01 18:10:51 +00:00
webbrowser.Owner = mvm.mw;
}
catch (Exception)
{
}
2020-05-01 18:10:51 +00:00
webbrowser.Show();
mvm.mw.Hide();
}
2020-05-01 18:10:51 +00:00
catch (Exception)
{
2020-05-01 18:10:51 +00:00
Custom_Message cm = new Custom_Message("Not Implemented", "The Helppage for N64 is not implemented yet");
try
2020-05-01 18:10:51 +00:00
{
cm.Owner = mvm.mw;
}
catch (Exception)
{
2020-04-30 15:01:41 +00:00
2020-05-01 18:10:51 +00:00
}
cm.Show();
}*/
}
2020-05-01 18:10:51 +00:00
private void Button_Click_1(object sender, RoutedEventArgs e)
{
try
{
TitleKeys webbrowser = null;
if (cd)
{
2020-05-04 16:20:21 +00:00
webbrowser = new TitleKeys("tgcd", "TurboGrafX Inject Guide");
2020-05-01 18:10:51 +00:00
}
else
{
2020-05-04 16:20:21 +00:00
webbrowser = new TitleKeys("tg16", "TurboGrafX Inject Guide");
2020-05-01 18:10:51 +00:00
}
try
{
webbrowser.Owner = mvm.mw;
}
catch (Exception)
{
}
webbrowser.Show();
mvm.mw.Hide();
}
catch (Exception)
{
2020-05-04 16:20:21 +00:00
Custom_Message cm = new Custom_Message("Not Implemented", $"The Helppage for TurboGrafX is not implemented yet");
2020-05-01 18:10:51 +00:00
try
{
cm.Owner = mvm.mw;
}
catch (Exception)
{
}
2020-05-01 18:10:51 +00:00
cm.Show();
}
}
2020-06-14 19:28:18 +00:00
private void gn_TextChanged(object sender, TextChangedEventArgs e)
{
2020-06-15 18:54:37 +00:00
try
{
mvm.GameConfiguration.GameName = gn.Text;
}
catch (Exception)
{
}
2020-06-14 19:28:18 +00:00
}
2020-04-07 03:55:44 +00:00
}
}