mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-10 05:43:22 -05:00
81 lines
2.6 KiB
C
81 lines
2.6 KiB
C
#ifndef GUARD_BATTLE_SETUP_H
|
|
#define GUARD_BATTLE_SETUP_H
|
|
|
|
/*
|
|
the layout of the first byte can be confusing here
|
|
isDoubleBattle is the least lsb. msb is in the mode.
|
|
*/
|
|
typedef union PACKED TrainerBattleParameter
|
|
{
|
|
struct PACKED _TrainerBattleParameter
|
|
{
|
|
u8 isDoubleBattle:1;
|
|
u8 isRematch:1;
|
|
u8 playMusicA:1;
|
|
u8 playMusicB:1;
|
|
u8 mode:4;
|
|
u8 objEventLocalIdA;
|
|
u16 opponentA;
|
|
u8 *introTextA;
|
|
u8 *defeatTextA;
|
|
u8 *battleScriptRetAddrA;
|
|
u8 objEventLocalIdB;
|
|
u16 opponentB;
|
|
u8 *introTextB;
|
|
u8 *defeatTextB;
|
|
u8 *battleScriptRetAddrB;
|
|
u8 *victoryText;
|
|
u8 *cannotBattleText;
|
|
u16 rivalBattleFlags;
|
|
} params;
|
|
u8 data[sizeof(struct _TrainerBattleParameter)];
|
|
} TrainerBattleParameter;
|
|
|
|
extern TrainerBattleParameter gTrainerBattleParameter;
|
|
extern u16 gPartnerTrainerId;
|
|
|
|
#define TRAINER_BATTLE_PARAM gTrainerBattleParameter.params
|
|
|
|
void StartWildBattle(void);
|
|
void StartDoubleWildBattle(void);
|
|
void StartRoamerBattle(void);
|
|
void StartOldManTutorialBattle(void);
|
|
void BattleSetup_StartScriptedWildBattle(void);
|
|
void BattleSetup_StartScriptedDoubleWildBattle(void);
|
|
void StartMarowakBattle(void);
|
|
void StartSouthernIslandBattle(void);
|
|
void StartLegendaryBattle(void);
|
|
void StartGroudonKyogreBattle(void);
|
|
void StartRegiBattle(void);
|
|
u8 BattleSetup_GetTerrainId(void);
|
|
u8 BattleSetup_GetBattleTowerBattleTransition(void);
|
|
void ResetTrainerOpponentIds(void);
|
|
const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data);
|
|
void ConfigureAndSetUpOneTrainerBattle(u8 trainerEventObjId, const u8 *trainerScript);
|
|
void ConfigureTwoTrainersBattle(u8 trainerObjEventId, const u8 *trainerScript);
|
|
void SetUpTwoTrainersBattle(void);
|
|
bool32 GetTrainerFlagFromScriptPointer(const u8 *data);
|
|
void SetUpTrainerMovement(void);
|
|
u8 GetTrainerBattleMode(void);
|
|
u16 GetRivalBattleFlags(void);
|
|
void SetBattledTrainerFlag(void);
|
|
bool8 HasTrainerBeenFought(u16 trainerId);
|
|
void SetTrainerFlag(u16 trainerId);
|
|
void ClearTrainerFlag(u16 trainerId);
|
|
void BattleSetup_StartTrainerBattle(void);
|
|
void StartRematchBattle(void);
|
|
void ShowTrainerIntroSpeech(void);
|
|
const u8 *BattleSetup_GetScriptAddrAfterBattle(void);
|
|
const u8 *BattleSetup_GetTrainerPostBattleScript(void);
|
|
void ShowTrainerCantBattleSpeech(void);
|
|
void PlayTrainerEncounterMusic(void);
|
|
const u8 *GetTrainerALoseText(void);
|
|
const u8 *GetTrainerBLoseText(void);
|
|
const u8 *GetTrainerWonSpeech(void);
|
|
void BattleSetup_StartTrainerBattle_Debug(void);
|
|
u8 GetWildBattleTransition(void);
|
|
u8 GetTrainerBattleTransition(void);
|
|
void TrainerBattleLoadArgs(const u8 *data);
|
|
|
|
#endif // GUARD_BATTLE_SETUP_H
|