30 for (; entry->
type != 0; entry++) {
31 switch (entry->
type) {
155 switch (task->
state) {
GameState GAME
The save data, the game mode and the methods.
#define TASK_INIT
Tasks: every game object is a task, a heap block that starts with this header and is updated once per...
#define SLOT_GAUGE
the gauge game
FIELDSTG.PRO: the field mode, where the player walks around the map.
#define FIELD_SPRITES_X
Where the field keeps its textures in VRAM: the two images of FIELD_SPRITES_FILE (its entries 2 and 3...
#define FIELD_SPRITES_FILE
The field's effect sprites (FIELDSTG_drawSpotEffect): the discs number their files differently.
#define FIELD_OBJECTS_CLUT_Y
s16 FIELDSTG_file5DModes[]
the modes that load the field file 0x5D (FIELDSTG_requestInnNames)
FieldState FIELDSTG_state
#define TEXT_INN_NAMES
HTLNAM.
#define TEXT_STATUS
STATUS: the field menu's and STSTATUS's.
#define FILE_MENU_SPRITES
Files the engine loads by number.
FileCache FILE_CACHE
The file cache.
s32 FIELDSTG_loadFieldFiles(Task *task)
Loads the field's files, a step at a time: 1 once done.
void FIELDSTG_runFileLoader(Task *task)
The file loader's update: loads the field's files from its first step on (FIELDSTG_loadFieldFiles)
void FIELDSTG_requestInnNames(Task *task)
The task (FIELDSTG_loadFieldFiles's) goes unused.
Task * FIELDSTG_createFileLoader(s32 step)
Creates the file loader, which starts at a step.
void FIELDSTG_requestSlotFiles(Task *task)
Requests the files of the actions the map's slots offer: climbs, drops and the gauge game.
s32 sheetEntry
the stage's sprite sheet, loaded before the field starts, or 0
s32 imageEntry
an image archive's file entry, loaded at (0x140, 0x100), or 0
s32 imageFile
or an image archive file, or 0
StageSlot * slots
up to the first type 0
s32 textFile
the stage's text file, for the talks
s32(* isLoading)(s32 file)
void(* request)(s32 file)
void *(* getEntry)(u32 fileAndIndex)
What the player can trigger on a map (FIELDSTG_updateTriggers): a record of the table at FieldState....
Any task, seen through its header.
void(* setState)(struct Task *task, s32 state)
void(* nextState)(struct Task *task)
void(* nextStep)(struct Task *task)
void(* tickCounter)(struct Task *task)
Uploads TIM images to VRAM (initTimLoader); acts on TIM_LOADER.
void(* setClutPos)()
(x, y)
void(* setImagePos)()
(x, y)
void(* loadArchive)()
(archive): each image 64 halfwords to the right
void * createTask(void(*update)(), s32 size, s32 childrenSize)
createTaskWithId for a task nothing needs to find
void initTimLoader(TimLoader *obj)
Clears a TIM loader, gives it its methods and binds it.