From 26fb0c61828faec321cfe3e66f78302c4747420c Mon Sep 17 00:00:00 2001 From: Rachel Date: Sat, 2 Nov 2024 00:50:52 -0700 Subject: [PATCH] Clean up berry_init table --- include/data/berry_init.h | 370 +++++++++++++------------------------- src/game_start.c | 2 +- 2 files changed, 125 insertions(+), 247 deletions(-) diff --git a/include/data/berry_init.h b/include/data/berry_init.h index 48df50b3b8..b5eeb83326 100644 --- a/include/data/berry_init.h +++ b/include/data/berry_init.h @@ -1,249 +1,127 @@ #include "constants/items.h" -/** - * @brief Table of initial berry states for the various mulch-beds across the - * overworld. - * - * This table is used to initialize the state of the mulch-beds at the time a - * new game is started. Entries in the table should be read in pairs; the first - * element is the berry planted in that particular mulch-bed, and the second is - * the number of that berry that can be harvested from the resulting tree. - */ -static const u16 sBerryInitTable[] = { - ITEM_ORAN_BERRY, - 1, - ITEM_CHERI_BERRY, - 1, - ITEM_CHESTO_BERRY, - 1, - ITEM_PECHA_BERRY, - 1, - ITEM_ORAN_BERRY, - 1, - ITEM_PECHA_BERRY, - 1, - ITEM_RAZZ_BERRY, - 2, - ITEM_BLUK_BERRY, - 2, - ITEM_CHERI_BERRY, - 1, - ITEM_ORAN_BERRY, - 2, - ITEM_SITRUS_BERRY, - 1, - ITEM_WEPEAR_BERRY, - 2, - ITEM_WEPEAR_BERRY, - 2, - ITEM_KELPSY_BERRY, - 1, - ITEM_CHERI_BERRY, - 1, - ITEM_PECHA_BERRY, - 1, - ITEM_ORAN_BERRY, - 1, - ITEM_ORAN_BERRY, - 1, - ITEM_RAWST_BERRY, - 1, - ITEM_RAWST_BERRY, - 1, - ITEM_RAZZ_BERRY, - 1, - ITEM_RAZZ_BERRY, - 1, - ITEM_CHERI_BERRY, - 1, - ITEM_ORAN_BERRY, - 1, - ITEM_ORAN_BERRY, - 1, - ITEM_BLUK_BERRY, - 1, - ITEM_NANAB_BERRY, - 2, - ITEM_RAZZ_BERRY, - 2, - ITEM_BLUK_BERRY, - 2, - ITEM_PINAP_BERRY, - 2, - ITEM_LEPPA_BERRY, - 1, - ITEM_CHESTO_BERRY, - 1, - ITEM_RAZZ_BERRY, - 1, - ITEM_RAZZ_BERRY, - 1, - ITEM_PERSIM_BERRY, - 1, - ITEM_NANAB_BERRY, - 1, - ITEM_NANAB_BERRY, - 1, - ITEM_FIGY_BERRY, - 1, - ITEM_ASPEAR_BERRY, - 1, - ITEM_ASPEAR_BERRY, - 1, - ITEM_RAZZ_BERRY, - 1, - ITEM_PINAP_BERRY, - 1, - ITEM_SITRUS_BERRY, - 1, - ITEM_CHESTO_BERRY, - 1, - ITEM_WIKI_BERRY, - 1, - ITEM_AGUAV_BERRY, - 1, - ITEM_PECHA_BERRY, - 1, - ITEM_ASPEAR_BERRY, - 1, - ITEM_IAPAPA_BERRY, - 1, - ITEM_GREPA_BERRY, - 1, - ITEM_SITRUS_BERRY, - 1, - ITEM_ASPEAR_BERRY, - 1, - ITEM_TAMATO_BERRY, - 1, - ITEM_LUM_BERRY, - 1, - ITEM_PECHA_BERRY, - 1, - ITEM_PINAP_BERRY, - 1, - ITEM_PINAP_BERRY, - 1, - ITEM_PINAP_BERRY, - 1, - ITEM_PERSIM_BERRY, - 1, - ITEM_PERSIM_BERRY, - 1, - ITEM_NANAB_BERRY, - 1, - ITEM_NANAB_BERRY, - 1, - ITEM_AGUAV_BERRY, - 1, - ITEM_IAPAPA_BERRY, - 1, - ITEM_RAWST_BERRY, - 1, - ITEM_RAWST_BERRY, - 1, - ITEM_CHERI_BERRY, - 1, - ITEM_SITRUS_BERRY, - 1, - ITEM_CHESTO_BERRY, - 1, - ITEM_POMEG_BERRY, - 1, - ITEM_PECHA_BERRY, - 2, - ITEM_BLUK_BERRY, - 2, - ITEM_WIKI_BERRY, - 1, - ITEM_MAGO_BERRY, - 1, - ITEM_RAWST_BERRY, - 1, - ITEM_PERSIM_BERRY, - 1, - ITEM_FIGY_BERRY, - 1, - ITEM_PINAP_BERRY, - 2, - ITEM_LEPPA_BERRY, - 1, - ITEM_PECHA_BERRY, - 1, - ITEM_MAGO_BERRY, - 1, - ITEM_HONDEW_BERRY, - 1, - ITEM_WIKI_BERRY, - 2, - ITEM_MAGO_BERRY, - 2, - ITEM_AGUAV_BERRY, - 2, - ITEM_QUALOT_BERRY, - 1, - ITEM_SITRUS_BERRY, - 2, - ITEM_BLUK_BERRY, - 3, - ITEM_NANAB_BERRY, - 3, - ITEM_WEPEAR_BERRY, - 3, - ITEM_POMEG_BERRY, - 1, - ITEM_POMEG_BERRY, - 1, - ITEM_HONDEW_BERRY, - 2, - ITEM_HONDEW_BERRY, - 2, - ITEM_KELPSY_BERRY, - 1, - ITEM_KELPSY_BERRY, - 1, - ITEM_TAMATO_BERRY, - 1, - ITEM_TAMATO_BERRY, - 1, - ITEM_QUALOT_BERRY, - 1, - ITEM_QUALOT_BERRY, - 1, - ITEM_POMEG_BERRY, - 1, - ITEM_POMEG_BERRY, - 1, - ITEM_HONDEW_BERRY, - 1, - ITEM_HONDEW_BERRY, - 1, - ITEM_TAMATO_BERRY, - 1, - ITEM_TAMATO_BERRY, - 1, - ITEM_GREPA_BERRY, - 1, - ITEM_GREPA_BERRY, - 1, - ITEM_QUALOT_BERRY, - 1, - ITEM_QUALOT_BERRY, - 1, - ITEM_LUM_BERRY, - 1, - ITEM_LEPPA_BERRY, - 1, - ITEM_QUALOT_BERRY, - 2, - ITEM_GREPA_BERRY, - 2, - ITEM_KELPSY_BERRY, - 2, - ITEM_KELPSY_BERRY, - 2, - ITEM_GREPA_BERRY, - 1, - ITEM_GREPA_BERRY, - 1, +typedef struct BerryPatchInit { + u16 berryItemID; + u16 yield; +} BerryPatchInit; + +static const BerryPatchInit sBerryInitTable[] = { + { .berryItemID = ITEM_ORAN_BERRY, .yield = 1 }, + { .berryItemID = ITEM_CHERI_BERRY, .yield = 1 }, + { .berryItemID = ITEM_CHESTO_BERRY, .yield = 1 }, + { .berryItemID = ITEM_PECHA_BERRY, .yield = 1 }, + { .berryItemID = ITEM_ORAN_BERRY, .yield = 1 }, + { .berryItemID = ITEM_PECHA_BERRY, .yield = 1 }, + { .berryItemID = ITEM_RAZZ_BERRY, .yield = 2 }, + { .berryItemID = ITEM_BLUK_BERRY, .yield = 2 }, + { .berryItemID = ITEM_CHERI_BERRY, .yield = 1 }, + { .berryItemID = ITEM_ORAN_BERRY, .yield = 2 }, + { .berryItemID = ITEM_SITRUS_BERRY, .yield = 1 }, + { .berryItemID = ITEM_WEPEAR_BERRY, .yield = 2 }, + { .berryItemID = ITEM_WEPEAR_BERRY, .yield = 2 }, + { .berryItemID = ITEM_KELPSY_BERRY, .yield = 1 }, + { .berryItemID = ITEM_CHERI_BERRY, .yield = 1 }, + { .berryItemID = ITEM_PECHA_BERRY, .yield = 1 }, + { .berryItemID = ITEM_ORAN_BERRY, .yield = 1 }, + { .berryItemID = ITEM_ORAN_BERRY, .yield = 1 }, + { .berryItemID = ITEM_RAWST_BERRY, .yield = 1 }, + { .berryItemID = ITEM_RAWST_BERRY, .yield = 1 }, + { .berryItemID = ITEM_RAZZ_BERRY, .yield = 1 }, + { .berryItemID = ITEM_RAZZ_BERRY, .yield = 1 }, + { .berryItemID = ITEM_CHERI_BERRY, .yield = 1 }, + { .berryItemID = ITEM_ORAN_BERRY, .yield = 1 }, + { .berryItemID = ITEM_ORAN_BERRY, .yield = 1 }, + { .berryItemID = ITEM_BLUK_BERRY, .yield = 1 }, + { .berryItemID = ITEM_NANAB_BERRY, .yield = 2 }, + { .berryItemID = ITEM_RAZZ_BERRY, .yield = 2 }, + { .berryItemID = ITEM_BLUK_BERRY, .yield = 2 }, + { .berryItemID = ITEM_PINAP_BERRY, .yield = 2 }, + { .berryItemID = ITEM_LEPPA_BERRY, .yield = 1 }, + { .berryItemID = ITEM_CHESTO_BERRY, .yield = 1 }, + { .berryItemID = ITEM_RAZZ_BERRY, .yield = 1 }, + { .berryItemID = ITEM_RAZZ_BERRY, .yield = 1 }, + { .berryItemID = ITEM_PERSIM_BERRY, .yield = 1 }, + { .berryItemID = ITEM_NANAB_BERRY, .yield = 1 }, + { .berryItemID = ITEM_NANAB_BERRY, .yield = 1 }, + { .berryItemID = ITEM_FIGY_BERRY, .yield = 1 }, + { .berryItemID = ITEM_ASPEAR_BERRY, .yield = 1 }, + { .berryItemID = ITEM_ASPEAR_BERRY, .yield = 1 }, + { .berryItemID = ITEM_RAZZ_BERRY, .yield = 1 }, + { .berryItemID = ITEM_PINAP_BERRY, .yield = 1 }, + { .berryItemID = ITEM_SITRUS_BERRY, .yield = 1 }, + { .berryItemID = ITEM_CHESTO_BERRY, .yield = 1 }, + { .berryItemID = ITEM_WIKI_BERRY, .yield = 1 }, + { .berryItemID = ITEM_AGUAV_BERRY, .yield = 1 }, + { .berryItemID = ITEM_PECHA_BERRY, .yield = 1 }, + { .berryItemID = ITEM_ASPEAR_BERRY, .yield = 1 }, + { .berryItemID = ITEM_IAPAPA_BERRY, .yield = 1 }, + { .berryItemID = ITEM_GREPA_BERRY, .yield = 1 }, + { .berryItemID = ITEM_SITRUS_BERRY, .yield = 1 }, + { .berryItemID = ITEM_ASPEAR_BERRY, .yield = 1 }, + { .berryItemID = ITEM_TAMATO_BERRY, .yield = 1 }, + { .berryItemID = ITEM_LUM_BERRY, .yield = 1 }, + { .berryItemID = ITEM_PECHA_BERRY, .yield = 1 }, + { .berryItemID = ITEM_PINAP_BERRY, .yield = 1 }, + { .berryItemID = ITEM_PINAP_BERRY, .yield = 1 }, + { .berryItemID = ITEM_PINAP_BERRY, .yield = 1 }, + { .berryItemID = ITEM_PERSIM_BERRY, .yield = 1 }, + { .berryItemID = ITEM_PERSIM_BERRY, .yield = 1 }, + { .berryItemID = ITEM_NANAB_BERRY, .yield = 1 }, + { .berryItemID = ITEM_NANAB_BERRY, .yield = 1 }, + { .berryItemID = ITEM_AGUAV_BERRY, .yield = 1 }, + { .berryItemID = ITEM_IAPAPA_BERRY, .yield = 1 }, + { .berryItemID = ITEM_RAWST_BERRY, .yield = 1 }, + { .berryItemID = ITEM_RAWST_BERRY, .yield = 1 }, + { .berryItemID = ITEM_CHERI_BERRY, .yield = 1 }, + { .berryItemID = ITEM_SITRUS_BERRY, .yield = 1 }, + { .berryItemID = ITEM_CHESTO_BERRY, .yield = 1 }, + { .berryItemID = ITEM_POMEG_BERRY, .yield = 1 }, + { .berryItemID = ITEM_PECHA_BERRY, .yield = 2 }, + { .berryItemID = ITEM_BLUK_BERRY, .yield = 2 }, + { .berryItemID = ITEM_WIKI_BERRY, .yield = 1 }, + { .berryItemID = ITEM_MAGO_BERRY, .yield = 1 }, + { .berryItemID = ITEM_RAWST_BERRY, .yield = 1 }, + { .berryItemID = ITEM_PERSIM_BERRY, .yield = 1 }, + { .berryItemID = ITEM_FIGY_BERRY, .yield = 1 }, + { .berryItemID = ITEM_PINAP_BERRY, .yield = 2 }, + { .berryItemID = ITEM_LEPPA_BERRY, .yield = 1 }, + { .berryItemID = ITEM_PECHA_BERRY, .yield = 1 }, + { .berryItemID = ITEM_MAGO_BERRY, .yield = 1 }, + { .berryItemID = ITEM_HONDEW_BERRY, .yield = 1 }, + { .berryItemID = ITEM_WIKI_BERRY, .yield = 2 }, + { .berryItemID = ITEM_MAGO_BERRY, .yield = 2 }, + { .berryItemID = ITEM_AGUAV_BERRY, .yield = 2 }, + { .berryItemID = ITEM_QUALOT_BERRY, .yield = 1 }, + { .berryItemID = ITEM_SITRUS_BERRY, .yield = 2 }, + { .berryItemID = ITEM_BLUK_BERRY, .yield = 3 }, + { .berryItemID = ITEM_NANAB_BERRY, .yield = 3 }, + { .berryItemID = ITEM_WEPEAR_BERRY, .yield = 3 }, + { .berryItemID = ITEM_POMEG_BERRY, .yield = 1 }, + { .berryItemID = ITEM_POMEG_BERRY, .yield = 1 }, + { .berryItemID = ITEM_HONDEW_BERRY, .yield = 2 }, + { .berryItemID = ITEM_HONDEW_BERRY, .yield = 2 }, + { .berryItemID = ITEM_KELPSY_BERRY, .yield = 1 }, + { .berryItemID = ITEM_KELPSY_BERRY, .yield = 1 }, + { .berryItemID = ITEM_TAMATO_BERRY, .yield = 1 }, + { .berryItemID = ITEM_TAMATO_BERRY, .yield = 1 }, + { .berryItemID = ITEM_QUALOT_BERRY, .yield = 1 }, + { .berryItemID = ITEM_QUALOT_BERRY, .yield = 1 }, + { .berryItemID = ITEM_POMEG_BERRY, .yield = 1 }, + { .berryItemID = ITEM_POMEG_BERRY, .yield = 1 }, + { .berryItemID = ITEM_HONDEW_BERRY, .yield = 1 }, + { .berryItemID = ITEM_HONDEW_BERRY, .yield = 1 }, + { .berryItemID = ITEM_TAMATO_BERRY, .yield = 1 }, + { .berryItemID = ITEM_TAMATO_BERRY, .yield = 1 }, + { .berryItemID = ITEM_GREPA_BERRY, .yield = 1 }, + { .berryItemID = ITEM_GREPA_BERRY, .yield = 1 }, + { .berryItemID = ITEM_QUALOT_BERRY, .yield = 1 }, + { .berryItemID = ITEM_QUALOT_BERRY, .yield = 1 }, + { .berryItemID = ITEM_LUM_BERRY, .yield = 1 }, + { .berryItemID = ITEM_LEPPA_BERRY, .yield = 1 }, + { .berryItemID = ITEM_QUALOT_BERRY, .yield = 2 }, + { .berryItemID = ITEM_GREPA_BERRY, .yield = 2 }, + { .berryItemID = ITEM_KELPSY_BERRY, .yield = 2 }, + { .berryItemID = ITEM_KELPSY_BERRY, .yield = 2 }, + { .berryItemID = ITEM_GREPA_BERRY, .yield = 1 }, + { .berryItemID = ITEM_GREPA_BERRY, .yield = 1 }, }; diff --git a/src/game_start.c b/src/game_start.c index b19307beb0..5bbd92b9de 100644 --- a/src/game_start.c +++ b/src/game_start.c @@ -167,7 +167,7 @@ static void InitializeNewSave(enum HeapId heapID, SaveData *saveData, BOOL setTr TrainerInfo_SetAppearance(trainerInfo, sub_0205C9BC(rnd, TrainerInfo_Gender(trainerInfo), 0)); berryPatches = MiscSaveBlock_GetBerryPatches(saveData); - BerryPatches_Init(berryPatches, heapID, sBerryInitTable, NELEMS(sBerryInitTable) / 2); + BerryPatches_Init(berryPatches, heapID, (const u16 *)sBerryInitTable, NELEMS(sBerryInitTable)); } static void TryLoadingSave(int unused, SaveData *saveData)