From da573a1f07666dd8f28cc409dd1dd3d32d44ba03 Mon Sep 17 00:00:00 2001 From: Kurt Date: Sat, 14 Feb 2026 19:53:18 -0600 Subject: [PATCH] Extend player event flag size Closes #752 --- NHSE.Core/Save/Files/Personal.cs | 4 ++-- NHSE.Core/Save/Offsets/PersonalOffsets.cs | 1 + NHSE.Core/Save/Offsets/PersonalOffsets30.cs | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/NHSE.Core/Save/Files/Personal.cs b/NHSE.Core/Save/Files/Personal.cs index 2017c4d..4bd49c9 100644 --- a/NHSE.Core/Save/Files/Personal.cs +++ b/NHSE.Core/Save/Files/Personal.cs @@ -119,13 +119,13 @@ public AchievementList Achievements public short[] GetEventFlagsPlayer() { - var slice = Data.Slice(Offsets.EventFlagsPlayer, 0xE00); + var slice = Data.Slice(Offsets.EventFlagsPlayer, Offsets.EventFlagsPlayerLength); return MemoryMarshal.Cast(slice).ToArray(); } public void SetEventFlagsPlayer(Span value) { - var slice = Data.Slice(Offsets.EventFlagsPlayer, 0xE00); + var slice = Data.Slice(Offsets.EventFlagsPlayer, Offsets.EventFlagsPlayerLength); var cast = MemoryMarshal.Cast(slice); value.CopyTo(cast); } diff --git a/NHSE.Core/Save/Offsets/PersonalOffsets.cs b/NHSE.Core/Save/Offsets/PersonalOffsets.cs index edc88c7..184fd27 100644 --- a/NHSE.Core/Save/Offsets/PersonalOffsets.cs +++ b/NHSE.Core/Save/Offsets/PersonalOffsets.cs @@ -38,6 +38,7 @@ public abstract class PersonalOffsets public virtual int ItemChestCount => 5000; public abstract int MaxRecipeID { get; } public abstract int MaxRemakeBitFlag { get; } + public virtual int EventFlagsPlayerLength => 0xE00; public static PersonalOffsets GetOffsets(FileHeaderInfo Info) { diff --git a/NHSE.Core/Save/Offsets/PersonalOffsets30.cs b/NHSE.Core/Save/Offsets/PersonalOffsets30.cs index 07dc1d8..ffedeea 100644 --- a/NHSE.Core/Save/Offsets/PersonalOffsets30.cs +++ b/NHSE.Core/Save/Offsets/PersonalOffsets30.cs @@ -13,6 +13,7 @@ public sealed class PersonalOffsets30 : PersonalOffsets, IPersonal30 // shifted down as LookPack increased from af90->c120 public override int PersonalId => Player + 0xc138; public override int EventFlagsPlayer => Player + 0xc170; + public override int EventFlagsPlayerLength => 0x1000; // up from 0xE00 // GSaveLifeSupport private const int GSaveLifeSupport = Player + 0xd170;