diff options
-rwxr-xr-x | constants/hide_show_constants.asm | 3 | ||||
-rwxr-xr-x | data/maps/hide_show_data.asm | 1129 | ||||
-rw-r--r-- | engine/overworld/missable_objects.asm | 14 |
3 files changed, 568 insertions, 578 deletions
diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 1aeb9149..21c83644 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -1,3 +1,6 @@ +HIDE EQU $11 +SHOW EQU $15 + ; this is a list of the sprites that can be enabled/disabled during the game ; sprites marked with an X are constants that are never used ; because those sprites are not (de)activated in a map's script diff --git a/data/maps/hide_show_data.asm b/data/maps/hide_show_data.asm index bc89d600..4203e90a 100755 --- a/data/maps/hide_show_data.asm +++ b/data/maps/hide_show_data.asm @@ -1,577 +1,564 @@ -; data for default hidden/shown -; objects for each map ($00-$F8) +; default hidden/shown objects for each map -; Table of 2-Byte pointers, one pointer per map, -; goes up to Map_F7, ends with -1. -; points to table listing all missable object in the area MapHSPointers: - dw MapHS00 - dw MapHS01 - dw MapHS02 - dw MapHS03 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS0A - dw MapHSXX - dw MapHSXX - dw MapHS0D - dw MapHSXX - dw MapHS0F - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS14 - dw MapHSXX - dw MapHSXX - dw MapHS17 - dw MapHSXX - dw MapHSXX - dw MapHS1A - dw MapHS1B - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS21 - dw MapHSXX - dw MapHS23 - dw MapHS24 - dw MapHSXX - dw MapHSXX - dw MapHS27 - dw MapHS28 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS2D - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS33 - dw MapHS34 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS3B - dw MapHSXX - dw MapHS3D - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS53 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS58 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS60 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS66 - dw MapHS67 - dw MapHS68 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS6C - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS78 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS84 - dw MapHSXX - dw MapHSXX - dw MapHS87 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS8F - dw MapHS90 - dw MapHS91 - dw MapHS92 - dw MapHS93 - dw MapHS94 - dw MapHS95 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS9B - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS9F - dw MapHSA0 - dw MapHSA1 - dw MapHSA2 - dw MapHSXX - dw MapHSXX - dw MapHSA5 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSB1 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSB5 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSC0 - dw MapHSXX - dw MapHSC2 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSC6 - dw MapHSC7 - dw MapHSC8 - dw MapHSC9 - dw MapHSCA - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSCF - dw MapHSD0 - dw MapHSD1 - dw MapHSD2 - dw MapHSD3 - dw MapHSD4 - dw MapHSD5 - dw MapHSD6 - dw MapHSD7 - dw MapHSD8 - dw MapHSD9 - dw MapHSDA - dw MapHSDB - dw MapHSDC - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSE2 - dw MapHSE3 - dw MapHSE4 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSE9 - dw MapHSEA - dw MapHSEB - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSF4 - dw MapHSXX - dw MapHSXX - dw MapHSXX +; entries correspond to map ids + dw PalletTownHS + dw ViridianCityHS + dw PewterCityHS + dw CeruleanCityHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw SaffronCityHS + dw NoHS + dw NoHS + dw Route2HS + dw NoHS + dw Route4HS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw Route9HS + dw NoHS + dw NoHS + dw Route12HS + dw NoHS + dw NoHS + dw Route15HS + dw Rout16eHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw Route22HS + dw NoHS + dw Route24HS + dw Route25HS + dw NoHS + dw NoHS + dw BluesHouseHS + dw OaksLabHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw ViridianGymHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw ViridianForestHS + dw Museum1FHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw MtMoon1FHS + dw NoHS + dw MtMoonB2FHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw PowerPlantHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw BillsHouseHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw SSAnne2FHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw SSAnne1FRoomsHS + dw SSAnne2FRoomsHS + dw SSAnneB1FRoomsHS + dw NoHS + dw NoHS + dw NoHS + dw VictoryRoad1FHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw ChampionsRoomHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw CeladonMansionRoofHouseHS + dw NoHS + dw NoHS + dw GameCornerHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw PokemonTower2FHS + dw PokemonTower3FHS + dw PokemonTower4FHS + dw PokemonTower5FHS + dw PokemonTower6FHS + dw PokemonTower7FHS + dw MrFujisHouseHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw WardensHouseHS + dw NoHS + dw NoHS + dw NoHS + dw SeafoamIslandsB1FHS + dw SeafoamIslandsB2FHS + dw SeafoamIslandsB3FHS + dw SeafoamIslandsB4FHS + dw NoHS + dw NoHS + dw PokemonMansion1FHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw FightingDojoHS + dw NoHS + dw NoHS + dw NoHS + dw SilphCo1FHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw SeafoamIslands1FHS + dw NoHS + dw VictoryRoad2FHS + dw NoHS + dw NoHS + dw NoHS + dw VictoryRoad3FHS + dw RocketHideoutB1FHS + dw RocketHideoutB2FHS + dw RocketHideoutB3FHS + dw RocketHideoutB4FHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw SilphCo2FHS + dw SilphCo3FHS + dw SilphCo4FHS + dw SilphCo5FHS + dw SilphCo6FHS + dw SilphCo7FHS + dw SilphCo8FHS + dw PokemonMansion2FHS + dw PokemonMansion3FHS + dw PokemonMansionB1FHS + dw SafariZoneEastHS + dw SafariZoneNorthHS + dw SafariZoneWestHS + dw SafariZoneCenterHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw CeruleanCave2FHS + dw CeruleanCaveB1FHS + dw CeruleanCaveHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw SilphCo9FHS + dw SilphCo10FHS + dw SilphCo11FHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw UnusedMapF4HS + dw NoHS + dw NoHS + dw NoHS dw -1 ; end -; Structure: -; 3 bytes per object -; [Map_ID][Object_ID][H/S] -; -; Program stops reading when either: -; a) Map_ID = $FF -; b) Map_ID ≠ currentMapID -; -; This Data is loaded into RAM at wd5ce-$D5F?. (wMissableObjectList) +NoHS: + db $FF, $FF, $FF -; These constants come from the bytes for Predef functions: -Hide equ $11 -Show equ $15 +MissableObjects: +; entries correspond to HS_* constants +; format: map id, object id, HIDE/SHOW -MapHSXX: - db $FF,$FF,$FF -MapHS00: - db PALLET_TOWN,$01,Hide -MapHS01: - db VIRIDIAN_CITY,$05,Show - db VIRIDIAN_CITY,$07,Hide -MapHS02: - db PEWTER_CITY,$03,Show - db PEWTER_CITY,$05,Show -MapHS03: - db CERULEAN_CITY,$01,Hide - db CERULEAN_CITY,$02,Show - db CERULEAN_CITY,$06,Hide - db CERULEAN_CITY,$0A,Show - db CERULEAN_CITY,$0B,Show -MapHS0A: - db SAFFRON_CITY,$01,Show - db SAFFRON_CITY,$02,Show - db SAFFRON_CITY,$03,Show - db SAFFRON_CITY,$04,Show - db SAFFRON_CITY,$05,Show - db SAFFRON_CITY,$06,Show - db SAFFRON_CITY,$07,Show - db SAFFRON_CITY,$08,Hide - db SAFFRON_CITY,$09,Hide - db SAFFRON_CITY,$0A,Hide - db SAFFRON_CITY,$0B,Hide - db SAFFRON_CITY,$0C,Hide - db SAFFRON_CITY,$0D,Hide - db SAFFRON_CITY,$0E,Show - db SAFFRON_CITY,$0F,Hide -MapHS0D: - db ROUTE_2,$01,Show - db ROUTE_2,$02,Show -MapHS0F: - db ROUTE_4,$03,Show -MapHS14: - db ROUTE_9,$0A,Show -MapHS17: - db ROUTE_12,$01,Show - db ROUTE_12,$09,Show - db ROUTE_12,$0A,Show -MapHS1A: - db ROUTE_15,$0B,Show -MapHS1B: - db ROUTE_16,$07,Show -MapHS21: - db ROUTE_22,$01,Hide - db ROUTE_22,$02,Hide -MapHS23: - db ROUTE_24,$01,Show - db ROUTE_24,$08,Show -MapHS24: - db ROUTE_25,$0A,Show -MapHS27: - db BLUES_HOUSE,$01,Show - db BLUES_HOUSE,$02,Hide - db BLUES_HOUSE,$03,Show -MapHS28: - db OAKS_LAB,$01,Show - db OAKS_LAB,$02,Show - db OAKS_LAB,$03,Show - db OAKS_LAB,$04,Show - db OAKS_LAB,$05,Hide - db OAKS_LAB,$06,Show - db OAKS_LAB,$07,Show - db OAKS_LAB,$08,Hide -MapHS2D: - db VIRIDIAN_GYM,$01,Show - db VIRIDIAN_GYM,$0B,Show -MapHS34: - db MUSEUM_1F,$05,Show -MapHSE4: - db CERULEAN_CAVE_1F,$01,Show - db CERULEAN_CAVE_1F,$02,Show - db CERULEAN_CAVE_1F,$03,Show -MapHS8F: - db POKEMON_TOWER_2F,$01,Show -MapHS90: - db POKEMON_TOWER_3F,$04,Show -MapHS91: - db POKEMON_TOWER_4F,$04,Show - db POKEMON_TOWER_4F,$05,Show - db POKEMON_TOWER_4F,$06,Show -MapHS92: - db POKEMON_TOWER_5F,$06,Show -MapHS93: - db POKEMON_TOWER_6F,$04,Show - db POKEMON_TOWER_6F,$05,Show -MapHS94: - db POKEMON_TOWER_7F,$01,Show - db POKEMON_TOWER_7F,$02,Show - db POKEMON_TOWER_7F,$03,Show - db POKEMON_TOWER_7F,$04,Show -MapHS95: - db MR_FUJIS_HOUSE,$05,Hide -MapHS84: - db CELADON_MANSION_ROOF_HOUSE,$02,Show -MapHS87: - db GAME_CORNER,$0B,Show -MapHS9B: - db WARDENS_HOUSE,$02,Show -MapHSA5: - db POKEMON_MANSION_1F,$02,Show - db POKEMON_MANSION_1F,$03,Show -MapHSB1: - db FIGHTING_DOJO,$06,Show - db FIGHTING_DOJO,$07,Show -MapHSB5: - db SILPH_CO_1F,$01,Hide -MapHS53: - db POWER_PLANT,$01,Show - db POWER_PLANT,$02,Show - db POWER_PLANT,$03,Show - db POWER_PLANT,$04,Show - db POWER_PLANT,$05,Show - db POWER_PLANT,$06,Show - db POWER_PLANT,$07,Show - db POWER_PLANT,$08,Show - db POWER_PLANT,$09,Show - db POWER_PLANT,$0A,Show - db POWER_PLANT,$0B,Show - db POWER_PLANT,$0C,Show - db POWER_PLANT,$0D,Show - db POWER_PLANT,$0E,Show -MapHSC2: - db VICTORY_ROAD_2F,$06,Show - db VICTORY_ROAD_2F,$07,Show - db VICTORY_ROAD_2F,$08,Show - db VICTORY_ROAD_2F,$09,Show - db VICTORY_ROAD_2F,$0A,Show - db VICTORY_ROAD_2F,$0D,Show -MapHS58: - db BILLS_HOUSE,$01,Show - db BILLS_HOUSE,$02,Hide - db BILLS_HOUSE,$03,Hide -MapHS33: - db VIRIDIAN_FOREST,$05,Show - db VIRIDIAN_FOREST,$06,Show - db VIRIDIAN_FOREST,$07,Show -MapHS3B: - db MT_MOON_1F,$08,Show - db MT_MOON_1F,$09,Show - db MT_MOON_1F,$0A,Show - db MT_MOON_1F,$0B,Show - db MT_MOON_1F,$0C,Show - db MT_MOON_1F,$0D,Show -MapHS3D: - db MT_MOON_B2F,$06,Show - db MT_MOON_B2F,$07,Show - db MT_MOON_B2F,$08,Show - db MT_MOON_B2F,$09,Show -MapHS60: - db SS_ANNE_2F,$02,Hide -MapHS66: - db SS_ANNE_1F_ROOMS,$0A,Show -MapHS67: - db SS_ANNE_2F_ROOMS,$06,Show - db SS_ANNE_2F_ROOMS,$09,Show -MapHS68: - db SS_ANNE_B1F_ROOMS,$09,Show - db SS_ANNE_B1F_ROOMS,$0A,Show - db SS_ANNE_B1F_ROOMS,$0B,Show -MapHSC6: - db VICTORY_ROAD_3F,$05,Show - db VICTORY_ROAD_3F,$06,Show - db VICTORY_ROAD_3F,$0A,Show -MapHSC7: - db ROCKET_HIDEOUT_B1F,$06,Show - db ROCKET_HIDEOUT_B1F,$07,Show -MapHSC8: - db ROCKET_HIDEOUT_B2F,$02,Show - db ROCKET_HIDEOUT_B2F,$03,Show - db ROCKET_HIDEOUT_B2F,$04,Show - db ROCKET_HIDEOUT_B2F,$05,Show -MapHSC9: - db ROCKET_HIDEOUT_B3F,$03,Show - db ROCKET_HIDEOUT_B3F,$04,Show -MapHSCA: - db ROCKET_HIDEOUT_B4F,$01,Show - db ROCKET_HIDEOUT_B4F,$05,Show - db ROCKET_HIDEOUT_B4F,$06,Show - db ROCKET_HIDEOUT_B4F,$07,Show - db ROCKET_HIDEOUT_B4F,$08,Hide - db ROCKET_HIDEOUT_B4F,$09,Hide -MapHSCF: - db SILPH_CO_2F,$01,Show - db SILPH_CO_2F,$02,Show - db SILPH_CO_2F,$03,Show - db SILPH_CO_2F,$04,Show - db SILPH_CO_2F,$05,Show -MapHSD0: - db SILPH_CO_3F,$02,Show - db SILPH_CO_3F,$03,Show - db SILPH_CO_3F,$04,Show -MapHSD1: - db SILPH_CO_4F,$02,Show - db SILPH_CO_4F,$03,Show - db SILPH_CO_4F,$04,Show - db SILPH_CO_4F,$05,Show - db SILPH_CO_4F,$06,Show - db SILPH_CO_4F,$07,Show -MapHSD2: - db SILPH_CO_5F,$02,Show - db SILPH_CO_5F,$03,Show - db SILPH_CO_5F,$04,Show - db SILPH_CO_5F,$05,Show - db SILPH_CO_5F,$06,Show - db SILPH_CO_5F,$07,Show - db SILPH_CO_5F,$08,Show -MapHSD3: - db SILPH_CO_6F,$06,Show - db SILPH_CO_6F,$07,Show - db SILPH_CO_6F,$08,Show - db SILPH_CO_6F,$09,Show - db SILPH_CO_6F,$0A,Show -MapHSD4: - db SILPH_CO_7F,$05,Show - db SILPH_CO_7F,$06,Show - db SILPH_CO_7F,$07,Show - db SILPH_CO_7F,$08,Show - db SILPH_CO_7F,$09,Show - db SILPH_CO_7F,$0A,Show - db SILPH_CO_7F,$0B,Show - db SILPH_CO_7F,$0C,Show -MapHSD5: - db SILPH_CO_8F,$02,Show - db SILPH_CO_8F,$03,Show - db SILPH_CO_8F,$04,Show -MapHSE9: - db SILPH_CO_9F,$02,Show - db SILPH_CO_9F,$03,Show - db SILPH_CO_9F,$04,Show -MapHSEA: - db SILPH_CO_10F,$01,Show - db SILPH_CO_10F,$02,Show - db SILPH_CO_10F,$03,Show - db SILPH_CO_10F,$04,Show - db SILPH_CO_10F,$05,Show - db SILPH_CO_10F,$06,Show -MapHSEB: - db SILPH_CO_11F,$03,Show - db SILPH_CO_11F,$04,Show - db SILPH_CO_11F,$05,Show -MapHSF4: - db UNUSED_MAP_F4,$02,Show -MapHSD6: - db POKEMON_MANSION_2F,$02,Show -MapHSD7: - db POKEMON_MANSION_3F,$03,Show - db POKEMON_MANSION_3F,$04,Show -MapHSD8: - db POKEMON_MANSION_B1F,$03,Show - db POKEMON_MANSION_B1F,$04,Show - db POKEMON_MANSION_B1F,$05,Show - db POKEMON_MANSION_B1F,$06,Show - db POKEMON_MANSION_B1F,$08,Show -MapHSD9: - db SAFARI_ZONE_EAST,$01,Show - db SAFARI_ZONE_EAST,$02,Show - db SAFARI_ZONE_EAST,$03,Show - db SAFARI_ZONE_EAST,$04,Show -MapHSDA: - db SAFARI_ZONE_NORTH,$01,Show - db SAFARI_ZONE_NORTH,$02,Show -MapHSDB: - db SAFARI_ZONE_WEST,$01,Show - db SAFARI_ZONE_WEST,$02,Show - db SAFARI_ZONE_WEST,$03,Show - db SAFARI_ZONE_WEST,$04,Show -MapHSDC: - db SAFARI_ZONE_CENTER,$01,Show -MapHSE2: - db CERULEAN_CAVE_2F,$01,Show - db CERULEAN_CAVE_2F,$02,Show - db CERULEAN_CAVE_2F,$03,Show -MapHSE3: - db CERULEAN_CAVE_B1F,$01,Show - db CERULEAN_CAVE_B1F,$02,Show - db CERULEAN_CAVE_B1F,$03,Show -MapHS6C: - db VICTORY_ROAD_1F,$03,Show - db VICTORY_ROAD_1F,$04,Show -MapHS78: - db CHAMPIONS_ROOM,$02,Hide -MapHSC0: - db SEAFOAM_ISLANDS_1F,$01,Show - db SEAFOAM_ISLANDS_1F,$02,Show -MapHS9F: - db SEAFOAM_ISLANDS_B1F,$01,Hide - db SEAFOAM_ISLANDS_B1F,$02,Hide -MapHSA0: - db SEAFOAM_ISLANDS_B2F,$01,Hide - db SEAFOAM_ISLANDS_B2F,$02,Hide -MapHSA1: - db SEAFOAM_ISLANDS_B3F,$02,Show - db SEAFOAM_ISLANDS_B3F,$03,Show - db SEAFOAM_ISLANDS_B3F,$05,Hide - db SEAFOAM_ISLANDS_B3F,$06,Hide -MapHSA2: - db SEAFOAM_ISLANDS_B4F,$01,Hide - db SEAFOAM_ISLANDS_B4F,$02,Hide - db SEAFOAM_ISLANDS_B4F,$03,Show - - db $FF,$01,Show +PalletTownHS: + db PALLET_TOWN, $01, HIDE +ViridianCityHS: + db VIRIDIAN_CITY, $05, SHOW + db VIRIDIAN_CITY, $07, HIDE +PewterCityHS: + db PEWTER_CITY, $03, SHOW + db PEWTER_CITY, $05, SHOW +CeruleanCityHS: + db CERULEAN_CITY, $01, HIDE + db CERULEAN_CITY, $02, SHOW + db CERULEAN_CITY, $06, HIDE + db CERULEAN_CITY, $0A, SHOW + db CERULEAN_CITY, $0B, SHOW +SaffronCityHS: + db SAFFRON_CITY, $01, SHOW + db SAFFRON_CITY, $02, SHOW + db SAFFRON_CITY, $03, SHOW + db SAFFRON_CITY, $04, SHOW + db SAFFRON_CITY, $05, SHOW + db SAFFRON_CITY, $06, SHOW + db SAFFRON_CITY, $07, SHOW + db SAFFRON_CITY, $08, HIDE + db SAFFRON_CITY, $09, HIDE + db SAFFRON_CITY, $0A, HIDE + db SAFFRON_CITY, $0B, HIDE + db SAFFRON_CITY, $0C, HIDE + db SAFFRON_CITY, $0D, HIDE + db SAFFRON_CITY, $0E, SHOW + db SAFFRON_CITY, $0F, HIDE +Route2HS: + db ROUTE_2, $01, SHOW + db ROUTE_2, $02, SHOW +Route4HS: + db ROUTE_4, $03, SHOW +Route9HS: + db ROUTE_9, $0A, SHOW +Route12HS: + db ROUTE_12, $01, SHOW + db ROUTE_12, $09, SHOW + db ROUTE_12, $0A, SHOW +Route15HS: + db ROUTE_15, $0B, SHOW +Rout16eHS: + db ROUTE_16, $07, SHOW +Route22HS: + db ROUTE_22, $01, HIDE + db ROUTE_22, $02, HIDE +Route24HS: + db ROUTE_24, $01, SHOW + db ROUTE_24, $08, SHOW +Route25HS: + db ROUTE_25, $0A, SHOW +BluesHouseHS: + db BLUES_HOUSE, $01, SHOW + db BLUES_HOUSE, $02, HIDE + db BLUES_HOUSE, $03, SHOW +OaksLabHS: + db OAKS_LAB, $01, SHOW + db OAKS_LAB, $02, SHOW + db OAKS_LAB, $03, SHOW + db OAKS_LAB, $04, SHOW + db OAKS_LAB, $05, HIDE + db OAKS_LAB, $06, SHOW + db OAKS_LAB, $07, SHOW + db OAKS_LAB, $08, HIDE +ViridianGymHS: + db VIRIDIAN_GYM, $01, SHOW + db VIRIDIAN_GYM, $0B, SHOW +Museum1FHS: + db MUSEUM_1F, $05, SHOW +CeruleanCaveHS: + db CERULEAN_CAVE_1F, $01, SHOW + db CERULEAN_CAVE_1F, $02, SHOW + db CERULEAN_CAVE_1F, $03, SHOW +PokemonTower2FHS: + db POKEMON_TOWER_2F, $01, SHOW +PokemonTower3FHS: + db POKEMON_TOWER_3F, $04, SHOW +PokemonTower4FHS: + db POKEMON_TOWER_4F, $04, SHOW + db POKEMON_TOWER_4F, $05, SHOW + db POKEMON_TOWER_4F, $06, SHOW +PokemonTower5FHS: + db POKEMON_TOWER_5F, $06, SHOW +PokemonTower6FHS: + db POKEMON_TOWER_6F, $04, SHOW + db POKEMON_TOWER_6F, $05, SHOW +PokemonTower7FHS: + db POKEMON_TOWER_7F, $01, SHOW + db POKEMON_TOWER_7F, $02, SHOW + db POKEMON_TOWER_7F, $03, SHOW + db POKEMON_TOWER_7F, $04, SHOW +MrFujisHouseHS: + db MR_FUJIS_HOUSE, $05, HIDE +CeladonMansionRoofHouseHS: + db CELADON_MANSION_ROOF_HOUSE, $02, SHOW +GameCornerHS: + db GAME_CORNER, $0B, SHOW +WardensHouseHS: + db WARDENS_HOUSE, $02, SHOW +PokemonMansion1FHS: + db POKEMON_MANSION_1F, $02, SHOW + db POKEMON_MANSION_1F, $03, SHOW +FightingDojoHS: + db FIGHTING_DOJO, $06, SHOW + db FIGHTING_DOJO, $07, SHOW +SilphCo1FHS: + db SILPH_CO_1F, $01, HIDE +PowerPlantHS: + db POWER_PLANT, $01, SHOW + db POWER_PLANT, $02, SHOW + db POWER_PLANT, $03, SHOW + db POWER_PLANT, $04, SHOW + db POWER_PLANT, $05, SHOW + db POWER_PLANT, $06, SHOW + db POWER_PLANT, $07, SHOW + db POWER_PLANT, $08, SHOW + db POWER_PLANT, $09, SHOW + db POWER_PLANT, $0A, SHOW + db POWER_PLANT, $0B, SHOW + db POWER_PLANT, $0C, SHOW + db POWER_PLANT, $0D, SHOW + db POWER_PLANT, $0E, SHOW +VictoryRoad2FHS: + db VICTORY_ROAD_2F, $06, SHOW + db VICTORY_ROAD_2F, $07, SHOW + db VICTORY_ROAD_2F, $08, SHOW + db VICTORY_ROAD_2F, $09, SHOW + db VICTORY_ROAD_2F, $0A, SHOW + db VICTORY_ROAD_2F, $0D, SHOW +BillsHouseHS: + db BILLS_HOUSE, $01, SHOW + db BILLS_HOUSE, $02, HIDE + db BILLS_HOUSE, $03, HIDE +ViridianForestHS: + db VIRIDIAN_FOREST, $05, SHOW + db VIRIDIAN_FOREST, $06, SHOW + db VIRIDIAN_FOREST, $07, SHOW +MtMoon1FHS: + db MT_MOON_1F, $08, SHOW + db MT_MOON_1F, $09, SHOW + db MT_MOON_1F, $0A, SHOW + db MT_MOON_1F, $0B, SHOW + db MT_MOON_1F, $0C, SHOW + db MT_MOON_1F, $0D, SHOW +MtMoonB2FHS: + db MT_MOON_B2F, $06, SHOW + db MT_MOON_B2F, $07, SHOW + db MT_MOON_B2F, $08, SHOW + db MT_MOON_B2F, $09, SHOW +SSAnne2FHS: + db SS_ANNE_2F, $02, HIDE +SSAnne1FRoomsHS: + db SS_ANNE_1F_ROOMS, $0A, SHOW +SSAnne2FRoomsHS: + db SS_ANNE_2F_ROOMS, $06, SHOW + db SS_ANNE_2F_ROOMS, $09, SHOW +SSAnneB1FRoomsHS: + db SS_ANNE_B1F_ROOMS, $09, SHOW + db SS_ANNE_B1F_ROOMS, $0A, SHOW + db SS_ANNE_B1F_ROOMS, $0B, SHOW +VictoryRoad3FHS: + db VICTORY_ROAD_3F, $05, SHOW + db VICTORY_ROAD_3F, $06, SHOW + db VICTORY_ROAD_3F, $0A, SHOW +RocketHideoutB1FHS: + db ROCKET_HIDEOUT_B1F, $06, SHOW + db ROCKET_HIDEOUT_B1F, $07, SHOW +RocketHideoutB2FHS: + db ROCKET_HIDEOUT_B2F, $02, SHOW + db ROCKET_HIDEOUT_B2F, $03, SHOW + db ROCKET_HIDEOUT_B2F, $04, SHOW + db ROCKET_HIDEOUT_B2F, $05, SHOW +RocketHideoutB3FHS: + db ROCKET_HIDEOUT_B3F, $03, SHOW + db ROCKET_HIDEOUT_B3F, $04, SHOW +RocketHideoutB4FHS: + db ROCKET_HIDEOUT_B4F, $01, SHOW + db ROCKET_HIDEOUT_B4F, $05, SHOW + db ROCKET_HIDEOUT_B4F, $06, SHOW + db ROCKET_HIDEOUT_B4F, $07, SHOW + db ROCKET_HIDEOUT_B4F, $08, HIDE + db ROCKET_HIDEOUT_B4F, $09, HIDE +SilphCo2FHS: + db SILPH_CO_2F, $01, SHOW + db SILPH_CO_2F, $02, SHOW + db SILPH_CO_2F, $03, SHOW + db SILPH_CO_2F, $04, SHOW + db SILPH_CO_2F, $05, SHOW +SilphCo3FHS: + db SILPH_CO_3F, $02, SHOW + db SILPH_CO_3F, $03, SHOW + db SILPH_CO_3F, $04, SHOW +SilphCo4FHS: + db SILPH_CO_4F, $02, SHOW + db SILPH_CO_4F, $03, SHOW + db SILPH_CO_4F, $04, SHOW + db SILPH_CO_4F, $05, SHOW + db SILPH_CO_4F, $06, SHOW + db SILPH_CO_4F, $07, SHOW +SilphCo5FHS: + db SILPH_CO_5F, $02, SHOW + db SILPH_CO_5F, $03, SHOW + db SILPH_CO_5F, $04, SHOW + db SILPH_CO_5F, $05, SHOW + db SILPH_CO_5F, $06, SHOW + db SILPH_CO_5F, $07, SHOW + db SILPH_CO_5F, $08, SHOW +SilphCo6FHS: + db SILPH_CO_6F, $06, SHOW + db SILPH_CO_6F, $07, SHOW + db SILPH_CO_6F, $08, SHOW + db SILPH_CO_6F, $09, SHOW + db SILPH_CO_6F, $0A, SHOW +SilphCo7FHS: + db SILPH_CO_7F, $05, SHOW + db SILPH_CO_7F, $06, SHOW + db SILPH_CO_7F, $07, SHOW + db SILPH_CO_7F, $08, SHOW + db SILPH_CO_7F, $09, SHOW + db SILPH_CO_7F, $0A, SHOW + db SILPH_CO_7F, $0B, SHOW + db SILPH_CO_7F, $0C, SHOW +SilphCo8FHS: + db SILPH_CO_8F, $02, SHOW + db SILPH_CO_8F, $03, SHOW + db SILPH_CO_8F, $04, SHOW +SilphCo9FHS: + db SILPH_CO_9F, $02, SHOW + db SILPH_CO_9F, $03, SHOW + db SILPH_CO_9F, $04, SHOW +SilphCo10FHS: + db SILPH_CO_10F, $01, SHOW + db SILPH_CO_10F, $02, SHOW + db SILPH_CO_10F, $03, SHOW + db SILPH_CO_10F, $04, SHOW + db SILPH_CO_10F, $05, SHOW + db SILPH_CO_10F, $06, SHOW +SilphCo11FHS: + db SILPH_CO_11F, $03, SHOW + db SILPH_CO_11F, $04, SHOW + db SILPH_CO_11F, $05, SHOW +UnusedMapF4HS: + db UNUSED_MAP_F4, $02, SHOW +PokemonMansion2FHS: + db POKEMON_MANSION_2F, $02, SHOW +PokemonMansion3FHS: + db POKEMON_MANSION_3F, $03, SHOW + db POKEMON_MANSION_3F, $04, SHOW +PokemonMansionB1FHS: + db POKEMON_MANSION_B1F, $03, SHOW + db POKEMON_MANSION_B1F, $04, SHOW + db POKEMON_MANSION_B1F, $05, SHOW + db POKEMON_MANSION_B1F, $06, SHOW + db POKEMON_MANSION_B1F, $08, SHOW +SafariZoneEastHS: + db SAFARI_ZONE_EAST, $01, SHOW + db SAFARI_ZONE_EAST, $02, SHOW + db SAFARI_ZONE_EAST, $03, SHOW + db SAFARI_ZONE_EAST, $04, SHOW +SafariZoneNorthHS: + db SAFARI_ZONE_NORTH, $01, SHOW + db SAFARI_ZONE_NORTH, $02, SHOW +SafariZoneWestHS: + db SAFARI_ZONE_WEST, $01, SHOW + db SAFARI_ZONE_WEST, $02, SHOW + db SAFARI_ZONE_WEST, $03, SHOW + db SAFARI_ZONE_WEST, $04, SHOW +SafariZoneCenterHS: + db SAFARI_ZONE_CENTER, $01, SHOW +CeruleanCave2FHS: + db CERULEAN_CAVE_2F, $01, SHOW + db CERULEAN_CAVE_2F, $02, SHOW + db CERULEAN_CAVE_2F, $03, SHOW +CeruleanCaveB1FHS: + db CERULEAN_CAVE_B1F, $01, SHOW + db CERULEAN_CAVE_B1F, $02, SHOW + db CERULEAN_CAVE_B1F, $03, SHOW +VictoryRoad1FHS: + db VICTORY_ROAD_1F, $03, SHOW + db VICTORY_ROAD_1F, $04, SHOW +ChampionsRoomHS: + db CHAMPIONS_ROOM, $02, HIDE +SeafoamIslands1FHS: + db SEAFOAM_ISLANDS_1F, $01, SHOW + db SEAFOAM_ISLANDS_1F, $02, SHOW +SeafoamIslandsB1FHS: + db SEAFOAM_ISLANDS_B1F, $01, HIDE + db SEAFOAM_ISLANDS_B1F, $02, HIDE +SeafoamIslandsB2FHS: + db SEAFOAM_ISLANDS_B2F, $01, HIDE + db SEAFOAM_ISLANDS_B2F, $02, HIDE +SeafoamIslandsB3FHS: + db SEAFOAM_ISLANDS_B3F, $02, SHOW + db SEAFOAM_ISLANDS_B3F, $03, SHOW + db SEAFOAM_ISLANDS_B3F, $05, HIDE + db SEAFOAM_ISLANDS_B3F, $06, HIDE +SeafoamIslandsB4FHS: + db SEAFOAM_ISLANDS_B4F, $01, HIDE + db SEAFOAM_ISLANDS_B4F, $02, HIDE + db SEAFOAM_ISLANDS_B4F, $03, SHOW + db $FF, $01, SHOW ; end diff --git a/engine/overworld/missable_objects.asm b/engine/overworld/missable_objects.asm index a89fcb54..1ebe8064 100644 --- a/engine/overworld/missable_objects.asm +++ b/engine/overworld/missable_objects.asm @@ -20,7 +20,7 @@ MarkTownVisitedAndLoadMissableObjects:: LoadMissableObjects: ld l, a push hl - ld de, MapHS00 ; calculate difference between out pointer and the base pointer + ld de, MissableObjects ; calculate difference between out pointer and the base pointer ld a, l sub e jr nc, .asm_f13c @@ -49,7 +49,7 @@ LoadMissableObjects: pop hl .writeMissableObjectsListLoop ld a, [hli] - cp $ff + cp -1 jr z, .done ; end of list cp b jr nz, .done ; not for current map anymore @@ -63,7 +63,7 @@ LoadMissableObjects: inc de jr .writeMissableObjectsListLoop .done - ld a, $ff + ld a, -1 ld [de], a ; write sentinel ret @@ -72,17 +72,17 @@ InitializeMissableObjectsFlags: ld bc, wMissableObjectFlagsEnd - wMissableObjectFlags xor a call FillMemory ; clear missable objects flags - ld hl, MapHS00 + ld hl, MissableObjects xor a ld [wMissableObjectCounter], a .missableObjectsLoop ld a, [hli] - cp $ff ; end of list + cp -1 ; end of list ret z push hl inc hl ld a, [hl] - cp Hide + cp HIDE jr nz, .skip ld hl, wMissableObjectFlags ld a, [wMissableObjectCounter] @@ -105,7 +105,7 @@ IsObjectHidden: ld hl, wMissableObjectList .loop ld a, [hli] - cp $ff + cp -1 jr z, .notHidden ; not missable -> not hidden cp b ld a, [hli] |