Merge branch 'master' into link

This commit is contained in:
scnorton
2018-01-18 12:53:31 -05:00
3620 changed files with 632656 additions and 52484 deletions

View File

@@ -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,

View File

@@ -1,14 +1,6 @@
#ifndef GUARD_BATTLE_ANIM_H
#define GUARD_BATTLE_ANIM_H
enum
{
ANIM_BANK_ATTACKER,
ANIM_BANK_TARGET,
ANIM_BANK_ATK_PARTNER,
ANIM_BANK_DEF_PARTNER,
};
enum
{
BG_ANIM_SCREEN_SIZE,

13
include/battle_bg.h Normal file
View File

@@ -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

View File

@@ -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);
void BattleSetup_StartWildBattle(void);
void BattleSetup_StartRoamerBattle(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,
};
u8 HasTrainerAlreadyBeenFought(u16);
void trainer_flag_set(u16);
void trainer_flag_clear(u16);
#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);
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

View File

@@ -1,6 +1,72 @@
#ifndef GUARD_BATTLE_TRANSITION_H
#define GUARD_BATTLE_TRANSITION_H
void sub_8149DFC(u8 a1);
void TestBattleTransition(u8 transitionId);
void BattleTransition_StartOnField(u8 transitionId);
void BattleTransition_Start(u8 transitionId);
bool8 IsBattleTransitionDone(void);
bool8 FldEff_Pokeball(void);
void TransitionPhase1_Task_RunFuncs(u8 taskId);
void sub_8149F58(u16 **a0, u16 **a1);
extern const struct SpritePalette gFieldEffectObjectPaletteInfo10;
enum // TRANSITION_MUGSHOT
{
MUGSHOT_SYDNEY,
MUGSHOT_PHOEBE,
MUGSHOT_GLACIA,
MUGSHOT_DRAKE,
MUGSHOT_CHAMPION,
MUGSHOTS_COUNT
};
// credits for the names go to Dyskinesia, Tetrable and Farore
// 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_SHRED_SPLIT 25
#define B_TRANSITION_BLACKHOLE1 26
#define B_TRANSITION_BLACKHOLE2 27
#define B_TRANSITION_RECTANGULAR_SPIRAL 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
#define B_TRANSITION_COUNT 42
#endif // GUARD_BATTLE_TRANSITION_H

View File

@@ -70,7 +70,7 @@ void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset);
void CopyBgTilemapBufferToVram(u8 bg);
void CopyToBgTilemapBufferRect(u8 bg, void* src, u8 destX, u8 destY, u8 width, u8 height);
void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette);
void CopyRectToBgTilemapBufferRect(u8 bg, void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2);
void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2);
void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height);
void FillBgTilemapBufferRect(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height, u8 palette);
void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 width, u8 height, u8 paletteSlot, s16 tileNumDelta);

78
include/bike.h Normal file
View File

@@ -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

View File

@@ -1,6 +1,23 @@
#ifndef GUARD_CONFIG_H
#define GUARD_CONFIG_H
// In the Generation 3 games, Asserts were used in various debug builds.
// Ruby/Sapphire and Emerald do not have these asserts while Fire Red
// still has them in the ROM. This is because the developers forgot
// to define NDEBUG before release, however this has been changed as
// Ruby's actual debug build does not use the AGBPrint features.
#define NDEBUG
// To enable print debugging, comment out "#define NDEBUG". This allows
// the various AGBPrint functions to be used. (See include/gba/isagbprint.h).
// Some emulators support a debug console window: uncomment NoCashGBAPrint()
// and NoCashGBAPrintf() in libisagbprn.c to use no$gba's own proprietary
// printing system. Use NoCashGBAPrint() and NoCashGBAPrintf() like you
// would normally use AGBPrint() and AGBPrintf().
// NOTE: Don't try to enable assert right now as many pointers
// still exist in defines and WILL likely result in a broken ROM.
#define ENGLISH
#ifdef ENGLISH

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,860 @@
#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

View File

@@ -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

View File

@@ -1,465 +1,541 @@
#ifndef GUARD_CONSTANTS_SONGS_H
#define GUARD_CONSTANTS_SONGS_H
#define SE_STOP 0
#define SE_KAIFUKU 1
#define SE_PC_LOGON 2
#define SE_PC_OFF 3
#define SE_PC_ON 4
#define SE_SELECT 5
#define SE_WIN_OPEN 6
#define SE_WALL_HIT 7
#define SE_DOOR 8
#define SE_KAIDAN 9
#define SE_DANSA 10
#define SE_JITENSYA 11
#define SE_KOUKA_L 12
#define SE_KOUKA_M 13
#define SE_KOUKA_H 14
#define SE_BOWA2 15
#define SE_POKE_DEAD 16
#define SE_NIGERU 17
#define SE_JIDO_DOA 18
#define SE_NAMINORI 19
#define SE_BAN 20
#define SE_PIN 21
#define SE_BOO 22
#define SE_BOWA 23
#define SE_JYUNI 24
#define SE_A 25
#define SE_I 26
#define SE_U 27
#define SE_E 28
#define SE_O 29
#define SE_N 30
#define SE_SEIKAI 31
#define SE_HAZURE 32
#define SE_EXP 33
#define SE_JITE_PYOKO 34
#define MUS_DUMMY 0
#define SE_KAIFUKU 1 // Healing Item
#define SE_PC_LOGIN 2 // PC Logon
#define SE_PC_OFF 3 // PC Shutdown
#define SE_PC_ON 4 // PC Startup
#define SE_SELECT 5 // Cursor Selection
#define SE_WIN_OPEN 6 // Start Menu
#define SE_WALL_HIT 7 // Wall Bump
#define SE_DOOR 8 // Opening Door
#define SE_KAIDAN 9 // Stairs
#define SE_DANSA 10 // Ledge
#define SE_JITENSYA 11 // Bicycle Bell
#define SE_KOUKA_L 12 // Not Very Effective
#define SE_KOUKA_M 13 // Normal Effectiveness
#define SE_KOUKA_H 14 // Super Effective
#define SE_BOWA2 15 // Pokémon Withdrawal
#define SE_POKE_DEAD 16 // Pokémon Fainted
#define SE_NIGERU 17 // Flee from Wild Battle
#define SE_JIDO_DOA 18 // Pokémon Center Door
#define SE_NAMINORI 19 // Briney's Ship
#define SE_BAN 20 // Bang
#define SE_PIN 21 // Exclamation Bubble
#define SE_BOO 22 // Contest Jam
#define SE_BOWA 23 // Giving Poké Ball to Nurse, Poké Ball Wiggle
#define SE_JYUNI 24 // Places in Contest Appearing
#define SE_A 25 // Bard A
#define SE_I 26 // Bard I
#define SE_U 27 // Bard U
#define SE_E 28 // Bard E
#define SE_O 29 // Bard O
#define SE_N 30 // Bard N
#define SE_SEIKAI 31 // Success
#define SE_HAZURE 32 // Failure
#define SE_EXP 33 // Exp. Bar
#define SE_JITE_PYOKO 34 // Bunny Hop
#define SE_MU_PACHI 35
#define SE_TK_KASYA 36
#define SE_TK_KASYA 36 // Mossdeep Gym/Trick House Switch
#define SE_FU_ZAKU 37
#define SE_FU_ZAKU2 38
#define SE_FU_ZUZUZU 39
#define SE_RU_GASHIN 40
#define SE_RU_GASYAN 41
#define SE_RU_BARI 42
#define SE_RU_HYUU 43
#define SE_FU_ZUZUZU 39 // Lavaridge Gym Warp
#define SE_RU_GASHIN 40 // Sootopolis Gym - Stairs Appear
#define SE_RU_GASYAN 41 // Sootopolis Gym - Ice Breaking
#define SE_RU_BARI 42 // Sootopolis Gym - Walking on Ice
#define SE_RU_HYUU 43 // Falling Down
#define SE_KI_GASYAN 44
#define SE_TK_WARPIN 45
#define SE_TK_WARPOUT 46
#define SE_TU_SAA 47
#define SE_HI_TURUN 48
#define SE_TRACK_MOVE 49
#define SE_TRACK_STOP 50
#define SE_TRACK_HAIK 51
#define SE_TRACK_DOOR 52
#define SE_TK_WARPIN 45 // Warp In
#define SE_TK_WARPOUT 46 // Warp Out
#define SE_TU_SAA 47 // Repel
#define SE_HI_TURUN 48 // Moving Obstacle in Fortree Gym
#define SE_TRACK_MOVE 49 // Moving Truck
#define SE_TRACK_STOP 50 // Moving Truck Stop
#define SE_TRACK_HAIKI 51 // Moving Truck Unload
#define SE_TRACK_DOOR 52 // Moving Truck Door
#define SE_MOTER 53
#define SE_CARD 54
#define SE_SAVE 55
#define SE_KON 56
#define SE_KON2 57
#define SE_KON3 58
#define SE_KON4 59
#define SE_SUIKOMU 60
#define SE_NAGERU 61
#define SE_TOY_C 62
#define SE_TOY_D 63
#define SE_TOY_E 64
#define SE_TOY_F 65
#define SE_TOY_G 66
#define SE_TOY_A 67
#define SE_TOY_B 68
#define SE_TOY_C1 69
#define SE_MIZU 70
#define SE_HASHI 71
#define SE_DAUGI 72
#define SE_PINPON 73
#define SE_FUUSEN1 74
#define SE_FUUSEN2 75
#define SE_FUUSEN3 76
#define SE_TOY_KABE 77
#define SE_TOY_DANGO 78
#define SE_DOKU 79
#define SE_ESUKA 80
#define SE_T_AME 81
#define SE_T_AME_E 82
#define SE_T_OOAME 83
#define SE_T_OOAME_E 84
#define SE_T_KOAME 85
#define SE_T_KOAME_E 86
#define SE_T_KAMI 87
#define SE_T_KAMI2 88
#define SE_ELEBETA 89
#define SE_HINSI 90
#define SE_EXPMAX 91
#define SE_TAMAKORO 92
#define SE_TAMAKORO_E 93
#define SE_SAVE 55 // Save
#define SE_KON 56 // Poké Ball Bounce 1
#define SE_KON2 57 // Poké Ball Bounce 2
#define SE_KON3 58 // Poké Ball Bounce 3
#define SE_KON4 59 // Poké Ball Bounce 4
#define SE_SUIKOMU 60 // Poké Ball Trade
#define SE_NAGERU 61 // Poké Ball Throw
#define SE_TOY_C 62 // Note C
#define SE_TOY_D 63 // Note D
#define SE_TOY_E 64 // Note E
#define SE_TOY_F 65 // Note F
#define SE_TOY_G 66 // Note G
#define SE_TOY_A 67 // Note A
#define SE_TOY_B 68 // Note B
#define SE_TOY_C1 69 // Note High C
#define SE_MIZU 70 // Puddle
#define SE_HASHI 71 // Boardwalk
#define SE_DAUGI 72 // Slots Credits
#define SE_PINPON 73 // Ding-dong!
#define SE_FUUSEN1 74 // Red Balloon
#define SE_FUUSEN2 75 // Blue Balloon
#define SE_FUUSEN3 76 // Yellow Balloon
#define SE_TOY_KABE 77 // Breakable Door
#define SE_TOY_DANGO 78 // Mud Ball
#define SE_DOKU 79 // Overworld Poison Damage
#define SE_ESUKA 80 // Escalator
#define SE_T_AME 81 // Rain
#define SE_T_AME_E 82 // Rain Stop
#define SE_T_OOAME 83 // Heavy Rain
#define SE_T_OOAME_E 84 // Heavy Rain Stop
#define SE_T_KOAME 85 // Light Rain
#define SE_T_KOAME_E 86 // Light Rain Stop
#define SE_T_KAMI 87 // Thunder
#define SE_T_KAMI2 88 // Thunder 2
#define SE_ELEBETA 89 // Elevator
#define SE_HINSI 90 // Low Health
#define SE_EXPMAX 91 // Exp. Max
#define SE_TAMAKORO 92 // Roulette Ball
#define SE_TAMAKORO_E 93 // Roulette Ball 2
#define SE_BASABASA 94
#define SE_REGI 95
#define SE_C_GAJI 96
#define SE_C_MAKU_U 97
#define SE_C_MAKU_D 98
#define SE_REGI 95 // Cash Register
#define SE_C_GAJI 96 // Contest Hearts
#define SE_C_MAKU_U 97 // Contest Curtain rise
#define SE_C_MAKU_D 98 // Contest Curtain fall
#define SE_C_PASI 99
#define SE_C_SYU 100
#define SE_C_PIKON 101
#define SE_REAPOKE 102
#define SE_OP_BASYU 103
#define SE_BT_START 104
#define SE_DENDOU 105
#define SE_JIHANKI 106
#define SE_TAMA 107
#define SE_Z_SCROLL 108
#define SE_Z_PAGE 109
#define SE_PN_ON 110
#define SE_PN_OFF 111
#define SE_Z_SEARCH 112
#define SE_TAMAGO 113
#define SE_TB_START 114
#define SE_TB_KON 115
#define SE_TB_KARA 116
#define SE_C_PIKON 101 // Pokémon Appears in Contest
#define SE_REAPOKE 102 // Shiny Pokémon
#define SE_OP_BASYU 103 // Opening Movie -> Title Screen whoosh
#define SE_BT_START 104 // Battle Mugshot whoosh
#define SE_DENDOU 105 // Audience Cheering
#define SE_JIHANKI 106 // Vending Machine
#define SE_TAMA 107 // Orb Used
#define SE_Z_SCROLL 108 // Pokédex Scrolling
#define SE_Z_PAGE 109 // Pokédex Page
#define SE_PN_ON 110 // PokéNav On
#define SE_PN_OFF 111 // PokéNav Off
#define SE_Z_SEARCH 112 // Pokédex Search
#define SE_TAMAGO 113 // Egg hatch
#define SE_TB_START 114 // Battle - Poké Ball Tray slide in
#define SE_TB_KON 115 // Battle - Poké Ball Tray ball sound
#define SE_TB_KARA 116 // Battle - Poké Ball Tray slide out
#define SE_BIDORO 117
#define SE_W085 118
#define SE_W085B 119
#define SE_W231 120
#define SE_W171 121
#define SE_W233 122
#define SE_W233B 123
#define SE_W145 124
#define SE_W145B 125
#define SE_W145C 126
#define SE_W240 127
#define SE_W015 128
#define SE_W081 129
#define SE_W081B 130
#define SE_W088 131
#define SE_W016 132
#define SE_W016B 133
#define SE_W003 134
#define SE_W104 135
#define SE_W013 136
#define SE_W196 137
#define SE_W086 138
#define SE_W004 139
#define SE_W025 140
#define SE_W025B 141
#define SE_W152 142
#define SE_W026 143
#define SE_W172 144
#define SE_W172B 145
#define SE_W053 146
#define SE_W007 147
#define SE_W092 148
#define SE_W221 149
#define SE_W221B 150
#define SE_W052 151
#define SE_W036 152
#define SE_W059 153
#define SE_W059B 154
#define SE_W010 155
#define SE_W011 156
#define SE_W017 157
#define SE_W019 158
#define SE_W028 159
#define SE_W013B 160
#define SE_W044 161
#define SE_W029 162
#define SE_W057 163
#define SE_W056 164
#define SE_W250 165
#define SE_W030 166
#define SE_W039 167
#define SE_W054 168
#define SE_W077 169
#define SE_W020 170
#define SE_W082 171
#define SE_W047 172
#define SE_W195 173
#define SE_W006 174
#define SE_W091 175
#define SE_W146 176
#define SE_W120 177
#define SE_W153 178
#define SE_W071B 179
#define SE_W071 180
#define SE_W103 181
#define SE_W062 182
#define SE_W062B 183
#define SE_W048 184
#define SE_W187 185
#define SE_W118 186
#define SE_W155 187
#define SE_W122 188
#define SE_W060 189
#define SE_W185 190
#define SE_W014 191
#define SE_W043 192
#define SE_W207 193
#define SE_W207B 194
#define SE_W215 195
#define SE_W109 196
#define SE_W173 197
#define SE_W280 198
#define SE_W202 199
#define SE_W060B 200
#define SE_W076 201
#define SE_W080 202
#define SE_W100 203
#define SE_W107 204
#define SE_W166 205
#define SE_W129 206
#define SE_W115 207
#define SE_W112 208
#define SE_W197 209
#define SE_W199 210
#define SE_W236 211
#define SE_W204 212
#define SE_W268 213
#define SE_W070 214
#define SE_W063 215
#define SE_W127 216
#define SE_W179 217
#define SE_W151 218
#define SE_W201 219
#define SE_W161 220
#define SE_W161B 221
#define SE_W227 222
#define SE_W227B 223
#define SE_W226 224
#define SE_W208 225
#define SE_W213 226
#define SE_W213B 227
#define SE_W234 228
#define SE_W260 229
#define SE_W328 230
#define SE_W320 231
#define SE_W255 232
#define SE_W291 233
#define SE_W089 234
#define SE_W239 235
#define SE_W230 236
#define SE_W281 237
#define SE_W327 238
#define SE_W287 239
#define SE_W257 240
#define SE_W253 241
#define SE_W258 242
#define SE_W322 243
#define SE_W298 244
#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_W085 118 // Thunderbolt
#define SE_W085B 119 // Thunderbolt 2
#define SE_W231 120 // Harden
#define SE_W171 121 // Nightmare
#define SE_W233 122 // Vital Throw
#define SE_W233B 123 // Vital Throw 2
#define SE_W145 124 // Bubble
#define SE_W145B 125 // Bubble 2
#define SE_W145C 126 // Bubble 3
#define SE_W240 127 // Rain Dance
#define SE_W015 128 // Cut
#define SE_W081 129 // String Shot
#define SE_W081B 130 // String Shot 2
#define SE_W088 131 // Rock Throw
#define SE_W016 132 // Gust
#define SE_W016B 133 // Gust 2
#define SE_W003 134 // DoubleSlap
#define SE_W104 135 // Double Team
#define SE_W013 136 // Razor Wind
#define SE_W196 137 // Icy Wind
#define SE_W086 138 // Thunder Wave
#define SE_W004 139 // Comet Punch
#define SE_W025 140 // Mega Kick
#define SE_W025B 141 // Mega Kick 2
#define SE_W152 142 // Crabhammer
#define SE_W026 143 // Jump Kick
#define SE_W172 144 // Flame Wheel
#define SE_W172B 145 // Flame Wheel 2
#define SE_W053 146 // Flamethrower
#define SE_W007 147 // Fire Punch
#define SE_W092 148 // Toxic
#define SE_W221 149 // Sacred Fire
#define SE_W221B 150 // Sacred Fire 2
#define SE_W052 151 // Ember
#define SE_W036 152 // Take Down
#define SE_W059 153 // Blizzard
#define SE_W059B 154 // Blizzard 2
#define SE_W010 155 // Scratch
#define SE_W011 156 // Vicegrip
#define SE_W017 157 // Wing Attack
#define SE_W019 158 // Fly
#define SE_W028 159 // Sand-Attack
#define SE_W013B 160 // Razor Wind 2
#define SE_W044 161 // Bite
#define SE_W029 162 // Headbutt
#define SE_W057 163 // Surf
#define SE_W056 164 // Hydro Pump
#define SE_W250 165 // Whirlpool
#define SE_W030 166 // Horn Attack
#define SE_W039 167 // Tail Whip
#define SE_W054 168 // Mist
#define SE_W077 169 // PoisonPowder
#define SE_W020 170 // Bind
#define SE_W082 171 // Dragon Rage
#define SE_W047 172 // Sing
#define SE_W195 173 // Perish Song
#define SE_W006 174 // Pay Day
#define SE_W091 175 // Dig
#define SE_W146 176 // Dizzy Punch
#define SE_W120 177 // Self-Destruct
#define SE_W153 178 // Explosion
#define SE_W071B 179 // Absorb 2
#define SE_W071 180 // Absorb
#define SE_W103 181 // Screech
#define SE_W062 182 // BubbleBeam
#define SE_W062B 183 // BubbleBeam 2
#define SE_W048 184 // Supersonic
#define SE_W187 185 // Belly Drum
#define SE_W118 186 // Metronome
#define SE_W155 187 // Bonemerang
#define SE_W122 188 // Lick
#define SE_W060 189 // Psybeam
#define SE_W185 190 // Faint Attack
#define SE_W014 191 // Swords Dance
#define SE_W043 192 // Leer
#define SE_W207 193 // Swagger
#define SE_W207B 194 // Swagger 2
#define SE_W215 195 // Heal Bell
#define SE_W109 196 // Confuse Ray
#define SE_W173 197 // Snore
#define SE_W280 198 // Brick Break
#define SE_W202 199 // Giga Drain
#define SE_W060B 200 // Psybeam 2
#define SE_W076 201 // SolarBeam
#define SE_W080 202 // Petal Dance
#define SE_W100 203 // Teleport
#define SE_W107 204 // Minimize
#define SE_W166 205 // Sketch
#define SE_W129 206 // Swift
#define SE_W115 207 // Reflect
#define SE_W112 208 // Barrier
#define SE_W197 209 // Detect
#define SE_W199 210 // Lock-On
#define SE_W236 211 // Moonlight
#define SE_W204 212 // Charm
#define SE_W268 213 // Charge
#define SE_W070 214 // Strength
#define SE_W063 215 // Hyper Beam
#define SE_W127 216 // Waterfall
#define SE_W179 217 // Reversal
#define SE_W151 218 // Acid Armor
#define SE_W201 219 // Sandstorm
#define SE_W161 220 // Tri-Attack
#define SE_W161B 221 // Tri-Attack 2
#define SE_W227 222 // Encore
#define SE_W227B 223 // Encore 2
#define SE_W226 224 // Baton Pass
#define SE_W208 225 // Milk Drink
#define SE_W213 226 // Attract
#define SE_W213B 227 // Attract 2
#define SE_W234 228 // Morning Sun
#define SE_W260 229 // Flatter
#define SE_W328 230 // Sand Tomb
#define SE_W320 231 // GrassWhistle
#define SE_W255 232 // Spit Up
#define SE_W291 233 // Dive
#define SE_W089 234 // Earthquake
#define SE_W239 235 // Twister
#define SE_W230 236 // Sweet Scent
#define SE_W281 237 // Yawn
#define SE_W327 238 // Sky Uppercut
#define SE_W287 239 // Stat Increased
#define SE_W257 240 // Heat Wave
#define SE_W253 241 // Uproar
#define SE_W258 242 // Hail
#define SE_W322 243 // Cosmic Power
#define SE_W298 244 // Teeter Dance
#define SE_W287B 245 // Stat Decreased
#define SE_W114 246 // Haze
#define SE_W063B 247 // Hyper Beam 2
// FRLG SFX below
#define SE_RG_W_DOOR 248 // Door
#define SE_RG_CARD1 249 // Trainer Card 1
#define SE_RG_CARD2 250 // Trainer Card 2
#define SE_RG_CARD3 251 // Trainer Card 3
#define SE_RG_BAG1 252 // Bag Scroll
#define SE_RG_BAG2 253 // Bag Pocket Change
#define SE_RG_GETTING 254
#define SE_RG_SHOP 255 // Cash Register
#define SE_RG_KITEKI 256 // S.S. Anne Horn
#define SE_RG_HELP_OP 257 // Help Menu Open
#define SE_RG_HELP_CL 258 // Help Menu Close
#define SE_RG_HELP_NG 259 // Help Menu Error
#define SE_RG_DEOMOV 260 // Deoxys Moves
#define SE_RG_EXCELLENT 261
#define SE_RG_NAWAMISS 262
// end FRLG SFX
#define SE_TOREEYE 263 // Trainer's Eye Call
#define SE_TOREOFF 264 // Trainer's Eye Hang Up
#define SE_HANTEI1 265 // Battle Arena Time's Up 1
#define SE_HANTEI2 266 // Battle Arena Time's Up 2
#define SE_CURTAIN 267 // Battle Pike Curtain Open
#define SE_CURTAIN1 268 // Battle Pike Curtain Close
#define SE_USSOKI 269 // Sudowoodo
#define BGM_ROUTE_118 0x7FFF // What is this for?
#define MUS_TETSUJI 350 // Littleroot Town Test 'TETSUJI'
#define MUS_FIELD13 351 // GSC - Route 38
#define MUS_KACHI22 352 // Wild Pokémon Defeated
#define MUS_KACHI2 353 // Wild Pokémon Defeated with Intro
#define MUS_KACHI3 354 // Gym Leader Defeated
#define MUS_KACHI5 355 // Victory! Elite Four
#define MUS_PCC 356 // Crystal - Pokémon Communication Center
#define MUS_NIBI 357 // GSC - Viridian/Saffron/Pewter/etc
#define MUS_SUIKUN 358 // Crystal - Battle! Legendary Beasts
#define MUS_DOORO1 359 // Route 101
#define MUS_DOORO_X1 360 // Route 110
#define MUS_DOORO_X3 361 // Route 120
#define MUS_MACHI_S2 362 // Petalburg City
#define MUS_MACHI_S4 363 // Oldale/Lavaridge Town
#define MUS_GIM 364 // Gym
#define MUS_NAMINORI 365 // Surfing
#define MUS_DAN01 366 // Caves and Darkness
#define MUS_FANFA1 367 // Level Up!
#define MUS_ME_ASA 368 // Pokémon Healed
#define MUS_ME_BACHI 369 // Obtained a Badge!
#define MUS_FANFA4 370 // Obtained an Item!
#define MUS_FANFA5 371 // Your Pokémon Just Evolved!
#define MUS_ME_WAZA 372 // Obtained a TM/HM!
#define MUS_BIJYUTU 373 // Lilycove Museum
#define MUS_DOORO_X4 374 // Route 122/Intro
#define MUS_FUNE_KAN 375 // Slateport Museum
#define MUS_ME_SHINKA 376 // Evolution Intro
#define MUS_SHINKA 377 // Evolution
#define MUS_ME_WASURE 378 // Move Deleted/Messed Up Appeal
#define MUS_SYOUJOEYE 379 // Encounter! Tuber
#define MUS_BOYEYE 380 // Encounter! Boy
#define MUS_DAN02 381 // Abandoned Ship/Southern Island
#define MUS_MACHI_S3 382 // Fortree City/Pacifidlog Town
#define MUS_ODAMAKI 383 // Professor Birch's Lab
#define MUS_B_TOWER 384 // Battle Tower (RS)
#define MUS_SWIMEYE 385 // Encounter! Swimmer
#define MUS_DAN03 386 // Meteor Falls/Cave of Origin
#define MUS_ME_KINOMI 387 // Obtained a Berry!
#define MUS_ME_TAMA 388 // Awakening the Super-Ancient Pokémon
#define MUS_ME_B_BIG 389 // Slots Jackpot!
#define MUS_ME_B_SMALL 390 // Slots Victory!
#define MUS_ME_ZANNEN 391 // Too bad!
#define MUS_BD_TIME 392 // Roulette!
#define MUS_TEST1 393 // Contest Test 1
#define MUS_TEST2 394 // Contest Test 2
#define MUS_TEST3 395 // Contest Test 3
#define MUS_TEST4 396 // Contest Test 4
#define MUS_TEST 397 // Encounter! Gentleman
#define MUS_GOMACHI0 398 // Verdanturf Town
#define MUS_GOTOWN 399 // Rustboro/Mauville/Mossdeep City
#define MUS_POKECEN 400 // Pokémon Center
#define MUS_NEXTROAD 401 // Route 104
#define MUS_GRANROAD 402 // Route 119
#define MUS_CYCLING 403 // Cycling
#define MUS_FRIENDLY 404 // Pokémart
#define MUS_MISHIRO 405 // Littleroot Town
#define MUS_TOZAN 406 // Sky Pillar
#define MUS_GIRLEYE 407 // Encounter! Girl
#define MUS_MINAMO 408 // Lilycove City
#define MUS_ASHROAD 409 // Route 111
#define MUS_EVENT0 410 // Help me!
#define MUS_DEEPDEEP 411 // Underwater
#define MUS_KACHI1 412 // Victory! Trainer
#define MUS_TITLE3 413 // Title Screen
#define MUS_DEMO1 414 // Opening Movie
#define MUS_GIRL_SUP 415 // Encounter! May
#define MUS_HAGESHII 416 // Encounter! Biker
#define MUS_KAKKOII 417 // Encounter! Electric Trainer
#define MUS_KAZANBAI 418 // Route 113
#define MUS_AQA_0 419 // Encounter! Team Aqua
#define MUS_TSURETEK 420 // Follow Me!
#define MUS_BOY_SUP 421 // Encounter! Brendan
#define MUS_RAINBOW 422 // Ever Grande City
#define MUS_AYASII 423 // Encounter! Psychic
#define MUS_KACHI4 424 // Victory! Aqua/Magma Grunt
#define MUS_ROPEWAY 425 // Cable Car
#define MUS_CASINO 426 // Game Corner
#define MUS_HIGHTOWN 427 // Dewford Town
#define MUS_SAFARI 428 // Safari Zone
#define MUS_C_ROAD 429 // Victory Road
#define MUS_AJITO 430 // Aqua/Magma Hideout
#define MUS_M_BOAT 431 // Sailing
#define MUS_M_DUNGON 432 // Mt. Pyre (Inside)
#define MUS_FINECITY 433 // Slateport City
#define MUS_MACHUPI 434 // Mt. Pyre (Outside)
#define MUS_P_SCHOOL 435 // Pokémon Trainer's School
#define MUS_DENDOU 436 // You're the Champion!
#define MUS_TONEKUSA 437 // Fallarbor Town
#define MUS_MABOROSI 438 // Sealed Chamber
#define MUS_CON_FAN 439 // Obtained a Contest Ribbon!
#define MUS_CONTEST0 440 // Pokémon Contest
#define MUS_MGM0 441 // Encounter! Team Magma
#define MUS_T_BATTLE 442 // Opening Battle
#define MUS_OOAME 443 // The Flood
#define MUS_HIDERI 444 // The Drought
#define MUS_RUNECITY 445 // Sootopolis City
#define MUS_CON_K 446 // Contest/Berry Blending Results
#define MUS_EIKOU_R 447 // Hall of Fame
#define MUS_KARAKURI 448 // Trick House
#define MUS_HUTAGO 449 // Encounter! Kid
#define MUS_SITENNOU 450 // Encounter! Elite Four
#define MUS_YAMA_EYE 451 // Encounter! Hiker
#define MUS_CONLOBBY 452 // Contest Lobby
#define MUS_INTER_V 453 // Encounter! Gabby and Ty
#define MUS_DAIGO 454 // Encounter! Wallace
#define MUS_THANKFOR 455 // Credits
#define MUS_END 456 // The End
#define MUS_B_FRONTIER 457 // Battle Frontier
#define MUS_B_ARENA 458 // Battle Arena
#define MUS_ME_POINTGET 459 // Obtained Battle Points!
#define MUS_ME_TORE_EYE 460 // Registered Trainer!
#define MUS_PYRAMID 461 // Battle Pyramid
#define MUS_PYRAMID_TOP 462 // Top of the Battle Pyramid
#define MUS_B_PALACE 463 // Battle Palace
#define MUS_REKKUU_KOURIN 464 // Rayquaza Enters
#define MUS_SATTOWER 465 // Battle Tower (Emerald)
#define MUS_ME_SYMBOLGET 466 // Obtained a Frontier Symbol!
#define MUS_B_DOME 467 // Battle Dome
#define MUS_B_TUBE 468 // Battle Pike
#define MUS_B_FACTORY 469 // Battle Factory
#define MUS_VS_REKKU 470 // Battle! Legendary Pokémon
#define MUS_VS_FRONT 471 // Battle! Frontier Brain
#define MUS_VS_MEW 472 // Battle! Mew
#define MUS_B_DOME1 473 // Battle Dome Lobby
#define MUS_BATTLE27 474 // Battle! Wild Pokémon
#define MUS_BATTLE31 475 // Battle! Team Aqua/Magma
#define MUS_BATTLE20 476 // Battle! Trainer
#define MUS_BATTLE32 477 // Battle! Gym Leader
#define MUS_BATTLE33 478 // Battle! Champion
#define MUS_BATTLE36 479 // Battle! Regi Trio
#define MUS_BATTLE34 480 // Battle! Legendary Pokémon (dupe)
#define MUS_BATTLE35 481 // Battle! Rival
#define MUS_BATTLE38 482 // Battle! Elite Four
#define MUS_BATTLE30 483 // Battle! Archie/Maxie
// FRLG Music Below
#define MUS_RG_ANNAI 484 // Follow Me!
#define MUS_RG_SLOT 485 // Game Corner
#define MUS_RG_AJITO 486 // Rocket Hideout
#define MUS_RG_GYM 487 // Gym
#define MUS_RG_PURIN 488 // Jigglypuff's Song
#define MUS_RG_DEMO 489 // Opening Movie
#define MUS_RG_TITLE 490 // Title Screen
#define MUS_RG_GUREN 491 // Cinnabar Island
#define MUS_RG_SHION 492 // Lavender Town
#define MUS_RG_KAIHUKU 493 // RBY Pokémon Center Healing
#define MUS_RG_CYCLING 494 // Cycling
#define MUS_RG_ROCKET 495 // Encounter! Team Rocket
#define MUS_RG_SHOUJO 496 // Encounter! Girl
#define MUS_RG_SHOUNEN 497 // Encounter! Boy
#define MUS_RG_DENDOU 498 // You're the Champion!
#define MUS_RG_T_MORI 499 // Viridian Forest
#define MUS_RG_OTSUKIMI 500 // Mt. Moon
#define MUS_RG_POKEYASHI 501 // Pokémon Mansion
#define MUS_RG_ENDING 502 // Credits
#define MUS_RG_LOAD01 503 // Route 1
#define MUS_RG_OPENING 504 // Route 24/Intro
#define MUS_RG_LOAD02 505 // Route 3
#define MUS_RG_LOAD03 506 // Route 11
#define MUS_RG_CHAMP_R 507 // Victory Road/Indigo Plateau
#define MUS_RG_VS_GYM 508 // Battle! Gym Leader/Elite Four
#define MUS_RG_VS_TORE 509 // Battle! Trainer
#define MUS_RG_VS_YASEI 510 // Battle! Wild Pokémon
#define MUS_RG_VS_LAST 511 // Battle! Champion
#define MUS_RG_MASARA 512 // Pallet Town
#define MUS_RG_KENKYU 513 // Professor Oak's Lab
#define MUS_RG_OHKIDO 514 // Professor Oak's Theme
#define MUS_RG_POKECEN 515 // Pokémon Center
#define MUS_RG_SANTOAN 516 // S.S. Anne
#define MUS_RG_NAMINORI 517 // Surfing
#define MUS_RG_P_TOWER 518 // Pokémon Tower
#define MUS_RG_SHIRUHU 519 // Silph Co.
#define MUS_RG_HANADA 520 // Cerulean/Fuschia City
#define MUS_RG_TAMAMUSI 521 // Celadon City
#define MUS_RG_WIN_TRE 522 // Victory! Trainer
#define MUS_RG_WIN_YASEI 523 // Victory! Wild Pokémon
#define MUS_RG_WIN_GYM 524 // Victory! Gym Leader
#define MUS_RG_KUCHIBA 525 // Vermillion City
#define MUS_RG_NIBI 526 // Viridian/Saffron/Pewter City
#define MUS_RG_RIVAL1 527 // Encounter! Rival
#define MUS_RG_RIVAL2 528 // Rival's Exit
#define MUS_RG_FAN2 529 // Fanfare 2
#define MUS_RG_FAN5 530 // Obtained a Starter!
#define MUS_RG_FAN6 531 // Pokémon Caught! (Used in Emerald)
#define MUS_ME_RG_PHOTO 532 // Trainer Photo
#define MUS_RG_TITLEROG 533 // Game Freak
#define MUS_RG_GET_YASEI 534 // Pokémon Caught Victory Theme
#define MUS_RG_SOUSA 535 // Starting Tutorial
#define MUS_RG_SEKAIKAN 536 // Starting Tutorial 2
#define MUS_RG_SEIBETU 537 // Starting Tutorial 3
#define MUS_RG_JUMP 538 // Jumping Minigame
#define MUS_RG_UNION 539 // Union Room
#define MUS_RG_NETWORK 540 // Network Center
#define MUS_RG_OKURIMONO 541 // Mystery Gift
#define MUS_RG_KINOMIKUI 542
#define MUS_RG_NANADUNGEON 543 // Sevii Caves/Altering Cave (Mt. Moon)
#define MUS_RG_OSHIE_TV 544 // Follow Me!
#define MUS_RG_NANASHIMA 545 // Sevii Islands Routes (Lake of Rage)
#define MUS_RG_NANAISEKI 546 // Sevii Forests (Viridian Forest)
#define MUS_RG_NANA123 547 // Sevii Islands 1-3 (Viridian/Saffron/Pewter)
#define MUS_RG_NANA45 548 // Sevii Islands 4-5 (Azalea Town)
#define MUS_RG_NANA67 549 // Sevii Islands 6-7 (Violet City)
#define MUS_RG_POKEFUE 550 // Poké Flute
#define MUS_RG_VS_DEO 551 // Battle! Deoxys
#define MUS_RG_VS_MYU2 552 // Battle! Mewtwo
#define MUS_RG_VS_DEN 553 // Battle! Legendary Birds
#define MUS_RG_EXEYE 554 // Encounter! Gym Leader
#define MUS_RG_DEOEYE 555 // Encounter! Deoxys
#define MUS_RG_T_TOWER 556 // Trainer Tower (Gym)
#define MUS_RG_SLOWMASARA 557 // Pallet Town (Hall of Fame remix)
#define MUS_RG_TVNOIZE 558 // Teachy TV
#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

1129
include/constants/trainers.h Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -51,8 +51,7 @@
#define VAR_0x402D 0x402D
#define VAR_0x402E 0x402E
#define VAR_FRONTIER_MANIAC_FACILITY 0x402F
#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

File diff suppressed because it is too large Load Diff

View File

@@ -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[] = _("DIGLETTS 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[] = _("DIGLETTS 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

View File

@@ -3,8 +3,8 @@
void ClearDma3Requests(void);
void ProcessDma3Requests(void);
int RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode);
int RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode);
s16 RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode);
s16 RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode);
int CheckForSpaceForDma3Request(s16 index);
#endif // GUARD_DMA3_H

View File

@@ -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[];

View File

@@ -24,5 +24,7 @@ extern u16 gUnknown_03005DE8;
void DrawWholeMapView(void);
void CurrentMapDrawMetatileAt(int x, int y);
void sub_8089C08(s16 *a0, s16 *a1);
void DrawDoorMetatileAt(int x, int y, u16 *arr);
#endif //GUARD_FIELD_CAMERA_H

View File

@@ -1,6 +1,21 @@
#ifndef GUARD_FIELDDOOR_H
#define GUARD_FIELDDOOR_H
struct DoorGraphics
{
u16 metatileNum;
u8 sound;
u8 size;
const void *tiles;
const void *palette;
};
struct DoorAnimFrame
{
u8 time;
u16 offset;
};
void FieldSetDoorOpened(u32, u32);
void FieldSetDoorClosed(u32, u32);
s8 FieldAnimateDoorClose(u32, u32);

View File

@@ -71,8 +71,12 @@ 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);
u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer);
void sub_80B7FC8(void);
void FieldEffectActiveListRemove(u8 id);
#endif //GUARD_FIELD_EFFECTS_H

View File

@@ -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

View File

@@ -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

View File

@@ -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);

View File

@@ -0,0 +1,7 @@
#ifndef GUARD_FLDEFF_TELEPORT_H
#define GUARD_FLDEFF_TELEPORT_H
void hm_teleport_run_dp02scr(void);
void sub_817C94C(void);
#endif // GUARD_FLDEFF_TELEPORT_H

View File

@@ -7,5 +7,6 @@
#include "gba/multiboot.h"
#include "gba/syscall.h"
#include "gba/macro.h"
#include "gba/isagbprint.h"
#endif // GUARD_GBA_GBA_H

View File

@@ -501,12 +501,12 @@
// I/O register fields
// DISPCNT
#define DISPCNT_MODE_0 0x0000
#define DISPCNT_MODE_1 0x0001
#define DISPCNT_MODE_2 0x0002
#define DISPCNT_MODE_3 0x0003
#define DISPCNT_MODE_4 0x0004
#define DISPCNT_MODE_5 0x0005
#define DISPCNT_MODE_0 0x0000 // BG0: text, BG1: text, BG2: text, BG3: text
#define DISPCNT_MODE_1 0x0001 // BG0: text, BG1: text, BG2: affine, BG3: off
#define DISPCNT_MODE_2 0x0002 // BG0: off, BG1: off, BG2: affine, BG3: affine
#define DISPCNT_MODE_3 0x0003 // Bitmap mode, 240x160, BGR555 color
#define DISPCNT_MODE_4 0x0004 // Bitmap mode, 240x160, 256 color palette
#define DISPCNT_MODE_5 0x0005 // Bitmap mode, 160x128, BGR555 color
#define DISPCNT_OBJ_1D_MAP 0x0040
#define DISPCNT_FORCED_BLANK 0x0080
#define DISPCNT_BG0_ON 0x0100
@@ -527,7 +527,46 @@
#define DISPSTAT_HBLANK_INTR 0x0010 // H-Blank interrupt enabled
#define DISPSTAT_VCOUNT_INTR 0x0020 // V-Count interrupt enabled
// BGCNT
#define BGCNT_PRIORITY(n) (n) // Values 0 - 3. Lower priority BGs will be drawn on top of higher priority BGs.
#define BGCNT_CHARBASE(n) ((n) << 2) // Values 0 - 3. Base block for tile pixel data.
#define BGCNT_MOSAIC 0x0040
#define BGCNT_16COLOR 0x0000 // 4 bits per pixel
#define BGCNT_256COLOR 0x0080 // 8 bits per pixel
#define BGCNT_SCREENBASE(n) ((n) << 8) // Values 0 - 31. Base block for tile map.
#define BGCNT_WRAP 0x2000 // Only affects affine BGs. Text BGs wrap by default.
#define BGCNT_TXT256x256 0x0000 // Internal screen size size of text mode BG in pixels.
#define BGCNT_TXT512x256 0x4000
#define BGCNT_TXT256x512 0x8000
#define BGCNT_TXT512x512 0xC000
#define BGCNT_AFF128x128 0x0000 // Internal screen size size of affine mode BG in pixels.
#define BGCNT_AFF256x256 0x4000
#define BGCNT_AFF512x512 0x8000
#define BGCNT_AFF1024x1024 0xC000
// BLDCNT
// Bits 0-5 select layers for the 1st target
#define BLDCNT_TGT1_BG0 (1 << 0)
#define BLDCNT_TGT1_BG1 (1 << 1)
#define BLDCNT_TGT1_BG2 (1 << 2)
#define BLDCNT_TGT1_BG3 (1 << 3)
#define BLDCNT_TGT1_OBJ (1 << 4)
#define BLDCNT_TGT1_BD (1 << 5)
// Bits 6-7 select the special effect
#define BLDCNT_EFFECT_NONE (0 << 6) // no special effect
#define BLDCNT_EFFECT_BLEND (1 << 6) // 1st+2nd targets mixed (controlled by BLDALPHA)
#define BLDCNT_EFFECT_LIGHTEN (2 << 6) // 1st target becomes whiter (controlled by BLDY)
#define BLDCNT_EFFECT_DARKEN (3 << 6) // 1st target becomes blacker (controlled by BLDY)
// Bits 8-13 select layers for the 2nd target
#define BLDCNT_TGT2_BG0 (1 << 8)
#define BLDCNT_TGT2_BG1 (1 << 9)
#define BLDCNT_TGT2_BG2 (1 << 10)
#define BLDCNT_TGT2_BG3 (1 << 11)
#define BLDCNT_TGT2_OBJ (1 << 12)
#define BLDCNT_TGT2_BD (1 << 13)
// BLDALPHA
#define BLDALPHA_BLEND(target1, target2) (((target2) << 8) | (target1))
// SOUNDCNT_H
#define SOUND_CGB_MIX_QUARTER 0x0000
@@ -644,8 +683,8 @@
#define KEY_INTR_ENABLE 0x0400
#define KEY_OR_INTR 0x0000
#define KEY_AND_INTR 0x8000
#define DPAD_ANY ((DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN))
#define DPAD_ANY ((DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN))
#define JOY_EXCL_DPAD 0x030F
// interrupt flags
#define INTR_FLAG_VBLANK (1 << 0)

50
include/gba/isagbprint.h Executable file
View File

@@ -0,0 +1,50 @@
#ifndef GUARD_GBA_ISAGBPRINT_H
#define GUARD_GBA_ISAGBPRINT_H
#ifdef NDEBUG
#define AGBPrintInit()
#define AGBPutc(cChr)
#define AGBPrint(pBuf)
#define AGBPrintf(pBuf, ...)
#define AGBPrintFlush1Block()
#define AGBPrintFlush()
#define AGBAssert(pFile, nLine, pExpression, nStopProgram)
#else
void AGBPrintInit(void);
void AGBPutc(const char cChr);
void AGBPrint(const char *pBuf);
void AGBPrintf(const char *pBuf, ...);
void AGBPrintFlush1Block(void);
void AGBPrintFlush(void);
void AGBAssert(const char *pFile, int nLine, const char *pExpression, int nStopProgram);
#endif
#undef AGB_ASSERT
#ifdef NDEBUG
#define AGB_ASSERT(exp)
#else
#define AGB_ASSERT(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 1);
#endif
#undef AGB_WARNING
#ifdef NDEBUG
#define AGB_WARNING(exp)
#else
#define AGB_WARNING(exp) (exp) ? ((void*)0) : AGBAssert(__FILE__, __LINE__, #exp, 0);
#endif
// for matching purposes
#ifdef NDEBUG
#define AGB_ASSERT_EX(exp, file, line)
#else
#define AGB_ASSERT_EX(exp, file, line) (exp) ? ((void*)0) : AGBAssert(file, line, #exp, 1);
#endif
#ifdef NDEBUG
#define AGB_WARNING_EX(exp, file, line)
#else
#define AGB_WARNING_EX(exp, file, line) (exp) ? ((void*)0) : AGBAssert(file, line, #exp, 0);
#endif
#endif // GUARD_GBA_ISAGBPRINT_H

View File

@@ -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;

View File

@@ -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

View File

@@ -1,8 +1,8 @@
#ifndef GUARD_GLOBAL_H
#define GUARD_GLOBAL_H
#include "config.h" // we need to define config before gba headers as print stuff needs the functions nulled before defines.
#include "gba/gba.h"
#include "config.h"
// Prevent cross-jump optimization.
#define BLOCK_CROSS_JUMP asm("");
@@ -31,11 +31,31 @@ char* strcpy(char *dst0, const char *src0);
#define POKEMON_NAME_LENGTH 10
#define OT_NAME_LENGTH 7
#define HEAP_SIZE 0x1C000
extern u8 gStringVar1[];
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,7 +65,8 @@ enum
VERSION_LEAF_GREEN = 5,
};
enum LanguageId {
enum LanguageId
{
LANGUAGE_JAPANESE = 1,
LANGUAGE_ENGLISH = 2,
LANGUAGE_FRENCH = 3,
@@ -223,7 +244,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
@@ -245,7 +266,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];
@@ -361,10 +382,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;
@@ -494,11 +517,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
{
@@ -596,7 +620,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];

File diff suppressed because it is too large Load Diff

View File

@@ -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 *);

6
include/landmark.h Normal file
View File

@@ -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

View File

@@ -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);

View File

@@ -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

View File

@@ -17,9 +17,9 @@ void m4aMPlayFadeOutTemporarily(struct MusicPlayerInfo *mplayInfo, u16 speed);
void m4aMPlayFadeIn(struct MusicPlayerInfo *mplayInfo, u16 speed);
void m4aMPlayImmInit(struct MusicPlayerInfo *mplayInfo);
extern struct MusicPlayerInfo gMPlay_SE1;
extern struct MusicPlayerInfo gMPlay_SE2;
extern struct MusicPlayerInfo gMPlay_SE3;
extern struct MusicPlayerInfo gMPlayInfo_SE1;
extern struct MusicPlayerInfo gMPlayInfo_SE2;
extern struct MusicPlayerInfo gMPlayInfo_SE3;
extern struct SoundInfo gSoundInfo;
#endif //GUARD_M4A_H

View File

@@ -14,10 +14,20 @@
|| itemId == ITEM_FAB_MAIL \
|| itemId == ITEM_RETRO_MAIL))
// mail.h
void ReadMail(struct MailStruct *mail, void (*callback)(void), bool8 flag);
bool8 MonHasMail(struct Pokemon *mon);
void TakeMailFromMon(struct Pokemon *mon);
u8 GiveMailToMon2(struct Pokemon *mon, struct MailStruct *mail);
// mail_data.h
void ClearMailData(void);
void ClearMailStruct(struct MailStruct *mail);
bool8 MonHasMail(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 TakeMailFromMon(struct Pokemon *mon);
void ClearMailItemId(u8 mailId);
u8 TakeMailFromMon2(struct Pokemon *mon);
bool8 ItemIsMail(u16 itemId);
#endif // GUARD_MAIL_H

View File

@@ -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

View File

@@ -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

View File

@@ -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;
@@ -33,7 +36,9 @@ void copy_decompressed_tile_data_to_vram_autofree(u8 arg0, const void *arg1, boo
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

View File

@@ -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

View File

@@ -16,5 +16,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

View File

@@ -40,6 +40,9 @@ void sub_8084EBC(s16, s16);
void player_avatar_init_params_reset(void);
bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType);
void Overworld_ResetStateAfterTeleport(void);
void Overworld_SetFlashLevel(s32 a1);
//u8 Overworld_GetFlashLevel(void);
void sub_8085524(u16);
@@ -73,4 +76,6 @@ bool32 sub_808766C(void);
void IncrementGameStat(u8);
u32 GetGameStat(u8);
void CB2_OverworldBasic(void);
#endif //GUARD_ROM4_H

View File

@@ -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,
};

View File

@@ -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,8 @@ 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);
u8 GetCursorSelectionMonId(void);
bool8 FieldCallback_Teleport(void);
#endif // GUARD_PARTY_MENU_H

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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);

View File

@@ -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

View File

@@ -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,

View File

@@ -1,7 +1,7 @@
#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);
@@ -11,5 +11,6 @@ void UpdateBirchState(u16 days);
void UpdateFrontierManiac(u16 days);
void UpdateFrontierGambler(u16 days);
void SetShoalItemFlag(u16 days);
u8 oei_task_add(void);
#endif //GUARD_ROM6_H

View File

@@ -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);

View File

@@ -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

View File

@@ -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

View File

@@ -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
{

View File

@@ -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[];
@@ -87,10 +106,73 @@ extern const u8 gText_MoveCloserToLinkPartner[];
extern const u8 gText_CommErrorCheckConnections[];
extern const u8 gText_ABtnTitleScreen[];
extern const u8 gText_ABtnRegistrationCounter[];
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

View File

@@ -3,8 +3,8 @@
struct TilesPal
{
u32* tiles;
u16* pal;
u32 *tiles;
u16 *pal;
};
const struct TilesPal* sub_8098758(u8 id);

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

13
include/unk_transition.h Normal file
View File

@@ -0,0 +1,13 @@
#ifndef GUARD_UNK_TRANSITION_H
#define GUARD_UNK_TRANSITION_H
void Phase2Task_34(u8 taskId);
void Phase2Task_35(u8 taskId);
void Phase2Task_36(u8 taskId);
void Phase2Task_37(u8 taskId);
void Phase2Task_38(u8 taskId);
void Phase2Task_39(u8 taskId);
void Phase2Task_40(u8 taskId);
void Phase2Task_41(u8 taskId);
#endif // GUARD_UNK_TRANSITION_H