Skip to content

Fix OBJ_BOOK flags offset - #53

Merged
qudix merged 1 commit into
libxse:mainfrom
DJLegends1011:fix/tesobjectbook-flags
Oct 6, 2026
Merged

qudix merged 1 commit into
libxse:mainfrom
DJLegends1011:fix/tesobjectbook-flags

Conversation

@DJLegends1011

Copy link
Copy Markdown
Contributor

On 1.16.244 the book flags live at OBJ_BOOK + 0x18, not +0x00, so data.flags always reads 0 and kHasBeenRead is never seen.

The engine tests the flag bits at TESObjectBOOK + 0x228, and SaveGame/LoadGame persist that byte (plus a new byte after it). teaches is still at +0x08, so the struct size doesn't change.

Tested in Starfield 1.16.244 with po3 Tweaks built against this change: kHasBeenRead reads correctly and read books stay in the world.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@qudix
qudix merged commit bb5855b into libxse:main Oct 6, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants