Hud
The readout the night is played under, and the caption band that carries a spoken line as written text.
Hud
The readout the night is played under, and the caption band that carries a spoken line as written text.
local Hud = require("game.ui.Hud")
Hud.tree(m, {}) -- the readout, redrawn every frame
Hud.captionTree(m, line) -- one spoken line, redrawn only when it changes
Hud.scorchTree(m) -- the red bloom while the censer burns its bearer
The screen is taller than it is wide, so the HUD reads DOWN it. Three things, stacked in the top quarter:
- The dawn bar — the night as a bar the sun crosses, indigo at the left
through the first blush to gold, with a disc riding
FL.progress()and the time to first light over it. - The triad — the three fires placed in the SAME triangle the temple stands
in: Adur Gushnasp up the screen, Farnbag to the left, Burzen-Mihr to the
right, with the sightline between them drawn behind. Each is a ring gauge
that fills with its heat around its own flame; a dead altar loses its colour
and says
dark. A glance says which way to run. - The censer — how much heat is being carried, with the scorch line marked in red, the vitality it is costing, and what the keeper is doing right now.
The caption floats clear of the bottom fifth, which is where the touch stick and the touch buttons are drawn.
Why there are three functions and not one
They change on completely different clocks. Every number on the readout moves every frame, so it is rebuilt every frame. A caption changes once every few seconds, and the scorch bloom never changes at all — rebuilding either beside the gauges would be work for nothing, and keeping them apart is what lets each be shown and hidden without touching the others.
Scoped to this part · feeds back into the world's score.