From d1fcbae9d9e407bffad8dfd1bd996e46787dff5a Mon Sep 17 00:00:00 2001 From: AuriRex Date: Thu, 27 Apr 2023 13:29:04 +0200 Subject: [PATCH] Alt://Rundown 4 update --- TheArchive.Core/ArchiveMod.cs | 6 ++++++ TheArchive.Core/Core/BuildDB.cs | 1 + TheArchive.Core/Core/FeaturesAPI/Feature.cs | 4 ++++ TheArchive.Core/Utilities/Utils.cs | 11 +++++++---- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/TheArchive.Core/ArchiveMod.cs b/TheArchive.Core/ArchiveMod.cs index 251d235f..39815b04 100644 --- a/TheArchive.Core/ArchiveMod.cs +++ b/TheArchive.Core/ArchiveMod.cs @@ -163,6 +163,12 @@ public static void OnApplicationStart(IArchiveLogger logger, HarmonyLib.Harmony CurrentRundown = BuildDB.GetCurrentRundownID(BuildDB.BuildNumber); ArchiveLogger.Msg(ConsoleColor.DarkMagenta, $"Current game revision determined to be {BuildDB.BuildNumber}! ({CurrentRundown})"); + if (RundownFlags.Latest.ToString() == nameof(RundownFlags.Latest)) + { + for(int i = 0; i < 5; i++) + ArchiveLogger.Warning($"{nameof(RundownFlags)} enum is missaligned again!! >:I"); + } + CurrentBuildInfo = new GameBuildInfo { BuildNumber = BuildDB.BuildNumber, diff --git a/TheArchive.Core/Core/BuildDB.cs b/TheArchive.Core/Core/BuildDB.cs index 87c6754c..d1b5e899 100644 --- a/TheArchive.Core/Core/BuildDB.cs +++ b/TheArchive.Core/Core/BuildDB.cs @@ -66,6 +66,7 @@ public static int BuildNumber { 31994, RundownID.RundownSeven }, { 32283, RundownID.RundownAltOne }, { 32416, RundownID.RundownAltTwo }, + { 32577, RundownID.RundownAltThree }, }; public static RundownID GetCurrentRundownID(int buildNumber) diff --git a/TheArchive.Core/Core/FeaturesAPI/Feature.cs b/TheArchive.Core/Core/FeaturesAPI/Feature.cs index 0d66fe00..a0c4aeec 100644 --- a/TheArchive.Core/Core/FeaturesAPI/Feature.cs +++ b/TheArchive.Core/Core/FeaturesAPI/Feature.cs @@ -269,6 +269,8 @@ internal static void SetupIs() Is.A2OrLater = BuildInfo.Rundown.IsIncludedIn(RundownFlags.RundownAltTwo.ToLatest()); Is.A3 = BuildInfo.Rundown.IsIncludedIn(RundownFlags.RundownAltThree); Is.A3OrLater = BuildInfo.Rundown.IsIncludedIn(RundownFlags.RundownAltThree.ToLatest()); + Is.A4 = BuildInfo.Rundown.IsIncludedIn(RundownFlags.RundownAltFour); + Is.A4OrLater = BuildInfo.Rundown.IsIncludedIn(RundownFlags.RundownAltFour.ToLatest()); } /// @@ -296,6 +298,8 @@ public static class Is public static bool A2OrLater { get; internal set; } public static bool A3 { get; internal set; } public static bool A3OrLater { get; internal set; } + public static bool A4 { get; internal set; } + public static bool A4OrLater { get; internal set; } } diff --git a/TheArchive.Core/Utilities/Utils.cs b/TheArchive.Core/Utilities/Utils.cs index fcbed534..5d5fbee7 100644 --- a/TheArchive.Core/Utilities/Utils.cs +++ b/TheArchive.Core/Utilities/Utils.cs @@ -350,7 +350,7 @@ public ValueAttribute(object value) /// public enum RundownID : int { - Latest = RundownAltThree, + Latest = RundownAltFour, RundownUnitialized = -1, RundownUnknown, @@ -364,11 +364,14 @@ public enum RundownID : int RundownAltOne, RundownAltTwo, RundownAltThree, + RundownAltFour, } [Flags] public enum RundownFlags : int { + Latest = RundownAltFour, + None = 0, RundownOne = 1 << 0, RundownTwo = 1 << 1, @@ -380,11 +383,11 @@ public enum RundownFlags : int RundownAltOne = 1 << 7, RundownAltTwo = 1 << 8, RundownAltThree = 1 << 9, - + RundownAltFour = 1 << 10, + All = RundownOne | RundownTwo | RundownThree | RundownFour | RundownFive | RundownSix | RundownSeven - | RundownAltOne | RundownAltTwo | RundownAltThree, + | RundownAltOne | RundownAltTwo | RundownAltThree | RundownAltFour, - Latest = RundownAltThree, #warning TODO: Latest as external constant because alias behave weird with ToString() depending on the amount of enum entries }