Skip to content

Commit

Permalink
Merge latest commits from 'main', update submodue.
Browse files Browse the repository at this point in the history
  • Loading branch information
rankynbass committed Jun 29, 2024
2 parents 0b6d067 + d600d78 commit fe63cc8
Show file tree
Hide file tree
Showing 9 changed files with 34 additions and 19 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 6.0.x
dotnet-version: 8.0.x

- name: Dotnet Restore
run: dotnet restore
Expand All @@ -41,7 +41,7 @@ jobs:
run: dotnet publish -r linux-x64 --sc --configuration Release -p:DefineConstants=WINE_XIV_FEDORA_LINUX --no-restore -o ./dist/XIVLauncher.Core-fedora

- name: Dotnet Build (Windows)
run: dotnet publish -r win10-x64 --sc --configuration Release -o ./dist/XIVLauncher.Core-win10x64
run: dotnet publish -r win-x64 --sc --configuration Release -o ./dist/XIVLauncher.Core-win10x64

- name: Dotnet Test
run: dotnet test --no-build --verbosity normal
6 changes: 3 additions & 3 deletions .github/workflows/generate_flatpak_nuget_deps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@ jobs:
sudo apt update -y
sudo apt install flatpak -y
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user org.freedesktop.Sdk.Extension.dotnet6/x86_64/22.08 -y # Update this when needed.
flatpak install --user org.freedesktop.Sdk/x86_64/22.08 -y # As well as this, if dependency generation is failing.
flatpak install --user org.freedesktop.Sdk.Extension.dotnet8/x86_64/23.08 -y # Update this when needed.
flatpak install --user org.freedesktop.Sdk/x86_64/23.08 -y # As well as this, if dependency generation is failing.
- name: Generate nuget-dependencies.json
working-directory: ./src/XIVLauncher.Core/
run: |
curl -LO https://raw.githubusercontent.com/flatpak/flatpak-builder-tools/master/dotnet/flatpak-dotnet-generator.py
python3 flatpak-dotnet-generator.py nuget-dependencies.json XIVLauncher.Core.csproj
python3 flatpak-dotnet-generator.py --dotnet 8 --freedesktop 23.08 nuget-dependencies.json XIVLauncher.Core.csproj
- name: Upload nuget-dependencies.json
uses: actions/upload-artifact@v3
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/make-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ jobs:
sudo apt update -y
sudo apt install flatpak -y
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user org.freedesktop.Sdk.Extension.dotnet6/x86_64/22.08 -y
flatpak install --user org.freedesktop.Sdk/x86_64/22.08 -y
flatpak install --user org.freedesktop.Sdk.Extension.dotnet8/x86_64/23.08 -y
flatpak install --user org.freedesktop.Sdk/x86_64/23.08 -y
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 6.0.x # Set this to be the same as the projects required dotnet version.
dotnet-version: 8.0.x # Set this to be the same as the projects required dotnet version.

- name: Dotnet Restore
working-directory: ./src/XIVLauncher.Core/
Expand All @@ -55,13 +55,13 @@ jobs:

- name: Dotnet Build (Windows)
working-directory: ./src/XIVLauncher.Core/
run: dotnet publish -r win10-x64 --sc --configuration Release -o ./dist/XIVLauncher.Core-win10x64
run: dotnet publish -r win-x64 --sc --configuration Release -o ./dist/XIVLauncher.Core-win10x64

- name: Generate nuget-dependencies.json
working-directory: ./src/XIVLauncher.Core/
run: |
curl -LO https://raw.githubusercontent.com/flatpak/flatpak-builder-tools/master/dotnet/flatpak-dotnet-generator.py
python3 flatpak-dotnet-generator.py nuget-dependencies.json XIVLauncher.Core.csproj
python3 flatpak-dotnet-generator.py --dotnet 8 --freedesktop 23.08 nuget-dependencies.json XIVLauncher.Core.csproj
- name: Upload nuget-dependencies.json
uses: actions/upload-artifact@v3
Expand Down
2 changes: 1 addition & 1 deletion lib/FFXIVQuickLauncher
Submodule FFXIVQuickLauncher updated 54 files
+40 −2 .github/workflows/ci-workflow.yml
+11 −0 scripts/CreateHashList.ps1
+1 −1 src/.editorconfig
+1 −1 src/XIVLauncher.Common.Tests/XIVLauncher.Common.Tests.csproj
+1 −5 src/XIVLauncher.Common.Unix/Compatibility/GameFixes/GameFixApply.cs
+0 −81 src/XIVLauncher.Common.Unix/Compatibility/GameFixes/Implementations/MacVideoFix.cs
+1 −1 src/XIVLauncher.Common.Unix/XIVLauncher.Common.Unix.csproj
+15 −4 src/XIVLauncher.Common.Windows/WindowsDalamudCompatibilityCheck.cs
+1 −1 src/XIVLauncher.Common.Windows/XIVLauncher.Common.Windows.csproj
+9 −3 src/XIVLauncher.Common/CommonUniqueIdCache.cs
+3 −3 src/XIVLauncher.Common/Game/IntegrityCheck.cs
+6 −18 src/XIVLauncher.Common/Game/Launcher.cs
+5 −5 src/XIVLauncher.Common/Game/Patch/PatchVerifier.cs
+131 −44 src/XIVLauncher.Common/Patching/IndexedZiPatch/IIndexedZiPatchIndexInstaller.cs
+188 −148 src/XIVLauncher.Common/Patching/IndexedZiPatch/IndexedZiPatchIndex.cs
+154 −118 src/XIVLauncher.Common/Patching/IndexedZiPatch/IndexedZiPatchIndexLocalInstaller.cs
+572 −581 src/XIVLauncher.Common/Patching/IndexedZiPatch/IndexedZiPatchIndexRemoteInstaller.cs
+614 −582 src/XIVLauncher.Common/Patching/IndexedZiPatch/IndexedZiPatchInstaller.cs
+159 −129 src/XIVLauncher.Common/Patching/IndexedZiPatch/IndexedZiPatchOperations.cs
+367 −347 src/XIVLauncher.Common/Patching/IndexedZiPatch/IndexedZiPatchPartLocator.cs
+172 −168 src/XIVLauncher.Common/Patching/IndexedZiPatch/IndexedZiPatchTargetFile.cs
+69 −51 src/XIVLauncher.Common/Patching/IndexedZiPatch/IndexedZiPatchTargetViewStream.cs
+6 −1 src/XIVLauncher.Common/Patching/RemotePatchInstaller.cs
+3 −2 src/XIVLauncher.Common/Patching/ZiPatch/Chunk/SqpkCommand/SqpkFile.cs
+27 −1 src/XIVLauncher.Common/Patching/ZiPatch/Util/SqexFile.cs
+9 −9 src/XIVLauncher.Common/Patching/ZiPatch/Util/SqexFileStream.cs
+17 −3 src/XIVLauncher.Common/Patching/ZiPatch/Util/SqexFileStreamStore.cs
+4 −0 src/XIVLauncher.Common/Patching/ZiPatch/ZiPatchFile.cs
+19 −1 src/XIVLauncher.Common/Util/ApiHelpers.cs
+1 −1 src/XIVLauncher.Common/XIVLauncher.Common.csproj
+206 −0 src/XIVLauncher.PatchInstaller/Commands/CheckIntegrityCommand.cs
+40 −0 src/XIVLauncher.PatchInstaller/Commands/IndexCreateCommand.cs
+268 −0 src/XIVLauncher.PatchInstaller/Commands/IndexCreateIntegrityCommand.cs
+58 −0 src/XIVLauncher.PatchInstaller/Commands/IndexRepairCommand.cs
+48 −0 src/XIVLauncher.PatchInstaller/Commands/IndexRpcCommand.cs
+109 −0 src/XIVLauncher.PatchInstaller/Commands/IndexRpcTestCommand.cs
+444 −0 src/XIVLauncher.PatchInstaller/Commands/IndexUpdateCommand.cs
+72 −0 src/XIVLauncher.PatchInstaller/Commands/IndexVerifyCommand.cs
+70 −0 src/XIVLauncher.PatchInstaller/Commands/InstallCommand.cs
+75 −0 src/XIVLauncher.PatchInstaller/Commands/RpcCommand.cs
+38 −141 src/XIVLauncher.PatchInstaller/Program.cs
+382 −0 src/XIVLauncher.PatchInstaller/Utilities/FileDownloader.cs
+3 −0 src/XIVLauncher.PatchInstaller/XIVLauncher.PatchInstaller.csproj
+1 −0 src/XIVLauncher.sln.DotSettings
+2 −7 src/XIVLauncher/Resources/CHANGELOG.txt
+9 −3 src/XIVLauncher/Windows/AccountSwitcher.xaml
+80 −1 src/XIVLauncher/Windows/AccountSwitcher.xaml.cs
+2 −2 src/XIVLauncher/Windows/GameRepairProgressWindow.xaml.cs
+4 −3 src/XIVLauncher/Windows/PatchDownloadDialog.xaml
+3 −1 src/XIVLauncher/Windows/PatchDownloadDialog.xaml.cs
+7 −4 src/XIVLauncher/Windows/ViewModel/MainWindowViewModel.cs
+9 −1 src/XIVLauncher/Windows/ViewModel/PatchDownloadDialogViewModel.cs
+1 −1 src/XIVLauncher/XIVLauncher.csproj
+2 −2 src/global.json
15 changes: 13 additions & 2 deletions src/XIVLauncher.Core/Components/MainPage/MainPage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -677,6 +677,17 @@ public async Task<Process> StartGameAndAddon(Launcher.LoginResult loginResult, b

IGameRunner runner;

// Set LD_PRELOAD to value of XL_PRELOAD if we're running as a steam compatibility tool.
// This check must be done before the FixLDP check so that it will still work.
if (CoreEnvironmentSettings.IsSteamCompatTool)
{
var ldpreload = System.Environment.GetEnvironmentVariable("LD_PRELOAD") ?? "";
var xlpreload = System.Environment.GetEnvironmentVariable("XL_PRELOAD") ?? "";
ldpreload = (ldpreload + ":" + xlpreload).Trim(':');
if (!string.IsNullOrEmpty(ldpreload))
System.Environment.SetEnvironmentVariable("LD_PRELOAD", ldpreload);
}

// Hack: Force C.utf8 to fix incorrect unicode paths
if (App.Settings.FixLocale == true && !string.IsNullOrEmpty(Program.CType))
{
Expand Down Expand Up @@ -1037,7 +1048,7 @@ void UpdatePatchStatus()
finally
{
token.Cancel();
statusThread.Join(3000);
statusThread.Join(TimeSpan.FromMilliseconds(1000));
}

return true;
Expand Down Expand Up @@ -1137,7 +1148,7 @@ private async Task<bool> RepairGame(Launcher.LoginResult loginResult)
Log.Information("STARTING REPAIR");

// TODO: bundle the PatchInstaller with xl-core on Windows and run this remotely
using var verify = new PatchVerifier(Program.CommonSettings, loginResult, 20, loginResult.OauthLogin.MaxExpansion, false);
using var verify = new PatchVerifier(Program.CommonSettings, loginResult, TimeSpan.FromMilliseconds(100), loginResult.OauthLogin.MaxExpansion, false);

for (bool doVerify = true; doVerify;)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,10 @@ public class SettingsTabGame : SettingsTab
new SettingsEntry<DpiAwareness>("Game DPI Awareness", "Select the game's DPI Awareness. Change this if the game's scaling looks wrong.", () => Program.Config.DpiAwareness ?? DpiAwareness.Unaware, x => Program.Config.DpiAwareness = x),
new SettingsEntry<bool>("Free Trial Account", "Check this if you are using a free trial account.", () => Program.Config.IsFt ?? false, x => Program.Config.IsFt = x),
new SettingsEntry<bool>("Use XIVLauncher authenticator/OTP macros", "Check this if you want to use the XIVLauncher authenticator app or macros.", () => Program.Config.IsOtpServer ?? false, x => Program.Config.IsOtpServer = x),
new SettingsEntry<bool>("Ignore Steam", "Check this if you do not want XIVLauncher to communicate with Steam (Requires Restart).", () => Program.Config.IsIgnoringSteam ?? false, x => Program.Config.IsIgnoringSteam = x),
new SettingsEntry<bool>("Ignore Steam", "Check this if you do not want XIVLauncher to communicate with Steam (Requires Restart).", () => Program.Config.IsIgnoringSteam ?? false, x => Program.Config.IsIgnoringSteam = x)
{
CheckVisibility = () => !CoreEnvironmentSettings.IsSteamCompatTool,
},
new SettingsEntry<bool>("Use Experimental UID Cache", "Tries to save your login token for the next start. Can result in launching with expired sessions.\nDisable if receiving FFXIV error 1012 or 500X.", () => Program.Config.IsUidCacheEnabled ?? false, x => Program.Config.IsUidCacheEnabled = x),
};

Expand Down
1 change: 1 addition & 0 deletions src/XIVLauncher.Core/CoreEnvironmentSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ public static class CoreEnvironmentSettings
public static bool ClearLogs => CheckEnvBool("XL_CLEAR_LOGS");
public static bool ClearAll => CheckEnvBool("XL_CLEAR_ALL");
public static bool? UseSteam => CheckEnvBoolOrNull("XL_USE_STEAM"); // Fix for Steam Deck users who lock themselves out
public static bool IsSteamCompatTool => CheckEnvBool("XL_SCT");

private static bool CheckEnvBool(string key)
{
Expand Down
2 changes: 1 addition & 1 deletion src/XIVLauncher.Core/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ private static void Main(string[] args)
default:
throw new PlatformNotSupportedException();
}
if (!Config.IsIgnoringSteam ?? true)
if (Config.IsIgnoringSteam != true || CoreEnvironmentSettings.IsSteamCompatTool)
{
try
{
Expand Down
8 changes: 4 additions & 4 deletions src/XIVLauncher.Core/XIVLauncher.Core.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<LangVersion>latest</LangVersion>
<ApplicationIcon>Resources\dalamud_icon.ico</ApplicationIcon>

<Version>1.0.9.0</Version>
<Version>1.1.0.0</Version>
<FileVersion>$(Version)</FileVersion>
<AssemblyVersion>$(Version)</AssemblyVersion>

<RuntimeIdentifiers>win10-x64;linux-x64;osx-x64</RuntimeIdentifiers>
<RuntimeIdentifiers>win-x64;linux-x64;osx-x64</RuntimeIdentifiers>
<PublishSingleFile>true</PublishSingleFile>
<!-- <SelfContained>true</SelfContained> -->
<SelfContained>true</SelfContained>

<IsWindows
Condition="'$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))' == 'true'">
Expand Down

0 comments on commit fe63cc8

Please sign in to comment.