summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2018-08-16 22:53:01 +0200
committerDizzyEggg <jajkodizzy@wp.pl>2018-08-16 22:53:01 +0200
commit0bfe894566fe3c19c0f12342a273a40c5d6e12da (patch)
tree37ef4a4f7be61b3bd70c2118dff9421140c67abe /include
parentba225f8eaab5e46f7fc825adc6df833f3996b38d (diff)
parent2b81db7acecd8baa3e343de66fd229040ec81381 (diff)
Merge with master
Diffstat (limited to 'include')
-rw-r--r--include/battle_controllers.h2
-rw-r--r--include/battle_frontier_2.h1
-rw-r--r--include/battle_tent.h6
-rw-r--r--include/constants/region_map_sections.h4
-rw-r--r--include/constants/species.h832
-rw-r--r--include/contest.h12
-rw-r--r--include/contest_ai.h16
-rw-r--r--include/contest_effect.h3
-rw-r--r--include/graphics.h20
-rw-r--r--include/learn_move.h7
-rw-r--r--include/list_menu.h2
-rw-r--r--include/m4a.h1
-rw-r--r--include/menu.h6
-rw-r--r--include/menu_helpers.h1
-rw-r--r--include/mon_markings.h2
-rw-r--r--include/party_menu.h3
-rw-r--r--include/pokeball.h2
-rw-r--r--include/pokemon_storage_system.h1
-rwxr-xr-xinclude/pokemon_summary_screen.h19
-rw-r--r--include/pokenav.h7
-rw-r--r--include/region_map.h1
-rw-r--r--include/strings.h58
22 files changed, 998 insertions, 8 deletions
diff --git a/include/battle_controllers.h b/include/battle_controllers.h
index ff5a629af..b449bb501 100644
--- a/include/battle_controllers.h
+++ b/include/battle_controllers.h
@@ -1,6 +1,8 @@
#ifndef GUARD_BATTLE_CONTROLLERS_H
#define GUARD_BATTLE_CONTROLLERS_H
+#include "battle.h"
+
enum
{
REQUEST_ALL_BATTLE,
diff --git a/include/battle_frontier_2.h b/include/battle_frontier_2.h
index d410749b9..09e974068 100644
--- a/include/battle_frontier_2.h
+++ b/include/battle_frontier_2.h
@@ -11,5 +11,6 @@ void sub_81AA078(u16*, u8);
void sub_81A4C30(void);
void sub_819A4F8(void);
void sub_819DC00(void);
+bool8 sub_81A6BF4(void);
#endif // GUARD_BATTLE_FRONTIER_2_H
diff --git a/include/battle_tent.h b/include/battle_tent.h
new file mode 100644
index 000000000..a894d4cfb
--- /dev/null
+++ b/include/battle_tent.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_BATTLE_TENT_H
+#define GUARD_BATTLE_TENT_H
+
+bool8 sub_81B9E94(void);
+
+#endif //GUARD_BATTLE_TENT_H
diff --git a/include/constants/region_map_sections.h b/include/constants/region_map_sections.h
index b9c518b1b..8ff75dfa9 100644
--- a/include/constants/region_map_sections.h
+++ b/include/constants/region_map_sections.h
@@ -216,4 +216,8 @@
#define MAPSEC_TRAINER_HILL 0xD4
#define MAPSEC_NONE 0xD5
+#define MAPSEC_SPECIAL_EGG 0xFD
+#define MAPSEC_IN_GAME_TRADE 0xFE
+#define MAPSEC_FATEFUL_ENCOUNTER 0xFF
+
#endif //GUARD_REGIONMAPSEC_H
diff --git a/include/constants/species.h b/include/constants/species.h
index f698ada14..cd9b13743 100644
--- a/include/constants/species.h
+++ b/include/constants/species.h
@@ -447,4 +447,836 @@
#define NUM_SPECIES SPECIES_EGG
+// National Dex Index Defines
+
+#define NATIONAL_DEX_BULBASAUR 1
+#define NATIONAL_DEX_IVYSAUR 2
+#define NATIONAL_DEX_VENUSAUR 3
+#define NATIONAL_DEX_CHARMANDER 4
+#define NATIONAL_DEX_CHARMELEON 5
+#define NATIONAL_DEX_CHARIZARD 6
+#define NATIONAL_DEX_SQUIRTLE 7
+#define NATIONAL_DEX_WARTORTLE 8
+#define NATIONAL_DEX_BLASTOISE 9
+#define NATIONAL_DEX_CATERPIE 10
+#define NATIONAL_DEX_METAPOD 11
+#define NATIONAL_DEX_BUTTERFREE 12
+#define NATIONAL_DEX_WEEDLE 13
+#define NATIONAL_DEX_KAKUNA 14
+#define NATIONAL_DEX_BEEDRILL 15
+#define NATIONAL_DEX_PIDGEY 16
+#define NATIONAL_DEX_PIDGEOTTO 17
+#define NATIONAL_DEX_PIDGEOT 18
+#define NATIONAL_DEX_RATTATA 19
+#define NATIONAL_DEX_RATICATE 20
+#define NATIONAL_DEX_SPEAROW 21
+#define NATIONAL_DEX_FEAROW 22
+#define NATIONAL_DEX_EKANS 23
+#define NATIONAL_DEX_ARBOK 24
+#define NATIONAL_DEX_PIKACHU 25
+#define NATIONAL_DEX_RAICHU 26
+#define NATIONAL_DEX_SANDSHREW 27
+#define NATIONAL_DEX_SANDSLASH 28
+#define NATIONAL_DEX_NIDORAN_F 29
+#define NATIONAL_DEX_NIDORINA 30
+#define NATIONAL_DEX_NIDOQUEEN 31
+#define NATIONAL_DEX_NIDORAN_M 32
+#define NATIONAL_DEX_NIDORINO 33
+#define NATIONAL_DEX_NIDOKING 34
+#define NATIONAL_DEX_CLEFAIRY 35
+#define NATIONAL_DEX_CLEFABLE 36
+#define NATIONAL_DEX_VULPIX 37
+#define NATIONAL_DEX_NINETALES 38
+#define NATIONAL_DEX_JIGGLYPUFF 39
+#define NATIONAL_DEX_WIGGLYTUFF 40
+#define NATIONAL_DEX_ZUBAT 41
+#define NATIONAL_DEX_GOLBAT 42
+#define NATIONAL_DEX_ODDISH 43
+#define NATIONAL_DEX_GLOOM 44
+#define NATIONAL_DEX_VILEPLUME 45
+#define NATIONAL_DEX_PARAS 46
+#define NATIONAL_DEX_PARASECT 47
+#define NATIONAL_DEX_VENONAT 48
+#define NATIONAL_DEX_VENOMOTH 49
+#define NATIONAL_DEX_DIGLETT 50
+#define NATIONAL_DEX_DUGTRIO 51
+#define NATIONAL_DEX_MEOWTH 52
+#define NATIONAL_DEX_PERSIAN 53
+#define NATIONAL_DEX_PSYDUCK 54
+#define NATIONAL_DEX_GOLDUCK 55
+#define NATIONAL_DEX_MANKEY 56
+#define NATIONAL_DEX_PRIMEAPE 57
+#define NATIONAL_DEX_GROWLITHE 58
+#define NATIONAL_DEX_ARCANINE 59
+#define NATIONAL_DEX_POLIWAG 60
+#define NATIONAL_DEX_POLIWHIRL 61
+#define NATIONAL_DEX_POLIWRATH 62
+#define NATIONAL_DEX_ABRA 63
+#define NATIONAL_DEX_KADABRA 64
+#define NATIONAL_DEX_ALAKAZAM 65
+#define NATIONAL_DEX_MACHOP 66
+#define NATIONAL_DEX_MACHOKE 67
+#define NATIONAL_DEX_MACHAMP 68
+#define NATIONAL_DEX_BELLSPROUT 69
+#define NATIONAL_DEX_WEEPINBELL 70
+#define NATIONAL_DEX_VICTREEBEL 71
+#define NATIONAL_DEX_TENTACOOL 72
+#define NATIONAL_DEX_TENTACRUEL 73
+#define NATIONAL_DEX_GEODUDE 74
+#define NATIONAL_DEX_GRAVELER 75
+#define NATIONAL_DEX_GOLEM 76
+#define NATIONAL_DEX_PONYTA 77
+#define NATIONAL_DEX_RAPIDASH 78
+#define NATIONAL_DEX_SLOWPOKE 79
+#define NATIONAL_DEX_SLOWBRO 80
+#define NATIONAL_DEX_MAGNEMITE 81
+#define NATIONAL_DEX_MAGNETON 82
+#define NATIONAL_DEX_FARFETCHD 83
+#define NATIONAL_DEX_DODUO 84
+#define NATIONAL_DEX_DODRIO 85
+#define NATIONAL_DEX_SEEL 86
+#define NATIONAL_DEX_DEWGONG 87
+#define NATIONAL_DEX_GRIMER 88
+#define NATIONAL_DEX_MUK 89
+#define NATIONAL_DEX_SHELLDER 90
+#define NATIONAL_DEX_CLOYSTER 91
+#define NATIONAL_DEX_GASTLY 92
+#define NATIONAL_DEX_HAUNTER 93
+#define NATIONAL_DEX_GENGAR 94
+#define NATIONAL_DEX_ONIX 95
+#define NATIONAL_DEX_DROWZEE 96
+#define NATIONAL_DEX_HYPNO 97
+#define NATIONAL_DEX_KRABBY 98
+#define NATIONAL_DEX_KINGLER 99
+#define NATIONAL_DEX_VOLTORB 100
+#define NATIONAL_DEX_ELECTRODE 101
+#define NATIONAL_DEX_EXEGGCUTE 102
+#define NATIONAL_DEX_EXEGGUTOR 103
+#define NATIONAL_DEX_CUBONE 104
+#define NATIONAL_DEX_MAROWAK 105
+#define NATIONAL_DEX_HITMONLEE 106
+#define NATIONAL_DEX_HITMONCHAN 107
+#define NATIONAL_DEX_LICKITUNG 108
+#define NATIONAL_DEX_KOFFING 109
+#define NATIONAL_DEX_WEEZING 110
+#define NATIONAL_DEX_RHYHORN 111
+#define NATIONAL_DEX_RHYDON 112
+#define NATIONAL_DEX_CHANSEY 113
+#define NATIONAL_DEX_TANGELA 114
+#define NATIONAL_DEX_KANGASKHAN 115
+#define NATIONAL_DEX_HORSEA 116
+#define NATIONAL_DEX_SEADRA 117
+#define NATIONAL_DEX_GOLDEEN 118
+#define NATIONAL_DEX_SEAKING 119
+#define NATIONAL_DEX_STARYU 120
+#define NATIONAL_DEX_STARMIE 121
+#define NATIONAL_DEX_MR_MIME 122
+#define NATIONAL_DEX_SCYTHER 123
+#define NATIONAL_DEX_JYNX 124
+#define NATIONAL_DEX_ELECTABUZZ 125
+#define NATIONAL_DEX_MAGMAR 126
+#define NATIONAL_DEX_PINSIR 127
+#define NATIONAL_DEX_TAUROS 128
+#define NATIONAL_DEX_MAGIKARP 129
+#define NATIONAL_DEX_GYARADOS 130
+#define NATIONAL_DEX_LAPRAS 131
+#define NATIONAL_DEX_DITTO 132
+#define NATIONAL_DEX_EEVEE 133
+#define NATIONAL_DEX_VAPOREON 134
+#define NATIONAL_DEX_JOLTEON 135
+#define NATIONAL_DEX_FLAREON 136
+#define NATIONAL_DEX_PORYGON 137
+#define NATIONAL_DEX_OMANYTE 138
+#define NATIONAL_DEX_OMASTAR 139
+#define NATIONAL_DEX_KABUTO 140
+#define NATIONAL_DEX_KABUTOPS 141
+#define NATIONAL_DEX_AERODACTYL 142
+#define NATIONAL_DEX_SNORLAX 143
+#define NATIONAL_DEX_ARTICUNO 144
+#define NATIONAL_DEX_ZAPDOS 145
+#define NATIONAL_DEX_MOLTRES 146
+#define NATIONAL_DEX_DRATINI 147
+#define NATIONAL_DEX_DRAGONAIR 148
+#define NATIONAL_DEX_DRAGONITE 149
+#define NATIONAL_DEX_MEWTWO 150
+#define NATIONAL_DEX_MEW 151
+#define NATIONAL_DEX_CHIKORITA 152
+#define NATIONAL_DEX_BAYLEEF 153
+#define NATIONAL_DEX_MEGANIUM 154
+#define NATIONAL_DEX_CYNDAQUIL 155
+#define NATIONAL_DEX_QUILAVA 156
+#define NATIONAL_DEX_TYPHLOSION 157
+#define NATIONAL_DEX_TOTODILE 158
+#define NATIONAL_DEX_CROCONAW 159
+#define NATIONAL_DEX_FERALIGATR 160
+#define NATIONAL_DEX_SENTRET 161
+#define NATIONAL_DEX_FURRET 162
+#define NATIONAL_DEX_HOOTHOOT 163
+#define NATIONAL_DEX_NOCTOWL 164
+#define NATIONAL_DEX_LEDYBA 165
+#define NATIONAL_DEX_LEDIAN 166
+#define NATIONAL_DEX_SPINARAK 167
+#define NATIONAL_DEX_ARIADOS 168
+#define NATIONAL_DEX_CROBAT 169
+#define NATIONAL_DEX_CHINCHOU 170
+#define NATIONAL_DEX_LANTURN 171
+#define NATIONAL_DEX_PICHU 172
+#define NATIONAL_DEX_CLEFFA 173
+#define NATIONAL_DEX_IGGLYBUFF 174
+#define NATIONAL_DEX_TOGEPI 175
+#define NATIONAL_DEX_TOGETIC 176
+#define NATIONAL_DEX_NATU 177
+#define NATIONAL_DEX_XATU 178
+#define NATIONAL_DEX_MAREEP 179
+#define NATIONAL_DEX_FLAAFFY 180
+#define NATIONAL_DEX_AMPHAROS 181
+#define NATIONAL_DEX_BELLOSSOM 182
+#define NATIONAL_DEX_MARILL 183
+#define NATIONAL_DEX_AZUMARILL 184
+#define NATIONAL_DEX_SUDOWOODO 185
+#define NATIONAL_DEX_POLITOED 186
+#define NATIONAL_DEX_HOPPIP 187
+#define NATIONAL_DEX_SKIPLOOM 188
+#define NATIONAL_DEX_JUMPLUFF 189
+#define NATIONAL_DEX_AIPOM 190
+#define NATIONAL_DEX_SUNKERN 191
+#define NATIONAL_DEX_SUNFLORA 192
+#define NATIONAL_DEX_YANMA 193
+#define NATIONAL_DEX_WOOPER 194
+#define NATIONAL_DEX_QUAGSIRE 195
+#define NATIONAL_DEX_ESPEON 196
+#define NATIONAL_DEX_UMBREON 197
+#define NATIONAL_DEX_MURKROW 198
+#define NATIONAL_DEX_SLOWKING 199
+#define NATIONAL_DEX_MISDREAVUS 200
+#define NATIONAL_DEX_UNOWN 201
+#define NATIONAL_DEX_WOBBUFFET 202
+#define NATIONAL_DEX_GIRAFARIG 203
+#define NATIONAL_DEX_PINECO 204
+#define NATIONAL_DEX_FORRETRESS 205
+#define NATIONAL_DEX_DUNSPARCE 206
+#define NATIONAL_DEX_GLIGAR 207
+#define NATIONAL_DEX_STEELIX 208
+#define NATIONAL_DEX_SNUBBULL 209
+#define NATIONAL_DEX_GRANBULL 210
+#define NATIONAL_DEX_QWILFISH 211
+#define NATIONAL_DEX_SCIZOR 212
+#define NATIONAL_DEX_SHUCKLE 213
+#define NATIONAL_DEX_HERACROSS 214
+#define NATIONAL_DEX_SNEASEL 215
+#define NATIONAL_DEX_TEDDIURSA 216
+#define NATIONAL_DEX_URSARING 217
+#define NATIONAL_DEX_SLUGMA 218
+#define NATIONAL_DEX_MAGCARGO 219
+#define NATIONAL_DEX_SWINUB 220
+#define NATIONAL_DEX_PILOSWINE 221
+#define NATIONAL_DEX_CORSOLA 222
+#define NATIONAL_DEX_REMORAID 223
+#define NATIONAL_DEX_OCTILLERY 224
+#define NATIONAL_DEX_DELIBIRD 225
+#define NATIONAL_DEX_MANTINE 226
+#define NATIONAL_DEX_SKARMORY 227
+#define NATIONAL_DEX_HOUNDOUR 228
+#define NATIONAL_DEX_HOUNDOOM 229
+#define NATIONAL_DEX_KINGDRA 230
+#define NATIONAL_DEX_PHANPY 231
+#define NATIONAL_DEX_DONPHAN 232
+#define NATIONAL_DEX_PORYGON2 233
+#define NATIONAL_DEX_STANTLER 234
+#define NATIONAL_DEX_SMEARGLE 235
+#define NATIONAL_DEX_TYROGUE 236
+#define NATIONAL_DEX_HITMONTOP 237
+#define NATIONAL_DEX_SMOOCHUM 238
+#define NATIONAL_DEX_ELEKID 239
+#define NATIONAL_DEX_MAGBY 240
+#define NATIONAL_DEX_MILTANK 241
+#define NATIONAL_DEX_BLISSEY 242
+#define NATIONAL_DEX_RAIKOU 243
+#define NATIONAL_DEX_ENTEI 244
+#define NATIONAL_DEX_SUICUNE 245
+#define NATIONAL_DEX_LARVITAR 246
+#define NATIONAL_DEX_PUPITAR 247
+#define NATIONAL_DEX_TYRANITAR 248
+#define NATIONAL_DEX_LUGIA 249
+#define NATIONAL_DEX_HO_OH 250
+#define NATIONAL_DEX_CELEBI 251
+
+#define NATIONAL_DEX_OLD_UNOWN_B 387
+#define NATIONAL_DEX_OLD_UNOWN_C 388
+#define NATIONAL_DEX_OLD_UNOWN_D 389
+#define NATIONAL_DEX_OLD_UNOWN_E 390
+#define NATIONAL_DEX_OLD_UNOWN_F 391
+#define NATIONAL_DEX_OLD_UNOWN_G 392
+#define NATIONAL_DEX_OLD_UNOWN_H 393
+#define NATIONAL_DEX_OLD_UNOWN_I 394
+#define NATIONAL_DEX_OLD_UNOWN_J 395
+#define NATIONAL_DEX_OLD_UNOWN_K 396
+#define NATIONAL_DEX_OLD_UNOWN_L 397
+#define NATIONAL_DEX_OLD_UNOWN_M 398
+#define NATIONAL_DEX_OLD_UNOWN_N 399
+#define NATIONAL_DEX_OLD_UNOWN_O 400
+#define NATIONAL_DEX_OLD_UNOWN_P 401
+#define NATIONAL_DEX_OLD_UNOWN_Q 402
+#define NATIONAL_DEX_OLD_UNOWN_R 403
+#define NATIONAL_DEX_OLD_UNOWN_S 404
+#define NATIONAL_DEX_OLD_UNOWN_T 405
+#define NATIONAL_DEX_OLD_UNOWN_U 406
+#define NATIONAL_DEX_OLD_UNOWN_V 407
+#define NATIONAL_DEX_OLD_UNOWN_W 408
+#define NATIONAL_DEX_OLD_UNOWN_X 409
+#define NATIONAL_DEX_OLD_UNOWN_Y 410
+#define NATIONAL_DEX_OLD_UNOWN_Z 411
+
+#define NATIONAL_DEX_TREECKO 252
+#define NATIONAL_DEX_GROVYLE 253
+#define NATIONAL_DEX_SCEPTILE 254
+#define NATIONAL_DEX_TORCHIC 255
+#define NATIONAL_DEX_COMBUSKEN 256
+#define NATIONAL_DEX_BLAZIKEN 257
+#define NATIONAL_DEX_MUDKIP 258
+#define NATIONAL_DEX_MARSHTOMP 259
+#define NATIONAL_DEX_SWAMPERT 260
+#define NATIONAL_DEX_POOCHYENA 261
+#define NATIONAL_DEX_MIGHTYENA 262
+#define NATIONAL_DEX_ZIGZAGOON 263
+#define NATIONAL_DEX_LINOONE 264
+#define NATIONAL_DEX_WURMPLE 265
+#define NATIONAL_DEX_SILCOON 266
+#define NATIONAL_DEX_BEAUTIFLY 267
+#define NATIONAL_DEX_CASCOON 268
+#define NATIONAL_DEX_DUSTOX 269
+#define NATIONAL_DEX_LOTAD 270
+#define NATIONAL_DEX_LOMBRE 271
+#define NATIONAL_DEX_LUDICOLO 272
+#define NATIONAL_DEX_SEEDOT 273
+#define NATIONAL_DEX_NUZLEAF 274
+#define NATIONAL_DEX_SHIFTRY 275
+#define NATIONAL_DEX_NINCADA 290
+#define NATIONAL_DEX_NINJASK 291
+#define NATIONAL_DEX_SHEDINJA 292
+#define NATIONAL_DEX_TAILLOW 276
+#define NATIONAL_DEX_SWELLOW 277
+#define NATIONAL_DEX_SHROOMISH 285
+#define NATIONAL_DEX_BRELOOM 286
+#define NATIONAL_DEX_SPINDA 327
+#define NATIONAL_DEX_WINGULL 278
+#define NATIONAL_DEX_PELIPPER 279
+#define NATIONAL_DEX_SURSKIT 283
+#define NATIONAL_DEX_MASQUERAIN 284
+#define NATIONAL_DEX_WAILMER 320
+#define NATIONAL_DEX_WAILORD 321
+#define NATIONAL_DEX_SKITTY 300
+#define NATIONAL_DEX_DELCATTY 301
+#define NATIONAL_DEX_KECLEON 352
+#define NATIONAL_DEX_BALTOY 343
+#define NATIONAL_DEX_CLAYDOL 344
+#define NATIONAL_DEX_NOSEPASS 299
+#define NATIONAL_DEX_TORKOAL 324
+#define NATIONAL_DEX_SABLEYE 302
+#define NATIONAL_DEX_BARBOACH 339
+#define NATIONAL_DEX_WHISCASH 340
+#define NATIONAL_DEX_LUVDISC 370
+#define NATIONAL_DEX_CORPHISH 341
+#define NATIONAL_DEX_CRAWDAUNT 342
+#define NATIONAL_DEX_FEEBAS 349
+#define NATIONAL_DEX_MILOTIC 350
+#define NATIONAL_DEX_CARVANHA 318
+#define NATIONAL_DEX_SHARPEDO 319
+#define NATIONAL_DEX_TRAPINCH 328
+#define NATIONAL_DEX_VIBRAVA 329
+#define NATIONAL_DEX_FLYGON 330
+#define NATIONAL_DEX_MAKUHITA 296
+#define NATIONAL_DEX_HARIYAMA 297
+#define NATIONAL_DEX_ELECTRIKE 309
+#define NATIONAL_DEX_MANECTRIC 310
+#define NATIONAL_DEX_NUMEL 322
+#define NATIONAL_DEX_CAMERUPT 323
+#define NATIONAL_DEX_SPHEAL 363
+#define NATIONAL_DEX_SEALEO 364
+#define NATIONAL_DEX_WALREIN 365
+#define NATIONAL_DEX_CACNEA 331
+#define NATIONAL_DEX_CACTURNE 332
+#define NATIONAL_DEX_SNORUNT 361
+#define NATIONAL_DEX_GLALIE 362
+#define NATIONAL_DEX_LUNATONE 337
+#define NATIONAL_DEX_SOLROCK 338
+#define NATIONAL_DEX_AZURILL 298
+#define NATIONAL_DEX_SPOINK 325
+#define NATIONAL_DEX_GRUMPIG 326
+#define NATIONAL_DEX_PLUSLE 311
+#define NATIONAL_DEX_MINUN 312
+#define NATIONAL_DEX_MAWILE 303
+#define NATIONAL_DEX_MEDITITE 307
+#define NATIONAL_DEX_MEDICHAM 308
+#define NATIONAL_DEX_SWABLU 333
+#define NATIONAL_DEX_ALTARIA 334
+#define NATIONAL_DEX_WYNAUT 360
+#define NATIONAL_DEX_DUSKULL 355
+#define NATIONAL_DEX_DUSCLOPS 356
+#define NATIONAL_DEX_ROSELIA 315
+#define NATIONAL_DEX_SLAKOTH 287
+#define NATIONAL_DEX_VIGOROTH 288
+#define NATIONAL_DEX_SLAKING 289
+#define NATIONAL_DEX_GULPIN 316
+#define NATIONAL_DEX_SWALOT 317
+#define NATIONAL_DEX_TROPIUS 357
+#define NATIONAL_DEX_WHISMUR 293
+#define NATIONAL_DEX_LOUDRED 294
+#define NATIONAL_DEX_EXPLOUD 295
+#define NATIONAL_DEX_CLAMPERL 366
+#define NATIONAL_DEX_HUNTAIL 367
+#define NATIONAL_DEX_GOREBYSS 368
+#define NATIONAL_DEX_ABSOL 359
+#define NATIONAL_DEX_SHUPPET 353
+#define NATIONAL_DEX_BANETTE 354
+#define NATIONAL_DEX_SEVIPER 336
+#define NATIONAL_DEX_ZANGOOSE 335
+#define NATIONAL_DEX_RELICANTH 369
+#define NATIONAL_DEX_ARON 304
+#define NATIONAL_DEX_LAIRON 305
+#define NATIONAL_DEX_AGGRON 306
+#define NATIONAL_DEX_CASTFORM 351
+#define NATIONAL_DEX_VOLBEAT 313
+#define NATIONAL_DEX_ILLUMISE 314
+#define NATIONAL_DEX_LILEEP 345
+#define NATIONAL_DEX_CRADILY 346
+#define NATIONAL_DEX_ANORITH 347
+#define NATIONAL_DEX_ARMALDO 348
+#define NATIONAL_DEX_RALTS 280
+#define NATIONAL_DEX_KIRLIA 281
+#define NATIONAL_DEX_GARDEVOIR 282
+#define NATIONAL_DEX_BAGON 371
+#define NATIONAL_DEX_SHELGON 372
+#define NATIONAL_DEX_SALAMENCE 373
+#define NATIONAL_DEX_BELDUM 374
+#define NATIONAL_DEX_METANG 375
+#define NATIONAL_DEX_METAGROSS 376
+#define NATIONAL_DEX_REGIROCK 377
+#define NATIONAL_DEX_REGICE 378
+#define NATIONAL_DEX_REGISTEEL 379
+#define NATIONAL_DEX_KYOGRE 382
+#define NATIONAL_DEX_GROUDON 383
+#define NATIONAL_DEX_RAYQUAZA 384
+#define NATIONAL_DEX_LATIAS 380
+#define NATIONAL_DEX_LATIOS 381
+#define NATIONAL_DEX_JIRACHI 385
+#define NATIONAL_DEX_DEOXYS 386
+#define NATIONAL_DEX_CHIMECHO 358
+
+// Hoenn Dex Index Defines
+
+#define HOENN_DEX_BULBASAUR 203
+#define HOENN_DEX_IVYSAUR 204
+#define HOENN_DEX_VENUSAUR 205
+#define HOENN_DEX_CHARMANDER 206
+#define HOENN_DEX_CHARMELEON 207
+#define HOENN_DEX_CHARIZARD 208
+#define HOENN_DEX_SQUIRTLE 209
+#define HOENN_DEX_WARTORTLE 210
+#define HOENN_DEX_BLASTOISE 211
+#define HOENN_DEX_CATERPIE 212
+#define HOENN_DEX_METAPOD 213
+#define HOENN_DEX_BUTTERFREE 214
+#define HOENN_DEX_WEEDLE 215
+#define HOENN_DEX_KAKUNA 216
+#define HOENN_DEX_BEEDRILL 217
+#define HOENN_DEX_PIDGEY 218
+#define HOENN_DEX_PIDGEOTTO 219
+#define HOENN_DEX_PIDGEOT 220
+#define HOENN_DEX_RATTATA 221
+#define HOENN_DEX_RATICATE 222
+#define HOENN_DEX_SPEAROW 223
+#define HOENN_DEX_FEAROW 224
+#define HOENN_DEX_EKANS 225
+#define HOENN_DEX_ARBOK 226
+#define HOENN_DEX_PIKACHU 156
+#define HOENN_DEX_RAICHU 157
+#define HOENN_DEX_SANDSHREW 112
+#define HOENN_DEX_SANDSLASH 113
+#define HOENN_DEX_NIDORAN_F 227
+#define HOENN_DEX_NIDORINA 228
+#define HOENN_DEX_NIDOQUEEN 229
+#define HOENN_DEX_NIDORAN_M 230
+#define HOENN_DEX_NIDORINO 231
+#define HOENN_DEX_NIDOKING 232
+#define HOENN_DEX_CLEFAIRY 233
+#define HOENN_DEX_CLEFABLE 234
+#define HOENN_DEX_VULPIX 153
+#define HOENN_DEX_NINETALES 154
+#define HOENN_DEX_JIGGLYPUFF 138
+#define HOENN_DEX_WIGGLYTUFF 139
+#define HOENN_DEX_ZUBAT 63
+#define HOENN_DEX_GOLBAT 64
+#define HOENN_DEX_ODDISH 88
+#define HOENN_DEX_GLOOM 89
+#define HOENN_DEX_VILEPLUME 90
+#define HOENN_DEX_PARAS 235
+#define HOENN_DEX_PARASECT 236
+#define HOENN_DEX_VENONAT 237
+#define HOENN_DEX_VENOMOTH 238
+#define HOENN_DEX_DIGLETT 239
+#define HOENN_DEX_DUGTRIO 240
+#define HOENN_DEX_MEOWTH 241
+#define HOENN_DEX_PERSIAN 242
+#define HOENN_DEX_PSYDUCK 158
+#define HOENN_DEX_GOLDUCK 159
+#define HOENN_DEX_MANKEY 243
+#define HOENN_DEX_PRIMEAPE 244
+#define HOENN_DEX_GROWLITHE 245
+#define HOENN_DEX_ARCANINE 246
+#define HOENN_DEX_POLIWAG 247
+#define HOENN_DEX_POLIWHIRL 248
+#define HOENN_DEX_POLIWRATH 249
+#define HOENN_DEX_ABRA 39
+#define HOENN_DEX_KADABRA 40
+#define HOENN_DEX_ALAKAZAM 41
+#define HOENN_DEX_MACHOP 73
+#define HOENN_DEX_MACHOKE 74
+#define HOENN_DEX_MACHAMP 75
+#define HOENN_DEX_BELLSPROUT 250
+#define HOENN_DEX_WEEPINBELL 251
+#define HOENN_DEX_VICTREEBEL 252
+#define HOENN_DEX_TENTACOOL 66
+#define HOENN_DEX_TENTACRUEL 67
+#define HOENN_DEX_GEODUDE 57
+#define HOENN_DEX_GRAVELER 58
+#define HOENN_DEX_GOLEM 59
+#define HOENN_DEX_PONYTA 253
+#define HOENN_DEX_RAPIDASH 254
+#define HOENN_DEX_SLOWPOKE 255
+#define HOENN_DEX_SLOWBRO 256
+#define HOENN_DEX_MAGNEMITE 82
+#define HOENN_DEX_MAGNETON 83
+#define HOENN_DEX_FARFETCHD 257
+#define HOENN_DEX_DODUO 92
+#define HOENN_DEX_DODRIO 93
+#define HOENN_DEX_SEEL 258
+#define HOENN_DEX_DEWGONG 259
+#define HOENN_DEX_GRIMER 106
+#define HOENN_DEX_MUK 107
+#define HOENN_DEX_SHELLDER 260
+#define HOENN_DEX_CLOYSTER 261
+#define HOENN_DEX_GASTLY 262
+#define HOENN_DEX_HAUNTER 263
+#define HOENN_DEX_GENGAR 264
+#define HOENN_DEX_ONIX 265
+#define HOENN_DEX_DROWZEE 266
+#define HOENN_DEX_HYPNO 267
+#define HOENN_DEX_KRABBY 268
+#define HOENN_DEX_KINGLER 269
+#define HOENN_DEX_VOLTORB 84
+#define HOENN_DEX_ELECTRODE 85
+#define HOENN_DEX_EXEGGCUTE 270
+#define HOENN_DEX_EXEGGUTOR 271
+#define HOENN_DEX_CUBONE 272
+#define HOENN_DEX_MAROWAK 273
+#define HOENN_DEX_HITMONLEE 274
+#define HOENN_DEX_HITMONCHAN 275
+#define HOENN_DEX_LICKITUNG 276
+#define HOENN_DEX_KOFFING 108
+#define HOENN_DEX_WEEZING 109
+#define HOENN_DEX_RHYHORN 169
+#define HOENN_DEX_RHYDON 170
+#define HOENN_DEX_CHANSEY 277
+#define HOENN_DEX_TANGELA 278
+#define HOENN_DEX_KANGASKHAN 279
+#define HOENN_DEX_HORSEA 184
+#define HOENN_DEX_SEADRA 185
+#define HOENN_DEX_GOLDEEN 50
+#define HOENN_DEX_SEAKING 51
+#define HOENN_DEX_STARYU 143
+#define HOENN_DEX_STARMIE 144
+#define HOENN_DEX_MR_MIME 280
+#define HOENN_DEX_SCYTHER 281
+#define HOENN_DEX_JYNX 282
+#define HOENN_DEX_ELECTABUZZ 283
+#define HOENN_DEX_MAGMAR 284
+#define HOENN_DEX_PINSIR 167
+#define HOENN_DEX_TAUROS 285
+#define HOENN_DEX_MAGIKARP 52
+#define HOENN_DEX_GYARADOS 53
+#define HOENN_DEX_LAPRAS 286
+#define HOENN_DEX_DITTO 287
+#define HOENN_DEX_EEVEE 288
+#define HOENN_DEX_VAPOREON 289
+#define HOENN_DEX_JOLTEON 290
+#define HOENN_DEX_FLAREON 291
+#define HOENN_DEX_PORYGON 292
+#define HOENN_DEX_OMANYTE 293
+#define HOENN_DEX_OMASTAR 294
+#define HOENN_DEX_KABUTO 295
+#define HOENN_DEX_KABUTOPS 296
+#define HOENN_DEX_AERODACTYL 297
+#define HOENN_DEX_SNORLAX 298
+#define HOENN_DEX_ARTICUNO 299
+#define HOENN_DEX_ZAPDOS 300
+#define HOENN_DEX_MOLTRES 301
+#define HOENN_DEX_DRATINI 302
+#define HOENN_DEX_DRAGONAIR 303
+#define HOENN_DEX_DRAGONITE 304
+#define HOENN_DEX_MEWTWO 305
+#define HOENN_DEX_MEW 306
+#define HOENN_DEX_CHIKORITA 307
+#define HOENN_DEX_BAYLEEF 308
+#define HOENN_DEX_MEGANIUM 309
+#define HOENN_DEX_CYNDAQUIL 310
+#define HOENN_DEX_QUILAVA 311
+#define HOENN_DEX_TYPHLOSION 312
+#define HOENN_DEX_TOTODILE 313
+#define HOENN_DEX_CROCONAW 314
+#define HOENN_DEX_FERALIGATR 315
+#define HOENN_DEX_SENTRET 316
+#define HOENN_DEX_FURRET 317
+#define HOENN_DEX_HOOTHOOT 318
+#define HOENN_DEX_NOCTOWL 319
+#define HOENN_DEX_LEDYBA 320
+#define HOENN_DEX_LEDIAN 321
+#define HOENN_DEX_SPINARAK 322
+#define HOENN_DEX_ARIADOS 323
+#define HOENN_DEX_CROBAT 65
+#define HOENN_DEX_CHINCHOU 181
+#define HOENN_DEX_LANTURN 182
+#define HOENN_DEX_PICHU 155
+#define HOENN_DEX_CLEFFA 324
+#define HOENN_DEX_IGGLYBUFF 137
+#define HOENN_DEX_TOGEPI 325
+#define HOENN_DEX_TOGETIC 326
+#define HOENN_DEX_NATU 162
+#define HOENN_DEX_XATU 163
+#define HOENN_DEX_MAREEP 327
+#define HOENN_DEX_FLAAFFY 328
+#define HOENN_DEX_AMPHAROS 329
+#define HOENN_DEX_BELLOSSOM 91
+#define HOENN_DEX_MARILL 55
+#define HOENN_DEX_AZUMARILL 56
+#define HOENN_DEX_SUDOWOODO 330
+#define HOENN_DEX_POLITOED 331
+#define HOENN_DEX_HOPPIP 332
+#define HOENN_DEX_SKIPLOOM 333
+#define HOENN_DEX_JUMPLUFF 334
+#define HOENN_DEX_AIPOM 335
+#define HOENN_DEX_SUNKERN 336
+#define HOENN_DEX_SUNFLORA 337
+#define HOENN_DEX_YANMA 338
+#define HOENN_DEX_WOOPER 339
+#define HOENN_DEX_QUAGSIRE 340
+#define HOENN_DEX_ESPEON 341
+#define HOENN_DEX_UMBREON 342
+#define HOENN_DEX_MURKROW 343
+#define HOENN_DEX_SLOWKING 344
+#define HOENN_DEX_MISDREAVUS 345
+#define HOENN_DEX_UNOWN 346
+#define HOENN_DEX_WOBBUFFET 161
+#define HOENN_DEX_GIRAFARIG 164
+#define HOENN_DEX_PINECO 347
+#define HOENN_DEX_FORRETRESS 348
+#define HOENN_DEX_DUNSPARCE 349
+#define HOENN_DEX_GLIGAR 350
+#define HOENN_DEX_STEELIX 351
+#define HOENN_DEX_SNUBBULL 352
+#define HOENN_DEX_GRANBULL 353
+#define HOENN_DEX_QWILFISH 354
+#define HOENN_DEX_SCIZOR 355
+#define HOENN_DEX_SHUCKLE 356
+#define HOENN_DEX_HERACROSS 168
+#define HOENN_DEX_SNEASEL 357
+#define HOENN_DEX_TEDDIURSA 358
+#define HOENN_DEX_URSARING 359
+#define HOENN_DEX_SLUGMA 103
+#define HOENN_DEX_MAGCARGO 104
+#define HOENN_DEX_SWINUB 360
+#define HOENN_DEX_PILOSWINE 361
+#define HOENN_DEX_CORSOLA 180
+#define HOENN_DEX_REMORAID 362
+#define HOENN_DEX_OCTILLERY 363
+#define HOENN_DEX_DELIBIRD 364
+#define HOENN_DEX_MANTINE 365
+#define HOENN_DEX_SKARMORY 115
+#define HOENN_DEX_HOUNDOUR 366
+#define HOENN_DEX_HOUNDOOM 367
+#define HOENN_DEX_KINGDRA 186
+#define HOENN_DEX_PHANPY 165
+#define HOENN_DEX_DONPHAN 166
+#define HOENN_DEX_PORYGON2 368
+#define HOENN_DEX_STANTLER 369
+#define HOENN_DEX_SMEARGLE 370
+#define HOENN_DEX_TYROGUE 371
+#define HOENN_DEX_HITMONTOP 372
+#define HOENN_DEX_SMOOCHUM 373
+#define HOENN_DEX_ELEKID 374
+#define HOENN_DEX_MAGBY 375
+#define HOENN_DEX_MILTANK 376
+#define HOENN_DEX_BLISSEY 377
+#define HOENN_DEX_RAIKOU 378
+#define HOENN_DEX_ENTEI 379
+#define HOENN_DEX_SUICUNE 380
+#define HOENN_DEX_LARVITAR 381
+#define HOENN_DEX_PUPITAR 382
+#define HOENN_DEX_TYRANITAR 383
+#define HOENN_DEX_LUGIA 384
+#define HOENN_DEX_HO_OH 385
+#define HOENN_DEX_CELEBI 386
+
+#define HOENN_DEX_OLD_UNOWN_B 387
+#define HOENN_DEX_OLD_UNOWN_C 388
+#define HOENN_DEX_OLD_UNOWN_D 389
+#define HOENN_DEX_OLD_UNOWN_E 390
+#define HOENN_DEX_OLD_UNOWN_F 391
+#define HOENN_DEX_OLD_UNOWN_G 392
+#define HOENN_DEX_OLD_UNOWN_H 393
+#define HOENN_DEX_OLD_UNOWN_I 394
+#define HOENN_DEX_OLD_UNOWN_J 395
+#define HOENN_DEX_OLD_UNOWN_K 396
+#define HOENN_DEX_OLD_UNOWN_L 397
+#define HOENN_DEX_OLD_UNOWN_M 398
+#define HOENN_DEX_OLD_UNOWN_N 399
+#define HOENN_DEX_OLD_UNOWN_O 400
+#define HOENN_DEX_OLD_UNOWN_P 401
+#define HOENN_DEX_OLD_UNOWN_Q 402
+#define HOENN_DEX_OLD_UNOWN_R 403
+#define HOENN_DEX_OLD_UNOWN_S 404
+#define HOENN_DEX_OLD_UNOWN_T 405
+#define HOENN_DEX_OLD_UNOWN_U 406
+#define HOENN_DEX_OLD_UNOWN_V 407
+#define HOENN_DEX_OLD_UNOWN_W 408
+#define HOENN_DEX_OLD_UNOWN_X 409
+#define HOENN_DEX_OLD_UNOWN_Y 410
+#define HOENN_DEX_OLD_UNOWN_Z 411
+
+#define HOENN_DEX_TREECKO 1
+#define HOENN_DEX_GROVYLE 2
+#define HOENN_DEX_SCEPTILE 3
+#define HOENN_DEX_TORCHIC 4
+#define HOENN_DEX_COMBUSKEN 5
+#define HOENN_DEX_BLAZIKEN 6
+#define HOENN_DEX_MUDKIP 7
+#define HOENN_DEX_MARSHTOMP 8
+#define HOENN_DEX_SWAMPERT 9
+#define HOENN_DEX_POOCHYENA 10
+#define HOENN_DEX_MIGHTYENA 11
+#define HOENN_DEX_ZIGZAGOON 12
+#define HOENN_DEX_LINOONE 13
+#define HOENN_DEX_WURMPLE 14
+#define HOENN_DEX_SILCOON 15
+#define HOENN_DEX_BEAUTIFLY 16
+#define HOENN_DEX_CASCOON 17
+#define HOENN_DEX_DUSTOX 18
+#define HOENN_DEX_LOTAD 19
+#define HOENN_DEX_LOMBRE 20
+#define HOENN_DEX_LUDICOLO 21
+#define HOENN_DEX_SEEDOT 22
+#define HOENN_DEX_NUZLEAF 23
+#define HOENN_DEX_SHIFTRY 24
+#define HOENN_DEX_NINCADA 42
+#define HOENN_DEX_NINJASK 43
+#define HOENN_DEX_SHEDINJA 44
+#define HOENN_DEX_TAILLOW 25
+#define HOENN_DEX_SWELLOW 26
+#define HOENN_DEX_SHROOMISH 34
+#define HOENN_DEX_BRELOOM 35
+#define HOENN_DEX_SPINDA 114
+#define HOENN_DEX_WINGULL 27
+#define HOENN_DEX_PELIPPER 28
+#define HOENN_DEX_SURSKIT 32
+#define HOENN_DEX_MASQUERAIN 33
+#define HOENN_DEX_WAILMER 99
+#define HOENN_DEX_WAILORD 100
+#define HOENN_DEX_SKITTY 61
+#define HOENN_DEX_DELCATTY 62
+#define HOENN_DEX_KECLEON 145
+#define HOENN_DEX_BALTOY 131
+#define HOENN_DEX_CLAYDOL 132
+#define HOENN_DEX_NOSEPASS 60
+#define HOENN_DEX_TORKOAL 105
+#define HOENN_DEX_SABLEYE 68
+#define HOENN_DEX_BARBOACH 127
+#define HOENN_DEX_WHISCASH 128
+#define HOENN_DEX_LUVDISC 183
+#define HOENN_DEX_CORPHISH 129
+#define HOENN_DEX_CRAWDAUNT 130
+#define HOENN_DEX_FEEBAS 140
+#define HOENN_DEX_MILOTIC 141
+#define HOENN_DEX_CARVANHA 97
+#define HOENN_DEX_SHARPEDO 98
+#define HOENN_DEX_TRAPINCH 116
+#define HOENN_DEX_VIBRAVA 117
+#define HOENN_DEX_FLYGON 118
+#define HOENN_DEX_MAKUHITA 48
+#define HOENN_DEX_HARIYAMA 49
+#define HOENN_DEX_ELECTRIKE 78
+#define HOENN_DEX_MANECTRIC 79
+#define HOENN_DEX_NUMEL 101
+#define HOENN_DEX_CAMERUPT 102
+#define HOENN_DEX_SPHEAL 173
+#define HOENN_DEX_SEALEO 174
+#define HOENN_DEX_WALREIN 175
+#define HOENN_DEX_CACNEA 119
+#define HOENN_DEX_CACTURNE 120
+#define HOENN_DEX_SNORUNT 171
+#define HOENN_DEX_GLALIE 172
+#define HOENN_DEX_LUNATONE 125
+#define HOENN_DEX_SOLROCK 126
+#define HOENN_DEX_AZURILL 54
+#define HOENN_DEX_SPOINK 110
+#define HOENN_DEX_GRUMPIG 111
+#define HOENN_DEX_PLUSLE 80
+#define HOENN_DEX_MINUN 81
+#define HOENN_DEX_MAWILE 69
+#define HOENN_DEX_MEDITITE 76
+#define HOENN_DEX_MEDICHAM 77
+#define HOENN_DEX_SWABLU 121
+#define HOENN_DEX_ALTARIA 122
+#define HOENN_DEX_WYNAUT 160
+#define HOENN_DEX_DUSKULL 148
+#define HOENN_DEX_DUSCLOPS 149
+#define HOENN_DEX_ROSELIA 94
+#define HOENN_DEX_SLAKOTH 36
+#define HOENN_DEX_VIGOROTH 37
+#define HOENN_DEX_SLAKING 38
+#define HOENN_DEX_GULPIN 95
+#define HOENN_DEX_SWALOT 96
+#define HOENN_DEX_TROPIUS 150
+#define HOENN_DEX_WHISMUR 45
+#define HOENN_DEX_LOUDRED 46
+#define HOENN_DEX_EXPLOUD 47
+#define HOENN_DEX_CLAMPERL 176
+#define HOENN_DEX_HUNTAIL 177
+#define HOENN_DEX_GOREBYSS 178
+#define HOENN_DEX_ABSOL 152
+#define HOENN_DEX_SHUPPET 146
+#define HOENN_DEX_BANETTE 147
+#define HOENN_DEX_SEVIPER 124
+#define HOENN_DEX_ZANGOOSE 123
+#define HOENN_DEX_RELICANTH 179
+#define HOENN_DEX_ARON 70
+#define HOENN_DEX_LAIRON 71
+#define HOENN_DEX_AGGRON 72
+#define HOENN_DEX_CASTFORM 142
+#define HOENN_DEX_VOLBEAT 86
+#define HOENN_DEX_ILLUMISE 87
+#define HOENN_DEX_LILEEP 133
+#define HOENN_DEX_CRADILY 134
+#define HOENN_DEX_ANORITH 135
+#define HOENN_DEX_ARMALDO 136
+#define HOENN_DEX_RALTS 29
+#define HOENN_DEX_KIRLIA 30
+#define HOENN_DEX_GARDEVOIR 31
+#define HOENN_DEX_BAGON 187
+#define HOENN_DEX_SHELGON 188
+#define HOENN_DEX_SALAMENCE 189
+#define HOENN_DEX_BELDUM 190
+#define HOENN_DEX_METANG 191
+#define HOENN_DEX_METAGROSS 192
+#define HOENN_DEX_REGIROCK 193
+#define HOENN_DEX_REGICE 194
+#define HOENN_DEX_REGISTEEL 195
+#define HOENN_DEX_KYOGRE 198
+#define HOENN_DEX_GROUDON 199
+#define HOENN_DEX_RAYQUAZA 200
+#define HOENN_DEX_LATIAS 196
+#define HOENN_DEX_LATIOS 197
+#define HOENN_DEX_JIRACHI 201
+#define HOENN_DEX_DEOXYS 202
+#define HOENN_DEX_CHIMECHO 151
+
#endif // GUARD_CONSTANTS_SPECIES_H
diff --git a/include/contest.h b/include/contest.h
index 79c362908..33080225b 100644
--- a/include/contest.h
+++ b/include/contest.h
@@ -341,7 +341,8 @@ struct UnknownContestStruct7
u8 contestant;
};
-struct ContestAIInfo {
+struct ContestAIInfo
+{
/*0x00*/ u8 aiState;
/*0x02*/ u16 unk2;
/*0x04*/ u8 unk4;
@@ -352,9 +353,9 @@ struct ContestAIInfo {
/*0x14*/ u32 flags;
/*0x18*/ s16 scriptResult;
/*0x1A*/ s16 scriptArr[3];
- /*0x20*/ u32 stack[8];
- /*0x40*/ u8 unk40;
- /*0x41*/ u8 unk41;
+ /*0x20*/ const u8 *stack[8];
+ /*0x40*/ u8 stackSize;
+ /*0x41*/ u8 contestantId;
};
struct UnknownContestStruct5
@@ -406,7 +407,7 @@ extern struct ContestResources *gContestResources;
#define sContest (*gContestResources->field_0)
#define sContestantStatus (gContestResources->field_4)
#define shared192D0 (*gContestResources->field_8)
-#define eContestAI (*gContestResources->field_C)
+#define eContestAI (gContestResources->field_C)
#define shared19328 (*gContestResources->field_10)
#define shared19338 (*gContestResources->field_14)
@@ -424,5 +425,6 @@ void MakeContestantNervous(u8 p);
bool8 Contest_IsMonsTurnDisabled(u8 a);
bool8 sub_80DE1E8(u8 a);
void SetStartledString(u8 a, u8 b);
+s8 Contest_GetMoveExcitement(u16);
#endif //GUARD_CONTEST_H
diff --git a/include/contest_ai.h b/include/contest_ai.h
new file mode 100644
index 000000000..20b9eec10
--- /dev/null
+++ b/include/contest_ai.h
@@ -0,0 +1,16 @@
+#ifndef GUARD_CONTESTAI_H
+#define GUARD_CONTESTAI_H
+
+// AI states
+enum
+{
+ CONTESTAI_SETTING_UP,
+ CONTESTAI_PROCESSING,
+ CONTESTAI_FINISHED,
+ CONTESTAI_DO_NOT_PROCESS
+};
+
+void ContestAI_ResetAI(u8);
+u8 ContestAI_GetActionToUse(void);
+
+#endif // GUARD_CONTESTAI_H
diff --git a/include/contest_effect.h b/include/contest_effect.h
index 1f147aa09..5f48e1b8b 100644
--- a/include/contest_effect.h
+++ b/include/contest_effect.h
@@ -18,5 +18,8 @@ struct ContestEffect
extern const struct ContestMove gContestMoves[];
extern const struct ContestEffect gContestEffects[];
+extern const u8 *const gContestEffectDescriptionPointers[];
+
+bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove);
#endif //GUARD_CONTEST_EFFECT_H
diff --git a/include/graphics.h b/include/graphics.h
index 2dc5e99bf..a5acca625 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -3382,4 +3382,24 @@ extern const u8 gCreditsCopyrightEnd_Gfx[];
extern const u8 gPokenavConditionMarker_Gfx[];
extern const u16 gPokenavConditionMarker_Pal[];
+extern const u8 gUnknown_08D9862C[];
+extern const u8 gUnknown_08D98CC8[];
+extern const u8 gUnknown_08D987FC[];
+extern const u8 gUnknown_08D9898C[];
+extern const u8 gUnknown_08D98B28[];
+extern const u8 gUnknown_08D9853C[];
+extern const u8 gUnknown_08D85620[];
+extern const u16 gSummaryScreenWindow_Tilemap[];
+extern const u16 gMoveTypes_Pal[];
+extern const u8 gUnknown_08D97D0C[];
+
+extern const u16 gSummaryScreenPowAcc_Tilemap[];
+extern const u16 gUnknown_08DC3C34[];
+
+extern const u8 gMoveTypes_Gfx[];
+extern const u8 gUnknown_08D97BEC[];
+extern const u8 gUnknown_08D97CF4[];
+extern const u8 gStatusGfx_Icons[];
+extern const u8 gStatusPal_Icons[];
+
#endif //GUARD_GRAPHICS_H
diff --git a/include/learn_move.h b/include/learn_move.h
new file mode 100644
index 000000000..542ae6a5a
--- /dev/null
+++ b/include/learn_move.h
@@ -0,0 +1,7 @@
+#ifndef GUARD_LEARN_MOVE_H
+#define GUARD_LEARN_MOVE_H
+
+void TeachMoveTutorMove(void);
+void ShowHideHearts(s32);
+
+#endif //GUARD_LEARN_MOVE_H
diff --git a/include/list_menu.h b/include/list_menu.h
index d38980213..ee3d60f3d 100644
--- a/include/list_menu.h
+++ b/include/list_menu.h
@@ -1,6 +1,8 @@
#ifndef GUARD_LIST_MENU_H
#define GUARD_LIST_MENU_H
+#include "window.h"
+
#define LIST_NOTHING_CHOSEN -1
#define LIST_B_PRESSED -2
#define LIST_HEADER -3
diff --git a/include/m4a.h b/include/m4a.h
index a1f413cf5..595379495 100644
--- a/include/m4a.h
+++ b/include/m4a.h
@@ -17,6 +17,7 @@ void m4aMPlayFadeOutTemporarily(struct MusicPlayerInfo *mplayInfo, u16 speed);
void m4aMPlayFadeIn(struct MusicPlayerInfo *mplayInfo, u16 speed);
void m4aMPlayImmInit(struct MusicPlayerInfo *mplayInfo);
+extern struct MusicPlayerInfo gMPlayInfo_BGM;
extern struct MusicPlayerInfo gMPlayInfo_SE1;
extern struct MusicPlayerInfo gMPlayInfo_SE2;
extern struct MusicPlayerInfo gMPlayInfo_SE3;
diff --git a/include/menu.h b/include/menu.h
index 4cc43dd4c..054d8cb34 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -46,7 +46,7 @@ void PrintMenuTable(u8 windowId, u8 itemCount, const struct MenuAction *strs);
u8 InitMenuInUpperLeftCornerPlaySoundWhenAPressed(u8 windowId, u8 numItems, u8 initialCursorPos);
u8 GetMenuCursorPos(void);
s8 ProcessMenuInput(void);
-s8 ProcessMenuInputNoWrapAround(void);
+s8 Menu_ProcessInputNoWrapAround(void);
void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y);
void reset_temp_tile_data_buffers(void);
void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, u16 offset, u8 mode);
@@ -54,7 +54,7 @@ bool8 free_temp_tile_data_buffers_if_possible(void);
struct WindowTemplate CreateWindowTemplate(u8, u8, u8, u8, u8, u8, u16);
void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos);
void copy_decompressed_tile_data_to_vram_autofree(u8 bgId, const void *src, int size, u16 offset, u8 mode);
-s8 ProcessMenuInputNoWrap_(void);
+s8 Menu_ProcessInputNoWrap_(void);
s8 ProcessMenuInput_other(void);
void do_scheduled_bg_tilemap_copies_to_vram(void);
void clear_scheduled_bg_copies_to_vram(void);
@@ -85,5 +85,7 @@ void RemoveMapNamePopUpWindow(void);
u8 GetMapNamePopUpWindowId(void);
u8 AddMapNamePopUpWindow(void);
void sub_8199F74(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing);
+void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette);
+void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP);
#endif // GUARD_MENU_H
diff --git a/include/menu_helpers.h b/include/menu_helpers.h
index 387a89fdd..ee8501d18 100644
--- a/include/menu_helpers.h
+++ b/include/menu_helpers.h
@@ -2,6 +2,7 @@
#define GUARD_MENU_HELPERS_H
#include "task.h"
+#include "window.h"
// Exported type declarations
diff --git a/include/mon_markings.h b/include/mon_markings.h
index 852e8b4eb..22c3f14a4 100644
--- a/include/mon_markings.h
+++ b/include/mon_markings.h
@@ -21,4 +21,6 @@ struct PokemonMarkMenu
/*0x10B4*/ u8 tileLoadState;
}; // 10b8
+struct Sprite *sub_811FF94(u16 tileTag, u16 paletteTag, const u16 *palette);
+
#endif //POKEEMERALD_MON_MARKINGS_H
diff --git a/include/party_menu.h b/include/party_menu.h
index cb2c38891..02e481200 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -57,5 +57,8 @@ u8 sub_81B1360(void);
void sub_81B8904(u8 arg0, void (*callback)(void));
void OpenPartyMenuInBattle(u8 caseId);
u16 ItemIdToBattleMoveId(u16 itemId);
+u8 sub_81B205C(struct Pokemon* a);
+u8 sub_81B6D14(u16 a);
+bool8 hm_add_c3_without_phase_2(void);
#endif // GUARD_PARTY_MENU_H
diff --git a/include/pokeball.h b/include/pokeball.h
index 84178b5b2..30a1d8b11 100644
--- a/include/pokeball.h
+++ b/include/pokeball.h
@@ -18,6 +18,8 @@ enum
POKEBALL_COUNT
};
+extern const struct SpriteTemplate gBallSpriteTemplates[];
+
#define POKEBALL_PLAYER_SENDOUT 0xFF
#define POKEBALL_OPPONENT_SENDOUT 0xFE
diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h
index 03f4e0da6..9b5358f06 100644
--- a/include/pokemon_storage_system.h
+++ b/include/pokemon_storage_system.h
@@ -83,5 +83,6 @@ void CompactPartySlots(void);
u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request);
bool8 CheckFreePokemonStorageSpace(void);
u8 StorageGetCurrentBox(void);
+u8 sub_80D214C(struct BoxPokemon *a, u8 b, u8 c, u8 d);
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H
diff --git a/include/pokemon_summary_screen.h b/include/pokemon_summary_screen.h
index adadcea03..3d3b6f0e3 100755
--- a/include/pokemon_summary_screen.h
+++ b/include/pokemon_summary_screen.h
@@ -2,5 +2,24 @@
#define GUARD_POKEMON_SUMMARY_SCREEN_H
void sub_81C4F98(u8, void(*)(void));
+void ShowSelectMovePokemonSummaryScreen(struct Pokemon *, u8, u8, MainCallback, u16);
+
+// The Pokemon Summary Screen can operate in different modes. Certain features,
+// such as move re-ordering, are available in the different modes.
+enum PokemonSummaryScreenMode
+{
+ PSS_MODE_NORMAL,
+ PSS_MODE_UNK1,
+ PSS_MODE_UNK2,
+ PSS_MODE_SELECT_MOVE,
+};
+
+enum PokemonSummaryScreenPage
+{
+ PSS_PAGE_INFO,
+ PSS_PAGE_SKILLS,
+ PSS_PAGE_BATTLE_MOVES,
+ PSS_PAGE_CONTEST_MOVES,
+};
#endif // GUARD_POKEMON_SUMMARY_SCREEN_H
diff --git a/include/pokenav.h b/include/pokenav.h
index 2bca4db94..b595e2be9 100644
--- a/include/pokenav.h
+++ b/include/pokenav.h
@@ -1,6 +1,7 @@
#ifndef GUARD_POKENAV_H
#define GUARD_POKENAV_H
#include "player_pc.h"
+#include "list_menu.h"
bool8 sub_81D5C18(void);
bool8 sub_81D20BC(void *arg0);
@@ -22,6 +23,10 @@ void sub_81D1D04(u8);
bool8 sub_81D1C44(u8);
void sub_81D5FB4(u16*);
bool8 sub_81D4A58(struct EventObject*);
-
+void sub_81D2BF4(u8 *);
+u16 sub_81D2C3C(void);
+void sub_81D2C50(void);
+u8 sub_81D28C8(const struct ListMenuItem *items, u16 numChoices);
+void sub_81D2824(u16);
#endif //GUARD_POKENAV_H
diff --git a/include/region_map.h b/include/region_map.h
index af331ad81..6339f7a88 100644
--- a/include/region_map.h
+++ b/include/region_map.h
@@ -94,5 +94,6 @@ void CreateRegionMapCursor(u16 tileTag, u16 paletteTag);
u8 *GetMapName(u8 *, u16, u16);
bool32 sub_8124668(u8 mapSecId);
u8 *sub_81245DC(u8 *dest, u16 mapSecId);
+u8 *sub_8124610(u8 *dest, u16 mapSecId);
#endif //GUARD_REGION_MAP_H
diff --git a/include/strings.h b/include/strings.h
index 2577579c5..f88425b26 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -766,4 +766,62 @@ extern const u8 gText_Winona[];
extern const u8 gText_Phoebe[];
extern const u8 gText_Glacia[];
+extern const u8 gText_PkmnLearnedMove4[];
+extern const u8 gText_PkmnTryingToLearnMove[];
+extern const u8 gText_WhichMoveToForget2[];
+extern const u8 gText_StopTryingToTeachMove[];
+extern const u8 gText_12AndPoof[];
+extern const u8 gText_PkmnForgotMoveAndLearnedNew[];
+extern const u8 gText_TeachWhichMoveToPkmn[];
+extern const u8 gText_GiveUpTeachingNewMove[];
+extern const u8 gText_TeachX[];
+
+extern const u8 gText_LevelSymbol[];
+extern const u8 gText_PkmnInfo[];
+extern const u8 gText_PkmnSkills[];
+extern const u8 gText_BattleMoves[];
+extern const u8 gText_ContestMoves[];
+extern const u8 gText_HMMovesCantBeForgotten2[];
+extern const u8 gText_Info[];
+extern const u8 gText_Switch[];
+extern const u8 gText_RentalPkmn[];
+extern const u8 gText_TypeSlash[];
+extern const u8 gText_HP4[];
+extern const u8 gText_Attack3[];
+extern const u8 gText_Defense3[];
+extern const u8 gText_SpAtk4[];
+extern const u8 gText_SpDef4[];
+extern const u8 gText_Speed2[];
+extern const u8 gText_ExpPoints[];
+extern const u8 gText_NextLv[];
+extern const u8 gText_Status[];
+extern const u8 gText_Power[];
+extern const u8 gText_Accuracy2[];
+extern const u8 gText_Appeal[];
+extern const u8 gText_Jam[];
+extern const u8 gText_OTSlash[];
+extern const u8 gText_UnkCtrlF907F908[];
+extern const u8 gText_XNature[];
+extern const u8 gText_XNatureHatchedAtYZ[];
+extern const u8 gText_XNatureHatchedSomewhereAt[];
+extern const u8 gText_XNatureMetAtYZ[];
+extern const u8 gText_XNatureMetSomewhereAt[];
+extern const u8 gText_XNatureFatefulEncounter[];
+extern const u8 gText_XNatureProbablyMetAt[];
+extern const u8 gText_XNatureObtainedInTrade[];
+extern const u8 gText_EmptyString5[];
+extern const u8 gText_EggWillTakeALongTime[];
+extern const u8 gText_EggAboutToHatch[];
+extern const u8 gText_EggWillHatchSoon[];
+extern const u8 gText_EggWillTakeSomeTime[];
+extern const u8 gText_PeculiarEggNicePlace[];
+extern const u8 gText_PeculiarEggTrade[];
+extern const u8 gText_EggFromTraveler[];
+extern const u8 gText_EggFromHotSprings[];
+extern const u8 gText_OddEggFoundByCouple[];
+extern const u8 gText_None[];
+extern const u8 gText_RibbonsVar1[];
+extern const u8 gText_OneDash[];
+extern const u8 gText_TwoDashes[];
+
#endif //GUARD_STRINGS_H