summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/constants/flags.h20
-rw-r--r--include/constants/pokemon.h3
-rw-r--r--include/graphics.h24
-rw-r--r--include/menu.h13
-rw-r--r--include/strings.h6
-rw-r--r--include/trainer_card.h36
-rw-r--r--include/trainer_pokemon_sprites.h2
7 files changed, 68 insertions, 36 deletions
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 1163e394f..e0b383d7b 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -1353,22 +1353,24 @@
#define SYSTEM_FLAGS (TRAINER_FLAGS_END + 1) // 0x860
-#define FLAG_SYS_POKEMON_GET (SYSTEM_FLAGS + 0) // FLAG_0x860
-#define FLAG_SYS_POKEDEX_GET (SYSTEM_FLAGS + 1)
-#define FLAG_SYS_POKENAV_GET (SYSTEM_FLAGS + 2)
-#define FLAG_SYS_GAME_CLEAR (SYSTEM_FLAGS + 4)
-#define FLAG_SYS_CHAT_USED (SYSTEM_FLAGS + 5)
-#define FLAG_SYS_HIPSTER_MEET (SYSTEM_FLAGS + 6)
+#define FLAG_SYS_POKEMON_GET (SYSTEM_FLAGS + 0x0) // FLAG_0x860
+#define FLAG_SYS_POKEDEX_GET (SYSTEM_FLAGS + 0x1)
+#define FLAG_SYS_POKENAV_GET (SYSTEM_FLAGS + 0x2)
+#define FLAG_UNUSED_0x863 (SYSTEM_FLAGS + 0x3)
+#define FLAG_SYS_GAME_CLEAR (SYSTEM_FLAGS + 0x4)
+#define FLAG_SYS_CHAT_USED (SYSTEM_FLAGS + 0x5)
+#define FLAG_SYS_HIPSTER_MEET (SYSTEM_FLAGS + 0x6)
// Badges
-#define FLAG_BADGE01_GET (SYSTEM_FLAGS + 7)
-#define FLAG_BADGE02_GET (SYSTEM_FLAGS + 8)
-#define FLAG_BADGE03_GET (SYSTEM_FLAGS + 9)
+#define FLAG_BADGE01_GET (SYSTEM_FLAGS + 0x7)
+#define FLAG_BADGE02_GET (SYSTEM_FLAGS + 0x8)
+#define FLAG_BADGE03_GET (SYSTEM_FLAGS + 0x9)
#define FLAG_BADGE04_GET (SYSTEM_FLAGS + 0xA)
#define FLAG_BADGE05_GET (SYSTEM_FLAGS + 0xB)
#define FLAG_BADGE06_GET (SYSTEM_FLAGS + 0xC)
#define FLAG_BADGE07_GET (SYSTEM_FLAGS + 0xD)
#define FLAG_BADGE08_GET (SYSTEM_FLAGS + 0xE)
+#define NUM_BADGES (1 + FLAG_BADGE08_GET - FLAG_BADGE01_GET)
// Towns and Cities
#define FLAG_VISITED_LITTLEROOT_TOWN (SYSTEM_FLAGS + 0xF)
diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h
index c90e6465e..b5c60f64d 100644
--- a/include/constants/pokemon.h
+++ b/include/constants/pokemon.h
@@ -279,4 +279,7 @@
#define EVOS_PER_MON 5
+#define NUM_MALE_LINK_FACILITY_CLASSES 8
+#define NUM_FEMALE_LINK_FACILITY_CLASSES 8
+
#endif // GUARD_CONSTANTS_POKEMON_H
diff --git a/include/graphics.h b/include/graphics.h
index 00fdb69d8..68fb2f1fa 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -4895,18 +4895,18 @@ extern const u16 gUnknown_08DC64FC[];
extern const u16 gUnknown_08DC6510[];
// Trainer Card.
-extern const u16 gEmeraldTrainerCard0Star_Pal[];
-extern const u32 gEmeraldTrainerCard_Gfx[];
-extern const u16 gFireRedTrainerCard0Star_Pal[];
-extern const u32 gFireRedTrainerCard_Gfx[];
-extern const u32 gUnknown_08DD2AE0[];
-extern const u32 gUnknown_08DD21B0[];
-extern const u32 gUnknown_08DD2D30[];
-extern const u32 gUnknown_08DD2010[];
-extern const u32 gUnknown_08DD2B78[];
-extern const u32 gUnknown_08DD228C[];
-extern const u32 gUnknown_08DD2E5C[];
-extern const u32 gUnknown_08DD1F78[];
+extern const u16 gHoennTrainerCard0Star_Pal[];
+extern const u32 gHoennTrainerCard_Gfx[];
+extern const u16 gKantoTrainerCard0Star_Pal[];
+extern const u32 gKantoTrainerCard_Gfx[];
+extern const u32 gKantoTrainerCardBg_Tilemap[];
+extern const u32 gHoennTrainerCardBack_Tilemap[];
+extern const u32 gKantoTrainerCardBack_Tilemap[];
+extern const u32 gHoennTrainerCardFront_Tilemap[];
+extern const u32 gKantoTrainerCardFront_Tilemap[];
+extern const u32 gHoennTrainerCardFrontLink_Tilemap[];
+extern const u32 gKantoTrainerCardFrontLink_Tilemap[];
+extern const u32 gHoennTrainerCardBg_Tilemap[];
// Frontier Pass
extern const u32 gUnknown_08DE08C8[];
diff --git a/include/menu.h b/include/menu.h
index 56865bcd9..d4a038920 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -8,6 +8,15 @@
#define MENU_NOTHING_CHOSEN -2
#define MENU_B_PRESSED -1
+enum
+{
+ SAVE_MENU_NAME,
+ SAVE_MENU_CAUGHT,
+ SAVE_MENU_PLAY_TIME,
+ SAVE_MENU_LOCATION,
+ SAVE_MENU_BADGES,
+};
+
struct MenuAction
{
const u8 *text;
@@ -23,7 +32,7 @@ void FreeAllOverworldWindowBuffers(void);
void InitStandardTextBoxWindows(void);
void sub_8197200(void);
u16 RunTextPrintersAndIsPrinter0Active(void);
-void sub_81973A4(void);
+void LoadMessageBoxAndBorderGfx(void);
void DrawDialogueFrame(u8 windowId, bool8 copyToVram);
void ClearStdWindowAndFrame(u8 windowId, bool8 copyToVram);
u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 fgColor, u8 bgColor, u8 shadowColor);
@@ -80,7 +89,7 @@ void sub_819786C(u8 windowId, bool8 copyToVram);
void AddTextPrinterForMessage_2(bool8 allowSkippingDelayWithButtonPress);
void RemoveStartMenuWindow(void);
void DisplayYesNoMenuWithDefault(u8 initialCursorPos);
-void sub_819A344(u8 a0, u8 *dest, u8 color);
+void BufferSaveMenuText(u8 textId, u8 *dest, u8 color);
void RemoveMapNamePopUpWindow(void);
u8 GetMapNamePopUpWindowId(void);
u8 AddMapNamePopUpWindow(void);
diff --git a/include/strings.h b/include/strings.h
index 5178a0087..a1912fb32 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -2514,11 +2514,11 @@ extern const u8 gText_WinsLosses[];
extern const u8 gText_PokemonTrades[];
extern const u8 gText_BerryCrush[];
extern const u8 gText_UnionTradesAndBattles[];
-extern const u8 gText_Var1DarkGreyShadowLightGrey[];
+extern const u8 gText_NumPokeblocks[];
extern const u8 gText_PokeblocksWithFriends[];
extern const u8 gText_WonContestsWFriends[];
-extern const u8 gText_WSlashStraightSlash[];
-extern const u8 gText_Var1DarkLightGreyBP[];
+extern const u8 gText_WinsStraight[];
+extern const u8 gText_NumBP[];
extern const u8 gText_BattleTower[];
extern const u8 gText_BattlePtsWon[];
diff --git a/include/trainer_card.h b/include/trainer_card.h
index 173d23baa..685d1cdca 100644
--- a/include/trainer_card.h
+++ b/include/trainer_card.h
@@ -1,6 +1,24 @@
#ifndef GUARD_TRAINER_CARD_H
#define GUARD_TRAINER_CARD_H
+#define TRAINER_CARD_PROFILE_LENGTH 4
+#define TRAINER_CARD_STICKER_TYPES 3
+
+enum
+{
+ CARD_TYPE_FRLG,
+ CARD_TYPE_RS,
+ CARD_TYPE_EMERALD,
+};
+
+enum
+{
+ MON_ICON_TINT_NORMAL,
+ MON_ICON_TINT_BLACK,
+ MON_ICON_TINT_PINK,
+ MON_ICON_TINT_SEPIA,
+};
+
struct TrainerCard
{
/*0x00*/ u8 gender;
@@ -23,19 +41,19 @@ struct TrainerCard
/*0x1E*/ u16 pokeblocksWithFriends;
/*0x20*/ u16 pokemonTrades;
/*0x24*/ u32 money;
- /*0x28*/ u16 var_28[4];
+ /*0x28*/ u16 easyChatProfile[TRAINER_CARD_PROFILE_LENGTH];
/*0x30*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
/*0x38*/ u8 version;
- /*0x3A*/ u16 var_3A;
+ /*0x3A*/ bool16 hasAllFrontierSymbols;
/*0x3C*/ u32 berryCrushPoints;
/*0x40*/ u32 unionRoomNum;
- /*0x44*/ u8 filler44[0x8];
- /*0x4C*/ u8 var_4C;
- /*0x4D*/ u8 var_4D;
- /*0x4E*/ u8 var_4E;
- /*0x4F*/ u8 var_4F;
- /*0x50*/ u8 var_50[0x4];
- /*0x54*/ u16 monSpecies[PARTY_SIZE];
+ /*0x44*/ u8 filler[8];
+ /*0x4C*/ bool8 shouldDrawStickers; // FRLG only
+ /*0x4D*/ u8 unused;
+ /*0x4E*/ u8 monIconTint; // FRLG only
+ /*0x4F*/ u8 facilityClass;
+ /*0x50*/ u8 stickers[TRAINER_CARD_STICKER_TYPES]; // FRLG only
+ /*0x54*/ u16 monSpecies[PARTY_SIZE]; // FRLG only
/*0x60*/ bool16 hasAllSymbols;
/*0x62*/ u16 frontierBP;
};
diff --git a/include/trainer_pokemon_sprites.h b/include/trainer_pokemon_sprites.h
index 90ceedaf5..d4390608e 100644
--- a/include/trainer_pokemon_sprites.h
+++ b/include/trainer_pokemon_sprites.h
@@ -7,7 +7,7 @@ u16 CreateMonPicSprite_HandleDeoxys(u16 species, u32 otId, u32 personality, bool
u16 FreeAndDestroyMonPicSprite(u16 spriteId);
u16 CreateTrainerPicSprite(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
u16 FreeAndDestroyTrainerPicSprite(u16 spriteId);
-u16 sub_818D938(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId);
+u16 CreateTrainerCardTrainerPicSprite(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId);
u16 PlayerGenderToFrontTrainerPicId_Debug(u8 gender, bool8 getClass);
#endif // GUARD_TRAINER_POKEMON_SPRITES_H