Skip to content

Fix BSStringT layout and usage - #52

Merged
qudix merged 4 commits into
libxse:mainfrom
ozooma10:up/fix-bsstring-layout
Oct 1, 2026
Merged

qudix merged 4 commits into
libxse:mainfrom
ozooma10:up/fix-bsstring-layout

Conversation

@ozooma10

Copy link
Copy Markdown
Contributor

Corrects BSStringT to match the engine’s 16-byte layout:

  • 12 bytes of inline storage or heap pointer
  • 2 byte capacity
  • 2 byte sioze

Update BGSPackIn and ScriptVariable layouts

Replace TESFile and ControlMap string wrappers with BSString.

@qudix
qudix merged commit b511f6e into libxse:main Oct 1, 2026
4 checks passed
ozooma10 added a commit to ozooma10/commonlibsf that referenced this pull request Oct 21, 2026
Take upstream's finalized input/rebinding interfaces (PR libxse#49), atomic
Scaleform AddRef (PR libxse#50) and BSStringT layout fix (PR libxse#52).

Keep forge additions on top: ControlMap LoadCustomMappings and
ApplyCustomMappings, SettingsDataModel SetGameplayOptionIndex and
SaveSettings, and forge-only IDs (BSFaceDB, MenuCursor,
BSWin32KeyboardDevice). Drop MappingRowStringDtor now that the row
formatter uses BSString, and update the ControlMap test to expect
heap text to be released through MemoryManager::Free.
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