Document renewable_hidden_items

This commit is contained in:
PikalaxALT
2019-10-18 15:13:35 -04:00
parent a7bca8aa92
commit a16d9af699
432 changed files with 508 additions and 505 deletions
+1 -1
View File
@@ -365,7 +365,7 @@ sub_806CAC8: @ 806CAC8
movs r0, 0x5 movs r0, 0x5
bl IncrementGameStat bl IncrementGameStat
bl sub_8146CA4 bl sub_8146CA4
bl sub_815D8C8 bl IncrementRenewableHiddenItemStepCounter
bl sub_80CC918 bl sub_80CC918
bl sub_80CB054 bl sub_80CB054
bl sub_80CCFBC bl sub_80CCFBC
+2 -2
View File
@@ -1717,7 +1717,7 @@ sub_8055864: @ 8055864
bl sub_8055CB8 bl sub_8055CB8
bl sav1_reset_battle_music_maybe bl sav1_reset_battle_music_maybe
bl mapheader_run_script_with_tag_x3 bl mapheader_run_script_with_tag_x3
bl sub_815D8F8 bl TryRegenerateRenewableHiddenItems
bl not_trainer_hill_battle_pyramid bl not_trainer_hill_battle_pyramid
ldr r4, _0805591C @ =gMapHeader ldr r4, _0805591C @ =gMapHeader
ldr r0, [r4] ldr r0, [r4]
@@ -1794,7 +1794,7 @@ _08055974:
bl sub_8055CB8 bl sub_8055CB8
bl sav1_reset_battle_music_maybe bl sav1_reset_battle_music_maybe
bl mapheader_run_script_with_tag_x3 bl mapheader_run_script_with_tag_x3
bl sub_815D8F8 bl TryRegenerateRenewableHiddenItems
bl UpdateLocationHistoryForRoamer bl UpdateLocationHistoryForRoamer
bl RoamerMoveToOtherLocationSet bl RoamerMoveToOtherLocationSet
bl sub_8110920 bl sub_8110920
+1 -1
View File
@@ -38,7 +38,7 @@
#define VAR_REPEL_STEP_COUNT 0x4020 #define VAR_REPEL_STEP_COUNT 0x4020
#define VAR_0x4021 0x4021 #define VAR_0x4021 0x4021
#define VAR_ICE_STEP_COUNT 0x4022 #define VAR_ICE_STEP_COUNT 0x4022
#define VAR_0x4023 0x4023 #define VAR_RENEWABLE_ITEM_STEP_COUNTER 0x4023
#define VAR_ALTERING_CAVE_WILD_SET 0x4024 #define VAR_ALTERING_CAVE_WILD_SET 0x4024
#define VAR_0x4025 0x4025 #define VAR_0x4025 0x4025
#define VAR_SECRET_BASE_MAP 0x4026 #define VAR_SECRET_BASE_MAP 0x4026
+3
View File
@@ -2,5 +2,8 @@
#define GUARD_RENEWABLE_HIDDEN_ITEMS_H #define GUARD_RENEWABLE_HIDDEN_ITEMS_H
bool32 sub_815D834(void); bool32 sub_815D834(void);
void IncrementRenewableHiddenItemStepCounter(void);
void TryRegenerateRenewableHiddenItems(void);
void SetAllRenewableItemFlags(void);
#endif //GUARD_RENEWABLE_HIDDEN_ITEMS_H #endif //GUARD_RENEWABLE_HIDDEN_ITEMS_H
-1
View File
@@ -5,7 +5,6 @@ void PrintTrainerTowerRecords(void);
void InitTrainerTowerBattleStruct(void); void InitTrainerTowerBattleStruct(void);
void FreeTrainerTowerBattleStruct(void); void FreeTrainerTowerBattleStruct(void);
u8 GetTrainerTowerTrainerFrontSpriteId(void); u8 GetTrainerTowerTrainerFrontSpriteId(void);
void sub_815D838(void);
void ResetTrainerTowerResults(void); void ResetTrainerTowerResults(void);
#endif //GUARD_TRAINER_TOWER_H #endif //GUARD_TRAINER_TOWER_H
+2 -1
View File
@@ -25,6 +25,7 @@
#include "easy_chat.h" #include "easy_chat.h"
#include "union_room_chat.h" #include "union_room_chat.h"
#include "mevent.h" #include "mevent.h"
#include "renewable_hidden_items.h"
#include "trainer_tower.h" #include "trainer_tower.h"
#include "script.h" #include "script.h"
#include "berry_powder.h" #include "berry_powder.h"
@@ -145,7 +146,7 @@ void NewGameInitData(void)
copy_strings_to_sav1(); copy_strings_to_sav1();
ResetMiniGamesResults(); ResetMiniGamesResults();
sub_8143D24(); sub_8143D24();
sub_815D838(); SetAllRenewableItemFlags();
WarpToPlayersRoom(); WarpToPlayersRoom();
ScriptContext2_RunNewScript(EventScript_ResetAllMapFlags); ScriptContext2_RunNewScript(EventScript_ResetAllMapFlags);
StringCopy(gSaveBlock1Ptr->rivalName, rivalName); StringCopy(gSaveBlock1Ptr->rivalName, rivalName);
+74 -74
View File
@@ -4,23 +4,23 @@
#include "constants/maps.h" #include "constants/maps.h"
#include "constants/flags.h" #include "constants/flags.h"
struct UnkStruct_8479D34 struct RenewableHiddenItemData
{ {
s8 mapGroup; s8 mapGroup;
s8 mapNum; s8 mapNum;
u8 filler[2]; u8 filler[2];
u8 flags1[8]; u8 rare[8]; // 10%
u8 flags2[8]; u8 uncommon[8]; // 30%
u8 flags3[8]; 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), .mapGroup = MAP_GROUP(ROUTE20),
.mapNum = MAP_NUM(ROUTE20), .mapNum = MAP_NUM(ROUTE20),
.flags1 = { .rare = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -30,7 +30,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags2 = { .uncommon = {
HIDDEN_ITEM_ROUTE20_STARDUST, HIDDEN_ITEM_ROUTE20_STARDUST,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -40,7 +40,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags3 = { .common = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -54,7 +54,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
{ {
.mapGroup = MAP_GROUP(ROUTE21_NORTH), .mapGroup = MAP_GROUP(ROUTE21_NORTH),
.mapNum = MAP_NUM(ROUTE21_NORTH), .mapNum = MAP_NUM(ROUTE21_NORTH),
.flags1 = { .rare = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -64,7 +64,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags2 = { .uncommon = {
HIDDEN_ITEM_ROUTE21_NORTH_PEARL, HIDDEN_ITEM_ROUTE21_NORTH_PEARL,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -74,7 +74,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags3 = { .common = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -88,7 +88,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
{ {
.mapGroup = MAP_GROUP(UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL), .mapGroup = MAP_GROUP(UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL),
.mapNum = MAP_NUM(UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL), .mapNum = MAP_NUM(UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL),
.flags1 = { .rare = {
HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ETHER, HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ETHER,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -98,7 +98,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags2 = { .uncommon = {
HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_POTION, HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_POTION,
HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ANTIDOTE, HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ANTIDOTE,
HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_PARALYZE_HEAL, HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_PARALYZE_HEAL,
@@ -108,7 +108,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags3 = { .common = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -122,7 +122,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
{ {
.mapGroup = MAP_GROUP(UNDERGROUND_PATH_EAST_WEST_TUNNEL), .mapGroup = MAP_GROUP(UNDERGROUND_PATH_EAST_WEST_TUNNEL),
.mapNum = MAP_NUM(UNDERGROUND_PATH_EAST_WEST_TUNNEL), .mapNum = MAP_NUM(UNDERGROUND_PATH_EAST_WEST_TUNNEL),
.flags1 = { .rare = {
HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ETHER, HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ETHER,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -132,7 +132,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags2 = { .uncommon = {
HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_POTION, HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_POTION,
HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ANTIDOTE, HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ANTIDOTE,
HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_PARALYZE_HEAL, HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_PARALYZE_HEAL,
@@ -142,7 +142,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags3 = { .common = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -156,7 +156,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
{ {
.mapGroup = MAP_GROUP(SEVEN_ISLAND_TANOBY_RUINS), .mapGroup = MAP_GROUP(SEVEN_ISLAND_TANOBY_RUINS),
.mapNum = MAP_NUM(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_4,
HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE, HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE,
HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_2, HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_2,
@@ -166,7 +166,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags2 = { .uncommon = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -176,7 +176,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags3 = { .common = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -190,7 +190,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
{ {
.mapGroup = MAP_GROUP(MT_MOON_B1F), .mapGroup = MAP_GROUP(MT_MOON_B1F),
.mapNum = MAP_NUM(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,
HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_2, HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_2,
HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_3, HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_3,
@@ -200,7 +200,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags2 = { .uncommon = {
HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM, HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM,
HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_2, HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_2,
HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_3, HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_3,
@@ -210,7 +210,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags3 = { .common = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -224,7 +224,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
{ {
.mapGroup = MAP_GROUP(THREE_ISLAND_BERRY_FOREST), .mapGroup = MAP_GROUP(THREE_ISLAND_BERRY_FOREST),
.mapNum = MAP_NUM(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_BLUK_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_WEPEAR_BERRY, HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_WEPEAR_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_ORAN_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_PINAP_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_LUM_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_BLUK_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_WEPEAR_BERRY, HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_WEPEAR_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_ORAN_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, HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PINAP_BERRY,
0xFF 0xFF
}, },
.flags3 = { .common = {
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_RAZZ_BERRY, HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_RAZZ_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_NANAB_BERRY, HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_NANAB_BERRY,
HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_CHESTO_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), .mapGroup = MAP_GROUP(ONE_ISLAND_TREASURE_BEACH),
.mapNum = MAP_NUM(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,
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL_2, HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL_2,
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STAR_PIECE, HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STAR_PIECE,
@@ -268,7 +268,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags2 = { .uncommon = {
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STARDUST, HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STARDUST,
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STARDUST_2, HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STARDUST_2,
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_PEARL, HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_PEARL,
@@ -278,7 +278,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags3 = { .common = {
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL, HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL,
HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL_2, HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL_2,
0xFF, 0xFF,
@@ -292,7 +292,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
{ {
.mapGroup = MAP_GROUP(THREE_ISLAND_BOND_BRIDGE), .mapGroup = MAP_GROUP(THREE_ISLAND_BOND_BRIDGE),
.mapNum = MAP_NUM(THREE_ISLAND_BOND_BRIDGE), .mapNum = MAP_NUM(THREE_ISLAND_BOND_BRIDGE),
.flags1 = { .rare = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -302,7 +302,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags2 = { .uncommon = {
HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_PEARL, HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_PEARL,
HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_STARDUST, HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_STARDUST,
0xFF, 0xFF,
@@ -312,7 +312,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags3 = { .common = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -326,7 +326,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
{ {
.mapGroup = MAP_GROUP(FOUR_ISLAND), .mapGroup = MAP_GROUP(FOUR_ISLAND),
.mapNum = MAP_NUM(FOUR_ISLAND), .mapNum = MAP_NUM(FOUR_ISLAND),
.flags1 = { .rare = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -336,7 +336,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags2 = { .uncommon = {
HIDDEN_ITEM_FOUR_ISLAND_PEARL, HIDDEN_ITEM_FOUR_ISLAND_PEARL,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -346,7 +346,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags3 = { .common = {
HIDDEN_ITEM_FOUR_ISLAND_ULTRA_BALL, HIDDEN_ITEM_FOUR_ISLAND_ULTRA_BALL,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -360,7 +360,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
{ {
.mapGroup = MAP_GROUP(FIVE_ISLAND_MEMORIAL_PILLAR), .mapGroup = MAP_GROUP(FIVE_ISLAND_MEMORIAL_PILLAR),
.mapNum = MAP_NUM(FIVE_ISLAND_MEMORIAL_PILLAR), .mapNum = MAP_NUM(FIVE_ISLAND_MEMORIAL_PILLAR),
.flags1 = { .rare = {
HIDDEN_ITEM_FIVE_ISLAND_MEMORIAL_PILLAR_BIG_PEARL, HIDDEN_ITEM_FIVE_ISLAND_MEMORIAL_PILLAR_BIG_PEARL,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -370,7 +370,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags2 = { .uncommon = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -380,7 +380,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags3 = { .common = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -394,7 +394,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
{ {
.mapGroup = MAP_GROUP(FIVE_ISLAND_RESORT_GORGEOUS), .mapGroup = MAP_GROUP(FIVE_ISLAND_RESORT_GORGEOUS),
.mapNum = MAP_NUM(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_NEST_BALL,
HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STAR_PIECE, HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STAR_PIECE,
0xFF, 0xFF,
@@ -404,7 +404,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags2 = { .uncommon = {
HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STARDUST, HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STARDUST,
HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STARDUST_2, HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STARDUST_2,
0xFF, 0xFF,
@@ -414,7 +414,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags3 = { .common = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -428,7 +428,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
{ {
.mapGroup = MAP_GROUP(SIX_ISLAND_OUTCAST_ISLAND), .mapGroup = MAP_GROUP(SIX_ISLAND_OUTCAST_ISLAND),
.mapNum = MAP_NUM(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_STAR_PIECE,
HIDDEN_ITEM_SIX_ISLAND_OUTCAST_ISLAND_NET_BALL, HIDDEN_ITEM_SIX_ISLAND_OUTCAST_ISLAND_NET_BALL,
0xFF, 0xFF,
@@ -438,7 +438,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags2 = { .uncommon = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -448,7 +448,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags3 = { .common = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -462,7 +462,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
{ {
.mapGroup = MAP_GROUP(SIX_ISLAND_GREEN_PATH), .mapGroup = MAP_GROUP(SIX_ISLAND_GREEN_PATH),
.mapNum = MAP_NUM(SIX_ISLAND_GREEN_PATH), .mapNum = MAP_NUM(SIX_ISLAND_GREEN_PATH),
.flags1 = { .rare = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -472,7 +472,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags2 = { .uncommon = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -482,7 +482,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags3 = { .common = {
HIDDEN_ITEM_SIX_ISLAND_GREEN_PATH_ULTRA_BALL, HIDDEN_ITEM_SIX_ISLAND_GREEN_PATH_ULTRA_BALL,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -496,7 +496,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
{ {
.mapGroup = MAP_GROUP(SEVEN_ISLAND_TRAINER_TOWER), .mapGroup = MAP_GROUP(SEVEN_ISLAND_TRAINER_TOWER),
.mapNum = MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER), .mapNum = MAP_NUM(SEVEN_ISLAND_TRAINER_TOWER),
.flags1 = { .rare = {
HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_BIG_PEARL, HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_BIG_PEARL,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -506,7 +506,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags2 = { .uncommon = {
HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_PEARL, HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_PEARL,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -516,7 +516,7 @@ const struct UnkStruct_8479D34 gUnknown_8479D34[] = {
0xFF, 0xFF,
0xFF 0xFF
}, },
.flags3 = { .common = {
0xFF, 0xFF,
0xFF, 0xFF,
0xFF, 0xFF,
@@ -535,56 +535,56 @@ bool32 sub_815D834(void)
return FALSE; return FALSE;
} }
void sub_815D838(void) void SetAllRenewableItemFlags(void)
{ {
u8 i, j; u8 i, j;
for (i = 0; i < 15; i++) for (i = 0; i < 15; i++)
{ {
const u8 * flags1 = gUnknown_8479D34[i].flags1; const u8 * rare = sRenewableHiddenItems[i].rare;
const u8 * flags2 = gUnknown_8479D34[i].flags2; const u8 * uncommon = sRenewableHiddenItems[i].uncommon;
const u8 * flags3 = gUnknown_8479D34[i].flags3; const u8 * common = sRenewableHiddenItems[i].common;
for (j = 0; j < 8; j++) for (j = 0; j < 8; j++)
{ {
if (flags1[j] != 0xFF) if (rare[j] != 0xFF)
FlagSet(FLAG_HIDDEN_ITEMS_START + flags1[j]); FlagSet(FLAG_HIDDEN_ITEMS_START + rare[j]);
if (flags2[j] != 0xFF) if (uncommon[j] != 0xFF)
FlagSet(FLAG_HIDDEN_ITEMS_START + flags2[j]); FlagSet(FLAG_HIDDEN_ITEMS_START + uncommon[j]);
if (flags3[j] != 0xFF) if (common[j] != 0xFF)
FlagSet(FLAG_HIDDEN_ITEMS_START + flags3[j]); 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) { 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 i;
u8 found_map = 0xFF; u8 found_map = 0xFF;
for (i = 0; i < 15; i++) 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; found_map = i;
} }
if (found_map == 0xFF) if (found_map == 0xFF)
return; return;
if (VarGet(VAR_0x4023) >= 1500) if (VarGet(VAR_RENEWABLE_ITEM_STEP_COUNTER) >= 1500)
{ {
VarSet(VAR_0x4023, 0); VarSet(VAR_RENEWABLE_ITEM_STEP_COUNTER, 0);
sub_815D838(); SetAllRenewableItemFlags();
sub_815D96C(); SampleRenewableItemFlags();
} }
} }
void sub_815D96C(void) static void SampleRenewableItemFlags(void)
{ {
u8 i, j; u8 i, j;
const u8 * flags; const u8 * flags;
@@ -594,11 +594,11 @@ void sub_815D96C(void)
{ {
rval = Random() % 100; rval = Random() % 100;
if (rval >= 90) if (rval >= 90)
flags = gUnknown_8479D34[i].flags1; flags = sRenewableHiddenItems[i].rare;
else if (rval >= 60) else if (rval >= 60)
flags = gUnknown_8479D34[i].flags2; flags = sRenewableHiddenItems[i].uncommon;
else else
flags = gUnknown_8479D34[i].flags3; flags = sRenewableHiddenItems[i].common;
for (j = 0; j < 8; j++) for (j = 0; j < 8; j++)
{ {
if (flags[j] != 0xFF) if (flags[j] != 0xFF)