Skip to content
Calpheon Labs Binary Schemas
Esc
navigateopen⌘Jpreview
On this page

base_dialogoffset.dbss

Binary layout, byte coverage, field semantics, and validation evidence for the base_dialogoffset decoder used by calpheonlabs.

Investigation status

Status Value
Coverage 100%
Iteration 4
Review state No open blockers
Last reviewed 2026-07-20
Captures examined installed client 2923, prior-build ledger
Decoder packages/scraper/src/tables/base_dialogoffset.dbss.ts
Remaining blockers None

See Decoder methodology for the confidence scale and evidence rules.

Field ledger

Field/path Offset and width Representation Claimed meaning Physical confidence Representation confidence Semantic confidence Evidence Status
magic file +0, 4 bytes Exact ASCII PABR; validated and omitted from output PABR table signature Certain Certain Certain Both captures use the self-identifying signature; the shared pabr envelope requires it. Closed
rowCount file +4, 4 bytes Little-endian u32; consumes and frames rows, then is omitted Number of pointer rows Certain Certain Certain The current value 58,537 gives the exact file equation 8 + 58,537 × 12 + 12 = 702,464; the prior build’s 58,535 rows use the same grammar. Closed
rows file +8, rowCount × 12 bytes Count-framed array retained in physical file order Base-dialogue companion directory Certain Certain Certain All 58,537 current rows decode to the independently verified key/span inventory and land exactly on the footer. Closed
rows[].key pointer +0, 4 bytes Little-endian u32, retained Full-width packed base-dialogue lookup key Certain Certain Certain Keys are unique; every key equals the base_dialog.dbss word at offset, equals the intrinsic dialogKey, and the ordered inventory equals detail_dialogoffset.dbss. Closed
rows[].offset pointer +4, 4 bytes Little-endian u32, retained without rebasing Absolute start of the complete base-dialogue row Certain Certain Certain Sorted offsets begin immediately after the companion’s four-byte count and each equals the next owned row boundary. An offset + 1 audit mutation is rejected. Closed
rows[].byteLength pointer +8, 4 bytes Little-endian u32, retained Exact bytes owned by the complete base-dialogue row Certain Certain Certain Each interval is [offset, offset + byteLength); the sorted intervals exactly partition companion bytes [4, 2,038,989). A byteLength + 1 audit mutation is rejected. Closed
footer.reserved00 file -12, 4 bytes; current +702,452 Required zero word; validated and omitted Reserved PABR footer word Certain Certain Unknown Zero in both captures; targeted nonzero corruption is rejected. Closed
footer.footerOffset file -8, 4 bytes; current +702,456 Little-endian u32; validated and omitted Absolute self-pointer to the footer start Certain Certain Certain Current value is 702,452, exactly its own footer start; targeted corruption is rejected. Closed
footer.reserved08 file -4, 4 bytes; current +702,460 Required zero word; validated and omitted Reserved PABR footer word Certain Certain Unknown Zero in both captures; targeted nonzero corruption is rejected and the word ends the file. Closed
base_dialog.dbss count companion file +0, 4 bytes Independent raw-DBSS u32 row count Frames the data rows addressed by this directory Certain Certain Certain Its current value is also 58,537; the data decoder consumes this count and every intrinsically framed row without consulting the offset table. Closed
Pointer-to-row span relationship companion [4, 2,038,989) in client 2923 Unique sorted [offset, offset + byteLength) intervals Exact ownership of every byte after the companion count Certain Certain Certain The 58,537 intervals are contiguous, nonoverlapping, in bounds, and end at EOF; key, offset, and length mutations independently fail the aggregate audit. Closed
Pointer/data key identity pointer key; companion offset +0, 4 bytes; decoded dialogKey Three independently decoded u32 views of one identity Directory key selects exactly one base-dialogue row Certain Certain Certain Every current and prior-build pointer agrees with the physical row key and intrinsic decoder; keys are unique and no competing row can satisfy the relationship. Closed
Base/detail ordered-key identity complete pointer arrays and decoded data arrays Exact sequence comparison, not a runtime join Base and detail tables share the same character/dialog identity inventory Certain Certain Certain All 58,537 current pointer keys match detail_dialogoffset.dbss in order, and all current decoded base/detail dialogKey values also match in order; the prior 58,535-row build agreed likewise. Closed

Active assumptions

Findings

ID Finding Evidence Schema/documentation impact Status
F-01 The offset file is canonical PABR, not raw count-only DBSS. Client 2923 is exactly 702,464 bytes: four-byte magic, four-byte count, 58,537 twelve-byte pointers, and a twelve-byte zero/self-pointer/zero footer. The prior 58,535-row capture has the same envelope. NpcKey32OffsetPabr remains the exact physical schema; PABR controls are validated and deliberately omitted from decoded output. Closed
F-02 Current pointers own every companion byte after its count and repeat no key. Sorted spans exactly partition the 2,038,989-byte base_dialog.dbss from byte 4 through EOF, and all 58,537 keys agree with physical and decoded row keys. The directory is an exhaustive validator of row identity and boundaries, with no unowned or multiply owned bytes. Closed
F-03 Corruption coverage distinguishes envelope enforcement from aggregate relationship enforcement. Magic, count + 1, and nonzero mutations of each of the three PABR footer words fail schema decoding; separate unused-key, offset + 1, and byteLength + 1 pointer mutations fail the complete-capture partition/key audit. Header/footer checks remain rejecting schema checks; pointer semantics remain explicitly verified by the aggregate test. Closed
F-04 Captured totals are observations, not format invariants. Pointer count grew from 58,535 to 58,537 while the 12-byte row and PABR grammar remained unchanged. Neither count, current file size, nor individual observed span length is frozen in the production decoder. Closed
F-05 Archived semantic sources have no physical offset-table representation. Archived Dialog_Table and targeted BDOCodex NPC/dialogue pages expose logical dialogue identities or content, but no PABR header, pointer offset, byte length, or footer. Physical confidence comes exclusively from local binaries; neither external source is a decoder, fixture, mapping, cache, or runtime dependency. Closed
F-06 base_dialog.dbss remains intrinsically framed. Its own row count, nested string lengths, line counts, and row footer decode the complete 2,038,989-byte file independently; the companion audit reaches the same boundaries. Production data decoding does not require offset-directed slicing or a join to this directory. Closed

Was this page helpful?