Compare commits

...

75 Commits

Author SHA1 Message Date
Harry Fn Potter
111d3a7176 -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

RSL 2.1.3.2

+ Added checkbox to enable Enter to Download+Install.
= Fixed crash that occurred when user held down up arrow or down arrow on gamelist.
= Fixed all issues with Install.txt path.
= Clicking out of search box now closes it.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmDsFZ8ACgkQx/Rql1Vo
czcwJg/+PFiXfh6PPZNIRf2Zeht7WN8oxuUFV907KnD5+gKD0rzNd1NzgrcPOgAh
/oJakvY6ryLyaopJFZ8bm7++tQ3w6mbnzPaGweNoOF7/oLDb9NKVlK5/VjA3JPPN
QtOebRgBsigoRGGTq0s7ZRZV99vtSm2R1+1z9qlEu5Fm2hEiIggLvSBdGWDhbGnZ
jnvAZixeYgR+R6x4MZTsDao+qIYMio7heiVdN03gQ4hAaPbZ/I6s3cS+K33k02Nz
IEATqkwoLOevmN/D773A0cMzh/ZQWs557E3aKtwB+EHo/0ucCk0WaMSt4WdH8Qqe
WWF6+UT8FEEN2M76SQrg80xBj3QxzfIi92c231rVvtHMiVn5qUhTrDYb2wqx7J99
cJeMgANBmWSBZRBNW7jwhAxUVXE9vE8eqBza9MarXbJaLtq3Mf0ECLWvFPllA8dU
lnBcdSuTESvZkBAokkCwEJOb7sootBpEz5BZtE268mZEfsHUGWo3/VZDrJ7lLXJW
mEE2aCcHpNWysa9CsSee/QWNgLH2v+9PM3r/1SJyQ23C2hwyQI+F2lkch8Ar5Qfn
YxMWnhAcYXTRtcxY0s7xuhpUr/TGc6m9QY6NeVYMvb3g1gbmGOyyN/MELNOkEF/l
FXnrY4AfaNTs6EL6/id/viGcHc1MnnjgzlTNg5rgoxtFrHdVwP4=
=o0TQ
-----END PGP SIGNATURE-----
2021-07-12 06:17:21 -04:00
Harry Fn Potter
5e235c5125 Search will now select games at bottom of list too.
Added hidden shortcut CTRL+P which will turn on a property that copies the packagename of selected games to the clipboard.
2021-07-10 13:06:33 -04:00
Harry Fn Potter
9ccf7811e5 2.1.1H wouldnt work so, 2.1.3 2021-07-10 06:28:09 -04:00
harryeffinpotter
93d606bcac remove newline 2021-07-10 06:24:30 -04:00
Harry Fn Potter
8d0eb4a84d version code HF 2021-07-10 06:18:35 -04:00
Harry Fn Potter
6f20154599 Hotfix - adb kill server was running BEFORE adb was copied to correct directory. It's not an RSL update without one program breaking bug! 2021-07-10 06:18:19 -04:00
Harry Fn Potter
bbe84000b7 Fixed crash when clicking DragDrop label during load. 2021-07-10 05:34:29 -04:00
Harry Fn Potter
30ead79ed1 version # 2021-07-10 05:25:30 -04:00
Harry Fn Potter
97b6da3abe 2.1.2 ALL issues fixed. 2021-07-10 05:18:13 -04:00
Harry Fn Potter
6c2a7413b4 Fixed all merge/branch destruction. 2021-07-10 01:17:25 -04:00
Harry Fn Potter
744ce530dc + Added optional Wake on Wifi setting so Wireless ADB will still connect as long as device is not powered off or dead.
+ RSL will now automatically choose any Oculus device over devices made by other manufacturers if more than one ADB device is present.
= Fixed Download+Install QUSettings application if QUSettings are set.
= Fixed Pull APK from device.
2021-07-09 05:38:39 -04:00
Harry Fn Potter
8a299748aa Revert "Revert "Revert "jkvhguyghkijhijbklbkhjlhiulj"""
This reverts commit e76f619311.
2021-07-09 04:22:23 -04:00
Harry Fn Potter
e76f619311 Revert "Revert "jkvhguyghkijhijbklbkhjlhiulj""
This reverts commit b3ea6cacae.
2021-07-09 01:45:48 -04:00
Harry Fn Potter
b3ea6cacae Revert "jkvhguyghkijhijbklbkhjlhiulj"
This reverts commit 0acc36feed.
2021-07-09 01:40:01 -04:00
Harry Fn Potter
93a4629739 Revert "jbh"
This reverts commit bf41013add.
2021-07-09 01:40:01 -04:00
harryeffinpotter
93263a4afe Add files via upload 2021-07-09 01:04:16 -04:00
harryeffinpotter
23990935d1 2.1.1HF1 2021-07-09 01:01:12 -04:00
Harry Fn Potter
bf41013add jbh 2021-07-08 14:01:22 -04:00
Harry Fn Potter
0acc36feed jkvhguyghkijhijbklbkhjlhiulj 2021-07-08 13:57:03 -04:00
Harry Fn Potter
3301227163 Revert "Last minute patches/fixes. + changelog update."
This reverts commit aba08c9ec70941d0c9f1173bd50c00715c48dc43.
2021-07-08 13:57:03 -04:00
Harry Fn Potter
45d1981451 Last minute patches/fixes. + changelog update. 2021-07-08 13:57:03 -04:00
Harry Fn Potter
f22636d81f Updated version number to push update, added Not enough storage message boxes from both RCLONE (pc space too low) and ADB (android device space too low) 2021-07-08 13:57:03 -04:00
Harry Fn Potter
bd8e94c210 Cleaned up a ton of code, fixed 2x crash errors from last update. Added timestamp to crashlog and debuglog, removed wall of test (gameslist entire contents) from debuglog to make it easier to read. 2021-07-08 13:57:03 -04:00
Harry Fn Potter
cac88cae92 + Added optional Wake on Wifi setting so Wireless ADB will still connect as long as device is not powered off or dead.
+ RSL will now automatically choose any Oculus device over devices made by other manufacturers if more than one ADB device is present.
= Fixed Download+Install QUSettings application if QUSettings are set.
= Fixed Pull APK from device.
2021-07-08 13:57:03 -04:00
Harry Fn Potter
4370e922ef test 2021-07-08 13:57:03 -04:00
Harry Fn Potter
caa4f78943 Major rollup update 2021-07-08 13:52:28 -04:00
Harry Fn Potter
d3b988546f Revert "Forked RSL for quest settings standalone purposes then completely forgot what branch I was on. Here's like 10 updates in one."
This reverts commit cbdde48344.
2021-07-08 13:38:32 -04:00
Harry Fn Potter
cbdde48344 Forked RSL for quest settings standalone purposes then completely forgot what branch I was on. Here's like 10 updates in one. 2021-07-08 13:33:16 -04:00
harryeffinpotter
3b830d9f67 update 2021-07-07 14:36:16 -04:00
harryeffinpotter
7572ddb84e 2.1.1HF1 2021-07-07 14:34:55 -04:00
harryeffinpotter
7c6f05361e 2.1.1HF1 2021-07-07 14:32:43 -04:00
harryeffinpotter
5b54f195f1 2.1.1 2021-07-05 17:46:47 -04:00
harryeffinpotter
bd71e07b19 hf5
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Update RSL2.1HF5

Fixed ADB path for usernames containing spaces. ADB now located at c:\RSL\VersionNumber\ADB

- -HarryEffingPotter-
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmDdNvsACgkQx/Rql1Vo
czdIWQ/+OvvchZOuwMZJvd6d/N4WmBUPKm3TzyiF5JM/STLEbLIHB1p6LQg+6J3K
3d9x3mQmu/gMHMumsfmuOuHHI7OOs9CLOVY2UFm7CqTnDf7iCxl8+6/iQw48yfj9
63qwUKZdLueRX9IqtcV2MwZJP7eKdZmtv6ALyRbjWmo2fgbm/Fs1U+TfGnlY7qLg
wIascv5DuKRyHvRzlgdn6OqmewWTxHDOTwCTjodROIK9guCELNYhEWv/TtgMldv9
gz1Lr8KZOcxNltpvstJgdbeFy61LK67su0rKZHsGMu4x0hDe4YOyjyMDtXrVJ0VH
SJBqDgSKD3HE/MNYkCWusqs7np2XKXC8hP6nm2QO9zM44d+UWDfrJbwvvw6QUoez
Iqk/PskC3sF7kWAv4O+LRmLDlrHD2RG5TkkE4ohiIi4D4VaNEx4QyVf6INN+A9xd
IxcvXC9QkFwffUD93cThEdLNRnrnzZSsUFMRh3XrvPbq2wfvWjqZX1EGfD7ug0Mf
r9uPX4RdILvsXeybefiiwLiw3UNMJtUlaKDvqIit5S78BIP6DY+dGnMMRIQJa1vd
XBPnIHyifzvl1nyYd6TWCFRuOzZLYirv4Ug6xS1/KzyURXIz2P0EEhDURJAR/q+M
ZmqSO2eQo64B7Dfa9oRLKkZRfhWFgtYA9QKm9ei7tOPbnJ+2718=
=o5Nr
-----END PGP SIGNATURE-----
2021-06-30 23:34:43 -04:00
Harry Fn Potter
5b5ce78471 changelog hf5 with sig 2021-06-30 23:31:46 -04:00
Harry Fn Potter
c96a98b38a Merge branch 'master' of https://github.com/nerdunit/androidsideloader 2021-06-30 23:29:16 -04:00
Harry Fn Potter
b0bb41732d ADB path fix once and for all. 2021-06-30 23:29:04 -04:00
harryeffinpotter
c6ef62c6ca 2.1HF4 2021-06-29 06:37:48 -04:00
Harry Fn Potter
0b04783962 Changelog update. 2021-06-29 06:33:21 -04:00
Harry Fn Potter
5fab216798 Updated version # in updater. 2021-06-29 06:28:08 -04:00
Harry Fn Potter
a37c843a99 Update RSL2.1HF4 - RSL now copies ADB files to AppData\Roaming\RSL\Version\ADB 2021-06-29 06:24:46 -04:00
harryeffinpotter
222edcd6a8 2.1 hf3 2021-06-20 17:49:13 -04:00
harryeffinpotter
130140727b testing something 2021-06-20 17:47:00 -04:00
harryeffinpotter
5ec2f260fc hf3 2021-06-20 17:41:37 -04:00
Harry Fn Potter
a7ad7c0a83 Fixed install.txt AGAIN. The spaghetti code is spaghetti code. 2021-06-20 17:31:15 -04:00
Harry Fn Potter
bd511d28a8 FINALLY back to normal. JFC. 2021-06-20 12:29:26 -04:00
Harry Fn Potter
75a75bd627 Missing bracket in mainform. 2021-06-19 23:05:09 -04:00
Harry Fn Potter
0bc0f6668a fixed obb install.txt. Fixed adb errors. Should be all good meow. Also fixed wireless causing program freeze if IP changed. 2021-06-19 23:03:18 -04:00
Harry Fn Potter
f72c6b8d95 updater 2021-06-19 20:03:50 -04:00
Harry Fn Potter
3952931831 Merge fixes 2021-06-19 20:02:39 -04:00
Harry Fn Potter
9346b75916 Fixes 2021-06-19 20:01:12 -04:00
Harry Fn Potter
b9e98894e9 Fixed all issues. 2021-06-19 20:00:18 -04:00
Harry Fn Potter
c2b4fb499c Merge branch 'master' of https://github.com/nerdunit/androidsideloader 2021-06-19 04:09:08 -04:00
Harry Fn Potter
e040e36564 Install.txt was using cmd exe , made it use adb exe and added another function for cmd only purposes for 7zip extracts during install.txt 2021-06-19 04:08:56 -04:00
harryeffinpotter
459a496bbb 2.1.2HF 2021-06-17 04:24:54 -04:00
harryeffinpotter
e8fcae997b 2.2 2021-06-17 04:22:20 -04:00
Harry Fn Potter
9912af4acc Updater revert 2021-06-17 04:17:37 -04:00
harryeffinpotter
f243853fca HF 2021-06-17 04:14:52 -04:00
harryeffinpotter
fc98d61304 removed v 2021-06-17 04:12:14 -04:00
Harry Fn Potter
d38af14ed4 Merge branch 'master' of https://github.com/nerdunit/androidsideloader 2021-06-17 04:09:49 -04:00
Harry Fn Potter
17165c35a9 changelog 2021-06-17 04:09:42 -04:00
harryeffinpotter
5e30e3a22c 2.1.2 2021-06-17 04:08:28 -04:00
Harry Fn Potter
bba48c5dc5 ADB Debugging warning reimplemented. Unauthorized code section was not proccing response. 2021-06-17 04:01:15 -04:00
Harry Fn Potter
5d75edaf63 Anchor points + max/min window size for Quest options. 2021-06-16 05:58:29 -04:00
Harry Fn Potter
62d9187cfa Merge branch 'master' of https://github.com/nerdunit/androidsideloader 2021-06-16 05:38:11 -04:00
Harry Fn Potter
cf1dda5e5b 2.1.2 - in progress, still testing,
= Fixed apk drag and drop when install.txt present, apk now installs prior to following install.txt commands.
= Changed OBB procedure for drag and drop to check for com. in directory name prior to running copyObb command.
= Fixed freeze caused by having Wireless ADB enabled but device idle or rebooted.
2021-06-16 05:38:01 -04:00
harryeffinpotter
a5f6590019 v2.1.1
2.1.1
2021-06-01 12:34:02 -04:00
Harry Fn Potter
b7cd6c1cb4 Merge branch 'master' of https://github.com/nerdunit/androidsideloader 2021-06-01 12:32:04 -04:00
Harry Fn Potter
452e733b3a changed version name to 2.1.1 2021-06-01 12:31:45 -04:00
harryeffinpotter
146defaef3 update to hf2
update hf2
2021-06-01 12:17:30 -04:00
Harry Fn Potter
fb2b6c0a58 version change 2021-06-01 12:12:59 -04:00
Harry Fn Potter
cec0104b05 Merge branch 'master' of https://github.com/nerdunit/androidsideloader 2021-06-01 12:12:38 -04:00
Harry Fn Potter
7c78acb9bd HF2 Fixed QUSettings not working (due to 0's not being in unused fields), fixed backup and mount. 2021-06-01 12:12:24 -04:00
harryeffinpotter
7cad9565b2 HF 2021-05-29 10:28:06 -04:00
harryeffinpotter
a47918841f test 2021-05-29 10:07:21 -04:00
harryeffinpotter
b8e28b38ff Hotfix 2021-05-29 09:54:41 -04:00
31 changed files with 2345 additions and 709 deletions

2
.gitignore vendored
View File

@@ -17,3 +17,5 @@ AndroidSideloader.csproj.user
AndroidSideloader.csproj.user
AndroidSideloader.csproj.user
/AndroidSideloader v2.1.exe
/crashlog.txt
/debuglog.txt

View File

@@ -2,5 +2,6 @@
"ExpandedNodes": [
""
],
"SelectedNode": "\\Sideloader.cs",
"PreviewInSolutionExplorer": false
}

Binary file not shown.

312
ADB.cs
View File

@@ -12,16 +12,22 @@ namespace AndroidSideloader
class ADB
{
static Process adb = new Process();
public static string adbFolderPath = Environment.CurrentDirectory + "\\adb";
public static string adbFolderPath = "C:\\RSL\\2.1.1\\ADB";
public static string adbFilePath = adbFolderPath + "\\adb.exe";
public static string DeviceID = "";
public static string package = "";
public static ProcessOutput RunAdbCommandToString(string command)
{
if (DeviceID.Length > 1)
command = $" -s {DeviceID} {command}";
Properties.Settings.Default.ADBFolder = adbFolderPath;
Properties.Settings.Default.ADBPath = adbFilePath;
Properties.Settings.Default.Save();
Logger.Log($"Running command {command}");
if (DeviceID.Length > 1)
{
command = $" -s {DeviceID} {command}";
}
if (!command.Contains("dumpsys") && !command.Contains("shell pm list packages"))
Logger.Log($"Running command {command}");
adb.StartInfo.FileName = adbFilePath;
adb.StartInfo.Arguments = command;
adb.StartInfo.RedirectStandardError = true;
@@ -30,7 +36,6 @@ namespace AndroidSideloader
adb.StartInfo.CreateNoWindow = true;
adb.StartInfo.UseShellExecute = false;
adb.StartInfo.WorkingDirectory = adbFolderPath;
adb.Start();
adb.StandardInput.WriteLine(command);
adb.StandardInput.Flush();
@@ -40,21 +45,44 @@ namespace AndroidSideloader
string error = "";
try
{
{
output = adb.StandardOutput.ReadToEnd();
error = adb.StandardError.ReadToEnd();
}
catch { }
if (command.Contains("connect"))
{
bool graceful = adb.WaitForExit(3000); //Wait 3 secs.
if (!graceful)
{
adb.Kill();
}
}
else
adb.WaitForExit();
if (error.Contains("ADB_VENDOR_KEYS"))
{
MessageBox.Show("Please check inside your headset for ADB DEBUGGING prompt, check box to \"Always allow from this computer.\" and hit OK.");
ADB.WakeDevice();
}
if (error.Contains("not enough storage space"))
{
MessageBox.Show("There is not enough room on your device to install this package. Please clear AT LEAST 2x the amount of the app you are trying to install.");
}
if (!output.Contains("version"))
Logger.Log(output);
Logger.Log(error);
return new ProcessOutput(output, error);
}
public static ProcessOutput RunAdbCommandToStringWOADB(string result, string path)
{
string command = result;
Properties.Settings.Default.ADBFolder = adbFolderPath;
Properties.Settings.Default.ADBPath = adbFilePath;
Properties.Settings.Default.Save();
Logger.Log($"Running command {command}");
adb.StartInfo.FileName = "cmd.exe";
@@ -75,19 +103,82 @@ namespace AndroidSideloader
try
{
output += adb.StandardOutput.ReadToEnd();
error += adb.StandardError.ReadToEnd();
output += adb.StandardOutput.ReadToEnd();
error += adb.StandardError.ReadToEnd();
}
catch { }
if (command.Contains("connect"))
{
bool graceful = adb.WaitForExit(3000);
if (!graceful)
{
adb.Kill();
}
}
else
adb.WaitForExit();
if (error.Contains("ADB_VENDOR_KEYS"))
{
MessageBox.Show("Please check inside your headset for ADB DEBUGGING prompt, check box to \"Always allow from this computer.\" and hit OK.");
ADB.WakeDevice();
}
Logger.Log(output);
Logger.Log(error);
return new ProcessOutput(output, error);
}
public static ProcessOutput RunCommandToString(string result, string path)
{
string command = result;
Properties.Settings.Default.ADBFolder = adbFolderPath;
Properties.Settings.Default.ADBPath = adbFilePath;
Properties.Settings.Default.Save();
adb.WaitForExit();
Logger.Log($"Running command {command}");
adb.StartInfo.FileName = @"C:\windows\system32\cmd.exe";
adb.StartInfo.Arguments = command;
adb.StartInfo.RedirectStandardError = true;
adb.StartInfo.RedirectStandardInput = true;
adb.StartInfo.RedirectStandardOutput = true;
adb.StartInfo.CreateNoWindow = true;
adb.StartInfo.UseShellExecute = false;
adb.StartInfo.WorkingDirectory = Path.GetDirectoryName(path);
adb.Start();
adb.StandardInput.WriteLine(command);
adb.StandardInput.Flush();
adb.StandardInput.Close();
string output = "";
string error = "";
try
{
output += adb.StandardOutput.ReadToEnd();
error += adb.StandardError.ReadToEnd();
}
catch { }
if (command.Contains("connect"))
{
bool graceful = adb.WaitForExit(3000);
if (!graceful)
{
adb.Kill();
}
}
else
adb.WaitForExit();
if (error.Contains("ADB_VENDOR_KEYS"))
{
MessageBox.Show("Please check inside your headset for ADB DEBUGGING prompt, check box to \"Always allow from this computer.\" and hit OK.");
ADB.WakeDevice();
}
Logger.Log(output);
Logger.Log(error);
return new ProcessOutput(output, error);
}
public static ProcessOutput UninstallPackage(string package)
public static ProcessOutput UninstallPackage(string package)
{
WakeDevice();
ProcessOutput output = new ProcessOutput("", "");
@@ -143,75 +234,104 @@ namespace AndroidSideloader
public static void WakeDevice()
{
if (!string.IsNullOrEmpty(Properties.Settings.Default.IPAddress))
string devicesout = RunAdbCommandToString("shell input keyevent KEYCODE_WAKEUP").Output;
if (!devicesout.Contains("found"))
{
ADB.RunAdbCommandToString(Properties.Settings.Default.IPAddress);
string response = ADB.RunAdbCommandToString(Properties.Settings.Default.IPAddress).Output;
if (response.Contains("refused"))
if (Properties.Settings.Default.IPAddress.Contains("connect"))
{
DialogResult dialogResult = MessageBox.Show("It seems you have rebooted your Quest, Rookie's wireless ADB will persist past PC reboot, but not for Quest reboot.\n\nHave you assigned your Quest a static IP in your router configuration? If you no longer want to use Wireless ADB just hit cancel!", "DEVICE WAS REBOOTED", MessageBoxButtons.YesNoCancel);
if (dialogResult == DialogResult.Cancel)
return;
if (dialogResult == DialogResult.Yes)
{
ADB.WakeDevice();
MessageBox.Show("Connect your Quest to USB so we can reconnect to your saved IP address!");
ADB.RunAdbCommandToString("devices");
Thread.Sleep(250);
ADB.RunAdbCommandToString("disconnect");
Thread.Sleep(50);
ADB.RunAdbCommandToString("connect");
Thread.Sleep(50);
ADB.RunAdbCommandToString("tcpip 5555");
Thread.Sleep(500);
ADB.RunAdbCommandToString(Properties.Settings.Default.IPAddress);
}
if (dialogResult == DialogResult.No)
{
ADB.WakeDevice();
MessageBox.Show("You must repeat the entire connection process, press OK to begin.", "Reconfigure Wireless ADB", MessageBoxButtons.OK);
ADB.RunAdbCommandToString("devices");
ADB.RunAdbCommandToString("tcpip 5555");
MessageBox.Show("Press OK to get your Quest's local IP address.", "Obtain local IP address", MessageBoxButtons.OK);
Thread.Sleep(1000);
string input = ADB.RunAdbCommandToString("shell ip route").Output;
RunAdbCommandToString(Properties.Settings.Default.IPAddress);
string response = RunAdbCommandToString(Properties.Settings.Default.IPAddress).Output;
string[] strArrayOne = new string[] { "" };
strArrayOne = input.Split(' ');
if (strArrayOne[0].Length > 7)
if (response.Contains("cannot") || String.IsNullOrEmpty(response))
{
DialogResult dialogResult = MessageBox.Show("Either your Quest is idle or you have rebooted the device.\nRSL's wireless ADB will persist on PC reboot but not on Quest reboot.\n\nNOTE: If you haven't rebooted your Quest it may be idle.\n\nTo prevent this press the HOLD button 2x prior to launching RSL. Or\nkeep your Quest plugged into power to keep it permanently \"awake\".\n\nHave you assigned your Quest a static IP in your router configuration?\n\nIf you no longer want to use Wireless ADB or your device was idle please hit CANCEL.", "DEVICE REBOOTED\\IDLE?", MessageBoxButtons.YesNoCancel);
if (dialogResult == DialogResult.Cancel)
{
ADB.WakeDevice();
string IPaddr = strArrayOne[8];
string IPcmnd = "connect " + IPaddr + ":5555";
MessageBox.Show($"Your Quest's local IP address is: {IPaddr}\n\nPlease disconnect your Quest then wait 2 seconds.\nOnce it is disconnected hit OK", "", MessageBoxButtons.OK);
Thread.Sleep(2000);
ADB.RunAdbCommandToString(IPcmnd);
Properties.Settings.Default.IPAddress = IPcmnd;
DialogResult dialogResult2 = MessageBox.Show("Press OK to remove your stored IP address.\nIf your Quest went idle press the HOLD button on the device twice then press CANCEL to reconnect.", "REMOVE STORED IP?", MessageBoxButtons.OKCancel);
if (dialogResult2 == DialogResult.Cancel)
WakeDevice();
if (dialogResult2 == DialogResult.OK)
{
Properties.Settings.Default.IPAddress = "";
Properties.Settings.Default.Save();
WakeDevice();
}
}
else if (dialogResult == DialogResult.Yes)
{
MessageBox.Show("Connect your Quest to USB so we can reconnect to your saved IP address!");
RunAdbCommandToString("devices");
Thread.Sleep(250);
RunAdbCommandToString("disconnect");
Thread.Sleep(50);
RunAdbCommandToString("connect");
Thread.Sleep(50);
RunAdbCommandToString("tcpip 5555");
Thread.Sleep(500);
RunAdbCommandToString(Properties.Settings.Default.IPAddress);
MessageBox.Show($"Connected! We can now automatically enable wake on wifi. This makes it so Rookie can work wirelessly even if the device has entered \"sleep mode\". This setting is NOT permanent and resets upon Quest reboot just like wireless ADB functionality.\n\n After testing with this setting off and on the difference in battery usage seems nonexistent. We recommend this setting for the majority of users for ease of use purposes. If you click NO you must keep your Quest connected to a charger OR wake your device and then put it back on hold before using Rookie wirelessly. Do you want to enable wake on wifi?", "Enable Wake on Wifi?", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
RunAdbCommandToString("shell settings put global wifi_wakeup_available 1");
RunAdbCommandToString("shell settings put global wifi_wakeup_enabled 1");
}
if (dialogResult == DialogResult.No)
{
Program.form.ChangeTitlebarToDevice();
return;
}
}
else if (dialogResult == DialogResult.No)
{
MessageBox.Show("You must repeat the entire connection process, press OK to begin.", "Reconfigure Wireless ADB", MessageBoxButtons.OK);
RunAdbCommandToString("devices");
RunAdbCommandToString("tcpip 5555");
MessageBox.Show("Press OK to get your Quest's local IP address.", "Obtain local IP address", MessageBoxButtons.OK);
Thread.Sleep(1000);
string input = RunAdbCommandToString("shell ip route").Output;
Properties.Settings.Default.WirelessADB = true;
Properties.Settings.Default.Save();
string[] strArrayOne = new string[] { "" };
strArrayOne = input.Split(' ');
if (strArrayOne[0].Length > 7)
{
string IPaddr = strArrayOne[8];
string IPcmnd = "connect " + IPaddr + ":5555";
MessageBox.Show($"Your Quest's local IP address is: {IPaddr}\n\nPlease disconnect your Quest then wait 2 seconds.\nOnce it is disconnected hit OK", "", MessageBoxButtons.OK);
Thread.Sleep(2000);
ADB.RunAdbCommandToString(IPcmnd);
Properties.Settings.Default.IPAddress = IPcmnd;
Properties.Settings.Default.Save();
MessageBox.Show($"Connected!!", "", MessageBoxButtons.OK);
Program.form.ChangeTitlebarToDevice();
}
else
{
MessageBox.Show("No device connected!");
}
MessageBox.Show($"Connected! We can now automatically disable the Quest wifi chip from falling asleep. This makes it so Rookie can work wirelessly even if the device has entered \"sleep mode\". This setting is NOT permanent and resets upon Quest reboot, just like wireless ADB functionality.\n\nNOTE: This may cause the device battery to drain while it is in sleep mode at a very slightly increased rate. We recommend this setting for the majority of users for ease of use purposes. If you click NO you must keep your Quest connected to a charger or wake your device and then put it back on hold before using Rookie wirelessly. Do you want us to stop sleep mode from disabling wireless ADB?", "", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
ADB.RunAdbCommandToString("shell settings put global wifi_wakeup_available 1");
ADB.RunAdbCommandToString("shell settings put global wifi_wakeup_enabled 1");
}
Program.form.ChangeTitlebarToDevice();
}
}
}
}
}
RunAdbCommandToString("shell input keyevent KEYCODE_WAKEUP");
}
public static ProcessOutput Sideload(string path, string packagename = "")
public static ProcessOutput Sideload(string path = "", string packagename = "")
{
WakeDevice();
ProcessOutput ret = new ProcessOutput();
Program.form.ChangeTitle($"Sideloading {path}");
Program.form.ChangeTitle($"Sideloading {Path.GetFileName(path)}");
ret += RunAdbCommandToString($"install -g -r \"{path}\"");
string out2 = ret.Output + ret.Error;
if (out2.Contains("failed"))
@@ -219,7 +339,7 @@ namespace AndroidSideloader
string BackupFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), $"Rookie Backups");
if (out2.Contains("offline"))
{
DialogResult dialogResult2 = MessageBox.Show("Device is offline. Press Yes to reconnect, or if you don't wish to connect and just want to download the game (we suggest unchecking delete games after install from settings menu) then press No.", "Device offline.", MessageBoxButtons.YesNoCancel);
DialogResult dialogResult2 = MessageBox.Show("Device is offline. Press Yes to reconnect, or if you don't wish to connect and just want to download the game (requires unchecking \"Delete games after install\" from settings menu) then press No.", "Device offline.", MessageBoxButtons.YesNoCancel);
if (dialogResult2 == DialogResult.Yes)
ADB.WakeDevice();
}
@@ -229,7 +349,7 @@ namespace AndroidSideloader
ret.Output = string.Empty;
MessageBox.Show($"In-place upgrade for {packagename} failed. We will need to upgrade by uninstalling, and keeping savedata isn't guaranteed. Continue?", "UPGRADE FAILED!", MessageBoxButtons.OKCancel);
MessageBox.Show($"In place upgrade for {packagename} failed. We will need to upgrade by uninstalling, and keeping savedata isn't guaranteed. Continue?", "UPGRADE FAILED!", MessageBoxButtons.OKCancel);
string date_str = DateTime.Today.ToString("yyyy.MM.dd");
string CurrBackups = Path.Combine(BackupFolder, date_str);
@@ -238,12 +358,9 @@ namespace AndroidSideloader
MessageBox.Show($"Searching for save files...", "Searching!", MessageBoxButtons.OK);
if (Directory.Exists($"/sdcard/Android/data/{packagename}"))
{
MessageBox.Show($"Trying to backup save to Documents\\Rookie Backups\\{date_str}(year.month.date)\\{packagename}\\data", "Save files found", MessageBoxButtons.OK);
MessageBox.Show($"Trying to backup save to Documents\\Rookie Backups\\{date_str}(YYYY.MM.DD)\\{packagename}", "Save files found", MessageBoxButtons.OK);
Directory.CreateDirectory(CurrBackups);
String CurrbackupPaths = CurrBackups + "\\" + packagename + "\\data";
Directory.CreateDirectory(CurrbackupPaths);
ADB.RunAdbCommandToString($"pull \"/sdcard/Android/data/{packagename}\" \"{CurrbackupPaths}\"");
ADB.RunAdbCommandToString($"pull \"/sdcard/Android/data/{packagename}\" \"{CurrBackups}\"");
}
else
{
@@ -254,7 +371,7 @@ namespace AndroidSideloader
}
}
ADB.WakeDevice();
ret += ADB.RunAdbCommandToString("shell pm uninstall " + packagename);
ret += ADB.RunAdbCommandToString("shell pm uninstall " + package);
ret += RunAdbCommandToString($"install -g -r \"{path}\"");
return ret;
}
@@ -262,33 +379,36 @@ namespace AndroidSideloader
}
if (File.Exists($"{Properties.Settings.Default.MainDir}\\Config.Json"))
{
Program.form.ChangeTitle("Pushing Custom QU s3 Patch JSON.");
string gameName = packagename;
packagename = Sideloader.gameNameToPackageName(gameName);
RunAdbCommandToString($"shell mkdir /sdcard/android/data/{packagename}");
RunAdbCommandToString($"shell mkdir /sdcard/android/data/{packagename}/private");
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);
Random r = new Random();
int x = r.Next(999999999);
int y = r.Next(9999999);
var sum = ((long)y * (long)1000000000) + (long)x;
var sum = ((long)y * (long)1000000000) + (long)x;
int x2 = r.Next(999999999);
int y2 = r.Next(9999999);
int x2 = r.Next(999999999);
int y2 = r.Next(9999999);
var sum2 = ((long)y2 * (long)1000000000) + (long)x2;
ADB.WakeDevice();
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("config.json", boff);
string blank = "";
File.WriteAllText("delete_settings", blank);
ret += ADB.RunAdbCommandToString($"push \"{Environment.CurrentDirectory}\\delete_settings\" /sdcard/android/data/{packagename}/private/");
ret += ADB.RunAdbCommandToString($"push \"{Environment.CurrentDirectory}\\config.json\" /sdcard/android/data/{packagename}/private/");
}
var sum2 = ((long)y2 * (long)1000000000) + (long)x2;
ADB.WakeDevice();
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("Sideload done");
return ret;
}
@@ -296,7 +416,7 @@ namespace AndroidSideloader
public static ProcessOutput CopyOBB(string path)
{
WakeDevice();
if (SideloaderUtilities.CheckFolderIsObb(path))
if (path.Contains(".") && !path.Contains("_data"))
return RunAdbCommandToString($"push \"{path}\" /sdcard/Android/obb");
return new ProcessOutput();
}

Binary file not shown.

View File

@@ -252,6 +252,7 @@
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<None Include="version" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
@@ -259,6 +260,9 @@
<ItemGroup>
<Content Include="changelog.txt" />
<Content Include="icon.ico" />
<None Include="Resources\greenkey.png" />
<None Include="Resources\orangekey.png" />
<None Include="Resources\SearchGlass.PNG" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.5.2">

View File

@@ -27,7 +27,7 @@
<value>True</value>
</setting>
<setting name="userJsonOnGameInstall" serializeAs="String">
<value>True</value>
<value>False</value>
</setting>
<setting name="CallUpgrade" serializeAs="String">
<value>True</value>
@@ -51,7 +51,7 @@
<value>White</value>
</setting>
<setting name="FontStyle" serializeAs="String">
<value>Microsoft Sans Serif, 9.5pt</value>
<value>Microsoft Sans Serif, 10pt, style=Bold</value>
</setting>
<setting name="BackPicturePath" serializeAs="String">
<value />
@@ -84,19 +84,19 @@
<value />
</setting>
<setting name="QUhz" serializeAs="String">
<value />
<value>0</value>
</setting>
<setting name="QUres" serializeAs="String">
<value />
<value>0</value>
</setting>
<setting name="QUy" serializeAs="String">
<value />
<value>0</value>
</setting>
<setting name="QUx" serializeAs="String">
<value />
<value>0</value>
</setting>
<setting name="QUname" serializeAs="String">
<value />
<value>Change Me</value>
</setting>
<setting name="QUString" serializeAs="String">
<value />
@@ -110,6 +110,27 @@
<setting name="delsh" serializeAs="String">
<value>False</value>
</setting>
<setting name="CurrPckg" serializeAs="String">
<value />
</setting>
<setting name="ADBFolder" serializeAs="String">
<value />
</setting>
<setting name="WirelessADB" serializeAs="String">
<value>False</value>
</setting>
<setting name="CurrentGamename" serializeAs="String">
<value />
</setting>
<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>
</AndroidSideloader.Properties.Settings>
<AndroidADB.Sideloader.Properties.Settings>
<setting name="checkForUpdates" serializeAs="String">

View File

@@ -30,7 +30,7 @@ public class ListViewColumnSorter : IComparer
ColumnToSort = 0;
// Initialize the sort order to 'none'
OrderOfSort = SortOrder.None;
OrderOfSort = SortOrder.Ascending;
// Initialize the CaseInsensitiveComparer object
ObjectCompare = new CaseInsensitiveComparer();

324
MainForm.Designer.cs generated
View File

@@ -42,7 +42,6 @@
this.downloadInstallGameButton = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
this.downloadingLabel = new System.Windows.Forms.Label();
this.StorageLabel = new System.Windows.Forms.Label();
this.aboutBtn = new System.Windows.Forms.Button();
this.settingsButton = new System.Windows.Forms.Button();
this.otherContainer = new System.Windows.Forms.Panel();
@@ -68,7 +67,6 @@
this.remotesList = new System.Windows.Forms.ComboBox();
this.gamesListView = new System.Windows.Forms.ListView();
this.searchTextBox = new System.Windows.Forms.TextBox();
this.gamesPictureBox = new System.Windows.Forms.PictureBox();
this.gamesQueueLabel = new System.Windows.Forms.Label();
this.MountButton = new System.Windows.Forms.Button();
this.ProgressText = new System.Windows.Forms.Label();
@@ -76,18 +74,32 @@
this.DragDropLbl = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.pictureBox3 = new System.Windows.Forms.PictureBox();
this.pictureBox2 = new System.Windows.Forms.PictureBox();
this.gamesPictureBox = new System.Windows.Forms.PictureBox();
this.pictureBox4 = new System.Windows.Forms.PictureBox();
this.label6 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.EnterInstallBox = new System.Windows.Forms.CheckBox();
this.panel1.SuspendLayout();
this.otherContainer.SuspendLayout();
this.backupContainer.SuspendLayout();
this.sideloadContainer.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.gamesPictureBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.gamesPictureBox)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit();
this.SuspendLayout();
//
// m_combo
//
this.m_combo.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.m_combo.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.m_combo.BackColor = global::AndroidSideloader.Properties.Settings.Default.ComboBoxColor;
this.m_combo.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ComboBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.m_combo.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
@@ -97,7 +109,7 @@
this.m_combo.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.m_combo.Location = new System.Drawing.Point(227, 8);
this.m_combo.Name = "m_combo";
this.m_combo.Size = new System.Drawing.Size(745, 24);
this.m_combo.Size = new System.Drawing.Size(353, 24);
this.m_combo.TabIndex = 0;
this.m_combo.Text = "Select an app to uninstall...";
//
@@ -275,7 +287,7 @@
| System.Windows.Forms.AnchorStyles.Right)));
this.progressBar.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.progressBar.ForeColor = System.Drawing.Color.Purple;
this.progressBar.Location = new System.Drawing.Point(228, 500);
this.progressBar.Location = new System.Drawing.Point(228, 441);
this.progressBar.Name = "progressBar";
this.progressBar.Size = new System.Drawing.Size(367, 25);
this.progressBar.TabIndex = 7;
@@ -312,20 +324,20 @@
this.downloadInstallGameButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.downloadInstallGameButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.downloadInstallGameButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.downloadInstallGameButton.Location = new System.Drawing.Point(601, 498);
this.downloadInstallGameButton.Location = new System.Drawing.Point(601, 439);
this.downloadInstallGameButton.Name = "downloadInstallGameButton";
this.downloadInstallGameButton.Size = new System.Drawing.Size(371, 30);
this.downloadInstallGameButton.TabIndex = 8;
this.downloadInstallGameButton.Text = "Download and Install Game/Add to Queue";
this.downloadInstallGameButton.UseVisualStyleBackColor = false;
this.downloadInstallGameButton.Click += new System.EventHandler(this.downloadInstallGameButton_Click);
this.downloadInstallGameButton.Enter += new System.EventHandler(this.downloadInstallGameButton_Click);
//
// panel1
//
this.panel1.AutoScroll = true;
this.panel1.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor;
this.panel1.Controls.Add(this.downloadingLabel);
this.panel1.Controls.Add(this.StorageLabel);
this.panel1.Controls.Add(this.aboutBtn);
this.panel1.Controls.Add(this.settingsButton);
this.panel1.Controls.Add(this.otherContainer);
@@ -343,7 +355,7 @@
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Margin = new System.Windows.Forms.Padding(2);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(218, 775);
this.panel1.Size = new System.Drawing.Size(218, 721);
this.panel1.TabIndex = 73;
//
// downloadingLabel
@@ -352,23 +364,10 @@
this.downloadingLabel.BackColor = System.Drawing.SystemColors.WindowText;
this.downloadingLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F);
this.downloadingLabel.ForeColor = System.Drawing.SystemColors.Control;
this.downloadingLabel.Location = new System.Drawing.Point(12, 714);
this.downloadingLabel.Location = new System.Drawing.Point(-3, 688);
this.downloadingLabel.Name = "downloadingLabel";
this.downloadingLabel.Size = new System.Drawing.Size(98, 18);
this.downloadingLabel.Size = new System.Drawing.Size(0, 18);
this.downloadingLabel.TabIndex = 83;
this.downloadingLabel.Text = "Downloading:";
//
// StorageLabel
//
this.StorageLabel.AutoSize = true;
this.StorageLabel.BackColor = System.Drawing.SystemColors.WindowText;
this.StorageLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F);
this.StorageLabel.ForeColor = System.Drawing.SystemColors.Control;
this.StorageLabel.Location = new System.Drawing.Point(12, 636);
this.StorageLabel.Name = "StorageLabel";
this.StorageLabel.Size = new System.Drawing.Size(111, 18);
this.StorageLabel.TabIndex = 83;
this.StorageLabel.Text = "Device storage:";
//
// aboutBtn
//
@@ -705,10 +704,10 @@
this.diskLabel.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.diskLabel.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.diskLabel.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.diskLabel.Location = new System.Drawing.Point(13, 654);
this.diskLabel.Location = new System.Drawing.Point(2, 638);
this.diskLabel.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.diskLabel.Name = "diskLabel";
this.diskLabel.Size = new System.Drawing.Size(72, 16);
this.diskLabel.Size = new System.Drawing.Size(84, 17);
this.diskLabel.TabIndex = 7;
this.diskLabel.Text = "Disk Label";
//
@@ -719,10 +718,10 @@
this.speedLabel.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.speedLabel.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.speedLabel.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.speedLabel.Location = new System.Drawing.Point(12, 733);
this.speedLabel.Location = new System.Drawing.Point(-3, 681);
this.speedLabel.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.speedLabel.Name = "speedLabel";
this.speedLabel.Size = new System.Drawing.Size(135, 16);
this.speedLabel.Size = new System.Drawing.Size(159, 17);
this.speedLabel.TabIndex = 76;
this.speedLabel.Text = "DLS: Speed in MBPS";
//
@@ -733,10 +732,10 @@
this.etaLabel.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.etaLabel.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.etaLabel.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.etaLabel.Location = new System.Drawing.Point(12, 751);
this.etaLabel.Location = new System.Drawing.Point(-3, 698);
this.etaLabel.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.etaLabel.Name = "etaLabel";
this.etaLabel.Size = new System.Drawing.Size(131, 16);
this.etaLabel.Size = new System.Drawing.Size(157, 17);
this.etaLabel.TabIndex = 75;
this.etaLabel.Text = "ETA: HH:MM:SS Left";
//
@@ -749,7 +748,7 @@
this.freeDisclaimer.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.freeDisclaimer.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.freeDisclaimer.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.freeDisclaimer.Location = new System.Drawing.Point(287, 624);
this.freeDisclaimer.Location = new System.Drawing.Point(277, 554);
this.freeDisclaimer.Name = "freeDisclaimer";
this.freeDisclaimer.Size = new System.Drawing.Size(246, 40);
this.freeDisclaimer.TabIndex = 79;
@@ -770,17 +769,16 @@
this.gamesQueListBox.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.gamesQueListBox.FormattingEnabled = true;
this.gamesQueListBox.ItemHeight = 16;
this.gamesQueListBox.Location = new System.Drawing.Point(601, 529);
this.gamesQueListBox.Location = new System.Drawing.Point(601, 475);
this.gamesQueListBox.Margin = new System.Windows.Forms.Padding(2);
this.gamesQueListBox.Name = "gamesQueListBox";
this.gamesQueListBox.Size = new System.Drawing.Size(372, 114);
this.gamesQueListBox.Size = new System.Drawing.Size(372, 130);
this.gamesQueListBox.TabIndex = 9;
this.gamesQueListBox.MouseClick += new System.Windows.Forms.MouseEventHandler(this.gamesQueListBox_MouseClick);
//
// devicesComboBox
//
this.devicesComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.devicesComboBox.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.devicesComboBox.BackColor = global::AndroidSideloader.Properties.Settings.Default.ComboBoxColor;
this.devicesComboBox.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ComboBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.devicesComboBox.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
@@ -792,14 +790,14 @@
this.devicesComboBox.Location = new System.Drawing.Point(227, 39);
this.devicesComboBox.Margin = new System.Windows.Forms.Padding(2);
this.devicesComboBox.Name = "devicesComboBox";
this.devicesComboBox.Size = new System.Drawing.Size(206, 24);
this.devicesComboBox.Size = new System.Drawing.Size(161, 24);
this.devicesComboBox.TabIndex = 1;
this.devicesComboBox.Text = "Select your device";
this.devicesComboBox.SelectedIndexChanged += new System.EventHandler(this.devicesComboBox_SelectedIndexChanged);
//
// remotesList
//
this.remotesList.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.remotesList.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.remotesList.BackColor = global::AndroidSideloader.Properties.Settings.Default.ComboBoxColor;
this.remotesList.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ComboBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.remotesList.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
@@ -808,12 +806,11 @@
this.remotesList.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.remotesList.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.remotesList.FormattingEnabled = true;
this.remotesList.Location = new System.Drawing.Point(530, 39);
this.remotesList.Location = new System.Drawing.Point(527, 39);
this.remotesList.Margin = new System.Windows.Forms.Padding(2);
this.remotesList.Name = "remotesList";
this.remotesList.Size = new System.Drawing.Size(206, 24);
this.remotesList.Size = new System.Drawing.Size(53, 24);
this.remotesList.TabIndex = 3;
this.remotesList.Text = "Select a mirror";
this.remotesList.SelectedIndexChanged += new System.EventHandler(this.remotesList_SelectedIndexChanged);
//
// gamesListView
@@ -826,18 +823,21 @@
this.gamesListView.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.gamesListView.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.gamesListView.HideSelection = false;
this.gamesListView.Location = new System.Drawing.Point(227, 71);
this.gamesListView.Location = new System.Drawing.Point(227, 69);
this.gamesListView.Name = "gamesListView";
this.gamesListView.Size = new System.Drawing.Size(745, 423);
this.gamesListView.Size = new System.Drawing.Size(745, 366);
this.gamesListView.TabIndex = 6;
this.gamesListView.UseCompatibleStateImageBehavior = false;
this.gamesListView.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listView1_ColumnClick);
this.gamesListView.SelectedIndexChanged += new System.EventHandler(this.gamesListView_SelectedIndexChanged);
this.gamesListView.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.gamesListView_KeyPress);
this.gamesListView.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.gamesListView_MouseDoubleClick);
//
// searchTextBox
//
this.searchTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.searchTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.searchTextBox.BackColor = global::AndroidSideloader.Properties.Settings.Default.TextBoxColor;
this.searchTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.searchTextBox.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "TextBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
@@ -845,40 +845,33 @@
this.searchTextBox.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.searchTextBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.searchTextBox.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.searchTextBox.Location = new System.Drawing.Point(741, 40);
this.searchTextBox.Location = new System.Drawing.Point(473, 250);
this.searchTextBox.Name = "searchTextBox";
this.searchTextBox.Size = new System.Drawing.Size(231, 22);
this.searchTextBox.Size = new System.Drawing.Size(231, 23);
this.searchTextBox.TabIndex = 5;
this.searchTextBox.Text = "Search";
this.searchTextBox.Visible = false;
this.searchTextBox.TextChanged += new System.EventHandler(this.searchTextBox_TextChanged);
//
// gamesPictureBox
//
this.gamesPictureBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.gamesPictureBox.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.gamesPictureBox.Location = new System.Drawing.Point(228, 529);
this.gamesPictureBox.Name = "gamesPictureBox";
this.gamesPictureBox.Size = new System.Drawing.Size(367, 214);
this.gamesPictureBox.TabIndex = 84;
this.gamesPictureBox.TabStop = false;
this.searchTextBox.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.searchTextBox_KeyPress);
this.searchTextBox.Leave += new System.EventHandler(this.searchTextBox_Leave);
//
// gamesQueueLabel
//
this.gamesQueueLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.gamesQueueLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.gamesQueueLabel.AutoSize = true;
this.gamesQueueLabel.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.gamesQueueLabel.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.gamesQueueLabel.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.gamesQueueLabel.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.gamesQueueLabel.Location = new System.Drawing.Point(597, 628);
this.gamesQueueLabel.Location = new System.Drawing.Point(597, 590);
this.gamesQueueLabel.Name = "gamesQueueLabel";
this.gamesQueueLabel.Size = new System.Drawing.Size(95, 16);
this.gamesQueueLabel.Size = new System.Drawing.Size(111, 17);
this.gamesQueueLabel.TabIndex = 86;
this.gamesQueueLabel.Text = "Games Queue";
//
// MountButton
//
this.MountButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.MountButton.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.MountButton.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.MountButton.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.MountButton.Cursor = System.Windows.Forms.Cursors.Default;
@@ -888,13 +881,14 @@
this.MountButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.MountButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.MountButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.MountButton.Location = new System.Drawing.Point(438, 39);
this.MountButton.Location = new System.Drawing.Point(393, 39);
this.MountButton.Name = "MountButton";
this.MountButton.Size = new System.Drawing.Size(87, 26);
this.MountButton.Size = new System.Drawing.Size(66, 26);
this.MountButton.TabIndex = 2;
this.MountButton.Text = "Mount";
this.MountButton.UseVisualStyleBackColor = false;
this.MountButton.Click += new System.EventHandler(this.MountButton_Click);
this.MountButton.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop);
//
// ProgressText
//
@@ -903,7 +897,7 @@
this.ProgressText.BackColor = System.Drawing.Color.Transparent;
this.ProgressText.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ProgressText.ForeColor = System.Drawing.Color.White;
this.ProgressText.Location = new System.Drawing.Point(225, 751);
this.ProgressText.Location = new System.Drawing.Point(225, 692);
this.ProgressText.Name = "ProgressText";
this.ProgressText.Size = new System.Drawing.Size(0, 18);
this.ProgressText.TabIndex = 88;
@@ -918,12 +912,12 @@
this.notesRichTextBox.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.notesRichTextBox.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.notesRichTextBox.HideSelection = false;
this.notesRichTextBox.Location = new System.Drawing.Point(601, 652);
this.notesRichTextBox.Location = new System.Drawing.Point(601, 610);
this.notesRichTextBox.Name = "notesRichTextBox";
this.notesRichTextBox.ReadOnly = true;
this.notesRichTextBox.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical;
this.notesRichTextBox.ShowSelectionMargin = true;
this.notesRichTextBox.Size = new System.Drawing.Size(371, 91);
this.notesRichTextBox.Size = new System.Drawing.Size(371, 79);
this.notesRichTextBox.TabIndex = 10;
this.notesRichTextBox.Text = "";
//
@@ -934,25 +928,24 @@
this.DragDropLbl.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.DragDropLbl.Font = new System.Drawing.Font("Microsoft Sans Serif", 36F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.DragDropLbl.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.DragDropLbl.Location = new System.Drawing.Point(224, 606);
this.DragDropLbl.Location = new System.Drawing.Point(240, 543);
this.DragDropLbl.Name = "DragDropLbl";
this.DragDropLbl.Size = new System.Drawing.Size(320, 55);
this.DragDropLbl.TabIndex = 25;
this.DragDropLbl.Text = "DragDropLBL";
this.DragDropLbl.Visible = false;
this.DragDropLbl.Click += new System.EventHandler(this.DragDropLbl_Click);
//
// label1
//
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.label1.AutoSize = true;
this.label1.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.label1.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.label1.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.label1.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.label1.Location = new System.Drawing.Point(598, 730);
this.label1.Location = new System.Drawing.Point(598, 677);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(81, 16);
this.label1.Size = new System.Drawing.Size(98, 17);
this.label1.TabIndex = 86;
this.label1.Text = "Install Notes";
//
@@ -966,12 +959,163 @@
this.pictureBox1.ErrorImage = null;
this.pictureBox1.ImageLocation = global::AndroidSideloader.Properties.Settings.Default.BackPicturePath;
this.pictureBox1.InitialImage = null;
this.pictureBox1.Location = new System.Drawing.Point(217, -1);
this.pictureBox1.Location = new System.Drawing.Point(217, -2);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(764, 772);
this.pictureBox1.Size = new System.Drawing.Size(764, 718);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox1.TabIndex = 74;
this.pictureBox1.TabStop = false;
this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
//
// label2
//
this.label2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45)))));
this.label2.Location = new System.Drawing.Point(460, 193);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(271, 120);
this.label2.TabIndex = 89;
this.label2.Visible = false;
//
// label3
//
this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold);
this.label3.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label3.Location = new System.Drawing.Point(509, 207);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(170, 51);
this.label3.TabIndex = 90;
this.label3.Text = "Start typing to search.\r\nPress ESC to close.\r\n\r\n";
this.label3.TextAlign = System.Drawing.ContentAlignment.TopCenter;
this.label3.Visible = false;
//
// label4
//
this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.label4.AutoSize = true;
this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold);
this.label4.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label4.Location = new System.Drawing.Point(523, 280);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(132, 17);
this.label4.TabIndex = 90;
this.label4.Text = "Shorcut: CTRL+F";
this.label4.TextAlign = System.Drawing.ContentAlignment.TopCenter;
this.label4.Visible = false;
//
// label5
//
this.label5.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold);
this.label5.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label5.Location = new System.Drawing.Point(692, 11);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(99, 17);
this.label5.TabIndex = 90;
this.label5.Text = "Search apps";
this.label5.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// pictureBox3
//
this.pictureBox3.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.pictureBox3.Image = global::AndroidSideloader.Properties.Resources.orangekey;
this.pictureBox3.Location = new System.Drawing.Point(803, 10);
this.pictureBox3.Name = "pictureBox3";
this.pictureBox3.Size = new System.Drawing.Size(21, 20);
this.pictureBox3.TabIndex = 92;
this.pictureBox3.TabStop = false;
//
// pictureBox2
//
this.pictureBox2.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.pictureBox2.Image = global::AndroidSideloader.Properties.Resources.SearchGlass;
this.pictureBox2.Location = new System.Drawing.Point(731, 37);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.Size = new System.Drawing.Size(28, 24);
this.pictureBox2.TabIndex = 91;
this.pictureBox2.TabStop = false;
this.pictureBox2.Click += new System.EventHandler(this.pictureBox2_Click);
//
// gamesPictureBox
//
this.gamesPictureBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.gamesPictureBox.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.gamesPictureBox.Location = new System.Drawing.Point(227, 472);
this.gamesPictureBox.Name = "gamesPictureBox";
this.gamesPictureBox.Size = new System.Drawing.Size(367, 214);
this.gamesPictureBox.TabIndex = 84;
this.gamesPictureBox.TabStop = false;
//
// pictureBox4
//
this.pictureBox4.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.pictureBox4.Image = global::AndroidSideloader.Properties.Resources.greenkey;
this.pictureBox4.Location = new System.Drawing.Point(803, 39);
this.pictureBox4.Name = "pictureBox4";
this.pictureBox4.Size = new System.Drawing.Size(21, 20);
this.pictureBox4.TabIndex = 92;
this.pictureBox4.TabStop = false;
//
// label6
//
this.label6.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.label6.AutoSize = true;
this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold);
this.label6.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label6.Location = new System.Drawing.Point(828, 12);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(145, 17);
this.label6.TabIndex = 90;
this.label6.Text = "= Update Available";
this.label6.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// label7
//
this.label7.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.label7.AutoSize = true;
this.label7.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold);
this.label7.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label7.Location = new System.Drawing.Point(828, 41);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(98, 17);
this.label7.TabIndex = 90;
this.label7.Text = "= Up to date";
this.label7.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// label8
//
this.label8.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.label8.AutoSize = true;
this.label8.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold);
this.label8.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label8.Location = new System.Drawing.Point(459, 42);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(65, 17);
this.label8.TabIndex = 90;
this.label8.Text = "Mirror #";
this.label8.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// EnterInstallBox
//
this.EnterInstallBox.AutoSize = true;
this.EnterInstallBox.CheckAlign = System.Drawing.ContentAlignment.BottomCenter;
this.EnterInstallBox.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.EnterInstallBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.EnterInstallBox.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.EnterInstallBox.Location = new System.Drawing.Point(593, 7);
this.EnterInstallBox.Name = "EnterInstallBox";
this.EnterInstallBox.Size = new System.Drawing.Size(90, 52);
this.EnterInstallBox.TabIndex = 93;
this.EnterInstallBox.Text = " Install w/ \r\n Enter Key";
this.EnterInstallBox.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.EnterInstallBox.UseVisualStyleBackColor = true;
this.EnterInstallBox.CheckedChanged += new System.EventHandler(this.EnterInstallBox_CheckedChanged);
//
// MainForm
//
@@ -979,15 +1123,25 @@
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = global::AndroidSideloader.Properties.Settings.Default.BackColor;
this.ClientSize = new System.Drawing.Size(980, 775);
this.ClientSize = new System.Drawing.Size(980, 721);
this.Controls.Add(this.EnterInstallBox);
this.Controls.Add(this.ProgressText);
this.Controls.Add(this.pictureBox4);
this.Controls.Add(this.pictureBox3);
this.Controls.Add(this.pictureBox2);
this.Controls.Add(this.label7);
this.Controls.Add(this.label6);
this.Controls.Add(this.label8);
this.Controls.Add(this.label5);
this.Controls.Add(this.label4);
this.Controls.Add(this.searchTextBox);
this.Controls.Add(this.label3);
this.Controls.Add(this.freeDisclaimer);
this.Controls.Add(this.DragDropLbl);
this.Controls.Add(this.MountButton);
this.Controls.Add(this.label1);
this.Controls.Add(this.gamesQueueLabel);
this.Controls.Add(this.gamesPictureBox);
this.Controls.Add(this.searchTextBox);
this.Controls.Add(this.gamesListView);
this.Controls.Add(this.remotesList);
this.Controls.Add(this.devicesComboBox);
this.Controls.Add(this.gamesQueListBox);
@@ -996,7 +1150,8 @@
this.Controls.Add(this.progressBar);
this.Controls.Add(this.m_combo);
this.Controls.Add(this.notesRichTextBox);
this.Controls.Add(this.ProgressText);
this.Controls.Add(this.label2);
this.Controls.Add(this.gamesListView);
this.Controls.Add(this.pictureBox1);
this.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "BackColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.MaximizeBox = false;
@@ -1015,8 +1170,11 @@
this.otherContainer.ResumeLayout(false);
this.backupContainer.ResumeLayout(false);
this.sideloadContainer.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.gamesPictureBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.gamesPictureBox)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@@ -1062,7 +1220,6 @@
private System.Windows.Forms.Button UpdateGamesButton;
private System.Windows.Forms.Label gamesQueueLabel;
private System.Windows.Forms.Button MountButton;
private System.Windows.Forms.Label StorageLabel;
private System.Windows.Forms.Label ProgressText;
private System.Windows.Forms.Label downloadingLabel;
private System.Windows.Forms.RichTextBox notesRichTextBox;
@@ -1071,6 +1228,17 @@
private System.Windows.Forms.Button removeQUSetting;
private System.Windows.Forms.Button InstallQUset;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.PictureBox pictureBox2;
private System.Windows.Forms.PictureBox pictureBox3;
private System.Windows.Forms.PictureBox pictureBox4;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.CheckBox EnterInstallBox;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -28,7 +28,8 @@ namespace AndroidSideloader
static void MyHandler(object sender, UnhandledExceptionEventArgs args)
{
Exception e = (Exception)args.ExceptionObject;
File.WriteAllText(Sideloader.CrashLogPath, $"Message: {e.Message}\nData: {e.Data}\nSource: {e.Source}\nTargetSite: {e.TargetSite}");
string date_time = DateTime.Now.ToString("dddd, MMMM dd @ hh:mmtt (UTC)");
File.WriteAllText(Sideloader.CrashLogPath, $"Date/Time of crash: {date_time}\nMessage: {e.Message}\nData: {e.Data}\nSource: {e.Source}\nTargetSite: {e.TargetSite}");
}
}
}

View File

@@ -59,5 +59,35 @@ namespace AndroidSideloader.Properties {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap greenkey {
get {
object obj = ResourceManager.GetObject("greenkey", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap orangekey {
get {
object obj = ResourceManager.GetObject("orangekey", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
public static System.Drawing.Bitmap SearchGlass {
get {
object obj = ResourceManager.GetObject("SearchGlass", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@@ -117,4 +117,14 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="orangekey" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\orangekey.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="SearchGlass" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\SearchGlass.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="greenkey" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\greenkey.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@@ -12,7 +12,7 @@ namespace AndroidSideloader.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.8.1.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@@ -85,7 +85,7 @@ namespace AndroidSideloader.Properties {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool userJsonOnGameInstall {
get {
return ((bool)(this["userJsonOnGameInstall"]));
@@ -181,7 +181,7 @@ namespace AndroidSideloader.Properties {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Microsoft Sans Serif, 9.5pt")]
[global::System.Configuration.DefaultSettingValueAttribute("Microsoft Sans Serif, 10pt, style=Bold")]
public global::System.Drawing.Font FontStyle {
get {
return ((global::System.Drawing.Font)(this["FontStyle"]));
@@ -313,7 +313,7 @@ namespace AndroidSideloader.Properties {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public string QUhz {
get {
return ((string)(this["QUhz"]));
@@ -325,7 +325,7 @@ namespace AndroidSideloader.Properties {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public string QUres {
get {
return ((string)(this["QUres"]));
@@ -337,7 +337,7 @@ namespace AndroidSideloader.Properties {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public string QUy {
get {
return ((string)(this["QUy"]));
@@ -349,7 +349,7 @@ namespace AndroidSideloader.Properties {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
[global::System.Configuration.DefaultSettingValueAttribute("0")]
public string QUx {
get {
return ((string)(this["QUx"]));
@@ -361,7 +361,7 @@ namespace AndroidSideloader.Properties {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
[global::System.Configuration.DefaultSettingValueAttribute("Change Me")]
public string QUname {
get {
return ((string)(this["QUname"]));
@@ -418,5 +418,89 @@ namespace AndroidSideloader.Properties {
this["delsh"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string CurrPckg {
get {
return ((string)(this["CurrPckg"]));
}
set {
this["CurrPckg"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string ADBFolder {
get {
return ((string)(this["ADBFolder"]));
}
set {
this["ADBFolder"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool WirelessADB {
get {
return ((bool)(this["WirelessADB"]));
}
set {
this["WirelessADB"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string CurrentGamename {
get {
return ((string)(this["CurrentGamename"]));
}
set {
this["CurrentGamename"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool PackageNameToCB {
get {
return ((bool)(this["PackageNameToCB"]));
}
set {
this["PackageNameToCB"] = value;
}
}
[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")]
public bool DownUpHeld {
get {
return ((bool)(this["DownUpHeld"]));
}
set {
this["DownUpHeld"] = value;
}
}
}
}

View File

@@ -18,7 +18,7 @@
<Value Profile="(Default)">True</Value>
</Setting>
<Setting Name="userJsonOnGameInstall" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="CallUpgrade" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
@@ -42,7 +42,7 @@
<Value Profile="(Default)">White</Value>
</Setting>
<Setting Name="FontStyle" Type="System.Drawing.Font" Scope="User">
<Value Profile="(Default)">Microsoft Sans Serif, 9.5pt</Value>
<Value Profile="(Default)">Microsoft Sans Serif, 10pt, style=Bold</Value>
</Setting>
<Setting Name="BackPicturePath" Type="System.String" Scope="User">
<Value Profile="(Default)" />
@@ -75,19 +75,19 @@
<Value Profile="(Default)" />
</Setting>
<Setting Name="QUhz" Type="System.String" Scope="User">
<Value Profile="(Default)" />
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="QUres" Type="System.String" Scope="User">
<Value Profile="(Default)" />
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="QUy" Type="System.String" Scope="User">
<Value Profile="(Default)" />
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="QUx" Type="System.String" Scope="User">
<Value Profile="(Default)" />
<Value Profile="(Default)">0</Value>
</Setting>
<Setting Name="QUname" Type="System.String" Scope="User">
<Value Profile="(Default)" />
<Value Profile="(Default)">Change Me</Value>
</Setting>
<Setting Name="QUString" Type="System.String" Scope="User">
<Value Profile="(Default)" />
@@ -101,5 +101,26 @@
<Setting Name="delsh" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="CurrPckg" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="ADBFolder" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="WirelessADB" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="CurrentGamename" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<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>
</Settings>
</SettingsFile>

36
QuestForm.Designer.cs generated
View File

@@ -134,7 +134,7 @@ namespace AndroidSideloader
this.ResetQU.Text = "RESET ALL FIELDS";
this.ResetQU.UseVisualStyleBackColor = false;
this.ResetQU.Visible = false;
this.ResetQU.Click += new System.EventHandler(this.Clear_click);
this.ResetQU.Click += new System.EventHandler(this.ResetQU_click);
//
// deleteButton
//
@@ -332,7 +332,7 @@ namespace AndroidSideloader
"4"});
this.CPUComboBox.Location = new System.Drawing.Point(13, 126);
this.CPUComboBox.Name = "CPUComboBox";
this.CPUComboBox.Size = new System.Drawing.Size(345, 21);
this.CPUComboBox.Size = new System.Drawing.Size(345, 24);
this.CPUComboBox.TabIndex = 2;
this.CPUComboBox.Text = "Select CPU level (0 for default)";
//
@@ -354,7 +354,7 @@ namespace AndroidSideloader
"4"});
this.GPUComboBox.Location = new System.Drawing.Point(13, 97);
this.GPUComboBox.Name = "GPUComboBox";
this.GPUComboBox.Size = new System.Drawing.Size(345, 21);
this.GPUComboBox.Size = new System.Drawing.Size(345, 24);
this.GPUComboBox.TabIndex = 1;
this.GPUComboBox.Text = "Select GPU level (0 for default)";
//
@@ -368,7 +368,7 @@ namespace AndroidSideloader
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(44, 15);
this.label7.Size = new System.Drawing.Size(49, 16);
this.label7.TabIndex = 3;
this.label7.Text = "Fov - X";
this.label7.Visible = false;
@@ -384,7 +384,7 @@ namespace AndroidSideloader
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(43, 15);
this.label8.Size = new System.Drawing.Size(50, 16);
this.label8.TabIndex = 3;
this.label8.Text = "Fov - Y";
this.label8.Visible = false;
@@ -400,7 +400,7 @@ namespace AndroidSideloader
this.label9.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.label9.Location = new System.Drawing.Point(11, 583);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(79, 15);
this.label9.Size = new System.Drawing.Size(87, 16);
this.label9.TabIndex = 3;
this.label9.Text = "Refresh Rate";
this.label9.Visible = false;
@@ -415,7 +415,7 @@ namespace AndroidSideloader
this.label6.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.label6.Location = new System.Drawing.Point(13, 484);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(142, 15);
this.label6.Size = new System.Drawing.Size(153, 16);
this.label6.TabIndex = 3;
this.label6.Text = "Enter Custom Username";
this.label6.Visible = false;
@@ -431,7 +431,7 @@ namespace AndroidSideloader
this.label5.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.label5.Location = new System.Drawing.Point(12, 434);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(278, 15);
this.label5.Size = new System.Drawing.Size(301, 16);
this.label5.TabIndex = 3;
this.label5.Text = "Custom Resolution Width (Height auto calculated)";
this.label5.Visible = false;
@@ -447,7 +447,7 @@ namespace AndroidSideloader
this.ResolutionLabel.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.ResolutionLabel.Location = new System.Drawing.Point(11, 183);
this.ResolutionLabel.Name = "ResolutionLabel";
this.ResolutionLabel.Size = new System.Drawing.Size(163, 15);
this.ResolutionLabel.Size = new System.Drawing.Size(177, 16);
this.ResolutionLabel.TabIndex = 3;
this.ResolutionLabel.Text = "Resolution (p eye, 0=default)";
//
@@ -461,7 +461,7 @@ namespace AndroidSideloader
this.FOVy.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.FOVy.Location = new System.Drawing.Point(191, 507);
this.FOVy.Name = "FOVy";
this.FOVy.Size = new System.Drawing.Size(167, 20);
this.FOVy.Size = new System.Drawing.Size(167, 22);
this.FOVy.TabIndex = 12;
this.FOVy.Text = "0";
this.FOVy.Visible = false;
@@ -477,7 +477,7 @@ namespace AndroidSideloader
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, 20);
this.FOVx.Size = new System.Drawing.Size(169, 22);
this.FOVx.TabIndex = 11;
this.FOVx.Text = "0";
this.FOVx.Visible = false;
@@ -493,7 +493,7 @@ namespace AndroidSideloader
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, 20);
this.UsrBox.Size = new System.Drawing.Size(345, 22);
this.UsrBox.TabIndex = 10;
this.UsrBox.Text = "0";
this.UsrBox.Visible = false;
@@ -509,7 +509,7 @@ namespace AndroidSideloader
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, 20);
this.ResBox.Size = new System.Drawing.Size(345, 22);
this.ResBox.TabIndex = 9;
this.ResBox.Text = "0";
this.ResBox.Visible = false;
@@ -525,7 +525,7 @@ namespace AndroidSideloader
this.TextureResTextBox.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.TextureResTextBox.Location = new System.Drawing.Point(13, 155);
this.TextureResTextBox.Name = "TextureResTextBox";
this.TextureResTextBox.Size = new System.Drawing.Size(169, 20);
this.TextureResTextBox.Size = new System.Drawing.Size(169, 22);
this.TextureResTextBox.TabIndex = 3;
this.TextureResTextBox.Text = "0";
//
@@ -581,7 +581,7 @@ namespace AndroidSideloader
"120"});
this.QURfrRt.Location = new System.Drawing.Point(12, 555);
this.QURfrRt.Name = "QURfrRt";
this.QURfrRt.Size = new System.Drawing.Size(170, 21);
this.QURfrRt.Size = new System.Drawing.Size(170, 24);
this.QURfrRt.TabIndex = 13;
this.QURfrRt.Text = "0";
this.QURfrRt.Visible = false;
@@ -603,7 +603,7 @@ namespace AndroidSideloader
"120"});
this.RefreshRateComboBox.Location = new System.Drawing.Point(13, 68);
this.RefreshRateComboBox.Name = "RefreshRateComboBox";
this.RefreshRateComboBox.Size = new System.Drawing.Size(345, 21);
this.RefreshRateComboBox.Size = new System.Drawing.Size(345, 24);
this.RefreshRateComboBox.TabIndex = 0;
this.RefreshRateComboBox.Text = "Select refresh rate";
//
@@ -649,8 +649,8 @@ namespace AndroidSideloader
this.Controls.Add(this.button1);
this.Controls.Add(this.QURfrRt);
this.Controls.Add(this.RefreshRateComboBox);
this.MaximumSize = new System.Drawing.Size(386, 808);
this.MinimumSize = new System.Drawing.Size(386, 608);
this.MaximumSize = new System.Drawing.Size(386, 776);
this.MinimumSize = new System.Drawing.Size(386, 776);
this.Name = "QuestForm";
this.ShowIcon = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;

View File

@@ -68,10 +68,10 @@ namespace AndroidSideloader
private void Clear_click(object sender, EventArgs e)
public void ResetQU_click(object sender, EventArgs e)
{
ResBox.Text = ("0");
UsrBox.Clear();
UsrBox.Text = ("Change Me");
FOVx.Text = ("0");
FOVy.Text = ("0");
QURfrRt.SelectedIndex = 0;
@@ -124,6 +124,7 @@ namespace AndroidSideloader
label9.Visible = false;
label10.Visible = false;
deleteButton.Visible = false;
MessageBox.Show("Ok, Deleted your custom settings file.\nIf you would like to re-enable return here and apply settings again");
File.Delete($"{Properties.Settings.Default.MainDir}\\Config.Json");
}
@@ -165,9 +166,9 @@ namespace AndroidSideloader
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("delete_settings", "");
File.WriteAllText($"{Properties.Settings.Default.MainDir}\\delete_settings", "");
string boff = Properties.Settings.Default.QUStringF + Properties.Settings.Default.QUString;
File.WriteAllText("config.json", boff);
File.WriteAllText($"{Properties.Settings.Default.MainDir}\\config.json", boff);
}
@@ -281,8 +282,8 @@ namespace AndroidSideloader
private void questVids_Click(object sender, EventArgs e)
{
string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
if (!Directory.Exists($"{path}\\Quest ScreenShots"))
Directory.CreateDirectory($"{path}\\Quest ScreenShots");
if (!Directory.Exists($"{path}\\Quest VideoShots"))
Directory.CreateDirectory($"{path}\\Quest VideoShots");
MessageBox.Show("Please wait until you get the message that the transfer has finished.");
ADB.WakeDevice();
Program.form.ChangeTitle("Pulling files...");

View File

@@ -2,6 +2,7 @@
using System.Diagnostics;
using System.Text;
using System.IO;
using System.Windows.Forms;
namespace AndroidSideloader
{
@@ -84,7 +85,7 @@ namespace AndroidSideloader
rclone.WaitForExit();
//if there is one of these errors, we switch the mirrors
if (error.Contains("cannot fetch token") || error.Contains("authError") || (error.Contains("quota") && error.Contains("exceeded")))
if (error.Contains("cannot fetch token") || error.Contains("authError") || (error.Contains("quota") || error.Contains("exceeded")))
{
string oldRemote = MainForm.currentRemote;
try
@@ -102,8 +103,12 @@ namespace AndroidSideloader
prcoutput.Output = output;
prcoutput.Error = error;
}
if (!output.Contains("Game Name;Release Name;"))
Logger.Log($"Rclone error: {error}\nRclone Output: {output}");
return prcoutput;
if (error.Contains("There is not enough space"))
MessageBox.Show("There isn't enough space on your PC to properly install this game. Please have at least 2x the size of the game you are trying to download/install available on the drive where Rookie is installed.", "NOT ENOUGH SPACE");
return prcoutput;
}
}
}

BIN
Resources/SearchGlass.PNG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
Resources/greenkey.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
Resources/orangekey.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -38,6 +38,8 @@
this.BandwithTextbox = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.BandwithComboBox = new System.Windows.Forms.ComboBox();
this.DebugLogCopy = new System.Windows.Forms.Button();
this.CrashLogCopy = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// checkForUpdatesCheckBox
@@ -62,7 +64,7 @@
this.applyButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.applyButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.applyButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.applyButton.Location = new System.Drawing.Point(12, 185);
this.applyButton.Location = new System.Drawing.Point(12, 178);
this.applyButton.Name = "applyButton";
this.applyButton.Size = new System.Drawing.Size(101, 31);
this.applyButton.TabIndex = 5;
@@ -92,7 +94,7 @@
this.resetSettingsButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.resetSettingsButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.resetSettingsButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.resetSettingsButton.Location = new System.Drawing.Point(119, 185);
this.resetSettingsButton.Location = new System.Drawing.Point(119, 178);
this.resetSettingsButton.Name = "resetSettingsButton";
this.resetSettingsButton.Size = new System.Drawing.Size(101, 31);
this.resetSettingsButton.TabIndex = 4;
@@ -147,9 +149,9 @@
this.BandwithTextbox.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "TextBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.BandwithTextbox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.BandwithTextbox.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.BandwithTextbox.Location = new System.Drawing.Point(12, 155);
this.BandwithTextbox.Location = new System.Drawing.Point(12, 148);
this.BandwithTextbox.Name = "BandwithTextbox";
this.BandwithTextbox.Size = new System.Drawing.Size(177, 21);
this.BandwithTextbox.Size = new System.Drawing.Size(177, 22);
this.BandwithTextbox.TabIndex = 11;
//
// label1
@@ -157,7 +159,7 @@
this.label1.AutoSize = true;
this.label1.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.label1.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.label1.Location = new System.Drawing.Point(10, 134);
this.label1.Location = new System.Drawing.Point(10, 127);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(224, 16);
this.label1.TabIndex = 12;
@@ -178,17 +180,51 @@
"K",
"M",
"G"});
this.BandwithComboBox.Location = new System.Drawing.Point(195, 153);
this.BandwithComboBox.Location = new System.Drawing.Point(195, 146);
this.BandwithComboBox.Name = "BandwithComboBox";
this.BandwithComboBox.Size = new System.Drawing.Size(55, 23);
this.BandwithComboBox.Size = new System.Drawing.Size(55, 24);
this.BandwithComboBox.TabIndex = 13;
//
// DebugLogCopy
//
this.DebugLogCopy.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.DebugLogCopy.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.DebugLogCopy.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.DebugLogCopy.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.DebugLogCopy.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.DebugLogCopy.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.DebugLogCopy.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.DebugLogCopy.Location = new System.Drawing.Point(12, 215);
this.DebugLogCopy.Name = "DebugLogCopy";
this.DebugLogCopy.Size = new System.Drawing.Size(285, 31);
this.DebugLogCopy.TabIndex = 5;
this.DebugLogCopy.Text = "Copy DebugLog to Desktop";
this.DebugLogCopy.UseVisualStyleBackColor = false;
this.DebugLogCopy.Click += new System.EventHandler(this.DebugLogCopy_click);
//
// CrashLogCopy
//
this.CrashLogCopy.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
this.CrashLogCopy.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.CrashLogCopy.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.CrashLogCopy.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.CrashLogCopy.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.CrashLogCopy.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
this.CrashLogCopy.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
this.CrashLogCopy.Location = new System.Drawing.Point(12, 252);
this.CrashLogCopy.Name = "CrashLogCopy";
this.CrashLogCopy.Size = new System.Drawing.Size(285, 31);
this.CrashLogCopy.TabIndex = 5;
this.CrashLogCopy.Text = "Copy CrashLog to Desktop";
this.CrashLogCopy.UseVisualStyleBackColor = false;
this.CrashLogCopy.Click += new System.EventHandler(this.CrashLogCopy_click);
//
// SettingsForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = global::AndroidSideloader.Properties.Settings.Default.BackColor;
this.ClientSize = new System.Drawing.Size(315, 237);
this.ClientSize = new System.Drawing.Size(313, 291);
this.Controls.Add(this.BandwithComboBox);
this.Controls.Add(this.label1);
this.Controls.Add(this.BandwithTextbox);
@@ -196,13 +232,14 @@
this.Controls.Add(this.updateConfigCheckBox);
this.Controls.Add(this.deleteAfterInstallCheckBox);
this.Controls.Add(this.enableMessageBoxesCheckBox);
this.Controls.Add(this.CrashLogCopy);
this.Controls.Add(this.DebugLogCopy);
this.Controls.Add(this.applyButton);
this.Controls.Add(this.checkForUpdatesCheckBox);
this.Controls.Add(this.resetSettingsButton);
this.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "BackColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
this.ForeColor = System.Drawing.Color.White;
this.MaximumSize = new System.Drawing.Size(331, 276);
this.MinimumSize = new System.Drawing.Size(331, 276);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Name = "SettingsForm";
this.ShowIcon = false;
this.Text = "Settings";
@@ -224,5 +261,7 @@
private System.Windows.Forms.TextBox BandwithTextbox;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ComboBox BandwithComboBox;
private System.Windows.Forms.Button DebugLogCopy;
private System.Windows.Forms.Button CrashLogCopy;
}
}

View File

@@ -1,5 +1,6 @@
using JR.Utils.GUI.Forms;
using System;
using System.IO;
using System.Windows.Forms;
namespace AndroidSideloader
@@ -46,6 +47,41 @@ namespace AndroidSideloader
deleteAfterInstallToolTip.SetToolTip(this.deleteAfterInstallCheckBox, "If this is checked, the software will delete all game files after downloading and installing a game from a remote server");
}
private void DebugLogCopy_click(object sender, EventArgs e)
{
if (File.Exists($"{Properties.Settings.Default.MainDir}\\debuglog.txt"))
{
if (File.Exists($"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\debuglog.txt"))
File.Delete($"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\debuglog.txt");
System.IO.File.Copy($"{Properties.Settings.Default.MainDir}\\debuglog.txt", $"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\debuglog.txt", true);
MessageBox.Show("debuglog.txt copied to your desktop!");
}
}
private void CrashLogCopy_click(object sender, EventArgs e)
{
if (File.Exists($"{Properties.Settings.Default.MainDir}\\crashlog.txt"))
{
if (File.Exists($"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\crashlog.txt"))
File.Delete($"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\crashlog.txt");
System.IO.File.Copy($"{Properties.Settings.Default.MainDir}\\crashlog.txt", $"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\crashlog.txt", true);
MessageBox.Show("crashlog.txt copied to your desktop!");
}
else
MessageBox.Show("No crashlog found!");
}
//Apply settings
private void applyButton_Click(object sender, EventArgs e)
{
@@ -96,5 +132,6 @@ namespace AndroidSideloader
{
Properties.Settings.Default.userJsonOnGameInstall = userJsonOnGameInstall.Checked;
}
}
}

View File

@@ -58,33 +58,35 @@ And all of them added to PATH, without ANY of them, the spoofer won't work!";
var commands = File.ReadAllLines(path);
foreach (string cmd in commands)
{
if (cmd.StartsWith("\"7z.exe\""))
if (cmd.Contains("7z.exe"))
{
Program.form.ChangeTitle($"Running {cmd}");
Logger.Log($"Logging command: {cmd} from file: {path}");
output += ADB.RunAdbCommandToStringWOADB(cmd, path);
output += ADB.RunCommandToString(cmd, path);
}
if (cmd.StartsWith("adb"))
{
string replacement = "";
string pattern = "adb";
string replacement = $"{Properties.Settings.Default.ADBPath} -s {ADB.DeviceID}";
if (ADB.DeviceID.Length > 1)
replacement = $"{Properties.Settings.Default.ADBPath} -s {ADB.DeviceID}";
else
replacement = $"{Properties.Settings.Default.ADBPath}";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(cmd, replacement);
Program.form.ChangeTitle($"Running {result}");
Logger.Log($"Logging command: {result} from file: {path}");
if (ADB.DeviceID.Length > 1)
output += ADB.RunAdbCommandToStringWOADB(result, path);
output += ADB.RunAdbCommandToStringWOADB(result, path);
if (output.Error.Contains("mkdir"))
output.Error = "";
if (output.Output.Contains("reserved"))
output.Output = "";
}
}
output.Output += "Custom install successful!";
return output;
}
@@ -97,7 +99,7 @@ And all of them added to PATH, without ANY of them, the spoofer won't work!";
{
foreach (string f in Directory.GetFiles(FolderPath))
{
if (Path.GetExtension(f)==".apk")
if (Path.GetExtension(f) == ".apk")
RecursiveOutput += ADB.Sideload(f);
}
@@ -183,14 +185,12 @@ And all of them added to PATH, without ANY of them, the spoofer won't work!";
output += ADB.RunAdbCommandToString("pull " + apkPath); //pull apk
string currApkPath = apkPath;
while (currApkPath.Contains("/"))
currApkPath = currApkPath.Substring(currApkPath.IndexOf("/") + 1);
if (File.Exists(Environment.CurrentDirectory + "\\" + packageName + ".apk"))
File.Delete(Environment.CurrentDirectory + "\\" + packageName + ".apk");
if (File.Exists(Properties.Settings.Default.MainDir + "\\" + packageName + ".apk"))
File.Delete(Properties.Settings.Default.MainDir + "\\" + packageName + ".apk");
File.Move(Environment.CurrentDirectory + "\\adb\\" + currApkPath, Environment.CurrentDirectory + "\\" + packageName + ".apk");
MessageBox.Show("APK is named" + packageName + ".apk. Opening containing folder now.");
File.Move(Properties.Settings.Default.ADBFolder + "\\base.apk", Environment.CurrentDirectory + "\\" + packageName + ".apk");
return output;
}
@@ -201,6 +201,8 @@ And all of them added to PATH, without ANY of them, the spoofer won't work!";
{
if (gameName.Equals(game[SideloaderRCLONE.GameNameIndex]))
return game[SideloaderRCLONE.PackageNameIndex];
if (gameName.Equals(game[SideloaderRCLONE.ReleaseNameIndex]))
return game[SideloaderRCLONE.PackageNameIndex];
}
return gameName;
}
@@ -257,5 +259,5 @@ And all of them added to PATH, without ANY of them, the spoofer won't work!";
}
}
}

View File

@@ -115,7 +115,7 @@ namespace AndroidSideloader
catch { return 0; }
}
public static async Task updateConfig(string remote)
public static void updateConfig(string remote)
{
string localHash = "";
try { localHash = File.ReadAllText(Environment.CurrentDirectory + "\\rclone\\hash.txt"); } catch { } //file may not exist

View File

@@ -9,7 +9,7 @@ namespace AndroidSideloader
string[] files = Directory.GetFiles(path);
foreach (string file in files)
if (file.EndsWith(".obb"))
if (file.EndsWith(".obb") || Path.GetDirectoryName(file).Contains(".") && !Path.GetDirectoryName(file).Contains("_data"))
return true;
return false;
}

View File

@@ -16,45 +16,35 @@ namespace AndroidSideloader
public static string Repostory { get; set; }
private static string RawGitHubUrl;
private static string GitHubUrl;
static readonly public string LocalVersion = "2.1HF";
static readonly public string LocalVersion = "2.1.3.2";
public static string currentVersion = string.Empty;
public static string changelog = string.Empty;
//Check if there is a new version of the sideloader
private static bool IsUpdateAvailable()
{
HttpClient client = new HttpClient();
try
{
currentVersion = client.GetStringAsync($"{RawGitHubUrl}/master/version").Result;
if (currentVersion.Length > LocalVersion.Length)
currentVersion = currentVersion.Remove(currentVersion.Length - 1);
currentVersion = currentVersion.Replace("\n", "");
changelog = client.GetStringAsync($"{RawGitHubUrl}/master/changelog.txt").Result;
client.Dispose();
}
catch { return false; }
return LocalVersion != currentVersion;
}
//Call this to ask the user if they want to update
public static void Update()
{
RawGitHubUrl = $"https://raw.githubusercontent.com/{Repostory}";
GitHubUrl = $"https://github.com/{Repostory}";
RawGitHubUrl = $"https://raw.githubusercontent.com/nerdunit/androidsideloader";
GitHubUrl = $"https://github.com/nerdunit/androidsideloader";
if (IsUpdateAvailable())
doUpdate();
}
//If the user wants to update
private static void doUpdate()
{
DialogResult dialogResult = FlexibleMessageBox.Show($"There is a new update you have version {LocalVersion}, do you want to update?\nCHANGELOG\n{changelog}", $"Version {currentVersion} is available", MessageBoxButtons.YesNo);
if (dialogResult != DialogResult.Yes)
return;
//Download new sideloader with version appended to file name so there is no chance of overwriting the current exe
try
{
var fileClient = new WebClient();
@@ -66,7 +56,6 @@ namespace AndroidSideloader
Logger.Log($"Starting {AppName} v{currentVersion}.exe");
Process.Start($"{AppName} v{currentVersion}.exe");
//Delete current version
AndroidSideloader.Utilities.GeneralUtilities.Melt();
}
catch { }

View File

@@ -1,4 +1,5 @@
using System.IO;
using System;
using System.IO;
namespace AndroidSideloader
{
@@ -8,10 +9,16 @@ namespace AndroidSideloader
public static bool Log(string text, bool ret = true)
{
string newline = "\n";
if (text.Length > 40 && text.Contains("\n"))
newline += "\n\n";
try { File.AppendAllText(logfile, text + newline); } catch { }
string time = DateTime.Now.ToString("hh:mmtt(UTC): ");
if (text.Length > 5)
{
string newline = "\n";
if (text.Length > 40 && text.Contains("\n"))
newline += "\n\n";
try { File.AppendAllText(logfile, time + text + newline); } catch { }
return ret;
}
return ret;
}
}

View File

@@ -1,6 +1,204 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
RSL 2.1.3.2
+ Added checkbox to enable Enter to Download+Install.
= Fixed crash that occurred when user held down up arrow or down arrow on gamelist.
= Fixed all issues with Install.txt path.
= Clicking out of search box now closes it.
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmDsFZ8ACgkQx/Rql1Vo
czcwJg/+PFiXfh6PPZNIRf2Zeht7WN8oxuUFV907KnD5+gKD0rzNd1NzgrcPOgAh
/oJakvY6ryLyaopJFZ8bm7++tQ3w6mbnzPaGweNoOF7/oLDb9NKVlK5/VjA3JPPN
QtOebRgBsigoRGGTq0s7ZRZV99vtSm2R1+1z9qlEu5Fm2hEiIggLvSBdGWDhbGnZ
jnvAZixeYgR+R6x4MZTsDao+qIYMio7heiVdN03gQ4hAaPbZ/I6s3cS+K33k02Nz
IEATqkwoLOevmN/D773A0cMzh/ZQWs557E3aKtwB+EHo/0ucCk0WaMSt4WdH8Qqe
WWF6+UT8FEEN2M76SQrg80xBj3QxzfIi92c231rVvtHMiVn5qUhTrDYb2wqx7J99
cJeMgANBmWSBZRBNW7jwhAxUVXE9vE8eqBza9MarXbJaLtq3Mf0ECLWvFPllA8dU
lnBcdSuTESvZkBAokkCwEJOb7sootBpEz5BZtE268mZEfsHUGWo3/VZDrJ7lLXJW
mEE2aCcHpNWysa9CsSee/QWNgLH2v+9PM3r/1SJyQ23C2hwyQI+F2lkch8Ar5Qfn
YxMWnhAcYXTRtcxY0s7xuhpUr/TGc6m9QY6NeVYMvb3g1gbmGOyyN/MELNOkEF/l
FXnrY4AfaNTs6EL6/id/viGcHc1MnnjgzlTNg5rgoxtFrHdVwP4=
=o0TQ
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
2.1.3.1
= Fixed issue where if using Quick Search and game was near bottom of list it wouldn't be selected.
+ Added hidden CTRL+P shortcut that copies the packagename of selected game to clipboard (for ease of finding OBB/Save folders or adding images for games).
2.1.3
+ Added Quicksearch
+ Added shortcut (CTRL+F) to open Quicksearch
+ Crashlog window can now open folder directory with crashlog if user selects NO.
+ Get APK from device will now open folder where APK is extracted automatically after extraction.
+ Added timestamps to Dialogbox
+ Added pictures for all current titles.
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmDp024ACgkQx/Rql1Vo
czcYvA/9EqVDtGRprPp2q/K+NPTPmMPmtsoiRNU/LEDmkwiEOCcRoPNwnLbRFz7S
uoM7Trh05aquLgadTVQmoPLZriJPYwUUT5KBJBso1UT5fVyJ5bkfh6+MBQqxOx2j
YDyqFHdPVQL6QqMQig/XEoyJIWaqHPD60DR0I63E5GOK88cbxPBD94KEQDNhXvcO
mcJXwr9TmyEqOT5IgsoIfOwMQotB+MnrMO7bSFitpl8sAcxSMpoURz/KOAdR8+f8
K+OwUTNzuI01C+WRNa9xOhxSp7rRhYoPoNZgxR1/3NOMtNeSU4dEPOk7n/hpEnDS
MM8DtXIZJ0o26Oo+uL60a61zxUZ1P1w8ks/IGEG3nzqc5b1Fh0LilgBzUtwh1eEs
g9LcXKALwStJbfYFTzpjhKDQfUlGFRZUSE52BFCcZ4MlgIjbR5buVF4l+QfnR6BW
PGW50NoTsA/U+Yqxg5xRXRkyKc9+wBFJj3r4dISNJj8psqzbtKgvodjJbMqKmJjL
ZE0lWp2bx/DP19IZjn5FVRzBSqYfBmilyLRx53syNmpDQQ1l2v1YdgXLxcbeL4JO
f2nfjyMTM2BrEztpevNb2s4oKm5zYjUCNxmJy1PUCt0RBMNCBKPVRa9KEE/se5UU
ZDbqfFJx1oqL1vcLH9CNTIhiA2Ar2SJEtBzB0GutoYkIdGo8dJY=
=dYs/
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
RSL 2.1.2
+ Added quick search (ctrl+f or click magnifying glass), Automatically selects whatever game it finds, user can press ENTER to start DL+Install
= Fixed massive issues caused by accidental branch merge.
= UI Improvements
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmDpZykACgkQx/Rql1Vo
czckmxAAl1my1ZUALewOuh1JQbDQhdSDrtRDo9Bx2z9u6FXfp4BKC3w7O8p6B+cT
wcWruppIiC2MkN11Ls8i7OjE3f6xYnRo8E8FDH5UMcful/SFJ3XjD9CMf+2e1Mxu
VYVGXWRltYdklGy4IOWfvRXbaYUYYlznVUz1lDxsp8w4h4Csz5IiLKWlivsFoPSl
tQgcDC1FPKxH0HwSxxBLsygqNFi5GXawF85SyRMB3EpWySWrkYKjMfxub965f2by
zP3mn5HigPgS26tOq1u9zVC7TktwJotoPxjgarsBm0IMXggMFZZ2xuCanMXoZ1xK
gEw/Ni6tlM8N/CkpZJuQnPajIOHa7TYWOP8cQM38VPmS3cT0ifmqqGpTKMUYEJ8W
Hx/QhABpUnhNeIUIAHj0q9BX0zOdebne831SWO8aMUE1+xw0n6ljuVwam/AyiOtJ
1uCL+axDpWN8TncOqvoPIrFFSS4Ya8Ml5DQzs7/qI7EXM4lK3/m34Vhekh/ctnY7
HAa+io1phPyBb89zgdjfODFVyoadS5pokBs0VUIV78NlZjMx8Dsfh95tVuAhZHYr
1smOeqAVZhDsUR5R2hNRH7z1LfY7YKKF+XAFT+XeecG/qK0CuRnrYdrBh8zHmkhV
U2ZH6JayNiZ9Eq2QgTYY8M9bo9J+CK2hCTFoXozk8a+eHD1aqk4=
=Pdkb
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
RSL 2.1.1
+ Added optional Wake on Wifi setting so Wireless ADB will still connect as long as device is not powered off or dead.
+ RSL will now automatically choose any Oculus device over devices made by other manufacturers if more than one ADB device is present.
= Fixed Download+Install QUSettings application if QUSettings are set.
= Fixed Pull APK from device.
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmDjcnQACgkQx/Rql1Vo
czchqg//WStjc1ANHJK1P06ormJ4ArZFA70UkL0Xd7QUcwJhEiR2/uIIHpOCeCdZ
ymf6fvsqcyMkAMMq2YA1sNd5fPTFgcaqWZhkir+TywPBfrpcMJYP2lcJGXuhcmjm
GJo4uymOjci9SBrjb7o8Z5q3cxInRPLfgksgRVN+b3Y965yqETm0OcSXBrCuDyXV
SqgAJzAFNqElE91LRtz3BqOJ8eNXmEbmC9iSFnllwC9fSYwDefNkIRAVfmD5inqs
acSW/6URwF4xnF578mnHfdhKlhROqt7XJ/dqIrrh1o0/kV7VbOR4J7rq8vD1nHrZ
uOAZ+zBKnk37Px61F4XWtUmX0MDHoTuJChAZqKzdZkIUy9Dq/l5asMFufGaGLrHa
OGjuXNQOTGzSKzp6SNsrU+BkBAJDW4NBWrgacC9PqgE+uZSgedreDZb86UWtZ6ZA
MR7MFiqaKBGx0GMfbO/JWu/REa9GkdCghwbSKrnPCIK2wsY7zECFflmIaf/BQWzw
p6hicDZc5053Cu+ZHPy8AiKbv+3FB5AWiujYbl/QkBifoEL03tHepCREAHMD6MBn
OqgnRU2gwtqke2FSnThyx1qgnnXLLi2M4we171DreBziF9DE23W/hcE+RU3WtucR
QflQ1p4c5o1q8B2QDkDSjcsCfCXRnfQ52YRv0N7cdKZ9M56GAF0=
=KqGL
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Update RSL2.1HF5
Fixed ADB path for usernames containing spaces. ADB now located at c:\RSL\VersionNumber\ADB
- -HarryEffingPotter-
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmDdNvsACgkQx/Rql1Vo
czdIWQ/+OvvchZOuwMZJvd6d/N4WmBUPKm3TzyiF5JM/STLEbLIHB1p6LQg+6J3K
3d9x3mQmu/gMHMumsfmuOuHHI7OOs9CLOVY2UFm7CqTnDf7iCxl8+6/iQw48yfj9
63qwUKZdLueRX9IqtcV2MwZJP7eKdZmtv6ALyRbjWmo2fgbm/Fs1U+TfGnlY7qLg
wIascv5DuKRyHvRzlgdn6OqmewWTxHDOTwCTjodROIK9guCELNYhEWv/TtgMldv9
gz1Lr8KZOcxNltpvstJgdbeFy61LK67su0rKZHsGMu4x0hDe4YOyjyMDtXrVJ0VH
SJBqDgSKD3HE/MNYkCWusqs7np2XKXC8hP6nm2QO9zM44d+UWDfrJbwvvw6QUoez
Iqk/PskC3sF7kWAv4O+LRmLDlrHD2RG5TkkE4ohiIi4D4VaNEx4QyVf6INN+A9xd
IxcvXC9QkFwffUD93cThEdLNRnrnzZSsUFMRh3XrvPbq2wfvWjqZX1EGfD7ug0Mf
r9uPX4RdILvsXeybefiiwLiw3UNMJtUlaKDvqIit5S78BIP6DY+dGnMMRIQJa1vd
XBPnIHyifzvl1nyYd6TWCFRuOzZLYirv4Ug6xS1/KzyURXIz2P0EEhDURJAR/q+M
ZmqSO2eQo64B7Dfa9oRLKkZRfhWFgtYA9QKm9ei7tOPbnJ+2718=
=o5Nr
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
RSL 2.1HF4
= Moved ADB files to AppData\Roaming\RSL to fix compatibility issues across the board.
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmDa9rQACgkQx/Rql1Vo
czeiYQ//X6e3DD51Kgta/omu0fVtPM4lxt+P/H5ij1xbNPmoaL7w+QvNeFqVLPs0
T8btbEkDT7pisOHQtHFKENs4G0Sck0RkI0jVNu1lYIT67tmTYyFGP4jOxopktmNE
uydmI8g+8UkuTPYIKpkYJUOrWT1u4IV0SoBsdERYU7qRZmvCqWgwqdcs4R6wAdm0
FNqWRbUo/LhFw1rQicny4vL7w6rf7PvAksWifqbl1KfBFAchf4cZ3+YKeyO4V2Ym
7LcNgVGaSuPCr5dKmVr31B0kU0XrV8KPpKwgoIOym8eH8PNuaj3elwbndqYZ95fB
xNFluF9z9qejiIkYM9UDSoeNEfeJaUwIfgb1WI4w+BdlTWaYZfsG+DF+VOBvSU/h
YP1ucGrqCu2lLxcIS5ffNd7dTjS22D2x2rErqXGl+ETgqgVHK9NU9Bd02VVyP171
Ryq/JRd9tvFknAG6YViVADJDzKdnuwFYeo/T5wgt8P7GtzVZWmZbur6crXK454IH
TkyLn9XFbJneGPxjLNm4VwCR0XWFmhAsE+CfRz52hL18RAxyeohWq7RBTt+d49t9
eOhTTzOHoWgroOVTV793r+FLdc4nYDhLXRm6I65qhvQhEPCqZDIA1xuvzPbSectb
VNNRuPmhxDgtevFFsU/sX8xOv8pKi6naW8N6jobXPavwegABCEg=
=61BS
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
RSL 2.1HF3
= Fixed QUSettings not working issue.(unused fields in QUSettings MUST have 0's in them or it will not work, reset/clear all fields button now reflect this.)
= Fixed Uninstall auto-save-backup
= Fixed Install.txt automation messages.
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEKjgtlwMyrpVu4TGfx/Rql1VoczcFAmC2YLYACgkQx/Rql1Vo
czfzXxAAlgKvec94/48QX27BYxVLExEO1AukM7c3D4ONDq4xz6R7jZdoGTbSpfPg
IVbJX8ZeMVQS5yPQr3YOEYdfunU5olu2+XMx5be0uuq0VpZsHdh4Z99GDZId+YFX
W9AJ86p0l9Z6m6npJnc64Fz+3akq8bbZVNHjIpTl99ZSpNMuwYtGpKzNjDXZ9h/Q
v4xQKlCJy7pZO9XY6wEf1z0s+2dMCAGTnfVP6nSXwhx+jKHudRcIRNy7vfgke7d6
tVGRQxe0UP1fth9D80R6y+PGw318kNxqPH5b9bN5+PJrHwaHdQ7vXwrVdgVU4g12
53bGcRdNH1+N0mEXCz0VQyYmd73HVYtNYYEtocUY+I/W/sxBqbPcvVJ+XZinFfdg
BaX5I2M5Ub56wUtyzpP3OoFkIMAN6/Z9S1k/Mq2qTPH/aGtprFzWgmg32kWHi9/n
64uIf4TQlr4o6t0MrMR1pk/F38Rnow66sn5v4eOQ01c9bFOANTMxL2fQiZluSK98
36eYYdxPkSwPiRDVZTrwOOPbJfiHeKREHFcBT2C7OehJm5PkueSzW+CVnjSfH92q
yjp1+zGEaYn5pos+TeaN22uG0L3U5wbfUuCHSHWstIMEwx0aroKhRyou1MtZn40W
k5PjmtDRjt36eLH3MzSxnhwydFrC2V2rl6UbtxjYjdlqEEdFlX4=
=224y
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
!!!IMPORTANT!!!
THIS VERSION IS A WORK IN PROGRESS DUE TO LACK OF TESTERS!!!

View File

@@ -34009,3 +34009,700 @@ tmpfs 2973372 0 2973372 0% /apex
Running command shell input keyevent KEYCODE_WAKEUP
Running command shell input keyevent KEYCODE_WAKEUP
Running command shell input keyevent KEYCODE_WAKEUP
Running command shell input keyevent KEYCODE_WAKEUP
Running command shell input keyevent KEYCODE_WAKEUP
Running command shell df
Running command shell input keyevent KEYCODE_WAKEUP
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 2973372 736 2972636 1% /dev
tmpfs 2973372 0 2973372 0% /mnt
tmpfs 2973372 0 2973372 0% /apex
/dev/block/dm-4 1691188 1685900 0 100% /
/dev/block/dm-5 310760 309800 0 100% /vendor
/dev/block/dm-6 242680204 191465652 51083480 79% /data
/data/media 242680204 191465652 51083480 79% /storage/emulated
Running command shell input keyevent KEYCODE_WAKEUP
Running command devices
List of devices attached
192.168.0.101:5555 device
Running command shell input keyevent KEYCODE_WAKEUP
Devices:
192.168.0.101:5555
Running command shell input keyevent KEYCODE_WAKEUP
Running command shell input keyevent KEYCODE_WAKEUP
Running command shell input keyevent KEYCODE_WAKEUP
Running command -s 192.168.0.101:5555 shell input keyevent KEYCODE_WAKEUP
Running command -s 192.168.0.101:5555 shell input keyevent KEYCODE_WAKEUP
Running command -s 192.168.0.101:5555 shell df
Running Rclone command: listremotes
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 2973372 736 2972636 1% /dev
tmpfs 2973372 0 2973372 0% /mnt
tmpfs 2973372 0 2973372 0% /apex
/dev/block/dm-4 1691188 1685900 0 100% /
/dev/block/dm-5 310760 309800 0 100% /vendor
/dev/block/dm-6 242680204 191465656 51083476 79% /data
/data/media 242680204 191465656 51083476 79% /storage/emulated
Rclone error:
Rclone Output: VRP-mirror02:
VRP-mirror03:
VRP-mirror06:
VRP-mirror09:
VRP-mirror10:
VRP-mirror12:
VRP-mirror13:
VRP-mirror16:
Loaded following mirrors:
VRP-mirror02
VRP-mirror03
VRP-mirror06
VRP-mirror09
VRP-mirror10
VRP-mirror12
VRP-mirror13
VRP-mirror16
Running Rclone command: cat "VRP-mirror13:Quest Games/GameList.txt"
Rclone error:
Rclone Output: Game Name;Release Name;Release APK Path;Package Name;Version Code;Version Name
1976 Back To Midway;1976 Back To Midway v10+1.1 -QU;1976 Back To Midway v10+1.1 -QU/1976 Back To Midway [1.1.10] S3.0.2.apk;com.IvanovichGames.game1976;10;1.1
2MD - VR Football Unleashed;2MD - VR Football Unleashed v65+1.21 -QU;2MD - VR Football Unleashed v65+1.21 -QU/2MD - VR Football Unleashed [1.21.65] S3.0.2.apk;com.truantpixel.twomdquest;65;1.21
51 Aliens TV;51 Aliens TV v4+0.4 -QU;51 Aliens TV v4+0.4 -QU/fiftyonealienstvquest [0.4] S3.0.2.apk;com.fiftyonealiens.fiftyonealienstvquest;4;0.4
A Fishermans Tale;A Fishermans Tale v16+1.064 -QU;A Fishermans Tale v16+1.064 -QU/A Fishermans Tale [1.064.16] S2.11.apk;com.innerspacevr.afishermanstale;16;1.064
A Lullaby of Colors;A Lullaby of Colors v1+1.2.2 -unknown;A Lullaby of Colors v1+1.2.2 -unknown/A lullaby of colors v1.2.2_patched2019.09.28.apk;com.idumpling.a_lullaby_of_colors;1;1.2.2
A Moment in Cannes;A Moment in Cannes v1+0.3 -unknown;A Moment in Cannes v1+0.3 -unknown/A Moment in Cannes v0.3.22.apk;com.azadux.Cannes_Fort;1;0.3
AFFECTED - The Manor;AFFECTED - The Manor v82+1.28 -QU;AFFECTED - The Manor v82+1.28 -QU/AFFECTED - The Manor [1.28.82] S3.0.2.apk;com.fallen.manorquest;82;1.28
ALTDEUS - Beyond Chronos;ALTDEUS - Beyond Chronos v434+1.0.434 -QU;ALTDEUS - Beyond Chronos v434+1.0.434 -QU/ALTDEUS - Beyond Chronos [1.0.434] S3.0.2.apk;com.MyDearest.Altdeus;434;1.0.434
AUDICA;AUDICA v128543601+1.0.3.2 -QU (with DLC);AUDICA v128543601+1.0.3.2 -QU (with DLC)/AUDICA [1.0.3.2.128543601] + DLC_unlocker S3.0.2.apk;com.harmonixmusic.kata;128543601;1.0.3.2
Accounting+;Accounting+ v35+1.24.35 -QU;Accounting+ v35+1.24.35 -QU/Accounting+ [1.24.35].apk;com.crowscrowscrows.AccountingPlus;35;1.24.35
Acron - Attack of the Squirrels!;Acron - Attack of the Squirrels! v114094392+1.14.94392 -QU;Acron - Attack of the Squirrels! v114094392+1.14.94392 -QU/Acron_ Attack of the Squirrels! [1.14.94392.114094392] patch+savefix+90Hz+CustomRes.apk;com.resolutiongames.codenamelazarus;114094392;1.14.94392
Air Brigade 2;Air Brigade 2 v20+0.2 -unknown;Air Brigade 2 v20+0.2 -unknown/AirBrigade2.apk;com.OnlyHuman.AirBrigade2vr;20;0.2
Alienation;Alienation v23+1.293 -QU;Alienation v23+1.293 -QU/Alienation v23+1.293 -QU.apk;com.fiftyonealiens.alienationgame;23;1.293
All Hail the Cook-o-tron;All Hail the Cook-o-tron v7+1.2.3 -QU;All Hail the Cook-o-tron v7+1.2.3 -QU/Cookotron Quest [1.2.3.7] S3.0.2.apk;com.SlapJak.CookOtron;7;1.2.3
All Hail the Cook-o-tron;All Hail the Cook-o-tron v7+1.2.3 -VRP;All Hail the Cook-o-tron v7+1.2.3 -VRP/All Hail the Cook-o-tron v1.2.3 -VRP.apk;com.SlapJak.CookOtron;7;1.2.3
Angry Birds VR - Isle of Pigs;Angry Birds VR - Isle of Pigs v305100058+3.5.100058 -QU;Angry Birds VR - Isle of Pigs v305100058+3.5.100058 -QU/Angry Birds VR - Isle of Pigs [3.5.100058.305100058] S3.0.2.apk;com.resolutiongames.abvriop.santacruz;305100058;3.5.100058
Apex Construct;Apex Construct v45+45.0 -VRP;Apex Construct v45+45.0 -VRP/Apex Construct [v45.0].apk;com.fasttravelgames.apexconstruct;45;45.0
Apollo 11;Apollo 11 v22+2.3 -Q2Patched-90Hz-CustomRes -QU;Apollo 11 v22+2.3 -Q2Patched-90Hz-CustomRes -QU/Apollo_11 [2.3.22] patch+savefix+90Hz+CustomRes.apk;com.immersivevreducation.Apollo11QuestFinal;22;2.3
Arcaxer;Arcaxer v120+1.36.12 -QU;Arcaxer v120+1.36.12 -QU/Arcaxer [1.36.12.120] S3.0.2.apk;com.Overrungames.Arcaxer;120;1.36.12
Arcaxer;Arcaxer v120+1.36.12 -QU;Arcaxer v120+1.36.12 -QU/Arcaxer v120+1.36.12 -QU.apk;com.Overrungames.Arcaxer;120;1.36.12
Arizona Sunshine;Arizona Sunshine v21686+1.6 -QU (with DLC, v.2);Arizona Sunshine v21686+1.6 -QU (with DLC, v.2)/Arizona Sunshine [1.6.21686]+ DLC_unlocker S3.0.2.apk;com.vertigogames.azsq;21686;1.6
ArtPlunge;ArtPlunge v201801250+201801250 -unknown;ArtPlunge v201801250+201801250 -unknown/APlunge v201909211 patched.apk;com.spaceplunge.artplungeoc;201801250;201801250
Artifact;Artifact v17+1.0.6 -unknown;Artifact v17+1.0.6 -unknown/Artifact v1.0.6 (com.Mixreality.Artifact) patched.apk;com.Mixreality.Artifact;17;1.0.6
Ashtar UFO;Ashtar UFO v1+1.0 -unknown;Ashtar UFO v1+1.0 -unknown/Ashtar UFO v1.0.apk;com.test.mj12;1;1.0
Audio Trip;Audio Trip v121+1.0.2710 -QU;Audio Trip v121+1.0.2710 -QU/Audio Trip [1.0.2710.121] S3.0.2.apk;com.KinemotikStudios.AudioTripQuest;121;1.0.2710
Audioshield;Audioshield v118+118 -QU;Audioshield v118+118 -QU/Audioshield v118.apk;com.Audiosurf.Audioshield;118;118
Axegend;Axegend v1+3.0.5 -unknown;Axegend v1+3.0.5 -unknown/Axegend [3.0.5].apk;com.SubversionSquads.Axegend;1;3.0.5
B-Team;B-Team v68+20.03.19.356857 -QU;B-Team v68+20.03.19.356857 -QU/B-Team v20.03.19.356857.apk;com.twistedpixelgames.BTEAM_App;68;20.03.19.356857
BATTLESCAR - Punk Was Invented By Girls;BATTLESCAR - Punk Was Invented By Girls v1045+_1045_3082 -QU;BATTLESCAR - Punk Was Invented By Girls v1045+_1045_3082 -QU/BATTLESCAR - Punk Was Invented By Girls [10453082] S3.0.2.apk;com.atlas.Battlescar.Quest;1045;_1045_3082
BOW MAN;BOW MAN v224+1.4.0-224 -QU;BOW MAN v224+1.4.0-224 -QU/BOW MAN [1.4.0+224] S3.0.2.apk;com.dmm.bowman;224;1.4.0+224
Baba Yaga;Baba Yaga v3500+1.0.3500 -QU;Baba Yaga v3500+1.0.3500 -QU/Baba Yaga [1.0.3500] S3.0.2.apk;com.baobab.babayaga;3500;1.0.3500
Baby Hands;Baby Hands v8+0.02 -VRP;Baby Hands v8+0.02 -VRP/Baby Hands v8+0.02 -VRP.apk;com.ChickenWaffle.BabyHands;8;0.02
Bacon Roll;Bacon Roll v3+1.15.30 -QU;Bacon Roll v3+1.15.30 -QU/Bacon Roll [1.15.30] S3.0.2.apk;com.fieldofvision.baconroll;3;1.15.30
Bait!;Bait! v112063217+1.12.63217 -unknown;Bait! v112063217+1.12.63217 -unknown/Bait_v1.2_modded.apk;com.resolutiongames.baitsantacruz;112063217;1.12.63217
Ballista;Ballista v42+20.42 -QU (b);Ballista v42+20.42 -QU (b)/Ballista [20.42] S3.0.2.apk;com.HighVoltage.Crossbow;42;20.42
Ballooning Adventures;Ballooning Adventures v5+1.1.2 -QU;Ballooning Adventures v5+1.1.2 -QU/BallooningAdventures [1.1.2.5] S3.0.2.apk;com.vector3up.BallooningAdventures;5;1.1.2
BanditSix;BanditSix v130+1.1.0 -unknown;BanditSix v130+1.1.0 -unknown/BanditSix v1.1.0.130_patched.apk;com.climaxstudios.BanditSix;130;1.1.0
Bang Squash;Bang Squash v2+1.0 -unknown;Bang Squash v2+1.0 -unknown/Bang Squash_1.0_Patched.apk;com.lebersoftware.bangsquashpro;2;1.0
Basket VR;Basket VR v2+0.2 -unknown;Basket VR v2+0.2 -unknown/Basket VR v0.2.apk;com.realdragon.basketlittle;2;0.2
Beat Arena;Beat Arena v39+1.2.0 -QU;Beat Arena v39+1.2.0 -QU/Beat Arena [1.2.0.39] S3.0.2.apk;jp.konami.bvr;39;1.2.0
Beat Blaster;Beat Blaster v9+1.0 -QU;Beat Blaster v9+1.0 -QU/Beat Blaster [1.0.9] S3.0.2.apk;com.IvanovichGames.BeatBlasterVR;9;1.0
Beat Saber;Beat Saber v132+1.3.2 (w.BMBF RSL2.1 or manual install only);Beat Saber v132+1.3.2 (w.BMBF RSL2.1 or manual install only)/BS.apk;com.beatgames.beatsaber;157;1.13.2
Beat Saber;Beat Saber v213+1.16.0 (With DLC, No BMBF) -QU;Beat Saber v213+1.16.0 (With DLC, No BMBF) -QU/Beat Saber v213+1.16.0 (With DLC, No BMBF)-QU.apk;com.beatgames.beatsaber;213;1.16.0
Big Breezy Boat;Big Breezy Boat v189+1.0.189 -QU;Big Breezy Boat v189+1.0.189 -QU/Big Breezy Boat [1.0.189] S3.0.2.apk;com.marineverse.morequest;189;1.0.189
Bionic Hunter;Bionic Hunter v4+2.3 -unknown;Bionic Hunter v4+2.3 -unknown/BionicHunter [2.3].apk;com.AnomosStudios.BionicHunter;4;2.3
Blair Witch;Blair Witch v49+1.46 -QU;Blair Witch v49+1.46 -QU/Blair Witch [1.46.49] S3.0.2.apk;pl.bloober.blairwitch;49;1.46
Blaston;Blaston v109109277+1.9.109277 -QU;Blaston v109109277+1.9.109277 -QU/Blaston [1.9.109277.109109277] S3.0.2.apk;com.resolutiongames.ignis;109109277;1.9.109277
Blockami VR;Blockami VR v1+0.1 -unknown;Blockami VR v1+0.1 -unknown/Blockami VR v1.00.apk;com.aardVRk.blockami;1;0.1
Blueplanet VR Explore;Blueplanet VR Explore v7+7 -QU;Blueplanet VR Explore v7+7 -QU/Blueplanet VR Explore [7] S3.0.2.apk;com.blueplanetvr.blueplanetvr_explore_alpha;7;7
Bodyguard 2;Bodyguard 2 v1+1.5 -unknown;Bodyguard 2 v1+1.5 -unknown/BODYGUARD 2 [1.5].apk;com.studio3DD.bodyguard2;1;1.5
Bonfire;Bonfire v542+1.0.542 -QU;Bonfire v542+1.0.542 -QU/Bonfire [1.0.542] S3.0.2.apk;com.baobab.bonfire;542;1.0.542
Box VR;Box VR v188+1.18 -unknown;Box VR v188+1.18 -unknown/Box VR [1.18.188]_multiplayer_DLC_patch+savefix.apk;com.fitxr.boxvr;188;1.18
Breakout VR;Breakout VR v3+1.0 -QU;Breakout VR v3+1.0 -QU/Breakout VR [1.0.3] S3.0.2.apk;com.nerdvisiongames.breakoutvr;3;1.0
CYBER TENNIS;CYBER TENNIS v152+1.6.4 -unknown;CYBER TENNIS v152+1.6.4 -unknown/CYBERTENNIS_for_Quest_1.6.4.apk;jp.co.techarts.cybertennis;152;1.6.4
Cake Mouse;Cake Mouse v5+0.23 -QU;Cake Mouse v5+0.23 -QU/CakeMouse [0.23.5] S3.0.2.apk;com.StudioHORANG.CakeMouseQuest;5;0.23
Captain Hardcore;Captain Hardcore v1+0.4 -VRP;Captain Hardcore v1+0.4 -VRP/Captain Hardcore 0.4.apk;com.AntiZeroGames.CH;1;1.0
Car Parking Simulator;Car Parking Simulator v9+1.6.3 -QU;Car Parking Simulator v9+1.6.3 -QU/Car Parking Simulator [1.6.3.9] S3.0.2.apk;com.sloppy.carparkingsimulator;9;1.6.3
Carly and the Reaperman;Carly and the Reaperman v122113212+1.22.113212 -QU;Carly and the Reaperman v122113212+1.22.113212 -QU/Carly and the Reaperman [1.22.113212] S3.0.2.apk;com.resolutiongames.catr.ovr.quest;122113212;1.22.113212
Carrolls Riddles;Carrolls Riddles v439+1.51 -QU;Carrolls Riddles v439+1.51 -QU/Carrolls Riddles - [1.51.439] S3.0.2.apk;com.sciencevr.carroll.quest;439;1.51
Carve Snowboarding;Carve Snowboarding v501+1.04 -QU;Carve Snowboarding v501+1.04 -QU/Carve Snowboarding [1.04.501] S3.0.2.apk;com.ViteiBackroom.Powder;501;1.04
Cat Dissection;Cat Dissection v1+1.0 -unknown;Cat Dissection v1+1.0 -unknown/CatDissection-Quest v1.0.apk;com.VictoryXR.CatDissection;1;1.0
Catan VR;Catan VR v11837+1.1.837 -QU;Catan VR v11837+1.1.837 -QU/Catan VR [1.1.837.11837] S3.0.2.apk;com.Experiment7.Aurora;11837;1.1.837
Cave Digger;Cave Digger v71+2.17 -QU;Cave Digger v71+2.17 -QU/Cave Digger [2.17.71] S3.0.2.apk;com.mekiwi.cavedigger;71;2.17
Chupa Chupa VR;Chupa Chupa VR v1+2.0 -VRP;Chupa Chupa VR v1+2.0 -VRP/ChupaChupaVR.apk;com.kan.kikuchi.ChupaChupaVR;1;2.0
Cirque du Soleil;Cirque du Soleil v1001017+1.01.17 -QU;Cirque du Soleil v1001017+1.01.17 -QU/Cirque du Soleil [1.01.17.1001017] S3.0.2.apk;com.felixandpaul.quest.cds_portal;1001017;1.01.17
City Avenger;City Avenger v2+1.0.1 -unknown;City Avenger v2+1.0.1 -unknown/CityAvenger_Quest_v1.0.1.apk;com.Chesstar.CityAvenger.itch;2;1.0.1
Cloudlands 2;Cloudlands 2 v35+1.31 -QU;Cloudlands 2 v35+1.31 -QU/Cloudlands 2 [1.31.35] S2.11.apk;com.Futuretown.Cloudlands2;35;1.31
Coaster Combat;Coaster Combat v708443+1.0 -QU;Coaster Combat v708443+1.0 -QU/Coaster Combat [1.0.708443] S3.0.2.apk;com.forcefieldxr.coastercombatquest;708443;1.0
Color Space;Color Space v316+1.5.3 -QU;Color Space v316+1.5.3 -QU/Color Space [1.5.3.316] S3.0.2.apk;us.lighthaus.colorspace;316;1.5.3
Colorball;Colorball v5+0.3.3 -QU;Colorball v5+0.3.3 -QU/Colorball [0.3.3.5] S3.0.2.apk;at.AppScore.Colorball;5;0.3.3
Contractors;Contractors v61+1.3 -QU;Contractors v61+1.3 -QU/Contractors ['1.3'.61] S3.0.2.apk;com.CaveManStudio.ContractorsVR;61;1.3
Control Tower VR;Control Tower VR v18+0.61 -unknown;Control Tower VR v18+0.61 -unknown/ControlTowerVR v0.61.apk;com.DigitalEmergence.ControlTower_Alpha;18;0.61
Cook-Out;Cook-Out v108112973+1.8.112973 -QU;Cook-Out v108112973+1.8.112973 -QU/Cook-Out [1.8.112973.108112973] S3.0.2.apk;com.resolutiongames.cookinggame;108112973;1.8.112973
Cosmic Sugar;Cosmic Sugar v5+3 -QU;Cosmic Sugar v5+3 -QU/Cosmic Sugar [3.5] S3.0.2.apk;com.LightClinic.CosmicSugar;5;3
Cosmodread;Cosmodread v10014+1.0.0.14 -QU;Cosmodread v10014+1.0.0.14 -QU/Cosmodread [1.0.0.14.10014] S3.0.2.apk;com.WhiteDoorGames.Cosmodread;10014;1.0.0.14
Counter Fight ICHIRAN;Counter Fight ICHIRAN v96+1.1.0_96;Counter Fight ICHIRAN v96+1.1.0_96/Counter Fight ICHIRAN [1.1.0_96] S3.0.2.apk;jp.tricol.IchiranVR;96;1.1.0_96
Counter Fight ICHIRAN;Counter Fight ICHIRAN v96+1.10 -QU;Counter Fight ICHIRAN v96+1.10 -QU/Counter Fight ICHIRAN v96+1.10 -QU.apk;jp.tricol.IchiranVR;96;1.1.0_96
Counter Fight;Counter Fight v1+1.5.0 -unknown;Counter Fight v1+1.5.0 -unknown/counterfight_quest v1.5.0.apk;jp.tricol.counterfight_for_quest;1;1.5.0
Cover Drive Cricket;Cover Drive Cricket v169+1.0.1 -QU;Cover Drive Cricket v169+1.0.1 -QU/Cover Drive Cricket [1.0.1.169] S3.0.2.apk;io.mphillips.CoverDriveCricket21;169;1.0.1
Crashland;Crashland v66+1.01;Crashland v66+1.01/Crashland [1.01.66] S3.0.2.apk;com.LACGames.Crashland;66;1.01
Crazy Croquet VR;Crazy Croquet VR v2+0.2 -QU;Crazy Croquet VR v2+0.2 -QU/Croquet VR [0.2] S3.0.2.apk;de.selfox.crazycroquet;2;0.2
Crazy Kung Fu;Crazy Kung Fu v5+0.63.10 -QU;Crazy Kung Fu v5+0.63.10 -QU/Crazy Kung Fu [0.63.10.5] S3.0.2.apk;com.fieldofvision.crazykungfu;5;0.63.10
Creed - Rise to Glory;Creed - Rise to Glory v247262+1 -QU;Creed - Rise to Glory v247262+1 -QU/Creed - Rise to Glory [1.247262] S3.0.2.apk;com.survios.Creed;247262;1
Crisis VRigade 2;Crisis VRigade 2 v55+1.17 -QU;Crisis VRigade 2 v55+1.17 -QU/Crisis VRigade 2 [1.17.55] S3.0.2.apk;com.sumalab.CrisisVRigade2;55;1.17
Crisis VRigade;Crisis VRigade v1+1.18 -VRP;Crisis VRigade v1+1.18 -VRP/Crisis VRigade v1+1.18 -VRP.apk;com.sumalab.CrisisVRigade;1;1.18
Crop Craze - VR Farming Simulator;Crop Craze - VR Farming Simulator v130+1.3.0 -VRP;Crop Craze - VR Farming Simulator v130+1.3.0 -VRP/Crop Craze - VR Farming Simulator v1.3.1 -VRP.apk;com.PicoPlanetDeveloping.FarmGame;130;1.3.0
Cubism;Cubism v91+1.2.7 -QU;Cubism v91+1.2.7 -QU/Cubism [1.2.7.91] S3.0.2.apk;com.tvb.cubism;91;1.2.7
Custom Home Mapper;Custom Home Mapper v1+0.1 -unknown;Custom Home Mapper v1+0.1 -unknown/Custom Home Mapper v2.3.apk;com.curiousvr.homespace;1;0.1
Cyber Cycle;Cyber Cycle v1+0.1 -unknown;Cyber Cycle v1+0.1 -unknown/Cyber_Cycle_Test_Bld v0.1.apk;com.syntheon.cc2;1;0.1
Cyber Tennis;Cyber Tennis v161+1.6.6 -QU;Cyber Tennis v161+1.6.6 -QU/CYBER TENNIS [1.6.6.161] S3.0.2.apk;jp.co.techarts.cybertennis;161;1.6.6
Dance Central;Dance Central v121011401+1.2.1 -QU (b);Dance Central v121011401+1.2.1 -QU (b)/Dance Central [1.2.1.121011401] S3.0.2.apk;com.HarmonixMusic.DCVRQuest;121011401;1.2.1
Dance Dance Maker;Dance Dance Maker v9+0.9 -unknown;Dance Dance Maker v9+0.9 -unknown/Dance Dance Maker_0.9_Patched.apk;com.novia.vr.ddm;9;0.9
David Slade Mysteries - Case Files;David Slade Mysteries - Case Files v11+2.5a -QU;David Slade Mysteries - Case Files v11+2.5a -QU/DSM - Case Files [2.5a.11] S3.0.2.apk;com.GearWorxProductions.DSMCaseFiles;11;2.5a
Dead Shot Heroes;Dead Shot Heroes v1+2.1.3 -unknown;Dead Shot Heroes v1+2.1.3 -unknown/Dead Shot Heroes v2.1.3.apk;com.omm.dsh;1;2.1.3
Dead and Buried II;Dead and Buried II v3008396+2.0.8396 -QU;Dead and Buried II v3008396+2.0.8396 -QU/Dead and Buried II [2.0.8396.3008396] S2.11.apk;com.oculus.dab2;3008396;2.0.8396
Death Horizon Reloaded;Death Horizon Reloaded v101+0.9.25.8 -QU;Death Horizon Reloaded v101+0.9.25.8 -QU/Death Horizon - Reloaded [0.9.25.8.101] S3.0.2.apk;com.dreamdev.deathhorizon.quest;101;0.9.25.8
Death Lap;Death Lap v936+9.36 -VRP;Death Lap v936+9.36 -VRP/Death Lap v936+9.36 -VRP.apk;com.ozwe.deathlap;936;9.36
Deep Water Solo Climbing;Deep Water Solo Climbing v1+0.1 -unknown;Deep Water Solo Climbing v1+0.1 -unknown/Deep Water Solo Climbing v0.1.0.apk;com.kecoproductions.DeepWaterSolo;1;0.1
Deisim;Deisim v48+1.33.2 -QU;Deisim v48+1.33.2 -QU/Deisim v48+1.33.2 -QU.apk;com.MyronSoftware.Deisim;48;1.33.2
Demeo;Demeo v102113053+1.2.113053 -QU;Demeo v102113053+1.2.113053 -QU/Demeo [1.2.113053.102113053] S3.0.2.apk;com.resolutiongames.demeo;102113053;1.2.113053
Descent Alps;Descent Alps v22+0.4.1 -QU;Descent Alps v22+0.4.1 -QU/DescentAlps [0.4.1.22] S3.0.2.apk;com.Sutur.DescentAlps;22;0.4.1
Directive Nine;Directive Nine v5+0.2.3 -QU;Directive Nine v5+0.2.3 -QU/DirectiveNine [0.2.3.5] S3.0.2.apk;com.rooftoppanda.directivenine;5;0.2.3
Disc Benders - Ace Run;Disc Benders - Ace Run v4+1.3.1 -QU;Disc Benders - Ace Run v4+1.3.1 -QU/Disc Benders - Ace Run [1.3.1.4] S3.0.2.apk;com.FreeFallStudios.DiscBenders;4;1.3.1
DiscGolfVR;DiscGolfVR v1+0.1 -unknown;DiscGolfVR v1+0.1 -unknown/DiscGolfVR v4.5.apk;com.AlexV.DiscGolfVR;1;0.1
Doctor Who The Edge of Time;Doctor Who The Edge of Time v368+368 -QU (b);Doctor Who The Edge of Time v368+368 -QU (b)/Doctor Who The Edge of Time [368] S3.0.2.apk;com.mazetheory.doctorwho;368;368
Dogfish Dessection;Dogfish Dessection v1+1.0 -unknown;Dogfish Dessection v1+1.0 -unknown/Dogfish_Dissection-Quest v1.0.apk;com.VictoryXR.DogfishDissection;1;1.0
Domino's Vice VR;Domino's Vice VR v1+1.0 -unknown;Domino's Vice VR v1+1.0 -unknown/Domino's Vice VR_1.0_Patched.apk;samsapps.games.dominovr;1;1.0
Doom3Quest;Doom3Quest v16+0.2.0 -DrBeef;Doom3Quest v16+0.2.0 -DrBeef/Doom3Quest.apk;com.drbeef.doom3quest;16;0.2.0
Down the Rabbit Hole;Down the Rabbit Hole v429+01.02 -QU;Down the Rabbit Hole v429+01.02 -QU/Down the Rabbit Hole [01.02.429] S3.0.2.apk;com.CortopiaStudios.DTRH;429;01.02
Dr. Zaney's Insane Labs;Dr. Zaney's Insane Labs v2+1.1 -QU;Dr. Zaney's Insane Labs v2+1.1 -QU/Dr. Zaneys Insane Labs - [1.1.2] S3.0.2.apk;com.GearWorxProductions.Dr.ZaneysInsaneLabs;2;1.1
DrakaVR;DrakaVR v1+1 -unknown;DrakaVR v1+1 -unknown/DrakaVR.apk;com.Questeroid.DrakaVR;1;1
Dreadhalls;Dreadhalls v10619+1.6.19 -QU;Dreadhalls v10619+1.6.19 -QU/Dreadhalls.[1.6.19.10619]_patched.apk;com.WhiteDoorGames.DreadhallsQuest;10619;1.6.19
DroneLight;DroneLight v1+0.1 -unknown;DroneLight v1+0.1 -unknown/DroneLight.apk;com.dronelight.map1;1;0.1
Drop Dead - Dual Strike Edition;Drop Dead - Dual Strike Edition v1724091000+1.3.7 -QU;Drop Dead - Dual Strike Edition v1724091000+1.3.7 -QU/Drop Dead - Dual Strike Edition [1.3.7.1724091000] S3.0.2.apk;com.PixelToys.DropDead;1724091000;1.3.7
Drunkn Bar Fight;Drunkn Bar Fight v121+10.21 -QU;Drunkn Bar Fight v121+10.21 -QU/Drunkn Bar Fight [10.21.121] S2.11.apk;com.themunky.drunknbarfightQuest;121;10.21
Dungeon Chess;Dungeon Chess v58+0.0.60 -unknown;Dungeon Chess v58+0.0.60 -unknown/Dungeon Chess v0.060.apk;com.Experiment7.RealDungeonChess;58;0.0.60
Dungeon Train;Dungeon Train v1+0.13.19 -unknown;Dungeon Train v1+0.13.19 -unknown/dungeonTrain v0.19.12.apk;com.brennanhatton.dungeontrain;1;0.13.19
ENHANCE VR;ENHANCE VR v31+2.0.0 -unknown;ENHANCE VR v31+2.0.0 -unknown/ENHANCE VR 2.0.0 Patched.apk;com.Virtuleap.Enhance;31;2.0.0
Electronauts;Electronauts v175667+175667 (b) -QU;Electronauts v175667+175667 (b) -QU/Electronauts [175667.175667] S3.0.2.apk;com.survios.Electronauts;175667;175667
Eleven Table Tennis;Eleven Table Tennis v642+1.642 -QU;Eleven Table Tennis v642+1.642 -QU/Eleven Table Tennis v642+1.642 -QU.apk;quest.eleven.forfunlabs;642;1.642
Elven Assassin;Elven Assassin v122+1.4.2c_OculusQuest -QU;Elven Assassin v122+1.4.2c_OculusQuest -QU/Elven Assassin [1.4.2c_OculusQuest.122] S3.0.2.apk;com.WenklyStudio.ElvenAssassin;122;1.4.2c_OculusQuest
End Space;End Space v26+1.0.6.1 -QU;End Space v26+1.0.6.1 -QU/End Space [1.0.6.1.26] S3.0.2.apk;com.endspace.quest;26;1.0.6.1
Energysaber Masta VR;Energysaber Masta VR v41+1.17 -QU;Energysaber Masta VR v41+1.17 -QU/Energysaber Masta VR [1.17.41] S3.0.2.apk;com.dreamteammobile.LightsaberMastaVR;41;1.17
Epic Roller Coasters;Epic Roller Coasters v5093+7.1.0 -QU;Epic Roller Coasters v5093+7.1.0 -QU/Epic Roller Coasters [7.1.0.5093] S3.0.2.apk;games.b4t.epicrollercoasters.oculus;5093;7.1.0
Escape Legacy;Escape Legacy v37+1.35 -QU;Escape Legacy v37+1.35 -QU/Escape Legacy [1.35.37] S3.0.2.apk;com.StormingTech.EscapeLegacySideQuest;37;1.35
Escape!;Escape! v2+1.01 -unknown;Escape! v2+1.01 -unknown/Escape v1.01.apk;com.Robbin12392.Escape;2;1.01
Espire 1 - VR Operative;Espire 1 - VR Operative v1600+1.8.47 -QU;Espire 1 - VR Operative v1600+1.8.47 -QU/Espire 1 - VR Operative [1.8.47.1600] S3.0.2.apk;com.DigitalLode.Espire1;1600;1.8.47
Evryway Visualiser;Evryway Visualiser v136+0.136 -QU;Evryway Visualiser v136+0.136 -QU/Evryway Visualiser [0.136]_clean.apk;com.evryway.visualiser.oal;136;0.136
Exorcist Legion VR;Exorcist Legion VR v27+1.0.9 -QU;Exorcist Legion VR v27+1.0.9 -QU/Exrcist_Legion v1.0.9.apk;com.wolfandwood.exorcistlegionvr;27;1.0.9
FREEDIVER - Triton Down;FREEDIVER - Triton Down v20+1.0 (b) -QU;FREEDIVER - Triton Down v20+1.0 (b) -QU/FREEDIVER - Triton Down [1.0.20] S3.0.2.apk;com.Archiact.Freediver;20;1.0
FREEDIVER - Triton Down;FREEDIVER - Triton Down v20+1.0 -QU;FREEDIVER - Triton Down v20+1.0 -QU/freediver lightly patched v1.0.apk;com.Archiact.Freediver;20;1.0
Face Your Fears 2;Face Your Fears 2 v487009+1.0.487009 (b) -QU;Face Your Fears 2 v487009+1.0.487009 (b) -QU/Face Your Fears 2 [1.0.487009.487009] S3.0.2.apk;gg.trs.fyf2;487009;1.0.487009
Face Your Fears 2;Face Your Fears 2 v487009+1.0.487009 -QU;Face Your Fears 2 v487009+1.0.487009 -QU/Face Your Fears 2 v1.0.487009.apk;gg.trs.fyf2;487009;1.0.487009
Fail Factory;Fail Factory v54+1.0 -QU;Fail Factory v54+1.0 -QU/Fail Factory [1.0.54] patch+savefix.apk;com.Armature.FailFactory;54;1.0
Falcon Age;Falcon Age v31+1.01 -QU;Falcon Age v31+1.01 -QU/Falcon Age [1.01.31] S3.0.2.apk;com.OuterloopGames.FalconAge;31;1.01
Faraday's Magnets;Faraday's Magnets v5+0.23 -unknown;Faraday's Magnets v5+0.23 -unknown/ScienceVR - Faraday's Magnets [0.23].apk;com.sciencevr.faraday.quest;5;0.23
Fast Formula;Fast Formula v1+1.0 -unknown;Fast Formula v1+1.0 -unknown/Fast Formula_1.0_Patched.apk;com.FastFormula.FastFormula;1;1.0
Fear Dead House;Fear Dead House v11+1.00 -QU;Fear Dead House v11+1.00 -QU/Fear Dead House [1.00.11] S3.0.2.apk;com.quest.tgs.vrghost;11;1.00
Fear Within;Fear Within v1+1.0 -unknown;Fear Within v1+1.0 -unknown/FearWithin1.0.0.2.apk;com.SAAPDigital.FearWithin;1;1.0
FigureOut VR;FigureOut VR v1+1.0 -QU;FigureOut VR v1+1.0 -QU/FigureOutVR [1.0] S3.0.2.apk;com.figureout.questvr;1;1.0
Fingers - Mini Games;Fingers - Mini Games v1+1.02 -unknown;Fingers - Mini Games v1+1.02 -unknown/Fingers - Mini Games v1.02.apk;com.dedm0zaj.FingersMiniGames;1;1.02
Five Nights at Freddys - Help Wanted;Five Nights at Freddys - Help Wanted v219+1.0.6 -QU;Five Nights at Freddys - Help Wanted v219+1.0.6 -QU/Five Nights at Freddys - Help Wanted [1.0.6.219] + DLCunlocker S3.0.2.apk;com.SteelWoolGames.fnafhw;219;1.0.6
Flappy Flappy VR;Flappy Flappy VR v3+1.0 -unknown;Flappy Flappy VR v3+1.0 -unknown/Flappy Flappy VR v1.0.apk;com.FlappyFlappyVR.www.VRmoo.cn;3;1.0
Floor Plan 2;Floor Plan 2 v125+1.0.2.7 -QU;Floor Plan 2 v125+1.0.2.7 -QU/Floor Plan 2 [1.0.2.7.125] S3.0.2.apk;com.turbobutton.fp2;125;1.0.2.7
Flow Weaver;Flow Weaver v46+1.1.0 -QU;Flow Weaver v46+1.1.0 -QU/Flow Weaver [1.1.0.46] S3.0.2.apk;ca.StitchMedia.FlowWeaver;46;1.1.0
Flowborne - Breathing Meditation;Flowborne - Breathing Meditation v38+1.00 -QU;Flowborne - Breathing Meditation v38+1.00 -QU/Flowborne VR [1.00.38] S3.0.2.apk;com.vunderwelten.flowbornevr;38;1.00
Fly XR;Fly XR v1+0.01b -unknown;Fly XR v1+0.01b -unknown/Fly XRv14 [0.01b].apk;com.PlayHop.FlyXR;1;0.01b
Food Flinger;Food Flinger v1+1.0 -unknown;Food Flinger v1+1.0 -unknown/FoodFlinger.apk;com.DashingCape.FoodFlinger;1;1.0
ForeVR Bowl;ForeVR Bowl v215+1.0 -QU;ForeVR Bowl v215+1.0 -QU/ForeVR Bowl v215+1.0 -QU.apk;com.forevr.bowling;215;1.0.215
Forklift Simulator;Forklift Simulator v6+1.0.6 -VRP;Forklift Simulator v6+1.0.6 -VRP/forklift-simulator-beta [1.0.6].apk;com.Chalkbites.ForkliftSimulatorQuest;6;1.0.6
Frog Dissection;Frog Dissection v1+1.0 -unknown;Frog Dissection v1+1.0 -unknown/FrogDissection-Quest.apk;com.VictoryXR.FrogDissectionQuest;1;1.0
Fruit Ninja;Fruit Ninja v547288+1.7.0.547288 -QU;Fruit Ninja v547288+1.7.0.547288 -QU/Fruit Ninja [1.7.0.547288] patch+savefix.apk;com.halfbrick.fruitninjavr;547288;1.7.0.547288
Fujii;Fujii v825+1.0 -QU (b);Fujii v825+1.0 -QU (b)/Fujii [1.0.825] S3.0.2.apk;com.funktroniclabs.fuji;825;1.0
Fun House;Fun House v2+1.1 -QU;Fun House v2+1.1 -QU/Fun House v2+1.1 -QU.apk;com.fairview.funhouse;2;1.1
Futbolin Revolution;Futbolin Revolution v1+0.1 -unknown;Futbolin Revolution v1+0.1 -unknown/Futbolín Revolution 1.0 Patched.apk;com.Pixelfun.FutbolinRevolution;1;0.1
GORN;GORN v1906+1.2.1906 -QU;GORN v1906+1.2.1906 -QU/GORN [1.2.1906] S3.0.2.apk;com.freelives.gorn;1906;1.2.1906
Gadgeteer;Gadgeteer v79+1.0.17 -QU;Gadgeteer v79+1.0.17 -QU/Gadgeteer [1.0.17.79] S3.0.2.apk;com.metanaut.Gadgeteer;79;1.0.17
Ghost Giant;Ghost Giant v32+1.0.32 -QU;Ghost Giant v32+1.0.32 -QU/Ghost Giant [1.0.32] patch+savefix.apk;com.zoink.ghostgiant;32;1.0.32
Gladiatus;Gladiatus v2+1.0 -QU;Gladiatus v2+1.0 -QU/Gladiatus v2+1.0 -QU.apk;com.varonia.gladiatus;2;1.0
Gladius;Gladius v7+1.0 -VRP;Gladius v7+1.0 -VRP/Gladius v7 VRP.apk;com.VirtualAge.GladiusQuest;7;1.0
Glitch Assassin;Glitch Assassin v1+1.0 -unknown;Glitch Assassin v1+1.0 -unknown/Glitch Assassin v1.0.apk;com.LoneWolfInteractive.GlitchAssassin;1;1.0
Gloomy Eyes;Gloomy Eyes v33+33 -QU;Gloomy Eyes v33+33 -QU/Gloomy Eyes 33 Patched.apk;com.arte.gloomy_eyes;33;33
Gravity Lab;Gravity Lab v95+1.14.0 -QU;Gravity Lab v95+1.14.0 -QU/Gravity Lab [1.14.0.95] S3.0.2.apk;com.markschramm.gravitylab;95;1.14.0
Guided Tai Chi;Guided Tai Chi v1235+1.2.35 -unknown;Guided Tai Chi v1235+1.2.35 -unknown/Guided Tai Chi [1.2.35] patch+savefix+90Hz.apk;com.CubicleNinjas.GuidedTaiChi;1235;1.2.35
Gun Club VR;Gun Club VR v228+1.1.82 -QU;Gun Club VR v228+1.1.82 -QU/Gun Club VR [1.1.82.228] S2.11.apk;com.nextgenreality.GunClubVR;228;1.1.82
GunSpinning VR;GunSpinning VR v1+2.0 -unknown;GunSpinning VR v1+2.0 -unknown/GunSpinning VR1.0_Patched.apk;net.demonixis.gunspinningvr;1;2.0
Guns'n'Stories - Bulletproof VR;Guns'n'Stories - Bulletproof VR v155+1.0 (b) -QU;Guns'n'Stories - Bulletproof VR v155+1.0 (b) -QU/GunsnStories - Bulletproof VR [1.0.155] S3.0.2.apk;com.MiroWin.OMT;155;1.0
Half-Life 1 VR;Half-Life 1 VR v23+1.4.5 -DrBeef (with assets, manual install);Half-Life 1 VR v23+1.4.5 -DrBeef (with assets, manual install)/HalfLifeVR.apk;com.drbeef.lambda1vr;23;1.4.5
Hand Physics Lab;Hand Physics Lab v248+1.1.0.0102 -QU;Hand Physics Lab v248+1.1.0.0102 -QU/Hand Physics Lab v248+1.1.0.0102 -QU.apk;com.holonautic.HandPhysicsLab;248;1.1.0.0102
Hand Spell;Hand Spell v1+1.00 -QU;Hand Spell v1+1.00 -QU/Hand Spell [1.00] S3.0.2.apk;com.kosmiq.handspell;1;1.00
Hatsune Miku VR;Hatsune Miku VR v10+3.01 -QU (with DLC);Hatsune Miku VR v10+3.01 -QU (with DLC)/Hatsune Miku VR [3.01.10] S2.11 + DLC Unlocked.apk;jp.co.crypton.mikuvrq;10;3.01
Hermetika VR;Hermetika VR v6+0.6 -unknown;Hermetika VR v6+0.6 -unknown/HermetikaVR.apk;am.benth.hermetikavr;6;0.6
HeroBound 2;HeroBound 2 v8+1.5.1 -unknown;HeroBound 2 v8+1.5.1 -unknown/HeroBound 2.apk;com.oculus.herobound2;8;1.5.1
Holopoint;Holopoint v123+R1.0.14 -QU;Holopoint v123+R1.0.14 -QU/Holopoint [R1.0.14.123] S2.10.apk;com.AlzanStudios.HPPortable;123;R1.0.14
Home Plate Baseball;Home Plate Baseball v42+4.2 -QU;Home Plate Baseball v42+4.2 -QU/Home Plate Baseball [4.2.42] S3.0.2.apk;com.Beep2Bleep.HomePlateBaseball;42;4.2
Homestar VR - Special Edition;Homestar VR - Special Edition v41+1.03 -QU;Homestar VR - Special Edition v41+1.03 -QU/Homestar VR - Special Edition [1.03.41] S3.0.2.apk;com.pocket.homestarvrsp;41;1.03
Homestar VR;Homestar VR v64+1.32 -QU;Homestar VR v64+1.32 -QU/Homestar VR 1.32 Patched.apk;com.pocket.homestarvr;64;1.32
Hoops Madness;Hoops Madness v5+1.0.0 -QU;Hoops Madness v5+1.0.0 -QU/Hoops Madness [1.0.0.5] S3.0.2.apk;com.VRstudios.HoopsMadness;5;1.0.0
House Of Languages;House Of Languages v14+3.3.3 -unknown;House Of Languages v14+3.3.3 -unknown/House Of Languages_3.3.3_v14.apk;com.Fox3DGames.HouseOfLanguages;14;3.3.3
HouseFlipper VR;HouseFlipper VR v86+8.6 -QU;HouseFlipper VR v86+8.6 -QU/HouseFlipper VR [8.6.86] S3.0.2.apk;com.oculus.HouseFlipperVR;86;8.6
Hyper Dash;Hyper Dash v273+1.16.5 -QU;Hyper Dash v273+1.16.5 -QU/Hyper Dash [1.16.5.273] S3.0.2.apk;com.TriangleFactory.HyperDash;273;1.16.5
Hyper Dash;Hyper Dash v274+1.16.5 -QU;Hyper Dash v274+1.16.5 -QU/Hyper Dash [1.16.5.274] S3.0.2.apk;com.TriangleFactory.HyperDash;274;1.16.5
Hyperstacks;Hyperstacks v7+Alpha 0.6.13 -QU;Hyperstacks v7+Alpha 0.6.13 -QU/Hyperstacks [Alpha 0.6.13.7]_clean.apk;com.SquirrelBytes.Hyperstacks;7;Alpha 0.6.13
I Expect You to Die;I Expect You to Die v41516+1.0.141516 -QU;I Expect You to Die v41516+1.0.141516 -QU/I Expect You To Die [1.0.141516] patch+savefix.apk;com.schellgames.ieytdquest;41516;1.0.141516
Imercyve - Living with Intellectual Disability;Imercyve - Living with Intellectual Disability v19+1.0 -QU;Imercyve - Living with Intellectual Disability v19+1.0 -QU/Imercyve - Living with Intellectual Disability [1.0.19] S3.0.2.apk;com.VGH.ID;19;1.0
In Death - Unchained;In Death - Unchained v41945299+1.3.15 -QU;In Death - Unchained v41945299+1.3.15 -QU/In Death - Unchained [1.3.15.41945299] S3.0.2.apk;com.Solfar.InDeath;41945299;1.3.15
Ironlights;Ironlights v142+142 -QU;Ironlights v142+142 -QU/Ironlights [142] S3.0.2.apk;com.emcneill.Ironlights;142;142
Jigsaw 360;Jigsaw 360 v63+3.1.6 -QU;Jigsaw 360 v63+3.1.6 -QU/Jigsaw 360 [3.1.6.63] S3.0.2.apk;com.JumbliVR.Jigsaw360;63;3.1.6
Jigsaw Puzzle VR;Jigsaw Puzzle VR v20+1.04 -QU;Jigsaw Puzzle VR v20+1.04 -QU/JigsawPuzzleVR [1.04.20] S3.0.2.apk;com.Marrsbiz.JigsawPuzzleVR;20;1.04
Job Simulator;Job Simulator v36+1.4.0.4665 -QU;Job Simulator v36+1.4.0.4665 -QU/Job Simulator [1.4.0.4665.36] S2.10.apk;com.owlchemylabs.jobsimulator;36;1.4.0.4665
Journey Of The Gods;Journey Of The Gods v479431+1.0.479431 -QU;Journey Of The Gods v479431+1.0.479431 -QU/Journey Of The Gods [1.0.479431] patch+savefix+90Hz.apk;gg.trs.grappa;479431;1.0.479431
Jurassic World Aftermath;Jurassic World Aftermath v23258+v1.3 -QU;Jurassic World Aftermath v23258+v1.3 -QU/Jurassic World Aftermath [v1.3.23258] S3.0.2.apk;com.coatsink.alone;23258;v1.3
Just Drive;Just Drive v1+1.0 -unknown;Just Drive v1+1.0 -unknown/Just Drive [1.0].apk;com.JustDrive.JustDrive;1;1.0
KOTC VR Basketball;KOTC VR Basketball v1+0.1 -unknown;KOTC VR Basketball v1+0.1 -unknown/《KOTC VR Basketball》1.0_Patched_.apk;com.millennialdave.kotcvrbball;1;0.1
Keep Talking and Nobody Explodes;Keep Talking and Nobody Explodes v59+1.9.22 -QU;Keep Talking and Nobody Explodes v59+1.9.22 -QU/Keep Talking and Nobody Explodes [1.9.22.59] S2.10.apk;com.steelcrategames.keeptalkingandnobodyexplodes;59;1.9.22
Kid Setas;Kid Setas v1+0.1 -unknown;Kid Setas v1+0.1 -unknown/Kid Setas 0.1 Patched.apk;com.realdragonvr.setas;1;0.1
Kingdom of Blades;Kingdom of Blades v1+1.0.0 -unknown;Kingdom of Blades v1+1.0.0 -unknown/Kingdom of Blades 0330_Patched.apk;com.chesstar.KingdomOfBlades.itch;1;1.0.0
Kingspray Graffiti;Kingspray Graffiti v725+71.5 (b) -QU;Kingspray Graffiti v725+71.5 (b) -QU/Kingspray Graffiti [71.5.725] S3.0.2.apk;com.infectiousape.kingspray;725;71.5
Kingspray Graffiti;Kingspray Graffiti v725+71.5 -VRP (save issue);Kingspray Graffiti v725+71.5 -VRP (save issue)/Kingspray Graffiti [v71.5-725] -VRP.apk;com.infectiousape.kingspray;725;71.5
KitchenIslandVR;KitchenIslandVR v2+0 -QU;KitchenIslandVR v2+0 -QU/KitchenIslandVR v2+0 -QU.apk;com.VRBuddyGames.KitchenIslandVR;2;0.2
Knockout League;Knockout League v34+1.0 -QU;Knockout League v34+1.0 -QU/Knockout League [1.0.34] S3.0.2.apk;com.grab.knockout;34;1.0
Laid-Back Camp - Virtual - Lake Motosu;Laid-Back Camp - Virtual - Lake Motosu v3+1.0.0 -VRP;Laid-Back Camp - Virtual - Lake Motosu v3+1.0.0 -VRP/Laid-Back Camp - Virtual - Lake Motosu v3+1.0.0 -VRP.apk;jp.co.gemdrops.lbca_q;3;1.0.0
Laser Blaze;Laser Blaze v1+1.0.0 -unknown;Laser Blaze v1+1.0.0 -unknown/Laser Blaze 1.0 Patched.apk;cz.bkral.LaserBlaze;1;1.0.0
Last Labyrinth;Last Labyrinth v34+1.02 -QU;Last Labyrinth v34+1.02 -QU/Last Labyrinth [1.02.34] patch+savefix+90Hz+CustomRes.apk;jp.co.amata.lastlabyrinth;34;1.02
Layers of Fear VR;Layers of Fear VR v36+2.0 -QU;Layers of Fear VR v36+2.0 -QU/Layers of Fear VR [2.0.36] S3.0.2.apk;com.bloober.layersoffearvr;36;2.0
Legendary Hunter VR;Legendary Hunter VR v2+1.21 -QU;Legendary Hunter VR v2+1.21 -QU/Legendary Hunter VR [1.21] S3.0.2.apk;com.FrozenDreams.legendaryhuntervr;2;1.21
Let's Go Chopping;Let's Go Chopping v2+.2 -unknown;Let's Go Chopping v2+.2 -unknown/LetsGoChoppingEAv2PAID.apk;com.SoaringRocStudio.LetsGoChopping;2;.2
Let's Play with Anna!;Let's Play with Anna! v1+1.0 -unknown;Let's Play with Anna! v1+1.0 -unknown/anna_quest_uncensored.apk;com.vrjcc.AnnaU;1;1.0
Lets Create! Pottery VR;Lets Create! Pottery VR v670+1.12 -QU;Lets Create! Pottery VR v670+1.12 -QU/Lets Create! Pottery VR [1.12.670] S3.0.2.apk;com.idreams.potteryvrq;670;1.12
Lies Beneath;Lies Beneath v55578+1.0-55578 -QU;Lies Beneath v55578+1.0-55578 -QU/Lies Beneath [1.0-55578.55578] S3.0.2.apk;com.Drifter.Kodiak;55578;1.0-55578
Little Witch Academia - VR Broom Racing;Little Witch Academia - VR Broom Racing v707+1.2.0 -QU;Little Witch Academia - VR Broom Racing v707+1.2.0 -QU/Little Witch Academia - VR Broom Racing [1.2.0.707] S2.11.apk;com.UNIVRS.LWAVR;707;1.2.0
LoopSpace;LoopSpace v11+0.9.3 -QU;LoopSpace v11+0.9.3 -QU/LoopSpace v11+0.9.3 -QU.apk;com.Chesstar.LoopSpace.Quest;11;0.9.3
Luna;Luna v8+8 -QU;Luna v8+8 -QU/Luna [8] S3.0.2.apk;com.funomena.luna;8;8
Mare;Mare v31+31 -QU;Mare v31+31 -QU/Mare [31] S3.0.2.apk;com.VisionTrick.Mare;31;31
MarineVerse Cup;MarineVerse Cup v289+0.289 -unknown;MarineVerse Cup v289+0.289 -unknown/MarineVerse Cup [0.289].apk;com.marineverse.cup;289;0.289
Mini Motor Racing X;Mini Motor Racing X v124+1.3.5 -QU;Mini Motor Racing X v124+1.3.5 -QU/Mini Motor Racing X [1.3.5.124] S3.0.2.apk;com.nextgenreality.mmrx;124;1.3.5
Monolith;Monolith v1+0.1 -unknown;Monolith v1+0.1 -unknown/Monolith v0.1.apk;com.n.monolith;1;0.1
Moss;Moss v22600+1.0.0.22600 -Q2Patched-90Hz-CustomRes -QU;Moss v22600+1.0.0.22600 -Q2Patched-90Hz-CustomRes -QU/Moss [1.0.0.22600] patch+savefix+90Hz+CustomRes.apk;com.polyarc.MossGame;22600;1.0.0.22600
Mr. Scribbles;Mr. Scribbles v1+0.1 -unknown;Mr. Scribbles v1+0.1 -unknown/Mr. Scribbles v0.0.10.apk;com.oculus.mrscribbles;1;0.1
Mutated Virus;Mutated Virus v2+2.1 -VRP;Mutated Virus v2+2.1 -VRP/MutatedVirus[2.1].apk;com.AnomosStudios.MutatedVirus;2;2.1
Myst;Myst v264+1.0.2 -QU;Myst v264+1.0.2 -QU/Myst [1.0.2.264] S3.0.2.apk;com.CyanWorlds.Myst;264;1.0.2
Myth - A Frozen Tale;Myth - A Frozen Tale v31+1.0 -QU;Myth - A Frozen Tale v31+1.0 -QU/Myth - A Frozen Tale ['1.0'.31] S3.0.2.apk;com.WaltDisney.MythAFrozenTale;31;1.0
NES Space Quest;NES Space Quest v3+1.0.2 -unknown;NES Space Quest v3+1.0.2 -unknown/NesVR_OculusQuest_Itch_V1.0.2_EndlessCoins.Patched.apk;com.Chesstar.NesVR.QuestItch;3;1.0.2
National Geographic Explore VR;National Geographic Explore VR v674692+1.2.1 -VRP;National Geographic Explore VR v674692+1.2.1 -VRP/National Geographic Explore VR v1.2.1-674692 -VRP.apk;com.forcefieldxr.explorevr;674692;1.2.1
Nature Treks VR;Nature Treks VR v20+1.21 -QU;Nature Treks VR v20+1.21 -QU/Nature Treks VR [1.21.20] S2.11.apk;com.GreenerGames.QuestTreks;20;1.21
Neon Sprint;Neon Sprint v17+1.0.4 -QU;Neon Sprint v17+1.0.4 -QU/Neon Sprint v17+1.0.4 -QU.apk;com.chesstar.NeonSprint.Quest;17;1.0.4
Ninja Legends;Ninja Legends v1084+1.0.1084 -QU;Ninja Legends v1084+1.0.1084 -QU/Ninja Legends [1.0.1084] S3.0.2.apk;com.coinflip.ninja;1084;1.0.1084
Ocean Rift;Ocean Rift v55+1.68 -Q2Patched-90Hz -QU;Ocean Rift v55+1.68 -Q2Patched-90Hz -QU/Ocean Rift [1.68] patch+savefix+90Hz.apk;com.picselica.OceanRiftFullQuest;55;1.68
OceanCraft;OceanCraft v29+v0.3.10 -QU;OceanCraft v29+v0.3.10 -QU/OceanCraft [v0.3.10.29] S3.0.2.apk;com.FlodLab.OceanCraft;29;v0.3.10
OhShape;OhShape v185+1.8.5;OhShape v185+1.8.5/OhShape [1.8.5.185] S3.0.2.apk;com.odders.ohshape;185;1.8.5
Omega Blade;Omega Blade v1203+1.2.0 -QU;Omega Blade v1203+1.2.0 -QU/Omega Blade [1.2.0.1203] S3.0.2.apk;com.paramogames.omegablade;1203;1.2.0
OnStage Simulator;OnStage Simulator v1+0.72 -unknown;OnStage Simulator v1+0.72 -unknown/OnStage Simulator v0.7.2.apk;com.COMPOS3D.OnStage;1;0.72
Onward;Onward v9666+1.0 -QU;Onward v9666+1.0 -QU/Onward [1.0.9666] S3.0.2.apk;com.downpourinteractive.onward;9666;1.0
Operation Serpens;Operation Serpens v210312+1.2103.12 -QU;Operation Serpens v210312+1.2103.12 -QU/Operation Serpens [1.2103.12.210312] S3.0.2.apk;com.GINRATECH.OPERATIONSERPENS;210312;1.2103.12
Oxygen Dreams;Oxygen Dreams v7+1.06 -QU;Oxygen Dreams v7+1.06 -QU/OxygenDreamsQuest [1.06.7] S3.0.2.apk;com.Fguillotine.OxygenDreamsQuest;7;1.06
Painting VR;Painting VR v8+0.2 -QU;Painting VR v8+0.2 -QU/PaintingVr [0.2.8] S3.0.2.apk;com.Oisoi.PaintingVr;8;0.2
Pandemic by Prisms;Pandemic by Prisms v180+0.5.61 -QU;Pandemic by Prisms v180+0.5.61 -QU/PrismsPandemic [0.5.61.180] S3.0.2.apk;com.prismsvr.pandemicbyprisms;180;0.5.61
Pangman;Pangman v11+1.1 -unknown;Pangman v11+1.1 -unknown/Pangman_1.1_Patched.apk;com.ivanovichgames.pangman;11;1.1
Paper Birds;Paper Birds v47+1 -QU;Paper Birds v47+1 -QU/Paper Birds [1.47] S2.11.apk;com.ThreeDAR.PaperBirdsQuest;47;1
Path Of The Warrior;Path Of The Warrior v495+20.01.14.356019 -QU;Path Of The Warrior v495+20.01.14.356019 -QU/Path of the Warrior [20.01.14.356019]_patched.apk;com.twistedpixelgames.POTW_App;495;20.01.14.356019
PePiBo - Peregrino Pinata Bowling;PePiBo - Peregrino Pinata Bowling v2+2 -QU;PePiBo - Peregrino Pinata Bowling v2+2 -QU/PePiBo [2] S3.0.2.apk;com.toritogames.pepibo;2;2
PecoPeco;PecoPeco v6011+0.6.11 -QU;PecoPeco v6011+0.6.11 -QU/PecoPeco [0.6.11.6011] S3.0.2.apk;am.benth.pecopeco;6011;0.6.11
Penn & Teller VR - F U, U, U, & U;Penn & Teller VR - F U, U, U, & U v1960571+1.0 -QU (b);Penn & Teller VR - F U, U, U, & U v1960571+1.0 -QU (b)/Penn & Teller VR - F U, U, U, & U [1.0.1960571] S3.0.2.apk;com.GearboxSoftware.Hawthorn;1960571;1.0
Percussive VR;Percussive VR v2+1.4 -QU;Percussive VR v2+1.4 -QU/Percussive VR [1.4.2] S3.0.2.apk;games.jamhack.PercussiveVR.Oculus;2;1.4
Perpetuum Mobile;Perpetuum Mobile v83+1.5.6 -QU;Perpetuum Mobile v83+1.5.6 -QU/PerpetuumMobile VR [1.5.6.83] S3.0.2.apk;be.PetrusGames.PerpetuumMobile;83;1.5.6
Phantom - Covert Ops;Phantom - Covert Ops v49563+1.1 -QU;Phantom - Covert Ops v49563+1.1 -QU/Phantom - Covert Ops [1.1.49563] S3.0.2.apk;com.nDreams.PhantomQuest;49563;1.1
PhysHand;PhysHand v2+0.1.1 -unknown;PhysHand v2+0.1.1 -unknown/PhysHand v0.1.apk;com.JorgeJGnz.PhysHand;2;0.1.1
Pig Dissection;Pig Dissection v1+1.0 -unknown;Pig Dissection v1+1.0 -unknown/PigDissection-Quest.apk;com.VictoryXR.PigDissection;1;1.0
Pigasus VR Media Player;Pigasus VR Media Player v78+3.4 -QU;Pigasus VR Media Player v78+3.4 -QU/Pigasus VR Media Player [3.4.78].apk;com.hanginghatstudios.pigasus;78;3.4
Pinball FX2 VR;Pinball FX2 VR v15+1.0.0 -QU;Pinball FX2 VR v15+1.0.0 -QU/Pinball-FX2-VR- 1.0.0.15 -patched.apk;com.zenstudios.PinballFX2VRQuest;15;1.0.0
Pipe Dream Co.;Pipe Dream Co. v5+1.11.50 -QU;Pipe Dream Co. v5+1.11.50 -QU/Pipe Dream Co. [1.11.50] S3.0.2.apk;com.FieldOfVision.PipeDreamCo;5;1.11.50
Pistol Whip;Pistol Whip v418+0.6.26.94 -QU;Pistol Whip v418+0.6.26.94 -QU/Pistol Whip [0.6.26.94.418] S2.11.apk;com.cloudheadgames.pistolwhip;418;0.6.26.94
Pixel Ripped 1995;Pixel Ripped 1995 v108+108 -QU;Pixel Ripped 1995 v108+108 -QU/Pixel Ripped 1995 [108] S3.0.2.apk;io.arvore.pixelripped1995;108;108
Please, Don't Touch Anything;Please, Don't Touch Anything v1312+2.1 -unknown;Please, Don't Touch Anything v1312+2.1 -unknown/Dont Touch Anything [2.1.1312].apk;com.ForwardXP.nuke;1312;2.1
Pop Shot;Pop Shot v1+1.0 -unknown;Pop Shot v1+1.0 -unknown/Pop Shot 1.0 Patched.apk;com.PixelBoogie.PopShotQuest;1;1.0
Prison Boss VR;Prison Boss VR v37+1.6.0.16 -QU;Prison Boss VR v37+1.6.0.16 -QU/Prison Boss VR [1.6.0.16.37] S2.11.apk;com.Trebuchet.PrisonBossVR;37;1.6.0.16
Private Agent;Private Agent v5+1.3 -QU;Private Agent v5+1.3 -QU/Private Agent [_1.3_.5] S3.0.2.apk;com.Nottie.PrivateAgent;5;1.3
ProjectZ;ProjectZ v45+1.1.0 -QU;ProjectZ v45+1.1.0 -QU/ProjectZ [1.1.0.45] L3.0.2.apk;com.slindev.projectz;45;1.1.0
Pteranodon's Flight;Pteranodon's Flight v1+1.0 -unknown;Pteranodon's Flight v1+1.0 -unknown/PF Quest.apk;com.VictoryXR.PteranodonsFlight;1;1.0
Pub Darts;Pub Darts v200002+1.0 -QU;Pub Darts v200002+1.0 -QU/Pub Darts [1.0.200002] S3.0.2.apk;com.Ardooly.PubDarts;200002;1.0
Puzzle Bobble VR - Vacation Odyssey;Puzzle Bobble VR - Vacation Odyssey v247407+1.0 -QU;Puzzle Bobble VR - Vacation Odyssey v247407+1.0 -QU/Puzzle Bobble VR - Vacation Odyssey [1.0.247407] S3.0.2.apk;com.survios.bam;247407;1.0
Puzzling Places;Puzzling Places v2+1.0 -unknown;Puzzling Places v2+1.0 -unknown/Puzzling Places v1.0.1.apk;com.RealitiesIO.puzzlingPlacesPrototype;2;1.0
Quest for Runia;Quest for Runia v13+1.0 -QU;Quest for Runia v13+1.0 -QU/QuestForRunia [1.0.13] S3.0.2.apk;com.Cykyria.QuestForRunia;13;1.0
QuestZDoom Pack launcher;QuestZDoom Pack launcher v1+1.0.3 -VRP (install this too);QuestZDoom Pack launcher v1+1.0.3 -VRP (install this too)/questzdoom_launcher_1.03.apk;com.Baggyg.QuestZDoom_Launcher;1;1.0.3
QuestZDoom Pack;QuestZDoom Pack v25+1.1.7 -VRP;QuestZDoom Pack v25+1.1.7 -VRP/questzdoom-1.1.7.apk;com.drbeef.questzdoom;25;1.1.7
RESONARK X LITE;RESONARK X LITE v10100002+1.0.1b -QU;RESONARK X LITE v10100002+1.0.1b -QU/ResonarkXLite [1.0.1b.10100002] S3.0.2.apk;com.sepnekoya.ResonarkXLite;10100002;1.0.1b
RUSH;RUSH v282+1.2.1 -VRP;RUSH v282+1.2.1 -VRP/Rush v23+1.2.1 -VRP.apk;com.nextgenreality.rush;282;1.2.1
Raccoon Lagoon;Raccoon Lagoon v235238+1.0 -QU (b);Raccoon Lagoon v235238+1.0 -QU (b)/Raccoon Lagoon [1.0.235238] S3.0.2.apk;com.hiddenpath.phoenix;235238;1.0
Racket - NX;Racket - NX v122+2.2.14 -QU;Racket - NX v122+2.2.14 -QU/Racket - Nx [2.2.14.122] S3.0.2.apk;com.onehamsa.RNXQ;122;2.2.14
Racket Fury - Table Tennis VR;Racket Fury - Table Tennis VR v712+7.1.2 -QU;Racket Fury - Table Tennis VR v712+7.1.2 -QU/Racket Fury - Table Tennis VR [7.1.2.712] S3.0.2.apk;com.RacketFury.RF_GearVR;712;7.1.2
Radial-G - Proteus;Radial-G - Proteus v29+0.1 -QU;Radial-G - Proteus v29+0.1 -QU/Radial-G - Proteus [0.1.29] S3.0.2.apk;com.Things3D.RadialGProteus;29;0.1
Range Day VR;Range Day VR v14+1.18 -QU;Range Day VR v14+1.18 -QU/RangeDay VR [1.18.14] S3.0.2.apk;com.InvidiousStudios.RangedayVRQ;14;1.18
Real Fit VR;Real Fit VR v23+2021.3.1615462334 -QU;Real Fit VR v23+2021.3.1615462334 -QU/Real Fit VR [2021.3.1615462334] S3.0.2.apk;co.realfit.RealFit;23;2021.3.1615462334
Real VR Fishing;Real VR Fishing v109+1.518 -QU;Real VR Fishing v109+1.518 -QU/Real VR Fishing [1.518.109] S3.0.2.apk;com.Miragesoft.RealVrFishingQ;109;1.518
RealFit;RealFit v1+0.1 -VRP;RealFit v1+0.1 -VRP/realfit-quest-halloween-2020-10-29 v1+0.1 -VRP.apk;co.realfit.RealFit;1;0.1
Realms of Eternity;Realms of Eternity v1+0.5.7 -unknown;Realms of Eternity v1+0.5.7 -unknown/Realms Of Eternity v0.5.7.apk;com.VRKemono.RealmsofEternity;1;0.5.7
Red Matter;Red Matter v32+1.0.009 -Q2Patched-90Hz -QU;Red Matter v32+1.0.009 -Q2Patched-90Hz -QU/Red Matter [1.0.009] patch+savefix+90Hz.apk;com.VerticalRobot.RedMatter;32;1.0.009
Reflex Unit 2;Reflex Unit 2 v405+4.3 -QU;Reflex Unit 2 v405+4.3 -QU/Reflex Unit 2 [4.3.405] S3.0.2.apk;com.robosarugames.reflexunit2Lab;405;4.3
Refuge VR;Refuge VR v1+0.1 -unknown;Refuge VR v1+0.1 -unknown/Refuge.VR.apk;com.Meditation.RefugeVRv1;1;0.1
Resilience;Resilience v20+1.0.8042 -QU;Resilience v20+1.0.8042 -QU/Resilience 1.0.v8042.20+1.0 -QU.apk;com.scale1.resilience;20;1.0.8042
Rest In Pieces;Rest In Pieces v37+1.35 -QU;Rest In Pieces v37+1.35 -QU/RIP [1.35.37] S3.0.2.apk;com.StormingTech.RestInPiecesSQ;37;1.35
Return to Castle Wolfenstein;Return to Castle Wolfenstein v45+1.1.7 -DrBeef;Return to Castle Wolfenstein v45+1.1.7 -DrBeef/rtcwquest-v1.1.7.apk;com.drbeef.rtcwquest;45;1.1.7
Revolver Widow;Revolver Widow v3+1.2 -QU;Revolver Widow v3+1.2 -QU/Revolver Widow [1.2.3] S3.0.2.apk;com.StudioPoncho.Pinkertons;3;1.2
Rez Infinite;Rez Infinite v41+41.0 -unknown;Rez Infinite v41+41.0 -unknown/Rez Infinite [41.0] patched.apk;com.enhanceexperience.rezquest;41;41.0
Rhythm 'n Bullets;Rhythm 'n Bullets v18+1.10 -QU;Rhythm 'n Bullets v18+1.10 -QU/Rhythm n Bullets - [1.10.18] S3.0.2.apk;com.db.groovebullet;18;1.10
Richies Plank Experience;Richies Plank Experience v65+1.8.47 -QU;Richies Plank Experience v65+1.8.47 -QU/Richies Plank Experience [1.8.47.65] S2.11.apk;com.ToastVR.RichiesPlankExperience;65;1.8.47
Robo Recall;Robo Recall v47091+1.0 -Q2Patched-90Hz -QU;Robo Recall v47091+1.0 -Q2Patched-90Hz -QU/Robo Recall [1.0] patch+savefix+90Hz.apk;com.YourCompany.RoboRecall;47091;1.0
Rodent People - Origins;Rodent People - Origins v13+0.58 -QU;Rodent People - Origins v13+0.58 -QU/Rodent People - Origins [v0.58.13] S3.0.2.apk;com.ZenRepublic.RodentPeopleOrigins;13;v0.58
République VR;République VR v127622+1.2 -QU (b);République VR v127622+1.2 -QU (b)/Republique VR ['1.2'.127622] S3.0.2.apk;com.camouflaj.republiquevr;127622;1.2
SETVR;SETVR v37+1.61 -QU;SETVR v37+1.61 -QU/SETVR [_1.61_.37] S3.0.2.apk;com.DVNCTech.SETVR;37;1.61
SKYBOX VR Video Player;SKYBOX VR Video Player v342+1.0.3 -QU;SKYBOX VR Video Player v342+1.0.3 -QU/SKYBOX VR Video Player [1.0.3.342] S3.0.2.apk;xyz.skybox.player.ovr;342;1.0.3
SPHERES;SPHERES v38+1.37 -QU;SPHERES v38+1.37 -QU/SPHERES [1.37.38] S3.0.2.apk;com.Novelab.Spheres;38;1.37
SUPERHOT VR;SUPERHOT VR v140+1.14 -QU;SUPERHOT VR v140+1.14 -QU/SUPERHOT VR [1.14.140] S3.0.2.apk;unity.SUPERHOT_Team.SUPERHOT_VR_QA;140;1.14
Sairento VR - Untethered;Sairento VR - Untethered v203+1.9.4 -QU;Sairento VR - Untethered v203+1.9.4 -QU/Sairento VR _ Untethered [1.9.4] patch+savefix+90Hz.apk;com.mixedrealms.sairentovruntethered;203;1.9.4
SculptrVR;SculptrVR v181+2.88 -QU;SculptrVR v181+2.88 -QU/SculptrVR [2.88.181] S3.0.2.apk;com.sculptrvrinc.sculptrvrapp;181;2.88
Secret of Harrow Manor 2;Secret of Harrow Manor 2 v24+0.24 -unknown;Secret of Harrow Manor 2 v24+0.24 -unknown/Secret_of_Harrow_Manor_2.v0.24.apk;com.OnlyHuman.SoHM2vr;24;0.24
Sep's Diner;Sep's Diner v7+7555 -QU;Sep's Diner v7+7555 -QU/Seps Diner - [7555] S3.0.2.apk;com.scale1.sepsdinerSolo;7;7555
SetVR;SetVR v1+0.1 -unknown;SetVR v1+0.1 -unknown/setvr.apk;com.DVNCTech.SETVRearlyaccess;1;0.1
Shadow Point;Shadow Point v43+1.1 (b) -QU;Shadow Point v43+1.1 (b) -QU/Shadow Point [1.1.43] S3.0.2.apk;com.coatsink.nexus;43;1.1
Shelley's Creation;Shelley's Creation v4+0.75 -QU;Shelley's Creation v4+0.75 -QU/Shelleys Creation - [0.75.4] S3.0.2.apk;com.sciencevr.shelley.quest;4;0.75
Shinobi Breaker;Shinobi Breaker v35+1.1 -QU;Shinobi Breaker v35+1.1 -QU/Shinobi Breaker [1.1.35] S3.0.2.apk;com.Donuts.InfinityBreaker;35;1.1
Shooting Therapy;Shooting Therapy v2+0 -QU;Shooting Therapy v2+0 -QU/Shooting Therapy v2+0 -QU.apk;com.NoFlinch.ShootingTherapy;2;0.2
Shoottris;Shoottris v3+1.011 -QU;Shoottris v3+1.011 -QU/Shoottris [1.011.3] S3.0.2.apk;com.palvesoft.ShoottrisQuest;3;1.011
Shooty Fruity;Shooty Fruity v18+1.0 -QU;Shooty Fruity v18+1.0 -QU/Shooty Fruity [1.0.18] S2.11.apk;com.ndreams.shootyfruity;18;1.0
Shooty Skies Overdrive;Shooty Skies Overdrive v78450+1.03.78450 -QU;Shooty Skies Overdrive v78450+1.03.78450 -QU/Shooty Skies Overdrive [1.03.78450] S2.10.apk;com.mightygamesgroup.shootyvr;78450;1.03.78450
Shuttle Commander;Shuttle Commander v64+0.64 -QU (b);Shuttle Commander v64+0.64 -QU (b)/Shuttle Commander [0.64.64] S3.0.2.apk;com.ivre.ssc;64;0.64
Skyworld - Kingdom Brawl;Skyworld - Kingdom Brawl v32+1.22 -QU;Skyworld - Kingdom Brawl v32+1.22 -QU/Skyworld - Kingdom Brawl [1.22.32] S3.0.2.apk;com.vertigogames.skyworldbrawl;32;1.22
SlashMates;SlashMates v1+0.04 -unknown;SlashMates v1+0.04 -unknown/New SlashMates-0.04.apk;com.VRight.Slashmates;1;0.04
Smashmania;Smashmania v1+0.4 -unknown;Smashmania v1+0.4 -unknown/Smashmania 0.4 Patched.apk;ltd.getschwifty.smashmania.demo;1;0.4
Snake In a Box;Snake In a Box v56+5.6 -unknown;Snake In a Box v56+5.6 -unknown/SnakeInABox.apk;com.dofdev.SnakeInABox;56;5.6
Snow Fortress;Snow Fortress v2+1.33 -unknown;Snow Fortress v2+1.33 -unknown/Snow Fortress Quest Edition.apk;com.mythicalcitygames.snowfortress;2;1.33
Snowman VR;Snowman VR v1+0.6.0 -VRP;Snowman VR v1+0.6.0 -VRP/Snowman VR.apk;co.xocus.snowman;1;0.6.0
Solicitude Wake-up;Solicitude Wake-up v13+1.3 -QU;Solicitude Wake-up v13+1.3 -QU/Solicitude Wake-up [1.3.13] S3.0.2.apk;com.JRProduction.SolicitudeWakeupQuest;13;1.3
Song Beater;Song Beater v422+4.2 -QU;Song Beater v422+4.2 -QU/Song Beater [4.2.422] S3.0.2.apk;com.Playito.SongBeater;422;4.2
Space Channel 5 VR;Space Channel 5 VR v68514+1.0.3 -QU;Space Channel 5 VR v68514+1.0.3 -QU/Space Channel 5 VR Kinda Funky News Flash! [1.0.3.68514] S3.0.2.apk;com.grounding.ch5vrquest;68514;1.0.3
Space Junk;Space Junk v13+1.2 -QU;Space Junk v13+1.2 -QU/Space Junk [1.2.13] S3.0.2.apk;com.cestrian.spacejunk;13;1.2
Space Pilot Alliance;Space Pilot Alliance v1+2.0 -unknown;Space Pilot Alliance v1+2.0 -unknown/Space Pilot Alliance 2.6 Patched.apk;com.curiousvr.spacepilotalliance;1;2.0
Space Pirate Trainer;Space Pirate Trainer v164+1.64 -QU;Space Pirate Trainer v164+1.64 -QU/Space Pirate Trainer Quest [1.64.164] patch+savefix+90Hz+CustomRes.apk;com.iillusions.spacepiratetrainerquest;164;1.64
Space Shooter;Space Shooter v14+1.01 -QU;Space Shooter v14+1.01 -QU/Space Shooter [1.01.14] S3.0.2.apk;vr.tgs.spaceshooter;14;1.01
Space Slurpies;Space Slurpies v7+1.0 -QU;Space Slurpies v7+1.0 -QU/Space Slurpies [1.0.7] S3.0.2.apk;com.StarcadeArcadeLLC.SpaceSlurpies;7;1.0
Space Walk VR Experience;Space Walk VR Experience v700107+7.0.107.02 -QU;Space Walk VR Experience v700107+7.0.107.02 -QU/SpaceWalk Experience [7.0.107.02.700107] S3.0.2.apk;com.FTM.SpaceWalkQuest2OC;700107;7.0.107.02
Spaceteam VR;Spaceteam VR v2346+1.0 -unknown;Spaceteam VR v2346+1.0 -unknown/Spaceteam_VR v1.02346 _ScriptPatched.apk;com.CooperativeInnovations.Spaceteam;2346;1.0
Special Delivery;Special Delivery v30+1.1 -QU;Special Delivery v30+1.1 -QU/Special Delivery [1.1.30] S3.0.2.apk;com.MeerkatGaming.SD_Quest;30;1.1
Speed Cube;Speed Cube v9+0.7.1 -QU;Speed Cube v9+0.7.1 -QU/Speed Cube [0.7.1.9] S3.0.2.apk;com.Aligator.SpeedCube;9;0.7.1
Spice & Wolf VR;Spice & Wolf VR v9+1.04 -QU;Spice & Wolf VR v9+1.04 -QU/Spice Wolf VR [1.04.9] S3.0.2.apk;com.SpicyTails.SaW;9;1.04
Sport Mode;Sport Mode v24+0.2.1 -QU;Sport Mode v24+0.2.1 -QU/Sport Mode [0.2.1.24] S3.0.2.apk;com.Exo.Playground2;24;0.2.1
Sports Scramble;Sports Scramble v88+1.0 -unknown;Sports Scramble v88+1.0 -unknown/Sports Scramble v1.0.88 Patched 2020-07-05.apk;com.Armature.SportsScramble;88;1.0
Squid Seastar;Squid Seastar v1+0.1 -unknown;Squid Seastar v1+0.1 -unknown/Squid-Seastar-Quest.apk;com.VictoryXR.SquidDissection;1;0.1
Star Chart;Star Chart v18529+1.7.7 -VRP;Star Chart v18529+1.7.7 -VRP/Star Chart.apk;com.escapistgames.starchartvr.quest;18529;1.7.7
Star Wars - Tales from the Galaxy's Edge;Star Wars - Tales from the Galaxy's Edge v291854+1.0.4-185011.cl.291854 -QU (v.2);Star Wars - Tales from the Galaxy's Edge v291854+1.0.4-185011.cl.291854 -QU (v.2)/Star Wars - Tales from the Galaxys Edge [1.0.4+185011.cl.291854] S3.0.2.apk;com.ilmxlab.tales;291854;1.0.4+185011.cl.291854
Star Wars Pinball VR;Star Wars Pinball VR v10699+1.1 -QU;Star Wars Pinball VR v10699+1.1 -QU/Star Wars Pinball VR [1.1.10699] S3.0.2.apk;com.YourCompany.SWP_VR;10699;1.1
StardustVR;StardustVR v2+1.0 -QU;StardustVR v2+1.0 -QU/StardustVR v2+1.0.apk;com.FrozenDreams.stardustvr;2;1.0
Steamliner;Steamliner v1+1.2.5 -VRP;Steamliner v1+1.2.5 -VRP/Steamliner_Quest.apk;com.Diamond.Steamliner;1;1.2.5
Stride;Stride v22+1.0 -VRP (beta);Stride v22+1.0 -VRP (beta)/com.JoyWay.Stride.apk;com.JoyWay.Stride;22;1.0
Supermedium;Supermedium v1+1.0 -unknown;Supermedium v1+1.0 -unknown/Supermedium 1.0 Patched.apk;com.Supermedium.Supermedium;1;1.0
Supermedium;Supermedium v1+3 -unknown;Supermedium v1+3 -unknown/Supermedium [3].apk;com.Supermedium.Supermedium;1;3
Swarm;Swarm v730+730 -QU;Swarm v730+730 -QU/Swarm [730] S3.0.2.apk;com.sketchbox.Grapple;730;730
Sweet Escape VR;Sweet Escape VR v2+0.03 -unknown;Sweet Escape VR v2+0.03 -unknown/Sweet Escape VR 0.03 Patched.apk;com.realitysmash.sweetescape;2;0.03
Symphony of Stars;Symphony of Stars v173+1.73 -unknown;Symphony of Stars v173+1.73 -unknown/Symphony of Stars_1.73_Patched.apk;com.OnlyHuman.Ensign2vr;173;1.73
Synth Riders;Synth Riders v270+2.3.9.a8 -QU;Synth Riders v270+2.3.9.a8 -QU/Synth Riders [2.3.9.a8.270] S3.0.2.apk;com.kluge.SynthRiders;270;2.3.9.a8
TOKYO CHRONOS;TOKYO CHRONOS v31+1.0.4 -QU;TOKYO CHRONOS v31+1.0.4 -QU/TOKYO CHRONOS [1.0.4.31] S3.0.2.apk;com.MyDearest.ChronosQuest;31;1.0.4
Tetris Effect;Tetris Effect v38+1.0 -QU;Tetris Effect v38+1.0 -QU/Tetris Effect [1.0.38] S3.0.2.apk;com.enhanceexperience.tetriseffect;38;1.0
The Brookhaven Experiment;The Brookhaven Experiment v109+1.0259 -unknown;The Brookhaven Experiment v109+1.0259 -unknown/The.Brookhaven.Experiment Quest v1.0259.apk;com.Phosphor.Brookhaven;109;1.0259
The Climb 2;The Climb 2 v554+1.1 -QU;The Climb 2 v554+1.1 -QU/The Climb 2 [1.1.554] S3.0.2.apk;com.crytek.climb2;554;1.1
The Climb;The Climb v663+663.0 -QU;The Climb v663+663.0 -QU/The Climb [663.0] S3.0.2.apk;com.crytek.climb;663;663.0
The Curious Tale of the Stolen Pets;The Curious Tale of the Stolen Pets v25+1.06 -QU;The Curious Tale of the Stolen Pets v25+1.06 -QU/The Curious Tale of the Stolen Pets [1.06.25] S3.0.2.apk;com.fasttravelgames.diorama;25;1.06
The Exorcist - Legion VR;The Exorcist - Legion VR v37+1.2.0 -QU;The Exorcist - Legion VR v37+1.2.0 -QU/The Exorcist - Legion VR [1.2.0.37] S3.0.2.apk;com.wolfandwood.exorcistlegionvr;37;1.2.0
The Fight;The Fight v2+1.08 -QU;The Fight v2+1.08 -QU/The Fight [1.08.2] S3.0.2.apk;com.adamstanulewicz.TheFight;2;1.08
The Final Overs;The Final Overs v9+1.44 -QU;The Final Overs v9+1.44 -QU/TheFinalOvers [1.44.9] S3.0.2.apk;com.Mixeal.TheFinalOvers;9;1.44
The Island Odyssey! Hi Spec;The Island Odyssey! Hi Spec v1207+1.2.0.7 -unknown;The Island Odyssey! Hi Spec v1207+1.2.0.7 -unknown/TheIsland.apk;com.VRGameStudio.TheIsland;1207;1.2.0.7
The Knight of Queen;The Knight of Queen v10260+1.2.6 -QU;The Knight of Queen v10260+1.2.6 -QU/THE KNIGHT OF QUEEN [1.2.6.10260] S3.0.2.apk;com.VR_RPG_INC.THE_KNIGHT_OF_QUEEN_QUEST;10260;1.2.6
The Last place;The Last place v2+0.2 -unknown;The Last place v2+0.2 -unknown/The last place 0.2 Patched.apk;br.com.mashimobi.thelastplace;2;0.2
The Line;The Line v47+47 -QU;The Line v47+47 -QU/The Line [47] S3.0.2.apk;io.arvore.theline;47;47
The Purge Day;The Purge Day v90+1.0 -unknown;The Purge Day v90+1.0 -unknown/The Purge Day (com.RedLimbStudio.ThePurageDay) v1.0.apk;com.RedLimbStudio.ThePurageDay;90;1.0
The Room VR - A Dark Matter;The Room VR - A Dark Matter v5011+1.02 -QuestUndeground;The Room VR - A Dark Matter v5011+1.02 -QuestUndeground/The Room VR [1.02] patch+savefix.apk;com.FireproofStudios.TheRoomVR;5011;1.02
The Thrill Of The Fight;The Thrill Of The Fight v200131001+200131.1q -VRP;The Thrill Of The Fight v200131001+200131.1q -VRP/The Thrill Of The Fight v200131001 -VRP.apk;com.fyian.TheThrillOfTheFight;200131001;200131.1q
The Under Presents;The Under Presents v181+1.260 -QU;The Under Presents v181+1.260 -QU/The Under Presents v1.260.apk;com.TenderClaws.TheUnderPresents.Quest;181;1.260
The VR Titty Bar;The VR Titty Bar v1+0.1 -unknown;The VR Titty Bar v1+0.1 -unknown/VR tittybar V1.apk;com.ApexVR.ttBAR;1;0.1
The Walking Dead - Saints & Sinners;The Walking Dead - Saints & Sinners v19283909+192839 -QU;The Walking Dead - Saints & Sinners v19283909+192839 -QU/The Walking Dead - Saints & Sinners [2021.02.10 - build 192839.19283909] S3.0.2.apk;com.SDI.TWD;19283909;Shipping Stage / 2021.02.10 / build 192839
The Wizards - Dark Times;The Wizards - Dark Times v8+1.08 -QU;The Wizards - Dark Times v8+1.08 -QU/The Wizards - Dark Times [1.08] S3.0.2.apk;com.CarbonStudio.DarkTimes;8;1.08
The Wizards;The Wizards v14+1.11 -QU;The Wizards v14+1.11 -QU/The Wizards [1.11.14] patch+savefix+90Hz+CustomRes.apk;com.CarbonStudio.TheWizards;14;1.11
Thumper;Thumper v25+1.00 -QU;Thumper v25+1.00 -QU/Thumper [1.00.25] S3.0.2.apk;com.Drool.Thumper.quest;25;1.00
Tilt Brush;Tilt Brush v141+23.2-28f36f08b -QU;Tilt Brush v141+23.2-28f36f08b -QU/Tilt Brush [23.2-28f36f08b] patch+savefix+90Hz.apk;com.google.tiltbrush;141;23.2-28f36f08b
Time Stall;Time Stall v631960+1.0 -QU (b);Time Stall v631960+1.0 -QU (b)/Time Stall ['1.0'.631960] S3.0.2.apk;com.forcefieldxr.timestall;631960;1.0
Titans of Space PLUS;Titans of Space PLUS v62+1.0 -QU;Titans of Space PLUS v62+1.0 -QU/Titans of Space PLUS v1.0.62.apk;com.drashvr.titansofspacevr6dof;62;1.0
To The Top;To The Top v20+0.20 -QU;To The Top v20+0.20 -QU/TO THE TOP [0.20] S3.0.2.apk;com.electrichatgames.tothetop_al;20;0.20
Together VR;Together VR v2+1.5 -unknown;Together VR v2+1.5 -unknown/TogetherVRMv1.1.apk;com.AuroraGames.TogetherVRM;2;1.5
Topgolf with Pro Putt;Topgolf with Pro Putt v463+463 -QU;Topgolf with Pro Putt v463+463 -QU/Topgolf with Pro Putt [463] S3.0.2.apk;com.golfscope.proputt;463;463
Touring Karts PRO;Touring Karts PRO v7+1.0 -QU;Touring Karts PRO v7+1.0 -QU/Touring Karts PRO [_1.0_.7] S3.0.2.apk;com.ivanovichgames.touringkartsPRO;7;1.0
Toy Clash;Toy Clash v42+1.4.0r6 -unknown;Toy Clash v42+1.4.0r6 -unknown/Toy Clash v1.4.0r6.apk;com.fiveminlab.toyclash;42;1.4.0r6
Traffic Jams;Traffic Jams v21050311+1.0.21050311 -QU;Traffic Jams v21050311+1.0.21050311 -QU/Traffic Jams [1.0.21050311] S3.0.2.apk;nl.littlechicken.trafficjams.quest;21050311;1.0.21050311
Trash Gun;Trash Gun v11+0.11 -QU;Trash Gun v11+0.11 -QU/TrashGun [0.11] S3.0.2.apk;com.JohnRayGames.TrashGun;11;0.11
Travel The Words!;Travel The Words! v3+1.0 -QU;Travel The Words! v3+1.0 -QU/TravelTheWords - Full [1.0.3].apk;com.Studio8ight.TTW.Full;3;1.0
Tribe XR - DJ in VR;Tribe XR - DJ in VR v101+0.09.6 -QU;Tribe XR - DJ in VR v101+0.09.6 -QU/Tribe XR - DJ in VR [0.09.6.101] S3.0.2.apk;com.TribeXR.TribeXR;101;0.09.6
TripeaksDreamland VR;TripeaksDreamland VR v6+1.0 -QU;TripeaksDreamland VR v6+1.0 -QU/TriPeaksDreamland VR [01.00.6] S3.0.2.apk;de.DanielAli.TripeaksDLVRQuest;6;1.0
Triton;Triton v1+1.0 -unknown;Triton v1+1.0 -unknown/Triton VR SQ1.1.apk;com.TetraStudios.TritonVR;1;1.0
Trover Saves the Universe;Trover Saves the Universe v21+1.0 -QU;Trover Saves the Universe v21+1.0 -QU/Trover [1.0.21] patch+savefix+90Hz+CustomRes.apk;com.SquanchGames.Trover;21;1.0
Tsuro - The Game of The Path;Tsuro - The Game of The Path v53+1.14.0 -QU;Tsuro - The Game of The Path v53+1.14.0 -QU/Tsuro - The Game of The Path [1.14.0.53] S3.0.2.apk;com.Thunderbox.TsuroVR;53;1.14.0
Ultra Height - Mist City Climb;Ultra Height - Mist City Climb v2+1.7 -VRP;Ultra Height - Mist City Climb v2+1.7 -VRP/vr ultra height 1.7 new.apk;com.UltraFunGames.UltraHeightMistCityClimb;2;1.7
Ultrawings;Ultrawings v422+2.02 -QU;Ultrawings v422+2.02 -QU/Ultrawings v2.02.422.apk;com.BitPlanet.Ultrawings.Quest;422;2.02
Unstung;Unstung v351+1.2.0 -QU;Unstung v351+1.2.0 -QU/Unstung [1.2.0.351] S3.0.2.apk;com.Neomajika.Unstung;351;1.2.0
Until You Fall;Until You Fall v163081+1.0.6.163081 -QU;Until You Fall v163081+1.0.6.163081 -QU/Until You Fall [1.0.6.163081 (Release_1.0.6)] S3.0.2.apk;com.schellgames.untilyoufall;163081;1.0.6.163081 (Release_1.0.6)
VR Aim Trainer;VR Aim Trainer v1+1.0 -unknown;VR Aim Trainer v1+1.0 -unknown/VR Aim Trainer 1.0 Patched.apk;com.aim.vraimtrainer;1;1.0
VR Workout;VR Workout v4+0.9.8j -unknown;VR Workout v4+0.9.8j -unknown/VRWorkout v0.9.8a_Patched.apk;org.godotengine.vrworkout;4;0.9.8j
VRIT;VRIT v9+0.2 -QU;VRIT v9+0.2 -QU/VRIT v9+0.2 -QU.apk;com.Wasplay.VRIT;9;0.2
VRIT;VRIT v9+0.2 -QU;VRIT v9+0.2 -QU/VRIT [_0.2_.9] S3.0.2.apk;com.Wasplay.VRIT;9;0.2
VRKarts Sprint;VRKarts Sprint v28+1.18 -QU;VRKarts Sprint v28+1.18 -QU/VRKarts_Sprint [1.18.28] patch+savefix+90Hz+CustomRes.apk;com.viewpointgames.vrkarts_sprint_quest;28;1.18
VRtuos Pro;VRtuos Pro v1+2.0.3 -unknown;VRtuos Pro v1+2.0.3 -unknown/VRtuos Pro 2.0 Patched.apk;com.PavelMarceluch.VRtuosPro;1;2.0.3
Vacation Simulator;Vacation Simulator v84+1.3.0-38033 -QU;Vacation Simulator v84+1.3.0-38033 -QU/Vacation Simulator [1.3.0-38033.84] S3.0.2.apk;com.owlchemylabs.vacationsimulator;84;1.3.0-38033
Vader Immortal - Episode I;Vader Immortal - Episode I v236952+1.1.0 -QU;Vader Immortal - Episode I v236952+1.1.0 -QU/Vader Ep1 [1.1.0] patch+savefix.apk;com.ILMxLAB.VaderImmortal.ep1;236952;1.1.0
Vader Immortal - Episode II;Vader Immortal - Episode II v236948+2.0.2 -QU;Vader Immortal - Episode II v236948+2.0.2 -QU/Vader Episode 2 [2.0.2] patch+savefix.apk;com.ILMxLAB.VaderImmortal.ep2;236948;2.0.2
Vader Immortal - Episode III;Vader Immortal - Episode III v236944+3.0.2 -QU;Vader Immortal - Episode III v236944+3.0.2 -QU/Vader Episode 3 [3.0.2] patch+savefix.apk;com.ILMxLAB.VaderImmortal.ep3;236944;3.0.2
Vanishing Grace;Vanishing Grace v33+1.0.2 -QU;Vanishing Grace v33+1.0.2 -QU/Vanishing Grace [1.0.2.33] S3.0.2.apk;com.MontePerdido.VanishingGrace;33;1.0.2
Verto Studio VR;Verto Studio VR v251+2.5.1 -QU;Verto Studio VR v251+2.5.1 -QU/Verto Studio VR [2.5.1.251].apk;com.vertostudio.vertostudiovr;251;2.5.1
ViFit;ViFit v1+1.0.0 -unknown;ViFit v1+1.0.0 -unknown/ViFit v1.0.0.apk;com.VifitTraining.Vifit;1;1.0.0
Viking Days;Viking Days v21+1.0 -unknown;Viking Days v21+1.0 -unknown/Viking Days (com.vrmonkey.VikingDays) v1.0 patched.apk;com.vrmonkey.VikingDays;21;1.0
Virtual Virtual Reality;Virtual Virtual Reality v11+1.8.13 -QU;Virtual Virtual Reality v11+1.8.13 -QU/Virtual Virtual Reality [1.8.13.11].apk;com.TenderClaws.VVR.Quest;11;1.8.13
Void Racer - Extreme;Void Racer - Extreme v121+1.21 -QU;Void Racer - Extreme v121+1.21 -QU/Void Racer - Extreme [1.21.121] S3.0.2.apk;com.coplanar.vre;121;1.21
Volleyball Fever;Volleyball Fever v1+1.5.1 -QU;Volleyball Fever v1+1.5.1 -QU/Volleyball Fever [1.5.1] S3.0.2.apk;io.neuston.volleyballfever;1;1.5.1
Voxel Works;Voxel Works v9+0.3.8 -unknown;Voxel Works v9+0.3.8 -unknown/New Voxel Works Quest v0.3.8.apk;org.dammertz.vr.VoxelWorksQuest;9;0.3.8
Waifu's Spooky Space Station;Waifu's Spooky Space Station v11+1.0b -QU;Waifu's Spooky Space Station v11+1.0b -QU/Waifu's Spooky Space Station v11+1.0b -QU.apk;com.MiraiMadaGames.WSS;11;1.0b
Walkabout Mini Golf;Walkabout Mini Golf v1660+1.66 -QU;Walkabout Mini Golf v1660+1.66 -QU/Walkabout Mini Golf [1.66.1660] S3.0.2.apk;com.MightyCoconut.WalkaboutMiniGolf;1660;1.66
Waltz of the Wizard - Extended Edition;Waltz of the Wizard - Extended Edition v414+1.6.1.414 -QU;Waltz of the Wizard - Extended Edition v414+1.6.1.414 -QU/Waltz of the Wizard - Extended Edition [1.6.1.414] S2.11.apk;com.Aldin.WotW;414;1.6.1.414
Wander;Wander v3409+0.3409 -QU;Wander v3409+0.3409 -QU/Wander [0.3409] S3.0.2.apk;com.parkline.wander;3409;0.3409
Wands;Wands v788+1.6.2 -VRP;Wands v788+1.6.2 -VRP/Wands v1.6.2 -VRP.apk;com.CortopiaStudios.Wands;788;1.6.2
Wands;Wands v858+1.8.0 -QU (Q2only);Wands v858+1.8.0 -QU (Q2only)/Wands [1.8.0.858] S3.0.2.apk;com.CortopiaStudios.Wands;858;1.8.0
Warhammer 40000 - Battle Sister;Warhammer 40000 - Battle Sister v12351239+1.1.0 -QU;Warhammer 40000 - Battle Sister v12351239+1.1.0 -QU/Warhammer 40000 - Battle Sister [1.1.0.12351239] S3.0.2.apk;com.PixelToys.BattleSisters;12351239;1.1.0
Warlike Space;Warlike Space v4+1.4 -QU;Warlike Space v4+1.4 -QU/WarlikeSpace [1.4] S3.0.2.apk;com.EVR.WarlikeSpace;4;1.4
Warplanes - WW1 Fighters;Warplanes - WW1 Fighters v232+2.3.2 -QU;Warplanes - WW1 Fighters v232+2.3.2 -QU/Warplanes - WW1 Fighters [2.3.2.232] S3.0.2.apk;com.HomeNetGames.WW1oculus;232;2.3.2
Where Thoughts Go;Where Thoughts Go v38+1.26 -QU;Where Thoughts Go v38+1.26 -QU/Where Thoughts Go [1.26.38] S3.0.2.apk;com.feels.WhereThoughtsGo.Quest;38;1.26
Whirligig VR Media Player;Whirligig VR Media Player v25+4.84 -unknown;Whirligig VR Media Player v25+4.84 -unknown/Whirligig VR Media Player v4.84.apk;com.Whirligig.Whirligig;25;4.84
White Hole;White Hole v11+1.12 -QU;White Hole v11+1.12 -QU/WhiteHole [1.12.11] S3.0.2.apk;Fenrir.WhiteHole;11;1.12
Witchblood;Witchblood v183732+1.0 -unknown;Witchblood v183732+1.0 -unknown/Witchblood v1.0 Patched.apk;com.hiddenpath.Witchblood;183732;1.0
Wolves in the Walls;Wolves in the Walls v1375+1.1375 -VRP;Wolves in the Walls v1375+1.1375 -VRP/Wolves in the Walls v1.1375 -VRP.apk;com.fable.wolvesquest;1375;1.1375
Wonderglade;Wonderglade v109088216+1.9.88216 -QU;Wonderglade v109088216+1.9.88216 -QU/Wonderglade [1.9.88216.109088216] S3.0.2.apk;com.resolutiongames.wondergladesantacruz;109088216;1.9.88216
Wraith - The Oblivion - Afterlife;Wraith - The Oblivion - Afterlife v104+1.0 -QU;Wraith - The Oblivion - Afterlife v104+1.0 -QU/Wraith - The Oblivion - Afterlife [1.0.104] S3.0.2.apk;com.fasttravelgames.jukebox;104;1.0
X-BOOSTER;X-BOOSTER v100013+1.51 -QU;X-BOOSTER v100013+1.51 -QU/X-BOOSTER [1.51.100013] S3.0.2.apk;com.NiVision.XBOOSTER;100013;1.51
Yupitergrad;Yupitergrad v33+2.0.0 -QU;Yupitergrad v33+2.0.0 -QU/Yupitergrad [2.0.0.33] S3.0.2.apk;com.Gamedust.Yupitergrad;33;2.0.0
Zero Caliber - Reloaded;Zero Caliber - Reloaded v264+1.0 -QU;Zero Caliber - Reloaded v264+1.0 -QU/Zero Caliber - Reloaded v264+1.0 -QU.apk;com.XrealGames.ZcReloaded;264;1.0.264
Zombie World VR;Zombie World VR v4+1.0 -unknown;Zombie World VR v4+1.0 -unknown/Zombie World VR_1.0_Patched.apk;com.Appalga.ZombieWorldVR;4;1.0
Zombieland - Headshot Fever;Zombieland - Headshot Fever v1172+1.2.5 -QU;Zombieland - Headshot Fever v1172+1.2.5 -QU/Zombieland - Headshot Fever [1.2.5.1172] S3.0.2.apk;com.XRGames.ZombielandVR;1172;1.2.5
Zooma - Deluxe Edition;Zooma - Deluxe Edition v712+1.1.3 -unknown;Zooma - Deluxe Edition v712+1.1.3 -unknown/Zooma - Deluxe Edition v1.1.3.apk;com.GizmoVRLTD.Zooma;712;1.1.3
Zooma VR;Zooma VR v433+1.1.3 -QU;Zooma VR v433+1.1.3 -QU/Zooma [1.1.3.433] S3.0.2.apk;com.GizmoVRLTD.Zooma;433;1.1.3
exVRience Golf Club;exVRience Golf Club v68+1 -QU;exVRience Golf Club v68+1 -QU/exVRience Golf Club [1.68] S3.0.2.apk;com.exvrience.exvriencegolfclubq;68;1
Running Rclone command: sync "VRP-mirror13:Quest Games/.meta/thumbnails" "C:\Users\Oscar\Desktop\Rookie\androidsideloader\thumbnails"
Rclone error:
Rclone Output:
Running Rclone command: sync "VRP-mirror13:Quest Games/.meta/notes" "C:\Users\Oscar\Desktop\Rookie\androidsideloader\notes"
Rclone error:
Rclone Output:
Running command -s 192.168.0.101:5555 shell input keyevent KEYCODE_WAKEUP
Running command -s 192.168.0.101:5555 shell input keyevent KEYCODE_WAKEUP
Running command -s 192.168.0.101:5555 shell input keyevent KEYCODE_WAKEUP
Running command -s 192.168.0.101:5555 shell pm list packages -3
package:com.aim.vraimtrainer
package:com.CooperativeInnovations.Spaceteam
package:com.Gamedust.Yupitergrad
package:com.FireproofStudios.TheRoomVR
package:aaa.QuestAppLauncher.App
package:com.freelives.gorn
package:io.arvore.theline
package:com.crytek.climb
package:com.schellgames.untilyoufall
package:com.VerticalRobot.RedMatter
package:com.infectiousape.kingspray
package:com.Trebuchet.PrisonBossVR
package:com.TenderClaws.VVR.Quest
package:com.zoink.ghostgiant
package:com.Overrungames.Arcaxer
package:com.facebook.horizon
package:com.DigitalLode.Espire1
package:com.Drool.Thumper.quest
package:com.resolutiongames.demeo
package:com.resolutiongames.ignis
package:com.owlchemylabs.vacationsimulator
package:com.Pixelfun.FutbolinRevolution
package:com.cvr.highseas2
package:com.WenklyStudio.ElvenAssassin
package:com.holomia.missionxlite
package:com.ILMxLAB.VaderImmortal.ep1
package:com.ILMxLAB.VaderImmortal.ep2
package:com.figureout.questvr
package:com.VRKemono.RealmsofEternity
package:com.PicoPlanetDeveloping.FarmGame
package:VirtualDesktop.Android
package:de.erthu.advr
package:io.arvore.pixelripped1995
package:com.survios.Electronauts
package:com.themunky.drunknbarfightQuest
package:com.cloudheadgames.pistolwhip
package:com.odders.ohshape
package:com.beatgames.beatsaber
package:com.ViteiBackroom.Powder
package:com.enhanceexperience.tetriseffect
package:com.Sutur.DescentAlpsPreRelease
package:com.oculus.environment.prod.adobe
package:com.oculus.environment.prod.japan
package:com.tvb.cubism
package:com.halfbrick.fruitninjavr
package:com.MyronSoftware.Deisim
package:ca.StitchMedia.FlowWeaver
package:com.resolutiongames.wondergladesantacruz
package:com.oculus.environment.prod.spacestation
package:com.CortopiaStudios.Wands
package:com.emcneill.Ironlights
package:com.YourCompany.SWP_VR
package:com.ForwardXP.nuke
package:com.GreenerGames.QuestTreks
package:com.schellgames.ieytdquest
package:com.owlchemylabs.jobsimulator
package:com.polyarc.MossGame
package:com.SDI.TWD
package:com.markschramm.gravitylab
package:com.Armature.SportsScramble
package:com.melscience.melchemistryvr
package:com.coplanar.vre
package:com.coatsink.alone
package:com.coatsink.nexus
package:com.TenderClaws.TheUnderPresents.Quest
package:com.ivanovichgames.pangman
package:com.holonautic.HandPhysicsLab
package:com.whalerockindustries.testedvr
package:com.HighVoltage.Crossbow
package:com.parkline.wander
package:com.Miragesoft.RealVrFishingQ
package:com.fasttravelgames.diorama
package:com.drbeef.lambda1vr
package:com.metanaut.Gadgeteer
package:com.brennanhatton.dungeontrain
package:com.CortopiaStudios.DTRH
package:com.Thunderbox.TsuroVR
package:com.VRstudios.HoopsMadness
package:com.coinflip.ninja
package:com.hiddenpath.phoenix
package:com.scale1.sepsdinerSolo
package:com.voidroom.TeaForGod
package:com.forevr.bowling
package:com.weloveoculus.BMBF
package:com.kluge.SynthRiders
package:com.oculus.environment.prod.cyberhome
package:Settings.OculusQuest2
package:com.BigBoxVR.PopulationONE
package:com.oculus.dab2
package:com.iillusions.spacepiratetrainerquest
package:com.mixedrealms.sairentovruntethered
package:com.Armature.FailFactory
package:com.RacketFury.RF_GearVR
package:com.fyian.TheThrillOfTheFight
package:com.funktroniclabs.fuji
package:com.AlzanStudios.HPPortable
package:com.gravitysketch.gravitysketch
package:quest.eleven.forfunlabs
package:com.oculus.tv
package:com.ToastVR.RichiesPlankExperience
package:com.nextgenreality.GunClubVR
package:com.Mixeal.TheFinalOvers
package:com.Supermedium.Supermedium
package:com.enhanceexperience.rezquest
package:com.drbeef.quake2quest
package:com.chesstar.HiBow.Launcher
package:com.mightygamesgroup.shootyvr
package:com.drashvr.titansofspacevr6dof
package:com.Ikimasho.StarShaman
package:com.ilmxlab.tales
package:com.fasttravelgames.jukebox
package:com.PixelToys.DropDead
package:com.DashingCape.FoodFlinger
package:io.neuston.volleyballfever
package:com.forcefieldxr.timestall
package:com.Drifter.Kodiak
package:unity.SUPERHOT_Team.SUPERHOT_VR_QA
package:us.lighthaus.colorspace
package:com.UNIVRS.LWAVR
package:com.MiroWin.OMT
package:com.harmonixmusic.kata
package:com.fasttravelgames.apexconstruct
package:com.ndreams.shootyfruity
package:com.FlodLab.OceanCraft
package:com.nextgenreality.rush
package:com.onehamsa.RNXQ
package:com.YourCompany.RoboRecall
package:com.Chesstar.NesVR.QuestItch
package:com.Aldin.WotW
package:com.resolutiongames.codenamelazarus
package:com.AoQ.AttackOnQuest
package:com.forcefieldxr.explorevr
package:com.CyanWorlds.Myst
package:gg.trs.grappa
package:com.facebook.arvr.quillplayer
package:com.truantpixel.twomdquest
package:nl.littlechicken.trafficjams.quest
package:com.TriangleFactory.HyperDash
package:io.github.sds100.keymapper
package:com.SquirrelBytes.Hyperstacks
package:org.dammertz.vr.VoxelWorksQuest
package:com.SquanchGames.Trover
package:com.MightyCoconut.WalkaboutMiniGolf
package:jp.co.crypton.mikuvrq
package:com.Solfar.InDeath
package:com.picselica.OceanRiftFullQuest
package:com.TribeXR.TribeXR
package:com.CarbonStudio.TheWizards

View File

@@ -1 +1 @@
2.1
2.1.3.2