|
Digimon World 3 decomp
The European version, SLES_039.36
|
STGMCARD.PRO: the memory card screen (MODE_CONTINUE). More...
#include "engine/game.h"Go to the source code of this file.
Data Structures | |
| struct | MemCardScene |
| The root task of the overlay (STGMCARD_start) More... | |
| struct | MemCardModeEntry |
| A mode (or stage) the screen can be opened from, and the area a save made from it shows (STGMCARD_prevModes, which ends with a zero mode) More... | |
| struct | MemCardScreen |
| The main task of the screen (STGMCARD_createScreen) More... | |
| struct | MemCardScreenTasks |
| The children of the main task. More... | |
| struct | MemCardSavesWindows |
| The children of the save list. More... | |
| struct | MemCardSave |
| A save of the memory card, as the list shows it. More... | |
| struct | MemCardFile |
| The memory card's info section: the three slots' saves, as the list shows them (STGMCARD_funcs.infoBuf, and the list's copy) More... | |
| struct | GameSave |
| The saved part of the game state, to copy it whole. More... | |
| union | SaveData |
| A save's data section (STGMCARD_funcs.dataBuf): copied whole to and from GAME, read by its fields, and checksummed as bytes. More... | |
| struct | MemCardSystem |
| MEMCARD followed by MEMCARD_FUNCS, as STGMCARD_runSaves reaches the functions: through MEMCARD's address. More... | |
| struct | MemCardWindowSpec |
| A text window of the details (STGMCARD_detailWindows) More... | |
| struct | MemCardSaves |
| The saves of a memory card (STGMCARD_updateSaves) More... | |
| struct | MemCardInfo |
| The window with the selected save's details (STGMCARD_updateInfo) More... | |
| struct | MemCardMenu |
| The slot picker (STGMCARD_updateMenu): the header with the port, the three slots and their cursor, each sliding in and out with a lerp. More... | |
| struct | MemCardPanel |
| A gradient panel that opens by scaling (STGMCARD_updatePanel) More... | |
| struct | SaveIconFrame |
| A frame of the save's icon, a sector of the save file: 16x16 pixels of 4 bits, the left one of each byte in its low bits, that index the CLUT. More... | |
| struct | SaveIcon |
| The save's icon for the memory card's directory. More... | |
| struct | MemCardScreenFuncs |
| The overlay's buffers and helpers (STGMCARD_funcs) More... | |
Macros | |
| #define | OVL_NAME(name) STGMCARD_##name |
| The name of this overlay's copy of a function of src/shared/. | |
| #define | FILE_GMCARD_SPRITES 0x29E |
| The sprite archive of the screen. | |
| #define | FILE_GMCARD_SHEET 0x29D |
| #define | MEMCARD_FILE_MAGIC 0x33574D44 |
| #define | MEMCARD_SAVE_VERSION 4 |
| A save's data section is GAME's first GAME_SAVE_SIZE bytes (SaveData). | |
| #define | SAVE_CHECKED 4 |
| #define | MEMCARD_LOAD_FRAMES 1240 |
| The durations of the panels shown while loading and saving. | |
| #define | MEMCARD_SAVE_FRAMES 1267 |
| #define | GAME_SAVE (*(GameSave *)&GAME) |
| GAME's saved part, which a load overwrites and a save copies: GameState (game_state.h) has no GameSave view of itself. | |
| #define | MEMCARD_SYSTEM (*(MemCardSystem *)&MEMCARD) |
Functions | |
| void | STGMCARD_updateScene (MemCardScene *task, MemCardScreen **child) |
| scene.c | |
| void | STGMCARD_startFader (ScreenFade *task, s32 fadeIn, s32 duration) |
| void | STGMCARD_drawFader (ScreenFade *task) |
| void | STGMCARD_updateFader (ScreenFade *task) |
| ScreenFade * | STGMCARD_createFader (void) |
| void | STGMCARD_showInfo (MemCardInfo *info) |
| info.c | |
| void | STGMCARD_hideInfo (MemCardInfo *info) |
| Hides the details window's text and starts fading it out (info->hide) | |
| void | STGMCARD_refreshInfo (MemCardInfo *info) |
| Fills the details window with the selected save, or hides it. | |
| void | STGMCARD_updateInfo (MemCardInfo *info) |
| The details window's task: creates its text windows, fades it in and out, and draws the selected save's partners and frame. | |
| MemCardInfo * | STGMCARD_createInfo (MemCardSaves *saves) |
| Creates the details window (task) of the save list. | |
| void | STGMCARD_resetPanel (MemCardPanel *panel) |
| panel.c | |
| void | STGMCARD_startPanel (MemCardPanel *panel, s32 substate, s32 duration) |
Starts the panel (panel->start): substate 1 opens it to 95% over duration frames while a card operation runs, 2 opens it fully and sets done. | |
| void | STGMCARD_setPanelTopColor (MemCardPanel *panel, u8 r, u8 g, u8 b) |
| Sets the color of the panel's gradient at its top (panel->setTopColor) | |
| void | STGMCARD_setPanelBottomColor (MemCardPanel *panel, u8 r, u8 g, u8 b) |
| Sets the color of the panel's gradient at its bottom (panel->setBottomColor) | |
| void | STGMCARD_setPanelPos (MemCardPanel *panel, s32 x, s32 y) |
| Moves the panel (panel->setPos) | |
| void | STGMCARD_updatePanel (MemCardPanel *panel) |
| The panel's task: opens it by scaling it horizontally, then draws it as a gradient with a sprite. | |
| MemCardPanel * | STGMCARD_createPanel (s32 x, s32 y, s32 w, s32 h) |
| Creates a gradient panel (task) at x, y, w by h, empty until started. | |
| void | STGMCARD_slideInHeader (MemCardMenu *menu) |
| menu.c | |
| void | STGMCARD_startSlotPick (MemCardMenu *menu, s32 slot) |
Selects slot, slides the slot picker's cursor into place and moves it to the slot; then the player picks one with left and right. | |
| void | STGMCARD_slideOutHeader (MemCardMenu *menu) |
| Slides the slot picker's header up out of view, then resets the picker. | |
| void | STGMCARD_moveSlotCursor (MemCardMenu *menu) |
| Slides the slot picker's cursor from the previous slot to the selected one. | |
| void | STGMCARD_slideInSlots (MemCardMenu *menu) |
| Slides the slot picker's three slots in from the right. | |
| void | STGMCARD_slideOutSlots (MemCardMenu *menu) |
| Slides the slot picker's three slots out to the right. | |
| void | STGMCARD_resetMenu (MemCardMenu *menu) |
| Puts the slot picker back out of view, idle, with slot 0 selected. | |
| void | STGMCARD_updateMenu (MemCardMenu *menu, TextWindow **windows) |
| The save picker's task: slides in and out, moves between the first three saves with left and right, and draws each one's lead partner. | |
| MemCardMenu * | STGMCARD_createMenu (MemCardSaves *saves) |
| Creates the slot picker (task) of the save list. | |
| void | STGMCARD_showPort (MemCardSaves *saves, MemCardSavesWindows *win, s32 show) |
| saves.c | |
| void | STGMCARD_showError (MemCardSaves *saves, MemCardSavesWindows *win) |
| Shows the error of the last card operation (saves->result, made an index of STGMCARD_errorTexts), hiding the choices, the cursor and the panel. | |
| void | STGMCARD_closeMenuForError (MemCardSaves *saves, MemCardSavesWindows *win) |
| Hides the message and panel and closes the slot picker, then shows the error in saves->result. | |
| void | STGMCARD_refreshSaves (MemCardSaves *saves) |
| Fills the details window with the selected save again (saves->refresh) | |
| void | STGMCARD_hideSaves (MemCardSaves *saves) |
| Hides the save list's windows and ends it (TASK_DONE), which makes the main task fade out and leave the screen (saves->hide) | |
| void | STGMCARD_runSaves (MemCardSaves *saves, MemCardSavesWindows *win) |
| The save list's states (saves->substate): picks the port, reads the card's info section, lets the menu pick a slot, then loads or saves it. | |
| void | STGMCARD_drawSaves (MemCardSaves *saves) |
| Draws the save list's sprites: the blinking cross button while a message waits for it, the list's frame and the box of the cursor's two choices. | |
| void | STGMCARD_updateSaves (MemCardSaves *saves, MemCardSavesWindows *win) |
| The save list's task: creates its windows, then runs it. | |
| MemCardSaves * | STGMCARD_createSaves (MemCardScreen *screen) |
| Creates the save list (task) of the main task. | |
| void | STGMCARD_updateScreen (MemCardScreen *screen, MemCardScreenTasks *tasks) |
| screen.c | |
| MemCardScreen * | STGMCARD_createScreen (void) |
| Creates the screen's main task, with what it needs from the mode it was opened from and the one it was opened for. | |
| void | STGMCARD_loadFiles (void) |
| Loads the screen's images, gives the memory card's save file its title and icon, allocates the buffers of a save and of the card's info section, and requests the strings. | |
| s32 | STGMCARD_filesLoading (void) |
| Whether the screen's strings are still loading. | |
| void | STGMCARD_freeBuffers (void) |
| Frees the buffers of a save and of the card's info section, when leaving the screen. | |
| void | STGMCARD_startFade (PanelAnim *fade, s32 fadeIn) |
| s32 | STGMCARD_updateFade (PanelAnim *fade) |
| void | STGMCARD_startLerp (MenuLerp *lerp, s32 from, s32 to, s32 frames) |
| s32 | STGMCARD_updateLerp (MenuLerp *lerp) |
Variables | |
| MemCardScreenFuncs | STGMCARD_funcs |
| STGMCARD's data (data/stgmcard.c) | |
| SaveIcon | STGMCARD_saveIcon |
| MemCardWindowSpec | STGMCARD_detailWindows [] |
| the details' text windows: their text, type and place | |
| s32 | STGMCARD_partnerAnims [][7] |
| the partners' sprites while they wait, by partner (from 3): -1 ends a loop | |
| s32 | STGMCARD_partnerIcons [] |
| the sprite of a save's first partner, by partner (from 3), and its x, by save | |
| s32 | STGMCARD_slotIconX [] |
| s32 | STGMCARD_errorTexts [] |
| the texts of the errors, by result | |
| s32 | STGMCARD_places [] |
| the place a save shows (a string of TEXT_SHOP_NAMES), by the low byte of the game mode: the save point | |
| MemCardModeEntry | STGMCARD_prevModes [] |
STGMCARD.PRO: the memory card screen (MODE_CONTINUE).
Its modules are in src/menus/memory_card/, and the functions below are by module, in the order they link.
Definition in file memory_card.h.
| #define OVL_NAME | ( | name | ) | STGMCARD_##name |
The name of this overlay's copy of a function of src/shared/.
Definition at line 11 of file memory_card.h.
| #define FILE_GMCARD_SPRITES 0x29E |
The sprite archive of the screen.
Definition at line 18 of file memory_card.h.
| #define FILE_GMCARD_SHEET 0x29D |
Definition at line 19 of file memory_card.h.
| #define MEMCARD_FILE_MAGIC 0x33574D44 |
Definition at line 92 of file memory_card.h.
| #define MEMCARD_SAVE_VERSION 4 |
A save's data section is GAME's first GAME_SAVE_SIZE bytes (SaveData).
GameState.checksum and .version hold the checksum of the rest, from byte SAVE_CHECKED, and MEMCARD_SAVE_VERSION.
Definition at line 100 of file memory_card.h.
| #define SAVE_CHECKED 4 |
Definition at line 102 of file memory_card.h.
| #define MEMCARD_LOAD_FRAMES 1240 |
The durations of the panels shown while loading and saving.
Definition at line 109 of file memory_card.h.
| #define MEMCARD_SAVE_FRAMES 1267 |
Definition at line 110 of file memory_card.h.
GAME's saved part, which a load overwrites and a save copies: GameState (game_state.h) has no GameSave view of itself.
Definition at line 120 of file memory_card.h.
| #define MEMCARD_SYSTEM (*(MemCardSystem *)&MEMCARD) |
Definition at line 137 of file memory_card.h.
| void STGMCARD_updateScene | ( | MemCardScene * | task, |
| MemCardScreen ** | child | ||
| ) |
scene.c
| void STGMCARD_startFader | ( | ScreenFade * | task, |
| s32 | fadeIn, | ||
| s32 | duration | ||
| ) |
| void STGMCARD_drawFader | ( | ScreenFade * | task | ) |
| void STGMCARD_updateFader | ( | ScreenFade * | task | ) |
| ScreenFade * STGMCARD_createFader | ( | void | ) |
| void STGMCARD_showInfo | ( | MemCardInfo * | info | ) |
info.c
info.c
Definition at line 6 of file info.c.
Referenced by STGMCARD_createInfo().
| void STGMCARD_hideInfo | ( | MemCardInfo * | info | ) |
Hides the details window's text and starts fading it out (info->hide)
Definition at line 11 of file info.c.
Referenced by STGMCARD_createInfo().
| void STGMCARD_refreshInfo | ( | MemCardInfo * | info | ) |
Fills the details window with the selected save, or hides it.
< MEMCRD
< STAREA
< SHPNAM
< MEMCRD
< MEMCRD
< MEMCRD
< MEMCRD
Definition at line 25 of file info.c.
Referenced by STGMCARD_createInfo(), and STGMCARD_updateInfo().
| void STGMCARD_updateInfo | ( | MemCardInfo * | info | ) |
The details window's task: creates its text windows, fades it in and out, and draws the selected save's partners and frame.
< a light blue: what is highlighted or current
< GTE regards 4096 as 1.0
< GTE regards 4096 as 1.0
< GTE regards 4096 as 1.0
Definition at line 96 of file info.c.
Referenced by STGMCARD_createInfo().
| MemCardInfo * STGMCARD_createInfo | ( | MemCardSaves * | saves | ) |
Creates the details window (task) of the save list.
Definition at line 202 of file info.c.
Referenced by STGMCARD_openSaves().
| void STGMCARD_resetPanel | ( | MemCardPanel * | panel | ) |
< GTE regards 4096 as 1.0
< GTE regards 4096 as 1.0
Definition at line 6 of file panel.c.
Referenced by STGMCARD_createPanel(), and STGMCARD_updatePanel().
| void STGMCARD_startPanel | ( | MemCardPanel * | panel, |
| s32 | substate, | ||
| s32 | duration | ||
| ) |
Starts the panel (panel->start): substate 1 opens it to 95% over duration frames while a card operation runs, 2 opens it fully and sets done.
Definition at line 20 of file panel.c.
Referenced by STGMCARD_createPanel().
| void STGMCARD_setPanelTopColor | ( | MemCardPanel * | panel, |
| u8 | r, | ||
| u8 | g, | ||
| u8 | b | ||
| ) |
Sets the color of the panel's gradient at its top (panel->setTopColor)
Definition at line 27 of file panel.c.
Referenced by STGMCARD_createPanel().
| void STGMCARD_setPanelBottomColor | ( | MemCardPanel * | panel, |
| u8 | r, | ||
| u8 | g, | ||
| u8 | b | ||
| ) |
Sets the color of the panel's gradient at its bottom (panel->setBottomColor)
Definition at line 35 of file panel.c.
Referenced by STGMCARD_createPanel().
| void STGMCARD_setPanelPos | ( | MemCardPanel * | panel, |
| s32 | x, | ||
| s32 | y | ||
| ) |
Moves the panel (panel->setPos)
Definition at line 43 of file panel.c.
Referenced by STGMCARD_createPanel().
| void STGMCARD_updatePanel | ( | MemCardPanel * | panel | ) |
The panel's task: opens it by scaling it horizontally, then draws it as a gradient with a sprite.
< GTE regards 4096 as 1.0
< GTE regards 4096 as 1.0
< GTE regards 4096 as 1.0
< GTE regards 4096 as 1.0
Definition at line 50 of file panel.c.
Referenced by STGMCARD_createPanel().
| MemCardPanel * STGMCARD_createPanel | ( | s32 | x, |
| s32 | y, | ||
| s32 | w, | ||
| s32 | h | ||
| ) |
Creates a gradient panel (task) at x, y, w by h, empty until started.
Definition at line 147 of file panel.c.
Referenced by STGMCARD_pickPort().
| void STGMCARD_slideInHeader | ( | MemCardMenu * | menu | ) |
menu.c
menu.c
Definition at line 7 of file menu.c.
Referenced by STGMCARD_createMenu().
| void STGMCARD_startSlotPick | ( | MemCardMenu * | menu, |
| s32 | slot | ||
| ) |
Selects slot, slides the slot picker's cursor into place and moves it to the slot; then the player picks one with left and right.
Definition at line 20 of file menu.c.
Referenced by STGMCARD_createMenu().
| void STGMCARD_slideOutHeader | ( | MemCardMenu * | menu | ) |
Slides the slot picker's header up out of view, then resets the picker.
Definition at line 28 of file menu.c.
Referenced by STGMCARD_createMenu().
| void STGMCARD_moveSlotCursor | ( | MemCardMenu * | menu | ) |
Slides the slot picker's cursor from the previous slot to the selected one.
Definition at line 34 of file menu.c.
Referenced by STGMCARD_updateMenu().
| void STGMCARD_slideInSlots | ( | MemCardMenu * | menu | ) |
Slides the slot picker's three slots in from the right.
Definition at line 40 of file menu.c.
Referenced by STGMCARD_createMenu().
| void STGMCARD_slideOutSlots | ( | MemCardMenu * | menu | ) |
Slides the slot picker's three slots out to the right.
Definition at line 46 of file menu.c.
Referenced by STGMCARD_createMenu().
| void STGMCARD_resetMenu | ( | MemCardMenu * | menu | ) |
Puts the slot picker back out of view, idle, with slot 0 selected.
Definition at line 52 of file menu.c.
Referenced by STGMCARD_createMenu(), and STGMCARD_updateMenu().
| void STGMCARD_updateMenu | ( | MemCardMenu * | menu, |
| TextWindow ** | windows | ||
| ) |
The save picker's task: slides in and out, moves between the first three saves with left and right, and draws each one's lead partner.
< MEMCRD
< SYSTEM06
< SYSTEM06
Definition at line 66 of file menu.c.
Referenced by STGMCARD_createMenu().
| MemCardMenu * STGMCARD_createMenu | ( | MemCardSaves * | saves | ) |
Creates the slot picker (task) of the save list.
Definition at line 187 of file menu.c.
Referenced by STGMCARD_updateSaves().
| void STGMCARD_showPort | ( | MemCardSaves * | saves, |
| MemCardSavesWindows * | win, | ||
| s32 | show | ||
| ) |
< MEMCRD
Definition at line 7 of file saves.c.
Referenced by STGMCARD_answerError(), STGMCARD_askError(), STGMCARD_pickPort(), and STGMCARD_startInfoRead().
| void STGMCARD_showError | ( | MemCardSaves * | saves, |
| MemCardSavesWindows * | win | ||
| ) |
Shows the error of the last card operation (saves->result, made an index of STGMCARD_errorTexts), hiding the choices, the cursor and the panel.
Definition at line 18 of file saves.c.
Referenced by STGMCARD_answerError(), STGMCARD_checkInfo(), STGMCARD_createFile(), STGMCARD_endCardCheck(), STGMCARD_endCreate(), STGMCARD_endFormat(), STGMCARD_endWaitCard(), STGMCARD_formatCard(), STGMCARD_writeHeader(), and STGMCARD_writeIcons().
| void STGMCARD_closeMenuForError | ( | MemCardSaves * | saves, |
| MemCardSavesWindows * | win | ||
| ) |
Hides the message and panel and closes the slot picker, then shows the error in saves->result.
Definition at line 41 of file saves.c.
Referenced by STGMCARD_cancelOverwrite(), STGMCARD_confirmMessage(), STGMCARD_loadSave(), STGMCARD_pickSlot(), STGMCARD_writeInfo(), and STGMCARD_writeSave().
| void STGMCARD_refreshSaves | ( | MemCardSaves * | saves | ) |
Fills the details window with the selected save again (saves->refresh)
Definition at line 50 of file saves.c.
Referenced by STGMCARD_createSaves().
| void STGMCARD_hideSaves | ( | MemCardSaves * | saves | ) |
Hides the save list's windows and ends it (TASK_DONE), which makes the main task fade out and leave the screen (saves->hide)
Definition at line 58 of file saves.c.
Referenced by STGMCARD_createSaves().
| void STGMCARD_runSaves | ( | MemCardSaves * | saves, |
| MemCardSavesWindows * | win | ||
| ) |
The save list's states (saves->substate): picks the port, reads the card's info section, lets the menu pick a slot, then loads or saves it.
A failed operation leaves its error in saves->result and goes to 100, which shows STGMCARD_errorTexts[result] and can format the card (110) or create the save file (120). 400 waits for the card and goes on to step. Match depends on status, which 40 and 400 share.
< SYSTEM00: a choice is taken
Definition at line 863 of file saves.c.
Referenced by STGMCARD_updateSaves().
| void STGMCARD_drawSaves | ( | MemCardSaves * | saves | ) |
Draws the save list's sprites: the blinking cross button while a message waits for it, the list's frame and the box of the cursor's two choices.
Definition at line 1001 of file saves.c.
Referenced by STGMCARD_updateSaves().
| void STGMCARD_updateSaves | ( | MemCardSaves * | saves, |
| MemCardSavesWindows * | win | ||
| ) |
The save list's task: creates its windows, then runs it.
Definition at line 1028 of file saves.c.
Referenced by STGMCARD_createSaves().
| MemCardSaves * STGMCARD_createSaves | ( | MemCardScreen * | screen | ) |
Creates the save list (task) of the main task.
Definition at line 1071 of file saves.c.
Referenced by STGMCARD_updateScreen().
| void STGMCARD_updateScreen | ( | MemCardScreen * | screen, |
| MemCardScreenTasks * | tasks | ||
| ) |
screen.c
screen.c
< BGM_0030: the memory card screen and the player's name entry
< BGM_0030: the memory card screen and the player's name entry
< STDWTITL's title screen; its movies follow
Definition at line 8 of file screen.c.
Referenced by STGMCARD_createScreen().
| MemCardScreen * STGMCARD_createScreen | ( | void | ) |
| void STGMCARD_loadFiles | ( | void | ) |
| s32 STGMCARD_filesLoading | ( | void | ) |
| void STGMCARD_freeBuffers | ( | void | ) |
|
extern |
STGMCARD's data (data/stgmcard.c)
Definition at line 127 of file stgmcard.c.
Referenced by STGMCARD_checkInfo(), STGMCARD_fillSave(), STGMCARD_freeBuffers(), STGMCARD_loadFiles(), STGMCARD_loadSave(), STGMCARD_moveSlotCursor(), STGMCARD_pickSlot(), STGMCARD_readInfo(), STGMCARD_refreshInfo(), STGMCARD_resetMenu(), STGMCARD_showDone(), STGMCARD_showSlots(), STGMCARD_slideInHeader(), STGMCARD_slideInSlots(), STGMCARD_slideInTitle(), STGMCARD_slideOutHeader(), STGMCARD_slideOutSlots(), STGMCARD_startLoad(), STGMCARD_startSlotPick(), STGMCARD_updateInfo(), STGMCARD_updateMenu(), STGMCARD_updateSaves(), STGMCARD_updateScreen(), STGMCARD_writeIcons(), STGMCARD_writeInfo(), STGMCARD_writeNewInfo(), and STGMCARD_writeSave().
|
extern |
Definition at line 196 of file stgmcard.c.
Referenced by STGMCARD_loadFiles().
|
extern |
the details' text windows: their text, type and place
Definition at line 6 of file stgmcard.c.
Referenced by STGMCARD_refreshInfo(), and STGMCARD_updateInfo().
|
extern |
the partners' sprites while they wait, by partner (from 3): -1 ends a loop
Definition at line 29 of file stgmcard.c.
Referenced by STGMCARD_updateInfo().
|
extern |
the sprite of a save's first partner, by partner (from 3), and its x, by save
Definition at line 41 of file stgmcard.c.
Referenced by STGMCARD_updateMenu().
|
extern |
Definition at line 45 of file stgmcard.c.
Referenced by STGMCARD_updateMenu().
|
extern |
the texts of the errors, by result
Definition at line 48 of file stgmcard.c.
Referenced by STGMCARD_askError().
|
extern |
the place a save shows (a string of TEXT_SHOP_NAMES), by the low byte of the game mode: the save point
Definition at line 55 of file stgmcard.c.
Referenced by STGMCARD_createScreen().
|
extern |
Definition at line 64 of file stgmcard.c.
Referenced by STGMCARD_createScreen().