questStates done

This commit is contained in:
Boki 2026-03-05 16:44:30 -05:00
parent 445ae1387c
commit 568df4c7fe
17 changed files with 1012 additions and 40 deletions

View file

@ -3,7 +3,8 @@ namespace Roboto.Memory;
/// <summary>
/// A quest entry from the GameUi linked lists.
/// All-quests list (GameUi+0x358) provides Id/Name/Act/StateId.
/// Tracked-quests list ([6][1]+0x318) adds ObjectiveText.
/// Tracked-quests list ([6][1]+0x318) marks which quests are pinned.
/// StateText resolved from QuestStates.dat via QuestStateLookup.
/// </summary>
public sealed class QuestLinkedEntry
{
@ -15,10 +16,10 @@ public sealed class QuestLinkedEntry
public int Act { get; init; }
/// <summary>State: 0=done, -1(0xFFFFFFFF)=locked, positive=in-progress step.</summary>
public int StateId { get; init; }
/// <summary>Human-readable state text from QuestStates.dat (e.g. "To release the Hooded One...").</summary>
public string? StateText { get; init; }
/// <summary>True if this quest appears in the tracked-quests list.</summary>
public bool IsTracked { get; init; }
/// <summary>Objective text from the tracked quest's runtime state object (std::wstring at +0x34).</summary>
public string? ObjectiveText { get; init; }
/// <summary>Raw Quest.dat row pointer — used as key for merging tracked info.</summary>
public nint QuestDatPtr { get; init; }
}