1#ifndef ALCHEMY_SELECT_H
2#define ALCHEMY_SELECT_H
Sprite rotation and scale, and the affine matrices handed out each frame.
STATIC_ASSERT, a compile-time check that emits nothing.
#define STATIC_ASSERT(condition)
C89 permits repeated extern declarations of the same array.
#define offsetof(type, member)
An icon of the selection screen: its list links, the entry it shows, its place and its slide toward a...
u16 tile
first sprite tile of its picture
s16 scaleEnd
8.8 fixed point, 0x100 full size
s16 scale
8.8 fixed point, 0x100 full size
struct SelectionNode * next
the icon after it in its row
s16 scaleStep
8.8 fixed point a frame
u16 message
its name, shown in the screen's window
struct SelectionNode * prev
the icon before it in its row
s16 homeX
screen pixels, where it stood when chosen
u16 kind
the entry's kind, as listed in SelectionScreen.kinds; 0 free
u16 base
the entry's id, as listed in SelectionScreen.bases
struct SelectionSprite sprite
s16 homeY
screen pixels, where it stood when chosen
u16 slot
VRAM cache slot of its picture.
The selection screen (heap block 18): the row of icons the player picks from, with arrows at each end...
u16 pathTop[5]
top, kept for each icon chosen on the path
struct UiWindow * window
the window naming the chosen entry
u16 verticalScroll
pixels added to the icons' y; 32 at setup
struct AffineTransform transform
a zooming icon's scale
u16 status
1 shown, 33 while scrolling; counts up each frame drawn
u16 top
the first listed entry shown
u16 pathCursor[5]
cursorIndex, kept for each icon chosen on the path
u16 locked
999 from setup on.
u8 unk3ba[42]
not named by TBS code
struct SelectionNode * path
the icons chosen so far
u16 cursorIndex
The entry under the hand, from top; bit 7 asks the next list to start again from its first entry.
u16 kinds[16]
The listed entries, up to 16 (Resource_PushPendingPair).
struct SelectionNode records[16]
The icons; 14 is the pointing hand, whose picture is loaded at setup.
struct SelectionNode * head
the first icon of the row
u16 unk39a
cleared with the list; not read by name in TBS
A selection screen sprite: a list link and its OAM attributes.
struct SelectionSprite * next
A window: a framed rectangle of the tilemap with its sprite outputs, its opening or closing animation...
The integer types, TRUE, UNUSED and the fixed-address macros.
The window renderer's work.