13#define OVL_NAME(name) STSTATUS_##name
16#if VERSION_US || VERSION_JP
17#define FILE_STATUS_SPRITES 0x3F4
18#define FILE_STATUS_BG 0x78A
20#define FILE_STATUS_SPRITES 0x404
21#define FILE_STATUS_BG 0x799
340#if VERSION_EU || VERSION_JP
455#define DRAW_PAGE_PANELS(sprite, screen, i) \
456 for (i = 0; i < (screen)->count; i++) { \
457 if ((screen)->pageFades[i].level != 0) { \
458 if ((screen)->pageFades[i].level != ONE) { \
459 (sprite).setScale((screen)->pageFades[i].level, ONE, ONE); \
460 (sprite).setPivot(0, i * 0x2E + 0x25); \
461 (sprite).draw(FILE_CACHE.getEntry(FILE_MENU_SPRITES << 16), 0x15, 0, i * 0x2E + 0x11); \
462 (sprite).setScale((screen)->pageFades[i].level, (screen)->pageFades[i].level, ONE); \
463 (sprite).setPivot(0x7C, i * 0x2E + 0x27); \
464 (sprite).draw(FILE_CACHE.getEntry(FILE_MENU_SPRITES << 16), 0x16, 0x67, i * 0x2E + 0x13); \
465 (sprite).setScale((screen)->pageFades[i].level, ONE, ONE); \
466 (sprite).setPivot(0, i * 0x2E + 0x25); \
467 (sprite).draw(FILE_CACHE.getEntry(FILE_MENU_SPRITES << 16), 0x17, 0, i * 0x2E + 0x11); \
469 (sprite).setScale(ONE, ONE, ONE); \
470 (sprite).draw(FILE_CACHE.getEntry(FILE_MENU_SPRITES << 16), 0x15, 0, i * 0x2E + 0x11); \
471 (sprite).draw(FILE_CACHE.getEntry(FILE_MENU_SPRITES << 16), 0x16, 0x67, i * 0x2E + 0x13); \
472 (sprite).draw(FILE_CACHE.getEntry(FILE_MENU_SPRITES << 16), 0x17, 0, i * 0x2E + 0x11); \
#define TASK_HEADER(Type)
A menu cursor: a text window showing one of the CURSOR_FRAMES glyphs.
TextWindow * list[13]
two columns: 6 and 7
A panel of the fifth screen (STSTATUS_createDigivolvePanel)
s32 slotCount
the slots holding an entry (4 on)
s32 slot
the cursors' rows
s32 fromEntry
the list shows the slot's techniques, not the partner's
s32 techCount
the entry's techniques
s16 slots[4]
getPartnerSlots
MenuLerp scroll
its value is added to the list's y
struct EquipPanelWindows::@16 rows[8]
ScrollBar * scrollBar
for more than 8 items
TextWindow * times
the "x" before count
u8 pad[0xA4 - 0x9C]
never read or written: createTask allocates 0xA4 bytes of children
TextWindow * slots[6]
the equipment
TextWindow * count
how many are owned
A list of the fifth screen (STSTATUS_createEquipPanel)
s32 slot
the equipment slot being changed
s32 arrowShown
the scroll arrows blink
s16 items[0x194]
those that fit the slot, -1: remove
s32 showSlot
draw the slot's item icon
s32 scroll
the first one shown
s16 owned[0x194]
listItems' result, sorted into items
TextWindow * pageSeparator
u8 pad[0x6C - 0x5C]
never read or written: createTask allocates 0x6C bytes of children
A list of the first screen (STSTATUS_createItemList)
s32 arrowFrame
the page arrows' palette
s32 hasPrev
pages before and after this one
s32 active
the player can move the cursor
s32 startItem
an item to put the cursor on
u8 pad[4]
never read or written
s32 list
into STSTATUS_itemLists
struct ItemList * panel
STSTATUS_createItemList's, while open.
TextWindow * equippedLabel
TextWindow * equipped
how many of the item are equipped
The field menu's first screen (STSTATUS_createItemScreen)
s16 items[0x194]
of the chosen option's list
u8 pad74[4]
never read or written
u8 pad44C[0x45C - 0x44C]
never read or written: createTask allocates 0x45C bytes
s32 frames[3]
of the partners' portraits
s32 member
the one an item is used on
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 ...
One of a partner's Digimon (getPartnerEntry, setPartnerEntry)
One party member in the field menu: name and five stats.
The windows of the screens STSTATUS_updateCardScreen and STSTATUS_updateDemoScreen.
TextWindow * help
two lines
The screens with the party's pages (STSTATUS_createCardScreen, STSTATUS_createDemoScreen)
s32 frames[3]
of their portraits' animations
s32 choice
0, 1: the options
Fades the whole screen to black and back with a subtractive rectangle.
The screen of STSTATUS_createSortScreen.
s32 first
the members to swap
s32 frames[3]
of the partners' portraits
s32 arrowShown
the swap's arrow
TextWindow * values[13]
the stats of STSTATUS_equipStats
void * panel
STSTATUS_createDigivolvePanel's or STSTATUS_createEquipPanel's, while open.
TextWindow * slots[3]
the partner's getPartnerSlots entries
The field menu's fifth screen (STSTATUS_createStatusScreen)
void(* previewStats)(struct StatsScreen *screen, s32 slot, s32 item)
s32 unk70
only cleared, when the equipment panel closes
s32 option
the options' cursor
s32 frames[3]
of the partners' portraits
Where the game is (STSTATUS_areaFuncs)
s32(* getGameHalf)(void)
0, 1, or -1 outside of the field
void(* getVisitedAreas)(s32 *out)
The screens' tables, item lists and helpers, in one object: the functions that use two of them keep i...
StatusMapPoint * towns
from 1
WindowPos * layout
where the windows go, and their strings
StatusMapSpot * spots
the map's areas, from 1
PartnerAnim * partnerAnims
the partners' portraits
s16 items[404]
ITEM_FUNCS.list(2)
s16 items2[404]
ITEM_FUNCS.list(3)
The screens' helpers (STSTATUS_data.funcs)
s32(* updateFade)(PanelAnim *fade)
s32(* updateLerp)(MenuLerp *lerp)
s32(* canEquip)(s32 partner, s32 slot, s32 item)
void(* startLerp)(MenuLerp *lerp, s32 from, s32 to, s32 frames)
s32(* listItems)(s32 list, s16 *out)
6, 7: special lists; returns the count
void(* startFade)(PanelAnim *fade, s32 fadeIn)
s32(* filesLoading)(void)
void(* equip)(s32 partner, s32 slot, s32 item)
The map screen (STSTATUS_createMapScreen); the offsets are the European version's,...
s32 homeX
the current area's mark
u8 padA4[4]
never read or written
s32 file
FILE_STATUS_BG or the next one but one.
s32 archive
entries of file: the map
u8 pad64[4]
never read or written
s32 hoverX
where the cursor was when it got there
s32 top
where the map starts
s32 spot
the area under the cursor
s32 visited[47]
the areas, spot i at i - 1
u8 pad6C[0x78 - 0x6C]
never read or written
s32 progress
which towns are drawn
An area on the map screen.
A screen of the field menu (STSTATUS_screens)
What the items that raise a stat raise (STSTATUS_statItems), up to a kind of -1.
s16 kind
the item's second byte
s16 stat
in PartnerStats.stats
Any task, seen through its header.
A party member's techniques on the tech screen.
s16 techs[5]
the ones it can use here
s16 slots[4]
getPartnerSlots
The tech screen's windows.
TextWindow * mp
the technique's cost
The tech screen (STSTATUS_createTechScreen)
s32 member
who uses the technique
s32 frames[3]
of the partners' portraits
s32 targetShown
the target's cursor
s32 memberShown
the user's cursor
A text window (createTextWindow): up to six text buffers (0 is shown, 1-5 are "work" buffers that con...
Where a window goes, and the string it shows.