pokeruby/include/battle_setup.h
2017-07-09 22:59:49 -05:00

137 lines
3.9 KiB
C

#ifndef GUARD_BATTLE_SETUP_H
#define GUARD_BATTLE_SETUP_H
#define NUM_TRAINER_EYE_TRAINERS 56
#define TRAINER_REMATCH_STEPS 255
// IV + LEVEL + SPECIES
struct TrainerPartyMember0
{
u16 iv;
u8 level;
u16 species;
};
// IV + LEVEL + SPECIES + MOVES
struct TrainerPartyMember1
{
u16 iv;
u8 level;
u16 species;
u16 moves[4];
};
// IV + LEVEL + SPECIES + ITEMS
struct TrainerPartyMember2
{
u16 iv;
u8 level;
u16 species;
u16 heldItem;
};
// IV + LEVEL + SPECIES + ITEMS + MOVES
struct TrainerPartyMember3
{
u16 iv;
u8 level;
u16 species;
u16 heldItem;
u16 moves[4];
};
struct TrainerBattleSpec
{
void *ptr;
u8 ptrType;
};
struct TrainerEyeTrainer
{
u16 trainerNums[5];
u16 mapGroup;
u16 mapNum;
};
//void task01_battle_start(u8 taskId);
//void task_add_01_battle_start(u8 transition, u16 song);
void CheckForSafariZoneAndProceed(void);
void StartBattle_StandardWild(void);
void StartBattle_Roamer(void);
void StartBattle_Safari(void);
//void task_add_01_battle_start_with_music_and_stats(void);
//void StartBattle_WallyTutorial(void);
void StartBattle_ScriptedWild(void);
//void StartBattle_SouthernIsland(void);
//void StartBattle_Rayquaza(void);
//void StartBattle_GroudonKyogre(void);
//void StartBattle_Regi(void);
void HandleWildBattleEnd(void);
void HandleScriptedWildBattleEnd(void);
s8 GetBattleTerrain(void);
//s8 GetBattleTransitionTypeByMap(void);
//u16 GetSumOfPartyMonLevel(u8 numMons);
//u8 GetSumOfEnemyPartyLevel(u16 trainerNum, u8 numMons);
u8 GetWildBattleTransition(void);
u8 GetTrainerBattleTransition(void);
u8 GetBattleTowerBattleTransition(void);
//void ChooseStarter(void);
void CB2_GiveStarter(void);
void CB2_StartFirstBattle(void);
void HandleFirstBattleEnd(void);
//u32 TrainerBattleLoadArg32(u8 *ptr);
//u16 TrainerBattleLoadArg16(u8 *ptr);
//u8 TrainerBattleLoadArg8(u8 *ptr);
//u16 trainerflag_opponent(void);
bool32 battle_exit_is_player_defeat(u32 a1);
//void sub_80822BC(void);
//void TrainerBattleLoadArgs(const struct TrainerBattleSpec *specs, u8 *data);
//void battle_80801F0(void);
u8 *TrainerBattleConfigure(const u8 *data);
void TrainerWantsBattle(u8, u8 *);
bool32 GetTrainerFlagFromScriptPointer(u8 *data);
//void sub_8082524(void);
//u8 sub_8082558(void);
//u8 sub_8082564(void);
//void sub_808257C(void);
//void unref_sub_8082590(void); // unused
u8 trainer_flag_check(u16);
void trainer_flag_set(u16);
void trainer_flag_clear(u16);
void sub_80825E4(void);
void sub_808260C(void);
void do_choose_name_or_words_screen(void);
//void sub_80826B0(void);
//void sub_80826D8(void);
u8 *sub_80826E8(void);
u8 *sub_8082700(void);
//void sub_8082718(void);
//void PlayTrainerEncounterMusic(void);
//u8 *SanitizeString(u8 *str);
u8 *sub_808281C(void);
u8 *sub_8082830(void);
//u8 *unref_sub_808286C(void);
u8 *sub_8082880(void);
//s32 sub_8082894(const struct TrainerEyeTrainer *trainers, u16 trainerNum);
//s32 sub_80828B8(const struct TrainerEyeTrainer *trainers, u16 trainerNum);
//bool32 sub_80828FC(const struct TrainerEyeTrainer *trainers, u16 mapGroup, u16 mapNum);
//s32 sub_80829A8(const struct TrainerEyeTrainer *trainers, u16 mapGroup, u16 mapNum);
//s32 sub_80829E8(const struct TrainerEyeTrainer *trainers, u16 mapGroup, u16 mapNum);
//bool8 sub_8082A18(const struct TrainerEyeTrainer *trainers, u16 trainerNum);
//bool8 sub_8082A54(const struct TrainerEyeTrainer *trainers, u16 trainerNum);
//u16 sub_8082A90(const struct TrainerEyeTrainer *trainers, u16 trainerNum);
//void sub_8082AE4(const struct TrainerEyeTrainer *trainers, u16 trainerNum);
//bool8 sub_8082B10(const struct TrainerEyeTrainer *trainers, u16 trainerNum);
//bool32 sub_8082B44(void);
void sub_8082B78(void);
//bool32 sub_8082BA4(void);
void sub_8082BD0(u16, u16);
s32 sub_8082C0C(u16 mapGroup, u16 mapNum);
s32 unref_sub_8082C2C(u16 mapGroup, u16 mapNum);
u16 sub_8082C4C(u16 a1);
//s32 sub_8082C68(void);
//u8 sub_8082C9C(void);
void sub_8082CB8(void);
#endif // GUARD_BATTLE_SETUP_H