11#define OVL_NAME(name) STPLNMET_##name
14#define NAME_ENTRY_HAS_UNUSED98 0
15#define NAME_ENTRY_HAS_HIDE 1
16#define NAME_ENTRY_SPRITES PLNMET_BANK
17#define NAME_ENTRY_FILE_KEYBOARD FILE_PLNMET_KEYBOARD
21#if VERSION_US || VERSION_JP
22#define FILE_PLNMET_SPRITES 0x27C
23#define FILE_PLNMET_KEYBOARD 0x762
24#define FILE_PLNMET_IMAGE 0x896
25#define FILE_PLNMET_MENU 0x27B
26#define FILE_PLNMET_BANK 0x761
27#define FILE_PLNMET_SCROLL 0x2B5
29#define FILE_PLNMET_SPRITES 0x28B
30#define FILE_PLNMET_KEYBOARD 0x771
31#define FILE_PLNMET_IMAGE 0x8A7
32#define FILE_PLNMET_MENU 0x28A
33#define FILE_PLNMET_BANK 0x770
34#define FILE_PLNMET_SCROLL 0x2C4
36#define PLNMET_MENU (FILE_PLNMET_MENU << 16)
37#define PLNMET_BANK (FILE_PLNMET_BANK << 16)
38#define PLNMET_SCROLL (FILE_PLNMET_SCROLL << 16)
#define TASK_HEADER(Type)
The on-screen keyboard that the overlays use to type a name (STCRDDEK's deck names,...
void STPLNMET_closeConfirm(NameConfirm *task)
Starts closing the confirmation (confirm->close): its panels close, then it ends.
void STPLNMET_drawConfirm(NameConfirm *task)
Draws the confirmation: the title panel with its glow, the three partners chosen (animated) and the p...
void STPLNMET_updateSparkles(NameSparkle *task)
The sparkles' task: draws five sparkles in place, all on the same looping frame.
void STPLNMET_hideChoice(PartnerChoice *task, s32 hide)
Hides the choice of the partners, or shows it again (partners->hide)
void STPLNMET_setScrollLayer(NameScroll *task, s32 layer, s32 depth)
Sets the layer and depth the scrolling sprites are drawn in (scroll->setLayer)
NameEntry * STPLNMET_createNameEntry(char *name)
Creates the name entry (task) for the player's name, starting from name: up to 8 characters (5 in Jap...
void STPLNMET_startLerp(MenuLerp *lerp, s32 from, s32 to, s32 frames)
s32 STPLNMET_keyArrowCluts[]
The CLUT rows the page arrows cycle through.
PartnerChoice * STPLNMET_createChoice(PlayerNameScreen *screen)
Creates the choice of the partners (task), hidden.
BigKey STPLNMET_bigKeys[]
The keys bigger than a cell, where the keyboard cursor highlights them.
void STPLNMET_runChoice(PartnerChoice *task, PartnerChoiceWindows *windows)
Picks one of the three choices of partners (up/down); cross confirms them (substate 100),...
void STPLNMET_updateKeyboard(NameEntry *task, NameEntryWindows *windows)
void STPLNMET_showChoiceWindows(PartnerChoice *task, PartnerChoiceWindows *windows, s32 show)
Shows the choice's windows with the texts of the partners under the arrow, or hides them.
void STPLNMET_createChoiceWindows(PartnerChoice *task, PartnerChoiceWindows *windows)
choice.c
s32 STPLNMET_updateFade(PanelAnim *fade)
NameSparkle * STPLNMET_createShine(void)
Creates the shine (task)
void STPLNMET_runConfirm(NameConfirm *task, NameConfirmWindows *windows)
The confirmation's states: yes or no (substate 200 for no or triangle); yes counts the progress up to...
KeyTabs STPLNMET_keyPages[]
The keyboard's pages and characters.
PlayerNameScreen * STPLNMET_createScreen(void)
Creates the player's name screen (task)
void STPLNMET_drawTitle(PlayerNameScreen *screen)
Draws the page's title, opening and closing with the screen's fade.
NameKeyboard STPLNMET_keyboard
s32 STPLNMET_updateLerp(MenuLerp *lerp)
void STPLNMET_updateConfirm(NameConfirm *task, NameConfirmWindows *windows)
The confirmation's task: creates its windows and waits hidden with its panels open,...
NameSparkle * STPLNMET_createSparkles(void)
Creates the sparkles (task)
void STPLNMET_startTween(PanelAnim *fade, s32 fadeIn)
name_entry.c
void STPLNMET_createNameWindows(NameEntry *task, NameEntryWindows *windows)
s32 STPLNMET_choiceArrowCluts[]
The CLUT rows the partner choice's cursor cycles through.
void STPLNMET_updateWelcome(NameDialog *task, NameDialogWindows *windows)
welcome.c
KeyTabs STPLNMET_keyPagesJp[]
The keyboard's pages and characters in Japanese (LANGUAGE 0), which only the European version uses.
s32 STPLNMET_scrollEnds[]
Where each scroll layer starts over (STPLNMET_updateScroll)
void STPLNMET_hideConfirm(NameConfirm *task, s32 hide)
Hides the confirmation, or shows it again (confirm->hide) with its cursor on yes and the partners' an...
NameDialog * STPLNMET_createWelcome(PlayerNameScreen *screen)
Creates the welcome (task), the first thing the screen shows.
void STPLNMET_startFade(PanelAnim *fade, s32 fadeIn)
s32 STPLNMET_filesLoading(void)
Whether the screen's texts or the keyboard are still loading.
KeyPage STPLNMET_keyChars[]
PlayerNameFuncs STPLNMET_funcs
STPLNMET's data (data/stplnmet.c), in its order.
void STPLNMET_hideNameEntry(NameEntry *task, s32 hide)
Hides the name entry, putting its cursor after the name's last character, or shows it again (name->hi...
SparkleFrame STPLNMET_sparkleFrames[]
The sparkle's frames (STPLNMET_updateShine): sprite 0 starts over.
void STPLNMET_updateScroll(NameScroll *task)
backdrop.c
void STPLNMET_showConfirmWindows(NameConfirm *task, NameConfirmWindows *windows, s32 show)
Shows the confirmation's windows with the name typed (without its leading spaces) and the partners ch...
void STPLNMET_drawChoice(PartnerChoice *task)
Draws the choice: the three partners under the arrow (animated), the panel and the blinking arrow on ...
void STPLNMET_loadScroll(NameScroll *task, s32 x, s32 y)
Loads the scrolling sprites' image into VRAM at (x, y) (scroll->load)
NameConfirm * STPLNMET_createConfirm(PlayerNameScreen *screen)
Creates the confirmation of the name and the partners (task), hidden.
void STPLNMET_showNameWindows(NameEntry *task, NameEntryWindows *windows, s32 show)
void STPLNMET_showTabs(PlayerNameScreen *screen, PlayerNameScreenChildren *children, s32 show)
Shows the tabs, the current page's one highlighted, or hides them.
void STPLNMET_centerLayer(Task *task, PlayerNameScreen **screen, Layer *layer, RECT *rect)
scene.c
void STPLNMET_setName(NameEntry *task, char *name)
void STPLNMET_closeNameEntry(NameEntry *task)
void STPLNMET_getName(NameEntry *task, char *out)
void STPLNMET_loadFiles(void)
Loads the screen's sprites into VRAM and requests its texts and the keyboard.
TextStyle STPLNMET_nameStyle
The font of the name and the keyboard.
void STPLNMET_setNameVram(NameEntry *task, s32 x, s32 y)
void STPLNMET_createTabs(PlayerNameScreen *screen, PlayerNameScreenChildren *children)
screen.c
void STPLNMET_updateScreen(PlayerNameScreen *screen, PlayerNameScreenChildren *children)
The screen's task: loads its files and sound bank and creates the tabs, then starts its music and run...
void STPLNMET_stepScreen(PlayerNameScreen *screen, PlayerNameScreenChildren *children)
The screen's states: starts the sprites and the welcome, then goes through the name,...
s32 STPLNMET_tabX[]
The x of the keyboard's three tabs.
s32 STPLNMET_nameAnims[][7]
The partner's animation beside the name: 7 frames per partner, -1 ends one.
s32 STPLNMET_updateTween(PanelAnim *fade)
void STPLNMET_updateScene(Task *task, PlayerNameScreen **screen)
The mode's root task: sets up the 320x240 display, a near-black layer and a second layer above it,...
void STPLNMET_updateNameEntry(NameEntry *task, NameEntryWindows *windows)
void STPLNMET_updateChoice(PartnerChoice *task, PartnerChoiceWindows *windows)
The choice's task: creates its windows and waits hidden, then runs and draws it while shown.
KeyPage STPLNMET_keyCharsJp[]
NameScroll * STPLNMET_createScroll(void)
Creates the scrolling sprites (task), drawn once their image is loaded.
void STPLNMET_drawKeyboard(NameEntry *task)
void STPLNMET_createConfirmWindows(NameConfirm *task, NameConfirmWindows *windows)
confirm.c
void STPLNMET_updateShine(NameSparkle *task)
The shine's task: draws a sprite animated by STPLNMET_sparkleFrames, looping.
A key of the keyboard bigger than one cell: its sprite and where it goes.
A menu cursor: a text window showing one of the CURSOR_FRAMES glyphs.
A page of the keyboard: 7 rows of 15 cells.
The texts of a keyboard page's three tabs.
A drawing layer (GFX.funcs.createLayer): a DRAWENV with a pair of ordering tables,...
The confirmation of the name and the partners (STPLNMET_updateConfirm)
void(* hide)(struct NameConfirm *task, s32 hide)
void(* close)(struct NameConfirm *task)
s32 choice
STPLNMET_funcs.choices.
struct PlayerNameScreen * screen
A name entry: the keyboard, the name typed so far and the panels that open and close.
The character pages of the keyboard (as STDGNAME's and STPLNMET's)
An animated sprite (STPLNMET_updateSparkles, STPLNMET_updateShine)
s32 pad[4]
never read or written
Opens or closes a menu panel: level goes 0 -> ONE in duration frames (or back at twice the speed),...
A partner Digimon's animation in a menu: up to seven sprite ids, -1 ending it early (the sprites are ...
struct PartnerChoiceWindows::@17 partners[3]
The choice of the partners (STPLNMET_updateChoice)
u8 pad[0x88 - 0x78]
never read or written
void(* hide)(struct PartnerChoice *task, s32 hide)
struct PlayerNameScreen * screen
s32 choice
STPLNMET_funcs.choices.
The screen's helpers (STPLNMET_funcs)
s32(* updateLerp)(MenuLerp *lerp)
void(* startFade)(PanelAnim *fade, s32 fadeIn)
void(* startLerp)(MenuLerp *lerp, s32 from, s32 to, s32 frames)
s32(* updateFade)(PanelAnim *fade)
s32(* filesLoading)(void)
s32(* choices)[3]
three partners each
struct NameConfirm * confirm
struct PartnerChoice * partners
struct NameDialog * dialog
The main task of the screen (STPLNMET_createScreen)
s32 page
0 the name, 1 the partners, 2 the confirmation
A frame of STPLNMET_updateShine's animation: 0 ends.
Any task, seen through its header.
A text window (createTextWindow): up to six text buffers (0 is shown, 1-5 are "work" buffers that con...