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

FIGHTSTG's switch-in menu: which Digimon of the incoming partner comes in, and whether it does the pair technique. More...

Include dependency graph for switch_in_menu.c:

Go to the source code of this file.

Functions

void FIGHTSTG_drawSwitchInMenu (SwitchInMenu *task)
 Draws the switch-in menu's frames, the second one with the pair technique.
 
void FIGHTSTG_createSwitchInWindows (SwitchInMenu *task, SwitchInMenuWindows *w)
 Makes the switch-in menu's windows: the four names, the choices and the MP.
 
void FIGHTSTG_showSwitchInNames (SwitchInMenu *task, SwitchInMenuWindows *w, s32 visible)
 Shows the names of the incoming partner's Digimon, or hides them.
 
void FIGHTSTG_showSwitchInChoices (SwitchInMenu *task, SwitchInMenuWindows *w, s32 visible)
 Shows the picked Digimon's name and the choices, switching in palette 7 when flag 0x10 bars it and the pair technique in palette 7 when it can't be done, with its MP cost and the active fighter's MP; or hides them.
 
static void listSwitchInDigimon (SwitchInMenu *task, SwitchInMenuWindows *w)
 Lists the partner and the Digimon in its slots, and makes the menu's windows.
 
static void findPairTech (SwitchInMenu *task)
 Sets the pair technique of the active fighter's Digimon with the chosen one, 0 for none (a temporary active fighter keeps the one it has).
 
static void confirmSwitchIn (SwitchInMenu *task, SwitchInMenuWindows *w)
 Confirms the switch (unless either fighter has FIGHTER_NO_SWITCH) or the pair technique, if both fighters can use it, paying its MP from both.
 
static void updatePartnerInfoPage (SwitchInMenu *task, SwitchInMenuWindows *w)
 Shows the PartnerInfo page again when the page or the chosen Digimon changed, closing the shown one.
 
void FIGHTSTG_updateSwitchInMenu (SwitchInMenu *task, SwitchInMenuWindows *w)
 The switch-in menu's task: L1 and R1 turn the PartnerInfo's page, cross picks the Digimon, then switching (not with flag 0x10 on either fighter) or the pair technique (with the MP, HP and none of flag 0x20 or sleep), which spends both fighters' MP; triangle goes back a step.
 
SwitchInMenu * FIGHTSTG_createSwitchInMenu (s32 *result)
 Opens the switch-in menu for fighter *result, without the pair technique.
 
SwitchInMenu * FIGHTSTG_createPairSwitchMenu (s32 *result, s32 *techResult)
 Opens the switch-in menu for fighter *result, with the pair technique, which goes into *techResult.
 

Variables

CursorLayout FIGHTSTG_pairCursors [2]
 the cursors of FIGHTSTG_updateSwitchInMenu's two steps
 
s32 FIGHTSTG_mpWindowX [4]
 the x of FIGHTSTG_createSwitchInWindows's MP windows
 

Detailed Description

FIGHTSTG's switch-in menu: which Digimon of the incoming partner comes in, and whether it does the pair technique.

Definition in file switch_in_menu.c.

Function Documentation

◆ FIGHTSTG_drawSwitchInMenu()

void FIGHTSTG_drawSwitchInMenu ( SwitchInMenu *  task)

Draws the switch-in menu's frames, the second one with the pair technique.

< the HUD, the menus and the messages

Definition at line 7 of file switch_in_menu.c.

Referenced by FIGHTSTG_updateSwitchInMenu().

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

◆ FIGHTSTG_createSwitchInWindows()

void FIGHTSTG_createSwitchInWindows ( SwitchInMenu *  task,
SwitchInMenuWindows *  w 
)

Makes the switch-in menu's windows: the four names, the choices and the MP.

< the HUD, the menus and the messages

< the HUD, the menus and the messages

< the HUD, the menus and the messages

< the HUD, the menus and the messages

< the HUD, the menus and the messages

< the HUD, the menus and the messages

< the HUD, the menus and the messages

Definition at line 23 of file switch_in_menu.c.

Referenced by listSwitchInDigimon().

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

◆ FIGHTSTG_showSwitchInNames()

void FIGHTSTG_showSwitchInNames ( SwitchInMenu *  task,
SwitchInMenuWindows *  w,
s32  visible 
)

Shows the names of the incoming partner's Digimon, or hides them.

< DIGNAM

Definition at line 40 of file switch_in_menu.c.

Referenced by FIGHTSTG_updateSwitchInMenu().

Here is the caller graph for this function:

◆ FIGHTSTG_showSwitchInChoices()

void FIGHTSTG_showSwitchInChoices ( SwitchInMenu *  task,
SwitchInMenuWindows *  w,
s32  visible 
)

Shows the picked Digimon's name and the choices, switching in palette 7 when flag 0x10 bars it and the pair technique in palette 7 when it can't be done, with its MP cost and the active fighter's MP; or hides them.

< MFIGHT: WFIGHTMN's

< DIGNAM

< can't switch out or run away (TECH_EFFECT_NO_SWITCH)

< can't switch out or run away (TECH_EFFECT_NO_SWITCH)

< what is unavailable

< what is unavailable

< can't digivolve or use a switch-in technique (TECH_EFFECT_NO_DIGIVOLVE)

< can't digivolve or use a switch-in technique (TECH_EFFECT_NO_DIGIVOLVE)

< can't act or run away; a hit may wake it up

< what is unavailable

< what is unavailable

Definition at line 63 of file switch_in_menu.c.

Referenced by confirmSwitchIn(), and FIGHTSTG_updateSwitchInMenu().

Here is the caller graph for this function:

◆ listSwitchInDigimon()

static void listSwitchInDigimon ( SwitchInMenu *  task,
SwitchInMenuWindows *  w 
)
inlinestatic

Lists the partner and the Digimon in its slots, and makes the menu's windows.

Definition at line 129 of file switch_in_menu.c.

Referenced by FIGHTSTG_updateSwitchInMenu().

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

◆ findPairTech()

static void findPairTech ( SwitchInMenu *  task)
inlinestatic

Sets the pair technique of the active fighter's Digimon with the chosen one, 0 for none (a temporary active fighter keeps the one it has).

Definition at line 152 of file switch_in_menu.c.

Referenced by FIGHTSTG_updateSwitchInMenu().

Here is the caller graph for this function:

◆ confirmSwitchIn()

static void confirmSwitchIn ( SwitchInMenu *  task,
SwitchInMenuWindows *  w 
)
inlinestatic

Confirms the switch (unless either fighter has FIGHTER_NO_SWITCH) or the pair technique, if both fighters can use it, paying its MP from both.

< SYSTEM07

< can't switch out or run away (TECH_EFFECT_NO_SWITCH)

< can't switch out or run away (TECH_EFFECT_NO_SWITCH)

< can't digivolve or use a switch-in technique (TECH_EFFECT_NO_DIGIVOLVE)

< can't digivolve or use a switch-in technique (TECH_EFFECT_NO_DIGIVOLVE)

< can't act or run away; a hit may wake it up

Definition at line 169 of file switch_in_menu.c.

Referenced by FIGHTSTG_updateSwitchInMenu().

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

◆ updatePartnerInfoPage()

static void updatePartnerInfoPage ( SwitchInMenu *  task,
SwitchInMenuWindows *  w 
)
inlinestatic

Shows the PartnerInfo page again when the page or the chosen Digimon changed, closing the shown one.

Definition at line 200 of file switch_in_menu.c.

Referenced by FIGHTSTG_updateSwitchInMenu().

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

◆ FIGHTSTG_updateSwitchInMenu()

void FIGHTSTG_updateSwitchInMenu ( SwitchInMenu *  task,
SwitchInMenuWindows *  w 
)

The switch-in menu's task: L1 and R1 turn the PartnerInfo's page, cross picks the Digimon, then switching (not with flag 0x10 on either fighter) or the pair technique (with the MP, HP and none of flag 0x20 or sleep), which spends both fighters' MP; triangle goes back a step.

< SYSTEM01

< SYSTEM07

< SYSTEM06

< SYSTEM06

< SYSTEM01

< SYSTEM06

< SYSTEM06

Definition at line 231 of file switch_in_menu.c.

Referenced by FIGHTSTG_createSwitchInMenu().

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

◆ FIGHTSTG_createSwitchInMenu()

SwitchInMenu * FIGHTSTG_createSwitchInMenu ( s32 *  result)

Opens the switch-in menu for fighter *result, without the pair technique.

Definition at line 349 of file switch_in_menu.c.

Referenced by FIGHTSTG_createPairSwitchMenu(), and runKnockOutSwitchMenu().

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

◆ FIGHTSTG_createPairSwitchMenu()

SwitchInMenu * FIGHTSTG_createPairSwitchMenu ( s32 *  result,
s32 *  techResult 
)

Opens the switch-in menu for fighter *result, with the pair technique, which goes into *techResult.

Definition at line 361 of file switch_in_menu.c.

Referenced by runSwitchMenu().

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

Variable Documentation

◆ FIGHTSTG_pairCursors

CursorLayout FIGHTSTG_pairCursors[2]
Initial value:
= {
{ 4, 168, 147, 19, 36, 167, 146, 19 },
{ 2, 168, 166, 19, 34, 167, 165, 19 },
}

the cursors of FIGHTSTG_updateSwitchInMenu's two steps

FIGHTSTG_updateSwitchInMenu's cursors.

Definition at line 118 of file switch_in_menu.c.

Referenced by FIGHTSTG_updateSwitchInMenu(), and listSwitchInDigimon().

◆ FIGHTSTG_mpWindowX

s32 FIGHTSTG_mpWindowX[4]
Initial value:
= {
0xAC, 0xD8, 0xD9, 0xFB,
}

the x of FIGHTSTG_createSwitchInWindows's MP windows

FIGHTSTG_createSwitchInWindows's MP windows' x.

Definition at line 123 of file switch_in_menu.c.

Referenced by FIGHTSTG_createSwitchInWindows().