summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--[-rwxr-xr-x]include/battle.h0
-rw-r--r--include/battle_records.h5
-rw-r--r--[-rwxr-xr-x]include/decoration.h13
-rw-r--r--include/decoration_inventory.h2
-rw-r--r--include/field_effect.h2
-rw-r--r--include/flags.h24
-rw-r--r--include/global.fieldmap.h2
-rw-r--r--include/global.h34
-rw-r--r--include/graphics.h15
-rw-r--r--include/item.h6
-rw-r--r--include/item_use.h25
-rw-r--r--[-rwxr-xr-x]include/menu.h4
-rw-r--r--[-rwxr-xr-x]include/menu_helpers.h23
-rw-r--r--[-rwxr-xr-x]include/pokeblock.h0
-rw-r--r--[-rwxr-xr-x]include/pokemon.h0
-rw-r--r--include/pokemon_menu.h1
-rw-r--r--[-rwxr-xr-x]include/pokenav.h0
-rw-r--r--include/record_mixing.h10
-rw-r--r--[-rwxr-xr-x]include/region_map.h73
-rw-r--r--include/rom4.h6
-rw-r--r--include/save.h2
-rw-r--r--include/secret_base.h1
-rw-r--r--[-rwxr-xr-x]include/strings.h0
-rw-r--r--include/text.h2
-rw-r--r--include/trainer_card.h16
-rw-r--r--[-rwxr-xr-x]include/use_pokeblock.h0
-rw-r--r--[-rwxr-xr-x]include/vars.h1
27 files changed, 203 insertions, 64 deletions
diff --git a/include/battle.h b/include/battle.h
index d4cb53689..d4cb53689 100755..100644
--- a/include/battle.h
+++ b/include/battle.h
diff --git a/include/battle_records.h b/include/battle_records.h
index f0c1a101b..ac6c3cbdb 100644
--- a/include/battle_records.h
+++ b/include/battle_records.h
@@ -2,7 +2,8 @@
#define GUARD_BATTLE_RECORDS_H
void InitLinkBattleRecords(void);
-void PrintLinkBattleWinsLossesDraws(void *);
-void PrintLinkBattleRecord(void *, u8);
+void UpdateLinkBattleRecords(int id);
+void ShowLinkBattleRecords(void);
+void ShowBattleTowerRecords(void);
#endif // GUARD_BATTLE_RECORDS_H
diff --git a/include/decoration.h b/include/decoration.h
index 7a6d8ef5a..2e72e305a 100755..100644
--- a/include/decoration.h
+++ b/include/decoration.h
@@ -289,16 +289,6 @@ extern u8 sub_8134194(u8); // src/decoration_inventory
extern bool8 sub_81341D4(void); // src/decoration_inventory
extern void sub_8134104(u8); // src/decoration_inventory
extern bool8 sub_807D770(void);
-extern void sub_80F944C(void); // src/menu_helpers
-extern void sub_80F9480(u8 *, u8); // src/menu_helpers
-extern void sub_80F94A4(u8, u8 *, u8, s16); // src/menu_helpers
-extern void sub_80F94F8(u8 *); // src/menu_helpers
-extern void sub_80F9520(u8 *, u8); // src/menu_helpers
-extern void DestroyVerticalScrollIndicator(u8); // src/menu_helpers
-extern void CreateVerticalScrollIndicators(u8, u8, u8); // src/menu_helpers
-extern void LoadScrollIndicatorPalette(void); // src/menu_helpers
-extern void DisplayItemMessageOnField(u8, const u8 *, TaskFunc, u16); // src/menu_helpers
-extern void BuyMenuFreeMemory(void); // src/menu_helpers
extern void sub_8109DAC(u8); // src/trader
extern void ReshowPlayerPC(u8); // src/player_pc
@@ -310,6 +300,8 @@ void sub_80FE5AC(u8);
void sub_80FE604(u8);
void sub_80FE728(u8);
void sub_80FE758(u8);
+void sub_80FE7A8(u8);
+void sub_80FE7D4(u8 *, u8);
void sub_80FE868(u8);
void sub_80FE948(u8);
void sub_80FEABC(u8, u8);
@@ -317,6 +309,7 @@ void sub_80FEC94(u8);
void sub_80FECB8(u8);
void sub_80FECE0(u8);
void sub_80FEF50(u8);
+bool8 sub_80FEFA4(void);
void sub_80FF394(u16, u16, u16);
void sub_80FF6AC(u8);
void sub_80FF960(u8);
diff --git a/include/decoration_inventory.h b/include/decoration_inventory.h
index afc354237..e59a23008 100644
--- a/include/decoration_inventory.h
+++ b/include/decoration_inventory.h
@@ -2,9 +2,11 @@
#define GUARD_DECORATION_INVENTORY_H
void ClearDecorationInventories(void);
+s8 sub_8133F9C(u8);
u8 sub_8133FE4(u8);
u8 IsThereStorageSpaceForDecoration(u8);
u8 sub_8134074(u8);
s8 sub_81340A8(u8);
+u8 sub_8134194(u8);
#endif // GUARD_DECORATION_INVENTORY_H
diff --git a/include/field_effect.h b/include/field_effect.h
index 294844b3e..bf80ca0dc 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -109,6 +109,8 @@ void SpriteCB_PokeballGlow(struct Sprite *);
void SpriteCB_PokecenterMonitor(struct Sprite *);
void SpriteCB_HallOfFameMonitor(struct Sprite *);
+void sub_80865BC(void);
+
void PokecenterHealEffect_0(struct Task *);
void PokecenterHealEffect_1(struct Task *);
void PokecenterHealEffect_2(struct Task *);
diff --git a/include/flags.h b/include/flags.h
index 0e408a833..a60de6ea0 100644
--- a/include/flags.h
+++ b/include/flags.h
@@ -22,6 +22,24 @@
#define BADGE07_GET 0x80D
#define BADGE08_GET 0x80E
+// cities and towns
+#define FLAG_VISITED_LITTLEROOT_TOWN 0x80F
+#define FLAG_VISITED_OLDALE_TOWN 0x810
+#define FLAG_VISITED_DEWFORD_TOWN 0x811
+#define FLAG_VISITED_LAVARIDGE_TOWN 0x812
+#define FLAG_VISITED_FALLARBOR_TOWN 0x813
+#define FLAG_VISITED_VERDANTURF_TOWN 0x814
+#define FLAG_VISITED_PACIFIDLOG_TOWN 0x815
+#define FLAG_VISITED_PETALBURG_CITY 0x816
+#define FLAG_VISITED_SLATEPORT_CITY 0x817
+#define FLAG_VISITED_MAUVILLE_CITY 0x818
+#define FLAG_VISITED_RUSTBORO_CITY 0x819
+#define FLAG_VISITED_FORTREE_CITY 0x81A
+#define FLAG_VISITED_LILYCOVE_CITY 0x81B
+#define FLAG_VISITED_MOSSDEEP_CITY 0x81C
+#define FLAG_VISITED_SOOTOPOLIS_CITY 0x81D
+#define FLAG_VISITED_EVER_GRANDE_CITY 0x81E
+
#define SYS_USE_FLASH 0x828
#define SYS_USE_STRENGTH 0x829
#define SYS_WEATHER_CTRL 0x82A
@@ -42,6 +60,9 @@
#define SYS_SHOAL_TIDE 0x83A
#define SYS_RIBBON_GET 0x83B
+#define FLAG_UNLOCK_BATTLE_TOWER 0x848
+#define FLAG_UNLOCK_SOUTHERN_ISLAND 0x849
+
#define SYS_PC_LANETTE 0x84B
#define SYS_EXDATA_ENABLE 0x84C
#define SYS_ENC_UP_ITEM 0x84D
@@ -50,6 +71,9 @@
#define SYS_BRAILLE_STRENGTH 0x850
#define SYS_BRAILLE_WAIT 0x851
#define SYS_BRAILLE_FLY 0x852
+#define SYS_HAS_EON_TICKET 0x853
+
+#define SYS_POKEMON_LEAGUE_FLY 0x854
#define SYS_TV_LATI 0x85D
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h
index 7589de029..4029132e8 100644
--- a/include/global.fieldmap.h
+++ b/include/global.fieldmap.h
@@ -166,7 +166,7 @@ struct MapHeader
/* 0x0C */ struct MapConnections *connections;
/* 0x10 */ u16 music;
/* 0x12 */ u16 mapDataId;
- /* 0x14 */ u8 name;
+ /* 0x14 */ u8 regionMapSectionId;
/* 0x15 */ u8 cave;
/* 0x16 */ u8 weather;
/* 0x17 */ u8 mapType;
diff --git a/include/global.h b/include/global.h
index 4d20ea4fc..73f73093d 100644
--- a/include/global.h
+++ b/include/global.h
@@ -469,10 +469,20 @@ struct UnkMauvilleOldManStruct2
u8 fillerF[0x2];
}; /*size = 0x2C*/
+struct MauvilleOldManTrader
+{
+ u8 unk0;
+ u8 unk1[4];
+ u8 unk5[4][11];
+ u8 unk31;
+};
+
typedef union OldMan
{
struct UnkMauvilleOldManStruct oldMan1;
struct UnkMauvilleOldManStruct2 oldMan2;
+ struct MauvilleOldManTrader trader;
+ u8 filler[0x40];
} OldMan;
struct Unk_SB_Access_Struct1
@@ -526,7 +536,9 @@ struct GabbyAndTyData
struct RecordMixing_UnknownStructSub
{
- u8 data[0x38];
+ u32 unk0;
+ u8 data[0x34];
+ //u8 data[0x38];
};
struct RecordMixing_UnknownStruct
@@ -536,6 +548,15 @@ struct RecordMixing_UnknownStruct
u16 unk74[0x2];
};
+struct LinkBattleRecord
+{
+ u8 name[8];
+ u16 trainerId;
+ u16 wins;
+ u16 losses;
+ u16 draws;
+};
+
struct SaveBlock1 /* 0x02025734 */
{
/*0x00*/ struct Coords16 pos;
@@ -606,7 +627,6 @@ struct SaveBlock1 /* 0x02025734 */
/*0x2D8C*/ u8 unk2D8C[4];
/*0x2D90*/ u8 filler_2D90[0x4];
/*0x2D94*/ OldMan oldMan;
- /*0x2DC0*/ u8 unk_2DC0[0x14];
/*0x2DD4*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff
/*0x2DFC*/ u8 filler_2DFC[0x8];
/*0x2E04*/ SB_Struct sbStruct;
@@ -615,7 +635,7 @@ struct SaveBlock1 /* 0x02025734 */
/*0x30AC*/ u8 filler_30B4[0x2];
/*0x30B6*/ u8 filler_30B6;
/*0x30B7*/ u8 filler_30B7[1];
- /*0x30B8*/ u8 linkBattleRecords[5][16];
+ /*0x30B8*/ struct LinkBattleRecord linkBattleRecords[5];
/*0x3108*/ u8 filler_3108[8];
/*0x3110*/ u8 giftRibbons[7];
/*0x3117*/ u8 filler_311B[0x2D];
@@ -657,16 +677,16 @@ struct SaveBlock2_Sub
/*0x03DC, 0x0484*/ u8 filler_3DC[0xD0];
/*0x04AC, 0x0554*/ u8 var_4AC;
/*0x04AD, 0x0555*/ u8 var_4AD;
- /*0x04AE, 0x0556*/ u8 var_4AE;
- /*0x04AF, 0x0557*/ u8 var_4AF;
+ /*0x04AE, 0x0556*/ u8 var_4AE[2];
/*0x04B0, 0x0558*/ u16 var_4B0;
/*0x04B2, 0x055A*/ u16 var_4B2;
/*0x04B4, 0x055C*/ u16 var_4B4;
/*0x04B6, 0x055E*/ u16 var_4B6;
- /*0x04B8, 0x0560*/ u8 filler_4B8[0x10];
+ /*0x04B8, 0x0560*/ u16 recordWinStreak[2];
+ /*0x04BC, 0x0564*/ u8 filler_4BC[0xC];
/*0x04C8, 0x0570*/ u16 var_4C8;
/*0x04CA, 0x0572*/ u16 var_4CA;
- /*0x04CC, 0x0574*/ u8 filler_4CC[4];
+ /*0x04CC, 0x0574*/ u16 winStreak[2];
/*0x04D0, 0x0578*/ u8 var_4D0;
/*0x04D1, 0x0579*/ u8 filler_4D1[0x317];
};
diff --git a/include/graphics.h b/include/graphics.h
index fb9781147..5632cb831 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -2435,6 +2435,10 @@ extern const u8 gMonFrontPic_UnownQuestionMark[];
extern const u8 gMonBackPic_UnownQuestionMark[];
extern const u8 gMonIcon_UnownQuestionMark[];
+extern const u8 gMonIcon_QuestionMark[];
+extern const u8 gMonIcon_Egg[];
+extern const u16 gMonIconPalettes[][16];
+
// data/graphics.s
extern const u8 gBagMaleTiles[];
extern const u8 gBagFemaleTiles[];
@@ -2549,4 +2553,15 @@ extern const u8 gBerryPalette_Enigma[];
extern const u8 gUnknown_08E96EC8[];
+extern const u8 gMenuTrainerCard_Gfx[];
+extern const u16 gMenuTrainerCard0Star_Pal[];
+extern const u16 gMenuTrainerCard1Star_Pal[];
+extern const u16 gMenuTrainerCard2Star_Pal[];
+extern const u16 gMenuTrainerCard3Star_Pal[];
+extern const u16 gMenuTrainerCard4Star_Pal[];
+extern const u8 gUnknown_08E8CAC0[];
+extern const u8 gUnknown_08E8CFC0[];
+extern const u8 gUnknown_08E8D4C0[];
+extern const u8 gUnknown_08E8D9C0[];
+
#endif // GUARD_GRAPHICS_H
diff --git a/include/item.h b/include/item.h
index 80a460caa..8f6cc883b 100644
--- a/include/item.h
+++ b/include/item.h
@@ -11,7 +11,7 @@ struct Item
u16 price;
u8 holdEffect;
u8 holdEffectParam;
- u8 *description;
+ const u8 *description;
u8 importance;
u8 unk19;
u8 pocket;
@@ -45,12 +45,12 @@ bool8 CheckPCHasItem(u16 itemId, u16 count);
bool8 AddPCItem(u16 itemId, u16 count);
void RemovePCItem(u8 index, u16 count);
void SwapRegisteredBike(void);
-struct Item *ItemId_GetItem(u16 itemId);
+const struct Item *ItemId_GetItem(u16 itemId);
u16 ItemId_GetId(u16 itemId);
u16 ItemId_GetPrice(u16 itemId);
u8 ItemId_GetHoldEffect(u16 itemId);
u8 ItemId_GetHoldEffectParam(u16 itemId);
-u8 *ItemId_GetDescription(u16 itemId);
+const u8 *ItemId_GetDescription(u16 itemId);
bool32 ItemId_CopyDescription(u8 *a, u32 itemId, u32 c);
u8 ItemId_GetImportance(u16 itemId);
u8 ItemId_GetUnknownValue(u16 itemId);
diff --git a/include/item_use.h b/include/item_use.h
index 61a3b4f7a..1558f7691 100644
--- a/include/item_use.h
+++ b/include/item_use.h
@@ -3,28 +3,51 @@
extern u16 gScriptItemId;
+void ItemUseOutOfBattle_Mail(u8);
+void ItemUseOutOfBattle_Bike(u8);
void ItemUseOnFieldCB_Bike(u8);
+void ItemUseOutOfBattle_Rod(u8);
void ItemUseOnFieldCB_Rod(u8);
+void ItemUseOutOfBattle_Itemfinder(u8);
void ItemUseOnFieldCB_Itemfinder(u8);
void RunItemfinderResults(u8);
void ExitItemfinder(u8);
-bool8 ItemfinderCheckForHiddenItems(struct MapEvents *events, u8 taskId);
+bool8 ItemfinderCheckForHiddenItems(struct MapEvents *, u8);
void sub_80C9720(u8);
void sub_80C9838(u8, s16, s16);
u8 GetPlayerDirectionTowardsHiddenItem(s16, s16);
void SetPlayerDirectionTowardsItem(u8);
void DisplayItemRespondingMessageAndExitItemfinder(u8);
void RotatePlayerAndExitItemfinder(u8);
+void ItemUseOutOfBattle_PokeblockCase(u8);
+void ItemUseOutOfBattle_CoinCase(u8);
+void ItemUseOutOfBattle_SSTicket(u8);
void sub_80C9D00(u8);
+void ItemUseOutOfBattle_WailmerPail(u8);
void sub_80C9D74(u8);
+void ItemUseOutOfBattle_Medicine(u8);
+void ItemUseOutOfBattle_SacredAsh(u8);
+void ItemUseOutOfBattle_PPRecovery(u8);
+void ItemUseOutOfBattle_PPUp(u8);
+void ItemUseOutOfBattle_RareCandy(u8);
void ItemUseOutOfBattle_TMHM(u8);
void sub_80C9EE4(u8);
void sub_80C9F10(u8);
void sub_80C9F80(u8);
void sub_80C9FC0(u8);
+void ItemUseOutOfBattle_Repel(u8);
+void ItemUseOutOfBattle_BlackWhiteFlute(u8);
void task08_080A1C44(u8);
u8 sub_80CA1C8(void);
+void ItemUseOutOfBattle_EscapeRope(u8);
void ItemUseOutOfBattle_EvolutionStone(u8);
+void ItemUseInBattle_PokeBall(u8);
+void ItemUseInBattle_StatIncrease(u8);
+void ItemUseInBattle_Medicine(u8);
+void ItemUseInBattle_PPRecovery(u8);
+void ItemUseInBattle_Escape(u8);
+void ItemUseOutOfBattle_EnigmaBerry(u8);
+void ItemUseInBattle_EnigmaBerry(u8);
void ItemUseOutOfBattle_CannotUse(u8);
#endif // GUARD_ITEM_USE_H
diff --git a/include/menu.h b/include/menu.h
index 9b48ab79b..e1bb4f1e4 100755..100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -38,7 +38,7 @@ void MenuFillWindowRectWithBlankTile(u8, u8, u8, u8);
void MenuZeroFillScreen(void);
void MenuDrawTextWindow(u8, u8, u8, u8);
void sub_8071F40(const u8 *);
-void sub_8071F60(u8, u8, u8, u8);
+void sub_8071F60(u8, u8, u8);
u16 unref_sub_8071F98(u8, u8);
void unref_sub_8071FBC(u16, u8, u8, u8, u8);
void MenuDisplayMessageBox(void);
@@ -67,7 +67,7 @@ u8 MenuPrint_PixelCoords(const u8 *, u8, u16, u8);
u8 sub_8072A18(const u8 *, u8, u16, u8, u32);
u8 unref_sub_8072A5C(u8 *, u8 *, u8, u16, u8, u32);
int sub_8072AB0(const u8 *, u8, u16, u8, u8, u32);
-void MenuPrint_RightAligned(u8 *, u8, u8);
+void MenuPrint_RightAligned(const u8 *, u8, u8);
void sub_8072B80(const u8 *, u8, u8, const u8 *);
void sub_8072BD8(const u8 *, u8, u8, u16);
u8 *sub_8072C14(u8 *, s32, u8, u8);
diff --git a/include/menu_helpers.h b/include/menu_helpers.h
index 1df5053e7..993d698bd 100755..100644
--- a/include/menu_helpers.h
+++ b/include/menu_helpers.h
@@ -9,22 +9,31 @@ struct YesNoFuncTable
void (*noFunc)(u8);
};
+void sub_80F9020(void);
+void DisplayItemMessageOnField(u8, const u8 *, TaskFunc, u16);
void DoYesNoFuncWithChoice(u8, const struct YesNoFuncTable *);
void sub_80F914C(u8, const struct YesNoFuncTable *);
-void DisplayItemMessageOnField(u8, const u8 *, TaskFunc, u16);
+u8 sub_80F9284(void);
+u8 sub_80F92BC(void);
+bool8 sub_80F92F4(u16);
+bool8 sub_80F931C(u16);
bool8 sub_80F9344(void);
-u8 sub_80F9344(void);
void sub_80F9368(void);
void sub_80F9438(void);
void sub_80F944C(void);
-void CreateVerticalScrollIndicators(u8, u8, u8); // include/decoration.h
-void sub_80F979C(u32, u32); // unknown args
+void sub_80F9480(u8 *, u8);
+void sub_80F94A4(u8, u8 *, s16, s16);
+void sub_80F94F8(u8 *);
+void sub_80F9520(u8 *, u8);
+void CreateVerticalScrollIndicators(u8, u16, u16);
+void sub_80F979C(u8, bool8);
void DestroyVerticalScrollIndicator(u8);
-void BuyMenuFreeMemory(void);
-void sub_80F98DC(int);
-void sub_80F996C(u8);
void LoadScrollIndicatorPalette(void);
+void BuyMenuFreeMemory(void);
void sub_80F98A4(u8);
void StartVerticalScrollIndicators(u8);
+void sub_80F98DC(u8);
+void PauseVerticalScrollIndicator(u8);
+void sub_80F9988(u8, u8);
#endif // GUARD_MENU_HELPERS_H
diff --git a/include/pokeblock.h b/include/pokeblock.h
index 0d8e965e4..0d8e965e4 100755..100644
--- a/include/pokeblock.h
+++ b/include/pokeblock.h
diff --git a/include/pokemon.h b/include/pokemon.h
index c69fb87e0..c69fb87e0 100755..100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
diff --git a/include/pokemon_menu.h b/include/pokemon_menu.h
index d22dbb708..fc43a44c6 100644
--- a/include/pokemon_menu.h
+++ b/include/pokemon_menu.h
@@ -6,6 +6,7 @@ void sub_808A004();
void sub_808AB90(void);
void sub_808AB90(void); // unknown args
void sub_808AB90(void);
+void sub_808AD58(void);
void sub_808B020(void);
void sub_808B0C0(u8);
void sub_808B508(u8);
diff --git a/include/pokenav.h b/include/pokenav.h
index 70cc4135f..70cc4135f 100755..100644
--- a/include/pokenav.h
+++ b/include/pokenav.h
diff --git a/include/record_mixing.h b/include/record_mixing.h
index 103f5ad64..ca60b04a7 100644
--- a/include/record_mixing.h
+++ b/include/record_mixing.h
@@ -14,8 +14,8 @@ void Task_RecordMixing_CopyReceiveBuffer(u8 taskId);
void sub_80B99B4(u8 taskId);
void Task_RecordMixing_ReceivePacket(u8 taskId);
void Task_RecordMixing_SendPacket_SwitchToReceive(u8 taskId);
-void *LoadPtrFromTaskData(u16 *ptr);
-void StorePtrInTaskData(void *ptr, u16 *data);
+void *LoadPtrFromTaskData(u16 *);
+void StorePtrInTaskData(void *, u16 *);
u8 GetMultiplayerId_(void);
u16 *GetPlayerRecvBuffer(u8 player);
void sub_80B9A78(void);
@@ -23,12 +23,12 @@ void sub_80B9A88(u8 *a);
void sub_80B9B1C(u8 *a, size_t size, u8 index);
void sub_80B9B70(u8 *a, size_t size, u8 index);
u8 sub_80B9BBC(u16 *a);
-void sub_80B9BC4(struct RecordMixing_UnknownStruct *, size_t, u8 [][2], u8, u8);
+void sub_80B9BC4(u8 *, size_t, u8[][2], u8 d, u8 e);
u8 sub_80B9C4C(u8 *a);
// ASM
-void sub_80B9C6C(struct RecordMixing_UnknownStruct *, u32, u8, void *);
-void sub_80B9F3C(void *, u8);
+void sub_80B9C6C(u8 *, u32, u8, void *);
+void sub_80B9F3C(u16 *, u8);
void sub_80BA00C(u8);
#endif // GUARD_RECORD_MIXING_H
diff --git a/include/region_map.h b/include/region_map.h
index 6dfa4dcf0..3d970fa0a 100755..100644
--- a/include/region_map.h
+++ b/include/region_map.h
@@ -1,13 +1,72 @@
#ifndef GUARD_REGION_MAP_H
#define GUARD_REGION_MAP_H
-void sub_80FA8EC(u32, u8);
-void sub_80FAB10(void);
+struct RegionMap
+{
+ u8 mapSecName[0x14];
+ u16 mapSecId;
+ u8 unk16;
+ u8 everGrandeCityArea;
+ u8 (*inputCallback)(void);
+ struct Sprite *cursorSprite;
+ struct Sprite *playerIconSprite;
+ s32 bg2x;
+ s32 bg2y;
+ u32 unk2C; //
+ u32 unk30; // Map rotation parameters
+ u32 unk34; // Likely a scrapped feature
+ u32 unk38; //
+ s32 unk3C;
+ s32 unk40;
+ s32 unk44;
+ s32 unk48;
+ s32 unk4C;
+ s32 unk50;
+ u16 cursorPosX;
+ u16 cursorPosY;
+ u16 cursorTileTag;
+ u16 cursorPaletteTag;
+ s16 scrollX;
+ s16 scrollY;
+ s16 unk60;
+ s16 unk62;
+ u16 unk64;
+ u16 unk66;
+ u16 unk68;
+ u16 unk6A;
+ u16 unk6C;
+ u16 unk6E;
+ u16 playerIconTileTag;
+ u16 playerIconPaletteTag;
+ u16 unk74;
+ u16 unk76;
+ bool8 zoomed;
+ u8 initStep;
+ s8 unk7A;
+ s8 cursorDeltaX;
+ s8 cursorDeltaY;
+ bool8 needUpdateVideoRegs;
+ bool8 blinkPlayerIcon;
+ bool8 playerIsInCave;
+ /*0x080*/ u8 filler80[0x100];
+ /*0x180*/ u8 cursorSmallImage[0x100];
+ /*0x280*/ u8 cursorLargeImage[0x600];
+};
+
+void InitRegionMap(struct RegionMap *regionMap, bool8 zoomed);
+void sub_80FA904(struct RegionMap *regionMap, bool8 zoomed);
+bool8 sub_80FA940(void);
+void FreeRegionMapIconResources(void);
u8 sub_80FAB60(void);
-void sub_80FBB3C(u16, u16);
-void sub_80FBCF0(u32, u8);
-void sub_80FBFB4(u8 *str, u16 region, u8);
-void CopyMapName();
-u8 *CopyLocationName(u8 *dest, u8 location);
+void sub_80FAEC4(void);
+u8 sub_80FAFC0(void);
+void UpdateRegionMapVideoRegs(void);
+void sub_80FB2A4(s16, s16);
+u16 sub_80FBA04(u16 mapSecId);
+void CreateRegionMapCursor(u16, u16);
+void CreateRegionMapPlayerIcon(u16, u16);
+const u8 *GetMapSectionName(u8 *dest, u16 mapSecId, u16 length);
+const u8 *CopyMapName(u8 *dest, u16 b);
+const u8 *CopyLocationName(u8 *dest, u16 b);
#endif // GUARD_REGION_MAP_H
diff --git a/include/rom4.h b/include/rom4.h
index 803a38162..fabd25302 100644
--- a/include/rom4.h
+++ b/include/rom4.h
@@ -55,7 +55,7 @@ void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpId);
void saved_warp2_set(int unused, s8 mapGroup, s8 mapNum, s8 warpId);
void saved_warp2_set_2(int unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused);
-// sub_8053538
+void sub_8053538(u8);
void sub_8053570(void);
void sub_8053588(u8);
void sub_80535C4(s16 a1, s16 a2);
@@ -100,8 +100,8 @@ void sub_8053F84(void);
void sub_8053FB0(u16);
// is_warp1_light_level_8_or_9
// sub_8053FF8
-// sub_8054034
-// sub_8054044
+bool8 sub_8054034(void);
+void sub_8054044(void);
// sub_8054050
void sub_80540D0(s16 *, u16 *);
void sub_8054164(void);
diff --git a/include/save.h b/include/save.h
index 3feaa1f3d..6c47c6f60 100644
--- a/include/save.h
+++ b/include/save.h
@@ -74,7 +74,7 @@ bool8 sub_8125DA8(void);
u8 sub_8125DDC(void);
u8 sub_8125E04(void);
u8 sub_8125E2C(void);
-u8 sub_8125E6C(void);
+bool8 sub_8125E6C(void);
u8 sub_8125EC8(u8 a1);
bool8 unref_sub_8125F4C(struct UnkSaveSection *a1);
u8 unref_sub_8125FA0(void);
diff --git a/include/secret_base.h b/include/secret_base.h
index 3ea75ce27..bb747bb02 100644
--- a/include/secret_base.h
+++ b/include/secret_base.h
@@ -7,6 +7,7 @@ u8 sub_80BBB24(void);
void sub_80BBCCC(u8);
void sub_80BC038();
u8 sub_80BC050();
+u8 *GetSecretBaseMapName(u8 *);
void sub_80BC300();
const u8 sub_80BCCA4(u8);
u8 *sub_80BCCE8(void);
diff --git a/include/strings.h b/include/strings.h
index fe9cfc6ba..fe9cfc6ba 100755..100644
--- a/include/strings.h
+++ b/include/strings.h
diff --git a/include/text.h b/include/text.h
index e9e8eb8c2..99987d2c3 100644
--- a/include/text.h
+++ b/include/text.h
@@ -66,6 +66,8 @@
#define CHAR_y 0xED
#define CHAR_z 0xEE
#define CHAR_COLON 0xF0
+#define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog
+#define CHAR_PROMPT_CLEAR 0xFB // waits for button press and clears dialog
#define EXT_CTRL_CODE_BEGIN 0xFC // extended control code
#define PLACEHOLDER_BEGIN 0xFD // string placeholder
#define CHAR_NEWLINE 0xFE
diff --git a/include/trainer_card.h b/include/trainer_card.h
index bd0c808dd..b9d3ca081 100644
--- a/include/trainer_card.h
+++ b/include/trainer_card.h
@@ -33,20 +33,6 @@ void sub_8093130(u8, void (*)(void));
void sub_8093390(struct TrainerCard *);
u8 sub_80934C4(u8 id);
-// gUnknown_083B5EBC:: @ 83B5EBC
-bool8 sub_8093864();
-bool8 sub_80938A8();
-bool8 sub_80938CC();
-bool8 sub_8093918();
-bool8 sub_8093938();
-bool8 sub_8093954();
-bool8 sub_8093980();
-
-// gUnknown_083B5ED8:: @ 83B5ED8
-bool8 sub_8093AA0();
-bool8 sub_8093AF0();
-bool8 sub_8093C0C(struct TrainerCard *trainerCard);
-bool8 sub_8093C38();
-bool8 sub_8093D50(void);
+extern struct TrainerCard gTrainerCards[4];
#endif // GUARD_TRAINER_CARD_H
diff --git a/include/use_pokeblock.h b/include/use_pokeblock.h
index 978476d89..978476d89 100755..100644
--- a/include/use_pokeblock.h
+++ b/include/use_pokeblock.h
diff --git a/include/vars.h b/include/vars.h
index e08f344d4..efbb462a4 100755..100644
--- a/include/vars.h
+++ b/include/vars.h
@@ -1,6 +1,7 @@
#ifndef GUARD_VARS_H
#define GUARD_VARS_H
+#define VAR_0x4000 0x4000
#define VAR_0x4001 0x4001
#define VAR_0x4002 0x4002
#define VAR_0x4003 0x4003