11#define OVL_NAME(name) STCRDABM_##name
13#define CARD_GRID CardAlbumGrid
16#define ALBUM_PAGE_CARDS 12
19#if VERSION_US || VERSION_JP
20#define STCRDABM_FILE_SPRITES 0x5F5
21#define STCRDABM_FILE_IMAGES 0x5F6
22#define STCRDABM_FILE_DATA 0x7E7
24#define STCRDABM_FILE_SPRITES 0x605
25#define STCRDABM_FILE_IMAGES 0x606
26#define STCRDABM_FILE_DATA 0x7F6
28#define STCRDABM_SPRITES (STCRDABM_FILE_SPRITES << 16)
29#define STCRDABM_IMAGES (STCRDABM_FILE_IMAGES << 16)
void STCRDABM_startFader(ScreenFade *task, s32 fadeIn, s32 duration)
s32 STCRDABM_pageHasCards(CardAlbumGrid *grid)
1 when the grid's page holds a seen card (or runs past the last card)
s32 STCRDABM_updateLerp(MenuLerp *lerp)
void STCRDABM_updateFader(ScreenFade *task)
void STCRDABM_hideCards(CardAlbumGrid *grid)
void STCRDABM_setPage(CardAlbumGrid *grid, s32 first)
Turns the grid to the page whose first card is first (grid->setPage)
void STCRDABM_updateGrid(CardAlbumGrid *grid)
The card grid's task: draws the page's cards; on a page turn, turns its 12 slots one every 2 frames o...
s32 STCRDABM_filesLoading(void)
Whether the card data or the strings are still loading.
void STCRDABM_drawAlbum(CardAlbum *album)
Draws the album: the scrolling background, its panels as they open, the blinking previous and next pa...
void STCRDABM_updateScene(Task *task, CardAlbum **child)
s32 STCRDABM_updateFade(PanelAnim *fade)
void STCRDABM_drawTurningSlots(CardAlbumGrid *grid)
Draws the slots turned so far over the cards, flashing the ones with a seen card.
void STCRDABM_findPageCards(CardAlbum *album)
Notes which slots of the current page hold a seen card, and whether any does.
void STCRDABM_showPageInfo(CardAlbum *album, CardAlbumWindows *win, s32 show)
Shows the title, help and page number and, while the album takes input, the previous and next page hi...
void STCRDABM_updateHiding(CardAlbumGrid *grid)
CardAlbum * STCRDABM_createAlbum(void)
Creates the album (task), on the top layer.
void STCRDABM_createWindows(CardAlbum *album, CardAlbumWindows *win)
Creates the album's text windows (the page's and the selected card's), in front of the album.
void STCRDABM_startFade(PanelAnim *fade, s32 fadeIn)
void STCRDABM_loadFiles(void)
Loads the album's images and requests the card data and the card names, effects and album strings.
void STCRDABM_startLerp(MenuLerp *lerp, s32 from, s32 to, s32 frames)
ScreenFade * STCRDABM_createFader(void)
void STCRDABM_drawCards(CardAlbumGrid *grid, s32 previous)
Draws the page's cards, or the page being turned when previous != 0: a seen card's image,...
void STCRDABM_updateAlbum(CardAlbum *album, CardAlbumWindows *win)
The album's task: loads the files and creates its windows, then runs and draws it; once the screen ha...
CardAlbumGrid * STCRDABM_createGrid(CardAlbum *album)
Creates the album's card grid (task), on the top layer.
void STCRDABM_runAlbum(CardAlbum *album, CardAlbumWindows *win)
The album's steps: opens it, then turns pages with L1 and R1, moves the cursor between the seen cards...
void STCRDABM_showCardInfo(CardAlbum *album, CardAlbumWindows *win, s32 show)
Shows the card under the cursor (album->card = page * 12 + slot + 1) once the player has seen it: its...
void STCRDABM_drawFader(ScreenFade *fader)
void STCRDABM_loadIcons(CardAlbumGrid *grid)
Loads the images of the grid's page of cards, from grid->first, into VRAM's 6x2 grid of card images.
#define TASK_HEADER(Type)
s32(* updateFade)(PanelAnim *fade)
s32(* updateLerp)(MenuLerp *lerp)
void(* startFade)(PanelAnim *fade, s32 fadeIn)
s32(* filesLoading)(void)
void(* startLerp)(MenuLerp *lerp, s32 from, s32 to, s32 frames)
Draws the cards of a page and animates the page turns.
void(* setPage)(struct CardAlbumGrid *grid, s32 first)
s32 prevFirst
the page being turned
s32 first
first card of the page
u8 pad[0x10]
never read or written
s32 turned
slots turned so far
void(* hide)(struct CardAlbumGrid *grid)
TextWindow * stat2
card data [2]
TextWindow * stat1
card data [1]
TextWindow * count
copies the player has
TextWindow * level
card data [5]
PanelAnim infoFade
the card's details
Opens or closes a menu panel: level goes 0 -> ONE in duration frames (or back at twice the speed),...
Fades the whole screen to black and back with a subtractive rectangle.
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...