12 for (i = 0; i < 3; i++) {
16 for (i = 0; i < 6; i++) {
19 for (i = 0; i < 7; i++) {
24 for (i = 0; i < 6; i++) {
29 (*items)->setDepth(*items, panel->
depth - 1);
48 if (panel->
count == 0) {
54 for (i = 0; i < 3; i++) {
80 for (i = 0; i < 6; i++) {
92 for (i = 0; i < 7; i++) {
99 for (i = 0; i < 6; i++) {
100 if (entry.
skills[i] != 0) {
114 for (i = 0; i < 14; i++) {
120 for (i = 0; i < 14; i++) {
126 if (*items !=
NULL) {
127 (*items)->setVisible(*items, 0);
159 if (panel->
count >= 4) {
170 if (panel->
count > 0) {
183 if (panel->
count >= 3) {
199#if VERSION_EU || VERSION_JP
204 if (cursor != panel->
cursor || scroll != panel->
scroll) {
270 if (panel->
count > 0) {
282 for (i = 0; i < 6; i++) {
283 if (entry.
skills[i] != 0) {
298 switch (panel->
state) {
303 for (i = 0; i < 3; i++) {
307 panel->
ids[panel->
count] = slots[i];
312 for (i = 0; i < 44; i++) {
313 if (entries[i] >= 3 && panel->
ids[0] != entries[i] && panel->
ids[1] != entries[i] &&
314 panel->
ids[2] != entries[i]) {
315 panel->
ids[panel->
count] = entries[i];
STGDGLAB.PRO: the Digimon Lab (MODE_DIGI_LAB; "デジモンラボ" in STAGSLCT's list of scenes),...
ScrollBar * STGDGLAB_createScrollBar(void)
#define FILE_LAB_SPRITES
The lab's sprite sheet; the next file is its texture archive.
GfxState GFX
GFX: the graphics state and its methods.
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...
Cursor * createCursor(s16 layerId, s32 depth, s16 x, s16 y)
A menu cursor on a layer at (x, y)
void STGDGLAB_drawEntryList(LabEntryList *panel, LabEntryListWindows *windows)
Draws the panel's frames, its scroll arrows and the icons of the skills of the id under the cursor.
void STGDGLAB_showEntryList(LabEntryList *panel, LabEntryListWindows *windows, s32 show)
Shows the list of ids and the stats and skills of the one under the cursor; or hides the panel's wind...
void STGDGLAB_closeEntryList(LabEntryList *panel)
The entry list's close: fades it out and hides its windows and cursor.
LabEntryList * STGDGLAB_createEntryList(s32 partner, s32 allEntries, s32 closable)
Creates the list of a partner's entries (task): only its slots unless ALLENTRIES; CLOSABLE lets trian...
void STGDGLAB_updateEntryList(LabEntryList *panel, LabEntryListWindows *windows)
The entry list's task: lists the partner's slots and, with allEntries, its other entries,...
void STGDGLAB_runEntryList(LabEntryList *panel, LabEntryListWindows *windows)
The panel's states: fades in, moves the cursor through the ids and scrolls the list; triangle closes ...
void STGDGLAB_createEntryListWindows(LabEntryList *panel, LabEntryListWindows *windows)
Creates the panel's windows.
#define TEXT_DIGI_LAB
DGLABO: STGDGLAB's.
#define TEXT_SKILL_NAMES
SKLNAM.
#define TEXT_DIGIMON_NAMES
DIGNAM.
#define FILE_MENU_SPRITES
Files the engine loads by number.
FileCache FILE_CACHE
The file cache.
#define SKILL_MARKED
marked in the lab (STGDGLAB_updateSkillPanel)
#define SKILL_LAST
the sixth skill
#define SKILL_ID
PartnerEntry.skills.
DigimonData *(* GET_DIGIMON)(s32 id)
getDigimon for the overlays, in the small data (.sdata) between game/items.c's and file/file_table....
#define STRETCH_SPRITE(sprite, level, x, y)
#define SCREEN_LAYER
The layer over the whole screen that most modes create first and draw their menus on (FIELDSTG and ST...
TechData TECHS[443]
The techniques, from 1: technique n is TECHS[n - 1].
#define PAD_PRESSED(button)
One button of pad 1: newly pressed, auto-repeated while held, or held.
#define PAD_REPEATED(button)
SoundState SOUND
rsin and rcos (libgte) read rsin_tbl[a - 0x800] and the like: their addresses before the table fall i...
#define SOUND_MENU_CANCEL
SYSTEM01.
#define SOUND_CURSOR
SYSTEM02: a cursor moves.
void initSpriteDrawer(SpriteDrawer *obj)
Clears a sprite drawer to neutral (no scale, gray tint, follows the scroll), gives it its methods and...
void(* setPos)()
(cursor, x, y)
void(* setVisible)()
(cursor, visible)
Digimon definition (DIGIMON_DATA, 52 of them; the first 8 are the partners)
u8 nameId
string in file 0x4F
void *(* getEntry)(u32 fileAndIndex)
s32(* getPartnerEntry)()
-1 if it hasn't the Digimon
void(* computeStats)(s32 partner, union PartnerTotals *out)
s32(* getPartnerSlots)()
(partner, s16 *out): the count
s32(* listPartnerEntries)()
(partner, s16 *out): the count
Partner partners[PARTNER_COUNT]
TextWindow * levelLabel
"Skill LV", left of values[13]
TextWindow * values[14]
the battle stats, the resistances, the level
A panel of the main menu (STGDGLAB_createEntryList)
void(* close)(struct LabEntryList *panel)
PanelAnim titlePanel
their levels follow fade's
void(* setState)(struct LabEntryList *task, s32 state)
s32 ids[50]
the partner's slots, then (allEntries) its other entries
s32 allEntries
list the other entries after the slots
s32 closable
triangle closes it
void(* nextState)(struct LabEntryList *task)
s32 blink
the scroll arrows
s32(* updateFade)(PanelAnim *fade)
void(* startFade)(PanelAnim *fade, s32 fadeIn)
One of a partner's Digimon (getPartnerEntry, setPartnerEntry)
s8 level
shown in the lab; 1 when added
s16 skills[6]
SKILL_ID and the flags below, 0 for none.
One of the eight partner Digimon.
s32 battleDigivolve
an entry id, compared with the slots': the Digimon the battle starts it as, 0 for its own
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(* draw)()
(sheet, frame, x, y)
void(* setTexture)()
(x, y)
u8 icon
a frame of the menu sprites, from 0x37
A text window (createTextWindow): up to six text buffers (0 is shown, 1-5 are "work" buffers that con...
void(* setPalette)(struct TextWindow *obj, u8 arg)
void(* setRightAlign)()
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
#define PALETTE_BLUE
a light blue: what is highlighted or current
#define PALETTE_WHITE
The text windows' palettes (TextWindow.palette, setPalette): rows of the font's CLUTs,...
TextWindow * createTextWindow(s16 layerId, s16 style, s16 x, s16 y)
A text window on a layer, in a font style, at (x, y)
computeStats' result: the stats with the equipment added, by STAT_* or by name.
s16 lowered[3]
taken from battle[0], [1] and [4]
s16 battle[6]
strength (raised by weapons), defense (by armour), spirit, wisdom, speed and charisma (by all equipme...
struct PartnerTotals::@10 fields