This commit is contained in:
Eduardo Quezada 2026-03-21 06:07:46 -07:00 committed by GitHub
commit c459adc972
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
17 changed files with 411 additions and 348 deletions

View File

@ -595,7 +595,7 @@ gStdScripts_End::
.include "data/maps/Route119_House/scripts.inc"
.include "data/maps/Route124_DivingTreasureHuntersHouse/scripts.inc"
.if IS_FRLG
.if IS_FRLG || FRLG_INCLUDE_KANTO_MAPS
@ FRLG scripts
.include "data/maps/BattleColosseum_2P_Frlg/scripts.inc"
@ -1042,7 +1042,7 @@ gStdScripts_End::
.include "data/scripts/flavor_text.inc"
.include "data/scripts/pkmn_center_nurse_frlg.inc"
.endif
.endif @ IS_FRLG || FRLG_INCLUDE_KANTO_MAPS
.include "data/scripts/std_msgbox.inc"
.include "data/scripts/trainer_battle.inc"

23
include/config/frlg.h Normal file
View File

@ -0,0 +1,23 @@
#ifndef GUARD_CONFIG_FRLG_H
#define GUARD_CONFIG_FRLG_H
#define FIRE_RED 1
#define LEAF_GREEN 2
// IMPORTANT: Run `make clean` after changing any of these settings.
// Settings for Emerald mode
#define FRLG_INCLUDE_ALL FALSE // Change this to toggle all configs on. You can also individually turn them on by setting each to TRUE.
#define FRLG_INCLUDE_OBJECT_EVENTS FRLG_INCLUDE_ALL // Include data for FRLG's object events
#define FRLG_INCLUDE_KANTO_TILESETS FRLG_INCLUDE_ALL // Include data for FRLG's tilesets
#define FRLG_INCLUDE_KANTO_MAPS FRLG_INCLUDE_ALL // Include data for FRLG's maps. IMPORTANT: Requires FRLG_INCLUDE_OBJECT_EVENTS and FRLG_INCLUDE_KANTO_TILESETS!!
// Flags and Vars are not handled, so events may be in a broken state.
#define FRLG_KANTO_MAP_WILD_PKMN FIRE_RED // Wild encounter data to be used when enabling FRLG_INCLUDE_KANTO_MAPS
// Settings for FRLG mode
#define EM_INCLUDE_ALL FALSE // Change this to toggle all configs on. You can also individually turn them on by setting each to TRUE.
#define EM_INCLUDE_HOENN_TILESETS EM_INCLUDE_ALL // Include data for Emerald's tilesets.
#define EM_INCLUDE_HOENN_MAPS EM_INCLUDE_ALL // Include data for Emerald's maps. IMPORTANT: Requires EM_INCLUDE_HOENN_TILESETS!!
// Flags and Vars are not handled, so events may be in a broken state.
#endif // GUARD_CONFIG_FRLG_H

View File

@ -2155,196 +2155,196 @@
#define FLAG_NO_ROOM_FOR_JOYFUL_GAME_CORNER_MOON_STONE 0
#define FLAG_OAKS_RATING_IS_VIA_PC 0
#define FLAG_HIDDEN_ITEM_VIRIDIAN_FOREST_POTION 0
#define FLAG_HIDDEN_ITEM_VIRIDIAN_FOREST_ANTIDOTE 0
#define FLAG_HIDDEN_ITEM_MT_MOON_B2F_MOON_STONE 0
#define FLAG_HIDDEN_ITEM_MT_MOON_B2F_ETHER 0
#define FLAG_HIDDEN_ITEM_ROUTE25_ELIXIR 0
#define FLAG_HIDDEN_ITEM_ROUTE25_ETHER 0
#define FLAG_HIDDEN_ITEM_ROUTE9_ETHER 0
#define FLAG_HIDDEN_ITEM_UNUSED_0x07 0
#define FLAG_HIDDEN_ITEM_SSANNE_B1F_CORRIDOR_HYPER_POTION 0
#define FLAG_HIDDEN_ITEM_ROUTE10_SUPER_POTION 0
#define FLAG_HIDDEN_ITEM_ROUTE10_MAX_ETHER 0
#define FLAG_HIDDEN_ITEM_ROCKET_HIDEOUT_B1F_PP_UP 0
#define FLAG_HIDDEN_ITEM_ROCKET_HIDEOUT_B3F_NUGGET 0
#define FLAG_HIDDEN_ITEM_ROCKET_HIDEOUT_B4F_NEST_BALL 0
#define FLAG_HIDDEN_ITEM_POKEMON_TOWER_5F_BIG_MUSHROOM 0
#define FLAG_HIDDEN_ITEM_ROUTE13_PP_UP 0
#define FLAG_HIDDEN_ITEM_UNUSED_0x10 0
#define FLAG_HIDDEN_ITEM_ROUTE17_RARE_CANDY 0
#define FLAG_HIDDEN_ITEM_ROUTE17_FULL_RESTORE 0
#define FLAG_HIDDEN_ITEM_ROUTE17_PP_UP 0
#define FLAG_HIDDEN_ITEM_ROUTE17_MAX_REVIVE 0
#define FLAG_HIDDEN_ITEM_ROUTE17_MAX_ELIXIR 0
#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_CENTER_LEAF_STONE 0
#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_WEST_REVIVE 0
#define FLAG_HIDDEN_ITEM_SILPH_CO_5F_ELIXIR 0
#define FLAG_HIDDEN_ITEM_SILPH_CO_9F_MAX_POTION 0
#define FLAG_HIDDEN_ITEM_SAFFRON_CITY_COPYCATS_HOUSE_2F_NUGGET 0
#define FLAG_HIDDEN_ITEM_POWER_PLANT_MAX_ELIXIR 0
#define FLAG_HIDDEN_ITEM_POWER_PLANT_THUNDER_STONE 0
#define FLAG_HIDDEN_ITEM_SEAFOAM_ISLANDS_B3F_NUGGET 0
#define FLAG_HIDDEN_ITEM_SEAFOAM_ISLANDS_B4F_WATER_STONE 0
#define FLAG_HIDDEN_ITEM_POKEMON_MANSION_1F_MOON_STONE 0
#define FLAG_HIDDEN_ITEM_POKEMON_MANSION_3F_RARE_CANDY 0
#define FLAG_HIDDEN_ITEM_POKEMON_MANSION_B1F_ELIXIR 0
#define FLAG_HIDDEN_ITEM_ROUTE23_FULL_RESTORE 0
#define FLAG_HIDDEN_ITEM_ROUTE23_ULTRA_BALL 0
#define FLAG_HIDDEN_ITEM_ROUTE23_MAX_ETHER 0
#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_1F_FULL_RESTORE 0
#define FLAG_HIDDEN_ITEM_CERULEAN_CAVE_1F_ULTRA_BALL 0
#define FLAG_HIDDEN_ITEM_UNUSED_0x28 0
#define FLAG_HIDDEN_ITEM_ROUTE11_ESCAPE_ROPE 0
#define FLAG_HIDDEN_ITEM_ROUTE12_HYPER_POTION 0
#define FLAG_HIDDEN_ITEM_UNUSED_0x2B 0
#define FLAG_HIDDEN_ITEM_UNUSED_0x2C 0
#define FLAG_HIDDEN_ITEM_UNUSED_0x2D 0
#define FLAG_HIDDEN_ITEM_UNUSED_0x2E 0
#define FLAG_HIDDEN_ITEM_CELADON_CITY_PP_UP 0
#define FLAG_HIDDEN_ITEM_VERMILION_CITY_MAX_ETHER 0
#define FLAG_HIDDEN_ITEM_CERULEAN_CITY_RARE_CANDY 0
#define FLAG_HIDDEN_ITEM_ROUTE4_GREAT_BALL 0
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS 0
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_2 0
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_3 0
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_4 0
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_5 0
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_6 0
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_7 0
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_8 0
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_9 0
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_10 0
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_11 0
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_12 0
#define FLAG_HIDDEN_ITEM_SEVEN_ISLAND_SEVAULT_CANYON_CHERI_BERRY 0
#define FLAG_HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_4 0
#define FLAG_HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE 0
#define FLAG_HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_2 0
#define FLAG_HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_3 0
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_ROCKET_WAREHOUSE_NEST_BALL 0
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_ROCKET_WAREHOUSE_NET_BALL 0
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_POTION 0
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ANTIDOTE 0
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_PARALYZE_HEAL 0
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_AWAKENING 0
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_BURN_HEAL 0
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ICE_HEAL 0
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ETHER 0
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_POTION 0
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ANTIDOTE 0
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_PARALYZE_HEAL 0
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_AWAKENING 0
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_BURN_HEAL 0
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ICE_HEAL 0
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ETHER 0
#define FLAG_HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM 0
#define FLAG_HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_2 0
#define FLAG_HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_3 0
#define FLAG_HIDDEN_ITEM_MT_MOON_B1F_BIG_MUSHROOM 0
#define FLAG_HIDDEN_ITEM_MT_MOON_B1F_BIG_MUSHROOM_2 0
#define FLAG_HIDDEN_ITEM_MT_MOON_B1F_BIG_MUSHROOM_3 0
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_RAZZ_BERRY 0
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_BLUK_BERRY 0
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_NANAB_BERRY 0
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_WEPEAR_BERRY 0
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_ORAN_BERRY 0
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_CHERI_BERRY 0
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_CHESTO_BERRY 0
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PECHA_BERRY 0
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_RAWST_BERRY 0
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_ASPEAR_BERRY 0
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PERSIM_BERRY 0
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PINAP_BERRY 0
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_LUM_BERRY 0
#define FLAG_HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STARDUST 0
#define FLAG_HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STARDUST_2 0
#define FLAG_HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_PEARL 0
#define FLAG_HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_PEARL_2 0
#define FLAG_HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL 0
#define FLAG_HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL_2 0
#define FLAG_HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STAR_PIECE 0
#define FLAG_HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_BIG_PEARL 0
#define FLAG_HIDDEN_ITEM_TWO_ISLAND_CAPE_BRINK_RARE_CANDY 0
#define FLAG_HIDDEN_ITEM_PEWTER_CITY_POKE_BALL 0
#define FLAG_HIDDEN_ITEM_ROUTE3_ORAN_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE4_PERSIM_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE24_PECHA_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE25_ORAN_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE25_BLUK_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE6_SITRUS_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE6_RARE_CANDY 0
#define FLAG_HIDDEN_ITEM_SSANNE_KITCHEN_PECHA_BERRY 0
#define FLAG_HIDDEN_ITEM_SSANNE_KITCHEN_CHERI_BERRY 0
#define FLAG_HIDDEN_ITEM_SSANNE_KITCHEN_CHESTO_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE9_RARE_CANDY 0
#define FLAG_HIDDEN_ITEM_UNUSED_0x7C 0
#define FLAG_HIDDEN_ITEM_ROUTE10_PERSIM_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE10_CHERI_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE8_RAWST_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE8_LUM_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE8_LEPPA_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE12_RARE_CANDY 0
#define FLAG_HIDDEN_ITEM_ROUTE12_LEFTOVERS 0
#define FLAG_HIDDEN_ITEM_ROUTE16_LEFTOVERS 0
#define FLAG_HIDDEN_ITEM_FUCHSIA_CITY_MAX_REVIVE 0
#define FLAG_HIDDEN_ITEM_ROCKET_HIDEOUT_B4F_NET_BALL 0
#define FLAG_HIDDEN_ITEM_SILPH_CO_2F_ULTRA_BALL 0
#define FLAG_HIDDEN_ITEM_SILPH_CO_3F_PROTEIN 0
#define FLAG_HIDDEN_ITEM_SILPH_CO_4F_IRON 0
#define FLAG_HIDDEN_ITEM_SILPH_CO_5F_PP_UP 0
#define FLAG_HIDDEN_ITEM_SILPH_CO_6F_CARBOS 0
#define FLAG_HIDDEN_ITEM_SILPH_CO_7F_ZINC 0
#define FLAG_HIDDEN_ITEM_SILPH_CO_8F_NUGGET 0
#define FLAG_HIDDEN_ITEM_SILPH_CO_9F_CALCIUM 0
#define FLAG_HIDDEN_ITEM_SILPH_CO_10F_HP_UP 0
#define FLAG_HIDDEN_ITEM_SILPH_CO_11F_REVIVE 0
#define FLAG_HIDDEN_ITEM_ROUTE23_LUM_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE23_SITRUS_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE23_ASPEAR_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE23_LEPPA_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE14_ZINC 0
#define FLAG_HIDDEN_ITEM_ROUTE9_CHESTO_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE10_NANAB_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE7_WEPEAR_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE20_STARDUST 0
#define FLAG_HIDDEN_ITEM_ROUTE21_NORTH_PEARL 0
#define FLAG_HIDDEN_ITEM_ROUTE23_MAX_ELIXIR 0
#define FLAG_HIDDEN_ITEM_ROUTE4_RAZZ_BERRY 0
#define FLAG_HIDDEN_ITEM_ROUTE14_PINAP_BERRY 0
#define FLAG_HIDDEN_ITEM_MT_EMBER_EXTERIOR_FIRE_STONE 0
#define FLAG_HIDDEN_ITEM_POKEMON_TOWER_7F_SOOTHE_BELL 0
#define FLAG_HIDDEN_ITEM_NAVEL_ROCK_SUMMIT_SACRED_ASH 0
#define FLAG_HIDDEN_ITEM_TWO_ISLAND_CAPE_BRINK_PP_MAX 0
#define FLAG_HIDDEN_ITEM_MT_EMBER_EXTERIOR_ULTRA_BALL 0
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_DUNSPARCE_TUNNEL_NUGGET 0
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_PP_UP 0
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_MAX_REPEL 0
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_PEARL 0
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_STARDUST 0
#define FLAG_HIDDEN_ITEM_FOUR_ISLAND_PEARL 0
#define FLAG_HIDDEN_ITEM_FOUR_ISLAND_ULTRA_BALL 0
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_MEMORIAL_PILLAR_BIG_PEARL 0
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_MEMORIAL_PILLAR_RAZZ_BERRY 0
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_MEMORIAL_PILLAR_SITRUS_BERRY 0
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_MEMORIAL_PILLAR_BLUK_BERRY 0
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_NEST_BALL 0
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STARDUST 0
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STAR_PIECE 0
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STARDUST_2 0
#define FLAG_HIDDEN_ITEM_SIX_ISLAND_OUTCAST_ISLAND_STAR_PIECE 0
#define FLAG_HIDDEN_ITEM_SIX_ISLAND_OUTCAST_ISLAND_NET_BALL 0
#define FLAG_HIDDEN_ITEM_SIX_ISLAND_GREEN_PATH_ULTRA_BALL 0
#define FLAG_HIDDEN_ITEM_SIX_ISLAND_WATER_PATH_ASPEAR_BERRY 0
#define FLAG_HIDDEN_ITEM_SIX_ISLAND_WATER_PATH_ORAN_BERRY 0
#define FLAG_HIDDEN_ITEM_SIX_ISLAND_WATER_PATH_PINAP_BERRY 0
#define FLAG_HIDDEN_ITEM_SIX_ISLAND_LEPPA_BERRY 0
#define FLAG_HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_BIG_PEARL 0
#define FLAG_HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_PEARL 0
#define FLAG_HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_NANAB_BERRY 0
#define FLAG_HIDDEN_ITEM_SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE_RAWST_BERRY 0
#define FLAG_HIDDEN_ITEM_VIRIDIAN_CITY_GYM_MACHO_BRACE 0
#define FLAG_HIDDEN_ITEM_SSANNE_EXTERIOR_LAVA_COOKIE 0
#define FLAG_HIDDEN_ITEM_VIRIDIAN_FOREST_POTION (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_VIRIDIAN_FOREST_ANTIDOTE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_MT_MOON_B2F_MOON_STONE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_MT_MOON_B2F_ETHER (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE25_ELIXIR (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE25_ETHER (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE9_ETHER (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNUSED_0x07 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SSANNE_B1F_CORRIDOR_HYPER_POTION (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE10_SUPER_POTION (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE10_MAX_ETHER (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROCKET_HIDEOUT_B1F_PP_UP (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROCKET_HIDEOUT_B3F_NUGGET (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROCKET_HIDEOUT_B4F_NEST_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_POKEMON_TOWER_5F_BIG_MUSHROOM (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE13_PP_UP (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNUSED_0x10 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE17_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE17_FULL_RESTORE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE17_PP_UP (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE17_MAX_REVIVE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE17_MAX_ELIXIR (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_CENTER_LEAF_STONE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_WEST_REVIVE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SILPH_CO_5F_ELIXIR (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SILPH_CO_9F_MAX_POTION (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SAFFRON_CITY_COPYCATS_HOUSE_2F_NUGGET (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_POWER_PLANT_MAX_ELIXIR (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_POWER_PLANT_THUNDER_STONE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SEAFOAM_ISLANDS_B3F_NUGGET (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SEAFOAM_ISLANDS_B4F_WATER_STONE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_POKEMON_MANSION_1F_MOON_STONE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_POKEMON_MANSION_3F_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_POKEMON_MANSION_B1F_ELIXIR (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE23_FULL_RESTORE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE23_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE23_MAX_ETHER (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_1F_FULL_RESTORE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_CERULEAN_CAVE_1F_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNUSED_0x28 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE11_ESCAPE_ROPE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE12_HYPER_POTION (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNUSED_0x2B (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNUSED_0x2C (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNUSED_0x2D (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNUSED_0x2E (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_CELADON_CITY_PP_UP (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_VERMILION_CITY_MAX_ETHER (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_CERULEAN_CITY_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE4_GREAT_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_2 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_3 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_4 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_5 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_6 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_7 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_8 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_9 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_10 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_11 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_CELADON_CITY_GAME_CORNER_COINS_12 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SEVEN_ISLAND_SEVAULT_CANYON_CHERI_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_4 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SEVEN_ISLAND_TANOBY_RUINS_HEART_SCALE_3 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_ROCKET_WAREHOUSE_NEST_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_ROCKET_WAREHOUSE_NET_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_POTION (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ANTIDOTE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_PARALYZE_HEAL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_AWAKENING (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_BURN_HEAL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ICE_HEAL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_NORTH_SOUTH_TUNNEL_ETHER (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_POTION (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ANTIDOTE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_PARALYZE_HEAL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_AWAKENING (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_BURN_HEAL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ICE_HEAL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERGROUND_PATH_EAST_WEST_TUNNEL_ETHER (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_2 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_MT_MOON_B1F_TINY_MUSHROOM_3 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_MT_MOON_B1F_BIG_MUSHROOM (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_MT_MOON_B1F_BIG_MUSHROOM_2 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_MT_MOON_B1F_BIG_MUSHROOM_3 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_RAZZ_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_BLUK_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_NANAB_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_WEPEAR_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_ORAN_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_CHERI_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_CHESTO_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PECHA_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_RAWST_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_ASPEAR_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PERSIM_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_PINAP_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BERRY_FOREST_LUM_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STARDUST (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STARDUST_2 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_PEARL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_PEARL_2 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_ULTRA_BALL_2 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_STAR_PIECE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ONE_ISLAND_TREASURE_BEACH_BIG_PEARL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_TWO_ISLAND_CAPE_BRINK_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_PEWTER_CITY_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE3_ORAN_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE4_PERSIM_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE24_PECHA_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE25_ORAN_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE25_BLUK_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE6_SITRUS_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE6_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SSANNE_KITCHEN_PECHA_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SSANNE_KITCHEN_CHERI_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SSANNE_KITCHEN_CHESTO_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE9_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNUSED_0x7C (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE10_PERSIM_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE10_CHERI_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE8_RAWST_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE8_LUM_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE8_LEPPA_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE12_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE12_LEFTOVERS (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE16_LEFTOVERS (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_FUCHSIA_CITY_MAX_REVIVE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROCKET_HIDEOUT_B4F_NET_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SILPH_CO_2F_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SILPH_CO_3F_PROTEIN (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SILPH_CO_4F_IRON (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SILPH_CO_5F_PP_UP (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SILPH_CO_6F_CARBOS (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SILPH_CO_7F_ZINC (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SILPH_CO_8F_NUGGET (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SILPH_CO_9F_CALCIUM (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SILPH_CO_10F_HP_UP (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SILPH_CO_11F_REVIVE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE23_LUM_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE23_SITRUS_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE23_ASPEAR_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE23_LEPPA_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE14_ZINC (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE9_CHESTO_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE10_NANAB_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE7_WEPEAR_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE20_STARDUST (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE21_NORTH_PEARL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE23_MAX_ELIXIR (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE4_RAZZ_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE14_PINAP_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_MT_EMBER_EXTERIOR_FIRE_STONE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_POKEMON_TOWER_7F_SOOTHE_BELL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_NAVEL_ROCK_SUMMIT_SACRED_ASH (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_TWO_ISLAND_CAPE_BRINK_PP_MAX (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_MT_EMBER_EXTERIOR_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_DUNSPARCE_TUNNEL_NUGGET (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_PP_UP (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_MAX_REPEL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_PEARL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_THREE_ISLAND_BOND_BRIDGE_STARDUST (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_FOUR_ISLAND_PEARL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_FOUR_ISLAND_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_MEMORIAL_PILLAR_BIG_PEARL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_MEMORIAL_PILLAR_RAZZ_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_MEMORIAL_PILLAR_SITRUS_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_MEMORIAL_PILLAR_BLUK_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_NEST_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STARDUST (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STAR_PIECE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_FIVE_ISLAND_RESORT_GORGEOUS_STARDUST_2 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SIX_ISLAND_OUTCAST_ISLAND_STAR_PIECE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SIX_ISLAND_OUTCAST_ISLAND_NET_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SIX_ISLAND_GREEN_PATH_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SIX_ISLAND_WATER_PATH_ASPEAR_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SIX_ISLAND_WATER_PATH_ORAN_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SIX_ISLAND_WATER_PATH_PINAP_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SIX_ISLAND_LEPPA_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_BIG_PEARL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_PEARL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SEVEN_ISLAND_TRAINER_TOWER_NANAB_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE_RAWST_BERRY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_VIRIDIAN_CITY_GYM_MACHO_BRACE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SSANNE_EXTERIOR_LAVA_COOKIE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_DEFEATED_BROCK 0
#define FLAG_DEFEATED_MISTY 0

View File

@ -1895,117 +1895,117 @@
#define FLAG_DEFEATED_LUGIA 0
// Hidden Items
#define FLAG_HIDDEN_ITEM_LAVARIDGE_TOWN_ICE_HEAL 0
#define FLAG_HIDDEN_ITEM_TRICK_HOUSE_NUGGET 0
#define FLAG_HIDDEN_ITEM_ROUTE_111_STARDUST 0
#define FLAG_HIDDEN_ITEM_ROUTE_113_ETHER 0
#define FLAG_HIDDEN_ITEM_ROUTE_114_CARBOS 0
#define FLAG_HIDDEN_ITEM_ROUTE_119_CALCIUM 0
#define FLAG_HIDDEN_ITEM_ROUTE_119_ULTRA_BALL 0
#define FLAG_HIDDEN_ITEM_ROUTE_123_SUPER_REPEL 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_CARBOS 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_GREEN_SHARD 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_PEARL 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_BIG_PEARL 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_BLUE_SHARD 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_HEART_SCALE_1 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_HEART_SCALE 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_ULTRA_BALL 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_STARDUST 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_PEARL 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_YELLOW_SHARD 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_IRON 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_BIG_PEARL 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_127_STAR_PIECE 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_127_HP_UP 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_127_HEART_SCALE 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_127_RED_SHARD 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_128_PROTEIN 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_128_PEARL 0
#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_HEART_SCALE 0
#define FLAG_HIDDEN_ITEM_FALLARBOR_TOWN_NUGGET 0
#define FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_ULTRA_BALL 0
#define FLAG_HIDDEN_ITEM_ROUTE_113_TM_DOUBLE_TEAM 0
#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_1_KEY 0
#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_2_KEY 0
#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_4_KEY 0
#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_6_KEY 0
#define FLAG_HIDDEN_ITEM_SS_TIDAL_LOWER_DECK_LEFTOVERS 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_CALCIUM 0
#define FLAG_HIDDEN_ITEM_ROUTE_104_POTION 0
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_HEART_SCALE_2 0
#define FLAG_HIDDEN_ITEM_ROUTE_121_HP_UP 0
#define FLAG_HIDDEN_ITEM_ROUTE_121_NUGGET 0
#define FLAG_HIDDEN_ITEM_ROUTE_123_REVIVE 0
#define FLAG_HIDDEN_ITEM_ROUTE_114_REVIVE 0
#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_PP_UP 0
#define FLAG_HIDDEN_ITEM_ROUTE_104_SUPER_POTION 0
#define FLAG_HIDDEN_ITEM_ROUTE_116_SUPER_POTION 0
#define FLAG_HIDDEN_ITEM_ROUTE_106_STARDUST 0
#define FLAG_HIDDEN_ITEM_ROUTE_106_HEART_SCALE 0
#define FLAG_HIDDEN_ITEM_GRANITE_CAVE_B2F_EVERSTONE_1 0
#define FLAG_HIDDEN_ITEM_GRANITE_CAVE_B2F_EVERSTONE_2 0
#define FLAG_HIDDEN_ITEM_ROUTE_109_REVIVE 0
#define FLAG_HIDDEN_ITEM_ROUTE_109_GREAT_BALL 0
#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_1 0
#define FLAG_HIDDEN_ITEM_ROUTE_110_GREAT_BALL 0
#define FLAG_HIDDEN_ITEM_ROUTE_110_REVIVE 0
#define FLAG_HIDDEN_ITEM_ROUTE_110_FULL_HEAL 0
#define FLAG_HIDDEN_ITEM_ROUTE_111_PROTEIN 0
#define FLAG_HIDDEN_ITEM_ROUTE_111_RARE_CANDY 0
#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_POTION 0
#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_TINY_MUSHROOM_1 0
#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_TINY_MUSHROOM_2 0
#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_POKE_BALL 0
#define FLAG_HIDDEN_ITEM_ROUTE_104_POKE_BALL 0
#define FLAG_HIDDEN_ITEM_ROUTE_106_POKE_BALL 0
#define FLAG_HIDDEN_ITEM_ROUTE_109_ETHER 0
#define FLAG_HIDDEN_ITEM_ROUTE_110_POKE_BALL 0
#define FLAG_HIDDEN_ITEM_ROUTE_118_HEART_SCALE 0
#define FLAG_HIDDEN_ITEM_ROUTE_118_IRON 0
#define FLAG_HIDDEN_ITEM_ROUTE_119_FULL_HEAL 0
#define FLAG_HIDDEN_ITEM_ROUTE_120_RARE_CANDY_2 0
#define FLAG_HIDDEN_ITEM_ROUTE_120_ZINC 0
#define FLAG_HIDDEN_ITEM_ROUTE_120_RARE_CANDY_1 0
#define FLAG_HIDDEN_ITEM_ROUTE_117_REPEL 0
#define FLAG_HIDDEN_ITEM_ROUTE_121_FULL_HEAL 0
#define FLAG_HIDDEN_ITEM_ROUTE_123_HYPER_POTION 0
#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_POKE_BALL 0
#define FLAG_HIDDEN_ITEM_JAGGED_PASS_GREAT_BALL 0
#define FLAG_HIDDEN_ITEM_JAGGED_PASS_FULL_HEAL 0
#define FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_MAX_ETHER 0
#define FLAG_HIDDEN_ITEM_MT_PYRE_SUMMIT_ZINC 0
#define FLAG_HIDDEN_ITEM_MT_PYRE_SUMMIT_RARE_CANDY 0
#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_B2F_ELIXIR 0
#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_B2F_MAX_REPEL 0
#define FLAG_HIDDEN_ITEM_ROUTE_120_REVIVE 0
#define FLAG_HIDDEN_ITEM_ROUTE_104_ANTIDOTE 0
#define FLAG_HIDDEN_ITEM_ROUTE_108_RARE_CANDY 0
#define FLAG_HIDDEN_ITEM_ROUTE_119_MAX_ETHER 0
#define FLAG_HIDDEN_ITEM_ROUTE_104_HEART_SCALE 0
#define FLAG_HIDDEN_ITEM_ROUTE_105_HEART_SCALE 0
#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_2 0
#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_3 0
#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_1 0
#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_2 0
#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_3 0
#define FLAG_HIDDEN_ITEM_PETALBURG_CITY_RARE_CANDY 0
#define FLAG_HIDDEN_ITEM_ROUTE_116_BLACK_GLASSES 0
#define FLAG_HIDDEN_ITEM_ROUTE_115_HEART_SCALE 0
#define FLAG_HIDDEN_ITEM_ROUTE_113_NUGGET 0
#define FLAG_HIDDEN_ITEM_ROUTE_123_PP_UP 0
#define FLAG_HIDDEN_ITEM_ROUTE_121_MAX_REVIVE 0
#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_CALCIUM 0
#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_ZINC 0
#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_PROTEIN 0
#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_IRON 0
#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_SOUTH_EAST_FULL_RESTORE 0
#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_NORTH_EAST_RARE_CANDY 0
#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_NORTH_EAST_ZINC 0
#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_SOUTH_EAST_PP_UP 0
#define FLAG_HIDDEN_ITEM_NAVEL_ROCK_TOP_SACRED_ASH 0
#define FLAG_HIDDEN_ITEM_ROUTE_123_RARE_CANDY 0
#define FLAG_HIDDEN_ITEM_ROUTE_105_BIG_PEARL 0
#define FLAG_HIDDEN_ITEM_LAVARIDGE_TOWN_ICE_HEAL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_TRICK_HOUSE_NUGGET (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_111_STARDUST (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_113_ETHER (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_114_CARBOS (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_119_CALCIUM (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_119_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_123_SUPER_REPEL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_CARBOS (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_GREEN_SHARD (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_PEARL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_BIG_PEARL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_BLUE_SHARD (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_HEART_SCALE_1 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_STARDUST (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_PEARL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_YELLOW_SHARD (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_IRON (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_126_BIG_PEARL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_127_STAR_PIECE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_127_HP_UP (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_127_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_127_RED_SHARD (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_128_PROTEIN (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_128_PEARL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_FALLARBOR_TOWN_NUGGET (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_113_TM_DOUBLE_TEAM (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_1_KEY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_2_KEY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_4_KEY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_6_KEY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SS_TIDAL_LOWER_DECK_LEFTOVERS (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_CALCIUM (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_104_POTION (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_UNDERWATER_124_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_121_HP_UP (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_121_NUGGET (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_123_REVIVE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_114_REVIVE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_PP_UP (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_104_SUPER_POTION (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_116_SUPER_POTION (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_106_STARDUST (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_106_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_GRANITE_CAVE_B2F_EVERSTONE_1 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_GRANITE_CAVE_B2F_EVERSTONE_2 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_109_REVIVE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_109_GREAT_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_1 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_110_GREAT_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_110_REVIVE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_110_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_111_PROTEIN (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_111_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_POTION (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_TINY_MUSHROOM_1 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_TINY_MUSHROOM_2 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_PETALBURG_WOODS_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_104_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_106_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_109_ETHER (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_110_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_118_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_118_IRON (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_119_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_120_RARE_CANDY_2 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_120_ZINC (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_120_RARE_CANDY_1 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_117_REPEL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_121_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_123_HYPER_POTION (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_POKE_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_JAGGED_PASS_GREAT_BALL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_JAGGED_PASS_FULL_HEAL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_MAX_ETHER (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_MT_PYRE_SUMMIT_ZINC (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_MT_PYRE_SUMMIT_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_B2F_ELIXIR (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_VICTORY_ROAD_B2F_MAX_REPEL (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_120_REVIVE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_104_ANTIDOTE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_108_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_119_MAX_ETHER (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_104_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_105_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_109_HEART_SCALE_3 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_1 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_2 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_128_HEART_SCALE_3 (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_PETALBURG_CITY_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_116_BLACK_GLASSES (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_115_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_113_NUGGET (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_123_PP_UP (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_121_MAX_REVIVE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_CALCIUM (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_ZINC (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_PROTEIN (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ARTISAN_CAVE_B1F_IRON (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_SOUTH_EAST_FULL_RESTORE (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_NORTH_EAST_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_NORTH_EAST_ZINC (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_SAFARI_ZONE_SOUTH_EAST_PP_UP (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_NAVEL_ROCK_TOP_SACRED_ASH (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_123_RARE_CANDY (FLAG_HIDDEN_ITEMS_START + 0)
#define FLAG_HIDDEN_ITEM_ROUTE_105_BIG_PEARL (FLAG_HIDDEN_ITEMS_START + 0)
// Event Flags

View File

@ -23,6 +23,7 @@
#include "config/debug.h"
#include "config/dexnav.h"
#include "config/follower_npc.h"
#include "config/frlg.h"
#include "config/general.h"
#include "config/item.h"
#include "config/overworld.h"

View File

@ -27,7 +27,7 @@ def GetWildEncounterFile():
wFile = open("src/data/wild_encounters.json")
wData = json.load(wFile)
config = Config('include/config/overworld.h', 'include/constants/rtc.h', wData)
config = Config(wData)
timeOfDay = config.times_of_day

View File

@ -468,7 +468,7 @@ const u16 gFieldEffectObjectPalette_CaveDust[] = INCBIN_U16("graphics/field_effe
const u32 gObjectEventPic_ApricornTree[] = INCBIN_U32("graphics/object_events/pics/misc/apricorn_tree.4bpp");
#if IS_FRLG
#if IS_FRLG || FRLG_INCLUDE_OBJECT_EVENTS
const u16 gObjectEventPic_RedNormal[] = INCBIN_U16("graphics/object_events/pics/people/red/red_normal.4bpp");
const u16 gObjectEventPic_RedBike[] = INCBIN_U16("graphics/object_events/pics/people/red/red_bike.4bpp");
@ -634,4 +634,4 @@ const u16 gObjectEventPic_JigglypuffOld[] = INCBIN_U16("graphics/object_events/p
const u16 gObjectEventPic_PidgeyOld[] = INCBIN_U16("graphics/object_events/pics/pokemon_old/pidgey.4bpp");
const u16 gObjectEventPic_ClefairyOld[] = INCBIN_U16("graphics/object_events/pics/pokemon_old/clefairy.4bpp");
#endif // IS_FRLG
#endif // IS_FRLG || FRLG_INCLUDE_OBJECT_EVENTS

View File

@ -4467,7 +4467,7 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_ApricornTree = {
.images = sPicTable_ApricornTree,
};
#if IS_FRLG
#if IS_FRLG || FRLG_INCLUDE_OBJECT_EVENTS
const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_RedNormal = {
.tileTag = TAG_NONE,
@ -7224,4 +7224,4 @@ const struct ObjectEventGraphicsInfo gObjectEventGraphicsInfo_SSAnne = {
.affineAnims = gDummySpriteAffineAnimTable,
};
#endif // IS_FRLG
#endif // IS_FRLG || FRLG_INCLUDE_OBJECT_EVENTS

View File

@ -645,7 +645,7 @@ const struct ObjectEventGraphicsInfo *const gObjectEventGraphicsInfoPointers[NUM
[OBJ_EVENT_GFX_OW_MON] = &gObjectEventGraphicsInfo_Follower,
[OBJ_EVENT_GFX_LIGHT_SPRITE] = &gObjectEventGraphicsInfo_BallLight,
[OBJ_EVENT_GFX_APRICORN_TREE] = &gObjectEventGraphicsInfo_ApricornTree,
#if IS_FRLG
#if IS_FRLG || FRLG_INCLUDE_OBJECT_EVENTS
[OBJ_EVENT_GFX_RED_NORMAL] = &gObjectEventGraphicsInfo_RedNormal,
[OBJ_EVENT_GFX_RED_BIKE] = &gObjectEventGraphicsInfo_RedBike,
[OBJ_EVENT_GFX_RED_SURF] = &gObjectEventGraphicsInfo_RedSurf,
@ -790,7 +790,7 @@ const struct ObjectEventGraphicsInfo *const gObjectEventGraphicsInfoPointers[NUM
[OBJ_EVENT_GFX_DEOXYS_A] = &gObjectEventGraphicsInfo_DeoxysA,
[OBJ_EVENT_GFX_DEOXYS_N] = &gObjectEventGraphicsInfo_DeoxysN,
[OBJ_EVENT_GFX_SS_ANNE] = &gObjectEventGraphicsInfo_SSAnne,
#endif // IS_FRLG
#endif // IS_FRLG || FRLG_INCLUDE_OBJECT_EVENTS
};
const struct ObjectEventGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[] = {

View File

@ -1361,7 +1361,7 @@ static const struct SpriteFrameImage sPicTable_ApricornTree[] = {
overworld_frame(gObjectEventPic_ApricornTree, 2, 2, 0),
};
#if IS_FRLG
#if IS_FRLG || FRLG_INCLUDE_OBJECT_EVENTS
static const struct SpriteFrameImage sPicTable_RedNormal[] = {
overworld_frame(gObjectEventPic_RedNormal, 2, 4, 0),
@ -3028,4 +3028,4 @@ static const struct SpriteFrameImage sPicTable_MomFrlg[] = {
overworld_frame(gObjectEventPic_MomFrlg, 2, 4, 2),
};
#endif // IS_FRLG
#endif // IS_FRLG || FRLG_INCLUDE_OBJECT_EVENTS

View File

@ -1635,7 +1635,7 @@ const u16 gTilesetPalettes_UnionRoom[][16] =
const u32 gTilesetTiles_UnionRoom[] = INCBIN_U32("data/tilesets/secondary/union_room/tiles.4bpp.fastSmol");
#if IS_FRLG
#if IS_FRLG || FRLG_INCLUDE_KANTO_TILESETS
const u32 gTilesetTiles_Building_Frlg[] = INCBIN_U32("data/tilesets/primary/building_frlg/tiles.4bpp.smol");
@ -3047,4 +3047,4 @@ const u16 ALIGNED(4) gTilesetPalettes_General_Frlg[][16] =
const u32 gTilesetTiles_General_Frlg[] = INCBIN_U32("data/tilesets/primary/general_frlg/tiles.4bpp.smol");
#endif // IS_FRLG
#endif // IS_FRLG || FRLG_INCLUDE_KANTO_TILESETS

View File

@ -28,7 +28,7 @@ const struct Tileset gTileset_SecretBaseRedCave =
const struct Tileset *const gTilesetPointer_SecretBase = &gTileset_SecretBase;
const struct Tileset *const gTilesetPointer_SecretBaseRedCave = &gTileset_SecretBaseRedCave;
#if !IS_FRLG
#if !IS_FRLG || EM_INCLUDE_HOENN_TILESETS
const struct Tileset gTileset_General =
{
@ -833,7 +833,9 @@ const struct Tileset gTileset_UnionRoom =
.callback = NULL,
};
#else
#endif // !IS_FRLG || EM_INCLUDE_HOENN_TILESETS
#if IS_FRLG || FRLG_INCLUDE_KANTO_TILESETS
// FRLG tilesets
const struct Tileset gTileset_BuildingFrlg =
@ -1540,4 +1542,4 @@ const struct Tileset gTileset_HallOfFame =
.callback = NULL,
};
#endif // IS_FRLG
#endif // IS_FRLG || FRLG_INCLUDE_KANTO_TILESETS

View File

@ -4,7 +4,7 @@ const u16 gMetatileAttributes_SecretBasePrimary[] = INCBIN_U16("data/tilesets/pr
const u16 gMetatiles_SecretBaseSecondary[] = INCBIN_U16("data/tilesets/secondary/secret_base/metatiles.bin");
const u16 gMetatileAttributes_SecretBaseSecondary[] = INCBIN_U16("data/tilesets/secondary/secret_base/metatile_attributes.bin");
#if !IS_FRLG
#if !IS_FRLG || EM_INCLUDE_HOENN_TILESETS
const u16 gMetatiles_General[] = INCBIN_U16("data/tilesets/primary/general/metatiles.bin");
const u16 gMetatileAttributes_General[] = INCBIN_U16("data/tilesets/primary/general/metatile_attributes.bin");
@ -210,7 +210,9 @@ const u16 gMetatileAttributes_MysteryEventsHouse[] = INCBIN_U16("data/tilesets/s
const u16 gMetatiles_UnionRoom[] = INCBIN_U16("data/tilesets/secondary/union_room/metatiles.bin");
const u16 gMetatileAttributes_UnionRoom[] = INCBIN_U16("data/tilesets/secondary/union_room/metatile_attributes.bin");
#else
#endif // !IS_FRLG || EM_INCLUDE_HOENN_TILESETS
#if IS_FRLG || FRLG_INCLUDE_KANTO_TILESETS
const u16 gMetatiles_Building_Frlg[] = INCBIN_U16("data/tilesets/primary/building_frlg/metatiles.bin");
const u16 gMetatileAttributes_Building_Frlg[] = INCBIN_U16("data/tilesets/primary/building_frlg/metatile_attributes.bin");
@ -407,4 +409,4 @@ const u16 gMetatileAttributes_PokemonLeague[] = INCBIN_U16("data/tilesets/second
const u16 gMetatiles_HallOfFame[] = INCBIN_U16("data/tilesets/secondary/hall_of_fame_frlg/metatiles.bin");
const u16 gMetatileAttributes_HallOfFame[] = INCBIN_U16("data/tilesets/secondary/hall_of_fame_frlg/metatile_attributes.bin");
#endif // IS_FRLG
#endif // IS_FRLG || FRLG_INCLUDE_KANTO_TILESETS

View File

@ -522,7 +522,7 @@ static const struct SpritePalette sObjectEventSpritePalettes[] = {
{gObjectEventPal_Lugia, OBJ_EVENT_PAL_TAG_LUGIA},
{gObjectEventPal_RubySapphireBrendan, OBJ_EVENT_PAL_TAG_RS_BRENDAN},
{gObjectEventPal_RubySapphireMay, OBJ_EVENT_PAL_TAG_RS_MAY},
#if IS_FRLG
#if IS_FRLG || FRLG_INCLUDE_OBJECT_EVENTS
{gObjectEventPal_PlayerFrlg, OBJ_EVENT_PAL_TAG_PLAYER_RED},
{gObjectEventPal_PlayerReflectionFrlg, OBJ_EVENT_PAL_TAG_PLAYER_RED_REFLECTION},
{gObjectEventPal_PlayerFrlg, OBJ_EVENT_PAL_TAG_PLAYER_GREEN},
@ -538,7 +538,7 @@ static const struct SpritePalette sObjectEventSpritePalettes[] = {
{gObjectEventPal_Meteorite, OBJ_EVENT_PAL_TAG_METEORITE},
{gObjectEventPal_SSAnne, OBJ_EVENT_PAL_TAG_SS_ANNE},
{gObjectEventPal_Seagallop, OBJ_EVENT_PAL_TAG_SEAGALLOP},
#endif // IS_FRLG
#endif // IS_FRLG || FRLG_INCLUDE_OBJECT_EVENTS
#if OW_FOLLOWERS_POKEBALLS
{gObjectEventPal_MasterBall, OBJ_EVENT_PAL_TAG_BALL_MASTER},
{gObjectEventPal_UltraBall, OBJ_EVENT_PAL_TAG_BALL_ULTRA},

View File

@ -33,6 +33,12 @@ using json11::Json;
#include <filesystem>
#define TRUE 1
#define FALSE 0
// expansion headers
#include "../../include/config/frlg.h"
string version;
// System directory separator
string sep;
@ -735,8 +741,8 @@ void process_groups(string groups_filepath, vector<string> &map_filepaths, strin
}
string map_name = json_to_string(map_data, "name");
if ((version == "emerald" && region != "REGION_HOENN")
|| (version == "firered" && region != "REGION_KANTO")) {
if ((version == "emerald" && region != "REGION_HOENN" && !FRLG_INCLUDE_KANTO_MAPS)
|| (version == "firered" && region != "REGION_KANTO" && !EM_INCLUDE_HOENN_MAPS)) {
invalid_maps.push_back(map_name);
}
}
@ -772,8 +778,8 @@ string generate_layout_headers_text(Json layouts_data) {
if (layout_version.empty()) {
layout_version = "emerald";
}
if ((version == "emerald" && layout_version != "emerald")
|| (version == "firered" && layout_version != "frlg"))
if ((version == "emerald" && layout_version != "emerald" && !FRLG_INCLUDE_KANTO_MAPS)
|| (version == "firered" && layout_version != "frlg" && !EM_INCLUDE_HOENN_MAPS))
continue;
string layoutName = json_to_string(layout, "name");
string border_label = layoutName + "_Border";
@ -827,7 +833,8 @@ string generate_layouts_table_text(Json layouts_data) {
if (layout_version.empty()) {
layout_version = "emerald";
}
if ((version == "emerald" && layout_version != "emerald") || (version == "firered" && layout_version != "frlg")) {
if ((version == "emerald" && layout_version != "emerald" && !FRLG_INCLUDE_KANTO_MAPS)
|| (version == "firered" && layout_version != "frlg" && !EM_INCLUDE_HOENN_MAPS)) {
text << "\t.4byte NULL\n";
} else {
string layout_name = json_to_string(layout, "name", true);

View File

@ -2,12 +2,17 @@ import json
import re
class Config:
def __init__(self, config_file_name, rtc_constants_file_name, encounters_json_data):
def __init__(self, encounters_json_data):
ow_config_file_name = 'include/config/overworld.h'
frlg_config_file_name = 'include/config/frlg.h'
rtc_constants_file_name = 'include/constants/rtc.h'
self.times_of_day = None
self.mon_types = None
self.time_encounters = None
self.disable_time_fallback = None
self.time_fallback = None
self.use_firered_wild = None
self.ParseTimeEnum(rtc_constants_file_name)
if self.times_of_day == None:
@ -17,18 +22,26 @@ class Config:
if self.mon_types == None:
raise Exception("No fields defined in 'wild_encounters.json'")
with open(config_file_name, 'r') as config_file:
with open(ow_config_file_name, 'r') as config_file:
lines = config_file.readlines()
for line in lines:
self.ParseTimeConfig(line)
if self.time_encounters == None:
raise Exception("OW_TIME_OF_DAY_ENCOUNTERS not defined.")
if self.disable_time_fallback == None:
raise Exception("OW_TIME_OF_DAY_DISABLE_FALLBACK not defined.")
if self.time_fallback == None:
raise Exception("OW_TIME_OF_DAY_FALLBACK not defined.")
with open(frlg_config_file_name, 'r') as config_file:
lines = config_file.readlines()
for line in lines:
self.ParseFRLGConfig(line)
if self.use_firered_wild == None:
raise Exception("FRLG_KANTO_MAP_WILD_PKMN not defined.")
def ParseTimeEnum(self, rtc_constants_file_name):
with open(rtc_constants_file_name, 'r') as rtc_constants_file:
DEFAULT_TIME_PAT = re.compile(r"enum\s+TimeOfDay\s*\{(?P<rtc_val>[\s*\w+,\=\d*]+)\s*\}\s*\;")
@ -64,13 +77,17 @@ class Config:
if m:
self.time_fallback = m.group(1)
def ParseFRLGConfig(self, line):
m = re.search(r'#define FRLG_KANTO_MAP_WILD_PKMN\s+(\w+)', line)
if m:
self.use_firered_wild = m.group(1)
class WildEncounterAssembler:
def __init__(self, output_file, json_data, config):
self.output_file = output_file
self.json_data = json_data
self.config = config
def WriteLine(self, line="", indents = 0):
self.output_file.write(4 * indents * " " + line + "\n")
@ -101,7 +118,7 @@ class WildEncounterAssembler:
for group_name, indices in groups.items():
for index in indices:
group_name_mapping[index] = "_" + group_name.upper()
for idx, rate in enumerate(encounter_rates):
macro_name = macro_base + group_name_mapping[idx] + "_SLOT_" + str(idx)
macro_value = str(rate)
@ -118,7 +135,7 @@ class WildEncounterAssembler:
self.WriteMacro(macro_total_name, "(" + previous_macro + ")")
macro_total_name = macro_base + group_name_mapping[-1] + "_TOTAL"
self.WriteLine()
def WriteMonInfos(self, name, mons, encounter_rate):
info_name = name + "Info"
self.WriteLine(f"const struct WildPokemon {name}[] =")
@ -133,7 +150,7 @@ class WildEncounterAssembler:
self.WriteLine()
self.WriteLine(f"const struct WildPokemonInfo {info_name} = {{ {encounter_rate}, {name} }};")
self.WriteLine()
def WriteTerminator(self):
self.WriteLine("{", 1)
self.WriteLine(".mapGroup = MAP_GROUP(MAP_UNDEFINED),", 2)
@ -163,13 +180,18 @@ class WildEncounterAssembler:
encounter_data = map_data
map_group = map_data["mapGroup"]
map_num = map_data["mapNum"]
version = "EMERALD"
defined = '#if defined(EMERALD) || EM_INCLUDE_HOENN_MAPS'
if "FireRed" in shared_label:
version = "FIRERED"
defined = '#if defined(FIRERED)'
if self.config.use_firered_wild == 'FIRE_RED':
defined += ' || FRLG_INCLUDE_KANTO_MAPS'
elif "LeafGreen" in shared_label:
version = "LEAFGREEN"
self.WriteLine(f"#ifdef {version}")
defined = '#if defined(LEAFGREEN)'
if self.config.use_firered_wild == 'LEAF_GREEN':
defined += ' || FRLG_INCLUDE_KANTO_MAPS'
self.WriteLine(f"{defined}")
self.WriteLine("{", 1)
self.WriteLine(f".mapGroup = {map_group},", 2)
@ -192,7 +214,7 @@ class WildEncounterAssembler:
self.WriteLine(f".{member_name} = {value},", 5)
self.WriteLine("},", 3)
self.WriteLine("},", 2)
self.WriteLine("},", 1)
self.WriteLine(f"#endif")
@ -236,17 +258,23 @@ class WildEncounterAssembler:
headers["data"][shared_label]["mapGroup"] = map_group
headers["data"][shared_label]["mapNum"] = map_num
version = "EMERALD"
defined = '#if defined(EMERALD) || EM_INCLUDE_HOENN_MAPS'
if "FireRed" in shared_label:
version = "FIRERED"
defined = '#if defined(FIRERED)'
if self.config.use_firered_wild == 'FIRE_RED':
defined += ' || FRLG_INCLUDE_KANTO_MAPS'
elif "LeafGreen" in shared_label:
version = "LEAFGREEN"
self.WriteLine(f"#ifdef {version}")
defined = '#if defined(LEAFGREEN)'
if self.config.use_firered_wild == 'LEAF_GREEN':
defined += ' || FRLG_INCLUDE_KANTO_MAPS'
self.WriteLine(f"{defined}")
for mon_type in self.config.mon_types:
if mon_type not in map_encounters:
headers["data"][shared_label][mon_type] = "NULL"
continue
mons_entry = map_encounters[mon_type]
encounter_rate = mons_entry["encounter_rate"]
mons = mons_entry["mons"]
@ -261,7 +289,7 @@ class WildEncounterAssembler:
def ConvertToHeaderFile(json_data):
with open('src/data/wild_encounters.h', 'w') as output_file:
config = Config('include/config/overworld.h', 'include/constants/rtc.h', json_data)
config = Config(json_data)
assembler = WildEncounterAssembler(output_file, json_data, config)
assembler.WriteHeader()
assembler.WriteMacros()
@ -271,7 +299,7 @@ def main():
with open('src/data/wild_encounters.json', 'r') as json_file:
json_data = json.load(json_file)
ConvertToHeaderFile(json_data)
if __name__ == '__main__':
main()