UI Dialogue Style
Declared once and referenced by every dialogue, because a dialogue is written for what it says: repeating two dozen layout fields on each one would make a change of house style a pass over every page.
A dialogue that names no style takes the server's own — the first ui_dialogue_style declared.
A server with none falls back to the built-in look, and says so in the log.
Speech
| Field | What it does |
|---|---|
frame | The cell the spoken line sits in. |
panel / palette | The image behind it, and its tint. |
text | Where the line itself is written, inside the frame. |
speaker / speakerPanel / speakerPalette | The name banner. |
portrait | Where the speaker's picture goes. Leave unset for no portrait. |
Options
| Field | What it does |
|---|---|
window | Where the choices are listed. Its height is how many are visible at once. |
secondWindow | A second column, mirrored on the other side. Leave at zero size for one column. |
panel / palette | The image behind a choice, and its idle tint. |
selectedPalette | Tint under the cursor. |
lockedPalette | Tint of a choice the player cannot take yet. |
caret | Drawn in front of the selected choice. Empty for none. |
scrollUp / scrollDown | Shown when the list runs past its window. |
Chrome
| Field | What it does |
|---|---|
confirmIcon / confirmCell / confirmLabel | The key picture. Drawn only where a key actually takes a choice — never under cursor navigation, where a key would do nothing. |
timer / timerPalette / timerEmptyPalette | A row that empties as a countdown runs. Zero width for no countdown. |
letterboxRows | Black bands above and below, in rows. Zero for none. |
The countdown is a bar rather than a number: a dialogue that cancels itself is about how much time is left, and a figure counting down demands that the player read it to find out.
The house style
BTC's own style puts the frame at the bottom of the screen, the portrait just left of the name, and spreads the choices into two symmetric columns with one cell of margin on each side. Ten choices are then reachable without scrolling, and the head turns half as far as it would for a single pile in a corner.
It is written in a page rather than in code, so it can be retouched without recompiling.
[!NOTE] Give the letterbox room. Bands of two rows occupy the top and bottom two rows of the grid. A speech frame that reaches into them is drawn over, and both claim the same cells. A cinematic style therefore raises its frame.