summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/battle_records.h5
-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.h23
-rw-r--r--include/graphics.h11
-rw-r--r--include/menu.h4
-rw-r--r--include/pokemon_menu.h1
-rw-r--r--include/record_mixing.h10
-rw-r--r--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--include/trainer_card.h16
-rw-r--r--include/vars.h1
15 files changed, 139 insertions, 42 deletions
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/field_effect.h b/include/field_effect.h
index cd84652b1..5edca21dc 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 c29797638..73f73093d 100644
--- a/include/global.h
+++ b/include/global.h
@@ -536,7 +536,9 @@ struct GabbyAndTyData
struct RecordMixing_UnknownStructSub
{
- u8 data[0x38];
+ u32 unk0;
+ u8 data[0x34];
+ //u8 data[0x38];
};
struct RecordMixing_UnknownStruct
@@ -546,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;
@@ -624,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];
@@ -666,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..fa6a85513 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -2549,4 +2549,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/menu.h b/include/menu.h
index 9b48ab79b..e1bb4f1e4 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/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/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 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/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/vars.h b/include/vars.h
index e08f344d4..efbb462a4 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