Skip to content

Add Address Library IDs for planet survey / knowledge / star-map scan - #42

Closed
pjmagee wants to merge 2 commits into
libxse:mainfrom
pjmagee:upstream-fixes
Closed

Add Address Library IDs for planet survey / knowledge / star-map scan#42
pjmagee wants to merge 2 commits into
libxse:mainfrom
pjmagee:upstream-fixes

Conversation

@pjmagee

@pjmagee pjmagee commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds verified Address Library IDs used by planet survey / PlayerKnowledge / star-map scan workflows (production-tested in Complete Planet Survey on Starfield 1.16.236-1.16.244).

ID-only PR (matches recent contributions such as book-event IDs): no speculative class layouts or offset structs.

Replaces #41 (same commits; fork branch is now upstream-fixes for the mod submodule workflow).

Namespaces added / extended

Namespace IDs
BGSPlanet SetTraitKnown 52155, ProgressUpdater 52157, ScanLevelWriter 52173, SurveyDiscriminator 938333
BSGalaxy::KnowledgeManager GetSingleton 126578
BSComponentDB2 Lookup 126806
BSTArray U32PushGrow 35755
MiscStat entry count / table base / tracking / flora-fauna-unique name keys
PlayerKnowledge IncrementScanFlag 124898, SetPercentByte 124899, SpeciesSlotHash 124901
Scannable ResolveCanonicalForm 83006
Survey CheckNotify 97853, Aggregator 1016657, AggregatorBufferFree 65318, ScanCompletePlanet 102650
StarMap RefreshPanelData 93988, ScanHandler 94011
TESForm AllFormsMap 883341

Explicit non-goals

  • Does not fill StarMapMenu_* GetEventSource zeros (id 142196 is not a TLS-style GetEventSource).
  • Does not add PlayerKnowledge / scannable class layouts (follow-up).

Test plan

  • IDs non-zero in versionlib-1-16-244-0.bin
  • Resolve on 1.16.236 / 242 / 244 in Complete Planet Survey probe
  • CI / xmake build green
  • Namespace style review

pjmagee added 2 commits July 18, 2026 15:39
… paths

IDs verified against Starfield 1.16.236-1.16.244 versionlibs and used in
production by the Complete Planet Survey SFSE plugin. ID-only addition -
no speculative class layouts (layouts remain documented at call sites until
dedicated headers land).

Includes: BSGalaxy knowledge manager singleton, knowledge DB lookup,
PlayerKnowledge slot writers, survey notify/aggregator/scan-complete,
BGSPlanet trait/progress/scan-level writers, star-map panel handlers,
misc-stat table globals, scannable canonical resolve, BSTArray u32 grow,
TESForm all-forms map holder.

Does not fill StarMapMenu_* GetEventSource zeros: id 142196 is not a
TLS-style GetEventSource and needs separate identification.
…r APIs

Addresses pjmagee/commonlibsf issues #1, #2, and #3 on the upstream-fixes branch.

- IDs for Manager singleton/SetCurrentPlanet/ResolvePlanetFromRef, ScannableComponent
  outline/scan APIs, knowledge DB iterate helpers, PlayerKnowledge slot writers
- Headers: BGSPlanetManager.h, BSGalaxyKnowledge.h, ScannableComponent.h
- Verified Address Library IDs non-zero on 1.16.244; commonlibsf xmake build green

Layouts are partial where full sizeof is unknown; static_assert only on
documented offsets (Manager+0x80, SpeciesScanSlot fields).
@pjmagee

pjmagee commented Jul 18, 2026

Copy link
Copy Markdown
Contributor Author

Renaming fork branch upstream-fixes -> upstream-contributions; reopening from the new branch name (same commits).

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.

1 participant