summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/abilities.h81
-rw-r--r--include/battle.h81
-rw-r--r--include/battle_anim.h8
-rw-r--r--include/battle_bg.h13
-rw-r--r--include/battle_move_effects.h222
-rw-r--r--include/battle_setup.h87
-rw-r--r--include/battle_transition.h50
-rw-r--r--include/bike.h78
-rw-r--r--include/constants/battle_ai.h52
-rw-r--r--include/constants/battle_anim.h85
-rw-r--r--include/constants/flags.h519
-rw-r--r--include/constants/opponents.h (renamed from include/constants/opponent_constants.h)0
-rw-r--r--include/constants/region_map_sections.h219
-rw-r--r--include/constants/songs.h501
-rw-r--r--include/constants/trainers.h1129
-rw-r--r--include/constants/vars.h12
-rw-r--r--include/data/bard_music/pokemon.h2
-rw-r--r--include/data/pokedex_orders.h1199
-rw-r--r--include/data/region_map/region_map_entries.h820
-rw-r--r--include/decoration.h124
-rw-r--r--include/dewford_trend.h1
-rw-r--r--include/event_data.h4
-rwxr-xr-xinclude/event_scripts.h8
-rw-r--r--include/field_effect.h3
-rw-r--r--include/field_effect_helpers.h1
-rwxr-xr-xinclude/field_map_obj.h14
-rw-r--r--include/field_player_avatar.h22
-rw-r--r--include/field_screen.h1
-rw-r--r--include/flags.h119
-rw-r--r--include/game_stat.h62
-rw-r--r--include/gba/macro.h75
-rw-r--r--include/gba/types.h2
-rw-r--r--include/global.fieldmap.h49
-rw-r--r--include/global.h50
-rw-r--r--include/graphics.h2583
-rw-r--r--include/hold_effects.h72
-rw-r--r--include/international_string_util.h2
-rw-r--r--include/items.h396
-rw-r--r--include/landmark.h6
-rw-r--r--include/lilycove_lady.h2
-rw-r--r--include/list_menu.h23
-rw-r--r--include/mail.h16
-rw-r--r--include/mail_data.h12
-rw-r--r--include/map_constants.h1342
-rw-r--r--include/map_obj_8097404.h2
-rw-r--r--include/map_object_constants.h239
-rw-r--r--include/menu.h9
-rw-r--r--include/menu_helpers.h13
-rw-r--r--include/moves.h366
-rw-r--r--include/new_menu_helpers.h1
-rw-r--r--include/opponent_constants.h860
-rw-r--r--include/overworld.h3
-rw-r--r--include/palette.h2
-rw-r--r--include/party_menu.h4
-rw-r--r--include/pokeblock.h41
-rw-r--r--include/pokemon.h1
-rw-r--r--include/pokemon_3.h2
-rw-r--r--include/pokemon_icon.h1
-rw-r--r--include/pokenav.h11
-rw-r--r--include/region_map.h217
-rw-r--r--include/rom6.h8
-rw-r--r--include/safari_zone.h2
-rw-r--r--include/secret_base.h1
-rw-r--r--include/songs.h466
-rw-r--r--include/species.h454
-rw-r--r--include/sprite.h4
-rw-r--r--include/strings.h97
-rw-r--r--include/text_window.h4
-rw-r--r--include/trainer_classes.h74
-rw-r--r--include/trainer_front_sprites.h101
-rw-r--r--include/trainer_ids.h7
-rw-r--r--include/trainer_see.h30
-rw-r--r--include/tv.h1
-rw-r--r--include/vars.h75
-rw-r--r--include/wallclock.h6
75 files changed, 6888 insertions, 6361 deletions
diff --git a/include/abilities.h b/include/abilities.h
deleted file mode 100644
index 4c47025f8..000000000
--- a/include/abilities.h
+++ /dev/null
@@ -1,81 +0,0 @@
-enum
-{
- ABILITY_NONE,
- ABILITY_STENCH,
- ABILITY_DRIZZLE,
- ABILITY_SPEED_BOOST,
- ABILITY_BATTLE_ARMOR,
- ABILITY_STURDY,
- ABILITY_DAMP,
- ABILITY_LIMBER,
- ABILITY_SAND_VEIL,
- ABILITY_STATIC,
- ABILITY_VOLT_ABSORB,
- ABILITY_WATER_ABSORB,
- ABILITY_OBLIVIOUS,
- ABILITY_CLOUD_NINE,
- ABILITY_COMPOUND_EYES,
- ABILITY_INSOMNIA,
- ABILITY_COLOR_CHANGE,
- ABILITY_IMMUNITY,
- ABILITY_FLASH_FIRE,
- ABILITY_SHIELD_DUST,
- ABILITY_OWN_TEMPO,
- ABILITY_SUCTION_CUPS,
- ABILITY_INTIMIDATE,
- ABILITY_SHADOW_TAG,
- ABILITY_ROUGH_SKIN,
- ABILITY_WONDER_GUARD,
- ABILITY_LEVITATE,
- ABILITY_EFFECT_SPORE,
- ABILITY_SYNCHRONIZE,
- ABILITY_CLEAR_BODY,
- ABILITY_NATURAL_CURE,
- ABILITY_LIGHTNING_ROD,
- ABILITY_SERENE_GRACE,
- ABILITY_SWIFT_SWIM,
- ABILITY_CHLOROPHYLL,
- ABILITY_ILLUMINATE,
- ABILITY_TRACE,
- ABILITY_HUGE_POWER,
- ABILITY_POISON_POINT,
- ABILITY_INNER_FOCUS,
- ABILITY_MAGMA_ARMOR,
- ABILITY_WATER_VEIL,
- ABILITY_MAGNET_PULL,
- ABILITY_SOUNDPROOF,
- ABILITY_RAIN_DISH,
- ABILITY_SAND_STREAM,
- ABILITY_PRESSURE,
- ABILITY_THICK_FAT,
- ABILITY_EARLY_BIRD,
- ABILITY_FLAME_BODY,
- ABILITY_RUN_AWAY,
- ABILITY_KEEN_EYE,
- ABILITY_HYPER_CUTTER,
- ABILITY_PICKUP,
- ABILITY_TRUANT,
- ABILITY_HUSTLE,
- ABILITY_CUTE_CHARM,
- ABILITY_PLUS,
- ABILITY_MINUS,
- ABILITY_FORECAST,
- ABILITY_STICKY_HOLD,
- ABILITY_SHED_SKIN,
- ABILITY_GUTS,
- ABILITY_MARVEL_SCALE,
- ABILITY_LIQUID_OOZE,
- ABILITY_OVERGROW,
- ABILITY_BLAZE,
- ABILITY_TORRENT,
- ABILITY_SWARM,
- ABILITY_ROCK_HEAD,
- ABILITY_DROUGHT,
- ABILITY_ARENA_TRAP,
- ABILITY_VITAL_SPIRIT,
- ABILITY_WHITE_SMOKE,
- ABILITY_PURE_POWER,
- ABILITY_SHELL_ARMOR,
- ABILITY_CACOPHONY,
- ABILITY_AIR_LOCK
-}; \ No newline at end of file
diff --git a/include/battle.h b/include/battle.h
index 7c8c81f52..4fd252676 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -8,6 +8,7 @@
#include "battle_ai_switch_items.h"
#include "battle_gfx_sfx_util.h"
#include "battle_util2.h"
+#include "battle_bg.h"
/*
Banks are a name given to what could be called a 'battlerId' or 'monControllerId'.
@@ -53,7 +54,7 @@
#define BATTLE_TYPE_PALACE 0x20000
#define BATTLE_TYPE_ARENA 0x40000
#define BATTLE_TYPE_FACTORY 0x80000
-#define BATTLE_TYPE_x100000 0x100000
+#define BATTLE_TYPE_PIKE 0x100000
#define BATTLE_TYPE_PYRAMID 0x200000
#define BATTLE_TYPE_INGAME_PARTNER 0x400000
#define BATTLE_TYPE_x800000 0x800000
@@ -62,7 +63,7 @@
#define BATTLE_TYPE_x4000000 0x4000000
#define BATTLE_TYPE_SECRET_BASE 0x8000000
#define BATTLE_TYPE_GROUDON 0x10000000
-#define BATTLE_TYPE_KYORGE 0x20000000
+#define BATTLE_TYPE_KYOGRE 0x20000000
#define BATTLE_TYPE_RAYQUAZA 0x40000000
#define BATTLE_TYPE_x80000000 0x80000000
@@ -72,8 +73,8 @@
#define STEVEN_PARTNER_ID 0xC03
#define SECRET_BASE_OPPONENT 0x400
-#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000 | BATTLE_TYPE_PYRAMID)
-#define BATTLE_TYPE_FRONTIER_NO_PYRAMID (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_x100000)
+#define BATTLE_TYPE_FRONTIER (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE | BATTLE_TYPE_PYRAMID)
+#define BATTLE_TYPE_FRONTIER_NO_PYRAMID (BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOME | BATTLE_TYPE_PALACE | BATTLE_TYPE_ARENA | BATTLE_TYPE_FACTORY | BATTLE_TYPE_PIKE)
#define BATTLE_WON 0x1
#define BATTLE_LOST 0x2
@@ -229,9 +230,9 @@
#define BATTLE_TERRAIN_UNDERWATER 3
#define BATTLE_TERRAIN_WATER 4
#define BATTLE_TERRAIN_POND 5
-#define BATTLE_TERRAIN_ROCK 6
+#define BATTLE_TERRAIN_MOUNTAIN 6
#define BATTLE_TERRAIN_CAVE 7
-#define BATTLE_TERRAIN_INSIDE 8
+#define BATTLE_TERRAIN_BUILDING 8
#define BATTLE_TERRAIN_PLAIN 9
// array entries for battle communication
@@ -298,7 +299,6 @@ struct TrainerMonNoItemDefaultMoves
u16 species;
};
-u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 moveArg);
u8 GetBankSide(u8 bank);
struct TrainerMonItemDefaultMoves
@@ -328,10 +328,10 @@ struct TrainerMonItemCustomMoves
union TrainerMonPtr
{
- struct TrainerMonNoItemDefaultMoves* NoItemDefaultMoves;
- struct TrainerMonNoItemCustomMoves* NoItemCustomMoves;
- struct TrainerMonItemDefaultMoves* ItemDefaultMoves;
- struct TrainerMonItemCustomMoves* ItemCustomMoves;
+ struct TrainerMonNoItemDefaultMoves *NoItemDefaultMoves;
+ struct TrainerMonNoItemCustomMoves *NoItemCustomMoves;
+ struct TrainerMonItemDefaultMoves *ItemDefaultMoves;
+ struct TrainerMonItemCustomMoves *ItemCustomMoves;
};
struct Trainer
@@ -348,9 +348,6 @@ struct Trainer
/*0x24*/ union TrainerMonPtr party;
};
-#define PARTY_FLAG_CUSTOM_MOVES 0x1
-#define PARTY_FLAG_HAS_ITEM 0x2
-
extern const struct Trainer gTrainers[];
#define TRAINER_ENCOUNTER_MUSIC(trainer)((gTrainers[trainer].encounterMusic_gender & 0x7F))
@@ -781,52 +778,6 @@ extern struct BattleStruct* gBattleStruct;
#define MOVE_EFFECT_AFFECTS_USER 0x40
#define MOVE_EFFECT_CERTAIN 0x80
-// table ids for general animations
-#define B_ANIM_CASTFORM_CHANGE 0x0
-#define B_ANIM_STATS_CHANGE 0x1
-#define B_ANIM_SUBSTITUTE_FADE 0x2
-#define B_ANIM_SUBSTITUTE_APPEAR 0x3
-#define B_ANIM_x4 0x4
-#define B_ANIM_ITEM_KNOCKOFF 0x5
-#define B_ANIM_TURN_TRAP 0x6
-#define B_ANIM_ITEM_EFFECT 0x7
-#define B_ANIM_SMOKEBALL_ESCAPE 0x8
-#define B_ANIM_HANGED_ON 0x9
-#define B_ANIM_RAIN_CONTINUES 0xA
-#define B_ANIM_SUN_CONTINUES 0xB
-#define B_ANIM_SANDSTORM_CONTINUES 0xC
-#define B_ANIM_HAIL_CONTINUES 0xD
-#define B_ANIM_LEECH_SEED_DRAIN 0xE
-#define B_ANIM_MON_HIT 0xF
-#define B_ANIM_ITEM_STEAL 0x10
-#define B_ANIM_SNATCH_MOVE 0x11
-#define B_ANIM_FUTURE_SIGHT_HIT 0x12
-#define B_ANIM_DOOM_DESIRE_HIT 0x13
-#define B_ANIM_x14 0x14
-#define B_ANIM_INGRAIN_HEAL 0x15
-#define B_ANIM_WISH_HEAL 0x16
-
-// special animations table
-#define B_ANIM_LVL_UP 0x0
-#define B_ANIM_SWITCH_OUT_PLAYER_MON 0x1
-#define B_ANIM_SWITCH_OUT_OPPONENT_MON 0x2
-#define B_ANIM_BALL_THROW 0x3
-#define B_ANIM_SAFARI_BALL_THROW 0x4
-#define B_ANIM_SUBSTITUTE_TO_MON 0x5
-#define B_ANIM_MON_TO_SUBSTITUTE 0x6
-
-// status animation table
-#define B_ANIM_STATUS_PSN 0x0
-#define B_ANIM_STATUS_CONFUSION 0x1
-#define B_ANIM_STATUS_BRN 0x2
-#define B_ANIM_STATUS_INFATUATION 0x3
-#define B_ANIM_STATUS_SLP 0x4
-#define B_ANIM_STATUS_PRZ 0x5
-#define B_ANIM_STATUS_FRZ 0x6
-#define B_ANIM_STATUS_CURSED 0x7
-#define B_ANIM_STATUS_NIGHTMARE 0x8
-#define B_ANIM_STATUS_WRAPPED 0x9
-
#define GET_STAT_BUFF_ID(n)((n & 0xF)) // first four bits 0x1, 0x2, 0x4, 0x8
#define GET_STAT_BUFF_VALUE(n)(((n >> 4) & 7)) // 0x10, 0x20, 0x40
#define STAT_BUFF_NEGATIVE 0x80 // 0x80, the sign bit
@@ -867,16 +818,6 @@ struct BattleScripting
extern struct BattleScripting gBattleScripting;
-// functions
-
-// battle_1
-void LoadBattleTextboxAndBackground(void);
-void LoadBattleEntryBackground(void);
-void ApplyPlayerChosenFrameToBattleMenu(void);
-bool8 LoadChosenBattleElement(u8 caseId);
-void DrawMainBattleBackground(void);
-void task00_0800F6FC(u8 taskId);
-
enum
{
BACK_PIC_BRENDAN,
diff --git a/include/battle_anim.h b/include/battle_anim.h
index 9fb7ccd53..4046f7051 100644
--- a/include/battle_anim.h
+++ b/include/battle_anim.h
@@ -3,14 +3,6 @@
enum
{
- ANIM_BANK_ATTACKER,
- ANIM_BANK_TARGET,
- ANIM_BANK_ATK_PARTNER,
- ANIM_BANK_DEF_PARTNER,
-};
-
-enum
-{
BG_ANIM_SCREEN_SIZE,
BG_ANIM_AREA_OVERFLOW_MODE,
BG_ANIM2,
diff --git a/include/battle_bg.h b/include/battle_bg.h
new file mode 100644
index 000000000..7fc09fbf7
--- /dev/null
+++ b/include/battle_bg.h
@@ -0,0 +1,13 @@
+#ifndef GUARD_BATTLE_BG_H
+#define GUARD_BATTLE_BG_H
+
+void sub_8035658(void);
+void sub_80356D0(void);
+void ApplyPlayerChosenFrameToBattleMenu(void);
+void DrawMainBattleBackground(void);
+void LoadBattleTextboxAndBackground(void);
+void sub_8035D74(u8 taskId);
+void LoadBattleEntryBackground(void);
+bool8 LoadChosenBattleElement(u8 caseId);
+
+#endif // GUARD_BATTLE_BG_H
diff --git a/include/battle_move_effects.h b/include/battle_move_effects.h
deleted file mode 100644
index 23c19ded7..000000000
--- a/include/battle_move_effects.h
+++ /dev/null
@@ -1,222 +0,0 @@
-#ifndef GUARD_BATTLE_MOVE_EFFECTS_H
-#define GUARD_BATTLE_MOVE_EFFECTS_H
-
-enum
-{
- EFFECT_HIT,
- EFFECT_SLEEP,
- EFFECT_POISON_HIT,
- EFFECT_ABSORB,
- EFFECT_BURN_HIT,
- EFFECT_FREEZE_HIT,
- EFFECT_PARALYZE_HIT,
- EFFECT_EXPLOSION,
- EFFECT_DREAM_EATER,
- EFFECT_MIRROR_MOVE,
- EFFECT_ATTACK_UP,
- EFFECT_DEFENSE_UP,
- EFFECT_SPEED_UP,
- EFFECT_SPECIAL_ATTACK_UP,
- EFFECT_SPECIAL_DEFENSE_UP,
- EFFECT_ACCURACY_UP,
- EFFECT_EVASION_UP,
- EFFECT_ALWAYS_HIT,
- EFFECT_ATTACK_DOWN,
- EFFECT_DEFENSE_DOWN,
- EFFECT_SPEED_DOWN,
- EFFECT_SPECIAL_ATTACK_DOWN, // unused
- EFFECT_SPECIAL_DEFENSE_DOWN, // unused
- EFFECT_ACCURACY_DOWN,
- EFFECT_EVASION_DOWN,
- EFFECT_HAZE,
- EFFECT_BIDE,
- EFFECT_RAMPAGE,
- EFFECT_ROAR,
- EFFECT_MULTI_HIT,
- EFFECT_CONVERSION,
- EFFECT_FLINCH_HIT,
- EFFECT_RESTORE_HP,
- EFFECT_TOXIC,
- EFFECT_PAY_DAY,
- EFFECT_LIGHT_SCREEN,
- EFFECT_TRI_ATTACK,
- EFFECT_REST,
- EFFECT_OHKO,
- EFFECT_RAZOR_WIND,
- EFFECT_SUPER_FANG,
- EFFECT_DRAGON_RAGE,
- EFFECT_TRAP,
- EFFECT_HIGH_CRITICAL,
- EFFECT_DOUBLE_HIT,
- EFFECT_RECOIL_IF_MISS,
- EFFECT_MIST,
- EFFECT_FOCUS_ENERGY,
- EFFECT_RECOIL,
- EFFECT_CONFUSE,
- EFFECT_ATTACK_UP_2,
- EFFECT_DEFENSE_UP_2,
- EFFECT_SPEED_UP_2,
- EFFECT_SPECIAL_ATTACK_UP_2,
- EFFECT_SPECIAL_DEFENSE_UP_2,
- EFFECT_ACCURACY_UP_2,
- EFFECT_EVASION_UP_2,
- EFFECT_TRANSFORM,
- EFFECT_ATTACK_DOWN_2,
- EFFECT_DEFENSE_DOWN_2,
- EFFECT_SPEED_DOWN_2,
- EFFECT_SPECIAL_ATTACK_DOWN_2,
- EFFECT_SPECIAL_DEFENSE_DOWN_2,
- EFFECT_ACCURACY_DOWN_2,
- EFFECT_EVASION_DOWN_2,
- EFFECT_REFLECT,
- EFFECT_POISON,
- EFFECT_PARALYZE,
- EFFECT_ATTACK_DOWN_HIT,
- EFFECT_DEFENSE_DOWN_HIT,
- EFFECT_SPEED_DOWN_HIT,
- EFFECT_SPECIAL_ATTACK_DOWN_HIT,
- EFFECT_SPECIAL_DEFENSE_DOWN_HIT,
- EFFECT_ACCURACY_DOWN_HIT,
- EFFECT_EVASION_DOWN_HIT,
- EFFECT_SKY_ATTACK,
- EFFECT_CONFUSE_HIT,
- EFFECT_TWINEEDLE,
- EFFECT_VITAL_THROW,
- EFFECT_SUBSTITUTE,
- EFFECT_RECHARGE,
- EFFECT_RAGE,
- EFFECT_MIMIC,
- EFFECT_METRONOME,
- EFFECT_LEECH_SEED,
- EFFECT_SPLASH,
- EFFECT_DISABLE,
- EFFECT_LEVEL_DAMAGE,
- EFFECT_PSYWAVE,
- EFFECT_COUNTER,
- EFFECT_ENCORE,
- EFFECT_PAIN_SPLIT,
- EFFECT_SNORE,
- EFFECT_CONVERSION_2,
- EFFECT_LOCK_ON,
- EFFECT_SKETCH,
- EFFECT_UNUSED_60, // thaw
- EFFECT_SLEEP_TALK,
- EFFECT_DESTINY_BOND,
- EFFECT_FLAIL,
- EFFECT_SPITE,
- EFFECT_FALSE_SWIPE,
- EFFECT_HEAL_BELL,
- EFFECT_QUICK_ATTACK,
- EFFECT_TRIPLE_KICK,
- EFFECT_THIEF,
- EFFECT_MEAN_LOOK,
- EFFECT_NIGHTMARE,
- EFFECT_MINIMIZE,
- EFFECT_CURSE,
- EFFECT_UNUSED_6E,
- EFFECT_PROTECT,
- EFFECT_SPIKES,
- EFFECT_FORESIGHT,
- EFFECT_PERISH_SONG,
- EFFECT_SANDSTORM,
- EFFECT_ENDURE,
- EFFECT_ROLLOUT,
- EFFECT_SWAGGER,
- EFFECT_FURY_CUTTER,
- EFFECT_ATTRACT,
- EFFECT_RETURN,
- EFFECT_PRESENT,
- EFFECT_FRUSTRATION,
- EFFECT_SAFEGUARD,
- EFFECT_THAW_HIT,
- EFFECT_MAGNITUDE,
- EFFECT_BATON_PASS,
- EFFECT_PURSUIT,
- EFFECT_RAPID_SPIN,
- EFFECT_SONICBOOM,
- EFFECT_UNUSED_83,
- EFFECT_MORNING_SUN,
- EFFECT_SYNTHESIS,
- EFFECT_MOONLIGHT,
- EFFECT_HIDDEN_POWER,
- EFFECT_RAIN_DANCE,
- EFFECT_SUNNY_DAY,
- EFFECT_DEFENSE_UP_HIT,
- EFFECT_ATTACK_UP_HIT,
- EFFECT_ALL_STATS_UP_HIT,
- EFFECT_UNUSED_8D, // incomplete fake out in gen 2
- EFFECT_BELLY_DRUM,
- EFFECT_PSYCH_UP,
- EFFECT_MIRROR_COAT,
- EFFECT_SKULL_BASH,
- EFFECT_TWISTER,
- EFFECT_EARTHQUAKE,
- EFFECT_FUTURE_SIGHT,
- EFFECT_GUST,
- EFFECT_STOMP, // STOMP ASTONISH EXTRASENSORY NEEDLE_ARM
- EFFECT_SOLARBEAM,
- EFFECT_THUNDER,
- EFFECT_TELEPORT,
- EFFECT_BEAT_UP,
- EFFECT_SEMI_INVULNERABLE,
- EFFECT_DEFENSE_CURL,
- EFFECT_SOFTBOILED,
- EFFECT_FAKE_OUT,
- EFFECT_UPROAR,
- EFFECT_STOCKPILE,
- EFFECT_SPIT_UP,
- EFFECT_SWALLOW,
- EFFECT_UNUSED_A3,
- EFFECT_HAIL,
- EFFECT_TORMENT,
- EFFECT_FLATTER,
- EFFECT_WILL_O_WISP,
- EFFECT_MEMENTO,
- EFFECT_FACADE,
- EFFECT_FOCUS_PUNCH,
- EFFECT_SMELLINGSALT,
- EFFECT_FOLLOW_ME,
- EFFECT_NATURE_POWER,
- EFFECT_CHARGE,
- EFFECT_TAUNT,
- EFFECT_HELPING_HAND,
- EFFECT_TRICK,
- EFFECT_ROLE_PLAY,
- EFFECT_WISH,
- EFFECT_ASSIST,
- EFFECT_INGRAIN,
- EFFECT_SUPERPOWER,
- EFFECT_MAGIC_COAT,
- EFFECT_RECYCLE,
- EFFECT_REVENGE,
- EFFECT_BRICK_BREAK,
- EFFECT_YAWN,
- EFFECT_KNOCK_OFF,
- EFFECT_ENDEAVOR,
- EFFECT_ERUPTION,
- EFFECT_SKILL_SWAP,
- EFFECT_IMPRISON,
- EFFECT_REFRESH,
- EFFECT_GRUDGE,
- EFFECT_SNATCH,
- EFFECT_LOW_KICK,
- EFFECT_SECRET_POWER,
- EFFECT_DOUBLE_EDGE,
- EFFECT_TEETER_DANCE,
- EFFECT_BLAZE_KICK,
- EFFECT_MUD_SPORT,
- EFFECT_POISON_FANG,
- EFFECT_WEATHER_BALL,
- EFFECT_OVERHEAT,
- EFFECT_TICKLE,
- EFFECT_COSMIC_POWER,
- EFFECT_SKY_UPPERCUT,
- EFFECT_BULK_UP,
- EFFECT_POISON_TAIL,
- EFFECT_WATER_SPORT,
- EFFECT_CALM_MIND,
- EFFECT_DRAGON_DANCE,
- EFFECT_CAMOUFLAGE,
-};
-
-#endif // GUARD_BATTLE_MOVE_EFFECTS_H
diff --git a/include/battle_setup.h b/include/battle_setup.h
index 0168022cc..e4bae6fdb 100644
--- a/include/battle_setup.h
+++ b/include/battle_setup.h
@@ -1,18 +1,85 @@
#ifndef GUARD_BATTLE_SETUP_H
#define GUARD_BATTLE_SETUP_H
-void BattleSetup_StartScriptedWildBattle(void);
-u8 BattleSetup_GetTerrainId(void);
-u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data);
-void BattleSetup_StartBattlePikeWildBattle(void);
+enum
+{
+ TRAINER_BATTLE_NORMAL,
+ TRAINER_BATTLE_CONTINUE_SCRIPT_NO_MUSIC,
+ TRAINER_BATTLE_CONTINUE_SCRIPT,
+ TRAINER_BATTLE_NORMAL_NO_INTRO_TEXT,
+ TRAINER_BATTLE_DOUBLE,
+ TRAINER_BATTLE_REMATCH,
+ TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE,
+ TRAINER_BATTLE_REMATCH_DOUBLE,
+ TRAINER_BATTLE_CONTINUE_SCRIPT_DOUBLE_NO_MUSIC,
+ TRAINER_BATTLE_9,
+ TRAINER_BATTLE_SET_TRAINER_A,
+ TRAINER_BATTLE_SET_TRAINER_B,
+ TRAINER_BATTLE_12,
+};
+
+#define REMATCHES_COUNT 5
+#define REMATCH_TABLE_ENTRIES 78
+#define REMATCH_WALLY_ENTRY 64
+#define REMATCH_ELITE_FOUR_ENTRIES 73
+
+struct RematchTrainer
+{
+ u16 trainerIds[REMATCHES_COUNT];
+ u16 mapGroup;
+ u16 mapNum;
+};
+
+extern const struct RematchTrainer gRematchTable[REMATCH_TABLE_ENTRIES];
+
+extern u16 gTrainerBattleOpponent_A;
+extern u16 gTrainerBattleOpponent_B;
+extern u16 gPartnerTrainerId;
+
void BattleSetup_StartWildBattle(void);
+void BattleSetup_StartBattlePikeWildBattle(void);
void BattleSetup_StartRoamerBattle(void);
-
-u8 HasTrainerAlreadyBeenFought(u16);
-void trainer_flag_set(u16);
-void trainer_flag_clear(u16);
+void StartWallyTutorialBattle(void);
+void BattleSetup_StartScriptedWildBattle(void);
+void BattleSetup_StartLatiBattle(void);
+void BattleSetup_StartLegendaryBattle(void);
+void StartGroudonKyogreBattle(void);
+void StartRegiBattle(void);
+u8 BattleSetup_GetTerrainId(void);
+u8 sub_80B100C(s32 arg0);
+void ChooseStarter(void);
+void ResetTrainerOpponentIds(void);
+void SetMapVarsToTrainer(void);
+const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data);
+void ConfigureAndSetUpOneTrainerBattle(u8 trainerMapObjId, const u8 *trainerScript);
+void ConfigureTwoTrainersBattle(u8 trainerMapObjId, const u8 *trainerScript);
+void SetUpTwoTrainersBattle(void);
+bool32 GetTrainerFlagFromScriptPointer(const u8 *data);
+void sub_80B16D8(void);
+u8 GetTrainerBattleMode(void);
+bool8 GetTrainerFlag(void);
+bool8 HasTrainerBeenFought(u16 trainerId);
+void SetTrainerFlag(u16 trainerId);
+void ClearTrainerFlag(u16 trainerId);
void BattleSetup_StartTrainerBattle(void);
-u8 *BattleSetup_GetScriptAddrAfterBattle(void);
-u8 *BattleSetup_GetTrainerPostBattleScript(void);
+void BattleSetup_StartRematchBattle(void);
+void ShowTrainerIntroSpeech(void);
+const u8 *BattleSetup_GetScriptAddrAfterBattle(void);
+const u8 *BattleSetup_GetTrainerPostBattleScript(void);
+void ShowTrainerCantBattleSpeech(void);
+void SetUpTrainerEncounterMusic(void);
+const u8 *GetTrainerALoseText(void);
+const u8 *GetTrainerBLoseText(void);
+const u8 *GetTrainerWonSpeech(void);
+void UpdateRematchIfDefeated(s32 rematchTableId);
+void IncrementRematchStepCounter(void);
+void TryUpdateRandomTrainerRematches(u16 mapGroup, u16 mapNum);
+bool32 DoesSomeoneWantRematchIn(u16 mapGroup, u16 mapNum);
+bool32 IsRematchTrainerIn(u16 mapGroup, u16 mapNum);
+u16 GetLastBeatenRematchTrainerId(u16 trainerId);
+bool8 ShouldTryRematchBattle(void);
+bool8 IsTrainerReadyForRematch(void);
+void ShouldTryGetTrainerScript(void);
+u16 CountBattledRematchTeams(u16 trainerId);
#endif // GUARD_BATTLE_SETUP_H
diff --git a/include/battle_transition.h b/include/battle_transition.h
index 1603f5c93..84b5e37ec 100644
--- a/include/battle_transition.h
+++ b/include/battle_transition.h
@@ -2,5 +2,55 @@
#define GUARD_BATTLE_TRANSITION_H
void sub_8149DFC(u8 a1);
+void BattleTransition_StartOnField(u8 transitionID);
+void BattleTransition_Start(u8 transitionID);
+bool8 IsBattleTransitionDone(void);
+
+// credits for the names go to Dyskinesia and Tetrable
+// names are naturally subject to change
+
+#define B_TRANSITION_BLUR 0
+#define B_TRANSITION_SWIRL 1
+#define B_TRANSITION_SHUFFLE 2
+#define B_TRANSITION_BIG_POKEBALL 3
+#define B_TRANSITION_POKEBALLS_TRAIL 4
+#define B_TRANSITION_CLOCKWISE_BLACKFADE 5
+#define B_TRANSITION_RIPPLE 6
+#define B_TRANSITION_WAVE 7
+#define B_TRANSITION_SLICE 8
+#define B_TRANSITION_WHITEFADE 9
+#define B_TRANSITION_GRID_SQUARES 10
+#define B_TRANSITION_SHARDS 11
+#define B_TRANSITION_SYDNEY 12
+#define B_TRANSITION_PHOEBE 13
+#define B_TRANSITION_GLACIA 14
+#define B_TRANSITION_DRAKE 15
+#define B_TRANSITION_CHAMPION 16
+// added in Emerald
+#define B_TRANSITION_AQUA 17
+#define B_TRANSITION_MAGMA 18
+#define B_TRANSITION_REGICE 19
+#define B_TRANSITION_REGISTEEL 20
+#define B_TRANSITION_REGIROCK 21
+#define B_TRANSITION_KYOGRE 22
+#define B_TRANSITION_GROUDON 23
+#define B_TRANSITION_RAYQUAZA 24
+#define B_TRANSITION_25 25
+#define B_TRANSITION_26 26
+#define B_TRANSITION_27 27
+#define B_TRANSITION_28 28
+#define B_TRANSITION_29 29
+#define B_TRANSITION_30 30
+#define B_TRANSITION_31 31
+#define B_TRANSITION_32 32
+#define B_TRANSITION_33 33
+#define B_TRANSITION_34 34
+#define B_TRANSITION_35 35
+#define B_TRANSITION_36 36
+#define B_TRANSITION_37 37
+#define B_TRANSITION_38 38
+#define B_TRANSITION_39 39
+#define B_TRANSITION_40 40
+#define B_TRANSITION_41 41
#endif // GUARD_BATTLE_TRANSITION_H
diff --git a/include/bike.h b/include/bike.h
new file mode 100644
index 000000000..e625ad438
--- /dev/null
+++ b/include/bike.h
@@ -0,0 +1,78 @@
+#ifndef GUARD_BIKE_H
+#define GUARD_BIKE_H
+
+// the struct below is used for checking button combinations of the last input so that the acro can potentially perform a side/turn jump.
+// its possible that at some point Game Freak intended for the acro bike to have more complex tricks: but only the acro jump combinations can be seen in the final ROM.
+struct BikeHistoryInputInfo
+{
+ u32 dirHistoryMatch; // the direction you need to press
+ u32 abStartSelectHistoryMatch; // the button you need to press
+ u32 dirHistoryMask; // mask applied so that way only the recent nybble (the recent input) is checked
+ u32 abStartSelectHistoryMask; // mask applied so that way only the recent nybble (the recent input) is checked
+ const u8 *dirTimerHistoryList; // list of timers to check for direction before the button+dir combination can be verified.
+ const u8 *abStartSelectHistoryList; // list of timers to check for buttons before the button+dir combination can be verified.
+ u32 direction; // direction to jump
+};
+
+// Player speeds
+enum
+{
+ SPEED_STANDING,
+ SPEED_NORMAL,
+ SPEED_FAST,
+ SPEED_FASTER,
+ SPEED_FASTEST,
+};
+
+// mach bike transitions enum
+enum
+{
+ MACH_TRANS_FACE_DIRECTION,
+ MACH_TRANS_TURN_DIRECTION,
+ MACH_TRANS_KEEP_MOVING,
+ MACH_TRANS_START_MOVING
+};
+
+// Acro bike states
+enum
+{
+ ACRO_STATE_NORMAL,
+ ACRO_STATE_TURNING,
+ ACRO_STATE_WHEELIE_STANDING,
+ ACRO_STATE_BUNNY_HOP,
+ ACRO_STATE_WHEELIE_MOVING,
+ ACRO_STATE_SIDE_JUMP,
+ ACRO_STATE_TURN_JUMP,
+};
+
+// Acro bike transitions
+enum
+{
+ ACRO_TRANS_FACE_DIRECTION,
+ ACRO_TRANS_TURN_DIRECTION,
+ ACRO_TRANS_MOVING,
+ ACRO_TRANS_NORMAL_TO_WHEELIE,
+ ACRO_TRANS_WHEELIE_TO_NORMAL,
+ ACRO_TRANS_WHEELIE_IDLE,
+ ACRO_TRANS_WHEELIE_HOPPING_STANDING,
+ ACRO_TRANS_WHEELIE_HOPPING_MOVING,
+ ACRO_TRANS_SIDE_JUMP,
+ ACRO_TRANS_TURN_JUMP,
+ ACRO_TRANS_WHEELIE_MOVING,
+ ACRO_TRANS_WHEELIE_RISING_MOVING,
+ ACRO_TRANS_WHEELIE_LOWERING_MOVING,
+};
+
+void MovePlayerOnBike(u8 direction, u16 newKeys, u16 heldKeys);
+void Bike_TryAcroBikeHistoryUpdate(u16 newKeys, u16 heldKeys);
+bool8 RS_IsRunningDisallowed(u8 tile);
+bool8 IsBikingDisallowedByPlayer(void);
+bool8 player_should_look_direction_be_enforced_upon_movement(void);
+void GetOnOffBike(u8 transitionFlags);
+void BikeClearState(int newDirHistory, int newAbStartHistory);
+void Bike_UpdateBikeCounterSpeed(u8 counter);
+s16 GetPlayerSpeed(void);
+void Bike_HandleBumpySlopeJump(void);
+bool32 IsRunningDisallowed(u8 metatile);
+
+#endif // GUARD_BIKE_H
diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h
new file mode 100644
index 000000000..9d89d75f0
--- /dev/null
+++ b/include/constants/battle_ai.h
@@ -0,0 +1,52 @@
+#ifndef GUARD_BATTLE_AI_H
+#define GUARD_BATTLE_AI_H
+
+// banks enum
+#define AI_TARGET 0
+#define AI_USER 1
+#define AI_TARGET_PARTNER 2
+#define AI_USER_PARTNER 3
+
+// get_type command
+#define AI_TYPE1_TARGET 0
+#define AI_TYPE1_USER 1
+#define AI_TYPE2_TARGET 2
+#define AI_TYPE2_USER 3
+#define AI_TYPE_MOVE 4
+
+// type effectiveness
+#define AI_EFFECTIVENESS_x4 160
+#define AI_EFFECTIVENESS_x2 80
+#define AI_EFFECTIVENESS_x1 40
+#define AI_EFFECTIVENESS_x0_5 20
+#define AI_EFFECTIVENESS_x0_25 10
+#define AI_EFFECTIVENESS_x0 0
+
+// ai weather enum
+#define AI_WEATHER_SUN 0
+#define AI_WEATHER_RAIN 1
+#define AI_WEATHER_SANDSTORM 2
+#define AI_WEATHER_HAIL 3
+
+// get_how_powerful_move_is
+#define MOVE_POWER_DISCOURAGED 0
+#define MOVE_NOT_MOST_POWERFUL 1
+#define MOVE_MOST_POWERFUL 2
+
+// script's table id to bit
+#define AI_SCRIPT_CHECK_BAD_MOVE (1 << 0)
+#define AI_SCRIPT_CHECK_VIABILITY (1 << 1)
+#define AI_SCRIPT_TRY_TO_FAINT (1 << 2)
+#define AI_SCRIPT_SETUP_FIRST_TURN (1 << 3)
+#define AI_SCRIPT_RISKY (1 << 4)
+#define AI_SCRIPT_PREFER_STRONGEST_MOVE (1 << 5)
+#define AI_SCRIPT_PREFER_BATON_PASS (1 << 6)
+#define AI_SCRIPT_DOUBLE_BATTLE (1 << 7)
+#define AI_SCRIPT_HP_AWARE (1 << 8)
+#define AI_SCRIPT_UNKNOWN (1 << 9)
+// 10 - 28 are not used
+#define AI_SCRIPT_ROAMING (1 << 29)
+#define AI_SCRIPT_SAFARI (1 << 30)
+#define AI_SCRIPT_FIRST_BATTLE (1 << 31)
+
+#endif // GUARD_BATTLE_AI_H
diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h
new file mode 100644
index 000000000..de2fbebb1
--- /dev/null
+++ b/include/constants/battle_anim.h
@@ -0,0 +1,85 @@
+#ifndef GUARD_CONSTANTS_BATTLE_ANIM_H
+#define GUARD_CONSTANTS_BATTLE_ANIM_H
+
+// banks enum used in scripts
+#define ANIM_ATTACKER 0
+#define ANIM_TARGET 1
+#define ANIM_ATK_PARTNER 2
+#define ANIM_DEF_PARTNER 3
+
+// move background ids
+#define BG_DARK_ 0 // the same as BG_DARK but is unused
+#define BG_DARK 1
+#define BG_GHOST 2
+#define BG_PSYCHIC 3
+#define BG_IMPACT_OPPONENT 4
+#define BG_IMPACT_PLAYER 5
+#define BG_IMPACT_CONTESTS 6
+#define BG_DRILL 7
+#define BG_DRILL_CONTESTS 8
+#define BG_HIGHSPEED_OPPONENT 9
+#define BG_HIGHSPEED_PLAYER 10
+#define BG_THUNDER 11
+#define BG_GUILLOTINE_OPPONENT 12
+#define BG_GUILLOTINE_PLAYER 13
+#define BG_GUILLOTINE_CONTESTS 14
+#define BG_ICE 15
+#define BG_COSMIC 16
+#define BG_SEISMICTOSS_SKUUPPERCUT 17
+#define BG_FLYING 18
+#define BG_FLYING_CONTESTS 19
+#define BG_AURORABEAM 20
+#define BG_FISSURE 21
+#define BG_BUG_OPPONENT 22
+#define BG_BUG_PLAYER 23
+#define BG_SOLARBEAM_OPPONENT 24
+#define BG_SOLARBEAM_PLAYER 25
+#define BG_SOLARBEAM_CONTESTS 26
+
+// table ids for general animations
+#define B_ANIM_CASTFORM_CHANGE 0x0
+#define B_ANIM_STATS_CHANGE 0x1
+#define B_ANIM_SUBSTITUTE_FADE 0x2
+#define B_ANIM_SUBSTITUTE_APPEAR 0x3
+#define B_ANIM_x4 0x4
+#define B_ANIM_ITEM_KNOCKOFF 0x5
+#define B_ANIM_TURN_TRAP 0x6
+#define B_ANIM_ITEM_EFFECT 0x7
+#define B_ANIM_SMOKEBALL_ESCAPE 0x8
+#define B_ANIM_HANGED_ON 0x9
+#define B_ANIM_RAIN_CONTINUES 0xA
+#define B_ANIM_SUN_CONTINUES 0xB
+#define B_ANIM_SANDSTORM_CONTINUES 0xC
+#define B_ANIM_HAIL_CONTINUES 0xD
+#define B_ANIM_LEECH_SEED_DRAIN 0xE
+#define B_ANIM_MON_HIT 0xF
+#define B_ANIM_ITEM_STEAL 0x10
+#define B_ANIM_SNATCH_MOVE 0x11
+#define B_ANIM_FUTURE_SIGHT_HIT 0x12
+#define B_ANIM_DOOM_DESIRE_HIT 0x13
+#define B_ANIM_x14 0x14
+#define B_ANIM_INGRAIN_HEAL 0x15
+#define B_ANIM_WISH_HEAL 0x16
+
+// special animations table
+#define B_ANIM_LVL_UP 0x0
+#define B_ANIM_SWITCH_OUT_PLAYER_MON 0x1
+#define B_ANIM_SWITCH_OUT_OPPONENT_MON 0x2
+#define B_ANIM_BALL_THROW 0x3
+#define B_ANIM_SAFARI_BALL_THROW 0x4
+#define B_ANIM_SUBSTITUTE_TO_MON 0x5
+#define B_ANIM_MON_TO_SUBSTITUTE 0x6
+
+// status animation table
+#define B_ANIM_STATUS_PSN 0x0
+#define B_ANIM_STATUS_CONFUSION 0x1
+#define B_ANIM_STATUS_BRN 0x2
+#define B_ANIM_STATUS_INFATUATION 0x3
+#define B_ANIM_STATUS_SLP 0x4
+#define B_ANIM_STATUS_PRZ 0x5
+#define B_ANIM_STATUS_FRZ 0x6
+#define B_ANIM_STATUS_CURSED 0x7
+#define B_ANIM_STATUS_NIGHTMARE 0x8
+#define B_ANIM_STATUS_WRAPPED 0x9 // does not actually exist
+
+#endif // GUARD_CONSTANTS_BATTLE_ANIM_H
diff --git a/include/constants/flags.h b/include/constants/flags.h
index e74ef1ef0..941f40efb 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -120,7 +120,7 @@
#define FLAG_0x075 0x75
#define FLAG_0x076 0x76
#define FLAG_0x077 0x77
-#define FLAG_0x078 0x78
+#define FLAG_LANDMARK_MIRAGE_TOWER 0x78
#define FLAG_0x079 0x79
#define FLAG_0x07A 0x7A
#define FLAG_0x07B 0x7B
@@ -303,7 +303,7 @@
#define FLAG_0x12C 0x12C
#define FLAG_0x12D 0x12D
#define FLAG_0x12E 0x12E
-#define FLAG_0x12F 0x12F
+#define FLAG_HAS_MATCH_CALL 0x12F
#define FLAG_0x130 0x130
#define FLAG_0x131 0x131
#define FLAG_0x132 0x132
@@ -348,7 +348,7 @@
#define FLAG_0x159 0x159
#define FLAG_0x15A 0x15A
#define FLAG_0x15B 0x15B
-#define FLAG_0x15C 0x15C
+#define FLAG_MATCH_CALL_REGISTERED 0x15C
#define FLAG_0x15D 0x15D
#define FLAG_0x15E 0x15E
#define FLAG_0x15F 0x15F
@@ -1284,289 +1284,290 @@
#define FLAG_TRAINER_FLAG_START 0x500
#define TRAINERS_FLAG_NO 0x356
-#define CODE_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
+#define SYSTEM_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
// SYSTEM FLAGS
// 0x860
-#define FLAG_SYS_POKEMON_GET (CODE_FLAGS + 0)
-#define FLAG_SYS_POKEDEX_GET (CODE_FLAGS + 1)
-#define FLAG_SYS_POKENAV_GET (CODE_FLAGS + 2)
+#define FLAG_SYS_POKEMON_GET (SYSTEM_FLAGS + 0)
+#define FLAG_SYS_POKEDEX_GET (SYSTEM_FLAGS + 1)
+#define FLAG_SYS_POKENAV_GET (SYSTEM_FLAGS + 2)
// third one appears unused
-#define FLAG_SYS_GAME_CLEAR (CODE_FLAGS + 4)
-#define FLAG_SYS_CHAT_USED (CODE_FLAGS + 5)
-#define FLAG_SYS_HIPSTER_MEET (CODE_FLAGS + 6)
+#define FLAG_SYS_GAME_CLEAR (SYSTEM_FLAGS + 4)
+#define FLAG_SYS_CHAT_USED (SYSTEM_FLAGS + 5)
+#define FLAG_SYS_HIPSTER_MEET (SYSTEM_FLAGS + 6)
// badges
-#define FLAG_BADGE01_GET (CODE_FLAGS + 7)
-#define FLAG_BADGE02_GET (CODE_FLAGS + 8)
-#define FLAG_BADGE03_GET (CODE_FLAGS + 9)
-#define FLAG_BADGE04_GET (CODE_FLAGS + 0xA)
-#define FLAG_BADGE05_GET (CODE_FLAGS + 0xB)
-#define FLAG_BADGE06_GET (CODE_FLAGS + 0xC)
-#define FLAG_BADGE07_GET (CODE_FLAGS + 0xD)
-#define FLAG_BADGE08_GET (CODE_FLAGS + 0xE)
+#define FLAG_BADGE01_GET (SYSTEM_FLAGS + 7)
+#define FLAG_BADGE02_GET (SYSTEM_FLAGS + 8)
+#define FLAG_BADGE03_GET (SYSTEM_FLAGS + 9)
+#define FLAG_BADGE04_GET (SYSTEM_FLAGS + 0xA)
+#define FLAG_BADGE05_GET (SYSTEM_FLAGS + 0xB)
+#define FLAG_BADGE06_GET (SYSTEM_FLAGS + 0xC)
+#define FLAG_BADGE07_GET (SYSTEM_FLAGS + 0xD)
+#define FLAG_BADGE08_GET (SYSTEM_FLAGS + 0xE)
// cities and towns
-#define FLAG_VISITED_LITTLEROOT_TOWN (CODE_FLAGS + 0xF)
-#define FLAG_VISITED_OLDALE_TOWN (CODE_FLAGS + 0x10)
-#define FLAG_VISITED_DEWFORD_TOWN (CODE_FLAGS + 0x11)
-#define FLAG_VISITED_LAVARIDGE_TOWN (CODE_FLAGS + 0x12)
-#define FLAG_VISITED_FALLARBOR_TOWN (CODE_FLAGS + 0x13)
-#define FLAG_VISITED_VERDANTURF_TOWN (CODE_FLAGS + 0x14)
-#define FLAG_VISITED_PACIFIDLOG_TOWN (CODE_FLAGS + 0x15)
-#define FLAG_VISITED_PETALBURG_CITY (CODE_FLAGS + 0x16)
-#define FLAG_VISITED_SLATEPORT_CITY (CODE_FLAGS + 0x17)
-#define FLAG_VISITED_MAUVILLE_CITY (CODE_FLAGS + 0x18)
-#define FLAG_VISITED_RUSTBORO_CITY (CODE_FLAGS + 0x19)
-#define FLAG_VISITED_FORTREE_CITY (CODE_FLAGS + 0x1A)
-#define FLAG_VISITED_LILYCOVE_CITY (CODE_FLAGS + 0x1B)
-#define FLAG_VISITED_MOSSDEEP_CITY (CODE_FLAGS + 0x1C)
-#define FLAG_VISITED_SOOTOPOLIS_CITY (CODE_FLAGS + 0x1D)
-#define FLAG_VISITED_EVER_GRANDE_CITY (CODE_FLAGS + 0x1E)
+#define FLAG_VISITED_LITTLEROOT_TOWN (SYSTEM_FLAGS + 0xF)
+#define FLAG_VISITED_OLDALE_TOWN (SYSTEM_FLAGS + 0x10)
+#define FLAG_VISITED_DEWFORD_TOWN (SYSTEM_FLAGS + 0x11)
+#define FLAG_VISITED_LAVARIDGE_TOWN (SYSTEM_FLAGS + 0x12)
+#define FLAG_VISITED_FALLARBOR_TOWN (SYSTEM_FLAGS + 0x13)
+#define FLAG_VISITED_VERDANTURF_TOWN (SYSTEM_FLAGS + 0x14)
+#define FLAG_VISITED_PACIFIDLOG_TOWN (SYSTEM_FLAGS + 0x15)
+#define FLAG_VISITED_PETALBURG_CITY (SYSTEM_FLAGS + 0x16)
+#define FLAG_VISITED_SLATEPORT_CITY (SYSTEM_FLAGS + 0x17)
+#define FLAG_VISITED_MAUVILLE_CITY (SYSTEM_FLAGS + 0x18)
+#define FLAG_VISITED_RUSTBORO_CITY (SYSTEM_FLAGS + 0x19)
+#define FLAG_VISITED_FORTREE_CITY (SYSTEM_FLAGS + 0x1A)
+#define FLAG_VISITED_LILYCOVE_CITY (SYSTEM_FLAGS + 0x1B)
+#define FLAG_VISITED_MOSSDEEP_CITY (SYSTEM_FLAGS + 0x1C)
+#define FLAG_VISITED_SOOTOPOLIS_CITY (SYSTEM_FLAGS + 0x1D)
+#define FLAG_VISITED_EVER_GRANDE_CITY (SYSTEM_FLAGS + 0x1E)
-#define FLAG_0x87F (CODE_FLAGS + 0x1F)
-#define FLAG_0x880 (CODE_FLAGS + 0x20)
-#define FLAG_0x881 (CODE_FLAGS + 0x21)
-#define FLAG_0x882 (CODE_FLAGS + 0x22)
-#define FLAG_0x883 (CODE_FLAGS + 0x23)
-#define FLAG_0x884 (CODE_FLAGS + 0x24)
-#define FLAG_0x885 (CODE_FLAGS + 0x25)
-#define FLAG_0x886 (CODE_FLAGS + 0x26)
-#define FLAG_0x887 (CODE_FLAGS + 0x27)
+#define FLAG_0x87F (SYSTEM_FLAGS + 0x1F)
+#define FLAG_0x880 (SYSTEM_FLAGS + 0x20)
+#define FLAG_0x881 (SYSTEM_FLAGS + 0x21)
+#define FLAG_0x882 (SYSTEM_FLAGS + 0x22)
+#define FLAG_0x883 (SYSTEM_FLAGS + 0x23)
+#define FLAG_0x884 (SYSTEM_FLAGS + 0x24)
+#define FLAG_0x885 (SYSTEM_FLAGS + 0x25)
+#define FLAG_0x886 (SYSTEM_FLAGS + 0x26)
+#define FLAG_0x887 (SYSTEM_FLAGS + 0x27)
-#define FLAG_SYS_USE_FLASH (CODE_FLAGS + 0x28)
-#define FLAG_SYS_USE_STRENGTH (CODE_FLAGS + 0x29)
-#define FLAG_SYS_WEATHER_CTRL (CODE_FLAGS + 0x2A)
-#define FLAG_SYS_CYCLING_ROAD (CODE_FLAGS + 0x2B)
-#define FLAG_SYS_SAFARI_MODE (CODE_FLAGS + 0x2C)
-#define FLAG_SYS_CRUISE_MODE (CODE_FLAGS + 0x2D)
+#define FLAG_SYS_USE_FLASH (SYSTEM_FLAGS + 0x28)
+#define FLAG_SYS_USE_STRENGTH (SYSTEM_FLAGS + 0x29)
+#define FLAG_SYS_WEATHER_CTRL (SYSTEM_FLAGS + 0x2A)
+#define FLAG_SYS_CYCLING_ROAD (SYSTEM_FLAGS + 0x2B)
+#define FLAG_SYS_SAFARI_MODE (SYSTEM_FLAGS + 0x2C)
+#define FLAG_SYS_CRUISE_MODE (SYSTEM_FLAGS + 0x2D)
-#define FLAG_0x88E (CODE_FLAGS + 0x2E)
-#define FLAG_0x88F (CODE_FLAGS + 0x2F)
+#define FLAG_0x88E (SYSTEM_FLAGS + 0x2E)
+#define FLAG_0x88F (SYSTEM_FLAGS + 0x2F)
-#define FLAG_SYS_TV_HOME (CODE_FLAGS + 0x30)
-#define FLAG_SYS_TV_WATCH (CODE_FLAGS + 0x31)
-#define FLAG_SYS_TV_START (CODE_FLAGS + 0x32)
-#define FLAG_SYS_POPWORD_INPUT (CODE_FLAGS + 0x33)
-#define FLAG_SYS_MIX_RECORD (CODE_FLAGS + 0x34)
-#define FLAG_SYS_CLOCK_SET (CODE_FLAGS + 0x35)
-#define FLAG_SYS_NATIONAL_DEX (CODE_FLAGS + 0x36)
-#define FLAG_SYS_CAVE_SHIP (CODE_FLAGS + 0x37)
-#define FLAG_SYS_CAVE_WONDER (CODE_FLAGS + 0x38)
-#define FLAG_SYS_CAVE_BATTLE (CODE_FLAGS + 0x39)
-#define FLAG_SYS_SHOAL_TIDE (CODE_FLAGS + 0x3A)
-#define FLAG_SYS_RIBBON_GET (CODE_FLAGS + 0x3B)
+#define FLAG_SYS_TV_HOME (SYSTEM_FLAGS + 0x30)
+#define FLAG_SYS_TV_WATCH (SYSTEM_FLAGS + 0x31)
+#define FLAG_SYS_TV_START (SYSTEM_FLAGS + 0x32)
+#define FLAG_SYS_POPWORD_INPUT (SYSTEM_FLAGS + 0x33)
+#define FLAG_SYS_MIX_RECORD (SYSTEM_FLAGS + 0x34)
+#define FLAG_SYS_CLOCK_SET (SYSTEM_FLAGS + 0x35)
+#define FLAG_SYS_NATIONAL_DEX (SYSTEM_FLAGS + 0x36)
+#define FLAG_SYS_CAVE_SHIP (SYSTEM_FLAGS + 0x37)
+#define FLAG_SYS_CAVE_WONDER (SYSTEM_FLAGS + 0x38)
+#define FLAG_SYS_CAVE_BATTLE (SYSTEM_FLAGS + 0x39)
+#define FLAG_SYS_SHOAL_TIDE (SYSTEM_FLAGS + 0x3A)
+#define FLAG_SYS_RIBBON_GET (SYSTEM_FLAGS + 0x3B)
-#define FLAG_0x89C (CODE_FLAGS + 0x3C)
-#define FLAG_0x89D (CODE_FLAGS + 0x3D)
-#define FLAG_0x89E (CODE_FLAGS + 0x3E)
-#define FLAG_0x89F (CODE_FLAGS + 0x3F)
-#define FLAG_0x8A0 (CODE_FLAGS + 0x40)
-#define FLAG_0x8A1 (CODE_FLAGS + 0x41)
-#define FLAG_0x8A2 (CODE_FLAGS + 0x42)
-#define FLAG_0x8A3 (CODE_FLAGS + 0x43)
-#define FLAG_0x8A4 (CODE_FLAGS + 0x44)
-#define FLAG_0x8A5 (CODE_FLAGS + 0x45)
-#define FLAG_0x8A6 (CODE_FLAGS + 0x46)
-#define FLAG_0x8A7 (CODE_FLAGS + 0x47)
-#define FLAG_UNLOCK_BATTLE_FRONTIER (CODE_FLAGS + 0x48)
-#define FLAG_UNLOCK_SOUTHERN_ISLAND (CODE_FLAGS + 0x49)
-#define FLAG_0x8AA (CODE_FLAGS + 0x4A)
+#define FLAG_LANDMARK_FLOWER_SHOP (SYSTEM_FLAGS + 0x3C)
+#define FLAG_LANDMARK_MR_BRINEY_HOUSE (SYSTEM_FLAGS + 0x3D)
+#define FLAG_LANDMARK_ABANDONED_SHIP (SYSTEM_FLAGS + 0x3E)
+#define FLAG_LANDMARK_SEASHORE_HOUSE (SYSTEM_FLAGS + 0x3F)
+#define FLAG_LANDMARK_NEW_MAUVILLE (SYSTEM_FLAGS + 0x40)
+#define FLAG_LANDMARK_OLD_LADY_REST_SHOP (SYSTEM_FLAGS + 0x41)
+#define FLAG_LANDMARK_TRICK_HOUSE (SYSTEM_FLAGS + 0x42)
+#define FLAG_LANDMARK_WINSTRATE_FAMILY (SYSTEM_FLAGS + 0x43)
+#define FLAG_LANDMARK_GLASS_WORKSHOP (SYSTEM_FLAGS + 0x44)
+#define FLAG_LANDMARK_LANETTES_HOUSE (SYSTEM_FLAGS + 0x45)
+#define FLAG_LANDMARK_POKEMON_DAYCARE (SYSTEM_FLAGS + 0x46)
+#define FLAG_LANDMARK_SEAFLOOR_CAVERN (SYSTEM_FLAGS + 0x47)
+#define FLAG_LANDMARK_BATTLE_FRONTIER (SYSTEM_FLAGS + 0x48)
+#define FLAG_LANDMARK_SOUTHERN_ISLAND (SYSTEM_FLAGS + 0x49)
+#define FLAG_LANDMARK_FIERY_PATH (SYSTEM_FLAGS + 0x4A)
-#define FLAG_SYS_PC_LANETTE (CODE_FLAGS + 0x4B)
-#define FLAG_SYS_MYSTERY_EVENT_ENABLE (CODE_FLAGS + 0x4C)
-#define FLAG_SYS_ENC_UP_ITEM (CODE_FLAGS + 0x4D)
-#define FLAG_SYS_ENC_DOWN_ITEM (CODE_FLAGS + 0x4E)
-#define FLAG_SYS_BRAILLE_DIG (CODE_FLAGS + 0x4F)
-#define FLAG_SYS_BRAILLE_STRENGTH (CODE_FLAGS + 0x50)
-#define FLAG_SYS_BRAILLE_WAIT (CODE_FLAGS + 0x51)
-#define FLAG_SYS_BRAILLE_FLY (CODE_FLAGS + 0x52)
-#define FLAG_SYS_HAS_EON_TICKET (CODE_FLAGS + 0x53)
+#define FLAG_SYS_PC_LANETTE (SYSTEM_FLAGS + 0x4B)
+#define FLAG_SYS_MYSTERY_EVENT_ENABLE (SYSTEM_FLAGS + 0x4C)
+#define FLAG_SYS_ENC_UP_ITEM (SYSTEM_FLAGS + 0x4D)
+#define FLAG_SYS_ENC_DOWN_ITEM (SYSTEM_FLAGS + 0x4E)
+#define FLAG_SYS_BRAILLE_DIG (SYSTEM_FLAGS + 0x4F)
+#define FLAG_SYS_BRAILLE_STRENGTH (SYSTEM_FLAGS + 0x50)
+#define FLAG_SYS_BRAILLE_WAIT (SYSTEM_FLAGS + 0x51)
+#define FLAG_SYS_BRAILLE_FLY (SYSTEM_FLAGS + 0x52)
+#define FLAG_SYS_HAS_EON_TICKET (SYSTEM_FLAGS + 0x53)
-#define FLAG_SYS_POKEMON_LEAGUE_FLY (CODE_FLAGS + 0x54)
+#define FLAG_LANDMARK_POKEMON_LEAGUE (SYSTEM_FLAGS + 0x54)
-#define FLAG_0x8B5 (CODE_FLAGS + 0x55)
-#define FLAG_0x8B6 (CODE_FLAGS + 0x56)
-#define FLAG_0x8B7 (CODE_FLAGS + 0x57)
-#define FLAG_0x8B8 (CODE_FLAGS + 0x58)
-#define FLAG_0x8B9 (CODE_FLAGS + 0x59)
-#define FLAG_0x8BA (CODE_FLAGS + 0x5A)
-#define FLAG_0x8BB (CODE_FLAGS + 0x5B)
-#define FLAG_0x8BC (CODE_FLAGS + 0x5C)
+#define FLAG_LANDMARK_ISLAND_CAVE (SYSTEM_FLAGS + 0x55)
+#define FLAG_LANDMARK_DESERT_RUINS (SYSTEM_FLAGS + 0x56)
+#define FLAG_LANDMARK_FOSSIL_MANIACS_HOUSE (SYSTEM_FLAGS + 0x57)
+#define FLAG_LANDMARK_SCORCHED_SLAB (SYSTEM_FLAGS + 0x58)
+#define FLAG_LANDMARK_ANCIENT_TOMB (SYSTEM_FLAGS + 0x59)
+#define FLAG_LANDMARK_TUNNELERS_REST_HOUSE (SYSTEM_FLAGS + 0x5A)
+#define FLAG_LANDMARK_HUNTERS_HOUSE (SYSTEM_FLAGS + 0x5B)
+#define FLAG_LANDMARK_SEALED_CHAMBER (SYSTEM_FLAGS + 0x5C)
-#define FLAG_SYS_TV_LATI (CODE_FLAGS + 0x5D)
+#define FLAG_SYS_TV_LATI (SYSTEM_FLAGS + 0x5D)
-#define FLAG_0x8BE (CODE_FLAGS + 0x5E)
+#define FLAG_LANDMARK_SKY_PILLAR (SYSTEM_FLAGS + 0x5E)
-#define FLAG_SYS_SHOAL_ITEM (CODE_FLAGS + 0x5F)
-#define FLAG_SYS_B_DASH (CODE_FLAGS + 0x60) // got Running Shoes
-#define FLAG_SYS_CTRL_OBJ_DELETE (CODE_FLAGS + 0x61)
-#define FLAG_SYS_RESET_RTC_ENABLE (CODE_FLAGS + 0x62)
+#define FLAG_SYS_SHOAL_ITEM (SYSTEM_FLAGS + 0x5F)
+#define FLAG_SYS_B_DASH (SYSTEM_FLAGS + 0x60) // got Running Shoes
+#define FLAG_SYS_CTRL_OBJ_DELETE (SYSTEM_FLAGS + 0x61)
+#define FLAG_SYS_RESET_RTC_ENABLE (SYSTEM_FLAGS + 0x62)
-#define FLAG_0x8C3 (CODE_FLAGS + 0x63)
+#define FLAG_LANDMARK_BERRY_MASTERS_HOUSE (SYSTEM_FLAGS + 0x63)
-#define FLAG_SYS_TOWER_SILVER (CODE_FLAGS + 0x64)
-#define FLAG_SYS_TOWER_GOLD (CODE_FLAGS + 0x65)
-#define FLAG_SYS_DOME_SILVER (CODE_FLAGS + 0x66)
-#define FLAG_SYS_DOME_GOLD (CODE_FLAGS + 0x67)
-#define FLAG_SYS_PALACE_SILVER (CODE_FLAGS + 0x68)
-#define FLAG_SYS_PALACE_GOLD (CODE_FLAGS + 0x69)
-#define FLAG_SYS_ARENA_SILVER (CODE_FLAGS + 0x6A)
-#define FLAG_SYS_ARENA_GOLD (CODE_FLAGS + 0x6B)
-#define FLAG_SYS_FACTORY_SILVER (CODE_FLAGS + 0x6C)
-#define FLAG_SYS_FACTORY_GOLD (CODE_FLAGS + 0x6D)
-#define FLAG_SYS_PIKE_SILVER (CODE_FLAGS + 0x6E)
-#define FLAG_SYS_PIKE_GOLD (CODE_FLAGS + 0x6F)
-#define FLAG_SYS_PYRAMID_SILVER (CODE_FLAGS + 0x70)
-#define FLAG_SYS_PYRAMID_GOLD (CODE_FLAGS + 0x71)
-#define FLAG_SYS_FRONTIER_PASS (CODE_FLAGS + 0x72)
+#define FLAG_SYS_TOWER_SILVER (SYSTEM_FLAGS + 0x64)
+#define FLAG_SYS_TOWER_GOLD (SYSTEM_FLAGS + 0x65)
+#define FLAG_SYS_DOME_SILVER (SYSTEM_FLAGS + 0x66)
+#define FLAG_SYS_DOME_GOLD (SYSTEM_FLAGS + 0x67)
+#define FLAG_SYS_PALACE_SILVER (SYSTEM_FLAGS + 0x68)
+#define FLAG_SYS_PALACE_GOLD (SYSTEM_FLAGS + 0x69)
+#define FLAG_SYS_ARENA_SILVER (SYSTEM_FLAGS + 0x6A)
+#define FLAG_SYS_ARENA_GOLD (SYSTEM_FLAGS + 0x6B)
+#define FLAG_SYS_FACTORY_SILVER (SYSTEM_FLAGS + 0x6C)
+#define FLAG_SYS_FACTORY_GOLD (SYSTEM_FLAGS + 0x6D)
+#define FLAG_SYS_PIKE_SILVER (SYSTEM_FLAGS + 0x6E)
+#define FLAG_SYS_PIKE_GOLD (SYSTEM_FLAGS + 0x6F)
+#define FLAG_SYS_PYRAMID_SILVER (SYSTEM_FLAGS + 0x70)
+#define FLAG_SYS_PYRAMID_GOLD (SYSTEM_FLAGS + 0x71)
+#define FLAG_SYS_FRONTIER_PASS (SYSTEM_FLAGS + 0x72)
-#define FLAG_0x8D3 (CODE_FLAGS + 0x73)
-#define FLAG_0x8D4 (CODE_FLAGS + 0x74)
-#define FLAG_0x8D5 (CODE_FLAGS + 0x75)
-#define FLAG_0x8D6 (CODE_FLAGS + 0x76)
+#define FLAG_0x8D3 (SYSTEM_FLAGS + 0x73)
+#define FLAG_0x8D4 (SYSTEM_FLAGS + 0x74)
+#define FLAG_0x8D5 (SYSTEM_FLAGS + 0x75)
+#define FLAG_0x8D6 (SYSTEM_FLAGS + 0x76)
-#define FLAG_SYS_STORAGE_UNKNOWN_FLAG (CODE_FLAGS + 0x77)
+#define FLAG_SYS_STORAGE_UNKNOWN_FLAG (SYSTEM_FLAGS + 0x77)
-#define FLAG_0x8D8 (CODE_FLAGS + 0x78)
-#define FLAG_0x8D9 (CODE_FLAGS + 0x79)
-#define FLAG_0x8DA (CODE_FLAGS + 0x7A)
+#define FLAG_0x8D8 (SYSTEM_FLAGS + 0x78)
+#define FLAG_0x8D9 (SYSTEM_FLAGS + 0x79)
+#define FLAG_0x8DA (SYSTEM_FLAGS + 0x7A)
-#define FLAG_SYS_MYSTERY_GIFT_ENABLE (CODE_FLAGS + 0x7B)
+#define FLAG_SYS_MYSTERY_GIFT_ENABLE (SYSTEM_FLAGS + 0x7B)
-#define FLAG_0x8DC (CODE_FLAGS + 0x7C)
-#define FLAG_0x8DD (CODE_FLAGS + 0x7D)
-#define FLAG_0x8DE (CODE_FLAGS + 0x7E)
-#define FLAG_0x8DF (CODE_FLAGS + 0x7F)
-#define FLAG_0x8E0 (CODE_FLAGS + 0x80)
-#define FLAG_0x8E1 (CODE_FLAGS + 0x81)
-#define FLAG_0x8E2 (CODE_FLAGS + 0x82)
-#define FLAG_0x8E3 (CODE_FLAGS + 0x83)
-#define FLAG_0x8E4 (CODE_FLAGS + 0x84)
-#define FLAG_0x8E5 (CODE_FLAGS + 0x85)
-#define FLAG_0x8E6 (CODE_FLAGS + 0x86)
-#define FLAG_0x8E7 (CODE_FLAGS + 0x87)
-#define FLAG_0x8E8 (CODE_FLAGS + 0x88)
-#define FLAG_0x8E9 (CODE_FLAGS + 0x89)
-#define FLAG_0x8EA (CODE_FLAGS + 0x8A)
-#define FLAG_0x8EB (CODE_FLAGS + 0x8B)
-#define FLAG_0x8EC (CODE_FLAGS + 0x8C)
-#define FLAG_0x8ED (CODE_FLAGS + 0x8D)
-#define FLAG_0x8EE (CODE_FLAGS + 0x8E)
-#define FLAG_0x8EF (CODE_FLAGS + 0x8F)
-#define FLAG_0x8F0 (CODE_FLAGS + 0x90)
-#define FLAG_0x8F1 (CODE_FLAGS + 0x91)
-#define FLAG_0x8F2 (CODE_FLAGS + 0x92)
-#define FLAG_0x8F3 (CODE_FLAGS + 0x93)
-#define FLAG_0x8F4 (CODE_FLAGS + 0x94)
-#define FLAG_0x8F5 (CODE_FLAGS + 0x95)
-#define FLAG_0x8F6 (CODE_FLAGS + 0x96)
-#define FLAG_0x8F7 (CODE_FLAGS + 0x97)
-#define FLAG_0x8F8 (CODE_FLAGS + 0x98)
-#define FLAG_0x8F9 (CODE_FLAGS + 0x99)
-#define FLAG_0x8FA (CODE_FLAGS + 0x9A)
-#define FLAG_0x8FB (CODE_FLAGS + 0x9B)
-#define FLAG_0x8FC (CODE_FLAGS + 0x9C)
-#define FLAG_0x8FD (CODE_FLAGS + 0x9D)
-#define FLAG_0x8FE (CODE_FLAGS + 0x9E)
-#define FLAG_0x8FF (CODE_FLAGS + 0x9F)
-#define FLAG_0x900 (CODE_FLAGS + 0xA0)
-#define FLAG_0x901 (CODE_FLAGS + 0xA1)
-#define FLAG_0x902 (CODE_FLAGS + 0xA2)
-#define FLAG_0x903 (CODE_FLAGS + 0xA3)
-#define FLAG_0x904 (CODE_FLAGS + 0xA4)
-#define FLAG_0x905 (CODE_FLAGS + 0xA5)
-#define FLAG_0x906 (CODE_FLAGS + 0xA6)
-#define FLAG_0x907 (CODE_FLAGS + 0xA7)
-#define FLAG_0x908 (CODE_FLAGS + 0xA8)
-#define FLAG_0x909 (CODE_FLAGS + 0xA9)
-#define FLAG_0x90A (CODE_FLAGS + 0xAA)
-#define FLAG_0x90B (CODE_FLAGS + 0xAB)
-#define FLAG_0x90C (CODE_FLAGS + 0xAC)
-#define FLAG_0x90D (CODE_FLAGS + 0xAD)
-#define FLAG_0x90E (CODE_FLAGS + 0xAE)
-#define FLAG_0x90F (CODE_FLAGS + 0xAF)
-#define FLAG_0x910 (CODE_FLAGS + 0xB0)
-#define FLAG_0x911 (CODE_FLAGS + 0xB1)
-#define FLAG_0x912 (CODE_FLAGS + 0xB2)
-#define FLAG_0x913 (CODE_FLAGS + 0xB3)
-#define FLAG_0x914 (CODE_FLAGS + 0xB4)
-#define FLAG_0x915 (CODE_FLAGS + 0xB5)
-#define FLAG_0x916 (CODE_FLAGS + 0xB6)
-#define FLAG_0x917 (CODE_FLAGS + 0xB7)
-#define FLAG_0x918 (CODE_FLAGS + 0xB8)
-#define FLAG_0x919 (CODE_FLAGS + 0xB9)
-#define FLAG_0x91A (CODE_FLAGS + 0xBA)
-#define FLAG_0x91B (CODE_FLAGS + 0xBB)
-#define FLAG_0x91C (CODE_FLAGS + 0xBC)
-#define FLAG_0x91D (CODE_FLAGS + 0xBD)
-#define FLAG_0x91E (CODE_FLAGS + 0xBE)
-#define FLAG_0x91F (CODE_FLAGS + 0xBF)
-#define FLAG_0x920 (CODE_FLAGS + 0xC0)
-#define FLAG_0x921 (CODE_FLAGS + 0xC1)
-#define FLAG_0x922 (CODE_FLAGS + 0xC2)
-#define FLAG_0x923 (CODE_FLAGS + 0xC3)
-#define FLAG_0x924 (CODE_FLAGS + 0xC4)
-#define FLAG_0x925 (CODE_FLAGS + 0xC5)
-#define FLAG_0x926 (CODE_FLAGS + 0xC6)
-#define FLAG_0x927 (CODE_FLAGS + 0xC7)
-#define FLAG_0x928 (CODE_FLAGS + 0xC8)
-#define FLAG_0x929 (CODE_FLAGS + 0xC9)
-#define FLAG_0x92A (CODE_FLAGS + 0xCA)
-#define FLAG_0x92B (CODE_FLAGS + 0xCB)
-#define FLAG_0x92C (CODE_FLAGS + 0xCC)
-#define FLAG_0x92D (CODE_FLAGS + 0xCD)
-#define FLAG_0x92E (CODE_FLAGS + 0xCE)
-#define FLAG_0x92F (CODE_FLAGS + 0xCF)
-#define FLAG_0x930 (CODE_FLAGS + 0xD0)
-#define FLAG_0x931 (CODE_FLAGS + 0xD1)
-#define FLAG_0x932 (CODE_FLAGS + 0xD2)
-#define FLAG_0x933 (CODE_FLAGS + 0xD3)
-#define FLAG_0x934 (CODE_FLAGS + 0xD4)
-#define FLAG_0x935 (CODE_FLAGS + 0xD5)
-#define FLAG_0x936 (CODE_FLAGS + 0xD6)
-#define FLAG_0x937 (CODE_FLAGS + 0xD7)
-#define FLAG_0x938 (CODE_FLAGS + 0xD8)
-#define FLAG_0x939 (CODE_FLAGS + 0xD9)
-#define FLAG_0x93A (CODE_FLAGS + 0xDA)
-#define FLAG_0x93B (CODE_FLAGS + 0xDB)
-#define FLAG_0x93C (CODE_FLAGS + 0xDC)
-#define FLAG_0x93D (CODE_FLAGS + 0xDD)
-#define FLAG_0x93E (CODE_FLAGS + 0xDE)
-#define FLAG_0x93F (CODE_FLAGS + 0xDF)
-#define FLAG_0x940 (CODE_FLAGS + 0xE0)
-#define FLAG_0x941 (CODE_FLAGS + 0xE1)
-#define FLAG_0x942 (CODE_FLAGS + 0xE2)
-#define FLAG_0x943 (CODE_FLAGS + 0xE3)
-#define FLAG_0x944 (CODE_FLAGS + 0xE4)
-#define FLAG_0x945 (CODE_FLAGS + 0xE5)
-#define FLAG_0x946 (CODE_FLAGS + 0xE6)
-#define FLAG_0x947 (CODE_FLAGS + 0xE7)
-#define FLAG_0x948 (CODE_FLAGS + 0xE8)
-#define FLAG_0x949 (CODE_FLAGS + 0xE9)
-#define FLAG_0x94A (CODE_FLAGS + 0xEA)
-#define FLAG_0x94B (CODE_FLAGS + 0xEB)
-#define FLAG_0x94C (CODE_FLAGS + 0xEC)
-#define FLAG_0x94D (CODE_FLAGS + 0xED)
-#define FLAG_0x94E (CODE_FLAGS + 0xEE)
-#define FLAG_0x94F (CODE_FLAGS + 0xEF)
-#define FLAG_0x950 (CODE_FLAGS + 0xF0)
-#define FLAG_0x951 (CODE_FLAGS + 0xF1)
-#define FLAG_0x952 (CODE_FLAGS + 0xF2)
-#define FLAG_0x953 (CODE_FLAGS + 0xF3)
-#define FLAG_0x954 (CODE_FLAGS + 0xF4)
-#define FLAG_0x955 (CODE_FLAGS + 0xF5)
-#define FLAG_0x956 (CODE_FLAGS + 0xF6)
-#define FLAG_0x957 (CODE_FLAGS + 0xF7)
-#define FLAG_0x958 (CODE_FLAGS + 0xF8)
-#define FLAG_0x959 (CODE_FLAGS + 0xF9)
-#define FLAG_0x95A (CODE_FLAGS + 0xFA)
-#define FLAG_0x95B (CODE_FLAGS + 0xFB)
-#define FLAG_0x95C (CODE_FLAGS + 0xFC)
-#define FLAG_0x95D (CODE_FLAGS + 0xFD)
-#define FLAG_0x95E (CODE_FLAGS + 0xFE)
-#define FLAG_0x95F (CODE_FLAGS + 0xFF)
+#define FLAG_0x8DC (SYSTEM_FLAGS + 0x7C)
+#define FLAG_LANDMARK_ALTERING_CAVE (SYSTEM_FLAGS + 0x7D)
+#define FLAG_LANDMARK_DESERT_UNDERPASS (SYSTEM_FLAGS + 0x7E)
+#define FLAG_0x8DF (SYSTEM_FLAGS + 0x7F)
+#define FLAG_0x8E0 (SYSTEM_FLAGS + 0x80)
+#define FLAG_0x8E1 (SYSTEM_FLAGS + 0x81)
+#define FLAG_LANDMARK_TRAINER_HILL (SYSTEM_FLAGS + 0x82)
+
+#define FLAG_0x8E3 (SYSTEM_FLAGS + 0x83)
+#define FLAG_0x8E4 (SYSTEM_FLAGS + 0x84)
+#define FLAG_0x8E5 (SYSTEM_FLAGS + 0x85)
+#define FLAG_0x8E6 (SYSTEM_FLAGS + 0x86)
+#define FLAG_0x8E7 (SYSTEM_FLAGS + 0x87)
+#define FLAG_0x8E8 (SYSTEM_FLAGS + 0x88)
+#define FLAG_0x8E9 (SYSTEM_FLAGS + 0x89)
+#define FLAG_0x8EA (SYSTEM_FLAGS + 0x8A)
+#define FLAG_0x8EB (SYSTEM_FLAGS + 0x8B)
+#define FLAG_0x8EC (SYSTEM_FLAGS + 0x8C)
+#define FLAG_0x8ED (SYSTEM_FLAGS + 0x8D)
+#define FLAG_0x8EE (SYSTEM_FLAGS + 0x8E)
+#define FLAG_0x8EF (SYSTEM_FLAGS + 0x8F)
+#define FLAG_0x8F0 (SYSTEM_FLAGS + 0x90)
+#define FLAG_0x8F1 (SYSTEM_FLAGS + 0x91)
+#define FLAG_0x8F2 (SYSTEM_FLAGS + 0x92)
+#define FLAG_0x8F3 (SYSTEM_FLAGS + 0x93)
+#define FLAG_0x8F4 (SYSTEM_FLAGS + 0x94)
+#define FLAG_0x8F5 (SYSTEM_FLAGS + 0x95)
+#define FLAG_0x8F6 (SYSTEM_FLAGS + 0x96)
+#define FLAG_0x8F7 (SYSTEM_FLAGS + 0x97)
+#define FLAG_0x8F8 (SYSTEM_FLAGS + 0x98)
+#define FLAG_0x8F9 (SYSTEM_FLAGS + 0x99)
+#define FLAG_0x8FA (SYSTEM_FLAGS + 0x9A)
+#define FLAG_0x8FB (SYSTEM_FLAGS + 0x9B)
+#define FLAG_0x8FC (SYSTEM_FLAGS + 0x9C)
+#define FLAG_0x8FD (SYSTEM_FLAGS + 0x9D)
+#define FLAG_0x8FE (SYSTEM_FLAGS + 0x9E)
+#define FLAG_0x8FF (SYSTEM_FLAGS + 0x9F)
+#define FLAG_0x900 (SYSTEM_FLAGS + 0xA0)
+#define FLAG_0x901 (SYSTEM_FLAGS + 0xA1)
+#define FLAG_0x902 (SYSTEM_FLAGS + 0xA2)
+#define FLAG_0x903 (SYSTEM_FLAGS + 0xA3)
+#define FLAG_0x904 (SYSTEM_FLAGS + 0xA4)
+#define FLAG_0x905 (SYSTEM_FLAGS + 0xA5)
+#define FLAG_0x906 (SYSTEM_FLAGS + 0xA6)
+#define FLAG_0x907 (SYSTEM_FLAGS + 0xA7)
+#define FLAG_0x908 (SYSTEM_FLAGS + 0xA8)
+#define FLAG_0x909 (SYSTEM_FLAGS + 0xA9)
+#define FLAG_0x90A (SYSTEM_FLAGS + 0xAA)
+#define FLAG_0x90B (SYSTEM_FLAGS + 0xAB)
+#define FLAG_0x90C (SYSTEM_FLAGS + 0xAC)
+#define FLAG_0x90D (SYSTEM_FLAGS + 0xAD)
+#define FLAG_0x90E (SYSTEM_FLAGS + 0xAE)
+#define FLAG_0x90F (SYSTEM_FLAGS + 0xAF)
+#define FLAG_0x910 (SYSTEM_FLAGS + 0xB0)
+#define FLAG_0x911 (SYSTEM_FLAGS + 0xB1)
+#define FLAG_0x912 (SYSTEM_FLAGS + 0xB2)
+#define FLAG_0x913 (SYSTEM_FLAGS + 0xB3)
+#define FLAG_0x914 (SYSTEM_FLAGS + 0xB4)
+#define FLAG_0x915 (SYSTEM_FLAGS + 0xB5)
+#define FLAG_0x916 (SYSTEM_FLAGS + 0xB6)
+#define FLAG_0x917 (SYSTEM_FLAGS + 0xB7)
+#define FLAG_0x918 (SYSTEM_FLAGS + 0xB8)
+#define FLAG_0x919 (SYSTEM_FLAGS + 0xB9)
+#define FLAG_0x91A (SYSTEM_FLAGS + 0xBA)
+#define FLAG_0x91B (SYSTEM_FLAGS + 0xBB)
+#define FLAG_0x91C (SYSTEM_FLAGS + 0xBC)
+#define FLAG_0x91D (SYSTEM_FLAGS + 0xBD)
+#define FLAG_0x91E (SYSTEM_FLAGS + 0xBE)
+#define FLAG_0x91F (SYSTEM_FLAGS + 0xBF)
+#define FLAG_0x920 (SYSTEM_FLAGS + 0xC0)
+#define FLAG_0x921 (SYSTEM_FLAGS + 0xC1)
+#define FLAG_0x922 (SYSTEM_FLAGS + 0xC2)
+#define FLAG_0x923 (SYSTEM_FLAGS + 0xC3)
+#define FLAG_0x924 (SYSTEM_FLAGS + 0xC4)
+#define FLAG_0x925 (SYSTEM_FLAGS + 0xC5)
+#define FLAG_0x926 (SYSTEM_FLAGS + 0xC6)
+#define FLAG_0x927 (SYSTEM_FLAGS + 0xC7)
+#define FLAG_0x928 (SYSTEM_FLAGS + 0xC8)
+#define FLAG_0x929 (SYSTEM_FLAGS + 0xC9)
+#define FLAG_0x92A (SYSTEM_FLAGS + 0xCA)
+#define FLAG_0x92B (SYSTEM_FLAGS + 0xCB)
+#define FLAG_0x92C (SYSTEM_FLAGS + 0xCC)
+#define FLAG_0x92D (SYSTEM_FLAGS + 0xCD)
+#define FLAG_0x92E (SYSTEM_FLAGS + 0xCE)
+#define FLAG_0x92F (SYSTEM_FLAGS + 0xCF)
+#define FLAG_0x930 (SYSTEM_FLAGS + 0xD0)
+#define FLAG_0x931 (SYSTEM_FLAGS + 0xD1)
+#define FLAG_0x932 (SYSTEM_FLAGS + 0xD2)
+#define FLAG_0x933 (SYSTEM_FLAGS + 0xD3)
+#define FLAG_0x934 (SYSTEM_FLAGS + 0xD4)
+#define FLAG_0x935 (SYSTEM_FLAGS + 0xD5)
+#define FLAG_0x936 (SYSTEM_FLAGS + 0xD6)
+#define FLAG_0x937 (SYSTEM_FLAGS + 0xD7)
+#define FLAG_0x938 (SYSTEM_FLAGS + 0xD8)
+#define FLAG_0x939 (SYSTEM_FLAGS + 0xD9)
+#define FLAG_0x93A (SYSTEM_FLAGS + 0xDA)
+#define FLAG_0x93B (SYSTEM_FLAGS + 0xDB)
+#define FLAG_0x93C (SYSTEM_FLAGS + 0xDC)
+#define FLAG_0x93D (SYSTEM_FLAGS + 0xDD)
+#define FLAG_0x93E (SYSTEM_FLAGS + 0xDE)
+#define FLAG_0x93F (SYSTEM_FLAGS + 0xDF)
+#define FLAG_0x940 (SYSTEM_FLAGS + 0xE0)
+#define FLAG_0x941 (SYSTEM_FLAGS + 0xE1)
+#define FLAG_0x942 (SYSTEM_FLAGS + 0xE2)
+#define FLAG_0x943 (SYSTEM_FLAGS + 0xE3)
+#define FLAG_0x944 (SYSTEM_FLAGS + 0xE4)
+#define FLAG_0x945 (SYSTEM_FLAGS + 0xE5)
+#define FLAG_0x946 (SYSTEM_FLAGS + 0xE6)
+#define FLAG_0x947 (SYSTEM_FLAGS + 0xE7)
+#define FLAG_0x948 (SYSTEM_FLAGS + 0xE8)
+#define FLAG_0x949 (SYSTEM_FLAGS + 0xE9)
+#define FLAG_0x94A (SYSTEM_FLAGS + 0xEA)
+#define FLAG_0x94B (SYSTEM_FLAGS + 0xEB)
+#define FLAG_0x94C (SYSTEM_FLAGS + 0xEC)
+#define FLAG_0x94D (SYSTEM_FLAGS + 0xED)
+#define FLAG_0x94E (SYSTEM_FLAGS + 0xEE)
+#define FLAG_0x94F (SYSTEM_FLAGS + 0xEF)
+#define FLAG_0x950 (SYSTEM_FLAGS + 0xF0)
+#define FLAG_0x951 (SYSTEM_FLAGS + 0xF1)
+#define FLAG_0x952 (SYSTEM_FLAGS + 0xF2)
+#define FLAG_0x953 (SYSTEM_FLAGS + 0xF3)
+#define FLAG_0x954 (SYSTEM_FLAGS + 0xF4)
+#define FLAG_0x955 (SYSTEM_FLAGS + 0xF5)
+#define FLAG_0x956 (SYSTEM_FLAGS + 0xF6)
+#define FLAG_0x957 (SYSTEM_FLAGS + 0xF7)
+#define FLAG_0x958 (SYSTEM_FLAGS + 0xF8)
+#define FLAG_0x959 (SYSTEM_FLAGS + 0xF9)
+#define FLAG_0x95A (SYSTEM_FLAGS + 0xFA)
+#define FLAG_0x95B (SYSTEM_FLAGS + 0xFB)
+#define FLAG_0x95C (SYSTEM_FLAGS + 0xFC)
+#define FLAG_0x95D (SYSTEM_FLAGS + 0xFD)
+#define FLAG_0x95E (SYSTEM_FLAGS + 0xFE)
+#define FLAG_0x95F (SYSTEM_FLAGS + 0xFF)
// SPECIAL FLAGS (unknown purpose)
#define FLAG_SPECIAL_FLAG_0x4000 0x4000
diff --git a/include/constants/opponent_constants.h b/include/constants/opponents.h
index 680a63763..680a63763 100644
--- a/include/constants/opponent_constants.h
+++ b/include/constants/opponents.h
diff --git a/include/constants/region_map_sections.h b/include/constants/region_map_sections.h
new file mode 100644
index 000000000..b9c518b1b
--- /dev/null
+++ b/include/constants/region_map_sections.h
@@ -0,0 +1,219 @@
+#ifndef GUARD_REGIONMAPSEC_H
+#define GUARD_REGIONMAPSEC_H
+
+#define MAPSEC_LITTLEROOT_TOWN 0x00
+#define MAPSEC_OLDALE_TOWN 0x01
+#define MAPSEC_DEWFORD_TOWN 0x02
+#define MAPSEC_LAVARIDGE_TOWN 0x03
+#define MAPSEC_FALLARBOR_TOWN 0x04
+#define MAPSEC_VERDANTURF_TOWN 0x05
+#define MAPSEC_PACIFIDLOG_TOWN 0x06
+#define MAPSEC_PETALBURG_CITY 0x07
+#define MAPSEC_SLATEPORT_CITY 0x08
+#define MAPSEC_MAUVILLE_CITY 0x09
+#define MAPSEC_RUSTBORO_CITY 0x0A
+#define MAPSEC_FORTREE_CITY 0x0B
+#define MAPSEC_LILYCOVE_CITY 0x0C
+#define MAPSEC_MOSSDEEP_CITY 0x0D
+#define MAPSEC_SOOTOPOLIS_CITY 0x0E
+#define MAPSEC_EVER_GRANDE_CITY 0x0F
+#define MAPSEC_ROUTE_101 0x10
+#define MAPSEC_ROUTE_102 0x11
+#define MAPSEC_ROUTE_103 0x12
+#define MAPSEC_ROUTE_104 0x13
+#define MAPSEC_ROUTE_105 0x14
+#define MAPSEC_ROUTE_106 0x15
+#define MAPSEC_ROUTE_107 0x16
+#define MAPSEC_ROUTE_108 0x17
+#define MAPSEC_ROUTE_109 0x18
+#define MAPSEC_ROUTE_110 0x19
+#define MAPSEC_ROUTE_111 0x1A
+#define MAPSEC_ROUTE_112 0x1B
+#define MAPSEC_ROUTE_113 0x1C
+#define MAPSEC_ROUTE_114 0x1D
+#define MAPSEC_ROUTE_115 0x1E
+#define MAPSEC_ROUTE_116 0x1F
+#define MAPSEC_ROUTE_117 0x20
+#define MAPSEC_ROUTE_118 0x21
+#define MAPSEC_ROUTE_119 0x22
+#define MAPSEC_ROUTE_120 0x23
+#define MAPSEC_ROUTE_121 0x24
+#define MAPSEC_ROUTE_122 0x25
+#define MAPSEC_ROUTE_123 0x26
+#define MAPSEC_ROUTE_124 0x27
+#define MAPSEC_ROUTE_125 0x28
+#define MAPSEC_ROUTE_126 0x29
+#define MAPSEC_ROUTE_127 0x2A
+#define MAPSEC_ROUTE_128 0x2B
+#define MAPSEC_ROUTE_129 0x2C
+#define MAPSEC_ROUTE_130 0x2D
+#define MAPSEC_ROUTE_131 0x2E
+#define MAPSEC_ROUTE_132 0x2F
+#define MAPSEC_ROUTE_133 0x30
+#define MAPSEC_ROUTE_134 0x31
+#define MAPSEC_UNDERWATER_124 0x32
+#define MAPSEC_UNDERWATER_125 0x33
+#define MAPSEC_UNDERWATER_126 0x34
+#define MAPSEC_UNDERWATER_127 0x35
+#define MAPSEC_UNDERWATER_SOOTOPOLIS 0x36
+#define MAPSEC_GRANITE_CAVE 0x37
+#define MAPSEC_MT_CHIMNEY 0x38
+#define MAPSEC_SAFARI_ZONE 0x39
+#define MAPSEC_BATTLE_FRONTIER 0x3A
+#define MAPSEC_PETALBURG_WOODS 0x3B
+#define MAPSEC_RUSTURF_TUNNEL 0x3C
+#define MAPSEC_ABANDONED_SHIP 0x3D
+#define MAPSEC_NEW_MAUVILLE 0x3E
+#define MAPSEC_METEOR_FALLS 0x3F
+#define MAPSEC_METEOR_FALLS2 0x40
+#define MAPSEC_MT_PYRE 0x41
+#define MAPSEC_AQUA_HIDEOUT_OLD 0x42
+#define MAPSEC_SHOAL_CAVE 0x43
+#define MAPSEC_SEAFLOOR_CAVERN 0x44
+#define MAPSEC_UNDERWATER_128 0x45
+#define MAPSEC_VICTORY_ROAD 0x46
+#define MAPSEC_MIRAGE_ISLAND 0x47
+#define MAPSEC_CAVE_OF_ORIGIN 0x48
+#define MAPSEC_SOUTHERN_ISLAND 0x49
+#define MAPSEC_FIERY_PATH 0x4A
+#define MAPSEC_FIERY_PATH2 0x4B
+#define MAPSEC_JAGGED_PASS 0x4C
+#define MAPSEC_JAGGED_PASS2 0x4D
+#define MAPSEC_SEALED_CHAMBER 0x4E
+#define MAPSEC_UNDERWATER_SEALED_CHAMBER 0x4F
+#define MAPSEC_SCORCHED_SLAB 0x50
+#define MAPSEC_ISLAND_CAVE 0x51
+#define MAPSEC_DESERT_RUINS 0x52
+#define MAPSEC_ANCIENT_TOMB 0x53
+#define MAPSEC_INSIDE_OF_TRUCK 0x54
+#define MAPSEC_SKY_PILLAR 0x55
+#define MAPSEC_SECRET_BASE 0x56
+#define MAPSEC_DYNAMIC 0x57
+#define MAPSEC_PALLET_TOWN 0x58
+#define MAPSEC_VIRIDIAN_CITY 0x59
+#define MAPSEC_PEWTER_CITY 0x5A
+#define MAPSEC_CERULEAN_CITY 0x5B
+#define MAPSEC_LAVENDER_TOWN 0x5C
+#define MAPSEC_VERMILION_CITY 0x5D
+#define MAPSEC_CELADON_CITY 0x5E
+#define MAPSEC_FUCHSIA_CITY 0x5F
+#define MAPSEC_CINNABAR_ISLAND 0x60
+#define MAPSEC_INDIGO_PLATEAU 0x61
+#define MAPSEC_SAFFRON_CITY 0x62
+#define MAPSEC_ROUTE_4_FLYDUP 0x63
+#define MAPSEC_ROUTE_10_FLYDUP 0x64
+#define MAPSEC_ROUTE_1 0x65
+#define MAPSEC_ROUTE_2 0x66
+#define MAPSEC_ROUTE_3 0x67
+#define MAPSEC_ROUTE_4 0x68
+#define MAPSEC_ROUTE_5 0x69
+#define MAPSEC_ROUTE_6 0x6A
+#define MAPSEC_ROUTE_7 0x6B
+#define MAPSEC_ROUTE_8 0x6C
+#define MAPSEC_ROUTE_9 0x6D
+#define MAPSEC_ROUTE_10 0x6E
+#define MAPSEC_ROUTE_11 0x6F
+#define MAPSEC_ROUTE_12 0x70
+#define MAPSEC_ROUTE_13 0x71
+#define MAPSEC_ROUTE_14 0x72
+#define MAPSEC_ROUTE_15 0x73
+#define MAPSEC_ROUTE_16 0x74
+#define MAPSEC_ROUTE_17 0x75
+#define MAPSEC_ROUTE_18 0x76
+#define MAPSEC_ROUTE_19 0x77
+#define MAPSEC_ROUTE_20 0x78
+#define MAPSEC_ROUTE_21 0x79
+#define MAPSEC_ROUTE_22 0x7A
+#define MAPSEC_ROUTE_23 0x7B
+#define MAPSEC_ROUTE_24 0x7C
+#define MAPSEC_ROUTE_25 0x7D
+#define MAPSEC_VIRIDIAN_FOREST 0x7E
+#define MAPSEC_MT_MOON 0x7F
+#define MAPSEC_S_S_ANNE 0x80
+#define MAPSEC_UNDERGROUND_PATH 0x81
+#define MAPSEC_UNDERGROUND_PATH_2 0x82
+#define MAPSEC_DIGLETTS_CAVE 0x83
+#define MAPSEC_KANTO_VICTORY_ROAD 0x84
+#define MAPSEC_ROCKET_HIDEOUT 0x85
+#define MAPSEC_SILPH_CO 0x86
+#define MAPSEC_POKEMON_MANSION 0x87
+#define MAPSEC_KANTO_SAFARI_ZONE 0x88
+#define MAPSEC_POKEMON_LEAGUE 0x89
+#define MAPSEC_ROCK_TUNNEL 0x8A
+#define MAPSEC_SEAFOAM_ISLANDS 0x8B
+#define MAPSEC_POKEMON_TOWER 0x8C
+#define MAPSEC_CERULEAN_CAVE 0x8D
+#define MAPSEC_POWER_PLANT 0x8E
+#define MAPSEC_ONE_ISLAND 0x8F
+#define MAPSEC_TWO_ISLAND 0x90
+#define MAPSEC_THREE_ISLAND 0x91
+#define MAPSEC_FOUR_ISLAND 0x92
+#define MAPSEC_FIVE_ISLAND 0x93
+#define MAPSEC_SEVEN_ISLAND 0x94
+#define MAPSEC_SIX_ISLAND 0x95
+#define MAPSEC_KINDLE_ROAD 0x96
+#define MAPSEC_TREASURE_BEACH 0x97
+#define MAPSEC_CAPE_BRINK 0x98
+#define MAPSEC_BOND_BRIDGE 0x99
+#define MAPSEC_THREE_ISLE_PORT 0x9A
+#define MAPSEC_SEVII_ISLE_6 0x9B
+#define MAPSEC_SEVII_ISLE_7 0x9C
+#define MAPSEC_SEVII_ISLE_8 0x9D
+#define MAPSEC_SEVII_ISLE_9 0x9E
+#define MAPSEC_RESORT_GORGEOUS 0x9F
+#define MAPSEC_WATER_LABYRINTH 0xA0
+#define MAPSEC_FIVE_ISLE_MEADOW 0xA1
+#define MAPSEC_MEMORIAL_PILLAR 0xA2
+#define MAPSEC_OUTCAST_ISLAND 0xA3
+#define MAPSEC_GREEN_PATH 0xA4
+#define MAPSEC_WATER_PATH 0xA5
+#define MAPSEC_RUIN_VALLEY 0xA6
+#define MAPSEC_TRAINER_TOWER 0xA7
+#define MAPSEC_CANYON_ENTRANCE 0xA8
+#define MAPSEC_SEVAULT_CANYON 0xA9
+#define MAPSEC_TANOBY_RUINS 0xAA
+#define MAPSEC_SEVII_ISLE_22 0xAB
+#define MAPSEC_SEVII_ISLE_23 0xAC
+#define MAPSEC_SEVII_ISLE_24 0xAD
+#define MAPSEC_NAVEL_ROCK 0xAE
+#define MAPSEC_MT_EMBER 0xAF
+#define MAPSEC_BERRY_FOREST 0xB0
+#define MAPSEC_ICEFALL_CAVE 0xB1
+#define MAPSEC_ROCKET_WAREHOUSE 0xB2
+#define MAPSEC_TRAINER_TOWER_2 0xB3
+#define MAPSEC_DOTTED_HOLE 0xB4
+#define MAPSEC_LOST_CAVE 0xB5
+#define MAPSEC_PATTERN_BUSH 0xB6
+#define MAPSEC_ALTERING_CAVE 0xB7
+#define MAPSEC_TANOBY_CHAMBERS 0xB8
+#define MAPSEC_THREE_ISLE_PATH 0xB9
+#define MAPSEC_TANOBY_KEY 0xBA
+#define MAPSEC_BIRTH_ISLAND 0xBB
+#define MAPSEC_MONEAN_CHAMBER 0xBC
+#define MAPSEC_LIPTOO_CHAMBER 0xBD
+#define MAPSEC_WEEPTH_CHAMBER 0xBE
+#define MAPSEC_DILFORD_CHAMBER 0xBF
+#define MAPSEC_SCUFIB_CHAMBER 0xC0
+#define MAPSEC_RIXY_CHAMBER 0xC1
+#define MAPSEC_VIAPOIS_CHAMBER 0xC2
+#define MAPSEC_EMBER_SPA 0xC3
+#define MAPSEC_SPECIAL_AREA 0xC4
+#define MAPSEC_AQUA_HIDEOUT 0xC5
+#define MAPSEC_MAGMA_HIDEOUT 0xC6
+#define MAPSEC_MIRAGE_TOWER 0xC7
+#define MAPSEC_BIRTH_ISLAND_2 0xC8
+#define MAPSEC_FARAWAY_ISLAND 0xC9
+#define MAPSEC_ARTISAN_CAVE 0xCA
+#define MAPSEC_MARINE_CAVE 0xCB
+#define MAPSEC_UNDERWATER_MARINE_CAVE 0xCC
+#define MAPSEC_TERRA_CAVE 0xCD
+#define MAPSEC_UNDERWATER_TERRA_CAVE 0xCE
+#define MAPSEC_UNDERWATER_UNK1 0xCF
+#define MAPSEC_UNDERWATER_129 0xD0
+#define MAPSEC_DESERT_UNDERPASS 0xD1
+#define MAPSEC_ALTERING_CAVE_2 0xD2
+#define MAPSEC_NAVEL_ROCK2 0xD3
+#define MAPSEC_TRAINER_HILL 0xD4
+#define MAPSEC_NONE 0xD5
+
+#endif //GUARD_REGIONMAPSEC_H
diff --git a/include/constants/songs.h b/include/constants/songs.h
index 2e3adcbbf..fdecff09a 100644
--- a/include/constants/songs.h
+++ b/include/constants/songs.h
@@ -1,9 +1,9 @@
#ifndef GUARD_CONSTANTS_SONGS_H
#define GUARD_CONSTANTS_SONGS_H
-#define SE_STOP 0
+#define MUS_DUMMY 0
#define SE_KAIFUKU 1
-#define SE_PC_LOGON 2
+#define SE_PC_LOGIN 2
#define SE_PC_OFF 3
#define SE_PC_ON 4
#define SE_SELECT 5
@@ -52,7 +52,7 @@
#define SE_HI_TURUN 48
#define SE_TRACK_MOVE 49
#define SE_TRACK_STOP 50
-#define SE_TRACK_HAIK 51
+#define SE_TRACK_HAIKI 51
#define SE_TRACK_DOOR 52
#define SE_MOTER 53
#define SE_CARD 54
@@ -249,217 +249,290 @@
#define SE_W287B 245
#define SE_W114 246
#define SE_W063B 247
-#define BGM_STOP 349
-#define BGM_TETSUJI 350
-#define BGM_FIELD13 351
-#define BGM_KACHI22 352
-#define BGM_KACHI2 353
-#define BGM_KACHI3 354
-#define BGM_KACHI5 355
-#define BGM_PCC 356
-#define BGM_NIBI 357
-#define BGM_SUIKUN 358
-#define BGM_DOORO1 359
-#define BGM_DOORO_X1 360
-#define BGM_DOORO_X3 361
-#define BGM_MACHI_S2 362
-#define BGM_MACHI_S4 363
-#define BGM_GIM 364
-#define BGM_NAMINORI 365
-#define BGM_DAN01 366
-#define BGM_FANFA1 367
-#define BGM_ME_ASA 368
-#define BGM_ME_BACHI 369
-#define BGM_FANFA4 370
-#define BGM_FANFA5 371
-#define BGM_ME_WAZA 372
-#define BGM_BIJYUTU 373
-#define BGM_DOORO_X4 374
-#define BGM_FUNE_KAN 375
-#define BGM_ME_SHINKA 376
-#define BGM_SHINKA 377
-#define BGM_ME_WASURE 378
-#define BGM_SYOUJOEYE 379
-#define BGM_BOYEYE 380
-#define BGM_DAN02 381
-#define BGM_MACHI_S3 382
-#define BGM_ODAMAKI 383
-#define BGM_B_TOWER 384
-#define BGM_SWIMEYE 385
-#define BGM_DAN03 386
-#define BGM_ME_KINOMI 387
-#define BGM_ME_TAMA 388
-#define BGM_ME_B_BIG 389
-#define BGM_ME_B_SMALL 390
-#define BGM_ME_ZANNEN 391
-#define BGM_BD_TIME 392
-#define BGM_TEST1 393
-#define BGM_TEST2 394
-#define BGM_TEST3 395
-#define BGM_TEST4 396
-#define BGM_TEST 397
-#define BGM_GOMACHI0 398
-#define BGM_GOTOWN 399
-#define BGM_POKECEN 400
-#define BGM_NEXTROAD 401
-#define BGM_GRANROAD 402
-#define BGM_CYCLING 403
-#define BGM_FRIENDLY 404
-#define BGM_MISHIRO 405
-#define BGM_TOZAN 406
-#define BGM_GIRLEYE 407
-#define BGM_MINAMO 408
-#define BGM_ASHROAD 409
-#define BGM_EVENT0 410
-#define BGM_DEEPDEEP 411
-#define BGM_KACHI1 412
-#define BGM_TITLE3 413
-#define BGM_DEMO1 414
-#define BGM_GIRL_SUP 415
-#define BGM_HAGESHII 416
-#define BGM_KAKKOII 417
-#define BGM_KAZANBAI 418
-#define BGM_AQA_0 419
-#define BGM_TSURETEK 420
-#define BGM_BOY_SUP 421
-#define BGM_RAINBOW 422
-#define BGM_AYASII 423
-#define BGM_KACHI4 424
-#define BGM_ROPEWAY 425
-#define BGM_CASINO 426
-#define BGM_HIGHTOWN 427
-#define BGM_SAFARI 428
-#define BGM_C_ROAD 429
-#define BGM_AJITO 430
-#define BGM_M_BOAT 431
-#define BGM_M_DUNGON 432
-#define BGM_FINECITY 433
-#define BGM_MACHUPI 434
-#define BGM_P_SCHOOL 435
-#define BGM_DENDOU 436
-#define BGM_TONEKUSA 437
-#define BGM_MABOROSI 438
-#define BGM_CON_FAN 439
-#define BGM_CONTEST0 440
-#define BGM_MGM0 441
-#define BGM_T_BATTLE 442
-#define BGM_OOAME 443
-#define BGM_HIDERI 444
-#define BGM_RUNECITY 445
-#define BGM_CON_K 446
-#define BGM_EIKOU_R 447
-#define BGM_KARAKURI 448
-#define BGM_HUTAGO 449
-#define BGM_SITENNOU 450
-#define BGM_YAMA_EYE 451
-#define BGM_CONLOBBY 452
-#define BGM_INTER_V 453
-#define BGM_DAIGO 454
-#define BGM_THANKFOR 455
-#define BGM_END 456
-#define BGM_BATTLE_FRONTIER 457
-#define BGM_BATTLE_ARENA 458
-#define BGM_ME_BATTLE_POINTS 459
-#define BGM_ME_MATCH_CALL 460
-#define BGM_BATTLE_PYRAMID 461
-#define BGM_BATTLE_PYRAMID_SUMMIT 462
-#define BGM_BATTLE_PALACE 463
-#define BGM_FANFA_RAYQUAZA 464
-#define BGM_BATTLE_TOWER 465
-#define BGM_ME_BATTLE_SYMBOL 466
-#define BGM_BATTLE_DOME_TOURNAMENT 467
-#define BGM_BATTLE_PIKE 468
-#define BGM_BATTLE_FACTORY 469
-#define BGM_BATTLE_LEGENDARY 470
-#define BGM_BATTLE_FRONTIER_BRAIN 471
-#define BGM_BATTLE_MEW 472
-#define BGM_BATTLE_DOME 473
-#define BGM_BATTLE27 474
-#define BGM_BATTLE31 475
-#define BGM_BATTLE20 476
-#define BGM_BATTLE32 477
-#define BGM_BATTLE33 478
-#define BGM_BATTLE36 479
-#define BGM_BATTLE34 480
-#define BGM_BATTLE35 481
-#define BGM_BATTLE38 482
-#define BGM_BATTLE30 483
-#define BGM_FRLG_FOLLOW_ME 484
-#define BGM_FRLG_GAMECORNER 485
-#define BGM_FRLG_ROCKET_HIDEOUT 486
-#define BGM_FRLG_GYM 487
-#define BGM_FRLG_JIGGLYPUFF 488
-#define BGM_FRLG_OPENING 489
-#define BGM_FRLG_TITLE 490
-#define BGM_FRLG_CINNABAR_ISLAND 491
-#define BGM_FRLG_LAVENDER_TOWN 492
-#define BGM_FRLG_HEALING_TEST 493
-#define BGM_FRLG_BICYCLE 494
-#define BGM_FRLG_SUSPICIOUS_EYE 495
-#define BGM_FRLG_GIRL_EYE 496
-#define BGM_FRLG_BOY_EYE 497
-#define BGM_FRLG_CONGRATULATIONS_HALL_OF_FAME 498
-#define BGM_FRLG_VIRIDIAN_FOREST 499
-#define BGM_FRLG_MT_MOON 500
-#define BGM_FRLG_POKEMON_MANSION 501
-#define BGM_FRLG_CREDITS 502
-#define BGM_FRLG_ROUTE_1 503
-#define BGM_FRLG_ROUTE_24 504
-#define BGM_FRLG_ROUTE_3 505
-#define BGM_FRLG_ROUTE_11 506
-#define BGM_FRLG_INDIGO_PLATEAU 507
-#define BGM_FRLG_BATTLE_LEADER 508
-#define BGM_FRLG_BATTLE_TRAINER 509
-#define BGM_FRLG_BATTLE_WILD_POKEMON 510
-#define BGM_FRLG_BATTLE_CHAMPION 511
-#define BGM_FRLG_PALLET_TOWN 512
-#define BGM_FRLG_OAK_LAB 513
-#define BGM_FRLG_PROF_OAK 514
-#define BGM_FRLG_POKEMON_CENTER 515
-#define BGM_FRLG_SS_ANNE 516
-#define BGM_FRLG_SURF 517
-#define BGM_FRLG_POKEMON_TOWER 518
-#define BGM_FRLG_SILPH 519
-#define BGM_FRLG_CERULEAN_CITY 520
-#define BGM_FRLG_CELADON_CITY 521
-#define BGM_FRLG_KACHI_TRAINER 522
-#define BGM_FRLG_KACHI_WILD_POKEMON 523
-#define BGM_FRLG_KACHI_LEADER 524
-#define BGM_FRLG_VERMILION_CITY 525
-#define BGM_FRLG_VIRIDIAN_CITY 526
-#define BGM_FRLG_RIVAL 527
-#define BGM_FRLG_RIVAL_POSTBATTLE 528
-#define BGM_FRLG_ME_POKEDEX_EVAL 529
-#define BGM_FRLG_ME_KEYITEM 530
-#define BGM_FRLG_FANFA_POKEMON_CAUGHT 531
-#define BGM_FRLG_FANFA_TRAINERCARD_PHOTO 532
-#define BGM_FRLG_GAMEFREAK_LOGO 533
-#define BGM_FRLG_CAUGHT_POKEMON 534
-#define BGM_FRLG_GAME_EXPLANATION_START 535
-#define BGM_FRLG_GAME_EXPLANATION_MIDDLE 536
-#define BGM_FRLG_GAME_EXPLANATION_END 537
-#define BGM_FRLG_POKEMON_JUMP 538
-#define BGM_FRLG_UNION_ROOM 539
-#define BGM_FRLG_POKEMON_NETWORK_CENTER 540
-#define BGM_FRLG_MYSTERY_GIFT 541
-#define BGM_FRLG_DODRIO_BERRY_PICK 542
-#define BGM_FRLG_MT_EMBER 543
-#define BGM_FRLG_TEACHY_TV_EPISODE 544
-#define BGM_FRLG_SEVII_ISLANDS 545
-#define BGM_FRLG_TANOBY_RUINS 546
-#define BGM_FRLG_ISLAND_ONE 547
-#define BGM_FRLG_ISLAND_FOUR 548
-#define BGM_FRLG_ISLAND_SIX 549
-#define BGM_FRLG_FLUTE 550
-#define BGM_FRLG_BATTLE_DEOXYS 551
-#define BGM_FRLG_BATTLE_MEWTWO 552
-#define BGM_FRLG_BATTLE_LEGENDARY 553
-#define BGM_FRLG_LEADER_EYE 554
-#define BGM_FRLG_DEOXYS_EYE 555
-#define BGM_FRLG_TRAINER_TOWER 556
-#define BGM_FRLG_HALL_OF_FAME_PALLET_TOWN 557
-#define BGM_FRLG_TEACHY_TV 558
+#define SE_RG_W_DOOR 248
+#define SE_RG_CARD1 249
+#define SE_RG_CARD2 250
+#define SE_RG_CARD3 251
+#define SE_RG_BAG1 252
+#define SE_RG_BAG2 253
+#define SE_RG_GETTING 254
+#define SE_RG_SHOP 255
+#define SE_RG_KITEKI 256
+#define SE_RG_HELP_OP 257
+#define SE_RG_HELP_CL 258
+#define SE_RG_HELP_NG 259
+#define SE_RG_DEOMOV 260
+#define SE_RG_EXCELLENT 261
+#define SE_RG_NAWAMISS 262
+#define SE_TOREEYE 263
+#define SE_TOREOFF 264
+#define SE_HANTEI1 265
+#define SE_HANTEI2 266
+#define SE_CURTAIN 267
+#define SE_CURTAIN1 268
+#define SE_USSOKI 269
-#define BGM_ROUTE_118 0x7FFF // What is this for?
+#define MUS_TETSUJI 350
+#define MUS_FIELD13 351
+#define MUS_KACHI22 352
+#define MUS_KACHI2 353
+#define MUS_KACHI3 354
+#define MUS_KACHI5 355
+#define MUS_PCC 356
+#define MUS_NIBI 357
+#define MUS_SUIKUN 358
+#define MUS_DOORO1 359
+#define MUS_DOORO_X1 360
+#define MUS_DOORO_X3 361
+#define MUS_MACHI_S2 362
+#define MUS_MACHI_S4 363
+#define MUS_GIM 364
+#define MUS_NAMINORI 365
+#define MUS_DAN01 366
+#define MUS_FANFA1 367
+#define MUS_ME_ASA 368
+#define MUS_ME_BACHI 369
+#define MUS_FANFA4 370
+#define MUS_FANFA5 371
+#define MUS_ME_WAZA 372
+#define MUS_BIJYUTU 373
+#define MUS_DOORO_X4 374
+#define MUS_FUNE_KAN 375
+#define MUS_ME_SHINKA 376
+#define MUS_SHINKA 377
+#define MUS_ME_WASURE 378
+#define MUS_SYOUJOEYE 379
+#define MUS_BOYEYE 380
+#define MUS_DAN02 381
+#define MUS_MACHI_S3 382
+#define MUS_ODAMAKI 383
+#define MUS_B_TOWER 384
+#define MUS_SWIMEYE 385
+#define MUS_DAN03 386
+#define MUS_ME_KINOMI 387
+#define MUS_ME_TAMA 388
+#define MUS_ME_B_BIG 389
+#define MUS_ME_B_SMALL 390
+#define MUS_ME_ZANNEN 391
+#define MUS_BD_TIME 392
+#define MUS_TEST1 393
+#define MUS_TEST2 394
+#define MUS_TEST3 395
+#define MUS_TEST4 396
+#define MUS_TEST 397
+#define MUS_GOMACHI0 398
+#define MUS_GOTOWN 399
+#define MUS_POKECEN 400
+#define MUS_NEXTROAD 401
+#define MUS_GRANROAD 402
+#define MUS_CYCLING 403
+#define MUS_FRIENDLY 404
+#define MUS_MISHIRO 405
+#define MUS_TOZAN 406
+#define MUS_GIRLEYE 407
+#define MUS_MINAMO 408
+#define MUS_ASHROAD 409
+#define MUS_EVENT0 410
+#define MUS_DEEPDEEP 411
+#define MUS_KACHI1 412
+#define MUS_TITLE3 413
+#define MUS_DEMO1 414
+#define MUS_GIRL_SUP 415
+#define MUS_HAGESHII 416
+#define MUS_KAKKOII 417
+#define MUS_KAZANBAI 418
+#define MUS_AQA_0 419
+#define MUS_TSURETEK 420
+#define MUS_BOY_SUP 421
+#define MUS_RAINBOW 422
+#define MUS_AYASII 423
+#define MUS_KACHI4 424
+#define MUS_ROPEWAY 425
+#define MUS_CASINO 426
+#define MUS_HIGHTOWN 427
+#define MUS_SAFARI 428
+#define MUS_C_ROAD 429
+#define MUS_AJITO 430
+#define MUS_M_BOAT 431
+#define MUS_M_DUNGON 432
+#define MUS_FINECITY 433
+#define MUS_MACHUPI 434
+#define MUS_P_SCHOOL 435
+#define MUS_DENDOU 436
+#define MUS_TONEKUSA 437
+#define MUS_MABOROSI 438
+#define MUS_CON_FAN 439
+#define MUS_CONTEST0 440
+#define MUS_MGM0 441
+#define MUS_T_BATTLE 442
+#define MUS_OOAME 443
+#define MUS_HIDERI 444
+#define MUS_RUNECITY 445
+#define MUS_CON_K 446
+#define MUS_EIKOU_R 447
+#define MUS_KARAKURI 448
+#define MUS_HUTAGO 449
+#define MUS_SITENNOU 450
+#define MUS_YAMA_EYE 451
+#define MUS_CONLOBBY 452
+#define MUS_INTER_V 453
+#define MUS_DAIGO 454
+#define MUS_THANKFOR 455
+#define MUS_END 456
+#define MUS_B_FRONTIER 457
+#define MUS_B_ARENA 458
+#define MUS_ME_POINTGET 459
+#define MUS_ME_TORE_EYE 460
+#define MUS_PYRAMID 461
+#define MUS_PYRAMID_TOP 462
+#define MUS_B_PALACE 463
+#define MUS_REKKUU_KOURIN 464
+#define MUS_SATTOWER 465
+#define MUS_ME_SYMBOLGET 466
+#define MUS_B_DOME 467
+#define MUS_B_TUBE 468
+#define MUS_B_FACTORY 469
+#define MUS_VS_REKKU 470
+#define MUS_VS_FRONT 471
+#define MUS_VS_MEW 472
+#define MUS_B_DOME1 473
+#define MUS_BATTLE27 474
+#define MUS_BATTLE31 475
+#define MUS_BATTLE20 476
+#define MUS_BATTLE32 477
+#define MUS_BATTLE33 478
+#define MUS_BATTLE36 479
+#define MUS_BATTLE34 480
+#define MUS_BATTLE35 481
+#define MUS_BATTLE38 482
+#define MUS_BATTLE30 483
+#define MUS_RG_ANNAI 484
+#define MUS_RG_SLOT 485
+#define MUS_RG_AJITO 486
+#define MUS_RG_GYM 487
+#define MUS_RG_PURIN 488
+#define MUS_RG_DEMO 489
+#define MUS_RG_TITLE 490
+#define MUS_RG_GUREN 491
+#define MUS_RG_SHION 492
+#define MUS_RG_KAIHUKU 493
+#define MUS_RG_CYCLING 494
+#define MUS_RG_ROCKET 495
+#define MUS_RG_SHOUJO 496
+#define MUS_RG_SHOUNEN 497
+#define MUS_RG_DENDOU 498
+#define MUS_RG_T_MORI 499
+#define MUS_RG_OTSUKIMI 500
+#define MUS_RG_POKEYASHI 501
+#define MUS_RG_ENDING 502
+#define MUS_RG_LOAD01 503
+#define MUS_RG_OPENING 504
+#define MUS_RG_LOAD02 505
+#define MUS_RG_LOAD03 506
+#define MUS_RG_CHAMP_R 507
+#define MUS_RG_VS_GYM 508
+#define MUS_RG_VS_TORE 509
+#define MUS_RG_VS_YASEI 510
+#define MUS_RG_VS_LAST 511
+#define MUS_RG_MASARA 512
+#define MUS_RG_KENKYU 513
+#define MUS_RG_OHKIDO 514
+#define MUS_RG_POKECEN 515
+#define MUS_RG_SANTOAN 516
+#define MUS_RG_NAMINORI 517
+#define MUS_RG_P_TOWER 518
+#define MUS_RG_SHIRUHU 519
+#define MUS_RG_HANADA 520
+#define MUS_RG_TAMAMUSI 521
+#define MUS_RG_WIN_TRE 522
+#define MUS_RG_WIN_YASEI 523
+#define MUS_RG_WIN_GYM 524
+#define MUS_RG_KUCHIBA 525
+#define MUS_RG_NIBI 526
+#define MUS_RG_RIVAL1 527
+#define MUS_RG_RIVAL2 528
+#define MUS_RG_FAN2 529
+#define MUS_RG_FAN5 530
+#define MUS_RG_FAN6 531
+#define MUS_ME_RG_PHOTO 532
+#define MUS_RG_TITLEROG 533
+#define MUS_RG_GET_YASEI 534
+#define MUS_RG_SOUSA 535
+#define MUS_RG_SEKAIKAN 536
+#define MUS_RG_SEIBETU 537
+#define MUS_RG_JUMP 538
+#define MUS_RG_UNION 539
+#define MUS_RG_NETWORK 540
+#define MUS_RG_OKURIMONO 541
+#define MUS_RG_KINOMIKUI 542
+#define MUS_RG_NANADUNGEON 543
+#define MUS_RG_OSHIE_TV 544
+#define MUS_RG_NANASHIMA 545
+#define MUS_RG_NANAISEKI 546
+#define MUS_RG_NANA123 547
+#define MUS_RG_NANA45 548
+#define MUS_RG_NANA67 549
+#define MUS_RG_POKEFUE 550
+#define MUS_RG_VS_DEO 551
+#define MUS_RG_VS_MYU2 552
+#define MUS_RG_VS_DEN 553
+#define MUS_RG_EXEYE 554
+#define MUS_RG_DEOEYE 555
+#define MUS_RG_T_TOWER 556
+#define MUS_RG_SLOWMASARA 557
+#define MUS_RG_TVNOIZE 558
+#define PH_TRAP_BLEND 559
+#define PH_TRAP_HELD 560
+#define PH_TRAP_SOLO 561
+#define PH_FACE_BLEND 562
+#define PH_FACE_HELD 563
+#define PH_FACE_SOLO 564
+#define PH_CLOTH_BLEND 565
+#define PH_CLOTH_HELD 566
+#define PH_CLOTH_SOLO 567
+#define PH_DRESS_BLEND 568
+#define PH_DRESS_HELD 569
+#define PH_DRESS_SOLO 570
+#define PH_FLEECE_BLEND 571
+#define PH_FLEECE_HELD 572
+#define PH_FLEECE_SOLO 573
+#define PH_KIT_BLEND 574
+#define PH_KIT_HELD 575
+#define PH_KIT_SOLO 576
+#define PH_PRICE_BLEND 577
+#define PH_PRICE_HELD 578
+#define PH_PRICE_SOLO 579
+#define PH_LOT_BLEND 580
+#define PH_LOT_HELD 581
+#define PH_LOT_SOLO 582
+#define PH_GOAT_BLEND 583
+#define PH_GOAT_HELD 584
+#define PH_GOAT_SOLO 585
+#define PH_THOUGHT_BLEND 586
+#define PH_THOUGHT_HELD 587
+#define PH_THOUGHT_SOLO 588
+#define PH_CHOICE_BLEND 589
+#define PH_CHOICE_HELD 590
+#define PH_CHOICE_SOLO 591
+#define PH_MOUTH_BLEND 592
+#define PH_MOUTH_HELD 593
+#define PH_MOUTH_SOLO 594
+#define PH_FOOT_BLEND 595
+#define PH_FOOT_HELD 596
+#define PH_FOOT_SOLO 597
+#define PH_GOOSE_BLEND 598
+#define PH_GOOSE_HELD 599
+#define PH_GOOSE_SOLO 600
+#define PH_STRUT_BLEND 601
+#define PH_STRUT_HELD 602
+#define PH_STRUT_SOLO 603
+#define PH_CURE_BLEND 604
+#define PH_CURE_HELD 605
+#define PH_CURE_SOLO 606
+#define PH_NURSE_BLEND 607
+#define PH_NURSE_HELD 608
+#define PH_NURSE_SOLO 609
+
+#define MUS_ROUTE_118 0x7FFF // What is this for?
#endif // GUARD_CONSTANTS_SONGS_H
diff --git a/include/constants/trainers.h b/include/constants/trainers.h
new file mode 100644
index 000000000..48d4f081e
--- /dev/null
+++ b/include/constants/trainers.h
@@ -0,0 +1,1129 @@
+#ifndef GUARD_TRAINERS_H
+#define GUARD_TRAINERS_H
+
+#define TRAINER_NONE 0
+#define TRAINER_SAWYER_1 1
+#define TRAINER_GRUNT_1 2
+#define TRAINER_GRUNT_2 3
+#define TRAINER_GRUNT_3 4
+#define TRAINER_GRUNT_4 5
+#define TRAINER_GRUNT_5 6
+#define TRAINER_GRUNT_6 7
+#define TRAINER_GRUNT_7 8
+#define TRAINER_GABRIELLE_1 9
+#define TRAINER_GRUNT_8 10
+#define TRAINER_MARCEL 11
+#define TRAINER_ALBERTO 12
+#define TRAINER_ED 13
+#define TRAINER_GRUNT_9 14
+#define TRAINER_DECLAN 15
+#define TRAINER_GRUNT_10 16
+#define TRAINER_GRUNT_11 17
+#define TRAINER_GRUNT_12 18
+#define TRAINER_GRUNT_13 19
+#define TRAINER_GRUNT_14 20
+#define TRAINER_GRUNT_15 21
+#define TRAINER_GRUNT_16 22
+#define TRAINER_GRUNT_17 23
+#define TRAINER_GRUNT_18 24
+#define TRAINER_GRUNT_19 25
+#define TRAINER_GRUNT_20 26
+#define TRAINER_GRUNT_21 27
+#define TRAINER_GRUNT_22 28
+#define TRAINER_FREDRICK 29
+#define TRAINER_MATT 30
+#define TRAINER_ZANDER 31
+#define TRAINER_SHELLY_1 32
+#define TRAINER_SHELLY_2 33
+#define TRAINER_ARCHIE 34
+#define TRAINER_LEAH 35
+#define TRAINER_DAISY 36
+#define TRAINER_ROSE_1 37
+#define TRAINER_FELIX 38
+#define TRAINER_VIOLET 39
+#define TRAINER_ROSE_2 40
+#define TRAINER_ROSE_3 41
+#define TRAINER_ROSE_4 42
+#define TRAINER_ROSE_5 43
+#define TRAINER_DUSTY_1 44
+#define TRAINER_CHIP 45
+#define TRAINER_FOSTER 46
+#define TRAINER_DUSTY_2 47
+#define TRAINER_DUSTY_3 48
+#define TRAINER_DUSTY_4 49
+#define TRAINER_DUSTY_5 50
+#define TRAINER_GABBY_AND_TY_1 51
+#define TRAINER_GABBY_AND_TY_2 52
+#define TRAINER_GABBY_AND_TY_3 53
+#define TRAINER_GABBY_AND_TY_4 54
+#define TRAINER_GABBY_AND_TY_5 55
+#define TRAINER_GABBY_AND_TY_6 56
+#define TRAINER_LOLA_1 57
+#define TRAINER_AUSTINA 58
+#define TRAINER_GWEN 59
+#define TRAINER_LOLA_2 60
+#define TRAINER_LOLA_3 61
+#define TRAINER_LOLA_4 62
+#define TRAINER_LOLA_5 63
+#define TRAINER_RICKY_1 64
+#define TRAINER_SIMON 65
+#define TRAINER_CHARLIE 66
+#define TRAINER_RICKY_2 67
+#define TRAINER_RICKY_3 68
+#define TRAINER_RICKY_4 69
+#define TRAINER_RICKY_5 70
+#define TRAINER_RANDALL 71
+#define TRAINER_PARKER 72
+#define TRAINER_GEORGE 73
+#define TRAINER_BERKE 74
+#define TRAINER_BRAXTON 75
+#define TRAINER_VINCENT 76
+#define TRAINER_LEROY 77
+#define TRAINER_WILTON_1 78
+#define TRAINER_EDGAR 79
+#define TRAINER_ALBERT 80
+#define TRAINER_SAMUEL 81
+#define TRAINER_VITO 82
+#define TRAINER_OWEN 83
+#define TRAINER_WILTON_2 84
+#define TRAINER_WILTON_3 85
+#define TRAINER_WILTON_4 86
+#define TRAINER_WILTON_5 87
+#define TRAINER_WARREN 88
+#define TRAINER_MARY 89
+#define TRAINER_ALEXIA 90
+#define TRAINER_JODY 91
+#define TRAINER_WENDY 92
+#define TRAINER_KEIRA 93
+#define TRAINER_BROOKE_1 94
+#define TRAINER_JENNIFER 95
+#define TRAINER_HOPE 96
+#define TRAINER_SHANNON 97
+#define TRAINER_MICHELLE 98
+#define TRAINER_CAROLINE 99
+#define TRAINER_JULIE 100
+#define TRAINER_BROOKE_2 101
+#define TRAINER_BROOKE_3 102
+#define TRAINER_BROOKE_4 103
+#define TRAINER_BROOKE_5 104
+#define TRAINER_PATRICIA 105
+#define TRAINER_KINDRA 106
+#define TRAINER_TAMMY 107
+#define TRAINER_VALERIE_1 108
+#define TRAINER_TASHA 109
+#define TRAINER_VALERIE_2 110
+#define TRAINER_VALERIE_3 111
+#define TRAINER_VALERIE_4 112
+#define TRAINER_VALERIE_5 113
+#define TRAINER_CINDY_1 114
+#define TRAINER_DAPHNE 115
+#define TRAINER_GRUNT_23 116
+#define TRAINER_CINDY_2 117
+#define TRAINER_BRIANNA 118
+#define TRAINER_NAOMI 119
+#define TRAINER_CINDY_3 120
+#define TRAINER_CINDY_4 121
+#define TRAINER_CINDY_5 122
+#define TRAINER_CINDY_6 123
+#define TRAINER_MELISSA 124
+#define TRAINER_SHEILA 125
+#define TRAINER_SHIRLEY 126
+#define TRAINER_JESSICA_1 127
+#define TRAINER_CONNIE 128
+#define TRAINER_BRIDGET 129
+#define TRAINER_OLIVIA 130
+#define TRAINER_TIFFANY 131
+#define TRAINER_JESSICA_2 132
+#define TRAINER_JESSICA_3 133
+#define TRAINER_JESSICA_4 134
+#define TRAINER_JESSICA_5 135
+#define TRAINER_WINSTON_1 136
+#define TRAINER_MOLLIE 137
+#define TRAINER_GARRET 138
+#define TRAINER_WINSTON_2 139
+#define TRAINER_WINSTON_3 140
+#define TRAINER_WINSTON_4 141
+#define TRAINER_WINSTON_5 142
+#define TRAINER_STEVE_1 143
+#define TRAINER_THALIA_1 144
+#define TRAINER_MARK 145
+#define TRAINER_GRUNT_24 146
+#define TRAINER_STEVE_2 147
+#define TRAINER_STEVE_3 148
+#define TRAINER_STEVE_4 149
+#define TRAINER_STEVE_5 150
+#define TRAINER_LUIS 151
+#define TRAINER_DOMINIK 152
+#define TRAINER_DOUGLAS 153
+#define TRAINER_DARRIN 154
+#define TRAINER_TONY_1 155
+#define TRAINER_JEROME 156
+#define TRAINER_MATTHEW 157
+#define TRAINER_DAVID 158
+#define TRAINER_SPENCER 159
+#define TRAINER_ROLAND 160
+#define TRAINER_NOLEN 161
+#define TRAINER_STAN 162
+#define TRAINER_BARRY 163
+#define TRAINER_DEAN 164
+#define TRAINER_RODNEY 165
+#define TRAINER_RICHARD 166
+#define TRAINER_HERMAN 167
+#define TRAINER_SANTIAGO 168
+#define TRAINER_GILBERT 169
+#define TRAINER_FRANKLIN 170
+#define TRAINER_KEVIN 171
+#define TRAINER_JACK 172
+#define TRAINER_DUDLEY 173
+#define TRAINER_CHAD 174
+#define TRAINER_TONY_2 175
+#define TRAINER_TONY_3 176
+#define TRAINER_TONY_4 177
+#define TRAINER_TONY_5 178
+#define TRAINER_TAKAO 179
+#define TRAINER_HITOSHI 180
+#define TRAINER_KIYO 181
+#define TRAINER_KOICHI 182
+#define TRAINER_NOB_1 183
+#define TRAINER_NOB_2 184
+#define TRAINER_NOB_3 185
+#define TRAINER_NOB_4 186
+#define TRAINER_NOB_5 187
+#define TRAINER_YUJI 188
+#define TRAINER_DAISUKE 189
+#define TRAINER_ATSUSHI 190
+#define TRAINER_KIRK 191
+#define TRAINER_GRUNT_25 192
+#define TRAINER_GRUNT_26 193
+#define TRAINER_SHAWN 194
+#define TRAINER_FERNANDO_1 195
+#define TRAINER_DALTON_1 196
+#define TRAINER_DALTON_2 197
+#define TRAINER_DALTON_3 198
+#define TRAINER_DALTON_4 199
+#define TRAINER_DALTON_5 200
+#define TRAINER_COLE 201
+#define TRAINER_JEFF 202
+#define TRAINER_AXLE 203
+#define TRAINER_JACE 204
+#define TRAINER_KEEGAN 205
+#define TRAINER_BERNIE_1 206
+#define TRAINER_BERNIE_2 207
+#define TRAINER_BERNIE_3 208
+#define TRAINER_BERNIE_4 209
+#define TRAINER_BERNIE_5 210
+#define TRAINER_DREW 211
+#define TRAINER_BEAU 212
+#define TRAINER_LARRY 213
+#define TRAINER_SHANE 214
+#define TRAINER_JUSTIN 215
+#define TRAINER_ETHAN_1 216
+#define TRAINER_AUTUMN 217
+#define TRAINER_TRAVIS 218
+#define TRAINER_ETHAN_2 219
+#define TRAINER_ETHAN_3 220
+#define TRAINER_ETHAN_4 221
+#define TRAINER_ETHAN_5 222
+#define TRAINER_BRENT 223
+#define TRAINER_DONALD 224
+#define TRAINER_TAYLOR 225
+#define TRAINER_JEFFREY_1 226
+#define TRAINER_DEREK 227
+#define TRAINER_JEFFREY_2 228
+#define TRAINER_JEFFREY_3 229
+#define TRAINER_JEFFREY_4 230
+#define TRAINER_JEFFREY_5 231
+#define TRAINER_EDWARD 232
+#define TRAINER_PRESTON 233
+#define TRAINER_VIRGIL 234
+#define TRAINER_BLAKE 235
+#define TRAINER_WILLIAM 236
+#define TRAINER_JOSHUA 237
+#define TRAINER_CAMERON_1 238
+#define TRAINER_CAMERON_2 239
+#define TRAINER_CAMERON_3 240
+#define TRAINER_CAMERON_4 241
+#define TRAINER_CAMERON_5 242
+#define TRAINER_JACLYN 243
+#define TRAINER_HANNAH 244
+#define TRAINER_SAMANTHA 245
+#define TRAINER_MAURA 246
+#define TRAINER_KAYLA 247
+#define TRAINER_ALEXIS 248
+#define TRAINER_JACKI_1 249
+#define TRAINER_JACKI_2 250
+#define TRAINER_JACKI_3 251
+#define TRAINER_JACKI_4 252
+#define TRAINER_JACKI_5 253
+#define TRAINER_WALTER_1 254
+#define TRAINER_MICAH 255
+#define TRAINER_THOMAS 256
+#define TRAINER_WALTER_2 257
+#define TRAINER_WALTER_3 258
+#define TRAINER_WALTER_4 259
+#define TRAINER_WALTER_5 260
+#define TRAINER_SIDNEY 261
+#define TRAINER_PHOEBE 262
+#define TRAINER_GLACIA 263
+#define TRAINER_DRAKE 264
+#define TRAINER_ROXANNE_1 265
+#define TRAINER_BRAWLY_1 266
+#define TRAINER_WATTSON_1 267
+#define TRAINER_FLANNERY_1 268
+#define TRAINER_NORMAN_1 269
+#define TRAINER_WINONA_1 270
+#define TRAINER_TATE_AND_LIZA_1 271
+#define TRAINER_JUAN_1 272
+#define TRAINER_JERRY_1 273
+#define TRAINER_TED 274
+#define TRAINER_PAUL 275
+#define TRAINER_JERRY_2 276
+#define TRAINER_JERRY_3 277
+#define TRAINER_JERRY_4 278
+#define TRAINER_JERRY_5 279
+#define TRAINER_KAREN_1 280
+#define TRAINER_GEORGIA 281
+#define TRAINER_KAREN_2 282
+#define TRAINER_KAREN_3 283
+#define TRAINER_KAREN_4 284
+#define TRAINER_KAREN_5 285
+#define TRAINER_KATE_AND_JOY 286
+#define TRAINER_ANNA_AND_MEG_1 287
+#define TRAINER_ANNA_AND_MEG_2 288
+#define TRAINER_ANNA_AND_MEG_3 289
+#define TRAINER_ANNA_AND_MEG_4 290
+#define TRAINER_ANNA_AND_MEG_5 291
+#define TRAINER_VICTOR 292
+#define TRAINER_MIGUEL_1 293
+#define TRAINER_COLTON 294
+#define TRAINER_MIGUEL_2 295
+#define TRAINER_MIGUEL_3 296
+#define TRAINER_MIGUEL_4 297
+#define TRAINER_MIGUEL_5 298
+#define TRAINER_VICTORIA 299
+#define TRAINER_VANESSA 300
+#define TRAINER_BETHANY 301
+#define TRAINER_ISABEL_1 302
+#define TRAINER_ISABEL_2 303
+#define TRAINER_ISABEL_3 304
+#define TRAINER_ISABEL_4 305
+#define TRAINER_ISABEL_5 306
+#define TRAINER_TIMOTHY_1 307
+#define TRAINER_TIMOTHY_2 308
+#define TRAINER_TIMOTHY_3 309
+#define TRAINER_TIMOTHY_4 310
+#define TRAINER_TIMOTHY_5 311
+#define TRAINER_VICKY 312
+#define TRAINER_SHELBY_1 313
+#define TRAINER_SHELBY_2 314
+#define TRAINER_SHELBY_3 315
+#define TRAINER_SHELBY_4 316
+#define TRAINER_SHELBY_5 317
+#define TRAINER_CALVIN_1 318
+#define TRAINER_BILLY 319
+#define TRAINER_JOSH 320
+#define TRAINER_TOMMY 321
+#define TRAINER_JOEY 322
+#define TRAINER_BEN 323
+#define TRAINER_QUINCY 324
+#define TRAINER_KATELYNN 325
+#define TRAINER_JAYLEN 326
+#define TRAINER_DILLON 327
+#define TRAINER_CALVIN_2 328
+#define TRAINER_CALVIN_3 329
+#define TRAINER_CALVIN_4 330
+#define TRAINER_CALVIN_5 331
+#define TRAINER_EDDIE 332
+#define TRAINER_ALLEN 333
+#define TRAINER_TIMMY 334
+#define TRAINER_WALLACE 335
+#define TRAINER_ANDREW 336
+#define TRAINER_IVAN 337
+#define TRAINER_CLAUDE 338
+#define TRAINER_ELLIOT_1 339
+#define TRAINER_NED 340
+#define TRAINER_DALE 341
+#define TRAINER_NOLAN 342
+#define TRAINER_BARNY 343
+#define TRAINER_WADE 344
+#define TRAINER_CARTER 345
+#define TRAINER_ELLIOT_2 346
+#define TRAINER_ELLIOT_3 347
+#define TRAINER_ELLIOT_4 348
+#define TRAINER_ELLIOT_5 349
+#define TRAINER_RONALD 350
+#define TRAINER_JACOB 351
+#define TRAINER_ANTHONY 352
+#define TRAINER_BENJAMIN_1 353
+#define TRAINER_BENJAMIN_2 354
+#define TRAINER_BENJAMIN_3 355
+#define TRAINER_BENJAMIN_4 356
+#define TRAINER_BENJAMIN_5 357
+#define TRAINER_ABIGAIL_1 358
+#define TRAINER_JASMINE 359
+#define TRAINER_ABIGAIL_2 360
+#define TRAINER_ABIGAIL_3 361
+#define TRAINER_ABIGAIL_4 362
+#define TRAINER_ABIGAIL_5 363
+#define TRAINER_DYLAN_1 364
+#define TRAINER_DYLAN_2 365
+#define TRAINER_DYLAN_3 366
+#define TRAINER_DYLAN_4 367
+#define TRAINER_DYLAN_5 368
+#define TRAINER_MARIA_1 369
+#define TRAINER_MARIA_2 370
+#define TRAINER_MARIA_3 371
+#define TRAINER_MARIA_4 372
+#define TRAINER_MARIA_5 373
+#define TRAINER_CAMDEN 374
+#define TRAINER_DEMETRIUS 375
+#define TRAINER_ISAIAH_1 376
+#define TRAINER_PABLO_1 377
+#define TRAINER_CHASE 378
+#define TRAINER_ISAIAH_2 379
+#define TRAINER_ISAIAH_3 380
+#define TRAINER_ISAIAH_4 381
+#define TRAINER_ISAIAH_5 382
+#define TRAINER_ISOBEL 383
+#define TRAINER_DONNY 384
+#define TRAINER_TALIA 385
+#define TRAINER_KATELYN_1 386
+#define TRAINER_ALLISON 387
+#define TRAINER_KATELYN_2 388
+#define TRAINER_KATELYN_3 389
+#define TRAINER_KATELYN_4 390
+#define TRAINER_KATELYN_5 391
+#define TRAINER_NICOLAS_1 392
+#define TRAINER_NICOLAS_2 393
+#define TRAINER_NICOLAS_3 394
+#define TRAINER_NICOLAS_4 395
+#define TRAINER_NICOLAS_5 396
+#define TRAINER_AARON 397
+#define TRAINER_PERRY 398
+#define TRAINER_HUGH 399
+#define TRAINER_PHIL 400
+#define TRAINER_JARED 401
+#define TRAINER_HUMBERTO 402
+#define TRAINER_PRESLEY 403
+#define TRAINER_EDWARDO 404
+#define TRAINER_COLIN 405
+#define TRAINER_ROBERT_1 406
+#define TRAINER_BENNY 407
+#define TRAINER_CHESTER 408
+#define TRAINER_ROBERT_2 409
+#define TRAINER_ROBERT_3 410
+#define TRAINER_ROBERT_4 411
+#define TRAINER_ROBERT_5 412
+#define TRAINER_ALEX 413
+#define TRAINER_BECK 414
+#define TRAINER_YASU 415
+#define TRAINER_TAKASHI 416
+#define TRAINER_DIANNE 417
+#define TRAINER_JANI 418
+#define TRAINER_LAO_1 419
+#define TRAINER_LUNG 420
+#define TRAINER_LAO_2 421
+#define TRAINER_LAO_3 422
+#define TRAINER_LAO_4 423
+#define TRAINER_LAO_5 424
+#define TRAINER_JOCELYN 425
+#define TRAINER_LAURA 426
+#define TRAINER_CYNDY_1 427
+#define TRAINER_CORA 428
+#define TRAINER_PAULA 429
+#define TRAINER_CYNDY_2 430
+#define TRAINER_CYNDY_3 431
+#define TRAINER_CYNDY_4 432
+#define TRAINER_CYNDY_5 433
+#define TRAINER_MADELINE_1 434
+#define TRAINER_CLARISSA 435
+#define TRAINER_ANGELICA 436
+#define TRAINER_MADELINE_2 437
+#define TRAINER_MADELINE_3 438
+#define TRAINER_MADELINE_4 439
+#define TRAINER_MADELINE_5 440
+#define TRAINER_BEVERLY 441
+#define TRAINER_IMANI 442
+#define TRAINER_KYLA 443
+#define TRAINER_DENISE 444
+#define TRAINER_BETH 445
+#define TRAINER_TARA 446
+#define TRAINER_MISSY 447
+#define TRAINER_ALICE 448
+#define TRAINER_JENNY_1 449
+#define TRAINER_GRACE 450
+#define TRAINER_TANYA 451
+#define TRAINER_SHARON 452
+#define TRAINER_NIKKI 453
+#define TRAINER_BRENDA 454
+#define TRAINER_KATIE 455
+#define TRAINER_SUSIE 456
+#define TRAINER_KARA 457
+#define TRAINER_DANA 458
+#define TRAINER_SIENNA 459
+#define TRAINER_DEBRA 460
+#define TRAINER_LINDA 461
+#define TRAINER_KAYLEE 462
+#define TRAINER_LAUREL 463
+#define TRAINER_CARLEE 464
+#define TRAINER_JENNY_2 465
+#define TRAINER_JENNY_3 466
+#define TRAINER_JENNY_4 467
+#define TRAINER_JENNY_5 468
+#define TRAINER_HEIDI 469
+#define TRAINER_BECKY 470
+#define TRAINER_CAROL 471
+#define TRAINER_NANCY 472
+#define TRAINER_MARTHA 473
+#define TRAINER_DIANA_1 474
+#define TRAINER_CEDRIC 475
+#define TRAINER_IRENE 476
+#define TRAINER_DIANA_2 477
+#define TRAINER_DIANA_3 478
+#define TRAINER_DIANA_4 479
+#define TRAINER_DIANA_5 480
+#define TRAINER_AMY_AND_LIV_1 481
+#define TRAINER_AMY_AND_LIV_2 482
+#define TRAINER_GINA_AND_MIA_1 483
+#define TRAINER_MIU_AND_YUKI 484
+#define TRAINER_AMY_AND_LIV_3 485
+#define TRAINER_GINA_AND_MIA_2 486
+#define TRAINER_AMY_AND_LIV_4 487
+#define TRAINER_AMY_AND_LIV_5 488
+#define TRAINER_AMY_AND_LIV_6 489
+#define TRAINER_HUEY 490
+#define TRAINER_EDMOND 491
+#define TRAINER_ERNEST_1 492
+#define TRAINER_DWAYNE 493
+#define TRAINER_PHILLIP 494
+#define TRAINER_LEONARD 495
+#define TRAINER_DUNCAN 496
+#define TRAINER_ERNEST_2 497
+#define TRAINER_ERNEST_3 498
+#define TRAINER_ERNEST_4 499
+#define TRAINER_ERNEST_5 500
+#define TRAINER_ELI 501
+#define TRAINER_ANNIKA 502
+#define TRAINER_JAZMYN 503
+#define TRAINER_JONAS 504
+#define TRAINER_KAYLEY 505
+#define TRAINER_AURON 506
+#define TRAINER_KELVIN 507
+#define TRAINER_MARLEY 508
+#define TRAINER_REYNA 509
+#define TRAINER_HUDSON 510
+#define TRAINER_CONOR 511
+#define TRAINER_EDWIN_1 512
+#define TRAINER_HECTOR 513
+#define TRAINER_TABITHA_1 514
+#define TRAINER_EDWIN_2 515
+#define TRAINER_EDWIN_3 516
+#define TRAINER_EDWIN_4 517
+#define TRAINER_EDWIN_5 518
+#define TRAINER_WALLY_1 519
+#define TRAINER_BRENDAN_1 520
+#define TRAINER_BRENDAN_2 521
+#define TRAINER_BRENDAN_3 522
+#define TRAINER_BRENDAN_4 523
+#define TRAINER_BRENDAN_5 524
+#define TRAINER_BRENDAN_6 525
+#define TRAINER_BRENDAN_7 526
+#define TRAINER_BRENDAN_8 527
+#define TRAINER_BRENDAN_9 528
+#define TRAINER_MAY_1 529
+#define TRAINER_MAY_2 530
+#define TRAINER_MAY_3 531
+#define TRAINER_MAY_4 532
+#define TRAINER_MAY_5 533
+#define TRAINER_MAY_6 534
+#define TRAINER_MAY_7 535
+#define TRAINER_MAY_8 536
+#define TRAINER_MAY_9 537
+#define TRAINER_ISAAC_1 538
+#define TRAINER_DAVIS 539
+#define TRAINER_MITCHELL 540
+#define TRAINER_ISAAC_2 541
+#define TRAINER_ISAAC_3 542
+#define TRAINER_ISAAC_4 543
+#define TRAINER_ISAAC_5 544
+#define TRAINER_LYDIA_1 545
+#define TRAINER_HALLE 546
+#define TRAINER_GARRISON 547
+#define TRAINER_LYDIA_2 548
+#define TRAINER_LYDIA_3 549
+#define TRAINER_LYDIA_4 550
+#define TRAINER_LYDIA_5 551
+#define TRAINER_JACKSON_1 552
+#define TRAINER_LORENZO 553
+#define TRAINER_SEBASTIAN 554
+#define TRAINER_JACKSON_2 555
+#define TRAINER_JACKSON_3 556
+#define TRAINER_JACKSON_4 557
+#define TRAINER_JACKSON_5 558
+#define TRAINER_CATHERINE_1 559
+#define TRAINER_JENNA 560
+#define TRAINER_SOPHIA 561
+#define TRAINER_CATHERINE_2 562
+#define TRAINER_CATHERINE_3 563
+#define TRAINER_CATHERINE_4 564
+#define TRAINER_CATHERINE_5 565
+#define TRAINER_JULIO 566
+#define TRAINER_GRUNT_27 567
+#define TRAINER_GRUNT_28 568
+#define TRAINER_GRUNT_29 569
+#define TRAINER_GRUNT_30 570
+#define TRAINER_MARC 571
+#define TRAINER_BRENDEN 572
+#define TRAINER_LILITH 573
+#define TRAINER_CRISTIAN 574
+#define TRAINER_SYLVIA 575
+#define TRAINER_LEONARDO 576
+#define TRAINER_ATHENA 577
+#define TRAINER_HARRISON 578
+#define TRAINER_GRUNT_31 579
+#define TRAINER_CLARENCE 580
+#define TRAINER_TERRY 581
+#define TRAINER_NATE 582
+#define TRAINER_KATHLEEN 583
+#define TRAINER_CLIFFORD 584
+#define TRAINER_NICHOLAS 585
+#define TRAINER_GRUNT_32 586
+#define TRAINER_GRUNT_33 587
+#define TRAINER_GRUNT_34 588
+#define TRAINER_GRUNT_35 589
+#define TRAINER_GRUNT_36 590
+#define TRAINER_MACEY 591
+#define TRAINER_BRENDAN_10 592
+#define TRAINER_BRENDAN_11 593
+#define TRAINER_PAXTON 594
+#define TRAINER_ISABELLA 595
+#define TRAINER_GRUNT_37 596
+#define TRAINER_TABITHA_2 597
+#define TRAINER_JONATHAN 598
+#define TRAINER_BRENDAN_12 599
+#define TRAINER_MAY_10 600
+#define TRAINER_MAXIE_1 601
+#define TRAINER_MAXIE_2 602
+#define TRAINER_TIANA 603
+#define TRAINER_HALEY_1 604
+#define TRAINER_JANICE 605
+#define TRAINER_VIVI 606
+#define TRAINER_HALEY_2 607
+#define TRAINER_HALEY_3 608
+#define TRAINER_HALEY_4 609
+#define TRAINER_HALEY_5 610
+#define TRAINER_SALLY 611
+#define TRAINER_ROBIN 612
+#define TRAINER_ANDREA 613
+#define TRAINER_CRISSY 614
+#define TRAINER_RICK 615
+#define TRAINER_LYLE 616
+#define TRAINER_JOSE 617
+#define TRAINER_DOUG 618
+#define TRAINER_GREG 619
+#define TRAINER_KENT 620
+#define TRAINER_JAMES_1 621
+#define TRAINER_JAMES_2 622
+#define TRAINER_JAMES_3 623
+#define TRAINER_JAMES_4 624
+#define TRAINER_JAMES_5 625
+#define TRAINER_BRICE 626
+#define TRAINER_TRENT_1 627
+#define TRAINER_LENNY 628
+#define TRAINER_LUCAS_1 629
+#define TRAINER_ALAN 630
+#define TRAINER_CLARK 631
+#define TRAINER_ERIC 632
+#define TRAINER_LUCAS_2 633
+#define TRAINER_MIKE_1 634
+#define TRAINER_MIKE_2 635
+#define TRAINER_TRENT_2 636
+#define TRAINER_TRENT_3 637
+#define TRAINER_TRENT_4 638
+#define TRAINER_TRENT_5 639
+#define TRAINER_DEZ_AND_LUKE 640
+#define TRAINER_LEA_AND_JED 641
+#define TRAINER_KIRA_AND_DAN_1 642
+#define TRAINER_KIRA_AND_DAN_2 643
+#define TRAINER_KIRA_AND_DAN_3 644
+#define TRAINER_KIRA_AND_DAN_4 645
+#define TRAINER_KIRA_AND_DAN_5 646
+#define TRAINER_JOHANNA 647
+#define TRAINER_GERALD 648
+#define TRAINER_VIVIAN 649
+#define TRAINER_DANIELLE 650
+#define TRAINER_HIDEO 651
+#define TRAINER_KEIGO 652
+#define TRAINER_RILEY 653
+#define TRAINER_FLINT 654
+#define TRAINER_ASHLEY 655
+#define TRAINER_WALLY_2 656
+#define TRAINER_WALLY_3 657
+#define TRAINER_WALLY_4 658
+#define TRAINER_WALLY_5 659
+#define TRAINER_WALLY_6 660
+#define TRAINER_BRENDAN_13 661
+#define TRAINER_BRENDAN_14 662
+#define TRAINER_BRENDAN_15 663
+#define TRAINER_MAY_11 664
+#define TRAINER_MAY_12 665
+#define TRAINER_MAY_13 666
+#define TRAINER_JONAH 667
+#define TRAINER_HENRY 668
+#define TRAINER_ROGER 669
+#define TRAINER_ALEXA 670
+#define TRAINER_RUBEN 671
+#define TRAINER_KOJI_1 672
+#define TRAINER_WAYNE 673
+#define TRAINER_AIDAN 674
+#define TRAINER_REED 675
+#define TRAINER_TISHA 676
+#define TRAINER_TORI_AND_TIA 677
+#define TRAINER_KIM_AND_IRIS 678
+#define TRAINER_TYRA_AND_IVY 679
+#define TRAINER_MEL_AND_PAUL 680
+#define TRAINER_JOHN_AND_JAY_1 681
+#define TRAINER_JOHN_AND_JAY_2 682
+#define TRAINER_JOHN_AND_JAY_3 683
+#define TRAINER_JOHN_AND_JAY_4 684
+#define TRAINER_JOHN_AND_JAY_5 685
+#define TRAINER_RELI_AND_IAN 686
+#define TRAINER_LILA_AND_ROY_1 687
+#define TRAINER_LILA_AND_ROY_2 688
+#define TRAINER_LILA_AND_ROY_3 689
+#define TRAINER_LILA_AND_ROY_4 690
+#define TRAINER_LILA_AND_ROY_5 691
+#define TRAINER_LISA_AND_RAY 692
+#define TRAINER_CHRIS 693
+#define TRAINER_DAWSON 694
+#define TRAINER_SARAH 695
+#define TRAINER_DARIAN 696
+#define TRAINER_HAILEY 697
+#define TRAINER_CHANDLER 698
+#define TRAINER_KALEB 699
+#define TRAINER_JOSEPH 700
+#define TRAINER_ALYSSA 701
+#define TRAINER_MARCOS 702
+#define TRAINER_RHETT 703
+#define TRAINER_TYRON 704
+#define TRAINER_CELINA 705
+#define TRAINER_BIANCA 706
+#define TRAINER_HAYDEN 707
+#define TRAINER_SOPHIE 708
+#define TRAINER_COBY 709
+#define TRAINER_LAWRENCE 710
+#define TRAINER_WYATT 711
+#define TRAINER_ANGELINA 712
+#define TRAINER_KAI 713
+#define TRAINER_CHARLOTTE 714
+#define TRAINER_DEANDRE 715
+#define TRAINER_GRUNT_38 716
+#define TRAINER_GRUNT_39 717
+#define TRAINER_GRUNT_40 718
+#define TRAINER_GRUNT_41 719
+#define TRAINER_GRUNT_42 720
+#define TRAINER_GRUNT_43 721
+#define TRAINER_GRUNT_44 722
+#define TRAINER_GRUNT_45 723
+#define TRAINER_GRUNT_46 724
+#define TRAINER_GRUNT_47 725
+#define TRAINER_GRUNT_48 726
+#define TRAINER_GRUNT_49 727
+#define TRAINER_GRUNT_50 728
+#define TRAINER_GRUNT_51 729
+#define TRAINER_GRUNT_52 730
+#define TRAINER_GRUNT_53 731
+#define TRAINER_TABITHA_3 732
+#define TRAINER_DARCY 733
+#define TRAINER_MAXIE_3 734
+#define TRAINER_PETE 735
+#define TRAINER_ISABELLE 736
+#define TRAINER_ANDRES_1 737
+#define TRAINER_JOSUE 738
+#define TRAINER_CAMRON 739
+#define TRAINER_CORY_1 740
+#define TRAINER_CAROLINA 741
+#define TRAINER_ELIJAH 742
+#define TRAINER_CELIA 743
+#define TRAINER_BRYAN 744
+#define TRAINER_BRANDEN 745
+#define TRAINER_BRYANT 746
+#define TRAINER_SHAYLA 747
+#define TRAINER_KYRA 748
+#define TRAINER_JAIDEN 749
+#define TRAINER_ALIX 750
+#define TRAINER_HELENE 751
+#define TRAINER_MARLENE 752
+#define TRAINER_DEVAN 753
+#define TRAINER_JOHNSON 754
+#define TRAINER_MELINA 755
+#define TRAINER_BRANDI 756
+#define TRAINER_AISHA 757
+#define TRAINER_MAKAYLA 758
+#define TRAINER_FABIAN 759
+#define TRAINER_DAYTON 760
+#define TRAINER_RACHEL 761
+#define TRAINER_LEONEL 762
+#define TRAINER_CALLIE 763
+#define TRAINER_CALE 764
+#define TRAINER_MYLES 765
+#define TRAINER_PAT 766
+#define TRAINER_CRISTIN_1 767
+#define TRAINER_MAY_14 768
+#define TRAINER_MAY_15 769
+#define TRAINER_ROXANNE_2 770
+#define TRAINER_ROXANNE_3 771
+#define TRAINER_ROXANNE_4 772
+#define TRAINER_ROXANNE_5 773
+#define TRAINER_BRAWLY_2 774
+#define TRAINER_BRAWLY_3 775
+#define TRAINER_BRAWLY_4 776
+#define TRAINER_BRAWLY_5 777
+#define TRAINER_WATTSON_2 778
+#define TRAINER_WATTSON_3 779
+#define TRAINER_WATTSON_4 780
+#define TRAINER_WATTSON_5 781
+#define TRAINER_FLANNERY_2 782
+#define TRAINER_FLANNERY_3 783
+#define TRAINER_FLANNERY_4 784
+#define TRAINER_FLANNERY_5 785
+#define TRAINER_NORMAN_2 786
+#define TRAINER_NORMAN_3 787
+#define TRAINER_NORMAN_4 788
+#define TRAINER_NORMAN_5 789
+#define TRAINER_WINONA_2 790
+#define TRAINER_WINONA_3 791
+#define TRAINER_WINONA_4 792
+#define TRAINER_WINONA_5 793
+#define TRAINER_TATE_AND_LIZA_2 794
+#define TRAINER_TATE_AND_LIZA_3 795
+#define TRAINER_TATE_AND_LIZA_4 796
+#define TRAINER_TATE_AND_LIZA_5 797
+#define TRAINER_JUAN_2 798
+#define TRAINER_JUAN_3 799
+#define TRAINER_JUAN_4 800
+#define TRAINER_JUAN_5 801
+#define TRAINER_ANGELO 802
+#define TRAINER_DARIUS 803
+#define TRAINER_STEVEN 804
+#define TRAINER_ANABEL 805
+#define TRAINER_TUCKER 806
+#define TRAINER_SPENSER 807
+#define TRAINER_GRETA 808
+#define TRAINER_NOLAND 809
+#define TRAINER_LUCY 810
+#define TRAINER_BRANDON 811
+#define TRAINER_ANDRES_2 812
+#define TRAINER_ANDRES_3 813
+#define TRAINER_ANDRES_4 814
+#define TRAINER_ANDRES_5 815
+#define TRAINER_CORY_2 816
+#define TRAINER_CORY_3 817
+#define TRAINER_CORY_4 818
+#define TRAINER_CORY_5 819
+#define TRAINER_PABLO_2 820
+#define TRAINER_PABLO_3 821
+#define TRAINER_PABLO_4 822
+#define TRAINER_PABLO_5 823
+#define TRAINER_KOJI_2 824
+#define TRAINER_KOJI_3 825
+#define TRAINER_KOJI_4 826
+#define TRAINER_KOJI_5 827
+#define TRAINER_CRISTIN_2 828
+#define TRAINER_CRISTIN_3 829
+#define TRAINER_CRISTIN_4 830
+#define TRAINER_CRISTIN_5 831
+#define TRAINER_FERNANDO_2 832
+#define TRAINER_FERNANDO_3 833
+#define TRAINER_FERNANDO_4 834
+#define TRAINER_FERNANDO_5 835
+#define TRAINER_SAWYER_2 836
+#define TRAINER_SAWYER_3 837
+#define TRAINER_SAWYER_4 838
+#define TRAINER_SAWYER_5 839
+#define TRAINER_GABRIELLE_2 840
+#define TRAINER_GABRIELLE_3 841
+#define TRAINER_GABRIELLE_4 842
+#define TRAINER_GABRIELLE_5 843
+#define TRAINER_THALIA_2 844
+#define TRAINER_THALIA_3 845
+#define TRAINER_THALIA_4 846
+#define TRAINER_THALIA_5 847
+#define TRAINER_MARIELA 848
+#define TRAINER_ALVARO 849
+#define TRAINER_EVERETT 850
+#define TRAINER_RED 851
+#define TRAINER_LEAF 852
+#define TRAINER_BRENDAN_16 853
+#define TRAINER_MAY_16 854
+
+#define NO_OF_TRAINERS 854
+
+#define TRAINER_PIC_HIKER 0
+#define TRAINER_PIC_AQUA_GRUNT_M 1
+#define TRAINER_PIC_POKEMON_BREEDER_F 2
+#define TRAINER_PIC_COOL_TRAINER_M 3
+#define TRAINER_PIC_BIRD_KEEPER 4
+#define TRAINER_PIC_COLLECTOR 5
+#define TRAINER_PIC_AQUA_GRUNT_F 6
+#define TRAINER_PIC_SWIMMER_M 7
+#define TRAINER_PIC_MAGMA_GRUNT_M 8
+#define TRAINER_PIC_EXPERT_M 9
+#define TRAINER_PIC_AQUA_ADMIN_M 10
+#define TRAINER_PIC_BLACK_BELT 11
+#define TRAINER_PIC_AQUA_ADMIN_F 12
+#define TRAINER_PIC_AQUA_LEADER_ARCHIE 13
+#define TRAINER_PIC_HEX_MANIAC 14
+#define TRAINER_PIC_AROMA_LADY 15
+#define TRAINER_PIC_RUIN_MANIAC 16
+#define TRAINER_PIC_INTERVIEWER 17
+#define TRAINER_PIC_TUBER_F 18
+#define TRAINER_PIC_TUBER_M 19
+#define TRAINER_PIC_COOL_TRAINER_F 20
+#define TRAINER_PIC_LADY 21
+#define TRAINER_PIC_BEAUTY 22
+#define TRAINER_PIC_RICH_BOY 23
+#define TRAINER_PIC_EXPERT_F 24
+#define TRAINER_PIC_POKEMANIAC 25
+#define TRAINER_PIC_MAGMA_GRUNT_F 26
+#define TRAINER_PIC_GUITARIST 27
+#define TRAINER_PIC_KINDLER 28
+#define TRAINER_PIC_CAMPER 29
+#define TRAINER_PIC_PICNICKER 30
+#define TRAINER_PIC_BUG_MANIAC 31
+#define TRAINER_PIC_POKEMON_BREEDER_M 32
+#define TRAINER_PIC_PSYCHIC_M 33
+#define TRAINER_PIC_PSYCHIC_F 34
+#define TRAINER_PIC_GENTLEMAN 35
+#define TRAINER_PIC_ELITE_FOUR_SIDNEY 36
+#define TRAINER_PIC_ELITE_FOUR_PHOEBE 37
+#define TRAINER_PIC_ELITE_FOUR_GLACIA 38
+#define TRAINER_PIC_ELITE_FOUR_DRAKE 39
+#define TRAINER_PIC_LEADER_ROXANNE 40
+#define TRAINER_PIC_LEADER_BRAWLY 41
+#define TRAINER_PIC_LEADER_WATTSON 42
+#define TRAINER_PIC_LEADER_FLANNERY 43
+#define TRAINER_PIC_LEADER_NORMAN 44
+#define TRAINER_PIC_LEADER_WINONA 45
+#define TRAINER_PIC_LEADER_TATE_AND_LIZA 46
+#define TRAINER_PIC_LEADER_JUAN 47
+#define TRAINER_PIC_SCHOOL_KID_M 48
+#define TRAINER_PIC_SCHOOL_KID_F 49
+#define TRAINER_PIC_SR_AND_JR 50
+#define TRAINER_PIC_WINSTRATE_M 51
+#define TRAINER_PIC_WINSTRATE_F 52
+#define TRAINER_PIC_YOUNGSTER 53
+#define TRAINER_PIC_CHAMPION_WALLACE 54
+#define TRAINER_PIC_FISHERMAN 55
+#define TRAINER_PIC_CYCLING_TRIATHLETE_M 56
+#define TRAINER_PIC_CYCLING_TRIATHLETE_F 57
+#define TRAINER_PIC_RUNNING_TRIATHLETE_M 58
+#define TRAINER_PIC_RUNNING_TRIATHLETE_F 59
+#define TRAINER_PIC_SWIMMING_TRIATHLETE_M 60
+#define TRAINER_PIC_SWIMMING_TRIATHLETE_F 61
+#define TRAINER_PIC_DRAGON_TAMER 62
+#define TRAINER_PIC_NINJA_BOY 63
+#define TRAINER_PIC_BATTLE_GIRL 64
+#define TRAINER_PIC_PARASOL_LADY 65
+#define TRAINER_PIC_SWIMMER_F 66
+#define TRAINER_PIC_TWINS 67
+#define TRAINER_PIC_SAILOR 68
+#define TRAINER_PIC_MAGMA_ADMIN 69
+#define TRAINER_PIC_WALLY 70
+#define TRAINER_PIC_BRENDAN 71
+#define TRAINER_PIC_MAY 72
+#define TRAINER_PIC_BUG_CATCHER 73
+#define TRAINER_PIC_POKEMON_RANGER_M 74
+#define TRAINER_PIC_POKEMON_RANGER_F 75
+#define TRAINER_PIC_MAGMA_LEADER_MAXIE 76
+#define TRAINER_PIC_LASS 77
+#define TRAINER_PIC_YOUNG_COUPLE 78
+#define TRAINER_PIC_OLD_COUPLE 79
+#define TRAINER_PIC_SIS_AND_BRO 80
+#define TRAINER_PIC_STEVEN 81
+#define TRAINER_PIC_SALON_MAIDEN_ANABEL 82
+#define TRAINER_PIC_DOME_ACE_TUCKER 83
+#define TRAINER_PIC_PALACE_MAVEN_SPENSER 84
+#define TRAINER_PIC_ARENA_TYCOON_GRETA 85
+#define TRAINER_PIC_FACTORY_HEAD_NOLAND 86
+#define TRAINER_PIC_PIKE_QUEEN_LUCY 87
+#define TRAINER_PIC_PYRAMID_KING_BRANDON 88
+#define TRAINER_PIC_RED 89
+#define TRAINER_PIC_LEAF 90
+#define TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN 91
+#define TRAINER_PIC_RUBY_SAPPHIRE_MAY 92
+
+#define FACILITY_CLASS_HIKER 0x0
+#define FACILITY_CLASS_TEAM_AQUA_1 0x1
+#define FACILITY_CLASS_PKMN_BREEDER_1 0x2
+#define FACILITY_CLASS_COOLTRAINER_1 0x3
+#define FACILITY_CLASS_BIRD_KEEPER 0x4
+#define FACILITY_CLASS_COLLECTOR 0x5
+#define FACILITY_CLASS_TEAM_AQUA_2 0x6
+#define FACILITY_CLASS_SWIMMER_M 0x7
+#define FACILITY_CLASS_TEAM_MAGMA_1 0x8
+#define FACILITY_CLASS_EXPERT_1 0x9
+#define FACILITY_CLASS_BLACK_BELT 0xa
+#define FACILITY_CLASS_AQUA_LEADER 0xb
+#define FACILITY_CLASS_HEX_MANIAC 0xc
+#define FACILITY_CLASS_AROMA_LADY 0xd
+#define FACILITY_CLASS_RUIN_MANIAC 0xe
+#define FACILITY_CLASS_INTERVIEWER 0xf
+#define FACILITY_CLASS_TUBER_1 0x10
+#define FACILITY_CLASS_TUBER_2 0x11
+#define FACILITY_CLASS_COOLTRAINER_2 0x12
+#define FACILITY_CLASS_LADY 0x13
+#define FACILITY_CLASS_BEAUTY 0x14
+#define FACILITY_CLASS_RICH_BOY 0x15
+#define FACILITY_CLASS_EXPERT_2 0x16
+#define FACILITY_CLASS_POKEMANIAC 0x17
+#define FACILITY_CLASS_TEAM_MAGMA_2 0x18
+#define FACILITY_CLASS_GUITARIST 0x19
+#define FACILITY_CLASS_KINDLER 0x1a
+#define FACILITY_CLASS_CAMPER 0x1b
+#define FACILITY_CLASS_PICNICKER 0x1c
+#define FACILITY_CLASS_BUG_MANIAC 0x1d
+#define FACILITY_CLASS_PSYCHIC_1 0x1e
+#define FACILITY_CLASS_PSYCHIC_2 0x1f
+#define FACILITY_CLASS_GENTLEMAN 0x20
+#define FACILITY_CLASS_ELITE_FOUR_1 0x21
+#define FACILITY_CLASS_ELITE_FOUR_2 0x22
+#define FACILITY_CLASS_LEADER_1 0x23
+#define FACILITY_CLASS_LEADER_2 0x24
+#define FACILITY_CLASS_LEADER_3 0x25
+#define FACILITY_CLASS_SCHOOL_KID_1 0x26
+#define FACILITY_CLASS_SCHOOL_KID_2 0x27
+#define FACILITY_CLASS_SR_AND_JR 0x28
+#define FACILITY_CLASS_POKEFAN_1 0x29
+#define FACILITY_CLASS_POKEFAN_2 0x2a
+#define FACILITY_CLASS_YOUNGSTER 0x2b
+#define FACILITY_CLASS_CHAMPION 0x2c
+#define FACILITY_CLASS_FISHERMAN 0x2d
+#define FACILITY_CLASS_TRIATHLETE_1 0x2e
+#define FACILITY_CLASS_TRIATHLETE_2 0x2f
+#define FACILITY_CLASS_TRIATHLETE_3 0x30
+#define FACILITY_CLASS_TRIATHLETE_4 0x31
+#define FACILITY_CLASS_TRIATHLETE_5 0x32
+#define FACILITY_CLASS_TRIATHLETE_6 0x33
+#define FACILITY_CLASS_DRAGON_TAMER 0x34
+#define FACILITY_CLASS_NINJA_BOY 0x35
+#define FACILITY_CLASS_BATTLE_GIRL 0x36
+#define FACILITY_CLASS_PARASOL_LADY 0x37
+#define FACILITY_CLASS_SWIMMER_F 0x38
+#define FACILITY_CLASS_TWINS 0x39
+#define FACILITY_CLASS_SAILOR 0x3a
+#define FACILITY_CLASS_PKMN_TRAINER_1 0x3b
+#define FACILITY_CLASS_PKMN_TRAINER_2 0x3c
+#define FACILITY_CLASS_PKMN_TRAINER_3 0x3d
+#define FACILITY_CLASS_PKMN_TRAINER_4 0x3e
+#define FACILITY_CLASS_PKMN_TRAINER_5 0x3f
+#define FACILITY_CLASS_PKMN_TRAINER_6 0x40
+#define FACILITY_CLASS_PKMN_TRAINER_7 0x41
+#define FACILITY_CLASS_PKMN_BREEDER_2 0x42
+#define FACILITY_CLASS_BUG_CATCHER 0x43
+#define FACILITY_CLASS_PKMN_RANGER_1 0x44
+#define FACILITY_CLASS_PKMN_RANGER_2 0x45
+#define FACILITY_CLASS_MAGMA_LEADER 0x46
+#define FACILITY_CLASS_LASS 0x47
+#define FACILITY_CLASS_YOUNG_COUPLE 0x48
+#define FACILITY_CLASS_OLD_COUPLE 0x49
+#define FACILITY_CLASS_SIS_AND_BRO 0x4a
+#define FACILITY_CLASS_PKMN_TRAINER_8 0x4b
+#define FACILITY_CLASS_SALON_MAIDEN 0x4c
+#define FACILITY_CLASS_DOME_ACE 0x4d
+#define FACILITY_CLASS_PKMN_TRAINER_9 0x4e
+#define FACILITY_CLASS_PKMN_TRAINER_10 0x4f
+#define FACILITY_CLASS_PKMN_TRAINER_11 0x50
+#define FACILITY_CLASS_PKMN_TRAINER_12 0x51
+
+#define TRAINER_CLASS_PKMN_TRAINER_1 0x0
+#define TRAINER_CLASS_PKMN_TRAINER_2 0x1
+#define TRAINER_CLASS_HIKER 0x2
+#define TRAINER_CLASS_TEAM_AQUA 0x3
+#define TRAINER_CLASS_PKMN_BREEDER 0x4
+#define TRAINER_CLASS_COOLTRAINER_1 0x5
+#define TRAINER_CLASS_BIRD_KEEPER 0x6
+#define TRAINER_CLASS_COLLECTOR 0x7
+#define TRAINER_CLASS_SWIMMER_M 0x8
+#define TRAINER_CLASS_TEAM_MAGMA 0x9
+#define TRAINER_CLASS_EXPERT 0xa
+#define TRAINER_CLASS_AQUA_ADMIN 0xb
+#define TRAINER_CLASS_BLACK_BELT 0xc
+#define TRAINER_CLASS_AQUA_LEADER 0xd
+#define TRAINER_CLASS_HEX_MANIAC 0xe
+#define TRAINER_CLASS_AROMA_LADY 0xf
+#define TRAINER_CLASS_RUIN_MANIAC 0x10
+#define TRAINER_CLASS_INTERVIEWER 0x11
+#define TRAINER_CLASS_TUBER_1 0x12
+#define TRAINER_CLASS_TUBER_2 0x13
+#define TRAINER_CLASS_LADY 0x14
+#define TRAINER_CLASS_BEAUTY 0x15
+#define TRAINER_CLASS_RICH_BOY 0x16
+#define TRAINER_CLASS_POKEMANIAC 0x17
+#define TRAINER_CLASS_GUITARIST 0x18
+#define TRAINER_CLASS_KINDLER 0x19
+#define TRAINER_CLASS_CAMPER 0x1a
+#define TRAINER_CLASS_PICNICKER 0x1b
+#define TRAINER_CLASS_BUG_MANIAC 0x1c
+#define TRAINER_CLASS_PSYCHIC 0x1d
+#define TRAINER_CLASS_GENTLEMAN 0x1e
+#define TRAINER_CLASS_ELITE_FOUR 0x1f
+#define TRAINER_CLASS_LEADER 0x20
+#define TRAINER_CLASS_SCHOOL_KID 0x21
+#define TRAINER_CLASS_SR_AND_JR 0x22
+#define TRAINER_CLASS_WINSTRATE 0x23
+#define TRAINER_CLASS_POKEFAN 0x24
+#define TRAINER_CLASS_YOUNGSTER 0x25
+#define TRAINER_CLASS_CHAMPION 0x26
+#define TRAINER_CLASS_FISHERMAN 0x27
+#define TRAINER_CLASS_TRIATHLETE 0x28
+#define TRAINER_CLASS_DRAGON_TAMER 0x29
+#define TRAINER_CLASS_NINJA_BOY 0x2a
+#define TRAINER_CLASS_BATTLE_GIRL 0x2b
+#define TRAINER_CLASS_PARASOL_LADY 0x2c
+#define TRAINER_CLASS_SWIMMER_F 0x2d
+#define TRAINER_CLASS_TWINS 0x2e
+#define TRAINER_CLASS_SAILOR 0x2f
+#define TRAINER_CLASS_COOLTRAINER_2 0x30
+#define TRAINER_CLASS_MAGMA_ADMIN 0x31
+#define TRAINER_CLASS_PKMN_TRAINER_3 0x32
+#define TRAINER_CLASS_BUG_CATCHER 0x33
+#define TRAINER_CLASS_PKMN_RANGER 0x34
+#define TRAINER_CLASS_MAGMA_LEADER 0x35
+#define TRAINER_CLASS_LASS 0x36
+#define TRAINER_CLASS_YOUNG_COUPLE 0x37
+#define TRAINER_CLASS_OLD_COUPLE 0x38
+#define TRAINER_CLASS_SIS_AND_BRO 0x39
+#define TRAINER_CLASS_SALON_MAIDEN 0x3a
+#define TRAINER_CLASS_DOME_ACE 0x3b
+#define TRAINER_CLASS_PALACE_MAVEN 0x3c
+#define TRAINER_CLASS_ARENA_TYCOON 0x3d
+#define TRAINER_CLASS_FACTORY_HEAD 0x3e
+#define TRAINER_CLASS_PIKE_QUEEN 0x3f
+#define TRAINER_CLASS_PYRAMID_KING 0x40
+#define TRAINER_CLASS_PKMN_TRAINER_4 0x41
+
+#define TRAINER_ENCOUNTER_MUSIC_MALE 0 // standard male encounter music
+#define TRAINER_ENCOUNTER_MUSIC_FEMALE 1 // standard female encounter music
+#define TRAINER_ENCOUNTER_MUSIC_GIRL 2 // used for male Tubers and Young Couples too
+#define TRAINER_ENCOUNTER_MUSIC_SUSPICIOUS 3
+#define TRAINER_ENCOUNTER_MUSIC_INTENSE 4
+#define TRAINER_ENCOUNTER_MUSIC_COOL 5
+#define TRAINER_ENCOUNTER_MUSIC_AQUA 6
+#define TRAINER_ENCOUNTER_MUSIC_MAGMA 7
+#define TRAINER_ENCOUNTER_MUSIC_SWIMMER 8
+#define TRAINER_ENCOUNTER_MUSIC_TWINS 9 // used for other trainer classes too
+#define TRAINER_ENCOUNTER_MUSIC_ELITE_FOUR 10
+#define TRAINER_ENCOUNTER_MUSIC_HIKER 11 // used for other trainer classes too
+#define TRAINER_ENCOUNTER_MUSIC_INTERVIEWER 12
+#define TRAINER_ENCOUNTER_MUSIC_RICH 13 // Rich Boys and Gentlemen
+
+#define F_TRAINER_FEMALE (1 << 7)
+
+// All trainer parties specify the IV, level, and species for each Pokémon in the
+// party. Some trainer parties also specify held items and custom moves for each
+// Pokémon.
+#define F_TRAINER_PARTY_CUSTOM_MOVESET (1 << 0)
+#define F_TRAINER_PARTY_HELD_ITEM (1 << 1)
+
+#endif // GUARD_TRAINERS_H
diff --git a/include/constants/vars.h b/include/constants/vars.h
index 6828614bf..b8bd46a96 100644
--- a/include/constants/vars.h
+++ b/include/constants/vars.h
@@ -50,11 +50,13 @@
#define VAR_RESET_RTC_ENABLE 0x402C
#define VAR_0x402D 0x402D
#define VAR_0x402E 0x402E
-#define VAR_0x402F 0x402F
-#define VAR_0x4030 0x4030
-#define VAR_0x4031 0x4031
-#define VAR_0x4032 0x4032
-#define VAR_0x4033 0x4033
+
+#define VAR_FRONTIER_MANIAC_FACILITY 0x402F
+#define VAR_FRONTIER_GAMBLER_FACILITY 0x4030
+#define VAR_FRONTIER_GAMBLER_SET_FACILITY_F 0x4031
+#define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032
+#define VAR_FRONTIER_GAMBLER_PLACED_BET_F 0x4033
+
#define VAR_0x4034 0x4034
#define VAR_0x4035 0x4035
#define VAR_STORAGE_UNKNOWN 0x4036
diff --git a/include/data/bard_music/pokemon.h b/include/data/bard_music/pokemon.h
index 7b4081a3c..693005360 100644
--- a/include/data/bard_music/pokemon.h
+++ b/include/data/bard_music/pokemon.h
@@ -1,6 +1,6 @@
#ifndef GUARD_DATA_BARD_MUSIC_POKEMON_H
#define GUARD_DATA_BARD_MUSIC_POKEMON_H
-#include "species.h"
+#include "constants/species.h"
const u16 gUnknown_085F5490 = NUM_SPECIES;
diff --git a/include/data/pokedex_orders.h b/include/data/pokedex_orders.h
new file mode 100644
index 000000000..61fbd289c
--- /dev/null
+++ b/include/data/pokedex_orders.h
@@ -0,0 +1,1199 @@
+#ifndef GUARD_DATA_POKEDEX_ORDERS
+#define GUARD_DATA_POKEDEX_ORDERS
+
+const u16 gPokedexOrder_Alphabetical[] =
+{
+ 387,
+ 388,
+ 389,
+ 390,
+ 391,
+ 392,
+ 393,
+ 394,
+ 395,
+ 396,
+ 397,
+ 398,
+ 399,
+ 400,
+ 401,
+ 402,
+ 403,
+ 404,
+ 405,
+ 406,
+ 407,
+ 408,
+ 409,
+ 410,
+ 411,
+ 63, // Abra
+ 359, // Absol
+ 142, // Aerodactyl
+ 306, // Aggron
+ 190, // Aipom
+ 65, // Alakazam
+ 334, // Altaria
+ 181, // Ampharos
+ 347, // Anorith
+ 24, // Arbok
+ 59, // Arcanine
+ 168, // Ariados
+ 348, // Armaldo
+ 304, // Aron
+ 144, // Articuno
+ 184, // Azumarill
+ 298, // Azurill
+ 371, // Bagon
+ 343, // Baltoy
+ 354, // Banette
+ 339, // Barboach
+ 153, // Bayleef
+ 267, // Beautifly
+ 15, // Beedrill
+ 374, // Beldum
+ 182, // Bellossom
+ 69, // Bellsprout
+ 9, // Blastoise
+ 257, // Blaziken
+ 242, // Blissey
+ 286, // Breloom
+ 1, // Bulbasaur
+ 12, // Butterfree
+ 331, // Cacnea
+ 332, // Cacturne
+ 323, // Camerupt
+ 318, // Carvanha
+ 268, // Cascoon
+ 351, // Castform
+ 10, // Caterpie
+ 251, // Celebi
+ 113, // Chansey
+ 6, // Charizard
+ 4, // Charmander
+ 5, // Charmeleon
+ 152, // Chikorita
+ 358, // Chimecho
+ 170, // Chinchou
+ 366, // Clamperl
+ 344, // Claydol
+ 36, // Clefable
+ 35, // Clefairy
+ 173, // Cleffa
+ 91, // Cloyster
+ 256, // Combusken
+ 341, // Corphish
+ 222, // Corsola
+ 346, // Cradily
+ 342, // Crawdaunt
+ 169, // Crobat
+ 159, // Croconaw
+ 104, // Cubone
+ 155, // Cyndaquil
+ 301, // Delcatty
+ 225, // Delibird
+ 386, // Deoxys
+ 87, // Dewgong
+ 50, // Diglett
+ 132, // Ditto
+ 85, // Dodrio
+ 84, // Doduo
+ 232, // Donphan
+ 148, // Dragonair
+ 149, // Dragonite
+ 147, // Dratini
+ 96, // Drowzee
+ 51, // Dugtrio
+ 206, // Dunsparce
+ 356, // Dusclops
+ 355, // Duskull
+ 269, // Dustox
+ 133, // Eevee
+ 23, // Ekans
+ 125, // Electabuzz
+ 309, // Electrike
+ 101, // Electrode
+ 239, // Elekid
+ 244, // Entei
+ 196, // Espeon
+ 102, // Exeggcute
+ 103, // Exeggutor
+ 295, // Exploud
+ 83, // Farfetch'd
+ 22, // Fearow
+ 349, // Feebas
+ 160, // Feraligatr
+ 180, // Flaaffy
+ 136, // Flareon
+ 330, // Flygon
+ 205, // Forretress
+ 162, // Furret
+ 282, // Gardevoir
+ 92, // Gastly
+ 94, // Gengar
+ 74, // Geodude
+ 203, // Girafarig
+ 362, // Glalie
+ 207, // Gligar
+ 44, // Gloom
+ 42, // Golbat
+ 118, // Goldeen
+ 55, // Golduck
+ 76, // Golem
+ 368, // Gorebyss
+ 210, // Granbull
+ 75, // Graveler
+ 88, // Grimer
+ 383, // Groudon
+ 253, // Grovyle
+ 58, // Growlithe
+ 326, // Grumpig
+ 316, // Gulpin
+ 130, // Gyarados
+ 297, // Hariyama
+ 93, // Haunter
+ 214, // Heracross
+ 107, // Hitmonchan
+ 106, // Hitmonlee
+ 237, // Hitmontop
+ 250, // Ho-Oh
+ 163, // Hoothoot
+ 187, // Hoppip
+ 116, // Horsea
+ 229, // Houndoom
+ 228, // Houndour
+ 367, // Huntail
+ 97, // Hypno
+ 174, // Igglybuff
+ 314, // Illumise
+ 2, // Ivysaur
+ 39, // Jigglypuff
+ 385, // Jirachi
+ 135, // Jolteon
+ 189, // Jumpluff
+ 124, // Jynx
+ 140, // Kabuto
+ 141, // Kabutops
+ 64, // Kadabra
+ 14, // Kakuna
+ 115, // Kangaskhan
+ 352, // Kecleon
+ 230, // Kingdra
+ 99, // Kingler
+ 281, // Kirlia
+ 109, // Koffing
+ 98, // Krabby
+ 382, // Kyogre
+ 305, // Lairon
+ 171, // Lanturn
+ 131, // Lapras
+ 246, // Larvitar
+ 380, // Latias
+ 381, // Latios
+ 166, // Ledian
+ 165, // Ledyba
+ 108, // Lickitung
+ 345, // Lileep
+ 264, // Linoone
+ 271, // Lombre
+ 270, // Lotad
+ 294, // Loudred
+ 272, // Ludicolo
+ 249, // Lugia
+ 337, // Lunatone
+ 370, // Luvdisc
+ 68, // Machamp
+ 67, // Machoke
+ 66, // Machop
+ 240, // Magby
+ 219, // Magcargo
+ 129, // Magikarp
+ 126, // Magmar
+ 81, // Magnemite
+ 82, // Magneton
+ 296, // Makuhita
+ 310, // Manectric
+ 56, // Mankey
+ 226, // Mantine
+ 179, // Mareep
+ 183, // Marill
+ 105, // Marowak
+ 259, // Marshtomp
+ 284, // Masquerain
+ 303, // Mawile
+ 308, // Medicham
+ 307, // Meditite
+ 154, // Meganium
+ 52, // Meowth
+ 376, // Metagross
+ 375, // Metang
+ 11, // Metapod
+ 151, // Mew
+ 150, // Mewtwo
+ 262, // Mightyena
+ 350, // Milotic
+ 241, // Miltank
+ 312, // Minun
+ 200, // Misdreavus
+ 146, // Moltres
+ 122, // Mr. mime
+ 258, // Mudkip
+ 89, // Muk
+ 198, // Murkrow
+ 177, // Natu
+ 34, // Nidoking
+ 31, // Nidoqueen
+ 29, // Nidoran?
+ 32, // Nidoran?
+ 30, // Nidorina
+ 33, // Nidorino
+ 290, // Nincada
+ 38, // Ninetales
+ 291, // Ninjask
+ 164, // Noctowl
+ 299, // Nosepass
+ 322, // Numel
+ 274, // Nuzleaf
+ 224, // Octillery
+ 43, // Oddish
+ 138, // Omanyte
+ 139, // Omastar
+ 95, // Onix
+ 46, // Paras
+ 47, // Parasect
+ 279, // Pelipper
+ 53, // Persian
+ 231, // Phanpy
+ 172, // Pichu
+ 18, // Pidgeot
+ 17, // Pidgeotto
+ 16, // Pidgey
+ 25, // Pikachu
+ 221, // Piloswine
+ 204, // Pineco
+ 127, // Pinsir
+ 311, // Plusle
+ 186, // Politoed
+ 60, // Poliwag
+ 61, // Poliwhirl
+ 62, // Poliwrath
+ 77, // Ponyta
+ 261, // Poochyena
+ 137, // Porygon
+ 233, // Porygon2
+ 57, // Primeape
+ 54, // Psyduck
+ 247, // Pupitar
+ 195, // Quagsire
+ 156, // Quilava
+ 211, // Qwilfish
+ 26, // Raichu
+ 243, // Raikou
+ 280, // Ralts
+ 78, // Rapidash
+ 20, // Raticate
+ 19, // Rattata
+ 384, // Rayquaza
+ 378, // Regice
+ 377, // Regirock
+ 379, // Registeel
+ 369, // Relicanth
+ 223, // Remoraid
+ 112, // Rhydon
+ 111, // Rhyhorn
+ 315, // Roselia
+ 302, // Sableye
+ 373, // Salamence
+ 27, // Sandshrew
+ 28, // Sandslash
+ 254, // Sceptile
+ 212, // Scizor
+ 123, // Scyther
+ 117, // Seadra
+ 119, // Seaking
+ 364, // Sealeo
+ 273, // Seedot
+ 86, // Seel
+ 161, // Sentret
+ 336, // Seviper
+ 319, // Sharpedo
+ 292, // Shedinja
+ 372, // Shelgon
+ 90, // Shellder
+ 275, // Shiftry
+ 285, // Shroomish
+ 213, // Shuckle
+ 353, // Shuppet
+ 266, // Silcoon
+ 227, // Skarmory
+ 188, // Skiploom
+ 300, // Skitty
+ 289, // Slaking
+ 287, // Slakoth
+ 80, // Slowbro
+ 199, // Slowking
+ 79, // Slowpoke
+ 218, // Slugma
+ 235, // Smeargle
+ 238, // Smoochum
+ 215, // Sneasel
+ 143, // Snorlax
+ 361, // Snorunt
+ 209, // Snubbull
+ 338, // Solrock
+ 21, // Spearow
+ 363, // Spheal
+ 167, // Spinarak
+ 327, // Spinda
+ 325, // Spoink
+ 7, // Squirtle
+ 234, // Stantler
+ 121, // Starmie
+ 120, // Staryu
+ 208, // Steelix
+ 185, // Sudowoodo
+ 245, // Suicune
+ 192, // Sunflora
+ 191, // Sunkern
+ 283, // Surskit
+ 333, // Swablu
+ 317, // Swalot
+ 260, // Swampert
+ 277, // Swellow
+ 220, // Swinub
+ 276, // Taillow
+ 114, // Tangela
+ 128, // Tauros
+ 216, // Teddiursa
+ 72, // Tentacool
+ 73, // Tentacruel
+ 175, // Togepi
+ 176, // Togetic
+ 255, // Torchic
+ 324, // Torkoal
+ 158, // Totodile
+ 328, // Trapinch
+ 252, // Treecko
+ 357, // Tropius
+ 157, // Typhlosion
+ 248, // Tyranitar
+ 236, // Tyrogue
+ 197, // Umbreon
+ 201, // Unown
+ 217, // Ursaring
+ 134, // Vaporeon
+ 49, // Venomoth
+ 48, // Venonat
+ 3, // Venusaur
+ 329, // Vibrava
+ 71, // Victreebel
+ 288, // Vigoroth
+ 45, // Vileplume
+ 313, // Volbeat
+ 100, // Voltorb
+ 37, // Vulpix
+ 320, // Wailmer
+ 321, // Wailord
+ 365, // Walrein
+ 8, // Wartortle
+ 13, // Weedle
+ 70, // Weepinbell
+ 110, // Weezing
+ 340, // Whiscash
+ 293, // Whismur
+ 40, // Wigglytuff
+ 278, // Wingull
+ 202, // Wobbuffet
+ 194, // Wooper
+ 265, // Wurmple
+ 360, // Wynaut
+ 178, // Xatu
+ 193, // Yanma
+ 335, // Zangoose
+ 145, // Zapdos
+ 263, // Zigzagoon
+ 41, // Zubat
+};
+
+const u16 gPokedexOrder_Weight[] =
+{
+ 92, // Gastly
+ 93, // Haunter
+ 187, // Hoppip
+ 50, // Diglett
+ 351, // Castform
+ 109, // Koffing
+ 174, // Igglybuff
+ 200, // Misdreavus
+ 358, // Chimecho
+ 188, // Skiploom
+ 385, // Jirachi
+ 333, // Swablu
+ 292, // Shedinja
+ 175, // Togepi
+ 283, // Surskit
+ 16, // Pidgey
+ 191, // Sunkern
+ 339, // Barboach
+ 172, // Pichu
+ 298, // Azurill
+ 315, // Roselia
+ 177, // Natu
+ 21, // Spearow
+ 198, // Murkrow
+ 353, // Shuppet
+ 276, // Taillow
+ 102, // Exeggcute
+ 255, // Torchic
+ 270, // Lotad
+ 10, // Caterpie
+ 189, // Jumpluff
+ 173, // Cleffa
+ 13, // Weedle
+ 176, // Togetic
+ 147, // Dratini
+ 19, // Rattata
+ 284, // Masquerain
+ 265, // Wurmple
+ 211, // Qwilfish
+ 151, // Mew
+ 90, // Shellder
+ 273, // Seedot
+ 132, // Ditto
+ 69, // Bellsprout
+ 311, // Plusle
+ 52, // Meowth
+ 312, // Minun
+ 285, // Shroomish
+ 251, // Celebi
+ 222, // Corsola
+ 252, // Treecko
+ 327, // Spinda
+ 201, // Unown
+ 46, // Paras
+ 43, // Oddish
+ 39, // Jigglypuff
+ 290, // Nincada
+ 182, // Bellossom
+ 81, // Magnemite
+ 25, // Pikachu
+ 238, // Smoochum
+ 161, // Sentret
+ 70, // Weepinbell
+ 152, // Chikorita
+ 220, // Swinub
+ 133, // Eevee
+ 98, // Krabby
+ 104, // Cubone
+ 280, // Ralts
+ 1, // Bulbasaur
+ 23, // Ekans
+ 29, // Nidoran?
+ 204, // Pineco
+ 349, // Feebas
+ 138, // Omanyte
+ 41, // Zubat
+ 35, // Clefairy
+ 258, // Mudkip
+ 209, // Snubbull
+ 179, // Mareep
+ 155, // Cyndaquil
+ 116, // Horsea
+ 4, // Charmander
+ 192, // Sunflora
+ 183, // Marill
+ 194, // Wooper
+ 167, // Spinarak
+ 44, // Gloom
+ 370, // Luvdisc
+ 216, // Teddiursa
+ 32, // Nidoran?
+ 7, // Squirtle
+ 278, // Wingull
+ 158, // Totodile
+ 110, // Weezing
+ 37, // Vulpix
+ 11, // Metapod
+ 266, // Silcoon
+ 129, // Magikarp
+ 14, // Kakuna
+ 316, // Gulpin
+ 100, // Voltorb
+ 165, // Ledyba
+ 228, // Houndour
+ 300, // Skitty
+ 302, // Sableye
+ 307, // Meditite
+ 341, // Corphish
+ 190, // Aipom
+ 268, // Cascoon
+ 303, // Mawile
+ 140, // Kabuto
+ 40, // Wigglytuff
+ 27, // Sandshrew
+ 223, // Remoraid
+ 291, // Ninjask
+ 170, // Chinchou
+ 60, // Poliwag
+ 347, // Anorith
+ 49, // Venomoth
+ 354, // Banette
+ 2, // Ivysaur
+ 180, // Flaaffy
+ 261, // Poochyena
+ 360, // Wynaut
+ 206, // Dunsparce
+ 178, // Xatu
+ 355, // Duskull
+ 83, // Farfetch'd
+ 328, // Trapinch
+ 118, // Goldeen
+ 309, // Electrike
+ 329, // Vibrava
+ 71, // Victreebel
+ 153, // Bayleef
+ 225, // Delibird
+ 293, // Whismur
+ 148, // Dragonair
+ 361, // Snorunt
+ 263, // Zigzagoon
+ 314, // Illumise
+ 313, // Volbeat
+ 20, // Raticate
+ 45, // Vileplume
+ 156, // Quilava
+ 5, // Charmeleon
+ 58, // Growlithe
+ 256, // Combusken
+ 66, // Machop
+ 63, // Abra
+ 33, // Nidorino
+ 54, // Psyduck
+ 277, // Swellow
+ 38, // Ninetales
+ 30, // Nidorina
+ 61, // Poliwhirl
+ 74, // Geodude
+ 281, // Kirlia
+ 213, // Shuckle
+ 334, // Altaria
+ 318, // Carvanha
+ 236, // Tyrogue
+ 163, // Hoothoot
+ 240, // Magby
+ 343, // Baltoy
+ 253, // Grovyle
+ 352, // Kecleon
+ 171, // Lanturn
+ 8, // Wartortle
+ 368, // Gorebyss
+ 369, // Relicanth
+ 239, // Elekid
+ 340, // Whiscash
+ 345, // Lileep
+ 322, // Numel
+ 287, // Slakoth
+ 135, // Jolteon
+ 159, // Croconaw
+ 136, // Flareon
+ 117, // Seadra
+ 196, // Espeon
+ 367, // Huntail
+ 197, // Umbreon
+ 259, // Marshtomp
+ 274, // Nuzleaf
+ 215, // Sneasel
+ 56, // Mankey
+ 279, // Pelipper
+ 267, // Beautifly
+ 224, // Octillery
+ 184, // Azumarill
+ 202, // Wobbuffet
+ 134, // Vaporeon
+ 28, // Sandslash
+ 47, // Parasect
+ 15, // Beedrill
+ 89, // Muk
+ 17, // Pidgeotto
+ 88, // Grimer
+ 26, // Raichu
+ 77, // Ponyta
+ 125, // Electabuzz
+ 48, // Venonat
+ 325, // Spoink
+ 356, // Dusclops
+ 308, // Medicham
+ 269, // Dustox
+ 53, // Persian
+ 12, // Butterfree
+ 57, // Primeape
+ 96, // Drowzee
+ 162, // Furret
+ 233, // Porygon2
+ 271, // Lombre
+ 264, // Linoone
+ 301, // Delcatty
+ 342, // Crawdaunt
+ 51, // Dugtrio
+ 168, // Ariados
+ 231, // Phanpy
+ 186, // Politoed
+ 120, // Staryu
+ 113, // Chansey
+ 139, // Omastar
+ 114, // Tangela
+ 218, // Slugma
+ 229, // Houndoom
+ 166, // Ledian
+ 79, // Slowpoke
+ 137, // Porygon
+ 262, // Mightyena
+ 193, // Yanma
+ 22, // Fearow
+ 185, // Sudowoodo
+ 119, // Seaking
+ 286, // Breloom
+ 84, // Doduo
+ 18, // Pidgeot
+ 363, // Spheal
+ 36, // Clefable
+ 380, // Latias
+ 310, // Manectric
+ 335, // Zangoose
+ 141, // Kabutops
+ 94, // Gengar
+ 294, // Loudred
+ 124, // Jynx
+ 164, // Noctowl
+ 203, // Girafarig
+ 371, // Bagon
+ 126, // Magmar
+ 105, // Marowak
+ 72, // Tentacool
+ 288, // Vigoroth
+ 242, // Blissey
+ 359, // Absol
+ 65, // Alakazam
+ 237, // Hitmontop
+ 282, // Gardevoir
+ 210, // Granbull
+ 106, // Hitmonlee
+ 107, // Hitmonchan
+ 227, // Skarmory
+ 331, // Cacnea
+ 257, // Blaziken
+ 254, // Sceptile
+ 336, // Seviper
+ 366, // Clamperl
+ 145, // Zapdos
+ 214, // Heracross
+ 62, // Poliwrath
+ 122, // Mr. mime
+ 127, // Pinsir
+ 272, // Ludicolo
+ 73, // Tentacruel
+ 42, // Golbat
+ 219, // Magcargo
+ 144, // Articuno
+ 221, // Piloswine
+ 123, // Scyther
+ 64, // Kadabra
+ 235, // Smeargle
+ 142, // Aerodactyl
+ 275, // Shiftry
+ 99, // Kingler
+ 31, // Nidoqueen
+ 82, // Magneton
+ 304, // Aron
+ 381, // Latios
+ 146, // Moltres
+ 346, // Cradily
+ 386, // Deoxys
+ 181, // Ampharos
+ 34, // Nidoking
+ 207, // Gligar
+ 24, // Arbok
+ 108, // Lickitung
+ 101, // Electrode
+ 348, // Armaldo
+ 67, // Machoke
+ 234, // Stantler
+ 326, // Grumpig
+ 246, // Larvitar
+ 169, // Crobat
+ 195, // Quagsire
+ 241, // Miltank
+ 97, // Hypno
+ 55, // Golduck
+ 332, // Cacturne
+ 80, // Slowbro
+ 157, // Typhlosion
+ 199, // Slowking
+ 115, // Kangaskhan
+ 121, // Starmie
+ 317, // Swalot
+ 324, // Torkoal
+ 260, // Swampert
+ 330, // Flygon
+ 295, // Exploud
+ 85, // Dodrio
+ 9, // Blastoise
+ 296, // Makuhita
+ 364, // Sealeo
+ 128, // Tauros
+ 319, // Sharpedo
+ 160, // Feraligatr
+ 86, // Seel
+ 6, // Charizard
+ 78, // Rapidash
+ 374, // Beldum
+ 299, // Nosepass
+ 3, // Venusaur
+ 357, // Tropius
+ 154, // Meganium
+ 373, // Salamence
+ 75, // Graveler
+ 344, // Claydol
+ 372, // Shelgon
+ 111, // Rhyhorn
+ 212, // Scizor
+ 87, // Dewgong
+ 112, // Rhydon
+ 232, // Donphan
+ 103, // Exeggutor
+ 305, // Lairon
+ 150, // Mewtwo
+ 217, // Ursaring
+ 205, // Forretress
+ 68, // Machamp
+ 320, // Wailmer
+ 289, // Slaking
+ 91, // Cloyster
+ 365, // Walrein
+ 247, // Pupitar
+ 230, // Kingdra
+ 338, // Solrock
+ 59, // Arcanine
+ 350, // Milotic
+ 337, // Lunatone
+ 378, // Regice
+ 243, // Raikou
+ 245, // Suicune
+ 244, // Entei
+ 250, // Ho-Oh
+ 248, // Tyranitar
+ 375, // Metang
+ 379, // Registeel
+ 384, // Rayquaza
+ 95, // Onix
+ 149, // Dragonite
+ 249, // Lugia
+ 131, // Lapras
+ 323, // Camerupt
+ 226, // Mantine
+ 377, // Regirock
+ 130, // Gyarados
+ 297, // Hariyama
+ 362, // Glalie
+ 76, // Golem
+ 382, // Kyogre
+ 306, // Aggron
+ 321, // Wailord
+ 208, // Steelix
+ 143, // Snorlax
+ 376, // Metagross
+ 383, // Groudon
+};
+
+const u16 gPokedexOrder_Height[] =
+{
+ 50, // Diglett
+ 298, // Azurill
+ 177, // Natu
+ 13, // Weedle
+ 172, // Pichu
+ 173, // Cleffa
+ 175, // Togepi
+ 351, // Castform
+ 174, // Igglybuff
+ 10, // Caterpie
+ 276, // Taillow
+ 132, // Ditto
+ 133, // Eevee
+ 315, // Roselia
+ 21, // Spearow
+ 16, // Pidgey
+ 191, // Sunkern
+ 90, // Shellder
+ 19, // Rattata
+ 81, // Magnemite
+ 46, // Paras
+ 265, // Wurmple
+ 385, // Jirachi
+ 104, // Cubone
+ 258, // Mudkip
+ 194, // Wooper
+ 116, // Horsea
+ 52, // Meowth
+ 29, // Nidoran?
+ 220, // Swinub
+ 151, // Mew
+ 333, // Swablu
+ 304, // Aron
+ 311, // Plusle
+ 312, // Minun
+ 102, // Exeggcute
+ 25, // Pikachu
+ 182, // Bellossom
+ 316, // Gulpin
+ 263, // Zigzagoon
+ 285, // Shroomish
+ 138, // Omanyte
+ 331, // Cacnea
+ 98, // Krabby
+ 280, // Ralts
+ 187, // Hoppip
+ 255, // Torchic
+ 366, // Clamperl
+ 74, // Geodude
+ 183, // Marill
+ 339, // Barboach
+ 238, // Smoochum
+ 100, // Voltorb
+ 290, // Nincada
+ 302, // Sableye
+ 198, // Murkrow
+ 211, // Qwilfish
+ 7, // Squirtle
+ 252, // Treecko
+ 343, // Baltoy
+ 43, // Oddish
+ 270, // Lotad
+ 39, // Jigglypuff
+ 283, // Surskit
+ 155, // Cyndaquil
+ 140, // Kabuto
+ 264, // Linoone
+ 324, // Torkoal
+ 32, // Nidoran?
+ 167, // Spinarak
+ 56, // Mankey
+ 273, // Seedot
+ 261, // Poochyena
+ 231, // Phanpy
+ 201, // Unown
+ 170, // Chinchou
+ 233, // Porygon2
+ 60, // Poliwag
+ 371, // Bagon
+ 349, // Feebas
+ 353, // Shuppet
+ 158, // Totodile
+ 251, // Celebi
+ 360, // Wynaut
+ 27, // Sandshrew
+ 358, // Chimecho
+ 370, // Luvdisc
+ 228, // Houndour
+ 266, // Silcoon
+ 309, // Electrike
+ 4, // Charmander
+ 307, // Meditite
+ 278, // Wingull
+ 223, // Remoraid
+ 341, // Corphish
+ 222, // Corsola
+ 314, // Illumise
+ 209, // Snubbull
+ 37, // Vulpix
+ 246, // Larvitar
+ 374, // Beldum
+ 293, // Whismur
+ 204, // Pineco
+ 239, // Elekid
+ 35, // Clefairy
+ 213, // Shuckle
+ 216, // Teddiursa
+ 14, // Kakuna
+ 300, // Skitty
+ 176, // Togetic
+ 118, // Goldeen
+ 303, // Mawile
+ 179, // Mareep
+ 188, // Skiploom
+ 109, // Koffing
+ 51, // Dugtrio
+ 268, // Cascoon
+ 322, // Numel
+ 347, // Anorith
+ 313, // Volbeat
+ 163, // Hoothoot
+ 328, // Trapinch
+ 325, // Spoink
+ 11, // Metapod
+ 69, // Bellsprout
+ 361, // Snorunt
+ 20, // Raticate
+ 259, // Marshtomp
+ 277, // Swellow
+ 240, // Magby
+ 58, // Growlithe
+ 200, // Misdreavus
+ 1, // Bulbasaur
+ 236, // Tyrogue
+ 218, // Slugma
+ 287, // Slakoth
+ 281, // Kirlia
+ 190, // Aipom
+ 135, // Jolteon
+ 30, // Nidorina
+ 184, // Azumarill
+ 292, // Shedinja
+ 66, // Machop
+ 291, // Ninjask
+ 284, // Masquerain
+ 355, // Duskull
+ 192, // Sunflora
+ 189, // Jumpluff
+ 120, // Staryu
+ 180, // Flaaffy
+ 363, // Spheal
+ 54, // Psyduck
+ 219, // Magcargo
+ 83, // Farfetch'd
+ 41, // Zubat
+ 137, // Porygon
+ 161, // Sentret
+ 318, // Carvanha
+ 44, // Gloom
+ 26, // Raichu
+ 129, // Magikarp
+ 215, // Sneasel
+ 305, // Lairon
+ 256, // Combusken
+ 224, // Octillery
+ 33, // Nidorino
+ 136, // Flareon
+ 225, // Delibird
+ 72, // Tentacool
+ 63, // Abra
+ 253, // Grovyle
+ 340, // Whiscash
+ 156, // Quilava
+ 196, // Espeon
+ 88, // Grimer
+ 152, // Chikorita
+ 326, // Grumpig
+ 299, // Nosepass
+ 53, // Persian
+ 262, // Mightyena
+ 48, // Venonat
+ 82, // Magneton
+ 77, // Ponyta
+ 296, // Makuhita
+ 337, // Lunatone
+ 28, // Sandslash
+ 96, // Drowzee
+ 114, // Tangela
+ 57, // Primeape
+ 165, // Ledyba
+ 40, // Wigglytuff
+ 47, // Parasect
+ 139, // Omastar
+ 294, // Loudred
+ 8, // Wartortle
+ 75, // Graveler
+ 197, // Umbreon
+ 345, // Lileep
+ 61, // Poliwhirl
+ 134, // Vaporeon
+ 15, // Beedrill
+ 105, // Marowak
+ 70, // Weepinbell
+ 369, // Relicanth
+ 111, // Rhyhorn
+ 2, // Ivysaur
+ 352, // Kecleon
+ 274, // Nuzleaf
+ 267, // Beautifly
+ 17, // Pidgeotto
+ 168, // Ariados
+ 86, // Seel
+ 186, // Politoed
+ 159, // Croconaw
+ 113, // Chansey
+ 354, // Banette
+ 232, // Donphan
+ 121, // Starmie
+ 5, // Charmeleon
+ 221, // Piloswine
+ 12, // Butterfree
+ 329, // Vibrava
+ 125, // Electabuzz
+ 342, // Crawdaunt
+ 301, // Delcatty
+ 334, // Altaria
+ 372, // Shelgon
+ 38, // Ninetales
+ 207, // Gligar
+ 364, // Sealeo
+ 327, // Spinda
+ 247, // Pupitar
+ 79, // Slowpoke
+ 338, // Solrock
+ 241, // Miltank
+ 22, // Fearow
+ 45, // Vileplume
+ 89, // Muk
+ 205, // Forretress
+ 185, // Sudowoodo
+ 359, // Absol
+ 193, // Yanma
+ 269, // Dustox
+ 108, // Lickitung
+ 235, // Smeargle
+ 171, // Lanturn
+ 101, // Electrode
+ 271, // Lombre
+ 286, // Breloom
+ 153, // Bayleef
+ 117, // Seadra
+ 110, // Weezing
+ 279, // Pelipper
+ 375, // Metang
+ 31, // Nidoqueen
+ 332, // Cacturne
+ 275, // Shiftry
+ 308, // Medicham
+ 335, // Zangoose
+ 141, // Kabutops
+ 99, // Kingler
+ 64, // Kadabra
+ 119, // Seaking
+ 36, // Clefable
+ 126, // Magmar
+ 202, // Wobbuffet
+ 92, // Gastly
+ 122, // Mr. mime
+ 62, // Poliwrath
+ 128, // Tauros
+ 380, // Latias
+ 181, // Ampharos
+ 288, // Vigoroth
+ 166, // Ledian
+ 76, // Golem
+ 365, // Walrein
+ 84, // Doduo
+ 229, // Houndoom
+ 34, // Nidoking
+ 124, // Jynx
+ 107, // Hitmonchan
+ 234, // Stantler
+ 210, // Granbull
+ 237, // Hitmontop
+ 195, // Quagsire
+ 344, // Claydol
+ 260, // Swampert
+ 242, // Blissey
+ 272, // Ludicolo
+ 295, // Exploud
+ 206, // Dunsparce
+ 127, // Pinsir
+ 91, // Cloyster
+ 67, // Machoke
+ 203, // Girafarig
+ 18, // Pidgeot
+ 178, // Xatu
+ 346, // Cradily
+ 106, // Hitmonlee
+ 49, // Venomoth
+ 94, // Gengar
+ 214, // Heracross
+ 362, // Glalie
+ 123, // Scyther
+ 373, // Salamence
+ 310, // Manectric
+ 348, // Armaldo
+ 65, // Alakazam
+ 97, // Hypno
+ 164, // Noctowl
+ 73, // Tentacruel
+ 356, // Dusclops
+ 145, // Zapdos
+ 42, // Golbat
+ 376, // Metagross
+ 282, // Gardevoir
+ 9, // Blastoise
+ 80, // Slowbro
+ 93, // Haunter
+ 68, // Machamp
+ 377, // Regirock
+ 317, // Swalot
+ 254, // Sceptile
+ 227, // Skarmory
+ 55, // Golduck
+ 386, // Deoxys
+ 71, // Victreebel
+ 78, // Rapidash
+ 6, // Charizard
+ 367, // Huntail
+ 87, // Dewgong
+ 144, // Articuno
+ 157, // Typhlosion
+ 142, // Aerodactyl
+ 368, // Gorebyss
+ 217, // Ursaring
+ 154, // Meganium
+ 378, // Regice
+ 212, // Scizor
+ 230, // Kingdra
+ 147, // Dratini
+ 85, // Dodrio
+ 319, // Sharpedo
+ 169, // Crobat
+ 162, // Furret
+ 59, // Arcanine
+ 243, // Raikou
+ 257, // Blaziken
+ 323, // Camerupt
+ 112, // Rhydon
+ 379, // Registeel
+ 23, // Ekans
+ 330, // Flygon
+ 357, // Tropius
+ 381, // Latios
+ 245, // Suicune
+ 146, // Moltres
+ 3, // Venusaur
+ 103, // Exeggutor
+ 199, // Slowking
+ 248, // Tyranitar
+ 289, // Slaking
+ 320, // Wailmer
+ 150, // Mewtwo
+ 306, // Aggron
+ 143, // Snorlax
+ 226, // Mantine
+ 244, // Entei
+ 149, // Dragonite
+ 115, // Kangaskhan
+ 297, // Hariyama
+ 160, // Feraligatr
+ 131, // Lapras
+ 336, // Seviper
+ 24, // Arbok
+ 383, // Groudon
+ 250, // Ho-Oh
+ 148, // Dragonair
+ 382, // Kyogre
+ 249, // Lugia
+ 350, // Milotic
+ 130, // Gyarados
+ 384, // Rayquaza
+ 95, // Onix
+ 208, // Steelix
+ 321, // Wailord
+};
+
+#endif // GUARD_DATA_POKEDEX_ORDERS
diff --git a/include/data/region_map/region_map_entries.h b/include/data/region_map/region_map_entries.h
index 73599c704..9c7e3f2fc 100644
--- a/include/data/region_map/region_map_entries.h
+++ b/include/data/region_map/region_map_entries.h
@@ -1,421 +1,421 @@
#ifndef GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H
#define GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H
-static const u8 gMapName_LittlerootTown[] = _("LITTLEROOT TOWN");
-static const u8 gMapName_OldaleTown[] = _("OLDALE TOWN");
-static const u8 gMapName_DewfordTown[] = _("DEWFORD TOWN");
-static const u8 gMapName_LavaridgeTown[] = _("LAVARIDGE TOWN");
-static const u8 gMapName_FallarborTown[] = _("FALLARBOR TOWN");
-static const u8 gMapName_VerdanturfTown[] = _("VERDANTURF TOWN");
-static const u8 gMapName_PacifidlogTown[] = _("PACIFIDLOG TOWN");
-static const u8 gMapName_PetalburgCity[] = _("PETALBURG CITY");
-static const u8 gMapName_SlateportCity[] = _("SLATEPORT CITY");
-static const u8 gMapName_MauvilleCity[] = _("MAUVILLE CITY");
-static const u8 gMapName_RustboroCity[] = _("RUSTBORO CITY");
-static const u8 gMapName_FortreeCity[] = _("FORTREE CITY");
-static const u8 gMapName_LilycoveCity[] = _("LILYCOVE CITY");
-static const u8 gMapName_MossdeepCity[] = _("MOSSDEEP CITY");
-static const u8 gMapName_SootopolisCity[] = _("SOOTOPOLIS CITY");
-static const u8 gMapName_EverGrandeCity[] = _("EVER GRANDE CITY");
-static const u8 gMapName_Route101[] = _("ROUTE 101");
-static const u8 gMapName_Route102[] = _("ROUTE 102");
-static const u8 gMapName_Route103[] = _("ROUTE 103");
-static const u8 gMapName_Route104[] = _("ROUTE 104");
-static const u8 gMapName_Route105[] = _("ROUTE 105");
-static const u8 gMapName_Route106[] = _("ROUTE 106");
-static const u8 gMapName_Route107[] = _("ROUTE 107");
-static const u8 gMapName_Route108[] = _("ROUTE 108");
-static const u8 gMapName_Route109[] = _("ROUTE 109");
-static const u8 gMapName_Route110[] = _("ROUTE 110");
-static const u8 gMapName_Route111[] = _("ROUTE 111");
-static const u8 gMapName_Route112[] = _("ROUTE 112");
-static const u8 gMapName_Route113[] = _("ROUTE 113");
-static const u8 gMapName_Route114[] = _("ROUTE 114");
-static const u8 gMapName_Route115[] = _("ROUTE 115");
-static const u8 gMapName_Route116[] = _("ROUTE 116");
-static const u8 gMapName_Route117[] = _("ROUTE 117");
-static const u8 gMapName_Route118[] = _("ROUTE 118");
-static const u8 gMapName_Route119[] = _("ROUTE 119");
-static const u8 gMapName_Route120[] = _("ROUTE 120");
-static const u8 gMapName_Route121[] = _("ROUTE 121");
-static const u8 gMapName_Route122[] = _("ROUTE 122");
-static const u8 gMapName_Route123[] = _("ROUTE 123");
-static const u8 gMapName_Route124[] = _("ROUTE 124");
-static const u8 gMapName_Route125[] = _("ROUTE 125");
-static const u8 gMapName_Route126[] = _("ROUTE 126");
-static const u8 gMapName_Route127[] = _("ROUTE 127");
-static const u8 gMapName_Route128[] = _("ROUTE 128");
-static const u8 gMapName_Route129[] = _("ROUTE 129");
-static const u8 gMapName_Route130[] = _("ROUTE 130");
-static const u8 gMapName_Route131[] = _("ROUTE 131");
-static const u8 gMapName_Route132[] = _("ROUTE 132");
-static const u8 gMapName_Route133[] = _("ROUTE 133");
-static const u8 gMapName_Route134[] = _("ROUTE 134");
-static const u8 gMapName_Underwater[] = _("UNDERWATER");
-static const u8 gMapName_GraniteCave[] = _("GRANITE CAVE");
-static const u8 gMapName_MtChimney[] = _("MT. CHIMNEY");
-static const u8 gMapName_SafariZone[] = _("SAFARI ZONE");
-static const u8 gMapName_BattleFrontier[] = _("BATTLE FRONTIER");
-static const u8 gMapName_PetalburgWoods[] = _("PETALBURG WOODS");
-static const u8 gMapName_RusturfTunnel[] = _("RUSTURF TUNNEL");
-static const u8 gMapName_AbandonedShip[] = _("ABANDONED SHIP");
-static const u8 gMapName_NewMauville[] = _("NEW MAUVILLE");
-static const u8 gMapName_MeteorFalls[] = _("METEOR FALLS");
-static const u8 gMapName_MtPyre[] = _("MT. PYRE");
+static const u8 sMapName_LittlerootTown[] = _("LITTLEROOT TOWN");
+static const u8 sMapName_OldaleTown[] = _("OLDALE TOWN");
+static const u8 sMapName_DewfordTown[] = _("DEWFORD TOWN");
+static const u8 sMapName_LavaridgeTown[] = _("LAVARIDGE TOWN");
+static const u8 sMapName_FallarborTown[] = _("FALLARBOR TOWN");
+static const u8 sMapName_VerdanturfTown[] = _("VERDANTURF TOWN");
+static const u8 sMapName_PacifidlogTown[] = _("PACIFIDLOG TOWN");
+static const u8 sMapName_PetalburgCity[] = _("PETALBURG CITY");
+static const u8 sMapName_SlateportCity[] = _("SLATEPORT CITY");
+static const u8 sMapName_MauvilleCity[] = _("MAUVILLE CITY");
+static const u8 sMapName_RustboroCity[] = _("RUSTBORO CITY");
+static const u8 sMapName_FortreeCity[] = _("FORTREE CITY");
+static const u8 sMapName_LilycoveCity[] = _("LILYCOVE CITY");
+static const u8 sMapName_MossdeepCity[] = _("MOSSDEEP CITY");
+static const u8 sMapName_SootopolisCity[] = _("SOOTOPOLIS CITY");
+static const u8 sMapName_EverGrandeCity[] = _("EVER GRANDE CITY");
+static const u8 sMapName_Route101[] = _("ROUTE 101");
+static const u8 sMapName_Route102[] = _("ROUTE 102");
+static const u8 sMapName_Route103[] = _("ROUTE 103");
+static const u8 sMapName_Route104[] = _("ROUTE 104");
+static const u8 sMapName_Route105[] = _("ROUTE 105");
+static const u8 sMapName_Route106[] = _("ROUTE 106");
+static const u8 sMapName_Route107[] = _("ROUTE 107");
+static const u8 sMapName_Route108[] = _("ROUTE 108");
+static const u8 sMapName_Route109[] = _("ROUTE 109");
+static const u8 sMapName_Route110[] = _("ROUTE 110");
+static const u8 sMapName_Route111[] = _("ROUTE 111");
+static const u8 sMapName_Route112[] = _("ROUTE 112");
+static const u8 sMapName_Route113[] = _("ROUTE 113");
+static const u8 sMapName_Route114[] = _("ROUTE 114");
+static const u8 sMapName_Route115[] = _("ROUTE 115");
+static const u8 sMapName_Route116[] = _("ROUTE 116");
+static const u8 sMapName_Route117[] = _("ROUTE 117");
+static const u8 sMapName_Route118[] = _("ROUTE 118");
+static const u8 sMapName_Route119[] = _("ROUTE 119");
+static const u8 sMapName_Route120[] = _("ROUTE 120");
+static const u8 sMapName_Route121[] = _("ROUTE 121");
+static const u8 sMapName_Route122[] = _("ROUTE 122");
+static const u8 sMapName_Route123[] = _("ROUTE 123");
+static const u8 sMapName_Route124[] = _("ROUTE 124");
+static const u8 sMapName_Route125[] = _("ROUTE 125");
+static const u8 sMapName_Route126[] = _("ROUTE 126");
+static const u8 sMapName_Route127[] = _("ROUTE 127");
+static const u8 sMapName_Route128[] = _("ROUTE 128");
+static const u8 sMapName_Route129[] = _("ROUTE 129");
+static const u8 sMapName_Route130[] = _("ROUTE 130");
+static const u8 sMapName_Route131[] = _("ROUTE 131");
+static const u8 sMapName_Route132[] = _("ROUTE 132");
+static const u8 sMapName_Route133[] = _("ROUTE 133");
+static const u8 sMapName_Route134[] = _("ROUTE 134");
+static const u8 sMapName_Underwater[] = _("UNDERWATER");
+static const u8 sMapName_GraniteCave[] = _("GRANITE CAVE");
+static const u8 sMapName_MtChimney[] = _("MT. CHIMNEY");
+static const u8 sMapName_SafariZone[] = _("SAFARI ZONE");
+static const u8 sMapName_BattleFrontier[] = _("BATTLE FRONTIER");
+static const u8 sMapName_PetalburgWoods[] = _("PETALBURG WOODS");
+static const u8 sMapName_RusturfTunnel[] = _("RUSTURF TUNNEL");
+static const u8 sMapName_AbandonedShip[] = _("ABANDONED SHIP");
+static const u8 sMapName_NewMauville[] = _("NEW MAUVILLE");
+static const u8 sMapName_MeteorFalls[] = _("METEOR FALLS");
+static const u8 sMapName_MtPyre[] = _("MT. PYRE");
// This was the Aqua or Magma hideout in Ruby/Sapphire, but each team has a
// hideout in Emerald with their own new region map entries, and this name
// doesn't seem to be used anymore.
-static const u8 gMapName_AquaHideoutOld[] = _("{AQUA} HIDEOUT");
-static const u8 gMapName_ShoalCave[] = _("SHOAL CAVE");
-static const u8 gMapName_SeafloorCavern[] = _("SEAFLOOR CAVERN");
-static const u8 gMapName_VictoryRoad[] = _("VICTORY ROAD");
-static const u8 gMapName_MirageIsland[] = _("MIRAGE ISLAND");
-static const u8 gMapName_CaveOfOrigin[] = _("CAVE OF ORIGIN");
-static const u8 gMapName_SouthernIsland[] = _("SOUTHERN ISLAND");
-static const u8 gMapName_FieryPath[] = _("FIERY PATH");
-static const u8 gMapName_JaggedPass[] = _("JAGGED PASS");
-static const u8 gMapName_SealedChamber[] = _("SEALED CHAMBER");
-static const u8 gMapName_ScorchedSlab[] = _("SCORCHED SLAB");
-static const u8 gMapName_IslandCave[] = _("ISLAND CAVE");
-static const u8 gMapName_DesertRuins[] = _("DESERT RUINS");
-static const u8 gMapName_AncientTomb[] = _("ANCIENT TOMB");
-static const u8 gMapName_InsideOfTruck[] = _("INSIDE OF TRUCK");
-static const u8 gMapName_SkyPillar[] = _("SKY PILLAR");
-static const u8 gMapName_SecretBase[] = _("SECRET BASE");
-static const u8 gMapName_None[] = _("");
-static const u8 gMapName_PalletTown[] = _("PALLET TOWN");
-static const u8 gMapName_ViridianCity[] = _("VIRIDIAN CITY");
-static const u8 gMapName_PewterCity[] = _("PEWTER CITY");
-static const u8 gMapName_CeruleanCity[] = _("CERULEAN CITY");
-static const u8 gMapName_LavenderTown[] = _("LAVENDER TOWN");
-static const u8 gMapName_VermilionCity[] = _("VERMILION CITY");
-static const u8 gMapName_CeladonCity[] = _("CELADON CITY");
-static const u8 gMapName_FuchsiaCity[] = _("FUCHSIA CITY");
-static const u8 gMapName_CinnabarIsland[] = _("CINNABAR ISLAND");
-static const u8 gMapName_IndigoPlateau[] = _("INDIGO PLATEAU");
-static const u8 gMapName_SaffronCity[] = _("SAFFRON CITY");
-static const u8 gMapName_Route4[] = _("ROUTE 4");
-static const u8 gMapName_Route10[] = _("ROUTE 10");
-static const u8 gMapName_Route1[] = _("ROUTE 1");
-static const u8 gMapName_Route2[] = _("ROUTE 2");
-static const u8 gMapName_Route3[] = _("ROUTE 3");
-static const u8 gMapName_Route4_2[] = _("ROUTE 4");
-static const u8 gMapName_Route5[] = _("ROUTE 5");
-static const u8 gMapName_Route6[] = _("ROUTE 6");
-static const u8 gMapName_Route7[] = _("ROUTE 7");
-static const u8 gMapName_Route8[] = _("ROUTE 8");
-static const u8 gMapName_Route9[] = _("ROUTE 9");
-static const u8 gMapName_Route10_2[] = _("ROUTE 10");
-static const u8 gMapName_Route11[] = _("ROUTE 11");
-static const u8 gMapName_Route12[] = _("ROUTE 12");
-static const u8 gMapName_Route13[] = _("ROUTE 13");
-static const u8 gMapName_Route14[] = _("ROUTE 14");
-static const u8 gMapName_Route15[] = _("ROUTE 15");
-static const u8 gMapName_Route16[] = _("ROUTE 16");
-static const u8 gMapName_Route17[] = _("ROUTE 17");
-static const u8 gMapName_Route18[] = _("ROUTE 18");
-static const u8 gMapName_Route19[] = _("ROUTE 19");
-static const u8 gMapName_Route20[] = _("ROUTE 20");
-static const u8 gMapName_Route21[] = _("ROUTE 21");
-static const u8 gMapName_Route22[] = _("ROUTE 22");
-static const u8 gMapName_Route23[] = _("ROUTE 23");
-static const u8 gMapName_Route24[] = _("ROUTE 24");
-static const u8 gMapName_Route25[] = _("ROUTE 25");
-static const u8 gMapName_ViridianForest[] = _("VIRIDIAN FOREST");
-static const u8 gMapName_MtMoon[] = _("MT. MOON");
-static const u8 gMapName_SSAnne[] = _("S.S. ANNE");
-static const u8 gMapName_UndergroundPath[] = _("UNDERGROUND PATH");
-static const u8 gMapName_UndergroundPath2[] = _("UNDERGROUND PATH");
-static const u8 gMapName_DiglettsCave[] = _("DIGLETT’S CAVE");
-static const u8 gMapName_KantoVictoryRoad[] = _("VICTORY ROAD");
-static const u8 gMapName_RocketHideout[] = _("ROCKET HIDEOUT");
-static const u8 gMapName_SilphCo[] = _("SILPH CO.");
-static const u8 gMapName_PokemonMansion[] = _("POKéMON MANSION");
-static const u8 gMapName_KantoSafariZone[] = _("SAFARI ZONE");
-static const u8 gMapName_PokemonLeague[] = _("POKéMON LEAGUE");
-static const u8 gMapName_RockTunnel[] = _("ROCK TUNNEL");
-static const u8 gMapName_SeafoamIslands[] = _("SEAFOAM ISLANDS");
-static const u8 gMapName_PokemonTower[] = _("POKéMON TOWER");
-static const u8 gMapName_CeruleanCave[] = _("CERULEAN CAVE");
-static const u8 gMapName_PowerPlant[] = _("POWER PLANT");
-static const u8 gMapName_OneIsland[] = _("ONE ISLAND");
-static const u8 gMapName_TwoIsland[] = _("TWO ISLAND");
-static const u8 gMapName_ThreeIsland[] = _("THREE ISLAND");
-static const u8 gMapName_FourIsland[] = _("FOUR ISLAND");
-static const u8 gMapName_FiveIsland[] = _("FIVE ISLAND");
-static const u8 gMapName_SevenIsland[] = _("SEVEN ISLAND");
-static const u8 gMapName_SixIsland[] = _("SIX ISLAND");
-static const u8 gMapName_KindleRoad[] = _("KINDLE ROAD");
-static const u8 gMapName_TreasureBeach[] = _("TREASURE BEACH");
-static const u8 gMapName_CapeBrink[] = _("CAPE BRINK");
-static const u8 gMapName_BondBridge[] = _("BOND BRIDGE");
-static const u8 gMapName_ThreeIslePort[] = _("THREE ISLE PORT");
-static const u8 gMapName_SeviiIsle6[] = _("SEVII ISLE 6");
-static const u8 gMapName_SeviiIsle7[] = _("SEVII ISLE 7");
-static const u8 gMapName_SeviiIsle8[] = _("SEVII ISLE 8");
-static const u8 gMapName_SeviiIsle9[] = _("SEVII ISLE 9");
-static const u8 gMapName_ResortGorgeous[] = _("RESORT GORGEOUS");
-static const u8 gMapName_WaterLabyrinth[] = _("WATER LABYRINTH");
-static const u8 gMapName_FiveIsleMeadow[] = _("FIVE ISLE MEADOW");
-static const u8 gMapName_MemorialPillar[] = _("MEMORIAL PILLAR");
-static const u8 gMapName_OutcastIsland[] = _("OUTCAST ISLAND");
-static const u8 gMapName_GreenPath[] = _("GREEN PATH");
-static const u8 gMapName_WaterPath[] = _("WATER PATH");
-static const u8 gMapName_RuinValley[] = _("RUIN VALLEY");
-static const u8 gMapName_TrainerTower[] = _("TRAINER TOWER");
-static const u8 gMapName_CanyonEntrance[] = _("CANYON ENTRANCE");
-static const u8 gMapName_SevaultCanyon[] = _("SEVAULT CANYON");
-static const u8 gMapName_TanobyRuins[] = _("TANOBY RUINS");
-static const u8 gMapName_SeviiIsle22[] = _("SEVII ISLE 22");
-static const u8 gMapName_SeviiIsle23[] = _("SEVII ISLE 23");
-static const u8 gMapName_SeviiIsle24[] = _("SEVII ISLE 24");
-static const u8 gMapName_NavelRock[] = _("NAVEL ROCK");
-static const u8 gMapName_MtEmber[] = _("MT. EMBER");
-static const u8 gMapName_BerryForest[] = _("BERRY FOREST");
-static const u8 gMapName_IcefallCave[] = _("ICEFALL CAVE");
-static const u8 gMapName_RocketWarehouse[] = _("ROCKET WAREHOUSE");
-static const u8 gMapName_TrainerTower2[] = _("TRAINER TOWER");
-static const u8 gMapName_DottedHole[] = _("DOTTED HOLE");
-static const u8 gMapName_LostCave[] = _("LOST CAVE");
-static const u8 gMapName_PatternBush[] = _("PATTERN BUSH");
-static const u8 gMapName_AlteringCave[] = _("ALTERING CAVE");
-static const u8 gMapName_TanobyChambers[] = _("TANOBY CHAMBERS");
-static const u8 gMapName_ThreeIslePath[] = _("THREE ISLE PATH");
-static const u8 gMapName_TanobyKey[] = _("TANOBY KEY");
-static const u8 gMapName_BirthIsland[] = _("BIRTH ISLAND");
-static const u8 gMapName_MoneanChamber[] = _("MONEAN CHAMBER");
-static const u8 gMapName_LiptooChamber[] = _("LIPTOO CHAMBER");
-static const u8 gMapName_WeepthChamber[] = _("WEEPTH CHAMBER");
-static const u8 gMapName_DilfordChamber[] = _("DILFORD CHAMBER");
-static const u8 gMapName_ScufibChamber[] = _("SCUFIB CHAMBER");
-static const u8 gMapName_RixyChamber[] = _("RIXY CHAMBER");
-static const u8 gMapName_ViapoisChamber[] = _("VIAPOIS CHAMBER");
-static const u8 gMapName_EmberSpa[] = _("EMBER SPA");
-static const u8 gMapName_SpecialArea[] = _("SPECIAL AREA");
-static const u8 gMapName_AquaHideout[] = _("AQUA HIDEOUT");
-static const u8 gMapName_MagmaHideout[] = _("MAGMA HIDEOUT");
-static const u8 gMapName_MirageTower[] = _("MIRAGE TOWER");
-static const u8 gMapName_FarawayIsland[] = _("FARAWAY ISLAND");
-static const u8 gMapName_ArtisanCave[] = _("ARTISAN CAVE");
-static const u8 gMapName_MarineCave[] = _("MARINE CAVE");
-static const u8 gMapName_TerraCave[] = _("TERRA CAVE");
-static const u8 gMapName_DesertUnderpass[] = _("DESERT UNDERPASS");
-static const u8 gMapName_TrainerHill[] = _("TRAINER HILL");
+static const u8 sMapName_AquaHideoutOld[] = _("{AQUA} HIDEOUT");
+static const u8 sMapName_ShoalCave[] = _("SHOAL CAVE");
+static const u8 sMapName_SeafloorCavern[] = _("SEAFLOOR CAVERN");
+static const u8 sMapName_VictoryRoad[] = _("VICTORY ROAD");
+static const u8 sMapName_MirageIsland[] = _("MIRAGE ISLAND");
+static const u8 sMapName_CaveOfOrigin[] = _("CAVE OF ORIGIN");
+static const u8 sMapName_SouthernIsland[] = _("SOUTHERN ISLAND");
+static const u8 sMapName_FieryPath[] = _("FIERY PATH");
+static const u8 sMapName_JaggedPass[] = _("JAGGED PASS");
+static const u8 sMapName_SealedChamber[] = _("SEALED CHAMBER");
+static const u8 sMapName_ScorchedSlab[] = _("SCORCHED SLAB");
+static const u8 sMapName_IslandCave[] = _("ISLAND CAVE");
+static const u8 sMapName_DesertRuins[] = _("DESERT RUINS");
+static const u8 sMapName_AncientTomb[] = _("ANCIENT TOMB");
+static const u8 sMapName_InsideOfTruck[] = _("INSIDE OF TRUCK");
+static const u8 sMapName_SkyPillar[] = _("SKY PILLAR");
+static const u8 sMapName_SecretBase[] = _("SECRET BASE");
+static const u8 sMapName_None[] = _("");
+static const u8 sMapName_PalletTown[] = _("PALLET TOWN");
+static const u8 sMapName_ViridianCity[] = _("VIRIDIAN CITY");
+static const u8 sMapName_PewterCity[] = _("PEWTER CITY");
+static const u8 sMapName_CeruleanCity[] = _("CERULEAN CITY");
+static const u8 sMapName_LavenderTown[] = _("LAVENDER TOWN");
+static const u8 sMapName_VermilionCity[] = _("VERMILION CITY");
+static const u8 sMapName_CeladonCity[] = _("CELADON CITY");
+static const u8 sMapName_FuchsiaCity[] = _("FUCHSIA CITY");
+static const u8 sMapName_CinnabarIsland[] = _("CINNABAR ISLAND");
+static const u8 sMapName_IndigoPlateau[] = _("INDIGO PLATEAU");
+static const u8 sMapName_SaffronCity[] = _("SAFFRON CITY");
+static const u8 sMapName_Route4[] = _("ROUTE 4");
+static const u8 sMapName_Route10[] = _("ROUTE 10");
+static const u8 sMapName_Route1[] = _("ROUTE 1");
+static const u8 sMapName_Route2[] = _("ROUTE 2");
+static const u8 sMapName_Route3[] = _("ROUTE 3");
+static const u8 sMapName_Route4_2[] = _("ROUTE 4");
+static const u8 sMapName_Route5[] = _("ROUTE 5");
+static const u8 sMapName_Route6[] = _("ROUTE 6");
+static const u8 sMapName_Route7[] = _("ROUTE 7");
+static const u8 sMapName_Route8[] = _("ROUTE 8");
+static const u8 sMapName_Route9[] = _("ROUTE 9");
+static const u8 sMapName_Route10_2[] = _("ROUTE 10");
+static const u8 sMapName_Route11[] = _("ROUTE 11");
+static const u8 sMapName_Route12[] = _("ROUTE 12");
+static const u8 sMapName_Route13[] = _("ROUTE 13");
+static const u8 sMapName_Route14[] = _("ROUTE 14");
+static const u8 sMapName_Route15[] = _("ROUTE 15");
+static const u8 sMapName_Route16[] = _("ROUTE 16");
+static const u8 sMapName_Route17[] = _("ROUTE 17");
+static const u8 sMapName_Route18[] = _("ROUTE 18");
+static const u8 sMapName_Route19[] = _("ROUTE 19");
+static const u8 sMapName_Route20[] = _("ROUTE 20");
+static const u8 sMapName_Route21[] = _("ROUTE 21");
+static const u8 sMapName_Route22[] = _("ROUTE 22");
+static const u8 sMapName_Route23[] = _("ROUTE 23");
+static const u8 sMapName_Route24[] = _("ROUTE 24");
+static const u8 sMapName_Route25[] = _("ROUTE 25");
+static const u8 sMapName_ViridianForest[] = _("VIRIDIAN FOREST");
+static const u8 sMapName_MtMoon[] = _("MT. MOON");
+static const u8 sMapName_SSAnne[] = _("S.S. ANNE");
+static const u8 sMapName_UndergroundPath[] = _("UNDERGROUND PATH");
+static const u8 sMapName_UndergroundPath2[] = _("UNDERGROUND PATH");
+static const u8 sMapName_DiglettsCave[] = _("DIGLETT’S CAVE");
+static const u8 sMapName_KantoVictoryRoad[] = _("VICTORY ROAD");
+static const u8 sMapName_RocketHideout[] = _("ROCKET HIDEOUT");
+static const u8 sMapName_SilphCo[] = _("SILPH CO.");
+static const u8 sMapName_PokemonMansion[] = _("POKéMON MANSION");
+static const u8 sMapName_KantoSafariZone[] = _("SAFARI ZONE");
+static const u8 sMapName_PokemonLeague[] = _("POKéMON LEAGUE");
+static const u8 sMapName_RockTunnel[] = _("ROCK TUNNEL");
+static const u8 sMapName_SeafoamIslands[] = _("SEAFOAM ISLANDS");
+static const u8 sMapName_PokemonTower[] = _("POKéMON TOWER");
+static const u8 sMapName_CeruleanCave[] = _("CERULEAN CAVE");
+static const u8 sMapName_PowerPlant[] = _("POWER PLANT");
+static const u8 sMapName_OneIsland[] = _("ONE ISLAND");
+static const u8 sMapName_TwoIsland[] = _("TWO ISLAND");
+static const u8 sMapName_ThreeIsland[] = _("THREE ISLAND");
+static const u8 sMapName_FourIsland[] = _("FOUR ISLAND");
+static const u8 sMapName_FiveIsland[] = _("FIVE ISLAND");
+static const u8 sMapName_SevenIsland[] = _("SEVEN ISLAND");
+static const u8 sMapName_SixIsland[] = _("SIX ISLAND");
+static const u8 sMapName_KindleRoad[] = _("KINDLE ROAD");
+static const u8 sMapName_TreasureBeach[] = _("TREASURE BEACH");
+static const u8 sMapName_CapeBrink[] = _("CAPE BRINK");
+static const u8 sMapName_BondBridge[] = _("BOND BRIDGE");
+static const u8 sMapName_ThreeIslePort[] = _("THREE ISLE PORT");
+static const u8 sMapName_SeviiIsle6[] = _("SEVII ISLE 6");
+static const u8 sMapName_SeviiIsle7[] = _("SEVII ISLE 7");
+static const u8 sMapName_SeviiIsle8[] = _("SEVII ISLE 8");
+static const u8 sMapName_SeviiIsle9[] = _("SEVII ISLE 9");
+static const u8 sMapName_ResortGorgeous[] = _("RESORT GORGEOUS");
+static const u8 sMapName_WaterLabyrinth[] = _("WATER LABYRINTH");
+static const u8 sMapName_FiveIsleMeadow[] = _("FIVE ISLE MEADOW");
+static const u8 sMapName_MemorialPillar[] = _("MEMORIAL PILLAR");
+static const u8 sMapName_OutcastIsland[] = _("OUTCAST ISLAND");
+static const u8 sMapName_GreenPath[] = _("GREEN PATH");
+static const u8 sMapName_WaterPath[] = _("WATER PATH");
+static const u8 sMapName_RuinValley[] = _("RUIN VALLEY");
+static const u8 sMapName_TrainerTower[] = _("TRAINER TOWER");
+static const u8 sMapName_CanyonEntrance[] = _("CANYON ENTRANCE");
+static const u8 sMapName_SevaultCanyon[] = _("SEVAULT CANYON");
+static const u8 sMapName_TanobyRuins[] = _("TANOBY RUINS");
+static const u8 sMapName_SeviiIsle22[] = _("SEVII ISLE 22");
+static const u8 sMapName_SeviiIsle23[] = _("SEVII ISLE 23");
+static const u8 sMapName_SeviiIsle24[] = _("SEVII ISLE 24");
+static const u8 sMapName_NavelRock[] = _("NAVEL ROCK");
+static const u8 sMapName_MtEmber[] = _("MT. EMBER");
+static const u8 sMapName_BerryForest[] = _("BERRY FOREST");
+static const u8 sMapName_IcefallCave[] = _("ICEFALL CAVE");
+static const u8 sMapName_RocketWarehouse[] = _("ROCKET WAREHOUSE");
+static const u8 sMapName_TrainerTower2[] = _("TRAINER TOWER");
+static const u8 sMapName_DottedHole[] = _("DOTTED HOLE");
+static const u8 sMapName_LostCave[] = _("LOST CAVE");
+static const u8 sMapName_PatternBush[] = _("PATTERN BUSH");
+static const u8 sMapName_AlteringCave[] = _("ALTERING CAVE");
+static const u8 sMapName_TanobyChambers[] = _("TANOBY CHAMBERS");
+static const u8 sMapName_ThreeIslePath[] = _("THREE ISLE PATH");
+static const u8 sMapName_TanobyKey[] = _("TANOBY KEY");
+static const u8 sMapName_BirthIsland[] = _("BIRTH ISLAND");
+static const u8 sMapName_MoneanChamber[] = _("MONEAN CHAMBER");
+static const u8 sMapName_LiptooChamber[] = _("LIPTOO CHAMBER");
+static const u8 sMapName_WeepthChamber[] = _("WEEPTH CHAMBER");
+static const u8 sMapName_DilfordChamber[] = _("DILFORD CHAMBER");
+static const u8 sMapName_ScufibChamber[] = _("SCUFIB CHAMBER");
+static const u8 sMapName_RixyChamber[] = _("RIXY CHAMBER");
+static const u8 sMapName_ViapoisChamber[] = _("VIAPOIS CHAMBER");
+static const u8 sMapName_EmberSpa[] = _("EMBER SPA");
+static const u8 sMapName_SpecialArea[] = _("SPECIAL AREA");
+static const u8 sMapName_AquaHideout[] = _("AQUA HIDEOUT");
+static const u8 sMapName_MagmaHideout[] = _("MAGMA HIDEOUT");
+static const u8 sMapName_MirageTower[] = _("MIRAGE TOWER");
+static const u8 sMapName_FarawayIsland[] = _("FARAWAY ISLAND");
+static const u8 sMapName_ArtisanCave[] = _("ARTISAN CAVE");
+static const u8 sMapName_MarineCave[] = _("MARINE CAVE");
+static const u8 sMapName_TerraCave[] = _("TERRA CAVE");
+static const u8 sMapName_DesertUnderpass[] = _("DESERT UNDERPASS");
+static const u8 sMapName_TrainerHill[] = _("TRAINER HILL");
const struct RegionMapLocation gRegionMapEntries[] = {
- { 4, 11, 1, 1, gMapName_LittlerootTown},
- { 4, 9, 1, 1, gMapName_OldaleTown},
- { 2, 14, 1, 1, gMapName_DewfordTown},
- { 5, 3, 1, 1, gMapName_LavaridgeTown},
- { 3, 0, 1, 1, gMapName_FallarborTown},
- { 4, 6, 1, 1, gMapName_VerdanturfTown},
- {17, 10, 1, 1, gMapName_PacifidlogTown},
- { 1, 9, 1, 1, gMapName_PetalburgCity},
- { 8, 10, 1, 2, gMapName_SlateportCity},
- { 8, 6, 2, 1, gMapName_MauvilleCity},
- { 0, 5, 1, 2, gMapName_RustboroCity},
- {12, 0, 1, 1, gMapName_FortreeCity},
- {18, 3, 2, 1, gMapName_LilycoveCity},
- {24, 5, 2, 1, gMapName_MossdeepCity},
- {21, 7, 1, 1, gMapName_SootopolisCity},
- {27, 8, 1, 2, gMapName_EverGrandeCity},
- { 4, 10, 1, 1, gMapName_Route101},
- { 2, 9, 2, 1, gMapName_Route102},
- { 4, 8, 4, 1, gMapName_Route103},
- { 0, 7, 1, 3, gMapName_Route104},
- { 0, 10, 1, 3, gMapName_Route105},
- { 0, 13, 2, 1, gMapName_Route106},
- { 3, 14, 3, 1, gMapName_Route107},
- { 6, 14, 2, 1, gMapName_Route108},
- { 8, 12, 1, 3, gMapName_Route109},
- { 8, 7, 1, 3, gMapName_Route110},
- { 8, 0, 1, 6, gMapName_Route111},
- { 6, 3, 2, 1, gMapName_Route112},
- { 4, 0, 4, 1, gMapName_Route113},
- { 1, 0, 2, 3, gMapName_Route114},
- { 0, 2, 1, 3, gMapName_Route115},
- { 1, 5, 4, 1, gMapName_Route116},
- { 5, 6, 3, 1, gMapName_Route117},
- {10, 6, 2, 1, gMapName_Route118},
- {11, 0, 1, 6, gMapName_Route119},
- {13, 0, 1, 4, gMapName_Route120},
- {14, 3, 4, 1, gMapName_Route121},
- {16, 4, 1, 2, gMapName_Route122},
- {12, 6, 5, 1, gMapName_Route123},
- {20, 3, 4, 3, gMapName_Route124},
- {24, 3, 2, 2, gMapName_Route125},
- {20, 6, 3, 3, gMapName_Route126},
- {23, 6, 3, 3, gMapName_Route127},
- {23, 9, 4, 1, gMapName_Route128},
- {24, 10, 2, 1, gMapName_Route129},
- {21, 10, 3, 1, gMapName_Route130},
- {18, 10, 3, 1, gMapName_Route131},
- {15, 10, 2, 1, gMapName_Route132},
- {12, 10, 3, 1, gMapName_Route133},
- { 9, 10, 3, 1, gMapName_Route134},
- {20, 3, 4, 3, gMapName_Underwater},
- {20, 6, 3, 3, gMapName_Underwater},
- {23, 6, 3, 3, gMapName_Underwater},
- {23, 9, 4, 1, gMapName_Underwater},
- {21, 7, 1, 1, gMapName_Underwater},
- { 1, 13, 1, 1, gMapName_GraniteCave},
- { 6, 2, 1, 1, gMapName_MtChimney},
- {16, 2, 1, 1, gMapName_SafariZone},
- {22, 12, 1, 1, gMapName_BattleFrontier},
- { 0, 8, 1, 1, gMapName_PetalburgWoods},
- { 2, 5, 1, 1, gMapName_RusturfTunnel},
- { 6, 14, 1, 1, gMapName_AbandonedShip},
- { 8, 7, 1, 1, gMapName_NewMauville},
- { 0, 3, 1, 1, gMapName_MeteorFalls},
- { 1, 2, 1, 1, gMapName_MeteorFalls},
- {16, 4, 1, 1, gMapName_MtPyre},
- {19, 3, 1, 1, gMapName_AquaHideoutOld},
- {24, 4, 1, 1, gMapName_ShoalCave},
- {24, 9, 1, 1, gMapName_SeafloorCavern},
- {24, 9, 1, 1, gMapName_Underwater},
- {27, 9, 1, 1, gMapName_VictoryRoad},
- {17, 10, 1, 1, gMapName_MirageIsland},
- {21, 7, 1, 1, gMapName_CaveOfOrigin},
- {12, 14, 1, 1, gMapName_SouthernIsland},
- { 6, 3, 1, 1, gMapName_FieryPath},
- { 7, 3, 1, 1, gMapName_FieryPath},
- { 6, 3, 1, 1, gMapName_JaggedPass},
- { 7, 2, 1, 1, gMapName_JaggedPass},
- {11, 10, 1, 1, gMapName_SealedChamber},
- {11, 10, 1, 1, gMapName_Underwater},
- {13, 0, 1, 1, gMapName_ScorchedSlab},
- { 0, 10, 1, 1, gMapName_IslandCave},
- { 8, 3, 1, 1, gMapName_DesertRuins},
- {13, 2, 1, 1, gMapName_AncientTomb},
- { 0, 0, 1, 1, gMapName_InsideOfTruck},
- {19, 10, 1, 1, gMapName_SkyPillar},
- { 0, 0, 1, 1, gMapName_SecretBase},
- { 0, 0, 1, 1, gMapName_None},
- { 0, 0, 1, 1, gMapName_PalletTown},
- { 0, 0, 1, 1, gMapName_ViridianCity},
- { 0, 0, 1, 1, gMapName_PewterCity},
- { 0, 0, 1, 1, gMapName_CeruleanCity},
- { 0, 0, 1, 1, gMapName_LavenderTown},
- { 0, 0, 1, 1, gMapName_VermilionCity},
- { 0, 0, 1, 1, gMapName_CeladonCity},
- { 0, 0, 1, 1, gMapName_FuchsiaCity},
- { 0, 0, 1, 1, gMapName_CinnabarIsland},
- { 0, 0, 1, 1, gMapName_IndigoPlateau},
- { 0, 0, 1, 1, gMapName_SaffronCity},
- { 0, 0, 1, 1, gMapName_Route4},
- { 0, 0, 1, 1, gMapName_Route10},
- { 0, 0, 1, 1, gMapName_Route1},
- { 0, 0, 1, 1, gMapName_Route2},
- { 0, 0, 1, 1, gMapName_Route3},
- { 0, 0, 1, 1, gMapName_Route4_2},
- { 0, 0, 1, 1, gMapName_Route5},
- { 0, 0, 1, 1, gMapName_Route6},
- { 0, 0, 1, 1, gMapName_Route7},
- { 0, 0, 1, 1, gMapName_Route8},
- { 0, 0, 1, 1, gMapName_Route9},
- { 0, 0, 1, 1, gMapName_Route10_2},
- { 0, 0, 1, 1, gMapName_Route11},
- { 0, 0, 1, 1, gMapName_Route12},
- { 0, 0, 1, 1, gMapName_Route13},
- { 0, 0, 1, 1, gMapName_Route14},
- { 0, 0, 1, 1, gMapName_Route15},
- { 0, 0, 1, 1, gMapName_Route16},
- { 0, 0, 1, 1, gMapName_Route17},
- { 0, 0, 1, 1, gMapName_Route18},
- { 0, 0, 1, 1, gMapName_Route19},
- { 0, 0, 1, 1, gMapName_Route20},
- { 0, 0, 1, 1, gMapName_Route21},
- { 0, 0, 1, 1, gMapName_Route22},
- { 0, 0, 1, 1, gMapName_Route23},
- { 0, 0, 1, 1, gMapName_Route24},
- { 0, 0, 1, 1, gMapName_Route25},
- { 0, 0, 1, 1, gMapName_ViridianForest},
- { 0, 0, 1, 1, gMapName_MtMoon},
- { 0, 0, 1, 1, gMapName_SSAnne},
- { 0, 0, 1, 1, gMapName_UndergroundPath},
- { 0, 0, 1, 1, gMapName_UndergroundPath2},
- { 0, 0, 1, 1, gMapName_DiglettsCave},
- { 0, 0, 1, 1, gMapName_KantoVictoryRoad},
- { 0, 0, 1, 1, gMapName_RocketHideout},
- { 0, 0, 1, 1, gMapName_SilphCo},
- { 0, 0, 1, 1, gMapName_PokemonMansion},
- { 0, 0, 1, 1, gMapName_KantoSafariZone},
- { 0, 0, 1, 1, gMapName_PokemonLeague},
- { 0, 0, 1, 1, gMapName_RockTunnel},
- { 0, 0, 1, 1, gMapName_SeafoamIslands},
- { 0, 0, 1, 1, gMapName_PokemonTower},
- { 0, 0, 1, 1, gMapName_CeruleanCave},
- { 0, 0, 1, 1, gMapName_PowerPlant},
- { 0, 0, 1, 1, gMapName_OneIsland},
- { 0, 0, 1, 1, gMapName_TwoIsland},
- { 0, 0, 1, 1, gMapName_ThreeIsland},
- { 0, 0, 1, 1, gMapName_FourIsland},
- { 0, 0, 1, 1, gMapName_FiveIsland},
- { 0, 0, 1, 1, gMapName_SevenIsland},
- { 0, 0, 1, 1, gMapName_SixIsland},
- { 0, 0, 1, 1, gMapName_KindleRoad},
- { 0, 0, 1, 1, gMapName_TreasureBeach},
- { 0, 0, 1, 1, gMapName_CapeBrink},
- { 0, 0, 1, 1, gMapName_BondBridge},
- { 0, 0, 1, 1, gMapName_ThreeIslePort},
- { 0, 0, 1, 1, gMapName_SeviiIsle6},
- { 0, 0, 1, 1, gMapName_SeviiIsle7},
- { 0, 0, 1, 1, gMapName_SeviiIsle8},
- { 0, 0, 1, 1, gMapName_SeviiIsle9},
- { 0, 0, 1, 1, gMapName_ResortGorgeous},
- { 0, 0, 1, 1, gMapName_WaterLabyrinth},
- { 0, 0, 1, 1, gMapName_FiveIsleMeadow},
- { 0, 0, 1, 1, gMapName_MemorialPillar},
- { 0, 0, 1, 1, gMapName_OutcastIsland},
- { 0, 0, 1, 1, gMapName_GreenPath},
- { 0, 0, 1, 1, gMapName_WaterPath},
- { 0, 0, 1, 1, gMapName_RuinValley},
- { 0, 0, 1, 1, gMapName_TrainerTower},
- { 0, 0, 1, 1, gMapName_CanyonEntrance},
- { 0, 0, 1, 1, gMapName_SevaultCanyon},
- { 0, 0, 1, 1, gMapName_TanobyRuins},
- { 0, 0, 1, 1, gMapName_SeviiIsle22},
- { 0, 0, 1, 1, gMapName_SeviiIsle23},
- { 0, 0, 1, 1, gMapName_SeviiIsle24},
- { 0, 0, 1, 1, gMapName_NavelRock},
- { 0, 0, 1, 1, gMapName_MtEmber},
- { 0, 0, 1, 1, gMapName_BerryForest},
- { 0, 0, 1, 1, gMapName_IcefallCave},
- { 0, 0, 1, 1, gMapName_RocketWarehouse},
- { 0, 0, 1, 1, gMapName_TrainerTower2},
- { 0, 0, 1, 1, gMapName_DottedHole},
- { 0, 0, 1, 1, gMapName_LostCave},
- { 0, 0, 1, 1, gMapName_PatternBush},
- { 0, 0, 1, 1, gMapName_AlteringCave},
- { 0, 0, 1, 1, gMapName_TanobyChambers},
- { 0, 0, 1, 1, gMapName_ThreeIslePath},
- { 0, 0, 1, 1, gMapName_TanobyKey},
- { 0, 0, 1, 1, gMapName_BirthIsland},
- { 0, 0, 1, 1, gMapName_MoneanChamber},
- { 0, 0, 1, 1, gMapName_LiptooChamber},
- { 0, 0, 1, 1, gMapName_WeepthChamber},
- { 0, 0, 1, 1, gMapName_DilfordChamber},
- { 0, 0, 1, 1, gMapName_ScufibChamber},
- { 0, 0, 1, 1, gMapName_RixyChamber},
- { 0, 0, 1, 1, gMapName_ViapoisChamber},
- { 0, 0, 1, 1, gMapName_EmberSpa},
- { 0, 0, 1, 1, gMapName_SpecialArea},
- {19, 3, 1, 1, gMapName_AquaHideout},
- { 6, 3, 1, 1, gMapName_MagmaHideout},
- { 8, 2, 1, 1, gMapName_MirageTower},
- { 0, 0, 1, 1, gMapName_BirthIsland},
- { 0, 0, 1, 1, gMapName_FarawayIsland},
- {22, 12, 1, 1, gMapName_ArtisanCave},
- { 0, 0, 1, 1, gMapName_MarineCave},
- { 0, 0, 1, 1, gMapName_Underwater},
- { 0, 0, 1, 1, gMapName_TerraCave},
- { 0, 10, 1, 3, gMapName_Underwater},
- {24, 3, 2, 2, gMapName_Underwater},
- {24, 10, 2, 1, gMapName_Underwater},
- { 2, 0, 1, 1, gMapName_DesertUnderpass},
- { 6, 8, 1, 1, gMapName_AlteringCave},
- { 0, 0, 1, 1, gMapName_NavelRock},
- { 8, 4, 1, 1, gMapName_TrainerHill}
+ { 4, 11, 1, 1, sMapName_LittlerootTown},
+ { 4, 9, 1, 1, sMapName_OldaleTown},
+ { 2, 14, 1, 1, sMapName_DewfordTown},
+ { 5, 3, 1, 1, sMapName_LavaridgeTown},
+ { 3, 0, 1, 1, sMapName_FallarborTown},
+ { 4, 6, 1, 1, sMapName_VerdanturfTown},
+ {17, 10, 1, 1, sMapName_PacifidlogTown},
+ { 1, 9, 1, 1, sMapName_PetalburgCity},
+ { 8, 10, 1, 2, sMapName_SlateportCity},
+ { 8, 6, 2, 1, sMapName_MauvilleCity},
+ { 0, 5, 1, 2, sMapName_RustboroCity},
+ {12, 0, 1, 1, sMapName_FortreeCity},
+ {18, 3, 2, 1, sMapName_LilycoveCity},
+ {24, 5, 2, 1, sMapName_MossdeepCity},
+ {21, 7, 1, 1, sMapName_SootopolisCity},
+ {27, 8, 1, 2, sMapName_EverGrandeCity},
+ { 4, 10, 1, 1, sMapName_Route101},
+ { 2, 9, 2, 1, sMapName_Route102},
+ { 4, 8, 4, 1, sMapName_Route103},
+ { 0, 7, 1, 3, sMapName_Route104},
+ { 0, 10, 1, 3, sMapName_Route105},
+ { 0, 13, 2, 1, sMapName_Route106},
+ { 3, 14, 3, 1, sMapName_Route107},
+ { 6, 14, 2, 1, sMapName_Route108},
+ { 8, 12, 1, 3, sMapName_Route109},
+ { 8, 7, 1, 3, sMapName_Route110},
+ { 8, 0, 1, 6, sMapName_Route111},
+ { 6, 3, 2, 1, sMapName_Route112},
+ { 4, 0, 4, 1, sMapName_Route113},
+ { 1, 0, 2, 3, sMapName_Route114},
+ { 0, 2, 1, 3, sMapName_Route115},
+ { 1, 5, 4, 1, sMapName_Route116},
+ { 5, 6, 3, 1, sMapName_Route117},
+ {10, 6, 2, 1, sMapName_Route118},
+ {11, 0, 1, 6, sMapName_Route119},
+ {13, 0, 1, 4, sMapName_Route120},
+ {14, 3, 4, 1, sMapName_Route121},
+ {16, 4, 1, 2, sMapName_Route122},
+ {12, 6, 5, 1, sMapName_Route123},
+ {20, 3, 4, 3, sMapName_Route124},
+ {24, 3, 2, 2, sMapName_Route125},
+ {20, 6, 3, 3, sMapName_Route126},
+ {23, 6, 3, 3, sMapName_Route127},
+ {23, 9, 4, 1, sMapName_Route128},
+ {24, 10, 2, 1, sMapName_Route129},
+ {21, 10, 3, 1, sMapName_Route130},
+ {18, 10, 3, 1, sMapName_Route131},
+ {15, 10, 2, 1, sMapName_Route132},
+ {12, 10, 3, 1, sMapName_Route133},
+ { 9, 10, 3, 1, sMapName_Route134},
+ {20, 3, 4, 3, sMapName_Underwater},
+ {20, 6, 3, 3, sMapName_Underwater},
+ {23, 6, 3, 3, sMapName_Underwater},
+ {23, 9, 4, 1, sMapName_Underwater},
+ {21, 7, 1, 1, sMapName_Underwater},
+ { 1, 13, 1, 1, sMapName_GraniteCave},
+ { 6, 2, 1, 1, sMapName_MtChimney},
+ {16, 2, 1, 1, sMapName_SafariZone},
+ {22, 12, 1, 1, sMapName_BattleFrontier},
+ { 0, 8, 1, 1, sMapName_PetalburgWoods},
+ { 2, 5, 1, 1, sMapName_RusturfTunnel},
+ { 6, 14, 1, 1, sMapName_AbandonedShip},
+ { 8, 7, 1, 1, sMapName_NewMauville},
+ { 0, 3, 1, 1, sMapName_MeteorFalls},
+ { 1, 2, 1, 1, sMapName_MeteorFalls},
+ {16, 4, 1, 1, sMapName_MtPyre},
+ {19, 3, 1, 1, sMapName_AquaHideoutOld},
+ {24, 4, 1, 1, sMapName_ShoalCave},
+ {24, 9, 1, 1, sMapName_SeafloorCavern},
+ {24, 9, 1, 1, sMapName_Underwater},
+ {27, 9, 1, 1, sMapName_VictoryRoad},
+ {17, 10, 1, 1, sMapName_MirageIsland},
+ {21, 7, 1, 1, sMapName_CaveOfOrigin},
+ {12, 14, 1, 1, sMapName_SouthernIsland},
+ { 6, 3, 1, 1, sMapName_FieryPath},
+ { 7, 3, 1, 1, sMapName_FieryPath},
+ { 6, 3, 1, 1, sMapName_JaggedPass},
+ { 7, 2, 1, 1, sMapName_JaggedPass},
+ {11, 10, 1, 1, sMapName_SealedChamber},
+ {11, 10, 1, 1, sMapName_Underwater},
+ {13, 0, 1, 1, sMapName_ScorchedSlab},
+ { 0, 10, 1, 1, sMapName_IslandCave},
+ { 8, 3, 1, 1, sMapName_DesertRuins},
+ {13, 2, 1, 1, sMapName_AncientTomb},
+ { 0, 0, 1, 1, sMapName_InsideOfTruck},
+ {19, 10, 1, 1, sMapName_SkyPillar},
+ { 0, 0, 1, 1, sMapName_SecretBase},
+ { 0, 0, 1, 1, sMapName_None},
+ { 0, 0, 1, 1, sMapName_PalletTown},
+ { 0, 0, 1, 1, sMapName_ViridianCity},
+ { 0, 0, 1, 1, sMapName_PewterCity},
+ { 0, 0, 1, 1, sMapName_CeruleanCity},
+ { 0, 0, 1, 1, sMapName_LavenderTown},
+ { 0, 0, 1, 1, sMapName_VermilionCity},
+ { 0, 0, 1, 1, sMapName_CeladonCity},
+ { 0, 0, 1, 1, sMapName_FuchsiaCity},
+ { 0, 0, 1, 1, sMapName_CinnabarIsland},
+ { 0, 0, 1, 1, sMapName_IndigoPlateau},
+ { 0, 0, 1, 1, sMapName_SaffronCity},
+ { 0, 0, 1, 1, sMapName_Route4},
+ { 0, 0, 1, 1, sMapName_Route10},
+ { 0, 0, 1, 1, sMapName_Route1},
+ { 0, 0, 1, 1, sMapName_Route2},
+ { 0, 0, 1, 1, sMapName_Route3},
+ { 0, 0, 1, 1, sMapName_Route4_2},
+ { 0, 0, 1, 1, sMapName_Route5},
+ { 0, 0, 1, 1, sMapName_Route6},
+ { 0, 0, 1, 1, sMapName_Route7},
+ { 0, 0, 1, 1, sMapName_Route8},
+ { 0, 0, 1, 1, sMapName_Route9},
+ { 0, 0, 1, 1, sMapName_Route10_2},
+ { 0, 0, 1, 1, sMapName_Route11},
+ { 0, 0, 1, 1, sMapName_Route12},
+ { 0, 0, 1, 1, sMapName_Route13},
+ { 0, 0, 1, 1, sMapName_Route14},
+ { 0, 0, 1, 1, sMapName_Route15},
+ { 0, 0, 1, 1, sMapName_Route16},
+ { 0, 0, 1, 1, sMapName_Route17},
+ { 0, 0, 1, 1, sMapName_Route18},
+ { 0, 0, 1, 1, sMapName_Route19},
+ { 0, 0, 1, 1, sMapName_Route20},
+ { 0, 0, 1, 1, sMapName_Route21},
+ { 0, 0, 1, 1, sMapName_Route22},
+ { 0, 0, 1, 1, sMapName_Route23},
+ { 0, 0, 1, 1, sMapName_Route24},
+ { 0, 0, 1, 1, sMapName_Route25},
+ { 0, 0, 1, 1, sMapName_ViridianForest},
+ { 0, 0, 1, 1, sMapName_MtMoon},
+ { 0, 0, 1, 1, sMapName_SSAnne},
+ { 0, 0, 1, 1, sMapName_UndergroundPath},
+ { 0, 0, 1, 1, sMapName_UndergroundPath2},
+ { 0, 0, 1, 1, sMapName_DiglettsCave},
+ { 0, 0, 1, 1, sMapName_KantoVictoryRoad},
+ { 0, 0, 1, 1, sMapName_RocketHideout},
+ { 0, 0, 1, 1, sMapName_SilphCo},
+ { 0, 0, 1, 1, sMapName_PokemonMansion},
+ { 0, 0, 1, 1, sMapName_KantoSafariZone},
+ { 0, 0, 1, 1, sMapName_PokemonLeague},
+ { 0, 0, 1, 1, sMapName_RockTunnel},
+ { 0, 0, 1, 1, sMapName_SeafoamIslands},
+ { 0, 0, 1, 1, sMapName_PokemonTower},
+ { 0, 0, 1, 1, sMapName_CeruleanCave},
+ { 0, 0, 1, 1, sMapName_PowerPlant},
+ { 0, 0, 1, 1, sMapName_OneIsland},
+ { 0, 0, 1, 1, sMapName_TwoIsland},
+ { 0, 0, 1, 1, sMapName_ThreeIsland},
+ { 0, 0, 1, 1, sMapName_FourIsland},
+ { 0, 0, 1, 1, sMapName_FiveIsland},
+ { 0, 0, 1, 1, sMapName_SevenIsland},
+ { 0, 0, 1, 1, sMapName_SixIsland},
+ { 0, 0, 1, 1, sMapName_KindleRoad},
+ { 0, 0, 1, 1, sMapName_TreasureBeach},
+ { 0, 0, 1, 1, sMapName_CapeBrink},
+ { 0, 0, 1, 1, sMapName_BondBridge},
+ { 0, 0, 1, 1, sMapName_ThreeIslePort},
+ { 0, 0, 1, 1, sMapName_SeviiIsle6},
+ { 0, 0, 1, 1, sMapName_SeviiIsle7},
+ { 0, 0, 1, 1, sMapName_SeviiIsle8},
+ { 0, 0, 1, 1, sMapName_SeviiIsle9},
+ { 0, 0, 1, 1, sMapName_ResortGorgeous},
+ { 0, 0, 1, 1, sMapName_WaterLabyrinth},
+ { 0, 0, 1, 1, sMapName_FiveIsleMeadow},
+ { 0, 0, 1, 1, sMapName_MemorialPillar},
+ { 0, 0, 1, 1, sMapName_OutcastIsland},
+ { 0, 0, 1, 1, sMapName_GreenPath},
+ { 0, 0, 1, 1, sMapName_WaterPath},
+ { 0, 0, 1, 1, sMapName_RuinValley},
+ { 0, 0, 1, 1, sMapName_TrainerTower},
+ { 0, 0, 1, 1, sMapName_CanyonEntrance},
+ { 0, 0, 1, 1, sMapName_SevaultCanyon},
+ { 0, 0, 1, 1, sMapName_TanobyRuins},
+ { 0, 0, 1, 1, sMapName_SeviiIsle22},
+ { 0, 0, 1, 1, sMapName_SeviiIsle23},
+ { 0, 0, 1, 1, sMapName_SeviiIsle24},
+ { 0, 0, 1, 1, sMapName_NavelRock},
+ { 0, 0, 1, 1, sMapName_MtEmber},
+ { 0, 0, 1, 1, sMapName_BerryForest},
+ { 0, 0, 1, 1, sMapName_IcefallCave},
+ { 0, 0, 1, 1, sMapName_RocketWarehouse},
+ { 0, 0, 1, 1, sMapName_TrainerTower2},
+ { 0, 0, 1, 1, sMapName_DottedHole},
+ { 0, 0, 1, 1, sMapName_LostCave},
+ { 0, 0, 1, 1, sMapName_PatternBush},
+ { 0, 0, 1, 1, sMapName_AlteringCave},
+ { 0, 0, 1, 1, sMapName_TanobyChambers},
+ { 0, 0, 1, 1, sMapName_ThreeIslePath},
+ { 0, 0, 1, 1, sMapName_TanobyKey},
+ { 0, 0, 1, 1, sMapName_BirthIsland},
+ { 0, 0, 1, 1, sMapName_MoneanChamber},
+ { 0, 0, 1, 1, sMapName_LiptooChamber},
+ { 0, 0, 1, 1, sMapName_WeepthChamber},
+ { 0, 0, 1, 1, sMapName_DilfordChamber},
+ { 0, 0, 1, 1, sMapName_ScufibChamber},
+ { 0, 0, 1, 1, sMapName_RixyChamber},
+ { 0, 0, 1, 1, sMapName_ViapoisChamber},
+ { 0, 0, 1, 1, sMapName_EmberSpa},
+ { 0, 0, 1, 1, sMapName_SpecialArea},
+ {19, 3, 1, 1, sMapName_AquaHideout},
+ { 6, 3, 1, 1, sMapName_MagmaHideout},
+ { 8, 2, 1, 1, sMapName_MirageTower},
+ { 0, 0, 1, 1, sMapName_BirthIsland},
+ { 0, 0, 1, 1, sMapName_FarawayIsland},
+ {22, 12, 1, 1, sMapName_ArtisanCave},
+ { 0, 0, 1, 1, sMapName_MarineCave},
+ { 0, 0, 1, 1, sMapName_Underwater},
+ { 0, 0, 1, 1, sMapName_TerraCave},
+ { 0, 10, 1, 3, sMapName_Underwater},
+ {24, 3, 2, 2, sMapName_Underwater},
+ {24, 10, 2, 1, sMapName_Underwater},
+ { 2, 0, 1, 1, sMapName_DesertUnderpass},
+ { 6, 8, 1, 1, sMapName_AlteringCave},
+ { 0, 0, 1, 1, sMapName_NavelRock},
+ { 8, 4, 1, 1, sMapName_TrainerHill}
};
#endif //GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H
diff --git a/include/decoration.h b/include/decoration.h
index ead621c5f..c841bbfc1 100644
--- a/include/decoration.h
+++ b/include/decoration.h
@@ -1,130 +1,6 @@
#ifndef GUARD_DECORATION_H
#define GUARD_DECORATION_H
-enum DecoId {
- /*000*/ DECOR_NONE,
- /*001*/ DECOR_SMALL_DESK,
- /*002*/ DECOR_POKEMON_DESK,
- /*003*/ DECOR_HEAVY_DESK,
- /*004*/ DECOR_RAGGED_DESK,
- /*005*/ DECOR_COMFORT_DESK,
- /*006*/ DECOR_PRETTY_DESK,
- /*007*/ DECOR_BRICK_DESK,
- /*008*/ DECOR_CAMP_DESK,
- /*009*/ DECOR_HARD_DESK,
- /*010*/ DECOR_SMALL_CHAIR,
- /*011*/ DECOR_POKEMON_CHAIR,
- /*012*/ DECOR_HEAVY_CHAIR,
- /*013*/ DECOR_PRETTY_CHAIR,
- /*014*/ DECOR_COMFORT_CHAIR,
- /*015*/ DECOR_RAGGED_CHAIR,
- /*016*/ DECOR_BRICK_CHAIR,
- /*017*/ DECOR_CAMP_CHAIR,
- /*018*/ DECOR_HARD_CHAIR,
- /*019*/ DECOR_RED_PLANT,
- /*020*/ DECOR_TROPICAL_PLANT,
- /*021*/ DECOR_PRETTY_FLOWERS,
- /*022*/ DECOR_COLORFUL_PLANT,
- /*023*/ DECOR_BIG_PLANT,
- /*024*/ DECOR_GORGEOUS_PLANT,
- /*025*/ DECOR_RED_BRICK,
- /*026*/ DECOR_YELLOW_BRICK,
- /*027*/ DECOR_BLUE_BRICK,
- /*028*/ DECOR_RED_BALLOON,
- /*029*/ DECOR_BLUE_BALLOON,
- /*030*/ DECOR_YELLOW_BALLOON,
- /*031*/ DECOR_RED_TENT,
- /*032*/ DECOR_BLUE_TENT,
- /*033*/ DECOR_SOLID_BOARD,
- /*034*/ DECOR_SLIDE,
- /*035*/ DECOR_FENCE_LENGTH,
- /*036*/ DECOR_FENCE_WIDTH,
- /*037*/ DECOR_TIRE,
- /*038*/ DECOR_STAND,
- /*039*/ DECOR_MUD_BALL,
- /*040*/ DECOR_BREAKABLE_DOOR,
- /*041*/ DECOR_SAND_ORNAMENT,
- /*042*/ DECOR_SILVER_SHIELD,
- /*043*/ DECOR_GOLD_SHIELD,
- /*044*/ DECOR_GLASS_ORNAMENT,
- /*045*/ DECOR_TV,
- /*046*/ DECOR_ROUND_TV,
- /*047*/ DECOR_CUTE_TV,
- /*048*/ DECOR_GLITTER_MAT,
- /*049*/ DECOR_JUMP_MAT,
- /*050*/ DECOR_SPIN_MAT,
- /*051*/ DECOR_C_LOW_NOTE_MAT,
- /*052*/ DECOR_D_NOTE_MAT,
- /*053*/ DECOR_E_NOTE_MAT,
- /*054*/ DECOR_F_NOTE_MAT,
- /*055*/ DECOR_G_NOTE_MAT,
- /*056*/ DECOR_A_NOTE_MAT,
- /*057*/ DECOR_B_NOTE_MAT,
- /*058*/ DECOR_C_HIGH_NOTE_MAT,
- /*059*/ DECOR_SURF_MAT,
- /*060*/ DECOR_THUNDER_MAT,
- /*061*/ DECOR_FIRE_BLAST_MAT,
- /*062*/ DECOR_POWDER_SNOW_MAT,
- /*063*/ DECOR_ATTRACT_MAT,
- /*064*/ DECOR_FISSURE_MAT,
- /*065*/ DECOR_SPIKES_MAT,
- /*066*/ DECOR_BALL_POSTER,
- /*067*/ DECOR_GREEN_POSTER,
- /*068*/ DECOR_RED_POSTER,
- /*069*/ DECOR_BLUE_POSTER,
- /*070*/ DECOR_CUTE_POSTER,
- /*071*/ DECOR_PIKA_POSTER,
- /*072*/ DECOR_LONG_POSTER,
- /*073*/ DECOR_SEA_POSTER,
- /*074*/ DECOR_SKY_POSTER,
- /*075*/ DECOR_KISS_POSTER,
- /*076*/ DECOR_PICHU_DOLL,
- /*077*/ DECOR_PIKACHU_DOLL,
- /*078*/ DECOR_MARILL_DOLL,
- /*079*/ DECOR_TOGEPI_DOLL,
- /*080*/ DECOR_CYNDAQUIL_DOLL,
- /*081*/ DECOR_CHIKORITA_DOLL,
- /*082*/ DECOR_TOTODILE_DOLL,
- /*083*/ DECOR_JIGGLYPUFF_DOLL,
- /*084*/ DECOR_MEOWTH_DOLL,
- /*085*/ DECOR_CLEFAIRY_DOLL,
- /*086*/ DECOR_DITTO_DOLL,
- /*087*/ DECOR_SMOOCHUM_DOLL,
- /*088*/ DECOR_TREECKO_DOLL,
- /*089*/ DECOR_TORCHIC_DOLL,
- /*090*/ DECOR_MUDKIP_DOLL,
- /*091*/ DECOR_DUSKULL_DOLL,
- /*092*/ DECOR_WYNAUT_DOLL,
- /*093*/ DECOR_BALTOY_DOLL,
- /*094*/ DECOR_KECLEON_DOLL,
- /*095*/ DECOR_AZURILL_DOLL,
- /*096*/ DECOR_SKITTY_DOLL,
- /*097*/ DECOR_SWABLU_DOLL,
- /*098*/ DECOR_GULPIN_DOLL,
- /*099*/ DECOR_LOTAD_DOLL,
- /*100*/ DECOR_SEEDOT_DOLL,
- /*101*/ DECOR_PIKA_CUSHION,
- /*102*/ DECOR_ROUND_CUSHION,
- /*103*/ DECOR_KISS_CUSHION,
- /*104*/ DECOR_ZIGZAG_CUSHION,
- /*105*/ DECOR_SPIN_CUSHION,
- /*106*/ DECOR_DIAMOND_CUSHION,
- /*107*/ DECOR_BALL_CUSHION,
- /*108*/ DECOR_GRASS_CUSHION,
- /*109*/ DECOR_FIRE_CUSHION,
- /*110*/ DECOR_WATER_CUSHION,
- /*111*/ DECOR_SNORLAX_DOLL,
- /*112*/ DECOR_RHYDON_DOLL,
- /*113*/ DECOR_LAPRAS_DOLL,
- /*114*/ DECOR_VENUSAUR_DOLL,
- /*115*/ DECOR_CHARIZARD_DOLL,
- /*116*/ DECOR_BLASTOISE_DOLL,
- /*117*/ DECOR_WAILMER_DOLL,
- /*118*/ DECOR_REGIROCK_DOLL,
- /*119*/ DECOR_REGICE_DOLL,
- /*120*/ DECOR_REGISTEEL_DOLL
-};
-
enum DecorPerm {
/*
* The nomenclature here describes collision and placement permissions, in that order.
diff --git a/include/dewford_trend.h b/include/dewford_trend.h
index 01e5d9762..dac5ea6c9 100644
--- a/include/dewford_trend.h
+++ b/include/dewford_trend.h
@@ -3,5 +3,6 @@
void InitDewfordTrend(void);
void UpdateDewfordTrendPerDay(u16);
+void UpdateDewfordTrendPerDay(u16 days);
#endif // GUARD_DEWFORDTREND_H
diff --git a/include/event_data.h b/include/event_data.h
index f0ab90ae4..f829d3b87 100644
--- a/include/event_data.h
+++ b/include/event_data.h
@@ -1,8 +1,8 @@
#ifndef GUARD_EVENT_DATA_H
#define GUARD_EVENT_DATA_H
-#include "flags.h"
-#include "vars.h"
+#include "constants/flags.h"
+#include "constants/vars.h"
void InitEventData(void);
void ClearTempFieldEventData(void);
diff --git a/include/event_scripts.h b/include/event_scripts.h
index 844f1052a..a54e0e463 100755
--- a/include/event_scripts.h
+++ b/include/event_scripts.h
@@ -7,10 +7,18 @@
extern const u8 gUnknown_0823B4E8[];
extern const u8 gUnknown_0823B5E9[];
+extern const u8 EventScript_TestSignpostMsg[];
+extern const u8 EventScript_TryGetTrainerScript[];
extern const u8 EventScript_275BB7[];
extern const u8 EventScript_275D0C[];
extern const u8 EventScript_275D1F[];
extern const u8 EventScript_275D2E[];
+extern const u8 EventScript_271354[];
+extern const u8 EventScript_2713C2[];
+extern const u8 EventScript_TryDoDoubleTrainerBattle[];
+extern const u8 EventScript_271362[];
+extern const u8 EventScript_TryDoDoubleRematchBattle[];
+extern const u8 EventScript_2713D1[];
extern const u8 EventScript_2766A2[];
extern const u8 EventScript_2766A6[];
diff --git a/include/field_effect.h b/include/field_effect.h
index 629ae07c7..772b20d37 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -71,8 +71,9 @@ enum FieldEffectScriptIdx
extern u32 gFieldEffectArguments[8];
-u8 FieldEffectStart(u8);
+u32 FieldEffectStart(u8);
bool8 FieldEffectActiveListContains(u8 id);
void sub_80B69DC(void);
+void FieldEffectStop(struct Sprite *sprite, u8 id);
#endif //GUARD_FIELD_EFFECTS_H
diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h
index e80daf3bd..15928eba3 100644
--- a/include/field_effect_helpers.h
+++ b/include/field_effect_helpers.h
@@ -12,5 +12,6 @@
// Exported ROM declarations
u8 sub_8154228(void);
bool8 sub_8155DA0(struct MapObject *);
+void sub_8155D78(struct MapObject *);
#endif //GUARD_FIELD_EFFECT_HELPERS_H
diff --git a/include/field_map_obj.h b/include/field_map_obj.h
index 0107fa10f..198dd9759 100755
--- a/include/field_map_obj.h
+++ b/include/field_map_obj.h
@@ -60,7 +60,7 @@ void sub_808E82C(u8, u8, u8, s16, s16);
void sub_808E7E4(u8, u8, u8);
void sub_808E78C(u8, u8, u8, u8);
void sub_808E75C(s16, s16);
-void FieldObjectGetLocalIdAndMap(struct MapObject *, u8 *, u8 *, u8 *);
+void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, void *localId, void *mapNum, void *mapGroup);
void npc_coords_shift(struct MapObject *, s16, s16);
void sub_808EB08(struct MapObject *, s16, s16);
void sub_808F254(u8, u8, u8);
@@ -76,6 +76,18 @@ void MoveCoords(u8, s16 *, s16 *);
bool8 FieldObjectIsSpecialAnimActive(struct MapObject *);
u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *);
u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z);
+void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 animPattern);
+u8 npc_running_behaviour_by_direction(u8 direction);
+const u8 *GetFieldObjectScriptPointerByFieldObjectId(u8 mapObjectId);
+u8 sub_8092C8C(struct MapObject *mapObject, s16 x, s16 y, u8 direction);
+u8 GetFaceDirectionAnimId(u32);
+u8 GetGoSpeed0AnimId(u32);
+u8 sub_80934BC(u32);
+bool8 FieldObjectSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimId);
+bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *mapObject);
+u8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *mapObject);
+void sub_808F23C(const struct MapObject *mapObject, u8 movementType);
+void sub_808F208(const struct MapObject *mapObject);
// Exported data declarations
diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h
index 25b7f2d71..cc4c65448 100644
--- a/include/field_player_avatar.h
+++ b/include/field_player_avatar.h
@@ -9,6 +9,28 @@ void PlayerGetDestCoords(s16 *, s16 *);
u8 player_get_direction_lower_nybble(void);
u8 player_get_direction_upper_nybble(void);
u8 player_get_x22(void);
+void PlayerGoSpeed1(u8);
+void PlayerGoSpeed2(u8);
+void PlayerGoSpeed3(u8);
+void PlayerGoSpeed4(u8);
+void PlayerOnBikeCollide(u8);
+void PlayerFaceDirection(u8 a);
+void PlayerTurnInPlace(u8 a);
+void PlayerJumpLedge(u8 a);
+void PlayerIdleWheelie(u8 a);
+void PlayerStartWheelie(u8 a);
+void PlayerEndWheelie(u8 a);
+void PlayerStandingHoppingWheelie(u8 a);
+void PlayerMovingHoppingWheelie(u8 a);
+void PlayerLedgeHoppingWheelie(u8 a);
+void PlayerAcroTurnJump(u8 a);
+void PlayerSetAnimId(u8 a, u8 b);
+bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction);
+void PlayerOnBikeCollideWithFarawayIslandMew(u8 direction);
+u8 CheckForFieldObjectCollision(struct MapObject *a, s16 b, s16 c, u8 d, u8 e);
+u8 PlayerGetZCoord(void);
+void SetPlayerAvatarTransitionFlags(u16 a);
+void sub_808BCE8(void);
void sub_808D074(u8);
void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr);
diff --git a/include/field_screen.h b/include/field_screen.h
index 089e79cc4..cfc0d081f 100644
--- a/include/field_screen.h
+++ b/include/field_screen.h
@@ -9,5 +9,6 @@
void pal_fill_black(void);
bool8 sub_80ABDFC(void);
void sub_80AF168(void);
+void UpdateWeatherPerDay(u16 days);
#endif //GUARD_FIELD_SCREEN_H
diff --git a/include/flags.h b/include/flags.h
deleted file mode 100644
index 31d634c59..000000000
--- a/include/flags.h
+++ /dev/null
@@ -1,119 +0,0 @@
-#ifndef GUARD_FLAGS_H
-#define GUARD_FLAGS_H
-
-#define FLAG_340 0x340
-#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53
-#define FLAG_PENDING_DAYCARE_EGG 0x86
-
-#define FLAG_TRAINER_FLAG_START 0x500
-
-#define TRAINERS_FLAG_NO 0x356
-#define CODE_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
-
-// SYSTEM FLAGS
-
-#define FLAG_SYS_POKEMON_GET (CODE_FLAGS + 0)
-#define FLAG_SYS_POKEDEX_GET (CODE_FLAGS + 1)
-#define FLAG_SYS_POKENAV_GET (CODE_FLAGS + 2)
-// third one appears unused
-#define FLAG_SYS_GAME_CLEAR (CODE_FLAGS + 4)
-#define FLAG_SYS_CHAT_USED (CODE_FLAGS + 5)
-#define FLAG_SYS_HIPSTER_MEET (CODE_FLAGS + 6)
-
-// badges
-#define FLAG_BADGE01_GET (CODE_FLAGS + 7)
-#define FLAG_BADGE02_GET (CODE_FLAGS + 8)
-#define FLAG_BADGE03_GET (CODE_FLAGS + 9)
-#define FLAG_BADGE04_GET (CODE_FLAGS + 0xA)
-#define FLAG_BADGE05_GET (CODE_FLAGS + 0xB)
-#define FLAG_BADGE06_GET (CODE_FLAGS + 0xC)
-#define FLAG_BADGE07_GET (CODE_FLAGS + 0xD)
-#define FLAG_BADGE08_GET (CODE_FLAGS + 0xE)
-
-// cities and towns
-#define FLAG_VISITED_LITTLEROOT_TOWN (CODE_FLAGS + 0xF)
-#define FLAG_VISITED_OLDALE_TOWN (CODE_FLAGS + 0x10)
-#define FLAG_VISITED_DEWFORD_TOWN (CODE_FLAGS + 0x11)
-#define FLAG_VISITED_LAVARIDGE_TOWN (CODE_FLAGS + 0x12)
-#define FLAG_VISITED_FALLARBOR_TOWN (CODE_FLAGS + 0x13)
-#define FLAG_VISITED_VERDANTURF_TOWN (CODE_FLAGS + 0x14)
-#define FLAG_VISITED_PACIFIDLOG_TOWN (CODE_FLAGS + 0x15)
-#define FLAG_VISITED_PETALBURG_CITY (CODE_FLAGS + 0x16)
-#define FLAG_VISITED_SLATEPORT_CITY (CODE_FLAGS + 0x17)
-#define FLAG_VISITED_MAUVILLE_CITY (CODE_FLAGS + 0x18)
-#define FLAG_VISITED_RUSTBORO_CITY (CODE_FLAGS + 0x19)
-#define FLAG_VISITED_FORTREE_CITY (CODE_FLAGS + 0x1A)
-#define FLAG_VISITED_LILYCOVE_CITY (CODE_FLAGS + 0x1B)
-#define FLAG_VISITED_MOSSDEEP_CITY (CODE_FLAGS + 0x1C)
-#define FLAG_VISITED_SOOTOPOLIS_CITY (CODE_FLAGS + 0x1D)
-#define FLAG_VISITED_EVER_GRANDE_CITY (CODE_FLAGS + 0x1E)
-
-#define FLAG_SYS_UNKNOWN_880 (CODE_FLAGS + 0x20)
-
-#define FLAG_SYS_USE_FLASH (CODE_FLAGS + 0x28)
-#define FLAG_SYS_USE_STRENGTH (CODE_FLAGS + 0x29)
-#define FLAG_SYS_WEATHER_CTRL (CODE_FLAGS + 0x2A)
-#define FLAG_SYS_CYCLING_ROAD (CODE_FLAGS + 0x2B)
-#define FLAG_SYS_SAFARI_MODE (CODE_FLAGS + 0x2C)
-#define FLAG_SYS_CRUISE_MODE (CODE_FLAGS + 0x2D)
-
-#define FLAG_SYS_TV_HOME (CODE_FLAGS + 0x30)
-#define FLAG_SYS_TV_WATCH (CODE_FLAGS + 0x31)
-#define FLAG_SYS_TV_START (CODE_FLAGS + 0x32)
-#define FLAG_SYS_POPWORD_INPUT (CODE_FLAGS + 0x33)
-#define FLAG_SYS_MIX_RECORD (CODE_FLAGS + 0x34)
-#define FLAG_SYS_CLOCK_SET (CODE_FLAGS + 0x35)
-#define FLAG_SYS_NATIONAL_DEX (CODE_FLAGS + 0x36)
-#define FLAG_SYS_CAVE_SHIP (CODE_FLAGS + 0x37)
-#define FLAG_SYS_CAVE_WONDER (CODE_FLAGS + 0x38)
-#define FLAG_SYS_CAVE_BATTLE (CODE_FLAGS + 0x39)
-#define FLAG_SYS_SHOAL_TIDE (CODE_FLAGS + 0x3A)
-#define FLAG_SYS_RIBBON_GET (CODE_FLAGS + 0x3B)
-
-#define FLAG_UNLOCK_BATTLE_FRONTIER (CODE_FLAGS + 0x48)
-#define FLAG_UNLOCK_SOUTHERN_ISLAND (CODE_FLAGS + 0x49)
-
-#define FLAG_SYS_PC_LANETTE (CODE_FLAGS + 0x4B)
-#define FLAG_SYS_MYSTERY_EVENT_ENABLE (CODE_FLAGS + 0x4C)
-#define FLAG_SYS_ENC_UP_ITEM (CODE_FLAGS + 0x4D)
-#define FLAG_SYS_ENC_DOWN_ITEM (CODE_FLAGS + 0x4E)
-#define FLAG_SYS_BRAILLE_DIG (CODE_FLAGS + 0x4F)
-#define FLAG_SYS_BRAILLE_STRENGTH (CODE_FLAGS + 0x50)
-#define FLAG_SYS_BRAILLE_WAIT (CODE_FLAGS + 0x51)
-#define FLAG_SYS_BRAILLE_FLY (CODE_FLAGS + 0x52)
-#define FLAG_SYS_HAS_EON_TICKET (CODE_FLAGS + 0x53)
-
-#define FLAG_SYS_POKEMON_LEAGUE_FLY (CODE_FLAGS + 0x54)
-
-#define FLAG_SYS_TV_LATI (CODE_FLAGS + 0x5D)
-
-#define FLAG_SYS_SHOAL_ITEM (CODE_FLAGS + 0x5F)
-#define FLAG_SYS_B_DASH (CODE_FLAGS + 0x60) // got Running Shoes
-#define FLAG_SYS_CTRL_OBJ_DELETE (CODE_FLAGS + 0x61)
-#define FLAG_SYS_RESET_RTC_ENABLE (CODE_FLAGS + 0x62)
-
-#define FLAG_SYS_TOWER_SILVER (CODE_FLAGS + 0x64)
-#define FLAG_SYS_TOWER_GOLD (CODE_FLAGS + 0x65)
-#define FLAG_SYS_DOME_SILVER (CODE_FLAGS + 0x66)
-#define FLAG_SYS_DOME_GOLD (CODE_FLAGS + 0x67)
-#define FLAG_SYS_PALACE_SILVER (CODE_FLAGS + 0x68)
-#define FLAG_SYS_PALACE_GOLD (CODE_FLAGS + 0x69)
-#define FLAG_SYS_ARENA_SILVER (CODE_FLAGS + 0x6A)
-#define FLAG_SYS_ARENA_GOLD (CODE_FLAGS + 0x6B)
-#define FLAG_SYS_FACTORY_SILVER (CODE_FLAGS + 0x6C)
-#define FLAG_SYS_FACTORY_GOLD (CODE_FLAGS + 0x6D)
-#define FLAG_SYS_PIKE_SILVER (CODE_FLAGS + 0x6E)
-#define FLAG_SYS_PIKE_GOLD (CODE_FLAGS + 0x6F)
-#define FLAG_SYS_PYRAMID_SILVER (CODE_FLAGS + 0x70)
-#define FLAG_SYS_PYRAMID_GOLD (CODE_FLAGS + 0x71)
-#define FLAG_SYS_FRONTIER_PASS (CODE_FLAGS + 0x72)
-
-#define FLAG_SYS_STORAGE_UNKNOWN_FLAG (CODE_FLAGS + 0x77)
-
-#define FLAG_SYS_MYSTERY_GIFT_ENABLE (CODE_FLAGS + 0x7B)
-
-// SPECIAL FLAGS (unknown purpose)
-
-#define SPECIAL_FLAG_1 0x4001
-
-#endif // GUARD_FLAGS_H
diff --git a/include/game_stat.h b/include/game_stat.h
deleted file mode 100644
index 5979c531c..000000000
--- a/include/game_stat.h
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef GUARD_GAME_STAT_H
-#define GUARD_GAME_STAT_H
-
-#define GAME_STAT_SAVED_GAME 0
-#define GAME_STAT_FIRST_HOF_PLAY_TIME 1
-#define GAME_STAT_STARTED_TRENDS 2
-#define GAME_STAT_PLANTED_BERRIES 3
-#define GAME_STAT_TRADED_BIKES 4
-#define GAME_STAT_STEPS 5
-#define GAME_STAT_GOT_INTERVIEWED 6
-#define GAME_STAT_TOTAL_BATTLES 7
-#define GAME_STAT_WILD_BATTLES 8
-#define GAME_STAT_TRAINER_BATTLES 9
-#define GAME_STAT_ENTERED_HOF 10
-#define GAME_STAT_POKEMON_CAPTURES 11
-#define GAME_STAT_FISHING_CAPTURES 12
-#define GAME_STAT_HATCHED_EGGS 13
-#define GAME_STAT_EVOLVED_POKEMON 14
-#define GAME_STAT_USED_POKECENTER 15
-#define GAME_STAT_RESTED_AT_HOME 16
-#define GAME_STAT_ENTERED_SAFARI_ZONE 17
-#define GAME_STAT_USED_CUT 18
-#define GAME_STAT_USED_ROCK_SMASH 19
-#define GAME_STAT_MOVED_SECRET_BASE 20
-#define GAME_STAT_POKEMON_TRADES 21
-#define GAME_STAT_UNKNOWN_22 22
-#define GAME_STAT_LINK_BATTLE_WINS 23
-#define GAME_STAT_LINK_BATTLE_LOSSES 24
-#define GAME_STAT_LINK_BATTLE_DRAWS 25
-#define GAME_STAT_USED_SPLASH 26
-#define GAME_STAT_USED_STRUGGLE 27
-#define GAME_STAT_SLOT_JACKPOTS 28
-#define GAME_STAT_CONSECUTIVE_ROULETTE_WINS 29
-#define GAME_STAT_ENTERED_BATTLE_TOWER 30
-#define GAME_STAT_UNKNOWN_31 31
-#define GAME_STAT_BATTLE_TOWER_BEST_STREAK 32
-#define GAME_STAT_POKEBLOCKS 33
-#define GAME_STAT_POKEBLOCKS_WITH_FRIENDS 34
-#define GAME_STAT_WON_LINK_CONTEST 35
-#define GAME_STAT_ENTERED_CONTEST 36
-#define GAME_STAT_WON_CONTEST 37
-#define GAME_STAT_SHOPPED 38
-#define GAME_STAT_USED_ITEMFINDER 39
-#define GAME_STAT_GOT_RAINED_ON 40
-#define GAME_STAT_CHECKED_POKEDEX 41
-#define GAME_STAT_RECEIVED_RIBBONS 42
-#define GAME_STAT_JUMPED_DOWN_LEDGES 43
-#define GAME_STAT_WATCHED_TV 44
-#define GAME_STAT_CHECKED_CLOCK 45
-#define GAME_STAT_WON_POKEMON_LOTTERY 46
-#define GAME_STAT_USED_DAYCARE 47
-#define GAME_STAT_RODE_CABLE_CAR 48
-#define GAME_STAT_ENTERED_HOT_SPRINGS 49
-
-/*TODO: add new stats added in Emerald*/
-
-#define NUM_GAME_STATS 64
-
-void IncrementGameStat(u8);
-u32 GetGameStat(u8);
-
-#endif // GUARD_GAME_STAT_H
diff --git a/include/gba/macro.h b/include/gba/macro.h
index 7b6b98c06..ad4820bcf 100644
--- a/include/gba/macro.h
+++ b/include/gba/macro.h
@@ -78,6 +78,81 @@
#define DmaCopy16(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 16)
#define DmaCopy32(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 32)
+#define DmaCopyLarge(dmaNum, src, dest, size, block, bit) \
+{ \
+ const void *_src = src; \
+ void *_dest = dest; \
+ u32 _size = size; \
+ while (1) \
+ { \
+ DmaCopy##bit(dmaNum, _src, _dest, (block)); \
+ _src += (block); \
+ _dest += (block); \
+ _size -= (block); \
+ if (_size <= (block)) \
+ { \
+ DmaCopy##bit(dmaNum, _src, _dest, _size); \
+ break; \
+ } \
+ } \
+}
+
+#define DmaCopyLarge16(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 16)
+
+#define DmaCopyLarge32(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 32)
+
+#define DmaFillLarge(dmaNum, value, dest, size, block, bit) \
+{ \
+ void *_dest = dest; \
+ u32 _size = size; \
+ while (1) \
+ { \
+ DmaFill##bit(dmaNum, value, _dest, (block)); \
+ _dest += (block); \
+ _size -= (block); \
+ if (_size <= (block)) \
+ { \
+ DmaFill##bit(dmaNum, value, _dest, _size); \
+ break; \
+ } \
+ } \
+}
+
+#define DmaFillLarge16(dmaNum, value, dest, size, block) DmaFillLarge(dmaNum, value, dest, size, block, 16)
+
+#define DmaFillLarge32(dmaNum, value, dest, size, block) DmaFillLarge(dmaNum, value, dest, size, block, 32)
+
+#define DmaCopyDefvars(dmaNum, src, dest, size, bit) \
+{ \
+ const void *_src = src; \
+ void *_dest = dest; \
+ u32 _size = size; \
+ DmaCopy##bit(dmaNum, _src, _dest, _size); \
+}
+
+#define DmaCopy16Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 16)
+#define DmaCopy32Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 32)
+
+#define DmaFillDefvars(dmaNum, value, dest, size, bit) \
+{ \
+ void *_dest = dest; \
+ u32 _size = size; \
+ DmaFill##bit(dmaNum, value, _dest, _size); \
+}
+
+#define DmaFill16Defvars(dmaNum, value, dest, size) DmaFillDefvars(dmaNum, value, dest, size, 16)
+#define DmaFill32Defvars(dmaNum, value, dest, size) DmaFillDefvars(dmaNum, value, dest, size, 32)
+
+#define DmaClearDefvars(dmaNum, dest, size, bit) \
+{ \
+ void *_dest = dest; \
+ u32 _size = size; \
+ DmaClear##bit(dmaNum, _dest, _size); \
+}
+
+#define DmaClear16Defvars(dmaNum, dest, size) DmaClearDefvars(dmaNum, dest, size, 16)
+#define DmaClear32Defvars(dmaNum, dest, size) DmaClearDefvars(dmaNum, dest, size, 32)
+
#define DmaStop(dmaNum) \
{ \
vu16 *dmaRegs = (vu16 *)REG_ADDR_DMA##dmaNum; \
diff --git a/include/gba/types.h b/include/gba/types.h
index e9a380023..9f63489aa 100644
--- a/include/gba/types.h
+++ b/include/gba/types.h
@@ -49,7 +49,7 @@ struct OamData
u32 matrixNum:5; // bits 3/4 are h-flip/v-flip if not in affine mode
u32 size:2;
- /*0x04*/ u16 tileNum:10; // 0x33F
+ /*0x04*/ u16 tileNum:10; // 0x3FF
u16 priority:2; // 0x400, 0x800 -> 0xC00
u16 paletteNum:4;
/*0x06*/ u16 affineParam;
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h
index ed5054b7d..b12febefd 100644
--- a/include/global.fieldmap.h
+++ b/include/global.fieldmap.h
@@ -39,7 +39,7 @@ enum
MAP_BATTLE_SCENE_PHOEBE, // 5
MAP_BATTLE_SCENE_GLACIA, // 6
MAP_BATTLE_SCENE_DRAKE, // 7
- MAP_BATTLE_SCENE_BATTLE_TOWER, // 8
+ MAP_BATTLE_SCENE_FRONTIER, // 8
};
typedef void (*TilesetCB)(void);
@@ -224,7 +224,7 @@ struct MapObject
/*0x0C*/ struct Coords16 coords1;
/*0x10*/ struct Coords16 coords2;
/*0x14*/ struct Coords16 coords3;
- /*0x18*/ u8 mapobj_unk_18:4; //current direction?
+ /*0x18*/ u8 mapobj_unk_18:4; // current direction?
/*0x18*/ u8 placeholder18:4;
/*0x19*/ union __attribute__((packed)) {
u8 as_byte;
@@ -299,25 +299,42 @@ enum
COLLISION_LEDGE_JUMP = 6
};
-struct PlayerAvatar /* 0x202E858 */
+// player running states
+enum
+{
+ NOT_MOVING,
+ TURN_DIRECTION, // not the same as turning! turns your avatar without moving. also known as a turn frame in some circles
+ MOVING,
+};
+
+// player tile transition states
+enum
+{
+ T_NOT_MOVING,
+ T_TILE_TRANSITION,
+ T_TILE_CENTER, // player is on a frame in which they are centered on a tile during which the player either stops or keeps their momentum and keeps going, changing direction if necessary.
+};
+
+struct PlayerAvatar
{
/*0x00*/ u8 flags;
- /*0x01*/ u8 bike;
- /*0x02*/ u8 running2;
- /*0x03*/ u8 running1;
+ /*0x01*/ u8 unk1; // used to be named bike, but its definitely not that. seems to be some transition flags
+ /*0x02*/ u8 runningState; // this is a static running state. 00 is not moving, 01 is turn direction, 02 is moving.
+ /*0x03*/ u8 tileTransitionState; // this is a transition running state: 00 is not moving, 01 is transition between tiles, 02 means you are on the frame in which you have centered on a tile but are about to keep moving, even if changing directions. 2 is also used for a ledge hop, since you are transitioning.
/*0x04*/ u8 spriteId;
/*0x05*/ u8 mapObjectId;
- /*0x06*/ u8 unk6;
+ /*0x06*/ bool8 preventStep;
/*0x07*/ u8 gender;
- u8 acroBikeState;
- u8 unk9;
- u8 bikeFrameCounter;
- u8 unkB;
- u32 unkC;
- u32 unk10;
- u8 unk14[8];
- u8 unk1C[8];
- // TODO: rest of struct
+ /*0x08*/ u8 acroBikeState; // 00 is normal, 01 is turning, 02 is standing wheelie, 03 is hopping wheelie
+ /*0x09*/ u8 newDirBackup; // during bike movement, the new direction as opposed to player's direction is backed up here.
+ /*0x0A*/ u8 bikeFrameCounter; // on the mach bike, when this value is 1, the bike is moving but not accelerating yet for 1 tile. on the acro bike, this acts as a timer for acro bike.
+ /*0x0B*/ u8 bikeSpeed;
+ // acro bike only
+ /*0x0C*/ u32 directionHistory; // up/down/left/right history is stored in each nybble, but using the field directions and not the io inputs.
+ /*0x10*/ u32 abStartSelectHistory; // same as above but for A + B + start + select only
+ // these two are timer history arrays which [0] is the active timer for acro bike. every element is backed up to the next element upon update.
+ /*0x14*/ u8 dirTimerHistory[8];
+ /*0x1C*/ u8 abStartSelectTimerHistory[8];
};
struct Camera
diff --git a/include/global.h b/include/global.h
index f3ec9ce33..b6a496dd1 100644
--- a/include/global.h
+++ b/include/global.h
@@ -36,6 +36,24 @@ extern u8 gStringVar2[];
extern u8 gStringVar3[];
extern u8 gStringVar4[];
+// There are many quirks in the source code which have overarching behavioral differences from
+// a number of other files. For example, diploma.c seems to declare rodata before each use while
+// other files declare out of order and must be at the beginning. There are also a number of
+// macros which differ from one file to the next due to the method of obtaining the result, such
+// as these below. Because of this, there is a theory (Two Team Theory) that states that these
+// programming projects had more than 1 "programming team" which utilized different macros for
+// each of the files that were worked on.
+#define T1_READ_8(ptr) ((ptr)[0])
+#define T1_READ_16(ptr) ((ptr)[0] | ((ptr)[1] << 8))
+#define T1_READ_32(ptr) ((ptr)[0] | ((ptr)[1] << 8) | ((ptr)[2] << 16) | ((ptr)[3] << 24))
+#define T1_READ_PTR(ptr) (u8*) T1_READ_32(ptr)
+
+// T2_READ_8 is a duplicate to remain consistent with each group.
+#define T2_READ_8(ptr) ((ptr)[0])
+#define T2_READ_16(ptr) ((ptr)[0] + ((ptr)[1] << 8))
+#define T2_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24))
+#define T2_READ_PTR(ptr) (void*) T2_READ_32(ptr)
+
enum
{
VERSION_SAPPHIRE = 1,
@@ -45,10 +63,15 @@ enum
VERSION_LEAF_GREEN = 5,
};
-enum LanguageId {
+enum LanguageId
+{
LANGUAGE_JAPANESE = 1,
LANGUAGE_ENGLISH = 2,
+ LANGUAGE_FRENCH = 3,
+ LANGUAGE_ITALIAN = 4,
LANGUAGE_GERMAN = 5,
+ // 6 goes unused but the theory is it was meant to be Korean
+ LANGUAGE_SPANISH = 7,
};
#define GAME_LANGUAGE (LANGUAGE_ENGLISH)
@@ -218,7 +241,7 @@ struct SaveBlock2
/*0x1EC*/ struct BerryCrush berryCrush;
/*0x1FC*/ struct PokemonJumpResults pokeJump;
/*0x20C*/ struct BerryPickingResults berryPick;
- /*0x214*/ u8 field_214[1032];
+ /*0x21C*/ u8 field_21C[1032];
/*0x624*/ u16 contestLinkResults[20]; // 4 positions for 5 categories, possibly a struct or a 2d array
// All below could be a one giant struct
@@ -240,7 +263,7 @@ struct SaveBlock2
/*0xCA9*/ u8 field_CA9_f : 1; // 0x80
/*0xCAA*/ u16 field_CAA[4];
/*0xCB2*/ u16 battlePyramidWildHeaderId;
- /*0xCB4*/ u8 field_CB4[82];
+ /*0xCB4*/ u16 field_CB4[41];
/*0xD06*/ u8 field_D06;
/*0xD07*/ u8 field_D07;
/*0xD08*/ u8 filler_D08[0x112];
@@ -284,7 +307,7 @@ struct SecretBaseRecord
/*0x1B34*/ u8 partyEVs[6];
};
-#include "game_stat.h"
+#include "constants/game_stat.h"
#include "global.fieldmap.h"
#include "global.berry.h"
#include "global.tv.h"
@@ -356,10 +379,12 @@ struct EasyChatPair
u16 words[2];
}; /*size = 0x8*/
+#define MAIL_WORDS_COUNT 9
+
struct MailStruct
{
- /*0x00*/ u16 words[9];
- /*0x12*/ u8 playerName[8];
+ /*0x00*/ u16 words[MAIL_WORDS_COUNT];
+ /*0x12*/ u8 playerName[PLAYER_NAME_LENGTH];
/*0x1A*/ u8 trainerId[4];
/*0x1E*/ u16 species;
/*0x20*/ u16 itemId;
@@ -489,11 +514,12 @@ struct RecordMixingDayCareMail
bool16 holdsItem[DAYCARE_MON_COUNT];
};
-#define MAP_OBJECTS_COUNT 16
-#define BERRY_TREES_COUNT 128
-#define FLAGS_COUNT 300
-#define VARS_COUNT 256
-#define MAIL_COUNT 16
+#define POKEBLOCKS_COUNT 40
+#define MAP_OBJECTS_COUNT 16
+#define BERRY_TREES_COUNT 128
+#define FLAGS_COUNT 300
+#define VARS_COUNT 256
+#define MAIL_COUNT 16
enum
{
@@ -586,7 +612,7 @@ struct SaveBlock1
/*0x650*/ struct ItemSlot bagPocket_PokeBalls[16];
/*0x690*/ struct ItemSlot bagPocket_TMHM[64];
/*0x790*/ struct ItemSlot bagPocket_Berries[46];
- /*0x848*/ struct Pokeblock pokeblocks[40];
+ /*0x848*/ struct Pokeblock pokeblocks[POKEBLOCKS_COUNT];
/*0x988*/ u8 seen1[52];
/*0x9BC*/ u16 berryBlenderRecords[3];
/*0x9C2*/ u8 field_9C2[6];
diff --git a/include/graphics.h b/include/graphics.h
index 4a522a429..85e31aec9 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -1,10 +1,7 @@
-//
-// Created by scott on 10/21/2017.
-//
-
#ifndef GUARD_GRAPHICS_H
#define GUARD_GRAPHICS_H
+// interface pokeballs
extern const u8 gInterfaceGfx_PokeBall[];
extern const u8 gInterfacePal_PokeBall[];
extern const u8 gInterfaceGfx_GreatBall[];
@@ -31,6 +28,2437 @@ extern const u8 gInterfaceGfx_PremierBall[];
extern const u8 gInterfacePal_PremierBall[];
extern const u8 gOpenPokeballGfx[];
+// pokemon gfx
+extern const u8 gMonFrontPic_Bulbasaur[];
+extern const u8 gMonPalette_Bulbasaur[];
+extern const u8 gMonBackPic_Bulbasaur[];
+extern const u8 gMonShinyPalette_Bulbasaur[];
+extern const u8 gMonIcon_Bulbasaur[];
+extern const u8 gMonFootprint_Bulbasaur[];
+extern const u8 gMonFrontPic_Ivysaur[];
+extern const u8 gMonPalette_Ivysaur[];
+extern const u8 gMonBackPic_Ivysaur[];
+extern const u8 gMonShinyPalette_Ivysaur[];
+extern const u8 gMonIcon_Ivysaur[];
+extern const u8 gMonFootprint_Ivysaur[];
+extern const u8 gMonFrontPic_Venusaur[];
+extern const u8 gMonPalette_Venusaur[];
+extern const u8 gMonBackPic_Venusaur[];
+extern const u8 gMonShinyPalette_Venusaur[];
+extern const u8 gMonIcon_Venusaur[];
+extern const u8 gMonFootprint_Venusaur[];
+extern const u8 gMonFrontPic_Charmander[];
+extern const u8 gMonPalette_Charmander[];
+extern const u8 gMonBackPic_Charmander[];
+extern const u8 gMonShinyPalette_Charmander[];
+extern const u8 gMonIcon_Charmander[];
+extern const u8 gMonFootprint_Charmander[];
+extern const u8 gMonFrontPic_Charmeleon[];
+extern const u8 gMonPalette_Charmeleon[];
+extern const u8 gMonBackPic_Charmeleon[];
+extern const u8 gMonShinyPalette_Charmeleon[];
+extern const u8 gMonIcon_Charmeleon[];
+extern const u8 gMonFootprint_Charmeleon[];
+extern const u8 gMonFrontPic_Charizard[];
+extern const u8 gMonPalette_Charizard[];
+extern const u8 gMonBackPic_Charizard[];
+extern const u8 gMonShinyPalette_Charizard[];
+extern const u8 gMonIcon_Charizard[];
+extern const u8 gMonFootprint_Charizard[];
+extern const u8 gMonFrontPic_Squirtle[];
+extern const u8 gMonPalette_Squirtle[];
+extern const u8 gMonBackPic_Squirtle[];
+extern const u8 gMonShinyPalette_Squirtle[];
+extern const u8 gMonIcon_Squirtle[];
+extern const u8 gMonFootprint_Squirtle[];
+extern const u8 gMonFrontPic_Wartortle[];
+extern const u8 gMonPalette_Wartortle[];
+extern const u8 gMonBackPic_Wartortle[];
+extern const u8 gMonShinyPalette_Wartortle[];
+extern const u8 gMonIcon_Wartortle[];
+extern const u8 gMonFootprint_Wartortle[];
+extern const u8 gMonFrontPic_Blastoise[];
+extern const u8 gMonPalette_Blastoise[];
+extern const u8 gMonBackPic_Blastoise[];
+extern const u8 gMonShinyPalette_Blastoise[];
+extern const u8 gMonIcon_Blastoise[];
+extern const u8 gMonFootprint_Blastoise[];
+extern const u8 gMonFrontPic_Caterpie[];
+extern const u8 gMonPalette_Caterpie[];
+extern const u8 gMonBackPic_Caterpie[];
+extern const u8 gMonShinyPalette_Caterpie[];
+extern const u8 gMonIcon_Caterpie[];
+extern const u8 gMonFootprint_Caterpie[];
+extern const u8 gMonFrontPic_Metapod[];
+extern const u8 gMonPalette_Metapod[];
+extern const u8 gMonBackPic_Metapod[];
+extern const u8 gMonShinyPalette_Metapod[];
+extern const u8 gMonIcon_Metapod[];
+extern const u8 gMonFootprint_Metapod[];
+extern const u8 gMonFrontPic_Butterfree[];
+extern const u8 gMonPalette_Butterfree[];
+extern const u8 gMonBackPic_Butterfree[];
+extern const u8 gMonShinyPalette_Butterfree[];
+extern const u8 gMonIcon_Butterfree[];
+extern const u8 gMonFootprint_Butterfree[];
+extern const u8 gMonFrontPic_Weedle[];
+extern const u8 gMonPalette_Weedle[];
+extern const u8 gMonBackPic_Weedle[];
+extern const u8 gMonShinyPalette_Weedle[];
+extern const u8 gMonIcon_Weedle[];
+extern const u8 gMonFootprint_Weedle[];
+extern const u8 gMonFrontPic_Kakuna[];
+extern const u8 gMonPalette_Kakuna[];
+extern const u8 gMonBackPic_Kakuna[];
+extern const u8 gMonShinyPalette_Kakuna[];
+extern const u8 gMonIcon_Kakuna[];
+extern const u8 gMonFootprint_Kakuna[];
+extern const u8 gMonFrontPic_Beedrill[];
+extern const u8 gMonPalette_Beedrill[];
+extern const u8 gMonBackPic_Beedrill[];
+extern const u8 gMonShinyPalette_Beedrill[];
+extern const u8 gMonIcon_Beedrill[];
+extern const u8 gMonFootprint_Beedrill[];
+extern const u8 gMonFrontPic_Pidgey[];
+extern const u8 gMonPalette_Pidgey[];
+extern const u8 gMonBackPic_Pidgey[];
+extern const u8 gMonShinyPalette_Pidgey[];
+extern const u8 gMonIcon_Pidgey[];
+extern const u8 gMonFootprint_Pidgey[];
+extern const u8 gMonFrontPic_Pidgeotto[];
+extern const u8 gMonPalette_Pidgeotto[];
+extern const u8 gMonBackPic_Pidgeotto[];
+extern const u8 gMonShinyPalette_Pidgeotto[];
+extern const u8 gMonIcon_Pidgeotto[];
+extern const u8 gMonFootprint_Pidgeotto[];
+extern const u8 gMonFrontPic_Pidgeot[];
+extern const u8 gMonPalette_Pidgeot[];
+extern const u8 gMonBackPic_Pidgeot[];
+extern const u8 gMonShinyPalette_Pidgeot[];
+extern const u8 gMonIcon_Pidgeot[];
+extern const u8 gMonFootprint_Pidgeot[];
+extern const u8 gMonFrontPic_Rattata[];
+extern const u8 gMonPalette_Rattata[];
+extern const u8 gMonBackPic_Rattata[];
+extern const u8 gMonShinyPalette_Rattata[];
+extern const u8 gMonIcon_Rattata[];
+extern const u8 gMonFootprint_Rattata[];
+extern const u8 gMonFrontPic_Raticate[];
+extern const u8 gMonPalette_Raticate[];
+extern const u8 gMonBackPic_Raticate[];
+extern const u8 gMonShinyPalette_Raticate[];
+extern const u8 gMonIcon_Raticate[];
+extern const u8 gMonFootprint_Raticate[];
+extern const u8 gMonFrontPic_Spearow[];
+extern const u8 gMonPalette_Spearow[];
+extern const u8 gMonBackPic_Spearow[];
+extern const u8 gMonShinyPalette_Spearow[];
+extern const u8 gMonIcon_Spearow[];
+extern const u8 gMonFootprint_Spearow[];
+extern const u8 gMonFrontPic_Fearow[];
+extern const u8 gMonPalette_Fearow[];
+extern const u8 gMonBackPic_Fearow[];
+extern const u8 gMonShinyPalette_Fearow[];
+extern const u8 gMonIcon_Fearow[];
+extern const u8 gMonFootprint_Fearow[];
+extern const u8 gMonFrontPic_Ekans[];
+extern const u8 gMonPalette_Ekans[];
+extern const u8 gMonBackPic_Ekans[];
+extern const u8 gMonShinyPalette_Ekans[];
+extern const u8 gMonIcon_Ekans[];
+extern const u8 gMonFootprint_Ekans[];
+extern const u8 gMonFrontPic_Arbok[];
+extern const u8 gMonPalette_Arbok[];
+extern const u8 gMonBackPic_Arbok[];
+extern const u8 gMonShinyPalette_Arbok[];
+extern const u8 gMonIcon_Arbok[];
+extern const u8 gMonFootprint_Arbok[];
+extern const u8 gMonFrontPic_Pikachu[];
+extern const u8 gMonPalette_Pikachu[];
+extern const u8 gMonBackPic_Pikachu[];
+extern const u8 gMonShinyPalette_Pikachu[];
+extern const u8 gMonIcon_Pikachu[];
+extern const u8 gMonFootprint_Pikachu[];
+extern const u8 gMonFrontPic_Raichu[];
+extern const u8 gMonPalette_Raichu[];
+extern const u8 gMonBackPic_Raichu[];
+extern const u8 gMonShinyPalette_Raichu[];
+extern const u8 gMonIcon_Raichu[];
+extern const u8 gMonFootprint_Raichu[];
+extern const u8 gMonFrontPic_Sandshrew[];
+extern const u8 gMonPalette_Sandshrew[];
+extern const u8 gMonBackPic_Sandshrew[];
+extern const u8 gMonShinyPalette_Sandshrew[];
+extern const u8 gMonIcon_Sandshrew[];
+extern const u8 gMonFootprint_Sandshrew[];
+extern const u8 gMonFrontPic_Sandslash[];
+extern const u8 gMonPalette_Sandslash[];
+extern const u8 gMonBackPic_Sandslash[];
+extern const u8 gMonShinyPalette_Sandslash[];
+extern const u8 gMonIcon_Sandslash[];
+extern const u8 gMonFootprint_Sandslash[];
+extern const u8 gMonFrontPic_NidoranF[];
+extern const u8 gMonPalette_NidoranF[];
+extern const u8 gMonBackPic_NidoranF[];
+extern const u8 gMonShinyPalette_NidoranF[];
+extern const u8 gMonIcon_NidoranF[];
+extern const u8 gMonFootprint_NidoranF[];
+extern const u8 gMonFrontPic_Nidorina[];
+extern const u8 gMonPalette_Nidorina[];
+extern const u8 gMonBackPic_Nidorina[];
+extern const u8 gMonShinyPalette_Nidorina[];
+extern const u8 gMonIcon_Nidorina[];
+extern const u8 gMonFootprint_Nidorina[];
+extern const u8 gMonFrontPic_Nidoqueen[];
+extern const u8 gMonPalette_Nidoqueen[];
+extern const u8 gMonBackPic_Nidoqueen[];
+extern const u8 gMonShinyPalette_Nidoqueen[];
+extern const u8 gMonIcon_Nidoqueen[];
+extern const u8 gMonFootprint_Nidoqueen[];
+extern const u8 gMonFrontPic_NidoranM[];
+extern const u8 gMonPalette_NidoranM[];
+extern const u8 gMonBackPic_NidoranM[];
+extern const u8 gMonShinyPalette_NidoranM[];
+extern const u8 gMonIcon_NidoranM[];
+extern const u8 gMonFootprint_NidoranM[];
+extern const u8 gMonFrontPic_Nidorino[];
+extern const u8 gMonPalette_Nidorino[];
+extern const u8 gMonBackPic_Nidorino[];
+extern const u8 gMonShinyPalette_Nidorino[];
+extern const u8 gMonIcon_Nidorino[];
+extern const u8 gMonFootprint_Nidorino[];
+extern const u8 gMonFrontPic_Nidoking[];
+extern const u8 gMonPalette_Nidoking[];
+extern const u8 gMonBackPic_Nidoking[];
+extern const u8 gMonShinyPalette_Nidoking[];
+extern const u8 gMonIcon_Nidoking[];
+extern const u8 gMonFootprint_Nidoking[];
+extern const u8 gMonFrontPic_Clefairy[];
+extern const u8 gMonPalette_Clefairy[];
+extern const u8 gMonBackPic_Clefairy[];
+extern const u8 gMonShinyPalette_Clefairy[];
+extern const u8 gMonIcon_Clefairy[];
+extern const u8 gMonFootprint_Clefairy[];
+extern const u8 gMonFrontPic_Clefable[];
+extern const u8 gMonPalette_Clefable[];
+extern const u8 gMonBackPic_Clefable[];
+extern const u8 gMonShinyPalette_Clefable[];
+extern const u8 gMonIcon_Clefable[];
+extern const u8 gMonFootprint_Clefable[];
+extern const u8 gMonFrontPic_Vulpix[];
+extern const u8 gMonPalette_Vulpix[];
+extern const u8 gMonBackPic_Vulpix[];
+extern const u8 gMonShinyPalette_Vulpix[];
+extern const u8 gMonIcon_Vulpix[];
+extern const u8 gMonFootprint_Vulpix[];
+extern const u8 gMonFrontPic_Ninetales[];
+extern const u8 gMonPalette_Ninetales[];
+extern const u8 gMonBackPic_Ninetales[];
+extern const u8 gMonShinyPalette_Ninetales[];
+extern const u8 gMonIcon_Ninetales[];
+extern const u8 gMonFootprint_Ninetales[];
+extern const u8 gMonFrontPic_Jigglypuff[];
+extern const u8 gMonPalette_Jigglypuff[];
+extern const u8 gMonBackPic_Jigglypuff[];
+extern const u8 gMonShinyPalette_Jigglypuff[];
+extern const u8 gMonIcon_Jigglypuff[];
+extern const u8 gMonFootprint_Jigglypuff[];
+extern const u8 gMonFrontPic_Wigglytuff[];
+extern const u8 gMonPalette_Wigglytuff[];
+extern const u8 gMonBackPic_Wigglytuff[];
+extern const u8 gMonShinyPalette_Wigglytuff[];
+extern const u8 gMonIcon_Wigglytuff[];
+extern const u8 gMonFootprint_Wigglytuff[];
+extern const u8 gMonFrontPic_Zubat[];
+extern const u8 gMonPalette_Zubat[];
+extern const u8 gMonBackPic_Zubat[];
+extern const u8 gMonShinyPalette_Zubat[];
+extern const u8 gMonIcon_Zubat[];
+extern const u8 gMonFootprint_Zubat[];
+extern const u8 gMonFrontPic_Golbat[];
+extern const u8 gMonPalette_Golbat[];
+extern const u8 gMonBackPic_Golbat[];
+extern const u8 gMonShinyPalette_Golbat[];
+extern const u8 gMonIcon_Golbat[];
+extern const u8 gMonFootprint_Golbat[];
+extern const u8 gMonFrontPic_Oddish[];
+extern const u8 gMonPalette_Oddish[];
+extern const u8 gMonBackPic_Oddish[];
+extern const u8 gMonShinyPalette_Oddish[];
+extern const u8 gMonIcon_Oddish[];
+extern const u8 gMonFootprint_Oddish[];
+extern const u8 gMonFrontPic_Gloom[];
+extern const u8 gMonPalette_Gloom[];
+extern const u8 gMonBackPic_Gloom[];
+extern const u8 gMonShinyPalette_Gloom[];
+extern const u8 gMonIcon_Gloom[];
+extern const u8 gMonFootprint_Gloom[];
+extern const u8 gMonFrontPic_Vileplume[];
+extern const u8 gMonPalette_Vileplume[];
+extern const u8 gMonBackPic_Vileplume[];
+extern const u8 gMonShinyPalette_Vileplume[];
+extern const u8 gMonIcon_Vileplume[];
+extern const u8 gMonFootprint_Vileplume[];
+extern const u8 gMonFrontPic_Paras[];
+extern const u8 gMonPalette_Paras[];
+extern const u8 gMonBackPic_Paras[];
+extern const u8 gMonShinyPalette_Paras[];
+extern const u8 gMonIcon_Paras[];
+extern const u8 gMonFootprint_Paras[];
+extern const u8 gMonFrontPic_Parasect[];
+extern const u8 gMonPalette_Parasect[];
+extern const u8 gMonBackPic_Parasect[];
+extern const u8 gMonShinyPalette_Parasect[];
+extern const u8 gMonIcon_Parasect[];
+extern const u8 gMonFootprint_Parasect[];
+extern const u8 gMonFrontPic_Venonat[];
+extern const u8 gMonPalette_Venonat[];
+extern const u8 gMonBackPic_Venonat[];
+extern const u8 gMonShinyPalette_Venonat[];
+extern const u8 gMonIcon_Venonat[];
+extern const u8 gMonFootprint_Venonat[];
+extern const u8 gMonFrontPic_Venomoth[];
+extern const u8 gMonPalette_Venomoth[];
+extern const u8 gMonBackPic_Venomoth[];
+extern const u8 gMonShinyPalette_Venomoth[];
+extern const u8 gMonIcon_Venomoth[];
+extern const u8 gMonFootprint_Venomoth[];
+extern const u8 gMonFrontPic_Diglett[];
+extern const u8 gMonPalette_Diglett[];
+extern const u8 gMonBackPic_Diglett[];
+extern const u8 gMonShinyPalette_Diglett[];
+extern const u8 gMonIcon_Diglett[];
+extern const u8 gMonFootprint_Diglett[];
+extern const u8 gMonFrontPic_Dugtrio[];
+extern const u8 gMonPalette_Dugtrio[];
+extern const u8 gMonBackPic_Dugtrio[];
+extern const u8 gMonShinyPalette_Dugtrio[];
+extern const u8 gMonIcon_Dugtrio[];
+extern const u8 gMonFootprint_Dugtrio[];
+extern const u8 gMonFrontPic_Meowth[];
+extern const u8 gMonPalette_Meowth[];
+extern const u8 gMonBackPic_Meowth[];
+extern const u8 gMonShinyPalette_Meowth[];
+extern const u8 gMonIcon_Meowth[];
+extern const u8 gMonFootprint_Meowth[];
+extern const u8 gMonFrontPic_Persian[];
+extern const u8 gMonPalette_Persian[];
+extern const u8 gMonBackPic_Persian[];
+extern const u8 gMonShinyPalette_Persian[];
+extern const u8 gMonIcon_Persian[];
+extern const u8 gMonFootprint_Persian[];
+extern const u8 gMonFrontPic_Psyduck[];
+extern const u8 gMonPalette_Psyduck[];
+extern const u8 gMonBackPic_Psyduck[];
+extern const u8 gMonShinyPalette_Psyduck[];
+extern const u8 gMonIcon_Psyduck[];
+extern const u8 gMonFootprint_Psyduck[];
+extern const u8 gMonFrontPic_Golduck[];
+extern const u8 gMonPalette_Golduck[];
+extern const u8 gMonBackPic_Golduck[];
+extern const u8 gMonShinyPalette_Golduck[];
+extern const u8 gMonIcon_Golduck[];
+extern const u8 gMonFootprint_Golduck[];
+extern const u8 gMonFrontPic_Mankey[];
+extern const u8 gMonPalette_Mankey[];
+extern const u8 gMonBackPic_Mankey[];
+extern const u8 gMonShinyPalette_Mankey[];
+extern const u8 gMonIcon_Mankey[];
+extern const u8 gMonFootprint_Mankey[];
+extern const u8 gMonFrontPic_Primeape[];
+extern const u8 gMonPalette_Primeape[];
+extern const u8 gMonBackPic_Primeape[];
+extern const u8 gMonShinyPalette_Primeape[];
+extern const u8 gMonIcon_Primeape[];
+extern const u8 gMonFootprint_Primeape[];
+extern const u8 gMonFrontPic_Growlithe[];
+extern const u8 gMonPalette_Growlithe[];
+extern const u8 gMonBackPic_Growlithe[];
+extern const u8 gMonShinyPalette_Growlithe[];
+extern const u8 gMonIcon_Growlithe[];
+extern const u8 gMonFootprint_Growlithe[];
+extern const u8 gMonFrontPic_Arcanine[];
+extern const u8 gMonPalette_Arcanine[];
+extern const u8 gMonBackPic_Arcanine[];
+extern const u8 gMonShinyPalette_Arcanine[];
+extern const u8 gMonIcon_Arcanine[];
+extern const u8 gMonFootprint_Arcanine[];
+extern const u8 gMonFrontPic_Poliwag[];
+extern const u8 gMonPalette_Poliwag[];
+extern const u8 gMonBackPic_Poliwag[];
+extern const u8 gMonShinyPalette_Poliwag[];
+extern const u8 gMonIcon_Poliwag[];
+extern const u8 gMonFootprint_Poliwag[];
+extern const u8 gMonFrontPic_Poliwhirl[];
+extern const u8 gMonPalette_Poliwhirl[];
+extern const u8 gMonBackPic_Poliwhirl[];
+extern const u8 gMonShinyPalette_Poliwhirl[];
+extern const u8 gMonIcon_Poliwhirl[];
+extern const u8 gMonFootprint_Poliwhirl[];
+extern const u8 gMonFrontPic_Poliwrath[];
+extern const u8 gMonPalette_Poliwrath[];
+extern const u8 gMonBackPic_Poliwrath[];
+extern const u8 gMonShinyPalette_Poliwrath[];
+extern const u8 gMonIcon_Poliwrath[];
+extern const u8 gMonFootprint_Poliwrath[];
+extern const u8 gMonFrontPic_Abra[];
+extern const u8 gMonPalette_Abra[];
+extern const u8 gMonBackPic_Abra[];
+extern const u8 gMonShinyPalette_Abra[];
+extern const u8 gMonIcon_Abra[];
+extern const u8 gMonFootprint_Abra[];
+extern const u8 gMonFrontPic_Kadabra[];
+extern const u8 gMonPalette_Kadabra[];
+extern const u8 gMonBackPic_Kadabra[];
+extern const u8 gMonShinyPalette_Kadabra[];
+extern const u8 gMonIcon_Kadabra[];
+extern const u8 gMonFootprint_Kadabra[];
+extern const u8 gMonFrontPic_Alakazam[];
+extern const u8 gMonPalette_Alakazam[];
+extern const u8 gMonBackPic_Alakazam[];
+extern const u8 gMonShinyPalette_Alakazam[];
+extern const u8 gMonIcon_Alakazam[];
+extern const u8 gMonFootprint_Alakazam[];
+extern const u8 gMonFrontPic_Machop[];
+extern const u8 gMonPalette_Machop[];
+extern const u8 gMonBackPic_Machop[];
+extern const u8 gMonShinyPalette_Machop[];
+extern const u8 gMonIcon_Machop[];
+extern const u8 gMonFootprint_Machop[];
+extern const u8 gMonFrontPic_Machoke[];
+extern const u8 gMonPalette_Machoke[];
+extern const u8 gMonBackPic_Machoke[];
+extern const u8 gMonShinyPalette_Machoke[];
+extern const u8 gMonIcon_Machoke[];
+extern const u8 gMonFootprint_Machoke[];
+extern const u8 gMonFrontPic_Machamp[];
+extern const u8 gMonPalette_Machamp[];
+extern const u8 gMonBackPic_Machamp[];
+extern const u8 gMonShinyPalette_Machamp[];
+extern const u8 gMonIcon_Machamp[];
+extern const u8 gMonFootprint_Machamp[];
+extern const u8 gMonFrontPic_Bellsprout[];
+extern const u8 gMonPalette_Bellsprout[];
+extern const u8 gMonBackPic_Bellsprout[];
+extern const u8 gMonShinyPalette_Bellsprout[];
+extern const u8 gMonIcon_Bellsprout[];
+extern const u8 gMonFootprint_Bellsprout[];
+extern const u8 gMonFrontPic_Weepinbell[];
+extern const u8 gMonPalette_Weepinbell[];
+extern const u8 gMonBackPic_Weepinbell[];
+extern const u8 gMonShinyPalette_Weepinbell[];
+extern const u8 gMonIcon_Weepinbell[];
+extern const u8 gMonFootprint_Weepinbell[];
+extern const u8 gMonFrontPic_Victreebel[];
+extern const u8 gMonPalette_Victreebel[];
+extern const u8 gMonBackPic_Victreebel[];
+extern const u8 gMonShinyPalette_Victreebel[];
+extern const u8 gMonIcon_Victreebel[];
+extern const u8 gMonFootprint_Victreebel[];
+extern const u8 gMonFrontPic_Tentacool[];
+extern const u8 gMonPalette_Tentacool[];
+extern const u8 gMonBackPic_Tentacool[];
+extern const u8 gMonShinyPalette_Tentacool[];
+extern const u8 gMonIcon_Tentacool[];
+extern const u8 gMonFootprint_Tentacool[];
+extern const u8 gMonFrontPic_Tentacruel[];
+extern const u8 gMonPalette_Tentacruel[];
+extern const u8 gMonBackPic_Tentacruel[];
+extern const u8 gMonShinyPalette_Tentacruel[];
+extern const u8 gMonIcon_Tentacruel[];
+extern const u8 gMonFootprint_Tentacruel[];
+extern const u8 gMonFrontPic_Geodude[];
+extern const u8 gMonPalette_Geodude[];
+extern const u8 gMonBackPic_Geodude[];
+extern const u8 gMonShinyPalette_Geodude[];
+extern const u8 gMonIcon_Geodude[];
+extern const u8 gMonFootprint_Geodude[];
+extern const u8 gMonFrontPic_Graveler[];
+extern const u8 gMonPalette_Graveler[];
+extern const u8 gMonBackPic_Graveler[];
+extern const u8 gMonShinyPalette_Graveler[];
+extern const u8 gMonIcon_Graveler[];
+extern const u8 gMonFootprint_Graveler[];
+extern const u8 gMonFrontPic_Golem[];
+extern const u8 gMonPalette_Golem[];
+extern const u8 gMonBackPic_Golem[];
+extern const u8 gMonShinyPalette_Golem[];
+extern const u8 gMonIcon_Golem[];
+extern const u8 gMonFootprint_Golem[];
+extern const u8 gMonFrontPic_Ponyta[];
+extern const u8 gMonPalette_Ponyta[];
+extern const u8 gMonBackPic_Ponyta[];
+extern const u8 gMonShinyPalette_Ponyta[];
+extern const u8 gMonIcon_Ponyta[];
+extern const u8 gMonFootprint_Ponyta[];
+extern const u8 gMonFrontPic_Rapidash[];
+extern const u8 gMonPalette_Rapidash[];
+extern const u8 gMonBackPic_Rapidash[];
+extern const u8 gMonShinyPalette_Rapidash[];
+extern const u8 gMonIcon_Rapidash[];
+extern const u8 gMonFootprint_Rapidash[];
+extern const u8 gMonFrontPic_Slowpoke[];
+extern const u8 gMonPalette_Slowpoke[];
+extern const u8 gMonBackPic_Slowpoke[];
+extern const u8 gMonShinyPalette_Slowpoke[];
+extern const u8 gMonIcon_Slowpoke[];
+extern const u8 gMonFootprint_Slowpoke[];
+extern const u8 gMonFrontPic_Slowbro[];
+extern const u8 gMonPalette_Slowbro[];
+extern const u8 gMonBackPic_Slowbro[];
+extern const u8 gMonShinyPalette_Slowbro[];
+extern const u8 gMonIcon_Slowbro[];
+extern const u8 gMonFootprint_Slowbro[];
+extern const u8 gMonFrontPic_Magnemite[];
+extern const u8 gMonPalette_Magnemite[];
+extern const u8 gMonBackPic_Magnemite[];
+extern const u8 gMonShinyPalette_Magnemite[];
+extern const u8 gMonIcon_Magnemite[];
+extern const u8 gMonFootprint_Magnemite[];
+extern const u8 gMonFrontPic_Magneton[];
+extern const u8 gMonPalette_Magneton[];
+extern const u8 gMonBackPic_Magneton[];
+extern const u8 gMonShinyPalette_Magneton[];
+extern const u8 gMonIcon_Magneton[];
+extern const u8 gMonFootprint_Magneton[];
+extern const u8 gMonFrontPic_Farfetchd[];
+extern const u8 gMonPalette_Farfetchd[];
+extern const u8 gMonBackPic_Farfetchd[];
+extern const u8 gMonShinyPalette_Farfetchd[];
+extern const u8 gMonIcon_Farfetchd[];
+extern const u8 gMonFootprint_Farfetchd[];
+extern const u8 gMonFrontPic_Doduo[];
+extern const u8 gMonPalette_Doduo[];
+extern const u8 gMonBackPic_Doduo[];
+extern const u8 gMonShinyPalette_Doduo[];
+extern const u8 gMonIcon_Doduo[];
+extern const u8 gMonFootprint_Doduo[];
+extern const u8 gMonFrontPic_Dodrio[];
+extern const u8 gMonPalette_Dodrio[];
+extern const u8 gMonBackPic_Dodrio[];
+extern const u8 gMonShinyPalette_Dodrio[];
+extern const u8 gMonIcon_Dodrio[];
+extern const u8 gMonFootprint_Dodrio[];
+extern const u8 gMonFrontPic_Seel[];
+extern const u8 gMonPalette_Seel[];
+extern const u8 gMonBackPic_Seel[];
+extern const u8 gMonShinyPalette_Seel[];
+extern const u8 gMonIcon_Seel[];
+extern const u8 gMonFootprint_Seel[];
+extern const u8 gMonFrontPic_Dewgong[];
+extern const u8 gMonPalette_Dewgong[];
+extern const u8 gMonBackPic_Dewgong[];
+extern const u8 gMonShinyPalette_Dewgong[];
+extern const u8 gMonIcon_Dewgong[];
+extern const u8 gMonFootprint_Dewgong[];
+extern const u8 gMonFrontPic_Grimer[];
+extern const u8 gMonPalette_Grimer[];
+extern const u8 gMonBackPic_Grimer[];
+extern const u8 gMonShinyPalette_Grimer[];
+extern const u8 gMonIcon_Grimer[];
+extern const u8 gMonFootprint_Grimer[];
+extern const u8 gMonFrontPic_Muk[];
+extern const u8 gMonPalette_Muk[];
+extern const u8 gMonBackPic_Muk[];
+extern const u8 gMonShinyPalette_Muk[];
+extern const u8 gMonIcon_Muk[];
+extern const u8 gMonFootprint_Muk[];
+extern const u8 gMonFrontPic_Shellder[];
+extern const u8 gMonPalette_Shellder[];
+extern const u8 gMonBackPic_Shellder[];
+extern const u8 gMonShinyPalette_Shellder[];
+extern const u8 gMonIcon_Shellder[];
+extern const u8 gMonFootprint_Shellder[];
+extern const u8 gMonFrontPic_Cloyster[];
+extern const u8 gMonPalette_Cloyster[];
+extern const u8 gMonBackPic_Cloyster[];
+extern const u8 gMonShinyPalette_Cloyster[];
+extern const u8 gMonIcon_Cloyster[];
+extern const u8 gMonFootprint_Cloyster[];
+extern const u8 gMonFrontPic_Gastly[];
+extern const u8 gMonPalette_Gastly[];
+extern const u8 gMonBackPic_Gastly[];
+extern const u8 gMonShinyPalette_Gastly[];
+extern const u8 gMonIcon_Gastly[];
+extern const u8 gMonFootprint_Gastly[];
+extern const u8 gMonFrontPic_Haunter[];
+extern const u8 gMonPalette_Haunter[];
+extern const u8 gMonBackPic_Haunter[];
+extern const u8 gMonShinyPalette_Haunter[];
+extern const u8 gMonIcon_Haunter[];
+extern const u8 gMonFootprint_Haunter[];
+extern const u8 gMonFrontPic_Gengar[];
+extern const u8 gMonPalette_Gengar[];
+extern const u8 gMonBackPic_Gengar[];
+extern const u8 gMonShinyPalette_Gengar[];
+extern const u8 gMonIcon_Gengar[];
+extern const u8 gMonFootprint_Gengar[];
+extern const u8 gMonFrontPic_Onix[];
+extern const u8 gMonPalette_Onix[];
+extern const u8 gMonBackPic_Onix[];
+extern const u8 gMonShinyPalette_Onix[];
+extern const u8 gMonIcon_Onix[];
+extern const u8 gMonFootprint_Onix[];
+extern const u8 gMonFrontPic_Drowzee[];
+extern const u8 gMonPalette_Drowzee[];
+extern const u8 gMonBackPic_Drowzee[];
+extern const u8 gMonShinyPalette_Drowzee[];
+extern const u8 gMonIcon_Drowzee[];
+extern const u8 gMonFootprint_Drowzee[];
+extern const u8 gMonFrontPic_Hypno[];
+extern const u8 gMonPalette_Hypno[];
+extern const u8 gMonBackPic_Hypno[];
+extern const u8 gMonShinyPalette_Hypno[];
+extern const u8 gMonIcon_Hypno[];
+extern const u8 gMonFootprint_Hypno[];
+extern const u8 gMonFrontPic_Krabby[];
+extern const u8 gMonPalette_Krabby[];
+extern const u8 gMonBackPic_Krabby[];
+extern const u8 gMonShinyPalette_Krabby[];
+extern const u8 gMonIcon_Krabby[];
+extern const u8 gMonFootprint_Krabby[];
+extern const u8 gMonFrontPic_Kingler[];
+extern const u8 gMonPalette_Kingler[];
+extern const u8 gMonBackPic_Kingler[];
+extern const u8 gMonShinyPalette_Kingler[];
+extern const u8 gMonIcon_Kingler[];
+extern const u8 gMonFootprint_Kingler[];
+extern const u8 gMonFrontPic_Voltorb[];
+extern const u8 gMonPalette_Voltorb[];
+extern const u8 gMonBackPic_Voltorb[];
+extern const u8 gMonShinyPalette_Voltorb[];
+extern const u8 gMonIcon_Voltorb[];
+extern const u8 gMonFootprint_Voltorb[];
+extern const u8 gMonFrontPic_Electrode[];
+extern const u8 gMonPalette_Electrode[];
+extern const u8 gMonBackPic_Electrode[];
+extern const u8 gMonShinyPalette_Electrode[];
+extern const u8 gMonIcon_Electrode[];
+extern const u8 gMonFootprint_Electrode[];
+extern const u8 gMonFrontPic_Exeggcute[];
+extern const u8 gMonPalette_Exeggcute[];
+extern const u8 gMonBackPic_Exeggcute[];
+extern const u8 gMonShinyPalette_Exeggcute[];
+extern const u8 gMonIcon_Exeggcute[];
+extern const u8 gMonFootprint_Exeggcute[];
+extern const u8 gMonFrontPic_Exeggutor[];
+extern const u8 gMonPalette_Exeggutor[];
+extern const u8 gMonBackPic_Exeggutor[];
+extern const u8 gMonShinyPalette_Exeggutor[];
+extern const u8 gMonIcon_Exeggutor[];
+extern const u8 gMonFootprint_Exeggutor[];
+extern const u8 gMonFrontPic_Cubone[];
+extern const u8 gMonPalette_Cubone[];
+extern const u8 gMonBackPic_Cubone[];
+extern const u8 gMonShinyPalette_Cubone[];
+extern const u8 gMonIcon_Cubone[];
+extern const u8 gMonFootprint_Cubone[];
+extern const u8 gMonFrontPic_Marowak[];
+extern const u8 gMonPalette_Marowak[];
+extern const u8 gMonBackPic_Marowak[];
+extern const u8 gMonShinyPalette_Marowak[];
+extern const u8 gMonIcon_Marowak[];
+extern const u8 gMonFootprint_Marowak[];
+extern const u8 gMonFrontPic_Hitmonlee[];
+extern const u8 gMonPalette_Hitmonlee[];
+extern const u8 gMonBackPic_Hitmonlee[];
+extern const u8 gMonShinyPalette_Hitmonlee[];
+extern const u8 gMonIcon_Hitmonlee[];
+extern const u8 gMonFootprint_Hitmonlee[];
+extern const u8 gMonFrontPic_Hitmonchan[];
+extern const u8 gMonPalette_Hitmonchan[];
+extern const u8 gMonBackPic_Hitmonchan[];
+extern const u8 gMonShinyPalette_Hitmonchan[];
+extern const u8 gMonIcon_Hitmonchan[];
+extern const u8 gMonFootprint_Hitmonchan[];
+extern const u8 gMonFrontPic_Lickitung[];
+extern const u8 gMonPalette_Lickitung[];
+extern const u8 gMonBackPic_Lickitung[];
+extern const u8 gMonShinyPalette_Lickitung[];
+extern const u8 gMonIcon_Lickitung[];
+extern const u8 gMonFootprint_Lickitung[];
+extern const u8 gMonFrontPic_Koffing[];
+extern const u8 gMonPalette_Koffing[];
+extern const u8 gMonBackPic_Koffing[];
+extern const u8 gMonShinyPalette_Koffing[];
+extern const u8 gMonIcon_Koffing[];
+extern const u8 gMonFootprint_Koffing[];
+extern const u8 gMonFrontPic_Weezing[];
+extern const u8 gMonPalette_Weezing[];
+extern const u8 gMonBackPic_Weezing[];
+extern const u8 gMonShinyPalette_Weezing[];
+extern const u8 gMonIcon_Weezing[];
+extern const u8 gMonFootprint_Weezing[];
+extern const u8 gMonFrontPic_Rhyhorn[];
+extern const u8 gMonPalette_Rhyhorn[];
+extern const u8 gMonBackPic_Rhyhorn[];
+extern const u8 gMonShinyPalette_Rhyhorn[];
+extern const u8 gMonIcon_Rhyhorn[];
+extern const u8 gMonFootprint_Rhyhorn[];
+extern const u8 gMonFrontPic_Rhydon[];
+extern const u8 gMonPalette_Rhydon[];
+extern const u8 gMonBackPic_Rhydon[];
+extern const u8 gMonShinyPalette_Rhydon[];
+extern const u8 gMonIcon_Rhydon[];
+extern const u8 gMonFootprint_Rhydon[];
+extern const u8 gMonFrontPic_Chansey[];
+extern const u8 gMonPalette_Chansey[];
+extern const u8 gMonBackPic_Chansey[];
+extern const u8 gMonShinyPalette_Chansey[];
+extern const u8 gMonIcon_Chansey[];
+extern const u8 gMonFootprint_Chansey[];
+extern const u8 gMonFrontPic_Tangela[];
+extern const u8 gMonPalette_Tangela[];
+extern const u8 gMonBackPic_Tangela[];
+extern const u8 gMonShinyPalette_Tangela[];
+extern const u8 gMonIcon_Tangela[];
+extern const u8 gMonFootprint_Tangela[];
+extern const u8 gMonFrontPic_Kangaskhan[];
+extern const u8 gMonPalette_Kangaskhan[];
+extern const u8 gMonBackPic_Kangaskhan[];
+extern const u8 gMonShinyPalette_Kangaskhan[];
+extern const u8 gMonIcon_Kangaskhan[];
+extern const u8 gMonFootprint_Kangaskhan[];
+extern const u8 gMonFrontPic_Horsea[];
+extern const u8 gMonPalette_Horsea[];
+extern const u8 gMonBackPic_Horsea[];
+extern const u8 gMonShinyPalette_Horsea[];
+extern const u8 gMonIcon_Horsea[];
+extern const u8 gMonFootprint_Horsea[];
+extern const u8 gMonFrontPic_Seadra[];
+extern const u8 gMonPalette_Seadra[];
+extern const u8 gMonBackPic_Seadra[];
+extern const u8 gMonShinyPalette_Seadra[];
+extern const u8 gMonIcon_Seadra[];
+extern const u8 gMonFootprint_Seadra[];
+extern const u8 gMonFrontPic_Goldeen[];
+extern const u8 gMonPalette_Goldeen[];
+extern const u8 gMonBackPic_Goldeen[];
+extern const u8 gMonShinyPalette_Goldeen[];
+extern const u8 gMonIcon_Goldeen[];
+extern const u8 gMonFootprint_Goldeen[];
+extern const u8 gMonFrontPic_Seaking[];
+extern const u8 gMonPalette_Seaking[];
+extern const u8 gMonBackPic_Seaking[];
+extern const u8 gMonShinyPalette_Seaking[];
+extern const u8 gMonIcon_Seaking[];
+extern const u8 gMonFootprint_Seaking[];
+extern const u8 gMonFrontPic_Staryu[];
+extern const u8 gMonPalette_Staryu[];
+extern const u8 gMonBackPic_Staryu[];
+extern const u8 gMonShinyPalette_Staryu[];
+extern const u8 gMonIcon_Staryu[];
+extern const u8 gMonFootprint_Staryu[];
+extern const u8 gMonFrontPic_Starmie[];
+extern const u8 gMonPalette_Starmie[];
+extern const u8 gMonBackPic_Starmie[];
+extern const u8 gMonShinyPalette_Starmie[];
+extern const u8 gMonIcon_Starmie[];
+extern const u8 gMonFootprint_Starmie[];
+extern const u8 gMonFrontPic_Mrmime[];
+extern const u8 gMonPalette_Mrmime[];
+extern const u8 gMonBackPic_Mrmime[];
+extern const u8 gMonShinyPalette_Mrmime[];
+extern const u8 gMonIcon_Mrmime[];
+extern const u8 gMonFootprint_Mrmime[];
+extern const u8 gMonFrontPic_Scyther[];
+extern const u8 gMonPalette_Scyther[];
+extern const u8 gMonBackPic_Scyther[];
+extern const u8 gMonShinyPalette_Scyther[];
+extern const u8 gMonIcon_Scyther[];
+extern const u8 gMonFootprint_Scyther[];
+extern const u8 gMonFrontPic_Jynx[];
+extern const u8 gMonPalette_Jynx[];
+extern const u8 gMonBackPic_Jynx[];
+extern const u8 gMonShinyPalette_Jynx[];
+extern const u8 gMonIcon_Jynx[];
+extern const u8 gMonFootprint_Jynx[];
+extern const u8 gMonFrontPic_Electabuzz[];
+extern const u8 gMonPalette_Electabuzz[];
+extern const u8 gMonBackPic_Electabuzz[];
+extern const u8 gMonShinyPalette_Electabuzz[];
+extern const u8 gMonIcon_Electabuzz[];
+extern const u8 gMonFootprint_Electabuzz[];
+extern const u8 gMonFrontPic_Magmar[];
+extern const u8 gMonPalette_Magmar[];
+extern const u8 gMonBackPic_Magmar[];
+extern const u8 gMonShinyPalette_Magmar[];
+extern const u8 gMonIcon_Magmar[];
+extern const u8 gMonFootprint_Magmar[];
+extern const u8 gMonFrontPic_Pinsir[];
+extern const u8 gMonPalette_Pinsir[];
+extern const u8 gMonBackPic_Pinsir[];
+extern const u8 gMonShinyPalette_Pinsir[];
+extern const u8 gMonIcon_Pinsir[];
+extern const u8 gMonFootprint_Pinsir[];
+extern const u8 gMonFrontPic_Tauros[];
+extern const u8 gMonPalette_Tauros[];
+extern const u8 gMonBackPic_Tauros[];
+extern const u8 gMonShinyPalette_Tauros[];
+extern const u8 gMonIcon_Tauros[];
+extern const u8 gMonFootprint_Tauros[];
+extern const u8 gMonFrontPic_Magikarp[];
+extern const u8 gMonPalette_Magikarp[];
+extern const u8 gMonBackPic_Magikarp[];
+extern const u8 gMonShinyPalette_Magikarp[];
+extern const u8 gMonIcon_Magikarp[];
+extern const u8 gMonFootprint_Magikarp[];
+extern const u8 gMonFrontPic_Gyarados[];
+extern const u8 gMonPalette_Gyarados[];
+extern const u8 gMonBackPic_Gyarados[];
+extern const u8 gMonShinyPalette_Gyarados[];
+extern const u8 gMonIcon_Gyarados[];
+extern const u8 gMonFootprint_Gyarados[];
+extern const u8 gMonFrontPic_Lapras[];
+extern const u8 gMonPalette_Lapras[];
+extern const u8 gMonBackPic_Lapras[];
+extern const u8 gMonShinyPalette_Lapras[];
+extern const u8 gMonIcon_Lapras[];
+extern const u8 gMonFootprint_Lapras[];
+extern const u8 gMonFrontPic_Ditto[];
+extern const u8 gMonPalette_Ditto[];
+extern const u8 gMonBackPic_Ditto[];
+extern const u8 gMonShinyPalette_Ditto[];
+extern const u8 gMonIcon_Ditto[];
+extern const u8 gMonFootprint_Ditto[];
+extern const u8 gMonFrontPic_Eevee[];
+extern const u8 gMonPalette_Eevee[];
+extern const u8 gMonBackPic_Eevee[];
+extern const u8 gMonShinyPalette_Eevee[];
+extern const u8 gMonIcon_Eevee[];
+extern const u8 gMonFootprint_Eevee[];
+extern const u8 gMonFrontPic_Vaporeon[];
+extern const u8 gMonPalette_Vaporeon[];
+extern const u8 gMonBackPic_Vaporeon[];
+extern const u8 gMonShinyPalette_Vaporeon[];
+extern const u8 gMonIcon_Vaporeon[];
+extern const u8 gMonFootprint_Vaporeon[];
+extern const u8 gMonFrontPic_Jolteon[];
+extern const u8 gMonPalette_Jolteon[];
+extern const u8 gMonBackPic_Jolteon[];
+extern const u8 gMonShinyPalette_Jolteon[];
+extern const u8 gMonIcon_Jolteon[];
+extern const u8 gMonFootprint_Jolteon[];
+extern const u8 gMonFrontPic_Flareon[];
+extern const u8 gMonPalette_Flareon[];
+extern const u8 gMonBackPic_Flareon[];
+extern const u8 gMonShinyPalette_Flareon[];
+extern const u8 gMonIcon_Flareon[];
+extern const u8 gMonFootprint_Flareon[];
+extern const u8 gMonFrontPic_Porygon[];
+extern const u8 gMonPalette_Porygon[];
+extern const u8 gMonBackPic_Porygon[];
+extern const u8 gMonShinyPalette_Porygon[];
+extern const u8 gMonIcon_Porygon[];
+extern const u8 gMonFootprint_Porygon[];
+extern const u8 gMonFrontPic_Omanyte[];
+extern const u8 gMonPalette_Omanyte[];
+extern const u8 gMonBackPic_Omanyte[];
+extern const u8 gMonShinyPalette_Omanyte[];
+extern const u8 gMonIcon_Omanyte[];
+extern const u8 gMonFootprint_Omanyte[];
+extern const u8 gMonFrontPic_Omastar[];
+extern const u8 gMonPalette_Omastar[];
+extern const u8 gMonBackPic_Omastar[];
+extern const u8 gMonShinyPalette_Omastar[];
+extern const u8 gMonIcon_Omastar[];
+extern const u8 gMonFootprint_Omastar[];
+extern const u8 gMonFrontPic_Kabuto[];
+extern const u8 gMonPalette_Kabuto[];
+extern const u8 gMonBackPic_Kabuto[];
+extern const u8 gMonShinyPalette_Kabuto[];
+extern const u8 gMonIcon_Kabuto[];
+extern const u8 gMonFootprint_Kabuto[];
+extern const u8 gMonFrontPic_Kabutops[];
+extern const u8 gMonPalette_Kabutops[];
+extern const u8 gMonBackPic_Kabutops[];
+extern const u8 gMonShinyPalette_Kabutops[];
+extern const u8 gMonIcon_Kabutops[];
+extern const u8 gMonFootprint_Kabutops[];
+extern const u8 gMonFrontPic_Aerodactyl[];
+extern const u8 gMonPalette_Aerodactyl[];
+extern const u8 gMonBackPic_Aerodactyl[];
+extern const u8 gMonShinyPalette_Aerodactyl[];
+extern const u8 gMonIcon_Aerodactyl[];
+extern const u8 gMonFootprint_Aerodactyl[];
+extern const u8 gMonFrontPic_Snorlax[];
+extern const u8 gMonPalette_Snorlax[];
+extern const u8 gMonBackPic_Snorlax[];
+extern const u8 gMonShinyPalette_Snorlax[];
+extern const u8 gMonIcon_Snorlax[];
+extern const u8 gMonFootprint_Snorlax[];
+extern const u8 gMonFrontPic_Articuno[];
+extern const u8 gMonPalette_Articuno[];
+extern const u8 gMonBackPic_Articuno[];
+extern const u8 gMonShinyPalette_Articuno[];
+extern const u8 gMonIcon_Articuno[];
+extern const u8 gMonFootprint_Articuno[];
+extern const u8 gMonFrontPic_Zapdos[];
+extern const u8 gMonPalette_Zapdos[];
+extern const u8 gMonBackPic_Zapdos[];
+extern const u8 gMonShinyPalette_Zapdos[];
+extern const u8 gMonIcon_Zapdos[];
+extern const u8 gMonFootprint_Zapdos[];
+extern const u8 gMonFrontPic_Moltres[];
+extern const u8 gMonPalette_Moltres[];
+extern const u8 gMonBackPic_Moltres[];
+extern const u8 gMonShinyPalette_Moltres[];
+extern const u8 gMonIcon_Moltres[];
+extern const u8 gMonFootprint_Moltres[];
+extern const u8 gMonFrontPic_Dratini[];
+extern const u8 gMonPalette_Dratini[];
+extern const u8 gMonBackPic_Dratini[];
+extern const u8 gMonShinyPalette_Dratini[];
+extern const u8 gMonIcon_Dratini[];
+extern const u8 gMonFootprint_Dratini[];
+extern const u8 gMonFrontPic_Dragonair[];
+extern const u8 gMonPalette_Dragonair[];
+extern const u8 gMonBackPic_Dragonair[];
+extern const u8 gMonShinyPalette_Dragonair[];
+extern const u8 gMonIcon_Dragonair[];
+extern const u8 gMonFootprint_Dragonair[];
+extern const u8 gMonFrontPic_Dragonite[];
+extern const u8 gMonPalette_Dragonite[];
+extern const u8 gMonBackPic_Dragonite[];
+extern const u8 gMonShinyPalette_Dragonite[];
+extern const u8 gMonIcon_Dragonite[];
+extern const u8 gMonFootprint_Dragonite[];
+extern const u8 gMonFrontPic_Mewtwo[];
+extern const u8 gMonPalette_Mewtwo[];
+extern const u8 gMonBackPic_Mewtwo[];
+extern const u8 gMonShinyPalette_Mewtwo[];
+extern const u8 gMonIcon_Mewtwo[];
+extern const u8 gMonFootprint_Mewtwo[];
+extern const u8 gMonFrontPic_Mew[];
+extern const u8 gMonPalette_Mew[];
+extern const u8 gMonBackPic_Mew[];
+extern const u8 gMonShinyPalette_Mew[];
+extern const u8 gMonIcon_Mew[];
+extern const u8 gMonFootprint_Mew[];
+extern const u8 gMonFrontPic_Chikorita[];
+extern const u8 gMonPalette_Chikorita[];
+extern const u8 gMonBackPic_Chikorita[];
+extern const u8 gMonShinyPalette_Chikorita[];
+extern const u8 gMonIcon_Chikorita[];
+extern const u8 gMonFootprint_Chikorita[];
+extern const u8 gMonFrontPic_Bayleef[];
+extern const u8 gMonPalette_Bayleef[];
+extern const u8 gMonBackPic_Bayleef[];
+extern const u8 gMonShinyPalette_Bayleef[];
+extern const u8 gMonIcon_Bayleef[];
+extern const u8 gMonFootprint_Bayleef[];
+extern const u8 gMonFrontPic_Meganium[];
+extern const u8 gMonPalette_Meganium[];
+extern const u8 gMonBackPic_Meganium[];
+extern const u8 gMonShinyPalette_Meganium[];
+extern const u8 gMonIcon_Meganium[];
+extern const u8 gMonFootprint_Meganium[];
+extern const u8 gMonFrontPic_Cyndaquil[];
+extern const u8 gMonPalette_Cyndaquil[];
+extern const u8 gMonBackPic_Cyndaquil[];
+extern const u8 gMonShinyPalette_Cyndaquil[];
+extern const u8 gMonIcon_Cyndaquil[];
+extern const u8 gMonFootprint_Cyndaquil[];
+extern const u8 gMonFrontPic_Quilava[];
+extern const u8 gMonPalette_Quilava[];
+extern const u8 gMonBackPic_Quilava[];
+extern const u8 gMonShinyPalette_Quilava[];
+extern const u8 gMonIcon_Quilava[];
+extern const u8 gMonFootprint_Quilava[];
+extern const u8 gMonFrontPic_Typhlosion[];
+extern const u8 gMonPalette_Typhlosion[];
+extern const u8 gMonBackPic_Typhlosion[];
+extern const u8 gMonShinyPalette_Typhlosion[];
+extern const u8 gMonIcon_Typhlosion[];
+extern const u8 gMonFootprint_Typhlosion[];
+extern const u8 gMonFrontPic_Totodile[];
+extern const u8 gMonPalette_Totodile[];
+extern const u8 gMonBackPic_Totodile[];
+extern const u8 gMonShinyPalette_Totodile[];
+extern const u8 gMonIcon_Totodile[];
+extern const u8 gMonFootprint_Totodile[];
+extern const u8 gMonFrontPic_Croconaw[];
+extern const u8 gMonPalette_Croconaw[];
+extern const u8 gMonBackPic_Croconaw[];
+extern const u8 gMonShinyPalette_Croconaw[];
+extern const u8 gMonIcon_Croconaw[];
+extern const u8 gMonFootprint_Croconaw[];
+extern const u8 gMonFrontPic_Feraligatr[];
+extern const u8 gMonPalette_Feraligatr[];
+extern const u8 gMonBackPic_Feraligatr[];
+extern const u8 gMonShinyPalette_Feraligatr[];
+extern const u8 gMonIcon_Feraligatr[];
+extern const u8 gMonFootprint_Feraligatr[];
+extern const u8 gMonFrontPic_Sentret[];
+extern const u8 gMonPalette_Sentret[];
+extern const u8 gMonBackPic_Sentret[];
+extern const u8 gMonShinyPalette_Sentret[];
+extern const u8 gMonIcon_Sentret[];
+extern const u8 gMonFootprint_Sentret[];
+extern const u8 gMonFrontPic_Furret[];
+extern const u8 gMonPalette_Furret[];
+extern const u8 gMonBackPic_Furret[];
+extern const u8 gMonShinyPalette_Furret[];
+extern const u8 gMonIcon_Furret[];
+extern const u8 gMonFootprint_Furret[];
+extern const u8 gMonFrontPic_Hoothoot[];
+extern const u8 gMonPalette_Hoothoot[];
+extern const u8 gMonBackPic_Hoothoot[];
+extern const u8 gMonShinyPalette_Hoothoot[];
+extern const u8 gMonIcon_Hoothoot[];
+extern const u8 gMonFootprint_Hoothoot[];
+extern const u8 gMonFrontPic_Noctowl[];
+extern const u8 gMonPalette_Noctowl[];
+extern const u8 gMonBackPic_Noctowl[];
+extern const u8 gMonShinyPalette_Noctowl[];
+extern const u8 gMonIcon_Noctowl[];
+extern const u8 gMonFootprint_Noctowl[];
+extern const u8 gMonFrontPic_Ledyba[];
+extern const u8 gMonPalette_Ledyba[];
+extern const u8 gMonBackPic_Ledyba[];
+extern const u8 gMonShinyPalette_Ledyba[];
+extern const u8 gMonIcon_Ledyba[];
+extern const u8 gMonFootprint_Ledyba[];
+extern const u8 gMonFrontPic_Ledian[];
+extern const u8 gMonPalette_Ledian[];
+extern const u8 gMonBackPic_Ledian[];
+extern const u8 gMonShinyPalette_Ledian[];
+extern const u8 gMonIcon_Ledian[];
+extern const u8 gMonFootprint_Ledian[];
+extern const u8 gMonFrontPic_Spinarak[];
+extern const u8 gMonPalette_Spinarak[];
+extern const u8 gMonBackPic_Spinarak[];
+extern const u8 gMonShinyPalette_Spinarak[];
+extern const u8 gMonIcon_Spinarak[];
+extern const u8 gMonFootprint_Spinarak[];
+extern const u8 gMonFrontPic_Ariados[];
+extern const u8 gMonPalette_Ariados[];
+extern const u8 gMonBackPic_Ariados[];
+extern const u8 gMonShinyPalette_Ariados[];
+extern const u8 gMonIcon_Ariados[];
+extern const u8 gMonFootprint_Ariados[];
+extern const u8 gMonFrontPic_Crobat[];
+extern const u8 gMonPalette_Crobat[];
+extern const u8 gMonBackPic_Crobat[];
+extern const u8 gMonShinyPalette_Crobat[];
+extern const u8 gMonIcon_Crobat[];
+extern const u8 gMonFootprint_Crobat[];
+extern const u8 gMonFrontPic_Chinchou[];
+extern const u8 gMonPalette_Chinchou[];
+extern const u8 gMonBackPic_Chinchou[];
+extern const u8 gMonShinyPalette_Chinchou[];
+extern const u8 gMonIcon_Chinchou[];
+extern const u8 gMonFootprint_Chinchou[];
+extern const u8 gMonFrontPic_Lanturn[];
+extern const u8 gMonPalette_Lanturn[];
+extern const u8 gMonBackPic_Lanturn[];
+extern const u8 gMonShinyPalette_Lanturn[];
+extern const u8 gMonIcon_Lanturn[];
+extern const u8 gMonFootprint_Lanturn[];
+extern const u8 gMonFrontPic_Pichu[];
+extern const u8 gMonPalette_Pichu[];
+extern const u8 gMonBackPic_Pichu[];
+extern const u8 gMonShinyPalette_Pichu[];
+extern const u8 gMonIcon_Pichu[];
+extern const u8 gMonFootprint_Pichu[];
+extern const u8 gMonFrontPic_Cleffa[];
+extern const u8 gMonPalette_Cleffa[];
+extern const u8 gMonBackPic_Cleffa[];
+extern const u8 gMonShinyPalette_Cleffa[];
+extern const u8 gMonIcon_Cleffa[];
+extern const u8 gMonFootprint_Cleffa[];
+extern const u8 gMonFrontPic_Igglybuff[];
+extern const u8 gMonPalette_Igglybuff[];
+extern const u8 gMonBackPic_Igglybuff[];
+extern const u8 gMonShinyPalette_Igglybuff[];
+extern const u8 gMonIcon_Igglybuff[];
+extern const u8 gMonFootprint_Igglybuff[];
+extern const u8 gMonFrontPic_Togepi[];
+extern const u8 gMonPalette_Togepi[];
+extern const u8 gMonBackPic_Togepi[];
+extern const u8 gMonShinyPalette_Togepi[];
+extern const u8 gMonIcon_Togepi[];
+extern const u8 gMonFootprint_Togepi[];
+extern const u8 gMonFrontPic_Togetic[];
+extern const u8 gMonPalette_Togetic[];
+extern const u8 gMonBackPic_Togetic[];
+extern const u8 gMonShinyPalette_Togetic[];
+extern const u8 gMonIcon_Togetic[];
+extern const u8 gMonFootprint_Togetic[];
+extern const u8 gMonFrontPic_Natu[];
+extern const u8 gMonPalette_Natu[];
+extern const u8 gMonBackPic_Natu[];
+extern const u8 gMonShinyPalette_Natu[];
+extern const u8 gMonIcon_Natu[];
+extern const u8 gMonFootprint_Natu[];
+extern const u8 gMonFrontPic_Xatu[];
+extern const u8 gMonPalette_Xatu[];
+extern const u8 gMonBackPic_Xatu[];
+extern const u8 gMonShinyPalette_Xatu[];
+extern const u8 gMonIcon_Xatu[];
+extern const u8 gMonFootprint_Xatu[];
+extern const u8 gMonFrontPic_Mareep[];
+extern const u8 gMonPalette_Mareep[];
+extern const u8 gMonBackPic_Mareep[];
+extern const u8 gMonShinyPalette_Mareep[];
+extern const u8 gMonIcon_Mareep[];
+extern const u8 gMonFootprint_Mareep[];
+extern const u8 gMonFrontPic_Flaaffy[];
+extern const u8 gMonPalette_Flaaffy[];
+extern const u8 gMonBackPic_Flaaffy[];
+extern const u8 gMonShinyPalette_Flaaffy[];
+extern const u8 gMonIcon_Flaaffy[];
+extern const u8 gMonFootprint_Flaaffy[];
+extern const u8 gMonFrontPic_Ampharos[];
+extern const u8 gMonPalette_Ampharos[];
+extern const u8 gMonBackPic_Ampharos[];
+extern const u8 gMonShinyPalette_Ampharos[];
+extern const u8 gMonIcon_Ampharos[];
+extern const u8 gMonFootprint_Ampharos[];
+extern const u8 gMonFrontPic_Bellossom[];
+extern const u8 gMonPalette_Bellossom[];
+extern const u8 gMonBackPic_Bellossom[];
+extern const u8 gMonShinyPalette_Bellossom[];
+extern const u8 gMonIcon_Bellossom[];
+extern const u8 gMonFootprint_Bellossom[];
+extern const u8 gMonFrontPic_Marill[];
+extern const u8 gMonPalette_Marill[];
+extern const u8 gMonBackPic_Marill[];
+extern const u8 gMonShinyPalette_Marill[];
+extern const u8 gMonIcon_Marill[];
+extern const u8 gMonFootprint_Marill[];
+extern const u8 gMonFrontPic_Azumarill[];
+extern const u8 gMonPalette_Azumarill[];
+extern const u8 gMonBackPic_Azumarill[];
+extern const u8 gMonShinyPalette_Azumarill[];
+extern const u8 gMonIcon_Azumarill[];
+extern const u8 gMonFootprint_Azumarill[];
+extern const u8 gMonFrontPic_Sudowoodo[];
+extern const u8 gMonPalette_Sudowoodo[];
+extern const u8 gMonBackPic_Sudowoodo[];
+extern const u8 gMonShinyPalette_Sudowoodo[];
+extern const u8 gMonIcon_Sudowoodo[];
+extern const u8 gMonFootprint_Sudowoodo[];
+extern const u8 gMonFrontPic_Politoed[];
+extern const u8 gMonPalette_Politoed[];
+extern const u8 gMonBackPic_Politoed[];
+extern const u8 gMonShinyPalette_Politoed[];
+extern const u8 gMonIcon_Politoed[];
+extern const u8 gMonFootprint_Politoed[];
+extern const u8 gMonFrontPic_Hoppip[];
+extern const u8 gMonPalette_Hoppip[];
+extern const u8 gMonBackPic_Hoppip[];
+extern const u8 gMonShinyPalette_Hoppip[];
+extern const u8 gMonIcon_Hoppip[];
+extern const u8 gMonFootprint_Hoppip[];
+extern const u8 gMonFrontPic_Skiploom[];
+extern const u8 gMonPalette_Skiploom[];
+extern const u8 gMonBackPic_Skiploom[];
+extern const u8 gMonShinyPalette_Skiploom[];
+extern const u8 gMonIcon_Skiploom[];
+extern const u8 gMonFootprint_Skiploom[];
+extern const u8 gMonFrontPic_Jumpluff[];
+extern const u8 gMonPalette_Jumpluff[];
+extern const u8 gMonBackPic_Jumpluff[];
+extern const u8 gMonShinyPalette_Jumpluff[];
+extern const u8 gMonIcon_Jumpluff[];
+extern const u8 gMonFootprint_Jumpluff[];
+extern const u8 gMonFrontPic_Aipom[];
+extern const u8 gMonPalette_Aipom[];
+extern const u8 gMonBackPic_Aipom[];
+extern const u8 gMonShinyPalette_Aipom[];
+extern const u8 gMonIcon_Aipom[];
+extern const u8 gMonFootprint_Aipom[];
+extern const u8 gMonFrontPic_Sunkern[];
+extern const u8 gMonPalette_Sunkern[];
+extern const u8 gMonBackPic_Sunkern[];
+extern const u8 gMonShinyPalette_Sunkern[];
+extern const u8 gMonIcon_Sunkern[];
+extern const u8 gMonFootprint_Sunkern[];
+extern const u8 gMonFrontPic_Sunflora[];
+extern const u8 gMonPalette_Sunflora[];
+extern const u8 gMonBackPic_Sunflora[];
+extern const u8 gMonShinyPalette_Sunflora[];
+extern const u8 gMonIcon_Sunflora[];
+extern const u8 gMonFootprint_Sunflora[];
+extern const u8 gMonFrontPic_Yanma[];
+extern const u8 gMonPalette_Yanma[];
+extern const u8 gMonBackPic_Yanma[];
+extern const u8 gMonShinyPalette_Yanma[];
+extern const u8 gMonIcon_Yanma[];
+extern const u8 gMonFootprint_Yanma[];
+extern const u8 gMonFrontPic_Wooper[];
+extern const u8 gMonPalette_Wooper[];
+extern const u8 gMonBackPic_Wooper[];
+extern const u8 gMonShinyPalette_Wooper[];
+extern const u8 gMonIcon_Wooper[];
+extern const u8 gMonFootprint_Wooper[];
+extern const u8 gMonFrontPic_Quagsire[];
+extern const u8 gMonPalette_Quagsire[];
+extern const u8 gMonBackPic_Quagsire[];
+extern const u8 gMonShinyPalette_Quagsire[];
+extern const u8 gMonIcon_Quagsire[];
+extern const u8 gMonFootprint_Quagsire[];
+extern const u8 gMonFrontPic_Espeon[];
+extern const u8 gMonPalette_Espeon[];
+extern const u8 gMonBackPic_Espeon[];
+extern const u8 gMonShinyPalette_Espeon[];
+extern const u8 gMonIcon_Espeon[];
+extern const u8 gMonFootprint_Espeon[];
+extern const u8 gMonFrontPic_Umbreon[];
+extern const u8 gMonPalette_Umbreon[];
+extern const u8 gMonBackPic_Umbreon[];
+extern const u8 gMonShinyPalette_Umbreon[];
+extern const u8 gMonIcon_Umbreon[];
+extern const u8 gMonFootprint_Umbreon[];
+extern const u8 gMonFrontPic_Murkrow[];
+extern const u8 gMonPalette_Murkrow[];
+extern const u8 gMonBackPic_Murkrow[];
+extern const u8 gMonShinyPalette_Murkrow[];
+extern const u8 gMonIcon_Murkrow[];
+extern const u8 gMonFootprint_Murkrow[];
+extern const u8 gMonFrontPic_Slowking[];
+extern const u8 gMonPalette_Slowking[];
+extern const u8 gMonBackPic_Slowking[];
+extern const u8 gMonShinyPalette_Slowking[];
+extern const u8 gMonIcon_Slowking[];
+extern const u8 gMonFootprint_Slowking[];
+extern const u8 gMonFrontPic_Misdreavus[];
+extern const u8 gMonPalette_Misdreavus[];
+extern const u8 gMonBackPic_Misdreavus[];
+extern const u8 gMonShinyPalette_Misdreavus[];
+extern const u8 gMonIcon_Misdreavus[];
+extern const u8 gMonFootprint_Misdreavus[];
+extern const u8 gMonFrontPic_UnownA[];
+extern const u8 gMonPalette_Unown[];
+extern const u8 gMonBackPic_UnownA[];
+extern const u8 gMonShinyPalette_Unown[];
+extern const u8 gMonIcon_UnownA[];
+extern const u8 gMonFootprint_Unown[];
+extern const u8 gMonFrontPic_Wobbuffet[];
+extern const u8 gMonPalette_Wobbuffet[];
+extern const u8 gMonBackPic_Wobbuffet[];
+extern const u8 gMonShinyPalette_Wobbuffet[];
+extern const u8 gMonIcon_Wobbuffet[];
+extern const u8 gMonFootprint_Wobbuffet[];
+extern const u8 gMonFrontPic_Girafarig[];
+extern const u8 gMonPalette_Girafarig[];
+extern const u8 gMonBackPic_Girafarig[];
+extern const u8 gMonShinyPalette_Girafarig[];
+extern const u8 gMonIcon_Girafarig[];
+extern const u8 gMonFootprint_Girafarig[];
+extern const u8 gMonFrontPic_Pineco[];
+extern const u8 gMonPalette_Pineco[];
+extern const u8 gMonBackPic_Pineco[];
+extern const u8 gMonShinyPalette_Pineco[];
+extern const u8 gMonIcon_Pineco[];
+extern const u8 gMonFootprint_Pineco[];
+extern const u8 gMonFrontPic_Forretress[];
+extern const u8 gMonPalette_Forretress[];
+extern const u8 gMonBackPic_Forretress[];
+extern const u8 gMonShinyPalette_Forretress[];
+extern const u8 gMonIcon_Forretress[];
+extern const u8 gMonFootprint_Forretress[];
+extern const u8 gMonFrontPic_Dunsparce[];
+extern const u8 gMonPalette_Dunsparce[];
+extern const u8 gMonBackPic_Dunsparce[];
+extern const u8 gMonShinyPalette_Dunsparce[];
+extern const u8 gMonIcon_Dunsparce[];
+extern const u8 gMonFootprint_Dunsparce[];
+extern const u8 gMonFrontPic_Gligar[];
+extern const u8 gMonPalette_Gligar[];
+extern const u8 gMonBackPic_Gligar[];
+extern const u8 gMonShinyPalette_Gligar[];
+extern const u8 gMonIcon_Gligar[];
+extern const u8 gMonFootprint_Gligar[];
+extern const u8 gMonFrontPic_Steelix[];
+extern const u8 gMonPalette_Steelix[];
+extern const u8 gMonBackPic_Steelix[];
+extern const u8 gMonShinyPalette_Steelix[];
+extern const u8 gMonIcon_Steelix[];
+extern const u8 gMonFootprint_Steelix[];
+extern const u8 gMonFrontPic_Snubbull[];
+extern const u8 gMonPalette_Snubbull[];
+extern const u8 gMonBackPic_Snubbull[];
+extern const u8 gMonShinyPalette_Snubbull[];
+extern const u8 gMonIcon_Snubbull[];
+extern const u8 gMonFootprint_Snubbull[];
+extern const u8 gMonFrontPic_Granbull[];
+extern const u8 gMonPalette_Granbull[];
+extern const u8 gMonBackPic_Granbull[];
+extern const u8 gMonShinyPalette_Granbull[];
+extern const u8 gMonIcon_Granbull[];
+extern const u8 gMonFootprint_Granbull[];
+extern const u8 gMonFrontPic_Qwilfish[];
+extern const u8 gMonPalette_Qwilfish[];
+extern const u8 gMonBackPic_Qwilfish[];
+extern const u8 gMonShinyPalette_Qwilfish[];
+extern const u8 gMonIcon_Qwilfish[];
+extern const u8 gMonFootprint_Qwilfish[];
+extern const u8 gMonFrontPic_Scizor[];
+extern const u8 gMonPalette_Scizor[];
+extern const u8 gMonBackPic_Scizor[];
+extern const u8 gMonShinyPalette_Scizor[];
+extern const u8 gMonIcon_Scizor[];
+extern const u8 gMonFootprint_Scizor[];
+extern const u8 gMonFrontPic_Shuckle[];
+extern const u8 gMonPalette_Shuckle[];
+extern const u8 gMonBackPic_Shuckle[];
+extern const u8 gMonShinyPalette_Shuckle[];
+extern const u8 gMonIcon_Shuckle[];
+extern const u8 gMonFootprint_Shuckle[];
+extern const u8 gMonFrontPic_Heracross[];
+extern const u8 gMonPalette_Heracross[];
+extern const u8 gMonBackPic_Heracross[];
+extern const u8 gMonShinyPalette_Heracross[];
+extern const u8 gMonIcon_Heracross[];
+extern const u8 gMonFootprint_Heracross[];
+extern const u8 gMonFrontPic_Sneasel[];
+extern const u8 gMonPalette_Sneasel[];
+extern const u8 gMonBackPic_Sneasel[];
+extern const u8 gMonShinyPalette_Sneasel[];
+extern const u8 gMonIcon_Sneasel[];
+extern const u8 gMonFootprint_Sneasel[];
+extern const u8 gMonFrontPic_Teddiursa[];
+extern const u8 gMonPalette_Teddiursa[];
+extern const u8 gMonBackPic_Teddiursa[];
+extern const u8 gMonShinyPalette_Teddiursa[];
+extern const u8 gMonIcon_Teddiursa[];
+extern const u8 gMonFootprint_Teddiursa[];
+extern const u8 gMonFrontPic_Ursaring[];
+extern const u8 gMonPalette_Ursaring[];
+extern const u8 gMonBackPic_Ursaring[];
+extern const u8 gMonShinyPalette_Ursaring[];
+extern const u8 gMonIcon_Ursaring[];
+extern const u8 gMonFootprint_Ursaring[];
+extern const u8 gMonFrontPic_Slugma[];
+extern const u8 gMonPalette_Slugma[];
+extern const u8 gMonBackPic_Slugma[];
+extern const u8 gMonShinyPalette_Slugma[];
+extern const u8 gMonIcon_Slugma[];
+extern const u8 gMonFootprint_Slugma[];
+extern const u8 gMonFrontPic_Magcargo[];
+extern const u8 gMonPalette_Magcargo[];
+extern const u8 gMonBackPic_Magcargo[];
+extern const u8 gMonShinyPalette_Magcargo[];
+extern const u8 gMonIcon_Magcargo[];
+extern const u8 gMonFootprint_Magcargo[];
+extern const u8 gMonFrontPic_Swinub[];
+extern const u8 gMonPalette_Swinub[];
+extern const u8 gMonBackPic_Swinub[];
+extern const u8 gMonShinyPalette_Swinub[];
+extern const u8 gMonIcon_Swinub[];
+extern const u8 gMonFootprint_Swinub[];
+extern const u8 gMonFrontPic_Piloswine[];
+extern const u8 gMonPalette_Piloswine[];
+extern const u8 gMonBackPic_Piloswine[];
+extern const u8 gMonShinyPalette_Piloswine[];
+extern const u8 gMonIcon_Piloswine[];
+extern const u8 gMonFootprint_Piloswine[];
+extern const u8 gMonFrontPic_Corsola[];
+extern const u8 gMonPalette_Corsola[];
+extern const u8 gMonBackPic_Corsola[];
+extern const u8 gMonShinyPalette_Corsola[];
+extern const u8 gMonIcon_Corsola[];
+extern const u8 gMonFootprint_Corsola[];
+extern const u8 gMonFrontPic_Remoraid[];
+extern const u8 gMonPalette_Remoraid[];
+extern const u8 gMonBackPic_Remoraid[];
+extern const u8 gMonShinyPalette_Remoraid[];
+extern const u8 gMonIcon_Remoraid[];
+extern const u8 gMonFootprint_Remoraid[];
+extern const u8 gMonFrontPic_Octillery[];
+extern const u8 gMonPalette_Octillery[];
+extern const u8 gMonBackPic_Octillery[];
+extern const u8 gMonShinyPalette_Octillery[];
+extern const u8 gMonIcon_Octillery[];
+extern const u8 gMonFootprint_Octillery[];
+extern const u8 gMonFrontPic_Delibird[];
+extern const u8 gMonPalette_Delibird[];
+extern const u8 gMonBackPic_Delibird[];
+extern const u8 gMonShinyPalette_Delibird[];
+extern const u8 gMonIcon_Delibird[];
+extern const u8 gMonFootprint_Delibird[];
+extern const u8 gMonFrontPic_Mantine[];
+extern const u8 gMonPalette_Mantine[];
+extern const u8 gMonBackPic_Mantine[];
+extern const u8 gMonShinyPalette_Mantine[];
+extern const u8 gMonIcon_Mantine[];
+extern const u8 gMonFootprint_Mantine[];
+extern const u8 gMonFrontPic_Skarmory[];
+extern const u8 gMonPalette_Skarmory[];
+extern const u8 gMonBackPic_Skarmory[];
+extern const u8 gMonShinyPalette_Skarmory[];
+extern const u8 gMonIcon_Skarmory[];
+extern const u8 gMonFootprint_Skarmory[];
+extern const u8 gMonFrontPic_Houndour[];
+extern const u8 gMonPalette_Houndour[];
+extern const u8 gMonBackPic_Houndour[];
+extern const u8 gMonShinyPalette_Houndour[];
+extern const u8 gMonIcon_Houndour[];
+extern const u8 gMonFootprint_Houndour[];
+extern const u8 gMonFrontPic_Houndoom[];
+extern const u8 gMonPalette_Houndoom[];
+extern const u8 gMonBackPic_Houndoom[];
+extern const u8 gMonShinyPalette_Houndoom[];
+extern const u8 gMonIcon_Houndoom[];
+extern const u8 gMonFootprint_Houndoom[];
+extern const u8 gMonFrontPic_Kingdra[];
+extern const u8 gMonPalette_Kingdra[];
+extern const u8 gMonBackPic_Kingdra[];
+extern const u8 gMonShinyPalette_Kingdra[];
+extern const u8 gMonIcon_Kingdra[];
+extern const u8 gMonFootprint_Kingdra[];
+extern const u8 gMonFrontPic_Phanpy[];
+extern const u8 gMonPalette_Phanpy[];
+extern const u8 gMonBackPic_Phanpy[];
+extern const u8 gMonShinyPalette_Phanpy[];
+extern const u8 gMonIcon_Phanpy[];
+extern const u8 gMonFootprint_Phanpy[];
+extern const u8 gMonFrontPic_Donphan[];
+extern const u8 gMonPalette_Donphan[];
+extern const u8 gMonBackPic_Donphan[];
+extern const u8 gMonShinyPalette_Donphan[];
+extern const u8 gMonIcon_Donphan[];
+extern const u8 gMonFootprint_Donphan[];
+extern const u8 gMonFrontPic_Porygon2[];
+extern const u8 gMonPalette_Porygon2[];
+extern const u8 gMonBackPic_Porygon2[];
+extern const u8 gMonShinyPalette_Porygon2[];
+extern const u8 gMonIcon_Porygon2[];
+extern const u8 gMonFootprint_Porygon2[];
+extern const u8 gMonFrontPic_Stantler[];
+extern const u8 gMonPalette_Stantler[];
+extern const u8 gMonBackPic_Stantler[];
+extern const u8 gMonShinyPalette_Stantler[];
+extern const u8 gMonIcon_Stantler[];
+extern const u8 gMonFootprint_Stantler[];
+extern const u8 gMonFrontPic_Smeargle[];
+extern const u8 gMonPalette_Smeargle[];
+extern const u8 gMonBackPic_Smeargle[];
+extern const u8 gMonShinyPalette_Smeargle[];
+extern const u8 gMonIcon_Smeargle[];
+extern const u8 gMonFootprint_Smeargle[];
+extern const u8 gMonFrontPic_Tyrogue[];
+extern const u8 gMonPalette_Tyrogue[];
+extern const u8 gMonBackPic_Tyrogue[];
+extern const u8 gMonShinyPalette_Tyrogue[];
+extern const u8 gMonIcon_Tyrogue[];
+extern const u8 gMonFootprint_Tyrogue[];
+extern const u8 gMonFrontPic_Hitmontop[];
+extern const u8 gMonPalette_Hitmontop[];
+extern const u8 gMonBackPic_Hitmontop[];
+extern const u8 gMonShinyPalette_Hitmontop[];
+extern const u8 gMonIcon_Hitmontop[];
+extern const u8 gMonFootprint_Hitmontop[];
+extern const u8 gMonFrontPic_Smoochum[];
+extern const u8 gMonPalette_Smoochum[];
+extern const u8 gMonBackPic_Smoochum[];
+extern const u8 gMonShinyPalette_Smoochum[];
+extern const u8 gMonIcon_Smoochum[];
+extern const u8 gMonFootprint_Smoochum[];
+extern const u8 gMonFrontPic_Elekid[];
+extern const u8 gMonPalette_Elekid[];
+extern const u8 gMonBackPic_Elekid[];
+extern const u8 gMonShinyPalette_Elekid[];
+extern const u8 gMonIcon_Elekid[];
+extern const u8 gMonFootprint_Elekid[];
+extern const u8 gMonFrontPic_Magby[];
+extern const u8 gMonPalette_Magby[];
+extern const u8 gMonBackPic_Magby[];
+extern const u8 gMonShinyPalette_Magby[];
+extern const u8 gMonIcon_Magby[];
+extern const u8 gMonFootprint_Magby[];
+extern const u8 gMonFrontPic_Miltank[];
+extern const u8 gMonPalette_Miltank[];
+extern const u8 gMonBackPic_Miltank[];
+extern const u8 gMonShinyPalette_Miltank[];
+extern const u8 gMonIcon_Miltank[];
+extern const u8 gMonFootprint_Miltank[];
+extern const u8 gMonFrontPic_Blissey[];
+extern const u8 gMonPalette_Blissey[];
+extern const u8 gMonBackPic_Blissey[];
+extern const u8 gMonShinyPalette_Blissey[];
+extern const u8 gMonIcon_Blissey[];
+extern const u8 gMonFootprint_Blissey[];
+extern const u8 gMonFrontPic_Raikou[];
+extern const u8 gMonPalette_Raikou[];
+extern const u8 gMonBackPic_Raikou[];
+extern const u8 gMonShinyPalette_Raikou[];
+extern const u8 gMonIcon_Raikou[];
+extern const u8 gMonFootprint_Raikou[];
+extern const u8 gMonFrontPic_Entei[];
+extern const u8 gMonPalette_Entei[];
+extern const u8 gMonBackPic_Entei[];
+extern const u8 gMonShinyPalette_Entei[];
+extern const u8 gMonIcon_Entei[];
+extern const u8 gMonFootprint_Entei[];
+extern const u8 gMonFrontPic_Suicune[];
+extern const u8 gMonPalette_Suicune[];
+extern const u8 gMonBackPic_Suicune[];
+extern const u8 gMonShinyPalette_Suicune[];
+extern const u8 gMonIcon_Suicune[];
+extern const u8 gMonFootprint_Suicune[];
+extern const u8 gMonFrontPic_Larvitar[];
+extern const u8 gMonPalette_Larvitar[];
+extern const u8 gMonBackPic_Larvitar[];
+extern const u8 gMonShinyPalette_Larvitar[];
+extern const u8 gMonIcon_Larvitar[];
+extern const u8 gMonFootprint_Larvitar[];
+extern const u8 gMonFrontPic_Pupitar[];
+extern const u8 gMonPalette_Pupitar[];
+extern const u8 gMonBackPic_Pupitar[];
+extern const u8 gMonShinyPalette_Pupitar[];
+extern const u8 gMonIcon_Pupitar[];
+extern const u8 gMonFootprint_Pupitar[];
+extern const u8 gMonFrontPic_Tyranitar[];
+extern const u8 gMonPalette_Tyranitar[];
+extern const u8 gMonBackPic_Tyranitar[];
+extern const u8 gMonShinyPalette_Tyranitar[];
+extern const u8 gMonIcon_Tyranitar[];
+extern const u8 gMonFootprint_Tyranitar[];
+extern const u8 gMonFrontPic_Lugia[];
+extern const u8 gMonPalette_Lugia[];
+extern const u8 gMonBackPic_Lugia[];
+extern const u8 gMonShinyPalette_Lugia[];
+extern const u8 gMonIcon_Lugia[];
+extern const u8 gMonFootprint_Lugia[];
+extern const u8 gMonFrontPic_HoOh[];
+extern const u8 gMonPalette_HoOh[];
+extern const u8 gMonBackPic_HoOh[];
+extern const u8 gMonShinyPalette_HoOh[];
+extern const u8 gMonIcon_HoOh[];
+extern const u8 gMonFootprint_HoOh[];
+extern const u8 gMonFrontPic_Celebi[];
+extern const u8 gMonPalette_Celebi[];
+extern const u8 gMonBackPic_Celebi[];
+extern const u8 gMonShinyPalette_Celebi[];
+extern const u8 gMonIcon_Celebi[];
+extern const u8 gMonFootprint_Celebi[];
+extern const u8 gMonFrontPic_QuestionMark[];
+extern const u8 gMonPalette_QuestionMark[];
+extern const u8 gMonBackPic_QuestionMark[];
+extern const u8 gMonShinyPalette_QuestionMark[];
+extern const u8 gMonFrontPic_Treecko[];
+extern const u8 gMonPalette_Treecko[];
+extern const u8 gMonBackPic_Treecko[];
+extern const u8 gMonShinyPalette_Treecko[];
+extern const u8 gMonIcon_Treecko[];
+extern const u8 gMonFootprint_Treecko[];
+extern const u8 gMonFrontPic_Grovyle[];
+extern const u8 gMonPalette_Grovyle[];
+extern const u8 gMonBackPic_Grovyle[];
+extern const u8 gMonShinyPalette_Grovyle[];
+extern const u8 gMonIcon_Grovyle[];
+extern const u8 gMonFootprint_Grovyle[];
+extern const u8 gMonFrontPic_Sceptile[];
+extern const u8 gMonPalette_Sceptile[];
+extern const u8 gMonBackPic_Sceptile[];
+extern const u8 gMonShinyPalette_Sceptile[];
+extern const u8 gMonIcon_Sceptile[];
+extern const u8 gMonFootprint_Sceptile[];
+extern const u8 gMonFrontPic_Torchic[];
+extern const u8 gMonPalette_Torchic[];
+extern const u8 gMonBackPic_Torchic[];
+extern const u8 gMonShinyPalette_Torchic[];
+extern const u8 gMonIcon_Torchic[];
+extern const u8 gMonFootprint_Torchic[];
+extern const u8 gMonFrontPic_Combusken[];
+extern const u8 gMonPalette_Combusken[];
+extern const u8 gMonBackPic_Combusken[];
+extern const u8 gMonShinyPalette_Combusken[];
+extern const u8 gMonIcon_Combusken[];
+extern const u8 gMonFootprint_Combusken[];
+extern const u8 gMonFrontPic_Blaziken[];
+extern const u8 gMonPalette_Blaziken[];
+extern const u8 gMonBackPic_Blaziken[];
+extern const u8 gMonShinyPalette_Blaziken[];
+extern const u8 gMonIcon_Blaziken[];
+extern const u8 gMonFootprint_Blaziken[];
+extern const u8 gMonFrontPic_Mudkip[];
+extern const u8 gMonPalette_Mudkip[];
+extern const u8 gMonBackPic_Mudkip[];
+extern const u8 gMonShinyPalette_Mudkip[];
+extern const u8 gMonIcon_Mudkip[];
+extern const u8 gMonFootprint_Mudkip[];
+extern const u8 gMonFrontPic_Marshtomp[];
+extern const u8 gMonPalette_Marshtomp[];
+extern const u8 gMonBackPic_Marshtomp[];
+extern const u8 gMonShinyPalette_Marshtomp[];
+extern const u8 gMonIcon_Marshtomp[];
+extern const u8 gMonFootprint_Marshtomp[];
+extern const u8 gMonFrontPic_Swampert[];
+extern const u8 gMonPalette_Swampert[];
+extern const u8 gMonBackPic_Swampert[];
+extern const u8 gMonShinyPalette_Swampert[];
+extern const u8 gMonIcon_Swampert[];
+extern const u8 gMonFootprint_Swampert[];
+extern const u8 gMonFrontPic_Poochyena[];
+extern const u8 gMonPalette_Poochyena[];
+extern const u8 gMonBackPic_Poochyena[];
+extern const u8 gMonShinyPalette_Poochyena[];
+extern const u8 gMonIcon_Poochyena[];
+extern const u8 gMonFootprint_Poochyena[];
+extern const u8 gMonFrontPic_Mightyena[];
+extern const u8 gMonPalette_Mightyena[];
+extern const u8 gMonBackPic_Mightyena[];
+extern const u8 gMonShinyPalette_Mightyena[];
+extern const u8 gMonIcon_Mightyena[];
+extern const u8 gMonFootprint_Mightyena[];
+extern const u8 gMonFrontPic_Zigzagoon[];
+extern const u8 gMonPalette_Zigzagoon[];
+extern const u8 gMonBackPic_Zigzagoon[];
+extern const u8 gMonShinyPalette_Zigzagoon[];
+extern const u8 gMonIcon_Zigzagoon[];
+extern const u8 gMonFootprint_Zigzagoon[];
+extern const u8 gMonFrontPic_Linoone[];
+extern const u8 gMonPalette_Linoone[];
+extern const u8 gMonBackPic_Linoone[];
+extern const u8 gMonShinyPalette_Linoone[];
+extern const u8 gMonIcon_Linoone[];
+extern const u8 gMonFootprint_Linoone[];
+extern const u8 gMonFrontPic_Wurmple[];
+extern const u8 gMonPalette_Wurmple[];
+extern const u8 gMonBackPic_Wurmple[];
+extern const u8 gMonShinyPalette_Wurmple[];
+extern const u8 gMonIcon_Wurmple[];
+extern const u8 gMonFootprint_Wurmple[];
+extern const u8 gMonFrontPic_Silcoon[];
+extern const u8 gMonPalette_Silcoon[];
+extern const u8 gMonBackPic_Silcoon[];
+extern const u8 gMonShinyPalette_Silcoon[];
+extern const u8 gMonIcon_Silcoon[];
+extern const u8 gMonFootprint_Silcoon[];
+extern const u8 gMonFrontPic_Beautifly[];
+extern const u8 gMonPalette_Beautifly[];
+extern const u8 gMonBackPic_Beautifly[];
+extern const u8 gMonShinyPalette_Beautifly[];
+extern const u8 gMonIcon_Beautifly[];
+extern const u8 gMonFootprint_Beautifly[];
+extern const u8 gMonFrontPic_Cascoon[];
+extern const u8 gMonPalette_Cascoon[];
+extern const u8 gMonBackPic_Cascoon[];
+extern const u8 gMonShinyPalette_Cascoon[];
+extern const u8 gMonIcon_Cascoon[];
+extern const u8 gMonFootprint_Cascoon[];
+extern const u8 gMonFrontPic_Dustox[];
+extern const u8 gMonPalette_Dustox[];
+extern const u8 gMonBackPic_Dustox[];
+extern const u8 gMonShinyPalette_Dustox[];
+extern const u8 gMonIcon_Dustox[];
+extern const u8 gMonFootprint_Dustox[];
+extern const u8 gMonFrontPic_Lotad[];
+extern const u8 gMonPalette_Lotad[];
+extern const u8 gMonBackPic_Lotad[];
+extern const u8 gMonShinyPalette_Lotad[];
+extern const u8 gMonIcon_Lotad[];
+extern const u8 gMonFootprint_Lotad[];
+extern const u8 gMonFrontPic_Lombre[];
+extern const u8 gMonPalette_Lombre[];
+extern const u8 gMonBackPic_Lombre[];
+extern const u8 gMonShinyPalette_Lombre[];
+extern const u8 gMonIcon_Lombre[];
+extern const u8 gMonFootprint_Lombre[];
+extern const u8 gMonFrontPic_Ludicolo[];
+extern const u8 gMonPalette_Ludicolo[];
+extern const u8 gMonBackPic_Ludicolo[];
+extern const u8 gMonShinyPalette_Ludicolo[];
+extern const u8 gMonIcon_Ludicolo[];
+extern const u8 gMonFootprint_Ludicolo[];
+extern const u8 gMonFrontPic_Seedot[];
+extern const u8 gMonPalette_Seedot[];
+extern const u8 gMonBackPic_Seedot[];
+extern const u8 gMonShinyPalette_Seedot[];
+extern const u8 gMonIcon_Seedot[];
+extern const u8 gMonFootprint_Seedot[];
+extern const u8 gMonFrontPic_Nuzleaf[];
+extern const u8 gMonPalette_Nuzleaf[];
+extern const u8 gMonBackPic_Nuzleaf[];
+extern const u8 gMonShinyPalette_Nuzleaf[];
+extern const u8 gMonIcon_Nuzleaf[];
+extern const u8 gMonFootprint_Nuzleaf[];
+extern const u8 gMonFrontPic_Shiftry[];
+extern const u8 gMonPalette_Shiftry[];
+extern const u8 gMonBackPic_Shiftry[];
+extern const u8 gMonShinyPalette_Shiftry[];
+extern const u8 gMonIcon_Shiftry[];
+extern const u8 gMonFootprint_Shiftry[];
+extern const u8 gMonFrontPic_Nincada[];
+extern const u8 gMonPalette_Nincada[];
+extern const u8 gMonBackPic_Nincada[];
+extern const u8 gMonShinyPalette_Nincada[];
+extern const u8 gMonIcon_Nincada[];
+extern const u8 gMonFootprint_Nincada[];
+extern const u8 gMonFrontPic_Ninjask[];
+extern const u8 gMonPalette_Ninjask[];
+extern const u8 gMonBackPic_Ninjask[];
+extern const u8 gMonShinyPalette_Ninjask[];
+extern const u8 gMonIcon_Ninjask[];
+extern const u8 gMonFootprint_Ninjask[];
+extern const u8 gMonFrontPic_Shedinja[];
+extern const u8 gMonPalette_Shedinja[];
+extern const u8 gMonBackPic_Shedinja[];
+extern const u8 gMonShinyPalette_Shedinja[];
+extern const u8 gMonIcon_Shedinja[];
+extern const u8 gMonFootprint_Shedinja[];
+extern const u8 gMonFrontPic_Taillow[];
+extern const u8 gMonPalette_Taillow[];
+extern const u8 gMonBackPic_Taillow[];
+extern const u8 gMonShinyPalette_Taillow[];
+extern const u8 gMonIcon_Taillow[];
+extern const u8 gMonFootprint_Taillow[];
+extern const u8 gMonFrontPic_Swellow[];
+extern const u8 gMonPalette_Swellow[];
+extern const u8 gMonBackPic_Swellow[];
+extern const u8 gMonShinyPalette_Swellow[];
+extern const u8 gMonIcon_Swellow[];
+extern const u8 gMonFootprint_Swellow[];
+extern const u8 gMonFrontPic_Shroomish[];
+extern const u8 gMonPalette_Shroomish[];
+extern const u8 gMonBackPic_Shroomish[];
+extern const u8 gMonShinyPalette_Shroomish[];
+extern const u8 gMonIcon_Shroomish[];
+extern const u8 gMonFootprint_Shroomish[];
+extern const u8 gMonFrontPic_Breloom[];
+extern const u8 gMonPalette_Breloom[];
+extern const u8 gMonBackPic_Breloom[];
+extern const u8 gMonShinyPalette_Breloom[];
+extern const u8 gMonIcon_Breloom[];
+extern const u8 gMonFootprint_Breloom[];
+extern const u8 gMonFrontPic_Spinda[];
+extern const u8 gMonPalette_Spinda[];
+extern const u8 gMonBackPic_Spinda[];
+extern const u8 gMonShinyPalette_Spinda[];
+extern const u8 gMonIcon_Spinda[];
+extern const u8 gMonFootprint_Spinda[];
+extern const u8 gMonFrontPic_Wingull[];
+extern const u8 gMonPalette_Wingull[];
+extern const u8 gMonBackPic_Wingull[];
+extern const u8 gMonShinyPalette_Wingull[];
+extern const u8 gMonIcon_Wingull[];
+extern const u8 gMonFootprint_Wingull[];
+extern const u8 gMonFrontPic_Pelipper[];
+extern const u8 gMonPalette_Pelipper[];
+extern const u8 gMonBackPic_Pelipper[];
+extern const u8 gMonShinyPalette_Pelipper[];
+extern const u8 gMonIcon_Pelipper[];
+extern const u8 gMonFootprint_Pelipper[];
+extern const u8 gMonFrontPic_Surskit[];
+extern const u8 gMonPalette_Surskit[];
+extern const u8 gMonBackPic_Surskit[];
+extern const u8 gMonShinyPalette_Surskit[];
+extern const u8 gMonIcon_Surskit[];
+extern const u8 gMonFootprint_Surskit[];
+extern const u8 gMonFrontPic_Masquerain[];
+extern const u8 gMonPalette_Masquerain[];
+extern const u8 gMonBackPic_Masquerain[];
+extern const u8 gMonShinyPalette_Masquerain[];
+extern const u8 gMonIcon_Masquerain[];
+extern const u8 gMonFootprint_Masquerain[];
+extern const u8 gMonFrontPic_Wailmer[];
+extern const u8 gMonPalette_Wailmer[];
+extern const u8 gMonBackPic_Wailmer[];
+extern const u8 gMonShinyPalette_Wailmer[];
+extern const u8 gMonIcon_Wailmer[];
+extern const u8 gMonFootprint_Wailmer[];
+extern const u8 gMonFrontPic_Wailord[];
+extern const u8 gMonPalette_Wailord[];
+extern const u8 gMonBackPic_Wailord[];
+extern const u8 gMonShinyPalette_Wailord[];
+extern const u8 gMonIcon_Wailord[];
+extern const u8 gMonFootprint_Wailord[];
+extern const u8 gMonFrontPic_Skitty[];
+extern const u8 gMonPalette_Skitty[];
+extern const u8 gMonBackPic_Skitty[];
+extern const u8 gMonShinyPalette_Skitty[];
+extern const u8 gMonIcon_Skitty[];
+extern const u8 gMonFootprint_Skitty[];
+extern const u8 gMonFrontPic_Delcatty[];
+extern const u8 gMonPalette_Delcatty[];
+extern const u8 gMonBackPic_Delcatty[];
+extern const u8 gMonShinyPalette_Delcatty[];
+extern const u8 gMonIcon_Delcatty[];
+extern const u8 gMonFootprint_Delcatty[];
+extern const u8 gMonFrontPic_Kecleon[];
+extern const u8 gMonPalette_Kecleon[];
+extern const u8 gMonBackPic_Kecleon[];
+extern const u8 gMonShinyPalette_Kecleon[];
+extern const u8 gMonIcon_Kecleon[];
+extern const u8 gMonFootprint_Kecleon[];
+extern const u8 gMonFrontPic_Baltoy[];
+extern const u8 gMonPalette_Baltoy[];
+extern const u8 gMonBackPic_Baltoy[];
+extern const u8 gMonShinyPalette_Baltoy[];
+extern const u8 gMonIcon_Baltoy[];
+extern const u8 gMonFootprint_Baltoy[];
+extern const u8 gMonFrontPic_Claydol[];
+extern const u8 gMonPalette_Claydol[];
+extern const u8 gMonBackPic_Claydol[];
+extern const u8 gMonShinyPalette_Claydol[];
+extern const u8 gMonIcon_Claydol[];
+extern const u8 gMonFootprint_Claydol[];
+extern const u8 gMonFrontPic_Nosepass[];
+extern const u8 gMonPalette_Nosepass[];
+extern const u8 gMonBackPic_Nosepass[];
+extern const u8 gMonShinyPalette_Nosepass[];
+extern const u8 gMonIcon_Nosepass[];
+extern const u8 gMonFootprint_Nosepass[];
+extern const u8 gMonFrontPic_Torkoal[];
+extern const u8 gMonPalette_Torkoal[];
+extern const u8 gMonBackPic_Torkoal[];
+extern const u8 gMonShinyPalette_Torkoal[];
+extern const u8 gMonIcon_Torkoal[];
+extern const u8 gMonFootprint_Torkoal[];
+extern const u8 gMonFrontPic_Sableye[];
+extern const u8 gMonPalette_Sableye[];
+extern const u8 gMonBackPic_Sableye[];
+extern const u8 gMonShinyPalette_Sableye[];
+extern const u8 gMonIcon_Sableye[];
+extern const u8 gMonFootprint_Sableye[];
+extern const u8 gMonFrontPic_Barboach[];
+extern const u8 gMonPalette_Barboach[];
+extern const u8 gMonBackPic_Barboach[];
+extern const u8 gMonShinyPalette_Barboach[];
+extern const u8 gMonIcon_Barboach[];
+extern const u8 gMonFootprint_Barboach[];
+extern const u8 gMonFrontPic_Whiscash[];
+extern const u8 gMonPalette_Whiscash[];
+extern const u8 gMonBackPic_Whiscash[];
+extern const u8 gMonShinyPalette_Whiscash[];
+extern const u8 gMonIcon_Whiscash[];
+extern const u8 gMonFootprint_Whiscash[];
+extern const u8 gMonFrontPic_Luvdisc[];
+extern const u8 gMonPalette_Luvdisc[];
+extern const u8 gMonBackPic_Luvdisc[];
+extern const u8 gMonShinyPalette_Luvdisc[];
+extern const u8 gMonIcon_Luvdisc[];
+extern const u8 gMonFootprint_Luvdisc[];
+extern const u8 gMonFrontPic_Corphish[];
+extern const u8 gMonPalette_Corphish[];
+extern const u8 gMonBackPic_Corphish[];
+extern const u8 gMonShinyPalette_Corphish[];
+extern const u8 gMonIcon_Corphish[];
+extern const u8 gMonFootprint_Corphish[];
+extern const u8 gMonFrontPic_Crawdaunt[];
+extern const u8 gMonPalette_Crawdaunt[];
+extern const u8 gMonBackPic_Crawdaunt[];
+extern const u8 gMonShinyPalette_Crawdaunt[];
+extern const u8 gMonIcon_Crawdaunt[];
+extern const u8 gMonFootprint_Crawdaunt[];
+extern const u8 gMonFrontPic_Feebas[];
+extern const u8 gMonPalette_Feebas[];
+extern const u8 gMonBackPic_Feebas[];
+extern const u8 gMonShinyPalette_Feebas[];
+extern const u8 gMonIcon_Feebas[];
+extern const u8 gMonFootprint_Feebas[];
+extern const u8 gMonFrontPic_Milotic[];
+extern const u8 gMonPalette_Milotic[];
+extern const u8 gMonBackPic_Milotic[];
+extern const u8 gMonShinyPalette_Milotic[];
+extern const u8 gMonIcon_Milotic[];
+extern const u8 gMonFootprint_Milotic[];
+extern const u8 gMonFrontPic_Carvanha[];
+extern const u8 gMonPalette_Carvanha[];
+extern const u8 gMonBackPic_Carvanha[];
+extern const u8 gMonShinyPalette_Carvanha[];
+extern const u8 gMonIcon_Carvanha[];
+extern const u8 gMonFootprint_Carvanha[];
+extern const u8 gMonFrontPic_Sharpedo[];
+extern const u8 gMonPalette_Sharpedo[];
+extern const u8 gMonBackPic_Sharpedo[];
+extern const u8 gMonShinyPalette_Sharpedo[];
+extern const u8 gMonIcon_Sharpedo[];
+extern const u8 gMonFootprint_Sharpedo[];
+extern const u8 gMonFrontPic_Trapinch[];
+extern const u8 gMonPalette_Trapinch[];
+extern const u8 gMonBackPic_Trapinch[];
+extern const u8 gMonShinyPalette_Trapinch[];
+extern const u8 gMonIcon_Trapinch[];
+extern const u8 gMonFootprint_Trapinch[];
+extern const u8 gMonFrontPic_Vibrava[];
+extern const u8 gMonPalette_Vibrava[];
+extern const u8 gMonBackPic_Vibrava[];
+extern const u8 gMonShinyPalette_Vibrava[];
+extern const u8 gMonIcon_Vibrava[];
+extern const u8 gMonFootprint_Vibrava[];
+extern const u8 gMonFrontPic_Flygon[];
+extern const u8 gMonPalette_Flygon[];
+extern const u8 gMonBackPic_Flygon[];
+extern const u8 gMonShinyPalette_Flygon[];
+extern const u8 gMonIcon_Flygon[];
+extern const u8 gMonFootprint_Flygon[];
+extern const u8 gMonFrontPic_Makuhita[];
+extern const u8 gMonPalette_Makuhita[];
+extern const u8 gMonBackPic_Makuhita[];
+extern const u8 gMonShinyPalette_Makuhita[];
+extern const u8 gMonIcon_Makuhita[];
+extern const u8 gMonFootprint_Makuhita[];
+extern const u8 gMonFrontPic_Hariyama[];
+extern const u8 gMonPalette_Hariyama[];
+extern const u8 gMonBackPic_Hariyama[];
+extern const u8 gMonShinyPalette_Hariyama[];
+extern const u8 gMonIcon_Hariyama[];
+extern const u8 gMonFootprint_Hariyama[];
+extern const u8 gMonFrontPic_Electrike[];
+extern const u8 gMonPalette_Electrike[];
+extern const u8 gMonBackPic_Electrike[];
+extern const u8 gMonShinyPalette_Electrike[];
+extern const u8 gMonIcon_Electrike[];
+extern const u8 gMonFootprint_Electrike[];
+extern const u8 gMonFrontPic_Manectric[];
+extern const u8 gMonPalette_Manectric[];
+extern const u8 gMonBackPic_Manectric[];
+extern const u8 gMonShinyPalette_Manectric[];
+extern const u8 gMonIcon_Manectric[];
+extern const u8 gMonFootprint_Manectric[];
+extern const u8 gMonFrontPic_Numel[];
+extern const u8 gMonPalette_Numel[];
+extern const u8 gMonBackPic_Numel[];
+extern const u8 gMonShinyPalette_Numel[];
+extern const u8 gMonIcon_Numel[];
+extern const u8 gMonFootprint_Numel[];
+extern const u8 gMonFrontPic_Camerupt[];
+extern const u8 gMonPalette_Camerupt[];
+extern const u8 gMonBackPic_Camerupt[];
+extern const u8 gMonShinyPalette_Camerupt[];
+extern const u8 gMonIcon_Camerupt[];
+extern const u8 gMonFootprint_Camerupt[];
+extern const u8 gMonFrontPic_Spheal[];
+extern const u8 gMonPalette_Spheal[];
+extern const u8 gMonBackPic_Spheal[];
+extern const u8 gMonShinyPalette_Spheal[];
+extern const u8 gMonIcon_Spheal[];
+extern const u8 gMonFootprint_Spheal[];
+extern const u8 gMonFrontPic_Sealeo[];
+extern const u8 gMonPalette_Sealeo[];
+extern const u8 gMonBackPic_Sealeo[];
+extern const u8 gMonShinyPalette_Sealeo[];
+extern const u8 gMonIcon_Sealeo[];
+extern const u8 gMonFootprint_Sealeo[];
+extern const u8 gMonFrontPic_Walrein[];
+extern const u8 gMonPalette_Walrein[];
+extern const u8 gMonBackPic_Walrein[];
+extern const u8 gMonShinyPalette_Walrein[];
+extern const u8 gMonIcon_Walrein[];
+extern const u8 gMonFootprint_Walrein[];
+extern const u8 gMonFrontPic_Cacnea[];
+extern const u8 gMonPalette_Cacnea[];
+extern const u8 gMonBackPic_Cacnea[];
+extern const u8 gMonShinyPalette_Cacnea[];
+extern const u8 gMonIcon_Cacnea[];
+extern const u8 gMonFootprint_Cacnea[];
+extern const u8 gMonFrontPic_Cacturne[];
+extern const u8 gMonPalette_Cacturne[];
+extern const u8 gMonBackPic_Cacturne[];
+extern const u8 gMonShinyPalette_Cacturne[];
+extern const u8 gMonIcon_Cacturne[];
+extern const u8 gMonFootprint_Cacturne[];
+extern const u8 gMonFrontPic_Snorunt[];
+extern const u8 gMonPalette_Snorunt[];
+extern const u8 gMonBackPic_Snorunt[];
+extern const u8 gMonShinyPalette_Snorunt[];
+extern const u8 gMonIcon_Snorunt[];
+extern const u8 gMonFootprint_Snorunt[];
+extern const u8 gMonFrontPic_Glalie[];
+extern const u8 gMonPalette_Glalie[];
+extern const u8 gMonBackPic_Glalie[];
+extern const u8 gMonShinyPalette_Glalie[];
+extern const u8 gMonIcon_Glalie[];
+extern const u8 gMonFootprint_Glalie[];
+extern const u8 gMonFrontPic_Lunatone[];
+extern const u8 gMonPalette_Lunatone[];
+extern const u8 gMonBackPic_Lunatone[];
+extern const u8 gMonShinyPalette_Lunatone[];
+extern const u8 gMonIcon_Lunatone[];
+extern const u8 gMonFootprint_Lunatone[];
+extern const u8 gMonFrontPic_Solrock[];
+extern const u8 gMonPalette_Solrock[];
+extern const u8 gMonBackPic_Solrock[];
+extern const u8 gMonShinyPalette_Solrock[];
+extern const u8 gMonIcon_Solrock[];
+extern const u8 gMonFootprint_Solrock[];
+extern const u8 gMonFrontPic_Azurill[];
+extern const u8 gMonPalette_Azurill[];
+extern const u8 gMonBackPic_Azurill[];
+extern const u8 gMonShinyPalette_Azurill[];
+extern const u8 gMonIcon_Azurill[];
+extern const u8 gMonFootprint_Azurill[];
+extern const u8 gMonFrontPic_Spoink[];
+extern const u8 gMonPalette_Spoink[];
+extern const u8 gMonBackPic_Spoink[];
+extern const u8 gMonShinyPalette_Spoink[];
+extern const u8 gMonIcon_Spoink[];
+extern const u8 gMonFootprint_Spoink[];
+extern const u8 gMonFrontPic_Grumpig[];
+extern const u8 gMonPalette_Grumpig[];
+extern const u8 gMonBackPic_Grumpig[];
+extern const u8 gMonShinyPalette_Grumpig[];
+extern const u8 gMonIcon_Grumpig[];
+extern const u8 gMonFootprint_Grumpig[];
+extern const u8 gMonFrontPic_Plusle[];
+extern const u8 gMonPalette_Plusle[];
+extern const u8 gMonBackPic_Plusle[];
+extern const u8 gMonShinyPalette_Plusle[];
+extern const u8 gMonIcon_Plusle[];
+extern const u8 gMonFootprint_Plusle[];
+extern const u8 gMonFrontPic_Minun[];
+extern const u8 gMonPalette_Minun[];
+extern const u8 gMonBackPic_Minun[];
+extern const u8 gMonShinyPalette_Minun[];
+extern const u8 gMonIcon_Minun[];
+extern const u8 gMonFootprint_Minun[];
+extern const u8 gMonFrontPic_Mawile[];
+extern const u8 gMonPalette_Mawile[];
+extern const u8 gMonBackPic_Mawile[];
+extern const u8 gMonShinyPalette_Mawile[];
+extern const u8 gMonIcon_Mawile[];
+extern const u8 gMonFootprint_Mawile[];
+extern const u8 gMonFrontPic_Meditite[];
+extern const u8 gMonPalette_Meditite[];
+extern const u8 gMonBackPic_Meditite[];
+extern const u8 gMonShinyPalette_Meditite[];
+extern const u8 gMonIcon_Meditite[];
+extern const u8 gMonFootprint_Meditite[];
+extern const u8 gMonFrontPic_Medicham[];
+extern const u8 gMonPalette_Medicham[];
+extern const u8 gMonBackPic_Medicham[];
+extern const u8 gMonShinyPalette_Medicham[];
+extern const u8 gMonIcon_Medicham[];
+extern const u8 gMonFootprint_Medicham[];
+extern const u8 gMonFrontPic_Swablu[];
+extern const u8 gMonPalette_Swablu[];
+extern const u8 gMonBackPic_Swablu[];
+extern const u8 gMonShinyPalette_Swablu[];
+extern const u8 gMonIcon_Swablu[];
+extern const u8 gMonFootprint_Swablu[];
+extern const u8 gMonFrontPic_Altaria[];
+extern const u8 gMonPalette_Altaria[];
+extern const u8 gMonBackPic_Altaria[];
+extern const u8 gMonShinyPalette_Altaria[];
+extern const u8 gMonIcon_Altaria[];
+extern const u8 gMonFootprint_Altaria[];
+extern const u8 gMonFrontPic_Wynaut[];
+extern const u8 gMonPalette_Wynaut[];
+extern const u8 gMonBackPic_Wynaut[];
+extern const u8 gMonShinyPalette_Wynaut[];
+extern const u8 gMonIcon_Wynaut[];
+extern const u8 gMonFootprint_Wynaut[];
+extern const u8 gMonFrontPic_Duskull[];
+extern const u8 gMonPalette_Duskull[];
+extern const u8 gMonBackPic_Duskull[];
+extern const u8 gMonShinyPalette_Duskull[];
+extern const u8 gMonIcon_Duskull[];
+extern const u8 gMonFootprint_Duskull[];
+extern const u8 gMonFrontPic_Dusclops[];
+extern const u8 gMonPalette_Dusclops[];
+extern const u8 gMonBackPic_Dusclops[];
+extern const u8 gMonShinyPalette_Dusclops[];
+extern const u8 gMonIcon_Dusclops[];
+extern const u8 gMonFootprint_Dusclops[];
+extern const u8 gMonFrontPic_Roselia[];
+extern const u8 gMonPalette_Roselia[];
+extern const u8 gMonBackPic_Roselia[];
+extern const u8 gMonShinyPalette_Roselia[];
+extern const u8 gMonIcon_Roselia[];
+extern const u8 gMonFootprint_Roselia[];
+extern const u8 gMonFrontPic_Slakoth[];
+extern const u8 gMonPalette_Slakoth[];
+extern const u8 gMonBackPic_Slakoth[];
+extern const u8 gMonShinyPalette_Slakoth[];
+extern const u8 gMonIcon_Slakoth[];
+extern const u8 gMonFootprint_Slakoth[];
+extern const u8 gMonFrontPic_Vigoroth[];
+extern const u8 gMonPalette_Vigoroth[];
+extern const u8 gMonBackPic_Vigoroth[];
+extern const u8 gMonShinyPalette_Vigoroth[];
+extern const u8 gMonIcon_Vigoroth[];
+extern const u8 gMonFootprint_Vigoroth[];
+extern const u8 gMonFrontPic_Slaking[];
+extern const u8 gMonPalette_Slaking[];
+extern const u8 gMonBackPic_Slaking[];
+extern const u8 gMonShinyPalette_Slaking[];
+extern const u8 gMonIcon_Slaking[];
+extern const u8 gMonFootprint_Slaking[];
+extern const u8 gMonFrontPic_Gulpin[];
+extern const u8 gMonPalette_Gulpin[];
+extern const u8 gMonBackPic_Gulpin[];
+extern const u8 gMonShinyPalette_Gulpin[];
+extern const u8 gMonIcon_Gulpin[];
+extern const u8 gMonFootprint_Gulpin[];
+extern const u8 gMonFrontPic_Swalot[];
+extern const u8 gMonPalette_Swalot[];
+extern const u8 gMonBackPic_Swalot[];
+extern const u8 gMonShinyPalette_Swalot[];
+extern const u8 gMonIcon_Swalot[];
+extern const u8 gMonFootprint_Swalot[];
+extern const u8 gMonFrontPic_Tropius[];
+extern const u8 gMonPalette_Tropius[];
+extern const u8 gMonBackPic_Tropius[];
+extern const u8 gMonShinyPalette_Tropius[];
+extern const u8 gMonIcon_Tropius[];
+extern const u8 gMonFootprint_Tropius[];
+extern const u8 gMonFrontPic_Whismur[];
+extern const u8 gMonPalette_Whismur[];
+extern const u8 gMonBackPic_Whismur[];
+extern const u8 gMonShinyPalette_Whismur[];
+extern const u8 gMonIcon_Whismur[];
+extern const u8 gMonFootprint_Whismur[];
+extern const u8 gMonFrontPic_Loudred[];
+extern const u8 gMonPalette_Loudred[];
+extern const u8 gMonBackPic_Loudred[];
+extern const u8 gMonShinyPalette_Loudred[];
+extern const u8 gMonIcon_Loudred[];
+extern const u8 gMonFootprint_Loudred[];
+extern const u8 gMonFrontPic_Exploud[];
+extern const u8 gMonPalette_Exploud[];
+extern const u8 gMonBackPic_Exploud[];
+extern const u8 gMonShinyPalette_Exploud[];
+extern const u8 gMonIcon_Exploud[];
+extern const u8 gMonFootprint_Exploud[];
+extern const u8 gMonFrontPic_Clamperl[];
+extern const u8 gMonPalette_Clamperl[];
+extern const u8 gMonBackPic_Clamperl[];
+extern const u8 gMonShinyPalette_Clamperl[];
+extern const u8 gMonIcon_Clamperl[];
+extern const u8 gMonFootprint_Clamperl[];
+extern const u8 gMonFrontPic_Huntail[];
+extern const u8 gMonPalette_Huntail[];
+extern const u8 gMonBackPic_Huntail[];
+extern const u8 gMonShinyPalette_Huntail[];
+extern const u8 gMonIcon_Huntail[];
+extern const u8 gMonFootprint_Huntail[];
+extern const u8 gMonFrontPic_Gorebyss[];
+extern const u8 gMonPalette_Gorebyss[];
+extern const u8 gMonBackPic_Gorebyss[];
+extern const u8 gMonShinyPalette_Gorebyss[];
+extern const u8 gMonIcon_Gorebyss[];
+extern const u8 gMonFootprint_Gorebyss[];
+extern const u8 gMonFrontPic_Absol[];
+extern const u8 gMonPalette_Absol[];
+extern const u8 gMonBackPic_Absol[];
+extern const u8 gMonShinyPalette_Absol[];
+extern const u8 gMonIcon_Absol[];
+extern const u8 gMonFootprint_Absol[];
+extern const u8 gMonFrontPic_Shuppet[];
+extern const u8 gMonPalette_Shuppet[];
+extern const u8 gMonBackPic_Shuppet[];
+extern const u8 gMonShinyPalette_Shuppet[];
+extern const u8 gMonIcon_Shuppet[];
+extern const u8 gMonFootprint_Shuppet[];
+extern const u8 gMonFrontPic_Banette[];
+extern const u8 gMonPalette_Banette[];
+extern const u8 gMonBackPic_Banette[];
+extern const u8 gMonShinyPalette_Banette[];
+extern const u8 gMonIcon_Banette[];
+extern const u8 gMonFootprint_Banette[];
+extern const u8 gMonFrontPic_Seviper[];
+extern const u8 gMonPalette_Seviper[];
+extern const u8 gMonBackPic_Seviper[];
+extern const u8 gMonShinyPalette_Seviper[];
+extern const u8 gMonIcon_Seviper[];
+extern const u8 gMonFootprint_Seviper[];
+extern const u8 gMonFrontPic_Zangoose[];
+extern const u8 gMonPalette_Zangoose[];
+extern const u8 gMonBackPic_Zangoose[];
+extern const u8 gMonShinyPalette_Zangoose[];
+extern const u8 gMonIcon_Zangoose[];
+extern const u8 gMonFootprint_Zangoose[];
+extern const u8 gMonFrontPic_Relicanth[];
+extern const u8 gMonPalette_Relicanth[];
+extern const u8 gMonBackPic_Relicanth[];
+extern const u8 gMonShinyPalette_Relicanth[];
+extern const u8 gMonIcon_Relicanth[];
+extern const u8 gMonFootprint_Relicanth[];
+extern const u8 gMonFrontPic_Aron[];
+extern const u8 gMonPalette_Aron[];
+extern const u8 gMonBackPic_Aron[];
+extern const u8 gMonShinyPalette_Aron[];
+extern const u8 gMonIcon_Aron[];
+extern const u8 gMonFootprint_Aron[];
+extern const u8 gMonFrontPic_Lairon[];
+extern const u8 gMonPalette_Lairon[];
+extern const u8 gMonBackPic_Lairon[];
+extern const u8 gMonShinyPalette_Lairon[];
+extern const u8 gMonIcon_Lairon[];
+extern const u8 gMonFootprint_Lairon[];
+extern const u8 gMonFrontPic_Aggron[];
+extern const u8 gMonPalette_Aggron[];
+extern const u8 gMonBackPic_Aggron[];
+extern const u8 gMonShinyPalette_Aggron[];
+extern const u8 gMonIcon_Aggron[];
+extern const u8 gMonFootprint_Aggron[];
+extern const u8 gMonFrontPic_Castform[];
+extern const u8 gMonPalette_Castform[];
+extern const u8 gMonBackPic_Castform[];
+extern const u8 gMonShinyPalette_Castform[];
+extern const u8 gMonIcon_Castform[];
+extern const u8 gMonFootprint_Castform[];
+extern const u8 gMonFrontPic_Volbeat[];
+extern const u8 gMonPalette_Volbeat[];
+extern const u8 gMonBackPic_Volbeat[];
+extern const u8 gMonShinyPalette_Volbeat[];
+extern const u8 gMonIcon_Volbeat[];
+extern const u8 gMonFootprint_Volbeat[];
+extern const u8 gMonFrontPic_Illumise[];
+extern const u8 gMonPalette_Illumise[];
+extern const u8 gMonBackPic_Illumise[];
+extern const u8 gMonShinyPalette_Illumise[];
+extern const u8 gMonIcon_Illumise[];
+extern const u8 gMonFootprint_Illumise[];
+extern const u8 gMonFrontPic_Lileep[];
+extern const u8 gMonPalette_Lileep[];
+extern const u8 gMonBackPic_Lileep[];
+extern const u8 gMonShinyPalette_Lileep[];
+extern const u8 gMonIcon_Lileep[];
+extern const u8 gMonFootprint_Lileep[];
+extern const u8 gMonFrontPic_Cradily[];
+extern const u8 gMonPalette_Cradily[];
+extern const u8 gMonBackPic_Cradily[];
+extern const u8 gMonShinyPalette_Cradily[];
+extern const u8 gMonIcon_Cradily[];
+extern const u8 gMonFootprint_Cradily[];
+extern const u8 gMonFrontPic_Anorith[];
+extern const u8 gMonPalette_Anorith[];
+extern const u8 gMonBackPic_Anorith[];
+extern const u8 gMonShinyPalette_Anorith[];
+extern const u8 gMonIcon_Anorith[];
+extern const u8 gMonFootprint_Anorith[];
+extern const u8 gMonFrontPic_Armaldo[];
+extern const u8 gMonPalette_Armaldo[];
+extern const u8 gMonBackPic_Armaldo[];
+extern const u8 gMonShinyPalette_Armaldo[];
+extern const u8 gMonIcon_Armaldo[];
+extern const u8 gMonFootprint_Armaldo[];
+extern const u8 gMonFrontPic_Ralts[];
+extern const u8 gMonPalette_Ralts[];
+extern const u8 gMonBackPic_Ralts[];
+extern const u8 gMonShinyPalette_Ralts[];
+extern const u8 gMonIcon_Ralts[];
+extern const u8 gMonFootprint_Ralts[];
+extern const u8 gMonFrontPic_Kirlia[];
+extern const u8 gMonPalette_Kirlia[];
+extern const u8 gMonBackPic_Kirlia[];
+extern const u8 gMonShinyPalette_Kirlia[];
+extern const u8 gMonIcon_Kirlia[];
+extern const u8 gMonFootprint_Kirlia[];
+extern const u8 gMonFrontPic_Gardevoir[];
+extern const u8 gMonPalette_Gardevoir[];
+extern const u8 gMonBackPic_Gardevoir[];
+extern const u8 gMonShinyPalette_Gardevoir[];
+extern const u8 gMonIcon_Gardevoir[];
+extern const u8 gMonFootprint_Gardevoir[];
+extern const u8 gMonFrontPic_Bagon[];
+extern const u8 gMonPalette_Bagon[];
+extern const u8 gMonBackPic_Bagon[];
+extern const u8 gMonShinyPalette_Bagon[];
+extern const u8 gMonIcon_Bagon[];
+extern const u8 gMonFootprint_Bagon[];
+extern const u8 gMonFrontPic_Shelgon[];
+extern const u8 gMonPalette_Shelgon[];
+extern const u8 gMonBackPic_Shelgon[];
+extern const u8 gMonShinyPalette_Shelgon[];
+extern const u8 gMonIcon_Shelgon[];
+extern const u8 gMonFootprint_Shelgon[];
+extern const u8 gMonFrontPic_Salamence[];
+extern const u8 gMonPalette_Salamence[];
+extern const u8 gMonBackPic_Salamence[];
+extern const u8 gMonShinyPalette_Salamence[];
+extern const u8 gMonIcon_Salamence[];
+extern const u8 gMonFootprint_Salamence[];
+extern const u8 gMonFrontPic_Beldum[];
+extern const u8 gMonPalette_Beldum[];
+extern const u8 gMonBackPic_Beldum[];
+extern const u8 gMonShinyPalette_Beldum[];
+extern const u8 gMonIcon_Beldum[];
+extern const u8 gMonFootprint_Beldum[];
+extern const u8 gMonFrontPic_Metang[];
+extern const u8 gMonPalette_Metang[];
+extern const u8 gMonBackPic_Metang[];
+extern const u8 gMonShinyPalette_Metang[];
+extern const u8 gMonIcon_Metang[];
+extern const u8 gMonFootprint_Metang[];
+extern const u8 gMonFrontPic_Metagross[];
+extern const u8 gMonPalette_Metagross[];
+extern const u8 gMonBackPic_Metagross[];
+extern const u8 gMonShinyPalette_Metagross[];
+extern const u8 gMonIcon_Metagross[];
+extern const u8 gMonFootprint_Metagross[];
+extern const u8 gMonFrontPic_Regirock[];
+extern const u8 gMonPalette_Regirock[];
+extern const u8 gMonBackPic_Regirock[];
+extern const u8 gMonShinyPalette_Regirock[];
+extern const u8 gMonIcon_Regirock[];
+extern const u8 gMonFootprint_Regirock[];
+extern const u8 gMonFrontPic_Regice[];
+extern const u8 gMonPalette_Regice[];
+extern const u8 gMonBackPic_Regice[];
+extern const u8 gMonShinyPalette_Regice[];
+extern const u8 gMonIcon_Regice[];
+extern const u8 gMonFootprint_Regice[];
+extern const u8 gMonFrontPic_Registeel[];
+extern const u8 gMonPalette_Registeel[];
+extern const u8 gMonBackPic_Registeel[];
+extern const u8 gMonShinyPalette_Registeel[];
+extern const u8 gMonIcon_Registeel[];
+extern const u8 gMonFootprint_Registeel[];
+extern const u8 gMonFrontPic_Kyogre[];
+extern const u8 gMonPalette_Kyogre[];
+extern const u8 gMonBackPic_Kyogre[];
+extern const u8 gMonShinyPalette_Kyogre[];
+extern const u8 gMonIcon_Kyogre[];
+extern const u8 gMonFootprint_Kyogre[];
+extern const u8 gMonFrontPic_Groudon[];
+extern const u8 gMonPalette_Groudon[];
+extern const u8 gMonBackPic_Groudon[];
+extern const u8 gMonShinyPalette_Groudon[];
+extern const u8 gMonIcon_Groudon[];
+extern const u8 gMonFootprint_Groudon[];
+extern const u8 gMonFrontPic_Rayquaza[];
+extern const u8 gMonPalette_Rayquaza[];
+extern const u8 gMonBackPic_Rayquaza[];
+extern const u8 gMonShinyPalette_Rayquaza[];
+extern const u8 gMonIcon_Rayquaza[];
+extern const u8 gMonFootprint_Rayquaza[];
+extern const u8 gMonFrontPic_Latias[];
+extern const u8 gMonPalette_Latias[];
+extern const u8 gMonBackPic_Latias[];
+extern const u8 gMonShinyPalette_Latias[];
+extern const u8 gMonIcon_Latias[];
+extern const u8 gMonFootprint_Latias[];
+extern const u8 gMonFrontPic_Latios[];
+extern const u8 gMonPalette_Latios[];
+extern const u8 gMonBackPic_Latios[];
+extern const u8 gMonShinyPalette_Latios[];
+extern const u8 gMonIcon_Latios[];
+extern const u8 gMonFootprint_Latios[];
+extern const u8 gMonFrontPic_Jirachi[];
+extern const u8 gMonPalette_Jirachi[];
+extern const u8 gMonBackPic_Jirachi[];
+extern const u8 gMonShinyPalette_Jirachi[];
+extern const u8 gMonIcon_Jirachi[];
+extern const u8 gMonFootprint_Jirachi[];
+extern const u8 gMonFrontPic_Deoxys[];
+extern const u8 gMonPalette_Deoxys[];
+extern const u8 gMonBackPic_Deoxys[];
+extern const u8 gMonShinyPalette_Deoxys[];
+extern const u8 gMonIcon_Deoxys[];
+extern const u8 gMonFootprint_Deoxys[];
+extern const u8 gMonFrontPic_Chimecho[];
+extern const u8 gMonPalette_Chimecho[];
+extern const u8 gMonBackPic_Chimecho[];
+extern const u8 gMonShinyPalette_Chimecho[];
+extern const u8 gMonIcon_Chimecho[];
+extern const u8 gMonFootprint_Chimecho[];
+extern const u8 gMonPic_Egg[];
+extern const u8 gMonPalette_Egg[];
+extern const u8 gMonFrontPic_UnownB[];
+extern const u8 gMonBackPic_UnownB[];
+extern const u8 gMonIcon_UnownB[];
+extern const u8 gMonFrontPic_UnownC[];
+extern const u8 gMonBackPic_UnownC[];
+extern const u8 gMonIcon_UnownC[];
+extern const u8 gMonFrontPic_UnownD[];
+extern const u8 gMonBackPic_UnownD[];
+extern const u8 gMonIcon_UnownD[];
+extern const u8 gMonFrontPic_UnownE[];
+extern const u8 gMonBackPic_UnownE[];
+extern const u8 gMonIcon_UnownE[];
+extern const u8 gMonFrontPic_UnownF[];
+extern const u8 gMonBackPic_UnownF[];
+extern const u8 gMonIcon_UnownF[];
+extern const u8 gMonFrontPic_UnownG[];
+extern const u8 gMonBackPic_UnownG[];
+extern const u8 gMonIcon_UnownG[];
+extern const u8 gMonFrontPic_UnownH[];
+extern const u8 gMonBackPic_UnownH[];
+extern const u8 gMonIcon_UnownH[];
+extern const u8 gMonFrontPic_UnownI[];
+extern const u8 gMonBackPic_UnownI[];
+extern const u8 gMonIcon_UnownI[];
+extern const u8 gMonFrontPic_UnownJ[];
+extern const u8 gMonBackPic_UnownJ[];
+extern const u8 gMonIcon_UnownJ[];
+extern const u8 gMonFrontPic_UnownK[];
+extern const u8 gMonBackPic_UnownK[];
+extern const u8 gMonIcon_UnownK[];
+extern const u8 gMonFrontPic_UnownL[];
+extern const u8 gMonBackPic_UnownL[];
+extern const u8 gMonIcon_UnownL[];
+extern const u8 gMonFrontPic_UnownM[];
+extern const u8 gMonBackPic_UnownM[];
+extern const u8 gMonIcon_UnownM[];
+extern const u8 gMonFrontPic_UnownN[];
+extern const u8 gMonBackPic_UnownN[];
+extern const u8 gMonIcon_UnownN[];
+extern const u8 gMonFrontPic_UnownO[];
+extern const u8 gMonBackPic_UnownO[];
+extern const u8 gMonIcon_UnownO[];
+extern const u8 gMonFrontPic_UnownP[];
+extern const u8 gMonBackPic_UnownP[];
+extern const u8 gMonIcon_UnownP[];
+extern const u8 gMonFrontPic_UnownQ[];
+extern const u8 gMonBackPic_UnownQ[];
+extern const u8 gMonIcon_UnownQ[];
+extern const u8 gMonFrontPic_UnownR[];
+extern const u8 gMonBackPic_UnownR[];
+extern const u8 gMonIcon_UnownR[];
+extern const u8 gMonFrontPic_UnownS[];
+extern const u8 gMonBackPic_UnownS[];
+extern const u8 gMonIcon_UnownS[];
+extern const u8 gMonFrontPic_UnownT[];
+extern const u8 gMonBackPic_UnownT[];
+extern const u8 gMonIcon_UnownT[];
+extern const u8 gMonFrontPic_UnownU[];
+extern const u8 gMonBackPic_UnownU[];
+extern const u8 gMonIcon_UnownU[];
+extern const u8 gMonFrontPic_UnownV[];
+extern const u8 gMonBackPic_UnownV[];
+extern const u8 gMonIcon_UnownV[];
+extern const u8 gMonFrontPic_UnownW[];
+extern const u8 gMonBackPic_UnownW[];
+extern const u8 gMonIcon_UnownW[];
+extern const u8 gMonFrontPic_UnownX[];
+extern const u8 gMonBackPic_UnownX[];
+extern const u8 gMonIcon_UnownX[];
+extern const u8 gMonFrontPic_UnownY[];
+extern const u8 gMonBackPic_UnownY[];
+extern const u8 gMonIcon_UnownY[];
+extern const u8 gMonFrontPic_UnownZ[];
+extern const u8 gMonBackPic_UnownZ[];
+extern const u8 gMonIcon_UnownZ[];
+extern const u8 gMonFrontPic_UnownExclamationMark[];
+extern const u8 gMonBackPic_UnownExclamationMark[];
+extern const u8 gMonIcon_UnownExclamationMark[];
+extern const u8 gMonFrontPic_UnownQuestionMark[];
+extern const u8 gMonBackPic_UnownQuestionMark[];
+extern const u8 gMonIcon_UnownQuestionMark[];
+
+extern const u8 gMonIcon_QuestionMark[];
+extern const u8 gMonIcon_Egg[];
+extern const u16 gMonIconPalettes[][16];
+
+// pokeblock
+extern const u8 gMenuPokeblock_Gfx[];
+extern const u8 gMenuPokeblock_Pal[];
+extern const u8 gMenuPokeblock_Tilemap[];
+extern const u8 gMenuPokeblockDevice_Gfx[];
+extern const u8 gMenuPokeblockDevice_Pal[];
+extern const u8 gPokeblockRed_Pal[];
+extern const u8 gPokeblockBlue_Pal[];
+extern const u8 gPokeblockPink_Pal[];
+extern const u8 gPokeblockGreen_Pal[];
+extern const u8 gPokeblockYellow_Pal[];
+extern const u8 gPokeblockPurple_Pal[];
+extern const u8 gPokeblockIndigo_Pal[];
+extern const u8 gPokeblockBrown_Pal[];
+extern const u8 gPokeblockLiteBlue_Pal[];
+extern const u8 gPokeblockOlive_Pal[];
+extern const u8 gPokeblockGray_Pal[];
+extern const u8 gPokeblockBlack_Pal[];
+extern const u8 gPokeblockWhite_Pal[];
+extern const u8 gPokeblockGold_Pal[];
+extern const u8 gPokeblock_Gfx[];
+
extern const u8 gItemIcon_QuestionMark[];
extern const u8 gItemIconPalette_QuestionMark[];
extern const u8 gUnknown_08DB7AA0[];
@@ -117,23 +2545,134 @@ extern const u8 gUnknown_08DB9F08[];
extern const u8 gUnknown_08DB9FFC[];
extern const u8 gUnknown_08DBA020[];
extern const u8 gUnknown_08DBA12C[];
-extern const u8 gUnknown_08DD87C0[];
-extern const u8 gUnknown_08DD8EE0[];
-extern const u16 gUnknown_08DD8780[];
-extern const u8 gUnknown_08DD90E0[];
-extern const u8 gUnknown_08DD9718[];
-extern const u16 gUnknown_08DD9080[];
-extern const u8 gUnknown_08DD98B4[];
-extern const u8 gUnknown_08DD9E58[];
-extern const u16 gUnknown_08DD9874[];
-extern const u8 gUnknown_08DDA02C[];
-extern const u8 gUnknown_08DDA63C[];
-extern const u16 gUnknown_08DD9FEC[];
-extern const u8 gUnknown_08DDA840[];
-extern const u8 gUnknown_08DDAE40[];
-extern const u16 gUnknown_08DDA800[];
-extern const u8 gUnknown_08DDB020[];
-extern const u8 gUnknown_08DDB2C4[];
-extern const u16 gUnknown_08DDAFE0[];
+extern const u8 gWallclock_Gfx[];
+extern const u16 gWallclockMale_Pal[];
+extern const u16 gWallclockFemale_Pal[];
+extern const u8 gUnknown_08DCC648[];
+extern const u8 gUnknown_08DCC908[];
+extern const u8 gBerryFixGameboy_Gfx[];
+extern const u8 gBerryFixGameboy_Tilemap[];
+extern const u16 gBerryFixGameboy_Pal[];
+extern const u8 gBerryFixGameboyLogo_Gfx[];
+extern const u8 gBerryFixGameboyLogo_Tilemap[];
+extern const u16 gBerryFixGameboyLogo_Pal[];
+extern const u8 gBerryFixGbaTransfer_Gfx[];
+extern const u8 gBerryFixGbaTransfer_Tilemap[];
+extern const u16 gBerryFixGbaTransfer_Pal[];
+extern const u8 gBerryFixGbaTransferHighlight_Gfx[];
+extern const u8 gBerryFixGbaTransferHighlight_Tilemap[];
+extern const u16 gBerryFixGbaTransferHighlight_Pal[];
+extern const u8 gBerryFixGbaTransferError_Gfx[];
+extern const u8 gBerryFixGbaTransferError_Tilemap[];
+extern const u16 gBerryFixGbaTransferError_Pal[];
+extern const u8 gBerryFixWindow_Gfx[];
+extern const u8 gBerryFixWindow_Tilemap[];
+extern const u16 gBerryFixWindow_Pal[];
+
+extern const u8 gBattleTextboxTiles[];
+extern const u8 gBattleTextboxTilemap[];
+extern const u8 gBattleTextboxPalette[];
+extern const u8 gUnknown_08D778F0[];
+extern const u8 gUnknown_08D77B0C[];
+extern const u8 gUnknown_08D77AE4[];
+extern const u8 gUnknown_08D779D8[];
+extern const u8 gUnknown_08D857A8[];
+extern const u8 gUnknown_08D85A1C[];
+extern const u8 gUnknown_08D85600[];
+
+// battle terrains
+extern const u8 gBattleTerrainTiles_TallGrass[];
+extern const u8 gBattleTerrainTilemap_TallGrass[];
+extern const u8 gBattleTerrainAnimTiles_TallGrass[];
+extern const u8 gBattleTerrainAnimTilemap_TallGrass[];
+extern const u8 gBattleTerrainPalette_TallGrass[];
+extern const u8 gBattleTerrainTiles_LongGrass[];
+extern const u8 gBattleTerrainTilemap_LongGrass[];
+extern const u8 gBattleTerrainAnimTiles_LongGrass[];
+extern const u8 gBattleTerrainAnimTilemap_LongGrass[];
+extern const u8 gBattleTerrainPalette_LongGrass[];
+extern const u8 gBattleTerrainTiles_Sand[];
+extern const u8 gBattleTerrainTilemap_Sand[];
+extern const u8 gBattleTerrainAnimTiles_Sand[];
+extern const u8 gBattleTerrainAnimTilemap_Sand[];
+extern const u8 gBattleTerrainPalette_Sand[];
+extern const u8 gBattleTerrainTiles_Underwater[];
+extern const u8 gBattleTerrainTilemap_Underwater[];
+extern const u8 gBattleTerrainAnimTiles_Underwater[];
+extern const u8 gBattleTerrainAnimTilemap_Underwater[];
+extern const u8 gBattleTerrainPalette_Underwater[];
+extern const u8 gBattleTerrainTiles_Water[];
+extern const u8 gBattleTerrainTilemap_Water[];
+extern const u8 gBattleTerrainAnimTiles_Water[];
+extern const u8 gBattleTerrainAnimTilemap_Water[];
+extern const u8 gBattleTerrainPalette_Water[];
+extern const u8 gBattleTerrainTiles_PondWater[];
+extern const u8 gBattleTerrainTilemap_PondWater[];
+extern const u8 gBattleTerrainAnimTiles_PondWater[];
+extern const u8 gBattleTerrainAnimTilemap_PondWater[];
+extern const u8 gBattleTerrainPalette_PondWater[];
+extern const u8 gBattleTerrainTiles_Rock[];
+extern const u8 gBattleTerrainTilemap_Rock[];
+extern const u8 gBattleTerrainAnimTiles_Rock[];
+extern const u8 gBattleTerrainAnimTilemap_Rock[];
+extern const u8 gBattleTerrainPalette_Rock[];
+extern const u8 gBattleTerrainTiles_Cave[];
+extern const u8 gBattleTerrainTilemap_Cave[];
+extern const u8 gBattleTerrainAnimTiles_Cave[];
+extern const u8 gBattleTerrainAnimTilemap_Cave[];
+extern const u8 gBattleTerrainPalette_Cave[];
+extern const u8 gBattleTerrainTiles_Building[];
+extern const u8 gBattleTerrainTilemap_Building[];
+extern const u8 gBattleTerrainAnimTiles_Building[];
+extern const u8 gBattleTerrainAnimTilemap_Building[];
+extern const u8 gBattleTerrainPalette_Building[];
+extern const u8 gBattleTerrainPalette_Plain[];
+extern const u8 gBattleTerrainPalette_Frontier[];
+extern const u8 gBattleTerrainTiles_Stadium[];
+extern const u8 gBattleTerrainTilemap_Stadium[];
+extern const u8 gBattleTerrainTiles_Rayquaza[];
+extern const u8 gBattleTerrainTilemap_Rayquaza[];
+extern const u8 gBattleTerrainAnimTiles_Rayquaza[];
+extern const u8 gBattleTerrainAnimTilemap_Rayquaza[];
+extern const u8 gBattleTerrainPalette_Rayquaza[];
+extern const u8 gBattleTerrainPalette_Kyogre[];
+extern const u8 gBattleTerrainPalette_Groudon[];
+extern const u8 gBattleTerrainPalette_BuildingGym[];
+extern const u8 gBattleTerrainPalette_BuildingLeader[];
+extern const u8 gBattleTerrainPalette_StadiumAqua[];
+extern const u8 gBattleTerrainPalette_StadiumMagma[];
+extern const u8 gBattleTerrainPalette_StadiumSidney[];
+extern const u8 gBattleTerrainPalette_StadiumPhoebe[];
+extern const u8 gBattleTerrainPalette_StadiumGlacia[];
+extern const u8 gBattleTerrainPalette_StadiumDrake[];
+extern const u8 gBattleTerrainPalette_StadiumWallace[];
+
+extern const u8 gPokedexMenu2_Gfx[];
+extern const u8 gPokedexText_Pal[];
+
+// rayquaza scene gfx
+extern const u8 gRaySceneGroudon_Gfx[];
+extern const u8 gRaySceneGroudon2_Gfx[];
+extern const u8 gRaySceneGroudon3_Gfx[];
+extern const u8 gRaySceneKyogre_Gfx[];
+extern const u8 gRaySceneKyogre2_Gfx[];
+extern const u8 gRaySceneKyogre3_Gfx[];
+extern const u8 gRaySceneGroudon_Pal[];
+extern const u8 gRaySceneKyogre_Pal[];
+extern const u8 gRaySceneSmoke_Gfx[];
+extern const u8 gRaySceneSmoke_Pal[];
+extern const u8 gRaySceneRayquaza_Pal[];
+extern const u8 gRaySceneRayquazaFly1_Gfx[];
+extern const u8 gRaySceneRayquazaTail_Gfx[];
+extern const u8 gRaySceneGroudonLeft_Gfx[];
+extern const u8 gRaySceneGroudonTail_Gfx[];
+extern const u8 gRaySceneKyogreRight_Gfx[];
+extern const u8 gRaySceneRayquazaHover_Gfx[];
+extern const u8 gRaySceneRayquazaFlyIn_Gfx[];
+extern const u8 gRaySceneSplash_Gfx[];
+extern const u8 gRaySceneGroudonLeft_Pal[];
+extern const u8 gRaySceneKyogreRight_Pal[];
+extern const u8 gRaySceneRayquazaHover_Pal[];
+extern const u8 gRaySceneSplash_Pal[];
#endif //GUARD_GRAPHICS_H
diff --git a/include/hold_effects.h b/include/hold_effects.h
deleted file mode 100644
index b653f5a92..000000000
--- a/include/hold_effects.h
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef GUARD_HOLD_EFFECTS_H
-#define GUARD_HOLD_EFFECTS_H
-
-#define HOLD_EFFECT_NONE 0
-#define HOLD_EFFECT_RESTORE_HP 1
-#define HOLD_EFFECT_CURE_PAR 2
-#define HOLD_EFFECT_CURE_SLP 3
-#define HOLD_EFFECT_CURE_PSN 4
-#define HOLD_EFFECT_CURE_BRN 5
-#define HOLD_EFFECT_CURE_FRZ 6
-#define HOLD_EFFECT_RESTORE_PP 7
-#define HOLD_EFFECT_CURE_CONFUSION 8
-#define HOLD_EFFECT_CURE_STATUS 9
-#define HOLD_EFFECT_CONFUSE_SPICY 10
-#define HOLD_EFFECT_CONFUSE_DRY 11
-#define HOLD_EFFECT_CONFUSE_SWEET 12
-#define HOLD_EFFECT_CONFUSE_BITTER 13
-#define HOLD_EFFECT_CONFUSE_SOUR 14
-#define HOLD_EFFECT_ATTACK_UP 15
-#define HOLD_EFFECT_DEFENSE_UP 16
-#define HOLD_EFFECT_SPEED_UP 17
-#define HOLD_EFFECT_SP_ATTACK_UP 18
-#define HOLD_EFFECT_SP_DEFENSE_UP 19
-#define HOLD_EFFECT_CRITICAL_UP 20
-#define HOLD_EFFECT_RANDOM_STAT_UP 21
-#define HOLD_EFFECT_EVASION_UP 22
-#define HOLD_EFFECT_RESTORE_STATS 23
-#define HOLD_EFFECT_MACHO_BRACE 24
-#define HOLD_EFFECT_EXP_SHARE 25
-#define HOLD_EFFECT_QUICK_CLAW 26
-#define HOLD_EFFECT_HAPPINESS_UP 27
-#define HOLD_EFFECT_CURE_ATTRACT 28
-#define HOLD_EFFECT_CHOICE_BAND 29
-#define HOLD_EFFECT_FLINCH 30
-#define HOLD_EFFECT_BUG_POWER 31
-#define HOLD_EFFECT_DOUBLE_PRIZE 32
-#define HOLD_EFFECT_REPEL 33
-#define HOLD_EFFECT_SOUL_DEW 34
-#define HOLD_EFFECT_DEEP_SEA_TOOTH 35
-#define HOLD_EFFECT_DEEP_SEA_SCALE 36
-#define HOLD_EFFECT_CAN_ALWAYS_RUN 37
-#define HOLD_EFFECT_PREVENT_EVOLVE 38
-#define HOLD_EFFECT_FOCUS_BAND 39
-#define HOLD_EFFECT_LUCKY_EGG 40
-#define HOLD_EFFECT_SCOPE_LENS 41
-#define HOLD_EFFECT_STEEL_POWER 42
-#define HOLD_EFFECT_LEFTOVERS 43
-#define HOLD_EFFECT_DRAGON_SCALE 44
-#define HOLD_EFFECT_LIGHT_BALL 45
-#define HOLD_EFFECT_GROUND_POWER 46
-#define HOLD_EFFECT_ROCK_POWER 47
-#define HOLD_EFFECT_GRASS_POWER 48
-#define HOLD_EFFECT_DARK_POWER 49
-#define HOLD_EFFECT_FIGHTING_POWER 50
-#define HOLD_EFFECT_ELECTRIC_POWER 51
-#define HOLD_EFFECT_WATER_POWER 52
-#define HOLD_EFFECT_FLYING_POWER 53
-#define HOLD_EFFECT_POISON_POWER 54
-#define HOLD_EFFECT_ICE_POWER 55
-#define HOLD_EFFECT_GHOST_POWER 56
-#define HOLD_EFFECT_PSYCHIC_POWER 57
-#define HOLD_EFFECT_FIRE_POWER 58
-#define HOLD_EFFECT_DRAGON_POWER 59
-#define HOLD_EFFECT_NORMAL_POWER 60
-#define HOLD_EFFECT_UP_GRADE 61
-#define HOLD_EFFECT_SHELL_BELL 62
-#define HOLD_EFFECT_LUCKY_PUNCH 63
-#define HOLD_EFFECT_METAL_POWDER 64
-#define HOLD_EFFECT_THICK_CLUB 65
-#define HOLD_EFFECT_STICK 66
-
-#endif // GUARD_HOLD_EFFECTS_H
diff --git a/include/international_string_util.h b/include/international_string_util.h
index e7876162e..f4ba827e3 100644
--- a/include/international_string_util.h
+++ b/include/international_string_util.h
@@ -14,7 +14,7 @@ s32 sub_81DB3D8(const struct MenuAction *str, u8* arg1, s32 arg2);
// sub_81DB41C
// CopyMonCategoryText
// sub_81DB494
-// sub_81DB4DC
+void PadNameString(u8 *dst, u8 padWith);
// sub_81DB554
// sub_81DB5AC
u32 sub_81DB604(const u8 *);
diff --git a/include/items.h b/include/items.h
deleted file mode 100644
index 1a6df42db..000000000
--- a/include/items.h
+++ /dev/null
@@ -1,396 +0,0 @@
-#ifndef GUARD_ITEMS_H
-#define GUARD_ITEMS_H
-
-enum
-{
- ITEM_NONE, // 0x000
- ITEM_MASTER_BALL, // 0x001
- ITEM_ULTRA_BALL, // 0x002
- ITEM_GREAT_BALL, // 0x003
- ITEM_POKE_BALL, // 0x004
- ITEM_SAFARI_BALL, // 0x005
- ITEM_NET_BALL, // 0x006
- ITEM_DIVE_BALL, // 0x007
- ITEM_NEST_BALL, // 0x008
- ITEM_REPEAT_BALL, // 0x009
- ITEM_TIMER_BALL, // 0x00a
- ITEM_LUXURY_BALL, // 0x00b
- ITEM_PREMIER_BALL, // 0x00c
- ITEM_POTION, // 0x00d
- ITEM_ANTIDOTE, // 0x00e
- ITEM_BURN_HEAL, // 0x00f
- ITEM_ICE_HEAL, // 0x010
- ITEM_AWAKENING, // 0x011
- ITEM_PARALYZE_HEAL, // 0x012
- ITEM_FULL_RESTORE, // 0x013
- ITEM_MAX_POTION, // 0x014
- ITEM_HYPER_POTION, // 0x015
- ITEM_SUPER_POTION, // 0x016
- ITEM_FULL_HEAL, // 0x017
- ITEM_REVIVE, // 0x018
- ITEM_MAX_REVIVE, // 0x019
- ITEM_FRESH_WATER, // 0x01a
- ITEM_SODA_POP, // 0x01b
- ITEM_LEMONADE, // 0x01c
- ITEM_MOOMOO_MILK, // 0x01d
- ITEM_ENERGY_POWDER, // 0x01e
- ITEM_ENERGY_ROOT, // 0x01f
- ITEM_HEAL_POWDER, // 0x020
- ITEM_REVIVAL_HERB, // 0x021
- ITEM_ETHER, // 0x022
- ITEM_MAX_ETHER, // 0x023
- ITEM_ELIXIR, // 0x024
- ITEM_MAX_ELIXIR, // 0x025
- ITEM_LAVA_COOKIE, // 0x026
- ITEM_BLUE_FLUTE, // 0x027
- ITEM_YELLOW_FLUTE, // 0x028
- ITEM_RED_FLUTE, // 0x029
- ITEM_BLACK_FLUTE, // 0x02a
- ITEM_WHITE_FLUTE, // 0x02b
- ITEM_BERRY_JUICE, // 0x02c
- ITEM_SACRED_ASH, // 0x02d
- ITEM_SHOAL_SALT, // 0x02e
- ITEM_SHOAL_SHELL, // 0x02f
- ITEM_RED_SHARD, // 0x030
- ITEM_BLUE_SHARD, // 0x031
- ITEM_YELLOW_SHARD, // 0x032
- ITEM_GREEN_SHARD, // 0x033
- ITEM_034,
- ITEM_035,
- ITEM_036,
- ITEM_037,
- ITEM_038,
- ITEM_039,
- ITEM_03A,
- ITEM_03B,
- ITEM_03C,
- ITEM_03D,
- ITEM_03E,
- ITEM_HP_UP, // 0x03f
- ITEM_PROTEIN, // 0x040
- ITEM_IRON, // 0x041
- ITEM_CARBOS, // 0x042
- ITEM_CALCIUM, // 0x043
- ITEM_RARE_CANDY, // 0x044
- ITEM_PP_UP, // 0x045
- ITEM_ZINC, // 0x046
- ITEM_PP_MAX, // 0x047
- ITEM_048,
- ITEM_GUARD_SPEC, // 0x049
- ITEM_DIRE_HIT, // 0x04a
- ITEM_X_ATTACK, // 0x04b
- ITEM_X_DEFEND, // 0x04c
- ITEM_X_SPEED, // 0x04d
- ITEM_X_ACCURACY, // 0x04e
- ITEM_X_SPECIAL, // 0x04f
- ITEM_POKE_DOLL, // 0x050
- ITEM_FLUFFY_TAIL, // 0x051
- ITEM_052,
- ITEM_SUPER_REPEL, // 0x053
- ITEM_MAX_REPEL, // 0x054
- ITEM_ESCAPE_ROPE, // 0x055
- ITEM_REPEL, // 0x056
- ITEM_057,
- ITEM_058,
- ITEM_059,
- ITEM_05A,
- ITEM_05B,
- ITEM_05C,
- ITEM_SUN_STONE, // 0x05d
- ITEM_MOON_STONE, // 0x05e
- ITEM_FIRE_STONE, // 0x05f
- ITEM_THUNDER_STONE, // 0x060
- ITEM_WATER_STONE, // 0x061
- ITEM_LEAF_STONE, // 0x062
- ITEM_063,
- ITEM_064,
- ITEM_065,
- ITEM_066,
- ITEM_TINY_MUSHROOM, // 0x067
- ITEM_BIG_MUSHROOM, // 0x068
- ITEM_069,
- ITEM_PEARL, // 0x06a
- ITEM_BIG_PEARL, // 0x06b
- ITEM_STARDUST, // 0x06c
- ITEM_STAR_PIECE, // 0x06d
- ITEM_NUGGET, // 0x06e
- ITEM_HEART_SCALE, // 0x06f
- ITEM_070,
- ITEM_071,
- ITEM_072,
- ITEM_073,
- ITEM_074,
- ITEM_075,
- ITEM_076,
- ITEM_077,
- ITEM_078,
- ITEM_ORANGE_MAIL, // 0x079
- ITEM_HARBOR_MAIL, // 0x07a
- ITEM_GLITTER_MAIL, // 0x07b
- ITEM_MECH_MAIL, // 0x07c
- ITEM_WOOD_MAIL, // 0x07d
- ITEM_WAVE_MAIL, // 0x07e
- ITEM_BEAD_MAIL, // 0x07f
- ITEM_SHADOW_MAIL, // 0x080
- ITEM_TROPIC_MAIL, // 0x081
- ITEM_DREAM_MAIL, // 0x082
- ITEM_FAB_MAIL, // 0x083
- ITEM_RETRO_MAIL, // 0x084
- ITEM_CHERI_BERRY, // 0x085
- ITEM_CHESTO_BERRY, // 0x086
- ITEM_PECHA_BERRY, // 0x087
- ITEM_RAWST_BERRY, // 0x088
- ITEM_ASPEAR_BERRY, // 0x089
- ITEM_LEPPA_BERRY, // 0x08a
- ITEM_ORAN_BERRY, // 0x08b
- ITEM_PERSIM_BERRY, // 0x08c
- ITEM_LUM_BERRY, // 0x08d
- ITEM_SITRUS_BERRY, // 0x08e
- ITEM_FIGY_BERRY, // 0x08f
- ITEM_WIKI_BERRY, // 0x090
- ITEM_MAGO_BERRY, // 0x091
- ITEM_AGUAV_BERRY, // 0x092
- ITEM_IAPAPA_BERRY, // 0x093
- ITEM_RAZZ_BERRY, // 0x094
- ITEM_BLUK_BERRY, // 0x095
- ITEM_NANAB_BERRY, // 0x096
- ITEM_WEPEAR_BERRY, // 0x097
- ITEM_PINAP_BERRY, // 0x098
- ITEM_POMEG_BERRY, // 0x099
- ITEM_KELPSY_BERRY, // 0x09a
- ITEM_QUALOT_BERRY, // 0x09b
- ITEM_HONDEW_BERRY, // 0x09c
- ITEM_GREPA_BERRY, // 0x09d
- ITEM_TAMATO_BERRY, // 0x09e
- ITEM_CORNN_BERRY, // 0x09f
- ITEM_MAGOST_BERRY, // 0x0a0
- ITEM_RABUTA_BERRY, // 0x0a1
- ITEM_NOMEL_BERRY, // 0x0a2
- ITEM_SPELON_BERRY, // 0x0a3
- ITEM_PAMTRE_BERRY, // 0x0a4
- ITEM_WATMEL_BERRY, // 0x0a5
- ITEM_DURIN_BERRY, // 0x0a6
- ITEM_BELUE_BERRY, // 0x0a7
- ITEM_LIECHI_BERRY, // 0x0a8
- ITEM_GANLON_BERRY, // 0x0a9
- ITEM_SALAC_BERRY, // 0x0aa
- ITEM_PETAYA_BERRY, // 0x0ab
- ITEM_APICOT_BERRY, // 0x0ac
- ITEM_LANSAT_BERRY, // 0x0ad
- ITEM_STARF_BERRY, // 0x0ae
- ITEM_ENIGMA_BERRY, // 0x0af
- ITEM_0B0,
- ITEM_0B1,
- ITEM_0B2,
- ITEM_BRIGHT_POWDER, // 0x0b3
- ITEM_WHITE_HERB, // 0x0b4
- ITEM_MACHO_BRACE, // 0x0b5
- ITEM_EXP_SHARE, // 0x0b6
- ITEM_QUICK_CLAW, // 0x0b7
- ITEM_SOOTHE_BELL, // 0x0b8
- ITEM_MENTAL_HERB, // 0x0b9
- ITEM_CHOICE_BAND, // 0x0ba
- ITEM_KINGS_ROCK, // 0x0bb
- ITEM_SILVER_POWDER, // 0x0bc
- ITEM_AMULET_COIN, // 0x0bd
- ITEM_CLEANSE_TAG, // 0x0be
- ITEM_SOUL_DEW, // 0x0bf
- ITEM_DEEP_SEA_TOOTH, // 0x0c0
- ITEM_DEEP_SEA_SCALE, // 0x0c1
- ITEM_SMOKE_BALL, // 0x0c2
- ITEM_EVERSTONE, // 0x0c3
- ITEM_FOCUS_BAND, // 0x0c4
- ITEM_LUCKY_EGG, // 0x0c5
- ITEM_SCOPE_LENS, // 0x0c6
- ITEM_METAL_COAT, // 0x0c7
- ITEM_LEFTOVERS, // 0x0c8
- ITEM_DRAGON_SCALE, // 0x0c9
- ITEM_LIGHT_BALL, // 0x0ca
- ITEM_SOFT_SAND, // 0x0cb
- ITEM_HARD_STONE, // 0x0cc
- ITEM_MIRACLE_SEED, // 0x0cd
- ITEM_BLACK_GLASSES, // 0x0ce
- ITEM_BLACK_BELT, // 0x0cf
- ITEM_MAGNET, // 0x0d0
- ITEM_MYSTIC_WATER, // 0x0d1
- ITEM_SHARP_BEAK, // 0x0d2
- ITEM_POISON_BARB, // 0x0d3
- ITEM_NEVER_MELT_ICE, // 0x0d4
- ITEM_SPELL_TAG, // 0x0d5
- ITEM_TWISTED_SPOON, // 0x0d6
- ITEM_CHARCOAL, // 0x0d7
- ITEM_DRAGON_FANG, // 0x0d8
- ITEM_SILK_SCARF, // 0x0d9
- ITEM_UP_GRADE, // 0x0da
- ITEM_SHELL_BELL, // 0x0db
- ITEM_SEA_INCENSE, // 0x0dc
- ITEM_LAX_INCENSE, // 0x0dd
- ITEM_LUCKY_PUNCH, // 0x0de
- ITEM_METAL_POWDER, // 0x0df
- ITEM_THICK_CLUB, // 0x0e0
- ITEM_STICK, // 0x0e1
- ITEM_0E2,
- ITEM_0E3,
- ITEM_0E4,
- ITEM_0E5,
- ITEM_0E6,
- ITEM_0E7,
- ITEM_0E8,
- ITEM_0E9,
- ITEM_0EA,
- ITEM_0EB,
- ITEM_0EC,
- ITEM_0ED,
- ITEM_0EE,
- ITEM_0EF,
- ITEM_0F0,
- ITEM_0F1,
- ITEM_0F2,
- ITEM_0F3,
- ITEM_0F4,
- ITEM_0F5,
- ITEM_0F6,
- ITEM_0F7,
- ITEM_0F8,
- ITEM_0F9,
- ITEM_0FA,
- ITEM_0FB,
- ITEM_0FC,
- ITEM_0FD,
- ITEM_RED_SCARF, // 0x0fe
- ITEM_BLUE_SCARF, // 0x0ff
- ITEM_PINK_SCARF, // 0x100
- ITEM_GREEN_SCARF, // 0x101
- ITEM_YELLOW_SCARF, // 0x102
- ITEM_MACH_BIKE, // 0x103
- ITEM_COIN_CASE, // 0x104
- ITEM_ITEMFINDER, // 0x105
- ITEM_OLD_ROD, // 0x106
- ITEM_GOOD_ROD, // 0x107
- ITEM_SUPER_ROD, // 0x108
- ITEM_SS_TICKET, // 0x109
- ITEM_CONTEST_PASS, // 0x10a
- ITEM_10B,
- ITEM_WAILMER_PAIL, // 0x10c
- ITEM_DEVON_GOODS, // 0x10d
- ITEM_SOOT_SACK, // 0x10e
- ITEM_BASEMENT_KEY, // 0x10f
- ITEM_ACRO_BIKE, // 0x110
- ITEM_POKEBLOCK_CASE, // 0x111
- ITEM_LETTER, // 0x112
- ITEM_EON_TICKET, // 0x113
- ITEM_RED_ORB, // 0x114
- ITEM_BLUE_ORB, // 0x115
- ITEM_SCANNER, // 0x116
- ITEM_GO_GOGGLES, // 0x117
- ITEM_METEORITE, // 0x118
- ITEM_ROOM_1_KEY, // 0x119
- ITEM_ROOM_2_KEY, // 0x11a
- ITEM_ROOM_4_KEY, // 0x11b
- ITEM_ROOM_6_KEY, // 0x11c
- ITEM_STORAGE_KEY, // 0x11d
- ITEM_ROOT_FOSSIL, // 0x11e
- ITEM_CLAW_FOSSIL, // 0x11f
- ITEM_DEVON_SCOPE, // 0x120
- ITEM_TM01, // 0x121
- ITEM_TM02, // 0x122
- ITEM_TM03, // 0x123
- ITEM_TM04, // 0x124
- ITEM_TM05, // 0x125
- ITEM_TM06, // 0x126
- ITEM_TM07, // 0x127
- ITEM_TM08, // 0x128
- ITEM_TM09, // 0x129
- ITEM_TM10, // 0x12a
- ITEM_TM11, // 0x12b
- ITEM_TM12, // 0x12c
- ITEM_TM13, // 0x12d
- ITEM_TM14, // 0x12e
- ITEM_TM15, // 0x12f
- ITEM_TM16, // 0x130
- ITEM_TM17, // 0x131
- ITEM_TM18, // 0x132
- ITEM_TM19, // 0x133
- ITEM_TM20, // 0x134
- ITEM_TM21, // 0x135
- ITEM_TM22, // 0x136
- ITEM_TM23, // 0x137
- ITEM_TM24, // 0x138
- ITEM_TM25, // 0x139
- ITEM_TM26, // 0x13a
- ITEM_TM27, // 0x13b
- ITEM_TM28, // 0x13c
- ITEM_TM29, // 0x13d
- ITEM_TM30, // 0x13e
- ITEM_TM31, // 0x13f
- ITEM_TM32, // 0x140
- ITEM_TM33, // 0x141
- ITEM_TM34, // 0x142
- ITEM_TM35, // 0x143
- ITEM_TM36, // 0x144
- ITEM_TM37, // 0x145
- ITEM_TM38, // 0x146
- ITEM_TM39, // 0x147
- ITEM_TM40, // 0x148
- ITEM_TM41, // 0x149
- ITEM_TM42, // 0x14a
- ITEM_TM43, // 0x14b
- ITEM_TM44, // 0x14c
- ITEM_TM45, // 0x14d
- ITEM_TM46, // 0x14e
- ITEM_TM47, // 0x14f
- ITEM_TM48, // 0x150
- ITEM_TM49, // 0x151
- ITEM_TM50, // 0x152
- ITEM_HM01, // 0x153
- ITEM_HM02, // 0x154
- ITEM_HM03, // 0x155
- ITEM_HM04, // 0x156
- ITEM_HM05, // 0x157
- ITEM_HM06, // 0x158
- ITEM_HM07, // 0x159
- ITEM_HM08, // 0x15a
- ITEM_15B,
- ITEM_15C,
-
- // FireRed/LeafGreen
- ITEM_OAKS_PARCEL, // 0x15d
- ITEM_POKE_FLUTE, // 0x15e
- ITEM_SECRET_KEY, // 0x15f
- ITEM_BIKE_VOUCHER, // 0x160
- ITEM_GOLD_TEETH, // 0x161
- ITEM_OLD_AMBER, // 0x162
- ITEM_CARD_KEY, // 0x163
- ITEM_LIFT_KEY, // 0x164
- ITEM_HELIX_FOSSIL, // 0x165
- ITEM_DOME_FOSSIL, // 0x166
- ITEM_SILPH_SCOPE, // 0x167
- ITEM_BICYCLE, // 0x168
- ITEM_TOWN_MAP, // 0x169
- ITEM_VS_SEEKER, // 0x16a
- ITEM_FAME_CHECKER, // 0x16b
- ITEM_TM_CASE, // 0x16c
- ITEM_BERRY_POUCH, // 0x16d
- ITEM_TEACHY_TV, // 0x16e
- ITEM_TRI_PASS, // 0x16f
- ITEM_RAINBOW_PASS, // 0x170
- ITEM_TEA, // 0x171
- ITEM_MYSTIC_TICKET, // 0x172
- ITEM_AURORA_TICKET, // 0x173
- ITEM_POWDER_JAR, // 0x174
- ITEM_RUBY, // 0x175
- ITEM_SAPPHIRE, // 0x176
-
- // Emerald
- ITEM_MAGMA_EMBLEM, // 0x177
- ITEM_OLD_SEA_MAP, // 0x178
-};
-
-#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY
-#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY
-#define ITEM_TO_BERRY(itemId)(((itemId - FIRST_BERRY_INDEX) + 1))
-
-#define NUM_TECHNICAL_MACHINES 50
-#define NUM_HIDDEN_MACHINES 8
-
-#endif // GUARD_ITEMS_H
diff --git a/include/landmark.h b/include/landmark.h
new file mode 100644
index 000000000..395905033
--- /dev/null
+++ b/include/landmark.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_LANDMARK_H
+#define GUARD_LANDMARK_H
+
+const u8 *GetLandmarkName(u8 mapSection, u8 id, u8 count);
+
+#endif // GUARD_LANDMARK_H
diff --git a/include/lilycove_lady.h b/include/lilycove_lady.h
index c7776131b..084e5722e 100644
--- a/include/lilycove_lady.h
+++ b/include/lilycove_lady.h
@@ -7,7 +7,7 @@ void sub_818DA78(void);
void sub_818DEF4(void);
void sub_818E564(void);
void sub_818E570(const struct LilycoveLadyQuiz *quiz);
-bool8 sub_818E704(struct Pokeblock *pokeblock);
+bool8 GivePokeblockToContestLady(struct Pokeblock *pokeblock);
void sub_818E7E0(u8 *dest1, u8 *dest2);
void sub_818E81C(u8 *dest);
void sub_818E848(u8 *dest);
diff --git a/include/list_menu.h b/include/list_menu.h
index 0249b06af..8b793c0e4 100644
--- a/include/list_menu.h
+++ b/include/list_menu.h
@@ -1,14 +1,17 @@
#ifndef GUARD_LIST_MENU_H
#define GUARD_LIST_MENU_H
+#define LIST_NOTHING_CHOSEN -1
+#define LIST_B_PRESSED -2
+
// Exported type declarations
// Exported RAM declarations
struct ListMenuItem
{
- const u8 *unk_00;
- s32 unk_04;
+ const u8 *name;
+ s32 id;
};
struct ListMenu;
@@ -16,7 +19,7 @@ struct ListMenu;
struct ListMenuTemplate
{
const struct ListMenuItem *items;
- void (* unk_04)(u32, bool8, struct ListMenu *);
+ void (* moveCursorFunc)(u32, bool8, struct ListMenu *);
void (* unk_08)(u8, s32, u8);
u16 totalItems;
u16 maxShowed;
@@ -32,9 +35,11 @@ struct ListMenuTemplate
u32 spaceBetweenItems:6; // x20000, x40000, x80000, x100000, x200000, x400000 = x7E0000
u32 unk_16_7:1; // x800000
u32 unk_17_0:6; // x1000000, x2000000, x4000000, x8000000, x10000000, x20000000 = x3F000000
+ u32 cursorKind:2; // x40000000, x80000000
};
-struct ListMenu {
+struct ListMenu
+{
struct ListMenuTemplate _template;
u16 scrollOffset;
u16 selectedRow;
@@ -44,13 +49,13 @@ struct ListMenu {
u8 unk_1F;
};
-extern struct ListMenuTemplate gUnknown_03006310;
+extern struct ListMenuTemplate gMultiuseListMenuTemplate;
// Exported ROM declarations
-u8 ListMenuInit(struct ListMenuTemplate *template, u16 a1, u16 a2);
-s32 ListMenuHandleInput(u8 id);
-void get_coro_args_x18_x1A(u8 a0, u16 *a1, u16 *a2);
-void sub_81AE6C8(u8 a0, u16 *a1, u16 *a2);
+u8 ListMenuInit(struct ListMenuTemplate *template, u16 cursorPage, u16 cursorPosition);
+s32 ListMenuHandleInputGetItemId(u8 listTaskId);
+void sub_81AE860(u8 listTaskId, u16 *a1, u16 *a2);
+void sub_81AE6C8(u8 listTaskId, u16 *a1, u16 *a2);
#endif //GUARD_LIST_MENU_H
diff --git a/include/mail.h b/include/mail.h
index 1a29d73b5..042586653 100644
--- a/include/mail.h
+++ b/include/mail.h
@@ -1,8 +1,6 @@
#ifndef GUARD_MAIL_H
#define GUARD_MAIL_H
-#include "items.h"
-
#define IS_ITEM_MAIL(itemId)((itemId == ITEM_ORANGE_MAIL \
|| itemId == ITEM_HARBOR_MAIL \
|| itemId == ITEM_GLITTER_MAIL \
@@ -16,10 +14,20 @@
|| itemId == ITEM_FAB_MAIL \
|| itemId == ITEM_RETRO_MAIL))
+// mail.h
+void ReadMail(struct MailStruct *mail, void (*callback)(void), bool8 flag);
+// mail_data.h
+void ClearMailData(void);
+void ClearMailStruct(struct MailStruct *mail);
bool8 MonHasMail(struct Pokemon *mon);
-void TakeMailFromMon(struct Pokemon *mon);
+u8 GiveMailToMon(struct Pokemon *mon, u16 itemId);
+u16 SpeciesToMailSpecies(u16 species, u32 personality);
+u16 MailSpeciesToSpecies(u16 mailSpecies, u16 *buffer);
u8 GiveMailToMon2(struct Pokemon *mon, struct MailStruct *mail);
-void ClearMailStruct(struct MailStruct *mail);
+void TakeMailFromMon(struct Pokemon *mon);
+void ClearMailItemId(u8 mailId);
+u8 TakeMailFromMon2(struct Pokemon *mon);
+bool8 ItemIsMail(u16 itemId);
#endif // GUARD_MAIL_H
diff --git a/include/mail_data.h b/include/mail_data.h
deleted file mode 100644
index bf6540bad..000000000
--- a/include/mail_data.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef GUARD_MAIL_DATA_H
-#define GUARD_MAIL_DATA_H
-
-// Exported type declarations
-
-// Exported RAM declarations
-
-// Exported ROM declarations
-
-u16 sub_80D45E8(u16, u16 *);
-
-#endif //GUARD_MAIL_DATA_H
diff --git a/include/map_constants.h b/include/map_constants.h
deleted file mode 100644
index 6199793c8..000000000
--- a/include/map_constants.h
+++ /dev/null
@@ -1,1342 +0,0 @@
-#ifndef GUARD_MAP_CONSTANTS_H
-#define GUARD_MAP_CONSTANTS_H
-
-//--------------------------------------------------
-// Map Group 0
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_PETALBURG_CITY,
- MAP_ID_SLATEPORT_CITY,
- MAP_ID_MAUVILLE_CITY,
- MAP_ID_RUSTBORO_CITY,
- MAP_ID_FORTREE_CITY,
- MAP_ID_LILYCOVE_CITY,
- MAP_ID_MOSSDEEP_CITY,
- MAP_ID_SOOTOPOLIS_CITY,
- MAP_ID_EVER_GRANDE_CITY,
- MAP_ID_LITTLEROOT_TOWN,
- MAP_ID_OLDALE_TOWN,
- MAP_ID_DEWFORD_TOWN,
- MAP_ID_LAVARIDGE_TOWN,
- MAP_ID_FALLARBOR_TOWN,
- MAP_ID_VERDANTURF_TOWN,
- MAP_ID_PACIFIDLOG_TOWN,
- MAP_ID_ROUTE101,
- MAP_ID_ROUTE102,
- MAP_ID_ROUTE103,
- MAP_ID_ROUTE104,
- MAP_ID_ROUTE105,
- MAP_ID_ROUTE106,
- MAP_ID_ROUTE107,
- MAP_ID_ROUTE108,
- MAP_ID_ROUTE109,
- MAP_ID_ROUTE110,
- MAP_ID_ROUTE111,
- MAP_ID_ROUTE112,
- MAP_ID_ROUTE113,
- MAP_ID_ROUTE114,
- MAP_ID_ROUTE115,
- MAP_ID_ROUTE116,
- MAP_ID_ROUTE117,
- MAP_ID_ROUTE118,
- MAP_ID_ROUTE119,
- MAP_ID_ROUTE120,
- MAP_ID_ROUTE121,
- MAP_ID_ROUTE122,
- MAP_ID_ROUTE123,
- MAP_ID_ROUTE124,
- MAP_ID_ROUTE125,
- MAP_ID_ROUTE126,
- MAP_ID_ROUTE127,
- MAP_ID_ROUTE128,
- MAP_ID_ROUTE129,
- MAP_ID_ROUTE130,
- MAP_ID_ROUTE131,
- MAP_ID_ROUTE132,
- MAP_ID_ROUTE133,
- MAP_ID_ROUTE134,
- MAP_ID_UNDERWATER1,
- MAP_ID_UNDERWATER2,
- MAP_ID_UNDERWATER3,
- MAP_ID_UNDERWATER4,
- MAP_ID_UNDERWATER5,
- MAP_ID_UNDERWATER6,
- MAP_ID_UNDERWATER7,
-};
-
-#define MAP_GROUP_PETALBURG_CITY 0
-#define MAP_GROUP_SLATEPORT_CITY 0
-#define MAP_GROUP_MAUVILLE_CITY 0
-#define MAP_GROUP_RUSTBORO_CITY 0
-#define MAP_GROUP_FORTREE_CITY 0
-#define MAP_GROUP_LILYCOVE_CITY 0
-#define MAP_GROUP_MOSSDEEP_CITY 0
-#define MAP_GROUP_SOOTOPOLIS_CITY 0
-#define MAP_GROUP_EVER_GRANDE_CITY 0
-#define MAP_GROUP_LITTLEROOT_TOWN 0
-#define MAP_GROUP_OLDALE_TOWN 0
-#define MAP_GROUP_DEWFORD_TOWN 0
-#define MAP_GROUP_LAVARIDGE_TOWN 0
-#define MAP_GROUP_FALLARBOR_TOWN 0
-#define MAP_GROUP_VERDANTURF_TOWN 0
-#define MAP_GROUP_PACIFIDLOG_TOWN 0
-#define MAP_GROUP_ROUTE101 0
-#define MAP_GROUP_ROUTE102 0
-#define MAP_GROUP_ROUTE103 0
-#define MAP_GROUP_ROUTE104 0
-#define MAP_GROUP_ROUTE105 0
-#define MAP_GROUP_ROUTE106 0
-#define MAP_GROUP_ROUTE107 0
-#define MAP_GROUP_ROUTE108 0
-#define MAP_GROUP_ROUTE109 0
-#define MAP_GROUP_ROUTE110 0
-#define MAP_GROUP_ROUTE111 0
-#define MAP_GROUP_ROUTE112 0
-#define MAP_GROUP_ROUTE113 0
-#define MAP_GROUP_ROUTE114 0
-#define MAP_GROUP_ROUTE115 0
-#define MAP_GROUP_ROUTE116 0
-#define MAP_GROUP_ROUTE117 0
-#define MAP_GROUP_ROUTE118 0
-#define MAP_GROUP_ROUTE119 0
-#define MAP_GROUP_ROUTE120 0
-#define MAP_GROUP_ROUTE121 0
-#define MAP_GROUP_ROUTE122 0
-#define MAP_GROUP_ROUTE123 0
-#define MAP_GROUP_ROUTE124 0
-#define MAP_GROUP_ROUTE125 0
-#define MAP_GROUP_ROUTE126 0
-#define MAP_GROUP_ROUTE127 0
-#define MAP_GROUP_ROUTE128 0
-#define MAP_GROUP_ROUTE129 0
-#define MAP_GROUP_ROUTE130 0
-#define MAP_GROUP_ROUTE131 0
-#define MAP_GROUP_ROUTE132 0
-#define MAP_GROUP_ROUTE133 0
-#define MAP_GROUP_ROUTE134 0
-#define MAP_GROUP_UNDERWATER1 0
-#define MAP_GROUP_UNDERWATER2 0
-#define MAP_GROUP_UNDERWATER3 0
-#define MAP_GROUP_UNDERWATER4 0
-#define MAP_GROUP_UNDERWATER5 0
-#define MAP_GROUP_UNDERWATER6 0
-#define MAP_GROUP_UNDERWATER7 0
-//--------------------------------------------------
-// Map Group 1
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F,
- MAP_ID_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F,
- MAP_ID_LITTLEROOT_TOWN_MAYS_HOUSE_1F,
- MAP_ID_LITTLEROOT_TOWN_MAYS_HOUSE_2F,
- MAP_ID_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB,
-};
-
-#define MAP_GROUP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F 1
-#define MAP_GROUP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F 1
-#define MAP_GROUP_LITTLEROOT_TOWN_MAYS_HOUSE_1F 1
-#define MAP_GROUP_LITTLEROOT_TOWN_MAYS_HOUSE_2F 1
-#define MAP_GROUP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB 1
-
-//--------------------------------------------------
-// Map Group 2
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_OLDALE_TOWN_HOUSE1,
- MAP_ID_OLDALE_TOWN_HOUSE2,
- MAP_ID_OLDALE_TOWN_POKEMON_CENTER_1F,
- MAP_ID_OLDALE_TOWN_POKEMON_CENTER_2F,
- MAP_ID_OLDALE_TOWN_MART,
-};
-
-#define MAP_GROUP_OLDALE_TOWN_HOUSE1 2
-#define MAP_GROUP_OLDALE_TOWN_HOUSE2 2
-#define MAP_GROUP_OLDALE_TOWN_POKEMON_CENTER_1F 2
-#define MAP_GROUP_OLDALE_TOWN_POKEMON_CENTER_2F 2
-#define MAP_GROUP_OLDALE_TOWN_MART 2
-
-//--------------------------------------------------
-// Map Group 3
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_DEWFORD_TOWN_HOUSE1,
- MAP_ID_DEWFORD_TOWN_POKEMON_CENTER_1F,
- MAP_ID_DEWFORD_TOWN_POKEMON_CENTER_2F,
- MAP_ID_DEWFORD_TOWN_GYM,
- MAP_ID_DEWFORD_TOWN_HALL,
- MAP_ID_DEWFORD_TOWN_HOUSE2,
-};
-
-#define MAP_GROUP_DEWFORD_TOWN_HOUSE1 3
-#define MAP_GROUP_DEWFORD_TOWN_POKEMON_CENTER_1F 3
-#define MAP_GROUP_DEWFORD_TOWN_POKEMON_CENTER_2F 3
-#define MAP_GROUP_DEWFORD_TOWN_GYM 3
-#define MAP_GROUP_DEWFORD_TOWN_HALL 3
-#define MAP_GROUP_DEWFORD_TOWN_HOUSE2 3
-
-//--------------------------------------------------
-// Map Group 4
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_LAVARIDGE_TOWN_HERB_SHOP,
- MAP_ID_LAVARIDGE_TOWN_GYM_1F,
- MAP_ID_LAVARIDGE_TOWN_GYM_B1F,
- MAP_ID_LAVARIDGE_TOWN_HOUSE,
- MAP_ID_LAVARIDGE_TOWN_MART,
- MAP_ID_LAVARIDGE_TOWN_POKEMON_CENTER_1F,
- MAP_ID_LAVARIDGE_TOWN_POKEMON_CENTER_2F,
-};
-
-#define MAP_GROUP_LAVARIDGE_TOWN_HERB_SHOP 4
-#define MAP_GROUP_LAVARIDGE_TOWN_GYM_1F 4
-#define MAP_GROUP_LAVARIDGE_TOWN_GYM_B1F 4
-#define MAP_GROUP_LAVARIDGE_TOWN_HOUSE 4
-#define MAP_GROUP_LAVARIDGE_TOWN_MART 4
-#define MAP_GROUP_LAVARIDGE_TOWN_POKEMON_CENTER_1F 4
-#define MAP_GROUP_LAVARIDGE_TOWN_POKEMON_CENTER_2F 4
-
-//--------------------------------------------------
-// Map Group 5
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_FALLARBOR_TOWN_MART,
- MAP_ID_FALLARBOR_TOWN_TENT_LOBBY,
- MAP_ID_FALLARBOR_TOWN_TENT_HALL,
- MAP_ID_FALLARBOR_TOWN_TENT_ARENA,
- MAP_ID_FALLARBOR_TOWN_POKEMON_CENTER_1F,
- MAP_ID_FALLARBOR_TOWN_POKEMON_CENTER_2F,
- MAP_ID_FALLARBOR_TOWN_HOUSE1,
- MAP_ID_FALLARBOR_TOWN_HOUSE2,
-};
-
-#define MAP_GROUP_FALLARBOR_TOWN_MART 5
-#define MAP_GROUP_FALLARBOR_TOWN_TENT_LOBBY 5
-#define MAP_GROUP_FALLARBOR_TOWN_TENT_HALL 5
-#define MAP_GROUP_FALLARBOR_TOWN_TENT_ARENA 5
-#define MAP_GROUP_FALLARBOR_TOWN_POKEMON_CENTER_1F 5
-#define MAP_GROUP_FALLARBOR_TOWN_POKEMON_CENTER_2F 5
-#define MAP_GROUP_FALLARBOR_TOWN_HOUSE1 5
-#define MAP_GROUP_FALLARBOR_TOWN_HOUSE2 5
-
-//--------------------------------------------------
-// Map Group 6
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_VERDANTURF_TOWN_TENT_LOBBY,
- MAP_ID_VERDANTURF_TOWN_TENT_HALL,
- MAP_ID_VERDANTURF_TOWN_TENT_ARENA,
- MAP_ID_VERDANTURF_TOWN_MART,
- MAP_ID_VERDANTURF_TOWN_POKEMON_CENTER_1F,
- MAP_ID_VERDANTURF_TOWN_POKEMON_CENTER_2F,
- MAP_ID_VERDANTURF_TOWN_WANDAS_HOUSE,
- MAP_ID_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE,
- MAP_ID_VERDANTURF_TOWN_HOUSE,
-};
-
-#define MAP_GROUP_VERDANTURF_TOWN_TENT_LOBBY 6
-#define MAP_GROUP_VERDANTURF_TOWN_TENT_HALL 6
-#define MAP_GROUP_VERDANTURF_TOWN_TENT_ARENA 6
-#define MAP_GROUP_VERDANTURF_TOWN_MART 6
-#define MAP_GROUP_VERDANTURF_TOWN_POKEMON_CENTER_1F 6
-#define MAP_GROUP_VERDANTURF_TOWN_POKEMON_CENTER_2F 6
-#define MAP_GROUP_VERDANTURF_TOWN_WANDAS_HOUSE 6
-#define MAP_GROUP_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE 6
-#define MAP_GROUP_VERDANTURF_TOWN_HOUSE 6
-
-//--------------------------------------------------
-// Map Group 7
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_PACIFIDLOG_TOWN_POKEMON_CENTER_1F,
- MAP_ID_PACIFIDLOG_TOWN_POKEMON_CENTER_2F,
- MAP_ID_PACIFIDLOG_TOWN_HOUSE1,
- MAP_ID_PACIFIDLOG_TOWN_HOUSE2,
- MAP_ID_PACIFIDLOG_TOWN_HOUSE3,
- MAP_ID_PACIFIDLOG_TOWN_HOUSE4,
- MAP_ID_PACIFIDLOG_TOWN_HOUSE5,
-};
-
-#define MAP_GROUP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F 7
-#define MAP_GROUP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F 7
-#define MAP_GROUP_PACIFIDLOG_TOWN_HOUSE1 7
-#define MAP_GROUP_PACIFIDLOG_TOWN_HOUSE2 7
-#define MAP_GROUP_PACIFIDLOG_TOWN_HOUSE3 7
-#define MAP_GROUP_PACIFIDLOG_TOWN_HOUSE4 7
-#define MAP_GROUP_PACIFIDLOG_TOWN_HOUSE5 7
-
-//--------------------------------------------------
-// Map Group 8
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_PETALBURG_CITY_WALLYS_HOUSE,
- MAP_ID_PETALBURG_CITY_GYM,
- MAP_ID_PETALBURG_CITY_HOUSE1,
- MAP_ID_PETALBURG_CITY_HOUSE2,
- MAP_ID_PETALBURG_CITY_POKEMON_CENTER_1F,
- MAP_ID_PETALBURG_CITY_POKEMON_CENTER_2F,
- MAP_ID_PETALBURG_CITY_MART,
-};
-
-#define MAP_GROUP_PETALBURG_CITY_WALLYS_HOUSE 8
-#define MAP_GROUP_PETALBURG_CITY_GYM 8
-#define MAP_GROUP_PETALBURG_CITY_HOUSE1 8
-#define MAP_GROUP_PETALBURG_CITY_HOUSE2 8
-#define MAP_GROUP_PETALBURG_CITY_POKEMON_CENTER_1F 8
-#define MAP_GROUP_PETALBURG_CITY_POKEMON_CENTER_2F 8
-#define MAP_GROUP_PETALBURG_CITY_MART 8
-
-//--------------------------------------------------
-// Map Group 9
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_SLATEPORT_CITY_STERNS_SHIPYARD_1F,
- MAP_ID_SLATEPORT_CITY_STERNS_SHIPYARD_2F,
- MAP_ID_SLATEPORT_CITY_TENT_LOBBY,
- MAP_ID_SLATEPORT_CITY_TENT_HALL,
- MAP_ID_SLATEPORT_CITY_TENT_ARENA,
- MAP_ID_SLATEPORT_CITY_HOUSE1,
- MAP_ID_SLATEPORT_CITY_POKEMON_FAN_CLUB,
- MAP_ID_SLATEPORT_CITY_OCEANIC_MUSEUM_1F,
- MAP_ID_SLATEPORT_CITY_OCEANIC_MUSEUM_2F,
- MAP_ID_SLATEPORT_CITY_HARBOR,
- MAP_ID_SLATEPORT_CITY_HOUSE2,
- MAP_ID_SLATEPORT_CITY_POKEMON_CENTER_1F,
- MAP_ID_SLATEPORT_CITY_POKEMON_CENTER_2F,
- MAP_ID_SLATEPORT_CITY_MART,
-};
-
-#define MAP_GROUP_SLATEPORT_CITY_STERNS_SHIPYARD_1F 9
-#define MAP_GROUP_SLATEPORT_CITY_STERNS_SHIPYARD_2F 9
-#define MAP_GROUP_SLATEPORT_CITY_TENT_LOBBY 9
-#define MAP_GROUP_SLATEPORT_CITY_TENT_HALL 9
-#define MAP_GROUP_SLATEPORT_CITY_TENT_ARENA 9
-#define MAP_GROUP_SLATEPORT_CITY_HOUSE1 9
-#define MAP_GROUP_SLATEPORT_CITY_POKEMON_FAN_CLUB 9
-#define MAP_GROUP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F 9
-#define MAP_GROUP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F 9
-#define MAP_GROUP_SLATEPORT_CITY_HARBOR 9
-#define MAP_GROUP_SLATEPORT_CITY_HOUSE2 9
-#define MAP_GROUP_SLATEPORT_CITY_POKEMON_CENTER_1F 9
-#define MAP_GROUP_SLATEPORT_CITY_POKEMON_CENTER_2F 9
-#define MAP_GROUP_SLATEPORT_CITY_MART 9
-
-//--------------------------------------------------
-// Map Group 10
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_MAUVILLE_CITY_GYM,
- MAP_ID_MAUVILLE_CITY_BIKE_SHOP,
- MAP_ID_MAUVILLE_CITY_HOUSE1,
- MAP_ID_MAUVILLE_CITY_GAME_CORNER,
- MAP_ID_MAUVILLE_CITY_HOUSE2,
- MAP_ID_MAUVILLE_CITY_POKEMON_CENTER_1F,
- MAP_ID_MAUVILLE_CITY_POKEMON_CENTER_2F,
- MAP_ID_MAUVILLE_CITY_MART,
-};
-
-#define MAP_GROUP_MAUVILLE_CITY_GYM 10
-#define MAP_GROUP_MAUVILLE_CITY_BIKE_SHOP 10
-#define MAP_GROUP_MAUVILLE_CITY_HOUSE1 10
-#define MAP_GROUP_MAUVILLE_CITY_GAME_CORNER 10
-#define MAP_GROUP_MAUVILLE_CITY_HOUSE2 10
-#define MAP_GROUP_MAUVILLE_CITY_POKEMON_CENTER_1F 10
-#define MAP_GROUP_MAUVILLE_CITY_POKEMON_CENTER_2F 10
-#define MAP_GROUP_MAUVILLE_CITY_MART 10
-
-//--------------------------------------------------
-// Map Group 11
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_RUSTBORO_CITY_DEVON_CORP_1F,
- MAP_ID_RUSTBORO_CITY_DEVON_CORP_2F,
- MAP_ID_RUSTBORO_CITY_DEVON_CORP_3F,
- MAP_ID_RUSTBORO_CITY_GYM,
- MAP_ID_RUSTBORO_CITY_POKEMON_SCHOOL,
- MAP_ID_RUSTBORO_CITY_POKEMON_CENTER_1F,
- MAP_ID_RUSTBORO_CITY_POKEMON_CENTER_2F,
- MAP_ID_RUSTBORO_CITY_MART,
- MAP_ID_RUSTBORO_CITY_FLAT1_1F,
- MAP_ID_RUSTBORO_CITY_FLAT1_2F,
- MAP_ID_RUSTBORO_CITY_HOUSE1,
- MAP_ID_RUSTBORO_CITY_CUTTERS_HOUSE,
- MAP_ID_RUSTBORO_CITY_HOUSE2,
- MAP_ID_RUSTBORO_CITY_FLAT2_1F,
- MAP_ID_RUSTBORO_CITY_FLAT2_2F,
- MAP_ID_RUSTBORO_CITY_FLAT2_3F,
- MAP_ID_RUSTBORO_CITY_HOUSE3,
-};
-
-#define MAP_GROUP_RUSTBORO_CITY_DEVON_CORP_1F 11
-#define MAP_GROUP_RUSTBORO_CITY_DEVON_CORP_2F 11
-#define MAP_GROUP_RUSTBORO_CITY_DEVON_CORP_3F 11
-#define MAP_GROUP_RUSTBORO_CITY_GYM 11
-#define MAP_GROUP_RUSTBORO_CITY_POKEMON_SCHOOL 11
-#define MAP_GROUP_RUSTBORO_CITY_POKEMON_CENTER_1F 11
-#define MAP_GROUP_RUSTBORO_CITY_POKEMON_CENTER_2F 11
-#define MAP_GROUP_RUSTBORO_CITY_MART 11
-#define MAP_GROUP_RUSTBORO_CITY_FLAT1_1F 11
-#define MAP_GROUP_RUSTBORO_CITY_FLAT1_2F 11
-#define MAP_GROUP_RUSTBORO_CITY_HOUSE1 11
-#define MAP_GROUP_RUSTBORO_CITY_CUTTERS_HOUSE 11
-#define MAP_GROUP_RUSTBORO_CITY_HOUSE2 11
-#define MAP_GROUP_RUSTBORO_CITY_FLAT2_1F 11
-#define MAP_GROUP_RUSTBORO_CITY_FLAT2_2F 11
-#define MAP_GROUP_RUSTBORO_CITY_FLAT2_3F 11
-#define MAP_GROUP_RUSTBORO_CITY_HOUSE3 11
-
-//--------------------------------------------------
-// Map Group 12
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_FORTREE_CITY_HOUSE1,
- MAP_ID_FORTREE_CITY_GYM,
- MAP_ID_FORTREE_CITY_POKEMON_CENTER_1F,
- MAP_ID_FORTREE_CITY_POKEMON_CENTER_2F,
- MAP_ID_FORTREE_CITY_MART,
- MAP_ID_FORTREE_CITY_HOUSE2,
- MAP_ID_FORTREE_CITY_HOUSE3,
- MAP_ID_FORTREE_CITY_HOUSE4,
- MAP_ID_FORTREE_CITY_HOUSE5,
- MAP_ID_FORTREE_CITY_DECORATION_SHOP,
-};
-
-#define MAP_GROUP_FORTREE_CITY_HOUSE1 12
-#define MAP_GROUP_FORTREE_CITY_GYM 12
-#define MAP_GROUP_FORTREE_CITY_POKEMON_CENTER_1F 12
-#define MAP_GROUP_FORTREE_CITY_POKEMON_CENTER_2F 12
-#define MAP_GROUP_FORTREE_CITY_MART 12
-#define MAP_GROUP_FORTREE_CITY_HOUSE2 12
-#define MAP_GROUP_FORTREE_CITY_HOUSE3 12
-#define MAP_GROUP_FORTREE_CITY_HOUSE4 12
-#define MAP_GROUP_FORTREE_CITY_HOUSE5 12
-#define MAP_GROUP_FORTREE_CITY_DECORATION_SHOP 12
-
-//--------------------------------------------------
-// Map Group 13
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_LILYCOVE_CITY_COVE_LILY_MOTEL_1F,
- MAP_ID_LILYCOVE_CITY_COVE_LILY_MOTEL_2F,
- MAP_ID_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F,
- MAP_ID_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F,
- MAP_ID_LILYCOVE_CITY_CONTEST_LOBBY,
- MAP_ID_LILYCOVE_CITY_CONTEST_HALL,
- MAP_ID_LILYCOVE_CITY_POKEMON_CENTER_1F,
- MAP_ID_LILYCOVE_CITY_POKEMON_CENTER_2F,
- MAP_ID_LILYCOVE_CITY_UNUSED_MART,
- MAP_ID_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB,
- MAP_ID_LILYCOVE_CITY_HARBOR,
- MAP_ID_LILYCOVE_CITY_MOVE_DELETERS_HOUSE,
- MAP_ID_LILYCOVE_CITY_HOUSE1,
- MAP_ID_LILYCOVE_CITY_HOUSE2,
- MAP_ID_LILYCOVE_CITY_HOUSE3,
- MAP_ID_LILYCOVE_CITY_HOUSE4,
- MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_1F,
- MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_2F,
- MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_3F,
- MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_4F,
- MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_5F,
- MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP,
- MAP_ID_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR,
-};
-
-#define MAP_GROUP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F 13
-#define MAP_GROUP_LILYCOVE_CITY_COVE_LILY_MOTEL_2F 13
-#define MAP_GROUP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F 13
-#define MAP_GROUP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F 13
-#define MAP_GROUP_LILYCOVE_CITY_CONTEST_LOBBY 13
-#define MAP_GROUP_LILYCOVE_CITY_CONTEST_HALL 13
-#define MAP_GROUP_LILYCOVE_CITY_POKEMON_CENTER_1F 13
-#define MAP_GROUP_LILYCOVE_CITY_POKEMON_CENTER_2F 13
-#define MAP_GROUP_LILYCOVE_CITY_UNUSED_MART 13
-#define MAP_GROUP_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB 13
-#define MAP_GROUP_LILYCOVE_CITY_HARBOR 13
-#define MAP_GROUP_LILYCOVE_CITY_MOVE_DELETERS_HOUSE 13
-#define MAP_GROUP_LILYCOVE_CITY_HOUSE1 13
-#define MAP_GROUP_LILYCOVE_CITY_HOUSE2 13
-#define MAP_GROUP_LILYCOVE_CITY_HOUSE3 13
-#define MAP_GROUP_LILYCOVE_CITY_HOUSE4 13
-#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_1F 13
-#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_2F 13
-#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_3F 13
-#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_4F 13
-#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_5F 13
-#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP 13
-#define MAP_GROUP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR 13
-
-//--------------------------------------------------
-// Map Group 14
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_MOSSDEEP_CITY_GYM,
- MAP_ID_MOSSDEEP_CITY_HOUSE1,
- MAP_ID_MOSSDEEP_CITY_HOUSE2,
- MAP_ID_MOSSDEEP_CITY_POKEMON_CENTER_1F,
- MAP_ID_MOSSDEEP_CITY_POKEMON_CENTER_2F,
- MAP_ID_MOSSDEEP_CITY_MART,
- MAP_ID_MOSSDEEP_CITY_HOUSE3,
- MAP_ID_MOSSDEEP_CITY_STEVENS_HOUSE,
- MAP_ID_MOSSDEEP_CITY_HOUSE4,
- MAP_ID_MOSSDEEP_CITY_SPACE_CENTER_1F,
- MAP_ID_MOSSDEEP_CITY_SPACE_CENTER_2F,
- MAP_ID_MOSSDEEP_CITY_GAME_CORNER_1F,
- MAP_ID_MOSSDEEP_CITY_GAME_CORNER_B1F,
-};
-
-#define MAP_GROUP_MOSSDEEP_CITY_GYM 14
-#define MAP_GROUP_MOSSDEEP_CITY_HOUSE1 14
-#define MAP_GROUP_MOSSDEEP_CITY_HOUSE2 14
-#define MAP_GROUP_MOSSDEEP_CITY_POKEMON_CENTER_1F 14
-#define MAP_GROUP_MOSSDEEP_CITY_POKEMON_CENTER_2F 14
-#define MAP_GROUP_MOSSDEEP_CITY_MART 14
-#define MAP_GROUP_MOSSDEEP_CITY_HOUSE3 14
-#define MAP_GROUP_MOSSDEEP_CITY_STEVENS_HOUSE 14
-#define MAP_GROUP_MOSSDEEP_CITY_HOUSE4 14
-#define MAP_GROUP_MOSSDEEP_CITY_SPACE_CENTER_1F 14
-#define MAP_GROUP_MOSSDEEP_CITY_SPACE_CENTER_2F 14
-#define MAP_GROUP_MOSSDEEP_CITY_GAME_CORNER_1F 14
-#define MAP_GROUP_MOSSDEEP_CITY_GAME_CORNER_B1F 14
-
-//--------------------------------------------------
-// Map Group 15
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_SOOTOPOLIS_CITY_GYM_1F,
- MAP_ID_SOOTOPOLIS_CITY_GYM_B1F,
- MAP_ID_SOOTOPOLIS_CITY_POKEMON_CENTER_1F,
- MAP_ID_SOOTOPOLIS_CITY_POKEMON_CENTER_2F,
- MAP_ID_SOOTOPOLIS_CITY_MART,
- MAP_ID_SOOTOPOLIS_CITY_HOUSE1,
- MAP_ID_SOOTOPOLIS_CITY_HOUSE2,
- MAP_ID_SOOTOPOLIS_CITY_HOUSE3,
- MAP_ID_SOOTOPOLIS_CITY_HOUSE4,
- MAP_ID_SOOTOPOLIS_CITY_HOUSE5,
- MAP_ID_SOOTOPOLIS_CITY_HOUSE6,
- MAP_ID_SOOTOPOLIS_CITY_HOUSE7,
- MAP_ID_SOOTOPOLIS_CITY_HOUSE8,
- MAP_ID_SOOTOPOLIS_CITY_BATTLEHOUSE_1,
- MAP_ID_SOOTOPOLIS_CITY_BATTLEHOUSE_2,
-};
-
-#define MAP_GROUP_SOOTOPOLIS_CITY_GYM_1F 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_GYM_B1F 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_MART 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE1 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE2 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE3 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE4 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE5 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE6 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE7 15
-#define MAP_GROUP_SOOTOPOLIS_CITY_HOUSE8 15
-#define MAP_ID_SOOTOPOLIS_CITY_BATTLEHOUSE_1 15
-#define MAP_ID_SOOTOPOLIS_CITY_BATTLEHOUSE_2 15
-//--------------------------------------------------
-// Map Group 16
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_EVER_GRANDE_CITY_SIDNEYS_ROOM,
- MAP_ID_EVER_GRANDE_CITY_PHOEBES_ROOM,
- MAP_ID_EVER_GRANDE_CITY_GLACIAS_ROOM,
- MAP_ID_EVER_GRANDE_CITY_DRAKES_ROOM,
- MAP_ID_EVER_GRANDE_CITY_CHAMPIONS_ROOM,
- MAP_ID_EVER_GRANDE_CITY_CORRIDOR1,
- MAP_ID_EVER_GRANDE_CITY_CORRIDOR2,
- MAP_ID_EVER_GRANDE_CITY_CORRIDOR3,
- MAP_ID_EVER_GRANDE_CITY_CORRIDOR4,
- MAP_ID_EVER_GRANDE_CITY_CORRIDOR5,
- MAP_ID_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F,
- MAP_ID_EVER_GRANDE_CITY_HALL_OF_FAME,
- MAP_ID_EVER_GRANDE_CITY_POKEMON_CENTER_1F,
- MAP_ID_EVER_GRANDE_CITY_POKEMON_CENTER_2F,
- MAP_ID_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F,
-};
-
-#define MAP_GROUP_EVER_GRANDE_CITY_SIDNEYS_ROOM 16
-#define MAP_GROUP_EVER_GRANDE_CITY_PHOEBES_ROOM 16
-#define MAP_GROUP_EVER_GRANDE_CITY_GLACIAS_ROOM 16
-#define MAP_GROUP_EVER_GRANDE_CITY_DRAKES_ROOM 16
-#define MAP_GROUP_EVER_GRANDE_CITY_CHAMPIONS_ROOM 16
-#define MAP_GROUP_EVER_GRANDE_CITY_CORRIDOR1 16
-#define MAP_GROUP_EVER_GRANDE_CITY_CORRIDOR2 16
-#define MAP_GROUP_EVER_GRANDE_CITY_CORRIDOR3 16
-#define MAP_GROUP_EVER_GRANDE_CITY_CORRIDOR4 16
-#define MAP_GROUP_EVER_GRANDE_CITY_CORRIDOR5 16
-#define MAP_GROUP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F 16
-#define MAP_GROUP_EVER_GRANDE_CITY_HALL_OF_FAME 16
-#define MAP_GROUP_EVER_GRANDE_CITY_POKEMON_CENTER_1F 16
-#define MAP_GROUP_EVER_GRANDE_CITY_POKEMON_CENTER_2F 16
-#define MAP_GROUP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F 16
-
-//--------------------------------------------------
-// Map Group 17
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE104_MR_BRINEYS_HOUSE,
- MAP_ID_ROUTE104_PRETTY_PETAL_FLOWER_SHOP,
-};
-
-#define MAP_GROUP_ROUTE104_MR_BRINEYS_HOUSE 17
-#define MAP_GROUP_ROUTE104_PRETTY_PETAL_FLOWER_SHOP 17
-
-//--------------------------------------------------
-// Map Group 18
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE111_WINSTRATE_FAMILYS_HOUSE,
- MAP_ID_ROUTE111_OLD_LADYS_REST_STOP,
-};
-
-#define MAP_GROUP_ROUTE111_WINSTRATE_FAMILYS_HOUSE 18
-#define MAP_GROUP_ROUTE111_OLD_LADYS_REST_STOP 18
-
-//--------------------------------------------------
-// Map Group 19
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE112_CABLE_CAR_STATION,
- MAP_ID_MT_CHIMNEY_CABLE_CAR_STATION,
-};
-
-#define MAP_GROUP_ROUTE112_CABLE_CAR_STATION 19
-#define MAP_GROUP_MT_CHIMNEY_CABLE_CAR_STATION 19
-
-//--------------------------------------------------
-// Map Group 20
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE114_FOSSIL_MANIACS_HOUSE,
- MAP_ID_ROUTE114_FOSSIL_MANIACS_TUNNEL,
- MAP_ID_ROUTE114_LANETTES_HOUSE,
-};
-
-#define MAP_GROUP_ROUTE114_FOSSIL_MANIACS_HOUSE 20
-#define MAP_GROUP_ROUTE114_FOSSIL_MANIACS_TUNNEL 20
-#define MAP_GROUP_ROUTE114_LANETTES_HOUSE 20
-
-//--------------------------------------------------
-// Map Group 21
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE116_TUNNELERS_REST_HOUSE,
-};
-
-#define MAP_GROUP_ROUTE116_TUNNELERS_REST_HOUSE 21
-
-//--------------------------------------------------
-// Map Group 22
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE117_POKEMON_DAY_CARE,
-};
-
-#define MAP_GROUP_ROUTE117_POKEMON_DAY_CARE 22
-
-//--------------------------------------------------
-// Map Group 23
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE121_SAFARI_ZONE_ENTRANCE,
-};
-
-#define MAP_GROUP_ROUTE121_SAFARI_ZONE_ENTRANCE 23
-
-//--------------------------------------------------
-// Map Group 24
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_METEOR_FALLS_1F_1R,
- MAP_ID_METEOR_FALLS_1F_2R,
- MAP_ID_METEOR_FALLS_B1F_1R,
- MAP_ID_METEOR_FALLS_B1F_2R,
- MAP_ID_RUSTURF_TUNNEL,
- MAP_ID_UNDERWATER_SOOTOPOLIS_CITY,
- MAP_ID_DESERT_RUINS,
- MAP_ID_GRANITE_CAVE_1F,
- MAP_ID_GRANITE_CAVE_B1F,
- MAP_ID_GRANITE_CAVE_B2F,
- MAP_ID_GRANITE_CAVE_STEVENS_ROOM,
- MAP_ID_PETALBURG_WOODS,
- MAP_ID_MT_CHIMNEY,
- MAP_ID_JAGGED_PASS,
- MAP_ID_FIERY_PATH,
- MAP_ID_MT_PYRE_1F,
- MAP_ID_MT_PYRE_2F,
- MAP_ID_MT_PYRE_3F,
- MAP_ID_MT_PYRE_4F,
- MAP_ID_MT_PYRE_5F,
- MAP_ID_MT_PYRE_6F,
- MAP_ID_MT_PYRE_EXTERIOR,
- MAP_ID_MT_PYRE_SUMMIT,
- MAP_ID_AQUA_HIDEOUT_1F,
- MAP_ID_AQUA_HIDEOUT_B1F,
- MAP_ID_AQUA_HIDEOUT_B2F,
- MAP_ID_UNDERWATER_SEAFLOOR_CAVERN,
- MAP_ID_SEAFLOOR_CAVERN_ENTRANCE,
- MAP_ID_SEAFLOOR_CAVERN_ROOM1,
- MAP_ID_SEAFLOOR_CAVERN_ROOM2,
- MAP_ID_SEAFLOOR_CAVERN_ROOM3,
- MAP_ID_SEAFLOOR_CAVERN_ROOM4,
- MAP_ID_SEAFLOOR_CAVERN_ROOM5,
- MAP_ID_SEAFLOOR_CAVERN_ROOM6,
- MAP_ID_SEAFLOOR_CAVERN_ROOM7,
- MAP_ID_SEAFLOOR_CAVERN_ROOM8,
- MAP_ID_SEAFLOOR_CAVERN_ROOM9,
- MAP_ID_CAVE_OF_ORIGIN_ENTRANCE,
- MAP_ID_CAVE_OF_ORIGIN_1F,
- MAP_ID_CAVE_OF_ORIGIN_B1F,
- MAP_ID_CAVE_OF_ORIGIN_B2F,
- MAP_ID_CAVE_OF_ORIGIN_B3F,
- MAP_ID_CAVE_OF_ORIGIN_B4F,
- MAP_ID_VICTORY_ROAD_1F,
- MAP_ID_VICTORY_ROAD_B1F,
- MAP_ID_VICTORY_ROAD_B2F,
- MAP_ID_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM,
- MAP_ID_SHOAL_CAVE_LOW_TIDE_INNER_ROOM,
- MAP_ID_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM,
- MAP_ID_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM,
- MAP_ID_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM,
- MAP_ID_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM,
- MAP_ID_NEW_MAUVILLE_ENTRANCE,
- MAP_ID_NEW_MAUVILLE_INSIDE,
- MAP_ID_ABANDONED_SHIP_DECK,
- MAP_ID_ABANDONED_SHIP_CORRIDORS_1F,
- MAP_ID_ABANDONED_SHIP_ROOMS_1F,
- MAP_ID_ABANDONED_SHIP_CORRIDORS_B1F,
- MAP_ID_ABANDONED_SHIP_ROOMS_B1F,
- MAP_ID_ABANDONED_SHIP_ROOMS2_B1F,
- MAP_ID_ABANDONED_SHIP_UNDERWATER1,
- MAP_ID_ABANDONED_SHIP_ROOM_B1F,
- MAP_ID_ABANDONED_SHIP_ROOMS2_1F,
- MAP_ID_ABANDONED_SHIP_CAPTAINS_OFFICE,
- MAP_ID_ABANDONED_SHIP_UNDERWATER2,
- MAP_ID_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS,
- MAP_ID_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS,
- MAP_ID_ISLAND_CAVE,
- MAP_ID_ANCIENT_TOMB,
- MAP_ID_UNDERWATER_ROUTE134,
- MAP_ID_UNDERWATER_SEALED_CHAMBER,
- MAP_ID_SEALED_CHAMBER_OUTER_ROOM,
- MAP_ID_SEALED_CHAMBER_INNER_ROOM,
- MAP_ID_SCORCHED_SLAB,
- MAP_ID_UNUSED_AQUA_HIDEOUT_1F,
- MAP_ID_UNUSED_AQUA_HIDEOUT_B1F,
- MAP_ID_UNUSED_AQUA_HIDEOUT_B2F,
- MAP_ID_SKY_PILLAR_ENTRANCE,
- MAP_ID_SKY_PILLAR_OUTSIDE,
- MAP_ID_SKY_PILLAR_1F,
- MAP_ID_SKY_PILLAR_2F,
- MAP_ID_SKY_PILLAR_3F,
- MAP_ID_SKY_PILLAR_4F,
- MAP_ID_SHOAL_CAVE_LOW_TIDE_ICE_ROOM,
- MAP_ID_SKY_PILLAR_5F,
- MAP_ID_SKY_PILLAR_TOP,
- MAP_ID_MAGMA_HIDEOUT_ENTRANCE,
- MAP_ID_MAGMA_HIDEOUT_B1F,
- MAP_ID_MAGMA_HIDEOUT_B2F,
- MAP_ID_MAGMA_HIDEOUT_B3F,
- MAP_ID_MAGMA_HIDEOUT_B4F,
- MAP_ID_MAGMA_HIDEOUT_B5F,
- MAP_ID_MAGMA_HIDEOUT_B6F,
- MAP_ID_MAGMA_HIDEOUT_B7F,
- MAP_ID_MIRAGE_TOWER_1F,
- MAP_ID_MIRAGE_TOWER_2F,
- MAP_ID_MIRAGE_TOWER_3F,
- MAP_ID_MIRAGE_TOWER_4F,
- MAP_ID_DESERT_UNDERPASS,
- MAP_ID_ARTISAN_CAVE_1F,
- MAP_ID_ARTISAN_CAVE_2F,
- MAP_ID_UNKNOWN_UNDERWATER,
- MAP_ID_MARINE_CAVE_1F,
- MAP_ID_MARINE_CAVE_2F,
- MAP_ID_TERRA_CAVE_1F,
- MAP_ID_TERRA_CAVE_2F,
- MAP_ID_ALTERING_CAVE,
- MAP_ID_METEOR_FALLS_B1F_3R,
-};
-
-#define MAP_GROUP_METEOR_FALLS_1F_1R 24
-#define MAP_GROUP_METEOR_FALLS_1F_2R 24
-#define MAP_GROUP_METEOR_FALLS_B1F_1R 24
-#define MAP_GROUP_METEOR_FALLS_B1F_2R 24
-#define MAP_GROUP_RUSTURF_TUNNEL 24
-#define MAP_GROUP_UNDERWATER_SOOTOPOLIS_CITY 24
-#define MAP_GROUP_DESERT_RUINS 24
-#define MAP_GROUP_GRANITE_CAVE_1F 24
-#define MAP_GROUP_GRANITE_CAVE_B1F 24
-#define MAP_GROUP_GRANITE_CAVE_B2F 24
-#define MAP_GROUP_GRANITE_CAVE_STEVENS_ROOM 24
-#define MAP_GROUP_PETALBURG_WOODS 24
-#define MAP_GROUP_MT_CHIMNEY 24
-#define MAP_GROUP_JAGGED_PASS 24
-#define MAP_GROUP_FIERY_PATH 24
-#define MAP_GROUP_MT_PYRE_1F 24
-#define MAP_GROUP_MT_PYRE_2F 24
-#define MAP_GROUP_MT_PYRE_3F 24
-#define MAP_GROUP_MT_PYRE_4F 24
-#define MAP_GROUP_MT_PYRE_5F 24
-#define MAP_GROUP_MT_PYRE_6F 24
-#define MAP_GROUP_MT_PYRE_EXTERIOR 24
-#define MAP_GROUP_MT_PYRE_SUMMIT 24
-#define MAP_GROUP_AQUA_HIDEOUT_1F 24
-#define MAP_GROUP_AQUA_HIDEOUT_B1F 24
-#define MAP_GROUP_AQUA_HIDEOUT_B2F 24
-#define MAP_GROUP_UNDERWATER_SEAFLOOR_CAVERN 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ENTRANCE 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM1 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM2 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM3 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM4 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM5 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM6 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM7 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM8 24
-#define MAP_GROUP_SEAFLOOR_CAVERN_ROOM9 24
-#define MAP_GROUP_CAVE_OF_ORIGIN_ENTRANCE 24
-#define MAP_GROUP_CAVE_OF_ORIGIN_1F 24
-#define MAP_GROUP_CAVE_OF_ORIGIN_B1F 24
-#define MAP_GROUP_CAVE_OF_ORIGIN_B2F 24
-#define MAP_GROUP_CAVE_OF_ORIGIN_B3F 24
-#define MAP_GROUP_CAVE_OF_ORIGIN_B4F 24
-#define MAP_GROUP_VICTORY_ROAD_1F 24
-#define MAP_GROUP_VICTORY_ROAD_B1F 24
-#define MAP_GROUP_VICTORY_ROAD_B2F 24
-#define MAP_GROUP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM 24
-#define MAP_GROUP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM 24
-#define MAP_GROUP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM 24
-#define MAP_GROUP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM 24
-#define MAP_GROUP_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM 24
-#define MAP_GROUP_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM 24
-#define MAP_GROUP_NEW_MAUVILLE_ENTRANCE 24
-#define MAP_GROUP_NEW_MAUVILLE_INSIDE 24
-#define MAP_GROUP_ABANDONED_SHIP_DECK 24
-#define MAP_GROUP_ABANDONED_SHIP_CORRIDORS_1F 24
-#define MAP_GROUP_ABANDONED_SHIP_ROOMS_1F 24
-#define MAP_GROUP_ABANDONED_SHIP_CORRIDORS_B1F 24
-#define MAP_GROUP_ABANDONED_SHIP_ROOMS_B1F 24
-#define MAP_GROUP_ABANDONED_SHIP_ROOMS2_B1F 24
-#define MAP_GROUP_ABANDONED_SHIP_UNDERWATER1 24
-#define MAP_GROUP_ABANDONED_SHIP_ROOM_B1F 24
-#define MAP_GROUP_ABANDONED_SHIP_ROOMS2_1F 24
-#define MAP_GROUP_ABANDONED_SHIP_CAPTAINS_OFFICE 24
-#define MAP_GROUP_ABANDONED_SHIP_UNDERWATER2 24
-#define MAP_GROUP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS 24
-#define MAP_GROUP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS 24
-#define MAP_GROUP_ISLAND_CAVE 24
-#define MAP_GROUP_ANCIENT_TOMB 24
-#define MAP_GROUP_UNDERWATER_ROUTE134 24
-#define MAP_GROUP_UNDERWATER_SEALED_CHAMBER 24
-#define MAP_GROUP_SEALED_CHAMBER_OUTER_ROOM 24
-#define MAP_GROUP_SEALED_CHAMBER_INNER_ROOM 24
-#define MAP_GROUP_SCORCHED_SLAB 24
-#define MAP_GROUP_UNUSED_AQUA_HIDEOUT_1F 24
-#define MAP_GROUP_UNUSED_AQUA_HIDEOUT_B1F 24
-#define MAP_GROUP_UNUSED_AQUA_HIDEOUT_B2F 24
-#define MAP_GROUP_SKY_PILLAR_ENTRANCE 24
-#define MAP_GROUP_SKY_PILLAR_OUTSIDE 24
-#define MAP_GROUP_SKY_PILLAR_1F 24
-#define MAP_GROUP_SKY_PILLAR_2F 24
-#define MAP_GROUP_SKY_PILLAR_3F 24
-#define MAP_GROUP_SKY_PILLAR_4F 24
-#define MAP_GROUP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM 24
-#define MAP_GROUP_SKY_PILLAR_5F 24
-#define MAP_GROUP_SKY_PILLAR_TOP 24
-#define MAP_GROUP_MAGMA_HIDEOUT_ENTRANCE 24
-#define MAP_GROUP_MAGMA_HIDEOUT_B1F 24
-#define MAP_GROUP_MAGMA_HIDEOUT_B2F 24
-#define MAP_GROUP_MAGMA_HIDEOUT_B3F 24
-#define MAP_GROUP_MAGMA_HIDEOUT_B4F 24
-#define MAP_GROUP_MAGMA_HIDEOUT_B5F 24
-#define MAP_GROUP_MAGMA_HIDEOUT_B6F 24
-#define MAP_GROUP_MAGMA_HIDEOUT_B7F 24
-#define MAP_GROUP_MIRAGE_TOWER_1F 24
-#define MAP_GROUP_MIRAGE_TOWER_2F 24
-#define MAP_GROUP_MIRAGE_TOWER_3F 24
-#define MAP_GROUP_MIRAGE_TOWER_4F 24
-#define MAP_GROUP_DESERT_UNDERPASS 24
-#define MAP_GROUP_ARTISAN_CAVE_1F 24
-#define MAP_GROUP_ARTISAN_CAVE_2F 24
-#define MAP_GROUP_UNKNOWN_UNDERWATER 24
-#define MAP_GROUP_MARINE_CAVE_1F 24
-#define MAP_GROUP_MARINE_CAVE_2F 24
-#define MAP_GROUP_TERRA_CAVE_1F 24
-#define MAP_GROUP_TERRA_CAVE_2F 24
-#define MAP_GROUP_ALTERING_CAVE 24
-#define MAP_GROUP_METEOR_FALLS_B1F_3R 24
-
-//--------------------------------------------------
-// Map Group 25
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_SECRET_BASE_RED_CAVE1,
- MAP_ID_SECRET_BASE_BROWN_CAVE1,
- MAP_ID_SECRET_BASE_BLUE_CAVE1,
- MAP_ID_SECRET_BASE_YELLOW_CAVE1,
- MAP_ID_SECRET_BASE_TREE1,
- MAP_ID_SECRET_BASE_SHRUB1,
- MAP_ID_SECRET_BASE_RED_CAVE2,
- MAP_ID_SECRET_BASE_BROWN_CAVE2,
- MAP_ID_SECRET_BASE_BLUE_CAVE2,
- MAP_ID_SECRET_BASE_YELLOW_CAVE2,
- MAP_ID_SECRET_BASE_TREE2,
- MAP_ID_SECRET_BASE_SHRUB2,
- MAP_ID_SECRET_BASE_RED_CAVE3,
- MAP_ID_SECRET_BASE_BROWN_CAVE3,
- MAP_ID_SECRET_BASE_BLUE_CAVE3,
- MAP_ID_SECRET_BASE_YELLOW_CAVE3,
- MAP_ID_SECRET_BASE_TREE3,
- MAP_ID_SECRET_BASE_SHRUB3,
- MAP_ID_SECRET_BASE_RED_CAVE4,
- MAP_ID_SECRET_BASE_BROWN_CAVE4,
- MAP_ID_SECRET_BASE_BLUE_CAVE4,
- MAP_ID_SECRET_BASE_YELLOW_CAVE4,
- MAP_ID_SECRET_BASE_TREE4,
- MAP_ID_SECRET_BASE_SHRUB4,
- MAP_ID_SINGLE_BATTLE_COLOSSEUM,
- MAP_ID_TRADE_CENTER,
- MAP_ID_RECORD_CORNER,
- MAP_ID_DOUBLE_BATTLE_COLOSSEUM,
- MAP_ID_LINK_CONTEST_ROOM1,
- MAP_ID_UNKNOWN_MAP_25_29,
- MAP_ID_UNKNOWN_MAP_25_30,
- MAP_ID_UNKNOWN_MAP_25_31,
- MAP_ID_UNKNOWN_MAP_25_32,
- MAP_ID_UNKNOWN_MAP_25_33,
- MAP_ID_UNKNOWN_MAP_25_34,
- MAP_ID_LINK_CONTEST_ROOM2,
- MAP_ID_LINK_CONTEST_ROOM3,
- MAP_ID_LINK_CONTEST_ROOM4,
- MAP_ID_LINK_CONTEST_ROOM5,
- MAP_ID_LINK_CONTEST_ROOM6,
- MAP_ID_INSIDE_OF_TRUCK,
- MAP_ID_SS_TIDAL_CORRIDOR,
- MAP_ID_SS_TIDAL_LOWER_DECK,
- MAP_ID_SS_TIDAL_ROOMS,
- MAP_ID_TEST_ROOM_1,
- MAP_ID_TEST_ROOM_2,
- MAP_ID_TEST_ROOM_3,
- MAP_ID_TEST_ROOM_4,
- MAP_ID_TEST_ROOM_5,
- MAP_ID_TEST_ROOM_6,
- MAP_ID_TEST_ROOM_7,
- MAP_ID_TEST_ROOM_8,
- MAP_ID_TEST_ROOM_9,
- MAP_ID_TEST_ROOM_10,
- MAP_ID_TEST_ROOM_11,
- MAP_ID_TEST_ROOM_12,
- MAP_ID_TEST_ROOM_13,
- MAP_ID_TEST_ROOM_14,
- MAP_ID_TEST_ROOM_15,
- MAP_ID_TEST_ROOM_16,
- MAP_ID_UNION_ROOM,
-};
-
-#define MAP_GROUP_SECRET_BASE_RED_CAVE1 25
-#define MAP_GROUP_SECRET_BASE_BROWN_CAVE1 25
-#define MAP_GROUP_SECRET_BASE_BLUE_CAVE1 25
-#define MAP_GROUP_SECRET_BASE_YELLOW_CAVE1 25
-#define MAP_GROUP_SECRET_BASE_TREE1 25
-#define MAP_GROUP_SECRET_BASE_SHRUB1 25
-#define MAP_GROUP_SECRET_BASE_RED_CAVE2 25
-#define MAP_GROUP_SECRET_BASE_BROWN_CAVE2 25
-#define MAP_GROUP_SECRET_BASE_BLUE_CAVE2 25
-#define MAP_GROUP_SECRET_BASE_YELLOW_CAVE2 25
-#define MAP_GROUP_SECRET_BASE_TREE2 25
-#define MAP_GROUP_SECRET_BASE_SHRUB2 25
-#define MAP_GROUP_SECRET_BASE_RED_CAVE3 25
-#define MAP_GROUP_SECRET_BASE_BROWN_CAVE3 25
-#define MAP_GROUP_SECRET_BASE_BLUE_CAVE3 25
-#define MAP_GROUP_SECRET_BASE_YELLOW_CAVE3 25
-#define MAP_GROUP_SECRET_BASE_TREE3 25
-#define MAP_GROUP_SECRET_BASE_SHRUB3 25
-#define MAP_GROUP_SECRET_BASE_RED_CAVE4 25
-#define MAP_GROUP_SECRET_BASE_BROWN_CAVE4 25
-#define MAP_GROUP_SECRET_BASE_BLUE_CAVE4 25
-#define MAP_GROUP_SECRET_BASE_YELLOW_CAVE4 25
-#define MAP_GROUP_SECRET_BASE_TREE4 25
-#define MAP_GROUP_SECRET_BASE_SHRUB4 25
-#define MAP_GROUP_SINGLE_BATTLE_COLOSSEUM 25
-#define MAP_GROUP_TRADE_CENTER 25
-#define MAP_GROUP_RECORD_CORNER 25
-#define MAP_GROUP_DOUBLE_BATTLE_COLOSSEUM 25
-#define MAP_GROUP_LINK_CONTEST_ROOM1 25
-#define MAP_GROUP_UNKNOWN_MAP_25_29 25
-#define MAP_GROUP_UNKNOWN_MAP_25_30 25
-#define MAP_GROUP_UNKNOWN_MAP_25_31 25
-#define MAP_GROUP_UNKNOWN_MAP_25_32 25
-#define MAP_GROUP_UNKNOWN_MAP_25_33 25
-#define MAP_GROUP_UNKNOWN_MAP_25_34 25
-#define MAP_GROUP_LINK_CONTEST_ROOM2 25
-#define MAP_GROUP_LINK_CONTEST_ROOM3 25
-#define MAP_GROUP_LINK_CONTEST_ROOM4 25
-#define MAP_GROUP_LINK_CONTEST_ROOM5 25
-#define MAP_GROUP_LINK_CONTEST_ROOM6 25
-#define MAP_GROUP_INSIDE_OF_TRUCK 25
-#define MAP_GROUP_SS_TIDAL_CORRIDOR 25
-#define MAP_GROUP_SS_TIDAL_LOWER_DECK 25
-#define MAP_GROUP_SS_TIDAL_ROOMS 25
-#define MAP_GROUP_TEST_ROOM_1 25
-#define MAP_GROUP_TEST_ROOM_2 25
-#define MAP_GROUP_TEST_ROOM_3 25
-#define MAP_GROUP_TEST_ROOM_4 25
-#define MAP_GROUP_TEST_ROOM_5 25
-#define MAP_GROUP_TEST_ROOM_6 25
-#define MAP_GROUP_TEST_ROOM_7 25
-#define MAP_GROUP_TEST_ROOM_8 25
-#define MAP_GROUP_TEST_ROOM_9 25
-#define MAP_GROUP_TEST_ROOM_10 25
-#define MAP_GROUP_TEST_ROOM_11 25
-#define MAP_GROUP_TEST_ROOM_12 25
-#define MAP_GROUP_TEST_ROOM_13 25
-#define MAP_GROUP_TEST_ROOM_14 25
-#define MAP_GROUP_TEST_ROOM_15 25
-#define MAP_GROUP_TEST_ROOM_16 25
-#define MAP_GROUP_UNION_ROOM 25
-//--------------------------------------------------
-// Map Group 26
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_SAFARI_ZONE_NORTHWEST,
- MAP_ID_SAFARI_ZONE_NORTHEAST,
- MAP_ID_SAFARI_ZONE_SOUTHWEST,
- MAP_ID_SAFARI_ZONE_SOUTHEAST,
- MAP_ID_BATTLE_FRONTIER_OUTSIDE_WEST,
- MAP_ID_BATTLE_TOWER_LOBBY,
- MAP_ID_BATTLE_TOWER_ELEVATOR,
- MAP_ID_BATTLE_TOWER_CORRIDOR,
- MAP_ID_BATTLE_TOWER_BATTLE_ROOM,
- MAP_ID_SOUTHERN_ISLAND_EXTERIOR,
- MAP_ID_SOUTHERN_ISLAND_INTERIOR,
- MAP_ID_SAFARI_ZONE_REST_HOUSE,
- MAP_ID_SAFARI_ZONE_EM_1,
- MAP_ID_SAFARI_ZONE_EM_2,
- MAP_ID_BATTLE_FRONTIER_OUTSIDE_EAST,
- MAP_ID_BATTLE_FRONTIER_TAG_LINK,
- MAP_ID_BATTLE_FRONTIER_TAG_LINK_CORRIDOR,
- MAP_ID_BATTLE_FRONTIER_TAG_LINK_ARENA,
- MAP_ID_BATTLE_DOME_LOBBY,
- MAP_ID_BATTLE_DOME_CORRIDOR,
- MAP_ID_BATTLE_DOME_ROOM,
- MAP_ID_BATTLE_DOME_ARENA,
- MAP_ID_BATTLE_PALACE_LOBBY,
- MAP_ID_BATTLE_PALACE_CORRIDOR,
- MAP_ID_BATTLE_PALACE_1F,
- MAP_ID_BATTLE_PYRAMID_LOBBY,
- MAP_ID_BATTLE_PYRAMID_UNKNOWN,
- MAP_ID_BATTLE_PYRAMID_PEAK,
- MAP_ID_BATTLE_ARENA_LOBBY,
- MAP_ID_BATTLE_ARENA_CORRIDOR,
- MAP_ID_BATTLE_ARENA_ARENA,
- MAP_ID_BATTLE_FACTORY_LOBBY,
- MAP_ID_BATTLE_FACTORY_CORRIDOR,
- MAP_ID_BATTLE_FACTORY_ARENA,
- MAP_ID_BATTLE_PALACE_2F,
- MAP_ID_BATTLE_PALACE_3F,
- MAP_ID_BATTLE_PALACE_4F,
- MAP_ID_BATTLE_PALACE_5F,
- MAP_ID_BATTLE_PALACE_6F,
- MAP_ID_BATTLE_PALACE_TEST_ROOM,
- MAP_ID_RANKING_HALL,
- MAP_ID_STAT_RATER_HOUSE,
- MAP_ID_BATTLE_FRONTIER_EXCHANGE,
- MAP_ID_BATTLE_FRONTIER_MANIAC_HOUSE,
- MAP_ID_BATTLE_FRONTIER_GAMBLING_HOUSE,
- MAP_ID_BATTLE_FRONTIER_HOUSE1,
- MAP_ID_BATTLE_FRONTIER_SCOTTS_HOUSE,
- MAP_ID_BATTLE_FRONTIER_HOUSE2,
- MAP_ID_BATTLE_FRONTIER_HOUSE3,
- MAP_ID_BATTLE_FRONTIER_HOUSE4,
- MAP_ID_BATTLE_FRONTIER_ENTRANCE_HALL,
- MAP_ID_BATTLE_FRONTIER_HOUSE5,
- MAP_ID_BATTLE_FRONTIER_UNUSED_HOUSE,
- MAP_ID_BATTLE_FRONTIER_POKEMON_CENTER_1F,
- MAP_ID_BATTLE_FRONTIER_POKEMON_CENTER_2F,
- MAP_ID_BATTLE_FRONTIER_MART,
- MAP_ID_FARAWAY_ISLAND_OUTSIDE,
- MAP_ID_FARAWAY_ISLAND_FOREST,
- MAP_ID_BIRTH_ISLAND_OUTSIDE,
- MAP_ID_BIRTH_ISLAND_DOCKS,
- MAP_ID_TRAINER_HILL_LOBBY,
- MAP_ID_TRAINER_HILL_1F,
- MAP_ID_TRAINER_HILL_2F,
- MAP_ID_TRAINER_HILL_3F,
- MAP_ID_TRAINER_HILL_4F,
- MAP_ID_TRAINER_HILL_5F,
- MAP_ID_NAVEL_ROCK_OUTSIDE,
- MAP_ID_NAVEL_ROCK_DOCKS,
- MAP_ID_NAVEL_ROCK_1F,
- MAP_ID_NAVEL_ROCK_2F,
- MAP_ID_NAVEL_ROCK_3F,
- MAP_ID_NAVEL_ROCK_4F,
- MAP_ID_NAVEL_ROCK_5F,
- MAP_ID_NAVEL_ROCK_6F,
- MAP_ID_NAVEL_ROCK_7F,
- MAP_ID_NAVEL_ROCK_PEAK,
- MAP_ID_NAVEL_ROCK_B1F,
- MAP_ID_NAVEL_ROCK_B2F,
- MAP_ID_NAVEL_ROCK_B3F,
- MAP_ID_NAVEL_ROCK_B4F,
- MAP_ID_NAVEL_ROCK_B5F,
- MAP_ID_NAVEL_ROCK_B6F,
- MAP_ID_NAVEL_ROCK_B7F,
- MAP_ID_NAVEL_ROCK_B8F,
- MAP_ID_NAVEL_ROCK_B9F,
- MAP_ID_NAVEL_ROCK_B10F,
- MAP_ID_NAVEL_ROCK_B11F,
- MAP_ID_NAVEL_ROCK_INNER,
- MAP_ID_TRAINER_HILL_ELEVATOR,
-};
-
-#define MAP_GROUP_SAFARI_ZONE_NORTHWEST 26
-#define MAP_GROUP_SAFARI_ZONE_NORTHEAST 26
-#define MAP_GROUP_SAFARI_ZONE_SOUTHWEST 26
-#define MAP_GROUP_SAFARI_ZONE_SOUTHEAST 26
-#define MAP_GROUP_BATTLE_FRONTIER_OUTSIDE_WEST 26
-#define MAP_GROUP_BATTLE_TOWER_LOBBY 26
-#define MAP_GROUP_BATTLE_TOWER_ELEVATOR 26
-#define MAP_GROUP_BATTLE_TOWER_CORRIDOR 26
-#define MAP_GROUP_BATTLE_TOWER_BATTLE_ROOM 26
-#define MAP_GROUP_SOUTHERN_ISLAND_EXTERIOR 26
-#define MAP_GROUP_SOUTHERN_ISLAND_INTERIOR 26
-#define MAP_GROUP_SAFARI_ZONE_REST_HOUSE 26
-#define MAP_GROUP_SAFARI_ZONE_EM_1 26
-#define MAP_GROUP_SAFARI_ZONE_EM_2 26
-#define MAP_GROUP_BATTLE_FRONTIER_OUTSIDE_EAST 26
-#define MAP_GROUP_BATTLE_FRONTIER_TAG_LINK 26
-#define MAP_GROUP_BATTLE_FRONTIER_TAG_LINK_CORRIDOR 26
-#define MAP_GROUP_BATTLE_FRONTIER_TAG_LINK_ARENA 26
-#define MAP_GROUP_BATTLE_DOME_LOBBY 26
-#define MAP_GROUP_BATTLE_DOME_CORRIDOR 26
-#define MAP_GROUP_BATTLE_DOME_ROOM 26
-#define MAP_GROUP_BATTLE_DOME_ARENA 26
-#define MAP_GROUP_BATTLE_PALACE_LOBBY 26
-#define MAP_GROUP_BATTLE_PALACE_CORRIDOR 26
-#define MAP_GROUP_BATTLE_PALACE_1F 26
-#define MAP_GROUP_BATTLE_PYRAMID_LOBBY 26
-#define MAP_GROUP_BATTLE_PYRAMID_UNKNOWN 26
-#define MAP_GROUP_BATTLE_PYRAMID_PEAK 26
-#define MAP_GROUP_BATTLE_ARENA_LOBBY 26
-#define MAP_GROUP_BATTLE_ARENA_CORRIDOR 26
-#define MAP_GROUP_BATTLE_ARENA_ARENA 26 // rename
-#define MAP_GROUP_BATTLE_FACTORY_LOBBY 26
-#define MAP_GROUP_BATTLE_FACTORY_CORRIDOR 26
-#define MAP_GROUP_BATTLE_FACTORY_ARENA 26
-#define MAP_GROUP_BATTLE_PALACE_2F 26
-#define MAP_GROUP_BATTLE_PALACE_3F 26
-#define MAP_GROUP_BATTLE_PALACE_4F 26
-#define MAP_GROUP_BATTLE_PALACE_5F 26
-#define MAP_GROUP_BATTLE_PALACE_6F 26
-#define MAP_GROUP_BATTLE_PALACE_TEST_ROOM 26
-#define MAP_GROUP_RANKING_HALL 26
-#define MAP_GROUP_STAT_RATER_HOUSE 26
-#define MAP_GROUP_BATTLE_FRONTIER_EXCHANGE 26
-#define MAP_GROUP_BATTLE_FRONTIER_MANIAC_HOUSE 26
-#define MAP_GROUP_BATTLE_FRONTIER_GAMBLING_HOUSE 26
-#define MAP_GROUP_BATTLE_FRONTIER_HOUSE1 26
-#define MAP_GROUP_BATTLE_FRONTIER_SCOTTS_HOUSE 26
-#define MAP_GROUP_BATTLE_FRONTIER_HOUSE2 26
-#define MAP_GROUP_BATTLE_FRONTIER_HOUSE3 26
-#define MAP_GROUP_BATTLE_FRONTIER_HOUSE4 26
-#define MAP_GROUP_BATTLE_FRONTIER_ENTRANCE_HALL 26
-#define MAP_GROUP_BATTLE_FRONTIER_HOUSE5 26
-#define MAP_GROUP_BATTLE_FRONTIER_UNUSED_HOUSE 26
-#define MAP_GROUP_BATTLE_FRONTIER_POKEMON_CENTER_1F 26
-#define MAP_GROUP_BATTLE_FRONTIER_POKEMON_CENTER_2F 26
-#define MAP_GROUP_BATTLE_FRONTIER_MART 26
-#define MAP_GROUP_FARAWAY_ISLAND_OUTSIDE 26
-#define MAP_GROUP_FARAWAY_ISLAND_FOREST 26
-#define MAP_GROUP_BIRTH_ISLAND_OUTSIDE 26
-#define MAP_GROUP_BIRTH_ISLAND_DOCKS 26
-#define MAP_GROUP_TRAINER_HILL_LOBBY 26
-#define MAP_GROUP_TRAINER_HILL_1F 26
-#define MAP_GROUP_TRAINER_HILL_2F 26
-#define MAP_GROUP_TRAINER_HILL_3F 26
-#define MAP_GROUP_TRAINER_HILL_4F 26
-#define MAP_GROUP_TRAINER_HILL_5F 26
-#define MAP_GROUP_NAVEL_ROCK_OUTSIDE 26
-#define MAP_GROUP_NAVEL_ROCK_DOCKS 26
-#define MAP_GROUP_NAVEL_ROCK_1F 26
-#define MAP_GROUP_NAVEL_ROCK_2F 26
-#define MAP_GROUP_NAVEL_ROCK_3F 26
-#define MAP_GROUP_NAVEL_ROCK_4F 26
-#define MAP_GROUP_NAVEL_ROCK_5F 26
-#define MAP_GROUP_NAVEL_ROCK_6F 26
-#define MAP_GROUP_NAVEL_ROCK_7F 26
-#define MAP_GROUP_NAVEL_ROCK_PEAK 26
-#define MAP_GROUP_NAVEL_ROCK_B1F 26
-#define MAP_GROUP_NAVEL_ROCK_B2F 26
-#define MAP_GROUP_NAVEL_ROCK_B3F 26
-#define MAP_GROUP_NAVEL_ROCK_B4F 26
-#define MAP_GROUP_NAVEL_ROCK_B5F 26
-#define MAP_GROUP_NAVEL_ROCK_B6F 26
-#define MAP_GROUP_NAVEL_ROCK_B7F 26
-#define MAP_GROUP_NAVEL_ROCK_B8F 26
-#define MAP_GROUP_NAVEL_ROCK_B9F 26
-#define MAP_GROUP_NAVEL_ROCK_B10F 26
-#define MAP_GROUP_NAVEL_ROCK_B11F 26
-#define MAP_GROUP_NAVEL_ROCK_INNER 26
-#define MAP_GROUP_TRAINER_HILL_ELEVATOR 26
-//--------------------------------------------------
-// Map Group 27
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE104_PROTOTYPE,
- MAP_ID_ROUTE104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP,
-};
-
-#define MAP_GROUP_ROUTE104_PROTOTYPE 27
-#define MAP_GROUP_ROUTE104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP 27
-
-//--------------------------------------------------
-// Map Group 28
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE109_SEASHORE_HOUSE,
-};
-
-#define MAP_GROUP_ROUTE109_SEASHORE_HOUSE 28
-
-//--------------------------------------------------
-// Map Group 29
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE110_TRICK_HOUSE_ENTRANCE,
- MAP_ID_ROUTE110_TRICK_HOUSE_END,
- MAP_ID_ROUTE110_TRICK_HOUSE_CORRIDOR,
- MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE1,
- MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE2,
- MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE3,
- MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE4,
- MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE5,
- MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE6,
- MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE7,
- MAP_ID_ROUTE110_TRICK_HOUSE_PUZZLE8,
- MAP_ID_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE,
- MAP_ID_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE,
-};
-
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_ENTRANCE 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_END 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_CORRIDOR 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE1 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE2 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE3 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE4 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE5 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE6 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE7 29
-#define MAP_GROUP_ROUTE110_TRICK_HOUSE_PUZZLE8 29
-#define MAP_GROUP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE 29
-#define MAP_GROUP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE 29
-
-//--------------------------------------------------
-// Map Group 30
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE113_GLASS_WORKSHOP,
-};
-
-#define MAP_GROUP_ROUTE113_GLASS_WORKSHOP 30
-
-//--------------------------------------------------
-// Map Group 31
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE123_BERRY_MASTERS_HOUSE,
-};
-
-#define MAP_GROUP_ROUTE123_BERRY_MASTERS_HOUSE 31
-
-//--------------------------------------------------
-// Map Group 32
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE119_WEATHER_INSTITUTE_1F,
- MAP_ID_ROUTE119_WEATHER_INSTITUTE_2F,
- MAP_ID_ROUTE119_HOUSE,
-};
-
-#define MAP_GROUP_ROUTE119_WEATHER_INSTITUTE_1F 32
-#define MAP_GROUP_ROUTE119_WEATHER_INSTITUTE_2F 32
-#define MAP_GROUP_ROUTE119_HOUSE 32
-
-//--------------------------------------------------
-// Map Group 33
-//--------------------------------------------------
-
-enum
-{
- MAP_ID_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE,
-};
-
-#define MAP_GROUP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE 33
-
-#endif // GUARD_MAP_CONSTANTS_H \ No newline at end of file
diff --git a/include/map_obj_8097404.h b/include/map_obj_8097404.h
index 27ffd18cb..0800b15b0 100644
--- a/include/map_obj_8097404.h
+++ b/include/map_obj_8097404.h
@@ -28,5 +28,7 @@ void sub_8097750(struct Sprite *);
bool8 sub_8097758(struct Sprite *);
void sub_8097FA4(struct MapObject *);
void sub_8098044(u8);
+void UnfreezeMapObjects(void);
+void sub_80974D0(u8 mapObjectId);
#endif //GUARD_MAP_OBJ_8097404_H
diff --git a/include/map_object_constants.h b/include/map_object_constants.h
deleted file mode 100644
index 79482b54a..000000000
--- a/include/map_object_constants.h
+++ /dev/null
@@ -1,239 +0,0 @@
-#ifndef GUARD_MAP_OBJECT_CONSTANTS_H
-#define GUARD_MAP_OBJECT_CONSTANTS_H
-
-enum
-{
- MAP_OBJ_GFX_BRENDAN_NORMAL,
- MAP_OBJ_GFX_BRENDAN_MACH_BIKE,
- MAP_OBJ_GFX_BRENDAN_SURFING,
- MAP_OBJ_GFX_BRENDAN_FIELD_MOVE,
- MAP_OBJ_GFX_QUINTY_PLUMP,
- MAP_OBJ_GFX_LITTLE_BOY_1,
- MAP_OBJ_GFX_LITTLE_GIRL_1,
- MAP_OBJ_GFX_BOY_1,
- MAP_OBJ_GFX_GIRL_1,
- MAP_OBJ_GFX_BOY_2,
- MAP_OBJ_GFX_GIRL_2,
- MAP_OBJ_GFX_LITTLE_BOY_2,
- MAP_OBJ_GFX_LITTLE_GIRL_2,
- MAP_OBJ_GFX_BOY_3,
- MAP_OBJ_GFX_GIRL_3,
- MAP_OBJ_GFX_BOY_4,
- MAP_OBJ_GFX_WOMAN_1,
- MAP_OBJ_GFX_FAT_MAN,
- MAP_OBJ_GFX_WOMAN_2,
- MAP_OBJ_GFX_MAN_1,
- MAP_OBJ_GFX_WOMAN_3,
- MAP_OBJ_GFX_OLD_MAN_1,
- MAP_OBJ_GFX_OLD_WOMAN_1,
- MAP_OBJ_GFX_MAN_2,
- MAP_OBJ_GFX_WOMAN_4,
- MAP_OBJ_GFX_MAN_3,
- MAP_OBJ_GFX_WOMAN_5,
- MAP_OBJ_GFX_COOK,
- MAP_OBJ_GFX_WOMAN_6,
- MAP_OBJ_GFX_OLD_MAN_2,
- MAP_OBJ_GFX_OLD_WOMAN_2,
- MAP_OBJ_GFX_CAMPER,
- MAP_OBJ_GFX_PICNICKER,
- MAP_OBJ_GFX_MAN_4,
- MAP_OBJ_GFX_WOMAN_7,
- MAP_OBJ_GFX_YOUNGSTER,
- MAP_OBJ_GFX_BUG_CATCHER,
- MAP_OBJ_GFX_PSYCHIC_M,
- MAP_OBJ_GFX_SCHOOL_KID_M,
- MAP_OBJ_GFX_MANIAC,
- MAP_OBJ_GFX_HEX_MANIAC,
- MAP_OBJ_GFX_WOMAN_8,
- MAP_OBJ_GFX_SWIMMER_M,
- MAP_OBJ_GFX_SWIMMER_F,
- MAP_OBJ_GFX_BLACK_BELT,
- MAP_OBJ_GFX_BEAUTY,
- MAP_OBJ_GFX_SCIENTIST_1,
- MAP_OBJ_GFX_LASS,
- MAP_OBJ_GFX_GENTLEMAN,
- MAP_OBJ_GFX_SAILOR,
- MAP_OBJ_GFX_FISHERMAN,
- MAP_OBJ_GFX_RUNNING_TRIATHLETE_M,
- MAP_OBJ_GFX_RUNNING_TRIATHLETE_F,
- MAP_OBJ_GFX_TUBER_F,
- MAP_OBJ_GFX_TUBER_M,
- MAP_OBJ_GFX_HIKER,
- MAP_OBJ_GFX_CYCLING_TRIATHLETE_M,
- MAP_OBJ_GFX_CYCLING_TRIATHLETE_F,
- MAP_OBJ_GFX_NURSE,
- MAP_OBJ_GFX_ITEM_BALL,
- MAP_OBJ_GFX_BERRY_TREE,
- MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES,
- MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES,
- MAP_OBJ_GFX_BRENDAN_ACRO_BIKE,
- MAP_OBJ_GFX_PROF_BIRCH,
- MAP_OBJ_GFX_MAN_5,
- MAP_OBJ_GFX_MAN_6,
- MAP_OBJ_GFX_REPORTER_M,
- MAP_OBJ_GFX_REPORTER_F,
- MAP_OBJ_GFX_BARD,
- MAP_OBJ_GFX_HIPSTER,
- MAP_OBJ_GFX_TRADER,
- MAP_OBJ_GFX_STORYTELLER,
- MAP_OBJ_GFX_GIDDY,
- MAP_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_1,
- MAP_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_2,
- MAP_OBJ_GFX_UNUSED_NATU_DOLL,
- MAP_OBJ_GFX_UNUSED_MAGNEMITE_DOLL,
- MAP_OBJ_GFX_UNUSED_SQUIRTLE_DOLL,
- MAP_OBJ_GFX_UNUSED_WOOPER_DOLL,
- MAP_OBJ_GFX_UNUSED_PIKACHU_DOLL,
- MAP_OBJ_GFX_UNUSED_PORYGON2_DOLL,
- MAP_OBJ_GFX_CUTTABLE_TREE,
- MAP_OBJ_GFX_MART_EMPLOYEE,
- MAP_OBJ_GFX_ROOFTOP_SALE_WOMAN,
- MAP_OBJ_GFX_TEALA,
- MAP_OBJ_GFX_BREAKABLE_ROCK,
- MAP_OBJ_GFX_PUSHABLE_BOULDER,
- MAP_OBJ_GFX_MR_BRINEYS_BOAT,
- MAP_OBJ_GFX_MAY_NORMAL,
- MAP_OBJ_GFX_MAY_MACH_BIKE,
- MAP_OBJ_GFX_MAY_ACRO_BIKE,
- MAP_OBJ_GFX_MAY_SURFING,
- MAP_OBJ_GFX_MAY_FIELD_MOVE,
- MAP_OBJ_GFX_TRUCK,
- MAP_OBJ_GFX_MACHOKE_CARRYING_BOX,
- MAP_OBJ_GFX_MACHOKE_FACING_AWAY,
- MAP_OBJ_GFX_BIRCHS_BAG,
- MAP_OBJ_GFX_POOCHYENA,
- MAP_OBJ_GFX_ARTIST,
- MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL,
- MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE,
- MAP_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE,
- MAP_OBJ_GFX_RIVAL_BRENDAN_SURFING,
- MAP_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE,
- MAP_OBJ_GFX_RIVAL_MAY_NORMAL,
- MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE,
- MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE,
- MAP_OBJ_GFX_RIVAL_MAY_SURFING,
- MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE,
- MAP_OBJ_GFX_CAMERAMAN,
- MAP_OBJ_GFX_BRENDAN_UNDERWATER,
- MAP_OBJ_GFX_MAY_UNDERWATER,
- MAP_OBJ_GFX_MOVING_BOX,
- MAP_OBJ_GFX_CABLE_CAR,
- MAP_OBJ_GFX_SCIENTIST_2,
- MAP_OBJ_GFX_MAN_7,
- MAP_OBJ_GFX_AQUA_MEMBER_M,
- MAP_OBJ_GFX_AQUA_MEMBER_F,
- MAP_OBJ_GFX_MAGMA_MEMBER_M,
- MAP_OBJ_GFX_MAGMA_MEMBER_F,
- MAP_OBJ_GFX_SIDNEY,
- MAP_OBJ_GFX_PHOEBE,
- MAP_OBJ_GFX_GLACIA,
- MAP_OBJ_GFX_DRAKE,
- MAP_OBJ_GFX_ROXANNE,
- MAP_OBJ_GFX_BRAWLY,
- MAP_OBJ_GFX_WATTSON,
- MAP_OBJ_GFX_FLANNERY,
- MAP_OBJ_GFX_NORMAN,
- MAP_OBJ_GFX_WINONA,
- MAP_OBJ_GFX_LIZA,
- MAP_OBJ_GFX_TATE,
- MAP_OBJ_GFX_WALLACE,
- MAP_OBJ_GFX_STEVEN,
- MAP_OBJ_GFX_WALLY,
- MAP_OBJ_GFX_LITTLE_BOY_3,
- MAP_OBJ_GFX_BRENDAN_FISHING,
- MAP_OBJ_GFX_MAY_FISHING,
- MAP_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN,
- MAP_OBJ_GFX_SS_TIDAL,
- MAP_OBJ_GFX_SUBMARINE_SHADOW,
- MAP_OBJ_GFX_PICHU_DOLL,
- MAP_OBJ_GFX_PIKACHU_DOLL,
- MAP_OBJ_GFX_MARILL_DOLL,
- MAP_OBJ_GFX_TOGEPI_DOLL,
- MAP_OBJ_GFX_CYNDAQUIL_DOLL,
- MAP_OBJ_GFX_CHIKORITA_DOLL,
- MAP_OBJ_GFX_TOTODILE_DOLL,
- MAP_OBJ_GFX_JIGGLYPUFF_DOLL,
- MAP_OBJ_GFX_MEOWTH_DOLL,
- MAP_OBJ_GFX_CLEFAIRY_DOLL,
- MAP_OBJ_GFX_DITTO_DOLL,
- MAP_OBJ_GFX_SMOOCHUM_DOLL,
- MAP_OBJ_GFX_TREECKO_DOLL,
- MAP_OBJ_GFX_TORCHIC_DOLL,
- MAP_OBJ_GFX_MUDKIP_DOLL,
- MAP_OBJ_GFX_DUSKULL_DOLL,
- MAP_OBJ_GFX_WYNAUT_DOLL,
- MAP_OBJ_GFX_BALTOY_DOLL,
- MAP_OBJ_GFX_KECLEON_DOLL,
- MAP_OBJ_GFX_AZURILL_DOLL,
- MAP_OBJ_GFX_SKITTY_DOLL,
- MAP_OBJ_GFX_SWABLU_DOLL,
- MAP_OBJ_GFX_GULPIN_DOLL,
- MAP_OBJ_GFX_LOTAD_DOLL,
- MAP_OBJ_GFX_SEEDOT_DOLL,
- MAP_OBJ_GFX_PIKA_CUSHION,
- MAP_OBJ_GFX_ROUND_CUSHION,
- MAP_OBJ_GFX_KISS_CUSHION,
- MAP_OBJ_GFX_ZIGZAG_CUSHION,
- MAP_OBJ_GFX_SPIN_CUSHION,
- MAP_OBJ_GFX_DIAMOND_CUSHION,
- MAP_OBJ_GFX_BALL_CUSHION,
- MAP_OBJ_GFX_GRASS_CUSHION,
- MAP_OBJ_GFX_FIRE_CUSHION,
- MAP_OBJ_GFX_WATER_CUSHION,
- MAP_OBJ_GFX_BIG_SNORLAX_DOLL,
- MAP_OBJ_GFX_BIG_RHYDON_DOLL,
- MAP_OBJ_GFX_BIG_LAPRAS_DOLL,
- MAP_OBJ_GFX_BIG_VENUSAUR_DOLL,
- MAP_OBJ_GFX_BIG_CHARIZARD_DOLL,
- MAP_OBJ_GFX_BIG_BLASTOISE_DOLL,
- MAP_OBJ_GFX_BIG_WAILMER_DOLL,
- MAP_OBJ_GFX_BIG_REGIROCK_DOLL,
- MAP_OBJ_GFX_BIG_REGICE_DOLL,
- MAP_OBJ_GFX_BIG_REGISTEEL_DOLL,
- MAP_OBJ_GFX_LATIAS,
- MAP_OBJ_GFX_LATIOS,
- MAP_OBJ_GFX_BOY_5,
- MAP_OBJ_GFX_CONTEST_JUDGE,
- MAP_OBJ_GFX_BRENDAN_WATERING,
- MAP_OBJ_GFX_MAY_WATERING,
- MAP_OBJ_GFX_BRENDAN_DECORATING,
- MAP_OBJ_GFX_MAY_DECORATING,
- MAP_OBJ_GFX_ARCHIE,
- MAP_OBJ_GFX_MAXIE,
- MAP_OBJ_GFX_KYOGRE_1,
- MAP_OBJ_GFX_GROUDON_1,
- MAP_OBJ_GFX_FOSSIL,
- MAP_OBJ_GFX_REGIROCK,
- MAP_OBJ_GFX_REGICE,
- MAP_OBJ_GFX_REGISTEEL,
- MAP_OBJ_GFX_SKITTY,
- MAP_OBJ_GFX_KECLEON_1,
- MAP_OBJ_GFX_KYOGRE_2,
- MAP_OBJ_GFX_GROUDON_2,
- MAP_OBJ_GFX_RAYQUAZA,
- MAP_OBJ_GFX_ZIGZAGOON,
- MAP_OBJ_GFX_PIKACHU,
- MAP_OBJ_GFX_AZUMARILL,
- MAP_OBJ_GFX_WINGULL,
- MAP_OBJ_GFX_KECLEON_2,
- MAP_OBJ_GFX_TUBER_M_SWIMMING,
- MAP_OBJ_GFX_AZURILL,
- MAP_OBJ_GFX_MOM,
- MAP_OBJ_GFX_LINK_BRENDAN,
- MAP_OBJ_GFX_LINK_MAY,
-};
-
-enum {
- SHADOW_SIZE_S,
- SHADOW_SIZE_M,
- SHADOW_SIZE_L,
- SHADOW_SIZE_XL
-};
-
-enum {
- TRACKS_NONE,
- TRACKS_FOOT,
- TRACKS_BIKE_TIRE
-};
-
-#endif // GUARD_MAP_OBJECT_CONSTANTS_H
diff --git a/include/menu.h b/include/menu.h
index 2052a8dad..124303570 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -4,6 +4,9 @@
#include "text.h"
#include "window.h"
+#define MENU_NOTHING_CHOSEN -2
+#define MENU_B_PRESSED -1
+
struct MenuAction
{
const u8 *text;
@@ -29,10 +32,12 @@ int decompress_and_copy_tile_data_to_vram(u8 bg_id, const void *src, int size, u
bool8 free_temp_tile_data_buffers_if_possible(void);
u64 sub_8198A50(struct WindowTemplate*, u8, u8, u8, u8, u8, u8, u16); // returns something but it isn't used, fix when menu.s is decomp'd
void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos);
-s8 sub_8198C58(void);
+s8 ProcessMenuInputNoWrap_(void);
void do_scheduled_bg_tilemap_copies_to_vram(void);
void clear_scheduled_bg_copies_to_vram(void);
-void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor *color, s8 speed, const u8 *str);
+void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str);
void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3);
+void sub_81995E4(u8 windowId, u8 optionsNo, const struct MenuAction *actions, const u8 *actionIds);
+void sub_8197DF8(u8 windowId, bool8 copyToVram);
#endif // GUARD_MENU_H
diff --git a/include/menu_helpers.h b/include/menu_helpers.h
index f083a10e2..14b6d32ca 100644
--- a/include/menu_helpers.h
+++ b/include/menu_helpers.h
@@ -3,7 +3,8 @@
// Exported type declarations
-struct YesNoFuncTable {
+struct YesNoFuncTable
+{
TaskFunc yesFunc;
TaskFunc noFunc;
};
@@ -16,5 +17,15 @@ void sub_812225C(u16 *, u16 *, u8, u8);
void sub_8122298(u16 *, u16 *, u8, u8, u8);
void sub_8121F68(u8 taskId, const struct YesNoFuncTable *data);
bool8 sub_81221AC(void);
+void ResetVramOamAndBgCntRegs(void);
+void SetVBlankHBlankCallbacksToNull(void);
+void ResetAllBgsCoordinates(void);
+bool16 RunTextPrintersRetIsActive(u8 textPrinterId);
+void sub_8122344(void *arg0, u8 arg1);
+void LoadListMenuArrowsGfx(void);
+void sub_81223FC(u8 *a0, u8 count, u8 a2);
+void sub_8122448(u8 *a0, u8 count, u16 x, u16 y);
+void DisplayMessageAndContinueTask(u8 taskId, u8 arg1, u16 arg2, u8 arg3, u8 arg4, u8 textSpeed, const u8 *string, void *taskFunc);
+void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *template, u8 arg2, u8 arg3, u8 arg4, u16 tileStart, u8 palette, const struct YesNoFuncTable *yesNo);
#endif //GUARD_MENU_HELPERS_H
diff --git a/include/moves.h b/include/moves.h
deleted file mode 100644
index 682f59506..000000000
--- a/include/moves.h
+++ /dev/null
@@ -1,366 +0,0 @@
-#ifndef GUARD_MOVES_H
-#define GUARD_MOVES_H
-
-enum
-{
- MOVE_NONE,
- MOVE_POUND,
- MOVE_KARATE_CHOP,
- MOVE_DOUBLE_SLAP,
- MOVE_COMET_PUNCH,
- MOVE_MEGA_PUNCH,
- MOVE_PAY_DAY,
- MOVE_FIRE_PUNCH,
- MOVE_ICE_PUNCH,
- MOVE_THUNDER_PUNCH,
- MOVE_SCRATCH,
- MOVE_VICE_GRIP,
- MOVE_GUILLOTINE,
- MOVE_RAZOR_WIND,
- MOVE_SWORDS_DANCE,
- MOVE_CUT,
- MOVE_GUST,
- MOVE_WING_ATTACK,
- MOVE_WHIRLWIND,
- MOVE_FLY,
- MOVE_BIND,
- MOVE_SLAM,
- MOVE_VINE_WHIP,
- MOVE_STOMP,
- MOVE_DOUBLE_KICK,
- MOVE_MEGA_KICK,
- MOVE_JUMP_KICK,
- MOVE_ROLLING_KICK,
- MOVE_SAND_ATTACK,
- MOVE_HEADBUTT,
- MOVE_HORN_ATTACK,
- MOVE_FURY_ATTACK,
- MOVE_HORN_DRILL,
- MOVE_TACKLE,
- MOVE_BODY_SLAM,
- MOVE_WRAP,
- MOVE_TAKE_DOWN,
- MOVE_THRASH,
- MOVE_DOUBLE_EDGE,
- MOVE_TAIL_WHIP,
- MOVE_POISON_STING,
- MOVE_TWINEEDLE,
- MOVE_PIN_MISSILE,
- MOVE_LEER,
- MOVE_BITE,
- MOVE_GROWL,
- MOVE_ROAR,
- MOVE_SING,
- MOVE_SUPERSONIC,
- MOVE_SONIC_BOOM,
- MOVE_DISABLE,
- MOVE_ACID,
- MOVE_EMBER,
- MOVE_FLAMETHROWER,
- MOVE_MIST,
- MOVE_WATER_GUN,
- MOVE_HYDRO_PUMP,
- MOVE_SURF,
- MOVE_ICE_BEAM,
- MOVE_BLIZZARD,
- MOVE_PSYBEAM,
- MOVE_BUBBLE_BEAM,
- MOVE_AURORA_BEAM,
- MOVE_HYPER_BEAM,
- MOVE_PECK,
- MOVE_DRILL_PECK,
- MOVE_SUBMISSION,
- MOVE_LOW_KICK,
- MOVE_COUNTER,
- MOVE_SEISMIC_TOSS,
- MOVE_STRENGTH,
- MOVE_ABSORB,
- MOVE_MEGA_DRAIN,
- MOVE_LEECH_SEED,
- MOVE_GROWTH,
- MOVE_RAZOR_LEAF,
- MOVE_SOLAR_BEAM,
- MOVE_POISON_POWDER,
- MOVE_STUN_SPORE,
- MOVE_SLEEP_POWDER,
- MOVE_PETAL_DANCE,
- MOVE_STRING_SHOT,
- MOVE_DRAGON_RAGE,
- MOVE_FIRE_SPIN,
- MOVE_THUNDER_SHOCK,
- MOVE_THUNDERBOLT,
- MOVE_THUNDER_WAVE,
- MOVE_THUNDER,
- MOVE_ROCK_THROW,
- MOVE_EARTHQUAKE,
- MOVE_FISSURE,
- MOVE_DIG,
- MOVE_TOXIC,
- MOVE_CONFUSION,
- MOVE_PSYCHIC,
- MOVE_HYPNOSIS,
- MOVE_MEDITATE,
- MOVE_AGILITY,
- MOVE_QUICK_ATTACK,
- MOVE_RAGE,
- MOVE_TELEPORT,
- MOVE_NIGHT_SHADE,
- MOVE_MIMIC,
- MOVE_SCREECH,
- MOVE_DOUBLE_TEAM,
- MOVE_RECOVER,
- MOVE_HARDEN,
- MOVE_MINIMIZE,
- MOVE_SMOKESCREEN,
- MOVE_CONFUSE_RAY,
- MOVE_WITHDRAW,
- MOVE_DEFENSE_CURL,
- MOVE_BARRIER,
- MOVE_LIGHT_SCREEN,
- MOVE_HAZE,
- MOVE_REFLECT,
- MOVE_FOCUS_ENERGY,
- MOVE_BIDE,
- MOVE_METRONOME,
- MOVE_MIRROR_MOVE,
- MOVE_SELF_DESTRUCT,
- MOVE_EGG_BOMB,
- MOVE_LICK,
- MOVE_SMOG,
- MOVE_SLUDGE,
- MOVE_BONE_CLUB,
- MOVE_FIRE_BLAST,
- MOVE_WATERFALL,
- MOVE_CLAMP,
- MOVE_SWIFT,
- MOVE_SKULL_BASH,
- MOVE_SPIKE_CANNON,
- MOVE_CONSTRICT,
- MOVE_AMNESIA,
- MOVE_KINESIS,
- MOVE_SOFT_BOILED,
- MOVE_HI_JUMP_KICK,
- MOVE_GLARE,
- MOVE_DREAM_EATER,
- MOVE_POISON_GAS,
- MOVE_BARRAGE,
- MOVE_LEECH_LIFE,
- MOVE_LOVELY_KISS,
- MOVE_SKY_ATTACK,
- MOVE_TRANSFORM,
- MOVE_BUBBLE,
- MOVE_DIZZY_PUNCH,
- MOVE_SPORE,
- MOVE_FLASH,
- MOVE_PSYWAVE,
- MOVE_SPLASH,
- MOVE_ACID_ARMOR,
- MOVE_CRABHAMMER,
- MOVE_EXPLOSION,
- MOVE_FURY_SWIPES,
- MOVE_BONEMERANG,
- MOVE_REST,
- MOVE_ROCK_SLIDE,
- MOVE_HYPER_FANG,
- MOVE_SHARPEN,
- MOVE_CONVERSION,
- MOVE_TRI_ATTACK,
- MOVE_SUPER_FANG,
- MOVE_SLASH,
- MOVE_SUBSTITUTE,
- MOVE_STRUGGLE,
- MOVE_SKETCH,
- MOVE_TRIPLE_KICK,
- MOVE_THIEF,
- MOVE_SPIDER_WEB,
- MOVE_MIND_READER,
- MOVE_NIGHTMARE,
- MOVE_FLAME_WHEEL,
- MOVE_SNORE,
- MOVE_CURSE,
- MOVE_FLAIL,
- MOVE_CONVERSION_2,
- MOVE_AEROBLAST,
- MOVE_COTTON_SPORE,
- MOVE_REVERSAL,
- MOVE_SPITE,
- MOVE_POWDER_SNOW,
- MOVE_PROTECT,
- MOVE_MACH_PUNCH,
- MOVE_SCARY_FACE,
- MOVE_FAINT_ATTACK,
- MOVE_SWEET_KISS,
- MOVE_BELLY_DRUM,
- MOVE_SLUDGE_BOMB,
- MOVE_MUD_SLAP,
- MOVE_OCTAZOOKA,
- MOVE_SPIKES,
- MOVE_ZAP_CANNON,
- MOVE_FORESIGHT,
- MOVE_DESTINY_BOND,
- MOVE_PERISH_SONG,
- MOVE_ICY_WIND,
- MOVE_DETECT,
- MOVE_BONE_RUSH,
- MOVE_LOCK_ON,
- MOVE_OUTRAGE,
- MOVE_SANDSTORM,
- MOVE_GIGA_DRAIN,
- MOVE_ENDURE,
- MOVE_CHARM,
- MOVE_ROLLOUT,
- MOVE_FALSE_SWIPE,
- MOVE_SWAGGER,
- MOVE_MILK_DRINK,
- MOVE_SPARK,
- MOVE_FURY_CUTTER,
- MOVE_STEEL_WING,
- MOVE_MEAN_LOOK,
- MOVE_ATTRACT,
- MOVE_SLEEP_TALK,
- MOVE_HEAL_BELL,
- MOVE_RETURN,
- MOVE_PRESENT,
- MOVE_FRUSTRATION,
- MOVE_SAFEGUARD,
- MOVE_PAIN_SPLIT,
- MOVE_SACRED_FIRE,
- MOVE_MAGNITUDE,
- MOVE_DYNAMIC_PUNCH,
- MOVE_MEGAHORN,
- MOVE_DRAGON_BREATH,
- MOVE_BATON_PASS,
- MOVE_ENCORE,
- MOVE_PURSUIT,
- MOVE_RAPID_SPIN,
- MOVE_SWEET_SCENT,
- MOVE_IRON_TAIL,
- MOVE_METAL_CLAW,
- MOVE_VITAL_THROW,
- MOVE_MORNING_SUN,
- MOVE_SYNTHESIS,
- MOVE_MOONLIGHT,
- MOVE_HIDDEN_POWER,
- MOVE_CROSS_CHOP,
- MOVE_TWISTER,
- MOVE_RAIN_DANCE,
- MOVE_SUNNY_DAY,
- MOVE_CRUNCH,
- MOVE_MIRROR_COAT,
- MOVE_PSYCH_UP,
- MOVE_EXTREME_SPEED,
- MOVE_ANCIENT_POWER,
- MOVE_SHADOW_BALL,
- MOVE_FUTURE_SIGHT,
- MOVE_ROCK_SMASH,
- MOVE_WHIRLPOOL,
- MOVE_BEAT_UP,
- MOVE_FAKE_OUT,
- MOVE_UPROAR,
- MOVE_STOCKPILE,
- MOVE_SPIT_UP,
- MOVE_SWALLOW,
- MOVE_HEAT_WAVE,
- MOVE_HAIL,
- MOVE_TORMENT,
- MOVE_FLATTER,
- MOVE_WILL_O_WISP,
- MOVE_MEMENTO,
- MOVE_FACADE,
- MOVE_FOCUS_PUNCH,
- MOVE_SMELLING_SALT,
- MOVE_FOLLOW_ME,
- MOVE_NATURE_POWER,
- MOVE_CHARGE,
- MOVE_TAUNT,
- MOVE_HELPING_HAND,
- MOVE_TRICK,
- MOVE_ROLE_PLAY,
- MOVE_WISH,
- MOVE_ASSIST,
- MOVE_INGRAIN,
- MOVE_SUPERPOWER,
- MOVE_MAGIC_COAT,
- MOVE_RECYCLE,
- MOVE_REVENGE,
- MOVE_BRICK_BREAK,
- MOVE_YAWN,
- MOVE_KNOCK_OFF,
- MOVE_ENDEAVOR,
- MOVE_ERUPTION,
- MOVE_SKILL_SWAP,
- MOVE_IMPRISON,
- MOVE_REFRESH,
- MOVE_GRUDGE,
- MOVE_SNATCH,
- MOVE_SECRET_POWER,
- MOVE_DIVE,
- MOVE_ARM_THRUST,
- MOVE_CAMOUFLAGE,
- MOVE_TAIL_GLOW,
- MOVE_LUSTER_PURGE,
- MOVE_MIST_BALL,
- MOVE_FEATHER_DANCE,
- MOVE_TEETER_DANCE,
- MOVE_BLAZE_KICK,
- MOVE_MUD_SPORT,
- MOVE_ICE_BALL,
- MOVE_NEEDLE_ARM,
- MOVE_SLACK_OFF,
- MOVE_HYPER_VOICE,
- MOVE_POISON_FANG,
- MOVE_CRUSH_CLAW,
- MOVE_BLAST_BURN,
- MOVE_HYDRO_CANNON,
- MOVE_METEOR_MASH,
- MOVE_ASTONISH,
- MOVE_WEATHER_BALL,
- MOVE_AROMATHERAPY,
- MOVE_FAKE_TEARS,
- MOVE_AIR_CUTTER,
- MOVE_OVERHEAT,
- MOVE_ODOR_SLEUTH,
- MOVE_ROCK_TOMB,
- MOVE_SILVER_WIND,
- MOVE_METAL_SOUND,
- MOVE_GRASS_WHISTLE,
- MOVE_TICKLE,
- MOVE_COSMIC_POWER,
- MOVE_WATER_SPOUT,
- MOVE_SIGNAL_BEAM,
- MOVE_SHADOW_PUNCH,
- MOVE_EXTRASENSORY,
- MOVE_SKY_UPPERCUT,
- MOVE_SAND_TOMB,
- MOVE_SHEER_COLD,
- MOVE_MUDDY_WATER,
- MOVE_BULLET_SEED,
- MOVE_AERIAL_ACE,
- MOVE_ICICLE_SPEAR,
- MOVE_IRON_DEFENSE,
- MOVE_BLOCK,
- MOVE_HOWL,
- MOVE_DRAGON_CLAW,
- MOVE_FRENZY_PLANT,
- MOVE_BULK_UP,
- MOVE_BOUNCE,
- MOVE_MUD_SHOT,
- MOVE_POISON_TAIL,
- MOVE_COVET,
- MOVE_VOLT_TACKLE,
- MOVE_MAGICAL_LEAF,
- MOVE_WATER_SPORT,
- MOVE_CALM_MIND,
- MOVE_LEAF_BLADE,
- MOVE_DRAGON_DANCE,
- MOVE_ROCK_BLAST,
- MOVE_SHOCK_WAVE,
- MOVE_WATER_PULSE,
- MOVE_DOOM_DESIRE,
- MOVE_PSYCHO_BOOST,
-};
-extern const u8 gMoveNames[][13];
-
-#define LAST_MOVE_INDEX MOVE_PSYCHO_BOOST
-
-#endif // GUARD_MOVES_H
diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h
index c52184972..dad819c51 100644
--- a/include/new_menu_helpers.h
+++ b/include/new_menu_helpers.h
@@ -14,5 +14,6 @@ void sub_8197434(u8 a0, u8 a1);
void SetStandardWindowBorderStyle(u8 a0, u8 a1);
void sub_8197930(void);
u8 GetPlayerTextSpeed(void);
+void sub_81978B0(u16 arg0);
#endif // GUARD_NEW_MENU_HELPERS_H
diff --git a/include/opponent_constants.h b/include/opponent_constants.h
deleted file mode 100644
index b3e8cef03..000000000
--- a/include/opponent_constants.h
+++ /dev/null
@@ -1,860 +0,0 @@
-#ifndef GUARD_CONSTANTS_OPPONENTS_H
-#define GUARD_CONSTANTS_OPPONENTS_H
-
-#define OPPONENT_NONE 0
-#define OPPONENT_SAWYER_1 1
-#define OPPONENT_GRUNT_1 2
-#define OPPONENT_GRUNT_2 3
-#define OPPONENT_GRUNT_3 4
-#define OPPONENT_GRUNT_4 5
-#define OPPONENT_GRUNT_5 6
-#define OPPONENT_GRUNT_6 7
-#define OPPONENT_GRUNT_7 8
-#define OPPONENT_GABRIELLE_1 9
-#define OPPONENT_GRUNT_8 10
-#define OPPONENT_MARCEL 11
-#define OPPONENT_ALBERTO 12
-#define OPPONENT_ED 13
-#define OPPONENT_GRUNT_9 14
-#define OPPONENT_DECLAN 15
-#define OPPONENT_GRUNT_10 16
-#define OPPONENT_GRUNT_11 17
-#define OPPONENT_GRUNT_12 18
-#define OPPONENT_GRUNT_13 19
-#define OPPONENT_GRUNT_14 20
-#define OPPONENT_GRUNT_15 21
-#define OPPONENT_GRUNT_16 22
-#define OPPONENT_GRUNT_17 23
-#define OPPONENT_GRUNT_18 24
-#define OPPONENT_GRUNT_19 25
-#define OPPONENT_GRUNT_20 26
-#define OPPONENT_GRUNT_21 27
-#define OPPONENT_GRUNT_22 28
-#define OPPONENT_FREDRICK 29
-#define OPPONENT_MATT_1 30
-#define OPPONENT_ZANDER 31
-#define OPPONENT_SHELLY_1 32
-#define OPPONENT_SHELLY_2 33
-#define OPPONENT_ARCHIE 34
-#define OPPONENT_LEAH 35
-#define OPPONENT_DAISY 36
-#define OPPONENT_ROSE_1 37
-#define OPPONENT_FELIX 38
-#define OPPONENT_VIOLET 39
-#define OPPONENT_ROSE_2 40
-#define OPPONENT_ROSE_3 41
-#define OPPONENT_ROSE_4 42
-#define OPPONENT_ROSE_5 43
-#define OPPONENT_DUSTY_1 44
-#define OPPONENT_CHIP 45
-#define OPPONENT_FOSTER 46
-#define OPPONENT_DUSTY_2 47
-#define OPPONENT_DUSTY_3 48
-#define OPPONENT_DUSTY_4 49
-#define OPPONENT_DUSTY_5 50
-#define OPPONENT_GABBY_AND_TY_1 51
-#define OPPONENT_GABBY_AND_TY_2 52
-#define OPPONENT_GABBY_AND_TY_3 53
-#define OPPONENT_GABBY_AND_TY_4 54
-#define OPPONENT_GABBY_AND_TY_5 55
-#define OPPONENT_GABBY_AND_TY_6 56
-#define OPPONENT_LOLA_1 57
-#define OPPONENT_AUSTINA 58
-#define OPPONENT_GWEN 59
-#define OPPONENT_LOLA_2 60
-#define OPPONENT_LOLA_3 61
-#define OPPONENT_LOLA_4 62
-#define OPPONENT_LOLA_5 63
-#define OPPONENT_RICKY_1 64
-#define OPPONENT_SIMON 65
-#define OPPONENT_CHARLIE 66
-#define OPPONENT_RICKY_2 67
-#define OPPONENT_RICKY_3 68
-#define OPPONENT_RICKY_4 69
-#define OPPONENT_RICKY_5 70
-#define OPPONENT_RANDALL 71
-#define OPPONENT_PARKER 72
-#define OPPONENT_GEORGE 73
-#define OPPONENT_BERKE 74
-#define OPPONENT_BRAXTON 75
-#define OPPONENT_VINCENT 76
-#define OPPONENT_LEROY 77
-#define OPPONENT_WILTON_1 78
-#define OPPONENT_EDGAR 79
-#define OPPONENT_ALBERT 80
-#define OPPONENT_SAMUEL 81
-#define OPPONENT_VITO 82
-#define OPPONENT_OWEN 83
-#define OPPONENT_WILTON_2 84
-#define OPPONENT_WILTON_3 85
-#define OPPONENT_WILTON_4 86
-#define OPPONENT_WILTON_5 87
-#define OPPONENT_WARREN 88
-#define OPPONENT_MARY 89
-#define OPPONENT_ALEXIA 90
-#define OPPONENT_JODY 91
-#define OPPONENT_WENDY 92
-#define OPPONENT_KEIRA 93
-#define OPPONENT_BROOKE_1 94
-#define OPPONENT_JENNIFER 95
-#define OPPONENT_HOPE 96
-#define OPPONENT_SHANNON 97
-#define OPPONENT_MICHELLE 98
-#define OPPONENT_CAROLINE 99
-#define OPPONENT_JULIE 100
-#define OPPONENT_BROOKE_2 101
-#define OPPONENT_BROOKE_3 102
-#define OPPONENT_BROOKE_4 103
-#define OPPONENT_BROOKE_5 104
-#define OPPONENT_PATRICIA 105
-#define OPPONENT_KINDRA 106
-#define OPPONENT_TAMMY 107
-#define OPPONENT_VALERIE_1 108
-#define OPPONENT_TASHA 109
-#define OPPONENT_VALERIE_2 110
-#define OPPONENT_VALERIE_3 111
-#define OPPONENT_VALERIE_4 112
-#define OPPONENT_VALERIE_5 113
-#define OPPONENT_CINDY_1 114
-#define OPPONENT_DAPHNE 115
-#define OPPONENT_GRUNT_23 116
-#define OPPONENT_CINDY_2 117
-#define OPPONENT_BRIANNA 118
-#define OPPONENT_NAOMI 119
-#define OPPONENT_CINDY_3 120
-#define OPPONENT_CINDY_4 121
-#define OPPONENT_CINDY_5 122
-#define OPPONENT_CINDY_6 123
-#define OPPONENT_MELISSA 124
-#define OPPONENT_SHEILA 125
-#define OPPONENT_SHIRLEY 126
-#define OPPONENT_JESSICA_1 127
-#define OPPONENT_CONNIE 128
-#define OPPONENT_BRIDGET 129
-#define OPPONENT_OLIVIA 130
-#define OPPONENT_TIFFANY 131
-#define OPPONENT_JESSICA_2 132
-#define OPPONENT_JESSICA_3 133
-#define OPPONENT_JESSICA_4 134
-#define OPPONENT_JESSICA_5 135
-#define OPPONENT_WINSTON_1 136
-#define OPPONENT_MOLLIE 137
-#define OPPONENT_GARRET 138
-#define OPPONENT_WINSTON_2 139
-#define OPPONENT_WINSTON_3 140
-#define OPPONENT_WINSTON_4 141
-#define OPPONENT_WINSTON_5 142
-#define OPPONENT_STEVE_1 143
-#define OPPONENT_THALIA_1 144
-#define OPPONENT_MARK 145
-#define OPPONENT_GRUNT_24 146
-#define OPPONENT_STEVE_2 147
-#define OPPONENT_STEVE_3 148
-#define OPPONENT_STEVE_4 149
-#define OPPONENT_STEVE_5 150
-#define OPPONENT_LUIS 151
-#define OPPONENT_DOMINIK 152
-#define OPPONENT_DOUGLAS 153
-#define OPPONENT_DARRIN 154
-#define OPPONENT_TONY_1 155
-#define OPPONENT_JEROME 156
-#define OPPONENT_MATTHEW 157
-#define OPPONENT_DAVID 158
-#define OPPONENT_SPENCER 159
-#define OPPONENT_ROLAND 160
-#define OPPONENT_NOLEN 161
-#define OPPONENT_STAN 162
-#define OPPONENT_BARRY 163
-#define OPPONENT_DEAN 164
-#define OPPONENT_RODNEY 165
-#define OPPONENT_RICHARD 166
-#define OPPONENT_HERMAN 167
-#define OPPONENT_SANTIAGO 168
-#define OPPONENT_GILBERT 169
-#define OPPONENT_FRANKLIN 170
-#define OPPONENT_KEVIN 171
-#define OPPONENT_JACK 172
-#define OPPONENT_DUDLEY 173
-#define OPPONENT_CHAD 174
-#define OPPONENT_TONY_2 175
-#define OPPONENT_TONY_3 176
-#define OPPONENT_TONY_4 177
-#define OPPONENT_TONY_5 178
-#define OPPONENT_TAKAO 179
-#define OPPONENT_HITOSHI 180
-#define OPPONENT_KIYO 181
-#define OPPONENT_KOICHI 182
-#define OPPONENT_NOB_1 183
-#define OPPONENT_NOB_2 184
-#define OPPONENT_NOB_3 185
-#define OPPONENT_NOB_4 186
-#define OPPONENT_NOB_5 187
-#define OPPONENT_YUJI 188
-#define OPPONENT_DAISUKE 189
-#define OPPONENT_ATSUSHI 190
-#define OPPONENT_KIRK 191
-#define OPPONENT_GRUNT_25 192
-#define OPPONENT_GRUNT_26 193
-#define OPPONENT_SHAWN 194
-#define OPPONENT_FERNANDO_1 195
-#define OPPONENT_DALTON_1 196
-#define OPPONENT_DALTON_2 197
-#define OPPONENT_DALTON_3 198
-#define OPPONENT_DALTON_4 199
-#define OPPONENT_DALTON_5 200
-#define OPPONENT_COLE 201
-#define OPPONENT_JEFF 202
-#define OPPONENT_AXLE 203
-#define OPPONENT_JACE 204
-#define OPPONENT_KEEGAN 205
-#define OPPONENT_BERNIE_1 206
-#define OPPONENT_BERNIE_2 207
-#define OPPONENT_BERNIE_3 208
-#define OPPONENT_BERNIE_4 209
-#define OPPONENT_BERNIE_5 210
-#define OPPONENT_DREW 211
-#define OPPONENT_BEAU 212
-#define OPPONENT_LARRY 213
-#define OPPONENT_SHANE 214
-#define OPPONENT_JUSTIN 215
-#define OPPONENT_ETHAN_1 216
-#define OPPONENT_AUTUMN 217
-#define OPPONENT_TRAVIS 218
-#define OPPONENT_ETHAN_2 219
-#define OPPONENT_ETHAN_3 220
-#define OPPONENT_ETHAN_4 221
-#define OPPONENT_ETHAN_5 222
-#define OPPONENT_BRENT 223
-#define OPPONENT_DONALD 224
-#define OPPONENT_TAYLOR 225
-#define OPPONENT_JEFFREY_1 226
-#define OPPONENT_DEREK 227
-#define OPPONENT_JEFFREY_2 228
-#define OPPONENT_JEFFREY_3 229
-#define OPPONENT_JEFFREY_4 230
-#define OPPONENT_JEFFREY_5 231
-#define OPPONENT_EDWARD 232
-#define OPPONENT_PRESTON 233
-#define OPPONENT_VIRGIL 234
-#define OPPONENT_BLAKE 235
-#define OPPONENT_WILLIAM 236
-#define OPPONENT_JOSHUA 237
-#define OPPONENT_CAMERON_1 238
-#define OPPONENT_CAMERON_2 239
-#define OPPONENT_CAMERON_3 240
-#define OPPONENT_CAMERON_4 241
-#define OPPONENT_CAMERON_5 242
-#define OPPONENT_JACLYN 243
-#define OPPONENT_HANNAH 244
-#define OPPONENT_SAMANTHA 245
-#define OPPONENT_MAURA 246
-#define OPPONENT_KAYLA 247
-#define OPPONENT_ALEXIS 248
-#define OPPONENT_JACKI_1 249
-#define OPPONENT_JACKI_2 250
-#define OPPONENT_JACKI_3 251
-#define OPPONENT_JACKI_4 252
-#define OPPONENT_JACKI_5 253
-#define OPPONENT_WALTER_1 254
-#define OPPONENT_MICAH 255
-#define OPPONENT_THOMAS 256
-#define OPPONENT_WALTER_2 257
-#define OPPONENT_WALTER_3 258
-#define OPPONENT_WALTER_4 259
-#define OPPONENT_WALTER_5 260
-#define OPPONENT_SIDNEY 261
-#define OPPONENT_PHOEBE 262
-#define OPPONENT_GLACIA 263
-#define OPPONENT_DRAKE 264
-#define OPPONENT_ROXANNE_1 265
-#define OPPONENT_BRAWLY_1 266
-#define OPPONENT_WATTSON_1 267
-#define OPPONENT_FLANNERY_1 268
-#define OPPONENT_NORMAN_1 269
-#define OPPONENT_WINONA_1 270
-#define OPPONENT_TATE_AND_LIZA_1 271
-#define OPPONENT_JUAN_1 272
-#define OPPONENT_JERRY_1 273
-#define OPPONENT_TED 274
-#define OPPONENT_PAUL 275
-#define OPPONENT_JERRY_2 276
-#define OPPONENT_JERRY_3 277
-#define OPPONENT_JERRY_4 278
-#define OPPONENT_JERRY_5 279
-#define OPPONENT_KAREN_1 280
-#define OPPONENT_GEORGIA 281
-#define OPPONENT_KAREN_2 282
-#define OPPONENT_KAREN_3 283
-#define OPPONENT_KAREN_4 284
-#define OPPONENT_KAREN_5 285
-#define OPPONENT_KATE_AND_JOY 286
-#define OPPONENT_ANNA_AND_MEG_1 287
-#define OPPONENT_ANNA_AND_MEG_2 288
-#define OPPONENT_ANNA_AND_MEG_3 289
-#define OPPONENT_ANNA_AND_MEG_4 290
-#define OPPONENT_ANNA_AND_MEG_5 291
-#define OPPONENT_VICTOR 292
-#define OPPONENT_MIGUEL_1 293
-#define OPPONENT_COLTON 294
-#define OPPONENT_MIGUEL_2 295
-#define OPPONENT_MIGUEL_3 296
-#define OPPONENT_MIGUEL_4 297
-#define OPPONENT_MIGUEL_5 298
-#define OPPONENT_VICTORIA 299
-#define OPPONENT_VANESSA 300
-#define OPPONENT_BETHANY 301
-#define OPPONENT_ISABEL_1 302
-#define OPPONENT_ISABEL_2 303
-#define OPPONENT_ISABEL_3 304
-#define OPPONENT_ISABEL_4 305
-#define OPPONENT_ISABEL_5 306
-#define OPPONENT_TIMOTHY_1 307
-#define OPPONENT_TIMOTHY_2 308
-#define OPPONENT_TIMOTHY_3 309
-#define OPPONENT_TIMOTHY_4 310
-#define OPPONENT_TIMOTHY_5 311
-#define OPPONENT_VICKY 312
-#define OPPONENT_SHELBY_1 313
-#define OPPONENT_SHELBY_2 314
-#define OPPONENT_SHELBY_3 315
-#define OPPONENT_SHELBY_4 316
-#define OPPONENT_SHELBY_5 317
-#define OPPONENT_CALVIN_1 318
-#define OPPONENT_BILLY 319
-#define OPPONENT_JOSH 320
-#define OPPONENT_TOMMY 321
-#define OPPONENT_JOEY 322
-#define OPPONENT_BEN 323
-#define OPPONENT_QUINCY 324
-#define OPPONENT_KATELYNN 325
-#define OPPONENT_JAYLEN 326
-#define OPPONENT_DILLON 327
-#define OPPONENT_CALVIN_2 328
-#define OPPONENT_CALVIN_3 329
-#define OPPONENT_CALVIN_4 330
-#define OPPONENT_CALVIN_5 331
-#define OPPONENT_EDDIE 332
-#define OPPONENT_ALLEN 333
-#define OPPONENT_TIMMY 334
-#define OPPONENT_WALLACE 335
-#define OPPONENT_ANDREW 336
-#define OPPONENT_IVAN 337
-#define OPPONENT_CLAUDE 338
-#define OPPONENT_ELLIOT_1 339
-#define OPPONENT_NED 340
-#define OPPONENT_DALE 341
-#define OPPONENT_NOLAN 342
-#define OPPONENT_BARNY 343
-#define OPPONENT_WADE 344
-#define OPPONENT_CARTER 345
-#define OPPONENT_ELLIOT_2 346
-#define OPPONENT_ELLIOT_3 347
-#define OPPONENT_ELLIOT_4 348
-#define OPPONENT_ELLIOT_5 349
-#define OPPONENT_RONALD 350
-#define OPPONENT_JACOB 351
-#define OPPONENT_ANTHONY 352
-#define OPPONENT_BENJAMIN_1 353
-#define OPPONENT_BENJAMIN_2 354
-#define OPPONENT_BENJAMIN_3 355
-#define OPPONENT_BENJAMIN_4 356
-#define OPPONENT_BENJAMIN_5 357
-#define OPPONENT_ABIGAIL_1 358
-#define OPPONENT_JASMINE 359
-#define OPPONENT_ABIGAIL_2 360
-#define OPPONENT_ABIGAIL_3 361
-#define OPPONENT_ABIGAIL_4 362
-#define OPPONENT_ABIGAIL_5 363
-#define OPPONENT_DYLAN_1 364
-#define OPPONENT_DYLAN_2 365
-#define OPPONENT_DYLAN_3 366
-#define OPPONENT_DYLAN_4 367
-#define OPPONENT_DYLAN_5 368
-#define OPPONENT_MARIA_1 369
-#define OPPONENT_MARIA_2 370
-#define OPPONENT_MARIA_3 371
-#define OPPONENT_MARIA_4 372
-#define OPPONENT_MARIA_5 373
-#define OPPONENT_CAMDEN 374
-#define OPPONENT_DEMETRIUS 375
-#define OPPONENT_ISAIAH_1 376
-#define OPPONENT_PABLO_1 377
-#define OPPONENT_CHASE 378
-#define OPPONENT_ISAIAH_2 379
-#define OPPONENT_ISAIAH_3 380
-#define OPPONENT_ISAIAH_4 381
-#define OPPONENT_ISAIAH_5 382
-#define OPPONENT_ISOBEL 383
-#define OPPONENT_DONNY 384
-#define OPPONENT_TALIA 385
-#define OPPONENT_KATELYN_1 386
-#define OPPONENT_ALLISON 387
-#define OPPONENT_KATELYN_2 388
-#define OPPONENT_KATELYN_3 389
-#define OPPONENT_KATELYN_4 390
-#define OPPONENT_KATELYN_5 391
-#define OPPONENT_NICOLAS_1 392
-#define OPPONENT_NICOLAS_2 393
-#define OPPONENT_NICOLAS_3 394
-#define OPPONENT_NICOLAS_4 395
-#define OPPONENT_NICOLAS_5 396
-#define OPPONENT_AARON 397
-#define OPPONENT_PERRY 398
-#define OPPONENT_HUGH 399
-#define OPPONENT_PHIL 400
-#define OPPONENT_JARED 401
-#define OPPONENT_HUMBERTO 402
-#define OPPONENT_PRESLEY 403
-#define OPPONENT_EDWARDO 404
-#define OPPONENT_COLIN 405
-#define OPPONENT_ROBERT_1 406
-#define OPPONENT_BENNY 407
-#define OPPONENT_CHESTER 408
-#define OPPONENT_ROBERT_2 409
-#define OPPONENT_ROBERT_3 410
-#define OPPONENT_ROBERT_4 411
-#define OPPONENT_ROBERT_5 412
-#define OPPONENT_ALEX 413
-#define OPPONENT_BECK 414
-#define OPPONENT_YASU 415
-#define OPPONENT_TAKASHI 416
-#define OPPONENT_DIANNE 417
-#define OPPONENT_JANI 418
-#define OPPONENT_LAO_1 419
-#define OPPONENT_LUNG 420
-#define OPPONENT_LAO_2 421
-#define OPPONENT_LAO_3 422
-#define OPPONENT_LAO_4 423
-#define OPPONENT_LAO_5 424
-#define OPPONENT_JOCELYN 425
-#define OPPONENT_LAURA 426
-#define OPPONENT_CYNDY_1 427
-#define OPPONENT_CORA 428
-#define OPPONENT_PAULA 429
-#define OPPONENT_CYNDY_2 430
-#define OPPONENT_CYNDY_3 431
-#define OPPONENT_CYNDY_4 432
-#define OPPONENT_CYNDY_5 433
-#define OPPONENT_MADELINE_1 434
-#define OPPONENT_CLARISSA 435
-#define OPPONENT_ANGELICA 436
-#define OPPONENT_MADELINE_2 437
-#define OPPONENT_MADELINE_3 438
-#define OPPONENT_MADELINE_4 439
-#define OPPONENT_MADELINE_5 440
-#define OPPONENT_BEVERLY 441
-#define OPPONENT_IMANI 442
-#define OPPONENT_KYLA 443
-#define OPPONENT_DENISE 444
-#define OPPONENT_BETH 445
-#define OPPONENT_TARA 446
-#define OPPONENT_MISSY 447
-#define OPPONENT_ALICE 448
-#define OPPONENT_JENNY_1 449
-#define OPPONENT_GRACE 450
-#define OPPONENT_TANYA 451
-#define OPPONENT_SHARON 452
-#define OPPONENT_NIKKI 453
-#define OPPONENT_BRENDA 454
-#define OPPONENT_KATIE 455
-#define OPPONENT_SUSIE 456
-#define OPPONENT_KARA 457
-#define OPPONENT_DANA 458
-#define OPPONENT_SIENNA 459
-#define OPPONENT_DEBRA 460
-#define OPPONENT_LINDA 461
-#define OPPONENT_KAYLEE 462
-#define OPPONENT_LAUREL 463
-#define OPPONENT_CARLEE 464
-#define OPPONENT_JENNY_2 465
-#define OPPONENT_JENNY_3 466
-#define OPPONENT_JENNY_4 467
-#define OPPONENT_JENNY_5 468
-#define OPPONENT_HEIDI 469
-#define OPPONENT_BECKY 470
-#define OPPONENT_CAROL 471
-#define OPPONENT_NANCY 472
-#define OPPONENT_MARTHA 473
-#define OPPONENT_DIANA_1 474
-#define OPPONENT_CEDRIC 475
-#define OPPONENT_IRENE 476
-#define OPPONENT_DIANA_2 477
-#define OPPONENT_DIANA_3 478
-#define OPPONENT_DIANA_4 479
-#define OPPONENT_DIANA_5 480
-#define OPPONENT_AMY_AND_LIV_1 481
-#define OPPONENT_AMY_AND_LIV_2 482
-#define OPPONENT_GINA_AND_MIA_1 483
-#define OPPONENT_MIU_AND_YUKI 484
-#define OPPONENT_AMY_AND_LIV_3 485
-#define OPPONENT_GINA_AND_MIA_2 486
-#define OPPONENT_AMY_AND_LIV_4 487
-#define OPPONENT_AMY_AND_LIV_5 488
-#define OPPONENT_AMY_AND_LIV_6 489
-#define OPPONENT_HUEY 490
-#define OPPONENT_EDMOND 491
-#define OPPONENT_ERNEST_1 492
-#define OPPONENT_DWAYNE 493
-#define OPPONENT_PHILLIP 494
-#define OPPONENT_LEONARD 495
-#define OPPONENT_DUNCAN 496
-#define OPPONENT_ERNEST_2 497
-#define OPPONENT_ERNEST_3 498
-#define OPPONENT_ERNEST_4 499
-#define OPPONENT_ERNEST_5 500
-#define OPPONENT_ELI 501
-#define OPPONENT_ANNIKA 502
-#define OPPONENT_JAZMYN 503
-#define OPPONENT_JONAS 504
-#define OPPONENT_KAYLEY 505
-#define OPPONENT_AURON 506
-#define OPPONENT_KELVIN 507
-#define OPPONENT_MARLEY 508
-#define OPPONENT_REYNA 509
-#define OPPONENT_HUDSON 510
-#define OPPONENT_CONOR 511
-#define OPPONENT_EDWIN_1 512
-#define OPPONENT_HECTOR 513
-#define OPPONENT_TABITHA_1 514
-#define OPPONENT_EDWIN_2 515
-#define OPPONENT_EDWIN_3 516
-#define OPPONENT_EDWIN_4 517
-#define OPPONENT_EDWIN_5 518
-#define OPPONENT_WALLY_1 519
-#define OPPONENT_BRENDAN_1 520
-#define OPPONENT_BRENDAN_2 521
-#define OPPONENT_BRENDAN_3 522
-#define OPPONENT_BRENDAN_4 523
-#define OPPONENT_BRENDAN_5 524
-#define OPPONENT_BRENDAN_6 525
-#define OPPONENT_BRENDAN_7 526
-#define OPPONENT_BRENDAN_8 527
-#define OPPONENT_BRENDAN_9 528
-#define OPPONENT_MAY_1 529
-#define OPPONENT_MAY_2 530
-#define OPPONENT_MAY_3 531
-#define OPPONENT_MAY_4 532
-#define OPPONENT_MAY_5 533
-#define OPPONENT_MAY_6 534
-#define OPPONENT_MAY_7 535
-#define OPPONENT_MAY_8 536
-#define OPPONENT_MAY_9 537
-#define OPPONENT_ISAAC_1 538
-#define OPPONENT_DAVIS 539
-#define OPPONENT_MITCHELL 540
-#define OPPONENT_ISAAC_2 541
-#define OPPONENT_ISAAC_3 542
-#define OPPONENT_ISAAC_4 543
-#define OPPONENT_ISAAC_5 544
-#define OPPONENT_LYDIA_1 545
-#define OPPONENT_HALLE 546
-#define OPPONENT_GARRISON 547
-#define OPPONENT_LYDIA_2 548
-#define OPPONENT_LYDIA_3 549
-#define OPPONENT_LYDIA_4 550
-#define OPPONENT_LYDIA_5 551
-#define OPPONENT_JACKSON_1 552
-#define OPPONENT_LORENZO 553
-#define OPPONENT_SEBASTIAN 554
-#define OPPONENT_JACKSON_2 555
-#define OPPONENT_JACKSON_3 556
-#define OPPONENT_JACKSON_4 557
-#define OPPONENT_JACKSON_5 558
-#define OPPONENT_CATHERINE_1 559
-#define OPPONENT_JENNA 560
-#define OPPONENT_SOPHIA 561
-#define OPPONENT_CATHERINE_2 562
-#define OPPONENT_CATHERINE_3 563
-#define OPPONENT_CATHERINE_4 564
-#define OPPONENT_CATHERINE_5 565
-#define OPPONENT_JULIO 566
-#define OPPONENT_GRUNT_27 567
-#define OPPONENT_GRUNT_28 568
-#define OPPONENT_GRUNT_29 569
-#define OPPONENT_GRUNT_30 570
-#define OPPONENT_MARC 571
-#define OPPONENT_BRENDEN 572
-#define OPPONENT_LILITH 573
-#define OPPONENT_CRISTIAN 574
-#define OPPONENT_SYLVIA 575
-#define OPPONENT_LEONARDO 576
-#define OPPONENT_ATHENA 577
-#define OPPONENT_HARRISON 578
-#define OPPONENT_GRUNT_31 579
-#define OPPONENT_CLARENCE 580
-#define OPPONENT_TERRY 581
-#define OPPONENT_NATE 582
-#define OPPONENT_KATHLEEN 583
-#define OPPONENT_CLIFFORD 584
-#define OPPONENT_NICHOLAS 585
-#define OPPONENT_GRUNT_32 586
-#define OPPONENT_GRUNT_33 587
-#define OPPONENT_GRUNT_34 588
-#define OPPONENT_GRUNT_35 589
-#define OPPONENT_GRUNT_36 590
-#define OPPONENT_MACEY 591
-#define OPPONENT_BRENDAN_10 592
-#define OPPONENT_BRENDAN_11 593
-#define OPPONENT_PAXTON 594
-#define OPPONENT_ISABELLA 595
-#define OPPONENT_GRUNT_37 596
-#define OPPONENT_TABITHA_2 597
-#define OPPONENT_JONATHAN 598
-#define OPPONENT_BRENDAN_12 599
-#define OPPONENT_MAY_10 600
-#define OPPONENT_MAXIE_1 601
-#define OPPONENT_MAXIE_2 602
-#define OPPONENT_TIANA 603
-#define OPPONENT_HALEY_1 604
-#define OPPONENT_JANICE 605
-#define OPPONENT_VIVI 606
-#define OPPONENT_HALEY_2 607
-#define OPPONENT_HALEY_3 608
-#define OPPONENT_HALEY_4 609
-#define OPPONENT_HALEY_5 610
-#define OPPONENT_SALLY 611
-#define OPPONENT_ROBIN 612
-#define OPPONENT_ANDREA 613
-#define OPPONENT_CRISSY 614
-#define OPPONENT_RICK 615
-#define OPPONENT_LYLE 616
-#define OPPONENT_JOSE 617
-#define OPPONENT_DOUG 618
-#define OPPONENT_GREG 619
-#define OPPONENT_KENT 620
-#define OPPONENT_JAMES_1 621
-#define OPPONENT_JAMES_2 622
-#define OPPONENT_JAMES_3 623
-#define OPPONENT_JAMES_4 624
-#define OPPONENT_JAMES_5 625
-#define OPPONENT_BRICE 626
-#define OPPONENT_TRENT_1 627
-#define OPPONENT_LENNY 628
-#define OPPONENT_LUCAS_1 629
-#define OPPONENT_ALAN 630
-#define OPPONENT_CLARK 631
-#define OPPONENT_ERIC 632
-#define OPPONENT_LUCAS_2 633
-#define OPPONENT_MIKE_1 634
-#define OPPONENT_MIKE_2 635
-#define OPPONENT_TRENT_2 636
-#define OPPONENT_TRENT_3 637
-#define OPPONENT_TRENT_4 638
-#define OPPONENT_TRENT_5 639
-#define OPPONENT_DEZ_AND_LUKE 640
-#define OPPONENT_LEA_AND_JED 641
-#define OPPONENT_KIRA_AND_DAN_1 642
-#define OPPONENT_KIRA_AND_DAN_2 643
-#define OPPONENT_KIRA_AND_DAN_3 644
-#define OPPONENT_KIRA_AND_DAN_4 645
-#define OPPONENT_KIRA_AND_DAN_5 646
-#define OPPONENT_JOHANNA 647
-#define OPPONENT_GERALD 648
-#define OPPONENT_VIVIAN 649
-#define OPPONENT_DANIELLE 650
-#define OPPONENT_HIDEO 651
-#define OPPONENT_KEIGO 652
-#define OPPONENT_RILEY 653
-#define OPPONENT_FLINT 654
-#define OPPONENT_ASHLEY 655
-#define OPPONENT_WALLY_2 656
-#define OPPONENT_WALLY_3 657
-#define OPPONENT_WALLY_4 658
-#define OPPONENT_WALLY_5 659
-#define OPPONENT_WALLY_6 660
-#define OPPONENT_BRENDAN_13 661
-#define OPPONENT_BRENDAN_14 662
-#define OPPONENT_BRENDAN_15 663
-#define OPPONENT_MAY_11 664
-#define OPPONENT_MAY_12 665
-#define OPPONENT_MAY_13 666
-#define OPPONENT_JONAH 667
-#define OPPONENT_HENRY 668
-#define OPPONENT_ROGER 669
-#define OPPONENT_ALEXA 670
-#define OPPONENT_RUBEN 671
-#define OPPONENT_KOJI_1 672
-#define OPPONENT_WAYNE 673
-#define OPPONENT_AIDAN 674
-#define OPPONENT_REED 675
-#define OPPONENT_TISHA 676
-#define OPPONENT_TORI_AND_TIA 677
-#define OPPONENT_KIM_AND_IRIS 678
-#define OPPONENT_TYRA_AND_IVY 679
-#define OPPONENT_MEL_AND_PAUL 680
-#define OPPONENT_JOHN_AND_JAY_1 681
-#define OPPONENT_JOHN_AND_JAY_2 682
-#define OPPONENT_JOHN_AND_JAY_3 683
-#define OPPONENT_JOHN_AND_JAY_4 684
-#define OPPONENT_JOHN_AND_JAY_5 685
-#define OPPONENT_RELI_AND_IAN 686
-#define OPPONENT_LILA_AND_ROY_1 687
-#define OPPONENT_LILA_AND_ROY_2 688
-#define OPPONENT_LILA_AND_ROY_3 689
-#define OPPONENT_LILA_AND_ROY_4 690
-#define OPPONENT_LILA_AND_ROY_5 691
-#define OPPONENT_LISA_AND_RAY 692
-#define OPPONENT_CHRIS 693
-#define OPPONENT_DAWSON 694
-#define OPPONENT_SARAH 695
-#define OPPONENT_DARIAN 696
-#define OPPONENT_HAILEY 697
-#define OPPONENT_CHANDLER 698
-#define OPPONENT_KALEB 699
-#define OPPONENT_JOSEPH 700
-#define OPPONENT_ALYSSA 701
-#define OPPONENT_MARCOS 702
-#define OPPONENT_RHETT 703
-#define OPPONENT_TYRON 704
-#define OPPONENT_CELINA 705
-#define OPPONENT_BIANCA 706
-#define OPPONENT_HAYDEN 707
-#define OPPONENT_SOPHIE 708
-#define OPPONENT_COBY 709
-#define OPPONENT_LAWRENCE 710
-#define OPPONENT_WYATT 711
-#define OPPONENT_ANGELINA 712
-#define OPPONENT_KAI 713
-#define OPPONENT_CHARLOTTE 714
-#define OPPONENT_DEANDRE 715
-#define OPPONENT_GRUNT_38 716
-#define OPPONENT_GRUNT_39 717
-#define OPPONENT_GRUNT_40 718
-#define OPPONENT_GRUNT_41 719
-#define OPPONENT_GRUNT_42 720
-#define OPPONENT_GRUNT_43 721
-#define OPPONENT_GRUNT_44 722
-#define OPPONENT_GRUNT_45 723
-#define OPPONENT_GRUNT_46 724
-#define OPPONENT_GRUNT_47 725
-#define OPPONENT_GRUNT_48 726
-#define OPPONENT_GRUNT_49 727
-#define OPPONENT_GRUNT_50 728
-#define OPPONENT_GRUNT_51 729
-#define OPPONENT_GRUNT_52 730
-#define OPPONENT_GRUNT_53 731
-#define OPPONENT_TABITHA_3 732
-#define OPPONENT_DARCY 733
-#define OPPONENT_MAXIE_3 734
-#define OPPONENT_PETE 735
-#define OPPONENT_ISABELLE 736
-#define OPPONENT_ANDRES_1 737
-#define OPPONENT_JOSUE 738
-#define OPPONENT_CAMRON 739
-#define OPPONENT_CORY_1 740
-#define OPPONENT_CAROLINA 741
-#define OPPONENT_ELIJAH 742
-#define OPPONENT_CELIA 743
-#define OPPONENT_BRYAN 744
-#define OPPONENT_BRANDEN 745
-#define OPPONENT_BRYANT 746
-#define OPPONENT_SHAYLA 747
-#define OPPONENT_KYRA 748
-#define OPPONENT_JAIDEN 749
-#define OPPONENT_ALIX 750
-#define OPPONENT_HELENE 751
-#define OPPONENT_MARLENE 752
-#define OPPONENT_DEVAN 753
-#define OPPONENT_JOHNSON 754
-#define OPPONENT_MELINA 755
-#define OPPONENT_BRANDI 756
-#define OPPONENT_AISHA 757
-#define OPPONENT_MAKAYLA 758
-#define OPPONENT_FABIAN 759
-#define OPPONENT_DAYTON 760
-#define OPPONENT_RACHEL 761
-#define OPPONENT_LEONEL 762
-#define OPPONENT_CALLIE 763
-#define OPPONENT_CALE 764
-#define OPPONENT_MYLES 765
-#define OPPONENT_PAT 766
-#define OPPONENT_CRISTIN_1 767
-#define OPPONENT_MAY_14 768
-#define OPPONENT_MAY_15 769
-#define OPPONENT_ROXANNE_2 770
-#define OPPONENT_ROXANNE_3 771
-#define OPPONENT_ROXANNE_4 772
-#define OPPONENT_ROXANNE_5 773
-#define OPPONENT_BRAWLY_2 774
-#define OPPONENT_BRAWLY_3 775
-#define OPPONENT_BRAWLY_4 776
-#define OPPONENT_BRAWLY_5 777
-#define OPPONENT_WATTSON_2 778
-#define OPPONENT_WATTSON_3 779
-#define OPPONENT_WATTSON_4 780
-#define OPPONENT_WATTSON_5 781
-#define OPPONENT_FLANNERY_2 782
-#define OPPONENT_FLANNERY_3 783
-#define OPPONENT_FLANNERY_4 784
-#define OPPONENT_FLANNERY_5 785
-#define OPPONENT_NORMAN_2 786
-#define OPPONENT_NORMAN_3 787
-#define OPPONENT_NORMAN_4 788
-#define OPPONENT_NORMAN_5 789
-#define OPPONENT_WINONA_2 790
-#define OPPONENT_WINONA_3 791
-#define OPPONENT_WINONA_4 792
-#define OPPONENT_WINONA_5 793
-#define OPPONENT_TATE_AND_LIZA_2 794
-#define OPPONENT_TATE_AND_LIZA_3 795
-#define OPPONENT_TATE_AND_LIZA_4 796
-#define OPPONENT_TATE_AND_LIZA_5 797
-#define OPPONENT_JUAN_2 798
-#define OPPONENT_JUAN_3 799
-#define OPPONENT_JUAN_4 800
-#define OPPONENT_JUAN_5 801
-#define OPPONENT_ANGELO 802
-#define OPPONENT_DARIUS 803
-#define OPPONENT_STEVEN 804
-#define OPPONENT_ANABEL 805
-#define OPPONENT_TUCKER 806
-#define OPPONENT_SPENSER 807
-#define OPPONENT_GRETA 808
-#define OPPONENT_NOLAND 809
-#define OPPONENT_LUCY 810
-#define OPPONENT_BRANDON 811
-#define OPPONENT_ANDRES_2 812
-#define OPPONENT_ANDRES_3 813
-#define OPPONENT_ANDRES_4 814
-#define OPPONENT_ANDRES_5 815
-#define OPPONENT_CORY_2 816
-#define OPPONENT_CORY_3 817
-#define OPPONENT_CORY_4 818
-#define OPPONENT_CORY_5 819
-#define OPPONENT_PABLO_2 820
-#define OPPONENT_PABLO_3 821
-#define OPPONENT_PABLO_4 822
-#define OPPONENT_PABLO_5 823
-#define OPPONENT_KOJI_2 824
-#define OPPONENT_KOJI_3 825
-#define OPPONENT_KOJI_4 826
-#define OPPONENT_KOJI_5 827
-#define OPPONENT_CRISTIN_2 828
-#define OPPONENT_CRISTIN_3 829
-#define OPPONENT_CRISTIN_4 830
-#define OPPONENT_CRISTIN_5 831
-#define OPPONENT_FERNANDO_2 832
-#define OPPONENT_FERNANDO_3 833
-#define OPPONENT_FERNANDO_4 834
-#define OPPONENT_FERNANDO_5 835
-#define OPPONENT_SAWYER_2 836
-#define OPPONENT_SAWYER_3 837
-#define OPPONENT_SAWYER_4 838
-#define OPPONENT_SAWYER_5 839
-#define OPPONENT_GABRIELLE_2 840
-#define OPPONENT_GABRIELLE_3 841
-#define OPPONENT_GABRIELLE_4 842
-#define OPPONENT_GABRIELLE_5 843
-#define OPPONENT_THALIA_2 844
-#define OPPONENT_THALIA_3 845
-#define OPPONENT_THALIA_4 846
-#define OPPONENT_THALIA_5 847
-#define OPPONENT_MARIELA 848
-#define OPPONENT_ALVARO 848
-#define OPPONENT_EVERETT 850
-#define OPPONENT_RED 851
-#define OPPONENT_LEAF 852
-#define OPPONENT_BRENDAN_16 853
-#define OPPONENT_MAY_16 854
-
-#endif // GUARD_CONSTANTS_OPPONENTS_H \ No newline at end of file
diff --git a/include/overworld.h b/include/overworld.h
index ea3d27319..a5fba0c10 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -68,4 +68,7 @@ void c2_load_new_map(void);
void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused);
void mapldr_default(void);
+void IncrementGameStat(u8);
+u32 GetGameStat(u8);
+
#endif //GUARD_ROM4_H
diff --git a/include/palette.h b/include/palette.h
index d3bcd2271..cb03699a6 100644
--- a/include/palette.h
+++ b/include/palette.h
@@ -14,7 +14,7 @@
enum
{
FAST_FADE_IN_FROM_WHITE,
- FAST_FADE_OUT_TO_WHTIE,
+ FAST_FADE_OUT_TO_WHITE,
FAST_FADE_IN_FROM_BLACK,
FAST_FADE_OUT_TO_BLACK,
};
diff --git a/include/party_menu.h b/include/party_menu.h
index c787bafb1..3756ef569 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -1,7 +1,8 @@
#ifndef GUARD_PARTY_MENU_H
#define GUARD_PARTY_MENU_H
-enum {
+enum
+{
AILMENT_NONE,
AILMENT_PSN,
AILMENT_PRZ,
@@ -14,5 +15,6 @@ bool8 pokemon_has_move(struct Pokemon *, u16);
void sub_81B58A8(void);
void DoWallyTutorialBagMenu(void);
u8 pokemon_ailments_get_primary(u32 status);
+u8 *GetMonNickname(struct Pokemon *mon, u8 *dst);
#endif // GUARD_PARTY_MENU_H
diff --git a/include/pokeblock.h b/include/pokeblock.h
index a145cbada..6dd07b689 100644
--- a/include/pokeblock.h
+++ b/include/pokeblock.h
@@ -1,6 +1,9 @@
#ifndef GUARD_POKEBLOCK_H
#define GUARD_POKEBLOCK_H
+#define GFX_TAG_POKEBLOCK 14818
+#define GFX_TAG_POKEBLOCK_CASE 14800
+
enum
{
PBLOCK_CLR_BLACK,
@@ -22,12 +25,44 @@ enum
PBLOCK_FEEL,
};
+enum
+{
+ PBLOCK_CASE_FIELD,
+ PBLOCK_CASE_BATTLE,
+ PBLOCK_CASE_FEEDER,
+ PBLOCK_CASE_GIVE
+};
+
+// use pokeblock
+extern u8 gPokeblockMonId;
+extern s16 gPokeblockGain;
+
+void ChooseMonToGivePokeblock(struct Pokeblock *pokeblock, void (*callback)(void));
+
+// pokeblock feed
+void CB2_PreparePokeblockFeedScene(void);
+
+// pokeblock
+extern const s8 gPokeblockFlavorCompatibilityTable[];
+extern const u8 *const gPokeblockNames[];
+extern const struct CompressedSpriteSheet gPokeblockCase_SpriteSheet;
+extern const struct CompressedSpritePalette gPokeblockCase_SpritePal;
+
+void OpenPokeblockCase(u8 caseId, void (*callback)(void));
+void OpenPokeblockCaseInBattle(void);
+void OpenPokeblockCaseOnFeeder(void);
+void ResetPokeblockScrollPositions(void);
+u8 CreatePokeblockCaseSprite(s16 x, s16 y, u8 subpriority);
void ClearPokeblocks(void);
-s8 GetFirstFreePokeblockSlot(void);
-bool32 AddPokeblock(struct Pokeblock *pokeblock);
u8 GetHighestPokeblocksFlavorLevel(const struct Pokeblock *pokeblock);
u8 GetPokeblocksFeel(const struct Pokeblock *pokeblock);
+s8 GetFirstFreePokeblockSlot(void);
+bool32 AddPokeblock(const struct Pokeblock *pokeblock);
+bool32 TryClearPokeblock(u8 pkblId);
+s16 GetPokeblockData(const struct Pokeblock *pokeblock, u8 field);
+s16 PokeblockGetGain(u8 nature, const struct Pokeblock *pokeblock);
+void PokeblockCopyName(const struct Pokeblock *pokeblock, u8 *dest);
+bool8 CopyMonFavoritePokeblockName(u8 nature, u8 *dest);
u8 GetPokeblocksFlavor(const struct Pokeblock *pokeblock);
-s16 PokeblockGetGain(u8, const struct Pokeblock *);
#endif // GUARD_POKEBLOCK_H
diff --git a/include/pokemon.h b/include/pokemon.h
index 480c8d9b9..cdab96687 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -653,6 +653,7 @@ u8 GetSecretBaseTrainerPicIndex(void);
bool8 TryIncrementMonLevel(struct Pokemon *mon);
void BoxMonToMon(struct BoxPokemon *srcMon, struct Pokemon *dstMon);
u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves);
+u8 GetMonsStateToDoubles_2(void);
#include "sprite.h"
diff --git a/include/pokemon_3.h b/include/pokemon_3.h
index 5c9862d57..82dfacf48 100644
--- a/include/pokemon_3.h
+++ b/include/pokemon_3.h
@@ -3,5 +3,7 @@
const u8* GetTrainerClassNameFromId(u16 trainerId);
const u8* GetTrainerNameFromId(u16 trainerId);
+void PlayMapChosenOrBattleBGM(u16 song);
+u8 GetTrainerEncounterMusicId(u16 trainerOpponentId);
#endif // GUARD_POKEMON_3_H
diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h
index b6d21823e..e0a9aa0c5 100644
--- a/include/pokemon_icon.h
+++ b/include/pokemon_icon.h
@@ -3,6 +3,7 @@
const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo);
const u16 *GetValidMonIconPalettePtr(u16 speciesId);
+u16 GetUnownLetterByPersonality(u32 personality);
u16 sub_80D2E84(u16 speciesId);
void sub_80D2F68(u16 iconId);
u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4, u8 a5);
diff --git a/include/pokenav.h b/include/pokenav.h
index 06676610a..ebe3b325c 100644
--- a/include/pokenav.h
+++ b/include/pokenav.h
@@ -2,5 +2,16 @@
#define GUARD_POKENAV_H
bool8 sub_81D5C18(void);
+bool8 sub_81D20BC(void *arg0);
+bool8 sub_81D312C(void *arg0);
+void sub_81D1ED4(void *arg0);
+void sub_81D2108(void *arg0);
+void sub_81D20AC(void *arg0);
+void sub_81D2230(void *arg0);
+void sub_81D3464(void *arg0);
+void sub_81D3480(void *arg0, u8 arg1);
+void sub_81D2754(void *arg0, void *arg1);
+void sub_81D1F84(void *arg0, void *arg1, void *arg2);
+const u8 *sub_81D62AC(void);
#endif //GUARD_POKENAV_H
diff --git a/include/region_map.h b/include/region_map.h
index 91384d166..e8cc80f82 100644
--- a/include/region_map.h
+++ b/include/region_map.h
@@ -5,223 +5,6 @@
// Exported type declarations
-enum {
- MAPSEC_LITTLEROOT_TOWN,
- MAPSEC_OLDALE_TOWN,
- MAPSEC_DEWFORD_TOWN,
- MAPSEC_LAVARIDGE_TOWN,
- MAPSEC_FALLARBOR_TOWN,
- MAPSEC_VERDANTURF_TOWN,
- MAPSEC_PACIFIDLOG_TOWN,
- MAPSEC_PETALBURG_CITY,
- MAPSEC_SLATEPORT_CITY,
- MAPSEC_MAUVILLE_CITY,
- MAPSEC_RUSTBORO_CITY,
- MAPSEC_FORTREE_CITY,
- MAPSEC_LILYCOVE_CITY,
- MAPSEC_MOSSDEEP_CITY,
- MAPSEC_SOOTOPOLIS_CITY,
- MAPSEC_EVER_GRANDE_CITY,
- MAPSEC_ROUTE_101,
- MAPSEC_ROUTE_102,
- MAPSEC_ROUTE_103,
- MAPSEC_ROUTE_104,
- MAPSEC_ROUTE_105,
- MAPSEC_ROUTE_106,
- MAPSEC_ROUTE_107,
- MAPSEC_ROUTE_108,
- MAPSEC_ROUTE_109,
- MAPSEC_ROUTE_110,
- MAPSEC_ROUTE_111,
- MAPSEC_ROUTE_112,
- MAPSEC_ROUTE_113,
- MAPSEC_ROUTE_114,
- MAPSEC_ROUTE_115,
- MAPSEC_ROUTE_116,
- MAPSEC_ROUTE_117,
- MAPSEC_ROUTE_118,
- MAPSEC_ROUTE_119,
- MAPSEC_ROUTE_120,
- MAPSEC_ROUTE_121,
- MAPSEC_ROUTE_122,
- MAPSEC_ROUTE_123,
- MAPSEC_ROUTE_124,
- MAPSEC_ROUTE_125,
- MAPSEC_ROUTE_126,
- MAPSEC_ROUTE_127,
- MAPSEC_ROUTE_128,
- MAPSEC_ROUTE_129,
- MAPSEC_ROUTE_130,
- MAPSEC_ROUTE_131,
- MAPSEC_ROUTE_132,
- MAPSEC_ROUTE_133,
- MAPSEC_ROUTE_134,
- MAPSEC_UNDERWATER_124,
- MAPSEC_UNDERWATER_125,
- MAPSEC_UNDERWATER_126,
- MAPSEC_UNDERWATER_127,
- MAPSEC_UNDERWATER_SOOTOPOLIS,
- MAPSEC_GRANITE_CAVE,
- MAPSEC_MT_CHIMNEY,
- MAPSEC_SAFARI_ZONE,
- MAPSEC_BATTLE_FRONTIER,
- MAPSEC_PETALBURG_WOODS,
- MAPSEC_RUSTURF_TUNNEL,
- MAPSEC_ABANDONED_SHIP,
- MAPSEC_NEW_MAUVILLE,
- MAPSEC_METEOR_FALLS,
- MAPSEC_METEOR_FALLS2,
- MAPSEC_MT_PYRE,
- MAPSEC_AQUA_HIDEOUT_OLD,
- MAPSEC_SHOAL_CAVE,
- MAPSEC_SEAFLOOR_CAVERN,
- MAPSEC_UNDERWATER_128,
- MAPSEC_VICTORY_ROAD,
- MAPSEC_MIRAGE_ISLAND,
- MAPSEC_CAVE_OF_ORIGIN,
- MAPSEC_SOUTHERN_ISLAND,
- MAPSEC_FIERY_PATH,
- MAPSEC_FIERY_PATH2,
- MAPSEC_JAGGED_PASS,
- MAPSEC_JAGGED_PASS2,
- MAPSEC_SEALED_CHAMBER,
- MAPSEC_UNDERWATER_SEALED_CHAMBER,
- MAPSEC_SCORCHED_SLAB,
- MAPSEC_ISLAND_CAVE,
- MAPSEC_DESERT_RUINS,
- MAPSEC_ANCIENT_TOMB,
- MAPSEC_INSIDE_OF_TRUCK,
- MAPSEC_SKY_PILLAR,
- MAPSEC_SECRET_BASE,
- MAPSEC_DYNAMIC,
- MAPSEC_PALLET_TOWN,
- MAPSEC_VIRIDIAN_CITY,
- MAPSEC_PEWTER_CITY,
- MAPSEC_CERULEAN_CITY,
- MAPSEC_LAVENDER_TOWN,
- MAPSEC_VERMILION_CITY,
- MAPSEC_CELADON_CITY,
- MAPSEC_FUCHSIA_CITY,
- MAPSEC_CINNABAR_ISLAND,
- MAPSEC_INDIGO_PLATEAU,
- MAPSEC_SAFFRON_CITY,
- MAPSEC_ROUTE_4,
- MAPSEC_ROUTE_10,
- MAPSEC_ROUTE_1,
- MAPSEC_ROUTE_2,
- MAPSEC_ROUTE_3,
- MAPSEC_ROUTE_4_2,
- MAPSEC_ROUTE_5,
- MAPSEC_ROUTE_6,
- MAPSEC_ROUTE_7,
- MAPSEC_ROUTE_8,
- MAPSEC_ROUTE_9,
- MAPSEC_ROUTE_10_2,
- MAPSEC_ROUTE_11,
- MAPSEC_ROUTE_12,
- MAPSEC_ROUTE_13,
- MAPSEC_ROUTE_14,
- MAPSEC_ROUTE_15,
- MAPSEC_ROUTE_16,
- MAPSEC_ROUTE_17,
- MAPSEC_ROUTE_18,
- MAPSEC_ROUTE_19,
- MAPSEC_ROUTE_20,
- MAPSEC_ROUTE_21,
- MAPSEC_ROUTE_22,
- MAPSEC_ROUTE_23,
- MAPSEC_ROUTE_24,
- MAPSEC_ROUTE_25,
- MAPSEC_VIRIDIAN_FOREST,
- MAPSEC_MT_MOON,
- MAPSEC_S_S_ANNE,
- MAPSEC_UNDERGROUND_PATH,
- MAPSEC_UNDERGROUND_PATH_2,
- MAPSEC_DIGLETTS_CAVE,
- MAPSEC_KANTO_VICTORY_ROAD,
- MAPSEC_ROCKET_HIDEOUT,
- MAPSEC_SILPH_CO,
- MAPSEC_POKEMON_MANSION,
- MAPSEC_KANTO_SAFARI_ZONE,
- MAPSEC_POKEMON_LEAGUE,
- MAPSEC_ROCK_TUNNEL,
- MAPSEC_SEAFOAM_ISLANDS,
- MAPSEC_POKEMON_TOWER,
- MAPSEC_CERULEAN_CAVE,
- MAPSEC_POWER_PLANT,
- MAPSEC_ONE_ISLAND,
- MAPSEC_TWO_ISLAND,
- MAPSEC_THREE_ISLAND,
- MAPSEC_FOUR_ISLAND,
- MAPSEC_FIVE_ISLAND,
- MAPSEC_SEVEN_ISLAND,
- MAPSEC_SIX_ISLAND,
- MAPSEC_KINDLE_ROAD,
- MAPSEC_TREASURE_BEACH,
- MAPSEC_CAPE_BRINK,
- MAPSEC_BOND_BRIDGE,
- MAPSEC_THREE_ISLE_PORT,
- MAPSEC_SEVII_ISLE_6,
- MAPSEC_SEVII_ISLE_7,
- MAPSEC_SEVII_ISLE_8,
- MAPSEC_SEVII_ISLE_9,
- MAPSEC_RESORT_GORGEOUS,
- MAPSEC_WATER_LABYRINTH,
- MAPSEC_FIVE_ISLE_MEADOW,
- MAPSEC_MEMORIAL_PILLAR,
- MAPSEC_OUTCAST_ISLAND,
- MAPSEC_GREEN_PATH,
- MAPSEC_WATER_PATH,
- MAPSEC_RUIN_VALLEY,
- MAPSEC_TRAINER_TOWER,
- MAPSEC_CANYON_ENTRANCE,
- MAPSEC_SEVAULT_CANYON,
- MAPSEC_TANOBY_RUINS,
- MAPSEC_SEVII_ISLE_22,
- MAPSEC_SEVII_ISLE_23,
- MAPSEC_SEVII_ISLE_24,
- MAPSEC_NAVEL_ROCK,
- MAPSEC_MT_EMBER,
- MAPSEC_BERRY_FOREST,
- MAPSEC_ICEFALL_CAVE,
- MAPSEC_ROCKET_WAREHOUSE,
- MAPSEC_TRAINER_TOWER_2,
- MAPSEC_DOTTED_HOLE,
- MAPSEC_LOST_CAVE,
- MAPSEC_PATTERN_BUSH,
- MAPSEC_ALTERING_CAVE,
- MAPSEC_TANOBY_CHAMBERS,
- MAPSEC_THREE_ISLE_PATH,
- MAPSEC_TANOBY_KEY,
- MAPSEC_BIRTH_ISLAND,
- MAPSEC_MONEAN_CHAMBER,
- MAPSEC_LIPTOO_CHAMBER,
- MAPSEC_WEEPTH_CHAMBER,
- MAPSEC_DILFORD_CHAMBER,
- MAPSEC_SCUFIB_CHAMBER,
- MAPSEC_RIXY_CHAMBER,
- MAPSEC_VIAPOIS_CHAMBER,
- MAPSEC_EMBER_SPA,
- MAPSEC_SPECIAL_AREA,
- MAPSEC_AQUA_HIDEOUT,
- MAPSEC_MAGMA_HIDEOUT,
- MAPSEC_MIRAGE_TOWER,
- MAPSEC_BIRTH_ISLAND_2,
- MAPSEC_FARAWAY_ISLAND,
- MAPSEC_ARTISAN_CAVE,
- MAPSEC_MARINE_CAVE,
- MAPSEC_UNDERWATER_MARINE_CAVE,
- MAPSEC_TERRA_CAVE,
- MAPSEC_UNDERWATER_TERRA_CAVE,
- MAPSEC_UNDERWATER_UNK1,
- MAPSEC_UNDERWATER_129,
- MAPSEC_DESERT_UNDERPASS,
- MAPSEC_ALTERING_CAVE_2,
- MAPSEC_NAVEL_ROCK2,
- MAPSEC_TRAINER_HILL,
- MAPSEC_NONE
-};
-
enum
{
INPUT_EVENT_NONE,
diff --git a/include/rom6.h b/include/rom6.h
index b4a972794..fc33b7d1f 100644
--- a/include/rom6.h
+++ b/include/rom6.h
@@ -1,9 +1,15 @@
#ifndef GUARD_ROM6_H
#define GUARD_ROM6_H
-void sub_81357FC(u8, void(void));
+void OpenPokeblockCase(u8, void(void));
u8 GetLeadMonIndex(void);
u8 GetSSTidalLocation(u8 *grp, u8 *num, s16 *x, s16 *y);
void sub_813BADC(bool8);
+bool8 sub_813B9C0(void);
+void UpdateMirageRnd(u16 days);
+void UpdateBirchState(u16 days);
+void UpdateFrontierManiac(u16 days);
+void UpdateFrontierGambler(u16 days);
+void SetShoalItemFlag(u16 days);
#endif //GUARD_ROM6_H
diff --git a/include/safari_zone.h b/include/safari_zone.h
index 9a81894b8..39ee3ccb3 100644
--- a/include/safari_zone.h
+++ b/include/safari_zone.h
@@ -13,6 +13,8 @@ void ExitSafariMode(void);
bool8 SafariZoneTakeStep(void);
void SafariZoneRetirePrompt(void);
+void CB2_EndSafariBattle(void);
+
struct Pokeblock *SafariZoneGetActivePokeblock(void);
void SafariZoneActivatePokeblockFeeder(u8 pokeblock_index);
diff --git a/include/secret_base.h b/include/secret_base.h
index 630a36773..b2502889c 100644
--- a/include/secret_base.h
+++ b/include/secret_base.h
@@ -9,5 +9,6 @@
void sub_80E9578(void);
void sub_80E980C(void);
u8 *GetSecretBaseMapName(u8 *dest);
+const u8 *GetSecretBaseTrainerLoseText(void);
#endif //GUARD_SECRET_BASE_H
diff --git a/include/songs.h b/include/songs.h
deleted file mode 100644
index 5a1fff00c..000000000
--- a/include/songs.h
+++ /dev/null
@@ -1,466 +0,0 @@
-#ifndef GUARD_SONGS_H
-#define GUARD_SONGS_H
-
-enum
-{
- /*0x00*/ SE_STOP,
- /*0x01*/ SE_KAIFUKU,
- /*0x02*/ SE_PC_LOGON,
- /*0x03*/ SE_PC_OFF,
- /*0x04*/ SE_PC_ON,
- /*0x05*/ SE_SELECT,
- /*0x06*/ SE_WIN_OPEN,
- /*0x07*/ SE_WALL_HIT,
- /*0x08*/ SE_DOOR,
- /*0x09*/ SE_KAIDAN,
- /*0x0A*/ SE_DANSA,
- /*0x0B*/ SE_JITENSYA,
- /*0x0C*/ SE_KOUKA_L, // Goggle told me Kouka means 'effectiveness' which makes sense, because
- /*0x0D*/ SE_KOUKA_M, // those three sounds play whenever you use a move
- /*0x0E*/ SE_KOUKA_H,
- /*0x0F*/ SE_BOWA2,
- /*0x10*/ SE_POKE_DEAD,
- /*0x11*/ SE_NIGERU,
- /*0x12*/ SE_JIDO_DOA,
- /*0x13*/ SE_NAMINORI,
- /*0x14*/ SE_BAN,
- /*0x15*/ SE_PIN,
- /*0x16*/ SE_BOO,
- /*0x17*/ SE_BOWA,
- /*0x18*/ SE_JYUNI,
- /*0x19*/ SE_A,
- /*0x1A*/ SE_I,
- /*0x1B*/ SE_U,
- /*0x1C*/ SE_E,
- /*0x1D*/ SE_O,
- /*0x1E*/ SE_N,
- /*0x1F*/ SE_SEIKAI,
- /*0x20*/ SE_HAZURE,
- /*0x21*/ SE_EXP,
- /*0x22*/ SE_JITE_PYOKO,
- /*0x23*/ SE_MU_PACHI,
- /*0x24*/ SE_TK_KASYA,
- /*0x25*/ SE_FU_ZAKU,
- /*0x26*/ SE_FU_ZAKU2,
- /*0x27*/ SE_FU_ZUZUZU,
- /*0x28*/ SE_RU_GASHIN,
- /*0x29*/ SE_RU_GASYAN,
- /*0x2A*/ SE_RU_BARI,
- /*0x2B*/ SE_RU_HYUU,
- /*0x2C*/ SE_KI_GASYAN,
- /*0x2D*/ SE_TK_WARPIN,
- /*0x2E*/ SE_TK_WARPOUT,
- /*0x2F*/ SE_TU_SAA,
- /*0x30*/ SE_HI_TURUN,
- /*0x31*/ SE_TRACK_MOVE,
- /*0x32*/ SE_TRACK_STOP,
- /*0x33*/ SE_TRACK_HAIK,
- /*0x34*/ SE_TRACK_DOOR,
- /*0x35*/ SE_MOTER,
- /*0x36*/ SE_CARD,
- /*0x37*/ SE_SAVE,
- /*0x38*/ SE_KON,
- /*0x39*/ SE_KON2,
- /*0x3A*/ SE_KON3,
- /*0x3B*/ SE_KON4,
- /*0x3C*/ SE_SUIKOMU,
- /*0x3D*/ SE_NAGERU,
- SE_TOY_C,
- SE_TOY_D,
- SE_TOY_E,
- SE_TOY_F,
- SE_TOY_G,
- SE_TOY_A,
- SE_TOY_B,
- SE_TOY_C1,
- SE_MIZU,
- SE_HASHI,
- SE_DAUGI,
- SE_PINPON,
- SE_FUUSEN1,
- SE_FUUSEN2,
- SE_FUUSEN3,
- SE_TOY_KABE,
- SE_TOY_DANGO,
- SE_DOKU,
- SE_ESUKA,
- SE_T_AME,
- SE_T_AME_E,
- SE_T_OOAME,
- SE_T_OOAME_E,
- SE_T_KOAME,
- SE_T_KOAME_E,
- SE_T_KAMI,
- SE_T_KAMI2,
- SE_ELEBETA,
- /*0x5A*/ SE_HINSI,
- /*0x5B*/ SE_EXPMAX,
- /*0x5C*/ SE_TAMAKORO,
- /*0x5D*/ SE_TAMAKORO_E,
- /*0x5E*/ SE_BASABASA,
- /*0x5F*/ SE_REGI,
- SE_C_GAJI,
- SE_C_MAKU_U,
- SE_C_MAKU_D,
- SE_C_PASI,
- SE_C_SYU,
- SE_C_PIKON,
- /*0x66*/ SE_REAPOKE,
- /*0x67*/ SE_OP_BASYU,
- /*0x68*/ SE_BT_START,
- SE_DENDOU,
- SE_JIHANKI,
- SE_TAMA,
- SE_Z_SCROLL,
- /*0x6D*/ SE_Z_PAGE,
- /*0x6E*/ SE_PN_ON,
- /*0x6F*/ SE_PN_OFF,
- /*0x70*/ SE_Z_SEARCH,
- /*0x71*/ SE_TAMAGO,
- /*0x72*/ SE_TB_START,
- /*0x73*/ SE_TB_KON,
- /*0x74*/ SE_TB_KARA,
- /*0x75*/ SE_BIDORO,
- /*0x76*/ SE_W085,
- /*0x77*/ SE_W085B,
- /*0x78*/ SE_W231,
- /*0x79*/ SE_W171,
- /*0x7A*/ SE_W233,
- /*0x7B*/ SE_W233B,
- /*0x7C*/ SE_W145,
- /*0x7D*/ SE_W145B,
- /*0x7E*/ SE_W145C,
- /*0x7F*/ SE_W240,
- /*0x80*/ SE_W015,
- /*0x81*/ SE_W081,
- /*0x82*/ SE_W081B,
- /*0x83*/ SE_W088,
- /*0x84*/ SE_W016,
- /*0x85*/ SE_W016B,
- /*0x86*/ SE_W003,
- /*0x87*/ SE_W104,
- /*0x88*/ SE_W013,
- /*0x89*/ SE_W196,
- /*0x8A*/ SE_W086,
- /*0x8B*/ SE_W004,
- /*0x8C*/ SE_W025,
- /*0x8D*/ SE_W025B,
- SE_W152,
- SE_W026,
- SE_W172,
- SE_W172B,
- SE_W053,
- SE_W007,
- SE_W092,
- SE_W221,
- SE_W221B,
- SE_W052,
- SE_W036,
- SE_W059,
- SE_W059B,
- SE_W010,
- SE_W011,
- SE_W017,
- SE_W019,
- SE_W028,
- SE_W013B,
- SE_W044,
- SE_W029,
- SE_W057,
- SE_W056,
- SE_W250,
- SE_W030,
- SE_W039,
- SE_W054,
- SE_W077,
- SE_W020,
- SE_W082,
- SE_W047,
- SE_W195,
- SE_W006,
- SE_W091,
- SE_W146,
- SE_W120,
- SE_W153,
- SE_W071B,
- SE_W071,
- SE_W103,
- /*0xB6*/ SE_W062,
- /*0xB7*/ SE_W062B,
- /*0xB8*/ SE_W048,
- /*0xB9*/ SE_W187,
- /*0xBA*/ SE_W118,
- /*0xBB*/ SE_W155,
- /*0xBC*/ SE_W122,
- /*0xBD*/ SE_W060,
- /*0xBE*/ SE_W185,
- /*0xBF*/ SE_W014,
- /*0xC0*/ SE_W043,
- /*0xC1*/ SE_W207,
- /*0xC2*/ SE_W207B,
- /*0xC3*/ SE_W215,
- /*0xC4*/ SE_W109,
- /*0xC5*/ SE_W173,
- /*0xC6*/ SE_W280,
- /*0xC7*/ SE_W202,
- /*0xC8*/ SE_W060B,
- /*0xC9*/ SE_W076,
- /*0xCA*/ SE_W080,
- /*0xCB*/ SE_W100,
- /*0xCC*/ SE_W107,
- SE_W166,
- SE_W129,
- SE_W115,
- SE_W112,
- SE_W197,
- SE_W199,
- SE_W236,
- SE_W204,
- SE_W268,
- SE_W070,
- SE_W063,
- SE_W127,
- SE_W179,
- SE_W151,
- SE_W201,
- SE_W161,
- SE_W161B,
- SE_W227,
- SE_W227B,
- SE_W226,
- SE_W208,
- SE_W213,
- SE_W213B,
- SE_W234,
- SE_W260,
- SE_W328,
- SE_W320,
- SE_W255,
- SE_W291,
- SE_W089,
- SE_W239,
- SE_W230,
- SE_W281,
- SE_W327,
- SE_W287,
- SE_W257,
- SE_W253,
- SE_W258,
- SE_W322,
- SE_W298,
- SE_W287B,
- SE_W114,
- SE_W063B,
- BGM_STOP = 349,
- /*0x15E*/ BGM_TETSUJI,
- /*0x15F*/ BGM_FIELD13,
- /*0x160*/ BGM_KACHI22,
- /*0x161*/ BGM_KACHI2,
- /*0x162*/ BGM_KACHI3,
- /*0x163*/ BGM_KACHI5,
- /*0x164*/ BGM_PCC,
- /*0x165*/ BGM_NIBI,
- /*0x166*/ BGM_SUIKUN,
- /*0x167*/ BGM_DOORO1,
- /*0x168*/ BGM_DOORO_X1,
- /*0x169*/ BGM_DOORO_X3,
- /*0x16A*/ BGM_MACHI_S2,
- /*0x16B*/ BGM_MACHI_S4,
- /*0x16C*/ BGM_GIM,
- /*0x16D*/ BGM_NAMINORI,
- /*0x16E*/ BGM_DAN01,
- /*0x16F*/ BGM_FANFA1,
- /*0x170*/ BGM_ME_ASA,
- /*0x171*/ BGM_ME_BACHI,
- /*0x172*/ BGM_FANFA4,
- /*0x173*/ BGM_FANFA5,
- /*0x174*/ BGM_ME_WAZA,
- /*0x175*/ BGM_BIJYUTU,
- /*0x176*/ BGM_DOORO_X4,
- /*0x177*/ BGM_FUNE_KAN,
- /*0x178*/ BGM_ME_SHINKA,
- /*0x179*/ BGM_SHINKA,
- /*0x17A*/ BGM_ME_WASURE,
- /*0x17B*/ BGM_SYOUJOEYE,
- /*0x17C*/ BGM_BOYEYE,
- /*0x17D*/ BGM_DAN02,
- /*0x17E*/ BGM_MACHI_S3,
- /*0x17F*/ BGM_ODAMAKI,
- /*0x180*/ BGM_B_TOWER,
- /*0x181*/ BGM_SWIMEYE,
- /*0x182*/ BGM_DAN03,
- /*0x183*/ BGM_ME_KINOMI,
- /*0x184*/ BGM_ME_TAMA,
- /*0x185*/ BGM_ME_B_BIG,
- /*0x186*/ BGM_ME_B_SMALL,
- /*0x187*/ BGM_ME_ZANNEN,
- /*0x188*/ BGM_BD_TIME,
- /*0x189*/ BGM_TEST1,
- /*0x18A*/ BGM_TEST2,
- /*0x18B*/ BGM_TEST3,
- /*0x18C*/ BGM_TEST4,
- /*0x18D*/ BGM_TEST,
- /*0x18E*/ BGM_GOMACHI0,
- /*0x18F*/ BGM_GOTOWN,
- /*0x190*/ BGM_POKECEN,
- /*0x191*/ BGM_NEXTROAD,
- /*0x192*/ BGM_GRANROAD,
- /*0x193*/ BGM_CYCLING,
- /*0x194*/ BGM_FRIENDLY,
- /*0x195*/ BGM_MISHIRO,
- /*0x196*/ BGM_TOZAN,
- /*0x197*/ BGM_GIRLEYE,
- /*0x198*/ BGM_MINAMO,
- /*0x199*/ BGM_ASHROAD,
- /*0x19A*/ BGM_EVENT0,
- /*0x19B*/ BGM_DEEPDEEP,
- /*0x19C*/ BGM_KACHI1,
- /*0x19D*/ BGM_TITLE3,
- /*0x19E*/ BGM_DEMO1,
- /*0x19F*/ BGM_GIRL_SUP,
- /*0x1A0*/ BGM_HAGESHII,
- /*0x1A1*/ BGM_KAKKOII,
- /*0x1A2*/ BGM_KAZANBAI,
- /*0x1A3*/ BGM_AQA_0,
- /*0x1A4*/ BGM_TSURETEK,
- /*0x1A5*/ BGM_BOY_SUP,
- /*0x1A6*/ BGM_RAINBOW,
- /*0x1A7*/ BGM_AYASII,
- /*0x1A8*/ BGM_KACHI4,
- /*0x1A9*/ BGM_ROPEWAY,
- /*0x1AA*/ BGM_CASINO,
- /*0x1AB*/ BGM_HIGHTOWN,
- /*0x1AC*/ BGM_SAFARI,
- BGM_C_ROAD,
- BGM_AJITO,
- BGM_M_BOAT,
- BGM_M_DUNGON,
- BGM_FINECITY,
- BGM_MACHUPI,
- BGM_P_SCHOOL,
- BGM_DENDOU,
- BGM_TONEKUSA,
- BGM_MABOROSI,
- BGM_CON_FAN,
- BGM_CONTEST0,
- BGM_MGM0,
- BGM_T_BATTLE,
- BGM_OOAME,
- BGM_HIDERI,
- BGM_RUNECITY,
- BGM_CON_K,
- BGM_EIKOU_R,
- BGM_KARAKURI,
- BGM_HUTAGO,
- BGM_SITENNOU,
- BGM_YAMA_EYE,
- BGM_CONLOBBY,
- BGM_INTER_V,
- BGM_DAIGO,
- BGM_THANKFOR,
- BGM_END,
- /*0x1C9*/ BGM_BATTLE_FRONTIER, // human-readable names start here because we don't know the actual filenames
- BGM_BATTLE_ARENA,
- BGM_ME_BATTLE_POINTS, // ME_ as in messagebox? Used for KINOMI (berries) and stuff above
- BGM_ME_MATCH_CALL,
- BGM_BATTLE_PYRAMID,
- BGM_BATTLE_PYRAMID_SUMMIT,
- BGM_BATTLE_PALACE,
- BGM_FANFA_RAYQUAZA,
- BGM_BATTLE_TOWER,
- BGM_ME_BATTLE_SYMBOL,
- BGM_BATTLE_DOME_TOURNAMENT,
- BGM_BATTLE_PIKE,
- BGM_BATTLE_FACTORY,
- BGM_BATTLE_LEGENDARY,
- BGM_BATTLE_FRONTIER_BRAIN,
- BGM_BATTLE_MEW,
- BGM_BATTLE_DOME, // end of the human-readable names
- /*0x1DA*/ BGM_BATTLE27, // wild
- BGM_BATTLE31, // aqua/magma grunt
- BGM_BATTLE20, // trainer
- BGM_BATTLE32, // gym leader
- BGM_BATTLE33, // champion
- BGM_BATTLE36, // regi
- BGM_BATTLE34, // weather trio
- BGM_BATTLE35, // rival
- BGM_BATTLE38, // elite four
- BGM_BATTLE30, // aqua/magma leader
- /*0x1E4*/ BGM_FRLG_FOLLOW_ME, // FR/LG names not known, human-readable again!
- BGM_FRLG_GAMECORNER,
- BGM_FRLG_ROCKET_HIDEOUT,
- BGM_FRLG_GYM,
- BGM_FRLG_JIGGLYPUFF,
- BGM_FRLG_OPENING,
- BGM_FRLG_TITLE,
- BGM_FRLG_CINNABAR_ISLAND,
- BGM_FRLG_LAVENDER_TOWN,
- BGM_FRLG_HEALING_TEST,
- BGM_FRLG_BICYCLE,
- BGM_FRLG_SUSPICIOUS_EYE,
- BGM_FRLG_GIRL_EYE,
- BGM_FRLG_BOY_EYE,
- BGM_FRLG_CONGRATULATIONS_HALL_OF_FAME,
- BGM_FRLG_VIRIDIAN_FOREST,
- BGM_FRLG_MT_MOON,
- BGM_FRLG_POKEMON_MANSION,
- BGM_FRLG_CREDITS,
- BGM_FRLG_ROUTE_1,
- BGM_FRLG_ROUTE_24,
- BGM_FRLG_ROUTE_3,
- BGM_FRLG_ROUTE_11,
- BGM_FRLG_INDIGO_PLATEAU,
- BGM_FRLG_BATTLE_LEADER,
- BGM_FRLG_BATTLE_TRAINER,
- BGM_FRLG_BATTLE_WILD_POKEMON,
- BGM_FRLG_BATTLE_CHAMPION,
- BGM_FRLG_PALLET_TOWN,
- BGM_FRLG_OAK_LAB,
- BGM_FRLG_PROF_OAK,
- BGM_FRLG_POKEMON_CENTER,
- BGM_FRLG_SS_ANNE,
- BGM_FRLG_SURF,
- BGM_FRLG_POKEMON_TOWER,
- BGM_FRLG_SILPH,
- BGM_FRLG_CERULEAN_CITY,
- BGM_FRLG_CELADON_CITY,
- BGM_FRLG_KACHI_TRAINER, // KACHI used in RS test - victory
- BGM_FRLG_KACHI_WILD_POKEMON,
- BGM_FRLG_KACHI_LEADER,
- BGM_FRLG_VERMILION_CITY,
- BGM_FRLG_VIRIDIAN_CITY,
- BGM_FRLG_RIVAL,
- BGM_FRLG_RIVAL_POSTBATTLE,
- BGM_FRLG_ME_POKEDEX_EVAL,
- BGM_FRLG_ME_KEYITEM,
- BGM_FRLG_FANFA_POKEMON_CAUGHT,
- BGM_FRLG_FANFA_TRAINERCARD_PHOTO,
- BGM_FRLG_GAMEFREAK_LOGO,
- BGM_FRLG_CAUGHT_POKEMON,
- BGM_FRLG_GAME_EXPLANATION_START,
- BGM_FRLG_GAME_EXPLANATION_MIDDLE,
- BGM_FRLG_GAME_EXPLANATION_END,
- BGM_FRLG_POKEMON_JUMP,
- BGM_FRLG_UNION_ROOM,
- BGM_FRLG_POKEMON_NETWORK_CENTER,
- BGM_FRLG_MYSTERY_GIFT,
- BGM_FRLG_DODRIO_BERRY_PICK,
- BGM_FRLG_MT_EMBER,
- BGM_FRLG_TEACHY_TV_EPISODE,
- BGM_FRLG_SEVII_ISLANDS,
- BGM_FRLG_TANOBY_RUINS,
- BGM_FRLG_ISLAND_ONE,
- BGM_FRLG_ISLAND_FOUR,
- BGM_FRLG_ISLAND_SIX,
- BGM_FRLG_FLUTE,
- BGM_FRLG_BATTLE_DEOXYS,
- BGM_FRLG_BATTLE_MEWTWO,
- BGM_FRLG_BATTLE_LEGENDARY,
- BGM_FRLG_LEADER_EYE,
- BGM_FRLG_DEOXYS_EYE,
- BGM_FRLG_TRAINER_TOWER,
- BGM_FRLG_HALL_OF_FAME_PALLET_TOWN,
- /*0x22E*/BGM_FRLG_TEACHY_TV,
-};
-
-#endif // GUARD_SONGS_H
diff --git a/include/species.h b/include/species.h
deleted file mode 100644
index ac0797418..000000000
--- a/include/species.h
+++ /dev/null
@@ -1,454 +0,0 @@
-#ifndef GUARD_SPECIES_H
-#define GUARD_SPECIES_H
-
-enum
-{
- SPECIES_NONE, // 0x000
- SPECIES_BULBASAUR, // 0x001
- SPECIES_IVYSAUR, // 0x002
- SPECIES_VENUSAUR, // 0x003
- SPECIES_CHARMANDER, // 0x004
- SPECIES_CHARMELEON, // 0x005
- SPECIES_CHARIZARD, // 0x006
- SPECIES_SQUIRTLE, // 0x007
- SPECIES_WARTORTLE, // 0x008
- SPECIES_BLASTOISE, // 0x009
- SPECIES_CATERPIE, // 0x00a
- SPECIES_METAPOD, // 0x00b
- SPECIES_BUTTERFREE, // 0x00c
- SPECIES_WEEDLE, // 0x00d
- SPECIES_KAKUNA, // 0x00e
- SPECIES_BEEDRILL, // 0x00f
- SPECIES_PIDGEY, // 0x010
- SPECIES_PIDGEOTTO, // 0x011
- SPECIES_PIDGEOT, // 0x012
- SPECIES_RATTATA, // 0x013
- SPECIES_RATICATE, // 0x014
- SPECIES_SPEAROW, // 0x015
- SPECIES_FEAROW, // 0x016
- SPECIES_EKANS, // 0x017
- SPECIES_ARBOK, // 0x018
- SPECIES_PIKACHU, // 0x019
- SPECIES_RAICHU, // 0x01a
- SPECIES_SANDSHREW, // 0x01b
- SPECIES_SANDSLASH, // 0x01c
- SPECIES_NIDORAN_F, // 0x01d
- SPECIES_NIDORINA, // 0x01e
- SPECIES_NIDOQUEEN, // 0x01f
- SPECIES_NIDORAN_M, // 0x020
- SPECIES_NIDORINO, // 0x021
- SPECIES_NIDOKING, // 0x022
- SPECIES_CLEFAIRY, // 0x023
- SPECIES_CLEFABLE, // 0x024
- SPECIES_VULPIX, // 0x025
- SPECIES_NINETALES, // 0x026
- SPECIES_JIGGLYPUFF, // 0x027
- SPECIES_WIGGLYTUFF, // 0x028
- SPECIES_ZUBAT, // 0x029
- SPECIES_GOLBAT, // 0x02a
- SPECIES_ODDISH, // 0x02b
- SPECIES_GLOOM, // 0x02c
- SPECIES_VILEPLUME, // 0x02d
- SPECIES_PARAS, // 0x02e
- SPECIES_PARASECT, // 0x02f
- SPECIES_VENONAT, // 0x030
- SPECIES_VENOMOTH, // 0x031
- SPECIES_DIGLETT, // 0x032
- SPECIES_DUGTRIO, // 0x033
- SPECIES_MEOWTH, // 0x034
- SPECIES_PERSIAN, // 0x035
- SPECIES_PSYDUCK, // 0x036
- SPECIES_GOLDUCK, // 0x037
- SPECIES_MANKEY, // 0x038
- SPECIES_PRIMEAPE, // 0x039
- SPECIES_GROWLITHE, // 0x03a
- SPECIES_ARCANINE, // 0x03b
- SPECIES_POLIWAG, // 0x03c
- SPECIES_POLIWHIRL, // 0x03d
- SPECIES_POLIWRATH, // 0x03e
- SPECIES_ABRA, // 0x03f
- SPECIES_KADABRA, // 0x040
- SPECIES_ALAKAZAM, // 0x041
- SPECIES_MACHOP, // 0x042
- SPECIES_MACHOKE, // 0x043
- SPECIES_MACHAMP, // 0x044
- SPECIES_BELLSPROUT, // 0x045
- SPECIES_WEEPINBELL, // 0x046
- SPECIES_VICTREEBEL, // 0x047
- SPECIES_TENTACOOL, // 0x048
- SPECIES_TENTACRUEL, // 0x049
- SPECIES_GEODUDE, // 0x04a
- SPECIES_GRAVELER, // 0x04b
- SPECIES_GOLEM, // 0x04c
- SPECIES_PONYTA, // 0x04d
- SPECIES_RAPIDASH, // 0x04e
- SPECIES_SLOWPOKE, // 0x04f
- SPECIES_SLOWBRO, // 0x050
- SPECIES_MAGNEMITE, // 0x051
- SPECIES_MAGNETON, // 0x052
- SPECIES_FARFETCHD, // 0x053
- SPECIES_DODUO, // 0x054
- SPECIES_DODRIO, // 0x055
- SPECIES_SEEL, // 0x056
- SPECIES_DEWGONG, // 0x057
- SPECIES_GRIMER, // 0x058
- SPECIES_MUK, // 0x059
- SPECIES_SHELLDER, // 0x05a
- SPECIES_CLOYSTER, // 0x05b
- SPECIES_GASTLY, // 0x05c
- SPECIES_HAUNTER, // 0x05d
- SPECIES_GENGAR, // 0x05e
- SPECIES_ONIX, // 0x05f
- SPECIES_DROWZEE, // 0x060
- SPECIES_HYPNO, // 0x061
- SPECIES_KRABBY, // 0x062
- SPECIES_KINGLER, // 0x063
- SPECIES_VOLTORB, // 0x064
- SPECIES_ELECTRODE, // 0x065
- SPECIES_EXEGGCUTE, // 0x066
- SPECIES_EXEGGUTOR, // 0x067
- SPECIES_CUBONE, // 0x068
- SPECIES_MAROWAK, // 0x069
- SPECIES_HITMONLEE, // 0x06a
- SPECIES_HITMONCHAN, // 0x06b
- SPECIES_LICKITUNG, // 0x06c
- SPECIES_KOFFING, // 0x06d
- SPECIES_WEEZING, // 0x06e
- SPECIES_RHYHORN, // 0x06f
- SPECIES_RHYDON, // 0x070
- SPECIES_CHANSEY, // 0x071
- SPECIES_TANGELA, // 0x072
- SPECIES_KANGASKHAN, // 0x073
- SPECIES_HORSEA, // 0x074
- SPECIES_SEADRA, // 0x075
- SPECIES_GOLDEEN, // 0x076
- SPECIES_SEAKING, // 0x077
- SPECIES_STARYU, // 0x078
- SPECIES_STARMIE, // 0x079
- SPECIES_MR_MIME, // 0x07a
- SPECIES_SCYTHER, // 0x07b
- SPECIES_JYNX, // 0x07c
- SPECIES_ELECTABUZZ, // 0x07d
- SPECIES_MAGMAR, // 0x07e
- SPECIES_PINSIR, // 0x07f
- SPECIES_TAUROS, // 0x080
- SPECIES_MAGIKARP, // 0x081
- SPECIES_GYARADOS, // 0x082
- SPECIES_LAPRAS, // 0x083
- SPECIES_DITTO, // 0x084
- SPECIES_EEVEE, // 0x085
- SPECIES_VAPOREON, // 0x086
- SPECIES_JOLTEON, // 0x087
- SPECIES_FLAREON, // 0x088
- SPECIES_PORYGON, // 0x089
- SPECIES_OMANYTE, // 0x08a
- SPECIES_OMASTAR, // 0x08b
- SPECIES_KABUTO, // 0x08c
- SPECIES_KABUTOPS, // 0x08d
- SPECIES_AERODACTYL, // 0x08e
- SPECIES_SNORLAX, // 0x08f
- SPECIES_ARTICUNO, // 0x090
- SPECIES_ZAPDOS, // 0x091
- SPECIES_MOLTRES, // 0x092
- SPECIES_DRATINI, // 0x093
- SPECIES_DRAGONAIR, // 0x094
- SPECIES_DRAGONITE, // 0x095
- SPECIES_MEWTWO, // 0x096
- SPECIES_MEW, // 0x097
- SPECIES_CHIKORITA, // 0x098
- SPECIES_BAYLEEF, // 0x099
- SPECIES_MEGANIUM, // 0x09a
- SPECIES_CYNDAQUIL, // 0x09b
- SPECIES_QUILAVA, // 0x09c
- SPECIES_TYPHLOSION, // 0x09d
- SPECIES_TOTODILE, // 0x09e
- SPECIES_CROCONAW, // 0x09f
- SPECIES_FERALIGATR, // 0x0a0
- SPECIES_SENTRET, // 0x0a1
- SPECIES_FURRET, // 0x0a2
- SPECIES_HOOTHOOT, // 0x0a3
- SPECIES_NOCTOWL, // 0x0a4
- SPECIES_LEDYBA, // 0x0a5
- SPECIES_LEDIAN, // 0x0a6
- SPECIES_SPINARAK, // 0x0a7
- SPECIES_ARIADOS, // 0x0a8
- SPECIES_CROBAT, // 0x0a9
- SPECIES_CHINCHOU, // 0x0aa
- SPECIES_LANTURN, // 0x0ab
- SPECIES_PICHU, // 0x0ac
- SPECIES_CLEFFA, // 0x0ad
- SPECIES_IGGLYBUFF, // 0x0ae
- SPECIES_TOGEPI, // 0x0af
- SPECIES_TOGETIC, // 0x0b0
- SPECIES_NATU, // 0x0b1
- SPECIES_XATU, // 0x0b2
- SPECIES_MAREEP, // 0x0b3
- SPECIES_FLAAFFY, // 0x0b4
- SPECIES_AMPHAROS, // 0x0b5
- SPECIES_BELLOSSOM, // 0x0b6
- SPECIES_MARILL, // 0x0b7
- SPECIES_AZUMARILL, // 0x0b8
- SPECIES_SUDOWOODO, // 0x0b9
- SPECIES_POLITOED, // 0x0ba
- SPECIES_HOPPIP, // 0x0bb
- SPECIES_SKIPLOOM, // 0x0bc
- SPECIES_JUMPLUFF, // 0x0bd
- SPECIES_AIPOM, // 0x0be
- SPECIES_SUNKERN, // 0x0bf
- SPECIES_SUNFLORA, // 0x0c0
- SPECIES_YANMA, // 0x0c1
- SPECIES_WOOPER, // 0x0c2
- SPECIES_QUAGSIRE, // 0x0c3
- SPECIES_ESPEON, // 0x0c4
- SPECIES_UMBREON, // 0x0c5
- SPECIES_MURKROW, // 0x0c6
- SPECIES_SLOWKING, // 0x0c7
- SPECIES_MISDREAVUS, // 0x0c8
- SPECIES_UNOWN, // 0x0c9
- SPECIES_WOBBUFFET, // 0x0ca
- SPECIES_GIRAFARIG, // 0x0cb
- SPECIES_PINECO, // 0x0cc
- SPECIES_FORRETRESS, // 0x0cd
- SPECIES_DUNSPARCE, // 0x0ce
- SPECIES_GLIGAR, // 0x0cf
- SPECIES_STEELIX, // 0x0d0
- SPECIES_SNUBBULL, // 0x0d1
- SPECIES_GRANBULL, // 0x0d2
- SPECIES_QWILFISH, // 0x0d3
- SPECIES_SCIZOR, // 0x0d4
- SPECIES_SHUCKLE, // 0x0d5
- SPECIES_HERACROSS, // 0x0d6
- SPECIES_SNEASEL, // 0x0d7
- SPECIES_TEDDIURSA, // 0x0d8
- SPECIES_URSARING, // 0x0d9
- SPECIES_SLUGMA, // 0x0da
- SPECIES_MAGCARGO, // 0x0db
- SPECIES_SWINUB, // 0x0dc
- SPECIES_PILOSWINE, // 0x0dd
- SPECIES_CORSOLA, // 0x0de
- SPECIES_REMORAID, // 0x0df
- SPECIES_OCTILLERY, // 0x0e0
- SPECIES_DELIBIRD, // 0x0e1
- SPECIES_MANTINE, // 0x0e2
- SPECIES_SKARMORY, // 0x0e3
- SPECIES_HOUNDOUR, // 0x0e4
- SPECIES_HOUNDOOM, // 0x0e5
- SPECIES_KINGDRA, // 0x0e6
- SPECIES_PHANPY, // 0x0e7
- SPECIES_DONPHAN, // 0x0e8
- SPECIES_PORYGON2, // 0x0e9
- SPECIES_STANTLER, // 0x0ea
- SPECIES_SMEARGLE, // 0x0eb
- SPECIES_TYROGUE, // 0x0ec
- SPECIES_HITMONTOP, // 0x0ed
- SPECIES_SMOOCHUM, // 0x0ee
- SPECIES_ELEKID, // 0x0ef
- SPECIES_MAGBY, // 0x0f0
- SPECIES_MILTANK, // 0x0f1
- SPECIES_BLISSEY, // 0x0f2
- SPECIES_RAIKOU, // 0x0f3
- SPECIES_ENTEI, // 0x0f4
- SPECIES_SUICUNE, // 0x0f5
- SPECIES_LARVITAR, // 0x0f6
- SPECIES_PUPITAR, // 0x0f7
- SPECIES_TYRANITAR, // 0x0f8
- SPECIES_LUGIA, // 0x0f9
- SPECIES_HO_OH, // 0x0fa
- SPECIES_CELEBI, // 0x0fb
-
- SPECIES_OLD_UNOWN_B,
- SPECIES_OLD_UNOWN_C,
- SPECIES_OLD_UNOWN_D,
- SPECIES_OLD_UNOWN_E,
- SPECIES_OLD_UNOWN_F,
- SPECIES_OLD_UNOWN_G,
- SPECIES_OLD_UNOWN_H,
- SPECIES_OLD_UNOWN_I,
- SPECIES_OLD_UNOWN_J,
- SPECIES_OLD_UNOWN_K,
- SPECIES_OLD_UNOWN_L,
- SPECIES_OLD_UNOWN_M,
- SPECIES_OLD_UNOWN_N,
- SPECIES_OLD_UNOWN_O,
- SPECIES_OLD_UNOWN_P,
- SPECIES_OLD_UNOWN_Q,
- SPECIES_OLD_UNOWN_R,
- SPECIES_OLD_UNOWN_S,
- SPECIES_OLD_UNOWN_T,
- SPECIES_OLD_UNOWN_U,
- SPECIES_OLD_UNOWN_V,
- SPECIES_OLD_UNOWN_W,
- SPECIES_OLD_UNOWN_X,
- SPECIES_OLD_UNOWN_Y,
- SPECIES_OLD_UNOWN_Z,
-
- SPECIES_TREECKO, // 0x115
- SPECIES_GROVYLE, // 0x116
- SPECIES_SCEPTILE, // 0x117
- SPECIES_TORCHIC, // 0x118
- SPECIES_COMBUSKEN, // 0x119
- SPECIES_BLAZIKEN, // 0x11a
- SPECIES_MUDKIP, // 0x11b
- SPECIES_MARSHTOMP, // 0x11c
- SPECIES_SWAMPERT, // 0x11d
- SPECIES_POOCHYENA, // 0x11e
- SPECIES_MIGHTYENA, // 0x11f
- SPECIES_ZIGZAGOON, // 0x120
- SPECIES_LINOONE, // 0x121
- SPECIES_WURMPLE, // 0x122
- SPECIES_SILCOON, // 0x123
- SPECIES_BEAUTIFLY, // 0x124
- SPECIES_CASCOON, // 0x125
- SPECIES_DUSTOX, // 0x126
- SPECIES_LOTAD, // 0x127
- SPECIES_LOMBRE, // 0x128
- SPECIES_LUDICOLO, // 0x129
- SPECIES_SEEDOT, // 0x12a
- SPECIES_NUZLEAF, // 0x12b
- SPECIES_SHIFTRY, // 0x12c
- SPECIES_NINCADA, // 0x12d
- SPECIES_NINJASK, // 0x12e
- SPECIES_SHEDINJA, // 0x12f
- SPECIES_TAILLOW, // 0x130
- SPECIES_SWELLOW, // 0x131
- SPECIES_SHROOMISH, // 0x132
- SPECIES_BRELOOM, // 0x133
- SPECIES_SPINDA, // 0x134
- SPECIES_WINGULL, // 0x135
- SPECIES_PELIPPER, // 0x136
- SPECIES_SURSKIT, // 0x137
- SPECIES_MASQUERAIN, // 0x138
- SPECIES_WAILMER, // 0x139
- SPECIES_WAILORD, // 0x13a
- SPECIES_SKITTY, // 0x13b
- SPECIES_DELCATTY, // 0x13c
- SPECIES_KECLEON, // 0x13d
- SPECIES_BALTOY, // 0x13e
- SPECIES_CLAYDOL, // 0x13f
- SPECIES_NOSEPASS, // 0x140
- SPECIES_TORKOAL, // 0x141
- SPECIES_SABLEYE, // 0x142
- SPECIES_BARBOACH, // 0x143
- SPECIES_WHISCASH, // 0x144
- SPECIES_LUVDISC, // 0x145
- SPECIES_CORPHISH, // 0x146
- SPECIES_CRAWDAUNT, // 0x147
- SPECIES_FEEBAS, // 0x148
- SPECIES_MILOTIC, // 0x149
- SPECIES_CARVANHA, // 0x14a
- SPECIES_SHARPEDO, // 0x14b
- SPECIES_TRAPINCH, // 0x14c
- SPECIES_VIBRAVA, // 0x14d
- SPECIES_FLYGON, // 0x14e
- SPECIES_MAKUHITA, // 0x14f
- SPECIES_HARIYAMA, // 0x150
- SPECIES_ELECTRIKE, // 0x151
- SPECIES_MANECTRIC, // 0x152
- SPECIES_NUMEL, // 0x153
- SPECIES_CAMERUPT, // 0x154
- SPECIES_SPHEAL, // 0x155
- SPECIES_SEALEO, // 0x156
- SPECIES_WALREIN, // 0x157
- SPECIES_CACNEA, // 0x158
- SPECIES_CACTURNE, // 0x159
- SPECIES_SNORUNT, // 0x15a
- SPECIES_GLALIE, // 0x15b
- SPECIES_LUNATONE, // 0x15c
- SPECIES_SOLROCK, // 0x15d
- SPECIES_AZURILL, // 0x15e
- SPECIES_SPOINK, // 0x15f
- SPECIES_GRUMPIG, // 0x160
- SPECIES_PLUSLE, // 0x161
- SPECIES_MINUN, // 0x162
- SPECIES_MAWILE, // 0x163
- SPECIES_MEDITITE, // 0x164
- SPECIES_MEDICHAM, // 0x165
- SPECIES_SWABLU, // 0x166
- SPECIES_ALTARIA, // 0x167
- SPECIES_WYNAUT, // 0x168
- SPECIES_DUSKULL, // 0x169
- SPECIES_DUSCLOPS, // 0x16a
- SPECIES_ROSELIA, // 0x16b
- SPECIES_SLAKOTH, // 0x16c
- SPECIES_VIGOROTH, // 0x16d
- SPECIES_SLAKING, // 0x16e
- SPECIES_GULPIN, // 0x16f
- SPECIES_SWALOT, // 0x170
- SPECIES_TROPIUS, // 0x171
- SPECIES_WHISMUR, // 0x172
- SPECIES_LOUDRED, // 0x173
- SPECIES_EXPLOUD, // 0x174
- SPECIES_CLAMPERL, // 0x175
- SPECIES_HUNTAIL, // 0x176
- SPECIES_GOREBYSS, // 0x177
- SPECIES_ABSOL, // 0x178
- SPECIES_SHUPPET, // 0x179
- SPECIES_BANETTE, // 0x17a
- SPECIES_SEVIPER, // 0x17b
- SPECIES_ZANGOOSE, // 0x17c
- SPECIES_RELICANTH, // 0x17d
- SPECIES_ARON, // 0x17e
- SPECIES_LAIRON, // 0x17f
- SPECIES_AGGRON, // 0x180
- SPECIES_CASTFORM, // 0x181
- SPECIES_VOLBEAT, // 0x182
- SPECIES_ILLUMISE, // 0x183
- SPECIES_LILEEP, // 0x184
- SPECIES_CRADILY, // 0x185
- SPECIES_ANORITH, // 0x186
- SPECIES_ARMALDO, // 0x187
- SPECIES_RALTS, // 0x188
- SPECIES_KIRLIA, // 0x189
- SPECIES_GARDEVOIR, // 0x18a
- SPECIES_BAGON, // 0x18b
- SPECIES_SHELGON, // 0x18c
- SPECIES_SALAMENCE, // 0x18d
- SPECIES_BELDUM, // 0x18e
- SPECIES_METANG, // 0x18f
- SPECIES_METAGROSS, // 0x190
- SPECIES_REGIROCK, // 0x191
- SPECIES_REGICE, // 0x192
- SPECIES_REGISTEEL, // 0x193
- SPECIES_KYOGRE, // 0x194
- SPECIES_GROUDON, // 0x195
- SPECIES_RAYQUAZA, // 0x196
- SPECIES_LATIAS, // 0x197
- SPECIES_LATIOS, // 0x198
- SPECIES_JIRACHI, // 0x199
- SPECIES_DEOXYS, // 0x19a
- SPECIES_CHIMECHO, // 0x19b
- SPECIES_EGG, // 0x19c
-
- SPECIES_UNOWN_B,
- SPECIES_UNOWN_C,
- SPECIES_UNOWN_D,
- SPECIES_UNOWN_E,
- SPECIES_UNOWN_F,
- SPECIES_UNOWN_G,
- SPECIES_UNOWN_H,
- SPECIES_UNOWN_I,
- SPECIES_UNOWN_J,
- SPECIES_UNOWN_K,
- SPECIES_UNOWN_L,
- SPECIES_UNOWN_M,
- SPECIES_UNOWN_N,
- SPECIES_UNOWN_O,
- SPECIES_UNOWN_P,
- SPECIES_UNOWN_Q,
- SPECIES_UNOWN_R,
- SPECIES_UNOWN_S,
- SPECIES_UNOWN_T,
- SPECIES_UNOWN_U,
- SPECIES_UNOWN_V,
- SPECIES_UNOWN_W,
- SPECIES_UNOWN_X,
- SPECIES_UNOWN_Y,
- SPECIES_UNOWN_Z,
- SPECIES_UNOWN_EMARK,
- SPECIES_UNOWN_QMARK,
-};
-
-#define NUM_SPECIES SPECIES_EGG
-extern const u8 gSpeciesNames[][11];
-
-#endif // GUARD_SPECIES_H
diff --git a/include/sprite.h b/include/sprite.h
index 170d77c3f..d5c6bc402 100644
--- a/include/sprite.h
+++ b/include/sprite.h
@@ -120,10 +120,6 @@ union AffineAnimCmd
{.jump = {.type = AFFINEANIMCMDTYPE_JUMP, .target = _target}}
#define AFFINEANIMCMD_END \
{.type = AFFINEANIMCMDTYPE_END}
-#define AFFINEANIMCMD_LOOP(_count) \
- {.loop = {.type = AFFINEANIMCMDTYPE_LOOP, .count = _count}}
-#define AFFINEANIMCMD_JUMP(_target) \
- {.jump = {.type = AFFINEANIMCMDTYPE_JUMP, .target = _target}}
struct AffineAnimState
{
diff --git a/include/strings.h b/include/strings.h
index a2745d382..a382191a0 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -1,45 +1,62 @@
#ifndef GUARD_STRINGS_H
#define GUARD_STRINGS_H
-// Exported type declarations
-
-// Exported RAM declarations
-
-// Exported ROM declarations
-
extern const u8 gText_FromSpace[];
+
extern const u8 gText_Lv50[];
extern const u8 gText_OpenLevel[];
+
extern const u8 gText_Mom[];
extern const u8 gText_Dad[];
+
extern const u8 gText_Cool[];
extern const u8 gText_Beauty[];
extern const u8 gText_Cute[];
extern const u8 gText_Smart[];
extern const u8 gText_Tough[];
+
extern const u8 gText_Single[];
extern const u8 gText_Double[];
+
+extern const u8 gText_Spicy[];
+extern const u8 gText_Dry[];
+extern const u8 gText_Sweet[];
+extern const u8 gText_Bitter[];
+extern const u8 gText_Sour[];
+
+extern const u8 gText_StowCase[];
+extern const u8 gText_LvVar1[];
+
extern const u8 gText_Spicy2[];
extern const u8 gText_Dry2[];
extern const u8 gText_Sweet2[];
extern const u8 gText_Bitter2[];
extern const u8 gText_Sour2[];
+
extern const u8 gText_Excellent[];
extern const u8 gText_VeryGood[];
extern const u8 gText_Good[];
extern const u8 gText_SoSo[];
extern const u8 gText_Bad[];
extern const u8 gText_TheWorst[];
+
extern const u8 gText_Slots[];
extern const u8 gText_Roulette[];
extern const u8 gText_Jackpot[];
+
extern const u8 gText_First[];
extern const u8 gText_Second[];
extern const u8 gText_Third[];
+
extern const u8 gText_NoDecorations[];
extern const u8 gText_NoDecorationsInUse[];
+
extern const u8 gText_Exit[];
extern const u8 gText_Cancel[];
+
+extern const u8 gText_ThrowAwayVar1[];
+extern const u8 gText_Var1ThrownAway[];
+
extern const u8 gText_Color161Shadow161[];
extern const u8 gText_GoBackPrevMenu[];
extern const u8 gText_CantPlaceInRoom[];
@@ -56,12 +73,14 @@ extern const u8 gText_NoDecorationHere[];
extern const u8 gText_DecorationWillBeDiscarded[];
extern const u8 gText_CantThrowAwayInUse[];
extern const u8 gText_DecorationThrownAway[];
+
extern const u8 gText_Desk[];
extern const u8 gText_Chair[];
extern const u8 gText_Plant[];
extern const u8 gText_Ornament[];
extern const u8 gText_Mat[];
extern const u8 gText_Poster[];
+
extern const u8 gText_PutOutSelectedDecorItem[];
extern const u8 gText_StoreChosenDecorInPC[];
extern const u8 gText_ThrowAwayUnwantedDecors[];
@@ -82,7 +101,73 @@ extern const u8 gText_NoRegistry[];
extern const u8 gText_OkayToDeleteFromRegistry[];
extern const u8 gText_RegisteredDataDeleted[];
extern const u8 gUnknown_085EA79D[];
+extern const u8 gText_EmptyString2[];
+extern const u8 gText_Confirm3[];
+extern const u8 gText_Cancel4[];
+extern const u8 gText_IsThisTheCorrectTime[];
extern const u8 gText_PkmnFainted3[];
extern const u8 gText_Coins[];
+extern const u8 gText_Draw[];
+extern const u8 gText_Loss[];
+extern const u8 gText_Win[];
+
+extern const u8 gText_Var1AteTheVar2[];
+extern const u8 gText_Var1HappilyAteVar2[];
+extern const u8 gText_Var1DisdainfullyAteVar2[];
+
+extern const u8 gText_RedPokeblock[];
+extern const u8 gText_BluePokeblock[];
+extern const u8 gText_PinkPokeblock[];
+extern const u8 gText_GreenPokeblock[];
+extern const u8 gText_YellowPokeblock[];
+extern const u8 gText_PurplePokeblock[];
+extern const u8 gText_IndigoPokeblock[];
+extern const u8 gText_BrownPokeblock[];
+extern const u8 gText_LiteBluePokeblock[];
+extern const u8 gText_OlivePokeblock[];
+extern const u8 gText_GrayPokeblock[];
+extern const u8 gText_BlackPokeblock[];
+extern const u8 gText_WhitePokeblock[];
+extern const u8 gText_GoldPokeblock[];
+
+extern const u8 gMenuText_Use[];
+extern const u8 gMenuText_Toss[];
+extern const u8 gMenuText_Give[];
+extern const u8 gMenuText_Give2[];
+
+extern const u8 gText_Cancel2[];
+
+extern const u8 gText_WithdrawPokemon[];
+extern const u8 gText_WithdrawMonDescription[];
+extern const u8 gText_DepositPokemon[];
+extern const u8 gText_DepositMonDescription[];
+extern const u8 gText_MovePokemon[];
+extern const u8 gText_MoveMonDescription[];
+extern const u8 gText_MoveItems[];
+extern const u8 gText_MoveItemsDescription[];
+extern const u8 gText_SeeYa[];
+extern const u8 gText_SeeYaDescription[];
+
+// menu texts
+extern const u8 gText_MenuPokedex[];
+extern const u8 gText_MenuPokemon[];
+extern const u8 gText_MenuBag[];
+extern const u8 gText_MenuPokenav[];
+extern const u8 gText_MenuPlayer[];
+extern const u8 gText_MenuSave[];
+extern const u8 gText_MenuOption[];
+extern const u8 gText_MenuExit[];
+extern const u8 gText_MenuRetire[];
+extern const u8 gText_MenuRest[];
+extern const u8 gText_Floor1[];
+extern const u8 gText_Floor2[];
+extern const u8 gText_Floor3[];
+extern const u8 gText_Floor4[];
+extern const u8 gText_Floor5[];
+extern const u8 gText_Floor6[];
+extern const u8 gText_Floor7[];
+extern const u8 gText_Peak[];
+extern const u8 gText_SafariBallStock[];
+extern const u8 gText_BattlePyramidFloor[];
#endif //GUARD_STRINGS_H
diff --git a/include/text_window.h b/include/text_window.h
index da3fb301e..0af007397 100644
--- a/include/text_window.h
+++ b/include/text_window.h
@@ -3,8 +3,8 @@
struct TilesPal
{
- u32* tiles;
- u16* pal;
+ u32 *tiles;
+ u16 *pal;
};
const struct TilesPal* sub_8098758(u8 id);
diff --git a/include/trainer_classes.h b/include/trainer_classes.h
deleted file mode 100644
index e5e26b359..000000000
--- a/include/trainer_classes.h
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef GUARD_TRAINER_CLASSES_H
-#define GUARD_TRAINER_CLASSES_H
-
-enum
-{
- CLASS_PKMN_TRAINER0, // 0
- CLASS_PKMN_TRAINER1, // 1
- CLASS_HIKER, // 2
- CLASS_TEAM_AQUA, // 3
- CLASS_PKMN_BREEDER, // 4
- CLASS_COOLTRAINER, // 5
- CLASS_BIRDKEEPER, // 6
- CLASS_COLLECTOR, // 7
- CLASS_SWIMMER_MALE, // 8
- CLASS_TEAM_MAGMA, // 9
- CLASS_EXPERT, // 0xA
- CLASS_AQUA_ADMIN, // 0xB
- CLASS_BLACK_BELT, // 0xC
- CLASS_AQUA_LEADER, // 0xD
- CLASS_HEX_MANIAC, // 0xE
- CLASS_AROMA_LADY, // 0xF
- CLASS_RUIN_MANIAC, // 0x10
- CLASS_INTERVIEWER, // 0x11
- CLASS_TUBER_FEMALE, // 0x12
- CLASS_TUBER_MALE, // 0x13
- CLASS_LADY, // 0x14
- CLASS_BEAUTY, // 0x15
- CLASS_RICH_BOY, // 0x16
- CLASS_POKEMANIAC, // 0x17
- CLASS_GUITARIST, // 0x18
- CLASS_KINDLER, // 0x19
- CLASS_CAMPER, // 0x1A
- CLASS_PICKNICKER, // 0x1B
- CLASS_BUG_MANIAC, // 0x1C
- CLASS_PSYCHIC, // 0x1D
- CLASS_GENTLEMAN, // 0x1E
- CLASS_ELITE_FOUR, // 0x1F
- CLASS_LEADER, // 0x20
- CLASS_SCHOOL_KID, // 0x21
- CLASS_SCHOOL_SR_JR, // 0x22
- CLASS_WINSTRATE, // 0x23
- CLASS_POKE_FAN, // 0x24
- CLASS_YOUNGSTER, // 0x25
- CLASS_CHAMPION, // 0x26
- CLASS_FISHERMAN, // 0x27
- CLASS_TRIATHLETE, // 0x28
- CLASS_DRAGON_TAMER, // 0x29
- CLASS_NINJA_BOY, // 0x2A
- CLASS_BATTLE_GIRL, // 0x2B
- CLASS_PARASOL_LADY, // 0x2C
- CLASS_SWIMMER_FEMALE, // 0x2D
- CLASS_TWINS, // 0x2E
- CLASS_SAILOR, // 0x2F
- CLASS_COOLTRAINER_2, // 0x30
- CLASS_MAGMA_ADMIN, // 0x31
- CLASS_PKMN_TRAINER_RIVAL, // 0x32
- CLASS_BUG_CATCHER, // 0x33
- CLASS_PKMN_RANGER, // 0x34
- CLASS_MAGMA_LEADER, // 0x35
- CLASS_LASS, // 0x36
- CLASS_YOUNG_COUPLE, // 0x37
- CLASS_OLD_COUPLE, // 0x38
- CLASS_SIS_AND_BRO, // 0x39
- CLASS_SALON_MAIDEN, // 0x3A
- CLASS_DOME_ACE, // 0x3B
- CLASS_PALACE_MAVEN, // 0x3C
- CLASS_ARENA_TYCOON, // 0x3D
- CLASS_FACTORY_HEAD, // 0x3E
- CLASS_PIKE_QUEEN, // 0x3F
- CLASS_PYRAMID_KING, // 0x40
- CLASS_PKMN_TRAINER2, // 0x41
-};
-
-#endif // GUARD_TRAINER_CLASSES_H
diff --git a/include/trainer_front_sprites.h b/include/trainer_front_sprites.h
deleted file mode 100644
index 3259bec88..000000000
--- a/include/trainer_front_sprites.h
+++ /dev/null
@@ -1,101 +0,0 @@
-#ifndef GUARD_TRAINER_FRONT_SPRITES_H
-#define GUARD_TRAINER_FRONT_SPRITES_H
-
-enum
-{
- TRAINER_FRONT_PIC_HIKER,
- TRAINER_FRONT_PIC_AQUA_GRUNT_M,
- TRAINER_FRONT_PIC_PKMN_BREEDER_F,
- TRAINER_FRONT_PIC_COOLTRAINER_M,
- TRAINER_FRONT_PIC_BIRD_KEEPER,
- TRAINER_FRONT_PIC_COLLECTOR,
- TRAINER_FRONT_PIC_AQUA_GRUNT_F,
- TRAINER_FRONT_PIC_SWIMMER_M,
- TRAINER_FRONT_PIC_MAGMA_GRUNT_M,
- TRAINER_FRONT_PIC_EXPERT_M,
- TRAINER_FRONT_PIC_AQUA_ADMIN_M,
- TRAINER_FRONT_PIC_BLACK_BELT,
- TRAINER_FRONT_PIC_AQUA_ADMIN_F,
- TRAINER_FRONT_PIC_AQUA_LEADER,
- TRAINER_FRONT_PIC_HEX_MANIAC,
- TRAINER_FRONT_PIC_AROMA_LADY,
- TRAINER_FRONT_PIC_RUIN_MANIAC,
- TRAINER_FRONT_PIC_INTERVIEWER,
- TRAINER_FRONT_PIC_TUBER_F,
- TRAINER_FRONT_PIC_TUBER_M,
- TRAINER_FRONT_PIC_COOLTRAINER_F,
- TRAINER_FRONT_PIC_LADY,
- TRAINER_FRONT_PIC_BEAUTY,
- TRAINER_FRONT_PIC_RICH_BOY,
- TRAINER_FRONT_PIC_EXPERT_F,
- TRAINER_FRONT_PIC_POKE_MANIAC,
- TRAINER_FRONT_PIC_MAGMA_GRUNT_F,
- TRAINER_FRONT_PIC_GUITARIST,
- TRAINER_FRONT_PIC_KINDLER,
- TRAINER_FRONT_PIC_CAMPER,
- TRAINER_FRONT_PIC_PICNICKER,
- TRAINER_FRONT_PIC_BUG_MANIAC,
- TRAINER_FRONT_PIC_PKMN_BREEDER_M,
- TRAINER_FRONT_PIC_PSYCHIC_M,
- TRAINER_FRONT_PIC_PSYCHIC_F,
- TRAINER_FRONT_PIC_GENTLEMAN,
- TRAINER_FRONT_PIC_SIDNEY,
- TRAINER_FRONT_PIC_PHOEBE,
- TRAINER_FRONT_PIC_GLACIA,
- TRAINER_FRONT_PIC_DRAKE,
- TRAINER_FRONT_PIC_ROXANNE,
- TRAINER_FRONT_PIC_BRAWLY,
- TRAINER_FRONT_PIC_WATTSON,
- TRAINER_FRONT_PIC_FLANNERY,
- TRAINER_FRONT_PIC_NORMAN,
- TRAINER_FRONT_PIC_WINONA,
- TRAINER_FRONT_PIC_TATE_LIZA,
- TRAINER_FRONT_PIC_JUAN,
- TRAINER_FRONT_PIC_SCHOOL_KID_M,
- TRAINER_FRONT_PIC_SCHOOL_KID_F,
- TRAINER_FRONT_PIC_SR_JR,
- TRAINER_FRONT_PIC_POKÉFAN_M,
- TRAINER_FRONT_PIC_POKÉFAN_F,
- TRAINER_FRONT_PIC_YOUNGSTER,
- TRAINER_FRONT_PIC_WALLACE,
- TRAINER_FRONT_PIC_FISHERMAN,
- TRAINER_FRONT_PIC_TRIATHLETE_BIKER_M,
- TRAINER_FRONT_PIC_TRIATHLETE_BIKER_F,
- TRAINER_FRONT_PIC_TRIATHLETE_JOGGER_M,
- TRAINER_FRONT_PIC_TRIATHLETE_JOGGER_F,
- TRAINER_FRONT_PIC_TRIATHLETE_SWIMMER_M,
- TRAINER_FRONT_PIC_TRIATHLETE_SWIMMER_F,
- TRAINER_FRONT_PIC_DRAGON_TAMER,
- TRAINER_FRONT_PIC_NINJA_BOY,
- TRAINER_FRONT_PIC_BATTLE_GIRL,
- TRAINER_FRONT_PIC_PARASOL_LADY,
- TRAINER_FRONT_PIC_SWIMMER_F,
- TRAINER_FRONT_PIC_TWINS,
- TRAINER_FRONT_PIC_SAILOR,
- TRAINER_FRONT_PIC_MAGMA_ADMIN_M,
- TRAINER_FRONT_PIC_WALLY,
- TRAINER_FRONT_PIC_BRENDAN_E,
- TRAINER_FRONT_PIC_MAY_E,
- TRAINER_FRONT_PIC_BUG_CATCHER,
- TRAINER_FRONT_PIC_PKMN_RANGER_M,
- TRAINER_FRONT_PIC_PKMN_RANGER_F,
- TRAINER_FRONT_PIC_MAGMA_LEADER,
- TRAINER_FRONT_PIC_LASS,
- TRAINER_FRONT_PIC_YOUNG_COUPLE,
- TRAINER_FRONT_PIC_OLD_COUPLE,
- TRAINER_FRONT_PIC_SIS_AND_BRO,
- TRAINER_FRONT_PIC_STEVEN,
- TRAINER_FRONT_PIC_ANABEL,
- TRAINER_FRONT_PIC_TUCKER,
- TRAINER_FRONT_PIC_SPENSER,
- TRAINER_FRONT_PIC_GRETA,
- TRAINER_FRONT_PIC_NOLAND,
- TRAINER_FRONT_PIC_LUCY,
- TRAINER_FRONT_PIC_BRANDON,
- TRAINER_FRONT_PIC_RED,
- TRAINER_FRONT_PIC_LEAF,
- TRAINER_FRONT_PIC_BRENDAN_RS,
- TRAINER_FRONT_PIC_MAY_RS
-};
-
-#endif // GUARD_TRAINER_FRONT_SPRITES_H
diff --git a/include/trainer_ids.h b/include/trainer_ids.h
deleted file mode 100644
index 65c80187f..000000000
--- a/include/trainer_ids.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef GUARD_TRAINER_IDS_H
-#define GUARD_TRAINER_IDS_H
-
-#define NO_OF_TRAINERS 854
-#define TRAINER_ID_STEVEN 804
-
-#endif // GUARD_TRAINER_IDS_H
diff --git a/include/trainer_see.h b/include/trainer_see.h
index ab035d9f8..847380782 100644
--- a/include/trainer_see.h
+++ b/include/trainer_see.h
@@ -1,8 +1,30 @@
#ifndef GUARD_TRAINER_SEE_H
#define GUARD_TRAINER_SEE_H
-void sub_80B4578(struct MapObject *);
-u8 sub_80B47BC(void);
-void sub_8155D78(struct MapObject *);
+struct ApproachingTrainer
+{
+ u8 mapObjectId;
+ u8 radius; // plus 1
+ const u8 *trainerScriptPtr;
+ u8 taskId;
+};
-#endif //GUARD_TRAINER_SEE_H
+extern u16 gUnknown_03006080;
+extern u8 gUnknown_03006084[4];
+extern struct ApproachingTrainer gApproachingTrainers[2];
+extern u8 gNoOfApproachingTrainers;
+extern u8 gUnknown_030060AC;
+extern u8 gApproachingTrainerId;
+
+bool8 CheckForTrainersWantingBattle(void);
+void sub_80B4578(struct MapObject *var);
+void EndTrainerApproach(void);
+void sub_80B45D0(void);
+u8 FldEff_ExclamationMarkIcon1(void);
+u8 FldEff_ExclamationMarkIcon2(void);
+u8 FldEff_HeartIcon(void);
+u8 GetCurrentApproachingTrainerMapObjectId(void);
+u8 GetChosenApproachingTrainerMapObjectId(u8 arrayId);
+void sub_80B4808(void);
+
+#endif // GUARD_TRAINER_SEE_H
diff --git a/include/tv.h b/include/tv.h
index 75338704f..eca11385e 100644
--- a/include/tv.h
+++ b/include/tv.h
@@ -15,5 +15,6 @@ void sub_80F14F8(TVShow *shows);
size_t sub_80EF370(int value);
bool8 Put3CheersForPokeblocksOnTheAir(const u8 *partnersName, u8 flavor, u8 unused, u8 sheen, u8 language);
void SetPokemonAnglerSpecies(u16 species);
+void UpdateTVShowsPerDay(u16 days);
#endif //GUARD_TV_H
diff --git a/include/vars.h b/include/vars.h
deleted file mode 100644
index 763b7379d..000000000
--- a/include/vars.h
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef GUARD_VARS_H
-#define GUARD_VARS_H
-
-#define VAR_0x3F20 0x3F20
-
-#define VAR_0x4000 0x4000
-#define VAR_0x4001 0x4001
-#define VAR_0x4002 0x4002
-#define VAR_0x4003 0x4003
-#define VAR_0x4004 0x4004
-#define VAR_0x4005 0x4005
-#define VAR_0x4006 0x4006
-#define VAR_0x4007 0x4007
-#define VAR_0x4008 0x4008
-#define VAR_0x4009 0x4009
-#define VAR_0x400A 0x400A
-#define VAR_0x4010 0x4010
-#define VAR_0x4011 0x4011
-#define VAR_0x401F 0x401F
-#define VAR_RECYCLE_GOODS 0x4020
-#define VAR_REPEL_STEP_COUNT 0x4021
-#define VAR_ICE_STEP_COUNT 0x4022
-#define VAR_FIRST_POKE 0x4023
-#define VAR_MIRAGE_RND_H 0x4024
-#define VAR_MIRAGE_RND_L 0x4025
-#define VAR_SECRET_BASE_MAP 0x4026
-
-#define VAR_HAPPINESS_STEP_COUNTER 0x402A
-#define VAR_POISON_STEP_COUNTER 0x402B
-#define VAR_RESET_RTC_ENABLE 0x402C
-
-#define VAR_0x4037 0x4037
-#define VAR_ALTERING_CAVE_WILD_SET 0x403E
-#define VAR_DAYS 0x4040
-
-#define VAR_DEPT_STORE_FLOOR 0x4043
-#define VAR_STORAGE_UNKNOWN 0x4036
-#define VAR_POKELOT_PRIZE 0x4045
-#define VAR_NATIONAL_DEX 0x4046
-#define VAR_SEEDOT_SIZE_RECORD 0x4047
-#define VAR_ASH_GATHER_COUNT 0x4048
-#define VAR_BIRCH_STATE 0x4049
-#define VAR_CRUISE_STEP_COUNT 0x404A
-#define VAR_POKELOT_RND1 0x404B
-#define VAR_POKELOT_RND2 0x404C
-
-#define VAR_LOTAD_SIZE_RECORD 0x404F
-
-#define VAR_0x4054 0x4054
-
-#define VAR_0x4089 0x4089
-#define VAR_0x4095 0x4095
-#define VAR_0x4097 0x4097
-#define VAR_0x409a 0x409a
-#define VAR_PORTHOLE 0x40B4
-
-#define VAR_0x40BC 0x40BC
-#define VAR_0x40C2 0x40C2
-
-#define VAR_FRONTIER_FACILITY 0x40CF
-
-#define VAR_DAILY_SLOTS 0x40E6
-#define VAR_DAILY_WILDS 0x40E7
-#define VAR_DAILY_BLENDER 0x40E8
-#define VAR_DAILY_PLANTED_BERRIES 0x40E9
-#define VAR_DAILY_PICKED_BERRIES 0x40EA
-#define VAR_DAILY_ROULETTE 0x40EB
-#define VAR_0x40EC 0x40EC
-#define VAR_0x40ED 0x40ED
-#define VAR_0x40EE 0x40EE
-#define VAR_0x40EF 0x40EF
-#define VAR_0x40F0 0x40F0
-#define VAR_DAILY_BP 0x40F1
-
-#endif // GUARD_VARS_H
diff --git a/include/wallclock.h b/include/wallclock.h
new file mode 100644
index 000000000..48697c19f
--- /dev/null
+++ b/include/wallclock.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_WALLCLOCK_H
+#define GUARD_WALLCLOCK_H
+
+void Cb2_StartWallClock(void);
+
+#endif //GUARD_WALLCLOCK_H