Compare commits
29 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c966066c67 | ||
|
|
5a1209f77d | ||
|
|
fdd1732331 | ||
|
|
e46af16db5 | ||
|
|
9f6a7044a9 | ||
|
|
f4c46184bd | ||
|
|
e7bf9ce9a7 | ||
|
|
5bf13dc655 | ||
|
|
f4cbeec974 | ||
|
|
eecaefff6a | ||
|
|
cd0feb4fd5 | ||
|
|
42aba1e8e3 | ||
|
|
7d03fce760 | ||
|
|
177133041e | ||
|
|
b563a1a859 | ||
|
|
c81081c2cd | ||
|
|
910c62530e | ||
|
|
f20a4e3954 | ||
|
|
9254d9d2bb | ||
|
|
e8c0c8928e | ||
|
|
3ad5b584d6 | ||
|
|
84a2132f9c | ||
|
|
a70fa29891 | ||
|
|
79230e1faa | ||
|
|
d1c6ac4bf6 | ||
|
|
1c0fa27d6a | ||
|
|
1f41421c56 | ||
|
|
1e5c55429c | ||
|
|
acf7040ba5 |
@@ -1,16 +1,27 @@
|
||||
RSL 2.11
|
||||
RSL 2.12
|
||||
|
||||
- updated auto-update source
|
||||
- update status text
|
||||
- change server tasks to synchronous
|
||||
- spelling fixes
|
||||
- syntax fixes
|
||||
- additional logging
|
||||
|
||||
~fenopy
|
||||
|
||||
RSL 2.11
|
||||
|
||||
- Updated rclone commands
|
||||
- Minor code cleanup/syntax fixes
|
||||
|
||||
~f
|
||||
~fenopy
|
||||
|
||||
RSL 2.10.5
|
||||
|
||||
- Added auto-offline mode when servers are offline
|
||||
- Disabled Auto-Config update
|
||||
|
||||
~f
|
||||
~fenopy
|
||||
|
||||
RSL 2.10.4
|
||||
|
||||
|
||||
27
DonorsListView.Designer.cs
generated
27
DonorsListView.Designer.cs
generated
@@ -147,8 +147,8 @@ namespace AndroidSideloader
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor;
|
||||
this.panel2.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.panel2.Controls.Add(this.DonorsListView);
|
||||
this.panel2.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.panel2.Location = new System.Drawing.Point(16, 43);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(430, 230);
|
||||
@@ -175,7 +175,7 @@ namespace AndroidSideloader
|
||||
this.newdet.AutoSize = true;
|
||||
this.newdet.BackColor = System.Drawing.Color.Transparent;
|
||||
this.newdet.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.25F, System.Drawing.FontStyle.Bold);
|
||||
this.newdet.Location = new System.Drawing.Point(156, 7);
|
||||
this.newdet.Location = new System.Drawing.Point(120, 7);
|
||||
this.newdet.Name = "newdet";
|
||||
this.newdet.Size = new System.Drawing.Size(150, 17);
|
||||
this.newdet.TabIndex = 3;
|
||||
@@ -191,11 +191,11 @@ namespace AndroidSideloader
|
||||
this.upddet.AutoSize = true;
|
||||
this.upddet.BackColor = System.Drawing.Color.Transparent;
|
||||
this.upddet.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.25F, System.Drawing.FontStyle.Bold);
|
||||
this.upddet.Location = new System.Drawing.Point(163, 7);
|
||||
this.upddet.Location = new System.Drawing.Point(120, 7);
|
||||
this.upddet.Name = "upddet";
|
||||
this.upddet.Size = new System.Drawing.Size(136, 17);
|
||||
this.upddet.Size = new System.Drawing.Size(185, 17);
|
||||
this.upddet.TabIndex = 3;
|
||||
this.upddet.Text = "Updates detected";
|
||||
this.upddet.Text = "Game Updates Detected";
|
||||
this.upddet.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
this.upddet.Visible = false;
|
||||
this.upddet.MouseDown += new System.Windows.Forms.MouseEventHandler(this.DonorsListViewForm_MouseDown);
|
||||
@@ -206,12 +206,12 @@ namespace AndroidSideloader
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.BackColor = System.Drawing.Color.Transparent;
|
||||
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 10.25F, System.Drawing.FontStyle.Bold);
|
||||
this.label2.Location = new System.Drawing.Point(101, 23);
|
||||
this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label2.Location = new System.Drawing.Point(23, 23);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(261, 17);
|
||||
this.label2.Size = new System.Drawing.Size(416, 15);
|
||||
this.label2.TabIndex = 3;
|
||||
this.label2.Text = "All RSL apps are donated by users";
|
||||
this.label2.Text = "All Apps are donated by users! Without them none of this would be possible!";
|
||||
this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
this.label2.MouseDown += new System.Windows.Forms.MouseEventHandler(this.DonorsListViewForm_MouseDown);
|
||||
this.label2.MouseMove += new System.Windows.Forms.MouseEventHandler(this.DonorsListViewForm_MouseMove);
|
||||
@@ -222,11 +222,11 @@ namespace AndroidSideloader
|
||||
this.TimerDesc.AutoSize = true;
|
||||
this.TimerDesc.BackColor = System.Drawing.Color.Transparent;
|
||||
this.TimerDesc.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.TimerDesc.Location = new System.Drawing.Point(36, 321);
|
||||
this.TimerDesc.Location = new System.Drawing.Point(28, 321);
|
||||
this.TimerDesc.Name = "TimerDesc";
|
||||
this.TimerDesc.Size = new System.Drawing.Size(390, 13);
|
||||
this.TimerDesc.Size = new System.Drawing.Size(406, 13);
|
||||
this.TimerDesc.TabIndex = 3;
|
||||
this.TimerDesc.Text = "Don\'t share free apps. RSL will extract/upload apps in background.";
|
||||
this.TimerDesc.Text = "Don\'t share free apps. Rookie will extract/upload apps in background.";
|
||||
this.TimerDesc.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
this.TimerDesc.MouseDown += new System.Windows.Forms.MouseEventHandler(this.DonorsListViewForm_MouseDown);
|
||||
this.TimerDesc.MouseMove += new System.Windows.Forms.MouseEventHandler(this.DonorsListViewForm_MouseMove);
|
||||
@@ -262,7 +262,6 @@ namespace AndroidSideloader
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Name = "DonorsListViewForm";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.TopMost = true;
|
||||
this.Load += new System.EventHandler(this.DonorsListViewForm_Load);
|
||||
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.DonorsListViewForm_MouseDown);
|
||||
this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.DonorsListViewForm_MouseMove);
|
||||
@@ -271,7 +270,7 @@ namespace AndroidSideloader
|
||||
this.panel1.PerformLayout();
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
this.Activate();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -380,7 +380,6 @@ namespace JR.Utils.GUI.Forms
|
||||
//
|
||||
// FlexibleMessageBoxForm
|
||||
//
|
||||
this.TopMost = true;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(260, 102);
|
||||
@@ -403,6 +402,8 @@ namespace JR.Utils.GUI.Forms
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxForIcon)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
this.Activate();
|
||||
}
|
||||
|
||||
private System.Windows.Forms.Button button1;
|
||||
|
||||
85
MainForm.Designer.cs
generated
85
MainForm.Designer.cs
generated
@@ -1,4 +1,7 @@
|
||||
namespace AndroidSideloader
|
||||
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace AndroidSideloader
|
||||
{
|
||||
partial class MainForm
|
||||
{
|
||||
@@ -152,6 +155,9 @@
|
||||
this.startsideloadbutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.startsideloadbutton.UseVisualStyleBackColor = false;
|
||||
this.startsideloadbutton.Click += new System.EventHandler(this.startsideloadbutton_Click);
|
||||
|
||||
ToolTip startsideloadbutton_Tooltip = new ToolTip();
|
||||
startsideloadbutton_Tooltip.SetToolTip(this.startsideloadbutton, "Sideload an APK onto your device");
|
||||
//
|
||||
// devicesbutton
|
||||
//
|
||||
@@ -173,6 +179,9 @@
|
||||
this.devicesbutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.devicesbutton.UseVisualStyleBackColor = false;
|
||||
this.devicesbutton.Click += new System.EventHandler(this.devicesbutton_Click);
|
||||
|
||||
ToolTip devicesbutton_Tooltip = new ToolTip();
|
||||
devicesbutton_Tooltip.SetToolTip(this.devicesbutton, "Rookie will attempt to reconnect to your Device");
|
||||
//
|
||||
// obbcopybutton
|
||||
//
|
||||
@@ -194,6 +203,9 @@
|
||||
this.obbcopybutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.obbcopybutton.UseVisualStyleBackColor = false;
|
||||
this.obbcopybutton.Click += new System.EventHandler(this.obbcopybutton_Click);
|
||||
|
||||
ToolTip obbcopybutton_Tooltip = new ToolTip();
|
||||
obbcopybutton_Tooltip.SetToolTip(this.obbcopybutton, "Copies an obb folder to the Android/obb folder from the device (Not all games use obb files)");
|
||||
//
|
||||
// backupbutton
|
||||
//
|
||||
@@ -215,6 +227,9 @@
|
||||
this.backupbutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.backupbutton.UseVisualStyleBackColor = false;
|
||||
this.backupbutton.Click += new System.EventHandler(this.backupbutton_Click);
|
||||
|
||||
ToolTip backupbutton_Tooltip = new ToolTip();
|
||||
backupbutton_Tooltip.SetToolTip(this.backupbutton, "Saves the game and apps data to the sideloader folder (Does not save APKs or OBBs)");
|
||||
//
|
||||
// restorebutton
|
||||
//
|
||||
@@ -236,6 +251,9 @@
|
||||
this.restorebutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.restorebutton.UseVisualStyleBackColor = false;
|
||||
this.restorebutton.Click += new System.EventHandler(this.restorebutton_Click);
|
||||
|
||||
ToolTip restorebutton_Tooltip = new ToolTip();
|
||||
restorebutton_Tooltip.SetToolTip(this.restorebutton, "Restores the game and apps data to the device (Use the Backup Game Data button first!)");
|
||||
//
|
||||
// getApkButton
|
||||
//
|
||||
@@ -257,6 +275,9 @@
|
||||
this.getApkButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.getApkButton.UseVisualStyleBackColor = false;
|
||||
this.getApkButton.Click += new System.EventHandler(this.getApkButton_Click);
|
||||
|
||||
ToolTip getApkButton_Tooltip = new ToolTip();
|
||||
getApkButton_Tooltip.SetToolTip(this.getApkButton, "Uploads the selected app to our Servers (Pick app within the Dropdown)");
|
||||
//
|
||||
// uninstallAppButton
|
||||
//
|
||||
@@ -278,6 +299,9 @@
|
||||
this.uninstallAppButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.uninstallAppButton.UseVisualStyleBackColor = false;
|
||||
this.uninstallAppButton.Click += new System.EventHandler(this.uninstallAppButton_Click);
|
||||
|
||||
ToolTip uninstallAppButton_Tooltip = new ToolTip();
|
||||
uninstallAppButton_Tooltip.SetToolTip(this.uninstallAppButton, "Uninstalls the selected app (Select within the Dropdown)");
|
||||
//
|
||||
// pullAppToDesktopBtn
|
||||
//
|
||||
@@ -299,6 +323,9 @@
|
||||
this.pullAppToDesktopBtn.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.pullAppToDesktopBtn.UseVisualStyleBackColor = false;
|
||||
this.pullAppToDesktopBtn.Click += new System.EventHandler(this.pullAppToDesktopBtn_Click);
|
||||
|
||||
ToolTip pullAppToDesktopBtn_Tooltip = new ToolTip();
|
||||
pullAppToDesktopBtn_Tooltip.SetToolTip(this.pullAppToDesktopBtn, "Extracts APK and OBB to your Desktop (Select within the Dropdown)");
|
||||
//
|
||||
// progressBar
|
||||
//
|
||||
@@ -331,6 +358,9 @@
|
||||
this.copyBulkObbButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.copyBulkObbButton.UseVisualStyleBackColor = false;
|
||||
this.copyBulkObbButton.Click += new System.EventHandler(this.copyBulkObbButton_Click);
|
||||
|
||||
ToolTip copyBulkObbButton_Tooltip = new ToolTip();
|
||||
copyBulkObbButton_Tooltip.SetToolTip(this.copyBulkObbButton, "Copies an multiple OBB folders to your device.");
|
||||
//
|
||||
// downloadInstallGameButton
|
||||
//
|
||||
@@ -351,6 +381,9 @@
|
||||
this.downloadInstallGameButton.Click += new System.EventHandler(this.downloadInstallGameButton_Click);
|
||||
this.downloadInstallGameButton.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop);
|
||||
this.downloadInstallGameButton.DragEnter += new System.Windows.Forms.DragEventHandler(this.Form1_DragEnter);
|
||||
|
||||
ToolTip downloadInstallGameButton_Tooltip = new ToolTip();
|
||||
downloadInstallGameButton_Tooltip.SetToolTip(this.downloadInstallGameButton, "Downloads and Installs the selected game from the Game List");
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
@@ -458,6 +491,9 @@
|
||||
this.aboutBtn.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.aboutBtn.UseVisualStyleBackColor = false;
|
||||
this.aboutBtn.Click += new System.EventHandler(this.aboutBtn_Click);
|
||||
|
||||
ToolTip aboutBtn_Tooltip = new ToolTip();
|
||||
aboutBtn_Tooltip.SetToolTip(this.aboutBtn, "About the Rookie App and it's amazing creators and contributors");
|
||||
//
|
||||
// settingsButton
|
||||
//
|
||||
@@ -479,6 +515,9 @@
|
||||
this.settingsButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.settingsButton.UseVisualStyleBackColor = false;
|
||||
this.settingsButton.Click += new System.EventHandler(this.settingsButton_Click);
|
||||
|
||||
ToolTip settingsButton_Tooltip = new ToolTip();
|
||||
settingsButton_Tooltip.SetToolTip(this.settingsButton, "Rookie App Settings");
|
||||
//
|
||||
// otherContainer
|
||||
//
|
||||
@@ -517,6 +556,9 @@
|
||||
this.InstallQUset.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.InstallQUset.UseVisualStyleBackColor = false;
|
||||
this.InstallQUset.Click += new System.EventHandler(this.InstallQUset_Click);
|
||||
|
||||
ToolTip InstallQUset_Tooltip = new ToolTip();
|
||||
InstallQUset_Tooltip.SetToolTip(this.InstallQUset, "After you enter your username it will create an user.json file needed for some games");
|
||||
//
|
||||
// removeQUSetting
|
||||
//
|
||||
@@ -538,6 +580,9 @@
|
||||
this.removeQUSetting.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.removeQUSetting.UseVisualStyleBackColor = false;
|
||||
this.removeQUSetting.Click += new System.EventHandler(this.removeQUSetting_Click);
|
||||
|
||||
ToolTip removeQUSetting_Tooltip = new ToolTip();
|
||||
removeQUSetting_Tooltip.SetToolTip(this.removeQUSetting, "Remove QU Settings");
|
||||
//
|
||||
// ThemeChangerButton
|
||||
//
|
||||
@@ -559,6 +604,9 @@
|
||||
this.ThemeChangerButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.ThemeChangerButton.UseVisualStyleBackColor = false;
|
||||
this.ThemeChangerButton.Click += new System.EventHandler(this.ThemeChangerButton_Click);
|
||||
|
||||
ToolTip ThemeChangerButton_Tooltip = new ToolTip();
|
||||
ThemeChangerButton_Tooltip.SetToolTip(this.ThemeChangerButton, "Change Rookie colors and fonts");
|
||||
//
|
||||
// QuestOptionsButton
|
||||
//
|
||||
@@ -580,6 +628,9 @@
|
||||
this.QuestOptionsButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.QuestOptionsButton.UseVisualStyleBackColor = false;
|
||||
this.QuestOptionsButton.Click += new System.EventHandler(this.QuestOptionsButton_Click);
|
||||
|
||||
ToolTip QuestOptionsButton_Tooltip = new ToolTip();
|
||||
QuestOptionsButton_Tooltip.SetToolTip(this.QuestOptionsButton, "Additional Quest Settings and Utilities");
|
||||
//
|
||||
// ADBWirelessDisable
|
||||
//
|
||||
@@ -601,6 +652,9 @@
|
||||
this.ADBWirelessDisable.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.ADBWirelessDisable.UseVisualStyleBackColor = false;
|
||||
this.ADBWirelessDisable.Click += new System.EventHandler(this.ADBWirelessDisable_Click);
|
||||
|
||||
ToolTip ADBWirelessDisable_Tooltip = new ToolTip();
|
||||
ADBWirelessDisable_Tooltip.SetToolTip(this.ADBWirelessDisable, "Removes Wireless ADB settings and disconnects any Wireless devices");
|
||||
//
|
||||
// ADBWirelessEnable
|
||||
//
|
||||
@@ -622,6 +676,9 @@
|
||||
this.ADBWirelessEnable.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.ADBWirelessEnable.UseVisualStyleBackColor = false;
|
||||
this.ADBWirelessEnable.Click += new System.EventHandler(this.ADBWirelessEnable_Click);
|
||||
|
||||
ToolTip ADBWirelessEnable_Tooltip = new ToolTip();
|
||||
ADBWirelessEnable_Tooltip.SetToolTip(this.ADBWirelessEnable, "Enables Wireless sideloading. Requires a connected device to activate!");
|
||||
//
|
||||
// otherDrop
|
||||
//
|
||||
@@ -677,7 +734,7 @@
|
||||
this.backupDrop.Padding = new System.Windows.Forms.Padding(7, 0, 0, 0);
|
||||
this.backupDrop.Size = new System.Drawing.Size(221, 28);
|
||||
this.backupDrop.TabIndex = 2;
|
||||
this.backupDrop.Text = "> BACKUP";
|
||||
this.backupDrop.Text = "> BACKUP / RESTORE";
|
||||
this.backupDrop.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.backupDrop.UseVisualStyleBackColor = false;
|
||||
this.backupDrop.Click += new System.EventHandler(this.backupDrop_Click);
|
||||
@@ -721,6 +778,9 @@
|
||||
this.UpdateGamesButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.UpdateGamesButton.UseVisualStyleBackColor = false;
|
||||
this.UpdateGamesButton.Click += new System.EventHandler(this.UpdateGamesButton_Click);
|
||||
|
||||
ToolTip UpdateGamesButton_Tooltip = new ToolTip();
|
||||
UpdateGamesButton_Tooltip.SetToolTip(this.UpdateGamesButton, "Refresh Game List and available updates");
|
||||
//
|
||||
// listApkButton
|
||||
//
|
||||
@@ -742,6 +802,9 @@
|
||||
this.listApkButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.listApkButton.UseVisualStyleBackColor = false;
|
||||
this.listApkButton.Click += new System.EventHandler(this.listApkButton_Click);
|
||||
|
||||
ToolTip listApkButton_Tooltip = new ToolTip();
|
||||
listApkButton_Tooltip.SetToolTip(this.listApkButton, "Refresh connected devices, installed apps, and update game list");
|
||||
//
|
||||
// sideloadDrop
|
||||
//
|
||||
@@ -793,6 +856,9 @@
|
||||
this.speedLabel.Size = new System.Drawing.Size(149, 18);
|
||||
this.speedLabel.TabIndex = 76;
|
||||
this.speedLabel.Text = "DLS: Speed in MBPS";
|
||||
|
||||
ToolTip speedLabel_Tooltip = new ToolTip();
|
||||
speedLabel_Tooltip.SetToolTip(this.speedLabel, "Current download speed, updates every second, in mbps");
|
||||
//
|
||||
// etaLabel
|
||||
//
|
||||
@@ -807,6 +873,9 @@
|
||||
this.etaLabel.Size = new System.Drawing.Size(148, 18);
|
||||
this.etaLabel.TabIndex = 75;
|
||||
this.etaLabel.Text = "ETA: HH:MM:SS Left";
|
||||
|
||||
ToolTip etaLabel_Tooltip = new ToolTip();
|
||||
etaLabel_Tooltip.SetToolTip(this.etaLabel, "Estimated time when game will finish download, updates every 5 seconds, format is HH:MM:SS");
|
||||
//
|
||||
// freeDisclaimer
|
||||
//
|
||||
@@ -1000,6 +1069,9 @@
|
||||
this.MountButton.UseVisualStyleBackColor = false;
|
||||
this.MountButton.Click += new System.EventHandler(this.MountButton_Click);
|
||||
this.MountButton.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop);
|
||||
|
||||
ToolTip MountButton_Tooltip = new ToolTip();
|
||||
MountButton_Tooltip.SetToolTip(this.MountButton, "Set the active device");
|
||||
//
|
||||
// ProgressText
|
||||
//
|
||||
@@ -1076,7 +1148,7 @@
|
||||
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);
|
||||
this.pictureBox1.Click += new System.EventHandler(this.updateAvailable_Click);
|
||||
//
|
||||
// label2
|
||||
//
|
||||
@@ -1116,7 +1188,7 @@
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(183, 17);
|
||||
this.label4.TabIndex = 90;
|
||||
this.label4.Text = "Shorcuts: CTRL+F or F2";
|
||||
this.label4.Text = "Shortcuts: CTRL+F or F2";
|
||||
this.label4.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
||||
this.label4.Visible = false;
|
||||
//
|
||||
@@ -1144,6 +1216,7 @@
|
||||
this.label6.TabIndex = 90;
|
||||
this.label6.Text = "= Update Available";
|
||||
this.label6.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
||||
this.label6.Click += new System.EventHandler(this.updateAvailable_Click);
|
||||
//
|
||||
// label7
|
||||
//
|
||||
@@ -1185,6 +1258,9 @@
|
||||
this.EnterInstallBox.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
this.EnterInstallBox.UseVisualStyleBackColor = true;
|
||||
this.EnterInstallBox.CheckedChanged += new System.EventHandler(this.EnterInstallBox_CheckedChanged);
|
||||
|
||||
ToolTip EnterInstallBox_Tooltip = new ToolTip();
|
||||
EnterInstallBox_Tooltip.SetToolTip(this.EnterInstallBox, "Use the ENTER key on your keyboard to start installation of games from the Game List");
|
||||
//
|
||||
// ADBcommandbox
|
||||
//
|
||||
@@ -1260,7 +1336,6 @@
|
||||
this.pictureBox7.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.pictureBox7.TabIndex = 74;
|
||||
this.pictureBox7.TabStop = false;
|
||||
this.pictureBox7.Click += new System.EventHandler(this.pictureBox1_Click);
|
||||
//
|
||||
// label10
|
||||
//
|
||||
|
||||
165
MainForm.cs
165
MainForm.cs
@@ -259,10 +259,13 @@ namespace AndroidSideloader
|
||||
progressBar.Style = ProgressBarStyle.Marquee;
|
||||
if (!isOffline)
|
||||
{
|
||||
ChangeTitle("Initializing Mirrors");
|
||||
ChangeTitle("Initializing Servers...");
|
||||
initMirrors(true);
|
||||
ChangeTitle("Checking if config is updated");
|
||||
ChangeTitle("Initializing Games");
|
||||
if (Properties.Settings.Default.autoUpdateConfig) {
|
||||
ChangeTitle("Checking for a new Configuration File...");
|
||||
SideloaderRCLONE.updateConfig(currentRemote);
|
||||
}
|
||||
ChangeTitle("Grabbing the Games List...");
|
||||
SideloaderRCLONE.initGames(currentRemote);
|
||||
//ChangeTitle("Syncing Game Photos");
|
||||
//ChangeTitle("Updating list of needed clean apps...");
|
||||
@@ -330,11 +333,13 @@ namespace AndroidSideloader
|
||||
await Task.Delay(100);
|
||||
Thread t2 = new Thread(() =>
|
||||
{
|
||||
ChangeTitle("Updating Game Notes...");
|
||||
SideloaderRCLONE.UpdateGameNotes(currentRemote);
|
||||
});
|
||||
|
||||
Thread t3 = new Thread(() =>
|
||||
{
|
||||
ChangeTitle("Updating Game Thumbnails (This may take a minute or two)...");
|
||||
SideloaderRCLONE.UpdateGamePhotos(currentRemote);
|
||||
});
|
||||
|
||||
@@ -349,22 +354,32 @@ namespace AndroidSideloader
|
||||
t2.IsBackground = true;
|
||||
t3.IsBackground = true;
|
||||
t4.IsBackground = true;
|
||||
|
||||
if (HasInternet)
|
||||
{
|
||||
t2.Start();
|
||||
t3.Start();
|
||||
t4.Start();
|
||||
}
|
||||
while (t2.IsAlive)
|
||||
await Task.Delay(50);
|
||||
await Task.Delay(50);
|
||||
|
||||
if (HasInternet)
|
||||
{
|
||||
t3.Start();
|
||||
}
|
||||
while (t3.IsAlive)
|
||||
await Task.Delay(50);
|
||||
await Task.Delay(50);
|
||||
|
||||
if (HasInternet)
|
||||
{
|
||||
t4.Start();
|
||||
}
|
||||
while (t4.IsAlive)
|
||||
await Task.Delay(50);
|
||||
await Task.Delay(50);
|
||||
|
||||
|
||||
progressBar.Style = ProgressBarStyle.Marquee;
|
||||
|
||||
ChangeTitle("Populating update list, please wait...\n\n");
|
||||
ChangeTitle("Populating Game Update List, Almost There!");
|
||||
|
||||
await CheckForDevice();
|
||||
if (ADB.DeviceID.Length < 5)
|
||||
@@ -373,7 +388,6 @@ namespace AndroidSideloader
|
||||
}
|
||||
listappsbtn();
|
||||
showAvailableSpace();
|
||||
intToolTips();
|
||||
downloadInstallGameButton.Enabled = true;
|
||||
isLoading = false;
|
||||
initListView();
|
||||
@@ -393,37 +407,6 @@ namespace AndroidSideloader
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void intToolTips()
|
||||
{
|
||||
ToolTip ListDevicesToolTip = new ToolTip();
|
||||
ListDevicesToolTip.SetToolTip(this.devicesbutton, "Lists the devices in a message box, also updates title bar");
|
||||
ToolTip SideloadAPKToolTip = new ToolTip();
|
||||
SideloadAPKToolTip.SetToolTip(this.startsideloadbutton, "Sideloads/Installs one apk on the android device");
|
||||
ToolTip OBBToolTip = new ToolTip();
|
||||
OBBToolTip.SetToolTip(this.obbcopybutton, "Copies an obb folder to the Android/Obb folder from the device, some games/apps need this");
|
||||
ToolTip BackupGameDataToolTip = new ToolTip();
|
||||
BackupGameDataToolTip.SetToolTip(this.backupbutton, "Saves the game and apps data to the sideloader folder, does not save apk's and obb's");
|
||||
ToolTip RestoreGameDataToolTip = new ToolTip();
|
||||
RestoreGameDataToolTip.SetToolTip(this.restorebutton, "Restores the game and apps data to the device, first use Backup Game Data button");
|
||||
ToolTip GetAPKToolTip = new ToolTip();
|
||||
GetAPKToolTip.SetToolTip(this.getApkButton, "Saves the selected apk to the folder where the sideloader is");
|
||||
ToolTip sideloadFolderToolTip = new ToolTip();
|
||||
sideloadFolderToolTip.SetToolTip(this.pullAppToDesktopBtn, "Sideloads every apk from a folder");
|
||||
ToolTip uninstallAppToolTip = new ToolTip();
|
||||
uninstallAppToolTip.SetToolTip(this.uninstallAppButton, "Uninstalls selected app");
|
||||
ToolTip userjsonToolTip = new ToolTip();
|
||||
userjsonToolTip.SetToolTip(this.ADBWirelessEnable, "After you enter your username it will create an user.json file needed for some games");
|
||||
ToolTip etaToolTip = new ToolTip();
|
||||
etaToolTip.SetToolTip(this.etaLabel, "Estimated time when game will finish download, updates every 5 seconds, format is HH:MM:SS");
|
||||
ToolTip dlsToolTip = new ToolTip();
|
||||
dlsToolTip.SetToolTip(this.speedLabel, "Current download speed, updates every second, in mbps");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void timer_Tick(object sender, EventArgs e)
|
||||
{
|
||||
ADB.RunAdbCommandToString("shell input keyevent KEYCODE_WAKEUP");
|
||||
@@ -596,7 +579,10 @@ namespace AndroidSideloader
|
||||
public static void notify(string message)
|
||||
{
|
||||
if (Properties.Settings.Default.enableMessageBoxes == true)
|
||||
FlexibleMessageBox.Show(new Form { TopMost = true, StartPosition = FormStartPosition.CenterScreen }, message);
|
||||
FlexibleMessageBox.Show(new Form {
|
||||
TopMost = true,
|
||||
StartPosition = FormStartPosition.CenterScreen
|
||||
}, message);
|
||||
}
|
||||
|
||||
private async void obbcopybutton_Click(object sender, EventArgs e)
|
||||
@@ -983,7 +969,7 @@ namespace AndroidSideloader
|
||||
|
||||
var dialog = new FolderSelectDialog
|
||||
{
|
||||
Title = "Select your folder with APKs"
|
||||
Title = "Select your folder with OBBs"
|
||||
};
|
||||
if (dialog.Show(Handle))
|
||||
{
|
||||
@@ -1015,6 +1001,9 @@ namespace AndroidSideloader
|
||||
listappsbtn();
|
||||
initListView();
|
||||
}
|
||||
|
||||
Program.form.ChangeTitle($"Processing dropped file. If Rookie freezes, please wait. Do not close Rookie!");
|
||||
|
||||
DragDropLbl.Visible = false;
|
||||
ProcessOutput output = new ProcessOutput("", "");
|
||||
ADB.WakeDevice();
|
||||
@@ -1032,6 +1021,7 @@ namespace AndroidSideloader
|
||||
{
|
||||
if (!data.Contains("+") && !data.Contains("_") && data.Contains("."))
|
||||
{
|
||||
Logger.Log($"Copying {data} to device");
|
||||
Program.form.ChangeTitle($"Copying {data} to device...");
|
||||
|
||||
Thread t2 = new Thread(() =>
|
||||
@@ -1062,6 +1052,7 @@ namespace AndroidSideloader
|
||||
string filename = file2.Replace($"{pathname}\\", "");
|
||||
|
||||
string cmd = $"C:\\RSL\\platform-tools\\aapt.exe\" dump badging \"{file2}\" | findstr -i \"package: name\"";
|
||||
Logger.Log($"Running adb command-{cmd}");
|
||||
string cmdout = ADB.RunCommandToString(cmd, file2).Output;
|
||||
cmdout = Utilities.StringUtilities.RemoveEverythingBeforeFirst(cmdout, "=");
|
||||
cmdout = Utilities.StringUtilities.RemoveEverythingAfterFirst(cmdout, " ");
|
||||
@@ -1073,7 +1064,7 @@ namespace AndroidSideloader
|
||||
t3.Interval = 150000; // 180 seconds to fail
|
||||
t3.Tick += timer_Tick4;
|
||||
t3.Start();
|
||||
Program.form.ChangeTitle($"Sideloading apk...");
|
||||
Program.form.ChangeTitle($"Sideloading apk ({filename})");
|
||||
|
||||
Thread t2 = new Thread(() =>
|
||||
{
|
||||
@@ -1086,6 +1077,7 @@ namespace AndroidSideloader
|
||||
t3.Stop();
|
||||
if (Directory.Exists($"{pathname}\\{cmdout}"))
|
||||
{
|
||||
Logger.Log($"Copying obb folder to device- {cmdout}");
|
||||
Program.form.ChangeTitle($"Copying obb folder to device...");
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
@@ -1126,6 +1118,7 @@ namespace AndroidSideloader
|
||||
string[] folders = Directory.GetDirectories(data);
|
||||
foreach (string folder in folders)
|
||||
{
|
||||
Logger.Log($"Copying {folder} to device");
|
||||
Program.form.ChangeTitle($"Copying {folder} to device...");
|
||||
|
||||
Thread t2 = new Thread(() =>
|
||||
@@ -1158,6 +1151,7 @@ namespace AndroidSideloader
|
||||
return;
|
||||
else
|
||||
{
|
||||
Logger.Log($"Sideloading custom install.txt");
|
||||
ChangeTitle("Sideloading custom install.txt automatically.");
|
||||
|
||||
Thread t1 = new Thread(() =>
|
||||
@@ -1180,6 +1174,7 @@ namespace AndroidSideloader
|
||||
string pathname = Path.GetDirectoryName(data);
|
||||
string dataname = data.Replace($"{pathname}\\", "");
|
||||
string cmd = $"\"C:\\RSL\\platform-tools\\aapt.exe\" dump badging \"{data}\" | findstr -i \"package: name\"";
|
||||
Logger.Log($"Running adb command-{cmd}");
|
||||
string cmdout = ADB.RunCommandToString(cmd, data).Output;
|
||||
cmdout = Utilities.StringUtilities.RemoveEverythingBeforeFirst(cmdout, "=");
|
||||
cmdout = Utilities.StringUtilities.RemoveEverythingAfterFirst(cmdout, " ");
|
||||
@@ -1206,6 +1201,7 @@ namespace AndroidSideloader
|
||||
|
||||
if (Directory.Exists($"{pathname}\\{cmdout}"))
|
||||
{
|
||||
Logger.Log($"Copying obb folder to device- {cmdout}");
|
||||
Program.form.ChangeTitle($"Copying obb folder to device...");
|
||||
Thread t2 = new Thread(() =>
|
||||
{
|
||||
@@ -1233,11 +1229,12 @@ namespace AndroidSideloader
|
||||
path = foldername;
|
||||
|
||||
Thread t1 = new Thread(() =>
|
||||
|
||||
{
|
||||
output += ADB.CopyOBB(path);
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
Logger.Log($"Copying obb folder to device- {path}");
|
||||
Program.form.ChangeTitle($"Copying obb folder to device ({filename})");
|
||||
t1.Start();
|
||||
|
||||
while (t1.IsAlive)
|
||||
@@ -1467,7 +1464,9 @@ namespace AndroidSideloader
|
||||
topItemIndex = gamesListView.TopItem.Index;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{ }
|
||||
{
|
||||
FlexibleMessageBox.Show($"Error building game list: {ex.Message}");
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
@@ -1475,7 +1474,9 @@ namespace AndroidSideloader
|
||||
gamesListView.TopItem = gamesListView.Items[topItemIndex];
|
||||
}
|
||||
catch (Exception ex)
|
||||
{ }
|
||||
{
|
||||
FlexibleMessageBox.Show($"Error building game list: {ex.Message}");
|
||||
}
|
||||
Thread t2 = new Thread(() =>
|
||||
{
|
||||
if (!errorOnList)
|
||||
@@ -1794,18 +1795,20 @@ namespace AndroidSideloader
|
||||
- Software orignally coded by rookie.wtf
|
||||
- Thanks to pmow for all of his work, including rclone, wonka and other projects, and for scripting the backend
|
||||
without him none of this would be possible
|
||||
- Thanks to the data team, they know who they are ;) (Especially HarryEffingPotter, no he did not put this here himself, that is perposterous.)
|
||||
- Thanks to flow for being friendly and helping every one, also congrats on being the discord server owner now! :D
|
||||
- Thanks to badcoder5000 for helping me redesign the ui
|
||||
- Thanks to gotard for the theme changer
|
||||
- Thanks to Verb8em for drawing the new icon
|
||||
- Thanks to 7zip team for 7zip :)
|
||||
- Thanks to rclone team for rclone :D
|
||||
- Thanks to https://stackoverflow.com/users/57611/erike for the folder browser dialog code
|
||||
- Thanks to Serge Weinstock for developing SergeUtils, which is used to search the combo box
|
||||
- Thanks to Mike Gold https://www.c-sharpcorner.com/members/mike-gold2 for the scrollable message box
|
||||
|
||||
- Thanks: Roma/Rookie, Pmow, Ivan, Kaladin, John, Sam Hoque, Flow, HarryEffinPotter, and the mod staff!";
|
||||
- Thanks to HarryEffinPotter for all his Rookie improvements
|
||||
- Thanks to the VRP Mod Staff, data team, and anyone else I missed!
|
||||
- Thanks to VRP members of the past and present: Roma/Rookie, Flow, Ivan, Kaladin, John, Sam Hoque
|
||||
|
||||
- Additional Thanks and Credits:
|
||||
- -- rclone https://rclone.org/
|
||||
- -- 7zip https://www.7-zip.org/
|
||||
- -- badcoder5000: for help with the UI Redesign
|
||||
- -- gotard: for the Theme Changer
|
||||
- -- Verb8em: for drawning the New Icon
|
||||
- -- ErikE: Folder Browser Dialog Code (https://stackoverflow.com/users/57611/erike)
|
||||
- -- Serge Weinstock: for developing SergeUtils, which is used to search the combobox
|
||||
- -- Mike Gold: for the scrollable message box (https://www.c-sharpcorner.com/members/mike-gold2)
|
||||
";
|
||||
|
||||
FlexibleMessageBox.Show(about);
|
||||
}
|
||||
@@ -1900,7 +1903,22 @@ without him none of this would be possible
|
||||
if (quotaTries > remotesList.Items.Count)
|
||||
{
|
||||
ShowError_QuotaExceeded();
|
||||
Application.Exit();
|
||||
|
||||
DialogResult om = MessageBox.Show("Relaunch Rookie in Offline Mode?", "Offline Mode?", MessageBoxButtons.YesNo);
|
||||
if (om == DialogResult.Yes) {
|
||||
Process pr = new Process();
|
||||
pr.StartInfo.WorkingDirectory = Application.StartupPath;
|
||||
pr.StartInfo.FileName = System.AppDomain.CurrentDomain.FriendlyName;
|
||||
pr.StartInfo.Arguments = "--offline";
|
||||
pr.Start();
|
||||
Process.GetCurrentProcess().Kill();
|
||||
}
|
||||
|
||||
if (System.Windows.Forms.Application.MessageLoop)
|
||||
{
|
||||
Process.GetCurrentProcess().Kill();
|
||||
}
|
||||
|
||||
}
|
||||
if (remotesList.SelectedIndex + 1 == remotesList.Items.Count)
|
||||
{
|
||||
@@ -1928,6 +1946,8 @@ without him none of this would be possible
|
||||
const string errorMessage =
|
||||
@"Unable to connect to Remote Server. Rookie is unable to connect to our Servers.
|
||||
|
||||
First time launching Rookie? Please relaunch and try again.
|
||||
|
||||
Things you can try:
|
||||
1) Use a third party config from the wiki (https://wiki.vrpirates.club/general_information/third-party-rclone-configs)
|
||||
2) Use Resilio for p2p downloads (https://wiki.vrpirates.club/en/Howto/Resilio-Sync-setup-guide)
|
||||
@@ -1952,7 +1972,11 @@ Things you can try:
|
||||
initListView();
|
||||
}
|
||||
progressBar.Style = ProgressBarStyle.Marquee;
|
||||
if (gamesListView.SelectedItems.Count == 0) return;
|
||||
if (gamesListView.SelectedItems.Count == 0) {
|
||||
progressBar.Style = ProgressBarStyle.Continuous;
|
||||
ChangeTitle("You must select a game from the Game List!");
|
||||
return;
|
||||
}
|
||||
string namebox = gamesListView.SelectedItems[0].ToString();
|
||||
string nameboxtranslated = Sideloader.gameNameToSimpleName(namebox);
|
||||
int count = 0;
|
||||
@@ -2011,9 +2035,12 @@ Things you can try:
|
||||
Directory.CreateDirectory(gameDirectory);
|
||||
ProcessOutput gameDownloadOutput = new ProcessOutput("", "");
|
||||
|
||||
Logger.Log($"Starting Game Download");
|
||||
Logger.Log($"rclone copy \"{currentRemote}:{SideloaderRCLONE.RcloneGamesFolder}/{gameName}\"");
|
||||
|
||||
Thread t1 = new Thread(() =>
|
||||
{
|
||||
gameDownloadOutput = RCLONE.runRcloneCommand($"copy \"{currentRemote}:{SideloaderRCLONE.RcloneGamesFolder}/{gameName}\" \"{Environment.CurrentDirectory}\\{gameName}\" --progress --transfers 1 --multi-thread-streams 0", Properties.Settings.Default.BandwithLimit);
|
||||
gameDownloadOutput = RCLONE.runRcloneCommand($"copy \"{currentRemote}:{SideloaderRCLONE.RcloneGamesFolder}/{gameName}\" \"{Environment.CurrentDirectory}\\{gameName}\" --progress --rc --transfers 1 --multi-thread-streams 1 --checkers 1", Properties.Settings.Default.BandwithLimit);
|
||||
});
|
||||
t1.IsBackground = true;
|
||||
t1.Start();
|
||||
@@ -2079,8 +2106,14 @@ Things you can try:
|
||||
}
|
||||
if (removedownloading)
|
||||
{
|
||||
ChangeTitle("Deleting game files", false);
|
||||
try { Directory.Delete(Environment.CurrentDirectory + "\\" + gameName, true); } catch (Exception ex) { FlexibleMessageBox.Show($"Error deleting game files: {ex.Message}"); }
|
||||
ChangeTitle("Deleting game files", false);
|
||||
try
|
||||
{
|
||||
Directory.Delete(Environment.CurrentDirectory + "\\" + gameName, true);
|
||||
}
|
||||
catch (Exception ex) {
|
||||
FlexibleMessageBox.Show($"Error deleting game files: {ex.Message}");
|
||||
}
|
||||
ChangeTitle("");
|
||||
break;
|
||||
}
|
||||
@@ -2833,9 +2866,9 @@ Things you can try:
|
||||
}
|
||||
|
||||
|
||||
private void pictureBox1_Click(object sender, EventArgs e)
|
||||
private void updateAvailable_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
// do filtering!
|
||||
}
|
||||
|
||||
private void EnterInstallBox_CheckedChanged(object sender, EventArgs e)
|
||||
|
||||
3
NewApps.Designer.cs
generated
3
NewApps.Designer.cs
generated
@@ -133,7 +133,6 @@ namespace AndroidSideloader
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
|
||||
this.Name = "NewApps";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.TopMost = true;
|
||||
this.Load += new System.EventHandler(this.NewApps_Load);
|
||||
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.label2_MouseDown);
|
||||
this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.label2_MouseMove);
|
||||
@@ -141,7 +140,7 @@ namespace AndroidSideloader
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
this.Activate();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
3
QuestForm.Designer.cs
generated
3
QuestForm.Designer.cs
generated
@@ -689,12 +689,11 @@ namespace AndroidSideloader
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "Quest settings";
|
||||
this.TopMost = true;
|
||||
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.QuestForm_FormClosed);
|
||||
this.Load += new System.EventHandler(this.QuestForm_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
this.Activate();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
19
RCLONE.cs
19
RCLONE.cs
@@ -36,7 +36,10 @@ namespace AndroidSideloader
|
||||
//Run rclone command
|
||||
public static ProcessOutput runRcloneCommand(string command, string bandwithLimit = "")
|
||||
{
|
||||
if (!MainForm.HasInternet || MainForm.isOffline) return new ProcessOutput("", "No internet");
|
||||
if (!MainForm.HasInternet || MainForm.isOffline)
|
||||
{
|
||||
return new ProcessOutput("", "No internet");
|
||||
}
|
||||
|
||||
ProcessOutput prcoutput = new ProcessOutput();
|
||||
//Rclone output is unicode, else it will show garbage instead of unicode characters
|
||||
@@ -105,8 +108,20 @@ namespace AndroidSideloader
|
||||
prcoutput.Output = output;
|
||||
prcoutput.Error = error;
|
||||
}
|
||||
|
||||
if (!output.Contains("Game Name;Release Name;") && !output.Contains("package:") && !output.Contains(".meta"))
|
||||
Logger.Log($"Rclone error: {error}\nRclone Output: {output}");
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(error))
|
||||
{
|
||||
Logger.Log($"Rclone error: {error}\n");
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(output))
|
||||
{
|
||||
Logger.Log($"Rclone Output: {output}");
|
||||
}
|
||||
}
|
||||
|
||||
if (output.Contains("There is not enough space"))
|
||||
{
|
||||
FlexibleMessageBox.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");
|
||||
|
||||
20
README.md
20
README.md
@@ -8,22 +8,8 @@ androidsideloader uses the GPL license, any forks of it must have their source c
|
||||
|
||||
## !IMPORTANT!
|
||||
|
||||
This app may be buggy and have problems, I will recode it from scratch ~~when MAUI will be released (This september) and a linux port will be available, making RSL cross-platform.~~
|
||||
Since microsoft delayed MAUI and they don't support linux, I decided to try to rewrite it in go, a language that I started learning recently, so there is no ETA for that.
|
||||
|
||||
### This app might get detected as malware, however both the sideloader and the sideloader launcher are open source
|
||||
This app may be buggy and have problems.
|
||||
|
||||
### This app might get detected as malware, however both the sideloader and the sideloader launcher are open source. And obviously, it isn't.
|
||||
See:
|
||||
https://www.virustotal.com/gui/file/977105693610cf360fc29339b918e224180ba393ba05a64b6255af3845cbf376/relations
|
||||
|
||||
## Special thanks to
|
||||
- [Everyone who donated!](https://raw.githubusercontent.com/nerdunit/androidsideloader/master/donators.txt)
|
||||
- pmow for all of his work, including rclone, wonka and other projects
|
||||
- flow for being friendly and helping every one
|
||||
- succ for creating and maintaining the server
|
||||
- badcoder5000 for redesigning the UI
|
||||
- gotard for the theme changer
|
||||
- [7zip](https://www.7-zip.org/) team for [7zip](https://www.7-zip.org/) :)
|
||||
- [rclone](https://rclone.org/) team for [rclone](https://rclone.org/) :D
|
||||
- [erike](https://stackoverflow.com/users/57611/erike) for the folder browser dialog code
|
||||
- Serge Weinstock for developing SergeUtils, which is used to search the combo box
|
||||
- https://www.c-sharpcorner.com/members/mike-gold2 for the scrollable message box
|
||||
|
||||
47
SettingsForm.Designer.cs
generated
47
SettingsForm.Designer.cs
generated
@@ -33,6 +33,7 @@
|
||||
this.enableMessageBoxesCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.resetSettingsButton = new System.Windows.Forms.Button();
|
||||
this.deleteAfterInstallCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.updateConfigCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.userJsonOnGameInstall = new System.Windows.Forms.CheckBox();
|
||||
this.BandwithTextbox = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
@@ -57,7 +58,7 @@
|
||||
this.checkForUpdatesCheckBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.checkForUpdatesCheckBox.Location = new System.Drawing.Point(12, 12);
|
||||
this.checkForUpdatesCheckBox.Name = "checkForUpdatesCheckBox";
|
||||
this.checkForUpdatesCheckBox.Size = new System.Drawing.Size(148, 22);
|
||||
this.checkForUpdatesCheckBox.Size = new System.Drawing.Size(165, 22);
|
||||
this.checkForUpdatesCheckBox.TabIndex = 0;
|
||||
this.checkForUpdatesCheckBox.Text = "Check for updates";
|
||||
this.checkForUpdatesCheckBox.UseVisualStyleBackColor = true;
|
||||
@@ -87,7 +88,7 @@
|
||||
this.enableMessageBoxesCheckBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.enableMessageBoxesCheckBox.Location = new System.Drawing.Point(12, 39);
|
||||
this.enableMessageBoxesCheckBox.Name = "enableMessageBoxesCheckBox";
|
||||
this.enableMessageBoxesCheckBox.Size = new System.Drawing.Size(309, 22);
|
||||
this.enableMessageBoxesCheckBox.Size = new System.Drawing.Size(347, 22);
|
||||
this.enableMessageBoxesCheckBox.TabIndex = 1;
|
||||
this.enableMessageBoxesCheckBox.Text = "Enable Message Boxes on task completed";
|
||||
this.enableMessageBoxesCheckBox.UseVisualStyleBackColor = true;
|
||||
@@ -117,20 +118,33 @@
|
||||
this.deleteAfterInstallCheckBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.deleteAfterInstallCheckBox.Location = new System.Drawing.Point(12, 65);
|
||||
this.deleteAfterInstallCheckBox.Name = "deleteAfterInstallCheckBox";
|
||||
this.deleteAfterInstallCheckBox.Size = new System.Drawing.Size(288, 22);
|
||||
this.deleteAfterInstallCheckBox.Size = new System.Drawing.Size(327, 22);
|
||||
this.deleteAfterInstallCheckBox.TabIndex = 3;
|
||||
this.deleteAfterInstallCheckBox.Text = "Delete games after download and install";
|
||||
this.deleteAfterInstallCheckBox.UseVisualStyleBackColor = true;
|
||||
this.deleteAfterInstallCheckBox.CheckedChanged += new System.EventHandler(this.deleteAfterInstallCheckBox_CheckedChanged);
|
||||
//
|
||||
// updateConfigCheckBox
|
||||
//
|
||||
this.updateConfigCheckBox.AutoSize = true;
|
||||
this.updateConfigCheckBox.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.updateConfigCheckBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.updateConfigCheckBox.Location = new System.Drawing.Point(12, 92);
|
||||
this.updateConfigCheckBox.Name = "updateConfigCheckBox";
|
||||
this.updateConfigCheckBox.Size = new System.Drawing.Size(235, 22);
|
||||
this.updateConfigCheckBox.TabIndex = 6;
|
||||
this.updateConfigCheckBox.Text = "Update config automatically";
|
||||
this.updateConfigCheckBox.UseVisualStyleBackColor = true;
|
||||
this.updateConfigCheckBox.CheckedChanged += new System.EventHandler(this.updateConfigCheckBox_CheckedChanged);
|
||||
//
|
||||
// userJsonOnGameInstall
|
||||
//
|
||||
this.userJsonOnGameInstall.AutoSize = true;
|
||||
this.userJsonOnGameInstall.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.userJsonOnGameInstall.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.userJsonOnGameInstall.Location = new System.Drawing.Point(12, 93);
|
||||
this.userJsonOnGameInstall.Location = new System.Drawing.Point(12, 119);
|
||||
this.userJsonOnGameInstall.Name = "userJsonOnGameInstall";
|
||||
this.userJsonOnGameInstall.Size = new System.Drawing.Size(243, 22);
|
||||
this.userJsonOnGameInstall.Size = new System.Drawing.Size(275, 22);
|
||||
this.userJsonOnGameInstall.TabIndex = 9;
|
||||
this.userJsonOnGameInstall.Text = "Push random user.json on install";
|
||||
this.userJsonOnGameInstall.UseVisualStyleBackColor = true;
|
||||
@@ -156,7 +170,7 @@
|
||||
this.label1.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.label1.Location = new System.Drawing.Point(40, 273);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(245, 18);
|
||||
this.label1.Size = new System.Drawing.Size(281, 18);
|
||||
this.label1.TabIndex = 12;
|
||||
this.label1.Text = "Download speed limiter, 0 to disable";
|
||||
//
|
||||
@@ -286,9 +300,9 @@
|
||||
this.CblindBox.AutoSize = true;
|
||||
this.CblindBox.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.CblindBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.CblindBox.Location = new System.Drawing.Point(12, 119);
|
||||
this.CblindBox.Location = new System.Drawing.Point(12, 145);
|
||||
this.CblindBox.Name = "CblindBox";
|
||||
this.CblindBox.Size = new System.Drawing.Size(182, 22);
|
||||
this.CblindBox.Size = new System.Drawing.Size(204, 22);
|
||||
this.CblindBox.TabIndex = 9;
|
||||
this.CblindBox.Text = "Enable colorblind mode";
|
||||
this.CblindBox.UseVisualStyleBackColor = true;
|
||||
@@ -300,9 +314,9 @@
|
||||
this.nodevicemodeBox.AutoSize = true;
|
||||
this.nodevicemodeBox.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.nodevicemodeBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.nodevicemodeBox.Location = new System.Drawing.Point(12, 170);
|
||||
this.nodevicemodeBox.Location = new System.Drawing.Point(12, 196);
|
||||
this.nodevicemodeBox.Name = "nodevicemodeBox";
|
||||
this.nodevicemodeBox.Size = new System.Drawing.Size(181, 22);
|
||||
this.nodevicemodeBox.Size = new System.Drawing.Size(202, 22);
|
||||
this.nodevicemodeBox.TabIndex = 9;
|
||||
this.nodevicemodeBox.Text = "Enable no device mode";
|
||||
this.nodevicemodeBox.UseVisualStyleBackColor = true;
|
||||
@@ -313,9 +327,9 @@
|
||||
this.bmbfBox.AutoSize = true;
|
||||
this.bmbfBox.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.bmbfBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.bmbfBox.Location = new System.Drawing.Point(12, 144);
|
||||
this.bmbfBox.Location = new System.Drawing.Point(12, 170);
|
||||
this.bmbfBox.Name = "bmbfBox";
|
||||
this.bmbfBox.Size = new System.Drawing.Size(281, 22);
|
||||
this.bmbfBox.Size = new System.Drawing.Size(316, 22);
|
||||
this.bmbfBox.TabIndex = 9;
|
||||
this.bmbfBox.Text = "Enable BMBF song zips drag and drop";
|
||||
this.bmbfBox.UseVisualStyleBackColor = true;
|
||||
@@ -326,9 +340,9 @@
|
||||
this.AutoReinstBox.AutoSize = true;
|
||||
this.AutoReinstBox.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.AutoReinstBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.AutoReinstBox.Location = new System.Drawing.Point(12, 196);
|
||||
this.AutoReinstBox.Location = new System.Drawing.Point(12, 222);
|
||||
this.AutoReinstBox.Name = "AutoReinstBox";
|
||||
this.AutoReinstBox.Size = new System.Drawing.Size(280, 22);
|
||||
this.AutoReinstBox.Size = new System.Drawing.Size(322, 22);
|
||||
this.AutoReinstBox.TabIndex = 9;
|
||||
this.AutoReinstBox.Text = "Enable auto reinstall upon install failure";
|
||||
this.AutoReinstBox.UseVisualStyleBackColor = true;
|
||||
@@ -354,6 +368,7 @@
|
||||
this.Controls.Add(this.nodevicemodeBox);
|
||||
this.Controls.Add(this.CblindBox);
|
||||
this.Controls.Add(this.userJsonOnGameInstall);
|
||||
this.Controls.Add(this.updateConfigCheckBox);
|
||||
this.Controls.Add(this.deleteAfterInstallCheckBox);
|
||||
this.Controls.Add(this.enableMessageBoxesCheckBox);
|
||||
this.Controls.Add(this.button1);
|
||||
@@ -369,13 +384,12 @@
|
||||
this.ShowIcon = false;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "Settings";
|
||||
this.TopMost = true;
|
||||
this.Load += new System.EventHandler(this.SettingsForm_Load);
|
||||
this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.SettingsForm_KeyPress);
|
||||
this.Leave += new System.EventHandler(this.SettingsForm_Leave);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
this.Activate();
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -385,6 +399,7 @@
|
||||
private System.Windows.Forms.CheckBox enableMessageBoxesCheckBox;
|
||||
private System.Windows.Forms.Button resetSettingsButton;
|
||||
private System.Windows.Forms.CheckBox deleteAfterInstallCheckBox;
|
||||
private System.Windows.Forms.CheckBox updateConfigCheckBox;
|
||||
private System.Windows.Forms.CheckBox userJsonOnGameInstall;
|
||||
private System.Windows.Forms.TextBox BandwithTextbox;
|
||||
private System.Windows.Forms.Label label1;
|
||||
|
||||
@@ -31,6 +31,7 @@ namespace AndroidSideloader
|
||||
checkForUpdatesCheckBox.Checked = Properties.Settings.Default.checkForUpdates;
|
||||
enableMessageBoxesCheckBox.Checked = Properties.Settings.Default.enableMessageBoxes;
|
||||
deleteAfterInstallCheckBox.Checked = Properties.Settings.Default.deleteAllAfterInstall;
|
||||
updateConfigCheckBox.Checked = Properties.Settings.Default.autoUpdateConfig;
|
||||
userJsonOnGameInstall.Checked = Properties.Settings.Default.userJsonOnGameInstall;
|
||||
nodevicemodeBox.Checked = Properties.Settings.Default.nodevicemode;
|
||||
bmbfBox.Checked = Properties.Settings.Default.BMBFchecked;
|
||||
@@ -141,6 +142,11 @@ namespace AndroidSideloader
|
||||
Properties.Settings.Default.deleteAllAfterInstall = deleteAfterInstallCheckBox.Checked;
|
||||
}
|
||||
|
||||
private void updateConfigCheckBox_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.autoUpdateConfig = updateConfigCheckBox.Checked;
|
||||
}
|
||||
|
||||
private void userJsonOnGameInstall_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.userJsonOnGameInstall = userJsonOnGameInstall.Checked;
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
|
||||
namespace AndroidSideloader
|
||||
{
|
||||
@@ -46,22 +47,25 @@ namespace AndroidSideloader
|
||||
|
||||
public static void UpdateNouns(string remote)
|
||||
{
|
||||
RCLONE.runRcloneCommand($"sync \"{remote}:{RcloneGamesFolder}/.meta/nouns\" \"{Nouns}\"");
|
||||
Logger.Log($"Updating Nouns");
|
||||
RCLONE.runRcloneCommand($"sync \"{remote}:{RcloneGamesFolder}/.meta/nouns\" \"{Nouns}\" --http-no-head --transfers 2 --multi-thread-streams 1");
|
||||
}
|
||||
|
||||
public static void UpdateGamePhotos(string remote)
|
||||
{
|
||||
RCLONE.runRcloneCommand($"sync \"{remote}:{RcloneGamesFolder}/.meta/thumbnails\" \"{ThumbnailsFolder}\"");
|
||||
Logger.Log($"Updating Thumbnails");
|
||||
RCLONE.runRcloneCommand($"sync \"{remote}:{RcloneGamesFolder}/.meta/thumbnails\" \"{ThumbnailsFolder}\" --http-no-head --transfers 2 --multi-thread-streams 1");
|
||||
}
|
||||
|
||||
public static void UpdateGameNotes(string remote)
|
||||
{
|
||||
|
||||
RCLONE.runRcloneCommand($"sync \"{remote}:{RcloneGamesFolder}/.meta/notes\" \"{NotesFolder}\"");
|
||||
Logger.Log($"Updating Game Notes");
|
||||
RCLONE.runRcloneCommand($"sync \"{remote}:{RcloneGamesFolder}/.meta/notes\" \"{NotesFolder}\" --http-no-head --transfers 2 --multi-thread-streams 1");
|
||||
}
|
||||
|
||||
public static void RefreshRemotes()
|
||||
{
|
||||
Logger.Log($"Refresh / List Remotes");
|
||||
RemotesList.Clear();
|
||||
var remotes = RCLONE.runRcloneCommand("listremotes").Output.Split('\n');
|
||||
|
||||
@@ -82,6 +86,8 @@ namespace AndroidSideloader
|
||||
|
||||
public static void initGames(string remote)
|
||||
{
|
||||
Logger.Log($"Initializing Games List");
|
||||
|
||||
gameProperties.Clear();
|
||||
games.Clear();
|
||||
string tempGameList = RCLONE.runRcloneCommand($"cat \"{remote}:{RcloneGamesFolder}/VRP-GameList.txt\"").Output;
|
||||
@@ -108,6 +114,7 @@ namespace AndroidSideloader
|
||||
|
||||
public static void updateConfig(string remote)
|
||||
{
|
||||
Logger.Log($"Attempting to Update Config");
|
||||
try
|
||||
{
|
||||
string configUrl = "https://wiki.vrpirates.club/downloads/vrp.download.config";
|
||||
@@ -117,13 +124,55 @@ namespace AndroidSideloader
|
||||
{
|
||||
string resultString = responseReader.ReadToEnd();
|
||||
|
||||
if (File.Exists(Environment.CurrentDirectory + "\\rclone\\vrp.download.config"))
|
||||
File.Delete(Environment.CurrentDirectory + "\\rclone\\vrp.download.config");
|
||||
File.Create(Environment.CurrentDirectory + "\\rclone\\vrp.download.config").Close();
|
||||
File.WriteAllText(Environment.CurrentDirectory + "\\rclone\\vrp.download.config", resultString);
|
||||
Logger.Log($"Retrived updated config from: {configUrl}");
|
||||
|
||||
if (File.Exists(Environment.CurrentDirectory + "\\rclone\\vrp.download.config_new"))
|
||||
File.Delete(Environment.CurrentDirectory + "\\rclone\\vrp.download.config_new");
|
||||
File.Create(Environment.CurrentDirectory + "\\rclone\\vrp.download.config_new").Close();
|
||||
File.WriteAllText(Environment.CurrentDirectory + "\\rclone\\vrp.download.config_new", resultString);
|
||||
|
||||
if (!File.Exists(Environment.CurrentDirectory + "\\rclone\\hash.txt"))
|
||||
File.Create(Environment.CurrentDirectory + "\\rclone\\hash.txt").Close();
|
||||
|
||||
string newConfig = CalculateMD5(Environment.CurrentDirectory + "\\rclone\\vrp.download.config_new");
|
||||
string oldConfig = File.ReadAllText(Environment.CurrentDirectory + "\\rclone\\hash.txt");
|
||||
|
||||
if (!File.Exists(Environment.CurrentDirectory + "\\rclone\\vrp.download.config"))
|
||||
oldConfig = "Config Doesnt Exist!";
|
||||
|
||||
Logger.Log($"Online Config Hash: {newConfig}; Local Config Hash: {oldConfig}");
|
||||
|
||||
if (newConfig != oldConfig)
|
||||
{
|
||||
Logger.Log($"Updated Config Hash is different than the current Config. Updating Configuration File.");
|
||||
|
||||
if (File.Exists(Environment.CurrentDirectory + "\\rclone\\vrp.download.config"))
|
||||
File.Delete(Environment.CurrentDirectory + "\\rclone\\vrp.download.config");
|
||||
File.Move(Environment.CurrentDirectory + "\\rclone\\vrp.download.config_new", Environment.CurrentDirectory + "\\rclone\\vrp.download.config");
|
||||
|
||||
File.WriteAllText(Environment.CurrentDirectory + "\\rclone\\hash.txt", string.Empty);
|
||||
File.WriteAllText(Environment.CurrentDirectory + "\\rclone\\hash.txt", newConfig);
|
||||
} else
|
||||
{
|
||||
Logger.Log($"Updated Config Hash matches last download. Not updating.");
|
||||
|
||||
if (File.Exists(Environment.CurrentDirectory + "\\rclone\\vrp.download.config_new"))
|
||||
File.Delete(Environment.CurrentDirectory + "\\rclone\\vrp.download.config_new");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
static string CalculateMD5(string filename)
|
||||
{
|
||||
using (var md5 = MD5.Create())
|
||||
{
|
||||
using (var stream = File.OpenRead(filename))
|
||||
{
|
||||
var hash = md5.ComputeHash(stream);
|
||||
return BitConverter.ToString(hash).Replace("-", "").ToLowerInvariant();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
3
UpdateForm.Designer.cs
generated
3
UpdateForm.Designer.cs
generated
@@ -153,7 +153,6 @@ namespace AndroidSideloader
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
|
||||
this.Name = "UpdateForm";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.TopMost = true;
|
||||
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.UpdateForm_MouseDown);
|
||||
this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.UpdateForm_MouseMove);
|
||||
this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.UpdateForm_MouseUp);
|
||||
@@ -161,7 +160,7 @@ namespace AndroidSideloader
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
this.Activate();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace AndroidSideloader
|
||||
private static string RawGitHubUrl;
|
||||
private static string GitHubUrl;
|
||||
|
||||
static readonly public string LocalVersion = "2.11";
|
||||
static readonly public string LocalVersion = "2.12";
|
||||
public static string currentVersion = string.Empty;
|
||||
public static string changelog = string.Empty;
|
||||
|
||||
@@ -30,9 +30,10 @@ namespace AndroidSideloader
|
||||
currentVersion = client.GetStringAsync($"{RawGitHubUrl}/master/version").Result;
|
||||
changelog = client.GetStringAsync($"{RawGitHubUrl}/master/changelog.txt").Result;
|
||||
client.Dispose();
|
||||
currentVersion = currentVersion.Trim();
|
||||
}
|
||||
catch { return false; }
|
||||
return LocalVersion != currentVersion;
|
||||
return LocalVersion.Trim() != currentVersion;
|
||||
}
|
||||
|
||||
//Call this to ask the user if they want to update
|
||||
@@ -58,7 +59,7 @@ namespace AndroidSideloader
|
||||
var fileClient = new WebClient();
|
||||
ServicePointManager.Expect100Continue = true;
|
||||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
|
||||
Logger.Log($"Downloading update from {RawGitHubUrl}/releases/download/v{currentVersion}/{AppName}.exe to {AppName} v{currentVersion}.exe");
|
||||
Logger.Log($"Downloading update from {GitHubUrl}/releases/download/v{currentVersion}/{AppName}.exe to {AppName} v{currentVersion}.exe");
|
||||
fileClient.DownloadFile($"{GitHubUrl}/releases/download/v{currentVersion}/{AppName}.exe", $"{AppName} v{currentVersion}.exe");
|
||||
fileClient.Dispose();
|
||||
Logger.Log($"Starting {AppName} v{currentVersion}.exe");
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
RSL 2.10.4
|
||||
RSL 2.12
|
||||
|
||||
Made mirror ID start at first again.
|
||||
- fixed issue with configuration always updating
|
||||
- fixed github version vs app version comparison
|
||||
- fixed github download url
|
||||
- restored "auto update config" checkbox
|
||||
- fixed tooltips; added additional tooltips to all menu items
|
||||
- gui fixes and updates to game donation menu
|
||||
- additional logging and on-screen notifications
|
||||
|
||||
~pmow
|
||||
~fenopy
|
||||
Reference in New Issue
Block a user