Skip to content

PoE1: add KeywordPopups tables (3.29) - #234

Merged
SnosMe merged 2 commits into
poe-tool-dev:mainfrom
braseidon:poe1-keyword-popups
Jul 25, 2026
Merged

PoE1: add KeywordPopups tables (3.29)#234
SnosMe merged 2 commits into
poe-tool-dev:mainfrom
braseidon:poe1-keyword-popups

Conversation

@braseidon

Copy link
Copy Markdown
Contributor

3.29 (Curse of the Allflame) added the keyword popup tables to the PoE1 client: Data/KeywordPopups.datc64, Data/KeywordPopupItemReference.datc64, Data/KeywordPopupModReference.datc64. These are the same tables PoE2 has had in poe2/_Core.gql — GGG ported them over unchanged, so the definitions here are verbatim copies of the PoE2 ones.

Byte-layout verified against the 3.29.0 client:

Table Rows Row size Layout check
KeywordPopups 32 72 5 strings + 2 foreignrows = 5×8 + 2×16 ✓
KeywordPopupItemReference 2 93 string + 5 foreignrows + i32 + bool = 8 + 80 + 4 + 1 ✓
KeywordPopupModReference 0 empty at launch, spec copied from PoE2

Content spot-checks:

  • KeywordPopups: Term/Definition decode cleanly for all 32 rows (Valour, Enshrouded Item, Pact Boons/Afflictions, the reworked Abyss terms, the new keystones, etc.). Row 0 is a literal GGG Test row.
  • KeywordPopupItemReference: its 2 rows (ScryingOrb, DeadMansSulphur) are exactly the 2 KeywordPopups rows with a non-null ItemReference and empty Term/Definition; their BaseItemType foreignrows resolve to matching rows in BaseItemTypes.
  • All other foreignrow columns are null in the current data, so their targets are taken on trust from the PoE2 schema.

npm run generate passes; the tables emit into schema-poe1.min.json with validFor: 1.

3.29 ported the PoE2 keyword popup tables to the PoE1 client. Definitions copied verbatim from poe2/_Core.gql; row sizes and string/foreignrow layout verified against the 3.29.0 client (KeywordPopups: 32 rows x 72 bytes; KeywordPopupItemReference: 2 rows x 93 bytes; KeywordPopupModReference: empty at launch).
}

# Ported from PoE2 in 3.29
type KeywordPopupItemReference {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

League specific .gql files are only for league tables. Everything else goes into _Core.

Review feedback: league .gql files are only for league tables.
@braseidon

Copy link
Copy Markdown
Contributor Author

Moved to _Core.gql (with # Added 3.29 markers), league file reverted. Thanks for the quick review!

@SnosMe
SnosMe merged commit 8c84cfb into poe-tool-dev:main Jul 25, 2026
1 check passed
@braseidon
braseidon deleted the poe1-keyword-popups branch July 25, 2026 15:37
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