Merge remote-tracking branch 'upstream' into tustin2121-patch-5

This commit is contained in:
Marcus Huderle
2020-01-13 20:26:20 -06:00
1553 changed files with 106038 additions and 112232 deletions

View File

@@ -1,22 +0,0 @@
#ifndef GUARD_ALLOC_H
#define GUARD_ALLOC_H
#define HEAP_SIZE 0x1C000
#define malloc Alloc
#define calloc(ct, sz) AllocZeroed((ct) * (sz))
#define free Free
#define FREE_AND_SET_NULL(ptr) \
{ \
free(ptr); \
ptr = NULL; \
}
extern u8 gHeap[];
void *Alloc(u32 size);
void *AllocZeroed(u32 size);
void Free(void *pointer);
void InitHeap(void *pointer, u32 size);
#endif // GUARD_ALLOC_H

View File

@@ -1,21 +1,21 @@
#ifndef GUARD_APPRENTICE_H
#define GUARD_APPRENTICE_H
#define APPRENTICE_SPECIES_COUNT 10
#include "constants/apprentice.h"
struct ApprenticeTrainer
{
u8 name[6][PLAYER_NAME_LENGTH + 1]; // For all six languages.
u8 name[NUM_LANGUAGES - 1][PLAYER_NAME_LENGTH + 1]; // For all languages except the unused one.
u16 otId;
u8 facilityClass;
u16 species[APPRENTICE_SPECIES_COUNT];
u8 id;
u16 easyChatWords[6];
u16 speechLost[EASY_CHAT_BATTLE_WORDS_COUNT];
};
extern const struct ApprenticeTrainer gApprentices[];
void CopyFriendsApprenticeChallengeText(u8 saveblockApprenticeId);
void BufferApprenticeChallengeText(u8 saveApprenticeId);
void Apprentice_EnableBothScriptContexts(void);
void ResetApprenticeStruct(struct Apprentice *apprentice);
void ResetAllApprenticeData(void);

View File

@@ -37,7 +37,6 @@
#define B_ACTION_NONE 0xFF
#define MAX_TRAINER_ITEMS 4
#define MAX_MON_MOVES 4
// array entries for battle communication
#define MULTIUSE_STATE 0x0
@@ -180,19 +179,19 @@ struct AI_ThinkingStruct
u8 aiState;
u8 movesetIndex;
u16 moveConsidered;
s8 score[4];
s8 score[MAX_MON_MOVES];
u32 funcResult;
u32 aiFlags;
u8 aiAction;
u8 aiLogicId;
u8 filler12[6];
u8 simulatedRNG[4];
u8 simulatedRNG[MAX_MON_MOVES];
};
struct UsedMoves
{
u16 moves[MAX_BATTLERS_COUNT];
u16 unknown[MAX_BATTLERS_COUNT];
u16 moves[MAX_MON_MOVES];
u16 unknown[MAX_MON_MOVES];
};
struct BattleHistory
@@ -479,7 +478,7 @@ struct BattleScripting
u8 animArg1;
u8 animArg2;
u16 tripleKickPower;
u8 atk49_state;
u8 moveendState;
u8 battlerWithAbility;
u8 multihitMoveEffect;
u8 battler;
@@ -487,9 +486,9 @@ struct BattleScripting
u8 animTargetsHit;
u8 statChanger;
bool8 statAnimPlayed;
u8 atk23_state;
u8 getexpState;
u8 battleStyle;
u8 atk6C_state;
u8 drawlvlupboxState;
u8 learnMoveState;
u8 field_20;
u8 reshowMainState;

View File

@@ -101,7 +101,7 @@ void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 a2);
s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 a2);
u8 GetBattlerYCoordWithElevation(u8 battlerId);
void WaitAnimForDuration(struct Sprite *sprite);
void sub_80A7938(struct Sprite *sprite);
void AnimSnoreZ(struct Sprite *sprite);
void InitAnimLinearTranslation(struct Sprite *sprite);
void sub_80A6F98(struct Sprite *sprite);
u8 GetBattlerSpriteBGPriority(u8 battlerId);
@@ -141,17 +141,17 @@ bool8 AnimFastTranslateLinear(struct Sprite *sprite);
void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite);
void TranslateMonSpriteLinear(struct Sprite *sprite);
void TranslateSpriteLinear(struct Sprite *sprite);
void sub_80A77C8(struct Sprite *sprite);
void AnimSpriteOnMonPos(struct Sprite *sprite);
void sub_80A7000(struct Sprite *sprite);
void TranslateSpriteInCircleOverDuration(struct Sprite *sprite);
void SetGreyscaleOrOriginalPalette(u16 a1, bool8 a2);
void PrepareAffineAnimInTaskData(struct Task *task, u8 spriteId, const union AffineAnimCmd *affineAnimCmds);
bool8 RunAffineAnimFromTaskData(struct Task *task);
void sub_80A78AC(struct Sprite *sprite);
void AnimThrowProjectile(struct Sprite *sprite);
void sub_80A6BFC(struct BattleAnimBgData *unk, u8 unused);
u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10);
void sub_80A749C(struct Sprite *sprite);
void sub_80A6DEC(struct Sprite *sprite);
void TradeMenuBouncePartySprites(struct Sprite *sprite);
void DestroyAnimVisualTaskAndDisableBlend(u8 taskId);
void DestroySpriteAndFreeResources_(struct Sprite *sprite);
void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId);
@@ -185,7 +185,7 @@ bool8 IsBattlerSpritePresent(u8 battlerId);
void sub_80A6C68(u32 arg0);
u8 GetAnimBattlerSpriteId(u8 wantedBattler);
bool8 IsDoubleBattle(void);
u8 sub_80A6D94(void);
u8 GetBattleBgPaletteNum(void);
u8 GetBattlerSpriteBGPriorityRank(u8 battlerId);
void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*));
void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite);
@@ -221,66 +221,66 @@ void sub_8116EB4(u8);
void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *arg8, const u32 *arg9, const u32 *palette);
// battle_anim_effects_1.c
void sub_810310C(u8 battler, struct Sprite* sprite);
void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite);
void AnimMoveTwisterParticle(struct Sprite* sprite);
// water.c
void sub_8108C94(struct Sprite *sprite);
void AnimWaterPulseRing(struct Sprite *sprite);
// flying.c
void sub_810E2C8(struct Sprite *sprite);
// smokescreen.c
u8 sub_807521C(s16 x, s16 y, u8 a3);
u8 SmokescreenImpact(s16 x, s16 y, u8 a3);
u32 UnpackSelectedBattleAnimPalettes(s16);
u8 GetBattlerSpriteFinal_Y(u8, u16, u8);
extern const struct OamData gUnknown_08524944;
extern const struct OamData gUnknown_08524A8C;
extern const struct OamData gUnknown_08524904;
extern const struct OamData gUnknown_085249C4;
extern const struct OamData gUnknown_0852490C;
extern const struct OamData gUnknown_08524934;
extern const struct OamData gUnknown_08524974;
extern const struct OamData gUnknown_0852499C;
extern const struct OamData gUnknown_085249CC;
extern const struct OamData gUnknown_08524914;
extern const struct OamData gUnknown_0852496C;
extern const struct OamData gUnknown_08524A34;
extern const struct OamData gUnknown_08524A3C;
extern const struct OamData gUnknown_08524A94;
extern const struct OamData gUnknown_08524954;
extern const struct OamData gUnknown_08524AE4;
extern const struct OamData gUnknown_085249D4;
extern const struct OamData gUnknown_08524A9C;
extern const struct OamData gUnknown_08524ADC;
extern const struct OamData gUnknown_08524B14;
extern const struct OamData gUnknown_08524A54;
extern const struct OamData gUnknown_08524A14;
extern const struct OamData gUnknown_08524A1C;
extern const struct OamData gUnknown_085249BC;
extern const struct OamData gUnknown_08524AF4;
extern const struct OamData gUnknown_085249DC;
extern const struct OamData gUnknown_08524AFC;
extern const struct OamData gUnknown_08524B1C;
extern const struct OamData gUnknown_08524A04;
extern const struct OamData gUnknown_08524A2C;
extern const struct OamData gUnknown_08524AEC;
extern const struct OamData gUnknown_08524964;
extern const struct OamData gUnknown_08524B24;
extern const struct OamData gUnknown_08524A24;
extern const struct OamData gUnknown_08524AC4;
extern const struct OamData gUnknown_08524A84;
extern const struct OamData gUnknown_08524A64;
extern const struct OamData gUnknown_0852491C;
extern const struct OamData gUnknown_0852495C;
extern const struct OamData gUnknown_0852497C;
extern const struct OamData gUnknown_085249F4;
extern const struct OamData gUnknown_0852493C;
extern const struct OamData gUnknown_08524A5C;
extern const struct OamData gUnknown_08524A74;
extern const struct OamData gOamData_AffineOff_ObjNormal_8x16;
extern const struct OamData gOamData_AffineNormal_ObjBlend_16x16;
extern const struct OamData gOamData_AffineOff_ObjNormal_8x8;
extern const struct OamData gOamData_AffineDouble_ObjNormal_8x8;
extern const struct OamData gOamData_AffineOff_ObjNormal_16x16;
extern const struct OamData gOamData_AffineOff_ObjNormal_32x16;
extern const struct OamData gOamData_AffineNormal_ObjNormal_32x32;
extern const struct OamData gOamData_AffineNormal_ObjNormal_64x32;
extern const struct OamData gOamData_AffineDouble_ObjNormal_16x16;
extern const struct OamData gOamData_AffineOff_ObjNormal_32x32;
extern const struct OamData gOamData_AffineNormal_ObjNormal_16x16;
extern const struct OamData gOamData_AffineOff_ObjBlend_32x32;
extern const struct OamData gOamData_AffineOff_ObjBlend_64x64;
extern const struct OamData gOamData_AffineNormal_ObjBlend_32x32;
extern const struct OamData gOamData_AffineOff_ObjNormal_16x32;
extern const struct OamData gOamData_AffineDouble_ObjBlend_8x8;
extern const struct OamData gOamData_AffineDouble_ObjNormal_32x32;
extern const struct OamData gOamData_AffineNormal_ObjBlend_64x64;
extern const struct OamData gOamData_AffineNormal_ObjBlend_32x64;
extern const struct OamData gOamData_AffineDouble_ObjBlend_32x16;
extern const struct OamData gOamData_AffineOff_ObjBlend_32x16;
extern const struct OamData gOamData_AffineDouble_ObjNormal_16x32;
extern const struct OamData gOamData_AffineDouble_ObjNormal_32x64;
extern const struct OamData gOamData_AffineNormal_ObjNormal_32x64;
extern const struct OamData gOamData_AffineDouble_ObjBlend_32x32;
extern const struct OamData gOamData_AffineDouble_ObjNormal_64x64;
extern const struct OamData gOamData_AffineDouble_ObjBlend_64x64;
extern const struct OamData gOamData_AffineDouble_ObjBlend_64x32;
extern const struct OamData gOamData_AffineDouble_ObjNormal_8x16;
extern const struct OamData gOamData_AffineOff_ObjBlend_16x16;
extern const struct OamData gOamData_AffineDouble_ObjBlend_16x16;
extern const struct OamData gOamData_AffineNormal_ObjNormal_8x8;
extern const struct OamData gOamData_AffineDouble_ObjBlend_8x16;
extern const struct OamData gOamData_AffineOff_ObjBlend_8x8;
extern const struct OamData gOamData_AffineNormal_ObjBlend_8x16;
extern const struct OamData gOamData_AffineNormal_ObjBlend_8x8;
extern const struct OamData gOamData_AffineOff_ObjBlend_8x16;
extern const struct OamData gOamData_AffineOff_ObjNormal_64x64;
extern const struct OamData gOamData_AffineOff_ObjNormal_32x64;
extern const struct OamData gOamData_AffineNormal_ObjNormal_64x64;
extern const struct OamData gOamData_AffineDouble_ObjNormal_32x16;
extern const struct OamData gOamData_AffineOff_ObjNormal_64x32;
extern const struct OamData gOamData_AffineOff_ObjBlend_64x32;
extern const struct OamData gOamData_AffineOff_ObjBlend_16x32;
extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];

View File

@@ -2,11 +2,11 @@
#define GUARD_BATTLE_BG_H
void BattleInitBgsAndWindows(void);
void sub_80356D0(void);
void InitBattleBgsVideo(void);
void LoadBattleMenuWindowGfx(void);
void DrawMainBattleBackground(void);
void LoadBattleTextboxAndBackground(void);
void sub_8035D74(u8 taskId);
void InitLinkBattleVsScreen(u8 taskId);
void DrawBattleEntryBackground(void);
bool8 LoadChosenBattleElement(u8 caseId);

View File

@@ -97,16 +97,16 @@ struct HpAndStatus
struct MovePpInfo
{
u16 moves[4];
u8 pp[4];
u16 moves[MAX_MON_MOVES];
u8 pp[MAX_MON_MOVES];
u8 ppBonuses;
};
struct ChooseMoveStruct
{
u16 moves[4];
u8 currentPp[4];
u8 maxPp[4];
u16 moves[MAX_MON_MOVES];
u8 currentPp[MAX_MON_MOVES];
u8 maxPp[MAX_MON_MOVES];
u16 species;
u8 monType1;
u8 monType2;
@@ -248,8 +248,8 @@ void nullsub_21(void);
void PlayerHandleGetRawMonData(void);
void sub_80587B0(void);
void sub_805CC00(struct Sprite *sprite);
void SetCB2ToReshowScreenAfterMenu(void);
void SetCB2ToReshowScreenAfterMenu2(void);
void CB2_SetUpReshowBattleScreenAfterMenu(void);
void CB2_SetUpReshowBattleScreenAfterMenu2(void);
void c3_0802FDF4(u8 taskId);
void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused);
void ActionSelectionDestroyCursorAt(u8 cursorPos);

View File

@@ -1,9 +1,9 @@
#ifndef GUARD_BATTLE_DOME_H
#define GUARD_BATTLE_DOME_H
extern u32 gUnknown_0203CD70;
extern u32 gPlayerPartyLostHP;
int GetDomeTrainerMonCountInBits(u16 tournamentTrainerId);
int GetDomeTrainerSelectedMons(u16 tournamentTrainerId);
int TrainerIdToDomeTournamentId(u16 trainerId);
#endif // GUARD_BATTLE_DOME_H

View File

@@ -77,20 +77,20 @@ void sub_803B3AC(void); // unused
void sub_803B598(void); // unused
void BattleTurnPassed(void);
u8 IsRunningFromBattleImpossible(void);
void sub_803BDA0(u8 battlerId);
void SwitchPartyOrder(u8 battlerId);
void SwapTurnOrder(u8 id1, u8 id2);
u8 GetWhoStrikesFirst(u8 battlerId1, u8 battlerId2, bool8 ignoreChosenMoves);
void RunBattleScriptCommands_PopCallbacksStack(void);
void RunBattleScriptCommands(void);
bool8 TryRunFromBattle(u8 battlerId);
extern struct UnknownPokemonStruct4 gUnknown_02022FF8[3];
extern struct UnknownPokemonStruct4 gMultiPartnerParty[MULTI_PARTY_SIZE];
extern const struct SpriteTemplate gUnknown_0831AC88;
extern const struct OamData gOamData_831ACA8;
extern const struct OamData gOamData_831ACB0;
extern const u8 gTypeEffectiveness[336];
extern const u8 gTypeNames[][TYPE_NAME_LENGTH + 1];
extern const u8 gTypeNames[NUMBER_OF_MON_TYPES][TYPE_NAME_LENGTH + 1];
extern const struct TrainerMoney gTrainerMoneyTable[];
extern const u8 gAbilityNames[][ABILITY_NAME_LENGTH + 1];
extern const u8 *const gAbilityDescriptionPointers[];

View File

@@ -213,7 +213,7 @@ struct BattleMsgData
void BufferStringBattle(u16 stringID);
u32 BattleStringExpandPlaceholdersToDisplayedString(const u8* src);
u32 BattleStringExpandPlaceholders(const u8* src, u8* dst);
void BattlePutTextOnWindow(const u8* text, u8 arg1);
void BattlePutTextOnWindow(const u8* text, u8 windowId);
void SetPpNumbersPaletteInMoveSelection(void);
u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp);
@@ -259,7 +259,7 @@ extern const u8 gText_Love[];
extern const u8 gText_SpaceAndSpace[];
extern const u8 gText_CommaSpace[];
extern const u8 gText_Space2[];
extern const u8 gText_ScrollTextUp[];
extern const u8 gText_LineBreak[];
extern const u8 gText_NewLine[];
extern const u8 gText_Are[];
extern const u8 gText_Are2[];

View File

@@ -9,7 +9,7 @@ void GenerateBattlePyramidWildMon(void);
u8 GetPyramidRunMultiplier(void);
u8 InBattlePyramid(void);
bool8 InBattlePyramid_(void);
void sub_81A9E90(void);
void PausePyramidChallenge(void);
void SoftResetInBattlePyramid(void);
void CopyPyramidTrainerSpeechBefore(u16 trainerId);
void CopyPyramidTrainerWinSpeech(u16 trainerId);

View File

@@ -36,15 +36,15 @@ extern struct PyramidBagCursorData gPyramidBagCursorData;
void InitBattlePyramidBagCursorPosition(void);
void CB2_PyramidBagMenuFromStartMenu(void);
void sub_81C4F84(void);
void CB2_ReturnToPyramidBagMenu(void);
void sub_81C5924(void);
void sub_81C59BC(void);
void sub_81C4EFC(void);
void sub_81C4F98(u8 a0, void (*callback)(void));
void sub_81C6714(u8 taskId);
void sub_81C6A94(void);
void sub_81C4F24(void);
void sub_81C5B14(u8 taskId);
void GoToBattlePyramidBagMenu(u8 a0, void (*callback)(void));
void Task_CloseBattlePyramidBagMessage(u8 taskId);
void TryStoreHeldItemsInPyramidBag(void);
void ChooseItemsToTossFromPyramidBag(void);
void CloseBattlePyramidBagAndSetCallback(u8 taskId);
void DisplayItemMessageInBattlePyramid(u8 taskId, const u8 *str, void (*callback)(u8 taskId));
#endif // GUARD_BATTLE_PYRAMID_BAG_H

View File

@@ -4,7 +4,6 @@
#include "gym_leader_rematch.h"
#define REMATCHES_COUNT 5
#define REMATCH_ELITE_FOUR_ENTRIES REMATCH_SIDNEY
struct RematchTrainer
{

View File

@@ -7,9 +7,9 @@ struct RSBattleTowerRecord
/*0x01*/ u8 facilityClass;
/*0x02*/ u16 winStreak;
/*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1];
/*0x0C*/ u8 trainerId[4];
/*0x10*/ u16 greeting[6];
/*0x1C*/ struct BattleTowerPokemon party[3];
/*0x0C*/ u8 trainerId[TRAINER_ID_LENGTH];
/*0x10*/ u16 greeting[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x1C*/ struct BattleTowerPokemon party[FRONTIER_PARTY_SIZE];
/*0xA0*/ u32 checksum;
};
@@ -18,16 +18,16 @@ struct BattleFrontierTrainer
u8 facilityClass;
u8 filler1[3];
u8 trainerName[PLAYER_NAME_LENGTH + 1];
u16 speechBefore[6];
u16 speechWin[6];
u16 speechLose[6];
const u16 *monSets;
u16 speechBefore[EASY_CHAT_BATTLE_WORDS_COUNT];
u16 speechWin[EASY_CHAT_BATTLE_WORDS_COUNT];
u16 speechLose[EASY_CHAT_BATTLE_WORDS_COUNT];
const u16 *monSet;
};
struct FacilityMon
{
u16 species;
u16 moves[4];
u16 moves[MAX_MON_MOVES];
u8 itemTableId;
u8 evSpread;
u8 nature;
@@ -48,8 +48,8 @@ extern u16 gUnknown_03006298[];
extern const struct BattleFrontierTrainer *gFacilityTrainers;
extern const struct FacilityMon *gFacilityTrainerMons;
void sub_8161F74(void);
u16 sub_8162548(u8 challengeNum, u8 battleNum);
void CallBattleTowerFunc(void);
u16 GetRandomScaledFrontierTrainerId(u8 challengeNum, u8 battleNum);
void SetBattleFacilityTrainerGfxId(u16 trainerId, u8 tempVarId);
void SetEReaderTrainerGfxId(void);
u8 GetBattleFacilityTrainerGfxId(u16 trainerId);
@@ -59,7 +59,7 @@ u8 GetFrontierOpponentClass(u16 trainerId);
void GetFrontierTrainerName(u8 *dst, u16 trainerId);
void FillFrontierTrainerParty(u8 monsCount);
void FillFrontierTrainersParties(u8 monsCount);
u16 RandomizeFacilityTrainerMonSet(u16 trainerId);
u16 GetRandomFrontierMonFromSet(u16 trainerId);
void FrontierSpeechToString(const u16 *words);
void DoSpecialTrainerBattle(void);
void CalcEmeraldBattleTowerChecksum(struct EmeraldBattleTowerRecord *record);
@@ -71,7 +71,7 @@ void GetEreaderTrainerName(u8 *dst);
void ValidateEReaderTrainer(void);
void ClearEReaderTrainer(struct BattleTowerEReaderTrainer *ereaderTrainer);
void CopyEReaderTrainerGreeting(void);
void sub_81653CC(void);
void TryHideBattleTowerReporter(void);
bool32 RubyBattleTowerRecordToEmerald(struct RSBattleTowerRecord *src, struct EmeraldBattleTowerRecord *dst);
bool32 EmeraldBattleTowerRecordToRuby(struct EmeraldBattleTowerRecord *src, struct RSBattleTowerRecord *dst);
void CalcApprenticeChecksum(struct Apprentice *apprentice);

View File

@@ -12,7 +12,7 @@
#define ABILITYEFFECT_ENDTURN 0x1
#define ABILITYEFFECT_MOVES_BLOCK 0x2
#define ABILITYEFFECT_ABSORBING 0x3
#define ABILITYEFFECT_MOVE_END 0x4
#define ABILITYEFFECT_ON_DAMAGE 0x4
#define ABILITYEFFECT_IMMUNITY 0x5
#define ABILITYEFFECT_FORECAST 0x6
#define ABILITYEFFECT_SYNCHRONIZE 0x7

View File

@@ -4,7 +4,7 @@
void AllocateBattleResources(void);
void FreeBattleResources(void);
void AdjustFriendshipOnBattleFaint(u8 battler);
void sub_80571DC(u8 battler, u8 arg1);
void SwitchPartyOrderInGameMulti(u8 battler, u8 arg1);
u32 sub_805725C(u8 battler);
#endif // GUARD_BATTLE_UTIL_H

View File

@@ -1,39 +1,6 @@
#ifndef GUARD_BERRY_H
#define GUARD_BERRY_H
#define BERRY_NONE 0
enum
{
BERRY_FIRMNESS_UNKNOWN,
BERRY_FIRMNESS_VERY_SOFT,
BERRY_FIRMNESS_SOFT,
BERRY_FIRMNESS_HARD,
BERRY_FIRMNESS_VERY_HARD,
BERRY_FIRMNESS_SUPER_HARD,
};
enum
{
FLAVOR_SPICY,
FLAVOR_DRY,
FLAVOR_SWEET,
FLAVOR_BITTER,
FLAVOR_SOUR,
FLAVOR_COUNT
};
enum
{
BERRY_STAGE_NO_BERRY, // there is no tree planted and the soil is completely flat.
BERRY_STAGE_PLANTED,
BERRY_STAGE_SPROUTED,
BERRY_STAGE_TALLER,
BERRY_STAGE_FLOWERING,
BERRY_STAGE_BERRIES,
BERRY_STAGE_SPARKLING = 0xFF,
};
void ClearEnigmaBerries(void);
void SetEnigmaBerry(u8 *src);
bool32 IsEnigmaBerryValid(void);

View File

@@ -1,85 +0,0 @@
#ifndef GUARD_BG_H
#define GUARD_BG_H
struct BGCntrlBitfield // for the I/O registers
{
volatile u16 priority:2;
volatile u16 charBaseBlock:2;
volatile u16 field_0_2:4;
volatile u16 field_1_0:5;
volatile u16 areaOverflowMode:1;
volatile u16 screenSize:2;
};
enum
{
BG_ATTR_CHARBASEINDEX = 1,
BG_ATTR_MAPBASEINDEX,
BG_ATTR_SCREENSIZE,
BG_ATTR_PALETTEMODE,
BG_ATTR_MOSAIC,
BG_ATTR_WRAPAROUND,
BG_ATTR_PRIORITY,
BG_ATTR_METRIC,
BG_ATTR_TYPE,
BG_ATTR_BASETILE,
};
struct BgTemplate
{
u16 bg:2; // 0x1, 0x2 -> 0x3
u16 charBaseIndex:2; // 0x4, 0x8 -> 0xC
u16 mapBaseIndex:5; // 0x10, 0x20, 0x40, 0x80, 0x100 -> 0x1F0
u16 screenSize:2; // 0x200, 0x400 -> 0x600
u16 paletteMode:1; // 0x800
u16 priority:2; // 0x1000, 0x2000 > 0x3000
u16 baseTile:10;
};
void ResetBgs(void);
u8 GetBgMode(void);
void ResetBgControlStructs(void);
void Unused_ResetBgControlStruct(u8 bg);
u8 LoadBgVram(u8 bg, const void *src, u16 size, u16 destOffset, u8 mode);
void SetTextModeAndHideBgs(void);
bool8 IsInvalidBg(u8 bg);
int DummiedOutFireRedLeafGreenTileAllocFunc(int a1, int a2, int a3, int a4);
void ResetBgsAndClearDma3BusyFlags(u32 leftoverFireRedLeafGreenVariable);
void InitBgsFromTemplates(u8 bgMode, const struct BgTemplate *templates, u8 numTemplates);
void InitBgFromTemplate(const struct BgTemplate *template);
void SetBgMode(u8 bgMode);
u16 LoadBgTiles(u8 bg, const void* src, u16 size, u16 destOffset);
u16 LoadBgTilemap(u8 bg, const void *src, u16 size, u16 destOffset);
u16 Unused_LoadBgPalette(u8 bg, const void *src, u16 size, u16 destOffset);
bool8 IsDma3ManagerBusyWithBgCopy(void);
void ShowBg(u8 bg);
void HideBg(u8 bg);
void SetBgAttribute(u8 bg, u8 attributeId, u8 value);
u16 GetBgAttribute(u8 bg, u8 attributeId);
s32 ChangeBgX(u8 bg, s32 value, u8 op);
s32 GetBgX(u8 bg);
s32 ChangeBgY(u8 bg, s32 value, u8 op);
s32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op);
s32 GetBgY(u8 bg);
void SetBgAffine(u8 bg, s32 srcCenterX, s32 srcCenterY, s16 dispCenterX, s16 dispCenterY, s16 scaleX, s16 scaleY, u16 rotationAngle);
u8 Unused_AdjustBgMosaic(u8 a1, u8 a2);
void SetBgTilemapBuffer(u8 bg, void *tilemap);
void UnsetBgTilemapBuffer(u8 bg);
void* GetBgTilemapBuffer(u8 bg);
void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset);
void CopyBgTilemapBufferToVram(u8 bg);
void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height);
void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, const void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette);
void CopyRectToBgTilemapBufferRect(u8 bg, const void *src, u8 srcX, u8 srcY, u8 srcWidth, u8 unused, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, s16 palette1, s16 tileOffset);
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);
u16 GetBgMetricTextMode(u8 bg, u8 whichMetric);
u32 GetBgMetricAffineMode(u8 bg, u8 whichMetric);
u32 GetTileMapIndexFromCoords(s32 x, s32 y, s32 screenSize, u32 screenWidth, u32 screenHeight);
void CopyTileMapEntry(const u16 *src, u16 *dest, s32 palette1, s32 tileOffset, s32 palette2);
u32 GetBgType(u8 bg);
bool32 IsInvalidBg32(u8 bg);
bool32 IsTileMapOutsideWram(u8 bg);
#endif // GUARD_BG_H

View File

@@ -1,17 +0,0 @@
#ifndef GUARD_BLIT_H
#define GUARD_BLIT_H
struct Bitmap
{
u8 *pixels;
u32 width:16;
u32 height:16;
};
void BlitBitmapRect4BitWithoutColorKey(const struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height);
void BlitBitmapRect4Bit(const struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey);
void FillBitmapRect4Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue);
void BlitBitmapRect4BitTo8Bit(const struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey, u8 paletteOffset);
void FillBitmapRect8Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue);
#endif // GUARD_BLIT_H

View File

@@ -6,7 +6,7 @@ void ShowCoinsWindow(u32 coinAmount, u8 x, u8 y);
void HideCoinsWindow(void);
u16 GetCoins(void);
void SetCoins(u16 coinAmount);
bool8 GiveCoins(u16 toAdd);
bool8 TakeCoins(u16 toSub);
bool8 AddCoins(u16 toAdd);
bool8 RemoveCoins(u16 toSub);
#endif // GUARD_COINS_H

View File

@@ -1,22 +1,90 @@
#ifndef GUARD_CONSTANTS_APPRENTICE_H
#define GUARD_CONSTANTS_APPRENTICE_H
#define APPRENTICE_ASK_WHICH_LEVEL 0
#define APPRENTICE_ASK_3SPECIES 1
#define APPRENTICE_ASK_2SPECIES 2
#define APPRENTICE_ASK_MOVES 3
#define APPRENTICE_ASK_GIVE 4
#define APPRENTICE_ASK_YES_NO 6
#define NUM_APPRENTICES 16
#define APPRENTICE_SPECIES_COUNT 10
#define APPRENTICE_BUFF_SPECIES1 0
#define APPRENTICE_BUFF_SPECIES2 1
#define APPRENTICE_BUFF_SPECIES3 2
#define APPRENTICE_BUFF_MOVE1 3
#define APPRENTICE_BUFF_MOVE2 4
#define APPRENTICE_BUFF_ITEM 5
#define APPRENTICE_BUFF_NAME 6
#define APPRENTICE_BUFF_EASY_CHAT 7
#define APPRENTICE_BUFF_LEVEL 8
#define APPRENTICE_BUFF_SPECIES4 9
#define NUM_WHICH_MON_QUESTIONS MULTI_PARTY_SIZE
#define NUM_WHICH_MOVE_QUESTIONS 5
// + 2 below is 1 each for the lead mon question and the win speech question
#define MAX_APPRENTICE_QUESTIONS NUM_WHICH_MON_QUESTIONS + NUM_WHICH_MOVE_QUESTIONS + 2
#define APPRENTICE_LVL_MODE_50 (FRONTIER_LVL_50 + 1)
#define APPRENTICE_LVL_MODE_OPEN (FRONTIER_LVL_OPEN + 1)
#define APPRENTICE_FUNC_GAVE_LVLMODE 0
#define APPRENTICE_FUNC_SET_LVLMODE 1
#define APPRENTICE_FUNC_SET_ID 2
#define APPRENTICE_FUNC_SHUFFLE_SPECIES 3
#define APPRENTICE_FUNC_RANDOMIZE_QUESTIONS 4
#define APPRENTICE_FUNC_ANSWERED_QUESTION 5
#define APPRENTICE_FUNC_IS_FINAL_QUESTION 6
#define APPRENTICE_FUNC_MENU 7
#define APPRENTICE_FUNC_PRINT_MSG 8
#define APPRENTICE_FUNC_RESET 9
#define APPRENTICE_FUNC_CHECK_GONE 10
#define APPRENTICE_FUNC_GET_QUESTION 11
#define APPRENTICE_FUNC_GET_NUM_PARTY_MONS 12
#define APPRENTICE_FUNC_SET_PARTY_MON 13
#define APPRENTICE_FUNC_INIT_QUESTION_DATA 14
#define APPRENTICE_FUNC_FREE_QUESTION_DATA 15
#define APPRENTICE_FUNC_BUFFER_STRING 16
#define APPRENTICE_FUNC_SET_MOVE 17
#define APPRENTICE_FUNC_SET_LEAD_MON 18
#define APPRENTICE_FUNC_OPEN_BAG 19
#define APPRENTICE_FUNC_TRY_SET_HELD_ITEM 20
#define APPRENTICE_FUNC_SAVE 21
#define APPRENTICE_FUNC_SET_GFX_SAVED 22
#define APPRENTICE_FUNC_SET_GFX 23
#define APPRENTICE_FUNC_SHOULD_LEAVE 24
#define APPRENTICE_FUNC_SHIFT_SAVED 25
#define APPRENTICE_MSG_PLEASE_TEACH 0
#define APPRENTICE_MSG_REJECT 1
#define APPRENTICE_MSG_WHICH_LVL_MODE 2
#define APPRENTICE_MSG_THANKS_LVL_MODE 3
#define APPRENTICE_MSG_WHICH_MON_FIRST 4
#define APPRENTICE_MSG_THANKS_MON_FIRST 5
#define APPRENTICE_MSG_WHICH_MON 6
#define APPRENTICE_MSG_THANKS_MON 7
#define APPRENTICE_MSG_WHICH_MOVE 8
#define APPRENTICE_MSG_THANKS_MOVE 9
#define APPRENTICE_MSG_WHAT_HELD_ITEM 10
#define APPRENTICE_MSG_PICK_WIN_SPEECH 11
#define APPRENTICE_MSG_THANKS_HELD_ITEM 12
#define APPRENTICE_MSG_HOLD_NOTHING 13
#define APPRENTICE_MSG_THANKS_NO_HELD_ITEM 14
#define APPRENTICE_MSG_THANKS_WIN_SPEECH 15
#define APPRENTICE_MSG_ITEM_ALREADY_SUGGESTED 16
#define APPRENTICE_QUESTION_WHICH_FIRST 1
#define APPRENTICE_QUESTION_WHICH_MON 2
#define APPRENTICE_QUESTION_WHICH_MOVE 3
#define APPRENTICE_QUESTION_WHAT_ITEM 4
#define APPRENTICE_QUESTION_WIN_SPEECH 5
// Would be redundant with the above set if they used the same values
#define QUESTION_ID_WIN_SPEECH 0
#define QUESTION_ID_WHAT_ITEM 1
#define QUESTION_ID_WHICH_MOVE 2
#define QUESTION_ID_WHICH_FIRST 3
#define APPRENTICE_ASK_WHICH_LEVEL 0
#define APPRENTICE_ASK_3SPECIES 1
#define APPRENTICE_ASK_2SPECIES 2
#define APPRENTICE_ASK_MOVES 3
#define APPRENTICE_ASK_GIVE 4
#define APPRENTICE_ASK_YES_NO 6
#define APPRENTICE_BUFF_SPECIES1 0
#define APPRENTICE_BUFF_SPECIES2 1
#define APPRENTICE_BUFF_SPECIES3 2
#define APPRENTICE_BUFF_MOVE1 3
#define APPRENTICE_BUFF_MOVE2 4
#define APPRENTICE_BUFF_ITEM 5
#define APPRENTICE_BUFF_NAME 6
#define APPRENTICE_BUFF_WIN_SPEECH 7
#define APPRENTICE_BUFF_LEVEL 8
#define APPRENTICE_BUFF_LEAD_MON_SPECIES 9
#endif // GUARD_CONSTANTS_APPRENTICE_H

View File

@@ -237,7 +237,7 @@
#define ANIM_TAG_SPOTLIGHT (ANIM_SPRITES_START + 227)
#define ANIM_TAG_LETTER_Z (ANIM_SPRITES_START + 228)
#define ANIM_TAG_RAPID_SPIN (ANIM_SPRITES_START + 229)
#define ANIM_TAG_TRI_FORCE_TRIANGLE (ANIM_SPRITES_START + 230)
#define ANIM_TAG_TRI_ATTACK_TRIANGLE (ANIM_SPRITES_START + 230)
#define ANIM_TAG_WISP_ORB (ANIM_SPRITES_START + 231)
#define ANIM_TAG_WISP_FIRE (ANIM_SPRITES_START + 232)
#define ANIM_TAG_GOLD_STARS (ANIM_SPRITES_START + 233)

View File

@@ -0,0 +1,20 @@
#ifndef GUARD_CONSTANTS_BATTLE_ARENA_H
#define GUARD_CONSTANTS_BATTLE_ARENA_H
#define BATTLE_ARENA_FUNC_INIT 0
#define BATTLE_ARENA_FUNC_GET_DATA 1
#define BATTLE_ARENA_FUNC_SET_DATA 2
#define BATTLE_ARENA_FUNC_SAVE 3
#define BATTLE_ARENA_FUNC_SET_PRIZE 4
#define BATTLE_ARENA_FUNC_GIVE_PRIZE 5
#define BATTLE_ARENA_FUNC_GET_TRAINER_NAME 6
#define ARENA_DATA_PRIZE 0
#define ARENA_DATA_WIN_STREAK 1
#define ARENA_DATA_WIN_STREAK_ACTIVE 2
#define ARENA_CATEGORY_MIND 0
#define ARENA_CATEGORY_SKILL 1
#define ARENA_CATEGORY_BODY 2
#endif //GUARD_CONSTANTS_BATTLE_ARENA_H

View File

@@ -0,0 +1,163 @@
#ifndef GUARD_CONSTANTS_BATTLE_DOME_H
#define GUARD_CONSTANTS_BATTLE_DOME_H
#define DOME_ROUND1 0
#define DOME_ROUND2 1
#define DOME_SEMIFINAL 2
#define DOME_FINAL 3
#define DOME_ROUNDS_COUNT 4
//#define DOME_TOURNAMENT_TRAINERS_COUNT 16 -- defined in global
#define DOME_TOURNAMENT_MATCHES_COUNT DOME_TOURNAMENT_TRAINERS_COUNT - 1
#define DOME_BATTLE_PARTY_SIZE 2
#define DOME_PLAYER_WON_MATCH 1
#define DOME_PLAYER_LOST_MATCH 2
#define DOME_PLAYER_RETIRED 9
#define BATTLE_DOME_FUNC_INIT 0
#define BATTLE_DOME_FUNC_GET_DATA 1
#define BATTLE_DOME_FUNC_SET_DATA 2
#define BATTLE_DOME_FUNC_GET_ROUND_TEXT 3
#define BATTLE_DOME_FUNC_GET_OPPONENT_NAME 4
#define BATTLE_DOME_FUNC_INIT_OPPONENT_PARTY 5
#define BATTLE_DOME_FUNC_SHOW_OPPONENT_INFO 6
#define BATTLE_DOME_FUNC_SHOW_TOURNEY_TREE 7
#define BATTLE_DOME_FUNC_SHOW_PREV_TOURNEY_TREE 8
#define BATTLE_DOME_FUNC_SET_OPPONENT_ID 9
#define BATTLE_DOME_FUNC_SET_OPPONENT_GFX 10
#define BATTLE_DOME_FUNC_SHOW_STATIC_TOURNEY_TREE 11
#define BATTLE_DOME_FUNC_RESOLVE_WINNERS 12
#define BATTLE_DOME_FUNC_SAVE 13
#define BATTLE_DOME_FUNC_INCREMENT_STREAK 14
#define BATTLE_DOME_FUNC_SET_TRAINERS 15
#define BATTLE_DOME_FUNC_RESET_SKETCH 16
#define BATTLE_DOME_FUNC_RESTORE_HELD_ITEMS 17
#define BATTLE_DOME_FUNC_REDUCE_PARTY 18
#define BATTLE_DOME_FUNC_COMPARE_SEEDS 19
#define BATTLE_DOME_FUNC_GET_WINNER_NAME 20
#define BATTLE_DOME_FUNC_INIT_RESULTS_TREE 21
#define BATTLE_DOME_FUNC_INIT_TRAINERS 22
#define DOME_DATA_WIN_STREAK 0
#define DOME_DATA_WIN_STREAK_ACTIVE 1
#define DOME_DATA_ATTEMPTED_SINGLES_50 2
#define DOME_DATA_ATTEMPTED_SINGLES_OPEN 3
#define DOME_DATA_HAS_WON_SINGLES_50 4
#define DOME_DATA_HAS_WON_SINGLES_OPEN 5
#define DOME_DATA_ATTEMPTED_CHALLENGE 6
#define DOME_DATA_HAS_WON_CHALLENGE 7
#define DOME_DATA_SELECTED_MONS 8
#define DOME_DATA_PREV_TOURNEY_TYPE 9
// ID for Exit/Cancel on the tourney tree
#define TOURNEY_TREE_CLOSE_BUTTON 31
// Input IDs on the tourney tree
#define TOURNEY_TREE_SELECTED_CLOSE 0
#define TOURNEY_TREE_NO_SELECTION 1
#define TOURNEY_TREE_SELECTED_TRAINER 2
#define TOURNEY_TREE_SELECTED_MATCH 3
// Modes for showing the tourney tree info card
#define INFOCARD_NEXT_OPPONENT 0
#define INFOCARD_TRAINER 1
#define INFOCARD_MATCH 2
// Input IDs for the info cards
#define INFOCARD_INPUT_NONE 0
#define TRAINERCARD_INPUT_UP 1
#define TRAINERCARD_INPUT_DOWN 2
#define TRAINERCARD_INPUT_LEFT 3
#define TRAINERCARD_INPUT_RIGHT 4
#define MATCHCARD_INPUT_UP 5
#define MATCHCARD_INPUT_DOWN 6
#define MATCHCARD_INPUT_LEFT 7
#define MATCHCARD_INPUT_RIGHT 8
#define INFOCARD_INPUT_AB 9
#define CARD_ALTERNATE_SLOT (1 << 0) // When set, uses an alternate slot to store the incoming card sprites
#define MOVE_CARD_RIGHT (1 << 1)
#define MOVE_CARD_DOWN (1 << 2)
#define MOVE_CARD_LEFT (1 << 3)
#define MOVE_CARD_UP (1 << 4)
#define MOVE_CARD (MOVE_CARD_RIGHT | MOVE_CARD_DOWN | MOVE_CARD_LEFT | MOVE_CARD_UP)
// Text IDs for sBattleDomeWinTexts
#define DOME_TEXT_NO_WINNER_YET 0
#define DOME_TEXT_WON_USING_MOVE 1
#define DOME_TEXT_CHAMP_USING_MOVE 2
#define DOME_TEXT_WON_ON_FORFEIT 3
#define DOME_TEXT_CHAMP_ON_FORFEIT 4
#define DOME_TEXT_WON_NO_MOVES 5
#define DOME_TEXT_CHAMP_NO_MOVES 6
// Offsets/start positions within sBattleDomeOpponentStatsTexts
#define DOME_TEXT_TWO_GOOD_STATS 0
#define DOME_TEXT_ONE_GOOD_STAT 15
#define DOME_TEXT_TWO_BAD_STATS 21
#define DOME_TEXT_ONE_BAD_STAT 36
#define DOME_TEXT_WELL_BALANCED 42
#define DOME_TEXT_HP 0
#define DOME_TEXT_ATK 5
#define DOME_TEXT_DEF 9
#define DOME_TEXT_SPEED 12
#define DOME_TEXT_SPATK 14
// Move point indexes for sBattleStyleMovePoints[][], to determine Battle Dome trainers battle styles
#define MOVE_POINTS_COMBO 0 // Moves that work well in combination (e.g. Rain Dance + Hydro Pump)
#define MOVE_POINTS_STAT_RAISE 1
#define MOVE_POINTS_STAT_LOWER 2
#define MOVE_POINTS_RARE 3 // Uncommon moves. Mostly arbitrary
#define MOVE_POINTS_HEAL 4
#define MOVE_POINTS_RISKY 5
#define MOVE_POINTS_STATUS 6
#define MOVE_POINTS_DMG 7
#define MOVE_POINTS_DEF 8 // Defensive moves, like Amnesia, Light Screen, or accuracy-lowers
#define MOVE_POINTS_ACCURATE 9
#define MOVE_POINTS_POWERFUL 10 // Most of the moves that are >= 100 power
#define MOVE_POINTS_POPULAR 11 // Group seems arbitrary. All using it are TM/HMs, but its only 11/58
#define MOVE_POINTS_LUCK 12
#define MOVE_POINTS_STRONG 13 // Most of the moves that are >= 90 power
#define MOVE_POINTS_LOW_PP 14
#define MOVE_POINTS_EFFECT 15 // Moves with additional effects
#define NUM_MOVE_POINT_TYPES 16
// Battle style IDs for sBattleDomeOpponentStyleTexts
#define DOME_BATTLE_STYLE_RISKY 0
#define DOME_BATTLE_STYLE_STALL 1
#define DOME_BATTLE_STYLE_VARIED 2
#define DOME_BATTLE_STYLE_COMBO_HIGH 3
#define DOME_BATTLE_STYLE_RARE_MOVES 4
#define DOME_BATTLE_STYLE_RARE_MOVE 5
#define DOME_BATTLE_STYLE_HP 6
#define DOME_BATTLE_STYLE_STORE_POWER 7
#define DOME_BATTLE_STYLE_ENFEEBLE_LOW 8
#define DOME_BATTLE_STYLE_LUCK 9
#define DOME_BATTLE_STYLE_REGAL 10
#define DOME_BATTLE_STYLE_LOW_PP 11
#define DOME_BATTLE_STYLE_STATUS_ATK 12
#define DOME_BATTLE_STYLE_ENDURE 13
#define DOME_BATTLE_STYLE_STATUS 14
#define DOME_BATTLE_STYLE_STRAIGHTFORWARD 15
#define DOME_BATTLE_STYLE_AGGRESSIVE 16
#define DOME_BATTLE_STYLE_DEF 17
#define DOME_BATTLE_STYLE_ENFEEBLE_HIGH 18
#define DOME_BATTLE_STYLE_POPULAR_POWER 19
#define DOME_BATTLE_STYLE_COMBO_LOW 20
#define DOME_BATTLE_STYLE_ACCURATE 21
#define DOME_BATTLE_STYLE_POWERFUL 22
#define DOME_BATTLE_STYLE_ATK_OVER_DEF 23
#define DOME_BATTLE_STYLE_DEF_OVER_ATK 24
#define DOME_BATTLE_STYLE_POPULAR_STRONG 25
#define DOME_BATTLE_STYLE_EFFECTS 26
#define DOME_BATTLE_STYLE_BALANCED 27
#define DOME_BATTLE_STYLE_UNUSED1 28
#define DOME_BATTLE_STYLE_UNUSED2 29
#define DOME_BATTLE_STYLE_UNUSED3 30
#define DOME_BATTLE_STYLE_UNUSED4 31
#define NUM_BATTLE_STYLES 32
#endif //GUARD_CONSTANTS_BATTLE_DOME_H

View File

@@ -0,0 +1,37 @@
#ifndef GUARD_CONSTANTS_BATTLE_FACTORY_H
#define GUARD_CONSTANTS_BATTLE_FACTORY_H
#define FACTORY_STYLE_NONE 0
#define FACTORY_STYLE_PREPARATION 1
#define FACTORY_STYLE_SLOW_STEADY 2
#define FACTORY_STYLE_ENDURANCE 3
#define FACTORY_STYLE_HIGH_RISK 4
#define FACTORY_STYLE_WEAKENING 5
#define FACTORY_STYLE_UNPREDICTABLE 6
#define FACTORY_STYLE_WEATHER 7
#define FACTORY_NUM_STYLES 8
#define BATTLE_FACTORY_FUNC_INIT 0
#define BATTLE_FACTORY_FUNC_GET_DATA 1
#define BATTLE_FACTORY_FUNC_SET_DATA 2
#define BATTLE_FACTORY_FUNC_SAVE 3
#define BATTLE_FACTORY_FUNC_NULL 4
#define BATTLE_FACTORY_FUNC_NULL2 5
#define BATTLE_FACTORY_FUNC_SELECT_RENT_MONS 6
#define BATTLE_FACTORY_FUNC_SWAP_RENT_MONS 7
#define BATTLE_FACTORY_FUNC_SET_SWAPPED 8
#define BATTLE_FACTORY_FUNC_SET_OPPONENT_MONS 9
#define BATTLE_FACTORY_FUNC_SET_PARTIES 10
#define BATTLE_FACTORY_FUNC_SET_OPPONENT_GFX 11
#define BATTLE_FACTORY_FUNC_GENERATE_OPPONENT_MONS 12
#define BATTLE_FACTORY_FUNC_GENERATE_RENTAL_MONS 13
#define BATTLE_FACTORY_FUNC_GET_OPPONENT_MON_TYPE 14
#define BATTLE_FACTORY_FUNC_GET_OPPONENT_STYLE 15
#define BATTLE_FACTORY_FUNC_RESET_HELD_ITEMS 16
#define FACTORY_DATA_WIN_STREAK 1
#define FACTORY_DATA_WIN_STREAK_ACTIVE 2
#define FACTORY_DATA_WIN_STREAK_SWAPS 3
#endif // GUARD_CONSTANTS_BATTLE_FACTORY_H

View File

@@ -1,32 +1,39 @@
#ifndef GUARD_CONSTANTS_BATTLE_FRONTIER_H
#define GUARD_CONSTANTS_BATTLE_FRONTIER_H
// Battle Frontier facility ids.
#define FRONTIER_FACILITY_TOWER 0
#define FRONTIER_FACILITY_DOME 1
#define FRONTIER_FACILITY_PALACE 2
#define FRONTIER_FACILITY_ARENA 3
#define FRONTIER_FACILITY_FACTORY 4
#define FRONTIER_FACILITY_PIKE 5
#define FRONTIER_FACILITY_PYRAMID 6
#define NUM_FRONTIER_FACILITIES 7
// The multiplayer battle colosseum rooms re-use VAR_FRONTIER_FACILITY.
#define FRONTIER_FACILITY_DOUBLE_COLOSSEUM 9
#define FRONTIER_CHALLENGE(facility, mode) ((facility << 8) + mode)
#define TENT_VERDANTURF 2
#define TENT_FALLARBOR 3
#define TENT_SLATEPORT 4
// Battle Frontier facility ids.
#define FRONTIER_FACILITY_TOWER 0
#define FRONTIER_FACILITY_DOME 1
#define FRONTIER_FACILITY_PALACE 2 // also Verdanturf Tent
#define FRONTIER_FACILITY_ARENA 3 // also Fallarbor Tent
#define FRONTIER_FACILITY_FACTORY 4 // also Slateport Tent
#define FRONTIER_FACILITY_PIKE 5
#define FRONTIER_FACILITY_PYRAMID 6
#define NUM_FRONTIER_FACILITIES 7
// VAR_FRONTIER_FACILITY is re-used for the below facilities as well
#define FACILITY_LINK_CONTEST 7
#define FACILITY_UNION_ROOM 8
#define FACILITY_MULTI_OR_EREADER 9 // Direct Corner multi battles, multi battle with Steven, and e-Reader battles
// Battle Frontier lvl modes.
#define FRONTIER_LVL_50 0
#define FRONTIER_LVL_50 0
#define FRONTIER_LVL_OPEN 1
#define FRONTIER_LVL_TENT 2
// Battle Frontier battle modes.
#define FRONTIER_MODE_SINGLES 0
#define FRONTIER_MODE_DOUBLES 1
#define FRONTIER_MODE_MULTIS 2
#define FRONTIER_MODE_LINK_MULTIS 3
#define FRONTIER_MODE_SINGLES 0
#define FRONTIER_MODE_DOUBLES 1
#define FRONTIER_MODE_MULTIS 2
#define FRONTIER_MODE_LINK_MULTIS 3
#define FRONTIER_MODE_COUNT 4
// Challenge Statuses
#define CHALLENGE_STATUS_SAVING 1
#define CHALLENGE_STATUS_PAUSED 2
#define CHALLENGE_STATUS_WON 3
#define CHALLENGE_STATUS_LOST 4
// Special trainer battles.
#define SPECIAL_BATTLE_TOWER 0
@@ -41,8 +48,53 @@
#define SPECIAL_BATTLE_PIKE_DOUBLE 9
#define SPECIAL_BATTLE_PYRAMID 10
// For 'ShowFacilityResultsWindow' function which is a part of the 'CallFrontierUtilFunc' special.
#define RESULTS_LINK_CONTEST 7
#define MAX_BATTLE_FRONTIER_POINTS 9999
#define MAX_STREAK 9999
// These sets of facility ids would be redunant if the order was consistent
// The order is important for this set so that all the non-link records can be continuous
#define RANKING_HALL_BATTLE_TOWER_SINGLES 0
#define RANKING_HALL_BATTLE_TOWER_DOUBLES 1
#define RANKING_HALL_BATTLE_TOWER_MULTIS 2
#define RANKING_HALL_BATTLE_DOME 3
#define RANKING_HALL_BATTLE_PALACE 4
#define RANKING_HALL_BATTLE_ARENA 5
#define RANKING_HALL_BATTLE_FACTORY 6
#define RANKING_HALL_BATTLE_PIKE 7
#define RANKING_HALL_BATTLE_PYRAMID 8
#define RANKING_HALL_BATTLE_TOWER_LINK 9
#define FRONTIER_MANIAC_BATTLE_TOWER_SINGLES 0
#define FRONTIER_MANIAC_BATTLE_TOWER_DOUBLES 1
#define FRONTIER_MANIAC_BATTLE_TOWER_MULTIS 2
#define FRONTIER_MANIAC_BATTLE_TOWER_LINK 3
#define FRONTIER_MANIAC_BATTLE_DOME 4
#define FRONTIER_MANIAC_BATTLE_FACTORY 5
#define FRONTIER_MANIAC_BATTLE_PALACE 6
#define FRONTIER_MANIAC_BATTLE_ARENA 7
#define FRONTIER_MANIAC_BATTLE_PIKE 8
#define FRONTIER_MANIAC_BATTLE_PYRAMID 9
#define FRONTIER_MANIAC_FACILITY_COUNT 10
#define FRONTIER_MANIAC_MESSAGE_COUNT 3
// Frontier Gambler
#define FRONTIER_GAMBLER_WAITING 0
#define FRONTIER_GAMBLER_PLACED_BET 1
#define FRONTIER_GAMBLER_WON 2
#define FRONTIER_GAMBLER_LOST 3
#define FRONTIER_GAMBLER_BET_5 0
#define FRONTIER_GAMBLER_BET_10 1
#define FRONTIER_GAMBLER_BET_15 2
#define FRONTIER_GAMBLER_BET_CANCEL 3
#define FRONTIER_GAMBLER_CHALLENGE_COUNT 12
#define EXCHANGE_CORNER_DECOR1_CLERK 0
#define EXCHANGE_CORNER_DECOR2_CLERK 1
#define EXCHANGE_CORNER_VITAMIN_CLERK 2
#define EXCHANGE_CORNER_HOLD_ITEM_CLERK 3
#define F_EV_SPREAD_HP (1 << 0)
#define F_EV_SPREAD_ATTACK (1 << 1)

View File

@@ -0,0 +1,899 @@
#ifndef GUARD_CONSTANTS_BATTLE_FRONTIER_MONS_H
#define GUARD_CONSTANTS_BATTLE_FRONTIER_MONS_H
#define FRONTIER_MON_SUNKERN 0
#define FRONTIER_MON_AZURILL 1
#define FRONTIER_MON_CATERPIE 2
#define FRONTIER_MON_WEEDLE 3
#define FRONTIER_MON_WURMPLE 4
#define FRONTIER_MON_RALTS 5
#define FRONTIER_MON_MAGIKARP 6
#define FRONTIER_MON_FEEBAS 7
#define FRONTIER_MON_METAPOD 8
#define FRONTIER_MON_KAKUNA 9
#define FRONTIER_MON_PICHU 10
#define FRONTIER_MON_SILCOON 11
#define FRONTIER_MON_CASCOON 12
#define FRONTIER_MON_IGGLYBUFF 13
#define FRONTIER_MON_WOOPER 14
#define FRONTIER_MON_TYROGUE 15
#define FRONTIER_MON_SENTRET 16
#define FRONTIER_MON_CLEFFA 17
#define FRONTIER_MON_SEEDOT 18
#define FRONTIER_MON_LOTAD 19
#define FRONTIER_MON_POOCHYENA 20
#define FRONTIER_MON_SHEDINJA 21
#define FRONTIER_MON_MAKUHITA 22
#define FRONTIER_MON_WHISMUR 23
#define FRONTIER_MON_ZIGZAGOON 24
#define FRONTIER_MON_ZUBAT 25
#define FRONTIER_MON_TOGEPI 26
#define FRONTIER_MON_SPINARAK 27
#define FRONTIER_MON_MARILL 28
#define FRONTIER_MON_HOPPIP 29
#define FRONTIER_MON_SLUGMA 30
#define FRONTIER_MON_SWINUB 31
#define FRONTIER_MON_SMEARGLE 32
#define FRONTIER_MON_PIDGEY 33
#define FRONTIER_MON_RATTATA 34
#define FRONTIER_MON_WYNAUT 35
#define FRONTIER_MON_SKITTY 36
#define FRONTIER_MON_SPEAROW 37
#define FRONTIER_MON_HOOTHOOT 38
#define FRONTIER_MON_DIGLETT 39
#define FRONTIER_MON_LEDYBA 40
#define FRONTIER_MON_NINCADA 41
#define FRONTIER_MON_SURSKIT 42
#define FRONTIER_MON_JIGGLYPUFF 43
#define FRONTIER_MON_TAILLOW 44
#define FRONTIER_MON_WINGULL 45
#define FRONTIER_MON_NIDORAN_M 46
#define FRONTIER_MON_NIDORAN_F 47
#define FRONTIER_MON_KIRLIA 48
#define FRONTIER_MON_MAREEP 49
#define FRONTIER_MON_MEDITITE 50
#define FRONTIER_MON_SLAKOTH 51
#define FRONTIER_MON_PARAS 52
#define FRONTIER_MON_EKANS 53
#define FRONTIER_MON_DITTO 54
#define FRONTIER_MON_BARBOACH 55
#define FRONTIER_MON_MEOWTH 56
#define FRONTIER_MON_PINECO 57
#define FRONTIER_MON_TRAPINCH 58
#define FRONTIER_MON_SPHEAL 59
#define FRONTIER_MON_HORSEA 60
#define FRONTIER_MON_SHROOMISH 61
#define FRONTIER_MON_SHUPPET 62
#define FRONTIER_MON_DUSKULL 63
#define FRONTIER_MON_ELECTRIKE 64
#define FRONTIER_MON_VULPIX 65
#define FRONTIER_MON_PIKACHU 66
#define FRONTIER_MON_SANDSHREW 67
#define FRONTIER_MON_POLIWAG 68
#define FRONTIER_MON_BELLSPROUT 69
#define FRONTIER_MON_GEODUDE 70
#define FRONTIER_MON_DRATINI 71
#define FRONTIER_MON_SNUBBULL 72
#define FRONTIER_MON_REMORAID 73
#define FRONTIER_MON_LARVITAR 74
#define FRONTIER_MON_BALTOY 75
#define FRONTIER_MON_SNORUNT 76
#define FRONTIER_MON_BAGON 77
#define FRONTIER_MON_BELDUM 78
#define FRONTIER_MON_GULPIN 79
#define FRONTIER_MON_VENONAT 80
#define FRONTIER_MON_MANKEY 81
#define FRONTIER_MON_MACHOP 82
#define FRONTIER_MON_SHELLDER 83
#define FRONTIER_MON_SMOOCHUM 84
#define FRONTIER_MON_NUMEL 85
#define FRONTIER_MON_CARVANHA 86
#define FRONTIER_MON_CORPHISH 87
#define FRONTIER_MON_CHARMANDER 88
#define FRONTIER_MON_CYNDAQUIL 89
#define FRONTIER_MON_ABRA 90
#define FRONTIER_MON_DODUO 91
#define FRONTIER_MON_GASTLY 92
#define FRONTIER_MON_SWABLU 93
#define FRONTIER_MON_TREECKO 94
#define FRONTIER_MON_TORCHIC 95
#define FRONTIER_MON_MUDKIP 96
#define FRONTIER_MON_SQUIRTLE 97
#define FRONTIER_MON_TOTODILE 98
#define FRONTIER_MON_SLOWPOKE 99
#define FRONTIER_MON_BULBASAUR 100
#define FRONTIER_MON_CHIKORITA 101
#define FRONTIER_MON_ODDISH 102
#define FRONTIER_MON_PSYDUCK 103
#define FRONTIER_MON_CUBONE 104
#define FRONTIER_MON_GOLDEEN 105
#define FRONTIER_MON_NATU 106
#define FRONTIER_MON_CLEFAIRY 107
#define FRONTIER_MON_MAGNEMITE 108
#define FRONTIER_MON_SEEL 109
#define FRONTIER_MON_GRIMER 110
#define FRONTIER_MON_KRABBY 111
#define FRONTIER_MON_EXEGGCUTE 112
#define FRONTIER_MON_EEVEE 113
#define FRONTIER_MON_DROWZEE 114
#define FRONTIER_MON_VOLTORB 115
#define FRONTIER_MON_CHINCHOU 116
#define FRONTIER_MON_TEDDIURSA 117
#define FRONTIER_MON_DELIBIRD 118
#define FRONTIER_MON_HOUNDOUR 119
#define FRONTIER_MON_PHANPY 120
#define FRONTIER_MON_SPOINK 121
#define FRONTIER_MON_ARON 122
#define FRONTIER_MON_LUVDISC 123
#define FRONTIER_MON_TENTACOOL 124
#define FRONTIER_MON_CACNEA 125
#define FRONTIER_MON_UNOWN 126
#define FRONTIER_MON_KOFFING 127
#define FRONTIER_MON_STARYU 128
#define FRONTIER_MON_SKIPLOOM 129
#define FRONTIER_MON_NUZLEAF 130
#define FRONTIER_MON_LOMBRE 131
#define FRONTIER_MON_VIBRAVA 132
#define FRONTIER_MON_RHYHORN 133
#define FRONTIER_MON_CLAMPERL 134
#define FRONTIER_MON_PIDGEOTTO 135
#define FRONTIER_MON_GROWLITHE 136
#define FRONTIER_MON_FARFETCHD 137
#define FRONTIER_MON_OMANYTE 138
#define FRONTIER_MON_KABUTO 139
#define FRONTIER_MON_LILEEP 140
#define FRONTIER_MON_ANORITH 141
#define FRONTIER_MON_AIPOM 142
#define FRONTIER_MON_ELEKID 143
#define FRONTIER_MON_LOUDRED 144
#define FRONTIER_MON_SPINDA 145
#define FRONTIER_MON_NIDORINA 146
#define FRONTIER_MON_NIDORINO 147
#define FRONTIER_MON_FLAAFFY 148
#define FRONTIER_MON_MAGBY 149
#define FRONTIER_MON_NOSEPASS 150
#define FRONTIER_MON_CORSOLA 151
#define FRONTIER_MON_MAWILE 152
#define FRONTIER_MON_BUTTERFREE 153
#define FRONTIER_MON_BEEDRILL 154
#define FRONTIER_MON_POLIWHIRL 155
#define FRONTIER_MON_ONIX 156
#define FRONTIER_MON_BEAUTIFLY 157
#define FRONTIER_MON_DUSTOX 158
#define FRONTIER_MON_LEDIAN 159
#define FRONTIER_MON_ARIADOS 160
#define FRONTIER_MON_YANMA 161
#define FRONTIER_MON_DELCATTY_1 162
#define FRONTIER_MON_SABLEYE_1 163
#define FRONTIER_MON_LICKITUNG_1 164
#define FRONTIER_MON_WEEPINBELL_1 165
#define FRONTIER_MON_GRAVELER_1 166
#define FRONTIER_MON_GLOOM_1 167
#define FRONTIER_MON_PORYGON_1 168
#define FRONTIER_MON_KADABRA_1 169
#define FRONTIER_MON_WAILMER_1 170
#define FRONTIER_MON_ROSELIA_1 171
#define FRONTIER_MON_VOLBEAT_1 172
#define FRONTIER_MON_ILLUMISE_1 173
#define FRONTIER_MON_IVYSAUR_1 174
#define FRONTIER_MON_CHARMELEON_1 175
#define FRONTIER_MON_WARTORTLE_1 176
#define FRONTIER_MON_PARASECT_1 177
#define FRONTIER_MON_MACHOKE_1 178
#define FRONTIER_MON_HAUNTER_1 179
#define FRONTIER_MON_BAYLEEF_1 180
#define FRONTIER_MON_QUILAVA_1 181
#define FRONTIER_MON_CROCONAW_1 182
#define FRONTIER_MON_TOGETIC_1 183
#define FRONTIER_MON_MURKROW_1 184
#define FRONTIER_MON_WOBBUFFET_1 185
#define FRONTIER_MON_PLUSLE_1 186
#define FRONTIER_MON_MINUN_1 187
#define FRONTIER_MON_GROVYLE_1 188
#define FRONTIER_MON_COMBUSKEN_1 189
#define FRONTIER_MON_MARSHTOMP_1 190
#define FRONTIER_MON_PONYTA_1 191
#define FRONTIER_MON_AZUMARILL_1 192
#define FRONTIER_MON_SUDOWOODO_1 193
#define FRONTIER_MON_MAGCARGO_1 194
#define FRONTIER_MON_PUPITAR_1 195
#define FRONTIER_MON_SEALEO_1 196
#define FRONTIER_MON_RATICATE_1 197
#define FRONTIER_MON_MASQUERAIN_1 198
#define FRONTIER_MON_FURRET_1 199
#define FRONTIER_MON_DUNSPARCE_1 200
#define FRONTIER_MON_DRAGONAIR_1 201
#define FRONTIER_MON_MIGHTYENA_1 202
#define FRONTIER_MON_LINOONE_1 203
#define FRONTIER_MON_CASTFORM_1 204
#define FRONTIER_MON_SHELGON_1 205
#define FRONTIER_MON_METANG_1 206
#define FRONTIER_MON_WIGGLYTUFF_1 207
#define FRONTIER_MON_SUNFLORA_1 208
#define FRONTIER_MON_CHIMECHO_1 209
#define FRONTIER_MON_GLIGAR_1 210
#define FRONTIER_MON_QWILFISH_1 211
#define FRONTIER_MON_SNEASEL_1 212
#define FRONTIER_MON_PELIPPER_1 213
#define FRONTIER_MON_SWELLOW_1 214
#define FRONTIER_MON_LAIRON_1 215
#define FRONTIER_MON_TANGELA_1 216
#define FRONTIER_MON_ARBOK_1 217
#define FRONTIER_MON_PERSIAN_1 218
#define FRONTIER_MON_SEADRA_1 219
#define FRONTIER_MON_KECLEON_1 220
#define FRONTIER_MON_VIGOROTH_1 221
#define FRONTIER_MON_LUNATONE_1 222
#define FRONTIER_MON_SOLROCK_1 223
#define FRONTIER_MON_NOCTOWL_1 224
#define FRONTIER_MON_SANDSLASH_1 225
#define FRONTIER_MON_VENOMOTH_1 226
#define FRONTIER_MON_CHANSEY_1 227
#define FRONTIER_MON_SEAKING_1 228
#define FRONTIER_MON_JUMPLUFF_1 229
#define FRONTIER_MON_PILOSWINE_1 230
#define FRONTIER_MON_GOLBAT_1 231
#define FRONTIER_MON_PRIMEAPE_1 232
#define FRONTIER_MON_HITMONLEE_1 233
#define FRONTIER_MON_HITMONCHAN_1 234
#define FRONTIER_MON_GIRAFARIG_1 235
#define FRONTIER_MON_HITMONTOP_1 236
#define FRONTIER_MON_BANETTE_1 237
#define FRONTIER_MON_NINJASK_1 238
#define FRONTIER_MON_SEVIPER_1 239
#define FRONTIER_MON_ZANGOOSE_1 240
#define FRONTIER_MON_CAMERUPT_1 241
#define FRONTIER_MON_SHARPEDO_1 242
#define FRONTIER_MON_TROPIUS_1 243
#define FRONTIER_MON_MAGNETON_1 244
#define FRONTIER_MON_MANTINE_1 245
#define FRONTIER_MON_STANTLER_1 246
#define FRONTIER_MON_ABSOL_1 247
#define FRONTIER_MON_SWALOT_1 248
#define FRONTIER_MON_CRAWDAUNT_1 249
#define FRONTIER_MON_PIDGEOT_1 250
#define FRONTIER_MON_GRUMPIG_1 251
#define FRONTIER_MON_TORKOAL_1 252
#define FRONTIER_MON_KINGLER_1 253
#define FRONTIER_MON_CACTURNE_1 254
#define FRONTIER_MON_BELLOSSOM_1 255
#define FRONTIER_MON_OCTILLERY_1 256
#define FRONTIER_MON_HUNTAIL_1 257
#define FRONTIER_MON_GOREBYSS_1 258
#define FRONTIER_MON_RELICANTH_1 259
#define FRONTIER_MON_OMASTAR_1 260
#define FRONTIER_MON_KABUTOPS_1 261
#define FRONTIER_MON_POLIWRATH_1 262
#define FRONTIER_MON_SCYTHER_1 263
#define FRONTIER_MON_PINSIR_1 264
#define FRONTIER_MON_POLITOED_1 265
#define FRONTIER_MON_CLOYSTER_1 266
#define FRONTIER_MON_DELCATTY_2 267
#define FRONTIER_MON_SABLEYE_2 268
#define FRONTIER_MON_LICKITUNG_2 269
#define FRONTIER_MON_WEEPINBELL_2 270
#define FRONTIER_MON_GRAVELER_2 271
#define FRONTIER_MON_GLOOM_2 272
#define FRONTIER_MON_PORYGON_2 273
#define FRONTIER_MON_KADABRA_2 274
#define FRONTIER_MON_WAILMER_2 275
#define FRONTIER_MON_ROSELIA_2 276
#define FRONTIER_MON_VOLBEAT_2 277
#define FRONTIER_MON_ILLUMISE_2 278
#define FRONTIER_MON_IVYSAUR_2 279
#define FRONTIER_MON_CHARMELEON_2 280
#define FRONTIER_MON_WARTORTLE_2 281
#define FRONTIER_MON_PARASECT_2 282
#define FRONTIER_MON_MACHOKE_2 283
#define FRONTIER_MON_HAUNTER_2 284
#define FRONTIER_MON_BAYLEEF_2 285
#define FRONTIER_MON_QUILAVA_2 286
#define FRONTIER_MON_CROCONAW_2 287
#define FRONTIER_MON_TOGETIC_2 288
#define FRONTIER_MON_MURKROW_2 289
#define FRONTIER_MON_WOBBUFFET_2 290
#define FRONTIER_MON_PLUSLE_2 291
#define FRONTIER_MON_MINUN_2 292
#define FRONTIER_MON_GROVYLE_2 293
#define FRONTIER_MON_COMBUSKEN_2 294
#define FRONTIER_MON_MARSHTOMP_2 295
#define FRONTIER_MON_PONYTA_2 296
#define FRONTIER_MON_AZUMARILL_2 297
#define FRONTIER_MON_SUDOWOODO_2 298
#define FRONTIER_MON_MAGCARGO_2 299
#define FRONTIER_MON_PUPITAR_2 300
#define FRONTIER_MON_SEALEO_2 301
#define FRONTIER_MON_RATICATE_2 302
#define FRONTIER_MON_MASQUERAIN_2 303
#define FRONTIER_MON_FURRET_2 304
#define FRONTIER_MON_DUNSPARCE_2 305
#define FRONTIER_MON_DRAGONAIR_2 306
#define FRONTIER_MON_MIGHTYENA_2 307
#define FRONTIER_MON_LINOONE_2 308
#define FRONTIER_MON_CASTFORM_2 309
#define FRONTIER_MON_SHELGON_2 310
#define FRONTIER_MON_METANG_2 311
#define FRONTIER_MON_WIGGLYTUFF_2 312
#define FRONTIER_MON_SUNFLORA_2 313
#define FRONTIER_MON_CHIMECHO_2 314
#define FRONTIER_MON_GLIGAR_2 315
#define FRONTIER_MON_QWILFISH_2 316
#define FRONTIER_MON_SNEASEL_2 317
#define FRONTIER_MON_PELIPPER_2 318
#define FRONTIER_MON_SWELLOW_2 319
#define FRONTIER_MON_LAIRON_2 320
#define FRONTIER_MON_TANGELA_2 321
#define FRONTIER_MON_ARBOK_2 322
#define FRONTIER_MON_PERSIAN_2 323
#define FRONTIER_MON_SEADRA_2 324
#define FRONTIER_MON_KECLEON_2 325
#define FRONTIER_MON_VIGOROTH_2 326
#define FRONTIER_MON_LUNATONE_2 327
#define FRONTIER_MON_SOLROCK_2 328
#define FRONTIER_MON_NOCTOWL_2 329
#define FRONTIER_MON_SANDSLASH_2 330
#define FRONTIER_MON_VENOMOTH_2 331
#define FRONTIER_MON_CHANSEY_2 332
#define FRONTIER_MON_SEAKING_2 333
#define FRONTIER_MON_JUMPLUFF_2 334
#define FRONTIER_MON_PILOSWINE_2 335
#define FRONTIER_MON_GOLBAT_2 336
#define FRONTIER_MON_PRIMEAPE_2 337
#define FRONTIER_MON_HITMONLEE_2 338
#define FRONTIER_MON_HITMONCHAN_2 339
#define FRONTIER_MON_GIRAFARIG_2 340
#define FRONTIER_MON_HITMONTOP_2 341
#define FRONTIER_MON_BANETTE_2 342
#define FRONTIER_MON_NINJASK_2 343
#define FRONTIER_MON_SEVIPER_2 344
#define FRONTIER_MON_ZANGOOSE_2 345
#define FRONTIER_MON_CAMERUPT_2 346
#define FRONTIER_MON_SHARPEDO_2 347
#define FRONTIER_MON_TROPIUS_2 348
#define FRONTIER_MON_MAGNETON_2 349
#define FRONTIER_MON_MANTINE_2 350
#define FRONTIER_MON_STANTLER_2 351
#define FRONTIER_MON_ABSOL_2 352
#define FRONTIER_MON_SWALOT_2 353
#define FRONTIER_MON_CRAWDAUNT_2 354
#define FRONTIER_MON_PIDGEOT_2 355
#define FRONTIER_MON_GRUMPIG_2 356
#define FRONTIER_MON_TORKOAL_2 357
#define FRONTIER_MON_KINGLER_2 358
#define FRONTIER_MON_CACTURNE_2 359
#define FRONTIER_MON_BELLOSSOM_2 360
#define FRONTIER_MON_OCTILLERY_2 361
#define FRONTIER_MON_HUNTAIL_2 362
#define FRONTIER_MON_GOREBYSS_2 363
#define FRONTIER_MON_RELICANTH_2 364
#define FRONTIER_MON_OMASTAR_2 365
#define FRONTIER_MON_KABUTOPS_2 366
#define FRONTIER_MON_POLIWRATH_2 367
#define FRONTIER_MON_SCYTHER_2 368
#define FRONTIER_MON_PINSIR_2 369
#define FRONTIER_MON_POLITOED_2 370
#define FRONTIER_MON_CLOYSTER_2 371
#define FRONTIER_MON_DUGTRIO_1 372
#define FRONTIER_MON_MEDICHAM_1 373
#define FRONTIER_MON_MISDREAVUS_1 374
#define FRONTIER_MON_FEAROW_1 375
#define FRONTIER_MON_GRANBULL_1 376
#define FRONTIER_MON_JYNX_1 377
#define FRONTIER_MON_DUSCLOPS_1 378
#define FRONTIER_MON_DODRIO_1 379
#define FRONTIER_MON_MR_MIME_1 380
#define FRONTIER_MON_LANTURN_1 381
#define FRONTIER_MON_BRELOOM_1 382
#define FRONTIER_MON_FORRETRESS_1 383
#define FRONTIER_MON_WHISCASH_1 384
#define FRONTIER_MON_XATU_1 385
#define FRONTIER_MON_SKARMORY_1 386
#define FRONTIER_MON_MAROWAK_1 387
#define FRONTIER_MON_QUAGSIRE_1 388
#define FRONTIER_MON_CLEFABLE_1 389
#define FRONTIER_MON_HARIYAMA_1 390
#define FRONTIER_MON_RAICHU_1 391
#define FRONTIER_MON_DEWGONG_1 392
#define FRONTIER_MON_MANECTRIC_1 393
#define FRONTIER_MON_VILEPLUME_1 394
#define FRONTIER_MON_VICTREEBEL_1 395
#define FRONTIER_MON_ELECTRODE_1 396
#define FRONTIER_MON_EXPLOUD_1 397
#define FRONTIER_MON_SHIFTRY_1 398
#define FRONTIER_MON_GLALIE_1 399
#define FRONTIER_MON_LUDICOLO_1 400
#define FRONTIER_MON_HYPNO_1 401
#define FRONTIER_MON_GOLEM_1 402
#define FRONTIER_MON_RHYDON_1 403
#define FRONTIER_MON_ALAKAZAM_1 404
#define FRONTIER_MON_WEEZING_1 405
#define FRONTIER_MON_KANGASKHAN_1 406
#define FRONTIER_MON_ELECTABUZZ_1 407
#define FRONTIER_MON_TAUROS_1 408
#define FRONTIER_MON_SLOWBRO_1 409
#define FRONTIER_MON_SLOWKING_1 410
#define FRONTIER_MON_MILTANK_1 411
#define FRONTIER_MON_ALTARIA_1 412
#define FRONTIER_MON_NIDOQUEEN_1 413
#define FRONTIER_MON_NIDOKING_1 414
#define FRONTIER_MON_MAGMAR_1 415
#define FRONTIER_MON_CRADILY_1 416
#define FRONTIER_MON_ARMALDO_1 417
#define FRONTIER_MON_GOLDUCK_1 418
#define FRONTIER_MON_RAPIDASH_1 419
#define FRONTIER_MON_MUK_1 420
#define FRONTIER_MON_GENGAR_1 421
#define FRONTIER_MON_AMPHAROS_1 422
#define FRONTIER_MON_SCIZOR_1 423
#define FRONTIER_MON_HERACROSS_1 424
#define FRONTIER_MON_URSARING_1 425
#define FRONTIER_MON_HOUNDOOM_1 426
#define FRONTIER_MON_DONPHAN_1 427
#define FRONTIER_MON_CLAYDOL_1 428
#define FRONTIER_MON_WAILORD_1 429
#define FRONTIER_MON_NINETALES_1 430
#define FRONTIER_MON_MACHAMP_1 431
#define FRONTIER_MON_SHUCKLE_1 432
#define FRONTIER_MON_STEELIX_1 433
#define FRONTIER_MON_TENTACRUEL_1 434
#define FRONTIER_MON_AERODACTYL_1 435
#define FRONTIER_MON_PORYGON2_1 436
#define FRONTIER_MON_GARDEVOIR_1 437
#define FRONTIER_MON_EXEGGUTOR_1 438
#define FRONTIER_MON_STARMIE_1 439
#define FRONTIER_MON_FLYGON_1 440
#define FRONTIER_MON_VENUSAUR_1 441
#define FRONTIER_MON_VAPOREON_1 442
#define FRONTIER_MON_JOLTEON_1 443
#define FRONTIER_MON_FLAREON_1 444
#define FRONTIER_MON_MEGANIUM_1 445
#define FRONTIER_MON_ESPEON_1 446
#define FRONTIER_MON_UMBREON_1 447
#define FRONTIER_MON_BLASTOISE_1 448
#define FRONTIER_MON_FERALIGATR_1 449
#define FRONTIER_MON_AGGRON_1 450
#define FRONTIER_MON_BLAZIKEN_1 451
#define FRONTIER_MON_WALREIN_1 452
#define FRONTIER_MON_SCEPTILE_1 453
#define FRONTIER_MON_CHARIZARD_1 454
#define FRONTIER_MON_TYPHLOSION_1 455
#define FRONTIER_MON_LAPRAS_1 456
#define FRONTIER_MON_CROBAT_1 457
#define FRONTIER_MON_SWAMPERT_1 458
#define FRONTIER_MON_GYARADOS_1 459
#define FRONTIER_MON_SNORLAX_1 460
#define FRONTIER_MON_KINGDRA_1 461
#define FRONTIER_MON_BLISSEY_1 462
#define FRONTIER_MON_MILOTIC_1 463
#define FRONTIER_MON_ARCANINE_1 464
#define FRONTIER_MON_SALAMENCE_1 465
#define FRONTIER_MON_METAGROSS_1 466
#define FRONTIER_MON_SLAKING_1 467
#define FRONTIER_MON_DUGTRIO_2 468
#define FRONTIER_MON_MEDICHAM_2 469
#define FRONTIER_MON_MAROWAK_2 470
#define FRONTIER_MON_QUAGSIRE_2 471
#define FRONTIER_MON_MISDREAVUS_2 472
#define FRONTIER_MON_FEAROW_2 473
#define FRONTIER_MON_GRANBULL_2 474
#define FRONTIER_MON_JYNX_2 475
#define FRONTIER_MON_DUSCLOPS_2 476
#define FRONTIER_MON_DODRIO_2 477
#define FRONTIER_MON_MR_MIME_2 478
#define FRONTIER_MON_LANTURN_2 479
#define FRONTIER_MON_BRELOOM_2 480
#define FRONTIER_MON_FORRETRESS_2 481
#define FRONTIER_MON_SKARMORY_2 482
#define FRONTIER_MON_WHISCASH_2 483
#define FRONTIER_MON_XATU_2 484
#define FRONTIER_MON_CLEFABLE_2 485
#define FRONTIER_MON_HARIYAMA_2 486
#define FRONTIER_MON_RAICHU_2 487
#define FRONTIER_MON_DEWGONG_2 488
#define FRONTIER_MON_MANECTRIC_2 489
#define FRONTIER_MON_VILEPLUME_2 490
#define FRONTIER_MON_VICTREEBEL_2 491
#define FRONTIER_MON_ELECTRODE_2 492
#define FRONTIER_MON_EXPLOUD_2 493
#define FRONTIER_MON_SHIFTRY_2 494
#define FRONTIER_MON_GLALIE_2 495
#define FRONTIER_MON_LUDICOLO_2 496
#define FRONTIER_MON_HYPNO_2 497
#define FRONTIER_MON_GOLEM_2 498
#define FRONTIER_MON_RHYDON_2 499
#define FRONTIER_MON_ALAKAZAM_2 500
#define FRONTIER_MON_WEEZING_2 501
#define FRONTIER_MON_KANGASKHAN_2 502
#define FRONTIER_MON_ELECTABUZZ_2 503
#define FRONTIER_MON_TAUROS_2 504
#define FRONTIER_MON_SLOWBRO_2 505
#define FRONTIER_MON_SLOWKING_2 506
#define FRONTIER_MON_MILTANK_2 507
#define FRONTIER_MON_ALTARIA_2 508
#define FRONTIER_MON_NIDOQUEEN_2 509
#define FRONTIER_MON_NIDOKING_2 510
#define FRONTIER_MON_MAGMAR_2 511
#define FRONTIER_MON_CRADILY_2 512
#define FRONTIER_MON_ARMALDO_2 513
#define FRONTIER_MON_GOLDUCK_2 514
#define FRONTIER_MON_RAPIDASH_2 515
#define FRONTIER_MON_MUK_2 516
#define FRONTIER_MON_GENGAR_2 517
#define FRONTIER_MON_AMPHAROS_2 518
#define FRONTIER_MON_SCIZOR_2 519
#define FRONTIER_MON_HERACROSS_2 520
#define FRONTIER_MON_URSARING_2 521
#define FRONTIER_MON_HOUNDOOM_2 522
#define FRONTIER_MON_DONPHAN_2 523
#define FRONTIER_MON_CLAYDOL_2 524
#define FRONTIER_MON_WAILORD_2 525
#define FRONTIER_MON_NINETALES_2 526
#define FRONTIER_MON_MACHAMP_2 527
#define FRONTIER_MON_SHUCKLE_2 528
#define FRONTIER_MON_STEELIX_2 529
#define FRONTIER_MON_TENTACRUEL_2 530
#define FRONTIER_MON_AERODACTYL_2 531
#define FRONTIER_MON_PORYGON2_2 532
#define FRONTIER_MON_GARDEVOIR_2 533
#define FRONTIER_MON_EXEGGUTOR_2 534
#define FRONTIER_MON_STARMIE_2 535
#define FRONTIER_MON_FLYGON_2 536
#define FRONTIER_MON_VENUSAUR_2 537
#define FRONTIER_MON_VAPOREON_2 538
#define FRONTIER_MON_JOLTEON_2 539
#define FRONTIER_MON_FLAREON_2 540
#define FRONTIER_MON_MEGANIUM_2 541
#define FRONTIER_MON_ESPEON_2 542
#define FRONTIER_MON_UMBREON_2 543
#define FRONTIER_MON_BLASTOISE_2 544
#define FRONTIER_MON_FERALIGATR_2 545
#define FRONTIER_MON_AGGRON_2 546
#define FRONTIER_MON_BLAZIKEN_2 547
#define FRONTIER_MON_WALREIN_2 548
#define FRONTIER_MON_SCEPTILE_2 549
#define FRONTIER_MON_CHARIZARD_2 550
#define FRONTIER_MON_TYPHLOSION_2 551
#define FRONTIER_MON_LAPRAS_2 552
#define FRONTIER_MON_CROBAT_2 553
#define FRONTIER_MON_SWAMPERT_2 554
#define FRONTIER_MON_GYARADOS_2 555
#define FRONTIER_MON_SNORLAX_2 556
#define FRONTIER_MON_KINGDRA_2 557
#define FRONTIER_MON_BLISSEY_2 558
#define FRONTIER_MON_MILOTIC_2 559
#define FRONTIER_MON_ARCANINE_2 560
#define FRONTIER_MON_SALAMENCE_2 561
#define FRONTIER_MON_METAGROSS_2 562
#define FRONTIER_MON_SLAKING_2 563
#define FRONTIER_MON_DUGTRIO_3 564
#define FRONTIER_MON_MEDICHAM_3 565
#define FRONTIER_MON_MISDREAVUS_3 566
#define FRONTIER_MON_FEAROW_3 567
#define FRONTIER_MON_GRANBULL_3 568
#define FRONTIER_MON_JYNX_3 569
#define FRONTIER_MON_DUSCLOPS_3 570
#define FRONTIER_MON_DODRIO_3 571
#define FRONTIER_MON_MR_MIME_3 572
#define FRONTIER_MON_LANTURN_3 573
#define FRONTIER_MON_BRELOOM_3 574
#define FRONTIER_MON_FORRETRESS_3 575
#define FRONTIER_MON_WHISCASH_3 576
#define FRONTIER_MON_XATU_3 577
#define FRONTIER_MON_SKARMORY_3 578
#define FRONTIER_MON_MAROWAK_3 579
#define FRONTIER_MON_QUAGSIRE_3 580
#define FRONTIER_MON_CLEFABLE_3 581
#define FRONTIER_MON_HARIYAMA_3 582
#define FRONTIER_MON_RAICHU_3 583
#define FRONTIER_MON_DEWGONG_3 584
#define FRONTIER_MON_MANECTRIC_3 585
#define FRONTIER_MON_VILEPLUME_3 586
#define FRONTIER_MON_VICTREEBEL_3 587
#define FRONTIER_MON_ELECTRODE_3 588
#define FRONTIER_MON_EXPLOUD_3 589
#define FRONTIER_MON_SHIFTRY_3 590
#define FRONTIER_MON_GLALIE_3 591
#define FRONTIER_MON_LUDICOLO_3 592
#define FRONTIER_MON_HYPNO_3 593
#define FRONTIER_MON_GOLEM_3 594
#define FRONTIER_MON_RHYDON_3 595
#define FRONTIER_MON_ALAKAZAM_3 596
#define FRONTIER_MON_WEEZING_3 597
#define FRONTIER_MON_KANGASKHAN_3 598
#define FRONTIER_MON_ELECTABUZZ_3 599
#define FRONTIER_MON_TAUROS_3 600
#define FRONTIER_MON_SLOWBRO_3 601
#define FRONTIER_MON_SLOWKING_3 602
#define FRONTIER_MON_MILTANK_3 603
#define FRONTIER_MON_ALTARIA_3 604
#define FRONTIER_MON_NIDOQUEEN_3 605
#define FRONTIER_MON_NIDOKING_3 606
#define FRONTIER_MON_MAGMAR_3 607
#define FRONTIER_MON_CRADILY_3 608
#define FRONTIER_MON_ARMALDO_3 609
#define FRONTIER_MON_GOLDUCK_3 610
#define FRONTIER_MON_RAPIDASH_3 611
#define FRONTIER_MON_MUK_3 612
#define FRONTIER_MON_GENGAR_3 613
#define FRONTIER_MON_AMPHAROS_3 614
#define FRONTIER_MON_SCIZOR_3 615
#define FRONTIER_MON_HERACROSS_3 616
#define FRONTIER_MON_URSARING_3 617
#define FRONTIER_MON_HOUNDOOM_3 618
#define FRONTIER_MON_DONPHAN_3 619
#define FRONTIER_MON_CLAYDOL_3 620
#define FRONTIER_MON_WAILORD_3 621
#define FRONTIER_MON_NINETALES_3 622
#define FRONTIER_MON_MACHAMP_3 623
#define FRONTIER_MON_SHUCKLE_3 624
#define FRONTIER_MON_STEELIX_3 625
#define FRONTIER_MON_TENTACRUEL_3 626
#define FRONTIER_MON_AERODACTYL_3 627
#define FRONTIER_MON_PORYGON2_3 628
#define FRONTIER_MON_GARDEVOIR_3 629
#define FRONTIER_MON_EXEGGUTOR_3 630
#define FRONTIER_MON_STARMIE_3 631
#define FRONTIER_MON_FLYGON_3 632
#define FRONTIER_MON_VENUSAUR_3 633
#define FRONTIER_MON_VAPOREON_3 634
#define FRONTIER_MON_JOLTEON_3 635
#define FRONTIER_MON_FLAREON_3 636
#define FRONTIER_MON_MEGANIUM_3 637
#define FRONTIER_MON_ESPEON_3 638
#define FRONTIER_MON_UMBREON_3 639
#define FRONTIER_MON_BLASTOISE_3 640
#define FRONTIER_MON_FERALIGATR_3 641
#define FRONTIER_MON_AGGRON_3 642
#define FRONTIER_MON_BLAZIKEN_3 643
#define FRONTIER_MON_WALREIN_3 644
#define FRONTIER_MON_SCEPTILE_3 645
#define FRONTIER_MON_CHARIZARD_3 646
#define FRONTIER_MON_TYPHLOSION_3 647
#define FRONTIER_MON_LAPRAS_3 648
#define FRONTIER_MON_CROBAT_3 649
#define FRONTIER_MON_SWAMPERT_3 650
#define FRONTIER_MON_GYARADOS_3 651
#define FRONTIER_MON_SNORLAX_3 652
#define FRONTIER_MON_KINGDRA_3 653
#define FRONTIER_MON_BLISSEY_3 654
#define FRONTIER_MON_MILOTIC_3 655
#define FRONTIER_MON_ARCANINE_3 656
#define FRONTIER_MON_SALAMENCE_3 657
#define FRONTIER_MON_METAGROSS_3 658
#define FRONTIER_MON_SLAKING_3 659
#define FRONTIER_MON_DUGTRIO_4 660
#define FRONTIER_MON_MEDICHAM_4 661
#define FRONTIER_MON_MISDREAVUS_4 662
#define FRONTIER_MON_FEAROW_4 663
#define FRONTIER_MON_GRANBULL_4 664
#define FRONTIER_MON_JYNX_4 665
#define FRONTIER_MON_DUSCLOPS_4 666
#define FRONTIER_MON_DODRIO_4 667
#define FRONTIER_MON_MR_MIME_4 668
#define FRONTIER_MON_LANTURN_4 669
#define FRONTIER_MON_BRELOOM_4 670
#define FRONTIER_MON_FORRETRESS_4 671
#define FRONTIER_MON_WHISCASH_4 672
#define FRONTIER_MON_XATU_4 673
#define FRONTIER_MON_SKARMORY_4 674
#define FRONTIER_MON_MAROWAK_4 675
#define FRONTIER_MON_QUAGSIRE_4 676
#define FRONTIER_MON_CLEFABLE_4 677
#define FRONTIER_MON_HARIYAMA_4 678
#define FRONTIER_MON_RAICHU_4 679
#define FRONTIER_MON_DEWGONG_4 680
#define FRONTIER_MON_MANECTRIC_4 681
#define FRONTIER_MON_VILEPLUME_4 682
#define FRONTIER_MON_VICTREEBEL_4 683
#define FRONTIER_MON_ELECTRODE_4 684
#define FRONTIER_MON_EXPLOUD_4 685
#define FRONTIER_MON_SHIFTRY_4 686
#define FRONTIER_MON_GLALIE_4 687
#define FRONTIER_MON_LUDICOLO_4 688
#define FRONTIER_MON_HYPNO_4 689
#define FRONTIER_MON_GOLEM_4 690
#define FRONTIER_MON_RHYDON_4 691
#define FRONTIER_MON_ALAKAZAM_4 692
#define FRONTIER_MON_WEEZING_4 693
#define FRONTIER_MON_KANGASKHAN_4 694
#define FRONTIER_MON_ELECTABUZZ_4 695
#define FRONTIER_MON_TAUROS_4 696
#define FRONTIER_MON_SLOWBRO_4 697
#define FRONTIER_MON_SLOWKING_4 698
#define FRONTIER_MON_MILTANK_4 699
#define FRONTIER_MON_ALTARIA_4 700
#define FRONTIER_MON_NIDOQUEEN_4 701
#define FRONTIER_MON_NIDOKING_4 702
#define FRONTIER_MON_MAGMAR_4 703
#define FRONTIER_MON_CRADILY_4 704
#define FRONTIER_MON_ARMALDO_4 705
#define FRONTIER_MON_GOLDUCK_4 706
#define FRONTIER_MON_RAPIDASH_4 707
#define FRONTIER_MON_MUK_4 708
#define FRONTIER_MON_GENGAR_4 709
#define FRONTIER_MON_AMPHAROS_4 710
#define FRONTIER_MON_SCIZOR_4 711
#define FRONTIER_MON_HERACROSS_4 712
#define FRONTIER_MON_URSARING_4 713
#define FRONTIER_MON_HOUNDOOM_4 714
#define FRONTIER_MON_DONPHAN_4 715
#define FRONTIER_MON_CLAYDOL_4 716
#define FRONTIER_MON_WAILORD_4 717
#define FRONTIER_MON_NINETALES_4 718
#define FRONTIER_MON_MACHAMP_4 719
#define FRONTIER_MON_SHUCKLE_4 720
#define FRONTIER_MON_STEELIX_4 721
#define FRONTIER_MON_TENTACRUEL_4 722
#define FRONTIER_MON_AERODACTYL_4 723
#define FRONTIER_MON_PORYGON2_4 724
#define FRONTIER_MON_GARDEVOIR_4 725
#define FRONTIER_MON_EXEGGUTOR_4 726
#define FRONTIER_MON_STARMIE_4 727
#define FRONTIER_MON_FLYGON_4 728
#define FRONTIER_MON_VENUSAUR_4 729
#define FRONTIER_MON_VAPOREON_4 730
#define FRONTIER_MON_JOLTEON_4 731
#define FRONTIER_MON_FLAREON_4 732
#define FRONTIER_MON_MEGANIUM_4 733
#define FRONTIER_MON_ESPEON_4 734
#define FRONTIER_MON_UMBREON_4 735
#define FRONTIER_MON_BLASTOISE_4 736
#define FRONTIER_MON_FERALIGATR_4 737
#define FRONTIER_MON_AGGRON_4 738
#define FRONTIER_MON_BLAZIKEN_4 739
#define FRONTIER_MON_WALREIN_4 740
#define FRONTIER_MON_SCEPTILE_4 741
#define FRONTIER_MON_CHARIZARD_4 742
#define FRONTIER_MON_TYPHLOSION_4 743
#define FRONTIER_MON_LAPRAS_4 744
#define FRONTIER_MON_CROBAT_4 745
#define FRONTIER_MON_SWAMPERT_4 746
#define FRONTIER_MON_GYARADOS_4 747
#define FRONTIER_MON_SNORLAX_4 748
#define FRONTIER_MON_KINGDRA_4 749
#define FRONTIER_MON_BLISSEY_4 750
#define FRONTIER_MON_MILOTIC_4 751
#define FRONTIER_MON_ARCANINE_4 752
#define FRONTIER_MON_SALAMENCE_4 753
#define FRONTIER_MON_METAGROSS_4 754
#define FRONTIER_MON_SLAKING_4 755
#define FRONTIER_MON_ARTICUNO_1 756
#define FRONTIER_MON_ZAPDOS_1 757
#define FRONTIER_MON_MOLTRES_1 758
#define FRONTIER_MON_RAIKOU_1 759
#define FRONTIER_MON_ENTEI_1 760
#define FRONTIER_MON_SUICUNE_1 761
#define FRONTIER_MON_REGIROCK_1 762
#define FRONTIER_MON_REGICE_1 763
#define FRONTIER_MON_REGISTEEL_1 764
#define FRONTIER_MON_LATIAS_1 765
#define FRONTIER_MON_LATIOS_1 766
#define FRONTIER_MON_ARTICUNO_2 767
#define FRONTIER_MON_ZAPDOS_2 768
#define FRONTIER_MON_MOLTRES_2 769
#define FRONTIER_MON_RAIKOU_2 770
#define FRONTIER_MON_ENTEI_2 771
#define FRONTIER_MON_SUICUNE_2 772
#define FRONTIER_MON_REGIROCK_2 773
#define FRONTIER_MON_REGICE_2 774
#define FRONTIER_MON_REGISTEEL_2 775
#define FRONTIER_MON_LATIAS_2 776
#define FRONTIER_MON_LATIOS_2 777
#define FRONTIER_MON_ARTICUNO_3 778
#define FRONTIER_MON_ZAPDOS_3 779
#define FRONTIER_MON_MOLTRES_3 780
#define FRONTIER_MON_RAIKOU_3 781
#define FRONTIER_MON_ENTEI_3 782
#define FRONTIER_MON_SUICUNE_3 783
#define FRONTIER_MON_REGIROCK_3 784
#define FRONTIER_MON_REGICE_3 785
#define FRONTIER_MON_REGISTEEL_3 786
#define FRONTIER_MON_LATIAS_3 787
#define FRONTIER_MON_LATIOS_3 788
#define FRONTIER_MON_ARTICUNO_4 789
#define FRONTIER_MON_ZAPDOS_4 790
#define FRONTIER_MON_MOLTRES_4 791
#define FRONTIER_MON_RAIKOU_4 792
#define FRONTIER_MON_ENTEI_4 793
#define FRONTIER_MON_SUICUNE_4 794
#define FRONTIER_MON_REGIROCK_4 795
#define FRONTIER_MON_REGICE_4 796
#define FRONTIER_MON_REGISTEEL_4 797
#define FRONTIER_MON_LATIAS_4 798
#define FRONTIER_MON_LATIOS_4 799
#define FRONTIER_MON_GENGAR_5 800
#define FRONTIER_MON_GENGAR_6 801
#define FRONTIER_MON_GENGAR_7 802
#define FRONTIER_MON_GENGAR_8 803
#define FRONTIER_MON_URSARING_5 804
#define FRONTIER_MON_URSARING_6 805
#define FRONTIER_MON_URSARING_7 806
#define FRONTIER_MON_URSARING_8 807
#define FRONTIER_MON_MACHAMP_5 808
#define FRONTIER_MON_MACHAMP_6 809
#define FRONTIER_MON_MACHAMP_7 810
#define FRONTIER_MON_MACHAMP_8 811
#define FRONTIER_MON_GARDEVOIR_5 812
#define FRONTIER_MON_GARDEVOIR_6 813
#define FRONTIER_MON_GARDEVOIR_7 814
#define FRONTIER_MON_GARDEVOIR_8 815
#define FRONTIER_MON_STARMIE_5 816
#define FRONTIER_MON_STARMIE_6 817
#define FRONTIER_MON_STARMIE_7 818
#define FRONTIER_MON_STARMIE_8 819
#define FRONTIER_MON_LAPRAS_5 820
#define FRONTIER_MON_LAPRAS_6 821
#define FRONTIER_MON_LAPRAS_7 822
#define FRONTIER_MON_LAPRAS_8 823
#define FRONTIER_MON_SNORLAX_5 824
#define FRONTIER_MON_SNORLAX_6 825
#define FRONTIER_MON_SNORLAX_7 826
#define FRONTIER_MON_SNORLAX_8 827
#define FRONTIER_MON_SALAMENCE_5 828
#define FRONTIER_MON_SALAMENCE_6 829
#define FRONTIER_MON_SALAMENCE_7 830
#define FRONTIER_MON_SALAMENCE_8 831
#define FRONTIER_MON_METAGROSS_5 832
#define FRONTIER_MON_METAGROSS_6 833
#define FRONTIER_MON_METAGROSS_7 834
#define FRONTIER_MON_METAGROSS_8 835
#define FRONTIER_MON_REGIROCK_5 836
#define FRONTIER_MON_REGIROCK_6 837
#define FRONTIER_MON_REGICE_5 838
#define FRONTIER_MON_REGICE_6 839
#define FRONTIER_MON_REGISTEEL_5 840
#define FRONTIER_MON_REGISTEEL_6 841
#define FRONTIER_MON_LATIAS_5 842
#define FRONTIER_MON_LATIAS_6 843
#define FRONTIER_MON_LATIAS_7 844
#define FRONTIER_MON_LATIAS_8 845
#define FRONTIER_MON_LATIOS_5 846
#define FRONTIER_MON_LATIOS_6 847
#define FRONTIER_MON_LATIOS_7 848
#define FRONTIER_MON_LATIOS_8 849
#define FRONTIER_MONS_HIGH_TIER 849 // Mons above this point can only appear > level 50
#define FRONTIER_MON_DRAGONITE_1 850
#define FRONTIER_MON_DRAGONITE_2 851
#define FRONTIER_MON_DRAGONITE_3 852
#define FRONTIER_MON_DRAGONITE_4 853
#define FRONTIER_MON_DRAGONITE_5 854
#define FRONTIER_MON_DRAGONITE_6 855
#define FRONTIER_MON_DRAGONITE_7 856
#define FRONTIER_MON_DRAGONITE_8 857
#define FRONTIER_MON_DRAGONITE_9 858
#define FRONTIER_MON_DRAGONITE_10 859
#define FRONTIER_MON_TYRANITAR_1 860
#define FRONTIER_MON_TYRANITAR_2 861
#define FRONTIER_MON_TYRANITAR_3 862
#define FRONTIER_MON_TYRANITAR_4 863
#define FRONTIER_MON_TYRANITAR_5 864
#define FRONTIER_MON_TYRANITAR_6 865
#define FRONTIER_MON_TYRANITAR_7 866
#define FRONTIER_MON_TYRANITAR_8 867
#define FRONTIER_MON_TYRANITAR_9 868
#define FRONTIER_MON_TYRANITAR_10 869
#define FRONTIER_MON_ARTICUNO_5 870
#define FRONTIER_MON_ARTICUNO_6 871
#define FRONTIER_MON_ZAPDOS_5 872
#define FRONTIER_MON_ZAPDOS_6 873
#define FRONTIER_MON_MOLTRES_5 874
#define FRONTIER_MON_MOLTRES_6 875
#define FRONTIER_MON_RAIKOU_5 876
#define FRONTIER_MON_RAIKOU_6 877
#define FRONTIER_MON_ENTEI_5 878
#define FRONTIER_MON_ENTEI_6 879
#define FRONTIER_MON_SUICUNE_5 880
#define FRONTIER_MON_SUICUNE_6 881
#define NUM_FRONTIER_MONS 882
#endif //GUARD_CONSTANTS_BATTLE_FRONTIER_MONS_H

View File

@@ -0,0 +1,309 @@
#ifndef GUARD_CONSTANTS_BATTLE_FRONTIER_TRAINERS_H
#define GUARD_CONSTANTS_BATTLE_FRONTIER_TRAINERS_H
#define FRONTIER_TRAINER_BRADY 0
#define FRONTIER_TRAINER_CONNER 1
#define FRONTIER_TRAINER_BRADLEY 2
#define FRONTIER_TRAINER_CYBIL 3
#define FRONTIER_TRAINER_RODETTE 4
#define FRONTIER_TRAINER_PEGGY 5
#define FRONTIER_TRAINER_KEITH 6
#define FRONTIER_TRAINER_GRAYSON 7
#define FRONTIER_TRAINER_GLENN 8
#define FRONTIER_TRAINER_LILIANA 9
#define FRONTIER_TRAINER_ELISE 10
#define FRONTIER_TRAINER_ZOEY 11
#define FRONTIER_TRAINER_MANUEL 12
#define FRONTIER_TRAINER_RUSS 13
#define FRONTIER_TRAINER_DUSTIN 14
#define FRONTIER_TRAINER_TINA 15
#define FRONTIER_TRAINER_GILLIAN1 16
#define FRONTIER_TRAINER_ZOE 17
#define FRONTIER_TRAINER_CHEN 18
#define FRONTIER_TRAINER_AL 19
#define FRONTIER_TRAINER_MITCH 20
#define FRONTIER_TRAINER_ANNE 21
#define FRONTIER_TRAINER_ALIZE 22
#define FRONTIER_TRAINER_LAUREN 23
#define FRONTIER_TRAINER_KIPP 24
#define FRONTIER_TRAINER_JASON 25
#define FRONTIER_TRAINER_JOHN 26
#define FRONTIER_TRAINER_ANN 27
#define FRONTIER_TRAINER_EILEEN 28
#define FRONTIER_TRAINER_CARLIE 29
#define FRONTIER_TRAINER_GORDON 30
#define FRONTIER_TRAINER_AYDEN 31
#define FRONTIER_TRAINER_MARCO 32
#define FRONTIER_TRAINER_CIERRA 33
#define FRONTIER_TRAINER_MARCY 34
#define FRONTIER_TRAINER_KATHY 35
#define FRONTIER_TRAINER_PEYTON 36
#define FRONTIER_TRAINER_JULIAN 37
#define FRONTIER_TRAINER_QUINN 38
#define FRONTIER_TRAINER_HAYLEE 39
#define FRONTIER_TRAINER_AMANDA 40
#define FRONTIER_TRAINER_STACY 41
#define FRONTIER_TRAINER_RAFAEL 42
#define FRONTIER_TRAINER_OLIVER 43
#define FRONTIER_TRAINER_PAYTON 44
#define FRONTIER_TRAINER_PAMELA 45
#define FRONTIER_TRAINER_ELIZA 46
#define FRONTIER_TRAINER_MARISA 47
#define FRONTIER_TRAINER_LEWIS 48
#define FRONTIER_TRAINER_YOSHI 49
#define FRONTIER_TRAINER_DESTIN 50
#define FRONTIER_TRAINER_KEON 51
#define FRONTIER_TRAINER_STUART 52
#define FRONTIER_TRAINER_NESTOR 53
#define FRONTIER_TRAINER_DERRICK 54
#define FRONTIER_TRAINER_BRYSON 55
#define FRONTIER_TRAINER_CLAYTON 56
#define FRONTIER_TRAINER_TRENTON 57
#define FRONTIER_TRAINER_JENSON 58
#define FRONTIER_TRAINER_WESLEY 59
#define FRONTIER_TRAINER_ANTON 60
#define FRONTIER_TRAINER_LAWSON 61
#define FRONTIER_TRAINER_SAMMY 62
#define FRONTIER_TRAINER_ARNIE 63
#define FRONTIER_TRAINER_ADRIAN 64
#define FRONTIER_TRAINER_TRISTAN 65
#define FRONTIER_TRAINER_JULIANA 66
#define FRONTIER_TRAINER_RYLEE 67
#define FRONTIER_TRAINER_CHELSEA 68
#define FRONTIER_TRAINER_DANELA 69
#define FRONTIER_TRAINER_LIZBETH 70
#define FRONTIER_TRAINER_AMELIA 71
#define FRONTIER_TRAINER_JILLIAN 72
#define FRONTIER_TRAINER_ABBIE 73
#define FRONTIER_TRAINER_BRIANA 74
#define FRONTIER_TRAINER_ANTONIO 75
#define FRONTIER_TRAINER_JADEN 76
#define FRONTIER_TRAINER_DAKOTA 77
#define FRONTIER_TRAINER_BRAYDEN 78
#define FRONTIER_TRAINER_CORSON 79
#define FRONTIER_TRAINER_TREVIN 80
#define FRONTIER_TRAINER_PATRICK 81
#define FRONTIER_TRAINER_KADEN 82
#define FRONTIER_TRAINER_MAXWELL 83
#define FRONTIER_TRAINER_DARYL 84
#define FRONTIER_TRAINER_KENNETH 85
#define FRONTIER_TRAINER_RICH 86
#define FRONTIER_TRAINER_CADEN 87
#define FRONTIER_TRAINER_MARLON 88
#define FRONTIER_TRAINER_NASH 89
#define FRONTIER_TRAINER_ROBBY 90
#define FRONTIER_TRAINER_REECE 91
#define FRONTIER_TRAINER_KATHRYN 92
#define FRONTIER_TRAINER_ELLEN 93
#define FRONTIER_TRAINER_RAMON 94
#define FRONTIER_TRAINER_ARTHUR 95
#define FRONTIER_TRAINER_ALONDRA 96
#define FRONTIER_TRAINER_ADRIANA 97
#define FRONTIER_TRAINER_MALIK 98
#define FRONTIER_TRAINER_JILL 99
#define FRONTIER_TRAINER_ERIK 100
#define FRONTIER_TRAINER_YAZMIN 101
#define FRONTIER_TRAINER_JAMAL 102
#define FRONTIER_TRAINER_LESLIE 103
#define FRONTIER_TRAINER_DAVE 104
#define FRONTIER_TRAINER_CARLO 105
#define FRONTIER_TRAINER_EMILIA 106
#define FRONTIER_TRAINER_DALIA 107
#define FRONTIER_TRAINER_HITOMI 108
#define FRONTIER_TRAINER_RICARDO 109
#define FRONTIER_TRAINER_SHIZUKA 110
#define FRONTIER_TRAINER_JOANA 111
#define FRONTIER_TRAINER_KELLY 112
#define FRONTIER_TRAINER_RAYNA 113
#define FRONTIER_TRAINER_EVAN 114
#define FRONTIER_TRAINER_JORDAN 115
#define FRONTIER_TRAINER_JOEL 116
#define FRONTIER_TRAINER_KRISTEN 117
#define FRONTIER_TRAINER_SELPHY 118
#define FRONTIER_TRAINER_CHLOE 119
#define FRONTIER_TRAINER_NORTON 120
#define FRONTIER_TRAINER_LUKAS 121
#define FRONTIER_TRAINER_ZACH 122
#define FRONTIER_TRAINER_KAITLYN 123
#define FRONTIER_TRAINER_BREANNA 124
#define FRONTIER_TRAINER_KENDRA 125
#define FRONTIER_TRAINER_MOLLY 126
#define FRONTIER_TRAINER_JAZMIN 127
#define FRONTIER_TRAINER_KELSEY 128
#define FRONTIER_TRAINER_JALEN 129
#define FRONTIER_TRAINER_GRIFFEN 130
#define FRONTIER_TRAINER_XANDER 131
#define FRONTIER_TRAINER_MARVIN 132
#define FRONTIER_TRAINER_BRENNAN 133
#define FRONTIER_TRAINER_BALEY 134
#define FRONTIER_TRAINER_ZACKARY 135
#define FRONTIER_TRAINER_GABRIEL 136
#define FRONTIER_TRAINER_EMILY 137
#define FRONTIER_TRAINER_JORDYN 138
#define FRONTIER_TRAINER_SOFIA 139
#define FRONTIER_TRAINER_BRADEN 140
#define FRONTIER_TRAINER_KAYDEN 141
#define FRONTIER_TRAINER_COOPER 142
#define FRONTIER_TRAINER_JULIA 143
#define FRONTIER_TRAINER_AMARA 144
#define FRONTIER_TRAINER_LYNN 145
#define FRONTIER_TRAINER_JOVAN 146
#define FRONTIER_TRAINER_DOMINIC 147
#define FRONTIER_TRAINER_NIKOLAS 148
#define FRONTIER_TRAINER_VALERIA 149
#define FRONTIER_TRAINER_DELANEY 150
#define FRONTIER_TRAINER_MEGHAN 151
#define FRONTIER_TRAINER_ROBERTO 152
#define FRONTIER_TRAINER_DAMIAN 153
#define FRONTIER_TRAINER_BRODY 154
#define FRONTIER_TRAINER_GRAHAM 155
#define FRONTIER_TRAINER_TYLOR 156
#define FRONTIER_TRAINER_JAREN 157
#define FRONTIER_TRAINER_CORDELL 158
#define FRONTIER_TRAINER_JAZLYN 159
#define FRONTIER_TRAINER_ZACHERY 160
#define FRONTIER_TRAINER_JOHAN 161
#define FRONTIER_TRAINER_SHEA 162
#define FRONTIER_TRAINER_KAILA 163
#define FRONTIER_TRAINER_ISIAH 164
#define FRONTIER_TRAINER_GARRETT 165
#define FRONTIER_TRAINER_HAYLIE 166
#define FRONTIER_TRAINER_MEGAN 167
#define FRONTIER_TRAINER_ISSAC 168
#define FRONTIER_TRAINER_QUINTON 169
#define FRONTIER_TRAINER_SALMA 170
#define FRONTIER_TRAINER_ANSLEY 171
#define FRONTIER_TRAINER_HOLDEN 172
#define FRONTIER_TRAINER_LUCA 173
#define FRONTIER_TRAINER_JAMISON 174
#define FRONTIER_TRAINER_GUNNAR 175
#define FRONTIER_TRAINER_CRAIG 176
#define FRONTIER_TRAINER_PIERCE 177
#define FRONTIER_TRAINER_REGINA 178
#define FRONTIER_TRAINER_ALISON 179
#define FRONTIER_TRAINER_HANK 180
#define FRONTIER_TRAINER_EARL 181
#define FRONTIER_TRAINER_RAMIRO 182
#define FRONTIER_TRAINER_HUNTER 183
#define FRONTIER_TRAINER_AIDEN 184
#define FRONTIER_TRAINER_XAVIER 185
#define FRONTIER_TRAINER_CLINTON 186
#define FRONTIER_TRAINER_JESSE 187
#define FRONTIER_TRAINER_EDUARDO 188
#define FRONTIER_TRAINER_HAL 189
#define FRONTIER_TRAINER_GAGE 190
#define FRONTIER_TRAINER_ARNOLD 191
#define FRONTIER_TRAINER_JARRETT 192
#define FRONTIER_TRAINER_GARETT 193
#define FRONTIER_TRAINER_EMANUEL 194
#define FRONTIER_TRAINER_GUSTAVO 195
#define FRONTIER_TRAINER_KAMERON 196
#define FRONTIER_TRAINER_ALFREDO 197
#define FRONTIER_TRAINER_RUBEN 198
#define FRONTIER_TRAINER_LAMAR 199
#define FRONTIER_TRAINER_JAXON 200
#define FRONTIER_TRAINER_LOGAN 201
#define FRONTIER_TRAINER_EMILEE 202
#define FRONTIER_TRAINER_JOSIE 203
#define FRONTIER_TRAINER_ARMANDO 204
#define FRONTIER_TRAINER_SKYLER 205
#define FRONTIER_TRAINER_RUTH 206
#define FRONTIER_TRAINER_MELODY 207
#define FRONTIER_TRAINER_PEDRO 208
#define FRONTIER_TRAINER_ERICK 209
#define FRONTIER_TRAINER_ELAINE 210
#define FRONTIER_TRAINER_JOYCE 211
#define FRONTIER_TRAINER_TODD 212
#define FRONTIER_TRAINER_GAVIN 213
#define FRONTIER_TRAINER_MALORY 214
#define FRONTIER_TRAINER_ESTHER 215
#define FRONTIER_TRAINER_OSCAR 216
#define FRONTIER_TRAINER_WILSON 217
#define FRONTIER_TRAINER_CLARE 218
#define FRONTIER_TRAINER_TESS 219
#define FRONTIER_TRAINER_LEON 220
#define FRONTIER_TRAINER_ALONZO 221
#define FRONTIER_TRAINER_VINCE 222
#define FRONTIER_TRAINER_BRYON 223
#define FRONTIER_TRAINER_AVA 224
#define FRONTIER_TRAINER_MIRIAM 225
#define FRONTIER_TRAINER_CARRIE 226
#define FRONTIER_TRAINER_GILLIAN2 227
#define FRONTIER_TRAINER_TYLER 228
#define FRONTIER_TRAINER_CHAZ 229
#define FRONTIER_TRAINER_NELSON 230
#define FRONTIER_TRAINER_SHANIA 231
#define FRONTIER_TRAINER_STELLA 232
#define FRONTIER_TRAINER_DORINE 233
#define FRONTIER_TRAINER_MADDOX 234
#define FRONTIER_TRAINER_DAVIN 235
#define FRONTIER_TRAINER_TREVON 236
#define FRONTIER_TRAINER_MATEO 237
#define FRONTIER_TRAINER_BRET 238
#define FRONTIER_TRAINER_RAUL 239
#define FRONTIER_TRAINER_KAY 240
#define FRONTIER_TRAINER_ELENA 241
#define FRONTIER_TRAINER_ALANA 242
#define FRONTIER_TRAINER_ALEXAS 243
#define FRONTIER_TRAINER_WESTON 244
#define FRONTIER_TRAINER_JASPER 245
#define FRONTIER_TRAINER_NADIA 246
#define FRONTIER_TRAINER_MIRANDA 247
#define FRONTIER_TRAINER_EMMA 248
#define FRONTIER_TRAINER_ROLANDO 249
#define FRONTIER_TRAINER_STANLY 250
#define FRONTIER_TRAINER_DARIO 251
#define FRONTIER_TRAINER_KARLEE 252
#define FRONTIER_TRAINER_JAYLIN 253
#define FRONTIER_TRAINER_INGRID 254
#define FRONTIER_TRAINER_DELILAH 255
#define FRONTIER_TRAINER_CARLY 256
#define FRONTIER_TRAINER_LEXIE 257
#define FRONTIER_TRAINER_MILLER 258
#define FRONTIER_TRAINER_MARV 259
#define FRONTIER_TRAINER_LAYTON 260
#define FRONTIER_TRAINER_BROOKS 261
#define FRONTIER_TRAINER_GREGORY 262
#define FRONTIER_TRAINER_REESE 263
#define FRONTIER_TRAINER_MASON 264
#define FRONTIER_TRAINER_TOBY 265
#define FRONTIER_TRAINER_DOROTHY 266
#define FRONTIER_TRAINER_PIPER 267
#define FRONTIER_TRAINER_FINN 268
#define FRONTIER_TRAINER_SAMIR 269
#define FRONTIER_TRAINER_FIONA 270
#define FRONTIER_TRAINER_GLORIA 271
#define FRONTIER_TRAINER_NICO 272
#define FRONTIER_TRAINER_JEREMY 273
#define FRONTIER_TRAINER_CAITLIN 274
#define FRONTIER_TRAINER_REENA 275
#define FRONTIER_TRAINER_AVERY 276
#define FRONTIER_TRAINER_LIAM 277
#define FRONTIER_TRAINER_THEO 278
#define FRONTIER_TRAINER_BAILEY 279
#define FRONTIER_TRAINER_HUGO 280
#define FRONTIER_TRAINER_BRYCE 281
#define FRONTIER_TRAINER_GIDEON 282
#define FRONTIER_TRAINER_TRISTON 283
#define FRONTIER_TRAINER_CHARLES 284
#define FRONTIER_TRAINER_RAYMOND 285
#define FRONTIER_TRAINER_DIRK 286
#define FRONTIER_TRAINER_HAROLD 287
#define FRONTIER_TRAINER_OMAR 288
#define FRONTIER_TRAINER_PETER 289
#define FRONTIER_TRAINER_DEV 290
#define FRONTIER_TRAINER_COREY 291
#define FRONTIER_TRAINER_ANDRE 292
#define FRONTIER_TRAINER_FERRIS 293
#define FRONTIER_TRAINER_ALIVIA 294
#define FRONTIER_TRAINER_PAIGE 295
#define FRONTIER_TRAINER_ANYA 296
#define FRONTIER_TRAINER_DAWN 297
#define FRONTIER_TRAINER_ABBY 298
#define FRONTIER_TRAINER_GRETEL 299
#define FRONTIER_TRAINERS_COUNT 300
// special trainer IDs begin at 300, see constants/trainers.h
#endif // GUARD_CONSTANTS_BATTLE_FRONTIER_TRAINERS_H

View File

@@ -0,0 +1,19 @@
#ifndef GUARD_CONSTANTS_BATTLE_PALACE_H
#define GUARD_CONSTANTS_BATTLE_PALACE_H
#define BATTLE_PALACE_FUNC_INIT 0
#define BATTLE_PALACE_FUNC_GET_DATA 1
#define BATTLE_PALACE_FUNC_SET_DATA 2
#define BATTLE_PALACE_FUNC_GET_COMMENT_ID 3
#define BATTLE_PALACE_FUNC_SET_OPPONENT 4
#define BATTLE_PALACE_FUNC_GET_OPPONENT_INTRO 5
#define BATTLE_PALACE_FUNC_INCREMENT_STREAK 6
#define BATTLE_PALACE_FUNC_SAVE 7
#define BATTLE_PALACE_FUNC_SET_PRIZE 8
#define BATTLE_PALACE_FUNC_GIVE_PRIZE 9
#define PALACE_DATA_PRIZE 0
#define PALACE_DATA_WIN_STREAK 1
#define PALACE_DATA_WIN_STREAK_ACTIVE 2
#endif //GUARD_CONSTANTS_BATTLE_PALACE_H

View File

@@ -0,0 +1,72 @@
#ifndef GUARD_CONSTANTS_BATTLE_PIKE_H
#define GUARD_CONSTANTS_BATTLE_PIKE_H
#define PIKE_ROOM_SINGLE_BATTLE 0
#define PIKE_ROOM_HEAL_FULL 1
#define PIKE_ROOM_NPC 2
#define PIKE_ROOM_STATUS 3
#define PIKE_ROOM_HEAL_PART 4
#define PIKE_ROOM_WILD_MONS 5
#define PIKE_ROOM_HARD_BATTLE 6
#define PIKE_ROOM_DOUBLE_BATTLE 7
#define PIKE_ROOM_BRAIN 8
#define NUM_PIKE_ROOM_TYPES 9
#define PIKE_ROOM_LEFT 0
#define PIKE_ROOM_CENTER 1
#define PIKE_ROOM_RIGHT 2
#define PIKE_HINT_NOSTALGIA 0
#define PIKE_HINT_WHISPERING 1
#define PIKE_HINT_POKEMON 2
#define PIKE_HINT_PEOPLE 3
#define PIKE_HINT_BRAIN 4
// For the room with a status effect.
#define PIKE_STATUSMON_KIRLIA 0
#define PIKE_STATUSMON_DUSCLOPS 1
#define PIKE_STATUS_FREEZE 0
#define PIKE_STATUS_BURN 1
#define PIKE_STATUS_TOXIC 2
#define PIKE_STATUS_PARALYSIS 3
#define PIKE_STATUS_SLEEP 4
// Function IDs for sBattlePikeFunctions / CallBattlePikeFunction
#define BATTLE_PIKE_FUNC_SET_ROOM_TYPE 0
#define BATTLE_PIKE_FUNC_GET_DATA 1
#define BATTLE_PIKE_FUNC_SET_DATA 2
#define BATTLE_PIKE_FUNC_IS_FINAL_ROOM 3
#define BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS 4
#define BATTLE_PIKE_FUNC_GET_ROOM_TYPE 5
#define BATTLE_PIKE_FUNC_SET_IN_WILD_MON_ROOM 6
#define BATTLE_PIKE_FUNC_CLEAR_IN_WILD_MON_ROOM 7
#define BATTLE_PIKE_FUNC_SAVE 8
#define BATTLE_PIKE_FUNC_NULL_9 9
#define BATTLE_PIKE_FUNC_NULL_10 10
#define BATTLE_PIKE_FUNC_GET_ROOM_STATUS 11
#define BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON 12
#define BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS 13
#define BATTLE_PIKE_FUNC_BUFFER_NPC_MSG 14
#define BATTLE_PIKE_FUNC_STATUS_SCREEN_FLASH 15
#define BATTLE_PIKE_FUNC_IS_IN 16
#define BATTLE_PIKE_FUNC_SET_HINT_ROOM 17
#define BATTLE_PIKE_FUNC_GET_HINT_ROOM_ID 18
#define BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT 19
#define BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS 20
#define BATTLE_PIKE_FUNC_GET_TRAINER_INTRO 21
#define BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE 22
#define BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN 23
#define BATTLE_PIKE_FUNC_SET_HEAL_ROOMS_DISABLED 24
#define BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH 25
#define BATTLE_PIKE_FUNC_SAVE_HELD_ITEMS 26
#define BATTLE_PIKE_FUNC_RESET_HELD_ITEMS 27
#define BATTLE_PIKE_FUNC_INIT 28
#define PIKE_DATA_PRIZE 0
#define PIKE_DATA_WIN_STREAK 1
#define PIKE_DATA_RECORD_STREAK 2
#define PIKE_DATA_TOTAL_STREAKS 3
#define PIKE_DATA_WIN_STREAK_ACTIVE 4
#endif // GUARD_CONSTANTS_BATTLE_PIKE_H

View File

@@ -0,0 +1,61 @@
#ifndef GUARD_CONSTANTS_BATTLE_PYRAMID_H
#define GUARD_CONSTANTS_BATTLE_PYRAMID_H
#define TOTAL_ROUNDS 20
#define PICKUP_ITEMS_PER_ROUND 10
#define FLOOR_WALKABLE_METATILE 0x28D
#define FLOOR_EXIT_METATILE 0x28E
#define HINT_EXIT_DIRECTION 0
#define HINT_REMAINING_ITEMS 1
#define HINT_REMAINING_TRAINERS 2
#define HINT_EXIT_SHORT_REMAINING_TRAINERS 3
#define HINT_EXIT_SHORT_REMAINING_ITEMS 4
#define HINT_EXIT_MEDIUM_REMAINING_TRAINERS 5
#define HINT_EXIT_MEDIUM_REMAINING_ITEMS 6
#define HINT_EXIT_FAR_REMAINING_TRAINERS 7
#define HINT_EXIT_FAR_REMAINING_ITEMS 8
#define OBJ_TRAINERS 0
#define OBJ_ITEMS 1
#define OBJ_POSITIONS_UNIFORM 0
#define OBJ_POSITIONS_IN_AND_NEAR_ENTRANCE 1
#define OBJ_POSITIONS_IN_AND_NEAR_EXIT 2
#define OBJ_POSITIONS_NEAR_ENTRANCE 3
#define OBJ_POSITIONS_NEAR_EXIT 4
// Functions IDs for sBattlePyramidFunctions / CallBattlePyramidFunction
#define BATTLE_PYRAMID_FUNC_INIT 0
#define BATTLE_PYRAMID_FUNC_GET_DATA 1
#define BATTLE_PYRAMID_FUNC_SET_DATA 2
#define BATTLE_PYRAMID_FUNC_SAVE 3
#define BATTLE_PYRAMID_FUNC_SET_PRIZE 4
#define BATTLE_PYRAMID_FUNC_GIVE_PRIZE 5 // unused
#define BATTLE_PYRAMID_FUNC_SEED_FLOOR 6
#define BATTLE_PYRAMID_FUNC_SET_ITEM 7
#define BATTLE_PYRAMID_FUNC_HIDE_ITEM 8
#define BATTLE_PYRAMID_FUNC_SET_TRAINERS 9
#define BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT 10
#define BATTLE_PYRAMID_FUNC_UPDATE_STREAK 11 // unused
#define BATTLE_PYRAMID_FUNC_IS_IN 12
#define BATTLE_PYRAMID_FUNC_UPDATE_LIGHT 13
#define BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS 14
#define BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE 15
#define BATTLE_PYRAMID_FUNC_START_MENU 16 // unused
#define BATTLE_PYRAMID_FUNC_RESTORE_PARTY 17
#define PYRAMID_DATA_PRIZE 0
#define PYRAMID_DATA_WIN_STREAK 1
#define PYRAMID_DATA_WIN_STREAK_ACTIVE 2
#define PYRAMID_DATA_WIN_STREAK_50 3 // the below streak data are redundant with the above when frontier.lvlMode is correct
#define PYRAMID_DATA_WIN_STREAK_OPEN 4
#define PYRAMID_DATA_WIN_STREAK_ACTIVE_50 5
#define PYRAMID_DATA_WIN_STREAK_ACTIVE_OPEN 6
#define PYRAMID_DATA_TRAINER_FLAGS 7
#define PYRAMID_LIGHT_SET_RADIUS 0
#define PYRAMID_LIGHT_INCR_RADIUS 1
#endif // GUARD_CONSTANTS_BATTLE_PYRAMID_H

View File

@@ -39,16 +39,16 @@
#define BS_EFFECT_BATTLER 2
#define BS_FAINTED 3
#define BS_BATTLER_0 7
#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update
#define BS_ATTACKER_SIDE 8 // for atk1E_jumpifability
#define BS_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability
#define BS_ATTACKER_WITH_PARTNER 4 // for Cmd_updatestatusicon
#define BS_ATTACKER_SIDE 8 // for Cmd_jumpifability
#define BS_NOT_ATTACKER_SIDE 9 // for Cmd_jumpifability
#define BS_SCRIPTING 10
#define BS_PLAYER1 11
#define BS_OPPONENT1 12
#define BS_PLAYER2 13
#define BS_OPPONENT2 14
// atk 01, accuracy calc
// Cmd_accuracycheck
#define NO_ACC_CALC 0xFFFE
#define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF
#define ACC_CURR_MOVE 0
@@ -61,7 +61,7 @@
#define CMP_COMMON_BITS 0x4
#define CMP_NO_COMMON_BITS 0x5
// atk76, various
// Cmd_various
#define VARIOUS_CANCEL_MULTI_TURN_MOVES 0
#define VARIOUS_SET_MAGIC_COAT_TARGET 1
#define VARIOUS_IS_RUNNING_IMPOSSIBLE 2
@@ -84,44 +84,25 @@
#define VARIOUS_SET_TELEPORT_OUTCOME 25
#define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26
// atk80, dmg manipulation
#define ATK80_DMG_CHANGE_SIGN 0
#define ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP 1
#define ATK80_DMG_DOUBLED 2
// Cmd_manipulatedmg
#define DMG_CHANGE_SIGN 0
#define DMG_RECOIL_FROM_MISS 1
#define DMG_DOUBLED 2
// atk4F, a flag used for the jumpifcantswitch command
#define ATK4F_DONT_CHECK_STATUSES 0x80
// Cmd_jumpifcantswitch
#define SWITCH_IGNORE_ESCAPE_PREVENTION 0x80
// statchange defines
#define STAT_CHANGE_BS_PTR 0x1
#define STAT_CHANGE_NOT_PROTECT_AFFECTED 0x20
// Cmd_statbuffchange
#define STAT_BUFF_ALLOW_PTR 0x1 // If set, allow use of jumpptr. Set in every use of statbuffchange
#define STAT_BUFF_NOT_PROTECT_AFFECTED 0x20
// atk48
#define ATK48_STAT_NEGATIVE 0x1
#define ATK48_STAT_BY_TWO 0x2
#define ATK48_ONLY_MULTIPLE 0x4
#define ATK48_DONT_CHECK_LOWER 0x8
// atk49, moveend cases
#define ATK49_RAGE 0
#define ATK49_DEFROST 1
#define ATK49_SYNCHRONIZE_TARGET 2
#define ATK49_MOVE_END_ABILITIES 3
#define ATK49_STATUS_IMMUNITY_ABILITIES 4
#define ATK49_SYNCHRONIZE_ATTACKER 5
#define ATK49_CHOICE_MOVE 6
#define ATK49_CHANGED_ITEMS 7
#define ATK49_ATTACKER_INVISIBLE 8
#define ATK49_ATTACKER_VISIBLE 9
#define ATK49_TARGET_VISIBLE 10
#define ATK49_ITEM_EFFECTS_ALL 11
#define ATK49_KINGSROCK_SHELLBELL 12
#define ATK49_SUBSTITUTE 13
#define ATK49_UPDATE_LAST_MOVES 14
#define ATK49_MIRROR_MOVE 15
#define ATK49_NEXT_TARGET 16
#define ATK49_COUNT 17
// stat change flags for Cmd_playstatchangeanimation
#define STAT_CHANGE_NEGATIVE 0x1
#define STAT_CHANGE_BY_TWO 0x2
#define STAT_CHANGE_MULTIPLE_STATS 0x4
#define STAT_CHANGE_CANT_PREVENT 0x8
// stat flags for Cmd_playstatchangeanimation
#define BIT_HP 0x1
#define BIT_ATK 0x2
#define BIT_DEF 0x4
@@ -131,4 +112,24 @@
#define BIT_ACC 0x40
#define BIT_EVASION 0x80
// cases for Cmd_moveend
#define MOVEEND_RAGE 0
#define MOVEEND_DEFROST 1
#define MOVEEND_SYNCHRONIZE_TARGET 2
#define MOVEEND_ON_DAMAGE_ABILITIES 3
#define MOVEEND_IMMUNITY_ABILITIES 4
#define MOVEEND_SYNCHRONIZE_ATTACKER 5
#define MOVEEND_CHOICE_MOVE 6
#define MOVEEND_CHANGED_ITEMS 7
#define MOVEEND_ATTACKER_INVISIBLE 8
#define MOVEEND_ATTACKER_VISIBLE 9
#define MOVEEND_TARGET_VISIBLE 10
#define MOVEEND_ITEM_EFFECTS_ALL 11
#define MOVEEND_KINGSROCK_SHELLBELL 12
#define MOVEEND_SUBSTITUTE 13
#define MOVEEND_UPDATE_LAST_MOVES 14
#define MOVEEND_MIRROR_MOVE 15
#define MOVEEND_NEXT_TARGET 16
#define MOVEEND_COUNT 17
#endif // GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H

View File

@@ -13,6 +13,6 @@
#define TRAINER_BATTLE_PYRAMID 9
#define TRAINER_BATTLE_SET_TRAINER_A 10
#define TRAINER_BATTLE_SET_TRAINER_B 11
#define TRAINER_BATTLE_12 12
#define TRAINER_BATTLE_HILL 12
#endif // GUARD_CONSTANTS_BATTLE_SETUP_H

View File

@@ -0,0 +1,32 @@
#ifndef GUARD_CONSTANTS_BATTLE_TENT_H
#define GUARD_CONSTANTS_BATTLE_TENT_H
#define VERDANTURF_TENT_FUNC_INIT 0
#define VERDANTURF_TENT_FUNC_GET_PRIZE 1
#define VERDANTURF_TENT_FUNC_SET_PRIZE 2
#define VERDANTURF_TENT_FUNC_SET_OPPONENT_GFX 3
#define VERDANTURF_TENT_FUNC_GET_OPPONENT_INTRO 4
#define VERDANTURF_TENT_FUNC_SAVE 5
#define VERDANTURF_TENT_FUNC_SET_RANDOM_PRIZE 6
#define VERDANTURF_TENT_FUNC_GIVE_PRIZE 7
#define FALLARBOR_TENT_FUNC_INIT 0
#define FALLARBOR_TENT_FUNC_GET_PRIZE 1
#define FALLARBOR_TENT_FUNC_SET_PRIZE 2
#define FALLARBOR_TENT_FUNC_SAVE 3
#define FALLARBOR_TENT_FUNC_SET_RANDOM_PRIZE 4
#define FALLARBOR_TENT_FUNC_GIVE_PRIZE 5
#define FALLARBOR_TENT_FUNC_GET_OPPONENT_NAME 6
#define SLATEPORT_TENT_FUNC_INIT 0
#define SLATEPORT_TENT_FUNC_GET_PRIZE 1
#define SLATEPORT_TENT_FUNC_SET_PRIZE 2
#define SLATEPORT_TENT_FUNC_SAVE 3
#define SLATEPORT_TENT_FUNC_SET_RANDOM_PRIZE 4
#define SLATEPORT_TENT_FUNC_GIVE_PRIZE 5
#define SLATEPORT_TENT_FUNC_SELECT_RENT_MONS 6
#define SLATEPORT_TENT_FUNC_SWAP_RENT_MONS 7
#define SLATEPORT_TENT_FUNC_GENERATE_OPPONENT_MONS 8
#define SLATEPORT_TENT_FUNC_GENERATE_RENTAL_MONS 9
#endif // GUARD_CONSTANTS_BATTLE_TENT_H

View File

@@ -0,0 +1,173 @@
#ifndef GUARD_CONSTANTS_BATTLE_TENT_MONS_H
#define GUARD_CONSTANTS_BATTLE_TENT_MONS_H
#define SLATEPORT_TENT_MON_ZIGZAGOON_1 0
#define SLATEPORT_TENT_MON_ZIGZAGOON_2 1
#define SLATEPORT_TENT_MON_BEAUTIFLY 2
#define SLATEPORT_TENT_MON_DUSTOX 3
#define SLATEPORT_TENT_MON_WAILMER_1 4
#define SLATEPORT_TENT_MON_WAILMER_2 5
#define SLATEPORT_TENT_MON_MARILL_1 6
#define SLATEPORT_TENT_MON_WINGULL_1 7
#define SLATEPORT_TENT_MON_PELIPPER_1 8
#define SLATEPORT_TENT_MON_CACNEA_1 9
#define SLATEPORT_TENT_MON_LOMBRE_1 10
#define SLATEPORT_TENT_MON_LOTAD 11
#define SLATEPORT_TENT_MON_SEEDOT 12
#define SLATEPORT_TENT_MON_NUZLEAF 13
#define SLATEPORT_TENT_MON_NINJASK_1 14
#define SLATEPORT_TENT_MON_NINJASK_2 15
#define SLATEPORT_TENT_MON_GRAVELER 16
#define SLATEPORT_TENT_MON_BALTOY 17
#define SLATEPORT_TENT_MON_MIGHTYENA_1 18
#define SLATEPORT_TENT_MON_MIGHTYENA_2 19
#define SLATEPORT_TENT_MON_LINOONE 20
#define SLATEPORT_TENT_MON_GOLDEEN 21
#define SLATEPORT_TENT_MON_ELECTRIKE_1 22
#define SLATEPORT_TENT_MON_VOLTORB 23
#define SLATEPORT_TENT_MON_ARON_1 24
#define SLATEPORT_TENT_MON_ARON_2 25
#define SLATEPORT_TENT_MON_TRAPINCH_1 26
#define SLATEPORT_TENT_MON_CACNEA_2 27
#define SLATEPORT_TENT_MON_TAILLOW 28
#define SLATEPORT_TENT_MON_SWELLOW 29
#define SLATEPORT_TENT_MON_GOLBAT_1 30
#define SLATEPORT_TENT_MON_LOUDRED 31
#define SLATEPORT_TENT_MON_SPINDA 32
#define SLATEPORT_TENT_MON_MAGNEMITE 33
#define SLATEPORT_TENT_MON_WHISMUR 34
#define SLATEPORT_TENT_MON_MAKUHITA 35
#define SLATEPORT_TENT_MON_NUMEL_1 36
#define SLATEPORT_TENT_MON_BARBOACH 37
#define SLATEPORT_TENT_MON_TENTACOOL 38
#define SLATEPORT_TENT_MON_VIGOROTH 39
#define SLATEPORT_TENT_MON_MAGIKARP 40
#define SLATEPORT_TENT_MON_SEVIPER_1 41
#define SLATEPORT_TENT_MON_SOLROCK 42
#define SLATEPORT_TENT_MON_KECLEON_1 43
#define SLATEPORT_TENT_MON_KECLEON_2 44
#define SLATEPORT_TENT_MON_SHROOMISH_1 45
#define SLATEPORT_TENT_MON_SHROOMISH_2 46
#define SLATEPORT_TENT_MON_LOMBRE_2 47
#define SLATEPORT_TENT_MON_NUMEL_2 48
#define SLATEPORT_TENT_MON_TRAPINCH_2 49
#define SLATEPORT_TENT_MON_PELIPPER_2 50
#define SLATEPORT_TENT_MON_WINGULL_2 51
#define SLATEPORT_TENT_MON_MARILL_2 52
#define SLATEPORT_TENT_MON_SKITTY 53
#define SLATEPORT_TENT_MON_SEVIPER_2 54
#define SLATEPORT_TENT_MON_GOLBAT_2 55
#define SLATEPORT_TENT_MON_RALTS 56
#define SLATEPORT_TENT_MON_SANDSHREW 57
#define SLATEPORT_TENT_MON_SWALOT 58
#define SLATEPORT_TENT_MON_VOLBEAT 59
#define SLATEPORT_TENT_MON_ILLUMISE 60
#define SLATEPORT_TENT_MON_KADABRA 61
#define SLATEPORT_TENT_MON_KIRLIA 62
#define SLATEPORT_TENT_MON_BRELOOM 63
#define SLATEPORT_TENT_MON_PLUSLE_1 64
#define SLATEPORT_TENT_MON_PLUSLE_2 65
#define SLATEPORT_TENT_MON_ELECTRIKE_2 66
#define SLATEPORT_TENT_MON_SWABLU 67
#define SLATEPORT_TENT_MON_MACHOP 68
#define SLATEPORT_TENT_MON_MACHOKE 69
#define NUM_SLATEPORT_TENT_MONS 70
#define VERDANTURF_TENT_MON_POOCHYENA 0
#define VERDANTURF_TENT_MON_ZIGZAGOON 1
#define VERDANTURF_TENT_MON_DUSTOX 2
#define VERDANTURF_TENT_MON_TAILLOW 3
#define VERDANTURF_TENT_MON_SHROOMISH 4
#define VERDANTURF_TENT_MON_MACHOP 5
#define VERDANTURF_TENT_MON_MAGIKARP 6
#define VERDANTURF_TENT_MON_BARBOACH 7
#define VERDANTURF_TENT_MON_WINGULL 8
#define VERDANTURF_TENT_MON_ARON_1 9
#define VERDANTURF_TENT_MON_NUMEL_1 10
#define VERDANTURF_TENT_MON_SWALOT 11
#define VERDANTURF_TENT_MON_KECLEON 12
#define VERDANTURF_TENT_MON_BALTOY 13
#define VERDANTURF_TENT_MON_NINJASK 14
#define VERDANTURF_TENT_MON_MAKUHITA 15
#define VERDANTURF_TENT_MON_SWABLU 16
#define VERDANTURF_TENT_MON_GOLDEEN_1 17
#define VERDANTURF_TENT_MON_LOTAD 18
#define VERDANTURF_TENT_MON_NUMEL_2 19
#define VERDANTURF_TENT_MON_LINOONE 20
#define VERDANTURF_TENT_MON_SEVIPER 21
#define VERDANTURF_TENT_MON_SKARMORY 22
#define VERDANTURF_TENT_MON_SWELLOW 23
#define VERDANTURF_TENT_MON_GOLDEEN_2 24
#define VERDANTURF_TENT_MON_ELECTRIKE 25
#define VERDANTURF_TENT_MON_NUZLEAF 26
#define VERDANTURF_TENT_MON_ARON_2 27
#define VERDANTURF_TENT_MON_MIGHTYENA 28
#define VERDANTURF_TENT_MON_SOLROCK 29
#define VERDANTURF_TENT_MON_GRAVELER 30
#define VERDANTURF_TENT_MON_KADABRA 31
#define VERDANTURF_TENT_MON_VOLTORB 32
#define VERDANTURF_TENT_MON_MAGNEMITE 33
#define VERDANTURF_TENT_MON_PELIPPER 34
#define VERDANTURF_TENT_MON_LOUDRED 35
#define VERDANTURF_TENT_MON_MARILL 36
#define VERDANTURF_TENT_MON_TRAPINCH 37
#define VERDANTURF_TENT_MON_TENTACOOL 38
#define VERDANTURF_TENT_MON_VIGOROTH 39
#define VERDANTURF_TENT_MON_WAILMER 40
#define VERDANTURF_TENT_MON_ILLUMISE 41
#define VERDANTURF_TENT_MON_MACHOKE 42
#define VERDANTURF_TENT_MON_WHISMUR 43
#define VERDANTURF_TENT_MON_CACNEA 44
#define NUM_VERDANTURF_TENT_MONS 45
#define FALLARBOR_TENT_MON_NUMEL 0
#define FALLARBOR_TENT_MON_LINOONE_1 1
#define FALLARBOR_TENT_MON_PLUSLE 2
#define FALLARBOR_TENT_MON_POOCHYENA 3
#define FALLARBOR_TENT_MON_KECLEON 4
#define FALLARBOR_TENT_MON_MAGIKARP 5
#define FALLARBOR_TENT_MON_SOLROCK 6
#define FALLARBOR_TENT_MON_MAKUHITA 7
#define FALLARBOR_TENT_MON_MACHOKE 8
#define FALLARBOR_TENT_MON_NINCADA 9
#define FALLARBOR_TENT_MON_BEAUTIFLY 10
#define FALLARBOR_TENT_MON_DUSTOX 11
#define FALLARBOR_TENT_MON_ILLUMISE 12
#define FALLARBOR_TENT_MON_VOLBEAT 13
#define FALLARBOR_TENT_MON_NINJASK_1 14
#define FALLARBOR_TENT_MON_NINJASK_2 15
#define FALLARBOR_TENT_MON_ARON_1 16
#define FALLARBOR_TENT_MON_ARON_2 17
#define FALLARBOR_TENT_MON_ELECTRIKE 18
#define FALLARBOR_TENT_MON_MAGNEMITE 19
#define FALLARBOR_TENT_MON_VOLTORB 20
#define FALLARBOR_TENT_MON_WHISMUR 21
#define FALLARBOR_TENT_MON_LOUDRED 22
#define FALLARBOR_TENT_MON_LINOONE_2 23
#define FALLARBOR_TENT_MON_MIGHTYENA 24
#define FALLARBOR_TENT_MON_SWABLU 25
#define FALLARBOR_TENT_MON_SKARMORY 26
#define FALLARBOR_TENT_MON_GOLBAT 27
#define FALLARBOR_TENT_MON_WINGULL 28
#define FALLARBOR_TENT_MON_PELIPPER 29
#define FALLARBOR_TENT_MON_BARBOACH 30
#define FALLARBOR_TENT_MON_WAILMER 31
#define FALLARBOR_TENT_MON_MARILL 32
#define FALLARBOR_TENT_MON_GOLDEEN_1 33
#define FALLARBOR_TENT_MON_GOLDEEN_2 34
#define FALLARBOR_TENT_MON_TRAPINCH 35
#define FALLARBOR_TENT_MON_BALTOY 36
#define FALLARBOR_TENT_MON_GRAVELER 37
#define FALLARBOR_TENT_MON_SANDSHREW 38
#define FALLARBOR_TENT_MON_SWALOT 39
#define FALLARBOR_TENT_MON_SHROOMISH 40
#define FALLARBOR_TENT_MON_KIRLIA 41
#define FALLARBOR_TENT_MON_LOMBRE 42
#define FALLARBOR_TENT_MON_NUZLEAF 43
#define FALLARBOR_TENT_MON_CACNEA 44
#define NUM_FALLARBOR_TENT_MONS 45
#endif // GUARD_CONSTANTS_BATTLE_TENT_MONS_H

View File

@@ -0,0 +1,99 @@
#ifndef GUARD_CONSTANTS_BATTLE_TENT_TRAINERS_H
#define GUARD_CONSTANTS_BATTLE_TENT_TRAINERS_H
#define SLATEPORT_TENT_TRAINER_JOLIE 0
#define SLATEPORT_TENT_TRAINER_MALACHI 1
#define SLATEPORT_TENT_TRAINER_KELSIE 2
#define SLATEPORT_TENT_TRAINER_DAVON 3
#define SLATEPORT_TENT_TRAINER_GLENDA 4
#define SLATEPORT_TENT_TRAINER_HELENA 5
#define SLATEPORT_TENT_TRAINER_RODOLFO 6
#define SLATEPORT_TENT_TRAINER_DAVION 7
#define SLATEPORT_TENT_TRAINER_KENDALL 8
#define SLATEPORT_TENT_TRAINER_COLTEN 9
#define SLATEPORT_TENT_TRAINER_IRVIN 10
#define SLATEPORT_TENT_TRAINER_SHAUN 11
#define SLATEPORT_TENT_TRAINER_KYLER 12
#define SLATEPORT_TENT_TRAINER_MAGGIE 13
#define SLATEPORT_TENT_TRAINER_STEPHON 14
#define SLATEPORT_TENT_TRAINER_REBECCA 15
#define SLATEPORT_TENT_TRAINER_REGGIE 16
#define SLATEPORT_TENT_TRAINER_JANAE 17
#define SLATEPORT_TENT_TRAINER_CAIDEN 18
#define SLATEPORT_TENT_TRAINER_KIRSTEN 19
#define SLATEPORT_TENT_TRAINER_KURTIS 20
#define SLATEPORT_TENT_TRAINER_STEFAN 21
#define SLATEPORT_TENT_TRAINER_AVERY 22
#define SLATEPORT_TENT_TRAINER_DWANE 23
#define SLATEPORT_TENT_TRAINER_MCKENNA 24
#define SLATEPORT_TENT_TRAINER_CAMRYN 25
#define SLATEPORT_TENT_TRAINER_NATASHA 26
#define SLATEPORT_TENT_TRAINER_AUSTYN 27
#define SLATEPORT_TENT_TRAINER_DONOVAN 28
#define SLATEPORT_TENT_TRAINER_TAMIA 29
#define VERDANTURF_TENT_TRAINER_BRENNA 0
#define VERDANTURF_TENT_TRAINER_DILAN 1
#define VERDANTURF_TENT_TRAINER_ELIANA 2
#define VERDANTURF_TENT_TRAINER_MARKUS 3
#define VERDANTURF_TENT_TRAINER_CAITLYN 4
#define VERDANTURF_TENT_TRAINER_DESIREE 5
#define VERDANTURF_TENT_TRAINER_RONALD 6
#define VERDANTURF_TENT_TRAINER_ASHTEN 7
#define VERDANTURF_TENT_TRAINER_GERARD 8
#define VERDANTURF_TENT_TRAINER_BRADLY 9
#define VERDANTURF_TENT_TRAINER_DENNIS 10
#define VERDANTURF_TENT_TRAINER_PRESTIN 11
#define VERDANTURF_TENT_TRAINER_ERNESTO 12
#define VERDANTURF_TENT_TRAINER_NALA 13
#define VERDANTURF_TENT_TRAINER_DARNELL 14
#define VERDANTURF_TENT_TRAINER_ASHLYN 15
#define VERDANTURF_TENT_TRAINER_ADDISON 16
#define VERDANTURF_TENT_TRAINER_JUSTINE 17
#define VERDANTURF_TENT_TRAINER_TYSON 18
#define VERDANTURF_TENT_TRAINER_LAILA 19
#define VERDANTURF_TENT_TRAINER_WAREN 20
#define VERDANTURF_TENT_TRAINER_TOBIAS 21
#define VERDANTURF_TENT_TRAINER_JOSIAH 22
#define VERDANTURF_TENT_TRAINER_DION 23
#define VERDANTURF_TENT_TRAINER_KENZIE 24
#define VERDANTURF_TENT_TRAINER_LILLIAN 25
#define VERDANTURF_TENT_TRAINER_LESLEY 26
#define VERDANTURF_TENT_TRAINER_MARQUIS 27
#define VERDANTURF_TENT_TRAINER_FREDDY 28
#define VERDANTURF_TENT_TRAINER_CECILIA 29
#define FALLARBOR_TENT_TRAINER_AMBER 0
#define FALLARBOR_TENT_TRAINER_JAVIER 1
#define FALLARBOR_TENT_TRAINER_NATALIA 2
#define FALLARBOR_TENT_TRAINER_TREVE 3
#define FALLARBOR_TENT_TRAINER_ARIANNA 4
#define FALLARBOR_TENT_TRAINER_JADYN 5
#define FALLARBOR_TENT_TRAINER_GERARDO 6
#define FALLARBOR_TENT_TRAINER_JONN 7
#define FALLARBOR_TENT_TRAINER_ESTEBAN 8
#define FALLARBOR_TENT_TRAINER_JAMESON 9
#define FALLARBOR_TENT_TRAINER_ALANZO 10
#define FALLARBOR_TENT_TRAINER_HOWARD 11
#define FALLARBOR_TENT_TRAINER_CONRAD 12
#define FALLARBOR_TENT_TRAINER_MAKENNA 13
#define FALLARBOR_TENT_TRAINER_BRAYAN 14
#define FALLARBOR_TENT_TRAINER_MARIANA 15
#define FALLARBOR_TENT_TRAINER_SHELDON 16
#define FALLARBOR_TENT_TRAINER_GIANNA 17
#define FALLARBOR_TENT_TRAINER_YAHIR 18
#define FALLARBOR_TENT_TRAINER_BRITNEY 19
#define FALLARBOR_TENT_TRAINER_HECTER 20
#define FALLARBOR_TENT_TRAINER_TANNOR 21
#define FALLARBOR_TENT_TRAINER_BENJI 22
#define FALLARBOR_TENT_TRAINER_RORY 23
#define FALLARBOR_TENT_TRAINER_ELEANOR 24
#define FALLARBOR_TENT_TRAINER_EVELYN 25
#define FALLARBOR_TENT_TRAINER_ARIELLE 26
#define FALLARBOR_TENT_TRAINER_CONNAR 27
#define FALLARBOR_TENT_TRAINER_MAURICE 28
#define FALLARBOR_TENT_TRAINER_KIANNA 29
#define NUM_BATTLE_TENT_TRAINERS 30
#endif // GUARD_CONSTANTS_BATTLE_TENT_TRAINERS_H

View File

@@ -0,0 +1,41 @@
#ifndef GUARD_CONSTANTS_BATTLE_TOWER_H
#define GUARD_CONSTANTS_BATTLE_TOWER_H
#define BATTLE_TOWER_FUNC_INIT 0
#define BATTLE_TOWER_FUNC_GET_DATA 1
#define BATTLE_TOWER_FUNC_SET_DATA 2
#define BATTLE_TOWER_FUNC_SET_OPPONENT 3
#define BATTLE_TOWER_FUNC_SET_BATTLE_WON 4
#define BATTLE_TOWER_FUNC_GIVE_RIBBONS 5
#define BATTLE_TOWER_FUNC_SAVE 6
#define BATTLE_TOWER_FUNC_GET_OPPONENT_INTRO 7
#define BATTLE_TOWER_FUNC_NOP 8
#define BATTLE_TOWER_FUNC_NOP2 9
#define BATTLE_TOWER_FUNC_LOAD_PARTNERS 10
#define BATTLE_TOWER_FUNC_PARTNER_MSG 11
#define BATTLE_TOWER_FUNC_LOAD_LINK_OPPONENTS 12
#define BATTLE_TOWER_FUNC_13 13
#define BATTLE_TOWER_FUNC_SET_PARTNER_GFX 14
#define BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA 15
#define TOWER_DATA_WIN_STREAK 1
#define TOWER_DATA_WIN_STREAK_ACTIVE 2
#define TOWER_DATA_LVL_MODE 3
// IDs for the messages printed by potential partners in the Battle Tower Multi Partner Room
#define PARTNER_MSGID_INTRO 0
#define PARTNER_MSGID_MON1 1
#define PARTNER_MSGID_MON2_ASK 2
#define PARTNER_MSGID_ACCEPT 3
#define PARTNER_MSGID_REJECT 4
// IDs for communicating with the Link Multi partner
#define BATTLE_TOWER_LINK_CONTINUE 0
#define BATTLE_TOWER_LINK_RETIRE 1
#define BATTLE_TOWER_LINKSTAT_CONTINUE 0
#define BATTLE_TOWER_LINKSTAT_BOTH_RETIRE 1
#define BATTLE_TOWER_LINKSTAT_PARTNER_RETIRE 2
#define BATTLE_TOWER_LINKSTAT_PLAYER_RETIRE 3
#endif //GUARD_CONSTANTS_BATTLE_TOWER_H

28
include/constants/berry.h Normal file
View File

@@ -0,0 +1,28 @@
#ifndef GUARD_CONSTANTS_BERRY_H
#define GUARD_CONSTANTS_BERRY_H
#define BERRY_NONE 0
#define BERRY_FIRMNESS_UNKNOWN 0
#define BERRY_FIRMNESS_VERY_SOFT 1
#define BERRY_FIRMNESS_SOFT 2
#define BERRY_FIRMNESS_HARD 3
#define BERRY_FIRMNESS_VERY_HARD 4
#define BERRY_FIRMNESS_SUPER_HARD 5
#define FLAVOR_SPICY 0
#define FLAVOR_DRY 1
#define FLAVOR_SWEET 2
#define FLAVOR_BITTER 3
#define FLAVOR_SOUR 4
#define FLAVOR_COUNT 5
#define BERRY_STAGE_NO_BERRY 0 // there is no tree planted and the soil is completely flat.
#define BERRY_STAGE_PLANTED 1
#define BERRY_STAGE_SPROUTED 2
#define BERRY_STAGE_TALLER 3
#define BERRY_STAGE_FLOWERING 4
#define BERRY_STAGE_BERRIES 5
#define BERRY_STAGE_SPARKLING 255
#endif // GUARD_CONSTANTS_BERRY_H

View File

@@ -0,0 +1,15 @@
#ifndef GUARD_CONSTANTS_CABLE_CLUB_H
#define GUARD_CONSTANTS_CABLE_CLUB_H
// States for VAR_CABLE_CLUB_STATE
#define USING_SINGLE_BATTLE 1
#define USING_DOUBLE_BATTLE 2
#define USING_TRADE_CENTER 3
#define USING_RECORD_CORNER 4
#define USING_MULTI_BATTLE 5
#define USING_UNION_ROOM 6
#define USING_BERRY_CRUSH 7
#define USING_MINIGAME 8
#define USING_BATTLE_TOWER 9
#endif //GUARD_CONSTANTS_CABLE_CLUB_H

View File

@@ -0,0 +1,6 @@
#ifndef GUARD_CONSTANTS_COINS_H
#define GUARD_CONSTANTS_COINS_H
#define MAX_COINS 9999
#endif // GUARD_CONSTANTS_COINS_H

View File

@@ -9,6 +9,19 @@
#define LINK_CONTEST_FLAG_IS_WIRELESS (1 << 1)
#define LINK_CONTEST_FLAG_HAS_RS_PLAYER (1 << 2)
#define CONTEST_RANK_NORMAL 0
#define CONTEST_RANK_SUPER 1
#define CONTEST_RANK_HYPER 2
#define CONTEST_RANK_MASTER 3
#define CONTEST_RANK_LINK 4
// States for VAR_CONTEST_TYPE
#define CONTEST_TYPE_NPC_NORMAL (CONTEST_RANK_NORMAL + 1)
#define CONTEST_TYPE_NPC_SUPER (CONTEST_RANK_SUPER + 1)
#define CONTEST_TYPE_NPC_HYPER (CONTEST_RANK_HYPER + 1)
#define CONTEST_TYPE_NPC_MASTER (CONTEST_RANK_MASTER + 1)
#define CONTEST_TYPE_LINK (CONTEST_RANK_LINK + 1)
#define CONTEST_CATEGORY_COOL 0
#define CONTEST_CATEGORY_BEAUTY 1
#define CONTEST_CATEGORY_CUTE 2
@@ -16,4 +29,10 @@
#define CONTEST_CATEGORY_TOUGH 4
#define CONTEST_CATEGORIES_COUNT 5
#define CANT_ENTER_CONTEST 0
#define CAN_ENTER_CONTEST_EQUAL_RANK 1
#define CAN_ENTER_CONTEST_HIGH_RANK 2
#define CANT_ENTER_CONTEST_EGG 3
#define CANT_ENTER_CONTEST_FAINTED 4
#endif // GUARD_CONSTANTS_CONTEST_H

View File

@@ -0,0 +1,27 @@
#ifndef GUARD_DAYCARE_CONSTANTS_H
#define GUARD_DAYCARE_CONSTANTS_H
// Parent compatability scores
#define PARENTS_INCOMPATIBLE 0
#define PARENTS_LOW_COMPATIBILITY 20
#define PARENTS_MED_COMPATABILITY 50
#define PARENTS_MAX_COMPATABILITY 70
// Daycare state
#define DAYCARE_NO_MONS 0
#define DAYCARE_EGG_WAITING 1
#define DAYCARE_ONE_MON 2
#define DAYCARE_TWO_MONS 3
#define INHERITED_IV_COUNT 3
#define EGG_HATCH_LEVEL 5
#define EGG_GENDER_MALE 0x8000 // used to create a male egg from a female-only parent species (e.g. Nidoran)
#define DAYCARE_LEVEL_MENU_EXIT 5
#define DAYCARE_EXITED_LEVEL_MENU 2 // would be redundant with above if GF had used the same value
// Array buffers
#define EGG_MOVES_ARRAY_COUNT 10
#define EGG_LVL_UP_MOVES_ARRAY_COUNT 50
#endif //GUARD_DAYCARE_CONSTANTS_H

View File

@@ -1095,6 +1095,15 @@
#define EC_WORD_OLD (EC_GROUP_TRENDY_SAYING << 9) | 0x1e
#define EC_WORD_YOUNG (EC_GROUP_TRENDY_SAYING << 9) | 0x1f
#define EC_WORD_UGLY (EC_GROUP_TRENDY_SAYING << 9) | 0x20
#define NUM_ADDITIONAL_PHRASES 33
// Special Berry Masters Wife phrases
#define NOT_SPECIAL_PHRASE 0
#define PHRASE_GREAT_BATTLE 1
#define PHRASE_CHALLENGE_CONTEST 2
#define PHRASE_OVERWHELMING_LATIAS 3
#define PHRASE_COOL_LATIOS 4
#define PHRASE_SUPER_HUSTLE 5
#define EC_POKEMON(mon) ((EC_GROUP_POKEMON << 9) | SPECIES_##mon)
#define EC_POKEMON2(mon) ((EC_GROUP_POKEMON_2 << 9) | SPECIES_##mon)

View File

@@ -179,8 +179,8 @@
#define MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY 0x5D
#define MOVEMENT_ACTION_INIT_AFFINE_ANIM 0x5E
#define MOVEMENT_ACTION_CLEAR_AFFINE_ANIM 0x5F
#define MOVEMENT_ACTION_UNKNOWN1 0x60
#define MOVEMENT_ACTION_UNKNOWN2 0x61
#define MOVEMENT_ACTION_HIDE_REFLECTION 0x60
#define MOVEMENT_ACTION_SHOW_REFLECTION 0x61
#define MOVEMENT_ACTION_WALK_DOWN_START_AFFINE 0x62
#define MOVEMENT_ACTION_WALK_DOWN_AFFINE 0x63
#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN 0x64

View File

@@ -0,0 +1,12 @@
#ifndef GUARD_CONSTANTS_FIELD_POISON_H
#define GUARD_CONSTANTS_FIELD_POISON_H
#define FLDPSN_NONE 0
#define FLDPSN_PSN 1
#define FLDPSN_FNT 2
#define FLDPSN_NO_WHITEOUT 0
#define FLDPSN_WHITEOUT 1
#define FLDPSN_FRONTIER_WHITEOUT 2
#endif //GUARD_CONSTANTS_FIELD_POISON_H

View File

@@ -0,0 +1,78 @@
#ifndef GUARD_CONSTANTS_FIELD_SPECIALS_H
#define GUARD_CONSTANTS_FIELD_SPECIALS_H
// PC Locations
#define PC_LOCATION_OTHER 0
#define PC_LOCATION_BRENDANS_HOUSE 1
#define PC_LOCATION_MAYS_HOUSE 2
// SS Tidal Locations
#define SS_TIDAL_LOCATION_CURRENTS 0
#define SS_TIDAL_LOCATION_SLATEPORT 1
#define SS_TIDAL_LOCATION_LILYCOVE 2
#define SS_TIDAL_LOCATION_ROUTE124 3
#define SS_TIDAL_LOCATION_ROUTE131 4
#define SS_TIDAL_BOARD_SLATEPORT 1
#define SS_TIDAL_DEPART_SLATEPORT 2
#define SS_TIDAL_HALFWAY_LILYCOVE 3
#define SS_TIDAL_LAND_LILYCOVE 4
#define SS_TIDAL_BOARD_LILYCOVE 5
#define SS_TIDAL_DEPART_LILYCOVE 6
#define SS_TIDAL_HALFWAY_SLATEPORT 7
#define SS_TIDAL_LAND_SLATEPORT 8
#define SS_TIDAL_EXIT_CURRENTS_RIGHT 9
#define SS_TIDAL_EXIT_CURRENTS_LEFT 10
#define SS_TIDAL_MAX_STEPS 205
// Scrollable Multichoice Menus
#define SCROLL_MULTI_NONE 0
#define SCROLL_MULTI_GLASS_WORKSHOP_VENDOR 1
#define SCROLL_MULTI_POKEMON_FAN_CLUB_RATER 2
#define SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_1 3
#define SCROLL_MULTI_BF_EXCHANGE_CORNER_DECOR_VENDOR_2 4
#define SCROLL_MULTI_BF_EXCHANGE_CORNER_VITAMIN_VENDOR 5
#define SCROLL_MULTI_BF_EXCHANGE_CORNER_HOLD_ITEM_VENDOR 6
#define SCROLL_MULTI_BERRY_POWDER_VENDOR 7
#define SCROLL_MULTI_BF_RECEPTIONIST 8
#define SCROLL_MULTI_BF_MOVE_TUTOR_1 9
#define SCROLL_MULTI_BF_MOVE_TUTOR_2 10
#define SCROLL_MULTI_SS_TIDAL_DESTINATION 11
#define SCROLL_MULTI_BATTLE_TENT_RULES 12
#define MAX_SCROLL_MULTI_ON_SCREEN 6
#define MAX_SCROLL_MULTI_LENGTH 16
// Dept Store Floor Numbers
#define DEPT_STORE_FLOORNUM_B4F 0
#define DEPT_STORE_FLOORNUM_B3F 1
#define DEPT_STORE_FLOORNUM_B2F 2
#define DEPT_STORE_FLOORNUM_B1F 3
#define DEPT_STORE_FLOORNUM_1F 4
#define DEPT_STORE_FLOORNUM_2F 5
#define DEPT_STORE_FLOORNUM_3F 6
#define DEPT_STORE_FLOORNUM_4F 7
#define DEPT_STORE_FLOORNUM_5F 8
#define DEPT_STORE_FLOORNUM_6F 9
#define DEPT_STORE_FLOORNUM_7F 10
#define DEPT_STORE_FLOORNUM_8F 11
#define DEPT_STORE_FLOORNUM_9F 12
#define DEPT_STORE_FLOORNUM_10F 13
#define DEPT_STORE_FLOORNUM_11F 14
#define DEPT_STORE_FLOORNUM_ROOFTOP 15
// Lilycove Pokemon Trainer Fan Club
#define NUM_TRAINER_FAN_CLUB_MEMBERS 8
#define FANCLUB_GOT_FIRST_FANS 7
#define FANCLUB_MEMBER1 8
#define FANCLUB_MEMBER2 9
#define FANCLUB_MEMBER3 10
#define FANCLUB_MEMBER4 11
#define FANCLUB_MEMBER5 12
#define FANCLUB_MEMBER6 13
#define FANCLUB_MEMBER7 14
#define FANCLUB_MEMBER8 15
#endif // GUARD_CONSTANTS_FIELD_SPECIALS_H

View File

@@ -0,0 +1,13 @@
#ifndef GUARD_CONSTANTS_FIELD_TASKS_H
#define GUARD_CONSTANTS_FIELD_TASKS_H
#define STEP_CB_DUMMY 0
#define STEP_CB_ASH 1
#define STEP_CB_FORTREE_BRIDGE 2
#define STEP_CB_PACIFIDLOG_BRIDGE 3
#define STEP_CB_SOOTOPOLIS_ICE 4
#define STEP_CB_TRUCK 5
#define STEP_CB_SECRET_BASE 6
#define STEP_CB_CRACKED_FLOOR 7
#endif // GUARD_CONSTANTS_FIELD_TASKS_H

View File

@@ -0,0 +1,24 @@
#ifndef GUARD_CONSTANTS_FIELD_WEATHER_H
#define GUARD_CONSTANTS_FIELD_WEATHER_H
#define MAX_RAIN_SPRITES 24
#define NUM_CLOUD_SPRITES 3
#define NUM_FOG_HORIZONTAL_SPRITES 20
#define NUM_ASH_SPRITES 20
#define NUM_FOG_DIAGONAL_SPRITES 20
#define NUM_SANDSTORM_SPRITES 20
#define NUM_SWIRL_SANDSTORM_SPRITES 5
// Controls how the weather should be changing the screen palettes.
#define WEATHER_PAL_STATE_CHANGING_WEATHER 0
#define WEATHER_PAL_STATE_SCREEN_FADING_IN 1
#define WEATHER_PAL_STATE_SCREEN_FADING_OUT 2
#define WEATHER_PAL_STATE_IDLE 3
// Modes for FadeScreen
#define FADE_FROM_BLACK 0
#define FADE_TO_BLACK 1
#define FADE_FROM_WHITE 2
#define FADE_TO_WHITE 3
#endif // GUARD_CONSTANTS_FIELD_WEATHER_H

View File

@@ -1,41 +1,45 @@
#ifndef GUARD_CONSTANTS_FLAGS_H
#define GUARD_CONSTANTS_FLAGS_H
#include "constants/opponents.h"
// Temporary Flags
// These temporary flags are are cleared every time a map is loaded. They are used
// for things like shortening an NPCs introduction text if the player already spoke
// to them once.
#define FLAG_TEMP_1 0x1
#define FLAG_TEMP_2 0x2
#define FLAG_TEMP_3 0x3
#define FLAG_TEMP_4 0x4
#define FLAG_TEMP_5 0x5 // Unused Flag
#define FLAG_TEMP_6 0x6 // Unused Flag
#define FLAG_TEMP_7 0x7 // Unused Flag
#define FLAG_TEMP_8 0x8 // Unused Flag
#define FLAG_TEMP_9 0x9 // Unused Flag
#define FLAG_TEMP_A 0xA // Unused Flag
#define FLAG_TEMP_B 0xB // Unused Flag
#define FLAG_TEMP_C 0xC // Unused Flag
#define FLAG_TEMP_D 0xD // Unused Flag
#define FLAG_TEMP_E 0xE // Unused Flag
#define FLAG_TEMP_F 0xF // Unused Flag
#define FLAG_TEMP_10 0x10 // Unused Flag
#define FLAG_TEMP_11 0x11
#define FLAG_TEMP_12 0x12
#define FLAG_TEMP_13 0x13
#define FLAG_TEMP_14 0x14
#define FLAG_TEMP_15 0x15
#define FLAG_TEMP_16 0x16
#define FLAG_TEMP_17 0x17
#define FLAG_TEMP_18 0x18
#define FLAG_TEMP_19 0x19
#define FLAG_TEMP_1A 0x1A
#define FLAG_TEMP_1B 0x1B
#define FLAG_TEMP_1C 0x1C
#define FLAG_TEMP_1D 0x1D
#define FLAG_TEMP_1E 0x1E
#define FLAG_TEMP_1F 0x1F
#define TEMP_FLAGS_START 0x0
#define FLAG_TEMP_1 (TEMP_FLAGS_START + 0x1)
#define FLAG_TEMP_2 (TEMP_FLAGS_START + 0x2)
#define FLAG_TEMP_3 (TEMP_FLAGS_START + 0x3)
#define FLAG_TEMP_4 (TEMP_FLAGS_START + 0x4)
#define FLAG_TEMP_5 (TEMP_FLAGS_START + 0x5) // Unused Flag
#define FLAG_TEMP_6 (TEMP_FLAGS_START + 0x6) // Unused Flag
#define FLAG_TEMP_7 (TEMP_FLAGS_START + 0x7) // Unused Flag
#define FLAG_TEMP_8 (TEMP_FLAGS_START + 0x8) // Unused Flag
#define FLAG_TEMP_9 (TEMP_FLAGS_START + 0x9) // Unused Flag
#define FLAG_TEMP_A (TEMP_FLAGS_START + 0xA) // Unused Flag
#define FLAG_TEMP_B (TEMP_FLAGS_START + 0xB) // Unused Flag
#define FLAG_TEMP_C (TEMP_FLAGS_START + 0xC) // Unused Flag
#define FLAG_TEMP_D (TEMP_FLAGS_START + 0xD) // Unused Flag
#define FLAG_TEMP_E (TEMP_FLAGS_START + 0xE) // Unused Flag
#define FLAG_TEMP_F (TEMP_FLAGS_START + 0xF) // Unused Flag
#define FLAG_TEMP_10 (TEMP_FLAGS_START + 0x10) // Unused Flag
#define FLAG_TEMP_11 (TEMP_FLAGS_START + 0x11)
#define FLAG_TEMP_12 (TEMP_FLAGS_START + 0x12)
#define FLAG_TEMP_13 (TEMP_FLAGS_START + 0x13)
#define FLAG_TEMP_14 (TEMP_FLAGS_START + 0x14)
#define FLAG_TEMP_15 (TEMP_FLAGS_START + 0x15)
#define FLAG_TEMP_16 (TEMP_FLAGS_START + 0x16)
#define FLAG_TEMP_17 (TEMP_FLAGS_START + 0x17)
#define FLAG_TEMP_18 (TEMP_FLAGS_START + 0x18)
#define FLAG_TEMP_19 (TEMP_FLAGS_START + 0x19)
#define FLAG_TEMP_1A (TEMP_FLAGS_START + 0x1A)
#define FLAG_TEMP_1B (TEMP_FLAGS_START + 0x1B)
#define FLAG_TEMP_1C (TEMP_FLAGS_START + 0x1C)
#define FLAG_TEMP_1D (TEMP_FLAGS_START + 0x1D)
#define FLAG_TEMP_1E (TEMP_FLAGS_START + 0x1E)
#define FLAG_TEMP_1F (TEMP_FLAGS_START + 0x1F)
#define TEMP_FLAGS_END FLAG_TEMP_1F
#define FLAG_UNUSED_0x020 0x20 // Unused Flag
#define FLAG_UNUSED_0x021 0x21 // Unused Flag
@@ -87,7 +91,7 @@
#define FLAG_UNUSED_0x04F 0x4F // Unused Flag
// Scripts
#define FLAG_RAYQUAZA_ON_SKY_TOWER_SUMMIT 0x50
#define FLAG_HIDE_RAYQUAZA_SKY_TOWER_SUMMIT 0x50
#define FLAG_SET_WALL_CLOCK 0x51
#define FLAG_RESCUED_BIRCH 0x52
#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53
@@ -95,7 +99,7 @@
#define FLAG_UNUSED_0x054 0x54 // Unused Flag
#define FLAG_UNUSED_0x055 0x55 // Unused Flag
#define FLAG_LINK_CONTEST_POKE_BALL 0x56
#define FLAG_HIDE_CONTEST_POKE_BALL 0x56 // Always set after new game, object it hides is added directly
#define FLAG_MET_RIVAL_MOM 0x57
#define FLAG_BIRCH_AIDE_MET 0x58
#define FLAG_DECLINED_BIKE 0x59
@@ -109,23 +113,23 @@
#define FLAG_MET_TEAM_AQUA_HARBOR 0x61
#define FLAG_TV_EXPLAINED 0x62
#define FLAG_MAUVILLE_GYM_BARRIERS_STATE 0x63
#define FLAG_MOSSDEEP_GYM_SWITCH_1 0x64
#define FLAG_MOSSDEEP_GYM_SWITCH_2 0x65
#define FLAG_MOSSDEEP_GYM_SWITCH_3 0x66
#define FLAG_MOSSDEEP_GYM_SWITCH_4 0x67
#define FLAG_MOSSDEEP_GYM_SWITCH_1 0x64 // Leftover from the RS version of Mossdeep Gym, functionally unused
#define FLAG_MOSSDEEP_GYM_SWITCH_2 0x65 //
#define FLAG_MOSSDEEP_GYM_SWITCH_3 0x66 //
#define FLAG_MOSSDEEP_GYM_SWITCH_4 0x67 //
#define FLAG_UNUSED_0x068 0x68 // Unused Flag
#define FLAG_OCEANIC_MUSEUM_MET_REPORTER 0x69
#define FLAG_RECEIVED_HM04 0x6A
#define FLAG_RECEIVED_HM06 0x6B
#define FLAG_FLANNERY_GIVES_BADGE_INFO 0x6C
#define FLAG_WHITEOUT_TO_LAVARIDGE 0x6C // Set after defeating Flannery, so the player cant white out from poison before receiving Go Goggles
#define FLAG_RECEIVED_HM05 0x6D
#define FLAG_RECEIVED_HM02 0x6E
#define FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT 0x6F
#define FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE 0x70
#define FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE 0x71 // Unused Flag. Used in R/S to indicate whether player defeated or caught Groudon/Kyogre in Cave of Origin.
#define FLAG_SCOTT_CALL_NATIONAL_DEX 0x72 // Used in order to activate a phone call from Scott, inviting the player to the SS Tidal.
#define FLAG_SCOTT_CALL_BATTLE_FRONTIER 0x72 // Used in order to activate a phone call from Scott, inviting the player to the SS Tidal.
#define FLAG_RECEIVED_METEORITE 0x73
#define FLAG_ADVENTURE_STARTED 0x74 // RECEIVED Pokédex.
#define FLAG_DEFEATED_MAGMA_SPACE_CENTER 0x75 // Set when Team Magma is defeated at Mossdeep's Space Center.
@@ -146,12 +150,12 @@
#define FLAG_DEFEATED_RIVAL_ROUTE103 0x82
#define FLAG_RECEIVED_DOLL_LANETTE 0x83
#define FLAG_RECEIVED_POTION_OLDALE 0x84
#define FLAG_MOM_SAYS_GOODBYE 0x85
#define FLAG_RECEIVED_AMULET_COIN 0x85
#define FLAG_PENDING_DAYCARE_EGG 0x86
#define FLAG_THANKED_FOR_PLAYING_WITH_WALLY 0x87
#define FLAG_ENABLE_FIRST_WALLY_POKENAV_CALL 0x88 // Set after defeating Wally outside Mauville Gym. Will activate a call later to register Wally.
#define FLAG_RECEIVED_HM01 0x89
#define FLAG_REGISTER_WINONA_POKENAV 0x8A // Set after obtaining registering Winona, and cleared after Scott's call.
#define FLAG_SCOTT_CALL_FORTREE_GYM 0x8A // Triggers call from Scott after defeating Winona
#define FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY 0x8B
#define FLAG_RECEIVED_6_SODA_POP 0x8C
#define FLAG_DEFEATED_SEASHORE_HOUSE 0x8D
@@ -163,9 +167,7 @@
#define FLAG_MR_BRINEY_SAILING_INTRO 0x93
#define FLAG_DOCK_REJECTED_DEVON_GOODS 0x94
#define FLAG_DELIVERED_DEVON_GOODS 0x95
#define FLAG_UNUSED_0x096 0x96 // Unused Flag
#define FLAG_RECEIVED_CONTEST_PASS 0x96 // Unused, leftover from R/S
#define FLAG_RECEIVED_CASTFORM 0x97
#define FLAG_RECEIVED_SUPER_ROD 0x98
#define FLAG_RUSTBORO_NPC_TRADE_COMPLETED 0x99
@@ -209,11 +211,11 @@
#define FLAG_DEFEATED_GRUNT_SPACE_CENTER_1F 0xBF
#define FLAG_RECEIVED_SUN_STONE_MOSSDEEP 0xC0
#define FLAG_WALLY_SPEECH 0xC1
#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 0xC2
#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 0xC3
#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 0xC4
#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 0xC5
#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 0xC6
#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_1 0xC2 // Leftover from the RS version of Puzzle Room 7, functionally unused
#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_2 0xC3 //
#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_3 0xC4 //
#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_4 0xC5 //
#define FLAG_TRICK_HOUSE_PUZZLE_7_SWITCH_5 0xC6 //
#define FLAG_RUSTURF_TUNNEL_OPENED 0xC7
#define FLAG_RECEIVED_RED_SCARF 0xC8
#define FLAG_RECEIVED_BLUE_SCARF 0xC9
@@ -263,7 +265,7 @@
#define FLAG_USED_ROOM_2_KEY 0xF1
#define FLAG_USED_ROOM_4_KEY 0xF2
#define FLAG_USED_ROOM_6_KEY 0xF3
#define FLAG_MET_PROF_COSMO 0xF4
#define FLAG_MET_PROF_COZMO 0xF4
#define FLAG_RECEIVED_WAILMER_DOLL 0xF5
#define FLAG_RECEIVED_CHESTO_BERRY_ROUTE_104 0xF6
#define FLAG_DEFEATED_SS_TIDAL_TRAINERS 0xF7
@@ -289,7 +291,7 @@
#define FLAG_RECEIVED_REVIVED_FOSSIL_MON 0x10B
#define FLAG_SECRET_BASE_REGISTRY_ENABLED 0x10C
#define FLAG_RECEIVED_TM46 0x10D
#define FLAG_CONTEST_SKETCH_CREATED 0x10E
#define FLAG_CONTEST_SKETCH_CREATED 0x10E // Set but never read
#define FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE 0x10F
#define FLAG_RECEIVED_EXP_SHARE 0x110
#define FLAG_POKERUS_EXPLAINED 0x111
@@ -332,10 +334,10 @@
#define FLAG_MET_SCOTT_RUSTBORO 0x136
#define FLAG_WALLACE_GOES_TO_SKY_PILLAR 0x137 // Set after speaking to Wallace within the Cave of Origin.
#define FLAG_RECEIVED_HM07 0x138
#define FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS 0x139 // Beat Magma Grunt blocking Magma Hideout entrance.
#define FLAG_RECEIVED_AURORA_TICKET 0x13A // RECEIVED Aurora Ticket in Mystery Gift
#define FLAG_RECEIVED_MYSTIC_TICKET 0x13B // RECEIVED Mystic Ticket in Mystery Gift
#define FLAG_RECEIVED_OLD_SEA_MAP 0x13C // RECEIVED Old Sea Map in Mystery Gift
#define FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS 0x139
#define FLAG_RECEIVED_AURORA_TICKET 0x13A
#define FLAG_RECEIVED_MYSTIC_TICKET 0x13B
#define FLAG_RECEIVED_OLD_SEA_MAP 0x13C
#define FLAG_UNUSED_MYSTERY_GIFT_0x13D 0x13D
#define FLAG_UNUSED_MYSTERY_GIFT_0x13E 0x13E
#define FLAG_UNUSED_MYSTERY_GIFT_0x13F 0x13F
@@ -355,19 +357,19 @@
#define FLAG_UNUSED_MYSTERY_GIFT_0x14D 0x14D
#define FLAG_MIRAGE_TOWER_VISIBLE 0x14E
#define FLAG_CHOSE_CLAW_FOSSIL 0x14F // Player chose Claw Fossil
#define FLAG_CHOSE_ROOT_FOSSIL 0x150 // Player chose Root Fossil
#define FLAG_CHOSE_ROOT_FOSSIL 0x14F
#define FLAG_CHOSE_CLAW_FOSSIL 0x150
#define FLAG_RECEIVED_POWDER_JAR 0x151
#define FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER 0x152
#define FLAG_MET_BATTLE_FRONTIER_BREEDER 0x153
#define FLAG_MET_BATTLE_FRONTIER_MANIAC 0x154
#define FLAG_ENTERED_LINK_CONTEST 0x155
#define FLAG_ENTERED_CONTEST 0x155
#define FLAG_MET_SLATEPORT_FANCLUB_CHAIRMAN 0x156
#define FLAG_MET_BATTLE_FRONTIER_BETTOR 0x157
#define FLAG_MET_BATTLE_FRONTIER_GAMBLER 0x157
#define FLAG_ENABLE_MR_STONE_POKENAV 0x158
#define FLAG_OLDALE_NURSE_MENTIONS_GOLD_CARD 0x159
#define FLAG_NURSE_MENTIONS_GOLD_CARD 0x159
#define FLAG_MET_FRONTIER_BEAUTY_MOVE_TUTOR 0x15A
#define FLAG_MET_FRONTIER_SWIMMER_MOVE_TUTOR 0x15B
@@ -493,7 +495,7 @@
#define FLAG_MET_SCOTT_IN_EVERGRANDE 0x1CF
#define FLAG_MET_SCOTT_ON_SS_TIDAL 0x1D0
#define FLAG_SCOTT_GIVES_BATTLE_POINTS 0x1D1
#define FLAG_RECEIVED_STARF_BERRY_FROM_SCOTT 0x1D2
#define FLAG_COLLECTED_ALL_GOLD_SYMBOLS 0x1D2
#define FLAG_ENABLE_ROXANNE_MATCH_CALL 0x1D3
#define FLAG_ENABLE_BRAWLY_MATCH_CALL 0x1D4
#define FLAG_ENABLE_WATTSON_MATCH_CALL 0x1D5
@@ -533,8 +535,6 @@
#define FLAG_MYSTERY_EVENT_14 0x1F2
#define FLAG_MYSTERY_EVENT_15 0x1F3
#define FLAG_TRICK_HOUSE_END_ROOM 0x1F5 // Trick House End Room Flag
// Hidden Items -- sorted by location
#define FLAG_HIDDEN_ITEMS_START 0x1F4
#define FLAG_HIDDEN_ITEM_TRICK_HOUSE_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x01)
@@ -650,6 +650,95 @@
#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0x5D)
#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_3 (FLAG_HIDDEN_ITEMS_START + 0x5E)
#define FLAG_UNUSED_0x264 0x264 // Unused Flag
#define FLAG_UNUSED_0x265 0x265 // Unused Flag
#define FLAG_UNUSED_0x266 0x266 // Unused Flag
#define FLAG_UNUSED_0x267 0x267 // Unused Flag
#define FLAG_UNUSED_0x268 0x268 // Unused Flag
#define FLAG_UNUSED_0x269 0x269 // Unused Flag
#define FLAG_UNUSED_0x26A 0x26A // Unused Flag
#define FLAG_UNUSED_0x26B 0x26B // Unused Flag
#define FLAG_UNUSED_0x26C 0x26C // Unused Flag
#define FLAG_UNUSED_0x26D 0x26D // Unused Flag
#define FLAG_UNUSED_0x26E 0x26E // Unused Flag
#define FLAG_UNUSED_0x26F 0x26F // Unused Flag
#define FLAG_UNUSED_0x270 0x270 // Unused Flag
#define FLAG_UNUSED_0x271 0x271 // Unused Flag
#define FLAG_UNUSED_0x272 0x272 // Unused Flag
#define FLAG_UNUSED_0x273 0x273 // Unused Flag
#define FLAG_UNUSED_0x274 0x274 // Unused Flag
#define FLAG_UNUSED_0x275 0x275 // Unused Flag
#define FLAG_UNUSED_0x276 0x276 // Unused Flag
#define FLAG_UNUSED_0x277 0x277 // Unused Flag
#define FLAG_UNUSED_0x278 0x278 // Unused Flag
#define FLAG_UNUSED_0x279 0x279 // Unused Flag
#define FLAG_UNUSED_0x27A 0x27A // Unused Flag
#define FLAG_UNUSED_0x27B 0x27B // Unused Flag
#define FLAG_UNUSED_0x27C 0x27C // Unused Flag
#define FLAG_UNUSED_0x27D 0x27D // Unused Flag
#define FLAG_UNUSED_0x27E 0x27E // Unused Flag
#define FLAG_UNUSED_0x27F 0x27F // Unused Flag
#define FLAG_UNUSED_0x280 0x280 // Unused Flag
#define FLAG_UNUSED_0x281 0x281 // Unused Flag
#define FLAG_UNUSED_0x282 0x282 // Unused Flag
#define FLAG_UNUSED_0x283 0x283 // Unused Flag
#define FLAG_UNUSED_0x284 0x284 // Unused Flag
#define FLAG_UNUSED_0x285 0x285 // Unused Flag
#define FLAG_UNUSED_0x286 0x286 // Unused Flag
#define FLAG_UNUSED_0x287 0x287 // Unused Flag
#define FLAG_UNUSED_0x288 0x288 // Unused Flag
#define FLAG_UNUSED_0x289 0x289 // Unused Flag
#define FLAG_UNUSED_0x28A 0x28A // Unused Flag
#define FLAG_UNUSED_0x28B 0x28B // Unused Flag
#define FLAG_UNUSED_0x28C 0x28C // Unused Flag
#define FLAG_UNUSED_0x28D 0x28D // Unused Flag
#define FLAG_UNUSED_0x28E 0x28E // Unused Flag
#define FLAG_UNUSED_0x28F 0x28F // Unused Flag
#define FLAG_UNUSED_0x290 0x290 // Unused Flag
#define FLAG_UNUSED_0x291 0x291 // Unused Flag
#define FLAG_UNUSED_0x292 0x292 // Unused Flag
#define FLAG_UNUSED_0x293 0x293 // Unused Flag
#define FLAG_UNUSED_0x294 0x294 // Unused Flag
#define FLAG_UNUSED_0x295 0x295 // Unused Flag
#define FLAG_UNUSED_0x296 0x296 // Unused Flag
#define FLAG_UNUSED_0x297 0x297 // Unused Flag
#define FLAG_UNUSED_0x298 0x298 // Unused Flag
#define FLAG_UNUSED_0x299 0x299 // Unused Flag
#define FLAG_UNUSED_0x29A 0x29A // Unused Flag
#define FLAG_UNUSED_0x29B 0x29B // Unused Flag
#define FLAG_UNUSED_0x29C 0x29C // Unused Flag
#define FLAG_UNUSED_0x29D 0x29D // Unused Flag
#define FLAG_UNUSED_0x29E 0x29E // Unused Flag
#define FLAG_UNUSED_0x29F 0x29F // Unused Flag
#define FLAG_UNUSED_0x2A0 0x2A0 // Unused Flag
#define FLAG_UNUSED_0x2A1 0x2A1 // Unused Flag
#define FLAG_UNUSED_0x2A2 0x2A2 // Unused Flag
#define FLAG_UNUSED_0x2A3 0x2A3 // Unused Flag
#define FLAG_UNUSED_0x2A4 0x2A4 // Unused Flag
#define FLAG_UNUSED_0x2A5 0x2A5 // Unused Flag
#define FLAG_UNUSED_0x2A6 0x2A6 // Unused Flag
#define FLAG_UNUSED_0x2A7 0x2A7 // Unused Flag
#define FLAG_UNUSED_0x2A8 0x2A8 // Unused Flag
#define FLAG_UNUSED_0x2A9 0x2A9 // Unused Flag
#define FLAG_UNUSED_0x2AA 0x2AA // Unused Flag
#define FLAG_UNUSED_0x2AB 0x2AB // Unused Flag
#define FLAG_UNUSED_0x2AC 0x2AC // Unused Flag
#define FLAG_UNUSED_0x2AD 0x2AD // Unused Flag
#define FLAG_UNUSED_0x2AE 0x2AE // Unused Flag
#define FLAG_UNUSED_0x2AF 0x2AF // Unused Flag
#define FLAG_UNUSED_0x2B0 0x2B0 // Unused Flag
#define FLAG_UNUSED_0x2B1 0x2B1 // Unused Flag
#define FLAG_UNUSED_0x2B2 0x2B2 // Unused Flag
#define FLAG_UNUSED_0x2B3 0x2B3 // Unused Flag
#define FLAG_UNUSED_0x2B4 0x2B4 // Unused Flag
#define FLAG_UNUSED_0x2B5 0x2B5 // Unused Flag
#define FLAG_UNUSED_0x2B6 0x2B6 // Unused Flag
#define FLAG_UNUSED_0x2B7 0x2B7 // Unused Flag
#define FLAG_UNUSED_0x2B8 0x2B8 // Unused Flag
#define FLAG_UNUSED_0x2B9 0x2B9 // Unused Flag
#define FLAG_UNUSED_0x2BA 0x2BA // Unused Flag
#define FLAG_UNUSED_0x2BB 0x2BB // Unused Flag
// Event Flags
#define FLAG_HIDE_ROUTE_101_BIRCH_STARTERS_BAG 0x2BC
#define FLAG_HIDE_APPRENTICE 0x2BD
@@ -690,18 +779,18 @@
#define FLAG_HIDE_PLAYERS_HOUSE_DAD 0x2DE
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING 0x2DF
#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING 0x2E0
#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_INVISIBLE_NINJA_BOY 0x2E1
#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_MAGMA_NOTE 0x2E1
#define FLAG_HIDE_ROUTE_104_MR_BRINEY 0x2E2
#define FLAG_HIDE_BRINEYS_HOUSE_MR_BRINEY 0x2E3
#define FLAG_HIDE_MR_BRINEY_DEWFORD_TOWN 0x2E4
#define FLAG_HIDE_ROUTE_108_MR_BRINEY 0x2E5
#define FLAG_HIDE_ROUTE_109_MR_BRINEY 0x2E5
#define FLAG_HIDE_ROUTE_104_MR_BRINEY_BOAT 0x2E6
#define FLAG_HIDE_MR_BRINEY_BOAT_DEWFORD_TOWN 0x2E7
#define FLAG_HIDE_ROUTE_109_MR_BRINEY_BOAT 0x2E8
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_BRENDAN 0x2E9
#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_BRENDAN 0x2EA
#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_MAY 0x2EA
#define FLAG_HIDE_SAFARI_ZONE_SOUTH_EAST_EXPANSION 0x2EB
#define FLAG_HIDE_LILYCOVE_HARBOR_EON_TICKET_TAKER 0x2EC
#define FLAG_HIDE_LILYCOVE_HARBOR_EVENT_TICKET_TAKER 0x2EC
#define FLAG_HIDE_SLATEPORT_CITY_SCOTT 0x2ED
#define FLAG_HIDE_ROUTE_101_ZIGZAGOON 0x2EE
#define FLAG_HIDE_VICTORY_ROAD_EXIT_WALLY 0x2EF
@@ -720,7 +809,7 @@
#define FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE 0x2FC
#define FLAG_HIDE_MAUVILLE_CITY_SCOTT 0x2FD
#define FLAG_HIDE_VERDANTURF_TOWN_SCOTT 0x2FE
#define FLAG_HIDE_FALLORBOR_TOWN_BATTLE_TENT_SCOTT 0x2FF
#define FLAG_HIDE_FALLARBOR_TOWN_BATTLE_TENT_SCOTT 0x2FF
#define FLAG_HIDE_ROUTE_111_VICTOR_WINSTRATE 0x300
#define FLAG_HIDE_ROUTE_111_VICTORIA_WINSTRATE 0x301
#define FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE 0x302
@@ -760,14 +849,14 @@
#define FLAG_HIDE_MAUVILLE_CITY_WALLY 0x324
#define FLAG_HIDE_MAUVILLE_CITY_WALLYS_UNCLE 0x325
#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLY 0x326
#define FLAG_HIDE_RUSTURF_TUNNEL_LOVER_MAN 0x327
#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_MAN 0x328
#define FLAG_HIDE_RUSTURF_TUNNEL_WANDAS_BOYFRIEND 0x327
#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDAS_BOYFRIEND 0x328
#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WALLYS_UNCLE 0x329
#define FLAG_HIDE_SS_TIDAL_CORRIDOR_SCOTT 0x32A
#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL 0x32B
#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE 0x32C
#define FLAG_HIDE_ROUTE_116_DROPPED_GLASSES_MAN 0x32D
#define FLAG_HIDE_RUSBORO_CITY_RIVAL 0x32E
#define FLAG_HIDE_RUSTBORO_CITY_RIVAL 0x32E
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL 0x32F
#define FLAG_HIDE_SOOTOPOLIS_CITY_WALLACE 0x330
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL 0x331
@@ -778,16 +867,14 @@
#define FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE 0x336
#define FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA 0x337
#define FLAG_HIDE_PETALBURG_GYM_WALLYS_UNCLE 0x338
#define FLAG_UNUSED_0x339 0x339 // Unused Flag
#define FLAG_HIDE_LEGEND_MON_CAVE_OF_ORIGIN 0x339 // Unused, leftover from R/S
#define FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE 0x33A
#define FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE 0x33B
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE 0x33C
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE 0x33D
#define FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE 0x33E
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS 0x33F
#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_ONLOOKERS 0x340
#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER 0x340
#define FLAG_HIDE_GRANITE_CAVE_STEVEN 0x341
#define FLAG_HIDE_ROUTE_128_STEVEN 0x342
#define FLAG_HIDE_SLATEPORT_CITY_GABBY_AND_TY 0x343
@@ -828,13 +915,13 @@
#define FLAG_HIDE_LANETTES_HOUSE_LANETTE 0x366
#define FLAG_HIDE_FALLORBOR_POKEMON_CENTER_LANETTE 0x367
#define FLAG_HIDE_TRICK_HOUSE_ENTRANCE_MAN 0x368
#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_POKEBLOCK_EXPERT 0x369
#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER_REPLACEMENT 0x369
#define FLAG_HIDE_DESERT_UNDERPASS_FOSSIL 0x36A
#define FLAG_HIDE_ROUTE_111_PLAYER_DESCENT 0x36B
#define FLAG_HIDE_ROUTE_111_DESERT_FOSSIL 0x36C
#define FLAG_HIDE_MT_CHIMNEY_TRAINERS 0x36D
#define FLAG_HIDE_RUSTURF_TUNNEL_AQUA_GRUNT 0x36E
#define FLAG_HIDE_RUSTURF_TUNNEL_OLD_MAN 0x36F
#define FLAG_HIDE_RUSTURF_TUNNEL_BRINEY 0x36F
#define FLAG_HIDE_RUSTURF_TUNNEL_PEEKO 0x370
#define FLAG_HIDE_BRINEYS_HOUSE_PEEKO 0x371
#define FLAG_HIDE_SLATEPORT_CITY_TEAM_AQUA 0x372
@@ -849,7 +936,7 @@
#define FLAG_HIDE_ROUTE_116_MR_BRINEY 0x37B
#define FLAG_HIDE_WEATHER_INSTITUTE_1F_WORKERS 0x37C
#define FLAG_HIDE_WEATHER_INSTITUTE_2F_WORKERS 0x37D
#define FLAG_HIDE_ROUTE_116_TUNNELER 0x37E
#define FLAG_HIDE_ROUTE_116_WANDAS_BOYFRIEND 0x37E
#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_2 0x37F
#define FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_UNKNOWN_0x380 0x380
#define FLAG_HIDE_ROUTE_101_BIRCH 0x381
@@ -883,9 +970,9 @@
#define FLAG_HIDE_LILCOVE_MOTEL_GAME_DESIGNERS 0x39D
#define FLAG_HIDE_MT_CHIMNEY_TEAM_AQUA 0x39E
#define FLAG_HIDE_MT_CHIMNEY_TEAM_MAGMA 0x39F
#define FLAG_HIDE_FALLARBOR_HOUSE_1_PROF_COZMO 0x3A0
#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1 0x3A1
#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2 0x3A2
#define FLAG_HIDE_FALLARBOR_HOUSE_PROF_COZMO 0x3A0
#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL 0x3A1
#define FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_ON_BIKE 0x3A2
#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_1 0x3A3
#define FLAG_HIDE_RUSTURF_TUNNEL_ROCK_2 0x3A4
#define FLAG_HIDE_FORTREE_CITY_HOUSE_4_WINGULL 0x3A5
@@ -925,7 +1012,7 @@
#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_STEVEN 0x3C7
#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_BELDUM_POKEBALL 0x3C8
#define FLAG_HIDE_FORTREE_CITY_KECLEON 0x3C9
#define FLAG_HIDE_ROUTE_120_KECLEON_1 0x3CA
#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_INVISIBLE 0x3CA
#define FLAG_HIDE_LILYCOVE_CITY_RIVAL 0x3CB
#define FLAG_HIDE_ROUTE_120_STEVEN 0x3CC
#define FLAG_HIDE_SOOTOPOLIS_CITY_STEVEN 0x3CD
@@ -936,19 +1023,19 @@
#define FLAG_HIDE_AQUA_HIDEOUT_B1F_ELECTRODE_2 0x3D2
#define FLAG_HIDE_OLDALE_TOWN_RIVAL 0x3D3
#define FLAG_HIDE_UNDERWATER_SEA_FLOOR_CAVERN_STOLEN_SUBMARINE 0x3D4
#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE 0x3D5
#define FLAG_HIDE_ROUTE_120_KECLEON_2 0x3D6
#define FLAG_HIDE_RUSTURF_TUNNEL_LOVER_WOMAN 0x3D7
#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_LOVER_WOMAN 0x3D8
#define FLAG_HIDE_ROUTE_120_KECLEON_3 0x3D9
#define FLAG_HIDE_ROUTE_120_KECLEON_4 0x3DA
#define FLAG_HIDE_ROUTE_120_KECLEON_5 0x3DB
#define FLAG_HIDE_ROUTE_120_KECLEON_6 0x3DC
#define FLAG_HIDE_ROUTE_120_KECLEON_BRIDGE_VISIBLE 0x3D5
#define FLAG_HIDE_ROUTE_120_KECLEON_1 0x3D6
#define FLAG_HIDE_RUSTURF_TUNNEL_WANDA 0x3D7
#define FLAG_HIDE_VERDANTURF_TOWN_WANDAS_HOUSE_WANDA 0x3D8
#define FLAG_HIDE_ROUTE_120_KECLEON_2 0x3D9
#define FLAG_HIDE_ROUTE_120_KECLEON_3 0x3DA
#define FLAG_HIDE_ROUTE_120_KECLEON_4 0x3DB
#define FLAG_HIDE_ROUTE_120_KECLEON_5 0x3DC
#define FLAG_HIDE_ROUTE_119_KECLEON_1 0x3DD
#define FLAG_HIDE_ROUTE_119_KECLEON_2 0x3DE
#define FLAG_HIDE_ROUTE_101_BOY 0x3DF
#define FLAG_HIDE_WEATHER_INSTITUTE_2F_AQUA_GRUNT_M 0x3E0
#define FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY 0x3E1
#define FLAG_HIDE_LILYCOVE_POKEMON_CENTER_CONTEST_LADY_MON 0x3E1
#define FLAG_HIDE_MT_CHIMNEY_LAVA_COOKIE_LADY 0x3E2
#define FLAG_HIDE_PETALBURG_CITY_SCOTT 0x3E3
#define FLAG_HIDE_SOOTOPOLIS_CITY_RAYQUAZA 0x3E4
@@ -1255,13 +1342,17 @@
#define FLAG_UNUSED_0x4FF 0x4FF // Unused Flag
#define FLAG_TRAINER_FLAG_START 0x500
#define TRAINERS_FLAG_NO 0x356
// Trainer Flags
// Trainer flags occupy 0x500 - 0x85F, the last 9 of which are unused
// See constants/opponents.h. The values there + FLAG_TRAINER_FLAG_START are the flag IDs
#define SYSTEM_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
#define TRAINER_FLAGS_START 0x500
#define TRAINER_FLAGS_END (TRAINER_FLAGS_START + MAX_TRAINERS_COUNT - 1) // 0x85F
// System Flags
#define SYSTEM_FLAGS (TRAINER_FLAGS_END + 1) // 0x860
#define FLAG_SYS_POKEMON_GET (SYSTEM_FLAGS + 0) // FLAG_0x860
#define FLAG_SYS_POKEDEX_GET (SYSTEM_FLAGS + 1)
#define FLAG_SYS_POKENAV_GET (SYSTEM_FLAGS + 2)
@@ -1400,7 +1491,7 @@
#define FLAG_ENABLE_SHIP_BIRTH_ISLAND (SYSTEM_FLAGS + 0x75)
#define FLAG_ENABLE_SHIP_FARAWAY_ISLAND (SYSTEM_FLAGS + 0x76)
#define FLAG_SYS_STORAGE_UNKNOWN_FLAG (SYSTEM_FLAGS + 0x77)
#define FLAG_SHOWN_BOX_WAS_FULL_MESSAGE (SYSTEM_FLAGS + 0x77)
#define FLAG_ARRIVED_ON_FARAWAY_ISLAND (SYSTEM_FLAGS + 0x78)
#define FLAG_ARRIVED_AT_MARINE_CAVE_EMERGE_SPOT (SYSTEM_FLAGS + 0x79)
@@ -1481,77 +1572,82 @@
#define FLAG_UNUSED_0x91F (SYSTEM_FLAGS + 0xBF) // Unused Flag
// Daily Flags
#define FLAG_DAILY_0x920 (SYSTEM_FLAGS + 0xC0)
#define FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY (SYSTEM_FLAGS + 0xC1)
#define FLAG_DAILY_SECRET_BASE (SYSTEM_FLAGS + 0xC2)
#define FLAG_DAILY_0x923 (SYSTEM_FLAGS + 0xC3)
#define FLAG_DAILY_0x924 (SYSTEM_FLAGS + 0xC4)
#define FLAG_DAILY_0x925 (SYSTEM_FLAGS + 0xC5)
#define FLAG_DAILY_0x926 (SYSTEM_FLAGS + 0xC6)
#define FLAG_DAILY_0x927 (SYSTEM_FLAGS + 0xC7)
#define FLAG_DAILY_0x928 (SYSTEM_FLAGS + 0xC8)
#define FLAG_DAILY_0x929 (SYSTEM_FLAGS + 0xC9)
#define FLAG_DAILY_PICKED_LOTO_TICKET (SYSTEM_FLAGS + 0xCA)
#define FLAG_DAILY_ROUTE_114_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCB)
#define FLAG_DAILY_ROUTE_111_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCC)
#define FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCD)
#define FLAG_DAILY_ROUTE_120_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCE)
#define FLAG_DAILY_LILYCOVE_RECEIVED_BERRY (SYSTEM_FLAGS + 0xCF)
#define FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY (SYSTEM_FLAGS + 0xD0)
#define FLAG_DAILY_BERRY_MASTERS_WIFE (SYSTEM_FLAGS + 0xD1)
#define FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY (SYSTEM_FLAGS + 0xD2)
#define FLAG_DAILY_0x933 (SYSTEM_FLAGS + 0xD3)
#define FLAG_DAILY_APPRENTICE_LEAVES (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)
#define DAILY_FLAGS_START 0x920
#define FLAG_UNUSED_0x920 (DAILY_FLAGS_START + 0x0) // Unused Flag
#define FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY (DAILY_FLAGS_START + 0x1)
#define FLAG_DAILY_SECRET_BASE (DAILY_FLAGS_START + 0x2)
#define FLAG_UNUSED_0x923 (DAILY_FLAGS_START + 0x3) // Unused Flag
#define FLAG_UNUSED_0x924 (DAILY_FLAGS_START + 0x4) // Unused Flag
#define FLAG_UNUSED_0x925 (DAILY_FLAGS_START + 0x5) // Unused Flag
#define FLAG_UNUSED_0x926 (DAILY_FLAGS_START + 0x6) // Unused Flag
#define FLAG_UNUSED_0x927 (DAILY_FLAGS_START + 0x7) // Unused Flag
#define FLAG_UNUSED_0x928 (DAILY_FLAGS_START + 0x8) // Unused Flag
#define FLAG_UNUSED_0x929 (DAILY_FLAGS_START + 0x9) // Unused Flag
#define FLAG_DAILY_PICKED_LOTO_TICKET (DAILY_FLAGS_START + 0xA)
#define FLAG_DAILY_ROUTE_114_RECEIVED_BERRY (DAILY_FLAGS_START + 0xB)
#define FLAG_DAILY_ROUTE_111_RECEIVED_BERRY (DAILY_FLAGS_START + 0xC)
#define FLAG_DAILY_BERRY_MASTER_RECEIVED_BERRY (DAILY_FLAGS_START + 0xD)
#define FLAG_DAILY_ROUTE_120_RECEIVED_BERRY (DAILY_FLAGS_START + 0xE)
#define FLAG_DAILY_LILYCOVE_RECEIVED_BERRY (DAILY_FLAGS_START + 0xF)
#define FLAG_DAILY_FLOWER_SHOP_RECEIVED_BERRY (DAILY_FLAGS_START + 0x10)
#define FLAG_DAILY_BERRY_MASTERS_WIFE (DAILY_FLAGS_START + 0x11)
#define FLAG_DAILY_SOOTOPOLIS_RECEIVED_BERRY (DAILY_FLAGS_START + 0x12)
#define FLAG_UNUSED_0x933 (DAILY_FLAGS_START + 0x13) // Unused Flag
#define FLAG_DAILY_APPRENTICE_LEAVES (DAILY_FLAGS_START + 0x14)
// Special Flags (Unknown)
#define SPECIAL_FLAGS_START 0x4000
#define FLAG_HIDE_MAP_NAME_POPUP 0x4000
#define FLAG_SPECIAL_FLAG_0x4001 0x4001
#define FLAG_SPECIAL_FLAG_0x4002 0x4002
#define FLAG_SPECIAL_FLAG_0x4003 0x4003
#define FLAG_SPECIAL_FLAG_0x4004 0x4004
#define FLAG_UNUSED_0x935 (DAILY_FLAGS_START + 0x15) // Unused Flag
#define FLAG_UNUSED_0x936 (DAILY_FLAGS_START + 0x16) // Unused Flag
#define FLAG_UNUSED_0x937 (DAILY_FLAGS_START + 0x17) // Unused Flag
#define FLAG_UNUSED_0x938 (DAILY_FLAGS_START + 0x18) // Unused Flag
#define FLAG_UNUSED_0x939 (DAILY_FLAGS_START + 0x19) // Unused Flag
#define FLAG_UNUSED_0x93A (DAILY_FLAGS_START + 0x1A) // Unused Flag
#define FLAG_UNUSED_0x93B (DAILY_FLAGS_START + 0x1B) // Unused Flag
#define FLAG_UNUSED_0x93C (DAILY_FLAGS_START + 0x1C) // Unused Flag
#define FLAG_UNUSED_0x93D (DAILY_FLAGS_START + 0x1D) // Unused Flag
#define FLAG_UNUSED_0x93E (DAILY_FLAGS_START + 0x1E) // Unused Flag
#define FLAG_UNUSED_0x93F (DAILY_FLAGS_START + 0x1F) // Unused Flag
#define FLAG_UNUSED_0x940 (DAILY_FLAGS_START + 0x20) // Unused Flag
#define FLAG_UNUSED_0x941 (DAILY_FLAGS_START + 0x21) // Unused Flag
#define FLAG_UNUSED_0x942 (DAILY_FLAGS_START + 0x22) // Unused Flag
#define FLAG_UNUSED_0x943 (DAILY_FLAGS_START + 0x23) // Unused Flag
#define FLAG_UNUSED_0x944 (DAILY_FLAGS_START + 0x24) // Unused Flag
#define FLAG_UNUSED_0x945 (DAILY_FLAGS_START + 0x25) // Unused Flag
#define FLAG_UNUSED_0x946 (DAILY_FLAGS_START + 0x26) // Unused Flag
#define FLAG_UNUSED_0x947 (DAILY_FLAGS_START + 0x27) // Unused Flag
#define FLAG_UNUSED_0x948 (DAILY_FLAGS_START + 0x28) // Unused Flag
#define FLAG_UNUSED_0x949 (DAILY_FLAGS_START + 0x29) // Unused Flag
#define FLAG_UNUSED_0x94A (DAILY_FLAGS_START + 0x2A) // Unused Flag
#define FLAG_UNUSED_0x94B (DAILY_FLAGS_START + 0x2B) // Unused Flag
#define FLAG_UNUSED_0x94C (DAILY_FLAGS_START + 0x2C) // Unused Flag
#define FLAG_UNUSED_0x94D (DAILY_FLAGS_START + 0x2D) // Unused Flag
#define FLAG_UNUSED_0x94E (DAILY_FLAGS_START + 0x2E) // Unused Flag
#define FLAG_UNUSED_0x94F (DAILY_FLAGS_START + 0x2F) // Unused Flag
#define FLAG_UNUSED_0x950 (DAILY_FLAGS_START + 0x30) // Unused Flag
#define FLAG_UNUSED_0x951 (DAILY_FLAGS_START + 0x31) // Unused Flag
#define FLAG_UNUSED_0x952 (DAILY_FLAGS_START + 0x32) // Unused Flag
#define FLAG_UNUSED_0x953 (DAILY_FLAGS_START + 0x33) // Unused Flag
#define FLAG_UNUSED_0x954 (DAILY_FLAGS_START + 0x34) // Unused Flag
#define FLAG_UNUSED_0x955 (DAILY_FLAGS_START + 0x35) // Unused Flag
#define FLAG_UNUSED_0x956 (DAILY_FLAGS_START + 0x36) // Unused Flag
#define FLAG_UNUSED_0x957 (DAILY_FLAGS_START + 0x37) // Unused Flag
#define FLAG_UNUSED_0x958 (DAILY_FLAGS_START + 0x38) // Unused Flag
#define FLAG_UNUSED_0x959 (DAILY_FLAGS_START + 0x39) // Unused Flag
#define FLAG_UNUSED_0x95A (DAILY_FLAGS_START + 0x3A) // Unused Flag
#define FLAG_UNUSED_0x95B (DAILY_FLAGS_START + 0x3B) // Unused Flag
#define FLAG_UNUSED_0x95C (DAILY_FLAGS_START + 0x3C) // Unused Flag
#define FLAG_UNUSED_0x95D (DAILY_FLAGS_START + 0x3D) // Unused Flag
#define FLAG_UNUSED_0x95E (DAILY_FLAGS_START + 0x3E) // Unused Flag
#define FLAG_UNUSED_0x95F (DAILY_FLAGS_START + 0x3F) // Unused Flag
#define DAILY_FLAGS_END FLAG_UNUSED_0x95F
// Special Flags (Stored in EWRAM (gSpecialFlags), not in the SaveBlock)
#define SPECIAL_FLAGS_START 0x4000
#define FLAG_HIDE_MAP_NAME_POPUP (SPECIAL_FLAGS_START + 0x0)
#define FLAG_DONT_TRANSITION_MUSIC (SPECIAL_FLAGS_START + 0x1)
#define FLAG_ENABLE_MULTI_CORRIDOR_DOOR (SPECIAL_FLAGS_START + 0x2)
#define FLAG_SPECIAL_FLAG_UNUSED_0x4003 (SPECIAL_FLAGS_START + 0x3) // Unused Flag
#define FLAG_STORING_ITEMS_IN_PYRAMID_BAG (SPECIAL_FLAGS_START + 0x4)
// FLAG_SPECIAL_FLAG_0x4005 - 0x407F also exist and are unused
#define SPECIAL_FLAGS_END (SPECIAL_FLAGS_START + 0x7F)
#endif // GUARD_CONSTANTS_FLAGS_H

View File

@@ -0,0 +1,75 @@
#ifndef GUARD_CONSTANTS_FRONTIER_UTIL_H
#define GUARD_CONSTANTS_FRONTIER_UTIL_H
#define FRONTIER_BEFORE_TEXT 0
#define FRONTIER_PLAYER_LOST_TEXT 1
#define FRONTIER_PLAYER_WON_TEXT 2
// return values for GetFrontierBrainStatus
#define FRONTIER_BRAIN_NOT_READY 0
#define FRONTIER_BRAIN_SILVER 1
#define FRONTIER_BRAIN_GOLD 2
#define FRONTIER_BRAIN_STREAK 3 // for encountering the brain after getting both symbols
#define FRONTIER_BRAIN_STREAK_LONG 4 //
#define FRONTIER_UTIL_FUNC_GET_STATUS 0
#define FRONTIER_UTIL_FUNC_GET_DATA 1
#define FRONTIER_UTIL_FUNC_SET_DATA 2
#define FRONTIER_UTIL_FUNC_SET_PARTY_ORDER 3
#define FRONTIER_UTIL_FUNC_SOFT_RESET 4
#define FRONTIER_UTIL_FUNC_SET_TRAINERS 5
#define FRONTIER_UTIL_FUNC_SAVE_PARTY 6
#define FRONTIER_UTIL_FUNC_RESULTS_WINDOW 7
#define FRONTIER_UTIL_FUNC_CHECK_AIR_TV_SHOW 8
#define FRONTIER_UTIL_FUNC_GET_BRAIN_STATUS 9
#define FRONTIER_UTIL_FUNC_IS_BRAIN 10
#define FRONTIER_UTIL_FUNC_GIVE_BATTLE_POINTS 11
#define FRONTIER_UTIL_FUNC_GET_FACILITY_SYMBOLS 12
#define FRONTIER_UTIL_FUNC_GIVE_FACILITY_SYMBOL 13
#define FRONTIER_UTIL_FUNC_CHECK_BATTLE_TYPE 14
#define FRONTIER_UTIL_FUNC_CHECK_INELIGIBLE 15
#define FRONTIER_UTIL_FUNC_CHECK_VISIT_TRAINER 16
#define FRONTIER_UTIL_FUNC_INCREMENT_STREAK 17
#define FRONTIER_UTIL_FUNC_RESTORE_HELD_ITEMS 18
#define FRONTIER_UTIL_FUNC_SAVE_BATTLE 19
#define FRONTIER_UTIL_FUNC_BUFFER_TRAINER_NAME 20
#define FRONTIER_UTIL_FUNC_RESET_SKETCH_MOVES 21
#define FRONTIER_UTIL_FUNC_SET_BRAIN_OBJECT 22
#define FRONTIER_DATA_CHALLENGE_STATUS 0
#define FRONTIER_DATA_LVL_MODE 1
#define FRONTIER_DATA_BATTLE_NUM 2
#define FRONTIER_DATA_PAUSED 3
#define FRONTIER_DATA_SELECTED_MON_ORDER 4
#define FRONTIER_DATA_BATTLE_OUTCOME 5
#define FRONTIER_DATA_RECORD_DISABLED 6
#define FRONTIER_DATA_HEARD_BRAIN_SPEECH 7
#define STREAK_TOWER_SINGLES_50 (1 << 0)
#define STREAK_TOWER_SINGLES_OPEN (1 << 1)
#define STREAK_DOME_SINGLES_50 (1 << 2)
#define STREAK_DOME_SINGLES_OPEN (1 << 3)
#define STREAK_PALACE_SINGLES_50 (1 << 4)
#define STREAK_PALACE_SINGLES_OPEN (1 << 5)
#define STREAK_ARENA_50 (1 << 6)
#define STREAK_ARENA_OPEN (1 << 7)
#define STREAK_FACTORY_SINGLES_50 (1 << 8)
#define STREAK_FACTORY_SINGLES_OPEN (1 << 9)
#define STREAK_PIKE_50 (1 << 10)
#define STREAK_PIKE_OPEN (1 << 11)
#define STREAK_PYRAMID_50 (1 << 12)
#define STREAK_PYRAMID_OPEN (1 << 13)
#define STREAK_TOWER_DOUBLES_50 (1 << 14)
#define STREAK_TOWER_DOUBLES_OPEN (1 << 15)
#define STREAK_TOWER_MULTIS_50 (1 << 16)
#define STREAK_TOWER_MULTIS_OPEN (1 << 17)
#define STREAK_TOWER_LINK_MULTIS_50 (1 << 18)
#define STREAK_TOWER_LINK_MULTIS_OPEN (1 << 19)
#define STREAK_DOME_DOUBLES_50 (1 << 20)
#define STREAK_DOME_DOUBLES_OPEN (1 << 21)
#define STREAK_PALACE_DOUBLES_50 (1 << 22)
#define STREAK_PALACE_DOUBLES_OPEN (1 << 23)
#define STREAK_FACTORY_DOUBLES_50 (1 << 24)
#define STREAK_FACTORY_DOUBLES_OPEN (1 << 25)
#endif // GUARD_CONSTANTS_FRONTIER_UTIL_H

View File

@@ -18,12 +18,13 @@
#define VERSION_GAMECUBE 15
#define LANGUAGE_JAPANESE 1
#define LANGUAGE_ENGLISH 2
#define LANGUAGE_FRENCH 3
#define LANGUAGE_ITALIAN 4
#define LANGUAGE_GERMAN 5
#define LANGUAGE_KOREAN 6 // 6 goes unused but the theory is it was meant to be Korean
#define LANGUAGE_SPANISH 7
#define LANGUAGE_ENGLISH 2
#define LANGUAGE_FRENCH 3
#define LANGUAGE_ITALIAN 4
#define LANGUAGE_GERMAN 5
#define LANGUAGE_KOREAN 6 // 6 goes unused but the theory is it was meant to be Korean
#define LANGUAGE_SPANISH 7
#define NUM_LANGUAGES 7
#define GAME_VERSION (VERSION_EMERALD)
#define GAME_LANGUAGE (LANGUAGE_ENGLISH)
@@ -46,21 +47,42 @@
#define BAG_TMHM_COUNT 64
#define BAG_BERRIES_COUNT 46
#define EVENT_OBJECT_TEMPLATES_COUNT 64
#define DECOR_MAX_SECRET_BASE 16
#define DECOR_MAX_PLAYERS_HOUSE 12
#define APPRENTICE_COUNT 4
#define APPRENTICE_MAX_QUESTIONS 9
#define MAX_REMATCH_ENTRIES 100 // only REMATCH_TABLE_ENTRIES (78) are used
#define PYRAMID_BAG_ITEMS_COUNT 10
#define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode.
#define TRAINER_ID_LENGTH 4
#define MAX_MON_MOVES 4
#define NUM_STATS 6
// party sizes
#define PARTY_SIZE 6
#define MULTI_PARTY_SIZE PARTY_SIZE / 2
#define FRONTIER_PARTY_SIZE 3
#define FRONTIER_DOUBLES_PARTY_SIZE 4
#define FRONTIER_MULTI_PARTY_SIZE 2
#define MAX_FRONTIER_PARTY_SIZE FRONTIER_DOUBLES_PARTY_SIZE
// string lengths
#define ITEM_NAME_LENGTH 14
#define POKEMON_NAME_LENGTH 10
#define PLAYER_NAME_LENGTH 7
#define MAIL_WORDS_COUNT 9
#define EASY_CHAT_BATTLE_WORDS_COUNT 6
#define MOVE_NAME_LENGTH 12
#define MALE 0
#define FEMALE 1
#define GENDER_COUNT 2
#define BARD_SONG_LENGTH 6
#define NUM_STORYTELLER_TALES 4
#define NUM_TRADER_ITEMS 4
#define OPTIONS_BUTTON_MODE_NORMAL 0
#define OPTIONS_BUTTON_MODE_LR 1

20
include/constants/item.h Normal file
View File

@@ -0,0 +1,20 @@
#ifndef GUARD_ITEM_CONSTANTS_H
#define GUARD_ITEM_CONSTANTS_H
// These constants are used in gItems
#define POCKET_NONE 0
#define POCKET_ITEMS 1
#define POCKET_POKE_BALLS 2
#define POCKET_TM_HM 3
#define POCKET_BERRIES 4
#define POCKET_KEY_ITEMS 5
#define ITEMS_POCKET 0
#define BALLS_POCKET 1
#define TMHM_POCKET 2
#define BERRIES_POCKET 3
#define KEYITEMS_POCKET 4
#define POCKETS_COUNT 5
#endif // GUARD_ITEM_CONSTANTS_H

View File

@@ -3,7 +3,7 @@
// field 0 masks
#define ITEM0_X_ATTACK 0x0F
#define ITEM0_HIGH_CRIT 0x30 // For Dire Hit, works the same way as move Focus Energy.
#define ITEM0_DIRE_HIT 0x30 // Works the same way as the move Focus Energy.
#define ITEM0_SACRED_ASH 0x40
#define ITEM0_INFATUATION 0x80
@@ -23,7 +23,7 @@
#define ITEM3_POISON 0x10
#define ITEM3_SLEEP 0x20
#define ITEM3_LEVEL_UP 0x40
#define ITEM3_MIST 0x80 // For Guard Specs, works the same way as move Mist.
#define ITEM3_GUARD_SPEC 0x80 // Works the same way as the move Mist.
#define ITEM3_STATUS_ALL (ITEM3_CONFUSION | ITEM3_PARALYSIS | ITEM3_FREEZE | ITEM3_BURN | ITEM3_POISON | ITEM3_SLEEP)

View File

@@ -465,8 +465,27 @@
#define ITEMS_COUNT 377
#define ITEM_FIELD_ARROW ITEMS_COUNT
#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY
#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY
#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY
#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY
// Range of berries given out by various NPCS
#define FIRST_BERRY_MASTER_BERRY ITEM_POMEG_BERRY
#define LAST_BERRY_MASTER_BERRY ITEM_NOMEL_BERRY
#define FIRST_BERRY_MASTER_WIFE_BERRY ITEM_CHERI_BERRY
#define LAST_BERRY_MASTER_WIFE_BERRY ITEM_SITRUS_BERRY
#define FIRST_KIRI_BERRY ITEM_POMEG_BERRY
#define LAST_KIRI_BERRY ITEM_NOMEL_BERRY
#define FIRST_ROUTE_114_MAN_BERRY ITEM_RAZZ_BERRY
#define LAST_ROUTE_114_MAN_BERRY ITEM_PINAP_BERRY
#define NUM_BERRY_MASTER_BERRIES LAST_BERRY_MASTER_BERRY - FIRST_BERRY_MASTER_BERRY + 1
#define NUM_BERRY_MASTER_BERRIES_SKIPPED FIRST_BERRY_MASTER_BERRY - FIRST_BERRY_INDEX
#define NUM_BERRY_MASTER_WIFE_BERRIES LAST_BERRY_MASTER_WIFE_BERRY - FIRST_BERRY_MASTER_WIFE_BERRY + 1
#define NUM_KIRI_BERRIES LAST_KIRI_BERRY - FIRST_KIRI_BERRY + 1
#define NUM_KIRI_BERRIES_SKIPPED FIRST_KIRI_BERRY - FIRST_BERRY_INDEX
#define NUM_ROUTE_114_MAN_BERRIES LAST_ROUTE_114_MAN_BERRY - FIRST_ROUTE_114_MAN_BERRY + 1
#define NUM_ROUTE_114_MAN_BERRIES_SKIPPED FIRST_ROUTE_114_MAN_BERRY - FIRST_BERRY_INDEX
#define ITEM_TO_BERRY(itemId)(((itemId - FIRST_BERRY_INDEX) + 1))
#define NUM_TECHNICAL_MACHINES 50

View File

@@ -221,22 +221,22 @@
#define LAYOUT_SECRET_BASE_YELLOW_CAVE4 218
#define LAYOUT_SECRET_BASE_TREE4 219
#define LAYOUT_SECRET_BASE_SHRUB4 220
#define LAYOUT_SINGLE_BATTLE_COLOSSEUM 221
#define LAYOUT_BATTLE_COLOSSEUM_2P 221
#define LAYOUT_TRADE_CENTER 222
#define LAYOUT_RECORD_CORNER 223
#define LAYOUT_DOUBLE_BATTLE_COLOSSEUM 224
#define LAYOUT_LINK_CONTEST_ROOM1 225
#define LAYOUT_BATTLE_COLOSSEUM_4P 224
#define LAYOUT_CONTEST_HALL 225
#define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_29 226
#define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_30 227
#define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_31 228
#define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_32 229
#define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_33 230
#define LAYOUT_UNKNOWN_LINK_CONTEST_ROOM_25_34 231
#define LAYOUT_LINK_CONTEST_ROOM2 232
#define LAYOUT_LINK_CONTEST_ROOM3 233
#define LAYOUT_LINK_CONTEST_ROOM4 234
#define LAYOUT_LINK_CONTEST_ROOM5 235
#define LAYOUT_LINK_CONTEST_ROOM6 236
#define LAYOUT_CONTEST_HALL_BEAUTY 232
#define LAYOUT_CONTEST_HALL_TOUGH 233
#define LAYOUT_CONTEST_HALL_COOL 234
#define LAYOUT_CONTEST_HALL_SMART 235
#define LAYOUT_CONTEST_HALL_CUTE 236
#define LAYOUT_INSIDE_OF_TRUCK 237
#define LAYOUT_SAFARI_ZONE_NORTHWEST 238
#define LAYOUT_SAFARI_ZONE_NORTH 239
@@ -352,16 +352,16 @@
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY 349
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR 350
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM 351
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1 352
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2 353
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL 352
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL 353
#define LAYOUT_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY 354
#define LAYOUT_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR 355
#define LAYOUT_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM 356
#define LAYOUT_SOOTOPOLIS_CITY_LEGENDS_BATTLE 357
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3 358
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS 358
#define LAYOUT_UNKNOWN_084693AC 359
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY 360
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE 361
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR 361
#define LAYOUT_BATTLE_PYRAMID_SQUARE01 362
#define LAYOUT_BATTLE_PYRAMID_SQUARE02 363
#define LAYOUT_BATTLE_PYRAMID_SQUARE03 364
@@ -390,15 +390,15 @@
#define LAYOUT_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM 387
#define LAYOUT_MIRAGE_TOWER_4F 388
#define LAYOUT_DESERT_UNDERPASS 389
#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM 390
#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 391
#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM 390
#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR 391
#define LAYOUT_ROUTE111_NO_MIRAGE_TOWER 392
#define LAYOUT_UNION_ROOM 393
#define LAYOUT_SAFARI_ZONE_NORTHEAST 394
#define LAYOUT_SAFARI_ZONE_SOUTHEAST 395
#define LAYOUT_BATTLE_FRONTIER_RANKING_HALL 396
#define LAYOUT_BATTLE_FRONTIER_LOUNGE1 397
#define LAYOUT_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER 398
#define LAYOUT_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER 398
#define LAYOUT_BATTLE_FRONTIER_RECEPTION_GATE 399
#define LAYOUT_ARTISAN_CAVE_B1F 400
#define LAYOUT_ARTISAN_CAVE_1F 401

View File

@@ -98,8 +98,8 @@
#define MAP_FALLARBOR_TOWN_BATTLE_TENT_BATTLE_ROOM (3 | (5 << 8))
#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_1F (4 | (5 << 8))
#define MAP_FALLARBOR_TOWN_POKEMON_CENTER_2F (5 | (5 << 8))
#define MAP_FALLARBOR_TOWN_HOUSE1 (6 | (5 << 8))
#define MAP_FALLARBOR_TOWN_HOUSE2 (7 | (5 << 8))
#define MAP_FALLARBOR_TOWN_COZMOS_HOUSE (6 | (5 << 8))
#define MAP_FALLARBOR_TOWN_MOVE_RELEARNERS_HOUSE (7 | (5 << 8))
// Map Group 6
#define MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY (0 | (6 << 8))
@@ -136,12 +136,12 @@
#define MAP_SLATEPORT_CITY_BATTLE_TENT_LOBBY (2 | (9 << 8))
#define MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR (3 | (9 << 8))
#define MAP_SLATEPORT_CITY_BATTLE_TENT_BATTLE_ROOM (4 | (9 << 8))
#define MAP_SLATEPORT_CITY_HOUSE1 (5 | (9 << 8))
#define MAP_SLATEPORT_CITY_NAME_RATERS_HOUSE (5 | (9 << 8))
#define MAP_SLATEPORT_CITY_POKEMON_FAN_CLUB (6 | (9 << 8))
#define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_1F (7 | (9 << 8))
#define MAP_SLATEPORT_CITY_OCEANIC_MUSEUM_2F (8 | (9 << 8))
#define MAP_SLATEPORT_CITY_HARBOR (9 | (9 << 8))
#define MAP_SLATEPORT_CITY_HOUSE2 (10 | (9 << 8))
#define MAP_SLATEPORT_CITY_HOUSE (10 | (9 << 8))
#define MAP_SLATEPORT_CITY_POKEMON_CENTER_1F (11 | (9 << 8))
#define MAP_SLATEPORT_CITY_POKEMON_CENTER_2F (12 | (9 << 8))
#define MAP_SLATEPORT_CITY_MART (13 | (9 << 8))
@@ -422,22 +422,22 @@
#define MAP_SECRET_BASE_YELLOW_CAVE4 (21 | (25 << 8))
#define MAP_SECRET_BASE_TREE4 (22 | (25 << 8))
#define MAP_SECRET_BASE_SHRUB4 (23 | (25 << 8))
#define MAP_SINGLE_BATTLE_COLOSSEUM (24 | (25 << 8))
#define MAP_BATTLE_COLOSSEUM_2P (24 | (25 << 8))
#define MAP_TRADE_CENTER (25 | (25 << 8))
#define MAP_RECORD_CORNER (26 | (25 << 8))
#define MAP_DOUBLE_BATTLE_COLOSSEUM (27 | (25 << 8))
#define MAP_LINK_CONTEST_ROOM1 (28 | (25 << 8))
#define MAP_BATTLE_COLOSSEUM_4P (27 | (25 << 8))
#define MAP_CONTEST_HALL (28 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_29 (29 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_30 (30 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_31 (31 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_32 (32 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_33 (33 | (25 << 8))
#define MAP_UNKNOWN_LINK_CONTEST_ROOM_25_34 (34 | (25 << 8))
#define MAP_LINK_CONTEST_ROOM2 (35 | (25 << 8))
#define MAP_LINK_CONTEST_ROOM3 (36 | (25 << 8))
#define MAP_LINK_CONTEST_ROOM4 (37 | (25 << 8))
#define MAP_LINK_CONTEST_ROOM5 (38 | (25 << 8))
#define MAP_LINK_CONTEST_ROOM6 (39 | (25 << 8))
#define MAP_CONTEST_HALL_BEAUTY (35 | (25 << 8))
#define MAP_CONTEST_HALL_TOUGH (36 | (25 << 8))
#define MAP_CONTEST_HALL_COOL (37 | (25 << 8))
#define MAP_CONTEST_HALL_SMART (38 | (25 << 8))
#define MAP_CONTEST_HALL_CUTE (39 | (25 << 8))
#define MAP_INSIDE_OF_TRUCK (40 | (25 << 8))
#define MAP_SS_TIDAL_CORRIDOR (41 | (25 << 8))
#define MAP_SS_TIDAL_LOWER_DECK (42 | (25 << 8))
@@ -461,95 +461,95 @@
#define MAP_UNION_ROOM (60 | (25 << 8))
// Map Group 26
#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8))
#define MAP_SAFARI_ZONE_NORTH (1 | (26 << 8))
#define MAP_SAFARI_ZONE_SOUTHWEST (2 | (26 << 8))
#define MAP_SAFARI_ZONE_SOUTH (3 | (26 << 8))
#define MAP_BATTLE_FRONTIER_OUTSIDE_WEST (4 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY (5 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR (6 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR (7 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM (8 | (26 << 8))
#define MAP_SOUTHERN_ISLAND_EXTERIOR (9 | (26 << 8))
#define MAP_SOUTHERN_ISLAND_INTERIOR (10 | (26 << 8))
#define MAP_SAFARI_ZONE_REST_HOUSE (11 | (26 << 8))
#define MAP_SAFARI_ZONE_NORTHEAST (12 | (26 << 8))
#define MAP_SAFARI_ZONE_SOUTHEAST (13 | (26 << 8))
#define MAP_BATTLE_FRONTIER_OUTSIDE_EAST (14 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM (15 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 (16 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2 (17 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY (18 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR (19 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM (20 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM (21 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY (22 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR (23 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM (24 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY (25 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE (26 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP (27 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY (28 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR (29 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM (30 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY (31 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM (32 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM (33 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY (34 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR (35 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM (36 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1 (37 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2 (38 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3 (39 | (26 << 8))
#define MAP_BATTLE_FRONTIER_RANKING_HALL (40 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE1 (41 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER (42 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE2 (43 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE3 (44 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE4 (45 | (26 << 8))
#define MAP_BATTLE_FRONTIER_SCOTTS_HOUSE (46 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE5 (47 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE6 (48 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE7 (49 | (26 << 8))
#define MAP_BATTLE_FRONTIER_RECEPTION_GATE (50 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE8 (51 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE9 (52 | (26 << 8))
#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F (53 | (26 << 8))
#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F (54 | (26 << 8))
#define MAP_BATTLE_FRONTIER_MART (55 | (26 << 8))
#define MAP_FARAWAY_ISLAND_ENTRANCE (56 | (26 << 8))
#define MAP_FARAWAY_ISLAND_INTERIOR (57 | (26 << 8))
#define MAP_BIRTH_ISLAND_EXTERIOR (58 | (26 << 8))
#define MAP_BIRTH_ISLAND_HARBOR (59 | (26 << 8))
#define MAP_TRAINER_HILL_ENTRANCE (60 | (26 << 8))
#define MAP_TRAINER_HILL_1F (61 | (26 << 8))
#define MAP_TRAINER_HILL_2F (62 | (26 << 8))
#define MAP_TRAINER_HILL_3F (63 | (26 << 8))
#define MAP_TRAINER_HILL_4F (64 | (26 << 8))
#define MAP_TRAINER_HILL_ROOF (65 | (26 << 8))
#define MAP_NAVEL_ROCK_EXTERIOR (66 | (26 << 8))
#define MAP_NAVEL_ROCK_HARBOR (67 | (26 << 8))
#define MAP_NAVEL_ROCK_ENTRANCE (68 | (26 << 8))
#define MAP_NAVEL_ROCK_B1F (69 | (26 << 8))
#define MAP_NAVEL_ROCK_FORK (70 | (26 << 8))
#define MAP_NAVEL_ROCK_UP1 (71 | (26 << 8))
#define MAP_NAVEL_ROCK_UP2 (72 | (26 << 8))
#define MAP_NAVEL_ROCK_UP3 (73 | (26 << 8))
#define MAP_NAVEL_ROCK_UP4 (74 | (26 << 8))
#define MAP_NAVEL_ROCK_TOP (75 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN01 (76 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN02 (77 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN03 (78 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN04 (79 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN05 (80 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN06 (81 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN07 (82 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN08 (83 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN09 (84 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN10 (85 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN11 (86 | (26 << 8))
#define MAP_NAVEL_ROCK_BOTTOM (87 | (26 << 8))
#define MAP_TRAINER_HILL_ELEVATOR (88 | (26 << 8))
#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8))
#define MAP_SAFARI_ZONE_NORTH (1 | (26 << 8))
#define MAP_SAFARI_ZONE_SOUTHWEST (2 | (26 << 8))
#define MAP_SAFARI_ZONE_SOUTH (3 | (26 << 8))
#define MAP_BATTLE_FRONTIER_OUTSIDE_WEST (4 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY (5 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR (6 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR (7 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM (8 | (26 << 8))
#define MAP_SOUTHERN_ISLAND_EXTERIOR (9 | (26 << 8))
#define MAP_SOUTHERN_ISLAND_INTERIOR (10 | (26 << 8))
#define MAP_SAFARI_ZONE_REST_HOUSE (11 | (26 << 8))
#define MAP_SAFARI_ZONE_NORTHEAST (12 | (26 << 8))
#define MAP_SAFARI_ZONE_SOUTHEAST (13 | (26 << 8))
#define MAP_BATTLE_FRONTIER_OUTSIDE_EAST (14 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM (15 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_CORRIDOR (16 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM (17 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY (18 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR (19 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM (20 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM (21 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY (22 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR (23 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM (24 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY (25 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR (26 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP (27 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_LOBBY (28 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR (29 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_ARENA_BATTLE_ROOM (30 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY (31 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM (32 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM (33 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY (34 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR (35 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM (36 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL (37 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL (38 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS (39 | (26 << 8))
#define MAP_BATTLE_FRONTIER_RANKING_HALL (40 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE1 (41 | (26 << 8))
#define MAP_BATTLE_FRONTIER_EXCHANGE_SERVICE_CORNER (42 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE2 (43 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE3 (44 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE4 (45 | (26 << 8))
#define MAP_BATTLE_FRONTIER_SCOTTS_HOUSE (46 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE5 (47 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE6 (48 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE7 (49 | (26 << 8))
#define MAP_BATTLE_FRONTIER_RECEPTION_GATE (50 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE8 (51 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE9 (52 | (26 << 8))
#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F (53 | (26 << 8))
#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F (54 | (26 << 8))
#define MAP_BATTLE_FRONTIER_MART (55 | (26 << 8))
#define MAP_FARAWAY_ISLAND_ENTRANCE (56 | (26 << 8))
#define MAP_FARAWAY_ISLAND_INTERIOR (57 | (26 << 8))
#define MAP_BIRTH_ISLAND_EXTERIOR (58 | (26 << 8))
#define MAP_BIRTH_ISLAND_HARBOR (59 | (26 << 8))
#define MAP_TRAINER_HILL_ENTRANCE (60 | (26 << 8))
#define MAP_TRAINER_HILL_1F (61 | (26 << 8))
#define MAP_TRAINER_HILL_2F (62 | (26 << 8))
#define MAP_TRAINER_HILL_3F (63 | (26 << 8))
#define MAP_TRAINER_HILL_4F (64 | (26 << 8))
#define MAP_TRAINER_HILL_ROOF (65 | (26 << 8))
#define MAP_NAVEL_ROCK_EXTERIOR (66 | (26 << 8))
#define MAP_NAVEL_ROCK_HARBOR (67 | (26 << 8))
#define MAP_NAVEL_ROCK_ENTRANCE (68 | (26 << 8))
#define MAP_NAVEL_ROCK_B1F (69 | (26 << 8))
#define MAP_NAVEL_ROCK_FORK (70 | (26 << 8))
#define MAP_NAVEL_ROCK_UP1 (71 | (26 << 8))
#define MAP_NAVEL_ROCK_UP2 (72 | (26 << 8))
#define MAP_NAVEL_ROCK_UP3 (73 | (26 << 8))
#define MAP_NAVEL_ROCK_UP4 (74 | (26 << 8))
#define MAP_NAVEL_ROCK_TOP (75 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN01 (76 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN02 (77 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN03 (78 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN04 (79 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN05 (80 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN06 (81 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN07 (82 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN08 (83 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN09 (84 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN10 (85 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN11 (86 | (26 << 8))
#define MAP_NAVEL_ROCK_BOTTOM (87 | (26 << 8))
#define MAP_TRAINER_HILL_ELEVATOR (88 | (26 << 8))
// Map Group 27
#define MAP_ROUTE104_PROTOTYPE (0 | (27 << 8))

View File

@@ -1,10 +0,0 @@
#ifndef GUARD_CONSTANTS_MAUVILLE_MAN_H
#define GUARD_CONSTANTS_MAUVILLE_MAN_H
#define MAUVILLE_MAN_BARD 0
#define MAUVILLE_MAN_HIPSTER 1
#define MAUVILLE_MAN_TRADER 2
#define MAUVILLE_MAN_STORYTELLER 3
#define MAUVILLE_MAN_GIDDY 4
#endif // GUARD_CONSTANTS_MAUVILLE_MAN_H

View File

@@ -0,0 +1,12 @@
#ifndef GUARD_CONSTANTS_MAUVILLE_OLD_MAN_H
#define GUARD_CONSTANTS_MAUVILLE_OLD_MAN_H
#define MAUVILLE_MAN_BARD 0
#define MAUVILLE_MAN_HIPSTER 1
#define MAUVILLE_MAN_TRADER 2
#define MAUVILLE_MAN_STORYTELLER 3
#define MAUVILLE_MAN_GIDDY 4
#define MAUVILLE_MAN_UNUSED1 5
#define MAUVILLE_MAN_UNUSED2 6
#endif // GUARD_CONSTANTS_MAUVILLE_OLD_MAN_H

View File

@@ -235,7 +235,7 @@
#define MB_CABLE_BOX_RESULTS_2 0xE7
#define MB_WIRELESS_BOX_RESULTS 0xE8
#define MB_TRAINER_HILL_TIMER 0xE9
#define MB_UNKNOWN_CLOSED_DOOR 0xEA
#define MB_SKY_PILLAR_CLOSED_DOOR 0xEA
#define MB_UNUSED_EB 0xEB
#define MB_UNUSED_EC 0xEC
#define MB_UNUSED_ED 0xED

View File

@@ -2,29 +2,39 @@
#define GUARD_METATILE_LABELS_H
// gTileset_General
#define METATILE_General_Grass 0x001
#define METATILE_General_TallGrass 0x00D
#define METATILE_General_LongGrass 0x015
#define METATILE_General_TallGrass_TreeUp 0x025
#define METATILE_General_Grass_TreeUp 0x00E
#define METATILE_General_TallGrass_TreeLeft 0x1C6
#define METATILE_General_TallGrass_TreeRight 0x1C7
#define METATILE_General_Grass_TreeLeft 0x1CE
#define METATILE_General_Grass_TreeRight 0x1CF
#define METATILE_General_MuddySlope_Frame0 0x0E8
#define METATILE_General_MuddySlope_Frame1 0x0E9
#define METATILE_General_MuddySlope_Frame2 0x0EA
#define METATILE_General_MuddySlope_Frame3 0x0EB
#define METATILE_General_SandPit_Center 0x121
#define METATILE_General_CaveEntrance_Top 0x09F
#define METATILE_General_CaveEntrance_Bottom 0x0A7
#define METATILE_General_RockWall_GrassBase 0x079
#define METATILE_General_RockWall_RockBase 0x07C
#define METATILE_General_RockWall_SandBase 0x091
#define METATILE_General_CalmWater 0x170
#define METATILE_General_RoughWater 0x14E
#define METATILE_General_RoughDeepWater 0x14F
#define METATILE_General_ReflectiveWater 0x0A1
#define METATILE_General_Grass 0x001
#define METATILE_General_TallGrass 0x00D
#define METATILE_General_LongGrass 0x015
#define METATILE_General_TallGrass_TreeUp 0x025
#define METATILE_General_Grass_TreeUp 0x00E
#define METATILE_General_TallGrass_TreeLeft 0x1C6
#define METATILE_General_TallGrass_TreeRight 0x1C7
#define METATILE_General_Grass_TreeLeft 0x1CE
#define METATILE_General_Grass_TreeRight 0x1CF
#define METATILE_General_MuddySlope_Frame0 0x0E8
#define METATILE_General_MuddySlope_Frame1 0x0E9
#define METATILE_General_MuddySlope_Frame2 0x0EA
#define METATILE_General_MuddySlope_Frame3 0x0EB
#define METATILE_General_SandPit_Center 0x121
#define METATILE_General_CaveEntrance_Top 0x09F
#define METATILE_General_CaveEntrance_Bottom 0x0A7
#define METATILE_General_RockWall_GrassBase 0x079
#define METATILE_General_RockWall_RockBase 0x07C
#define METATILE_General_RockWall_SandBase 0x091
#define METATILE_General_CalmWater 0x170
#define METATILE_General_RoughWater 0x14E
#define METATILE_General_RoughDeepWater 0x14F
#define METATILE_General_ReflectiveWater 0x0A1
#define METATILE_General_SecretBase_TreeLeft 0x026
#define METATILE_General_SecretBase_TreeRight 0x027
#define METATILE_General_SecretBase_VineLeft 0x036
#define METATILE_General_SecretBase_VineRight 0x037
#define METATILE_General_RedCaveIndent 0x1A0
#define METATILE_General_RedCaveOpen 0x1A1
#define METATILE_General_YellowCaveIndent 0x1A8
#define METATILE_General_YellowCaveOpen 0x1A9
#define METATILE_General_BlueCaveIndent 0x1B0
#define METATILE_General_BlueCaveOpen 0x1B1
// gTileset_Building
#define METATILE_Building_PC_Off 0x004
@@ -68,13 +78,16 @@
#define METATILE_PetalburgGym_SlidingDoor_Frame3 0x21B
#define METATILE_PetalburgGym_SlidingDoor_Frame4 0x21C
// gTileset_MossdeepGym
#define METATILE_MossdeepGym_Obelisk_Top 0x204
#define METATILE_MossdeepGym_Obelisk_Base 0x20C
#define METATILE_MossdeepGym_Wall_LeftCorner 0x20D
#define METATILE_MossdeepGym_OuterWall_RightCorner 0x205
#define METATILE_MossdeepGym_Empty0 0x238
#define METATILE_MossdeepGym_Empty1 0x239
// gTileset_MossdeepGym from R/S
#define METATILE_RS_MossdeepGym_RedArrow_Right 0x204
#define METATILE_RS_MossdeepGym_RedArrow_Left 0x20C
#define METATILE_RS_MossdeepGym_RedArrow_Up 0x20D
#define METATILE_RS_MossdeepGym_RedArrow_Down 0x205
#define METATILE_RS_MossdeepGym_Switch_Up 0x238
#define METATILE_RS_MossdeepGym_Switch_Down 0x239
// gTileset_MossdeepGym from Emerald
#define METATILE_MossdeepGym_YellowArrow_Right 0x250
// gTileset_BrendansMaysHouse
#define METATILE_BrendansMaysHouse_BrendanPC_Off 0x25A
@@ -140,14 +153,16 @@
#define METATILE_Fortree_BridgeOverGrass_Lowered 0x24F
#define METATILE_Fortree_BridgeOverTrees_Raised 0x256
#define METATILE_Fortree_BridgeOverTrees_Lowered 0x257
#define METATILE_Fortree_SecretBase_Shrub 0x271
#define METATILE_Fortree_SecretBase_ShrubOpen 0x278
#define METATILE_Fortree_SecretBase_LongGrass_TopLeft 0x279
#define METATILE_Fortree_SecretBase_LongGrass_TopMid 0x27A
#define METATILE_Fortree_SecretBase_LongGrass_TopRight 0x27B
#define METATILE_Fortree_SecretBase_LongGrass_BottomLeft 0x281
#define METATILE_Fortree_SecretBase_LongGrass_BottomMid 0x282
#define METATILE_Fortree_SecretBase_LongGrass_BottomRight 0x283
#define METATILE_Fortree_WoodBridge_Kecleon0 0x297
#define METATILE_Fortree_WoodBridge_Kecleon1 0x29F
#define METATILE_Fortree_WoodBridge1_Top 0x297
#define METATILE_Fortree_WoodBridge1_Bottom 0x29F
// gTileset_Sootopolis
#define METATILE_Sootopolis_Door_Closed 0x248
@@ -161,6 +176,8 @@
// gTileset_Fallarbor
#define METATILE_Fallarbor_AshGrass 0x20A
#define METATILE_Fallarbor_BrownCaveIndent 0x208
#define METATILE_Fallarbor_BrownCaveOpen 0x210
#define METATILE_Fallarbor_NormalGrass 0x212
#define METATILE_Fallarbor_AshField 0x218
#define METATILE_Fallarbor_BrownCaveEntrance_Top 0x259
@@ -252,10 +269,10 @@
#define METATILE_EliteFour_EntryDoor_ClosedBottom 0x20E
// gTileset_InsideShip
#define METATILE_InsideShip_InTactDoor0_Bottom 0x233
#define METATILE_InsideShip_InTactDoor1_Bottom 0x22B
#define METATILE_InsideShip_DoorIndent1 0x21A
#define METATILE_InsideShip_DoorIndent0 0x234
#define METATILE_InsideShip_IntactDoor_Bottom_Unlocked 0x22B
#define METATILE_InsideShip_IntactDoor_Bottom_Locked 0x233
#define METATILE_InsideShip_DoorIndent_Unlocked 0x21A
#define METATILE_InsideShip_DoorIndent_Locked 0x234
// gTileset_BattlePike
#define METATILE_BattlePike_Curtain_Stage0_Tile0 0x24A
@@ -376,8 +393,9 @@
#define METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Down 0x263
#define METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Left_Alt 0x27B
#define METATILE_TrickHousePuzzle_Arrow_RedOnBlack_Right_Alt 0x27C
#define METATILE_TrickHousePuzzle_Arrow_YellowOnWhite_Right 0x298
// gTileset_BikeShop
// gTileset_BikeShop (also used by New Mauville)
#define METATILE_BikeShop_Barrier_Hidden_Top 0x269
#define METATILE_BikeShop_Barrier_Hidden_Bottom 0x271
#define METATILE_BikeShop_Floor_Shadow_Top 0x26D
@@ -410,4 +428,162 @@
#define METATILE_Underwater_RockWall 0x21E
#define METATILE_Underwater_FloorShadow 0x228
// gTileset_SecretBase
#define METATILE_SecretBase_Wall_TopMid 0x202
#define METATILE_SecretBase_Ground 0x20A
#define METATILE_SecretBase_PC 0x220
#define METATILE_SecretBase_RegisterPC 0x221
#define METATILE_SecretBase_PC_On 0x224
#define METATILE_SecretBase_RedBrick_Top 0x225
#define METATILE_SecretBase_RedBrick_Bottom 0x22D
#define METATILE_SecretBase_YellowBrick_Top 0x226
#define METATILE_SecretBase_YellowBrick_Bottom 0x22E
#define METATILE_SecretBase_BlueBrick_Top 0x227
#define METATILE_SecretBase_BlueBrick_Bottom 0x22F
#define METATILE_SecretBase_MudBall 0x228
#define METATILE_SecretBase_Fence_Horizontal 0x22C
#define METATILE_SecretBase_Fence_Vertical 0x233
#define METATILE_SecretBase_Board_Top 0x234
#define METATILE_SecretBase_Board_Bottom 0x23C
#define METATILE_SecretBase_RedTent_DoorTop 0x239
#define METATILE_SecretBase_RedTent_Door 0x241
#define METATILE_SecretBase_BlueTent_DoorTop 0x251
#define METATILE_SecretBase_BlueTent_Door 0x259
#define METATILE_SecretBase_Slide_Stairs 0x23D
#define METATILE_SecretBase_Slide 0x23E
#define METATILE_SecretBase_Stand_LeftCorner 0x26A
#define METATILE_SecretBase_Stand_RightCorner 0x26D
#define METATILE_SecretBase_BreakableDoor_TopClosed 0x237
#define METATILE_SecretBase_BreakableDoor_BottomClosed 0x23F
#define METATILE_SecretBase_BreakableDoor_TopOpen 0x26E
#define METATILE_SecretBase_BreakableDoor_BottomOpen 0x276
#define METATILE_SecretBase_NoteMat_C 0x278
#define METATILE_SecretBase_NoteMat_D 0x279
#define METATILE_SecretBase_NoteMat_E 0x27A
#define METATILE_SecretBase_NoteMat_F 0x27B
#define METATILE_SecretBase_NoteMat_G 0x27C
#define METATILE_SecretBase_NoteMat_A 0x27D
#define METATILE_SecretBase_NoteMat_B 0x27E
#define METATILE_SecretBase_NoteMat_C_Sharp 0x2B3
#define METATILE_SecretBase_Tire_TopLeft 0x280
#define METATILE_SecretBase_Tire_TopRight 0x281
#define METATILE_SecretBase_Tire_BottomLeft 0x288
#define METATILE_SecretBase_Tire_BottomRight 0x289
#define METATILE_SecretBase_GlassOrnament_Base1 0x28A
#define METATILE_SecretBase_GlassOrnament_Base2 0x28B
#define METATILE_SecretBase_SandOrnament_BrokenTop 0x284
#define METATILE_SecretBase_SandOrnament_BrokenBase 0x28C
#define METATILE_SecretBase_SandOrnament_Top 0x285
#define METATILE_SecretBase_SandOrnament_Base1 0x28D
#define METATILE_SecretBase_SandOrnament_TopWall 0x286
#define METATILE_SecretBase_SandOrnament_Base2 0x28E
#define METATILE_SecretBase_SmallDesk 0x287
#define METATILE_SecretBase_PokemonDesk 0x28F
#define METATILE_SecretBase_HeavyDesk_TopLeft 0x290
#define METATILE_SecretBase_HeavyDesk_TopMid 0x291
#define METATILE_SecretBase_HeavyDesk_TopRight 0x292
#define METATILE_SecretBase_HeavyDesk_BottomLeft 0x298
#define METATILE_SecretBase_HeavyDesk_BottomMid 0x299
#define METATILE_SecretBase_HeavyDesk_BottomRight 0x29A
#define METATILE_SecretBase_RaggedDesk_TopLeft 0x293
#define METATILE_SecretBase_RaggedDesk_TopMid 0x294
#define METATILE_SecretBase_RaggedDesk_TopRight 0x295
#define METATILE_SecretBase_RaggedDesk_BottomLeft 0x29B
#define METATILE_SecretBase_RaggedDesk_BottomMid 0x29C
#define METATILE_SecretBase_RaggedDesk_BottomRight 0x29D
#define METATILE_SecretBase_ComfortDesk_TopLeft 0x296
#define METATILE_SecretBase_ComfortDesk_TopMid 0x297
#define METATILE_SecretBase_ComfortDesk_TopRight 0x2A3
#define METATILE_SecretBase_ComfortDesk_BottomLeft 0x29E
#define METATILE_SecretBase_ComfortDesk_BottomMid 0x29F
#define METATILE_SecretBase_ComfortDesk_BottomRight 0x2AB
#define METATILE_SecretBase_BrickDesk_TopLeft 0x2A0
#define METATILE_SecretBase_BrickDesk_TopMid 0x2A1
#define METATILE_SecretBase_BrickDesk_TopRight 0x2A2
#define METATILE_SecretBase_BrickDesk_MidLeft 0x2A8
#define METATILE_SecretBase_BrickDesk_Center 0x2A9
#define METATILE_SecretBase_BrickDesk_MidRight 0x2AA
#define METATILE_SecretBase_BrickDesk_BottomLeft 0x2B0
#define METATILE_SecretBase_BrickDesk_BottomMid 0x2B1
#define METATILE_SecretBase_BrickDesk_BottomRight 0x2B2
#define METATILE_SecretBase_CampDesk_TopLeft 0x2A4
#define METATILE_SecretBase_CampDesk_TopMid 0x2A5
#define METATILE_SecretBase_CampDesk_TopRight 0x2A6
#define METATILE_SecretBase_CampDesk_MidLeft 0x2AC
#define METATILE_SecretBase_CampDesk_Center 0x2AD
#define METATILE_SecretBase_CampDesk_MidRight 0x2AE
#define METATILE_SecretBase_CampDesk_BottomLeft 0x2B4
#define METATILE_SecretBase_CampDesk_BottomMid 0x2B5
#define METATILE_SecretBase_CampDesk_BottomRight 0x2B6
#define METATILE_SecretBase_HardDesk_TopLeft 0x2A7
#define METATILE_SecretBase_HardDesk_TopMid 0x2BB
#define METATILE_SecretBase_HardDesk_TopRight 0x2BC
#define METATILE_SecretBase_HardDesk_MidLeft 0x2AF
#define METATILE_SecretBase_HardDesk_Center 0x2C3
#define METATILE_SecretBase_HardDesk_MidRight 0x2C4
#define METATILE_SecretBase_HardDesk_BottomLeft 0x2B7
#define METATILE_SecretBase_HardDesk_BottomMid 0x2CB
#define METATILE_SecretBase_HardDesk_BottomRight 0x2CC
#define METATILE_SecretBase_PrettyDesk_TopLeft 0x2BD
#define METATILE_SecretBase_PrettyDesk_TopMid 0x2BE
#define METATILE_SecretBase_PrettyDesk_TopRight 0x2BF
#define METATILE_SecretBase_PrettyDesk_MidLeft 0x2C5
#define METATILE_SecretBase_PrettyDesk_Center 0x2C6
#define METATILE_SecretBase_PrettyDesk_MidRight 0x2C7
#define METATILE_SecretBase_PrettyDesk_BottomLeft 0x2CD
#define METATILE_SecretBase_PrettyDesk_BottomMid 0x2CE
#define METATILE_SecretBase_PrettyDesk_BottomRight 0x2CF
#define METATILE_SecretBase_SmallChair 0x2B8
#define METATILE_SecretBase_PokemonChair 0x2B9
#define METATILE_SecretBase_HeavyChair 0x2BA
#define METATILE_SecretBase_PrettyChair 0x2C0
#define METATILE_SecretBase_ComfortChair 0x2C1
#define METATILE_SecretBase_RaggedChair 0x2C2
#define METATILE_SecretBase_BrickChair 0x2C8
#define METATILE_SecretBase_CampChair 0x2C9
#define METATILE_SecretBase_HardChair 0x2Ca
#define METATILE_SecretBase_RedPlant_Base1 0x2D8
#define METATILE_SecretBase_RedPlant_Base2 0x2D9
#define METATILE_SecretBase_TropicalPlant_Base1 0x2DA
#define METATILE_SecretBase_TropicalPlant_Base2 0x2DB
#define METATILE_SecretBase_PrettyFlower_Base1 0x2DC
#define METATILE_SecretBase_PrettyFlower_Base2 0x2DD
#define METATILE_SecretBase_ColorfulFlowers_BaseLeft1 0x2E8
#define METATILE_SecretBase_ColorfulFlowers_BaseRight1 0x2E9
#define METATILE_SecretBase_ColorfulFlowers_BaseLeft2 0x2EA
#define METATILE_SecretBase_ColorfulFlowers_BaseRight2 0x2EB
#define METATILE_SecretBase_BigPlant_BaseLeft1 0x2EC
#define METATILE_SecretBase_BigPlant_BaseRight1 0x2ED
#define METATILE_SecretBase_BigPlant_BaseLeft2 0x2EE
#define METATILE_SecretBase_BigPlant_BaseRight2 0x2EF
#define METATILE_SecretBase_GorgeousPlant_BaseLeft1 0x2F8
#define METATILE_SecretBase_GorgeousPlant_BaseRight1 0x2F9
#define METATILE_SecretBase_GorgeousPlant_BaseLeft2 0x2FA
#define METATILE_SecretBase_GorgeousPlant_BaseRight2 0x2FB
#define METATILE_SecretBase_TV 0x2F4
#define METATILE_SecretBase_RoundTV 0x2F5
#define METATILE_SecretBase_CuteTV 0x2F6
#define METATILE_SecretBase_PikaPoster_Left 0x31C
#define METATILE_SecretBase_PikaPoster_Right 0x31D
#define METATILE_SecretBase_LongPoster_Left 0x31E
#define METATILE_SecretBase_LongPoster_Right 0x31F
#define METATILE_SecretBase_SeaPoster_Left 0x324
#define METATILE_SecretBase_SeaPoster_Right 0x325
#define METATILE_SecretBase_SkyPoster_Left 0x326
#define METATILE_SecretBase_SkyPoster_Right 0x327
#define METATILE_SecretBase_KissPoster_Left 0x32C
#define METATILE_SecretBase_KissPoster_Right 0x32D
#define METATILE_SecretBase_BallPoster 0x330
#define METATILE_SecretBase_GreenPoster 0x331
#define METATILE_SecretBase_RedPoster 0x332
#define METATILE_SecretBase_BluePoster 0x333
#define METATILE_SecretBase_CutePoster 0x334
#define METATILE_SecretBase_SilverShield_Base1 0x2DE
#define METATILE_SecretBase_SilverShield_Base2 0x2DF
#define METATILE_SecretBase_GoldShield_Base1 0x336
#define METATILE_SecretBase_GoldShield_Base2 0x337
#define METATILE_SecretBase_RedBalloon 0x338
#define METATILE_SecretBase_BlueBalloon 0x33c
#define METATILE_SecretBase_YellowBalloon 0x340
#endif // GUARD_METATILE_LABELS_H

View File

@@ -0,0 +1,15 @@
#ifndef GUARD_CONSTANTS_MEVENT_H
#define GUARD_CONSTANTS_MEVENT_H
// mevent2.c
#define GET_NUM_STAMPS 0
#define GET_MAX_STAMPS 1
#define GET_CARD_BATTLES_WON 2
#define GET_NUM_STAMPS_INTERNAL 3
#define GET_MAX_STAMPS_INTERNAL 4
#define GET_CARD_BATTLES_WON_INTERNAL 0
#define REQUIRED_CARD_BATTLES 3
#endif //GUARD_MEVENT_H

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,132 @@
#ifndef GUARD_CONSTANTS_PARTY_MENU_H
#define GUARD_CONSTANTS_PARTY_MENU_H
#define AILMENT_NONE 0
#define AILMENT_PSN 1
#define AILMENT_PRZ 2
#define AILMENT_SLP 3
#define AILMENT_FRZ 4
#define AILMENT_BRN 5
#define AILMENT_PKRS 6
#define AILMENT_FNT 7
#define TUTOR_MOVE_MEGA_PUNCH 0
#define TUTOR_MOVE_SWORDS_DANCE 1
#define TUTOR_MOVE_MEGA_KICK 2
#define TUTOR_MOVE_BODY_SLAM 3
#define TUTOR_MOVE_DOUBLE_EDGE 4
#define TUTOR_MOVE_COUNTER 5
#define TUTOR_MOVE_SEISMIC_TOSS 6
#define TUTOR_MOVE_MIMIC 7
#define TUTOR_MOVE_METRONOME 8
#define TUTOR_MOVE_SOFT_BOILED 9
#define TUTOR_MOVE_DREAM_EATER 10
#define TUTOR_MOVE_THUNDER_WAVE 11
#define TUTOR_MOVE_EXPLOSION 12
#define TUTOR_MOVE_ROCK_SLIDE 13
#define TUTOR_MOVE_SUBSTITUTE 14
#define TUTOR_MOVE_DYNAMIC_PUNCH 15
#define TUTOR_MOVE_ROLLOUT 16
#define TUTOR_MOVE_PSYCH_UP 17
#define TUTOR_MOVE_SNORE 18
#define TUTOR_MOVE_ICY_WIND 19
#define TUTOR_MOVE_ENDURE 20
#define TUTOR_MOVE_MUD_SLAP 21
#define TUTOR_MOVE_ICE_PUNCH 22
#define TUTOR_MOVE_SWAGGER 23
#define TUTOR_MOVE_SLEEP_TALK 24
#define TUTOR_MOVE_SWIFT 25
#define TUTOR_MOVE_DEFENSE_CURL 26
#define TUTOR_MOVE_THUNDER_PUNCH 27
#define TUTOR_MOVE_FIRE_PUNCH 28
#define TUTOR_MOVE_FURY_CUTTER 29
#define TUTOR_MOVE_COUNT 30
#define PARTY_LAYOUT_SINGLE 0
#define PARTY_LAYOUT_DOUBLE 1
#define PARTY_LAYOUT_MULTI 2
#define PARTY_LAYOUT_MULTI_SHOWCASE 3 // The layout during the screen that appears just before a multi battle
#define PARTY_LAYOUT_COUNT 4
#define KEEP_PARTY_LAYOUT 0xFF
#define PARTY_MENU_TYPE_FIELD 0
#define PARTY_MENU_TYPE_IN_BATTLE 1
#define PARTY_MENU_TYPE_CONTEST 2
#define PARTY_MENU_TYPE_CHOOSE_MON 3
#define PARTY_MENU_TYPE_CHOOSE_HALF 4 // multi battles, eReader battles, and some battle facilities
#define PARTY_MENU_TYPE_MULTI_SHOWCASE 5
#define PARTY_MENU_TYPE_DAYCARE 6
#define PARTY_MENU_TYPE_MOVE_RELEARNER 7
#define PARTY_MENU_TYPE_UNION_ROOM_REGISTER 8 // trading board
#define PARTY_MENU_TYPE_UNION_ROOM_TRADE 9 // trading board
#define PARTY_MENU_TYPE_SPIN_TRADE 10 // Unused beta for Gen IV's Spin Trade
#define PARTY_MENU_TYPE_MINIGAME 11
#define PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS 12
#define PARTY_ACTION_CHOOSE_MON 0
#define PARTY_ACTION_SEND_OUT 1
#define PARTY_ACTION_CANT_SWITCH 2
#define PARTY_ACTION_USE_ITEM 3
#define PARTY_ACTION_ABILITY_PREVENTS 4
#define PARTY_ACTION_GIVE_ITEM 5
#define PARTY_ACTION_GIVE_PC_ITEM 6 // Unused. Not possible to give non-mail items directly from PC
#define PARTY_ACTION_GIVE_MAILBOX_MAIL 7
#define PARTY_ACTION_SWITCH 8
#define PARTY_ACTION_SWITCHING 9
#define PARTY_ACTION_SOFTBOILED 10
#define PARTY_ACTION_CHOOSE_AND_CLOSE 11
#define PARTY_ACTION_MOVE_TUTOR 12
#define PARTY_ACTION_MINIGAME 13
#define PARTY_ACTION_REUSABLE_ITEM 14 // Unused. The only reusable items are handled separately
// IDs for DisplayPartyMenuStdMessage, to display the message at the bottom of the party menu
#define PARTY_MSG_CHOOSE_MON 0
#define PARTY_MSG_CHOOSE_MON_OR_CANCEL 1
#define PARTY_MSG_CHOOSE_MON_AND_CONFIRM 2
#define PARTY_MSG_MOVE_TO_WHERE 3
#define PARTY_MSG_TEACH_WHICH_MON 4
#define PARTY_MSG_USE_ON_WHICH_MON 5
#define PARTY_MSG_GIVE_TO_WHICH_MON 6
#define PARTY_MSG_NOTHING_TO_CUT 7
#define PARTY_MSG_CANT_SURF_HERE 8
#define PARTY_MSG_ALREADY_SURFING 9
#define PARTY_MSG_CURRENT_TOO_FAST 10
#define PARTY_MSG_ENJOY_CYCLING 11
#define PARTY_MSG_ALREADY_IN_USE 12
#define PARTY_MSG_CANT_USE_HERE 13
#define PARTY_MSG_NO_MON_FOR_BATTLE 14
#define PARTY_MSG_CHOOSE_MON_2 15
#define PARTY_MSG_NOT_ENOUGH_HP 16
#define PARTY_MSG_X_MONS_ARE_NEEDED 17
#define PARTY_MSG_MONS_CANT_BE_SAME 18
#define PARTY_MSG_NO_SAME_HOLD_ITEMS 19
#define PARTY_MSG_UNUSED 20
#define PARTY_MSG_DO_WHAT_WITH_MON 21
#define PARTY_MSG_RESTORE_WHICH_MOVE 22
#define PARTY_MSG_BOOST_PP_WHICH_MOVE 23
#define PARTY_MSG_DO_WHAT_WITH_ITEM 24
#define PARTY_MSG_DO_WHAT_WITH_MAIL 25
#define PARTY_MSG_ALREADY_HOLDING_ONE 26
#define PARTY_MSG_NONE 127
// IDs for DisplayPartyPokemonDescriptionText, to display a message in the party pokemon's box
#define PARTYBOX_DESC_NO_USE 0
#define PARTYBOX_DESC_ABLE_3 1
#define PARTYBOX_DESC_FIRST 2
#define PARTYBOX_DESC_SECOND 3
#define PARTYBOX_DESC_THIRD 4
#define PARTYBOX_DESC_FOURTH 5
#define PARTYBOX_DESC_ABLE 6
#define PARTYBOX_DESC_NOT_ABLE 7
#define PARTYBOX_DESC_ABLE_2 8
#define PARTYBOX_DESC_NOT_ABLE_2 9
#define PARTYBOX_DESC_LEARNED 10
#define PARTYBOX_DESC_HAVE 11
#define PARTYBOX_DESC_DONT_HAVE 12
#define SELECTWINDOW_ACTIONS 0
#define SELECTWINDOW_ITEM 1
#define SELECTWINDOW_MAIL 2
#define SELECTWINDOW_MOVES 3
#endif // GUARD_CONSTANTS_PARTY_MENU_H

View File

@@ -2,87 +2,280 @@
#define GUARD_CONSTANTS_POKEMON_H
// Pokemon types
#define TYPE_NONE 0xFF
#define TYPE_NORMAL 0x00
#define TYPE_FIGHTING 0x01
#define TYPE_FLYING 0x02
#define TYPE_POISON 0x03
#define TYPE_GROUND 0x04
#define TYPE_ROCK 0x05
#define TYPE_BUG 0x06
#define TYPE_GHOST 0x07
#define TYPE_STEEL 0x08
#define TYPE_MYSTERY 0x09
#define TYPE_FIRE 0x0a
#define TYPE_WATER 0x0b
#define TYPE_GRASS 0x0c
#define TYPE_ELECTRIC 0x0d
#define TYPE_PSYCHIC 0x0e
#define TYPE_ICE 0x0f
#define TYPE_DRAGON 0x10
#define TYPE_DARK 0x11
#define NUMBER_OF_MON_TYPES 0x12
#define TYPE_NONE 255
#define TYPE_NORMAL 0
#define TYPE_FIGHTING 1
#define TYPE_FLYING 2
#define TYPE_POISON 3
#define TYPE_GROUND 4
#define TYPE_ROCK 5
#define TYPE_BUG 6
#define TYPE_GHOST 7
#define TYPE_STEEL 8
#define TYPE_MYSTERY 9
#define TYPE_FIRE 10
#define TYPE_WATER 11
#define TYPE_GRASS 12
#define TYPE_ELECTRIC 13
#define TYPE_PSYCHIC 14
#define TYPE_ICE 15
#define TYPE_DRAGON 16
#define TYPE_DARK 17
#define NUMBER_OF_MON_TYPES 18
// Pokemon egg groups
#define EGG_GROUP_NONE 0
#define EGG_GROUP_MONSTER 1
#define EGG_GROUP_WATER_1 2
#define EGG_GROUP_BUG 3
#define EGG_GROUP_FLYING 4
#define EGG_GROUP_FIELD 5
#define EGG_GROUP_FAIRY 6
#define EGG_GROUP_GRASS 7
#define EGG_GROUP_HUMAN_LIKE 8
#define EGG_GROUP_WATER_3 9
#define EGG_GROUP_MINERAL 10
#define EGG_GROUP_AMORPHOUS 11
#define EGG_GROUP_WATER_2 12
#define EGG_GROUP_DITTO 13
#define EGG_GROUP_DRAGON 14
#define EGG_GROUP_UNDISCOVERED 15
#define EGG_GROUP_NONE 0
#define EGG_GROUP_MONSTER 1
#define EGG_GROUP_WATER_1 2
#define EGG_GROUP_BUG 3
#define EGG_GROUP_FLYING 4
#define EGG_GROUP_FIELD 5
#define EGG_GROUP_FAIRY 6
#define EGG_GROUP_GRASS 7
#define EGG_GROUP_HUMAN_LIKE 8
#define EGG_GROUP_WATER_3 9
#define EGG_GROUP_MINERAL 10
#define EGG_GROUP_AMORPHOUS 11
#define EGG_GROUP_WATER_2 12
#define EGG_GROUP_DITTO 13
#define EGG_GROUP_DRAGON 14
#define EGG_GROUP_UNDISCOVERED 15
#define EGG_GROUPS_PER_MON 2
// Pokemon natures
#define NATURE_HARDY 0
#define NATURE_LONELY 1
#define NATURE_BRAVE 2
#define NATURE_ADAMANT 3
#define NATURE_NAUGHTY 4
#define NATURE_BOLD 5
#define NATURE_DOCILE 6
#define NATURE_RELAXED 7
#define NATURE_IMPISH 8
#define NATURE_LAX 9
#define NATURE_TIMID 10
#define NATURE_HASTY 11
#define NATURE_SERIOUS 12
#define NATURE_JOLLY 13
#define NATURE_NAIVE 14
#define NATURE_MODEST 15
#define NATURE_MILD 16
#define NATURE_QUIET 17
#define NATURE_BASHFUL 18
#define NATURE_RASH 19
#define NATURE_CALM 20
#define NATURE_GENTLE 21
#define NATURE_SASSY 22
#define NATURE_CAREFUL 23
#define NATURE_QUIRKY 24
#define NATURE_HARDY 0
#define NATURE_LONELY 1
#define NATURE_BRAVE 2
#define NATURE_ADAMANT 3
#define NATURE_NAUGHTY 4
#define NATURE_BOLD 5
#define NATURE_DOCILE 6
#define NATURE_RELAXED 7
#define NATURE_IMPISH 8
#define NATURE_LAX 9
#define NATURE_TIMID 10
#define NATURE_HASTY 11
#define NATURE_SERIOUS 12
#define NATURE_JOLLY 13
#define NATURE_NAIVE 14
#define NATURE_MODEST 15
#define NATURE_MILD 16
#define NATURE_QUIET 17
#define NATURE_BASHFUL 18
#define NATURE_RASH 19
#define NATURE_CALM 20
#define NATURE_GENTLE 21
#define NATURE_SASSY 22
#define NATURE_CAREFUL 23
#define NATURE_QUIRKY 24
// Pokemon Stats
#define STAT_HP 0
#define STAT_ATK 1
#define STAT_DEF 2
#define STAT_SPEED 3
#define STAT_SPATK 4
#define STAT_SPDEF 5
#define STAT_ACC 6 // Only in battles.
#define STAT_HP 0
#define STAT_ATK 1
#define STAT_DEF 2
#define STAT_SPEED 3
#define STAT_SPATK 4
#define STAT_SPDEF 5
#define STAT_ACC 6 // Only in battles.
#define STAT_EVASION 7 // Only in battles.
#define NUM_STATS 6
#define NUM_BATTLE_STATS 8
#define NUM_EV_STATS NUM_STATS - 1 // excludes HP
#define NUM_BATTLE_STATS NUM_STATS + 2 // includes Accuracy and Evasion
// Shiny odds
#define SHINY_ODDS 8 // Actual probability is SHINY_ODDS/65536
// Flags for Get(Box)MonData / Set(Box)MonData
#define MON_DATA_PERSONALITY 0
#define MON_DATA_OT_ID 1
#define MON_DATA_NICKNAME 2
#define MON_DATA_LANGUAGE 3
#define MON_DATA_SANITY_IS_BAD_EGG 4
#define MON_DATA_SANITY_HAS_SPECIES 5
#define MON_DATA_SANITY_IS_EGG 6
#define MON_DATA_OT_NAME 7
#define MON_DATA_MARKINGS 8
#define MON_DATA_CHECKSUM 9
#define MON_DATA_ENCRYPT_SEPARATOR 10
#define MON_DATA_SPECIES 11
#define MON_DATA_HELD_ITEM 12
#define MON_DATA_MOVE1 13
#define MON_DATA_MOVE2 14
#define MON_DATA_MOVE3 15
#define MON_DATA_MOVE4 16
#define MON_DATA_PP1 17
#define MON_DATA_PP2 18
#define MON_DATA_PP3 19
#define MON_DATA_PP4 20
#define MON_DATA_PP_BONUSES 21
#define MON_DATA_COOL 22
#define MON_DATA_BEAUTY 23
#define MON_DATA_CUTE 24
#define MON_DATA_EXP 25
#define MON_DATA_HP_EV 26
#define MON_DATA_ATK_EV 27
#define MON_DATA_DEF_EV 28
#define MON_DATA_SPEED_EV 29
#define MON_DATA_SPATK_EV 30
#define MON_DATA_SPDEF_EV 31
#define MON_DATA_FRIENDSHIP 32
#define MON_DATA_SMART 33
#define MON_DATA_POKERUS 34
#define MON_DATA_MET_LOCATION 35
#define MON_DATA_MET_LEVEL 36
#define MON_DATA_MET_GAME 37
#define MON_DATA_POKEBALL 38
#define MON_DATA_HP_IV 39
#define MON_DATA_ATK_IV 40
#define MON_DATA_DEF_IV 41
#define MON_DATA_SPEED_IV 42
#define MON_DATA_SPATK_IV 43
#define MON_DATA_SPDEF_IV 44
#define MON_DATA_IS_EGG 45
#define MON_DATA_ABILITY_NUM 46
#define MON_DATA_TOUGH 47
#define MON_DATA_SHEEN 48
#define MON_DATA_OT_GENDER 49
#define MON_DATA_COOL_RIBBON 50
#define MON_DATA_BEAUTY_RIBBON 51
#define MON_DATA_CUTE_RIBBON 52
#define MON_DATA_SMART_RIBBON 53
#define MON_DATA_TOUGH_RIBBON 54
#define MON_DATA_STATUS 55
#define MON_DATA_LEVEL 56
#define MON_DATA_HP 57
#define MON_DATA_MAX_HP 58
#define MON_DATA_ATK 59
#define MON_DATA_DEF 60
#define MON_DATA_SPEED 61
#define MON_DATA_SPATK 62
#define MON_DATA_SPDEF 63
#define MON_DATA_MAIL 64
#define MON_DATA_SPECIES2 65
#define MON_DATA_IVS 66
#define MON_DATA_CHAMPION_RIBBON 67
#define MON_DATA_WINNING_RIBBON 68
#define MON_DATA_VICTORY_RIBBON 69
#define MON_DATA_ARTIST_RIBBON 70
#define MON_DATA_EFFORT_RIBBON 71
#define MON_DATA_GIFT_RIBBON_1 72
#define MON_DATA_GIFT_RIBBON_2 73
#define MON_DATA_GIFT_RIBBON_3 74
#define MON_DATA_GIFT_RIBBON_4 75
#define MON_DATA_GIFT_RIBBON_5 76
#define MON_DATA_GIFT_RIBBON_6 77
#define MON_DATA_GIFT_RIBBON_7 78
#define MON_DATA_FATEFUL_ENCOUNTER 79
#define MON_DATA_OBEDIENCE 80
#define MON_DATA_KNOWN_MOVES 81
#define MON_DATA_RIBBON_COUNT 82
#define MON_DATA_RIBBONS 83
#define MON_DATA_ATK2 84
#define MON_DATA_DEF2 85
#define MON_DATA_SPEED2 86
#define MON_DATA_SPATK2 87
#define MON_DATA_SPDEF2 88
#define MIN_LEVEL 1
#define MAX_LEVEL 100
#define OT_ID_PLAYER_ID 0
#define OT_ID_PRESET 1
#define OT_ID_RANDOM_NO_SHINY 2
#define MON_GIVEN_TO_PARTY 0
#define MON_GIVEN_TO_PC 1
#define MON_CANT_GIVE 2
#define PLAYER_HAS_TWO_USABLE_MONS 0
#define PLAYER_HAS_ONE_MON 1
#define PLAYER_HAS_ONE_USABLE_MON 2
#define MON_ALREADY_KNOWS_MOVE 0xFFFE
#define MON_HAS_MAX_MOVES 0xFFFF
#define LEVEL_UP_MOVE_ID 0x01FF
#define LEVEL_UP_MOVE_LV 0xFE00
#define LEVEL_UP_END 0xFFFF
#define MON_MALE 0x00
#define MON_FEMALE 0xFE
#define MON_GENDERLESS 0xFF
#define FRIENDSHIP_EVENT_GROW_LEVEL 0
#define FRIENDSHIP_EVENT_VITAMIN 1 // unused
#define FRIENDSHIP_EVENT_BATTLE_ITEM 2 // unused
#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 3
#define FRIENDSHIP_EVENT_LEARN_TMHM 4
#define FRIENDSHIP_EVENT_WALKING 5
#define FRIENDSHIP_EVENT_FAINT_SMALL 6
#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 7
#define FRIENDSHIP_EVENT_FAINT_LARGE 8
#define MAX_FRIENDSHIP 0xFF
#define STATUS_PRIMARY_NONE 0
#define STATUS_PRIMARY_POISON 1
#define STATUS_PRIMARY_PARALYSIS 2
#define STATUS_PRIMARY_SLEEP 3
#define STATUS_PRIMARY_FREEZE 4
#define STATUS_PRIMARY_BURN 5
#define STATUS_PRIMARY_POKERUS 6
#define STATUS_PRIMARY_FAINTED 7
#define MAX_TOTAL_EVS 510
#define EV_ITEM_RAISE_LIMIT 100
#define UNOWN_FORM_COUNT 28
// Battle move flags
#define FLAG_MAKES_CONTACT 0x1
#define FLAG_PROTECT_AFFECTED 0x2
#define FLAG_MAGICCOAT_AFFECTED 0x4
#define FLAG_SNATCH_AFFECTED 0x8
#define FLAG_MIRROR_MOVE_AFFECTED 0x10
#define FLAG_KINGSROCK_AFFECTED 0x20
// Growth rates
#define GROWTH_MEDIUM_FAST 0
#define GROWTH_ERRATIC 1
#define GROWTH_FLUCTUATING 2
#define GROWTH_MEDIUM_SLOW 3
#define GROWTH_FAST 4
#define GROWTH_SLOW 5
// Body colors for pokedex search
#define BODY_COLOR_RED 0
#define BODY_COLOR_BLUE 1
#define BODY_COLOR_YELLOW 2
#define BODY_COLOR_GREEN 3
#define BODY_COLOR_BLACK 4
#define BODY_COLOR_BROWN 5
#define BODY_COLOR_PURPLE 6
#define BODY_COLOR_GRAY 7
#define BODY_COLOR_WHITE 8
#define BODY_COLOR_PINK 9
#define F_SUMMARY_SCREEN_FLIP_SPRITE 0x80
// Evolution type flags
#define EVO_FRIENDSHIP 0x0001 // Pokémon levels up with friendship ≥ 220
#define EVO_FRIENDSHIP_DAY 0x0002 // Pokémon levels up during the day with friendship ≥ 220
#define EVO_FRIENDSHIP_NIGHT 0x0003 // Pokémon levels up at night with friendship ≥ 220
#define EVO_LEVEL 0x0004 // Pokémon reaches the specified level
#define EVO_TRADE 0x0005 // Pokémon is traded
#define EVO_TRADE_ITEM 0x0006 // Pokémon is traded while it's holding the specified item
#define EVO_ITEM 0x0007 // specified item is used on Pokémon
#define EVO_LEVEL_ATK_GT_DEF 0x0008 // Pokémon reaches the specified level with attack > defense
#define EVO_LEVEL_ATK_EQ_DEF 0x0009 // Pokémon reaches the specified level with attack = defense
#define EVO_LEVEL_ATK_LT_DEF 0x000a // Pokémon reaches the specified level with attack < defense
#define EVO_LEVEL_SILCOON 0x000b // Pokémon reaches the specified level with a Silcoon personality value
#define EVO_LEVEL_CASCOON 0x000c // Pokémon reaches the specified level with a Cascoon personality value
#define EVO_LEVEL_NINJASK 0x000d // Pokémon reaches the specified level (special value for Ninjask)
#define EVO_LEVEL_SHEDINJA 0x000e // Pokémon reaches the specified level (special value for Shedinja)
#define EVO_BEAUTY 0x000f // Pokémon levels up with beauty ≥ specified value
#define EVOS_PER_MON 5
#endif // GUARD_CONSTANTS_POKEMON_H

View File

@@ -0,0 +1,168 @@
#ifndef GUARD_SCRIPT_MENU_CONSTANTS_H
#define GUARD_SCRIPT_MENU_CONSTANTS_H
#define MULTICHOICE(name) {name, ARRAY_COUNT(name)}
#define MAX_MULTICHOICE_WIDTH 28
#define MULTI_B_PRESSED 127
// Multichoice Ids
#define MULTI_BRINEY_ON_DEWFORD 0
#define MULTI_PC 1 // Exit only, populated by CreatePCMultichoice
#define MULTI_ENTERINFO 2
#define MULTI_CONTEST_INFO 3
#define MULTI_CONTEST_TYPE 4
#define MULTI_BASE_PC_NO_REGISTRY 5
#define MULTI_BASE_PC_WITH_REGISTRY 6
#define MULTI_REGISTER_MENU 7
#define MULTI_SSTIDAL_LILYCOVE 8 // Exit only, populated by CreateLilycoveSSTidalMultichoice
#define MULTI_UNUSED_9 9
#define MULTI_UNUSED_10 10
#define MULTI_FRONTIER_PASS_INFO 11
#define MULTI_BIKE 12
#define MULTI_STATUS_INFO 13
#define MULTI_BRINEY_OFF_DEWFORD 14
#define MULTI_UNUSED_15 15
#define MULTI_VIEWED_PAINTINGS 16
#define MULTI_YESNOINFO 17
#define MULTI_BATTLE_MODE 18
#define MULTI_UNUSED_19 19
#define MULTI_YESNOINFO_2 20
#define MULTI_UNUSED_21 21
#define MULTI_UNUSED_22 22
#define MULTI_CHALLENGEINFO 23
#define MULTI_LEVEL_MODE 24
#define MULTI_MECHADOLL1_Q1 25
#define MULTI_MECHADOLL1_Q2 26
#define MULTI_MECHADOLL1_Q3 27
#define MULTI_MECHADOLL2_Q1 28
#define MULTI_MECHADOLL2_Q2 29
#define MULTI_MECHADOLL2_Q3 30
#define MULTI_MECHADOLL3_Q1 31
#define MULTI_MECHADOLL3_Q2 32
#define MULTI_MECHADOLL3_Q3 33
#define MULTI_MECHADOLL4_Q1 34
#define MULTI_MECHADOLL4_Q2 35
#define MULTI_MECHADOLL4_Q3 36
#define MULTI_MECHADOLL5_Q1 37
#define MULTI_MECHADOLL5_Q2 38
#define MULTI_MECHADOLL5_Q3 39
#define MULTI_UNUSED_40 40
#define MULTI_UNUSED_41 41
#define MULTI_VENDING_MACHINE 42
#define MULTI_MACH_BIKE_INFO 43
#define MULTI_ACRO_BIKE_INFO 44
#define MULTI_SATISFACTION 45
#define MULTI_STERN_DEEPSEA 46
#define MULTI_UNUSED_ASH_VENDOR 47 // Replaced by scrollable multichoice
#define MULTI_GAME_CORNER_DOLLS 48
#define MULTI_GAME_CORNER_COINS 49
#define MULTI_HOWS_FISHING 50
#define MULTI_UNUSED_51 51
#define MULTI_SSTIDAL_SLATEPORT_WITH_BF 52
#define MULTI_SSTIDAL_BATTLE_FRONTIER 53
#define MULTI_RIGHTLEFT 54
#define MULTI_GAME_CORNER_TMS 55
#define MULTI_SSTIDAL_SLATEPORT_NO_BF 56
#define MULTI_FLOORS 57
#define MULTI_SHARDS_R 58
#define MULTI_SHARDS_Y 59
#define MULTI_SHARDS_RY 60
#define MULTI_SHARDS_B 61
#define MULTI_SHARDS_RB 62
#define MULTI_SHARDS_YB 63
#define MULTI_SHARDS_RYB 64
#define MULTI_SHARDS_G 65
#define MULTI_SHARDS_RG 66
#define MULTI_SHARDS_YG 67
#define MULTI_SHARDS_RYG 68
#define MULTI_SHARDS_BG 69
#define MULTI_SHARDS_RBG 70
#define MULTI_SHARDS_YBG 71
#define MULTI_SHARDS_RYBG 72
#define MULTI_TOURNEY_WITH_RECORD 73
#define MULTI_CABLE_CLUB_NO_RECORD_MIX 74
#define MULTI_WIRELESS_NO_RECORD_BERRY 75
#define MULTI_CABLE_CLUB_WITH_RECORD_MIX 76
#define MULTI_WIRELESS_NO_BERRY 77
#define MULTI_WIRELESS_NO_RECORD 78
#define MULTI_WIRELESS_ALL_SERVICES 79
#define MULTI_WIRELESS_MINIGAME 80
#define MULTI_LINK_LEADER 81
#define MULTI_CONTEST_RANK 82
#define MULTI_FRONTIER_ITEM_CHOOSE 83
#define MULTI_LINK_CONTEST_INFO 84
#define MULTI_LINK_CONTEST_MODE 85
#define MULTI_FORCED_START_MENU 86
#define MULTI_FRONTIER_GAMBLER_BET 87
#define MULTI_TENT 88
#define MULTI_UNUSED_SSTIDAL_1 89 // These 4 were replaced by CreateLilycoveSSTidalMultichoice
#define MULTI_UNUSED_SSTIDAL_2 90 //
#define MULTI_UNUSED_SSTIDAL_3 91 //
#define MULTI_UNUSED_SSTIDAL_4 92 //
#define MULTI_FOSSIL 93
#define MULTI_YESNO 94
#define MULTI_FRONTIER_RULES 95
#define MULTI_BATTLE_ARENA_RULES 96
#define MULTI_BATTLE_TOWER_RULES 97
#define MULTI_BATTLE_DOME_RULES 98
#define MULTI_BATTLE_FACTORY_RULES 99
#define MULTI_BATTLE_PALACE_RULES 100
#define MULTI_BATTLE_PYRAMID_RULES 101
#define MULTI_BATTLE_PIKE_RULES 102
#define MULTI_GO_ON_RECORD_REST_RETIRE 103
#define MULTI_GO_ON_REST_RETIRE 104
#define MULTI_GO_ON_RECORD_RETIRE 105
#define MULTI_GO_ON_RETIRE 106
#define MULTI_TOURNEY_NO_RECORD 107
#define MULTI_TV_LATI 108
#define MULTI_BATTLE_TOWER_FEELINGS 109
#define MULTI_WHERES_RAYQUAZA 110
#define MULTI_SLATEPORT_TENT_RULES 111
#define MULTI_FALLARBOR_TENT_RULES 112
#define MULTI_TAG_MATCH_TYPE 113
// Lilycove SS Tidal Multichoice Selections
#define SSTIDAL_SELECTION_SLATEPORT 0
#define SSTIDAL_SELECTION_BATTLE_FRONTIER 1
#define SSTIDAL_SELECTION_SOUTHERN_ISLAND 2
#define SSTIDAL_SELECTION_NAVEL_ROCK 3
#define SSTIDAL_SELECTION_BIRTH_ISLAND 4
#define SSTIDAL_SELECTION_FARAWAY_ISLAND 5
#define SSTIDAL_SELECTION_EXIT 6
#define SSTIDAL_SELECTION_COUNT 7
// Std String Ids
#define STDSTRING_COOL 0
#define STDSTRING_BEAUTY 1
#define STDSTRING_CUTE 2
#define STDSTRING_SMART 3
#define STDSTRING_TOUGH 4
#define STDSTRING_NORMAL 5
#define STDSTRING_SUPER 6
#define STDSTRING_HYPER 7
#define STDSTRING_MASTER 8
#define STDSTRING_COOL2 9
#define STDSTRING_BEAUTY2 10
#define STDSTRING_CUTE2 11
#define STDSTRING_SMART2 12
#define STDSTRING_TOUGH2 13
#define STDSTRING_ITEMS 14
#define STDSTRING_KEYITEMS 15
#define STDSTRING_POKEBALLS 16
#define STDSTRING_TMHMS 17
#define STDSTRING_BERRIES 18
#define STDSTRING_SINGLE 19
#define STDSTRING_DOUBLE 20
#define STDSTRING_MULTI 21
#define STDSTRING_MULTI_LINK 22
#define STDSTRING_BATTLE_TOWER 23
#define STDSTRING_BATTLE_DOME 24
#define STDSTRING_BATTLE_FACTORY 25
#define STDSTRING_BATTLE_PALACE 26
#define STDSTRING_BATTLE_ARENA 27
#define STDSTRING_BATTLE_PIKE 28
#define STDSTRING_BATTLE_PYRAMID 29
#endif //GUARD_SCRIPT_MENU_CONSTANTS_H

116
include/constants/trade.h Normal file
View File

@@ -0,0 +1,116 @@
#ifndef GUARD_CONSTANTS_TRADE_H
#define GUARD_CONSTANTS_TRADE_H
#define TRADE_PLAYER 0
#define TRADE_PARTNER 1
#define LINK_TRADE_TIMEOUT 300
// In-game Trade IDs
#define INGAME_TRADE_SEEDOT 0
#define INGAME_TRADE_PLUSLE 1
#define INGAME_TRADE_HORSEA 2
#define INGAME_TRADE_MEOWTH 3
// Flag IDs for sending link data
#define INITIATE_TRADE 1
#define CANCEL_TRADE 2
#define WANTS_TO_TRADE 1
#define WANTS_TO_CANCEL 2
#define READY_FINISH_TRADE 1
#define FINISH_TRADE 2
// Return values for CanTradeSelectedMon and CanSpinTradeMon
#define CAN_TRADE_MON 0
#define CANT_TRADE_LAST_MON 1
#define CANT_TRADE_NATIONAL 2
#define CANT_TRADE_EGG_YET 3
#define CANT_TRADE_INVALID_MON 4
#define CANT_TRADE_EGG_YET2 5
// Return values for CheckValidityOfTradeMons
#define PLAYER_MON_INVALID 0
#define BOTH_MONS_VALID 1
#define PARTNER_MON_INVALID 2
// Return values for GetGameProgressForLinkTrade
#define TRADE_BOTH_PLAYERS_READY 0
#define TRADE_PLAYER_NOT_READY 1
#define TRADE_PARTNER_NOT_READY 2
// Indexes for sTradeActionTexts
#define TRADE_TEXT_CANCEL 0
#define TRADE_TEXT_CHOOSE_MON 1
#define TRADE_TEXT_SUMMARY 2
#define TRADE_TEXT_TRADE 3
#define TRADE_TEXT_CANCEL_TRADE 4
#define TRADE_TEXT_JP_QUIT 5
// Checked to confirm DrawTradeMenuParty has reached final state
#define DRAW_PARTY_FINISH 5
// Message indexes for sTradeMessages
#define TRADE_MSG_STANDBY 0
#define TRADE_MSG_CANCELED 1
#define TRADE_MSG_ONLY_MON1 2
#define TRADE_MSG_ONLY_MON2 3
#define TRADE_MSG_WAITING_FOR_FRIEND 4
#define TRADE_MSG_FRIEND_WANTS_TO_TRADE 5
#define TRADE_MSG_MON_CANT_BE_TRADED 6
#define TRADE_MSG_EGG_CANT_BE_TRADED 7
#define TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED 8
// IDs for QueueAction
#define QUEUE_SEND_DATA 0
#define QUEUE_STANDBY 1
#define QUEUE_ONLY_MON1 2
#define QUEUE_ONLY_MON2 3
#define QUEUE_UNUSED1 4
#define QUEUE_UNUSED2 5
#define QUEUE_MON_CANT_BE_TRADED 6
#define QUEUE_EGG_CANT_BE_TRADED 7
#define QUEUE_FRIENDS_MON_CANT_BE_TRADED 8
#define QUEUE_DELAY_MSG 3
#define QUEUE_DELAY_DATA 5
// IDs for CallTradeMenuFunc
#define TRADEMENUFUNC_MAIN_MENU 0
#define TRADEMENUFUNC_SELECTED_MON 1
#define TRADEMENUFUNC_SHOW_MON_SUMMARY 2
#define TRADEMENUFUNC_CONFIRM_OR_CANCEL_TRADE 3
#define TRADEMENUFUNC_CANCEL_TRADE_PROMPT 4
#define TRADEMENUFUNC_UNUSED_5 5
#define TRADEMENUFUNC_BOTH_MONS_SELECTED 6
#define TRADEMENUFUNC_CONFIRM_TRADE_PROMPT 7
#define TRADEMENUFUNC_REDRAW_MAIN_MENU 8
#define TRADEMENUFUNC_LINK_TRADE_FADE_OUT 9
#define TRADEMENUFUNC_LINK_TRADE_WAIT_FADE 10
#define TRADEMENUFUNC_CANCEL_TRADE_1 11
#define TRADEMENUFUNC_CANCEL_TRADE_2 12
#define TRADEMENUFUNC_START_LINK_TRADE 13
#define TRADEMENUFUNC_DELAY_TRADE_CONFIRM 14
#define TRADEMENUFUNC_UNUSED_15 15
#define TRADEMENUFUNC_LINK_TRADE_WAIT_QUEUE 16
#define TRADEMENUFUNC_PARTNER_MON_INVALID 17
#define TRADEMENUFUNC_STANDBY 100
// Message indexes for sUnionRoomTradeMessages
#define UR_TRADE_MSG_NONE 0
#define UR_TRADE_MSG_NOT_MON_PARTNER_WANTS 1
#define UR_TRADE_MSG_NOT_EGG 2
#define UR_TRADE_MSG_MON_CANT_BE_TRADED_1 3
#define UR_TRADE_MSG_MON_CANT_BE_TRADED_2 4
#define UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED 5
#define UR_TRADE_MSG_EGG_CANT_BE_TRADED 6
#define UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON 7
#define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_1 8
#define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2 9
// Return values for CanRegisterMonForTradingBoard
#define CAN_REGISTER_MON 0
#define CANT_REGISTER_MON 1
#define CANT_REGISTER_EGG 2
#endif //GUARD_CONSTANTS_TRADE_H

View File

@@ -1,27 +1,46 @@
#ifndef GUARD_CONSTANTS_TRAINER_HILL_H
#define GUARD_CONSTANTS_TRAINER_HILL_H
#define TRAINER_HILL_FUNC_START 0
#define TRAINER_HILL_FUNC_1 1
#define TRAINER_HILL_FUNC_2 2
#define TRAINER_HILL_FUNC_3 3
#define TRAINER_HILL_FUNC_RESUME_TIMER 4
#define TRAINER_HILL_FUNC_SET_LOST 5
#define TRAINER_HILL_FUNC_GET_CHALLENGE_STATUS 6
#define TRAINER_HILL_FUNC_7 7
#define TRAINER_HILL_FUNC_8 8
#define TRAINER_HILL_FUNC_9 9
#define TRAINER_HILL_FUNC_10 10
#define TRAINER_HILL_FUNC_11 11
#define TRAINER_HILL_FUNC_12 12
#define TRAINER_HILL_FUNC_13 13
#define TRAINER_HILL_FUNC_14 14
#define TRAINER_HILL_FUNC_15 15
#define TRAINER_HILL_FUNC_16 16
#define TRAINER_HILL_FUNC_SET_TAG 17
#define TRAINER_HILL_1F 1
#define TRAINER_HILL_2F 2
#define TRAINER_HILL_3F 3
#define TRAINER_HILL_4F 4
#define TRAINER_HILL_ROOF 5
#define TRAINER_HILL_ENTRANCE 6
// Values returned by the TrainerHillGetChallengeStatus
// function.
#define NUM_TRAINER_HILL_FLOORS 4
#define NUM_TRAINER_HILL_FLOORS_JP 2
#define NUM_TRAINER_HILL_PRIZE_LISTS 10
#define TRAINER_HILL_FUNC_START 0
#define TRAINER_HILL_FUNC_GET_OWNER_STATE 1
#define TRAINER_HILL_FUNC_GIVE_PRIZE 2
#define TRAINER_HILL_FUNC_CHECK_FINAL_TIME 3
#define TRAINER_HILL_FUNC_RESUME_TIMER 4
#define TRAINER_HILL_FUNC_SET_LOST 5
#define TRAINER_HILL_FUNC_GET_CHALLENGE_STATUS 6
#define TRAINER_HILL_FUNC_GET_CHALLENGE_TIME 7
#define TRAINER_HILL_FUNC_GET_ALL_FLOORS_USED 8
#define TRAINER_HILL_FUNC_CLEAR_RESULT 9
#define TRAINER_HILL_FUNC_IN_CHALLENGE 10
#define TRAINER_HILL_FUNC_POST_BATTLE_TEXT 11
#define TRAINER_HILL_FUNC_SET_ALL_TRAINER_FLAGS 12
#define TRAINER_HILL_FUNC_GET_GAME_SAVED 13
#define TRAINER_HILL_FUNC_SET_GAME_SAVED 14
#define TRAINER_HILL_FUNC_CLEAR_GAME_SAVED 15
#define TRAINER_HILL_FUNC_GET_WON 16
#define TRAINER_HILL_FUNC_SET_TAG 17
#define TRAINER_HILL_TEXT_INTRO 2
#define TRAINER_HILL_TEXT_PLAYER_LOST 3
#define TRAINER_HILL_TEXT_PLAYER_WON 4
#define TRAINER_HILL_TEXT_AFTER 5
#define NUM_TRAINER_HILL_TRAINERS (NUM_TRAINER_HILL_FLOORS * 2)
#define NUM_TRAINER_HILL_TRAINERS_JP (NUM_TRAINER_HILL_FLOORS_JP * 2)
// Values returned by TrainerHillGetChallengeStatus
#define TRAINER_HILL_PLAYER_STATUS_LOST 0
#define TRAINER_HILL_PLAYER_STATUS_ECARD_SCANNED 1
#define TRAINER_HILL_PLAYER_STATUS_NORMAL 2

View File

@@ -2,9 +2,11 @@
#define GUARD_TRAINERS_H
#include "constants/opponents.h"
#include "constants/battle_frontier_trainers.h"
// Special Trainer Ids.
#define TRAINER_RECORD_MIXING_FRIEND 300
// 0-299 are frontier trainers
#define TRAINER_RECORD_MIXING_FRIEND FRONTIER_TRAINERS_COUNT
#define TRAINER_RECORD_MIXING_APPRENTICE 400
#define TRAINER_EREADER 500
#define TRAINER_FRONTIER_BRAIN 1022
@@ -119,7 +121,7 @@
#define FACILITY_CLASS_HIKER 0x0
#define FACILITY_CLASS_AQUA_GRUNT_M 0x1
#define FACILITY_CLASS_POKEMON_BREEDER_F 0x2
#define FACILITY_CLASS_PKMN_BREEDER_F 0x2
#define FACILITY_CLASS_COOLTRAINER_M 0x3
#define FACILITY_CLASS_BIRD_KEEPER 0x4
#define FACILITY_CLASS_COLLECTOR 0x5
@@ -202,6 +204,86 @@
#define FACILITY_CLASSES_COUNT 0x52
#define RS_FACILITY_CLASS_AQUA_LEADER_ARCHIE 0x0
#define RS_FACILITY_CLASS_AQUA_GRUNT_M 0x1
#define RS_FACILITY_CLASS_AQUA_GRUNT_F 0x2
#define RS_FACILITY_CLASS_AROMA_LADY 0x3
#define RS_FACILITY_CLASS_RUIN_MANIAC 0x4
#define RS_FACILITY_CLASS_INTERVIEWER 0x5
#define RS_FACILITY_CLASS_TUBER_F 0x6
#define RS_FACILITY_CLASS_TUBER_M 0x7
#define RS_FACILITY_CLASS_COOLTRAINER_M 0x8
#define RS_FACILITY_CLASS_COOLTRAINER_F 0x9
#define RS_FACILITY_CLASS_HEX_MANIAC 0xA
#define RS_FACILITY_CLASS_LADY 0xB
#define RS_FACILITY_CLASS_BEAUTY 0xC
#define RS_FACILITY_CLASS_RICH_BOY 0xD
#define RS_FACILITY_CLASS_POKEMANIAC 0xE
#define RS_FACILITY_CLASS_SWIMMER_M 0xF
#define RS_FACILITY_CLASS_BLACK_BELT 0x10
#define RS_FACILITY_CLASS_GUITARIST 0x11
#define RS_FACILITY_CLASS_KINDLER 0x12
#define RS_FACILITY_CLASS_CAMPER 0x13
#define RS_FACILITY_CLASS_BUG_MANIAC 0x14
#define RS_FACILITY_CLASS_PSYCHIC_M 0x15
#define RS_FACILITY_CLASS_PSYCHIC_F 0x16
#define RS_FACILITY_CLASS_GENTLEMAN 0x17
#define RS_FACILITY_CLASS_ELITE_FOUR_M 0x18
#define RS_FACILITY_CLASS_ELITE_FOUR_F 0x19
#define RS_FACILITY_CLASS_LEADER_F 0x1A
#define RS_FACILITY_CLASS_LEADER_M 0x1B
#define RS_FACILITY_CLASS_LEADER_MF 0x1C
#define RS_FACILITY_CLASS_SCHOOL_KID_M 0x1D
#define RS_FACILITY_CLASS_SCHOOL_KID_F 0x1E
#define RS_FACILITY_CLASS_SR_AND_JR 0x1F
#define RS_FACILITY_CLASS_POKEFAN_M 0x20
#define RS_FACILITY_CLASS_POKEFAN_F 0x21
#define RS_FACILITY_CLASS_EXPERT_M 0x22
#define RS_FACILITY_CLASS_EXPERT_F 0x23
#define RS_FACILITY_CLASS_YOUNGSTER 0x24
#define RS_FACILITY_CLASS_CHAMPION 0x25
#define RS_FACILITY_CLASS_FISHERMAN 0x26
#define RS_FACILITY_CLASS_CYCLING_TRIATHLETE_M 0x27
#define RS_FACILITY_CLASS_CYCLING_TRIATHLETE_F 0x28
#define RS_FACILITY_CLASS_RUNNING_TRIATHLETE_M 0x29
#define RS_FACILITY_CLASS_RUNNING_TRIATHLETE_F 0x2A
#define RS_FACILITY_CLASS_SWIMMING_TRIATHLETE_M 0x2B
#define RS_FACILITY_CLASS_SWIMMING_TRIATHLETE_F 0x2C
#define RS_FACILITY_CLASS_DRAGON_TAMER 0x2D
#define RS_FACILITY_CLASS_BIRD_KEEPER 0x2E
#define RS_FACILITY_CLASS_NINJA_BOY 0x2F
#define RS_FACILITY_CLASS_BATTLE_GIRL 0x30
#define RS_FACILITY_CLASS_PARASOL_LADY 0x31
#define RS_FACILITY_CLASS_SWIMMER_F 0x32
#define RS_FACILITY_CLASS_PICNICKER 0x33
#define RS_FACILITY_CLASS_TWINS 0x34
#define RS_FACILITY_CLASS_SAILOR 0x35
#define RS_FACILITY_CLASS_BOARDER_1 0x36
#define RS_FACILITY_CLASS_BOARDER_2 0x37
#define RS_FACILITY_CLASS_COLLECTOR 0x38
#define RS_FACILITY_CLASS_WALLY 0x39
#define RS_FACILITY_CLASS_BRENDAN_1 0x3A
#define RS_FACILITY_CLASS_BRENDAN_2 0x3B
#define RS_FACILITY_CLASS_BRENDAN_3 0x3C
#define RS_FACILITY_CLASS_MAY_1 0x3D
#define RS_FACILITY_CLASS_MAY_2 0x3E
#define RS_FACILITY_CLASS_MAY_3 0x3F
#define RS_FACILITY_CLASS_PKMN_BREEDER_M 0x40
#define RS_FACILITY_CLASS_PKMN_BREEDER_F 0x41
#define RS_FACILITY_CLASS_PKMN_RANGER_M 0x42
#define RS_FACILITY_CLASS_PKMN_RANGER_F 0x43
#define RS_FACILITY_CLASS_MAGMA_LEADER 0x44
#define RS_FACILITY_CLASS_MAGMA_GRUNT_M 0x45
#define RS_FACILITY_CLASS_MAGMA_GRUNT_F 0x46
#define RS_FACILITY_CLASS_LASS 0x47
#define RS_FACILITY_CLASS_BUG_CATCHER 0x48
#define RS_FACILITY_CLASS_HIKER 0x49
#define RS_FACILITY_CLASS_YOUNG_COUPLE 0x4A
#define RS_FACILITY_CLASS_OLD_COUPLE 0x4B
#define RS_FACILITY_CLASS_SIS_AND_BRO 0x4C
#define RS_FACILITY_CLASSES_COUNT 0x4D
#define TRAINER_CLASS_PKMN_TRAINER_1 0x0 // Unused
#define TRAINER_CLASS_PKMN_TRAINER_2 0x1 // Unused
#define TRAINER_CLASS_HIKER 0x2

137
include/constants/tv.h Normal file
View File

@@ -0,0 +1,137 @@
#ifndef GUARD_CONSTANTS_TV_H
#define GUARD_CONSTANTS_TV_H
#define POKENEWS_NONE 0
#define POKENEWS_SLATEPORT 1
#define POKENEWS_GAME_CORNER 2
#define POKENEWS_LILYCOVE 3
#define POKENEWS_BLENDMASTER 4
#define TVSHOW_OFF_AIR 0
#define TVSHOW_FAN_CLUB_LETTER 1
#define TVSHOW_RECENT_HAPPENINGS 2
#define TVSHOW_PKMN_FAN_CLUB_OPINIONS 3
#define TVSHOW_UNKN_SHOWTYPE_04 4
#define TVSHOW_NAME_RATER_SHOW 5
#define TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE 6
#define TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE 7
#define TVSHOW_CONTEST_LIVE_UPDATES 8
#define TVSHOW_3_CHEERS_FOR_POKEBLOCKS 9
#define TVSHOW_BATTLE_UPDATE 10
#define TVSHOW_FAN_CLUB_SPECIAL 11
#define TVSHOW_CONTEST_LIVE_UPDATES_2 12
// //
#define TVSHOW_POKEMON_TODAY_CAUGHT 21
#define TVSHOW_SMART_SHOPPER 22
#define TVSHOW_POKEMON_TODAY_FAILED 23
#define TVSHOW_FISHING_ADVICE 24
#define TVSHOW_WORLD_OF_MASTERS 25
#define TVSHOW_TODAYS_RIVAL_TRAINER 26
#define TVSHOW_TREND_WATCHER 27
#define TVSHOW_TREASURE_INVESTIGATORS 28
#define TVSHOW_FIND_THAT_GAMER 29
#define TVSHOW_BREAKING_NEWS 30
#define TVSHOW_SECRET_BASE_VISIT 31
#define TVSHOW_LOTTO_WINNER 32
#define TVSHOW_BATTLE_SEMINAR 33
#define TVSHOW_TRAINER_FAN_CLUB 34
#define TVSHOW_CUTIES 35
#define TVSHOW_FRONTIER 36
#define TVSHOW_NUMBER_ONE 37
#define TVSHOW_SECRET_BASE_SECRETS 38
#define TVSHOW_SAFARI_FAN_CLUB 39
// //
#define TVSHOW_MASS_OUTBREAK 41
// Number of ribbons to put Spot the Cuties on air
#define NUM_CUTIES_RIBBONS 4
// TV Show states for Secret Base Secrets
#define SBSECRETS_STATE_INTRO 0
#define SBSECRETS_STATE_DO_NEXT1 1
#define SBSECRETS_STATE_DO_NEXT2 2
#define SBSECRETS_STATE_TOOK_X_STEPS 3
#define SBSECRETS_STATE_BASE_INTEREST_LOW 4
#define SBSECRETS_STATE_BASE_INTEREST_MED 5
#define SBSECRETS_STATE_BASE_INTEREST_HIGH 6
#define SBSECRETS_STATE_OUTRO 7
#define SBSECRETS_STATE_NOTHING_USED1 8
#define SBSECRETS_STATE_NOTHING_USED2 9
#define SBSECRETS_STATE_USED_CHAIR 10
#define SBSECRETS_STATE_USED_BALLOON 11
#define SBSECRETS_STATE_USED_TENT 12
#define SBSECRETS_STATE_USED_PLANT 13
#define SBSECRETS_STATE_USED_GOLD_SHIELD 14
#define SBSECRETS_STATE_USED_SILVER_SHIELD 15
#define SBSECRETS_STATE_USED_GLASS_ORNAMENT 16
#define SBSECRETS_STATE_USED_TV 17
#define SBSECRETS_STATE_USED_MUD_BALL 18
#define SBSECRETS_STATE_USED_BAG 19
#define SBSECRETS_STATE_USED_CUSHION 20
#define SBSECRETS_STATE_HIT_CUSHION 21
#define SBSECRETS_STATE_HUGGED_CUSHION 22
#define SBSECRETS_STATE_BATTLED_WON 23
#define SBSECRETS_STATE_BATTLED_LOST 24
#define SBSECRETS_STATE_DECLINED_BATTLE 25
#define SBSECRETS_STATE_USED_POSTER 26
#define SBSECRETS_STATE_USED_NOTE_MAT 27
#define SBSECRETS_STATE_BATTLED_DRAW 28
#define SBSECRETS_STATE_USED_SPIN_MAT 29
#define SBSECRETS_STATE_USED_SAND_ORNAMENT 30
#define SBSECRETS_STATE_USED_DESK 31
#define SBSECRETS_STATE_USED_BRICK 32
#define SBSECRETS_STATE_USED_SOLID_BOARD 33
#define SBSECRETS_STATE_USED_FENCE 34
#define SBSECRETS_STATE_USED_GLITTER_MAT 35
#define SBSECRETS_STATE_USED_TIRE 36
#define SBSECRETS_STATE_USED_STAND 37
#define SBSECRETS_STATE_USED_BREAKABLE_DOOR 38
#define SBSECRETS_STATE_USED_DOLL 39
#define SBSECRETS_STATE_USED_SLIDE 40
#define SBSECRETS_STATE_DECLINED_SLIDE 41
#define SBSECRETS_STATE_USED_JUMP_MAT 42
#define SBSECRETS_NUM_STATES 43
// The below flags are set when interacting with objects in a friends secret base
// Theyre set as bits in a var, and with 32 flags they're spread across 2 vars
// VAR_SECRET_BASE_LOW_TV_FLAGS
#define SECRET_BASE_USED_CHAIR (1 << 0)
#define SECRET_BASE_USED_BALLOON (1 << 1)
#define SECRET_BASE_USED_TENT (1 << 2)
#define SECRET_BASE_USED_PLANT (1 << 3)
#define SECRET_BASE_USED_GOLD_SHIELD (1 << 4)
#define SECRET_BASE_USED_SILVER_SHIELD (1 << 5)
#define SECRET_BASE_USED_GLASS_ORNAMENT (1 << 6)
#define SECRET_BASE_USED_TV (1 << 7)
#define SECRET_BASE_USED_MUD_BALL (1 << 8)
#define SECRET_BASE_USED_BAG (1 << 9)
#define SECRET_BASE_USED_CUSHION (1 << 10)
#define SECRET_BASE_BATTLED_WON (1 << 11)
#define SECRET_BASE_BATTLED_LOST (1 << 12)
#define SECRET_BASE_DECLINED_BATTLE (1 << 13)
#define SECRET_BASE_USED_POSTER (1 << 14)
#define SECRET_BASE_USED_NOTE_MAT (1 << 15)
// VAR_SECRET_BASE_HIGH_TV_FLAGS
#define SECRET_BASE_BATTLED_DRAW (1 << 0)
#define SECRET_BASE_USED_SPIN_MAT (1 << 1)
#define SECRET_BASE_USED_SAND_ORNAMENT (1 << 2)
#define SECRET_BASE_USED_DESK (1 << 3)
#define SECRET_BASE_USED_BRICK (1 << 4)
#define SECRET_BASE_USED_SOLID_BOARD (1 << 5)
#define SECRET_BASE_USED_FENCE (1 << 6)
#define SECRET_BASE_USED_GLITTER_MAT (1 << 7)
#define SECRET_BASE_USED_TIRE (1 << 8)
#define SECRET_BASE_USED_STAND (1 << 9)
#define SECRET_BASE_USED_BREAKABLE_DOOR (1 << 10)
#define SECRET_BASE_USED_DOLL (1 << 11)
#define SECRET_BASE_USED_SLIDE (1 << 12)
#define SECRET_BASE_DECLINED_SLIDE (1 << 13)
#define SECRET_BASE_USED_JUMP_MAT (1 << 14)
#define SECRET_BASE_UNUSED_FLAG (1 << 15)
#define NUM_SECRET_BASE_FLAGS 32 // by definition, bitfield of 2 u16s
#endif //GUARD_CONSTANTS_TV_H

View File

@@ -0,0 +1,28 @@
#ifndef GUARD_CONSTANTS_UNION_ROOM_H
#define GUARD_CONSTANTS_UNION_ROOM_H
#define LINK_GROUP_SINGLE_BATTLE 0
#define LINK_GROUP_DOUBLE_BATTLE 1
#define LINK_GROUP_MULTI_BATTLE 2
#define LINK_GROUP_TRADE 3
#define LINK_GROUP_POKEMON_JUMP 4
#define LINK_GROUP_BERRY_CRUSH 5
#define LINK_GROUP_BERRY_PICKING 6
#define LINK_GROUP_WONDER_CARD 7
#define LINK_GROUP_WONDER_NEWS 8
#define LINK_GROUP_UNK_9 9
#define LINK_GROUP_UNK_10 10
#define LINK_GROUP_UNK_11 11
#define LINK_GROUP_RECORD_CORNER 12
#define LINK_GROUP_BERRY_BLENDER 13
#define LINK_GROUP_UNK_14 14
#define LINK_GROUP_COOL_CONTEST 15
#define LINK_GROUP_BEAUTY_CONTEST 16
#define LINK_GROUP_CUTE_CONTEST 17
#define LINK_GROUP_SMART_CONTEST 18
#define LINK_GROUP_TOUGH_CONTEST 19
#define LINK_GROUP_BATTLE_TOWER 20
#define LINK_GROUP_BATTLE_TOWER_OPEN 21
#define NUM_LINK_GROUP_TYPES 22
#endif //GUARD_CONSTANTS_UNION_ROOM_H

View File

@@ -5,22 +5,24 @@
// temporary vars
// The first 0x10 vars are are temporary--they are cleared every time a map is loaded.
#define VAR_TEMP_0 0x4000
#define VAR_TEMP_1 0x4001
#define VAR_TEMP_2 0x4002
#define VAR_TEMP_3 0x4003
#define VAR_TEMP_4 0x4004
#define VAR_TEMP_5 0x4005
#define VAR_TEMP_6 0x4006
#define VAR_TEMP_7 0x4007
#define VAR_TEMP_8 0x4008
#define VAR_TEMP_9 0x4009
#define VAR_TEMP_A 0x400A
#define VAR_TEMP_B 0x400B
#define VAR_TEMP_C 0x400C
#define VAR_TEMP_D 0x400D
#define VAR_TEMP_E 0x400E
#define VAR_TEMP_F 0x400F
#define TEMP_VARS_START 0x4000
#define VAR_TEMP_0 (TEMP_VARS_START + 0x0)
#define VAR_TEMP_1 (TEMP_VARS_START + 0x1)
#define VAR_TEMP_2 (TEMP_VARS_START + 0x2)
#define VAR_TEMP_3 (TEMP_VARS_START + 0x3)
#define VAR_TEMP_4 (TEMP_VARS_START + 0x4)
#define VAR_TEMP_5 (TEMP_VARS_START + 0x5)
#define VAR_TEMP_6 (TEMP_VARS_START + 0x6)
#define VAR_TEMP_7 (TEMP_VARS_START + 0x7)
#define VAR_TEMP_8 (TEMP_VARS_START + 0x8)
#define VAR_TEMP_9 (TEMP_VARS_START + 0x9)
#define VAR_TEMP_A (TEMP_VARS_START + 0xA)
#define VAR_TEMP_B (TEMP_VARS_START + 0xB)
#define VAR_TEMP_C (TEMP_VARS_START + 0xC)
#define VAR_TEMP_D (TEMP_VARS_START + 0xD)
#define VAR_TEMP_E (TEMP_VARS_START + 0xE)
#define VAR_TEMP_F (TEMP_VARS_START + 0xF)
#define TEMP_VARS_END VAR_TEMP_F
// object gfx id vars
// These 0x10 vars are used to dynamically control a map object's sprite.
@@ -61,26 +63,26 @@
#define VAR_0x402E 0x402E
#define VAR_FRONTIER_MANIAC_FACILITY 0x402F
#define VAR_FRONTIER_GAMBLER_FACILITY 0x4030
#define VAR_FRONTIER_GAMBLER_SET_FACILITY_F 0x4031
#define VAR_FRONTIER_GAMBLER_CHALLENGE 0x4030
#define VAR_FRONTIER_GAMBLER_SET_CHALLENGE 0x4031
#define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032
#define VAR_FRONTIER_GAMBLER_PLACED_BET_F 0x4033
#define VAR_FRONTIER_GAMBLER_STATE 0x4033
#define VAR_DEOXYS_ROCK_STEP_COUNT 0x4034
#define VAR_DEOXYS_ROCK_LEVEL 0x4035
#define VAR_STORAGE_UNKNOWN 0x4036
#define VAR_UNUSUAL_WEATHER_LOCATION 0x4037
#define VAR_UNUSUAL_WEATHER_STEP_COUNTER 0x4038
#define VAR_SHOULD_END_UNUSUAL_WEATHER 0x4039
#define VAR_PC_BOX_TO_SEND_MON 0x4036
#define VAR_ABNORMAL_WEATHER_LOCATION 0x4037
#define VAR_ABNORMAL_WEATHER_STEP_COUNTER 0x4038
#define VAR_SHOULD_END_ABNORMAL_WEATHER 0x4039
#define VAR_FARAWAY_ISLAND_STEP_COUNTER 0x403A
#define VAR_REGICE_STEPS_1 0x403B
#define VAR_REGICE_STEPS_2 0x403C
#define VAR_REGICE_STEPS_3 0x403D
#define VAR_ALTERING_CAVE_WILD_SET 0x403E
#define VAR_ALWAYS_ZERO_0x403F 0x403F // This var is read and written, but is always zero.
#define VAR_DISTRIBUTE_EON_TICKET 0x403F // This var is read and written, but is always zero. The only way to obtain the Eon Ticket in Emerald is via Record Mixing
#define VAR_DAYS 0x4040
#define VAR_FANCLUB_UNKNOWN_1 0x4041
#define VAR_FANCLUB_UNKNOWN_2 0x4042
#define VAR_FANCLUB_FAN_COUNTER 0x4041
#define VAR_FANCLUB_LOSE_FAN_TIMER 0x4042
#define VAR_DEPT_STORE_FLOOR 0x4043
#define VAR_TRICK_HOUSE_LEVEL 0x4044
#define VAR_POKELOT_PRIZE_ITEM 0x4045
@@ -144,17 +146,17 @@
#define VAR_ROUTE132_STATE 0x407F // Unused Var
#define VAR_ROUTE133_STATE 0x4080 // Unused Var
#define VAR_ROUTE134_STATE 0x4081 // Unused Var
#define VAR_LITTLEROOT_HOUSES_STATE 0x4082
#define VAR_LITTLEROOT_HOUSES_STATE_MAY 0x4082
#define VAR_UNUSED_0x4083 0x4083 // Unused Var
#define VAR_BIRCH_LAB_STATE 0x4084
#define VAR_PETALBURG_GYM_STATE 0x4085
#define VAR_LINK_CONTEST_ROOM_STATE 0x4086
#define VAR_PETALBURG_GYM_STATE 0x4085 // 0-1: Wally tutorial, 2-6: 0-4 badges, 7: Defeated Norman, 8: Rematch Norman
#define VAR_CONTEST_HALL_STATE 0x4086
#define VAR_CABLE_CLUB_STATE 0x4087
#define VAR_CONTEST_LOCATION 0x4088
#define VAR_CONTEST_TYPE 0x4088
#define VAR_SECRET_BASE_INITIALIZED 0x4089
#define VAR_CONTEST_PRIZE_PICKUP 0x408A
#define VAR_UNUSED_0x408B 0x408B // Unused Var
#define VAR_LITTLEROOT_HOUSES_STATE_2 0x408C
#define VAR_LITTLEROOT_HOUSES_STATE_BRENDAN 0x408C
#define VAR_LITTLEROOT_RIVAL_STATE 0x408D
#define VAR_BOARD_BRINEY_BOAT_STATE 0x408E
#define VAR_DEVON_CORP_3F_STATE 0x408F
@@ -172,16 +174,16 @@
#define VAR_UNUSED_0x409B 0x409B // Unused Var
#define VAR_ELITE_4_STATE 0x409C
#define VAR_UNUSED_0x409D 0x409D // Unused Var
#define VAR_MOSSDEEP_SPACE_CENTER_STATE_1 0x409E
#define VAR_MOSSDEEP_SPACE_CENTER_STATE_2 0x409F
#define VAR_MOSSDEEP_SPACE_CENTER_STAIR_GUARD_STATE 0x409E
#define VAR_MOSSDEEP_SPACE_CENTER_STATE 0x409F
#define VAR_SLATEPORT_HARBOR_STATE 0x40A0
#define VAR_UNUSED_0x40A1 0x40A1 // Unused var
#define VAR_SEAFLOOR_CAVERN_STATE 0x40A2
#define VAR_CABLE_CAR_STATION_STATE 0x40A3
#define VAR_SAFARI_ZONE_STATE 0x40A4
#define VAR_TRICK_HOUSE_ENTRANCE_STATE_1 0x40A5
#define VAR_TRICK_HOUSE_ENTRANCE_STATE_2 0x40A6
#define VAR_TRICK_HOUSE_ENTRANCE_STATE_3 0x40A7
#define VAR_SAFARI_ZONE_STATE 0x40A4 // 0: In or out of SZ, 1: Player exiting SZ, 2: Player entering SZ
#define VAR_TRICK_HOUSE_BEING_WATCHED_STATE 0x40A5
#define VAR_TRICK_HOUSE_FOUND_TRICK_MASTER 0x40A6
#define VAR_TRICK_HOUSE_ENTRANCE_STATE 0x40A7
#define VAR_UNUSED_0x40A8 0x40A8 // Unused Var
#define VAR_CYCLING_CHALLENGE_STATE 0x40A9
#define VAR_SLATEPORT_MUSEUM_1F_STATE 0x40AA
@@ -194,9 +196,9 @@
#define VAR_TRICK_HOUSE_PUZZLE_7_STATE 0x40B1
#define VAR_TRICK_HOUSE_PUZZLE_8_STATE 0x40B2
#define VAR_WEATHER_INSTITUTE_STATE 0x40B3
#define VAR_PORTHOLE_STATE 0x40B4
#define VAR_TRICK_HOUSE_STATE 0x40B5 // TODO: needs some further investigation
#define VAR_TRICK_HOUSE_PUZZLE_7_STATE_2 0x40B6
#define VAR_SS_TIDAL_STATE 0x40B4
#define VAR_TRICK_HOUSE_ENTER_FROM_CORRIDOR 0x40B5
#define VAR_TRICK_HOUSE_PUZZLE_7_STATE_2 0x40B6 // Leftover from RS, never set
#define VAR_SLATEPORT_FAN_CLUB_STATE 0x40B7
#define VAR_UNUSED_0x40B8 0x40B8 // Unused Var
#define VAR_MT_PYRE_STATE 0x40B9
@@ -257,9 +259,9 @@
#define VAR_SECRET_BASE_IS_NOT_LOCAL 0x40F0 // Set to TRUE while in another player's secret base.
#define VAR_DAILY_BP 0x40F1
#define VAR_WALLY_CALL_STEP_COUNTER 0x40F2
#define VAR_WINONA_CALL_STEP_COUNTER 0x40F3
#define VAR_SCOTT_FORTREE_CALL_STEP_COUNTER 0x40F3
#define VAR_ROXANNE_CALL_STEP_COUNTER 0x40F4
#define VAR_SCOTT_CALL_STEP_COUNTER 0x40F5
#define VAR_SCOTT_BF_CALL_STEP_COUNTER 0x40F5
#define VAR_RIVAL_RAYQUAZA_CALL_STEP_COUNTER 0x40F6
#define VAR_UNUSED_0x40F7 0x40F7 // Unused Var
#define VAR_UNUSED_0x40F8 0x40F8 // Unused Var
@@ -271,7 +273,9 @@
#define VAR_UNUSED_0x40FE 0x40FE // Unused Var
#define VAR_UNUSED_0x40FF 0x40FF // Unused Var
#define SPECIAL_VARS_START 0x8000
#define VARS_END 0x40FF
#define SPECIAL_VARS_START 0x8000
// special vars
// They are commonly used as parameters to commands, or return values from commands.
#define VAR_0x8000 0x8000
@@ -297,4 +301,6 @@
#define VAR_UNUSED_0x8014 0x8014
#define VAR_TRAINER_BATTLE_OPPONENT_A 0x8015 // Alias of gTrainerBattleOpponent_A
#define SPECIAL_VARS_END 0x8015
#endif // GUARD_CONSTANTS_VARS_H

View File

@@ -1,66 +1,66 @@
#ifndef GUARD_CONSTANTS_WEATHER_H
#define GUARD_CONSTANTS_WEATHER_H
#define WEATHER_NONE 0
#define WEATHER_CLOUDS 1
#define WEATHER_SUNNY 2
#define WEATHER_RAIN_LIGHT 3
#define WEATHER_SNOW 4
#define WEATHER_RAIN_MED 5
#define WEATHER_FOG_1 6
#define WEATHER_ASH 7
#define WEATHER_SANDSTORM 8
#define WEATHER_FOG_2 9
#define WEATHER_FOG_3 10
#define WEATHER_SHADE 11
#define WEATHER_DROUGHT 12
#define WEATHER_RAIN_HEAVY 13
#define WEATHER_BUBBLES 14
#define WEATHER_ALTERNATING 15
#define WEATHER_ROUTE119_CYCLE 20
#define WEATHER_ROUTE123_CYCLE 21
#define WEATHER_NONE 0
#define WEATHER_SUNNY_CLOUDS 1
#define WEATHER_SUNNY 2
#define WEATHER_RAIN 3
#define WEATHER_SNOW 4 // Unused
#define WEATHER_RAIN_THUNDERSTORM 5
#define WEATHER_FOG_HORIZONTAL 6
#define WEATHER_VOLCANIC_ASH 7
#define WEATHER_SANDSTORM 8
#define WEATHER_FOG_DIAGONAL 9 // Unused
#define WEATHER_UNDERWATER 10 // Unused
#define WEATHER_SHADE 11 // Original name was closer to WEATHER_CLOUDY/OVERCAST
#define WEATHER_DROUGHT 12
#define WEATHER_DOWNPOUR 13
#define WEATHER_UNDERWATER_BUBBLES 14
#define WEATHER_ABNORMAL 15 // The alternating weather during Groudon/Kyogre conflict
#define WEATHER_ROUTE119_CYCLE 20
#define WEATHER_ROUTE123_CYCLE 21
// These are used in maps' coord_weather_event entries.
// They are not a one-to-one mapping with the engine's
// internal weather constants above.
#define COORD_EVENT_WEATHER_CLOUDS 1
#define COORD_EVENT_WEATHER_SUNNY 2
#define COORD_EVENT_WEATHER_RAIN_LIGHT 3
#define COORD_EVENT_WEATHER_SNOW 4
#define COORD_EVENT_WEATHER_RAIN_MED 5
#define COORD_EVENT_WEATHER_FOG_1 6
#define COORD_EVENT_WEATHER_FOG_2 7
#define COORD_EVENT_WEATHER_ASH 8
#define COORD_EVENT_WEATHER_SANDSTORM 9
#define COORD_EVENT_WEATHER_SHADE 10
#define COORD_EVENT_WEATHER_DROUGHT 11
#define COORD_EVENT_WEATHER_ROUTE119_CYCLE 20
#define COORD_EVENT_WEATHER_ROUTE123_CYCLE 21
#define COORD_EVENT_WEATHER_SUNNY_CLOUDS 1
#define COORD_EVENT_WEATHER_SUNNY 2
#define COORD_EVENT_WEATHER_RAIN 3
#define COORD_EVENT_WEATHER_SNOW 4
#define COORD_EVENT_WEATHER_RAIN_THUNDERSTORM 5
#define COORD_EVENT_WEATHER_FOG_HORIZONTAL 6
#define COORD_EVENT_WEATHER_FOG_DIAGONAL 7
#define COORD_EVENT_WEATHER_VOLCANIC_ASH 8
#define COORD_EVENT_WEATHER_SANDSTORM 9
#define COORD_EVENT_WEATHER_SHADE 10
#define COORD_EVENT_WEATHER_DROUGHT 11
#define COORD_EVENT_WEATHER_ROUTE119_CYCLE 20
#define COORD_EVENT_WEATHER_ROUTE123_CYCLE 21
// These are the "unusual weather events" that are used
// These are the "abnormal weather events" that are used
// to find Kyogre and Groudon.
#define UNUSUAL_WEATHER_COUNT_PER_LEGENDARY 8
#define UNUSUAL_WEATHER_GROUDON_LOCATIONS_START 1
#define UNUSUAL_WEATHER_KYOGRE_LOCATIONS_START 1 + UNUSUAL_WEATHER_COUNT_PER_LEGENDARY
#define ABNORMAL_WEATHER_COUNT_PER_LEGENDARY 8
#define ABNORMAL_WEATHER_GROUDON_LOCATIONS_START 1
#define ABNORMAL_WEATHER_KYOGRE_LOCATIONS_START 1 + ABNORMAL_WEATHER_COUNT_PER_LEGENDARY
#define UNUSUAL_WEATHER_NONE 0
#define ABNORMAL_WEATHER_NONE 0
// Groudon locations
#define UNUSUAL_WEATHER_ROUTE_114_NORTH 1
#define UNUSUAL_WEATHER_ROUTE_114_SOUTH 2
#define UNUSUAL_WEATHER_ROUTE_115_WEST 3
#define UNUSUAL_WEATHER_ROUTE_115_EAST 4
#define UNUSUAL_WEATHER_ROUTE_116_NORTH 5
#define UNUSUAL_WEATHER_ROUTE_116_SOUTH 6
#define UNUSUAL_WEATHER_ROUTE_118_EAST 7
#define UNUSUAL_WEATHER_ROUTE_118_WEST 8
#define ABNORMAL_WEATHER_ROUTE_114_NORTH 1
#define ABNORMAL_WEATHER_ROUTE_114_SOUTH 2
#define ABNORMAL_WEATHER_ROUTE_115_WEST 3
#define ABNORMAL_WEATHER_ROUTE_115_EAST 4
#define ABNORMAL_WEATHER_ROUTE_116_NORTH 5
#define ABNORMAL_WEATHER_ROUTE_116_SOUTH 6
#define ABNORMAL_WEATHER_ROUTE_118_EAST 7
#define ABNORMAL_WEATHER_ROUTE_118_WEST 8
// Kyogre locations
#define UNUSUAL_WEATHER_ROUTE_105_NORTH 9
#define UNUSUAL_WEATHER_ROUTE_105_SOUTH 10
#define UNUSUAL_WEATHER_ROUTE_125_WEST 11
#define UNUSUAL_WEATHER_ROUTE_125_EAST 12
#define UNUSUAL_WEATHER_ROUTE_127_NORTH 13
#define UNUSUAL_WEATHER_ROUTE_127_SOUTH 14
#define UNUSUAL_WEATHER_ROUTE_129_WEST 15
#define UNUSUAL_WEATHER_ROUTE_129_EAST 16
#define ABNORMAL_WEATHER_ROUTE_105_NORTH 9
#define ABNORMAL_WEATHER_ROUTE_105_SOUTH 10
#define ABNORMAL_WEATHER_ROUTE_125_WEST 11
#define ABNORMAL_WEATHER_ROUTE_125_EAST 12
#define ABNORMAL_WEATHER_ROUTE_127_NORTH 13
#define ABNORMAL_WEATHER_ROUTE_127_SOUTH 14
#define ABNORMAL_WEATHER_ROUTE_129_WEST 15
#define ABNORMAL_WEATHER_ROUTE_129_EAST 16
#endif // GUARD_CONSTANTS_WEATHER_H

View File

@@ -200,14 +200,6 @@ enum
CONTEST_STRING_NONE = 255
};
enum {
CONTEST_RANK_NORMAL,
CONTEST_RANK_SUPER,
CONTEST_RANK_HYPER,
CONTEST_RANK_MASTER,
CONTEST_RANK_LINK
};
enum {
CONTEST_FILTER_NONE,
CONTEST_FILTER_NO_POSTGAME,
@@ -227,7 +219,7 @@ struct ContestPokemon
u8 aiPool_Cute:1; // 0x10
u8 aiPool_Smart:1; // 0x20
u8 aiPool_Tough:1; // 0x40
/*0x1E*/ u16 moves[4]; // moves
/*0x1E*/ u16 moves[MAX_MON_MOVES]; // moves
/*0x26*/ u8 cool; // cool
/*0x27*/ u8 beauty; // beauty
/*0x28*/ u8 cute; // cute
@@ -436,15 +428,15 @@ struct ContestResources
#define eContestDebugMode (gHeap[0x1a000])
#define eUnknownHeap1A004 (*(struct Shared1A004 *)(gHeap + 0x1a004))
extern struct ContestPokemon gContestMons[4];
extern s16 gContestMonConditions[4];
extern s16 gUnknown_02039F08[4];
extern s16 gUnknown_02039F10[4];
extern s16 gUnknown_02039F18[4];
extern u8 gContestFinalStandings[4];
extern struct ContestPokemon gContestMons[CONTESTANT_COUNT];
extern s16 gContestMonConditions[CONTESTANT_COUNT];
extern s16 gUnknown_02039F08[CONTESTANT_COUNT];
extern s16 gUnknown_02039F10[CONTESTANT_COUNT];
extern s16 gUnknown_02039F18[CONTESTANT_COUNT];
extern u8 gContestFinalStandings[CONTESTANT_COUNT];
extern u8 gContestMonPartyIndex;
extern u8 gContestPlayerMonIndex;
extern u8 gContestantTurnOrder[4];
extern u8 gContestantTurnOrder[CONTESTANT_COUNT];
extern u8 gLinkContestFlags;
extern u8 gUnknown_02039F2B;
extern u16 gSpecialVar_ContestCategory;
@@ -453,7 +445,7 @@ extern u8 gNumLinkContestPlayers;
extern u8 gHighestRibbonRank;
extern struct ContestResources *gContestResources;
extern u8 sContestBgCopyFlags;
extern struct ContestWinner gUnknown_02039F3C;
extern struct ContestWinner gCurContestWinner;
extern u8 gUnknown_02039F5C;
extern u8 gUnknown_02039F5D;
@@ -466,7 +458,7 @@ void CB2_StartContest(void);
void sub_80DA8C8(u8 partyIndex);
void sub_80DAB8C(u8 contestType, u8 rank);
void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame);
u8 sub_80DAE0C(struct Pokemon *pkmn);
u8 GetContestEntryEligibility(struct Pokemon *pkmn);
void sub_80DB09C(u8 contestCategory);
bool8 IsSpeciesNotUnown(u16 species);
bool8 Contest_IsMonsTurnDisabled(u8 a);

View File

@@ -1,10 +1,10 @@
#ifndef GUARD_CONTEST_LINK_80F57C4_H
#define GUARD_CONTEST_LINK_80F57C4_H
void sub_80F8264(void);
void sub_80F8290(void);
void sub_80F840C(void);
void sub_80F8438(void);
void BufferContestantTrainerName(void);
void BufferContestantMonNickname(void);
void StartContest(void);
void BufferContestantMonSpecies(void);
void sub_80F8484(void);
void sub_80F84C4(u8);
void sub_80FC998(u8 taskId);

View File

@@ -1,16 +1,7 @@
#ifndef GUARD_CONTESTPAINTING_H
#define GUARD_CONTESTPAINTING_H
enum
{
CONTESTRESULT_COOL = 9,
CONTESTRESULT_BEAUTY = 13,
CONTESTRESULT_CUTE = 2,
CONTESTRESULT_SMART = 36,
CONTESTRESULT_TOUGH = 6,
};
void sub_812FDA8(int);
void SetContestWinnerForPainting(int);
void CB2_ContestPainting(void);
#endif

View File

@@ -1,28 +0,0 @@
#ifndef GUARD_CONTEST_PAINTING_EFFECTS_H
#define GUARD_CONTEST_PAINTING_EFFECTS_H
struct Unk030061A0
{
u8 var_0;
u8 pad1[3];
u16 (*var_4)[][32];
u16 *var_8;
u8 pad0C[4];
u32 var_10;
u16 var_14;
u16 var_16;
u8 var_18;
u8 var_19;
u8 var_1A;
u8 var_1B;
u8 var_1C;
u8 var_1D;
u8 var_1E;
u8 var_1F;
};
void sub_8124F2C(struct Unk030061A0 *);
void sub_81261A4(struct Unk030061A0 *);
void sub_8126058(struct Unk030061A0 *);
#endif

View File

@@ -34,7 +34,7 @@ struct TrainerMonNoItemCustomMoves
u16 iv;
u8 lvl;
u16 species;
u16 moves[4];
u16 moves[MAX_MON_MOVES];
};
struct TrainerMonItemCustomMoves
@@ -43,7 +43,7 @@ struct TrainerMonItemCustomMoves
u8 lvl;
u16 species;
u16 heldItem;
u16 moves[4];
u16 moves[MAX_MON_MOVES];
};
union TrainerMonPtr

View File

@@ -1,10 +1,10 @@
#ifndef GUARD_DAYCARE_H
#define GUARD_DAYCARE_H
#define EGG_HATCH_LEVEL 5
#include "constants/daycare.h"
u8 *GetMonNick(struct Pokemon *mon, u8 *dest);
u8 *GetBoxMonNick(struct BoxPokemon *mon, u8 *dest);
u8 *GetMonNickname2(struct Pokemon *mon, u8 *dest);
u8 *GetBoxMonNickname(struct BoxPokemon *mon, u8 *dest);
u8 CountPokemonInDaycare(struct DayCare *daycare);
void InitDaycareMailRecordMixing(struct DayCare *daycare, struct RecordMixingDayCareMail *daycareMail);
void StoreSelectedPokemonInDaycare(void);
@@ -16,7 +16,7 @@ void RejectEggFromDayCare(void);
void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation);
void GiveEggFromDaycare(void);
bool8 ShouldEggHatch(void);
u16 GetSelectedMonNickAndSpecies(void);
u16 GetSelectedMonNicknameAndSpecies(void);
void GetDaycareMonNicknames(void);
u8 GetDaycareState(void);
void SetDaycareCompatibilityString(void);

View File

@@ -1,55 +0,0 @@
#ifndef GUARD_DMA3_H
#define GUARD_DMA3_H
// Maximum amount of data we will transfer in one operation
#define MAX_DMA_BLOCK_SIZE 0x1000
#define Dma3CopyLarge_(src, dest, size, bit) \
{ \
const void *_src = src; \
void *_dest = dest; \
u32 _size = size; \
while (1) \
{ \
if (_size <= MAX_DMA_BLOCK_SIZE) \
{ \
DmaCopy##bit(3, _src, _dest, _size); \
break; \
} \
DmaCopy##bit(3, _src, _dest, MAX_DMA_BLOCK_SIZE); \
_src += MAX_DMA_BLOCK_SIZE; \
_dest += MAX_DMA_BLOCK_SIZE; \
_size -= MAX_DMA_BLOCK_SIZE; \
} \
}
#define Dma3CopyLarge16_(src, dest, size) Dma3CopyLarge_(src, dest, size, 16)
#define Dma3CopyLarge32_(src, dest, size) Dma3CopyLarge_(src, dest, size, 32)
#define Dma3FillLarge_(value, dest, size, bit) \
{ \
void *_dest = dest; \
u32 _size = size; \
while (1) \
{ \
if (_size <= MAX_DMA_BLOCK_SIZE) \
{ \
DmaFill##bit(3, value, _dest, _size); \
break; \
} \
DmaFill##bit(3, value, _dest, MAX_DMA_BLOCK_SIZE); \
_dest += MAX_DMA_BLOCK_SIZE; \
_size -= MAX_DMA_BLOCK_SIZE; \
} \
}
#define Dma3FillLarge16_(value, dest, size) Dma3FillLarge_(value, dest, size, 16)
#define Dma3FillLarge32_(value, dest, size) Dma3FillLarge_(value, dest, size, 32)
void ClearDma3Requests(void);
void ProcessDma3Requests(void);
s16 RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode);
s16 RequestDma3Fill(s32 value, void *dest, u16 size, u8 mode);
s16 CheckForSpaceForDma3Request(s16 index);
#endif // GUARD_DMA3_H

View File

@@ -2,7 +2,7 @@
#define GUARD_DODRIO_BERRY_PICKING_H
void sub_802493C(u16 a0, void (*callback)(void));
void sub_8027A5C(void);
void sub_8027AAC(void);
void IsDodrioInParty(void);
void ShowDodrioBerryPickingRecords(void);
#endif // GUARD_DODRIO_BERRY_PICKING_H

View File

@@ -128,12 +128,12 @@ bool32 sub_811F8D8(int word);
void InitializeEasyChatWordArray(u16 *words, u16 length);
u8 *ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 columns, u16 rows);
bool8 ECWord_CheckIfOutsideOfValidRange(u16 word);
u16 sub_811EE38(u16 group);
u16 sub_811F01C(void);
u16 GetRandomEasyChatWordFromGroup(u16 group);
u16 GetNewHipsterPhraseToTeach(void);
u16 EasyChat_GetNumWordsInGroup(u8);
u16 sub_811EE90(u16);
u16 GetRandomEasyChatWordFromUnlockedGroup(u16);
void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback, u8 displayedPersonType);
void sub_811F8BC(void);
void sub_811EFC0(u8 additionalPhraseId);
void UnlockAdditionalPhrase(u8 additionalPhraseId);
#endif // GUARD_EASYCHAT_H

View File

@@ -2,9 +2,9 @@
#define GUARD_EGG_HATCH_H
void ScriptHatchMon(void);
bool8 sub_8071614(void);
bool8 CheckDaycareMonReceivedMail(void);
void EggHatch(void);
u8 GetEggStepsToSubtract(void);
u16 sub_80722E0(void);
u16 CountPartyAliveNonEggMons(void);
#endif // GUARD_EGG_HATCH_H

View File

@@ -16,8 +16,8 @@ bool32 IsMysteryEventEnabled(void);
void DisableMysteryGift(void);
void EnableMysteryGift(void);
bool32 IsMysteryGiftEnabled(void);
void sub_809D4D8(void);
void sub_809D570(void);
void ClearMysteryEventFlags(void);
void ClearMysteryEventVars(void);
void DisableResetRTC(void);
void EnableResetRTC(void);
bool32 CanResetRTC(void);

View File

@@ -1,22 +1,14 @@
#ifndef GUARD_EVENT_SCRIPTS_H
#define GUARD_EVENT_SCRIPTS_H
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_DoTainerBattle[];
extern const u8 EventScript_TryDoDoubleTrainerBattle[];
extern const u8 EventScript_TryDoNormalTrainerBattle[];
extern const u8 EventScript_TryDoDoubleRematchBattle[];
extern const u8 EventScript_TryDoRematchBattle[];
extern const u8 SecretBase_EventScript_DollInteract[];
extern const u8 SecretBase_EventScript_CushionInteract[];
extern const u8 BerryTreeScript[];
@@ -248,49 +240,49 @@ extern const u8 gTVWhatsNo1InHoennTodayText05[];
extern const u8 gTVWhatsNo1InHoennTodayText06[];
extern const u8 gTVWhatsNo1InHoennTodayText07[];
extern const u8 gTVWhatsNo1InHoennTodayText08[];
extern const u8 gTVSecretBaseSecretsText00[];
extern const u8 gTVSecretBaseSecretsText01[];
extern const u8 gTVSecretBaseSecretsText02[];
extern const u8 gTVSecretBaseSecretsText03[];
extern const u8 gTVSecretBaseSecretsText04[];
extern const u8 gTVSecretBaseSecretsText05[];
extern const u8 gTVSecretBaseSecretsText06[];
extern const u8 gTVSecretBaseSecretsText07[];
extern const u8 gTVSecretBaseSecretsText08[];
extern const u8 gTVSecretBaseSecretsText09[];
extern const u8 gTVSecretBaseSecretsText10[];
extern const u8 gTVSecretBaseSecretsText11[];
extern const u8 gTVSecretBaseSecretsText12[];
extern const u8 gTVSecretBaseSecretsText13[];
extern const u8 gTVSecretBaseSecretsText14[];
extern const u8 gTVSecretBaseSecretsText15[];
extern const u8 gTVSecretBaseSecretsText16[];
extern const u8 gTVSecretBaseSecretsText17[];
extern const u8 gTVSecretBaseSecretsText18[];
extern const u8 gTVSecretBaseSecretsText19[];
extern const u8 gTVSecretBaseSecretsText20[];
extern const u8 gTVSecretBaseSecretsText21[];
extern const u8 gTVSecretBaseSecretsText22[];
extern const u8 gTVSecretBaseSecretsText23[];
extern const u8 gTVSecretBaseSecretsText24[];
extern const u8 gTVSecretBaseSecretsText25[];
extern const u8 gTVSecretBaseSecretsText26[];
extern const u8 gTVSecretBaseSecretsText27[];
extern const u8 gTVSecretBaseSecretsText28[];
extern const u8 gTVSecretBaseSecretsText29[];
extern const u8 gTVSecretBaseSecretsText30[];
extern const u8 gTVSecretBaseSecretsText31[];
extern const u8 gTVSecretBaseSecretsText32[];
extern const u8 gTVSecretBaseSecretsText33[];
extern const u8 gTVSecretBaseSecretsText34[];
extern const u8 gTVSecretBaseSecretsText35[];
extern const u8 gTVSecretBaseSecretsText36[];
extern const u8 gTVSecretBaseSecretsText37[];
extern const u8 gTVSecretBaseSecretsText38[];
extern const u8 gTVSecretBaseSecretsText39[];
extern const u8 gTVSecretBaseSecretsText40[];
extern const u8 gTVSecretBaseSecretsText41[];
extern const u8 gTVSecretBaseSecretsText42[];
extern const u8 TVSecretBaseSecrets_Text_Intro[];
extern const u8 TVSecretBaseSecrets_Text_WhatWillPlayerDoNext1[];
extern const u8 TVSecretBaseSecrets_Text_WhatWillPlayerDoNext2[];
extern const u8 TVSecretBaseSecrets_Text_TookXStepsBeforeLeaving[];
extern const u8 TVSecretBaseSecrets_Text_BaseFailedToInterestPlayer[];
extern const u8 TVSecretBaseSecrets_Text_PlayerEnjoyedBase[];
extern const u8 TVSecretBaseSecrets_Text_PlayerHugeFanOfBase[];
extern const u8 TVSecretBaseSecrets_Text_Outro[];
extern const u8 TVSecretBaseSecrets_Text_StoppedMoving1[];
extern const u8 TVSecretBaseSecrets_Text_StoppedMoving2[];
extern const u8 TVSecretBaseSecrets_Text_UsedChair[];
extern const u8 TVSecretBaseSecrets_Text_UsedBalloon[];
extern const u8 TVSecretBaseSecrets_Text_UsedTent[];
extern const u8 TVSecretBaseSecrets_Text_UsedPlant[];
extern const u8 TVSecretBaseSecrets_Text_UsedGoldShield[];
extern const u8 TVSecretBaseSecrets_Text_UsedSilverShield[];
extern const u8 TVSecretBaseSecrets_Text_UsedGlassOrnament[];
extern const u8 TVSecretBaseSecrets_Text_UsedTV[];
extern const u8 TVSecretBaseSecrets_Text_UsedMudBall[];
extern const u8 TVSecretBaseSecrets_Text_UsedBag[];
extern const u8 TVSecretBaseSecrets_Text_UsedCushion[];
extern const u8 TVSecretBaseSecrets_Text_HitCushion[];
extern const u8 TVSecretBaseSecrets_Text_HuggedCushion[];
extern const u8 TVSecretBaseSecrets_Text_BattledWon[];
extern const u8 TVSecretBaseSecrets_Text_BattledLost[];
extern const u8 TVSecretBaseSecrets_Text_DeclinedBattle[];
extern const u8 TVSecretBaseSecrets_Text_UsedPoster[];
extern const u8 TVSecretBaseSecrets_Text_UsedNoteMat[];
extern const u8 TVSecretBaseSecrets_Text_BattledDraw[];
extern const u8 TVSecretBaseSecrets_Text_UsedSpinMat[];
extern const u8 TVSecretBaseSecrets_Text_UsedSandOrnament[];
extern const u8 TVSecretBaseSecrets_Text_UsedDesk[];
extern const u8 TVSecretBaseSecrets_Text_UsedBrick[];
extern const u8 TVSecretBaseSecrets_Text_UsedSolidBoard[];
extern const u8 TVSecretBaseSecrets_Text_UsedFence[];
extern const u8 TVSecretBaseSecrets_Text_UsedGlitterMat[];
extern const u8 TVSecretBaseSecrets_Text_UsedTire[];
extern const u8 TVSecretBaseSecrets_Text_UsedStand[];
extern const u8 TVSecretBaseSecrets_Text_BrokeDoor[];
extern const u8 TVSecretBaseSecrets_Text_UsedDoll[];
extern const u8 TVSecretBaseSecrets_Text_UsedSlide[];
extern const u8 TVSecretBaseSecrets_Text_UsedSlideButDidntGoDown[];
extern const u8 TVSecretBaseSecrets_Text_UsedJumpMat[];
extern const u8 gTVSafariFanClubText00[];
extern const u8 gTVSafariFanClubText01[];
extern const u8 gTVSafariFanClubText02[];
@@ -368,32 +360,26 @@ extern const u8 gPokeNewsTextLilycove_Ending[];
extern const u8 gPokeNewsTextBlendMaster_Upcoming[];
extern const u8 gPokeNewsTextBlendMaster_Ongoing[];
extern const u8 gPokeNewsTextBlendMaster_Ending[];
extern const u8 SecretBase_RedCave1_Text_274966[];
extern const u8 SecretBase_RedCave1_Text_274D13[];
extern const u8 SecretBase_RedCave1_Text_274FFE[];
extern const u8 SecretBase_RedCave1_Text_275367[];
extern const u8 SecretBase_RedCave1_Text_2756C7[];
extern const u8 SecretBase_RedCave1_Text_274B24[];
extern const u8 SecretBase_RedCave1_Text_274E75[];
extern const u8 SecretBase_RedCave1_Text_2751E1[];
extern const u8 SecretBase_RedCave1_Text_2754F6[];
extern const u8 SecretBase_RedCave1_Text_2758CC[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[];
extern const u8 SecretBase_Text_Trainer0Defeated[];
extern const u8 SecretBase_Text_Trainer1Defeated[];
extern const u8 SecretBase_Text_Trainer2Defeated[];
extern const u8 SecretBase_Text_Trainer3Defeated[];
extern const u8 SecretBase_Text_Trainer4Defeated[];
extern const u8 SecretBase_Text_Trainer5Defeated[];
extern const u8 SecretBase_Text_Trainer6Defeated[];
extern const u8 SecretBase_Text_Trainer7Defeated[];
extern const u8 SecretBase_Text_Trainer8Defeated[];
extern const u8 SecretBase_Text_Trainer9Defeated[];
//field effects
extern const u8 EventScript_FldEffStrength[];
extern const u8 EventScript_FailSweetScent[];
extern const u8 EventScript_2926F8[];
extern const u8 EventScript_FldEffFlash[];
extern const u8 EventScript_FldEffRockSmash[];
//player pc
extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_1F863F[];
extern const u8 LittlerootTown_MaysHouse_2F_EventScript_1F958F[];
//contest_strings
extern const u8 gText_0827D507[];
extern const u8 gText_0827D531[];
extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_TurnOffPlayerPC[];
extern const u8 LittlerootTown_MaysHouse_2F_EventScript_TurnOffPlayerPC[];
//mauville_old_man
extern const u8 gOtherText_Is[];
@@ -415,130 +401,127 @@ extern const u8 gMauvilleManText_WhenYouSeeTheSettingSunDoesIt[];
extern const u8 gMauvilleManText_LyingBackInTheGreenGrass[];
extern const u8 gMauvilleManText_SecretBasesAreSoWonderful[];
// mauville old man storyteller
extern const u8 MauvilleCity_PokemonCenter_1F_Text_SavedGameTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_SavedGameAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_SavedGameStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrendsStartedTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrendsStartedAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrendsStartedStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_BerriesPlantedStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_BikeTradesTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_BikeTradesAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_BikeTradesStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_InterviewsTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_InterviewsAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_InterviewsStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_TrainerBattlesStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonCaughtStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_FishingPokemonCaughtStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_EggsHatchedTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_EggsHatchedAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_EggsHatchedStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_PokemonEvolvedStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedPokemonCenterStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_RestedAtHomeStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_SafariGamesTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_SafariGamesAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_SafariGamesStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedCutTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedCutAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedCutStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedRockSmashStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_MovedBasesTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_MovedBasesAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_MovedBasesStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedSplashTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedSplashAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedSplashStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedStruggleTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedStruggleAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedStruggleStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_SlotJackpotsStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_RouletteWinsTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_RouletteWinsAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_RouletteWinsStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_BattleTowerChallengesStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_MadePokeblocksStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_EnteredContestsTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_EnteredContestsAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_EnteredContestsStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonContestsTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonContestsAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonContestsStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesShoppedTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesShoppedAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesShoppedStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedItemFinderStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesRainedTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesRainedAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_TimesRainedStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedPokedexStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_ReceivedRibbonsStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_LedgesJumpedStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_TVWatchedTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_TVWatchedAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_TVWatchedStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedClockTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedClockAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_CheckedClockStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonLotteryTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonLotteryAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_WonLotteryStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedDaycareTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedDaycareAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_UsedDaycareStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_RodeCableCarTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_RodeCableCarAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_RodeCableCarStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_HotSpringsTitle[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_HotSpringsAction[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_HotSpringsStory[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E930[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E947[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E956[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E9D7[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E9EF[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28E9FE[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EA7D[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EA98[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EAA8[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EB19[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EB31[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EB3E[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EBB5[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EBCD[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EBDD[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EC60[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EC79[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EC81[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28ED04[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28ED21[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28ED30[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EDA1[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EDB5[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EDCF[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EE45[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EE5D[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EE6A[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EEDD[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EEF1[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EF01[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EF73[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EF95[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28EFAA[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F045[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F05A[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F071[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F0F3[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F10D[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F125[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F1BE[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F1D5[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F1DE[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F24F[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F269[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F277[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F2FC[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F314[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F32A[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F3AD[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F3C6[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F3D2[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F44B[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F461[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F47C[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F50C[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F51B[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F538[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F5BE[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F5D1[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F5F2[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F678[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F694[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F6B4[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F751[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F76A[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F776[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F7F6[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F811[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F822[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F89C[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F8AF[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F8BC[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F92F[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F941[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F949[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F9D1[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F9EA[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28F9FD[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FA81[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FA99[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FAA7[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FB1D[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FB35[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FB47[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FBC4[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FBD9[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FBEA[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FC6B[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FC85[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FC98[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FD1D[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FD35[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FD40[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FDA2[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FDBD[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FDCE[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FE57[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FE72[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FE88[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FF0C[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FF27[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FF44[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FFDD[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_28FFFA[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_29000D[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_290097[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_2900B5[];
extern const u8 MauvilleCity_PokemonCenter_1F_Text_2900CB[];
extern const u8 EventScript_PlayerPCMale[];
extern const u8 EventScript_PlayerPCFemale[];
extern const u8 EventScript_SecretBasePC[];
extern const u8 EventScript_RecordMixingSecretBasePC[];
extern const u8 LittlerootTown_BrendansHouse_2F_EventScript_PC[];
extern const u8 LittlerootTown_MaysHouse_2F_EventScript_PC[];
extern const u8 EventScript_PC[];
extern const u8 EventScript_TestSignpostMsg[];
extern const u8 EventScript_HiddenItemScript[];
extern const u8 EventScript_2759F1[];
extern const u8 EventScript_TV[];
extern const u8 EventScript_ClosedSootopolisDoor[];
extern const u8 SkyPillar_Outside_EventScript_2393F9[];
extern const u8 SkyPillar_Outside_EventScript_ClosedDoor[];
extern const u8 EventScript_CableBoxResults[];
extern const u8 EventScript_PokeBlockFeeder[];
extern const u8 Route110_TrickHouseEntrance_EventScript_26A22A[];
extern const u8 Route110_TrickHousePuzzle_EventScript_Door[];
extern const u8 EventScript_RegionMap[];
extern const u8 EventScript_RunningShoesManual[];
extern const u8 EventScript_PictureBookShelf[];
@@ -552,38 +535,56 @@ extern const u8 EventScript_WirelessBoxResults[];
extern const u8 EventScript_CableBoxResults[];
extern const u8 EventScript_Questionnaire[];
extern const u8 EventScript_TrainerHillTimer[];
extern const u8 EventScript_SecretBaseSandOrnament[];
extern const u8 EventScript_SecretBaseShieldOrToyTV[];
extern const u8 EventScript_UseSurf[];
extern const u8 EventScript_UseWaterfall[];
extern const u8 EventScript_CannotUseWaterfall[];
extern const u8 EventScript_UseDive[];
extern const u8 EventScript_UseDiveUnderwater[];
extern const u8 EventScript_FallDownHole[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8[];
extern const u8 EventScript_Poison[];
extern const u8 EventScript_FieldPoison[];
extern const u8 EventScript_EggHatch[];
extern const u8 UnusualWeather_EventScript_EndEventAndCleanup_1[];
extern const u8 IslandCave_EventScript_238EAF[];
extern const u8 MauvilleCity_EventScript_1DF7BA[];
extern const u8 Route119_EventScript_1F49EC[];
extern const u8 LittlerootTown_ProfessorBirchsLab_EventScript_1FA4D6[];
extern const u8 RustboroCity_Gym_EventScript_21307B[];
extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_224175[];
extern const u8 SSTidalCorridor_EventScript_23C050[];
extern const u8 gUnknown_082A8350[];
extern const u8 AbnormalWeather_EventScript_EndEventAndCleanup_1[];
extern const u8 IslandCave_EventScript_OpenRegiEntrance[];
extern const u8 MauvilleCity_EventScript_RegisterWallyCall[];
extern const u8 Route119_EventScript_ScottWonAtFortreeGymCall[];
extern const u8 LittlerootTown_ProfessorBirchsLab_EventScript_ScottAboardSSTidalCall[];
extern const u8 RustboroCity_Gym_EventScript_RegisterRoxanne[];
extern const u8 MossdeepCity_SpaceCenter_2F_EventScript_RivalRayquazaCall[];
extern const u8 SSTidalCorridor_EventScript_ReachedStepCount[];
extern const u8 EventScript_FallDownHoleMtPyre[];
// Secret Base
extern const u8 SecretBase_EventScript_PC[];
extern const u8 SecretBase_EventScript_RecordMixingPC[];
extern const u8 SecretBase_EventScript_PCCancel[];
extern const u8 SecretBase_EventScript_ShowRegisterMenu[];
extern const u8 SecretBase_EventScript_SandOrnament[];
extern const u8 SecretBase_EventScript_ShieldOrToyTV[];
extern const u8 SecretBase_EventScript_DollInteract[];
extern const u8 SecretBase_EventScript_CushionInteract[];
extern const u8 SecretBase_EventScript_CheckEntrance[];
extern const u8 SecretBase_EventScript_Enter[];
extern const u8 SecretBase_EventScript_InitDecorations[];
extern const u8 SecretBase_EventScript_PutAwayDecoration[];
extern const u8 SecretBase_EventScript_SetDecoration[];
// Battle Pyramid.
extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[];
extern const u8 BattlePyramid_Retire[];
extern const u8 BattlePyramid_WarpToNextFloor[];
extern const u8 BattlePyramid_TrainerBattle[];
extern const u8 BattlePyramid_FindItemBall[];
// fldeff misc
extern const u8 EventScript_275A86[];
extern const u8 EventScript_275ADF[];
extern const u8 EventScript_275B38[];
extern const u8 SecretBase_EventScript_CaveUseSecretPower[];
extern const u8 SecretBase_EventScript_TreeUseSecretPower[];
extern const u8 SecretBase_EventScript_ShrubUseSecretPower[];
// trainer hill
extern const u8 EventScript_2C83F0[];
extern const u8 TrainerHill_EventScript_TrainerBattle[];
// Item Use
extern u8 BerryTree_EventScript_ItemUsePlantBerry[];
extern u8 BerryTree_EventScript_ItemUseWailmerPail[];
extern u8 BattleFrontier_OutsideEast_EventScript_WaterSudowoodo[];
#endif // GUARD_EVENT_SCRIPTS_H

View File

@@ -12,7 +12,7 @@ extern bool8 (*gFieldCallback2)(void);
u32 FieldEffectStart(u8);
bool8 FieldEffectActiveListContains(u8 id);
void FieldEffectActiveListClear(void);
void sub_80B69DC(void);
void ReturnToFieldFromFlyMapSelect(void);
u8 AddNewGameBirchObject(s16, s16, u8);
void FieldEffectStop(struct Sprite *sprite, u8 id);
u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer);
@@ -34,17 +34,17 @@ bool8 FieldEffectCmd_end(u8 **script, u32 *val);
bool8 FieldEffectCmd_loadgfx_callnative(u8 **script, u32 *val);
bool8 FieldEffectCmd_loadtiles_callnative(u8 **script, u32 *val);
bool8 FieldEffectCmd_loadfadedpal_callnative(u8 **script, u32 *val);
void sub_80B6B68(void);
void sub_80B6E4C(u8 a0, u8 priority);
void sub_80B75D8(u8 priority);
void sub_80B7A74(u8 priority);
void FieldCB_FallWarpExit(void);
void StartEscalatorWarp(u8 metatileBehavior, u8 priority);
void StartLavaridgeGymB1FWarp(u8 priority);
void StartLavaridgeGym1FWarp(u8 priority);
void sub_80B9C28(s16*, u8);
void sub_80B9C54(s16*, u8);
void sub_80B9CDC(s16*, u8);
void sub_80B7CAC(struct Sprite*);
void sub_80B7A58(struct Sprite*);
void SpriteCB_PopOutOfAsh(struct Sprite*);
void SpriteCB_LavaridgeGymWarp(struct Sprite*);
void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b);
void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId);

View File

@@ -61,7 +61,8 @@ void sub_808D194(void);
void sub_808D1C8(void);
bool32 sub_808D1B4(void);
bool32 sub_808D1E8(void);
void sub_808C0A8(u8 a);
void SetPlayerInvisibility(bool8 invisible);
u8 player_get_pos_including_state_based_drift(s16 *x, s16 *y);
void StartFishing(u8 taskId);
#endif // GUARD_FIELD_PLAYER_AVATAR_H

View File

@@ -7,13 +7,7 @@
// Exported ROM declarations
enum {
FLDPSN_NONE,
FLDPSN_PSN,
FLDPSN_FNT
};
void ExecuteWhiteOut(void);
void TryFieldPoisonWhiteOut(void);
s32 DoPoisonFieldEffect(void);
#endif //GUARD_FIELD_POISON_H

View File

@@ -1,46 +1,44 @@
#ifndef GUARD_FIELD_SCREEN_EFFECT_H
#define GUARD_FIELD_SCREEN_EFFECT_H
void pal_fill_for_maplights(void);
void pal_fill_black(void);
void WarpFadeScreen(void);
void sub_80AF128(void);
void FieldCallback_ReturnToEventScript2(void);
void sub_80AF188(void);
void sub_80AF214(void);
void sub_80AF2B4(u8 taskId);
void sub_80AF314(void);
void mapldr_default(void);
void sub_80AF3B0(void);
void sub_80AF3C8(void);
void sub_80AF3E8(void);
void sub_80AF40C(void);
void sub_80AF688(void);
bool8 sub_80AF6A4(void);
void WarpFadeInScreen(void);
void WarpFadeOutScreen(void);
void FadeInFromBlack(void);
void FadeInFromWhite(void);
void FieldCB_ContinueScriptUnionRoom(void);
void FieldCB_ContinueScriptHandleMusic(void);
void FieldCB_ContinueScript(void);
void Task_ReturnToFieldRecordMixing(u8 taskId);
void FieldCB_ReturnToFieldCableLink(void);
void FieldCB_ReturnToFieldWirelessLink(void);
void FieldCB_DefaultWarpExit(void);
void FieldCB_WarpExitFadeFromBlack(void);
void FieldCB_WarpExitFadeFromWhite(void);
bool8 FieldCB_ReturnToFieldOpenStartMenu(void);
void ReturnToFieldOpenStartMenu(void);
void sub_80AF6D4(void);
void sub_80AF6F0(void);
void DoWarp(void);
void DoDiveWarp(void);
void sub_80AF79C(void);
void DoSootopolisLegendWarp(void);
void DoDoorWarp(void);
void DoFallWarp(void);
void sub_80AF80C(u8 metatileBehavior);
void sub_80AF828(void);
void sub_80AF838(void);
void sub_80AF848(void);
void sub_80AF87C(void);
void sub_80AF8B8(void);
void sub_80AF948(void);
void sub_80AF9F8(void);
void sub_80AFC60(void);
void sub_80B009C(u8 flashLevel);
void DoEscalatorWarp(u8 metatileBehavior);
void DoLavaridgeGymB1FWarp(void);
void DoLavaridgeGym1FWarp(void);
void DoTeleportWarp(void);
void DoMossdeepGymWarp(void);
void DoPortholeWarp(void);
void DoCableClubWarp(void);
void DoContestHallWarp(void);
void AnimateFlash(u8 flashLevel);
void WriteBattlePyramidViewScanlineEffectBuffer(void);
void sub_80B0244(void);
void sub_80B0268(void);
void sub_80B0534(void);
void sub_80B058C(void);
void DoOrbEffect(void);
void FadeOutOrbEffect(void);
void sub_80B05B4(void);
void WriteFlashScanlineEffectBuffer(u8 flashLevel);
bool8 walkrun_is_standing_still(void);
bool8 IsPlayerStandingStill(void);
#endif // GUARD_FIELD_SCREEN_EFFECT_H

View File

@@ -10,6 +10,6 @@ void Task_HandleTruckSequence(u8 taskId);
void ExecuteTruckSequence(void);
void EndTruckSequence(u8);
void sub_80C791C(void);
void sub_80FB768(void);
void FieldCB_ShowPortholeView(void);
#endif // GUARD_FIELD_SPECIAL_SCENE_H

View File

@@ -5,31 +5,31 @@ extern bool8 gBikeCyclingChallenge;
extern u8 gBikeCollisions;
u8 GetLeadMonIndex(void);
u8 sub_813B260(void);
u16 get_unknown_box_id(void);
bool8 InMultiBattleRoom(void);
void sub_813BF10(void);
u8 IsDestinationBoxFull(void);
u16 GetPCBoxToSendMon(void);
bool8 InMultiPartnerRoom(void);
void UpdateTrainerFansAfterLinkBattle(void);
void IncrementBirthIslandRockStepCount(void);
bool8 UnusualWeatherHasExpired(void);
bool8 AbnormalWeatherHasExpired(void);
bool8 ShouldDoBrailleRegicePuzzle(void);
bool32 ShouldDoWallyCall(void);
bool32 ShouldDoWinonaCall(void);
bool32 ShouldDoScottCall(void);
bool32 ShouldDoScottFortreeCall(void);
bool32 ShouldDoScottBattleFrontierCall(void);
bool32 ShouldDoRoxanneCall(void);
bool32 ShouldDoRivalRayquazaCall(void);
bool32 CountSSTidalStep(u16 delta);
u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y);
void sub_813A128(void);
void sub_813A878(u8 a0);
u8 sub_813BADC(u8 a0);
bool8 sub_813B9C0(void);
void SetShoalItemFlag(u16 v0);
void UpdateFrontierManiac(u16 a0);
void UpdateFrontierGambler(u16 a0);
void ShowScrollableMultichoice(void);
void FrontierGamblerSetWonOrLost(bool8 won);
u8 TryGainNewFanFromCounter(u8 incrementId);
bool8 InPokemonCenter(void);
void SetShoalItemFlag(u16 unused);
void UpdateFrontierManiac(u16 daysSince);
void UpdateFrontierGambler(u16 daysSince);
void ResetCyclingRoadChallengeData(void);
bool8 warp0_in_pokecenter(void);
bool8 UsedPokemonCenterWarp(void);
void ResetFanClub(void);
bool8 sub_813B21C(void);
void set_unknown_box_id(u8 id);
bool8 ShouldShowBoxWasFullMessage(void);
void SetPCBoxToSendMon(u8 boxId);
#endif // GUARD_FIELD_SPECIALS_H

View File

@@ -2,32 +2,7 @@
#define GUARD_WEATHER_H
#include "sprite.h"
#define MAX_RAIN_SPRITES 24
#define NUM_CLOUD_SPRITES 3
#define NUM_FOG1_SPRITES 20
#define NUM_ASH_SPRITES 20
#define NUM_FOG2_SPRITES 20
#define NUM_SANDSTORM_SPRITES 20
#define NUM_SWIRL_SANDSTORM_SPRITES 5
// Controls how the weather should be changing the screen palettes.
enum
{
WEATHER_PAL_STATE_CHANGING_WEATHER,
WEATHER_PAL_STATE_SCREEN_FADING_IN,
WEATHER_PAL_STATE_SCREEN_FADING_OUT,
WEATHER_PAL_STATE_IDLE,
};
// For the FadeScreen function.
enum
{
FADE_FROM_BLACK,
FADE_TO_BLACK,
FADE_FROM_WHITE,
FADE_TO_WHITE,
};
#include "constants/field_weather.h"
struct Weather
{
@@ -42,9 +17,9 @@ struct Weather
struct
{
u8 filler0[0xA0];
struct Sprite *fog1Sprites[NUM_FOG1_SPRITES];
struct Sprite *fogHSprites[NUM_FOG_HORIZONTAL_SPRITES];
struct Sprite *ashSprites[NUM_ASH_SPRITES];
struct Sprite *fog2Sprites[NUM_FOG2_SPRITES];
struct Sprite *fogDSprites[NUM_FOG_DIAGONAL_SPRITES];
struct Sprite *sandstormSprites1[NUM_SANDSTORM_SPRITES];
struct Sprite *sandstormSprites2[NUM_SWIRL_SANDSTORM_SPRITES];
} s2;
@@ -75,7 +50,7 @@ struct Weather
u8 targetRainSpriteCount;
u8 rainSpriteCount;
u8 rainSpriteVisibleDelay;
u8 isHeavyRain;
u8 isDownpour;
u8 rainStrength;
/*0x6DE*/ u8 cloudSpritesCreated;
u8 filler_6DF[1];
@@ -89,12 +64,12 @@ struct Weather
u8 unknown_6EB;
u8 unknown_6EC;
u8 thunderTriggered;
u16 fog1ScrollPosX;
u16 fog1ScrollCounter;
u16 fog1ScrollOffset;
u16 fogHScrollPosX;
u16 fogHScrollCounter;
u16 fogHScrollOffset;
u8 lightenedFogSpritePals[6];
u8 lightenedFogSpritePalsCount;
u8 fog1SpritesCreated;
u8 fogHSpritesCreated;
u16 ashBaseSpritesX;
u16 unknown_6FE;
u8 ashSpritesCreated;
@@ -108,13 +83,13 @@ struct Weather
u16 sandstormWaveCounter;
u8 sandstormSpritesCreated;
u8 sandstormSwirlSpritesCreated;
u16 fog2BaseSpritesX;
u16 fog2PosY;
u16 fog2ScrollXCounter;
u16 fog2ScrollYCounter;
u16 fog2XOffset;
u16 fog2YOffset;
u8 fog2SpritesCreated;
u16 fogDBaseSpritesX;
u16 fogDPosY;
u16 fogDScrollXCounter;
u16 fogDScrollYCounter;
u16 fogDXOffset;
u16 fogDYOffset;
u8 fogDSpritesCreated;
u8 filler_725[1];
u16 bubblesDelayCounter;
u16 bubblesDelayIndex;
@@ -145,7 +120,7 @@ extern struct Weather *const gWeatherPtr;
extern const u16 gUnknown_083970E8[];
// field_weather_effect.c
extern const u8 gWeatherFog1Tiles[];
extern const u8 gWeatherFogHorizontalTiles[];
void StartWeather(void);
void SetNextWeather(u8 weather);
@@ -186,22 +161,22 @@ void Sunny_InitVars(void);
void Sunny_Main(void);
void Sunny_InitAll(void);
bool8 Sunny_Finish(void);
void LightRain_InitVars(void);
void LightRain_Main(void);
void LightRain_InitAll(void);
bool8 LightRain_Finish(void);
void Rain_InitVars(void);
void Rain_Main(void);
void Rain_InitAll(void);
bool8 Rain_Finish(void);
void Snow_InitVars(void);
void Snow_Main(void);
void Snow_InitAll(void);
bool8 Snow_Finish(void);
void MedRain_InitVars(void);
void Rain_Main(void);
void MedRain_InitAll(void);
bool8 Rain_Finish(void);
void Fog1_InitVars(void);
void Fog1_Main(void);
void Fog1_InitAll(void);
bool8 Fog1_Finish(void);
void Thunderstorm_InitVars(void);
void Thunderstorm_Main(void);
void Thunderstorm_InitAll(void);
bool8 Thunderstorm_Finish(void);
void FogHorizontal_InitVars(void);
void FogHorizontal_Main(void);
void FogHorizontal_InitAll(void);
bool8 FogHorizontal_Finish(void);
void Ash_InitVars(void);
void Ash_Main(void);
void Ash_InitAll(void);
@@ -210,14 +185,10 @@ void Sandstorm_InitVars(void);
void Sandstorm_Main(void);
void Sandstorm_InitAll(void);
bool8 Sandstorm_Finish(void);
void Fog2_InitVars(void);
void Fog2_Main(void);
void Fog2_InitAll(void);
bool8 Fog2_Finish(void);
void Fog1_InitVars(void);
void Fog1_Main(void);
void Fog1_InitAll(void);
bool8 Fog1_Finish(void);
void FogDiagonal_InitVars(void);
void FogDiagonal_Main(void);
void FogDiagonal_InitAll(void);
bool8 FogDiagonal_Finish(void);
void Shade_InitVars(void);
void Shade_Main(void);
void Shade_InitAll(void);
@@ -226,10 +197,8 @@ void Drought_InitVars(void);
void Drought_Main(void);
void Drought_InitAll(void);
bool8 Drought_Finish(void);
void HeavyRain_InitVars(void);
void Rain_Main(void);
void HeavyRain_InitAll(void);
bool8 Rain_Finish(void);
void Downpour_InitVars(void);
void Downpour_InitAll(void);
void Bubbles_InitVars(void);
void Bubbles_Main(void);
void Bubbles_InitAll(void);

View File

@@ -42,7 +42,7 @@ void copy_map_tileset2_to_vram_2(struct MapLayout const *mapLayout);
void copy_map_tileset1_to_vram(const struct MapLayout *);
void copy_map_tileset2_to_vram(const struct MapLayout *);
struct MapHeader const *const mapconnection_get_mapheader(struct MapConnection *connection);
struct MapConnection *sub_8088A8C(s16 x, s16 y);
struct MapConnection *GetConnectionAtCoords(s16 x, s16 y);
void SpriteCB_PokeballGlow(struct Sprite *);
void SpriteCB_PokecenterMonitor(struct Sprite *);

View File

@@ -28,8 +28,8 @@ bool8 sub_80E1584(void);
// soft-boiled
bool8 SetUpFieldMove_SoftBoiled(void);
void sub_81615A8(u8 taskId);
void sub_8161560(u8 taskId);
void Task_TryUseSoftboiledOnPartyMon(u8 taskId);
void ChooseMonForSoftboiled(u8 taskId);
// flash
bool8 SetUpFieldMove_Flash(void);

View File

@@ -21,7 +21,7 @@ void ShatterSecretBaseBreakableDoor(s16 x, s16 y);
void PlaySecretBaseMusicNoteMatSound(s16 metatileId);
void DoSecretBaseGlitterMatSparkle(void);
bool8 FldEff_SandPillar(void);
void GetShieldToyTVDecorationInfo(void);
void InteractWithShieldOrTVDecoration(void);
bool8 sub_80FADE4(u16 arg0, u8 arg1);
void FldEffPoison_Start(void);
bool32 FldEffPoison_IsActive(void);

View File

@@ -1,21 +1,17 @@
#ifndef GUARD_FRONTIER_UTIL_H
#define GUARD_FRONTIER_UTIL_H
#define FRONTIER_BEFORE_TEXT 0
#define FRONTIER_PLAYER_LOST_TEXT 1
#define FRONTIER_PLAYER_WON_TEXT 2
void CallFrontierUtilFunc(void);
u8 sub_81A3610(void);
u8 GetFrontierBrainStatus(void);
void CopyFrontierTrainerText(u8 whichText, u16 trainerId);
void sub_81A3908(void);
void ResetWinStreaks(void);
u32 GetCurrentFacilityWinStreak(void);
void sub_81A3ACC(void);
void ResetFrontierTrainerIds(void);
u8 GetPlayerSymbolCountForFacility(u8 facility);
void ShowRankingHallRecordsWindow(void);
void ScrollRankingHallRecordsWindow(void);
void ClearRankingHallRecords(void);
void sub_81A4C30(void);
void SaveGameFrontier(void);
u8 GetFrontierBrainTrainerPicIndex(void);
u8 GetFrontierBrainTrainerClass(void);
void CopyFrontierBrainTrainerName(u8 *dst);

View File

@@ -59,13 +59,13 @@ struct EventObjectTemplate
/*0x06*/ s16 y;
/*0x08*/ u8 elevation;
/*0x09*/ u8 movementType;
/*0x0A*/ u8 movementRangeX:4;
u8 movementRangeY:4;
/*0x0A*/ u16 movementRangeX:4;
u16 movementRangeY:4;
/*0x0C*/ u16 trainerType;
/*0x0E*/ u16 trainerRange_berryTreeId;
/*0x10*/ const u8 *script;
/*0x14*/ u16 flagId;
}; /*size = 0x18*/
};
struct WarpEvent
{
@@ -82,7 +82,6 @@ struct CoordEvent
u8 elevation;
u16 trigger;
u16 index;
u8 filler_A[0x2];
u8 *script;
};
@@ -90,20 +89,14 @@ struct BgEvent
{
u16 x, y;
u8 elevation;
u8 kind;
union { // carried over from diego's FR/LG work, seems to be the same struct
// in gen 3, "kind" (0x3 in BgEvent struct) determines the method to read the union.
u8 kind; // The "kind" field determines how to access bgUnion union below.
union {
u8 *script;
// hidden item type
struct {
u16 item;
u16 hiddenItemId; // flag offset to determine flag lookup
u16 hiddenItemId;
} hiddenItem;
// secret base type
u32 secretBaseId;
} bgUnion;
};
@@ -113,7 +106,6 @@ struct MapEvents
u8 warpCount;
u8 coordEventCount;
u8 bgEventCount;
struct EventObjectTemplate *eventObjects;
struct WarpEvent *warps;
struct CoordEvent *coordEvents;
@@ -122,10 +114,10 @@ struct MapEvents
struct MapConnection
{
/*0x00*/ u8 direction;
/*0x01*/ u32 offset;
/*0x05*/ u8 mapGroup;
/*0x06*/ u8 mapNum;
u8 direction;
u32 offset;
u8 mapGroup;
u8 mapNum;
};
struct MapConnections
@@ -151,6 +143,16 @@ struct MapHeader
/* 0x1B */ u8 battleType;
};
// Flags for gMapHeader.flags, as defined in the map_header_flags macro
#define MAP_ALLOW_BIKE (1 << 0)
#define MAP_ALLOW_ESCAPE_ROPE (1 << 1)
#define MAP_ALLOW_RUN (1 << 2)
#define MAP_SHOW_MAP_NAME (1 << 3)
#define UNUSED_MAP_FLAGS (1 << 4 | 1 << 5 | 1 << 6 | 1 << 7)
#define SHOW_MAP_NAME_ENABLED ((gMapHeader.flags & (MAP_SHOW_MAP_NAME | UNUSED_MAP_FLAGS)) == MAP_SHOW_MAP_NAME)
struct EventObject
{
/*0x00*/ u32 active:1;
@@ -180,7 +182,7 @@ struct EventObject
/*0x03*/ u32 spriteAffineAnimPausedBackup:1;
u32 disableJumpLandingGroundEffect:1;
u32 fixedPriority:1;
u32 unk3_3:1;
u32 hideReflection:1;
/*0x04*/ u8 spriteId;
/*0x05*/ u8 graphicsId;
/*0x06*/ u8 movementType;
@@ -267,7 +269,20 @@ enum
enum
{
COLLISION_LEDGE_JUMP = 6
COLLISION_NONE,
COLLISION_OUTSIDE_RANGE,
COLLISION_IMPASSABLE,
COLLISION_ELEVATION_MISMATCH,
COLLISION_EVENT_OBJECT,
COLLISION_STOP_SURFING,
COLLISION_LEDGE_JUMP,
COLLISION_PUSHED_BOULDER,
COLLISION_ROTATING_GATE,
COLLISION_WHEELIE_HOP,
COLLISION_ISOLATED_VERTICAL_RAIL,
COLLISION_ISOLATED_HORIZONTAL_RAIL,
COLLISION_VERTICAL_RAIL,
COLLISION_HORIZONTAL_RAIL,
};
// player running states

View File

@@ -63,8 +63,6 @@
// Converts a Q24.8 fixed-point format number to a regular integer
#define Q_24_8_TO_INT(n) ((int)((n) >> 8))
#define PARTY_SIZE 6
#define POKEMON_SLOTS_NUMBER 412
#define min(a, b) ((a) < (b) ? (a) : (b))
@@ -212,18 +210,20 @@ struct BerryCrush
struct ApprenticeMon
{
u16 species;
u16 moves[4];
u16 moves[MAX_MON_MOVES];
u16 item;
};
// This is for past players Apprentices or Apprentices received via Record Mix.
// For the current Apprentice, see struct PlayersApprentice
struct Apprentice
{
u8 id:5;
u8 lvlMode:2; // + 1
u8 field_1;
u8 numQuestions;
u8 number;
struct ApprenticeMon party[3];
u16 easyChatWords[6];
struct ApprenticeMon party[MULTI_PARTY_SIZE];
u16 speechWon[EASY_CHAT_BATTLE_WORDS_COUNT];
u8 playerId[TRAINER_ID_LENGTH];
u8 playerName[PLAYER_NAME_LENGTH];
u8 language;
@@ -234,7 +234,7 @@ struct BattleTowerPokemon
{
u16 species;
u16 heldItem;
u16 moves[4];
u16 moves[MAX_MON_MOVES];
u8 level;
u8 ppBonuses;
u8 hpEV;
@@ -266,14 +266,23 @@ struct EmeraldBattleTowerRecord
/*0x02*/ u16 winStreak;
/*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1];
/*0x0C*/ u8 trainerId[TRAINER_ID_LENGTH];
/*0x10*/ u16 greeting[6];
/*0x1C*/ u16 speechWon[6];
/*0x28*/ u16 speechLost[6];
/*0x34*/ struct BattleTowerPokemon party[4];
/*0x10*/ u16 greeting[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x1C*/ u16 speechWon[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x28*/ u16 speechLost[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x34*/ struct BattleTowerPokemon party[MAX_FRONTIER_PARTY_SIZE];
/*0xE4*/ u8 language;
/*0xE8*/ u32 checksum;
};
struct BattleTowerInterview
{
u16 playerSpecies;
u16 opponentSpecies;
u8 opponentName[PLAYER_NAME_LENGTH + 1];
u8 opponentMonNickname[POKEMON_NAME_LENGTH + 1];
u8 opponentLanguage;
};
struct BattleTowerEReaderTrainer
{
/*0x00*/ u8 unk0;
@@ -281,17 +290,18 @@ struct BattleTowerEReaderTrainer
/*0x02*/ u16 winStreak;
/*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1];
/*0x0C*/ u8 trainerId[TRAINER_ID_LENGTH];
/*0x10*/ u16 greeting[6];
/*0x1C*/ u16 farewellPlayerLost[6];
/*0x28*/ u16 farewellPlayerWon[6];
/*0x34*/ struct BattleTowerPokemon party[3];
/*0x10*/ u16 greeting[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x1C*/ u16 farewellPlayerLost[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x28*/ u16 farewellPlayerWon[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x34*/ struct BattleTowerPokemon party[FRONTIER_PARTY_SIZE];
/*0xB8*/ u32 checksum;
};
struct FrontierMonData
// For displaying party information on the player's Battle Dome tourney page
struct DomeMonData
{
u16 moves[4];
u8 evs[6];
u16 moves[MAX_MON_MOVES];
u8 evs[NUM_STATS];
u8 nature;
};
@@ -308,7 +318,7 @@ struct BattleDomeTrainer
u16 trainerId:10;
u16 isEliminated:1;
u16 eliminatedAt:2;
u16 unk3:3;
u16 forfeited:3;
};
#define DOME_TOURNAMENT_TRAINERS_COUNT 16
@@ -317,112 +327,103 @@ struct BattleFrontier
{
/*0x64C*/ struct EmeraldBattleTowerRecord towerPlayer;
/*0x738*/ struct EmeraldBattleTowerRecord towerRecords[5]; // From record mixing.
/*0xBD4*/ u16 field_BD4;
/*0xBD6*/ u16 field_BD6;
/*0xBD8*/ u8 field_BD8[PLAYER_NAME_LENGTH + 1];
/*0xBE3*/ u8 field_BE0[POKEMON_NAME_LENGTH + 1];
/*0xBEB*/ u8 field_BEB;
/*0xBEB*/ struct BattleTowerInterview towerInterview;
/*0xBEC*/ struct BattleTowerEReaderTrainer ereaderTrainer;
/*0xCA8*/ u8 field_CA8;
/*0xCA9*/ u8 lvlMode:2; // 0x1, 0x2 -> 0x3
/*0xCA9*/ u8 field_CA9_a:1; // 0x4
/*0xCA9*/ u8 field_CA9_b:1; // 0x8
/*0xCA9*/ u8 field_CA9_c:1; // 0x10
/*0xCA9*/ u8 field_CA9_d:1; // 0x20
/*0xCA9*/ u8 field_CA9_e:1; // 0x40
/*0xCA9*/ u8 field_CA9_f:1; // 0x80
/*0xCAA*/ u16 selectedPartyMons[3];
/*0xCB0*/ u16 field_CB0;
/*0xCB2*/ u16 curChallengeBattleNum; // In case of battle pyramid, the floor.
/*0xCA8*/ u8 challengeStatus;
/*0xCA9*/ u8 lvlMode:2;
/*0xCA9*/ u8 challengePaused:1;
/*0xCA9*/ u8 disableRecordBattle:1;
/*0xCAA*/ u16 selectedPartyMons[MAX_FRONTIER_PARTY_SIZE];
/*0xCB2*/ u16 curChallengeBattleNum; // Battle number / room number (Pike) / floor number (Pyramid)
/*0xCB4*/ u16 trainerIds[20];
/*0xCDC*/ u32 field_CDC;
/*0xCDC*/ u32 winStreakActiveFlags;
/*0xCE0*/ u16 towerWinStreaks[4][2];
/*0xCF0*/ u16 towerRecordWinStreaks[4][2];
/*0xD00*/ u16 field_D00;
/*0xD02*/ u16 field_D02;
/*0xD04*/ u16 field_D04;
/*0xD06*/ u8 field_D06;
/*0xD07*/ u8 field_D07;
/*0xD08*/ u8 field_D08_0:1;
/*0xD08*/ u8 field_D08_1:1;
/*0xD08*/ u8 field_D08_2:1;
/*0xD08*/ u8 field_D08_3:1;
/*0xD08*/ u8 field_D08_4:1;
/*0xD08*/ u8 field_D08_5:1;
/*0xD08*/ u8 field_D08_6:1;
/*0xD08*/ u8 field_D08_7:1;
/*0xD09*/ u8 filler_D09;
/*0xD0A*/ u8 field_D0A;
/*0xD0B*/ u8 field_D0B;
/*0xD00*/ u16 battledBrainFlags;
/*0xD02*/ u16 towerSinglesStreak; // Never read
/*0xD04*/ u16 towerNumWins; // Increments to MAX_STREAK but never read otherwise
/*0xD06*/ u8 towerBattleOutcome;
/*0xD07*/ u8 towerLvlMode;
/*0xD08*/ u8 domeAttemptedSingles50:1;
/*0xD08*/ u8 domeAttemptedSinglesOpen:1;
/*0xD08*/ u8 domeHasWonSingles50:1;
/*0xD08*/ u8 domeHasWonSinglesOpen:1;
/*0xD08*/ u8 domeAttemptedDoubles50:1;
/*0xD08*/ u8 domeAttemptedDoublesOpen:1;
/*0xD08*/ u8 domeHasWonDoubles50:1;
/*0xD08*/ u8 domeHasWonDoublesOpen:1;
/*0xD09*/ u8 domeUnused;
/*0xD0A*/ u8 domeLvlMode;
/*0xD0B*/ u8 domeBattleMode;
/*0xD0C*/ u16 domeWinStreaks[2][2];
/*0xD14*/ u16 domeRecordWinStreaks[2][2];
/*0xD1C*/ u16 domeTotalChampionships[2][2];
/*0xD24*/ struct BattleDomeTrainer domeTrainers[DOME_TOURNAMENT_TRAINERS_COUNT];
/*0xD64*/ u16 domeMonIds[DOME_TOURNAMENT_TRAINERS_COUNT][3];
/*0xDC4*/ u16 field_DC4;
/*0xDC6*/ u16 field_DC6;
/*0xD64*/ u16 domeMonIds[DOME_TOURNAMENT_TRAINERS_COUNT][FRONTIER_PARTY_SIZE];
/*0xDC4*/ u16 unused_DC4;
/*0xDC6*/ u16 palacePrize;
/*0xDC8*/ u16 palaceWinStreaks[2][2];
/*0xDD0*/ u16 palaceRecordWinStreaks[2][2];
/*0xDD8*/ u16 arenaRewardItem;
/*0xDD8*/ u16 arenaPrize;
/*0xDDA*/ u16 arenaWinStreaks[2];
/*0xDDE*/ u16 arenaRecordStreaks[2];
/*0xDE2*/ u16 factoryWinStreaks[2][2];
/*0xDEA*/ u16 factoryRecordWinStreaks[2][2];
/*0xDF6*/ u16 factoryRentsCount[2][2];
/*0xDFA*/ u16 factoryRecordRentsCount[2][2];
/*0xE02*/ u16 field_E02;
/*0xE02*/ u16 pikePrize;
/*0xE04*/ u16 pikeWinStreaks[2];
/*0xE08*/ u16 pikeRecordStreaks[2];
/*0xE0C*/ u16 pikeTotalStreaks[2];
/*0xE10*/ u8 pikeHintedRoomIndex:3;
/*0xE10*/ u8 pikeHintedRoomType:4;
/*0xE10*/ u8 pikeHealingRoomsDisabled:1;
/*0xE12*/ u16 pikeHeldItemsBackup[3];
/*0xE18*/ u16 pyramidRewardItem;
/*0xE12*/ u16 pikeHeldItemsBackup[FRONTIER_PARTY_SIZE];
/*0xE18*/ u16 pyramidPrize;
/*0xE1A*/ u16 pyramidWinStreaks[2];
/*0xE1E*/ u16 pyramidRecordStreaks[2];
/*0xE22*/ u16 pyramidRandoms[4];
/*0xE2A*/ u8 pyramidTrainerFlags;
/*0xE2C*/ struct PyramidBag pyramidBag;
/*0xE68*/ u8 pyramidLightRadius;
/*0xE6A*/ u16 field_E6A;
/*0xE6C*/ u16 field_E6C;
/*0xE6E*/ u16 field_E6E;
/*0xE70*/ struct RentalMon rentalMons[6];
/*0xE6A*/ u16 verdanturfTentPrize;
/*0xE6C*/ u16 fallarborTentPrize;
/*0xE6E*/ u16 slateportTentPrize;
/*0xE70*/ struct RentalMon rentalMons[FRONTIER_PARTY_SIZE * 2];
/*0xEB8*/ u16 battlePoints;
/*0xEBA*/ u16 field_EBA;
/*0xEBA*/ u16 cardBattlePoints;
/*0xEBC*/ u32 battlesCount;
/*0xEC0*/ u16 field_EC0[16];
/*0xEE0*/ u8 field_EE0;
/*0xEE1*/ u8 opponentName[2][PLAYER_NAME_LENGTH + 1];
/*0xEF1*/ u8 field_EF1[2][4];
/*0xEF9*/ u8 field_EF9_0:7;
/*0xEF9*/ u8 field_EF9_1:1;
/*0xEFA*/ u8 field_EFA;
/*0xEFB*/ u8 field_EFB;
/*0xEFC*/ struct FrontierMonData field_EFC[3];
/*0xEC0*/ u16 domeWinningMoves[DOME_TOURNAMENT_TRAINERS_COUNT];
/*0xEE0*/ u8 trainerFlags;
/*0xEE1*/ u8 opponentNames[2][PLAYER_NAME_LENGTH + 1];
/*0xEF1*/ u8 opponentTrainerIds[2][TRAINER_ID_LENGTH];
/*0xEF9*/ u8 unk_EF9:7; // Never read
/*0xEF9*/ u8 savedGame:1;
/*0xEFA*/ u8 unused_EFA;
/*0xEFB*/ u8 unused_EFB;
/*0xEFC*/ struct DomeMonData domePlayerPartyData[FRONTIER_PARTY_SIZE];
};
struct Sav2_B8
struct ApprenticeQuestion
{
u8 unk0_0:2;
u8 unk0_1:2;
u8 unk0_2:2;
u8 unk0_3:2;
u16 unk2;
u8 questionId:2;
u8 monId:2;
u8 moveSlot:2;
u8 suggestedChange:2; // TRUE if told to use held item or second move, FALSE if told to use no item or first move
u16 data; // used both as an itemId and a moveId
};
struct PlayersApprentice
{
/*0xB0*/ u8 id;
/*0xB1*/ u8 activeLvlMode:2; // +1, 0 means not active
/*0xB1*/ u8 field_B1_1:4;
/*0xB1*/ u8 field_B1_2:2;
/*0xB2*/ u8 field_B2_0:3;
/*0xB2*/ u8 field_B2_1:2;
/*0xB3*/ u8 field_B3;
/*0xB4*/ u8 monIds[3];
/*0xB8*/ struct Sav2_B8 field_B8[9];
/*0xB1*/ u8 lvlMode:2; //0: Unassigned, 1: Lv 50, 2: Open Lv
/*0xB1*/ u8 questionsAnswered:4;
/*0xB1*/ u8 leadMonId:2;
/*0xB2*/ u8 party:3;
/*0xB2*/ u8 saveId:2;
/*0xB3*/ u8 unused;
/*0xB4*/ u8 speciesIds[MULTI_PARTY_SIZE];
/*0xB8*/ struct ApprenticeQuestion questions[APPRENTICE_MAX_QUESTIONS];
};
struct RankingHall1P
@@ -467,7 +468,7 @@ struct SaveBlock2
/*0xA8*/ u32 field_A8; // Written to, but never read.
/*0xAC*/ u32 encryptionKey;
/*0xB0*/ struct PlayersApprentice playerApprentice;
/*0xDC*/ struct Apprentice apprentices[4]; // From record mixing.
/*0xDC*/ struct Apprentice apprentices[APPRENTICE_COUNT];
/*0x1EC*/ struct BerryCrush berryCrush;
/*0x1FC*/ struct PokemonJumpResults pokeJump;
/*0x20C*/ struct BerryPickingResults berryPick;
@@ -502,8 +503,8 @@ struct SecretBase
/*0x1AAA*/ u16 numSecretBasesReceived;
/*0x1AAC*/ u8 numTimesEntered;
/*0x1AAD*/ u8 sbr_field_11;
/*0x1AAE*/ u8 decorations[16];
/*0x1ABE*/ u8 decorationPositions[16];
/*0x1AAE*/ u8 decorations[DECOR_MAX_SECRET_BASE];
/*0x1ABE*/ u8 decorationPositions[DECOR_MAX_SECRET_BASE];
/*0x1AD0*/ struct SecretBaseParty party;
};
@@ -596,9 +597,9 @@ struct MauvilleManCommon
struct MauvilleManBard
{
/*0x00*/ u8 id;
/*0x02*/ u16 songLyrics[6];
/*0x0E*/ u16 temporaryLyrics[6];
/*0x1A*/ u8 playerName[8];
/*0x02*/ u16 songLyrics[BARD_SONG_LENGTH];
/*0x0E*/ u16 temporaryLyrics[BARD_SONG_LENGTH];
/*0x1A*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
/*0x22*/ u8 filler_2DB6[0x3];
/*0x25*/ u8 playerTrainerId[TRAINER_ID_LENGTH];
/*0x29*/ bool8 hasChangedSong;
@@ -610,10 +611,10 @@ struct MauvilleManStoryteller
u8 id;
bool8 alreadyRecorded;
u8 filler2[2];
u8 gameStatIDs[4];
u8 trainerNames[4][7];
u8 statValues[4][4];
u8 language[4];
u8 gameStatIDs[NUM_STORYTELLER_TALES];
u8 trainerNames[NUM_STORYTELLER_TALES][PLAYER_NAME_LENGTH];
u8 statValues[NUM_STORYTELLER_TALES][4];
u8 language[NUM_STORYTELLER_TALES];
};
struct MauvilleManGiddy
@@ -636,10 +637,10 @@ struct MauvilleManHipster
struct MauvilleOldManTrader
{
u8 id;
u8 decorIds[4];
u8 playerNames[4][11];
u8 decorIds[NUM_TRADER_ITEMS];
u8 playerNames[NUM_TRADER_ITEMS][11];
u8 alreadyTraded;
u8 language[4];
u8 language[NUM_TRADER_ITEMS];
};
typedef union OldMan
@@ -808,15 +809,15 @@ struct SaveTrainerHill
{
/*0x3D64*/ u32 timer;
/*0x3D68*/ u32 bestTime;
/*0x3D6C*/ u8 field_3D6C;
/*0x3D6C*/ u8 unk_3D6C;
/*0x3D6D*/ u8 unused;
/*0x3D6E*/ u16 field_3D6E_0a:1; // 1
/*0x3D6E*/ u16 field_3D6E_0b:1; // 2
/*0x3D6E*/ u16 field_3D6E_0c:1; // 4
/*0x3D6E*/ u16 hasLost:1; // 8
/*0x3D6E*/ u16 maybeECardScanDuringChallenge:1; // x10
/*0x3D6E*/ u16 field_3D6E_0f:1; // x20
/*0x3D6E*/ u16 tag:2; // x40, x80 = xC0
/*0x3D6E*/ u16 receivedPrize:1;
/*0x3D6E*/ u16 checkedFinalTime:1;
/*0x3D6E*/ u16 spokeToOwner:1;
/*0x3D6E*/ u16 hasLost:1;
/*0x3D6E*/ u16 maybeECardScanDuringChallenge:1;
/*0x3D6E*/ u16 field_3D6E_0f:1;
/*0x3D6E*/ u16 tag:2;
};
struct MysteryEventStruct
@@ -919,7 +920,7 @@ struct SaveBlock1
/*0x9BC*/ u16 berryBlenderRecords[3];
/*0x9C2*/ u8 field_9C2[6];
/*0x9C8*/ u16 trainerRematchStepCounter;
/*0x9CA*/ u8 trainerRematches[100];
/*0x9CA*/ u8 trainerRematches[MAX_REMATCH_ENTRIES];
/*0xA30*/ struct EventObject eventObjects[EVENT_OBJECTS_COUNT];
/*0xC70*/ struct EventObjectTemplate eventObjectTemplates[EVENT_OBJECT_TEMPLATES_COUNT];
/*0x1270*/ u8 flags[FLAGS_COUNT];
@@ -927,16 +928,16 @@ struct SaveBlock1
/*0x159C*/ u32 gameStats[NUM_GAME_STATS];
/*0x169C*/ struct BerryTree berryTrees[BERRY_TREES_COUNT];
/*0x1A9C*/ struct SecretBase secretBases[SECRET_BASES_COUNT];
/*0x271C*/ u8 playerRoomDecor[12];
/*0x2728*/ u8 playerRoomDecorPos[12];
/*0x271C*/ u8 playerRoomDecor[DECOR_MAX_PLAYERS_HOUSE];
/*0x2728*/ u8 playerRoomDecorPos[DECOR_MAX_PLAYERS_HOUSE];
/*0x2734*/ u8 decorDesk[10];
/*0x????*/ u8 decorChair[10];
/*0x????*/ u8 decorPlant[10];
/*0x????*/ u8 decorOrnament[30];
/*0x????*/ u8 decorMat[30];
/*0x????*/ u8 decorPoster[10];
/*0x????*/ u8 decorDoll[40];
/*0x????*/ u8 decorCushion[10];
/*0x273E*/ u8 decorChair[10];
/*0x2748*/ u8 decorPlant[10];
/*0x2752*/ u8 decorOrnament[30];
/*0x2770*/ u8 decorMat[30];
/*0x278E*/ u8 decorPoster[10];
/*0x2798*/ u8 decorDoll[40];
/*0x27C0*/ u8 decorCushion[10];
/*0x27CA*/ u8 padding_27CA[2];
/*0x27CC*/ TVShow tvShows[TV_SHOWS_COUNT];
/*0x2B50*/ PokeNews pokeNews[POKE_NEWS_COUNT];
@@ -946,15 +947,15 @@ struct SaveBlock1
/*0x2B94*/ u8 outbreakPokemonLevel;
/*0x2B95*/ u8 outbreakUnk1;
/*0x2B96*/ u16 outbreakUnk2;
/*0x2B98*/ u16 outbreakPokemonMoves[4];
/*0x2B98*/ u16 outbreakPokemonMoves[MAX_MON_MOVES];
/*0x2BA0*/ u8 outbreakUnk4;
/*0x2BA1*/ u8 outbreakPokemonProbability;
/*0x2BA2*/ u16 outbreakDaysLeft;
/*0x2BA4*/ struct GabbyAndTyData gabbyAndTyData;
/*0x2BB0*/ u16 easyChatProfile[6];
/*0x2BBC*/ u16 easyChatBattleStart[6];
/*0x2BC8*/ u16 easyChatBattleWon[6];
/*0x2BD4*/ u16 easyChatBattleLost[6];
/*0x2BB0*/ u16 easyChatProfile[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x2BBC*/ u16 easyChatBattleStart[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x2BC8*/ u16 easyChatBattleWon[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x2BD4*/ u16 easyChatBattleLost[EASY_CHAT_BATTLE_WORDS_COUNT];
/*0x2BE0*/ struct MailStruct mail[MAIL_COUNT];
/*0x2E20*/ u8 additionalPhrases[8]; // bitfield for 33 additional phrases in easy chat system
/*0x2E28*/ OldMan oldMan;

View File

@@ -1,46 +1,6 @@
#ifndef GUARD_GLOBAL_TV_H
#define GUARD_GLOBAL_TV_H
enum
{
TVSHOW_OFF_AIR,
TVSHOW_FAN_CLUB_LETTER = 1,
TVSHOW_RECENT_HAPPENINGS,
TVSHOW_PKMN_FAN_CLUB_OPINIONS,
TVSHOW_UNKN_SHOWTYPE_04,
TVSHOW_NAME_RATER_SHOW,
TVSHOW_BRAVO_TRAINER_POKEMON_PROFILE,
TVSHOW_BRAVO_TRAINER_BATTLE_TOWER_PROFILE,
TVSHOW_CONTEST_LIVE_UPDATES,
TVSHOW_3_CHEERS_FOR_POKEBLOCKS,
TVSHOW_BATTLE_UPDATE,
TVSHOW_FAN_CLUB_SPECIAL,
TVSHOW_CONTEST_LIVE_UPDATES_2,
TVSHOW_POKEMON_TODAY_CAUGHT = 21,
TVSHOW_SMART_SHOPPER,
TVSHOW_POKEMON_TODAY_FAILED,
TVSHOW_FISHING_ADVICE,
TVSHOW_WORLD_OF_MASTERS,
TVSHOW_TODAYS_RIVAL_TRAINER,
TVSHOW_TREND_WATCHER,
TVSHOW_TREASURE_INVESTIGATORS,
TVSHOW_FIND_THAT_GAMER,
TVSHOW_BREAKING_NEWS,
TVSHOW_SECRET_BASE_VISIT,
TVSHOW_LOTTO_WINNER,
TVSHOW_BATTLE_SEMINAR,
TVSHOW_TRAINER_FAN_CLUB,
TVSHOW_CUTIES,
TVSHOW_FRONTIER,
TVSHOW_NUMBER_ONE,
TVSHOW_SECRET_BASE_SECRETS,
TVSHOW_SAFARI_FAN_CLUB,
TVSHOW_MASS_OUTBREAK = 41,
};
typedef union // size = 0x24
{
// Common
@@ -482,7 +442,7 @@ typedef union // size = 0x24
/*0x01*/ bool8 active;
/*0x02*/ u8 var02;
/*0x03*/ u8 var03;
/*0x04*/ u16 moves[4];
/*0x04*/ u16 moves[MAX_MON_MOVES];
/*0x0C*/ u16 species;
/*0x0E*/ u16 var0E;
/*0x10*/ u8 locationMapNum;
@@ -496,14 +456,6 @@ typedef union // size = 0x24
} massOutbreak;
} TVShow;
enum {
POKENEWS_NONE,
POKENEWS_SLATEPORT,
POKENEWS_GAME_CORNER,
POKENEWS_LILYCOVE,
POKENEWS_BLENDMASTER
};
typedef struct // 2b50
{
u8 kind;

View File

@@ -1,19 +0,0 @@
#ifndef GUARD_GPU_REGS_H
#define GUARD_GPU_REGS_H
// Exported type declarations
// Exported RAM declarations
// Exported ROM declarations
void InitGpuRegManager(void);
void CopyBufferedValuesToGpuRegs(void);
void SetGpuReg(u8 regOffset, u16 value);
void SetGpuReg_ForcedBlank(u8 regOffset, u16 value);
u16 GetGpuReg(u8 regOffset);
void SetGpuRegBits(u8 regOffset, u16 mask);
void ClearGpuRegBits(u8 regOffset, u16 mask);
void EnableInterrupts(u16 mask);
void DisableInterrupts(u16 mask);
#endif //GUARD_GPU_REGS_H

View File

@@ -3093,90 +3093,93 @@ extern const u32 gPokeblock_Gfx[];
extern const u32 gItemIcon_QuestionMark[];
extern const u32 gItemIconPalette_QuestionMark[];
extern const u32 gUnknown_08DB7AA0[];
extern const u32 gUnknown_08DB7B34[];
extern const u32 gUnknown_08DB7B5C[];
extern const u32 gUnknown_08DB7BEC[];
extern const u32 gUnknown_08DB7C08[];
extern const u32 gUnknown_08DB7CE8[];
extern const u32 gUnknown_08DB7D08[];
extern const u32 gUnknown_08DB7DCC[];
extern const u32 gUnknown_08DB7DF4[];
extern const u32 gUnknown_08DB7EA0[];
extern const u32 gUnknown_08DB7EC4[];
extern const u32 gUnknown_08DB7F60[];
extern const u32 gUnknown_08DB7F7C[];
extern const u32 gUnknown_08DB8070[];
extern const u32 gUnknown_08DB808C[];
extern const u32 gUnknown_08DB8138[];
extern const u32 gUnknown_08DB8160[];
extern const u32 gUnknown_08DB8218[];
extern const u32 gUnknown_08DB823C[];
extern const u32 gUnknown_08DB8300[];
extern const u32 gUnknown_08DB8328[];
extern const u32 gUnknown_08DB8430[];
extern const u32 gUnknown_08DB8458[];
extern const u32 gUnknown_08DB8528[];
extern const u32 gUnknown_08DB854C[];
extern const u32 gUnknown_08DB862C[];
extern const u32 gUnknown_08DB8654[];
extern const u32 gUnknown_08DB86C4[];
extern const u32 gUnknown_08DB86E0[];
extern const u32 gUnknown_08DB8750[];
extern const u32 gUnknown_08DB876C[];
extern const u32 gUnknown_08DB87DC[];
extern const u32 gUnknown_08DB87F8[];
extern const u32 gUnknown_08DB88D8[];
extern const u32 gUnknown_08DB8900[];
extern const u32 gUnknown_08DB89E0[];
extern const u32 gUnknown_08DB8A08[];
extern const u32 gUnknown_08DB8A68[];
extern const u32 gUnknown_08DB8A84[];
extern const u32 gUnknown_08DB8B40[];
extern const u32 gUnknown_08DB8B68[];
extern const u32 gUnknown_08DB8C40[];
extern const u32 gUnknown_08DB8C5C[];
extern const u32 gUnknown_08DB8CF4[];
extern const u32 gUnknown_08DB8D18[];
extern const u32 gUnknown_08DB8DB0[];
extern const u32 gUnknown_08DB8DD4[];
extern const u32 gUnknown_08DB8E80[];
extern const u32 gUnknown_08DB8EA0[];
extern const u32 gUnknown_08DB8F58[];
extern const u32 gUnknown_08DB8F7C[];
extern const u32 gUnknown_08DB9038[];
extern const u32 gUnknown_08DB9058[];
extern const u32 gUnknown_08DB9130[];
extern const u32 gUnknown_08DB9154[];
extern const u32 gUnknown_08DB9218[];
extern const u32 gUnknown_08DB9234[];
extern const u32 gUnknown_08DB92FC[];
extern const u32 gUnknown_08DB931C[];
extern const u32 gUnknown_08DB93E8[];
extern const u32 gUnknown_08DB940C[];
extern const u32 gUnknown_08DB94CC[];
extern const u32 gUnknown_08DB94E8[];
extern const u32 gUnknown_08DB95AC[];
extern const u32 gUnknown_08DB95D0[];
extern const u32 gUnknown_08DB96C4[];
extern const u32 gUnknown_08DB96EC[];
extern const u32 gUnknown_08DB97F4[];
extern const u32 gUnknown_08DB981C[];
extern const u32 gUnknown_08DB9908[];
extern const u32 gUnknown_08DB9930[];
extern const u32 gUnknown_08DB9A54[];
extern const u32 gUnknown_08DB9A7C[];
extern const u32 gUnknown_08DB9B7C[];
extern const u32 gUnknown_08DB9BA4[];
extern const u32 gUnknown_08DB9CB0[];
extern const u32 gUnknown_08DB9CD8[];
extern const u32 gUnknown_08DB9DAC[];
extern const u32 gUnknown_08DB9DD4[];
extern const u32 gUnknown_08DB9EE4[];
extern const u32 gUnknown_08DB9F08[];
extern const u32 gUnknown_08DB9FFC[];
extern const u32 gUnknown_08DBA020[];
extern const u32 gUnknown_08DBA12C[];
// Decorations
extern const u32 gDecorIcon_HeavyDesk[];
extern const u32 gDecorIconPalette_HeavyDesk[];
extern const u32 gDecorIcon_RaggedDesk[];
extern const u32 gDecorIconPalette_RaggedDesk[];
extern const u32 gDecorIcon_ComfortDesk[];
extern const u32 gDecorIconPalette_ComfortDesk[];
extern const u32 gDecorIcon_PrettyDesk[];
extern const u32 gDecorIconPalette_PrettyDesk[];
extern const u32 gDecorIcon_BrickDesk[];
extern const u32 gDecorIconPalette_BrickDesk[];
extern const u32 gDecorIcon_CampDesk[];
extern const u32 gDecorIconPalette_CampDesk[];
extern const u32 gDecorIcon_HardDesk[];
extern const u32 gDecorIconPalette_HardDesk[];
extern const u32 gDecorIcon_RedPlant[];
extern const u32 gDecorIconPalette_RedPlant[];
extern const u32 gDecorIcon_TropicalPlant[];
extern const u32 gDecorIconPalette_TropicalPlant[];
extern const u32 gDecorIcon_PrettyFlowers[];
extern const u32 gDecorIconPalette_PrettyFlowers[];
extern const u32 gDecorIcon_ColorfulPlant[];
extern const u32 gDecorIconPalette_ColorfulPlant[];
extern const u32 gDecorIcon_BigPlant[];
extern const u32 gDecorIconPalette_BigPlant[];
extern const u32 gDecorIcon_GorgeousPlant[];
extern const u32 gDecorIconPalette_GorgeousPlant[];
extern const u32 gDecorIcon_RedBrick[];
extern const u32 gDecorIconPalette_RedBrick[];
extern const u32 gDecorIcon_YellowBrick[];
extern const u32 gDecorIconPalette_YellowBrick[];
extern const u32 gDecorIcon_BlueBrick[];
extern const u32 gDecorIconPalette_BlueBrick[];
extern const u32 gDecorIcon_RedTent[];
extern const u32 gDecorIconPalette_RedTent[];
extern const u32 gDecorIcon_BlueTent[];
extern const u32 gDecorIconPalette_BlueTent[];
extern const u32 gDecorIcon_SolidBoard[];
extern const u32 gDecorIconPalette_SolidBoard[];
extern const u32 gDecorIcon_Slide[];
extern const u32 gDecorIconPalette_Slide[];
extern const u32 gDecorIcon_Tire[];
extern const u32 gDecorIconPalette_Tire[];
extern const u32 gDecorIcon_Stand[];
extern const u32 gDecorIconPalette_Stand[];
extern const u32 gDecorIcon_BreakableDoor[];
extern const u32 gDecorIconPalette_BreakableDoor[];
extern const u32 gDecorIcon_SandOrnament[];
extern const u32 gDecorIconPalette_SandOrnament[];
extern const u32 gDecorIcon_GlassOrnament[];
extern const u32 gDecorIconPalette_GlassOrnament[];
extern const u32 gDecorIcon_SurfMat[];
extern const u32 gDecorIconPalette_SurfMat[];
extern const u32 gDecorIcon_ThunderMat[];
extern const u32 gDecorIconPalette_ThunderMat[];
extern const u32 gDecorIcon_FireBlastMat[];
extern const u32 gDecorIconPalette_FireBlastMat[];
extern const u32 gDecorIcon_PowderSnowMat[];
extern const u32 gDecorIconPalette_PowderSnowMat[];
extern const u32 gDecorIcon_AttractMat[];
extern const u32 gDecorIconPalette_AttractMat[];
extern const u32 gDecorIcon_FissureMat[];
extern const u32 gDecorIconPalette_FissureMat[];
extern const u32 gDecorIcon_SpikesMat[];
extern const u32 gDecorIconPalette_SpikesMat[];
extern const u32 gDecorIcon_SnorlaxDoll[];
extern const u32 gDecorIconPalette_SnorlaxDoll[];
extern const u32 gDecorIcon_RhydonDoll[];
extern const u32 gDecorIconPalette_RhydonDoll[];
extern const u32 gDecorIcon_LaprasDoll[];
extern const u32 gDecorIconPalette_LaprasDoll[];
extern const u32 gDecorIcon_VenusaurDoll[];
extern const u32 gDecorIconPalette_VenusaurDoll[];
extern const u32 gDecorIcon_CharizardDoll[];
extern const u32 gDecorIconPalette_CharizardDoll[];
extern const u32 gDecorIcon_BlastoiseDoll[];
extern const u32 gDecorIconPalette_BlastoiseDoll[];
extern const u32 gDecorIcon_WailmerDoll[];
extern const u32 gDecorIconPalette_WailmerDoll[];
extern const u32 gDecorIcon_RegirockDoll[];
extern const u32 gDecorIconPalette_RegirockDoll[];
extern const u32 gDecorIcon_RegiceDoll[];
extern const u32 gDecorIconPalette_RegiceDoll[];
extern const u32 gDecorIcon_RegisteelDoll[];
extern const u32 gDecorIconPalette_RegisteelDoll[];
extern const u32 gWallclock_Gfx[];
extern const u16 gWallclockMale_Pal[];
extern const u16 gWallclockFemale_Pal[];
@@ -3205,7 +3208,7 @@ extern const u32 gBattleTextboxTiles[];
extern const u32 gBattleTextboxTilemap[];
extern const u32 gBattleTextboxPalette[];
extern const u32 gUnknown_08D778F0[];
extern const u32 gUnknown_08D77B0C[];
extern const u32 gVsLettersGfx[];
extern const u32 gUnknown_08D77AE4[];
extern const u32 gUnknown_08D779D8[];
extern const u32 gUnknown_08D857A8[];
@@ -3913,9 +3916,9 @@ extern const u16 gIntro2FlygonPal[];
extern const u32 gIntro2FlygonGfx[];
// party menu graphics
extern const u32 gPartyMenuMisc_Gfx[];
extern const u32 gPartyMenuMisc_Tilemap[];
extern const u32 gPartyMenuMisc_Pal[];
extern const u32 gPartyMenuBg_Gfx[];
extern const u32 gPartyMenuBg_Tilemap[];
extern const u32 gPartyMenuBg_Pal[];
// berry pics
extern const u32 gBerryPic_Cheri[];
@@ -4114,19 +4117,19 @@ extern const u16 gTitleScreenBgPalettes[];
extern const u16 gTitleScreenPressStartPal[];
extern const u16 gTitleScreenEmeraldVersionPal[];
extern const u32 gUnknown_08D83D50[];
extern const u32 gUnknown_08D84970[];
extern const u32 gUnknown_08D84F00[];
extern const u32 gUnknown_08D85444[];
extern const u32 gUnknown_08D85358[];
extern const u32 gUnknown_08D85600[];
extern const u32 gUnknown_08D854C8[];
extern const u32 gUnknown_08D82F10[];
extern const u32 gUnknown_08D834FC[];
extern const u32 gUnknown_08D83B2C[];
extern const u32 gUnknown_08D83C3C[];
extern const u32 gUnknown_08D83900[];
extern const u32 gBattleFrontierGfx_DomeOptions[];
// Battle Dome
extern const u32 gDomeTourneyInfoCard_Gfx[];
extern const u32 gDomeTourneyInfoCard_Tilemap[];
extern const u32 gDomeTourneyInfoCardBg_Tilemap[];
extern const u32 gDomeTourneyTree_Pal[];
extern const u32 gDomeTourneyTreeButtons_Pal[];
extern const u32 gDomeTourneyMatchCardBg_Pal[];
extern const u32 gDomeTourneyBg_Gfx[];
extern const u32 gDomeTourneyLine_Gfx[];
extern const u32 gDomeTourneyLineDown_Tilemap[];
extern const u32 gDomeTourneyLineUp_Tilemap[];
extern const u32 gDomeTourneyLineMask_Tilemap[];
extern const u32 gDomeTourneyTreeButtons_Gfx[];
extern const u16 gTilesetAnims_BattleDomePals0_0[];
extern const u16 gTilesetAnims_BattleDomePals0_1[];
extern const u16 gTilesetAnims_BattleDomePals0_2[];
@@ -4134,6 +4137,9 @@ extern const u16 gTilesetAnims_BattleDomePals0_3[];
extern const u32 gBattleArenaJudgementSymbolsGfx[];
extern const u32 gBattleArenaJudgementSymbolsPalette[];
extern const u32 gBattleWindowTextPalette[];
extern const u32 gContest2Pal[];
extern const u32 gBattleAnimSpriteGfx_Bone[];
@@ -4360,7 +4366,7 @@ extern const u32 gBattleAnimSpriteGfx_Pokeball[];
extern const u32 gBattleAnimSpriteGfx_Spotlight[];
extern const u32 gBattleAnimSpriteGfx_LetterZ[];
extern const u32 gBattleAnimSpriteGfx_RapidSpin[];
extern const u32 gBattleAnimSpriteGfx_TriForceTriangle[];
extern const u32 gBattleAnimSpriteGfx_TriAttackTriangle[];
extern const u32 gBattleAnimSpriteGfx_WispOrb[];
extern const u32 gBattleAnimSpriteGfx_WispFire[];
extern const u32 gBattleAnimSpriteGfx_GoldStars[];
@@ -4643,7 +4649,7 @@ extern const u32 gBattleAnimSpritePal_JaggedMusicNote[];
extern const u32 gBattleAnimSpritePal_Pokeball[];
extern const u32 gBattleAnimSpritePal_LetterZ[];
extern const u32 gBattleAnimSpritePal_RapidSpin[];
extern const u32 gBattleAnimSpritePal_TriForceTriangle[];
extern const u32 gBattleAnimSpritePal_TriAttackTriangle[];
extern const u32 gBattleAnimSpritePal_WispOrb[];
extern const u32 gBattleAnimSpritePal_GoldStars[];
extern const u32 gBattleAnimSpritePal_EclipsingOrb[];
@@ -4845,13 +4851,13 @@ extern const u32 gCableCarCord_Gfx[];
extern const u16 gCableCar_Pal[];
// Trade
extern const u16 gUnknown_08DDB3E4[];
extern const u8 gUnknown_08DDB464[];
extern const u16 gTradeMenu_Pal[];
extern const u8 gTradeMenu_Gfx[];
extern const u16 gUnknown_08DDCF04[];
extern const u16 gTradeGba2_Pal[];
extern const u8 gTradeGba_Gfx[];
extern const u16 gUnknown_08DDD704[];
extern const u8 gUnknown_08DDC6E4[];
extern const u16 gTradeMenuMonBox_Tilemap[];
extern const u8 gTradeButtons_Gfx[];
extern const u16 gUnknown_08DDB444[];
// Party menu

View File

@@ -66,7 +66,7 @@ enum {
REMATCH_TRENT,
REMATCH_SAWYER,
REMATCH_KIRA_AND_DAN,
REMATCH_WALLY_3,
REMATCH_WALLY_3, // Entries above WALLY are considered normal trainers, from Wally below are special trainers
REMATCH_ROXANNE,
REMATCH_BRAWLY,
REMATCH_WATTSON,
@@ -75,19 +75,17 @@ enum {
REMATCH_WINONA,
REMATCH_TATE_AND_LIZA,
REMATCH_JUAN,
// Entries below SIDNEY are considered part of REMATCH_ELITE_FOUR_ENTRIES.
REMATCH_SIDNEY,
REMATCH_SIDNEY, // Entries below SIDNEY are considered part of REMATCH_ELITE_FOUR_ENTRIES.
REMATCH_PHOEBE,
REMATCH_GLACIA,
REMATCH_DRAKE,
REMATCH_WALLACE,
// The total number of rematch entries. This must be the last element
// in the enum.
REMATCH_TABLE_ENTRIES
REMATCH_TABLE_ENTRIES // The total number of rematch entries. Must be last in enum
};
#define REMATCH_SPECIAL_TRAINER_START REMATCH_WALLY_3
#define REMATCH_ELITE_FOUR_ENTRIES REMATCH_SIDNEY
void UpdateGymLeaderRematch(void);
#endif //GUARD_TRAINER_REMATCH_H

Some files were not shown because too many files have changed in this diff Show More