Skip to content

Conversation

@rapidsamphire
Copy link

  1. Implemented a dialogue definition header that defines speaker/topic enums, a comprehensive DialogueVariableType list, attribute flags, and a lookup API so future systems can understand %token documented in the Arena reference. (OpenTESArena/src/Interface/DialogueDefinition.h:1-156).
  2. Implemented a backing metadata table in DialogueDefinition.cpp, examining every token’s description, whether it randomizes, normalizes whitespace, sets speaker gender, or exposes helpers to iterate or resolve variables by token/enum. (OpenTESArena/src/Interface/DialogueDefinition.cpp:1-135).

The build compiles correctly.

…nums plus a comprehensive DialogueVariableType list, attribute flags, and lookup API so future

    systems can reason about every %token documented in the Arena reference (OpenTESArena/src/Interface/DialogueDefinition.h:1-156).
  - Implemented the backing metadata table in DialogueDefinition.cpp, capturing each token’s description, whether it randomizes, normalizes whitespace, or sets speaker
    gender, and exposed helpers to iterate or resolve variables by token/enum (OpenTESArena/src/Interface/DialogueDefinition.cpp:1-135).
  - Registered the new dialogue definitions in the Interface target so they build with the rest of the game code (OpenTESArena/CMakeLists.txt:208-360).
@afritz1
Copy link
Owner

afritz1 commented Nov 21, 2025

Okay, this seems fine at a glance. I may wait on this until the UI refactor is done.

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