Digimon World 3 decomp
The European version, SLES_039.36
Loading...
Searching...
No Matches
stage_select.h
Go to the documentation of this file.
1#ifndef STAGSLCT_H
2#define STAGSLCT_H
3
4/* STAGSLCT.PRO: the debug stage select (MODE_STAGE_SELECT), a menu of every
5 scene of the game with some debug settings on the second controller */
6
7#include "engine/game.h"
8
9/* One line of the menu; the list ends with scene -1 and scene 0 lines are
10 separators the cursor skips */
11typedef struct StageSelectEntry {
12 /* 0x0 */ char *name;
13 /* 0x4 */ char *title;
14 /* 0x8 */ s32 scene;
15 /* 0xC */ s32 arg; /* bit 15: go through GAME.funcs.requestMode */
17
18typedef struct StageSelect {
20 /* 0x50 */ s32 cursor; /* line on screen */
21 /* 0x54 */ s32 top; /* first entry shown */
22 /* 0x58 */ s32 lines; /* lines on screen */
23 /* 0x5C */ s32 count; /* entries */
24 /* 0x60 */ s32 biosShown;
25 /* 0x64 */ s32 fading;
26 /* 0x68 */ s32 fade;
27 /* 0x6C */ s32 fadeStep;
29
30typedef struct StageSelectWindows {
31 /* 0x00 */ TextWindow *title;
32 /* 0x04 */ TextWindow *cursor;
33 /* 0x08 */ TextWindow *names[14];
34 /* 0x40 */ TextWindow *titles[14];
35 /* 0x78 */ TextWindow *bios;
36 /* 0x7C */ TextWindow *pad; /* never read or written */
37 /* 0x80 */ TextWindow *region;
38 /* 0x84 */ TextWindow *progress; /* GAME.progress */
39 /* 0x88 */ TextWindow *randomBattles; /* BATTLE_SETUP.randomBattles */
40 /* 0x8C */ TextWindow *charisma; /* party member 0's (STAT_CHARISMA) */
41 /* 0x90 */ TextWindow *level; /* party member 0's */
42 /* 0x94 */ TextWindow *debugUpDown; /* BATTLE_SETUP.debugUpDown */
43 /* 0x98 */ TextWindow *debugLeftRight; /* BATTLE_SETUP.debugLeftRight */
45
47void STAGSLCT_updateScene(Task *task, Task **items);
48void STAGSLCT_moveCursor(StageSelect *sel, s32 delta);
49void STAGSLCT_scrollPage(StageSelect *sel, s32 delta);
53
54#if VERSION_EU || VERSION_JP
55extern const char STAGSLCT_STR_CURSOR[]; /* ">" with its padding */
56#endif
57
58#endif /* STAGSLCT_H */
signed int s32
Definition common.h:11
#define TASK_HEADER(Type)
Definition task.h:39
const char STAGSLCT_STR_CURSOR[]
">" with its padding
void STAGSLCT_showBiosVersion(StageSelect *sel, StageSelectWindows *win)
Shows the console's BIOS version, read from its ROM once and turned into full-width characters.
Task * STAGSLCT_createStageSelect(void)
Creates the stage select.
void STAGSLCT_zoomTitle(StageSelect *sel, StageSelectWindows *win)
Select zooms the title in or out; it then scales in 15 frames.
void STAGSLCT_scrollPage(StageSelect *sel, s32 delta)
Scrolls the list by delta lines, within its ends.
void STAGSLCT_updateStageSelect(Task *task, StageSelectWindows *win)
The stage select.
void STAGSLCT_updateScene(Task *task, Task **items)
The stage select's root task: starts the stage select.
void STAGSLCT_moveCursor(StageSelect *sel, s32 delta)
Moves the cursor by delta to the next line with a scene, scrolling the list at its ends; it stays whe...
One line of the menu; the list ends with scene -1 and scene 0 lines are separators the cursor skips.
s32 arg
bit 15: go through GAME.funcs.requestMode
TextWindow * bios
TextWindow * pad
never read or written
TextWindow * progress
GAME.progress.
TextWindow * cursor
TextWindow * region
TextWindow * debugLeftRight
BATTLE_SETUP.debugLeftRight.
TextWindow * title
TextWindow * titles[14]
TextWindow * randomBattles
BATTLE_SETUP.randomBattles.
TextWindow * debugUpDown
BATTLE_SETUP.debugUpDown.
TextWindow * charisma
party member 0's (STAT_CHARISMA)
TextWindow * level
party member 0's
TextWindow * names[14]
s32 lines
lines on screen
s32 top
first entry shown
s32 cursor
line on screen
s32 count
entries
Any task, seen through its header.
Definition task.h:62
A text window (createTextWindow): up to six text buffers (0 is shown, 1-5 are "work" buffers that con...
Definition text.h:131