summaryrefslogtreecommitdiff
path: root/include/battle_setup.h
blob: e88aefe6dacbe0fe58ed6cd1610f889f1694ff7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#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(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