mirror of
https://github.com/sp-tarkov/launcher.git
synced 2025-02-12 14:30:44 -05:00
Rebrand - part 1 - waffle dont hate me
This commit is contained in:
parent
9c09546d79
commit
5e38d97a8b
@ -1,8 +1,8 @@
|
||||
# NCSA Open Source License
|
||||
|
||||
Copyright (c) 2022 SPT-AKI. All rights reserved.
|
||||
Copyright (c) 2022 SPT. All rights reserved.
|
||||
|
||||
Developed by: SPT-AKI
|
||||
Developed by: SPT
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
@ -18,7 +18,7 @@ this list of conditions and the following disclaimers.
|
||||
this list of conditions and the following disclaimers in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
* Neither the names of SPT-AKI, nor the names of its contributors may be used
|
||||
* Neither the names of SPT, nor the names of its contributors may be used
|
||||
to endorse or promote products derived from this Software without specific
|
||||
prior written permission.
|
||||
|
||||
|
@ -4,10 +4,10 @@ Custom launcher for Escape From Tarkov to start the game in offline mode
|
||||
|
||||
**Project** | **Function**
|
||||
------------------ | --------------------------------------------
|
||||
Aki.Build | Build script
|
||||
Aki.ByteBanger | Assembly-CSharp.dll patcher
|
||||
Aki.Launcher | Launcher frontend
|
||||
Aki.Launcher.Base | Launcher backend
|
||||
SPT.Build | Build script
|
||||
SPT.ByteBanger | Assembly-CSharp.dll patcher
|
||||
SPT.Launcher | Launcher frontend
|
||||
SPT.Launcher.Base | Launcher backend
|
||||
|
||||
## Privacy
|
||||
SPT is an open source project. Your commit credentials as author of a commit will be visible by anyone. Please make sure you understand this before submitting a PR.
|
||||
|
@ -1,7 +0,0 @@
|
||||
namespace Aki.Launcher.Models.Aki
|
||||
{
|
||||
public class AkiData
|
||||
{
|
||||
public string version { get; set; }
|
||||
}
|
||||
}
|
@ -5,7 +5,7 @@
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"window.title": "SPT-AKI Launcher"
|
||||
"window.title": "SPT Launcher"
|
||||
},
|
||||
"extensions": {
|
||||
"recommendations": [
|
||||
|
@ -3,13 +3,13 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.0.32014.148
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aki.ByteBanger", "Aki.ByteBanger\Aki.ByteBanger.csproj", "{4B1F5C39-92C9-41DC-820C-E0EC3500E400}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SPT.ByteBanger", "SPT.ByteBanger\SPT.ByteBanger.csproj", "{4B1F5C39-92C9-41DC-820C-E0EC3500E400}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aki.Build", "Aki.Build\Aki.Build.csproj", "{A8A96141-291E-44B7-A074-4B240274083C}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SPT.Build", "SPT.Build\SPT.Build.csproj", "{A8A96141-291E-44B7-A074-4B240274083C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aki.Launcher.Base", "Aki.Launcher.Base\Aki.Launcher.Base.csproj", "{1DD556B6-45FF-43B6-A1CA-2590F270304C}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SPT.Launcher.Base", "SPT.Launcher.Base\SPT.Launcher.Base.csproj", "{1DD556B6-45FF-43B6-A1CA-2590F270304C}"
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aki.Launcher", "Aki.Launcher\Aki.Launcher.csproj", "{C566CA5A-0B68-4F76-A980-8BC0FE701491}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SPT.Launcher", "SPT.Launcher\SPT.Launcher.csproj", "{C566CA5A-0B68-4F76-A980-8BC0FE701491}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
@ -6,7 +6,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
||||
<Exec Command="dotnet publish ../Aki.Launcher/Aki.Launcher.csproj -c Release -f net8.0 -r win-x64 /p:IncludeNativeLibrariesForSelfExtract=true -p:PublishSingleFile=true --self-contained false"/>
|
||||
<Exec Command="dotnet publish ../SPT.Launcher/SPT.Launcher.csproj -c Release -f net8.0 -r win-x64 /p:IncludeNativeLibrariesForSelfExtract=true -p:PublishSingleFile=true --self-contained false"/>
|
||||
<Exec Command="pwsh -NoProfile -ExecutionPolicy Bypass ../build.ps1" WorkingDirectory="$(ProjectDir)" />
|
||||
</Target>
|
||||
|
@ -1,4 +1,4 @@
|
||||
namespace Aki.ByteBanger
|
||||
namespace SPT.ByteBanger
|
||||
{
|
||||
public class DiffResult
|
||||
{
|
@ -1,7 +1,7 @@
|
||||
/* PatchInfo.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Basuro
|
||||
*/
|
||||
@ -12,7 +12,7 @@ using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
|
||||
namespace Aki.ByteBanger
|
||||
namespace SPT.ByteBanger
|
||||
{
|
||||
public class PatchInfo
|
||||
{
|
@ -1,7 +1,7 @@
|
||||
/* PatchItem.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Basuro
|
||||
*/
|
||||
@ -9,7 +9,7 @@
|
||||
|
||||
using System.IO;
|
||||
|
||||
namespace Aki.ByteBanger
|
||||
namespace SPT.ByteBanger
|
||||
{
|
||||
public class PatchItem
|
||||
{
|
@ -1,4 +1,4 @@
|
||||
namespace Aki.ByteBanger
|
||||
namespace SPT.ByteBanger
|
||||
{
|
||||
public class PatchResult
|
||||
{
|
@ -1,7 +1,7 @@
|
||||
/* BB.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Basuro
|
||||
*/
|
||||
@ -12,7 +12,7 @@ using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Security.Cryptography;
|
||||
|
||||
namespace Aki.ByteBanger
|
||||
namespace SPT.ByteBanger
|
||||
{
|
||||
public static class PatchUtil
|
||||
{
|
@ -1,22 +1,21 @@
|
||||
/* AccountManager.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
using System;
|
||||
using Aki.Launcher.Helpers;
|
||||
using Aki.Launcher.MiniCommon;
|
||||
using Aki.Launcher.Models.Aki;
|
||||
using Aki.Launcher.Models.Launcher;
|
||||
using SPT.Launcher.Helpers;
|
||||
using SPT.Launcher.MiniCommon;
|
||||
using SPT.Launcher.Models.SPT;
|
||||
using SPT.Launcher.Models.Launcher;
|
||||
using System.Threading.Tasks;
|
||||
using Aki.Launcher.Controllers;
|
||||
using SPT.Launcher.Controllers;
|
||||
|
||||
namespace Aki.Launcher
|
||||
namespace SPT.Launcher
|
||||
{
|
||||
public enum AccountStatus
|
||||
{
|
@ -1,28 +1,27 @@
|
||||
/* GameStarter.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
* reider123
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
using Aki.Launcher.Helpers;
|
||||
using Aki.Launcher.MiniCommon;
|
||||
using Aki.Launcher.Models.Launcher;
|
||||
using SPT.Launcher.Helpers;
|
||||
using SPT.Launcher.MiniCommon;
|
||||
using SPT.Launcher.Models.Launcher;
|
||||
using Microsoft.Win32;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using Aki.Launcher.Controllers;
|
||||
using Aki.Launcher.Interfaces;
|
||||
using SPT.Launcher.Controllers;
|
||||
using SPT.Launcher.Interfaces;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Aki.Launcher
|
||||
namespace SPT.Launcher
|
||||
{
|
||||
public class GameStarter
|
||||
{
|
||||
@ -147,12 +146,9 @@ namespace Aki.Launcher
|
||||
{
|
||||
var files = new FileInfo[]
|
||||
{
|
||||
// aki files
|
||||
new FileInfo(Path.Combine(_originalGamePath, @"Aki.Launcher.exe")),
|
||||
new FileInfo(Path.Combine(_originalGamePath, @"Aki.Server.exe")),
|
||||
new FileInfo(Path.Combine(_originalGamePath, @"EscapeFromTarkov_Data\Managed\Aki.Build.dll")),
|
||||
new FileInfo(Path.Combine(_originalGamePath, @"EscapeFromTarkov_Data\Managed\Aki.Common.dll")),
|
||||
new FileInfo(Path.Combine(_originalGamePath, @"EscapeFromTarkov_Data\Managed\Aki.Reflection.dll")),
|
||||
// SPT files
|
||||
new FileInfo(Path.Combine(_originalGamePath, @"SPT.Launcher.exe")),
|
||||
new FileInfo(Path.Combine(_originalGamePath, @"SPT.Server.exe")),
|
||||
|
||||
// bepinex files
|
||||
new FileInfo(Path.Combine(_originalGamePath, @"doorstep_config.ini")),
|
||||
@ -167,7 +163,7 @@ namespace Aki.Launcher
|
||||
};
|
||||
var directories = new DirectoryInfo[]
|
||||
{
|
||||
new DirectoryInfo(Path.Combine(_originalGamePath, @"Aki_Data")),
|
||||
new DirectoryInfo(Path.Combine(_originalGamePath, @"SPT_Data")),
|
||||
new DirectoryInfo(Path.Combine(_originalGamePath, @"BepInEx"))
|
||||
};
|
||||
|
@ -1,16 +1,15 @@
|
||||
/* LogManager.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace Aki.Launcher.Controllers
|
||||
namespace SPT.Launcher.Controllers
|
||||
{
|
||||
/// <summary>
|
||||
/// LogManager
|
@ -1,15 +1,14 @@
|
||||
/* RequestHandler.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
using Aki.Launcher.MiniCommon;
|
||||
using SPT.Launcher.MiniCommon;
|
||||
|
||||
namespace Aki.Launcher
|
||||
namespace SPT.Launcher
|
||||
{
|
||||
public static class RequestHandler
|
||||
{
|
@ -1,18 +1,17 @@
|
||||
/* ServerManager.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
using Aki.Launcher.MiniCommon;
|
||||
using Aki.Launcher.Models.Aki;
|
||||
using SPT.Launcher.MiniCommon;
|
||||
using SPT.Launcher.Models.SPT;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Aki.Launcher
|
||||
namespace SPT.Launcher
|
||||
{
|
||||
public static class ServerManager
|
||||
{
|
||||
@ -64,31 +63,31 @@ namespace Aki.Launcher
|
||||
}
|
||||
}
|
||||
|
||||
public static Dictionary<string, AkiServerModInfo> GetLoadedServerMods()
|
||||
public static Dictionary<string, SPTServerModInfo> GetLoadedServerMods()
|
||||
{
|
||||
try
|
||||
{
|
||||
string json = RequestHandler.RequestLoadedServerMods();
|
||||
|
||||
return Json.Deserialize<Dictionary<string, AkiServerModInfo>>(json);
|
||||
return Json.Deserialize<Dictionary<string, SPTServerModInfo>>(json);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return new Dictionary<string, AkiServerModInfo>();
|
||||
return new Dictionary<string, SPTServerModInfo>();
|
||||
}
|
||||
}
|
||||
|
||||
public static AkiProfileModInfo[] GetProfileMods()
|
||||
public static SPTProfileModInfo[] GetProfileMods()
|
||||
{
|
||||
try
|
||||
{
|
||||
string json = RequestHandler.RequestProfileMods();
|
||||
|
||||
return Json.Deserialize<AkiProfileModInfo[]>(json);
|
||||
return Json.Deserialize<SPTProfileModInfo[]>(json);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return new AkiProfileModInfo[] { };
|
||||
return new SPTProfileModInfo[] { };
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* DictionaryExtension.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
*/
|
||||
@ -10,7 +10,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Aki.Launcher.Extensions
|
||||
namespace SPT.Launcher.Extensions
|
||||
{
|
||||
public static class DictionaryExtensions
|
||||
{
|
@ -1,20 +1,19 @@
|
||||
/* FilePatcher.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Merijn Hendriks
|
||||
* waffle.lord
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using Aki.ByteBanger;
|
||||
using Aki.Launcher.Controllers;
|
||||
using Aki.Launcher.MiniCommon;
|
||||
using Aki.Launcher.Models.Launcher;
|
||||
using SPT.ByteBanger;
|
||||
using SPT.Launcher.Controllers;
|
||||
using SPT.Launcher.MiniCommon;
|
||||
using SPT.Launcher.Models.Launcher;
|
||||
|
||||
namespace Aki.Launcher.Helpers
|
||||
namespace SPT.Launcher.Helpers
|
||||
{
|
||||
public static class FilePatcher
|
||||
{
|
@ -1,22 +1,21 @@
|
||||
/* LauncherSettingsProvider.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
using Aki.Launcher.MiniCommon;
|
||||
using Aki.Launcher.Models.Launcher;
|
||||
using SPT.Launcher.MiniCommon;
|
||||
using SPT.Launcher.Models.Launcher;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using Aki.Launcher.Controllers;
|
||||
using SPT.Launcher.Controllers;
|
||||
|
||||
namespace Aki.Launcher.Helpers
|
||||
namespace SPT.Launcher.Helpers
|
||||
{
|
||||
public static class LauncherSettingsProvider
|
||||
{
|
||||
@ -150,7 +149,7 @@ namespace Aki.Launcher.Helpers
|
||||
UseAutoLogin = true;
|
||||
GamePath = Environment.CurrentDirectory;
|
||||
|
||||
Server = new ServerSetting { Name = "SPT-AKI", Url = "http://127.0.0.1:6969" };
|
||||
Server = new ServerSetting { Name = "SPT", Url = "http://127.0.0.1:6969" };
|
||||
SaveSettings();
|
||||
}
|
||||
|
@ -1,14 +1,14 @@
|
||||
/* LocalizationProvider.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
*/
|
||||
|
||||
|
||||
using Aki.Launcher.Extensions;
|
||||
using Aki.Launcher.MiniCommon;
|
||||
using SPT.Launcher.Extensions;
|
||||
using SPT.Launcher.MiniCommon;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
@ -16,13 +16,13 @@ using System.ComponentModel;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using Aki.Launcher.Controllers;
|
||||
using SPT.Launcher.Controllers;
|
||||
|
||||
namespace Aki.Launcher.Helpers
|
||||
namespace SPT.Launcher.Helpers
|
||||
{
|
||||
public static class LocalizationProvider
|
||||
{
|
||||
public static string DefaultLocaleFolderPath = Path.Join(Environment.CurrentDirectory, "Aki_Data", "Launcher", "Locales");
|
||||
public static string DefaultLocaleFolderPath = Path.Join(Environment.CurrentDirectory, "SPT_Data", "Launcher", "Locales");
|
||||
|
||||
public static Dictionary<string, string> LocaleNameDictionary = GetLocaleDictionary("native_name");
|
||||
|
||||
@ -118,7 +118,7 @@ namespace Aki.Launcher.Helpers
|
||||
englishLocale.account = "Account";
|
||||
englishLocale.edit_account = "Edit Account";
|
||||
englishLocale.start_game = "Start Game";
|
||||
englishLocale.installed_in_live_game_warning = "Aki shouldn't be installed into the live game directory. Please install Aki into a copy of the game directory elsewhere on your computer.";
|
||||
englishLocale.installed_in_live_game_warning = "SPT shouldn't be installed into the live game directory. Please install SPT into a copy of the game directory elsewhere on your computer.";
|
||||
englishLocale.no_official_game_warning = "Escape From Tarkov isn't installed on your computer. Please buy a copy of the game and support the developers!";
|
||||
englishLocale.eft_exe_not_found_warning = "EscapeFromTarkov.exe not found at game path. Please check that the directory is correct.";
|
||||
englishLocale.account_exist = "Account already exists";
|
||||
@ -160,7 +160,7 @@ namespace Aki.Launcher.Helpers
|
||||
englishLocale.level = "Level";
|
||||
englishLocale.game_path = "Game Path";
|
||||
englishLocale.patching = "Patching";
|
||||
englishLocale.file_mismatch_dialog_message = "The input file hash doesn't match the expected hash. You may be using the wrong version\nof AKI for your client files.\n\nDo you want to continue?";
|
||||
englishLocale.file_mismatch_dialog_message = "The input file hash doesn't match the expected hash. You may be using the wrong version\nof SPT for your client files.\n\nDo you want to continue?";
|
||||
englishLocale.yes = "Yes";
|
||||
englishLocale.no = "No";
|
||||
englishLocale.open_folder = "Open Folder";
|
||||
@ -169,7 +169,7 @@ namespace Aki.Launcher.Helpers
|
||||
englishLocale.next_level_in = "Next level in";
|
||||
englishLocale.copied = "Copied";
|
||||
englishLocale.no_profile_data = "No profile data";
|
||||
englishLocale.profile_version_mismath = "Your profile was made using a different version of aki and may have issues";
|
||||
englishLocale.profile_version_mismath = "Your profile was made using a different version of SPT and may have issues";
|
||||
englishLocale.profile_removed = "Profile removed";
|
||||
englishLocale.profile_removal_failed = "Failed to remove profile";
|
||||
englishLocale.profile_remove_question_format_1 = "Permanently remove profile '{0}'?";
|
@ -1,18 +1,18 @@
|
||||
/* ProgressReportingPatchRunner.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
*/
|
||||
|
||||
using Aki.Launcher.MiniCommon;
|
||||
using Aki.Launcher.Models.Launcher;
|
||||
using SPT.Launcher.MiniCommon;
|
||||
using SPT.Launcher.Models.Launcher;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Aki.ByteBanger;
|
||||
using SPT.ByteBanger;
|
||||
|
||||
namespace Aki.Launcher.Helpers
|
||||
namespace SPT.Launcher.Helpers
|
||||
{
|
||||
public class ProgressReportingPatchRunner
|
||||
{
|
||||
@ -64,7 +64,7 @@ namespace Aki.Launcher.Helpers
|
||||
|
||||
private string[] GetCorePatches()
|
||||
{
|
||||
return VFS.GetDirectories(VFS.Combine(GamePath, "Aki_Data/Launcher/Patches/"));
|
||||
return VFS.GetDirectories(VFS.Combine(GamePath, "SPT_Data/Launcher/Patches/"));
|
||||
}
|
||||
|
||||
public ProgressReportingPatchRunner(string GamePath, string[] Patches = null)
|
@ -1,7 +1,7 @@
|
||||
using Microsoft.Win32;
|
||||
using System.IO;
|
||||
|
||||
namespace Aki.Launcher.Helpers
|
||||
namespace SPT.Launcher.Helpers
|
||||
{
|
||||
public static class ValidationUtil
|
||||
{
|
@ -1,8 +1,8 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Aki.Launcher.Models.Launcher;
|
||||
using SPT.Launcher.Models.Launcher;
|
||||
|
||||
namespace Aki.Launcher.Interfaces
|
||||
namespace SPT.Launcher.Interfaces
|
||||
{
|
||||
public interface IGameStarterFrontend
|
||||
{
|
@ -1,15 +1,15 @@
|
||||
/* IUpdateProgress
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
*/
|
||||
|
||||
using Aki.Launcher.Models.Launcher;
|
||||
using SPT.Launcher.Models.Launcher;
|
||||
using System;
|
||||
|
||||
namespace Aki.Launcher.Interfaces
|
||||
namespace SPT.Launcher.Interfaces
|
||||
{
|
||||
public interface IUpdateProgress
|
||||
{
|
@ -1,23 +1,23 @@
|
||||
/* ImageRequest.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
*/
|
||||
|
||||
using Aki.Launcher.Controllers;
|
||||
using Aki.Launcher.Helpers;
|
||||
using SPT.Launcher.Controllers;
|
||||
using SPT.Launcher.Helpers;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
||||
namespace Aki.Launcher.MiniCommon
|
||||
namespace SPT.Launcher.MiniCommon
|
||||
{
|
||||
|
||||
public static class ImageRequest
|
||||
{
|
||||
public static string ImageCacheFolder = Path.Join(LauncherSettingsProvider.Instance.GamePath, "Aki_Data", "Launcher", "Image_Cache");
|
||||
public static string ImageCacheFolder = Path.Join(LauncherSettingsProvider.Instance.GamePath, "SPT_Data", "Launcher", "Image_Cache");
|
||||
|
||||
private static List<string> CachedRoutes = new List<string>();
|
||||
|
@ -1,10 +1,9 @@
|
||||
/* Json.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
@ -13,7 +12,7 @@ using Newtonsoft.Json.Linq;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
namespace Aki.Launcher.MiniCommon
|
||||
namespace SPT.Launcher.MiniCommon
|
||||
{
|
||||
public static class Json
|
||||
{
|
@ -11,7 +11,7 @@ using System;
|
||||
using System.Diagnostics;
|
||||
using System.Timers;
|
||||
|
||||
namespace Aki.Launcher.MiniCommon
|
||||
namespace SPT.Launcher.MiniCommon
|
||||
{
|
||||
public class ProcessMonitor
|
||||
{
|
@ -13,7 +13,7 @@ using System.IO;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
|
||||
namespace Aki.Launcher.MiniCommon
|
||||
namespace SPT.Launcher.MiniCommon
|
||||
{
|
||||
public class Request
|
||||
{
|
@ -3,7 +3,7 @@ using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
|
||||
namespace Aki.Launcher.MiniCommon
|
||||
namespace SPT.Launcher.MiniCommon
|
||||
{
|
||||
public static class VFS
|
||||
{
|
@ -1,13 +1,12 @@
|
||||
/* ClientConfig.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
namespace Aki.Launcher
|
||||
namespace SPT.Launcher
|
||||
{
|
||||
public class ClientConfig
|
||||
{
|
@ -1,13 +1,12 @@
|
||||
/* LoginToken.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
namespace Aki.Launcher
|
||||
namespace SPT.Launcher
|
||||
{
|
||||
public struct LoginToken
|
||||
{
|
@ -1,15 +1,14 @@
|
||||
/* ConnectServerModel.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Aki.Launcher.Models.Launcher
|
||||
namespace SPT.Launcher.Models.Launcher
|
||||
{
|
||||
public class ConnectServerModel : INotifyPropertyChanged
|
||||
{
|
@ -1,17 +1,16 @@
|
||||
/* EditionCollection.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
using Aki.Launcher.Models.Aki;
|
||||
using SPT.Launcher.Models.SPT;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Aki.Launcher.Models.Launcher
|
||||
namespace SPT.Launcher.Models.Launcher
|
||||
{
|
||||
public class EditionCollection : INotifyPropertyChanged
|
||||
{
|
||||
@ -42,8 +41,8 @@ namespace Aki.Launcher.Models.Launcher
|
||||
}
|
||||
}
|
||||
|
||||
private AkiEdition _SelectedEdition;
|
||||
public AkiEdition SelectedEdition
|
||||
private SPTEdition _SelectedEdition;
|
||||
public SPTEdition SelectedEdition
|
||||
{
|
||||
get => _SelectedEdition;
|
||||
set
|
||||
@ -56,7 +55,7 @@ namespace Aki.Launcher.Models.Launcher
|
||||
}
|
||||
}
|
||||
}
|
||||
public ObservableCollection<AkiEdition> AvailableEditions { get; private set; } = new ObservableCollection<AkiEdition>();
|
||||
public ObservableCollection<SPTEdition> AvailableEditions { get; private set; } = new ObservableCollection<SPTEdition>();
|
||||
|
||||
public EditionCollection()
|
||||
{
|
||||
@ -64,7 +63,7 @@ namespace Aki.Launcher.Models.Launcher
|
||||
|
||||
foreach(var edition in ServerManager.SelectedServer.editions)
|
||||
{
|
||||
AvailableEditions.Add(new AkiEdition(edition));
|
||||
AvailableEditions.Add(new SPTEdition(edition));
|
||||
}
|
||||
}
|
||||
|
@ -1,15 +1,14 @@
|
||||
/* GameStarterResult.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Merijn Hendriks
|
||||
* waffle.lord
|
||||
*/
|
||||
|
||||
using Aki.Launcher.Helpers;
|
||||
using SPT.Launcher.Helpers;
|
||||
|
||||
namespace Aki.Launcher.Models.Launcher
|
||||
namespace SPT.Launcher.Models.Launcher
|
||||
{
|
||||
public class GameStarterResult
|
||||
{
|
@ -1,13 +1,13 @@
|
||||
/* LauncherAction.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
*/
|
||||
|
||||
|
||||
namespace Aki.Launcher.Models.Launcher
|
||||
namespace SPT.Launcher.Models.Launcher
|
||||
{
|
||||
public enum LauncherAction
|
||||
{
|
@ -1,18 +1,18 @@
|
||||
/* LocaleCollection.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
*/
|
||||
|
||||
|
||||
using Aki.Launcher.Helpers;
|
||||
using SPT.Launcher.Helpers;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Aki.Launcher.Models.Launcher
|
||||
namespace SPT.Launcher.Models.Launcher
|
||||
{
|
||||
public class LocaleCollection : INotifyPropertyChanged
|
||||
{
|
@ -1,9 +1,9 @@
|
||||
using Aki.Launcher.Helpers;
|
||||
using Aki.Launcher.Models.Launcher;
|
||||
using SPT.Launcher.Helpers;
|
||||
using SPT.Launcher.Models.Launcher;
|
||||
using System.ComponentModel;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace Aki.Launcher.Models
|
||||
namespace SPT.Launcher.Models
|
||||
{
|
||||
public class LocalizedLauncherAction : INotifyPropertyChanged
|
||||
{
|
@ -1,15 +1,14 @@
|
||||
/* LoginModel.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Aki.Launcher.Models.Launcher
|
||||
namespace SPT.Launcher.Models.Launcher
|
||||
{
|
||||
public class LoginModel : INotifyPropertyChanged
|
||||
{
|
@ -1,7 +1,7 @@
|
||||
/* MenuBarItem.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
*/
|
||||
@ -10,7 +10,7 @@ using System;
|
||||
using System.ComponentModel;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Aki.Launcher.Models.Launcher
|
||||
namespace SPT.Launcher.Models.Launcher
|
||||
{
|
||||
public class MenuBarItem : INotifyPropertyChanged
|
||||
{
|
@ -1,9 +1,9 @@
|
||||
using Aki.Launcher.Models.Aki;
|
||||
using SPT.Launcher.Models.SPT;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
|
||||
namespace Aki.Launcher.Models.Launcher
|
||||
namespace SPT.Launcher.Models.Launcher
|
||||
{
|
||||
public class ModInfoCollection : INotifyPropertyChanged
|
||||
{
|
||||
@ -49,8 +49,8 @@ namespace Aki.Launcher.Models.Launcher
|
||||
}
|
||||
}
|
||||
|
||||
public ObservableCollection<AkiMod> ActiveMods { get; private set; } = new ObservableCollection<AkiMod>();
|
||||
public ObservableCollection<AkiMod> InactiveMods { get; private set; } = new ObservableCollection<AkiMod>();
|
||||
public ObservableCollection<SPTMod> ActiveMods { get; private set; } = new ObservableCollection<SPTMod>();
|
||||
public ObservableCollection<SPTMod> InactiveMods { get; private set; } = new ObservableCollection<SPTMod>();
|
||||
|
||||
public ModInfoCollection()
|
||||
{
|
@ -1,7 +1,7 @@
|
||||
/* NotificationItem.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
*/
|
||||
@ -10,7 +10,7 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Aki.Launcher.Models.Launcher.Notifications
|
||||
namespace SPT.Launcher.Models.Launcher.Notifications
|
||||
{
|
||||
public class NotificationItem : INotifyPropertyChanged
|
||||
{
|
@ -1,20 +1,20 @@
|
||||
/* NotificationQueue.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
*/
|
||||
|
||||
|
||||
using Aki.Launcher.Helpers;
|
||||
using SPT.Launcher.Helpers;
|
||||
using System;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Timers;
|
||||
|
||||
namespace Aki.Launcher.Models.Launcher.Notifications
|
||||
namespace SPT.Launcher.Models.Launcher.Notifications
|
||||
{
|
||||
public class NotificationQueue : INotifyPropertyChanged, IDisposable
|
||||
{
|
@ -1,14 +1,14 @@
|
||||
/* PatchResultInfo.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
*/
|
||||
|
||||
using Aki.ByteBanger;
|
||||
using SPT.ByteBanger;
|
||||
|
||||
namespace Aki.Launcher.Models.Launcher
|
||||
namespace SPT.Launcher.Models.Launcher
|
||||
{
|
||||
public class PatchResultInfo
|
||||
{
|
@ -6,14 +6,14 @@
|
||||
* waffle.lord
|
||||
*/
|
||||
|
||||
using Aki.Launcher.Helpers;
|
||||
using Aki.Launcher.MiniCommon;
|
||||
using Aki.Launcher.Models.Aki;
|
||||
using SPT.Launcher.Helpers;
|
||||
using SPT.Launcher.MiniCommon;
|
||||
using SPT.Launcher.Models.SPT;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
|
||||
namespace Aki.Launcher.Models.Launcher
|
||||
namespace SPT.Launcher.Models.Launcher
|
||||
{
|
||||
public class ProfileInfo : INotifyPropertyChanged
|
||||
{
|
||||
@ -173,16 +173,16 @@ namespace Aki.Launcher.Models.Launcher
|
||||
}
|
||||
}
|
||||
|
||||
private AkiData _Aki;
|
||||
public AkiData Aki
|
||||
private SPTData _SPT;
|
||||
public SPTData SPT
|
||||
{
|
||||
get => _Aki;
|
||||
get => _SPT;
|
||||
set
|
||||
{
|
||||
if(_Aki != value)
|
||||
if(_SPT != value)
|
||||
{
|
||||
_Aki = value;
|
||||
RaisePropertyChanged(nameof(Aki));
|
||||
_SPT = value;
|
||||
RaisePropertyChanged(nameof(SPT));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -201,11 +201,11 @@ namespace Aki.Launcher.Models.Launcher
|
||||
RemainingExp = PInfo.RemainingExp;
|
||||
XPLevelProgress = PInfo.XPLevelProgress;
|
||||
|
||||
Aki = PInfo.Aki;
|
||||
SPT = PInfo.SPT;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Checks if the aki versions are compatible (non-major changes)
|
||||
/// Checks if the SPT versions are compatible (non-major changes)
|
||||
/// </summary>
|
||||
/// <param name="CurrentVersion"></param>
|
||||
/// <param name="ExpectedVersion"></param>
|
||||
@ -214,8 +214,8 @@ namespace Aki.Launcher.Models.Launcher
|
||||
{
|
||||
if (ExpectedVersion == "") return false;
|
||||
|
||||
AkiVersion v1 = new AkiVersion(CurrentVersion);
|
||||
AkiVersion v2 = new AkiVersion(ExpectedVersion);
|
||||
SPTVersion v1 = new SPTVersion(CurrentVersion);
|
||||
SPTVersion v2 = new SPTVersion(ExpectedVersion);
|
||||
|
||||
// check 'X'.x.x
|
||||
if (v1.Major != v2.Major) return false;
|
||||
@ -233,11 +233,11 @@ namespace Aki.Launcher.Models.Launcher
|
||||
Nickname = serverProfileInfo.nickname;
|
||||
Side = serverProfileInfo.side;
|
||||
|
||||
Aki = serverProfileInfo.akiData;
|
||||
SPT = serverProfileInfo.SPTData;
|
||||
|
||||
if (Aki != null)
|
||||
if (SPT != null)
|
||||
{
|
||||
VersionMismatch = !CompareVersions(Aki.version, ServerManager.GetVersion());
|
||||
VersionMismatch = !CompareVersions(SPT.version, ServerManager.GetVersion());
|
||||
}
|
||||
|
||||
SideImage = Path.Combine(ImageRequest.ImageCacheFolder, $"side_{Side.ToLower()}.png");
|
@ -1,12 +1,12 @@
|
||||
/* ProgressInfo.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
*/
|
||||
|
||||
namespace Aki.Launcher.Models.Launcher
|
||||
namespace SPT.Launcher.Models.Launcher
|
||||
{
|
||||
public class ProgressInfo
|
||||
{
|
@ -1,15 +1,14 @@
|
||||
/* RegisterModel.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Aki.Launcher.Models.Launcher
|
||||
namespace SPT.Launcher.Models.Launcher
|
||||
{
|
||||
public class RegisterModel : INotifyPropertyChanged
|
||||
{
|
@ -1,16 +1,15 @@
|
||||
/* ServerSetting.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Aki.Launcher.Models.Launcher
|
||||
namespace SPT.Launcher.Models.Launcher
|
||||
{
|
||||
public class ServerSetting : INotifyPropertyChanged
|
||||
{
|
@ -1,12 +1,11 @@
|
||||
/* WipeProfileModel.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
namespace Aki.Launcher.Models.Launcher
|
||||
namespace SPT.Launcher.Models.Launcher
|
||||
{
|
||||
public class WipeProfileModel
|
||||
{
|
@ -1,13 +1,12 @@
|
||||
/* AccountInfo.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
namespace Aki.Launcher
|
||||
namespace SPT.Launcher
|
||||
{
|
||||
public class AccountInfo
|
||||
{
|
@ -1,13 +1,12 @@
|
||||
/* ChangeRequestData.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
namespace Aki.Launcher
|
||||
namespace SPT.Launcher
|
||||
{
|
||||
public struct ChangeRequestData
|
||||
{
|
@ -1,6 +1,6 @@
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Aki.Launcher.Models.Aki
|
||||
namespace SPT.Launcher.Models.SPT
|
||||
{
|
||||
public class DevDependencies
|
||||
{
|
@ -1,13 +1,12 @@
|
||||
/* LoginRequestData.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
namespace Aki.Launcher
|
||||
namespace SPT.Launcher
|
||||
{
|
||||
public struct LoginRequestData
|
||||
{
|
@ -1,13 +1,12 @@
|
||||
/* RegisterRequestData.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
namespace Aki.Launcher
|
||||
namespace SPT.Launcher
|
||||
{
|
||||
public struct RegisterRequestData
|
||||
{
|
7
project/SPT.Launcher.Base/Models/SPT/SPTData.cs
Normal file
7
project/SPT.Launcher.Base/Models/SPT/SPTData.cs
Normal file
@ -0,0 +1,7 @@
|
||||
namespace SPT.Launcher.Models.SPT
|
||||
{
|
||||
public class SPTData
|
||||
{
|
||||
public string version { get; set; }
|
||||
}
|
||||
}
|
@ -1,13 +1,13 @@
|
||||
using Aki.Launcher;
|
||||
using SPT.Launcher;
|
||||
|
||||
namespace Aki.Launcher.Models.Aki
|
||||
namespace SPT.Launcher.Models.SPT
|
||||
{
|
||||
public class AkiEdition
|
||||
public class SPTEdition
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string Description { get; set; }
|
||||
|
||||
public AkiEdition(string name)
|
||||
public SPTEdition(string name)
|
||||
{
|
||||
Name = name;
|
||||
ServerManager.SelectedServer.profileDescriptions.TryGetValue(name, out string desc);
|
@ -1,6 +1,6 @@
|
||||
namespace Aki.Launcher.Models.Aki
|
||||
namespace SPT.Launcher.Models.SPT
|
||||
{
|
||||
public class AkiMod
|
||||
public class SPTMod
|
||||
{
|
||||
public bool InServer { get; set; }
|
||||
public bool InProfile { get; set; }
|
@ -1,8 +1,8 @@
|
||||
using System;
|
||||
|
||||
namespace Aki.Launcher.Models.Aki
|
||||
namespace SPT.Launcher.Models.SPT
|
||||
{
|
||||
public class AkiProfileModInfo : AkiMod
|
||||
public class SPTProfileModInfo : SPTMod
|
||||
{
|
||||
public string DateAdded { get; set; }
|
||||
}
|
@ -1,12 +1,12 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Aki.Launcher.Models.Aki
|
||||
namespace SPT.Launcher.Models.SPT
|
||||
{
|
||||
public class AkiServerModInfo : AkiMod
|
||||
public class SPTServerModInfo : SPTMod
|
||||
{
|
||||
public string Main { get; set; }
|
||||
public string License { get; set; }
|
||||
public string AkiVersion { get; set; }
|
||||
public string SPTVersion { get; set; }
|
||||
public Dictionary<string, string> Scripts { get; set; }
|
||||
public DevDependencies DevDependencies { get; set; }
|
||||
}
|
||||
@ -20,7 +20,7 @@ namespace Aki.Launcher.Models.Aki
|
||||
"main": "src/mod.ts",
|
||||
"license": "MIT",
|
||||
"author": "waffle.lord",
|
||||
"akiVersion": "~3.6",
|
||||
"SPTVersion": "~3.6",
|
||||
"scripts": {
|
||||
"setup": "npm i",
|
||||
"build": "node ./packageBuild.ts"
|
@ -1,8 +1,8 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Aki.Launcher.Models.Aki
|
||||
namespace SPT.Launcher.Models.SPT
|
||||
{
|
||||
public class AkiVersion : INotifyPropertyChanged
|
||||
public class SPTVersion : INotifyPropertyChanged
|
||||
{
|
||||
public int Major;
|
||||
public int Minor;
|
||||
@ -25,18 +25,18 @@ namespace Aki.Launcher.Models.Aki
|
||||
}
|
||||
}
|
||||
|
||||
public void ParseVersionInfo(string AkiVersion)
|
||||
public void ParseVersionInfo(string SPTVersion)
|
||||
{
|
||||
if (AkiVersion.Contains('-'))
|
||||
if (SPTVersion.Contains('-'))
|
||||
{
|
||||
string[] versionInfo = AkiVersion.Split('-');
|
||||
string[] versionInfo = SPTVersion.Split('-');
|
||||
|
||||
AkiVersion = versionInfo[0];
|
||||
SPTVersion = versionInfo[0];
|
||||
|
||||
Tag = versionInfo[1];
|
||||
}
|
||||
|
||||
string[] splitVersion = AkiVersion.Split('.');
|
||||
string[] splitVersion = SPTVersion.Split('.');
|
||||
|
||||
if (splitVersion.Length == 3)
|
||||
{
|
||||
@ -46,11 +46,11 @@ namespace Aki.Launcher.Models.Aki
|
||||
}
|
||||
}
|
||||
|
||||
public AkiVersion() { }
|
||||
public SPTVersion() { }
|
||||
|
||||
public AkiVersion(string AkiVersion)
|
||||
public SPTVersion(string SPTVersion)
|
||||
{
|
||||
ParseVersionInfo(AkiVersion);
|
||||
ParseVersionInfo(SPTVersion);
|
||||
}
|
||||
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
@ -1,15 +1,14 @@
|
||||
/* ServerInfo.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* Merijn Hendriks
|
||||
*/
|
||||
|
||||
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Aki.Launcher
|
||||
namespace SPT.Launcher
|
||||
{
|
||||
public class ServerInfo
|
||||
{
|
||||
@ -21,7 +20,7 @@ namespace Aki.Launcher
|
||||
public ServerInfo()
|
||||
{
|
||||
backendUrl = "http://127.0.0.1:6969";
|
||||
name = "Local SPT-AKI Server";
|
||||
name = "Local SPT Server";
|
||||
editions = new string[0];
|
||||
profileDescriptions = new Dictionary<string, string>();
|
||||
}
|
@ -1,12 +1,12 @@
|
||||
/* ServerProfileInfo.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
*/
|
||||
|
||||
namespace Aki.Launcher.Models.Aki
|
||||
namespace SPT.Launcher.Models.SPT
|
||||
{
|
||||
public class ServerProfileInfo
|
||||
{
|
||||
@ -18,6 +18,6 @@ namespace Aki.Launcher.Models.Aki
|
||||
public long prevexp { get; set; }
|
||||
public long nextlvl { get; set; }
|
||||
public int maxlvl { get; set; }
|
||||
public AkiData akiData { get; set; }
|
||||
public SPTData SPTData { get; set; }
|
||||
}
|
||||
}
|
@ -2,12 +2,12 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<RootNamespace>Aki.Launch</RootNamespace>
|
||||
<RootNamespace>SPT.Launch</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="zlib.net, Version=1.0.3.0, Culture=neutral, PublicKeyToken=null">
|
||||
<HintPath>..\Aki.Launcher\References\zlib.net.dll</HintPath>
|
||||
<HintPath>..\SPT.Launcher\References\zlib.net.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Aki.ByteBanger\Aki.ByteBanger.csproj" />
|
||||
<ProjectReference Include="..\SPT.ByteBanger\SPT.ByteBanger.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
@ -1,7 +1,7 @@
|
||||
<Application xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="using:Aki.Launcher"
|
||||
x:Class="Aki.Launcher.App">
|
||||
xmlns:local="using:SPT.Launcher"
|
||||
x:Class="SPT.Launcher.App">
|
||||
<Application.DataTemplates>
|
||||
<local:ViewLocator/>
|
||||
</Application.DataTemplates>
|
||||
@ -13,19 +13,19 @@
|
||||
|
||||
<Application.Resources>
|
||||
<!-- Colors -->
|
||||
<Color x:Key="AKI_DarkGray">#121212</Color>
|
||||
<Color x:Key="AKI_Yellow">#FFC107</Color>
|
||||
<Color x:Key="AKI_White">#FFFFFF</Color>
|
||||
<Color x:Key="AKI_Gray">#282828</Color>
|
||||
<Color x:Key="AKI_DarkGrayBlue">#323947</Color>
|
||||
<Color x:Key="SPT_DarkGray">#121212</Color>
|
||||
<Color x:Key="SPT_Yellow">#FFC107</Color>
|
||||
<Color x:Key="SPT_White">#FFFFFF</Color>
|
||||
<Color x:Key="SPT_Gray">#282828</Color>
|
||||
<Color x:Key="SPT_DarkGrayBlue">#323947</Color>
|
||||
|
||||
<!-- Brushes -->
|
||||
<SolidColorBrush x:Key="AKI_Foreground_Light" Color="{StaticResource AKI_White}"/>
|
||||
<SolidColorBrush x:Key="AKI_Background_Light" Color="{StaticResource AKI_Gray}"/>
|
||||
<SolidColorBrush x:Key="AKI_Background_Dark" Color="{StaticResource AKI_DarkGray}"/>
|
||||
<SolidColorBrush x:Key="AKI_Brush_Yellow" Color="{StaticResource AKI_Yellow}"/>
|
||||
<SolidColorBrush x:Key="AKI_Brush_DarkGrayBlue" Color="{StaticResource AKI_DarkGrayBlue}"/>
|
||||
<SolidColorBrush x:Key="AKI_Brush_Lighter" Color="Gainsboro"/>
|
||||
<SolidColorBrush x:Key="SPT_Foreground_Light" Color="{StaticResource SPT_White}"/>
|
||||
<SolidColorBrush x:Key="SPT_Background_Light" Color="{StaticResource SPT_Gray}"/>
|
||||
<SolidColorBrush x:Key="SPT_Background_Dark" Color="{StaticResource SPT_DarkGray}"/>
|
||||
<SolidColorBrush x:Key="SPT_Brush_Yellow" Color="{StaticResource SPT_Yellow}"/>
|
||||
<SolidColorBrush x:Key="SPT_Brush_DarkGrayBlue" Color="{StaticResource SPT_DarkGrayBlue}"/>
|
||||
<SolidColorBrush x:Key="SPT_Brush_Lighter" Color="Gainsboro"/>
|
||||
|
||||
<!-- Path Geometry for re-usable icons -->
|
||||
<PathGeometry x:Key="FolderWithPlus" Figures="M20 6h-8l-2-2H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-1 8h-3v3h-2v-3h-3v-2h3V9h2v3h3v2z" FillRule="NonZero"
|
@ -1,6 +1,6 @@
|
||||
using Aki.Launcher.Controllers;
|
||||
using Aki.Launcher.ViewModels;
|
||||
using Aki.Launcher.Views;
|
||||
using SPT.Launcher.Controllers;
|
||||
using SPT.Launcher.ViewModels;
|
||||
using SPT.Launcher.Views;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls.ApplicationLifetimes;
|
||||
using Avalonia.Markup.Xaml;
|
||||
@ -8,7 +8,7 @@ using ReactiveUI;
|
||||
using System;
|
||||
using System.Reactive;
|
||||
|
||||
namespace Aki.Launcher
|
||||
namespace SPT.Launcher
|
||||
{
|
||||
public class App : Application
|
||||
{
|
@ -1,10 +1,10 @@
|
||||
<Styles xmlns="https://github.com/avaloniaui"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:cc="using:Aki.Launcher.CustomControls"
|
||||
xmlns:cc="using:SPT.Launcher.CustomControls"
|
||||
xmlns:rxui="using:Avalonia.ReactiveUI"
|
||||
>
|
||||
<Design.PreviewWith>
|
||||
<StackPanel Spacing="5" Background="{StaticResource AKI_Background_Dark}" Margin="50">
|
||||
<StackPanel Spacing="5" Background="{StaticResource SPT_Background_Dark}" Margin="50">
|
||||
<Button Content="Blah"/>
|
||||
<TextBox Text="Some cool text here" Margin="5"/>
|
||||
<TextBox Watermark="This is a watermark" Margin="5"/>
|
||||
@ -86,30 +86,30 @@
|
||||
|
||||
<!-- TitleBar Styles -->
|
||||
<Style Selector="cc|TitleBar">
|
||||
<Setter Property="Background" Value="{StaticResource AKI_Background_Dark}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource AKI_Foreground_Light}"/>
|
||||
<Setter Property="ButtonForeground" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="Background" Value="{StaticResource SPT_Background_Dark}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource SPT_Foreground_Light}"/>
|
||||
<Setter Property="ButtonForeground" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="cc|TitleBar.versiontag">
|
||||
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_Yellow}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_Yellow}"/>
|
||||
<Setter Property="BorderThickness" Value="0 0 0 2"/>
|
||||
</Style>
|
||||
|
||||
<!-- TextBox Styles -->
|
||||
<!-- SourceRef: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/TextBox.xaml -->
|
||||
<Style Selector="TextBox">
|
||||
<Setter Property="Background" Value="{StaticResource AKI_Background_Light}"/>
|
||||
<Setter Property="Background" Value="{StaticResource SPT_Background_Light}"/>
|
||||
<Setter Property="FontWeight" Value="SemiBold"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource AKI_Brush_Lighter}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource SPT_Brush_Lighter}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="TextBox:focus">
|
||||
<Setter Property="Foreground" Value="{StaticResource AKI_Brush_Lighter}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource SPT_Brush_Lighter}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="TextBox:pointerover">
|
||||
<Setter Property="Foreground" Value="{StaticResource AKI_Brush_Lighter}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource SPT_Brush_Lighter}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="TextBox:pointerover /template/ Border#PART_BorderElement">
|
||||
@ -131,18 +131,18 @@
|
||||
|
||||
<Style Selector="TextBox:focus /template/ Border#PART_BorderElement">
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_Yellow}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_Yellow}"/>
|
||||
<Setter Property="BorderThickness" Value="1"/>
|
||||
</Style>
|
||||
|
||||
<!-- Label Styles -->
|
||||
<!-- SourceRef: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/Label.xaml -->
|
||||
<Style Selector="Label">
|
||||
<Setter Property="Foreground" Value="{StaticResource AKI_Foreground_Light}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource SPT_Foreground_Light}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="Label.yellow">
|
||||
<Setter Property="Foreground" Value="{StaticResource AKI_Brush_Yellow}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource SPT_Brush_Yellow}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="Label.dark">
|
||||
@ -156,8 +156,8 @@
|
||||
<!-- ProgressBar Styles -->
|
||||
<!-- SourceRef: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/ProgressBar.xaml -->
|
||||
<Style Selector="ProgressBar">
|
||||
<Setter Property="Foreground" Value="{StaticResource AKI_Brush_Yellow}"/>
|
||||
<Setter Property="Background" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource SPT_Brush_Yellow}"/>
|
||||
<Setter Property="Background" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="ProgressBar.error">
|
||||
@ -165,7 +165,7 @@
|
||||
<Style.Animations>
|
||||
<Animation Duration="0:0:0.5" FillMode="Forward">
|
||||
<KeyFrame Cue="0%">
|
||||
<Setter Property="Foreground" Value="{StaticResource AKI_Brush_Yellow}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource SPT_Brush_Yellow}"/>
|
||||
<Setter Property="Value" Value="0"/>
|
||||
</KeyFrame>
|
||||
<KeyFrame Cue="100%">
|
||||
@ -179,14 +179,14 @@
|
||||
<!-- Seperator Styles -->
|
||||
<!-- SourceRef: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/Separator.xaml -->
|
||||
<Style Selector="Separator">
|
||||
<Setter Property="Background" Value="{StaticResource AKI_Background_Dark}"/>
|
||||
<Setter Property="Background" Value="{StaticResource SPT_Background_Dark}"/>
|
||||
</Style>
|
||||
|
||||
<!-- Button Styles -->
|
||||
<!-- SourceRef: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/Button.xaml -->
|
||||
<Style Selector="Button">
|
||||
<Setter Property="Background" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource AKI_Background_Dark}"/>
|
||||
<Setter Property="Background" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource SPT_Background_Dark}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="Button:pointerover">
|
||||
@ -194,24 +194,24 @@
|
||||
</Style>
|
||||
|
||||
<Style Selector="Button:pointerover /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="{StaticResource AKI_Background_Light}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_Yellow}"/>
|
||||
<Setter Property="Background" Value="{StaticResource SPT_Background_Light}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_Yellow}"/>
|
||||
<Setter Property="BorderThickness" Value="1"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="Button:pressed /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="{StaticResource AKI_Brush_Yellow}"/>
|
||||
<Setter Property="Background" Value="{StaticResource SPT_Brush_Yellow}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="Button:disabled /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
|
||||
</Style>
|
||||
|
||||
<!-- Button yellow -->
|
||||
<Style Selector="Button.yellow">
|
||||
<Setter Property="Background" Value="{StaticResource AKI_Brush_Yellow}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource AKI_Background_Dark}"/>
|
||||
<Setter Property="Background" Value="{StaticResource SPT_Brush_Yellow}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource SPT_Background_Dark}"/>
|
||||
<Setter Property="FontWeight" Value="SemiBold"/>
|
||||
</Style>
|
||||
|
||||
@ -221,36 +221,36 @@
|
||||
|
||||
<Style Selector="Button.yellow:pointerover /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="Gold"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="BorderThickness" Value="1"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="Button.yellow:pressed /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="{StaticResource AKI_Brush_Lighter}"/>
|
||||
<Setter Property="Background" Value="{StaticResource SPT_Brush_Lighter}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="Button.yellow:disabled /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
|
||||
</Style>
|
||||
|
||||
<!-- Button Link Style -->
|
||||
<Style Selector="Button.link">
|
||||
<Setter Property="Foreground" Value="{StaticResource AKI_Brush_Lighter}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource SPT_Brush_Lighter}"/>
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="BorderBrush" Value="Transparent"/>
|
||||
<Setter Property="BorderThickness" Value="0"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="Button.link:pointerover /template/ ContentPresenter">
|
||||
<Setter Property="TextBlock.Foreground" Value="{StaticResource AKI_Brush_Yellow}"/>
|
||||
<Setter Property="TextBlock.Foreground" Value="{StaticResource SPT_Brush_Yellow}"/>
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="BorderBrush" Value="Transparent"/>
|
||||
<Setter Property="BorderThickness" Value="0"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="Button.link:pressed /template/ ContentPresenter">
|
||||
<Setter Property="TextBlock.Foreground" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="TextBlock.Foreground" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="BorderBrush" Value="Transparent"/>
|
||||
<Setter Property="BorderThickness" Value="0"/>
|
||||
@ -258,29 +258,29 @@
|
||||
|
||||
<!-- Button Bordered Link Style -->
|
||||
<Style Selector="Button.borderedlink">
|
||||
<Setter Property="Foreground" Value="{StaticResource AKI_Brush_Lighter}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource SPT_Brush_Lighter}"/>
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_Lighter}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_Lighter}"/>
|
||||
<Setter Property="BorderThickness" Value="1"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="Button.borderedlink:pointerover /template/ ContentPresenter">
|
||||
<Setter Property="TextBlock.Foreground" Value="{StaticResource AKI_Brush_Yellow}"/>
|
||||
<Setter Property="TextBlock.Foreground" Value="{StaticResource SPT_Brush_Yellow}"/>
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_Yellow}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_Yellow}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="Button.borderedlink:pressed /template/ ContentPresenter">
|
||||
<Setter Property="TextBlock.Foreground" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="TextBlock.Foreground" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="BorderThickness" Value="0"/>
|
||||
</Style>
|
||||
|
||||
<!-- Button Profile Info Style -->
|
||||
<Style Selector="Button.profileinfo">
|
||||
<Setter Property="Background" Value="{StaticResource AKI_Background_Dark}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource AKI_Background_Dark}"/>
|
||||
<Setter Property="Background" Value="{StaticResource SPT_Background_Dark}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource SPT_Background_Dark}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="Button.icon">
|
||||
@ -289,47 +289,47 @@
|
||||
</Style>
|
||||
|
||||
<Style Selector="Button.icon:pointerover">
|
||||
<Setter Property="Background" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="Background" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
|
||||
</Style>
|
||||
|
||||
<!-- Checkbox styles -->
|
||||
<!-- SourceRef: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/CheckBox.xaml -->
|
||||
<Style Selector="CheckBox">
|
||||
<Setter Property="Foreground" Value="{StaticResource AKI_Foreground_Light}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource SPT_Foreground_Light}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="CheckBox /template/ Border#NormalRectangle">
|
||||
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="CheckBox:pointerover /template/ Border#NormalRectangle">
|
||||
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_Yellow}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_Yellow}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="CheckBox:pointerover /template/ ContentPresenter#ContentPresenter">
|
||||
<Setter Property="TextBlock.Foreground" Value="{StaticResource AKI_Foreground_Light}" />
|
||||
<Setter Property="TextBlock.Foreground" Value="{StaticResource SPT_Foreground_Light}" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="CheckBox:checked">
|
||||
<Setter Property="FontWeight" Value="SemiBold"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource AKI_Foreground_Light}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource SPT_Foreground_Light}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="CheckBox:checked /template/ Border#NormalRectangle">
|
||||
<Setter Property="Background" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_Yellow}"/>
|
||||
<Setter Property="Background" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_Yellow}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="CheckBox:checked /template/ Path#CheckGlyph">
|
||||
<Setter Property="Fill" Value="{StaticResource AKI_Brush_Yellow}"/>
|
||||
<Setter Property="Fill" Value="{StaticResource SPT_Brush_Yellow}"/>
|
||||
</Style>
|
||||
|
||||
<!-- ComboBox Styles -->
|
||||
<!-- Source Ref: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/ComboBox.xaml -->
|
||||
<Style Selector="ComboBox">
|
||||
<Setter Property="Foreground" Value="{StaticResource AKI_Foreground_Light}"/>
|
||||
<Setter Property="PlaceholderForeground" Value="{StaticResource AKI_Brush_Lighter}"/>
|
||||
<Setter Property="Background" Value="{StaticResource AKI_Background_Dark}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource SPT_Foreground_Light}"/>
|
||||
<Setter Property="PlaceholderForeground" Value="{StaticResource SPT_Brush_Lighter}"/>
|
||||
<Setter Property="Background" Value="{StaticResource SPT_Background_Dark}"/>
|
||||
<Setter Property="Template">
|
||||
<ControlTemplate>
|
||||
<DataValidationErrors>
|
||||
@ -413,8 +413,8 @@
|
||||
PlacementTarget="Background"
|
||||
IsLightDismissEnabled="True">
|
||||
<Border x:Name="PopupBorder"
|
||||
Background="{StaticResource AKI_Background_Dark}"
|
||||
BorderBrush="{StaticResource AKI_Background_Dark}"
|
||||
Background="{StaticResource SPT_Background_Dark}"
|
||||
BorderBrush="{StaticResource SPT_Background_Dark}"
|
||||
BorderThickness="{DynamicResource ComboBoxDropdownBorderThickness}"
|
||||
Margin="0,-1,0,-1"
|
||||
Padding="{DynamicResource ComboBoxDropdownBorderPadding}"
|
||||
@ -438,15 +438,15 @@
|
||||
</Style>
|
||||
|
||||
<Style Selector="ComboBox /template/ Path#DropDownGlyph">
|
||||
<Setter Property="Fill" Value="{StaticResource AKI_Foreground_Light}" />
|
||||
<Setter Property="Fill" Value="{StaticResource SPT_Foreground_Light}" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="ComboBox:pointerover /template/ Path#DropDownGlyph">
|
||||
<Setter Property="Fill" Value="{StaticResource AKI_Brush_Yellow}" />
|
||||
<Setter Property="Fill" Value="{StaticResource SPT_Brush_Yellow}" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="ComboBox:pointerover">
|
||||
<Setter Property="Foreground" Value="{StaticResource AKI_Brush_Yellow}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource SPT_Brush_Yellow}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="ComboBox:pointerover /template/ Border#Background">
|
||||
@ -466,19 +466,19 @@
|
||||
</Style>
|
||||
|
||||
<Style Selector="ComboBoxItem">
|
||||
<Setter Property="Foreground" Value="{StaticResource AKI_Foreground_Light}"/>
|
||||
<Setter Property="Background" Value="{StaticResource AKI_Background_Dark}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource SPT_Foreground_Light}"/>
|
||||
<Setter Property="Background" Value="{StaticResource SPT_Background_Dark}"/>
|
||||
</Style>
|
||||
|
||||
<Style Selector="ComboBoxItem:pointerover /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="{StaticResource AKI_Background_Light}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource AKI_Background_Light}" />
|
||||
<Setter Property="TextBlock.Foreground" Value="{StaticResource AKI_Foreground_Light}" />
|
||||
<Setter Property="Background" Value="{StaticResource SPT_Background_Light}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource SPT_Background_Light}" />
|
||||
<Setter Property="TextBlock.Foreground" Value="{StaticResource SPT_Foreground_Light}" />
|
||||
</Style>
|
||||
|
||||
<Style Selector="ComboBoxItem:selected /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="{StaticResource AKI_Brush_Yellow}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_Yellow}" />
|
||||
<Setter Property="TextBlock.Foreground" Value="{StaticResource AKI_Background_Dark}" />
|
||||
<Setter Property="Background" Value="{StaticResource SPT_Brush_Yellow}" />
|
||||
<Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_Yellow}" />
|
||||
<Setter Property="TextBlock.Foreground" Value="{StaticResource SPT_Background_Dark}" />
|
||||
</Style>
|
||||
</Styles>
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 420 KiB After Width: | Height: | Size: 420 KiB |
@ -1,9 +1,9 @@
|
||||
using Aki.Launcher.Models;
|
||||
using Aki.Launcher.ViewModels;
|
||||
using SPT.Launcher.Models;
|
||||
using SPT.Launcher.ViewModels;
|
||||
using ReactiveUI;
|
||||
using System;
|
||||
|
||||
namespace Aki.Launcher.Attributes
|
||||
namespace SPT.Launcher.Attributes
|
||||
{
|
||||
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
|
||||
public abstract class NavigationPreCondition : Attribute
|
@ -1,9 +1,9 @@
|
||||
using Aki.Launcher.Helpers;
|
||||
using Aki.Launcher.Models;
|
||||
using Aki.Launcher.ViewModels;
|
||||
using SPT.Launcher.Helpers;
|
||||
using SPT.Launcher.Models;
|
||||
using SPT.Launcher.ViewModels;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Aki.Launcher.Attributes
|
||||
namespace SPT.Launcher.Attributes
|
||||
{
|
||||
public class RequireLoggedIn : NavigationPreCondition
|
||||
{
|
@ -1,9 +1,9 @@
|
||||
using Aki.Launcher.Helpers;
|
||||
using Aki.Launcher.Models;
|
||||
using Aki.Launcher.ViewModels;
|
||||
using SPT.Launcher.Helpers;
|
||||
using SPT.Launcher.Models;
|
||||
using SPT.Launcher.ViewModels;
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Aki.Launcher.Attributes
|
||||
namespace SPT.Launcher.Attributes
|
||||
{
|
||||
public class RequireServerConnected : NavigationPreCondition
|
||||
{
|
@ -1,18 +1,18 @@
|
||||
/* ImageSourceConverter.cs
|
||||
* License: NCSA Open Source License
|
||||
*
|
||||
* Copyright: Merijn Hendriks
|
||||
* Copyright: SPT
|
||||
* AUTHORS:
|
||||
* waffle.lord
|
||||
*/
|
||||
|
||||
using Aki.Launcher.Controllers;
|
||||
using SPT.Launcher.Controllers;
|
||||
using Avalonia.Data.Converters;
|
||||
using Avalonia.Media.Imaging;
|
||||
using System;
|
||||
using System.Globalization;
|
||||
|
||||
namespace Aki.Launcher.Converters
|
||||
namespace SPT.Launcher.Converters
|
||||
{
|
||||
public class ImageSourceConverter : IValueConverter
|
||||
{
|
@ -2,9 +2,9 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:model="using:Aki.Launcher.Models"
|
||||
xmlns:model="using:SPT.Launcher.Models"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Aki.Launcher.CustomControls.LocalizedLauncherActionSelector">
|
||||
x:Class="SPT.Launcher.CustomControls.LocalizedLauncherActionSelector">
|
||||
<ComboBox x:Name="combobox"
|
||||
SelectionChanged="combobox_SelectionChanged"
|
||||
>
|
@ -1,13 +1,13 @@
|
||||
using Aki.Launcher.Helpers;
|
||||
using Aki.Launcher.Models;
|
||||
using Aki.Launcher.Models.Launcher;
|
||||
using SPT.Launcher.Helpers;
|
||||
using SPT.Launcher.Models;
|
||||
using SPT.Launcher.Models.Launcher;
|
||||
using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Aki.Launcher.CustomControls
|
||||
namespace SPT.Launcher.CustomControls
|
||||
{
|
||||
public partial class LocalizedLauncherActionSelector : UserControl
|
||||
{
|
@ -3,14 +3,14 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
xmlns:helpers="using:Aki.Launcher.Helpers"
|
||||
x:Class="Aki.Launcher.CustomControls.ModInfoCard">
|
||||
xmlns:helpers="using:SPT.Launcher.Helpers"
|
||||
x:Class="SPT.Launcher.CustomControls.ModInfoCard">
|
||||
<Border CornerRadius="5" HorizontalAlignment="Stretch"
|
||||
BorderBrush="{StaticResource AKI_Background_Dark}"
|
||||
BorderBrush="{StaticResource SPT_Background_Dark}"
|
||||
BorderThickness="5"
|
||||
>
|
||||
<Grid RowDefinitions="10,AUTO,AUTO,AUTO,10" ColumnDefinitions="10,AUTO,*,AUTO,10"
|
||||
Background="{StaticResource AKI_Background_Dark}"
|
||||
Background="{StaticResource SPT_Background_Dark}"
|
||||
>
|
||||
|
||||
<!-- Icon stack -->
|
||||
@ -19,12 +19,12 @@
|
||||
Orientation="Horizontal" Spacing="5"
|
||||
>
|
||||
<!-- Server Icon -->
|
||||
<Path Data="{StaticResource Server}" Fill="{StaticResource AKI_Brush_DarkGrayBlue}"
|
||||
<Path Data="{StaticResource Server}" Fill="{StaticResource SPT_Brush_DarkGrayBlue}"
|
||||
IsVisible="{Binding IsInServer, RelativeSource={RelativeSource AncestorType=UserControl}}"
|
||||
/>
|
||||
|
||||
<!-- Profile Icon -->
|
||||
<Path Data="{StaticResource Profile}" Fill="{StaticResource AKI_Brush_DarkGrayBlue}"
|
||||
<Path Data="{StaticResource Profile}" Fill="{StaticResource SPT_Brush_DarkGrayBlue}"
|
||||
IsVisible="{Binding IsInProfile, RelativeSource={RelativeSource AncestorType=UserControl}}"
|
||||
/>
|
||||
|
||||
@ -54,7 +54,7 @@
|
||||
>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Label Content="{Binding Source={x:Static helpers:LocalizationProvider.Instance}, Path=open_link}"/>
|
||||
<Path Data="{StaticResource Open}" Fill="{StaticResource AKI_Brush_Yellow}"
|
||||
<Path Data="{StaticResource Open}" Fill="{StaticResource SPT_Brush_Yellow}"
|
||||
IsVisible="{Binding IsInProfile, RelativeSource={RelativeSource AncestorType=UserControl}}"
|
||||
/>
|
||||
</StackPanel>
|
@ -4,7 +4,7 @@ using Avalonia;
|
||||
using Avalonia.Controls;
|
||||
using Avalonia.Markup.Xaml;
|
||||
|
||||
namespace Aki.Launcher.CustomControls
|
||||
namespace SPT.Launcher.CustomControls
|
||||
{
|
||||
public partial class ModInfoCard : UserControl
|
||||
{
|
@ -2,9 +2,9 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:helpers="using:Aki.Launcher.Helpers"
|
||||
xmlns:helpers="using:SPT.Launcher.Helpers"
|
||||
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
||||
x:Class="Aki.Launcher.CustomControls.TitleBar">
|
||||
x:Class="SPT.Launcher.CustomControls.TitleBar">
|
||||
|
||||
<Grid ColumnDefinitions="AUTO,*,AUTO,10,AUTO,AUTO">
|
||||
|
||||
@ -55,11 +55,11 @@
|
||||
>
|
||||
<Button.Styles>
|
||||
<Style Selector="Button:pointerover /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="Background" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
|
||||
<Setter Property="BorderThickness" Value="0"/>
|
||||
</Style>
|
||||
<Style Selector="Button:pressed /template/ ContentPresenter">
|
||||
<Setter Property="Background" Value="{StaticResource AKI_Background_Light}"/>
|
||||
<Setter Property="Background" Value="{StaticResource SPT_Background_Light}"/>
|
||||
</Style>
|
||||
</Button.Styles>
|
||||
</Button>
|
@ -4,7 +4,7 @@ using Avalonia.Markup.Xaml;
|
||||
using Avalonia.Media;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace Aki.Launcher.CustomControls
|
||||
namespace SPT.Launcher.CustomControls
|
||||
{
|
||||
public partial class TitleBar : UserControl
|
||||
{
|
@ -1,14 +1,14 @@
|
||||
using Aki.Launcher.Helpers;
|
||||
using Aki.Launcher.Interfaces;
|
||||
using Aki.Launcher.Models.Launcher;
|
||||
using Aki.Launcher.ViewModels.Dialogs;
|
||||
using Aki.Launcher.ViewModels.Notifications;
|
||||
using SPT.Launcher.Helpers;
|
||||
using SPT.Launcher.Interfaces;
|
||||
using SPT.Launcher.Models.Launcher;
|
||||
using SPT.Launcher.ViewModels.Dialogs;
|
||||
using SPT.Launcher.ViewModels.Notifications;
|
||||
using Avalonia.Controls.Notifications;
|
||||
using Splat;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Aki.Launcher.Models
|
||||
namespace SPT.Launcher.Models
|
||||
{
|
||||
public class GameStarterFrontend : IGameStarterFrontend
|
||||
{
|
||||
@ -16,7 +16,7 @@ namespace Aki.Launcher.Models
|
||||
|
||||
public async Task CompletePatchTask(IAsyncEnumerable<PatchResultInfo> task)
|
||||
{
|
||||
notificationManager.Show(new AkiNotificationViewModel(null, "", $"{LocalizationProvider.Instance.patching} ..."));
|
||||
notificationManager.Show(new SPTNotificationViewModel(null, "", $"{LocalizationProvider.Instance.patching} ..."));
|
||||
|
||||
var iter = task.GetAsyncEnumerator();
|
||||
while (await iter.MoveNextAsync())
|
||||
@ -30,13 +30,13 @@ namespace Aki.Launcher.Models
|
||||
|
||||
if(result != null && result is bool confirmation && !confirmation)
|
||||
{
|
||||
notificationManager.Show(new AkiNotificationViewModel(null, "", LocalizationProvider.Instance.failed_core_patch, NotificationType.Error));
|
||||
notificationManager.Show(new SPTNotificationViewModel(null, "", LocalizationProvider.Instance.failed_core_patch, NotificationType.Error));
|
||||
throw new TaskCanceledException();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
notificationManager.Show(new AkiNotificationViewModel(null, "", LocalizationProvider.Instance.failed_core_patch, NotificationType.Error));
|
||||
notificationManager.Show(new SPTNotificationViewModel(null, "", LocalizationProvider.Instance.failed_core_patch, NotificationType.Error));
|
||||
throw new TaskCanceledException();
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
using ReactiveUI;
|
||||
|
||||
namespace Aki.Launcher.Models
|
||||
namespace SPT.Launcher.Models
|
||||
{
|
||||
public class ImageHelper : ReactiveObject
|
||||
{
|
@ -1,6 +1,6 @@
|
||||
using Aki.Launcher.ViewModels;
|
||||
using SPT.Launcher.ViewModels;
|
||||
|
||||
namespace Aki.Launcher.Models
|
||||
namespace SPT.Launcher.Models
|
||||
{
|
||||
public class NavigationPreConditionResult
|
||||
{
|
@ -1,4 +1,4 @@
|
||||
using Aki.Launcher.Controllers;
|
||||
using SPT.Launcher.Controllers;
|
||||
using Avalonia;
|
||||
using Avalonia.ReactiveUI;
|
||||
using ReactiveUI;
|
||||
@ -6,7 +6,7 @@ using Splat;
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
namespace Aki.Launcher
|
||||
namespace SPT.Launcher
|
||||
{
|
||||
internal class Program
|
||||
{
|
@ -15,7 +15,7 @@
|
||||
<None Remove="Properties\**" />
|
||||
<AvaloniaResource Remove="Assets\Styles.axaml" />
|
||||
<None Remove=".gitignore" />
|
||||
<None Remove="Assets\aki-logo.png" />
|
||||
<None Remove="Assets\SPT-logo.png" />
|
||||
<None Remove="Assets\icon.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -30,8 +30,8 @@
|
||||
<PackageReference Include="DialogHost.Avalonia" Version="0.5.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Aki.ByteBanger\Aki.ByteBanger.csproj" />
|
||||
<ProjectReference Include="..\Aki.Launcher.Base\Aki.Launcher.Base.csproj" />
|
||||
<ProjectReference Include="..\SPT.ByteBanger\SPT.ByteBanger.csproj" />
|
||||
<ProjectReference Include="..\SPT.Launcher.Base\SPT.Launcher.Base.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Newtonsoft.Json">
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user