using System; using System.Collections.Generic; using System.Reflection; using System.Runtime.InteropServices; namespace Wabbajack.Common { public static class Consts { public static bool TestMode { get; set; } = false; public static string ModlistExtension = ".modlist_v1"; public static string GameFolderFilesDir = "Game Folder Files"; public static string LOOTFolderFilesDir = "LOOT Config Files"; public static string BSACreationDir = "TEMP_BSA_FILES"; public static string MegaPrefix = "https://mega.nz/#!"; public static HashSet SupportedArchives = new HashSet {".zip", ".rar", ".7z", ".7zip", ".fomod", ".omod"}; public static HashSet SupportedBSAs = new HashSet {".bsa", ".ba2"}; public static HashSet ConfigFileExtensions = new HashSet {".json", ".ini", ".yml"}; public static HashSet ESPFileExtensions = new HashSet() { ".esp", ".esm", ".esl"}; public static HashSet AssetFileExtensions = new HashSet() {".dds", ".tga", ".nif", ".psc", ".pex"}; public static string NexusCacheDirectory = "nexus_link_cache"; public static string WABBAJACK_INCLUDE = "WABBAJACK_INCLUDE"; public static string WABBAJACK_ALWAYS_ENABLE = "WABBAJACK_ALWAYS_ENABLE"; public static string WABBAJACK_NOMATCH_INCLUDE = "WABBAJACK_NOMATCH_INCLUDE"; public static string GAME_PATH_MAGIC_BACK = "{--||GAME_PATH_MAGIC_BACK||--}"; public static string GAME_PATH_MAGIC_DOUBLE_BACK = "{--||GAME_PATH_MAGIC_DOUBLE_BACK||--}"; public static string GAME_PATH_MAGIC_FORWARD = "{--||GAME_PATH_MAGIC_FORWARD||--}"; public static string MO2_PATH_MAGIC_BACK = "{--||MO2_PATH_MAGIC_BACK||--}"; public static string MO2_PATH_MAGIC_DOUBLE_BACK = "{--||MO2_PATH_MAGIC_DOUBLE_BACK||--}"; public static string MO2_PATH_MAGIC_FORWARD = "{--||MO2_PATH_MAGIC_FORWARD||--}"; public static string DOWNLOAD_PATH_MAGIC_BACK = "{--||DOWNLOAD_PATH_MAGIC_BACK||--}"; public static string DOWNLOAD_PATH_MAGIC_DOUBLE_BACK = "{--||DOWNLOAD_PATH_MAGIC_DOUBLE_BACK||--}"; public static string DOWNLOAD_PATH_MAGIC_FORWARD = "{--||DOWNLOAD_PATH_MAGIC_FORWARD||--}"; public static string AppName = "Wabbajack"; public static string HashCacheName = "Wabbajack.hash_cache"; public static HashSet GameESMs = new HashSet {"Skyrim.esm", "Update.esm", "Dawnguard.esm", "HearthFires.esm", "Dragonborn.esm"}; public static string ModPermissionsURL = "https://raw.githubusercontent.com/wabbajack-tools/opt-out-lists/master/NexusModPermissions.yml"; public static string ServerWhitelistURL = "https://raw.githubusercontent.com/wabbajack-tools/opt-out-lists/master/ServerWhitelist.yml"; public static string UserAgent { get { var platformType = Environment.Is64BitOperatingSystem ? "x64" : "x86"; var headerString = $"{AppName}/{Assembly.GetEntryAssembly().GetName().Version} ({Environment.OSVersion.VersionString}; {platformType}) {RuntimeInformation.FrameworkDescription}"; return headerString; } } } }