diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2019-10-18 15:13:35 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2019-10-18 15:16:52 -0400 |
commit | a16d9af699f367458d6832377a2806659d303bbe (patch) | |
tree | 316a5a1fa34a12ef5ed8d2a8281a78df33d8eba7 /src | |
parent | a7bca8aa92b7696047bcb3da8607ac7981647630 (diff) |
Document renewable_hidden_items
Diffstat (limited to 'src')
-rw-r--r-- | src/new_game.c | 3 | ||||
-rw-r--r-- | src/renewable_hidden_items.c | 148 |
2 files changed, 76 insertions, 75 deletions
diff --git a/src/new_game.c b/src/new_game.c index efeea13cc..bede6ce94 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -25,6 +25,7 @@ #include "easy_chat.h" #include "union_room_chat.h" #include "mevent.h" +#include "renewable_hidden_items.h" #include "trainer_tower.h" #include "script.h" #include "berry_powder.h" @@ -145,7 +146,7 @@ void NewGameInitData(void) copy_strings_to_sav1(); ResetMiniGamesResults(); sub_8143D24(); - sub_815D838(); + SetAllRenewableItemFlags(); WarpToPlayersRoom(); ScriptContext2_RunNewScript(EventScript_ResetAllMapFlags); StringCopy(gSaveBlock1Ptr->rivalName, rivalName); diff --git a/src/renewable_hidden_items.c b/src/renewable_hidden_items.c index 8164471c8..741b92b40 100644 --- a/src/renewable_hidden_items.c +++ b/src/renewable_hidden_items.c @@ -4,23 +4,23 @@ #include "constants/maps.h" #include "constants/flags.h" -struct UnkStruct_8479D34 +struct RenewableHiddenItemData { s8 mapGroup; s8 mapNum; u8 filler[2]; - u8 flags1[8]; - u8 flags2[8]; - u8 flags3[8]; + u8 rare[8]; // 10% + u8 uncommon[8]; // 30% + u8 common[8]; // 60% }; -void sub_815D96C(void); +static void SampleRenewableItemFlags(void); -const struct UnkStruct_8479D34 gUnknown_8479D34[] = { +static const struct RenewableHiddenItemData sRenewableHiddenItems[] = { { .mapGroup = MAP_GROUP(ROUTE20), .mapNum = MAP_NUM(ROUTE20), - .flags1 = { + .rare = { 0xFF, 0xFF, 0xFF, @@ -30,7 +30,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags2 = { + .uncommon = { HIDDEN_ITEM_ROUTE20_STARDUST, 0xFF, 0xFF, @@ -40,7 +40,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags3 = { + .common = { 0xFF, 0xFF, 0xFF, @@ -54,7 +54,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { { .mapGroup = MAP_GROUP(ROUTE21_NORTH), .mapNum = MAP_NUM(ROUTE21_NORTH), - .flags1 = { + .rare = { 0xFF, 0xFF, 0xFF, @@ -64,7 +64,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags2 = { + .uncommon = { HIDDEN_ITEM_ROUTE21_NORTH_PEARL, 0xFF, 0xFF, @@ -74,7 +74,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags3 = { + .common = { 0xFF, 0xFF, 0xFF, @@ -88,7 +88,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { { .mapGroup = MAP_GROUP(UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL), .mapNum = MAP_NUM(UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL), - .flags1 = { + .rare = { HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ETHER, 0xFF, 0xFF, @@ -98,7 +98,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags2 = { + .uncommon = { HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_POTION, HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ANTIDOTE, HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_PARALYZE_HEAL, @@ -108,7 +108,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags3 = { + .common = { 0xFF, 0xFF, 0xFF, @@ -122,7 +122,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { { .mapGroup = MAP_GROUP(UNDERGROUND_PATH_EAST_WEST_TUNNEL), .mapNum = MAP_NUM(UNDERGROUND_PATH_EAST_WEST_TUNNEL), - .flags1 = { + .rare = { HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ETHER, 0xFF, 0xFF, @@ -132,7 +132,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags2 = { + .uncommon = { HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_POTION, HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ANTIDOTE, HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_PARALYZE_HEAL, @@ -142,7 +142,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags3 = { + .common = { 0xFF, 0xFF, 0xFF, @@ -156,7 +156,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { { .mapGroup = MAP_GROUP(SEVEN_ISLAND_TANOBY_RUINS), .mapNum = MAP_NUM(SEVEN_ISLAND_TANOBY_RUINS), - .flags1 = { + .rare = { HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_4, HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE, HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_2, @@ -166,7 +166,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags2 = { + .uncommon = { 0xFF, 0xFF, 0xFF, @@ -176,7 +176,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags3 = { + .common = { 0xFF, 0xFF, 0xFF, @@ -190,7 +190,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { { .mapGroup = MAP_GROUP(MT_MOON_B1F), .mapNum = MAP_NUM(MT_MOON_B1F), - .flags1 = { + .rare = { HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM, HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_2, HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_3, @@ -200,7 +200,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags2 = { + .uncommon = { HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM, HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_2, HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_3, @@ -210,7 +210,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags3 = { + .common = { 0xFF, 0xFF, 0xFF, @@ -224,7 +224,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { { .mapGroup = MAP_GROUP(THREE_ISLAND_BERRY_FOREST), .mapNum = MAP_NUM(THREE_ISLAND_BERRY_FOREST), - .flags1 = { + .rare = { HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_BLUK_BERRY, HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_WEPEAR_BERRY, HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_ORAN_BERRY, @@ -234,7 +234,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PINAP_BERRY, HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_LUM_BERRY }, - .flags2 = { + .uncommon = { HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_BLUK_BERRY, HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_WEPEAR_BERRY, HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_ORAN_BERRY, @@ -244,7 +244,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PINAP_BERRY, 0xFF }, - .flags3 = { + .common = { HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_RAZZ_BERRY, HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_NANAB_BERRY, HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_CHESTO_BERRY, @@ -258,7 +258,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { { .mapGroup = MAP_GROUP(ONE_ISLAND_TREASURE_BEACH), .mapNum = MAP_NUM(ONE_ISLAND_TREASURE_BEACH), - .flags1 = { + .rare = { HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL, HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL_2, HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STAR_PIECE, @@ -268,7 +268,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags2 = { + .uncommon = { HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STARDUST, HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STARDUST_2, HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_PEARL, @@ -278,7 +278,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags3 = { + .common = { HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL, HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL_2, 0xFF, @@ -292,7 +292,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { { .mapGroup = MAP_GROUP(THREE_ISLAND_BOND_BRIDGE), .mapNum = MAP_NUM(THREE_ISLAND_BOND_BRIDGE), - .flags1 = { + .rare = { 0xFF, 0xFF, 0xFF, @@ -302,7 +302,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags2 = { + .uncommon = { HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_PEARL, HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_STARDUST, 0xFF, @@ -312,7 +312,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags3 = { + .common = { 0xFF, 0xFF, 0xFF, @@ -326,7 +326,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { { .mapGroup = MAP_GROUP(FOUR_ISLAND), .mapNum = MAP_NUM(FOUR_ISLAND), - .flags1 = { + .rare = { 0xFF, 0xFF, 0xFF, @@ -336,7 +336,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags2 = { + .uncommon = { HIDDEN_ITEM_FOUR_ISLAND_PEARL, 0xFF, 0xFF, @@ -346,7 +346,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags3 = { + .common = { HIDDEN_ITEM_FOUR_ISLAND_ULTRA_BALL, 0xFF, 0xFF, @@ -360,7 +360,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { { .mapGroup = MAP_GROUP(FIVE_ISLAND_MEMORIAL_PILLAR), .mapNum = MAP_NUM(FIVE_ISLAND_MEMORIAL_PILLAR), - .flags1 = { + .rare = { HIDDEN_ITEM_FIVE_ISLAND_MEMORIAL_PILLAR_BIG_PEARL, 0xFF, 0xFF, @@ -370,7 +370,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags2 = { + .uncommon = { 0xFF, 0xFF, 0xFF, @@ -380,7 +380,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags3 = { + .common = { 0xFF, 0xFF, 0xFF, @@ -394,7 +394,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { { .mapGroup = MAP_GROUP(FIVE_ISLAND_RESORT_GORGEOUS), .mapNum = MAP_NUM(FIVE_ISLAND_RESORT_GORGEOUS), - .flags1 = { + .rare = { HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_NEST_BALL, HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STAR_PIECE, 0xFF, @@ -404,7 +404,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags2 = { + .uncommon = { HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STARDUST, HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STARDUST_2, 0xFF, @@ -414,7 +414,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags3 = { + .common = { 0xFF, 0xFF, 0xFF, @@ -428,7 +428,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { { .mapGroup = MAP_GROUP(SIX_ISLAND_OUTCAST_ISLAND), .mapNum = MAP_NUM(SIX_ISLAND_OUTCAST_ISLAND), - .flags1 = { + .rare = { HIDDEN_ITEM_SIX_ISLAND_OUTCAST_ISLAND_STAR_PIECE, HIDDEN_ITEM_SIX_ISLAND_OUTCAST_ISLAND_NET_BALL, 0xFF, @@ -438,7 +438,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags2 = { + .uncommon = { 0xFF, 0xFF, 0xFF, @@ -448,7 +448,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags3 = { + .common = { 0xFF, 0xFF, 0xFF, @@ -462,7 +462,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { { .mapGroup = MAP_GROUP(SIX_ISLAND_GREEN_PATH), .mapNum = MAP_NUM(SIX_ISLAND_GREEN_PATH), - .flags1 = { + .rare = { 0xFF, 0xFF, 0xFF, @@ -472,7 +472,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags2 = { + .uncommon = { 0xFF, 0xFF, 0xFF, @@ -482,7 +482,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags3 = { + .common = { HIDDEN_ITEM_SIX_ISLAND_GREEN_PATH_ULTRA_BALL, 0xFF, 0xFF, @@ -496,7 +496,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { { .mapGroup = MAP_GROUP(SEVEN_ISLAND_TRAINER_TOWER), .mapNum = MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER), - .flags1 = { + .rare = { HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_BIG_PEARL, 0xFF, 0xFF, @@ -506,7 +506,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags2 = { + .uncommon = { HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_PEARL, 0xFF, 0xFF, @@ -516,7 +516,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = { 0xFF, 0xFF }, - .flags3 = { + .common = { 0xFF, 0xFF, 0xFF, @@ -535,56 +535,56 @@ bool32 sub_815D834(void) return FALSE; } -void sub_815D838(void) +void SetAllRenewableItemFlags(void) { u8 i, j; for (i = 0; i < 15; i++) { - const u8 * flags1 = gUnknown_8479D34[i].flags1; - const u8 * flags2 = gUnknown_8479D34[i].flags2; - const u8 * flags3 = gUnknown_8479D34[i].flags3; + const u8 * rare = sRenewableHiddenItems[i].rare; + const u8 * uncommon = sRenewableHiddenItems[i].uncommon; + const u8 * common = sRenewableHiddenItems[i].common; for (j = 0; j < 8; j++) { - if (flags1[j] != 0xFF) - FlagSet(FLAG_HIDDEN_ITEMS_START + flags1[j]); - if (flags2[j] != 0xFF) - FlagSet(FLAG_HIDDEN_ITEMS_START + flags2[j]); - if (flags3[j] != 0xFF) - FlagSet(FLAG_HIDDEN_ITEMS_START + flags3[j]); + if (rare[j] != 0xFF) + FlagSet(FLAG_HIDDEN_ITEMS_START + rare[j]); + if (uncommon[j] != 0xFF) + FlagSet(FLAG_HIDDEN_ITEMS_START + uncommon[j]); + if (common[j] != 0xFF) + FlagSet(FLAG_HIDDEN_ITEMS_START + common[j]); } } } -void sub_815D8C8(void) +void IncrementRenewableHiddenItemStepCounter(void) { - u16 var = VarGet(VAR_0x4023); + u16 var = VarGet(VAR_RENEWABLE_ITEM_STEP_COUNTER); if (var < 1500) { - VarSet(VAR_0x4023, var + 1); + VarSet(VAR_RENEWABLE_ITEM_STEP_COUNTER, var + 1); } } -void sub_815D8F8(void) +void TryRegenerateRenewableHiddenItems(void) { u8 i; u8 found_map = 0xFF; for (i = 0; i < 15; i++) { - if (gUnknown_8479D34[i].mapGroup == gSaveBlock1Ptr->location.mapGroup && gUnknown_8479D34[i].mapNum == gSaveBlock1Ptr->location.mapNum) + if (sRenewableHiddenItems[i].mapGroup == gSaveBlock1Ptr->location.mapGroup && sRenewableHiddenItems[i].mapNum == gSaveBlock1Ptr->location.mapNum) found_map = i; } if (found_map == 0xFF) return; - if (VarGet(VAR_0x4023) >= 1500) + if (VarGet(VAR_RENEWABLE_ITEM_STEP_COUNTER) >= 1500) { - VarSet(VAR_0x4023, 0); - sub_815D838(); - sub_815D96C(); + VarSet(VAR_RENEWABLE_ITEM_STEP_COUNTER, 0); + SetAllRenewableItemFlags(); + SampleRenewableItemFlags(); } } -void sub_815D96C(void) +static void SampleRenewableItemFlags(void) { u8 i, j; const u8 * flags; @@ -594,11 +594,11 @@ void sub_815D96C(void) { rval = Random() % 100; if (rval >= 90) - flags = gUnknown_8479D34[i].flags1; + flags = sRenewableHiddenItems[i].rare; else if (rval >= 60) - flags = gUnknown_8479D34[i].flags2; + flags = sRenewableHiddenItems[i].uncommon; else - flags = gUnknown_8479D34[i].flags3; + flags = sRenewableHiddenItems[i].common; for (j = 0; j < 8; j++) { if (flags[j] != 0xFF) |