From 87794c493297b4b4d3b26385da8378ba1279c56b Mon Sep 17 00:00:00 2001 From: Frank Date: Sun, 5 Jan 2025 15:24:27 +0100 Subject: [PATCH] Add missing JP .exe version for 1.10 (#77) --- src/SoulMemory/EldenRing/EldenRing.cs | 57 ++++++++++++++------------- src/cli/Program.cs | 17 ++++---- 2 files changed, 38 insertions(+), 36 deletions(-) diff --git a/src/SoulMemory/EldenRing/EldenRing.cs b/src/SoulMemory/EldenRing/EldenRing.cs index d68798d..13b714e 100644 --- a/src/SoulMemory/EldenRing/EldenRing.cs +++ b/src/SoulMemory/EldenRing/EldenRing.cs @@ -204,34 +204,35 @@ private void ResetPointers() #region version ================================================================================================ - private readonly Dictionary _versions = new Dictionary() + private readonly List<(EldenRingVersion eldenRingVersion, Version version)> _versions = new List<(EldenRingVersion, Version)>() { - { EldenRingVersion.V1_02_0, new Version(1,2,0,0) }, - { EldenRingVersion.V1_02_1, new Version(1,2,1,0) }, - { EldenRingVersion.V1_02_2, new Version(1,2,2,0) }, - { EldenRingVersion.V1_02_3, new Version(1,2,3,0) }, - { EldenRingVersion.V1_03_0, new Version(1,3,0,0) }, - { EldenRingVersion.V1_03_1, new Version(1,3,1,0) }, - { EldenRingVersion.V1_03_2, new Version(1,3,2,0) }, - { EldenRingVersion.V1_04_0, new Version(1,4,0,0) }, - { EldenRingVersion.V1_04_1, new Version(1,4,1,0) }, - { EldenRingVersion.V1_05_0, new Version(1,5,0,0) }, - { EldenRingVersion.V1_06_0, new Version(1,6,0,0) }, - { EldenRingVersion.V1_07_0, new Version(1,7,0,0) }, - { EldenRingVersion.V1_08_0, new Version(1,8,0,0) }, - { EldenRingVersion.V1_08_1, new Version(1,8,1,0) }, - { EldenRingVersion.V1_09_0, new Version(1,9,0,0) }, - { EldenRingVersion.V1_09_1, new Version(1,9,1,0) }, + (EldenRingVersion.V1_02_0, new Version(1,2,0,0)), + (EldenRingVersion.V1_02_1, new Version(1,2,1,0)), + (EldenRingVersion.V1_02_2, new Version(1,2,2,0)), + (EldenRingVersion.V1_02_3, new Version(1,2,3,0)), + (EldenRingVersion.V1_03_0, new Version(1,3,0,0)), + (EldenRingVersion.V1_03_1, new Version(1,3,1,0)), + (EldenRingVersion.V1_03_2, new Version(1,3,2,0)), + (EldenRingVersion.V1_04_0, new Version(1,4,0,0)), + (EldenRingVersion.V1_04_1, new Version(1,4,1,0)), + (EldenRingVersion.V1_05_0, new Version(1,5,0,0)), + (EldenRingVersion.V1_06_0, new Version(1,6,0,0)), + (EldenRingVersion.V1_07_0, new Version(1,7,0,0)), + (EldenRingVersion.V1_08_0, new Version(1,8,0,0)), + (EldenRingVersion.V1_08_1, new Version(1,8,1,0)), + (EldenRingVersion.V1_09_0, new Version(1,9,0,0)), + (EldenRingVersion.V1_09_1, new Version(1,9,1,0)), //1.10 turned into 2.0.0.0 for some reason - { EldenRingVersion.V1_10_0, new Version(2,0,0,0) }, - { EldenRingVersion.V1_10_1, new Version(2,0,1,0) }, - { EldenRingVersion.V1_12_0, new Version(2,2,0,0) }, - { EldenRingVersion.V1_12_3, new Version(2,2,3,0) }, - { EldenRingVersion.V1_13_0, new Version(2,3,0,0) }, - { EldenRingVersion.V1_14_0, new Version(2,4,0,0) }, - { EldenRingVersion.V1_15_0, new Version(2,5,0,0) }, - { EldenRingVersion.V1_16_0, new Version(2,6,0,0) }, + (EldenRingVersion.V1_10_0, new Version(2,0,0,0)), + (EldenRingVersion.V1_10_0, new Version(2,0,0,1)), //JP-only version for 1.10 + (EldenRingVersion.V1_10_1, new Version(2,0,1,0)), + (EldenRingVersion.V1_12_0, new Version(2,2,0,0)), + (EldenRingVersion.V1_12_3, new Version(2,2,3,0)), + (EldenRingVersion.V1_13_0, new Version(2,3,0,0)), + (EldenRingVersion.V1_14_0, new Version(2,4,0,0)), + (EldenRingVersion.V1_15_0, new Version(2,5,0,0)), + (EldenRingVersion.V1_16_0, new Version(2,6,0,0)), }; public enum EldenRingVersion @@ -275,13 +276,13 @@ public enum EldenRingVersion public EldenRingVersion GetVersion(Version v) { - var version = _versions.FirstOrDefault(i => i.Value.CompareTo(v) == 0); - if (version.Value == null) + var version = _versions.FirstOrDefault(i => i.version.CompareTo(v) == 0); + if (version.version == null) { return EldenRingVersion.Unknown; } - return version.Key; + return version.eldenRingVersion; } #endregion diff --git a/src/cli/Program.cs b/src/cli/Program.cs index ed15c93..c829dd0 100644 --- a/src/cli/Program.cs +++ b/src/cli/Program.cs @@ -42,14 +42,6 @@ internal class Program static void Main(string[] args) { - GameLoop((e) => - { - var saveSlot = e.GetCurrentSaveSlot(); - var pos = e.GetPosition(); - var igtElapsed = TimeSpan.FromMilliseconds(e.GetInGameTimeMilliseconds()); - Console.WriteLine($"IGT: {igtElapsed} slot: {saveSlot} pos: {pos}"); - }); - GlobalHotKey.RegisterHotKey(ModifierKeys.Alt, Key.A, () =>{ Debug.WriteLine("A"); }); GlobalHotKey.RegisterHotKey(ModifierKeys.Alt, Key.S, () =>{ Debug.WriteLine("S"); }); GlobalHotKey.RegisterHotKey(ModifierKeys.Alt, Key.D, () =>{ Debug.WriteLine("D"); }); @@ -57,7 +49,16 @@ static void Main(string[] args) //TestUi(); GameLoop((e) => { + var versionString = e.GetProcess().MainModule?.FileVersionInfo.ProductVersion ?? "Failed to read ER version"; + if(!Version.TryParse(versionString, out Version v)) + { + Console.WriteLine("Failed to parse version string"); + } + + Console.WriteLine($"Raw version: {versionString}, ER version: {e.GetVersion(v)}"); + var igtElapsed = TimeSpan.FromMilliseconds(e.GetInGameTimeMilliseconds()); + e.GetPosition(); Console.WriteLine($"IGT: {igtElapsed}"); }); }