17 for (i = 0; i < 3; i++) {
18 y = partner->
index * 50 + i * 15;
45 for (i = 0; i < 3; i++) {
46 if (partner->
slots[i] >= 4) {
62 for (i = 0; i < 3; i++) {
89 y = partner->
index * 50;
93 for (i = 0; i < 3; i++) {
102 y = partner->
index * 50 + i * 15;
116 y = partner->
index * 50;
119 if (partner->
slot >= 0 && partner->
slots[partner->
slot] >= 4) {
120 y = partner->
index * 50 + partner->
slot * 15;
131 y = partner->
index * 50;
149 for (i = 0; i < 3; i++) {
150 y = partner->
index * 50 + i * 15;
178 for (i = 10; n != 0; i *= 10) {
183 for (i = digits - 1; i != 0; i--) {
215 if (partner->
voice != -1) {
220 partner->
sound = 0x4000C;
279 if (partner->
voice != -1) {
284 partner->
sound = 0x4000B;
313 }
else if (partner->
learned != 0) {
364 if (++partner->
slot >= 3) {
376 switch (partner->
step) {
425 for (i = 0; i < 3; i++) {
446 switch (partner->
state) {
497 if (stats->
equip[4] == 0x141 || stats->
equip[5] == 0x141) {
498 partner->
exp += partner->
exp / 5;
523 partner->
index = index;
s32 STFGTREP_boostExp(ReportPartner *partner)
Adds a fifth to the exp once, if the partner wears item 0x141.
void STFGTREP_runPartner(ReportPartner *partner, ReportPartnerWindows *windows)
A panel's steps: it fades in and out, gives each slot's Digimon its exp, with the levels and skills t...
void STFGTREP_showPartner(ReportPartner *partner)
ReportPartner.show: fades the panel in (substate 1)
void STFGTREP_drawPartner(ReportPartner *partner)
Draws a partner's panel: the level and slot blinks, the cursor, the partner's animation and its frame...
static void raisePartnerLevel(ReportPartner *partner, ReportPartnerWindows *windows)
Gives the partner its exp; when its level goes up, blinks the level and shows the new level in the me...
static void learnNextDigimon(ReportPartner *partner, ReportPartnerWindows *windows)
Gives the partner the next Digimon of its evolution list and shows it in the message.
void STFGTREP_selectPartner(ReportPartner *partner)
ReportPartner.select: shows the cursor on the panel until its exp is given.
void STFGTREP_hidePartner(ReportPartner *partner)
ReportPartner.hide: fades the panel out (substate 11)
s32 STFGTREP_rollExp(ReportPartner *partner)
Rolls the shown exp towards the target, digit by digit; 0 once it is there.
void STFGTREP_fillPartnerWindows(ReportPartner *partner, ReportPartnerWindows *windows, s32 show)
Fills a partner's panel with its name, level, exp and Digimon, or hides it.
static void markNextSkillKnown(ReportPartner *partner, ReportPartnerWindows *windows)
Marks known the next skill of the slot's Digimon and shows it in the message.
void STFGTREP_createPartnerWindows(ReportPartner *partner, ReportPartnerWindows *windows)
Creates the text windows of a partner's panel.
static void showDigimonLevelUp(ReportPartner *partner, ReportPartnerWindows *windows)
When the slot's Digimon went up a level, plays its sound and shows it in the message.
void STFGTREP_raisePartner(ReportPartner *partner)
ReportPartner.raise: gives the exp to the partner's Digimon, with its new levels and skills (substate...
static void giveNextSkill(ReportPartner *partner, ReportPartnerWindows *windows)
Gives the slot's Digimon its next skill and shows it in the message.
static void giveDigimonExp(ReportPartner *partner)
Gives the slot's Digimon its share of the battle's exp, if it was used in the battle,...
void STFGTREP_updatePartner(ReportPartner *partner, ReportPartnerWindows *windows)
A partner's panel task.
ReportPartner * STFGTREP_createPartner(FightReport *report, s32 index, s32 exp)
Creates the panel of party member index, who gets exp.
GfxState GFX
GFX: the graphics state and its methods.
GameState GAME
The save data, the game mode and the methods.
#define TASK_INIT
Tasks: every game object is a task, a heap block that starts with this header and is updated once per...
#define TEXT_SKILL_NAMES
SKLNAM.
#define TEXT_FIGHT_REPORT
FGTRPT: STFGTREP's.
#define TEXT_DIGIMON_NAMES
DIGNAM.
FileCache FILE_CACHE
The file cache.
#define STAT_LEVEL
Indices of a partner's stats (PartnerStats.stats, computeStats, setStat)
DigimonData *(* GET_DIGIMON)(s32 id)
getDigimon for the overlays, in the small data (.sdata) between game/items.c's and file/file_table....
#define SCREEN_LAYER
The layer over the whole screen that most modes create first and draw their menus on (FIELDSTG and ST...
BattleResult BATTLE_RESULT
#define PAD_PRESSED(button)
One button of pad 1: newly pressed, auto-repeated while held, or held.
STFGTREP.PRO: mode 0x1400, the report after a battle.
#define FILE_FGTREP_SPRITES
The sprite archive the overlay loads.
SoundState SOUND
rsin and rcos (libgte) read rsin_tbl[a - 0x800] and the like: their addresses before the table fall i...
#define SOUND_COUNT
SYSTEM10: a number counts up or down.
#define SOUND_MENU_CONFIRM
SYSTEM07.
void initSpriteDrawer(SpriteDrawer *obj)
Clears a sprite drawer to neutral (no scale, gray tint, follows the scroll), gives it its methods and...
BattleReward STFGTREP_rewards[]
FightReportFuncs STFGTREP_funcs
s32 STFGTREP_animations[][7]
each partner Digimon's sprite frames, -1 ending them early
s16 battle
row of STFGTREP_rewards
struct BattleResult::@9 partners[3]
u8 used[3]
the Digimon of each slot was used
s32 digimonExp
shared by the Digimon used
Digimon definition (DIGIMON_DATA, 52 of them; the first 8 are the partners)
u8 nameId
string in file 0x4F
s32(* addSkill)(s32 partner, s32 id)
s32(* learnDigimon)(s32 partner)
s32(* addExp)(s32 partner, s32 exp)
void(* startFade)(PanelAnim *fade, s32 fadeIn)
s32(* learnSkill)(s32 partner, s32 id)
s32(* addDigimonExp)(s32 partner, s32 id, s32 exp)
s32(* updateFade)(PanelAnim *fade)
s32(* getDigimonExp)(s32 partner, s32 id, s32 exp, s32 used)
The main task of the screen (STFGTREP_createScreen)
s32 arrowOn
the message waits for a button
s32 used
Digimon used in the battle.
void *(* getEntry)(u32 fileAndIndex)
s32(* getPartnerEntry)()
-1 if it hasn't the Digimon
struct PartnerStats *(* getPartnerStats)(s32 partner)
s32(* getPartyMember)(u32 index)
s32(* getPartnerSlots)()
(partner, s16 *out): the count
s32(* listPartnerEntries)()
(partner, s16 *out): the count
s8 level
shown in the lab; 1 when added
A partner Digimon from its name on (Partner.info), as getPartnerStats gives it.
The children of a partner's panel.
struct ReportPartnerWindows::@7 slots[3]
The panel of a partner of the party (STFGTREP_createPartner)
void(* nextState)(struct ReportPartner *task)
struct FightReport * report
struct ReportPartner::@6 slotBlinks[3]
void(* show)(struct ReportPartner *partner)
s32 exp
what the partner gets
s32 frame
of the partner's animation
s16 entries[44]
listPartnerEntries
void(* raise)(struct ReportPartner *partner)
void(* select)(struct ReportPartner *partner)
s32 boosted
the exp accessory was applied
s32(* boostExp)(struct ReportPartner *partner)
void(* hide)(struct ReportPartner *partner)
s32 slot
whose Digimon gets its exp, -1 for none
short(* playSound)(s32 id)
returns the voice of a key-on
void(* keyOff)(s32 id, s16 voice)
Draws sprites from a sprite sheet (such as file 0x277, the menu graphics): a sheet has a table of fra...
void(* setScale)()
(x, y, z), ONE = 1.0
void(* setLayerId)()
(id, depth)
void(* setClutRow)()
(row)
void(* draw)()
(sheet, frame, x, y)
void(* setTexture)()
(x, y)
A text window (createTextWindow): up to six text buffers (0 is shown, 1-5 are "work" buffers that con...
s32(* isWaitingForButton)()
s32(* isFinished)()
s32: callers don't truncate the result to a byte
void(* setSpacing)()
no prototype: callers would truncate s16 args
void(* setRightAlign)()
no prototype: callers would truncate u8 args
void(* setLines)()
no prototype: callers would truncate u8 args
void(* setVisible)(struct TextWindow *obj, u8 arg)
void * createTask(void(*update)(), s32 size, s32 childrenSize)
createTaskWithId for a task nothing needs to find
TextWindow * createTextWindow(s16 layerId, s16 style, s16 x, s16 y)
A text window on a layer, in a font style, at (x, y)