Compare commits
22 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a9e11e3734 | ||
|
|
ca742146d9 | ||
|
|
de47ab6ad3 | ||
|
|
9cff4a32b2 | ||
|
|
1744ef86bf | ||
|
|
46b3bafeb7 | ||
|
|
76b372f822 | ||
|
|
782485edd0 | ||
|
|
2bfb402c25 | ||
|
|
13e1866820 | ||
|
|
5fbe50b2f9 | ||
|
|
d747596ce1 | ||
|
|
696fff3f5d | ||
|
|
87108d5640 | ||
|
|
f48d2ef40d | ||
|
|
df2e35d683 | ||
|
|
19074465a0 | ||
|
|
7d8e143963 | ||
|
|
48c004794c | ||
|
|
b011b3e7a2 | ||
|
|
43daff617a | ||
|
|
ef6a1dc5a4 |
21
.gitignore
vendored
21
.gitignore
vendored
@@ -1,21 +1,8 @@
|
||||
################################################################################
|
||||
# This .gitignore file was automatically created by Microsoft(R) Visual Studio.
|
||||
################################################################################
|
||||
*.pdb
|
||||
*.xml
|
||||
*.xsd
|
||||
bin/
|
||||
adb/
|
||||
rclone/
|
||||
thumbnails/
|
||||
notes/
|
||||
AndroidSideloader.csproj.user
|
||||
|
||||
.vs/
|
||||
/.vs/AndroidSideloader/v16/.suo
|
||||
/adb/adb.exe
|
||||
installedPackages.json
|
||||
AndroidSideloader.csproj.user
|
||||
AndroidSideloader.csproj.user
|
||||
AndroidSideloader.csproj.user
|
||||
/AndroidSideloader v2.1.exe
|
||||
/crashlog.txt
|
||||
/debuglog.txt
|
||||
bin/
|
||||
packages/
|
||||
@@ -139,6 +139,15 @@
|
||||
<Reference Include="Costura, Version=4.1.0.0, Culture=neutral, PublicKeyToken=9919ef960d84173d, processorArchitecture=MSIL">
|
||||
<HintPath>packages\Costura.Fody.4.1.0\lib\net40\Costura.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.WebView2.Core, Version=1.0.1072.54, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
|
||||
<HintPath>packages\Microsoft.Web.WebView2.1.0.1072.54\lib\net45\Microsoft.Web.WebView2.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.WebView2.WinForms, Version=1.0.1072.54, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
|
||||
<HintPath>packages\Microsoft.Web.WebView2.1.0.1072.54\lib\net45\Microsoft.Web.WebView2.WinForms.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.WebView2.Wpf, Version=1.0.1072.54, Culture=neutral, PublicKeyToken=2a8ab48044d2601e, processorArchitecture=MSIL">
|
||||
<HintPath>packages\Microsoft.Web.WebView2.1.0.1072.54\lib\net45\Microsoft.Web.WebView2.Wpf.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
@@ -336,6 +345,7 @@
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('packages\Fody.6.0.0\build\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Fody.6.0.0\build\Fody.targets'))" />
|
||||
<Error Condition="!Exists('packages\Costura.Fody.4.1.0\build\Costura.Fody.props')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Costura.Fody.4.1.0\build\Costura.Fody.props'))" />
|
||||
<Error Condition="!Exists('packages\Microsoft.Web.WebView2.1.0.1072.54\build\Microsoft.Web.WebView2.targets')" Text="$([System.String]::Format('$(ErrorText)', 'packages\Microsoft.Web.WebView2.1.0.1072.54\build\Microsoft.Web.WebView2.targets'))" />
|
||||
</Target>
|
||||
<PropertyGroup>
|
||||
<PreBuildEvent>
|
||||
@@ -345,4 +355,5 @@
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
<Import Project="packages\Microsoft.Web.WebView2.1.0.1072.54\build\Microsoft.Web.WebView2.targets" Condition="Exists('packages\Microsoft.Web.WebView2.1.0.1072.54\build\Microsoft.Web.WebView2.targets')" />
|
||||
</Project>
|
||||
|
||||
60
App.config
60
App.config
@@ -36,13 +36,13 @@
|
||||
<value>Microsoft Sans Serif, 11.25pt</value>
|
||||
</setting>
|
||||
<setting name="BackPicturePath" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="SpoofGames" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="BandwidthLimit" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="BigFontStyle" serializeAs="String">
|
||||
<value>Microsoft Sans Serif, 14pt</value>
|
||||
@@ -51,19 +51,19 @@
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="IPAddress" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="InstalledApps" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="ADBPath" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="QUsett" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="QuChecked" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="QUhz" serializeAs="String">
|
||||
<value>0</value>
|
||||
@@ -81,28 +81,28 @@
|
||||
<value>Change Me</value>
|
||||
</setting>
|
||||
<setting name="QUString" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="MainDir" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="QUStringF" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="delsh" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="CurrPckg" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="ADBFolder" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="WirelessADB" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="CurrentGamename" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="PackageNameToCB" serializeAs="String">
|
||||
<value>False</value>
|
||||
@@ -114,16 +114,16 @@
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="CurrentLogPath" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="CurrentLogName" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="CurrentCrashPath" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="CurrentCrashName" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="QUturnedon" serializeAs="String">
|
||||
<value>False</value>
|
||||
@@ -138,28 +138,28 @@
|
||||
<value>True</value>
|
||||
</setting>
|
||||
<setting name="GamesList" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="UploadedGameList" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="GlobalUsername" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="lastTimeShared" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="AutoReinstall" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="NonAppPackages" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="LastLaunch" serializeAs="String">
|
||||
<value>04/20/1969 16:20:00</value>
|
||||
</setting>
|
||||
<setting name="SubmittedUpdates" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="ListUpped" serializeAs="String">
|
||||
<value>False</value>
|
||||
@@ -174,22 +174,28 @@
|
||||
<value>White</value>
|
||||
</setting>
|
||||
<setting name="ComboBoxColor" serializeAs="String">
|
||||
<value>50, 50, 50</value>
|
||||
<value>25, 25, 25</value>
|
||||
</setting>
|
||||
<setting name="SubButtonColor" serializeAs="String">
|
||||
<value>40, 40, 40</value>
|
||||
<value>25, 25, 25</value>
|
||||
</setting>
|
||||
<setting name="TextBoxColor" serializeAs="String">
|
||||
<value>29, 29, 29</value>
|
||||
<value>25, 25, 25</value>
|
||||
</setting>
|
||||
<setting name="ButtonColor" serializeAs="String">
|
||||
<value>50, 50, 50</value>
|
||||
<value>Black</value>
|
||||
</setting>
|
||||
<setting name="BackColor" serializeAs="String">
|
||||
<value>50, 50, 50</value>
|
||||
<value>1, 1, 1</value>
|
||||
</setting>
|
||||
<setting name="AppPackages" serializeAs="String">
|
||||
<value/>
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="TrailersOn" serializeAs="String">
|
||||
<value>False</value>
|
||||
</setting>
|
||||
<setting name="downloadDir" serializeAs="String">
|
||||
<value>Environment.CurrentDirectory</value>
|
||||
</setting>
|
||||
</AndroidSideloader.Properties.Settings>
|
||||
<AndroidADB.Sideloader.Properties.Settings>
|
||||
|
||||
20
MainForm.Designer.cs
generated
20
MainForm.Designer.cs
generated
@@ -127,6 +127,7 @@ namespace AndroidSideloader
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.downloadInstallGameButton = new AndroidSideloader.RoundButton();
|
||||
this.MountButton = new AndroidSideloader.RoundButton();
|
||||
this.webView21 = new Microsoft.Web.WebView2.WinForms.WebView2();
|
||||
this.panel1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.ULGif)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.imgBattery)).BeginInit();
|
||||
@@ -138,6 +139,7 @@ namespace AndroidSideloader
|
||||
((System.ComponentModel.ISupportInitialize)(this.btnSearch)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gamesPictureBox)).BeginInit();
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.webView21)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// m_combo
|
||||
@@ -382,7 +384,7 @@ namespace AndroidSideloader
|
||||
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(221, 721);
|
||||
this.panel1.Size = new System.Drawing.Size(221, 729);
|
||||
this.panel1.TabIndex = 73;
|
||||
//
|
||||
// verLabel
|
||||
@@ -1358,6 +1360,17 @@ namespace AndroidSideloader
|
||||
this.MountButton.Click += new System.EventHandler(this.MountButton_Click);
|
||||
this.MountButton.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop);
|
||||
//
|
||||
// webView21
|
||||
//
|
||||
this.webView21.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.webView21.CreationProperties = null;
|
||||
this.webView21.DefaultBackgroundColor = System.Drawing.Color.White;
|
||||
this.webView21.Location = new System.Drawing.Point(224, 475);
|
||||
this.webView21.Name = "webView21";
|
||||
this.webView21.Size = new System.Drawing.Size(374, 214);
|
||||
this.webView21.TabIndex = 97;
|
||||
this.webView21.ZoomFactor = 1D;
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
this.AllowDrop = true;
|
||||
@@ -1365,7 +1378,8 @@ namespace AndroidSideloader
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = global::AndroidSideloader.Properties.Settings.Default.BackColor;
|
||||
this.BackgroundImage = global::AndroidSideloader.Properties.Resources.pattern_cubes_1_1_1_0_0_0_1__000000_212121;
|
||||
this.ClientSize = new System.Drawing.Size(1032, 721);
|
||||
this.ClientSize = new System.Drawing.Size(1040, 729);
|
||||
this.Controls.Add(this.webView21);
|
||||
this.Controls.Add(this.panel2);
|
||||
this.Controls.Add(this.MountButton);
|
||||
this.Controls.Add(this.lblShortcutsF2);
|
||||
@@ -1424,6 +1438,7 @@ namespace AndroidSideloader
|
||||
((System.ComponentModel.ISupportInitialize)(this.gamesPictureBox)).EndInit();
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.panel2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.webView21)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
@@ -1523,5 +1538,6 @@ namespace AndroidSideloader
|
||||
private ToolTip etaLabel_Tooltip;
|
||||
private ToolTip EnterInstallBox_Tooltip;
|
||||
private Panel panel2;
|
||||
private Microsoft.Web.WebView2.WinForms.WebView2 webView21;
|
||||
}
|
||||
}
|
||||
|
||||
360
MainForm.cs
360
MainForm.cs
@@ -1,14 +1,19 @@
|
||||
using AndroidSideloader.Models;
|
||||
using AndroidSideloader.Utilities;
|
||||
using JR.Utils.GUI.Forms;
|
||||
using Microsoft.Web.WebView2.Core;
|
||||
using Microsoft.Web.WebView2.WinForms;
|
||||
using Newtonsoft.Json;
|
||||
using SergeUtils;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Security.Cryptography;
|
||||
@@ -52,6 +57,7 @@ namespace AndroidSideloader
|
||||
private bool isLoading = true;
|
||||
public static bool isOffline = false;
|
||||
public static bool hasPublicConfig = false;
|
||||
public static bool enviromentCreated = false;
|
||||
public static PublicConfig PublicConfigFile;
|
||||
public static string PublicMirrorExtraArgs = " --tpslimit 1.0 --tpslimit-burst 3";
|
||||
public MainForm()
|
||||
@@ -173,6 +179,11 @@ namespace AndroidSideloader
|
||||
{
|
||||
_ = FlexibleMessageBox.Show(Program.form, "Failed to fetch public mirror config, and the current one is unreadable.\r\nPlease ensure you can access https://wiki.vrpirates.club/ in your browser.", "Config Update Failed", MessageBoxButtons.OK);
|
||||
}
|
||||
|
||||
if (Directory.Exists(@"C:\RSL\EBWebView"))
|
||||
{
|
||||
Directory.Delete(@"C:\RSL\EBWebView", true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -427,7 +438,7 @@ namespace AndroidSideloader
|
||||
if (!Directory.Exists(SideloaderRCLONE.ThumbnailsFolder) ||
|
||||
!Directory.Exists(SideloaderRCLONE.NotesFolder))
|
||||
{
|
||||
_ = FlexibleMessageBox.Show(Program.form,
|
||||
_ = FlexibleMessageBox.Show(Program.form,
|
||||
"It seems you are missing the thumbnails and/or notes database, the first start of the sideloader takes a bit more time, so dont worry if it looks stuck!");
|
||||
}
|
||||
});
|
||||
@@ -1106,12 +1117,17 @@ namespace AndroidSideloader
|
||||
return;
|
||||
}
|
||||
string GameName = m_combo.SelectedItem.ToString();
|
||||
DialogResult dialogresult = FlexibleMessageBox.Show(Program.form, $"Are you sure you want to unintsall {GameName}? Rookie will attempt to automatically backup any saves to Documents\\Rookie Backups\\(TodaysDate)", "Proceed with uninstall?", MessageBoxButtons.YesNo);
|
||||
DialogResult dialogresult = FlexibleMessageBox.Show($"Are you sure you want to uninstall {GameName}?", "Proceed with uninstall?", MessageBoxButtons.YesNo);
|
||||
if (dialogresult == DialogResult.No)
|
||||
{
|
||||
return;
|
||||
}
|
||||
DialogResult dialogresult2 = FlexibleMessageBox.Show($"Do you want to attempt to automatically backup any saves to Documents/Rookie Backups/(TodaysDate)", "Attempt Game Backup?", MessageBoxButtons.YesNo);
|
||||
packagename = !GameName.Contains(".") ? Sideloader.gameNameToPackageName(GameName) : GameName;
|
||||
if (dialogresult2 == DialogResult.Yes)
|
||||
{
|
||||
Sideloader.BackupGame(packagename);
|
||||
}
|
||||
ProcessOutput output = new ProcessOutput("", "");
|
||||
progressBar.Style = ProgressBarStyle.Marquee;
|
||||
Thread t1 = new Thread(() =>
|
||||
@@ -2362,7 +2378,7 @@ Things you can try:
|
||||
gameName = gamesQueueList.ToArray()[0];
|
||||
string packagename = Sideloader.gameNameToPackageName(gameName);
|
||||
string dir = Path.GetDirectoryName(gameName);
|
||||
string gameDirectory = Environment.CurrentDirectory + "\\" + gameName;
|
||||
string gameDirectory = Properties.Settings.Default.downloadDir + "\\" + gameName;
|
||||
string path = gameDirectory;
|
||||
|
||||
string gameNameHash = string.Empty;
|
||||
@@ -2389,7 +2405,7 @@ Things you can try:
|
||||
bool doDownload = true;
|
||||
if (Directory.Exists(gameDirectory))
|
||||
{
|
||||
DialogResult res = FlexibleMessageBox.Show(Program.form,
|
||||
DialogResult res = FlexibleMessageBox.Show(
|
||||
$"{gameName} exists in destination directory.\r\nWould you like to overwrite it?",
|
||||
"Download again?", MessageBoxButtons.YesNo);
|
||||
|
||||
@@ -2398,9 +2414,9 @@ Things you can try:
|
||||
if (doDownload)
|
||||
{
|
||||
// only delete after extraction; allows for resume if the fetch fails midway.
|
||||
if (Directory.Exists($"{Environment.CurrentDirectory}\\{gameName}"))
|
||||
if (Directory.Exists($"{Properties.Settings.Default.downloadDir}\\{gameName}"))
|
||||
{
|
||||
Directory.Delete($"{Environment.CurrentDirectory}\\{gameName}", true);
|
||||
Directory.Delete($"{Properties.Settings.Default.downloadDir}\\{gameName}", true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2411,7 +2427,7 @@ Things you can try:
|
||||
t1 = new Thread(() =>
|
||||
{
|
||||
string rclonecommand =
|
||||
$"copy \":http:/{gameNameHash}/\" \"{Environment.CurrentDirectory}\\{gameNameHash}\" --progress --rc";
|
||||
$"copy \":http:/{gameNameHash}/\" \"{Properties.Settings.Default.downloadDir}\\{gameNameHash}\" --progress --rc";
|
||||
gameDownloadOutput = RCLONE.runRcloneCommand_PublicConfig(rclonecommand, Properties.Settings.Default.BandwidthLimit);
|
||||
});
|
||||
}
|
||||
@@ -2426,7 +2442,7 @@ Things you can try:
|
||||
_ = Logger.Log($"rclone copy \"{currentRemote}:{SideloaderRCLONE.RcloneGamesFolder}/{gameName}\"");
|
||||
t1 = new Thread(() =>
|
||||
{
|
||||
gameDownloadOutput = RCLONE.runRcloneCommand_DownloadConfig($"copy \"{currentRemote}:{SideloaderRCLONE.RcloneGamesFolder}/{gameName}\" \"{Environment.CurrentDirectory}\\{gameName}\" --progress --rc", Properties.Settings.Default.BandwidthLimit);
|
||||
gameDownloadOutput = RCLONE.runRcloneCommand_DownloadConfig($"copy \"{currentRemote}:{SideloaderRCLONE.RcloneGamesFolder}/{gameName}\" \"{Properties.Settings.Default.downloadDir}\\{gameName}\" --progress --rc", Properties.Settings.Default.BandwidthLimit);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -2500,24 +2516,24 @@ Things you can try:
|
||||
{
|
||||
if (hasPublicConfig)
|
||||
{
|
||||
if (Directory.Exists($"{Environment.CurrentDirectory}\\{gameNameHash}"))
|
||||
if (Directory.Exists($"{Properties.Settings.Default.downloadDir}\\{gameNameHash}"))
|
||||
{
|
||||
Directory.Delete($"{Environment.CurrentDirectory}\\{gameNameHash}", true);
|
||||
Directory.Delete($"{Properties.Settings.Default.downloadDir}\\{gameNameHash}", true);
|
||||
}
|
||||
|
||||
if (Directory.Exists($"{Environment.CurrentDirectory}\\{gameName}"))
|
||||
if (Directory.Exists($"{Properties.Settings.Default.downloadDir}\\{gameName}"))
|
||||
{
|
||||
Directory.Delete($"{Environment.CurrentDirectory}\\{gameName}", true);
|
||||
Directory.Delete($"{Properties.Settings.Default.downloadDir}\\{gameName}", true);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Directory.Delete(Environment.CurrentDirectory + "\\" + gameName, true);
|
||||
Directory.Delete(Properties.Settings.Default.downloadDir + "\\" + gameName, true);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_ = FlexibleMessageBox.Show(Program.form, $"Error deleting game files: {ex.Message}");
|
||||
_ = FlexibleMessageBox.Show($"Error deleting game files: {ex.Message}");
|
||||
}
|
||||
ChangeTitle("");
|
||||
break;
|
||||
@@ -2550,7 +2566,7 @@ Things you can try:
|
||||
gamesQueListBox.DataSource = null;
|
||||
gamesQueListBox.DataSource = gamesQueueList;
|
||||
|
||||
_ = FlexibleMessageBox.Show(Program.form, $"Rclone error: {gameDownloadOutput.Error}");
|
||||
_ = FlexibleMessageBox.Show($"Rclone error: {gameDownloadOutput.Error}");
|
||||
output += new ProcessOutput("", "Download Failed");
|
||||
}
|
||||
}
|
||||
@@ -2560,16 +2576,16 @@ Things you can try:
|
||||
try
|
||||
{
|
||||
ChangeTitle("Extracting " + gameName, false);
|
||||
Zip.ExtractFile($"{Environment.CurrentDirectory}\\{gameNameHash}\\{gameNameHash}.7z.001", $"{Environment.CurrentDirectory}", PublicConfigFile.Password);
|
||||
if (Directory.Exists($"{Environment.CurrentDirectory}\\{gameNameHash}"))
|
||||
Zip.ExtractFile($"{Properties.Settings.Default.downloadDir}\\{gameNameHash}\\{gameNameHash}.7z.001", $"{Properties.Settings.Default.downloadDir}", PublicConfigFile.Password);
|
||||
if (Directory.Exists($"{Properties.Settings.Default.downloadDir}\\{gameNameHash}"))
|
||||
{
|
||||
Directory.Delete($"{Environment.CurrentDirectory}\\{gameNameHash}", true);
|
||||
Directory.Delete($"{Properties.Settings.Default.downloadDir}\\{gameNameHash}", true);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
otherError = true;
|
||||
_ = FlexibleMessageBox.Show(Program.form, $"7zip error: {ex.Message}");
|
||||
_ = FlexibleMessageBox.Show($"7zip error: {ex.Message}");
|
||||
output += new ProcessOutput("", "Extract Failed");
|
||||
}
|
||||
}
|
||||
@@ -2584,19 +2600,19 @@ Things you can try:
|
||||
ChangeTitle("Installing game apk " + gameName, false);
|
||||
etaLabel.Text = "ETA: Wait for install...";
|
||||
speedLabel.Text = "DLS: Finished";
|
||||
if (File.Exists(Environment.CurrentDirectory + "\\" + gameName + "\\install.txt"))
|
||||
if (File.Exists(Properties.Settings.Default.downloadDir + "\\" + gameName + "\\install.txt"))
|
||||
{
|
||||
isinstalltxt = true;
|
||||
}
|
||||
|
||||
if (File.Exists(Environment.CurrentDirectory + "\\" + gameName + "\\Install.txt"))
|
||||
if (File.Exists(Properties.Settings.Default.downloadDir + "\\" + gameName + "\\Install.txt"))
|
||||
{
|
||||
isinstalltxt = true;
|
||||
}
|
||||
|
||||
string[] files = Directory.GetFiles(Environment.CurrentDirectory + "\\" + gameName);
|
||||
string[] files = Directory.GetFiles(Properties.Settings.Default.downloadDir + "\\" + gameName);
|
||||
|
||||
Debug.WriteLine("Game Folder is: " + Environment.CurrentDirectory + "\\" + gameName);
|
||||
Debug.WriteLine("Game Folder is: " + Properties.Settings.Default.downloadDir + "\\" + gameName);
|
||||
Debug.WriteLine("FILES IN GAME FOLDER: ");
|
||||
foreach (string file in files)
|
||||
{
|
||||
@@ -2621,74 +2637,81 @@ Things you can try:
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (!isinstalltxt)
|
||||
if (!isinstalltxt)
|
||||
{
|
||||
if (extension == ".apk")
|
||||
if (!Properties.Settings.Default.nodevicemode | !nodeviceonstart & DeviceConnected)
|
||||
{
|
||||
CurrAPK = file;
|
||||
CurrPCKG = packagename;
|
||||
System.Windows.Forms.Timer t = new System.Windows.Forms.Timer
|
||||
if (extension == ".apk")
|
||||
{
|
||||
Interval = 150000 // 150 seconds to fail
|
||||
};
|
||||
t.Tick += new EventHandler(timer_Tick4);
|
||||
t.Start();
|
||||
Thread apkThread = new Thread(() =>
|
||||
{
|
||||
Program.form.ChangeTitle($"Sideloading apk...");
|
||||
output += ADB.Sideload(file, packagename);
|
||||
})
|
||||
{
|
||||
IsBackground = true
|
||||
};
|
||||
apkThread.Start();
|
||||
while (apkThread.IsAlive)
|
||||
{
|
||||
await Task.Delay(100);
|
||||
}
|
||||
|
||||
t.Stop();
|
||||
}
|
||||
|
||||
Debug.WriteLine(wrDelimiter);
|
||||
if (Directory.Exists($"{Properties.Settings.Default.MainDir}\\{gameName}\\{packagename}"))
|
||||
{
|
||||
Thread obbThread = new Thread(() =>
|
||||
{
|
||||
|
||||
ChangeTitle($"Copying {packagename} obb to device...");
|
||||
output += ADB.RunAdbCommandToString($"push \"{Properties.Settings.Default.MainDir}\\{gameName}\\{packagename}\" \"/sdcard/Android/obb\"");
|
||||
Program.form.ChangeTitle("");
|
||||
})
|
||||
{
|
||||
IsBackground = true
|
||||
};
|
||||
obbThread.Start();
|
||||
|
||||
while (obbThread.IsAlive)
|
||||
{
|
||||
await Task.Delay(100);
|
||||
}
|
||||
if (!nodeviceonstart | DeviceConnected)
|
||||
{
|
||||
if (!output.Output.Contains("offline"))
|
||||
CurrAPK = file;
|
||||
CurrPCKG = packagename;
|
||||
System.Windows.Forms.Timer t = new System.Windows.Forms.Timer
|
||||
{
|
||||
try
|
||||
Interval = 150000 // 150 seconds to fail
|
||||
};
|
||||
t.Tick += new EventHandler(timer_Tick4);
|
||||
t.Start();
|
||||
Thread apkThread = new Thread(() =>
|
||||
{
|
||||
Program.form.ChangeTitle($"Sideloading apk...");
|
||||
output += ADB.Sideload(file, packagename);
|
||||
})
|
||||
{
|
||||
IsBackground = true
|
||||
};
|
||||
apkThread.Start();
|
||||
while (apkThread.IsAlive)
|
||||
{
|
||||
await Task.Delay(100);
|
||||
}
|
||||
|
||||
t.Stop();
|
||||
}
|
||||
|
||||
Debug.WriteLine(wrDelimiter);
|
||||
if (Directory.Exists($"{Properties.Settings.Default.downloadDir}\\{gameName}\\{packagename}"))
|
||||
{
|
||||
Thread obbThread = new Thread(() =>
|
||||
{
|
||||
|
||||
ChangeTitle($"Copying {packagename} obb to device...");
|
||||
output += ADB.RunAdbCommandToString($"push \"{Properties.Settings.Default.downloadDir}\\{gameName}\\{packagename}\" \"/sdcard/Android/obb\"");
|
||||
Program.form.ChangeTitle("");
|
||||
})
|
||||
{
|
||||
IsBackground = true
|
||||
};
|
||||
obbThread.Start();
|
||||
|
||||
while (obbThread.IsAlive)
|
||||
{
|
||||
await Task.Delay(100);
|
||||
}
|
||||
if (!nodeviceonstart | DeviceConnected)
|
||||
{
|
||||
if (!output.Output.Contains("offline"))
|
||||
{
|
||||
obbsMismatch = await compareOBBSizes(packagename, gameName, output);
|
||||
try
|
||||
{
|
||||
obbsMismatch = await compareOBBSizes(packagename, gameName, output);
|
||||
}
|
||||
catch (Exception ex) { _ = FlexibleMessageBox.Show($"Error comparing OBB sizes: {ex.Message}"); }
|
||||
}
|
||||
catch (Exception ex) { _ = FlexibleMessageBox.Show($"Error comparing OBB sizes: {ex.Message}"); }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
output.Output += "All tasks finished.";
|
||||
}
|
||||
}
|
||||
ChangeTitle($"Installation of {gameName} completed.");
|
||||
}
|
||||
if (Properties.Settings.Default.deleteAllAfterInstall)
|
||||
{
|
||||
ChangeTitle("Deleting game files", false);
|
||||
try { Directory.Delete(Environment.CurrentDirectory + "\\" + gameName, true); } catch (Exception ex) { _ = FlexibleMessageBox.Show(Program.form, $"Error deleting game files: {ex.Message}"); }
|
||||
try { Directory.Delete(Properties.Settings.Default.downloadDir + "\\" + gameName, true); } catch (Exception ex) { _ = FlexibleMessageBox.Show($"Error deleting game files: {ex.Message}"); }
|
||||
}
|
||||
|
||||
//Remove current game
|
||||
@@ -2726,7 +2749,7 @@ Things you can try:
|
||||
|
||||
private async Task<bool> compareOBBSizes(string packagename, string gameName, ProcessOutput output)
|
||||
{
|
||||
if (!Directory.Exists($"{Properties.Settings.Default.MainDir}\\{gameName}\\{packagename}"))
|
||||
if (!Directory.Exists($"{Properties.Settings.Default.downloadDir}\\{gameName}\\{packagename}"))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -2734,7 +2757,7 @@ Things you can try:
|
||||
{
|
||||
ChangeTitle("Comparing obbs...");
|
||||
ADB.WakeDevice();
|
||||
DirectoryInfo localFolder = new DirectoryInfo($"{Properties.Settings.Default.MainDir}/{gameName}/{packagename}/");
|
||||
DirectoryInfo localFolder = new DirectoryInfo($"{Properties.Settings.Default.downloadDir}/{gameName}/{packagename}/");
|
||||
long totalLocalFolderSize = localFolderSize(localFolder) / (1024 * 1024);
|
||||
string totalRemoteFolderSize = ADB.RunAdbCommandToString($"shell du -m /sdcard/Android/obb/{packagename}").Output;
|
||||
string firstreplacedtotalRemoteFolderSize = Regex.Replace(totalRemoteFolderSize, "[^c]*$", "");
|
||||
@@ -2749,19 +2772,19 @@ Things you can try:
|
||||
if (om == DialogResult.Yes)
|
||||
{
|
||||
ChangeTitle("Retrying push");
|
||||
if (Directory.Exists($"{Properties.Settings.Default.MainDir}\\{gameName}\\{packagename}"))
|
||||
if (Directory.Exists($"{Properties.Settings.Default.downloadDir}\\{gameName}\\{packagename}"))
|
||||
{
|
||||
Thread obbThread = new Thread(() =>
|
||||
{
|
||||
ChangeTitle($"Copying {packagename} obb to device...");
|
||||
output += ADB.RunAdbCommandToString($"push \"{Properties.Settings.Default.MainDir}\\{gameName}\\{packagename}\" \"/sdcard/Android/obb\"");
|
||||
output += ADB.RunAdbCommandToString($"push \"{Properties.Settings.Default.downloadDir}\\{gameName}\\{packagename}\" \"/sdcard/Android/obb\"");
|
||||
Program.form.ChangeTitle("");
|
||||
})
|
||||
{
|
||||
IsBackground = true
|
||||
};
|
||||
obbThread.Start();
|
||||
|
||||
|
||||
while (obbThread.IsAlive)
|
||||
{
|
||||
await Task.Delay(100);
|
||||
@@ -2827,7 +2850,7 @@ Things you can try:
|
||||
return totalLocalFolderSize;
|
||||
}
|
||||
|
||||
private void timer_Tick4(object sender, EventArgs e)
|
||||
private void timer_Tick4(object sender, EventArgs e)
|
||||
{
|
||||
_ = new ProcessOutput("", "");
|
||||
if (!timerticked)
|
||||
@@ -2890,7 +2913,7 @@ Things you can try:
|
||||
}
|
||||
|
||||
|
||||
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
|
||||
private async void Form1_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
if (isinstalling)
|
||||
{
|
||||
@@ -2928,6 +2951,12 @@ Things you can try:
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void disPosed(object sender, EventArgs e)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
private void ADBWirelessDisable_Click(object sender, EventArgs e)
|
||||
{
|
||||
DialogResult dialogResult = FlexibleMessageBox.Show(Program.form, "Are you sure you want to delete your saved Quest IP address/command?", "Remove saved IP address?", MessageBoxButtons.YesNo);
|
||||
@@ -3246,45 +3275,164 @@ Things you can try:
|
||||
|
||||
}
|
||||
|
||||
private bool fullScreen = false;
|
||||
[DefaultValue(false)]
|
||||
public bool FullScreen
|
||||
{
|
||||
get { return fullScreen; }
|
||||
set
|
||||
{
|
||||
fullScreen = value;
|
||||
if (value)
|
||||
{
|
||||
MainForm.ActiveForm.FormBorderStyle = FormBorderStyle.None;
|
||||
webView21.Anchor = (AnchorStyles.Top | AnchorStyles.Left);
|
||||
webView21.Location = new Point(0, 0);
|
||||
webView21.Size = MainForm.ActiveForm.Size;
|
||||
}
|
||||
else
|
||||
{
|
||||
MainForm.ActiveForm.FormBorderStyle = FormBorderStyle.Sizable;
|
||||
webView21.Anchor = (AnchorStyles.Left | AnchorStyles.Bottom);
|
||||
webView21.Location = gamesPictureBox.Location;
|
||||
webView21.Size = new Size(374, 214);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void gamesListView_SelectedIndexChanged(object sender, EventArgs e)
|
||||
static string ExtractVideoUrl(string html)
|
||||
{
|
||||
// Use the regular expression to find the first video URL in the search results page HTML
|
||||
string pattern = @"url""\:\""/watch\?v\=(.*?(?=""))";
|
||||
Match match = Regex.Match(html, pattern);
|
||||
if (!match.Success)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
// Extract the video URL from the match
|
||||
string url = match.Groups[1].Value;
|
||||
// Create the embed URL
|
||||
return "https://www.youtube.com/embed/" + url + "?autoplay=1&mute=1&enablejsapi=1&modestbranding=1";
|
||||
}
|
||||
|
||||
private async Task CreateEnviroment()
|
||||
{
|
||||
string appDataLocation = @"C:\RSL\";
|
||||
var webView2Environment = await CoreWebView2Environment.CreateAsync(userDataFolder: appDataLocation);
|
||||
await webView21.EnsureCoreWebView2Async(webView2Environment);
|
||||
}
|
||||
|
||||
private async Task WebView_CoreWebView2ReadyAsync(string videoUrl)
|
||||
{
|
||||
try
|
||||
{
|
||||
// Load the video URL in the web browser control
|
||||
webView21.CoreWebView2.Navigate(videoUrl);
|
||||
webView21.CoreWebView2.ContainsFullScreenElementChanged += (obj, args) =>
|
||||
{
|
||||
this.FullScreen = webView21.CoreWebView2.ContainsFullScreenElement;
|
||||
};
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex.ToString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public async void gamesListView_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (gamesListView.SelectedItems.Count < 1)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
string CurrentPackageName = gamesListView.SelectedItems[gamesListView.SelectedItems.Count - 1].SubItems[SideloaderRCLONE.PackageNameIndex].Text;
|
||||
string CurrentReleaseName = gamesListView.SelectedItems[gamesListView.SelectedItems.Count - 1].SubItems[SideloaderRCLONE.ReleaseNameIndex].Text;
|
||||
if (!keyheld)
|
||||
string CurrentGameName = gamesListView.SelectedItems[gamesListView.SelectedItems.Count - 1].SubItems[SideloaderRCLONE.GameNameIndex].Text;
|
||||
Console.WriteLine(CurrentGameName);
|
||||
|
||||
if (!Properties.Settings.Default.TrailersOn)
|
||||
{
|
||||
if (Properties.Settings.Default.PackageNameToCB)
|
||||
webView21.Hide();
|
||||
if (!keyheld)
|
||||
{
|
||||
Clipboard.SetText(CurrentPackageName);
|
||||
if (Properties.Settings.Default.PackageNameToCB)
|
||||
{
|
||||
Clipboard.SetText(CurrentPackageName);
|
||||
}
|
||||
|
||||
keyheld = true;
|
||||
}
|
||||
|
||||
keyheld = true;
|
||||
}
|
||||
string ImagePath = "";
|
||||
if (File.Exists($"{SideloaderRCLONE.ThumbnailsFolder}\\{CurrentPackageName}.jpg"))
|
||||
{
|
||||
ImagePath = $"{SideloaderRCLONE.ThumbnailsFolder}\\{CurrentPackageName}.jpg";
|
||||
}
|
||||
else if (File.Exists($"{SideloaderRCLONE.ThumbnailsFolder}\\{CurrentPackageName}.png"))
|
||||
{
|
||||
ImagePath = $"{SideloaderRCLONE.ThumbnailsFolder}\\{CurrentPackageName}.png";
|
||||
}
|
||||
|
||||
string ImagePath = "";
|
||||
if (File.Exists($"{SideloaderRCLONE.ThumbnailsFolder}\\{CurrentPackageName}.jpg"))
|
||||
if (gamesPictureBox.BackgroundImage != null)
|
||||
{
|
||||
gamesPictureBox.BackgroundImage.Dispose();
|
||||
}
|
||||
|
||||
gamesPictureBox.BackgroundImage = File.Exists(ImagePath) ? Image.FromFile(ImagePath) : new Bitmap(367, 214);
|
||||
|
||||
string NotePath = $"{SideloaderRCLONE.NotesFolder}\\{CurrentReleaseName}.txt";
|
||||
notesRichTextBox.Text = File.Exists(NotePath) ? File.ReadAllText(NotePath) : "";
|
||||
}
|
||||
else
|
||||
{
|
||||
ImagePath = $"{SideloaderRCLONE.ThumbnailsFolder}\\{CurrentPackageName}.jpg";
|
||||
}
|
||||
else if (File.Exists($"{SideloaderRCLONE.ThumbnailsFolder}\\{CurrentPackageName}.png"))
|
||||
{
|
||||
ImagePath = $"{SideloaderRCLONE.ThumbnailsFolder}\\{CurrentPackageName}.png";
|
||||
}
|
||||
if (!Directory.Exists(Environment.CurrentDirectory + "\\runtimes"))
|
||||
{
|
||||
WebClient client = new WebClient();
|
||||
ServicePointManager.Expect100Continue = true;
|
||||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
|
||||
try
|
||||
{
|
||||
client.DownloadFile("https://wiki.vrpirates.club/downloads/runtimes.7z", "runtimes.7z");
|
||||
Utilities.Zip.ExtractFile(Environment.CurrentDirectory + "\\runtimes.7z", Environment.CurrentDirectory);
|
||||
File.Delete("runtimes.7z");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_ = FlexibleMessageBox.Show($"You are unable to access the wiki page with the Exception: {ex.Message}\n");
|
||||
_ = FlexibleMessageBox.Show("Required files for the Trailers were unable to be downloaded, please use Thumbnails instead");
|
||||
enviromentCreated= true;
|
||||
webView21.Hide();
|
||||
}
|
||||
}
|
||||
if (!enviromentCreated)
|
||||
{
|
||||
await CreateEnviroment();
|
||||
enviromentCreated = true;
|
||||
}
|
||||
webView21.Show();
|
||||
string query = CurrentGameName + " VR trailer";
|
||||
// Encode the search query for use in a URL
|
||||
string encodedQuery = WebUtility.UrlEncode(query);
|
||||
// Construct the YouTube search URL
|
||||
string url = "https://www.youtube.com/results?search_query=" + encodedQuery;
|
||||
|
||||
if (gamesPictureBox.BackgroundImage != null)
|
||||
{
|
||||
gamesPictureBox.BackgroundImage.Dispose();
|
||||
// Download the search results page HTML
|
||||
string html;
|
||||
using (var client = new WebClient())
|
||||
{
|
||||
html = client.DownloadString(url);
|
||||
}
|
||||
// Extract the first video URL from the HTML
|
||||
string videoUrl = ExtractVideoUrl(html);
|
||||
if (videoUrl == "")
|
||||
{
|
||||
MessageBox.Show("No video URL found in search results.");
|
||||
return;
|
||||
}
|
||||
|
||||
await WebView_CoreWebView2ReadyAsync(videoUrl);
|
||||
}
|
||||
|
||||
gamesPictureBox.BackgroundImage = File.Exists(ImagePath) ? Image.FromFile(ImagePath) : new Bitmap(367, 214);
|
||||
|
||||
string NotePath = $"{SideloaderRCLONE.NotesFolder}\\{CurrentReleaseName}.txt";
|
||||
notesRichTextBox.Text = File.Exists(NotePath) ? File.ReadAllText(NotePath) : "";
|
||||
}
|
||||
|
||||
public void UpdateGamesButton_Click(object sender, EventArgs e)
|
||||
|
||||
26
Properties/Settings.Designer.cs
generated
26
Properties/Settings.Designer.cs
generated
@@ -12,7 +12,7 @@ namespace AndroidSideloader.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.3.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.4.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
@@ -741,5 +741,29 @@ namespace AndroidSideloader.Properties {
|
||||
this["AppPackages"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||
public bool TrailersOn {
|
||||
get {
|
||||
return ((bool)(this["TrailersOn"]));
|
||||
}
|
||||
set {
|
||||
this["TrailersOn"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("Environment.CurrentDirectory")]
|
||||
public string downloadDir {
|
||||
get {
|
||||
return ((string)(this["downloadDir"]));
|
||||
}
|
||||
set {
|
||||
this["downloadDir"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -182,5 +182,11 @@
|
||||
<Setting Name="AppPackages" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="TrailersOn" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">False</Value>
|
||||
</Setting>
|
||||
<Setting Name="downloadDir" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">Environment.CurrentDirectory</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
65
SettingsForm.Designer.cs
generated
65
SettingsForm.Designer.cs
generated
@@ -46,6 +46,9 @@ namespace AndroidSideloader
|
||||
this.btnUploadDebug = new AndroidSideloader.RoundButton();
|
||||
this.btnOpenDebug = new AndroidSideloader.RoundButton();
|
||||
this.lblMibs = new System.Windows.Forms.Label();
|
||||
this.trailersOn = new System.Windows.Forms.CheckBox();
|
||||
this.setDownloadDirectory = new AndroidSideloader.RoundButton();
|
||||
this.downloadDirectorySetter = new System.Windows.Forms.FolderBrowserDialog();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// checkForUpdatesCheckBox
|
||||
@@ -126,7 +129,7 @@ namespace AndroidSideloader
|
||||
this.txtBandwidth.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "TextBoxColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.txtBandwidth.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.txtBandwidth.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
|
||||
this.txtBandwidth.Location = new System.Drawing.Point(49, 254);
|
||||
this.txtBandwidth.Location = new System.Drawing.Point(49, 288);
|
||||
this.txtBandwidth.Name = "txtBandwidth";
|
||||
this.txtBandwidth.Size = new System.Drawing.Size(103, 24);
|
||||
this.txtBandwidth.TabIndex = 11;
|
||||
@@ -137,7 +140,7 @@ namespace AndroidSideloader
|
||||
this.lblDownloadSpeedLimiter.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblDownloadSpeedLimiter.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.lblDownloadSpeedLimiter.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.lblDownloadSpeedLimiter.Location = new System.Drawing.Point(87, 230);
|
||||
this.lblDownloadSpeedLimiter.Location = new System.Drawing.Point(87, 264);
|
||||
this.lblDownloadSpeedLimiter.Name = "lblDownloadSpeedLimiter";
|
||||
this.lblDownloadSpeedLimiter.Size = new System.Drawing.Size(169, 18);
|
||||
this.lblDownloadSpeedLimiter.TabIndex = 12;
|
||||
@@ -208,7 +211,7 @@ namespace AndroidSideloader
|
||||
this.applyButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor;
|
||||
this.applyButton.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.applyButton.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.applyButton.Location = new System.Drawing.Point(29, 301);
|
||||
this.applyButton.Location = new System.Drawing.Point(29, 335);
|
||||
this.applyButton.Name = "applyButton";
|
||||
this.applyButton.Radius = 5;
|
||||
this.applyButton.Size = new System.Drawing.Size(133, 31);
|
||||
@@ -229,7 +232,7 @@ namespace AndroidSideloader
|
||||
this.resetSettingsButton.ForeColor = System.Drawing.Color.White;
|
||||
this.resetSettingsButton.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.resetSettingsButton.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.resetSettingsButton.Location = new System.Drawing.Point(181, 301);
|
||||
this.resetSettingsButton.Location = new System.Drawing.Point(181, 335);
|
||||
this.resetSettingsButton.Name = "resetSettingsButton";
|
||||
this.resetSettingsButton.Radius = 5;
|
||||
this.resetSettingsButton.Size = new System.Drawing.Size(133, 31);
|
||||
@@ -250,7 +253,7 @@ namespace AndroidSideloader
|
||||
this.btnResetDebug.ForeColor = System.Drawing.Color.White;
|
||||
this.btnResetDebug.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.btnResetDebug.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.btnResetDebug.Location = new System.Drawing.Point(29, 385);
|
||||
this.btnResetDebug.Location = new System.Drawing.Point(29, 419);
|
||||
this.btnResetDebug.Name = "btnResetDebug";
|
||||
this.btnResetDebug.Radius = 5;
|
||||
this.btnResetDebug.Size = new System.Drawing.Size(285, 31);
|
||||
@@ -271,7 +274,7 @@ namespace AndroidSideloader
|
||||
this.btnUploadDebug.ForeColor = System.Drawing.Color.White;
|
||||
this.btnUploadDebug.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.btnUploadDebug.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.btnUploadDebug.Location = new System.Drawing.Point(29, 422);
|
||||
this.btnUploadDebug.Location = new System.Drawing.Point(29, 456);
|
||||
this.btnUploadDebug.Name = "btnUploadDebug";
|
||||
this.btnUploadDebug.Radius = 5;
|
||||
this.btnUploadDebug.Size = new System.Drawing.Size(285, 31);
|
||||
@@ -292,7 +295,7 @@ namespace AndroidSideloader
|
||||
this.btnOpenDebug.ForeColor = System.Drawing.Color.White;
|
||||
this.btnOpenDebug.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.btnOpenDebug.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.btnOpenDebug.Location = new System.Drawing.Point(29, 348);
|
||||
this.btnOpenDebug.Location = new System.Drawing.Point(29, 382);
|
||||
this.btnOpenDebug.Name = "btnOpenDebug";
|
||||
this.btnOpenDebug.Radius = 5;
|
||||
this.btnOpenDebug.Size = new System.Drawing.Size(285, 31);
|
||||
@@ -309,19 +312,60 @@ namespace AndroidSideloader
|
||||
this.lblMibs.BackColor = System.Drawing.Color.Transparent;
|
||||
this.lblMibs.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.lblMibs.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.lblMibs.Location = new System.Drawing.Point(159, 257);
|
||||
this.lblMibs.Location = new System.Drawing.Point(159, 291);
|
||||
this.lblMibs.Name = "lblMibs";
|
||||
this.lblMibs.Size = new System.Drawing.Size(135, 18);
|
||||
this.lblMibs.TabIndex = 22;
|
||||
this.lblMibs.Text = "MiB/s (0 to disable)";
|
||||
//
|
||||
// trailersOn
|
||||
//
|
||||
this.trailersOn.AutoSize = true;
|
||||
this.trailersOn.BackColor = System.Drawing.Color.Transparent;
|
||||
this.trailersOn.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
|
||||
this.trailersOn.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle;
|
||||
this.trailersOn.Location = new System.Drawing.Point(12, 222);
|
||||
this.trailersOn.Name = "trailersOn";
|
||||
this.trailersOn.Size = new System.Drawing.Size(255, 22);
|
||||
this.trailersOn.TabIndex = 23;
|
||||
this.trailersOn.Text = "Use Trailers instead of Thumbnails";
|
||||
this.trailersOn.UseVisualStyleBackColor = false;
|
||||
this.trailersOn.CheckedChanged += new System.EventHandler(this.trailersOn_CheckedChanged);
|
||||
//
|
||||
// setDownloadDirectory
|
||||
//
|
||||
this.setDownloadDirectory.Active1 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||
this.setDownloadDirectory.Active2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
|
||||
this.setDownloadDirectory.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.setDownloadDirectory.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||
this.setDownloadDirectory.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F);
|
||||
this.setDownloadDirectory.ForeColor = System.Drawing.Color.White;
|
||||
this.setDownloadDirectory.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.setDownloadDirectory.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25)))));
|
||||
this.setDownloadDirectory.Location = new System.Drawing.Point(29, 493);
|
||||
this.setDownloadDirectory.Name = "setDownloadDirectory";
|
||||
this.setDownloadDirectory.Radius = 5;
|
||||
this.setDownloadDirectory.Size = new System.Drawing.Size(285, 31);
|
||||
this.setDownloadDirectory.Stroke = true;
|
||||
this.setDownloadDirectory.StrokeColor = System.Drawing.Color.FromArgb(((int)(((byte)(74)))), ((int)(((byte)(74)))), ((int)(((byte)(74)))));
|
||||
this.setDownloadDirectory.TabIndex = 23;
|
||||
this.setDownloadDirectory.Text = "Set Download Directory";
|
||||
this.setDownloadDirectory.Transparency = false;
|
||||
this.setDownloadDirectory.Click += new System.EventHandler(this.setDownloadDirectory_Click);
|
||||
//
|
||||
// downloadDirectorySetter
|
||||
//
|
||||
this.downloadDirectorySetter.RootFolder = System.Environment.SpecialFolder.MyComputer;
|
||||
//
|
||||
// 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.BackgroundImage = global::AndroidSideloader.Properties.Resources.pattern_cubes_1_1_1_0_0_0_1__000000_212121;
|
||||
this.ClientSize = new System.Drawing.Size(342, 469);
|
||||
this.ClientSize = new System.Drawing.Size(342, 555);
|
||||
this.Controls.Add(this.trailersOn);
|
||||
this.Controls.Add(this.setDownloadDirectory);
|
||||
this.Controls.Add(this.lblMibs);
|
||||
this.Controls.Add(this.btnOpenDebug);
|
||||
this.Controls.Add(this.btnResetDebug);
|
||||
@@ -374,5 +418,8 @@ namespace AndroidSideloader
|
||||
private RoundButton btnUploadDebug;
|
||||
private RoundButton btnOpenDebug;
|
||||
private System.Windows.Forms.Label lblMibs;
|
||||
private System.Windows.Forms.CheckBox trailersOn;
|
||||
private RoundButton setDownloadDirectory;
|
||||
private System.Windows.Forms.FolderBrowserDialog downloadDirectorySetter;
|
||||
}
|
||||
}
|
||||
@@ -31,6 +31,7 @@ namespace AndroidSideloader
|
||||
nodevicemodeBox.Checked = Properties.Settings.Default.nodevicemode;
|
||||
bmbfBox.Checked = Properties.Settings.Default.BMBFchecked;
|
||||
AutoReinstBox.Checked = Properties.Settings.Default.AutoReinstall;
|
||||
trailersOn.Checked = Properties.Settings.Default.TrailersOn;
|
||||
|
||||
if (Properties.Settings.Default.BandwidthLimit.Length > 1)
|
||||
{
|
||||
@@ -100,6 +101,7 @@ namespace AndroidSideloader
|
||||
private void resetSettingsButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.Reset();
|
||||
Properties.Settings.Default.downloadDir = Environment.CurrentDirectory;
|
||||
intSettings();
|
||||
}
|
||||
|
||||
@@ -166,6 +168,12 @@ namespace AndroidSideloader
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
|
||||
private void trailersOn_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
Properties.Settings.Default.TrailersOn = trailersOn.Checked;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
|
||||
private void AutoReinstBox_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (AutoReinstBox.Checked)
|
||||
@@ -190,6 +198,15 @@ namespace AndroidSideloader
|
||||
_ = Process.Start($"{Environment.CurrentDirectory}\\debuglog.txt");
|
||||
}
|
||||
}
|
||||
|
||||
private void setDownloadDirectory_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (downloadDirectorySetter.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
Properties.Settings.Default.downloadDir = downloadDirectorySetter.SelectedPath;
|
||||
Properties.Settings.Default.Save();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -117,4 +117,7 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="downloadDirectorySetter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -1,4 +1,4 @@
|
||||
using JR.Utils.GUI.Forms;
|
||||
using JR.Utils.GUI.Forms;
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Net;
|
||||
@@ -127,9 +127,19 @@ And all of them added to PATH, without ANY of them, the spoofer won't work!";
|
||||
}
|
||||
catch (Exception ex) { _ = Logger.Log(ex.Message); }
|
||||
}
|
||||
public static string BackupFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), $"Rookie Backups");
|
||||
|
||||
//uninstalls an app
|
||||
public static ProcessOutput UninstallGame(string packagename)
|
||||
{
|
||||
ProcessOutput output = ADB.UninstallPackage(packagename);
|
||||
Program.form.ChangeTitle("");
|
||||
_ = Sideloader.RemoveFolder("/sdcard/Android/obb/" + packagename);
|
||||
_ = Sideloader.RemoveFolder("/sdcard/Android/data/" + packagename);
|
||||
return output;
|
||||
}
|
||||
|
||||
public static string BackupFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), $"Rookie Backups");
|
||||
public static void BackupGame(string packagename)
|
||||
{
|
||||
ADB.WakeDevice();
|
||||
Program.form.ChangeTitle("Attempting to backup any savedata to Documents\\Rookie Backups...");
|
||||
@@ -140,13 +150,7 @@ And all of them added to PATH, without ANY of them, the spoofer won't work!";
|
||||
{
|
||||
_ = Directory.CreateDirectory(CurrBackups);
|
||||
}
|
||||
|
||||
_ = ADB.RunAdbCommandToString($"pull \"/sdcard/Android/data/{packagename}\" \"{CurrBackups}\"");
|
||||
ProcessOutput output = ADB.UninstallPackage(packagename);
|
||||
Program.form.ChangeTitle("");
|
||||
_ = Sideloader.RemoveFolder("/sdcard/Android/obb/" + packagename);
|
||||
_ = Sideloader.RemoveFolder("/sdcard/Android/data/" + packagename);
|
||||
return output;
|
||||
}
|
||||
|
||||
public static ProcessOutput DeleteFile(string GameName)
|
||||
|
||||
@@ -2,5 +2,6 @@
|
||||
<packages>
|
||||
<package id="Costura.Fody" version="4.1.0" targetFramework="net452" />
|
||||
<package id="Fody" version="6.0.0" targetFramework="net452" developmentDependency="true" />
|
||||
<package id="Microsoft.Web.WebView2" version="1.0.1072.54" targetFramework="net452" />
|
||||
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net452" />
|
||||
</packages>
|
||||
BIN
packages/Costura.Fody.4.1.0/.signature.p7s
vendored
BIN
packages/Costura.Fody.4.1.0/.signature.p7s
vendored
Binary file not shown.
BIN
packages/Costura.Fody.4.1.0/Costura.Fody.4.1.0.nupkg
vendored
BIN
packages/Costura.Fody.4.1.0/Costura.Fody.4.1.0.nupkg
vendored
Binary file not shown.
@@ -1,5 +0,0 @@
|
||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<WeaverFiles Include="$(MsBuildThisFileDirectory)..\weaver\$(MSBuildThisFileName).dll" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
BIN
packages/Costura.Fody.4.1.0/lib/net40/Costura.dll
vendored
BIN
packages/Costura.Fody.4.1.0/lib/net40/Costura.dll
vendored
Binary file not shown.
BIN
packages/Costura.Fody.4.1.0/weaver/Costura.Fody.dll
vendored
BIN
packages/Costura.Fody.4.1.0/weaver/Costura.Fody.dll
vendored
Binary file not shown.
@@ -1,85 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<xs:complexType xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:all>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="ExcludeAssemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="IncludeAssemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="Unmanaged32Assemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of unmanaged 32 bit assembly names to include, delimited with line breaks.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="Unmanaged64Assemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of unmanaged 64 bit assembly names to include, delimited with line breaks.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" maxOccurs="1" name="PreloadOrder" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The order of preloaded assemblies, delimited with line breaks.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:all>
|
||||
<xs:attribute name="CreateTemporaryAssemblies" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IncludeDebugSymbols" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Controls if .pdbs for reference assemblies are also embedded.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DisableCompression" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="DisableCleanup" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="LoadAtModuleInit" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IgnoreSatelliteAssemblies" type="xs:boolean">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="ExcludeAssemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with |</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="IncludeAssemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Unmanaged32Assemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of unmanaged 32 bit assembly names to include, delimited with |.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="Unmanaged64Assemblies" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of unmanaged 64 bit assembly names to include, delimited with |.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="PreloadOrder" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The order of preloaded assemblies, delimited with |.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
</xs:complexType>
|
||||
BIN
packages/Fody.6.0.0/.signature.p7s
vendored
BIN
packages/Fody.6.0.0/.signature.p7s
vendored
Binary file not shown.
BIN
packages/Fody.6.0.0/Fody.6.0.0.nupkg
vendored
BIN
packages/Fody.6.0.0/Fody.6.0.0.nupkg
vendored
Binary file not shown.
110
packages/Fody.6.0.0/build/Fody.targets
vendored
110
packages/Fody.6.0.0/build/Fody.targets
vendored
@@ -1,110 +0,0 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<PropertyGroup>
|
||||
<ProjectWeaverXml Condition="$(ProjectWeaverXml) == ''">$(ProjectDir)FodyWeavers.xml</ProjectWeaverXml>
|
||||
<FodyPath Condition="$(FodyPath) == ''">$(MSBuildThisFileDirectory)..\</FodyPath>
|
||||
<FodyAssemblyDirectory Condition="$(MSBuildRuntimeType) == 'Core'">$(FodyPath)netstandardtask</FodyAssemblyDirectory>
|
||||
<FodyAssemblyDirectory Condition="$(MSBuildRuntimeType) != 'Core'">$(FodyPath)netclassictask</FodyAssemblyDirectory>
|
||||
<FodyAssembly Condition="$(FodyAssembly) == ''">$(FodyAssemblyDirectory)\Fody.dll</FodyAssembly>
|
||||
<DefaultItemExcludes>$(DefaultItemExcludes);FodyWeavers.xsd</DefaultItemExcludes>
|
||||
<FodyGenerateXsd Condition="$(FodyGenerateXsd) == ''">true</FodyGenerateXsd>
|
||||
<MsBuildMajorVersion>15</MsBuildMajorVersion>
|
||||
<MsBuildMajorVersion Condition="'$(MSBuildVersion)' != ''">$([System.Version]::Parse($(MSBuildVersion)).Major)</MsBuildMajorVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition="Exists($(ProjectWeaverXml))">
|
||||
<UpToDateCheckInput Include="$(ProjectWeaverXml)" />
|
||||
<CustomAdditionalCompileInputs Include="$(ProjectWeaverXml)" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- Support for NCrunch -->
|
||||
<ItemGroup Condition="'$(NCrunch)' == '1' and '$(TargetFramework)' == '' and '$(TargetFrameworks)' == ''">
|
||||
<None Include="$(FodyAssemblyDirectory)\*.*" />
|
||||
<None Include="@(WeaverFiles)" />
|
||||
</ItemGroup>
|
||||
|
||||
<UsingTask TaskName="Fody.WeavingTask" AssemblyFile="$(FodyAssembly)" />
|
||||
<UsingTask TaskName="Fody.UpdateReferenceCopyLocalTask" AssemblyFile="$(FodyAssembly)" />
|
||||
<UsingTask TaskName="Fody.VerifyTask" AssemblyFile="$(FodyAssembly)" />
|
||||
|
||||
<Target
|
||||
Name="FodyTarget"
|
||||
AfterTargets="AfterCompile"
|
||||
Condition="Exists(@(IntermediateAssembly)) And $(DesignTimeBuild) != true And $(DisableFody) != true"
|
||||
DependsOnTargets="$(FodyDependsOnTargets)"
|
||||
Inputs="@(IntermediateAssembly);$(ProjectWeaverXml)"
|
||||
Outputs="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache">
|
||||
|
||||
<Error Condition="($(MsBuildMajorVersion) < 16)"
|
||||
Text="Fody is only supported on MSBuild 16 and above. Current version: $(MsBuildMajorVersion)." />
|
||||
<Fody.WeavingTask
|
||||
AssemblyFile="@(IntermediateAssembly)"
|
||||
IntermediateDirectory="$(ProjectDir)$(IntermediateOutputPath)"
|
||||
KeyOriginatorFile="$(KeyOriginatorFile)"
|
||||
AssemblyOriginatorKeyFile="$(AssemblyOriginatorKeyFile)"
|
||||
ProjectDirectory="$(MSBuildProjectDirectory)"
|
||||
ProjectFile="$(MSBuildProjectFullPath)"
|
||||
SolutionDirectory="$(SolutionDir)"
|
||||
References="@(ReferencePath)"
|
||||
SignAssembly="$(SignAssembly)"
|
||||
ReferenceCopyLocalFiles="@(ReferenceCopyLocalPaths)"
|
||||
DefineConstants="$(DefineConstants)"
|
||||
DebugType="$(DebugType)"
|
||||
DocumentationFile="@(DocFileItem->'%(FullPath)')"
|
||||
WeaverFiles="@(WeaverFiles)"
|
||||
NCrunchOriginalSolutionDirectory="$(NCrunchOriginalSolutionDir)"
|
||||
IntermediateCopyLocalFilesCache="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache"
|
||||
GenerateXsd="$(FodyGenerateXsd)"
|
||||
>
|
||||
|
||||
<Output
|
||||
TaskParameter="ExecutedWeavers"
|
||||
PropertyName="FodyExecutedWeavers" />
|
||||
|
||||
</Fody.WeavingTask>
|
||||
|
||||
<ItemGroup>
|
||||
<FileWrites Include="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache" />
|
||||
</ItemGroup>
|
||||
|
||||
</Target>
|
||||
|
||||
<Target
|
||||
Name="FodyUpdateCopyLocalFilesTarget"
|
||||
AfterTargets="FodyTarget"
|
||||
>
|
||||
|
||||
<Fody.UpdateReferenceCopyLocalTask
|
||||
ReferenceCopyLocalFiles="@(ReferenceCopyLocalPaths)"
|
||||
IntermediateCopyLocalFilesCache="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache"
|
||||
>
|
||||
|
||||
<Output
|
||||
TaskParameter="UpdatedReferenceCopyLocalFiles"
|
||||
ItemName="FodyUpdatedReferenceCopyLocalPaths" />
|
||||
|
||||
</Fody.UpdateReferenceCopyLocalTask>
|
||||
|
||||
<ItemGroup>
|
||||
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" />
|
||||
<ReferenceCopyLocalPaths Include="@(FodyUpdatedReferenceCopyLocalPaths)" />
|
||||
</ItemGroup>
|
||||
|
||||
</Target>
|
||||
|
||||
<Target
|
||||
Name="FodyVerifyTarget"
|
||||
AfterTargets="AfterBuild"
|
||||
Condition="'$(NCrunch)' != '1' And $(FodyExecutedWeavers) != '' And $(DisableFody) != true"
|
||||
DependsOnTargets="$(FodyVerifyDependsOnTargets)">
|
||||
|
||||
<Fody.VerifyTask
|
||||
ProjectDirectory="$(MSBuildProjectDirectory)"
|
||||
TargetPath="$(TargetPath)"
|
||||
SolutionDirectory="$(SolutionDir)"
|
||||
DefineConstants="$(DefineConstants)"
|
||||
NCrunchOriginalSolutionDirectory="$(NCrunchOriginalSolutionDir)"
|
||||
/>
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
BIN
packages/Fody.6.0.0/netclassictask/Fody.dll
vendored
BIN
packages/Fody.6.0.0/netclassictask/Fody.dll
vendored
Binary file not shown.
BIN
packages/Fody.6.0.0/netclassictask/FodyCommon.dll
vendored
BIN
packages/Fody.6.0.0/netclassictask/FodyCommon.dll
vendored
Binary file not shown.
BIN
packages/Fody.6.0.0/netclassictask/FodyHelpers.dll
vendored
BIN
packages/Fody.6.0.0/netclassictask/FodyHelpers.dll
vendored
Binary file not shown.
BIN
packages/Fody.6.0.0/netclassictask/FodyIsolated.dll
vendored
BIN
packages/Fody.6.0.0/netclassictask/FodyIsolated.dll
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
packages/Fody.6.0.0/netclassictask/Mono.Cecil.dll
vendored
BIN
packages/Fody.6.0.0/netclassictask/Mono.Cecil.dll
vendored
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/Fody.dll
vendored
BIN
packages/Fody.6.0.0/netstandardtask/Fody.dll
vendored
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/FodyCommon.dll
vendored
BIN
packages/Fody.6.0.0/netstandardtask/FodyCommon.dll
vendored
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/FodyHelpers.dll
vendored
BIN
packages/Fody.6.0.0/netstandardtask/FodyHelpers.dll
vendored
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/FodyIsolated.dll
vendored
BIN
packages/Fody.6.0.0/netstandardtask/FodyIsolated.dll
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
packages/Fody.6.0.0/netstandardtask/Mono.Cecil.dll
vendored
BIN
packages/Fody.6.0.0/netstandardtask/Mono.Cecil.dll
vendored
Binary file not shown.
BIN
packages/Newtonsoft.Json.12.0.3/.signature.p7s
vendored
BIN
packages/Newtonsoft.Json.12.0.3/.signature.p7s
vendored
Binary file not shown.
20
packages/Newtonsoft.Json.12.0.3/LICENSE.md
vendored
20
packages/Newtonsoft.Json.12.0.3/LICENSE.md
vendored
@@ -1,20 +0,0 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2007 James Newton-King
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
packages/Newtonsoft.Json.12.0.3/packageIcon.png
vendored
BIN
packages/Newtonsoft.Json.12.0.3/packageIcon.png
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 8.7 KiB |
Reference in New Issue
Block a user