Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/FFXIVQuickLauncher
Submodule FFXIVQuickLauncher updated 84 files
+54 −63 .github/workflows/ci-workflow.yml
+0 −19 .github/workflows/delete-artifacts.yml
+7 −3 release.ps1
+7 −8 src/.editorconfig
+4 −0 src/Directory.Build.props
+1 −1 src/XIVLauncher.Common.Tests/PatchAcquisitionTests.cs
+9 −4 src/XIVLauncher.Common.Tests/XIVLauncher.Common.Tests.csproj
+3 −4 src/XIVLauncher.Common.Unix/UnixDalamudRunner.cs
+4 −2 src/XIVLauncher.Common.Unix/XIVLauncher.Common.Unix.csproj
+17 −5 src/XIVLauncher.Common.Windows/NativeAclFix.cs
+36 −0 src/XIVLauncher.Common.Windows/ShellLink.cs
+16 −2 src/XIVLauncher.Common.Windows/WindowsDalamudCompatibilityCheck.cs
+11 −1 src/XIVLauncher.Common.Windows/WindowsDalamudRunner.cs
+2 −8 src/XIVLauncher.Common.Windows/WindowsGameRunner.cs
+5 −3 src/XIVLauncher.Common.Windows/XIVLauncher.Common.Windows.csproj
+63 −0 src/XIVLauncher.Common/Dalamud/DalamudBranchMeta.cs
+9 −34 src/XIVLauncher.Common/Dalamud/DalamudLauncher.cs
+0 −34 src/XIVLauncher.Common/Dalamud/DalamudSettings.cs
+67 −25 src/XIVLauncher.Common/Dalamud/DalamudUpdater.cs
+4 −2 src/XIVLauncher.Common/Dalamud/DalamudVersionInfo.cs
+43 −14 src/XIVLauncher.Common/Encryption/ArgumentBuilder.cs
+1 −7 src/XIVLauncher.Common/Game/Exceptions/GameExitedException.cs
+39 −29 src/XIVLauncher.Common/Game/Patch/Acquisition/Aria/AriaHttpPatchAcquisition.cs
+4 −1 src/XIVLauncher.Common/Game/Patch/Acquisition/Aria/Attributes/AriaOption.cs
+0 −92 src/XIVLauncher.Common/Game/Patch/Acquisition/NetDownloaderPatchAcquisition.cs
+10 −12 src/XIVLauncher.Common/Game/Patch/PatchInstaller.cs
+62 −23 src/XIVLauncher.Common/Game/Patch/PatchManager.cs
+36 −28 src/XIVLauncher.Common/Game/Patch/PatchVerifier.cs
+36 −5 src/XIVLauncher.Common/Patching/Rpc/IpcHelpers.cs
+0 −24 src/XIVLauncher.Common/Repository.cs
+0 −33 src/XIVLauncher.Common/Util/ApiHelpers.cs
+41 −0 src/XIVLauncher.Common/Util/MathHelpers.cs
+46 −1 src/XIVLauncher.Common/Util/PlatformHelpers.cs
+14 −13 src/XIVLauncher.Common/XIVLauncher.Common.csproj
+2 −2 src/XIVLauncher.PatchInstaller/Commands/IndexCreateIntegrityCommand.cs
+1 −1 src/XIVLauncher.PatchInstaller/Commands/InstallCommand.cs
+1 −2 src/XIVLauncher.PatchInstaller/Commands/RpcCommand.cs
+19 −16 src/XIVLauncher.PatchInstaller/XIVLauncher.PatchInstaller.csproj
+7 −4 src/XIVLauncher.sln
+12 −0 src/XIVLauncher.sln.DotSettings
+2 −47 src/XIVLauncher/Accounts/XivAccount.cs
+5 −3 src/XIVLauncher/App.xaml
+28 −35 src/XIVLauncher/App.xaml.cs
+80 −0 src/XIVLauncher/Program.cs
+15 −2 src/XIVLauncher/Resources/CHANGELOG.txt
+5 −1 src/XIVLauncher/Settings/ILauncherSettingsV3.cs
+4 −4 src/XIVLauncher/Support/SupportLinks.cs
+59 −81 src/XIVLauncher/Updates.cs
+13 −13 src/XIVLauncher/Windows/AccountSwitcher.xaml.cs
+20 −2 src/XIVLauncher/Windows/AdvancedSettingsWindow.xaml
+15 −0 src/XIVLauncher/Windows/AdvancedSettingsWindow.xaml.cs
+25 −0 src/XIVLauncher/Windows/BetaKeyDialog.xaml
+27 −0 src/XIVLauncher/Windows/BetaKeyDialog.xaml.cs
+70 −45 src/XIVLauncher/Windows/ChangelogWindow.xaml
+108 −41 src/XIVLauncher/Windows/ChangelogWindow.xaml.cs
+2 −2 src/XIVLauncher/Windows/CustomMessageBox.xaml
+6 −2 src/XIVLauncher/Windows/CustomMessageBox.xaml.cs
+64 −0 src/XIVLauncher/Windows/DalamudBranchSwitcherWindow.xaml
+70 −0 src/XIVLauncher/Windows/DalamudBranchSwitcherWindow.xaml.cs
+2 −2 src/XIVLauncher/Windows/DalamudLoadingOverlay.xaml.cs
+0 −9 src/XIVLauncher/Windows/FirstTimeSetupWindow.xaml.cs
+29 −29 src/XIVLauncher/Windows/GameRepairProgressWindow.xaml
+4 −4 src/XIVLauncher/Windows/GameRepairProgressWindow.xaml.cs
+1 −1 src/XIVLauncher/Windows/GenericAddonSetupWindow.xaml
+3 −3 src/XIVLauncher/Windows/MainWindow.xaml
+13 −4 src/XIVLauncher/Windows/MainWindow.xaml.cs
+2 −1 src/XIVLauncher/Windows/OtpInputDialog.xaml
+5 −4 src/XIVLauncher/Windows/OtpInputDialog.xaml.cs
+47 −1 src/XIVLauncher/Windows/PatchDownloadDialog.xaml
+78 −10 src/XIVLauncher/Windows/PatchDownloadDialog.xaml.cs
+58 −46 src/XIVLauncher/Windows/SettingsControl.xaml
+50 −23 src/XIVLauncher/Windows/SettingsControl.xaml.cs
+23 −0 src/XIVLauncher/Windows/ViewModel/AdvancedSettingsViewModel.cs
+58 −0 src/XIVLauncher/Windows/ViewModel/DalamudBranchSwitcherViewModel.cs
+1 −1 src/XIVLauncher/Windows/ViewModel/FirstTimeSetupViewModel.cs
+10 −10 src/XIVLauncher/Windows/ViewModel/MainWindowViewModel.cs
+7 −3 src/XIVLauncher/Windows/ViewModel/PatchDownloadDialogViewModel.cs
+18 −43 src/XIVLauncher/Windows/ViewModel/SettingsControlViewModel.cs
+35 −38 src/XIVLauncher/XIVLauncher.csproj
+12 −26 src/XIVLauncher/Xaml/Components/FileEntry.xaml.cs
+14 −16 src/XIVLauncher/Xaml/Components/FolderEntry.xaml.cs
+6 −3 src/XIVLauncher/Xaml/Components/MaterialDesignOverrides.xaml
+36 −0 src/XIVLauncher/Xaml/SpeedSpinBox.xaml
+81 −0 src/XIVLauncher/Xaml/SpeedSpinBox.xaml.cs
25 changes: 13 additions & 12 deletions src/XIVLauncher.Core/Components/MainPage/MainPage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@
return;
}

if (Repository.Ffxiv.GetVer(App.Settings.GamePath) == Constants.BASE_GAME_VERSION &&

Check warning on line 132 in src/XIVLauncher.Core/Components/MainPage/MainPage.cs

View workflow job for this annotation

GitHub Actions / Build

Possible null reference argument for parameter 'gamePath' in 'string RepoExtensions.GetVer(Repository repo, DirectoryInfo gamePath, bool isBck = false)'.
App.Settings.IsUidCacheEnabled == true)
{
App.ShowMessageBlocking(
Expand Down Expand Up @@ -167,8 +167,9 @@
if (action == LoginAction.Fake)
{
IGameRunner gameRunner;
// FIXME: Should we really be passing a null DalamudLauncher to both of these?
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
gameRunner = new WindowsGameRunner(null, false, Program.DalamudUpdater.Runtime);
gameRunner = new WindowsGameRunner(null, false);

Check warning on line 172 in src/XIVLauncher.Core/Components/MainPage/MainPage.cs

View workflow job for this annotation

GitHub Actions / Build

Cannot convert null literal to non-nullable reference type.
else
gameRunner = new UnixGameRunner(Program.CompatibilityTools, null, false);

Expand Down Expand Up @@ -534,7 +535,7 @@
switch (Environment.OSVersion.Platform)
{
case PlatformID.Win32NT:
dalamudRunner = new WindowsDalamudRunner();
dalamudRunner = new WindowsDalamudRunner(Program.DalamudUpdater.Runtime);
dalamudCompatCheck = new WindowsDalamudCompatibilityCheck();
break;

Expand All @@ -550,7 +551,7 @@
Troubleshooting.LogTroubleshooting();

var dalamudLauncher = new DalamudLauncher(dalamudRunner, Program.DalamudUpdater,
App.Settings.DalamudLoadMethod.GetValueOrDefault(DalamudLoadMethod.DllInject), App.Settings.GamePath,

Check warning on line 554 in src/XIVLauncher.Core/Components/MainPage/MainPage.cs

View workflow job for this annotation

GitHub Actions / Build

Possible null reference argument for parameter 'gamePath' in 'DalamudLauncher.DalamudLauncher(IDalamudRunner runner, DalamudUpdater updater, DalamudLoadMethod loadMethod, DirectoryInfo gamePath, DirectoryInfo configDirectory, DirectoryInfo logPath, ClientLanguage clientLanguage, int injectionDelay, bool fakeLogin, bool noPlugin, bool noThirdPlugin, string troubleshootingData)'.
App.Storage.Root, App.Storage.GetFolder("logs"), App.Settings.ClientLanguage ?? ClientLanguage.English,
App.Settings.DalamudLoadDelay, false, noPlugins, noThird, Troubleshooting.GetTroubleshootingJson());

Expand Down Expand Up @@ -658,7 +659,7 @@

if (Environment.OSVersion.Platform == PlatformID.Win32NT)
{
runner = new WindowsGameRunner(dalamudLauncher, dalamudOk, Program.DalamudUpdater.Runtime);
runner = new WindowsGameRunner(dalamudLauncher, dalamudOk);
}
else if (Environment.OSVersion.Platform == PlatformID.Unix)
{
Expand All @@ -672,7 +673,7 @@
else if (!File.Exists(Path.Combine(App.Settings.WineBinaryPath, "wine64")))
throw new InvalidOperationException("Custom wine binary path is invalid: no wine64 found at that location.\n" +
"Check path carefully for typos: " + App.Settings.WineBinaryPath);

Log.Information("Using Custom Wine: " + App.Settings.WineBinaryPath);
}
else
Expand Down Expand Up @@ -729,8 +730,8 @@

// We won't do any sanity checks here anymore, since that should be handled in StartLogin
var launchedProcess = App.Launcher.LaunchGame(runner,
loginResult.UniqueId,

Check warning on line 733 in src/XIVLauncher.Core/Components/MainPage/MainPage.cs

View workflow job for this annotation

GitHub Actions / Build

Possible null reference argument for parameter 'sessionId' in 'Process? Launcher.LaunchGame(IGameRunner runner, string sessionId, int region, int expansionLevel, bool isSteamServiceAccount, string additionalArguments, DirectoryInfo gamePath, ClientLanguage language, bool encryptArguments, DpiAwareness dpiAwareness)'.
loginResult.OauthLogin.Region,

Check warning on line 734 in src/XIVLauncher.Core/Components/MainPage/MainPage.cs

View workflow job for this annotation

GitHub Actions / Build

Dereference of a possibly null reference.
loginResult.OauthLogin.MaxExpansion,
isSteam,
gameArgs,
Expand Down Expand Up @@ -872,7 +873,7 @@

Debug.Assert(loginResult.PendingPatches != null, "loginResult.PendingPatches != null ASSERTION FAILED");

return TryHandlePatchAsync(Repository.Ffxiv, loginResult.PendingPatches, loginResult.UniqueId);

Check warning on line 876 in src/XIVLauncher.Core/Components/MainPage/MainPage.cs

View workflow job for this annotation

GitHub Actions / Build

Possible null reference argument for parameter 'sid' in 'Task<bool> MainPage.TryHandlePatchAsync(Repository repository, PatchListEntry[] pendingPatches, string sid)'.
}

private async Task<bool> TryHandlePatchAsync(Repository repository, PatchListEntry[] pendingPatches, string sid)
Expand All @@ -896,7 +897,7 @@
return false;
}

using var installer = new PatchInstaller(App.Settings.KeepPatches ?? false);
using var installer = new PatchInstaller(App.Settings.GamePath, App.Settings.KeepPatches ?? false);
Program.Patcher = new PatchManager(App.Settings.PatchAcquisitionMethod ?? AcquisitionMethod.Aria, App.Settings.PatchSpeedLimit, repository, pendingPatches, App.Settings.GamePath,
App.Settings.PatchPath, installer, App.Launcher, sid);
Program.Patcher.OnFail += PatcherOnFail;
Expand Down Expand Up @@ -932,8 +933,8 @@
Thread.Sleep(30);

App.LoadingPage.Line2 = string.Format(Strings.WorkingOnStatus, Program.Patcher.CurrentInstallIndex, Program.Patcher.Downloads.Count);
App.LoadingPage.Line3 = string.Format(Strings.LeftToDownloadStatus, ApiHelpers.BytesToString(Program.Patcher.AllDownloadsLength < 0 ? 0 : Program.Patcher.AllDownloadsLength),
ApiHelpers.BytesToString(Program.Patcher.Speeds.Sum()));
App.LoadingPage.Line3 = string.Format(Strings.LeftToDownloadStatus, MathHelpers.BytesToString(Program.Patcher.AllDownloadsLength < 0 ? 0 : Program.Patcher.AllDownloadsLength),
MathHelpers.BytesToString(Program.Patcher.Speeds.Sum()));

App.LoadingPage.Progress = Program.Patcher.CurrentInstallIndex / (float)Program.Patcher.Downloads.Count;
}
Expand Down Expand Up @@ -963,19 +964,19 @@
case NotEnoughSpaceException.SpaceKind.Patches:
App.ShowMessageBlocking(
string.Format(Strings.NotEnoughSpacePatchesError,
ApiHelpers.BytesToString(sex.BytesRequired), ApiHelpers.BytesToString(sex.BytesFree)), Strings.XIVLauncherError);
MathHelpers.BytesToString(sex.BytesRequired), MathHelpers.BytesToString(sex.BytesFree)), Strings.XIVLauncherError);
break;

case NotEnoughSpaceException.SpaceKind.AllPatches:
App.ShowMessageBlocking(
string.Format(Strings.NotEnoughSpaceAllPatchesError,
ApiHelpers.BytesToString(sex.BytesRequired), ApiHelpers.BytesToString(sex.BytesFree)), Strings.XIVLauncherError);
MathHelpers.BytesToString(sex.BytesRequired), MathHelpers.BytesToString(sex.BytesFree)), Strings.XIVLauncherError);
break;

case NotEnoughSpaceException.SpaceKind.Game:
App.ShowMessageBlocking(
string.Format(Strings.NotEnoughSpaceGameError,
ApiHelpers.BytesToString(sex.BytesRequired), ApiHelpers.BytesToString(sex.BytesFree)), Strings.XIVLauncherError);
MathHelpers.BytesToString(sex.BytesRequired), MathHelpers.BytesToString(sex.BytesFree)), Strings.XIVLauncherError);
break;

default:
Expand Down Expand Up @@ -1045,13 +1046,13 @@
// TODO: show more progress info here
case PatchVerifier.VerifyState.DownloadMeta:
this.App.LoadingPage.Line2 = $"{verify.CurrentFile}";
this.App.LoadingPage.Line3 = $"{Math.Min(verify.PatchSetIndex + 1, verify.PatchSetCount)}/{verify.PatchSetCount} - {ApiHelpers.BytesToString(verify.Progress)}/{ApiHelpers.BytesToString(verify.Total)}";
this.App.LoadingPage.Line3 = $"{Math.Min(verify.PatchSetIndex + 1, verify.PatchSetCount)}/{verify.PatchSetCount} - {MathHelpers.BytesToString(verify.Progress)}/{MathHelpers.BytesToString(verify.Total)}";
this.App.LoadingPage.Progress = (float)(verify.Total != 0 ? (float)verify.Progress / (float)verify.Total : 0.0);
break;

case PatchVerifier.VerifyState.VerifyAndRepair:
this.App.LoadingPage.Line2 = $"{verify.CurrentFile}";
this.App.LoadingPage.Line3 = $"{Math.Min(verify.PatchSetIndex + 1, verify.PatchSetCount)}/{verify.PatchSetCount} - {Math.Min(verify.TaskIndex + 1, verify.TaskCount)}/{verify.TaskCount} - {ApiHelpers.BytesToString(verify.Progress)}/{ApiHelpers.BytesToString(verify.Total)}";
this.App.LoadingPage.Line3 = $"{Math.Min(verify.PatchSetIndex + 1, verify.PatchSetCount)}/{verify.PatchSetCount} - {Math.Min(verify.TaskIndex + 1, verify.TaskCount)}/{verify.TaskCount} - {MathHelpers.BytesToString(verify.Progress)}/{MathHelpers.BytesToString(verify.Total)}";
this.App.LoadingPage.Progress = (float)(verify.Total != 0 ? (float)verify.Progress / (float)verify.Total : 0);
break;

Expand Down
4 changes: 2 additions & 2 deletions src/XIVLauncher.Core/Configuration/ILauncherConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ public interface ILauncherConfig
{
public bool? CompletedFts { get; set; }

public bool? DoVersionCheck { get; set; }

public float? FontPxSize { get; set; }

public string? CurrentAccountId { get; set; }
Expand Down Expand Up @@ -98,6 +96,8 @@ public interface ILauncherConfig
public DalamudLoadMethod? DalamudLoadMethod { get; set; }
public bool? DalamudManualInjectionEnabled { get; set; }
public DirectoryInfo? DalamudManualInjectPath { get; set; }
public string? DalamudBetaKind { get; set; }
public string? DalamudBetaKey { get; set; }

public int DalamudLoadDelay { get; set; }

Expand Down
16 changes: 4 additions & 12 deletions src/XIVLauncher.Core/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ private static void LoadConfig(Storage storage)
Config.DpiAwareness ??= DpiAwareness.Unaware;
Config.IsAutologin ??= false;
Config.CompletedFts ??= false;
Config.DoVersionCheck ??= true;
Config.FontPxSize ??= 22.0f;

Config.IsEncryptArgs ??= true;
Expand Down Expand Up @@ -169,7 +168,7 @@ private static DalamudUpdater CreateDalamudUpdater()
{
runnerOverride = new FileInfo(Path.Combine(Config.DalamudManualInjectPath.FullName, DALAMUD_INJECTOR_NAME));
}
return new DalamudUpdater(storage.GetFolder("dalamud"), storage.GetFolder("runtime"), storage.GetFolder("dalamudAssets"), storage.Root, null, null)
return new DalamudUpdater(storage.GetFolder("dalamud"), storage.GetFolder("runtime"), storage.GetFolder("dalamudAssets"), null, null)
{
Overlay = DalamudLoadInfo,
RunnerOverride = runnerOverride
Expand Down Expand Up @@ -251,7 +250,7 @@ private static void Main(string[] args)
// Manual or auto injection setup.
DalamudLoadInfo = new DalamudOverlayInfoProxy();
DalamudUpdater = CreateDalamudUpdater();
DalamudUpdater.Run();
DalamudUpdater.Run(Config.DalamudBetaKind, Config.DalamudBetaKind);

CreateCompatToolsInstance();

Expand Down Expand Up @@ -317,17 +316,10 @@ private static void Main(string[] args)
guiBindings.Dispose();
commandList.Dispose();
graphicsDevice.Dispose();

HttpClient.Dispose();

if (Patcher is not null)
{
Patcher.CancelAllDownloads();
Task.Run(async () =>
{
await PatchManager.UnInitializeAcquisition().ConfigureAwait(false);
Environment.Exit(0);
});
Patcher.StartCancellation();
}
}

Expand Down Expand Up @@ -418,7 +410,7 @@ public static void ClearPlugins(bool tsbutton = false)
{
DalamudLoadInfo = new DalamudOverlayInfoProxy();
DalamudUpdater = CreateDalamudUpdater();
DalamudUpdater.Run();
DalamudUpdater.Run(Config.DalamudBetaKind, Config.DalamudBetaKey);
}
}

Expand Down
36 changes: 20 additions & 16 deletions src/XIVLauncher.Core/XIVLauncher.Core.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,10 @@
<PackageReference Include="Config.Net" Version="4.19.0" />
<PackageReference Include="ImGui.NET" Version="1.87.2" />
<PackageReference Include="KeySharp" Version="1.0.5" />
<PackageReference Include="Serilog" Version="2.12.0" />
<PackageReference Include="Serilog.Enrichers.Thread" Version="3.1.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="4.0.1" />
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
<PackageReference Include="Serilog" Version="4.3.0" />
<PackageReference Include="Serilog.Enrichers.Thread" Version="4.0.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" />
<PackageReference Include="Serilog.Sinks.File" Version="7.0.0" />
<PackageReference Include="SixLabors.ImageSharp" Version="1.0.4" />
<PackageReference Include="Veldrid" Version="4.9.0" />
<PackageReference Include="Veldrid.ImageSharp" Version="4.9.0" />
Expand All @@ -93,22 +93,26 @@
<EmbeddedResource Include="Shaders/Metal/imgui-frag.metallib"
LogicalName="imgui-frag.metallib" />
<EmbeddedResource Update="Resources\Localization\Strings.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Strings.Designer.cs</LastGenOutput>
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Strings.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>

<ItemGroup>
<EmbeddedResource Include="Resources/fonts/FontAwesome5FreeSolid.otf" LogicalName="FontAwesome5FreeSolid.otf" />
<EmbeddedResource Include="Resources/fonts/NotoSansCJKjp-Regular.otf" LogicalName="NotoSansCJKjp-Regular.otf" />
<EmbeddedResource Include="Resources/fonts/FontAwesome5FreeSolid.otf"
LogicalName="FontAwesome5FreeSolid.otf" />
<EmbeddedResource Include="Resources/fonts/NotoSansCJKjp-Regular.otf"
LogicalName="NotoSansCJKjp-Regular.otf" />

<EmbeddedResource Include="Resources/logo.png" LogicalName="logo.png" />

<EmbeddedResource Include="Resources/bg_logo.png" LogicalName="bg_logo.png" />

<EmbeddedResource Include="Resources/steamdeck_fts.png" LogicalName="steamdeck_fts.png" />
<EmbeddedResource Include="Resources/steamdeck_fterror.png" LogicalName="steamdeck_fterror.png" />
<EmbeddedResource Include="Resources/steamdeck_switchprompt.png" LogicalName="steamdeck_switchprompt.png" />
<EmbeddedResource Include="Resources/steamdeck_fterror.png"
LogicalName="steamdeck_fterror.png" />
<EmbeddedResource Include="Resources/steamdeck_switchprompt.png"
LogicalName="steamdeck_switchprompt.png" />
</ItemGroup>

<ItemGroup Condition="'$(RuntimeIdentifier)' == 'win10-x64'">
Expand All @@ -119,11 +123,11 @@
</ItemGroup>

<ItemGroup>
<Compile Update="Resources\Localization\Strings.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Strings.resx</DependentUpon>
</Compile>
<Compile Update="Resources\Localization\Strings.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Strings.resx</DependentUpon>
</Compile>
</ItemGroup>

<!-- Git -->
Expand Down Expand Up @@ -170,4 +174,4 @@
AssemblyAttributes="@(AssemblyAttributes)" />
</Target>

</Project>
</Project>
Loading