Back ported all of 3.99.2 into 3.0.3

This commit is contained in:
ZestyTS 2022-09-28 20:55:05 -07:00
parent a97e9b9c7f
commit ecfa83a213
17 changed files with 306 additions and 144 deletions

View file

@ -49,6 +49,9 @@
<setting name="gczw" serializeAs="String">
<value>False</value>
</setting>
<setting name="Ancast" serializeAs="String">
<value />
</setting>
</UWUVCI_AIO_WPF.Properties.Settings>
</userSettings>
<runtime>

View file

@ -3,6 +3,7 @@ using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Text;
using System.Linq;
using System.Text.RegularExpressions;
namespace UWUVCI_AIO_WPF.Classes
{
@ -136,8 +137,17 @@ namespace UWUVCI_AIO_WPF.Classes
if (Frame != null)
g.DrawImage(Frame, new Rectangle(0, 0, 1280, 720));
if (NameLine1 != null && NameLine2 != null)
var isNotEnglish = false;
if (!string.IsNullOrEmpty(NameLine1) || !string.IsNullOrEmpty(NameLine2))
{
var regex = "^[a-zA-Z0-9\\d\\s\\.\\'\\&\\\\(\\)\\-\\:\\;\\.\\,\\?\\^\\¿]*$";
var match = Regex.Match(NameLine1, regex);
var match2 = Regex.Match(NameLine2, regex);
if (!match.Success || !match2.Success)
if (!NameLine1.Contains("é") || !NameLine2.Contains("é"))
isNotEnglish = true;
Pen outlineBold = new Pen(Color.FromArgb(222, 222, 222), 5.0F);
Pen shadowBold = new Pen(Color.FromArgb(190, 190, 190), 7.0F);
Rectangle rectangleNL1 = Longname ? new Rectangle(578, 313, 640, 50) : new Rectangle(578, 340, 640, 50);
@ -171,10 +181,16 @@ namespace UWUVCI_AIO_WPF.Classes
}
}
if (Released > 0)
{
GraphicsPath r = new GraphicsPath();
r.AddString("Released: " + Released.ToString(), font.FontFamily,
var releasedString = "Released: " + Released.ToString();
if (isNotEnglish)
releasedString = Released.ToString() + "年発売";
r.AddString(releasedString, font.FontFamily,
(int)(FontStyle.Regular),
g.DpiY * 25.0F / 72.0F, new Rectangle(586, 450, 600, 40), format);
g.DrawPath(shadow, r);
@ -185,9 +201,15 @@ namespace UWUVCI_AIO_WPF.Classes
if (Players > 0)
{
string pStr = Players >= 4 ? "1-4" : (Players == 1 ? "1" : "1-" + Players.ToString());
if (isNotEnglish)
pStr = "プレイ人数 " + pStr + "人";
else
pStr = "Players: " + pStr;
GraphicsPath p = new GraphicsPath();
p.AddString("Players: " + pStr, font.FontFamily,
p.AddString(pStr, font.FontFamily,
(int)(FontStyle.Regular),
g.DpiY * 25.0F / 72.0F, new Rectangle(586, 496, 600, 40), format);

View file

@ -573,20 +573,13 @@ namespace UWUVCI_AIO_WPF
{
string savedir = Directory.GetCurrentDirectory();
mvvm.msg = "Extracting Homebrew Base...";
if (Directory.Exists(Path.Combine(tempPath, "TempBase"))) Directory.Delete(Path.Combine(tempPath, "TempBase"), true);
Directory.CreateDirectory(Path.Combine(tempPath, "TempBase"));
using (Process zip = new Process())
{
if (!mvm.debug)
{
zip.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
}
zip.StartInfo.FileName = Path.Combine(toolsPath, "7za.exe");
zip.StartInfo.Arguments = $"x \"{Path.Combine(toolsPath, "BASE.zip")}\" -o\"{Path.Combine(tempPath)}\"";
zip.Start();
zip.WaitForExit();
}
if (Directory.Exists(Path.Combine(tempPath, "TempBase")))
Directory.Delete(Path.Combine(tempPath, "TempBase"), true);
Directory.CreateDirectory(Path.Combine(tempPath, "TempBase"));
ZipFile.ExtractToDirectory(Path.Combine(toolsPath, "BASE.zip"), Path.Combine(tempPath));
DirectoryCopy(Path.Combine(tempPath, "BASE"), Path.Combine(tempPath, "TempBase"), true);
mvvm.Progress = 20;
@ -685,8 +678,8 @@ namespace UWUVCI_AIO_WPF
toiso.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
// toiso.StartInfo.CreateNoWindow = true;
}
toiso.StartInfo.FileName = Path.Combine(toolsPath, "ConvertToIso.exe");
toiso.StartInfo.Arguments = $"\"{romPath}\"";
toiso.StartInfo.FileName = Path.Combine(toolsPath, "wit.exe");
toiso.StartInfo.Arguments = $"copy --source \"{romPath}\" --dest \"{Path.Combine(tempPath, "pre.iso")}\" -I";
toiso.Start();
toiso.WaitForExit();
@ -1037,19 +1030,12 @@ namespace UWUVCI_AIO_WPF
{
string savedir = Directory.GetCurrentDirectory();
mvvm.msg = "Extracting Nintendont Base...";
if (Directory.Exists(Path.Combine(tempPath, "TempBase"))) Directory.Delete(Path.Combine(tempPath, "TempBase"), true);
Directory.CreateDirectory(Path.Combine(tempPath, "TempBase"));
using (Process zip = new Process()){
if (!mvm.debug)
{
zip.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
}
zip.StartInfo.FileName = Path.Combine(toolsPath, "7za.exe");
zip.StartInfo.Arguments = $"x \"{Path.Combine(toolsPath, "BASE.zip")}\" -o\"{Path.Combine(tempPath)}\"";
zip.Start();
zip.WaitForExit();
}
if (Directory.Exists(Path.Combine(tempPath, "TempBase")))
Directory.Delete(Path.Combine(tempPath, "TempBase"), true);
Directory.CreateDirectory(Path.Combine(tempPath, "TempBase"));
ZipFile.ExtractToDirectory(Path.Combine(toolsPath, "BASE.zip"), Path.Combine(tempPath));
DirectoryCopy(Path.Combine(tempPath, "BASE"), Path.Combine(tempPath, "TempBase"), true);
mvvm.Progress = 20;
@ -1479,12 +1465,14 @@ namespace UWUVCI_AIO_WPF
else
{
mvvm.msg = "Extracting Nintendont Base...";
if (Directory.Exists(Path.Combine(tempPath, "TempBase"))) Directory.Delete(Path.Combine(tempPath, "TempBase"), true);
if (Directory.Exists(Path.Combine(tempPath, "TempBase")))
Directory.Delete(Path.Combine(tempPath, "TempBase"), true);
Directory.CreateDirectory(Path.Combine(tempPath, "TempBase"));
tik.StartInfo.FileName = Path.Combine(toolsPath, "7za.exe");
tik.StartInfo.Arguments = $"x \"{Path.Combine(toolsPath, "BASE.zip")}\" -o\"{Path.Combine(tempPath)}\"";
tik.Start();
tik.WaitForExit();
ZipFile.ExtractToDirectory(Path.Combine(toolsPath, "BASE.zip"), Path.Combine(tempPath));
DirectoryCopy(Path.Combine(tempPath, "BASE"), Path.Combine(tempPath, "TempBase"), true);
mvvm.Progress = 30;
mvvm.msg = "Applying Nintendont";
@ -2369,44 +2357,29 @@ namespace UWUVCI_AIO_WPF
{
string RomName = string.Empty;
using (Process getRomName = new Process())
{
mvvm.msg = "Getting BaseRom Name...";
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 bin\\Tools\\7za.exe l bin\\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", "");
mvvm.Progress = 15;
}
using (Process RomEdit = new Process())
{
mvvm.msg = "Removing BaseRom...";
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 bin\\temp\\baserom\\content\\0010\\rom.zip";
RomEdit.Start();
RomEdit.WaitForExit();
mvvm.Progress = 40;
mvvm.msg = "Injecting ROM...";
File.Copy(injectRomPath, $"{RomName}");
RomEdit.StartInfo.Arguments = $"u bin\\temp\\baserom\\content\\0010\\rom.zip {RomName}";
RomEdit.Start();
RomEdit.WaitForExit();
mvvm.Progress = 80;
}
File.Delete(RomName);
mvvm.msg = "Getting BaseRom Name...";
var zipLocation = Path.Combine(baseRomPath, "content", "0010", "rom.zip");
using (var zip = ZipFile.Open(zipLocation, ZipArchiveMode.Read))
foreach (var file in zip.Entries)
if (file.Name.Contains("WUP"))
{
RomName = file.Name;
break;
}
mvvm.Progress = 15;
var romPath = Directory.GetCurrentDirectory() + "\\" + RomName;
mvvm.msg = "Removing BaseRom...";
File.Delete(romPath);
File.Delete(zipLocation);
File.Copy(injectRomPath, romPath);
using (var stream = new FileStream(zipLocation, FileMode.Create))
using (var archive = new ZipArchive(stream, ZipArchiveMode.Create))
archive.CreateEntryFromFile(romPath, Path.GetFileName(romPath));
mvvm.Progress = 80;
File.Delete(RomName);
}

View file

@ -2,8 +2,10 @@
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.IO.Compression;
using System.Net;
using System.Security.Cryptography;
using System.Threading;
namespace UWUVCI_AIO_WPF.Classes
{
@ -23,7 +25,6 @@ namespace UWUVCI_AIO_WPF.Classes
"WiiUDownloader.exe",
"wiiurpxtool.exe",
"INICreator.exe",
"7za.exe",
"blank.ini",
"FreeImage.dll",
"BuildPcePkg.exe",
@ -33,7 +34,6 @@ namespace UWUVCI_AIO_WPF.Classes
"nintendont.dol",
"nintendont_force.dol",
"GetExtTypePatcher.exe",
"wbfs_file.exe",
"wit.exe",
"cygwin1.dll",
"cygz.dll",
@ -58,7 +58,8 @@ namespace UWUVCI_AIO_WPF.Classes
"font2.ttf",
"forwarder.dol",
"gba1.zip",
"gba2.zip"
"gba2.zip",
"c2w_patcher.exe"
};
public static bool DoesToolsFolderExist()
@ -73,15 +74,19 @@ namespace UWUVCI_AIO_WPF.Classes
public static bool IsToolRight(string name)
{
bool ret = false;
WebClient client = new WebClient();
client.DownloadFile(backupulr + name + ".md5", name + ".md5");
StreamReader sr = new StreamReader(name + ".md5");
var md5 = sr.ReadLine();
var md5 = "";
using (WebClient client = new WebClient())
{
client.DownloadFile(backupulr + name + ".md5", name + ".md5");
using (StreamReader sr = new StreamReader(name + ".md5"))
md5 = sr.ReadLine();
}
if(CalculateMD5(name) == md5)
{
ret = true;
}
sr.Close();
File.Delete(name + ".md5");
return ret;
}
@ -116,38 +121,18 @@ namespace UWUVCI_AIO_WPF.Classes
if (!File.Exists(path))
return false;
if (path.ToLower().Contains("gba1.zip"))
{
string p = Path.GetDirectoryName(path);
if (!File.Exists(Path.Combine(p, "MArchiveBatchTool.exe")))
{
using (Process extract = new Process())
if (path.ToLower().Contains("gba1.zip") || path.ToLower().Contains("gba2.zip"))
if (!File.Exists(Path.Combine(FolderName, "MArchiveBatchTool.exe")) || !File.Exists(Path.Combine(FolderName, "ucrtbase.dll")))
try
{
extract.StartInfo.UseShellExecute = false;
extract.StartInfo.CreateNoWindow = false;
extract.StartInfo.FileName = "cmd.exe";
extract.StartInfo.Arguments = "/c bin\\Tools\\7za.exe x bin\\Tools\\gba1.zip -obin\\Tools";
extract.Start();
extract.WaitForExit();
ZipFile.ExtractToDirectory(path, FolderName);
}
}
}
else if (path.ToLower().Contains("gba2.zip"))
{
string p = Path.GetDirectoryName(path);
if (!File.Exists(Path.Combine(p, "ucrtbase.dll")))
{
using (Process extract = new Process())
catch (Exception)
{
extract.StartInfo.UseShellExecute = false;
extract.StartInfo.CreateNoWindow = false;
extract.StartInfo.FileName = "cmd.exe";
extract.StartInfo.Arguments = "/c bin\\Tools\\7za.exe x bin\\Tools\\gba2.zip -obin\\Tools";
extract.Start();
extract.WaitForExit();
Thread.Sleep(200);
DoesToolExist(path);
}
}
}
return true;
}

View file

@ -504,6 +504,16 @@ namespace UWUVCI_AIO_WPF
catch (Exception) { }
cm.ShowDialog();
}
else
{
var cm = new Custom_Message("No Update Available", "This is currently the latest version.");
try
{
cm.Owner = mw;
}
catch (Exception) { }
cm.ShowDialog();
}
}
}
@ -1470,10 +1480,28 @@ namespace UWUVCI_AIO_WPF
}
}
public static int GetDeterministicHashCode(string str)
{
unchecked
{
int hash1 = (5381 << 16) + 5381;
int hash2 = hash1;
for (int i = 0; i < str.Length; i += 2)
{
hash1 = ((hash1 << 5) + hash1) ^ str[i];
if (i == str.Length - 1)
break;
hash2 = ((hash2 << 5) + hash2) ^ str[i + 1];
}
return hash1 + (hash2 * 1566083941);
}
}
public bool checkSysKey(string key)
{
if (key.GetHashCode() == -589797700)
if (GetDeterministicHashCode(key) == -589797700)
{
Properties.Settings.Default.SysKey = key;
Properties.Settings.Default.Save();
@ -1487,7 +1515,7 @@ namespace UWUVCI_AIO_WPF
}
public bool checkSysKey1(string key)
{
if (key.GetHashCode() == -1230232583)
if (GetDeterministicHashCode(key) == -1230232583)
{
Properties.Settings.Default.SysKey1 = key;
Properties.Settings.Default.Save();
@ -2340,7 +2368,7 @@ namespace UWUVCI_AIO_WPF
}
public bool checkcKey(string key)
{
if (1274359530 == key.ToLower().GetHashCode())
if (-485504051 == GetDeterministicHashCode(key.ToLower()))
{
Settings.Default.Ckey = key.ToLower();
ckeys = true;
@ -2353,7 +2381,7 @@ namespace UWUVCI_AIO_WPF
}
public bool isCkeySet()
{
if (Settings.Default.Ckey.ToLower().GetHashCode() == 1274359530)
if (GetDeterministicHashCode(Settings.Default.Ckey.ToLower()) == -485504051)
{
ckeys = true;
return true;
@ -2366,7 +2394,7 @@ namespace UWUVCI_AIO_WPF
}
public bool checkKey(string key)
{
if (GbTemp.KeyHash == key.ToLower().GetHashCode())
if (GbTemp.KeyHash == GetDeterministicHashCode(key.ToLower()))
{
UpdateKeyInFile(key, $@"bin\keys\{GetConsoleOfBase(gbTemp).ToString().ToLower()}.vck", GbTemp, GetConsoleOfBase(gbTemp));
return true;
@ -2873,7 +2901,6 @@ namespace UWUVCI_AIO_WPF
using (var md5 = MD5.Create())
{
var name = new byte[] { };
bool skip = false;
using (var fs = new FileStream(path,
FileMode.Open,
FileAccess.Read))
@ -2886,30 +2913,19 @@ namespace UWUVCI_AIO_WPF
repoid = rgx.Replace(repoid, "");
DOSTUFF:
if (repoid.Length < 4 && !skip)
if (repoid.Length < 4)
{
fs.Seek(0xFFB2, SeekOrigin.Begin);
fs.Read(procode, 0, 4);
repoid = rgx.Replace(ByteArrayToString(procode), "");
if (repoid.Length < 4)
{
repoid = "Unknown";
skip = true;
goto DOSTUFF;
}
fs.Seek(0xFFC0, SeekOrigin.Begin);
procode = new byte[21];
fs.Read(procode, 0, 21);
name = procode;
repoid = ByteArrayToString(procode);
repoid = rgx.Replace(repoid, "");
}
else
if (repoid.Length < 4)
{
fs.Seek(0x7FC0, SeekOrigin.Begin);
procode = new byte[21];
fs.Read(procode, 0, 21);

View file

@ -51,5 +51,5 @@ using System.Windows;
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// indem Sie "*" wie unten gezeigt eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("3.0.3.0")]
[assembly: AssemblyFileVersion("3.0.3.0")]
[assembly: AssemblyVersion("3.999.0.0")]
[assembly: AssemblyFileVersion("3.999.0.0")]

View file

@ -178,5 +178,19 @@ namespace UWUVCI_AIO_WPF.Properties {
this["gczw"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string Ancast
{
get
{
return ((string)(this["ancast"]));
}
set
{
this["ancast"] = value;
}
}
}
}

View file

@ -54,5 +54,7 @@
<RadioButton x:Name="RF_tn" Content="To NTSC" Click="RF_tp_Click" HorizontalAlignment="Left" VerticalAlignment="Top" GroupName="RF" Width="85" ToolTip="Change Game Region to NTSC" Margin="0,6,0,0"/>
<RadioButton x:Name="RF_tj" Content="To JPN" Click="RF_tp_Click" HorizontalAlignment="Left" VerticalAlignment="Top" GroupName="RF" Width="82" ToolTip="Change Game Region to JPN" Margin="0,6,0,0"/>
</StackPanel>
<TextBox materialDesign:HintAssist.Hint="WIIU ANCAST KEY" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Margin="10,460,395,5" Background="{x:Null}" Foreground="Black" SelectionBrush="#FF00C3D7" CaretBrush="#FF21C3F3" FontSize="18" Text="{Binding ancastKey}" x:Name="ancastKey" MaxLength="250" IsTabStop="False"/>
<Button Content="Get From OTP" HorizontalAlignment="Left" Margin="257,473,0,0" VerticalAlignment="Top" Width="127" Click="ancast_OTP" Focusable="False" IsTabStop="False"/>
</Grid>
</Page>

View file

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
@ -17,6 +18,7 @@ using System.Windows.Navigation;
using System.Windows.Shapes;
using UWUVCI_AIO_WPF.Properties;
using UWUVCI_AIO_WPF.UI.Windows;
using WiiUDownloaderLibrary;
namespace UWUVCI_AIO_WPF.UI.Frames.InjectFrames.Configurations
{
@ -256,10 +258,30 @@ namespace UWUVCI_AIO_WPF.UI.Frames.InjectFrames.Configurations
}
cm.ShowDialog();
}
}
}
public string ReadAncastFromOtp()
{
var ret = "";
using (var dialog = new System.Windows.Forms.OpenFileDialog())
{
dialog.Filter = "OTP.bin | otp.bin";
var res = dialog.ShowDialog();
if (res == System.Windows.Forms.DialogResult.OK)
{
var filepath = dialog.FileName;
var test = new byte[16];
using (var fs = new FileStream(filepath, FileMode.Open, FileAccess.Read))
{
fs.Seek(0x90, SeekOrigin.Begin);
fs.Read(test, 0, 16);
}
foreach (var b in test)
ret += string.Format("{0:X2}", b);
}
}
return ret;
}
private void InjectGame(object sender, RoutedEventArgs e)
@ -307,6 +329,108 @@ namespace UWUVCI_AIO_WPF.UI.Frames.InjectFrames.Configurations
mvm.LR = false;
}
mvm.GameConfiguration.GameName = gn.Text;
if (!string.IsNullOrEmpty(ancastKey.Text))
{
ancastKey.Text = ancastKey.Text.ToUpper();
var toolsPath = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "bin", "Tools");
var tempPath = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "bin", "temp");
var downloadPath = System.IO.Path.Combine(tempPath, "download");
var c2wPath = System.IO.Path.Combine(tempPath, "C2W");
var imgFileCode = System.IO.Path.Combine(c2wPath, "code", "c2w.img");
var imgFile = System.IO.Path.Combine(c2wPath, "c2w.img");
var c2wFile = System.IO.Path.Combine(c2wPath, "c2w_patcher.exe");
var sourceData = ancastKey.Text;
var tempSource = Encoding.ASCII.GetBytes(sourceData);
var tmpHash = MD5.Create().ComputeHash(tempSource);
var hash = BitConverter.ToString(tmpHash);
if (hash == "31-8D-1F-9D-98-FB-08-E7-7C-7F-E1-77-AA-49-05-43")
{
Settings.Default.Ancast = ancastKey.Text;
string[] ancastKeyCopy = { ancastKey.Text };
Task.Run(() =>
{
mvm.Progress += 5;
Directory.CreateDirectory(tempPath + "\\C2W");
var titleIds = new List<string>()
{
"0005001010004000",
"0005001010004001"
};
foreach (var titleId in titleIds)
{
Task.Run(() => Downloader.DownloadAsync(titleId, downloadPath)).GetAwaiter().GetResult();
mvm.Progress += 5;
}
foreach (var titleId in titleIds)
{
CSharpDecrypt.CSharpDecrypt.Decrypt(new string[] { Settings.Default.Ckey, System.IO.Path.Combine(downloadPath, titleId), c2wPath });
mvm.Progress += 5;
}
File.WriteAllLines(c2wPath + "\\starbuck_key.txt", ancastKeyCopy);
File.Copy(System.IO.Path.Combine(toolsPath, "c2w_patcher.exe"), c2wFile, true);
File.Copy(imgFileCode, imgFile, true);
mvm.Progress += 5;
var currentDir = Directory.GetCurrentDirectory();
Directory.SetCurrentDirectory(c2wPath);
using (Process c2w = new Process())
{
c2w.StartInfo.FileName = "c2w_patcher.exe";
c2w.StartInfo.Arguments = $"-nc";
c2w.Start();
c2w.WaitForExit();
}
Directory.SetCurrentDirectory(currentDir);
File.Copy(System.IO.Path.Combine(c2wPath, "c2p.img"), imgFileCode, true);
mvm.Progress = 100;
}).GetAwaiter();
}
else
{
var cm = new Custom_Message("C2W Error", "Ancast code is incorrect.\nNot continuing with inject.");
cm.ShowDialog();
return;
}
var message = new DownloadWait("Setting Up C2W - Please Wait", "", mvm);
try
{
message.changeOwner(mvm.mw);
}
catch (Exception) { }
message.ShowDialog();
mvm.Progress = 0;
File.Delete(imgFileCode);
try
{
Directory.Delete(downloadPath, true);
}
catch { }
File.Delete(c2wFile);
File.Delete(c2wPath + "\\starbuck_key.txt");
File.Delete(System.IO.Path.Combine(c2wPath, "c2p.img"));
File.Delete(imgFileCode);
try
{
Directory.Delete(System.IO.Path.Combine(c2wPath, "code"), true);
}
catch { }
}
mvm.Inject(false);
}
@ -943,5 +1067,9 @@ namespace UWUVCI_AIO_WPF.UI.Frames.InjectFrames.Configurations
}
}
private void ancast_OTP(object sender, RoutedEventArgs e)
{
ancastKey.Text = ReadAncastFromOtp();
}
}
}

View file

@ -46,7 +46,7 @@
<Ellipse Fill="#FF2196F3" HorizontalAlignment="Left" Height="21" Margin="12,7,0,0" VerticalAlignment="Top" Width="17"/>
<Ellipse Fill="#FF2196F3" HorizontalAlignment="Left" Height="21" Margin="12,7,0,0" VerticalAlignment="Top" Width="17"/>
<Border BorderBrush="#FF2196F3" BorderThickness="1" HorizontalAlignment="Left" Height="33" Margin="12,6,0,0" VerticalAlignment="Top" Width="1108" CornerRadius="5" Background="#FF2196F3"/>
<Label Content="v3.0.3" HorizontalAlignment="Left" Margin="1075,10,0,0" VerticalAlignment="Top" Foreground="#DDFFFFFF" Width="81" Height="24"/>
<Label Content="v3.F" HorizontalAlignment="Left" Margin="1075,10,0,0" VerticalAlignment="Top" Foreground="#DDFFFFFF" Width="81" Height="24"/>
<Button HorizontalAlignment="Left" Margin="32,522,0,0" VerticalAlignment="Top" Width="74" Click="Button_Click_13" IsTabStop="False" Height="58" ToolTip="Support UWUVCI on Ko-Fi">
<Image HorizontalAlignment="Left" Height="46" VerticalAlignment="Top" Width="46" Source="/UI/Images/61e111774d3a2f67c827cd25_Frame 5.png" />
</Button>

View file

@ -71,7 +71,7 @@ namespace UWUVCI_AIO_WPF.UI.Frames
private void Button_Click_5(object sender, RoutedEventArgs e)
{
Custom_Message cm = new Custom_Message("Credits", "UWUVCI AIO - NicoAICP, Morilli, ZestyTS\nBeta Testers/Contributors - wowjinxy, Danis, Adolfobenjaminv\n\n7za - Igor Pavlov\nBuildPcePkg & BuildTurboCDPcePkg - JohnnyGo\nCdecrypt - crediar\nCNUSPACKER - NicoAICP, Morilli\nINICreator - NicoAICP\nN64Converter - Morilli\npng2tga - Easy2Convert\ninject_gba_c (psb) - Morilli\nRetroInject_C - Morilli\ntga_verify - Morilli\nWiiUDownloader - Morilli\nwiiurpxtool - 0CHB0\nGoomba - FluBBa\nDarkFilter Removal N64 - MelonSpeedruns, ZestyTS\nNintendont SD Card Menu - TeconMoon\nwit - Wiimm\nGetExtTypePatcher - Fix94\nnfs2iso2nfs - sabykos, piratesephiroth, Fix94 and many more\nWii-VMC - wanikoko\nIcon/TV Bootimages - Flump, ZestyTS\nNKit - Nanook\nImage Creation Base - Phacox\nWiiGameLanguage Patcher - ReturnerS\nChangeAspectRatio - andot\nvWii Title Forwarder - Fix94");
Custom_Message cm = new Custom_Message("Credits", "UWUVCI AIO - NicoAICP, Morilli, ZestyTS\nBeta Testers/Contributors - wowjinxy, Danis, Adolfobenjaminv\n\nBuildPcePkg & BuildTurboCDPcePkg - JohnnyGo\nCdecrypt - crediar\nCNUSPACKER - NicoAICP, Morilli\nINICreator - NicoAICP\nN64Converter - Morilli\npng2tga - Easy2Convert\ninject_gba_c (psb) - Morilli\nRetroInject_C - Morilli\ntga_verify - Morilli\nWiiUDownloader - Morilli\nwiiurpxtool - 0CHB0\nGoomba - FluBBa\nDarkFilter Removal N64 - MelonSpeedruns, ZestyTS\nNintendont SD Card Menu - TeconMoon\nwit - Wiimm\nGetExtTypePatcher - Fix94\nnfs2iso2nfs - sabykos, piratesephiroth, Fix94 and many more\nWii-VMC - wanikoko\nIcon/TV Bootimages - Flump, ZestyTS\nNKit - Nanook\nImage Creation Base - Phacox\nWiiGameLanguage Patcher - ReturnerS\nChangeAspectRatio - andot\nvWii Title Forwarder - Fix94");
try
{
cm.Owner = (FindResource("mvm") as MainViewModel).mw;
@ -143,7 +143,7 @@ namespace UWUVCI_AIO_WPF.UI.Frames
private void Button_Click_13(object sender, RoutedEventArgs e)
{
Process.Start("https://ko-fi.com/uwuvci");
Process.Start("https://ko-fi.com/zestyts");
}
}
}

View file

@ -9,8 +9,13 @@
Title="SettingsFrame" >
<Grid>
<TextBlock x:Name="tb" Margin="10,172,10,192" TextWrapping="Wrap" Text="Welcome to UWUVCI AIO v3.0.3. To start Injecting select a Console to your left." FontSize="20" Height="116" HorizontalAlignment="Center" VerticalAlignment="Center" TextAlignment="Center" Width="1110" />
<Button HorizontalAlignment="Right" Margin="15,525,15,0" VerticalAlignment="Top" Width="74" Click="Button_Click" IsTabStop="False" Height="58" ToolTip="Support UWUVCI on Ko-Fi">
<TextBlock x:Name="tb" Margin="10,172,10,192" TextWrapping="Wrap" Text="Welcome to UWUVCI AIO v3.F. To start Injecting select a Console to your left." FontSize="20" Height="116" HorizontalAlignment="Center" VerticalAlignment="Center" TextAlignment="Center" Width="1110" />
<TextBlock Margin="15,505,15,0" HorizontalAlignment="Right" VerticalAlignment="Top" Text="Support MAC Development" TextAlignment="Right"></TextBlock>
<Button HorizontalAlignment="Right" Margin="15,525,15,0" VerticalAlignment="Top" Width="74" Click="Button_Click" IsTabStop="False" Height="58" ToolTip="Support UWUVCI MAC Development on Ko-Fi">
<Image HorizontalAlignment="Left" Height="46" VerticalAlignment="Top" Width="46" Source="/UI/Images/61e111774d3a2f67c827cd25_Frame 5.png" />
</Button>
<TextBlock Margin="15,505,15,0" HorizontalAlignment="Left" VerticalAlignment="Top" Text="Support UWUVCI" TextAlignment="Right"></TextBlock>
<Button HorizontalAlignment="Left" Margin="15,525,15,0" VerticalAlignment="Top" Width="74" Click="Button_Click2" IsTabStop="False" Height="58" ToolTip="Support UWUVCI on Ko-Fi">
<Image HorizontalAlignment="Left" Height="46" VerticalAlignment="Top" Width="46" Source="/UI/Images/61e111774d3a2f67c827cd25_Frame 5.png" />
</Button>

View file

@ -19,5 +19,9 @@ namespace UWUVCI_AIO_WPF.UI.Frames
{
Process.Start("https://ko-fi.com/uwuvci");
}
private void Button_Click2(object sender, RoutedEventArgs e)
{
Process.Start("https://ko-fi.com/zestyts");
}
}
}

View file

@ -13,6 +13,7 @@ using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using UWUVCI_AIO_WPF.UI.Windows;
namespace UWUVCI_AIO_WPF.UI.Frames
{
@ -28,7 +29,8 @@ namespace UWUVCI_AIO_WPF.UI.Frames
private void tb_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Process.Start("https://www.reddit.com/r/WiiUHacks/comments/jchcls/poc_retroarch_autoboot_starts_rom_automatically/");
var cm = new Custom_Message("Soon™", "Coming Soon™ to a UWUVCI Prime Near You!");
cm.ShowDialog();
}
}
}

View file

@ -72,8 +72,11 @@
<Reference Include="Costura, Version=4.1.0.0, Culture=neutral, PublicKeyToken=9919ef960d84173d, processorArchitecture=MSIL">
<HintPath>..\packages\Costura.Fody.4.1.0\lib\net40\Costura.dll</HintPath>
</Reference>
<Reference Include="CSharpDecrypt, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\CDecryptSharp.1.0.4\lib\CSharpDecrypt.dll</HintPath>
</Reference>
<Reference Include="GameBaseClassLibrary">
<HintPath>..\GameBaseClassLibrary.dll</HintPath>
<HintPath>..\..\..\uwuvci_installer_creator\{app}\GameBaseClassLibrary.dll</HintPath>
</Reference>
<Reference Include="GMWare.M2, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\GMWare.M2.1.1.2\lib\netstandard2.0\GMWare.M2.dll</HintPath>
@ -116,6 +119,7 @@
<HintPath>..\packages\System.Buffers.4.5.0\lib\netstandard2.0\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.IO.Compression" />
@ -140,6 +144,9 @@
<Reference Include="System.Xaml">
<RequiredTargetFramework>4.0</RequiredTargetFramework>
</Reference>
<Reference Include="WiiUDownloaderLibrary">
<HintPath>..\WiiUDownloaderLibrary.dll</HintPath>
</Reference>
<Reference Include="WindowsBase" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />

View file

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Autoupdater.NET.Official" version="1.6.3" targetFramework="net46" />
<package id="CDecryptSharp" version="1.0.4" targetFramework="net472" />
<package id="Costura.Fody" version="4.1.0" targetFramework="net46" />
<package id="Fody" version="6.3.0" targetFramework="net46" developmentDependency="true" />
<package id="GMWare.M2" version="1.1.2" targetFramework="net48" />

BIN
WiiUDownloaderLibrary.dll Normal file

Binary file not shown.