Extend player event flag size

Closes #752
This commit is contained in:
Kurt
2026-02-14 19:53:18 -06:00
parent e8c5daf745
commit da573a1f07
3 changed files with 4 additions and 2 deletions

View File

@@ -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<byte, short>(slice).ToArray();
}
public void SetEventFlagsPlayer(Span<short> value)
{
var slice = Data.Slice(Offsets.EventFlagsPlayer, 0xE00);
var slice = Data.Slice(Offsets.EventFlagsPlayer, Offsets.EventFlagsPlayerLength);
var cast = MemoryMarshal.Cast<byte, short>(slice);
value.CopyTo(cast);
}

View File

@@ -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)
{

View File

@@ -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;