Compare commits

...

47 Commits
v2.24 ... v2.26

Author SHA1 Message Date
Fenopy
0bf9a00af2 Merge pull request #62 from VRPirates/beta/RSL-2.26
beta/rsl 2.26
2023-12-08 09:37:33 -06:00
Fenopy
fa9baced7a Merge pull request #52 from Chax1/beta/RSL-2.26
chore: version bump
2023-12-06 14:31:46 -06:00
Fenopy
1f51f41954 Merge pull request #61 from Chax1/feature/ShowExtractionProgress
Change labels on extraction
2023-12-06 14:29:27 -06:00
fenopy
bc8599315e fix: correct tooltips for new leftnav 2023-12-06 14:28:29 -06:00
Chax
1c49a33651 Change labels on extraction 2023-12-06 21:26:24 +01:00
Maxine
13ab8a74d6 Update changelog.txt 2023-12-06 21:10:24 +01:00
Maxine
51155f105c Update changelog.txt 2023-12-06 21:10:03 +01:00
Fenopy
af46aa7c78 Merge pull request #60 from Chax1/feature/ShowExtractionProgress
Show extraction progress.
2023-12-06 14:08:26 -06:00
fenopy
a7d46753aa Merge branch 'beta/RSL-2.26' of https://github.com/VRPirates/rookie into beta/RSL-2.26 2023-12-06 14:07:56 -06:00
Fenopy
161f257985 Merge pull request #59 from Chax1/fix/NoDeviceModeOutput
Fix no device mode output
2023-12-06 14:07:30 -06:00
fenopy
223de0ba4a chore: remove qu settings 2023-12-06 14:06:37 -06:00
Maxine
2fa9c34e98 Update changelog.txt 2023-12-06 20:52:30 +01:00
Chax
5d5011e409 Show extraction progress. 2023-12-06 20:46:15 +01:00
Maxine
fd4357bdad Update changelog.txt 2023-12-06 20:29:05 +01:00
Chax
1a073f9661 Fix no device mode output 2023-12-06 20:12:25 +01:00
fenopy
e73c204d1c feat: sideloading toggle button 2023-12-06 12:55:23 -06:00
fenopy
80cb0b46bc feat: add open DLs and run adb commands to leftnav 2023-12-06 12:30:31 -06:00
fenopy
680a5f256a feat: remove dumb enter-key toggle for install 2023-12-06 12:28:00 -06:00
fenopy
2b02d04219 fix: counting of installed games 2023-12-06 11:08:51 -06:00
fenopy
7a61d73e65 fix: gui freeze on launch 2023-12-06 11:08:37 -06:00
Fenopy
972116ee96 Merge pull request #58 from Chax1/fix/WebViewNukingItself
Fix crash due to WebView21 not existing
2023-12-06 11:01:56 -06:00
Chax
d780607363 Fix crash due to WebView21 not existing 2023-11-30 22:26:39 +01:00
Fenopy
236004aef9 Merge pull request #56 from Chax1/feature/NumberedUpdateStates
feature/numbered update states
2023-11-30 08:21:11 -06:00
Chax
07bc133096 update changelog.txt 2023-11-24 06:00:20 +01:00
Chax
50427ef2d3 Add count to update state labels. 2023-11-24 05:48:13 +01:00
Chax
63eef42ca0 chore: version bump 2023-11-23 16:40:45 +01:00
Fenopy
8723b195df Merge pull request #50 from Chax1/fix/AdditionalQuest3Support
Fix CopyOBB for Quest 3
2023-11-22 18:52:52 -06:00
Fenopy
ae86b47268 Merge pull request #51 from Chax1/fix/CrashOnIPStore
Fix crash when trying to write to read-only StoredIP.txt
2023-11-22 18:52:20 -06:00
Chax
9901a0d770 Update MainForm.cs 2023-11-22 23:43:35 +01:00
Chax
da48607154 Fix CopyOBB for Quest 3 2023-11-22 23:38:19 +01:00
Fenopy
35f3a80eb1 Merge pull request #47 from Chax1/fix/WebViewKill
Fix crash due to unkilled WebView2 instances.
2023-11-22 16:13:39 -06:00
Fenopy
0da1bf7a3b Merge pull request #48 from Chax1/fix/MessageBoxParents
Add missing parents to messageboxes
2023-11-22 16:13:20 -06:00
Fenopy
c027fca339 Merge pull request #49 from Chax1/QoL/MoreApparantError
Make message more friendly.
2023-11-22 16:13:01 -06:00
Chax
5ac98f5ef8 Make message more friendly. 2023-11-22 22:34:01 +01:00
Chax
3cb0cca801 Add missing parents to messageboxes 2023-11-18 15:00:01 +01:00
Chax
b4fd4c76a0 Fix crash due to unkilled WebView2 instances. 2023-11-16 21:18:47 +01:00
fenopy
ecf19115c6 chore: readme update 2023-11-07 15:41:33 -06:00
Fenopy
d475936bbb Merge pull request #43 from VRPirates/beta/RSL-2.25
Beta/rsl 2.25.1
2023-11-04 15:23:19 -05:00
Fenopy
c404d69b54 Merge pull request #42 from Chax1/beta/RSL-2.25
Fix Device not authorized prompt showing up after authorization.
2023-11-04 15:22:54 -05:00
Chax
6edc9cf7e9 Change not authorized message to be more clear on what to do
Some additional info
2023-11-04 16:23:01 +01:00
Chax
71d89284f1 Chore: Bump Version. 2023-11-04 16:02:29 +01:00
Chax
39473ba15c - Fix: Device not authorized prompt showing up after authorization. 2023-11-04 16:02:06 +01:00
Fenopy
3f3fa3dc11 Merge pull request #39 from VRPirates/beta/RSL-2.25
Beta/rsl 2.25
2023-11-03 12:54:10 -05:00
fenopy
3f06099d38 chore: version bump 2023-11-03 12:46:14 -05:00
Fenopy
450cf282aa Merge pull request #35 from Chax1/fix/UnauthFreeze
fix: fix unauthorized bug
2023-11-02 14:12:09 -05:00
fenopy
804c452f6d chore: update wiki url 2023-11-02 10:00:29 -05:00
Chax
c576f62d28 Fix the unauthorized bug, hopefully. 2023-10-31 09:35:12 +01:00
18 changed files with 1882 additions and 2566 deletions

60
ADB.cs
View File

@@ -196,12 +196,15 @@ namespace AndroidSideloader
public static void ADBDebugWarning()
{
DialogResult dialogResult = FlexibleMessageBox.Show(Program.form, "Please check inside your headset for ADB DEBUGGING prompt, check box to \"Always allow from this computer.\" and hit OK.\nPlease note that even if you have done this\nbefore it will reset itself from time to time.\n\nPress CANCEL if you want to disable this prompt (FOR DEBUGGING ONLY, NOT RECOMMENDED).", "ADB Debugging not enabled.", MessageBoxButtons.OKCancel);
if (dialogResult == DialogResult.Cancel)
Program.form.Invoke(() =>
{
Properties.Settings.Default.adbdebugwarned = true;
Properties.Settings.Default.Save();
}
DialogResult dialogResult = FlexibleMessageBox.Show(Program.form, "Please check inside your headset for ADB DEBUGGING prompt, check box to \"Always allow from this computer.\" and hit OK.\nPlease note that even if you have done this\nbefore it will reset itself from time to time.\n\nPress CANCEL if you want to disable this prompt (FOR DEBUGGING ONLY, NOT RECOMMENDED).", "ADB Debugging not enabled.", MessageBoxButtons.OKCancel);
if (dialogResult == DialogResult.Cancel)
{
Properties.Settings.Default.adbdebugwarned = true;
Properties.Settings.Default.Save();
}
});
}
public static ProcessOutput UninstallPackage(string package)
@@ -292,46 +295,6 @@ namespace AndroidSideloader
return ret;
}
}
string gamenameforQU = Sideloader.PackageNametoGameName(packagename);
if (Properties.Settings.Default.QUturnedon)
{
if (gamenameforQU.Contains("-QU") || path.Contains("-QU"))
{
string gameName = packagename;
packagename = Sideloader.gameNameToPackageName(gameName);
Program.form.changeTitle("Pushing Custom QU S3 Config.JSON.");
if (!Directory.Exists($"/sdcard/android/data/{packagename}"))
{
_ = RunAdbCommandToString($"shell mkdir /sdcard/android/data/{packagename}");
}
if (!Directory.Exists($"/sdcard/android/data/{packagename}/private"))
{
_ = RunAdbCommandToString($"shell mkdir /sdcard/android/data/{packagename}/private");
}
Random r = new Random();
int x = r.Next(999999999);
int y = r.Next(9999999);
long sum = (y * (long)1000000000) + x;
int x2 = r.Next(999999999);
int y2 = r.Next(9999999);
long sum2 = (y2 * (long)1000000000) + x2;
Properties.Settings.Default.QUStringF = $"{{\"user_id\":{sum},\"app_id\":\"{sum2}\",";
Properties.Settings.Default.Save();
string boff = Properties.Settings.Default.QUStringF + Properties.Settings.Default.QUString;
File.WriteAllText($"{Properties.Settings.Default.MainDir}\\config.json", boff);
string blank = "";
File.WriteAllText($"{Properties.Settings.Default.MainDir}\\delete_settings", blank);
ret += ADB.RunAdbCommandToString($"push \"{Properties.Settings.Default.MainDir}\\delete_settings\" /sdcard/android/data/{packagename}/private/delete_settings");
ret += ADB.RunAdbCommandToString($"push \"{Properties.Settings.Default.MainDir}\\config.json\" /sdcard/android/data/{packagename}/private/config.json");
}
}
Program.form.changeTitle(string.Empty);
return ret;
@@ -340,9 +303,10 @@ namespace AndroidSideloader
public static ProcessOutput CopyOBB(string path)
{
string folder = Path.GetFileName(path);
return !folder.Contains("+") && !folder.Contains("_") && folder.Contains(".")
? RunAdbCommandToString($"push \"{path}\" \"/sdcard/Android/obb\"")
: new ProcessOutput();
string lastFolder = Path.GetFileName(path);
return folder.Contains(".")
? RunAdbCommandToString($"shell rm -rf /sdcard/Android/obb/{lastFolder} && mkdir /sdcard/Android/obb/{lastFolder}") + RunAdbCommandToString($"push \"{path}\" \"/sdcard/Android/obb\"")
: new ProcessOutput("No OBB Folder found");
}
}
}

View File

@@ -56,36 +56,9 @@
<setting name="ADBPath" serializeAs="String">
<value />
</setting>
<setting name="QUsett" serializeAs="String">
<value>False</value>
</setting>
<setting name="QuChecked" serializeAs="String">
<value />
</setting>
<setting name="QUhz" serializeAs="String">
<value>0</value>
</setting>
<setting name="QUres" serializeAs="String">
<value>0</value>
</setting>
<setting name="QUy" serializeAs="String">
<value>0</value>
</setting>
<setting name="QUx" serializeAs="String">
<value>0</value>
</setting>
<setting name="QUname" serializeAs="String">
<value>Change Me</value>
</setting>
<setting name="QUString" serializeAs="String">
<value />
</setting>
<setting name="MainDir" serializeAs="String">
<value />
</setting>
<setting name="QUStringF" serializeAs="String">
<value />
</setting>
<setting name="delsh" serializeAs="String">
<value>False</value>
</setting>
@@ -104,9 +77,6 @@
<setting name="PackageNameToCB" serializeAs="String">
<value>False</value>
</setting>
<setting name="EnterKeyInstall" serializeAs="String">
<value>False</value>
</setting>
<setting name="DownUpHeld" serializeAs="String">
<value>False</value>
</setting>
@@ -122,9 +92,6 @@
<setting name="CurrentCrashName" serializeAs="String">
<value />
</setting>
<setting name="QUturnedon" serializeAs="String">
<value>False</value>
</setting>
<setting name="adbdebugwarned" serializeAs="String">
<value>False</value>
</setting>

View File

@@ -1,4 +1,23 @@
RSL 2.23
RSL 2.25.1
- Fix: Device not authorized prompt showing up after authorization.
RSL 2.25
- Fix: Fix to unauthorized device bug
- Chore: Update Wiki URL
RSL 2.24
- Feature: Added "Open Download" and "Open Backup" Directory buttons to Settings Menu
- Fix: OBB Pushes for Quest 3 Devices
- Fix: Crash when attempting to backup
- Fix: Searchbar Anchoring when resizing
- Fix: Remove instances where OBBs are pushed multiple times
- Fix: Additional Logging and Startup Optimizations
RSL 2.23
- Fix: Rookie should now only prompt for newer versions of all games
- Fix: Crash when attempting to delete invalid directories or files

3049
MainForm.Designer.cs generated

File diff suppressed because it is too large Load Diff

View File

@@ -241,7 +241,7 @@ namespace AndroidSideloader
}
if (!hasPublicConfig)
{
_ = FlexibleMessageBox.Show(Program.form, "Failed to fetch public mirror config, and the current one is unreadable.\r\nPlease ensure you can access https://wiki.vrpirates.club/ in your browser.", "Config Update Failed", MessageBoxButtons.OK);
_ = FlexibleMessageBox.Show(Program.form, "Failed to fetch public mirror config, and the current one is unreadable.\r\nPlease ensure you can access https://vrpirates.wiki/ in your browser.", "Config Update Failed", MessageBoxButtons.OK);
}
if (Directory.Exists($@"{Path.GetPathRoot(Environment.SystemDirectory)}\RSL\EBWebView"))
@@ -257,9 +257,7 @@ namespace AndroidSideloader
Properties.Settings.Default.MainDir = Environment.CurrentDirectory;
Properties.Settings.Default.Save();
await Task.Delay(100);
if (Directory.Exists(Sideloader.TempFolder))
{
Directory.Delete(Sideloader.TempFolder, true);
_ = Directory.CreateDirectory(Sideloader.TempFolder);
@@ -337,6 +335,9 @@ namespace AndroidSideloader
lblMirror.Text = " Offline Mode";
remotesList.Size = Size.Empty;
}
if (Properties.Settings.Default.nodevicemode) {
btnNoDevice.Text = "Enable Sideloading";
}
_ = Logger.Log("Attempting to Initalize ADB Server");
if (File.Exists($"{Path.GetPathRoot(Environment.SystemDirectory)}RSL\\platform-tools\\adb.exe"))
@@ -351,7 +352,6 @@ namespace AndroidSideloader
private async void Form1_Shown(object sender, EventArgs e)
{
EnterInstallBox.Checked = Properties.Settings.Default.EnterKeyInstall;
new Thread(() =>
{
Thread.Sleep(10000);
@@ -441,7 +441,8 @@ namespace AndroidSideloader
_ = FlexibleMessageBox.Show(Program.form, "Attempt to connect to saved IP has failed. This is usually due to rebooting the device or not having a STATIC IP set in your router.\nYou must enable Wireless ADB again!");
Properties.Settings.Default.IPAddress = "";
Properties.Settings.Default.Save();
File.Delete($"{Path.GetPathRoot(Environment.SystemDirectory)}RSL\\platform-tools\\StoredIP.txt");
try { File.Delete($"{Path.GetPathRoot(Environment.SystemDirectory)}RSL\\platform-tools\\StoredIP.txt"); }
catch (Exception ex) { Logger.Log($"Unable to delete StoredIP.txt due to {ex.Message}", LogLevel.ERROR); }
}
else
{
@@ -747,9 +748,6 @@ namespace AndroidSideloader
battery = Utilities.StringUtilities.KeepOnlyNumbers(battery);
BatteryLbl.Text = battery + "%";
return devicesComboBox.SelectedIndex;
}
public async void devicesbutton_Click(object sender, EventArgs e)
@@ -809,54 +807,47 @@ namespace AndroidSideloader
public void changeTitlebarToDevice()
{
if (!Devices.Contains("unauthorized"))
if (Devices.Contains("unauthorized"))
{
if (Devices[0].Length > 1 && Devices[0].Contains("unauthorized"))
{
DeviceConnected = false;
this.Invoke(() =>
{
Text = "Device Not Authorized";
DialogResult dialogResult = FlexibleMessageBox.Show(Program.form, "Device not authorized, be sure to authorize computer on device.", "Not Authorized", MessageBoxButtons.RetryCancel);
if (dialogResult == DialogResult.Retry)
{
devicesbutton.PerformClick();
;
}
else
{
return;
}
});
}
else if (Devices[0].Length > 1)
{
this.Invoke(() => { Text = "Device Connected with ID | " + Devices[0].Replace("device", String.Empty); });
DeviceConnected = true;
}
else
{
DeviceConnected = false;
this.Invoke(() =>
{
DeviceConnected = false;
Text = "No Device Connected";
if (!Properties.Settings.Default.nodevicemode)
{
DialogResult dialogResult = FlexibleMessageBox.Show(Program.form, "No device found. Please ensure the following: \n\n -Developer mode is enabled. \n -ADB drivers are installed. \n -ADB connection is enabled on your device (this can reset). \n -Your device is plugged in.\n\nThen press \"Retry\"", "No device found.", MessageBoxButtons.RetryCancel);
Text = "Device Not Authorized";
DialogResult dialogResult = FlexibleMessageBox.Show(Program.form, "Please check inside your headset for ADB DEBUGGING prompt/notification, check the box \"Always allow from this computer.\" and hit OK.", "Not Authorized", MessageBoxButtons.RetryCancel);
if (dialogResult == DialogResult.Retry)
{
devicesbutton.PerformClick();
}
else
{
return;
}
});
}
else if (Devices[0].Length > 1)
{
this.Invoke(() => { Text = "Device Connected with ID | " + Devices[0].Replace("device", String.Empty); });
DeviceConnected = true;
}
else
{
return;
}
}
});
}
this.Invoke(() =>
{
DeviceConnected = false;
Text = "No Device Connected";
if (!Properties.Settings.Default.nodevicemode)
{
DialogResult dialogResult = FlexibleMessageBox.Show(Program.form, "No device found. Please ensure the following: \n\n -Developer mode is enabled. \n -ADB drivers are installed. \n -ADB connection is enabled on your device (this can reset). \n -Your device is plugged in.\n\nThen press \"Retry\"", "No device found.", MessageBoxButtons.RetryCancel);
if (dialogResult == DialogResult.Retry)
{
devicesbutton.PerformClick();
}
else
{
return;
}
}
});
}
}
@@ -1660,6 +1651,9 @@ namespace AndroidSideloader
private async void initListView()
{
int upToDateCount = 0;
int updateAvailableCount = 0;
int newerThanListCount = 0;
rookienamelist = String.Empty;
loaded = false;
string lines = Properties.Settings.Default.InstalledApps;
@@ -1720,7 +1714,6 @@ namespace AndroidSideloader
if (string.Equals(release[SideloaderRCLONE.PackageNameIndex], packagename))
{
Game.ForeColor = colorFont_installedGame;
string InstalledVersionCode;
InstalledVersionCode = ADB.RunAdbCommandToString($"shell \"dumpsys package {packagename} | grep versionCode -F\"").Output;
InstalledVersionCode = Utilities.StringUtilities.RemoveEverythingBeforeFirst(InstalledVersionCode, "versionCode=");
@@ -1741,16 +1734,21 @@ namespace AndroidSideloader
}
}
}
if (installedVersionInt == cloudVersionInt) {
upToDateCount++;
}
//ulong cloudVersionInt = ulong.Parse(Utilities.StringUtilities.KeepOnlyNumbers(release[SideloaderRCLONE.VersionCodeIndex]));
_ = Logger.Log($"Checked game {release[SideloaderRCLONE.GameNameIndex]}; cloudversion={cloudVersionInt} localversion={installedVersionInt}");
if (installedVersionInt < cloudVersionInt)
{
Game.ForeColor = colorFont_updateAvailable;
updateAvailableCount++;
}
if (installedVersionInt > cloudVersionInt)
{
newerThanListCount++;
bool dontget = false;
if (blacklist.Contains(packagename))
{
@@ -1969,6 +1967,9 @@ namespace AndroidSideloader
_ = Focus();
}
changeTitle("Populating update list... \n\n");
lblUpToDate.Text = $"[{upToDateCount}] UP TO DATE";
lblUpdateAvailable.Text = $"[{updateAvailableCount}] UPDATE AVAILABLE";
lblNeedsDonate.Text = $"[{newerThanListCount}] NEWER THAN LIST";
ListViewItem[] arr = GameList.ToArray();
gamesListView.BeginUpdate();
gamesListView.Items.Clear();
@@ -2235,7 +2236,7 @@ namespace AndroidSideloader
private async void ADBWirelessEnable_Click(object sender, EventArgs e)
{
bool Manual;
DialogResult res = FlexibleMessageBox.Show("Do you want Rookie to find the IP or enter it manually\nYes = Automatic\nNo = Manual", "Automatic/Manual", MessageBoxButtons.YesNo);
DialogResult res = FlexibleMessageBox.Show(Program.form, "Do you want Rookie to find the IP or enter it manually\nYes = Automatic\nNo = Manual", "Automatic/Manual", MessageBoxButtons.YesNo);
Manual = res == DialogResult.No;
if (Manual)
{
@@ -2280,7 +2281,11 @@ namespace AndroidSideloader
Program.form.showAvailableSpace();
Properties.Settings.Default.IPAddress = IPcmnd;
Properties.Settings.Default.Save();
File.WriteAllText($"{Path.GetPathRoot(Environment.SystemDirectory)}RSL\\platform-tools\\StoredIP.txt", IPcmnd);
try
{
File.WriteAllText($"{Path.GetPathRoot(Environment.SystemDirectory)}RSL\\platform-tools\\StoredIP.txt", IPcmnd);
}
catch (Exception ex) { Logger.Log($"Unable to write to StoredIP.txt due to {ex.Message}", LogLevel.ERROR); }
ADB.wirelessadbON = true;
_ = ADB.RunAdbCommandToString("shell settings put global wifi_wakeup_available 1");
_ = ADB.RunAdbCommandToString("shell settings put global wifi_wakeup_enabled 1");
@@ -2401,7 +2406,7 @@ Things you can try:
1) Move the Rookie directory (Folder containing AndroidSideloader.exe) into {Path.GetPathRoot(Environment.SystemDirectory)}RSL
2) Try changing your systems DNS to either Cloudflare/Google/OpenDNS
3) Try using a systemwide VPN like ProtonVPN
4) Sponsor a private server (https://wiki.vrpirates.club/en/Howto/sponsored-mirrors)
4) Sponsor a private server (https://vrpirates.wiki/en/Howto/sponsored-mirrors)
";
_ = FlexibleMessageBox.Show(Program.form, errorMessage, "Unable to connect to Remote Server");
@@ -2415,7 +2420,13 @@ Things you can try:
gamesQueueList.RemoveAt(0);
}
public void SetProgress(int progress)
{
progressBar.Value = progress;
}
public bool isinstalling = false;
public static bool isInDownloadExtract = false;
public static bool removedownloading = false;
public async void downloadInstallGameButton_Click(object sender, EventArgs e)
{
@@ -2526,7 +2537,7 @@ Things you can try:
bool doDownload = true;
if (Directory.Exists(gameDirectory))
{
DialogResult res = FlexibleMessageBox.Show(
DialogResult res = FlexibleMessageBox.Show(Program.form,
$"{gameName} exists in destination directory.\r\nWould you like to overwrite it?",
"Download again?", MessageBoxButtons.YesNo);
@@ -2646,7 +2657,7 @@ Things you can try:
}
catch (Exception ex)
{
_ = FlexibleMessageBox.Show($"Error deleting game files: {ex.Message}");
_ = FlexibleMessageBox.Show(Program.form, $"Error deleting game files: {ex.Message}");
}
changeTitle("");
break;
@@ -2676,7 +2687,7 @@ Things you can try:
//Remove current game
cleanupActiveDownloadStatus();
_ = FlexibleMessageBox.Show($"Rclone error: {gameDownloadOutput.Error}");
_ = FlexibleMessageBox.Show(Program.form, $"Rclone error: {gameDownloadOutput.Error}");
output += new ProcessOutput("", "Download Failed");
}
}
@@ -2686,6 +2697,13 @@ Things you can try:
Thread extractionThread = new Thread(() =>
{
Invoke(new Action(() =>
{
speedLabel.Text = "Extracting..."; etaLabel.Text = "Please wait...";
progressBar.Style = ProgressBarStyle.Continuous;
progressBar.Value = 0;
isInDownloadExtract = true;
}));
try
{
changeTitle("Extracting " + gameName, false);
@@ -2699,7 +2717,7 @@ Things you can try:
cleanupActiveDownloadStatus();
}));
otherError = true;
_ = FlexibleMessageBox.Show($"7zip error: {ex.Message}");
this.Invoke(() => _ = FlexibleMessageBox.Show(Program.form, $"7zip error: {ex.Message}"));
output += new ProcessOutput("", "Extract Failed");
}
})
@@ -2822,22 +2840,22 @@ Things you can try:
{
obbsMismatch = await compareOBBSizes(packagename, gameName, output);
}
catch (Exception ex) { _ = FlexibleMessageBox.Show($"Error comparing OBB sizes: {ex.Message}"); }
catch (Exception ex) { _ = FlexibleMessageBox.Show(Program.form, $"Error comparing OBB sizes: {ex.Message}"); }
}
}
}
}
else
{
output.Output = "\n--- NO DEVICE MODE ---\nAll tasks finished.\n--- NO DEVICE MODE --";
}
}
else
{
output.Output = "\n--- NO DEVICE MODE ---\nAll tasks finished.\n--- NO DEVICE MODE --";
}
changeTitle($"Installation of {gameName} completed.");
}
if (Properties.Settings.Default.deleteAllAfterInstall)
{
changeTitle("Deleting game files", false);
try { Directory.Delete(Properties.Settings.Default.downloadDir + "\\" + gameName, true); } catch (Exception ex) { _ = FlexibleMessageBox.Show($"Error deleting game files: {ex.Message}"); }
try { Directory.Delete(Properties.Settings.Default.downloadDir + "\\" + gameName, true); } catch (Exception ex) { _ = FlexibleMessageBox.Show(Program.form, $"Error deleting game files: {ex.Message}"); }
}
//Remove current game
cleanupActiveDownloadStatus();
@@ -2917,7 +2935,7 @@ Things you can try:
}
catch (FormatException ex)
{
_ = FlexibleMessageBox.Show("The OBB Folder on the Quest seems to not exist or be empty\nPlease redownload the game or sideload the obb manually.", "OBB Size Undetectable!", MessageBoxButtons.OK);
_ = FlexibleMessageBox.Show(Program.form, "The OBB Folder on the Quest seems to not exist or be empty\nPlease redownload the game or sideload the obb manually.", "OBB Size Undetectable!", MessageBoxButtons.OK);
Logger.Log($"Unable to compare obbs with the exception: {ex.Message}", LogLevel.ERROR);
FlexibleMessageBox.Show($"Error comparing OBB sizes: {ex.Message}");
return false;
@@ -2925,7 +2943,7 @@ Things you can try:
catch (Exception ex)
{
Logger.Log($"Unexpected error occurred while comparing OBBs: {ex.Message}", LogLevel.ERROR);
FlexibleMessageBox.Show($"Unexpected error comparing OBB sizes: {ex.Message}");
FlexibleMessageBox.Show(Program.form, $"Unexpected error comparing OBB sizes: {ex.Message}");
return false;
}
}
@@ -2939,7 +2957,7 @@ Things you can try:
// Logic to handle mismatches after comparison.
private async Task<bool> handleObbSizeMismatchAsync(string packageName, string gameName, ProcessOutput output)
{
var dialogResult = MessageBox.Show("Warning! It seems like the OBB wasn't pushed correctly, this means that the game may not launch correctly.\n Do you want to retry the push?", "OBB Size Mismatch!", MessageBoxButtons.YesNo);
var dialogResult = MessageBox.Show(Program.form, "Warning! It seems like the OBB wasn't pushed correctly, this means that the game may not launch correctly.\n Do you want to retry the push?", "OBB Size Mismatch!", MessageBoxButtons.YesNo);
if (dialogResult != DialogResult.Yes)
{
@@ -3091,6 +3109,7 @@ Things you can try:
}
else
{
if (!Properties.Settings.Default.TrailersOn) { Sideloader.killWebView2(); }
RCLONE.killRclone();
}
}
@@ -3105,12 +3124,14 @@ Things you can try:
}
else
{
if (!Properties.Settings.Default.TrailersOn) { Sideloader.killWebView2(); }
RCLONE.killRclone();
_ = ADB.RunAdbCommandToString("kill-server");
}
}
else
{
if (!Properties.Settings.Default.TrailersOn) { Sideloader.killWebView2(); }
RCLONE.killRclone();
_ = ADB.RunAdbCommandToString("kill-server");
}
@@ -3211,12 +3232,9 @@ Things you can try:
{
if (searchTextBox.Visible)
{
if (Properties.Settings.Default.EnterKeyInstall)
if (gamesListView.SelectedItems.Count > 0)
{
if (gamesListView.SelectedItems.Count > 0)
{
downloadInstallGameButton_Click(sender, e);
}
downloadInstallGameButton_Click(sender, e);
}
}
searchTextBox.Visible = false;
@@ -3535,14 +3553,14 @@ Things you can try:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
try
{
client.DownloadFile("https://wiki.vrpirates.club/downloads/runtimes.7z", "runtimes.7z");
client.DownloadFile("https://vrpirates.wiki/downloads/runtimes.7z", "runtimes.7z");
Utilities.Zip.ExtractFile(Environment.CurrentDirectory + "\\runtimes.7z", Environment.CurrentDirectory);
File.Delete("runtimes.7z");
}
catch (Exception ex)
{
_ = FlexibleMessageBox.Show($"You are unable to access the wiki page with the Exception: {ex.Message}\n");
_ = FlexibleMessageBox.Show("Required files for the Trailers were unable to be downloaded, please use Thumbnails instead");
_ = FlexibleMessageBox.Show(Program.form, $"You are unable to access the wiki page with the Exception: {ex.Message}\n");
_ = FlexibleMessageBox.Show(Program.form, "Required files for the Trailers were unable to be downloaded, please use Thumbnails instead");
enviromentCreated = true;
webView21.Hide();
}
@@ -3608,94 +3626,6 @@ Things you can try:
{
_ = Process.Start("https://github.com/VRPirates/rookie");
}
private async void removeQUSetting_Click(object sender, EventArgs e)
{
if (m_combo.SelectedIndex == -1)
{
_ = FlexibleMessageBox.Show(Program.form, "Please select an app first");
return;
}
ProcessOutput output = new ProcessOutput(String.Empty, String.Empty);
progressBar.Style = ProgressBarStyle.Marquee;
string GameName = m_combo.SelectedItem.ToString();
Thread t1 = new Thread(() =>
{
output += Sideloader.DeleteFile(GameName);
});
t1.Start();
while (t1.IsAlive)
{
await Task.Delay(100);
}
showAvailableSpace();
progressBar.Style = ProgressBarStyle.Continuous;
m_combo.Items.RemoveAt(m_combo.SelectedIndex);
ShowPrcOutput(output);
listAppsBtn();
initListView();
}
private async void InstallQUset_Click(object sender, EventArgs e)
{
if (m_combo.SelectedIndex == -1)
{
_ = FlexibleMessageBox.Show(Program.form, "Please select an app first");
return;
}
ProcessOutput output = new ProcessOutput(String.Empty, String.Empty);
progressBar.Style = ProgressBarStyle.Marquee;
string GameName = m_combo.SelectedItem.ToString();
string pckg = Sideloader.gameNameToPackageName(GameName);
Thread t1 = new Thread(() =>
{
_ = ADB.RunAdbCommandToString($"shell mkdir sdcard/android/data/{pckg}");
_ = ADB.RunAdbCommandToString($"shell mkdir sdcard/android/data/{pckg}/private");
Random r = new Random();
int x = r.Next(999999999);
int y = r.Next(9999999);
long sum = (y * (long)1000000000) + x;
int x2 = r.Next(999999999);
int y2 = r.Next(9999999);
long sum2 = (y2 * (long)1000000000) + x2;
Properties.Settings.Default.QUStringF = $"{{\"user_id\":{sum},\"app_id\":\"{sum2}\",";
Properties.Settings.Default.Save();
File.WriteAllText("delete_settings", String.Empty);
string boff = Properties.Settings.Default.QUStringF + Properties.Settings.Default.QUString;
File.WriteAllText("config.json", boff);
output += ADB.RunAdbCommandToString($"push \"{Properties.Settings.Default.MainDir}\\delete_settings\" /sdcard/android/data/{pckg}/private/delete_settings");
output += ADB.RunAdbCommandToString($"push \"{Environment.CurrentDirectory}\\config.json\" /sdcard/android/data/{pckg}/private/");
});
t1.Start();
while (t1.IsAlive)
{
await Task.Delay(100);
}
showAvailableSpace();
progressBar.Style = ProgressBarStyle.Continuous;
m_combo.Items.RemoveAt(m_combo.SelectedIndex);
ShowPrcOutput(output);
listAppsBtn();
initListView();
}
private void searchTextBox_Leave(object sender, EventArgs e)
{
if (searchTextBox.Visible)
@@ -3714,12 +3644,9 @@ Things you can try:
{
if (e.KeyChar == (char)Keys.Enter)
{
if (Properties.Settings.Default.EnterKeyInstall)
if (gamesListView.SelectedItems.Count > 0)
{
if (gamesListView.SelectedItems.Count > 0)
{
downloadInstallGameButton_Click(sender, e);
}
downloadInstallGameButton_Click(sender, e);
}
}
}
@@ -3857,12 +3784,6 @@ Things you can try:
lblNeedsDonate.Click += lblNeedsDonate_Click;
}
private void EnterInstallBox_CheckedChanged(object sender, EventArgs e)
{
Properties.Settings.Default.EnterKeyInstall = EnterInstallBox.Checked;
Properties.Settings.Default.Save();
}
private async void ADBcommandbox_KeyPress(object sender, KeyPressEventArgs e)
{
searchTextBox.KeyPress += new
@@ -3879,7 +3800,7 @@ Things you can try:
if (errorChecker.Contains("cannot resolve host") | errorChecker.Contains("cannot connect to"))
{
changeTitle(String.Empty);
_ = FlexibleMessageBox.Show("Manual ADB over WiFi Connection failed\nExiting...", "Manual IP Connection Failed!", MessageBoxButtons.OK);
_ = FlexibleMessageBox.Show(Program.form, "Manual ADB over WiFi Connection failed\nExiting...", "Manual IP Connection Failed!", MessageBoxButtons.OK);
manualIP = false;
ADBcommandbox.Visible = false;
lblAdbCommand.Visible = false;
@@ -3895,7 +3816,8 @@ Things you can try:
Program.form.showAvailableSpace();
Properties.Settings.Default.IPAddress = IPcmnd;
Properties.Settings.Default.Save();
File.WriteAllText($"{Path.GetPathRoot(Environment.SystemDirectory)}RSL\\platform-tools\\StoredIP.txt", IPcmnd);
try { File.WriteAllText($"{Path.GetPathRoot(Environment.SystemDirectory)}RSL\\platform-tools\\StoredIP.txt", IPcmnd); }
catch (Exception ex) { Logger.Log($"Unable to write to StoredIP.txt due to {ex.Message}", LogLevel.ERROR); }
ADB.wirelessadbON = true;
_ = ADB.RunAdbCommandToString("shell settings put global wifi_wakeup_available 1");
_ = ADB.RunAdbCommandToString("shell settings put global wifi_wakeup_enabled 1");
@@ -4332,11 +4254,60 @@ Things you can try:
lblNeedsDonate.Click += lblNeedsDonate_Click;
}
public static void OpenDirectory(string directoryPath) {
if (Directory.Exists(directoryPath))
{
ProcessStartInfo p = new ProcessStartInfo
{
Arguments = directoryPath,
FileName = "explorer.exe"
};
Process.Start(p);
}
}
private void searchTextBox_Click(object sender, EventArgs e)
{
searchTextBox.Clear();
_ = searchTextBox.Focus();
}
private async void btnRunAdbCmd_Click(object sender, EventArgs e)
{
ADBcommandbox.Visible = true;
ADBcommandbox.Clear();
lblAdbCommand.Visible = true;
lblShortcutCtrlR.Visible = true;
label2.Visible = true;
_ = ADBcommandbox.Focus();
}
private void btnOpenDownloads_Click(object sender, EventArgs e)
{
string pathToOpen = Properties.Settings.Default.customDownloadDir ? $"{Properties.Settings.Default.downloadDir}" : $"{Environment.CurrentDirectory}";
OpenDirectory(pathToOpen);
}
private void btnNoDevice_Click(object sender, EventArgs e)
{
bool currentStatus = Properties.Settings.Default.nodevicemode || false;
if (currentStatus) {
// No Device Mode is currently On. Toggle it Off
Properties.Settings.Default.nodevicemode = false;
btnNoDevice.Text = "Disable Sideloading";
changeTitle($"Sideloading has been Enabled");
} else {
Properties.Settings.Default.nodevicemode = true;
Properties.Settings.Default.deleteAllAfterInstall = false;
btnNoDevice.Text = "Enable Sideloading";
changeTitle($"Sideloading Disabled. Games will only Download.");
}
Properties.Settings.Default.Save();
}
}
public static class ControlExtensions

View File

@@ -123,9 +123,6 @@
<metadata name="etaLabel_Tooltip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>178, 56</value>
</metadata>
<metadata name="EnterInstallBox_Tooltip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>514, 95</value>
</metadata>
<metadata name="startsideloadbutton_Tooltip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
@@ -159,12 +156,6 @@
<metadata name="settingsButton_Tooltip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>319, 56</value>
</metadata>
<metadata name="InstallQUset_Tooltip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 56</value>
</metadata>
<metadata name="removeQUSetting_Tooltip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1365, 17</value>
</metadata>
<metadata name="QuestOptionsButton_Tooltip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1158, 17</value>
</metadata>
@@ -180,4 +171,10 @@
<metadata name="listApkButton_Tooltip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>376, 17</value>
</metadata>
<metadata name="speedLabel_Tooltip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>219, 17</value>
</metadata>
<metadata name="etaLabel_Tooltip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>178, 56</value>
</metadata>
</root>

View File

@@ -203,101 +203,7 @@ namespace AndroidSideloader.Properties {
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool QUsett {
get {
return ((bool)(this["QUsett"]));
}
set {
this["QUsett"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string QuChecked {
get {
return ((string)(this["QuChecked"]));
}
set {
this["QuChecked"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public string QUhz {
get {
return ((string)(this["QUhz"]));
}
set {
this["QUhz"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public string QUres {
get {
return ((string)(this["QUres"]));
}
set {
this["QUres"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public string QUy {
get {
return ((string)(this["QUy"]));
}
set {
this["QUy"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public string QUx {
get {
return ((string)(this["QUx"]));
}
set {
this["QUx"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Change Me")]
public string QUname {
get {
return ((string)(this["QUname"]));
}
set {
this["QUname"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string QUString {
get {
return ((string)(this["QUString"]));
}
set {
this["QUString"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -310,18 +216,7 @@ namespace AndroidSideloader.Properties {
this["MainDir"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string QUStringF {
get {
return ((string)(this["QUStringF"]));
}
set {
this["QUStringF"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -395,18 +290,6 @@ namespace AndroidSideloader.Properties {
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool EnterKeyInstall {
get {
return ((bool)(this["EnterKeyInstall"]));
}
set {
this["EnterKeyInstall"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
@@ -466,19 +349,7 @@ namespace AndroidSideloader.Properties {
this["CurrentCrashName"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool QUturnedon {
get {
return ((bool)(this["QUturnedon"]));
}
set {
this["QUturnedon"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]

View File

@@ -47,36 +47,9 @@
<Setting Name="ADBPath" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="QUsett" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="QuChecked" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="QUhz" Type="System.String" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="QUres" Type="System.String" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="QUy" Type="System.String" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="QUx" Type="System.String" Scope="User">
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="QUname" Type="System.String" Scope="User">
<Value Profile="(Default)">Change Me</Value>
</Setting>
<Setting Name="QUString" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="MainDir" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="QUStringF" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="delsh" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
@@ -95,9 +68,6 @@
<Setting Name="PackageNameToCB" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="EnterKeyInstall" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="DownUpHeld" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
@@ -113,9 +83,6 @@
<Setting Name="CurrentCrashName" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="QUturnedon" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="adbdebugwarned" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>

474
QuestForm.Designer.cs generated
View File

@@ -35,42 +35,24 @@ namespace AndroidSideloader
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(QuestForm));
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.QUon = new System.Windows.Forms.CheckBox();
this.label12 = new System.Windows.Forms.Label();
this.label13 = new System.Windows.Forms.Label();
this.DeleteShots = new System.Windows.Forms.CheckBox();
this.splitter1 = new System.Windows.Forms.Splitter();
this.label10 = new System.Windows.Forms.Label();
this.label14 = new System.Windows.Forms.Label();
this.label15 = new System.Windows.Forms.Label();
this.label16 = new System.Windows.Forms.Label();
this.CPUComboBox = new System.Windows.Forms.ComboBox();
this.GPUComboBox = new System.Windows.Forms.ComboBox();
this.label7 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.ResolutionLabel = new System.Windows.Forms.Label();
this.GlobalUsername = new System.Windows.Forms.TextBox();
this.FOVy = new System.Windows.Forms.TextBox();
this.FOVx = new System.Windows.Forms.TextBox();
this.UsrBox = new System.Windows.Forms.TextBox();
this.ResBox = new System.Windows.Forms.TextBox();
this.TextureResTextBox = new System.Windows.Forms.TextBox();
this.QURfrRt = new System.Windows.Forms.ComboBox();
this.RefreshRateComboBox = new System.Windows.Forms.ComboBox();
this.button1 = new AndroidSideloader.RoundButton();
this.WifiWake = new AndroidSideloader.RoundButton();
this.questVids = new AndroidSideloader.RoundButton();
this.questPics = new AndroidSideloader.RoundButton();
this.QUEnable = new AndroidSideloader.RoundButton();
this.deleteButton = new AndroidSideloader.RoundButton();
this.ResetQU = new AndroidSideloader.RoundButton();
this.button3 = new AndroidSideloader.RoundButton();
this.label3 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label1
@@ -79,11 +61,11 @@ namespace AndroidSideloader
this.label1.BackColor = System.Drawing.Color.Transparent;
this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.ForeColor = System.Drawing.Color.LightCyan;
this.label1.Location = new System.Drawing.Point(31, 5);
this.label1.Location = new System.Drawing.Point(72, 276);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(309, 20);
this.label1.Size = new System.Drawing.Size(165, 20);
this.label1.TabIndex = 6;
this.label1.Text = "Temporary settings for all Quest apps";
this.label1.Text = "Temporary Settings";
this.label1.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// label2
@@ -93,41 +75,13 @@ namespace AndroidSideloader
this.label2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.ForeColor = System.Drawing.Color.LightSteelBlue;
this.label2.Location = new System.Drawing.Point(70, 28);
this.label2.Location = new System.Drawing.Point(83, 303);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(230, 32);
this.label2.Size = new System.Drawing.Size(143, 16);
this.label2.TabIndex = 6;
this.label2.Text = "Reboot to reset. - Turn screen off, \r\nthen back on with hold button to apply.";
this.label2.Text = "Reboot Quest to Reset";
this.label2.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// label3
//
this.label3.AutoSize = true;
this.label3.BackColor = System.Drawing.Color.Transparent;
this.label3.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label3.ForeColor = System.Drawing.Color.LightCyan;
this.label3.Location = new System.Drawing.Point(57, 339);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(256, 20);
this.label3.TabIndex = 6;
this.label3.Text = "QU Settings (for -QU releases)";
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label4
//
this.label4.AutoSize = true;
this.label4.BackColor = System.Drawing.Color.Transparent;
this.label4.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label4.ForeColor = System.Drawing.Color.LightSteelBlue;
this.label4.Location = new System.Drawing.Point(16, 363);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(337, 16);
this.label4.TabIndex = 6;
this.label4.Text = "Persists on device reboot. Enter 0 to reset any category.\r\n";
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label11
//
this.label11.AutoSize = true;
@@ -135,31 +89,13 @@ namespace AndroidSideloader
this.label11.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.label11.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label11.ForeColor = System.Drawing.Color.LightCyan;
this.label11.Location = new System.Drawing.Point(26, 217);
this.label11.Location = new System.Drawing.Point(18, 94);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(319, 20);
this.label11.Size = new System.Drawing.Size(272, 20);
this.label11.TabIndex = 6;
this.label11.Text = "Transfer screen/videoshots to Desktop";
this.label11.Text = "Transfer screenshots to Desktop";
this.label11.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// QUon
//
this.QUon.AutoSize = true;
this.QUon.BackColor = System.Drawing.Color.Transparent;
this.QUon.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
this.QUon.Cursor = System.Windows.Forms.Cursors.Default;
this.QUon.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.QUon.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F);
this.QUon.ForeColor = System.Drawing.Color.LightSkyBlue;
this.QUon.Location = new System.Drawing.Point(111, 383);
this.QUon.Name = "QUon";
this.QUon.Size = new System.Drawing.Size(148, 21);
this.QUon.TabIndex = 8;
this.QUon.Text = "Enable QU Settings";
this.QUon.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.QUon.UseVisualStyleBackColor = false;
this.QUon.CheckedChanged += new System.EventHandler(this.QUon_CheckedChanged);
//
// label12
//
this.label12.AutoSize = true;
@@ -167,27 +103,13 @@ namespace AndroidSideloader
this.label12.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.label12.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label12.ForeColor = System.Drawing.Color.LightCyan;
this.label12.Location = new System.Drawing.Point(121, 656);
this.label12.Location = new System.Drawing.Point(92, 9);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(128, 20);
this.label12.Size = new System.Drawing.Size(124, 20);
this.label12.TabIndex = 6;
this.label12.Text = "Set username*";
this.label12.Text = "Set Username";
this.label12.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label13
//
this.label13.AutoSize = true;
this.label13.BackColor = System.Drawing.Color.Transparent;
this.label13.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.label13.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label13.ForeColor = System.Drawing.Color.LightSteelBlue;
this.label13.Location = new System.Drawing.Point(83, 678);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(203, 16);
this.label13.TabIndex = 6;
this.label13.Text = "*For games not released by -QU.";
this.label13.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// DeleteShots
//
this.DeleteShots.AutoSize = true;
@@ -197,7 +119,7 @@ namespace AndroidSideloader
this.DeleteShots.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.DeleteShots.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F);
this.DeleteShots.ForeColor = System.Drawing.Color.LightSkyBlue;
this.DeleteShots.Location = new System.Drawing.Point(64, 296);
this.DeleteShots.Location = new System.Drawing.Point(33, 232);
this.DeleteShots.Name = "DeleteShots";
this.DeleteShots.Size = new System.Drawing.Size(242, 21);
this.DeleteShots.TabIndex = 7;
@@ -210,7 +132,7 @@ namespace AndroidSideloader
//
this.splitter1.Location = new System.Drawing.Point(0, 0);
this.splitter1.Name = "splitter1";
this.splitter1.Size = new System.Drawing.Size(3, 737);
this.splitter1.Size = new System.Drawing.Size(3, 486);
this.splitter1.TabIndex = 14;
this.splitter1.TabStop = false;
//
@@ -218,7 +140,7 @@ namespace AndroidSideloader
//
this.label10.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
this.label10.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label10.Location = new System.Drawing.Point(-4, 327);
this.label10.Location = new System.Drawing.Point(-4, 261);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(394, 3);
this.label10.TabIndex = 15;
@@ -227,20 +149,11 @@ namespace AndroidSideloader
//
this.label14.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
this.label14.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label14.Location = new System.Drawing.Point(-15, 211);
this.label14.Location = new System.Drawing.Point(-4, 80);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(394, 3);
this.label14.TabIndex = 17;
//
// label15
//
this.label15.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
this.label15.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.label15.Location = new System.Drawing.Point(-12, 646);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(394, 3);
this.label15.TabIndex = 18;
//
// label16
//
this.label16.AutoSize = true;
@@ -248,11 +161,11 @@ namespace AndroidSideloader
this.label16.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.label16.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label16.ForeColor = System.Drawing.Color.LightSteelBlue;
this.label16.Location = new System.Drawing.Point(14, 241);
this.label16.Location = new System.Drawing.Point(34, 153);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(342, 16);
this.label16.Size = new System.Drawing.Size(240, 16);
this.label16.TabIndex = 6;
this.label16.Text = "Desktop\\Quest Screenshots Desktop\\Quest Videoshots";
this.label16.Text = "Exports to: Desktop\\Quest Screenshots";
this.label16.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// CPUComboBox
@@ -270,9 +183,9 @@ namespace AndroidSideloader
"2",
"3",
"4"});
this.CPUComboBox.Location = new System.Drawing.Point(13, 123);
this.CPUComboBox.Location = new System.Drawing.Point(38, 383);
this.CPUComboBox.Name = "CPUComboBox";
this.CPUComboBox.Size = new System.Drawing.Size(346, 26);
this.CPUComboBox.Size = new System.Drawing.Size(232, 26);
this.CPUComboBox.TabIndex = 2;
this.CPUComboBox.Text = "Select CPU level (0 for default)";
//
@@ -291,92 +204,12 @@ namespace AndroidSideloader
"2",
"3",
"4"});
this.GPUComboBox.Location = new System.Drawing.Point(13, 94);
this.GPUComboBox.Location = new System.Drawing.Point(38, 354);
this.GPUComboBox.Name = "GPUComboBox";
this.GPUComboBox.Size = new System.Drawing.Size(346, 26);
this.GPUComboBox.Size = new System.Drawing.Size(232, 26);
this.GPUComboBox.TabIndex = 1;
this.GPUComboBox.Text = "Select GPU level (0 for default)";
//
// label7
//
this.label7.AutoSize = true;
this.label7.BackColor = System.Drawing.Color.Transparent;
this.label7.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.label7.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.label7.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.label7.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.label7.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.label7.Location = new System.Drawing.Point(13, 532);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(56, 18);
this.label7.TabIndex = 3;
this.label7.Text = "Fov - X";
this.label7.Visible = false;
//
// label8
//
this.label8.AutoSize = true;
this.label8.BackColor = System.Drawing.Color.Transparent;
this.label8.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.label8.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.label8.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.label8.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.label8.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.label8.Location = new System.Drawing.Point(191, 532);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(55, 18);
this.label8.TabIndex = 3;
this.label8.Text = "Fov - Y";
this.label8.Visible = false;
//
// label9
//
this.label9.AutoSize = true;
this.label9.BackColor = System.Drawing.Color.Transparent;
this.label9.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.label9.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.label9.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.label9.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.label9.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.label9.Location = new System.Drawing.Point(12, 583);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(95, 18);
this.label9.TabIndex = 3;
this.label9.Text = "Refresh Rate";
this.label9.Visible = false;
//
// label6
//
this.label6.AutoSize = true;
this.label6.BackColor = System.Drawing.Color.Transparent;
this.label6.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.label6.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.label6.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.label6.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.label6.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.label6.Location = new System.Drawing.Point(93, 484);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(173, 18);
this.label6.TabIndex = 3;
this.label6.Text = "Enter Custom Username";
this.label6.Visible = false;
//
// label5
//
this.label5.AutoSize = true;
this.label5.BackColor = System.Drawing.Color.Transparent;
this.label5.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.label5.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.label5.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.label5.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.label5.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.label5.Location = new System.Drawing.Point(16, 434);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(337, 18);
this.label5.TabIndex = 3;
this.label5.Text = "Custom Resolution Width (Height auto calculated)";
this.label5.Visible = false;
//
// ResolutionLabel
//
this.ResolutionLabel.AutoSize = true;
@@ -386,7 +219,7 @@ namespace AndroidSideloader
this.ResolutionLabel.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.ResolutionLabel.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.ResolutionLabel.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.ResolutionLabel.Location = new System.Drawing.Point(12, 183);
this.ResolutionLabel.Location = new System.Drawing.Point(38, 413);
this.ResolutionLabel.Name = "ResolutionLabel";
this.ResolutionLabel.Size = new System.Drawing.Size(153, 18);
this.ResolutionLabel.TabIndex = 3;
@@ -400,76 +233,12 @@ namespace AndroidSideloader
this.GlobalUsername.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.GlobalUsername.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.GlobalUsername.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.GlobalUsername.Location = new System.Drawing.Point(12, 701);
this.GlobalUsername.Location = new System.Drawing.Point(33, 39);
this.GlobalUsername.Name = "GlobalUsername";
this.GlobalUsername.Size = new System.Drawing.Size(262, 24);
this.GlobalUsername.Size = new System.Drawing.Size(142, 24);
this.GlobalUsername.TabIndex = 12;
this.GlobalUsername.TextChanged += new System.EventHandler(this.GlobalUsername_TextChanged);
//
// FOVy
//
this.FOVy.BackColor = global::AndroidSideloader.Properties.Settings.Default.TextBoxColor;
this.FOVy.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "TextBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.FOVy.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.FOVy.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.FOVy.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.FOVy.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.FOVy.Location = new System.Drawing.Point(189, 507);
this.FOVy.Name = "FOVy";
this.FOVy.Size = new System.Drawing.Size(169, 24);
this.FOVy.TabIndex = 12;
this.FOVy.Text = "0";
this.FOVy.Visible = false;
this.FOVy.TextChanged += new System.EventHandler(this.FOVy_TextChanged);
//
// FOVx
//
this.FOVx.BackColor = global::AndroidSideloader.Properties.Settings.Default.TextBoxColor;
this.FOVx.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "TextBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.FOVx.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.FOVx.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.FOVx.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.FOVx.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.FOVx.Location = new System.Drawing.Point(13, 507);
this.FOVx.Name = "FOVx";
this.FOVx.Size = new System.Drawing.Size(169, 24);
this.FOVx.TabIndex = 11;
this.FOVx.Text = "0";
this.FOVx.Visible = false;
this.FOVx.TextChanged += new System.EventHandler(this.FOVx_TextChanged);
//
// UsrBox
//
this.UsrBox.BackColor = global::AndroidSideloader.Properties.Settings.Default.TextBoxColor;
this.UsrBox.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "TextBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.UsrBox.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.UsrBox.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.UsrBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.UsrBox.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.UsrBox.Location = new System.Drawing.Point(13, 459);
this.UsrBox.Name = "UsrBox";
this.UsrBox.Size = new System.Drawing.Size(345, 24);
this.UsrBox.TabIndex = 10;
this.UsrBox.Text = "0";
this.UsrBox.Visible = false;
this.UsrBox.TextChanged += new System.EventHandler(this.UsrBox_TextChanged);
//
// ResBox
//
this.ResBox.BackColor = global::AndroidSideloader.Properties.Settings.Default.TextBoxColor;
this.ResBox.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "TextBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.ResBox.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.ResBox.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.ResBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.ResBox.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.ResBox.Location = new System.Drawing.Point(13, 409);
this.ResBox.Name = "ResBox";
this.ResBox.Size = new System.Drawing.Size(345, 24);
this.ResBox.TabIndex = 9;
this.ResBox.Text = "0";
this.ResBox.Visible = false;
this.ResBox.TextChanged += new System.EventHandler(this.ResBox_TextChanged);
//
// TextureResTextBox
//
this.TextureResTextBox.BackColor = global::AndroidSideloader.Properties.Settings.Default.TextBoxColor;
@@ -478,35 +247,12 @@ namespace AndroidSideloader
this.TextureResTextBox.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.TextureResTextBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.TextureResTextBox.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.TextureResTextBox.Location = new System.Drawing.Point(13, 152);
this.TextureResTextBox.Location = new System.Drawing.Point(38, 436);
this.TextureResTextBox.Name = "TextureResTextBox";
this.TextureResTextBox.Size = new System.Drawing.Size(167, 24);
this.TextureResTextBox.Size = new System.Drawing.Size(111, 24);
this.TextureResTextBox.TabIndex = 3;
this.TextureResTextBox.Text = "0";
//
// QURfrRt
//
this.QURfrRt.BackColor = global::AndroidSideloader.Properties.Settings.Default.ComboBoxColor;
this.QURfrRt.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.QURfrRt.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.QURfrRt.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ComboBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.QURfrRt.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.QURfrRt.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.QURfrRt.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.QURfrRt.FormattingEnabled = true;
this.QURfrRt.Items.AddRange(new object[] {
"0",
"72",
"90",
"120"});
this.QURfrRt.Location = new System.Drawing.Point(13, 555);
this.QURfrRt.Name = "QURfrRt";
this.QURfrRt.Size = new System.Drawing.Size(170, 26);
this.QURfrRt.TabIndex = 13;
this.QURfrRt.Text = "0";
this.QURfrRt.Visible = false;
this.QURfrRt.SelectedIndexChanged += new System.EventHandler(this.QURfrRt_SelectedIndexChanged);
//
// RefreshRateComboBox
//
this.RefreshRateComboBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
@@ -520,9 +266,9 @@ namespace AndroidSideloader
"72",
"90",
"120"});
this.RefreshRateComboBox.Location = new System.Drawing.Point(13, 65);
this.RefreshRateComboBox.Location = new System.Drawing.Point(38, 325);
this.RefreshRateComboBox.Name = "RefreshRateComboBox";
this.RefreshRateComboBox.Size = new System.Drawing.Size(346, 26);
this.RefreshRateComboBox.Size = new System.Drawing.Size(232, 26);
this.RefreshRateComboBox.TabIndex = 0;
this.RefreshRateComboBox.Text = "Select refresh rate";
//
@@ -536,10 +282,10 @@ namespace AndroidSideloader
this.button1.ForeColor = System.Drawing.Color.White;
this.button1.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
this.button1.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
this.button1.Location = new System.Drawing.Point(189, 152);
this.button1.Location = new System.Drawing.Point(185, 434);
this.button1.Name = "button1";
this.button1.Radius = 5;
this.button1.Size = new System.Drawing.Size(170, 25);
this.button1.Size = new System.Drawing.Size(85, 25);
this.button1.Stroke = true;
this.button1.StrokeColor = System.Drawing.Color.FromArgb(((int)(((byte)(74)))), ((int)(((byte)(74)))), ((int)(((byte)(74)))));
this.button1.TabIndex = 19;
@@ -547,27 +293,6 @@ namespace AndroidSideloader
this.button1.Transparency = false;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// WifiWake
//
this.WifiWake.Active1 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.WifiWake.Active2 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.WifiWake.BackColor = System.Drawing.Color.Transparent;
this.WifiWake.DialogResult = System.Windows.Forms.DialogResult.OK;
this.WifiWake.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F);
this.WifiWake.ForeColor = System.Drawing.Color.White;
this.WifiWake.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
this.WifiWake.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
this.WifiWake.Location = new System.Drawing.Point(189, 180);
this.WifiWake.Name = "WifiWake";
this.WifiWake.Radius = 5;
this.WifiWake.Size = new System.Drawing.Size(170, 25);
this.WifiWake.Stroke = true;
this.WifiWake.StrokeColor = System.Drawing.Color.FromArgb(((int)(((byte)(74)))), ((int)(((byte)(74)))), ((int)(((byte)(74)))));
this.WifiWake.TabIndex = 20;
this.WifiWake.Text = "ENABLE WIFI WAKE";
this.WifiWake.Transparency = false;
this.WifiWake.Click += new System.EventHandler(this.WifiWake_Click);
//
// questVids
//
this.questVids.Active1 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
@@ -578,14 +303,14 @@ namespace AndroidSideloader
this.questVids.ForeColor = System.Drawing.Color.White;
this.questVids.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
this.questVids.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
this.questVids.Location = new System.Drawing.Point(189, 265);
this.questVids.Location = new System.Drawing.Point(72, 178);
this.questVids.Name = "questVids";
this.questVids.Radius = 5;
this.questVids.Size = new System.Drawing.Size(167, 25);
this.questVids.Size = new System.Drawing.Size(165, 25);
this.questVids.Stroke = true;
this.questVids.StrokeColor = System.Drawing.Color.FromArgb(((int)(((byte)(74)))), ((int)(((byte)(74)))), ((int)(((byte)(74)))));
this.questVids.TabIndex = 21;
this.questVids.Text = "VIDEOSHOTS";
this.questVids.Text = "RECORDINGS";
this.questVids.Transparency = false;
this.questVids.Click += new System.EventHandler(this.questVids_Click);
//
@@ -599,7 +324,7 @@ namespace AndroidSideloader
this.questPics.ForeColor = System.Drawing.Color.White;
this.questPics.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
this.questPics.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
this.questPics.Location = new System.Drawing.Point(15, 265);
this.questPics.Location = new System.Drawing.Point(72, 124);
this.questPics.Name = "questPics";
this.questPics.Radius = 5;
this.questPics.Size = new System.Drawing.Size(165, 25);
@@ -610,69 +335,6 @@ namespace AndroidSideloader
this.questPics.Transparency = false;
this.questPics.Click += new System.EventHandler(this.questPics_Click);
//
// QUEnable
//
this.QUEnable.Active1 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.QUEnable.Active2 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.QUEnable.BackColor = System.Drawing.Color.Transparent;
this.QUEnable.DialogResult = System.Windows.Forms.DialogResult.OK;
this.QUEnable.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F);
this.QUEnable.ForeColor = System.Drawing.Color.White;
this.QUEnable.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
this.QUEnable.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
this.QUEnable.Location = new System.Drawing.Point(189, 606);
this.QUEnable.Name = "QUEnable";
this.QUEnable.Radius = 5;
this.QUEnable.Size = new System.Drawing.Size(170, 25);
this.QUEnable.Stroke = true;
this.QUEnable.StrokeColor = System.Drawing.Color.FromArgb(((int)(((byte)(74)))), ((int)(((byte)(74)))), ((int)(((byte)(74)))));
this.QUEnable.TabIndex = 24;
this.QUEnable.Text = "APPLY";
this.QUEnable.Transparency = false;
this.QUEnable.Click += new System.EventHandler(this.QUEnable_Click);
//
// deleteButton
//
this.deleteButton.Active1 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.deleteButton.Active2 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.deleteButton.BackColor = System.Drawing.Color.Transparent;
this.deleteButton.DialogResult = System.Windows.Forms.DialogResult.OK;
this.deleteButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F);
this.deleteButton.ForeColor = System.Drawing.Color.White;
this.deleteButton.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
this.deleteButton.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
this.deleteButton.Location = new System.Drawing.Point(13, 606);
this.deleteButton.Name = "deleteButton";
this.deleteButton.Radius = 5;
this.deleteButton.Size = new System.Drawing.Size(167, 25);
this.deleteButton.Stroke = true;
this.deleteButton.StrokeColor = System.Drawing.Color.FromArgb(((int)(((byte)(74)))), ((int)(((byte)(74)))), ((int)(((byte)(74)))));
this.deleteButton.TabIndex = 25;
this.deleteButton.Text = "DELETE SAVED";
this.deleteButton.Transparency = false;
this.deleteButton.Click += new System.EventHandler(this.DeleteButton_Click);
//
// ResetQU
//
this.ResetQU.Active1 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.ResetQU.Active2 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.ResetQU.BackColor = System.Drawing.Color.Transparent;
this.ResetQU.DialogResult = System.Windows.Forms.DialogResult.OK;
this.ResetQU.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F);
this.ResetQU.ForeColor = System.Drawing.Color.White;
this.ResetQU.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
this.ResetQU.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
this.ResetQU.Location = new System.Drawing.Point(189, 555);
this.ResetQU.Name = "ResetQU";
this.ResetQU.Radius = 5;
this.ResetQU.Size = new System.Drawing.Size(168, 28);
this.ResetQU.Stroke = true;
this.ResetQU.StrokeColor = System.Drawing.Color.FromArgb(((int)(((byte)(74)))), ((int)(((byte)(74)))), ((int)(((byte)(74)))));
this.ResetQU.TabIndex = 26;
this.ResetQU.Text = "RESET ALL FIELDS";
this.ResetQU.Transparency = false;
this.ResetQU.Click += new System.EventHandler(this.ResetQU_click);
//
// button3
//
this.button3.Active1 = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
@@ -683,7 +345,7 @@ namespace AndroidSideloader
this.button3.ForeColor = System.Drawing.Color.White;
this.button3.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
this.button3.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
this.button3.Location = new System.Drawing.Point(278, 700);
this.button3.Location = new System.Drawing.Point(194, 38);
this.button3.Name = "button3";
this.button3.Radius = 5;
this.button3.Size = new System.Drawing.Size(81, 25);
@@ -694,55 +356,51 @@ namespace AndroidSideloader
this.button3.Transparency = false;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// label3
//
this.label3.AutoSize = true;
this.label3.BackColor = System.Drawing.Color.Transparent;
this.label3.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label3.ForeColor = System.Drawing.Color.LightSteelBlue;
this.label3.Location = new System.Drawing.Point(37, 206);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(235, 16);
this.label3.TabIndex = 28;
this.label3.Text = "Exports to: Desktop\\Quest Recordings";
this.label3.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// QuestForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.BackgroundImage = global::AndroidSideloader.Properties.Resources.pattern_cubes_1_1_1_0_0_0_1__000000_212121;
this.ClientSize = new System.Drawing.Size(370, 737);
this.ClientSize = new System.Drawing.Size(309, 486);
this.Controls.Add(this.label3);
this.Controls.Add(this.button3);
this.Controls.Add(this.ResetQU);
this.Controls.Add(this.deleteButton);
this.Controls.Add(this.QUEnable);
this.Controls.Add(this.questPics);
this.Controls.Add(this.questVids);
this.Controls.Add(this.WifiWake);
this.Controls.Add(this.button1);
this.Controls.Add(this.label15);
this.Controls.Add(this.label14);
this.Controls.Add(this.label10);
this.Controls.Add(this.splitter1);
this.Controls.Add(this.DeleteShots);
this.Controls.Add(this.QUon);
this.Controls.Add(this.label13);
this.Controls.Add(this.label4);
this.Controls.Add(this.label16);
this.Controls.Add(this.label2);
this.Controls.Add(this.label11);
this.Controls.Add(this.label12);
this.Controls.Add(this.label3);
this.Controls.Add(this.label1);
this.Controls.Add(this.CPUComboBox);
this.Controls.Add(this.GPUComboBox);
this.Controls.Add(this.label7);
this.Controls.Add(this.label8);
this.Controls.Add(this.label9);
this.Controls.Add(this.label6);
this.Controls.Add(this.label5);
this.Controls.Add(this.ResolutionLabel);
this.Controls.Add(this.GlobalUsername);
this.Controls.Add(this.FOVy);
this.Controls.Add(this.FOVx);
this.Controls.Add(this.UsrBox);
this.Controls.Add(this.ResBox);
this.Controls.Add(this.TextureResTextBox);
this.Controls.Add(this.QURfrRt);
this.Controls.Add(this.RefreshRateComboBox);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximumSize = new System.Drawing.Size(386, 776);
this.MinimumSize = new System.Drawing.Size(386, 776);
this.MaximumSize = new System.Drawing.Size(325, 525);
this.MinimumSize = new System.Drawing.Size(325, 525);
this.Name = "QuestForm";
this.ShowIcon = false;
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
@@ -764,37 +422,19 @@ namespace AndroidSideloader
private System.Windows.Forms.ComboBox CPUComboBox;
private Label label1;
private Label label2;
private Label label3;
private Label label4;
private ComboBox QURfrRt;
private TextBox ResBox;
private TextBox UsrBox;
private TextBox FOVx;
private TextBox FOVy;
private Label label5;
private Label label6;
private Label label7;
private Label label8;
private Label label9;
private Label label11;
private CheckBox QUon;
private Label label12;
private Label label13;
private CheckBox DeleteShots;
private Splitter splitter1;
private Label label10;
private Label label14;
private Label label15;
private Label label16;
private TextBox GlobalUsername;
private RoundButton button1;
private RoundButton WifiWake;
private RoundButton questVids;
private RoundButton questPics;
private RoundButton QUEnable;
private RoundButton deleteButton;
private RoundButton ResetQU;
private RoundButton button3;
private Label label3;
}
}

View File

@@ -9,7 +9,6 @@ namespace AndroidSideloader
public static int length = 0;
public static string[] result;
public bool settingsexist = false;
public static bool QUSon = false;
public bool delsh = false;
public QuestForm()
{
@@ -64,68 +63,11 @@ namespace AndroidSideloader
}
public void ResetQU_click(object sender, EventArgs e)
{
ResBox.Text = "0";
UsrBox.Text = "Change Me";
FOVx.Text = "0";
FOVy.Text = "0";
QURfrRt.SelectedIndex = 0;
}
private void DeleteShots_CheckedChanged(object sender, EventArgs e)
{
delsh = DeleteShots.Checked;
}
private void QUon_CheckedChanged(object sender, EventArgs e)
{
if (QUon.Checked)
{
ResBox.Visible = true;
UsrBox.Visible = true;
FOVx.Visible = true;
FOVy.Visible = true;
QURfrRt.Visible = true;
ResetQU.Visible = true;
QUEnable.Visible = true;
label5.Visible = true;
label6.Visible = true;
label7.Visible = true;
label8.Visible = true;
label9.Visible = true;
label10.Visible = true;
deleteButton.Visible = true;
ResBox.Text = Properties.Settings.Default.QUres;
UsrBox.Text = Properties.Settings.Default.QUname;
FOVy.Text = Properties.Settings.Default.QUy;
FOVx.Text = Properties.Settings.Default.QUx;
QURfrRt.SelectedValue = Properties.Settings.Default.QUhz;
Properties.Settings.Default.QUturnedon = true;
}
else if (!QUon.Checked)
{
ResBox.Visible = false;
UsrBox.Visible = false;
FOVx.Visible = false;
FOVy.Visible = false;
QURfrRt.Visible = false;
ResetQU.Visible = false;
QUEnable.Visible = false;
label5.Visible = false;
label6.Visible = false;
label7.Visible = false;
label8.Visible = false;
label9.Visible = false;
label10.Visible = false;
deleteButton.Visible = false;
Properties.Settings.Default.QUturnedon = false;
_ = MessageBox.Show("Ok, Deleted your custom settings file.\nIf you would like to re-enable return here and apply settings again");
File.Delete($"{Environment.CurrentDirectory}\\Config.Json");
File.Delete($"{Environment.CurrentDirectory}\\delete_settings");
}
}
private static readonly Random random = new Random();
private static readonly object syncLock = new object();
public static int RandomNumber(int min, int max)
@@ -135,60 +77,12 @@ namespace AndroidSideloader
return random.Next(min, max);
}
}
private void QUEnable_Click(object sender, EventArgs e)
{
settingsexist = true;
_ = MessageBox.Show("OK, any -QU packages installed will have these settings applied!\nTo delete settings: goto main app window, select a game with top menu, and click \"Remove QU Setting\"");
if (QUon.Checked)
{
Properties.Settings.Default.QUturnedon = true;
Random r = new Random();
int x = r.Next(999999999);
int y = r.Next(9999999);
long sum = (y * (long)1000000000) + x;
int x2 = r.Next(999999999);
int y2 = r.Next(9999999);
long sum2 = (y2 * (long)1000000000) + x2;
QUSon = true;
string selected = QURfrRt.GetItemText(QURfrRt.SelectedItem);
Properties.Settings.Default.QUString = $"\"refresh_rate\":{selected},\"eye_texture_width\":{ResBox.Text},\"fov_x\":{FOVx.Text},\"fov_y\":{FOVy.Text},\"username\":\"{UsrBox.Text}\"}}";
Properties.Settings.Default.QUStringF = $"{{\"user_id\":{sum},\"app_id\":\"{sum2}\",";
Properties.Settings.Default.Save();
File.WriteAllText($"{Properties.Settings.Default.MainDir}\\delete_settings", "");
string boff = Properties.Settings.Default.QUStringF + Properties.Settings.Default.QUString;
File.WriteAllText($"{Properties.Settings.Default.MainDir}\\config.json", boff);
}
else
{
Properties.Settings.Default.QUturnedon = false;
}
}
private void QuestForm_FormClosed(object sender, FormClosedEventArgs e)
{
if (QUon.Checked)
{
Properties.Settings.Default.QUsett = true;
Properties.Settings.Default.Save();
}
if (!QUon.Checked)
{
Properties.Settings.Default.QUsett = false;
Properties.Settings.Default.Save();
}
if (DeleteShots.Checked)
{
Properties.Settings.Default.delsh = true;
@@ -203,54 +97,9 @@ namespace AndroidSideloader
private void QuestForm_Load(object sender, EventArgs e)
{
DeleteShots.Checked = Properties.Settings.Default.delsh;
if (Properties.Settings.Default.QUsett)
{
ResBox.Text = Properties.Settings.Default.QUres;
UsrBox.Text = Properties.Settings.Default.QUname;
FOVy.Text = Properties.Settings.Default.QUy;
FOVx.Text = Properties.Settings.Default.QUx;
QURfrRt.Text = Properties.Settings.Default.QUhz;
QUon.Checked = true;
if (settingsexist)
{
QUSon = true;
}
}
GlobalUsername.Text = Properties.Settings.Default.GlobalUsername;
}
private void ResBox_TextChanged(object sender, EventArgs e)
{
Properties.Settings.Default.QUres = ResBox.Text;
Properties.Settings.Default.Save();
}
private void UsrBox_TextChanged(object sender, EventArgs e)
{
Properties.Settings.Default.QUname = UsrBox.Text;
Properties.Settings.Default.Save();
}
private void FOVx_TextChanged(object sender, EventArgs e)
{
Properties.Settings.Default.QUx = FOVx.Text;
Properties.Settings.Default.Save();
}
private void FOVy_TextChanged(object sender, EventArgs e)
{
Properties.Settings.Default.QUy = FOVy.Text;
Properties.Settings.Default.Save();
}
private void QURfrRt_SelectedIndexChanged(object sender, EventArgs e)
{
string selected = QURfrRt.GetItemText(QURfrRt.SelectedItem);
Properties.Settings.Default.QUhz = selected;
Properties.Settings.Default.Save();
}
private void DeleteButton_Click(object sender, EventArgs e)
{
@@ -284,14 +133,14 @@ namespace AndroidSideloader
private void questVids_Click(object sender, EventArgs e)
{
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
if (!Directory.Exists($"{path}\\Quest VideoShots"))
if (!Directory.Exists($"{path}\\Quest Recordings"))
{
_ = Directory.CreateDirectory($"{path}\\Quest VideoShots");
_ = Directory.CreateDirectory($"{path}\\Quest Recordings");
}
_ = MessageBox.Show("Please wait until you get the message that the transfer has finished.");;
Program.form.changeTitle("Pulling files...");
_ = ADB.RunAdbCommandToString($"pull \"/sdcard/Oculus/Videoshots\" \"{path}\\Quest VideoShots\"");
_ = ADB.RunAdbCommandToString($"pull \"/sdcard/Oculus/Videoshots\" \"{path}\\Quest Recordings\"");
if (delsh)
{
DialogResult dialogResult = MessageBox.Show("You have chosen to delete files from headset after transferring, so be sure to move them from your desktop to somewhere safe!", "Warning!", MessageBoxButtons.OKCancel);
@@ -301,7 +150,7 @@ namespace AndroidSideloader
_ = ADB.RunAdbCommandToString("shell mkdir /sdcard/Oculus/Videoshots");
}
}
_ = MessageBox.Show("Transfer finished! VideoShots can be found in a folder named Quest VideoShots on your desktop!");
_ = MessageBox.Show("Transfer finished! Recordings can be found in a folder named Quest Recordings on your desktop!");
Program.form.changeTitle("Done!");
}
private void button3_Click(object sender, EventArgs e)
@@ -335,13 +184,6 @@ namespace AndroidSideloader
return base.ProcessDialogKey(keyData);
}
private void WifiWake_Click(object sender, EventArgs e)
{
_ = ADB.RunAdbCommandToString("shell settings put global wifi_wakeup_available 1");
_ = ADB.RunAdbCommandToString("shell settings put global wifi_wakeup_enabled 1");
_ = MessageBox.Show("Wake on Wifi enabled!\n\nNOTE: This requires having wireless ADB enabled to work. (Obviously)");
}
private void GlobalUsername_TextChanged(object sender, EventArgs e)
{
button3.Enabled = GlobalUsername.TextLength > 0;

View File

@@ -10,6 +10,6 @@ androidsideloader uses the GPL license, any forks of it must have their source c
This app may be buggy and have problems.
### This app might get detected as malware, however both the sideloader and the sideloader launcher are open source. And obviously, it isn't.
See:
https://www.virustotal.com/gui/file/46b6e24a03a6670dfbbde6e6f06caac05f2f9486115ef7bd77e0b568df7e5342/detection
### This app might get detected as malware, however both the sideloader and the sideloader launcher are open source.
Rookie 1.25.1 VirusTotal Scan (1/72)-
https://www.virustotal.com/gui/file/dc3ed59057d508646a06a978c44ae72d473fd678129483ab186202046cbc713f

View File

@@ -249,29 +249,13 @@ namespace AndroidSideloader
private void openDownloadDirectory_Click(object sender, EventArgs e)
{
string pathToOpen = Properties.Settings.Default.customDownloadDir ? $"{Properties.Settings.Default.downloadDir}" : $"{Environment.CurrentDirectory}";
if (Directory.Exists(pathToOpen))
{
ProcessStartInfo p = new ProcessStartInfo
{
Arguments = pathToOpen,
FileName = "explorer.exe"
};
Process.Start(p);
}
MainForm.OpenDirectory(pathToOpen);
}
private void openBackupDirectory_Click(object sender, EventArgs e)
{
string pathToOpen = Properties.Settings.Default.customBackupDir ? $"{Path.Combine((Properties.Settings.Default.backupDir), $"Rookie Backups")}" : $"{Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), $"Rookie Backups")}";
if (Directory.Exists(pathToOpen))
{
ProcessStartInfo p = new ProcessStartInfo
{
Arguments = pathToOpen,
FileName = "explorer.exe"
};
Process.Start(p);
}
MainForm.OpenDirectory(pathToOpen);
}
}
}

View File

@@ -2,6 +2,7 @@
using System;
using System.Diagnostics;
using System.IO;
using System.Management;
using System.Net;
using System.Text.RegularExpressions;
using System.Windows.Forms;
@@ -13,6 +14,33 @@ namespace AndroidSideloader
public static string TempFolder = Path.Combine(Environment.CurrentDirectory, "temp");
public static string CrashLogPath = "crashlog.txt";
public static void killWebView2()
{
var parentProcessId = Process.GetCurrentProcess().Id;
var processes = Process.GetProcessesByName("msedgewebview2");
foreach (var process in processes)
{
try
{
using (ManagementObject obj = new ManagementObject($"win32_process.handle='{process.Id}'"))
{
obj.Get();
var ppid = Convert.ToInt32(obj["ParentProcessId"]);
if (ppid == parentProcessId)
{
process.Kill();
}
}
}
catch (Exception ex)
{
_ = Logger.Log($"Exception occured while attempting to shut down WebView2 with exception message: {ex.Message}", LogLevel.ERROR);
}
}
}
//push user.json to device (required for some devices like oculus quest)
public static void PushUserJsons()
{

View File

@@ -179,7 +179,7 @@ namespace AndroidSideloader
_ = Logger.Log($"Attempting to Update Download Config");
try
{
string configUrl = "https://wiki.vrpirates.club/downloads/vrp.download.config";
string configUrl = "https://vrpirates.wiki/downloads/vrp.download.config";
HttpWebRequest getUrl = (HttpWebRequest)WebRequest.Create(configUrl);
using (StreamReader responseReader = new StreamReader(getUrl.GetResponse().GetResponseStream()))
@@ -248,7 +248,7 @@ namespace AndroidSideloader
_ = Logger.Log($"Attempting to Update Upload Config");
try
{
string configUrl = "https://wiki.vrpirates.club/downloads/vrp.upload.config";
string configUrl = "https://vrpirates.wiki/downloads/vrp.upload.config";
HttpWebRequest getUrl = (HttpWebRequest)WebRequest.Create(configUrl);
using (StreamReader responseReader = new StreamReader(getUrl.GetResponse().GetResponseStream()))
@@ -277,7 +277,7 @@ namespace AndroidSideloader
_ = Logger.Log($"Attempting to Update Public Config");
try
{
string configUrl = "https://wiki.vrpirates.club/downloads/vrp-public.json";
string configUrl = "https://vrpirates.wiki/downloads/vrp-public.json";
HttpWebRequest getUrl = (HttpWebRequest)WebRequest.Create(configUrl);
using (StreamReader responseReader = new StreamReader(getUrl.GetResponse().GetResponseStream()))

View File

@@ -13,7 +13,7 @@ namespace AndroidSideloader
private static readonly string RawGitHubUrl = "https://raw.githubusercontent.com/VRPirates/rookie";
private static readonly string GitHubUrl = "https://github.com/VRPirates/rookie";
public static readonly string LocalVersion = "2.24";
public static readonly string LocalVersion = "2.26";
public static string currentVersion = string.Empty;
public static string changelog = string.Empty;

View File

@@ -4,6 +4,9 @@ using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading;
using System.Windows.Forms;
namespace AndroidSideloader.Utilities
@@ -12,13 +15,13 @@ namespace AndroidSideloader.Utilities
{
public static void ExtractFile(string sourceArchive, string destination)
{
string args = $"x \"{sourceArchive}\" -y -o\"{destination}\"";
string args = $"x \"{sourceArchive}\" -y -o\"{destination}\" -bsp1";
DoExtract(args);
}
public static void ExtractFile(string sourceArchive, string destination, string password)
{
string args = $"x \"{sourceArchive}\" -y -o\"{destination}\" -p\"{password}\"";
string args = $"x \"{sourceArchive}\" -y -o\"{destination}\" -p\"{password}\" -bsp1";
DoExtract(args);
}
@@ -32,6 +35,7 @@ namespace AndroidSideloader.Utilities
client.DownloadFile("https://github.com/VRPirates/rookie/raw/master/7z.dll", "7z.dll");
_ = Logger.Log("Complete download 7-zip");
}
ProcessStartInfo pro = new ProcessStartInfo
{
WindowStyle = ProcessWindowStyle.Hidden,
@@ -46,23 +50,52 @@ namespace AndroidSideloader.Utilities
_ = Logger.Log($"Extract: 7z {string.Join(" ", args.Split(' ').Where(a => !a.StartsWith("-p")))}");
Process x = Process.Start(pro);
x.WaitForExit();
if (x.ExitCode != 0)
using (Process x = new Process())
{
string error = x.StandardError.ReadToEnd();
x.StartInfo = pro;
if (error.Contains("There is not enough space on the disk"))
if (MainForm.isInDownloadExtract && x != null)
{
_ = FlexibleMessageBox.Show(Program.form, $"Not enough space to extract archive.\r\nCheck free space in {Environment.CurrentDirectory} and try again.",
"NOT ENOUGH SPACE",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
x.OutputDataReceived += (sender, e) =>
{
if (e.Data != null)
{
var match = Regex.Match(e.Data, @"(\d+)%");
if (match.Success)
{
int progress = int.Parse(match.Groups[1].Value);
MainForm mainForm = (MainForm)Application.OpenForms[0];
if (mainForm != null)
{
mainForm.Invoke((Action)(() => mainForm.SetProgress(progress)));
}
}
}
};
}
x.ErrorDataReceived += (sender, e) => Console.WriteLine(e.Data);
x.Start();
x.BeginOutputReadLine();
x.BeginErrorReadLine();
x.WaitForExit();
if (x.ExitCode != 0)
{
string error = x.StandardError.ReadToEnd();
if (error.Contains("There is not enough space on the disk"))
{
_ = FlexibleMessageBox.Show(Program.form, $"Not enough space to extract archive.\r\nMake sure your {Path.GetPathRoot(Properties.Settings.Default.downloadDir)} drive has at least double the space of the game, then try again.",
"NOT ENOUGH SPACE",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
_ = Logger.Log(x.StandardOutput.ReadToEnd());
_ = Logger.Log(error, LogLevel.ERROR);
throw new ApplicationException($"Extracting failed, status code {x.ExitCode}");
}
_ = Logger.Log(x.StandardOutput.ReadToEnd());
_ = Logger.Log(error, LogLevel.ERROR);
throw new ApplicationException($"Extracting failed, status code {x.ExitCode}");
}
}
}
}
}

View File

@@ -1,8 +1,14 @@
RSL 2.24
RSL 2.26
- Feature: Added "Open Download" and "Open Backup" Directory buttons to Settings Menu
- Fix: OBB Pushes for Quest 3 Devices
- Fix: Crash when attempting to backup
- Fix: Searchbar Anchoring when resizing
- Fix: Remove instances where OBBs are pushed multiple times
- Fix: Additional Logging and Startup Optimizations
- Feature: Top right update labels will now show the amount of games per state
- Feature: Open Download Dir and Run ADB Commands added to left sidebar
- Feature: Toggle sideloading button
- Feature: Show progress of extraction
- Fix: Crash when failing to write to the StoredIP.txt
- Fix: Drag and drop + Copy OBB for Quest 3 users
- Fix: Properly kill off WebView2 instances
- Fix: Added parents to dialogs
- Fix: GUI freezing on launch
- Fix: No Device Mode output
- Chore: Make missing space message more user-friendly
- Chore: Remove QU Settings

View File

@@ -1 +1 @@
2.24
2.26