From 76f6d05173e134d9cea3df0deb65f93804617c0f Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 17 Jun 2020 03:39:03 -0400 Subject: Document confetti --- include/graphics.h | 4 ++-- include/hall_of_fame.h | 1 - include/rom_81520A8.h | 28 ++++++++++++++-------------- 3 files changed, 16 insertions(+), 17 deletions(-) (limited to 'include') diff --git a/include/graphics.h b/include/graphics.h index b41a43095..99d396df2 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4082,8 +4082,8 @@ extern const u8 gNamingScreenUnderscoreTiles[]; extern const u32 gUnknown_08D9BA44[]; -extern const u32 gContestConfetti_Gfx[]; -extern const u32 gContestConfetti_Pal[]; +extern const u32 gConfetti_Gfx[]; +extern const u32 gConfetti_Pal[]; extern const u32 gUnknown_08C093F0[]; extern const u32 gSubstituteDollTilemap[]; diff --git a/include/hall_of_fame.h b/include/hall_of_fame.h index a83fad2fc..f1f456713 100644 --- a/include/hall_of_fame.h +++ b/include/hall_of_fame.h @@ -4,7 +4,6 @@ void CB2_DoHallOfFameScreen(void); void CB2_DoHallOfFameScreenDontSaveData(void); void CB2_DoHallOfFamePC(void); -void DoConfettiEffect(void); // hof_pc.c void ReturnFromHallOfFamePC(void); diff --git a/include/rom_81520A8.h b/include/rom_81520A8.h index 2be12200f..9ad299197 100644 --- a/include/rom_81520A8.h +++ b/include/rom_81520A8.h @@ -1,7 +1,7 @@ #ifndef GUARD_ROM_81520A8_H #define GUARD_ROM_81520A8_H -struct UnkStruct_81520A8 +struct OamUtil { struct OamData oam; s16 x; @@ -12,22 +12,22 @@ struct UnkStruct_81520A8 u16 palTag; u16 tileNum; u8 id; - u8 filler17; // Unused. - u8 unk18; - u8 unk19_0:1; - u8 unk19_1:1; - u8 unk19_2:1; + u8 filler; + u8 animNum; + u8 active:1; + u8 allowUpdates:1; + u8 dummied:1; u8 priority:2; s16 data[8]; - void (*callback)(struct UnkStruct_81520A8 *); + void (*callback)(struct OamUtil *); }; -bool32 sub_81521C0(u8 count); -bool32 sub_8152254(void); -bool32 sub_81522D4(void); -u8 sub_8152438(u8 id, void (*func)(struct UnkStruct_81520A8 *)); -u8 sub_8152474(u8 id, u8 dataArrayId, s16 dataValue); -u8 sub_81524C4(const struct OamData *oam, u16 tileTag, u16 palTag, s16 x, s16 y, u8 arg5, u8 priority); -u8 sub_81525D0(u8 id); +bool32 OamUtil_Init(u8 count); +bool32 OamUtil_Free(void); +bool32 OamUtil_Update(void); +u8 OamUtil_SetCallback(u8 id, void (*func)(struct OamUtil *)); +u8 OamUtil_SetData(u8 id, u8 dataArrayId, s16 dataValue); +u8 OamUtil_AddNew(const struct OamData *oam, u16 tileTag, u16 palTag, s16 x, s16 y, u8 animNum, u8 priority); +u8 OamUtil_Remove(u8 id); #endif // GUARD_ROM_81520A8_H -- cgit v1.2.3 From f600aff71140b34e4b3c210ef27ec1b9704a6f45 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 17 Jun 2020 03:42:10 -0400 Subject: Rename rom_81520A8 --- include/oam_util.h | 33 +++++++++++++++++++++++++++++++++ include/rom_81520A8.h | 33 --------------------------------- 2 files changed, 33 insertions(+), 33 deletions(-) create mode 100644 include/oam_util.h delete mode 100644 include/rom_81520A8.h (limited to 'include') diff --git a/include/oam_util.h b/include/oam_util.h new file mode 100644 index 000000000..24e166c93 --- /dev/null +++ b/include/oam_util.h @@ -0,0 +1,33 @@ +#ifndef GUARD_OAM_UTIL_H +#define GUARD_OAM_UTIL_H + +struct OamUtil +{ + struct OamData oam; + s16 x; + s16 y; + s16 xDelta; + s16 yDelta; + u16 tileTag; + u16 palTag; + u16 tileNum; + u8 id; + u8 filler; + u8 animNum; + u8 active:1; + u8 allowUpdates:1; + u8 dummied:1; + u8 priority:2; + s16 data[8]; + void (*callback)(struct OamUtil *); +}; + +bool32 OamUtil_Init(u8 count); +bool32 OamUtil_Free(void); +bool32 OamUtil_Update(void); +u8 OamUtil_SetCallback(u8 id, void (*func)(struct OamUtil *)); +u8 OamUtil_SetData(u8 id, u8 dataArrayId, s16 dataValue); +u8 OamUtil_AddNew(const struct OamData *oam, u16 tileTag, u16 palTag, s16 x, s16 y, u8 animNum, u8 priority); +u8 OamUtil_Remove(u8 id); + +#endif // GUARD_OAM_UTIL_H diff --git a/include/rom_81520A8.h b/include/rom_81520A8.h deleted file mode 100644 index 9ad299197..000000000 --- a/include/rom_81520A8.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef GUARD_ROM_81520A8_H -#define GUARD_ROM_81520A8_H - -struct OamUtil -{ - struct OamData oam; - s16 x; - s16 y; - s16 xDelta; - s16 yDelta; - u16 tileTag; - u16 palTag; - u16 tileNum; - u8 id; - u8 filler; - u8 animNum; - u8 active:1; - u8 allowUpdates:1; - u8 dummied:1; - u8 priority:2; - s16 data[8]; - void (*callback)(struct OamUtil *); -}; - -bool32 OamUtil_Init(u8 count); -bool32 OamUtil_Free(void); -bool32 OamUtil_Update(void); -u8 OamUtil_SetCallback(u8 id, void (*func)(struct OamUtil *)); -u8 OamUtil_SetData(u8 id, u8 dataArrayId, s16 dataValue); -u8 OamUtil_AddNew(const struct OamData *oam, u16 tileTag, u16 palTag, s16 x, s16 y, u8 animNum, u8 priority); -u8 OamUtil_Remove(u8 id); - -#endif // GUARD_ROM_81520A8_H -- cgit v1.2.3 From 24569583e49e66fefd0aeaeac68d2ba9bf206145 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 17 Jun 2020 17:48:20 -0400 Subject: Document contest results --- include/constants/contest.h | 17 +++++++++++++++++ include/constants/field_specials.h | 5 +++++ include/constants/global.h | 1 + include/contest.h | 5 ++--- include/contest_link_80F57C4.h | 4 ++-- include/global.h | 2 +- include/graphics.h | 28 ++++++++++++++-------------- include/strings.h | 2 +- 8 files changed, 43 insertions(+), 21 deletions(-) (limited to 'include') diff --git a/include/constants/contest.h b/include/constants/contest.h index 186c56e2b..2de2866a3 100644 --- a/include/constants/contest.h +++ b/include/constants/contest.h @@ -29,6 +29,23 @@ #define CONTEST_CATEGORY_TOUGH 4 #define CONTEST_CATEGORIES_COUNT 5 +#define CONTEST_WINNER_ARTIST 0 // Winner shown by the artist, painting not necessarily saved +#define CONTEST_WINNER_HALL_1 1 +#define CONTEST_WINNER_HALL_2 2 +#define CONTEST_WINNER_HALL_3 3 +#define CONTEST_WINNER_HALL_4 4 +#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_MUSEUM_COOL 9 +#define CONTEST_WINNER_MUSEUM_BEAUTY 10 +#define CONTEST_WINNER_MUSEUM_CUTE 11 +#define CONTEST_WINNER_MUSEUM_SMART 12 +#define CONTEST_WINNER_MUSEUM_TOUGH 13 +// NUM_CONTEST_WINNERS in constants/global.h + #define CANT_ENTER_CONTEST 0 #define CAN_ENTER_CONTEST_EQUAL_RANK 1 #define CAN_ENTER_CONTEST_HIGH_RANK 2 diff --git a/include/constants/field_specials.h b/include/constants/field_specials.h index a2dc117e4..a01151378 100644 --- a/include/constants/field_specials.h +++ b/include/constants/field_specials.h @@ -75,4 +75,9 @@ #define FANCLUB_MEMBER7 14 #define FANCLUB_MEMBER8 15 +#define FANCOUNTER_DEFEATED_DRAKE 0 +#define FANCOUNTER_BATTLED_AT_BASE 1 +#define FANCOUNTER_FINISHED_CONTEST 2 +#define FANCOUNTER_USED_BATTLE_TOWER 3 + #endif // GUARD_CONSTANTS_FIELD_SPECIALS_H diff --git a/include/constants/global.h b/include/constants/global.h index c7063d71c..2f4ede229 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -52,6 +52,7 @@ #define APPRENTICE_COUNT 4 #define APPRENTICE_MAX_QUESTIONS 9 #define MAX_REMATCH_ENTRIES 100 // only REMATCH_TABLE_ENTRIES (78) are used +#define NUM_CONTEST_WINNERS 13 #define PYRAMID_BAG_ITEMS_COUNT 10 #define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode. diff --git a/include/contest.h b/include/contest.h index 00c3191eb..a9b1db9ee 100644 --- a/include/contest.h +++ b/include/contest.h @@ -430,9 +430,9 @@ struct ContestResources extern struct ContestPokemon gContestMons[CONTESTANT_COUNT]; extern s16 gContestMonConditions[CONTESTANT_COUNT]; -extern s16 gUnknown_02039F08[CONTESTANT_COUNT]; +extern s16 gContestMonTotalPoints[CONTESTANT_COUNT]; extern s16 gUnknown_02039F10[CONTESTANT_COUNT]; -extern s16 gUnknown_02039F18[CONTESTANT_COUNT]; +extern s16 gContestMonRound2Points[CONTESTANT_COUNT]; extern u8 gContestFinalStandings[CONTESTANT_COUNT]; extern u8 gContestMonPartyIndex; extern u8 gContestPlayerMonIndex; @@ -448,7 +448,6 @@ extern u8 sContestBgCopyFlags; extern struct ContestWinner gCurContestWinner; extern u8 gUnknown_02039F5C; extern u8 gUnknown_02039F5D; - extern u32 gContestRngValue; // contest.c diff --git a/include/contest_link_80F57C4.h b/include/contest_link_80F57C4.h index add3ae62f..8bbc0f14b 100644 --- a/include/contest_link_80F57C4.h +++ b/include/contest_link_80F57C4.h @@ -5,8 +5,8 @@ void BufferContestantTrainerName(void); void BufferContestantMonNickname(void); void StartContest(void); void BufferContestantMonSpecies(void); -void sub_80F8484(void); -void sub_80F84C4(u8); +void ShowContestResults(void); +void ContestLinkTransfer(u8); void sub_80FC998(u8 taskId); #endif // GUARD_CONTEST_LINK_80F57C4_H diff --git a/include/global.h b/include/global.h index 2b03ebbe1..03b6f47bf 100644 --- a/include/global.h +++ b/include/global.h @@ -960,7 +960,7 @@ struct SaveBlock1 /*0x2E20*/ u8 additionalPhrases[8]; // bitfield for 33 additional phrases in easy chat system /*0x2E28*/ OldMan oldMan; /*0x2e64*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff - /*0x2e90*/ struct ContestWinner contestWinners[13]; // 0 - 5 used in contest hall, 6 - 7 unused?, 8 - 12 museum + /*0x2e90*/ struct ContestWinner contestWinners[NUM_CONTEST_WINNERS]; // see CONTEST_WINNER_* /*0x3030*/ struct DayCare daycare; /*0x3150*/ struct LinkBattleRecords linkBattleRecords; /*0x31A8*/ u8 giftRibbons[52]; diff --git a/include/graphics.h b/include/graphics.h index 99d396df2..186d381db 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4927,23 +4927,23 @@ extern const u32 gRouletteCreditTiles[]; extern const u32 gRouletteNumbersTiles[]; extern const u32 gRouletteMultiplierTiles[]; -// Contest Link -extern const u32 gUnknown_08C19588[]; +// 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 gUnknown_08C1A2B4[]; -extern const u16 gUnknown_08DC6498[]; -extern const u16 gUnknown_08DC63F8[]; -extern const u16 gUnknown_08DC6420[]; -extern const u16 gUnknown_08DC6448[]; -extern const u16 gUnknown_08DC6470[]; -extern const u16 gUnknown_08DC64AC[]; -extern const u16 gUnknown_08DC64C0[]; -extern const u16 gUnknown_08DC64D4[]; -extern const u16 gUnknown_08DC64E8[]; -extern const u16 gUnknown_08DC64FC[]; -extern const u16 gUnknown_08DC6510[]; +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[]; // Trainer Card. extern const u16 gHoennTrainerCard0Star_Pal[]; diff --git a/include/strings.h b/include/strings.h index 5720598ad..408eafbd7 100644 --- a/include/strings.h +++ b/include/strings.h @@ -2494,7 +2494,7 @@ extern const u8 gText_CommunicationStandby[]; extern const u8 gText_AnnouncingResults[]; extern const u8 gText_PreliminaryResults[]; extern const u8 gText_Round2Results[]; -extern const u8 gText_Var1sVar2Won[]; +extern const u8 gText_ContestantsMonWon[]; // Trainer Card extern const u8 gText_LinkCableBattles[]; -- cgit v1.2.3 From d2a760afdbb4555e0b831598491e5fe1f410251d Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 18 Jun 2020 18:01:32 -0400 Subject: Rename contest_link_80FC4F4, 80F57C4, and 81D9DE4 --- include/contest_link.h | 13 +++++++++++++ include/contest_link_80F57C4.h | 12 ------------ include/contest_link_80FC4F4.h | 13 ------------- include/contest_util.h | 12 ++++++++++++ 4 files changed, 25 insertions(+), 25 deletions(-) create mode 100644 include/contest_link.h delete mode 100644 include/contest_link_80F57C4.h delete mode 100644 include/contest_link_80FC4F4.h create mode 100644 include/contest_util.h (limited to 'include') diff --git a/include/contest_link.h b/include/contest_link.h new file mode 100644 index 000000000..4344d55ad --- /dev/null +++ b/include/contest_link.h @@ -0,0 +1,13 @@ +#ifndef GUARD_CONTEST_LINK_H +#define GUARD_CONTEST_LINK_H + +void sub_80FCC88(u8); +void sub_80FCC88(u8); +void sub_80FCACC(u8); +void sub_80FC580(u8); +void sub_80FC6BC(u8); +void sub_80FC804(u8); +void sub_80FCE48(u8); +void sub_80FC894(u8); + +#endif //GUARD_CONTEST_LINK_H diff --git a/include/contest_link_80F57C4.h b/include/contest_link_80F57C4.h deleted file mode 100644 index 8bbc0f14b..000000000 --- a/include/contest_link_80F57C4.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef GUARD_CONTEST_LINK_80F57C4_H -#define GUARD_CONTEST_LINK_80F57C4_H - -void BufferContestantTrainerName(void); -void BufferContestantMonNickname(void); -void StartContest(void); -void BufferContestantMonSpecies(void); -void ShowContestResults(void); -void ContestLinkTransfer(u8); -void sub_80FC998(u8 taskId); - -#endif // GUARD_CONTEST_LINK_80F57C4_H diff --git a/include/contest_link_80FC4F4.h b/include/contest_link_80FC4F4.h deleted file mode 100644 index a3f118798..000000000 --- a/include/contest_link_80FC4F4.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef GUARD_CONTEST_LINK_80FC4F4_H -#define GUARD_CONTEST_LINK_80FC4F4_H - -void sub_80FCC88(u8); -void sub_80FCC88(u8); -void sub_80FCACC(u8); -void sub_80FC580(u8); -void sub_80FC6BC(u8); -void sub_80FC804(u8); -void sub_80FCE48(u8); -void sub_80FC894(u8); - -#endif //GUARD_CONTEST_LINK_80FC4F4_H diff --git a/include/contest_util.h b/include/contest_util.h new file mode 100644 index 000000000..c0d8df031 --- /dev/null +++ b/include/contest_util.h @@ -0,0 +1,12 @@ +#ifndef GUARD_CONTEST_UTIL_H +#define GUARD_CONTEST_UTIL_H + +void BufferContestantTrainerName(void); +void BufferContestantMonNickname(void); +void StartContest(void); +void BufferContestantMonSpecies(void); +void ShowContestResults(void); +void ContestLinkTransfer(u8); +void sub_80FC998(u8 taskId); + +#endif // GUARD_CONTEST_UTIL_H -- cgit v1.2.3 From 8b462f3f6c30de55767808136861e892fc3f0356 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Thu, 18 Jun 2020 18:14:30 -0400 Subject: Specify confetti util name --- include/confetti_util.h | 33 +++++++++++++++++++++++++++++++++ include/oam_util.h | 33 --------------------------------- 2 files changed, 33 insertions(+), 33 deletions(-) create mode 100644 include/confetti_util.h delete mode 100644 include/oam_util.h (limited to 'include') diff --git a/include/confetti_util.h b/include/confetti_util.h new file mode 100644 index 000000000..ecc05a220 --- /dev/null +++ b/include/confetti_util.h @@ -0,0 +1,33 @@ +#ifndef GUARD_CONFETTI_UTIL_H +#define GUARD_CONFETTI_UTIL_H + +struct ConfettiUtil +{ + struct OamData oam; + s16 x; + s16 y; + s16 xDelta; + s16 yDelta; + u16 tileTag; + u16 palTag; + u16 tileNum; + u8 id; + u8 filler; + u8 animNum; + u8 active:1; + u8 allowUpdates:1; + u8 dummied:1; + u8 priority:2; + s16 data[8]; + void (*callback)(struct ConfettiUtil *); +}; + +bool32 ConfettiUtil_Init(u8 count); +bool32 ConfettiUtil_Free(void); +bool32 ConfettiUtil_Update(void); +u8 ConfettiUtil_SetCallback(u8 id, void (*func)(struct ConfettiUtil *)); +u8 ConfettiUtil_SetData(u8 id, u8 dataArrayId, s16 dataValue); +u8 ConfettiUtil_AddNew(const struct OamData *oam, u16 tileTag, u16 palTag, s16 x, s16 y, u8 animNum, u8 priority); +u8 ConfettiUtil_Remove(u8 id); + +#endif // GUARD_CONFETTI_UTIL_H diff --git a/include/oam_util.h b/include/oam_util.h deleted file mode 100644 index 24e166c93..000000000 --- a/include/oam_util.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef GUARD_OAM_UTIL_H -#define GUARD_OAM_UTIL_H - -struct OamUtil -{ - struct OamData oam; - s16 x; - s16 y; - s16 xDelta; - s16 yDelta; - u16 tileTag; - u16 palTag; - u16 tileNum; - u8 id; - u8 filler; - u8 animNum; - u8 active:1; - u8 allowUpdates:1; - u8 dummied:1; - u8 priority:2; - s16 data[8]; - void (*callback)(struct OamUtil *); -}; - -bool32 OamUtil_Init(u8 count); -bool32 OamUtil_Free(void); -bool32 OamUtil_Update(void); -u8 OamUtil_SetCallback(u8 id, void (*func)(struct OamUtil *)); -u8 OamUtil_SetData(u8 id, u8 dataArrayId, s16 dataValue); -u8 OamUtil_AddNew(const struct OamData *oam, u16 tileTag, u16 palTag, s16 x, s16 y, u8 animNum, u8 priority); -u8 OamUtil_Remove(u8 id); - -#endif // GUARD_OAM_UTIL_H -- cgit v1.2.3 From 7244b80fc6b19d7ae5d7b9d15ce6a70955696cc2 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 21 Jun 2020 02:36:46 -0400 Subject: Created constant for easier Ball Expansion. --- include/constants/items.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/constants/items.h b/include/constants/items.h index fafcac8b1..071e7a3e9 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -17,6 +17,8 @@ #define ITEM_LUXURY_BALL 11 #define ITEM_PREMIER_BALL 12 +#define END_BALLS ITEM_PREMIER_BALL + // Pokemon Items #define ITEM_POTION 13 #define ITEM_ANTIDOTE 14 -- cgit v1.2.3 From 06025e887f911acb1d777bbe80d9766a881122c6 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 24 Jun 2020 17:00:19 -0400 Subject: Allow flag/var counts to be updated alongside values --- include/constants/flags.h | 4 +++- include/constants/global.h | 2 -- include/constants/opponents.h | 1 + include/constants/vars.h | 1 + include/event_data.h | 3 --- include/global.h | 11 ++++++++--- 6 files changed, 13 insertions(+), 9 deletions(-) (limited to 'include') diff --git a/include/constants/flags.h b/include/constants/flags.h index 4dd18880f..a5994eb61 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -1573,7 +1573,7 @@ #define FLAG_UNUSED_0x91F (SYSTEM_FLAGS + 0xBF) // Unused Flag // Daily Flags -#define DAILY_FLAGS_START 0x920 +#define DAILY_FLAGS_START (FLAG_UNUSED_0x91F + 1) #define FLAG_UNUSED_0x920 (DAILY_FLAGS_START + 0x0) // Unused Flag #define FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY (DAILY_FLAGS_START + 0x1) #define FLAG_DAILY_SECRET_BASE (DAILY_FLAGS_START + 0x2) @@ -1641,6 +1641,8 @@ #define FLAG_UNUSED_0x95F (DAILY_FLAGS_START + 0x3F) // Unused Flag #define DAILY_FLAGS_END FLAG_UNUSED_0x95F +#define FLAGS_COUNT (DAILY_FLAGS_END + 1) + // Special Flags (Stored in EWRAM (gSpecialFlags), not in the SaveBlock) #define SPECIAL_FLAGS_START 0x4000 #define FLAG_HIDE_MAP_NAME_POPUP (SPECIAL_FLAGS_START + 0x0) diff --git a/include/constants/global.h b/include/constants/global.h index c7063d71c..a93e60e7c 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -34,8 +34,6 @@ #define POKEBLOCKS_COUNT 40 #define OBJECT_EVENTS_COUNT 16 #define BERRY_TREES_COUNT 128 -#define FLAGS_COUNT 300 -#define VARS_COUNT 256 #define MAIL_COUNT 16 #define SECRET_BASES_COUNT 20 #define TV_SHOWS_COUNT 25 diff --git a/include/constants/opponents.h b/include/constants/opponents.h index cd35cf6b7..c9cf9239d 100644 --- a/include/constants/opponents.h +++ b/include/constants/opponents.h @@ -859,6 +859,7 @@ // NOTE: Because each Trainer uses a flag to determine when they are defeated, there is only space for 9 additional trainers before trainer flag space overflows // More space can be made by shifting flags around in constants/flags.h or changing how trainer flags are handled +// MAX_TRAINERS_COUNT can be increased but will take up additional saveblock space #define TRAINERS_COUNT 855 #define MAX_TRAINERS_COUNT 864 diff --git a/include/constants/vars.h b/include/constants/vars.h index 4a38bde81..625c37aa9 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -274,6 +274,7 @@ #define VAR_UNUSED_0x40FF 0x40FF // Unused Var #define VARS_END 0x40FF +#define VARS_COUNT (VARS_END - VARS_START + 1) #define SPECIAL_VARS_START 0x8000 // special vars diff --git a/include/event_data.h b/include/event_data.h index 53999320f..8b4510e39 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -1,9 +1,6 @@ #ifndef GUARD_EVENT_DATA_H #define GUARD_EVENT_DATA_H -#include "constants/flags.h" -#include "constants/vars.h" - void InitEventData(void); void ClearTempFieldEventData(void); void ClearDailyFlags(void); diff --git a/include/global.h b/include/global.h index 2b03ebbe1..2083d7166 100644 --- a/include/global.h +++ b/include/global.h @@ -6,6 +6,8 @@ #include "config.h" // we need to define config before gba headers as print stuff needs the functions nulled before defines. #include "gba/gba.h" #include "constants/global.h" +#include "constants/flags.h" +#include "constants/vars.h" // Prevent cross-jump optimization. #define BLOCK_CROSS_JUMP asm(""); @@ -109,6 +111,11 @@ f; \ }) +#define ROUND_BITS_TO_BYTES(numBits)(((numBits) / 8) + (((numBits) % 8) ? 1 : 0)) + +#define DEX_FLAGS_NO (ROUND_BITS_TO_BYTES(POKEMON_SLOTS_NUMBER)) +#define NUM_FLAG_BYTES (ROUND_BITS_TO_BYTES(FLAGS_COUNT)) + struct Coords8 { s8 x; @@ -153,8 +160,6 @@ struct Time /*0x04*/ s8 seconds; }; -#define DEX_FLAGS_NO ((POKEMON_SLOTS_NUMBER / 8) + ((POKEMON_SLOTS_NUMBER % 8) ? 1 : 0)) - struct Pokedex { /*0x00*/ u8 order; @@ -923,7 +928,7 @@ struct SaveBlock1 /*0x9CA*/ u8 trainerRematches[MAX_REMATCH_ENTRIES]; /*0xA30*/ struct ObjectEvent objectEvents[OBJECT_EVENTS_COUNT]; /*0xC70*/ struct ObjectEventTemplate objectEventTemplates[OBJECT_EVENT_TEMPLATES_COUNT]; - /*0x1270*/ u8 flags[FLAGS_COUNT]; + /*0x1270*/ u8 flags[NUM_FLAG_BYTES]; /*0x139C*/ u16 vars[VARS_COUNT]; /*0x159C*/ u32 gameStats[NUM_GAME_STATS]; /*0x169C*/ struct BerryTree berryTrees[BERRY_TREES_COUNT]; -- cgit v1.2.3 From 2ed1f7c6f92abe93d86b921709576b82970f0848 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Wed, 24 Jun 2020 17:59:27 -0400 Subject: Byte-align daily flags --- include/constants/flags.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/constants/flags.h b/include/constants/flags.h index a5994eb61..a9c7abae1 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -1573,7 +1573,9 @@ #define FLAG_UNUSED_0x91F (SYSTEM_FLAGS + 0xBF) // Unused Flag // Daily Flags -#define DAILY_FLAGS_START (FLAG_UNUSED_0x91F + 1) +// These flags are cleared once per day +// The start and end are byte-aligned because the flags are cleared in byte increments +#define DAILY_FLAGS_START (FLAG_UNUSED_0x91F + (8 - FLAG_UNUSED_0x91F % 8)) #define FLAG_UNUSED_0x920 (DAILY_FLAGS_START + 0x0) // Unused Flag #define FLAG_DAILY_CONTEST_LOBBY_RECEIVED_BERRY (DAILY_FLAGS_START + 0x1) #define FLAG_DAILY_SECRET_BASE (DAILY_FLAGS_START + 0x2) @@ -1639,7 +1641,7 @@ #define FLAG_UNUSED_0x95D (DAILY_FLAGS_START + 0x3D) // Unused Flag #define FLAG_UNUSED_0x95E (DAILY_FLAGS_START + 0x3E) // Unused Flag #define FLAG_UNUSED_0x95F (DAILY_FLAGS_START + 0x3F) // Unused Flag -#define DAILY_FLAGS_END FLAG_UNUSED_0x95F +#define DAILY_FLAGS_END (FLAG_UNUSED_0x95F + (7 - FLAG_UNUSED_0x95F % 8)) #define FLAGS_COUNT (DAILY_FLAGS_END + 1) -- cgit v1.2.3 From 535189bf14d73af495705e98e4795cda61994114 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 11 Jul 2020 10:22:34 -0400 Subject: Fix some UB exposed with GCC 10.1.0 --- include/item_menu.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'include') diff --git a/include/item_menu.h b/include/item_menu.h index 9930ccd4f..edfb986f7 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -52,10 +52,7 @@ struct BagMenuStruct void (*exitCallback)(void); u8 tilemapBuffer[0x800]; u8 spriteId[12]; - u8 windowPointers[7]; - u8 unk817; - u8 unk818; - u8 unk819; + u8 windowPointers[10]; u8 itemOriginalLocation; u8 pocketSwitchDisabled:4; u8 itemIconSlot:2; -- cgit v1.2.3 From b31efcd6e3da8fc303a19d9845ca5e9a7d294747 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 12 Jul 2020 01:49:32 -0400 Subject: Renamed constant, --- include/constants/items.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/constants/items.h b/include/constants/items.h index 071e7a3e9..ba4d3c49e 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -17,7 +17,7 @@ #define ITEM_LUXURY_BALL 11 #define ITEM_PREMIER_BALL 12 -#define END_BALLS ITEM_PREMIER_BALL +#define LAST_BALL ITEM_PREMIER_BALL // Pokemon Items #define ITEM_POTION 13 -- cgit v1.2.3 From 0425cb66ef9166de7b5129c1b3124fd14bfe2123 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 14 Jul 2020 11:13:03 +0200 Subject: Give proper names to some functions --- include/battle_main.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/battle_main.h b/include/battle_main.h index e04db17bb..217b10b39 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -57,15 +57,15 @@ u32 sub_80397C4(u32 setId, u32 tableId); void SpriteCb_WildMon(struct Sprite *sprite); void SpriteCallbackDummy_2(struct Sprite *sprite); void SpriteCB_FaintOpponentMon(struct Sprite *sprite); -void sub_8039AD8(struct Sprite *sprite); -void sub_8039B2C(struct Sprite *sprite); -void sub_8039B58(struct Sprite *sprite); +void SpriteCb_ShowAsMoveTarget(struct Sprite *sprite); +void SpriteCb_HideAsMoveTarget(struct Sprite *sprite); +void SpriteCb_OpponentMonFromBall(struct Sprite *sprite); void sub_8039BB4(struct Sprite *sprite); void sub_80105DC(struct Sprite *sprite); void sub_8039C00(struct Sprite *sprite); void DoBounceEffect(u8 battlerId, u8 b, s8 c, s8 d); void EndBounceEffect(u8 battlerId, bool8 b); -void sub_8039E44(struct Sprite *sprite); +void SpriteCb_PlayerMonFromBall(struct Sprite *sprite); void sub_8039E60(struct Sprite *sprite); void sub_8039E84(struct Sprite *sprite); void sub_8039E9C(struct Sprite *sprite); -- cgit v1.2.3