Merge remote-tracking branch 'upstream/master' into use_pokeblock

# Conflicts:
#	src/use_pokeblock.c
This commit is contained in:
Marcus Huderle
2019-03-23 09:39:46 -05:00
5866 changed files with 120190 additions and 82893 deletions

View File

@@ -8,5 +8,7 @@
// Exported ROM declarations
u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void));
u16 IdentifyFlash(void);
u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src);
#endif //GUARD_AGB_FLASH_H

View File

@@ -39,6 +39,7 @@ struct BardSong
// Exported ROM declarations
extern const u16 gUnknown_085F5490;
extern const u16 gUnknown_085FA1D4;
const struct BardSound *GetWordSounds(u16 word);
void GetWordPhonemes(struct BardSong *song, u16 word);

View File

@@ -28,10 +28,11 @@
#define B_ACTION_SAFARI_GO_NEAR 7
#define B_ACTION_SAFARI_RUN 8
#define B_ACTION_WALLY_THROW 9
// The exact purposes of these are unclear
#define B_ACTION_EXEC_SCRIPT 10 // when executing an action
#define B_ACTION_EXEC_SCRIPT 10
#define B_ACTION_TRY_FINISH 11
#define B_ACTION_FINISHED 12
#define B_ACTION_CANCEL_PARTNER 12 // when choosing an action
#define B_ACTION_FINISHED 12 // when executing an action
#define B_ACTION_NOTHING_FAINTED 13 // when choosing an action
#define B_ACTION_NONE 0xFF
@@ -174,7 +175,7 @@ struct ProtectStruct
u32 targetNotAffected:1;
u32 chargingTurn:1;
u32 fleeFlag:2; // For RunAway and Smoke Ball.
u32 usedImprisionedMove:1;
u32 usedImprisonedMove:1;
u32 loveImmobility:1;
u32 usedDisabledMove:1;
u32 usedTauntedMove:1;

View File

@@ -16,14 +16,14 @@ enum
BG_ANIM_SCREEN_BASE_BLOCK,
};
struct UnknownAnimStruct2
struct BattleAnimBgData
{
u8 *bgTiles;
u16 *unk4;
u8 unk8;
u16 *bgTilemap;
u8 paletteId;
u8 bgId;
u16 tilesOffset;
u16 unkC;
u16 unused;
};
struct BattleAnimBackground
@@ -74,10 +74,14 @@ void HandleIntroSlide(u8 terrainId);
int GetAnimBgAttribute(u8 bgId, u8 attributeId);
// battle_anim_80A5C6C.s
void sub_80A6450(struct Sprite *sprite);
void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite);
void sub_80A8AEC(struct Sprite *sprite);
void sub_80A8A6C(struct Sprite *sprite);
void sub_80A8E30(struct Sprite *sprite);
void sub_80A8B64(struct Sprite *sprite);
void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y);
void DestroySpriteAndMatrix(struct Sprite *sprite);
void AnimTranslateLinearSimple(struct Sprite *sprite);
void TranslateSpriteLinearFixedPoint(struct Sprite *sprite);
void InitSpritePosToAnimAttacker(struct Sprite *sprite, bool8 respectMonPicOffsets);
void InitSpritePosToAnimTarget(struct Sprite *sprite, bool8 respectMonPicOffsets);
void StartAnimLinearTranslation(struct Sprite *sprite);
@@ -90,7 +94,7 @@ void sub_80A6FD4(struct Sprite *sprite);
u16 ArcTan2Neg(s16 a, s16 b);
void TrySetSpriteRotScale(struct Sprite *sprite, bool8 a2, s16 xScale, s16 yScale, u16 rotation);
void RunStoredCallbackWhenAffineAnimEnds(struct Sprite *sprite);
void sub_80A66DC(struct Sprite *sprite);
void TranslateSpriteLinearAndFlicker(struct Sprite *sprite);
void SetSpriteCoordsToAnimAttackerCoords(struct Sprite *sprite);
void RunStoredCallbackWhenAnimEnds(struct Sprite *sprite);
void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 a2);
@@ -104,12 +108,12 @@ u8 GetBattlerSpriteBGPriority(u8 battlerId);
void *LoadPointerFromVars(s16 bottom, s16 top);
void StorePointerInVars(s16 *bottom, s16 *top, const void *ptr);
void sub_80A8278(void);
void sub_80A6B30(struct UnknownAnimStruct2*);
void sub_80A6B90(struct UnknownAnimStruct2*, u32 arg1);
void sub_80A6B30(struct BattleAnimBgData*);
void sub_80A6B90(struct BattleAnimBgData*, u32 arg1);
u8 GetBattlerSpriteSubpriority(u8 battlerId);
bool8 TranslateAnimArc(struct Sprite *sprite);
bool8 TranslateAnimHorizontalArc(struct Sprite *sprite);
void sub_80A6630(struct Sprite *sprite);
void sub_80A6680(struct Sprite *sprite);
void TranslateMonSpriteLinearFixedPoint(struct Sprite *sprite);
void ResetSpriteRotScale(u8 spriteId);
void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation);
void InitSpriteDataForLinearTranslation(struct Sprite *sprite);
@@ -121,8 +125,8 @@ u8 sub_80A77AC(u8 a1);
s16 CloneBattlerSpriteWithBlend(u8);
void obj_delete_but_dont_free_vram(struct Sprite*);
u8 sub_80A89C8(int, u8, int);
void sub_80A6D60(struct UnknownAnimStruct2*, const void*, u32);
void sub_80A6CC0(u32, const u32*, u32);
void sub_80A6D60(struct BattleAnimBgData*, const void*, u32);
void AnimLoadCompressedBgGfx(u32, const u32*, u32);
void sub_80A6DAC(bool8);
void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *);
void sub_80A653C(struct Sprite *);
@@ -130,13 +134,13 @@ void SetBattlerSpriteYOffsetFromYScale(u8 spriteId);
void sub_80A805C(struct Task *task, u8 a2, s16 a3, s16 a4, s16 a5, s16 a6, u16 a7);
u8 sub_80A80C8(struct Task *task);
void sub_80A8EE4(struct Sprite *);
void sub_80A67F4(struct Sprite *);
void sub_80A6D48(u32 bgId, const void *src);
void DestroyAnimSpriteAndDisableBlend(struct Sprite *);
void AnimLoadCompressedBgTilemap(u32 bgId, const void *src);
void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite);
bool8 AnimFastTranslateLinear(struct Sprite *sprite);
void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite);
void TranslateMonBGUntil(struct Sprite *sprite);
void TranslateSpriteOverDuration(struct Sprite *sprite);
void TranslateMonSpriteLinear(struct Sprite *sprite);
void TranslateSpriteLinear(struct Sprite *sprite);
void sub_80A77C8(struct Sprite *sprite);
void sub_80A7000(struct Sprite *sprite);
void TranslateSpriteInCircleOverDuration(struct Sprite *sprite);
@@ -144,7 +148,7 @@ 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 sub_80A6BFC(struct UnknownAnimStruct2 *unk, u8 unused);
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);
@@ -181,7 +185,7 @@ bool8 IsDoubleBattle(void);
u8 sub_80A6D94(void);
u8 GetBattlerSpriteBGPriorityRank(u8 battlerId);
void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*));
void oamt_add_pos2_onto_pos1(struct Sprite *sprite);
void SetSpritePrimaryCoordsFromSecondaryCoords(struct Sprite *sprite);
u8 GetBattlerSpriteDefault_Y(u8 battlerId);
u8 GetSubstituteSpriteDefault_Y(u8 battlerId);
@@ -200,6 +204,9 @@ void sub_80A718C(struct Sprite *sprite);
#define STAT_ANIM_MULTIPLE_MINUS2 58
void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId);
// battle_anim_8170478.c
void sub_8172EF0(u8 battler, struct Pokemon *mon);
// ground.c
void sub_81152DC(u8 taskId);
@@ -212,6 +219,19 @@ u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 selectedPalettes,
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 AnimMoveTwisterParticle(struct Sprite* sprite);
// water.c
void sub_8108C94(struct Sprite *sprite);
// flying.c
void sub_810E2C8(struct Sprite *sprite);
// smokescreen.c
u8 sub_807521C(s16 x, s16 y, u8 a3);
u32 UnpackSelectedBattleAnimPalettes(s16);
u8 GetBattlerSpriteFinal_Y(u8, u16, u8);

View File

@@ -8,7 +8,7 @@ void BattleArena_AddMindPoints(u8 battler);
void BattleArena_AddSkillPoints(u8 battler);
void BattleArena_DeductMindPoints(u8 battler, u16 stringId);
void sub_81A586C(u8 battler);
void sub_81A5BF8(void);
void sub_81A5D44(void);
void DrawArenaRefereeTextBox(void);
void RemoveArenaRefereeTextBox(void);
#endif //GUARD_BATTLE_ARENA_H

View File

@@ -3,7 +3,7 @@
extern u32 gUnknown_0203CD70;
s32 GetDomeTrainerMonCountInBits(u16 tournamentTrainerId);
s32 TrainerIdToDomeTournamentId(u16 trainerId);
int GetDomeTrainerMonCountInBits(u16 tournamentTrainerId);
int TrainerIdToDomeTournamentId(u16 trainerId);
#endif // GUARD_BATTLE_DOME_H

View File

@@ -2,10 +2,10 @@
#define GUARD_BATTLE_FACTORY_H
void CallBattleFactoryFunction(void);
bool8 sub_81A6BF4(void);
bool8 InBattleFactory(void);
u8 GetFactoryMonFixedIV(u8 arg0, u8 arg1);
void FillFactoryBrainParty(void);
u8 sub_81A6F70(u8 battleMode, u8 lvlMode);
u8 GetNumPastRentalsRank(u8 battleMode, u8 lvlMode);
u32 GetAiScriptsInBattleFactory(void);
void SetMonMoveAvoidReturn(struct Pokemon *mon, u16 moveArg, u8 moveSlot);

View File

@@ -4,21 +4,21 @@
void CallBattlePyramidFunction(void);
u16 LocalIdToPyramidTrainerId(u8 localId);
bool8 GetBattlePyramidTrainerFlag(u8 eventId);
void sub_81A9B04(void);
void MarkApproachingPyramidTrainersAsBattled(void);
void GenerateBattlePyramidWildMon(void);
u8 GetPyramidRunMultiplier(void);
u8 InBattlePyramid(void);
bool8 InBattlePyramid_(void);
void sub_81A9E90(void);
void sub_81A9EC8(void);
void SoftResetInBattlePyramid(void);
void CopyPyramidTrainerSpeechBefore(u16 trainerId);
void CopyPyramidTrainerWinSpeech(u16 trainerId);
void CopyPyramidTrainerLoseSpeech(u16 trainerId);
u8 GetTrainerEncounterMusicIdInBattlePyramind(u16 trainerId);
void sub_81AA078(u16 *mapArg, u8 arg1);
void sub_81AA1D8(void);
void sub_81AA2F8(void);
u8 sub_81AAA40(void);
u8 GetBattlePyramindTrainerEncounterMusicId(u16 trainerId);
void GenerateBattlePyramidFloorLayout(u16 *mapArg, bool8 setPlayerPosition);
void LoadBattlePyramidEventObjectTemplates(void);
void LoadBattlePyramidFloorEventObjectScripts(void);
u8 GetNumBattlePyramidEventObjects(void);
u16 GetBattlePyramidPickupItemId(void);
#endif // GUARD_BATTLE_PYRAMID_H

View File

@@ -34,7 +34,7 @@ struct PyramidBagCursorData
extern struct PyramidBagResources *gPyramidBagResources;
extern struct PyramidBagCursorData gPyramidBagCursorData;
void sub_81C4EEC(void);
void InitBattlePyramidBagCursorPosition(void);
void CB2_PyramidBagMenuFromStartMenu(void);
void sub_81C4F84(void);
void sub_81C5924(void);

View File

@@ -88,8 +88,8 @@ extern const u8 BattleScript_IngrainTurnHeal[];
extern const u8 BattleScript_AtkDefDown[];
extern const u8 BattleScript_KnockedOff[];
extern const u8 BattleScript_MoveUsedIsImprisoned[];
extern const u8 BattleScript_SelectingImprisionedMove[];
extern const u8 BattleScript_SelectingImprisionedMoveInPalace[];
extern const u8 BattleScript_SelectingImprisonedMove[];
extern const u8 BattleScript_SelectingImprisonedMoveInPalace[];
extern const u8 BattleScript_GrudgeTakesPp[];
extern const u8 BattleScript_MagicCoatBounce[];
extern const u8 BattleScript_SnatchedMove[];
@@ -115,7 +115,7 @@ extern const u8 BattleScript_PrintPayDayMoneyString[];
extern const u8 BattleScript_WrapTurnDmg[];
extern const u8 BattleScript_WrapEnds[];
extern const u8 BattleScript_MoveUsedIsInLove[];
extern const u8 BattleScript_MoveUsedIsParalyzedCantAttack[];
extern const u8 BattleScript_MoveUsedIsInLoveCantAttack[];
extern const u8 BattleScript_NightmareTurnDmg[];
extern const u8 BattleScript_CurseTurnDmg[];
extern const u8 BattleScript_TargetPRLZHeal[];

View File

@@ -1,6 +1,6 @@
#ifndef GUARD_BATTLE_TENT_H
#define GUARD_BATTLE_TENT_H
bool8 sub_81B9E94(void);
bool8 InSlateportBattleTent(void);
#endif //GUARD_BATTLE_TENT_H

View File

@@ -6,7 +6,7 @@
#define MOVE_LIMITATION_DISABLED (1 << 2)
#define MOVE_LIMITATION_TORMENTED (1 << 3)
#define MOVE_LIMITATION_TAUNT (1 << 4)
#define MOVE_LIMITATION_IMPRISION (1 << 5)
#define MOVE_LIMITATION_IMPRISON (1 << 5)
#define ABILITYEFFECT_ON_SWITCHIN 0x0
#define ABILITYEFFECT_ENDTURN 0x1
@@ -44,7 +44,7 @@
u8 GetBattlerForBattleScript(u8 caseId);
void PressurePPLose(u8 target, u8 attacker, u16 move);
void PressurePPLoseOnUsingPerishSong(u8 attacker);
void PressurePPLoseOnUsingImprision(u8 attacker);
void PressurePPLoseOnUsingImprison(u8 attacker);
void MarkAllBattlersForControllerExec(void); // unused
void MarkBattlerForControllerExec(u8 battlerId);
void sub_803F850(u8 arg0);

View File

@@ -1,11 +1,11 @@
#ifndef GUARD_BRAILLE_PUZZLES_H
#define GUARD_BRAILLE_PUZZLES_H
bool8 ShouldDoBrailleFlyEffect(void);
bool8 ShouldDoBrailleStrengthEffect(void);
bool8 ShouldDoBrailleRegisteelEffect(void);
bool8 ShouldDoBrailleRegirockEffect(void);
bool8 ShouldDoBrailleDigEffect(void);
void DoBrailleDigEffect(void);
void sub_8179918(void);
void sub_8179834(void);
void SetUpPuzzleEffectRegisteel(void);
void SetUpPuzzleEffectRegirock(void);
#endif // GUARD_BRAILLE_PUZZLES_H

View File

@@ -15,5 +15,6 @@ void sub_80B360C(void);
bool32 sub_80B2AF4(u16 *arg0, u16 *arg1);
void sub_80B3AF8(u8 taskId);
void task00_08081A90(u8 taskId);
bool32 GetLinkTrainerCardColor(u8 linkPlayerIndex);
#endif //GUARD_CABLE_CLUB_H

View File

@@ -10,6 +10,8 @@
#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 TENT_VERDANTURF 2
#define TENT_FALLARBOR 3

View File

@@ -1,6 +1,33 @@
#ifndef GUARD_CONSTANTS_EASY_CHAT_H
#define GUARD_CONSTANTS_EASY_CHAT_H
#define EASY_CHAT_TYPE_PROFILE 0
#define EASY_CHAT_TYPE_BATTLE_START 1
#define EASY_CHAT_TYPE_BATTLE_WON 2
#define EASY_CHAT_TYPE_BATTLE_LOST 3
#define EASY_CHAT_TYPE_MAIL 4
#define EASY_CHAT_TYPE_INTERVIEW 5
#define EASY_CHAT_TYPE_BARD_SONG 6
#define EASY_CHAT_TYPE_FAN_CLUB 7
#define EASY_CHAT_TYPE_UNK_8 8
#define EASY_CHAT_TYPE_TRENDY_PHRASE 9
#define EASY_CHAT_TYPE_GABBY_AND_TY 10
#define EASY_CHAT_TYPE_CONTEST_INTERVIEW 11
#define EASY_CHAT_TYPE_BATTLE_TOWER_INTERVIEW 12
#define EASY_CHAT_TYPE_GOOD_SAYING 13
#define EASY_CHAT_TYPE_FAN_QUESTION 14
#define EASY_CHAT_TYPE_QUIZ_ANSWER 15
#define EASY_CHAT_TYPE_QUIZ_QUESTION 16
#define EASY_CHAT_TYPE_QUIZ_SET_QUESTION 17
#define EASY_CHAT_TYPE_QUIZ_SET_ANSWER 18
#define EASY_CHAT_TYPE_APPRENTICE 19
#define EASY_CHAT_TYPE_QUESTIONNAIRE 20
#define EASY_CHAT_PERSON_REPORTER_MALE 0
#define EASY_CHAT_PERSON_REPORTER_FEMALE 1
#define EASY_CHAT_PERSON_BOY 2
#define EASY_CHAT_PERSON_DISPLAY_NONE 3
#define EC_GROUP_POKEMON 0x0
#define EC_GROUP_TRAINER 0x1
#define EC_GROUP_STATUS 0x2
@@ -23,6 +50,7 @@
#define EC_GROUP_MOVE_2 0x13
#define EC_GROUP_TRENDY_SAYING 0x14
#define EC_GROUP_POKEMON_2 0x15
#define EC_NUM_GROUPS 0x16
// TRAINER
#define EC_WORD_I_CHOOSE_YOU (EC_GROUP_TRAINER << 9) | 0x0
@@ -1075,5 +1103,6 @@
#define EC_GROUP(word) ((word) >> 9)
#define EC_INDEX(word) ((word) & 0x1FF)
#define EC_WORD(group, index) ((((group) & 0x7F) << 9) | ((index) & 0x1FF))
#endif // GUARD_CONSTANTS_EASY_CHAT_H

View File

@@ -61,7 +61,7 @@
#define FLDEFF_SECRET_POWER_SHRUB 57
#define FLDEFF_CUT_GRASS 58
#define FLDEFF_FIELD_MOVE_SHOW_MON_INIT 59
#define FLDEFF_USE_FLY_ANCIENT_TOMB 60
#define FLDEFF_USE_TOMB_PUZZLE_EFFECT 60
#define FLDEFF_PCTURN_ON 61
#define FLDEFF_HALL_OF_FAME_RECORD 62
#define FLDEFF_USE_TELEPORT 63

View File

@@ -236,7 +236,7 @@
#define FLAG_MET_WAILMER_TRAINER 0xDA
#define FLAG_EVIL_LEADER_PLEASE_STOP 0xDB
#define FLAG_UNUSED_0x0DC 0xDC // Unused Flag
#define FLAG_NEVER_SET_0x0DC 0xDC // This flag is read, but never written to
#define FLAG_RECEIVED_GO_GOGGLES 0xDD
#define FLAG_WINGULL_SENT_ON_ERRAND 0xDE
@@ -1352,9 +1352,9 @@
#define FLAG_SYS_ENC_UP_ITEM (SYSTEM_FLAGS + 0x4D)
#define FLAG_SYS_ENC_DOWN_ITEM (SYSTEM_FLAGS + 0x4E)
#define FLAG_SYS_BRAILLE_DIG (SYSTEM_FLAGS + 0x4F)
#define FLAG_SYS_BRAILLE_STRENGTH (SYSTEM_FLAGS + 0x50)
#define FLAG_SYS_BRAILLE_WAIT (SYSTEM_FLAGS + 0x51)
#define FLAG_SYS_BRAILLE_FLY (SYSTEM_FLAGS + 0x52)
#define FLAG_SYS_REGIROCK_PUZZLE_COMPLETED (SYSTEM_FLAGS + 0x50)
#define FLAG_SYS_BRAILLE_REGICE_COMPLETED (SYSTEM_FLAGS + 0x51)
#define FLAG_SYS_REGISTEEL_PUZZLE_COMPLETED (SYSTEM_FLAGS + 0x52)
#define FLAG_SYS_HAS_EON_TICKET (SYSTEM_FLAGS + 0x53)
#define FLAG_LANDMARK_POKEMON_LEAGUE (SYSTEM_FLAGS + 0x54)
@@ -1548,7 +1548,7 @@
// Special Flags (Unknown)
#define SPECIAL_FLAGS_START 0x4000
#define FLAG_SPECIAL_FLAG_0x4000 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

446
include/constants/layouts.h Executable file
View File

@@ -0,0 +1,446 @@
#ifndef GUARD_CONSTANTS_LAYOUTS_H
#define GUARD_CONSTANTS_LAYOUTS_H
#define LAYOUT_PETALBURG_CITY 1
#define LAYOUT_SLATEPORT_CITY 2
#define LAYOUT_MAUVILLE_CITY 3
#define LAYOUT_RUSTBORO_CITY 4
#define LAYOUT_FORTREE_CITY 5
#define LAYOUT_LILYCOVE_CITY 6
#define LAYOUT_MOSSDEEP_CITY 7
#define LAYOUT_SOOTOPOLIS_CITY 8
#define LAYOUT_EVER_GRANDE_CITY 9
#define LAYOUT_LITTLEROOT_TOWN 10
#define LAYOUT_OLDALE_TOWN 11
#define LAYOUT_DEWFORD_TOWN 12
#define LAYOUT_LAVARIDGE_TOWN 13
#define LAYOUT_FALLARBOR_TOWN 14
#define LAYOUT_VERDANTURF_TOWN 15
#define LAYOUT_PACIFIDLOG_TOWN 16
#define LAYOUT_ROUTE101 17
#define LAYOUT_ROUTE102 18
#define LAYOUT_ROUTE103 19
#define LAYOUT_ROUTE104 20
#define LAYOUT_ROUTE105 21
#define LAYOUT_ROUTE106 22
#define LAYOUT_ROUTE107 23
#define LAYOUT_ROUTE108 24
#define LAYOUT_ROUTE109 25
#define LAYOUT_ROUTE110 26
#define LAYOUT_ROUTE111 27
#define LAYOUT_ROUTE112 28
#define LAYOUT_ROUTE113 29
#define LAYOUT_ROUTE114 30
#define LAYOUT_ROUTE115 31
#define LAYOUT_ROUTE116 32
#define LAYOUT_ROUTE117 33
#define LAYOUT_ROUTE118 34
#define LAYOUT_ROUTE119 35
#define LAYOUT_ROUTE120 36
#define LAYOUT_ROUTE121 37
#define LAYOUT_ROUTE122 38
#define LAYOUT_ROUTE123 39
#define LAYOUT_ROUTE124 40
#define LAYOUT_ROUTE125 41
#define LAYOUT_ROUTE126 42
#define LAYOUT_ROUTE127 43
#define LAYOUT_ROUTE128 44
#define LAYOUT_ROUTE129 45
#define LAYOUT_ROUTE130_MIRAGE_ISLAND 46
#define LAYOUT_ROUTE131 47
#define LAYOUT_ROUTE132 48
#define LAYOUT_ROUTE133 49
#define LAYOUT_ROUTE134 50
#define LAYOUT_UNDERWATER2 51
#define LAYOUT_UNDERWATER3 52
#define LAYOUT_UNDERWATER4 53
#define LAYOUT_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F 54
#define LAYOUT_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F 55
#define LAYOUT_LITTLEROOT_TOWN_MAYS_HOUSE_1F 56
#define LAYOUT_LITTLEROOT_TOWN_MAYS_HOUSE_2F 57
#define LAYOUT_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB 58
#define LAYOUT_HOUSE1 59
#define LAYOUT_HOUSE2 60
#define LAYOUT_POKEMON_CENTER_1F 61
#define LAYOUT_POKEMON_CENTER_2F 62
#define LAYOUT_MART 63
#define LAYOUT_HOUSE3 64
#define LAYOUT_DEWFORD_TOWN_GYM 65
#define LAYOUT_DEWFORD_TOWN_HALL 66
#define LAYOUT_HOUSE4 67
#define LAYOUT_LAVARIDGE_TOWN_HERB_SHOP 68
#define LAYOUT_LAVARIDGE_TOWN_GYM_1F 69
#define LAYOUT_LAVARIDGE_TOWN_GYM_B1F 70
#define LAYOUT_LAVARIDGE_TOWN_POKEMON_CENTER_1F 71
#define LAYOUT_FALLARBOR_TOWN_LEFTOVER_RSCONTEST_LOBBY 72
#define LAYOUT_FALLARBOR_TOWN_LEFTOVER_RSCONTEST_HALL 73
#define LAYOUT_LILYCOVE_CITY_HOUSE2 74
#define LAYOUT_UNKNOWN_08428450 75
#define LAYOUT_VERDANTURF_TOWN_WANDAS_HOUSE 76
#define LAYOUT_PACIFIDLOG_TOWN_HOUSE1 77
#define LAYOUT_PACIFIDLOG_TOWN_HOUSE2 78
#define LAYOUT_PETALBURG_CITY_GYM 79
#define LAYOUT_HOUSE_WITH_BED 80
#define LAYOUT_SLATEPORT_CITY_STERNS_SHIPYARD_1F 81
#define LAYOUT_SLATEPORT_CITY_STERNS_SHIPYARD_2F 82
#define LAYOUT_UNKNOWN_084294C4 83
#define LAYOUT_UNKNOWN_084294E8 84
#define LAYOUT_SLATEPORT_CITY_POKEMON_FAN_CLUB 85
#define LAYOUT_SLATEPORT_CITY_OCEANIC_MUSEUM_1F 86
#define LAYOUT_SLATEPORT_CITY_OCEANIC_MUSEUM_2F 87
#define LAYOUT_HARBOR 88
#define LAYOUT_MAUVILLE_CITY_GYM 89
#define LAYOUT_MAUVILLE_CITY_BIKE_SHOP 90
#define LAYOUT_MAUVILLE_CITY_GAME_CORNER 91
#define LAYOUT_RUSTBORO_CITY_DEVON_CORP_1F 92
#define LAYOUT_RUSTBORO_CITY_DEVON_CORP_2F 93
#define LAYOUT_RUSTBORO_CITY_GYM 94
#define LAYOUT_RUSTBORO_CITY_POKEMON_SCHOOL 95
#define LAYOUT_RUSTBORO_CITY_HOUSE 96
#define LAYOUT_RUSTBORO_CITY_HOUSE1 97
#define LAYOUT_RUSTBORO_CITY_CUTTERS_HOUSE 98
#define LAYOUT_FORTREE_CITY_HOUSE1 99
#define LAYOUT_FORTREE_CITY_GYM 100
#define LAYOUT_FORTREE_CITY_HOUSE2 101
#define LAYOUT_ROUTE104_MR_BRINEYS_HOUSE 102
#define LAYOUT_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F 103
#define LAYOUT_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F 104
#define LAYOUT_LILYCOVE_CITY_CONTEST_LOBBY 105
#define LAYOUT_LILYCOVE_CITY_CONTEST_HALL 106
#define LAYOUT_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB 107
#define LAYOUT_MOSSDEEP_CITY_GYM 108
#define LAYOUT_SOOTOPOLIS_CITY_GYM_1F 109
#define LAYOUT_SOOTOPOLIS_CITY_GYM_B1F 110
#define LAYOUT_EVER_GRANDE_CITY_SIDNEYS_ROOM 111
#define LAYOUT_EVER_GRANDE_CITY_PHOEBES_ROOM 112
#define LAYOUT_EVER_GRANDE_CITY_GLACIAS_ROOM 113
#define LAYOUT_EVER_GRANDE_CITY_DRAKES_ROOM 114
#define LAYOUT_EVER_GRANDE_CITY_CHAMPIONS_ROOM 115
#define LAYOUT_EVER_GRANDE_CITY_SHORT_HALL 116
#define LAYOUT_ROUTE104_PRETTY_PETAL_FLOWER_SHOP 117
#define LAYOUT_CABLE_CAR_STATION 118
#define LAYOUT_ROUTE114_FOSSIL_MANIACS_HOUSE 119
#define LAYOUT_ROUTE114_FOSSIL_MANIACS_TUNNEL 120
#define LAYOUT_ROUTE114_LANETTES_HOUSE 121
#define LAYOUT_ROUTE116_TUNNELERS_REST_HOUSE 122
#define LAYOUT_ROUTE117_POKEMON_DAY_CARE 123
#define LAYOUT_ROUTE121_SAFARI_ZONE_ENTRANCE 124
#define LAYOUT_METEOR_FALLS_1F_1R 125
#define LAYOUT_METEOR_FALLS_1F_2R 126
#define LAYOUT_METEOR_FALLS_B1F_1R 127
#define LAYOUT_METEOR_FALLS_B1F_2R 128
#define LAYOUT_RUSTURF_TUNNEL 129
#define LAYOUT_UNDERWATER_SOOTOPOLIS_CITY 130
#define LAYOUT_DESERT_RUINS 131
#define LAYOUT_GRANITE_CAVE_1F 132
#define LAYOUT_GRANITE_CAVE_B1F 133
#define LAYOUT_GRANITE_CAVE_B2F 134
#define LAYOUT_PETALBURG_WOODS 135
#define LAYOUT_MT_CHIMNEY 136
#define LAYOUT_MT_PYRE_1F 137
#define LAYOUT_MT_PYRE_2F 138
#define LAYOUT_MT_PYRE_3F 139
#define LAYOUT_MT_PYRE_4F 140
#define LAYOUT_MT_PYRE_5F 141
#define LAYOUT_MT_PYRE_6F 142
#define LAYOUT_AQUA_HIDEOUT_1F 143
#define LAYOUT_AQUA_HIDEOUT_B1F 144
#define LAYOUT_AQUA_HIDEOUT_B2F 145
#define LAYOUT_UNDERWATER_SEAFLOOR_CAVERN 146
#define LAYOUT_SEAFLOOR_CAVERN_ENTRANCE 147
#define LAYOUT_SEAFLOOR_CAVERN_ROOM1 148
#define LAYOUT_SEAFLOOR_CAVERN_ROOM2 149
#define LAYOUT_SEAFLOOR_CAVERN_ROOM3 150
#define LAYOUT_SEAFLOOR_CAVERN_ROOM4 151
#define LAYOUT_SEAFLOOR_CAVERN_ROOM5 152
#define LAYOUT_SEAFLOOR_CAVERN_ROOM6 153
#define LAYOUT_SEAFLOOR_CAVERN_ROOM7 154
#define LAYOUT_SEAFLOOR_CAVERN_ROOM8 155
#define LAYOUT_SEAFLOOR_CAVERN_ROOM9 156
#define LAYOUT_CAVE_OF_ORIGIN_ENTRANCE 157
#define LAYOUT_CAVE_OF_ORIGIN_1F 158
#define LAYOUT_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1 159
#define LAYOUT_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2 160
#define LAYOUT_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3 161
#define LAYOUT_CAVE_OF_ORIGIN_B1F 162
#define LAYOUT_VICTORY_ROAD_1F 163
#define LAYOUT_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM 164
#define LAYOUT_SHOAL_CAVE_LOW_TIDE_INNER_ROOM 165
#define LAYOUT_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM 166
#define LAYOUT_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM 167
#define LAYOUT_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM 168
#define LAYOUT_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM 169
#define LAYOUT_UNKNOWN_0843E6C0 170
#define LAYOUT_UNKNOWN_0843E6E4 171
#define LAYOUT_UNKNOWN_0843E708 172
#define LAYOUT_UNKNOWN_0843E72C 173
#define LAYOUT_UNKNOWN_0843E750 174
#define LAYOUT_UNKNOWN_0843E774 175
#define LAYOUT_UNKNOWN_0843E798 176
#define LAYOUT_UNKNOWN_0843E7BC 177
#define LAYOUT_UNKNOWN_0843E7E0 178
#define LAYOUT_UNKNOWN_0843E804 179
#define LAYOUT_UNKNOWN_0843E828 180
#define LAYOUT_UNKNOWN_0843E84C 181
#define LAYOUT_UNKNOWN_0843E870 182
#define LAYOUT_UNKNOWN_0843E894 183
#define LAYOUT_NEW_MAUVILLE_ENTRANCE 184
#define LAYOUT_NEW_MAUVILLE_INSIDE 185
#define LAYOUT_ABANDONED_SHIP_DECK 186
#define LAYOUT_ABANDONED_SHIP_CORRIDORS_1F 187
#define LAYOUT_ABANDONED_SHIP_ROOMS_1F 188
#define LAYOUT_ABANDONED_SHIP_CORRIDORS_B1F 189
#define LAYOUT_ABANDONED_SHIP_ROOMS_B1F 190
#define LAYOUT_ABANDONED_SHIP_ROOMS2_B1F 191
#define LAYOUT_ABANDONED_SHIP_UNDERWATER1 192
#define LAYOUT_ABANDONED_SHIP_ROOM_B1F 193
#define LAYOUT_ABANDONED_SHIP_ROOMS2_1F 194
#define LAYOUT_ABANDONED_SHIP_CAPTAINS_OFFICE 195
#define LAYOUT_ABANDONED_SHIP_UNDERWATER2 196
#define LAYOUT_SECRET_BASE_RED_CAVE1 197
#define LAYOUT_SECRET_BASE_BROWN_CAVE1 198
#define LAYOUT_SECRET_BASE_BLUE_CAVE1 199
#define LAYOUT_SECRET_BASE_YELLOW_CAVE1 200
#define LAYOUT_SECRET_BASE_TREE1 201
#define LAYOUT_SECRET_BASE_SHRUB1 202
#define LAYOUT_SECRET_BASE_RED_CAVE2 203
#define LAYOUT_SECRET_BASE_BROWN_CAVE2 204
#define LAYOUT_SECRET_BASE_BLUE_CAVE2 205
#define LAYOUT_SECRET_BASE_YELLOW_CAVE2 206
#define LAYOUT_SECRET_BASE_TREE2 207
#define LAYOUT_SECRET_BASE_SHRUB2 208
#define LAYOUT_SECRET_BASE_RED_CAVE3 209
#define LAYOUT_SECRET_BASE_BROWN_CAVE3 210
#define LAYOUT_SECRET_BASE_BLUE_CAVE3 211
#define LAYOUT_SECRET_BASE_YELLOW_CAVE3 212
#define LAYOUT_SECRET_BASE_TREE3 213
#define LAYOUT_SECRET_BASE_SHRUB3 214
#define LAYOUT_SECRET_BASE_RED_CAVE4 215
#define LAYOUT_SECRET_BASE_BROWN_CAVE4 216
#define LAYOUT_SECRET_BASE_BLUE_CAVE4 217
#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_TRADE_CENTER 222
#define LAYOUT_RECORD_CORNER 223
#define LAYOUT_DOUBLE_BATTLE_COLOSSEUM 224
#define LAYOUT_LINK_CONTEST_ROOM1 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_INSIDE_OF_TRUCK 237
#define LAYOUT_SAFARI_ZONE_NORTHWEST 238
#define LAYOUT_SAFARI_ZONE_NORTH 239
#define LAYOUT_SAFARI_ZONE_SOUTHWEST 240
#define LAYOUT_SAFARI_ZONE_SOUTH 241
#define LAYOUT_UNKNOWN_08447028 242
#define LAYOUT_ROUTE109_SEASHORE_HOUSE 243
#define LAYOUT_ROUTE110_TRICK_HOUSE_ENTRANCE 244
#define LAYOUT_ROUTE110_TRICK_HOUSE_END 245
#define LAYOUT_ROUTE110_TRICK_HOUSE_CORRIDOR 246
#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE1 247
#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE2 248
#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE3 249
#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE4 250
#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE5 251
#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE6 252
#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE7 253
#define LAYOUT_ROUTE110_TRICK_HOUSE_PUZZLE8 254
#define LAYOUT_FORTREE_CITY_DECORATION_SHOP 255
#define LAYOUT_ROUTE110_SEASIDE_CYCLING_ROAD_ENTRANCE 256
#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_1F 257
#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_2F 258
#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_3F 259
#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_4F 260
#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_5F 261
#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP 262
#define LAYOUT_ROUTE130 263
#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY 264
#define LAYOUT_BATTLE_FRONTIER_OUTSIDE_WEST 265
#define LAYOUT_BATTLE_ELEVATOR 266
#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR 267
#define LAYOUT_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM 268
#define LAYOUT_RUSTBORO_CITY_DEVON_CORP_3F 269
#define LAYOUT_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F 270
#define LAYOUT_ROUTE119_WEATHER_INSTITUTE_1F 271
#define LAYOUT_ROUTE119_WEATHER_INSTITUTE_2F 272
#define LAYOUT_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR 273
#define LAYOUT_UNDERWATER1 274
#define LAYOUT_MOSSDEEP_CITY_SPACE_CENTER_1F 275
#define LAYOUT_MOSSDEEP_CITY_SPACE_CENTER_2F 276
#define LAYOUT_SS_TIDAL_CORRIDOR 277
#define LAYOUT_SS_TIDAL_LOWER_DECK 278
#define LAYOUT_SS_TIDAL_ROOMS 279
#define LAYOUT_ISLAND_CAVE 280
#define LAYOUT_ANCIENT_TOMB 281
#define LAYOUT_UNDERWATER_ROUTE134 282
#define LAYOUT_UNDERWATER_SEALED_CHAMBER 283
#define LAYOUT_SEALED_CHAMBER_OUTER_ROOM 284
#define LAYOUT_VICTORY_ROAD_B1F 285
#define LAYOUT_VICTORY_ROAD_B2F 286
#define LAYOUT_ROUTE104_PROTOTYPE 287
#define LAYOUT_GRANITE_CAVE_STEVENS_ROOM 288
#define LAYOUT_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS 289
#define LAYOUT_SOUTHERN_ISLAND_EXTERIOR 290
#define LAYOUT_SOUTHERN_ISLAND_INTERIOR 291
#define LAYOUT_JAGGED_PASS 292
#define LAYOUT_FIERY_PATH 293
#define LAYOUT_RUSTBORO_CITY_FLAT2_1F 294
#define LAYOUT_RUSTBORO_CITY_FLAT2_2F 295
#define LAYOUT_RUSTBORO_CITY_FLAT2_3F 296
#define LAYOUT_SOOTOPOLIS_CITY_LOTAD_AND_SEEDOT_HOUSE 297
#define LAYOUT_EVER_GRANDE_CITY_HALL_OF_FAME 298
#define LAYOUT_LILYCOVE_CITY_COVE_LILY_MOTEL_1F 299
#define LAYOUT_LILYCOVE_CITY_COVE_LILY_MOTEL_2F 300
#define LAYOUT_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE 301
#define LAYOUT_MT_PYRE_EXTERIOR 302
#define LAYOUT_MT_PYRE_SUMMIT 303
#define LAYOUT_SEALED_CHAMBER_INNER_ROOM 304
#define LAYOUT_MOSSDEEP_CITY_GAME_CORNER_1F 305
#define LAYOUT_MOSSDEEP_CITY_GAME_CORNER_B1F 306
#define LAYOUT_SOOTOPOLIS_CITY_HOUSE1 307
#define LAYOUT_SOOTOPOLIS_CITY_HOUSE2 308
#define LAYOUT_SOOTOPOLIS_CITY_HOUSE3 309
#define LAYOUT_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS 310
#define LAYOUT_SCORCHED_SLAB 311
#define LAYOUT_CAVE_OF_ORIGIN_UNUSED_B4F_LAVA 312
#define LAYOUT_RUSTBORO_CITY_FLAT1_1F 313
#define LAYOUT_RUSTBORO_CITY_FLAT1_2F 314
#define LAYOUT_EVER_GRANDE_CITY_HALL4 315
#define LAYOUT_AQUA_HIDEOUT_UNUSED_RUBY_MAP1 316
#define LAYOUT_AQUA_HIDEOUT_UNUSED_RUBY_MAP2 317
#define LAYOUT_AQUA_HIDEOUT_UNUSED_RUBY_MAP3 318
#define LAYOUT_ROUTE131_SKY_PILLAR 319
#define LAYOUT_SKY_PILLAR_ENTRANCE 320
#define LAYOUT_SKY_PILLAR_OUTSIDE 321
#define LAYOUT_SKY_PILLAR_1F 322
#define LAYOUT_SKY_PILLAR_2F 323
#define LAYOUT_SKY_PILLAR_3F 324
#define LAYOUT_SKY_PILLAR_4F 325
#define LAYOUT_SEAFLOOR_CAVERN_ROOM9_LAVA 326
#define LAYOUT_MOSSDEEP_CITY_STEVENS_HOUSE 327
#define LAYOUT_SHOAL_CAVE_LOW_TIDE_ICE_ROOM 328
#define LAYOUT_SAFARI_ZONE_REST_HOUSE 329
#define LAYOUT_SKY_PILLAR_5F 330
#define LAYOUT_SKY_PILLAR_TOP 331
#define LAYOUT_BATTLE_FRONTIER_BATTLE_DOME_LOBBY 332
#define LAYOUT_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR 333
#define LAYOUT_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM 334
#define LAYOUT_BATTLE_FRONTIER_BATTLE_DOME_BATTLE_ROOM 335
#define LAYOUT_MAGMA_HIDEOUT_1F 336
#define LAYOUT_MAGMA_HIDEOUT_2F_1R 337
#define LAYOUT_MAGMA_HIDEOUT_2F_2R 338
#define LAYOUT_MAGMA_HIDEOUT_3F_1R 339
#define LAYOUT_MAGMA_HIDEOUT_3F_2R 340
#define LAYOUT_MAGMA_HIDEOUT_4F 341
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PALACE_LOBBY 342
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR 343
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PALACE_BATTLE_ROOM 344
#define LAYOUT_BATTLE_FRONTIER_OUTSIDE_EAST 345
#define LAYOUT_BATTLE_FRONTIER_BATTLE_FACTORY_LOBBY 346
#define LAYOUT_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM 347
#define LAYOUT_BATTLE_FRONTIER_BATTLE_FACTORY_BATTLE_ROOM 348
#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_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_UNKNOWN_084693AC 359
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_LOBBY 360
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_EMPTY_SQUARE 361
#define LAYOUT_BATTLE_PYRAMID_SQUARE01 362
#define LAYOUT_BATTLE_PYRAMID_SQUARE02 363
#define LAYOUT_BATTLE_PYRAMID_SQUARE03 364
#define LAYOUT_BATTLE_PYRAMID_SQUARE04 365
#define LAYOUT_BATTLE_PYRAMID_SQUARE05 366
#define LAYOUT_BATTLE_PYRAMID_SQUARE06 367
#define LAYOUT_BATTLE_PYRAMID_SQUARE07 368
#define LAYOUT_BATTLE_PYRAMID_SQUARE08 369
#define LAYOUT_BATTLE_PYRAMID_SQUARE09 370
#define LAYOUT_BATTLE_PYRAMID_SQUARE10 371
#define LAYOUT_BATTLE_PYRAMID_SQUARE11 372
#define LAYOUT_BATTLE_PYRAMID_SQUARE12 373
#define LAYOUT_BATTLE_PYRAMID_SQUARE13 374
#define LAYOUT_BATTLE_PYRAMID_SQUARE14 375
#define LAYOUT_BATTLE_PYRAMID_SQUARE15 376
#define LAYOUT_BATTLE_PYRAMID_SQUARE16 377
#define LAYOUT_BATTLE_FRONTIER_BATTLE_PYRAMID_TOP 378
#define LAYOUT_MAGMA_HIDEOUT_3F_3R 379
#define LAYOUT_MAGMA_HIDEOUT_2F_3R 380
#define LAYOUT_MIRAGE_TOWER_1F 381
#define LAYOUT_MIRAGE_TOWER_2F 382
#define LAYOUT_MIRAGE_TOWER_3F 383
#define LAYOUT_BATTLE_TENT_LOBBY 384
#define LAYOUT_BATTLE_TENT_CORRIDOR 385
#define LAYOUT_BATTLE_TENT_BATTLE_ROOM 386
#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_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_RECEPTION_GATE 399
#define LAYOUT_ARTISAN_CAVE_B1F 400
#define LAYOUT_ARTISAN_CAVE_1F 401
#define LAYOUT_FARAWAY_ISLAND_ENTRANCE 402
#define LAYOUT_FARAWAY_ISLAND_INTERIOR 403
#define LAYOUT_BIRTH_ISLAND_EXTERIOR 404
#define LAYOUT_ISLAND_HARBOR 405
#define LAYOUT_UNDERWATER_MARINE_CAVE 406
#define LAYOUT_MARINE_CAVE_ENTRANCE 407
#define LAYOUT_TERRA_CAVE_ENTRANCE 408
#define LAYOUT_TERRA_CAVE_END 409
#define LAYOUT_UNDERWATER6 410
#define LAYOUT_UNDERWATER7 411
#define LAYOUT_UNDERWATER5 412
#define LAYOUT_MARINE_CAVE_END 413
#define LAYOUT_TRAINER_HILL_ENTRANCE 414
#define LAYOUT_TRAINER_HILL_1F 415
#define LAYOUT_TRAINER_HILL_2F 416
#define LAYOUT_TRAINER_HILL_3F 417
#define LAYOUT_TRAINER_HILL_4F 418
#define LAYOUT_TRAINER_HILL_ROOF 419
#define LAYOUT_ALTERING_CAVE 420
#define LAYOUT_NAVEL_ROCK_EXTERIOR 421
#define LAYOUT_NAVEL_ROCK_ENTRANCE 422
#define LAYOUT_NAVEL_ROCK_TOP 423
#define LAYOUT_NAVEL_ROCK_BOTTOM 424
#define LAYOUT_NAVEL_ROCK_LADDER_ROOM1 425
#define LAYOUT_NAVEL_ROCK_LADDER_ROOM2 426
#define LAYOUT_NAVEL_ROCK_B1F 427
#define LAYOUT_NAVEL_ROCK_FORK 428
#define LAYOUT_BATTLE_FRONTIER_LOUNGE2 429
#define LAYOUT_BATTLE_FRONTIER_SCOTTS_HOUSE 430
#define LAYOUT_METEOR_FALLS_STEVENS_CAVE 431
#define LAYOUT_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB_WITH_TABLE 432
#define LAYOUT_SKY_PILLAR_1F_CLEAN 433
#define LAYOUT_SKY_PILLAR_2F_CLEAN 434
#define LAYOUT_SKY_PILLAR_3F_CLEAN 435
#define LAYOUT_SKY_PILLAR_4F_CLEAN 436
#define LAYOUT_SKY_PILLAR_5F_CLEAN 437
#define LAYOUT_SKY_PILLAR_TOP_CLEAN 438
#define LAYOUT_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F 439
#define LAYOUT_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F 440
#define LAYOUT_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F_STAIRS_UNBLOCKED 441
#endif // GUARD_CONSTANTS_LAYOUTS_H

592
include/constants/map_groups.h Executable file
View File

@@ -0,0 +1,592 @@
#ifndef GUARD_CONSTANTS_MAP_GROUPS_H
#define GUARD_CONSTANTS_MAP_GROUPS_H
// Map Group 0
#define MAP_PETALBURG_CITY (0 | (0 << 8))
#define MAP_SLATEPORT_CITY (1 | (0 << 8))
#define MAP_MAUVILLE_CITY (2 | (0 << 8))
#define MAP_RUSTBORO_CITY (3 | (0 << 8))
#define MAP_FORTREE_CITY (4 | (0 << 8))
#define MAP_LILYCOVE_CITY (5 | (0 << 8))
#define MAP_MOSSDEEP_CITY (6 | (0 << 8))
#define MAP_SOOTOPOLIS_CITY (7 | (0 << 8))
#define MAP_EVER_GRANDE_CITY (8 | (0 << 8))
#define MAP_LITTLEROOT_TOWN (9 | (0 << 8))
#define MAP_OLDALE_TOWN (10 | (0 << 8))
#define MAP_DEWFORD_TOWN (11 | (0 << 8))
#define MAP_LAVARIDGE_TOWN (12 | (0 << 8))
#define MAP_FALLARBOR_TOWN (13 | (0 << 8))
#define MAP_VERDANTURF_TOWN (14 | (0 << 8))
#define MAP_PACIFIDLOG_TOWN (15 | (0 << 8))
#define MAP_ROUTE101 (16 | (0 << 8))
#define MAP_ROUTE102 (17 | (0 << 8))
#define MAP_ROUTE103 (18 | (0 << 8))
#define MAP_ROUTE104 (19 | (0 << 8))
#define MAP_ROUTE105 (20 | (0 << 8))
#define MAP_ROUTE106 (21 | (0 << 8))
#define MAP_ROUTE107 (22 | (0 << 8))
#define MAP_ROUTE108 (23 | (0 << 8))
#define MAP_ROUTE109 (24 | (0 << 8))
#define MAP_ROUTE110 (25 | (0 << 8))
#define MAP_ROUTE111 (26 | (0 << 8))
#define MAP_ROUTE112 (27 | (0 << 8))
#define MAP_ROUTE113 (28 | (0 << 8))
#define MAP_ROUTE114 (29 | (0 << 8))
#define MAP_ROUTE115 (30 | (0 << 8))
#define MAP_ROUTE116 (31 | (0 << 8))
#define MAP_ROUTE117 (32 | (0 << 8))
#define MAP_ROUTE118 (33 | (0 << 8))
#define MAP_ROUTE119 (34 | (0 << 8))
#define MAP_ROUTE120 (35 | (0 << 8))
#define MAP_ROUTE121 (36 | (0 << 8))
#define MAP_ROUTE122 (37 | (0 << 8))
#define MAP_ROUTE123 (38 | (0 << 8))
#define MAP_ROUTE124 (39 | (0 << 8))
#define MAP_ROUTE125 (40 | (0 << 8))
#define MAP_ROUTE126 (41 | (0 << 8))
#define MAP_ROUTE127 (42 | (0 << 8))
#define MAP_ROUTE128 (43 | (0 << 8))
#define MAP_ROUTE129 (44 | (0 << 8))
#define MAP_ROUTE130 (45 | (0 << 8))
#define MAP_ROUTE131 (46 | (0 << 8))
#define MAP_ROUTE132 (47 | (0 << 8))
#define MAP_ROUTE133 (48 | (0 << 8))
#define MAP_ROUTE134 (49 | (0 << 8))
#define MAP_UNDERWATER1 (50 | (0 << 8))
#define MAP_UNDERWATER2 (51 | (0 << 8))
#define MAP_UNDERWATER3 (52 | (0 << 8))
#define MAP_UNDERWATER4 (53 | (0 << 8))
#define MAP_UNDERWATER5 (54 | (0 << 8))
#define MAP_UNDERWATER6 (55 | (0 << 8))
#define MAP_UNDERWATER7 (56 | (0 << 8))
// Map Group 1
#define MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F (0 | (1 << 8))
#define MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F (1 | (1 << 8))
#define MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F (2 | (1 << 8))
#define MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F (3 | (1 << 8))
#define MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB (4 | (1 << 8))
// Map Group 2
#define MAP_OLDALE_TOWN_HOUSE1 (0 | (2 << 8))
#define MAP_OLDALE_TOWN_HOUSE2 (1 | (2 << 8))
#define MAP_OLDALE_TOWN_POKEMON_CENTER_1F (2 | (2 << 8))
#define MAP_OLDALE_TOWN_POKEMON_CENTER_2F (3 | (2 << 8))
#define MAP_OLDALE_TOWN_MART (4 | (2 << 8))
// Map Group 3
#define MAP_DEWFORD_TOWN_HOUSE1 (0 | (3 << 8))
#define MAP_DEWFORD_TOWN_POKEMON_CENTER_1F (1 | (3 << 8))
#define MAP_DEWFORD_TOWN_POKEMON_CENTER_2F (2 | (3 << 8))
#define MAP_DEWFORD_TOWN_GYM (3 | (3 << 8))
#define MAP_DEWFORD_TOWN_HALL (4 | (3 << 8))
#define MAP_DEWFORD_TOWN_HOUSE2 (5 | (3 << 8))
// Map Group 4
#define MAP_LAVARIDGE_TOWN_HERB_SHOP (0 | (4 << 8))
#define MAP_LAVARIDGE_TOWN_GYM_1F (1 | (4 << 8))
#define MAP_LAVARIDGE_TOWN_GYM_B1F (2 | (4 << 8))
#define MAP_LAVARIDGE_TOWN_HOUSE (3 | (4 << 8))
#define MAP_LAVARIDGE_TOWN_MART (4 | (4 << 8))
#define MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F (5 | (4 << 8))
#define MAP_LAVARIDGE_TOWN_POKEMON_CENTER_2F (6 | (4 << 8))
// Map Group 5
#define MAP_FALLARBOR_TOWN_MART (0 | (5 << 8))
#define MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY (1 | (5 << 8))
#define MAP_FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR (2 | (5 << 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))
// Map Group 6
#define MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY (0 | (6 << 8))
#define MAP_VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR (1 | (6 << 8))
#define MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM (2 | (6 << 8))
#define MAP_VERDANTURF_TOWN_MART (3 | (6 << 8))
#define MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F (4 | (6 << 8))
#define MAP_VERDANTURF_TOWN_POKEMON_CENTER_2F (5 | (6 << 8))
#define MAP_VERDANTURF_TOWN_WANDAS_HOUSE (6 | (6 << 8))
#define MAP_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE (7 | (6 << 8))
#define MAP_VERDANTURF_TOWN_HOUSE (8 | (6 << 8))
// Map Group 7
#define MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F (0 | (7 << 8))
#define MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F (1 | (7 << 8))
#define MAP_PACIFIDLOG_TOWN_HOUSE1 (2 | (7 << 8))
#define MAP_PACIFIDLOG_TOWN_HOUSE2 (3 | (7 << 8))
#define MAP_PACIFIDLOG_TOWN_HOUSE3 (4 | (7 << 8))
#define MAP_PACIFIDLOG_TOWN_HOUSE4 (5 | (7 << 8))
#define MAP_PACIFIDLOG_TOWN_HOUSE5 (6 | (7 << 8))
// Map Group 8
#define MAP_PETALBURG_CITY_WALLYS_HOUSE (0 | (8 << 8))
#define MAP_PETALBURG_CITY_GYM (1 | (8 << 8))
#define MAP_PETALBURG_CITY_HOUSE1 (2 | (8 << 8))
#define MAP_PETALBURG_CITY_HOUSE2 (3 | (8 << 8))
#define MAP_PETALBURG_CITY_POKEMON_CENTER_1F (4 | (8 << 8))
#define MAP_PETALBURG_CITY_POKEMON_CENTER_2F (5 | (8 << 8))
#define MAP_PETALBURG_CITY_MART (6 | (8 << 8))
// Map Group 9
#define MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F (0 | (9 << 8))
#define MAP_SLATEPORT_CITY_STERNS_SHIPYARD_2F (1 | (9 << 8))
#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_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_POKEMON_CENTER_1F (11 | (9 << 8))
#define MAP_SLATEPORT_CITY_POKEMON_CENTER_2F (12 | (9 << 8))
#define MAP_SLATEPORT_CITY_MART (13 | (9 << 8))
// Map Group 10
#define MAP_MAUVILLE_CITY_GYM (0 | (10 << 8))
#define MAP_MAUVILLE_CITY_BIKE_SHOP (1 | (10 << 8))
#define MAP_MAUVILLE_CITY_HOUSE1 (2 | (10 << 8))
#define MAP_MAUVILLE_CITY_GAME_CORNER (3 | (10 << 8))
#define MAP_MAUVILLE_CITY_HOUSE2 (4 | (10 << 8))
#define MAP_MAUVILLE_CITY_POKEMON_CENTER_1F (5 | (10 << 8))
#define MAP_MAUVILLE_CITY_POKEMON_CENTER_2F (6 | (10 << 8))
#define MAP_MAUVILLE_CITY_MART (7 | (10 << 8))
// Map Group 11
#define MAP_RUSTBORO_CITY_DEVON_CORP_1F (0 | (11 << 8))
#define MAP_RUSTBORO_CITY_DEVON_CORP_2F (1 | (11 << 8))
#define MAP_RUSTBORO_CITY_DEVON_CORP_3F (2 | (11 << 8))
#define MAP_RUSTBORO_CITY_GYM (3 | (11 << 8))
#define MAP_RUSTBORO_CITY_POKEMON_SCHOOL (4 | (11 << 8))
#define MAP_RUSTBORO_CITY_POKEMON_CENTER_1F (5 | (11 << 8))
#define MAP_RUSTBORO_CITY_POKEMON_CENTER_2F (6 | (11 << 8))
#define MAP_RUSTBORO_CITY_MART (7 | (11 << 8))
#define MAP_RUSTBORO_CITY_FLAT1_1F (8 | (11 << 8))
#define MAP_RUSTBORO_CITY_FLAT1_2F (9 | (11 << 8))
#define MAP_RUSTBORO_CITY_HOUSE1 (10 | (11 << 8))
#define MAP_RUSTBORO_CITY_CUTTERS_HOUSE (11 | (11 << 8))
#define MAP_RUSTBORO_CITY_HOUSE2 (12 | (11 << 8))
#define MAP_RUSTBORO_CITY_FLAT2_1F (13 | (11 << 8))
#define MAP_RUSTBORO_CITY_FLAT2_2F (14 | (11 << 8))
#define MAP_RUSTBORO_CITY_FLAT2_3F (15 | (11 << 8))
#define MAP_RUSTBORO_CITY_HOUSE3 (16 | (11 << 8))
// Map Group 12
#define MAP_FORTREE_CITY_HOUSE1 (0 | (12 << 8))
#define MAP_FORTREE_CITY_GYM (1 | (12 << 8))
#define MAP_FORTREE_CITY_POKEMON_CENTER_1F (2 | (12 << 8))
#define MAP_FORTREE_CITY_POKEMON_CENTER_2F (3 | (12 << 8))
#define MAP_FORTREE_CITY_MART (4 | (12 << 8))
#define MAP_FORTREE_CITY_HOUSE2 (5 | (12 << 8))
#define MAP_FORTREE_CITY_HOUSE3 (6 | (12 << 8))
#define MAP_FORTREE_CITY_HOUSE4 (7 | (12 << 8))
#define MAP_FORTREE_CITY_HOUSE5 (8 | (12 << 8))
#define MAP_FORTREE_CITY_DECORATION_SHOP (9 | (12 << 8))
// Map Group 13
#define MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F (0 | (13 << 8))
#define MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_2F (1 | (13 << 8))
#define MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F (2 | (13 << 8))
#define MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F (3 | (13 << 8))
#define MAP_LILYCOVE_CITY_CONTEST_LOBBY (4 | (13 << 8))
#define MAP_LILYCOVE_CITY_CONTEST_HALL (5 | (13 << 8))
#define MAP_LILYCOVE_CITY_POKEMON_CENTER_1F (6 | (13 << 8))
#define MAP_LILYCOVE_CITY_POKEMON_CENTER_2F (7 | (13 << 8))
#define MAP_LILYCOVE_CITY_UNUSED_MART (8 | (13 << 8))
#define MAP_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB (9 | (13 << 8))
#define MAP_LILYCOVE_CITY_HARBOR (10 | (13 << 8))
#define MAP_LILYCOVE_CITY_MOVE_DELETERS_HOUSE (11 | (13 << 8))
#define MAP_LILYCOVE_CITY_HOUSE1 (12 | (13 << 8))
#define MAP_LILYCOVE_CITY_HOUSE2 (13 | (13 << 8))
#define MAP_LILYCOVE_CITY_HOUSE3 (14 | (13 << 8))
#define MAP_LILYCOVE_CITY_HOUSE4 (15 | (13 << 8))
#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F (16 | (13 << 8))
#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F (17 | (13 << 8))
#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F (18 | (13 << 8))
#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F (19 | (13 << 8))
#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F (20 | (13 << 8))
#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP (21 | (13 << 8))
#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR (22 | (13 << 8))
// Map Group 14
#define MAP_MOSSDEEP_CITY_GYM (0 | (14 << 8))
#define MAP_MOSSDEEP_CITY_HOUSE1 (1 | (14 << 8))
#define MAP_MOSSDEEP_CITY_HOUSE2 (2 | (14 << 8))
#define MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F (3 | (14 << 8))
#define MAP_MOSSDEEP_CITY_POKEMON_CENTER_2F (4 | (14 << 8))
#define MAP_MOSSDEEP_CITY_MART (5 | (14 << 8))
#define MAP_MOSSDEEP_CITY_HOUSE3 (6 | (14 << 8))
#define MAP_MOSSDEEP_CITY_STEVENS_HOUSE (7 | (14 << 8))
#define MAP_MOSSDEEP_CITY_HOUSE4 (8 | (14 << 8))
#define MAP_MOSSDEEP_CITY_SPACE_CENTER_1F (9 | (14 << 8))
#define MAP_MOSSDEEP_CITY_SPACE_CENTER_2F (10 | (14 << 8))
#define MAP_MOSSDEEP_CITY_GAME_CORNER_1F (11 | (14 << 8))
#define MAP_MOSSDEEP_CITY_GAME_CORNER_B1F (12 | (14 << 8))
// Map Group 15
#define MAP_SOOTOPOLIS_CITY_GYM_1F (0 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_GYM_B1F (1 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F (2 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F (3 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_MART (4 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE1 (5 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE2 (6 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE3 (7 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE4 (8 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE5 (9 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE6 (10 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE7 (11 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_LOTAD_AND_SEEDOT_HOUSE (12 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F (13 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F (14 | (15 << 8))
// Map Group 16
#define MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM (0 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_PHOEBES_ROOM (1 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_GLACIAS_ROOM (2 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_DRAKES_ROOM (3 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM (4 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_HALL1 (5 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_HALL2 (6 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_HALL3 (7 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_HALL4 (8 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_HALL5 (9 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F (10 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_HALL_OF_FAME (11 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F (12 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_2F (13 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F (14 | (16 << 8))
// Map Group 17
#define MAP_ROUTE104_MR_BRINEYS_HOUSE (0 | (17 << 8))
#define MAP_ROUTE104_PRETTY_PETAL_FLOWER_SHOP (1 | (17 << 8))
// Map Group 18
#define MAP_ROUTE111_WINSTRATE_FAMILYS_HOUSE (0 | (18 << 8))
#define MAP_ROUTE111_OLD_LADYS_REST_STOP (1 | (18 << 8))
// Map Group 19
#define MAP_ROUTE112_CABLE_CAR_STATION (0 | (19 << 8))
#define MAP_MT_CHIMNEY_CABLE_CAR_STATION (1 | (19 << 8))
// Map Group 20
#define MAP_ROUTE114_FOSSIL_MANIACS_HOUSE (0 | (20 << 8))
#define MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL (1 | (20 << 8))
#define MAP_ROUTE114_LANETTES_HOUSE (2 | (20 << 8))
// Map Group 21
#define MAP_ROUTE116_TUNNELERS_REST_HOUSE (0 | (21 << 8))
// Map Group 22
#define MAP_ROUTE117_POKEMON_DAY_CARE (0 | (22 << 8))
// Map Group 23
#define MAP_ROUTE121_SAFARI_ZONE_ENTRANCE (0 | (23 << 8))
// Map Group 24
#define MAP_METEOR_FALLS_1F_1R (0 | (24 << 8))
#define MAP_METEOR_FALLS_1F_2R (1 | (24 << 8))
#define MAP_METEOR_FALLS_B1F_1R (2 | (24 << 8))
#define MAP_METEOR_FALLS_B1F_2R (3 | (24 << 8))
#define MAP_RUSTURF_TUNNEL (4 | (24 << 8))
#define MAP_UNDERWATER_SOOTOPOLIS_CITY (5 | (24 << 8))
#define MAP_DESERT_RUINS (6 | (24 << 8))
#define MAP_GRANITE_CAVE_1F (7 | (24 << 8))
#define MAP_GRANITE_CAVE_B1F (8 | (24 << 8))
#define MAP_GRANITE_CAVE_B2F (9 | (24 << 8))
#define MAP_GRANITE_CAVE_STEVENS_ROOM (10 | (24 << 8))
#define MAP_PETALBURG_WOODS (11 | (24 << 8))
#define MAP_MT_CHIMNEY (12 | (24 << 8))
#define MAP_JAGGED_PASS (13 | (24 << 8))
#define MAP_FIERY_PATH (14 | (24 << 8))
#define MAP_MT_PYRE_1F (15 | (24 << 8))
#define MAP_MT_PYRE_2F (16 | (24 << 8))
#define MAP_MT_PYRE_3F (17 | (24 << 8))
#define MAP_MT_PYRE_4F (18 | (24 << 8))
#define MAP_MT_PYRE_5F (19 | (24 << 8))
#define MAP_MT_PYRE_6F (20 | (24 << 8))
#define MAP_MT_PYRE_EXTERIOR (21 | (24 << 8))
#define MAP_MT_PYRE_SUMMIT (22 | (24 << 8))
#define MAP_AQUA_HIDEOUT_1F (23 | (24 << 8))
#define MAP_AQUA_HIDEOUT_B1F (24 | (24 << 8))
#define MAP_AQUA_HIDEOUT_B2F (25 | (24 << 8))
#define MAP_UNDERWATER_SEAFLOOR_CAVERN (26 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ENTRANCE (27 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ROOM1 (28 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ROOM2 (29 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ROOM3 (30 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ROOM4 (31 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ROOM5 (32 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ROOM6 (33 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ROOM7 (34 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ROOM8 (35 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ROOM9 (36 | (24 << 8))
#define MAP_CAVE_OF_ORIGIN_ENTRANCE (37 | (24 << 8))
#define MAP_CAVE_OF_ORIGIN_1F (38 | (24 << 8))
#define MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1 (39 | (24 << 8))
#define MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2 (40 | (24 << 8))
#define MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3 (41 | (24 << 8))
#define MAP_CAVE_OF_ORIGIN_B1F (42 | (24 << 8))
#define MAP_VICTORY_ROAD_1F (43 | (24 << 8))
#define MAP_VICTORY_ROAD_B1F (44 | (24 << 8))
#define MAP_VICTORY_ROAD_B2F (45 | (24 << 8))
#define MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM (46 | (24 << 8))
#define MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM (47 | (24 << 8))
#define MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM (48 | (24 << 8))
#define MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM (49 | (24 << 8))
#define MAP_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM (50 | (24 << 8))
#define MAP_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM (51 | (24 << 8))
#define MAP_NEW_MAUVILLE_ENTRANCE (52 | (24 << 8))
#define MAP_NEW_MAUVILLE_INSIDE (53 | (24 << 8))
#define MAP_ABANDONED_SHIP_DECK (54 | (24 << 8))
#define MAP_ABANDONED_SHIP_CORRIDORS_1F (55 | (24 << 8))
#define MAP_ABANDONED_SHIP_ROOMS_1F (56 | (24 << 8))
#define MAP_ABANDONED_SHIP_CORRIDORS_B1F (57 | (24 << 8))
#define MAP_ABANDONED_SHIP_ROOMS_B1F (58 | (24 << 8))
#define MAP_ABANDONED_SHIP_ROOMS2_B1F (59 | (24 << 8))
#define MAP_ABANDONED_SHIP_UNDERWATER1 (60 | (24 << 8))
#define MAP_ABANDONED_SHIP_ROOM_B1F (61 | (24 << 8))
#define MAP_ABANDONED_SHIP_ROOMS2_1F (62 | (24 << 8))
#define MAP_ABANDONED_SHIP_CAPTAINS_OFFICE (63 | (24 << 8))
#define MAP_ABANDONED_SHIP_UNDERWATER2 (64 | (24 << 8))
#define MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS (65 | (24 << 8))
#define MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS (66 | (24 << 8))
#define MAP_ISLAND_CAVE (67 | (24 << 8))
#define MAP_ANCIENT_TOMB (68 | (24 << 8))
#define MAP_UNDERWATER_ROUTE134 (69 | (24 << 8))
#define MAP_UNDERWATER_SEALED_CHAMBER (70 | (24 << 8))
#define MAP_SEALED_CHAMBER_OUTER_ROOM (71 | (24 << 8))
#define MAP_SEALED_CHAMBER_INNER_ROOM (72 | (24 << 8))
#define MAP_SCORCHED_SLAB (73 | (24 << 8))
#define MAP_AQUA_HIDEOUT_UNUSED_RUBY_MAP1 (74 | (24 << 8))
#define MAP_AQUA_HIDEOUT_UNUSED_RUBY_MAP2 (75 | (24 << 8))
#define MAP_AQUA_HIDEOUT_UNUSED_RUBY_MAP3 (76 | (24 << 8))
#define MAP_SKY_PILLAR_ENTRANCE (77 | (24 << 8))
#define MAP_SKY_PILLAR_OUTSIDE (78 | (24 << 8))
#define MAP_SKY_PILLAR_1F (79 | (24 << 8))
#define MAP_SKY_PILLAR_2F (80 | (24 << 8))
#define MAP_SKY_PILLAR_3F (81 | (24 << 8))
#define MAP_SKY_PILLAR_4F (82 | (24 << 8))
#define MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM (83 | (24 << 8))
#define MAP_SKY_PILLAR_5F (84 | (24 << 8))
#define MAP_SKY_PILLAR_TOP (85 | (24 << 8))
#define MAP_MAGMA_HIDEOUT_1F (86 | (24 << 8))
#define MAP_MAGMA_HIDEOUT_2F_1R (87 | (24 << 8))
#define MAP_MAGMA_HIDEOUT_2F_2R (88 | (24 << 8))
#define MAP_MAGMA_HIDEOUT_3F_1R (89 | (24 << 8))
#define MAP_MAGMA_HIDEOUT_3F_2R (90 | (24 << 8))
#define MAP_MAGMA_HIDEOUT_4F (91 | (24 << 8))
#define MAP_MAGMA_HIDEOUT_3F_3R (92 | (24 << 8))
#define MAP_MAGMA_HIDEOUT_2F_3R (93 | (24 << 8))
#define MAP_MIRAGE_TOWER_1F (94 | (24 << 8))
#define MAP_MIRAGE_TOWER_2F (95 | (24 << 8))
#define MAP_MIRAGE_TOWER_3F (96 | (24 << 8))
#define MAP_MIRAGE_TOWER_4F (97 | (24 << 8))
#define MAP_DESERT_UNDERPASS (98 | (24 << 8))
#define MAP_ARTISAN_CAVE_B1F (99 | (24 << 8))
#define MAP_ARTISAN_CAVE_1F (100 | (24 << 8))
#define MAP_UNDERWATER_MARINE_CAVE (101 | (24 << 8))
#define MAP_MARINE_CAVE_ENTRANCE (102 | (24 << 8))
#define MAP_MARINE_CAVE_END (103 | (24 << 8))
#define MAP_TERRA_CAVE_ENTRANCE (104 | (24 << 8))
#define MAP_TERRA_CAVE_END (105 | (24 << 8))
#define MAP_ALTERING_CAVE (106 | (24 << 8))
#define MAP_METEOR_FALLS_STEVENS_CAVE (107 | (24 << 8))
// Map Group 25
#define MAP_SECRET_BASE_RED_CAVE1 (0 | (25 << 8))
#define MAP_SECRET_BASE_BROWN_CAVE1 (1 | (25 << 8))
#define MAP_SECRET_BASE_BLUE_CAVE1 (2 | (25 << 8))
#define MAP_SECRET_BASE_YELLOW_CAVE1 (3 | (25 << 8))
#define MAP_SECRET_BASE_TREE1 (4 | (25 << 8))
#define MAP_SECRET_BASE_SHRUB1 (5 | (25 << 8))
#define MAP_SECRET_BASE_RED_CAVE2 (6 | (25 << 8))
#define MAP_SECRET_BASE_BROWN_CAVE2 (7 | (25 << 8))
#define MAP_SECRET_BASE_BLUE_CAVE2 (8 | (25 << 8))
#define MAP_SECRET_BASE_YELLOW_CAVE2 (9 | (25 << 8))
#define MAP_SECRET_BASE_TREE2 (10 | (25 << 8))
#define MAP_SECRET_BASE_SHRUB2 (11 | (25 << 8))
#define MAP_SECRET_BASE_RED_CAVE3 (12 | (25 << 8))
#define MAP_SECRET_BASE_BROWN_CAVE3 (13 | (25 << 8))
#define MAP_SECRET_BASE_BLUE_CAVE3 (14 | (25 << 8))
#define MAP_SECRET_BASE_YELLOW_CAVE3 (15 | (25 << 8))
#define MAP_SECRET_BASE_TREE3 (16 | (25 << 8))
#define MAP_SECRET_BASE_SHRUB3 (17 | (25 << 8))
#define MAP_SECRET_BASE_RED_CAVE4 (18 | (25 << 8))
#define MAP_SECRET_BASE_BROWN_CAVE4 (19 | (25 << 8))
#define MAP_SECRET_BASE_BLUE_CAVE4 (20 | (25 << 8))
#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_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_UNKNOWN_MAP_25_29 (29 | (25 << 8))
#define MAP_UNKNOWN_MAP_25_30 (30 | (25 << 8))
#define MAP_UNKNOWN_MAP_25_31 (31 | (25 << 8))
#define MAP_UNKNOWN_MAP_25_32 (32 | (25 << 8))
#define MAP_UNKNOWN_MAP_25_33 (33 | (25 << 8))
#define MAP_UNKNOWN_MAP_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_INSIDE_OF_TRUCK (40 | (25 << 8))
#define MAP_SS_TIDAL_CORRIDOR (41 | (25 << 8))
#define MAP_SS_TIDAL_LOWER_DECK (42 | (25 << 8))
#define MAP_SS_TIDAL_ROOMS (43 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE01 (44 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE02 (45 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE03 (46 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE04 (47 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE05 (48 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE06 (49 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE07 (50 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE08 (51 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE09 (52 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE10 (53 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE11 (54 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE12 (55 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE13 (56 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE14 (57 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE15 (58 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE16 (59 | (25 << 8))
#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))
// Map Group 27
#define MAP_ROUTE104_PROTOTYPE (0 | (27 << 8))
#define MAP_ROUTE104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP (1 | (27 << 8))
// Map Group 28
#define MAP_ROUTE109_SEASHORE_HOUSE (0 | (28 << 8))
// Map Group 29
#define MAP_ROUTE110_TRICK_HOUSE_ENTRANCE (0 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_END (1 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_CORRIDOR (2 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE1 (3 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE2 (4 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE3 (5 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE4 (6 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE5 (7 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE6 (8 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE7 (9 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE8 (10 | (29 << 8))
#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE (11 | (29 << 8))
#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE (12 | (29 << 8))
// Map Group 30
#define MAP_ROUTE113_GLASS_WORKSHOP (0 | (30 << 8))
// Map Group 31
#define MAP_ROUTE123_BERRY_MASTERS_HOUSE (0 | (31 << 8))
// Map Group 32
#define MAP_ROUTE119_WEATHER_INSTITUTE_1F (0 | (32 << 8))
#define MAP_ROUTE119_WEATHER_INSTITUTE_2F (1 | (32 << 8))
#define MAP_ROUTE119_HOUSE (2 | (32 << 8))
// Map Group 33
#define MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE (0 | (33 << 8))
#define MAP_GROUPS_COUNT 34
#endif // GUARD_CONSTANTS_MAP_GROUPS_H

View File

@@ -0,0 +1,12 @@
#ifndef GUARD_CONSTANTS_MAP_SCRIPTS_H
#define GUARD_CONSTANTS_MAP_SCRIPTS_H
#define MAP_SCRIPT_ON_LOAD 1
#define MAP_SCRIPT_ON_FRAME_TABLE 2
#define MAP_SCRIPT_ON_TRANSITION 3
#define MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE 4
#define MAP_SCRIPT_ON_RESUME 5
#define MAP_SCRIPT_ON_DIVE_WARP 6
#define MAP_SCRIPT_ON_RETURN_TO_FIELD 7
#endif // GUARD_CONSTANTS_MAP_SCRIPTS_H

View File

@@ -1,14 +1,14 @@
#ifndef GUARD_CONSTANTS_MAP_TYPES_H
#define GUARD_CONSTANTS_MAP_TYPES_H
#define MAP_TYPE_0 0
#define MAP_TYPE_UNUSED_1 0
#define MAP_TYPE_TOWN 1
#define MAP_TYPE_CITY 2
#define MAP_TYPE_ROUTE 3
#define MAP_TYPE_UNDERGROUND 4
#define MAP_TYPE_UNDERWATER 5
#define MAP_TYPE_6 6
#define MAP_TYPE_7 7
#define MAP_TYPE_OCEAN_ROUTE 6
#define MAP_TYPE_UNUSED_2 7
#define MAP_TYPE_INDOOR 8
#define MAP_TYPE_SECRET_BASE 9

View File

@@ -1,598 +1,11 @@
#ifndef GUARD_CONSTANTS_MAPS_H
#define GUARD_CONSTANTS_MAPS_H
// Map Group 0
#define MAP_PETALBURG_CITY (0 | (0 << 8))
#define MAP_SLATEPORT_CITY (1 | (0 << 8))
#define MAP_MAUVILLE_CITY (2 | (0 << 8))
#define MAP_RUSTBORO_CITY (3 | (0 << 8))
#define MAP_FORTREE_CITY (4 | (0 << 8))
#define MAP_LILYCOVE_CITY (5 | (0 << 8))
#define MAP_MOSSDEEP_CITY (6 | (0 << 8))
#define MAP_SOOTOPOLIS_CITY (7 | (0 << 8))
#define MAP_EVER_GRANDE_CITY (8 | (0 << 8))
#define MAP_LITTLEROOT_TOWN (9 | (0 << 8))
#define MAP_OLDALE_TOWN (10 | (0 << 8))
#define MAP_DEWFORD_TOWN (11 | (0 << 8))
#define MAP_LAVARIDGE_TOWN (12 | (0 << 8))
#define MAP_FALLARBOR_TOWN (13 | (0 << 8))
#define MAP_VERDANTURF_TOWN (14 | (0 << 8))
#define MAP_PACIFIDLOG_TOWN (15 | (0 << 8))
#define MAP_ROUTE101 (16 | (0 << 8))
#define MAP_ROUTE102 (17 | (0 << 8))
#define MAP_ROUTE103 (18 | (0 << 8))
#define MAP_ROUTE104 (19 | (0 << 8))
#define MAP_ROUTE105 (20 | (0 << 8))
#define MAP_ROUTE106 (21 | (0 << 8))
#define MAP_ROUTE107 (22 | (0 << 8))
#define MAP_ROUTE108 (23 | (0 << 8))
#define MAP_ROUTE109 (24 | (0 << 8))
#define MAP_ROUTE110 (25 | (0 << 8))
#define MAP_ROUTE111 (26 | (0 << 8))
#define MAP_ROUTE112 (27 | (0 << 8))
#define MAP_ROUTE113 (28 | (0 << 8))
#define MAP_ROUTE114 (29 | (0 << 8))
#define MAP_ROUTE115 (30 | (0 << 8))
#define MAP_ROUTE116 (31 | (0 << 8))
#define MAP_ROUTE117 (32 | (0 << 8))
#define MAP_ROUTE118 (33 | (0 << 8))
#define MAP_ROUTE119 (34 | (0 << 8))
#define MAP_ROUTE120 (35 | (0 << 8))
#define MAP_ROUTE121 (36 | (0 << 8))
#define MAP_ROUTE122 (37 | (0 << 8))
#define MAP_ROUTE123 (38 | (0 << 8))
#define MAP_ROUTE124 (39 | (0 << 8))
#define MAP_ROUTE125 (40 | (0 << 8))
#define MAP_ROUTE126 (41 | (0 << 8))
#define MAP_ROUTE127 (42 | (0 << 8))
#define MAP_ROUTE128 (43 | (0 << 8))
#define MAP_ROUTE129 (44 | (0 << 8))
#define MAP_ROUTE130 (45 | (0 << 8))
#define MAP_ROUTE131 (46 | (0 << 8))
#define MAP_ROUTE132 (47 | (0 << 8))
#define MAP_ROUTE133 (48 | (0 << 8))
#define MAP_ROUTE134 (49 | (0 << 8))
#define MAP_UNDERWATER1 (50 | (0 << 8))
#define MAP_UNDERWATER2 (51 | (0 << 8))
#define MAP_UNDERWATER3 (52 | (0 << 8))
#define MAP_UNDERWATER4 (53 | (0 << 8))
#define MAP_UNDERWATER5 (54 | (0 << 8))
#define MAP_UNDERWATER6 (55 | (0 << 8))
#define MAP_UNDERWATER7 (56 | (0 << 8))
// Map Group 1
#define MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F (0 | (1 << 8))
#define MAP_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F (1 | (1 << 8))
#define MAP_LITTLEROOT_TOWN_MAYS_HOUSE_1F (2 | (1 << 8))
#define MAP_LITTLEROOT_TOWN_MAYS_HOUSE_2F (3 | (1 << 8))
#define MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB (4 | (1 << 8))
// Map Group 2
#define MAP_OLDALE_TOWN_HOUSE1 (0 | (2 << 8))
#define MAP_OLDALE_TOWN_HOUSE2 (1 | (2 << 8))
#define MAP_OLDALE_TOWN_POKEMON_CENTER_1F (2 | (2 << 8))
#define MAP_OLDALE_TOWN_POKEMON_CENTER_2F (3 | (2 << 8))
#define MAP_OLDALE_TOWN_MART (4 | (2 << 8))
// Map Group 3
#define MAP_DEWFORD_TOWN_HOUSE1 (0 | (3 << 8))
#define MAP_DEWFORD_TOWN_POKEMON_CENTER_1F (1 | (3 << 8))
#define MAP_DEWFORD_TOWN_POKEMON_CENTER_2F (2 | (3 << 8))
#define MAP_DEWFORD_TOWN_GYM (3 | (3 << 8))
#define MAP_DEWFORD_TOWN_HALL (4 | (3 << 8))
#define MAP_DEWFORD_TOWN_HOUSE2 (5 | (3 << 8))
// Map Group 4
#define MAP_LAVARIDGE_TOWN_HERB_SHOP (0 | (4 << 8))
#define MAP_LAVARIDGE_TOWN_GYM_1F (1 | (4 << 8))
#define MAP_LAVARIDGE_TOWN_GYM_B1F (2 | (4 << 8))
#define MAP_LAVARIDGE_TOWN_HOUSE (3 | (4 << 8))
#define MAP_LAVARIDGE_TOWN_MART (4 | (4 << 8))
#define MAP_LAVARIDGE_TOWN_POKEMON_CENTER_1F (5 | (4 << 8))
#define MAP_LAVARIDGE_TOWN_POKEMON_CENTER_2F (6 | (4 << 8))
// Map Group 5
#define MAP_FALLARBOR_TOWN_MART (0 | (5 << 8))
#define MAP_FALLARBOR_TOWN_BATTLE_TENT_LOBBY (1 | (5 << 8))
#define MAP_FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR (2 | (5 << 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))
// Map Group 6
#define MAP_VERDANTURF_TOWN_BATTLE_TENT_LOBBY (0 | (6 << 8))
#define MAP_VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR (1 | (6 << 8))
#define MAP_VERDANTURF_TOWN_BATTLE_TENT_BATTLE_ROOM (2 | (6 << 8))
#define MAP_VERDANTURF_TOWN_MART (3 | (6 << 8))
#define MAP_VERDANTURF_TOWN_POKEMON_CENTER_1F (4 | (6 << 8))
#define MAP_VERDANTURF_TOWN_POKEMON_CENTER_2F (5 | (6 << 8))
#define MAP_VERDANTURF_TOWN_WANDAS_HOUSE (6 | (6 << 8))
#define MAP_VERDANTURF_TOWN_FRIENDSHIP_RATERS_HOUSE (7 | (6 << 8))
#define MAP_VERDANTURF_TOWN_HOUSE (8 | (6 << 8))
// Map Group 7
#define MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_1F (0 | (7 << 8))
#define MAP_PACIFIDLOG_TOWN_POKEMON_CENTER_2F (1 | (7 << 8))
#define MAP_PACIFIDLOG_TOWN_HOUSE1 (2 | (7 << 8))
#define MAP_PACIFIDLOG_TOWN_HOUSE2 (3 | (7 << 8))
#define MAP_PACIFIDLOG_TOWN_HOUSE3 (4 | (7 << 8))
#define MAP_PACIFIDLOG_TOWN_HOUSE4 (5 | (7 << 8))
#define MAP_PACIFIDLOG_TOWN_HOUSE5 (6 | (7 << 8))
// Map Group 8
#define MAP_PETALBURG_CITY_WALLYS_HOUSE (0 | (8 << 8))
#define MAP_PETALBURG_CITY_GYM (1 | (8 << 8))
#define MAP_PETALBURG_CITY_HOUSE1 (2 | (8 << 8))
#define MAP_PETALBURG_CITY_HOUSE2 (3 | (8 << 8))
#define MAP_PETALBURG_CITY_POKEMON_CENTER_1F (4 | (8 << 8))
#define MAP_PETALBURG_CITY_POKEMON_CENTER_2F (5 | (8 << 8))
#define MAP_PETALBURG_CITY_MART (6 | (8 << 8))
// Map Group 9
#define MAP_SLATEPORT_CITY_STERNS_SHIPYARD_1F (0 | (9 << 8))
#define MAP_SLATEPORT_CITY_STERNS_SHIPYARD_2F (1 | (9 << 8))
#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_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_POKEMON_CENTER_1F (11 | (9 << 8))
#define MAP_SLATEPORT_CITY_POKEMON_CENTER_2F (12 | (9 << 8))
#define MAP_SLATEPORT_CITY_MART (13 | (9 << 8))
// Map Group 10
#define MAP_MAUVILLE_CITY_GYM (0 | (10 << 8))
#define MAP_MAUVILLE_CITY_BIKE_SHOP (1 | (10 << 8))
#define MAP_MAUVILLE_CITY_HOUSE1 (2 | (10 << 8))
#define MAP_MAUVILLE_CITY_GAME_CORNER (3 | (10 << 8))
#define MAP_MAUVILLE_CITY_HOUSE2 (4 | (10 << 8))
#define MAP_MAUVILLE_CITY_POKEMON_CENTER_1F (5 | (10 << 8))
#define MAP_MAUVILLE_CITY_POKEMON_CENTER_2F (6 | (10 << 8))
#define MAP_MAUVILLE_CITY_MART (7 | (10 << 8))
// Map Group 11
#define MAP_RUSTBORO_CITY_DEVON_CORP_1F (0 | (11 << 8))
#define MAP_RUSTBORO_CITY_DEVON_CORP_2F (1 | (11 << 8))
#define MAP_RUSTBORO_CITY_DEVON_CORP_3F (2 | (11 << 8))
#define MAP_RUSTBORO_CITY_GYM (3 | (11 << 8))
#define MAP_RUSTBORO_CITY_POKEMON_SCHOOL (4 | (11 << 8))
#define MAP_RUSTBORO_CITY_POKEMON_CENTER_1F (5 | (11 << 8))
#define MAP_RUSTBORO_CITY_POKEMON_CENTER_2F (6 | (11 << 8))
#define MAP_RUSTBORO_CITY_MART (7 | (11 << 8))
#define MAP_RUSTBORO_CITY_FLAT1_1F (8 | (11 << 8))
#define MAP_RUSTBORO_CITY_FLAT1_2F (9 | (11 << 8))
#define MAP_RUSTBORO_CITY_HOUSE1 (10 | (11 << 8))
#define MAP_RUSTBORO_CITY_CUTTERS_HOUSE (11 | (11 << 8))
#define MAP_RUSTBORO_CITY_HOUSE2 (12 | (11 << 8))
#define MAP_RUSTBORO_CITY_FLAT2_1F (13 | (11 << 8))
#define MAP_RUSTBORO_CITY_FLAT2_2F (14 | (11 << 8))
#define MAP_RUSTBORO_CITY_FLAT2_3F (15 | (11 << 8))
#define MAP_RUSTBORO_CITY_HOUSE3 (16 | (11 << 8))
// Map Group 12
#define MAP_FORTREE_CITY_HOUSE1 (0 | (12 << 8))
#define MAP_FORTREE_CITY_GYM (1 | (12 << 8))
#define MAP_FORTREE_CITY_POKEMON_CENTER_1F (2 | (12 << 8))
#define MAP_FORTREE_CITY_POKEMON_CENTER_2F (3 | (12 << 8))
#define MAP_FORTREE_CITY_MART (4 | (12 << 8))
#define MAP_FORTREE_CITY_HOUSE2 (5 | (12 << 8))
#define MAP_FORTREE_CITY_HOUSE3 (6 | (12 << 8))
#define MAP_FORTREE_CITY_HOUSE4 (7 | (12 << 8))
#define MAP_FORTREE_CITY_HOUSE5 (8 | (12 << 8))
#define MAP_FORTREE_CITY_DECORATION_SHOP (9 | (12 << 8))
// Map Group 13
#define MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_1F (0 | (13 << 8))
#define MAP_LILYCOVE_CITY_COVE_LILY_MOTEL_2F (1 | (13 << 8))
#define MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_1F (2 | (13 << 8))
#define MAP_LILYCOVE_CITY_LILYCOVE_MUSEUM_2F (3 | (13 << 8))
#define MAP_LILYCOVE_CITY_CONTEST_LOBBY (4 | (13 << 8))
#define MAP_LILYCOVE_CITY_CONTEST_HALL (5 | (13 << 8))
#define MAP_LILYCOVE_CITY_POKEMON_CENTER_1F (6 | (13 << 8))
#define MAP_LILYCOVE_CITY_POKEMON_CENTER_2F (7 | (13 << 8))
#define MAP_LILYCOVE_CITY_UNUSED_MART (8 | (13 << 8))
#define MAP_LILYCOVE_CITY_POKEMON_TRAINER_FAN_CLUB (9 | (13 << 8))
#define MAP_LILYCOVE_CITY_HARBOR (10 | (13 << 8))
#define MAP_LILYCOVE_CITY_MOVE_DELETERS_HOUSE (11 | (13 << 8))
#define MAP_LILYCOVE_CITY_HOUSE1 (12 | (13 << 8))
#define MAP_LILYCOVE_CITY_HOUSE2 (13 | (13 << 8))
#define MAP_LILYCOVE_CITY_HOUSE3 (14 | (13 << 8))
#define MAP_LILYCOVE_CITY_HOUSE4 (15 | (13 << 8))
#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_1F (16 | (13 << 8))
#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_2F (17 | (13 << 8))
#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_3F (18 | (13 << 8))
#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_4F (19 | (13 << 8))
#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_5F (20 | (13 << 8))
#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ROOFTOP (21 | (13 << 8))
#define MAP_LILYCOVE_CITY_DEPARTMENT_STORE_ELEVATOR (22 | (13 << 8))
// Map Group 14
#define MAP_MOSSDEEP_CITY_GYM (0 | (14 << 8))
#define MAP_MOSSDEEP_CITY_HOUSE1 (1 | (14 << 8))
#define MAP_MOSSDEEP_CITY_HOUSE2 (2 | (14 << 8))
#define MAP_MOSSDEEP_CITY_POKEMON_CENTER_1F (3 | (14 << 8))
#define MAP_MOSSDEEP_CITY_POKEMON_CENTER_2F (4 | (14 << 8))
#define MAP_MOSSDEEP_CITY_MART (5 | (14 << 8))
#define MAP_MOSSDEEP_CITY_HOUSE3 (6 | (14 << 8))
#define MAP_MOSSDEEP_CITY_STEVENS_HOUSE (7 | (14 << 8))
#define MAP_MOSSDEEP_CITY_HOUSE4 (8 | (14 << 8))
#define MAP_MOSSDEEP_CITY_SPACE_CENTER_1F (9 | (14 << 8))
#define MAP_MOSSDEEP_CITY_SPACE_CENTER_2F (10 | (14 << 8))
#define MAP_MOSSDEEP_CITY_GAME_CORNER_1F (11 | (14 << 8))
#define MAP_MOSSDEEP_CITY_GAME_CORNER_B1F (12 | (14 << 8))
// Map Group 15
#define MAP_SOOTOPOLIS_CITY_GYM_1F (0 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_GYM_B1F (1 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F (2 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F (3 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_MART (4 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE1 (5 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE2 (6 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE3 (7 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE4 (8 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE5 (9 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE6 (10 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE7 (11 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_LOTAD_AND_SEEDOT_HOUSE (12 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F (13 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F (14 | (15 << 8))
// Map Group 16
#define MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM (0 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_PHOEBES_ROOM (1 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_GLACIAS_ROOM (2 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_DRAKES_ROOM (3 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM (4 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_HALL1 (5 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_HALL2 (6 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_HALL3 (7 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_HALL4 (8 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_HALL5 (9 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F (10 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_HALL_OF_FAME (11 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F (12 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_2F (13 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_2F (14 | (16 << 8))
// Map Group 17
#define MAP_ROUTE104_MR_BRINEYS_HOUSE (0 | (17 << 8))
#define MAP_ROUTE104_PRETTY_PETAL_FLOWER_SHOP (1 | (17 << 8))
// Map Group 18
#define MAP_ROUTE111_WINSTRATE_FAMILYS_HOUSE (0 | (18 << 8))
#define MAP_ROUTE111_OLD_LADYS_REST_STOP (1 | (18 << 8))
// Map Group 19
#define MAP_ROUTE112_CABLE_CAR_STATION (0 | (19 << 8))
#define MAP_MT_CHIMNEY_CABLE_CAR_STATION (1 | (19 << 8))
// Map Group 20
#define MAP_ROUTE114_FOSSIL_MANIACS_HOUSE (0 | (20 << 8))
#define MAP_ROUTE114_FOSSIL_MANIACS_TUNNEL (1 | (20 << 8))
#define MAP_ROUTE114_LANETTES_HOUSE (2 | (20 << 8))
// Map Group 21
#define MAP_ROUTE116_TUNNELERS_REST_HOUSE (0 | (21 << 8))
// Map Group 22
#define MAP_ROUTE117_POKEMON_DAY_CARE (0 | (22 << 8))
// Map Group 23
#define MAP_ROUTE121_SAFARI_ZONE_ENTRANCE (0 | (23 << 8))
// Map Group 24
#define MAP_METEOR_FALLS_1F_1R (0 | (24 << 8))
#define MAP_METEOR_FALLS_1F_2R (1 | (24 << 8))
#define MAP_METEOR_FALLS_B1F_1R (2 | (24 << 8))
#define MAP_METEOR_FALLS_B1F_2R (3 | (24 << 8))
#define MAP_RUSTURF_TUNNEL (4 | (24 << 8))
#define MAP_UNDERWATER_SOOTOPOLIS_CITY (5 | (24 << 8))
#define MAP_DESERT_RUINS (6 | (24 << 8))
#define MAP_GRANITE_CAVE_1F (7 | (24 << 8))
#define MAP_GRANITE_CAVE_B1F (8 | (24 << 8))
#define MAP_GRANITE_CAVE_B2F (9 | (24 << 8))
#define MAP_GRANITE_CAVE_STEVENS_ROOM (10 | (24 << 8))
#define MAP_PETALBURG_WOODS (11 | (24 << 8))
#define MAP_MT_CHIMNEY (12 | (24 << 8))
#define MAP_JAGGED_PASS (13 | (24 << 8))
#define MAP_FIERY_PATH (14 | (24 << 8))
#define MAP_MT_PYRE_1F (15 | (24 << 8))
#define MAP_MT_PYRE_2F (16 | (24 << 8))
#define MAP_MT_PYRE_3F (17 | (24 << 8))
#define MAP_MT_PYRE_4F (18 | (24 << 8))
#define MAP_MT_PYRE_5F (19 | (24 << 8))
#define MAP_MT_PYRE_6F (20 | (24 << 8))
#define MAP_MT_PYRE_EXTERIOR (21 | (24 << 8))
#define MAP_MT_PYRE_SUMMIT (22 | (24 << 8))
#define MAP_AQUA_HIDEOUT_1F (23 | (24 << 8))
#define MAP_AQUA_HIDEOUT_B1F (24 | (24 << 8))
#define MAP_AQUA_HIDEOUT_B2F (25 | (24 << 8))
#define MAP_UNDERWATER_SEAFLOOR_CAVERN (26 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ENTRANCE (27 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ROOM1 (28 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ROOM2 (29 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ROOM3 (30 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ROOM4 (31 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ROOM5 (32 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ROOM6 (33 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ROOM7 (34 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ROOM8 (35 | (24 << 8))
#define MAP_SEAFLOOR_CAVERN_ROOM9 (36 | (24 << 8))
#define MAP_CAVE_OF_ORIGIN_ENTRANCE (37 | (24 << 8))
#define MAP_CAVE_OF_ORIGIN_1F (38 | (24 << 8))
#define MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1 (39 | (24 << 8)) //
#define MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2 (40 | (24 << 8)) // Ruby/Sapphire leftovers
#define MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3 (41 | (24 << 8)) //
#define MAP_CAVE_OF_ORIGIN_B1F (42 | (24 << 8))
#define MAP_VICTORY_ROAD_1F (43 | (24 << 8))
#define MAP_VICTORY_ROAD_B1F (44 | (24 << 8))
#define MAP_VICTORY_ROAD_B2F (45 | (24 << 8))
#define MAP_SHOAL_CAVE_LOW_TIDE_ENTRANCE_ROOM (46 | (24 << 8))
#define MAP_SHOAL_CAVE_LOW_TIDE_INNER_ROOM (47 | (24 << 8))
#define MAP_SHOAL_CAVE_LOW_TIDE_STAIRS_ROOM (48 | (24 << 8))
#define MAP_SHOAL_CAVE_LOW_TIDE_LOWER_ROOM (49 | (24 << 8))
#define MAP_SHOAL_CAVE_HIGH_TIDE_ENTRANCE_ROOM (50 | (24 << 8))
#define MAP_SHOAL_CAVE_HIGH_TIDE_INNER_ROOM (51 | (24 << 8))
#define MAP_NEW_MAUVILLE_ENTRANCE (52 | (24 << 8))
#define MAP_NEW_MAUVILLE_INSIDE (53 | (24 << 8))
#define MAP_ABANDONED_SHIP_DECK (54 | (24 << 8))
#define MAP_ABANDONED_SHIP_CORRIDORS_1F (55 | (24 << 8))
#define MAP_ABANDONED_SHIP_ROOMS_1F (56 | (24 << 8))
#define MAP_ABANDONED_SHIP_CORRIDORS_B1F (57 | (24 << 8))
#define MAP_ABANDONED_SHIP_ROOMS_B1F (58 | (24 << 8))
#define MAP_ABANDONED_SHIP_ROOMS2_B1F (59 | (24 << 8))
#define MAP_ABANDONED_SHIP_UNDERWATER1 (60 | (24 << 8))
#define MAP_ABANDONED_SHIP_ROOM_B1F (61 | (24 << 8))
#define MAP_ABANDONED_SHIP_ROOMS2_1F (62 | (24 << 8))
#define MAP_ABANDONED_SHIP_CAPTAINS_OFFICE (63 | (24 << 8))
#define MAP_ABANDONED_SHIP_UNDERWATER2 (64 | (24 << 8))
#define MAP_ABANDONED_SHIP_HIDDEN_FLOOR_CORRIDORS (65 | (24 << 8))
#define MAP_ABANDONED_SHIP_HIDDEN_FLOOR_ROOMS (66 | (24 << 8))
#define MAP_ISLAND_CAVE (67 | (24 << 8))
#define MAP_ANCIENT_TOMB (68 | (24 << 8))
#define MAP_UNDERWATER_ROUTE134 (69 | (24 << 8))
#define MAP_UNDERWATER_SEALED_CHAMBER (70 | (24 << 8))
#define MAP_SEALED_CHAMBER_OUTER_ROOM (71 | (24 << 8))
#define MAP_SEALED_CHAMBER_INNER_ROOM (72 | (24 << 8))
#define MAP_SCORCHED_SLAB (73 | (24 << 8))
#define MAP_UNUSED_RUBY_MAGMA_HIDEOUT_1F (74 | (24 << 8)) //
#define MAP_UNUSED_RUBY_MAGMA_HIDEOUT_B1F (75 | (24 << 8)) // Ruby/Sapphire leftovers
#define MAP_UNUSED_RUBY_MAGMA_HIDEOUT_B2F (76 | (24 << 8)) //
#define MAP_SKY_PILLAR_ENTRANCE (77 | (24 << 8))
#define MAP_SKY_PILLAR_OUTSIDE (78 | (24 << 8))
#define MAP_SKY_PILLAR_1F (79 | (24 << 8))
#define MAP_SKY_PILLAR_2F (80 | (24 << 8))
#define MAP_SKY_PILLAR_3F (81 | (24 << 8))
#define MAP_SKY_PILLAR_4F (82 | (24 << 8))
#define MAP_SHOAL_CAVE_LOW_TIDE_ICE_ROOM (83 | (24 << 8))
#define MAP_SKY_PILLAR_5F (84 | (24 << 8))
#define MAP_SKY_PILLAR_TOP (85 | (24 << 8))
#define MAP_MAGMA_HIDEOUT_1F (86 | (24 << 8))
#define MAP_MAGMA_HIDEOUT_2F_1R (87 | (24 << 8))
#define MAP_MAGMA_HIDEOUT_2F_2R (88 | (24 << 8))
#define MAP_MAGMA_HIDEOUT_3F_1R (89 | (24 << 8))
#define MAP_MAGMA_HIDEOUT_3F_2R (90 | (24 << 8))
#define MAP_MAGMA_HIDEOUT_4F (91 | (24 << 8))
#define MAP_MAGMA_HIDEOUT_3F_3R (92 | (24 << 8))
#define MAP_MAGMA_HIDEOUT_2F_3R (93 | (24 << 8))
#define MAP_MIRAGE_TOWER_1F (94 | (24 << 8))
#define MAP_MIRAGE_TOWER_2F (95 | (24 << 8))
#define MAP_MIRAGE_TOWER_3F (96 | (24 << 8))
#define MAP_MIRAGE_TOWER_4F (97 | (24 << 8))
#define MAP_DESERT_UNDERPASS (98 | (24 << 8))
#define MAP_ARTISAN_CAVE_B1F (99 | (24 << 8))
#define MAP_ARTISAN_CAVE_1F (100 | (24 << 8))
#define MAP_UNDERWATER_MARINE_CAVE (101 | (24 << 8))
#define MAP_MARINE_CAVE_ENTRANCE (102 | (24 << 8))
#define MAP_MARINE_CAVE_END (103 | (24 << 8))
#define MAP_TERRA_CAVE_ENTRANCE (104 | (24 << 8))
#define MAP_TERRA_CAVE_END (105 | (24 << 8))
#define MAP_ALTERING_CAVE (106 | (24 << 8))
#define MAP_METEOR_FALLS_STEVENS_CAVE (107 | (24 << 8))
// Map Group 25
#define MAP_SECRET_BASE_RED_CAVE1 (0 | (25 << 8))
#define MAP_SECRET_BASE_BROWN_CAVE1 (1 | (25 << 8))
#define MAP_SECRET_BASE_BLUE_CAVE1 (2 | (25 << 8))
#define MAP_SECRET_BASE_YELLOW_CAVE1 (3 | (25 << 8))
#define MAP_SECRET_BASE_TREE1 (4 | (25 << 8))
#define MAP_SECRET_BASE_SHRUB1 (5 | (25 << 8))
#define MAP_SECRET_BASE_RED_CAVE2 (6 | (25 << 8))
#define MAP_SECRET_BASE_BROWN_CAVE2 (7 | (25 << 8))
#define MAP_SECRET_BASE_BLUE_CAVE2 (8 | (25 << 8))
#define MAP_SECRET_BASE_YELLOW_CAVE2 (9 | (25 << 8))
#define MAP_SECRET_BASE_TREE2 (10 | (25 << 8))
#define MAP_SECRET_BASE_SHRUB2 (11 | (25 << 8))
#define MAP_SECRET_BASE_RED_CAVE3 (12 | (25 << 8))
#define MAP_SECRET_BASE_BROWN_CAVE3 (13 | (25 << 8))
#define MAP_SECRET_BASE_BLUE_CAVE3 (14 | (25 << 8))
#define MAP_SECRET_BASE_YELLOW_CAVE3 (15 | (25 << 8))
#define MAP_SECRET_BASE_TREE3 (16 | (25 << 8))
#define MAP_SECRET_BASE_SHRUB3 (17 | (25 << 8))
#define MAP_SECRET_BASE_RED_CAVE4 (18 | (25 << 8))
#define MAP_SECRET_BASE_BROWN_CAVE4 (19 | (25 << 8))
#define MAP_SECRET_BASE_BLUE_CAVE4 (20 | (25 << 8))
#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_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_UNKNOWN_MAP_25_29 (29 | (25 << 8))
#define MAP_UNKNOWN_MAP_25_30 (30 | (25 << 8))
#define MAP_UNKNOWN_MAP_25_31 (31 | (25 << 8))
#define MAP_UNKNOWN_MAP_25_32 (32 | (25 << 8))
#define MAP_UNKNOWN_MAP_25_33 (33 | (25 << 8))
#define MAP_UNKNOWN_MAP_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_INSIDE_OF_TRUCK (40 | (25 << 8))
#define MAP_SS_TIDAL_CORRIDOR (41 | (25 << 8))
#define MAP_SS_TIDAL_LOWER_DECK (42 | (25 << 8))
#define MAP_SS_TIDAL_ROOMS (43 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE01 (44 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE02 (45 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE03 (46 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE04 (47 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE05 (48 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE06 (49 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE07 (50 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE08 (51 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE09 (52 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE10 (53 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE11 (54 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE12 (55 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE13 (56 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE14 (57 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE15 (58 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE16 (59 | (25 << 8))
#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))
// Map Group 27
#define MAP_ROUTE104_PROTOTYPE (0 | (27 << 8))
#define MAP_ROUTE104_PROTOTYPE_PRETTY_PETAL_FLOWER_SHOP (1 | (27 << 8))
// Map Group 28
#define MAP_ROUTE109_SEASHORE_HOUSE (0 | (28 << 8))
// Map Group 29
#define MAP_ROUTE110_TRICK_HOUSE_ENTRANCE (0 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_END (1 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_CORRIDOR (2 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE1 (3 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE2 (4 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE3 (5 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE4 (6 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE5 (7 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE6 (8 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE7 (9 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE8 (10 | (29 << 8))
#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE (11 | (29 << 8))
#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE (12 | (29 << 8))
// Map Group 30
#define MAP_ROUTE113_GLASS_WORKSHOP (0 | (30 << 8))
// Map Group 31
#define MAP_ROUTE123_BERRY_MASTERS_HOUSE (0 | (31 << 8))
// Map Group 32
#define MAP_ROUTE119_WEATHER_INSTITUTE_1F (0 | (32 << 8))
#define MAP_ROUTE119_WEATHER_INSTITUTE_2F (1 | (32 << 8))
#define MAP_ROUTE119_HOUSE (2 | (32 << 8))
// Map Group 33
#define MAP_ROUTE124_DIVING_TREASURE_HUNTERS_HOUSE (0 | (33 << 8))
#define MAP_GROUPS_COUNT 34
#include "map_groups.h"
#define MAP_NONE (0x7F | (0x7F << 8))
#define MAP_UNDEFINED (0xFF | (0xFF << 8))
#define MAP_GROUP(map) (MAP_##map >> 8)
#define MAP_NUM(map) (MAP_##map & 0xFF)

View File

@@ -538,4 +538,6 @@
#define MUS_ROUTE_118 0x7FFF // map is split into 2 music sections. controlled by GetCurrLocationDefaultMusic().
#define MUS_NONE 0xFFFF
#endif // GUARD_CONSTANTS_SONGS_H

View File

@@ -0,0 +1,29 @@
#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
// Values returned by the TrainerHillGetChallengeStatus
// function.
#define TRAINER_HILL_PLAYER_STATUS_LOST 0
#define TRAINER_HILL_PLAYER_STATUS_ECARD_SCANNED 1
#define TRAINER_HILL_PLAYER_STATUS_NORMAL 2
#endif

View File

@@ -1,7 +1,7 @@
#ifndef GUARD_CONSTANTS_VARS_H
#define GUARD_CONSTANTS_VARS_H
#define VAR_0x3F20 0x3F20
#define UNKNOWN_VAR_OFFSET_3F20 0x3F20
#define VARS_START 0x4000
@@ -46,257 +46,257 @@
#define VAR_OBJ_GFX_ID_F 0x401F
// general purpose vars
#define VAR_RECYCLE_GOODS 0x4020
#define VAR_REPEL_STEP_COUNT 0x4021
#define VAR_ICE_STEP_COUNT 0x4022
#define VAR_STARTER_MON 0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip
#define VAR_MIRAGE_RND_H 0x4024
#define VAR_MIRAGE_RND_L 0x4025
#define VAR_SECRET_BASE_MAP 0x4026
#define VAR_CYCLING_ROAD_RECORD_COLLISIONS 0x4027
#define VAR_CYCLING_ROAD_RECORD_TIME_L 0x4028
#define VAR_CYCLING_ROAD_RECORD_TIME_H 0x4029
#define VAR_HAPPINESS_STEP_COUNTER 0x402A
#define VAR_POISON_STEP_COUNTER 0x402B
#define VAR_RESET_RTC_ENABLE 0x402C
#define VAR_ENIGMA_BERRY_AVAILABLE 0x402D
#define VAR_0x402E 0x402E
#define VAR_RECYCLE_GOODS 0x4020
#define VAR_REPEL_STEP_COUNT 0x4021
#define VAR_ICE_STEP_COUNT 0x4022
#define VAR_STARTER_MON 0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip
#define VAR_MIRAGE_RND_H 0x4024
#define VAR_MIRAGE_RND_L 0x4025
#define VAR_SECRET_BASE_MAP 0x4026
#define VAR_CYCLING_ROAD_RECORD_COLLISIONS 0x4027
#define VAR_CYCLING_ROAD_RECORD_TIME_L 0x4028
#define VAR_CYCLING_ROAD_RECORD_TIME_H 0x4029
#define VAR_HAPPINESS_STEP_COUNTER 0x402A
#define VAR_POISON_STEP_COUNTER 0x402B
#define VAR_RESET_RTC_ENABLE 0x402C
#define VAR_ENIGMA_BERRY_AVAILABLE 0x402D
#define VAR_UNUSED_0x402E 0x402E // Unused Var
#define VAR_FRONTIER_MANIAC_FACILITY 0x402F
#define VAR_FRONTIER_GAMBLER_FACILITY 0x4030
#define VAR_FRONTIER_GAMBLER_SET_FACILITY_F 0x4031
#define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032
#define VAR_FRONTIER_GAMBLER_PLACED_BET_F 0x4033
#define VAR_FRONTIER_MANIAC_FACILITY 0x402F
#define VAR_FRONTIER_GAMBLER_FACILITY 0x4030
#define VAR_FRONTIER_GAMBLER_SET_FACILITY_F 0x4031
#define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032
#define VAR_FRONTIER_GAMBLER_PLACED_BET_F 0x4033
#define VAR_DEOXYS_ROCK_STEP_COUNT 0x4034
#define VAR_DEOXYS_ROCK_LEVEL 0x4035
#define VAR_STORAGE_UNKNOWN 0x4036
#define VAR_0x4037 0x4037
#define VAR_0x4038 0x4038
#define VAR_0x4039 0x4039
#define VAR_0x403A 0x403A
#define VAR_0x403B 0x403B
#define VAR_0x403C 0x403C
#define VAR_0x403D 0x403D
#define VAR_ALTERING_CAVE_WILD_SET 0x403E
#define VAR_0x403F 0x403F
#define VAR_DAYS 0x4040
#define VAR_FANCLUB_UNKNOWN_1 0x4041
#define VAR_FANCLUB_UNKNOWN_2 0x4042
#define VAR_DEPT_STORE_FLOOR 0x4043
#define VAR_0x4044 0x4044
#define VAR_POKELOT_PRIZE 0x4045
#define VAR_NATIONAL_DEX 0x4046
#define VAR_SEEDOT_SIZE_RECORD 0x4047
#define VAR_ASH_GATHER_COUNT 0x4048
#define VAR_BIRCH_STATE 0x4049
#define VAR_CRUISE_STEP_COUNT 0x404A
#define VAR_POKELOT_RND1 0x404B
#define VAR_POKELOT_RND2 0x404C
#define VAR_0x404D 0x404D
#define VAR_0x404E 0x404E
#define VAR_LOTAD_SIZE_RECORD 0x404F
#define VAR_0x4050 0x4050
#define VAR_0x4051 0x4051
#define VAR_0x4052 0x4052
#define VAR_0x4053 0x4053
#define VAR_CURRENT_SECRET_BASE 0x4054
#define VAR_0x4055 0x4055
#define VAR_0x4056 0x4056
#define VAR_0x4057 0x4057
#define VAR_0x4058 0x4058
#define VAR_0x4059 0x4059
#define VAR_0x405A 0x405A
#define VAR_0x405B 0x405B
#define VAR_0x405C 0x405C
#define VAR_0x405D 0x405D
#define VAR_0x405E 0x405E
#define VAR_0x405F 0x405F
#define VAR_0x4060 0x4060
#define VAR_0x4061 0x4061
#define VAR_0x4062 0x4062
#define VAR_0x4063 0x4063
#define VAR_0x4064 0x4064
#define VAR_0x4065 0x4065
#define VAR_0x4066 0x4066
#define VAR_0x4067 0x4067
#define VAR_0x4068 0x4068
#define VAR_0x4069 0x4069
#define VAR_0x406A 0x406A
#define VAR_0x406B 0x406B
#define VAR_0x406C 0x406C
#define VAR_0x406D 0x406D
#define VAR_0x406E 0x406E
#define VAR_0x406F 0x406F
#define VAR_0x4070 0x4070
#define VAR_0x4071 0x4071
#define VAR_0x4072 0x4072
#define VAR_0x4073 0x4073
#define VAR_0x4074 0x4074
#define VAR_0x4075 0x4075
#define VAR_0x4076 0x4076
#define VAR_0x4077 0x4077
#define VAR_0x4078 0x4078
#define VAR_0x4079 0x4079
#define VAR_0x407A 0x407A
#define VAR_0x407B 0x407B
#define VAR_0x407C 0x407C
#define VAR_0x407D 0x407D
#define VAR_0x407E 0x407E
#define VAR_0x407F 0x407F
#define VAR_0x4080 0x4080
#define VAR_0x4081 0x4081
#define VAR_0x4082 0x4082
#define VAR_0x4083 0x4083
#define VAR_0x4084 0x4084
#define VAR_0x4085 0x4085
#define VAR_0x4086 0x4086
#define VAR_0x4087 0x4087
#define VAR_0x4088 0x4088
#define VAR_0x4089 0x4089
#define VAR_0x408A 0x408A
#define VAR_0x408B 0x408B
#define VAR_0x408C 0x408C
#define VAR_0x408D 0x408D
#define VAR_0x408E 0x408E
#define VAR_0x408F 0x408F
#define VAR_0x4090 0x4090
#define VAR_0x4091 0x4091
#define VAR_0x4092 0x4092
#define VAR_0x4093 0x4093
#define VAR_0x4094 0x4094
#define VAR_LILYCOVE_FAN_CLUB_STATE 0x4095
#define VAR_0x4096 0x4096
#define VAR_0x4097 0x4097
#define VAR_0x4098 0x4098
#define VAR_0x4099 0x4099
#define VAR_RUSTURF_TUNNEL_STATE 0x409A
#define VAR_0x409B 0x409B
#define VAR_0x409C 0x409C
#define VAR_0x409D 0x409D
#define VAR_0x409E 0x409E
#define VAR_0x409F 0x409F
#define VAR_0x40A0 0x40A0
#define VAR_0x40A1 0x40A1
#define VAR_0x40A2 0x40A2
#define VAR_0x40A3 0x40A3
#define VAR_0x40A4 0x40A4
#define VAR_0x40A5 0x40A5
#define VAR_0x40A6 0x40A6
#define VAR_0x40A7 0x40A7
#define VAR_0x40A8 0x40A8
#define VAR_CYCLING_CHALLENGE_STATE 0x40A9
#define VAR_0x40AA 0x40AA
#define VAR_0x40AB 0x40AB
#define VAR_0x40AC 0x40AC
#define VAR_0x40AD 0x40AD
#define VAR_0x40AE 0x40AE
#define VAR_0x40AF 0x40AF
#define VAR_0x40B0 0x40B0
#define VAR_0x40B1 0x40B1
#define VAR_0x40B2 0x40B2
#define VAR_WEATHER_INSTITUTE_STATE 0x40B3
#define VAR_PORTHOLE_STATE 0x40B4
#define VAR_0x40B5 0x40B5
#define VAR_0x40B6 0x40B6
#define VAR_0x40B7 0x40B7
#define VAR_0x40B8 0x40B8
#define VAR_0x40B9 0x40B9
#define VAR_0x40BA 0x40BA
#define VAR_0x40BB 0x40BB
#define VAR_0x40BC 0x40BC
#define VAR_0x40BD 0x40BD
#define VAR_0x40BE 0x40BE
#define VAR_0x40BF 0x40BF
#define VAR_0x40C0 0x40C0
#define VAR_0x40C1 0x40C1
#define VAR_PACIFIDLOG_TM_RECEIVED_DAY 0x40C2
#define VAR_0x40C3 0x40C3
#define VAR_0x40C4 0x40C4
#define VAR_0x40C5 0x40C5
#define VAR_0x40C6 0x40C6
#define VAR_0x40C7 0x40C7
#define VAR_0x40C8 0x40C8
#define VAR_0x40C9 0x40C9
#define VAR_0x40CA 0x40CA
#define VAR_0x40CB 0x40CB
#define VAR_0x40CC 0x40CC
#define VAR_0x40CD 0x40CD
#define VAR_FRONTIER_BATTLE_MODE 0x40CE
#define VAR_FRONTIER_FACILITY 0x40CF
#define VAR_0x40D0 0x40D0
#define VAR_0x40D1 0x40D1
#define VAR_0x40D2 0x40D2
#define VAR_0x40D3 0x40D3
#define VAR_0x40D4 0x40D4
#define VAR_0x40D5 0x40D5
#define VAR_0x40D6 0x40D6
#define VAR_0x40D7 0x40D7
#define VAR_0x40D8 0x40D8
#define VAR_0x40D9 0x40D9
#define VAR_0x40DA 0x40DA
#define VAR_0x40DB 0x40DB
#define VAR_0x40DC 0x40DC
#define VAR_EVENT_PICHU_SLOT 0x40DD
#define VAR_0x40DE 0x40DE
#define VAR_0x40DF 0x40DF
#define VAR_0x40E0 0x40E0
#define VAR_0x40E1 0x40E1
#define VAR_0x40E2 0x40E2
#define VAR_0x40E3 0x40E3
#define VAR_0x40E4 0x40E4
#define VAR_0x40E5 0x40E5
#define VAR_DAILY_SLOTS 0x40E6
#define VAR_DAILY_WILDS 0x40E7
#define VAR_DAILY_BLENDER 0x40E8
#define VAR_DAILY_PLANTED_BERRIES 0x40E9
#define VAR_DAILY_PICKED_BERRIES 0x40EA
#define VAR_DAILY_ROULETTE 0x40EB
#define VAR_0x40EC 0x40EC
#define VAR_0x40ED 0x40ED
#define VAR_0x40EE 0x40EE
#define VAR_0x40EF 0x40EF
#define VAR_0x40F0 0x40F0
#define VAR_DAILY_BP 0x40F1
#define VAR_0x40F2 0x40F2
#define VAR_0x40F3 0x40F3
#define VAR_0x40F4 0x40F4
#define VAR_0x40F5 0x40F5
#define VAR_0x40F6 0x40F6
#define VAR_0x40F7 0x40F7
#define VAR_0x40F8 0x40F8
#define VAR_0x40F9 0x40F9
#define VAR_0x40FA 0x40FA
#define VAR_0x40FB 0x40FB
#define VAR_0x40FC 0x40FC
#define VAR_0x40FD 0x40FD
#define VAR_0x40FE 0x40FE
#define VAR_0x40FF 0x40FF
#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_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_DAYS 0x4040
#define VAR_FANCLUB_UNKNOWN_1 0x4041
#define VAR_FANCLUB_UNKNOWN_2 0x4042
#define VAR_DEPT_STORE_FLOOR 0x4043
#define VAR_0x4044 0x4044
#define VAR_POKELOT_PRIZE_ITEM 0x4045
#define VAR_NATIONAL_DEX 0x4046
#define VAR_SEEDOT_SIZE_RECORD 0x4047
#define VAR_ASH_GATHER_COUNT 0x4048
#define VAR_BIRCH_STATE 0x4049
#define VAR_CRUISE_STEP_COUNT 0x404A
#define VAR_POKELOT_RND1 0x404B
#define VAR_POKELOT_RND2 0x404C
#define VAR_POKELOT_PRIZE_PLACE 0x404D
#define VAR_UNUSED_0x404E 0x404E // Unused Var
#define VAR_LOTAD_SIZE_RECORD 0x404F
#define VAR_0x4050 0x4050
#define VAR_ROUTE102_ACCESSIBLE 0x4051
#define VAR_UNUSED_0x4052 0x4052 // Unused Var
#define VAR_LAVARIDGE_RIVAL_STATE 0x4053
#define VAR_CURRENT_SECRET_BASE 0x4054
#define VAR_UNUSED_0x4055 0x4055 // Unused Var
#define VAR_UNUSED_0x4056 0x4056 // Unused Var
#define VAR_PETALBURG_STATE 0x4057
#define VAR_SLATEPORT_STATE 0x4058
#define VAR_UNUSED_0x4059 0x4059 // Unused Var
#define VAR_RUSTBORO_STATE 0x405A
#define VAR_UNUSED_0x405B 0x405B // Unused Var
#define VAR_UNUSED_0x405C 0x405C // Unused Var
#define VAR_MOSSDEEP_STATE 0x405D
#define VAR_RAYQUAZA_STATE 0x405E
#define VAR_UNUSED_0x405F 0x405F // Unused Var
#define VAR_ROUTE101_STATE 0x4060
#define VAR_UNUSED_0x4061 0x4061 // Unused Var
#define VAR_UNUSED_0x4062 0x4062 // Unused Var
#define VAR_0x4063 0x4063
#define VAR_UNUSED_0x4064 0x4064 // Unused Var
#define VAR_UNUSED_0x4065 0x4065 // Unused Var
#define VAR_UNUSED_0x4066 0x4066 // Unused Var
#define VAR_UNUSED_0x4067 0x4067 // Unused Var
#define VAR_UNUSED_0x4068 0x4068 // Unused Var
#define VAR_ROUTE110_STATE 0x4069
#define VAR_UNUSED_0x406A 0x406A // Unused Var
#define VAR_UNUSED_0x406B 0x406B // Unused Var
#define VAR_UNUSED_0x406C 0x406C // Unused Var
#define VAR_UNUSED_0x406D 0x406D // Unused Var
#define VAR_UNUSED_0x406E 0x406E // Unused Var
#define VAR_ROUTE116_STATE 0x406F
#define VAR_UNUSED_0x4070 0x4070 // Unused Var
#define VAR_ROUTE118_STATE 0x4071
#define VAR_ROUTE119_STATE 0x4072
#define VAR_UNUSED_0x4073 0x4073 // Unused Var
#define VAR_ROUTE121_STATE 0x4074
#define VAR_UNUSED_0x4075 0x4075 // Unused Var
#define VAR_UNUSED_0x4076 0x4076 // Unused Var
#define VAR_UNUSED_0x4077 0x4077 // Unused Var
#define VAR_UNUSED_0x4078 0x4078 // Unused Var
#define VAR_UNUSED_0x4079 0x4079 // Unused Var
#define VAR_UNUSED_0x407A 0x407A // Unused Var
#define VAR_ROUTE128_STATE 0x407B
#define VAR_UNUSED_0x407C 0x407C // Unused Var
#define VAR_UNUSED_0x407D 0x407D // Unused Var
#define VAR_UNUSED_0x407E 0x407E // Unused Var
#define VAR_UNUSED_0x407F 0x407F // Unused Var
#define VAR_UNUSED_0x4080 0x4080 // Unused Var
#define VAR_UNUSED_0x4081 0x4081 // Unused Var
#define VAR_LITTLEROOT_HOUSES_STATE 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_CABLE_CLUB_STATE 0x4087
#define VAR_CONTEST_LOCATION 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_RIVAL_STATE 0x408D
#define VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE 0x408E
#define VAR_DEVON_CORP_3F_STATE 0x408F
#define VAR_BRINEY_HOUSE_STATE 0x4090
#define VAR_UNUSED_0x4091 0x4091 // Unused Var
#define VAR_LITTLEROOT_INTRO_STATE 0x4092
#define VAR_MAUVILLE_GYM_STATE 0x4093
#define VAR_LILYCOVE_MUSEUM_2F_STATE 0x4094
#define VAR_LILYCOVE_FAN_CLUB_STATE 0x4095
#define VAR_BRINEY_LOCATION 0x4096
#define VAR_INIT_SECRET_BASE 0x4097
#define VAR_PETALBURG_WOODS_STATE 0x4098
#define VAR_LILYCOVE_CONTEST_LOBBY_STATE 0x4099
#define VAR_RUSTURF_TUNNEL_STATE 0x409A
#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_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_UNUSED_0x40A8 0x40A8 // Unused Var
#define VAR_CYCLING_CHALLENGE_STATE 0x40A9
#define VAR_SLATEPORT_MUSEUM_1F_STATE 0x40AA
#define VAR_TRICK_HOUSE_PUZZLE_1_STATE 0x40AB
#define VAR_TRICK_HOUSE_PUZZLE_2_STATE 0x40AC
#define VAR_TRICK_HOUSE_PUZZLE_3_STATE 0x40AD
#define VAR_TRICK_HOUSE_PUZZLE_4_STATE 0x40AE
#define VAR_TRICK_HOUSE_PUZZLE_5_STATE 0x40AF
#define VAR_TRICK_HOUSE_PUZZLE_6_STATE 0x40B0
#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_SLATEPORT_FAN_CLUB_STATE 0x40B7
#define VAR_UNUSED_0x40B8 0x40B8 // Unused Var
#define VAR_MT_PYRE_STATE 0x40B9
#define VAR_NEW_MAUVILLE_STATE 0x40BA
#define VAR_UNUSED_0x40BB 0x40BB // Unused Var
#define VAR_BRAVO_TRAINER_BATTLE_TOWER_ON 0x40BC
#define VAR_JAGGED_PASS_ASH_WEATHER 0x40BD
#define VAR_GLASS_WORKSHOP_STATE 0x40BE
#define VAR_METEOR_FALLS_STATE 0x40BF
#define VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE 0x40C0
#define VAR_TRICK_HOUSE_PRIZE_PICKUP 0x40C1
#define VAR_PACIFIDLOG_TM_RECEIVED_DAY 0x40C2
#define VAR_VICTORY_ROAD_1F_STATE 0x40C3
#define VAR_FOSSIL_RESURRECTION_STATE 0x40C4
#define VAR_WHICH_FOSSIL_REVIVED 0x40C5
#define VAR_STEVENS_HOUSE_STATE 0x40C6
#define VAR_OLDALE_STATE 0x40C7
#define VAR_JAGGED_PASS_STATE 0x40C8
#define VAR_SCOTT_PETALBURG_ENCOUNTER 0x40C9
#define VAR_SKY_PILLAR_STATE 0x40CA
#define VAR_ROUTE_111_STATE 0x40CB
#define VAR_FOSSIL_MANIAC_STATE 0x40CC
#define VAR_CABLE_CLUB_TUTORIAL_STATE 0x40CD
#define VAR_FRONTIER_BATTLE_MODE 0x40CE
#define VAR_FRONTIER_FACILITY 0x40CF
#define VAR_HAS_ENTERED_BATTLE_FRONTIER 0x40D0 // Var is used like a flag.
#define VAR_SCOTT_STATE 0x40D1
#define VAR_SLATEPORT_OUTSIDE_MUSEUM_STATE 0x40D2
#define VAR_0x40D3 0x40D3
#define VAR_SS_TIDAL_SCOTT_STATE 0x40D4 // Always equal to FLAG_MET_SCOTT_ON_SS_TIDAL
#define VAR_ROAMER_POKEMON 0x40D5 // 0 = Latias, 1 = Latios
#define VAR_TRAINER_HILL_IS_ACTIVE 0x40D6
#define VAR_SKY_PILLAR_RAQUAZA_CRY_DONE 0x40D7
#define VAR_SOOTOPOLIS_STATE 0x40D8
#define VAR_HAS_TALKED_TO_SEAFLOOR_CAVERN_ENTRANCE_GRUNT 0x40D9
#define VAR_0x40DA 0x40DA
#define VAR_UNUSED_0x40DB 0x40DB // Unused Var
#define VAR_UNUSED_0x40DC 0x40DC // Unused Var
#define VAR_EVENT_PICHU_SLOT 0x40DD
#define VAR_NEVER_READ_0x40DE 0x40DE // Var is written to, but never read
#define VAR_NEVER_READ_0x40DF 0x40DF // Var is written to, but never read
#define VAR_NEVER_READ_0x40E0 0x40E0 // Var is written to, but never read
#define VAR_NEVER_READ_0x40E1 0x40E1 // Var is written to, but never read
#define VAR_NEVER_READ_0x40E2 0x40E2 // Var is written to, but never read
#define VAR_NEVER_READ_0x40E3 0x40E3 // Var is written to, but never read
#define VAR_NEVER_READ_0x40E4 0x40E4 // var is written to, but never read
#define VAR_UNUSED_0x40E5 0x40E5 // Unused Var
#define VAR_DAILY_SLOTS 0x40E6
#define VAR_DAILY_WILDS 0x40E7
#define VAR_DAILY_BLENDER 0x40E8
#define VAR_DAILY_PLANTED_BERRIES 0x40E9
#define VAR_DAILY_PICKED_BERRIES 0x40EA
#define VAR_DAILY_ROULETTE 0x40EB
#define VAR_SECRET_BASE_STEP_COUNTER 0x40EC // Used by Secret Base TV programs
#define VAR_SECRET_BASE_LAST_ITEM_USED 0x40ED // Used by Secret Base TV programs
#define VAR_SECRET_BASE_LOW_TV_FLAGS 0x40EE // Used by Secret Base TV programs
#define VAR_SECRET_BASE_HIGH_TV_FLAGS 0x40EF // Used by Secret Base TV programs
#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_ROXANNE_CALL_STEP_COUNTER 0x40F4
#define VAR_SCOTT_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
#define VAR_UNUSED_0x40F9 0x40F9 // Unused Var
#define VAR_UNUSED_0x40FA 0x40FA // Unused Var
#define VAR_UNUSED_0x40FB 0x40FB // Unused Var
#define VAR_UNUSED_0x40FC 0x40FC // Unused Var
#define VAR_UNUSED_0x40FD 0x40FD // Unused Var
#define VAR_UNUSED_0x40FE 0x40FE // Unused Var
#define VAR_UNUSED_0x40FF 0x40FF // Unused Var
#define SPECIAL_VARS_START 0x8000
// special vars
// They are commonly used as parameters to commands, or return values from commands.
#define VAR_0x8000 0x8000
#define VAR_0x8001 0x8001
#define VAR_0x8002 0x8002
#define VAR_0x8003 0x8003
#define VAR_0x8004 0x8004
#define VAR_0x8005 0x8005
#define VAR_0x8006 0x8006
#define VAR_0x8007 0x8007
#define VAR_0x8008 0x8008
#define VAR_0x8009 0x8009
#define VAR_0x800A 0x800A
#define VAR_0x800B 0x800B
#define VAR_FACING 0x800C
#define VAR_RESULT 0x800D
#define VAR_ITEM_ID 0x800E
#define VAR_LAST_TALKED 0x800F
#define VAR_CONTEST_RANK 0x8010
#define VAR_CONTEST_CATEGORY 0x8011
#define VAR_MON_BOX_ID 0x8012
#define VAR_MON_BOX_POS 0x8013
#define VAR_0x8014 0x8014
#define VAR_0x8015 0x8015
#define VAR_0x8000 0x8000
#define VAR_0x8001 0x8001
#define VAR_0x8002 0x8002
#define VAR_0x8003 0x8003
#define VAR_0x8004 0x8004
#define VAR_0x8005 0x8005
#define VAR_0x8006 0x8006
#define VAR_0x8007 0x8007
#define VAR_0x8008 0x8008
#define VAR_0x8009 0x8009
#define VAR_0x800A 0x800A
#define VAR_0x800B 0x800B
#define VAR_FACING 0x800C
#define VAR_RESULT 0x800D
#define VAR_ITEM_ID 0x800E
#define VAR_LAST_TALKED 0x800F
#define VAR_CONTEST_RANK 0x8010
#define VAR_CONTEST_CATEGORY 0x8011
#define VAR_MON_BOX_ID 0x8012
#define VAR_MON_BOX_POS 0x8013
#define VAR_UNUSED_0x8014 0x8014
#define VAR_TRAINER_BATTLE_OPPONENT_A 0x8015 // Alias of gTrainerBattleOpponent_A
#endif // GUARD_CONSTANTS_VARS_H

View File

@@ -16,7 +16,7 @@
#define WEATHER_DROUGHT 12
#define WEATHER_RAIN_HEAVY 13
#define WEATHER_BUBBLES 14
#define WEATHER_15 15
#define WEATHER_ALTERNATING 15
#define WEATHER_ROUTE119_CYCLE 20
#define WEATHER_ROUTE123_CYCLE 21
@@ -37,4 +37,30 @@
#define COORD_EVENT_WEATHER_ROUTE119_CYCLE 20
#define COORD_EVENT_WEATHER_ROUTE123_CYCLE 21
// These are the "unusual 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 UNUSUAL_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
// 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
#endif // GUARD_CONSTANTS_WEATHER_H

View File

@@ -437,6 +437,8 @@ extern u8 gHighestRibbonRank;
extern struct ContestResources *gContestResources;
extern u8 sContestBgCopyFlags;
extern struct ContestWinner gUnknown_02039F3C;
extern u8 gUnknown_02039F5C;
extern u8 gUnknown_02039F5D;
extern u32 gContestRngValue;
@@ -476,5 +478,6 @@ bool32 sub_80FC4F4(void *, u16);
bool8 sub_80FC55C(void);
bool8 sub_80FC530(u8);
u8 sub_80F86E0(u8 *);
void sub_80FC9F8(u8 taskId);
#endif //GUARD_CONTEST_H

View File

@@ -19,6 +19,7 @@ struct ContestEffect
extern const struct ContestMove gContestMoves[];
extern const struct ContestEffect gContestEffects[];
extern const u8 *const gContestEffectDescriptionPointers[];
extern const u8 *const gContestMoveTypeTextPointers[];
bool8 AreMovesContestCombo(u16 lastMove, u16 nextMove);

View File

@@ -4,5 +4,10 @@
void sub_80FCC88(u8);
void sub_80FCC88(u8);
void sub_80FCACC(u8);
void sub_80FC580(u8);
void sub_80FC6BC(u8);
void sub_80FC804(u8);
void sub_80FCE48(u8);
void sub_80FC894(u8);
#endif //GUARD_CONTEST_LINK_80FC4F4_H

View File

@@ -13,7 +13,4 @@ enum
void sub_812FDA8(int);
void CB2_ContestPainting(void);
extern u8 gUnknown_02039F5C;
extern u8 gUnknown_02039F5D;
#endif

View File

@@ -4,5 +4,8 @@
void InitDewfordTrend(void);
void UpdateDewfordTrendPerDay(u16);
void UpdateDewfordTrendPerDay(u16 days);
bool8 sub_81226D8(u16 *a);
void ReceiveEasyChatPairsData(struct EasyChatPair *a, size_t b, u8 unused);
#endif // GUARD_DEWFORDTREND_H

View File

@@ -2,18 +2,138 @@
#define GUARD_EASYCHAT_H
#include "main.h"
#include "constants/easy_chat.h"
struct EasyChatScreenTemplate
{
u8 type;
u8 numColumns;
u8 numRows;
u8 frameId:7;
u8 fourFooterOptions:1;
const u8 *titleText;
const u8 *instructionsText1;
const u8 *instructionsText2;
const u8 *confirmText1;
const u8 *confirmText2;
};
struct EasyChatScreen
{
/*0x00*/ u8 type;
/*0x01*/ u8 templateId;
/*0x02*/ u8 numColumns;
/*0x03*/ u8 numRows;
/*0x04*/ u8 state;
/*0x05*/ s8 mainCursorColumn;
/*0x06*/ s8 mainCursorRow;
/*0x07*/ u8 unk_07;
/*0x08*/ u8 stateBackup;
/*0x09*/ u8 unk_09;
/*0x0A*/ s8 unk_0a;
/*0x0B*/ s8 unk_0b;
/*0x0C*/ u8 unk_0c;
/*0x0D*/ u8 unk_0d;
/*0x0E*/ u8 unk_0e;
/*0x0F*/ u8 unk_0f;
/*0x10*/ s8 unk_10;
/*0x11*/ s8 unk_11;
/*0x12*/ u8 displayedPersonType;
/*0x13*/ u8 unk_13;
/*0x14*/ u8 unk_14[0x20];
/*0x34*/ const u8 *titleText;
/*0x38*/ u16 *words;
/*0x3C*/ u16 ecWordBuffer[9];
};
struct Unk203A11C
{
u16 unk0;
u16 windowId;
u16 unk4;
u8 unk6;
u8 unk7;
s8 unk8;
u8 unk9;
u8 unkA;
u8 unkB[0xC1];
u8 unkCC[0x202];
u16 unk2CE;
int unk2D0;
int unk2D4;
struct Sprite *unk2D8;
struct Sprite *unk2DC;
struct Sprite *unk2E0;
struct Sprite *unk2E4;
struct Sprite *unk2E8;
struct Sprite *unk2EC;
struct Sprite *unk2F0;
struct Sprite *unk2F4;
struct Sprite *unk2F8;
struct Sprite *unk2FC;
u16 unk300[BG_SCREEN_SIZE / 2];
u16 unkB00[BG_SCREEN_SIZE / 2];
};
struct EasyChatPhraseFrameDimensions
{
u8 left:5;
u8 top:3;
u8 width;
u8 height;
u8 footerId;
};
struct EasyChatWordInfo
{
const u8 *text;
int alphabeticalOrder;
int enabled;
};
typedef union
{
const u16 *valueList;
const struct EasyChatWordInfo *words;
} EasyChatGroupWordData;
struct EasyChatGroup
{
EasyChatGroupWordData wordData;
u16 numWords;
u16 numEnabledWords;
};
struct Unk203A120
{
u16 unk0;
u16 unk2[EC_NUM_GROUPS];
u16 unk2E[27];
u16 unk64[27][270];
u8 filler3958[0x2C];
u16 unk3984[0x10E];
u16 unk3BA0;
}; /*size = 0x3BA4*/
struct EasyChatWordsByLetter
{
const u16 *words;
int numWords;
};
void InitEasyChatPhrases(void);
void easy_chat_input_maybe(void);
void ShowEasyChatScreen(void);
u8 * CopyEasyChatWord(u8 *dest, u16 word);
bool32 sub_811F8D8(u16 word);
bool32 sub_811F8D8(int word);
void InitializeEasyChatWordArray(u16 *words, u16 length);
void ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 length1, u16 length2);
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);
bool16 EasyChat_GetNumWordsInGroup(u8);
u16 EasyChat_GetNumWordsInGroup(u8);
u16 sub_811EE90(u16);
void sub_811A20C(u8 kind, u16 *words, MainCallback callback, u8 sizeParam);
void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback, u8 displayedPersonType);
void sub_811F8BC(void);
void sub_811EFC0(u8 additionalPhraseId);
#endif // GUARD_EASYCHAT_H

20
include/ereader_helpers.h Executable file
View File

@@ -0,0 +1,20 @@
#ifndef GUARD_EREADER_HELPERS_H
#define GUARD_EREADER_HELPERS_H
struct Unk81D38FC
{
u8 unk0[0x270];
int checksum;
};
bool8 sub_81D3920(u8 *buffer);
bool32 sub_81D3AB0(struct Unk81D38FC *arg0);
bool32 sub_81D3B34(void);
int sub_81D3D70(u8, u32, u32*, u32*);
void sub_81D3F9C(void);
void sub_81D3FAC(void);
void sub_81D41A0(void);
void sub_81D41F4(void);
void sub_81D4238(void);
#endif // GUARD_EREADER_HELPERS_H

6
include/ereader_screen.h Executable file
View File

@@ -0,0 +1,6 @@
#ifndef GUARD_EREADER_SCREEN_H
#define GUARD_EREADER_SCREEN_H
void sub_81D5014(void);
#endif // GUARD_EREADER_SCREEN_H

View File

@@ -6,7 +6,7 @@
void InitEventData(void);
void ClearTempFieldEventData(void);
void ClearUpperFlags(void);
void ClearDailyFlags(void);
void DisableNationalPokedex(void);
void EnableNationalPokedex(void);
bool32 IsNationalPokedexEnabled(void);
@@ -47,6 +47,6 @@ extern u16 gSpecialVar_LastTalked;
extern u16 gSpecialVar_Facing;
extern u16 gSpecialVar_MonBoxId;
extern u16 gSpecialVar_MonBoxPos;
extern u16 gSpecialVar_0x8014;
extern u16 gSpecialVar_Unused_0x8014;
#endif // GUARD_EVENT_DATA_H

View File

@@ -7,5 +7,6 @@ bool8 sub_809847C(void);
void LockSelectedEventObject(void);
void sub_8098630(void);
bool8 sub_8098734(void);
void ScriptUnfreezeEventObjects(void);
#endif // GUARD_EVENT_OBJ_LOCK_H

View File

@@ -193,6 +193,9 @@ void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible);
s16 sub_809773C(s16 a1);
s16 sub_8097728(s16 a1);
void CameraObjectReset2(void);
u8 EventObjectGetBerryTreeId(u8 eventObjectId);
void sub_8092EF0(u8 mapId, u8 mapNumber, u8 mapGroup);
bool8 IsBerryTreeSparkling(u8, u8, u8);
void MovementType_None(struct Sprite *);
void MovementType_LookAround(struct Sprite *);

View File

@@ -564,7 +564,7 @@ extern const u8 EventScript_FallDownHole[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252BE8[];
extern const u8 EventScript_Poison[];
extern const u8 EventScript_EggHatch[];
extern const u8 gUnknown_08273D1F[];
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[];
@@ -576,8 +576,8 @@ extern const u8 gUnknown_082A8350[];
// Battle Pyramid.
extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C88[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C4F[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_EventScript_252C6A[];
extern const u8 BattlePyramid_TrainerBattle[];
extern const u8 BattlePyramid_FindItemBall[];
// fldeff misc
extern const u8 EventScript_275A86[];

10
include/faraway_island.h Executable file
View File

@@ -0,0 +1,10 @@
#ifndef GUARD_FARAWAY_ISLAND_H
#define GUARD_FARAWAY_ISLAND_H
u32 sub_81D427C(void);
bool8 sub_81D4A58(struct EventObject*);
void UpdateFarawayIslandStepCounter(void);
bool8 EventObjectIsFarawayIslandMew(struct EventObject *);
bool8 IsMewPlayingHideAndSeek(void);
#endif // GUARD_FARAWAY_ISLAND_H

View File

@@ -32,5 +32,6 @@ void SetCameraPanningCallback(void (*a)(void));
void SetCameraPanning(s16 a, s16 b);
void InstallCameraPanAheadCallback(void);
void UpdateCameraPanning(void);
void FieldUpdateBgTilemapScroll(void);
#endif //GUARD_FIELD_CAMERA_H

View File

@@ -37,5 +37,8 @@ u8 sub_8068F18(void);
bool8 dive_warp(struct MapPosition *position, u16 b);
int SetCableClubWarp(void);
u8 TrySetDiveWarp(void);
const u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatileBehavior, u8 direction);
u8 *GetCoordEventScriptAtMapPosition(struct MapPosition *position);
void ClearPoisonStepCounter(void);
#endif // GUARD_FIELDCONTROLAVATAR_H

View File

@@ -13,6 +13,7 @@ extern bool8 (*gFieldCallback2)(void);
u32 FieldEffectStart(u8);
bool8 FieldEffectActiveListContains(u8 id);
void FieldEffectActiveListClear(void);
void sub_80B69DC(void);
u8 AddNewGameBirchObject(s16, s16, u8);
void FieldEffectStop(struct Sprite *sprite, u8 id);
@@ -35,6 +36,10 @@ 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 sub_80B9C28(s16*, u8);
void sub_80B9C54(s16*, u8);
@@ -46,5 +51,6 @@ void sub_80B7A58(struct Sprite*);
void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b);
void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId);
u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority);
void StartEscapeRopeFieldEffect(void);
#endif //GUARD_FIELD_EFFECTS_H

View File

@@ -34,5 +34,6 @@ void UpdateSparkleFieldEffect(struct Sprite*);
void SetSpriteInvisible(u8 spriteId);
void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y);
void sub_8155604(u8 spriteId, u8 value, s16 data1);
void sub_81555D8(u8 spriteId, u8 value);
#endif //GUARD_FIELD_EFFECT_HELPERS_H

View File

@@ -17,5 +17,6 @@ void HideFieldMessageBox(void);
bool8 IsFieldMessageBoxHidden(void);
u8 GetFieldMessageBoxMode(void);
void sub_8098374(void);
void InitFieldMessageBox(void);
#endif // GUARD_FIELD_MESSAGE_BOX_H

View File

@@ -60,5 +60,18 @@ bool8 IsPlayerFacingSurfableFishableWater(void);
bool8 IsPlayerSurfingNorth(void);
void sub_808C228(u8 direction);
u8 sub_808BCD0(void);
void sub_808B578(void);
u8 GetFRLGAvatarGraphicsIdByGender(u8);
u8 GetRSAvatarGraphicsIdByGender(u8);
void sub_808B980(u8 direction);
void sub_808B9BC(u8 direction);
void sub_808B9A4(u8 direction);
void sub_808C1B4(u8 direction);
void sub_808B9D4(u8 direction);
void sub_808D194(void);
void sub_808D1C8(void);
bool32 sub_808D1B4(void);
bool32 sub_808D1E8(void);
void sub_808C0A8(u8 a);
#endif // GUARD_FIELD_PLAYER_AVATAR_H

View File

@@ -5,7 +5,7 @@ void pal_fill_for_maplights(void);
void pal_fill_black(void);
void WarpFadeScreen(void);
void sub_80AF128(void);
void sub_80AF168(void);
void FieldCallback_ReturnToEventScript2(void);
void sub_80AF188(void);
void sub_80AF214(void);
void sub_80AF2B4(u8 taskId);
@@ -34,11 +34,13 @@ void sub_80AF948(void);
void sub_80AF9F8(void);
void sub_80AFC60(void);
void sub_80B009C(u8 flashLevel);
void door_upload_tiles(void);
void WriteBattlePyramidViewScanlineEffectBuffer(void);
void sub_80B0244(void);
void sub_80B0268(void);
void sub_80B0534(void);
void sub_80B058C(void);
void sub_80B05B4(void);
void WriteFlashScanlineEffectBuffer(u8 flashLevel);
bool8 walkrun_is_standing_still(void);
#endif // GUARD_FIELD_SCREEN_EFFECT_H

View File

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

View File

@@ -7,13 +7,13 @@ u16 get_unknown_box_id(void);
bool8 InMultiBattleRoom(void);
void sub_813BF10(void);
void IncrementBirthIslandRockStepCount(void);
bool8 sub_813B3B0(void);
bool8 UnusualWeatherHasExpired(void);
bool8 ShouldDoBrailleRegicePuzzle(void);
bool32 is_tile_that_overrides_player_control(void);
bool32 sub_8138120(void);
bool32 sub_8138168(void);
bool32 sub_81381B0(void);
bool32 sub_81381F8(void);
bool32 ShouldDoWallyCall(void);
bool32 ShouldDoWinonaCall(void);
bool32 ShouldDoScottCall(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);
@@ -23,5 +23,10 @@ bool8 sub_813B9C0(void);
void SetShoalItemFlag(u16 v0);
void UpdateFrontierManiac(u16 a0);
void UpdateFrontierGambler(u16 a0);
void ResetCyclingRoadChallengeData(void);
bool8 warp0_in_pokecenter(void);
void ResetFanClub(void);
bool8 sub_813B21C(void);
void set_unknown_box_id(u8 id);
#endif // GUARD_FIELD_SPECIALS_H

View File

@@ -140,9 +140,9 @@ extern const u16 gUnknown_083970E8[];
extern const u8 gWeatherFog1Tiles[];
void StartWeather(void);
void ChangeWeather(u8 weather);
void sub_80AB104(u8 weather);
void sub_80AB130(u8 weather);
void SetNextWeather(u8 weather);
void SetCurrentAndNextWeather(u8 weather);
void SetCurrentAndNextWeatherNoDelay(u8 weather);
void sub_80ABC48(s8 gammaIndex);
void sub_80ABC7C(u8 gammaIndex, u8 gammaTargetIndex, u8 gammaStepDelay);
void FadeScreen(u8 mode, s8 delay);
@@ -162,7 +162,7 @@ bool8 Weather_UpdateBlend(void);
void sub_80AC274(u8 a);
u8 GetCurrentWeather(void);
void SetRainStrengthFromSoundEffect(u16 soundEffect);
void PlayRainSoundEffect(void);
void PlayRainStoppingSoundEffect(void);
u8 IsWeatherChangeComplete(void);
void SetWeatherScreenFadeOut(void);
void sub_80AC3E4(void);
@@ -233,5 +233,6 @@ void SetSav1WeatherFromCurrMapHeader(void);
void SetWeather(u32 weather);
void DoCurrentWeather(void);
void UpdateWeatherPerDay(u16 increment);
void ResumePausedWeather(void);
#endif // GUARD_WEATHER_H

View File

@@ -9,6 +9,8 @@
#define NUM_PALS_TOTAL 13
#define MAX_MAP_DATA_SIZE 0x2800
#include "main.h"
extern struct BackupMapLayout gBackupMapLayout;
u32 MapGridGetMetatileIdAt(int, int);
@@ -32,10 +34,21 @@ void sub_8088B3C(u16 x, u16 y);
void InitMap(void);
void InitMapFromSavedGame(void);
void InitTrainerHillMap(void);
void InitBattlePyramidMap(u8 a0);
void InitBattlePyramidMap(bool8 setPlayerPosition);
void copy_map_tileset1_tileset2_to_vram(struct MapLayout const *mapLayout);
void apply_map_tileset1_tileset2_palette(struct MapLayout const *mapLayout);
void apply_map_tileset2_palette(struct MapLayout const *mapLayout);
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);
void SpriteCB_PokeballGlow(struct Sprite *);
void SpriteCB_PokecenterMonitor(struct Sprite *);
void SpriteCB_HallOfFameMonitor(struct Sprite *);
// field_region_map.c
void FieldInitRegionMap(MainCallback callback);
#endif //GUARD_FIELDMAP_H

View File

@@ -87,6 +87,29 @@ struct OamData
#define ST_OAM_H_RECTANGLE 1
#define ST_OAM_V_RECTANGLE 2
#define ST_OAM_SIZE_0 0
#define ST_OAM_SIZE_1 1
#define ST_OAM_SIZE_2 2
#define ST_OAM_SIZE_3 3
#define SPRITE_SIZE_8x8 ((ST_OAM_SIZE_0 << 2) | (ST_OAM_SQUARE))
#define SPRITE_SIZE_16x16 ((ST_OAM_SIZE_1 << 2) | (ST_OAM_SQUARE))
#define SPRITE_SIZE_32x32 ((ST_OAM_SIZE_2 << 2) | (ST_OAM_SQUARE))
#define SPRITE_SIZE_64x64 ((ST_OAM_SIZE_3 << 2) | (ST_OAM_SQUARE))
#define SPRITE_SIZE_16x8 ((ST_OAM_SIZE_0 << 2) | (ST_OAM_H_RECTANGLE))
#define SPRITE_SIZE_32x8 ((ST_OAM_SIZE_1 << 2) | (ST_OAM_H_RECTANGLE))
#define SPRITE_SIZE_32x16 ((ST_OAM_SIZE_2 << 2) | (ST_OAM_H_RECTANGLE))
#define SPRITE_SIZE_64x32 ((ST_OAM_SIZE_3 << 2) | (ST_OAM_H_RECTANGLE))
#define SPRITE_SIZE_8x16 ((ST_OAM_SIZE_0 << 2) | (ST_OAM_V_RECTANGLE))
#define SPRITE_SIZE_8x32 ((ST_OAM_SIZE_1 << 2) | (ST_OAM_V_RECTANGLE))
#define SPRITE_SIZE_16x32 ((ST_OAM_SIZE_2 << 2) | (ST_OAM_V_RECTANGLE))
#define SPRITE_SIZE_32x64 ((ST_OAM_SIZE_3 << 2) | (ST_OAM_V_RECTANGLE))
#define SPRITE_SIZE(dim) (SPRITE_SIZE_##dim >> 2)
#define SPRITE_SHAPE(dim) (SPRITE_SIZE_##dim & 0xFF)
struct BgAffineSrcData
{
s32 texX;

View File

@@ -1,6 +1,13 @@
#ifndef GUARD_GLOBAL_FIELDMAP_H
#define GUARD_GLOBAL_FIELDMAP_H
#define METATILE_COLLISION_MASK 0x0C00
#define METATILE_ID_MASK 0x03FF
#define METATILE_ID_UNDEFINED 0x03FF
#define METATILE_ELEVATION_SHIFT 12
#define METATILE_COLLISION_SHIFT 10
#define METATILE_ELEVATION_MASK 0xF000
enum
{
CONNECTION_SOUTH = 1,
@@ -19,8 +26,8 @@ struct Tileset
/*0x01*/ bool8 isSecondary;
/*0x04*/ void *tiles;
/*0x08*/ void *palettes;
/*0x0c*/ void *metatiles;
/*0x10*/ void *metatileAttributes;
/*0x0c*/ u16 *metatiles;
/*0x10*/ u16 *metatileAttributes;
/*0x14*/ TilesetCB callback;
};

View File

@@ -277,7 +277,7 @@ struct FrontierMonData
u8 nature;
};
struct Struct_field_E70
struct RentalMon
{
u16 monId;
u32 personality;
@@ -316,7 +316,7 @@ struct BattleFrontier
/*0xCAA*/ u16 selectedPartyMons[3];
/*0xCB0*/ u16 field_CB0;
/*0xCB2*/ u16 curChallengeBattleNum; // In case of battle pyramid, the floor.
/*0xCB4*/ u16 field_CB4[20];
/*0xCB4*/ u16 trainerIds[20];
/*0xCDC*/ u32 field_CDC;
/*0xCE0*/ u16 towerWinStreaks[4][2];
/*0xCF0*/ u16 towerRecordWinStreaks[4][2];
@@ -345,7 +345,7 @@ struct BattleFrontier
/*0xDC6*/ u16 field_DC6;
/*0xDC8*/ u16 palaceWinStreaks[2][2];
/*0xDD0*/ u16 palaceRecordWinStreaks[2][2];
/*0xDD8*/ u16 field_DD8;
/*0xDD8*/ u16 arenaRewardItem;
/*0xDDA*/ u16 arenaWinStreaks[2];
/*0xDDE*/ u16 arenaRecordStreaks[2];
/*0xDE2*/ u16 factoryWinStreaks[2][2];
@@ -356,27 +356,27 @@ struct BattleFrontier
/*0xE04*/ u16 pikeWinStreaks[2];
/*0xE08*/ u16 pikeRecordStreaks[2];
/*0xE0C*/ u16 pikeTotalStreaks[2];
/*0xE10*/ u8 field_E10_1:3;
/*0xE10*/ u8 field_E10_2:4;
/*0xE10*/ u8 field_E10_3:1;
/*0xE12*/ u16 field_E12[3];
/*0xE18*/ u16 field_E18;
/*0xE10*/ u8 pikeHintedRoomIndex:3;
/*0xE10*/ u8 pikeHintedRoomType:4;
/*0xE10*/ u8 pikeHealingRoomsDisabled:1;
/*0xE12*/ u16 pikeHeldItemsBackup[3];
/*0xE18*/ u16 pyramidRewardItem;
/*0xE1A*/ u16 pyramidWinStreaks[2];
/*0xE1E*/ u16 pyramidRecordStreaks[2];
/*0xE22*/ u16 field_E22[4];
/*0xE2A*/ u8 field_E2A;
/*0xE22*/ u16 pyramidRandoms[4];
/*0xE2A*/ u8 pyramidTrainerFlags;
/*0xE2C*/ struct PyramidBag pyramidBag;
/*0xE68*/ u8 field_E68;
/*0xE68*/ u8 pyramidLightRadius;
/*0xE6A*/ u16 field_E6A;
/*0xE6C*/ u16 field_E6C;
/*0xE6E*/ u16 field_E6E;
/*0xE70*/ struct Struct_field_E70 field_E70[6];
/*0xE70*/ struct RentalMon rentalMons[6];
/*0xEB8*/ u16 battlePoints;
/*0xEBA*/ u16 field_EBA;
/*0xEBC*/ u32 battlesCount;
/*0xEC0*/ u16 field_EC0[16];
/*0xEE0*/ u8 field_EE0;
/*0xEE1*/ u8 field_EE1[2][PLAYER_NAME_LENGTH + 1];
/*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;
@@ -446,7 +446,7 @@ struct SaveBlock2
/*0x90*/ u8 filler_90[0x8];
/*0x98*/ struct Time localTimeOffset;
/*0xA0*/ struct Time lastBerryTreeUpdate;
/*0xA8*/ u32 field_A8;
/*0xA8*/ u32 field_A8; // Written to, but never read.
/*0xAC*/ u32 encryptionKey;
/*0xB0*/ struct PlayersApprentice playerApprentice;
/*0xDC*/ struct Apprentice apprentices[4]; // From record mixing.
@@ -787,7 +787,7 @@ struct WaldaPhrase
bool8 patternUnlocked;
};
struct UnkSaveSubstruct_3b98
struct TrainerNameRecord
{
u32 trainerId;
u8 trainerName[PLAYER_NAME_LENGTH + 1];
@@ -795,15 +795,15 @@ struct UnkSaveSubstruct_3b98
struct SaveTrainerHill
{
/*0x3D64*/ u32 field_3D64;
/*0x3D68*/ u32 field_3D68;
/*0x3D64*/ u32 timer;
/*0x3D68*/ u32 bestTime;
/*0x3D6C*/ u8 field_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 field_3D6E_0d:1; // 8
/*0x3D6E*/ u16 field_3D6E_0e:1; // x10
/*0x3D6E*/ u16 hasLost:1; // 8
/*0x3D6E*/ u16 maybeECardScanDuringChallenge:1; // x10
/*0x3D6E*/ u16 field_3D6E_0f:1; // x20
/*0x3D6E*/ u16 tag:2; // x40, x80 = xC0
};
@@ -870,13 +870,12 @@ struct SaveBlock1
/*0x2BA1*/ u8 outbreakPokemonProbability;
/*0x2BA2*/ u16 outbreakDaysLeft;
/*0x2BA4*/ struct GabbyAndTyData gabbyAndTyData;
/*0x2BB0*/ u16 unk2BB0[6];
/*0x2BBC*/ u16 unk2BBC[6];
/*0x2BC8*/ u16 unk2BC8[6];
/*0x2BD4*/ u16 unk2BD4[6];
/*0x2BB0*/ u16 easyChatProfile[6];
/*0x2BBC*/ u16 easyChatBattleStart[6];
/*0x2BC8*/ u16 easyChatBattleWon[6];
/*0x2BD4*/ u16 easyChatBattleLost[6];
/*0x2BE0*/ struct MailStruct mail[MAIL_COUNT];
/*0x2E20*/ u8 additionalPhrases[5]; // bitfield for 33 additional phrases in easy chat system
/*0x2E25*/ u8 unk2E25[3]; // possibly padding?
/*0x2E20*/ u8 additionalPhrases[8]; // bitfield for 33 additional phrases in easy chat system
/*0x2E28*/ OldMan oldMan;
/*0x2e64*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff
/*0x2e90*/ struct ContestWinner contestWinners[13]; // 0 - 5 used in contest hall, 6 - 7 unused?, 8 - 12 museum
@@ -891,7 +890,7 @@ struct SaveBlock1
/*0x3B14*/ struct RecordMixingGift recordMixingGift;
/*0x3B24*/ u8 seen2[DEX_FLAGS_NO];
/*0x3B58*/ LilycoveLady lilycoveLady;
/*0x3B98*/ struct UnkSaveSubstruct_3b98 unk_3B98[20];
/*0x3B98*/ struct TrainerNameRecord trainerNameRecords[20];
/*0x3C88*/ u8 filler_3C88[0xDC];
/*0x3D64*/ struct SaveTrainerHill trainerHill;
/*0x3D70*/ struct WaldaPhrase waldaPhrase;
@@ -907,13 +906,13 @@ struct MapPosition
s8 height;
};
struct UnkStruct_8054FF8
struct TradeRoomPlayer
{
u8 a;
u8 b;
u8 playerId;
u8 isLocalPlayer;
u8 c;
u8 d;
struct MapPosition sub;
u8 facing;
struct MapPosition pos;
u16 field_C;
};

View File

@@ -4007,26 +4007,35 @@ extern const u32 gBerryPalette_Enigma[];
//credits
extern const u32 gCreditsCopyrightEnd_Gfx[];
//pokenav condition marker
//pokenav
extern const u8 gPokenavConditionMarker_Gfx[];
extern const u16 gPokenavConditionMarker_Pal[];
extern const u16 gPokenavLeftHeader_Pal[];
extern const u16 gPokenavHeader_Pal[];
extern const u32 gPokenavHeader_Gfx[];
extern const u32 gPokenavHeader_Tilemap[];
extern const u32 gPokenavLeftHeaderHoennMap_Gfx[];
extern const u32 gPokenavLeftHeaderMainMenu_Gfx[];
extern const u32 gPokenavLeftHeaderCondition_Gfx[];
extern const u32 gPokenavLeftHeaderRibbons_Gfx[];
extern const u32 gPokenavLeftHeaderMatchCall_Gfx[];
extern const u32 gUnknown_08D9862C[];
extern const u32 gPageInfoTilemap[];
extern const u32 gUnknown_08D98CC8[];
extern const u32 gUnknown_08D987FC[];
extern const u32 gUnknown_08D9898C[];
extern const u32 gUnknown_08D98B28[];
extern const u32 gUnknown_08D9853C[];
extern const u32 gPageSkillsTilemap[];
extern const u32 gPageBattleMovesTilemap[];
extern const u32 gPageContestMovesTilemap[];
extern const u32 gStatusScreenPalette[];
extern const u16 gUnknown_08D85620[];
extern const u16 gSummaryScreenWindow_Tilemap[];
extern const u32 gMoveTypes_Pal[];
extern const u32 gUnknown_08D97D0C[];
extern const u32 gStatusScreenBitmap[];
extern const u16 gSummaryScreenPowAcc_Tilemap[];
extern const u16 gUnknown_08DC3C34[];
extern const u32 gMoveTypes_Gfx[];
extern const u32 gUnknown_08D97BEC[];
extern const u32 gMoveSelectorBitmap[];
extern const u32 gUnknown_08D97CF4[];
extern const u32 gStatusGfx_Icons[];
extern const u32 gStatusPal_Icons[];
@@ -4104,9 +4113,13 @@ extern const u32 gUnknown_08D83B2C[];
extern const u32 gUnknown_08D83C3C[];
extern const u32 gUnknown_08D83900[];
extern const u32 gBattleFrontierGfx_DomeOptions[];
extern const u16 gTilesetAnims_BattleDomePals0_0[];
extern const u16 gTilesetAnims_BattleDomePals0_1[];
extern const u16 gTilesetAnims_BattleDomePals0_2[];
extern const u16 gTilesetAnims_BattleDomePals0_3[];
extern const u32 gUnknown_08D854E8[];
extern const u32 gUnknown_08D855E8[];
extern const u32 gBattleArenaJudgementSymbolsGfx[];
extern const u32 gBattleArenaJudgementSymbolsPalette[];
extern const u32 gContest2Pal[];
extern const u32 gBattleAnimSpriteSheet_000[];
@@ -4724,9 +4737,9 @@ extern const u32 gBattleAnimBackgroundTilemap_17[];
extern const u32 gBattleAnimBackgroundTilemap_20[];
extern const u32 gBattleAnimBackgroundTilemap_21[];
extern const u32 gUnknown_08C1D0AC[];
extern const u32 gUnknown_08C1D1E8[];
extern const u32 gUnknown_08C1D210[];
extern const u32 gMetalShineGfx[];
extern const u32 gMetalShinePalette[];
extern const u32 gMetalShineTilemap[];
extern const u32 gUnknown_08C20668[];
extern const u32 gUnknown_08C20684[];
@@ -4882,5 +4895,14 @@ extern const u16 gFrontierPassMedalsGold_Pal[];
extern const u16 gFrontierPassMedalsSilver_Pal[];
extern const u16 gFrontierPassMapCursor_Pal[];
// Easy Chat Screen
extern const u32 gEasyChatWindow_Gfx[];
extern const u32 gEasyChatWindow_Tilemap[];
extern const u32 gEasyChatMode_Gfx[];
extern const u16 gEasyChatMode_Pal[];
extern const u32 gEasyChatCursor_Gfx[];
extern const u16 gEasyChatCursor_Pal[];
extern const u32 gEasyChatRightWindow_Gfx[];
extern const u16 gEasyChatRightWindow_Pal[];
#endif //GUARD_GRAPHICS_H

View File

@@ -6,4 +6,7 @@ void CB2_DoHallOfFameScreenDontSaveData(void);
void CB2_DoHallOfFamePC(void);
void sub_8175280(void);
// hof_pc.c
void ReturnFromHallOfFamePC(void);
#endif // GUARD_HALL_OF_FAME_H

View File

@@ -9,6 +9,6 @@
void CB2_InitCopyrightScreenAfterBootup(void);
void CB2_InitCopyrightScreenAfterBootup(void);
void CB2_InitCopyrightScreenAfterTitleScreen(void);
void sub_816F2A8(u16, u16, u16, u16);
void PanFadeAndZoomScreen(u16, u16, u16, u16);
#endif // GUARD_INTRO_H

View File

@@ -9,7 +9,7 @@ extern const struct CompressedSpriteSheet gIntro2BrendanSpriteSheet[];
extern const struct CompressedSpriteSheet gIntro2MaySpriteSheet[];
extern const struct CompressedSpriteSheet gIntro2BicycleSpriteSheet[];
extern const struct CompressedSpriteSheet gIntro2FlygonSpriteSheet[];
extern const struct SpritePalette gUnknown_085F530C[];
extern const struct SpritePalette gIntroBikeAndFlygonPalette[];
extern const struct CompressedSpriteSheet gUnknown_085F5334[];
extern const struct CompressedSpriteSheet gUnknown_085F5344[];
extern const struct CompressedSpriteSheet gUnknown_085F5354[];
@@ -21,7 +21,7 @@ void load_intro_part2_graphics(u8 a);
void sub_817B150(u8 a);
void sub_817B1C8(u8);
void sub_817B3A8(u8);
u8 sub_817B3DC(u8 a, u16 b, u16 c, u16 d);
u8 CreateBicycleAnimationTask(u8 a, u16 b, u16 c, u16 d);
void sub_817B540(u8);
u8 intro_create_brendan_sprite(s16 a, s16 b);
u8 intro_create_may_sprite(s16 a, s16 b);

View File

@@ -2,6 +2,7 @@
#define GUARD_item_menu_H
#include "item.h"
#include "menu_helpers.h"
#define RETURN_LOCATION_FIELD 0
#define RETURN_LOCATION_BATTLE 1
@@ -71,6 +72,7 @@ void sub_81AAC14(void);
void sub_81AAC50(void);
void sub_81AAC70(void);
void sub_81AAC28(void);
void sub_81AABB0(void);
void SetInitialScrollAndCursorPositions(u8 pocketId);
void bag_menu_mail_related(void);
void CB2_BagMenuFromStartMenu(void);
@@ -79,5 +81,12 @@ bool8 UseRegisteredKeyItemOnField(void);
void CB2_GoToSellMenu(void);
void GoToBagMenu(u8 bagMenuType, u8 pocketId, void ( *postExitMenuMainCallback2)());
void DoWallyTutorialBagMenu(void);
void ResetBagScrollPositions(void);
void sub_81AABF0(void (*callback)(void));
void CB2_ChooseBerry(void);
void unknown_ItemMenu_Confirm(u8 taskId);
void bag_menu_yes_no(u8, u8, const struct YesNoFuncTable*);
void sub_81AB9A8(u8 pocketId);
#endif //GUARD_item_menu_H

View File

@@ -1,7 +0,0 @@
#ifndef GUARD_LEARN_MOVE_H
#define GUARD_LEARN_MOVE_H
void TeachMoveTutorMove(void);
void ShowHideHearts(s32);
#endif //GUARD_LEARN_MOVE_H

View File

@@ -230,7 +230,6 @@ bool8 IsLinkMaster(void);
void CB2_LinkError(void);
u8 GetSioMultiSI(void);
bool8 IsLinkConnectionEstablished(void);
void SetSuppressLinkErrorMessage(bool8);
bool8 HasLinkErrorOccurred(void);
void ResetSerial(void);
u32 LinkMain1(u8 *shouldAdvanceLinkState, u16 *sendCmd, u16 (*recvCmds)[CMD_LENGTH]);
@@ -244,7 +243,7 @@ bool8 IsLinkTaskFinished(void);
void CreateWirelessStatusIndicatorSprite(u8, u8);
void sub_800ADF8(void);
void sub_800B488(void);
void sub_800A620(void);
void CheckShouldAdvanceLinkState(void);
void sub_8011BD0(void);
u8 IsLinkMaster(void);
void sub_800AC34(void);
@@ -261,6 +260,8 @@ void sub_800B3A4(u32 who);
bool32 sub_800A07C(void);
void sub_800AB98(void);
void sub_800AA04(u8 a0);
void sub_800B4C0(void);
bool32 sub_800B504(void);
extern u16 gLinkPartnersHeldKeys[6];
extern u32 gLinkDebugSeed;
@@ -299,18 +300,20 @@ extern struct LinkPlayer gLocalLinkPlayer;
bool32 Link_AnyPartnersPlayingRubyOrSapphire(void);
bool32 sub_800A03C(void);
void sub_8009628(u8);
u8 sub_800AA48(void);
void SetLocalLinkPlayerId(u8);
u8 GetSavedPlayerCount(void);
void sub_8009FAC(void);
bool8 sub_800A4D8(u8 a0);
u8 sub_800A9D8(void);
u8 sub_800A0C8(s32, s32);
u16 *sub_801B058(void);
u16 *GetSaveBlock1Field3564(void);
u8 sub_800A9A8(void);
void sub_800AD10(void);
void sub_800AB18(void);
void sub_8009F18(void);
bool8 sub_800AA60(void);
void sub_800ABF4(u16 a0);
bool32 IsSendingKeysToLink(void);
u32 GetLinkRecvQueueLength(void);
#endif // GUARD_LINK_H

View File

@@ -213,12 +213,13 @@ extern struct UnkRfuStruct_2 gUnknown_03005000;
extern u8 gWirelessStatusIndicatorSpriteId;
// Exported ROM declarations
void WipeTrainerNameRecords(void);
u32 sub_800BEC0(void);
void sub_800E700(void);
void sub_800EDD4(void);
void sub_800F6FC(u8 who);
void sub_800F728(u8 who);
bool32 sub_800F7E4(void);
bool32 IsSendingKeysToRfu(void);
void sub_800F804(void);
void sub_800F850(void);
u8 sub_800FCD8(void);
@@ -237,8 +238,8 @@ void sub_800E6D0(void);
bool32 sub_8010EC0(void);
bool32 sub_8010F1C(void);
bool32 sub_8011A80(void);
bool32 sub_800F0B8(void);
u32 sub_80124D4(void);
bool32 IsRfuRecvQueueEmpty(void);
u32 GetRfuRecvQueueLength(void);
void RfuVSync(void);
void sub_80111B0(bool32 a0);
u8 sub_8011A74(void);
@@ -263,7 +264,7 @@ void sub_800E084(void);
void sub_801103C(void);
void sub_8011C5C(void);
void sub_80106D4(void);
void sub_800E3A8(void);
void RecordMixTrainerNames(void);
void sub_800ED10(void);
void sub_800ED28(void);
void sub_8011090(u8 a0, u32 a1, u32 a2);
@@ -282,5 +283,6 @@ void sub_800EF7C(void);
bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx);
s32 sub_800E87C(u8 idx);
void sub_8011BA4(void);
void sub_8010198(void);
#endif //GUARD_LINK_RFU_H

View File

@@ -4,7 +4,7 @@
#include "window.h"
#define LIST_NOTHING_CHOSEN -1
#define LIST_B_PRESSED -2
#define LIST_CANCEL -2
#define LIST_HEADER -3
#define LIST_NO_MULTIPLE_SCROLL 0
@@ -101,7 +101,7 @@ extern struct ListMenuTemplate gMultiuseListMenuTemplate;
s32 DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum);
u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow);
u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenuWindowRect *arg1, u16 scrollOffset, u16 selectedRow);
s32 ListMenuHandleInputGetItemId(u8 listTaskId);
s32 ListMenu_ProcessInput(u8 listTaskId);
void DestroyListMenuTask(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow);
void RedrawListMenu(u8 listTaskId);
void ChangeListMenuPals(u8 listTaskId, u8 cursorPal, u8 fillValue, u8 cursorShadowPal);

View File

@@ -61,12 +61,14 @@ void SetHBlankCallback(IntrCallback callback);
void SetVCountCallback(IntrCallback callback);
void SetSerialCallback(IntrCallback callback);
void InitFlashTimer(void);
void sub_80008DC(u32 *var);
void sub_80008E8(void);
void SetTrainerHillVBlankCounter(u32 *var);
void ClearTrainerHillVBlankCounter(void);
void DoSoftReset(void);
void ClearPokemonCrySongs(void);
void RestoreSerialTimer3IntrHandlers(void);
void StartTimer1(void);
void SeedRngAndSetTrainerId(void);
u16 GetGeneratedTrainerIdLower(void);
#endif // GUARD_MAIN_H

View File

@@ -11,5 +11,10 @@ enum {
};
s32 GetRematchIdxByTrainerIdx(s32 trainerIdx);
void InitMatchCallCounters(void);
bool32 TryStartMatchCall(void);
bool32 IsMatchCallTaskActive(void);
void StartMatchCallFromScript(u8* script);
void sub_8197080(u8 *destStr);
#endif //GUARD_MATCH_CALL_H

View File

@@ -25,23 +25,23 @@ void InitStandardTextBoxWindows(void);
void sub_8197200(void);
u16 RunTextPrintersAndIsPrinter0Active(void);
void sub_81973A4(void);
void NewMenuHelpers_DrawDialogueFrame(u8, u8);
void sub_819746C(u8 windowId, bool8 copyToVram);
void DrawDialogueFrame(u8, u8);
void ClearStdWindowAndFrame(u8 windowId, bool8 copyToVram);
u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 fgColor, u8 bgColor, u8 shadowColor);
void PrintPlayerNameOnWindow(u8, const u8*, u16, u16);
void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback);
void sub_8197434(u8 windowId, bool8 copyToVram);
void SetStandardWindowBorderStyle(u8 a0, u8 a1);
void DisplayYesNoMenu(void);
void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram);
void SetStandardWindowBorderStyle(u8 windowId, bool8 copyToVram);
void DisplayYesNoMenuDefaultYes(void);
u32 GetPlayerTextSpeed(void);
u8 GetPlayerTextSpeedDelay(void);
void sub_81978B0(u16 arg0);
void AddTextPrinterWithCallbackForMessage(bool8 a1, void (*callback)(struct TextPrinterTemplate *, u16));
void sub_8199DF0(u32 bg, u8 a1, int a2, int a3);
void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str);
void sub_8198070(u8 windowId, bool8 copyToVram);
void ClearStdWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram);
void SetWindowTemplateFields(struct WindowTemplate* template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock);
void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette);
void DrawStdFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette);
void schedule_bg_copy_tilemap_to_vram(u8 bgNum);
void PrintMenuTable(u8 windowId, u8 itemCount, const struct MenuAction *strs);
u8 InitMenuInUpperLeftCornerPlaySoundWhenAPressed(u8 windowId, u8 numItems, u8 initialCursorPos);
@@ -60,9 +60,9 @@ s8 ProcessMenuInput_other(void);
void do_scheduled_bg_tilemap_copies_to_vram(void);
void clear_scheduled_bg_copies_to_vram(void);
void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const u8 *color, s8 speed, const u8 *str);
void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u8 a3);
void DrawDialogFrameWithCustomTileAndPalette(u8 windowId, bool8 copyToVram, u16 a2, u8 a3);
void sub_81995E4(u8 windowId, u8 optionsNo, const struct MenuAction *actions, const u8 *actionIds);
void sub_8197DF8(u8 windowId, bool8 copyToVram);
void ClearDialogWindowAndFrameToTransparent(u8 windowId, bool8 copyToVram);
u16 sub_8198AA4(u8, u8, u8, u8, u8, u8, u16);
void *malloc_and_decompress(const void *src, u32 *sizeOut);
u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode);
@@ -75,13 +75,13 @@ u8 GetStartMenuWindowId(void);
void sub_819A2BC(u8, u8);
u8 Menu_MoveCursor(s8 cursorDelta);
u8 Menu_MoveCursorNoWrapAround(s8 cursorDelta);
void NewMenuHelpers_DrawStdWindowFrame(u8 windowId, bool8 CopyToVram);
void DrawStdWindowFrame(u8 windowId, bool8 CopyToVram);
u8 sub_81979C4(u8 a1);
u8 sub_81983AC(u8 windowId, u8 fontId, u8 left, u8 top, u8 cursorHeight, u8 numChoices, u8 initialCursorPos);
void sub_819786C(u8 windowId, bool8 copyToVram);
void AddTextPrinterForMessage_2(bool8 allowSkippingDelayWithButtonPress);
void RemoveStartMenuWindow(void);
void sub_8197948(u8 initialCursorPos);
void DisplayYesNoMenuWithDefault(u8 initialCursorPos);
void sub_819A344(u8 a0, u8 *dest, u8 color);
void RemoveMapNamePopUpWindow(void);
u8 GetMapNamePopUpWindowId(void);

View File

@@ -0,0 +1,52 @@
#ifndef GUARD_MENU_SPECIALIZED_H
#define GUARD_MENU_SPECIALIZED_H
#include "player_pc.h"
#include "list_menu.h"
#include "pokemon.h"
struct UnknownSubStruct_81D1ED4
{
u16 unk0;
u16 unk2;
};
struct UnknownStruct_81D1ED4
{
/*0x000*/ u8 unk0[4][5];
/*0x014*/ struct UnknownSubStruct_81D1ED4 unk14[4][5];
/*0x064*/ struct UnknownSubStruct_81D1ED4 unk64[10][5];
/*0x12C*/ struct UnknownSubStruct_81D1ED4 unk12C[5];
/*0x13C*/ struct UnknownSubStruct_81D1ED4 unk13C[0x42];
/*0x248*/ struct UnknownSubStruct_81D1ED4 unk248[0x42];
/*0x350*/ u16 unk350;
/*0x352*/ u16 unk352;
/*0x354*/ u8 unk354;
/*0x355*/ u8 unk355;
};
bool8 sub_81D1C44(u8 count);
u8 sub_81D1C84(u8 a0);
u8 sub_81D1DC0(struct PlayerPCItemPageStruct *page);
void sub_81D1E90(struct PlayerPCItemPageStruct *page);
void sub_81D1EC0(void);
void sub_81D1D04(u8 a0);
void DrawLevelUpWindowPg1(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5);
void DrawLevelUpWindowPg2(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4);
void sub_81D1ED4(struct UnknownStruct_81D1ED4 *a0);
void sub_81D2108(struct UnknownStruct_81D1ED4 *arg0);
void sub_81D20AC(struct UnknownStruct_81D1ED4 *arg0);
void sub_81D2230(struct UnknownStruct_81D1ED4 *arg0);
bool8 sub_81D20BC(struct UnknownStruct_81D1ED4 *arg0);
void sub_81D3464(void *arg0);
void sub_81D3480(void *arg0, u8 arg1);
void sub_81D2754(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D1ED4 *arg1);
void sub_81D1F84(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D1ED4 arg1[4][5], struct UnknownSubStruct_81D1ED4 arg2[4][5]);
void MoveRelearnerPrintText(u8 *str);
bool16 MoveRelearnerRunTextPrinters(void);
void MoveRelearnerCreateYesNoMenu(void);
u8 LoadMoveRelearnerMovesList(const struct ListMenuItem *items, u16 numChoices);
void InitMoveRelearnerWindows(bool8 useContextWindow);
void GetMonLevelUpWindowStats(struct Pokemon* mon, void* statStoreLocation);
#endif // GUARD_MENU_SPECIALIZED_H

7
include/move_relearner.h Normal file
View File

@@ -0,0 +1,7 @@
#ifndef GUARD_MOVE_RELEARNER_H
#define GUARD_MOVE_RELEARNER_H
void TeachMoveRelearnerMove(void);
void MoveRelearnerShowHideHearts(s32);
#endif //GUARD_MOVE_RELEARNER_H

View File

@@ -8,7 +8,7 @@ void SetTrainerId(u32 trainerId, u8 *dst);
u32 GetTrainerId(u8 *trainerId);
void CopyTrainerId(u8 *dst, u8 *src);
void NewGameInitData(void);
void sub_808447C(void);
void ResetMenuAndMonGlobals(void);
void Sav2_ClearSetDefault(void);
#endif // GUARD_NEW_GAME_H

View File

@@ -1,6 +1,29 @@
#ifndef GUARD_OVERWORLD_H
#define GUARD_OVERWORLD_H
#define LINK_KEY_CODE_NULL 0x00
#define LINK_KEY_CODE_EMPTY 0x11
#define LINK_KEY_CODE_DPAD_DOWN 0x12
#define LINK_KEY_CODE_DPAD_UP 0x13
#define LINK_KEY_CODE_DPAD_LEFT 0x14
#define LINK_KEY_CODE_DPAD_RIGHT 0x15
#define LINK_KEY_CODE_UNK_2 0x16
#define LINK_KEY_CODE_EXIT_ROOM 0x17
#define LINK_KEY_CODE_START_BUTTON 0x18
#define LINK_KEY_CODE_A_BUTTON 0x19
#define LINK_KEY_CODE_UNK_4 0x1A // I'd guess this is the B button?
// These two are a hack to stop user input until link stuff can be
// resolved.
#define LINK_KEY_CODE_HANDLE_RECV_QUEUE 0x1B
#define LINK_KEY_CODE_HANDLE_SEND_QUEUE 0x1C
#define LINK_KEY_CODE_UNK_7 0x1D
#define LINK_KEY_CODE_UNK_8 0x1E
#define MOVEMENT_MODE_FREE 0
#define MOVEMENT_MODE_FROZEN 1
#define MOVEMENT_MODE_SCRIPTED 2
struct InitialPlayerAvatarState
{
u8 transitionFlags;
@@ -12,7 +35,7 @@ struct LinkPlayerEventObject
u8 active;
u8 linkPlayerId;
u8 eventObjId;
u8 mode;
u8 movementMode;
};
// Exported RAM declarations
@@ -22,10 +45,10 @@ extern struct LinkPlayerEventObject gLinkPlayerEventObjects[4];
extern u16 *gBGTilemapBuffers1;
extern u16 *gBGTilemapBuffers2;
extern u16 *gBGTilemapBuffers3;
extern u16 gUnknown_03005DA8;
extern u16 gHeldKeyCodeToSend;
extern void (*gFieldCallback)(void);
extern bool8 (*gFieldCallback2)(void);
extern u8 gUnknown_03005DB4;
extern u8 gLocalLinkPlayerId;
extern u8 gFieldLinkPlayerCount;
// Exported ROM declarations
@@ -68,7 +91,7 @@ void SetContinueGameWarpToDynamicWarp(int unused);
const struct MapConnection *GetMapConnection(u8 dir);
bool8 SetDiveWarpEmerge(u16 x, u16 y);
bool8 SetDiveWarpDive(u16 x, u16 y);
void mliX_load_map(u8 mapGroup, u8 mapNum);
void LoadMapFromCameraTransition(u8 mapGroup, u8 mapNum);
void ResetInitialPlayerAvatarState(void);
void StoreInitialPlayerAvatarState(void);
bool32 Overworld_IsBikingAllowed(void);
@@ -96,19 +119,19 @@ u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum);
u8 GetMapTypeByWarpData(struct WarpData *warp);
u8 GetCurrentMapType(void);
u8 GetLastUsedWarpMapType(void);
bool8 is_map_type_1_2_3_5_or_6(u8 mapType);
bool8 IsMapTypeOutdoors(u8 mapType);
bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType);
bool8 Overworld_MapTypeIsIndoors(u8 mapType);
bool8 IsMapTypeIndoors(u8 mapType);
u8 GetSavedWarpRegionMapSectionId(void);
u8 GetCurrentRegionMapSectionId(void);
u8 GetCurrentMapBattleScene(void);
void CleanupOverworldWindowsAndTilemaps(void);
bool32 is_c1_link_related_active(void);
bool32 IsUpdateLinkStateCBActive(void);
void CB1_Overworld(void);
void CB2_OverworldBasic(void);
void CB2_Overworld(void);
void SetMainCallback1(void (*cb)(void));
void sub_8085E94(void *a0);
void SetUnusedCallback(void *a0);
void CB2_NewGame(void);
void CB2_WhiteOut(void);
void CB2_LoadMap(void);
@@ -117,18 +140,18 @@ void sub_8086074(void);
void CB2_ReturnToField(void);
void CB2_ReturnToFieldLocal(void);
void CB2_ReturnToFieldLink(void);
void c2_8056854(void);
void CB2_ReturnToFieldFromMultiplayer(void);
void CB2_ReturnToFieldWithOpenMenu(void);
void CB2_ReturnToFieldContinueScript(void);
void CB2_ReturnToFieldContinueScriptPlayMapMusic(void);
void sub_80861E8(void);
void CB2_ContinueSavedGame(void);
void sub_8086C2C(void);
void ResetAllMultiplayerState(void);
u32 sub_8087214(void);
bool32 sub_808727C(void);
u16 sub_8087288(void);
u16 sub_808729C(void);
u16 sub_80872B0(void);
u16 QueueExitLinkRoomKey(void);
u16 sub_80872C4(void);
bool32 sub_8087598(void);
bool32 sub_80875C8(void);

View File

@@ -9,6 +9,11 @@
#define PLTT_BUFFER_SIZE 0x200
#define PLTT_DECOMP_BUFFER_SIZE (PLTT_BUFFER_SIZE * 2)
#define PALETTE_FADE_STATUS_DELAY 2
#define PALETTE_FADE_STATUS_ACTIVE 1
#define PALETTE_FADE_STATUS_DONE 0
#define PALETTE_FADE_STATUS_LOADING 0xFF
enum
{
FAST_FADE_IN_FROM_WHITE,

View File

@@ -48,6 +48,8 @@ extern MainCallback gPostMenuFieldCallback;
extern u8 gSelectedOrderFromParty[4];
extern u8 gUnknown_0203CF00[3];
extern void (*gUnknown_03006328)(u8, TaskFunc);
extern const u16 gTutorMoves[];
void sub_81B0FCC(u8 slot, u8 b);
@@ -60,7 +62,7 @@ u8 sub_81B1B5C(const u8* str, u8 b);
bool8 sub_81B1BD4(void);
void sub_81B1F18(u8 taskId, u8 slot, s8 c, s16 HPDifference, TaskFunc func);
u8 pokemon_ailments_get_primary(u32 status);
u8 sub_81B205C(struct Pokemon *mon);
u8 GetMonAilment(struct Pokemon *mon);
void display_pokemon_menu_message(u32 stringID);
void sub_81B47E0(u8 taskId);
bool8 FieldCallback_PrepareFadeInFromMenu(void);
@@ -83,7 +85,7 @@ u8 GetItemEffectType(u16 item);
void CB2_PartyMenuFromStartMenu(void);
void sub_81B7F60(void);
void sub_81B8448(void);
void sub_81B8518(u8 unused);
void InitChooseHalfPartyForBattle(u8 unused);
void sub_81B8558(void);
void sub_81B8904(u8 initArg, MainCallback callback);
void sub_81B892C(void);

View File

@@ -85,5 +85,7 @@ extern const struct MenuAction gMailboxMailOptions[];
void ReshowPlayerPC(u8 taskId);
void sub_816B31C(void);
void Mailbox_ReturnToMailListAfterDeposit(void);
void NewGameInitPCItems(void);
#endif //GUARD_PLAYER_PC_H

View File

@@ -1,7 +1,7 @@
#ifndef GUARD_POKEDEX_H
#define GUARD_POKEDEX_H
extern u8 gUnknown_030060B0;
extern u8 gUnusedPokedexU8;
extern void (*gUnknown_030060B4)(void);
#define HOENN_DEX_COUNT 202
@@ -42,5 +42,8 @@ u8 CreateDexDisplayMonDataTask(u16 dexNum, u32 trainerId, u32 personality);
s8 GetSetPokedexFlag(u16 nationalNum, u8 caseId);
u16 CreateMonSpriteFromNationalDexNumber(u16, s16, s16, u16);
bool16 HasAllHoennMons(void);
void ResetPokedexScrollPositions(void);
u16 sub_80C0944(void);
void CB2_Pokedex(void);
#endif // GUARD_POKEDEX_H

View File

@@ -10,6 +10,8 @@ struct CryRelatedStruct
u8 yPos;
};
extern u8 gDexCryScreenState;
bool8 sub_8145354(struct CryRelatedStruct*, u8);
void sub_814545C(u8);
void sub_8145534(u16);

View File

@@ -431,9 +431,9 @@ extern const u8 *const gItemEffectTable[];
extern const struct Evolution gEvolutionTable[][EVOS_PER_MON];
extern const u32 gExperienceTables[][MAX_LEVEL + 1];
extern const u16 *const gLevelUpLearnsets[];
extern const u8 gUnknown_08329D22[];
extern const u8 gUnknown_08329D26[];
extern const u8 gUnknown_08329D2A[];
extern const u8 gPPUpGetMask[];
extern const u8 gPPUpSetMask[];
extern const u8 gPPUpAddMask[];
extern const u8 gStatStageRatios[][2];
extern const u16 gUnknown_08329D54[];
extern const struct SpriteTemplate gUnknown_08329D98[];
@@ -583,7 +583,7 @@ const u8 *GetTrainerPartnerName(void);
void BattleAnimateFrontSprite(struct Sprite* sprite, u16 species, bool8 noCry, u8 arg3);
void DoMonFrontSpriteAnimation(struct Sprite* sprite, u16 species, bool8 noCry, u8 arg3);
void PokemonSummaryDoMonAnimation(struct Sprite* sprite, u16 species, bool8 oneFrame);
void sub_806EE98(void);
void StopPokemonAnimationDelayTask(void);
void BattleAnimateBackSprite(struct Sprite* sprite, u16 species);
u8 sub_806EF08(u8 arg0);
u8 sub_806EF84(u8 arg0, u8 arg1);

View File

@@ -23,5 +23,6 @@ void LoadMonIconPalette(u16 species);
void sub_80D328C(struct Sprite *sprite);
void sub_80D3014(struct Sprite *sprite);
void sub_80D32C8(struct Sprite *sprite, u8 animNum);
u8 sub_80D30A0(u16 species);
#endif // GUARD_POKEMON_ICON_H

View File

@@ -1,7 +1,10 @@
#ifndef GUARD_POKEMON_SUMMARY_SCREEN_H
#define GUARD_POKEMON_SUMMARY_SCREEN_H
extern u8 gUnknown_0203CF20;
#include "main.h"
extern u8 gLastViewedMonIndex;
extern const u8 *const gMoveDescriptionPointers[];
void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void));
void sub_81C4F98(u8, void(*)(void));

View File

@@ -1,34 +1,8 @@
#ifndef GUARD_POKENAV_H
#define GUARD_POKENAV_H
#include "player_pc.h"
#include "list_menu.h"
bool8 sub_81D20BC(void *arg0);
bool8 sub_81D312C(void *arg0);
void sub_81D1ED4(void *arg0);
void sub_81D2108(void *arg0);
void sub_81D20AC(void *arg0);
void sub_81D2230(void *arg0);
void sub_81D3464(void *arg0);
void sub_81D3480(void *arg0, u8 arg1);
void sub_81D2754(void *arg0, void *arg1);
void sub_81D1F84(void *arg0, void *arg1, void *arg2);
u8 sub_81D1C84(u8);
u8 sub_81D1DC0(struct PlayerPCItemPageStruct *);
void sub_81D1E90(struct PlayerPCItemPageStruct *);
void sub_81D1EC0(void);
void sub_81D1D04(u8);
bool8 sub_81D1C44(u8);
bool8 sub_81D4A58(struct EventObject*);
void sub_81D2BF4(u8 *);
u16 sub_81D2C3C(void);
void sub_81D2C50(void);
u8 sub_81D28C8(const struct ListMenuItem *items, u16 numChoices);
void sub_81D2824(u16);
bool8 EventObjectIsFarawayIslandMew(struct EventObject *);
u32 sub_81D427C(void);
void sub_81D4998(void);
void sub_81D3640(u16 arg0, void* statStoreLocation1, void* statStoreLocation2, u8 arg3, u8 arg4, u8 arg5);
void sub_81D3784(u16 arg0, void* statStoreLocation1, u8 arg2, u8 arg3, u8 arg4);
void CB2_InitPokeNav(void);
#endif //GUARD_POKENAV_H

View File

@@ -7,7 +7,7 @@ struct PlayerHallRecords
struct RankingHall2P twoPlayers[2];
};
void sub_80E6BE8(void);
void RecordMixingPlayerSpotTriggered(void);
void GetPlayerHallRecords(struct PlayerHallRecords *dst);
#endif //GUARD_RECORD_MIXING_H

View File

@@ -17,5 +17,11 @@ u16 mevent_081445C0(u8);
void sub_801B990(u32, u32);
u8 sub_8013F78(void);
bool32 sub_802C908(u16);
void nullsub_89(u8 taskId);
void var_800D_set_xB(void);
bool32 mevent_0814257C(u8 *textState, const u8 *str);
void sub_8018884(const u8 *src);
void sub_80186A4(void);
#endif //GUARD_rom_8011DC0_H

View File

@@ -1,11 +0,0 @@
//
// Created by Scott Norton on 9/6/17.
//
#ifndef GUARD_ROM_818CFC8_H
#define GUARD_ROM_818CFC8_H
bool8 InBattlePyramid(void);
u8 sub_81AAA40(void);
#endif //GUARD_ROM_818CFC8_H

View File

@@ -83,15 +83,16 @@ bool8 sub_8153380(void);
bool8 sub_81533AC(void);
u8 sub_81533E0(void);
u8 sub_8153408(void);
u8 sub_8153430(void);
bool8 sub_8153474(void);
u8 FullSaveGame(void);
bool8 CheckSaveFile(void);
u8 Save_LoadGameData(u8 a1);
u16 sub_815355C(void);
u8 sub_81534D0(u8);
u8 sub_8153430(void);
bool8 sub_8153474(void);
u32 TryCopySpecialSaveSection(u8 sector, u8* dst);
u32 sub_8153634(u8 sector, u8* src);
void sub_8153688(u8 taskId);
// save_failed_screen.c
void DoSaveFailedScreen(u8 saveType);
#endif // GUARD_SAVE_H

View File

@@ -43,16 +43,16 @@ void ScriptContext1_SetupScript(const u8 *ptr);
void ScriptContext1_Stop(void);
void EnableBothScriptContexts(void);
void ScriptContext2_RunNewScript(const u8 *ptr);
u8 *mapheader_get_tagged_pointer(u8 tag);
void mapheader_run_script_by_tag(u8 tag);
u8 *mapheader_get_first_match_from_tagged_ptr_list(u8 tag);
void mapheader_run_script_with_tag_x1(void);
void mapheader_run_script_with_tag_x3(void);
void mapheader_run_script_with_tag_x5(void);
void mapheader_run_script_with_tag_x7(void);
void mapheader_run_script_with_tag_x6(void);
bool8 mapheader_run_first_tag2_script_list_match(void);
void mapheader_run_first_tag4_script_list_match(void);
u8 *MapHeaderGetScriptTable(u8 tag);
void MapHeaderRunScriptType(u8 tag);
u8 *MapHeaderCheckScriptTable(u8 tag);
void RunOnLoadMapScript(void);
void RunOnTransitionMapScript(void);
void RunOnResumeMapScript(void);
void RunOnReturnToFieldMapScript(void);
void RunOnDiveWarpMapScript(void);
bool8 TryRunOnFrameMapScript(void);
void TryRunOnWarpIntoMapScript(void);
u32 CalculateRamScriptChecksum(void);
void ClearRamScript(void);
bool8 InitRamScript(const u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId);
@@ -61,4 +61,7 @@ bool32 sub_80991F8(void);
u8 *sub_8099244(void);
void sub_80992A0(u8 *script, u16 scriptSize);
// srccmd.h
void sub_809BE48(u16 npcId);
#endif // GUARD_SCRIPT_H

View File

@@ -14,5 +14,7 @@ u8 CreateWindowFromRect(u8, u8, u8, u8);
void sub_80E2A78(u8);
int display_text_and_get_width(const u8*, int);
int sub_80E2D5C(int arg0, int tileWidth);
bool16 ScrSpecial_CreatePCMenu(void);
void ScriptMenu_DisplayPCStartupPrompt(void);
#endif //GUARD_SCRIPT_MENU_H

View File

@@ -22,6 +22,9 @@ void sub_80EB56C(void);
void sub_80EB9E0(void);
void sub_80EBB28(void);
void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEvents *events);
bool8 sub_80E909C(void);
void sub_80EB218(void);
void ResetSecretBases(void);
// SetCurrentSecretBaseFromPosition
void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events);
@@ -30,5 +33,8 @@ void sub_80E8B6C(void);
void sub_80E8BC8(void);
void sub_80E8D4C(void);
void EnableBothScriptContexts(void);
void ReceiveSecretBasesData(void *records, size_t recordSize, u8 linkIdx);
#endif //GUARD_SECRET_BASE_H

View File

@@ -39,10 +39,10 @@ struct SiiRtcInfo
u8 alarmMinute;
};
void SiiRtcUnprotect();
void SiiRtcProtect();
u8 SiiRtcProbe();
bool8 SiiRtcReset();
void SiiRtcUnprotect(void);
void SiiRtcProtect(void);
u8 SiiRtcProbe(void);
bool8 SiiRtcReset(void);
bool8 SiiRtcGetStatus(struct SiiRtcInfo *rtc);
bool8 SiiRtcSetStatus(struct SiiRtcInfo *rtc);
bool8 SiiRtcGetDateTime(struct SiiRtcInfo *rtc);

View File

@@ -1,6 +1,20 @@
#ifndef GUARD_SLOT_MACHINE_H
#define GUARD_SLOT_MACHINE_H
#define NUM_REELS 3
#define REEL_NUM_TAGS 21
#define REEL_TAG_HEIGHT 24
// Lucky Flags
#define LUCKY_BIAS_REPLAY (1 << 0)
#define LUCKY_BIAS_CHERRY (1 << 1)
#define LUCKY_BIAS_LOTAD (1 << 2)
#define LUCKY_BIAS_AZURILL (1 << 3)
#define LUCKY_BIAS_POWER (1 << 4)
#define LUCKY_BIAS_REELTIME (1 << 5)
#define LUCKY_BIAS_MIXED_777 (1 << 6)
#define LUCKY_BIAS_777 (1 << 7)
void PlaySlotMachine(u8, void (callback)(void));
#endif // GUARD_SLOT_MACHINE_H

View File

@@ -864,15 +864,22 @@ extern const u8 gText_Winona[];
extern const u8 gText_Phoebe[];
extern const u8 gText_Glacia[];
extern const u8 gText_PkmnLearnedMove4[];
extern const u8 gText_PkmnTryingToLearnMove[];
extern const u8 gText_WhichMoveToForget2[];
extern const u8 gText_StopTryingToTeachMove[];
extern const u8 gText_12AndPoof[];
extern const u8 gText_PkmnForgotMoveAndLearnedNew[];
extern const u8 gText_MoveRelearnerPkmnLearnedMove[];
extern const u8 gText_MoveRelearnerPkmnTryingToLearnMove[];
extern const u8 gText_MoveRelearnerWhichMoveToForget[];
extern const u8 gText_MoveRelearnerStopTryingToTeachMove[];
extern const u8 gText_MoveRelearnerAndPoof[];
extern const u8 gText_MoveRelearnerPkmnForgotMoveAndLearnedNew[];
extern const u8 gText_TeachWhichMoveToPkmn[];
extern const u8 gText_GiveUpTeachingNewMove[];
extern const u8 gText_TeachX[];
extern const u8 gText_MoveRelearnerGiveUp[];
extern const u8 gText_MoveRelearnerTeachMoveConfirm[];
extern const u8 gText_MoveRelearnerBattleMoves[];
extern const u8 gText_MoveRelearnerPP[];
extern const u8 gText_MoveRelearnerPower[];
extern const u8 gText_MoveRelearnerAccuracy[];
extern const u8 gText_MoveRelearnerContestMovesTitle[];
extern const u8 gText_MoveRelearnerAppeal[];
extern const u8 gText_MoveRelearnerJam[];
extern const u8 gText_Kira[];
extern const u8 gText_Amy[];
@@ -991,6 +998,19 @@ extern const u8 gText_SomeonesPC[];
extern const u8 gText_PlayersPC[];
extern const u8 gText_WhichPCShouldBeAccessed[];
extern const u8 gText_Navgear_ClearButtonList[];
extern const u8 gText_NavgearMap_ZoomedOutButtons[];
extern const u8 gText_NavgearMap_ZoomedInButtons[];
extern const u8 gText_NavgearCondition_MonListButtons[];
extern const u8 gText_NavgearCondition_MonStatusButtons[];
extern const u8 gText_NavgearCondition_MarkingButtons[];
extern const u8 gText_NavgearMatchCall_TrainerListButtons[];
extern const u8 gText_NavgearMatchCall_CallMenuButtons[];
extern const u8 gText_NavgearMatchCall_CheckTrainerButtons[];
extern const u8 gText_NavgearRibbons_MonListButtons[];
extern const u8 gText_NavgearRibbons_RibbonListButtons[];
extern const u8 gText_NavgearRibbons_RibbonCheckButtons[];
extern const u8 gUnknown_085EAD37[];
extern const u8 gUnknown_085EAD41[];
extern const u8 gUnknown_085EAD67[];
@@ -1692,133 +1712,251 @@ extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24692B[];
extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_246ACF[];
extern const u8 BattleFrontier_BattleTowerMultiBattleRoom_Text_24649D[];
// Battle Dome.
extern const u8 gBattleDomeOpponentPotentialText1[];
extern const u8 gBattleDomeOpponentPotentialText2[];
extern const u8 gBattleDomeOpponentPotentialText3[];
extern const u8 gBattleDomeOpponentPotentialText4[];
extern const u8 gBattleDomeOpponentPotentialText5[];
extern const u8 gBattleDomeOpponentPotentialText6[];
extern const u8 gBattleDomeOpponentPotentialText7[];
extern const u8 gBattleDomeOpponentPotentialText8[];
extern const u8 gBattleDomeOpponentPotentialText9[];
extern const u8 gBattleDomeOpponentPotentialText10[];
extern const u8 gBattleDomeOpponentPotentialText11[];
extern const u8 gBattleDomeOpponentPotentialText12[];
extern const u8 gBattleDomeOpponentPotentialText13[];
extern const u8 gBattleDomeOpponentPotentialText14[];
extern const u8 gBattleDomeOpponentPotentialText15[];
extern const u8 gBattleDomeOpponentPotentialText16[];
extern const u8 gBattleDomeOpponentPotentialText17[];
extern const u8 gBattleDomeOpponentStyleText1[];
extern const u8 gBattleDomeOpponentStyleText2[];
extern const u8 gBattleDomeOpponentStyleText3[];
extern const u8 gBattleDomeOpponentStyleText4[];
extern const u8 gBattleDomeOpponentStyleText5[];
extern const u8 gBattleDomeOpponentStyleText6[];
extern const u8 gBattleDomeOpponentStyleText7[];
extern const u8 gBattleDomeOpponentStyleText8[];
extern const u8 gBattleDomeOpponentStyleText9[];
extern const u8 gBattleDomeOpponentStyleText10[];
extern const u8 gBattleDomeOpponentStyleText11[];
extern const u8 gBattleDomeOpponentStyleText12[];
extern const u8 gBattleDomeOpponentStyleText13[];
extern const u8 gBattleDomeOpponentStyleText14[];
extern const u8 gBattleDomeOpponentStyleText15[];
extern const u8 gBattleDomeOpponentStyleText16[];
extern const u8 gBattleDomeOpponentStyleText17[];
extern const u8 gBattleDomeOpponentStyleText18[];
extern const u8 gBattleDomeOpponentStyleText19[];
extern const u8 gBattleDomeOpponentStyleText20[];
extern const u8 gBattleDomeOpponentStyleText21[];
extern const u8 gBattleDomeOpponentStyleText22[];
extern const u8 gBattleDomeOpponentStyleText23[];
extern const u8 gBattleDomeOpponentStyleText24[];
extern const u8 gBattleDomeOpponentStyleText25[];
extern const u8 gBattleDomeOpponentStyleText26[];
extern const u8 gBattleDomeOpponentStyleText27[];
extern const u8 gBattleDomeOpponentStyleText28[];
extern const u8 gBattleDomeOpponentStyleTextUnused1[];
extern const u8 gBattleDomeOpponentStyleTextUnused2[];
extern const u8 gBattleDomeOpponentStyleTextUnused3[];
extern const u8 gBattleDomeOpponentStyleTextUnused4[];
extern const u8 gBattleDomeOpponentStatsText1[];
extern const u8 gBattleDomeOpponentStatsText2[];
extern const u8 gBattleDomeOpponentStatsText3[];
extern const u8 gBattleDomeOpponentStatsText4[];
extern const u8 gBattleDomeOpponentStatsText5[];
extern const u8 gBattleDomeOpponentStatsText6[];
extern const u8 gBattleDomeOpponentStatsText7[];
extern const u8 gBattleDomeOpponentStatsText8[];
extern const u8 gBattleDomeOpponentStatsText9[];
extern const u8 gBattleDomeOpponentStatsText10[];
extern const u8 gBattleDomeOpponentStatsText11[];
extern const u8 gBattleDomeOpponentStatsText12[];
extern const u8 gBattleDomeOpponentStatsText13[];
extern const u8 gBattleDomeOpponentStatsText14[];
extern const u8 gBattleDomeOpponentStatsText15[];
extern const u8 gBattleDomeOpponentStatsText16[];
extern const u8 gBattleDomeOpponentStatsText17[];
extern const u8 gBattleDomeOpponentStatsText18[];
extern const u8 gBattleDomeOpponentStatsText19[];
extern const u8 gBattleDomeOpponentStatsText20[];
extern const u8 gBattleDomeOpponentStatsText21[];
extern const u8 gBattleDomeOpponentStatsText22[];
extern const u8 gBattleDomeOpponentStatsText23[];
extern const u8 gBattleDomeOpponentStatsText24[];
extern const u8 gBattleDomeOpponentStatsText25[];
extern const u8 gBattleDomeOpponentStatsText26[];
extern const u8 gBattleDomeOpponentStatsText27[];
extern const u8 gBattleDomeOpponentStatsText28[];
extern const u8 gBattleDomeOpponentStatsText29[];
extern const u8 gBattleDomeOpponentStatsText30[];
extern const u8 gBattleDomeOpponentStatsText31[];
extern const u8 gBattleDomeOpponentStatsText32[];
extern const u8 gBattleDomeOpponentStatsText33[];
extern const u8 gBattleDomeOpponentStatsText34[];
extern const u8 gBattleDomeOpponentStatsText35[];
extern const u8 gBattleDomeOpponentStatsText36[];
extern const u8 gBattleDomeOpponentStatsText37[];
extern const u8 gBattleDomeOpponentStatsText38[];
extern const u8 gBattleDomeOpponentStatsText39[];
extern const u8 gBattleDomeOpponentStatsText40[];
extern const u8 gBattleDomeOpponentStatsText41[];
extern const u8 gBattleDomeOpponentStatsText42[];
extern const u8 gBattleDomeOpponentStatsText43[];
extern const u8 gBattleDomeMatchNumberText1[];
extern const u8 gBattleDomeMatchNumberText2[];
extern const u8 gBattleDomeMatchNumberText3[];
extern const u8 gBattleDomeMatchNumberText4[];
extern const u8 gBattleDomeMatchNumberText5[];
extern const u8 gBattleDomeMatchNumberText6[];
extern const u8 gBattleDomeMatchNumberText7[];
extern const u8 gBattleDomeMatchNumberText8[];
extern const u8 gBattleDomeMatchNumberText9[];
extern const u8 gBattleDomeMatchNumberText10[];
extern const u8 gBattleDomeMatchNumberText11[];
extern const u8 gBattleDomeMatchNumberText12[];
extern const u8 gBattleDomeMatchNumberText13[];
extern const u8 gBattleDomeMatchNumberText14[];
extern const u8 gBattleDomeMatchNumberText15[];
extern const u8 gBattleDomeWinText1[];
extern const u8 gBattleDomeWinText2[];
extern const u8 gBattleDomeWinText3[];
extern const u8 gBattleDomeWinText4[];
extern const u8 gBattleDomeWinText5[];
extern const u8 gBattleDomeWinText6[];
extern const u8 gBattleDomeWinText7[];
// Battle Pyramid.
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252D2D[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252D57[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252D81[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252DAB[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25330B[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2532CC[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25328B[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253248[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253206[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2531C4[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253183[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253140[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2530FD[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2544A6[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25445A[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25440B[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2543BA[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25436A[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25431A[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2542CB[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25427A[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252DD5[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252E03[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252E31[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252E5F[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25362E[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2535D4[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253578[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25351A[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2534BD[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253460[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253404[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2533A6[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25334D[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25471E[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2546CC[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25467C[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25462A[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2545D9[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254588[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254538[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2544E6[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252E8D[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252EAA[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252EC7[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252EE4[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2539EC[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253980[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253915[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2538A8[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25383C[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2537D0[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253765[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2536F8[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25368B[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254A0B[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2549AE[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25494D[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2548EB[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25488A[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254829[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2547C9[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254767[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252F01[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252F3A[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252F73[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252FAC[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253D3E[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253CE0[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253C87[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253C2C[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253BD2[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253B78[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253B1F[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253AC4[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253A69[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254C3E[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254BF1[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254BAE[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254B69[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254B25[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254AE1[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254A9E[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254A59[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_252FE5[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253000[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25301B[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253036[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253F6C[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253F34[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253EFA[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253EBE[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253E83[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253E48[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253E0E[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253DD2[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253D96[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254E6E[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254E27[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254DE0[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254D97[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254D4F[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254D07[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254CC0[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254C77[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253051[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25307C[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2530A7[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2530D2[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25422B[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2541DD[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25418D[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25413B[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_2540EA[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254099[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254049[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253FF7[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_253FA5[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_255068[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_25502F[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254FF6[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254FBB[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254F81[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254F47[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254F0E[];
extern const u8 BattleFrontier_BattlePyramidEmptySquare_Text_254ED3[];
extern const u8 BattlePyramid_ExitHintUp_Text1[];
extern const u8 BattlePyramid_ExitHintLeft_Text1[];
extern const u8 BattlePyramid_ExitHintRight_Text1[];
extern const u8 BattlePyramid_ExitHintDown_Text1[];
extern const u8 BattlePyramid_ZeroItemsRemaining_Text1[];
extern const u8 BattlePyramid_OneItemRemaining_Text1[];
extern const u8 BattlePyramid_TwoItemsRemaining_Text1[];
extern const u8 BattlePyramid_ThreeItemsRemaining_Text1[];
extern const u8 BattlePyramid_FourItemsRemaining_Text1[];
extern const u8 BattlePyramid_FiveItemsRemaining_Text1[];
extern const u8 BattlePyramid_SixItemsRemaining_Text1[];
extern const u8 BattlePyramid_SevenItemsRemaining_Text1[];
extern const u8 BattlePyramid_EightItemsRemaining_Text1[];
extern const u8 BattlePyramid_ZeroTrainersRemaining_Text1[];
extern const u8 BattlePyramid_OneTrainersRemaining_Text1[];
extern const u8 BattlePyramid_TwoTrainersRemaining_Text1[];
extern const u8 BattlePyramid_ThreeTrainersRemaining_Text1[];
extern const u8 BattlePyramid_FourTrainersRemaining_Text1[];
extern const u8 BattlePyramid_FiveTrainersRemaining_Text1[];
extern const u8 BattlePyramid_SixTrainersRemaining_Text1[];
extern const u8 BattlePyramid_SevenTrainersRemaining_Text1[];
extern const u8 BattlePyramid_ExitHintUp_Text2[];
extern const u8 BattlePyramid_ExitHintLeft_Text2[];
extern const u8 BattlePyramid_ExitHintRight_Text2[];
extern const u8 BattlePyramid_ExitHintDown_Text2[];
extern const u8 BattlePyramid_ZeroItemsRemaining_Text2[];
extern const u8 BattlePyramid_OneItemRemaining_Text2[];
extern const u8 BattlePyramid_TwoItemsRemaining_Text2[];
extern const u8 BattlePyramid_ThreeItemsRemaining_Text2[];
extern const u8 BattlePyramid_FourItemsRemaining_Text2[];
extern const u8 BattlePyramid_FiveItemsRemaining_Text2[];
extern const u8 BattlePyramid_SixItemsRemaining_Text2[];
extern const u8 BattlePyramid_SevenItemsRemaining_Text2[];
extern const u8 BattlePyramid_EightItemsRemaining_Text2[];
extern const u8 BattlePyramid_ZeroTrainersRemaining_Text2[];
extern const u8 BattlePyramid_OneTrainersRemaining_Text2[];
extern const u8 BattlePyramid_TwoTrainersRemaining_Text2[];
extern const u8 BattlePyramid_ThreeTrainersRemaining_Text2[];
extern const u8 BattlePyramid_FourTrainersRemaining_Text2[];
extern const u8 BattlePyramid_FiveTrainersRemaining_Text2[];
extern const u8 BattlePyramid_SixTrainersRemaining_Text2[];
extern const u8 BattlePyramid_SevenTrainersRemaining_Text2[];
extern const u8 BattlePyramid_ExitHintUp_Text3[];
extern const u8 BattlePyramid_ExitHintLeft_Text3[];
extern const u8 BattlePyramid_ExitHintRight_Text3[];
extern const u8 BattlePyramid_ExitHintDown_Text3[];
extern const u8 BattlePyramid_ZeroItemsRemaining_Text3[];
extern const u8 BattlePyramid_OneItemRemaining_Text3[];
extern const u8 BattlePyramid_TwoItemsRemaining_Text3[];
extern const u8 BattlePyramid_ThreeItemsRemaining_Text3[];
extern const u8 BattlePyramid_FourItemsRemaining_Text3[];
extern const u8 BattlePyramid_FiveItemsRemaining_Text3[];
extern const u8 BattlePyramid_SixItemsRemaining_Text3[];
extern const u8 BattlePyramid_SevenItemsRemaining_Text3[];
extern const u8 BattlePyramid_EightItemsRemaining_Text3[];
extern const u8 BattlePyramid_ZeroTrainersRemaining_Text3[];
extern const u8 BattlePyramid_OneTrainersRemaining_Text3[];
extern const u8 BattlePyramid_TwoTrainersRemaining_Text3[];
extern const u8 BattlePyramid_ThreeTrainersRemaining_Text3[];
extern const u8 BattlePyramid_FourTrainersRemaining_Text3[];
extern const u8 BattlePyramid_FiveTrainersRemaining_Text3[];
extern const u8 BattlePyramid_SixTrainersRemaining_Text3[];
extern const u8 BattlePyramid_SevenTrainersRemaining_Text3[];
extern const u8 BattlePyramid_ExitHintUp_Text4[];
extern const u8 BattlePyramid_ExitHintLeft_Text4[];
extern const u8 BattlePyramid_ExitHintRight_Text4[];
extern const u8 BattlePyramid_ExitHintDown_Text4[];
extern const u8 BattlePyramid_ZeroItemsRemaining_Text4[];
extern const u8 BattlePyramid_OneItemRemaining_Text4[];
extern const u8 BattlePyramid_TwoItemsRemaining_Text4[];
extern const u8 BattlePyramid_ThreeItemsRemaining_Text4[];
extern const u8 BattlePyramid_FourItemsRemaining_Text4[];
extern const u8 BattlePyramid_FiveItemsRemaining_Text4[];
extern const u8 BattlePyramid_SixItemsRemaining_Text4[];
extern const u8 BattlePyramid_SevenItemsRemaining_Text4[];
extern const u8 BattlePyramid_EightItemsRemaining_Text4[];
extern const u8 BattlePyramid_ZeroTrainersRemaining_Text4[];
extern const u8 BattlePyramid_OneTrainersRemaining_Text4[];
extern const u8 BattlePyramid_TwoTrainersRemaining_Text4[];
extern const u8 BattlePyramid_ThreeTrainersRemaining_Text4[];
extern const u8 BattlePyramid_FourTrainersRemaining_Text4[];
extern const u8 BattlePyramid_FiveTrainersRemaining_Text4[];
extern const u8 BattlePyramid_SixTrainersRemaining_Text4[];
extern const u8 BattlePyramid_SevenTrainersRemaining_Text4[];
extern const u8 BattlePyramid_ExitHintUp_Text5[];
extern const u8 BattlePyramid_ExitHintLeft_Text5[];
extern const u8 BattlePyramid_ExitHintRight_Text5[];
extern const u8 BattlePyramid_ExitHintDown_Text5[];
extern const u8 BattlePyramid_ZeroItemsRemaining_Text5[];
extern const u8 BattlePyramid_OneItemRemaining_Text5[];
extern const u8 BattlePyramid_TwoItemsRemaining_Text5[];
extern const u8 BattlePyramid_ThreeItemsRemaining_Text5[];
extern const u8 BattlePyramid_FourItemsRemaining_Text5[];
extern const u8 BattlePyramid_FiveItemsRemaining_Text5[];
extern const u8 BattlePyramid_SixItemsRemaining_Text5[];
extern const u8 BattlePyramid_SevenItemsRemaining_Text5[];
extern const u8 BattlePyramid_EightItemsRemaining_Text5[];
extern const u8 BattlePyramid_ZeroTrainersRemaining_Text5[];
extern const u8 BattlePyramid_OneTrainersRemaining_Text5[];
extern const u8 BattlePyramid_TwoTrainersRemaining_Text5[];
extern const u8 BattlePyramid_ThreeTrainersRemaining_Text5[];
extern const u8 BattlePyramid_FourTrainersRemaining_Text5[];
extern const u8 BattlePyramid_FiveTrainersRemaining_Text5[];
extern const u8 BattlePyramid_SixTrainersRemaining_Text5[];
extern const u8 BattlePyramid_SevenTrainersRemaining_Text5[];
extern const u8 BattlePyramid_ExitHintUp_Text6[];
extern const u8 BattlePyramid_ExitHintLeft_Text6[];
extern const u8 BattlePyramid_ExitHintRight_Text6[];
extern const u8 BattlePyramid_ExitHintDown_Text6[];
extern const u8 BattlePyramid_ZeroItemsRemaining_Text6[];
extern const u8 BattlePyramid_OneItemRemaining_Text6[];
extern const u8 BattlePyramid_TwoItemsRemaining_Text6[];
extern const u8 BattlePyramid_ThreeItemsRemaining_Text6[];
extern const u8 BattlePyramid_FourItemsRemaining_Text6[];
extern const u8 BattlePyramid_FiveItemsRemaining_Text6[];
extern const u8 BattlePyramid_SixItemsRemaining_Text6[];
extern const u8 BattlePyramid_SevenItemsRemaining_Text6[];
extern const u8 BattlePyramid_EightItemsRemaining_Text6[];
extern const u8 BattlePyramid_ZeroTrainersRemaining_Text6[];
extern const u8 BattlePyramid_OneTrainersRemaining_Text6[];
extern const u8 BattlePyramid_TwoTrainersRemaining_Text6[];
extern const u8 BattlePyramid_ThreeTrainersRemaining_Text6[];
extern const u8 BattlePyramid_FourTrainersRemaining_Text6[];
extern const u8 BattlePyramid_FiveTrainersRemaining_Text6[];
extern const u8 BattlePyramid_SixTrainersRemaining_Text6[];
extern const u8 BattlePyramid_SevenTrainersRemaining_Text6[];
// PC strings
extern const u8 gText_ExitFromBox[];
@@ -2287,5 +2425,167 @@ extern const u8 gUnknown_085EDC45[];
extern const u8 gUnknown_085EDB00[];
extern const u8 gUnknown_085EDC84[];
// Easy Chat Entry
extern const u8 gText_StopGivingPkmnMail[];
extern const u8 gText_LikeToQuitQuiz[];
extern const u8 gText_ChallengeQuestionMark[];
extern const u8 gText_QuitEditing[];
extern const u8 gText_AllTextBeingEditedWill[];
extern const u8 gText_BeDeletedThatOkay[];
extern const u8 gText_Lady[];
extern const u8 gText_F700sQuiz[];
extern const u8 gText_CreateAQuiz[];
extern const u8 gText_SelectTheAnswer[];
extern const u8 gText_OriginalSongWillBeUsed[];
extern const u8 gText_LyricsCantBeDeleted[];
extern const u8 gText_CombineTwoWordsOrPhrases3[];
extern const u8 gText_OnlyOnePhrase[];
extern const u8 gText_YouCannotQuitHere[];
extern const u8 gText_SectionMustBeCompleted[];
extern const u8 gText_ThreeQuestionMarks[];
extern const u8 gText_Profile[];
extern const u8 gText_CombineFourWordsOrPhrases[];
extern const u8 gText_AndMakeYourProfile[];
extern const u8 gText_YourProfile[];
extern const u8 gText_IsAsShownOkay[];
extern const u8 gText_AtTheBattlesStart[];
extern const u8 gText_CombineSixWordsOrPhrases[];
extern const u8 gText_AndMakeAMessage[];
extern const u8 gText_YourFeelingAtTheBattlesStart[];
extern const u8 gText_UponWinningABattle[];
extern const u8 gText_WhatYouSayIfYouWin[];
extern const u8 gText_UponLosingABattle[];
extern const u8 gText_WhatYouSayIfYouLose[];
extern const u8 gText_CombineNineWordsOrPhrases[];
extern const u8 gText_AndMakeAMessage2[];
extern const u8 gText_TheMailMessage[];
extern const u8 gText_Interview[];
extern const u8 gText_LetsReplyToTheInterview[];
extern const u8 gText_TheAnswer[];
extern const u8 gText_TheBardsSong[];
extern const u8 gText_ChangeJustOneWordOrPhrase[];
extern const u8 gText_AndImproveTheBardsSong[];
extern const u8 gText_TheBardsSong2[];
extern const u8 gText_FindWordsThatDescribeYour[];
extern const u8 gText_FeelingsRightNow[];
extern const u8 gText_WhatsHipAndHappening[];
extern const u8 gText_CombineTwoWordsOrPhrases[];
extern const u8 gText_AndMakeATrendySaying[];
extern const u8 gText_TheTrendySaying[];
extern const u8 gText_AfterYouHaveReadTheQuiz[];
extern const u8 gText_QuestionPressTheAButton[];
extern const u8 gText_TheQuizAnswerIs[];
extern const u8 gText_OutOfTheListedChoices[];
extern const u8 gText_SelectTheAnswerToTheQuiz[];
extern const u8 gText_TheAnswerColon[];
extern const u8 gText_AndCreateAQuiz[];
extern const u8 gText_IsThisQuizOK[];
extern const u8 gText_PickAWordOrPhraseAnd[];
extern const u8 gText_SetTheQuizAnswer[];
extern const u8 gText_ApprenticesPhrase[];
extern const u8 gText_FindWordsWhichFit[];
extern const u8 gText_TheTrainersImage[];
extern const u8 gText_ApprenticePhrase[];
extern const u8 gText_GoodSaying[];
extern const u8 gText_CombineTwoWordsOrPhrases2[];
extern const u8 gText_ToTeachHerAGoodSaying[];
extern const u8 gText_FansQuestion[];
extern const u8 gText_TheImage[];
extern const u8 gText_Questionnaire[];
extern const u8 gText_AndFillOutTheQuestionnaire[];
extern const u8 gText_DelAll[];
extern const u8 gText_Cancel5[];
extern const u8 gText_Ok2[];
extern const u8 gText_Quiz[];
extern const u8 gText_Answer[];
extern const u8 gEasyChatGroupName_Pokemon[];
extern const u8 gEasyChatGroupName_Trainer[];
extern const u8 gEasyChatGroupName_Status[];
extern const u8 gEasyChatGroupName_Battle[];
extern const u8 gEasyChatGroupName_Greetings[];
extern const u8 gEasyChatGroupName_People[];
extern const u8 gEasyChatGroupName_Voices[];
extern const u8 gEasyChatGroupName_Speech[];
extern const u8 gEasyChatGroupName_Endings[];
extern const u8 gEasyChatGroupName_Feelings[];
extern const u8 gEasyChatGroupName_Conditions[];
extern const u8 gEasyChatGroupName_Actions[];
extern const u8 gEasyChatGroupName_Lifestyle[];
extern const u8 gEasyChatGroupName_Hobbies[];
extern const u8 gEasyChatGroupName_Time[];
extern const u8 gEasyChatGroupName_Misc[];
extern const u8 gEasyChatGroupName_Adjectives[];
extern const u8 gEasyChatGroupName_Events[];
extern const u8 gEasyChatGroupName_Move1[];
extern const u8 gEasyChatGroupName_Move2[];
extern const u8 gEasyChatGroupName_TrendySaying[];
extern const u8 gEasyChatGroupName_Pokemon2[];
extern const u8 gUnknown_862B810[];
extern const u8 gUnknown_862B832[];
extern const u8 gUnknown_862B84B[];
extern const u8 gUnknown_862B86C[];
extern const u8 gUnknown_0862B88D[];
extern const u8 gUnknown_0862B8AE[];
extern const u8 gUnknown_0862B8CF[];
extern const u8 gUnknown_0862B8F0[];
extern const u8 gUnknown_0862B911[];
extern const u8 gUnknown_0862B932[];
extern const u8 gUnknown_0862B953[];
extern const u8 gUnknown_0862B974[];
extern const u8 gUnknown_0862B995[];
extern const u8 gUnknown_0862B9AE[];
extern const u8 gUnknown_0862B9C7[];
extern const u8 gUnknown_0862B9E0[];
extern const u8 gUnknown_0862B9F9[];
extern const u8 gUnknown_0862B9FF[];
extern const u8 gUnknown_0862BA05[];
extern const u8 gUnknown_0862BA0B[];
extern const u8 gUnknown_0862BA11[];
extern const u8 gUnknown_0862BA17[];
extern const u8 gUnknown_0862BA1D[];
extern const u8 gUnknown_0862BA23[];
extern const u8 gUnknown_0862BA29[];
extern const u8 gUnknown_0862BA2F[];
extern const u8 gUnknown_0862BA35[];
extern const u8 gUnknown_0862BA3B[];
extern const u8 gUnknown_0862BA41[];
extern const u8 gUnknown_0862BA47[];
extern const u8 gUnknown_0862BA4D[];
extern const u8 gUnknown_0862BA53[];
extern const u8 gUnknown_0862BA59[];
extern const u8 gUnknown_0862BA5F[];
extern const u8 gUnknown_0862BA65[];
extern const u8 gUnknown_0862BA6B[];
extern const u8 gUnknown_0862BA79[];
extern const u8 gUnknown_0862BA84[];
extern const u8 gUnknown_0862BA8F[];
extern const u8 gUnknown_0862BA9A[];
extern const u8 gUnknown_0862BAA3[];
extern const u8 gUnknown_0862BAAE[];
extern const u8 gUnknown_0862BAB9[];
extern const u8 gUnknown_0862BAC4[];
extern const u8 gUnknown_0862BACF[];
extern const u8 gUnknown_0862BADA[];
// E-Reader
extern const u8 gUnknown_085EDFD6[];
extern const u8 gUnknown_085EDFF5[];
extern const u8 gUnknown_085EE014[];
extern const u8 gUnknown_085EE035[];
extern const u8 gUnknown_085EE05C[];
extern const u8 gUnknown_085EE06B[];
extern const u8 gUnknown_085EE080[];
extern const u8 gUnknown_085EE097[];
extern const u8 gUnknown_085EE0A3[];
extern const u8 gUnknown_085EE0BF[];
extern const u8 gUnknown_085EE0DC[];
extern const u8 gUnknown_085EE0FA[];
extern const u8 gUnknown_085EE107[];
extern const u8 gUnknown_085EE120[];
extern const u8 gUnknown_085EE12D[];
extern const u8 gUnknown_085EE14B[];
extern const u8 gUnknown_085EE14F[];
extern const u8 gUnknown_085EE154[];
#endif // GUARD_STRINGS_H

View File

@@ -1,6 +1,9 @@
#ifndef GUARD_TASK_H
#define GUARD_TASK_H
#define HEAD_SENTINEL 0xFE
#define TAIL_SENTINEL 0xFF
#define NUM_TASKS 16
typedef void (*TaskFunc)(u8 taskId);

View File

@@ -284,4 +284,8 @@ void DecompressGlyphFont1(u16 glyphId, bool32 isJapanese);
u32 GetGlyphWidthFont1(u16 glyphId, bool32 isJapanese);
void DecompressGlyphFont9(u16 glyphId);
// unk_text_util_2.c
u16 Font6Func(struct TextPrinter *textPrinter);
u32 GetGlyphWidthFont6(u16 glyphId, bool32 isJapanese);
#endif // GUARD_TEXT_H

9
include/tileset_anims.h Executable file
View File

@@ -0,0 +1,9 @@
#ifndef GUARD_TILESET_ANIMS_H
#define GUARD_TILESET_ANIMS_H
void InitTilesetAnimations(void);
void InitSecondaryTilesetAnimation(void);
void UpdateTilesetAnimations(void);
void TransferTilesetAnimsBuffer(void);
#endif // GUARD_TILESET_ANIMS_H

View File

@@ -1,7 +1,7 @@
#ifndef GUARD_TITLE_SCREEN_H
#define GUARD_TITLE_SCREEN_H
extern const u16 gUnknown_0853FF70[];
extern const u16 gIntroWaterDropAlphaBlend[];
void CB2_InitTitleScreen(void);

View File

@@ -6,8 +6,11 @@
// Exported type declarations
// Exported RAM declarations
extern struct MailStruct gUnknown_020321C0[PARTY_SIZE];
extern u8 gUnknown_02032298[2];
// Exported ROM declarations
extern const struct WindowTemplate gUnknown_0833900C;
s32 sub_807A728(void);
void sub_80773AC(void);

View File

@@ -43,7 +43,7 @@ struct TrainerCard
extern struct TrainerCard gTrainerCards[4];
u32 CountPlayerTrainerStars(void);
u8 sub_80C4904(u8 cardId);
u8 GetTrainerCardStars(u8 cardId);
void CopyTrainerCardData(struct TrainerCard *dst, u16 *src, u8 gameVersion);
void ShowPlayerTrainerCard(void (*callback)(void));
void ShowTrainerCardInLink(u8 arg0, void (*callback)(void));

View File

@@ -1,7 +1,7 @@
#ifndef GUARD_TRAINER_HILL_H
#define GUARD_TRAINER_HILL_H
extern u32 *gUnknown_0203CF5C;
extern u32 *gTrainerHillVBlankCounter;
void CallTrainerHillFunction(void);
void ResetTrainerHillResults(void);

View File

@@ -1,6 +1,9 @@
#ifndef GUARD_TV_H
#define GUARD_TV_H
#define SLOT_MACHINE 0
#define ROULETTE 1
extern u8 *const gTVStringVarPtrs[3];
void ClearTVShowData(void);
@@ -23,9 +26,9 @@ bool8 GetPriceReduction(u8 newsKind);
void sub_80F14F8(TVShow *shows);
size_t CountDigits(int value);
u8 GetRibbonCount(struct Pokemon *pokemon);
void sub_80EDE70(u16 nCoinsSpent);
void sub_80EDE84(u16 nCoinsSpent);
void sub_80EDD78(u16 nCoinsPaidOut);
void AlertTVThatPlayerPlayedSlotMachine(u16 nCoinsSpent);
void AlertTVThatPlayerPlayedRoulette(u16 nCoinsSpent);
void AlertTVOfNewCoinTotal(u16 nCoinsPaidOut);
void sub_80EEA70(void);
void sub_80EDB44(void);
void sub_80EDC60(const u16 *words);
@@ -61,5 +64,6 @@ void ContestLiveUpdates_BeforeInterview_2(u8 a0);
void ContestLiveUpdates_BeforeInterview_3(u8 a0);
void ContestLiveUpdates_BeforeInterview_4(u16 a0);
void ContestLiveUpdates_BeforeInterview_5(u8 a0, u8 a1);
void ResetGabbyAndTy(void);
#endif //GUARD_TV_H

View File

@@ -1,6 +1,8 @@
#ifndef GUARD_WINDOW_H
#define GUARD_WINDOW_H
#define PIXEL_FILL(num) ((num) | ((num) << 4))
enum
{
WINDOW_BG,
@@ -73,6 +75,4 @@ extern u32 filler_03002F58;
extern u32 filler_03002F5C;
extern u32 filler_03002F64;
extern u8 gUnknown_03002F60;
#endif // GUARD_WINDOW_H