|
Digimon World 3 decomp
The European version, SLES_039.36
|
The main menu's third screen: each table's recipes, checked against the ids a partner has. More...
#include "menus/digimon_lab.h"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) | |
The main menu's third screen: each table's recipes, checked against the ids a partner has.
Definition in file recipe_screen.c.
| #define FOUND | ( | screen | ) | ((screen)->found[(screen)->row][(screen)->slot][(screen)->col]) |
Definition at line 268 of file recipe_screen.c.
| 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.
Definition at line 9 of file recipe_screen.c.
Referenced by checkRecipes().
| 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().
| 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().
| 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().
| 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().
| 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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
| 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().
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.
| s32 STGDGLAB_tableItems[] |
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().