summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/battle_anim.h4
-rw-r--r--include/battle_pyramid_bag.h54
-rw-r--r--include/constants/contest.h16
-rw-r--r--include/constants/trainer_hill.h5
-rw-r--r--include/contest.h16
-rw-r--r--include/contest_util.h4
-rwxr-xr-xinclude/ereader_helpers.h23
-rw-r--r--include/graphics.h32
-rw-r--r--include/international_string_util.h2
-rw-r--r--include/link.h2
-rw-r--r--include/menu.h4
-rw-r--r--include/menu_helpers.h2
-rw-r--r--include/strings.h3
13 files changed, 101 insertions, 66 deletions
diff --git a/include/battle_anim.h b/include/battle_anim.h
index 34bd774fe..476480489 100644
--- a/include/battle_anim.h
+++ b/include/battle_anim.h
@@ -75,8 +75,8 @@ int GetAnimBgAttribute(u8 bgId, u8 attributeId);
// battle_anim_mons.c
void TranslateSpriteInEllipseOverDuration(struct Sprite *sprite);
-void AnimUnused_80A8AEC(struct Sprite *sprite);
-void AnimUnused_80A8A6C(struct Sprite *sprite);
+void AnimTranslateLinearAndFlicker(struct Sprite *sprite);
+void AnimTranslateLinearAndFlicker_Flipped(struct Sprite *sprite);
void AnimWeatherBallUp(struct Sprite *sprite);
void AnimWeatherBallDown(struct Sprite *sprite);
void AnimSpinningSparkle(struct Sprite *sprite);
diff --git a/include/battle_pyramid_bag.h b/include/battle_pyramid_bag.h
index df111b939..de571714c 100644
--- a/include/battle_pyramid_bag.h
+++ b/include/battle_pyramid_bag.h
@@ -3,48 +3,72 @@
#include "list_menu.h"
-struct PyramidBagResources
+enum {
+ PYRAMIDBAG_LOC_FIELD,
+ PYRAMIDBAG_LOC_BATTLE,
+ PYRAMIDBAG_LOC_PARTY,
+ PYRAMIDBAG_LOC_CHOOSE_TOSS,
+ PYRAMIDBAG_LOC_PREV,
+};
+
+enum {
+ PBAG_SPRITE_BAG,
+ PBAG_SPRITE_ITEM_ICON,
+ PBAG_SPRITE_ITEM_ICON_ALT,
+ PBAG_SPRITE_SWAP_LINE_START, // Swap line consists of 8 sprites
+ PBAG_SPRITE_SWAP_LINE_2,
+ PBAG_SPRITE_SWAP_LINE_3,
+ PBAG_SPRITE_SWAP_LINE_4,
+ PBAG_SPRITE_SWAP_LINE_5,
+ PBAG_SPRITE_SWAP_LINE_6,
+ PBAG_SPRITE_SWAP_LINE_7,
+ PBAG_SPRITE_SWAP_LINE_END,
+ PBAG_SPRITE_COUNT
+};
+#define NUM_SWAP_LINE_SPRITES (1 + PBAG_SPRITE_SWAP_LINE_END - PBAG_SPRITE_SWAP_LINE_START)
+
+struct PyramidBagMenu
{
- void (*callback2)(void);
- u8 tilemapBuffer[0x800];
- u8 itemsSpriteIds[PYRAMID_BAG_ITEMS_COUNT + 1];
+ void (*exitCallback)(void);
+ u8 tilemapBuffer[BG_SCREEN_SIZE];
+ u8 spriteIds[PBAG_SPRITE_COUNT];
u8 windowIds[5];
- u8 unk814;
- u8 unk815;
+ u8 toSwapPos;
+ bool8 isAltIcon; // Two item icons loaded at a time. Tracks which to show next
u8 scrollIndicatorsTaskId;
const u8 *menuActionIds;
- u8 filler81C[0x820 - 0x81C];
+ u8 unused1[4];
u8 menuActionsCount;
u8 listMenuCount;
u8 listMenuMaxShown;
struct ListMenuItem bagListItems[PYRAMID_BAG_ITEMS_COUNT + 1];
u8 itemStrings[PYRAMID_BAG_ITEMS_COUNT + 1][ITEM_NAME_LENGTH + 10];
s16 state;
- u8 filler986[0x98C - 0x986];
+ u8 unused2[4];
};
-struct PyramidBagCursorData
+struct PyramidBagMenuState
{
void (*callback)(void);
- u8 unk4;
+ u8 location;
u16 cursorPosition;
u16 scrollPosition;
};
-extern struct PyramidBagResources *gPyramidBagResources;
-extern struct PyramidBagCursorData gPyramidBagCursorData;
+extern struct PyramidBagMenu *gPyramidBagMenu;
+extern struct PyramidBagMenuState gPyramidBagMenuState;
void InitBattlePyramidBagCursorPosition(void);
void CB2_PyramidBagMenuFromStartMenu(void);
void CB2_ReturnToPyramidBagMenu(void);
-void sub_81C5924(void);
-void sub_81C59BC(void);
+void UpdatePyramidBagList(void);
+void UpdatePyramidBagCursorPos(void);
void sub_81C4EFC(void);
void GoToBattlePyramidBagMenu(u8 a0, void (*callback)(void));
void Task_CloseBattlePyramidBagMessage(u8 taskId);
void TryStoreHeldItemsInPyramidBag(void);
void ChooseItemsToTossFromPyramidBag(void);
-void CloseBattlePyramidBagAndSetCallback(u8 taskId);
+void CloseBattlePyramidBag(u8 taskId);
void DisplayItemMessageInBattlePyramid(u8 taskId, const u8 *str, void (*callback)(u8 taskId));
#endif // GUARD_BATTLE_PYRAMID_BAG_H
diff --git a/include/constants/contest.h b/include/constants/contest.h
index 9eb6b26e4..28b02e9c0 100644
--- a/include/constants/contest.h
+++ b/include/constants/contest.h
@@ -22,7 +22,9 @@
#define CONTEST_TYPE_NPC_MASTER (CONTEST_RANK_MASTER + 1)
#define CONTEST_TYPE_LINK (CONTEST_RANK_LINK + 1)
-#define CONTEST_WINNER_ARTIST 0 // Winner shown by the artist, painting not necessarily saved
+// IDs below - 1 are indexes into gSaveBlock1Ptr->contestWinners[]
+// CONTEST_WINNER_ARTIST is for the winner of the most recent contest, and is not saved.
+#define CONTEST_WINNER_ARTIST 0
#define CONTEST_WINNER_HALL_1 1
#define CONTEST_WINNER_HALL_2 2
#define CONTEST_WINNER_HALL_3 3
@@ -30,8 +32,8 @@
#define CONTEST_WINNER_HALL_5 5
#define CONTEST_WINNER_HALL_6 6
#define NUM_CONTEST_HALL_WINNERS 6
-#define CONTEST_WINNER_7 7
-#define CONTEST_WINNER_8 8
+#define CONTEST_WINNER_HALL_UNUSED_1 7 // These two have data for gDefaultContestWinners
+#define CONTEST_WINNER_HALL_UNUSED_2 8 // but there are only 6 paintings in the Contest Hall
#define CONTEST_WINNER_MUSEUM_COOL 9
#define CONTEST_WINNER_MUSEUM_BEAUTY 10
#define CONTEST_WINNER_MUSEUM_CUTE 11
@@ -39,6 +41,14 @@
#define CONTEST_WINNER_MUSEUM_TOUGH 13
// NUM_CONTEST_WINNERS in constants/global.h
+#define MUSEUM_CONTEST_WINNERS_START (CONTEST_WINNER_MUSEUM_COOL - 1)
+
+#define CONTEST_SAVE_FOR_MUSEUM ((u8)-1)
+#define CONTEST_SAVE_FOR_ARTIST ((u8)-2)
+
+// The number of possible captions for a Contest painting, per category
+#define NUM_PAINTING_CAPTIONS 3
+
#define CANT_ENTER_CONTEST 0
#define CAN_ENTER_CONTEST_EQUAL_RANK 1
#define CAN_ENTER_CONTEST_HIGH_RANK 2
diff --git a/include/constants/trainer_hill.h b/include/constants/trainer_hill.h
index 27357e99c..0e802bba8 100644
--- a/include/constants/trainer_hill.h
+++ b/include/constants/trainer_hill.h
@@ -37,8 +37,9 @@
#define TRAINER_HILL_TEXT_PLAYER_WON 4
#define TRAINER_HILL_TEXT_AFTER 5
-#define NUM_TRAINER_HILL_TRAINERS (NUM_TRAINER_HILL_FLOORS * 2)
-#define NUM_TRAINER_HILL_TRAINERS_JP (NUM_TRAINER_HILL_FLOORS_JP * 2)
+#define TRAINER_HILL_TRAINERS_PER_FLOOR 2
+#define NUM_TRAINER_HILL_TRAINERS (NUM_TRAINER_HILL_FLOORS * TRAINER_HILL_TRAINERS_PER_FLOOR)
+#define NUM_TRAINER_HILL_TRAINERS_JP (NUM_TRAINER_HILL_FLOORS_JP * TRAINER_HILL_TRAINERS_PER_FLOOR)
// Values returned by TrainerHillGetChallengeStatus
#define TRAINER_HILL_PLAYER_STATUS_LOST 0
diff --git a/include/contest.h b/include/contest.h
index 1dd4340bd..9bac63eda 100644
--- a/include/contest.h
+++ b/include/contest.h
@@ -111,11 +111,11 @@ struct ContestPokemon
u32 otId;
};
-struct Shared1A004
+struct ContestTempSave
{
u16 cachedWindowPalettes[16][16]; // Saved palette data before a move happens?
- u16 unk18204[PLTT_BUFFER_SIZE]; // Saved copy of gPlttBufferUnfaded
- u16 unk18604[PLTT_BUFFER_SIZE]; // Saved copy of gPlttBufferFaded
+ u16 cachedPlttBufferUnfaded[PLTT_BUFFER_SIZE];
+ u16 cachedPlttBufferFaded[PLTT_BUFFER_SIZE];
u8 savedJunk[0x800];
};
@@ -306,7 +306,7 @@ struct ContestResources
#define eUnzippedContestAudience_Gfx (gHeap + 0x18000)
#define eContestAudienceFrame2_Gfx (gHeap + 0x19000)
#define eContestDebugMode (gHeap[0x1a000])
-#define eUnknownHeap1A004 (*(struct Shared1A004 *)(gHeap + 0x1a004))
+#define eContestTempSave (*(struct ContestTempSave *)(gHeap + 0x1a004))
extern struct ContestPokemon gContestMons[CONTESTANT_COUNT];
extern s16 gContestMonRound1Points[CONTESTANT_COUNT];
@@ -326,8 +326,8 @@ extern u8 gHighestRibbonRank;
extern struct ContestResources *gContestResources;
extern u8 sContestBgCopyFlags;
extern struct ContestWinner gCurContestWinner;
-extern u8 gUnknown_02039F5C;
-extern u8 gUnknown_02039F5D;
+extern u8 gCurContestWinnerIsForArtist;
+extern u8 gCurContestWinnerSaveIdx;
extern u32 gContestRngValue;
// contest.c
@@ -351,8 +351,8 @@ s8 Contest_GetMoveExcitement(u16 move);
bool8 IsContestantAllowedToCombo(u8 contestant);
void Contest_PrintTextToBg0WindowAt(u32 windowId, u8 *currChar, s32 x, s32 y, s32 fontId);
void ResetContestLinkResults(void);
-bool8 sub_80DEDA8(u8 a);
-u8 sub_80DEFA8(u8 a, u8 b);
+bool8 SaveContestWinner(u8 rank);
+u8 GetContestWinnerSaveIdx(u8 rank, bool8 shift);
void ClearContestWinnerPicsInContestHall(void);
void StripPlayerAndMonNamesForLinkContest(struct ContestPokemon *mon, s32 language);
diff --git a/include/contest_util.h b/include/contest_util.h
index 76f9ae522..1e97d91d3 100644
--- a/include/contest_util.h
+++ b/include/contest_util.h
@@ -7,8 +7,8 @@ void StartContest(void);
void BufferContestantMonSpecies(void);
void ShowContestResults(void);
void ContestLinkTransfer(u8);
-void ShowContestWinnerPainting(void);
+void ShowContestPainting(void);
u16 GetContestRand(void);
-u8 CountPlayerContestPaintings(void);
+u8 CountPlayerMuseumPaintings(void);
#endif // GUARD_CONTEST_UTIL_H
diff --git a/include/ereader_helpers.h b/include/ereader_helpers.h
index 8dc3b907a..937cfaca1 100755
--- a/include/ereader_helpers.h
+++ b/include/ereader_helpers.h
@@ -5,30 +5,29 @@
struct EReaderTrainerHillTrainer
{
- u8 unk0;
- struct TrainerHillTrainer unk4;
- struct TrHillDisplay unk14C;
+ u8 trainerNum;
+ struct TrainerHillTrainer trainer;
+ struct TrHillDisplay display;
u32 checksum;
}; // size=0x274
struct EReaderTrainerHillSet
{
- u8 count;
+ u8 numTrainers;
u8 id;
- u16 dummy;
u32 checksum;
- struct EReaderTrainerHillTrainer unk_8[6];
+ struct EReaderTrainerHillTrainer trainers[6];
u8 unk_ec0[40];
}; // size = 0xf00
-bool8 EReader_IsReceivedDataValid(struct EReaderTrainerHillSet *buffer);
-bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet *arg0);
+bool8 ValidateTrainerHillData(struct EReaderTrainerHillSet *);
+bool32 TryWriteTrainerHill(struct EReaderTrainerHillSet *);
bool32 ReadTrainerHillAndValidate(void);
-int EReaderHandleTransfer(u8, u32, u32*, u32*);
-void sub_81D3F9C(void);
-void sub_81D3FAC(void);
+int EReaderHandleTransfer(u8, size_t, const void *, void *);
+void EReaderHelper_Timer3Callback(void);
+void EReaderHelper_SerialCallback(void);
void EReaderHelper_SaveRegsState(void);
void EReaderHelper_RestoreRegsState(void);
-void sub_81D4238(void);
+void EReaderHelper_ClearSendRecvMgr(void);
#endif // GUARD_EREADER_HELPERS_H
diff --git a/include/graphics.h b/include/graphics.h
index ee5677f3c..1f40cda01 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -4903,8 +4903,8 @@ extern const u16 gUnknown_08DDCF04[];
extern const u16 gTradeGba2_Pal[];
extern const u8 gTradeGba_Gfx[];
extern const u16 gTradeMenuMonBox_Tilemap[];
-extern const u8 gTradeButtons_Gfx[];
-extern const u16 gUnknown_08DDB444[];
+extern const u8 gTradeCursor_Gfx[];
+extern const u16 gTradeCursor_Pal[];
// Party menu
extern const u32 gPartyMenuPokeball_Gfx[];
@@ -4924,21 +4924,21 @@ extern const u32 gRouletteMultiplier_Gfx[];
// Contest util
extern const u32 gContestResults_Gfx[];
-extern const u32 gUnknown_08C19EEC[];
-extern const u32 gUnknown_08C1A000[];
-extern const u32 gUnknown_08C1A12C[];
+extern const u32 gContestResults_WinnerBanner_Tilemap[];
+extern const u32 gContestResults_Interface_Tilemap[];
+extern const u32 gContestResults_Bg_Tilemap[];
extern const u32 gContestResults_Pal[];
-extern const u16 gLinkContestResults_Tilemap[];
-extern const u16 gNormalContestResults_Tilemap[];
-extern const u16 gSuperContestResults_Tilemap[];
-extern const u16 gHyperContestResults_Tilemap[];
-extern const u16 gMasterContestResults_Tilemap[];
-extern const u16 gCoolContestResults_Tilemap[];
-extern const u16 gBeautyContestResults_Tilemap[];
-extern const u16 gCuteContestResults_Tilemap[];
-extern const u16 gSmartContestResults_Tilemap[];
-extern const u16 gToughContestResults_Tilemap[];
-extern const u16 gContestResults_Tilemap[];
+extern const u16 gContestResultsTitle_Link_Tilemap[];
+extern const u16 gContestResultsTitle_Normal_Tilemap[];
+extern const u16 gContestResultsTitle_Super_Tilemap[];
+extern const u16 gContestResultsTitle_Hyper_Tilemap[];
+extern const u16 gContestResultsTitle_Master_Tilemap[];
+extern const u16 gContestResultsTitle_Cool_Tilemap[];
+extern const u16 gContestResultsTitle_Beauty_Tilemap[];
+extern const u16 gContestResultsTitle_Cute_Tilemap[];
+extern const u16 gContestResultsTitle_Smart_Tilemap[];
+extern const u16 gContestResultsTitle_Tough_Tilemap[];
+extern const u16 gContestResultsTitle_Tilemap[];
// Trainer Card.
extern const u16 gHoennTrainerCard0Star_Pal[];
diff --git a/include/international_string_util.h b/include/international_string_util.h
index f76fc5be1..fe7e85b41 100644
--- a/include/international_string_util.h
+++ b/include/international_string_util.h
@@ -17,7 +17,7 @@ void CopyMonCategoryText(int dexNum, u8 *dest);
u8 *sub_81DB494(u8 *str, int fontId, const u8 *str2, int totalStringWidth);
void PadNameString(u8 *dest, u8 padChar);
void ConvertInternationalPlayerNameStripChar(u8 *, u8);
-void sub_81DB5AC(u8 *);
+void ConvertInternationalContestantName(u8 *);
int sub_81DB604(u8 *);
void sub_81DB620(int windowId, int columnStart, int rowStart, int numFillTiles, int numRows);
diff --git a/include/link.h b/include/link.h
index 3b621e6c1..407dbabb9 100644
--- a/include/link.h
+++ b/include/link.h
@@ -323,7 +323,7 @@ extern bool8 gSavedLinkPlayerCount;
extern u8 gSavedMultiplayerId;
extern struct LinkTestBGInfo gLinkTestBGInfo;
extern void (*gLinkCallback)(void);
-extern bool8 gShouldAdvanceLinkState;
+extern u8 gShouldAdvanceLinkState;
extern u16 gLinkTestBlockChecksums[MAX_LINK_PLAYERS];
extern u8 gBlockRequestType;
extern u8 gLastSendQueueCount;
diff --git a/include/menu.h b/include/menu.h
index c9d8e374d..07e00eb73 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -90,8 +90,8 @@ void *malloc_and_decompress(const void *src, u32 *sizeOut);
u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16 offset, u8 mode);
void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress);
void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8);
-void sub_8198DBC(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 itemCount, u8 itemCount2, const struct MenuAction *strs, const u8 *a8);
-u8 sub_8199944(u8 windowId, u8 optionWidth, u8 columns, u8 rows, u8 initialCursorPos);
+void PrintMenuActionGrid(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 itemCount, u8 itemCount2, const struct MenuAction *strs, const u8 *a8);
+u8 InitMenuActionGrid(u8 windowId, u8 optionWidth, u8 columns, u8 rows, u8 initialCursorPos);
u8 ChangeListMenuCursorPosition(s8 deltaX, s8 deltaY);
u8 GetStartMenuWindowId(void);
void ListMenuLoadStdPalAt(u8, u8);
diff --git a/include/menu_helpers.h b/include/menu_helpers.h
index c4401354b..9909437a2 100644
--- a/include/menu_helpers.h
+++ b/include/menu_helpers.h
@@ -29,7 +29,7 @@ bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1);
u8 GetLRKeysPressed(void);
u8 GetLRKeysPressedAndHeld(void);
bool8 sub_8122148(u16 itemId);
-bool8 itemid_80BF6D8_mail_related(u16 itemId);
+bool8 IsWritingMailAllowed(u16 itemId);
bool8 MenuHelpers_LinkSomething(void);
bool8 MenuHelpers_CallLinkSomething(void);
void sub_812220C(struct ItemSlot *slots, u8 count, u8 *arg2, u8 *usedSlotsCount, u8 maxUsedSlotsCount);
diff --git a/include/strings.h b/include/strings.h
index 8880f3a5c..04283db0e 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -982,7 +982,8 @@ extern const u8 gText_RibbonsVar1[];
extern const u8 gText_OneDash[];
extern const u8 gText_TwoDashes[];
-extern const u8 *const gReturnToXStringsTable2[];
+extern const u8 *const gBagMenu_ReturnToStrings[];
+extern const u8 *const gPyramidBagMenu_ReturnToStrings[];
extern const u8 gText_NumPlayerLink[];
extern const u8 gText_ConfirmLinkWhenPlayersReady[];