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

The mode's main task, the lab, which runs the main menu and its screens; its files and helpers; and the overlay's tables. More...

Include dependency graph for lab.c:

Go to the source code of this file.

Functions

void STGDGLAB_runLab (Lab *lab, LabChildren *children)
 Creates the main menu and opens the screen it picks, back to the menu when the screen closes; once the menu is gone, ends the lab after the fade out.
 
void STGDGLAB_packParty (Lab *lab)
 Counts the party and moves its members to the first places of GAME.party.
 
void STGDGLAB_updateLab (Lab *lab, LabChildren *children)
 The mode's main task: loads the files and packs the party, then runs the lab (STGDGLAB_runLab) and draws sprite 0x37 sliding diagonally; when killed it goes back to the field (GAME.fieldMode)
 
s32 STGDGLAB_openLabMenu (Lab *lab)
 Lab.openMenu: opens the main menu's page again; 1 if the menu was running.
 
s32 STGDGLAB_closeLabMenu (Lab *lab)
 Lab.closeMenu: closes the main menu's page; 1 if the menu was running.
 
s32 STGDGLAB_labMenuRunning (Lab *lab)
 Lab.menuOpen: 1 when the main menu's task is running (its page not fading)
 
void STGDGLAB_fadeOutLab (Lab *lab)
 Lab.fadeOut: fades the screen out in 0x1E frames, as the lab is left.
 
Lab * STGDGLAB_createLab (void)
 Creates the mode's main task, the lab.
 
void STGDGLAB_loadFiles (void)
 Loads the lab's textures and requests its strings: the lab's and the Digimon's and skills' names and descriptions.
 
s32 STGDGLAB_filesLoading (void)
 Whether the lab's strings are still loading.
 
s32 STGDGLAB_getItemSprite (s32 id)
 The sprite of a recipe's id (STGDGLAB_entries), 0 for an id not there.
 
s32 STGDGLAB_getItemB (s32 id)
 The third value (b) of a recipe's id in STGDGLAB_entries, 0 for an id not there; LabFuncs.getB, which nothing in the overlay calls.
 

Variables

Task *(* STGDGLAB_screens [])(Lab *lab)
 The main menu's screens.
 
PartnerAnim STGDGLAB_partnerAnims []
 The partners' animation frames, -1 ends.
 
LabWindowPos STGDGLAB_layout []
 Where the windows go: the five stats' labels, their values and the name.
 
LabEntry STGDGLAB_entries []
 The items of the recipes, up to id 0: their sprite (STGDGLAB_getItemSprite) and STGDGLAB_getItemB's value.
 
LabRecipe STGDGLAB_recipes0 []
 The recipes of each table (STGDGLAB_data.recipes), by row and column.
 
LabRecipe STGDGLAB_recipes1 []
 
LabRecipe STGDGLAB_recipes2 []
 
LabRecipe STGDGLAB_recipes3 []
 
LabRecipe STGDGLAB_recipes4 []
 
LabRecipe STGDGLAB_recipes5 []
 
LabRecipe STGDGLAB_recipes6 []
 
LabRecipe STGDGLAB_recipes7 []
 
LabData STGDGLAB_data
 

Detailed Description

The mode's main task, the lab, which runs the main menu and its screens; its files and helpers; and the overlay's tables.

Definition in file lab.c.

Function Documentation

◆ STGDGLAB_runLab()

void STGDGLAB_runLab ( Lab *  lab,
LabChildren *  children 
)

Creates the main menu and opens the screen it picks, back to the menu when the screen closes; once the menu is gone, ends the lab after the fade out.

lab.c

Definition at line 8 of file lab.c.

Referenced by STGDGLAB_updateLab().

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

◆ STGDGLAB_packParty()

void STGDGLAB_packParty ( Lab *  lab)

Counts the party and moves its members to the first places of GAME.party.

Definition at line 42 of file lab.c.

Referenced by STGDGLAB_createLab(), and STGDGLAB_updateLab().

Here is the caller graph for this function:

◆ STGDGLAB_updateLab()

void STGDGLAB_updateLab ( Lab *  lab,
LabChildren *  children 
)

The mode's main task: loads the files and packs the party, then runs the lab (STGDGLAB_runLab) and draws sprite 0x37 sliding diagonally; when killed it goes back to the field (GAME.fieldMode)

Definition at line 68 of file lab.c.

Referenced by STGDGLAB_createLab().

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

◆ STGDGLAB_openLabMenu()

s32 STGDGLAB_openLabMenu ( Lab *  lab)

Lab.openMenu: opens the main menu's page again; 1 if the menu was running.

Definition at line 112 of file lab.c.

Referenced by STGDGLAB_createLab().

Here is the caller graph for this function:

◆ STGDGLAB_closeLabMenu()

s32 STGDGLAB_closeLabMenu ( Lab *  lab)

Lab.closeMenu: closes the main menu's page; 1 if the menu was running.

Definition at line 124 of file lab.c.

Referenced by STGDGLAB_createLab().

Here is the caller graph for this function:

◆ STGDGLAB_labMenuRunning()

s32 STGDGLAB_labMenuRunning ( Lab *  lab)

Lab.menuOpen: 1 when the main menu's task is running (its page not fading)

Definition at line 136 of file lab.c.

Referenced by STGDGLAB_createLab().

Here is the caller graph for this function:

◆ STGDGLAB_fadeOutLab()

void STGDGLAB_fadeOutLab ( Lab *  lab)

Lab.fadeOut: fades the screen out in 0x1E frames, as the lab is left.

Definition at line 147 of file lab.c.

Referenced by STGDGLAB_createLab().

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

◆ STGDGLAB_createLab()

Lab * STGDGLAB_createLab ( void  )

Creates the mode's main task, the lab.

Definition at line 155 of file lab.c.

Here is the call graph for this function:

◆ STGDGLAB_loadFiles()

void STGDGLAB_loadFiles ( void  )

Loads the lab's textures and requests its strings: the lab's and the Digimon's and skills' names and descriptions.

< DGLABO: STGDGLAB's

< DIGNAM

< DIGINF

< SKLNAM

< SKLINF

Definition at line 169 of file lab.c.

Here is the call graph for this function:

◆ STGDGLAB_filesLoading()

s32 STGDGLAB_filesLoading ( void  )

Whether the lab's strings are still loading.

< DGLABO: STGDGLAB's

< DIGNAM

< DIGINF

< SKLNAM

< SKLINF

Definition at line 187 of file lab.c.

◆ STGDGLAB_getItemSprite()

s32 STGDGLAB_getItemSprite ( s32  id)

The sprite of a recipe's id (STGDGLAB_entries), 0 for an id not there.

Definition at line 209 of file lab.c.

◆ STGDGLAB_getItemB()

s32 STGDGLAB_getItemB ( s32  id)

The third value (b) of a recipe's id in STGDGLAB_entries, 0 for an id not there; LabFuncs.getB, which nothing in the overlay calls.

Definition at line 222 of file lab.c.

Variable Documentation

◆ STGDGLAB_screens

Task *(* STGDGLAB_screens[])(Lab *lab) ( Lab *  lab)
Initial value:
= {
}
Task * STGDGLAB_createPartyScreen(Lab *lab)
Creates the main menu's first screen (task), where a partner joins the party in the member's place.
Task * STGDGLAB_createRecipeScreen(Lab *lab)
Creates the main menu's third screen (task), the recipes, and fades the menu's page out.
Task * STGDGLAB_createSlotScreen(Lab *lab)
Creates the main menu's second screen (task), the party member's three slots.

The main menu's screens.

Definition at line 234 of file lab.c.

Referenced by STGDGLAB_runLab().

◆ STGDGLAB_partnerAnims

PartnerAnim STGDGLAB_partnerAnims[]
Initial value:
= {
{ { 7, 8, 9, 10, 9, 8, -1 } },
{ { 14, 15, 16, 15, -1, -1, -1 } },
{ { 11, 12, 13, 12, -1, -1, -1 } },
{ { 3, 4, 5, 6, 5, 4, -1 } },
{ { 25, 26, 27, 28, 27, 26, -1 } },
{ { 0, 1, 2, 1, -1, -1, -1 } },
{ { 17, 18, 19, 20, 19, 18, -1 } },
{ { 21, 22, 23, 24, 23, 22, -1 } },
}

The partners' animation frames, -1 ends.

Definition at line 238 of file lab.c.

◆ STGDGLAB_layout

LabWindowPos STGDGLAB_layout[]
Initial value:
= {
{ 21, 51, 38 },
{ 22, 51, 48 },
{ 23, 95, 48 },
{ 14, 51, 57 },
{ 23, 95, 57 },
{ 18, 80, 38 },
{ 18, 93, 48 },
{ 18, 128, 48 },
{ 18, 93, 57 },
{ 18, 128, 57 },
{ -1, 51, 23 },
}

Where the windows go: the five stats' labels, their values and the name.

Definition at line 249 of file lab.c.

◆ STGDGLAB_entries

LabEntry STGDGLAB_entries[]

The items of the recipes, up to id 0: their sprite (STGDGLAB_getItemSprite) and STGDGLAB_getItemB's value.

the items of the recipes

Definition at line 264 of file lab.c.

Referenced by STGDGLAB_getItemB(), and STGDGLAB_getItemSprite().

◆ STGDGLAB_recipes0

LabRecipe STGDGLAB_recipes0[]
Initial value:
= {
{ 3, { 0x182, 0x185, 0x188, 0, 0 } },
{ 4, { 0x005, 0x00C, 0x0D5, 0x096, 0 } },
{ 2, { 0, 0x01A, 0x10B, 0, 0 } },
{ 0, { 0, 0, 0, 0, 0 } },
{ 5, { 0x103, 0x0FE, 0x094, 0x167, 0x17D } },
{ 3, { 0x01B, 0x0C4, 0x174, 0, 0 } },
{ 4, { 0x104, 0x013, 0, 0x0E6, 0x097 } },
{ 3, { 0x176, 0x177, 0x178, 0, 0 } },
{ 3, { 0x0EA, 0x090, 0x03B, 0, 0 } },
{ 3, { 0x014, 0x0D3, 0x0D6, 0, 0 } },
{ 1, { 0x038, 0, 0, 0, 0 } },
{ 4, { 0x006, 0x042, 0x17A, 0x179, 0 } },
{ 3, { 0x16F, 0x170, 0x171, 0, 0 } },
{ 3, { 0x183, 0x186, 0x189, 0, 0 } },
{ 3, { 0x184, 0x187, 0x18A, 0, 0 } },
{ 0, { 0, 0, 0, 0, 0 } },
}

The recipes of each table (STGDGLAB_data.recipes), by row and column.

to STGDGLAB_recipes7, by table

Definition at line 466 of file lab.c.

◆ STGDGLAB_recipes1

LabRecipe STGDGLAB_recipes1[]
Initial value:
= {
{ 3, { 0x184, 0x187, 0x18A, 0, 0 } },
{ 3, { 0x176, 0x177, 0x178, 0, 0 } },
{ 1, { 0x038, 0, 0, 0, 0 } },
{ 5, { 0x103, 0x0FE, 0x094, 0x167, 0x17D } },
{ 3, { 0x01B, 0x0C4, 0x174, 0, 0 } },
{ 4, { 0x006, 0x042, 0x17A, 0x179, 0 } },
{ 3, { 0x16F, 0x170, 0x171, 0, 0 } },
{ 4, { 0x104, 0x013, 0, 0x0E6, 0x097 } },
{ 3, { 0x014, 0x0D3, 0x0D6, 0, 0 } },
{ 3, { 0x0EA, 0x090, 0x03B, 0, 0 } },
{ 3, { 0x183, 0x186, 0x189, 0, 0 } },
{ 0, { 0, 0, 0, 0, 0 } },
{ 4, { 0x005, 0x00C, 0x0D5, 0x096, 0 } },
{ 2, { 0, 0x01A, 0x10B, 0, 0 } },
{ 3, { 0, 0x182, 0x185, 0x188, 0 } },
{ 0, { 0, 0, 0, 0, 0 } },
}

Definition at line 484 of file lab.c.

◆ STGDGLAB_recipes2

LabRecipe STGDGLAB_recipes2[]
Initial value:
= {
{ 3, { 0x183, 0x186, 0x189, 0, 0 } },
{ 5, { 0x103, 0x0FE, 0x094, 0x167, 0x17D } },
{ 3, { 0, 0x01B, 0x0C4, 0x174, 0 } },
{ 1, { 0, 0x038, 0, 0, 0 } },
{ 3, { 0x014, 0x0D3, 0x0D6, 0, 0 } },
{ 3, { 0, 0x0EA, 0x090, 0x03B, 0 } },
{ 3, { 0, 0x176, 0x177, 0x178, 0 } },
{ 0, { 0, 0, 0, 0, 0 } },
{ 4, { 0x005, 0x00C, 0x0D5, 0x096, 0 } },
{ 2, { 0, 0x01A, 0x10B, 0, 0 } },
{ 4, { 0, 0x006, 0x042, 0x17A, 0x179 } },
{ 0, { 0, 0, 0, 0, 0 } },
{ 3, { 0x182, 0x185, 0x188, 0, 0 } },
{ 4, { 0x104, 0x013, 0, 0x0E6, 0x097 } },
{ 3, { 0, 0x16F, 0x170, 0x171, 0 } },
{ 3, { 0, 0x184, 0x187, 0x18A, 0 } },
}

Definition at line 502 of file lab.c.

◆ STGDGLAB_recipes3

LabRecipe STGDGLAB_recipes3[]
Initial value:
= {
{ 4, { 0x005, 0x00C, 0x0D5, 0x096, 0 } },
{ 2, { 0, 0x01A, 0x10B, 0, 0 } },
{ 3, { 0x16F, 0x170, 0x171, 0, 0 } },
{ 0, { 0, 0, 0, 0, 0 } },
{ 3, { 0x183, 0x186, 0x189, 0, 0 } },
{ 3, { 0x176, 0x177, 0x178, 0, 0 } },
{ 5, { 0x103, 0x0FE, 0x094, 0x167, 0x17D } },
{ 0, { 0, 0, 0, 0, 0 } },
{ 3, { 0x01B, 0x0C4, 0x174, 0, 0 } },
{ 3, { 0x182, 0x185, 0x188, 0, 0 } },
{ 4, { 0x104, 0x013, 0, 0x0E6, 0x097 } },
{ 1, { 0, 0x038, 0, 0, 0 } },
{ 3, { 0x184, 0x187, 0x18A, 0, 0 } },
{ 3, { 0x014, 0x0D3, 0x0D6, 0, 0 } },
{ 3, { 0, 0x0EA, 0x090, 0x03B, 0 } },
{ 4, { 0, 0x006, 0x042, 0x17A, 0x179 } },
}

Definition at line 520 of file lab.c.

◆ STGDGLAB_recipes4

LabRecipe STGDGLAB_recipes4[]
Initial value:
= {
{ 5, { 0x103, 0x0FE, 0x094, 0x167, 0x17D } },
{ 4, { 0x104, 0x013, 0, 0x0E6, 0x097 } },
{ 3, { 0, 0x01B, 0x0C4, 0x174, 0 } },
{ 4, { 0, 0x006, 0x042, 0x17A, 0x179 } },
{ 3, { 0x16F, 0x170, 0x171, 0, 0 } },
{ 4, { 0x005, 0x00C, 0x0D5, 0x096, 0 } },
{ 2, { 0, 0x01A, 0x10B, 0, 0 } },
{ 0, { 0, 0, 0, 0, 0 } },
{ 3, { 0x176, 0x177, 0x178, 0, 0 } },
{ 3, { 0x014, 0x0D3, 0x0D6, 0, 0 } },
{ 3, { 0, 0x0EA, 0x090, 0x03B, 0 } },
{ 0, { 0, 0, 0, 0, 0 } },
{ 1, { 0x038, 0, 0, 0, 0 } },
{ 3, { 0x182, 0x185, 0x188, 0, 0 } },
{ 3, { 0x183, 0x186, 0x189, 0, 0 } },
{ 3, { 0x184, 0x187, 0x18A, 0, 0 } },
}

Definition at line 538 of file lab.c.

◆ STGDGLAB_recipes5

LabRecipe STGDGLAB_recipes5[]
Initial value:
= {
{ 3, { 0x16F, 0x170, 0x171, 0, 0 } },
{ 3, { 0x01B, 0x0C4, 0x174, 0, 0 } },
{ 4, { 0x104, 0x013, 0, 0x0E6, 0x097 } },
{ 0, { 0, 0, 0, 0, 0 } },
{ 3, { 0x014, 0x0D3, 0x0D6, 0, 0 } },
{ 1, { 0x038, 0, 0, 0, 0 } },
{ 3, { 0x0EA, 0x090, 0x03B, 0, 0 } },
{ 3, { 0x176, 0x177, 0x178, 0, 0 } },
{ 3, { 0x184, 0x187, 0x18A, 0, 0 } },
{ 5, { 0x103, 0x0FE, 0x094, 0x167, 0x17D } },
{ 4, { 0x005, 0x00C, 0x0D5, 0x096, 0 } },
{ 2, { 0, 0x01A, 0x10B, 0, 0 } },
{ 4, { 0x006, 0x042, 0x17A, 0x179, 0 } },
{ 3, { 0x182, 0x185, 0x188, 0, 0 } },
{ 3, { 0x183, 0x186, 0x189, 0, 0 } },
{ 0, { 0, 0, 0, 0, 0 } },
}

Definition at line 556 of file lab.c.

◆ STGDGLAB_recipes6

LabRecipe STGDGLAB_recipes6[]
Initial value:
= {
{ 3, { 0x176, 0x177, 0x178, 0, 0 } },
{ 4, { 0x104, 0x013, 0, 0x0E6, 0x097 } },
{ 3, { 0x0EA, 0x090, 0x03B, 0, 0 } },
{ 3, { 0x16F, 0x170, 0x171, 0, 0 } },
{ 5, { 0x103, 0x0FE, 0x094, 0x167, 0x17D } },
{ 3, { 0x01B, 0x0C4, 0x174, 0, 0 } },
{ 4, { 0x006, 0x042, 0x17A, 0x179, 0 } },
{ 1, { 0x038, 0, 0, 0, 0 } },
{ 3, { 0x014, 0x0D3, 0x0D6, 0, 0 } },
{ 3, { 0x184, 0x187, 0x18A, 0, 0 } },
{ 3, { 0x182, 0x185, 0x188, 0, 0 } },
{ 0, { 0, 0, 0, 0, 0 } },
{ 4, { 0x005, 0x00C, 0x0D5, 0x096, 0 } },
{ 2, { 0, 0x01A, 0x10B, 0, 0 } },
{ 3, { 0x183, 0x186, 0x189, 0, 0 } },
{ 0, { 0, 0, 0, 0, 0 } },
}

Definition at line 574 of file lab.c.

◆ STGDGLAB_recipes7

LabRecipe STGDGLAB_recipes7[]
Initial value:
= {
{ 3, { 0x014, 0x0D3, 0x0D6, 0, 0 } },
{ 1, { 0x038, 0, 0, 0, 0 } },
{ 3, { 0x0EA, 0x090, 0x03B, 0, 0 } },
{ 0, { 0, 0, 0, 0, 0 } },
{ 4, { 0x104, 0x013, 0, 0x0E6, 0x097 } },
{ 4, { 0x005, 0x00C, 0x0D5, 0x096, 0 } },
{ 2, { 0, 0x01A, 0x10B, 0, 0 } },
{ 0, { 0, 0, 0, 0, 0 } },
{ 3, { 0x183, 0x186, 0x189, 0, 0 } },
{ 3, { 0, 0x01B, 0x0C4, 0x174, 0 } },
{ 3, { 0, 0x16F, 0x170, 0x171, 0 } },
{ 4, { 0, 0x006, 0x042, 0x17A, 0x179 } },
{ 3, { 0x176, 0x177, 0x178, 0, 0 } },
{ 3, { 0x182, 0x185, 0x188, 0, 0 } },
{ 5, { 0x103, 0x0FE, 0x094, 0x167, 0x17D } },
{ 3, { 0x184, 0x187, 0x18A, 0, 0 } },
}

Definition at line 592 of file lab.c.

◆ STGDGLAB_data

LabData STGDGLAB_data
Initial value:
= {
{
},
{
},
}
s32 STGDGLAB_updateFade(PanelAnim *fade)
s32 STGDGLAB_updateLerp(MenuLerp *lerp)
void STGDGLAB_startLerp(MenuLerp *lerp, s32 from, s32 to, s32 frames)
void STGDGLAB_startFade(PanelAnim *fade, s32 fadeIn)
s32 STGDGLAB_filesLoading(void)
Whether the lab's strings are still loading.
Definition lab.c:187
void STGDGLAB_loadFiles(void)
Loads the lab's textures and requests its strings: the lab's and the Digimon's and skills' names and ...
Definition lab.c:169
PartnerAnim STGDGLAB_partnerAnims[]
The partners' animation frames, -1 ends.
Definition lab.c:238
LabRecipe STGDGLAB_recipes1[]
Definition lab.c:484
s32 STGDGLAB_getItemSprite(s32 id)
The sprite of a recipe's id (STGDGLAB_entries), 0 for an id not there.
Definition lab.c:209
LabRecipe STGDGLAB_recipes6[]
Definition lab.c:574
LabRecipe STGDGLAB_recipes3[]
Definition lab.c:520
LabRecipe STGDGLAB_recipes4[]
Definition lab.c:538
LabWindowPos STGDGLAB_layout[]
Where the windows go: the five stats' labels, their values and the name.
Definition lab.c:249
LabRecipe STGDGLAB_recipes5[]
Definition lab.c:556
LabRecipe STGDGLAB_recipes7[]
Definition lab.c:592
s32 STGDGLAB_getItemB(s32 id)
The third value (b) of a recipe's id in STGDGLAB_entries, 0 for an id not there; LabFuncs....
Definition lab.c:222
LabRecipe STGDGLAB_recipes2[]
Definition lab.c:502
LabRecipe STGDGLAB_recipes0[]
The recipes of each table (STGDGLAB_data.recipes), by row and column.
Definition lab.c:466

Definition at line 611 of file lab.c.

Referenced by changeRecipeRow(), checkRecipes(), closeMenuPage(), closeMessage(), loadSlotScreen(), openSlotOption(), pickRecipeId(), pickSlotOption(), putPickedEntry(), showMenuOptions(), showMenuPageLabel(), showMenuPageTitle(), showMenuTitle(), showPartyTitle(), showRecipeName(), showRecipeTitle(), STGDGLAB_closeEntryList(), STGDGLAB_closeMenu(), STGDGLAB_drawMenu(), STGDGLAB_drawPartyScreen(), STGDGLAB_drawRecipeScreen(), STGDGLAB_findRecipe(), STGDGLAB_hasRecipeId(), STGDGLAB_openMenu(), STGDGLAB_pickSkill(), STGDGLAB_runEntryList(), STGDGLAB_runMenu(), STGDGLAB_runPartyScreen(), STGDGLAB_runSlotScreen(), STGDGLAB_showMenuPage(), STGDGLAB_showPartyPage(), STGDGLAB_updateEntryPanel(), STGDGLAB_updateLab(), STGDGLAB_updateMenu(), STGDGLAB_updateRecipeScreen(), STGDGLAB_updateSkillPanel(), and waitMenuPageClosed().