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

A training session. More...

#include "menus/gym.h"
Include dependency graph for session.c:

Go to the source code of this file.

Functions

void STGTRAIN_createSessionWindows (TrainSession *session, TrainSessionWindows *win)
 Creates the training session's text windows and cursor.
 
void STGTRAIN_drawSession (TrainSession *session)
 Draws a training session: the training's icon, its panels and the cursor over the three columns.
 
static void STGTRAIN_showTrainingName (TrainSession *session, TrainSessionWindows *win)
 Once the title panel is open, writes the training's name in it and opens the next panel.
 
static void STGTRAIN_showIntensities (TrainSession *session, TrainSessionWindows *win)
 Once the intensities' panel is open, writes the three intensities and shows the cursor.
 
static void STGTRAIN_pickIntensity (TrainSession *session)
 Moves the cursor over the three intensities, and picks one (cross) when the partner has its TP, else tells it has not; or leaves (triangle)
 
static void STGTRAIN_closeNotice (TrainSession *session, TrainSessionWindows *win)
 Once cross is pressed, hides the not-enough-points notice and closes its panel.
 
static void STGTRAIN_closeIntensities (TrainSession *session, TrainSessionWindows *win)
 Hides the intensities, the cursor and the message, and closes their panels.
 
static void STGTRAIN_askToTrain (TrainSession *session, TrainSessionWindows *win)
 Once the question's panels are open, asks whether to train at the picked intensity, with the cursor on yes.
 
static void STGTRAIN_answerToTrain (TrainSession *session, TrainSessionWindows *win)
 Moves the cursor between yes and no; yes pays the intensity's TP and starts the training, no (or triangle) goes back to the intensities.
 
static void STGTRAIN_closeQuestion (TrainSession *session, TrainSessionWindows *win)
 Hides the question, its answers and the cursor, and closes their panels.
 
static void STGTRAIN_startTraining (TrainSession *session, TrainSessionWindows *win)
 Starts the training: hides the question's message, answers and cursor, and closes their panels.
 
static void STGTRAIN_endSession (TrainSession *session, TrainSessionWindows *win)
 Ends the session once the training is over: hides the titles and closes their panels.
 
static void STGTRAIN_startClosing (TrainSession *session, TrainSessionWindows *win)
 Starts closing the session (triangle): hides its texts and closes its panels.
 
void STGTRAIN_runSession (TrainSession *session, TrainSessionWindows *win)
 Runs a training session: opens its panels, picks one of three intensities (it costs STGTRAIN_intensityCosts's points of totals.fields.tp), asks to confirm and closes, leaving the intensity in the screen's.
 
void STGTRAIN_updateSession (TrainSession *session, TrainSessionWindows *win)
 A training session.
 
void STGTRAIN_finishSession (TrainSession *session)
 Makes the session close (its substate 0x1E)
 
TrainSession * STGTRAIN_createSession (TrainScreen *screen)
 Creates a training session.
 

Detailed Description

A training session.

It begins STGTRAIN.PRO's third object (see sprite.c), whose rodata starts at 0x800825E8 (USA)

Definition in file session.c.

Function Documentation

◆ STGTRAIN_createSessionWindows()

void STGTRAIN_createSessionWindows ( TrainSession *  session,
TrainSessionWindows *  win 
)

Creates the training session's text windows and cursor.

session.c

Definition at line 7 of file session.c.

Referenced by STGTRAIN_updateSession().

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

◆ STGTRAIN_drawSession()

void STGTRAIN_drawSession ( TrainSession *  session)

Draws a training session: the training's icon, its panels and the cursor over the three columns.

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< its sprite bank

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< its sprite bank

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< its sprite bank

< its sprite bank

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< its sprite bank

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< its sprite bank

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< its sprite bank

< GTE regards 4096 as 1.0

< GTE regards 4096 as 1.0

< its sprite bank

Definition at line 25 of file session.c.

Referenced by STGTRAIN_updateSession().

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

◆ STGTRAIN_showTrainingName()

static void STGTRAIN_showTrainingName ( TrainSession *  session,
TrainSessionWindows *  win 
)
inlinestatic

Once the title panel is open, writes the training's name in it and opens the next panel.

Definition at line 111 of file session.c.

Referenced by STGTRAIN_runSession().

Here is the caller graph for this function:

◆ STGTRAIN_showIntensities()

static void STGTRAIN_showIntensities ( TrainSession *  session,
TrainSessionWindows *  win 
)
inlinestatic

Once the intensities' panel is open, writes the three intensities and shows the cursor.

Definition at line 124 of file session.c.

Referenced by STGTRAIN_runSession().

Here is the caller graph for this function:

◆ STGTRAIN_pickIntensity()

static void STGTRAIN_pickIntensity ( TrainSession *  session)
inlinestatic

Moves the cursor over the three intensities, and picks one (cross) when the partner has its TP, else tells it has not; or leaves (triangle)

< SYSTEM06

< SYSTEM07

< SYSTEM01

Definition at line 138 of file session.c.

Referenced by STGTRAIN_runSession().

Here is the caller graph for this function:

◆ STGTRAIN_closeNotice()

static void STGTRAIN_closeNotice ( TrainSession *  session,
TrainSessionWindows *  win 
)
inlinestatic

Once cross is pressed, hides the not-enough-points notice and closes its panel.

< SYSTEM07

Definition at line 172 of file session.c.

Referenced by STGTRAIN_runSession().

Here is the caller graph for this function:

◆ STGTRAIN_closeIntensities()

static void STGTRAIN_closeIntensities ( TrainSession *  session,
TrainSessionWindows *  win 
)
inlinestatic

Hides the intensities, the cursor and the message, and closes their panels.

Definition at line 182 of file session.c.

Referenced by STGTRAIN_runSession().

Here is the caller graph for this function:

◆ STGTRAIN_askToTrain()

static void STGTRAIN_askToTrain ( TrainSession *  session,
TrainSessionWindows *  win 
)
inlinestatic

Once the question's panels are open, asks whether to train at the picked intensity, with the cursor on yes.

Definition at line 198 of file session.c.

Referenced by STGTRAIN_runSession().

Here is the caller graph for this function:

◆ STGTRAIN_answerToTrain()

static void STGTRAIN_answerToTrain ( TrainSession *  session,
TrainSessionWindows *  win 
)
inlinestatic

Moves the cursor between yes and no; yes pays the intensity's TP and starts the training, no (or triangle) goes back to the intensities.

< SYSTEM02: a cursor moves

< SYSTEM00: a choice is taken

< what the training's intensities cost

< SYSTEM01

Definition at line 215 of file session.c.

Referenced by STGTRAIN_runSession().

Here is the caller graph for this function:

◆ STGTRAIN_closeQuestion()

static void STGTRAIN_closeQuestion ( TrainSession *  session,
TrainSessionWindows *  win 
)
inlinestatic

Hides the question, its answers and the cursor, and closes their panels.

Definition at line 244 of file session.c.

Referenced by STGTRAIN_runSession().

Here is the caller graph for this function:

◆ STGTRAIN_startTraining()

static void STGTRAIN_startTraining ( TrainSession *  session,
TrainSessionWindows *  win 
)
inlinestatic

Starts the training: hides the question's message, answers and cursor, and closes their panels.

Definition at line 258 of file session.c.

Referenced by STGTRAIN_runSession().

Here is the caller graph for this function:

◆ STGTRAIN_endSession()

static void STGTRAIN_endSession ( TrainSession *  session,
TrainSessionWindows *  win 
)
inlinestatic

Ends the session once the training is over: hides the titles and closes their panels.

Definition at line 270 of file session.c.

Referenced by STGTRAIN_runSession().

Here is the caller graph for this function:

◆ STGTRAIN_startClosing()

static void STGTRAIN_startClosing ( TrainSession *  session,
TrainSessionWindows *  win 
)
inlinestatic

Starts closing the session (triangle): hides its texts and closes its panels.

Definition at line 281 of file session.c.

Referenced by STGTRAIN_runSession().

Here is the caller graph for this function:

◆ STGTRAIN_runSession()

void STGTRAIN_runSession ( TrainSession *  session,
TrainSessionWindows *  win 
)

Runs a training session: opens its panels, picks one of three intensities (it costs STGTRAIN_intensityCosts's points of totals.fields.tp), asks to confirm and closes, leaving the intensity in the screen's.

The match depends on each loop and each cursor's last value having a variable of its own (now each in its own step): shared, they take other registers.

Definition at line 305 of file session.c.

Referenced by STGTRAIN_updateSession().

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

◆ STGTRAIN_updateSession()

void STGTRAIN_updateSession ( TrainSession *  session,
TrainSessionWindows *  win 
)

A training session.

Definition at line 424 of file session.c.

Referenced by STGTRAIN_createSession().

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

◆ STGTRAIN_finishSession()

void STGTRAIN_finishSession ( TrainSession *  session)

Makes the session close (its substate 0x1E)

Definition at line 451 of file session.c.

Referenced by STGTRAIN_createSession().

Here is the caller graph for this function:

◆ STGTRAIN_createSession()

TrainSession * STGTRAIN_createSession ( TrainScreen *  screen)

Creates a training session.

Definition at line 456 of file session.c.

Referenced by STGTRAIN_runScreen().

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