Digimon World 3 decomp
The European version, SLES_039.36
Loading...
Searching...
No Matches
recipe_screen.c File Reference

The main menu's third screen: each table's recipes, checked against the ids a partner has. More...

Include dependency graph for recipe_screen.c:

Go to the source code of this file.

Macros

#define FOUND(screen)   ((screen)->found[(screen)->row][(screen)->slot][(screen)->col])
 

Functions

s32 STGDGLAB_findRecipe (LabRecipeScreen *screen, s32 row, u32 col, s32 slot)
 Puts in found[row][slot] the owned ids of the recipe (row, col) and clears complete[row] when they're fewer than the recipe needs; gives the ids checked, 0 for a column past the recipes.
 
s32 STGDGLAB_hasRecipeId (LabRecipeScreen *screen, s32 row, u32 col)
 Whether the partner has the first id of the recipe (row, col); 0 for a column past the recipes.
 
s32 STGDGLAB_countRowIds (LabRecipeScreen *screen, u32 row)
 How many of the row's four recipes the third screen shows: those whose first id the partner has (STGDGLAB_hasRecipeId)
 
void STGDGLAB_resetRecipeCursor (LabRecipeScreen *screen)
 Puts the third screen's cursor on the row's first recipe, at its first id found (the last one when none is)
 
void STGDGLAB_drawRecipeScreen (LabRecipeScreen *screen, LabRecipeScreenWindows *win)
 Draws the third screen: the picked id, the frames, the recipes of the row (the ids found, the empty slots after them) and the arrows.
 
s32 STGDGLAB_moveRecipeCursor (LabRecipeScreen *screen, s32 step)
 Moves the third screen's cursor by step slots, to the first column with an id; whether it moved.
 
static void checkRecipes (LabRecipeScreen *screen)
 Finds the owned ids of each recipe of the table's four rows: a row is complete when none of its recipes lacks ids, and has found[row][0][0] -1 when it has none.
 
static void showRecipeTitle (LabRecipeScreen *screen, LabRecipeScreenWindows *win)
 Once the title's panel has faded in, the title with the partner's name, the row's number and the arrows' hints; then fades the row's panel in.
 
static void pickRecipeId (LabRecipeScreen *screen)
 Moves the cursor over the row's owned ids, skipping the empty places; cross opens the picked id's name and description.
 
static void showRecipeName (LabRecipeScreen *screen, LabRecipeScreenWindows *win)
 Once its panel has faded in, the picked id's name and description, by the panel of its place.
 
static void changeRecipeRow (LabRecipeScreen *screen)
 Fades the row out and, unless the screen is closing (counter), the next row in.
 
static void runRecipeRow (LabRecipeScreen *screen, LabRecipeScreenWindows *win)
 L1 and R1 go to the previous or next row (the arrows show where there is one), triangle closes the screen; otherwise the cursor moves over the row.
 
void STGDGLAB_updateRecipeScreen (LabRecipeScreen *screen, LabRecipeScreenWindows *win)
 The third screen: a row of recipes at a time, the picked id's name and description on cross.
 
Task * STGDGLAB_createRecipeScreen (Lab *lab)
 Creates the main menu's third screen (task), the recipes, and fades the menu's page out.
 

Variables

s32 STGDGLAB_tableItems []
 The item each table's screen shows (STGDGLAB_entries)
 

Detailed Description

The main menu's third screen: each table's recipes, checked against the ids a partner has.

Definition in file recipe_screen.c.

Macro Definition Documentation

◆ FOUND

#define FOUND (   screen)    ((screen)->found[(screen)->row][(screen)->slot][(screen)->col])

Definition at line 268 of file recipe_screen.c.

Function Documentation

◆ STGDGLAB_findRecipe()

s32 STGDGLAB_findRecipe ( LabRecipeScreen *  screen,
s32  row,
u32  col,
s32  slot 
)

Puts in found[row][slot] the owned ids of the recipe (row, col) and clears complete[row] when they're fewer than the recipe needs; gives the ids checked, 0 for a column past the recipes.

recipe_screen.c

Definition at line 9 of file recipe_screen.c.

Referenced by checkRecipes().

Here is the caller graph for this function:

◆ STGDGLAB_hasRecipeId()

s32 STGDGLAB_hasRecipeId ( LabRecipeScreen *  screen,
s32  row,
u32  col 
)

Whether the partner has the first id of the recipe (row, col); 0 for a column past the recipes.

Definition at line 45 of file recipe_screen.c.

Referenced by checkRecipes(), and STGDGLAB_countRowIds().

Here is the caller graph for this function:

◆ STGDGLAB_countRowIds()

s32 STGDGLAB_countRowIds ( LabRecipeScreen *  screen,
u32  row 
)

How many of the row's four recipes the third screen shows: those whose first id the partner has (STGDGLAB_hasRecipeId)

Definition at line 75 of file recipe_screen.c.

Referenced by changeRecipeRow(), and STGDGLAB_updateRecipeScreen().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ STGDGLAB_resetRecipeCursor()

void STGDGLAB_resetRecipeCursor ( LabRecipeScreen *  screen)

Puts the third screen's cursor on the row's first recipe, at its first id found (the last one when none is)

Definition at line 92 of file recipe_screen.c.

Referenced by changeRecipeRow(), and STGDGLAB_updateRecipeScreen().

Here is the caller graph for this function:

◆ STGDGLAB_drawRecipeScreen()

void STGDGLAB_drawRecipeScreen ( LabRecipeScreen *  screen,
LabRecipeScreenWindows *  win 
)

Draws the third screen: the picked id, the frames, the recipes of the row (the ids found, the empty slots after them) and the arrows.

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

Definition at line 105 of file recipe_screen.c.

Referenced by STGDGLAB_updateRecipeScreen().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ STGDGLAB_moveRecipeCursor()

s32 STGDGLAB_moveRecipeCursor ( LabRecipeScreen *  screen,
s32  step 
)

Moves the third screen's cursor by step slots, to the first column with an id; whether it moved.

Definition at line 242 of file recipe_screen.c.

Referenced by pickRecipeId().

Here is the caller graph for this function:

◆ checkRecipes()

static void checkRecipes ( LabRecipeScreen *  screen)
inlinestatic

Finds the owned ids of each recipe of the table's four rows: a row is complete when none of its recipes lacks ids, and has found[row][0][0] -1 when it has none.

Definition at line 273 of file recipe_screen.c.

Referenced by STGDGLAB_updateRecipeScreen().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ showRecipeTitle()

static void showRecipeTitle ( LabRecipeScreen *  screen,
LabRecipeScreenWindows *  win 
)
inlinestatic

Once the title's panel has faded in, the title with the partner's name, the row's number and the arrows' hints; then fades the row's panel in.

< DGLABO: STGDGLAB's

< DGLABO: STGDGLAB's

< DGLABO: STGDGLAB's

< DGLABO: STGDGLAB's

Definition at line 300 of file recipe_screen.c.

Referenced by STGDGLAB_updateRecipeScreen().

Here is the caller graph for this function:

◆ pickRecipeId()

static void pickRecipeId ( LabRecipeScreen *  screen)
inlinestatic

Moves the cursor over the row's owned ids, skipping the empty places; cross opens the picked id's name and description.

< SYSTEM06

< SYSTEM07

Definition at line 321 of file recipe_screen.c.

Referenced by runRecipeRow().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ showRecipeName()

static void showRecipeName ( LabRecipeScreen *  screen,
LabRecipeScreenWindows *  win 
)
inlinestatic

Once its panel has faded in, the picked id's name and description, by the panel of its place.

< DIGNAM

< DIGINF

Definition at line 431 of file recipe_screen.c.

Referenced by STGDGLAB_updateRecipeScreen().

Here is the caller graph for this function:

◆ changeRecipeRow()

static void changeRecipeRow ( LabRecipeScreen *  screen)
inlinestatic

Fades the row out and, unless the screen is closing (counter), the next row in.

Definition at line 455 of file recipe_screen.c.

Referenced by STGDGLAB_updateRecipeScreen().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ runRecipeRow()

static void runRecipeRow ( LabRecipeScreen *  screen,
LabRecipeScreenWindows *  win 
)
inlinestatic

L1 and R1 go to the previous or next row (the arrows show where there is one), triangle closes the screen; otherwise the cursor moves over the row.

< SYSTEM06

< SYSTEM01

Definition at line 497 of file recipe_screen.c.

Referenced by STGDGLAB_updateRecipeScreen().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ STGDGLAB_updateRecipeScreen()

void STGDGLAB_updateRecipeScreen ( LabRecipeScreen *  screen,
LabRecipeScreenWindows *  win 
)

The third screen: a row of recipes at a time, the picked id's name and description on cross.

Definition at line 543 of file recipe_screen.c.

Referenced by STGDGLAB_createRecipeScreen().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ STGDGLAB_createRecipeScreen()

Task * STGDGLAB_createRecipeScreen ( Lab *  lab)

Creates the main menu's third screen (task), the recipes, and fades the menu's page out.

Definition at line 643 of file recipe_screen.c.

Here is the call graph for this function:

Variable Documentation

◆ STGDGLAB_tableItems

s32 STGDGLAB_tableItems[]
Initial value:
= {
383, 385, 384, 3,
145, 366, 373, 31,
}

The item each table's screen shows (STGDGLAB_entries)

STGDGLAB's data, in its order: the recipe screen's, the menu's, the party screen's and the lab's.

Definition at line 654 of file recipe_screen.c.

Referenced by STGDGLAB_drawRecipeScreen().