From 0749b36669130ddc383e9451284de2fc15301188 Mon Sep 17 00:00:00 2001 From: Niphyr Date: Sun, 25 Jan 2026 14:26:31 +1100 Subject: [PATCH] fix: fixed data layout changes and version bump --- .../SimcSpellCreationServiceTests.cs | 1 + .../DataSync/RawDataExtractionService.cs | 41 +++++++++---------- .../Interfaces/DataSync/ICacheService.cs | 2 +- SimcProfileParser/SimcProfileParser.csproj | 8 ++-- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/SimcProfileParser.Tests/SimcSpellCreationServiceTests.cs b/SimcProfileParser.Tests/SimcSpellCreationServiceTests.cs index f90f544..680550a 100644 --- a/SimcProfileParser.Tests/SimcSpellCreationServiceTests.cs +++ b/SimcProfileParser.Tests/SimcSpellCreationServiceTests.cs @@ -205,6 +205,7 @@ public async Task SSC_Creates_Player_Spell_With_Power() ClassicAssert.AreEqual(33.631460769999997d, spell.Effects[0].ScaleBudget); } + [Ignore("Was previously tested on Shadowfiend which has been removed. Need a new spell to test this.")] [Test] public async Task SSC_Creates_Player_Spell_With_Invalid_Trigger_Spell() { diff --git a/SimcProfileParser/DataSync/RawDataExtractionService.cs b/SimcProfileParser/DataSync/RawDataExtractionService.cs index c089a49..6269788 100644 --- a/SimcProfileParser/DataSync/RawDataExtractionService.cs +++ b/SimcProfileParser/DataSync/RawDataExtractionService.cs @@ -666,49 +666,48 @@ internal List GenerateSpellData(Dictionary incomin // 36 is cast time spell.CastTime = Convert.ToInt32(data[36]); - // 37 - 51. Next up is something of length NUM_SPELL_FLAGS = 15 - spell.Attributes = new uint[15]; + // 37 - 53. Next up is something of length NUM_SPELL_FLAGS = 17 + spell.Attributes = new uint[17]; for (var i = 0; i < spell.Attributes.Length; i++) { spell.Attributes[i] = Convert.ToUInt32(data[i + 37]); } - // 52 - 55. Next up is something of length NUM_CLASS_FAMILY_FLAGS = 4 + // 54 - 57. Next up is something of length NUM_CLASS_FAMILY_FLAGS = 4 spell.ClassFlags = new uint[4]; for (var i = 0; i < spell.ClassFlags.Length; i++) { - spell.ClassFlags[i] = Convert.ToUInt32(data[i + 52]); + spell.ClassFlags[i] = Convert.ToUInt32(data[i + 54]); } - // 56 is class flags family - spell.ClassFlagsFamily = Convert.ToUInt32(data[56]); + // 58 is class flags family + spell.ClassFlagsFamily = Convert.ToUInt32(data[58]); - // 57-58 is aura interrupt flags, skip these + // 59-60 is aura interrupt flags, skip these - // 59-60 is channel interrupt flags, skip these + // 61-62 is channel interrupt flags, skip these - // 61 is stance mask - uint.TryParse(data[61].Replace("0x", ""), + // 63 is stance mask + uint.TryParse(data[63].Replace("0x", ""), System.Globalization.NumberStyles.HexNumber, null, out uint stanceMask); spell.StanceMask = stanceMask; - // 62 is mechanic - spell.Mechanic = Convert.ToUInt32(data[62]); + // 64 is mechanic + spell.Mechanic = Convert.ToUInt32(data[64]); - // 63 is az power id - spell.PowerId = Convert.ToUInt32(data[63]); + // 65 is az power id + spell.PowerId = Convert.ToUInt32(data[65]); - // 64 is essence id - spell.EssenceId = Convert.ToUInt32(data[64]); + // 66 is essence id + spell.EssenceId = Convert.ToUInt32(data[66]); // We don't have a practical use for the counts metadata - // 65 is effects count + // 67 is effects count - // 66 is power count + // 68 is power count - // 67 is driver count - - // 68 is label count + // 69 is driver count + // 70 is label count spells.Add(spell); } diff --git a/SimcProfileParser/Interfaces/DataSync/ICacheService.cs b/SimcProfileParser/Interfaces/DataSync/ICacheService.cs index 7ca068e..605e366 100644 --- a/SimcProfileParser/Interfaces/DataSync/ICacheService.cs +++ b/SimcProfileParser/Interfaces/DataSync/ICacheService.cs @@ -28,7 +28,7 @@ internal interface ICacheService /// /// Set the flag to use PTR data for data extraction /// - /// TUE for using PTR data + /// TRUE for using PTR data void SetUsePtrData(bool usePtrData); /// /// The github branch name to use for data extraction diff --git a/SimcProfileParser/SimcProfileParser.csproj b/SimcProfileParser/SimcProfileParser.csproj index eda9379..f8e47aa 100644 --- a/SimcProfileParser/SimcProfileParser.csproj +++ b/SimcProfileParser/SimcProfileParser.csproj @@ -3,16 +3,16 @@ net9.0 true - 3.2.0 - 3.2.0 - 3.2.0 + 3.3.0 + 3.3.0 + 3.3.0 Mechanical Priest Mechanical Priest GPL-3.0-only https://github.com/MechanicalPriest/SimcProfileParser git https://github.com/MechanicalPriest/SimcProfileParser - Copyright © Mechanical Priest 2025 + Copyright © Mechanical Priest 2026 A library to parse the simc WoW addon results into usable objects. A library to parse the simc WoW addon results into usable objects. simc warcraft