diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-11-16 08:36:51 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-11-16 19:00:07 -0500 |
commit | 236cbf96c8f94b8b2d23be8c72ee0e188e82842d (patch) | |
tree | c2042f78efdc37a5b64c9cd797cc0c66a0c80255 /include | |
parent | 50501396b21bf132cf71d0f5d353bf51d277ba27 (diff) | |
parent | c0d180a8702b9b20afe07b09316286f6406e5811 (diff) |
Merge origin/master into pikalaxalt/link
Diffstat (limited to 'include')
31 files changed, 1044 insertions, 400 deletions
diff --git a/include/battle.h b/include/battle.h index ace2bb4ad..0939c92b6 100644 --- a/include/battle.h +++ b/include/battle.h @@ -6,6 +6,8 @@ #include "battle_script_commands.h" #include "battle_2.h" #include "battle_ai_switch_items.h" +#include "battle_gfx_sfx_util.h" +#include "battle_util2.h" /* Banks are a name given to what could be called a 'battlerId' or 'monControllerId'. @@ -252,11 +254,21 @@ #define MOVE_TARGET_FOES_AND_ALLY 0x20 #define MOVE_TARGET_OPPONENTS_FIELD 0x40 +// defines for the u8 array gTypeEffectiveness +#define TYPE_EFFECT_ATK_TYPE(i)((gTypeEffectiveness[i + 0])) +#define TYPE_EFFECT_DEF_TYPE(i)((gTypeEffectiveness[i + 1])) +#define TYPE_EFFECT_MULTIPLIER(i)((gTypeEffectiveness[i + 2])) + +// defines for the gTypeEffectiveness multipliers #define TYPE_MUL_NO_EFFECT 0 #define TYPE_MUL_NOT_EFFECTIVE 5 #define TYPE_MUL_NORMAL 10 #define TYPE_MUL_SUPER_EFFECTIVE 20 +// special type table Ids +#define TYPE_FORESIGHT 0xFE +#define TYPE_ENDTABLE 0xFF + #define BS_GET_TARGET 0 #define BS_GET_ATTACKER 1 #define BS_GET_EFFECT_BANK 2 @@ -361,8 +373,8 @@ struct DisableStruct /*0x0D*/ u8 unkD; /*0x0E*/ u8 encoreTimer1 : 4; /*0x0E*/ u8 encoreTimer2 : 4; - /*0x0F*/ u8 perishSong1 : 4; - /*0x0F*/ u8 perishSong2 : 4; + /*0x0F*/ u8 perishSongTimer1 : 4; + /*0x0F*/ u8 perishSongTimer2 : 4; /*0x10*/ u8 furyCutterCounter; /*0x11*/ u8 rolloutCounter1 : 4; /*0x11*/ u8 rolloutCounter2 : 4; @@ -611,7 +623,7 @@ struct BattleStruct u8 sentInPokes; bool8 selectionScriptFinished[BATTLE_BANKS_COUNT]; u8 field_58[4]; - u8 field_5C[4]; + u8 monToSwitchIntoId[BATTLE_BANKS_COUNT]; u8 field_60[4][3]; u8 runTries; u8 caughtMonNick[11]; @@ -670,7 +682,7 @@ struct BattleStruct u8 fillerDC[0xDF-0xDC]; u8 field_DF; u8 mirrorMoveArrays[32]; - u16 castformPalette[4][16]; + u16 castformPalette[BATTLE_BANKS_COUNT][16]; u8 field_180; u8 field_181; u8 field_182; @@ -683,7 +695,7 @@ struct BattleStruct u8 field_1A4[96]; u8 field_204[104]; u8 field_26C[40]; - u8 field_294[4]; + u8 AI_monToSwitchIntoId[BATTLE_BANKS_COUNT]; u8 field_298[8]; u8 field_2A0; u8 field_2A1; @@ -807,6 +819,18 @@ extern struct BattleStruct* gBattleStruct; #define B_ANIM_SUBSTITUTE_TO_MON 0x5 #define B_ANIM_MON_TO_SUBSTITUTE 0x6 +// status animation table +#define B_ANIM_STATUS_PSN 0x0 +#define B_ANIM_STATUS_CONFUSION 0x1 +#define B_ANIM_STATUS_BRN 0x2 +#define B_ANIM_STATUS_INFATUATION 0x3 +#define B_ANIM_STATUS_SLP 0x4 +#define B_ANIM_STATUS_PRZ 0x5 +#define B_ANIM_STATUS_FRZ 0x6 +#define B_ANIM_STATUS_CURSED 0x7 +#define B_ANIM_STATUS_NIGHTMARE 0x8 +#define B_ANIM_STATUS_WRAPPED 0x9 + #define GET_STAT_BUFF_ID(n)((n & 0xF)) // first four bits 0x1, 0x2, 0x4, 0x8 #define GET_STAT_BUFF_VALUE(n)(((n >> 4) & 7)) // 0x10, 0x20, 0x40 #define STAT_BUFF_NEGATIVE 0x80 // 0x80, the sign bit @@ -857,50 +881,6 @@ bool8 LoadChosenBattleElement(u8 caseId); void DrawMainBattleBackground(void); void task00_0800F6FC(u8 taskId); -// battle_5 -void AllocateBattleResrouces(void); -void FreeBattleResources(void); -void AdjustFriendshipOnBattleFaint(u8 bank); -void sub_80571DC(u8 bank, u8 arg1); -u32 sub_805725C(u8 bank); - -// battle 7 -void AllocateBattleSpritesData(void); -void FreeBattleSpritesData(void); -void AllocateMonSpritesGfx(void); -void FreeMonSpritesGfx(void); -void BattleMusicStop(void); -void sub_805E990(struct Pokemon *mon, u8 bank); -void sub_805EF14(void); -bool8 BattleInitAllSprites(u8 *state1, u8 *state2); -void sub_805E350(void); -bool8 BattleLoadAllHealthBoxesGfx(u8 state); -void LoadAndCreateEnemyShadowSprites(void); -void SetBankEnemyShadowSpriteCallback(u8 bank, u16 species); -void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 bank); -void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 bank); -void BattleLoadSubstituteSpriteGfx(u8 bank, bool8 arg1); -void nullsub_24(u16 arg0); -void nullsub_25(u8 arg0); -void ClearTemporarySpeciesSpriteData(u8 bank, bool8 dontClearSubstitute); -void sub_805D714(struct Sprite *sprite); -void DecompressTrainerBackPic(u16 backPicId, u8 bank); -void DecompressTrainerFrontPic(u16 frontPicId, u8 bank); -void FreeTrainerFrontPicPalette(u16 frontPicId); -void sub_805D7AC(struct Sprite *sprite); -bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn); -void sub_805EB9C(u8 arg0); -void sub_805E394(void); -void TrySetBehindSubstituteSpriteBit(u8 bank, u16 move); -void DoStatusAnimation(bool8 isStatus2, u32 status); -void DoSpecialBattleAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId); -bool8 DoBattleAnimationFromTable(u8 active, u8 atkBank, u8 defBank, u8 tableId, u16 argument); -void CopyBattleSpriteInvisibility(u8 bank); -u16 ChooseMoveAndTargetInBattlePalace(void); -void LoadBattleBarGfx(u8 arg0); -bool8 mplay_80342A4(u8 bank); -void sub_805EEE0(u8 bank); - enum { BACK_PIC_BRENDAN, @@ -921,7 +901,7 @@ u8 GetBankByIdentity(u8 bank); struct BattleSpriteInfo { u16 invisible : 1; // 0x1 - u16 flag_x2 : 1; // 0x2 + u16 lowHpSong : 1; // 0x2 u16 behindSubstitute : 1; // 0x4 u16 flag_x8 : 1; // 0x8 u16 hpNumbersNoBars : 1; // 0x10 @@ -930,7 +910,7 @@ struct BattleSpriteInfo struct BattleAnimationInfo { - u16 field; // to fill up later + u16 animArg; // to fill up later u8 field_2; u8 field_3; u8 field_4; @@ -944,6 +924,12 @@ struct BattleAnimationInfo u8 field_9_x20 : 1; u8 field_9_x40 : 1; u8 field_9_x80 : 1; + u8 field_A; + u8 field_B; + u8 field_C; + u8 field_D; + u8 field_E; + u8 field_F; }; struct BattleHealthboxInfo @@ -966,7 +952,7 @@ struct BattleHealthboxInfo u8 animationState; u8 field_5; u8 field_6; - u8 field_7; + u8 shadowSpriteId; u8 field_8; u8 field_9; u8 field_A; @@ -997,6 +983,9 @@ extern struct BattleSpriteData *gBattleSpritesDataPtr; extern u8 *gLinkBattleSendBuffer; extern u8 *gLinkBattleRecvBuffer; +extern u8 *gUnknown_0202305C; +extern u8 *gUnknown_02023060; + // Move this somewhere else #include "sprite.h" @@ -1006,8 +995,11 @@ struct MonSpritesGfx void* firstDecompressed; // ptr to the decompressed sprite of the first pokemon void* sprites[4]; struct SpriteTemplate templates[4]; - u8 field_74[0x100]; - u8 *fontPixels; + struct SpriteFrameImage field_74[4][4]; + u8 field_F4[0x80]; + u8 *barFontGfx; + void *field_178; + void *field_17C; }; extern struct BattleSpritesGfx* gMonSpritesGfx; diff --git a/include/battle_anim.h b/include/battle_anim.h index e912af6b1..c055e94fa 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -92,7 +92,11 @@ u8 sub_80A6D94(void); u8 sub_80A8364(u8); void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*)); void oamt_add_pos2_onto_pos1(struct Sprite *sprite); -u8 sub_80A6138(u8 bank); +u8 GetBankSpriteDefault_Y(u8 bank); u8 sub_80A82E4(u8 bank); +u8 GetSubstituteSpriteDefault_Y(u8 bank); + +// battle_anim_80A9C70.s +void LaunchStatusAnimation(u8 bank, u8 statusAnimId); #endif // GUARD_BATTLE_ANIM_H diff --git a/include/battle_gfx_sfx_util.h b/include/battle_gfx_sfx_util.h new file mode 100644 index 000000000..313a29811 --- /dev/null +++ b/include/battle_gfx_sfx_util.h @@ -0,0 +1,50 @@ +#ifndef GUARD_BATTLE_GFX_SFX_UTIL +#define GUARD_BATTLE_GFX_SFX_UTIL + +void AllocateBattleSpritesData(void); +void FreeBattleSpritesData(void); +u16 ChooseMoveAndTargetInBattlePalace(void); +void sub_805D714(struct Sprite *sprite); +void sub_805D770(struct Sprite *sprite, bool8 arg1); +void sub_805D7AC(struct Sprite *sprite); +void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status); +bool8 TryHandleLaunchBattleTableAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId, u16 argument); +void InitAndLaunchSpecialAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId); +bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn); +bool8 mplay_80342A4(u8 bank); +void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 bank); +void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 bank); +void nullsub_23(void); +void nullsub_24(u16 species); +void DecompressTrainerFrontPic(u16 frontPicId, u8 bank); +void DecompressTrainerBackPic(u16 backPicId, u8 bank); +void nullsub_25(u8 arg0); +void FreeTrainerFrontPicPalette(u16 frontPicId); +void sub_805DFFC(void); +bool8 BattleLoadAllHealthBoxesGfx(u8 state); +void LoadBattleBarGfx(u8 arg0); +bool8 BattleInitAllSprites(u8 *state1, u8 *bank); +void ClearSpritesHealthboxAnimData(void); +void CopyAllBattleSpritesInvisibilities(void); +void CopyBattleSpriteInvisibility(u8 bank); +void HandleSpeciesGfxDataChange(u8 bankAtk, u8 bankDef, bool8 notTransform); +void BattleLoadSubstituteOrMonSpriteGfx(u8 bank, bool8 loadMonSprite); +void LoadBattleMonGfxAndAnimate(u8 bank, bool8 loadMonSprite, u8 spriteId); +void TrySetBehindSubstituteSpriteBit(u8 bank, u16 move); +void ClearBehindSubstituteBit(u8 bank); +void HandleLowHpMusicChange(struct Pokemon *mon, u8 bank); +void BattleStopLowHpSound(void); +u8 GetMonHPBarLevel(struct Pokemon *mon); +void sub_805EAE8(void); +void sub_805EB9C(u8 affineMode); +void LoadAndCreateEnemyShadowSprites(void); +void SpriteCB_SetInvisible(struct Sprite *sprite); +void SetBankEnemyShadowSpriteCallback(u8 bank, u16 species); +void EnemyShadowCallbackToSetInvisible(u8 bank); +void sub_805EF14(void); +void ClearTemporarySpeciesSpriteData(u8 bank, bool8 dontClearSubstitute); +void AllocateMonSpritesGfx(void); +void FreeMonSpritesGfx(void); +bool32 ShouldPlayNormalPokeCry(struct Pokemon *mon); + +#endif // GUARD_BATTLE_GFX_SFX_UTIL diff --git a/include/battle_interface.h b/include/battle_interface.h index aad30f7b3..b2d3b1b97 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -15,6 +15,15 @@ enum EXP_BAR }; +enum +{ + HP_BAR_EMPTY, + HP_BAR_RED, + HP_BAR_YELLOW, + HP_BAR_GREEN, + HP_BAR_FULL, +}; + #define TAG_HEALTHBOX_PLAYER1_TILE 0xD6FF #define TAG_HEALTHBOX_PLAYER2_TILE 0xD700 #define TAG_HEALTHBOX_OPPONENT1_TILE 0xD701 diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index a466abc04..ebfeabccc 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -57,6 +57,6 @@ void HandleBattleWindow(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags); bool8 UproarWakeUpCheck(u8 bank); extern void (* const gBattleScriptingCommandsTable[])(void); -extern const u8 gUnknown_0831C494[]; +extern const u8 gUnknown_0831C494[][4]; #endif // GUARD_BATTLE_SCRIPT_COMMANDS_H diff --git a/include/battle_util2.h b/include/battle_util2.h new file mode 100644 index 000000000..3954e42dc --- /dev/null +++ b/include/battle_util2.h @@ -0,0 +1,10 @@ +#ifndef GUARD_BATTLE_UTIL2_H +#define GUARD_BATTLE_UTIL2_H + +void AllocateBattleResources(void); +void FreeBattleResources(void); +void AdjustFriendshipOnBattleFaint(u8 bank); +void sub_80571DC(u8 bank, u8 arg1); +u32 sub_805725C(u8 bank); + +#endif // GUARD_BATTLE_UTIL_H diff --git a/include/contest.h b/include/contest.h index 7dcde7da2..d920117f3 100644 --- a/include/contest.h +++ b/include/contest.h @@ -12,14 +12,20 @@ struct ContestStruct_02039E00 extern struct ContestStruct_02039E00 gUnknown_02039E00[4]; extern u8 gUnknown_02039F24; -extern u16 gScriptContestCategory; -extern u8 gUnknown_02039F2E; +extern u16 gSpecialVar_ContestCategory; +extern u8 gSpecialVar_ContestRank; extern u8 gUnknown_02039F30; struct ContestStruct_field_18 { // unknown size u16 field_0; + u16 field_2; + u16 field_4; + u16 field_6; + u32 field_8; + u32 field_C; + u32 field_10; }; struct ContestResources diff --git a/include/data/region_map/region_map_entries.h b/include/data/region_map/region_map_entries.h new file mode 100644 index 000000000..73599c704 --- /dev/null +++ b/include/data/region_map/region_map_entries.h @@ -0,0 +1,421 @@ +#ifndef GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H +#define GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H + +static const u8 gMapName_LittlerootTown[] = _("LITTLEROOT TOWN"); +static const u8 gMapName_OldaleTown[] = _("OLDALE TOWN"); +static const u8 gMapName_DewfordTown[] = _("DEWFORD TOWN"); +static const u8 gMapName_LavaridgeTown[] = _("LAVARIDGE TOWN"); +static const u8 gMapName_FallarborTown[] = _("FALLARBOR TOWN"); +static const u8 gMapName_VerdanturfTown[] = _("VERDANTURF TOWN"); +static const u8 gMapName_PacifidlogTown[] = _("PACIFIDLOG TOWN"); +static const u8 gMapName_PetalburgCity[] = _("PETALBURG CITY"); +static const u8 gMapName_SlateportCity[] = _("SLATEPORT CITY"); +static const u8 gMapName_MauvilleCity[] = _("MAUVILLE CITY"); +static const u8 gMapName_RustboroCity[] = _("RUSTBORO CITY"); +static const u8 gMapName_FortreeCity[] = _("FORTREE CITY"); +static const u8 gMapName_LilycoveCity[] = _("LILYCOVE CITY"); +static const u8 gMapName_MossdeepCity[] = _("MOSSDEEP CITY"); +static const u8 gMapName_SootopolisCity[] = _("SOOTOPOLIS CITY"); +static const u8 gMapName_EverGrandeCity[] = _("EVER GRANDE CITY"); +static const u8 gMapName_Route101[] = _("ROUTE 101"); +static const u8 gMapName_Route102[] = _("ROUTE 102"); +static const u8 gMapName_Route103[] = _("ROUTE 103"); +static const u8 gMapName_Route104[] = _("ROUTE 104"); +static const u8 gMapName_Route105[] = _("ROUTE 105"); +static const u8 gMapName_Route106[] = _("ROUTE 106"); +static const u8 gMapName_Route107[] = _("ROUTE 107"); +static const u8 gMapName_Route108[] = _("ROUTE 108"); +static const u8 gMapName_Route109[] = _("ROUTE 109"); +static const u8 gMapName_Route110[] = _("ROUTE 110"); +static const u8 gMapName_Route111[] = _("ROUTE 111"); +static const u8 gMapName_Route112[] = _("ROUTE 112"); +static const u8 gMapName_Route113[] = _("ROUTE 113"); +static const u8 gMapName_Route114[] = _("ROUTE 114"); +static const u8 gMapName_Route115[] = _("ROUTE 115"); +static const u8 gMapName_Route116[] = _("ROUTE 116"); +static const u8 gMapName_Route117[] = _("ROUTE 117"); +static const u8 gMapName_Route118[] = _("ROUTE 118"); +static const u8 gMapName_Route119[] = _("ROUTE 119"); +static const u8 gMapName_Route120[] = _("ROUTE 120"); +static const u8 gMapName_Route121[] = _("ROUTE 121"); +static const u8 gMapName_Route122[] = _("ROUTE 122"); +static const u8 gMapName_Route123[] = _("ROUTE 123"); +static const u8 gMapName_Route124[] = _("ROUTE 124"); +static const u8 gMapName_Route125[] = _("ROUTE 125"); +static const u8 gMapName_Route126[] = _("ROUTE 126"); +static const u8 gMapName_Route127[] = _("ROUTE 127"); +static const u8 gMapName_Route128[] = _("ROUTE 128"); +static const u8 gMapName_Route129[] = _("ROUTE 129"); +static const u8 gMapName_Route130[] = _("ROUTE 130"); +static const u8 gMapName_Route131[] = _("ROUTE 131"); +static const u8 gMapName_Route132[] = _("ROUTE 132"); +static const u8 gMapName_Route133[] = _("ROUTE 133"); +static const u8 gMapName_Route134[] = _("ROUTE 134"); +static const u8 gMapName_Underwater[] = _("UNDERWATER"); +static const u8 gMapName_GraniteCave[] = _("GRANITE CAVE"); +static const u8 gMapName_MtChimney[] = _("MT. CHIMNEY"); +static const u8 gMapName_SafariZone[] = _("SAFARI ZONE"); +static const u8 gMapName_BattleFrontier[] = _("BATTLE FRONTIER"); +static const u8 gMapName_PetalburgWoods[] = _("PETALBURG WOODS"); +static const u8 gMapName_RusturfTunnel[] = _("RUSTURF TUNNEL"); +static const u8 gMapName_AbandonedShip[] = _("ABANDONED SHIP"); +static const u8 gMapName_NewMauville[] = _("NEW MAUVILLE"); +static const u8 gMapName_MeteorFalls[] = _("METEOR FALLS"); +static const u8 gMapName_MtPyre[] = _("MT. PYRE"); +// This was the Aqua or Magma hideout in Ruby/Sapphire, but each team has a +// hideout in Emerald with their own new region map entries, and this name +// doesn't seem to be used anymore. +static const u8 gMapName_AquaHideoutOld[] = _("{AQUA} HIDEOUT"); +static const u8 gMapName_ShoalCave[] = _("SHOAL CAVE"); +static const u8 gMapName_SeafloorCavern[] = _("SEAFLOOR CAVERN"); +static const u8 gMapName_VictoryRoad[] = _("VICTORY ROAD"); +static const u8 gMapName_MirageIsland[] = _("MIRAGE ISLAND"); +static const u8 gMapName_CaveOfOrigin[] = _("CAVE OF ORIGIN"); +static const u8 gMapName_SouthernIsland[] = _("SOUTHERN ISLAND"); +static const u8 gMapName_FieryPath[] = _("FIERY PATH"); +static const u8 gMapName_JaggedPass[] = _("JAGGED PASS"); +static const u8 gMapName_SealedChamber[] = _("SEALED CHAMBER"); +static const u8 gMapName_ScorchedSlab[] = _("SCORCHED SLAB"); +static const u8 gMapName_IslandCave[] = _("ISLAND CAVE"); +static const u8 gMapName_DesertRuins[] = _("DESERT RUINS"); +static const u8 gMapName_AncientTomb[] = _("ANCIENT TOMB"); +static const u8 gMapName_InsideOfTruck[] = _("INSIDE OF TRUCK"); +static const u8 gMapName_SkyPillar[] = _("SKY PILLAR"); +static const u8 gMapName_SecretBase[] = _("SECRET BASE"); +static const u8 gMapName_None[] = _(""); +static const u8 gMapName_PalletTown[] = _("PALLET TOWN"); +static const u8 gMapName_ViridianCity[] = _("VIRIDIAN CITY"); +static const u8 gMapName_PewterCity[] = _("PEWTER CITY"); +static const u8 gMapName_CeruleanCity[] = _("CERULEAN CITY"); +static const u8 gMapName_LavenderTown[] = _("LAVENDER TOWN"); +static const u8 gMapName_VermilionCity[] = _("VERMILION CITY"); +static const u8 gMapName_CeladonCity[] = _("CELADON CITY"); +static const u8 gMapName_FuchsiaCity[] = _("FUCHSIA CITY"); +static const u8 gMapName_CinnabarIsland[] = _("CINNABAR ISLAND"); +static const u8 gMapName_IndigoPlateau[] = _("INDIGO PLATEAU"); +static const u8 gMapName_SaffronCity[] = _("SAFFRON CITY"); +static const u8 gMapName_Route4[] = _("ROUTE 4"); +static const u8 gMapName_Route10[] = _("ROUTE 10"); +static const u8 gMapName_Route1[] = _("ROUTE 1"); +static const u8 gMapName_Route2[] = _("ROUTE 2"); +static const u8 gMapName_Route3[] = _("ROUTE 3"); +static const u8 gMapName_Route4_2[] = _("ROUTE 4"); +static const u8 gMapName_Route5[] = _("ROUTE 5"); +static const u8 gMapName_Route6[] = _("ROUTE 6"); +static const u8 gMapName_Route7[] = _("ROUTE 7"); +static const u8 gMapName_Route8[] = _("ROUTE 8"); +static const u8 gMapName_Route9[] = _("ROUTE 9"); +static const u8 gMapName_Route10_2[] = _("ROUTE 10"); +static const u8 gMapName_Route11[] = _("ROUTE 11"); +static const u8 gMapName_Route12[] = _("ROUTE 12"); +static const u8 gMapName_Route13[] = _("ROUTE 13"); +static const u8 gMapName_Route14[] = _("ROUTE 14"); +static const u8 gMapName_Route15[] = _("ROUTE 15"); +static const u8 gMapName_Route16[] = _("ROUTE 16"); +static const u8 gMapName_Route17[] = _("ROUTE 17"); +static const u8 gMapName_Route18[] = _("ROUTE 18"); +static const u8 gMapName_Route19[] = _("ROUTE 19"); +static const u8 gMapName_Route20[] = _("ROUTE 20"); +static const u8 gMapName_Route21[] = _("ROUTE 21"); +static const u8 gMapName_Route22[] = _("ROUTE 22"); +static const u8 gMapName_Route23[] = _("ROUTE 23"); +static const u8 gMapName_Route24[] = _("ROUTE 24"); +static const u8 gMapName_Route25[] = _("ROUTE 25"); +static const u8 gMapName_ViridianForest[] = _("VIRIDIAN FOREST"); +static const u8 gMapName_MtMoon[] = _("MT. MOON"); +static const u8 gMapName_SSAnne[] = _("S.S. ANNE"); +static const u8 gMapName_UndergroundPath[] = _("UNDERGROUND PATH"); +static const u8 gMapName_UndergroundPath2[] = _("UNDERGROUND PATH"); +static const u8 gMapName_DiglettsCave[] = _("DIGLETT’S CAVE"); +static const u8 gMapName_KantoVictoryRoad[] = _("VICTORY ROAD"); +static const u8 gMapName_RocketHideout[] = _("ROCKET HIDEOUT"); +static const u8 gMapName_SilphCo[] = _("SILPH CO."); +static const u8 gMapName_PokemonMansion[] = _("POKéMON MANSION"); +static const u8 gMapName_KantoSafariZone[] = _("SAFARI ZONE"); +static const u8 gMapName_PokemonLeague[] = _("POKéMON LEAGUE"); +static const u8 gMapName_RockTunnel[] = _("ROCK TUNNEL"); +static const u8 gMapName_SeafoamIslands[] = _("SEAFOAM ISLANDS"); +static const u8 gMapName_PokemonTower[] = _("POKéMON TOWER"); +static const u8 gMapName_CeruleanCave[] = _("CERULEAN CAVE"); +static const u8 gMapName_PowerPlant[] = _("POWER PLANT"); +static const u8 gMapName_OneIsland[] = _("ONE ISLAND"); +static const u8 gMapName_TwoIsland[] = _("TWO ISLAND"); +static const u8 gMapName_ThreeIsland[] = _("THREE ISLAND"); +static const u8 gMapName_FourIsland[] = _("FOUR ISLAND"); +static const u8 gMapName_FiveIsland[] = _("FIVE ISLAND"); +static const u8 gMapName_SevenIsland[] = _("SEVEN ISLAND"); +static const u8 gMapName_SixIsland[] = _("SIX ISLAND"); +static const u8 gMapName_KindleRoad[] = _("KINDLE ROAD"); +static const u8 gMapName_TreasureBeach[] = _("TREASURE BEACH"); +static const u8 gMapName_CapeBrink[] = _("CAPE BRINK"); +static const u8 gMapName_BondBridge[] = _("BOND BRIDGE"); +static const u8 gMapName_ThreeIslePort[] = _("THREE ISLE PORT"); +static const u8 gMapName_SeviiIsle6[] = _("SEVII ISLE 6"); +static const u8 gMapName_SeviiIsle7[] = _("SEVII ISLE 7"); +static const u8 gMapName_SeviiIsle8[] = _("SEVII ISLE 8"); +static const u8 gMapName_SeviiIsle9[] = _("SEVII ISLE 9"); +static const u8 gMapName_ResortGorgeous[] = _("RESORT GORGEOUS"); +static const u8 gMapName_WaterLabyrinth[] = _("WATER LABYRINTH"); +static const u8 gMapName_FiveIsleMeadow[] = _("FIVE ISLE MEADOW"); +static const u8 gMapName_MemorialPillar[] = _("MEMORIAL PILLAR"); +static const u8 gMapName_OutcastIsland[] = _("OUTCAST ISLAND"); +static const u8 gMapName_GreenPath[] = _("GREEN PATH"); +static const u8 gMapName_WaterPath[] = _("WATER PATH"); +static const u8 gMapName_RuinValley[] = _("RUIN VALLEY"); +static const u8 gMapName_TrainerTower[] = _("TRAINER TOWER"); +static const u8 gMapName_CanyonEntrance[] = _("CANYON ENTRANCE"); +static const u8 gMapName_SevaultCanyon[] = _("SEVAULT CANYON"); +static const u8 gMapName_TanobyRuins[] = _("TANOBY RUINS"); +static const u8 gMapName_SeviiIsle22[] = _("SEVII ISLE 22"); +static const u8 gMapName_SeviiIsle23[] = _("SEVII ISLE 23"); +static const u8 gMapName_SeviiIsle24[] = _("SEVII ISLE 24"); +static const u8 gMapName_NavelRock[] = _("NAVEL ROCK"); +static const u8 gMapName_MtEmber[] = _("MT. EMBER"); +static const u8 gMapName_BerryForest[] = _("BERRY FOREST"); +static const u8 gMapName_IcefallCave[] = _("ICEFALL CAVE"); +static const u8 gMapName_RocketWarehouse[] = _("ROCKET WAREHOUSE"); +static const u8 gMapName_TrainerTower2[] = _("TRAINER TOWER"); +static const u8 gMapName_DottedHole[] = _("DOTTED HOLE"); +static const u8 gMapName_LostCave[] = _("LOST CAVE"); +static const u8 gMapName_PatternBush[] = _("PATTERN BUSH"); +static const u8 gMapName_AlteringCave[] = _("ALTERING CAVE"); +static const u8 gMapName_TanobyChambers[] = _("TANOBY CHAMBERS"); +static const u8 gMapName_ThreeIslePath[] = _("THREE ISLE PATH"); +static const u8 gMapName_TanobyKey[] = _("TANOBY KEY"); +static const u8 gMapName_BirthIsland[] = _("BIRTH ISLAND"); +static const u8 gMapName_MoneanChamber[] = _("MONEAN CHAMBER"); +static const u8 gMapName_LiptooChamber[] = _("LIPTOO CHAMBER"); +static const u8 gMapName_WeepthChamber[] = _("WEEPTH CHAMBER"); +static const u8 gMapName_DilfordChamber[] = _("DILFORD CHAMBER"); +static const u8 gMapName_ScufibChamber[] = _("SCUFIB CHAMBER"); +static const u8 gMapName_RixyChamber[] = _("RIXY CHAMBER"); +static const u8 gMapName_ViapoisChamber[] = _("VIAPOIS CHAMBER"); +static const u8 gMapName_EmberSpa[] = _("EMBER SPA"); +static const u8 gMapName_SpecialArea[] = _("SPECIAL AREA"); +static const u8 gMapName_AquaHideout[] = _("AQUA HIDEOUT"); +static const u8 gMapName_MagmaHideout[] = _("MAGMA HIDEOUT"); +static const u8 gMapName_MirageTower[] = _("MIRAGE TOWER"); +static const u8 gMapName_FarawayIsland[] = _("FARAWAY ISLAND"); +static const u8 gMapName_ArtisanCave[] = _("ARTISAN CAVE"); +static const u8 gMapName_MarineCave[] = _("MARINE CAVE"); +static const u8 gMapName_TerraCave[] = _("TERRA CAVE"); +static const u8 gMapName_DesertUnderpass[] = _("DESERT UNDERPASS"); +static const u8 gMapName_TrainerHill[] = _("TRAINER HILL"); + +const struct RegionMapLocation gRegionMapEntries[] = { + { 4, 11, 1, 1, gMapName_LittlerootTown}, + { 4, 9, 1, 1, gMapName_OldaleTown}, + { 2, 14, 1, 1, gMapName_DewfordTown}, + { 5, 3, 1, 1, gMapName_LavaridgeTown}, + { 3, 0, 1, 1, gMapName_FallarborTown}, + { 4, 6, 1, 1, gMapName_VerdanturfTown}, + {17, 10, 1, 1, gMapName_PacifidlogTown}, + { 1, 9, 1, 1, gMapName_PetalburgCity}, + { 8, 10, 1, 2, gMapName_SlateportCity}, + { 8, 6, 2, 1, gMapName_MauvilleCity}, + { 0, 5, 1, 2, gMapName_RustboroCity}, + {12, 0, 1, 1, gMapName_FortreeCity}, + {18, 3, 2, 1, gMapName_LilycoveCity}, + {24, 5, 2, 1, gMapName_MossdeepCity}, + {21, 7, 1, 1, gMapName_SootopolisCity}, + {27, 8, 1, 2, gMapName_EverGrandeCity}, + { 4, 10, 1, 1, gMapName_Route101}, + { 2, 9, 2, 1, gMapName_Route102}, + { 4, 8, 4, 1, gMapName_Route103}, + { 0, 7, 1, 3, gMapName_Route104}, + { 0, 10, 1, 3, gMapName_Route105}, + { 0, 13, 2, 1, gMapName_Route106}, + { 3, 14, 3, 1, gMapName_Route107}, + { 6, 14, 2, 1, gMapName_Route108}, + { 8, 12, 1, 3, gMapName_Route109}, + { 8, 7, 1, 3, gMapName_Route110}, + { 8, 0, 1, 6, gMapName_Route111}, + { 6, 3, 2, 1, gMapName_Route112}, + { 4, 0, 4, 1, gMapName_Route113}, + { 1, 0, 2, 3, gMapName_Route114}, + { 0, 2, 1, 3, gMapName_Route115}, + { 1, 5, 4, 1, gMapName_Route116}, + { 5, 6, 3, 1, gMapName_Route117}, + {10, 6, 2, 1, gMapName_Route118}, + {11, 0, 1, 6, gMapName_Route119}, + {13, 0, 1, 4, gMapName_Route120}, + {14, 3, 4, 1, gMapName_Route121}, + {16, 4, 1, 2, gMapName_Route122}, + {12, 6, 5, 1, gMapName_Route123}, + {20, 3, 4, 3, gMapName_Route124}, + {24, 3, 2, 2, gMapName_Route125}, + {20, 6, 3, 3, gMapName_Route126}, + {23, 6, 3, 3, gMapName_Route127}, + {23, 9, 4, 1, gMapName_Route128}, + {24, 10, 2, 1, gMapName_Route129}, + {21, 10, 3, 1, gMapName_Route130}, + {18, 10, 3, 1, gMapName_Route131}, + {15, 10, 2, 1, gMapName_Route132}, + {12, 10, 3, 1, gMapName_Route133}, + { 9, 10, 3, 1, gMapName_Route134}, + {20, 3, 4, 3, gMapName_Underwater}, + {20, 6, 3, 3, gMapName_Underwater}, + {23, 6, 3, 3, gMapName_Underwater}, + {23, 9, 4, 1, gMapName_Underwater}, + {21, 7, 1, 1, gMapName_Underwater}, + { 1, 13, 1, 1, gMapName_GraniteCave}, + { 6, 2, 1, 1, gMapName_MtChimney}, + {16, 2, 1, 1, gMapName_SafariZone}, + {22, 12, 1, 1, gMapName_BattleFrontier}, + { 0, 8, 1, 1, gMapName_PetalburgWoods}, + { 2, 5, 1, 1, gMapName_RusturfTunnel}, + { 6, 14, 1, 1, gMapName_AbandonedShip}, + { 8, 7, 1, 1, gMapName_NewMauville}, + { 0, 3, 1, 1, gMapName_MeteorFalls}, + { 1, 2, 1, 1, gMapName_MeteorFalls}, + {16, 4, 1, 1, gMapName_MtPyre}, + {19, 3, 1, 1, gMapName_AquaHideoutOld}, + {24, 4, 1, 1, gMapName_ShoalCave}, + {24, 9, 1, 1, gMapName_SeafloorCavern}, + {24, 9, 1, 1, gMapName_Underwater}, + {27, 9, 1, 1, gMapName_VictoryRoad}, + {17, 10, 1, 1, gMapName_MirageIsland}, + {21, 7, 1, 1, gMapName_CaveOfOrigin}, + {12, 14, 1, 1, gMapName_SouthernIsland}, + { 6, 3, 1, 1, gMapName_FieryPath}, + { 7, 3, 1, 1, gMapName_FieryPath}, + { 6, 3, 1, 1, gMapName_JaggedPass}, + { 7, 2, 1, 1, gMapName_JaggedPass}, + {11, 10, 1, 1, gMapName_SealedChamber}, + {11, 10, 1, 1, gMapName_Underwater}, + {13, 0, 1, 1, gMapName_ScorchedSlab}, + { 0, 10, 1, 1, gMapName_IslandCave}, + { 8, 3, 1, 1, gMapName_DesertRuins}, + {13, 2, 1, 1, gMapName_AncientTomb}, + { 0, 0, 1, 1, gMapName_InsideOfTruck}, + {19, 10, 1, 1, gMapName_SkyPillar}, + { 0, 0, 1, 1, gMapName_SecretBase}, + { 0, 0, 1, 1, gMapName_None}, + { 0, 0, 1, 1, gMapName_PalletTown}, + { 0, 0, 1, 1, gMapName_ViridianCity}, + { 0, 0, 1, 1, gMapName_PewterCity}, + { 0, 0, 1, 1, gMapName_CeruleanCity}, + { 0, 0, 1, 1, gMapName_LavenderTown}, + { 0, 0, 1, 1, gMapName_VermilionCity}, + { 0, 0, 1, 1, gMapName_CeladonCity}, + { 0, 0, 1, 1, gMapName_FuchsiaCity}, + { 0, 0, 1, 1, gMapName_CinnabarIsland}, + { 0, 0, 1, 1, gMapName_IndigoPlateau}, + { 0, 0, 1, 1, gMapName_SaffronCity}, + { 0, 0, 1, 1, gMapName_Route4}, + { 0, 0, 1, 1, gMapName_Route10}, + { 0, 0, 1, 1, gMapName_Route1}, + { 0, 0, 1, 1, gMapName_Route2}, + { 0, 0, 1, 1, gMapName_Route3}, + { 0, 0, 1, 1, gMapName_Route4_2}, + { 0, 0, 1, 1, gMapName_Route5}, + { 0, 0, 1, 1, gMapName_Route6}, + { 0, 0, 1, 1, gMapName_Route7}, + { 0, 0, 1, 1, gMapName_Route8}, + { 0, 0, 1, 1, gMapName_Route9}, + { 0, 0, 1, 1, gMapName_Route10_2}, + { 0, 0, 1, 1, gMapName_Route11}, + { 0, 0, 1, 1, gMapName_Route12}, + { 0, 0, 1, 1, gMapName_Route13}, + { 0, 0, 1, 1, gMapName_Route14}, + { 0, 0, 1, 1, gMapName_Route15}, + { 0, 0, 1, 1, gMapName_Route16}, + { 0, 0, 1, 1, gMapName_Route17}, + { 0, 0, 1, 1, gMapName_Route18}, + { 0, 0, 1, 1, gMapName_Route19}, + { 0, 0, 1, 1, gMapName_Route20}, + { 0, 0, 1, 1, gMapName_Route21}, + { 0, 0, 1, 1, gMapName_Route22}, + { 0, 0, 1, 1, gMapName_Route23}, + { 0, 0, 1, 1, gMapName_Route24}, + { 0, 0, 1, 1, gMapName_Route25}, + { 0, 0, 1, 1, gMapName_ViridianForest}, + { 0, 0, 1, 1, gMapName_MtMoon}, + { 0, 0, 1, 1, gMapName_SSAnne}, + { 0, 0, 1, 1, gMapName_UndergroundPath}, + { 0, 0, 1, 1, gMapName_UndergroundPath2}, + { 0, 0, 1, 1, gMapName_DiglettsCave}, + { 0, 0, 1, 1, gMapName_KantoVictoryRoad}, + { 0, 0, 1, 1, gMapName_RocketHideout}, + { 0, 0, 1, 1, gMapName_SilphCo}, + { 0, 0, 1, 1, gMapName_PokemonMansion}, + { 0, 0, 1, 1, gMapName_KantoSafariZone}, + { 0, 0, 1, 1, gMapName_PokemonLeague}, + { 0, 0, 1, 1, gMapName_RockTunnel}, + { 0, 0, 1, 1, gMapName_SeafoamIslands}, + { 0, 0, 1, 1, gMapName_PokemonTower}, + { 0, 0, 1, 1, gMapName_CeruleanCave}, + { 0, 0, 1, 1, gMapName_PowerPlant}, + { 0, 0, 1, 1, gMapName_OneIsland}, + { 0, 0, 1, 1, gMapName_TwoIsland}, + { 0, 0, 1, 1, gMapName_ThreeIsland}, + { 0, 0, 1, 1, gMapName_FourIsland}, + { 0, 0, 1, 1, gMapName_FiveIsland}, + { 0, 0, 1, 1, gMapName_SevenIsland}, + { 0, 0, 1, 1, gMapName_SixIsland}, + { 0, 0, 1, 1, gMapName_KindleRoad}, + { 0, 0, 1, 1, gMapName_TreasureBeach}, + { 0, 0, 1, 1, gMapName_CapeBrink}, + { 0, 0, 1, 1, gMapName_BondBridge}, + { 0, 0, 1, 1, gMapName_ThreeIslePort}, + { 0, 0, 1, 1, gMapName_SeviiIsle6}, + { 0, 0, 1, 1, gMapName_SeviiIsle7}, + { 0, 0, 1, 1, gMapName_SeviiIsle8}, + { 0, 0, 1, 1, gMapName_SeviiIsle9}, + { 0, 0, 1, 1, gMapName_ResortGorgeous}, + { 0, 0, 1, 1, gMapName_WaterLabyrinth}, + { 0, 0, 1, 1, gMapName_FiveIsleMeadow}, + { 0, 0, 1, 1, gMapName_MemorialPillar}, + { 0, 0, 1, 1, gMapName_OutcastIsland}, + { 0, 0, 1, 1, gMapName_GreenPath}, + { 0, 0, 1, 1, gMapName_WaterPath}, + { 0, 0, 1, 1, gMapName_RuinValley}, + { 0, 0, 1, 1, gMapName_TrainerTower}, + { 0, 0, 1, 1, gMapName_CanyonEntrance}, + { 0, 0, 1, 1, gMapName_SevaultCanyon}, + { 0, 0, 1, 1, gMapName_TanobyRuins}, + { 0, 0, 1, 1, gMapName_SeviiIsle22}, + { 0, 0, 1, 1, gMapName_SeviiIsle23}, + { 0, 0, 1, 1, gMapName_SeviiIsle24}, + { 0, 0, 1, 1, gMapName_NavelRock}, + { 0, 0, 1, 1, gMapName_MtEmber}, + { 0, 0, 1, 1, gMapName_BerryForest}, + { 0, 0, 1, 1, gMapName_IcefallCave}, + { 0, 0, 1, 1, gMapName_RocketWarehouse}, + { 0, 0, 1, 1, gMapName_TrainerTower2}, + { 0, 0, 1, 1, gMapName_DottedHole}, + { 0, 0, 1, 1, gMapName_LostCave}, + { 0, 0, 1, 1, gMapName_PatternBush}, + { 0, 0, 1, 1, gMapName_AlteringCave}, + { 0, 0, 1, 1, gMapName_TanobyChambers}, + { 0, 0, 1, 1, gMapName_ThreeIslePath}, + { 0, 0, 1, 1, gMapName_TanobyKey}, + { 0, 0, 1, 1, gMapName_BirthIsland}, + { 0, 0, 1, 1, gMapName_MoneanChamber}, + { 0, 0, 1, 1, gMapName_LiptooChamber}, + { 0, 0, 1, 1, gMapName_WeepthChamber}, + { 0, 0, 1, 1, gMapName_DilfordChamber}, + { 0, 0, 1, 1, gMapName_ScufibChamber}, + { 0, 0, 1, 1, gMapName_RixyChamber}, + { 0, 0, 1, 1, gMapName_ViapoisChamber}, + { 0, 0, 1, 1, gMapName_EmberSpa}, + { 0, 0, 1, 1, gMapName_SpecialArea}, + {19, 3, 1, 1, gMapName_AquaHideout}, + { 6, 3, 1, 1, gMapName_MagmaHideout}, + { 8, 2, 1, 1, gMapName_MirageTower}, + { 0, 0, 1, 1, gMapName_BirthIsland}, + { 0, 0, 1, 1, gMapName_FarawayIsland}, + {22, 12, 1, 1, gMapName_ArtisanCave}, + { 0, 0, 1, 1, gMapName_MarineCave}, + { 0, 0, 1, 1, gMapName_Underwater}, + { 0, 0, 1, 1, gMapName_TerraCave}, + { 0, 10, 1, 3, gMapName_Underwater}, + {24, 3, 2, 2, gMapName_Underwater}, + {24, 10, 2, 1, gMapName_Underwater}, + { 2, 0, 1, 1, gMapName_DesertUnderpass}, + { 6, 8, 1, 1, gMapName_AlteringCave}, + { 0, 0, 1, 1, gMapName_NavelRock}, + { 8, 4, 1, 1, gMapName_TrainerHill} +}; + +#endif //GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H diff --git a/include/decompress.h b/include/decompress.h index 92292e9ce..566107bdd 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -3,6 +3,8 @@ #include "sprite.h" +extern u8 gDecompressionBuffer[0x4000]; + void LZDecompressWram(const void *src, void *dest); void LZDecompressVram(const void *src, void *dest); diff --git a/include/event_data.h b/include/event_data.h index 0bd11fdcd..f0ab90ae4 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -42,11 +42,11 @@ extern u16 gSpecialVar_0x8008; extern u16 gSpecialVar_0x8009; extern u16 gSpecialVar_0x800A; extern u16 gSpecialVar_0x800B; -extern u16 gScriptResult; -extern u16 gScriptLastTalked; -extern u16 gScriptFacing; -extern u16 gSpecialVar_0x8012; -extern u16 gSpecialVar_0x8013; +extern u16 gSpecialVar_Result; +extern u16 gSpecialVar_LastTalked; +extern u16 gSpecialVar_Facing; +extern u16 gSpecialVar_MonBoxId; +extern u16 gSpecialVar_MonBoxPos; extern u16 gSpecialVar_0x8014; #endif // GUARD_EVENT_DATA_H diff --git a/include/event_scripts.h b/include/event_scripts.h index f85118e00..844f1052a 100755 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -7,12 +7,12 @@ extern const u8 gUnknown_0823B4E8[]; extern const u8 gUnknown_0823B5E9[]; -extern const u8 gUnknown_08275BB7[]; -extern const u8 gUnknown_08275D0C[]; -extern const u8 gUnknown_08275D1F[]; -extern const u8 gUnknown_08275D2E[]; -extern const u8 gUnknown_082766A2[]; -extern const u8 gUnknown_082766A6[]; +extern const u8 EventScript_275BB7[]; +extern const u8 EventScript_275D0C[]; +extern const u8 EventScript_275D1F[]; +extern const u8 EventScript_275D2E[]; +extern const u8 EventScript_2766A2[]; +extern const u8 EventScript_2766A6[]; extern const u8 gTVBravoTrainerText00[]; extern const u8 gTVBravoTrainerText01[]; @@ -362,14 +362,14 @@ extern const u8 gPokeNewsTextLilycove_Ending[]; extern const u8 gPokeNewsTextBlendMaster_Upcoming[]; extern const u8 gPokeNewsTextBlendMaster_Ongoing[]; extern const u8 gPokeNewsTextBlendMaster_Ending[]; -extern const u8 gUnknown_08274966[]; -extern const u8 gUnknown_08274D13[]; -extern const u8 gUnknown_08274FFE[]; -extern const u8 gUnknown_08275367[]; -extern const u8 gUnknown_082756C7[]; -extern const u8 gUnknown_08274B24[]; -extern const u8 gUnknown_08274E75[]; -extern const u8 gUnknown_082751E1[]; -extern const u8 gUnknown_082754F6[]; -extern const u8 gUnknown_082758CC[]; +extern const u8 SecretBase_RedCave1_Text_274966[]; +extern const u8 SecretBase_RedCave1_Text_274D13[]; +extern const u8 SecretBase_RedCave1_Text_274FFE[]; +extern const u8 SecretBase_RedCave1_Text_275367[]; +extern const u8 SecretBase_RedCave1_Text_2756C7[]; +extern const u8 SecretBase_RedCave1_Text_274B24[]; +extern const u8 SecretBase_RedCave1_Text_274E75[]; +extern const u8 SecretBase_RedCave1_Text_2751E1[]; +extern const u8 SecretBase_RedCave1_Text_2754F6[]; +extern const u8 SecretBase_RedCave1_Text_2758CC[]; #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/field_effect.h b/include/field_effect.h index aa3f7eba0..629ae07c7 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -69,9 +69,10 @@ enum FieldEffectScriptIdx FLDEFF_USE_TELEPORT }; +extern u32 gFieldEffectArguments[8]; + u8 FieldEffectStart(u8); bool8 FieldEffectActiveListContains(u8 id); - -extern u32 gFieldEffectArguments[8]; +void sub_80B69DC(void); #endif //GUARD_FIELD_EFFECTS_H diff --git a/include/flags.h b/include/flags.h index ce93af985..2ffe3c96a 100644 --- a/include/flags.h +++ b/include/flags.h @@ -1,108 +1,112 @@ #ifndef GUARD_FLAGS_H #define GUARD_FLAGS_H -#define TRAINER_FLAG_START 0x500 +#define FLAG_TRAINER_FLAG_START 0x500 #define TRAINERS_FLAG_NO 0x356 -#define CODE_FLAGS (TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860 +#define CODE_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860 // SYSTEM FLAGS -#define SYS_POKEMON_GET CODE_FLAGS + 0 -#define SYS_POKEDEX_GET CODE_FLAGS + 1 -#define SYS_POKENAV_GET CODE_FLAGS + 2 +#define FLAG_SYS_POKEMON_GET (CODE_FLAGS + 0) +#define FLAG_SYS_POKEDEX_GET (CODE_FLAGS + 1) +#define FLAG_SYS_POKENAV_GET (CODE_FLAGS + 2) // third one appears unused -#define SYS_GAME_CLEAR CODE_FLAGS + 4 -#define SYS_CHAT_USED CODE_FLAGS + 5 -#define SYS_HIPSTER_MEET CODE_FLAGS + 6 +#define FLAG_SYS_GAME_CLEAR (CODE_FLAGS + 4) +#define FLAG_SYS_CHAT_USED (CODE_FLAGS + 5) +#define FLAG_SYS_HIPSTER_MEET (CODE_FLAGS + 6) // badges -#define BADGE01_GET CODE_FLAGS + 7 -#define BADGE02_GET CODE_FLAGS + 8 -#define BADGE03_GET CODE_FLAGS + 9 -#define BADGE04_GET CODE_FLAGS + 0xA -#define BADGE05_GET CODE_FLAGS + 0xB -#define BADGE06_GET CODE_FLAGS + 0xC -#define BADGE07_GET CODE_FLAGS + 0xD -#define BADGE08_GET CODE_FLAGS + 0xE +#define FLAG_BADGE01_GET (CODE_FLAGS + 7) +#define FLAG_BADGE02_GET (CODE_FLAGS + 8) +#define FLAG_BADGE03_GET (CODE_FLAGS + 9) +#define FLAG_BADGE04_GET (CODE_FLAGS + 0xA) +#define FLAG_BADGE05_GET (CODE_FLAGS + 0xB) +#define FLAG_BADGE06_GET (CODE_FLAGS + 0xC) +#define FLAG_BADGE07_GET (CODE_FLAGS + 0xD) +#define FLAG_BADGE08_GET (CODE_FLAGS + 0xE) // cities and towns -#define FLAG_VISITED_LITTLEROOT_TOWN CODE_FLAGS + 0xF -#define FLAG_VISITED_OLDALE_TOWN CODE_FLAGS + 0x10 -#define FLAG_VISITED_DEWFORD_TOWN CODE_FLAGS + 0x11 -#define FLAG_VISITED_LAVARIDGE_TOWN CODE_FLAGS + 0x12 -#define FLAG_VISITED_FALLARBOR_TOWN CODE_FLAGS + 0x13 -#define FLAG_VISITED_VERDANTURF_TOWN CODE_FLAGS + 0x14 -#define FLAG_VISITED_PACIFIDLOG_TOWN CODE_FLAGS + 0x15 -#define FLAG_VISITED_PETALBURG_CITY CODE_FLAGS + 0x16 -#define FLAG_VISITED_SLATEPORT_CITY CODE_FLAGS + 0x17 -#define FLAG_VISITED_MAUVILLE_CITY CODE_FLAGS + 0x18 -#define FLAG_VISITED_RUSTBORO_CITY CODE_FLAGS + 0x19 -#define FLAG_VISITED_FORTREE_CITY CODE_FLAGS + 0x1A -#define FLAG_VISITED_LILYCOVE_CITY CODE_FLAGS + 0x1B -#define FLAG_VISITED_MOSSDEEP_CITY CODE_FLAGS + 0x1C -#define FLAG_VISITED_SOOTOPOLIS_CITY CODE_FLAGS + 0x1D -#define FLAG_VISITED_EVER_GRANDE_CITY CODE_FLAGS + 0x1E -#define SYS_UNKNOWN_87F CODE_FLAGS + 0x1F -#define SYS_UNKNOWN_880 CODE_FLAGS + 0x20 - -#define SYS_USE_FLASH CODE_FLAGS + 0x28 -#define SYS_USE_STRENGTH CODE_FLAGS + 0x29 -#define SYS_WEATHER_CTRL CODE_FLAGS + 0x2A -#define SYS_CYCLING_ROAD CODE_FLAGS + 0x2B -#define SYS_SAFARI_MODE CODE_FLAGS + 0x2C -#define SYS_CRUISE_MODE CODE_FLAGS + 0x2D - -#define SYS_TV_HOME CODE_FLAGS + 0x30 -#define SYS_TV_WATCH CODE_FLAGS + 0x31 -#define SYS_TV_START CODE_FLAGS + 0x32 -#define SYS_POPWORD_INPUT CODE_FLAGS + 0x33 -#define SYS_MIX_RECORD CODE_FLAGS + 0x34 -#define SYS_CLOCK_SET CODE_FLAGS + 0x35 -#define SYS_NATIONAL_DEX CODE_FLAGS + 0x36 -#define SYS_CAVE_SHIP CODE_FLAGS + 0x37 -#define SYS_CAVE_WONDER CODE_FLAGS + 0x38 -#define SYS_CAVE_BATTLE CODE_FLAGS + 0x39 -#define SYS_SHOAL_TIDE CODE_FLAGS + 0x3A -#define SYS_RIBBON_GET CODE_FLAGS + 0x3B - -#define SYS_PC_LANETTE CODE_FLAGS + 0x4B -#define SYS_MYSTERY_EVENT_ENABLE CODE_FLAGS + 0x4C -#define SYS_ENC_UP_ITEM CODE_FLAGS + 0x4D -#define SYS_ENC_DOWN_ITEM CODE_FLAGS + 0x4E -#define SYS_BRAILLE_DIG CODE_FLAGS + 0x4F -#define SYS_BRAILLE_STRENGTH CODE_FLAGS + 0x50 -#define SYS_BRAILLE_WAIT CODE_FLAGS + 0x51 -#define SYS_BRAILLE_FLY CODE_FLAGS + 0x52 -#define SYS_HAS_EON_TICKET CODE_FLAGS + 0x53 - -#define SYS_POKEMON_LEAGUE_FLY CODE_FLAGS + 0x54 - -#define SYS_TV_LATI CODE_FLAGS + 0x5D - -#define SYS_SHOAL_ITEM CODE_FLAGS + 0x5F -#define SYS_B_DASH CODE_FLAGS + 0x60 // got Running Shoes -#define SYS_CTRL_OBJ_DELETE CODE_FLAGS + 0x61 -#define SYS_RESET_RTC_ENABLE CODE_FLAGS + 0x62 - -#define SYS_TOWER_SILVER CODE_FLAGS + 0x64 -#define SYS_TOWER_GOLD CODE_FLAGS + 0x65 -#define SYS_DOME_SILVER CODE_FLAGS + 0x66 -#define SYS_DOME_GOLD CODE_FLAGS + 0x67 -#define SYS_PALACE_SILVER CODE_FLAGS + 0x68 -#define SYS_PALACE_GOLD CODE_FLAGS + 0x69 -#define SYS_ARENA_SILVER CODE_FLAGS + 0x6A -#define SYS_ARENA_GOLD CODE_FLAGS + 0x6B -#define SYS_FACTORY_SILVER CODE_FLAGS + 0x6C -#define SYS_FACTORY_GOLD CODE_FLAGS + 0x6D -#define SYS_PIKE_SILVER CODE_FLAGS + 0x6E -#define SYS_PIKE_GOLD CODE_FLAGS + 0x6F -#define SYS_PYRAMID_SILVER CODE_FLAGS + 0x70 -#define SYS_PYRAMID_GOLD CODE_FLAGS + 0x71 -#define SYS_FRONTIER_PASS CODE_FLAGS + 0x72 - -#define SYS_STORAGE_UNKNOWN_FLAG CODE_FLAGS + 0x77 - -#define SYS_MYSTERY_GIFT_ENABLE CODE_FLAGS + 0x7B +#define FLAG_VISITED_LITTLEROOT_TOWN (CODE_FLAGS + 0xF) +#define FLAG_VISITED_OLDALE_TOWN (CODE_FLAGS + 0x10) +#define FLAG_VISITED_DEWFORD_TOWN (CODE_FLAGS + 0x11) +#define FLAG_VISITED_LAVARIDGE_TOWN (CODE_FLAGS + 0x12) +#define FLAG_VISITED_FALLARBOR_TOWN (CODE_FLAGS + 0x13) +#define FLAG_VISITED_VERDANTURF_TOWN (CODE_FLAGS + 0x14) +#define FLAG_VISITED_PACIFIDLOG_TOWN (CODE_FLAGS + 0x15) +#define FLAG_VISITED_PETALBURG_CITY (CODE_FLAGS + 0x16) +#define FLAG_VISITED_SLATEPORT_CITY (CODE_FLAGS + 0x17) +#define FLAG_VISITED_MAUVILLE_CITY (CODE_FLAGS + 0x18) +#define FLAG_VISITED_RUSTBORO_CITY (CODE_FLAGS + 0x19) +#define FLAG_VISITED_FORTREE_CITY (CODE_FLAGS + 0x1A) +#define FLAG_VISITED_LILYCOVE_CITY (CODE_FLAGS + 0x1B) +#define FLAG_VISITED_MOSSDEEP_CITY (CODE_FLAGS + 0x1C) +#define FLAG_VISITED_SOOTOPOLIS_CITY (CODE_FLAGS + 0x1D) +#define FLAG_VISITED_EVER_GRANDE_CITY (CODE_FLAGS + 0x1E) + +#define FLAG_SYS_UNKNOWN_87F (CODE_FLAGS + 0x1F) +#define FLAG_SYS_UNKNOWN_880 (CODE_FLAGS + 0x20) + +#define FLAG_SYS_USE_FLASH (CODE_FLAGS + 0x28) +#define FLAG_SYS_USE_STRENGTH (CODE_FLAGS + 0x29) +#define FLAG_SYS_WEATHER_CTRL (CODE_FLAGS + 0x2A) +#define FLAG_SYS_CYCLING_ROAD (CODE_FLAGS + 0x2B) +#define FLAG_SYS_SAFARI_MODE (CODE_FLAGS + 0x2C) +#define FLAG_SYS_CRUISE_MODE (CODE_FLAGS + 0x2D) + +#define FLAG_SYS_TV_HOME (CODE_FLAGS + 0x30) +#define FLAG_SYS_TV_WATCH (CODE_FLAGS + 0x31) +#define FLAG_SYS_TV_START (CODE_FLAGS + 0x32) +#define FLAG_SYS_POPWORD_INPUT (CODE_FLAGS + 0x33) +#define FLAG_SYS_MIX_RECORD (CODE_FLAGS + 0x34) +#define FLAG_SYS_CLOCK_SET (CODE_FLAGS + 0x35) +#define FLAG_SYS_NATIONAL_DEX (CODE_FLAGS + 0x36) +#define FLAG_SYS_CAVE_SHIP (CODE_FLAGS + 0x37) +#define FLAG_SYS_CAVE_WONDER (CODE_FLAGS + 0x38) +#define FLAG_SYS_CAVE_BATTLE (CODE_FLAGS + 0x39) +#define FLAG_SYS_SHOAL_TIDE (CODE_FLAGS + 0x3A) +#define FLAG_SYS_RIBBON_GET (CODE_FLAGS + 0x3B) + +#define FLAG_UNLOCK_BATTLE_FRONTIER (CODE_FLAGS + 0x48) +#define FLAG_UNLOCK_SOUTHERN_ISLAND (CODE_FLAGS + 0x49) + +#define FLAG_SYS_PC_LANETTE (CODE_FLAGS + 0x4B) +#define FLAG_SYS_MYSTERY_EVENT_ENABLE (CODE_FLAGS + 0x4C) +#define FLAG_SYS_ENC_UP_ITEM (CODE_FLAGS + 0x4D) +#define FLAG_SYS_ENC_DOWN_ITEM (CODE_FLAGS + 0x4E) +#define FLAG_SYS_BRAILLE_DIG (CODE_FLAGS + 0x4F) +#define FLAG_SYS_BRAILLE_STRENGTH (CODE_FLAGS + 0x50) +#define FLAG_SYS_BRAILLE_WAIT (CODE_FLAGS + 0x51) +#define FLAG_SYS_BRAILLE_FLY (CODE_FLAGS + 0x52) +#define FLAG_SYS_HAS_EON_TICKET (CODE_FLAGS + 0x53) + +#define FLAG_SYS_POKEMON_LEAGUE_FLY (CODE_FLAGS + 0x54) + +#define FLAG_SYS_TV_LATI (CODE_FLAGS + 0x5D) + +#define FLAG_SYS_SHOAL_ITEM (CODE_FLAGS + 0x5F) +#define FLAG_SYS_B_DASH (CODE_FLAGS + 0x60) // got Running Shoes +#define FLAG_SYS_CTRL_OBJ_DELETE (CODE_FLAGS + 0x61) +#define FLAG_SYS_RESET_RTC_ENABLE (CODE_FLAGS + 0x62) + +#define FLAG_SYS_TOWER_SILVER (CODE_FLAGS + 0x64) +#define FLAG_SYS_TOWER_GOLD (CODE_FLAGS + 0x65) +#define FLAG_SYS_DOME_SILVER (CODE_FLAGS + 0x66) +#define FLAG_SYS_DOME_GOLD (CODE_FLAGS + 0x67) +#define FLAG_SYS_PALACE_SILVER (CODE_FLAGS + 0x68) +#define FLAG_SYS_PALACE_GOLD (CODE_FLAGS + 0x69) +#define FLAG_SYS_ARENA_SILVER (CODE_FLAGS + 0x6A) +#define FLAG_SYS_ARENA_GOLD (CODE_FLAGS + 0x6B) +#define FLAG_SYS_FACTORY_SILVER (CODE_FLAGS + 0x6C) +#define FLAG_SYS_FACTORY_GOLD (CODE_FLAGS + 0x6D) +#define FLAG_SYS_PIKE_SILVER (CODE_FLAGS + 0x6E) +#define FLAG_SYS_PIKE_GOLD (CODE_FLAGS + 0x6F) +#define FLAG_SYS_PYRAMID_SILVER (CODE_FLAGS + 0x70) +#define FLAG_SYS_PYRAMID_GOLD (CODE_FLAGS + 0x71) +#define FLAG_SYS_FRONTIER_PASS (CODE_FLAGS + 0x72) + +#define FLAG_SYS_STORAGE_UNKNOWN_FLAG (CODE_FLAGS + 0x77) + +#define FLAG_SYS_MYSTERY_GIFT_ENABLE (CODE_FLAGS + 0x7B) // SPECIAL FLAGS (unknown purpose) diff --git a/include/hall_of_fame.h b/include/hall_of_fame.h index 62e84c39e..d35ecf268 100644 --- a/include/hall_of_fame.h +++ b/include/hall_of_fame.h @@ -1,9 +1,9 @@ #ifndef GUARD_HALL_OF_FAME_H #define GUARD_HALL_OF_FAME_H -void sub_8141F90(void); -void sub_8143648(u16 paletteTag, u8 arg1); -void sub_81428CC(void); -void sub_8143680(int, u8); +void CB2_DoHallOfFameScreen(void); +void CB2_DoHallOfFameScreenDontSaveData(void); +void CB2_DoHallOfFamePC(void); +void sub_8175280(void); #endif // GUARD_HALL_OF_FAME_H diff --git a/include/heal_location.h b/include/heal_location.h new file mode 100644 index 000000000..1f966f1ae --- /dev/null +++ b/include/heal_location.h @@ -0,0 +1,25 @@ +#ifndef GUARD_HEAL_LOCATION_H +#define GUARD_HEAL_LOCATION_H + +// Exported type declarations + +struct UnkStruct_0859F534 { + const union AffineAnimCmd *const *const affineAnims; + void (* callback)(struct Sprite *sprite); +}; + +struct HealLocation +{ + s8 group; + s8 map; + u16 x; + u16 y; +}; + +// Exported RAM declarations + +// Exported ROM declarations + +const struct HealLocation *GetHealLocationPointer(u32 loc); + +#endif //GUARD_HEAL_LOCATION_H diff --git a/include/international_string_util.h b/include/international_string_util.h index 9d9735a52..e7876162e 100644 --- a/include/international_string_util.h +++ b/include/international_string_util.h @@ -12,7 +12,7 @@ s32 GetStringWidthDifference(s32 fontId, const u8 *str, s32 totalWidth, s32 lett s32 GetMaxWidthInMenuTable(const struct MenuAction *str, s32 arg1); s32 sub_81DB3D8(const struct MenuAction *str, u8* arg1, s32 arg2); // sub_81DB41C -// sub_81DB468 +// CopyMonCategoryText // sub_81DB494 // sub_81DB4DC // sub_81DB554 diff --git a/include/item_menu.h b/include/item_menu.h index 17229ec29..6c8ef031b 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -5,7 +5,7 @@ // Exported RAM declarations -extern u16 gScriptItemId; +extern u16 gSpecialVar_ItemId; // Exported ROM declarations void sub_81AAC50(void); diff --git a/include/malloc.h b/include/malloc.h index a6abab5e4..6efa8fbef 100644 --- a/include/malloc.h +++ b/include/malloc.h @@ -6,6 +6,12 @@ #define calloc(ct, sz) AllocZeroed((ct) * (sz)) #define free Free +#define FREE_AND_SET_NULL(ptr) \ +{ \ + free(ptr); \ + ptr = NULL; \ +} + extern u8 gHeap[]; void *Alloc(u32 size); void *AllocZeroed(u32 size); diff --git a/include/menu.h b/include/menu.h index e0d06e715..24bfb7835 100644 --- a/include/menu.h +++ b/include/menu.h @@ -30,5 +30,7 @@ u64 sub_8198A50(struct WindowTemplate*, u8, u8, u8, u8, u8, u8, u16); // returns void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos); s8 sub_8198C58(void); void copy_decompressed_tile_data_to_vram_autofree(u8 arg0, const void *arg1, bool32 arg2, u16 arg3, u8 arg4); +void do_scheduled_bg_tilemap_copies_to_vram(void); +void clear_scheduled_bg_copies_to_vram(void); #endif // GUARD_MENU_H diff --git a/include/overworld.h b/include/overworld.h index 11aadaf0e..0aa3c30fd 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -54,13 +54,16 @@ bool32 is_c1_link_related_active(void); extern u16 gUnknown_03005DA8; void strange_npc_table_clear(void); -const struct MapHeader *get_mapheader_by_bank_and_number(u8, u8); +const struct MapHeader *get_mapheader_by_bank_and_number(u16, u16); void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *); void sub_8086230(void); void c2_exit_to_overworld_2_switch(void); bool32 sub_8087598(void); void c2_exit_to_overworld_1_continue_scripts_restart_music(void); void warp_in(void); +u8 get_map_light_level_by_bank_and_number(s8 mapGroup, s8 mapNum); +void sub_8086194(void); +void sub_8084CCC(u8 spawn); void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpNum); void c2_load_new_map(void); void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused); diff --git a/include/party_menu.h b/include/party_menu.h index c93f63a6d..7a7d59cd0 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -2,6 +2,7 @@ #define GUARD_PARTY_MENU_H bool8 pokemon_has_move(struct Pokemon *, u16); +void sub_81B58A8(void); void DoWallyTutorialBagMenu(void); #endif // GUARD_PARTY_MENU_H diff --git a/include/pokedex.h b/include/pokedex.h index 79721899f..236feac45 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -2,7 +2,7 @@ #define GUARD_POKEDEX_H void ResetPokedex(void); -const u8 *GetPokemonCategory(u16); +void CopyMonCategoryText(u16 species, u8 *dst); u16 GetPokedexHeightWeight(u16 dexNum, u8 data); u16 GetNationalPokedexCount(u8); u16 GetHoennPokedexCount(u8); diff --git a/include/pokemon.h b/include/pokemon.h index 0c7d6ac40..69b9e71d5 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -612,8 +612,8 @@ u32 CanMonLearnTMHM(struct Pokemon *, u8); u32 CanSpeciesLearnTMHM(u16 species, u8 tm); u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves); void ClearBattleMonForms(void); -const u8 *pokemon_get_pal(struct Pokemon *mon); -const u8 *species_and_otid_get_pal(u16, u32, u32); +const u8 *GetMonFrontSpritePal(struct Pokemon *mon); +const u8 *GetFrontSpritePalFromSpeciesAndPersonality(u16, u32, u32); const struct CompressedSpritePalette *sub_80409C8(u16, u32, u32); bool8 IsOtherTrainer(u32, u8 *); void SetWildMonHeldItem(void); diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 49680793d..9115ab054 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -1,8 +1,12 @@ #ifndef GUARD_POKEMON_STORAGE_SYSTEM_H #define GUARD_POKEMON_STORAGE_SYSTEM_H +#define TOTAL_BOXES_COUNT 14 +#define IN_BOX_COUNT 30 + u8* GetBoxNamePtr(u8 boxNumber); struct BoxPokemon *GetBoxedMonPtr(u8, u8); void SetBoxMonNickFromAnyBox(u8, u8, u8 *); +u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request); #endif // GUARD_POKEMON_STORAGE_SYSTEM_H diff --git a/include/region_map.h b/include/region_map.h index 52e7376be..91384d166 100644 --- a/include/region_map.h +++ b/include/region_map.h @@ -1,227 +1,314 @@ #ifndef GUARD_REGION_MAP_H #define GUARD_REGION_MAP_H +#include "bg.h" + // Exported type declarations enum { - REGION_MAP_LITTLEROOT_TOWN, - REGION_MAP_OLDALE_TOWN, - REGION_MAP_DEWFORD_TOWN, - REGION_MAP_LAVARIDGE_TOWN, - REGION_MAP_FALLARBOR_TOWN, - REGION_MAP_VERDANTURF_TOWN, - REGION_MAP_PACIFIDLOG_TOWN, - REGION_MAP_PETALBURG_CITY, - REGION_MAP_SLATEPORT_CITY, - REGION_MAP_MAUVILLE_CITY, - REGION_MAP_RUSTBORO_CITY, - REGION_MAP_FORTREE_CITY, - REGION_MAP_LILYCOVE_CITY, - REGION_MAP_MOSSDEEP_CITY, - REGION_MAP_SOOTOPOLIS_CITY, - REGION_MAP_EVER_GRANDE_CITY, - REGION_MAP_ROUTE_101, - REGION_MAP_ROUTE_102, - REGION_MAP_ROUTE_103, - REGION_MAP_ROUTE_104, - REGION_MAP_ROUTE_105, - REGION_MAP_ROUTE_106, - REGION_MAP_ROUTE_107, - REGION_MAP_ROUTE_108, - REGION_MAP_ROUTE_109, - REGION_MAP_ROUTE_110, - REGION_MAP_ROUTE_111, - REGION_MAP_ROUTE_112, - REGION_MAP_ROUTE_113, - REGION_MAP_ROUTE_114, - REGION_MAP_ROUTE_115, - REGION_MAP_ROUTE_116, - REGION_MAP_ROUTE_117, - REGION_MAP_ROUTE_118, - REGION_MAP_ROUTE_119, - REGION_MAP_ROUTE_120, - REGION_MAP_ROUTE_121, - REGION_MAP_ROUTE_122, - REGION_MAP_ROUTE_123, - REGION_MAP_ROUTE_124, - REGION_MAP_ROUTE_125, - REGION_MAP_ROUTE_126, - REGION_MAP_ROUTE_127, - REGION_MAP_ROUTE_128, - REGION_MAP_ROUTE_129, - REGION_MAP_ROUTE_130, - REGION_MAP_ROUTE_131, - REGION_MAP_ROUTE_132, - REGION_MAP_ROUTE_133, - REGION_MAP_ROUTE_134, - REGION_MAP_UNDERWATER_124, - REGION_MAP_UNDERWATER_125, - REGION_MAP_UNDERWATER_126, - REGION_MAP_UNDERWATER_127, - REGION_MAP_UNDERWATER_128, - REGION_MAP_GRANITE_CAVE, - REGION_MAP_MT_CHIMNEY, - REGION_MAP_SAFARI_ZONE, - REGION_MAP_BATTLE_FRONTIER, - REGION_MAP_PETALBURG_WOODS, - REGION_MAP_RUSTURF_TUNNEL, - REGION_MAP_ABANDONED_SHIP, - REGION_MAP_NEW_MAUVILLE, - REGION_MAP_METEOR_FALLS, - REGION_MAP_METEOR_FALLS2, - REGION_MAP_MT_PYRE, - REGION_MAP_AQUA_HIDEOUT_OLD, - REGION_MAP_SHOAL_CAVE, - REGION_MAP_SEAFLOOR_CAVERN, - REGION_MAP_UNDERWATER, - REGION_MAP_VICTORY_ROAD, - REGION_MAP_MIRAGE_ISLAND, - REGION_MAP_CAVE_OF_ORIGIN, - REGION_MAP_SOUTHERN_ISLAND, - REGION_MAP_FIERY_PATH, - REGION_MAP_FIERY_PATH2, - REGION_MAP_JAGGED_PASS, - REGION_MAP_JAGGED_PASS2, - REGION_MAP_SEALED_CHAMBER, - REGION_MAP_UNDERWATER_SEALED_CHAMBER, - REGION_MAP_SCORCHED_SLAB, - REGION_MAP_ISLAND_CAVE, - REGION_MAP_DESERT_RUINS, - REGION_MAP_ANCIENT_TOMB, - REGION_MAP_INSIDE_OF_TRUCK, - REGION_MAP_SKY_PILLAR, - REGION_MAP_SECRET_BASE, - REGION_MAP_NONE, - REGION_MAP_PALLET_TOWN, - REGION_MAP_VIRIDIAN_CITY, - REGION_MAP_PEWTER_CITY, - REGION_MAP_CERULEAN_CITY, - REGION_MAP_LAVENDER_TOWN, - REGION_MAP_VERMILION_CITY, - REGION_MAP_CELADON_CITY, - REGION_MAP_FUCHSIA_CITY, - REGION_MAP_CINNABAR_ISLAND, - REGION_MAP_INDIGO_PLATEAU, - REGION_MAP_SAFFRON_CITY, - REGION_MAP_ROUTE_4, - REGION_MAP_ROUTE_10, - REGION_MAP_ROUTE_1, - REGION_MAP_ROUTE_2, - REGION_MAP_ROUTE_3, - REGION_MAP_ROUTE_4_2, - REGION_MAP_ROUTE_5, - REGION_MAP_ROUTE_6, - REGION_MAP_ROUTE_7, - REGION_MAP_ROUTE_8, - REGION_MAP_ROUTE_9, - REGION_MAP_ROUTE_10_2, - REGION_MAP_ROUTE_11, - REGION_MAP_ROUTE_12, - REGION_MAP_ROUTE_13, - REGION_MAP_ROUTE_14, - REGION_MAP_ROUTE_15, - REGION_MAP_ROUTE_16, - REGION_MAP_ROUTE_17, - REGION_MAP_ROUTE_18, - REGION_MAP_ROUTE_19, - REGION_MAP_ROUTE_20, - REGION_MAP_ROUTE_21, - REGION_MAP_ROUTE_22, - REGION_MAP_ROUTE_23, - REGION_MAP_ROUTE_24, - REGION_MAP_ROUTE_25, - REGION_MAP_VIRIDIAN_FOREST, - REGION_MAP_MT_MOON, - REGION_MAP_S_S_ANNE, - REGION_MAP_UNDERGROUND_PATH, - REGION_MAP_UNDERGROUND_PATH_2, - REGION_MAP_DIGLETTS_CAVE, - REGION_MAP_KANTO_VICTORY_ROAD, - REGION_MAP_ROCKET_HIDEOUT, - REGION_MAP_SILPH_CO, - REGION_MAP_POKEMON_MANSION, - REGION_MAP_KANTO_SAFARI_ZONE, - REGION_MAP_POKEMON_LEAGUE, - REGION_MAP_ROCK_TUNNEL, - REGION_MAP_SEAFOAM_ISLANDS, - REGION_MAP_POKEMON_TOWER, - REGION_MAP_CERULEAN_CAVE, - REGION_MAP_POWER_PLANT, - REGION_MAP_ONE_ISLAND, - REGION_MAP_TWO_ISLAND, - REGION_MAP_THREE_ISLAND, - REGION_MAP_FOUR_ISLAND, - REGION_MAP_FIVE_ISLAND, - REGION_MAP_SEVEN_ISLAND, - REGION_MAP_SIX_ISLAND, - REGION_MAP_KINDLE_ROAD, - REGION_MAP_TREASURE_BEACH, - REGION_MAP_CAPE_BRINK, - REGION_MAP_BOND_BRIDGE, - REGION_MAP_THREE_ISLE_PORT, - REGION_MAP_SEVII_ISLE_6, - REGION_MAP_SEVII_ISLE_7, - REGION_MAP_SEVII_ISLE_8, - REGION_MAP_SEVII_ISLE_9, - REGION_MAP_RESORT_GORGEOUS, - REGION_MAP_WATER_LABYRINTH, - REGION_MAP_FIVE_ISLE_MEADOW, - REGION_MAP_MEMORIAL_PILLAR, - REGION_MAP_OUTCAST_ISLAND, - REGION_MAP_GREEN_PATH, - REGION_MAP_WATER_PATH, - REGION_MAP_RUIN_VALLEY, - REGION_MAP_TRAINER_TOWER, - REGION_MAP_CANYON_ENTRANCE, - REGION_MAP_SEVAULT_CANYON, - REGION_MAP_TANOBY_RUINS, - REGION_MAP_SEVII_ISLE_22, - REGION_MAP_SEVII_ISLE_23, - REGION_MAP_SEVII_ISLE_24, - REGION_MAP_NAVEL_ROCK, - REGION_MAP_MT_EMBER, - REGION_MAP_BERRY_FOREST, - REGION_MAP_ICEFALL_CAVE, - REGION_MAP_ROCKET_WAREHOUSE, - REGION_MAP_TRAINER_TOWER_2, - REGION_MAP_DOTTED_HOLE, - REGION_MAP_LOST_CAVE, - REGION_MAP_PATTERN_BUSH, - REGION_MAP_ALTERING_CAVE, - REGION_MAP_TANOBY_CHAMBERS, - REGION_MAP_THREE_ISLE_PATH, - REGION_MAP_TANOBY_KEY, - REGION_MAP_BIRTH_ISLAND, - REGION_MAP_MONEAN_CHAMBER, - REGION_MAP_LIPTOO_CHAMBER, - REGION_MAP_WEEPTH_CHAMBER, - REGION_MAP_DILFORD_CHAMBER, - REGION_MAP_SCUFIB_CHAMBER, - REGION_MAP_RIXY_CHAMBER, - REGION_MAP_VIAPOIS_CHAMBER, - REGION_MAP_EMBER_SPA, - REGION_MAP_SPECIAL_AREA, - REGION_MAP_AQUA_HIDEOUT, - REGION_MAP_MAGMA_HIDEOUT, - REGION_MAP_MIRAGE_TOWER, - REGION_MAP_BIRTH_ISLAND_2, - REGION_MAP_FARAWAY_ISLAND, - REGION_MAP_ARTISAN_CAVE, - REGION_MAP_MARINE_CAVE, - REGION_MAP_UNDERWATER_MARINE_CAVE, - REGION_MAP_TERRA_CAVE, - REGION_MAP_UNDERWATER_TERRA_CAVE, - REGION_MAP_UNDERWATER_UNK1, - REGION_MAP_UNDERWATER_UNK2, - REGION_MAP_DESERT_UNDERPASS, - REGION_MAP_ALTERING_CAVE_2, - REGION_MAP_NAVEL_ROCK2, - REGION_MAP_TRAINER_HILL + MAPSEC_LITTLEROOT_TOWN, + MAPSEC_OLDALE_TOWN, + MAPSEC_DEWFORD_TOWN, + MAPSEC_LAVARIDGE_TOWN, + MAPSEC_FALLARBOR_TOWN, + MAPSEC_VERDANTURF_TOWN, + MAPSEC_PACIFIDLOG_TOWN, + MAPSEC_PETALBURG_CITY, + MAPSEC_SLATEPORT_CITY, + MAPSEC_MAUVILLE_CITY, + MAPSEC_RUSTBORO_CITY, + MAPSEC_FORTREE_CITY, + MAPSEC_LILYCOVE_CITY, + MAPSEC_MOSSDEEP_CITY, + MAPSEC_SOOTOPOLIS_CITY, + MAPSEC_EVER_GRANDE_CITY, + MAPSEC_ROUTE_101, + MAPSEC_ROUTE_102, + MAPSEC_ROUTE_103, + MAPSEC_ROUTE_104, + MAPSEC_ROUTE_105, + MAPSEC_ROUTE_106, + MAPSEC_ROUTE_107, + MAPSEC_ROUTE_108, + MAPSEC_ROUTE_109, + MAPSEC_ROUTE_110, + MAPSEC_ROUTE_111, + MAPSEC_ROUTE_112, + MAPSEC_ROUTE_113, + MAPSEC_ROUTE_114, + MAPSEC_ROUTE_115, + MAPSEC_ROUTE_116, + MAPSEC_ROUTE_117, + MAPSEC_ROUTE_118, + MAPSEC_ROUTE_119, + MAPSEC_ROUTE_120, + MAPSEC_ROUTE_121, + MAPSEC_ROUTE_122, + MAPSEC_ROUTE_123, + MAPSEC_ROUTE_124, + MAPSEC_ROUTE_125, + MAPSEC_ROUTE_126, + MAPSEC_ROUTE_127, + MAPSEC_ROUTE_128, + MAPSEC_ROUTE_129, + MAPSEC_ROUTE_130, + MAPSEC_ROUTE_131, + MAPSEC_ROUTE_132, + MAPSEC_ROUTE_133, + MAPSEC_ROUTE_134, + MAPSEC_UNDERWATER_124, + MAPSEC_UNDERWATER_125, + MAPSEC_UNDERWATER_126, + MAPSEC_UNDERWATER_127, + MAPSEC_UNDERWATER_SOOTOPOLIS, + MAPSEC_GRANITE_CAVE, + MAPSEC_MT_CHIMNEY, + MAPSEC_SAFARI_ZONE, + MAPSEC_BATTLE_FRONTIER, + MAPSEC_PETALBURG_WOODS, + MAPSEC_RUSTURF_TUNNEL, + MAPSEC_ABANDONED_SHIP, + MAPSEC_NEW_MAUVILLE, + MAPSEC_METEOR_FALLS, + MAPSEC_METEOR_FALLS2, + MAPSEC_MT_PYRE, + MAPSEC_AQUA_HIDEOUT_OLD, + MAPSEC_SHOAL_CAVE, + MAPSEC_SEAFLOOR_CAVERN, + MAPSEC_UNDERWATER_128, + MAPSEC_VICTORY_ROAD, + MAPSEC_MIRAGE_ISLAND, + MAPSEC_CAVE_OF_ORIGIN, + MAPSEC_SOUTHERN_ISLAND, + MAPSEC_FIERY_PATH, + MAPSEC_FIERY_PATH2, + MAPSEC_JAGGED_PASS, + MAPSEC_JAGGED_PASS2, + MAPSEC_SEALED_CHAMBER, + MAPSEC_UNDERWATER_SEALED_CHAMBER, + MAPSEC_SCORCHED_SLAB, + MAPSEC_ISLAND_CAVE, + MAPSEC_DESERT_RUINS, + MAPSEC_ANCIENT_TOMB, + MAPSEC_INSIDE_OF_TRUCK, + MAPSEC_SKY_PILLAR, + MAPSEC_SECRET_BASE, + MAPSEC_DYNAMIC, + MAPSEC_PALLET_TOWN, + MAPSEC_VIRIDIAN_CITY, + MAPSEC_PEWTER_CITY, + MAPSEC_CERULEAN_CITY, + MAPSEC_LAVENDER_TOWN, + MAPSEC_VERMILION_CITY, + MAPSEC_CELADON_CITY, + MAPSEC_FUCHSIA_CITY, + MAPSEC_CINNABAR_ISLAND, + MAPSEC_INDIGO_PLATEAU, + MAPSEC_SAFFRON_CITY, + MAPSEC_ROUTE_4, + MAPSEC_ROUTE_10, + MAPSEC_ROUTE_1, + MAPSEC_ROUTE_2, + MAPSEC_ROUTE_3, + MAPSEC_ROUTE_4_2, + MAPSEC_ROUTE_5, + MAPSEC_ROUTE_6, + MAPSEC_ROUTE_7, + MAPSEC_ROUTE_8, + MAPSEC_ROUTE_9, + MAPSEC_ROUTE_10_2, + MAPSEC_ROUTE_11, + MAPSEC_ROUTE_12, + MAPSEC_ROUTE_13, + MAPSEC_ROUTE_14, + MAPSEC_ROUTE_15, + MAPSEC_ROUTE_16, + MAPSEC_ROUTE_17, + MAPSEC_ROUTE_18, + MAPSEC_ROUTE_19, + MAPSEC_ROUTE_20, + MAPSEC_ROUTE_21, + MAPSEC_ROUTE_22, + MAPSEC_ROUTE_23, + MAPSEC_ROUTE_24, + MAPSEC_ROUTE_25, + MAPSEC_VIRIDIAN_FOREST, + MAPSEC_MT_MOON, + MAPSEC_S_S_ANNE, + MAPSEC_UNDERGROUND_PATH, + MAPSEC_UNDERGROUND_PATH_2, + MAPSEC_DIGLETTS_CAVE, + MAPSEC_KANTO_VICTORY_ROAD, + MAPSEC_ROCKET_HIDEOUT, + MAPSEC_SILPH_CO, + MAPSEC_POKEMON_MANSION, + MAPSEC_KANTO_SAFARI_ZONE, + MAPSEC_POKEMON_LEAGUE, + MAPSEC_ROCK_TUNNEL, + MAPSEC_SEAFOAM_ISLANDS, + MAPSEC_POKEMON_TOWER, + MAPSEC_CERULEAN_CAVE, + MAPSEC_POWER_PLANT, + MAPSEC_ONE_ISLAND, + MAPSEC_TWO_ISLAND, + MAPSEC_THREE_ISLAND, + MAPSEC_FOUR_ISLAND, + MAPSEC_FIVE_ISLAND, + MAPSEC_SEVEN_ISLAND, + MAPSEC_SIX_ISLAND, + MAPSEC_KINDLE_ROAD, + MAPSEC_TREASURE_BEACH, + MAPSEC_CAPE_BRINK, + MAPSEC_BOND_BRIDGE, + MAPSEC_THREE_ISLE_PORT, + MAPSEC_SEVII_ISLE_6, + MAPSEC_SEVII_ISLE_7, + MAPSEC_SEVII_ISLE_8, + MAPSEC_SEVII_ISLE_9, + MAPSEC_RESORT_GORGEOUS, + MAPSEC_WATER_LABYRINTH, + MAPSEC_FIVE_ISLE_MEADOW, + MAPSEC_MEMORIAL_PILLAR, + MAPSEC_OUTCAST_ISLAND, + MAPSEC_GREEN_PATH, + MAPSEC_WATER_PATH, + MAPSEC_RUIN_VALLEY, + MAPSEC_TRAINER_TOWER, + MAPSEC_CANYON_ENTRANCE, + MAPSEC_SEVAULT_CANYON, + MAPSEC_TANOBY_RUINS, + MAPSEC_SEVII_ISLE_22, + MAPSEC_SEVII_ISLE_23, + MAPSEC_SEVII_ISLE_24, + MAPSEC_NAVEL_ROCK, + MAPSEC_MT_EMBER, + MAPSEC_BERRY_FOREST, + MAPSEC_ICEFALL_CAVE, + MAPSEC_ROCKET_WAREHOUSE, + MAPSEC_TRAINER_TOWER_2, + MAPSEC_DOTTED_HOLE, + MAPSEC_LOST_CAVE, + MAPSEC_PATTERN_BUSH, + MAPSEC_ALTERING_CAVE, + MAPSEC_TANOBY_CHAMBERS, + MAPSEC_THREE_ISLE_PATH, + MAPSEC_TANOBY_KEY, + MAPSEC_BIRTH_ISLAND, + MAPSEC_MONEAN_CHAMBER, + MAPSEC_LIPTOO_CHAMBER, + MAPSEC_WEEPTH_CHAMBER, + MAPSEC_DILFORD_CHAMBER, + MAPSEC_SCUFIB_CHAMBER, + MAPSEC_RIXY_CHAMBER, + MAPSEC_VIAPOIS_CHAMBER, + MAPSEC_EMBER_SPA, + MAPSEC_SPECIAL_AREA, + MAPSEC_AQUA_HIDEOUT, + MAPSEC_MAGMA_HIDEOUT, + MAPSEC_MIRAGE_TOWER, + MAPSEC_BIRTH_ISLAND_2, + MAPSEC_FARAWAY_ISLAND, + MAPSEC_ARTISAN_CAVE, + MAPSEC_MARINE_CAVE, + MAPSEC_UNDERWATER_MARINE_CAVE, + MAPSEC_TERRA_CAVE, + MAPSEC_UNDERWATER_TERRA_CAVE, + MAPSEC_UNDERWATER_UNK1, + MAPSEC_UNDERWATER_129, + MAPSEC_DESERT_UNDERPASS, + MAPSEC_ALTERING_CAVE_2, + MAPSEC_NAVEL_ROCK2, + MAPSEC_TRAINER_HILL, + MAPSEC_NONE +}; + +enum +{ + INPUT_EVENT_NONE, + INPUT_EVENT_MOVE_START, + INPUT_EVENT_MOVE_CONT, + INPUT_EVENT_MOVE_END, + INPUT_EVENT_A_BUTTON, + INPUT_EVENT_B_BUTTON, }; +enum { + MAPSECTYPE_NONE, + MAPSECTYPE_PLAIN, + MAPSECTYPE_CITY_CANFLY, + MAPSECTYPE_CITY_CANTFLY, + MAPSECTYPE_BATTLE_FRONTIER +}; + +struct RegionMap { + /*0x000*/ u16 mapSecId; + /*0x002*/ u8 iconDrawType; + /*0x003*/ u8 posWithinMapSec; + /*0x004*/ u8 mapSecName[0x14]; + /*0x018*/ u8 (*inputCallback)(void); + /*0x01c*/ struct Sprite *cursorSprite; + /*0x020*/ struct Sprite *playerIconSprite; + /*0x024*/ s32 bg2x; + /*0x028*/ s32 bg2y; + /*0x02c*/ u32 bg2pa; + /*0x034*/ u32 bg2pc; + /*0x030*/ u32 bg2pb; + /*0x038*/ u32 bg2pd; + /*0x03c*/ s32 unk_03c; + /*0x040*/ s32 unk_040; + /*0x044*/ s32 unk_044; + /*0x048*/ s32 unk_048; + /*0x04c*/ s32 unk_04c; + /*0x050*/ s32 unk_050; + /*0x054*/ u16 cursorPosX; + /*0x056*/ u16 cursorPosY; + /*0x058*/ u16 cursorTileTag; + /*0x05a*/ u16 cursorPaletteTag; + /*0x05c*/ s16 scrollX; + /*0x05e*/ s16 scrollY; + /*0x060*/ s16 unk_060; + /*0x062*/ s16 unk_062; + /*0x064*/ u16 zoomedCursorPosX; + /*0x066*/ u16 zoomedCursorPosY; + /*0x068*/ s16 zoomedCursorDeltaY; + /*0x06a*/ s16 zoomedCursorDeltaX; + /*0x06c*/ u16 zoomedCursorMovementFrameCounter; + /*0x06e*/ u16 unk_06e; + /*0x070*/ u16 playerIconTileTag; + /*0x072*/ u16 playerIconPaletteTag; + /*0x074*/ u16 playerIconSpritePosX; + /*0x076*/ u16 playerIconSpritePosY; + /*0x078*/ bool8 zoomed; + /*0x079*/ u8 initStep; + /*0x07a*/ s8 cursorMovementFrameCounter; + /*0x07b*/ s8 cursorDeltaX; + /*0x07c*/ s8 cursorDeltaY; + /*0x07d*/ bool8 needUpdateVideoRegs; + /*0x07e*/ bool8 blinkPlayerIcon; + /*0x07f*/ bool8 playerIsInCave; + /*0x080*/ u8 bgNum; + /*0x081*/ u8 charBaseIdx; + /*0x082*/ u8 mapBaseIdx; + /*0x083*/ bool8 bgManaged; + /*0x084*/ u8 filler_084[0x100]; + /*0x184*/ u8 cursorSmallImage[0x100]; + /*0x284*/ u8 cursorLargeImage[0x600]; +}; // size = 0x884 + // Exported RAM declarations // Exported ROM declarations -void GetMapName(u8 *, u16, u16); +void sub_8122CF8(struct RegionMap *regionMap, struct BgTemplate *template, bool8 zoomed); +bool8 sub_8122DB0(void); +void UpdateRegionMapVideoRegs(void); +void InitRegionMap(struct RegionMap *regionMap, u8 argument); +u8 sub_81230AC(void); +bool8 sub_8123514(void); +void FreeRegionMapIconResources(void); +u16 GetRegionMapSectionIdAt(u16 x, u16 y); +void CreateRegionMapPlayerIcon(u16 x, u16 y); +void CreateRegionMapCursor(u16 tileTag, u16 paletteTag); +u8 *GetMapName(u8 *, u16, u16); +bool32 sub_8124668(u8 mapSecId); #endif //GUARD_REGION_MAP_H diff --git a/include/rom6.h b/include/rom6.h index a6aab998c..b4a972794 100644 --- a/include/rom6.h +++ b/include/rom6.h @@ -3,6 +3,7 @@ void sub_81357FC(u8, void(void)); u8 GetLeadMonIndex(void); +u8 GetSSTidalLocation(u8 *grp, u8 *num, s16 *x, s16 *y); void sub_813BADC(bool8); #endif //GUARD_ROM6_H diff --git a/include/secret_base.h b/include/secret_base.h index 14defff26..630a36773 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -8,5 +8,6 @@ // Exported ROM declarations void sub_80E9578(void); void sub_80E980C(void); +u8 *GetSecretBaseMapName(u8 *dest); #endif //GUARD_SECRET_BASE_H diff --git a/include/starter_choose.h b/include/starter_choose.h new file mode 100644 index 000000000..61bc17735 --- /dev/null +++ b/include/starter_choose.h @@ -0,0 +1,7 @@ +#ifndef GUARD_STARTER_CHOOSE_H +#define GUARD_STARTER_CHOOSE_H + +u16 GetStarterPokemon(u16 chosenStarterId); +void CB2_ChooseStarter(void); + +#endif // GUARD_STARTER_CHOOSE_H diff --git a/include/strings.h b/include/strings.h index f3efe88e4..98213e66f 100644 --- a/include/strings.h +++ b/include/strings.h @@ -70,6 +70,13 @@ extern const u8 gText_Cushion[]; extern const u8 gText_Decorate[]; extern const u8 gText_PutAway[]; extern const u8 gText_Toss2[]; +extern const u8 gText_Hoenn[]; +extern const u8 gText_Ferry[]; +extern const u8 gText_SecretBase[]; +extern const u8 gText_Hideout[]; +extern const u8 gText_FlyToWhere[]; +extern const u8 gText_PokemonLeague[]; +extern const u8 gText_PokemonCenter[]; extern const u8 gText_ApostropheSBase[]; extern const u8 gText_NoRegistry[]; extern const u8 gText_OkayToDeleteFromRegistry[]; diff --git a/include/text_window.h b/include/text_window.h index 0cefeea8e..da3fb301e 100644 --- a/include/text_window.h +++ b/include/text_window.h @@ -16,7 +16,7 @@ void sub_8098858(u8 windowId, u16 tileNum, u8 palNum); void sub_80989E0(u8 windowId, u16 tileNum, u8 palNum); void rbox_fill_rectangle(u8 windowId); const u16* stdpal_get(u8 id); -const u16* sub_8098C64(void); +const u16* GetOverworldTextboxPalettePtr(void); void sub_8098C6C(u8 bg, u16 destOffset, u8 palOffset); #endif // GUARD_TEXT_WINDOW_H diff --git a/include/vars.h b/include/vars.h index c097faff7..f8057d4b5 100644 --- a/include/vars.h +++ b/include/vars.h @@ -29,13 +29,14 @@ #define VAR_POISON_STEP_COUNTER 0x402B #define VAR_RESET_RTC_ENABLE 0x402C +#define VAR_0x4037 0x4037 #define VAR_DAYS 0x4040 #define VAR_DEPT_STORE_FLOOR 0x4043 #define VAR_STORAGE_UNKNOWN 0x4036 #define VAR_POKELOT_PRIZE 0x4045 #define VAR_NATIONAL_DEX 0x4046 -#define VAR_SEEDOT_SIZE_RECORD 0x4047 +#define VAR_SEEDOT_SIZE_RECORD 0x4047 #define VAR_ASH_GATHER_COUNT 0x4048 #define VAR_BIRCH_STATE 0x4049 #define VAR_CRUISE_STEP_COUNT 0x404A |