47 switch (task->
state) {
58 if (task->
scale > ONE) {
97 switch (task->
state) {
GfxState GFX
GFX: the graphics state and its methods.
#define FILE_MENU_SPRITES
Files the engine loads by number.
FileCache FILE_CACHE
The file cache.
void updateMessageBoxFrame(MessageBoxFrame *task)
The message box frame task: grows, waits with the arrow when asked, then fades out and ends.
void drawMessageBoxFrame(MessageBoxFrame *task)
Draws the two halves of a message box's panel, growing, still or fading.
MessageBoxFrame * createMessageBoxFrame(s32 layerId)
A message box frame on a layer, with the menu sound.
Task * createMessageBox(s32 layerId, void *strings, s32 index)
A message box with string index of a table, typed out in three-line pages.
void updateMessageBox(Task *task, MessageBox *data)
The message box task: shows the text once the frame is open, closes when the text ends.
void drawMessageBoxArrow(MessageBoxFrame *task)
Draws a message box's blinking "next" arrow.
#define PAD_PRESSED(button)
One button of pad 1: newly pressed, auto-repeated while held, or held.
SoundState SOUND
rsin and rcos (libgte) read rsin_tbl[a - 0x800] and the like: their addresses before the table fall i...
#define SOUND_MENU_CLOSE
SYSTEM04.
#define SOUND_MENU_OPEN
SYSTEM03.
void initSpriteDrawer(SpriteDrawer *obj)
Clears a sprite drawer to neutral (no scale, gray tint, follows the scroll), gives it its methods and...
The file cache (FILE_CACHE): up to 64 files loaded in the heap (tag 3), read in the background one at...
void *(* getEntry)(u32 fileAndIndex)
The frame of a message box: two halves of the bottom panel that grow from the sides (substate 0),...
void(* nextState)(struct MessageBoxFrame *task)
void(* nextSubstate)(struct MessageBoxFrame *task)
void(* setState)(struct MessageBoxFrame *task, s32 state)
The children of a message box (createMessageBox)
struct TextWindow * window
struct MessageBoxFrame * frame
short(* playSound)(s32 id)
returns the voice of a key-on
Draws sprites from a sprite sheet (such as file 0x277, the menu graphics): a sheet has a table of fra...
void(* setScale)()
(x, y, z), ONE = 1.0
void(* setLayerId)()
(id, depth)
void(* setClutRow)()
(row)
void(* draw)()
(sheet, frame, x, y)
void(* setTexture)()
(x, y)
Any task, seen through its header.
void(* setState)(struct Task *task, s32 state)
void(* nextState)(struct Task *task)
s32(* isWaitingForButton)()
s32(* isFinished)()
s32: callers don't truncate the result to a byte
s32(* isVisible)()
s32: callers don't truncate the result to a byte
void(* setLines)()
no prototype: callers would truncate u8 args
void(* setVisible)(struct TextWindow *obj, u8 arg)
void * createTask(void(*update)(), s32 size, s32 childrenSize)
createTaskWithId for a task nothing needs to find
TextWindow * createTextWindow(s16 layerId, s16 style, s16 x, s16 y)
A text window on a layer, in a font style, at (x, y)