Skip to main content

UI Dialogue Style

UI Dialogue Style

The look every dialogue shares. A dialogue is written for what it SAYS. Carrying its frame, its anchors, its tints and its key pictures on the dialogue itself would repeat two dozen fields on every line of every conversation, and turn a change of house style into a pass over every page. A style is named once and referenced; a dialogue overrides nothing unless it means to look different. The three groups are the three things an author adjusts separately: what the speaker says, what the player may answer, and the furniture around both. Any field added to this entry AFTER pages exist must be nullable: Gson does not apply Kotlin constructor defaults, so an absent field arrives as null whatever the declaration says.

Fields

FieldTypeDefaultDescription
speechUiSpeechStyleConfig—The frame the speaker's line sits in, and who is speaking
UiSpeechStyleConfig (8)
FieldTypeDefaultDescription
frameUiCellConfig—Frame the spoken line sits in
UiCellConfig (4)
FieldTypeDefaultDescription
columnInt0Column, from the left
rowInt0Row, from the top
widthInt1Columns it spans; 0 means this part is not shown at all
heightInt1Rows it spans
panelStringdialogPanel image painted behind it, for instance dialog
paletteUiPaletteOptionNONETint of that frame; NONE leaves the panel image aloneValues:NONEFRAMESURFACESURFACE_LIGHTMUTEDBLUEBLUE_LIGHTCYANTEALGREENGREEN_LIGHTYELLOWORANGERED_DARKREDPURPLEWHITEBLACKINKSLATESTEELSTEEL_LIGHTMISTPAPERFORESTMINTGOLDAMBERWINECORALVIOLET
textUiCellConfig—Where the line itself is written, inside the frame
UiCellConfig (4)
FieldTypeDefaultDescription
columnInt0Column, from the left
rowInt0Row, from the top
widthInt1Columns it spans; 0 means this part is not shown at all
heightInt1Rows it spans
speakerUiCellConfig—Where the speaker's name sits
UiCellConfig (4)
FieldTypeDefaultDescription
columnInt0Column, from the left
rowInt0Row, from the top
widthInt1Columns it spans; 0 means this part is not shown at all
heightInt1Rows it spans
speakerPanelStringdialog_namePanel image behind the speaker's name
speakerPaletteUiPaletteOptionNONETint of the speaker's bannerValues:NONEFRAMESURFACESURFACE_LIGHTMUTEDBLUEBLUE_LIGHTCYANTEALGREENGREEN_LIGHTYELLOWORANGERED_DARKREDPURPLEWHITEBLACKINKSLATESTEELSTEEL_LIGHTMISTPAPERFORESTMINTGOLDAMBERWINECORALVIOLET
portraitUiCellConfig—Where the speaker's picture goes; set the width to 0 for a style with no portrait
UiCellConfig (4)
FieldTypeDefaultDescription
columnInt0Column, from the left
rowInt0Row, from the top
widthInt1Columns it spans; 0 means this part is not shown at all
heightInt1Rows it spans
optionsUiOptionsStyleConfig—Where the player's choices are listed and how they are tinted
UiOptionsStyleConfig (9)
FieldTypeDefaultDescription
windowUiCellConfig—Where the choices are listed; its height is how many are visible at once
UiCellConfig (4)
FieldTypeDefaultDescription
columnInt0Column, from the left
rowInt0Row, from the top
widthInt1Columns it spans; 0 means this part is not shown at all
heightInt1Rows it spans
panelStringdialog_optionPanel image behind one choice
paletteUiPaletteOptionNONETint of a choice at restValues:NONEFRAMESURFACESURFACE_LIGHTMUTEDBLUEBLUE_LIGHTCYANTEALGREENGREEN_LIGHTYELLOWORANGERED_DARKREDPURPLEWHITEBLACKINKSLATESTEELSTEEL_LIGHTMISTPAPERFORESTMINTGOLDAMBERWINECORALVIOLET
selectedPaletteUiPaletteOptionBLUE_LIGHTTint of the choice the player is onValues:NONEFRAMESURFACESURFACE_LIGHTMUTEDBLUEBLUE_LIGHTCYANTEALGREENGREEN_LIGHTYELLOWORANGERED_DARKREDPURPLEWHITEBLACKINKSLATESTEELSTEEL_LIGHTMISTPAPERFORESTMINTGOLDAMBERWINECORALVIOLET
lockedPaletteUiPaletteOptionMUTEDTint of a choice whose criteria are not met. It is drawn, never hiddenValues:NONEFRAMESURFACESURFACE_LIGHTMUTEDBLUEBLUE_LIGHTCYANTEALGREENGREEN_LIGHTYELLOWORANGERED_DARKREDPURPLEWHITEBLACKINKSLATESTEELSTEEL_LIGHTMISTPAPERFORESTMINTGOLDAMBERWINECORALVIOLET
caretStringcaretPicture drawn in front of the selected choice; leave empty for none
scrollUpStringarrow_upPicture shown when choices continue above the window
scrollDownStringarrow_downPicture shown when choices continue below the window
secondWindowUiCellConfig—Seconde colonne de choix, de l'autre cote de l'ecran; largeur 0 pour n'en avoir qu'une
UiCellConfig (4)
FieldTypeDefaultDescription
columnInt0Column, from the left
rowInt0Row, from the top
widthInt1Columns it spans; 0 means this part is not shown at all
heightInt1Rows it spans
chromeUiDialogueChromeConfig—The furniture: key picture, countdown, cinematic bands
UiDialogueChromeConfig (7)
FieldTypeDefaultDescription
confirmIconStringkey_spacePicture of the key that takes a choice; hidden when the dialogue is driven by the cursor
confirmCellUiCellConfig—Where that key picture sits
UiCellConfig (4)
FieldTypeDefaultDescription
columnInt0Column, from the left
rowInt0Row, from the top
widthInt1Columns it spans; 0 means this part is not shown at all
heightInt1Rows it spans
confirmLabelString—Written beside the key picture, for instance ValiderColors
timerUiCellConfig—Row that empties as the countdown runs; set the width to 0 to show no countdown
UiCellConfig (4)
FieldTypeDefaultDescription
columnInt0Column, from the left
rowInt0Row, from the top
widthInt1Columns it spans; 0 means this part is not shown at all
heightInt1Rows it spans
timerPaletteUiPaletteOptionAMBERTint of the time that remainsValues:NONEFRAMESURFACESURFACE_LIGHTMUTEDBLUEBLUE_LIGHTCYANTEALGREENGREEN_LIGHTYELLOWORANGERED_DARKREDPURPLEWHITEBLACKINKSLATESTEELSTEEL_LIGHTMISTPAPERFORESTMINTGOLDAMBERWINECORALVIOLET
timerEmptyPaletteUiPaletteOptionSURFACETint of the time already spentValues:NONEFRAMESURFACESURFACE_LIGHTMUTEDBLUEBLUE_LIGHTCYANTEALGREENGREEN_LIGHTYELLOWORANGERED_DARKREDPURPLEWHITEBLACKINKSLATESTEELSTEEL_LIGHTMISTPAPERFORESTMINTGOLDAMBERWINECORALVIOLET
letterboxRowsInt0Rows of black band at the top and bottom; 0 for none