mirror of
https://github.com/stuff-by-3-random-dudes/UWUVCI-AIO-WPF
synced 2024-11-10 05:34:13 +00:00
NDS and N64 Injection work, without Images yet tho.
TODO: GBA; NES; SNES Injection Image fix Custom base [NUS & LOADIINE] Config feature AutoUpdater
This commit is contained in:
parent
bf4f792c44
commit
e6793babfa
17 changed files with 265 additions and 60 deletions
|
@ -22,7 +22,7 @@ namespace UWUVCI_AIO_WPF
|
|||
public PNGTGA TGADrc { get; set; } = new PNGTGA();
|
||||
public PNGTGA TGATv { get; set; } = new PNGTGA();
|
||||
public PNGTGA TGALog { get; set; } = new PNGTGA();
|
||||
public N64Conf N64Stuff { get; set; } = null;
|
||||
public N64Conf N64Stuff { get; set; } = new N64Conf();
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
using GameBaseClassLibrary;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Xml;
|
||||
using UWUVCI_AIO_WPF.Classes;
|
||||
using UWUVCI_AIO_WPF.Properties;
|
||||
|
@ -33,7 +35,7 @@ namespace UWUVCI_AIO_WPF
|
|||
* iniPath = Only used for N64. Path to the INI configuration. If "blank", a blank ini will be used.
|
||||
* darkRemoval = Only used for N64. Indicates whether the dark filter should be removed.
|
||||
*/
|
||||
public static void Inject(GameConsoles console, string baseRom, string customBasePath, string injectRomPath, string[] bootImages, string gameName, string iniPath = null, bool darkRemoval = false)
|
||||
/*public static void Inject(GameConsoles console, string baseRom, string customBasePath, string injectRomPath, string[] bootImages, string gameName, string iniPath = null, bool darkRemoval = false)
|
||||
{
|
||||
CopyBase(baseRom, customBasePath);
|
||||
switch (console)
|
||||
|
@ -61,6 +63,49 @@ namespace UWUVCI_AIO_WPF
|
|||
EditXML(gameName);
|
||||
Images(bootImages);
|
||||
//MessageBox.Show(Resources.InjectionFinishedText, Resources.InjectionFinishedCaption, MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}*/
|
||||
|
||||
public static void Inject(GameConfig Configuration, string RomPath)
|
||||
{
|
||||
if(Configuration.BaseRom.Name != "Custom")
|
||||
{
|
||||
//Normal Base functionality here
|
||||
CopyBase($"{Configuration.BaseRom.Name.Replace(":", "")} [{Configuration.BaseRom.Region.ToString()}]", null);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Custom Base Functionality here
|
||||
CopyBase($"Custom", Configuration.CBasePath);
|
||||
}
|
||||
RunSpecificInjection(Configuration, RomPath);
|
||||
EditXML(Configuration.GameName);
|
||||
//Images(Configuration);
|
||||
MessageBox.Show("Injection Finished, please choose how you want to export the Inject next", "Finished Injection Part", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
}
|
||||
|
||||
private static void RunSpecificInjection(GameConfig console, string RomPath)
|
||||
{
|
||||
switch (console.Console)
|
||||
{
|
||||
case GameConsoles.NDS:
|
||||
NDS(RomPath);
|
||||
break;
|
||||
|
||||
case GameConsoles.N64:
|
||||
N64(RomPath, console.N64Stuff);
|
||||
break;
|
||||
|
||||
/*case GameConsoles.GBA:
|
||||
GBA(RomPath);
|
||||
break;
|
||||
|
||||
case GameConsoles.NES:
|
||||
NESSNES(RomPath);
|
||||
break;
|
||||
case GameConsoles.SNES:
|
||||
NESSNES(RemoveHeader(RomPath));
|
||||
break;*/
|
||||
}
|
||||
}
|
||||
|
||||
public static void Clean()
|
||||
|
@ -73,29 +118,31 @@ namespace UWUVCI_AIO_WPF
|
|||
|
||||
public static void Loadiine(string gameName)
|
||||
{
|
||||
if (gameName == null || gameName == string.Empty) gameName = "NoName";
|
||||
//string outputPath = Path.Combine(Properties.Settings.Default.InjectionPath, gameName);
|
||||
string outputPath = string.Empty;
|
||||
string outputPath = Path.Combine(Properties.Settings.Default.OutPath, $"[LOADIINE]{gameName}");
|
||||
int i = 0;
|
||||
while (Directory.Exists(outputPath))
|
||||
{
|
||||
//outputPath = Path.Combine(Properties.Settings.Default.InjectionPath, $"{gameName}_{i}");
|
||||
outputPath = Path.Combine(Properties.Settings.Default.OutPath, $"[LOADIINE]{gameName}_{i}");
|
||||
i++;
|
||||
}
|
||||
|
||||
//Directory.Move(baseRomPath,outputPath);
|
||||
// MessageBox.Show(string.Format(Resources.InjectCreatedText, outputPath), Resources.InjectCreatedCaption, MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
DirectoryCopy(baseRomPath,outputPath, true);
|
||||
MessageBox.Show($"Injection Complete! The Inject is stored here:\n{outputPath}", "Inject Complete", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
|
||||
Clean();
|
||||
}
|
||||
|
||||
public static void Packing(string gameName)
|
||||
{
|
||||
if (gameName == null || gameName == string.Empty) gameName = "NoName";
|
||||
//string outputPath = Path.Combine(Properties.Settings.Default.InjectionPath, gameName);
|
||||
string outputPath = string.Empty;
|
||||
string outputPath = Path.Combine(Properties.Settings.Default.OutPath, $"[WUP]{gameName}");
|
||||
int i = 0;
|
||||
while (Directory.Exists(outputPath))
|
||||
{
|
||||
//outputPath = Path.Combine(Properties.Settings.Default.InjectionPath, $"{gameName}_{i}");
|
||||
outputPath = Path.Combine(Properties.Settings.Default.OutPath, $"[WUP]{gameName}_{i}");
|
||||
i++;
|
||||
}
|
||||
|
||||
|
@ -104,13 +151,13 @@ namespace UWUVCI_AIO_WPF
|
|||
cnuspacker.StartInfo.UseShellExecute = false;
|
||||
cnuspacker.StartInfo.CreateNoWindow = true;
|
||||
cnuspacker.StartInfo.FileName = Path.Combine(toolsPath, "CNUSPACKER.exe");
|
||||
//cnuspacker.StartInfo.Arguments = $"-in \"{baseRomPath}\" -out \"{outputPath}\" -encryptKeyWith {Properties.Settings.Default.CommonKey}";
|
||||
cnuspacker.StartInfo.Arguments = $"-in \"{baseRomPath}\" -out \"{outputPath}\" -encryptKeyWith {Properties.Settings.Default.Ckey}";
|
||||
|
||||
cnuspacker.Start();
|
||||
cnuspacker.WaitForExit();
|
||||
}
|
||||
|
||||
//MessageBox.Show(string.Format(Resources.InjectCreatedText, outputPath), Resources.InjectCreatedCaption, MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
MessageBox.Show($"Injection Complete! The Inject is stored here:\n{outputPath}", "Inject Complete", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
|
||||
Clean();
|
||||
}
|
||||
|
@ -148,6 +195,7 @@ namespace UWUVCI_AIO_WPF
|
|||
// This function changes TitleID, ProductCode and GameName in app.xml (ID) and meta.xml (ID, ProductCode, Name)
|
||||
private static void EditXML(string gameName)
|
||||
{
|
||||
|
||||
string metaXml = Path.Combine(baseRomPath, "meta", "meta.xml");
|
||||
string appXml = Path.Combine(baseRomPath, "code", "app.xml");
|
||||
Random random = new Random();
|
||||
|
@ -157,35 +205,42 @@ namespace UWUVCI_AIO_WPF
|
|||
try
|
||||
{
|
||||
doc.Load(metaXml);
|
||||
doc.SelectSingleNode("menu/longname_ja").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_en").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_fr").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_de").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_it").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_es").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_zhs").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_ko").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_nl").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_pt").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_ru").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_zht").InnerText = gameName;
|
||||
if(gameName != null && gameName != string.Empty)
|
||||
{
|
||||
doc.SelectSingleNode("menu/longname_ja").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_en").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_fr").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_de").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_it").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_es").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_zhs").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_ko").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_nl").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_pt").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_ru").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/longname_zht").InnerText = gameName;
|
||||
}
|
||||
|
||||
|
||||
doc.SelectSingleNode("menu/product_code").InnerText = $"WUP-N-{ID}";
|
||||
doc.SelectSingleNode("menu/title_id").InnerText = $"0005000010{ID}00";
|
||||
doc.SelectSingleNode("menu/group_id").InnerText = $"0000{ID}";
|
||||
|
||||
doc.SelectSingleNode("menu/shortname_ja").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_fr").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_de").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_en").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_it").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_es").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_zhs").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_ko").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_nl").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_pt").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_ru").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_zht").InnerText = gameName;
|
||||
if(gameName != null && gameName != string.Empty)
|
||||
{
|
||||
doc.SelectSingleNode("menu/shortname_ja").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_fr").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_de").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_en").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_it").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_es").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_zhs").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_ko").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_nl").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_pt").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_ru").InnerText = gameName;
|
||||
doc.SelectSingleNode("menu/shortname_zht").InnerText = gameName;
|
||||
}
|
||||
|
||||
doc.Save(metaXml);
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
|
@ -219,7 +274,7 @@ namespace UWUVCI_AIO_WPF
|
|||
}
|
||||
else
|
||||
{
|
||||
///DirectoryCopy(Path.Combine(Properties.Settings.Default.BaseRomPath, baserom), baseRomPath, true);
|
||||
DirectoryCopy(Path.Combine(Properties.Settings.Default.BasePath, baserom), baseRomPath, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -259,16 +314,44 @@ namespace UWUVCI_AIO_WPF
|
|||
|
||||
private static void NDS(string injectRomPath)
|
||||
{
|
||||
using (ZipArchive archive = ZipFile.Open(Path.Combine(baseRomPath, "content", "0010", "rom.zip"), ZipArchiveMode.Update))
|
||||
{
|
||||
string romname = archive.Entries[0].FullName;
|
||||
archive.Entries[0].Delete();
|
||||
archive.CreateEntryFromFile(injectRomPath, romname);
|
||||
}
|
||||
|
||||
string RomName = string.Empty;
|
||||
using (Process getRomName = new Process())
|
||||
{
|
||||
getRomName.StartInfo.UseShellExecute = false;
|
||||
getRomName.StartInfo.CreateNoWindow = false;
|
||||
getRomName.StartInfo.RedirectStandardOutput = true;
|
||||
getRomName.StartInfo.FileName = "cmd.exe";
|
||||
Console.WriteLine(Directory.GetCurrentDirectory());
|
||||
//getRomName.StartInfo.Arguments = $"/c \"Tools\\7za.exe\" l \"temp\\baserom\\content\\0010\\rom.zip\" | findstr \"WUP\"";
|
||||
getRomName.StartInfo.Arguments = "/c Tools\\7za.exe l temp\\baserom\\content\\0010\\rom.zip | findstr WUP";
|
||||
getRomName.Start();
|
||||
getRomName.WaitForExit();
|
||||
var s = getRomName.StandardOutput.ReadToEnd();
|
||||
var split = s.Split(' ');
|
||||
RomName = split[split.Length - 1].Replace("\r\n", "");
|
||||
}
|
||||
using (Process RomEdit = new Process())
|
||||
{
|
||||
RomEdit.StartInfo.UseShellExecute = false;
|
||||
RomEdit.StartInfo.CreateNoWindow = true;
|
||||
RomEdit.StartInfo.RedirectStandardOutput = true;
|
||||
RomEdit.StartInfo.FileName = Path.Combine(toolsPath, "7za.exe");
|
||||
//d Path.Combine(baseRomPath, "content", "0010", "rom.zip")
|
||||
RomEdit.StartInfo.Arguments = $"d temp\\baserom\\content\\0010\\rom.zip";
|
||||
RomEdit.Start();
|
||||
RomEdit.WaitForExit();
|
||||
File.Copy(injectRomPath, $"{RomName}");
|
||||
RomEdit.StartInfo.Arguments = $"u temp\\baserom\\content\\0010\\rom.zip {RomName}";
|
||||
RomEdit.Start();
|
||||
RomEdit.WaitForExit();
|
||||
}
|
||||
File.Delete(RomName);
|
||||
|
||||
}
|
||||
|
||||
private static void N64(string injectRomPath, string iniPath, bool darkRemoval)
|
||||
|
||||
private static void N64(string injectRomPath, N64Conf config)
|
||||
{
|
||||
string mainRomPath = Directory.GetFiles(Path.Combine(baseRomPath, "content", "rom"))[0];
|
||||
string mainIni = Path.Combine(baseRomPath, "content", "config", $"{Path.GetFileName(mainRomPath)}.ini");
|
||||
|
@ -283,13 +366,18 @@ namespace UWUVCI_AIO_WPF
|
|||
n64convert.WaitForExit();
|
||||
}
|
||||
|
||||
if (iniPath != null)
|
||||
if (config.INIPath == null)
|
||||
{
|
||||
File.Delete(mainIni);
|
||||
File.Copy((iniPath == "blank") ? Path.Combine(toolsPath, "blank.ini") : iniPath, mainIni);
|
||||
File.Copy(Path.Combine(toolsPath, "blank.ini"), mainIni);
|
||||
}
|
||||
else
|
||||
{
|
||||
File.Delete(mainIni);
|
||||
File.Copy(config.INIPath, mainIni);
|
||||
}
|
||||
|
||||
if (darkRemoval)
|
||||
if (config.DarkFilter)
|
||||
{
|
||||
string filePath = Path.Combine(baseRomPath, "content", "FrameLayout.arc");
|
||||
using (BinaryWriter writer = new BinaryWriter(new FileStream(filePath, FileMode.Open)))
|
||||
|
|
|
@ -8,7 +8,7 @@ namespace UWUVCI_AIO_WPF.Classes
|
|||
{
|
||||
class N64Conf : BaseModel
|
||||
{
|
||||
private string iniPath;
|
||||
private string iniPath = null;
|
||||
|
||||
public string INIPath
|
||||
{
|
||||
|
|
|
@ -20,7 +20,8 @@ namespace UWUVCI_AIO_WPF.Classes
|
|||
"RetroInject.exe",
|
||||
"tga_verify.exe",
|
||||
"WiiUDownloader.exe",
|
||||
"wiiurpxtool.exe"
|
||||
"wiiurpxtool.exe",
|
||||
"INICreator.exe"
|
||||
//"7za.exe" will re-add later
|
||||
};
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ using System.Threading.Tasks;
|
|||
using System.Windows.Forms;
|
||||
using UWUVCI_AIO_WPF.Classes;
|
||||
using UWUVCI_AIO_WPF.Properties;
|
||||
using UWUVCI_AIO_WPF.UI;
|
||||
using UWUVCI_AIO_WPF.UI.Windows;
|
||||
|
||||
namespace UWUVCI_AIO_WPF
|
||||
|
@ -100,6 +101,16 @@ namespace UWUVCI_AIO_WPF
|
|||
}
|
||||
}
|
||||
|
||||
private bool injected = false;
|
||||
|
||||
public bool Injected
|
||||
{
|
||||
get { return injected; }
|
||||
set { injected = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public int OldIndex { get; set; }
|
||||
|
||||
public bool RomSet { get; set; }
|
||||
|
@ -178,6 +189,7 @@ namespace UWUVCI_AIO_WPF
|
|||
}
|
||||
}
|
||||
|
||||
private MainWindow mw;
|
||||
|
||||
public MainViewModel()
|
||||
{
|
||||
|
@ -193,6 +205,34 @@ namespace UWUVCI_AIO_WPF
|
|||
|
||||
GetAllBases();
|
||||
}
|
||||
public void setMW(MainWindow mwi)
|
||||
{
|
||||
mw = mwi;
|
||||
}
|
||||
public void Pack(bool loadiine)
|
||||
{
|
||||
if (loadiine)
|
||||
{
|
||||
Injection.Loadiine(GameConfiguration.GameName);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
Injection.Packing(GameConfiguration.GameName);
|
||||
}
|
||||
mw.load_frame.Content = new Done();
|
||||
GameConfiguration = new GameConfig();
|
||||
LGameBasesString.Clear();
|
||||
CanInject = false;
|
||||
BaseDownloaded = false;
|
||||
RomSet = false;
|
||||
RomPath = null;
|
||||
Injected = false;
|
||||
}
|
||||
public void Inject()
|
||||
{
|
||||
Injection.Inject(GameConfiguration, RomPath);
|
||||
}
|
||||
private void BaseCheck()
|
||||
{
|
||||
if (Directory.Exists(@"bases"))
|
||||
|
@ -664,7 +704,7 @@ namespace UWUVCI_AIO_WPF
|
|||
bool cont = false;
|
||||
foreach(GameBases b in lNDS)
|
||||
{
|
||||
if(b == gb)
|
||||
if(b.Name == gb.Name && b.Region == gb.Region)
|
||||
{
|
||||
ret = GameConsoles.NDS;
|
||||
cont = true;
|
||||
|
@ -674,7 +714,7 @@ namespace UWUVCI_AIO_WPF
|
|||
{
|
||||
foreach (GameBases b in lN64)
|
||||
{
|
||||
if (b == gb)
|
||||
if (b.Name == gb.Name && b.Region == gb.Region)
|
||||
{
|
||||
ret = GameConsoles.N64;
|
||||
cont = true;
|
||||
|
@ -685,7 +725,7 @@ namespace UWUVCI_AIO_WPF
|
|||
{
|
||||
foreach (GameBases b in lNES)
|
||||
{
|
||||
if (b == gb)
|
||||
if (b.Name == gb.Name && b.Region == gb.Region)
|
||||
{
|
||||
ret = GameConsoles.NES;
|
||||
cont = true;
|
||||
|
@ -695,8 +735,7 @@ namespace UWUVCI_AIO_WPF
|
|||
if (!cont)
|
||||
{
|
||||
foreach (GameBases b in lSNES)
|
||||
{
|
||||
if (b == gb)
|
||||
{ if(b.Name == gb.Name && b.Region == gb.Region)
|
||||
{
|
||||
ret = GameConsoles.SNES;
|
||||
cont = true;
|
||||
|
@ -707,7 +746,7 @@ namespace UWUVCI_AIO_WPF
|
|||
{
|
||||
foreach (GameBases b in lGBA)
|
||||
{
|
||||
if (b == gb)
|
||||
if (b.Name == gb.Name && b.Region == gb.Region)
|
||||
{
|
||||
ret = GameConsoles.GBA;
|
||||
cont = true;
|
||||
|
|
16
UWUVCI AIO WPF/UI/Done.xaml
Normal file
16
UWUVCI AIO WPF/UI/Done.xaml
Normal file
|
@ -0,0 +1,16 @@
|
|||
<Page x:Class="UWUVCI_AIO_WPF.UI.Done"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:UWUVCI_AIO_WPF.UI.Frames"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="480" d:DesignWidth="1130"
|
||||
Title="SettingsFrame">
|
||||
|
||||
<Grid>
|
||||
<Label Content="Have fun with your Injected Game" FontSize="20" Height="480" HorizontalAlignment="Center" VerticalAlignment="Center" VerticalContentAlignment="Center" Width="1130" HorizontalContentAlignment="Center" />
|
||||
|
||||
|
||||
</Grid>
|
||||
</Page>
|
28
UWUVCI AIO WPF/UI/Done.xaml.cs
Normal file
28
UWUVCI AIO WPF/UI/Done.xaml.cs
Normal file
|
@ -0,0 +1,28 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
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;
|
||||
|
||||
namespace UWUVCI_AIO_WPF.UI
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaktionslogik für Done.xaml
|
||||
/// </summary>
|
||||
public partial class Done : Page
|
||||
{
|
||||
public Done()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -14,8 +14,8 @@
|
|||
<Grid>
|
||||
<Frame Name="fBaseFrame" Width="403" Height="297" Margin="19,52,708,131"></Frame>
|
||||
</Grid>
|
||||
<Button Content="WUP Installable" HorizontalAlignment="Left" Margin="49,421,0,0" VerticalAlignment="Top" Width="137" IsEnabled="False"/>
|
||||
<Button Content="Loadiine" HorizontalAlignment="Left" Margin="268,421,0,0" VerticalAlignment="Top" Width="99" IsEnabled="False"/>
|
||||
<Button Content="WUP Installable" HorizontalAlignment="Left" Margin="49,421,0,0" VerticalAlignment="Top" Width="137" IsEnabled="{Binding Injected}" Click="Button_Click_3"/>
|
||||
<Button Content="Loadiine" HorizontalAlignment="Left" Margin="268,421,0,0" VerticalAlignment="Top" Width="99" IsEnabled="{Binding Injected}" Click="Button_Click_2"/>
|
||||
|
||||
|
||||
<Frame Name="fLoadConfig" Width="643" Height="408" Margin="458,45,28,14"/>
|
||||
|
|
|
@ -20,8 +20,10 @@ namespace UWUVCI_AIO_WPF.UI.Frames
|
|||
/// </summary>
|
||||
public partial class INJECTFRAME : Page, IDisposable
|
||||
{
|
||||
MainViewModel mvm;
|
||||
public INJECTFRAME(GameConsoles console)
|
||||
{
|
||||
mvm = FindResource("mvm") as MainViewModel;
|
||||
InitializeComponent();
|
||||
if(console == GameConsoles.N64)
|
||||
{
|
||||
|
@ -48,5 +50,15 @@ namespace UWUVCI_AIO_WPF.UI.Frames
|
|||
{
|
||||
//Export config
|
||||
}
|
||||
|
||||
private void Button_Click_2(object sender, RoutedEventArgs e)
|
||||
{
|
||||
mvm.Pack(true);
|
||||
}
|
||||
|
||||
private void Button_Click_3(object sender, RoutedEventArgs e)
|
||||
{
|
||||
mvm.Pack(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -53,6 +53,7 @@ namespace UWUVCI_AIO_WPF.UI.Frames.InjectFrames.Bases
|
|||
private void checkStuff(List<bool> info)
|
||||
{
|
||||
mvm.CanInject = false;
|
||||
mvm.Injected = false;
|
||||
if (info[0])
|
||||
{
|
||||
tbDWNL.Text = "Base Downloaded";
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<Button Content="Set Path" HorizontalAlignment="Left" Margin="506,21,0,0" VerticalAlignment="Top" Width="127" Click="Set_Rom_Path"/>
|
||||
<RadioButton x:Name="rbRDF" Content="Remove DarkFilter" HorizontalAlignment="Left" Margin="11,369,0,0" VerticalAlignment="Top" GroupName="df" IsChecked="{Binding GameConfiguration.N64Stuff.DarkFilter}"/>
|
||||
<RadioButton Content="Keep DarkFilter" HorizontalAlignment="Left" Margin="151,369,0,0" VerticalAlignment="Top" GroupName="df" IsChecked="True"/>
|
||||
<TextBox materialDesign:HintAssist.Hint="INI PATH" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="10,58,157,305" Background="{x:Null}" Foreground="Black" SelectionBrush="#FF00C3D7" CaretBrush="#FF21C3F3" FontSize="18" IsReadOnly="True" Focusable="False" Text="{Binding GameConfiguration.N64Stuff.INIPath}"/>
|
||||
<TextBox materialDesign:HintAssist.Hint="INI PATH (LEAVE EMPTY FOR BLANK INI)" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="10,58,157,305" Background="{x:Null}" Foreground="Black" SelectionBrush="#FF00C3D7" CaretBrush="#FF21C3F3" FontSize="18" IsReadOnly="True" Focusable="False" Text="{Binding GameConfiguration.N64Stuff.INIPath}"/>
|
||||
<Button Content="Set Path" HorizontalAlignment="Left" Margin="506,72,0,0" VerticalAlignment="Top" Width="127" Click="Set_IniPath"/>
|
||||
</Grid>
|
||||
</Page>
|
||||
|
|
|
@ -47,7 +47,8 @@ namespace UWUVCI_AIO_WPF.UI.Frames.InjectFrames.Configurations
|
|||
|
||||
private void InjectGame(object sender, RoutedEventArgs e)
|
||||
{
|
||||
|
||||
mvm.Inject();
|
||||
mvm.Injected = true;
|
||||
}
|
||||
|
||||
private void Set_TvTex(object sender, RoutedEventArgs e)
|
||||
|
|
|
@ -49,7 +49,8 @@ namespace UWUVCI_AIO_WPF.UI.Frames.InjectFrames.Configurations
|
|||
|
||||
private void InjectGame(object sender, RoutedEventArgs e)
|
||||
{
|
||||
|
||||
mvm.Inject();
|
||||
mvm.Injected = true;
|
||||
}
|
||||
|
||||
private void Set_TvTex(object sender, RoutedEventArgs e)
|
||||
|
|
|
@ -18,7 +18,8 @@
|
|||
<Button Content="Open CK Menu" HorizontalAlignment="Left" Margin="605,166,0,0" VerticalAlignment="Top" Width="145" RenderTransformOrigin="-0.099,0.116" Click="Button_Click_1"/>
|
||||
<Button Content="Open Path Menu" HorizontalAlignment="Left" Margin="605,119,0,0" VerticalAlignment="Top" Width="145" RenderTransformOrigin="-0.099,0.116" Click="Button_Click_2"/>
|
||||
<Button Content="Open TK Menu" HorizontalAlignment="Left" Margin="605,215,0,0" VerticalAlignment="Top" Width="145" RenderTransformOrigin="-0.099,0.116" Click="Button_Click"/>
|
||||
<Button Content="Update Base Files" HorizontalAlignment="Left" Margin="605,312,0,0" VerticalAlignment="Top" Width="145" RenderTransformOrigin="-0.099,0.116" Click="Button_Click_3"/>
|
||||
<Button Content="Update Base Files" HorizontalAlignment="Left" Margin="605,308,0,0" VerticalAlignment="Top" Width="145" RenderTransformOrigin="-0.099,0.116" Click="Button_Click_3"/>
|
||||
<Button Content="Start N64 Virtual Console INI Creator" HorizontalAlignment="Left" Margin="325,351,0,0" VerticalAlignment="Top" Width="425" RenderTransformOrigin="-0.099,0.116" Click="Button_Click_4"/>
|
||||
|
||||
</Grid>
|
||||
</Page>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
@ -14,6 +15,7 @@ using System.Windows.Navigation;
|
|||
using System.Windows.Shapes;
|
||||
using UWUVCI_AIO_WPF.UI.Windows;
|
||||
|
||||
|
||||
namespace UWUVCI_AIO_WPF.UI.Frames
|
||||
{
|
||||
/// <summary>
|
||||
|
@ -54,5 +56,10 @@ namespace UWUVCI_AIO_WPF.UI.Frames
|
|||
MainViewModel mvm = FindResource("mvm") as MainViewModel;
|
||||
mvm.UpdateBases();
|
||||
}
|
||||
|
||||
private void Button_Click_4(object sender, RoutedEventArgs e)
|
||||
{
|
||||
Process.Start(@"Tools\INICreator.exe");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,6 +28,7 @@ namespace UWUVCI_AIO_WPF
|
|||
{
|
||||
InitializeComponent();
|
||||
load_frame.Content = new StartFrame();
|
||||
(FindResource("mvm") as MainViewModel).setMW(this);
|
||||
}
|
||||
private void ButtonCloseMenu_Click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
|
@ -67,6 +68,7 @@ namespace UWUVCI_AIO_WPF
|
|||
mvm.BaseDownloaded = false;
|
||||
mvm.RomSet = false;
|
||||
mvm.RomPath = null;
|
||||
mvm.Injected = false;
|
||||
switch ((sender as ListView).SelectedIndex)
|
||||
{
|
||||
case 0:
|
||||
|
@ -83,6 +85,7 @@ namespace UWUVCI_AIO_WPF
|
|||
DestroyFrame();
|
||||
tbTitleBar.Text = "UWUVCI AIO - N64 VC INJECT";
|
||||
load_frame.Content = new INJECTFRAME(GameConsoles.N64);
|
||||
mvm.GameConfiguration.N64Stuff = new Classes.N64Conf();
|
||||
break;
|
||||
case 3:
|
||||
DestroyFrame();
|
||||
|
|
|
@ -90,6 +90,9 @@
|
|||
<Compile Include="Classes\KeyFile.cs" />
|
||||
<Compile Include="Classes\TKeys.cs" />
|
||||
<Compile Include="Classes\ToolCheck.cs" />
|
||||
<Compile Include="UI\Done.xaml.cs">
|
||||
<DependentUpon>Done.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UI\Frames\KeyFrame\TKFrame.xaml.cs">
|
||||
<DependentUpon>TKFrame.xaml</DependentUpon>
|
||||
</Compile>
|
||||
|
@ -102,6 +105,10 @@
|
|||
<Compile Include="UI\Windows\TitleKeys.xaml.cs">
|
||||
<DependentUpon>TitleKeys.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Page Include="UI\Done.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="UI\Frames\InjectFrame.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
|
|
Loading…
Reference in a new issue