1#ifndef ALCHEMY_UIWINDOW_H
2#define ALCHEMY_UIWINDOW_H
73#define UiRender_MarkRow(render, y) \
75 (render)->dirty |= 2 << ((u32)(y) >> 2); \
#define STATIC_ASSERT(condition)
C89 permits repeated extern declarations of the same array.
#define offsetof(type, member)
A list of render outputs: its first output and the link to append after.
A text channel, one of three, which types decoded text into a window a few characters a frame and run...
u16 outline
outline colour; 0 for none
u16 colour
text colour; 15 by default
u16 y
pen, 8.8 fixed-point pixels
u16 flags
nonzero keeps the window's size from page to page
u16 glyphDelay
frames to wait after a glyph while no button is held
u16 x
pen, 8.8 fixed-point pixels
u16 spacing[4]
Extra advance per line, in 1/256 pixels: after every character in Japanese, after a space in the othe...
u16 ended
1 once a TEXT_END code is reached
u16 transition
frames left of the canvas scrolling up a line
u16 lineSpacing
10 by default
u16 unk26
not named by TBS code
u16 line
line of the page, indexes spacing; at most 3
u16 startX
pen x each new line returns to, 8.8 fixed-point pixels
struct UiWindow * work
the window typed into; NULL when free
u16 entry
next code in UiRenderWork.entries
u16 countdown
frames left of a pause, a page wait or a swell
A window: a framed rectangle of the tilemap with its sprite outputs, its opening or closing animation...
u16 frame
The zoom's step: counts down from 7 to 0 while opening, and up from 0 to duration while closing.
u16 effect
The effect a message's TEXT_WINDOW_STATE code sets.
u16 flags
UI_WINDOW_ flags; 0 once closing or free.
u16 unk10
1 once opened, 0 once freed; not read by name in TBS
u16 state
0 while a message channel is typing into the window; 1 once its text has ended or closed the window,...
struct RenderOutputList output
the sprites the window carries
s16 duration
frames of the zoom under way; 0 when none