From 0f53923bd920a0cfe3178e12dd9a40797061f277 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 10 Oct 2022 17:22:59 -0300 Subject: [PATCH] Different amount of flags for seen vs caught --- include/constants/pokedex.h | 2 -- include/global.h | 7 ++++--- src/pokedex.c | 5 ++--- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/include/constants/pokedex.h b/include/constants/pokedex.h index 7cb2e7d308..c76529acef 100644 --- a/include/constants/pokedex.h +++ b/include/constants/pokedex.h @@ -939,8 +939,6 @@ enum { #define NATIONAL_DEX_COUNT NATIONAL_DEX_DEOXYS #endif -#define POKEMON_SLOTS_NUMBER (2047) - // Hoenn Pokedex order enum { HOENN_DEX_NONE, diff --git a/include/global.h b/include/global.h index ab03c96dd4..f57094686e 100644 --- a/include/global.h +++ b/include/global.h @@ -135,7 +135,8 @@ #define ROUND_BITS_TO_BYTES(numBits) DIV_ROUND_UP(numBits, 8) -#define NUM_DEX_FLAG_BYTES ROUND_BITS_TO_BYTES(POKEMON_SLOTS_NUMBER) +#define NUM_DEX_SEEN_FLAG_BYTES ROUND_BITS_TO_BYTES(2047) +#define NUM_DEX_CAUGHT_FLAG_BYTES ROUND_BITS_TO_BYTES(NATIONAL_DEX_COUNT) #define NUM_FLAG_BYTES ROUND_BITS_TO_BYTES(FLAGS_COUNT) #define NUM_ADDITIONAL_PHRASE_BYTES ROUND_BITS_TO_BYTES(NUM_ADDITIONAL_PHRASES) @@ -1003,8 +1004,6 @@ struct SaveBlock1 /*0x31DC*/ struct Roamer roamer; /*0x31F8*/ struct EnigmaBerry enigmaBerry; /*0x322C*/ struct MysteryGiftSave mysteryGift; - /*0x3???*/ u8 dexSeen[NUM_DEX_FLAG_BYTES]; - /*0x3???*/ u8 dexCaught[NUM_DEX_FLAG_BYTES]; /*0x3???*/ u32 trainerHillTimes[NUM_TRAINER_HILL_MODES]; /*0x3???*/ struct RamScript ramScript; /*0x3???*/ struct RecordMixingGift recordMixingGift; @@ -1013,6 +1012,8 @@ struct SaveBlock1 /*0x3???*/ u8 registeredTexts[UNION_ROOM_KB_ROW_COUNT][21]; /*0x3???*/ struct TrainerHillSave trainerHill; /*0x3???*/ struct WaldaPhrase waldaPhrase; + /*0x3???*/ u8 dexSeen[NUM_DEX_SEEN_FLAG_BYTES]; + /*0x3???*/ u8 dexCaught[NUM_DEX_CAUGHT_FLAG_BYTES]; // sizeof: 0x3??? }; diff --git a/src/pokedex.c b/src/pokedex.c index 3619d834e1..79ef6d393c 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -1514,11 +1514,10 @@ void ResetPokedex(void) gSaveBlock2Ptr->pokedex.unownPersonality = 0; gSaveBlock2Ptr->pokedex.spindaPersonality = 0; DisableNationalPokedex(); - for (i = 0; i < NUM_DEX_FLAG_BYTES; i++) - { + for (i = 0; i < NUM_DEX_CAUGHT_FLAG_BYTES; i++) gSaveBlock1Ptr->dexCaught[i] = 0; + for (i = 0; i < NUM_DEX_SEEN_FLAG_BYTES; i++) gSaveBlock1Ptr->dexSeen[i] = 0; - } } void ResetPokedexScrollPositions(void)