diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/flags.h | 20 | ||||
-rw-r--r-- | include/constants/pokemon.h | 3 | ||||
-rw-r--r-- | include/graphics.h | 24 | ||||
-rw-r--r-- | include/menu.h | 13 | ||||
-rw-r--r-- | include/strings.h | 6 | ||||
-rw-r--r-- | include/trainer_card.h | 36 | ||||
-rw-r--r-- | include/trainer_pokemon_sprites.h | 2 |
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 |