0
0
mirror of https://github.com/sp-tarkov/launcher.git synced 2025-02-12 14:50:43 -05:00

Rebrand - part 1 - waffle dont hate me

This commit is contained in:
CWX 2024-05-21 20:15:19 +01:00
parent 9c09546d79
commit 5e38d97a8b
136 changed files with 505 additions and 530 deletions

View File

@ -1,8 +1,8 @@
# NCSA Open Source License # 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 Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal 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 this list of conditions and the following disclaimers in the documentation
and/or other materials provided with the distribution. 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 to endorse or promote products derived from this Software without specific
prior written permission. prior written permission.

View File

@ -4,10 +4,10 @@ Custom launcher for Escape From Tarkov to start the game in offline mode
**Project** | **Function** **Project** | **Function**
------------------ | -------------------------------------------- ------------------ | --------------------------------------------
Aki.Build | Build script SPT.Build | Build script
Aki.ByteBanger | Assembly-CSharp.dll patcher SPT.ByteBanger | Assembly-CSharp.dll patcher
Aki.Launcher | Launcher frontend SPT.Launcher | Launcher frontend
Aki.Launcher.Base | Launcher backend SPT.Launcher.Base | Launcher backend
## Privacy ## 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. 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.

View File

@ -1,7 +0,0 @@
namespace Aki.Launcher.Models.Aki
{
public class AkiData
{
public string version { get; set; }
}
}

View File

@ -5,7 +5,7 @@
} }
], ],
"settings": { "settings": {
"window.title": "SPT-AKI Launcher" "window.title": "SPT Launcher"
}, },
"extensions": { "extensions": {
"recommendations": [ "recommendations": [

View File

@ -3,13 +3,13 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17 # Visual Studio Version 17
VisualStudioVersion = 17.0.32014.148 VisualStudioVersion = 17.0.32014.148
MinimumVisualStudioVersion = 10.0.40219.1 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 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 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 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 EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution

View File

@ -6,7 +6,7 @@
</PropertyGroup> </PropertyGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent"> <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)" /> <Exec Command="pwsh -NoProfile -ExecutionPolicy Bypass ../build.ps1" WorkingDirectory="$(ProjectDir)" />
</Target> </Target>

View File

@ -1,4 +1,4 @@
namespace Aki.ByteBanger namespace SPT.ByteBanger
{ {
public class DiffResult public class DiffResult
{ {

View File

@ -1,7 +1,7 @@
/* PatchInfo.cs /* PatchInfo.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Basuro * Basuro
*/ */
@ -12,7 +12,7 @@ using System.Collections.Generic;
using System.IO; using System.IO;
using System.Text; using System.Text;
namespace Aki.ByteBanger namespace SPT.ByteBanger
{ {
public class PatchInfo public class PatchInfo
{ {

View File

@ -1,7 +1,7 @@
/* PatchItem.cs /* PatchItem.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Basuro * Basuro
*/ */
@ -9,7 +9,7 @@
using System.IO; using System.IO;
namespace Aki.ByteBanger namespace SPT.ByteBanger
{ {
public class PatchItem public class PatchItem
{ {

View File

@ -1,4 +1,4 @@
namespace Aki.ByteBanger namespace SPT.ByteBanger
{ {
public class PatchResult public class PatchResult
{ {

View File

@ -1,7 +1,7 @@
/* BB.cs /* BB.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Basuro * Basuro
*/ */
@ -12,7 +12,7 @@ using System.Collections.Generic;
using System.IO; using System.IO;
using System.Security.Cryptography; using System.Security.Cryptography;
namespace Aki.ByteBanger namespace SPT.ByteBanger
{ {
public static class PatchUtil public static class PatchUtil
{ {

View File

@ -1,22 +1,21 @@
/* AccountManager.cs /* AccountManager.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
* Merijn Hendriks
*/ */
using System; using System;
using Aki.Launcher.Helpers; using SPT.Launcher.Helpers;
using Aki.Launcher.MiniCommon; using SPT.Launcher.MiniCommon;
using Aki.Launcher.Models.Aki; using SPT.Launcher.Models.SPT;
using Aki.Launcher.Models.Launcher; using SPT.Launcher.Models.Launcher;
using System.Threading.Tasks; using System.Threading.Tasks;
using Aki.Launcher.Controllers; using SPT.Launcher.Controllers;
namespace Aki.Launcher namespace SPT.Launcher
{ {
public enum AccountStatus public enum AccountStatus
{ {

View File

@ -1,28 +1,27 @@
/* GameStarter.cs /* GameStarter.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
* reider123 * reider123
* Merijn Hendriks
*/ */
using Aki.Launcher.Helpers; using SPT.Launcher.Helpers;
using Aki.Launcher.MiniCommon; using SPT.Launcher.MiniCommon;
using Aki.Launcher.Models.Launcher; using SPT.Launcher.Models.Launcher;
using Microsoft.Win32; using Microsoft.Win32;
using System; using System;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Aki.Launcher.Controllers; using SPT.Launcher.Controllers;
using Aki.Launcher.Interfaces; using SPT.Launcher.Interfaces;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Aki.Launcher namespace SPT.Launcher
{ {
public class GameStarter public class GameStarter
{ {
@ -147,12 +146,9 @@ namespace Aki.Launcher
{ {
var files = new FileInfo[] var files = new FileInfo[]
{ {
// aki files // SPT files
new FileInfo(Path.Combine(_originalGamePath, @"Aki.Launcher.exe")), new FileInfo(Path.Combine(_originalGamePath, @"SPT.Launcher.exe")),
new FileInfo(Path.Combine(_originalGamePath, @"Aki.Server.exe")), new FileInfo(Path.Combine(_originalGamePath, @"SPT.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")),
// bepinex files // bepinex files
new FileInfo(Path.Combine(_originalGamePath, @"doorstep_config.ini")), new FileInfo(Path.Combine(_originalGamePath, @"doorstep_config.ini")),
@ -167,7 +163,7 @@ namespace Aki.Launcher
}; };
var directories = new DirectoryInfo[] var directories = new DirectoryInfo[]
{ {
new DirectoryInfo(Path.Combine(_originalGamePath, @"Aki_Data")), new DirectoryInfo(Path.Combine(_originalGamePath, @"SPT_Data")),
new DirectoryInfo(Path.Combine(_originalGamePath, @"BepInEx")) new DirectoryInfo(Path.Combine(_originalGamePath, @"BepInEx"))
}; };

View File

@ -1,16 +1,15 @@
/* LogManager.cs /* LogManager.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Merijn Hendriks
*/ */
using System; using System;
using System.IO; using System.IO;
namespace Aki.Launcher.Controllers namespace SPT.Launcher.Controllers
{ {
/// <summary> /// <summary>
/// LogManager /// LogManager

View File

@ -1,15 +1,14 @@
/* RequestHandler.cs /* RequestHandler.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Merijn Hendriks
*/ */
using Aki.Launcher.MiniCommon; using SPT.Launcher.MiniCommon;
namespace Aki.Launcher namespace SPT.Launcher
{ {
public static class RequestHandler public static class RequestHandler
{ {

View File

@ -1,18 +1,17 @@
/* ServerManager.cs /* ServerManager.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Merijn Hendriks
*/ */
using Aki.Launcher.MiniCommon; using SPT.Launcher.MiniCommon;
using Aki.Launcher.Models.Aki; using SPT.Launcher.Models.SPT;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Aki.Launcher namespace SPT.Launcher
{ {
public static class ServerManager public static class ServerManager
{ {
@ -64,31 +63,31 @@ namespace Aki.Launcher
} }
} }
public static Dictionary<string, AkiServerModInfo> GetLoadedServerMods() public static Dictionary<string, SPTServerModInfo> GetLoadedServerMods()
{ {
try try
{ {
string json = RequestHandler.RequestLoadedServerMods(); string json = RequestHandler.RequestLoadedServerMods();
return Json.Deserialize<Dictionary<string, AkiServerModInfo>>(json); return Json.Deserialize<Dictionary<string, SPTServerModInfo>>(json);
} }
catch catch
{ {
return new Dictionary<string, AkiServerModInfo>(); return new Dictionary<string, SPTServerModInfo>();
} }
} }
public static AkiProfileModInfo[] GetProfileMods() public static SPTProfileModInfo[] GetProfileMods()
{ {
try try
{ {
string json = RequestHandler.RequestProfileMods(); string json = RequestHandler.RequestProfileMods();
return Json.Deserialize<AkiProfileModInfo[]>(json); return Json.Deserialize<SPTProfileModInfo[]>(json);
} }
catch catch
{ {
return new AkiProfileModInfo[] { }; return new SPTProfileModInfo[] { };
} }
} }

View File

@ -1,7 +1,7 @@
/* DictionaryExtension.cs /* DictionaryExtension.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
*/ */
@ -10,7 +10,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
namespace Aki.Launcher.Extensions namespace SPT.Launcher.Extensions
{ {
public static class DictionaryExtensions public static class DictionaryExtensions
{ {

View File

@ -1,20 +1,19 @@
/* FilePatcher.cs /* FilePatcher.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Merijn Hendriks
* waffle.lord * waffle.lord
*/ */
using System; using System;
using System.IO; using System.IO;
using Aki.ByteBanger; using SPT.ByteBanger;
using Aki.Launcher.Controllers; using SPT.Launcher.Controllers;
using Aki.Launcher.MiniCommon; using SPT.Launcher.MiniCommon;
using Aki.Launcher.Models.Launcher; using SPT.Launcher.Models.Launcher;
namespace Aki.Launcher.Helpers namespace SPT.Launcher.Helpers
{ {
public static class FilePatcher public static class FilePatcher
{ {

View File

@ -1,22 +1,21 @@
/* LauncherSettingsProvider.cs /* LauncherSettingsProvider.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
* Merijn Hendriks
*/ */
using Aki.Launcher.MiniCommon; using SPT.Launcher.MiniCommon;
using Aki.Launcher.Models.Launcher; using SPT.Launcher.Models.Launcher;
using Newtonsoft.Json; using Newtonsoft.Json;
using System; using System;
using System.ComponentModel; using System.ComponentModel;
using System.IO; using System.IO;
using Aki.Launcher.Controllers; using SPT.Launcher.Controllers;
namespace Aki.Launcher.Helpers namespace SPT.Launcher.Helpers
{ {
public static class LauncherSettingsProvider public static class LauncherSettingsProvider
{ {
@ -150,7 +149,7 @@ namespace Aki.Launcher.Helpers
UseAutoLogin = true; UseAutoLogin = true;
GamePath = Environment.CurrentDirectory; 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(); SaveSettings();
} }

View File

@ -1,14 +1,14 @@
/* LocalizationProvider.cs /* LocalizationProvider.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
*/ */
using Aki.Launcher.Extensions; using SPT.Launcher.Extensions;
using Aki.Launcher.MiniCommon; using SPT.Launcher.MiniCommon;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
@ -16,13 +16,13 @@ using System.ComponentModel;
using System.Globalization; using System.Globalization;
using System.IO; using System.IO;
using System.Linq; 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 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"); public static Dictionary<string, string> LocaleNameDictionary = GetLocaleDictionary("native_name");
@ -118,7 +118,7 @@ namespace Aki.Launcher.Helpers
englishLocale.account = "Account"; englishLocale.account = "Account";
englishLocale.edit_account = "Edit Account"; englishLocale.edit_account = "Edit Account";
englishLocale.start_game = "Start Game"; 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.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.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"; englishLocale.account_exist = "Account already exists";
@ -160,7 +160,7 @@ namespace Aki.Launcher.Helpers
englishLocale.level = "Level"; englishLocale.level = "Level";
englishLocale.game_path = "Game Path"; englishLocale.game_path = "Game Path";
englishLocale.patching = "Patching"; 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.yes = "Yes";
englishLocale.no = "No"; englishLocale.no = "No";
englishLocale.open_folder = "Open Folder"; englishLocale.open_folder = "Open Folder";
@ -169,7 +169,7 @@ namespace Aki.Launcher.Helpers
englishLocale.next_level_in = "Next level in"; englishLocale.next_level_in = "Next level in";
englishLocale.copied = "Copied"; englishLocale.copied = "Copied";
englishLocale.no_profile_data = "No profile data"; 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_removed = "Profile removed";
englishLocale.profile_removal_failed = "Failed to remove profile"; englishLocale.profile_removal_failed = "Failed to remove profile";
englishLocale.profile_remove_question_format_1 = "Permanently remove profile '{0}'?"; englishLocale.profile_remove_question_format_1 = "Permanently remove profile '{0}'?";

View File

@ -1,18 +1,18 @@
/* ProgressReportingPatchRunner.cs /* ProgressReportingPatchRunner.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
*/ */
using Aki.Launcher.MiniCommon; using SPT.Launcher.MiniCommon;
using Aki.Launcher.Models.Launcher; using SPT.Launcher.Models.Launcher;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using Aki.ByteBanger; using SPT.ByteBanger;
namespace Aki.Launcher.Helpers namespace SPT.Launcher.Helpers
{ {
public class ProgressReportingPatchRunner public class ProgressReportingPatchRunner
{ {
@ -64,7 +64,7 @@ namespace Aki.Launcher.Helpers
private string[] GetCorePatches() 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) public ProgressReportingPatchRunner(string GamePath, string[] Patches = null)

View File

@ -1,7 +1,7 @@
using Microsoft.Win32; using Microsoft.Win32;
using System.IO; using System.IO;
namespace Aki.Launcher.Helpers namespace SPT.Launcher.Helpers
{ {
public static class ValidationUtil public static class ValidationUtil
{ {

View File

@ -1,8 +1,8 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks; 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 public interface IGameStarterFrontend
{ {

View File

@ -1,15 +1,15 @@
/* IUpdateProgress /* IUpdateProgress
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
*/ */
using Aki.Launcher.Models.Launcher; using SPT.Launcher.Models.Launcher;
using System; using System;
namespace Aki.Launcher.Interfaces namespace SPT.Launcher.Interfaces
{ {
public interface IUpdateProgress public interface IUpdateProgress
{ {

View File

@ -1,23 +1,23 @@
/* ImageRequest.cs /* ImageRequest.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
*/ */
using Aki.Launcher.Controllers; using SPT.Launcher.Controllers;
using Aki.Launcher.Helpers; using SPT.Launcher.Helpers;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
namespace Aki.Launcher.MiniCommon namespace SPT.Launcher.MiniCommon
{ {
public static class ImageRequest 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>(); private static List<string> CachedRoutes = new List<string>();

View File

@ -1,10 +1,9 @@
/* Json.cs /* Json.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
* Merijn Hendriks
*/ */
@ -13,7 +12,7 @@ using Newtonsoft.Json.Linq;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
namespace Aki.Launcher.MiniCommon namespace SPT.Launcher.MiniCommon
{ {
public static class Json public static class Json
{ {

View File

@ -11,7 +11,7 @@ using System;
using System.Diagnostics; using System.Diagnostics;
using System.Timers; using System.Timers;
namespace Aki.Launcher.MiniCommon namespace SPT.Launcher.MiniCommon
{ {
public class ProcessMonitor public class ProcessMonitor
{ {

View File

@ -13,7 +13,7 @@ using System.IO;
using System.Net; using System.Net;
using System.Text; using System.Text;
namespace Aki.Launcher.MiniCommon namespace SPT.Launcher.MiniCommon
{ {
public class Request public class Request
{ {

View File

@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.IO; using System.IO;
using System.Text; using System.Text;
namespace Aki.Launcher.MiniCommon namespace SPT.Launcher.MiniCommon
{ {
public static class VFS public static class VFS
{ {

View File

@ -1,13 +1,12 @@
/* ClientConfig.cs /* ClientConfig.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Merijn Hendriks
*/ */
namespace Aki.Launcher namespace SPT.Launcher
{ {
public class ClientConfig public class ClientConfig
{ {

View File

@ -1,13 +1,12 @@
/* LoginToken.cs /* LoginToken.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Merijn Hendriks
*/ */
namespace Aki.Launcher namespace SPT.Launcher
{ {
public struct LoginToken public struct LoginToken
{ {

View File

@ -1,15 +1,14 @@
/* ConnectServerModel.cs /* ConnectServerModel.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Merijn Hendriks
*/ */
using System.ComponentModel; using System.ComponentModel;
namespace Aki.Launcher.Models.Launcher namespace SPT.Launcher.Models.Launcher
{ {
public class ConnectServerModel : INotifyPropertyChanged public class ConnectServerModel : INotifyPropertyChanged
{ {

View File

@ -1,17 +1,16 @@
/* EditionCollection.cs /* EditionCollection.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Merijn Hendriks
*/ */
using Aki.Launcher.Models.Aki; using SPT.Launcher.Models.SPT;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.ComponentModel; using System.ComponentModel;
namespace Aki.Launcher.Models.Launcher namespace SPT.Launcher.Models.Launcher
{ {
public class EditionCollection : INotifyPropertyChanged public class EditionCollection : INotifyPropertyChanged
{ {
@ -42,8 +41,8 @@ namespace Aki.Launcher.Models.Launcher
} }
} }
private AkiEdition _SelectedEdition; private SPTEdition _SelectedEdition;
public AkiEdition SelectedEdition public SPTEdition SelectedEdition
{ {
get => _SelectedEdition; get => _SelectedEdition;
set 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() public EditionCollection()
{ {
@ -64,7 +63,7 @@ namespace Aki.Launcher.Models.Launcher
foreach(var edition in ServerManager.SelectedServer.editions) foreach(var edition in ServerManager.SelectedServer.editions)
{ {
AvailableEditions.Add(new AkiEdition(edition)); AvailableEditions.Add(new SPTEdition(edition));
} }
} }

View File

@ -1,15 +1,14 @@
/* GameStarterResult.cs /* GameStarterResult.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Merijn Hendriks
* waffle.lord * waffle.lord
*/ */
using Aki.Launcher.Helpers; using SPT.Launcher.Helpers;
namespace Aki.Launcher.Models.Launcher namespace SPT.Launcher.Models.Launcher
{ {
public class GameStarterResult public class GameStarterResult
{ {

View File

@ -1,13 +1,13 @@
/* LauncherAction.cs /* LauncherAction.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
*/ */
namespace Aki.Launcher.Models.Launcher namespace SPT.Launcher.Models.Launcher
{ {
public enum LauncherAction public enum LauncherAction
{ {

View File

@ -1,18 +1,18 @@
/* LocaleCollection.cs /* LocaleCollection.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
*/ */
using Aki.Launcher.Helpers; using SPT.Launcher.Helpers;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.ComponentModel; using System.ComponentModel;
namespace Aki.Launcher.Models.Launcher namespace SPT.Launcher.Models.Launcher
{ {
public class LocaleCollection : INotifyPropertyChanged public class LocaleCollection : INotifyPropertyChanged
{ {

View File

@ -1,9 +1,9 @@
using Aki.Launcher.Helpers; using SPT.Launcher.Helpers;
using Aki.Launcher.Models.Launcher; using SPT.Launcher.Models.Launcher;
using System.ComponentModel; using System.ComponentModel;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
namespace Aki.Launcher.Models namespace SPT.Launcher.Models
{ {
public class LocalizedLauncherAction : INotifyPropertyChanged public class LocalizedLauncherAction : INotifyPropertyChanged
{ {

View File

@ -1,15 +1,14 @@
/* LoginModel.cs /* LoginModel.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Merijn Hendriks
*/ */
using System.ComponentModel; using System.ComponentModel;
namespace Aki.Launcher.Models.Launcher namespace SPT.Launcher.Models.Launcher
{ {
public class LoginModel : INotifyPropertyChanged public class LoginModel : INotifyPropertyChanged
{ {

View File

@ -1,7 +1,7 @@
/* MenuBarItem.cs /* MenuBarItem.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
*/ */
@ -10,7 +10,7 @@ using System;
using System.ComponentModel; using System.ComponentModel;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Aki.Launcher.Models.Launcher namespace SPT.Launcher.Models.Launcher
{ {
public class MenuBarItem : INotifyPropertyChanged public class MenuBarItem : INotifyPropertyChanged
{ {

View File

@ -1,9 +1,9 @@
using Aki.Launcher.Models.Aki; using SPT.Launcher.Models.SPT;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.ComponentModel; using System.ComponentModel;
using System.Linq; using System.Linq;
namespace Aki.Launcher.Models.Launcher namespace SPT.Launcher.Models.Launcher
{ {
public class ModInfoCollection : INotifyPropertyChanged 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<SPTMod> ActiveMods { get; private set; } = new ObservableCollection<SPTMod>();
public ObservableCollection<AkiMod> InactiveMods { get; private set; } = new ObservableCollection<AkiMod>(); public ObservableCollection<SPTMod> InactiveMods { get; private set; } = new ObservableCollection<SPTMod>();
public ModInfoCollection() public ModInfoCollection()
{ {

View File

@ -1,7 +1,7 @@
/* NotificationItem.cs /* NotificationItem.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
*/ */
@ -10,7 +10,7 @@
using System; using System;
using System.ComponentModel; using System.ComponentModel;
namespace Aki.Launcher.Models.Launcher.Notifications namespace SPT.Launcher.Models.Launcher.Notifications
{ {
public class NotificationItem : INotifyPropertyChanged public class NotificationItem : INotifyPropertyChanged
{ {

View File

@ -1,20 +1,20 @@
/* NotificationQueue.cs /* NotificationQueue.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
*/ */
using Aki.Launcher.Helpers; using SPT.Launcher.Helpers;
using System; using System;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.ComponentModel; using System.ComponentModel;
using System.Linq; using System.Linq;
using System.Timers; using System.Timers;
namespace Aki.Launcher.Models.Launcher.Notifications namespace SPT.Launcher.Models.Launcher.Notifications
{ {
public class NotificationQueue : INotifyPropertyChanged, IDisposable public class NotificationQueue : INotifyPropertyChanged, IDisposable
{ {

View File

@ -1,14 +1,14 @@
/* PatchResultInfo.cs /* PatchResultInfo.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
*/ */
using Aki.ByteBanger; using SPT.ByteBanger;
namespace Aki.Launcher.Models.Launcher namespace SPT.Launcher.Models.Launcher
{ {
public class PatchResultInfo public class PatchResultInfo
{ {

View File

@ -6,14 +6,14 @@
* waffle.lord * waffle.lord
*/ */
using Aki.Launcher.Helpers; using SPT.Launcher.Helpers;
using Aki.Launcher.MiniCommon; using SPT.Launcher.MiniCommon;
using Aki.Launcher.Models.Aki; using SPT.Launcher.Models.SPT;
using System; using System;
using System.ComponentModel; using System.ComponentModel;
using System.IO; using System.IO;
namespace Aki.Launcher.Models.Launcher namespace SPT.Launcher.Models.Launcher
{ {
public class ProfileInfo : INotifyPropertyChanged public class ProfileInfo : INotifyPropertyChanged
{ {
@ -173,16 +173,16 @@ namespace Aki.Launcher.Models.Launcher
} }
} }
private AkiData _Aki; private SPTData _SPT;
public AkiData Aki public SPTData SPT
{ {
get => _Aki; get => _SPT;
set set
{ {
if(_Aki != value) if(_SPT != value)
{ {
_Aki = value; _SPT = value;
RaisePropertyChanged(nameof(Aki)); RaisePropertyChanged(nameof(SPT));
} }
} }
} }
@ -201,11 +201,11 @@ namespace Aki.Launcher.Models.Launcher
RemainingExp = PInfo.RemainingExp; RemainingExp = PInfo.RemainingExp;
XPLevelProgress = PInfo.XPLevelProgress; XPLevelProgress = PInfo.XPLevelProgress;
Aki = PInfo.Aki; SPT = PInfo.SPT;
} }
/// <summary> /// <summary>
/// Checks if the aki versions are compatible (non-major changes) /// Checks if the SPT versions are compatible (non-major changes)
/// </summary> /// </summary>
/// <param name="CurrentVersion"></param> /// <param name="CurrentVersion"></param>
/// <param name="ExpectedVersion"></param> /// <param name="ExpectedVersion"></param>
@ -214,8 +214,8 @@ namespace Aki.Launcher.Models.Launcher
{ {
if (ExpectedVersion == "") return false; if (ExpectedVersion == "") return false;
AkiVersion v1 = new AkiVersion(CurrentVersion); SPTVersion v1 = new SPTVersion(CurrentVersion);
AkiVersion v2 = new AkiVersion(ExpectedVersion); SPTVersion v2 = new SPTVersion(ExpectedVersion);
// check 'X'.x.x // check 'X'.x.x
if (v1.Major != v2.Major) return false; if (v1.Major != v2.Major) return false;
@ -233,11 +233,11 @@ namespace Aki.Launcher.Models.Launcher
Nickname = serverProfileInfo.nickname; Nickname = serverProfileInfo.nickname;
Side = serverProfileInfo.side; 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"); SideImage = Path.Combine(ImageRequest.ImageCacheFolder, $"side_{Side.ToLower()}.png");

View File

@ -1,12 +1,12 @@
/* ProgressInfo.cs /* ProgressInfo.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
*/ */
namespace Aki.Launcher.Models.Launcher namespace SPT.Launcher.Models.Launcher
{ {
public class ProgressInfo public class ProgressInfo
{ {

View File

@ -1,15 +1,14 @@
/* RegisterModel.cs /* RegisterModel.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Merijn Hendriks
*/ */
using System.ComponentModel; using System.ComponentModel;
namespace Aki.Launcher.Models.Launcher namespace SPT.Launcher.Models.Launcher
{ {
public class RegisterModel : INotifyPropertyChanged public class RegisterModel : INotifyPropertyChanged
{ {

View File

@ -1,16 +1,15 @@
/* ServerSetting.cs /* ServerSetting.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
* Merijn Hendriks
*/ */
using System.ComponentModel; using System.ComponentModel;
namespace Aki.Launcher.Models.Launcher namespace SPT.Launcher.Models.Launcher
{ {
public class ServerSetting : INotifyPropertyChanged public class ServerSetting : INotifyPropertyChanged
{ {

View File

@ -1,12 +1,11 @@
/* WipeProfileModel.cs /* WipeProfileModel.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Merijn Hendriks
*/ */
namespace Aki.Launcher.Models.Launcher namespace SPT.Launcher.Models.Launcher
{ {
public class WipeProfileModel public class WipeProfileModel
{ {

View File

@ -1,13 +1,12 @@
/* AccountInfo.cs /* AccountInfo.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Merijn Hendriks
*/ */
namespace Aki.Launcher namespace SPT.Launcher
{ {
public class AccountInfo public class AccountInfo
{ {

View File

@ -1,13 +1,12 @@
/* ChangeRequestData.cs /* ChangeRequestData.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Merijn Hendriks
*/ */
namespace Aki.Launcher namespace SPT.Launcher
{ {
public struct ChangeRequestData public struct ChangeRequestData
{ {

View File

@ -1,6 +1,6 @@
using Newtonsoft.Json; using Newtonsoft.Json;
namespace Aki.Launcher.Models.Aki namespace SPT.Launcher.Models.SPT
{ {
public class DevDependencies public class DevDependencies
{ {

View File

@ -1,13 +1,12 @@
/* LoginRequestData.cs /* LoginRequestData.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Merijn Hendriks
*/ */
namespace Aki.Launcher namespace SPT.Launcher
{ {
public struct LoginRequestData public struct LoginRequestData
{ {

View File

@ -1,13 +1,12 @@
/* RegisterRequestData.cs /* RegisterRequestData.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Merijn Hendriks
*/ */
namespace Aki.Launcher namespace SPT.Launcher
{ {
public struct RegisterRequestData public struct RegisterRequestData
{ {

View File

@ -0,0 +1,7 @@
namespace SPT.Launcher.Models.SPT
{
public class SPTData
{
public string version { get; set; }
}
}

View File

@ -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 Name { get; set; }
public string Description { get; set; } public string Description { get; set; }
public AkiEdition(string name) public SPTEdition(string name)
{ {
Name = name; Name = name;
ServerManager.SelectedServer.profileDescriptions.TryGetValue(name, out string desc); ServerManager.SelectedServer.profileDescriptions.TryGetValue(name, out string desc);

View File

@ -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 InServer { get; set; }
public bool InProfile { get; set; } public bool InProfile { get; set; }

View File

@ -1,8 +1,8 @@
using System; 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; } public string DateAdded { get; set; }
} }

View File

@ -1,12 +1,12 @@
using System.Collections.Generic; 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 Main { get; set; }
public string License { 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 Dictionary<string, string> Scripts { get; set; }
public DevDependencies DevDependencies { get; set; } public DevDependencies DevDependencies { get; set; }
} }
@ -20,7 +20,7 @@ namespace Aki.Launcher.Models.Aki
"main": "src/mod.ts", "main": "src/mod.ts",
"license": "MIT", "license": "MIT",
"author": "waffle.lord", "author": "waffle.lord",
"akiVersion": "~3.6", "SPTVersion": "~3.6",
"scripts": { "scripts": {
"setup": "npm i", "setup": "npm i",
"build": "node ./packageBuild.ts" "build": "node ./packageBuild.ts"

View File

@ -1,8 +1,8 @@
using System.ComponentModel; 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 Major;
public int Minor; 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]; Tag = versionInfo[1];
} }
string[] splitVersion = AkiVersion.Split('.'); string[] splitVersion = SPTVersion.Split('.');
if (splitVersion.Length == 3) 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; public event PropertyChangedEventHandler PropertyChanged;

View File

@ -1,15 +1,14 @@
/* ServerInfo.cs /* ServerInfo.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* Merijn Hendriks
*/ */
using System.Collections.Generic; using System.Collections.Generic;
namespace Aki.Launcher namespace SPT.Launcher
{ {
public class ServerInfo public class ServerInfo
{ {
@ -21,7 +20,7 @@ namespace Aki.Launcher
public ServerInfo() public ServerInfo()
{ {
backendUrl = "http://127.0.0.1:6969"; backendUrl = "http://127.0.0.1:6969";
name = "Local SPT-AKI Server"; name = "Local SPT Server";
editions = new string[0]; editions = new string[0];
profileDescriptions = new Dictionary<string, string>(); profileDescriptions = new Dictionary<string, string>();
} }

View File

@ -1,12 +1,12 @@
/* ServerProfileInfo.cs /* ServerProfileInfo.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
*/ */
namespace Aki.Launcher.Models.Aki namespace SPT.Launcher.Models.SPT
{ {
public class ServerProfileInfo public class ServerProfileInfo
{ {
@ -18,6 +18,6 @@ namespace Aki.Launcher.Models.Aki
public long prevexp { get; set; } public long prevexp { get; set; }
public long nextlvl { get; set; } public long nextlvl { get; set; }
public int maxlvl { get; set; } public int maxlvl { get; set; }
public AkiData akiData { get; set; } public SPTData SPTData { get; set; }
} }
} }

View File

@ -2,12 +2,12 @@
<PropertyGroup> <PropertyGroup>
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<RootNamespace>Aki.Launch</RootNamespace> <RootNamespace>SPT.Launch</RootNamespace>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="zlib.net, Version=1.0.3.0, Culture=neutral, PublicKeyToken=null"> <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> </Reference>
</ItemGroup> </ItemGroup>
@ -17,7 +17,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Aki.ByteBanger\Aki.ByteBanger.csproj" /> <ProjectReference Include="..\SPT.ByteBanger\SPT.ByteBanger.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -1,7 +1,7 @@
<Application xmlns="https://github.com/avaloniaui" <Application xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Aki.Launcher" xmlns:local="using:SPT.Launcher"
x:Class="Aki.Launcher.App"> x:Class="SPT.Launcher.App">
<Application.DataTemplates> <Application.DataTemplates>
<local:ViewLocator/> <local:ViewLocator/>
</Application.DataTemplates> </Application.DataTemplates>
@ -13,19 +13,19 @@
<Application.Resources> <Application.Resources>
<!-- Colors --> <!-- Colors -->
<Color x:Key="AKI_DarkGray">#121212</Color> <Color x:Key="SPT_DarkGray">#121212</Color>
<Color x:Key="AKI_Yellow">#FFC107</Color> <Color x:Key="SPT_Yellow">#FFC107</Color>
<Color x:Key="AKI_White">#FFFFFF</Color> <Color x:Key="SPT_White">#FFFFFF</Color>
<Color x:Key="AKI_Gray">#282828</Color> <Color x:Key="SPT_Gray">#282828</Color>
<Color x:Key="AKI_DarkGrayBlue">#323947</Color> <Color x:Key="SPT_DarkGrayBlue">#323947</Color>
<!-- Brushes --> <!-- Brushes -->
<SolidColorBrush x:Key="AKI_Foreground_Light" Color="{StaticResource AKI_White}"/> <SolidColorBrush x:Key="SPT_Foreground_Light" Color="{StaticResource SPT_White}"/>
<SolidColorBrush x:Key="AKI_Background_Light" Color="{StaticResource AKI_Gray}"/> <SolidColorBrush x:Key="SPT_Background_Light" Color="{StaticResource SPT_Gray}"/>
<SolidColorBrush x:Key="AKI_Background_Dark" Color="{StaticResource AKI_DarkGray}"/> <SolidColorBrush x:Key="SPT_Background_Dark" Color="{StaticResource SPT_DarkGray}"/>
<SolidColorBrush x:Key="AKI_Brush_Yellow" Color="{StaticResource AKI_Yellow}"/> <SolidColorBrush x:Key="SPT_Brush_Yellow" Color="{StaticResource SPT_Yellow}"/>
<SolidColorBrush x:Key="AKI_Brush_DarkGrayBlue" Color="{StaticResource AKI_DarkGrayBlue}"/> <SolidColorBrush x:Key="SPT_Brush_DarkGrayBlue" Color="{StaticResource SPT_DarkGrayBlue}"/>
<SolidColorBrush x:Key="AKI_Brush_Lighter" Color="Gainsboro"/> <SolidColorBrush x:Key="SPT_Brush_Lighter" Color="Gainsboro"/>
<!-- Path Geometry for re-usable icons --> <!-- 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" <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"

View File

@ -1,6 +1,6 @@
using Aki.Launcher.Controllers; using SPT.Launcher.Controllers;
using Aki.Launcher.ViewModels; using SPT.Launcher.ViewModels;
using Aki.Launcher.Views; using SPT.Launcher.Views;
using Avalonia; using Avalonia;
using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml; using Avalonia.Markup.Xaml;
@ -8,7 +8,7 @@ using ReactiveUI;
using System; using System;
using System.Reactive; using System.Reactive;
namespace Aki.Launcher namespace SPT.Launcher
{ {
public class App : Application public class App : Application
{ {

View File

@ -1,10 +1,10 @@
<Styles xmlns="https://github.com/avaloniaui" <Styles xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 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" xmlns:rxui="using:Avalonia.ReactiveUI"
> >
<Design.PreviewWith> <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"/> <Button Content="Blah"/>
<TextBox Text="Some cool text here" Margin="5"/> <TextBox Text="Some cool text here" Margin="5"/>
<TextBox Watermark="This is a watermark" Margin="5"/> <TextBox Watermark="This is a watermark" Margin="5"/>
@ -86,30 +86,30 @@
<!-- TitleBar Styles --> <!-- TitleBar Styles -->
<Style Selector="cc|TitleBar"> <Style Selector="cc|TitleBar">
<Setter Property="Background" Value="{StaticResource AKI_Background_Dark}"/> <Setter Property="Background" Value="{StaticResource SPT_Background_Dark}"/>
<Setter Property="Foreground" Value="{StaticResource AKI_Foreground_Light}"/> <Setter Property="Foreground" Value="{StaticResource SPT_Foreground_Light}"/>
<Setter Property="ButtonForeground" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/> <Setter Property="ButtonForeground" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
</Style> </Style>
<Style Selector="cc|TitleBar.versiontag"> <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"/> <Setter Property="BorderThickness" Value="0 0 0 2"/>
</Style> </Style>
<!-- TextBox Styles --> <!-- TextBox Styles -->
<!-- SourceRef: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/TextBox.xaml --> <!-- SourceRef: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/TextBox.xaml -->
<Style Selector="TextBox"> <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="FontWeight" Value="SemiBold"/>
<Setter Property="Foreground" Value="{StaticResource AKI_Brush_Lighter}"/> <Setter Property="Foreground" Value="{StaticResource SPT_Brush_Lighter}"/>
</Style> </Style>
<Style Selector="TextBox:focus"> <Style Selector="TextBox:focus">
<Setter Property="Foreground" Value="{StaticResource AKI_Brush_Lighter}"/> <Setter Property="Foreground" Value="{StaticResource SPT_Brush_Lighter}"/>
</Style> </Style>
<Style Selector="TextBox:pointerover"> <Style Selector="TextBox:pointerover">
<Setter Property="Foreground" Value="{StaticResource AKI_Brush_Lighter}"/> <Setter Property="Foreground" Value="{StaticResource SPT_Brush_Lighter}"/>
</Style> </Style>
<Style Selector="TextBox:pointerover /template/ Border#PART_BorderElement"> <Style Selector="TextBox:pointerover /template/ Border#PART_BorderElement">
@ -131,18 +131,18 @@
<Style Selector="TextBox:focus /template/ Border#PART_BorderElement"> <Style Selector="TextBox:focus /template/ Border#PART_BorderElement">
<Setter Property="Background" Value="Transparent"/> <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"/> <Setter Property="BorderThickness" Value="1"/>
</Style> </Style>
<!-- Label Styles --> <!-- Label Styles -->
<!-- SourceRef: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/Label.xaml --> <!-- SourceRef: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/Label.xaml -->
<Style Selector="Label"> <Style Selector="Label">
<Setter Property="Foreground" Value="{StaticResource AKI_Foreground_Light}"/> <Setter Property="Foreground" Value="{StaticResource SPT_Foreground_Light}"/>
</Style> </Style>
<Style Selector="Label.yellow"> <Style Selector="Label.yellow">
<Setter Property="Foreground" Value="{StaticResource AKI_Brush_Yellow}"/> <Setter Property="Foreground" Value="{StaticResource SPT_Brush_Yellow}"/>
</Style> </Style>
<Style Selector="Label.dark"> <Style Selector="Label.dark">
@ -156,8 +156,8 @@
<!-- ProgressBar Styles --> <!-- ProgressBar Styles -->
<!-- SourceRef: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/ProgressBar.xaml --> <!-- SourceRef: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/ProgressBar.xaml -->
<Style Selector="ProgressBar"> <Style Selector="ProgressBar">
<Setter Property="Foreground" Value="{StaticResource AKI_Brush_Yellow}"/> <Setter Property="Foreground" Value="{StaticResource SPT_Brush_Yellow}"/>
<Setter Property="Background" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/> <Setter Property="Background" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
</Style> </Style>
<Style Selector="ProgressBar.error"> <Style Selector="ProgressBar.error">
@ -165,7 +165,7 @@
<Style.Animations> <Style.Animations>
<Animation Duration="0:0:0.5" FillMode="Forward"> <Animation Duration="0:0:0.5" FillMode="Forward">
<KeyFrame Cue="0%"> <KeyFrame Cue="0%">
<Setter Property="Foreground" Value="{StaticResource AKI_Brush_Yellow}"/> <Setter Property="Foreground" Value="{StaticResource SPT_Brush_Yellow}"/>
<Setter Property="Value" Value="0"/> <Setter Property="Value" Value="0"/>
</KeyFrame> </KeyFrame>
<KeyFrame Cue="100%"> <KeyFrame Cue="100%">
@ -179,14 +179,14 @@
<!-- Seperator Styles --> <!-- Seperator Styles -->
<!-- SourceRef: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/Separator.xaml --> <!-- SourceRef: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/Separator.xaml -->
<Style Selector="Separator"> <Style Selector="Separator">
<Setter Property="Background" Value="{StaticResource AKI_Background_Dark}"/> <Setter Property="Background" Value="{StaticResource SPT_Background_Dark}"/>
</Style> </Style>
<!-- Button Styles --> <!-- Button Styles -->
<!-- SourceRef: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/Button.xaml --> <!-- SourceRef: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/Button.xaml -->
<Style Selector="Button"> <Style Selector="Button">
<Setter Property="Background" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/> <Setter Property="Background" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
<Setter Property="Foreground" Value="{StaticResource AKI_Background_Dark}"/> <Setter Property="Foreground" Value="{StaticResource SPT_Background_Dark}"/>
</Style> </Style>
<Style Selector="Button:pointerover"> <Style Selector="Button:pointerover">
@ -194,24 +194,24 @@
</Style> </Style>
<Style Selector="Button:pointerover /template/ ContentPresenter"> <Style Selector="Button:pointerover /template/ ContentPresenter">
<Setter Property="Background" Value="{StaticResource AKI_Background_Light}"/> <Setter Property="Background" Value="{StaticResource SPT_Background_Light}"/>
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_Yellow}"/> <Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_Yellow}"/>
<Setter Property="BorderThickness" Value="1"/> <Setter Property="BorderThickness" Value="1"/>
</Style> </Style>
<Style Selector="Button:pressed /template/ ContentPresenter"> <Style Selector="Button:pressed /template/ ContentPresenter">
<Setter Property="Background" Value="{StaticResource AKI_Brush_Yellow}"/> <Setter Property="Background" Value="{StaticResource SPT_Brush_Yellow}"/>
</Style> </Style>
<Style Selector="Button:disabled /template/ ContentPresenter"> <Style Selector="Button:disabled /template/ ContentPresenter">
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/> <Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
</Style> </Style>
<!-- Button yellow --> <!-- Button yellow -->
<Style Selector="Button.yellow"> <Style Selector="Button.yellow">
<Setter Property="Background" Value="{StaticResource AKI_Brush_Yellow}"/> <Setter Property="Background" Value="{StaticResource SPT_Brush_Yellow}"/>
<Setter Property="Foreground" Value="{StaticResource AKI_Background_Dark}"/> <Setter Property="Foreground" Value="{StaticResource SPT_Background_Dark}"/>
<Setter Property="FontWeight" Value="SemiBold"/> <Setter Property="FontWeight" Value="SemiBold"/>
</Style> </Style>
@ -221,36 +221,36 @@
<Style Selector="Button.yellow:pointerover /template/ ContentPresenter"> <Style Selector="Button.yellow:pointerover /template/ ContentPresenter">
<Setter Property="Background" Value="Gold"/> <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"/> <Setter Property="BorderThickness" Value="1"/>
</Style> </Style>
<Style Selector="Button.yellow:pressed /template/ ContentPresenter"> <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>
<Style Selector="Button.yellow:disabled /template/ ContentPresenter"> <Style Selector="Button.yellow:disabled /template/ ContentPresenter">
<Setter Property="Background" Value="Transparent"/> <Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/> <Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
</Style> </Style>
<!-- Button Link Style --> <!-- Button Link Style -->
<Style Selector="Button.link"> <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="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="Transparent"/> <Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/> <Setter Property="BorderThickness" Value="0"/>
</Style> </Style>
<Style Selector="Button.link:pointerover /template/ ContentPresenter"> <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="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="Transparent"/> <Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/> <Setter Property="BorderThickness" Value="0"/>
</Style> </Style>
<Style Selector="Button.link:pressed /template/ ContentPresenter"> <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="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="Transparent"/> <Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/> <Setter Property="BorderThickness" Value="0"/>
@ -258,29 +258,29 @@
<!-- Button Bordered Link Style --> <!-- Button Bordered Link Style -->
<Style Selector="Button.borderedlink"> <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="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_Lighter}"/> <Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_Lighter}"/>
<Setter Property="BorderThickness" Value="1"/> <Setter Property="BorderThickness" Value="1"/>
</Style> </Style>
<Style Selector="Button.borderedlink:pointerover /template/ ContentPresenter"> <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="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_Yellow}"/> <Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_Yellow}"/>
</Style> </Style>
<Style Selector="Button.borderedlink:pressed /template/ ContentPresenter"> <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="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/> <Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
<Setter Property="BorderThickness" Value="0"/> <Setter Property="BorderThickness" Value="0"/>
</Style> </Style>
<!-- Button Profile Info Style --> <!-- Button Profile Info Style -->
<Style Selector="Button.profileinfo"> <Style Selector="Button.profileinfo">
<Setter Property="Background" Value="{StaticResource AKI_Background_Dark}"/> <Setter Property="Background" Value="{StaticResource SPT_Background_Dark}"/>
<Setter Property="BorderBrush" Value="{StaticResource AKI_Background_Dark}"/> <Setter Property="BorderBrush" Value="{StaticResource SPT_Background_Dark}"/>
</Style> </Style>
<Style Selector="Button.icon"> <Style Selector="Button.icon">
@ -289,47 +289,47 @@
</Style> </Style>
<Style Selector="Button.icon:pointerover"> <Style Selector="Button.icon:pointerover">
<Setter Property="Background" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/> <Setter Property="Background" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
</Style> </Style>
<!-- Checkbox styles --> <!-- Checkbox styles -->
<!-- SourceRef: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/CheckBox.xaml --> <!-- SourceRef: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/CheckBox.xaml -->
<Style Selector="CheckBox"> <Style Selector="CheckBox">
<Setter Property="Foreground" Value="{StaticResource AKI_Foreground_Light}"/> <Setter Property="Foreground" Value="{StaticResource SPT_Foreground_Light}"/>
</Style> </Style>
<Style Selector="CheckBox /template/ Border#NormalRectangle"> <Style Selector="CheckBox /template/ Border#NormalRectangle">
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/> <Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
</Style> </Style>
<Style Selector="CheckBox:pointerover /template/ Border#NormalRectangle"> <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>
<Style Selector="CheckBox:pointerover /template/ ContentPresenter#ContentPresenter"> <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>
<Style Selector="CheckBox:checked"> <Style Selector="CheckBox:checked">
<Setter Property="FontWeight" Value="SemiBold"/> <Setter Property="FontWeight" Value="SemiBold"/>
<Setter Property="Foreground" Value="{StaticResource AKI_Foreground_Light}"/> <Setter Property="Foreground" Value="{StaticResource SPT_Foreground_Light}"/>
</Style> </Style>
<Style Selector="CheckBox:checked /template/ Border#NormalRectangle"> <Style Selector="CheckBox:checked /template/ Border#NormalRectangle">
<Setter Property="Background" Value="{StaticResource AKI_Brush_DarkGrayBlue}"/> <Setter Property="Background" Value="{StaticResource SPT_Brush_DarkGrayBlue}"/>
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_Yellow}"/> <Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_Yellow}"/>
</Style> </Style>
<Style Selector="CheckBox:checked /template/ Path#CheckGlyph"> <Style Selector="CheckBox:checked /template/ Path#CheckGlyph">
<Setter Property="Fill" Value="{StaticResource AKI_Brush_Yellow}"/> <Setter Property="Fill" Value="{StaticResource SPT_Brush_Yellow}"/>
</Style> </Style>
<!-- ComboBox Styles --> <!-- ComboBox Styles -->
<!-- Source Ref: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/ComboBox.xaml --> <!-- Source Ref: https://github.com/AvaloniaUI/Avalonia/blob/master/src/Avalonia.Themes.Fluent/Controls/ComboBox.xaml -->
<Style Selector="ComboBox"> <Style Selector="ComboBox">
<Setter Property="Foreground" Value="{StaticResource AKI_Foreground_Light}"/> <Setter Property="Foreground" Value="{StaticResource SPT_Foreground_Light}"/>
<Setter Property="PlaceholderForeground" Value="{StaticResource AKI_Brush_Lighter}"/> <Setter Property="PlaceholderForeground" Value="{StaticResource SPT_Brush_Lighter}"/>
<Setter Property="Background" Value="{StaticResource AKI_Background_Dark}"/> <Setter Property="Background" Value="{StaticResource SPT_Background_Dark}"/>
<Setter Property="Template"> <Setter Property="Template">
<ControlTemplate> <ControlTemplate>
<DataValidationErrors> <DataValidationErrors>
@ -413,8 +413,8 @@
PlacementTarget="Background" PlacementTarget="Background"
IsLightDismissEnabled="True"> IsLightDismissEnabled="True">
<Border x:Name="PopupBorder" <Border x:Name="PopupBorder"
Background="{StaticResource AKI_Background_Dark}" Background="{StaticResource SPT_Background_Dark}"
BorderBrush="{StaticResource AKI_Background_Dark}" BorderBrush="{StaticResource SPT_Background_Dark}"
BorderThickness="{DynamicResource ComboBoxDropdownBorderThickness}" BorderThickness="{DynamicResource ComboBoxDropdownBorderThickness}"
Margin="0,-1,0,-1" Margin="0,-1,0,-1"
Padding="{DynamicResource ComboBoxDropdownBorderPadding}" Padding="{DynamicResource ComboBoxDropdownBorderPadding}"
@ -438,15 +438,15 @@
</Style> </Style>
<Style Selector="ComboBox /template/ Path#DropDownGlyph"> <Style Selector="ComboBox /template/ Path#DropDownGlyph">
<Setter Property="Fill" Value="{StaticResource AKI_Foreground_Light}" /> <Setter Property="Fill" Value="{StaticResource SPT_Foreground_Light}" />
</Style> </Style>
<Style Selector="ComboBox:pointerover /template/ Path#DropDownGlyph"> <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>
<Style Selector="ComboBox:pointerover"> <Style Selector="ComboBox:pointerover">
<Setter Property="Foreground" Value="{StaticResource AKI_Brush_Yellow}"/> <Setter Property="Foreground" Value="{StaticResource SPT_Brush_Yellow}"/>
</Style> </Style>
<Style Selector="ComboBox:pointerover /template/ Border#Background"> <Style Selector="ComboBox:pointerover /template/ Border#Background">
@ -466,19 +466,19 @@
</Style> </Style>
<Style Selector="ComboBoxItem"> <Style Selector="ComboBoxItem">
<Setter Property="Foreground" Value="{StaticResource AKI_Foreground_Light}"/> <Setter Property="Foreground" Value="{StaticResource SPT_Foreground_Light}"/>
<Setter Property="Background" Value="{StaticResource AKI_Background_Dark}"/> <Setter Property="Background" Value="{StaticResource SPT_Background_Dark}"/>
</Style> </Style>
<Style Selector="ComboBoxItem:pointerover /template/ ContentPresenter"> <Style Selector="ComboBoxItem:pointerover /template/ ContentPresenter">
<Setter Property="Background" Value="{StaticResource AKI_Background_Light}" /> <Setter Property="Background" Value="{StaticResource SPT_Background_Light}" />
<Setter Property="BorderBrush" Value="{StaticResource AKI_Background_Light}" /> <Setter Property="BorderBrush" Value="{StaticResource SPT_Background_Light}" />
<Setter Property="TextBlock.Foreground" Value="{StaticResource AKI_Foreground_Light}" /> <Setter Property="TextBlock.Foreground" Value="{StaticResource SPT_Foreground_Light}" />
</Style> </Style>
<Style Selector="ComboBoxItem:selected /template/ ContentPresenter"> <Style Selector="ComboBoxItem:selected /template/ ContentPresenter">
<Setter Property="Background" Value="{StaticResource AKI_Brush_Yellow}" /> <Setter Property="Background" Value="{StaticResource SPT_Brush_Yellow}" />
<Setter Property="BorderBrush" Value="{StaticResource AKI_Brush_Yellow}" /> <Setter Property="BorderBrush" Value="{StaticResource SPT_Brush_Yellow}" />
<Setter Property="TextBlock.Foreground" Value="{StaticResource AKI_Background_Dark}" /> <Setter Property="TextBlock.Foreground" Value="{StaticResource SPT_Background_Dark}" />
</Style> </Style>
</Styles> </Styles>

View File

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

Before

Width:  |  Height:  |  Size: 420 KiB

After

Width:  |  Height:  |  Size: 420 KiB

View File

@ -1,9 +1,9 @@
using Aki.Launcher.Models; using SPT.Launcher.Models;
using Aki.Launcher.ViewModels; using SPT.Launcher.ViewModels;
using ReactiveUI; using ReactiveUI;
using System; using System;
namespace Aki.Launcher.Attributes namespace SPT.Launcher.Attributes
{ {
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
public abstract class NavigationPreCondition : Attribute public abstract class NavigationPreCondition : Attribute

View File

@ -1,9 +1,9 @@
using Aki.Launcher.Helpers; using SPT.Launcher.Helpers;
using Aki.Launcher.Models; using SPT.Launcher.Models;
using Aki.Launcher.ViewModels; using SPT.Launcher.ViewModels;
using ReactiveUI; using ReactiveUI;
namespace Aki.Launcher.Attributes namespace SPT.Launcher.Attributes
{ {
public class RequireLoggedIn : NavigationPreCondition public class RequireLoggedIn : NavigationPreCondition
{ {

View File

@ -1,9 +1,9 @@
using Aki.Launcher.Helpers; using SPT.Launcher.Helpers;
using Aki.Launcher.Models; using SPT.Launcher.Models;
using Aki.Launcher.ViewModels; using SPT.Launcher.ViewModels;
using ReactiveUI; using ReactiveUI;
namespace Aki.Launcher.Attributes namespace SPT.Launcher.Attributes
{ {
public class RequireServerConnected : NavigationPreCondition public class RequireServerConnected : NavigationPreCondition
{ {

View File

@ -1,18 +1,18 @@
/* ImageSourceConverter.cs /* ImageSourceConverter.cs
* License: NCSA Open Source License * License: NCSA Open Source License
* *
* Copyright: Merijn Hendriks * Copyright: SPT
* AUTHORS: * AUTHORS:
* waffle.lord * waffle.lord
*/ */
using Aki.Launcher.Controllers; using SPT.Launcher.Controllers;
using Avalonia.Data.Converters; using Avalonia.Data.Converters;
using Avalonia.Media.Imaging; using Avalonia.Media.Imaging;
using System; using System;
using System.Globalization; using System.Globalization;
namespace Aki.Launcher.Converters namespace SPT.Launcher.Converters
{ {
public class ImageSourceConverter : IValueConverter public class ImageSourceConverter : IValueConverter
{ {

View File

@ -2,9 +2,9 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 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" 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" <ComboBox x:Name="combobox"
SelectionChanged="combobox_SelectionChanged" SelectionChanged="combobox_SelectionChanged"
> >

View File

@ -1,13 +1,13 @@
using Aki.Launcher.Helpers; using SPT.Launcher.Helpers;
using Aki.Launcher.Models; using SPT.Launcher.Models;
using Aki.Launcher.Models.Launcher; using SPT.Launcher.Models.Launcher;
using Avalonia; using Avalonia;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Markup.Xaml; using Avalonia.Markup.Xaml;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
namespace Aki.Launcher.CustomControls namespace SPT.Launcher.CustomControls
{ {
public partial class LocalizedLauncherActionSelector : UserControl public partial class LocalizedLauncherActionSelector : UserControl
{ {

View File

@ -3,14 +3,14 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
xmlns:helpers="using:Aki.Launcher.Helpers" xmlns:helpers="using:SPT.Launcher.Helpers"
x:Class="Aki.Launcher.CustomControls.ModInfoCard"> x:Class="SPT.Launcher.CustomControls.ModInfoCard">
<Border CornerRadius="5" HorizontalAlignment="Stretch" <Border CornerRadius="5" HorizontalAlignment="Stretch"
BorderBrush="{StaticResource AKI_Background_Dark}" BorderBrush="{StaticResource SPT_Background_Dark}"
BorderThickness="5" BorderThickness="5"
> >
<Grid RowDefinitions="10,AUTO,AUTO,AUTO,10" ColumnDefinitions="10,AUTO,*,AUTO,10" <Grid RowDefinitions="10,AUTO,AUTO,AUTO,10" ColumnDefinitions="10,AUTO,*,AUTO,10"
Background="{StaticResource AKI_Background_Dark}" Background="{StaticResource SPT_Background_Dark}"
> >
<!-- Icon stack --> <!-- Icon stack -->
@ -19,12 +19,12 @@
Orientation="Horizontal" Spacing="5" Orientation="Horizontal" Spacing="5"
> >
<!-- Server Icon --> <!-- 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}}" IsVisible="{Binding IsInServer, RelativeSource={RelativeSource AncestorType=UserControl}}"
/> />
<!-- Profile Icon --> <!-- 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}}" IsVisible="{Binding IsInProfile, RelativeSource={RelativeSource AncestorType=UserControl}}"
/> />
@ -54,7 +54,7 @@
> >
<StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal">
<Label Content="{Binding Source={x:Static helpers:LocalizationProvider.Instance}, Path=open_link}"/> <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}}" IsVisible="{Binding IsInProfile, RelativeSource={RelativeSource AncestorType=UserControl}}"
/> />
</StackPanel> </StackPanel>

View File

@ -4,7 +4,7 @@ using Avalonia;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Markup.Xaml; using Avalonia.Markup.Xaml;
namespace Aki.Launcher.CustomControls namespace SPT.Launcher.CustomControls
{ {
public partial class ModInfoCard : UserControl public partial class ModInfoCard : UserControl
{ {

View File

@ -2,9 +2,9 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 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" 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"> <Grid ColumnDefinitions="AUTO,*,AUTO,10,AUTO,AUTO">
@ -55,11 +55,11 @@
> >
<Button.Styles> <Button.Styles>
<Style Selector="Button:pointerover /template/ ContentPresenter"> <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"/> <Setter Property="BorderThickness" Value="0"/>
</Style> </Style>
<Style Selector="Button:pressed /template/ ContentPresenter"> <Style Selector="Button:pressed /template/ ContentPresenter">
<Setter Property="Background" Value="{StaticResource AKI_Background_Light}"/> <Setter Property="Background" Value="{StaticResource SPT_Background_Light}"/>
</Style> </Style>
</Button.Styles> </Button.Styles>
</Button> </Button>

View File

@ -4,7 +4,7 @@ using Avalonia.Markup.Xaml;
using Avalonia.Media; using Avalonia.Media;
using System.Windows.Input; using System.Windows.Input;
namespace Aki.Launcher.CustomControls namespace SPT.Launcher.CustomControls
{ {
public partial class TitleBar : UserControl public partial class TitleBar : UserControl
{ {

View File

@ -1,14 +1,14 @@
using Aki.Launcher.Helpers; using SPT.Launcher.Helpers;
using Aki.Launcher.Interfaces; using SPT.Launcher.Interfaces;
using Aki.Launcher.Models.Launcher; using SPT.Launcher.Models.Launcher;
using Aki.Launcher.ViewModels.Dialogs; using SPT.Launcher.ViewModels.Dialogs;
using Aki.Launcher.ViewModels.Notifications; using SPT.Launcher.ViewModels.Notifications;
using Avalonia.Controls.Notifications; using Avalonia.Controls.Notifications;
using Splat; using Splat;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Aki.Launcher.Models namespace SPT.Launcher.Models
{ {
public class GameStarterFrontend : IGameStarterFrontend public class GameStarterFrontend : IGameStarterFrontend
{ {
@ -16,7 +16,7 @@ namespace Aki.Launcher.Models
public async Task CompletePatchTask(IAsyncEnumerable<PatchResultInfo> task) 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(); var iter = task.GetAsyncEnumerator();
while (await iter.MoveNextAsync()) while (await iter.MoveNextAsync())
@ -30,13 +30,13 @@ namespace Aki.Launcher.Models
if(result != null && result is bool confirmation && !confirmation) 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(); throw new TaskCanceledException();
} }
} }
else 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(); throw new TaskCanceledException();
} }
} }

View File

@ -1,6 +1,6 @@
using ReactiveUI; using ReactiveUI;
namespace Aki.Launcher.Models namespace SPT.Launcher.Models
{ {
public class ImageHelper : ReactiveObject public class ImageHelper : ReactiveObject
{ {

View File

@ -1,6 +1,6 @@
using Aki.Launcher.ViewModels; using SPT.Launcher.ViewModels;
namespace Aki.Launcher.Models namespace SPT.Launcher.Models
{ {
public class NavigationPreConditionResult public class NavigationPreConditionResult
{ {

View File

@ -1,4 +1,4 @@
using Aki.Launcher.Controllers; using SPT.Launcher.Controllers;
using Avalonia; using Avalonia;
using Avalonia.ReactiveUI; using Avalonia.ReactiveUI;
using ReactiveUI; using ReactiveUI;
@ -6,7 +6,7 @@ using Splat;
using System; using System;
using System.Reflection; using System.Reflection;
namespace Aki.Launcher namespace SPT.Launcher
{ {
internal class Program internal class Program
{ {

View File

@ -15,7 +15,7 @@
<None Remove="Properties\**" /> <None Remove="Properties\**" />
<AvaloniaResource Remove="Assets\Styles.axaml" /> <AvaloniaResource Remove="Assets\Styles.axaml" />
<None Remove=".gitignore" /> <None Remove=".gitignore" />
<None Remove="Assets\aki-logo.png" /> <None Remove="Assets\SPT-logo.png" />
<None Remove="Assets\icon.ico" /> <None Remove="Assets\icon.ico" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@ -30,8 +30,8 @@
<PackageReference Include="DialogHost.Avalonia" Version="0.5.0" /> <PackageReference Include="DialogHost.Avalonia" Version="0.5.0" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Aki.ByteBanger\Aki.ByteBanger.csproj" /> <ProjectReference Include="..\SPT.ByteBanger\SPT.ByteBanger.csproj" />
<ProjectReference Include="..\Aki.Launcher.Base\Aki.Launcher.Base.csproj" /> <ProjectReference Include="..\SPT.Launcher.Base\SPT.Launcher.Base.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Newtonsoft.Json"> <Reference Include="Newtonsoft.Json">

Some files were not shown because too many files have changed in this diff Show More